Merged localisation-work branch:
authorTim Starling <tstarling@users.mediawiki.org>
Wed, 26 Jul 2006 07:15:39 +0000 (07:15 +0000)
committerTim Starling <tstarling@users.mediawiki.org>
Wed, 26 Jul 2006 07:15:39 +0000 (07:15 +0000)
* Made lines from initialiseMessages() appear as list items during installation
* Moved the bulk of the localisation data from the Language*.php files to the Messages*.php files. Deleted most of the Languages*.php files.
* Introduced "stub global" framework to provide deferred initialisation of core modules.
* Removed placeholder values for $wgTitle and $wgArticle, these variables will now be null during the initialisation process, until they are set by index.php or another entry point.
* Added DBA cache type, for BDB-style caches.
* Removed custom date format functions, replacing them with a format string in the style of PHP's date(). Used string identifiers instead of integer identifiers, in both the language files and user preferences. Migration should be transparent in most cases.
* Simplified the initialisation API for LoadBalancer objects.
* Removed the broken altencoding feature.
* Moved default user options and toggles from Language to User. Language objects are still able to define default preference overrides and extra user toggles, via a slightly different interface.
* Don't include the date option in the parser cache rendering hash unless $wgUseDynamicDates is enabled.
* Merged LanguageUtf8 with Language. Removed LanguageUtf8.php.
* Removed inclusion of language files from the bottom of Language.php. This is now consistently done from Language::factory().
* Add the name of the executing maintenance script to the debug log. Start the profiler during maintenance scripts.
* Added "serialized" directory, for storing precompiled data in serialized form.

328 files changed:
RELEASE-NOTES
config/index.php
includes/Article.php
includes/AutoLoader.php
includes/BagOStuff.php
includes/DateFormatter.php
includes/DefaultSettings.php
includes/Defines.php
includes/DifferenceEngine.php
includes/Exception.php
includes/GlobalFunctions.php
includes/LoadBalancer.php
includes/MessageCache.php
includes/ObjectCache.php
includes/OutputPage.php
includes/Parser.php
includes/Setup.php
includes/SkinTemplate.php
includes/SpecialAllmessages.php
includes/SpecialPreferences.php
includes/StubObject.php [new file with mode: 0644]
includes/User.php
languages/Language.php
languages/LanguageAb.deps.php [deleted file]
languages/LanguageAb.php [deleted file]
languages/LanguageAf.php [deleted file]
languages/LanguageAn.php [deleted file]
languages/LanguageAr.php [deleted file]
languages/LanguageArc.php [deleted file]
languages/LanguageAs.php [deleted file]
languages/LanguageAst.php [deleted file]
languages/LanguageAv.deps.php [deleted file]
languages/LanguageAv.php [deleted file]
languages/LanguageAy.deps.php [deleted file]
languages/LanguageAy.php [deleted file]
languages/LanguageAz.php
languages/LanguageBa.deps.php [deleted file]
languages/LanguageBa.php [deleted file]
languages/LanguageBat_smg.deps.php [deleted file]
languages/LanguageBat_smg.php [deleted file]
languages/LanguageBe.php
languages/LanguageBg.php
languages/LanguageBm.deps.php [deleted file]
languages/LanguageBm.php [deleted file]
languages/LanguageBn.php [deleted file]
languages/LanguageBo.php [deleted file]
languages/LanguageBpy.deps.php [deleted file]
languages/LanguageBpy.php [deleted file]
languages/LanguageBr.php [deleted file]
languages/LanguageBs.php
languages/LanguageCa.php [deleted file]
languages/LanguageCe.deps.php [deleted file]
languages/LanguageCe.php [deleted file]
languages/LanguageConverter.php
languages/LanguageCs.php
languages/LanguageCsb.php [deleted file]
languages/LanguageCv.deps.php [deleted file]
languages/LanguageCv.php [deleted file]
languages/LanguageCy.php [deleted file]
languages/LanguageDa.php [deleted file]
languages/LanguageDe.php [deleted file]
languages/LanguageDv.php [deleted file]
languages/LanguageDz.php [deleted file]
languages/LanguageEl.php [deleted file]
languages/LanguageEn.php [deleted file]
languages/LanguageEo.php
languages/LanguageEs.php [deleted file]
languages/LanguageEt.php
languages/LanguageEu.php [deleted file]
languages/LanguageFa.php [deleted file]
languages/LanguageFi.php
languages/LanguageFo.php [deleted file]
languages/LanguageFr.php [deleted file]
languages/LanguageFur.php [deleted file]
languages/LanguageFy.php [deleted file]
languages/LanguageGa.php
languages/LanguageGn.deps.php [deleted file]
languages/LanguageGn.php [deleted file]
languages/LanguageGsw.deps.php [deleted file]
languages/LanguageGsw.php
languages/LanguageGu.php [deleted file]
languages/LanguageHe.php
languages/LanguageHi.php [deleted file]
languages/LanguageHr.php
languages/LanguageHu.php
languages/LanguageIa.php [deleted file]
languages/LanguageId.php [deleted file]
languages/LanguageIi.deps.php [deleted file]
languages/LanguageIi.php [deleted file]
languages/LanguageIs.php [deleted file]
languages/LanguageIt.php [deleted file]
languages/LanguageJa.php
languages/LanguageJv.php [deleted file]
languages/LanguageKa.php [deleted file]
languages/LanguageKm.php [deleted file]
languages/LanguageKn.php [deleted file]
languages/LanguageKo.php
languages/LanguageKs.php [deleted file]
languages/LanguageKu.php [deleted file]
languages/LanguageKv.deps.php [deleted file]
languages/LanguageKv.php [deleted file]
languages/LanguageLa.php
languages/LanguageLi.php [deleted file]
languages/LanguageLo.php [deleted file]
languages/LanguageLt.php
languages/LanguageLv.php
languages/LanguageMk.php [deleted file]
languages/LanguageMl.php [deleted file]
languages/LanguageMs.php [deleted file]
languages/LanguageNah.deps.php [deleted file]
languages/LanguageNah.php [deleted file]
languages/LanguageNap.deps.php [deleted file]
languages/LanguageNap.php [deleted file]
languages/LanguageNds.php [deleted file]
languages/LanguageNds_nl.php [deleted file]
languages/LanguageNl.php [deleted file]
languages/LanguageNn.php [deleted file]
languages/LanguageNo.php [deleted file]
languages/LanguageNon.deps.php [deleted file]
languages/LanguageNon.php [deleted file]
languages/LanguageNv.php [deleted file]
languages/LanguageOc.php [deleted file]
languages/LanguageOr.php [deleted file]
languages/LanguageOs.deps.php [deleted file]
languages/LanguageOs.php [deleted file]
languages/LanguagePa.php [deleted file]
languages/LanguagePl.php [deleted file]
languages/LanguagePms.deps.php [deleted file]
languages/LanguagePms.php [deleted file]
languages/LanguagePs.php [deleted file]
languages/LanguagePt.php [deleted file]
languages/LanguagePt_br.deps.php [deleted file]
languages/LanguagePt_br.php [deleted file]
languages/LanguageQu.deps.php [deleted file]
languages/LanguageQu.php [deleted file]
languages/LanguageRmy.deps.php [deleted file]
languages/LanguageRmy.php [deleted file]
languages/LanguageRo.php [deleted file]
languages/LanguageRu.php
languages/LanguageSc.php [deleted file]
languages/LanguageSd.php [deleted file]
languages/LanguageSk.php
languages/LanguageSl.php
languages/LanguageSq.php [deleted file]
languages/LanguageSr.deps.php
languages/LanguageSr.php
languages/LanguageSr_ec.php
languages/LanguageSr_el.deps.php
languages/LanguageSr_el.php
languages/LanguageSr_jc.deps.php [deleted file]
languages/LanguageSr_jc.php [deleted file]
languages/LanguageSr_jl.deps.php [deleted file]
languages/LanguageSr_jl.php [deleted file]
languages/LanguageSu.php [deleted file]
languages/LanguageSv.php [deleted file]
languages/LanguageTa.php [deleted file]
languages/LanguageTe.php [deleted file]
languages/LanguageTh.php [deleted file]
languages/LanguageTlh.php [deleted file]
languages/LanguageTr.php
languages/LanguageTt.php [deleted file]
languages/LanguageTy.deps.php [deleted file]
languages/LanguageTy.php [deleted file]
languages/LanguageTyv.php
languages/LanguageUdm.deps.php [deleted file]
languages/LanguageUdm.php [deleted file]
languages/LanguageUg.php [deleted file]
languages/LanguageUk.php [deleted file]
languages/LanguageUr.php [deleted file]
languages/LanguageUtf8.php [deleted file]
languages/LanguageVec.deps.php [deleted file]
languages/LanguageVec.php [deleted file]
languages/LanguageVi.php
languages/LanguageWa.php
languages/LanguageXal.php [deleted file]
languages/LanguageYi.php [deleted file]
languages/LanguageZa.deps.php [deleted file]
languages/LanguageZa.php [deleted file]
languages/LanguageZh.deps.php
languages/LanguageZh.php
languages/LanguageZh_cn.php
languages/LanguageZh_hk.deps.php [deleted file]
languages/LanguageZh_hk.php [deleted file]
languages/LanguageZh_sg.deps.php [deleted file]
languages/LanguageZh_sg.php [deleted file]
languages/LanguageZh_tw.deps.php [deleted file]
languages/LanguageZh_tw.php [deleted file]
languages/Messages.php [deleted file]
languages/MessagesAb.php [new file with mode: 0644]
languages/MessagesAf.php
languages/MessagesAn.php [new file with mode: 0644]
languages/MessagesAr.php
languages/MessagesArc.php [new file with mode: 0644]
languages/MessagesAs.php [new file with mode: 0644]
languages/MessagesAst.php [new file with mode: 0644]
languages/MessagesAv.php [new file with mode: 0644]
languages/MessagesAy.php [new file with mode: 0644]
languages/MessagesAz.php
languages/MessagesBa.php [new file with mode: 0644]
languages/MessagesBat_smg.php [new file with mode: 0644]
languages/MessagesBe.php
languages/MessagesBg.php
languages/MessagesBm.php [new file with mode: 0644]
languages/MessagesBn.php
languages/MessagesBo.php [new file with mode: 0644]
languages/MessagesBpy.php [new file with mode: 0644]
languages/MessagesBr.php
languages/MessagesBs.php
languages/MessagesCa.php
languages/MessagesCe.php [new file with mode: 0644]
languages/MessagesCs.php
languages/MessagesCsb.php
languages/MessagesCv.php
languages/MessagesCy.php
languages/MessagesDa.php
languages/MessagesDe.php
languages/MessagesDv.php [new file with mode: 0644]
languages/MessagesDz.php [new file with mode: 0644]
languages/MessagesEl.php
languages/MessagesEn.php [new file with mode: 0644]
languages/MessagesEnRTL.php [new file with mode: 0644]
languages/MessagesEo.php
languages/MessagesEs.php
languages/MessagesEt.php
languages/MessagesEu.php
languages/MessagesFa.php
languages/MessagesFi.php
languages/MessagesFo.php
languages/MessagesFr.php
languages/MessagesFur.php
languages/MessagesFy.php
languages/MessagesGa.php
languages/MessagesGn.php [new file with mode: 0644]
languages/MessagesGsw.php
languages/MessagesGu.php [new file with mode: 0644]
languages/MessagesHe.php
languages/MessagesHi.php
languages/MessagesHr.php
languages/MessagesHu.php
languages/MessagesIa.php
languages/MessagesId.php
languages/MessagesIi.php [new file with mode: 0644]
languages/MessagesIs.php
languages/MessagesIt.php
languages/MessagesJa.php
languages/MessagesJv.php
languages/MessagesKa.php [new file with mode: 0644]
languages/MessagesKm.php [new file with mode: 0644]
languages/MessagesKn.php
languages/MessagesKo.php
languages/MessagesKs.php [new file with mode: 0644]
languages/MessagesKu.php
languages/MessagesKv.php [new file with mode: 0644]
languages/MessagesLa.php
languages/MessagesLi.php
languages/MessagesLo.php [new file with mode: 0644]
languages/MessagesLt.php
languages/MessagesLv.php
languages/MessagesMk.php
languages/MessagesMl.php [new file with mode: 0644]
languages/MessagesMs.php
languages/MessagesNah.php
languages/MessagesNap.php [new file with mode: 0644]
languages/MessagesNds.php
languages/MessagesNds_nl.php [new file with mode: 0644]
languages/MessagesNl.php
languages/MessagesNn.php
languages/MessagesNo.php
languages/MessagesNon.php [new file with mode: 0644]
languages/MessagesNv.php [new file with mode: 0644]
languages/MessagesOc.php
languages/MessagesOr.php [new file with mode: 0644]
languages/MessagesOs.php
languages/MessagesPa.php
languages/MessagesPl.php
languages/MessagesPms.php
languages/MessagesPs.php [new file with mode: 0644]
languages/MessagesPt.php
languages/MessagesPt_br.php
languages/MessagesQu.php [new file with mode: 0644]
languages/MessagesRmy.php
languages/MessagesRo.php
languages/MessagesRu.php
languages/MessagesSc.php
languages/MessagesSd.php [new file with mode: 0644]
languages/MessagesSk.php
languages/MessagesSl.php
languages/MessagesSq.php
languages/MessagesSr.php [new file with mode: 0644]
languages/MessagesSr_ec.php
languages/MessagesSr_el.php
languages/MessagesSr_jc.php [new file with mode: 0644]
languages/MessagesSr_jl.php [new file with mode: 0644]
languages/MessagesSu.php
languages/MessagesSv.php
languages/MessagesTa.php
languages/MessagesTe.php
languages/MessagesTh.php
languages/MessagesTlh.php [new file with mode: 0644]
languages/MessagesTr.php
languages/MessagesTt.php
languages/MessagesTyv.php
languages/MessagesUdm.php
languages/MessagesUg.php [new file with mode: 0644]
languages/MessagesUk.php
languages/MessagesUr.php [new file with mode: 0644]
languages/MessagesVec.php
languages/MessagesVi.php
languages/MessagesWa.php
languages/MessagesXal.php
languages/MessagesYi.php
languages/MessagesZa.php [new file with mode: 0644]
languages/MessagesZh.php [new file with mode: 0644]
languages/MessagesZh_cn.php
languages/MessagesZh_hk.php [new file with mode: 0644]
languages/MessagesZh_sg.php [new file with mode: 0644]
languages/MessagesZh_tw.php
languages/scripts/date-formats.php [new file with mode: 0644]
languages/scripts/function-list.php [new file with mode: 0644]
languages/scripts/validate.php [new file with mode: 0644]
maintenance/InitialiseMessages.inc
maintenance/commandLine.inc
maintenance/parserTests.inc
serialized/Makefile [new file with mode: 0644]
serialized/README [new file with mode: 0644]
serialized/Utf8Case.ser [new file with mode: 0644]
serialized/serialize-localisation.php [new file with mode: 0644]
serialized/serialize.php [new file with mode: 0644]

index 15bcc0e..3db3411 100644 (file)
@@ -73,6 +73,32 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
 * (bug 6751) Fix preview of blanked section with edit on first preview option
 * (bug 5456) Separate MediaWiki:Search into messages for both noun and verb,
   introduced 'MediaWiki:Searchbutton'
+* Made lines from initialiseMessages() appear as list items during installation
+* Moved the bulk of the localisation data from the Language*.php files to the
+  Messages*.php files. Deleted most of the Languages*.php files.
+* Introduced "stub global" framework to provide deferred initialisation of core
+  modules. 
+* Removed placeholder values for $wgTitle and $wgArticle, these variables will
+  now be null during the initialisation process, until they are set by index.php
+  or another entry point.
+* Added DBA cache type, for BDB-style caches. 
+* Removed custom date format functions, replacing them with a format string in
+  the style of PHP's date(). Used string identifiers instead of integer
+  identifiers, in both the language files and user preferences. Migration should
+  be transparent in most cases.
+* Simplified the initialisation API for LoadBalancer objects.
+* Removed the broken altencoding feature.
+* Moved default user options and toggles from Language to User. Language objects
+  are still able to define default preference overrides and extra user toggles, 
+  via a slightly different interface.
+* Don't include the date option in the parser cache rendering hash unless
+  $wgUseDynamicDates is enabled.
+* Merged LanguageUtf8 with Language. Removed LanguageUtf8.php. 
+* Removed inclusion of language files from the bottom of Language.php. This is
+  now consistently done from Language::factory(). 
+* Add the name of the executing maintenance script to the debug log. Start the
+  profiler during maintenance scripts.
+* Added "serialized" directory, for storing precompiled data in serialized form.
 
 
 == Languages updated ==
index 285a7aa..1b8d5b8 100644 (file)
@@ -873,9 +873,7 @@ error_reporting( E_ALL );
                        $revid = $revision->insertOn( $wgDatabase );
                        $article->updateRevisionOn( $wgDatabase, $revision );
 
-                       print "<li><pre>";
-                       initialiseMessages();
-                       print "</pre></li>\n";
+                       initialiseMessages( false, false, 'printListItem' );
                }
 
                /* Write out the config file now that all is well */
@@ -1539,7 +1537,7 @@ function getLanguageList() {
                $d = opendir( "languages");
        while( false !== ($f = readdir( $d ) ) ) {
                $m = array();
-               if( preg_match( '/Language([A-Z][a-z_]+)\.php$/', $f, $m ) ) {
+               if( preg_match( '/Messages([A-Z][a-z_]+)\.php$/', $f, $m ) ) {
                        $code = str_replace( '_', '-', strtolower( $m[1] ) );
                        if( isset( $wgLanguageNames[$code] ) ) {
                                $name = $code . ' - ' . $wgLanguageNames[$code];
@@ -1642,6 +1640,10 @@ function database_switcher($db) {
        print "<h3>$full specific options:</h3>\n";
 }
 
+function printListItem( $item ) {
+       print "<li>$item</li>";
+}
+
 ?>
 
        <div class="license">
index 3d6460f..738fb0f 100644 (file)
@@ -804,13 +804,13 @@ class Article {
                                # Display content, don't attempt to save to parser cache
                                # Don't show section-edit links on old revisions... this way lies madness.
                                if( !$this->isCurrent() ) {
-                                       $oldEditSectionSetting = $wgOut->mParserOptions->setEditSection( false );
+                                       $oldEditSectionSetting = $wgOut->parserOptions()->setEditSection( false );
                                }
                                # Display content and don't save to parser cache
                                $wgOut->addPrimaryWikiText( $text, $this, false );
 
                                if( !$this->isCurrent() ) {
-                                       $wgOut->mParserOptions->setEditSection( $oldEditSectionSetting );
+                                       $wgOut->parserOptions()->setEditSection( $oldEditSectionSetting );
                                }
                        }
                }
index f2082f8..0f47f3c 100644 (file)
@@ -221,7 +221,9 @@ function __autoload($className) {
                'Xml' => 'includes/Xml.php',
                'ZhClient' => 'includes/ZhClient.php',
                'memcached' => 'includes/memcached-client.php',
-               'UtfNormal' => 'includes/normal/UtfNormal.php'
+               'UtfNormal' => 'includes/normal/UtfNormal.php',
+               'Language' => 'languages/Language.php',
+               'LanguageUtf8' => 'languages/LanguageUtf8.php',
        );
        if ( isset( $localClasses[$className] ) ) {
                $filename = $localClasses[$className];
index 54912f9..d172607 100644 (file)
@@ -146,6 +146,17 @@ class BagOStuff {
                if($this->debugmode)
                        wfDebug("BagOStuff debug: $text\n");
        }
+
+       /**
+        * Convert an optionally relative time to an absolute time
+        */
+       static function convertExpiry( $exptime ) {
+               if(($exptime != 0) && ($exptime < 3600*24*30)) {
+                       return time() + $exptime;
+               } else {
+                       return $exptime;
+               }
+       }
 }
 
 
@@ -183,9 +194,7 @@ class HashBagOStuff extends BagOStuff {
        }
 
        function set($key,$value,$exptime=0) {
-               if(($exptime != 0) && ($exptime < 3600*24*30))
-                       $exptime = time() + $exptime;
-               $this->bag[$key] = array( $value, $exptime );
+               $this->bag[$key] = array( $value, BagOStuff::convertExpiry( $exptime ) );
        }
 
        function delete($key,$time=0) {
@@ -535,4 +544,138 @@ class eAccelBagOStuff extends BagOStuff {
                return true;
        }
 }
+
+class DBABagOStuff extends BagOStuff {
+       var $mHandler, $mFile, $mReader, $mWriter, $mDisabled;
+       
+       function __construct( $handler = 'db3', $dir = false ) {
+               if ( $dir === false ) {
+                       global $wgTmpDirectory;
+                       $dir = $wgTmpDirectory;
+               }
+               global $wgDBname, $wgDBprefix;
+               $this->mFile = "$dir/mw-cache-$wgDBname";
+               if ( $wgDBprefix ) {
+                       $this->mFile .= '-' . $wgDBprefix;
+               }
+               $this->mFile .= '.db';
+               $this->mHandler = $handler;
+       }
+
+       /**
+        * Encode value and expiry for storage
+        */
+       function encode( $value, $expiry ) {
+               # Convert to absolute time
+               $expiry = BagOStuff::convertExpiry( $expiry );
+               return sprintf( '%010u', intval( $expiry ) ) . ' ' . serialize( $value );
+       }
+
+       /**
+        * @return list containing value first and expiry second
+        */
+       function decode( $blob ) {
+               if ( !is_string( $blob ) ) {
+                       return array( 0, null );
+               } else {
+                       return array( 
+                               unserialize( substr( $blob, 11 ) ),
+                               intval( substr( $blob, 0, 10 ) )
+                       );
+               }
+       }
+
+       function getReader() {
+               if ( file_exists( $this->mFile ) ) {
+                       $handle = dba_open( $this->mFile, 'rl', $this->mHandler );
+               } else {
+                       $handle = $this->getWriter();
+               }
+               if ( !$handle ) {
+                       wfDebug( "Unable to open DBA cache file {$this->mFile}\n" );
+               }
+               return $handle;
+       }
+
+       function getWriter() {
+               $handle = dba_open( $this->mFile, 'cl', $this->mHandler );
+               if ( !$handle ) {
+                       wfDebug( "Unable to open DBA cache file {$this->mFile}\n" );
+               }
+               return $handle;
+       }
+
+       function get( $key ) {
+               wfProfileIn( __METHOD__ );
+               $handle = $this->getReader();
+               if ( !$handle ) {
+                       return null;
+               }
+               $val = dba_fetch( $key, $handle );
+               list( $val, $expiry ) = $this->decode( $val );
+               # Must close ASAP because locks are held
+               dba_close( $handle );
+
+               if ( !is_null( $val ) && $expiry && $expiry < time() ) {
+                       # Key is expired, delete it
+                       $handle = $this->getWriter();
+                       dba_delete( $key, $handle );
+                       dba_close( $handle );
+                       wfDebug( __METHOD__.": $key expired\n" );
+                       $val = null;
+               }
+               wfProfileOut( __METHOD__ );
+               return $val;
+       }
+
+       function set( $key, $value, $exptime=0 ) {
+               wfProfileIn( __METHOD__ );
+               $blob = $this->encode( $value, $exptime );
+               $handle = $this->getWriter();
+               if ( !$handle ) {
+                       return false;
+               }
+               $ret = dba_replace( $key, $blob, $handle );
+               dba_close( $handle );
+               wfProfileOut( __METHOD__ );
+               return $ret;
+       }
+
+       function delete( $key, $time = 0 ) {
+               wfProfileIn( __METHOD__ );
+               $handle = $this->getWriter();
+               if ( !$handle ) {
+                       return false;
+               }
+               $ret = dba_delete( $key, $handle );
+               dba_close( $handle );
+               wfProfileOut( __METHOD__ );
+               return $ret;
+       }
+
+       function add( $key, $value, $exptime = 0 ) {
+               wfProfileIn( __METHOD__ );
+               $blob = $this->encode( $value, $exptime );
+               $handle = $this->getWriter();
+               if ( !$handle ) {
+                       return false;
+               }
+               $ret = dba_insert( $key, $blob, $handle );
+               # Insert failed, check to see if it failed due to an expired key
+               if ( !$ret ) {
+                       list( $value, $expiry ) = $this->decode( dba_fetch( $key, $handle ) );
+                       if ( $expiry < time() ) {
+                               # Yes expired, delete and try again
+                               dba_delete( $key, $handle );
+                               $ret = dba_insert( $key, $blob, $handle );
+                               # This time if it failed then it will be handled by the caller like any other race
+                       }
+               }
+
+               dba_close( $handle );
+               wfProfileOut( __METHOD__ );
+               return $ret;
+       }
+}
+       
 ?>
index 8b87215..99d8be7 100644 (file)
@@ -17,7 +17,7 @@ class DateFormatter
        var $monthNames = '', $rxDM, $rxMD, $rxDMY, $rxYDM, $rxMDY, $rxYMD;
 
        var $regexes, $pDays, $pMonths, $pYears;
-       var $rules, $xMonths;
+       var $rules, $xMonths, $preferences;
        
        const ALL = -1;
        const NONE = 0;
@@ -91,6 +91,14 @@ class DateFormatter
                $this->rules[self::MDY][self::DM]       = self::MD;
                $this->rules[self::ALL][self::DM]       = self::DM;
                $this->rules[self::NONE][self::ISO2]    = self::ISO1;
+
+               $this->preferences = array(
+                       'default' => self::NONE,
+                       'dmy' => self::DMY,
+                       'mdy' => self::MDY,
+                       'ymd' => self::YMD,
+                       'ISO 8601' => self::ISO1,
+               );
        }
 
        /**
@@ -110,11 +118,15 @@ class DateFormatter
        }
 
        /**
-        * @param $preference
-        * @param $text
+        * @param string $preference User preference
+        * @param string $text Text to reformat
         */
        function reformat( $preference, $text ) {
-               if ($preference == 'ISO 8601') $preference = 4; # The ISO 8601 option used to be 4
+               if ( isset( $this->preferences[$preference] ) ) {
+                       $preference = $this->preferences[$preference];
+               } else {
+                       $preference = self::NONE;
+               }
                for ( $i=1; $i<=self::LAST; $i++ ) {
                        $this->mSource = $i;
                        if ( @$this->rules[$preference][$i] ) {
index 9e89efd..873bd52 100644 (file)
@@ -37,8 +37,17 @@ $wgVersion                   = '1.8alpha';
 /** Name of the site. It must be changed in LocalSettings.php */
 $wgSitename         = 'MediaWiki';
 
-/** Will be same as you set @see $wgSitename */
-$wgMetaNamespace    = FALSE;
+/** 
+ * Name of the project namespace. If left set to false, $wgSitename will be 
+ * used instead.
+ */
+$wgMetaNamespace    = false;
+
+/**
+ * Name of the project talk namespace. If left set to false, a name derived
+ * from the name of the project namespace will be used.
+ */
+$wgMetaNamespaceTalk = false;
 
 
 /** URL of the server. It will be automatically built including https mode */
@@ -1546,16 +1555,6 @@ $wgTidyInternal = function_exists( 'tidy_load_config' );
 /** See list of skins and their symbolic names in languages/Language.php */
 $wgDefaultSkin = 'monobook';
 
-/**
- * Settings added to this array will override the language globals for the user
- * preferences used by anonymous visitors and newly created accounts. (See names
- * and sample values in languages/Language.php)
- * For instance, to disable section editing links:
- *  $wgDefaultUserOptions ['editsection'] = 0;
- *
- */
-$wgDefaultUserOptions = array();
-
 /** Whether or not to allow and use real name fields. Defaults to true. */
 $wgAllowRealName = true;
 
index 287551b..b8acadb 100644 (file)
@@ -20,6 +20,17 @@ define( 'DBO_DEFAULT', 16 );
 define( 'DBO_PERSISTENT', 32 );
 /**#@-*/
 
+# Valid database indexes
+# Operation-based indexes
+define( 'DB_SLAVE', -1 );     # Read from the slave (or only server)
+define( 'DB_MASTER', -2 );    # Write to master (or only server)
+define( 'DB_LAST', -3 );     # Whatever database was used last
+
+# Obsolete aliases
+define( 'DB_READ', -1 );
+define( 'DB_WRITE', -2 );
+
+
 /**#@+
  * Virtual namespaces; don't appear in the page database
  */
@@ -106,6 +117,7 @@ define( 'CACHE_NONE', 0 );       // Do not cache
 define( 'CACHE_DB', 1 );         // Store cache objects in the DB
 define( 'CACHE_MEMCACHED', 2 );  // MemCached, must specify servers in $wgMemCacheServers
 define( 'CACHE_ACCEL', 3 );      // eAccelerator or Turck, whichever is available
+define( 'CACHE_DBA', 4 );        // Use PHP's DBA extension to store in a DBM-style database
 /**#@-*/
 
 
@@ -149,10 +161,15 @@ define( 'ALF_NO_BLOCK_LOCK', 8 );
  * Date format selectors; used in user preference storage and by
  * Language::date() and co.
  */
-define( 'MW_DATE_DEFAULT', '0' );
+/*define( 'MW_DATE_DEFAULT', '0' );
 define( 'MW_DATE_MDY', '1' );
 define( 'MW_DATE_DMY', '2' );
 define( 'MW_DATE_YMD', '3' );
+define( 'MW_DATE_ISO', 'ISO 8601' );*/
+define( 'MW_DATE_DEFAULT', 'default' );
+define( 'MW_DATE_MDY', 'mdy' );
+define( 'MW_DATE_DMY', 'dmy' );
+define( 'MW_DATE_YMD', 'ymd' );
 define( 'MW_DATE_ISO', 'ISO 8601' );
 /**#@-*/
 
index 4871a54..6dc82d6 100644 (file)
@@ -188,7 +188,7 @@ CONTROL;
                $wgOut->addHTML( "<hr /><h2>{$this->mPagetitle}</h2>\n" );
 
                if( !$this->mNewRev->isCurrent() ) {
-                       $oldEditSectionSetting = $wgOut->mParserOptions->setEditSection( false );
+                       $oldEditSectionSetting = $wgOut->parserOptions()->setEditSection( false );
                }
 
                $this->loadNewText();
@@ -198,7 +198,7 @@ CONTROL;
                $wgOut->addSecondaryWikiText( $this->mNewtext );
 
                if( !$this->mNewRev->isCurrent() ) {
-                       $wgOut->mParserOptions->setEditSection( $oldEditSectionSetting );
+                       $wgOut->parserOptions()->setEditSection( $oldEditSectionSetting );
                }
 
                wfProfileOut( $fname );
index 9b04611..027c5d3 100644 (file)
@@ -3,7 +3,8 @@
 class MWException extends Exception
 {
        function useOutputPage() {
-               return !empty( $GLOBALS['wgFullyInitialised'] );
+               return !empty( $GLOBALS['wgFullyInitialised'] ) && 
+                       !empty( $GLOBALS['wgArticle'] ) && !empty( $GLOBALS['wgTitle'] );
        }
 
        function useMessageCache() {
index dc35e82..c34b7db 100644 (file)
@@ -259,7 +259,8 @@ function wfLogProfilingData() {
                        $forward .= ' from ' . $_SERVER['HTTP_FROM'];
                if( $forward )
                        $forward = "\t(proxied via {$_SERVER['REMOTE_ADDR']}{$forward})";
-               if( is_object($wgUser) && $wgUser->isAnon() )
+               // Don't unstub $wgUser at this late stage just for statistics purposes
+               if( StubObject::isRealObject($wgUser) && $wgUser->isAnon() )
                        $forward .= ' anon';
                $log = sprintf( "%s\t%04.3f\t%s\n",
                  gmdate( 'YmdHis' ), $elapsed,
@@ -438,7 +439,7 @@ function wfMsgWeirdKey ( $key ) {
  * @private
  */
 function wfMsgGetKey( $key, $useDB, $forContent = false, $transform = true ) {
-       global $wgParser, $wgMsgParserOptions, $wgContLang, $wgMessageCache, $wgLang;
+       global $wgParser, $wgContLang, $wgMessageCache, $wgLang;
 
        if ( is_object( $wgMessageCache ) )
                $transstat = $wgMessageCache->getTransform();
@@ -465,7 +466,7 @@ function wfMsgGetKey( $key, $useDB, $forContent = false, $transform = true ) {
                if($message === false)
                        $message = Language::getMessage($key);
                if ( $transform && strstr( $message, '{{' ) !== false ) {
-                       $message = $wgParser->transformMsg($message, $wgMsgParserOptions);
+                       $message = $wgParser->transformMsg($message, $wgMessageCache->getParserOptions() );
                }
        }
 
@@ -2011,4 +2012,39 @@ function wfIsLocalURL( $url ) {
        return Http::isLocalURL( $url ); 
 }
 
+/**
+ * Initialise php session
+ */
+function wfSetupSession() {
+       global $wgSessionsInMemcached, $wgCookiePath, $wgCookieDomain;
+       if( $wgSessionsInMemcached ) {
+               require_once( 'MemcachedSessions.php' );
+       } elseif( 'files' != ini_get( 'session.save_handler' ) ) {
+               # If it's left on 'user' or another setting from another
+               # application, it will end up failing. Try to recover.
+               ini_set ( 'session.save_handler', 'files' );
+       }
+       session_set_cookie_params( 0, $wgCookiePath, $wgCookieDomain );
+       session_cache_limiter( 'private, must-revalidate' );
+       @session_start();
+}
+
+/**
+ * Get an object from the precompiled serialized directory
+ *
+ * @return mixed The variable on success, false on failure
+ */
+function wfGetPrecompiledData( $name ) {
+       global $IP;
+
+       $file = "$IP/serialized/$name";
+       if ( file_exists( $file ) ) {
+               $blob = file_get_contents( $file );
+               if ( $blob ) {
+                       return unserialize( $blob );
+               }
+       }
+       return false;
+}
+
 ?>
index e9f712e..cbee03e 100644 (file)
@@ -9,16 +9,6 @@
  */
 require_once( 'Database.php' );
 
-# Valid database indexes
-# Operation-based indexes
-define( 'DB_SLAVE', -1 );     # Read from the slave (or only server)
-define( 'DB_MASTER', -2 );    # Write to master (or only server)
-define( 'DB_LAST', -3 );     # Whatever database was used last
-
-# Obsolete aliases
-define( 'DB_READ', -1 );
-define( 'DB_WRITE', -2 );
-
 
 # Scale polling time so that under overload conditions, the database server
 # receives a SHOW STATUS query at an average interval of this many microseconds
@@ -38,26 +28,7 @@ class LoadBalancer {
        /* private */ var $mWaitForFile, $mWaitForPos, $mWaitTimeout;
        /* private */ var $mLaggedSlaveMode, $mLastError = 'Unknown error';
 
-       function LoadBalancer()
-       {
-               $this->mServers = array();
-               $this->mConnections = array();
-               $this->mFailFunction = false;
-               $this->mReadIndex = -1;
-               $this->mForce = -1;
-               $this->mLastIndex = -1;
-               $this->mErrorConnection = false;
-               $this->mAllowLag = false;
-       }
-
-       static function newFromParams( $servers, $failFunction = false, $waitTimeout = 10 )
-       {
-               $lb = new LoadBalancer;
-               $lb->initialise( $servers, $failFunction, $waitTimeout );
-               return $lb;
-       }
-
-       function initialise( $servers, $failFunction = false, $waitTimeout = 10 )
+       function LoadBalancer( $servers, $failFunction = false, $waitTimeout = 10, $waitForMasterNow = false )
        {
                $this->mServers = $servers;
                $this->mFailFunction = $failFunction;
@@ -71,6 +42,8 @@ class LoadBalancer {
                $this->mWaitForPos = false;
                $this->mWaitTimeout = $waitTimeout;
                $this->mLaggedSlaveMode = false;
+               $this->mErrorConnection = false;
+               $this->mAllowLag = false;
 
                foreach( $servers as $i => $server ) {
                        $this->mLoads[$i] = $server['load'];
@@ -83,6 +56,14 @@ class LoadBalancer {
                                }
                        }
                }
+               if ( $waitForMasterNow ) {
+                       $this->loadMasterPos();
+               }
+       }
+
+       static function newFromParams( $servers, $failFunction = false, $waitTimeout = 10 )
+       {
+               return new LoadBalancer( $servers, $failFunction, $waitTimeout );
        }
 
        /**
index c8b7124..cf64f31 100644 (file)
@@ -36,10 +36,6 @@ class MessageCache {
                $this->mMemcKey = $memcPrefix.':messages';
                $this->mKeys = false; # initialised on demand
                $this->mInitialised = true;
-
-               wfProfileIn( __METHOD__.'-parseropt' );
-               $this->mParserOptions = new ParserOptions( $u=NULL );
-               wfProfileOut( __METHOD__.'-parseropt' );
                $this->mParser = null;
 
                # When we first get asked for a message,
@@ -51,6 +47,13 @@ class MessageCache {
                wfProfileOut( __METHOD__ );
        }
 
+       function getParserOptions() {
+               if ( !$this->mParserOptions ) {
+                       $this->mParserOptions = new ParserOptions;
+               }
+               return $this->mParserOptions;
+       }
+
        /**
         * Try to load the cache from a local file
         */
@@ -190,6 +193,9 @@ class MessageCache {
                                } else {
                                        $this->loadFromScript( $hash );
                                }
+                               if ( $this->mCache ) {
+                                       wfDebug( "MessageCache::load(): got from local cache\n" );
+                               }
                        }
                        wfProfileOut( $fname.'-fromlocal' );
 
@@ -197,18 +203,20 @@ class MessageCache {
                        if ( !$this->mCache ) {
                                wfProfileIn( $fname.'-fromcache' );
                                $this->mCache = $this->mMemc->get( $this->mMemcKey );
-
-                               # Save to local cache
-                               if ( $wgLocalMessageCache !== false ) {
-                                       $serialized = serialize( $this->mCache );
-                                       if ( !$hash ) {
-                                               $hash = md5( $serialized );
-                                               $this->mMemc->set( "{$this->mMemcKey}-hash", $hash, $this->mExpiry );
-                                       }
-                                       if ($wgLocalMessageCacheSerialized) {
-                                               $this->saveToLocal( $serialized,$hash );
-                                       } else {
-                                               $this->saveToScript( $this->mCache, $hash );
+                               if ( $this->mCache ) {
+                                       wfDebug( "MessageCache::load(): got from global cache\n" );
+                                       # Save to local cache
+                                       if ( $wgLocalMessageCache !== false ) {
+                                               $serialized = serialize( $this->mCache );
+                                               if ( !$hash ) {
+                                                       $hash = md5( $serialized );
+                                                       $this->mMemc->set( "{$this->mMemcKey}-hash", $hash, $this->mExpiry );
+                                               }
+                                               if ($wgLocalMessageCacheSerialized) {
+                                                       $this->saveToLocal( $serialized,$hash );
+                                               } else {
+                                                       $this->saveToScript( $this->mCache, $hash );
+                                               }
                                        }
                                }
                                wfProfileOut( $fname.'-fromcache' );
@@ -283,7 +291,7 @@ class MessageCache {
         * Loads all or main part of cacheable messages from the database
         */
        function loadFromDB() {
-               global $wgAllMessagesEn, $wgLang;
+               global $wgLang;
 
                $fname = 'MessageCache::loadFromDB';
                $dbr =& wfGetDB( DB_SLAVE );
@@ -306,7 +314,8 @@ class MessageCache {
                # Negative caching
                # Go through the language array and the extension array and make a note of
                # any keys missing from the cache
-               foreach ( $wgAllMessagesEn as $key => $value ) {
+               $allMessages = Language::getMessagesFor( 'en' );
+               foreach ( $allMessages as $key => $value ) {
                        $uckey = $wgLang->ucfirst( $key );
                        if ( !array_key_exists( $uckey, $this->mCache ) ) {
                                $this->mCache[$uckey] = false;
@@ -332,10 +341,11 @@ class MessageCache {
         * Not really needed anymore
         */
        function getKeys() {
-               global $wgAllMessagesEn, $wgContLang;
+               global $wgContLang;
                if ( !$this->mKeys ) {
                        $this->mKeys = array();
-                       foreach ( $wgAllMessagesEn as $key => $value ) {
+                       $allMessages = Language::getMessagesFor( 'en' );
+                       foreach ( $allMessages as $key => $value ) {
                                $title = $wgContLang->ucfirst( $key );
                                array_push( $this->mKeys, $title );
                        }
@@ -403,10 +413,9 @@ class MessageCache {
                $this->mMemc->delete( $lockKey );
        }
 
-       function get( $key, $useDB, $forcontent=true, $isfullkey = false ) {
-               global $wgContLanguageCode;
+       function get( $key, $useDB = true, $forcontent = true, $isfullkey = false ) {
+               global $wgContLanguageCode, $wgContLang;
                if( $forcontent ) {
-                       global $wgContLang;
                        $lang =& $wgContLang;
                        $langcode = $wgContLanguageCode;
                } else {
@@ -425,7 +434,7 @@ class MessageCache {
 
                $message = false;
                if( !$this->mDisable && $useDB ) {
-                       $title = $lang->ucfirst( $key );
+                       $title = $wgContLang->ucfirst( $key );
                        if(!$isfullkey && ($langcode != $wgContLanguageCode) ) {
                                $title .= '/' . $langcode;
                        }
@@ -442,6 +451,7 @@ class MessageCache {
 
                # Try the array in the language object
                if( $message === false ) {
+                       #wfDebug( "Trying language object for message $key\n" );
                        wfSuppressWarnings();
                        $message = $lang->getMessage( $key );
                        wfRestoreWarnings();
@@ -464,7 +474,7 @@ class MessageCache {
                if( ($message === false || $message === '-' ) &&
                        !$this->mDisable && $useDB &&
                        !$isfullkey && ($langcode != $wgContLanguageCode) ) {
-                       $message = $this->getFromCache( $lang->ucfirst( $key ) );
+                       $message = $this->getFromCache( $wgContLang->ucfirst( $key ) );
                }
 
                # Final fallback
@@ -531,7 +541,7 @@ class MessageCache {
                }
                if ( !$this->mDisableTransform && $this->mParser ) {
                        if( strpos( $message, '{{' ) !== false ) {
-                               $message = $this->mParser->transformMsg( $message, $this->mParserOptions );
+                               $message = $this->mParser->transformMsg( $message, $this->getParserOptions() );
                        }
                }
                return $message;
@@ -573,8 +583,12 @@ class MessageCache {
         * Clear all stored messages. Mainly used after a mass rebuild.
         */
        function clear() {
+               global $wgLocalMessageCache, $wgDBname;
                if( $this->mUseCache ) {
+                       # Global cache
                        $this->mMemc->delete( $this->mMemcKey );
+                       # Invalidate all local caches
+                       $this->mMemc->delete( "{$this->mMemcKey}-hash" );
                }
        }
 }
index fe7417d..e7ef548 100644 (file)
@@ -84,8 +84,14 @@ function &wfGetCache( $inputType ) {
                if ( $wgCaches[CACHE_ACCEL] !== false ) {
                        $cache =& $wgCaches[CACHE_ACCEL];
                }
+       } elseif ( $type == CACHE_DBA ) {
+               if ( !array_key_exists( CACHE_DBA, $wgCaches ) ) {
+                       require_once( 'BagOStuff.php' );
+                       $wgCaches[CACHE_DBA] = new DBABagOStuff;
+               }
+               $cache =& $wgCaches[CACHE_DBA];
        }
-
+       
        if ( $type == CACHE_DB || ( $inputType == CACHE_ANYTHING && $cache === false ) ) {
                if ( !array_key_exists( CACHE_DB, $wgCaches ) ) {
                        require_once( 'BagOStuff.php' );
index 7506806..ce4f176 100644 (file)
@@ -22,7 +22,7 @@ class OutputPage {
        var $mDoNothing;
        var $mContainsOldMagic, $mContainsNewMagic;
        var $mIsArticleRelated;
-       var $mParserOptions;
+       protected $mParserOptions; // lazy initialised, use parserOptions()
        var $mShowFeedLinks = false;
        var $mEnableClientCache = true;
        var $mArticleBodyOnly = false;
@@ -46,7 +46,7 @@ class OutputPage {
                $this->mCategoryLinks = array();
                $this->mDoNothing = false;
                $this->mContainsOldMagic = $this->mContainsNewMagic = 0;
-               $this->mParserOptions = ParserOptions::newFromUser( NULL );
+               $this->mParserOptions = null;
                $this->mSquidMaxage = 0;
                $this->mScripts = '';
                $this->mETag = false;
@@ -255,10 +255,13 @@ class OutputPage {
 
        /* @deprecated */
        function setParserOptions( $options ) {
-               return $this->ParserOptions( $options );
+               return $this->parserOptions( $options );
        }
 
-       function ParserOptions( $options = null ) {
+       function parserOptions( $options = null ) {
+               if ( !$this->mParserOptions ) {
+                       $this->mParserOptions = new ParserOptions;
+               }
                return wfSetVar( $this->mParserOptions, $options );
        }
 
@@ -292,7 +295,7 @@ class OutputPage {
                $fname = 'OutputPage:addWikiTextTitle';
                wfProfileIn($fname);
                wfIncrStats('pcache_not_possible');
-               $parserOutput = $wgParser->parse( $text, $title, $this->mParserOptions,
+               $parserOutput = $wgParser->parse( $text, $title, $this->parserOptions(),
                        $linestart, true, $this->mRevisionId );
                $this->addParserOutput( $parserOutput );
                wfProfileOut($fname);
@@ -326,10 +329,11 @@ class OutputPage {
        function addPrimaryWikiText( $text, $article, $cache = true ) {
                global $wgParser, $wgUser;
 
-               $this->mParserOptions->setTidy(true);
+               $popts = $this->parserOptions();
+               $popts->setTidy(true);
                $parserOutput = $wgParser->parse( $text, $article->mTitle,
-                       $this->mParserOptions, true, true, $this->mRevisionId );
-               $this->mParserOptions->setTidy(false);
+                       $popts, true, true, $this->mRevisionId );
+               $popts->setTidy(false);
                if ( $cache && $article && $parserOutput->getCacheTime() != -1 ) {
                        $parserCache =& ParserCache::singleton();
                        $parserCache->save( $parserOutput, $article, $wgUser );
@@ -348,9 +352,10 @@ class OutputPage {
         */
        function addSecondaryWikiText( $text, $linestart = true ) {
                global $wgTitle;
-               $this->mParserOptions->setTidy(true);
+               $popts = $this->parserOptions();
+               $popts->setTidy(true);
                $this->addWikiTextTitle($text, $wgTitle, $linestart);
-               $this->mParserOptions->setTidy(false);
+               $popts->setTidy(false);
        }
 
 
@@ -370,10 +375,11 @@ class OutputPage {
         */
        function parse( $text, $linestart = true, $interface = false ) {
                global $wgParser, $wgTitle;
-               if ( $interface) { $this->mParserOptions->setInterfaceMessage(true); }
-               $parserOutput = $wgParser->parse( $text, $wgTitle, $this->mParserOptions,
+               $popts = $this->parserOptions();
+               if ( $interface) { $popts->setInterfaceMessage(true); }
+               $parserOutput = $wgParser->parse( $text, $wgTitle, $popts,
                        $linestart, true, $this->mRevisionId );
-               if ( $interface) { $this->mParserOptions->setInterfaceMessage(false); }
+               if ( $interface) { $popts->setInterfaceMessage(false); }
                return $parserOutput->getText();
        }
 
@@ -615,11 +621,6 @@ class OutputPage {
 
                $wgInputEncoding = strtolower( $wgInputEncoding );
 
-               if( $wgUser->getOption( 'altencoding' ) ) {
-                       $wgContLang->setAltEncoding();
-                       return;
-               }
-
                if ( empty( $_SERVER['HTTP_ACCEPT_CHARSET'] ) ) {
                        $wgOutputEncoding = strtolower( $wgOutputEncoding );
                        return;
index 6619643..3ebe597 100644 (file)
@@ -4515,7 +4515,6 @@ class ParserOptions
        function getInterwikiMagic()                { return $this->mInterwikiMagic; }
        function getAllowExternalImages()           { return $this->mAllowExternalImages; }
        function getAllowExternalImagesFrom()       { return $this->mAllowExternalImagesFrom; }
-       function getDateFormat()                    { return $this->mDateFormat; }
        function getEditSection()                   { return $this->mEditSection; }
        function getNumberHeadings()                { return $this->mNumberHeadings; }
        function getAllowSpecialInclusion()         { return $this->mAllowSpecialInclusion; }
@@ -4529,6 +4528,13 @@ class ParserOptions
                return $this->mSkin;
        }
 
+       function getDateFormat() { 
+               if ( !isset( $this->mDateFormat ) ) {
+                       $this->mDateFormat = $this->mUser->getDatePreference();
+               }
+               return $this->mDateFormat;
+       }
+
        function setUseTeX( $x )                    { return wfSetVar( $this->mUseTeX, $x ); }
        function setUseDynamicDates( $x )           { return wfSetVar( $this->mUseDynamicDates, $x ); }
        function setInterwikiMagic( $x )            { return wfSetVar( $this->mInterwikiMagic, $x ); }
@@ -4580,7 +4586,7 @@ class ParserOptions
                $this->mAllowExternalImages = $wgAllowExternalImages;
                $this->mAllowExternalImagesFrom = $wgAllowExternalImagesFrom;
                $this->mSkin = null; # Deferred
-               $this->mDateFormat = $user->getOption( 'date' );
+               $this->mDateFormat = null; # Deferred
                $this->mEditSection = true;
                $this->mNumberHeadings = $user->getOption( 'numberheadings' );
                $this->mAllowSpecialInclusion = $wgAllowSpecialInclusion;
index ae9496f..eef9738 100644 (file)
@@ -36,24 +36,20 @@ wfInstallExceptionHandler();
 wfProfileOut( $fname.'-exception' );
 
 wfProfileIn( $fname.'-includes' );
-
 require_once( "$IP/includes/GlobalFunctions.php" );
 require_once( "$IP/includes/Hooks.php" );
 require_once( "$IP/includes/Namespace.php" );
-require_once( "$IP/includes/User.php" );
-require_once( "$IP/includes/OutputPage.php" );
-require_once( "$IP/includes/MessageCache.php" );
-require_once( "$IP/includes/Parser.php" );
-require_once( "$IP/includes/LoadBalancer.php" );
 require_once( "$IP/includes/ProxyTools.php" );
 require_once( "$IP/includes/ObjectCache.php" );
 require_once( "$IP/includes/ImageFunctions.php" );
-
+require_once( "$IP/includes/StubObject.php" );
 wfProfileOut( $fname.'-includes' );
 wfProfileIn( $fname.'-misc1' );
 
+
 $wgIP = false; # Load on demand
-$wgRequest = new WebRequest();
+# Can't stub this one, it sets up $_GET and $_REQUEST in its constructor
+$wgRequest = new WebRequest;
 if ( function_exists( 'posix_uname' ) ) {
        $wguname = posix_uname();
        $wgNodeName = $wguname['nodename'];
@@ -63,7 +59,7 @@ if ( function_exists( 'posix_uname' ) ) {
 
 # Useful debug output
 if ( $wgCommandLineMode ) {
-       # wfDebug( '"' . implode( '"  "', $argv ) . '"' );
+       wfDebug( "\n\nStart command line script $self\n" );
 } elseif ( function_exists( 'getallheaders' ) ) {
        wfDebug( "\n\nStart request\n" );
        wfDebug( $_SERVER['REQUEST_METHOD'] . ' ' . $_SERVER['REQUEST_URI'] . "\n" );
@@ -82,6 +78,10 @@ if ( $wgSkipSkin ) {
 
 $wgUseEnotif = $wgEnotifUserTalk || $wgEnotifWatchlist;
 
+if($wgMetaNamespace === FALSE) {
+       $wgMetaNamespace = str_replace( ' ', '_', $wgSitename );
+}
+
 wfProfileOut( $fname.'-misc1' );
 wfProfileIn( $fname.'-memcached' );
 
@@ -111,7 +111,7 @@ if( !ini_get( 'session.auto_start' ) )
 
 if( !$wgCommandLineMode && ( isset( $_COOKIE[session_name()] ) || isset( $_COOKIE[$wgCookiePrefix.'Token'] ) ) ) {
        wfIncrStats( 'request_with_session' );
-       User::SetupSession();
+       wfSetupSession();
        $wgSessionStarted = true;
 } else {
        wfIncrStats( 'request_without_session' );
@@ -119,7 +119,7 @@ if( !$wgCommandLineMode && ( isset( $_COOKIE[session_name()] ) || isset( $_COOKI
 }
 
 wfProfileOut( $fname.'-SetupSession' );
-wfProfileIn( $fname.'-database' );
+wfProfileIn( $fname.'-globals' );
 
 if ( !$wgDBservers ) {
        $wgDBservers = array(array(
@@ -132,47 +132,23 @@ if ( !$wgDBservers ) {
                'flags' => ($wgDebugDumpSql ? DBO_DEBUG : 0) | DBO_DEFAULT
        ));
 }
-$wgLoadBalancer = LoadBalancer::newFromParams( $wgDBservers, false, $wgMasterWaitTimeout );
-$wgLoadBalancer->loadMasterPos();
-
-wfProfileOut( $fname.'-database' );
-wfProfileIn( $fname.'-language1' );
-
-require_once( "$IP/languages/Language.php" );
-
-function setupLangObj($langclass) {
-       global $IP;
-
-       if( ! class_exists( $langclass ) ) {
-               # Default to English/UTF-8
-               $baseclass = 'LanguageUtf8';
-               require_once( "$IP/languages/$baseclass.php" );
-               $lc = strtolower(substr($langclass, 8));
-               $snip = "
-                       class $langclass extends $baseclass {
-                               function getVariants() {
-                                       return array(\"$lc\");
-                               }
-
-                       }";
-               eval($snip);
-       }
-
-       $lang = new $langclass();
-
-       return $lang;
-}
 
 # $wgLanguageCode may be changed later to fit with user preference.
 # The content language will remain fixed as per the configuration,
 # so let's keep it.
 $wgContLanguageCode = $wgLanguageCode;
-$wgContLangClass = 'Language' . str_replace( '-', '_', ucfirst( $wgContLanguageCode ) );
 
-$wgContLang = setupLangObj( $wgContLangClass );
-$wgContLang->initEncoding();
-
-wfProfileOut( $fname.'-language1' );
+$wgLoadBalancer = new StubObject( 'wgLoadBalancer', 'LoadBalancer', 
+       array( $wgDBservers, false, $wgMasterWaitTimeout, true ) );
+$wgContLang = new StubContLang;
+$wgUser = new StubUser;
+$wgLang = new StubUserLang;
+$wgOut = new StubObject( 'wgOut', 'OutputPage' );
+$wgParser = new StubObject( 'wgParser', 'Parser' );
+$wgMessageCache = new StubObject( 'wgMessageCache', 'MessageCache', 
+       array( $parserMemc, $wgUseDatabaseMessages, $wgMsgCacheExpiry, $wgDBname) );
+
+wfProfileOut( $fname.'-globals' );
 wfProfileIn( $fname.'-User' );
 
 # Skin setup functions
@@ -184,98 +160,20 @@ foreach ( $wgSkinExtensionFunctions as $func ) {
 }
 
 if( !is_object( $wgAuth ) ) {
-       require_once( 'AuthPlugin.php' );
-       $wgAuth = new AuthPlugin();
-}
-
-if( $wgCommandLineMode ) {
-       # Used for some maintenance scripts; user session cookies can screw things up
-       # when the database is in an in-between state.
-       $wgUser = new User();
-       # Prevent loading User settings from the DB.
-       $wgUser->setLoaded( true );
-} else {
-       $wgUser = null;
-       wfRunHooks('AutoAuthenticate',array(&$wgUser));
-       if ($wgUser === null) {
-               $wgUser = User::loadFromSession();
-       }
+       $wgAuth = new StubObject( 'wgAuth', 'AuthPlugin' );
 }
-
 wfProfileOut( $fname.'-User' );
-wfProfileIn( $fname.'-language2' );
-
-// wgLanguageCode now specifically means the UI language
-$wgLanguageCode = $wgRequest->getText('uselang', '');
-if ($wgLanguageCode == '')
-       $wgLanguageCode = $wgUser->getOption('language');
-# Validate $wgLanguageCode, which will soon be sent to an eval()
-if( empty( $wgLanguageCode ) || !preg_match( '/^[a-z]+(-[a-z]+)?$/', $wgLanguageCode ) ) {
-       $wgLanguageCode = $wgContLanguageCode;
-}
-
-$wgLangClass = 'Language'. str_replace( '-', '_', ucfirst( $wgLanguageCode ) );
-
-if( $wgLangClass == $wgContLangClass ) {
-       $wgLang = &$wgContLang;
-} else {
-       wfSuppressWarnings();
-       // Preload base classes to work around APC/PHP5 bug
-       include_once("$IP/languages/$wgLangClass.deps.php");
-       include_once("$IP/languages/$wgLangClass.php");
-       wfRestoreWarnings();
-
-       $wgLang = setupLangObj( $wgLangClass );
-}
-
-wfProfileOut( $fname.'-language2' );
-wfProfileIn( $fname.'-MessageCache' );
-
-$wgMessageCache = new MessageCache( $parserMemc, $wgUseDatabaseMessages, $wgMsgCacheExpiry, $wgDBname);
-
-wfProfileOut( $fname.'-MessageCache' );
-
-#
-# I guess the warning about UI switching might still apply...
-#
-# FIXME: THE ABOVE MIGHT BREAK NAMESPACES, VARIABLES,
-# SEARCH INDEX UPDATES, AND MANY MANY THINGS.
-# DO NOT USE THIS MODE EXCEPT FOR TESTING RIGHT NOW.
-#
-# To disable it, the easiest thing could be to uncomment the
-# following; they should effectively disable the UI switch functionality
-#
-# $wgLangClass = $wgContLangClass;
-# $wgLanguageCode = $wgContLanguageCode;
-# $wgLang = $wgContLang;
-#
-# TODO: Need to change reference to $wgLang to $wgContLang at proper
-#       places, including namespaces, dates in signatures, magic words,
-#       and links
-#
-# TODO: Need to look at the issue of input/output encoding
-#
 
-
-wfProfileIn( $fname.'-OutputPage' );
-
-$wgOut = new OutputPage();
-
-wfProfileOut( $fname.'-OutputPage' );
 wfProfileIn( $fname.'-misc2' );
 
 $wgDeferredUpdateList = array();
 $wgPostCommitUpdateList = array();
 
-$wgParser = new Parser();
-
-$wgOut->setParserOptions( ParserOptions::newFromUser( $wgUser ) );
-$wgMsgParserOptions = ParserOptions::newFromUser($wgUser);
 wfSeedRandom();
 
 # Placeholders in case of DB error
-$wgTitle = Title::makeTitle( NS_SPECIAL, 'Error' );
-$wgArticle = new Article($wgTitle);
+$wgTitle = null;
+$wgArticle = null;
 
 wfProfileOut( $fname.'-misc2' );
 wfProfileIn( $fname.'-extensions' );
@@ -295,7 +193,7 @@ wfRunHooks( 'LogPageLogHeader', array( &$wgLogHeaders ) );
 wfRunHooks( 'LogPageActionText', array( &$wgLogActions ) );
 
 
-wfDebug( "\n" );
+wfDebug( "Fully initialised\n" );
 $wgFullyInitialised = true;
 wfProfileOut( $fname.'-extensions' );
 wfProfileOut( $fname );
index 6657d38..7263191 100644 (file)
@@ -1087,7 +1087,7 @@ class QuickTemplate {
 
                $text = $this->translator->translate( $str );
                $parserOutput = $wgParser->parse( $text, $wgTitle,
-                       $wgOut->mParserOptions, true );
+                       $wgOut->parserOptions(), true );
                echo $parserOutput->getText();
        }
 
index 60258f9..7819c34 100644 (file)
@@ -9,7 +9,7 @@
  *
  */
 function wfSpecialAllmessages() {
-       global $wgOut, $wgAllMessagesEn, $wgRequest, $wgMessageCache, $wgTitle;
+       global $wgOut, $wgRequest, $wgMessageCache, $wgTitle;
        global $wgUseDatabaseMessages;
 
        # The page isn't much use if the MediaWiki namespace is not being used
@@ -30,7 +30,7 @@ function wfSpecialAllmessages() {
        wfLoadAllExtensions();
 
        $first = true;
-       $sortedArray = array_merge( $wgAllMessagesEn, $wgMessageCache->mExtensionMessages );
+       $sortedArray = array_merge( Language::getMessagesFor( 'en' ), $wgMessageCache->mExtensionMessages );
        ksort( $sortedArray );
        $messages = array();
        $wgMessageCache->disableTransform();
@@ -63,7 +63,7 @@ function wfSpecialAllmessages() {
  */
 function makePhp($messages) {
        global $wgLanguageCode;
-       $txt = "\n\n".'$wgAllMessages'.ucfirst($wgLanguageCode).' = array('."\n";
+       $txt = "\n\n\$messages = array(\n";
        foreach( $messages as $key => $m ) {
                if(strtolower($wgLanguageCode) != 'en' and $m['msg'] == $m['enmsg'] ) {
                        //if (strstr($m['msg'],"\n")) {
index b529da0..c0177f3 100644 (file)
@@ -74,7 +74,7 @@ class PreferencesForm {
                # User toggles  (the big ugly unsorted list of checkboxes)
                $this->mToggles = array();
                if ( $this->mPosted ) {
-                       $togs = $wgLang->getUserToggles();
+                       $togs = User::getToggles();
                        foreach ( $togs as $tname ) {
                                $this->mToggles[$tname] = $request->getCheck( "wpOp$tname" ) ? 1 : 0;
                        }
@@ -356,7 +356,7 @@ class PreferencesForm {
                $this->mQuickbar = $wgUser->getOption( 'quickbar' );
                $this->mSkin = Skin::normalizeKey( $wgUser->getOption( 'skin' ) );
                $this->mMath = $wgUser->getOption( 'math' );
-               $this->mDate = $wgUser->getOption( 'date' );
+               $this->mDate = $wgUser->getDatePreference();
                $this->mRows = $wgUser->getOption( 'rows' );
                $this->mCols = $wgUser->getOption( 'cols' );
                $this->mStubs = $wgUser->getOption( 'stubthreshold' );
@@ -371,7 +371,7 @@ class PreferencesForm {
                $this->mUnderline = $wgUser->getOption( 'underline' );
                $this->mWatchlistDays = $wgUser->getOption( 'watchlistdays' );
 
-               $togs = $wgLang->getUserToggles();
+               $togs = User::getToggles();
                foreach ( $togs as $tname ) {
                        $ttext = wfMsg('tog-'.$tname);
                        $this->mToggles[$tname] = $wgUser->getOption( $tname );
@@ -470,8 +470,8 @@ class PreferencesForm {
                $qbs = $wgLang->getQuickbarSettings();
                $skinNames = $wgLang->getSkinNames();
                $mathopts = $wgLang->getMathNames();
-               $dateopts = $wgLang->getDateFormats();
-               $togs = $wgLang->getUserToggles();
+               $dateopts = $wgLang->getDatePreferences();
+               $togs = User::getToggles();
 
                $titleObj = Title::makeTitle( NS_SPECIAL, 'Preferences' );
                $action = $titleObj->escapeLocalURL();
@@ -595,7 +595,7 @@ class PreferencesForm {
                 * Make sure the site language is in the list; a custom language code
                 * might not have a defined name...
                 */
-               $languages = $wgLang->getLanguageNames();
+               $languages = $wgLang->getLanguageNames( true );
                if( !array_key_exists( $wgContLanguageCode, $languages ) ) {
                        $languages[$wgContLanguageCode] = $wgContLanguageCode;
                }
@@ -610,12 +610,8 @@ class PreferencesForm {
                $selbox = null;
                foreach($languages as $code => $name) {
                        global $IP;
-                       /* only add languages that have a file */
-                       $langfile="$IP/languages/Language".str_replace('-', '_', ucfirst($code)).".php";
-                       if(file_exists($langfile) || $code == $wgContLanguageCode) {
-                               $sel = ($code == $selectedLang)? ' selected="selected"' : '';
-                               $selbox .= "<option value=\"$code\"$sel>$code - $name</option>\n";
-                       }
+                       $sel = ($code == $selectedLang)? ' selected="selected"' : '';
+                       $selbox .= "<option value=\"$code\"$sel>$code - $name</option>\n";
                }
                $wgOut->addHTML(
                        $this->addRow(
@@ -764,20 +760,20 @@ class PreferencesForm {
                        <legend>" . wfMsg( 'files' ) . "</legend>
                        <div><label for='wpImageSize'>" . wfMsg('imagemaxsize') . "</label> <select id='wpImageSize' name='wpImageSize'>");
 
-                       $imageLimitOptions = null;
-                       foreach ( $wgImageLimits as $index => $limits ) {
-                               $selected = ($index == $this->mImageSize) ? 'selected="selected"' : '';
-                               $imageLimitOptions .= "<option value=\"{$index}\" {$selected}>{$limits[0]}×{$limits[1]}". wfMsgHtml('unit-pixel') ."</option>\n";
-                       }
+               $imageLimitOptions = null;
+               foreach ( $wgImageLimits as $index => $limits ) {
+                       $selected = ($index == $this->mImageSize) ? 'selected="selected"' : '';
+                       $imageLimitOptions .= "<option value=\"{$index}\" {$selected}>{$limits[0]}×{$limits[1]}". wfMsgHtml('unit-pixel') ."</option>\n";
+               }
 
-                       $imageThumbOptions = null;
-                       $wgOut->addHTML( "{$imageLimitOptions}</select></div>
-                               <div><label for='wpThumbSize'>" . wfMsg('thumbsize') . "</label> <select name='wpThumbSize' id='wpThumbSize'>");
-                       foreach ( $wgThumbLimits as $index => $size ) {
-                               $selected = ($index == $this->mThumbSize) ? 'selected="selected"' : '';
-                               $imageThumbOptions .= "<option value=\"{$index}\" {$selected}>{$size}". wfMsgHtml('unit-pixel') ."</option>\n";
-                       }
-                       $wgOut->addHTML( "{$imageThumbOptions}</select></div></fieldset>\n\n");
+               $imageThumbOptions = null;
+               $wgOut->addHTML( "{$imageLimitOptions}</select></div>
+                       <div><label for='wpThumbSize'>" . wfMsg('thumbsize') . "</label> <select name='wpThumbSize' id='wpThumbSize'>");
+               foreach ( $wgThumbLimits as $index => $size ) {
+                       $selected = ($index == $this->mThumbSize) ? 'selected="selected"' : '';
+                       $imageThumbOptions .= "<option value=\"{$index}\" {$selected}>{$size}". wfMsgHtml('unit-pixel') ."</option>\n";
+               }
+               $wgOut->addHTML( "{$imageThumbOptions}</select></div></fieldset>\n\n");
 
                # Date format
                #
@@ -790,8 +786,8 @@ class PreferencesForm {
                        $wgOut->addHTML( "<fieldset>\n<legend>" . wfMsg( 'dateformat' ) . "</legend>\n" );
                        $idCnt = 0;
                        $epoch = '20010115161234'; # Wikipedia day
-                       foreach($dateopts as $key => $option) {
-                               if( $key == MW_DATE_DEFAULT ) {
+                       foreach( $dateopts as $key ) {
+                               if( $key == 'default' ) {
                                        $formatted = wfMsgHtml( 'datedefault' );
                                } else {
                                        $formatted = htmlspecialchars( $wgLang->timeanddate( $epoch, false, $key ) );
diff --git a/includes/StubObject.php b/includes/StubObject.php
new file mode 100644 (file)
index 0000000..ceedeb4
--- /dev/null
@@ -0,0 +1,144 @@
+<?php
+
+/**
+ * Class to implement stub globals, which are globals that delay loading the
+ * their associated module code by deferring initialisation until the first 
+ * method call. 
+ *
+ * Note on unstub loops: 
+ *
+ * Unstub loops (infinite recursion) sometimes occur when a constructor calls 
+ * another function, and the other function calls some method of the stub. The 
+ * best way to avoid this is to make constructors as lightweight as possible,
+ * deferring any initialisation which depends on other modules. As a last 
+ * resort, you can use StubObject::isRealObject() to break the loop, but as a 
+ * general rule, the stub object mechanism should be transparent, and code 
+ * which refers to it should be kept to a minimum.
+ */
+class StubObject {
+       var $mGlobal, $mClass, $mParams;
+       function __construct( $global = null, $class = null, $params = array() ) {
+               $this->mGlobal = $global;
+               $this->mClass = $class;
+               $this->mParams = $params;
+       }
+
+       static function isRealObject( $obj ) {
+               return is_object( $obj ) && !is_a( $obj, 'StubObject' );
+       }
+
+       static function _getCaller( $level ) {
+               $backtrace = debug_backtrace();
+               if ( isset( $backtrace[$level] ) ) {
+                       if ( isset( $backtrace[$level]['class'] ) ) {
+                               $caller = $backtrace[$level]['class'] . '::' . $backtrace[$level]['function'];
+                       } else {
+                               $caller = $backtrace[$level]['function'];
+                       }
+               } else {
+                       $caller = 'unknown';
+               }
+               return $caller;
+       }
+
+       function _call( $name, $args ) {
+               $this->_unstub( $name, 5 );
+               return call_user_func_array( array( $GLOBALS[$this->mGlobal], $name ), $args );
+       }
+
+       function _newObject() {
+               return wfCreateObject( $this->mClass, $this->mParams );
+       }
+       
+       function __call( $name, $args ) {
+               return $this->_call( $name, $args );
+       }
+
+       /**
+        * This is public, for the convenience of external callers wishing to access 
+        * properties, e.g. eval.php
+        */
+       function _unstub( $name = '_unstub', $level = 2 ) {
+               static $recursionLevel = 0;
+               if ( get_class( $GLOBALS[$this->mGlobal] ) != $this->mClass ) {
+                       $fname = __METHOD__.'-'.$this->mGlobal;
+                       wfProfileIn( $fname );
+                       $caller = self::_getCaller( $level );
+                       if ( ++$recursionLevel > 2 ) {
+                               throw new MWException( "Unstub loop detected on call of \${$this->mGlobal}->$name from $caller\n" );
+                       }
+                       wfDebug( "Unstubbing \${$this->mGlobal} on call of \${$this->mGlobal}->$name from $caller\n" );
+                       $GLOBALS[$this->mGlobal] = $this->_newObject();
+                       --$recursionLevel;
+                       wfProfileOut( $fname );
+               }
+       }
+}
+
+class StubContLang extends StubObject {
+       function __construct() {
+               parent::__construct( 'wgContLang' );
+       }
+
+       function __call( $name, $args ) {
+               return StubObject::_call( $name, $args );
+       }
+
+       function _newObject() {
+               global $wgContLanguageCode;
+               $obj = Language::factory( $wgContLanguageCode );
+               $obj->initEncoding();
+               $obj->initContLang();
+               return $obj;
+       }
+}
+class StubUserLang extends StubObject {
+       function __construct() {
+               parent::__construct( 'wgLang' );
+       }
+
+       function __call( $name, $args ) {
+               return $this->_call( $name, $args );
+       }
+
+       function _newObject() {
+               global $wgLanguageCode, $wgContLanguageCode, $wgRequest, $wgUser, $wgContLang;
+               // wgLanguageCode now specifically means the UI language
+               $wgLanguageCode = $wgRequest->getText('uselang', '');
+               if ($wgLanguageCode == '')
+                       $wgLanguageCode = $wgUser->getOption('language');
+               # Validate $wgLanguageCode
+               if( empty( $wgLanguageCode ) || !preg_match( '/^[a-z]+(-[a-z]+)?$/', $wgLanguageCode ) ) {
+                       $wgLanguageCode = $wgContLanguageCode;
+               }
+
+               if( $wgLanguageCode == $wgContLanguageCode ) {
+                       return $wgContLang;
+               } else {
+                       $obj = Language::factory( $wgLanguageCode );
+                       return $obj;
+               }
+       }
+}
+class StubUser extends StubObject {
+       function __construct() {
+               parent::__construct( 'wgUser' );
+       }
+
+       function __call( $name, $args ) {
+               return $this->_call( $name, $args );
+       }
+       
+       function _newObject() {
+               global $wgCommandLineMode;
+               if( $wgCommandLineMode ) {
+                       $user = new User;
+                       $user->setLoaded( true );
+               } else {
+                       $user = User::loadFromSession();
+               }
+               return $user;
+       }
+}
+
+?>
index a0f34be..bcf02d5 100644 (file)
@@ -42,9 +42,88 @@ class User {
        var $mSkin;                     //!<
        var $mToken;            //!<
        var $mTouched;          //!<
+       var $mDatePreference; // !<
        var $mVersion;          //!< serialized version
        /**@}} */
 
+       /**
+        * Default user options
+        * To change this array at runtime, use a UserDefaultOptions hook
+        */
+       static public $mDefaultOptions = array( 
+               'quickbar'              => 1,
+               'underline'             => 2,
+               'cols'                  => 80,
+               'rows'                  => 25,
+               'searchlimit'           => 20,
+               'contextlines'          => 5,
+               'contextchars'          => 50,
+               'skin'                  => false,
+               'math'                  => 1,
+               'rcdays'                => 7,
+               'rclimit'               => 50,
+               'wllimit'               => 250,
+               'highlightbroken'       => 1,
+               'stubthreshold'         => 0,
+               'previewontop'          => 1,
+               'editsection'           => 1,
+               'editsectiononrightclick'=> 0,
+               'showtoc'               => 1,
+               'showtoolbar'           => 1,
+               'date'                  => 'default',
+               'imagesize'             => 2,
+               'thumbsize'             => 2,
+               'rememberpassword'      => 0,
+               'enotifwatchlistpages'  => 0,
+               'enotifusertalkpages'   => 1,
+               'enotifminoredits'      => 0,
+               'enotifrevealaddr'      => 0,
+               'shownumberswatching'   => 1,
+               'fancysig'              => 0,
+               'externaleditor'        => 0,
+               'externaldiff'          => 0,
+               'showjumplinks'         => 1,
+               'numberheadings'        => 0,
+               'uselivepreview'        => 0,
+               'watchlistdays'         => 3.0,
+       );
+
+       static public $mToggles = array(
+               'highlightbroken',
+               'justify',
+               'hideminor',
+               'extendwatchlist',
+               'usenewrc',
+               'numberheadings',
+               'showtoolbar',
+               'editondblclick',
+               'editsection',
+               'editsectiononrightclick',
+               'showtoc',
+               'rememberpassword',
+               'editwidth',
+               'watchcreations',
+               'watchdefault',
+               'minordefault',
+               'previewontop',
+               'previewonfirst',
+               'nocache',
+               'enotifwatchlistpages',
+               'enotifusertalkpages',
+               'enotifminoredits',
+               'enotifrevealaddr',
+               'shownumberswatching',
+               'fancysig',
+               'externaleditor',
+               'externaldiff',
+               'showjumplinks',
+               'uselivepreview',
+               'autopatrol',
+               'forceeditsummary',
+               'watchlisthideown',
+               'watchlisthidebots',
+       );              
+
        /** Constructor using User:loadDefaults() */
        function User() {
                $this->loadDefaults();
@@ -348,6 +427,7 @@ class User {
                $this->mRights = array();
                $this->mGroups = array();
                $this->mOptions = User::getDefaultOptions();
+               $this->mDatePreference = null;
 
                foreach( $wgNamespacesToBeSearchedDefault as $nsnum => $val ) {
                        $this->mOptions['searchNs'.$nsnum] = $val;
@@ -382,13 +462,13 @@ class User {
                /**
                 * Site defaults will override the global/language defaults
                 */
-               global $wgContLang, $wgDefaultUserOptions;
-               $defOpt = $wgDefaultUserOptions + $wgContLang->getDefaultUserOptions();
+               global $wgContLang;
+               $defOpt = self::$mDefaultOptions + $wgContLang->getDefaultUserOptionOverrides();
 
                /**
                 * default language setting
                 */
-               $variant = $wgContLang->getPreferredVariant();
+               $variant = $wgContLang->getPreferredVariant( false );
                $defOpt['variant'] = $variant;
                $defOpt['language'] = $variant;
 
@@ -412,6 +492,18 @@ class User {
                }
        }
 
+       /**
+        * Get a list of user toggle names
+        * @return array
+        */
+       static function getToggles() {
+               global $wgContLang;
+               $extraToggles = array();
+               wfRunHooks( 'UserToggles', array( &$extraToggles ) );
+               return array_merge( self::$mToggles, $extraToggles, $wgContLang->getExtraUserToggles() );
+       }
+
+
        /**
         * Get blocking information
         * @private
@@ -638,19 +730,10 @@ class User {
 
        /**
         * Initialise php session
+        * @deprecated use wfSetupSession()
         */
        function SetupSession() {
-               global $wgSessionsInMemcached, $wgCookiePath, $wgCookieDomain;
-               if( $wgSessionsInMemcached ) {
-                       require_once( 'MemcachedSessions.php' );
-               } elseif( 'files' != ini_get( 'session.save_handler' ) ) {
-                       # If it's left on 'user' or another setting from another
-                       # application, it will end up failing. Try to recover.
-                       ini_set ( 'session.save_handler', 'files' );
-               }
-               session_set_cookie_params( 0, $wgCookiePath, $wgCookieDomain );
-               session_cache_limiter( 'private, must-revalidate' );
-               @session_start();
+               wfSetupSession();
        }
 
        /**
@@ -1070,6 +1153,23 @@ class User {
                }
        }
 
+       /**
+        * Get the user's date preference, including some important migration for 
+        * old user rows.
+        */
+       function getDatePreference() {
+               if ( is_null( $this->mDatePreference ) ) {
+                       global $wgLang;
+                       $value = $this->getOption( 'date' );
+                       $map = $wgLang->getDatePreferenceMigrationMap();
+                       if ( isset( $map[$value] ) ) {
+                               $value = $map[$value];
+                       }
+                       $this->mDatePreference = $value;
+               }
+               return $this->mDatePreference;
+       }
+
        /**
         * @param string $oname The option to check
         * @return bool False if the option is not selected, true if it is
@@ -1401,6 +1501,8 @@ class User {
         * @private
         */
        function decodeOptions( $str ) {
+               global $wgLang;
+               
                $a = explode( "\n", $str );
                foreach ( $a as $s ) {
                        if ( preg_match( "/^(.[^=]*)=(.*)$/", $s, $m ) ) {
@@ -1586,7 +1688,7 @@ class User {
         * @return string
         */
        function getPageRenderingHash() {
-               global $wgContLang;
+               global $wgContLang, $wgUseDynamicDates;
                if( $this->mHash ){
                        return $this->mHash;
                }
@@ -1596,7 +1698,9 @@ class User {
 
                $confstr =        $this->getOption( 'math' );
                $confstr .= '!' . $this->getOption( 'stubthreshold' );
-               $confstr .= '!' . $this->getOption( 'date' );
+               if ( $wgUseDynamicDates ) {
+                       $confstr .= '!' . $this->getDatePreference();
+               }
                $confstr .= '!' . ($this->getOption( 'numberheadings' ) ? '1' : '');
                $confstr .= '!' . $this->getOption( 'language' );
                $confstr .= '!' . $this->getOption( 'thumbsize' );
index ba4e713..655dfcb 100644 (file)
@@ -4,7 +4,10 @@
  * @subpackage Language
  */
 
-if( defined( 'MEDIAWIKI' ) ) {
+if( !defined( 'MEDIAWIKI' ) ) {
+       echo "This file is part of MediaWiki, it is not a valid entry point.\n";
+       exit( 1 );
+}
 
 #
 # In general you should not make customizations in these language files
@@ -18,294 +21,27 @@ if( defined( 'MEDIAWIKI' ) ) {
 # files for examples.
 #
 
-#--------------------------------------------------------------------------
-# Language-specific text
-#--------------------------------------------------------------------------
-
-if($wgMetaNamespace === FALSE)
-       $wgMetaNamespace = str_replace( ' ', '_', $wgSitename );
-
-/* private */ $wgNamespaceNamesEn = array(
-       NS_MEDIA            => 'Media',
-       NS_SPECIAL          => 'Special',
-       NS_MAIN             => '',
-       NS_TALK             => 'Talk',
-       NS_USER             => 'User',
-       NS_USER_TALK        => 'User_talk',
-       NS_PROJECT          => $wgMetaNamespace,
-       NS_PROJECT_TALK     => $wgMetaNamespace . '_talk',
-       NS_IMAGE            => 'Image',
-       NS_IMAGE_TALK       => 'Image_talk',
-       NS_MEDIAWIKI        => 'MediaWiki',
-       NS_MEDIAWIKI_TALK   => 'MediaWiki_talk',
-       NS_TEMPLATE         => 'Template',
-       NS_TEMPLATE_TALK    => 'Template_talk',
-       NS_HELP             => 'Help',
-       NS_HELP_TALK        => 'Help_talk',
-       NS_CATEGORY         => 'Category',
-       NS_CATEGORY_TALK    => 'Category_talk',
-);
-
-if(isset($wgExtraNamespaces)) {
-       $wgNamespaceNamesEn=$wgNamespaceNamesEn+$wgExtraNamespaces;
-}
-
-/* private */ $wgDefaultUserOptionsEn = array(
-       'quickbar'              => 1,
-       'underline'             => 2,
-       'cols'                  => 80,
-       'rows'                  => 25,
-       'searchlimit'           => 20,
-       'contextlines'          => 5,
-       'contextchars'          => 50,
-       'skin'                  => $wgDefaultSkin,
-       'math'                  => 1,
-       'rcdays'                => 7,
-       'rclimit'               => 50,
-       'wllimit'               => 250,
-       'highlightbroken'       => 1,
-       'stubthreshold'         => 0,
-       'previewontop'          => 1,
-       'editsection'           => 1,
-       'editsectiononrightclick'=> 0,
-       'showtoc'               => 1,
-       'showtoolbar'           => 1,
-       'date'                  => 0,
-       'imagesize'             => 2,
-       'thumbsize'             => 2,
-       'rememberpassword'      => 0,
-       'enotifwatchlistpages'  => 0,
-       'enotifusertalkpages'   => 1,
-       'enotifminoredits'      => 0,
-       'enotifrevealaddr'      => 0,
-       'shownumberswatching'   => 1,
-       'fancysig'              => 0,
-       'externaleditor'        => 0,
-       'externaldiff'          => 0,
-       'showjumplinks'         => 1,
-       'numberheadings'        => 0,
-       'uselivepreview'        => 0,
-       'watchlistdays'         => 3.0,
-);
-
-/* private */ $wgQuickbarSettingsEn = array(
-       'None', 'Fixed left', 'Fixed right', 'Floating left', 'Floating right'
-);
-
-/* private */ $wgSkinNamesEn = array(
-       'standard' => 'Classic',
-       'nostalgia' => 'Nostalgia',
-       'cologneblue' => 'Cologne Blue',
-       'davinci' => 'DaVinci',
-       'mono' => 'Mono',
-       'monobook' => 'MonoBook',
-       'myskin' => 'MySkin',
-       'chick' => 'Chick'
-);
-
-/* private */ $wgMathNamesEn = array(
-       MW_MATH_PNG => 'mw_math_png',
-       MW_MATH_SIMPLE => 'mw_math_simple',
-       MW_MATH_HTML => 'mw_math_html',
-       MW_MATH_SOURCE => 'mw_math_source',
-       MW_MATH_MODERN => 'mw_math_modern',
-       MW_MATH_MATHML => 'mw_math_mathml'
-);
-
-/**
- * Whether to use user or default setting in Language::date()
- *
- * NOTE: the array string values are no longer important!
- * The actual date format functions are now called for the selection in
- * Special:Preferences, and the 'datedefault' message for MW_DATE_DEFAULT.
- *
- * The array keys make up the set of formats which this language allows
- * the user to select. It's exposed via Language::getDateFormats().
- *
- * @private
- */
-$wgDateFormatsEn = array(
-       MW_DATE_DEFAULT => 'No preference',
-       MW_DATE_DMY => '16:12, 15 January 2001',
-       MW_DATE_MDY => '16:12, January 15, 2001',
-       MW_DATE_YMD => '16:12, 2001 January 15',
-       MW_DATE_ISO => '2001-01-15 16:12:34'
-);
-
-/* private */ $wgUserTogglesEn = array(
-       'highlightbroken',
-       'justify',
-       'hideminor',
-       'extendwatchlist',
-       'usenewrc',
-       'numberheadings',
-       'showtoolbar',
-       'editondblclick',
-       'editsection',
-       'editsectiononrightclick',
-       'showtoc',
-       'rememberpassword',
-       'editwidth',
-       'watchcreations',
-       'watchdefault',
-       'minordefault',
-       'previewontop',
-       'previewonfirst',
-       'nocache',
-       'enotifwatchlistpages',
-       'enotifusertalkpages',
-       'enotifminoredits',
-       'enotifrevealaddr',
-       'shownumberswatching',
-       'fancysig',
-       'externaleditor',
-       'externaldiff',
-       'showjumplinks',
-       'uselivepreview',
-       'autopatrol',
-       'forceeditsummary',
-       'watchlisthideown',
-       'watchlisthidebots',
-);
-
-/* private */ $wgBookstoreListEn = array(
-       'AddALL' => 'http://www.addall.com/New/Partner.cgi?query=$1&type=ISBN',
-       'PriceSCAN' => 'http://www.pricescan.com/books/bookDetail.asp?isbn=$1',
-       'Barnes & Noble' => 'http://search.barnesandnoble.com/bookSearch/isbnInquiry.asp?isbn=$1',
-       'Amazon.com' => 'http://www.amazon.com/exec/obidos/ISBN=$1'
-);
-
 # Read language names
 global $wgLanguageNames;
-/** */
 require_once( 'Names.php' );
 
-$wgLanguageNamesEn =& $wgLanguageNames;
-
-
-/* private */ $wgWeekdayNamesEn = array(
-       'sunday', 'monday', 'tuesday', 'wednesday', 'thursday',
-       'friday', 'saturday'
-);
-
-
-/* private */ $wgMonthNamesEn = array(
-       'january', 'february', 'march', 'april', 'may_long', 'june',
-       'july', 'august', 'september', 'october', 'november',
-       'december'
-);
-/* private */ $wgMonthNamesGenEn = array(
-       'january-gen', 'february-gen', 'march-gen', 'april-gen', 'may-gen', 'june-gen',
-       'july-gen', 'august-gen', 'september-gen', 'october-gen', 'november-gen',
-       'december-gen'
-);
+global $wgInputEncoding, $wgOutputEncoding;
+global $wgDBname, $wgMemc;
 
-/* private */ $wgMonthAbbreviationsEn = array(
-       'jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug',
-       'sep', 'oct', 'nov', 'dec'
-);
+/**
+ * These are always UTF-8, they exist only for backwards compatibility
+ */
+$wgInputEncoding    = "UTF-8";
+$wgOutputEncoding      = "UTF-8";
 
-# Note to translators:
-#   Please include the English words as synonyms.  This allows people
-#   from other wikis to contribute more easily.
-#
-/* private */ $wgMagicWordsEn = array(
-#   ID                                 CASE  SYNONYMS
-       'redirect'               => array( 0,    '#REDIRECT'              ),
-       'notoc'                  => array( 0,    '__NOTOC__'              ),
-       'nogallery'                      => array( 0,    '__NOGALLERY__'          ),
-       'forcetoc'               => array( 0,    '__FORCETOC__'           ),
-       'toc'                    => array( 0,    '__TOC__'                ),
-       'noeditsection'          => array( 0,    '__NOEDITSECTION__'      ),
-       'start'                  => array( 0,    '__START__'              ),
-       'currentmonth'           => array( 1,    'CURRENTMONTH'           ),
-       'currentmonthname'       => array( 1,    'CURRENTMONTHNAME'       ),
-       'currentmonthnamegen'    => array( 1,    'CURRENTMONTHNAMEGEN'    ),
-       'currentmonthabbrev'     => array( 1,    'CURRENTMONTHABBREV'     ),
-       'currentday'             => array( 1,    'CURRENTDAY'             ),
-       'currentday2'            => array( 1,    'CURRENTDAY2'            ),
-       'currentdayname'         => array( 1,    'CURRENTDAYNAME'         ),
-       'currentyear'            => array( 1,    'CURRENTYEAR'            ),
-       'currenttime'            => array( 1,    'CURRENTTIME'            ),
-       'numberofpages'          => array( 1,    'NUMBEROFPAGES'          ),
-       'numberofarticles'       => array( 1,    'NUMBEROFARTICLES'       ),
-       'numberoffiles'          => array( 1,    'NUMBEROFFILES'          ),
-       'numberofusers'          => array( 1,    'NUMBEROFUSERS'          ),
-       'pagename'               => array( 1,    'PAGENAME'               ),
-       'pagenamee'              => array( 1,    'PAGENAMEE'              ),
-       'namespace'              => array( 1,    'NAMESPACE'              ),
-       'namespacee'             => array( 1,    'NAMESPACEE'             ),
-       'talkspace'              => array( 1,    'TALKSPACE'              ),
-       'talkspacee'             => array( 1,    'TALKSPACEE'              ),
-       'subjectspace'           => array( 1,    'SUBJECTSPACE', 'ARTICLESPACE' ),
-       'subjectspacee'          => array( 1,    'SUBJECTSPACEE', 'ARTICLESPACEE' ),
-       'fullpagename'           => array( 1,    'FULLPAGENAME'           ),
-       'fullpagenamee'          => array( 1,    'FULLPAGENAMEE'          ),
-       'subpagename'            => array( 1,    'SUBPAGENAME'            ),
-       'subpagenamee'           => array( 1,    'SUBPAGENAMEE'           ),
-       'basepagename'           => array( 1,    'BASEPAGENAME'           ),
-       'basepagenamee'          => array( 1,    'BASEPAGENAMEE'          ),
-       'talkpagename'           => array( 1,    'TALKPAGENAME'           ),
-       'talkpagenamee'          => array( 1,    'TALKPAGENAMEE'          ),
-       'subjectpagename'        => array( 1,    'SUBJECTPAGENAME', 'ARTICLEPAGENAME' ),
-       'subjectpagenamee'       => array( 1,    'SUBJECTPAGENAMEE', 'ARTICLEPAGENAMEE' ),
-       'msg'                    => array( 0,    'MSG:'                   ),
-       'subst'                  => array( 0,    'SUBST:'                 ),
-       'msgnw'                  => array( 0,    'MSGNW:'                 ),
-       'end'                    => array( 0,    '__END__'                ),
-       'img_thumbnail'          => array( 1,    'thumbnail', 'thumb'     ),
-       'img_manualthumb'        => array( 1,    'thumbnail=$1', 'thumb=$1'),
-       'img_right'              => array( 1,    'right'                  ),
-       'img_left'               => array( 1,    'left'                   ),
-       'img_none'               => array( 1,    'none'                   ),
-       'img_width'              => array( 1,    '$1px'                   ),
-       'img_center'             => array( 1,    'center', 'centre'       ),
-       'img_framed'             => array( 1,    'framed', 'enframed', 'frame' ),
-       'int'                    => array( 0,    'INT:'                   ),
-       'sitename'               => array( 1,    'SITENAME'               ),
-       'ns'                     => array( 0,    'NS:'                    ),
-       'localurl'               => array( 0,    'LOCALURL:'              ),
-       'localurle'              => array( 0,    'LOCALURLE:'             ),
-       'server'                 => array( 0,    'SERVER'                 ),
-       'servername'             => array( 0,    'SERVERNAME'             ),
-       'scriptpath'             => array( 0,    'SCRIPTPATH'             ),
-       'grammar'                => array( 0,    'GRAMMAR:'               ),
-       'notitleconvert'         => array( 0,    '__NOTITLECONVERT__', '__NOTC__'),
-       'nocontentconvert'       => array( 0,    '__NOCONTENTCONVERT__', '__NOCC__'),
-       'currentweek'            => array( 1,    'CURRENTWEEK'            ),
-       'currentdow'             => array( 1,    'CURRENTDOW'             ),
-       'revisionid'             => array( 1,    'REVISIONID'             ),
-       'plural'                 => array( 0,    'PLURAL:'                ),
-       'fullurl'                => array( 0,    'FULLURL:'               ),
-       'fullurle'               => array( 0,    'FULLURLE:'              ),
-       'lcfirst'                => array( 0,    'LCFIRST:'               ),
-       'ucfirst'                => array( 0,    'UCFIRST:'               ),
-       'lc'                     => array( 0,    'LC:'                    ),
-       'uc'                     => array( 0,    'UC:'                    ),
-       'raw'                    => array( 0,    'RAW:'                   ),
-       'displaytitle'           => array( 1,    'DISPLAYTITLE'           ),
-       'rawsuffix'              => array( 1,    'R'                      ),
-       'newsectionlink'         => array( 1,    '__NEWSECTIONLINK__'     ),
-       'currentversion'         => array( 1,    'CURRENTVERSION'         ),
-       'urlencode'              => array( 0,    'URLENCODE:'             ),
-       'currenttimestamp'       => array( 1,    'CURRENTTIMESTAMP'       ),
-       'directionmark'          => array( 1,    'DIRECTIONMARK', 'DIRMARK' ),
-       'language'               => array( 0,    '#LANGUAGE:' ),
-       'contentlanguage'        => array( 1,    'CONTENTLANGUAGE', 'CONTENTLANG' ),
-       'pagesinnamespace'       => array( 1,    'PAGESINNAMESPACE:', 'PAGESINNS:' ),
-       'numberofadmins'         => array( 1,    'NUMBEROFADMINS' ),
-       'formatnum'              => array( 0,    'FORMATNUM' ),
-
-);
-
-if (!$wgCachedMessageArrays) {
-       require_once('Messages.php');
+if( function_exists( 'mb_strtoupper' ) ) {
+       mb_internal_encoding('UTF-8');
 }
 
 /* a fake language converter */
-class fakeConverter {
+class FakeConverter {
        var $mLang;
-       function fakeConverter($langobj) {$this->mLang = $langobj;}
+       function FakeConverter($langobj) {$this->mLang = $langobj;}
        function convert($t, $i) {return $t;}
        function parserConvert($t, $p) {return $t;}
        function getVariants() { return array( $this->mLang->getCode() ); }
@@ -323,21 +59,106 @@ class fakeConverter {
 #--------------------------------------------------------------------------
 
 class Language {
-       var $mConverter;
+       var $mConverter, $mVariants, $mCode, $mLoaded = false;
+
+       static public $mLocalisationKeys = array( 'fallback', 'namespaceNames',
+               'quickbarSettings', 'skinNames', 'mathNames', 
+               'bookstoreList', 'magicWords', 'messages', 'rtl', 'digitTransformTable', 
+               'separatorTransformTable', 'fallback8bitEncoding', 'linkPrefixExtension',
+               'defaultUserOptionOverrides', 'linkTrail', 'namespaceAliases', 
+               'dateFormats', 'datePreferences', 'datePreferenceMigrationMap', 
+               'defaultDateFormat', 'extraUserToggles' );
+
+       static public $mMergeableMapKeys = array( 'messages', 'namespaceNames', 'mathNames', 
+               'dateFormats', 'defaultUserOptionOverrides' );
+
+       static public $mMergeableListKeys = array( 'extraUserToggles' );
+
+       static public $mLocalisationCache = array();
+
+       static public $mWeekdayMsgs = array(
+               'sunday', 'monday', 'tuesday', 'wednesday', 'thursday',
+               'friday', 'saturday'
+       );
+
+       static public $mWeekdayAbbrevMsgs = array(
+               'sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'
+       );
+
+       static public $mMonthMsgs = array(
+               'january', 'february', 'march', 'april', 'may_long', 'june',
+               'july', 'august', 'september', 'october', 'november',
+               'december'
+       );
+       static public $mMonthGenMsgs = array(
+               'january-gen', 'february-gen', 'march-gen', 'april-gen', 'may-gen', 'june-gen',
+               'july-gen', 'august-gen', 'september-gen', 'october-gen', 'november-gen',
+               'december-gen'
+       );
+       static public $mMonthAbbrevMsgs = array(
+               'jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug',
+               'sep', 'oct', 'nov', 'dec'
+       );
+
+       /**
+        * Create a language object for a given language code
+        */
+       static function factory( $code ) {
+               global $IP;
+               static $recursionLevel = 0;
+
+               if ( $code == 'en' ) {
+                       $class = 'Language';
+               } else {
+                       $class = 'Language' . str_replace( '-', '_', ucfirst( $code ) );
+                       // Preload base classes to work around APC/PHP5 bug
+                       if ( file_exists( "$IP/languages/$class.deps.php" ) ) {
+                               include_once("$IP/languages/$class.deps.php");
+                       }
+                       if ( file_exists( "$IP/languages/$class.php" ) ) {
+                               include_once("$IP/languages/$class.php");
+                       }
+               }
+
+               if ( $recursionLevel > 50 ) {
+                       throw new MWException( "Language fallback loop detected when creating class $class\n" );
+               }       
+
+               if( ! class_exists( $class ) ) {
+                       $fallback = Language::getFallbackFor( $code );
+                       ++$recursionLevel;
+                       $lang = Language::factory( $fallback );
+                       --$recursionLevel;
+                       $lang->setCode( $code );
+               } else {
+                       $lang = new $class;
+               }
+
+               return $lang;
+       }
+
        function __construct() {
-               $this->mConverter = new fakeConverter($this);
+               $this->mConverter = new FakeConverter($this);
+               // Set the code to the name of the descendant
+               if ( get_class( $this ) == 'Language' ) {
+                       $this->mCode = 'en';
+               } else {
+                       $this->mCode = str_replace( '_', '-', strtolower( substr( get_class( $this ), 8 ) ) );
+               }
        }
 
        /**
-        * Exports the default user options as defined in
-        * $wgDefaultUserOptionsEn, user preferences can override some of these
-        * depending on what's in (Local|Default)Settings.php and some defines.
-        *
+        * Hook which will be called if this is the content language.
+        * Descendants can use this to register hook functions or modify globals
+        */
+       function initContLang() {}
+
+       /**
+        * @deprecated
         * @return array
         */
        function getDefaultUserOptions() {
-               global $wgDefaultUserOptionsEn;
-               return $wgDefaultUserOptionsEn;
+               return User::getDefaultOptions();
        }
 
        /**
@@ -345,16 +166,16 @@ class Language {
         * @return array
         */
        function getBookstoreList() {
-               global $wgBookstoreListEn;
-               return $wgBookstoreListEn;
+               $this->load();
+               return $this->bookstoreList;
        }
 
        /**
         * @return array
         */
        function getNamespaces() {
-               global $wgNamespaceNamesEn;
-               return $wgNamespaceNamesEn;
+               $this->load();
+               return $this->namespaceNames;
        }
 
        /**
@@ -407,13 +228,13 @@ class Language {
         * @return mixed An integer if $text is a valid value otherwise false
         */
        function getNsIndex( $text ) {
-               $ns = $this->getNamespaces();
-
-               foreach ( $ns as $i => $n ) {
-                       if ( strcasecmp( $n, $text ) == 0)
-                               return $i;
+               $this->load();
+               $index = @$this->mNamespaceIds[$this->lc($text)];
+               if ( is_null( $index ) ) {
+                       return false;
+               } else {
+                       return $index;
                }
-               return false;
        }
 
        /**
@@ -431,77 +252,117 @@ class Language {
        }
 
        function getQuickbarSettings() {
-               global $wgQuickbarSettingsEn;
-               return $wgQuickbarSettingsEn;
+               $this->load();
+               return $this->quickbarSettings;
        }
 
        function getSkinNames() {
-               global $wgSkinNamesEn;
-               return $wgSkinNamesEn;
+               $this->load();
+               return $this->skinNames;
        }
 
        function getMathNames() {
-               global $wgMathNamesEn;
-               return $wgMathNamesEn;
+               $this->load();
+               return $this->mathNames;
        }
 
+       function getDatePreferences() {
+               $this->load();
+               return $this->datePreferences;
+       }
+       
        function getDateFormats() {
-               global $wgDateFormatsEn;
-               return $wgDateFormatsEn;
+               $this->load();
+               return $this->dateFormats;
        }
 
-       function getUserToggles() {
-               global $wgUserTogglesEn;
-               return $wgUserTogglesEn;
+       function getDatePreferenceMigrationMap() {
+               $this->load();
+               return $this->datePreferenceMigrationMap;
+       }
+
+       function getDefaultUserOptionOverrides() {
+               $this->load();
+               return $this->defaultUserOptionOverrides;
+       }
+
+       function getExtraUserToggles() {
+               $this->load();
+               return $this->extraUserToggles;
        }
 
        function getUserToggle( $tog ) {
                return wfMsg( "tog-$tog" );
        }
 
-       function getLanguageNames() {
-               global $wgLanguageNamesEn;
-               return $wgLanguageNamesEn;
+       /**
+        * Get language names, indexed by code.
+        * If $customisedOnly is true, only returns codes with a messages file
+        */
+       function getLanguageNames( $customisedOnly = false ) {
+               global $wgLanguageNames;
+               if ( !$customisedOnly ) {
+                       return $wgLanguageNames;
+               }
+               
+               global $IP;
+               $messageFiles = glob( "$IP/languages/Messages*.php" );
+               $names = array();
+               foreach ( $messageFiles as $file ) {
+                       if( preg_match( '/Messages([A-Z][a-z_]+)\.php$/', $file, $m ) ) {
+                               $code = str_replace( '_', '-', strtolower( $m[1] ) );
+                               if ( isset( $wgLanguageNames[$code] ) ) {
+                                       $names[$code] = $wgLanguageNames[$code];
+                               }
+                       }
+               }
+               return $names;
+       }
+
+       /**
+        * Ugly hack to get a message maybe from the MediaWiki namespace, if this 
+        * language object is the content or user language. 
+        */
+       function getMessageFromDB( $msg ) {
+               global $wgContLang, $wgLang;
+               if ( $wgContLang->getCode() == $this->getCode() ) {
+                       # Content language
+                       return wfMsgForContent( $msg );
+               } elseif ( $wgLang->getCode() == $this->getCode() ) {
+                       # User language
+                       return wfMsg( $msg );
+               } else {
+                       # Neither, get from localisation
+                       return $this->getMessage( $msg );
+               }
        }
 
        function getLanguageName( $code ) {
-               global $wgLanguageNamesEn;
-               if ( ! array_key_exists( $code, $wgLanguageNamesEn ) ) {
+               global $wgLanguageNames;
+               if ( ! array_key_exists( $code, $wgLanguageNames ) ) {
                        return '';
                }
-               return $wgLanguageNamesEn[$code];
+               return $wgLanguageNames[$code];
        }
 
        function getMonthName( $key ) {
-               global $wgMonthNamesEn, $wgContLang;
-               // see who called us and use the correct message function
-               if( get_class( $wgContLang->getLangObj() ) == get_class( $this ) )
-                       return wfMsgForContent($wgMonthNamesEn[$key-1]);
-               else
-                       return wfMsg($wgMonthNamesEn[$key-1]);
+               return $this->getMessageFromDB( self::$mMonthMsgs[$key-1] );
        }
 
-       /* by default we just return base form */
        function getMonthNameGen( $key ) {
-               return $this->getMonthName( $key );
+               return $this->getMessageFromDB( self::$mMonthGenMsgs[$key-1] );
        }
 
        function getMonthAbbreviation( $key ) {
-               global $wgMonthAbbreviationsEn, $wgContLang;
-               // see who called us and use the correct message function
-               if( get_class( $wgContLang->getLangObj() ) == get_class( $this ) )
-                       return wfMsgForContent(@$wgMonthAbbreviationsEn[$key-1]);
-               else
-                       return wfMsg(@$wgMonthAbbreviationsEn[$key-1]);
+               return $this->getMessageFromDB( self::$mMonthAbbrevMsgs[$key-1] );
        }
 
        function getWeekdayName( $key ) {
-               global $wgWeekdayNamesEn, $wgContLang;
-               // see who called us and use the correct message function
-               if( get_class( $wgContLang->getLangObj() ) == get_class( $this ) )
-                       return wfMsgForContent($wgWeekdayNamesEn[$key-1]);
-               else
-                       return wfMsg($wgWeekdayNamesEn[$key-1]);
+               return $this->getMessageFromDB( self::$mWeekdayMsgs[$key-1] );
+       }
+
+       function getWeekdayAbbreviation( $key ) {
+               return $this->getMessageFromDB( self::$mWeekdayAbbrevMsgs[$key-1] );
        }
 
        /**
@@ -511,7 +372,6 @@ class Language {
         * @param mixed $tz adjust the time by this amount (default false,
         *                  mean we get user timecorrection setting)
         * @return int
-
         */
        function userAdjust( $ts, $tz = false ) {
                global $wgUser, $wgLocalTZoffset;
@@ -552,6 +412,172 @@ class Language {
                return date( 'YmdHis', $t );
        }
 
+       /**
+        * This is a workalike of PHP's date() function, but with better
+        * internationalisation, a reduced set of format characters, and a better 
+        * escaping format.
+        *
+        * Supported format characters are dDjlFmMnYyHis. See the PHP manual for 
+        * definitions. There are a number of extensions, which start with "x":
+        *
+        *    xn   Do not translate digits of the next numeric format character
+        *    xr   Use roman numerals for the next numeric format character
+        *    xx   Literal x
+        *    xg   Genitive month name
+        *
+        * Characters enclosed in double quotes will be considered literal (with
+        * the quotes themselves removed). Unmatched quotes will be considered
+        * literal quotes. Example:
+        *
+        * "The month is" F       => The month is January
+        * i's"                   => 20'11"
+        *
+        * Backslash escaping is also supported.
+        * 
+        * @param string $format
+        * @param string $ts 14-character timestamp
+        *      YYYYMMDDHHMMSS
+        *      01234567890123
+        */
+       function sprintfDate( $format, $ts ) {
+               $s = '';
+               $raw = false;
+               $roman = false;
+               for ( $p = 0; $p < strlen( $format ); $p++ ) {
+                       $num = false;
+                       $code = $format[$p];
+                       if ( $code == 'x' && $p < strlen( $format ) - 1 ) {
+                               $code .= $format[++$p];
+                       }
+                       
+                       switch ( $code ) {
+                               case 'xx':
+                                       $s .= 'x';
+                                       break;
+                               case 'xn':
+                                       $raw = true;
+                                       break;
+                               case 'xr':
+                                       $roman = true;
+                                       break;
+                               case 'xg':
+                                       $s .= $this->getMonthNameGen( substr( $ts, 4, 2 ) );
+                                       break;
+                               case 'd':
+                                       $num = substr( $ts, 6, 2 );
+                                       break;
+                               case 'D':
+                                       $s .= $this->getWeekdayAbbreviation( self::calculateWeekday( $ts ) );
+                                       break;
+                               case 'j':
+                                       $num = intval( substr( $ts, 6, 2 ) );
+                                       break;
+                               case 'l':
+                                       $s .= $this->getWeekdayName( self::calculateWeekday( $ts ) );
+                                       break;
+                               case 'F':
+                                       $s .= $this->getMonthName( substr( $ts, 4, 2 ) );
+                                       break;
+                               case 'm':
+                                       $num = substr( $ts, 4, 2 );
+                                       break;
+                               case 'M':
+                                       $s .= $this->getMonthAbbreviation( substr( $ts, 4, 2 ) );
+                                       break;
+                               case 'n':
+                                       $num = intval( substr( $ts, 4, 2 ) );
+                                       break;
+                               case 'Y':
+                                       $num = substr( $ts, 0, 4 );
+                                       break;
+                               case 'y':
+                                       $num = substr( $ts, 2, 2 );
+                                       break;
+                               case 'H':
+                                       $num = substr( $ts, 8, 2 );
+                                       break;
+                               case 'G':
+                                       $num = intval( substr( $ts, 8, 2 ) );
+                                       break;
+                               case 'i':
+                                       $num = substr( $ts, 10, 2 );
+                                       break;
+                               case 's':
+                                       $num = substr( $ts, 12, 2 );
+                                       break;
+                               case '\\':
+                                       # Backslash escaping
+                                       if ( $p < strlen( $format ) - 1 ) {
+                                               $s .= $format[++$p];
+                                       } else {
+                                               $s .= '\\';
+                                       }
+                                       break;
+                               case '"':
+                                       # Quoted literal
+                                       if ( $p < strlen( $format ) - 1 ) {
+                                               $endQuote = strpos( $format, '"', $p + 1 );
+                                               if ( $endQuote === false ) {
+                                                       # No terminating quote, assume literal "
+                                                       $s .= '"';
+                                               } else {
+                                                       $s .= substr( $format, $p + 1, $endQuote - $p - 1 );
+                                                       $p = $endQuote;
+                                               }
+                                       } else {
+                                               # Quote at end of string, assume literal "
+                                               $s .= '"';
+                                       }
+                                       break;
+                               default:
+                                       $s .= $format[$p];
+                       }
+                       if ( $num !== false ) {
+                               if ( $raw ) {
+                                       $s .= $num;
+                                       $raw = false;
+                               } elseif ( $roman ) {
+                                       $s .= Language::romanNumeral( $num );
+                                       $roman = false;
+                               } else {
+                                       $s .= $this->formatNum( $num, true );
+                               }
+                               $num = false;
+                       }
+               }
+               return $s;
+       }
+
+       /**
+        * Roman number formatting up to 100
+        */
+       static function romanNumeral( $num ) {
+               static $units = array( 0, 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X' );
+               static $decades = array( 0, 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC', 'C' );
+               $num = intval( $num );
+               if ( $num > 100 || $num <= 0 ) {
+                       return $num;
+               }
+               $s = '';
+               if ( $num >= 10 ) {
+                       $s .= $decades[floor( $num / 10 )];
+                       $num = $num % 10;
+               }
+               if ( $num >= 1 ) {
+                       $s .= $units[$num];
+               }
+               return $s;
+       }
+
+       /**
+        * Calculate the day of the week for a 14-character timestamp
+        * 0 for Sunday through to 6 for Saturday
+        * This takes about 100us on a slow computer
+        */
+       static function calculateWeekday( $ts ) {
+               return date( 'w', wfTimestamp( TS_UNIX, $ts ) );
+       }
+
        /**
         * This is meant to be used by time(), date(), and timeanddate() to get
         * the date preference they're supposed to use, it should be used in
@@ -561,6 +587,7 @@ class Language {
         * function timeanddate([...], $format = true) {
         *      $datePreference = $this->dateFormat($format);
         * [...]
+        * }
         *</code>
         *
         * @param mixed $usePrefs: if true, the user's preference is used
@@ -573,9 +600,9 @@ class Language {
 
                if( is_bool( $usePrefs ) ) {
                        if( $usePrefs ) {
-                               $datePreference = $wgUser->getOption( 'date' );
+                               $datePreference = $wgUser->getDatePreference();
                        } else {
-                               $options = $this->getDefaultUserOptions();
+                               $options = User::getDefaultOptions();
                                $datePreference = (string)$options['date'];
                        }
                } else {
@@ -584,7 +611,7 @@ class Language {
 
                // return int
                if( $datePreference == '' ) {
-                       return MW_DATE_DEFAULT;
+                       return 'default';
                }
                
                return $datePreference;
@@ -602,25 +629,16 @@ class Language {
         * @return string
         */
        function date( $ts, $adj = false, $format = true, $timecorrection = false ) {
-               global $wgUser, $wgAmericanDates;
-
-               if ( $adj ) { $ts = $this->userAdjust( $ts, $timecorrection ); }
-
-               $datePreference = $this->dateFormat( $format );
-               if( $datePreference == MW_DATE_DEFAULT ) {
-                       $datePreference = $wgAmericanDates ? MW_DATE_MDY : MW_DATE_DMY;
+               $this->load();
+               if ( $adj ) { 
+                       $ts = $this->userAdjust( $ts, $timecorrection ); 
                }
 
-               $month = $this->formatMonth( substr( $ts, 4, 2 ), $datePreference );
-               $day = $this->formatDay( substr( $ts, 6, 2 ), $datePreference );
-               $year = $this->formatNum( substr( $ts, 0, 4 ), true );
-
-               switch( $datePreference ) {
-                       case MW_DATE_DMY: return "$day $month $year";
-                       case MW_DATE_YMD: return "$year $month $day";
-                       case MW_DATE_ISO: return substr($ts, 0, 4). '-' . substr($ts, 4, 2). '-' .substr($ts, 6, 2);
-                       default: return "$month $day, $year";
+               $pref = $this->dateFormat( $format );
+               if( $pref == 'default' || !isset( $this->dateFormats["$pref date"] ) ) {
+                       $pref = $this->defaultDateFormat;
                }
+               return $this->sprintfDate( $this->dateFormats["$pref date"], $ts );
        }
 
        /**
@@ -635,61 +653,16 @@ class Language {
        * @return string
        */
        function time( $ts, $adj = false, $format = true, $timecorrection = false ) {
-               global $wgUser;
-
-               if ( $adj ) { $ts = $this->userAdjust( $ts, $timecorrection ); }
-               $datePreference = $this->dateFormat( $format );
-
-               $sep = $this->timeSeparator( $format );
-
-               $hh = substr( $ts, 8, 2 );
-               $mm = substr( $ts, 10, 2 );
-               $ss = substr( $ts, 12, 2 );
-
-               if ( $datePreference != MW_DATE_ISO ) {
-                       $hh = $this->formatNum( $hh, true );
-                       $mm = $this->formatNum( $mm, true );
-                       //$ss = $this->formatNum( $ss, true );
-                       return $hh . $sep . $mm;
-               } else {
-                       return $hh . ':' . $mm . ':' . $ss;
+               $this->load();
+               if ( $adj ) { 
+                       $ts = $this->userAdjust( $ts, $timecorrection ); 
                }
-       }
-
-       /**
-        * Default separator character between hours, minutes, and seconds.
-        * Will be used by Language::time() for non-ISO formats.
-        * (ISO will always use a colon.)
-        * @return string
-        */
-       function timeSeparator( $format ) {
-               return ':';
-       }
-
-       /**
-        * String to insert between the time and the date in a combined
-        * string. Should include any relevant whitespace.
-        * @return string
-        */
-       function timeDateSeparator( $format ) {
-               return ', ';
-       }
-
-       /**
-        * Return true if the time should display before the date.
-        * @return bool
-        * @private
-        */
-       function timeBeforeDate() {
-               return true;
-       }
-
-       function formatMonth( $month, $format ) {
-               return $this->getMonthName( $month );
-       }
 
-       function formatDay( $day, $format ) {
-               return $this->formatNum( 0 + $day, true );
+               $pref = $this->dateFormat( $format );
+               if( $pref == 'default' || !isset( $this->dateFormats["$pref time"] ) ) {
+                       $pref = $this->defaultDateFormat;
+               }
+               return $this->sprintfDate( $this->dateFormats["$pref time"], $ts );
        }
 
        /**
@@ -706,30 +679,27 @@ class Language {
        * @return string
        */
        function timeanddate( $ts, $adj = false, $format = true, $timecorrection = false) {
-               global $wgUser;
+               $this->load();
+               if ( $adj ) { 
+                       $ts = $this->userAdjust( $ts, $timecorrection ); 
+               }
 
-               $datePreference = $this->dateFormat($format);
-               switch ( $datePreference ) {
-                       case MW_DATE_ISO: return $this->date( $ts, $adj, $format, $timecorrection ) . ' ' .
-                               $this->time( $ts, $adj, $format, $timecorrection );
-                       default:
-                               $time = $this->time( $ts, $adj, $format, $timecorrection );
-                               $sep = $this->timeDateSeparator( $datePreference );
-                               $date = $this->date( $ts, $adj, $format, $timecorrection );
-                               return $this->timeBeforeDate( $datePreference )
-                                       ? $time . $sep . $date
-                                       : $date . $sep . $time;
+               $pref = $this->dateFormat( $format );
+               if( $pref == 'default' || !isset( $this->dateFormats["$pref both"] ) ) {
+                       $pref = $this->defaultDateFormat;
                }
+
+               return $this->sprintfDate( $this->dateFormats["$pref both"], $ts );
        }
 
        function getMessage( $key ) {
-               global $wgAllMessagesEn;
-               return @$wgAllMessagesEn[$key];
+               $this->load();
+               return @$this->messages[$key];
        }
 
        function getAllMessages() {
-               global $wgAllMessagesEn;
-               return $wgAllMessagesEn;
+               $this->load();
+               return $this->messages;
        }
 
        function iconv( $in, $out, $string ) {
@@ -737,43 +707,82 @@ class Language {
                return iconv( $in, $out, $string );
        }
 
-       function ucfirst( $string ) {
-               # For most languages, this is a wrapper for ucfirst()
-               return ucfirst( $string );
-       }
-
-       function uc( $str ) {
-               return strtoupper( $str );
+       function ucfirst( $str ) {
+               return self::uc( $str, true );
        }
 
-       function lcfirst( $s ) {
-               return strtolower( $s{0} ). substr( $s, 1 );
+       function uc( $str, $first = false ) {
+               if ( function_exists( 'mb_strtoupper' ) )
+                       if ( $first )
+                               if ( self::isMultibyte( $str ) )
+                                       return mb_strtoupper( mb_substr( $str, 0, 1 ) ) . mb_substr( $str, 1 );
+                               else
+                                       return ucfirst( $str );
+                       else
+                               return self::isMultibyte( $str ) ? mb_strtoupper( $str ) : strtoupper( $str );
+               else
+                       if ( self::isMultibyte( $str ) ) {
+                               list( $wikiUpperChars ) = $this->getCaseMaps();
+                               $x = $first ? '^' : '';
+                               return preg_replace(
+                                       "/$x([a-z]|[\\xc0-\\xff][\\x80-\\xbf]*)/e",
+                                       "strtr( \"\$1\" , \$wikiUpperChars )",
+                                       $str
+                               );
+                       } else
+                               return $first ? ucfirst( $str ) : strtoupper( $str );
+       }
+       
+       function lcfirst( $str ) {
+               return self::lc( $str, true );
+       }
+
+       function lc( $str, $first = false ) {
+               if ( function_exists( 'mb_strtolower' ) )
+                       if ( $first )
+                               if ( self::isMultibyte( $str ) )
+                                       return mb_strtolower( mb_substr( $str, 0, 1 ) ) . mb_substr( $str, 1 );
+                               else
+                                       return strtolower( substr( $str, 0, 1 ) ) . substr( $str, 1 );
+                       else
+                               return self::isMultibyte( $str ) ? mb_strtolower( $str ) : strtolower( $str );
+               else
+                       if ( self::isMultibyte( $str ) ) {
+                               list( , $wikiLowerChars ) = self::getCaseMaps();
+                               $x = $first ? '^' : '';
+                               return preg_replace(
+                                       "/$x([A-Z]|[\\xc0-\\xff][\\x80-\\xbf]*)/e",
+                                       "strtr( \"\$1\" , \$wikiLowerChars )",
+                                       $str
+                               );
+                       } else
+                               return $first ? strtolower( substr( $str, 0, 1 ) ) . substr( $str, 1 ) : strtolower( $str );
        }
 
-       function lc( $str ) {
-               return strtolower( $str );
+       function isMultibyte( $str ) {
+               return (bool)preg_match( '/^[\x80-\xff]/', $str );
        }
 
        function checkTitleEncoding( $s ) {
-               global $wgInputEncoding;
-
-               # Check for UTF-8 URLs; Internet Explorer produces these if you
-               # type non-ASCII chars in the URL bar or follow unescaped links.
+               if( is_array( $s ) ) {
+                       wfDebugDieBacktrace( 'Given array to checkTitleEncoding.' );
+               }
+               # Check for non-UTF-8 URLs
                $ishigh = preg_match( '/[\x80-\xff]/', $s);
-               $isutf = ($ishigh ? preg_match( '/^([\x00-\x7f]|[\xc0-\xdf][\x80-\xbf]|' .
-                        '[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xf7][\x80-\xbf]{3})+$/', $s ) : true );
+               if(!$ishigh) return $s;
 
-               if( ($wgInputEncoding != 'utf-8') and $ishigh and $isutf )
-                       return @iconv( 'UTF-8', $wgInputEncoding, $s );
+               $isutf8 = preg_match( '/^([\x00-\x7f]|[\xc0-\xdf][\x80-\xbf]|' .
+                '[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xf7][\x80-\xbf]{3})+$/', $s );
+               if( $isutf8 ) return $s;
 
-               if( ($wgInputEncoding == 'utf-8') and $ishigh and !$isutf )
-                       return utf8_encode( $s );
-
-               # Other languages can safely leave this function, or replace
-               # it with one to detect and convert another legacy encoding.
-               return $s;
+               return $this->iconv( $this->fallback8bitEncoding(), "utf-8", $s );
        }
 
+       function fallback8bitEncoding() {
+               $this->load();
+               return $this->fallback8bitEncoding;
+       }
+       
        /**
         * Some languages have special punctuation to strip out
         * or characters which need to be converted for MySQL's
@@ -782,8 +791,25 @@ class Language {
         * @param string $in
         * @return string
         */
-       function stripForSearch( $in ) {
-               return strtolower( $in );
+       function stripForSearch( $string ) {
+               # MySQL fulltext index doesn't grok utf-8, so we
+               # need to fold cases and convert to hex
+
+               wfProfileIn( __METHOD__ );
+               if( function_exists( 'mb_strtolower' ) ) {
+                       $out = preg_replace(
+                               "/([\\xc0-\\xff][\\x80-\\xbf]*)/e",
+                               "'U8' . bin2hex( \"$1\" )",
+                               mb_strtolower( $string ) );
+               } else {
+                       list( , $wikiLowerChars ) = self::getCaseMaps();
+                       $out = preg_replace(
+                               "/([\\xc0-\\xff][\\x80-\\xbf]*)/e",
+                               "'U8' . bin2hex( strtr( \"\$1\", \$wikiLowerChars ) )",
+                               $string );
+               }
+               wfProfileOut( __METHOD__ );
+               return $out;
        }
 
        function convertForSearchResult( $termsArray ) {
@@ -793,15 +819,16 @@ class Language {
        }
 
        /**
-        * Get the first character of a string. In ASCII, return
-        * first byte of the string. UTF8 and others have to
-        * overload this.
+        * Get the first character of a string. 
         *
         * @param string $s
         * @return string
         */
        function firstChar( $s ) {
-               return $s[0];
+               preg_match( '/^([\x00-\x7f]|[\xc0-\xdf][\x80-\xbf]|' .
+               '[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xf7][\x80-\xbf]{3})/', $s, $matches);
+
+               return isset( $matches[1] ) ? $matches[1] : "";
        }
 
        function initEncoding() {
@@ -809,15 +836,6 @@ class Language {
                # (Esperanto X-coding, Japanese furigana conversion, etc)
                # If this language is used as the primary content language,
                # an override to the defaults can be set here on startup.
-               #global $wgInputEncoding, $wgOutputEncoding, $wgEditEncoding;
-       }
-
-       function setAltEncoding() {
-               # Some languages may have an alternate char encoding option
-               # (Esperanto X-coding, Japanese furigana conversion, etc)
-               # If 'altencoding' is checked in user prefs, this gives a
-               # chance to swap out the default encoding settings.
-               #global $wgInputEncoding, $wgOutputEncoding, $wgEditEncoding;
        }
 
        function recodeForEdit( $s ) {
@@ -827,27 +845,27 @@ class Language {
                # Note that if wgOutputEncoding is different from
                # wgInputEncoding, this text will be further converted
                # to wgOutputEncoding.
-               global $wgInputEncoding, $wgEditEncoding;
+               global $wgEditEncoding;
                if( $wgEditEncoding == '' or
-                 $wgEditEncoding == $wgInputEncoding ) {
+                 $wgEditEncoding == 'UTF-8' ) {
                        return $s;
                } else {
-                       return $this->iconv( $wgInputEncoding, $wgEditEncoding, $s );
+                       return $this->iconv( 'UTF-8', $wgEditEncoding, $s );
                }
        }
 
        function recodeInput( $s ) {
                # Take the previous into account.
-               global $wgInputEncoding, $wgOutputEncoding, $wgEditEncoding;
+               global $wgEditEncoding;
                if($wgEditEncoding != "") {
                        $enc = $wgEditEncoding;
                } else {
-                       $enc = $wgOutputEncoding;
+                       $enc = 'UTF-8';
                }
-               if( $enc == $wgInputEncoding ) {
+               if( $enc == 'UTF-8' ) {
                        return $s;
                } else {
-                       return $this->iconv( $enc, $wgInputEncoding, $s );
+                       return $this->iconv( $enc, 'UTF-8', $s );
                }
        }
 
@@ -856,7 +874,10 @@ class Language {
         *
         * @return bool
         */
-       function isRTL() { return false; }
+       function isRTL() { 
+               $this->load();
+               return $this->rtl;
+       }
 
        /**
         * A hidden direction mark (LRM or RLM), depending on the language direction
@@ -870,11 +891,14 @@ class Language {
         *
         * @return bool
         */
-       function linkPrefixExtension() { return false; }
+       function linkPrefixExtension() { 
+               $this->load();
+               return $this->linkPrefixExtension; 
+       }
 
        function &getMagicWords() {
-               global $wgMagicWordsEn;
-               return $wgMagicWordsEn;
+               $this->load();
+               return $this->magicWords;
        }
 
        # Fill a MagicWord object with data from here
@@ -963,11 +987,13 @@ class Language {
        }
 
        function digitTransformTable() {
-               return null;
+               $this->load();
+               return $this->digitTransformTable;
        }
 
        function separatorTransformTable() {
-               return null;
+               $this->load();
+               return $this->separatorTransformTable;
        }
 
 
@@ -999,7 +1025,7 @@ class Language {
        #
        # $length does not include the optional ellipsis.
        # If $length is negative, snip from the beginning
-       function truncate( $string, $length, $ellipsis = '' ) {
+       function truncate( $string, $length, $ellipsis = "" ) {
                if( $length == 0 ) {
                        return $ellipsis;
                }
@@ -1008,9 +1034,24 @@ class Language {
                }
                if( $length > 0 ) {
                        $string = substr( $string, 0, $length );
+                       $char = ord( $string[strlen( $string ) - 1] );
+                       if ($char >= 0xc0) {
+                               # We got the first byte only of a multibyte char; remove it.
+                               $string = substr( $string, 0, -1 );
+                       } elseif( $char >= 0x80 &&
+                                 preg_match( '/^(.*)(?:[\xe0-\xef][\x80-\xbf]|' .
+                                             '[\xf0-\xf7][\x80-\xbf]{1,2})$/', $string, $m ) ) {
+                           # We chopped in the middle of a character; remove it
+                               $string = $m[1];
+                       }
                        return $string . $ellipsis;
                } else {
                        $string = substr( $string, $length );
+                       $char = ord( $string[0] );
+                       if( $char >= 0x80 && $char < 0xc0 ) {
+                               # We chopped in the middle of a character; remove the whole thing
+                               $string = preg_replace( '/^[\x80-\xbf]+/', '', $string );
+                       }
                        return $ellipsis . $string;
                }
        }
@@ -1135,8 +1176,8 @@ class Language {
        }
 
 
-       function getPreferredVariant() {
-               return $this->mConverter->getPreferredVariant();
+       function getPreferredVariant( $fromUser = true ) {
+               return $this->mConverter->getPreferredVariant( $fromUser );
        }
 
        /**
@@ -1194,7 +1235,8 @@ class Language {
         * @public
         */
        function linkTrail() {
-               return $this->getMessage( 'linktrail' );
+               $this->load();
+               return $this->linkTrail;
        }
 
        function getLangObj() {
@@ -1205,22 +1247,276 @@ class Language {
         * Get the RFC 3066 code for this language object
         */
        function getCode() {
-               return str_replace( '_', '-', strtolower( substr( get_class( $this ), 8 ) ) );
+               return $this->mCode;
        }
 
+       function setCode( $code ) {
+               $this->mCode = $code;
+       }
 
-}
+       static function getFileName( $prefix = 'Language', $code, $suffix = '.php' ) {
+               return $prefix . str_replace( '-', '_', ucfirst( $code ) ) . $suffix;
+       }
+
+       static function getLocalisationArray( $code, $disableCache = false ) {
+               self::loadLocalisation( $code, $disableCache );
+               return self::$mLocalisationCache[$code];
+       }
+
+       /**
+        * Load localisation data for a given code into the static cache
+        *
+        * @return array Dependencies, map of filenames to mtimes
+        */
+       static function loadLocalisation( $code, $disableCache = false ) {
+               static $recursionGuard = array();
+               global $wgMemc, $wgDBname, $IP;
+
+               if ( !$code ) {
+                       throw new MWException( "Invalid language code requested" );
+               }
+
+               if ( !$disableCache ) {
+                       # Try the per-process cache
+                       if ( isset( self::$mLocalisationCache[$code] ) ) {
+                               return self::$mLocalisationCache[$code]['deps'];
+                       }
 
-# FIXME: Merge all UTF-8 support code into Language base class.
-# We no longer support Latin-1 charset.
-require_once( 'LanguageUtf8.php' );
+                       wfProfileIn( __METHOD__ );
 
-# This should fail gracefully if there's not a localization available
-wfSuppressWarnings();
-// Preload base classes to work around APC/PHP5 bug
-include_once( 'Language' . str_replace( '-', '_', ucfirst( $wgLanguageCode ) ) . '.deps.php' );
-include_once( 'Language' . str_replace( '-', '_', ucfirst( $wgLanguageCode ) ) . '.php' );
-wfRestoreWarnings();
+                       # Try the serialized directory
+                       $cache = wfGetPrecompiledData( self::getFileName( "Messages", $code, '.ser' ) );
+                       if ( $cache ) {
+                               self::$mLocalisationCache[$code] = $cache;
+                               wfDebug( "Got localisation for $code from precompiled data file\n" );
+                               wfProfileOut( __METHOD__ );
+                               return self::$mLocalisationCache[$code]['deps'];
+                       }
+
+                       # Try the global cache
+                       $memcKey = "$wgDBname:localisation:$code";
+                       $cache = $wgMemc->get( $memcKey );
+                       if ( $cache ) {
+                               $expired = false;
+                               # Check file modification times
+                               foreach ( $cache['deps'] as $file => $mtime ) {
+                                       if ( filemtime( $file ) > $mtime ) {
+                                               $expired = true;
+                                               break;
+                                       }
+                               }
+                               if ( self::isLocalisationOutOfDate( $cache ) ) {
+                                       $wgMemc->delete( $memcKey );
+                                       $cache = false;
+                                       wfDebug( "Localisation cache for $code had expired due to update of $file\n" );
+                               } else {
+                                       self::$mLocalisationCache[$code] = $cache;
+                                       wfDebug( "Got localisation for $code from cache\n" );
+                                       wfProfileOut( __METHOD__ );
+                                       return $cache['deps'];
+                               }
+                       }
+               } else {
+                       wfProfileIn( __METHOD__ );
+               }
 
+               if ( $code != 'en' ) {
+                       $fallback = 'en';
+               } else {
+                       $fallback = false;
+               }
+               
+               # Load the primary localisation from the source file
+               global $IP;
+               $filename = self::getFileName( "$IP/languages/Messages", $code, '.php' );
+               if ( !file_exists( $filename ) ) {
+                       wfDebug( "No localisation file for $code, using implicit fallback to en\n" );
+                       $cache = array();
+                       $deps = array();
+               } else {
+                       $deps = array( $filename => filemtime( $filename ) );
+                       require( $filename );
+                       $cache = compact( self::$mLocalisationKeys );   
+                       wfDebug( "Got localisation for $code from source\n" );
+               }
+               
+               if ( !empty( $fallback ) ) {
+                       # Load the fallback localisation, with a circular reference guard
+                       if ( isset( $recursionGuard[$code] ) ) {
+                               throw new MWException( "Error: Circular fallback reference in language code $code" );
+                       }
+                       $recursionGuard[$code] = true;
+                       $newDeps = self::loadLocalisation( $fallback );
+                       unset( $recursionGuard[$code] );
+
+                       $secondary = self::$mLocalisationCache[$fallback];
+                       $deps = array_merge( $deps, $newDeps );
+
+                       # Merge the fallback localisation with the current localisation
+                       foreach ( self::$mLocalisationKeys as $key ) {
+                               if ( isset( $cache[$key] ) ) {
+                                       if ( isset( $secondary[$key] ) ) {
+                                               if ( in_array( $key, self::$mMergeableMapKeys ) ) {
+                                                       $cache[$key] = $cache[$key] + $secondary[$key];
+                                               } elseif ( in_array( $key, self::$mMergeableListKeys ) ) {
+                                                       $cache[$key] = array_merge( $secondary[$key], $cache[$key] );
+                                               }
+                                       }
+                               } else {
+                                       $cache[$key] = $secondary[$key];
+                               }
+                       }
+
+                       # Merge bookstore lists if requested
+                       if ( !empty( $cache['bookstoreList']['inherit'] ) ) {
+                               $cache['bookstoreList'] = array_merge( $cache['bookstoreList'], $secondary['bookstoreList'] );
+                       }
+                       if ( isset( $cache['bookstoreList']['inherit'] ) ) {
+                               unset( $cache['bookstoreList']['inherit'] );
+                       }
+               }
+               
+               # Add dependencies to the cache entry
+               $cache['deps'] = $deps;
+
+               # Save to both caches
+               self::$mLocalisationCache[$code] = $cache;
+               if ( !$disableCache ) {
+                       $wgMemc->set( $memcKey, $cache );
+               }
+
+               wfProfileOut( __METHOD__ );
+               return $deps;
+       }
+
+       /**
+        * Test if a given localisation cache is out of date with respect to the 
+        * source Messages files. This is done automatically for the global cache
+        * in $wgMemc, but is only done on certain occasions for the serialized 
+        * data file.
+        *
+        * @param $cache mixed Either a language code or a cache array
+        */
+       static function isLocalisationOutOfDate( $cache ) {
+               if ( !is_array( $cache ) ) {
+                       self::loadLocalisation( $cache );
+                       $cache = self::$mLocalisationCache[$cache];
+               }
+               $expired = false;
+               foreach ( $cache['deps'] as $file => $mtime ) {
+                       if ( filemtime( $file ) > $mtime ) {
+                               $expired = true;
+                               break;
+                       }
+               }
+               return $expired;
+       }
+       
+       /**
+        * Get the fallback for a given language
+        */
+       static function getFallbackFor( $code ) {
+               self::loadLocalisation( $code );
+               return self::$mLocalisationCache[$code]['fallback'];
+       }
+
+       /** 
+        * Get all messages for a given language
+        */
+       static function getMessagesFor( $code ) {
+               self::loadLocalisation( $code );
+               return self::$mLocalisationCache[$code]['messages'];
+       }
+
+       /**
+        * Load localisation data for this object
+        */
+       function load() {
+               if ( !$this->mLoaded ) {
+                       self::loadLocalisation( $this->getCode() );
+                       $cache =& self::$mLocalisationCache[$this->getCode()];
+                       foreach ( self::$mLocalisationKeys as $key ) {
+                               $this->$key = $cache[$key];
+                       }
+                       $this->mLoaded = true;
+
+                       $this->fixUpSettings();
+               }
+       }
+
+       /**
+        * Do any necessary post-cache-load settings adjustment
+        */
+       function fixUpSettings() {
+               global $wgExtraNamespaces, $wgMetaNamespace, $wgMetaNamespaceTalk, $wgMessageCache, 
+                       $wgNamespaceAliases, $wgAmericanDates;
+               wfProfileIn( __METHOD__ );
+               if ( $wgExtraNamespaces ) {
+                       $this->namespaceNames = $wgExtraNamespaces + $this->namespaceNames;
+               }
+
+               $this->namespaceNames[NS_PROJECT] = $wgMetaNamespace;
+               if ( $wgMetaNamespaceTalk ) {
+                       $this->namespaceNames[NS_PROJECT_TALK] = $wgMetaNamespaceTalk;
+               } else {
+                       $talk = $this->namespaceNames[NS_PROJECT_TALK];
+                       $talk = str_replace( '$1', $wgMetaNamespace, $talk );
+
+                       # Allow grammar transformations
+                       # Allowing full message-style parsing would make simple requests 
+                       # such as action=raw much more expensive than they need to be. 
+                       # This will hopefully cover most cases.
+                       if ( preg_match( '/{{grammar:(.*?)\|(.*?)}}/i', $talk, $m ) ) {
+                               $talk = str_replace( ' ', '_', 
+                                       $this->convertGrammar( trim( $m[2] ), trim( $m[1] ) )
+                               );
+                       }
+               }
+
+               # Put namespace names and aliases into a hashtable.
+               # If this is too slow, then we should arrange it so that it is done 
+               # before caching. The catch is that at pre-cache time, the above
+               # class-specific fixup hasn't been done.
+               $this->mNamespaceIds = array();
+               foreach ( $this->namespaceNames as $index => $name ) {
+                       $this->mNamespaceIds[$this->lc($name)] = $index;
+               }
+               if ( $this->namespaceAliases ) {
+                       foreach ( $this->namespaceAliases as $name => $index ) {
+                               $this->mNamespaceIds[$this->lc($name)] = $index;
+                       }
+               }
+               if ( $wgNamespaceAliases ) {
+                       foreach ( $wgNamespaceAliases as $name => $index ) {
+                               $this->mNamespaceIds[$this->lc($name)] = $index;
+                       }
+               }
+
+               if ( $this->defaultDateFormat == 'dmy or mdy' ) {
+                       $this->defaultDateFormat = $wgAmericanDates ? 'mdy' : 'dmy';
+               }
+               wfProfileOut( __METHOD__ );
+       }
+
+       static function getCaseMaps() {
+               static $wikiUpperChars, $wikiLowerChars;
+               global $IP;
+               if ( isset( $wikiUpperChars ) ) {
+                       return array( $wikiUpperChars, $wikiLowerChars );
+               }
+
+               wfProfileIn( __METHOD__ );
+               $arr = wfGetPrecompiledData( 'Utf8Case.ser' );
+               if ( $arr === false ) {
+                       throw new MWException( 
+                               "Utf8Case.ser is missing, please run \"make\" in the serialized directory\n" );
+               }
+               extract( $arr );
+               wfProfileOut( __METHOD__ );
+               return array( $wikiUpperChars, $wikiLowerChars );
+       }
 }
+
+/** @deprecated */
+class LanguageUtf8 extends Language {}
 ?>
diff --git a/languages/LanguageAb.deps.php b/languages/LanguageAb.deps.php
deleted file mode 100644 (file)
index d9a31cd..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageAb.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
-
-require_once( "LanguageRu.php" );
-?>
\ No newline at end of file
diff --git a/languages/LanguageAb.php b/languages/LanguageAb.php
deleted file mode 100644 (file)
index d1d31b7..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-/** Abkhaz (Аҧсуа)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  *
-  * @bug 3844
-  *
-  * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
-  * @author Ashar Voultoiz <hashar@altern.org>
-  *
-  * @copyright Copyright © 2005, Ævar Arnfjörð Bjarmason, Ashar Voultoiz
-  * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
-  */
-
-require_once 'LanguageRu.php';
-
-class LanguageAb extends LanguageRu {
-
-       function getFallbackLanguage() {
-               return 'ru';
-       }
-
-       function getAllMessages() {
-               return null;
-       }
-
-}
-
-?>
diff --git a/languages/LanguageAf.php b/languages/LanguageAf.php
deleted file mode 100644 (file)
index db04fae..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-<?php
-/** Afrikaans (Afrikaans)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesAf.php');
-}
-
-class LanguageAf extends LanguageUtf8 {
-       private $mMessagesAf, $mNamespaceNamesAf = null;
-
-       private $mQuickbarSettingsAf = array(
-               "Geen.", "Links vas.", "Regs vas.", "Dryf links."
-       );
-       
-       private $mSkinNamesAf = array(
-               'standard' => "Standaard",
-               'nostalgia' => "Nostalgie",
-               'cologneblue' => "Keulen blou",
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesAf;
-               $this->mMessagesAf =& $wgAllMessagesAf;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesAf = array(
-                       NS_MEDIA          => "Media",
-                       NS_SPECIAL        => "Spesiaal",
-                       NS_MAIN           => "",
-                       NS_TALK           => "Bespreking",
-                       NS_USER           => "Gebruiker",
-                       NS_USER_TALK      => "Gebruikerbespreking",
-                       NS_PROJECT        => $wgMetaNamespace,
-                       NS_PROJECT_TALK   => $wgMetaNamespace."bespreking",
-                       NS_IMAGE          => "Beeld",
-                       NS_IMAGE_TALK     => "Beeldbespreking",
-                       NS_MEDIAWIKI      => "MediaWiki",
-                       NS_MEDIAWIKI_TALK => "MediaWikibespreking",
-                       NS_TEMPLATE       => 'Sjabloon',
-                       NS_TEMPLATE_TALK  => 'Sjabloonbespreking',
-                       NS_HELP           => 'Hulp',
-                       NS_HELP_TALK      => 'Hulpbespreking',
-                       NS_CATEGORY       => 'Kategorie',
-                       NS_CATEGORY_TALK  => 'Kategoriebespreking'
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesAf + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsAf;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesAf + parent::getSkinNames();
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesAf[$key] ) ) {
-                       return $this->mMessagesAf[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesAf;
-       }
-
-       # South Africa uses space for thousands and comma for decimal
-       # Reference: AWS Reël 7.4 p. 52, 2002 edition
-       # glibc is wrong in this respect in some versions
-       function separatorTransformTable() {
-               return array(',' => "\xc2\xa0", '.' => ',' );
-       }
-
-}
-
-?>
diff --git a/languages/LanguageAn.php b/languages/LanguageAn.php
deleted file mode 100644 (file)
index 5ba3145..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-/** Aragonese (Aragonés)
-*
-* @package MediaWiki
-* @subpackage Language
-*/
-
-require_once( "LanguageUtf8.php" );
-
-class LanguageAn extends LanguageUtf8 {
-       private $mNamespaceNamesAn = null;
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesAn = array(
-                       NS_MEDIA          => 'Media',
-                       NS_SPECIAL        => 'Espezial',
-                       NS_MAIN           => '',
-                       NS_TALK           => 'Descusión',
-                       NS_USER           => 'Usuario',
-                       NS_USER_TALK      => 'Descusión_usuario',
-                       NS_PROJECT        => $wgMetaNamespace,
-                       NS_PROJECT_TALK   => "Descusión_{$wgMetaNamespace}",
-                       NS_IMAGE          => 'Imachen',
-                       NS_IMAGE_TALK     => 'Descusión_imachen',
-                       NS_MEDIAWIKI      => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK => 'Descusión_MediaWiki',
-                       NS_TEMPLATE       => 'Plantilla',
-                       NS_TEMPLATE_TALK  => 'Descusión_plantilla',
-                       NS_HELP           => 'Aduya',
-                       NS_HELP_TALK      => 'Descusión_aduya',
-                       NS_CATEGORY       => 'Categoría',
-                       NS_CATEGORY_TALK  => 'Descusión_categoría',
-               );
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesAn + parent::getNamespaces();
-       }
-
-       function getAllMessages() {
-               return null;
-       }
-
-}
-
-?>
diff --git a/languages/LanguageAr.php b/languages/LanguageAr.php
deleted file mode 100644 (file)
index 3339759..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-<?php
-/** Arabic (العربية)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-/** This is an UTF-8 language  */
-require_once('LanguageUtf8.php');
-
-/* private */ $wgNamespaceNamesAr = array(
-       NS_MEDIA            => 'ملف',
-       NS_SPECIAL          => 'خاص',
-       NS_MAIN             => '',
-       NS_TALK             => 'نقاش',
-       NS_USER             => 'مستخدم',
-       NS_USER_TALK        => 'نقاش_المستخدم',
-       NS_PROJECT          => $wgMetaNamespace,
-       NS_PROJECT_TALK     => 'نقاش' . '_' . $wgMetaNamespace,
-       NS_IMAGE            => 'صورة',
-       NS_IMAGE_TALK       => 'نقاش_الصورة',
-       NS_MEDIAWIKI        => 'ميدياويكي',
-       NS_MEDIAWIKI_TALK   => 'نقاش_ميدياويكي',
-       NS_TEMPLATE         => 'قالب',
-       NS_TEMPLATE_TALK    => 'نقاش_قالب',
-       NS_HELP             => 'مساعدة',
-       NS_HELP_TALK        => 'نقاش_المساعدة',
-       NS_CATEGORY         => 'تصنيف',
-       NS_CATEGORY_TALK    => 'نقاش_التصنيف'
-) + $wgNamespaceNamesEn;
-
-
-/* private */ $wgMagicWordsAr = array(
-#   ID                                 CASE  SYNONYMS
-       'redirect'               => array( 0,    '#REDIRECT'    ,   '#تحويل'                  ),
-       'notoc'                  => array( 0,    '__NOTOC__'   ,   '__لافهرس__'               ),
-       'forcetoc'               => array( 0,    '__FORCETOC__'    ,   '__لصق_فهرس__'        ),
-       'toc'                    => array( 0,    '__TOC__'     ,   '__فهرس__'                ),
-       'noeditsection'          => array( 0,    '__NOEDITSECTION__' ,   '__لاتحريرقسم__'      ),
-       'start'                  => array( 0,    '__START__'   ,   '__ابدأ__'                ),
-       'currentmonth'           => array( 1,    'CURRENTMONTH'     ,    'شهر' , 'شهر_حالي'   ),
-       'currentmonthname'       => array( 1,    'CURRENTMONTHNAME'    ,   'اسم_شهر', 'اسم_شهر_حالي'),
-#      'currentmonthnamegen'    => array( 1,    'CURRENTMONTHNAMEGEN'    ),
-#      'currentmonthabbrev'     => array( 1,    'CURRENTMONTHABBREV'     ),
-       'currentday'             => array( 1,    'CURRENTDAY'    ,          'يوم'            ),
-#      'currentday2'            => array( 1,    'CURRENTDAY2'            ),
-       'currentdayname'         => array( 1,    'CURRENTDAYNAME'   ,     'اسم_يوم'          ),
-       'currentyear'            => array( 1,    'CURRENTYEAR'    ,    'عام'                 ),
-       'currenttime'            => array( 1,    'CURRENTTIME'    ,   'وقت'                  ),
-       'numberofarticles'       => array( 1,    'NUMBEROFARTICLES'  ,'عددالمقالات' , 'عدد_المقالات'),
-       'numberoffiles'          => array( 1,    'NUMBEROFFILES'  , 'عددالملفات' , 'عدد_الملفات'),
-       'pagename'               => array( 1,    'PAGENAME'       ,       'اسم_صفحة'         ),
-       'pagenamee'              => array( 1,    'PAGENAMEE'      ,         'عنوان_صفحة'     ),
-       'namespace'              => array( 1,    'NAMESPACE'       ,      'نطاق'             ),
-       'namespacee'             => array( 1,    'NAMESPACEE'     , 'عنوان_نطاق'             ),
-       'fullpagename'           => array( 1,    'FULLPAGENAME', 'اسم_كامل'                  ),
-       'fullpagenamee'          => array( 1,    'FULLPAGENAMEE'  , 'عنوان_كامل'             ),
-       'msg'                    => array( 0,    'MSG:'         ,          'رسالة:'          ),
-       'subst'                  => array( 0,    'SUBST:'      ,     'نسخ:'  , 'نسخ_قالب:'   ),
-       'msgnw'                  => array( 0,    'MSGNW:'     ,  'مصدر:' , 'مصدر_قالب:'      ),
-       'end'                    => array( 0,    '__END__'       ,  '__نهاية__', '__إنهاء__'   ),
-       'img_thumbnail'          => array( 1,    'thumbnail', 'thumb'   ,          'تصغير'    ),
-       'img_manualthumb'        => array( 1,    'thumbnail=$1', 'thumb=$1'  ,'تصغير=$1'      ),
-       'img_right'              => array( 1,    'right'       ,       'يمين'                  ),
-       'img_left'               => array( 1,    'left'           ,    'يسار'                ),
-       'img_none'               => array( 1,    'none'         ,        'بدون'              ),
-       'img_width'              => array( 1,    '$1px'  ,    '$1بك'                         ),
-       'img_center'             => array( 1,    'center', 'centre'   ,           'وسط'      ),
-       'img_framed'             => array( 1,    'framed', 'enframed', 'frame' , 'إطار', 'اطار'),
-       'int'                    => array( 0,    'INT:'        ,        'محتوى:'              ),
-       'sitename'               => array( 1,    'SITENAME'    ,          'اسم_الموقع'        ),
-       'ns'                     => array( 0,    'NS:'            ,              'نط:'       ),
-       'localurl'               => array( 0,    'LOCALURL:'      ,       'عنوان:'           ),
-#      'localurle'              => array( 0,    'LOCALURLE:'             ),
-       'server'                 => array( 0,    'SERVER'          ,   'العنوان'             ),
-       'servername'             => array( 0,    'SERVERNAME'      ,   'اسم_عنوان'           ),
-       'scriptpath'             => array( 0,    'SCRIPTPATH'       ,      'مسار'            ),
-#      'grammar'                => array( 0,    'GRAMMAR:'               ),
-       'notitleconvert'         => array( 0,    '__NOTITLECONVERT__', '__NOTC__',  'لاتحويل_عنوان'),
-       'nocontentconvert'       => array( 0,    '__NOCONTENTCONVERT__', '__NOCC__', 'لاتحويل_محتوى' ),
-       'currentweek'            => array( 1,    'CURRENTWEEK'    ,     'أسبوع'              ),
-       'currentdow'             => array( 1,    'CURRENTDOW'      ,     'رقم_يوم'           ),
-       'revisionid'             => array( 1,    'REVISIONID'        ,     'نسخة'            ),
-#      'plural'                 => array( 0,    'PLURAL:'                ),
-       'fullurl'                => array( 0,    'FULLURL:', 'عنوان_كامل:'                   ),
-#      'fullurle'               => array( 0,    'FULLURLE:'              ),
-#      'lcfirst'                => array( 0,    'LCFIRST:'               ),
-#      'ucfirst'                => array( 0,    'UCFIRST:'               ),
-#      'lc'                     => array( 0,    'LC:'                    ),
-#      'uc'                     => array( 0,    'UC:'                    ),
-#      'raw'                    => array( 0,    'RAW:'                   ),
-);
-
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesAr.php');
-}
-
-class LanguageAr extends LanguageUtf8 {
-       function digitTransformTable() {
-               return array(
-                       '0' => '٠',
-                       '1' => '١',
-                       '2' => '٢',
-                       '3' => '٣',
-                       '4' => '٤',
-                       '5' => '٥',
-                       '6' => '٦',
-                       '7' => '٧',
-                       '8' => '٨',
-                       '9' => '٩',
-                       '.' => '٫', // wrong table?
-                       ',' => '٬'
-               );
-       }
-
-       function getNamespaces() {
-               global $wgNamespaceNamesAr;
-               return $wgNamespaceNamesAr;
-       }
-
-       function getMonthAbbreviation( $key ) {
-               /* No abbreviations in Arabic */
-               return $this->getMonthName( $key );
-       }
-
-       function isRTL() {
-               return true;
-       }
-
-       function linkPrefixExtension() {
-               return true;
-       }
-
-       function getDefaultUserOptions() {
-               $opt = parent::getDefaultUserOptions();
-
-               # Swap sidebar to right side by default
-               $opt['quickbar'] = 2;
-
-               # Underlines seriously harm legibility. Force off:
-               $opt['underline'] = 0;
-               return $opt ;
-       }
-
-       function fallback8bitEncoding() {
-               return 'windows-1256';
-       }
-
-       function &getMagicWords()  {
-               global $wgMagicWordsAr;
-               return $wgMagicWordsAr;
-       }
-
-       function getMessage( $key ) {
-               global $wgAllMessagesAr;
-               if( isset( $wgAllMessagesAr[$key] ) ) {
-                       return $wgAllMessagesAr[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-}
-?>
diff --git a/languages/LanguageArc.php b/languages/LanguageArc.php
deleted file mode 100644 (file)
index 2446e34..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-/** Aramaic ( ܕܥܒܪܸܝܛ )
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-require_once( 'LanguageUtf8.php' );
-
-class LanguageArc extends LanguageUtf8 {
-
-       function getAllMessages() {
-               return null;
-       }
-
-       function isRTL() {
-               return true;
-       }
-
-}
-
-?>
diff --git a/languages/LanguageAs.php b/languages/LanguageAs.php
deleted file mode 100644 (file)
index 3d977ab..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-/** Assamese (অসমীয়া)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-require_once( 'LanguageUtf8.php' );
-
-class LanguageAs extends LanguageUtf8 {
-       function digitTransformTable() {
-               return array(
-                       '0' => '০',
-                       '1' => '১',
-                       '2' => '২',
-                       '3' => '৩',
-                       '4' => '৪',
-                       '5' => '৫',
-                       '6' => '৬',
-                       '7' => '৭',
-                       '8' => '৮',
-                       '9' => '৯'
-               );
-       }
-
-}
-?>
diff --git a/languages/LanguageAst.php b/languages/LanguageAst.php
deleted file mode 100644 (file)
index 698dd26..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-/** Asturian (Asturianu)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-require_once( 'LanguageUtf8.php' );
-
-class LanguageAst extends LanguageUtf8 {
-       private $mNamespaceNamesAst = null;
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesAst = array(
-                       NS_MEDIA            => 'Media',
-                       NS_SPECIAL          => 'Especial',
-                       NS_MAIN             => '',
-                       NS_TALK             => 'Discusión',
-                       NS_USER             => 'Usuariu',
-                       NS_USER_TALK        => 'Usuariu_discusión',
-                       NS_PROJECT          => $wgMetaNamespace,
-                       NS_PROJECT_TALK     => $wgMetaNamespace . '_discusión',
-                       NS_IMAGE            => 'Imaxen',
-                       NS_IMAGE_TALK       => 'Imaxen_discusión',
-                       NS_MEDIAWIKI        => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK   => 'MediaWiki_discusión',
-                       NS_TEMPLATE         => 'Plantilla',
-                       NS_TEMPLATE_TALK    => 'Plantilla_discusión',
-                       NS_HELP             => 'Ayuda',
-                       NS_HELP_TALK        => 'Ayuda_discusión',
-                       NS_CATEGORY         => 'Categoría',
-                       NS_CATEGORY_TALK    => 'Categoría_discusión',
-               );
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesAst + parent::getNamespaces();
-       }
-
-       function getAllMessages() {
-               return null;
-       }
-
-}
-
-?>
diff --git a/languages/LanguageAv.deps.php b/languages/LanguageAv.deps.php
deleted file mode 100644 (file)
index 217e958..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageAv.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
-
-require_once( "LanguageRu.php" );
-?>
\ No newline at end of file
diff --git a/languages/LanguageAv.php b/languages/LanguageAv.php
deleted file mode 100644 (file)
index cc3096b..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-/** Avar (Авар)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  *
-  * @bug 3844
-  *
-  * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
-  * @author Ashar Voultoiz <hashar@altern.org>
-  *
-  * @copyright Copyright © 2005, Ævar Arnfjörð Bjarmason, Ashar Voultoiz
-  * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
-  */
-
-require_once 'LanguageRu.php';
-
-class LanguageAv extends LanguageRu {
-
-       function getFallbackLanguage() {
-               return 'ru';
-       }
-
-       function getAllMessages() {
-               return null;
-       }
-
-}
-
-?>
diff --git a/languages/LanguageAy.deps.php b/languages/LanguageAy.deps.php
deleted file mode 100644 (file)
index db7eead..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageAy.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
-
-require_once( "LanguageEs.php" );
-?>
\ No newline at end of file
diff --git a/languages/LanguageAy.php b/languages/LanguageAy.php
deleted file mode 100644 (file)
index 309c5c8..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-/** Aymara (Aymar aru)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  *
-  * @bug 3844
-  *
-  * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
-  * @copyright Copyright © 2005, Ævar Arnfjörð Bjarmason
-  * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
-  */
-
-require_once 'LanguageEs.php';
-
-class LanguageAy extends LanguageEs {
-
-       function getFallbackLanguage() {
-               return 'es';
-       }
-
-       function getAllMessages() {
-               return null;
-       }
-
-}
-
-?>
index 1dfc46c..d5df3ec 100644 (file)
@@ -4,77 +4,7 @@
   * @package MediaWiki
   * @subpackage Language
   */
-
-require_once( "LanguageUtf8.php" );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesAz.php');
-}
-
-class LanguageAz extends LanguageUtf8 {
-       private $mMessagesAz, $mNamespaceNamesAz = null;
-       
-       private $mDateFormatsAz = array(
-               MW_DATE_DEFAULT => 'Tərcih yox',
-               MW_DATE_MDY => '16:12, Yanvar  15, 2001',
-               MW_DATE_DMY => '16:12, 15 Yanvar  2001',
-               MW_DATE_YMD => '16:12, 2001 Yanvar  15',
-               MW_DATE_ISO => '2001-01-15 16:12:34'
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesAz;
-               $this->mMessagesAz =& $wgAllMessagesAz;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesAz = array(
-                       NS_MEDIA            => 'Mediya',
-                       NS_SPECIAL          => 'Xüsusi',
-                       NS_MAIN             => '',
-                       NS_TALK             => 'Müzakirə',
-                       NS_USER             => 'İstifadəçi',
-                       NS_USER_TALK        => 'İstifadəçi_müzakirəsi',
-                       NS_PROJECT          => $wgMetaNamespace,
-                       NS_PROJECT_TALK     => $wgMetaNamespace . '_müzakirəsi',
-                       NS_IMAGE            => 'Şəkil',
-                       NS_IMAGE_TALK       => 'Şəkil_müzakirəsi',
-                       NS_MEDIAWIKI        => 'MediyaViki',
-                       NS_MEDIAWIKI_TALK   => 'MediyaViki_müzakirəsi',
-                       NS_TEMPLATE         => 'Şablon',
-                       NS_TEMPLATE_TALK    => 'Şablon_müzakirəsi',
-                       NS_HELP             => 'Kömək',
-                       NS_HELP_TALK        => 'Kömək_müzakirəsi',
-                       NS_CATEGORY         => 'Kateqoriya',
-                       NS_CATEGORY_TALK    => 'Kateqoriya_müzakirəsi',
-               );
-
-       }
-       function getNamespaces() {
-               return $this->mNamespaceNamesAz + parent::getNamespaces();
-       }
-
-       function getDateFormats() {
-               return $this->mDateFormatsAz;
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesAz[$key] ) ) {
-                       return $this->mMessagesAz[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesAz;
-       }
-
-       function separatorTransformTable() {
-               return array(',' => '.', '.' => ',' );
-       }
-
+class LanguageAz extends Language {
        function ucfirst ( $string ) {
                if ( $string[0] == 'i' ) {
                        return 'İ' . substr( $string, 1 );
diff --git a/languages/LanguageBa.deps.php b/languages/LanguageBa.deps.php
deleted file mode 100644 (file)
index aa90243..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageBa.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
-
-require_once( "LanguageRu.php" );
-?>
\ No newline at end of file
diff --git a/languages/LanguageBa.php b/languages/LanguageBa.php
deleted file mode 100644 (file)
index 45e32b7..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-/** Bashkir (Башҡорт)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  *
-  * @bug 3844
-  *
-  * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
-  * @author Ashar Voultoiz <hashar@altern.org>
-  *
-  * @copyright Copyright © 2005, Ævar Arnfjörð Bjarmason, Ashar Voultoiz
-  * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
-  */
-
-require_once 'LanguageRu.php';
-
-class LanguageBa extends LanguageRu {
-
-       function getFallbackLanguage() {
-               return 'ru';
-       }
-
-       function getAllMessages() {
-               return null;
-       }
-
-}
-
-?>
diff --git a/languages/LanguageBat_smg.deps.php b/languages/LanguageBat_smg.deps.php
deleted file mode 100644 (file)
index 53a8cbf..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php\r
-\r
-/**\r
- * Samogitian dependencies file\r
- * See http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html\r
- */\r
\r
-require_once( 'LanguageLt.php' );\r
-\r
-?>
\ No newline at end of file
diff --git a/languages/LanguageBat_smg.php b/languages/LanguageBat_smg.php
deleted file mode 100644 (file)
index aa6c541..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php\r
-/** Samogitian (Žemaitėška)\r
- *\r
- * Inherits Lithuanian\r
- *\r
- * @package MediaWiki\r
- * @subpackage Language\r
- *\r
- * @author Rob Church <robchur@gmail.com>\r
- */\r
-\r
-require_once( 'LanguageLt.php' );\r
-\r
-class LanguageBat_smg extends LanguageLt {\r
-\r
-       function getFallbackLanguage() {\r
-               return 'lt';\r
-       }\r
-\r
-       function getAllMessages() {\r
-               return null;\r
-       }\r
-\r
-}\r
-\r
-?>
\ No newline at end of file
index d968c13..f2a52cc 100644 (file)
   * @license http://www.gnu.org/copyleft/fdl.html GNU Free Documentation License
   */
 
-require_once('LanguageUtf8.php');
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesBe.php');
-}
-
-class LanguageBe extends LanguageUtf8 {
-       private $mMessagesBe, $mNamespaceNamesBe = null;
-
-       private $mQuickbarSettingsBe = array(
-               'Не паказваць', 'Замацаваная зьлева', 'Замацаваная справа', 'Рухомая зьлева'
-       );
-       
-       private $mSkinNamesBe = array(
-               'standard' => 'Клясычны',
-               'nostalgia' => 'Настальгія',
-               'cologneblue' => 'Кёльнскі смутак',
-               'davinci' => 'Да Вінчы',
-               'mono' => 'Мона',
-               'monobook' => 'Монакніга',
-               'myskin' => 'MySkin',
-               'chick' => 'Цыпа'
-       );
-       
-       private $mDateFormatsBe = array(
-               MW_DATE_DEFAULT,
-               '16:12, 15.01.2001',
-               MW_DATE_ISO,
-       );
-       
-       private $mMagicWordsBe = array(
-               'redirect'               => array( 0,    '#перанакіраваньне', '#redirect' ),
-               'notoc'                  => array( 0,    '__NOTOC__', '__БЯЗЬ_ЗЬМЕСТУ__' ),
-               'forcetoc'               => array( 0,    '__FORCETOC__', '__ЗЬМЕСТ_ПРЫМУСАМ__' ),
-               'toc'                    => array( 0,    '__TOC__', '__ЗЬМЕСТ__' ),
-               'noeditsection'          => array( 0,    '__NOEDITSECTION__', '__БЕЗ_РЭДАГАВАНЬНЯ_СЭКЦЫІ__' ),
-               'start'                  => array( 0,    '__START__', '__ПАЧАТАК__' ),
-               'currentmonth'           => array( 1,    'CURRENTMONTH', 'БЯГУЧЫ_МЕСЯЦ' ),
-               'currentmonthname'       => array( 1,    'CURRENTMONTHNAME', 'НАЗВА_БЯГУЧАГА_МЕСЯЦА' ),
-               'currentmonthnamegen'    => array( 1,    'CURRENTMONTHNAMEGEN', 'НАЗВА_БЯГУЧАГА_МЕСЯЦА_Ў_РОДНЫМ_СКЛОНЕ' ),
-               'currentmonthabbrev'     => array( 1,    'CURRENTMONTHABBREV', 'СКАРОЧАНАЯ_НАЗВА_БЯГУЧАГА_МЕСЯЦА' ),
-               'currentday'             => array( 1,    'CURRENTDAY', 'БЯГУЧЫ_ДЗЕНЬ' ),
-               'currentday2'            => array( 1,    'CURRENTDAY2', 'БЯГУЧЫ_ДЗЕНЬ_2' ),
-               'currentdayname'         => array( 1,    'CURRENTDAYNAME', 'НАЗВА_БЯГУЧАГА_ДНЯ' ),
-               'currentyear'            => array( 1,    'CURRENTYEAR', 'БЯГУЧЫ_ГОД' ),
-               'currenttime'            => array( 1,    'CURRENTTIME', 'БЯГУЧЫ_ЧАС' ),
-               'numberofpages'          => array( 1,    'NUMBEROFPAGES', 'КОЛЬКАСЬЦЬ_СТАРОНАК' ),
-               'numberofarticles'       => array( 1,    'NUMBEROFARTICLES', 'КОЛЬКАСЬЦЬ_АРТЫКУЛАЎ' ),
-               'numberoffiles'          => array( 1,    'NUMBEROFFILES', 'КОЛЬКАСЬЦЬ_ФАЙЛАЎ' ),
-               'numberofusers'          => array( 1,    'NUMBEROFUSERS', 'КОЛЬКАСЬЦЬ_УДЗЕЛЬНІКАЎ' ),
-               'pagename'               => array( 1,    'PAGENAME', 'НАЗВА_СТАРОНКІ' ),
-               'pagenamee'              => array( 1,    'PAGENAMEE', 'НАЗВА_СТАРОНКІ_2' ),
-               'namespace'              => array( 1,    'NAMESPACE', 'ПРАСТОРА_НАЗВАЎ' ),
-               'namespacee'             => array( 1,    'NAMESPACEE', 'ПРАСТОРА_НАЗВАЎ_2' ),
-               'talkspace'              => array( 1,    'TALKSPACE', 'ПРАСТОРА_НАЗВАЎ_АБМЕРКАВАНЬНЯ' ),
-               'talkspacee'             => array( 1,    'TALKSPACEE', 'ПРАСТОРА_НАЗВАЎ_АБМЕРКАВАНЬНЯ_2' ),
-               'subjectspace'           => array( 1,    'SUBJECTSPACE', 'ARTICLESPACE', 'ПРАСТОРА_НАЗВАЎ_ПРАДМЕТУ', 'ПРАСТОРА_НАЗВАЎ_АРТЫКУЛА' ),
-               'subjectspacee'          => array( 1,    'SUBJECTSPACEE', 'ARTICLESPACEE', 'ПРАСТОРА_НАЗВАЎ_ПРАДМЕТУ_2', 'ПРАСТОРА_НАЗВАЎ_АРТЫКУЛА_2' ),
-               'fullpagename'           => array( 1,    'FULLPAGENAME', 'ПОЎНАЯ_НАЗВА_СТАРОНКІ' ),
-               'fullpagenamee'          => array( 1,    'FULLPAGENAMEE', 'ПОЎНАЯ_НАЗВА_СТАРОНКІ_2' ),
-               'subpagename'            => array( 1,    'SUBPAGENAME', 'НАЗВА_ПАДСТАРОНКІ' ),
-               'subpagenamee'           => array( 1,    'SUBPAGENAMEE', 'НАЗВА_ПАДСТАРОНКІ_2' ),
-               'basepagename'           => array( 1,    'BASEPAGENAME', 'НАЗВА_БАЗАВАЙ_СТАРОНКІ' ),
-               'basepagenamee'          => array( 1,    'BASEPAGENAMEE', 'НАЗВА_БАЗАВАЙ_СТАРОНКІ_2' ),
-               'talkpagename'           => array( 1,    'TALKPAGENAME', 'НАЗВА_СТАРОНКІ_АБМЕРКАВАНЬНЯ' ),
-               'talkpagenamee'          => array( 1,    'TALKPAGENAMEE', 'НАЗВА_СТАРОНКІ_АБМЕРКАВАНЬНЯ_2' ),
-               'subjectpagename'        => array( 1,    'SUBJECTPAGENAME', 'ARTICLEPAGENAME', 'НАЗВА_СТАРОНКІ_ПРАДМЕТУ', 'НАЗВА_СТАРОНКІ_АРТЫКУЛА' ),
-               'subjectpagenamee'       => array( 1,    'SUBJECTPAGENAMEE', 'ARTICLEPAGENAMEE', 'НАЗВА_СТАРОНКІ_ПРАДМЕТУ_2', 'НАЗВА_СТАРОНКІ_АРТЫКУЛА_2' ),
-               'msg'                    => array( 0,    'MSG:', 'ПАВЕДАМЛЕНЬНЕ:' ),
-               'subst'                  => array( 0,    'SUBST:', 'ПАДСТАНОЎКА:' ),
-               'msgnw'                  => array( 0,    'MSGNW:', 'ПАВЕДАМЛЕНЬНЕ_БЯЗЬ_ВІКІ:' ),
-               'end'                    => array( 0,    '__END__', '__КАНЕЦ__' ),
-               'img_thumbnail'          => array( 1,    'thumbnail', 'thumb', 'значак', 'міні' ),
-               'img_manualthumb'        => array( 1,    'thumbnail=$1', 'thumb=$1', 'значак=$1', 'міні=$1' ),
-               'img_right'              => array( 1,    'right', 'справа' ),
-               'img_left'               => array( 1,    'left', 'зьлева' ),
-               'img_none'               => array( 1,    'none', 'няма' ),
-               'img_width'              => array( 1,    '$1px', '$1пкс' ),
-               'img_center'             => array( 1,    'center', 'centre', 'цэнтар' ),
-               'img_framed'             => array( 1,    'framed', 'enframed', 'frame', 'рамка' ),
-               'int'                    => array( 0,    'INT:' ),
-               'sitename'               => array( 1,    'SITENAME', 'НАЗВА_САЙТУ' ),
-               'ns'                     => array( 0,    'NS:', 'ПН:' ),
-               'localurl'               => array( 0,    'LOCALURL:', 'ЛЯКАЛЬНЫ_АДРАС:' ),
-               'localurle'              => array( 0,    'LOCALURLE:', 'ЛЯКАЛЬНЫ_АДРАС_2:' ),
-               'server'                 => array( 0,    'SERVER', 'СЭРВЭР' ),
-               'servername'             => array( 0,    'SERVERNAME', 'НАЗВА_СЭРВЭРА' ),
-               'scriptpath'             => array( 0,    'SCRIPTPATH', 'ШЛЯХ_ДА_СКРЫПТА' ),
-               'grammar'                => array( 0,    'GRAMMAR:', 'ГРАМАТЫКА:' ),
-               'notitleconvert'         => array( 0,    '__NOTITLECONVERT__', '__NOTC__', '__БЕЗ_КАНВЭРТАЦЫІ_НАЗВЫ__' ),
-               'nocontentconvert'       => array( 0,    '__NOCONTENTCONVERT__', '__NOCC__', '__БЕЗ_КАНВЭРТАЦЫІ_ТЭКСТУ__' ),
-               'currentweek'            => array( 1,    'CURRENTWEEK', 'БЯГУЧЫ_ТЫДЗЕНЬ' ),
-               'currentdow'             => array( 1,    'CURRENTDOW', 'БЯГУЧЫ_ДЗЕНЬ_ТЫДНЯ' ),
-               'revisionid'             => array( 1,    'REVISIONID', 'ID_ВЭРСІІ' ),
-               'plural'                 => array( 0,    'PLURAL:', 'МНОЖНЫ_ЛІК:'),
-               'fullurl'                => array( 0,    'FULLURL:', 'ПОЎНЫ_АДРАС:' ),
-               'fullurle'               => array( 0,    'FULLURLE:', 'ПОЎНЫ_АДРАС_2:' ),
-               'lcfirst'                => array( 0,    'LCFIRST:', 'ПЕРШАЯ_ЛІТАРА_МАЛАЯ:' ),
-               'ucfirst'                => array( 0,    'UCFIRST:', 'ПЕРШАЯ_ЛІТАРА_ВЯЛІКАЯ:' ),
-               'lc'                     => array( 0,    'LC:', 'МАЛЫМІ_ЛІТАРАМІ:' ),
-               'uc'                     => array( 0,    'UC:', 'ВЯЛІКІМІ_ЛІТАРАМІ:' ),
-               'raw'                    => array( 0,    'RAW:', 'НЕАПРАЦАВАНЫ' ),
-               'displaytitle'           => array( 1,    'DISPLAYTITLE', 'АДЛЮСТРАВАНАЯ_НАЗВА' ),
-               'rawsuffix'              => array( 1,    'R', 'Н' ),
-               'newsectionlink'         => array( 1,    '__NEWSECTIONLINK__', '__СПАСЫЛКА_НА_НОВУЮ_СЭКЦЫЮ__' ),
-               'currentversion'         => array( 1,    'CURRENTVERSION', 'БЯГУЧАЯ_ВЭРСІЯ' ),
-               'urlencode'              => array( 0,    'URLENCODE:' ),
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesBe;
-               $this->mMessagesBe =& $wgAllMessagesBe;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesBe = array(
-                       NS_MEDIA          => 'Мэдыя',
-                       NS_SPECIAL        => 'Спэцыяльныя',
-                       NS_MAIN           => '',
-                       NS_TALK           => 'Абмеркаваньне',
-                       NS_USER           => 'Удзельнік',
-                       NS_USER_TALK      => 'Гутаркі_ўдзельніка',
-                       NS_PROJECT        => $wgMetaNamespace,
-                       NS_PROJECT_TALK   => 'Абмеркаваньне_' . $wgMetaNamespace,
-                       NS_IMAGE          => 'Выява',
-                       NS_IMAGE_TALK     => 'Абмеркаваньне_выявы',
-                       NS_MEDIAWIKI      => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK => 'Абмеркаваньне_MediaWiki',
-                       NS_TEMPLATE       => 'Шаблён',
-                       NS_TEMPLATE_TALK  => 'Абмеркаваньне_шаблёну',
-                       NS_HELP           => 'Дапамога',
-                       NS_HELP_TALK      => 'Абмеркаваньне_дапамогі',
-                       NS_CATEGORY       => 'Катэгорыя',
-                       NS_CATEGORY_TALK  => 'Абмеркаваньне_катэгорыі'
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesBe + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsBe;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesBe + parent::getSkinNames();
-       }
-
-       function &getMagicWords()  {
-               $t = $this->mMagicWordsBe + parent::getMagicWords();
-               return $t;
-       }
-
-       function getDateFormats() {
-               return $this->mDateFormatsBe;
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesBe[$key] ) ) {
-                       return $this->mMessagesBe[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesBe;
-       }
-
-       // The date and time format
-       function date( $ts, $adj = false, $format = true, $timecorrection = false ) {
-               $datePreference = $this->dateFormat( $format );
-               if( $datePreference == MW_DATE_ISO ) {
-                       return parent::date( $ts, $adj, $datePreference, $timecorrection );
-               } else {
-                       if ( $adj ) { $ts = $this->userAdjust( $ts, $timecorrection ); } # Adjust based on the timezone setting.
-                       // 20050310001506 => 10.03.2005
-                       $date = (substr( $ts, 6, 2 )) . '.' . substr( $ts, 4, 2 ) . '.' . substr( $ts, 0, 4 );
-                       return $date;
-               }
-       }
-
-       function separatorTransformTable() {
-               return array(',' => '.', '.' => ',' );
-       }
-
+class LanguageBe extends Language {
        function convertPlural( $count, $wordform1, $wordform2, $wordform3) {
                $count = str_replace ('.', '', $count);
                if ($count > 10 && floor(($count % 100) / 10) == 1) {
index ff027ea..4884c2a 100644 (file)
  * @subpackage Language
  */
 
-/* private */ $wgNamespaceNamesBg = array(
-       NS_MEDIA            => 'Медия',
-       NS_SPECIAL          => 'Специални',
-       NS_MAIN             => '',
-       NS_TALK             => 'Беседа',
-       NS_USER             => 'Потребител',
-       NS_USER_TALK        => 'Потребител_беседа',
-       NS_PROJECT          => $wgMetaNamespace,
-       NS_PROJECT_TALK     => $wgMetaNamespace . '_беседа',
-       NS_IMAGE            => 'Картинка',
-       NS_IMAGE_TALK       => 'Картинка_беседа',
-       NS_MEDIAWIKI        => 'МедияУики',
-       NS_MEDIAWIKI_TALK   => 'МедияУики_беседа',
-       NS_TEMPLATE         => 'Шаблон',
-       NS_TEMPLATE_TALK    => 'Шаблон_беседа',
-       NS_HELP             => 'Помощ',
-       NS_HELP_TALK        => 'Помощ_беседа',
-       NS_CATEGORY         => 'Категория',
-       NS_CATEGORY_TALK    => 'Категория_беседа'
-) + $wgNamespaceNamesEn;
-
-/* private */ $wgQuickbarSettingsBg = array(
-       'Без меню', 'Неподвижно вляво', 'Неподвижно вдясно', 'Плаващо вляво', 'Плаващо вдясно'
-);
-
-/* private */ $wgSkinNamesBg = array(
-       'standard' => 'Класика',
-       'nostalgia' => 'Носталгия',
-       'cologneblue' => 'Кьолнско синьо',
-       'smarty' => 'Падингтън',
-       'montparnasse' => 'Монпарнас',
-       'davinci' => 'ДаВинчи',
-       'mono' => 'Моно',
-       'monobook' => 'Монобук',
-       'myskin' => 'Мой облик',
-);
-
-/* private */ $wgDateFormatsBg = array();
-
-/* private */ $wgBookstoreListBg = array(
-       'books.bg'       => 'http://www.books.bg/ISBN/$1',
-);
-
-/* private */ $wgMagicWordsBg = array(
-#   ID                                 CASE  SYNONYMS
-       'redirect'               => array( 0, '#redirect', '#пренасочване', '#виж' ),
-       'notoc'                  => array( 0, '__NOTOC__', '__БЕЗСЪДЪРЖАНИЕ__' ),
-       'forcetoc'               => array( 0, '__FORCETOC__', '__СЪССЪДЪРЖАНИЕ__' ),
-       'toc'                    => array( 0, '__TOC__', '__СЪДЪРЖАНИЕ__'      ),
-       'noeditsection'          => array( 0, '__NOEDITSECTION__', '__БЕЗ_РЕДАКТИРАНЕ_НА_РАЗДЕЛИ__' ),
-       'start'                  => array( 0, '__START__', '__НАЧАЛО__'         ),
-       'currentmonth'           => array( 1, 'CURRENTMONTH', 'ТЕКУЩМЕСЕЦ'      ),
-       'currentmonthname'       => array( 1, 'CURRENTMONTHNAME', 'ТЕКУЩМЕСЕЦИМЕ' ),
-       'currentmonthnamegen'    => array( 1, 'CURRENTMONTHNAMEGEN', 'ТЕКУЩМЕСЕЦИМЕРОД' ),
-       'currentmonthabbrev'     => array( 1, 'CURRENTMONTHABBREV', 'ТЕКУЩМЕСЕЦСЪКР'    ),
-       'currentday'             => array( 1, 'CURRENTDAY', 'ТЕКУЩДЕН'            ),
-       'currentdayname'         => array( 1, 'CURRENTDAYNAME', 'ТЕКУЩДЕНИМЕ'     ),
-       'currentyear'            => array( 1, 'CURRENTYEAR', 'ТЕКУЩАГОДИНА'       ),
-       'currenttime'            => array( 1, 'CURRENTTIME', 'ТЕКУЩОВРЕМЕ'        ),
-       'numberofarticles'       => array( 1, 'NUMBEROFARTICLES', 'БРОЙСТАТИИ'    ),
-       'numberoffiles'          => array( 1, 'NUMBEROFFILES', 'БРОЙФАЙЛОВЕ'      ),
-       'pagename'               => array( 1, 'PAGENAME', 'СТРАНИЦА'              ),
-       'pagenamee'              => array( 1, 'PAGENAMEE', 'СТРАНИЦАИ'            ),
-       'namespace'              => array( 1, 'NAMESPACE', 'ИМЕННОПРОСТРАНСТВО'   ),
-       'subst'                  => array( 0, 'SUBST:', 'ЗАМЕСТ:'            ),
-       'msgnw'                  => array( 0, 'MSGNW:', 'СЪОБЩNW:'           ),
-       'end'                    => array( 0, '__END__', '__КРАЙ__'            ),
-       'img_thumbnail'          => array( 1, 'thumbnail', 'thumb', 'мини'     ),
-       'img_manualthumb'        => array( 1, 'thumbnail=$1', 'thumb=$1', 'мини=$1'),
-       'img_right'              => array( 1, 'right', 'вдясно', 'дясно', 'д'  ),
-       'img_left'               => array( 1, 'left', 'вляво', 'ляво', 'л'     ),
-       'img_none'               => array( 1, 'none', 'н'                  ),
-       'img_width'              => array( 1, '$1px', '$1пкс' , '$1п'         ),
-       'img_center'             => array( 1, 'center', 'centre', 'център', 'центр', 'ц' ),
-       'img_framed'             => array( 1, 'framed', 'enframed', 'frame', 'рамка', 'врамка' ),
-       'int'                    => array( 0, 'INT:'                   ),
-       'sitename'               => array( 1, 'SITENAME', 'ИМЕНАСАЙТА'       ),
-       'ns'                     => array( 0, 'NS:', 'ИП:'                    ),
-       'localurl'               => array( 0, 'LOCALURL:', 'ЛОКАЛЕНАДРЕС:'    ),
-       'localurle'              => array( 0, 'LOCALURLE:', 'ЛОКАЛЕНАДРЕСИ:'  ),
-       'server'                 => array( 0, 'SERVER', 'СЪРВЪР'       ),
-       'servername'             => array( 0, 'SERVERNAME', 'ИМЕНАСЪРВЪРА'    ),
-       'scriptpath'             => array( 0, 'SCRIPTPATH', 'ПЪТДОСКРИПТА'    ),
-       'grammar'                => array( 0, 'GRAMMAR:', 'ГРАМАТИКА:' ),
-       'notitleconvert'         => array( 0, '__NOTITLECONVERT__', '__NOTC__'),
-       'nocontentconvert'       => array( 0, '__NOCONTENTCONVERT__', '__NOCC__'),
-       'currentweek'            => array( 1, 'CURRENTWEEK', 'ТЕКУЩАСЕДМИЦА'),
-       'currentdow'             => array( 1, 'CURRENTDOW'             ),
-       'revisionid'             => array( 1, 'REVISIONID'             ),
-);
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesBg.php');
-}
-
-/** This is an UTF-8 language */
-require_once( 'LanguageUtf8.php' );
-
 /**
  * @package MediaWiki
  * @subpackage Language
  */
-class LanguageBg extends LanguageUtf8 {
-
-       /**
-       * Exports $wgBookstoreListBg
-       * @return array
-       */
-       function getBookstoreList () {
-               global $wgBookstoreListBg;
-               return $wgBookstoreListBg;
-       }
-
-       /**
-       * Exports $wgNamespaceNamesBg
-       * @return array
-       */
-       function getNamespaces() {
-               global $wgNamespaceNamesBg;
-               return $wgNamespaceNamesBg;
-       }
-
-       /**
-       * Exports $wgQuickbarSettingsBg
-       * @return array
-       */
-       function getQuickbarSettings() {
-               global $wgQuickbarSettingsBg;
-               return $wgQuickbarSettingsBg;
-       }
-
-       /**
-       * Exports $wgSkinNamesBg
-       * @return array
-       */
-       function getSkinNames() {
-               global $wgSkinNamesBg;
-               return $wgSkinNamesBg;
-       }
-
-       /**
-       * Exports $wgDateFormatsBg
-       * @return array
-       */
-       function getDateFormats() {
-               global $wgDateFormatsBg;
-               return $wgDateFormatsBg;
-       }
-
-       function getMessage( $key ) {
-               global $wgAllMessagesBg;
-               if ( isset( $wgAllMessagesBg[$key] ) ) {
-                       return $wgAllMessagesBg[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       /**
-       * Exports $wgMagicWordsBg
-       * @return array
-       */
-       function &getMagicWords()  {
-               global $wgMagicWordsBg;
-               return $wgMagicWordsBg;
-       }
-
-
-       function separatorTransformTable() {
-               return array(',' => "\xc2\xa0", '.' => ',' );
-       }
-
+class LanguageBg extends Language {
        /**
         * ISO number formatting: 123 456 789,99.
         * Avoid tripple grouping by numbers with whole part up to 4 digits.
@@ -188,6 +21,5 @@ class LanguageBg extends LanguageUtf8 {
                        return $_;
                }
        }
-
 }
 ?>
diff --git a/languages/LanguageBm.deps.php b/languages/LanguageBm.deps.php
deleted file mode 100644 (file)
index 86ea46b..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageBm.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
-
-require_once( "LanguageFr.php" );
-?>
\ No newline at end of file
diff --git a/languages/LanguageBm.php b/languages/LanguageBm.php
deleted file mode 100644 (file)
index 09a016f..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-/** Bambara (Bamanankan)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-# Stub for Bambara; import French (official language of Mali)
-
-require_once( 'LanguageFr.php' );
-
-class LanguageBm extends LanguageFr {
-
-       function getFallbackLanguage() {
-               return 'fr';
-       }
-
-       function getAllMessages() {
-               return null;
-       }
-
-}
-
-?>
diff --git a/languages/LanguageBn.php b/languages/LanguageBn.php
deleted file mode 100644 (file)
index d61c995..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
-/** Bengali (বাংলা)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesBn.php');
-}
-
-class LanguageBn extends LanguageUtf8 {
-       private $mMessagesBn, $mNamespaceNamesBn = null;
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesBn;
-               $this->mMessagesBn =& $wgAllMessagesBn;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesBn = array(
-                       NS_SPECIAL        => 'বিশেষ',
-                       NS_MAIN           => '',
-                       NS_TALK           => 'আলাপ',
-                       NS_USER           => 'ব্যবহারকারী',
-                       NS_USER_TALK      => 'ব্যবহারকারী_আলাপ',
-                       NS_PROJECT        => $wgMetaNamespace,
-                       NS_PROJECT_TALK   => $wgMetaNamespace . '_আলাপ',
-                       NS_IMAGE          => 'চিত্র',
-                       NS_IMAGE_TALK     => 'চিত্র_আলাপ',
-                       NS_MEDIAWIKI_TALK => 'MediaWiki_আলাপ'
-               );
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesBn + parent::getNamespaces();
-       }
-
-       function getDateFormats() {
-               return false;
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesBn[$key] ) ) {
-                       return $this->mMessagesBn[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesBn;
-       }
-
-       function digitTransformTable() {
-               return array(
-                       '0' => '০',
-                       '1' => '১',
-                       '2' => '২',
-                       '3' => '৩',
-                       '4' => '৪',
-                       '5' => '৫',
-                       '6' => '৬',
-                       '7' => '৭',
-                       '8' => '৮',
-                       '9' => '৯'
-               );
-       }
-
-}
-
-?>
diff --git a/languages/LanguageBo.php b/languages/LanguageBo.php
deleted file mode 100644 (file)
index 2157083..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-/** Tibetan (བོད་ཡིག)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  *
-  * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
-  */
-
-require_once( 'LanguageUtf8.php' );
-
-class LanguageBo extends LanguageUtf8 {
-
-       function getAllMessages() {
-               return null;
-       }
-
-       function digitTransformTable() {
-               return array(
-                       '0' => '༠',
-                       '1' => '༡',
-                       '2' => '༢',
-                       '3' => '༣',
-                       '4' => '༤',
-                       '5' => '༥',
-                       '6' => '༦',
-                       '7' => '༧',
-                       '8' => '༨',
-                       '9' => '༩'
-               );
-       }
-
-}
-
-?>
diff --git a/languages/LanguageBpy.deps.php b/languages/LanguageBpy.deps.php
deleted file mode 100644 (file)
index 2ce8bd5..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageBpy.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
-
-require_once 'LanguageBn.php';
-
-?>
\ No newline at end of file
diff --git a/languages/LanguageBpy.php b/languages/LanguageBpy.php
deleted file mode 100644 (file)
index 98596ce..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-/**
- * Bishnupriya
- * most speakers have Bengali as second language, use as default fallback
- *
- * @package MediaWiki
- * @subpackage Language
- */
-
-class LanguageBpy extends LanguageBn {
-
-       function getFallbackLanguage() {
-               return 'bn';
-       }
-}
-
-?>
diff --git a/languages/LanguageBr.php b/languages/LanguageBr.php
deleted file mode 100644 (file)
index 8a1bf9a..0000000
+++ /dev/null
@@ -1,131 +0,0 @@
-<?php
-/**
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-require_once( 'LanguageUtf8.php' );
-
-/* private */ $wgNamespaceNamesBr = array(
-       NS_MEDIA                        => 'Media',
-       NS_SPECIAL                      => 'Dibar',
-       NS_MAIN                         => '',
-       NS_TALK                         => 'Kaozeal',
-       NS_USER                         => 'Implijer',
-       NS_USER_TALK            => 'Kaozeadenn_Implijer',
-       NS_PROJECT                      => $wgMetaNamespace,
-       NS_PROJECT_TALK         => 'Kaozeadenn_'.$wgMetaNamespace,
-       NS_IMAGE                        => 'Skeudenn',
-       NS_IMAGE_TALK           => 'Kaozeadenn_Skeudenn',
-       NS_MEDIAWIKI            => 'MediaWiki',
-       NS_MEDIAWIKI_TALK       => 'Kaozeadenn_MediaWiki',
-       NS_TEMPLATE                     => 'Patrom',
-       NS_TEMPLATE_TALK        => 'Kaozeadenn_Patrom',
-       NS_HELP                         => 'Skoazell',
-       NS_HELP_TALK            => 'Kaozeadenn_Skoazell',
-       NS_CATEGORY                     => 'Rummad',
-       NS_CATEGORY_TALK        => 'Kaozeadenn_Rummad'
-) + $wgNamespaceNamesEn;
-
-/* private */ $wgQuickbarSettingsBr = array(
-       'Hini ebet', 'Kleiz', 'Dehou', 'War-neuñv a-gleiz'
-);
-
-/* private */ $wgSkinNamesBr = array(
-       'standard'              => 'Standard',
-       'nostalgia'             => 'Melkoni',
-       'cologneblue'   => 'Glaz Kologn',
-       'smarty'                => 'Paddington',
-       'montparnasse'  => 'Montparnasse',
-       'davinci'               => 'DaVinci',
-       'mono'                  => 'Mono',
-       'monobook'              => 'MonoBook',
-       'myskin'                => 'MySkin'
-);
-
-
-
-/* private */ $wgBookstoreListBr = array(
-       'Amazon.fr'             => 'http://www.amazon.fr/exec/obidos/ISBN=$1',
-       'alapage.fr'    => 'http://www.alapage.com/mx/?tp=F&type=101&l_isbn=$1&donnee_appel=ALASQ&devise=&',
-       'fnac.com'              => 'http://www3.fnac.com/advanced/book.do?isbn=$1',
-       'chapitre.com'  => 'http://www.chapitre.com/frame_rec.asp?isbn=$1',
-);
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesBr.php');
-}
-
-class LanguageBr extends LanguageUtf8 {
-
-       function getBookstoreList () {
-               global $wgBookstoreListBr ;
-               return $wgBookstoreListBr ;
-       }
-
-       function getNamespaces() {
-               global $wgNamespaceNamesBr;
-               return $wgNamespaceNamesBr;
-       }
-
-       function getDateFormats() {
-               return false;
-       }
-
-       function getNsIndex( $text ) {
-               global $wgNamespaceNamesBr, $wgSitename;
-
-               foreach ( $wgNamespaceNamesBr as $i => $n ) {
-                       if ( 0 == strcasecmp( $n, $text ) ) { return $i; }
-               }
-               if( $wgSitename == "Wikipedia" ) {
-                       if( 0 == strcasecmp( "Discussion_Wikipedia", $text ) ) return 5;
-               }
-               return false;
-       }
-
-       function getQuickbarSettings() {
-               global $wgQuickbarSettingsBr;
-               return $wgQuickbarSettingsBr;
-       }
-
-       function getSkinNames() {
-               global $wgSkinNamesBr;
-               return $wgSkinNamesBr;
-       }
-
-       /**
-        * $format and $timecorrection are for compatibility with Language::date
-        */
-       function date( $ts, $adj = false, $format = true, $timecorrection = false ) {
-               if ( $adj ) { $ts = $this->userAdjust( $ts ); }
-
-               $d = (0 + substr( $ts, 6, 2 )) . " " .
-                 $this->getMonthAbbreviation( substr( $ts, 4, 2 ) ) .
-                 " " . substr( $ts, 0, 4 );
-               return $d;
-       }
-
-       /**
-        * $format and $timecorrection are for compatibility with Language::date
-        */
-       function timeanddate( $ts, $adj = false, $format = true, $timecorrection = false ) {
-               return $this->date( $ts, $adj ) . " da " . $this->time( $ts, $adj );
-       }
-
-       function separatorTransformTable() {
-               return array(',' => "\xc2\xa0", '.' => ',' );
-       }
-
-       function getMessage( $key ) {
-               global $wgAllMessagesBr, $wgAllMessagesEn;
-               if( isset( $wgAllMessagesBr[$key] ) ) {
-                       return $wgAllMessagesBr[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-}
-
-?>
index 98c00f1..4734fdc 100644 (file)
@@ -5,164 +5,7 @@
   * @subpackage Language
   */
 
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesBs.php');
-}
-
-class LanguageBs extends LanguageUtf8 {
-       private $mMessagesBs, $mNamespaceNamesBs = null;
-
-       private $mQuickbarSettingsBs = array(
-               'Nikakva', 'Pričvršćena lijevo', 'Pričvršćena desno', 'Plutajuća lijevo'
-       );
-       
-       private $mSkinNamesBs = array(
-               'Obična', 'Nostalgija', 'Kelnsko plavo', 'Pedington', 'Monparnas'
-       );
-       
-       private $mDateFormatsBs = array(
-               'Nije bitno',
-               '06:12, 5. januar 2001.',
-               '06:12, 5 januar 2001',
-               '06:12, 05.01.2001.',
-               '06:12, 5.1.2001.',
-               '06:12, 5. jan 2001.',
-               '06:12, 5 jan 2001',
-               '6:12, 5. januar 2001.',
-               '6:12, 5 januar 2001',
-               '6:12, 05.01.2001.',
-               '6:12, 5.1.2001.',
-               '6:12, 5. jan 2001.',
-               '6:12, 5 jan 2001',
-       );
-       
-       private $mMagicWordsBs = array(
-               # ID                              CASE SYNONYMS
-               'redirect'               => array( 0, '#Preusmjeri', '#redirect', '#preusmjeri', '#PREUSMJERI' ),
-               'notoc'                  => array( 0, '__NOTOC__', '__BEZSADRŽAJA__' ),
-               'forcetoc'               => array( 0, '__FORCETOC__', '__FORSIRANISADRŽAJ__' ),
-               'toc'                    => array( 0, '__TOC__', '__SADRŽAJ__' ),
-               'noeditsection'          => array( 0, '__NOEDITSECTION__', '__BEZ_IZMENA__', '__BEZIZMENA__' ),
-               'start'                  => array( 0, '__START__', '__POČETAK__' ),
-               'end'                    => array( 0, '__END__', '__KRAJ__' ),
-               'currentmonth'           => array( 1, 'CURRENTMONTH', 'TRENUTNIMJESEC' ),
-               'currentmonthname'       => array( 1, 'CURRENTMONTHNAME', 'TRENUTNIMJESECIME' ),
-               'currentmonthnamegen'    => array( 1, 'CURRENTMONTHNAMEGEN', 'TRENUTNIMJESECROD' ),
-               'currentmonthabbrev'     => array( 1, 'CURRENTMONTHABBREV', 'TRENUTNIMJESECSKR' ),
-               'currentday'             => array( 1, 'CURRENTDAY', 'TRENUTNIDAN' ),
-               'currentdayname'         => array( 1, 'CURRENTDAYNAME', 'TRENUTNIDANIME' ),
-               'currentyear'            => array( 1, 'CURRENTYEAR', 'TRENUTNAGODINA' ),
-               'currenttime'            => array( 1, 'CURRENTTIME', 'TRENUTNOVRIJEME' ),
-               'numberofarticles'       => array( 1, 'NUMBEROFARTICLES', 'BROJČLANAKA' ),
-               'numberoffiles'          => array( 1, 'NUMBEROFFILES', 'BROJDATOTEKA', 'BROJFAJLOVA' ),
-               'pagename'               => array( 1, 'PAGENAME', 'STRANICA' ),
-               'pagenamee'              => array( 1, 'PAGENAMEE', 'STRANICE' ),
-               'namespace'              => array( 1, 'NAMESPACE', 'IMENSKIPROSTOR' ),
-               'namespacee'             => array( 1, 'NAMESPACEE', 'IMENSKIPROSTORI' ),
-               'fullpagename'           => array( 1, 'FULLPAGENAME', 'PUNOIMESTRANE' ),
-               'fullpagenamee'          => array( 1, 'FULLPAGENAMEE', 'PUNOIMESTRANEE' ),
-               'msg'                    => array( 0, 'MSG:', 'POR:' ),
-               'subst'                  => array( 0, 'SUBST:', 'ZAMJENI:' ),
-               'msgnw'                  => array( 0, 'MSGNW:', 'NVPOR:' ),
-               'img_thumbnail'          => array( 1, 'thumbnail', 'thumb', 'mini' ),
-               'img_manualthumb'        => array( 1, 'thumbnail=$1', 'thumb=$1', 'mini=$1' ),
-               'img_right'              => array( 1, 'right', 'desno', 'd' ),
-               'img_left'               => array( 1, 'left', 'lijevo', 'l' ),
-               'img_none'               => array( 1, 'none', 'n', 'bez' ),
-               'img_width'              => array( 1, '$1px', '$1piksel' , '$1p' ),
-               'img_center'             => array( 1, 'center', 'centre', 'centar', 'c' ),
-               'img_framed'             => array( 1, 'framed', 'enframed', 'frame', 'okvir', 'ram' ),
-               'int'                    => array( 0, 'INT:', 'INT:' ),
-               'sitename'               => array( 1, 'SITENAME', 'IMESAJTA' ),
-               'ns'                     => array( 0, 'NS:', 'IP:' ),
-               'localurl'               => array( 0, 'LOCALURL:', 'LOKALNAADRESA:' ),
-               'localurle'              => array( 0, 'LOCALURLE:', 'LOKALNEADRESE:' ),
-               'server'                 => array( 0, 'SERVER', 'SERVER' ),
-               'servername'             => array( 0, 'SERVERNAME', 'IMESERVERA' ),
-               'scriptpath'             => array( 0, 'SCRIPTPATH', 'SKRIPTA' ),
-               'grammar'                => array( 0, 'GRAMMAR:', 'GRAMATIKA:' ),
-               'notitleconvert'         => array( 0, '__NOTITLECONVERT__', '__NOTC__', '__BEZTC__' ),
-               'nocontentconvert'       => array( 0, '__NOCONTENTCONVERT__', '__NOCC__', '__BEZCC__' ),
-               'currentweek'            => array( 1, 'CURRENTWEEK', 'TRENUTNASEDMICA' ),
-               'currentdow'             => array( 1, 'CURRENTDOW', 'TRENUTNIDOV' ),
-               'revisionid'             => array( 1, 'REVISIONID', 'IDREVIZIJE' ),
-               'plural'                 => array( 0, 'PLURAL:', 'MNOŽINA:' ),
-               'fullurl'                => array( 0, 'FULLURL:', 'PUNURL:' ),
-               'fullurle'               => array( 0, 'FULLURLE:', 'PUNURLE:' ),
-               'lcfirst'                => array( 0, 'LCFIRST:', 'LCPRVI:' ),
-               'ucfirst'                => array( 0, 'UCFIRST:', 'UCPRVI:' ),
-               'lc'                     => array( 0, 'LC:', 'LC:' ),
-               'uc'                     => array( 0, 'UC:', 'UC:' ),
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesBs;
-               $this->mMessagesBs =& $wgAllMessagesBs;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesBs = array(
-                       NS_MEDIA            => 'Medija',
-                       NS_SPECIAL          => 'Posebno',
-                       NS_MAIN             => '',
-                       NS_TALK             => 'Razgovor',
-                       NS_USER             => 'Korisnik',
-                       NS_USER_TALK        => 'Razgovor_sa_korisnikom',
-                       NS_PROJECT          => $wgMetaNamespace,
-                       NS_PROJECT_TALK     => 'Razgovor_' . str_replace( ' ', '_',
-                               $this->convertGrammar( $wgMetaNamespace, 'instrumental' ) ),
-                       NS_IMAGE            => 'Slika',
-                       NS_IMAGE_TALK       => 'Razgovor_o_slici',
-                       NS_MEDIAWIKI        => 'MedijaViki',
-                       NS_MEDIAWIKI_TALK   => 'Razgovor_o_MedijaVikiju',
-                       NS_TEMPLATE         => 'Šablon',
-                       NS_TEMPLATE_TALK    => 'Razgovor_o_šablonu',
-                       NS_HELP             => 'Pomoć',
-                       NS_HELP_TALK        => 'Razgovor_o_pomoći',
-                       NS_CATEGORY         => 'Kategorija',
-                       NS_CATEGORY_TALK    => 'Razgovor_o_kategoriji',
-               );
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesBs + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsBs;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesBs + parent::getSkinNames();
-       }
-
-       // Not implemented ??
-/*     function getDateFormats() {
-               return $this->mDateFormatsBs;
-       }*/
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesBs[$key] ) ) {
-                       return $this->mMessagesBs[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesBs;
-       }
-
-       function fallback8bitEncoding() {
-               return "iso-8859-2";
-       }
-
-       function separatorTransformTable() {
-               return array(',' => '.', '.' => ',' );
-       }
+class LanguageBs extends Language {
 
        function convertPlural( $count, $wordform1, $wordform2, $wordform3) {
                $count = str_replace ('.', '', $count);
@@ -291,4 +134,4 @@ class LanguageBs extends LanguageUtf8 {
 
 }
 
-?>
\ No newline at end of file
+?>
diff --git a/languages/LanguageCa.php b/languages/LanguageCa.php
deleted file mode 100644 (file)
index caa86ed..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-<?php
-/** Catalan (Català)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesCa.php');
-}
-
-class LanguageCa extends LanguageUtf8 {
-       private $mMessagesCa, $mNamespaceNamesCa = null;
-
-       private $mQuickbarSettingsCa = array(
-               "Cap", "Fixa a la dreta", "Fixa a l'esquerra", "Surant a l'esquerra"
-       );
-       
-       private $mSkinNamesCa = array(
-               'standard' => "Estàndard",
-               'nostalgia' => "Nostàlgia",
-               'cologneblue' => "Colònia blava",
-       );
-
-       private $mBookstoreListCa = array(
-               'Catàleg Col·lectiu de les Universitats de Catalunya' => 'http://ccuc.cbuc.es/cgi-bin/vtls.web.gateway?searchtype=control+numcard&searcharg=$1',
-               'Totselsllibres.com' => 'http://www.totselsllibres.com/tel/publi/busquedaAvanzadaLibros.do?ISBN=$1',
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesCa;
-               $this->mMessagesCa =& $wgAllMessagesCa;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesCa = array(
-                       NS_MEDIA          => 'Media',
-                       NS_SPECIAL        => 'Especial',
-                       NS_MAIN           => '',
-                       NS_TALK           => 'Discussió',
-                       NS_USER           => 'Usuari',
-                       NS_USER_TALK      => 'Usuari_Discussió',
-                       NS_PROJECT        => $wgMetaNamespace,
-                       NS_PROJECT_TALK   => $wgMetaNamespace.'_Discussió',
-                       NS_IMAGE          => 'Imatge',
-                       NS_IMAGE_TALK     => 'Imatge_Discussió',
-                       NS_MEDIAWIKI      => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK => 'MediaWiki_Discussió',
-                       NS_TEMPLATE       => 'Plantilla',
-                       NS_TEMPLATE_TALK  => 'Plantilla_Discussió',
-                       NS_HELP           => 'Ajuda',
-                       NS_HELP_TALK      => 'Ajuda_Discussió',
-                       NS_CATEGORY       => 'Categoria',
-                       NS_CATEGORY_TALK  => 'Categoria_Discussió'
-               );
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesCa + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsCa;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesCa + parent::getSkinNames();
-       }
-
-       function getBookstoreList () {
-               return $this->mBookstoreListCa + parent::getBookstoreList();
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesCa[$key] ) ) {
-                       return $this->mMessagesCa[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesCa;
-       }
-
-       function formatMonth( $month, $format ) {
-               return $this->getMonthAbbreviation( $month );
-       }
-
-       function separatorTransformTable() {
-               return array(',' => '.', '.' => ',' );
-       }
-
-       function linkTrail() {
-               return '/^([a-zàèéíòóúç·ïü\']+)(.*)$/sDu';
-       }
-
-}
-
-?>
diff --git a/languages/LanguageCe.deps.php b/languages/LanguageCe.deps.php
deleted file mode 100644 (file)
index d6b5b19..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageCe.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
-
-require_once( "LanguageRu.php" );
-?>
\ No newline at end of file
diff --git a/languages/LanguageCe.php b/languages/LanguageCe.php
deleted file mode 100644 (file)
index bdaa66e..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-/** Chechen (Нохчийн)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  *
-  * @bug 3844
-  *
-  * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
-  * @author Ashar Voultoiz <hashar@altern.org>
-  *
-  * @copyright Copyright © 2005, Ævar Arnfjörð Bjarmason, Ashar Voultoiz
-  * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
-  */
-
-/**
- *
- */
-require_once 'LanguageRu.php';
-
-/**
- *
- */
-class LanguageCe extends LanguageRu {
-
-       function getFallbackLanguage() {
-               return 'ru';
-       }
-
-       function getAllMessages() {
-               return null;
-       }
-
-}
-
-?>
index c194ace..daf1534 100644 (file)
@@ -72,11 +72,12 @@ class LanguageConverter {
 
 
        /**
-     * get preferred language variants.
+        * get preferred language variants.
+        * @param boolean $fromUser Get it from $wgUser's preferences
      * @return string the preferred language code
      * @access public
        */
-       function getPreferredVariant() {
+       function getPreferredVariant( $fromUser = true ) {
                global $wgUser, $wgRequest;
 
                if($this->mPreferredVariant)
@@ -90,7 +91,9 @@ class LanguageConverter {
                }
 
                // get language variant preference from logged in users
-               if(is_object($wgUser) && $wgUser->isLoggedIn() )  {
+               // Don't call this on stub objects because that causes infinite 
+               // recursion during initialisation
+               if( $fromUser && $wgUser->isLoggedIn() )  {
                        $this->mPreferredVariant = $wgUser->getOption('variant');
                        return $this->mPreferredVariant;
                }
index 81f7fde..6dd2a40 100644 (file)
  * @subpackage Language
  */
 
-/** */
-require_once( 'LanguageUtf8.php' );
-
-# Yucky hardcoding hack
-switch( $wgMetaNamespace ) {
-case 'Wikipedie':
-case 'Wikipedia':
-       $wgUserNamespace = 'Wikipedista'; break;
-default:
-       $wgUserNamespace = 'Uživatel';
-}
-
-/* private */ $wgNamespaceNamesCs = array(
-       NS_MEDIA              => 'Média',
-       NS_SPECIAL            => 'Speciální',
-       NS_MAIN               => '',
-       NS_TALK               => 'Diskuse',
-       NS_USER               => $wgUserNamespace,
-       NS_USER_TALK          => $wgUserNamespace . '_diskuse',
-       NS_PROJECT            => $wgMetaNamespace,
-       NS_PROJECT_TALK       => $wgMetaNamespace . '_diskuse',
-       NS_IMAGE              => 'Soubor',
-       NS_IMAGE_TALK         => 'Soubor_diskuse',
-       NS_MEDIAWIKI          => 'MediaWiki',
-       NS_MEDIAWIKI_TALK     => 'MediaWiki_diskuse',
-       NS_TEMPLATE           => 'Šablona',
-       NS_TEMPLATE_TALK      => 'Šablona_diskuse',
-       NS_HELP               => 'Nápověda',
-       NS_HELP_TALK          => 'Nápověda_diskuse',
-       NS_CATEGORY           => 'Kategorie',
-       NS_CATEGORY_TALK      => 'Kategorie_diskuse',
-) + $wgNamespaceNamesEn;
-
-/* private */ $wgQuickbarSettingsCs = array(
-       'Žádný', 'Leží vlevo', 'Leží vpravo', 'Visí vlevo'
-);
-
-/* private */ $wgSkinNamesCs = array(
-       'standard'            => 'Standard',
-       'nostalgia'           => 'Nostalgie',
-       'cologneblue'         => 'Kolínská modř',
-       'chick'               => 'Kuře'
-) + $wgSkinNamesEn;
-
-# Hledání knihy podle ISBN
-# $wgBookstoreListCs = ..
-/* private */ $wgBookstoreListCs = array(
-    'Národní knihovna'                       => 'http://sigma.nkp.cz/F/?func=find-a&find_code=ISN&request=$1',
-    'Státní technická knihovna' => 'http://www.stk.cz/cgi-bin/dflex/CZE/STK/BROWSE?A=01&V=$1'
-) + $wgBookstoreListEn;
-
-# Note to translators:
-#   Please include the English words as synonyms.  This allows people
-#   from other wikis to contribute more easily.
-#
-# Nepoužívá se, pro používání je třeba povolit getMagicWords dole v LanguageCs.
-/* private */ $wgMagicWordsCs = array(
-##   ID                                 CASE  SYNONYMS
-       'redirect'               => array( 0,    '#REDIRECT',        '#PŘESMĚRUJ'     ),
-       'notoc'                  => array( 0,    '__NOTOC__',        '__BEZOBSAHU__'  ),
-       'forcetoc'               => array( 0,    '__FORCETOC__',     '__VŽDYOBSAH__'  ),
-       'toc'                    => array( 0,    '__TOC__',          '__OBSAH__'      ),
-       'noeditsection'          => array( 0,    '__NOEDITSECTION__', '__BEZEDITOVATČÁST__' ),
-       'start'                  => array( 0,    '__START__',        '__ZAČÁTEK__'        ),
-       'currentmonth'           => array( 1,    'CURRENTMONTH',     'AKTUÁLNÍMĚSÍC'      ),
-       'currentmonthname'       => array( 1,    'CURRENTMONTHNAME', 'AKTUÁLNÍMĚSÍCJMÉNO' ),
-       'currentmonthnamegen'    => array( 1,    'CURRENTMONTHNAMEGEN', 'AKTUÁLNÍMĚSÍCGEN' ),
-#      'currentmonthabbrev'     => array( 1,    'CURRENTMONTHABBREV' 'AKTUÁLNÍMĚSÍCZKR'  ),
-       'currentday'             => array( 1,    'CURRENTDAY',       'AKTUÁLNÍDEN' ),
-       'currentdayname'         => array( 1,    'CURRENTDAYNAME',   'AKTUÁLNÍDENJMÉNO'   ),
-       'currentyear'            => array( 1,    'CURRENTYEAR',      'AKTUÁLNÍROK'        ),
-       'currenttime'            => array( 1,    'CURRENTTIME',      'AKTUÁLNÍČAS'        ),
-       'numberofarticles'       => array( 1,    'NUMBEROFARTICLES', 'POČETČLÁNKŮ'        ),
-       'pagename'               => array( 1,    'PAGENAME',         'NÁZEVSTRANY'        ),
-       'pagenamee'                      => array( 1,    'PAGENAMEE',        'NÁZEVSTRANYE'       ),
-       'namespace'              => array( 1,    'NAMESPACE',        'JMENNÝPROSTOR'      ),
-       'msg'                    => array( 0,    'MSG:'                   ),
-       'subst'                  => array( 0,    'SUBST:',           'VLOŽIT:'            ),
-       'msgnw'                  => array( 0,    'MSGNW:',           'VLOŽITNW:'          ),
-       'end'                    => array( 0,    '__END__',          '__KONEC__'          ),
-       'img_thumbnail'          => array( 1,    'thumbnail', 'thumb', 'náhled'           ),
-       'img_right'              => array( 1,    'right',            'vpravo'             ),
-       'img_left'               => array( 1,    'left',             'vlevo'              ),
-       'img_none'               => array( 1,    'none',             'žádné'              ),
-       'img_width'              => array( 1,    '$1px'                   ),
-       'img_center'             => array( 1,    'center', 'centre', 'střed'              ),
-       'img_framed'             => array( 1,    'framed', 'enframed', 'frame', 'rám'     ),
-       'int'                    => array( 0,    'INT:'                   ),
-       'sitename'               => array( 1,    'SITENAME',         'NÁZEVSERVERU'       ),
-       'ns'                     => array( 0,    'NS:'                    ),
-       'localurl'               => array( 0,    'LOCALURL:',        'MÍSTNÍURL:'         ),
-       'localurle'              => array( 0,    'LOCALURLE:',       'MÍSTNÍURLE:'        ),
-       'server'                 => array( 0,    'SERVER'                 ),
-       'revisionid'             => array( 1,    'REVISIONID',       'IDREVIZE'           )
-);
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesCs.php');
-}
-
 #--------------------------------------------------------------------------
 # Internationalisation code
 #--------------------------------------------------------------------------
 
-class LanguageCs extends LanguageUtf8 {
+class LanguageCs extends Language {
+       function fixUpSettings() {
+               parent::fixUpSettings();
 
-       function getBookstoreList () {
-               global $wgBookstoreListCs ;
-               return $wgBookstoreListCs ;
-       }
-
-       function getNamespaces() {
-               global $wgNamespaceNamesCs;
-               return $wgNamespaceNamesCs;
-       }
-
-       function getNsIndex( $text ) {
-               global $wgNamespaceNamesCs;
-
-               foreach ( $wgNamespaceNamesCs as $i => $n ) {
-                       if ( 0 == strcasecmp( $n, $text ) ) { return $i; }
+               # Yucky hardcoding hack
+               global $wgMetaNamespace;
+               if ( $wgMetaNamespace == 'Wikipedie' || $wgMetaNamespace == 'Wikipedia' ) {
+                       $this->namespaceNames[NS_USER] = 'Wikipedista'; 
                }
-               return false;
-       }
-
-       function getQuickbarSettings() {
-               global $wgQuickbarSettingsCs;
-               return $wgQuickbarSettingsCs;
-       }
-
-       function getSkinNames() {
-               global $wgSkinNamesCs;
-               return $wgSkinNamesCs;
-       }
-
-       function getMonthNameGen( $key ) {
-               #TODO: převést na return $this->convertGrammar( $this->getMonthName( $key ), '2sg' );
-               global $wgMonthNamesGenEn, $wgContLang;
-               // see who called us and use the correct message function
-               if( get_class( $wgContLang->getLangObj() ) == get_class( $this ) )
-                       return wfMsgForContent( $wgMonthNamesGenEn[$key-1] );
-               else
-                       return wfMsg( $wgMonthNamesGenEn[$key-1] );
-       }
-
-       function formatMonth( $month, $format ) {
-               return intval( $month ) . '.';
-       }
-
-       function formatDay( $day, $format ) {
-               return intval( $day ) . '.';
-       }
-
-       function getMessage( $key ) {
-               global $wgAllMessagesCs;
-               if(array_key_exists($key, $wgAllMessagesCs))
-                       return $wgAllMessagesCs[$key];
-               else
-                       return parent::getMessage($key);
-       }
-
-       function getAllMessages() {
-               global $wgAllMessagesCs;
-               return $wgAllMessagesCs;
-       }
-
-       function checkTitleEncoding( $s ) {
-
-               # Check for non-UTF-8 URLs; assume they are WinLatin2
-               $ishigh = preg_match( '/[\x80-\xff]/', $s);
-               $isutf = ($ishigh ? preg_match( '/^([\x00-\x7f]|[\xc0-\xdf][\x80-\xbf]|' .
-               '[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xf7][\x80-\xbf]{3})+$/', $s ) : true );
-
-               if( $ishigh and !$isutf ) {
-                       return iconv( 'cp1250', 'utf-8', $s );
-               }
-
-               return $s;
-       }
-
-       function separatorTransformTable() {
-               return array(',' => "\xc2\xa0", '.' => ',' );
+               $this->namespaceNames[NS_USER_TALK] = str_replace( '$1', 
+                       $this->namespaceNames[NS_USER], $this->namespaceNames[NS_USER_TALK] );
        }
 
        # Grammatical transformations, needed for inflected languages
diff --git a/languages/LanguageCsb.php b/languages/LanguageCsb.php
deleted file mode 100644 (file)
index 890394f..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
-/**
- * @package MediaWiki
- * @subpackage Language
- */
-
-$wgNamespaceNamesCsb = array(
-       NS_MEDIA            => 'Media',
-       NS_SPECIAL          => 'Specjalnô',
-       NS_MAIN             => '',
-       NS_TALK             => 'Diskùsëjô',
-       NS_USER             => 'Brëkòwnik',
-       NS_USER_TALK        => 'Diskùsëjô_brëkòwnika',
-       NS_PROJECT          => $wgMetaNamespace,
-       NS_PROJECT_TALK     => 'Diskùsëjô_' . $wgMetaNamespace,
-       NS_IMAGE            => 'Òbrôzk',
-       NS_IMAGE_TALK       => 'Diskùsëjô_òbrôzków',
-       NS_MEDIAWIKI        => 'MediaWiki',
-       NS_MEDIAWIKI_TALK   => 'Diskùsëjô_MediaWiki',
-       NS_TEMPLATE         => 'Szablóna',
-       NS_TEMPLATE_TALK    => 'Diskùsëjô_Szablónë',
-       NS_HELP             => 'Pòmòc',
-       NS_HELP_TALK        => 'Diskùsëjô_Pòmòcë',
-       NS_CATEGORY         => 'Kategòrëjô',
-       NS_CATEGORY_TALK    => 'Diskùsëjô_Kategòrëji'
-);
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesCsb.php');
-}
-
-require_once( 'LanguageUtf8.php' );
-class LanguageCsb extends LanguageUtf8 {
-       function getNamespaces() {
-               global $wgNamespaceNamesCsb;
-               return $wgNamespaceNamesCsb;
-       }
-
-       function getMessage( $key ) {
-               global $wgAllMessagesCsb;
-               if( isset( $wgAllMessagesCsb[$key] ) ) {
-                       return $wgAllMessagesCsb[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-}
-?>
diff --git a/languages/LanguageCv.deps.php b/languages/LanguageCv.deps.php
deleted file mode 100644 (file)
index 2455238..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageCv.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
-
-require_once( "LanguageRu.php" );
-?>
\ No newline at end of file
diff --git a/languages/LanguageCv.php b/languages/LanguageCv.php
deleted file mode 100644 (file)
index 7cf4b24..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-<?php
-/** Chuvash (Чăвашла)
- *
- * @package MediaWiki
- * @subpackage Language
- */
-
-# Chuvash stub localization; default to Russian instead of English.
-
-# Cyrillic chars:   Ӑӑ Ӗӗ Ҫҫ Ӳӳ
-# Latin substitute: Ăă Ĕĕ Çç Ÿÿ
-# Where are latin substitute in this file because of font problems.
-
-require_once( "LanguageRu.php" );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesCv.php');
-}
-
-class LanguageCv extends LanguageRu {
-       private $mMessagesCv, $mNamespaceNamesCv = null;
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesCv;
-               $this->mMessagesCv =& $wgAllMessagesCv;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesCv = array(
-                       NS_MEDIA            => 'Медиа',
-                       NS_SPECIAL          => 'Ятарлă',
-                       NS_MAIN             => '',
-                       NS_TALK             => 'Сӳтсе явасси',
-                       NS_USER             => 'Хутшăнакан',
-                       NS_USER_TALK        => 'Хутшăнаканăн_канашлу_страници',
-                       NS_PROJECT          => $wgMetaNamespace,
-                       NS_PROJECT_TALK     => $wgMetaNamespace . '_сӳтсе_явмалли',
-                       NS_IMAGE            => 'Ӳкерчĕк',
-                       NS_IMAGE_TALK       => 'Ӳкерчĕке_сӳтсе_явмалли',
-                       NS_MEDIAWIKI        => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK   => 'MediaWiki_сӳтсе_явмалли',
-                       NS_TEMPLATE         => 'Шаблон',
-                       NS_TEMPLATE_TALK    => 'Шаблона_сӳтсе_явмалли',
-                       NS_HELP             => 'Пулăшу',
-                       NS_HELP_TALK        => 'Пулăшăва_сӳтсе_явмалли',
-                       NS_CATEGORY         => 'Категори',
-                       NS_CATEGORY_TALK    => 'Категорине_сӳтсе_явмалли',
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesCv + parent::getNamespaces();
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesCv[$key] ) ) {
-                       return $this->mMessagesCv[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesCv;
-       }
-
-       function getFallbackLanguage() {
-               return 'ru';
-       }
-
-       function date( $ts, $adj = false, $format = true, $timecorrection = false ) {
-
-               if ( $adj ) { $ts = $this->userAdjust( $ts, $timecorrection ); }
-
-               $datePreference = $this->dateFormat( $format );
-               if( $datePreference == MW_DATE_DEFAULT ) {
-                       $datePreference = MW_DATE_YMD;
-               }
-
-               $month = $this->formatMonth( substr( $ts, 4, 2 ), $datePreference );
-               $day = $this->formatDay( substr( $ts, 6, 2 ), $datePreference );
-               $year = $this->formatNum( substr( $ts, 0, 4 ), true );
-
-               switch( $datePreference ) {
-                       case MW_DATE_DMY: return "$day $month $year";
-                       case MW_DATE_YMD: return "$year, $month, $day";
-                       case MW_DATE_ISO: return substr($ts, 0, 4). '-' . substr($ts, 4, 2). '-' .substr($ts, 6, 2);
-                       default: return "$year, $month, $day";
-               }
-
-
-       }
-
-       //only for quotation mark
-       function linkPrefixExtension() { return true; }
-}
-?>
diff --git a/languages/LanguageCy.php b/languages/LanguageCy.php
deleted file mode 100644 (file)
index d6c94b4..0000000
+++ /dev/null
@@ -1,137 +0,0 @@
-<?php
-/**
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-/* Cymraeg - Welsh */
-
-/* private */ $wgNamespaceNamesCy = array(
-       NS_MEDIA          => "Media",
-       NS_SPECIAL        => "Arbennig",
-       NS_MAIN           => "",
-       NS_TALK           => "Sgwrs",
-       NS_USER           => "Defnyddiwr",
-       NS_USER_TALK      => "Sgwrs_Defnyddiwr",
-       NS_PROJECT        => $wgMetaNamespace,
-       NS_PROJECT_TALK   => "Sgwrs_".$wgMetaNamespace,
-       NS_IMAGE          => "Delwedd",
-       NS_IMAGE_TALK     => "Sgwrs_Delwedd",
-       NS_MEDIAWIKI      => "MediaWici",
-       NS_MEDIAWIKI_TALK => "Sgwrs_MediaWici",
-       NS_TEMPLATE       => "Nodyn",
-       NS_TEMPLATE_TALK  => "Sgwrs_Nodyn",
-       NS_CATEGORY               => "Categori",
-       NS_CATEGORY_TALK  => "Sgwrs_Categori",
-       NS_HELP                   => "Cymorth",
-       NS_HELP_TALK      => "Sgwrs Cymorth"
-) + $wgNamespaceNamesEn;
-
-/* private */ $wgQuickbarSettingsCy = array(
-       "Dim", "Sefydlog chwith", "Sefydlog de", "Arnawf de"
-);
-
-/* private */ $wgSkinNamesCy = array(
-       'standard' => "Safonol",
-       'nostalgia' => "Hiraeth",
-       'cologneblue' => "Glas Cwlen",
-) + $wgSkinNamesEn;
-
-/* private */ $wgDateFormatsCy = array(
-#      "Dim dewis",
-);
-
-/* private */ $wgBookstoreListCy = array(
-       "AddALL" => "http://www.addall.com/New/Partner.cgi?query=$1&type=ISBN",
-       "PriceSCAN" => "http://www.pricescan.com/books/bookDetail.asp?isbn=$1",
-       "Barnes & Noble" => "http://search.barnesandnoble.com/bookSearch/isbnInquiry.asp?isbn=$1",
-       "Amazon.com" => "http://www.amazon.com/exec/obidos/ISBN=$1",
-       "Amazon.co.uk" => "http://www.amazon.co.uk/exec/obidos/ISBN=$1"
-);
-
-
-/* private */ $wgMagicWordsCy = array(
-#   ID                                 CASE  SYNONYMS
-       'redirect'               => array( 0,    "#redirect", "#ail-cyfeirio"                 ),
-       'notoc'                  => array( 0,    "__NOTOC__", "__DIMTAFLENCYNNWYS__"          ),
-       'noeditsection'          => array( 0,    "__NOEDITSECTION__", "__DIMADRANGOLYGU__"    ),
-       'start'                  => array( 0,    "__START__", "__DECHRAU__"                   ),
-       'currentmonth'           => array( 1, "CURRENTMONTH", "MISCYFOES"                ),
-       'currentmonthname'       => array( 1,    "CURRENTMONTHNAME", "ENWMISCYFOES"           ),
-       'currentday'             => array( 1,    "CURRENTDAY", "DYDDIADCYFOES"                ),
-       'currentdayname'         => array( 1,    "CURRENTDAYNAME", "ENWDYDDCYFOES"            ),
-       'currentyear'            => array( 1,    "CURRENTYEAR", "FLWYDDYNCYFOES"              ),
-       'currenttime'            => array( 1,    "CURRENTTIME", "AMSERCYFOES"                 ),
-       'numberofarticles'       => array( 1, "NUMBEROFARTICLES","NIFEROERTHYGLAU"       ),
-       'currentmonthnamegen'    => array( 1,    "CURRENTMONTHNAMEGEN", "GENENWMISCYFOES"     ),
-       'subst'                  => array( 1,    "SUBST:"                                     ),
-       'msgnw'                  => array( 0,    "MSGNW:"                                     ),
-       'end'                    => array( 0, "__DIWEDD__"                                   ),
-       'img_thumbnail'          => array( 1, "ewin bawd", "bawd", "thumb", "thumbnail"  ),
-       'img_right'              => array( 1,    "de", "right"                                ),
-       'img_left'               => array( 1,    "chwith", "left"                             ),
-       'img_none'               => array( 1,    "dim", "none"                                ),
-       'img_width'              => array( 1,    "$1px"                                       ),
-       'img_center'             => array( 1, "canol", "centre", "center"                ),
-       'int'                    => array( 0,    "INT:"                                       )
-
-);
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesCy.php');
-}
-
-
-/** */
-require_once( 'LanguageUtf8.php' );
-
-/** @package MediaWiki */
-class LanguageCy extends LanguageUtf8 {
-
-       function getBookstoreList () {
-               global $wgBookstoreListCy;
-               return $wgBookstoreListCy;
-       }
-
-       function getNamespaces() {
-               global $wgNamespaceNamesCy;
-               return $wgNamespaceNamesCy;
-       }
-
-       function getQuickbarSettings() {
-               global $wgQuickbarSettingsCy;
-               return $wgQuickbarSettingsCy;
-       }
-
-       function getSkinNames() {
-               global $wgSkinNamesCy;
-               return $wgSkinNamesCy;
-       }
-
-       function getDateFormats() {
-               global $wgDateFormatsCy;
-               return $wgDateFormatsCy;
-       }
-
-       function getMessage( $key ) {
-               global $wgAllMessagesCy;
-               if( isset( $wgAllMessagesCy[$key] ) ) {
-                       return $wgAllMessagesCy[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               global $wgAllMessagesCy;
-               return $wgAllMessagesCy;
-       }
-
-       function &getMagicWords() {
-               global $wgMagicWordsCy, $wgMagicWordsEn;
-               return $wgMagicWordsCy + $wgMagicWordsEn;
-       }
-
-}
-
-?>
diff --git a/languages/LanguageDa.php b/languages/LanguageDa.php
deleted file mode 100644 (file)
index ae7d2f6..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-<?php
-/** Danish (Dansk)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-/** */
-require_once( 'LanguageUtf8.php' );
-
-/* private */ $wgNamespaceNamesDa = array(
-       NS_MEDIA                        => 'Media',
-       NS_SPECIAL                      => 'Speciel',
-       NS_MAIN                         => '',
-       NS_TALK                         => 'Diskussion',
-       NS_USER                         => 'Bruger',
-       NS_USER_TALK            => 'Bruger_diskussion',
-       NS_PROJECT                      => $wgMetaNamespace,
-       NS_PROJECT_TALK         => $wgMetaNamespace.'_diskussion',
-       NS_IMAGE                        => 'Billede',
-       NS_IMAGE_TALK           => 'Billede_diskussion',
-       NS_MEDIAWIKI            => 'MediaWiki',
-       NS_MEDIAWIKI_TALK       => 'MediaWiki_diskussion',
-       NS_TEMPLATE             => 'Skabelon',
-       NS_TEMPLATE_TALK        => 'Skabelon_diskussion',
-       NS_HELP                         => 'Hjælp',
-       NS_HELP_TALK            => 'Hjælp_diskussion',
-       NS_CATEGORY                     => 'Kategori',
-       NS_CATEGORY_TALK        => 'Kategori_diskussion'
-
-) + $wgNamespaceNamesEn;
-
-/* private */ $wgQuickbarSettingsDa = array(
-       'Ingen', 'Fast venstre', 'Fast højre', 'Flydende venstre'
-);
-
-/* private */ $wgSkinNamesDa = array(
-       'standard' => 'Klassisk',
-       'nostalgia' => 'Nostalgi',
-       'cologneblue' => 'Cologne-blå',
-) + $wgSkinNamesEn;
-
-/* private */ $wgDateFormatsDa = array();
-
-
-/* private */ $wgBookstoreListDa = array(
-       "Bibliotek.dk" => "http://bibliotek.dk/vis.php?base=dfa&origin=kommando&field1=ccl&term1=is=$1&element=L&start=1&step=10",
-       "Bogguide.dk" => "http://www.bogguide.dk/find_boeger_bog.asp?ISBN=$1",
-) + $wgBookstoreListEn;
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesDa.php');
-}
-
-/** @package MediaWiki */
-class LanguageDa extends LanguageUtf8 {
-
-       function getBookstoreList () {
-               global $wgBookstoreListDa ;
-               return $wgBookstoreListDa ;
-       }
-
-       function getNamespaces() {
-               global $wgNamespaceNamesDa;
-               return $wgNamespaceNamesDa;
-       }
-
-       function getQuickbarSettings() {
-               global $wgQuickbarSettingsDa;
-               return $wgQuickbarSettingsDa;
-       }
-
-       function getSkinNames() {
-               global $wgSkinNamesDa;
-               return $wgSkinNamesDa;
-       }
-
-       function getDateFormats() {
-               global $wgDateFormatsDa;
-               return $wgDateFormatsDa;
-       }
-
-       /**
-        * $format and $timecorrection are for compatibility with Language::date
-        */
-       function date( $ts, $adj = false, $format = true, $timecorrection = false ) {
-               if ( $adj ) { $ts = $this->userAdjust( $ts ); }
-
-               $d = (0 + substr( $ts, 6, 2 )) . ". " .
-                 $this->getMonthAbbreviation( substr( $ts, 4, 2 ) ) . " " .
-                 substr( $ts, 0, 4 );
-               return $d;
-       }
-
-       /**
-        * $format and $timecorrection are for compatibility with Language::date
-        */
-       function timeanddate( $ts, $adj = false, $format = true, $timecorrection = false ) {
-               return $this->date( $ts, $adj ) . " kl. " . $this->time( $ts, $adj );
-       }
-
-       function getMessage( $key ) {
-               global $wgAllMessagesDa;
-               if( isset( $wgAllMessagesDa[$key] ) ) {
-                       return $wgAllMessagesDa[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function separatorTransformTable() {
-               return array(',' => '.', '.' => ',' );
-       }
-
-}
-
-?>
diff --git a/languages/LanguageDe.php b/languages/LanguageDe.php
deleted file mode 100644 (file)
index c69a81f..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-<?php
-/** German (Deutsch)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  *
-  * @bug 4563
-  */
-
-/** */
-require_once( 'LanguageUtf8.php' );
-
-/* private */ $wgNamespaceNamesDe = array(
-       NS_MEDIA            => 'Media',
-       NS_SPECIAL          => 'Spezial',
-       NS_MAIN             => '',
-       NS_TALK             => 'Diskussion',
-       NS_USER             => 'Benutzer',
-       NS_USER_TALK        => 'Benutzer_Diskussion',
-       NS_PROJECT          => $wgMetaNamespace,
-       NS_PROJECT_TALK     => $wgMetaNamespace . '_Diskussion',
-       NS_IMAGE            => 'Bild',
-       NS_IMAGE_TALK       => 'Bild_Diskussion',
-       NS_MEDIAWIKI        => 'MediaWiki',
-       NS_MEDIAWIKI_TALK   => 'MediaWiki_Diskussion',
-       NS_TEMPLATE         => 'Vorlage',
-       NS_TEMPLATE_TALK    => 'Vorlage_Diskussion',
-       NS_HELP             => 'Hilfe',
-       NS_HELP_TALK        => 'Hilfe_Diskussion',
-       NS_CATEGORY         => 'Kategorie',
-       NS_CATEGORY_TALK    => 'Kategorie_Diskussion'
-) + $wgNamespaceNamesEn;
-
-/* private */ $wgQuickbarSettingsDe = array(
-       'Keine', 'Links, fest', 'Rechts, fest', 'Links, schwebend'
-);
-
-/* private */ $wgSkinNamesDe = array(
-       'standard'      => 'Klassik',
-       'nostalgia'     => 'Nostalgie',
-       'cologneblue'   => 'Kölnisch Blau',
-       'smarty'        => 'Paddington',
-       'montparnasse'  => 'Montparnasse',
-       'davinci'       => 'DaVinci',
-       'mono'          => 'Mono',
-       'monobook'      => 'MonoBook',
-       'myskin'        => 'MySkin',
-       'chick'         => 'Küken'
-);
-
-
-/* private */ $wgBookstoreListDe = array(
-       'abebooks.de' => 'http://www.abebooks.de/servlet/BookSearchPL?ph=2&isbn=$1',
-       'amazon.de' => 'http://www.amazon.de/exec/obidos/ISBN=$1',
-       'buch.de' => 'http://www.buch.de/de.buch.shop/shop/1/home/schnellsuche/buch/?fqbi=$1',
-       'buchhandel.de' => 'http://www.buchhandel.de/vlb/vlb.cgi?type=voll&isbn=$1',
-       'Karlsruher Virtueller Katalog (KVK)' => 'http://www.ubka.uni-karlsruhe.de/kvk.html?SB=$1',
-       'Lehmanns Fachbuchhandlung' => 'http://www.lob.de/cgi-bin/work/suche?flag=new&stich1=$1'
-);
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesDe.php');
-}
-
-/** @package MediaWiki */
-class LanguageDe extends LanguageUtf8 {
-
-       function getBookstoreList() {
-               global $wgBookstoreListDe ;
-               return $wgBookstoreListDe ;
-       }
-
-       function getNamespaces() {
-               global $wgNamespaceNamesDe;
-               return $wgNamespaceNamesDe;
-       }
-
-       function getQuickbarSettings() {
-               global $wgQuickbarSettingsDe;
-               return $wgQuickbarSettingsDe;
-       }
-
-       function getSkinNames() {
-               global $wgSkinNamesDe;
-               return $wgSkinNamesDe;
-       }
-
-       function formatMonth( $month, $format ) {
-               return $this->getMonthAbbreviation( $month );
-       }
-
-       function formatDay( $day, $format ) {
-               return parent::formatDay( $day, $format ) . '.';
-       }
-
-       function getMessage( $key ) {
-               global $wgAllMessagesDe;
-               if( isset( $wgAllMessagesDe[$key] ) ) {
-                       return $wgAllMessagesDe[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function separatorTransformTable() {
-               return array(',' => '.', '.' => ',' );
-       }
-
-       function linkTrail() {
-               return '/^([äöüßa-z]+)(.*)$/sDu';
-       }
-
-
-}
-
-?>
diff --git a/languages/LanguageDv.php b/languages/LanguageDv.php
deleted file mode 100644 (file)
index cb4de84..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-/** Dhivehi language file ( ދިވެހިބަސް',      )
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-require_once( 'LanguageUtf8.php' );
-
-class LanguageDv extends LanguageUtf8 {
-       #FIXME: inherit almost everything for now
-
-       function isRTL() {
-               return true;
-       }
-}
-
-?>
diff --git a/languages/LanguageDz.php b/languages/LanguageDz.php
deleted file mode 100644 (file)
index a4d8b3e..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-/** Dzongkha (རྫོང་ཁ)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  *
-  * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
-  */
-
-require_once( 'LanguageUtf8.php' );
-
-class LanguageDz extends LanguageUtf8 {
-       function digitTransformTable() {
-               return array(
-                       '0' => '༠',
-                       '1' => '༡',
-                       '2' => '༢',
-                       '3' => '༣',
-                       '4' => '༤',
-                       '5' => '༥',
-                       '6' => '༦',
-                       '7' => '༧',
-                       '8' => '༨',
-                       '9' => '༩'
-               );
-       }
-
-}
-
-?>
diff --git a/languages/LanguageEl.php b/languages/LanguageEl.php
deleted file mode 100644 (file)
index 9f36ef4..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-<?php
-/** Greek (Ελληνικά)
-  *
-  * Translation by Pasok Internet Volunteers
-  * http://forum.pasok.gr
-  * version 1.0 (initial release)
-  *
-  *The project for the translation of MediaWiki into Greek
-  *was undertaken by a group of ICT volunteers working under
-  *the auspices of the Greek political party PASOK.
-  *
-  *The idea behind this effort was  to provide an extensible,
-  *easy-to-use and non-intimidating tool for content development
-  *and project management, to be used throughout the administrative
-  *and political structure of PASOK by staff, volunteers, party members
-  *and elected officials (all of whom possess varying degrees of ICT skills).
-  *
-  *The PASOK ICT team and the volunteers who worked on this project are
-  *now returning the translated interface to the Open-Source Community
-  *with over 98% of the messages translated into user-friendly Greek.
-  *
-  *We hope that it will be used as a tool by other civil society organizations
-  *in Greece, and that it will enhance the collective creation and the dissemination
-  *of knowledge - an essential component of the democratic process.
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesEl.php');
-}
-
-class LanguageEl extends LanguageUtf8 {
-       private $mMessagesEl, $mNamespaceNamesEl = null;
-       
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesEl;
-               $this->mMessagesEl =& $wgAllMessagesEl;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesEl = array(
-                       NS_MEDIA            => 'Μέσον',
-                       NS_SPECIAL          => 'Ειδικό',
-                       NS_MAIN             => '',
-                       NS_TALK             => 'Συζήτηση',
-                       NS_USER             => 'Χρήστης',
-                       NS_USER_TALK        => 'Συζήτηση_χρήστη',
-                       NS_PROJECT          => $wgMetaNamespace,
-                       NS_PROJECT_TALK     => $wgMetaNamespace . '_συζήτηση',
-                       NS_IMAGE            => 'Εικόνα',
-                       NS_IMAGE_TALK       => 'Συζήτηση_εικόνας',
-                       NS_MEDIAWIKI        => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK   => 'MediaWiki_talk',
-                       NS_TEMPLATE         => 'Πρότυπο',
-                       NS_TEMPLATE_TALK    => 'Συζήτηση_προτύπου',
-                       NS_HELP             => 'Βοήθεια',
-                       NS_HELP_TALK        => 'Συζήτηση_βοήθειας',
-                       NS_CATEGORY         => 'Κατηγορία',
-                       NS_CATEGORY_TALK    => 'Συζήτηση_κατηγορίας',
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesEl + parent::getNamespaces();
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesEl[$key] ) ) {
-                       return $this->mMessagesEl[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesEl;
-       }
-
-       function fallback8bitEncoding() {
-               return 'iso-8859-7';
-       }
-
-       function separatorTransformTable() {
-               return array(',' => '.', '.' => ',' );
-       }
-
-}
-
-?>
diff --git a/languages/LanguageEn.php b/languages/LanguageEn.php
deleted file mode 100644 (file)
index 3feba17..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-/** English (English)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-/** */
-require_once( 'LanguageUtf8.php' );
-
-/** @package MediaWiki */
-class LanguageEn extends LanguageUtf8 {
-       # Inherit everything
-}
-
-?>
index bfb5b27..a62ccc9 100644 (file)
@@ -4,96 +4,7 @@
   * @subpackage Language
   */
 
-require_once('LanguageUtf8.php');
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesEo.php');
-}
-
-class LanguageEo extends LanguageUtf8 {
-       private $mMessagesEo, $mNamespaceNamesEo = null;
-
-       private $mQuickbarSettingsEo = array(
-               'Nenia', 'Fiksiĝas maldekstre', 'Fiksiĝas dekstre', 'Ŝvebas maldekstre'
-       );
-       
-       private $mSkinNamesEo = array(
-               'standard' => 'Klasika',
-               'nostalgia' => 'Nostalgio',
-               'cologneblue' => 'Kolonja Bluo',
-               'mono' => 'Senkolora',
-               'monobook' => 'Librejo',
-               'chick' => 'Kokido',
-       );
-               
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesEo;
-               $this->mMessagesEo =& $wgAllMessagesEo;
-
-               global $wgMetaNamespace, $wgMetaNamespaceTalk;
-               $this->mNamespaceNamesEo = array(
-                       NS_MEDIA          => 'Media',
-                       NS_SPECIAL        => 'Speciala',
-                       NS_MAIN           => '',
-                       NS_TALK           => 'Diskuto',
-                       NS_USER           => 'Vikipediisto', # FIXME: Generalize v-isto kaj v-io
-                       NS_USER_TALK      => 'Vikipediista_diskuto',
-                       NS_PROJECT        => $wgMetaNamespace,
-                       NS_PROJECT_TALK   => ( $wgMetaNamespaceTalk ? $wgMetaNamespaceTalk : $wgMetaNamespace.'_diskuto' ),
-                       NS_IMAGE          => 'Dosiero', #FIXME: Check the magic for Image: and Media:
-                       NS_IMAGE_TALK     => 'Dosiera_diskuto',
-                       NS_MEDIAWIKI      => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK => 'MediaWiki_diskuto',
-                       NS_TEMPLATE       => 'Ŝablono',
-                       NS_TEMPLATE_TALK  => 'Ŝablona_diskuto',
-                       NS_HELP           => 'Helpo',
-                       NS_HELP_TALK      => 'Helpa_diskuto',
-                       NS_CATEGORY       => 'Kategorio',
-                       NS_CATEGORY_TALK  => 'Kategoria_diskuto',
-               );
-
-       }
-       function getDefaultUserOptions () {
-               $opt = parent::getDefaultUserOptions();
-               $opt['altencoding'] = 0;
-               return $opt;
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesEo + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsEo;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesEo + parent::getSkinNames();
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesEo[$key] ) ) {
-                       return $this->mMessagesEo[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesEo;
-       }
-
-       # La dato- kaj tempo-funkciojn oni povas precizigi laŭ lingvo
-       function formatMonth( $month, $format ) {
-               return $this->getMonthAbbreviation( $month );
-       }
-
-       function formatDay( $day, $format ) {
-               return parent::formatDay( $day, $format ) . '.';
-       }
-
+class LanguageEo extends Language {
        function iconv( $in, $out, $string ) {
                # For most languages, this is a wrapper for iconv
                # Por multaj lingvoj, ĉi tiu nur voku la sisteman funkcion iconv()
@@ -155,23 +66,9 @@ class LanguageEo extends LanguageUtf8 {
        }
 
        function initEncoding() {
-               global $wgEditEncoding, $wgInputEncoding, $wgOutputEncoding;
-               $wgInputEncoding = 'utf-8';
-               $wgOutputEncoding = 'utf-8';
+               global $wgEditEncoding;
                $wgEditEncoding = 'x';
        }
-
-       function setAltEncoding() {
-               global $wgEditEncoding, $wgInputEncoding, $wgOutputEncoding;
-               $wgInputEncoding = 'utf-8';
-               $wgOutputEncoding = 'x';
-               $wgEditEncoding = '';
-       }
-
-       function separatorTransformTable() {
-               return array(',' => ' ', '.' => ',' );
-       }
-
 }
 
 ?>
diff --git a/languages/LanguageEs.php b/languages/LanguageEs.php
deleted file mode 100644 (file)
index 0c8ff51..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-<?php
-/** Spanish (Español)
-  *
-  * @bug 4401
-  * @bug 4424
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesEs.php');
-}
-
-class LanguageEs extends LanguageUtf8 {
-       private $mMessagesEs, $mNamespaceNamesEs = null;
-
-       private $mQuickbarSettingsEs = array(
-               'Ninguna', 'Fija a la izquierda', 'Fija a la derecha', 'Flotante a la izquierda'
-       );
-       
-       private $mSkinNamesEs = array(
-               'standard' => 'Estándar',
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesEs;
-               $this->mMessagesEs =& $wgAllMessagesEs;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesEs = array(
-                       NS_MEDIA          => 'Media',
-                       NS_SPECIAL        => 'Especial',
-                       NS_MAIN           => '',
-                       NS_TALK           => 'Discusión',
-                       NS_USER           => 'Usuario',
-                       NS_USER_TALK      => 'Usuario_Discusión',
-                       NS_PROJECT        => $wgMetaNamespace,
-                       NS_PROJECT_TALK   => $wgMetaNamespace . '_Discusión',
-                       NS_IMAGE          => 'Imagen',
-                       NS_IMAGE_TALK     => 'Imagen_Discusión',
-                       NS_MEDIAWIKI      => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK => 'MediaWiki_Discusión',
-                       NS_TEMPLATE       => 'Plantilla',
-                       NS_TEMPLATE_TALK  => 'Plantilla_Discusión',
-                       NS_HELP           => 'Ayuda',
-                       NS_HELP_TALK      => 'Ayuda_Discusión',
-                       NS_CATEGORY       => 'Categoría',
-                       NS_CATEGORY_TALK  => 'Categoría_Discusión',
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesEs + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsEs;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesEs + parent::getSkinNames();
-       }
-
-       function getDateFormats() {
-               return false;
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesEs[$key] ) ) {
-                       return $this->mMessagesEs[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesEs;
-       }
-
-       function formatMonth( $month, $format ) {
-               return $this->getMonthAbbreviation( $month );
-       }
-
-       function timeDateSeparator( $format ) {
-               return ' ';
-       }
-
-       function separatorTransformTable() {
-               return array(',' => '.', '.' => ',' );
-       }
-
-       function linkTrail() {
-               return '/^([a-záéíóúñ]+)(.*)$/sDu';
-       }
-
-}
-
-?>
index 078cc27..9284340 100644 (file)
@@ -6,132 +6,7 @@
  *
  */
 
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesEt.php');
-}
-
-class LanguageEt extends LanguageUtf8 {
-       private $mMessagesEt, $mNamespaceNamesEt = null;
-
-       private $mSkinNamesEt = array(
-               'standard' => 'Standard',
-               'nostalgia' => 'Nostalgia',
-               'cologneblue' => 'Kölni sinine',
-               'smarty' => 'Paddington',
-               'montparnasse' => 'Montparnasse',
-               'davinci' => 'DaVinci',
-               'mono' => 'Mono',
-               'monobook' => 'MonoBook',
-               'myskin' => 'Mu oma nahk'
-       );
-       
-       private $mDateFormatsEt = array(
-               'Eelistus puudub',
-               '15.01.2001, kell 16.12',
-               '15. jaanuar 2001, kell 16.12',
-               '15. I 2005, kell 16.12',
-               'ISO 8601' => '2001-01-15 16:12:34'
-       );
-       
-       private $mQuickbarSettingsEt = array(
-               'Ei_ole', 'Püsivalt_vasakul', 'Püsivalt paremal', 'Ujuvalt vasakul'
-       );
-       
-       #Lisasin eestimaised poed, aga võõramaiseid ei julenud kustutada.
-       
-       private $mBookstoreListEt = array(
-               'Apollo' => 'http://www.apollo.ee/search.php?keyword=$1&search=OTSI',
-               'minu Raamat' => 'http://www.raamat.ee/advanced_search_result.php?keywords=$1',
-               'Raamatukoi' => 'http://www.raamatukoi.ee/cgi-bin/index?valik=otsing&paring=$1',
-               'AddALL' => 'http://www.addall.com/New/Partner.cgi?query=$1&type=ISBN',
-               'PriceSCAN' => 'http://www.pricescan.com/books/bookDetail.asp?isbn=$1',
-               'Barnes & Noble' => 'http://search.barnesandnoble.com/bookSearch/isbnInquiry.asp?isbn=$1',
-               'Amazon.com' => 'http://www.amazon.com/exec/obidos/ISBN=$1'
-       );
-       
-       
-       private $mMagicWordsEt = array(
-       #   ID                                 CASE  SYNONYMS
-               'redirect'               => array( 0,    '#redirect', "#suuna"    ),
-       );
-       
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesEt;
-               $this->mMessagesEt =& $wgAllMessagesEt;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesEt = array(
-                       NS_MEDIA            => 'Meedia',
-                       NS_SPECIAL          => 'Eri',
-                       NS_MAIN             => '',
-                       NS_TALK             => 'Arutelu',
-                       NS_USER             => 'Kasutaja',
-                       NS_USER_TALK        => 'Kasutaja_arutelu',
-                       NS_PROJECT          => $wgMetaNamespace,
-                       NS_PROJECT_TALK     => $wgMetaNamespace . '_arutelu',
-                       NS_IMAGE            => 'Pilt',
-                       NS_IMAGE_TALK       => 'Pildi_arutelu',
-                       NS_MEDIAWIKI        => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK   => 'MediaWiki_arutelu',
-                       NS_TEMPLATE         => 'Mall',
-                       NS_TEMPLATE_TALK    => 'Malli_arutelu',
-                       NS_HELP             => 'Juhend',
-                       NS_HELP_TALK        => 'Juhendi_arutelu',
-                       NS_CATEGORY         => 'Kategooria',
-                       NS_CATEGORY_TALK    => 'Kategooria_arutelu'
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesEt + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsEt;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesEt + parent::getSkinNames();
-       }
-
-       function getDateFormats() {
-               return $this->mDateFormatsEt;
-       }
-
-       function getBookstoreList() {
-               return $this->mBookstoreListEt;
-       }
-
-       function &getMagicWords()  {
-               $t = $this->mMagicWordsEt + parent::getMagicWords();
-               return $t;
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesEt[$key] ) ) {
-                       return $this->mMessagesEt[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesEt;
-       }
-
-       /**
-        * Estonian numeric formatting is 123 456,78.
-        * Notice that the space is non-breaking.
-        */
-       function separatorTransformTable() {
-               return array(',' => "\xc2\xa0", '.' => ',' );
-       }
-
+class LanguageEt extends Language {
        /**
         * Avoid grouping whole numbers between 0 to 9999
         */
@@ -142,112 +17,5 @@ class LanguageEt extends LanguageUtf8 {
                        return $_;
                }
        }
-
-       /**
-        * @access public
-        * @param mixed  $ts the time format which needs to be turned into a
-        *               date('YmdHis') format with wfTimestamp(TS_MW,$ts)
-        * @param bool   $adj whether to adjust the time output according to the
-        *               user configured offset ($timecorrection)
-        * @param mixed  $format what format to return, if it's false output the
-        *               default one.
-        * @param string $timecorrection the time offset as returned by
-        *               validateTimeZone() in Special:Preferences
-        * @return string
-        */
-       function date( $ts, $adj = false, $format = true, $timecorrection = false ) {
-               global $wgAmericanDates;
-
-               if ( $adj ) { $ts = $this->userAdjust( $ts, $timecorrection ); }
-
-               $datePreference = $this->dateFormat($format);
-
-               if ($datePreference == '0'
-                   || $datePreference == '' ) {$datePreference = $wgAmericanDates ? '0' : '2';}
-
-               $month = $this->getMonthName( substr( $ts, 4, 2 ) );
-               $day = $this->formatNum( 0 + substr( $ts, 6, 2 ) );
-               $year = $this->formatNum( substr( $ts, 0, 4 ), true );
-               $lat_month = $this->monthByLatinNumber( substr ($ts, 4, 2));
-
-               switch( $datePreference ) {
-                       case '2': return "$day. $month $year";
-                       case '3': return "$day. $lat_month $year";
-                       case 'ISO 8601': return substr($ts, 0, 4). '-' . substr($ts, 4, 2). '-' .substr($ts, 6, 2);
-                       default: return substr($ts, 6, 2). '.' . substr($ts, 4, 2). '.' .substr($ts, 0, 4);
-               }
-       }
-
-       /**
-       * @access public
-       * @param mixed  $ts the time format which needs to be turned into a
-       *              date('YmdHis') format with wfTimestamp(TS_MW,$ts)
-       * @param bool   $adj whether to adjust the time output according to the
-       *              user configured offset ($timecorrection)
-       * @param mixed  $format what format to return, if it's false output the
-       *              default one (default true)
-       * @param string $timecorrection the time offset as returned by
-       *              validateTimeZone() in Special:Preferences
-       * @return string
-       */
-       function time( $ts, $adj = false, $format = true, $timecorrection = false ) {
-               global $wgUser, $wgAmericanDates;
-
-               if ( $adj ) { $ts = $this->userAdjust( $ts, $timecorrection ); }
-               $datePreference = $this->dateFormat($format);
-
-               if ($datePreference == '0') {$datePreference = $wgAmericanDates ? '0' : '2';}
-
-               if ( $datePreference === 'ISO 8601' ) {
-                       $t = substr( $ts, 8, 2 ) . ':' . substr( $ts, 10, 2 );
-                       $t .= ':' . substr( $ts, 12, 2 );
-               } else {
-                       $t = substr( $ts, 8, 2 ) . '.' . substr( $ts, 10, 2 );
-               }
-               return $t;
-       }
-
-       /**
-       * @access public
-       * @param mixed  $ts the time format which needs to be turned into a
-       *              date('YmdHis') format with wfTimestamp(TS_MW,$ts)
-       * @param bool   $adj whether to adjust the time output according to the
-       *              user configured offset ($timecorrection)
-       * @param mixed  $format what format to return, if it's false output the
-       *              default one (default true)
-       * @param string $timecorrection the time offset as returned by
-       *              validateTimeZone() in Special:Preferences
-       * @return string
-       */
-       function timeanddate( $ts, $adj = false, $format = true, $timecorrection = false) {
-               global $wgUser, $wgAmericanDates;
-
-               $datePreference = $this->dateFormat($format);
-               switch ( $datePreference ) {
-                       case 'ISO 8601': return $this->date( $ts, $adj, $datePreference, $timecorrection ) . ' ' .
-                               $this->time( $ts, $adj, $datePreference, $timecorrection );
-                       default: return $this->date( $ts, $adj, $datePreference, $timecorrection ) . ', kell ' .
-                               $this->time( $ts, $adj, $datePreference, $timecorrection );
-
-               }
-
-       }
-
-       /**
-       * retuns latin number corresponding to given month number
-       * @access public
-       * @param number
-       * @return string
-       */
-       function monthByLatinNumber( $key ) {
-               $latinNumbers= array(
-                       'I', 'II', 'III', 'IV', 'V', 'VI',
-                       'VII','VIII','IX','X','XI','XII'
-               );
-
-               return $latinNumbers[$key-1];
-       }
-
-
 }
 ?>
diff --git a/languages/LanguageEu.php b/languages/LanguageEu.php
deleted file mode 100644 (file)
index 72deced..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-/** Basque (Euskara)
- *
- * @package MediaWiki
- * @subpackage Language
- */
-
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesEu.php');
-}
-
-class LanguageEu extends LanguageUtf8 {
-       private $mMessagesEu, $mNamespaceNamesEu = null;
-
-       private $mQuickbarSettingsEu = array(
-               'Ezein ere', 'Eskuinean', 'Ezkerrean', 'Ezkerrean mugikor'
-       );
-
-       private $mSkinNamesEu = array(
-               'standard'     => 'Lehenetsia',
-               'nostalgia'    => 'Nostalgia',
-               'cologneblue'  => 'Cologne Blue',
-               'smarty'       => 'Paddington',
-               'montparnasse' => 'Montparnasse'
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesEu;
-               $this->mMessagesEu =& $wgAllMessagesEu;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesEu = array(
-                       NS_MEDIA          => 'Media',
-                       NS_SPECIAL        => 'Aparteko',
-                       NS_MAIN           => '',
-                       NS_TALK           => 'Eztabaida',
-                       NS_USER           => 'Lankide',
-                       NS_USER_TALK      => 'Lankide_eztabaida',
-                       NS_PROJECT        => $wgMetaNamespace,
-                       NS_PROJECT_TALK   => $wgMetaNamespace.'_eztabaida',
-                       NS_IMAGE          => 'Irudi',
-                       NS_IMAGE_TALK     => 'Irudi_eztabaida',
-                       NS_MEDIAWIKI      => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK => 'MediaWiki_eztabaida',
-                       NS_TEMPLATE       => 'Txantiloi',
-                       NS_TEMPLATE_TALK  => 'Txantiloi_eztabaida',
-                       NS_CATEGORY       => 'Kategoria',
-                       NS_CATEGORY_TALK  => 'Kategoria_eztabaida',
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesEu + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsEu;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesEu + parent::getSkinNames();
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesEu[$key] ) ) {
-                       return $this->mMessagesEu[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesEu;
-       }
-
-}
-
-?>
diff --git a/languages/LanguageFa.php b/languages/LanguageFa.php
deleted file mode 100644 (file)
index 43f5555..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-<?php
-/** Persian (فارسی)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesFa.php');
-}
-
-class LanguageFa extends LanguageUtf8 {
-       private $mMessagesFa, $mNamespaceNamesFa = null;
-
-       private $mQuickbarSettingsFa = array(
-               'نباشد', 'ثابت چپ', 'ثابت راست', 'شناور چپ'
-       );
-       
-       private $mSkinNamesFa = array(
-               'standard' => 'استاندارد',
-               'nostalgia' => 'نوستالژی',
-               'cologneblue' => 'آبی کلون',
-               'smarty' => 'پدینگتون',
-               'montparnasse' => 'مون‌پارناس',
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesFa;
-               $this->mMessagesFa =& $wgAllMessagesFa;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesFa = array(
-                       NS_MEDIA          => 'مدیا',
-                       NS_SPECIAL        => 'ویژه',
-                       NS_MAIN           => '',
-                       NS_TALK           => 'بحث',
-                       NS_USER           => 'کاربر',
-                       NS_USER_TALK      => 'بحث_کاربر',
-                       NS_PROJECT        => $wgMetaNamespace,
-                       NS_PROJECT_TALK   => 'بحث_' . $wgMetaNamespace,
-                       NS_IMAGE          => 'تصویر',
-                       NS_IMAGE_TALK     => 'بحث_تصویر',
-                       NS_MEDIAWIKI      => 'مدیاویکی',
-                       NS_MEDIAWIKI_TALK       => 'بحث_مدیاویکی',
-                       NS_TEMPLATE       => 'الگو',
-                       NS_TEMPLATE_TALK  => 'بحث_الگو',
-                       NS_HELP           => 'راهنما',
-                       NS_HELP_TALK      => 'بحث_راهنما',
-                       NS_CATEGORY       => 'رده',
-                       NS_CATEGORY_TALK  => 'بحث_رده'
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesFa + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsFa;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesFa + parent::getSkinNames();
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesFa[$key] ) ) {
-                       return $this->mMessagesFa[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesFa;
-       }
-
-       function digitTransformTable() {
-               return array(
-                       "0" => "۰",
-                       "1" => "۱",
-                       "2" => "۲",
-                       "3" => "۳",
-                       "4" => "۴",
-                       "5" => "۵",
-                       "6" => "۶",
-                       "7" => "۷",
-                       "8" => "۸",
-                       "9" => "۹",
-                       "%" => "٪",
-                       "." => "٫", // wrong table?
-                       "," => "٬"
-               );
-       }
-
-       function getDefaultUserOptions() {
-               $opt = Language::getDefaultUserOptions();
-               $opt['quickbar'] = 2;
-               $opt['underline'] = 0;
-               return $opt;
-       }
-
-
-       # For right-to-left language support
-       function isRTL() { return true; }
-
-}
-?>
index 7f07571..47dd0e6 100644 (file)
@@ -6,164 +6,7 @@
  *
  * @author Niklas Laxström
  */
-
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesFi.php');
-}
-
-class LanguageFi extends LanguageUtf8 {
-       private $mMessagesFi, $mNamespaceNamesFi = null;
-       
-       private $mSkinNamesFi = array(
-               'standard'          => 'Perus',
-               'cologneblue'       => 'Kölnin sininen',
-               'myskin'            => 'Oma tyylisivu'
-       );
-       
-       private $mQuickbarSettingsFi = array(
-               'Ei mitään', 'Tekstin mukana, vasen', 'Tekstin mukana, oikea', 'Pysyen vasemmalla', 'Pysyen oikealla'
-       );
-       
-       private $mDateFormatsFi = array(
-               MW_DATE_DEFAULT => 'Ei valintaa',
-               1               => '15. tammikuuta 2001 kello 16.12',
-               2               => '15. tammikuuta 2001 kello 16:12:34',
-               3               => '15.1.2001 16.12',
-               MW_DATE_ISO     => '2001-01-15 16:12:34'
-       );
-       
-       private $mBookstoreListFi = array(
-               'Bookplus'                      => 'http://www.bookplus.fi/product.php?isbn=$1',
-               'Helsingin yliopiston kirjasto' => 'http://pandora.lib.hel.fi/cgi-bin/mhask/monihask.py?volname=&author=&keyword=&ident=$1&submit=Hae&engine_helka=ON',
-               'Pääkaupunkiseudun kirjastot'   => 'http://www.helmet.fi/search*fin/i?SEARCH=$1',
-               'Tampereen seudun kirjastot'    => 'http://kirjasto.tampere.fi/Piki?formid=fullt&typ0=6&dat0=$1'
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesFi;
-               $this->mMessagesFi =& $wgAllMessagesFi;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesFi = array(
-                       NS_MEDIA            => 'Media',
-                       NS_SPECIAL          => 'Toiminnot',
-                       NS_MAIN             => '',
-                       NS_TALK             => 'Keskustelu',
-                       NS_USER             => 'Käyttäjä',
-                       NS_USER_TALK        => 'Keskustelu_käyttäjästä',
-                       NS_PROJECT          => $wgMetaNamespace,
-                       NS_PROJECT_TALK     => 'Keskustelu_' . $this->convertGrammar( $wgMetaNamespace, 'elative' ),
-                       NS_IMAGE            => 'Kuva',
-                       NS_IMAGE_TALK       => 'Keskustelu_kuvasta',
-                       NS_MEDIAWIKI        => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK   => 'MediaWiki_talk',
-                       NS_TEMPLATE         => 'Malline',
-                       NS_TEMPLATE_TALK    => 'Keskustelu_mallineesta',
-                       NS_HELP             => 'Ohje',
-                       NS_HELP_TALK        => 'Keskustelu_ohjeesta',
-                       NS_CATEGORY         => 'Luokka',
-                       NS_CATEGORY_TALK    => 'Keskustelu_luokasta'
-               );
-
-       }
-
-       function getBookstoreList () {
-               return $this->mBookstoreListFi;
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesFi + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsFi;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesFi + parent::getSkinNames();
-       }
-
-       function getDateFormats() {
-               return $this->mDateFormatsFi;
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesFi[$key] ) ) {
-                       return $this->mMessagesFi[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesFi;
-       }
-
-       /**
-        * See Language.php for documentation
-        */
-       function date( $ts, $adj = false, $format = true, $timecorrection = false ) {
-               if ( $adj ) { $ts = $this->userAdjust( $ts, $timecorrection ); }
-
-               $yyyy = substr( $ts, 0, 4 );
-               $mm = substr( $ts, 4, 2 );
-               $m = 0 + $mm;
-               $mmmm = $this->getMonthName( $mm ) . 'ta';
-               $dd = substr( $ts, 6, 2 );
-               $d = 0 + $dd;
-
-               $datePreference = $this->dateFormat($format);
-               switch( $datePreference ) {
-                       case '3': return "$d.$m.$yyyy";
-                       case MW_DATE_ISO: return "$yyyy-$mm-$dd";
-                       default: return "$d. $mmmm $yyyy";
-               }
-       }
-
-       /**
-        * See Language.php for documentation
-        */
-       function time( $ts, $adj = false, $format = true, $timecorrection = false ) {
-               if ( $adj ) { $ts = $this->userAdjust( $ts, $timecorrection ); }
-
-               $hh = substr( $ts, 8, 2 );
-               $mm =  substr( $ts, 10, 2 );
-               $ss = substr( $ts, 12, 2 );
-
-               $datePreference = $this->dateFormat($format);
-               switch( $datePreference ) {
-                       case '2':
-                       case MW_DATE_ISO: return "$hh:$mm:$ss";
-                       default: return "$hh.$mm";
-               }
-       }
-
-       /**
-        * See Language.php for documentation
-        */
-       function timeanddate( $ts, $adj = false, $format = true, $timecorrection = false) {
-               $date = $this->date( $ts, $adj, $format, $timecorrection );
-               $time = $this->time( $ts, $adj, $format, $timecorrection );
-
-               $datePreference = $this->dateFormat($format);
-               switch( $datePreference ) {
-                       case '3':
-                       case MW_DATE_ISO: return "$date $time";
-                       default: return "$date kello $time";
-               }
-       }
-
-       /**
-        * Finnish numeric formatting is 123 456,78.
-        */
-       function separatorTransformTable() {
-               return array(',' => "\xc2\xa0", '.' => ',' );
-       }
-
+class LanguageFi extends Language {
        /**
         * Avoid grouping whole numbers between 0 to 9999
         */
@@ -175,11 +18,6 @@ class LanguageFi extends LanguageUtf8 {
                }
        }
 
-       function linkTrail() {
-               return '/^([a-zäö]+)(.*)$/sDu';
-       }
-
-
        # Convert from the nominative form of a noun to some other case
        # Invoked with {{GRAMMAR:case|word}}
        function convertGrammar( $word, $case ) {
@@ -319,7 +157,7 @@ class LanguageFi extends LanguageUtf8 {
 
                        $final .= ' ' . $item;
                }
-       return '<span class="blockexpiry" title="' . htmlspecialchars($str). '">”' . trim( $final ) . '”</span>';
+               return '<span class="blockexpiry" title="' . htmlspecialchars($str). '">”' . trim( $final ) . '”</span>';
        }
 
 }
diff --git a/languages/LanguageFo.php b/languages/LanguageFo.php
deleted file mode 100644 (file)
index 6df7bd7..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-<?php
-/** Faroese (Føroyskt)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-require_once( 'LanguageUtf8.php');
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesFo.php');
-}
-
-class LanguageFo extends LanguageUtf8 {
-       private $mMessagesFo, $mNamespaceNamesFo = null;
-       
-       private $mQuickbarSettingsFo = array(
-               'Eingin', 'Fast vinstru', 'Fast høgru', 'Flótandi vinstru'
-       );
-       
-       private $mSkinNamesFo = array(
-               'Standardur', 'Nostalgiskur', 'Cologne-bláur', 'Paddington', 'Montparnasse'
-       );
-       
-       private $mBookstoreListFo = array(
-               'Bokasolan.fo' => 'http://www.bokasolan.fo/vleitari.asp?haattur=bok.alfa&Heiti=&Hovindur=&Forlag=&innbinding=Oell&bolkur=Allir&prisur=Allir&Aarstal=Oell&mal=Oell&status=Oell&ISBN=$1',
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesFo;
-               $this->mMessagesFo =& $wgAllMessagesFo;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesFo = array(
-                       NS_MEDIA            => 'Miðil',
-                       NS_SPECIAL          => 'Serstakur',
-                       NS_MAIN             => '',
-                       NS_TALK             => 'Kjak',
-                       NS_USER             => 'Brúkari',
-                       NS_USER_TALK        => 'Brúkari_kjak',
-                       NS_PROJECT          => $wgMetaNamespace,
-                       NS_PROJECT_TALK     => $wgMetaNamespace . '_kjak',
-                       NS_IMAGE            => 'Mynd',
-                       NS_IMAGE_TALK       => 'Mynd_kjak',
-                       NS_MEDIAWIKI        => 'MidiaWiki',
-                       NS_MEDIAWIKI_TALK   => 'MidiaWiki_kjak',
-                       NS_TEMPLATE         => 'Fyrimynd',
-                       NS_TEMPLATE_TALK    => 'Fyrimynd_kjak',
-                       NS_HELP             => 'Hjálp',
-                       NS_HELP_TALK        => 'Hjálp_kjak',
-                       NS_CATEGORY         => 'Bólkur',
-                       NS_CATEGORY_TALK    => 'Bólkur_kjak'
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesFo + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsFo;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesFo + parent::getSkinNames();
-       }
-
-       function getBookstoreList() {
-               return $this->mBookstoreListFo + parent::getBookstoreList();
-       }
-
-       function getDateFormats() {
-               return false;
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesFo[$key] ) ) {
-                       return $this->mMessagesFo[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesFo;
-       }
-
-       function timeDateSeparator( $format ) {
-               return ' kl. ';
-       }
-
-       function timeBeforeDate() {
-               return false;
-       }
-
-       function formatMonth( $month, $format ) {
-               return $this->getMonthAbbreviation( $month );
-       }
-
-       function formatDay( $day, $format ) {
-               return $this->formatNum( 0 + $day, true ) . '.';
-       }
-
-}
-
-?>
diff --git a/languages/LanguageFr.php b/languages/LanguageFr.php
deleted file mode 100644 (file)
index b9c262a..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-<?php
-/** French (Français)
- *
- * @package MediaWiki
- * @subpackage Language
- *
- */
-
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesFr.php');
-}
-
-class LanguageFr extends LanguageUtf8 {
-       private $mMessagesFr, $mNamespaceNamesFr = null;
-
-       private $mQuickbarSettingsFr = array(
-               'Aucune', 'Gauche', 'Droite', 'Flottante à gauche'
-       );
-       
-       private $mSkinNamesFr = array(
-               'standard'  => 'Standard',
-               'nostalgia' => 'Nostalgie',
-       );
-       
-       private $mBookstoreListFr = array(
-               'Amazon.fr'    => 'http://www.amazon.fr/exec/obidos/ISBN=$1',
-               'alapage.fr'   => 'http://www.alapage.com/mx/?tp=F&type=101&l_isbn=$1&donnee_appel=ALASQ&devise=&',
-               'fnac.com'     => 'http://www3.fnac.com/advanced/book.do?isbn=$1',
-               'chapitre.com' => 'http://www.chapitre.com/frame_rec.asp?isbn=$1',
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesFr;
-               $this->mMessagesFr =& $wgAllMessagesFr;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesFr = array(
-                       NS_MEDIA          => 'Media',
-                       NS_SPECIAL        => 'Special',
-                       NS_MAIN           => '',
-                       NS_TALK           => 'Discuter',
-                       NS_USER           => 'Utilisateur',
-                       NS_USER_TALK      => 'Discussion_Utilisateur',
-                       NS_PROJECT        => $wgMetaNamespace,
-                       NS_PROJECT_TALK   => 'Discussion_' . $wgMetaNamespace,
-                       NS_IMAGE          => 'Image',
-                       NS_IMAGE_TALK     => 'Discussion_Image',
-                       NS_MEDIAWIKI      => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK => 'Discussion_MediaWiki',
-                       NS_TEMPLATE       => 'Modèle',
-                       NS_TEMPLATE_TALK  => 'Discussion_Modèle',
-                       NS_HELP           => 'Aide',
-                       NS_HELP_TALK      => 'Discussion_Aide',
-                       NS_CATEGORY       => 'Catégorie',
-                       NS_CATEGORY_TALK  => 'Discussion_Catégorie'
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesFr + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsFr;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesFr + parent::getSkinNames();
-       }
-
-       function getBookstoreList() {
-               return $this->mBookstoreListFr;
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesFr[$key] ) ) {
-                       return $this->mMessagesFr[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesFr;
-       }
-
-       function getNsIndex( $text ) {
-               global $wgSitename;
-
-               foreach ( $this->mNamespaceNamesFr as $i => $n ) {
-                       if ( 0 == strcasecmp( $n, $text ) ) { return $i; }
-               }
-               if( $wgSitename == 'Wikipédia' ) {
-                       if( 0 == strcasecmp( 'Wikipedia', $text ) ) return NS_PROJECT;
-                       if( 0 == strcasecmp( 'Discussion_Wikipedia', $text ) ) return NS_PROJECT_TALK;
-               }
-               return false;
-       }
-
-       function timeBeforeDate( $format ) {
-               return false;
-       }
-
-       function timeDateSeparator( $format ) {
-               return " à ";
-       }
-
-       function separatorTransformTable() {
-               return array(',' => "\xc2\xa0", '.' => ',' );
-       }
-
-}
-
-?>
diff --git a/languages/LanguageFur.php b/languages/LanguageFur.php
deleted file mode 100644 (file)
index fa5ef43..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-<?php
-/** Friulian (Furlan)
- *
- * @package MediaWiki
- * @subpackage Language
- */
-
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesFur.php');
-}
-
-class LanguageFur extends LanguageUtf8 {
-       private $mMessagesFur, $mNamespaceNamesFur = null;
-
-       private $mQuickbarSettingsFur = array(
-               'Nissune', 'Fis a Çampe', 'Fis a Drete', 'Flutuant a çampe'
-       );
-       
-       private $mSkinNamesFur = array(
-               'nostalgia' => 'Nostalgie',
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesFur;
-               $this->mMessagesFur =& $wgAllMessagesFur;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesFur = array(
-                       NS_MEDIA          => 'Media',
-                       NS_SPECIAL        => 'Speciâl',
-                       NS_MAIN           => '',
-                       NS_TALK           => 'Discussion',
-                       NS_USER           => 'Utent',
-                       NS_USER_TALK      => 'Discussion_utent',
-                       NS_PROJECT        => $wgMetaNamespace,
-                       NS_PROJECT_TALK   => 'Discussion_' . $wgMetaNamespace,
-                       NS_IMAGE          => 'Figure',
-                       NS_IMAGE_TALK     => 'Discussion_figure',
-                       NS_MEDIAWIKI      => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK => 'Discussion_MediaWiki',
-                       NS_TEMPLATE       => 'Model',
-                       NS_TEMPLATE_TALK  => 'Discussion_model',
-                       NS_HELP           => 'Jutori',
-                       NS_HELP_TALK      => 'Discussion_jutori',
-                       NS_CATEGORY       => 'Categorie',
-                       NS_CATEGORY_TALK  => 'Discussion_categorie'
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesFur + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsFur;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesFur + parent::getSkinNames();
-       }
-
-       function getDateFormats() {
-               return false;
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesFur[$key] ) ) {
-                       return $this->mMessagesFur[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesFur;
-       }
-
-       function timeDateSeparator( $format ) {
-               return ' a lis ';
-       }
-
-       function timeBeforeDate() {
-               return false;
-       }
-
-       function formatMonth( $month, $format ) {
-               return $this->getMonthAbbreviation( $month );
-       }
-
-       function formatDay( $day, $format ) {
-               return $this->formatNum( 0 + $day, true ) . ' di ';
-       }
-
-       function separatorTransformTable() {
-               return array(',' => "\xc2\xa0", '.' => ',' );
-       }
-
-}
-
-?>
diff --git a/languages/LanguageFy.php b/languages/LanguageFy.php
deleted file mode 100644 (file)
index 84f381d..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-<?php
-/** Frisian (Frysk)
- *
- * @package MediaWiki
- * @subpackage Language
- *
- * @author Niklas Laxström
- */
-
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesFy.php');
-}
-
-class LanguageFy extends LanguageUtf8 {
-       private $mMessagesFy, $mNamespaceNamesFy = null;
-
-       private $mQuickbarSettingsFy = array(
-               'Ut', 'Lofts fêst', 'Rjochts fêst', 'Lofts sweevjend'
-       );
-       
-       private $mSkinNamesFy = array(
-               'standard' => 'Standert',
-               'nostalgia' => 'Nostalgy',
-       );
-               
-       private $mDateFormatsFy = array(
-               'Gjin foarkar',
-               '16.12, jan 15, 2001',
-               '16.12, 15 jan 2001',
-               '16.12, 2001 jan 15',
-               'ISO 8601' => '2001-01-15 16:12:34'
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesFy;
-               $this->mMessagesFy =& $wgAllMessagesFy;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesFy = array(
-                       NS_MEDIA          => 'Media',
-                       NS_SPECIAL        => 'Wiki',
-                       NS_MAIN           => '',
-                       NS_TALK           => 'Oerlis',
-                       NS_USER           => 'Meidogger',
-                       NS_USER_TALK      => 'Meidogger_oerlis',
-                       NS_PROJECT        => $wgMetaNamespace,
-                       NS_PROJECT_TALK   => $wgMetaNamespace . '_oerlis',
-                       NS_IMAGE          => 'Ofbyld',
-                       NS_IMAGE_TALK     => 'Ofbyld_oerlis',
-                       NS_MEDIAWIKI      => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK => 'MediaWiki_oerlis',
-                       NS_TEMPLATE       => 'Berjocht',
-                       NS_TEMPLATE_TALK  => 'Berjocht_oerlis',
-                       NS_HELP           => 'Hulp',
-                       NS_HELP_TALK      => 'Hulp_oerlis',
-                       NS_CATEGORY       => 'Kategory',
-                       NS_CATEGORY_TALK  => 'Kategory_oerlis'
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesFy + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsFy;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesFy + parent::getSkinNames();
-       }
-
-       function getDateFormats() {
-               return $this->mDateFormatsFy;
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesFy[$key] ) ) {
-                       return $this->mMessagesFy[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesFy;
-       }
-
-       function getNsIndex( $text ) {
-               foreach ( $this->mNamespaceNamesFy as $i => $n ) {
-                       if ( 0 == strcasecmp( $n, $text ) ) { return $i; }
-               }
-               if ( 0 == strcasecmp( "Brûker", $text ) ) return 2;
-               if ( 0 == strcasecmp( "Brûker_oerlis", $text ) ) return 3;
-               return false;
-       }
-
-       function timeSeparator( $format ) {
-               return '.';
-       }
-
-       function formatMonth( $month, $format ) {
-               return $this->getMonthAbbreviation( $month );
-       }
-
-       function separatorTransformTable() {
-               return array(',' => '.', '.' => ',' );
-       }
-
-       function linkTrail() {
-               return '/^([a-zàáèéìíòóùúâêîôûäëïöü]+)(.*)$/sDu';
-       }
-
-}
-
-?>
index b03d9dc..0779e42 100644 (file)
@@ -5,174 +5,7 @@
  * @subpackage Language
  */
 
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesGa.php');
-}
-
-class LanguageGa extends LanguageUtf8 {
-       private $mMessagesGa, $mNamespaceNamesGa = null;
-
-       private $mQuickbarSettingsGa = array(
-               'Faic', 'Greamaithe ar chlé', 'Greamaithe ar dheis', 'Ag faoileáil ar chlé', 'Ag faoileáil ar dheis'
-       );
-       
-       private $mSkinNamesGa = array(
-               'standard' => 'Gnáth',
-               'nostalgia' => 'Sean-nós',
-               'cologneblue' => 'Gorm na Colóna',
-               'smarty' => 'Paddington',
-               'montparnasse' => 'Montparnasse',
-               'davinci' => 'DaVinci',
-               'mono' => 'Mono',
-               'monobook' => 'MonoBook',
-               'myskin' => 'MySkin',
-               'chick' => 'Chick'
-       );
-       
-       private $mDateFormatsGa = array(
-               'Is cuma liom',
-               '16:12, Eanáir 15, 2001',
-               '16:12, 15 Eanáir 2001',
-               '16:12, 2001 Eanáir 15',
-               'ISO 8601' => '2001-01-15 16:12:34'
-       );
-       
-       private $mMagicWordsGa = array(
-       #   ID                           CASE  SYNONYMS
-               'redirect'               => array( 0,    '#redirect', '#athsheoladh' ),
-               'notoc'                  => array( 0,    '__NOTOC__', '__GANCÁ__'              ),
-               'forcetoc'               => array( 0,    '__FORCETOC__',         '__CÁGACHUAIR__'  ),
-               'toc'                    => array( 0,    '__TOC__', '__CÁ__'                ),
-               'noeditsection'          => array( 0,    '__NOEDITSECTION__',    '__GANMHÍRATHRÚ__'  ),
-               'start'                  => array( 0,    '__START__', '__TÚS__'              ),
-               'currentmonth'           => array( 1,    'CURRENTMONTH',  'MÍLÁITHREACH'  ),
-               'currentmonthname'       => array( 1,    'CURRENTMONTHNAME',     'AINMNAMÍOSALÁITHREAÍ'  ),
-               'currentmonthnamegen'    => array( 1,    'CURRENTMONTHNAMEGEN',  'GINAINMNAMÍOSALÁITHREAÍ'  ),
-               'currentmonthabbrev'     => array( 1,    'CURRENTMONTHABBREV',   'GIORRÚNAMÍOSALÁITHREAÍ'  ),
-               'currentday'             => array( 1,    'CURRENTDAY',           'LÁLÁITHREACH'  ),
-               'currentdayname'         => array( 1,    'CURRENTDAYNAME',       'AINMANLAELÁITHRIGH'  ),
-               'currentyear'            => array( 1,    'CURRENTYEAR',          'BLIAINLÁITHREACH'  ),
-               'currenttime'            => array( 1,    'CURRENTTIME',          'AMLÁITHREACH'  ),
-               'numberofarticles'       => array( 1,    'NUMBEROFARTICLES',     'LÍONNANALT'  ),
-               'numberoffiles'          => array( 1,    'NUMBEROFFILES',        'LÍONNAGCOMHAD'  ),
-               'pagename'               => array( 1,    'PAGENAME',             'AINMANLGH'  ),
-               'pagenamee'              => array( 1,    'PAGENAMEE',            'AINMANLGHB'  ),
-               'namespace'              => array( 1,    'NAMESPACE',            'AINMSPÁS'  ),
-               'msg'                    => array( 0,    'MSG:',                 'TCHT:'  ),
-               'subst'                  => array( 0,    'SUBST:',               'IONAD:'  ),
-               'msgnw'                  => array( 0,    'MSGNW:',               'TCHTFS:'  ),
-               'end'                    => array( 0,    '__END__',              '__DEIREADH__'  ),
-               'img_thumbnail'          => array( 1,    'thumbnail', 'thumb',   'mionsamhail', 'mion'  ),
-               'img_right'              => array( 1,    'right',                'deas'  ),
-               'img_left'               => array( 1,    'left',                 'clé'  ),
-               'img_none'               => array( 1,    'none',                 'faic'  ),
-               'img_width'              => array( 1,    '$1px'                   ),
-               'img_center'             => array( 1,    'center', 'centre',     'lár'  ),
-               'img_framed'             => array( 1,    'framed', 'enframed', 'frame', 'fráma', 'frámaithe' ),
-               'int'                    => array( 0,    'INT:', 'INMH:'                   ),
-               'sitename'               => array( 1,    'SITENAME',             'AINMANTSUÍMH'  ),
-               'ns'                     => array( 0,    'NS:', 'AS:'                    ),
-               'localurl'               => array( 0,    'LOCALURL:',            'URLÁITIÚIL'  ),
-               'localurle'              => array( 0,    'LOCALURLE:',           'URLÁITIÚILB'  ),
-               'server'                 => array( 0,    'SERVER',               'FREASTALAÍ'  ),
-               'servername'             => array( 0,    'SERVERNAME',            'AINMANFHREASTALAÍ' ),
-               'scriptpath'             => array( 0,    'SCRIPTPATH',           'SCRIPTCHOSÁN'  ),
-               'grammar'                => array( 0,    'GRAMMAR:',             'GRAMADACH:'  ),
-               'notitleconvert'         => array( 0,    '__NOTITLECONVERT__', '__NOTC__', '__GANTIONTÚNADTEIDEAL__', '__GANTT__'),
-               'nocontentconvert'       => array( 0,    '__NOCONTENTCONVERT__', '__NOCC__', '__GANTIONTÚNANÁBHAIR__', '__GANTA__' ),
-               'currentweek'            => array( 1,    'CURRENTWEEK',          'SEACHTAINLÁITHREACH'  ),
-               'currentdow'             => array( 1,    'CURRENTDOW',           'LÁLÁITHREACHNAS'  ),
-               'revisionid'             => array( 1,    'REVISIONID',           'IDANLEASAITHE'  ),
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesGa;
-               $this->mMessagesGa =& $wgAllMessagesGa;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesGa = array(
-                       NS_MEDIA                  => 'Meán',
-                       NS_SPECIAL          => 'Speisialta',
-                       NS_MAIN             => '',
-                       NS_TALK             => 'Plé',
-                       NS_USER             => 'Úsáideoir',
-                       NS_USER_TALK        => 'Plé_úsáideora',
-                       NS_PROJECT          => $wgMetaNamespace,
-                       NS_PROJECT_TALK     => 'Plé_' . $this->convertGrammar( $wgMetaNamespace, 'genitive' ),
-                       NS_IMAGE            => 'Íomhá',
-                       NS_IMAGE_TALK       => 'Plé_íomhá',
-                       NS_MEDIAWIKI        => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK   => 'Plé_MediaWiki',
-                       NS_TEMPLATE         => 'Teimpléad',
-                       NS_TEMPLATE_TALK    => 'Plé_teimpléid',
-                       NS_HELP             => 'Cabhair',
-                       NS_HELP_TALK        => 'Plé_cabhrach',
-                       NS_CATEGORY         => 'Catagóir',
-                       NS_CATEGORY_TALK    => 'Plé_catagóire'
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesGa + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsGa;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesGa + parent::getSkinNames();
-       }
-
-       function getDateFormats() {
-               return $this->mDateFormatsGa;
-       }
-
-       function &getMagicWords()  {
-               $t = $this->mMagicWordsGa + parent::getMagicWords();
-               return $t;
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesGa[$key] ) ) {
-                       return $this->mMessagesGa[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesGa;
-       }
-
-
-       /**
-        * Get a namespace key by value, case insensetive.
-        *
-        * @param string $text
-        * @return mixed An integer if $text is a valid value otherwise false
-        */
-       function getNsIndex( $text ) {
-               $ns = $this->getNamespaces();
-
-               foreach ( $ns as $i => $n ) {
-                       if ( strcasecmp( $n, $text ) == 0)
-                               return $i;
-               }
-
-               if ( strcasecmp( 'Plé_í­omhá', $text) == 0) return NS_IMAGE_TALK;
-               if ( strcasecmp( 'Múnla', $text) == 0) return NS_TEMPLATE;
-               if ( strcasecmp( 'Plé_múnla', $text) == 0) return NS_TEMPLATE_TALK;
-               if ( strcasecmp( 'Rang', $text) == 0) return NS_CATEGORY;
-
-               return false;
-       }
-
+class LanguageGa extends Language {
        # Convert day names
        # Invoked with {{GRAMMAR:transformation|word}}
        function convertGrammar( $word, $case ) {
diff --git a/languages/LanguageGn.deps.php b/languages/LanguageGn.deps.php
deleted file mode 100644 (file)
index 5cf2090..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageGn.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
-
-require_once( "LanguageEs.php" );
-?>
\ No newline at end of file
diff --git a/languages/LanguageGn.php b/languages/LanguageGn.php
deleted file mode 100644 (file)
index 0785335..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-/** Guaraní (avañe'ẽ)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  *
-  * @bug 3844
-  *
-  * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
-  * @copyright Copyright © 2005, Ævar Arnfjörð Bjarmason
-  * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
-  */
-
-require_once 'LanguageEs.php';
-
-class LanguageGn extends LanguageEs {
-
-       function getFallbackLanguage() {
-               return 'es';
-       }
-
-       function getAllMessages() {
-               return null;
-       }
-
-}
-
-?>
diff --git a/languages/LanguageGsw.deps.php b/languages/LanguageGsw.deps.php
deleted file mode 100644 (file)
index 65a0e39..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageGsw.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
-
-require_once( "LanguageDe.php" );
-?>
\ No newline at end of file
index 72dd713..ce4e057 100644 (file)
@@ -5,53 +5,7 @@
  * @subpackage Language
  */
 
-/*
-<Melancholie> for the moment it would be the best if LanguageAls.php would be
-              the same like LanguageDe.php. That would help us a lot at als.
-<Melancholie> at the moment all is in English
-<TimStarling> ok
-<Melancholie> great
-<TimStarling> I'll make a stub language file that fetches everything from de
-<Melancholie> cool
-*/
-
-include_once( "LanguageDe.php" );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesGsw.php');
-}
-
-class LanguageGsw extends LanguageDe {
-       private $mMessagesGsw = null;
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesGsw;
-               $this->mMessagesGsw =& $wgAllMessagesGsw;
-
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesGsw[$key] ) ) {
-                       return $this->mMessagesGsw[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesGsw;
-       }
-
-       function getFallbackLanguage() {
-               return 'de';
-       }
-
-       function linkTrail() {
-               return '/^([äöüßa-z]+)(.*)$/sDu';
-       }
-
+class LanguageGsw extends Language {
    # Convert from the nominative form of a noun to some other case
    # Invoked with result
 
diff --git a/languages/LanguageGu.php b/languages/LanguageGu.php
deleted file mode 100644 (file)
index 8e20e07..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-/**
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-require_once( 'LanguageUtf8.php' );
-
-class LanguageGu extends LanguageUtf8 {
-       function digitTransformTable() {
-               return array(
-                       '0' => '૦',
-                       '1' => '૧',
-                       '2' => '૨',
-                       '3' => '૩',
-                       '4' => '૪',
-                       '5' => '૫',
-                       '6' => '૬',
-                       '7' => '૭',
-                       '8' => '૮',
-                       '9' => '૯'
-               );
-       }
-
-}
-
-?>
index 0f647c7..105596d 100644 (file)
@@ -9,238 +9,7 @@
  * @author Rotem Liss (March 2006 on)
  */
 
-require_once("LanguageUtf8.php");
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesHe.php');
-}
-
-class LanguageHe extends LanguageUtf8 {
-       private $mMessagesHe, $mNamespaceNamesHe = null;
-       
-       private $mSkinNamesHe = array(
-               "standard"    => "רגיל",
-               "nostalgia"   => "נוסטלגי",
-               "cologneblue" => "מים כחולים",
-               "davinci"     => "דה־וינצ'י",
-               "simple"      => "פשוט",
-               "mono"        => "מונו",
-               "monobook"    => "מונובוק",
-               "myskin"      => "הרקע שלי",
-               "chick"       => "צ'יק"
-       );
-       
-       private $mQuickbarSettingsHe = array(
-               "ללא", "קבוע משמאל", "קבוע מימין", "צף משמאל", "צף מימין"
-       );
-       
-       private $mBookstoreListHe = array(
-               "מיתוס"          => "http://www.mitos.co.il/",
-               "iBooks"         => "http://www.ibooks.co.il/",
-               "Barnes & Noble" => "http://search.barnesandnoble.com/bookSearch/isbnInquiry.asp?isbn=\$1",
-               "Amazon.com"     => "http://www.amazon.com/exec/obidos/ISBN=\$1"
-       );
-       
-       private $mMagicWordsHe = array(
-               'redirect'              => array( 0,    '#הפניה',                                  '#REDIRECT'              ),
-               'notoc'                 => array( 0,    '__ללא_תוכן_עניינים__', '__ללא_תוכן__',    '__NOTOC__'              ),
-               'nogallery'             => array( 0,    '__ללא_גלריה__',                          '__NOGALLERY__'          ),
-               'forcetoc'              => array( 0,    '__חייב_תוכן_עניינים__', '__חייב_תוכן__',   '__FORCETOC__'           ),
-               'toc'                   => array( 0,    '__תוכן_עניינים__', '__תוכן__',             '__TOC__'                ),
-               'noeditsection'         => array( 0,    '__ללא_עריכה__',                           '__NOEDITSECTION__'      ),
-               'start'                 => array( 0,    '__התחלה__',                               '__START__'              ),
-               'currentmonth'          => array( 1,    'חודש נוכחי',                               'CURRENTMONTH'           ),
-               'currentmonthname'      => array( 1,    'שם חודש נוכחי',                            'CURRENTMONTHNAME'       ),
-               'currentmonthnamegen'   => array( 1,    'שם חודש נוכחי קניין',                      'CURRENTMONTHNAMEGEN'    ),
-               'currentmonthabbrev'    => array( 1,    'קיצור חודש נוכחי',                         'CURRENTMONTHABBREV'     ),
-               'currentday'            => array( 1,    'יום נוכחי',                                'CURRENTDAY'             ),
-               'currentday2'           => array( 1,    'יום נוכחי 2',                              'CURRENTDAY2'            ),
-               'currentdayname'        => array( 1,    'שם יום נוכחי',                             'CURRENTDAYNAME'         ),
-               'currentyear'           => array( 1,    'שנה נוכחית',                               'CURRENTYEAR'            ),
-               'currenttime'           => array( 1,    'שעה נוכחית',                               'CURRENTTIME'            ),
-               'numberofpages'         => array( 1,    'מספר דפים כולל', 'מספר דפים',             'NUMBEROFPAGES'          ),
-               'numberofarticles'      => array( 1,    'מספר ערכים',                              'NUMBEROFARTICLES'       ),
-               'numberoffiles'         => array( 1,    'מספר קבצים',                              'NUMBEROFFILES'          ),
-               'numberofusers'         => array( 1,    'מספר משתמשים',                            'NUMBEROFUSERS'          ),
-               'pagename'              => array( 1,    'שם הדף',                                  'PAGENAME'               ),
-               'pagenamee'             => array( 1,    'שם הדף מקודד',                            'PAGENAMEE'              ),
-               'namespace'             => array( 1,    'מרחב השם',                                'NAMESPACE'              ),
-               'namespacee'            => array( 1,    'מרחב השם מקודד',                          'NAMESPACEE'             ),
-               'talkspace'             => array( 1,    'מרחב השיחה',                              'TALKSPACE'              ),
-               'talkspacee'            => array( 1,    'מרחב השיחה מקודד',                        'TALKSPACEE'              ),
-               'subjectspace'          => array( 1,    'מרחב הנושא', 'מרחב הערכים',              'SUBJECTSPACE', 'ARTICLESPACE' ),
-               'subjectspacee'         => array( 1,    'מרחב הנושא מקודד', 'מרחב הערכים מקודד',  'SUBJECTSPACEE', 'ARTICLESPACEE' ),
-               'fullpagename'          => array( 1,    'שם הדף המלא',                            'FULLPAGENAME'           ),
-               'fullpagenamee'         => array( 1,    'שם הדף המלא מקודד',                      'FULLPAGENAMEE'          ),
-               'subpagename'           => array( 1,    'שם דף המשנה',                            'SUBPAGENAME'            ),
-               'subpagenamee'          => array( 1,    'שם דף המשנה מקודד',                      'SUBPAGENAMEE'           ),
-               'basepagename'          => array( 1,    'שם דף הבסיס',                            'BASEPAGENAME'           ),
-               'basepagenamee'         => array( 1,    'שם דף הבסיס מקודד',                      'BASEPAGENAMEE'          ),
-               'talkpagename'          => array( 1,    'שם דף השיחה',                            'TALKPAGENAME'           ),
-               'talkpagenamee'         => array( 1,    'שם דף השיחה מקודד',                      'TALKPAGENAMEE'          ),
-               'subjectpagename'       => array( 1,    'שם דף הנושא', 'שם הערך',                 'SUBJECTPAGENAME', 'ARTICLEPAGENAME' ),
-               'subjectpagenamee'      => array( 1,    'שם דף הנושא מקודד', 'שם הערך מקודד',     'SUBJECTPAGENAMEE', 'ARTICLEPAGENAMEE' ),
-               'msg'                   => array( 0,    'הכללה:',                                'MSG:'                   ),
-               'subst'                 => array( 0,    'ס:',                                    'SUBST:'                 ),
-               'msgnw'                 => array( 0,    'הכללת מקור',                            'MSGNW:'                 ),
-               'end'                   => array( 0,    '__סוף__',                               '__END__'                ),
-               'img_thumbnail'         => array( 1,    'ממוזער',                                'thumbnail', 'thumb'     ),
-               'img_manualthumb'       => array( 1,    'ממוזער=$1',                             'thumbnail=$1', 'thumb=$1'),
-               'img_right'             => array( 1,    'ימין',                                  'right'                  ),
-               'img_left'              => array( 1,    'שמאל',                                 'left'                   ),
-               'img_none'              => array( 1,    'ללא',                                  'none'                   ),
-               'img_width'             => array( 1,    '$1px',                                 '$1px'                   ),
-               'img_center'            => array( 1,    'מרכז',                                 'center', 'centre'       ),
-               'img_framed'            => array( 1,    'ממוסגר', 'מסגרת',                      'framed', 'enframed', 'frame' ),
-               'int'                   => array( 0,    'הודעה:',                               'INT:'                   ),
-               'sitename'              => array( 1,    'שם האתר',                              'SITENAME'               ),
-               'ns'                    => array( 0,    'מרחב שם:',                             'NS:'                    ),
-               'localurl'              => array( 0,    'כתובת יחסית:',                         'LOCALURL:'              ),
-               'localurle'             => array( 0,    'כתובת יחסית מקודד:',                   'LOCALURLE:'             ),
-               'server'                => array( 0,    'כתובת השרת', 'שרת',                    'SERVER'                 ),
-               'servername'            => array( 0,    'שם השרת',                              'SERVERNAME'             ),
-               'scriptpath'            => array( 0,    'נתיב הקבצים',                          'SCRIPTPATH'             ),
-               'grammar'               => array( 0,    'דקדוק:',                               'GRAMMAR:'               ),
-               'notitleconvert'        => array( 0,    '__ללא_המרת_כותרת__',                  '__NOTITLECONVERT__', '__NOTC__'),
-               'nocontentconvert'      => array( 0,    '__ללא_המרת_תוכן__',                   '__NOCONTENTCONVERT__', '__NOCC__'),
-               'currentweek'           => array( 1,    'שבוע נוכחי',                           'CURRENTWEEK'            ),
-               'currentdow'            => array( 1,    'מספר יום נוכחי',                       'CURRENTDOW'             ),
-               'revisionid'            => array( 1,    'מזהה גרסה',                            'REVISIONID'             ),
-               'plural'                => array( 0,    'רבים:',                                'PLURAL:'                ),
-               'fullurl'               => array( 0,    'כתובת מלאה:',                          'FULLURL:'               ),
-               'fullurle'              => array( 0,    'כתובת מלאה מקודד:',                    'FULLURLE:'              ),
-               'lcfirst'               => array( 0,    'אות ראשונה קטנה:',                     'LCFIRST:'               ),
-               'ucfirst'               => array( 0,    'אות ראשונה גדולה:',                    'UCFIRST:'               ),
-               'lc'                    => array( 0,    'אותיות קטנות:',                        'LC:'                    ),
-               'uc'                    => array( 0,    'אותיות גדולות:',                       'UC:'                    ),
-               'raw'                   => array( 0,    'ללא עיבוד:',                          'RAW:'                   ),
-               'displaytitle'          => array( 1,    'כותרת תצוגה',                         'DISPLAYTITLE'           ),
-               'rawsuffix'             => array( 1,    'ללא פסיק',                            'R'                      ),
-               'newsectionlink'        => array( 1,    '__יצירת_הערה__',                      '__NEWSECTIONLINK__'     ),
-               'currentversion'        => array( 1,    'גרסה נוכחית',                         'CURRENTVERSION'         ),
-               'urlencode'             => array( 0,    'נתיב מקודד:',                         'URLENCODE:'             ),
-               'currenttimestamp'      => array( 1,    'זמן נוכחי',                           'CURRENTTIMESTAMP'       ),
-               'directionmark'         => array( 1,    'סימן כיווניות',                       'DIRECTIONMARK', 'DIRMARK' ),
-               'language'              => array( 0,    '#שפה:',                              '#LANGUAGE:' ),
-               'contentlanguage'       => array( 1,    'שפת תוכן',                           'CONTENTLANGUAGE', 'CONTENTLANG' ),
-               'pagesinnamespace'      => array( 1,    'דפים במרחב השם:',                   'PAGESINNAMESPACE:', 'PAGESINNS:' ),
-               'numberofadmins'        => array( 1,    'מספר מפעילים',                      'NUMBEROFADMINS' ),
-       );
-       
-       /**
-        * Constructor, setting the namespaces
-        */
-       function __construct() {
-               parent::__construct();
-               
-               global $wgAllMessagesHe;
-               $this->mMessagesHe = &$wgAllMessagesHe;
-               
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesHe = array(
-                       NS_MEDIA          => "מדיה",
-                       NS_SPECIAL        => "מיוחד",
-                       NS_MAIN           => "",
-                       NS_TALK           => "שיחה",
-                       NS_USER           => "משתמש",
-                       NS_USER_TALK      => "שיחת_משתמש",
-                       NS_PROJECT        => $wgMetaNamespace,
-                       NS_PROJECT_TALK   => "שיחת_" . $wgMetaNamespace,
-                       NS_IMAGE          => "תמונה",
-                       NS_IMAGE_TALK     => "שיחת_תמונה",
-                       NS_MEDIAWIKI      => "מדיה_ויקי",
-                       NS_MEDIAWIKI_TALK => "שיחת_מדיה_ויקי",
-                       NS_TEMPLATE       => "תבנית",
-                       NS_TEMPLATE_TALK  => "שיחת_תבנית",
-                       NS_HELP           => "עזרה",
-                       NS_HELP_TALK      => "שיחת_עזרה",
-                       NS_CATEGORY       => "קטגוריה",
-                       NS_CATEGORY_TALK  => "שיחת_קטגוריה",
-               );
-       }
-       
-       /**
-        * Changing the default quickbar setting to "2" - right instead of left, as we use RTL interface
-        *
-        * @return array of the default user options
-        */
-       public function getDefaultUserOptions() {
-               $opt = parent::getDefaultUserOptions();
-               $opt["quickbar"] = 2;
-               return $opt;
-       }
-       
-       /**
-        * @return array of Hebrew bookstore list
-        */
-       public function getBookstoreList() {
-               return $this->mBookstoreListHe;
-       }
-       
-       /**
-        * @return array of Hebrew namespace names
-        */
-       public function getNamespaces() {
-               return $this->mNamespaceNamesHe + parent::getNamespaces();
-       }
-       
-       /**
-        * @return array of Hebrew skin names
-        */
-       public function getSkinNames() {
-               return $this->mSkinNamesHe + parent::getSkinNames();
-       }
-       
-       /**
-        * @return array of Hebrew quickbar settings
-        */
-       public function getQuickbarSettings() {
-               return $this->mQuickbarSettingsHe;
-       }
-       
-       /**
-        * The function returns a message, in Hebrew if exists, in English if not, only from the default translations here.
-        *
-        * @param string the message key
-        *
-        * @return string of the wanted message
-        */
-       public function getMessage( $key ) {
-               if( isset( $this->mMessagesHe[$key] ) ) {
-                       return $this->mMessagesHe[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-       
-       /**
-        * @return array of all the Hebrew messages
-        */
-       public function getAllMessages() {
-               return $this->mMessagesHe;
-       }
-       
-       /**
-        * @return array of all the magic words
-        */
-       public function &getMagicWords() {
-               return $this->mMagicWordsHe;
-       }
-       
-       /**
-        * @return true, as Hebrew is RTL language
-        */
-       public function isRTL() {
-               return true;
-       }
-       
-       /**
-        * @return regular expression which includes the word trails in the link
-        */
-       public function linkTrail() {
-               return '/^([a-zא-ת]+)(.*)$/sDu';
-       }
-       
+class LanguageHe extends Language {
        /**
         * Convert grammar forms of words.
         *
@@ -297,13 +66,6 @@ class LanguageHe extends LanguageUtf8 {
                        return $w2;
                }
        }
-       
-       /**
-        * @return string of the best 8-bit encoding for Hebrew, if UTF-8 cannot be used
-        */
-       public function fallback8bitEncoding() {
-               return "windows-1255";
-       }
 }
 
 ?>
diff --git a/languages/LanguageHi.php b/languages/LanguageHi.php
deleted file mode 100644 (file)
index 4c00675..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-/** Hindi (हिन्दी)
- *
- * @package MediaWiki
- * @subpackage Language
- *
- * @author Niklas Laxström
- */
-
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesHi.php');
-}
-
-class LanguageHi extends LanguageUtf8 {
-       private $mMessagesHi, $mNamespaceNamesHi = null;
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesHi;
-               $this->mMessagesHi =& $wgAllMessagesHi;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesHi = array(
-                       NS_MEDIA          => 'Media',
-                       NS_SPECIAL        => 'विशेष',
-                       NS_MAIN           => '',
-                       NS_TALK           => 'वार्ता',
-                       NS_USER           => 'सदस्य',
-                       NS_USER_TALK      => 'सदस्य_वार्ता',
-                       NS_PROJECT        => $wgMetaNamespace,
-                       NS_PROJECT_TALK   => $wgMetaNamespace . '_वार्ता',
-                       NS_IMAGE          => 'चित्र',
-                       NS_IMAGE_TALK     => 'चित्र_वार्ता',
-                       NS_MEDIAWIKI      => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK => 'MediaWiki_talk',
-                       NS_TEMPLATE       => 'Template',
-                       NS_TEMPLATE_TALK  => 'Template_talk',
-                       NS_CATEGORY       => 'श्रेणी',
-                       NS_CATEGORY_TALK  => 'श्रेणी_वार्ता',
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesHi + parent::getNamespaces();
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesHi[$key] ) ) {
-                       return $this->mMessagesHi[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesHi;
-       }
-
-       function digitTransformTable() {
-               return array(
-                       "0" => "०",
-                       "1" => "१",
-                       "2" => "२",
-                       "3" => "३",
-                       "4" => "४",
-                       "5" => "५",
-                       "6" => "६",
-                       "7" => "७",
-                       "8" => "८",
-                       "9" => "९"
-               );
-       }
-
-}
-
-?>
index 0f82b45..b1f6b0f 100644 (file)
@@ -5,113 +5,7 @@
   * @subpackage Language
   */
 
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesHr.php');
-}
-
-class LanguageHr extends LanguageUtf8 {
-       private $mMessagesHr, $mNamespaceNamesHr = null;
-
-       private $mQuickbarSettingsHr = array(
-               'Bez', 'Lijevo nepomično', 'Desno nepomično', 'Lijevo leteće'
-       );
-       
-       private $mSkinNamesHr = array(
-               'standard'  => 'Standardna',
-               'nostalgia'  => 'Nostalgija',
-               'cologneblue'  => 'Kölnska plava',
-               'smarty'  => 'Paddington',
-               'montparnasse'  => 'Montparnasse',
-               'davinci'  => 'DaVinci',
-               'mono'   => 'Mono',
-               'monobook'  => 'MonoBook',
-               'myskin'  => 'MySkin',
-               'chick'  => 'Chick'
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesHr;
-               $this->mMessagesHr =& $wgAllMessagesHr;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesHr = array(
-                       NS_MEDIA           => 'Mediji',
-                       NS_SPECIAL         => 'Posebno',
-                       NS_MAIN            => '',
-                       NS_TALK            => 'Razgovor',
-                       NS_USER            => 'Suradnik',
-                       NS_USER_TALK       => 'Razgovor_sa_suradnikom',
-                       NS_PROJECT         => $wgMetaNamespace,
-                       NS_PROJECT_TALK    => 'Razgovor_' . $wgMetaNamespace,
-                       NS_IMAGE           => 'Slika',
-                       NS_IMAGE_TALK      => 'Razgovor_o_slici',
-                       NS_MEDIAWIKI       => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK  => 'MediaWiki_razgovor',
-                       NS_TEMPLATE        => 'Predložak',
-                       NS_TEMPLATE_TALK   => 'Razgovor_o_predlošku',
-                       NS_HELP            => 'Pomoć',
-                       NS_HELP_TALK       => 'Razgovor_o_pomoći',
-                       NS_CATEGORY        => 'Kategorija',
-                       NS_CATEGORY_TALK   => 'Razgovor_o_kategoriji'
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesHr + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsHr;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesHr + parent::getSkinNames();
-       }
-
-       function getDateFormats() {
-               return false;
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesHr[$key] ) ) {
-                       return $this->mMessagesHr[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesHr;
-       }
-
-       function date( $ts, $adj = false, $format = true, $timecorrection = false ) {
-               if ( $adj ) { $ts = $this->userAdjust( $ts, $timecorrection ); }
-
-               $d = (0 + substr( $ts, 6, 2 )) . ". " .
-               $this->getMonthName( substr( $ts, 4, 2 ) ) .
-                 " " .
-                 substr( $ts, 0, 4 ) . "." ;
-               return $d;
-       }
-
-
-       function separatorTransformTable() {
-               return array(',' => '.', '.' => ',' );
-       }
-
-       function fallback8bitEncoding() {
-               return 'iso-8859-2';
-       }
-
-       function linkTrail() {
-               return '/^([čšžćđßa-z]+)(.*)$/sDu';
-       }
-
+class LanguageHr extends Language {
        function convertPlural( $count, $wordform1, $wordform2, $wordform3) {
                $count = str_replace ('.', '', $count);
                if ($count > 10 && floor(($count % 100) / 10) == 1) {
index 8500102..ac6555d 100644 (file)
 # Hungarian localisation for MediaWiki
 #
 
-require_once("LanguageUtf8.php");
-
-# suffixed project name (Wikipédia -> Wikipédiá) -- ról, ba, k
-$wgSitenameROL = $wgSitename . "ról";
-$wgSitenameBA = $wgSitename . "ba";
-$wgSitenameK = $wgSitename . "k";
-if( 0 == strcasecmp( "Wikipédia", $wgSitename ) ) {
-       $wgSitenameROL = "Wikipédiáról";
-       $wgSitenameBA  = "Wikipédiába";
-       $wgSitenameK   = "Wikipédiák";
-
-} elseif( 0 == strcasecmp( "Wikidézet", $wgSitename ) ) {
-       $wgSitenameROL = "Wikidézetről";
-       $wgSitenameBA  = "Wikidézetbe";
-       $wgSitenameK   = "Wikidézetek";
-
-} elseif( 0 == strcasecmp( "Wikiszótár", $wgSitename ) ) {
-       $wgSitenameROL = "Wikiszótárról";
-       $wgSitenameBA  = "Wikiszótárba";
-       $wgSitenameK   = "Wikiszótárak";
-
-} elseif( 0 == strcasecmp( "Wikikönyvek", $wgSitename ) ) {
-       $wgSitenameROL = "Wikikönyvekről";
-       $wgSitenameBA  = "Wikikönyvekbe";
-       $wgSitenameK   = "Wikikönyvek";
-}
-
-/* private */ $wgNamespaceNamesHu = array(
-       NS_MEDIA                        => "Média",
-       NS_SPECIAL                      => "Speciális",
-       NS_MAIN                         => "",
-       NS_TALK                         => "Vita",
-       NS_USER                         => "User",
-       NS_USER_TALK            => "User_vita",
-       NS_PROJECT                      => $wgMetaNamespace,
-       NS_PROJECT_TALK         => $wgMetaNamespace . "_vita",
-       NS_IMAGE                        => "Kép",
-       NS_IMAGE_TALK           => "Kép_vita",
-       NS_MEDIAWIKI            => "MediaWiki",
-       NS_MEDIAWIKI_TALK       => "MediaWiki_vita",
-       NS_TEMPLATE                     => "Sablon",
-       NS_TEMPLATE_TALK        => "Sablon_vita",
-       NS_HELP                         => "Segítség",
-       NS_HELP_TALK            => "Segítség_vita",
-       NS_CATEGORY                     => "Kategória",
-       NS_CATEGORY_TALK        => "Kategória_vita"
-) + $wgNamespaceNamesEn;
-
-
-/* private */ $wgQuickbarSettingsHu = array(
-       "Nincs", "Fix baloldali", "Fix jobboldali", "Lebegő baloldali"
-);
-
-/* private */ $wgSkinNamesHu = array(
-       'standard' => "Alap",
-       'nostalgia' => "Nosztalgia",
-       'cologneblue' => "Kölni kék"
-) + $wgSkinNamesEn;
-
-
-/* private */ $wgDateFormatsHu = array(
-#      "Mindegy",
-);
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesHu.php');
-}
-
-class LanguageHu extends LanguageUtf8 {
-
-       function getNamespaces() {
-               global $wgNamespaceNamesHu;
-               return $wgNamespaceNamesHu;
-       }
-
-       function getQuickbarSettings() {
-               global $wgQuickbarSettingsHu;
-               return $wgQuickbarSettingsHu;
+class LanguageHu extends Language {
+       function convertGrammar( $word, $case ) {
+               global $wgGrammarForms;
+               if ( isset($wgGrammarForms[$this->getCode()][$case][$word]) ) {
+                       return $wgGrammarForms[$this->getCode()][$case][$word];
+               }
+
+               static $localForms = array(
+                       'rol' => array(
+                               'Wikipédia'   => 'Wikipédiáról',
+                               'Wikidézet'   => 'Wikidézetről',
+                               'Wikiszótár'  => 'Wikiszótárról',
+                               'Wikikönyvek' => 'Wikikönyvekről',
+                       ),
+                       'ba' => array(
+                               'Wikipédia'   => 'Wikipédiába',
+                               'Wikidézet'   => 'Wikidézetbe',
+                               'Wikiszótár'  => 'Wikiszótárba',
+                               'Wikikönyvek' => 'Wikikönyvekbe',
+                       ),
+                       'k' => array(
+                               'Wikipédia'   => 'Wikipédiák',
+                               'Wikidézet'   => 'Wikidézetek',
+                               'Wikiszótár'  => 'Wikiszótárak',
+                               'Wikikönyvek' => 'Wikikönyvek',
+                       )
+               );
+
+               if ( isset( $localForms[$case][$word] ) ) {
+                       return $localForms[$case][$word];
+               }
+
+               switch ( $case ) {
+                       case 'rol':
+                               return $word . 'ról';
+                       case 'ba':
+                               return $word . 'ba';
+                       case 'k':
+                               return $word . 'k';
+               }
        }
-
-       function getSkinNames() {
-               global $wgSkinNamesHu;
-               return $wgSkinNamesHu;
-       }
-
-       function getDateFormats() {
-               global $wgDateFormatsHu;
-               return $wgDateFormatsHu;
-       }
-
-       function getMessage( $key ) {
-               global $wgAllMessagesHu;
-               if(array_key_exists($key, $wgAllMessagesHu))
-                       return $wgAllMessagesHu[$key];
-               else
-                       return parent::getMessage($key);
-       }
-
-       function fallback8bitEncoding() {
-               return "iso8859-2";
-       }
-
-       /**
-        * $format and $timecorrection are for compatibility with Language::date
-        */
-       function date( $ts, $adj = false, $format = true, $timecorrection = false ) {
-               if ( $adj ) { $ts = $this->userAdjust( $ts ); }
-
-               $d = substr( $ts, 0, 4 ) . ". " .
-               $this->getMonthName( substr( $ts, 4, 2 ) ) . " ".
-                       (0 + substr( $ts, 6, 2 )) . ".";
-               return $d;
-       }
-
-       /**
-        * $format and $timecorrection are for compatibility with Language::date
-        */
-       function timeanddate( $ts, $adj = false, $format = true, $timecorrection = false ) {
-               return $this->date( $ts, $adj ) . ", " . $this->time( $ts, $adj );
-       }
-
-       function separatorTransformTable() {
-               return array(',' => "\xc2\xa0", '.' => ',' );
-       }
-
 }
 
 ?>
diff --git a/languages/LanguageIa.php b/languages/LanguageIa.php
deleted file mode 100644 (file)
index 01b201c..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-<?php
-/** Interlingua (Interlingua)
- *
- * @package MediaWiki
- * @subpackage Language
- */
-
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesIa.php');
-}
-
-class LanguageIa extends LanguageUtf8 {
-       private $mMessagesIa, $mNamespaceNamesIa = null;
-
-       private $mQuickbarSettingsIa = array(
-               'Nulle', 'Fixe a sinistra', 'Fixe a dextera', 'Flottante a sinistra'
-       );
-       
-       private $mSkinNamesIa = array(
-               'cologneblue' => 'Blau Colonia',
-       );
-
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesIa;
-               $this->mMessagesIa =& $wgAllMessagesIa;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesIa = array(
-                       NS_MEDIA          => 'Media',
-                       NS_SPECIAL        => 'Special',
-                       NS_MAIN           => '',
-                       NS_TALK           => 'Discussion',
-                       NS_USER           => 'Usator',
-                       NS_USER_TALK      => 'Discussion_Usator',
-                       NS_PROJECT        => $wgMetaNamespace,
-                       NS_PROJECT_TALK   => 'Discussion_'. $wgMetaNamespace,
-                       NS_IMAGE          => 'Imagine',
-                       NS_IMAGE_TALK     => 'Discussion_Imagine',
-                       NS_MEDIAWIKI      => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK => 'Discussion_MediaWiki',
-                       NS_TEMPLATE       => 'Patrono',
-                       NS_TEMPLATE_TALK  => 'Discussion_Patrono',
-                       NS_HELP           => 'Adjuta',
-                       NS_HELP_TALK      => 'Discussion_Adjuta',
-                       NS_CATEGORY       => 'Categoria',
-                       NS_CATEGORY_TALK  => 'Discussion_Categoria'
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesIa + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsIa;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesIa + parent::getSkinNames();
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesIa[$key] ) ) {
-                       return $this->mMessagesIa[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesIa;
-       }
-
-}
-
-?>
diff --git a/languages/LanguageId.php b/languages/LanguageId.php
deleted file mode 100644 (file)
index ee2c062..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-/** Indonesian (Bahasa Indonesia)
- *
- * @package MediaWiki
- * @subpackage Language
- */
-
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesId.php');
-}
-
-class LanguageId extends LanguageUtf8 {
-       private $mMessagesId, $mNamespaceNamesId, $mNamespaceAlternatesId = null;
-
-       private $mQuickbarSettingsId = array(
-               'Tidak ada', 'Tetap sebelah kiri', 'Tetap sebelah kanan', 'Mengambang sebelah kiri'
-       );
-       
-       private $mSkinNamesId = array(
-               'standard'    => 'Standar',
-       );
-       
-       private $mBookstoreListId = array(
-               'Gramedia Cyberstore (via Google)' => 'http://www.google.com/search?q=%22ISBN+:+$1%22+%22product_detail%22+site:www.gramediacyberstore.com+OR+site:www.gramediaonline.com+OR+site:www.kompas.com&hl=id',
-               'Bhinneka.com bookstore' => 'http://www.bhinneka.com/Buku/Engine/search.asp?fisbn=$1',
-       );
-       
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesId;
-               $this->mMessagesId =& $wgAllMessagesId;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesId = array(
-                       NS_MEDIA            => 'Media',
-                       NS_SPECIAL          => 'Istimewa',
-                       NS_MAIN             => '',
-                       NS_TALK             => 'Bicara',
-                       NS_USER             => 'Pengguna',
-                       NS_USER_TALK        => 'Bicara_Pengguna',
-                       NS_PROJECT          => $wgMetaNamespace,
-                       NS_PROJECT_TALK     => 'Pembicaraan_' . $wgMetaNamespace,
-                       NS_IMAGE            => 'Gambar',
-                       NS_IMAGE_TALK       => 'Pembicaraan_Gambar',
-                       NS_MEDIAWIKI        => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK   => 'Pembicaraan_MediaWiki',
-                       NS_TEMPLATE         => 'Templat',
-                       NS_TEMPLATE_TALK    => 'Pembicaraan_Templat',
-                       NS_HELP             => 'Bantuan',
-                       NS_HELP_TALK        => 'Pembicaraan_Bantuan',
-                       NS_CATEGORY         => 'Kategori',
-                       NS_CATEGORY_TALK    => 'Pembicaraan_Kategori'
-               );
-
-               # For backwards compatibility: some talk namespaces were
-               # changed in 1.4.4 from their previous values, here:
-               $this->mNamespaceAlternatesId = array(
-                       NS_IMAGE_TALK       => 'Gambar_Pembicaraan',
-                       NS_MEDIAWIKI_TALK   => 'MediaWiki_Pembicaraan',
-                       NS_TEMPLATE_TALK    => 'Templat_Pembicaraan',
-                       NS_HELP_TALK        => 'Bantuan_Pembicaraan',
-                       NS_CATEGORY_TALK    => 'Kategori_Pembicaraan'
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesId + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsId;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesId + parent::getSkinNames();
-       }
-
-       function getDateFormats() {
-               return false;
-       }
-
-       function getBookstoreList() {
-               return $this->mBookstoreListId;
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesId[$key] ) ) {
-                       return $this->mMessagesId[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesId;
-       }
-
-       function getNsIndex( $text ) {
-               foreach ( $this->getNamespaces() as $i => $n ) {
-                       if ( 0 == strcasecmp( $n, $text ) ) { return $i; }
-               }
-               foreach ( $this->mNamespaceAlternatesId as $i => $n ) {
-                       if ( 0 == strcasecmp( $n, $text ) ) { return $i; }
-               }
-
-       }
-
-       function separatorTransformTable() {
-               return array(',' => '.', '.' => ',' );
-       }
-
-}
-
-?>
diff --git a/languages/LanguageIi.deps.php b/languages/LanguageIi.deps.php
deleted file mode 100644 (file)
index 2845921..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageIi.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
-
-require_once( "LanguageZh_cn.php" );
-?>
\ No newline at end of file
diff --git a/languages/LanguageIi.php b/languages/LanguageIi.php
deleted file mode 100644 (file)
index 4b57fe1..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-/** Yi (ꆇꉙ)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  *
-  * @bug 3844
-  *
-  * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
-  * @copyright Copyright © 2005, Ævar Arnfjörð Bjarmason
-  * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
-  */
-
-require_once 'LanguageZh_cn.php';
-
-class LanguageIi extends LanguageZh_cn {
-
-       function getFallbackLanguage() {
-               return 'zh-cn';
-       }
-
-       function getAllMessages() {
-               return null;
-       }
-}
-
-?>
diff --git a/languages/LanguageIs.php b/languages/LanguageIs.php
deleted file mode 100644 (file)
index a080e6a..0000000
+++ /dev/null
@@ -1,185 +0,0 @@
-<?php
-/** Icelandic (Íslenska)
- *
- * @package MediaWiki
- * @subpackage Language
- */
-
-# Most of this was written by Ævar Arnfjörð Bjarmason <avarab@gmail.com>
-
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesIs.php');
-}
-
-class LanguageIs extends LanguageUtf8 {
-       private $mMessagesIs, $mNamespaceNamesIs = null;
-
-       private $mQuickbarSettingsIs = array(
-               'Sleppa', 'Fast vinstra megin', 'Fast hægra megin', 'Fljótandi til vinstri'
-       );
-       
-       private $mSkinNamesIs = array(
-               'standard'      => 'Klassískt',
-               'nostalgia'     => 'Gamaldags',
-               'cologneblue'   => 'Kölnarblátt',
-               'myskin'        => 'Mitt þema',
-       );
-       
-       private $mDateFormatsIs = array(
-               'Sjálfgefið',
-               '15. janúar 2001 kl. 16:12',
-               '15. jan. 2001 kl. 16:12',
-               '16:12, 15. janúar 2001',
-               '16:12, 15. jan. 2001',
-               'ISO 8601' => '2001-01-15 16:12:34'
-       );
-
-       private $mMagicWordsIs = array(
-               'redirect'   => array( 0, '#tilvísun', '#TILVÍSUN', '#redirect' ), // MagicWord::initRegex() sucks
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesIs;
-               $this->mMessagesIs =& $wgAllMessagesIs;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesIs = array(
-                       NS_MEDIA          => 'Miðill',
-                       NS_SPECIAL        => 'Kerfissíða',
-                       NS_MAIN           => '',
-                       NS_TALK           => 'Spjall',
-                       NS_USER           => 'Notandi',
-                       NS_USER_TALK      => 'Notandaspjall',
-                       NS_PROJECT        => $wgMetaNamespace,
-                       NS_PROJECT_TALK   => $wgMetaNamespace . 'spjall',
-                       NS_IMAGE          => 'Mynd',
-                       NS_IMAGE_TALK     => 'Myndaspjall',
-                       NS_MEDIAWIKI      => 'Melding',
-                       NS_MEDIAWIKI_TALK => 'Meldingarspjall',
-                       NS_TEMPLATE       => 'Snið',
-                       NS_TEMPLATE_TALK  => 'Sniðaspjall',
-                       NS_HELP           => 'Hjálp',
-                       NS_HELP_TALK      => 'Hjálparspjall',
-                       NS_CATEGORY       => 'Flokkur',
-                       NS_CATEGORY_TALK  => 'Flokkaspjall'
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesIs + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsIs;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesIs + parent::getSkinNames();
-       }
-
-       function getDateFormats() {
-               return $this->mDateFormatsIs;
-       }
-
-       function &getMagicWords()  {
-               $t = $this->mMagicWordsIs + parent::getMagicWords();
-               return $t;
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesIs[$key] ) ) {
-                       return $this->mMessagesIs[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesIs;
-       }
-
-       /**
-        * $timecorrection is for compatibility with Language::date
-        */
-       function date( $ts, $adj = false, $format = true, $timecorrection = false ) {
-               if ( $adj ) { $ts = $this->userAdjust( $ts ); } # Adjust based on the timezone setting.
-               $format = $this->dateFormat($format);
-
-               switch( $format ) {
-                       # 15. jan. 2001 kl. 16:12 || 16:12, 15. jan. 2001
-                       case '2': case '4': return (0 + substr( $ts, 6, 2 )) . '. ' .
-                               $this->getMonthAbbreviation( substr( $ts, 4, 2 ) ) . '. ' .
-                               substr($ts, 0, 4);
-                       # 2001-01-15 16:12:34
-                       case 'ISO 8601': return substr($ts, 0, 4). '-' . substr($ts, 4, 2). '-' .substr($ts, 6, 2);
-
-                       # 15. janúar 2001 kl. 16:12 || 16:12, 15. janúar 2001
-                       default: return (0 + substr( $ts, 6, 2 )) . '. ' .
-                               $this->getMonthName( substr( $ts, 4, 2 ) ) . ' ' .
-                               substr($ts, 0, 4);
-               }
-
-       }
-
-       /**
-        * $timecorrection is for compatibility with language::time
-        */
-       function time($ts, $adj = false, $format = true, $timecorrection = false) {
-               global $wgUser;
-               if ( $adj ) { $ts = $this->userAdjust( $ts ); } # Adjust based on the timezone setting.
-
-               $format = $this->dateFormat($format);
-
-               switch( $format ) {
-                       # 2001-01-15 16:12:34
-                       case 'ISO 8601': return substr( $ts, 8, 2 ) . ':' . substr( $ts, 10, 2 ) . ':' . substr( $ts, 12, 2 );
-                       default: return substr( $ts, 8, 2 ) . ':' . substr( $ts, 10, 2 );
-               }
-
-       }
-
-       /**
-        * $timecorrection is for compatibility with Language::date
-        */
-       function timeanddate( $ts, $adj = false, $format = true, $timecorrection = false ) {
-               global $wgUser;
-
-               $format = $this->dateFormat($format);
-
-               switch ( $format ) {
-                       # 16:12, 15. janúar 2001 || 16:12, 15. jan. 2001
-                       case '3': case '4': return $this->time( $ts, $adj, $format ) . ', ' . $this->date( $ts, $adj, $format );
-                       # 2001-01-15 16:12:34
-                       case 'ISO 8601': return $this->date( $ts, $adj, $format ) . ' ' . $this->time( $ts, $adj, $format );
-                       # 15. janúar 2001 kl. 16:12 || 15. jan. 2001 kl. 16:12
-                       default: return $this->date( $ts, $adj, $format ) . ' kl. ' . $this->time( $ts, $adj, $format );
-
-               }
-
-       }
-
-       /**
-        * The Icelandic number style uses dots where English would use commas
-        * and commas where English would use dots, e.g. 201.511,17 not 201,511.17
-        */
-       function separatorTransformTable() {
-               return array(',' => '.', '.' => ',' );
-       }
-
-       function linkPrefixExtension() {
-               // return '/^(.*?)([áÁðÐéÉíÍóÓúÚýÝþÞæÆöÖA-Za-z-–]+)$/sDu';
-               return true;
-       }
-
-       function linkTrail() {
-               return '/^([áðéíóúýþæöa-z-–]+)(.*)$/sDu';
-       }
-
-}
-
-?>
diff --git a/languages/LanguageIt.php b/languages/LanguageIt.php
deleted file mode 100644 (file)
index b0554c1..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-/** Italian (Italiano)
- *
- * @package MediaWiki
- * @subpackage Language
- */
-
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesIt.php');
-}
-
-class LanguageIt extends LanguageUtf8 {
-       private $mMessagesIt, $mNamespaceNamesIt = null;
-       
-       private $mQuickbarSettingsIt = array(
-               'Nessuno', 'Fisso a sinistra', 'Fisso a destra', 'Fluttuante a sinistra'
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesIt;
-               $this->mMessagesIt =& $wgAllMessagesIt;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesIt = array(
-                       NS_MEDIA            => 'Media',
-                       NS_SPECIAL          => 'Speciale',
-                       NS_MAIN             => '',
-                       NS_TALK             => 'Discussione',
-                       NS_USER             => 'Utente',
-                       NS_USER_TALK        => 'Discussioni_utente',
-                       NS_PROJECT          => $wgMetaNamespace,
-                       NS_PROJECT_TALK     => 'Discussioni_' . $wgMetaNamespace,
-                       NS_IMAGE            => 'Immagine',
-                       NS_IMAGE_TALK       => 'Discussioni_immagine',
-                       NS_MEDIAWIKI        => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK   => 'Discussioni_MediaWiki',
-                       NS_TEMPLATE         => 'Template',
-                       NS_TEMPLATE_TALK    => 'Discussioni_template',
-                       NS_HELP             => 'Aiuto',
-                       NS_HELP_TALK        => 'Discussioni_aiuto',
-                       NS_CATEGORY         => 'Categoria',
-                       NS_CATEGORY_TALK    => 'Discussioni_categoria'
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesIt + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsIt;
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesIt[$key] ) ) {
-                       return $this->mMessagesIt[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesIt;
-       }
-
-       function formatMonth( $month, $format ) {
-               return $this->getMonthAbbreviation( $month );
-       }
-
-       /**
-        * Italian numeric format is 201.511,17
-        */
-       function separatorTransformTable() {
-               return array(',' => '.', '.' => ',' );
-       }
-
-}
-
-?>
index 1379c68..7268fd5 100644 (file)
 <?php
 /**
- * Japan (日本語)
+ * Japanese (日本語)
  *
  * @package MediaWiki
  * @subpackage Language
  */
-
-require_once( "LanguageUtf8.php" );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesJa.php');
-}
-
-class LanguageJa extends LanguageUtf8 {
-       private $mMessagesJa, $mNamespaceNamesJa = null;
-
-       private $mQuickbarSettingsJa = array(
-               "なし", "左端", "右端", "ウィンドウの左上に固定"
-       );
-       
-       private $mSkinNamesJa = array(
-               'standard' => "標準",
-               'nostalgia' => "ノスタルジア",
-               'cologneblue' => "ケルンブルー",
-       );
-       
-       private $mDateFormatsJa = array(
-               MW_DATE_DEFAULT => '2001年1月15日 16:12 (デフォルト)',
-               MW_DATE_ISO => '2001-01-15 16:12:34'
-       );
-       
-       private $mWeekdayAbbreviationsJa = array(
-               "日", "月", "火", "水", "木", "金", "土"
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesJa;
-               $this->mMessagesJa =& $wgAllMessagesJa;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesJa = array(
-                       NS_MEDIA          => "Media", /* Media */
-                       NS_SPECIAL        => "特別", /* Special */
-                       NS_MAIN           => "",
-                       NS_TALK           => "ノート", /* Talk */
-                       NS_USER           => "利用者", /* User */
-                       NS_USER_TALK      => "利用者‐会話", /* User_talk */
-                       NS_PROJECT        => $wgMetaNamespace, /* Wikipedia */
-                       NS_PROJECT_TALK   => "{$wgMetaNamespace}‐ノート", /* Wikipedia_talk */
-                       NS_IMAGE          => "画像", /* Image */
-                       NS_IMAGE_TALK     => "画像‐ノート", /* Image_talk */
-                       NS_MEDIAWIKI      => "MediaWiki", /* MediaWiki */
-                       NS_MEDIAWIKI_TALK => "MediaWiki‐ノート", /* MediaWiki_talk */
-                       NS_TEMPLATE       => "Template", /* Template */
-                       NS_TEMPLATE_TALK  => "Template‐ノート", /* Template_talk */
-                       NS_HELP           => "Help", /* Help */
-                       NS_HELP_TALK      => "Help‐ノート", /* Help_talk */
-                       NS_CATEGORY       => "Category", /* Category */
-                       NS_CATEGORY_TALK  => "Category‐ノート" /* Category_talk */
-
-               );
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesJa + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsJa;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesJa + parent::getSkinNames();
-       }
-
-       function getDateFormats() {
-               return $this->mDateFormatsJa;
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesJa[$key] ) ) {
-                       return $this->mMessagesJa[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesJa;
-       }
-
-       function date( $ts, $adj = false, $format = true, $tc = false ) {
-
-               if ( $adj ) { $ts = $this->userAdjust( $ts, $tc ); }
-               $datePreference = $this->dateFormat( $format );
-
-               if( $datePreference == MW_DATE_ISO ) {
-                       $d = substr($ts, 0, 4). '-' . substr($ts, 4, 2). '-' .
-                                       substr($ts, 6, 2);
-                       return $d;
-               }
-
-               $year = (int)substr( $ts, 0, 4 );
-               $month = (int)substr( $ts, 4, 2 );
-               $mday = (int)substr( $ts, 6, 2 );
-               $hour = (int)substr( $ts, 8, 2 );
-               $minute = (int)substr( $ts, 10, 2 );
-               $second = (int)substr( $ts, 12, 2 );
-
-               $time = mktime( $hour, $minute, $second, $month, $mday, $year );
-               $date = getdate( $time );
-
-               $d = $year . "年" .
-                               $this->getMonthAbbreviation( $month ) .
-                               $mday . "日 (" .
-                               $this->mWeekdayAbbreviationsJa[ $date['wday'] ]. ")";
-               return $d;
-       }
-
-       function time( $ts, $adj = false, $format = true, $tc = false ) {
-               if ( $adj ) { $ts = $this->userAdjust( $ts, $tc ); }
-               $datePreference = $this->dateFormat( $format );
-
-               $t = substr( $ts, 8, 2 ) . ":" . substr( $ts, 10, 2 );
-               if ( $datePreference == MW_DATE_ISO ) {
-                       $t .= ':' . substr( $ts, 12, 2 );
-               }
-
-               return $t;
-       }
-
-       function timeanddate( $ts, $adj = false, $format = true, $tc = false ) {
-               return $this->date( $ts, $adj, $format, $tc ) . " " . $this->time( $ts, $adj, $format, $tc );
-       }
-
+class LanguageJa extends Language {
        function stripForSearch( $string ) {
                # MySQL fulltext index doesn't grok utf-8, so we
                # need to fold cases and convert to hex
diff --git a/languages/LanguageJv.php b/languages/LanguageJv.php
deleted file mode 100644 (file)
index a380add..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-<?php
-/** Javanese (Basa Jawa)
- *
- * @package MediaWiki
- * @subpackage Language
- *
- * @author Niklas Laxström
- *
- * @copyright Copyright © 2006, Niklas Laxström
- * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
- */
-
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesJv.php');
-}
-
-class LanguageJv extends LanguageUtf8 {
-       private $mMessagesJv, $mNamespaceNamesJv, $mNamespaceAlternatesJv = null;
-
-       private $mQuickbarSettingsJv = array(
-               'Ora ana', 'Tetep sisih kiwa', 'Tetep sisih tengen', 'Ngambang sisih kiwa'
-       );
-       
-       private $mSkinNamesJv = array(
-               'standard'    => "Standar",
-       );
-
-       private $mBookstoreListJv = array(
-               'Gramedia Cyberstore (via Google)' => 'http://www.google.com/search?q=%22ISBN+:+$1%22+%22product_detail%22+site:www.gramediacyberstore.com+OR+site:www.gramediaonline.com+OR+site:www.kompas.com&hl=id',
-               'Bhinneka.com bookstore' => 'http://www.bhinneka.com/Buku/Engine/search.asp?fisbn=$1',
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesJv;
-               $this->mMessagesJv =& $wgAllMessagesJv;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesJv = array(
-                       NS_MEDIA            => 'Media',
-                       NS_SPECIAL          => 'Astamiwa',
-                       NS_MAIN             => '',
-                       NS_TALK             => 'Dhiskusi',
-                       NS_USER             => 'Panganggo',
-                       NS_USER_TALK        => 'Dhiskusi_Panganggo',
-                       NS_PROJECT          => $wgMetaNamespace,
-                       NS_PROJECT_TALK     => 'Dhiskusi_' . $wgMetaNamespace,
-                       NS_IMAGE            => 'Gambar',
-                       NS_IMAGE_TALK       => 'Dhiskusi_Gambar',
-                       NS_MEDIAWIKI        => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK   => 'Dhiskusi_MediaWiki',
-                       NS_TEMPLATE         => 'Cithakan',
-                       NS_TEMPLATE_TALK    => 'Dhiskusi_Cithakan',
-                       NS_HELP             => 'Pitulung',
-                       NS_HELP_TALK        => 'Dhiskusi_Pitulung',
-                       NS_CATEGORY         => 'Kategori',
-                       NS_CATEGORY_TALK    => 'Dhiskusi_Kategori'
-               );
-
-               $this->mNamespaceAlternatesJv = array(
-                       NS_IMAGE_TALK       => 'Gambar_Dhiskusi',
-                       NS_MEDIAWIKI_TALK   => 'MediaWiki_Dhiskusi',
-                       NS_TEMPLATE_TALK    => 'Cithakan_Dhiskusi',
-                       NS_HELP_TALK        => 'Pitulung_Dhiskusi',
-                       NS_CATEGORY_TALK    => 'Kategori_Dhiskusi'
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesJv + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsJv;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesJv + parent::getSkinNames();
-       }
-
-       function getBookstoreList() {
-               return $this->mBookstoreListJv + parent::getBookstoreList();
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesJv[$key] ) ) {
-                       return $this->mMessagesJv[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesJv;
-       }
-
-       function getNsIndex( $text ) {
-
-               foreach ( $this->getNamespaces() as $i => $n ) {
-                       if ( 0 == strcasecmp( $n, $text ) ) { return $i; }
-               }
-               foreach ( $this->mNamespaceAlternatesJv as $i => $n ) {
-                       if ( 0 == strcasecmp( $n, $text ) ) { return $i; }
-               }
-
-               return false;
-       }
-
-}
-
-?>
diff --git a/languages/LanguageKa.php b/languages/LanguageKa.php
deleted file mode 100644 (file)
index b24bcf7..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-/** Georgian (ქართული)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-require_once( 'LanguageUtf8.php' );
-
-class LanguageKa extends LanguageUtf8 {
-       private $mNamespaceNamesKa = null;
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesKa = array(
-                       NS_MEDIA            => 'მედია',
-                       NS_SPECIAL          => 'სპეციალური',
-                       NS_MAIN             => '',
-                       NS_TALK             => 'განხილვა',
-                       NS_USER             => 'მომხმარებელი',
-                       NS_USER_TALK        => 'მომხმარებელი_განხილვა',
-                       NS_PROJECT          => $wgMetaNamespace,
-                       NS_PROJECT_TALK     => $wgMetaNamespace . '_განხილვა',
-                       NS_IMAGE            => 'სურათი',
-                       NS_IMAGE_TALK       => 'სურათი_განხილვა',
-                       NS_MEDIAWIKI        => 'მედიავიკი',
-                       NS_MEDIAWIKI_TALK   => 'მედიავიკი_განხილვა',
-                       NS_TEMPLATE         => 'თარგი',
-                       NS_TEMPLATE_TALK    => 'თარგი_განხილვა',
-                       NS_HELP             => 'დახმარება',
-                       NS_HELP_TALK        => 'დახმარება_განხილვა',
-                       NS_CATEGORY         => 'კატეგორია',
-                       NS_CATEGORY_TALK    => 'კატეგორია_განხილვა'
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesKa + parent::getNamespaces();
-       }
-
-}
-
-?>
diff --git a/languages/LanguageKm.php b/languages/LanguageKm.php
deleted file mode 100644 (file)
index 0c5f55b..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-/** Khmer (ភាសាខ្មែរ)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  *
-  * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
-  */
-
-require_once( 'LanguageUtf8.php' );
-
-class LanguageKm extends LanguageUtf8 {
-       function digitTransformTable() {
-               return array(
-                       '0' => '០',
-                       '1' => '១',
-                       '2' => '២',
-                       '3' => '៣',
-                       '4' => '៤',
-                       '5' => '៥',
-                       '6' => '៦',
-                       '7' => '៧',
-                       '8' => '៨',
-                       '9' => '៩'
-               );
-       }
-
-}
-
-?>
diff --git a/languages/LanguageKn.php b/languages/LanguageKn.php
deleted file mode 100644 (file)
index 755556c..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-<?php
-/**
- * Language file for Kannada.
- * Mosty done by:
- *   Hari Prasad Nadig <hpnadig@gmail.com>
- *     http://en.wikipedia.org/wiki/User:Hpnadig
- *   Ashwath Mattur <ashwatham@gmail.com>
- *     http://en.wikipedia.org/wiki/User:Ashwatham
- *
- * Also see the Kannada Localisation Initiative at:
- *      http://kannada.sourceforge.net/
- *
- * @package MediaWiki
- * @subpackage Language
- */
-
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesKn.php');
-}
-
-class LanguageKn extends LanguageUtf8 {
-       private $mMessagesKn, $mNamespaceNamesKn = null;
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesKn;
-               $this->mMessagesKn =& $wgAllMessagesKn;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesKn = array(
-                       NS_MEDIA            => 'ಮೀಡಿಯ',
-                       NS_SPECIAL          => 'ವಿಶೇಷ',
-                       NS_MAIN             => '',
-                       NS_TALK             => 'ಚರ್ಚೆಪುಟ',
-                       NS_USER             => 'ಸದಸ್ಯ',
-                       NS_USER_TALK        => 'ಸದಸ್ಯರ_ಚರ್ಚೆಪುಟ',
-                       NS_PROJECT          => $wgMetaNamespace,
-                       NS_PROJECT_TALK     => $wgMetaNamespace . '_ಚರ್ಚೆ',
-                       NS_IMAGE            => 'ಚಿತ್ರ',
-                       NS_IMAGE_TALK       => 'ಚಿತ್ರ_ಚರ್ಚೆಪುಟ',
-                       NS_MEDIAWIKI        => 'ಮೀಡಿಯವಿಕಿ',
-                       NS_MEDIAWIKI_TALK   => 'ಮೀಡೀಯವಿಕಿ_ಚರ್ಚೆ',
-                       NS_TEMPLATE         => 'ಟೆಂಪ್ಲೇಟು',
-                       NS_TEMPLATE_TALK    => 'ಟೆಂಪ್ಲೇಟು_ಚರ್ಚೆ',
-                       NS_HELP             => 'ಸಹಾಯ',
-                       NS_HELP_TALK        => 'ಸಹಾಯ_ಚರ್ಚೆ',
-                       NS_CATEGORY         => 'ವರ್ಗ',
-                       NS_CATEGORY_TALK    => 'ವರ್ಗ_ಚರ್ಚೆ'
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesKn + parent::getNamespaces();
-       }
-
-
-       function digitTransformTable() {
-               return array(
-                       '0' => '೦',
-                       '1' => '೧',
-                       '2' => '೨',
-                       '3' => '೩',
-                       '4' => '೪',
-                       '5' => '೫',
-                       '6' => '೬',
-                       '7' => '೭',
-                       '8' => '೮',
-                       '9' => '೯'
-               );
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesKn[$key] ) ) {
-                       return $this->mMessagesKn[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesKn;
-       }
-
-}
-
-?>
index 707b955..55d2811 100644 (file)
@@ -5,138 +5,7 @@
   * @subpackage Language
   */
 
-require_once('LanguageUtf8.php');
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesKo.php');
-}
-
-class LanguageKo extends LanguageUtf8 {
-       private $mMessagesKo, $mNamespaceNamesKo = null;
-
-               private $mQuickbarSettingsKo = array(
-                       '없음', '왼쪽', '오른쪽', '왼쪽 고정', '오른쪽 고정'
-               );
-               
-               private $mSkinNamesKo = array(
-                       'standard' => '표준',
-                       'davinci' => '다빈치',
-                       'mono' => '모노',
-                       'monobook' => '모노북',
-                       'my skin' => '내 스킨',
-               );
-               
-               private $mBookstoreListKo = array(
-                       'Aladdin.co.kr' => 'http://www.aladdin.co.kr/catalog/book.asp?ISBN=$1'
-               );
-               
-               # (Okay, I think I got it right now. This can be adjusted
-               #  in the 'date' function down at the bottom. --Brion)
-               #
-               # Thanks. And it's usual that the time comes after dates.
-               # So I've change the timeanddate function, just exchanged $time and $date
-               # But you should check before you install it, 'cause I'm quite stupid about
-               # the programming.
-               #
-               
-               private $mWeekdayAbbreviationsKo = array(
-                       '일', '월', '화', '수', '목', '금', '토'
-               );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesKo;
-               $this->mMessagesKo =& $wgAllMessagesKo;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesKo = array(
-                       NS_MEDIA          => 'Media',
-                       NS_SPECIAL        => '특수기능',
-                       NS_MAIN           => '',
-                       NS_TALK           => '토론',
-                       NS_USER           => '사용자',
-                       NS_USER_TALK      => '사용자토론',
-                       NS_PROJECT        => $wgMetaNamespace,
-                       NS_PROJECT_TALK   => $wgMetaNamespace.'토론',
-                       NS_IMAGE          => '그림',
-                       NS_IMAGE_TALK     => '그림토론',
-                       NS_MEDIAWIKI      => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK => 'MediaWiki토론',
-                       NS_TEMPLATE       => '틀',
-                       NS_TEMPLATE_TALK  => '틀토론',
-                       NS_HELP           => '도움말',
-                       NS_HELP_TALK      => '도움말토론',
-                       NS_CATEGORY       => '분류',
-                       NS_CATEGORY_TALK  => '분류토론',
-               );
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesKo + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsKo;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesKo + parent::getSkinNames();
-       }
-
-       function getBookstoreList() {
-               return $this->mBookstoreListKo + parent::getBookstoreList();
-       }
-
-       function getDateFormats() {
-               return false;
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesKo[$key] ) ) {
-                       return $this->mMessagesKo[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesKo;
-       }
-
-       /**
-        * $format and $timecorrection are for compatibility with Language::date
-        */
-       function date( $ts, $adj = false, $format = true, $timecorrection = false ) {
-               if ( $adj ) { $ts = $this->userAdjust( $ts ); }
-
-               $year = (int)substr( $ts, 0, 4 );
-               $month = (int)substr( $ts, 4, 2 );
-               $mday = (int)substr( $ts, 6, 2 );
-               $hour = (int)substr( $ts, 8, 2 );
-               $minute = (int)substr( $ts, 10, 2 );
-               $second = (int)substr( $ts, 12, 2 );
-               $time = mktime( $hour, $minute, $second, $month, $mday, $year );
-               $date = getdate( $time );
-
-               # "xxxx년 xx월 xx일 (월)"
-               # timeanddate works "xxxx년 xx월 xx일 (월) xx:xx"
-               $d = $year . "년 " .
-                       $this->getMonthAbbreviation( $month ) . "월 " .
-                       $mday . "일 ".
-                       "(" . $this->mWeekdayAbbreviationsKo[ $date['wday'] ]. ")";
-
-               return $d;
-       }
-
-       function timeBeforeDate() {
-               return false;
-       }
-
-       function timeDateSeparator( $format ) {
-               return ' ';
-       }
-
+class LanguageKo extends Language {
        function firstChar( $s ) {
                preg_match( '/^([\x00-\x7f]|[\xc0-\xdf][\x80-\xbf]|' .
                '[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xf7][\x80-\xbf]{3})/', $s, $matches);
@@ -185,4 +54,4 @@ class LanguageKo extends LanguageUtf8 {
        }
 }
 
-?>
\ No newline at end of file
+?>
diff --git a/languages/LanguageKs.php b/languages/LanguageKs.php
deleted file mode 100644 (file)
index 082149b..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-/** Kashmiri language file ( कश्मीरी - (ﻚﺸﻤﻳﺮﻳ) )
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-require_once( 'LanguageUtf8.php' );
-
-class LanguageKs extends LanguageUtf8 {
-       #FIXME: inherit almost everything for now
-
-       function isRTL() {
-               return true;
-       }
-}
-
-?>
diff --git a/languages/LanguageKu.php b/languages/LanguageKu.php
deleted file mode 100644 (file)
index 40677c7..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-/** Kurdish (Kurdî / كوردي)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesKu.php');
-}
-
-class LanguageKu extends LanguageUtf8 {
-       private $mMessagesKu, $mNamespaceNamesKu = null;
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesKu;
-               $this->mMessagesKu =& $wgAllMessagesKu;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesKu = array(
-                       NS_MEDIA            => 'Medya',
-                       NS_SPECIAL          => 'Taybet',
-                       NS_MAIN             => '',
-                       NS_TALK             => 'Nîqaş',
-                       NS_USER             => 'Bikarhêner',
-                       NS_USER_TALK        => 'Bikarhêner_nîqaş',
-                       NS_PROJECT          => $wgMetaNamespace,
-                       NS_PROJECT_TALK     => $wgMetaNamespace . '_nîqaş',
-                       NS_IMAGE            => 'Wêne',
-                       NS_IMAGE_TALK       => 'Wêne_nîqaş',
-                       NS_MEDIAWIKI        => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK   => 'MediaWiki_nîqaş',
-                       NS_TEMPLATE         => 'Şablon',
-                       NS_TEMPLATE_TALK    => 'Şablon_nîqaş',
-                       NS_HELP             => 'Alîkarî',
-                       NS_HELP_TALK        => 'Alîkarî_nîqaş',
-                       NS_CATEGORY         => 'Kategorî',
-                       NS_CATEGORY_TALK    => 'Kategorî_nîqaş'
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesKu + parent::getNamespaces();
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesKu[$key] ) ) {
-                       return $this->mMessagesKu[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesKu;
-       }
-
-}
-
-?>
diff --git a/languages/LanguageKv.deps.php b/languages/LanguageKv.deps.php
deleted file mode 100644 (file)
index ea22590..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageKv.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
-
-require_once( "LanguageRu.php" );
-?>
\ No newline at end of file
diff --git a/languages/LanguageKv.php b/languages/LanguageKv.php
deleted file mode 100644 (file)
index 807d66d..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-/** Komi (Коми)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  *
-  * @bug 3844
-  *
-  * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
-  * @author Ashar Voultoiz <hashar@altern.org>
-  *
-  * @copyright Copyright © 2005, Ævar Arnfjörð Bjarmason, Ashar Voultoiz
-  * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
-  */
-
-require_once 'LanguageRu.php';
-
-class LanguageKv extends LanguageRu {
-
-       function getFallbackLanguage() {
-               return 'ru';
-       }
-
-       function getAllMessages() {
-               return null;
-       }
-}
-
-?>
index 0e783ad..b9f6992 100644 (file)
@@ -5,90 +5,7 @@
   * @subpackage Language
   */
 
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesLa.php');
-}
-
-class LanguageLa extends LanguageUtf8 {
-       private $mMessagesLa, $mNamespaceNamesLa = null;
-
-       private $mQuickbarSettingsLa = array(
-               'Nullus', 'Constituere a sinistra', 'Constituere a dextra', 'Innens a sinistra'
-       );
-       
-       private $mSkinNamesLa = array(
-               'standard' => 'Norma',
-               'nostalgia' => 'Nostalgia',
-               'cologneblue' => 'Caerulus Colonia'
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesLa;
-               $this->mMessagesLa =& $wgAllMessagesLa;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesLa = array(
-                       NS_SPECIAL        => 'Specialis',
-                       NS_MAIN           => '',
-                       NS_TALK           => 'Disputatio',
-                       NS_USER           => 'Usor',
-                       NS_USER_TALK      => 'Disputatio_Usoris',
-                       NS_PROJECT        => $wgMetaNamespace,
-                       NS_PROJECT_TALK   => 'Disputatio_' . $this->convertGrammar( $wgMetaNamespace, 'genitive' ),
-                       NS_IMAGE          => 'Imago',
-                       NS_IMAGE_TALK     => 'Disputatio_Imaginis',
-                       NS_MEDIAWIKI      => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK => 'Disputatio_MediaWiki',
-                       NS_TEMPLATE       => 'Formula',
-                       NS_TEMPLATE_TALK  => 'Disputatio_Formulae',
-                       NS_HELP           => 'Auxilium',
-                       NS_HELP_TALK      => 'Disputatio_Auxilii',
-                       NS_CATEGORY       => 'Categoria',
-                       NS_CATEGORY_TALK  => 'Disputatio_Categoriae',
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesLa + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsLa;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesLa + parent::getSkinNames();
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesLa[$key] ) ) {
-                       return $this->mMessagesLa[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesLa;
-       }
-
-       function getNsIndex( $text ) {
-               global $wgMetaNamespace;
-
-               foreach ( $this->mNamespaceNamesLa as $i => $n ) {
-                       if ( 0 == strcasecmp( $n, $text ) ) { return $i; }
-               }
-
-               # Backwards compatibility hacks
-               if( $wgMetaNamespace == 'Vicipaedia' || $wgMetaNamespace == 'Victionarium' ) {
-                       if( 0 == strcasecmp( 'Disputatio_Wikipedia', $text ) ) return NS_PROJECT_TALK;
-               }
-               return false;
-       }
-
+class LanguageLa extends Language {
        /**
         * Convert from the nominative form of a noun to some other case
         *
diff --git a/languages/LanguageLi.php b/languages/LanguageLi.php
deleted file mode 100644 (file)
index 2e7fe8c..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-<?php
-/** Limburgian (Limburgs)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesLi.php');
-}
-
-class LanguageLi extends LanguageUtf8 {
-       private $mMessagesLi, $mNamespaceNamesLi = null;
-
-       private $mQuickbarSettingsLi = array(
-               'Oetgesjakeld', 'Links vas', 'Rechts vas', 'Links zwevend'
-       );
-       
-       private $mSkinNamesLi = array(
-               'standard' => 'Standaard',
-               'nostalgia' => 'Nostalgie',
-               'cologneblue' => 'Keuls blauw',
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesLi;
-               $this->mMessagesLi =& $wgAllMessagesLi;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesLi = array(
-                       NS_MEDIA          => 'Media',
-                       NS_SPECIAL        => 'Speciaal',
-                       NS_MAIN           => '',
-                       NS_TALK           => 'Euverlik',
-                       NS_USER           => 'Gebroeker',
-                       NS_USER_TALK      => 'Euverlik_gebroeker',
-                       NS_PROJECT        => $wgMetaNamespace,
-                       NS_PROJECT_TALK   => 'Euverlik_' . $wgMetaNamespace,
-                       NS_IMAGE          => 'Aafbeilding',
-                       NS_IMAGE_TALK     => 'Euverlik_afbeelding',
-                       NS_MEDIAWIKI      => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK => 'Euverlik_MediaWiki',
-                       NS_TEMPLATE       => 'Sjabloon',
-                       NS_TEMPLATE_TALK  => 'Euverlik_sjabloon',
-                       NS_HELP           => 'Help',
-                       NS_HELP_TALK      => 'Euverlik_help',
-                       NS_CATEGORY       => 'Kategorie',
-                       NS_CATEGORY_TALK  => 'Euverlik_kategorie'
-               );
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesLi + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsLi;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesLi + parent::getSkinNames();
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesLi[$key] ) ) {
-                       return $this->mMessagesLi[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesLi;
-       }
-
-       function timeBeforeDate( ) {
-               return false;
-       }
-
-       function timeDateSeparator( $format ) {
-               return ' ';
-       }
-
-       function formatMonth( $month, $format ) {
-               return $this->getMonthAbbreviation( $month );
-       }
-
-}
-?>
diff --git a/languages/LanguageLo.php b/languages/LanguageLo.php
deleted file mode 100644 (file)
index 7fd20ca..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-/** Lao (ພາສາລາວ)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  *
-  * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
-  */
-
-require_once( 'LanguageUtf8.php' );
-
-class LanguageLo extends LanguageUtf8 {
-       function digitTransformTable() {
-               return array(
-                       '0' => '໐',
-                       '1' => '໑',
-                       '2' => '໒',
-                       '3' => '໓',
-                       '4' => '໔',
-                       '5' => '໕',
-                       '6' => '໖',
-                       '7' => '໗',
-                       '8' => '໘',
-                       '9' => '໙'
-               );
-       }
-
-}
-
-?>
index 688dfa0..5372900 100644 (file)
@@ -6,93 +6,7 @@
  *
  */
 
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesLt.php');
-}
-
-class LanguageLt extends LanguageUtf8 {
-       private $mMessagesLt, $mNamespaceNamesLt = null;
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesLt;
-               $this->mMessagesLt =& $wgAllMessagesLt;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesLt = array(
-                       NS_MEDIA            => 'Medija',
-                       NS_SPECIAL          => 'Specialus',
-                       NS_MAIN             => '',
-                       NS_TALK             => 'Aptarimas',
-                       NS_USER             => 'Naudotojas',
-                       NS_USER_TALK        => 'Naudotojo_aptarimas',
-                       NS_PROJECT          => $wgMetaNamespace,
-                       NS_PROJECT_TALK     => $wgMetaNamespace . '_aptarimas',
-                       NS_IMAGE            => 'Vaizdas',
-                       NS_IMAGE_TALK       => 'Vaizdo_aptarimas',
-                       NS_MEDIAWIKI        => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK   => 'MediaWiki_aptarimas',
-                       NS_TEMPLATE         => 'Šablonas',
-                       NS_TEMPLATE_TALK    => 'Šablono_aptarimas',
-                       NS_HELP             => 'Pagalba',
-                       NS_HELP_TALK        => 'Pagalbos_aptarimas',
-                       NS_CATEGORY         => 'Kategorija',
-                       NS_CATEGORY_TALK    => 'Kategorijos_aptarimas',
-               );
-
-       }
-       
-       private $mQuickbarSettingsLt = array(
-               'Nerodyti', 'Fiksuoti kairėje', 'Fiksuoti dešinėje', 'Plaukiojantis kairėje'
-       );
-       
-       private $mSkinNamesLt = array(
-               'standard' => 'Standartinė',
-               'nostalgia' => 'Nostalgija',
-               'cologneblue' => 'Kiolno Mėlyna',
-               'davinci' => 'Da Vinči',
-               'mono' => 'Mono',
-               'monobook' => 'MonoBook',
-               'myskin' => 'MySkin',
-               'chick' => 'Chick'
-       );
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesLt + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsLt;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesLt + parent::getSkinNames();
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesLt[$key] ) ) {
-                       return $this->mMessagesLt[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesLt;
-       }
-
-       function fallback8bitEncoding() {
-               return 'windows-1257';
-       }
-
-
-       function separatorTransformTable() {
-               return array(',' => ' ', '.' => ',' );
-       }
-       
+class LanguageLt extends Language {
        /* Word forms (with examples):
                1 - vienas (1) lapas
                2 - trys (3) lapai
index 7d07c07..54cae48 100644 (file)
  * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
  */
 
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesLv.php');
-}
-
-class LanguageLv extends LanguageUtf8 {
-       private $mMessagesLv, $mNamespaceNamesLv = null;
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesLv;
-               $this->mMessagesLv =& $wgAllMessagesLv;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesLv = array(
-                       NS_MEDIA            => 'Media',
-                       NS_SPECIAL          => 'Special',
-                       NS_MAIN             => '',
-                       NS_TALK             => 'Diskusija',
-                       NS_USER             => 'Lietotājs',
-                       NS_USER_TALK        => 'Lietotāja_diskusija',
-                       NS_PROJECT          => $wgMetaNamespace,
-                       NS_PROJECT_TALK     => $this->convertGrammar( $wgMetaNamespace, 'ģenitīvs' ) . '_diskusija',
-                       NS_IMAGE            => 'Attēls',
-                       NS_IMAGE_TALK       => 'Attēla_diskusija',
-                       NS_MEDIAWIKI        => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK   => 'MediaWiki_diskusija',
-                       NS_TEMPLATE         => 'Veidne',
-                       NS_TEMPLATE_TALK    => 'Veidnes_diskusija',
-                       NS_HELP             => 'Palīdzība',
-                       NS_HELP_TALK        => 'Palīdzības_diskusija',
-                       NS_CATEGORY         => 'Kategorija',
-                       NS_CATEGORY_TALK    => 'Kategorijas_diskusija',
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesLv + parent::getNamespaces();
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesLv[$key] ) ) {
-                       return $this->mMessagesLv[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesLv;
-       }
-
-       /**
-        * Latvian numeric formatting is 123 456,78.
-        */
-       function separatorTransformTable() {
-               return array(',' => "\xc2\xa0", '.' => ',' );
-       }
-
+class LanguageLv extends Language {
        /**
         * Plural form transformations. Using the first form for words with the last digit 1, but not for words with the last digits 11, and the second form for all the others.
         *
diff --git a/languages/LanguageMk.php b/languages/LanguageMk.php
deleted file mode 100644 (file)
index 9c428b2..0000000
+++ /dev/null
@@ -1,156 +0,0 @@
-<?php
-/** Macedonian (Македонски)
- *
- * @package MediaWiki
- * @subpackage Language
- */
-
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesMk.php');
-}
-
-class LanguageMk extends LanguageUtf8 {
-       private $mMessagesMk, $mNamespaceNamesMk = null;
-
-       private $mQuickbarSettingsMk = array(
-               'Без мени', 'Фиксирано лево', 'Фиксирано десно', 'Пловечко лево'
-       );
-       
-       private $mSkinNamesMk = array(
-               'standard'    => 'Класика',
-               'nostalgia'   => 'Носталгија',
-               'cologneblue' => 'Келнско сино',
-               'davinci'     => 'ДаВинчи',
-               'mono'        => 'Моно',
-               'monobook'    => 'Monobook',
-               'myskin'      => 'Моја маска',
-               'chick'       => 'Шик'
-       );
-       
-       private $mDateFormatsMk = array(
-               'Без преференции',
-               'Јануари 15, 2001',
-               '15 Јануари 2001',
-               '2001 Јануари 15',
-               '2001-01-15'
-       );
-       
-       private $mMagicWordsMk = array(
-               'redirect'              => array( 0, '#redirect', '#пренасочување', '#види' ),
-               'notoc'                 => array( 0, '__NOTOC__', '__БЕЗСОДРЖИНА__' ),
-               'forcetoc'              => array( 0, '__FORCETOC__', '__СОСОДРЖИНА__' ),
-               'toc'                   => array( 0, '__TOC__', '__СОДРЖИНА__' ),
-               'noeditsection'         => array( 0, '__NOEDITSECTION__' , '__БЕЗ_УРЕДУВАЊЕ_НА_СЕКЦИИ__'),
-               'start'                 => array( 0, '__START__' , '__ПОЧЕТОК__' ),
-               'currentmonth'          => array( 1, 'CURRENTMONTH', 'СЕГАШЕНМЕСЕЦ' ),
-               'currentmonthname'      => array( 1, 'CURRENTMONTHNAME', 'СЕГАШЕНМЕСЕЦИМЕ' ),
-               'currentmonthnamegen'   => array( 1, 'CURRENTMONTHNAMEGEN', 'СЕГАШЕНМЕСЕЦИМЕРОД' ),
-               'currentmonthabbrev'    => array( 1, 'CURRENTMONTHABBREV', 'СЕГАШЕНМЕСЕЦСКР' ),
-               'currentday'            => array( 1, 'CURRENTDAY', 'СЕГАШЕНДЕН' ),
-               'currentdayname'        => array( 1, 'CURRENTDAYNAME', 'СЕГАШЕНДЕНИМЕ' ),
-               'currentyear'           => array( 1, 'CURRENTYEAR', 'СЕГАШНАГОДИНА' ),
-               'currenttime'           => array( 1, 'CURRENTTIME', 'СЕГАШНОВРЕМЕ' ),
-               'numberofarticles'      => array( 1, 'NUMBEROFARTICLES', 'БРОЈСТАТИИ' ),
-               'pagename'              => array( 1, 'PAGENAME', 'СТРАНИЦА' ),
-               'pagenamee'             => array( 1, 'PAGENAMEE', 'СТРАНИЦАИ' ),
-               'namespace'             => array( 1, 'NAMESPACE', 'ИМЕПРОСТОР' ),
-               'subst'                 => array( 0, 'SUBST:', 'ЗАМЕСТ:' ),
-               'msgnw'                 => array( 0, 'MSGNW:', 'ИЗВЕШТNW:' ),
-               'end'                   => array( 0, '', '__КРАЈ__' ),
-               'img_thumbnail'         => array( 1, 'thumbnail', 'thumb', 'мини' ),
-               'img_right'             => array( 1, 'right', 'десно', 'д' ),
-               'img_left'              => array( 1, 'left', 'лево', 'л' ),
-               'img_none'              => array( 1, 'none', 'н' ),
-               'img_width'             => array( 1, '$1px', '$1пкс' , '$1п' ),
-               'img_center'            => array( 1, 'center', 'centre', 'центар', 'ц' ),
-               'img_framed'            => array( 1, 'framed', 'enframed', 'frame', 'рамка', 'ворамка' ),
-               'int'                   => array( 0, 'INT:' ),
-               'sitename'              => array( 1, 'SITENAME', 'ИМЕНАСАЈТ' ),
-               'ns'                    => array( 0, 'NS:' ),
-               'localurl'              => array( 0, 'LOCALURL:', 'ЛОКАЛНААДРЕСА:' ),
-               'localurle'             => array( 0, 'LOCALURLE:', 'ЛОКАЛНААДРЕСАИ:' ),
-               'server'                => array( 0, 'SERVER', 'СЕРВЕР' ),
-               'grammar'               => array( 0, 'GRAMMAR:', 'ГРАМАТИКА:' ),
-               'notitleconvert'        => array( 0, '__NOTITLECONVERT__', '__NOTC__'),
-               'nocontentconvert'      => array( 0, '__NOCONTENTCONVERT__', '__NOCC__'),
-               'currentweek'           => array( 1, 'CURRENTWEEK', 'СЕГАШНАСЕДМИЦА'),
-               'currentdow'            => array( 1, 'CURRENTDOW' ),
-               'revisionid'            => array( 1, 'REVISIONID' ),
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesMk;
-               $this->mMessagesMk =& $wgAllMessagesMk;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesMk = array(
-                       NS_MEDIA          => 'Медија',
-                       NS_SPECIAL        => 'Специјални',
-                       NS_MAIN           => '',
-                       NS_TALK           => 'Разговор',
-                       NS_USER           => 'Корисник',
-                       NS_USER_TALK      => 'Разговор_со_корисник',
-                       NS_PROJECT        => $wgMetaNamespace,
-                       NS_PROJECT_TALK   => 'Разговор_за_' . $wgMetaNamespace ,
-                       NS_IMAGE          => 'Слика',
-                       NS_IMAGE_TALK     => 'Разговор_за_слика',
-                       NS_MEDIAWIKI      => 'МедијаВики',
-                       NS_MEDIAWIKI_TALK => 'Разговор_за_МедијаВики',
-                       NS_TEMPLATE       => 'Шаблон',
-                       NS_TEMPLATE_TALK  => 'Разговор_за_шаблон',
-                       NS_HELP           => 'Помош',
-                       NS_HELP_TALK      => 'Разговор_за_помош',
-                       NS_CATEGORY       => 'Категорија',
-                       NS_CATEGORY_TALK  => 'Разговор_за_категорија',
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesMk + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsMk;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesMk + parent::getSkinNames();
-       }
-
-       function getDateFormats() {
-               return $this->mDateFormatsMk;
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesMk[$key] ) ) {
-                       return $this->mMessagesMk[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesMk;
-       }
-
-       function &getMagicWords()  {
-               $t = $this->mMagicWordsMk + parent::getMagicWords();
-               return $t;
-       }
-
-       function linkTrail() {
-               return '/^([a-zабвгдѓежзѕијклљмнњопрстќуфхцчџш]+)(.*)$/sDu';
-       }
-
-       function separatorTransformTable() {
-               return array(',' => '.', '.' => ',' );
-       }
-
-
-}
-?>
diff --git a/languages/LanguageMl.php b/languages/LanguageMl.php
deleted file mode 100644 (file)
index 3f430c0..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-/** Malayalam (മലയാളം)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  *
-  * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
-  */
-
-require_once( 'LanguageUtf8.php' );
-
-class LanguageMl extends LanguageUtf8 {
-       function digitTransformTable() {
-               return array(
-                       '0' => '൦',
-                       '1' => '൧',
-                       '2' => '൨',
-                       '3' => '൩',
-                       '4' => '൪',
-                       '5' => '൫',
-                       '6' => '൬',
-                       '7' => '൭',
-                       '8' => '൮',
-                       '9' => '൯'
-               );
-       }
-
-}
-
-?>
diff --git a/languages/LanguageMs.php b/languages/LanguageMs.php
deleted file mode 100644 (file)
index d3fc22e..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-/** Malay (Bahasa Melayu)
- *
- * @package MediaWiki
- * @subpackage Language
- */
-
-# This localisation is based on a file kindly donated by the folks at MIMOS
-# http://www.asiaosc.org/enwiki/page/Knowledgebase_Home.html
-
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesMs.php');
-}
-
-class LanguageMs extends LanguageUtf8 {
-       private $mMessagesMs, $mNamespaceNamesMs = null;
-
-       private $mQuickbarSettingsMs = array(
-               'Tiada', 'Tetap sebelah kiri', 'Tetap sebelah kanan', 'Berubah-ubah sebelah kiri'
-       );
-       
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesMs;
-               $this->mMessagesMs =& $wgAllMessagesMs;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesMs = array(
-                       NS_MEDIA          => 'Media',
-                       NS_SPECIAL        => 'Istimewa', #Special
-                       NS_MAIN           => '',
-                       NS_TALK           => 'Perbualan',#Talk
-                       NS_USER           => 'Pengguna',#User
-                       NS_USER_TALK      => 'Perbualan_Pengguna',#User_talk
-                       NS_PROJECT        => $wgMetaNamespace,#Wikipedia
-                       NS_PROJECT_TALK   => 'Perbualan_' . $wgMetaNamespace,#Wikipedia_talk
-                       NS_IMAGE          => 'Imej',#Image
-                       NS_IMAGE_TALK     => 'Imej_Perbualan',#Image_talk
-                       NS_MEDIAWIKI      => 'MediaWiki',#MediaWiki
-                       NS_MEDIAWIKI_TALK => 'MediaWiki_Perbualan',#MediaWiki_talk
-                       NS_TEMPLATE       => 'Templat',#Template
-                       NS_TEMPLATE_TALK  => 'Perbualan_Templat',#Template_talk
-                       NS_CATEGORY       => 'Kategori',#Category
-                       NS_CATEGORY_TALK  => 'Perbualan_Kategori',#Category_talk
-                       NS_HELP           => 'Bantuan',#Help
-                       NS_HELP_TALK      => 'Perbualan_Bantuan' #Help_talk
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesMs + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsMs;
-       }
-
-       function getDateFormats() {
-               return false;
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesMs[$key] ) ) {
-                       return $this->mMessagesMs[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesMs;
-       }
-
-}
-
-?>
diff --git a/languages/LanguageNah.deps.php b/languages/LanguageNah.deps.php
deleted file mode 100644 (file)
index 453b18f..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageNah.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
-
-require_once( "LanguageEs.php" );
-?>
\ No newline at end of file
diff --git a/languages/LanguageNah.php b/languages/LanguageNah.php
deleted file mode 100644 (file)
index d29a53e..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-/** Nahuatl
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  *
-  * @author Rob Church <robchur@gmail.com>
-  *
-  * @copyright Copyright © 2006, Rob Church
-  * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
-  */
-
-require_once( 'LanguageEs.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesNah.php');
-}
-
-# Per conversation with a user in IRC, we inherit from Spanish and work from there
-# Nahuatl was the language of the Aztecs, and a modern speaker is most likely to
-# understand Spanish if a Nah translation is not available
-
-class LanguageNah extends LanguageEs {
-       private $mMessagesNah = null;
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesNah;
-               $this->mMessagesNah =& $wgAllMessagesNah;
-
-       }
-
-       function getFallbackLanguage() {
-               return 'es';
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesNah[$key] ) ) {
-                       return $this->mMessagesNah[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesNah;
-       }
-
-}
-
-?>
\ No newline at end of file
diff --git a/languages/LanguageNap.deps.php b/languages/LanguageNap.deps.php
deleted file mode 100644 (file)
index 2ee9967..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageNap.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
-
-require_once( "LanguageIt.php" );
-?>
\ No newline at end of file
diff --git a/languages/LanguageNap.php b/languages/LanguageNap.php
deleted file mode 100644 (file)
index 322bfdf..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-/** Neapolitan (Nnapulitano)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-require_once( 'LanguageIt.php' );
-
-class LanguageNap extends LanguageIt {
-
-       function getFallbackLanguage() {
-               return 'it';
-       }
-
-       function getAllMessages() {
-               return null;
-       }
-
-}
-
-?>
diff --git a/languages/LanguageNds.php b/languages/LanguageNds.php
deleted file mode 100644 (file)
index 313ce5e..0000000
+++ /dev/null
@@ -1,155 +0,0 @@
-<?php
-/** Low Saxon (Plattdüütsch)
- *
- * @package MediaWiki
- * @subpackage Language
- */
-
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesNds.php');
-}
-
-class LanguageNds extends LanguageUtf8 {
-       private $mMessagesNds, $mNamespaceNamesNds = null;
-
-       private $mQuickbarSettingsNds = array(
-               'Keen', 'Links, fast', 'Rechts, fast', 'Links, sweven'
-       );
-       
-       private $mMagicWordsNds = array(
-       #   ID                                 CASE  SYNONYMS
-               'redirect'               => array( 0, '#redirect',                   '#wiederleiden'          ),
-               'notoc'                  => array( 0, '__NOTOC__',                   '__KEENINHOLTVERTEKEN__' ),
-               'forcetoc'               => array( 0, '__FORCETOC__',                '__WIESINHOLTVERTEKEN__' ),
-               'toc'                    => array( 0, '__TOC__',                     '__INHOLTVERTEKEN__'     ),
-               'noeditsection'          => array( 0, '__NOEDITSECTION__',           '__KEENÄNNERNLINK__'     ),
-               'start'                  => array( 0, '__START__'                                             ),
-               'currentmonth'           => array( 1, 'CURRENTMONTH',                'AKTMAAND'               ),
-               'currentmonthname'       => array( 1, 'CURRENTMONTHNAME',            'AKTMAANDNAAM'           ),
-               'currentday'             => array( 1, 'CURRENTDAY',                  'AKTDAG'                 ),
-               'currentdayname'         => array( 1, 'CURRENTDAYNAME',              'AKTDAGNAAM'             ),
-               'currentyear'            => array( 1, 'CURRENTYEAR',                 'AKTJOHR'                ),
-               'currenttime'            => array( 1, 'CURRENTTIME',                 'AKTTIED'                ),
-               'numberofarticles'       => array( 1, 'NUMBEROFARTICLES',            'ARTIKELTALL'            ),
-               'currentmonthnamegen'    => array( 1, 'CURRENTMONTHNAMEGEN',         'AKTMAANDNAAMGEN'        ),
-               'pagename'               => array( 1, 'PAGENAME',                    'SIETNAAM'               ),
-               'pagenamee'              => array( 1, 'PAGENAMEE',                   'SIETNAAME'              ),
-               'namespace'              => array( 1, 'NAMESPACE',                   'NAAMRUUM'               ),
-               'subst'                  => array( 0, 'SUBST:'                                                ),
-               'msgnw'                  => array( 0, 'MSGNW:'                                                ),
-               'end'                    => array( 0, '__END__',                     '__ENN__'                ),
-               'img_thumbnail'          => array( 1, 'thumbnail', 'thumb',          'duum'                   ),
-               'img_right'              => array( 1, 'right',                       'rechts'                 ),
-               'img_left'               => array( 1, 'left',                        'links'                  ),
-               'img_none'               => array( 1, 'none',                        'keen'                   ),
-               'img_width'              => array( 1, '$1px',                        '$1px'                   ),
-               'img_center'             => array( 1, 'center', 'centre',            'merrn'                  ),
-               'img_framed'             => array( 1, 'framed', 'enframed', 'frame', 'rahmt'                  ),
-               'int'                    => array( 0, 'INT:'                                                  ),
-               'sitename'               => array( 1, 'SITENAME',                    'STEEDNAAM'              ),
-               'ns'                     => array( 0, 'NS:',                         'NR:'                    ),
-               'localurl'               => array( 0, 'LOCALURL:',                   'STEEDURL:'              ),
-               'localurle'              => array( 0, 'LOCALURLE:',                  'STEEDURLE:'             ),
-               'server'                 => array( 0, 'SERVER',                      'SERVER'                 ),
-               'grammar'                => array( 0, 'GRAMMAR:',                    'GRAMMATIK:'             )
-       );
-       
-       private $mSkinNamesNds = array(
-               'standard'      => 'Klassik',
-               'nostalgia'     => 'Nostalgie',
-               'cologneblue'   => 'Kölsch Blau',
-               'smarty'        => 'Paddington',
-               'chick'         => 'Küken'
-       );
-       
-       
-       private $mBookstoreListNds = array(
-               'Verteken vun leverbore Böker'  => 'http://www.buchhandel.de/sixcms/list.php?page=buchhandel_profisuche_frameset&suchfeld=isbn&suchwert=$1=0&y=0',
-               'abebooks.de'                   => 'http://www.abebooks.de/servlet/BookSearchPL?ph=2&isbn=$1',
-               'Amazon.de'                     => 'http://www.amazon.de/exec/obidos/ISBN=$1',
-               'Lehmanns Fachbuchhandlung'     => 'http://www.lob.de/cgi-bin/work/suche?flag=new&stich1=$1',
-       );
-       
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesNds;
-               $this->mMessagesNds =& $wgAllMessagesNds;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesNds = array(
-                       NS_MEDIA            => 'Media',
-                       NS_SPECIAL          => 'Spezial',
-                       NS_MAIN             => '',
-                       NS_TALK             => 'Diskuschoon',
-                       NS_USER             => 'Bruker',
-                       NS_USER_TALK        => 'Bruker_Diskuschoon',
-                       NS_PROJECT          => $wgMetaNamespace,
-                       NS_PROJECT_TALK     => $wgMetaNamespace . '_Diskuschoon',
-                       NS_IMAGE            => 'Bild',
-                       NS_IMAGE_TALK       => 'Bild_Diskuschoon',
-                       NS_MEDIAWIKI        => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK   => 'MediaWiki_Diskuschoon',
-                       NS_TEMPLATE         => 'Vörlaag',
-                       NS_TEMPLATE_TALK    => 'Vörlaag_Diskuschoon',
-                       NS_HELP             => 'Hülp',
-                       NS_HELP_TALK        => 'Hülp_Diskuschoon',
-                       NS_CATEGORY         => 'Kategorie',
-                       NS_CATEGORY_TALK    => 'Kategorie_Diskuschoon'
-               );
-
-       }
-
-       function getBookstoreList() {
-               return $this->mBookstoreListNds;
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesNds + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsNds;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesNds + parent::getSkinNames();
-       }
-
-       function &getMagicWords()  {
-               $t = $this->mMagicWordsNds + parent::getMagicWords();
-               return $t;
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesNds[$key] ) ) {
-                       return $this->mMessagesNds[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesNds;
-       }
-
-       function formatMonth( $month, $format ) {
-               return $this->getMonthAbbreviation( $month );
-       }
-
-       function formatDay( $day, $format ) {
-               return parent::formatDay( $day, $format ) . '.';
-       }
-
-       function separatorTransformTable() {
-               return array(',' => '.', '.' => ',' );
-       }
-
-       function linkTrail() {
-               return '/^([äöüßa-z]+)(.*)$/sDu';
-       }
-
-}
-?>
diff --git a/languages/LanguageNds_nl.php b/languages/LanguageNds_nl.php
deleted file mode 100644 (file)
index 4167ffd..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-<?php
-/** Dutch Lower Saxon (Nedersaksisch)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  *
-  * @bug 4497
-  *
-  * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>, Jens Frank
-  * @copyright Copyright © 2005, Ævar Arnfjörð Bjarmason, Jens Frank
-  * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
-  */
-
-require_once 'LanguageNds.php';
-
-class LanguageNds_nl extends LanguageNds {
-       private $mNamespaceNamesNds_nl = null;
-
-       private $mSkinNamesNds_nl = array(
-               'standard'      => 'Klassiek',
-               'nostalgia'     => 'Nostalgie',
-               'cologneblue'   => 'Keuls blauw',
-               'smarty'        => 'Paddington',
-               'chick'         => 'Sjiek'
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesNds_nl = array(
-                       NS_MEDIA            => 'Media',
-                       NS_SPECIAL          => 'Speciaol',
-                       NS_MAIN             => '',
-                       NS_TALK             => 'Overleg',
-                       NS_USER             => 'Gebruker',
-                       NS_USER_TALK        => 'Overleg_gebruker',
-                       NS_PROJECT          => $wgMetaNamespace,
-                       NS_PROJECT_TALK     => 'Overleg_' . $wgMetaNamespace,
-                       NS_IMAGE            => 'Ofbeelding',
-                       NS_IMAGE_TALK       => 'Overleg_ofbeelding',
-                       NS_MEDIAWIKI        => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK   => 'Overleg_MediaWiki',
-                       NS_TEMPLATE         => 'Sjabloon',
-                       NS_TEMPLATE_TALK    => 'Overleg_sjabloon',
-                       NS_HELP             => 'Help',
-                       NS_HELP_TALK        => 'Overleg_help',
-                       NS_CATEGORY         => 'Categorie',
-                       NS_CATEGORY_TALK    => 'Overleg_categorie'
-               );
-
-       }
-
-       function getFallbackLanguage() {
-               return 'nds';
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesNds_nl;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesNds_nl + parent::getSkinNames();
-       }
-
-       function getAllMessages() {
-               return null;
-       }
-
-       function formatDay( $day, $format ) {
-               return Language::formatDay( $day, $format );
-       }
-
-}
-
-?>
diff --git a/languages/LanguageNl.php b/languages/LanguageNl.php
deleted file mode 100644 (file)
index 5863446..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-<?php
-/** Dutch (Nederlands)
- *
- * @package MediaWiki
- * @subpackage Language
- */
-
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesNl.php');
-}
-
-class LanguageNl extends LanguageUtf8 {
-       private $mMessagesNl, $mNamespaceNamesNl = null;
-
-       private $mQuickbarSettingsNl = array(
-               'Uitgeschakeld', 'Links vast', 'Rechts vast', 'Links zwevend'
-       );
-       
-       private $mSkinNamesNl = array(
-               'standard' => 'Standaard',
-               'nostalgia' => 'Nostalgie',
-               'cologneblue' => 'Keuls blauw',
-       );
-
-       private $mBookstoreListNl = array(
-               'Koninklijke Bibliotheek' => 'http://opc4.kb.nl/DB=1/SET=5/TTL=1/CMD?ACT=SRCH&IKT=1007&SRT=RLV&TRM=$1'
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesNl;
-               $this->mMessagesNl =& $wgAllMessagesNl;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesNl = array(
-                       NS_MEDIA          => 'Media',
-                       NS_SPECIAL        => 'Speciaal',
-                       NS_MAIN           => '',
-                       NS_TALK           => 'Overleg',
-                       NS_USER           => 'Gebruiker',
-                       NS_USER_TALK      => 'Overleg_gebruiker',
-                       NS_PROJECT        => $wgMetaNamespace,
-                       NS_PROJECT_TALK   => 'Overleg_' . $wgMetaNamespace,
-                       NS_IMAGE          => 'Afbeelding',
-                       NS_IMAGE_TALK     => 'Overleg_afbeelding',
-                       NS_MEDIAWIKI      => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK => 'Overleg_MediaWiki',
-                       NS_TEMPLATE       => 'Sjabloon',
-                       NS_TEMPLATE_TALK  => 'Overleg_sjabloon',
-                       NS_HELP           => 'Help',
-                       NS_HELP_TALK      => 'Overleg_help',
-                       NS_CATEGORY       => 'Categorie',
-                       NS_CATEGORY_TALK  => 'Overleg_categorie'
-               );
-       }
-
-       function getBookstoreList () {
-               return $this->mBookstoreListNl;
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesNl + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsNl;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesNl + parent::getSkinNames();
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesNl[$key] ) ) {
-                       return $this->mMessagesNl[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesNl;
-       }
-
-       function timeBeforeDate( ) {
-               return false;
-       }
-
-       function timeDateSeparator( $format ) {
-               return ' ';
-       }
-
-       function formatMonth( $month, $format ) {
-               return $this->getMonthAbbreviation( $month );
-       }
-
-       function separatorTransformTable() {
-               return array(',' => '.', '.' => ',' );
-       }
-
-       function linkTrail() {
-               return '/^([a-zäöüïëéèà]+)(.*)$/sDu';
-       }
-
-}
-?>
diff --git a/languages/LanguageNn.php b/languages/LanguageNn.php
deleted file mode 100644 (file)
index dc3fc0f..0000000
+++ /dev/null
@@ -1,242 +0,0 @@
-<?php
-/** Norwegian (Nynorsk)
-  *
-  * @license http://www.gnu.org/copyleft/fdl.html GNU Free Documentation License
-  * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License
-  *
-  * @author Olve Utne
-  * @author Guttorm Flatabø
-  * @link http://meta.wikimedia.org/w/index.php?title=LanguageNn.php&action=history
-  * @link http://nn.wikipedia.org/w/index.php?title=Brukar:Dittaeva/LanguageNn.php&action=history
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesNn.php');
-}
-
-class LanguageNn extends LanguageUtf8 {
-       private $mMessagesNn, $mNamespaceNamesNn = null;
-
-       private $mQuickbarSettingsNn = array(
-               'Ingen', 'Venstre', 'Høgre', 'Flytande venstre', 'Flytande høgre'
-       );
-       
-       private $mSkinNamesNn = array(
-               'standard'        => 'Klassisk',
-               'nostalgia'       => 'Nostalgi',
-               'cologneblue'     => 'Kölnerblå',
-               'myskin'          => 'MiDrakt'
-       );
-       
-       private $mDateFormatsNn = array(
-               'Standard',
-               '15. januar 2001 kl. 16:12',
-               '15. jan. 2001 kl. 16:12',
-               '16:12, 15. januar 2001',
-               '16:12, 15. jan. 2001',
-               'ISO 8601' => '2001-01-15 16:12:34'
-       );
-       
-       private $mBookstoreListNn = array(
-               'Bibsys'       => 'http://ask.bibsys.no/ask/action/result?kilde=biblio&fid=isbn&lang=nn&term=$1',
-               'BokBerit'     => 'http://www.bokberit.no/annet_sted/bocker/$1.html',
-               'Bokkilden'    => 'http://www.bokkilden.no/ProductDetails.aspx?ProductId=$1',
-               'Haugenbok'    => 'http://www.haugenbok.no/resultat.cfm?st=hurtig&isbn=$1',
-               'Akademika'    => 'http://www.akademika.no/sok.php?isbn=$1',
-               'Gnist'        => 'http://www.gnist.no/sok.php?isbn=$1',
-               'Amazon.co.uk' => 'http://www.amazon.co.uk/exec/obidos/ISBN=$1',
-               'Amazon.de'    => 'http://www.amazon.de/exec/obidos/ISBN=$1',
-               'Amazon.com'   => 'http://www.amazon.com/exec/obidos/ISBN=$1'
-       );
-       
-       # Note to translators:
-       #   Please include the English words as synonyms.  This allows people
-       #   from other wikis to contribute more easily.
-       #
-       private $mMagicWordsNn = array(
-       #   ID                                 CASE  SYNONYMS
-               'redirect'               => array( 0,    '#redirect', '#omdiriger'                                              ),
-               'notoc'                  => array( 0,    '__NOTOC__', '__INGAINNHALDSLISTE__', '__INGENINNHOLDSLISTE__'         ),
-               'forcetoc'               => array( 0,    '__FORCETOC__', '__ALLTIDINNHALDSLISTE__', '__ALLTIDINNHOLDSLISTE__'   ),
-               'toc'                    => array( 0,    '__TOC__', '__INNHALDSLISTE__', '__INNHOLDSLISTE__'                    ),
-               'noeditsection'          => array( 0,    '__NOEDITSECTION__', '__INGABOLKENDRING__', '__INGABOLKREDIGERING__', '__INGENDELENDRING__'),
-               'currentmonth'           => array( 1,    'CURRENTMONTH', 'MÅNADNO', 'MÅNEDNÅ'                                   ),
-               'currentmonthname'       => array( 1,    'CURRENTMONTHNAME', 'MÅNADNONAMN', 'MÅNEDNÅNAVN'                       ),
-               'currentmonthabbrev'     => array( 1,    'CURRENTMONTHABBREV', 'MÅNADNOKORT', 'MÅNEDNÅKORT'                     ),
-               'currentday'             => array( 1,    'CURRENTDAY', 'DAGNO', 'DAGNÅ'                                         ),
-               'currentdayname'         => array( 1,    'CURRENTDAYNAME', 'DAGNONAMN', 'DAGNÅNAVN'                             ),
-               'currentyear'            => array( 1,    'CURRENTYEAR', 'ÅRNO', 'ÅRNÅ'                                          ),
-               'currenttime'            => array( 1,    'CURRENTTIME', 'TIDNO', 'TIDNÅ'                                        ),
-               'numberofarticles'       => array( 1,    'NUMBEROFARTICLES', 'INNHALDSSIDETAL', 'INNHOLDSSIDETALL'              ),
-               'numberoffiles'          => array( 1,    'NUMBEROFFILES', 'FILTAL'                                              ),
-               'pagename'               => array( 1,    'PAGENAME', 'SIDENAMN', 'SIDENAVN'                                     ),
-               'pagenamee'              => array( 1,    'PAGENAMEE', 'SIDENAMNE', 'SIDENAVNE'                                  ),
-               'namespace'              => array( 1,    'NAMESPACE', 'NAMNEROM', 'NAVNEROM'                                    ),
-               'subst'                  => array( 0,    'SUBST:', 'LIMINN:'                                                    ),
-               'msgnw'                  => array( 0,    'MSGNW:', 'IKWIKMELD:'                                                 ),
-               'end'                    => array( 0,    '__END__', '__SLUTT__'                                                 ),
-               'img_thumbnail'          => array( 1,    'thumbnail', 'thumb', 'mini', 'miniatyr'                               ),
-               'img_manualthumb'        => array( 1,    'thumbnail=$1', 'thumb=$1', 'mini=$1', 'miniatyr=$1'                   ),
-               'img_right'              => array( 1,    'right', 'høgre', 'høyre'                                              ),
-               'img_left'               => array( 1,    'left', 'venstre'                                                      ),
-               'img_none'               => array( 1,    'none', 'ingen'                                                        ),
-               'img_width'              => array( 1,    '$1px', '$1pk'                                                         ),
-               'img_center'             => array( 1,    'center', 'centre', 'sentrum'                                          ),
-               'img_framed'             => array( 1,    'framed', 'enframed', 'frame', 'ramme'                                 ),
-               'sitename'               => array( 1,    'SITENAME', 'NETTSTADNAMN'                                             ),
-               'ns'                     => array( 0,    'NS:', 'NR:'                                                           ),
-               'localurl'               => array( 0,    'LOCALURL:', 'LOKALLENKJE:', 'LOKALLENKE:'                             ),
-               'localurle'              => array( 0,    'LOCALURLE:', 'LOKALLENKJEE:', 'LOKALLENKEE:'                          ),
-               'server'                 => array( 0,    'SERVER', 'TENAR', 'TJENER'                                            ),
-               'servername'             => array( 0,    'SERVERNAME', 'TENARNAMN', 'TJENERNAVN'                                ),
-               'scriptpath'             => array( 0,    'SCRIPTPATH', 'SKRIPTSTI'                                              ),
-               'grammar'                => array( 0,    'GRAMMAR:', 'GRAMMATIKK:'                                              ),
-               'notitleconvert'         => array( 0,    '__NOTITLECONVERT__', '__NOTC__'                                       ),
-               'nocontentconvert'       => array( 0,    '__NOCONTENTCONVERT__', '__NOCC__'                                     ),
-               'currentweek'            => array( 1,    'CURRENTWEEK', 'VEKENRNO', 'UKENRNÅ'                                   ),
-               'currentdow'             => array( 1,    'CURRENTDOW', 'VEKEDAGNRNO', 'UKEDAGNRNÅ'                              ),
-               'revisionid'             => array( 1,    'REVISIONID', 'VERSJONSID'                                             )
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesNn;
-               $this->mMessagesNn =& $wgAllMessagesNn;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesNn = array(
-                       NS_MEDIA          => 'Filpeikar',
-                       NS_SPECIAL        => 'Spesial',
-                       NS_MAIN           => '',
-                       NS_TALK           => 'Diskusjon',
-                       NS_USER           => 'Brukar',
-                       NS_USER_TALK      => 'Brukardiskusjon',
-                       NS_PROJECT        => $wgMetaNamespace,
-                       NS_PROJECT_TALK   => $wgMetaNamespace . '-diskusjon',
-                       NS_IMAGE          => 'Fil',
-                       NS_IMAGE_TALK     => 'Fildiskusjon',
-                       NS_MEDIAWIKI      => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK => 'MediaWiki-diskusjon',
-                       NS_TEMPLATE       => 'Mal',
-                       NS_TEMPLATE_TALK  => 'Maldiskusjon',
-                       NS_HELP           => 'Hjelp',
-                       NS_HELP_TALK      => 'Hjelpdiskusjon',
-                       NS_CATEGORY       => 'Kategori',
-                       NS_CATEGORY_TALK  => 'Kategoridiskusjon'
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesNn + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsNn;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesNn + parent::getSkinNames();
-       }
-
-       function getDateFormats() {
-               return $this->mDateFormatsNn;
-       }
-
-       function getBookstoreList() {
-               return $this->mBookstoreListNn;
-       }
-
-       function &getMagicWords()  {
-               $t = $this->mMagicWordsNn + parent::getMagicWords();
-               return $t;
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesNn[$key] ) ) {
-                       return $this->mMessagesNn[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesNn;
-       }
-
-
-       /**
-        * $timecorrection is for compatibility with language::time
-        */
-       function time($ts, $adj = false, $format = true, $timecorrection = false) {
-               if ( $adj ) { $ts = $this->userAdjust( $ts ); } # Adjust based on the timezone setting.
-
-               $format = $this->dateFormat($format);
-
-               switch( $format ) {
-                       # 2001-01-15 16:12:34
-                       case 'ISO 8601': return substr( $ts, 8, 2 ) . ':' . substr( $ts, 10, 2 ) . ':' . substr( $ts, 12, 2 );
-                       default: return substr( $ts, 8, 2 ) . ':' . substr( $ts, 10, 2 );
-               }
-
-       }
-
-       /**
-        * $timecorrection is for compatibility with Language::date
-        */
-       function date( $ts, $adj = false, $format = true, $timecorrection = false ) {
-               global $wgUser;
-               if ( $adj ) { $ts = $this->userAdjust( $ts ); } # Adjust based on the timezone setting.
-               $format = $this->dateFormat($format);
-
-               switch( $format ) {
-                       # 15. jan. 2001 kl. 16:12 || 16:12, 15. jan. 2001
-                       case '2': case '4': return (0 + substr( $ts, 6, 2 )) . '. ' .
-                               $this->getMonthAbbreviation( substr( $ts, 4, 2 ) ) . '. ' .
-                               substr($ts, 0, 4);
-                       # 2001-01-15 16:12:34
-                       case 'ISO 8601': return substr($ts, 0, 4). '-' . substr($ts, 4, 2). '-' .substr($ts, 6, 2);
-
-                       # 15. januar 2001 kl. 16:12 || 16:12, 15. januar 2001
-                       default: return (0 + substr( $ts, 6, 2 )) . '. ' .
-                               $this->getMonthName( substr( $ts, 4, 2 ) ) . ' ' .
-                               substr($ts, 0, 4);
-               }
-
-       }
-
-       /**
-        * $format and $timecorrection are for compatibility with Language::date
-        */
-       function timeanddate( $ts, $adj = false, $format = true, $timecorrection = false ) {
-               global $wgUser;
-
-               $format = $this->dateFormat($format);
-
-               switch ( $format ) {
-                       # 16:12, 15. januar 2001 || 16:12, 15. jan. 2001
-                       case '3': case '4': return $this->time( $ts, $adj, $format ) . ', ' . $this->date( $ts, $adj, $format );
-                       # 2001-01-15 16:12:34
-                       case 'ISO 8601': return $this->date( $ts, $adj, $format ) . ' ' . $this->time( $ts, $adj, $format );
-                       # 15. januar 2001 kl. 16:12 || 15. jan. 2001 kl. 16:12
-                       default: return $this->date( $ts, $adj, $format ) . ' kl. ' . $this->time( $ts, $adj, $format );
-               }
-
-       }
-
-       function separatorTransformTable() {
-               return array(
-                       ',' => "\xc2\xa0",
-                       '.' => ','
-               );
-       }
-
-}
-
-?>
diff --git a/languages/LanguageNo.php b/languages/LanguageNo.php
deleted file mode 100644 (file)
index c91fd4f..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-<?php
-/** Norwegian (Norsk (bokmål))
- *
- * @package MediaWiki
- * @subpackage Language
- */
-
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesNo.php');
-}
-
-class LanguageNo extends LanguageUtf8 {
-       private $mMessagesNo, $mNamespaceNamesNo;
-       
-       private $mQuickbarSettingsNo = array(
-               'Ingen', 'Fast venstre', 'Fast høyre', 'Flytende venstre'
-       );
-       
-       private $mSkinNamesNo = array(
-               'standard'    => 'Standard',
-               'nostalgia'   => 'Nostalgi',
-               'cologneblue' => 'Kölnerblå'
-       );
-       
-       private $mBookstoreListNo = array(
-               'Antikvariat.net' => 'http://www.antikvariat.net/',
-               'Frida' => 'http://wo.uio.no/as/WebObjects/frida.woa/wa/fres?action=sok&isbn=$1&visParametre=1&sort=alfabetisk&bs=50',
-               'Bibsys' => 'http://ask.bibsys.no/ask/action/result?cmd=&kilde=biblio&fid=isbn&term=$1&op=and&fid=bd&term=&arstall=&sortering=sortdate-&treffPrSide=50',
-               'Akademika' => 'http://www.akademika.no/sok.php?ts=4&sok=$1',
-               'Haugenbok' => 'http://www.haugenbok.no/resultat.cfm?st=extended&isbn=$1',
-               'Amazon.com' => 'http://www.amazon.com/exec/obidos/ISBN=$1'
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesNo;
-               $this->mMessagesNo =& $wgAllMessagesNo;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesNo = array(
-                       NS_MEDIA          => 'Medium',
-                       NS_SPECIAL        => 'Spesial',
-                       NS_MAIN           => '',
-                       NS_TALK           => 'Diskusjon',
-                       NS_USER           => 'Bruker',
-                       NS_USER_TALK      => 'Brukerdiskusjon',
-                       NS_PROJECT        => $wgMetaNamespace,
-                       NS_PROJECT_TALK   => $wgMetaNamespace . '-diskusjon',
-                       NS_IMAGE          => 'Bilde',
-                       NS_IMAGE_TALK     => 'Bildediskusjon',
-                       NS_MEDIAWIKI      => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK => 'MediaWiki-diskusjon',
-                       NS_TEMPLATE       => 'Mal',
-                       NS_TEMPLATE_TALK  => 'Maldiskusjon',
-                       NS_HELP           => 'Hjelp',
-                       NS_HELP_TALK      => 'Hjelpdiskusjon',
-                       NS_CATEGORY       => 'Kategori',
-                       NS_CATEGORY_TALK  => 'Kategoridiskusjon',
-               );
-       }
-
-       function getBookstoreList () {
-               return $this->mBookstoreListNo;
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesNo + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsNo;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesNo + parent::getSkinNames();
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesNo[$key] ) ) {
-                       return $this->mMessagesNo[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesNo;
-       }
-
-       function formatMonth( $month, $format ) {
-               return $this->getMonthAbbreviation( $month );
-       }
-
-       function formatDay( $day, $format ) {
-               return parent::formatDay( $day, $format ) . '.';
-       }
-
-       function timeBeforeDate() {
-               return false;
-       }
-
-       function timeDateSeparator( $format ) {
-               return ' kl.';
-       }
-
-       function separatorTransformTable() {
-               return array(',' => "\xc2\xa0", '.' => ',' );
-       }
-}
-
-?>
diff --git a/languages/LanguageNon.deps.php b/languages/LanguageNon.deps.php
deleted file mode 100644 (file)
index 1378ed4..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageNon.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
-
-require_once( "LanguageIs.php" );
-?>
\ No newline at end of file
diff --git a/languages/LanguageNon.php b/languages/LanguageNon.php
deleted file mode 100644 (file)
index 4892440..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-/** Old Norse (Norrǿna)
-  *
-  * Defaults to Icelandic instead of English.
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-require_once( 'LanguageIs.php' );
-
-class LanguageNon extends LanguageIs {
-
-       function getFallbackLanguage() {
-               return 'is';
-       }
-
-       function getAllMessages() {
-               return null;
-       }
-
-}
-
-?>
diff --git a/languages/LanguageNv.php b/languages/LanguageNv.php
deleted file mode 100644 (file)
index 28a924b..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-/** Navajo (Diné bizaad)
- *
- * @package MediaWiki
- * @subpackage Language
- */
-
-require_once( 'LanguageUtf8.php' );
-
-class LanguageNv extends LanguageUtf8 {
-       private $mMessagesNv, $mNamespaceNamesNv = null;
-
-       private $mSkinNamesNv = array(
-               'mono' => 'Łáa\'ígíí',
-               'monobook' => 'NaaltsoosŁáa\'ígíí'
-       );
-       
-       private $mWeekdayNamesNv = array(
-               'Damóogo', 'Damóo biiskání', 'Damóodóó naakiską́o', 'Damóodóó tágí jį́', 'Damóodóó dį́į́\' yiską́o',
-               'Nda\'iiníísh', 'Yiską́ damóo'
-       );
-       
-       private $mMonthNamesNv = array(
-               'Yas Niłt\'ees', 'Atsá Biyáázh', 'Wóózhch\'į́į́d', 'T\'ą́ą́chil', 'T\'ą́ą́tsoh', 'Ya\'iishjááshchilí',
-               'Ya\'iishjáástsoh', 'Bini\'ant\'ą́ą́ts\'ózí', 'Bini\'ant\'ą́ą́tsoh', 'Ghąąjį', 'Níłch\'its\'ósí',
-               'Níłch\'itsoh'
-       );
-       
-       private $mMonthAbbreviationsNv = array(
-               'Ynts', 'Atsb', 'Wozh', 'Tchi', 'Ttso', 'Yjsh', 'Yjts', 'Btsz',
-               'Btsx', 'Ghąj', 'Ntss', 'Ntsx'
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesNv = array(
-                       NS_MEDIA            => 'Media',
-                       NS_SPECIAL          => 'Special',
-                       NS_MAIN             => '',
-                       NS_TALK             => 'Naaltsoos_baa_yinísht\'į́',
-                       NS_USER             => 'Choinish\'įįhí',
-                       NS_USER_TALK        => 'Choinish\'įįhí_baa_yinísht\'į́',
-                       NS_PROJECT          => $wgMetaNamespace,
-                       NS_PROJECT_TALK     => $wgMetaNamespace.'_baa_yinísht\'į́',
-                       NS_IMAGE            => 'E\'elyaaígíí',
-                       NS_IMAGE_TALK       => 'E\'elyaaígíí_baa_yinísht\'į́',
-                       NS_MEDIAWIKI        => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK   => 'MediaWiki_baa_yinísht\'į́',
-                       NS_TEMPLATE         => 'Template',
-                       NS_TEMPLATE_TALK    => 'Template_talk',
-                       NS_HELP             => 'Aná\'álwo\'',
-                       NS_HELP_TALK        => 'Aná\'álwo\'_baa_yinísht\'į́',
-                       NS_CATEGORY         => 'T\'ááłáhági_át\'éego',
-                       NS_CATEGORY_TALK    => 'T\'ááłáhági_át\'éego_baa_yinísht\'į́'
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesNv + parent::getNamespaces();
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesNv;
-       }
-
-       function getDateFormats() {
-               return false;
-       }
-
-       function getMonthName( $key ) {
-               return $this->mMonthNamesNv[$key-1];
-       }
-
-       function getMonthAbbreviation( $key ) {
-               return @$this->mMonthAbbreviationsNv[$key-1];
-       }
-
-       function getWeekdayName( $key ) {
-               return $this->mWeekdayNamesNv[$key-1];
-       }
-
-
-}
-
-?>
diff --git a/languages/LanguageOc.php b/languages/LanguageOc.php
deleted file mode 100644 (file)
index 7bbe2d9..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-<?php
-/** Occitan (Occitan)
- *
- * @package MediaWiki
- * @subpackage Language
- */
-
-require_once( "LanguageUtf8.php" );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesOc.php');
-}
-
-class LanguageOc extends LanguageUtf8 {
-       private $mMessagesOc, $mNamespaceNamesOc;
-       
-       private $mQuickbarSettingsOc = array(
-               'Cap', 'Esquèr', 'Drech', 'Flotejant a esquèr'
-       );
-       
-       private $mSkinNamesOc = array(
-               'standard' => 'Normal',
-               'nostalgia' => 'Nostalgia',
-               'cologneblue' => 'Còlonha Blau',
-       );
-       
-       private $mBookstoreListOc = array(
-               'Amazon.fr' => 'http://www.amazon.fr/exec/obidos/ISBN=$1'
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesOc;
-               $this->mMessagesOc =& $wgAllMessagesOc;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesOc = array(
-                       NS_SPECIAL        => 'Especial',
-                       NS_MAIN           => '',
-                       NS_TALK           => 'Discutir',
-                       NS_USER           => 'Utilisator',
-                       NS_USER_TALK      => 'Discutida_Utilisator',
-                       NS_PROJECT        => $wgMetaNamespace,
-                       NS_PROJECT_TALK   => 'Discutida_'.$wgMetaNamespace,
-                       NS_IMAGE          => 'Imatge',
-                       NS_IMAGE_TALK     => 'Discutida_Imatge',
-                       NS_MEDIAWIKI      => 'Mediaòiqui',
-                       NS_MEDIAWIKI_TALK => 'Discutida_Mediaòiqui',
-                       NS_TEMPLATE       => 'Modèl',
-                       NS_TEMPLATE_TALK  => 'Discutida_Modèl',
-                       NS_HELP           => 'Ajuda',
-                       NS_HELP_TALK      => 'Discutida_Ajuda',
-                       NS_CATEGORY       => 'Categoria',
-                       NS_CATEGORY_TALK  => 'Discutida_Categoria',
-               );
-       }
-
-       function getBookstoreList () {
-               return $this->mBookstoreListOc;
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesOc + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsOc;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesOc + parent::getSkinNames();
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesOc[$key] ) ) {
-                       return $this->mMessagesOc[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesOc;
-       }
-
-       function formatMonth( $month, $format ) {
-               return $this->getMonthAbbreviation( $month );
-       }
-
-       function timeBeforeDate() {
-               return false;
-       }
-
-       function timeDateSeparator( $format ) {
-               return ' à ';
-       }
-
-}
-
-?>
diff --git a/languages/LanguageOr.php b/languages/LanguageOr.php
deleted file mode 100644 (file)
index 6db1984..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-/** Oriya (ଓଡ଼ିଆ)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  *
-  * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
-  */
-
-require_once( 'LanguageUtf8.php' );
-
-class LanguageOr extends LanguageUtf8 {
-
-       function digitTransformTable() {
-               return array(
-                       '0' => '୦',
-                       '1' => '୧',
-                       '2' => '୨',
-                       '3' => '୩',
-                       '4' => '୪',
-                       '5' => '୫',
-                       '6' => '୬',
-                       '7' => '୭',
-                       '8' => '୮',
-                       '9' => '୯',
-               );
-       }
-
-}
-?>
diff --git a/languages/LanguageOs.deps.php b/languages/LanguageOs.deps.php
deleted file mode 100644 (file)
index a48e496..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageOs.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
-
-require_once( "LanguageRu.php" );
-?>
\ No newline at end of file
diff --git a/languages/LanguageOs.php b/languages/LanguageOs.php
deleted file mode 100644 (file)
index 0dd7389..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-<?php
-/** Ossetic (Иронау)
- *
- * @package MediaWiki
- * @subpackage Language
- */
-
-require_once( 'LanguageRu.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesOs.php');
-}
-
-class LanguageOs extends LanguageRu {
-       private $mMessagesOs, $mNamespaceNamesOs = null;
-
-       private $mQuickbarSettingsOs = array(
-               'Ма равдис', 'Галиуырдыгæй', 'Рахизырдыгæй', 'Рахизырдыгæй ленккæнгæ'
-       );
-       
-       private $mSkinNamesOs = array(
-               'standard' => 'Стандартон',
-               'nostalgia' => 'Æнкъард',
-               'cologneblue' => 'Кёльны æрхæндæг',
-               'davinci' => 'Да Винчи',
-               'mono' => 'Моно',
-               'monobook' => 'Моно-чиныг',
-               'myskin' => 'Мæхи',
-               'chick' => 'Карк'
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesOs;
-               $this->mMessagesOs =& $wgAllMessagesOs;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesOs = array(
-                       NS_MEDIA            => 'Media', //чтоб не писать "Мультимедия"
-                       NS_SPECIAL          => 'Сæрмагонд',
-                       NS_MAIN             => '',
-                       NS_TALK             => 'Дискусси',
-                       NS_USER             => 'Архайæг',
-                       NS_USER_TALK        => 'Архайæджы_дискусси',
-                       NS_PROJECT          => $wgMetaNamespace,
-                       NS_PROJECT_TALK     => 'Дискусси_' . $wgMetaNamespace,
-                       NS_IMAGE            => 'Ныв',
-                       NS_IMAGE_TALK       => 'Нывы_тыххæй_дискусси',
-                       NS_MEDIAWIKI        => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK   => 'Дискусси_MediaWiki',
-                       NS_TEMPLATE         => 'Шаблон',
-                       NS_TEMPLATE_TALK    => 'Шаблоны_тыххæй_дискусси',
-                       NS_HELP             => 'Æххуыс',
-                       NS_HELP_TALK        => 'Æххуысы_тыххæй_дискусси',
-                       NS_CATEGORY         => 'Категори',
-                       NS_CATEGORY_TALK    => 'Категорийы_тыххæй_дискусси',
-               );
-
-       }
-
-       function getFallbackLanguage() {
-               return 'ru';
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesOs + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsOs;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesOs + parent::getSkinNames();
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesOs[$key] ) ) {
-                       return $this->mMessagesOs[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesOs;
-       }
-
-       #'linkprefix' => '/^(.*?)(„|«)$/sD',
-
-       function linkTrail() {
-               return '/^((?:[a-z]|а|æ|б|в|г|д|е|ё|ж|з|и|й|к|л|м|н|о|п|р|с|т|у|ф|х|ц|ч|ш|щ|ъ|ы|ь|э|ю|я|“|»)+)(.*)$/sDu';
-       }
-
-       function fallback8bitEncoding() {
-               return 'windows-1251';
-       }
-
-}
-
-?>
diff --git a/languages/LanguagePa.php b/languages/LanguagePa.php
deleted file mode 100644 (file)
index 4588e0b..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-<?php
-/** Punjabi (Gurmukhi)
-  * @package MediaWiki
-  * @subpackage Language
-  */
-# This file is dual-licensed under GFDL and GPL.
-#
-# See: http://bugzilla.wikimedia.org/show_bug.cgi?id=1478
-
-require_once('LanguageUtf8.php');
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesPa.php');
-}
-
-class LanguagePa extends LanguageUtf8 {
-       private $mMessagesPa, $mNamespaceNamesPa = null;
-
-       private $mQuickbarSettingsPa = array(
-               'ਕੋਈ ਨਹੀਂ', 'ਸਥਿਰ ਖੱਬੇ', 'ਸਥਿਰ ਸੱਜਾ', 'ਤੈਰਦਾ ਖੱਬੇ'
-       );
-       
-       private $mSkinNamesPa = array(
-               'standard'      => 'ਮਿਆਰੀ',
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesPa;
-               $this->mMessagesPa =& $wgAllMessagesPa;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesPa = array(
-                       NS_MEDIA          => 'ਮੀਡੀਆ',
-                       NS_SPECIAL        => 'ਖਾਸ',
-                       NS_MAIN           => '',
-                       NS_TALK           => 'ਚਰਚਾ',
-                       NS_USER           => 'ਮੈਂਬਰ',
-                       NS_USER_TALK      => 'ਮੈਂਬਰ_ਚਰਚਾ',
-                       NS_PROJECT        => $wgMetaNamespace,
-                       NS_PROJECT_TALK   => $wgMetaNamespace . '_ਚਰਚਾ',
-                       NS_IMAGE          => 'ਤਸਵੀਰ',
-                       NS_IMAGE_TALK     => 'ਤਸਵੀਰ_ਚਰਚਾ',
-                       NS_MEDIAWIKI      => 'ਮੀਡੀਆਵਿਕਿ',
-                       NS_MEDIAWIKI_TALK => 'ਮੀਡੀਆਵਿਕਿ_ਚਰਚਾ',
-                       NS_TEMPLATE       => 'ਨਮੂਨਾ',
-                       NS_TEMPLATE_TALK  => 'ਨਮੂਨਾ_ਚਰਚਾ',
-                       NS_HELP           => 'ਮਦਦ',
-                       NS_HELP_TALK      => 'ਮਦਦ_ਚਰਚਾ',
-                       NS_CATEGORY       => 'ਸ਼੍ਰੇਣੀ',
-                       NS_CATEGORY_TALK  => 'ਸ਼੍ਰੇਣੀ_ਚਰਚਾ'
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesPa + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsPa;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesPa + parent::getSkinNames();
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesPa[$key] ) ) {
-                       return $this->mMessagesPa[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesPa;
-       }
-
-       function digitTransformTable() {
-               return array(
-                       '0' => '੦',
-                       '1' => '੧',
-                       '2' => '੨',
-                       '3' => '੩',
-                       '4' => '੪',
-                       '5' => '੫',
-                       '6' => '੬',
-                       '7' => '੭',
-                       '8' => '੮',
-                       '9' => '੯'
-               );
-       }
-
-}
-?>
diff --git a/languages/LanguagePl.php b/languages/LanguagePl.php
deleted file mode 100644 (file)
index af5dd13..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-<?php
-/** Polish (Polski)
- *
- * @package MediaWiki
- * @subpackage Language
- */
-
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesPl.php');
-}
-
-class LanguagePl extends LanguageUtf8 {
-       private $mMessagesPl, $mNamespaceNamesPl = null;
-
-       private $mQuickbarSettingsPl = array(
-               'Brak', 'Stały, z lewej', 'Stały, z prawej', 'Unoszący się, z lewej'
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesPl;
-               $this->mMessagesPl =& $wgAllMessagesPl;
-
-               global $wgMetaNamespace;
-               # Yucky hardcoding hack as polish grammar need tweaking :o)
-               switch( $wgMetaNamespace ) {
-               case 'Wikipedia':
-                                               $wgMetaTalkNamespace = 'Dyskusja_Wikipedii';
-                                               $wgMetaUserNamespace = 'Wikipedysta';
-                               $wgMetaUserTalkNamespace = 'Dyskusja_Wikipedysty'; break;
-               case 'Wikisłownik':
-                                               $wgMetaTalkNamespace = 'Wikidyskusja';
-                                               $wgMetaUserNamespace = 'Wikipedysta';
-                               $wgMetaUserTalkNamespace = 'Dyskusja_Wikipedysty'; break;
-               case 'Wikicytaty':
-                                               $wgMetaTalkNamespace = 'Dyskusja_Wikicytatów';
-                                               $wgMetaUserNamespace = 'Wikipedysta';
-                               $wgMetaUserTalkNamespace = 'Dyskusja_Wikipedysty'; break;
-               case 'Wikiźródła':
-                                               $wgMetaTalkNamespace = 'Dyskusja_Wikiźródeł';
-                                               $wgMetaUserNamespace = 'Wikiskryba';
-                               $wgMetaUserTalkNamespace = 'Dyskusja_Wikiskryby'; break;
-               case 'Wikibooks':
-                                               $wgMetaTalkNamespace = 'Dyskusja_Wikibooks';
-                                               $wgMetaUserNamespace = 'Wikipedysta';
-                               $wgMetaUserTalkNamespace = 'Dyskusja_Wikipedysty'; break;
-               case 'Wikinews':
-                                               $wgMetaTalkNamespace = 'Dyskusja_Wikinews';
-                                               $wgMetaUserNamespace = 'Wikireporter';
-                               $wgMetaUserTalkNamespace = 'Dyskusja_Wikireportera'; break;
-               default:
-                                               $wgMetaTalkNamespace = 'Dyskusja_' . $wgMetaNamespace;
-                                               $wgMetaUserNamespace = 'Użytkownik';
-                               $wgMetaUserTalkNamespace = 'Dyskusja_użytkownika'; break;
-               }
-
-               $this->mNamespaceNamesPl = array(
-                       NS_MEDIA            => 'Media',
-                       NS_SPECIAL          => 'Specjalna',
-                       NS_MAIN             => '',
-                       NS_TALK             => 'Dyskusja',
-                       NS_USER             => $wgMetaUserNamespace,
-                       NS_USER_TALK        => $wgMetaUserTalkNamespace,
-                       NS_PROJECT          => $wgMetaNamespace,
-                       NS_PROJECT_TALK     => $wgMetaTalkNamespace,   // see above
-                       NS_IMAGE            => 'Grafika',
-                       NS_IMAGE_TALK       => 'Dyskusja_grafiki',
-                       NS_MEDIAWIKI        => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK   => 'Dyskusja_MediaWiki',
-                       NS_TEMPLATE         => 'Szablon',
-                       NS_TEMPLATE_TALK    => 'Dyskusja_szablonu',
-                       NS_HELP             => 'Pomoc',
-                       NS_HELP_TALK        => 'Dyskusja_pomocy',
-                       NS_CATEGORY         => 'Kategoria',
-                       NS_CATEGORY_TALK    => 'Dyskusja_kategorii'
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesPl + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsPl;
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesPl[$key] ) ) {
-                       return $this->mMessagesPl[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesPl;
-       }
-
-       function getMonthNameGen( $key ) {
-               global $wgMonthNamesGenEn, $wgContLang;
-               // see who called us and use the correct message function
-               if( get_class( $wgContLang->getLangObj() ) == get_class( $this ) )
-                       return wfMsgForContent( $wgMonthNamesGenEn[$key-1] );
-               else
-                       return wfMsg( $wgMonthNamesGenEn[$key-1] );
-       }
-
-       function formatMonth( $month, $format ) {
-               return $this->getMonthAbbreviation( $month );
-       }
-
-       # Check for Latin-2 backwards-compatibility URLs
-       function fallback8bitEncoding() {
-               return 'iso-8859-2';
-       }
-
-       function separatorTransformTable() {
-               return array(
-                       ',' => "\xc2\xa0", // @bug 2749
-                       '.' => ','
-               );
-       }
-
-       function linkTrail() {
-               return '/^([a-zęóąśłżźćńĘÓĄŚŁŻŹĆŃ]+)(.*)$/sDu';
-       }
-
-}
-?>
diff --git a/languages/LanguagePms.deps.php b/languages/LanguagePms.deps.php
deleted file mode 100644 (file)
index 14bfca5..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguagePms.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
-
-require_once( "LanguageIt.php" );
-?>
\ No newline at end of file
diff --git a/languages/LanguagePms.php b/languages/LanguagePms.php
deleted file mode 100644 (file)
index ccf3e44..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
-/** Piedmontese (Piemontèis)
-  * Users are bilingual in Piedmontese and Italian, using Italian as template.
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  *
-  * @bug 5362
-  *
-  * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>, Jens Frank
-  * @copyright Copyright © 2005, Ævar Arnfjörð Bjarmason, Jens Frank
-  * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
-  */
-
-require_once 'LanguageIt.php';
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesPms.php');
-}
-
-class LanguagePms extends LanguageIt {
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesPms;
-               $this->mMessagesPms =& $wgAllMessagesPms;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesPms = array(
-                       NS_MEDIA            => 'Media',
-                       NS_SPECIAL          => 'Special',
-                       NS_MAIN             => '',
-                       NS_TALK             => 'Discussion',
-                       NS_USER             => 'Utent',
-                       NS_USER_TALK        => 'Ciaciarade',
-                       NS_PROJECT          => $wgMetaNamespace,
-                       NS_PROJECT_TALK     => 'Discussion_ant_sla_' . $wgMetaNamespace,
-                       NS_IMAGE            => 'Figura',
-                       NS_IMAGE_TALK       => 'Discussion_dla_figura',
-                       NS_MEDIAWIKI        => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK   => 'Discussion_dla_MediaWiki',
-                       NS_TEMPLATE         => 'Stamp',
-                       NS_TEMPLATE_TALK    => 'Discussion_dlë_stamp',
-                       NS_HELP             => 'Agiut',
-                       NS_HELP_TALK        => 'Discussion_ant_sl\'agiut',
-                       NS_CATEGORY         => 'Categorìa',
-                       NS_CATEGORY_TALK    => 'Discussion_ant_sla_categorìa'
-               );
-
-       }
-
-       function getFallbackLanguage() {
-               return 'it';
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesPms + parent::getNamespaces();
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesPms[$key] ) ) {
-                       return $this->mMessagesPms[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesPms;
-       }
-
-}
-
-?>
diff --git a/languages/LanguagePs.php b/languages/LanguagePs.php
deleted file mode 100644 (file)
index ea5fa1b..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-/**
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-# Stub for Pashto
-
-require_once( "LanguageUtf8.php" );
-
-class LanguagePs extends LanguageUtf8 {
-
-       function getDefaultUserOptions() {
-               $opt = Language::getDefaultUserOptions();
-               $opt["quickbar"] = 2; # Right-to-left
-               $opt["underline"] = 0; # Underline is hard to read in Arabic script
-               return $opt;
-       }
-
-       # For right-to-left language support
-       function isRTL() {
-               return true;
-       }
-}
-
-?>
diff --git a/languages/LanguagePt.php b/languages/LanguagePt.php
deleted file mode 100644 (file)
index c710f4f..0000000
+++ /dev/null
@@ -1,202 +0,0 @@
-<?php
-/** Portuguese (Português)
- * This translation was made by:
- *  - Yves Marques Junqueira
- *  - Rodrigo Calanca Nishino
- *  - Nuno Tavares
- *  - Paulo Juntas
- *  - Manuel Menezes de Sequeira
- *  - Sérgio Ribeiro
- * from the Portuguese Wikipedia
- *
- * @package MediaWiki
- * @subpackage Language
- */
-
-require_once( 'LanguageUtf8.php' );
-
-#
-# In general you should not make customizations in these language files
-# directly, but should use the MediaWiki: special namespace to customize
-# user interface messages through the wiki.
-# See http://meta.wikimedia.org/wiki/MediaWiki_namespace
-#
-
-/* private */ $wgNamespaceNamesPt = array(
-       NS_MEDIA            => 'Media', # -2
-       NS_SPECIAL          => 'Especial', # -1
-       NS_MAIN             => '', # 0
-       NS_TALK             => 'Discussão', # 1
-       NS_USER             => 'Usuário',
-       NS_USER_TALK        => 'Usuário_Discussão',
-/*
-       Above entries are for PT_br. The following entries should
-    be used instead. But:
-
-     DO NOT USE THOSE ENTRIES WITHOUT MIGRATING STUFF ON
-     WIKIMEDIA WEB SERVERS FIRST !! You will just break a lot
-     of links 8-)
-
-       NS_USER             => 'Utilizador', # 2
-       NS_USER_TALK        => 'Utilizador_Discussão', # 3
-*/
-       NS_PROJECT          => $wgMetaNamespace, # 4
-       NS_PROJECT_TALK     => $wgMetaNamespace.'_Discussão', # 5
-       NS_IMAGE            => 'Imagem', # 6
-       NS_IMAGE_TALK       => 'Imagem_Discussão', # 7
-       NS_MEDIAWIKI        => 'MediaWiki', # 8
-       NS_MEDIAWIKI_TALK   => 'MediaWiki_Discussão', # 9
-       NS_TEMPLATE         => 'Predefinição', # 10
-       NS_TEMPLATE_TALK    => 'Predefinição_Discussão', # 11
-       NS_HELP             => 'Ajuda', # 12
-       NS_HELP_TALK        => 'Ajuda_Discussão', # 13
-       NS_CATEGORY         => 'Categoria', # 14
-       NS_CATEGORY_TALK    => 'Categoria_Discussão' # 15
-) + $wgNamespaceNamesEn;
-
-/* private */ $wgQuickbarSettingsPt = array(
-       'Nenhuma', 'Fixo à esquerda', 'Fixo à direita', 'Flutuando à esquerda', 'Flutuando à direita'
-);
-
-/* private */ $wgSkinNamesPt = array(
-       'standard' => 'Clássico',
-       'nostalgia' => 'Nostalgia',
-       'cologneblue' => 'Azul colonial',
-       'davinci' => 'DaVinci',
-       'mono' => 'Mono',
-       'monobook' => 'MonoBook',
-       'myskin' => 'MySkin',
-       'chick' => 'Chick'
-) + $wgSkinNamesEn;
-
-# Whether to use user or default setting in Language::date()
-/* private */ $wgDateFormatsPt = array(
-       MW_DATE_DEFAULT => 'Sem preferência',
-       MW_DATE_DMY => '16:12, 15 Janeiro 2001',
-       MW_DATE_MDY => '16:12, Janeiro 15, 2001',
-       MW_DATE_YMD => '16:12, 2001 Janeiro 15',
-       MW_DATE_ISO => '2001-01-15 16:12:34'
-);
-
-
-# Note to translators:
-#   Please include the English words as synonyms.  This allows people
-#   from other wikis to contribute more easily.
-#
-/* private */ $wgMagicWordsPt = array(
-#   ID                                 CASE  SYNONYMS
-       'redirect'               => array( 0,    '#REDIRECT', '#redir'    ),
-       'notoc'                  => array( 0,    '__NOTOC__'              ),
-       'forcetoc'               => array( 0,    '__FORCETOC__'           ),
-       'toc'                    => array( 0,    '__TOC__'                ),
-       'noeditsection'          => array( 0,    '__NOEDITSECTION__'      ),
-       'start'                  => array( 0,    '__START__'              ),
-       'currentmonth'           => array( 1,    'CURRENTMONTH'           ),
-       'currentmonthname'       => array( 1,    'CURRENTMONTHNAME'       ),
-       'currentmonthnamegen'    => array( 1,    'CURRENTMONTHNAMEGEN'    ),
-       'currentmonthabbrev'     => array( 1,    'CURRENTMONTHABBREV'     ),
-       'currentday'             => array( 1,    'CURRENTDAY'             ),
-       'currentdayname'         => array( 1,    'CURRENTDAYNAME'         ),
-       'currentyear'            => array( 1,    'CURRENTYEAR'            ),
-       'currenttime'            => array( 1,    'CURRENTTIME'            ),
-       'numberofarticles'       => array( 1,    'NUMBEROFARTICLES'       ),
-       'numberoffiles'          => array( 1,    'NUMBEROFFILES'          ),
-       'pagename'               => array( 1,    'PAGENAME'               ),
-       'pagenamee'              => array( 1,    'PAGENAMEE'              ),
-       'namespace'              => array( 1,    'NAMESPACE'              ),
-       'msg'                    => array( 0,    'MSG:'                   ),
-       'subst'                  => array( 0,    'SUBST:'                 ),
-       'msgnw'                  => array( 0,    'MSGNW:'                 ),
-       'end'                    => array( 0,    '__END__'                ),
-       'img_thumbnail'          => array( 1,    'thumbnail', 'thumb'     ),
-       'img_manualthumb'        => array( 1,    'thumbnail=$1', 'thumb=$1'),
-       'img_right'              => array( 1,    'right', 'direita'       ),
-       'img_left'               => array( 1,    'left', 'esquerda'       ),
-       'img_none'               => array( 1,    'none', 'nenhum'         ),
-       'img_width'              => array( 1,    '$1px'                   ),
-       'img_center'             => array( 1,    'center', 'centre'       ),
-       'img_framed'             => array( 1,    'framed', 'enframed', 'frame' ),
-       'int'                    => array( 0,    'INT:'                   ),
-       'sitename'               => array( 1,    'SITENAME'               ),
-       'ns'                     => array( 0,    'NS:'                    ),
-       'localurl'               => array( 0,    'LOCALURL:'              ),
-       'localurle'              => array( 0,    'LOCALURLE:'             ),
-       'server'                 => array( 0,    'SERVER'                 ),
-       'servername'             => array( 0,    'SERVERNAME'             ),
-       'scriptpath'             => array( 0,    'SCRIPTPATH'             ),
-       'grammar'                => array( 0,    'GRAMMAR:'               ),
-       'notitleconvert'         => array( 0,    '__NOTITLECONVERT__', '__NOTC__'),
-       'nocontentconvert'       => array( 0,    '__NOCONTENTCONVERT__', '__NOCC__'),
-       'currentweek'            => array( 1,    'CURRENTWEEK'            ),
-       'currentdow'             => array( 1,    'CURRENTDOW'             ),
-       'revisionid'             => array( 1,    'REVISIONID'             ),
-);
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesPt.php');
-}
-
-class LanguagePt extends LanguageUtf8 {
-
-       /**
-        * Portuguese numeric format is 123 456,78
-        */
-       function separatorTransformTable() {
-               return array(',' => ' ', '.' => ',' );
-       }
-
-       /**
-       * Exports $wgNamespaceNamesPt
-       * @return array
-       */
-       function getNamespaces() {
-               global $wgNamespaceNamesPt;
-               return $wgNamespaceNamesPt;
-       }
-
-       /**
-       * Exports $wgQuickbarSettingsPt
-       * @return array
-       */
-       function getQuickbarSettings() {
-               global $wgQuickbarSettingsPt;
-               return $wgQuickbarSettingsPt;
-       }
-
-       /**
-       * Exports $wgSkinNamesPt
-       * @return array
-       */
-       function getSkinNames() {
-               global $wgSkinNamesPt;
-               return $wgSkinNamesPt;
-       }
-
-       /**
-       * Exports $wgDateFormatsPt
-       * @return array
-       */
-       function getDateFormats() {
-               global $wgDateFormatsPt;
-               return $wgDateFormatsPt;
-       }
-
-       function getMessage( $key ) {
-               global $wgAllMessagesPt;
-               if ( isset( $wgAllMessagesPt[$key] ) ) {
-                       return $wgAllMessagesPt[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       /**
-       * Exports $wgMagicWordsPt
-       * @return array
-       */
-       function &getMagicWords()  {
-               global $wgMagicWordsPt;
-               return $wgMagicWordsPt;
-       }
-}
-?>
diff --git a/languages/LanguagePt_br.deps.php b/languages/LanguagePt_br.deps.php
deleted file mode 100644 (file)
index 7fccace..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguagePt_br.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
-
-require_once( "LanguagePt.php" );
-?>
\ No newline at end of file
diff --git a/languages/LanguagePt_br.php b/languages/LanguagePt_br.php
deleted file mode 100644 (file)
index f4abef7..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-/** Brazilian Portugese (Portuguêsi do Brasil)
-  * @package MediaWiki
-  * @subpackage Language
-  */
-#
-# This translation was made by Yves Marques Junqueira
-# and Rodrigo Calanca Nishino from Portuguese Wikipedia
-#
-
-require_once( 'LanguagePt.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesPt_br.php');
-}
-
-class LanguagePt_br extends LanguagePt {
-       private $mMessagesPt_br, $mNamespaceNamesPt_br = null;
-
-       private $mSkinNamesPt_br = array(
-               'standard' => 'Padrão',
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesPt_br;
-               $this->mMessagesPt_br =& $wgAllMessagesPt_br;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesPt_br = array(
-                       NS_MEDIA          => 'Media',
-                       NS_SPECIAL        => 'Especial',
-                       NS_MAIN           => '',
-                       NS_TALK           => 'Discussão',
-                       NS_USER           => 'Usuário',
-                       NS_USER_TALK      => 'Usuário_Discussão',
-                       NS_PROJECT        => $wgMetaNamespace,
-                       NS_PROJECT_TALK   => $wgMetaNamespace . '_Discussão',
-                       NS_IMAGE          => 'Imagem',
-                       NS_IMAGE_TALK     => 'Imagem_Discussão',
-                       NS_MEDIAWIKI      => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK => 'MediaWiki_Discussão',
-                       NS_TEMPLATE       => 'Predefinição',
-                       NS_TEMPLATE_TALK  => 'Predefinição_Discussão',
-                       NS_HELP           => 'Ajuda',
-                       NS_HELP_TALK      => 'Ajuda_Discussão',
-                       NS_CATEGORY       => 'Categoria',
-                       NS_CATEGORY_TALK  => 'Categoria_Discussão'
-               );
-
-       }
-
-       function getFallbackLanguage() {
-               return 'pt';
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesPt_br + parent::getNamespaces();
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesPt_br + parent::getSkinNames();
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesPt_br[$key] ) ) {
-                       return $this->mMessagesPt_br[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesPt_br;
-       }
-
-}
-
-?>
diff --git a/languages/LanguageQu.deps.php b/languages/LanguageQu.deps.php
deleted file mode 100644 (file)
index 5c4a4fd..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageQu.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
-
-require_once( "LanguageEs.php" );
-?>
\ No newline at end of file
diff --git a/languages/LanguageQu.php b/languages/LanguageQu.php
deleted file mode 100644 (file)
index d9362bc..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-/** Quechua (Runa Simi)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  *
-  * @bug 3844
-  *
-  * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
-  * @copyright Copyright © 2005, Ævar Arnfjörð Bjarmason
-  * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
-  */
-
-require_once 'LanguageEs.php';
-
-class LanguageQu extends LanguageEs {
-
-       function getFallbackLanguage() {
-               return 'es';
-       }
-
-       function getAllMessages() {
-               return null;
-       }
-
-}
-
-?>
diff --git a/languages/LanguageRmy.deps.php b/languages/LanguageRmy.deps.php
deleted file mode 100644 (file)
index cde8afe..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageRmy.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
-
-require_once( "LanguageRo.php" );
-?>
\ No newline at end of file
diff --git a/languages/LanguageRmy.php b/languages/LanguageRmy.php
deleted file mode 100644 (file)
index f4b9583..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-/** Vlax Romany (Romani)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  *
-  * @bug 5422
-  *
-  * @author Niklas Laxström
-  *
-  * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
-  */
-
-/**
- * Use Romanian as default instead of English
- */
-require_once 'LanguageRo.php';
-
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesRmy.php');
-}
-
-class LanguageRmy extends LanguageRo {
-       private $mMessagesRmy = null;
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesRmy;
-               $this->mMessagesRmy =& $wgAllMessagesRmy;
-
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesRmy[$key] ) ) {
-                       return $this->mMessagesRmy[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesRmy;
-       }
-
-       function getFallbackLanguage() {
-               return 'ro';
-       }
-
-}
-?>
\ No newline at end of file
diff --git a/languages/LanguageRo.php b/languages/LanguageRo.php
deleted file mode 100644 (file)
index da0b92c..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-<?php
-/** Romanian (Română)
- *
- * @package MediaWiki
- * @subpackage Language
- */
-
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesRo.php');
-}
-
-class LanguageRo extends LanguageUtf8 {
-       private $mMessagesRo, $mNamespaceNamesRo = null;
-
-       private $mQuickbarSettingsRo = array(
-               'Fără', 'Fixă, în stânga', 'Fixă, în dreapta', 'Liberă'
-       );
-       
-       private $mSkinNamesRo = array(
-               'standard' => 'Normală',
-               'nostalgia' => 'Nostalgie'
-       );
-               
-       private $mMagicWordsRo = array(
-       #   ID                                 CASE  SYNONYMS
-               'redirect'               => array( 0,    '#redirect'                                       ),
-               'notoc'                  => array( 0,    '__NOTOC__', '__FARACUPRINS__'                    ),
-               'noeditsection'          => array( 0,    '__NOEDITSECTION__', '__FARAEDITSECTIUNE__'       ),
-               'start'                  => array( 0,    '__START__'                                       ),
-               'currentmonth'           => array( 1,    'CURRENTMONTH', '{{NUMARLUNACURENTA}}'            ),
-               'currentmonthname'       => array( 1,    'CURRENTMONTHNAME', '{{NUMELUNACURENTA}}'         ),
-               'currentday'             => array( 1,    'CURRENTDAY', '{{NUMARZIUACURENTA}}'              ),
-               'currentdayname'         => array( 1,    'CURRENTDAYNAME', '{{NUMEZIUACURENTA}}'           ),
-               'currentyear'            => array( 1,    'CURRENTYEAR', '{{ANULCURENT}}'                   ),
-               'currenttime'            => array( 1,    'CURRENTTIME', '{{ORACURENTA}}'                   ),
-               'numberofarticles'       => array( 1,    'NUMBEROFARTICLES', '{{NUMARDEARTICOLE}}'         ),
-               'currentmonthnamegen'    => array( 1,    'CURRENTMONTHNAMEGEN', '{{NUMELUNACURENTAGEN}}'   ),
-               'subst'                  => array( 0,    'SUBST:'                                          ),
-               'msgnw'                  => array( 0,    'MSGNW:', 'MSJNOU:'                               ),
-               'end'                    => array( 0,    '__END__', '__FINAL__'                            ),
-               'img_thumbnail'          => array( 1,    'thumbnail', 'thumb'                              ),
-               'img_right'              => array( 1,    'right'                                           ),
-               'img_left'               => array( 1,    'left'                                            ),
-               'img_none'               => array( 1,    'none'                                            ),
-               'img_width'              => array( 1,    '$1px'                                            ),
-               'img_center'             => array( 1,    'center', 'centre'                                ),
-               'int'                    => array( 0,    'INT:'                                            )
-       );
-
-       
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesRo;
-               $this->mMessagesRo =& $wgAllMessagesRo;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesRo = array(
-                       NS_MEDIA          => 'Media',
-                       NS_SPECIAL        => 'Special',
-                       NS_MAIN           => '',
-                       NS_TALK           => 'Discuţie',
-                       NS_USER           => 'Utilizator',
-                       NS_USER_TALK      => 'Discuţie_Utilizator',
-                       NS_PROJECT        => $wgMetaNamespace,
-                       NS_PROJECT_TALK   => 'Discuţie_'.$wgMetaNamespace,
-                       NS_IMAGE          => 'Imagine',
-                       NS_IMAGE_TALK     => 'Discuţie_Imagine',
-                       NS_MEDIAWIKI      => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK => 'Discuţie_MediaWiki',
-                       NS_TEMPLATE       => 'Format',
-                       NS_TEMPLATE_TALK  => 'Discuţie_Format',
-                       NS_HELP           => 'Ajutor',
-                       NS_HELP_TALK      => 'Discuţie_Ajutor',
-                       NS_CATEGORY       => 'Categorie',
-                       NS_CATEGORY_TALK  => 'Discuţie_Categorie'
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesRo + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsRo;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesRo + parent::getSkinNames();
-       }
-
-       function getDateFormats() {
-               return false;
-       }
-
-       function &getMagicWords()  {
-               $t = $this->mMagicWordsRo + parent::getMagicWords();
-               return $t;
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesRo[$key] ) ) {
-                       return $this->mMessagesRo[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesRo;
-       }
-
-       function timeDateSeparator( $format ) {
-               return ' ';
-       }
-
-       function timeBeforeDate() {
-               return false;
-       }
-
-       function fallback8bitEncoding() {
-               return 'iso8859-2';
-       }
-
-}
-
-?>
index 6b576e9..b64a414 100644 (file)
@@ -7,158 +7,8 @@
   * @subpackage Language
   */
 
-require_once( 'LanguageUtf8.php' );
-
-
-/* private */ $wgNamespaceNamesRu = array(
-       NS_MEDIA            => 'Медиа',
-       NS_SPECIAL          => 'Служебная',
-       NS_MAIN             => '',
-       NS_TALK             => 'Обсуждение',
-       NS_USER             => 'Участник',
-       NS_USER_TALK        => 'Обсуждение_участника',
-       NS_PROJECT          => $wgMetaNamespace,
-       NS_PROJECT_TALK     => FALSE,  #Set in constructor
-       NS_IMAGE            => 'Изображение',
-       NS_IMAGE_TALK       => 'Обсуждение_изображения',
-       NS_MEDIAWIKI        => 'MediaWiki',
-       NS_MEDIAWIKI_TALK   => 'Обсуждение_MediaWiki',
-       NS_TEMPLATE         => 'Шаблон',
-       NS_TEMPLATE_TALK    => 'Обсуждение_шаблона',
-       NS_HELP             => 'Справка',
-       NS_HELP_TALK        => 'Обсуждение_справки',
-       NS_CATEGORY         => 'Категория',
-       NS_CATEGORY_TALK    => 'Обсуждение_категории',
-) + $wgNamespaceNamesEn;
-
-
-/* private */ $wgQuickbarSettingsRu = array(
-       'Не показывать', 'Неподвижная слева', 'Неподвижная справа', 'Плавающая слева', 'Плавающая справа'
-);
-
-/* private */ $wgSkinNamesRu = array(
-       'standard' => 'Стандартный',
-       'nostalgia' => 'Ностальгия',
-       'cologneblue' => 'Кёльнская тоска',
-       'davinci' => 'Да Винчи',
-       'mono' => 'Моно',
-       'monobook' => 'Моно-книга',
-       'myskin' => 'Своё',
-       'chick' => 'Цыпа'
-);
-
-
-/* private */ $wgBookstoreListRu = array(
-       'ОЗОН' => 'http://www.ozon.ru/?context=advsearch_book&isbn=$1',
-       'Books.Ru' => 'http://www.books.ru/shop/search/advanced?as%5Btype%5D=books&as%5Bname%5D=&as%5Bisbn%5D=$1&as%5Bauthor%5D=&as%5Bmaker%5D=&as%5Bcontents%5D=&as%5Binfo%5D=&as%5Bdate_after%5D=&as%5Bdate_before%5D=&as%5Bprice_less%5D=&as%5Bprice_more%5D=&as%5Bstrict%5D=%E4%E0&as%5Bsub%5D=%E8%F1%EA%E0%F2%FC&x=22&y=8',
-       'Яндекс.Маркет' => 'http://market.yandex.ru/search.xml?text=$1',
-       'Amazon.com' => 'http://www.amazon.com/exec/obidos/ISBN=$1'
-);
-
-
-# Note to translators:
-#   Please include the English words as synonyms.  This allows people
-#   from other wikis to contribute more easily.
-#
-/* private */ $wgMagicWordsRu = array(
-#   ID                                 CASE  SYNONYMS
-       'redirect'               => array( 0,    '#REDIRECT', '#ПЕРЕНАПРАВЛЕНИЕ', '#ПЕРЕНАПР'),
-       'notoc'                  => array( 0,    '__NOTOC__', '__БЕЗСОДЕРЖАНИЯ__'),
-       'forcetoc'               => array( 0,    '__FORCETOC__'),
-       'toc'                    => array( 0,    '__TOC__', '__СОДЕРЖАНИЕ__'),
-       'noeditsection'          => array( 0,    '__NOEDITSECTION__', '__БЕЗРЕДАКТИРОВАНИЯРАЗДЕЛА__'),
-       'start'                  => array( 0,    '__START__', '__НАЧАЛО__'),
-       'currentmonth'           => array( 1,    'CURRENTMONTH', 'ТЕКУЩИЙМЕСЯЦ'),
-       'currentmonthname'       => array( 1,    'CURRENTMONTHNAME','НАЗВАНИЕТЕКУЩЕГОМЕСЯЦА'),
-       'currentmonthnamegen'    => array( 1,    'CURRENTMONTHNAMEGEN','НАЗВАНИЕТЕКУЩЕГОМЕСЯЦАРОД'),
-       'currentmonthabbrev'     => array( 1,    'CURRENTMONTHABBREV', 'НАЗВАНИЕТЕКУЩЕГОМЕСЯЦААБР'),
-       'currentday'             => array( 1,    'CURRENTDAY','ТЕКУЩИЙДЕНЬ'),
-       'currentday2'            => array( 1,    'CURRENTDAY2','ТЕКУЩИЙДЕНЬ2'),
-       'currentdayname'         => array( 1,    'CURRENTDAYNAME','НАЗВАНИЕТЕКУЩЕГОДНЯ'),
-       'currentyear'            => array( 1,    'CURRENTYEAR','ТЕКУЩИЙГОД'),
-       'currenttime'            => array( 1,    'CURRENTTIME','ТЕКУЩЕЕВРЕМЯ'),
-       'numberofarticles'       => array( 1,    'NUMBEROFARTICLES','КОЛИЧЕСТВОСТАТЕЙ'),
-       'numberoffiles'          => array( 1,    'NUMBEROFFILES', 'КОЛИЧЕСТВОФАЛОВ'),
-       'pagename'               => array( 1,    'PAGENAME','НАЗВАНИЕСТРАНИЦЫ'),
-       'pagenamee'              => array( 1,    'PAGENAMEE','НАЗВАНИЕСТРАНИЦЫ2'),
-       'namespace'              => array( 1,    'NAMESPACE','ПРОСТРАНСТВОИМЁН'),
-       'msg'                    => array( 0,    'MSG:'),
-       'subst'                  => array( 0,    'SUBST:','ПОДСТ:'),
-       'msgnw'                  => array( 0,    'MSGNW:'),
-       'end'                    => array( 0,    '__END__','__КОНЕЦ__'),
-       'img_thumbnail'          => array( 1,    'thumbnail', 'thumb', 'мини'),
-       'img_manualthumb'        => array( 1,    'thumbnail=$1', 'thumb=$1', 'мини=$1'),
-       'img_right'              => array( 1,    'right','справа'),
-       'img_left'               => array( 1,    'left','слева'),
-       'img_none'               => array( 1,    'none'),
-       'img_width'              => array( 1,    '$1px','$1пкс'),
-       'img_center'             => array( 1,    'center', 'centre','центр'),
-       'img_framed'             => array( 1,    'framed', 'enframed', 'frame','обрамить'),
-       'int'                    => array( 0,    'INT:'),
-       'sitename'               => array( 1,    'SITENAME','НАЗВАНИЕСАЙТА'),
-       'ns'                     => array( 0,    'NS:','ПИ:'),
-       'localurl'               => array( 0,    'LOCALURL:'),
-       'localurle'              => array( 0,    'LOCALURLE:'),
-       'server'                 => array( 0,    'SERVER','СЕРВЕР'),
-       'servername'             => array( 0,    'SERVERNAME', 'НАЗВАНИЕСЕРВЕРА'),
-       'scriptpath'             => array( 0,    'SCRIPTPATH', 'ПУТЬКСКРИПТУ'),
-       'grammar'                => array( 0,    'GRAMMAR:'),
-       'notitleconvert'         => array( 0,    '__NOTITLECONVERT__', '__NOTC__', '__БЕЗПРЕОБРАЗОВАНИЯЗАГОЛОВКА__'),
-       'nocontentconvert'       => array( 0,    '__NOCONTENTCONVERT__', '__NOCC__', '__БЕЗПРЕОБРАЗОВАНИЯТЕКСТА__'),
-       'currentweek'            => array( 1,    'CURRENTWEEK','ТЕКУЩАЯНЕДЕЛЯ'),
-       'currentdow'             => array( 1,    'CURRENTDOW','ТЕКУЩИЙДЕНЬНЕДЕЛИ'),
-       'revisionid'             => array( 1,    'REVISIONID', 'ИДВЕРСИИ'),
-);
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesRu.php');
-}
-
 /* Please, see Language.php for general function comments */
-class LanguageRu extends LanguageUtf8 {
-       function __construct() {
-               global $wgNamespaceNamesRu, $wgMetaNamespace;
-               parent::__construct();
-               $wgNamespaceNamesRu[NS_PROJECT_TALK] = 'Обсуждение_' . $this->convertGrammar( $wgMetaNamespace, 'genitive' );
-       }
-
-       function getNamespaces() {
-               global $wgNamespaceNamesRu;
-               return $wgNamespaceNamesRu;
-       }
-
-       function getQuickbarSettings() {
-               global $wgQuickbarSettingsRu;
-               return $wgQuickbarSettingsRu;
-       }
-
-       function getSkinNames() {
-               global $wgSkinNamesRu;
-               return $wgSkinNamesRu;
-       }
-
-       function getDateFormats() {
-               global $wgDateFormatsRu;
-               return $wgDateFormatsRu;
-       }
-
-       function getMessage( $key ) {
-               global $wgAllMessagesRu;
-               return isset($wgAllMessagesRu[$key]) ? $wgAllMessagesRu[$key] : parent::getMessage($key);
-       }
-
-       function fallback8bitEncoding() {
-               return "windows-1251";
-       }
-
-       //only for quotation mark
-       function linkPrefixExtension() { return true; }
-
-       function &getMagicWords()  {
-               global $wgMagicWordsRu;
-               return $wgMagicWordsRu;
-       }
-
+class LanguageRu extends Language {
        # Convert from the nominative form of a noun to some other case
        # Invoked with {{grammar:case|word}}
        function convertGrammar( $word, $case ) {
@@ -233,26 +83,5 @@ class LanguageRu extends LanguageUtf8 {
                        return $_;
                }
        }
-
-       function separatorTransformTable() {
-               return array(
-                       ',' => "\xc2\xa0",
-                       '.' => ','
-               );
-       }
-
-       function getMonthNameGen( $key ) {
-               global $wgMonthNamesGenEn, $wgContLang;
-               // see who called us and use the correct message function
-               if( get_class( $wgContLang->getLangObj() ) == get_class( $this ) )
-                       return wfMsgForContent( $wgMonthNamesGenEn[$key-1] );
-               else
-                       return wfMsg( $wgMonthNamesGenEn[$key-1] );
-       }
-
-       function formatMonth( $month, $format ) {
-               return $this->getMonthNameGen( $month );
-       }
-
 }
 ?>
diff --git a/languages/LanguageSc.php b/languages/LanguageSc.php
deleted file mode 100644 (file)
index 8a7c9c0..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-/**
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-require_once( "LanguageUtf8.php" );
-
-/* private */ $wgNamespaceNamesSc = array(
-       NS_SPECIAL         => 'Speciale',
-       NS_MAIN            => '',
-       NS_TALK            => 'Contièndha',
-       NS_USER            => 'Utente',
-       NS_USER_TALK       => 'Utente_discussioni',
-       NS_PROJECT         => $wgMetaNamespace,
-       NS_PROJECT_TALK    => $wgMetaNamespace . '_discussioni',
-       NS_IMAGE           => 'Immàgini',
-       NS_IMAGE_TALK      => 'Immàgini_contièndha'
-) + $wgNamespaceNamesEn;
-
-/* private */ $wgQuickbarSettingsSc = array(
-       "Nessuno", "Fisso a sinistra", "Fisso a destra", "Fluttuante a sinistra"
-);
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesSc.php');
-}
-
-class LanguageSc extends LanguageUtf8 {
-
-       function getNamespaces() {
-               global $wgNamespaceNamesSc;
-               return $wgNamespaceNamesSc;
-       }
-
-       function getQuickbarSettings() {
-               global $wgQuickbarSettingsSc;
-               return $wgQuickbarSettingsSc;
-       }
-
-       function formatMonth( $month, $format ) {
-               return $this->getMonthAbbreviation( $month );
-       }
-
-       function getMessage( $key ) {
-               global $wgAllMessagesSc;
-               if(array_key_exists($key, $wgAllMessagesSc))
-                       return $wgAllMessagesSc[$key];
-               else
-                       return parent::getMessage($key);
-       }
-
-}
-
-?>
diff --git a/languages/LanguageSd.php b/languages/LanguageSd.php
deleted file mode 100644 (file)
index 1526815..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-/** Sindhi language file ( सिनधि )
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-require_once( 'LanguageUtf8.php' );
-
-class LanguageSd extends LanguageUtf8 {
-       #FIXME: inherit almost everything for now
-
-       function isRTL() {
-               return true;
-       }
-}
-
-?>
index 806d80a..2fa8df0 100644 (file)
@@ -5,176 +5,7 @@
  * @package MediaWiki
  * @subpackage Language
  */
-
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesSk.php');
-}
-
-class LanguageSk extends LanguageUtf8 {
-
-       private $mQuickbarSettingsSk = array(
-               'Žiadne', 'Ukotvené vľavo', 'Ukotvené vpravo', 'Plávajúce vľavo'
-       );
-       
-       private $mDateFormatsSk = array(
-               'Default',
-               '15. január 2001 16:12',
-               '15. jan. 2001 16:12',
-               '16:12, 15. január 2001',
-               '16:12, 15. jan. 2001',
-               'ISO 8601' => '2001-01-15 16:12:34'
-       );
-       
-       private $mBookstoreListSk = array(
-               'Bibsys' => 'http://ask.bibsys.no/ask/action/result?cmd=&kilde=biblio&fid=isbn&term=$1',
-               'BokBerit' => 'http://www.bokberit.no/annet_sted/bocker/$1.html',
-               'Bokkilden' => 'http://www.bokkilden.no/ProductDetails.aspx?ProductId=$1',
-               'Haugenbok' => 'http://www.haugenbok.no/searchresults.cfm?searchtype=simple&isbn=$1',
-               'Akademika' => 'http://www.akademika.no/sok.php?isbn=$1',
-               'Gnist' => 'http://www.gnist.no/sok.php?isbn=$1',
-               'Amazon.co.uk' => 'http://www.amazon.co.uk/exec/obidos/ISBN=$1',
-               'Amazon.de' => 'http://www.amazon.de/exec/obidos/ISBN=$1',
-               'Amazon.com' => 'http://www.amazon.com/exec/obidos/ISBN=$1'
-       );
-       
-       # Note to translators:
-       # Please include the English words as synonyms. This allows people
-       # from other wikis to contribute more easily.
-       #
-       private $mMagicWordsSk = array(
-       # ID CASE SYNONYMS
-               'redirect'   => array( 0, '#redirect', '#presmeruj' ),
-               'notoc'   => array( 0, '__NOTOC__', '__BEZOBSAHU__' ),
-               'forcetoc'   => array( 0, '__FORCETOC__', '__VYNÚŤOBSAH__' ),
-               'toc'   => array( 0, '__TOC__', '__OBSAH__' ),
-               'noeditsection'   => array( 0, '__NOEDITSECTION__', '__NEUPRAVUJSEKCIE__' ),
-               'start'   => array( 0, '__START__', '__ŠTART__' ),
-               'currentmonth'   => array( 1, 'CURRENTMONTH', 'MESIAC' ),
-               'currentmonthname'   => array( 1, 'CURRENTMONTHNAME', 'MENOMESIACA' ),
-               'currentmonthnamegen'   => array( 1, 'CURRENTMONTHNAMEGEN', 'MENOAKTUÁLNEHOMESIACAGEN' ),
-               'currentmonthabbrev'     => array( 1, 'CURRENTMONTHABBREV', 'MENOAKTUÁLNEHOMESIACASKRATKA' ),
-               'currentday'   => array( 1, 'CURRENTDAY', 'AKTUÁLNYDEŇ' ),
-               'currentdayname'   => array( 1, 'CURRENTDAYNAME', 'MENOAKTUÁLNEHODŇA' ),
-               'currentyear'   => array( 1, 'CURRENTYEAR', 'AKTUÁLNYROK' ),
-               'currenttime'   => array( 1, 'CURRENTTIME', 'AKTUÁLNYČAS' ),
-               'numberofarticles'   => array( 1, 'NUMBEROFARTICLES', 'POČETČLÁNKOV' ),
-               'pagename'   => array( 1, 'PAGENAME', 'MENOSTRÁNKY' ),
-               'pagenamee'   => array( 1, 'PAGENAMEE' ),
-               'namespace'   => array( 1, 'NAMESPACE', 'MENNÝPRIESTOR' ),
-               'msg'   => array( 0, 'MSG:', 'SPRÁVA:' ),
-               'subst'   => array( 0, 'SUBST:' ),
-               'msgnw'   => array( 0, 'MSGNW:' ),
-               'end'   => array( 0, '__END__', '__KONIEC__' ),
-               'img_thumbnail'   => array( 1, 'thumbnail', 'thumb', 'náhľad', 'náhľadobrázka' ),
-               'img_right'   => array( 1, 'right', 'vpravo' ),
-               'img_left'   => array( 1, 'left', 'vľavo' ),
-               'img_none'   => array( 1, 'none', 'žiadny' ),
-               'img_width'   => array( 1, '$1px', '$1bod' ),
-               'img_center'   => array( 1, 'center', 'centre', 'stred' ),
-               'img_framed'   => array( 1, 'framed', 'enframed', 'frame', 'rám' ),
-               'int'   => array( 0, 'INT:' ),
-               'sitename'   => array( 1, 'SITENAME', 'MENOLOKALITY' ),
-               'ns'   => array( 0, 'NS:', 'MP:' ),
-               'localurl'   => array( 0, 'LOCALURL:' ),
-               'localurle'   => array( 0, 'LOCALURLE:' ),
-               'server'   => array( 0, 'SERVER' ),
-               'grammar'   => array( 0, 'GRAMMAR:', 'GRAMATIKA:' ),
-               'notitleconvert'   => array( 0, '__NOTITLECONVERT__', '__NOTC__' ),
-               'nocontentconvert'   => array( 0, '__NOCONTENTCONVERT__', '__NOCC__' ),
-               'currentweek'   => array( 1, 'CURRENTWEEK', 'AKTUÁLNYTÝŽDEŇ' ),
-               'currentdow'   => array( 1, 'CURRENTDOW' ),
-               'revisionid'   => array( 1, 'REVISIONID' ),
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesSk;
-               $this->mMessagesSk =& $wgAllMessagesSk;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesSk = array(
-                       NS_MEDIA          => 'Médiá',
-                       NS_SPECIAL        => 'Špeciálne',
-                       NS_MAIN           => '',
-                       NS_TALK           => 'Diskusia',
-                       NS_USER           => 'Redaktor',
-                       NS_USER_TALK      => 'Diskusia_s_redaktorom',
-                       NS_PROJECT        => $wgMetaNamespace,
-                       NS_PROJECT_TALK   => 'Diskusia_k_' . $this->convertGrammar( $wgMetaNamespace, 'datív' ),
-                       NS_IMAGE          => 'Obrázok',
-                       NS_IMAGE_TALK     => 'Diskusia_k_obrázku',
-                       NS_MEDIAWIKI      => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK => 'Diskusia_k_MediaWiki',
-                       NS_TEMPLATE       => 'Šablóna',
-                       NS_TEMPLATE_TALK  => 'Diskusia_k_šablóne',
-                       NS_HELP           => 'Pomoc',
-                       NS_HELP_TALK      => 'Diskusia_k_pomoci',
-                       NS_CATEGORY       => 'Kategória',
-                       NS_CATEGORY_TALK  => 'Diskusia_ku_kategórii'
-               );
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesSk + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsSk;
-       }
-
-       function getDateFormats() {
-               return $this->mDateFormatsSk;
-       }
-
-       function getBookstoreList() {
-               return $this->mBookstoreListSk;
-       }
-
-       function &getMagicWords()  {
-               $t = $this->mMagicWordsSk + parent::getMagicWords();
-               return $t;
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesSk[$key] ) ) {
-                       return $this->mMessagesSk[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesSk;
-       }
-
-       function getNsIndex( $text ) {
-
-               foreach ( $this->mNamespaceNamesSk as $i => $n ) {
-                       if ( 0 == strcasecmp( $n, $text ) ) { return $i; }
-               }
-               # Compatbility with old names:
-               if( 0 == strcasecmp( "Komentár", $text ) ) { return NS_TALK; }
-               if( 0 == strcasecmp( "Komentár_k_redaktorovi", $text ) ) { return NS_USER_TALK; }
-               if( 0 == strcasecmp( "Komentár_k_Wikipédii", $text ) ) { return NS_PROJECT_TALK; }
-               if( 0 == strcasecmp( "Komentár_k_obrázku", $text ) ) { return NS_IMAGE_TALK; }
-               if( 0 == strcasecmp( "Komentár_k_MediaWiki", $text ) ) { return NS_MEDIAWIKI_TALK; }
-               return false;
-       }
-
-       function separatorTransformTable() {
-               return array(
-                       ',' => "\xc2\xa0",
-                       '.' => ','
-               );
-       }
-
-       function linkTrail() {
-               return '/^([a-záäčďéíľĺňóôŕšťúýž]+)(.*)$/sDu';
-       }
-
+class LanguageSk extends Language {
        # Convert from the nominative form of a noun to some other case
        # Invoked with {{GRAMMAR:case|word}}
        /**
@@ -243,7 +74,7 @@ class LanguageSk extends LanguageUtf8 {
                                }
                        break;
                }
-       return $word;
+               return $word;
        }
        
        function convertPlural( $count, $w1, $w2, $w3) {
index 1cffbde..35991ca 100644 (file)
@@ -5,106 +5,7 @@
  * @subpackage Language
  *
  */
-
-#
-# Revision/
-# Inačica 1.00.00 XJamRastafire 2003-07-08 |NOT COMPLETE
-#         1.00.10 XJamRastafire 2003-11-03 |NOT COMPLETE
-# ______________________________________________________
-#         1.00.20 XJamRastafire 2003-11-05 |    COMPLETE
-#         1.00.30 romanm        2003-11-07 |    minor changes
-#         1.00.31 romanm        2003-11-11 |    merged incorrectly broken lines
-#         1.00.32 romanm        2003-11-19 |    merged incorrectly broken lines
-#         1.00.40 romanm        2003-11-21 |    fixed Google search
-
-
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesSl.php');
-}
-
-class LanguageSl extends LanguageUtf8 {
-       private $mMessagesSl, $mNamespaceNamesSl = null;
-
-       private $mQuickbarSettingsSl = array(
-               'Brez', 'Levo nepomično', 'Desno nepomično', 'Levo leteče'
-       );
-
-       private $mMonthNameGenSl = array(
-               'januarja', 'februarja', 'marca', 'aprila', 'maja', 'junija',
-               'julija', 'avgusta', 'septembra', 'oktobra', 'novembra', 'decembra'
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesSl;
-               $this->mMessagesSl =& $wgAllMessagesSl;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesSl = array(
-                       NS_MEDIA          => 'Media',
-                       NS_SPECIAL        => 'Posebno',
-                       NS_MAIN           => '',
-                       NS_TALK           => 'Pogovor',
-                       NS_USER           => 'Uporabnik',
-                       NS_USER_TALK      => 'Uporabniški_pogovor',
-                       NS_PROJECT        => $wgMetaNamespace,
-                       NS_PROJECT_TALK   => 'Pogovor_' .
-                       str_replace( ' ', '_', $this->convertGrammar( $wgMetaNamespace, 'mestnik' ) ),
-                       NS_IMAGE          => 'Slika',
-                       NS_IMAGE_TALK     => 'Pogovor_o_sliki',
-                       NS_MEDIAWIKI      => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK => 'Pogovor_o_MediaWiki',
-                       NS_TEMPLATE       => 'Predloga',
-                       NS_TEMPLATE_TALK  => 'Pogovor_o_predlogi',
-                       NS_HELP           => 'Pomoč',
-                       NS_HELP_TALK      => 'Pogovor_o_pomoči',
-                       NS_CATEGORY       => 'Kategorija',
-                       NS_CATEGORY_TALK  => 'Pogovor_o_kategoriji'
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesSl + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsSl;
-       }
-
-       function getDateFormats() {
-               return false;
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesSl[$key] ) ) {
-                       return $this->mMessagesSl[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesSl;
-       }
-
-
-       function fallback8bitEncoding() {
-               return "iso-8859-2";
-       }
-
-       function separatorTransformTable() {
-               return array(',' => '.', '.' => ',' );
-       }
-
-       function getMonthNameGen( $key ) {
-               return $this->mMonthNameGenSl[$key-1];
-       }
-
-
+class LanguageSl extends Language {
        # Convert from the nominative form of a noun to some other case
        # Invoked with {{GRAMMAR:case|word}}
        /**
@@ -220,4 +121,4 @@ class LanguageSl extends LanguageUtf8 {
 
 
 }
-?>
\ No newline at end of file
+?>
diff --git a/languages/LanguageSq.php b/languages/LanguageSq.php
deleted file mode 100644 (file)
index 3ec5734..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-<?php
-/** Albanian (Shqip)
- *
- * @package MediaWiki
- * @subpackage Language
- */
-
-require_once( "LanguageUtf8.php" );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesSq.php');
-}
-
-class LanguageSq extends LanguageUtf8 {
-       private $mMessagesSq, $mNamespaceNamesSq = null;
-
-       private $mQuickbarSettingsSq = array(
-               'Asnjë', 'Lidhur majtas', 'Lidhur djathtas', 'Pezull majtas', 'Pezull djathtas'
-       );
-       
-       private $mSkinNamesSq = array(
-               'standard' => "Standarte",
-               'nostalgia' => "Nostalgjike",
-               'cologneblue' => "Kolonjë Blu"
-       );
-
-       private $mDateFormatsSq = array(
-               MW_DATE_DEFAULT => 'No preference',
-               MW_DATE_DMY => '16:12, 15 January 2001',
-               MW_DATE_ISO => '2001-01-15 16:12:34'
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesSq;
-               $this->mMessagesSq =& $wgAllMessagesSq;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesSq = array(
-                       NS_MEDIA          => "Media",
-                       NS_SPECIAL        => "Speciale",
-                       NS_MAIN           => "",
-                       NS_TALK           => "Diskutim",
-                       NS_USER           => "Përdoruesi",
-                       NS_USER_TALK      => "Përdoruesi_diskutim",
-                       NS_PROJECT        => $wgMetaNamespace,
-                       NS_PROJECT_TALK   => $wgMetaNamespace . "_diskutim",
-                       NS_IMAGE          => "Figura",
-                       NS_IMAGE_TALK     => "Figura_diskutim",
-                       NS_MEDIAWIKI      => "MediaWiki",
-                       NS_MEDIAWIKI_TALK => "MediaWiki_diskutim",
-                       NS_TEMPLATE       => "Stampa",
-                       NS_TEMPLATE_TALK  => "Stampa_diskutim",
-                       NS_HELP           => 'Ndihmë',
-                       NS_HELP_TALK      => 'Ndihmë_diskutim'
-               );
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesSq + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsSq;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesSq + parent::getSkinNames();
-       }
-
-       function getDateFormats() {
-               return $this->mDateFormatsSq;
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesSq[$key] ) ) {
-                       return $this->mMessagesSq[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesSq;
-       }
-
-       function getNsIndex( $text ) {
-               foreach ( $this->mNamespaceNamesSq as $i => $n ) {
-                       if ( 0 == strcasecmp( $n, $text ) ) { return $i; }
-               }
-               # Compatbility with alt names:
-               if( 0 == strcasecmp( "Perdoruesi", $text ) ) return NS_USER;
-               if( 0 == strcasecmp( "Perdoruesi_diskutim", $text ) ) return NS_USER_TALK;
-               return false;
-       }
-
-       function timeDateSeparator( $format ) {
-               return ' ';
-       }
-
-
-       function timeBeforeDate( $format ) {
-               return false;
-       }
-
-       function separatorTransformTable() {
-               return array(',' => '.', '.' => ',' );
-       }
-
-}
-?>
index f533ead..acfd954 100644 (file)
@@ -5,6 +5,6 @@
 // changed on a subsequent page view.
 // see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
 
-require_once( "LanguageSr_ec.php" );
-require_once( "LanguageConverter.php" );
+require_once( dirname(__FILE__).'/LanguageSr_ec.php' );
+require_once( dirname(__FILE__).'/LanguageConverter.php' );
 ?>
index 2eede4b..035259a 100644 (file)
        dictionaries: one for Cyrillics and Latin, and one for ekavian and
        iyekavian.
 */
-require_once( "LanguageConverter.php" );
-require_once( "LanguageSr_ec.php" );
-require_once( "LanguageSr_el.php" );
-require_once( "LanguageSr_jc.php" );
-require_once( "LanguageSr_jl.php" );
+require_once( dirname(__FILE__).'/LanguageConverter.php' );
+require_once( dirname(__FILE__).'/LanguageSr_ec.php' );
+require_once( dirname(__FILE__).'/LanguageSr_el.php' );
 
 class SrConverter extends LanguageConverter {
        var $mToLatin = array(
@@ -196,6 +194,8 @@ class SrConverter extends LanguageConverter {
 class LanguageSr extends LanguageSr_ec {
        function __construct() {
                global $wgHooks;
+               parent::__construct();
+
                $variants = array('sr', 'sr-ec', 'sr-jc', 'sr-el', 'sr-jl');
                $variantfallbacks = array(
                        'sr'    => 'sr-ec',
@@ -215,10 +215,5 @@ class LanguageSr extends LanguageSr_ec {
        function getVariantname( $code ) {
                return wfMsg( "variantname-$code" );
        }
-
-       function linkTrail() {
-               return "/^([abvgdđežzijklljmnnjoprstćufhcčdžšабвгдђежзијклљмнњопрстћуфхцчџш]+)(.*)$/usD";
-       }
-
 }
 ?>
index f592ff9..f84ebd0 100644 (file)
   * @subpackage Language
   */
 
-require_once( "LanguageUtf8.php" );
-
-/* private */ $wgNamespaceNamesSr_ec = array(
-       NS_MEDIA            => "Медија",
-       NS_SPECIAL          => "Посебно",
-       NS_MAIN             => "",
-       NS_TALK             => "Разговор",
-       NS_USER             => "Корисник",
-       NS_USER_TALK        => "Разговор_са_корисником",
-       NS_PROJECT          => $wgMetaNamespace,
-       NS_PROJECT_TALK     => ($wgMetaNamespaceTalk ? $wgMetaNamespaceTalk : "Разговор_о_".$wgMetaNamespace ),
-       NS_IMAGE            => "Слика",
-       NS_IMAGE_TALK       => "Разговор_о_слици",
-       NS_MEDIAWIKI        => "МедијаВики",
-       NS_MEDIAWIKI_TALK   => "Разговор_о_МедијаВикију",
-       NS_TEMPLATE         => 'Шаблон',
-       NS_TEMPLATE_TALK    => 'Разговор_о_шаблону',
-       NS_HELP             => 'Помоћ',
-       NS_HELP_TALK        => 'Разговор_о_помоћи',
-       NS_CATEGORY         => 'Категорија',
-       NS_CATEGORY_TALK    => 'Разговор_о_категорији',
-) + $wgNamespaceNamesEn;
-
-/* private */ $wgQuickbarSettingsSr_ec = array(
- "Никаква", "Причвршћена лево", "Причвршћена десно", "Плутајућа лево"
-);
-
-/* private */ $wgSkinNamesSr_ec = array(
- "Обична", "Носталгија", "Келнско плаво", "Педингтон", "Монпарнас"
-) + $wgSkinNamesEn;
-
-/* private */ $wgUserTogglesSr_ec = array(
-       'nolangconversion',
-) + $wgUserTogglesEn;
-
-/* private */ $wgDateFormatsSr_ec = array(
-       'Није битно',
-       '06:12, 5. јануар 2001.',
-       '06:12, 5 јануар 2001',
-       '06:12, 05.01.2001.',
-       '06:12, 5.1.2001.',
-       '06:12, 5. јан 2001.',
-       '06:12, 5 јан 2001',
-       '6:12, 5. јануар 2001.',
-       '6:12, 5 јануар 2001',
-       '6:12, 05.01.2001.',
-       '6:12, 5.1.2001.',
-       '6:12, 5. јан 2001.',
-       '6:12, 5 јан 2001',
-);
-
-/* NOT USED IN STABLE VERSION */
-/* private */ $wgMagicWordsSr_ec = array(
-#      ID                                CASE SYNONYMS
-       'redirect'               => array( 0, '#Преусмери', '#redirect', '#преусмери', '#ПРЕУСМЕРИ' ),
-       'notoc'                  => array( 0, '__NOTOC__', '__БЕЗСАДРЖАЈА__' ),
-       'forcetoc'               => array( 0, '__FORCETOC__', '__ФОРСИРАНИСАДРЖАЈ__' ),
-       'toc'                    => array( 0, '__TOC__', '__САДРЖАЈ__' ),
-       'noeditsection'          => array( 0, '__NOEDITSECTION__', '__БЕЗ_ИЗМЕНА__', '__БЕЗИЗМЕНА__' ),
-       'start'                  => array( 0, '__START__', '__ПОЧЕТАК__' ),
-       'end'                    => array( 0, '__END__', '__КРАЈ__' ),
-       'currentmonth'           => array( 1, 'CURRENTMONTH', 'ТРЕНУТНИМЕСЕЦ' ),
-       'currentmonthname'       => array( 1, 'CURRENTMONTHNAME', 'ТРЕНУТНИМЕСЕЦИМЕ' ),
-       'currentmonthnamegen'    => array( 1, 'CURRENTMONTHNAMEGEN', 'ТРЕНУТНИМЕСЕЦРОД' ),
-       'currentmonthabbrev'     => array( 1, 'CURRENTMONTHABBREV', 'ТРЕНУТНИМЕСЕЦСКР' ),
-       'currentday'             => array( 1, 'CURRENTDAY', 'ТРЕНУТНИДАН' ),
-       'currentdayname'         => array( 1, 'CURRENTDAYNAME', 'ТРЕНУТНИДАНИМЕ' ),
-       'currentyear'            => array( 1, 'CURRENTYEAR', 'ТРЕНУТНАГОДИНА' ),
-       'currenttime'            => array( 1, 'CURRENTTIME', 'ТРЕНУТНОВРЕМЕ' ),
-       'numberofarticles'       => array( 1, 'NUMBEROFARTICLES', 'БРОЈЧЛАНАКА' ),
-       'numberoffiles'          => array( 1, 'NUMBEROFFILES', 'БРОЈДАТОТЕКА', 'БРОЈФАЈЛОВА' ),
-       'pagename'               => array( 1, 'PAGENAME', 'СТРАНИЦА' ),
-       'pagenamee'              => array( 1, 'PAGENAMEE', 'СТРАНИЦЕ' ),
-       'namespace'              => array( 1, 'NAMESPACE', 'ИМЕНСКИПРОСТОР' ),
-       'namespacee'             => array( 1, 'NAMESPACEE', 'ИМЕНСКИПРОСТОРИ' ),
-       'fullpagename'           => array( 1, 'FULLPAGENAME', 'ПУНОИМЕСТРАНЕ' ),
-       'fullpagenamee'          => array( 1, 'FULLPAGENAMEE', 'ПУНОИМЕСТРАНЕЕ' ),
-       'msg'                    => array( 0, 'MSG:', 'ПОР:' ),
-       'subst'                  => array( 0, 'SUBST:', 'ЗАМЕНИ:' ),
-       'msgnw'                  => array( 0, 'MSGNW:', 'НВПОР:' ),
-       'img_thumbnail'          => array( 1, 'thumbnail', 'thumb', 'мини' ),
-       'img_manualthumb'        => array( 1, 'thumbnail=$1', 'thumb=$1', 'мини=$1' ),
-       'img_right'              => array( 1, 'right', 'десно', 'д' ),
-       'img_left'               => array( 1, 'left', 'лево', 'л' ),
-       'img_none'               => array( 1, 'none', 'н', 'без' ),
-       'img_width'              => array( 1, '$1px', '$1пискел' , '$1п' ),
-       'img_center'             => array( 1, 'center', 'centre', 'центар', 'ц' ),
-       'img_framed'             => array( 1, 'framed', 'enframed', 'frame', 'оквир', 'рам' ),
-       'int'                    => array( 0, 'INT:', 'ИНТ:' ),
-       'sitename'               => array( 1, 'SITENAME', 'ИМЕСАЈТА' ),
-       'ns'                     => array( 0, 'NS:', 'ИП:' ),
-       'localurl'               => array( 0, 'LOCALURL:', 'ЛОКАЛНААДРЕСА:' ),
-       'localurle'              => array( 0, 'LOCALURLE:', 'ЛОКАЛНЕАДРЕСЕ:' ),
-       'server'                 => array( 0, 'SERVER', 'СЕРВЕР' ),
-       'servername'             => array( 0, 'SERVERNAME', 'ИМЕСЕРВЕРА' ),
-       'scriptpath'             => array( 0, 'SCRIPTPATH', 'СКРИПТА' ),
-       'grammar'                => array( 0, 'GRAMMAR:', 'ГРАМАТИКА:' ),
-       'notitleconvert'         => array( 0, '__NOTITLECONVERT__', '__NOTC__', '__БЕЗТЦ__' ),
-       'nocontentconvert'       => array( 0, '__NOCONTENTCONVERT__', '__NOCC__', '__БЕЗЦЦ__' ),
-       'currentweek'            => array( 1, 'CURRENTWEEK', 'ТРЕНУТНАНЕДЕЉА' ),
-       'currentdow'             => array( 1, 'CURRENTDOW', 'ТРЕНУТНИДОВ' ),
-       'revisionid'             => array( 1, 'REVISIONID', 'ИДРЕВИЗИЈЕ' ),
-       'plural'                 => array( 0, 'PLURAL:', 'МНОЖИНА:' ),
-       'fullurl'                => array( 0, 'FULLURL:', 'ПУНУРЛ:' ),
-       'fullurle'               => array( 0, 'FULLURLE:', 'ПУНУРЛЕ:' ),
-       'lcfirst'                => array( 0, 'LCFIRST:', 'ЛЦПРВИ:' ),
-       'ucfirst'                => array( 0, 'UCFIRST:', 'УЦПРВИ:' ),
-       'lc'                     => array( 0, 'LC:', 'ЛЦ:' ),
-       'uc'                     => array( 0, 'UC:', 'УЦ:' ),
-);
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesSr_ec.php');
-}
-
 #--------------------------------------------------------------------------
 # Internationalisation code
 #--------------------------------------------------------------------------
 
-class LanguageSr_ec extends LanguageUtf8 {
-
-       function getNamespaces() {
-               global $wgNamespaceNamesSr_ec;
-               return $wgNamespaceNamesSr_ec;
-       }
-
-       function getQuickbarSettings() {
-               global $wgQuickbarSettingsSr_ec;
-               return $wgQuickbarSettingsSr_ec;
-       }
-
-       function getSkinNames() {
-               global $wgSkinNamesSr_ec;
-               return $wgSkinNamesSr_ec;
-       }
-
-       function getDateFormats() {
-               global $wgDateFormatsSr_ec;
-               return $wgDateFormatsSr_ec;
-       }
-
-       function getMessage( $key ) {
-               global $wgAllMessagesSr_ec;
-               if(array_key_exists($key, $wgAllMessagesSr_ec))
-                       return $wgAllMessagesSr_ec[$key];
-               else
-                       return parent::getMessage($key);
-       }
-
-       /**
-       * Exports $wgMagicWordsSr_ec
-       * @return array
-       */
-       function &getMagicWords()  {
-               global $wgMagicWordsSr_ec;
-               return $wgMagicWordsSr_ec;
-       }
-
-       function separatorTransformTable() {
-               return array(',' => '.', '.' => ',' );
-       }
-
-       /**
-        * @access public
-        * @param mixed  $ts the time format which needs to be turned into a
-        *               date('YmdHis') format with wfTimestamp(TS_MW,$ts)
-        * @param bool   $adj whether to adjust the time output according to the
-        *               user configured offset ($timecorrection)
-        * @param mixed  $format what format to return, if it's false output the
-        *               default one.
-        * @param string $timecorrection the time offset as returned by
-        *               validateTimeZone() in Special:Preferences
-        * @return string
-        */
-       function date( $ts, $adj = false, $format = true, $timecorrection = false ) {
-
-               if ( $adj ) { $ts = $this->userAdjust( $ts, $timecorrection ); }
-
-               $mm = substr( $ts, 4, 2 );
-               $m = 0 + $mm;
-               $mmmm = $this->getMonthName( $mm );
-               $mmm = $this->getMonthAbbreviation( $mm );
-               $dd = substr( $ts, 6, 2 );
-               $d = 0 + $dd;
-               $yyyy =  substr( $ts, 0, 4 );
-               $yy =  substr( $ts, 2, 2 );
-
-               switch( $format ) {
-                       case '2':
-                       case '8':
-                               return "$d $mmmm $yyyy";
-                       case '3':
-                       case '9':
-                               return "$dd.$mm.$yyyy.";
-                       case '4':
-                       case '10':
-                               return "$d.$m.$yyyy.";
-                       case '5':
-                       case '11':
-                               return "$d. $mmm $yyyy.";
-                       case '6':
-                       case '12':
-                               return "$d $mmm $yyyy";
-                       default:
-                               return "$d. $mmmm $yyyy.";
-               }
-
-       }
-
-       /**
-       * @access public
-       * @param mixed  $ts the time format which needs to be turned into a
-       *               date('YmdHis') format with wfTimestamp(TS_MW,$ts)
-       * @param bool   $adj whether to adjust the time output according to the
-       *               user configured offset ($timecorrection)
-       * @param mixed  $format what format to return, if it's false output the
-       *               default one (default true)
-       * @param string $timecorrection the time offset as returned by
-       *               validateTimeZone() in Special:Preferences
-       * @return string
-       */
-       function time( $ts, $adj = false, $format = true, $timecorrection = false ) {
-
-               if ( $adj ) { $ts = $this->userAdjust( $ts, $timecorrection ); }
-               $hh = substr( $ts, 8, 2 );
-               $h = 0 + $hh;
-               $mm = substr( $ts, 10, 2 );
-               switch( $format ) {
-                       case '7':
-                       case '8':
-                       case '9':
-                       case '10':
-                       case '11':
-                       case '12':
-                               return "$h:$mm";
-                       default:
-                               return "$hh:$mm";
-               }
-       }
-
-       /**
-       * @access public
-       * @param mixed  $ts the time format which needs to be turned into a
-       *               date('YmdHis') format with wfTimestamp(TS_MW,$ts)
-       * @param bool   $adj whether to adjust the time output according to the
-       *               user configured offset ($timecorrection)
-       * @param mixed  $format what format to return, if it's false output the
-       *               default one (default true)
-       * @param string $timecorrection the time offset as returned by
-       *               validateTimeZone() in Special:Preferences
-       * @return string
-       */
-       function timeanddate( $ts, $adj = false, $format = true, $timecorrection = false) {
-               $datePreference = $this->dateFormat($format);
-               return $this->time( $ts, $adj, $datePreference, $timecorrection ) . ', ' . $this->date( $ts, $adj, $datePreference, $timecorrection );
-
-       }
-
+class LanguageSr_ec extends Language {
        function convertPlural( $count, $wordform1, $wordform2, $wordform3) {
                $count = str_replace ('.', '', $count);
                if ($count > 10 && floor(($count % 100) / 10) == 1) {
index d465eed..f39da2f 100644 (file)
@@ -5,5 +5,5 @@
 // changed on a subsequent page view.
 // see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
 
-require_once( "LanguageSr_ec.php" );
+require_once( dirname(__FILE__).'/LanguageSr_ec.php' );
 ?>
index fbf8b23..cba1b57 100644 (file)
   * @subpackage Language
   */
 
-require_once( "LanguageUtf8.php" );
-
-/* private */ $wgNamespaceNamesSr_el = array(
-       NS_MEDIA            => "Medija",
-       NS_SPECIAL          => "Posebno",
-       NS_MAIN             => "",
-       NS_TALK             => "Razgovor",
-       NS_USER             => "Korisnik",
-       NS_USER_TALK        => "Razgovor_sa_korisnikom",
-       NS_PROJECT          => $wgMetaNamespace,
-       NS_PROJECT_TALK     => ($wgMetaNamespaceTalk ? $wgMetaNamespaceTalk : "Razgovor_o_".$wgMetaNamespace ),
-       NS_IMAGE            => "Slika",
-       NS_IMAGE_TALK       => "Razgovor_o_slici",
-       NS_MEDIAWIKI        => "MedijaViki",
-       NS_MEDIAWIKI_TALK   => "Razgovor_o_MedijaVikiju",
-       NS_TEMPLATE         => 'Šablon',
-       NS_TEMPLATE_TALK    => 'Razgovor_o_šablonu',
-       NS_HELP             => 'Pomoć',
-       NS_HELP_TALK        => 'Razgovor_o_pomoći',
-       NS_CATEGORY         => 'Kategorija',
-       NS_CATEGORY_TALK    => 'Razgovor_o_kategoriji',
-) + $wgNamespaceNamesEn;
-
-/* private */ $wgQuickbarSettingsSr_el = array(
- "Nikakva", "Pričvršćena levo", "Pričvršćena desno", "Plutajuća levo"
-);
-
-/* private */ $wgSkinNamesSr_el = array(
- "Obična", "Nostalgija", "Kelnsko plavo", "Pedington", "Monparnas"
-) + $wgSkinNamesEn;
-
-/* private */ $wgUserTogglesSr_el = array(
-       'nolangconversion',
-) + $wgUserTogglesEn;
-
-/* private */ $wgDateFormatsSr_el = array(
-       'Nije bitno',
-       '06:12, 5. januar 2001.',
-       '06:12, 5 januar 2001',
-       '06:12, 05.01.2001.',
-       '06:12, 5.1.2001.',
-       '06:12, 5. jan 2001.',
-       '06:12, 5 jan 2001',
-       '6:12, 5. januar 2001.',
-       '6:12, 5 januar 2001',
-       '6:12, 05.01.2001.',
-       '6:12, 5.1.2001.',
-       '6:12, 5. jan 2001.',
-       '6:12, 5 jan 2001',
-);
-
-/* NOT USED IN STABLE VERSION */
-/* private */ $wgMagicWordsSr_el = array(
-#      ID                                CASE SYNONYMS
-       'redirect'               => array( 0, '#Preusmeri', '#redirect', '#preusmeri', '#PREUSMERI' ),
-       'notoc'                  => array( 0, '__NOTOC__', '__BEZSADRŽAJA__' ),
-       'forcetoc'               => array( 0, '__FORCETOC__', '__FORSIRANISADRŽAJ__' ),
-       'toc'                    => array( 0, '__TOC__', '__SADRŽAJ__' ),
-       'noeditsection'          => array( 0, '__NOEDITSECTION__', '__BEZ_IZMENA__', '__BEZIZMENA__' ),
-       'start'                  => array( 0, '__START__', '__POČETAK__' ),
-       'end'                    => array( 0, '__END__', '__KRAJ__' ),
-       'currentmonth'           => array( 1, 'CURRENTMONTH', 'TRENUTNIMESEC' ),
-       'currentmonthname'       => array( 1, 'CURRENTMONTHNAME', 'TRENUTNIMESECIME' ),
-       'currentmonthnamegen'    => array( 1, 'CURRENTMONTHNAMEGEN', 'TRENUTNIMESECROD' ),
-       'currentmonthabbrev'     => array( 1, 'CURRENTMONTHABBREV', 'TRENUTNIMESECSKR' ),
-       'currentday'             => array( 1, 'CURRENTDAY', 'TRENUTNIDAN' ),
-       'currentdayname'         => array( 1, 'CURRENTDAYNAME', 'TRENUTNIDANIME' ),
-       'currentyear'            => array( 1, 'CURRENTYEAR', 'TRENUTNAGODINA' ),
-       'currenttime'            => array( 1, 'CURRENTTIME', 'TRENUTNOVREME' ),
-       'numberofarticles'       => array( 1, 'NUMBEROFARTICLES', 'BROJČLANAKA' ),
-       'numberoffiles'          => array( 1, 'NUMBEROFFILES', 'BROJDATOTEKA', 'BROJFAJLOVA' ),
-       'pagename'               => array( 1, 'PAGENAME', 'STRANICA' ),
-       'pagenamee'              => array( 1, 'PAGENAMEE', 'STRANICE' ),
-       'namespace'              => array( 1, 'NAMESPACE', 'IMENSKIPROSTOR' ),
-       'namespacee'             => array( 1, 'NAMESPACEE', 'IMENSKIPROSTORI' ),
-       'fullpagename'           => array( 1, 'FULLPAGENAME', 'PUNOIMESTRANE' ),
-       'fullpagenamee'          => array( 1, 'FULLPAGENAMEE', 'PUNOIMESTRANEE' ),
-       'msg'                    => array( 0, 'MSG:', 'POR:' ),
-       'subst'                  => array( 0, 'SUBST:', 'ZAMENI:' ),
-       'msgnw'                  => array( 0, 'MSGNW:', 'NVPOR:' ),
-       'img_thumbnail'          => array( 1, 'thumbnail', 'thumb', 'mini' ),
-       'img_manualthumb'        => array( 1, 'thumbnail=$1', 'thumb=$1', 'mini=$1' ),
-       'img_right'              => array( 1, 'right', 'desno', 'd' ),
-       'img_left'               => array( 1, 'left', 'levo', 'l' ),
-       'img_none'               => array( 1, 'none', 'n', 'bez' ),
-       'img_width'              => array( 1, '$1px', '$1piskel' , '$1p' ),
-       'img_center'             => array( 1, 'center', 'centre', 'centar', 'c' ),
-       'img_framed'             => array( 1, 'framed', 'enframed', 'frame', 'okvir', 'ram' ),
-       'int'                    => array( 0, 'INT:', 'INT:' ),
-       'sitename'               => array( 1, 'SITENAME', 'IMESAJTA' ),
-       'ns'                     => array( 0, 'NS:', 'IP:' ),
-       'localurl'               => array( 0, 'LOCALURL:', 'LOKALNAADRESA:' ),
-       'localurle'              => array( 0, 'LOCALURLE:', 'LOKALNEADRESE:' ),
-       'server'                 => array( 0, 'SERVER', 'SERVER' ),
-       'servername'             => array( 0, 'SERVERNAME', 'IMESERVERA' ),
-       'scriptpath'             => array( 0, 'SCRIPTPATH', 'SKRIPTA' ),
-       'grammar'                => array( 0, 'GRAMMAR:', 'GRAMATIKA:' ),
-       'notitleconvert'         => array( 0, '__NOTITLECONVERT__', '__NOTC__', '__BEZTC__' ),
-       'nocontentconvert'       => array( 0, '__NOCONTENTCONVERT__', '__NOCC__', '__BEZCC__' ),
-       'currentweek'            => array( 1, 'CURRENTWEEK', 'TRENUTNANEDELjA' ),
-       'currentdow'             => array( 1, 'CURRENTDOW', 'TRENUTNIDOV' ),
-       'revisionid'             => array( 1, 'REVISIONID', 'IDREVIZIJE' ),
-       'plural'                 => array( 0, 'PLURAL:', 'MNOŽINA:' ),
-       'fullurl'                => array( 0, 'FULLURL:', 'PUNURL:' ),
-       'fullurle'               => array( 0, 'FULLURLE:', 'PUNURLE:' ),
-       'lcfirst'                => array( 0, 'LCFIRST:', 'LCPRVI:' ),
-       'ucfirst'                => array( 0, 'UCFIRST:', 'UCPRVI:' ),
-       'lc'                     => array( 0, 'LC:', 'LC:' ),
-       'uc'                     => array( 0, 'UC:', 'UC:' ),
-);
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesSr_el.php');
-}
-
 #--------------------------------------------------------------------------
 # Internationalisation code
 #--------------------------------------------------------------------------
 
-class LanguageSr_el extends LanguageUtf8 {
-
-       function getNamespaces() {
-               global $wgNamespaceNamesSr_el;
-               return $wgNamespaceNamesSr_el;
-       }
-
-       function getQuickbarSettings() {
-               global $wgQuickbarSettingsSr_el;
-               return $wgQuickbarSettingsSr_el;
-       }
-
-       function getSkinNames() {
-               global $wgSkinNamesSr_el;
-               return $wgSkinNamesSr_el;
-       }
-
-       function getDateFormats() {
-               global $wgDateFormatsSr_el;
-               return $wgDateFormatsSr_el;
-       }
-
-       function getMessage( $key ) {
-               global $wgAllMessagesSr_el;
-               if(array_key_exists($key, $wgAllMessagesSr_el))
-                       return $wgAllMessagesSr_el[$key];
-               else
-                       return parent::getMessage($key);
-       }
-
-       /**
-       * Exports $wgMagicWordsSr_el
-       * @return array
-       */
-       function &getMagicWords()  {
-               global $wgMagicWordsSr_el;
-               return $wgMagicWordsSr_el;
-       }
-
-       function separatorTransformTable() {
-               return array(',' => '.', '.' => ',' );
-       }
-
-       /**
-        * @access public
-        * @param mixed  $ts the time format which needs to be turned into a
-        *               date('YmdHis') format with wfTimestamp(TS_MW,$ts)
-        * @param bool   $adj whether to adjust the time output according to the
-        *               user configured offset ($timecorrection)
-        * @param mixed  $format what format to return, if it's false output the
-        *               default one.
-        * @param string $timecorrection the time offset as returned by
-        *               validateTimeZone() in Special:Preferences
-        * @return string
-        */
-       function date( $ts, $adj = false, $format = true, $timecorrection = false ) {
-
-               if ( $adj ) { $ts = $this->userAdjust( $ts, $timecorrection ); }
-
-               $mm = substr( $ts, 4, 2 );
-               $m = 0 + $mm;
-               $mmmm = $this->getMonthName( $mm );
-               $mmm = $this->getMonthAbbreviation( $mm );
-               $dd = substr( $ts, 6, 2 );
-               $d = 0 + $dd;
-               $yyyy =  substr( $ts, 0, 4 );
-               $yy =  substr( $ts, 2, 2 );
-
-               switch( $format ) {
-                       case '2':
-                       case '8':
-                               return "$d $mmmm $yyyy";
-                       case '3':
-                       case '9':
-                               return "$dd.$mm.$yyyy.";
-                       case '4':
-                       case '10':
-                               return "$d.$m.$yyyy.";
-                       case '5':
-                       case '11':
-                               return "$d. $mmm $yyyy.";
-                       case '6':
-                       case '12':
-                               return "$d $mmm $yyyy";
-                       default:
-                               return "$d. $mmmm $yyyy.";
-               }
-
-       }
-
-       /**
-       * @access public
-       * @param mixed  $ts the time format which needs to be turned into a
-       *               date('YmdHis') format with wfTimestamp(TS_MW,$ts)
-       * @param bool   $adj whether to adjust the time output according to the
-       *               user configured offset ($timecorrection)
-       * @param mixed  $format what format to return, if it's false output the
-       *               default one (default true)
-       * @param string $timecorrection the time offset as returned by
-       *               validateTimeZone() in Special:Preferences
-       * @return string
-       */
-       function time( $ts, $adj = false, $format = true, $timecorrection = false ) {
-
-               if ( $adj ) { $ts = $this->userAdjust( $ts, $timecorrection ); }
-               $hh = substr( $ts, 8, 2 );
-               $h = 0 + $hh;
-               $mm = substr( $ts, 10, 2 );
-               switch( $format ) {
-                       case '7':
-                       case '8':
-                       case '9':
-                       case '10':
-                       case '11':
-                       case '12':
-                               return "$h:$mm";
-                       default:
-                               return "$hh:$mm";
-               }
-       }
-
-       /**
-       * @access public
-       * @param mixed  $ts the time format which needs to be turned into a
-       *               date('YmdHis') format with wfTimestamp(TS_MW,$ts)
-       * @param bool   $adj whether to adjust the time output according to the
-       *               user configured offset ($timecorrection)
-       * @param mixed  $format what format to return, if it's false output the
-       *               default one (default true)
-       * @param string $timecorrection the time offset as returned by
-       *               validateTimeZone() in Special:Preferences
-       * @return string
-       */
-       function timeanddate( $ts, $adj = false, $format = true, $timecorrection = false) {
-               $datePreference = $this->dateFormat($format);
-               return $this->time( $ts, $adj, $datePreference, $timecorrection ) . ', ' . $this->date( $ts, $adj, $datePreference, $timecorrection );
-
-       }
-
+class LanguageSr_el extends Language {
        function convertPlural( $count, $wordform1, $wordform2, $wordform3) {
                $count = str_replace ('.', '', $count);
                if ($count > 10 && floor(($count % 100) / 10) == 1) {
diff --git a/languages/LanguageSr_jc.deps.php b/languages/LanguageSr_jc.deps.php
deleted file mode 100644 (file)
index b1eff26..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageSr_jc.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
-
-require_once( "LanguageSr_ec.php" );
-?>
diff --git a/languages/LanguageSr_jc.php b/languages/LanguageSr_jc.php
deleted file mode 100644 (file)
index 1ec4167..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-/**
-  * @package MediaWiki
-  * @subpackage Language
-  */
-require_once( "LanguageSr_ec.php");
-
-class LanguageSr_jc extends LanguageSr_ec { 
-# Inherit everything for now
-}
-?>
\ No newline at end of file
diff --git a/languages/LanguageSr_jl.deps.php b/languages/LanguageSr_jl.deps.php
deleted file mode 100644 (file)
index 5c47e5f..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageSr_jl.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
-
-require_once( "LanguageSr_jc.php" );
-?>
diff --git a/languages/LanguageSr_jl.php b/languages/LanguageSr_jl.php
deleted file mode 100644 (file)
index 5028c89..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-/**
-  * @package MediaWiki
-  * @subpackage Language
-  */
-require_once( "LanguageSr_ec.php");
-
-class LanguageSr_jl extends LanguageSr_ec { 
-# Inherit everything for now
-}
-?>
\ No newline at end of file
diff --git a/languages/LanguageSu.php b/languages/LanguageSu.php
deleted file mode 100644 (file)
index 515863d..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
-/** Sundanese language file (Basa Sunda)
-  *
-  * Source: http://su.wikipedia.org/
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-require_once( 'LanguageUtf8.php' );
-
-/* private */ $wgNamespaceNamesSu = array(
-       NS_MEDIA                        => 'Média',
-       NS_SPECIAL                      => 'Husus',
-       NS_MAIN                         => '',
-       NS_TALK                         => 'Obrolan',
-       NS_USER                         => 'Pamaké',
-       NS_USER_TALK            => 'Obrolan_pamaké',
-       NS_PROJECT                      => $wgMetaNamespace,
-       NS_PROJECT_TALK         => 'Obrolan_' . $wgMetaNamespace,
-       NS_IMAGE                        => 'Gambar',
-       NS_IMAGE_TALK           => 'Obrolan_gambar',
-       NS_MEDIAWIKI            => 'MediaWiki',
-       NS_MEDIAWIKI_TALK       => 'Obrolan_MediaWiki',
-       NS_TEMPLATE                     => 'Citakan',
-       NS_TEMPLATE_TALK        => 'Obrolan_citakan',
-       NS_HELP                         => 'Pitulung',
-       NS_HELP_TALK            => 'Obrolan_pitulung',
-       NS_CATEGORY                     => 'Kategori',
-       NS_CATEGORY_TALK        => 'Obrolan_kategori',
-);
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesSu.php');
-}
-
-class LanguageSu extends LanguageUtf8 {
-
-       function getNamespaces() {
-               global $wgNamespaceNamesSu;
-               return $wgNamespaceNamesSu;
-       }
-
-       function getMessage( $key ) {
-               global $wgAllMessagesSu;
-               if( isset( $wgAllMessagesSu[$key] ) ) {
-                       return $wgAllMessagesSu[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-}
-?>
diff --git a/languages/LanguageSv.php b/languages/LanguageSv.php
deleted file mode 100644 (file)
index 4abb1e0..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-<?php
-/**
- * Swedish (Svenska)
- *
- * @package MediaWiki
- * @subpackage Language
- */
-
-require_once( "LanguageUtf8.php" );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesSv.php');
-}
-
-class LanguageSv extends LanguageUtf8 {
-       private $mMessagesSv, $mNamespaceNamesSv;
-       
-       private $mQuickbarSettingsSv = array(
-               "Ingen",
-               "Fast vänster",
-               "Fast höger",
-               "Flytande vänster"
-       );
-       
-       private $mSkinNamesSv = array(
-               'standard' => "Standard",
-               'nostalgia' => "Nostalgi",
-               'cologneblue' => "Cologne Blå",
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesSv;
-               $this->mMessagesSv =& $wgAllMessagesSv;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesSv = array(
-                       NS_MEDIA            => "Media",
-                       NS_SPECIAL          => "Special",
-                       NS_MAIN             => "",
-                       NS_TALK             => "Diskussion",
-                       NS_USER             => "Användare",
-                       NS_USER_TALK        => "Användardiskussion",
-                       NS_PROJECT              => $wgMetaNamespace,
-                       NS_PROJECT_TALK     => $wgMetaNamespace . "diskussion",
-                       NS_IMAGE            => "Bild",
-                       NS_IMAGE_TALK       => "Bilddiskussion",
-                       NS_MEDIAWIKI        => "MediaWiki",
-                       NS_MEDIAWIKI_TALK   => "MediaWiki_diskussion",
-                       NS_TEMPLATE         => "Mall",
-                       NS_TEMPLATE_TALK    => "Malldiskussion",
-                       NS_HELP             => "Hjälp",
-                       NS_HELP_TALK        => "Hjälp_diskussion",
-                       NS_CATEGORY         => "Kategori",
-                       NS_CATEGORY_TALK    => "Kategoridiskussion"
-               );
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesSv + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsSv;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesSv + parent::getSkinNames();
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesSv[$key] ) ) {
-                       return $this->mMessagesSv[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesSv;
-       }
-
-       function linkTrail() {
-               return '/^([a-zåäöéÅÄÖÉ]+)(.*)$/sDu';
-       }
-
-
-       function separatorTransformTable() {
-               return array(
-                       ',' => "\xc2\xa0", // @bug 2749
-                       '.' => ','
-               );
-       }
-
-       // "." is used as the character to separate the
-       // hours from the minutes in the date output
-       function timeSeparator( $format ) {
-               return '.';
-       }
-
-       function timeanddate( $ts, $adj = false, $format = false, $timecorrection = false ) {
-               $format = $this->dateFormat( $format );
-               if( $format == MW_DATE_ISO ) {
-                       return parent::timeanddate( $ts, $adj, $format, $timecorrection );
-               } else {
-                       return $this->date( $ts, $adj, $format, $timecorrection ) .
-                               " kl." .
-                               $this->time( $ts, $adj, $format, $timecorrection );
-               }
-       }
-
-}
-?>
diff --git a/languages/LanguageTa.php b/languages/LanguageTa.php
deleted file mode 100644 (file)
index 778c16d..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-<?php
-/**
- * Tamil (தமிழ்)
- *
- * @package MediaWiki
- * @subpackage Language
- */
-
-require_once( "LanguageUtf8.php" );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesTa.php');
-}
-
-class LanguageTa extends LanguageUtf8 {
-       private $mMessagesTa, $mNamespaceNamesTa = null;
-
-       private $mQuickbarSettingsTa = array(
-               "எதுவுமில்லை", "இடம் நிலைத்த", "வலம் நிலைத்த", "இடம் மிதப்பு"
-       );
-       
-       private $mSkinNamesTa = array(
-               'standard' => "இயல்பான",
-               'nostalgia' => "பசுமை நினைவு (Nostalgia)",
-               'cologneblue' => "கொலோன் (Cologne) நீலம் Blue",
-               'smarty' => "பாடிங்டன் (Paddington)",
-               'montparnasse' => "மொண்ட்பார்னாசே (Montparnasse)",
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesTa;
-               $this->mMessagesTa =& $wgAllMessagesTa;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesTa = array(
-                       NS_MEDIA          => 'ஊடகம்',
-                       NS_SPECIAL        => 'சிறப்பு',
-                       NS_MAIN           => '',
-                       NS_TALK           => 'பேச்சு',
-                       NS_USER           => 'பயனர்',
-                       NS_USER_TALK      => 'பயனர்_பேச்சு',
-                       NS_PROJECT        => $wgMetaNamespace,
-                       NS_PROJECT_TALK   => $wgMetaNamespace . '_பேச்சு',
-                       NS_IMAGE          => 'படிமம்',
-                       NS_IMAGE_TALK     => 'படிமப்_பேச்சு',
-                       NS_MEDIAWIKI      => 'மீடியாவிக்கி',
-                       NS_MEDIAWIKI_TALK => 'மீடியாவிக்கி_பேச்சு',
-                       NS_TEMPLATE       => 'வார்ப்புரு',
-                       NS_TEMPLATE_TALK  => 'வார்ப்புரு_பேச்சு',
-                       NS_HELP           => 'உதவி',
-                       NS_HELP_TALK      => 'உதவி_பேச்சு',
-                       NS_CATEGORY       => 'பகுப்பு',
-                       NS_CATEGORY_TALK  => 'பகுப்பு_பேச்சு',
-               );
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesTa + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsTa;
-       }
-
-       function getSkinNames() {
-               return $this->mSkinNamesTa + parent::getSkinNames();
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesTa[$key] ) ) {
-                       return $this->mMessagesTa[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesTa;
-       }
-
-       function getNsIndex( $text ) {
-               $ns = $this->getNamespaces();
-
-               foreach ( $ns as $i => $n ) {
-                       if ( strcasecmp( $n, $text ) == 0)
-                               return $i;
-               }
-
-               if ( strcasecmp( 'விக்கிபீடியா', $text) == 0) return NS_PROJECT;
-               if ( strcasecmp( 'விக்கிபீடியா_பேச்சு', $text) == 0) return NS_PROJECT_TALK;
-               if ( strcasecmp( 'உருவப்_பேச்சு', $text) == 0) return NS_IMAGE_TALK;
-
-               return false;
-       }
-
-       function linkTrail() {
-               /* Range from U+0B80 to U+0BFF */
-               return "/^([\xE0\xAE\x80-\xE0\xAF\xBF]+)(.*)$/sDu";
-       }
-
-}
-
-?>
diff --git a/languages/LanguageTe.php b/languages/LanguageTe.php
deleted file mode 100644 (file)
index 805983b..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-/** Telugu (Telugu)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  *
-  * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
-  */
-
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesTe.php');
-}
-
-class LanguageTe extends LanguageUtf8 {
-       private $mMessagesTe, $mNamespaceNamesTe = null;
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesTe;
-               $this->mMessagesTe =& $wgAllMessagesTe;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesTe = array(
-                       NS_MEDIA            => 'మీడియా',
-                       NS_SPECIAL          => 'ప్రత్యేక',
-                       NS_MAIN             => '',
-                       NS_TALK             => 'చర్చ',
-                       NS_USER             => 'సభ్యుడు',
-                       NS_USER_TALK        => 'సభ్యునిపై_చర్చ',
-                       NS_PROJECT          => $wgMetaNamespace,
-                       NS_PROJECT_TALK     => $wgMetaNamespace . '_చర్చ',
-                       NS_IMAGE            => 'బొమ్మ',
-                       NS_IMAGE_TALK       => 'బొమ్మపై_చర్చ',
-                       NS_MEDIAWIKI        => 'మీడియావికీ',
-                       NS_MEDIAWIKI_TALK   => 'మీడియావికీ_చర్చ',
-                       NS_TEMPLATE         => 'మూస',
-                       NS_TEMPLATE_TALK    => 'మూస_చర్చ',
-                       NS_HELP             => 'సహాయము',
-                       NS_HELP_TALK        => 'సహాయము_చర్చ',
-                       NS_CATEGORY         => 'వర్గం',
-                       NS_CATEGORY_TALK    => 'వర్గం_చర్చ'
-               );
-
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesTe + parent::getNamespaces();
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesTe[$key] ) ) {
-                       return $this->mMessagesTe[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesTe;
-       }
-
-       function linkTrail() {
-               /* Range from U+0C01 to U+0C6F */
-               return "/^([\xE0\xB0\x81-\xE0\xB1\xAF]+)(.*)$/sDu";
-       }
-
-       // nobody seems to use these anymore
-       /*function digitTransformTable() {
-                
-               return array(
-                       '0' => '౦',
-                       '1' => '౧',
-                       '2' => '౨',
-                       '3' => '౩',
-                       '4' => '౪',
-                       '5' => '౫',
-                       '6' => '౬',
-                       '7' => '౭',
-                       '8' => '౮',
-                       '9' => '౯'
-               );
-       }*/
-
-}
-?>
diff --git a/languages/LanguageTh.php b/languages/LanguageTh.php
deleted file mode 100644 (file)
index 193a353..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
-/**
-  * @package MediaWiki
-  * @subpackage Language
-  */
-#--------------------------------------------------------------------------
-# ผู้แปล (Translators)
-# - วรากร อึ้งวิเชียร (Varakorn Ungvichian)
-# - จักรกฤช วงศ์สระหลวง (Jakkrit Vongsraluang) / PaePae
-#--------------------------------------------------------------------------
-
-/* private */ $wgNamespaceNamesTh = array(
-       NS_MEDIA            => 'สื่อ',
-       NS_SPECIAL          => 'พิเศษ',
-       NS_MAIN             => '',
-       NS_TALK             => 'พูดคุย',
-       NS_USER             => 'ผู้ใช้',
-       NS_USER_TALK        => 'คุยกับผู้ใช้',
-       NS_PROJECT          => $wgMetaNamespace,
-       NS_PROJECT_TALK     => 'คุยเรื่อง' . $wgMetaNamespace,
-       NS_IMAGE            => 'ภาพ',
-       NS_IMAGE_TALK       => 'คุยเรื่องภาพ',
-       NS_MEDIAWIKI        => 'มีเดียวิกิ',
-       NS_MEDIAWIKI_TALK   => 'คุยเรื่องมีเดียวิกิ',
-       NS_TEMPLATE         => 'แม่แบบ',
-       NS_TEMPLATE_TALK    => 'คุยเรื่องแม่แบบ',
-       NS_HELP             => 'วิธีใช้',
-       NS_HELP_TALK        => 'คุยเรื่องวิธีใช้',
-       NS_CATEGORY         => 'หมวดหมู่',
-       NS_CATEGORY_TALK    => 'คุยเรื่องหมวดหมู่',
-) + $wgNamespaceNamesEn;
-
-/* private */ $wgQuickbarSettingsTh = array(
-       "ไม่มี", "อยู่ทางซ้าย", "อยู่ทางขวา", "ลอยทางซ้าย"
-);
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesTh.php');
-}
-
-#--------------------------------------------------------------------------
-# Internationalisation code
-#--------------------------------------------------------------------------
-
-require_once( "LanguageUtf8.php" );
-
-class LanguageTh extends LanguageUtf8 {
-
-       function getNamespaces() {
-               global $wgNamespaceNamesTh;
-               return $wgNamespaceNamesTh;
-       }
-
-       function getQuickbarSettings() {
-               global $wgQuickbarSettingsTh;
-               return $wgQuickbarSettingsTh;
-       }
-
-       function getMessage( $key ) {
-               global $wgAllMessagesTh;
-               if( isset( $wgAllMessagesTh[$key] ) ) {
-                       return $wgAllMessagesTh[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               global $wgAllMessagesTh;
-               return $wgAllMessagesTh;
-       }
-
-}
-
-?>
diff --git a/languages/LanguageTlh.php b/languages/LanguageTlh.php
deleted file mode 100644 (file)
index 1f4e1f6..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-/** Klingon (tlhIngan-Hol)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-require_once( "LanguageUtf8.php" );
-
-/* private */ $wgNamespaceNamesTlh = array(
-       NS_MEDIA            => "Doch",
-       NS_SPECIAL          => "le'",
-       NS_MAIN             => "",
-       NS_TALK             => "ja'chuq",
-       NS_USER             => "lo'wI'",
-       NS_USER_TALK        => "lo'wI'_ja'chuq",
-       NS_PROJECT          => $wgMetaNamespace,
-       NS_PROJECT_TALK     => $wgMetaNamespace . "_ja'chuq",
-       NS_IMAGE            => "nagh_beQ",
-       NS_IMAGE_TALK       => "nagh_beQ_ja'chuq",
-       NS_MEDIAWIKI        => "MediaWiki",
-       NS_MEDIAWIKI_TALK   => "MediaWiki_ja'chuq",
-       NS_TEMPLATE         => "chen'ay'",
-       NS_TEMPLATE_TALK    => "chen'ay'_ja'chuq",
-       NS_HELP             => "QaH",
-       NS_HELP_TALK        => "QaH_ja'chuq",
-       NS_CATEGORY         => "Segh",
-       NS_CATEGORY_TALK    => "Segh_ja'chuq"
-) + $wgNamespaceNamesEn;
-
-class LanguageTlh extends LanguageUtf8 {
-       function getNamespaces() {
-               global $wgNamespaceNamesTlh;
-               return $wgNamespaceNamesTlh;
-       }
-}
-
-?>
index 82fa096..67d68f6 100644 (file)
@@ -5,76 +5,7 @@
  * @package MediaWiki
  * @subpackage Language
  */
-
-require_once( 'LanguageUtf8.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesTr.php');
-}
-
-class LanguageTr extends LanguageUtf8 {
-
-       private $mDateFormatsTr = array(
-               MW_DATE_DEFAULT => 'Tercih yok',
-               MW_DATE_MDY => '16:12, Ocak 15, 2001',
-               MW_DATE_DMY => '16:12, 15 Ocak 2001',
-               MW_DATE_YMD => '16:12, 2001 Ocak 15',
-               MW_DATE_ISO => '2001-01-15 16:12:34'
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesTr;
-               $this->mMessagesTr =& $wgAllMessagesTr;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesTr = array(
-                       NS_MEDIA            => 'Media',
-                       NS_SPECIAL          => 'Özel',
-                       NS_MAIN             => '',
-                       NS_TALK             => 'Tartışma',
-                       NS_USER             => 'Kullanıcı',
-                       NS_USER_TALK        => 'Kullanıcı_mesaj',
-                       NS_PROJECT          => $wgMetaNamespace,
-                       NS_PROJECT_TALK     => $wgMetaNamespace . '_tartışma',
-                       NS_IMAGE            => 'Resim',
-                       NS_IMAGE_TALK       => 'Resim_tartışma',
-                       NS_MEDIAWIKI        => 'MedyaViki',
-                       NS_MEDIAWIKI_TALK   => 'MedyaViki_tartışma',
-                       NS_TEMPLATE         => 'Şablon',
-                       NS_TEMPLATE_TALK    => 'Şablon_tartışma',
-                       NS_HELP             => 'Yardım',
-                       NS_HELP_TALK        => 'Yardım_tartışma',
-                       NS_CATEGORY         => 'Kategori',
-                       NS_CATEGORY_TALK    => 'Kategori_tartışma',
-               );
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesTr + parent::getNamespaces();
-       }
-
-       function getDateFormats() {
-               return $this->mDateFormatsTr;
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesTr[$key] ) ) {
-                       return $this->mMessagesTr[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesTr;
-       }
-
-       function separatorTransformTable() {
-               return array(',' => '.', '.' => ',' );
-       }
-
+class LanguageTr extends Language {
        function ucfirst ( $string ) {
                if ( $string[0] == 'i' ) {
                        return 'İ' . substr( $string, 1 );
diff --git a/languages/LanguageTt.php b/languages/LanguageTt.php
deleted file mode 100644 (file)
index 163ec81..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-<?php
-/**
-  * @package MediaWiki
-  * @subpackage Language
-  */
-#
-# Tatarish localisation for MediaWiki
-#
-
-require_once( "LanguageUtf8.php" );
-
-/* private */ $wgNamespaceNamesTt = array(
-       NS_MEDIA            => 'Media',
-       NS_SPECIAL          => 'Maxsus',
-       NS_MAIN             => '',
-       NS_TALK             => 'Bäxäs',
-       NS_USER             => 'Äğzä',
-       NS_USER_TALK        => "Äğzä_bäxäse",
-       NS_PROJECT          => $wgMetaNamespace,
-       NS_PROJECT_TALK     => $wgMetaNamespace . '_bäxäse',
-       NS_IMAGE            => "Räsem",
-       NS_IMAGE_TALK       => "Räsem_bäxäse",
-       NS_MEDIAWIKI        => "MediaWiki",
-       NS_MEDIAWIKI_TALK   => "MediaWiki_bäxäse",
-       NS_TEMPLATE         => "Ürnäk",
-       NS_TEMPLATE_TALK    => "Ürnäk_bäxäse",
-       NS_HELP             => "Yärdäm",
-       NS_HELP_TALK        => "Yärdäm_bäxäse",
-       NS_CATEGORY         => "Törkem",
-       NS_CATEGORY_TALK    => "Törkem_bäxäse"
-) + $wgNamespaceNamesEn;
-
-/* private */ $wgDateFormatsTt = array(
-#        "köyläwsez",
-);
-
-# Note to translators:
-#   Please include the English words as synonyms.  This allows people
-#   from other wikis to contribute more easily.
-#
-/* private */ $wgMagicWordsTt = array(
-#       ID                                 CASE  SYNONYMS
-       'redirect'               => array( 0,    '#yünältü'               ),
-       'notoc'                  => array( 0,    '__ETYUQ__'              ),
-       'forcetoc'               => array( 0,    '__ETTIQ__'              ),
-       'toc'                    => array( 0,    '__ET__'                 ),
-       'noeditsection'          => array( 0,    '__BÜLEMTÖZÄTÜYUQ__'     ),
-       'start'                  => array( 0,    '__BAŞLAW__'             ),
-       'currentmonth'           => array( 1,    'AĞIMDAĞI_AY'            ),
-       'currentmonthname'       => array( 1,    'AĞIMDAĞI_AY_İSEME'      ),
-       'currentday'             => array( 1,    'AĞIMDAĞI_KÖN'           ),
-       'currentdayname'         => array( 1,    'AĞIMDAĞI_KÖN_İSEME'     ),
-       'currentyear'            => array( 1,    'AĞIMDAĞI_YIL'           ),
-       'currenttime'            => array( 1,    'AĞIMDAĞI_WAQIT'         ),
-       'numberofarticles'       => array( 1,    'MÄQÄLÄ_SANI'            ),
-       'currentmonthnamegen'    => array( 1,    'AĞIMDAĞI_AY_İSEME_GEN'  ),
-       'pagename'               => array( 1,    'BİTİSEME'               ),
-       'namespace'              => array( 1,    'İSEMARA'                ),
-       'subst'                  => array( 0,    'TÖPÇEK:'                ),
-       'msgnw'                  => array( 0,    'MSGNW:'                 ),
-       'end'                    => array( 0,    '__AZAQ__'               ),
-       'img_thumbnail'          => array( 1,    'thumbnail', 'thumb'     ),
-       'img_right'              => array( 1,    'uñda'                   ),
-       'img_left'               => array( 1,    'sulda'                  ),
-       'img_none'               => array( 1,    'yuq'                    ),
-       'img_width'              => array( 1,    '$1px'                   ),
-       'img_center'             => array( 1,    'center', 'centre'       ),
-       'img_framed'             => array( 1,    'framed', 'enframed', 'frame' ),
-       'int'                    => array( 0,    'EÇKE:'                   ),
-       'sitename'               => array( 1,    'SÄXİFÄİSEME'            ),
-       'ns'                     => array( 0,    'İA:'                    ),
-       'localurl'               => array( 0,    'URINLIURL:'              ),
-       'localurle'              => array( 0,    'URINLIURLE:'             ),
-       'server'                 => array( 0,    'SERVER'                 )
-) + $wgMagicWordsEn;
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesTt.php');
-}
-
-class LanguageTt extends LanguageUtf8 {
-
-       function getNamespaces() {
-               global $wgNamespaceNamesTt;
-               return $wgNamespaceNamesTt;
-       }
-
-       function getDateFormats() {
-               global $wgDateFormatsTt;
-               return $wgDateFormatsTt;
-       }
-
-       /**
-        * $format and $timecorrection are for compatibility with Language::date
-        */
-       function date( $ts, $adj = false, $format = true, $timecorrection = false ) {
-               if ( $adj ) { $ts = $this->userAdjust( $ts ); }
-
-               $d = (0 + substr( $ts, 6, 2 )) . ". " .
-                 $this->getMonthAbbreviation( substr( $ts, 4, 2 ) ) . " " .
-                 substr( $ts, 0, 4 );
-               return $d;
-       }
-
-       /**
-        * $format and $timecorrection are for compatibility with language::time
-        */
-       function time($ts, $adj = false, $format = true, $timecorrection = false) {
-               if ( $adj ) { $ts = $this->userAdjust( $ts ); }
-
-               $t = substr( $ts, 8, 2 ) . ":" . substr( $ts, 10, 2 );
-               return $t;
-       }
-
-       /**
-        * $format and $timecorrection are for compatibility with Language::date
-        */
-       function timeanddate( $ts, $adj = false, $format = true, $timecorrection = false ) {
-               return $this->date( $ts, $adj ) . ", " . $this->time( $ts, $adj );
-       }
-
-       function getMessage( $key ) {
-               global $wgAllMessagesTt;
-               if( isset( $wgAllMessagesTt[$key] ) ) {
-                       return $wgAllMessagesTt[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function fallback8bitEncoding() {
-               # Windows codepage 1252 is a superset of iso 8859-1
-               # override this to use difference source encoding to
-               # translate incoming 8-bit URLs.
-               return "windows-1254";
-       }
-}
-
-?>
diff --git a/languages/LanguageTy.deps.php b/languages/LanguageTy.deps.php
deleted file mode 100644 (file)
index 50e66fc..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageTy.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
-
-require_once( "LanguageFr.php" );
-?>
\ No newline at end of file
diff --git a/languages/LanguageTy.php b/languages/LanguageTy.php
deleted file mode 100644 (file)
index 37846e3..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-/** Tahitian (Reo Mā`ohi)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  *
-  * @bug 3844
-  *
-  * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
-  * @copyright Copyright © 2005, Ævar Arnfjörð Bjarmason
-  * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
-  */
-
-require_once 'LanguageFr.php';
-
-class LanguageTy extends LanguageFr {
-
-       function getFallbackLanguage() {
-               return 'fr';
-       }
-
-       function getAllMessages() {
-               return null;
-       }
-
-}
-
-?>
index 1c7abe0..aacfaff 100644 (file)
@@ -5,91 +5,12 @@
  */
 
 # From friends at tyvawiki.org
-# Originally based upon LanguageRu.php
-
-require_once( 'LanguageUtf8.php' );
-
-#--------------------------------------------------------------------------
-# Language-specific text
-#--------------------------------------------------------------------------
-
-/* private */ $wgNamespaceNamesTyv = array(
-       NS_MEDIA            => 'Медиа', //Media
-       NS_SPECIAL          => 'Тускай', //Special
-       NS_MAIN             => '',
-       NS_TALK             => 'Чугаа', //Talk
-       NS_USER             => 'Aжыглакчы', //User
-       NS_USER_TALK        => 'Aжыглакчы_чугаа', //User_talk
-       NS_PROJECT          => $wgMetaNamespace,
-       NS_PROJECT_TALK     => $wgMetaNamespace . '_чугаа', //_talk
-       NS_IMAGE            => 'Чурук', //Image
-       NS_IMAGE_TALK       => 'Чурук_чугаа', //Image_talk
-       NS_MEDIAWIKI        => 'МедиаВики', //MediaWiki
-       NS_MEDIAWIKI_TALK   => 'МедиаВики_чугаа', //MediaWiki_talk
-       NS_TEMPLATE         => 'Хээ', //Template
-       NS_TEMPLATE_TALK    => 'Хээ_чугаа', //Template_talk
-       NS_HELP             => 'Дуза', //Help
-       NS_HELP_TALK        => 'Дуза_чугаа', //Help_talk
-       NS_CATEGORY         => 'Бөлүк', //Category
-       NS_CATEGORY_TALK    => 'Бөлүк_чугаа', //Category_talk
-) + $wgNamespaceNamesEn;
-
-/* private */ $wgSkinNamesTyv = array(
-       'standard' => 'Classic', //Classic
-       'nostalgia' => 'Nostalgia', //Nostalgia
-       'cologneblue' => 'Cologne Blue', //Cologne Blue
-       'davinci' => 'ДаВинчи', //DaVinci
-       'mono' => 'Моно', //Mono
-       'monobook' => 'Моно-Ном', //MonoBook
-       'myskin' => 'MySkin', //MySkin
-       'chick' => 'Chick' //Chick
-) + $wgSkinNamesEn;
-
-/* private */ $wgBookstoreListTyv = array(
-       'ОЗОН' => 'http://www.ozon.ru/?context=advsearch_book&isbn=$1',
-       'Books.Ru' => 'http://www.books.ru/shop/search/advanced?as%5Btype%5D=books&as%5Bname%5D=&as%5Bisbn%5D=$1&as%5Bauthor%5D=&as%5Bmaker%5D=&as%5Bcontents%5D=&as%5Binfo%5D=&as%5Bdate_after%5D=&as%5Bdate_before%5D=&as%5Bprice_less%5D=&as%5Bprice_more%5D=&as%5Bstrict%5D=%E4%E0&as%5Bsub%5D=%E8%F1%EA%E0%F2%FC&x=22&y=8',
-       'Яндекс.Маркет' => 'http://market.yandex.ru/search.xml?text=$1',
-       'Amazon.com' => 'http://www.amazon.com/exec/obidos/ISBN=$1',
-       'AddALL' => 'http://www.addall.com/New/Partner.cgi?query=$1&type=ISBN',
-       'PriceSCAN' => 'http://www.pricescan.com/books/bookDetail.asp?isbn=$1',
-       'Barnes & Noble' => 'http://shop.barnesandnoble.com/bookSearch/isbnInquiry.asp?isbn=$1'
-);
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesTyv.php');
-}
-
 
 #--------------------------------------------------------------------------
 # Internationalisation code
 #--------------------------------------------------------------------------
 
-class LanguageTyv extends LanguageUtf8 {
-       function __construct() {
-               global $wgNamespaceNamesTyv, $wgMetaNamespace;
-               parent::__construct();
-               $wgNamespaceNamesTyv[NS_PROJECT_TALK] = $wgMetaNamespace . '_чугаа';
-       }
-
-       function getNamespaces() {
-               global $wgNamespaceNamesTyv;
-               return $wgNamespaceNamesTyv;
-       }
-
-       function getSkinNames() {
-               global $wgSkinNamesTyv;
-               return $wgSkinNamesTyv;
-       }
-
-       function getMessage( $key ) {
-               global $wgAllMessagesTyv;
-               return isset($wgAllMessagesTyv[$key]) ? $wgAllMessagesTyv[$key] : parent::getMessage($key);
-       }
-
-       function fallback8bitEncoding() {
-               return "windows-1251";
-       }
-       
+class LanguageTyv extends Language {
        /**
         * Grammatical transformations, needed for inflected languages
         * Invoked by putting {{grammar:case|word}} in a message
@@ -309,4 +230,4 @@ class LanguageTyv extends LanguageUtf8 {
                return $word;
        }
 }
-?>
\ No newline at end of file
+?>
diff --git a/languages/LanguageUdm.deps.php b/languages/LanguageUdm.deps.php
deleted file mode 100644 (file)
index 6586109..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageUdm.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
-
-require_once( "LanguageRu.php" );
-?>
\ No newline at end of file
diff --git a/languages/LanguageUdm.php b/languages/LanguageUdm.php
deleted file mode 100644 (file)
index d4d8a55..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-<?php
-/** Udmurt (Удмурт)
- *
- * @package MediaWiki
- * @subpackage Language
- *
- */
-
-require_once( 'LanguageRu.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesUdm.php');
-}
-
-class LanguageUdm extends LanguageUtf8 {
-       private $mMessagesUdm, $mNamespaceNamesUdm = null;
-       
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesUdm;
-               $this->mMessagesUdm =& $wgAllMessagesUdm;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesUdm = array(
-                       NS_MEDIA            => 'Медиа',
-                       NS_SPECIAL          => 'Панель',
-                       NS_MAIN             => '',
-                       NS_TALK             => 'Вераськон',
-                       NS_USER             => 'Викиавтор',
-                       NS_USER_TALK        => 'Викиавтор_сярысь_вераськон',
-                       NS_PROJECT          => $wgMetaNamespace,
-                       NS_PROJECT_TALK     => $wgMetaNamespace . '_сярысь_вераськон',
-                       NS_IMAGE            => 'Суред',
-                       NS_IMAGE_TALK       => 'Суред_сярысь_вераськон',
-                       NS_MEDIAWIKI        => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK   => 'MediaWiki_сярысь_вераськон',
-                       NS_TEMPLATE         => 'Шаблон',
-                       NS_TEMPLATE_TALK    => 'Шаблон_сярысь_вераськон',
-                       NS_HELP             => 'Валэктон',
-                       NS_HELP_TALK        => 'Валэктон_сярысь_вераськон',
-                       NS_CATEGORY         => 'Категория',
-                       NS_CATEGORY_TALK    => 'Категория_сярысь_вераськон',
-               );
-
-       }
-
-       function getFallbackLanguage() {
-               return 'ru';
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesUdm + parent::getNamespaces();
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesUdm[$key] ) ) {
-                       return $this->mMessagesUdm[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesUdm;
-       }
-
-       function linkTrail() {
-               return '/^([a-zа-яёӝӟӥӧӵ“»]+)(.*)$/sDu';
-       }
-
-       function fallback8bitEncoding() {
-               return 'windows-1251';
-       }
-
-       function separatorTransformTable() {
-               return array(',' => ' ', '.' => ',' );
-       }
-
-}
-?>
diff --git a/languages/LanguageUg.php b/languages/LanguageUg.php
deleted file mode 100644 (file)
index bd86054..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-/** Uyghur (Oyghurque)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-require_once( 'LanguageUtf8.php' );
-
-class LanguageUg extends LanguageUtf8 {
-
-       function isRTL() {
-               return true;
-       }
-
-       function getAllMessages() {
-               return null;
-       }
-
-}
-
-?>
diff --git a/languages/LanguageUk.php b/languages/LanguageUk.php
deleted file mode 100644 (file)
index a3bdfd5..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-<?php
-/**
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-require_once( 'LanguageUtf8.php' );
-
-/* private */ $wgNamespaceNamesUk = array(
-       NS_MEDIA            => 'Медіа',
-       NS_SPECIAL          => 'Спеціальні',
-       NS_MAIN             => '',
-       NS_TALK             => 'Обговорення',
-       NS_USER             => 'Користувач',
-       NS_USER_TALK        => 'Обговорення_користувача',
-       NS_PROJECT          => $wgMetaNamespace,
-       NS_PROJECT_TALK     => 'Обговорення_' . $wgMetaNamespace,
-       NS_IMAGE            => 'Зображення',
-       NS_IMAGE_TALK       => 'Обговорення_зображення',
-       NS_MEDIAWIKI        => 'MediaWiki',
-       NS_MEDIAWIKI_TALK   => 'Обговорення_MediaWiki',
-       NS_TEMPLATE         => 'Шаблон',
-       NS_TEMPLATE_TALK    => 'Обговорення_шаблону',
-       NS_HELP             => 'Довідка',
-       NS_HELP_TALK        => 'Обговорення_довідки',
-       NS_CATEGORY         => 'Категорія',
-       NS_CATEGORY_TALK    => 'Обговорення_категорії'
-) + $wgNamespaceNamesEn;
-
-/* private */ $wgQuickbarSettingsUk = array(
-       "Не показувати панель", "Фіксована зліва", "Фіксована справа", "Плаваюча зліва"
-);
-
-/* private */ $wgSkinNamesUk = array(
-       'standard' => "Стандартне",
-       'nostalgia' => "Ностальгія",
-       'cologneblue' => "Кельнське Синє"
-) + $wgSkinNamesEn;
-
-
-/* private */ $wgDateFormatsUk = array(
-#      "Немає значення",
-);
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesUk.php');
-}
-
-class LanguageUk extends LanguageUtf8 {
-
-       function getNamespaces() {
-               global $wgNamespaceNamesUk;
-               return $wgNamespaceNamesUk;
-       }
-
-       function getQuickbarSettings() {
-               global $wgQuickbarSettingsUk;
-               return $wgQuickbarSettingsUk;
-       }
-
-       function getSkinNames() {
-               global $wgSkinNamesUk;
-               return $wgSkinNamesUk;
-       }
-
-       function getDateFormats() {
-               global $wgDateFormatsUk;
-               return $wgDateFormatsUk;
-       }
-
-       function getMonthNameGen( $key ) {
-               global $wgMonthNamesGenEn, $wgContLang;
-               // see who called us and use the correct message function
-               if( get_class( $wgContLang->getLangObj() ) == get_class( $this ) )
-                       return wfMsgForContent( $wgMonthNamesGenEn[$key-1] );
-               else
-                       return wfMsg( $wgMonthNamesGenEn[$key-1] );
-       }
-
-       function getMessage( $key ) {
-               global $wgAllMessagesUk;
-               if( isset( $wgAllMessagesUk[$key] ) ) {
-                       return $wgAllMessagesUk[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function fallback8bitEncoding() {
-               return "windows-1251";
-       }
-
-       function separatorTransformTable() {
-               return array(',' => '.', '.' => ',' );
-       }
-
-}
-?>
\ No newline at end of file
diff --git a/languages/LanguageUr.php b/languages/LanguageUr.php
deleted file mode 100644 (file)
index 1b994be..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-/** Urdu (اردو)
- *
- * @package MediaWiki
- * @subpackage Language
- */
-
-require_once( "LanguageUtf8.php" );
-
-class LanguageUr extends LanguageUtf8 {
-       private $mMessagesUr = null;
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesUr;
-               $this->mMessagesUr =& $wgAllMessagesUr;
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesUr[$key] ) ) {
-                       return $this->mMessagesUr[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesUr;
-       }
-
-       function getDefaultUserOptions() {
-               $opt = parent::getDefaultUserOptions();
-               $opt["quickbar"] = 2; # Right-to-left
-               $opt["underline"] = 0; # Underline is hard to read in Arabic script
-               return $opt;
-       }
-
-       # For right-to-left language support
-       function isRTL() {
-               return true;
-       }
-}
-
-?>
diff --git a/languages/LanguageUtf8.php b/languages/LanguageUtf8.php
deleted file mode 100644 (file)
index d738624..0000000
+++ /dev/null
@@ -1,199 +0,0 @@
-<?php
-/**
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-if( defined( "MEDIAWIKI" ) ) {
-
-# This file and LanguageLatin1.php may be included from within functions, so
-# we need to have global statements
-
-global $wgInputEncoding, $wgOutputEncoding, $wikiUpperChars, $wikiLowerChars;
-global $wgDBname, $wgMemc;
-
-$wgInputEncoding    = "UTF-8";
-$wgOutputEncoding      = "UTF-8";
-
-if( function_exists( 'mb_strtoupper' ) ) {
-       mb_internal_encoding('UTF-8');
-} else {
-       # Hack our own case conversion routines
-
-       # Loading serialized arrays is faster than parsing code :P
-       $wikiUpperChars = $wgMemc->get( $key1 = "$wgDBname:utf8:upper" );
-       $wikiLowerChars = $wgMemc->get( $key2 = "$wgDBname:utf8:lower" );
-
-       if(empty( $wikiUpperChars) || empty($wikiLowerChars )) {
-               require_once( "includes/Utf8Case.php" );
-               $wgMemc->set( $key1, $wikiUpperChars );
-               $wgMemc->set( $key2, $wikiLowerChars );
-       }
-}
-
-/**
- * Base stuff useful to all UTF-8 based language files
- * @package MediaWiki
- */
-class LanguageUtf8 extends Language {
-
-       # These functions use mbstring library, if it is loaded
-       # or compiled and character mapping arrays otherwise.
-       # In case of language-specific character mismatch
-       # it should be dealt with in Language classes.
-
-       function ucfirst( $str ) {
-               return LanguageUtf8::uc( $str, true );
-       }
-
-       function uc( $str, $first = false ) {
-               if ( function_exists( 'mb_strtoupper' ) )
-                       if ( $first )
-                               if ( LanguageUtf8::isMultibyte( $str ) )
-                                       return mb_strtoupper( mb_substr( $str, 0, 1 ) ) . mb_substr( $str, 1 );
-                               else
-                                       return ucfirst( $str );
-                       else
-                               return LanguageUtf8::isMultibyte( $str ) ? mb_strtoupper( $str ) : strtoupper( $str );
-               else
-                       if ( LanguageUtf8::isMultibyte( $str ) ) {
-                               global $wikiUpperChars;
-                               $x = $first ? '^' : '';
-                               return preg_replace(
-                                       "/$x([a-z]|[\\xc0-\\xff][\\x80-\\xbf]*)/e",
-                                       "strtr( \"\$1\" , \$wikiUpperChars )",
-                                       $str
-                               );
-                       } else
-                               return $first ? ucfirst( $str ) : strtoupper( $str );
-       }
-
-       function lcfirst( $str ) {
-               return LanguageUtf8::lc( $str, true );
-       }
-
-       function lc( $str, $first = false ) {
-               if ( function_exists( 'mb_strtolower' ) )
-                       if ( $first )
-                               if ( LanguageUtf8::isMultibyte( $str ) )
-                                       return mb_strtolower( mb_substr( $str, 0, 1 ) ) . mb_substr( $str, 1 );
-                               else
-                                       return strtolower( substr( $str, 0, 1 ) ) . substr( $str, 1 );
-                       else
-                               return LanguageUtf8::isMultibyte( $str ) ? mb_strtolower( $str ) : strtolower( $str );
-               else
-                       if ( LanguageUtf8::isMultibyte( $str ) ) {
-                               global $wikiLowerChars;
-                               $x = $first ? '^' : '';
-                               return preg_replace(
-                                       "/$x([A-Z]|[\\xc0-\\xff][\\x80-\\xbf]*)/e",
-                                       "strtr( \"\$1\" , \$wikiLowerChars )",
-                                       $str
-                               );
-                       } else
-                               return $first ? strtolower( substr( $str, 0, 1 ) ) . substr( $str, 1 ) : strtolower( $str );
-       }
-
-       function isMultibyte( $str ) {
-               return (bool)preg_match( '/^[\x80-\xff]/', $str );
-       }
-
-       function stripForSearch( $string ) {
-               # MySQL fulltext index doesn't grok utf-8, so we
-               # need to fold cases and convert to hex
-
-               # In Language:: it just returns lowercase, maybe
-               # all strtolower on stripped output or argument
-               # should be removed and all stripForSearch
-               # methods adjusted to that.
-
-               wfProfileIn( "LanguageUtf8::stripForSearch" );
-               if( function_exists( 'mb_strtolower' ) ) {
-                       $out = preg_replace(
-                               "/([\\xc0-\\xff][\\x80-\\xbf]*)/e",
-                               "'U8' . bin2hex( \"$1\" )",
-                               mb_strtolower( $string ) );
-               } else {
-                       global $wikiLowerChars;
-                       $out = preg_replace(
-                               "/([\\xc0-\\xff][\\x80-\\xbf]*)/e",
-                               "'U8' . bin2hex( strtr( \"\$1\", \$wikiLowerChars ) )",
-                               $string );
-               }
-               wfProfileOut( "LanguageUtf8::stripForSearch" );
-               return $out;
-       }
-
-       function fallback8bitEncoding() {
-               # Windows codepage 1252 is a superset of iso 8859-1
-               # override this to use difference source encoding to
-               # translate incoming 8-bit URLs.
-               return "windows-1252";
-       }
-
-       function checkTitleEncoding( $s ) {
-               global $wgInputEncoding;
-
-               if( is_array( $s ) ) {
-                       wfDebugDieBacktrace( 'Given array to checkTitleEncoding.' );
-               }
-               # Check for non-UTF-8 URLs
-               $ishigh = preg_match( '/[\x80-\xff]/', $s);
-               if(!$ishigh) return $s;
-
-               $isutf8 = preg_match( '/^([\x00-\x7f]|[\xc0-\xdf][\x80-\xbf]|' .
-                '[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xf7][\x80-\xbf]{3})+$/', $s );
-               if( $isutf8 ) return $s;
-
-               return $this->iconv( $this->fallback8bitEncoding(), "utf-8", $s );
-       }
-
-       function firstChar( $s ) {
-               preg_match( '/^([\x00-\x7f]|[\xc0-\xdf][\x80-\xbf]|' .
-               '[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xf7][\x80-\xbf]{3})/', $s, $matches);
-
-               return isset( $matches[1] ) ? $matches[1] : "";
-       }
-
-       # Crop a string from the beginning or end to a certain number of bytes.
-       # (Bytes are used because our storage has limited byte lengths for some
-       # columns in the database.) Multibyte charsets will need to make sure that
-       # only whole characters are included!
-       #
-       # $length does not include the optional ellipsis.
-       # If $length is negative, snip from the beginning
-       function truncate( $string, $length, $ellipsis = "" ) {
-               if( $length == 0 ) {
-                       return $ellipsis;
-               }
-               if ( strlen( $string ) <= abs( $length ) ) {
-                       return $string;
-               }
-               if( $length > 0 ) {
-                       $string = substr( $string, 0, $length );
-                       $char = ord( $string[strlen( $string ) - 1] );
-                       if ($char >= 0xc0) {
-                               # We got the first byte only of a multibyte char; remove it.
-                               $string = substr( $string, 0, -1 );
-                       } elseif( $char >= 0x80 &&
-                                 preg_match( '/^(.*)(?:[\xe0-\xef][\x80-\xbf]|' .
-                                             '[\xf0-\xf7][\x80-\xbf]{1,2})$/', $string, $m ) ) {
-                           # We chopped in the middle of a character; remove it
-                               $string = $m[1];
-                       }
-                       return $string . $ellipsis;
-               } else {
-                       $string = substr( $string, $length );
-                       $char = ord( $string[0] );
-                       if( $char >= 0x80 && $char < 0xc0 ) {
-                               # We chopped in the middle of a character; remove the whole thing
-                               $string = preg_replace( '/^[\x80-\xbf]+/', '', $string );
-                       }
-                       return $ellipsis . $string;
-               }
-       }
-}
-
-} # ifdef MEDIAWIKI
-
-?>
diff --git a/languages/LanguageVec.deps.php b/languages/LanguageVec.deps.php
deleted file mode 100644 (file)
index 4b89673..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageVec.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
-
-require_once( "LanguageIt.php" );
-?>
\ No newline at end of file
diff --git a/languages/LanguageVec.php b/languages/LanguageVec.php
deleted file mode 100644 (file)
index a87ddd8..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-<?php
-/** Venitian ( Vèneto )
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-require_once( 'LanguageIt.php' );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesVec.php');
-}
-
-class LanguageVec extends LanguageIt {
-       private $mMessagesVec, $mNamespaceNamesVec = null;
-
-       private $mQuickbarSettingsVec = array(
-               'Nessun', 'Fisso a sinistra', 'Fisso a destra', 'Fluttuante a sinistra'
-       );
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesVec;
-               $this->mMessagesVec =& $wgAllMessagesVec;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesVec = array(              
-                       NS_MEDIA            => 'Media',
-                       NS_SPECIAL          => 'Speciale',
-                       NS_MAIN             => '',
-                       NS_TALK             => 'Discussion',
-                       NS_USER             => 'Utente',
-                       NS_USER_TALK        => 'Discussion_utente',
-                       NS_PROJECT          => $wgMetaNamespace,
-                       NS_PROJECT_TALK     => 'Discussion_' . $wgMetaNamespace,
-                       NS_IMAGE            => 'Imagine',
-                       NS_IMAGE_TALK       => 'Discussion_imagine',
-                       NS_MEDIAWIKI        => 'MediaWiki',
-                       NS_MEDIAWIKI_TALK   => 'Discussion_MediaWiki',
-                       NS_TEMPLATE         => 'Template',
-                       NS_TEMPLATE_TALK    => 'Discussion_template',
-                       NS_HELP             => 'Aiuto',
-                       NS_HELP_TALK        => 'Discussion_aiuto',
-                       NS_CATEGORY         => 'Categoria',
-                       NS_CATEGORY_TALK    => 'Discussion_categoria'
-               );
-
-       }
-
-       function getFallbackLanguage() {
-               return 'it';
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesVec + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsVec;
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesVec[$key] ) ) {
-                       return $this->mMessagesVec[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesVec;
-       }
-
-}
-
-?>
index 4af13f6..4f9c4da 100644 (file)
@@ -8,125 +8,7 @@
   * Last update 28 August 2005 (UTC)
   */
 
-require_once( 'LanguageUtf8.php' );
-
-/* private */ $wgNamespaceNamesVi = array(
-       NS_MEDIA                        => 'Phương_tiện',
-       NS_SPECIAL                      => 'Đặc_biệt',
-       NS_MAIN                         => '',
-       NS_TALK                         => 'Thảo_luận',
-       NS_USER                         => 'Thành_viên',
-       NS_USER_TALK            => 'Thảo_luận_Thành_viên',
-       NS_PROJECT                      => $wgMetaNamespace,
-       NS_PROJECT_TALK         => 'Thảo_luận_'.$wgMetaNamespace,
-       NS_IMAGE                        => 'Hình',
-       NS_IMAGE_TALK           => 'Thảo_luận_Hình',
-       NS_MEDIAWIKI            => 'MediaWiki',
-       NS_MEDIAWIKI_TALK       => 'Thảo_luận_MediaWiki',
-       NS_TEMPLATE                     => 'Tiêu_bản',
-       NS_TEMPLATE_TALK        => 'Thảo_luận_Tiêu_bản',
-       NS_HELP                         => 'Trợ_giúp',
-       NS_HELP_TALK            => 'Thảo_luận_Trợ_giúp',
-       NS_CATEGORY                     => 'Thể_loại',
-       NS_CATEGORY_TALK        => 'Thảo_luận_Thể_loại'
-) + $wgNamespaceNamesEn;
-
-/* private */ $wgQuickbarSettingsVi = array(
-       'Không', 'Trái', 'Phải', 'Nổi bên trái'
-);
-
-/* private */ $wgSkinNamesVi = array(
-       'standard'              => 'Cổ điển',
-       'nostalgia'             => 'Vọng cổ',
-       'myskin'                => 'Cá nhân'
-) + $wgSkinNamesEn;
-
- /* private */ $wgMagicWordsVi = array(
-       'redirect'               => array( 0,    '#redirect' , '#đổi'             ),
-       'notoc'                  => array( 0,    '__NOTOC__' , '__KHÔNGMỤCMỤC__'             ),
-       'forcetoc'               => array( 0,    '__FORCETOC__', '__LUÔNMỤCLỤC__'        ),
-       'toc'                    => array( 0,    '__TOC__' , '__MỤCLỤC__'               ),
-       'noeditsection'          => array( 0,    '__NOEDITSECTION__', '__KHÔNGSỬAMỤC__'      ),
-       'start'                  => array( 0,    '__START__' , '__BẮTĐẦU__'             ),
-       'currentmonth'           => array( 1,    'CURRENTMONTH' , 'THÁNGNÀY'          ),
-       'currentmonthname'       => array( 1,    'CURRENTMONTHNAME'  , 'TÊNTHÁNGNÀY'     ),
-       'currentmonthnamegen'    => array( 1,    'CURRENTMONTHNAMEGEN' , 'TÊNDÀITHÁNGNÀY'   ),
-       'currentmonthabbrev'     => array( 1,    'CURRENTMONTHABBREV'  , 'TÊNNGẮNTHÁNGNÀY'  ),
-       'currentday'             => array( 1,    'CURRENTDAY'       , 'NGÀYNÀY'     ),
-       'currentdayname'         => array( 1,    'CURRENTDAYNAME'   , 'TÊNNGÀYNÀY'      ),
-       'currentyear'            => array( 1,    'CURRENTYEAR'    , 'NĂMNÀY'        ),
-       'currenttime'            => array( 1,    'CURRENTTIME'     , 'GIỜNÀY'       ),
-       'numberofarticles'       => array( 1,    'NUMBEROFARTICLES'  , 'SỐBÀI'     ),
-       'numberoffiles'          => array( 1,    'NUMBEROFFILES'   , 'SỐTẬPTIN'       ),
-       'pagename'               => array( 1,    'PAGENAME'      , 'TÊNTRANG'        ),
-       'pagenamee'              => array( 1,    'PAGENAMEE'   , 'TÊNTRANG2'           ),
-       'namespace'              => array( 1,    'NAMESPACE'   , 'KHÔNGGIANTÊN'           ),
-       'msg'                    => array( 0,    'MSG:'     , 'NHẮN:'              ),
-       'subst'                  => array( 0,    'SUBST:'   ,  'THẾ:'            ),
-       'msgnw'                  => array( 0,    'MSGNW:'    ,  'NHẮNMỚI:'             ),
-       'end'                    => array( 0,    '__END__'    , '__KẾT__'            ),
-       'img_thumbnail'          => array( 1,    'thumbnail', 'thumb' , 'nhỏ'    ),
-       'img_right'              => array( 1,    'right' , 'phải'                 ),
-       'img_left'               => array( 1,    'left'  , 'trái'                ),
-       'img_none'               => array( 1,    'none'  , 'không'                 ),
-       'img_width'              => array( 1,    '$1px'                   ),
-       'img_center'             => array( 1,    'center', 'centre' , 'giữa'      ),
-       'img_framed'             => array( 1,    'framed', 'enframed', 'frame' , 'khung'),
-       'int'                    => array( 0,    'INT:'                   ),
-       'sitename'               => array( 1,    'SITENAME'  , 'TÊNMẠNG'             ),
-       'ns'                     => array( 0,    'NS:'                    ),
-       'localurl'               => array( 0,    'LOCALURL:'              ),
-       'localurle'              => array( 0,    'LOCALURLE:'             ),
-       'server'                 => array( 0,    'SERVER'    , 'MÁYCHỦ'             ),
-       'servername'             => array( 0,    'SERVERNAME' , 'TÊNMÁYCHỦ'            ),
-       'scriptpath'             => array( 0,    'SCRIPTPATH'  , ''           ),
-       'grammar'                => array( 0,    'GRAMMAR:'   , 'NGỮPHÁP'            ),
-       'notitleconvert'         => array( 0,    '__NOTITLECONVERT__',
-'__NOTC__', '__KHÔNGCHUYỂNTÊN__'),
-       'nocontentconvert'       => array( 0,    '__NOCONTENTCONVERT__',
-'__NOCC__', '__KHÔNGCHUYỂNNỘIDUNG__'),
-       'currentweek'            => array( 1,    'CURRENTWEEK' , 'TUẦNNÀY'           ),
-       'currentdow'             => array( 1,    'CURRENTDOW'             ),
-       'revisionid'             => array( 1,    'REVISIONID'  , 'SỐBẢN'           ),
- );
-
-/* private */ $wgDateFormatsVi = array(
-    MW_DATE_DEFAULT => 'Không lựa chọn',
-    1 => '16:12, tháng 1 ngày 15 năm 2001',
-    2 => '16:12, ngày 15 tháng 1 năm 2001',
-    3 => '16:12, năm 2001 tháng 1 ngày 15',
-    4 => '',
-    MW_DATE_ISO => '2001-01-15 16:12:34'
-);
-global $wgRightsText;
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesVi.php');
-}
-
-
-class LanguageVi extends LanguageUtf8 {
-
-       function getBookstoreList () {
-               global $wgBookstoreListVi ;
-               return $wgBookstoreListVi ;
-       }
-
-       function getNamespaces() {
-               global $wgNamespaceNamesVi;
-               return $wgNamespaceNamesVi;
-       }
-
-       function getQuickbarSettings() {
-               global $wgQuickbarSettingsVi;
-               return $wgQuickbarSettingsVi;
-       }
-
-       function getSkinNames() {
-               global $wgSkinNamesVi;
-               return $wgSkinNamesVi;
-       }
-
+class LanguageVi extends Language {
        function date( $ts, $adj = false, $format = true, $timecorrection = false ) {
                if ( $adj ) { $ts = $this->userAdjust( $ts, $timecorrection ); }
 
@@ -187,30 +69,6 @@ class LanguageVi extends LanguageUtf8 {
                $names = explode(', ', $names);
                return $names[$key-1];
        }
-
-       function getDateFormats() {
-               global $wgDateFormatsVi;
-               return $wgDateFormatsVi;
-       }
-
-       function &getMagicWords() {
-               global $wgMagicWordsVi;
-               return $wgMagicWordsVi;
-       }
-
-       function separatorTransformTable() {
-               return array(',' => '.', '.' => ',' );
-       }
-
-       function getMessage( $key ) {
-               global $wgAllMessagesVi;
-               if( isset( $wgAllMessagesVi[$key] ) ) {
-                       return $wgAllMessagesVi[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
 }
 
 ?>
index 55c2e45..541c6de 100644 (file)
@@ -6,94 +6,10 @@
  * @subpackage Language
  */
 
-require_once( "LanguageUtf8.php" );
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesWa.php');
-}
-
 # NOTE: cweri après "NOTE:" po des racsegnes so des ratournaedjes
 # k' i gn a.
 
-define( 'MW_DATE_WLN_LONG',  MW_DATE_DMY );
-define( 'MW_DATE_WLN_SHORT', '4' );
-
-class LanguageWa extends LanguageUtf8 {
-       private $mMessagesWa, $mNamespaceNamesWa = null;
-
-       private $mQuickbarSettingsWa = array(
-               "Nole bår", "Aclawêye a hintche", "Aclawêye a droete", "Flotante a hintche", "Flotante a droete"
-       );
-
-       # lists "no preferences", normall (long) walloon date,
-       # short walloon date, and ISO format
-       # MW_DATE_DMY is alias for long format, as it is dd mmmmm yyyy.
-       # "4" is chosen as value for short format, as it is used in LanguageVi.php 
-       private $mDateFormatsWa = array(
-               MW_DATE_DEFAULT => 'Nole preferince',
-               #MW_DATE_DMY => '16:12, 15 January 2001',
-               #MW_DATE_MDY => '16:12, January 15, 2001',
-               #MW_DATE_YMD => '16:12, 2001 January 15',
-               MW_DATE_WLN_LONG => '15 di djanvî 2001 a 16:12',
-               MW_DATE_WLN_SHORT => '15/01/2001 a 16:12',
-               MW_DATE_ISO => '2001-01-15 16:12:34',
-       );
-
-
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesWa;
-               $this->mMessagesWa =& $wgAllMessagesWa;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesWa = array(
-                       NS_MEDIA          => "Media", /* Media */
-                       NS_SPECIAL        => "Sipeciås", /* Special */
-                       NS_MAIN           => "",
-                       NS_TALK           => "Copene", /* Talk */
-                       NS_USER           => "Uzeu", /* User */
-                       NS_USER_TALK      => "Uzeu_copene", /* User_talk */
-                       NS_PROJECT        => $wgMetaNamespace,
-                       NS_PROJECT_TALK   => $wgMetaNamespace . "_copene",
-                       NS_IMAGE          => "Imådje", /* Image */
-                       NS_IMAGE_TALK     => "Imådje_copene", /* Image_talk */
-                       NS_MEDIAWIKI      => "MediaWiki", /* MediaWiki */
-                       NS_MEDIAWIKI_TALK => "MediaWiki_copene", /* MediaWiki_talk */
-                       NS_TEMPLATE       => "Modele",
-                       NS_TEMPLATE_TALK  => "Modele_copene",
-                       NS_HELP           => "Aidance",
-                       NS_HELP_TALK      => "Aidance_copene",
-                       NS_CATEGORY       => "Categoreye",
-                       NS_CATEGORY_TALK  => "Categoreye_copene",
-               );
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesWa + parent::getNamespaces();
-       }
-
-       function getQuickbarSettings() {
-               return $this->mQuickbarSettingsWa;
-       }
-
-       function getDateFormats() {
-               return $this->mDateFormatsWa;
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesWa[$key] ) ) {
-                       return $this->mMessagesWa[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesWa;
-       }
-
+class LanguageWa extends Language {
        ###
        ### Dates in Walloon are "1î d' <monthname>" for 1st of the month,
        ### "<day> di <monthname>" for months starting by a consoun, and
@@ -108,14 +24,13 @@ class LanguageWa extends LanguageUtf8 {
                # ISO (YYYY-mm-dd) format
                #
                # we also output this format for YMD (eg: 2001 January 15)
-               if ( $datePreference == MW_DATE_ISO ||
-                    $datePreference == MW_DATE_YMD ) {
+               if ( $datePreference == 'ISO 8601' ) {
                       $d = substr($ts, 0, 4). '-' . substr($ts, 4, 2). '-' .substr($ts, 6, 2);
                       return $d;
                }
                
                # dd/mm/YYYY format
-               if ( $datePreference == MW_DATE_WLN_SHORT ) {
+               if ( $datePreference == 'walloon short' ) {
                       $d = substr($ts, 6, 2). '/' . substr($ts, 4, 2). '/' .substr($ts, 0, 4);
                       return $d;
                }
@@ -141,25 +56,16 @@ class LanguageWa extends LanguageUtf8 {
                return $d;
        }
 
-       function timeBeforeDate( ) {
-               return false;
-       }
-
-       function timeDateSeparator( $format ) {
-               return " a ";
-       }
-
-       # definixha del cogne po les limeros
-       # (number format definition)
-       # en: 12,345.67 -> wa: 12 345,67
-       function separatorTransformTable() {
-               return array(',' => "\xc2\xa0", '.' => ',' );
-       }
-
-       function linkTrail() {
-               return '/^([a-zåâêîôûçéè]+)(.*)$/sDu';
+       function timeanddate( $ts, $adj = false, $format = true, $tc = false ) {
+               if ( $adj ) { $ts = $this->userAdjust( $ts, $tc ); }
+               $datePreference = $this->dateFormat( $format );
+               if ( $datePreference == 'ISO 8601' ) {
+                       return parent::timeanddate( $ts, $adj, $format, $tc );
+               } else {
+                       return $this->date( $ts, $adj, $format, $tc ) . ' a ' . 
+                               $this->time( $ts, $adj, $format, $tc );
+               }
        }
-
 }
 
 ?>
diff --git a/languages/LanguageXal.php b/languages/LanguageXal.php
deleted file mode 100644 (file)
index 1a32106..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-/**
-  * @package MediaWiki
-  * @subpackage Language
-  */
-# Kalmyk stub localization;
-
-require_once( 'LanguageUtf8.php' );
-
-/* private */ $wgNamespaceNamesXal = array(
-       NS_MEDIA            => 'Аһар',
-       NS_SPECIAL          => 'Көдлхнə',
-       NS_MAIN             => '',
-       NS_TALK             => 'Ухалвр',
-       NS_USER             => 'Орлцач',
-       NS_USER_TALK        => 'Орлцачна_тускар_ухалвр',
-       NS_PROJECT          => $wgMetaNamespace,
-       NS_PROJECT_TALK     => $wgMetaNamespace . '_тускар_ухалвр',
-       NS_IMAGE            => 'Зург',
-       NS_IMAGE_TALK       => 'Зургин_тускар_ухалвр',
-       NS_MEDIAWIKI        => 'MediaWiki',
-       NS_MEDIAWIKI_TALK   => 'MediaWiki_тускар_ухалвр',
-       NS_TEMPLATE         => 'Зура',
-       NS_TEMPLATE_TALK    => 'Зуран_тускар_ухалвр',
-       NS_HELP             => 'Цəəлһлһн',
-       NS_HELP_TALK        => 'Цəəлһлһин_тускар_ухалвр',
-       NS_CATEGORY         => 'Янз',
-       NS_CATEGORY_TALK    => 'Янзин_тускар_ухалвр',
-) + $wgNamespaceNamesEn;
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesXal.php');
-}
-
-class LanguageXal extends LanguageUtf8 {
-       function getNamespaces() {
-               global $wgNamespaceNamesXal;
-               return $wgNamespaceNamesXal;
-       }
-
-       function getMessage( $key ) {
-               global $wgAllMessagesXal;
-               return isset($wgAllMessagesXal[$key]) ? $wgAllMessagesXal[$key] : parent::getMessage($key);
-       }
-
-       function fallback8bitEncoding() {
-               return "windows-1251";
-       }
-
-}
-?>
diff --git a/languages/LanguageYi.php b/languages/LanguageYi.php
deleted file mode 100644 (file)
index ab84a05..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-<?php
-/** Yiddish (ייִדיש)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  */
-
-require_once("LanguageHe.php");
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesYi.php');
-}
-
-class LanguageYi extends LanguageHe {
-       private $mMessagesYi, $mNamespaceNamesYi = null;
-
-       function __construct() {
-               parent::__construct();
-
-               global $wgAllMessagesYi;
-               $this->mMessagesYi =& $wgAllMessagesYi;
-
-               global $wgMetaNamespace;
-               $this->mNamespaceNamesYi = array(
-                       NS_MEDIA          => 'מעדיע',
-                       NS_SPECIAL        => 'באַזונדער',
-                       NS_MAIN           => '',
-                       NS_TALK           => 'רעדן',
-                       NS_USER           => 'באַניצער',
-                       NS_USER_TALK      => 'באַניצער_רעדן',
-                       NS_PROJECT        => $wgMetaNamespace,
-                       NS_PROJECT_TALK   => $wgMetaNamespace . '_רעדן',
-                       NS_IMAGE          => 'בילד',
-                       NS_IMAGE_TALK     => 'בילד_רעדן',
-                       NS_MEDIAWIKI      => 'מעדיעװיקי',
-                       NS_MEDIAWIKI_TALK => 'מעדיעװיקי_רעדן',
-                       NS_TEMPLATE       => 'מוסטער',
-                       NS_TEMPLATE_TALK  => 'מוסטער_רעדן',
-                       NS_HELP           => 'הילף',
-                       NS_HELP_TALK      => 'הילף_רעדן',
-                       NS_CATEGORY       => 'קאַטעגאָריע',
-                       NS_CATEGORY_TALK  => 'קאַטעגאָריע_רעדן'
-               );
-       }
-
-       function getNamespaces() {
-               return $this->mNamespaceNamesYi + parent::getNamespaces();
-       }
-
-       function getMessage( $key ) {
-               if( isset( $this->mMessagesYi[$key] ) ) {
-                       return $this->mMessagesYi[$key];
-               } else {
-                       return parent::getMessage( $key );
-               }
-       }
-
-       function getAllMessages() {
-               return $this->mMessagesYi;
-       }
-
-       function getDefaultUserOptions() {
-               $opt = parent::getDefaultUserOptions();
-               $opt['quickbar'] = 2; # Right-to-left
-               return $opt;
-       }
-
-       # For right-to-left language support
-       function isRTL() {
-               return true;
-       }
-
-       function getNsIndex( $text ) {
-               global $wgSitename;
-
-               foreach ( $this->mNamespaceNamesYi as $i => $n ) {
-                       if ( 0 == strcasecmp( $n, $text ) ) { return $i; }
-               }
-               if( $wgSitename == 'װיקיפּעדיע' ) {
-                       if( 0 == strcasecmp( 'וויקיפעדיע', $text ) ) return NS_PROJECT;
-                       if( 0 == strcasecmp( 'וויקיפעדיע_רעדן', $text ) ) return NS_PROJECT_TALK;
-               }
-               if( $wgSitename == 'װיקיביבליאָטעק' ) {
-                       if( 0 == strcasecmp( 'וויקיביבליאטעק', $text ) ) return NS_PROJECT;
-                       if( 0 == strcasecmp( 'וויקיביבליאטעק_רעדן', $text ) ) return NS_PROJECT_TALK;
-               }
-               if( $wgSitename == 'װיקיװערטערבוך' ) {
-                       if( 0 == strcasecmp( 'וויקיווערטערבוך', $text ) ) return NS_PROJECT;
-                       if( 0 == strcasecmp( 'וויקיווערטערבוך_רעדן', $text ) ) return NS_PROJECT_TALK;
-               }
-               if( $wgSitename == 'װיקינײַעס' ) {
-                       if( 0 == strcasecmp( 'וויקינייעס', $text ) ) return NS_PROJECT;
-                       if( 0 == strcasecmp( 'וויקינייעס_רעדן', $text ) ) return NS_PROJECT_TALK;
-               }
-               if( 0 == strcasecmp( 'באזונדער', $text ) ) return NS_SPECIAL;
-               if( 0 == strcasecmp( 'באנוצער', $text ) ) return NS_USER;
-               if( 0 == strcasecmp( 'באנוצער_רעדן', $text ) ) return NS_USER_TALK;
-               if( 0 == strcasecmp( 'מעדיעוויקי', $text ) ) return NS_MEDIAWIKI;
-               if( 0 == strcasecmp( 'מעדיעוויקי_רעדן', $text ) ) return NS_MEDIAWIKI_TALK;
-               if( 0 == strcasecmp( 'קאטעגאריע', $text ) ) return NS_CATEGORY;
-               if( 0 == strcasecmp( 'קאטעגאריע_רעדן', $text ) ) return NS_CATEGORY_TALK;
-               return false;
-       }
-}
-
-?>
diff --git a/languages/LanguageZa.deps.php b/languages/LanguageZa.deps.php
deleted file mode 100644 (file)
index 83b6839..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageZa.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
-
-require_once( "LanguageZh_cn.php" );
-?>
\ No newline at end of file
diff --git a/languages/LanguageZa.php b/languages/LanguageZa.php
deleted file mode 100644 (file)
index 99e60e1..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-/** Zhuang (壮语)
-  *
-  * @package MediaWiki
-  * @subpackage Language
-  *
-  * @bug 3844
-  *
-  * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
-  * @copyright Copyright © 2005, Ævar Arnfjörð Bjarmason
-  * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
-  */
-
-require_once 'LanguageZh_cn.php';
-
-class LanguageZa extends LanguageZh_cn {
-
-       function getFallbackLanguage() {
-               return 'zh-cn';
-       }
-
-       function getAllMessages() {
-               return null;
-       }
-
-}
-
-?>
index b63ad7a..cf18594 100644 (file)
@@ -5,6 +5,6 @@
 // changed on a subsequent page view.
 // see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
 
-require_once( "LanguageZh_cn.php" );
-require_once( "LanguageConverter.php" );
-?>
\ No newline at end of file
+require_once( dirname(__FILE__).'/LanguageZh_cn.php' );
+require_once( dirname(__FILE__).'/LanguageConverter.php' );
+?>
index b24c08e..0b1d6bf 100644 (file)
@@ -3,11 +3,8 @@
   * @package MediaWiki
   * @subpackage Language
   */
-require_once( "LanguageConverter.php" );
-require_once( "LanguageZh_cn.php");
-require_once( "LanguageZh_tw.php");
-require_once( "LanguageZh_sg.php");
-require_once( "LanguageZh_hk.php");
+require_once( dirname(__FILE__).'/LanguageConverter.php' );
+require_once( dirname(__FILE__).'/LanguageZh_cn.php' );
 
 class ZhConverter extends LanguageConverter {
        function loadDefaultTables() {
@@ -45,6 +42,7 @@ class LanguageZh extends LanguageZh_cn {
 
        function __construct() {
                global $wgHooks;
+               parent::__construct();
                $this->mConverter = new ZhConverter($this, 'zh',
                                             array('zh', 'zh-cn', 'zh-tw', 'zh-sg', 'zh-hk'),
                                                                                        array('zh'=>'zh-cn',
index c5a1636..af94cb9 100644 (file)
@@ -3,127 +3,7 @@
   * @package MediaWiki
   * @subpackage Language
   */
-require_once( 'LanguageUtf8.php' );
-
-/* private */ $wgNamespaceNamesZh_cn = array(
-       NS_MEDIA            => 'Media',
-       NS_SPECIAL          => 'Special',
-       NS_MAIN             => '',
-       NS_TALK             => 'Talk',
-       NS_USER             => 'User',
-       NS_USER_TALK        => 'User_talk',
-       NS_PROJECT          => $wgMetaNamespace,
-       NS_PROJECT_TALK     => $wgMetaNamespace . '_talk',
-       NS_IMAGE            => 'Image',
-       NS_IMAGE_TALK       => 'Image_talk',
-       NS_MEDIAWIKI        => 'MediaWiki',
-       NS_MEDIAWIKI_TALK   => 'MediaWiki_talk',
-       NS_TEMPLATE         => 'Template',
-       NS_TEMPLATE_TALK    => 'Template_talk',
-       NS_HELP             => 'Help',
-       NS_HELP_TALK        => 'Help_talk',
-       NS_CATEGORY         => 'Category',
-       NS_CATEGORY_TALK    => 'Category_talk'
-
-) + $wgNamespaceNamesEn;
-
-/* private */ $wgQuickbarSettingsZh_cn = array(
-       "无", /* "None" */
-       "左侧固定", /* "Fixed left" */
-       "右侧固定", /* "Fixed right" */
-       "左侧漂移" /* "Floating left" */
-);
-
-/* private */ $wgSkinNamesZh_cn = array(
-       'standard' => "标准",
-       'nostalgia' => "怀旧",
-       'cologneblue' => "科隆香水蓝"
-) + $wgSkinNamesEn;
-
-/* private */ $wgUserTogglesZh_cn = array(
-       'nolangconversion',
-) + $wgUserTogglesEn;
-
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesZh_cn.php');
-}
-
-
-class LanguageZh_cn extends LanguageUtf8 {
-
-       function getUserToggles() {
-               global $wgUserTogglesZh_cn;
-               return $wgUserTogglesZh_cn;
-       }
-
-       function getNamespaces() {
-               global $wgNamespaceNamesZh_cn;
-               return $wgNamespaceNamesZh_cn;
-       }
-
-
-       function getNsIndex( $text ) {
-               global $wgNamespaceNamesZh_cn;
-
-               foreach ( $wgNamespaceNamesZh_cn as $i => $n ) {
-                       if ( 0 == strcasecmp( $n, $text ) ) { return $i; }
-               }
-               # Aliases
-               if ( 0 == strcasecmp( "特殊", $text ) ) { return -1; }
-               if ( 0 == strcasecmp( "", $text ) ) { return ; }
-               if ( 0 == strcasecmp( "对话", $text ) ) { return 1; }
-               if ( 0 == strcasecmp( "用户", $text ) ) { return 2; }
-               if ( 0 == strcasecmp( "用户对话", $text ) ) { return 3; }
-               if ( 0 == strcasecmp( "{{SITENAME}}_对话", $text ) ) { return 5; }
-               if ( 0 == strcasecmp( "图像", $text ) ) { return 6; }
-               if ( 0 == strcasecmp( "图像对话", $text ) ) { return 7; }
-               return false;
-       }
-
-       function getQuickbarSettings() {
-               global $wgQuickbarSettingsZh_cn;
-               return $wgQuickbarSettingsZh_cn;
-       }
-
-       function getSkinNames() {
-               global $wgSkinNamesZh_cn;
-               return $wgSkinNamesZh_cn;
-       }
-
-       function getDateFormats() {
-               return false;
-       }
-
-       /**
-        * $format and $timecorrection are for compatibility with Language::date
-        */
-       function date( $ts, $adj = false, $format = true, $timecorrection = false ) {
-               if ( $adj ) { $ts = $this->userAdjust( $ts ); }
-
-               $d = substr( $ts, 0, 4 ) . "年" .
-                 $this->getMonthAbbreviation( substr( $ts, 4, 2 ) ) .
-                 (0 + substr( $ts, 6, 2 )) . "日";
-               return $d;
-       }
-
-       /**
-        * $format and $timecorrection are for compatibility with Language::date
-        */
-       function timeanddate( $ts, $adj = false, $format = true, $timecorrection = false ) {
-               return $this->time( $ts, $adj ) . " " . $this->date( $ts, $adj );
-       }
-
-       function getMessage( $key ) {
-               global $wgAllMessagesZh_cn;
-               if( isset( $wgAllMessagesZh_cn[$key] ) )
-                       return $wgAllMessagesZh_cn[$key];
-               else
-                       return parent::getMessage( $key );
-       }
-
-       # inherit default iconv(), ucfirst(), checkTitleEncoding()
-
+class LanguageZh_cn extends Language {
        function stripForSearch( $string ) {
                # MySQL fulltext index doesn't grok utf-8, so we
                # need to fold cases and convert to hex
@@ -134,7 +14,7 @@ class LanguageZh_cn extends LanguageUtf8 {
                                "' U8' . bin2hex( \"$1\" )",
                                mb_strtolower( $string ) );
                } else {
-                       global $wikiLowerChars;
+                       list( , $wikiLowerChars ) = Language::getCaseMaps();
                        return preg_replace(
                                "/([\\xc0-\\xff][\\x80-\\xbf]*)/e",
                                "' U8' . bin2hex( strtr( \"\$1\", \$wikiLowerChars ) )",
diff --git a/languages/LanguageZh_hk.deps.php b/languages/LanguageZh_hk.deps.php
deleted file mode 100644 (file)
index 3f1cafd..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageZh_hk.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
-
-require_once( "LanguageZh_cn.php" );
-require_once( "LanguageZh_tw.php" );
-?>
\ No newline at end of file
diff --git a/languages/LanguageZh_hk.php b/languages/LanguageZh_hk.php
deleted file mode 100644 (file)
index 7e55a77..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-/**
-  * @package MediaWiki
-  * @subpackage Language
-  */
-require_once( "LanguageZh_tw.php");
-
-class LanguageZh_hk extends LanguageZh_tw {
-# Inherit everything for now
-}
-?>
diff --git a/languages/LanguageZh_sg.deps.php b/languages/LanguageZh_sg.deps.php
deleted file mode 100644 (file)
index 0373819..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageZh_sg.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
-
-require_once( "LanguageZh_cn.php" );
-?>
\ No newline at end of file
diff --git a/languages/LanguageZh_sg.php b/languages/LanguageZh_sg.php
deleted file mode 100644 (file)
index 6e43c3c..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-/**
-  * @package MediaWiki
-  * @subpackage Language
-  */
-require_once( "LanguageZh_cn.php");
-
-class LanguageZh_sg extends LanguageZh_cn {
-# Inherit everything for now
-}
-?>
diff --git a/languages/LanguageZh_tw.deps.php b/languages/LanguageZh_tw.deps.php
deleted file mode 100644 (file)
index 521b0e2..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageZh_tw.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
-
-require_once( "LanguageZh_cn.php" );
-?>
\ No newline at end of file
diff --git a/languages/LanguageZh_tw.php b/languages/LanguageZh_tw.php
deleted file mode 100644 (file)
index a55f044..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-<?php
-/**
-  * @package MediaWiki
-  * @subpackage Language
-  */
-require_once( "LanguageUtf8.php" );
-require_once( "LanguageZh_cn.php" );
-
-/* private */ $wgNamespaceNamesZh_tw = array(
-       NS_MEDIA            => "媒體",
-       NS_SPECIAL          => "特殊",
-       NS_MAIN             => "",
-       NS_TALK             => "討論",
-       NS_USER             => "用戶",
-       NS_USER_TALK        => "用戶討論",
-       NS_PROJECT          => $wgMetaNamespace,
-       NS_PROJECT_TALK     => $wgMetaNamespace . "討論",
-       NS_IMAGE            => "圖像",
-       NS_IMAGE_TALK       => "圖像討論",
-       NS_MEDIAWIKI        => "媒體維基",
-       NS_MEDIAWIKI_TALK   => "媒體維基討論",
-       NS_TEMPLATE         => "樣板",
-       NS_TEMPLATE_TALK    => "樣板討論",
-       NS_HELP             => "幫助",
-       NS_HELP_TALK        => "幫助討論",
-       NS_CATEGORY         => "分類",
-       NS_CATEGORY_TALK    => "分類討論"
-);
-
-/* private */ $wgQuickbarSettingsZh_tw = array(
-        "無", /* "None" */
-       "左側固定", /* "Fixed left" */
-       "右側固定", /* "Fixed right" */
-       "左側漂移" /* "Floating left" */
-);
-
-/* private */ $wgSkinNamesZh_tw = array(
-        "標準",/* "Standard" */
-       "懷舊",/* "Nostalgia" */
-       "科隆香水藍" /* "Cologne Blue" */
-) + $wgSkinNamesEn;
-
-/* private */ $wgBookstoreListZh_tw = array(
-       "博客來書店" => "http://www.books.com.tw/exep/openfind_book_keyword.php?cat1=4&key1=$1",
-       "三民書店" => "http://www.sanmin.com.tw/page-qsearch.asp?ct=search_isbn&qu=$1",
-       "天下書店" => "http://www.cwbook.com.tw/cw/TS.jsp?schType=product.isbn&schStr=$1",
-       "新絲書店" => "http://www.silkbook.com/function/Search_List_Book.asp?item=5&text=$1"
-);
-
-if (!$wgCachedMessageArrays) {
-       require_once('MessagesZh_tw.php');
-}
-
-class LanguageZh_tw extends LanguageZh_cn {
-       function getBookstoreList () {
-               global $wgBookstoreListZh_tw ;
-               return $wgBookstoreListZh_tw ;
-       }
-
-       function getNamespaces() {
-               global $wgNamespaceNamesZh_tw;
-               return $wgNamespaceNamesZh_tw;
-       }
-
-
-       function getNsIndex( $text ) {
-               global $wgNamespaceNamesZh_tw;
-
-               foreach ( $wgNamespaceNamesZh_tw as $i => $n ) {
-                       if ( 0 == strcasecmp( $n, $text ) ) { return $i; }
-               }
-               # Aliases
-               if ( 0 == strcasecmp( "對話", $text ) ) { return 1; }
-               if ( 0 == strcasecmp( "用戶對話", $text ) ) { return 3; }
-               if ( 0 == strcasecmp( "維基百科對話", $text ) ) { return 5; }
-               if ( 0 == strcasecmp( "圖像對話", $text ) ) { return 7; }
-               return false;
-       }
-
-       function getQuickbarSettings() {
-               global $wgQuickbarSettingsZh_tw;
-               return $wgQuickbarSettingsZh_tw;
-       }
-
-       function getSkinNames() {
-               global $wgSkinNamesZh_tw;
-               return $wgSkinNamesZh_tw;
-       }
-
-       function getMessage( $key ) {
-               global $wgAllMessagesZh_tw;
-               if(array_key_exists($key, $wgAllMessagesZh_tw))
-                       return $wgAllMessagesZh_tw[$key];
-               else
-                       return parent::getMessage( $key );
-       }
-
-}
-
-
-?>
diff --git a/languages/Messages.php b/languages/Messages.php
deleted file mode 100644 (file)
index 4be231a..0000000
+++ /dev/null
@@ -1,2074 +0,0 @@
-<?php
-
-
-#-------------------------------------------------------------------
-# Default messages
-#-------------------------------------------------------------------
-# Allowed characters in keys are: A-Z, a-z, 0-9, underscore (_) and
-# hyphen (-). If you need more characters, you may be able to change
-# the regex in MagicWord::initRegex
-
-global $wgAllMessagesEn;
-$wgAllMessagesEn = array(
-/*
-The sidebar for MonoBook is generated from this message, lines that do not
-begin with * or ** are discarded, furthermore lines that do begin with ** and
-do not contain | are also discarded, but don't depend on this behaviour for
-future releases. Also note that since each list value is wrapped in a unique
-XHTML id it should only appear once and include characters that are legal
-XHTML id names.
-
-Note to translators: Do not include this message in the language files you
-submit for inclusion in MediaWiki, it should always be inherited from the
-parent class in order maintain consistency across languages.
-*/
-'sidebar' => '
-* navigation
-** mainpage|mainpage
-** portal-url|portal
-** currentevents-url|currentevents
-** recentchanges-url|recentchanges
-** randompage-url|randompage
-** helppage|help
-** sitesupport-url|sitesupport',
-
-# User preference toggles
-'tog-underline' => 'Underline links:',
-'tog-highlightbroken' => 'Format broken links <a href="" class="new">like this</a> (alternative: like this<a href="" class="internal">?</a>).',
-'tog-justify'  => 'Justify paragraphs',
-'tog-hideminor' => 'Hide minor edits in recent changes',
-'tog-extendwatchlist' => 'Expand watchlist to show all applicable changes',
-'tog-usenewrc' => 'Enhanced recent changes (JavaScript)',
-'tog-numberheadings' => 'Auto-number headings',
-'tog-showtoolbar'              => 'Show edit toolbar (JavaScript)',
-'tog-editondblclick' => 'Edit pages on double click (JavaScript)',
-'tog-editsection'              => 'Enable section editing via [edit] links',
-'tog-editsectiononrightclick'  => 'Enable section editing by right clicking<br /> on section titles (JavaScript)',
-'tog-showtoc'                  => 'Show table of contents (for pages with more than 3 headings)',
-'tog-rememberpassword' => 'Remember across sessions',
-'tog-editwidth' => 'Edit box has full width',
-'tog-watchcreations' => 'Add pages I create to my watchlist',
-'tog-watchdefault' => 'Add pages I edit to my watchlist',
-'tog-minordefault' => 'Mark all edits minor by default',
-'tog-previewontop' => 'Show preview before edit box',
-'tog-previewonfirst' => 'Show preview on first edit',
-'tog-nocache' => 'Disable page caching',
-'tog-enotifwatchlistpages'     => 'E-mail me when a page I\'m watching is changed',
-'tog-enotifusertalkpages'      => 'E-mail me when my user talk page is changed',
-'tog-enotifminoredits'                 => 'E-mail me also for minor edits of pages',
-'tog-enotifrevealaddr'                 => 'Reveal my e-mail address in notification mails',
-'tog-shownumberswatching'      => 'Show the number of watching users',
-'tog-fancysig' => 'Raw signatures (without automatic link)',
-'tog-externaleditor' => 'Use external editor by default',
-'tog-externaldiff' => 'Use external diff by default',
-'tog-showjumplinks' => 'Enable "jump to" accessibility links',
-'tog-uselivepreview' => 'Use live preview (JavaScript) (Experimental)',
-'tog-autopatrol' => 'Mark edits I make as patrolled',
-'tog-forceeditsummary' => 'Prompt me when entering a blank edit summary',
-'tog-watchlisthideown' => 'Hide my edits from the watchlist',
-'tog-watchlisthidebots' => 'Hide bot edits from the watchlist',
-
-'underline-always' => 'Always',
-'underline-never' => 'Never',
-'underline-default' => 'Browser default',
-
-'skinpreview' => '(Preview)',
-
-# dates
-'sunday' => 'Sunday',
-'monday' => 'Monday',
-'tuesday' => 'Tuesday',
-'wednesday' => 'Wednesday',
-'thursday' => 'Thursday',
-'friday' => 'Friday',
-'saturday' => 'Saturday',
-'january' => 'January',
-'february' => 'February',
-'march' => 'March',
-'april' => 'April',
-'may_long' => 'May',
-'june' => 'June',
-'july' => 'July',
-'august' => 'August',
-'september' => 'September',
-'october' => 'October',
-'november' => 'November',
-'december' => 'December',
-'jan' => 'Jan',
-'feb' => 'Feb',
-'mar' => 'Mar',
-'apr' => 'Apr',
-'may' => 'May',
-'jun' => 'Jun',
-'jul' => 'Jul',
-'aug' => 'Aug',
-'sep' => 'Sep',
-'oct' => 'Oct',
-'nov' => 'Nov',
-'dec' => 'Dec',
-# Bits of text used by many pages:
-#
-'categories' => '{{PLURAL:$1|Category|Categories}}',
-'category' => 'category',
-'category_header' => 'Articles in category "$1"',
-'subcategories' => 'Subcategories',
-
-
-'linktrail'            => '/^([a-z]+)(.*)$/sD',
-'linkprefix'           => '/^(.*?)([a-zA-Z\x80-\xff]+)$/sD',
-'mainpage'             => 'Main Page',
-'mainpagetext' => "<big>'''MediaWiki has been successfully installed.'''</big>",
-'mainpagedocfooter' => "Consult the [http://meta.wikimedia.org/wiki/Help:Contents User's Guide] for information on using the wiki software.
-
-== Getting started ==
-
-* [http://www.mediawiki.org/wiki/Help:Configuration_settings Configuration settings list]
-* [http://www.mediawiki.org/wiki/Help:FAQ MediaWiki FAQ]
-* [http://mail.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]",
-
-'portal'               => 'Community portal',
-'portal-url'           => 'Project:Community Portal',
-'about'                        => 'About',
-'aboutsite'            => 'About {{SITENAME}}',
-'aboutpage'            => 'Project:About',
-'article'              => 'Content page',
-'help'                 => 'Help',
-'helppage'             => 'Help:Contents',
-'bugreports'   => 'Bug reports',
-'bugreportspage' => 'Project:Bug_reports',
-'sitesupport'   => 'Donations',
-'sitesupport-url' => 'Project:Site support',
-'faq'                  => 'FAQ',
-'faqpage'              => 'Project:FAQ',
-'edithelp'             => 'Editing help',
-'newwindow'            => '(opens in new window)',
-'edithelppage' => 'Help:Editing',
-'cancel'               => 'Cancel',
-'qbfind'               => 'Find',
-'qbbrowse'             => 'Browse',
-'qbedit'               => 'Edit',
-'qbpageoptions' => 'This page',
-'qbpageinfo'   => 'Context',
-'qbmyoptions'  => 'My pages',
-'qbspecialpages'       => 'Special pages',
-'moredotdotdot'        => 'More...',
-'mypage'               => 'My page',
-'mytalk'               => 'My talk',
-'anontalk'             => 'Talk for this IP',
-'navigation' => 'Navigation',
-
-# Metadata in edit box
-'metadata_help' => 'Metadata (see [[{{ns:project}}:Metadata]] for an explanation):',
-
-'currentevents' => 'Current events',
-'currentevents-url' => 'Current events',
-
-'disclaimers' => 'Disclaimers',
-'disclaimerpage' => 'Project:General_disclaimer',
-'privacy' => 'Privacy policy',
-'privacypage' => 'Project:Privacy_policy',
-'errorpagetitle' => 'Error',
-'returnto'             => 'Return to $1.',
-'tagline'              => 'From {{SITENAME}}',
-'help'                 => 'Help',
-'search'               => 'Search',
-'searchbutton'         => 'Search',
-'go'           => 'Go',
-'history'              => 'Page history',
-'history_short' => 'History',
-'updatedmarker' => 'updated since my last visit',
-'info_short'   => 'Information',
-'printableversion' => 'Printable version',
-'permalink'     => 'Permanent link',
-'print' => 'Print',
-'edit' => 'Edit',
-'editthispage' => 'Edit this page',
-'delete' => 'Delete',
-'deletethispage' => 'Delete this page',
-'undelete_short' => 'Undelete {{PLURAL:$1|one edit|$1 edits}}',
-'protect' => 'Protect',
-'protectthispage' => 'Protect this page',
-'unprotect' => 'unprotect',
-'unprotectthispage' => 'Unprotect this page',
-'newpage' => 'New page',
-'talkpage'             => 'Discuss this page',
-'specialpage' => 'Special Page',
-'personaltools' => 'Personal tools',
-'postcomment'   => 'Post a comment',
-'addsection'   => '+',
-'articlepage'  => 'View content page',
-'subjectpage'  => 'View subject', # For compatibility
-'talk' => 'Discussion',
-'views' => 'Views',
-'toolbox' => 'Toolbox',
-'userpage' => 'View user page',
-'projectpage' => 'View project page',
-'imagepage' =>         'View image page',
-'viewtalkpage' => 'View discussion',
-'otherlanguages' => 'In other languages',
-'redirectedfrom' => '(Redirected from $1)',
-'autoredircomment' => 'Redirecting to [[$1]]',
-'redirectpagesub' => 'Redirect page',
-'lastmodified' => 'This page was last modified $1.',
-'viewcount'            => 'This page has been accessed {{plural:$1|one time|$1 times}}.',
-'copyright'    => 'Content is available under $1.',
-'protectedpage' => 'Protected page',
-'administrators' => '{{ns:project}}:Administrators',
-'jumpto' => 'Jump to:',
-'jumptonavigation' => 'navigation',
-'jumptosearch' => 'search',
-
-'sysoptitle'   => 'Sysop access required',
-'sysoptext'            => 'The action you have requested can only be
-performed by users with "sysop" capability.
-See $1.',
-'developertitle' => 'Developer access required',
-'developertext'        => 'The action you have requested can only be
-performed by users with "developer" capability.
-See $1.',
-
-'badaccess'     => 'Permission error',
-'badaccesstext' => 'The action you have requested is limited
-to users with the "$2" permission assigned.
-See $1.',
-
-'versionrequired' => 'Version $1 of MediaWiki required',
-'versionrequiredtext' => 'Version $1 of MediaWiki is required to use this page. See [[Special:Version]]',
-
-'widthheight'          => '$1×$2',
-'ok'                   => 'OK',
-'sitetitle'            => '{{SITENAME}}',
-'pagetitle'            => '$1 - {{SITENAME}}',
-'sitesubtitle' => '',
-'retrievedfrom' => 'Retrieved from "$1"',
-'youhavenewmessages' => 'You have $1 ($2).',
-'newmessageslink' => 'new messages',
-'newmessagesdifflink' => 'diff to penultimate revision',
-'editsection'=>'edit',
-'editold'=>'edit',
-'editsectionhint' => 'Edit section: $1',
-'toc' => 'Contents',
-'showtoc' => 'show',
-'hidetoc' => 'hide',
-'thisisdeleted' => 'View or restore $1?',
-'viewdeleted' => 'View $1?',
-'restorelink' => '{{PLURAL:$1|one deleted edit|$1 deleted edits}}',
-'feedlinks' => 'Feed:',
-'feed-invalid' => 'Invalid subscription feed type.',
-'sitenotice'   => '-', # the equivalent to wgSiteNotice
-'anonnotice' => '-',
-
-# Short words for each namespace, by default used in the 'article' tab in monobook
-'nstab-main' => 'Article',
-'nstab-user' => 'User page',
-'nstab-media' => 'Media page',
-'nstab-special' => 'Special',
-'nstab-project' => 'Project page',
-'nstab-image' => 'File',
-'nstab-mediawiki' => 'Message',
-'nstab-template' => 'Template',
-'nstab-help' => 'Help',
-'nstab-category' => 'Category',
-
-# Main script and global functions
-#
-'nosuchaction' => 'No such action',
-'nosuchactiontext' => 'The action specified by the URL is not
-recognized by the wiki',
-'nosuchspecialpage' => 'No such special page',
-'nospecialpagetext' => 'You have requested an invalid special page, a list of valid special pages may be found at [[{{ns:special}}:Specialpages]].',
-
-# General errors
-#
-'error'                        => 'Error',
-'databaseerror' => 'Database error',
-'dberrortext'  => 'A database query syntax error has occurred.
-This may indicate a bug in the software.
-The last attempted database query was:
-<blockquote><tt>$1</tt></blockquote>
-from within function "<tt>$2</tt>".
-MySQL returned error "<tt>$3: $4</tt>".',
-'dberrortextcl' => 'A database query syntax error has occurred.
-The last attempted database query was:
-"$1"
-from within function "$2".
-MySQL returned error "$3: $4"',
-'noconnect'            => 'Sorry! The wiki is experiencing some technical difficulties, and cannot contact the database server. <br />
-$1',
-'nodb'                 => 'Could not select database $1',
-'cachederror'  => 'The following is a cached copy of the requested page, and may not be up to date.',
-'laggedslavemode'   => 'Warning: Page may not contain recent updates.',
-'readonly'                     => 'Database locked',
-'enterlockreason'      => 'Enter a reason for the lock, including an estimate
-of when the lock will be released',
-'readonlytext'         => 'The database is currently locked to new entries and other modifications, probably for routine database maintenance, after which it will be back to normal.
-
-The administrator who locked it offered this explanation: $1',
-'missingarticle' => 'The database did not find the text of a page that it should have found, named "$1".
-
-This is usually caused by following an outdated diff or history link to a
-page that has been deleted.
-
-If this is not the case, you may have found a bug in the software.
-Please report this to an administrator, making note of the URL.',
-'readonly_lag' => 'The database has been automatically locked while the slave database servers catch up to the master',
-'internalerror' => 'Internal error',
-'filecopyerror' => 'Could not copy file "$1" to "$2".',
-'filerenameerror' => 'Could not rename file "$1" to "$2".',
-'filedeleteerror' => 'Could not delete file "$1".',
-'filenotfound' => 'Could not find file "$1".',
-'unexpected'   => 'Unexpected value: "$1"="$2".',
-'formerror'            => 'Error: could not submit form',
-'badarticleerror' => 'This action cannot be performed on this page.',
-'cannotdelete' => 'Could not delete the page or file specified. (It may have already been deleted by someone else.)',
-'badtitle'             => 'Bad title',
-'badtitletext' => 'The requested page title was invalid, empty, or an incorrectly linked inter-language or inter-wiki title. It may contain one more characters which cannot be used in titles.',
-'perfdisabled' => 'Sorry! This feature has been temporarily disabled because it slows the database down to the point that no one can use the wiki.',
-'perfdisabledsub' => 'Here is a saved copy from $1:', # obsolete?
-'perfcached' => 'The following data is cached and may not be up to date.',
-'perfcachedts' => 'The following data is cached, and was last updated $1.',
-'wrong_wfQuery_params' => 'Incorrect parameters to wfQuery()<br />
-Function: $1<br />
-Query: $2',
-'viewsource' => 'View source',
-'viewsourcefor' => 'for $1',
-'protectedtext' => 'This page has been locked to prevent editing.
-
-You can view and copy the source of this page:',
-'protectedinterface' => 'This page provides interface text for the software, and is locked to prevent abuse.',
-'editinginterface' => "'''Warning:''' You are editing a page which is used to provide interface text for the software. Changes to this page will affect the appearance of the user interface for other users.",
-'sqlhidden' => '(SQL query hidden)',
-
-# Login and logout pages
-#
-'logouttitle'  => 'User logout',
-'logouttext'   => '<strong>You are now logged out.</strong><br />
-You can continue to use {{SITENAME}} anonymously, or you can log in
-again as the same or as a different user. Note that some pages may
-continue to be displayed as if you were still logged in, until you clear
-your browser cache.',
-
-'welcomecreation' => "== Welcome, $1! ==
-
-Your account has been created. Don't forget to change your {{SITENAME}} preferences.",
-
-'loginpagetitle' => 'User login',
-'yourname'             => 'Username',
-'yourpassword' => 'Password',
-'yourpasswordagain' => 'Retype password',
-'remembermypassword' => 'Remember me',
-'yourdomainname'       => 'Your domain',
-'externaldberror'      => 'There was either an external authentication database error or you are not allowed to update your external account.',
-'loginproblem' => '<b>There has been a problem with your login.</b><br />Try again!',
-'alreadyloggedin' => "<strong>User $1, you are already logged in!</strong><br />",
-
-'login'                        => 'Log in',
-'loginprompt'  => 'You must have cookies enabled to log in to {{SITENAME}}.',
-'userlogin'            => 'Log in / create account',
-'logout'               => 'Log out',
-'userlogout'   => 'Log out',
-'notloggedin'  => 'Not logged in',
-'nologin'      => 'Don\'t have a login? $1.',
-'nologinlink'  => 'Create an account',
-'createaccount'        => 'Create account',
-'gotaccount'   => 'Already have an account? $1.',
-'gotaccountlink'       => 'Log in',
-'createaccountmail'    => 'by e-mail',
-'badretype'            => 'The passwords you entered do not match.',
-'userexists'   => 'Username entered already in use. Please choose a different name.',
-'youremail'            => 'E-mail *',
-'username'             => 'Username:',
-'uid'                  => 'User ID:',
-'yourrealname'         => 'Real name *',
-'yourlanguage' => 'Language:',
-'yourvariant'  => 'Variant',
-'yournick'             => 'Nickname:',
-'badsig'               => 'Invalid raw signature; check HTML tags.',
-'email'                        => 'E-mail',
-'prefs-help-email-enotif' => 'This address is also used to send you e-mail notifications if you enabled the options.',
-'prefs-help-realname'  => '* Real name (optional): if you choose to provide it this will be used for giving you attribution for your work.',
-'loginerror'   => 'Login error',
-'prefs-help-email'      => '* E-mail (optional): Enables others to contact you through your user or user_talk page without needing to reveal your identity.',
-'nocookiesnew' => 'The user account was created, but you are not logged in. {{SITENAME}} uses cookies to log in users. You have cookies disabled. Please enable them, then log in with your new username and password.',
-'nocookieslogin'       => '{{SITENAME}} uses cookies to log in users. You have cookies disabled. Please enable them and try again.',
-'noname'               => 'You have not specified a valid user name.',
-'loginsuccesstitle' => 'Login successful',
-'loginsuccess' => "'''You are now logged in to {{SITENAME}} as \"$1\".'''",
-'nosuchuser'   => 'There is no user by the name "$1". Check your spelling, or create a new account.',
-'nosuchusershort'      => 'There is no user by the name "$1". Check your spelling.',
-'nouserspecified'      => 'You have to specify a username.',
-'wrongpassword'                => 'Incorrect password entered. Please try again.',
-'wrongpasswordempty'           => 'Password entered was blank. Please try again.',
-'mailmypassword'       => 'E-mail password',
-'passwordremindertitle' => 'Password reminder from {{SITENAME}}',
-'passwordremindertext' => 'Someone (probably you, from IP address $1)
-requested that we send you a new password for {{SITENAME}} ($4).
-The password for user "$2" is now "$3".
-You should log in and change your password now.
-
-If someone else made this request or if you have remembered your password and
-you no longer wish to change it, you may ignore this message and continue using
-your old password.',
-'noemail' => 'There is no e-mail address recorded for user "$1".',
-'passwordsent' => 'A new password has been sent to the e-mail address
-registered for "$1".
-Please log in again after you receive it.',
-'eauthentsent' =>  'A confirmation e-mail has been sent to the nominated e-mail address.
-Before any other mail is sent to the account, you will have to follow the instructions in the e-mail,
-to confirm that the account is actually yours.',
-'loginend'                         => '',
-'signupend'                        => '{{int:loginend}}',
-'mailerror'                 => 'Error sending mail: $1',
-'acct_creation_throttle_hit' => 'Sorry, you have already created $1 accounts. You can\'t make any more.',
-'emailauthenticated'        => 'Your e-mail address was authenticated on $1.',
-'emailnotauthenticated'     => 'Your e-mail address is <strong>not yet authenticated</strong>. No e-mail
-will be sent for any of the following features.',
-'noemailprefs'              => 'Specify an e-mail address for these features to work.',
-'emailconfirmlink' => 'Confirm your e-mail address',
-'invalidemailaddress'  => 'The e-mail address cannot be accepted as it appears to have an invalid
-format. Please enter a well-formatted address or empty that field.',
-'accountcreated' => 'Account created',
-'accountcreatedtext' => 'The user account for $1 has been created.',
-
-# Edit page toolbar
-'bold_sample'=>'Bold text',
-'bold_tip'=>'Bold text',
-'italic_sample'=>'Italic text',
-'italic_tip'=>'Italic text',
-'link_sample'=>'Link title',
-'link_tip'=>'Internal link',
-'extlink_sample'=>'http://www.example.com link title',
-'extlink_tip'=>'External link (remember http:// prefix)',
-'headline_sample'=>'Headline text',
-'headline_tip'=>'Level 2 headline',
-'math_sample'=>'Insert formula here',
-'math_tip'=>'Mathematical formula (LaTeX)',
-'nowiki_sample'=>'Insert non-formatted text here',
-'nowiki_tip'=>'Ignore wiki formatting',
-'image_sample'=>'Example.jpg',
-'image_tip'=>'Embedded image',
-'media_sample'=>'Example.ogg',
-'media_tip'=>'Media file link',
-'sig_tip'=>'Your signature with timestamp',
-'hr_tip'=>'Horizontal line (use sparingly)',
-
-# Edit pages
-#
-'summary'              => 'Summary',
-'subject'              => 'Subject/headline',
-'minoredit'            => 'This is a minor edit',
-'watchthis'            => 'Watch this page',
-'savearticle'  => 'Save page',
-'preview'              => 'Preview',
-'showpreview'  => 'Show preview',
-'showlivepreview'      => 'Live preview',
-'showdiff'     => 'Show changes',
-'anoneditwarning' => "'''Warning:''' You are not logged in. Your IP address will be recorded in this page's edit history.",
-'missingsummary' => "'''Reminder:''' You have not provided an edit summary. If you click Save again, your edit will be saved without one.",
-'missingcommenttext' => 'Please enter a comment below.',
-'blockedtitle' => 'User is blocked',
-'blockedtext' => "<big>'''Your user name or IP address has been blocked.'''</big>
-
-The block was made by $1. The reason given is ''$2''.
-
-You can contact $1 or another [[{{ns:project}}:Administrators|administrator]] to discuss the block.
-You cannot use the 'email this user' feature unless a valid email address is specified in your
-[[Special:Preferences|account preferences]]. Your current IP address is $3. Please include this in any queries.",
-'blockedoriginalsource' => "The source of '''$1''' is shown below:",
-'blockededitsource' => "The text of '''your edits''' to '''$1''' is shown below:",
-'whitelistedittitle' => 'Login required to edit',
-'whitelistedittext' => 'You have to $1 to edit pages.',
-'whitelistreadtitle' => 'Login required to read',
-'whitelistreadtext' => 'You have to [[Special:Userlogin|login]] to read pages.',
-'whitelistacctitle' => 'You are not allowed to create an account',
-'whitelistacctext' => 'To be allowed to create accounts in this Wiki you have to [[Special:Userlogin|log]] in and have the appropriate permissions.',
-'confirmedittitle' => 'E-mail confirmation required to edit',
-'confirmedittext' => 'You must confirm your e-mail address before editing pages. Please set and validate your e-mail address through your [[Special:Preferences|user preferences]].',
-'loginreqtitle'        => 'Login Required',
-'loginreqlink' => 'log in',
-'loginreqpagetext'     => 'You must $1 to view other pages.',
-'accmailtitle' => 'Password sent.',
-'accmailtext' => 'The password for "$1" has been sent to $2.',
-'newarticle'   => '(New)',
-'newarticletext' =>
-"You've followed a link to a page that doesn't exist yet.
-To create the page, start typing in the box below
-(see the [[{{ns:help}}:Contents|help page]] for more info).
-If you are here by mistake, just click your browser's '''back''' button.",
-'newarticletextanon' => '{{int:newarticletext}}',
-'talkpagetext' => '<!-- MediaWiki:talkpagetext -->',
-'anontalkpagetext' => "----''This is the discussion page for an anonymous user who has not created an account yet or who does not use it. We therefore have to use the numerical IP address to identify him/her. Such an IP address can be shared by several users. If you are an anonymous user and feel that irrelevant comments have been directed at you, please [[Special:Userlogin|create an account or log in]] to avoid future confusion with other anonymous users.''",
-'noarticletext' => 'There is currently no text in this page, you can [[{{ns:special}}:Search/{{PAGENAME}}|search for this page title]] in other pages or [{{fullurl:{{FULLPAGENAME}}|action=edit}} edit this page].',
-'noarticletextanon' => '{{int:noarticletext}}',
-'clearyourcache' => "'''Note:''' After saving, you may have to bypass your browser's cache to see the changes. '''Mozilla / Firefox / Safari:''' hold down ''Shift'' while clicking ''Reload'', or press ''Ctrl-Shift-R'' (''Cmd-Shift-R'' on Apple Mac); '''IE:''' hold ''Ctrl'' while clicking ''Refresh'', or press ''Ctrl-F5''; '''Konqueror:''': simply click the ''Reload'' button, or press ''F5''; '''Opera''' users may need to completely clear their cache in ''Tools→Preferences''.",
-'usercssjsyoucanpreview' => '<strong>Tip:</strong> Use the \'Show preview\' button to test your new CSS/JS before saving.',
-'usercsspreview' => '\'\'\'Remember that you are only previewing your user CSS, it has not yet been saved!\'\'\'',
-'userjspreview' => '\'\'\'Remember that you are only testing/previewing your user JavaScript, it has not yet been saved!\'\'\'',
-'userinvalidcssjstitle' => "'''Warning:''' There is no skin \"$1\". Remember that custom .css and .js pages use a lowercase title, e.g. User:Foo/monobook.css as opposed to User:Foo/Monobook.css.",
-'updated' => '(Updated)',
-'note' => '<strong>Note:</strong>',
-'previewnote' => '<strong>This is only a preview; changes have not yet been saved!</strong>',
-'session_fail_preview' => '<strong>Sorry! We could not process your edit due to a loss of session data.
-Please try again. If it still doesn\'t work, try logging out and logging back in.</strong>',
-'previewconflict' => 'This preview reflects the text in the upper text editing area as it will appear if you choose to save.',
-'session_fail_preview_html' => '<strong>Sorry! We could not process your edit due to a loss of session data.</strong>
-
-\'\'Because this wiki has raw HTML enabled, the preview is hidden as a precaution against JavaScript attacks.\'\'
-
-<strong>If this is a legitimate edit attempt, please try again. If it still doesn\'t work, try logging out and logging back in.</strong>',
-'importing' => 'Importing $1',
-'editing' => 'Editing $1',
-'editingsection' => 'Editing $1 (section)',
-'editingcomment' => 'Editing $1 (comment)',
-'editconflict' => 'Edit conflict: $1',
-'explainconflict' => 'Someone else has changed this page since you started editing it.
-The upper text area contains the page text as it currently exists.
-Your changes are shown in the lower text area.
-You will have to merge your changes into the existing text.
-<b>Only</b> the text in the upper text area will be saved when you
-press "Save page".<br />',
-'yourtext'             => 'Your text',
-'storedversion' => 'Stored version',
-'nonunicodebrowser' => "<strong>WARNING: Your browser is not unicode compliant. A workaround is in place to allow you to safely edit articles: non-ASCII characters will appear in the edit box as hexadecimal codes.</strong>",
-'editingold'   => "<strong>WARNING: You are editing an out-of-date
-revision of this page.
-If you save it, any changes made since this revision will be lost.</strong>",
-'yourdiff'             => 'Differences',
-'copyrightwarning' => 'Please note that all contributions to {{SITENAME}} are considered to be released under the $2 (see $1 for details). If you don\'t want your writing to be edited mercilessly and redistributed at will, then don\'t submit it here.<br />
-You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
-<strong>DO NOT SUBMIT COPYRIGHTED WORK WITHOUT PERMISSION!</strong>',
-'copyrightwarning2' => 'Please note that all contributions to {{SITENAME}} may be edited, altered, or removed by other contributors. If you don\'t want your writing to be edited mercilessly, then don\'t submit it here.<br />
-You are also promising us that you wrote this yourself, or copied it from a
-public domain or similar free resource (see $1 for details).
-<strong>DO NOT SUBMIT COPYRIGHTED WORK WITHOUT PERMISSION!</strong>',
-'longpagewarning' => "<strong>WARNING: This page is $1 kilobytes long; some
-browsers may have problems editing pages approaching or longer than 32kb.
-Please consider breaking the page into smaller sections.</strong>",
-'longpageerror' => "<strong>ERROR: The text you have submitted is $1 kilobytes 
-long, which is longer than the maximum of $2 kilobytes. It cannot be saved.</strong>",
-'readonlywarning' => '<strong>WARNING: The database has been locked for maintenance,
-so you will not be able to save your edits right now. You may wish to cut-n-paste
-the text into a text file and save it for later.</strong>',
-'protectedpagewarning' => "<strong>WARNING:  This page has been locked so that only users with sysop privileges can edit it.</strong>",
-'semiprotectedpagewarning' => "'''Note:''' This page has been locked so that only registered users can edit it.",
-'templatesused'        => 'Templates used on this page:',
-'edittools' => '<!-- Text here will be shown below edit and upload forms. -->',
-'nocreatetitle' => 'Page creation limited',
-'nocreatetext' => 'This site has restricted the ability to create new pages.
-You can go back and edit an existing page, or [[Special:Userlogin|log in or create an account]].',
-'cantcreateaccounttitle' => 'Can\'t create account',
-'cantcreateaccounttext' => 'Account creation from this IP address (<b>$1</b>) has been blocked. 
-This is probably due to persistent vandalism from your school or Internet service 
-provider. ',
-
-# History pages
-#
-'revhistory'   => 'Revision history',
-'viewpagelogs' => 'View logs for this page',
-'nohistory'            => 'There is no edit history for this page.',
-'revnotfound'  => 'Revision not found',
-'revnotfoundtext' => "The old revision of the page you asked for could not be found.
-Please check the URL you used to access this page.",
-'loadhist'             => 'Loading page history',
-'currentrev'   => 'Current revision',
-'revisionasof'          => 'Revision as of $1',
-'old-revision-navigation' => 'Revision as of $1; $5<br />($6) $3 | $2 | $4 ($7)',
-'previousrevision'     => '←Older revision',
-'nextrevision'         => 'Newer revision→',
-'currentrevisionlink'   => 'Current revision',
-'cur'                  => 'cur',
-'next'                 => 'next',
-'last'                 => 'last',
-'orig'                 => 'orig',
-'histlegend'   => 'Diff selection: mark the radio boxes of the versions to compare and hit enter or the button at the bottom.<br />
-Legend: (cur) = difference with current version,
-(last) = difference with preceding version, M = minor edit.',
-'history_copyright'    => '-',
-'deletedrev' => '[deleted]',
-'histfirst' => 'Earliest',
-'histlast' => 'Latest',
-'rev-deleted-comment' => '(comment removed)',
-'rev-deleted-user' => '(username removed)',
-'rev-deleted-text-permission' => '<div class="mw-warning plainlinks">
-This page revision has been removed from the public archives.
-There may be details in the [{{fullurl:Special:Log/delete|page={{PAGENAMEE}}}} deletion log].
-</div>',
-'rev-deleted-text-view' => '<div class="mw-warning plainlinks">
-This page revision has been removed from the public archives.
-As an administrator on this site you can view it;
-there may be details in the [{{fullurl:Special:Log/delete|page={{PAGENAMEE}}}} deletion log].
-</div>',
-#'rev-delundel' => 'del/undel',
-'rev-delundel' => 'show/hide',
-
-'history-feed-title' => 'Revision history',
-'history-feed-description'     => 'Revision history for this page on the wiki',
-'history-feed-item-nocomment' => '$1 at $2', # user at time
-'history-feed-empty' => 'The requested page doesn\'t exist.
-It may have been deleted from the wiki, or renamed.
-Try [[Special:Search|searching on the wiki]] for relevant new pages.',
-
-# Revision deletion
-#
-'revisiondelete' => 'Delete/undelete revisions',
-'revdelete-selected' => 'Selected revision of [[:$1]]:',
-'revdelete-text' => "Deleted revisions will still appear in the page history,
-but their text contents will be inaccessible to the public.
-
-Other admins on this wiki will still be able to access the hidden content and can
-undelete it again through this same interface, unless an additional restriction
-is placed by the site operators.",
-'revdelete-legend' => 'Set revision restrictions:',
-'revdelete-hide-text' => 'Hide revision text',
-'revdelete-hide-comment' => 'Hide edit comment',
-'revdelete-hide-user' => 'Hide editor\'s username/IP',
-'revdelete-hide-restricted' => 'Apply these restrictions to sysops as well as others',
-'revdelete-log' => 'Log comment:',
-'revdelete-submit' => 'Apply to selected revision',
-'revdelete-logentry' => 'changed revision visibility for [[$1]]',
-
-# Diffs
-#
-'difference'   => '(Difference between revisions)',
-'loadingrev'   => 'loading revision for diff',
-'lineno'               => "Line $1:",
-'editcurrent'  => 'Edit the current version of this page',
-'selectnewerversionfordiff' => 'Select a newer version for comparison',
-'selectolderversionfordiff' => 'Select an older version for comparison',
-'compareselectedversions' => 'Compare selected versions',
-
-# Search results
-#
-'searchresults' => 'Search results',
-'searchresulttext' => "For more information about searching {{SITENAME}}, see [[{{ns:project}}:Searching|Searching {{SITENAME}}]].",
-'searchsubtitle' => "You searched for '''[[:$1]]'''",
-'searchsubtitleinvalid' => "You searched for '''$1'''",
-'badquery'             => 'Badly formed search query',
-'badquerytext' => 'We could not process your query.
-This is probably because you have attempted to search for a
-word fewer than three letters long, which is not yet supported.
-It could also be that you have mistyped the expression, for
-example "fish and and scales".
-Please try another query.',
-'matchtotals'  => "The query \"$1\" matched $2 page titles
-and the text of $3 pages.",
-'noexactmatch' => "'''There is no page titled \"$1\".''' You can [[:$1|create this page]].",
-'titlematches' => 'Article title matches',
-'notitlematches' => 'No page title matches',
-'textmatches'  => 'Page text matches',
-'notextmatches'        => 'No page text matches',
-'prevn'                        => "previous $1",
-'nextn'                        => "next $1",
-'viewprevnext' => "View ($1) ($2) ($3).",
-'showingresults' => "Showing below up to <b>$1</b> results starting with #<b>$2</b>.",
-'showingresultsnum' => "Showing below <b>$3</b> results starting with #<b>$2</b>.",
-'nonefound'            => "'''Note''': Unsuccessful searches are
-often caused by searching for common words like \"have\" and \"from\",
-which are not indexed, or by specifying more than one search term (only pages
-containing all of the search terms will appear in the result).",
-'powersearch' => 'Search',
-'powersearchtext' => "Search in namespaces:<br />$1<br />$2 List redirects<br />Search for $3 $9",
-'searchdisabled' => '{{SITENAME}} search is disabled. You can search via Google in the meantime. Note that their indexes of {{SITENAME}} content may be out of date.',
-
-'googlesearch' => '
-<form method="get" action="http://www.google.com/search" id="googlesearch">
-    <input type="hidden" name="domains" value="{{SERVER}}" />
-    <input type="hidden" name="num" value="50" />
-    <input type="hidden" name="ie" value="$2" />
-    <input type="hidden" name="oe" value="$2" />
-
-    <input type="text" name="q" size="31" maxlength="255" value="$1" />
-    <input type="submit" name="btnG" value="$3" />
-  <div>
-    <input type="radio" name="sitesearch" id="gwiki" value="{{SERVER}}" checked="checked" /><label for="gwiki">{{SITENAME}}</label>
-    <input type="radio" name="sitesearch" id="gWWW" value="" /><label for="gWWW">WWW</label>
-  </div>
-</form>',
-'blanknamespace' => '(Main)',
-
-# Preferences page
-#
-'preferences'  => 'Preferences',
-'prefsnologin' => 'Not logged in',
-'prefsnologintext'     => "You must be [[Special:Userlogin|logged in]] to set user preferences.",
-'prefsreset'   => 'Preferences have been reset from storage.',
-'qbsettings'   => 'Quickbar',
-'changepassword' => 'Change password',
-'skin'                 => 'Skin',
-'math'                 => 'Math',
-'dateformat'           => 'Date format',
-'datedefault'          => 'No preference',
-'datetime'             => 'Date and time',
-'math_failure'         => 'Failed to parse',
-'math_unknown_error'   => 'unknown error',
-'math_unknown_function'        => 'unknown function',
-'math_lexing_error'    => 'lexing error',
-'math_syntax_error'    => 'syntax error',
-'math_image_error'     => 'PNG conversion failed; check for correct installation of latex, dvips, gs, and convert',
-'math_bad_tmpdir'      => 'Can\'t write to or create math temp directory',
-'math_bad_output'      => 'Can\'t write to or create math output directory',
-'math_notexvc' => 'Missing texvc executable; please see math/README to configure.',
-'prefs-personal' => 'User profile',
-'prefs-rc' => 'Recent changes',
-'prefs-watchlist' => 'Watchlist',
-'prefs-watchlist-days' => 'Number of days to show in watchlist:',
-'prefs-watchlist-edits' => 'Number of edits to show in expanded watchlist:',
-'prefs-misc' => 'Misc',
-'saveprefs'            => 'Save',
-'resetprefs'   => 'Reset',
-'oldpassword'  => 'Old password:',
-'newpassword'  => 'New password:',
-'retypenew'            => 'Retype new password:',
-'textboxsize'  => 'Editing',
-'rows'                 => 'Rows:',
-'columns'              => 'Columns:',
-'searchresultshead' => 'Search',
-'resultsperpage' => 'Hits per page:',
-'contextlines' => 'Lines per hit:',
-'contextchars' => 'Context per line:',
-'stubthreshold' => 'Threshold for stub display:',
-'recentchangescount' => 'Titles in recent changes:',
-'savedprefs'   => 'Your preferences have been saved.',
-'timezonelegend' => 'Time zone',
-'timezonetext' => 'The number of hours your local time differs from server time (UTC).',
-'localtime'    => 'Local time',
-'timezoneoffset' => 'Offset¹',
-'servertime'   => 'Server time',
-'guesstimezone' => 'Fill in from browser',
-'allowemail'           => 'Enable e-mail from other users',
-'defaultns'            => 'Search in these namespaces by default:',
-'default'              => 'default',
-'files'                        => 'Files',
-
-# User rights
-'userrights-lookup-user' => 'Manage user groups',
-'userrights-user-editname' => 'Enter a username:',
-'editusergroup' => 'Edit User Groups',
-
-'userrights-editusergroup' => 'Edit user groups',
-'saveusergroups' => 'Save User Groups',
-'userrights-groupsmember' => 'Member of:',
-'userrights-groupsavailable' => 'Available groups:',
-'userrights-groupshelp' => 'Select groups you want the user to be removed from or added to.
-Unselected groups will not be changed. You can deselect a group with CTRL + Left Click',
-'userrights-logcomment' => 'Changed group membership from $1 to $2',
-
-# Groups
-'group'                   => 'Group:',
-'group-bot'               => 'Bots',
-'group-sysop'             => 'Sysops',
-'group-bureaucrat'        => 'Bureaucrats',
-'group-steward'           => 'Stewards',
-'group-all'               => '(all)',
-
-'group-bot-member'        => 'Bot',
-'group-sysop-member'      => 'Sysop',
-'group-bureaucrat-member' => 'Bureaucrat',
-'group-steward-member'    => 'Steward',
-
-'grouppage-bot' => '{{ns:project}}:Bots',
-'grouppage-sysop' => '{{ns:project}}:Administrators',
-'grouppage-bureaucrat' => '{{ns:project}}:Bureaucrats',
-
-# Recent changes
-#
-'changes' => 'changes',
-'recentchanges' => 'Recent changes',
-'recentchanges-url' => 'Special:Recentchanges',
-'recentchangestext' => 'Track the most recent changes to the wiki on this page.',
-'rcnote'               => "Below are the last <strong>$1</strong> changes in the last <strong>$2</strong> days, as of $3.",
-'rcnotefrom'   => "Below are the changes since <b>$2</b> (up to <b>$1</b> shown).",
-'rclistfrom'   => "Show new changes starting from $1",
-'rcshowhideminor' => '$1 minor edits',
-'rcshowhidebots' => '$1 bots',
-'rcshowhideliu' => '$1 logged-in users',
-'rcshowhideanons' => '$1 anonymous users',
-'rcshowhidepatr' => '$1 patrolled edits',
-'rcshowhidemine' => '$1 my edits',
-'rclinks'              => "Show last $1 changes in last $2 days<br />$3",
-'diff'                 => 'diff',
-'hist'                 => 'hist',
-'hide'                 => 'Hide',
-'show'                 => 'Show',
-'minoreditletter' => 'm',
-'newpageletter' => 'N',
-'boteditletter' => 'b',
-'sectionlink' => '→',
-'number_of_watching_users_RCview'      => '[$1]',
-'number_of_watching_users_pageview'    => '[$1 watching user/s]',
-'rc_categories'        => 'Limit to categories (separate with "|")',
-'rc_categories_any'    => 'Any',
-
-# Upload
-#
-'upload'               => 'Upload file',
-'uploadbtn'            => 'Upload file',
-'reupload'             => 'Re-upload',
-'reuploaddesc' => 'Return to the upload form.',
-'uploadnologin' => 'Not logged in',
-'uploadnologintext'    => "You must be [[Special:Userlogin|logged in]]
-to upload files.",
-'upload_directory_read_only' => 'The upload directory ($1) is not writable by the webserver.',
-'uploaderror'  => 'Upload error',
-'uploadtext'   => "Use the form below to upload files, to view or search previously uploaded images go to the [[Special:Imagelist|list of uploaded files]], uploads and deletions are also logged in the [[Special:Log/upload|upload log]].
-
-To include the image in a page, use a link in the form
-'''<nowiki>[[{{ns:image}}:File.jpg]]</nowiki>''',
-'''<nowiki>[[{{ns:image}}:File.png|alt text]]</nowiki>''' or
-'''<nowiki>[[{{ns:media}}:File.ogg]]</nowiki>''' for directly linking to the file.",
-'uploadlog'            => 'upload log',
-'uploadlogpage' => 'Upload log',
-'uploadlogpagetext' => 'Below is a list of the most recent file uploads.',
-'filename'             => 'Filename',
-'filedesc'             => 'Summary',
-'fileuploadsummary' => 'Summary:',
-'filestatus' => 'Copyright status',
-'filesource' => 'Source',
-'copyrightpage' => "Project:Copyrights",
-'copyrightpagename' => "{{SITENAME}} copyright",
-'uploadedfiles'        => 'Uploaded files',
-'ignorewarning'        => 'Ignore warning and save file anyway.',
-'ignorewarnings'       => 'Ignore any warnings',
-'minlength'            => 'File names must be at least three letters.',
-'illegalfilename'      => 'The filename "$1" contains characters that are not allowed in page titles. Please rename the file and try uploading it again.',
-'badfilename'  => 'File name has been changed to "$1".',
-'badfiletype'  => "\".$1\" is not a recommended image file format.",
-'largefile'            => 'It is recommended that files do not exceed $1 bytes in size; this file is $2 bytes',
-'largefileserver' => 'This file is bigger than the server is configured to allow.',
-'emptyfile'            => 'The file you uploaded seems to be empty. This might be due to a typo in the file name. Please check whether you really want to upload this file.',
-'fileexists'           => 'A file with this name exists already, please check $1 if you are not sure if you want to change it.',
-'fileexists-forbidden' => 'A file with this name exists already; please go back and upload this file under a new name. [[Image:$1|thumb|center|$1]]',
-'fileexists-shared-forbidden' => 'A file with this name exists already in the shared file repository; please go back and upload this file under a new name. [[Image:$1|thumb|center|$1]]',
-'successfulupload' => 'Successful upload',
-'fileuploaded' => "File $1 uploaded successfully.
-Please follow this link: $2 to the description page and fill
-in information about the file, such as where it came from, when it was
-created and by whom, and anything else you may know about it. If this is an image, you can insert it like this: <tt><nowiki>[[Image:$1|thumb|Description]]</nowiki></tt>",
-'uploadwarning' => 'Upload warning',
-'savefile'             => 'Save file',
-'uploadedimage' => "uploaded \"[[$1]]\"",
-'uploaddisabled' => 'Uploads disabled',
-'uploaddisabledtext' => 'File uploads are disabled on this wiki.',
-'uploadscripted' => 'This file contains HTML or script code that may be erroneously be interpreted by a web browser.',
-'uploadcorrupt' => 'The file is corrupt or has an incorrect extension. Please check the file and upload again.',
-'uploadvirus' => 'The file contains a virus! Details: $1',
-'sourcefilename' => 'Source filename',
-'destfilename' => 'Destination filename',
-'filewasdeleted' => 'A file of this name has been previously uploaded and subsequently deleted. You should check the $1 before proceeding to upload it again.',
-
-'license' => 'Licensing',
-'nolicense' => 'None selected',
-'licenses' => '-', # Don't duplicate this in translations
-
-# Image list
-#
-'imagelist'            => 'File list',
-'imagelisttext' => "Below is a list of '''$1''' {{plural:$1|file|files}} sorted $2.",
-'imagelistforuser' => "This shows only images uploaded by $1.",
-'getimagelist' => 'fetching file list',
-'ilsubmit'             => 'Search',
-'showlast'             => 'Show last $1 files sorted $2.',
-'byname'               => 'by name',
-'bydate'               => 'by date',
-'bysize'               => 'by size',
-'imgdelete'            => 'del',
-'imgdesc'              => 'desc',
-'imglegend'            => 'Legend: (desc) = show/edit file description.',
-'imghistory'   => 'File history',
-'revertimg'            => 'rev',
-'deleteimg'            => 'del',
-'deleteimgcompletely'          => 'Delete all revisions of this file',
-'imghistlegend' => 'Legend: (cur) = this is the current file, (del) = delete
-this old version, (rev) = revert to this old version.
-<br /><i>Click on date to see the file uploaded on that date</i>.',
-'imagelinks'   => 'Links',
-'linkstoimage' => 'The following pages link to this file:',
-'nolinkstoimage' => 'There are no pages that link to this file.',
-'sharedupload' => 'This file is a shared upload and may be used by other projects.',
-'shareduploadwiki' => 'Please see the $1 for further information.',
-'shareduploadwiki-linktext' => 'file description page',
-'shareddescriptionfollows' => '-',
-'noimage'       => 'No file by this name exists, you can $1.',
-'noimage-linktext'       => 'upload it',
-'uploadnewversion-linktext' => 'Upload a new version of this file',
-
-# Mime search
-#
-'mimesearch' => 'MIME search',
-'mimetype' => 'MIME type:',
-'download' => 'download',
-
-# Unwatchedpages
-#
-'unwatchedpages' => 'Unwatched pages',
-
-# List redirects
-'listredirects' => 'List redirects',
-
-# Unused templates
-'unusedtemplates' => 'Unused templates',
-'unusedtemplatestext' => 'This page lists all pages in the template namespace which are not included in another page. Remember to check for other links to the templates before deleting them.',
-'unusedtemplateswlh' => 'other links',
-
-# Random redirect
-'randomredirect' => 'Random redirect',
-
-# Statistics
-#
-'statistics'   => 'Statistics',
-'sitestats'            => '{{SITENAME}} statistics',
-'userstats'            => 'User statistics',
-'sitestatstext' => "There are '''$1''' total pages in the database.
-This includes \"talk\" pages, pages about {{SITENAME}}, minimal \"stub\"
-pages, redirects, and others that probably don't qualify as content pages.
-Excluding those, there are '''$2''' pages that are probably legitimate
-content pages. 
-
-'''$8''' files have been uploaded.
-
-There have been a total of '''$3''' page views, and '''$4''' page edits
-since the wiki was setup.
-That comes to '''$5''' average edits per page, and '''$6''' views per edit.
-
-The [http://meta.wikimedia.org/wiki/Help:Job_queue job queue] length is '''$7'''.",
-'userstatstext' => "There are '''$1''' registered users, of which
-'''$2''' (or '''$4%''') are administrators (see $3).",
-'statistics-mostpopular' => 'Most viewed pages',
-
-'disambiguations'      => 'Disambiguation pages',
-'disambiguationspage'  => 'Template:disambig',
-'disambiguationstext'  => "The following pages link to a <i>disambiguation page</i>. They should link to the appropriate topic instead.<br />A page is treated as disambiguation if it is linked from $1.<br />Links from other namespaces are <i>not</i> listed here.",
-
-'doubleredirects'      => 'Double redirects',
-'doubleredirectstext'  => "Each row contains links to the first and second redirect, as well as the first line of the second redirect text, usually giving the \"real\" target page, which the first redirect should point to.",
-
-'brokenredirects'      => 'Broken redirects',
-'brokenredirectstext'  => 'The following redirects link to non-existent pages:',
-
-
-# Miscellaneous special pages
-#
-'nbytes'               => '$1 {{PLURAL:$1|byte|bytes}}',
-'ncategories'          => '$1 {{PLURAL:$1|category|categories}}',
-'nlinks'               => '$1 {{PLURAL:$1|link|links}}',
-'nmembers'             => '$1 {{PLURAL:$1|member|members}}',
-'nrevisions'           => '$1 {{PLURAL:$1|revision|revisions}}',
-'nviews'               => '$1 {{PLURAL:$1|view|views}}',
-
-'lonelypages'  => 'Orphaned pages',
-'uncategorizedpages'   => 'Uncategorized pages',
-'uncategorizedcategories'      => 'Uncategorized categories',
-'uncategorizedimages' => 'Uncategorized images',
-'unusedcategories' => 'Unused categories',
-'unusedimages' => 'Unused files',
-'popularpages' => 'Popular pages',
-'wantedcategories' => 'Wanted categories',
-'wantedpages'  => 'Wanted pages',
-'mostlinked'   => 'Most linked to pages',
-'mostlinkedcategories' => 'Most linked to categories',
-'mostcategories' => 'Articles with the most categories',
-'mostimages'   => 'Most linked to images',
-'mostrevisions' => 'Articles with the most revisions',
-'allpages'             => 'All pages',
-'prefixindex'   => 'Prefix index',
-'randompage'   => 'Random page',
-'randompage-url'=> 'Special:Random',
-'shortpages'   => 'Short pages',
-'longpages'            => 'Long pages',
-'deadendpages'  => 'Dead-end pages',
-'listusers'            => 'User list',
-'specialpages' => 'Special pages',
-'spheading'            => 'Special pages for all users',
-'restrictedpheading'   => 'Restricted special pages',
-'recentchangeslinked' => 'Related changes',
-'rclsub'               => "(to pages linked from \"$1\")",
-'newpages'             => 'New pages',
-'newpages-username' => 'Username:',
-'ancientpages'         => 'Oldest pages',
-'intl'         => 'Interlanguage links',
-'move' => 'Move',
-'movethispage' => 'Move this page',
-'unusedimagestext' => '<p>Please note that other web sites may link to an image with
-a direct URL, and so may still be listed here despite being
-in active use.</p>',
-'unusedcategoriestext' => 'The following category pages exist although no other article or category make use of them.',
-
-'booksources'  => 'Book sources',
-'categoriespagetext' => 'The following categories exist in the wiki.',
-'data' => 'Data',
-'userrights' => 'User rights management',
-'groups' => 'User groups',
-
-'booksourcetext' => "Below is a list of links to other sites that
-sell new and used books, and may also have further information
-about books you are looking for.",
-'isbn' => 'ISBN',
-'rfcurl' =>  'http://www.ietf.org/rfc/rfc$1.txt',
-'pubmedurl' =>  'http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=Retrieve&db=pubmed&dopt=Abstract&list_uids=$1',
-'alphaindexline' => "$1 to $2",
-'version'              => 'Version',
-'log'          => 'Logs',
-'alllogstext'  => 'Combined display of upload, deletion, protection, blocking, and sysop logs.
-You can narrow down the view by selecting a log type, the user name, or the affected page.',
-'logempty' => 'No matching items in log.',
-
-
-# Special:Allpages
-'nextpage'          => 'Next page ($1)',
-'allpagesfrom'         => 'Display pages starting at:',
-'allarticles'          => 'All articles',
-'allinnamespace'       => 'All pages ($1 namespace)',
-'allnotinnamespace'    => 'All pages (not in $1 namespace)',
-'allpagesprev'         => 'Previous',
-'allpagesnext'         => 'Next',
-'allpagessubmit'       => 'Go',
-'allpagesprefix'       => 'Display pages with prefix:',
-'allpagesbadtitle'     => 'The given page title was invalid or had an inter-language or inter-wiki prefix. It may contain one more characters which cannot be used in titles.',
-
-# E this user
-#
-'mailnologin'  => 'No send address',
-'mailnologintext' => "You must be [[Special:Userlogin|logged in]]
-and have a valid e-mail address in your [[Special:Preferences|preferences]]
-to send e-mail to other users.",
-'emailuser'            => 'E-mail this user',
-'emailpage'            => 'E-mail user',
-'emailpagetext'        => 'If this user has entered a valid e-mail address in
-his or her user preferences, the form below will send a single message.
-The e-mail address you entered in your user preferences will appear
-as the "From" address of the mail, so the recipient will be able
-to reply.',
-'usermailererror' => 'Mail object returned error:',
-'defemailsubject'  => "{{SITENAME}} e-mail",
-'noemailtitle' => 'No e-mail address',
-'noemailtext'  => 'This user has not specified a valid e-mail address,
-or has chosen not to receive e-mail from other users.',
-'emailfrom'            => 'From',
-'emailto'              => 'To',
-'emailsubject' => 'Subject',
-'emailmessage' => 'Message',
-'emailsend'            => 'Send',
-'emailsent'            => 'E-mail sent',
-'emailsenttext' => 'Your e-mail message has been sent.',
-
-# Watchlist
-'watchlist'                    => 'My watchlist',
-'watchlistfor' => "(for '''$1''')",
-'nowatchlist'          => 'You have no items on your watchlist.',
-'watchlistanontext' => 'Please $1 to view or edit items on your watchlist.',
-'watchlistcount'       => "'''You have $1 items on your watchlist, including talk pages.'''",
-'clearwatchlist'       => 'Clear watchlist',
-'watchlistcleartext' => 'Are you sure you wish to remove them?',
-'watchlistclearbutton' => 'Clear watchlist',
-'watchlistcleardone' => 'Your watchlist has been cleared. $1 items were removed.',
-'watchnologin'         => 'Not logged in',
-'watchnologintext'     => 'You must be [[Special:Userlogin|logged in]] to modify your watchlist.',
-'addedwatch'           => 'Added to watchlist',
-'addedwatchtext'       => "The page \"[[:$1]]\" has been added to your [[Special:Watchlist|watchlist]].
-Future changes to this page and its associated Talk page will be listed there,
-and the page will appear '''bolded''' in the [[Special:Recentchanges|list of recent changes]] to
-make it easier to pick out.
-
-If you want to remove the page from your watchlist later, click \"Unwatch\" in the sidebar.",
-'removedwatch'         => 'Removed from watchlist',
-'removedwatchtext'     => "The page \"[[:$1]]\" has been removed from your watchlist.",
-'watch' => 'Watch',
-'watchthispage'                => 'Watch this page',
-'unwatch' => 'Unwatch',
-'unwatchthispage'      => 'Stop watching',
-'notanarticle'         => 'Not a content page',
-'watchnochange'        => 'None of your watched items was edited in the time period displayed.',
-'watchdetails'         => '* $1 pages watched not counting talk pages
-* [[Special:Watchlist/edit|Show and edit complete watchlist]]
-* [[Special:Watchlist/clear|Remove all pages]]',
-'wlheader-enotif'              => "* E-mail notification is enabled.",
-'wlheader-showupdated'   => "* Pages which have been changed since you last visited them are shown in '''bold'''",
-'watchmethod-recent'=> 'checking recent edits for watched pages',
-'watchmethod-list'     => 'checking watched pages for recent edits',
-'removechecked'        => 'Remove checked items from watchlist',
-'watchlistcontains' => "Your watchlist contains $1 pages.",
-'watcheditlist'                => 'Here\'s an alphabetical list of your
-watched content pages. Check the boxes of pages you want to remove from your watchlist and click the \'remove checked\' button
-at the bottom of the screen (deleting a content page also deletes the accompanying talk page and vice versa).',
-'removingchecked'      => 'Removing requested items from watchlist...',
-'couldntremove'        => "Couldn't remove item '$1'...",
-'iteminvalidname'      => "Problem with item '$1', invalid name...",
-'wlnote'               => 'Below are the last $1 changes in the last <b>$2</b> hours.',
-'wlshowlast'           => 'Show last $1 hours $2 days $3',
-'wlsaved'              => 'This is a saved version of your watchlist.',
-'wlhideshowown'        => '$1 my edits',
-'wlhideshowbots'       => '$1 bot edits',
-'wldone'                       => 'Done.',
-
-'enotif_mailer'                => '{{SITENAME}} Notification Mailer',
-'enotif_reset'                 => 'Mark all pages visited',
-'enotif_newpagetext'=> 'This is a new page.',
-'changed'                      => 'changed',
-'created'                      => 'created',
-'enotif_subject'       => '{{SITENAME}} page $PAGETITLE has been $CHANGEDORCREATED by $PAGEEDITOR',
-'enotif_lastvisited' => 'See $1 for all changes since your last visit.',
-'enotif_body' => 'Dear $WATCHINGUSERNAME,
-
-the {{SITENAME}} page $PAGETITLE has been $CHANGEDORCREATED on $PAGEEDITDATE by $PAGEEDITOR, see $PAGETITLE_URL for the current version.
-
-$NEWPAGE
-
-Editor\'s summary: $PAGESUMMARY $PAGEMINOREDIT
-
-Contact the editor:
-mail: $PAGEEDITOR_EMAIL
-wiki: $PAGEEDITOR_WIKI
-
-There will be no other notifications in case of further changes unless you visit this page. You could also reset the notification flags for all your watched pages on your watchlist.
-
-             Your friendly {{SITENAME}} notification system
-
---
-To change your watchlist settings, visit
-{{fullurl:{{ns:special}}:Watchlist/edit}}
-
-Feedback and further assistance:
-{{fullurl:{{ns:help}}:Contents}}',
-
-# Delete/protect/revert
-#
-'deletepage'   => 'Delete page',
-'confirm'              => 'Confirm',
-'excontent' => "content was: '$1'",
-'excontentauthor' => "content was: '$1' (and the only contributor was '$2')",
-'exbeforeblank' => "content before blanking was: '$1'",
-'exblank' => 'page was empty',
-'confirmdelete' => 'Confirm delete',
-'deletesub'            => "(Deleting \"$1\")",
-'historywarning' => 'Warning: The page you are about to delete has a history:',
-'confirmdeletetext' => "You are about to permanently delete a page
-or image along with all of its history from the database.
-Please confirm that you intend to do this, that you understand the
-consequences, and that you are doing this in accordance with
-[[{{ns:project}}:Policy]].",
-'actioncomplete' => 'Action complete',
-'deletedtext'  => "\"$1\" has been deleted.
-See $2 for a record of recent deletions.",
-'deletedarticle' => "deleted \"[[$1]]\"",
-'dellogpage'   => 'Deletion log',
-'dellogpagetext' => 'Below is a list of the most recent deletions.',
-'deletionlog'  => 'deletion log',
-'reverted'             => 'Reverted to earlier revision',
-'deletecomment'        => 'Reason for deletion',
-'imagereverted' => 'Revert to earlier version was successful.',
-'rollback'             => 'Roll back edits',
-'rollback_short' => 'Rollback',
-'rollbacklink' => 'rollback',
-'rollbackfailed' => 'Rollback failed',
-'cantrollback' => 'Cannot revert edit; last contributor is only author of this page.',
-'alreadyrolled'        => "Cannot rollback last edit of [[$1]]
-by [[User:$2|$2]] ([[User talk:$2|Talk]]); someone else has edited or rolled back the page already.
-
-Last edit was by [[User:$3|$3]] ([[User talk:$3|Talk]]).",
-#   only shown if there is an edit comment
-'editcomment' => "The edit comment was: \"<i>$1</i>\".",
-'revertpage'   => "Reverted edits by [[Special:Contributions/$2|$2]] ([[User_talk:$2|Talk]]); changed back to last version by [[User:$1|$1]]",
-'sessionfailure' => 'There seems to be a problem with your login session;
-this action has been canceled as a precaution against session hijacking.
-Please hit "back" and reload the page you came from, then try again.',
-'protectlogpage' => 'Protection log',
-'protectlogtext' => "Below is a list of page locks and unlocks.",
-'protectedarticle' => 'protected "[[$1]]"',
-'unprotectedarticle' => 'unprotected "[[$1]]"',
-'protectsub' => '(Protecting "$1")',
-'confirmprotecttext' => 'Do you really want to protect this page?',
-'confirmprotect' => 'Confirm protection',
-'protectmoveonly' => 'Protect from moves only',
-'protectcomment' => 'Reason for protecting',
-'unprotectsub' =>"(Unprotecting \"$1\")",
-'confirmunprotecttext' => 'Do you really want to unprotect this page?',
-'confirmunprotect' => 'Confirm unprotection',
-'unprotectcomment' => 'Reason for unprotecting',
-'protect-unchain' => 'Unlock move permissions',
-'protect-text' => 'You may view and change the protection level here for the page <strong>$1</strong>.',
-'protect-viewtext' => 'Your account does not have permission to change
-page protection levels. Here are the current settings for the page <strong>$1</strong>:',
-'protect-default' => '(default)',
-'protect-level-autoconfirmed' => 'Block unregistered users',
-'protect-level-sysop' => 'Sysops only',
-
-# restrictions (nouns)
-'restriction-edit' => 'Edit',
-'restriction-move' => 'Move',
-
-
-# Undelete
-'undelete' => 'View deleted pages',
-'undeletepage' => 'View and restore deleted pages',
-'viewdeletedpage' => 'View deleted pages',
-'undeletepagetext' => 'The following pages have been deleted but are still in the archive and
-can be restored. The archive may be periodically cleaned out.',
-'undeleteextrahelp' => "To restore the entire page, leave all checkboxes deselected and
-click '''''Restore'''''. To perform a selective restoration, check the boxes corresponding to the
-revisions to be restored, and click '''''Restore'''''. Clicking '''''Reset''''' will clear the
-comment field and all checkboxes.",
-'undeletearticle' => 'Restore deleted page',
-'undeleterevisions' => "$1 revisions archived",
-'undeletehistory' => 'If you restore the page, all revisions will be restored to the history.
-If a new page with the same name has been created since the deletion, the restored
-revisions will appear in the prior history, and the current revision of the live page
-will not be automatically replaced.',
-'undeletehistorynoadmin' => 'This article has been deleted. The reason for deletion is
-shown in the summary below, along with details of the users who had edited this page
-before deletion. The actual text of these deleted revisions is only available to administrators.',
-'undeleterevision' => "Deleted revision as of $1",
-'undeletebtn' => 'Restore',
-'undeletereset' => 'Reset',
-'undeletecomment' => 'Comment:',
-'undeletedarticle' => "restored \"[[$1]]\"",
-'undeletedrevisions' => "$1 revisions restored",
-'undeletedrevisions-files' => "$1 revisions and $2 file(s) restored",
-'undeletedfiles' => "$1 file(s) restored",
-'cannotundelete' => 'Undelete failed; someone else may have undeleted the page first.',
-'undeletedpage' => "<big>'''$1 has been restored'''</big>
-
-Consult the [[Special:Log/delete|deletion log]] for a record of recent deletions and restorations.",
-
-# Namespace form on various pages
-'namespace' => 'Namespace:',
-'invert' => 'Invert selection',
-
-# Contributions
-#
-'contributions' => 'User contributions',
-'mycontris'     => 'My contributions',
-'contribsub'    => "For $1",
-'nocontribs'    => 'No changes were found matching these criteria.',
-'ucnote'        => "Below are this user's last <b>$1</b> changes in the last <b>$2</b> days.",
-'uclinks'       => "View the last $1 changes; view the last $2 days.",
-'uctop'         => ' (top)' ,
-'newbies'       => 'newbies',
-
-'sp-newimages-showfrom' => 'Show new images starting from $1',
-
-'sp-contributions-newest' => 'Newest',
-'sp-contributions-oldest' => 'Oldest',
-'sp-contributions-newer'  => 'Newer $1',
-'sp-contributions-older'  => 'Older $1',
-'sp-contributions-newbies-sub' => 'For newbies',
-
-
-# What links here
-#
-'whatlinkshere'        => 'What links here',
-'notargettitle' => 'No target',
-'notargettext' => 'You have not specified a target page or user
-to perform this function on.',
-'linklistsub'  => '(List of links)',
-'linkshere'            => 'The following pages link to here:',
-'nolinkshere'  => 'No pages link to here.',
-'isredirect'   => 'redirect page',
-'istemplate'   => 'inclusion',
-
-# Block/unblock IP
-#
-'blockip'              => 'Block user',
-'blockiptext'  => "Use the form below to block write access
-from a specific IP address or username.
-This should be done only only to prevent vandalism, and in
-accordance with [[{{ns:project}}:Policy|policy]].
-Fill in a specific reason below (for example, citing particular
-pages that were vandalized).",
-'ipaddress'            => 'IP Address',
-'ipadressorusername' => 'IP Address or username',
-'ipbexpiry'            => 'Expiry',
-'ipbreason'            => 'Reason',
-'ipbanononly'   => 'Block anonymous users only',
-'ipbcreateaccount' => 'Prevent account creation',
-'ipbsubmit'            => 'Block this user',
-'ipbother'             => 'Other time',
-'ipboptions'           => '2 hours:2 hours,1 day:1 day,3 days:3 days,1 week:1 week,2 weeks:2 weeks,1 month:1 month,3 months:3 months,6 months:6 months,1 year:1 year,infinite:infinite',
-'ipbotheroption'       => 'other',
-'badipaddress' => 'Invalid IP address',
-'blockipsuccesssub' => 'Block succeeded',
-'blockipsuccesstext' => '[[{{ns:Special}}:Contributions/$1|$1]] has been blocked.
-<br />See [[{{ns:Special}}:Ipblocklist|IP block list]] to review blocks.',
-'unblockip'            => 'Unblock user',
-'unblockiptext'        => 'Use the form below to restore write access
-to a previously blocked IP address or username.',
-'ipusubmit'            => 'Unblock this address',
-'unblocked' => '[[User:$1|$1]] has been unblocked',
-'ipblocklist'  => 'List of blocked IP addresses and usernames',
-'blocklistline'        => "$1, $2 blocked $3 ($4)",
-'infiniteblock' => 'infinite',
-'expiringblock' => 'expires $1',
-'anononlyblock' => 'anon. only',
-'createaccountblock' => 'account creation blocked',
-'ipblocklistempty'     => 'The blocklist is empty.',
-'blocklink'            => 'block',
-'unblocklink'  => 'unblock',
-'contribslink' => 'contribs',
-'autoblocker'  => 'Autoblocked because your IP address has been recently used by "[[User:$1|$1]]". The reason given for $1\'s block is: "\'\'\'$2\'\'\'"',
-'blocklogpage' => 'Block log',
-'blocklogentry'        => 'blocked "[[$1]]" with an expiry time of $2',
-'blocklogtext' => 'This is a log of user blocking and unblocking actions. Automatically
-blocked IP addresses are not listed. See the [[Special:Ipblocklist|IP block list]] for
-the list of currently operational bans and blocks.',
-'unblocklogentry'      => 'unblocked $1',
-'range_block_disabled' => 'The sysop ability to create range blocks is disabled.',
-'ipb_expiry_invalid'   => 'Expiry time invalid.',
-'ipb_already_blocked' => '"$1" is already blocked',
-'ip_range_invalid'     => 'Invalid IP range.',
-'proxyblocker' => 'Proxy blocker',
-'ipb_cant_unblock' => 'Error: Block ID $1 not found. It may have been unblocked already.',
-'proxyblockreason'     => 'Your IP address has been blocked because it is an open proxy. Please contact your Internet service provider or tech support and inform them of this serious security problem.',
-'proxyblocksuccess'    => 'Done.',
-'sorbs'         => 'SORBS DNSBL',
-'sorbsreason'   => 'Your IP address is listed as an open proxy in the [http://www.sorbs.net SORBS] DNSBL.',
-'sorbs_create_account_reason' => 'Your IP address is listed as an open proxy in the [http://www.sorbs.net SORBS] DNSBL. You cannot create an account',
-
-
-# Developer tools
-#
-'lockdb'               => 'Lock database',
-'unlockdb'             => 'Unlock database',
-'lockdbtext'   => 'Locking the database will suspend the ability of all
-users to edit pages, change their preferences, edit their watchlists, and
-other things requiring changes in the database.
-Please confirm that this is what you intend to do, and that you will
-unlock the database when your maintenance is done.',
-'unlockdbtext' => 'Unlocking the database will restore the ability of all
-users to edit pages, change their preferences, edit their watchlists, and
-other things requiring changes in the database.
-Please confirm that this is what you intend to do.',
-'lockconfirm'  => 'Yes, I really want to lock the database.',
-'unlockconfirm'        => 'Yes, I really want to unlock the database.',
-'lockbtn'              => 'Lock database',
-'unlockbtn'            => 'Unlock database',
-'locknoconfirm' => 'You did not check the confirmation box.',
-'lockdbsuccesssub' => 'Database lock succeeded',
-'unlockdbsuccesssub' => 'Database lock removed',
-'lockdbsuccesstext' => 'The database has been locked.
-<br />Remember to [[Special:Unlockdb|remove the lock]] after your maintenance is complete.',
-'unlockdbsuccesstext' => 'The database has been unlocked.',
-'lockfilenotwritable' => 'The database lock file is not writable. To lock or unlock the database, this needs to be writable by the web server.',
-'databasenotlocked' => 'The database is not locked.',
-
-# Make sysop
-'makesysoptitle'       => 'Make a user into a sysop',
-'makesysoptext'                => 'This form is used by bureaucrats to turn ordinary users into administrators.
-Type the name of the user in the box and press the button to make the user an administrator',
-'makesysopname'                => 'Name of the user:',
-'makesysopsubmit'      => 'Make this user into a sysop',
-'makesysopok'          => "<b>User \"$1\" is now a sysop</b>",
-'makesysopfail'                => "<b>User \"$1\" could not be made into a sysop. (Did you enter the name correctly?)</b>",
-'setbureaucratflag' => 'Set bureaucrat flag',
-'setstewardflag'    => 'Set steward flag',
-'rightslog'            => 'User rights log',
-'rightslogtext'                => 'This is a log of changes to user rights.',
-'rightslogentry'       => 'changed group membership for $1 from $2 to $3',
-'rights'                       => 'Rights:',
-'set_user_rights'      => 'Set user rights',
-'user_rights_set'      => "<b>User rights for \"$1\" updated</b>",
-'set_rights_fail'      => "<b>User rights for \"$1\" could not be set. (Did you enter the name correctly?)</b>",
-'makesysop'         => 'Make a user into a sysop',
-'already_sysop'     => 'This user is already an administrator',
-'already_bureaucrat' => 'This user is already a bureaucrat',
-'already_steward'   => 'This user is already a steward',
-'rightsnone'           => '(none)',
-
-# Move page
-#
-'movepage'             => 'Move page',
-'movepagetext' => 'Using the form below will rename a page, moving all
-of its history to the new name.
-The old title will become a redirect page to the new title.
-Links to the old page title will not be changed; be sure to
-check for double or broken redirects.
-You are responsible for making sure that links continue to
-point where they are supposed to go.
-
-Note that the page will \'\'\'not\'\'\' be moved if there is already
-a page at the new title, unless it is empty or a redirect and has no
-past edit history. This means that you can rename a page back to where
-it was just renamed from if you make a mistake, and you cannot overwrite
-an existing page.
-
-<b>WARNING!</b>
-This can be a drastic and unexpected change for a popular page;
-please be sure you understand the consequences of this before
-proceeding.',
-'movepagetalktext' => 'The associated talk page will be automatically moved along with it \'\'\'unless:\'\'\'
-*A non-empty talk page already exists under the new name, or
-*You uncheck the box below.
-
-In those cases, you will have to move or merge the page manually if desired.',
-'movearticle'  => 'Move page',
-'movenologin'  => 'Not logged in',
-'movenologintext' => "You must be a registered user and [[Special:Userlogin|logged in]]
-to move a page.",
-'newtitle'             => 'To new title',
-'movepagebtn'  => 'Move page',
-'pagemovedsub' => 'Move succeeded',
-'pagemovedtext' => "Page \"[[$1]]\" moved to \"[[$2]]\".",
-'articleexists' => 'A page of that name already exists, or the
-name you have chosen is not valid.
-Please choose another name.',
-'talkexists'   => "'''The page itself was moved successfully, but the talk page could not be moved because one already exists at the new title. Please merge them manually.'''",
-'movedto'              => 'moved to',
-'movetalk'             => 'Move associated talk page',
-'talkpagemoved' => 'The corresponding talk page was also moved.',
-'talkpagenotmoved' => 'The corresponding talk page was <strong>not</strong> moved.',
-'1movedto2'            => '[[$1]] moved to [[$2]]',
-'1movedto2_redir' => '[[$1]] moved to [[$2]] over redirect',
-'movelogpage' => 'Move log',
-'movelogpagetext' => 'Below is a list of page moved.',
-'movereason'   => 'Reason',
-'revertmove'   => 'revert',
-'delete_and_move' => 'Delete and move',
-'delete_and_move_text' =>
-'==Deletion required==
-
-The destination article "[[$1]]" already exists. Do you want to delete it to make way for the move?',
-'delete_and_move_confirm' => 'Yes, delete the page',
-'delete_and_move_reason' => 'Deleted to make way for move',
-'selfmove' => "Source and destination titles are the same; can't move a page over itself.",
-'immobile_namespace' => "Destination title is of a special type; cannot move pages into that namespace.",
-
-# Export
-
-'export'               => 'Export pages',
-'exporttext'   => 'You can export the text and editing history of a particular page or
-set of pages wrapped in some XML. This can be imported into another wiki using MediaWiki
-via the Special:Import page.
-
-To export pages, enter the titles in the text box below, one title per line, and
-select whether you want the current version as well as all old versions, with the page
-history lines, or just the current version with the info about the last edit.
-
-In the latter case you can also use a link, e.g. [[{{ns:Special}}:Export/{{int:mainpage}}]] for the page {{int:mainpage}}.',
-'exportcuronly'        => 'Include only the current revision, not the full history',
-'exportnohistory' => "----
-'''Note:''' Exporting the full history of pages through this form has been disabled due to performance reasons.",
-'export-submit' => 'Export',
-
-# Namespace 8 related
-
-'allmessages'  => 'System messages',
-'allmessagesname' => 'Name',
-'allmessagesdefault' => 'Default text',
-'allmessagescurrent' => 'Current text',
-'allmessagestext'      => 'This is a list of system messages available in the MediaWiki namespace.',
-'allmessagesnotsupportedUI' => 'Your current interface language <b>$1</b> is not supported by Special:Allmessages at this site.',
-'allmessagesnotsupportedDB' => '\'\'\'Special:Allmessages\'\'\' cannot be used because \'\'\'$wgUseDatabaseMessages\'\'\' is switched off.',
-'allmessagesfilter' => 'Message name filter:',
-'allmessagesmodified' => 'Show only modified',
-
-
-# Thumbnails
-
-'thumbnail-more'       => 'Enlarge',
-'missingimage'         => '<b>Missing image</b><br /><i>$1</i>',
-'filemissing'          => 'File missing',
-'thumbnail_error'   => 'Error creating thumbnail: $1',
-
-# Special:Import
-'import'       => 'Import pages',
-'importinterwiki' => 'Transwiki import',
-'import-interwiki-text' => 'Select a wiki and page title to import.
-Revision dates and editors\' names will be preserved.
-All transwiki import actions are logged at the [[Special:Log/import|import log]].',
-'import-interwiki-history' => 'Copy all history versions for this page',
-'import-interwiki-submit' => 'Import',
-'import-interwiki-namespace' => 'Transfer pages into namespace:',
-'importtext'   => 'Please export the file from the source wiki using the Special:Export utility, save it to your disk and upload it here.',
-'importstart'  => "Importing pages...",
-'import-revision-count' => '$1 {{PLURAL:$1|revision|revisions}}',
-'importnopages'        => "No pages to import.",
-'importfailed' => "Import failed: $1",
-'importunknownsource'  => "Unknown import source type",
-'importcantopen'       => "Couldn't open import file",
-'importbadinterwiki'   => "Bad interwiki link",
-'importnotext' => 'Empty or no text',
-'importsuccess'        => 'Import succeeded!',
-'importhistoryconflict' => 'Conflicting history revision exists (may have imported this page before)',
-'importnosources' => 'No transwiki import sources have been defined and direct history uploads are disabled.',
-'importnofile' => 'No import file was uploaded.',
-'importuploaderror' => 'Upload of import file failed; perhaps the file is bigger than the allowed upload size.',
-
-# import log
-'importlogpage' => 'Import log',
-'importlogpagetext' => 'Administrative imports of pages with edit history from other wikis.',
-'import-logentry-upload' => 'imported $1 by file upload',
-'import-logentry-upload-detail' => '$1 revision(s)',
-'import-logentry-interwiki' => 'transwikied $1',
-'import-logentry-interwiki-detail' => '$1 revision(s) from $2',
-
-
-# Keyboard access keys for power users
-'accesskey-search' => 'f',
-'accesskey-minoredit' => 'i',
-'accesskey-save' => 's',
-'accesskey-preview' => 'p',
-'accesskey-diff' => 'v',
-'accesskey-compareselectedversions' => 'v',
-'accesskey-watch' => 'w',
-
-# tooltip help for some actions, most are in Monobook.js
-'tooltip-search' => 'Search {{SITENAME}} [alt-f]',
-'tooltip-minoredit' => 'Mark this as a minor edit [alt-i]',
-'tooltip-save' => 'Save your changes [alt-s]',
-'tooltip-preview' => 'Preview your changes, please use this before saving! [alt-p]',
-'tooltip-diff' => 'Show which changes you made to the text. [alt-v]',
-'tooltip-compareselectedversions' => 'See the differences between the two selected versions of this page. [alt-v]',
-'tooltip-watch' => 'Add this page to your watchlist [alt-w]',
-
-# stylesheets
-'Common.css' => '/** CSS placed here will be applied to all skins */',
-'Monobook.css' => '/* CSS placed here will affect users of the Monobook skin */',
-
-# Metadata
-'nodublincore' => 'Dublin Core RDF metadata disabled for this server.',
-'nocreativecommons' => 'Creative Commons RDF metadata disabled for this server.',
-'notacceptable' => 'The wiki server can\'t provide data in a format your client can read.',
-
-# Attribution
-
-'anonymous' => 'Anonymous user(s) of {{SITENAME}}',
-'siteuser' => '{{SITENAME}} user $1',
-'lastmodifiedby' => 'This page was last modified $1 by $2.',
-'and' => 'and',
-'othercontribs' => 'Based on work by $1.',
-'others' => 'others',
-'siteusers' => '{{SITENAME}} user(s) $1',
-'creditspage' => 'Page credits',
-'nocredits' => 'There is no credits info available for this page.',
-
-# Spam protection
-
-'spamprotectiontitle' => 'Spam protection filter',
-'spamprotectiontext' => 'The page you wanted to save was blocked by the spam filter. This is probably caused by a link to an external site.',
-'spamprotectionmatch' => 'The following text is what triggered our spam filter: $1',
-'subcategorycount' => "There {{PLURAL:$1|is one subcategory|are $1 subcategories}} to this category.",
-'categoryarticlecount' => "There {{PLURAL:$1|is one article|are $1 articles}} in this category.",
-'listingcontinuesabbrev' => " cont.",
-'spambot_username' => 'MediaWiki spam cleanup',
-'spam_reverting' => 'Reverting to last version not containing links to $1',
-'spam_blanking' => 'All revisions contained links to $1, blanking',
-
-# Info page
-'infosubtitle' => 'Information for page',
-'numedits' => 'Number of edits (article): $1',
-'numtalkedits' => 'Number of edits (discussion page): $1',
-'numwatchers' => 'Number of watchers: $1',
-'numauthors' => 'Number of distinct authors (article): $1',
-'numtalkauthors' => 'Number of distinct authors (discussion page): $1',
-
-# Math options
-'mw_math_png' => 'Always render PNG',
-'mw_math_simple' => 'HTML if very simple or else PNG',
-'mw_math_html' => 'HTML if possible or else PNG',
-'mw_math_source' => 'Leave it as TeX (for text browsers)',
-'mw_math_modern' => 'Recommended for modern browsers',
-'mw_math_mathml' => 'MathML if possible (experimental)',
-
-# Patrolling
-'markaspatrolleddiff'   => "Mark as patrolled",
-'markaspatrolledlink'   => "[$1]",
-'markaspatrolledtext'   => "Mark this article as patrolled",
-'markedaspatrolled'     => "Marked as patrolled",
-'markedaspatrolledtext' => "The selected revision has been marked as patrolled.",
-'rcpatroldisabled'      => "Recent Changes Patrol disabled",
-'rcpatroldisabledtext'  => "The Recent Changes Patrol feature is currently disabled.",
-'markedaspatrollederror'  => "Cannot mark as patrolled",
-'markedaspatrollederrortext' => "You need to specify a revision to mark as patrolled.",
-
-# Monobook.js: tooltips and access keys for monobook
-'Monobook.js' => '/* tooltips and access keys */
-var ta = new Object();
-ta[\'pt-userpage\'] = new Array(\'.\',\'My user page\');
-ta[\'pt-anonuserpage\'] = new Array(\'.\',\'The user page for the ip you\\\'re editing as\');
-ta[\'pt-mytalk\'] = new Array(\'n\',\'My talk page\');
-ta[\'pt-anontalk\'] = new Array(\'n\',\'Discussion about edits from this ip address\');
-ta[\'pt-preferences\'] = new Array(\'\',\'My preferences\');
-ta[\'pt-watchlist\'] = new Array(\'l\',\'The list of pages you\\\'re monitoring for changes.\');
-ta[\'pt-mycontris\'] = new Array(\'y\',\'List of my contributions\');
-ta[\'pt-login\'] = new Array(\'o\',\'You are encouraged to log in, it is not mandatory however.\');
-ta[\'pt-anonlogin\'] = new Array(\'o\',\'You are encouraged to log in, it is not mandatory however.\');
-ta[\'pt-logout\'] = new Array(\'o\',\'Log out\');
-ta[\'ca-talk\'] = new Array(\'t\',\'Discussion about the content page\');
-ta[\'ca-edit\'] = new Array(\'e\',\'You can edit this page. Please use the preview button before saving.\');
-ta[\'ca-addsection\'] = new Array(\'+\',\'Add a comment to this discussion.\');
-ta[\'ca-viewsource\'] = new Array(\'e\',\'This page is protected. You can view its source.\');
-ta[\'ca-history\'] = new Array(\'h\',\'Past versions of this page.\');
-ta[\'ca-protect\'] = new Array(\'=\',\'Protect this page\');
-ta[\'ca-delete\'] = new Array(\'d\',\'Delete this page\');
-ta[\'ca-undelete\'] = new Array(\'d\',\'Restore the edits done to this page before it was deleted\');
-ta[\'ca-move\'] = new Array(\'m\',\'Move this page\');
-ta[\'ca-watch\'] = new Array(\'w\',\'Add this page to your watchlist\');
-ta[\'ca-unwatch\'] = new Array(\'w\',\'Remove this page from your watchlist\');
-ta[\'search\'] = new Array(\'f\',\'Search this wiki\');
-ta[\'p-logo\'] = new Array(\'\',\'Main Page\');
-ta[\'n-mainpage\'] = new Array(\'z\',\'Visit the Main Page\');
-ta[\'n-portal\'] = new Array(\'\',\'About the project, what you can do, where to find things\');
-ta[\'n-currentevents\'] = new Array(\'\',\'Find background information on current events\');
-ta[\'n-recentchanges\'] = new Array(\'r\',\'The list of recent changes in the wiki.\');
-ta[\'n-randompage\'] = new Array(\'x\',\'Load a random page\');
-ta[\'n-help\'] = new Array(\'\',\'The place to find out.\');
-ta[\'n-sitesupport\'] = new Array(\'\',\'Support us\');
-ta[\'t-whatlinkshere\'] = new Array(\'j\',\'List of all wiki pages that link here\');
-ta[\'t-recentchangeslinked\'] = new Array(\'k\',\'Recent changes in pages linked from this page\');
-ta[\'feed-rss\'] = new Array(\'\',\'RSS feed for this page\');
-ta[\'feed-atom\'] = new Array(\'\',\'Atom feed for this page\');
-ta[\'t-contributions\'] = new Array(\'\',\'View the list of contributions of this user\');
-ta[\'t-emailuser\'] = new Array(\'\',\'Send a mail to this user\');
-ta[\'t-upload\'] = new Array(\'u\',\'Upload images or media files\');
-ta[\'t-specialpages\'] = new Array(\'q\',\'List of all special pages\');
-ta[\'ca-nstab-main\'] = new Array(\'c\',\'View the content page\');
-ta[\'ca-nstab-user\'] = new Array(\'c\',\'View the user page\');
-ta[\'ca-nstab-media\'] = new Array(\'c\',\'View the media page\');
-ta[\'ca-nstab-special\'] = new Array(\'\',\'This is a special page, you can\\\'t edit the page itself.\');
-ta[\'ca-nstab-project\'] = new Array(\'a\',\'View the project page\');
-ta[\'ca-nstab-image\'] = new Array(\'c\',\'View the image page\');
-ta[\'ca-nstab-mediawiki\'] = new Array(\'c\',\'View the system message\');
-ta[\'ca-nstab-template\'] = new Array(\'c\',\'View the template\');
-ta[\'ca-nstab-help\'] = new Array(\'c\',\'View the help page\');
-ta[\'ca-nstab-category\'] = new Array(\'c\',\'View the category page\');',
-
-# image deletion
-'deletedrevision' => 'Deleted old revision $1.',
-
-# browsing diffs
-'previousdiff' => '← Previous diff',
-'nextdiff' => 'Next diff →',
-
-'imagemaxsize' => 'Limit images on image description pages to:',
-'thumbsize'    => 'Thumbnail size:',
-'showbigimage' => 'Download high resolution version ($1x$2, $3 KB)',
-
-'newimages' => 'Gallery of new files',
-'showhidebots' => '($1 bots)',
-'noimages'  => 'Nothing to see.',
-
-# short names for language variants used for language conversion links.
-# to disable showing a particular link, set it to 'disable', e.g.
-# 'variantname-zh-sg' => 'disable',
-'variantname-zh-cn' => 'cn',
-'variantname-zh-tw' => 'tw',
-'variantname-zh-hk' => 'hk',
-'variantname-zh-sg' => 'sg',
-'variantname-zh' => 'zh',
-# variants for Serbian language
-'variantname-sr-ec' => 'sr-ec',
-'variantname-sr-el' => 'sr-el',
-'variantname-sr-jc' => 'sr-jc',
-'variantname-sr-jl' => 'sr-jl',
-'variantname-sr' => 'sr',
-
-# labels for User: and Title: on Special:Log pages
-'specialloguserlabel' => 'User:',
-'speciallogtitlelabel' => 'Title:',
-
-'passwordtooshort' => 'Your password is too short. It must have at least $1 characters.',
-
-# Media Warning
-'mediawarning' => '\'\'\'Warning\'\'\': This file may contain malicious code, by executing it your system may be compromised.<hr />',
-
-'fileinfo' => '$1KB, MIME type: <code>$2</code>',
-
-# Metadata
-'metadata' => 'Metadata',
-'metadata-help' => 'This file contains additional information, probably added from the digital camera or scanner used to create or digitize it. If the file has been modified from its original state, some details may not fully reflect the modified image.',
-'metadata-expand' => 'Show extended details',
-'metadata-collapse' => 'Hide extended details',
-'metadata-fields' => 'EXIF metadata fields listed in this message will
-be included on image page display when the metadata table
-is collapsed. Others will be hidden by default.
-* make
-* model
-* datetimeoriginal
-* exposuretime
-* fnumber
-* focallength',
-
-# Exif tags
-'exif-imagewidth' =>'Width',
-'exif-imagelength' =>'Height',
-'exif-bitspersample' =>'Bits per component',
-'exif-compression' =>'Compression scheme',
-'exif-photometricinterpretation' =>'Pixel composition',
-'exif-orientation' =>'Orientation',
-'exif-samplesperpixel' =>'Number of components',
-'exif-planarconfiguration' =>'Data arrangement',
-'exif-ycbcrsubsampling' =>'Subsampling ratio of Y to C',
-'exif-ycbcrpositioning' =>'Y and C positioning',
-'exif-xresolution' =>'Horizontal resolution',
-'exif-yresolution' =>'Vertical resolution',
-'exif-resolutionunit' =>'Unit of X and Y resolution',
-'exif-stripoffsets' =>'Image data location',
-'exif-rowsperstrip' =>'Number of rows per strip',
-'exif-stripbytecounts' =>'Bytes per compressed strip',
-'exif-jpeginterchangeformat' =>'Offset to JPEG SOI',
-'exif-jpeginterchangeformatlength' =>'Bytes of JPEG data',
-'exif-transferfunction' =>'Transfer function',
-'exif-whitepoint' =>'White point chromaticity',
-'exif-primarychromaticities' =>'Chromaticities of primarities',
-'exif-ycbcrcoefficients' =>'Color space transformation matrix coefficients',
-'exif-referenceblackwhite' =>'Pair of black and white reference values',
-'exif-datetime' =>'File change date and time',
-'exif-imagedescription' =>'Image title',
-'exif-make' =>'Camera manufacturer',
-'exif-model' =>'Camera model',
-'exif-software' =>'Software used',
-'exif-artist' =>'Author',
-'exif-copyright' =>'Copyright holder',
-'exif-exifversion' =>'Exif version',
-'exif-flashpixversion' =>'Supported Flashpix version',
-'exif-colorspace' =>'Color space',
-'exif-componentsconfiguration' =>'Meaning of each component',
-'exif-compressedbitsperpixel' =>'Image compression mode',
-'exif-pixelydimension' =>'Valid image width',
-'exif-pixelxdimension' =>'Valid image height',
-'exif-makernote' =>'Manufacturer notes',
-'exif-usercomment' =>'User comments',
-'exif-relatedsoundfile' =>'Related audio file',
-'exif-datetimeoriginal' =>'Date and time of data generation',
-'exif-datetimedigitized' =>'Date and time of digitizing',
-'exif-subsectime' =>'DateTime subseconds',
-'exif-subsectimeoriginal' =>'DateTimeOriginal subseconds',
-'exif-subsectimedigitized' =>'DateTimeDigitized subseconds',
-'exif-exposuretime' =>'Exposure time',
-'exif-exposuretime-format' => '$1 sec ($2)',
-'exif-fnumber' =>'F Number',
-'exif-fnumber-format' =>'f/$1',
-'exif-exposureprogram' =>'Exposure Program',
-'exif-spectralsensitivity' =>'Spectral sensitivity',
-'exif-isospeedratings' =>'ISO speed rating',
-'exif-oecf' =>'Optoelectronic conversion factor',
-'exif-shutterspeedvalue' =>'Shutter speed',
-'exif-aperturevalue' =>'Aperture',
-'exif-brightnessvalue' =>'Brightness',
-'exif-exposurebiasvalue' =>'Exposure bias',
-'exif-maxaperturevalue' =>'Maximum land aperture',
-'exif-subjectdistance' =>'Subject distance',
-'exif-meteringmode' =>'Metering mode',
-'exif-lightsource' =>'Light source',
-'exif-flash' =>'Flash',
-'exif-focallength' =>'Lens focal length',
-'exif-focallength-format' =>'$1 mm',
-'exif-subjectarea' =>'Subject area',
-'exif-flashenergy' =>'Flash energy',
-'exif-spatialfrequencyresponse' =>'Spatial frequency response',
-'exif-focalplanexresolution' =>'Focal plane X resolution',
-'exif-focalplaneyresolution' =>'Focal plane Y resolution',
-'exif-focalplaneresolutionunit' =>'Focal plane resolution unit',
-'exif-subjectlocation' =>'Subject location',
-'exif-exposureindex' =>'Exposure index',
-'exif-sensingmethod' =>'Sensing method',
-'exif-filesource' =>'File source',
-'exif-scenetype' =>'Scene type',
-'exif-cfapattern' =>'CFA pattern',
-'exif-customrendered' =>'Custom image processing',
-'exif-exposuremode' =>'Exposure mode',
-'exif-whitebalance' =>'White Balance',
-'exif-digitalzoomratio' =>'Digital zoom ratio',
-'exif-focallengthin35mmfilm' =>'Focal length in 35 mm film',
-'exif-scenecapturetype' =>'Scene capture type',
-'exif-gaincontrol' =>'Scene control',
-'exif-contrast' =>'Contrast',
-'exif-saturation' =>'Saturation',
-'exif-sharpness' =>'Sharpness',
-'exif-devicesettingdescription' =>'Device settings description',
-'exif-subjectdistancerange' =>'Subject distance range',
-'exif-imageuniqueid' =>'Unique image ID',
-'exif-gpsversionid' =>'GPS tag version',
-'exif-gpslatituderef' =>'North or South Latitude',
-'exif-gpslatitude' =>'Latitude',
-'exif-gpslongituderef' =>'East or West Longitude',
-'exif-gpslongitude' =>'Longitude',
-'exif-gpsaltituderef' =>'Altitude reference',
-'exif-gpsaltitude' =>'Altitude',
-'exif-gpstimestamp' =>'GPS time (atomic clock)',
-'exif-gpssatellites' =>'Satellites used for measurement',
-'exif-gpsstatus' =>'Receiver status',
-'exif-gpsmeasuremode' =>'Measurement mode',
-'exif-gpsdop' =>'Measurement precision',
-'exif-gpsspeedref' =>'Speed unit',
-'exif-gpsspeed' =>'Speed of GPS receiver',
-'exif-gpstrackref' =>'Reference for direction of movement',
-'exif-gpstrack' =>'Direction of movement',
-'exif-gpsimgdirectionref' =>'Reference for direction of image',
-'exif-gpsimgdirection' =>'Direction of image',
-'exif-gpsmapdatum' =>'Geodetic survey data used',
-'exif-gpsdestlatituderef' =>'Reference for latitude of destination',
-'exif-gpsdestlatitude' =>'Latitude destination',
-'exif-gpsdestlongituderef' =>'Reference for longitude of destination',
-'exif-gpsdestlongitude' =>'Longitude of destination',
-'exif-gpsdestbearingref' =>'Reference for bearing of destination',
-'exif-gpsdestbearing' =>'Bearing of destination',
-'exif-gpsdestdistanceref' =>'Reference for distance to destination',
-'exif-gpsdestdistance' =>'Distance to destination',
-'exif-gpsprocessingmethod' =>'Name of GPS processing method',
-'exif-gpsareainformation' =>'Name of GPS area',
-'exif-gpsdatestamp' =>'GPS date',
-'exif-gpsdifferential' =>'GPS differential correction',
-
-# Make & model, can be wikified in order to link to the camera and model name
-
-'exif-make-value' => '$1',
-'exif-model-value' =>'$1',
-'exif-software-value' => '$1',
-
-# Exif attributes
-
-'exif-compression-1' => 'Uncompressed',
-'exif-compression-6' => 'JPEG',
-
-'exif-photometricinterpretation-2' => 'RGB',
-'exif-photometricinterpretation-6' => 'YCbCr',
-
-'exif-orientation-1' => 'Normal', // 0th row: top; 0th column: left
-'exif-orientation-2' => 'Flipped horizontally', // 0th row: top; 0th column: right
-'exif-orientation-3' => 'Rotated 180°', // 0th row: bottom; 0th column: right
-'exif-orientation-4' => 'Flipped vertically', // 0th row: bottom; 0th column: left
-'exif-orientation-5' => 'Rotated 90° CCW and flipped vertically', // 0th row: left; 0th column: top
-'exif-orientation-6' => 'Rotated 90° CW', // 0th row: right; 0th column: top
-'exif-orientation-7' => 'Rotated 90° CW and flipped vertically', // 0th row: right; 0th column: bottom
-'exif-orientation-8' => 'Rotated 90° CCW', // 0th row: left; 0th column: bottom
-
-'exif-planarconfiguration-1' => 'chunky format',
-'exif-planarconfiguration-2' => 'planar format',
-
-'exif-xyresolution-i' => '$1 dpi',
-'exif-xyresolution-c' => '$1 dpc',
-
-'exif-colorspace-1' => 'sRGB',
-'exif-colorspace-ffff.h' => 'FFFF.H',
-
-'exif-componentsconfiguration-0' => 'does not exist',
-'exif-componentsconfiguration-1' => 'Y',
-'exif-componentsconfiguration-2' => 'Cb',
-'exif-componentsconfiguration-3' => 'Cr',
-'exif-componentsconfiguration-4' => 'R',
-'exif-componentsconfiguration-5' => 'G',
-'exif-componentsconfiguration-6' => 'B',
-
-'exif-exposureprogram-0' => 'Not defined',
-'exif-exposureprogram-1' => 'Manual',
-'exif-exposureprogram-2' => 'Normal program',
-'exif-exposureprogram-3' => 'Aperture priority',
-'exif-exposureprogram-4' => 'Shutter priority',
-'exif-exposureprogram-5' => 'Creative program (biased toward depth of field)',
-'exif-exposureprogram-6' => 'Action program (biased toward fast shutter speed)',
-'exif-exposureprogram-7' => 'Portrait mode (for closeup photos with the background out of focus)',
-'exif-exposureprogram-8' => 'Landscape mode (for landscape photos with the background in focus)',
-
-'exif-subjectdistance-value' => '$1 metres',
-
-'exif-meteringmode-0' => 'Unknown',
-'exif-meteringmode-1' => 'Average',
-'exif-meteringmode-2' => 'CenterWeightedAverage',
-'exif-meteringmode-3' => 'Spot',
-'exif-meteringmode-4' => 'MultiSpot',
-'exif-meteringmode-5' => 'Pattern',
-'exif-meteringmode-6' => 'Partial',
-'exif-meteringmode-255' => 'Other',
-
-'exif-lightsource-0' => 'Unknown',
-'exif-lightsource-1' => 'Daylight',
-'exif-lightsource-2' => 'Fluorescent',
-'exif-lightsource-3' => 'Tungsten (incandescent light)',
-'exif-lightsource-4' => 'Flash',
-'exif-lightsource-9' => 'Fine weather',
-'exif-lightsource-10' => 'Cloudy weather',
-'exif-lightsource-11' => 'Shade',
-'exif-lightsource-12' => 'Daylight fluorescent (D 5700 – 7100K)',
-'exif-lightsource-13' => 'Day white fluorescent (N 4600 – 5400K)',
-'exif-lightsource-14' => 'Cool white fluorescent (W 3900 – 4500K)',
-'exif-lightsource-15' => 'White fluorescent (WW 3200 – 3700K)',
-'exif-lightsource-17' => 'Standard light A',
-'exif-lightsource-18' => 'Standard light B',
-'exif-lightsource-19' => 'Standard light C',
-'exif-lightsource-20' => 'D55',
-'exif-lightsource-21' => 'D65',
-'exif-lightsource-22' => 'D75',
-'exif-lightsource-23' => 'D50',
-'exif-lightsource-24' => 'ISO studio tungsten',
-'exif-lightsource-255' => 'Other light source',
-
-'exif-focalplaneresolutionunit-2' => 'inches',
-
-'exif-sensingmethod-1' => 'Undefined',
-'exif-sensingmethod-2' => 'One-chip color area sensor',
-'exif-sensingmethod-3' => 'Two-chip color area sensor',
-'exif-sensingmethod-4' => 'Three-chip color area sensor',
-'exif-sensingmethod-5' => 'Color sequential area sensor',
-'exif-sensingmethod-7' => 'Trilinear sensor',
-'exif-sensingmethod-8' => 'Color sequential linear sensor',
-
-'exif-filesource-3' => 'DSC',
-
-'exif-scenetype-1' => 'A directly photographed image',
-
-'exif-customrendered-0' => 'Normal process',
-'exif-customrendered-1' => 'Custom process',
-
-'exif-exposuremode-0' => 'Auto exposure',
-'exif-exposuremode-1' => 'Manual exposure',
-'exif-exposuremode-2' => 'Auto bracket',
-
-'exif-whitebalance-0' => 'Auto white balance',
-'exif-whitebalance-1' => 'Manual white balance',
-
-'exif-scenecapturetype-0' => 'Standard',
-'exif-scenecapturetype-1' => 'Landscape',
-'exif-scenecapturetype-2' => 'Portrait',
-'exif-scenecapturetype-3' => 'Night scene',
-
-'exif-gaincontrol-0' => 'None',
-'exif-gaincontrol-1' => 'Low gain up',
-'exif-gaincontrol-2' => 'High gain up',
-'exif-gaincontrol-3' => 'Low gain down',
-'exif-gaincontrol-4' => 'High gain down',
-
-'exif-contrast-0' => 'Normal',
-'exif-contrast-1' => 'Soft',
-'exif-contrast-2' => 'Hard',
-
-'exif-saturation-0' => 'Normal',
-'exif-saturation-1' => 'Low saturation',
-'exif-saturation-2' => 'High saturation',
-
-'exif-sharpness-0' => 'Normal',
-'exif-sharpness-1' => 'Soft',
-'exif-sharpness-2' => 'Hard',
-
-'exif-subjectdistancerange-0' => 'Unknown',
-'exif-subjectdistancerange-1' => 'Macro',
-'exif-subjectdistancerange-2' => 'Close view',
-'exif-subjectdistancerange-3' => 'Distant view',
-
-// Pseudotags used for GPSLatitudeRef and GPSDestLatitudeRef
-'exif-gpslatitude-n' => 'North latitude',
-'exif-gpslatitude-s' => 'South latitude',
-
-// Pseudotags used for GPSLongitudeRef and GPSDestLongitudeRef
-'exif-gpslongitude-e' => 'East longitude',
-'exif-gpslongitude-w' => 'West longitude',
-
-'exif-gpsstatus-a' => 'Measurement in progress',
-'exif-gpsstatus-v' => 'Measurement interoperability',
-
-'exif-gpsmeasuremode-2' => '2-dimensional measurement',
-'exif-gpsmeasuremode-3' => '3-dimensional measurement',
-
-// Pseudotags used for GPSSpeedRef and GPSDestDistanceRef
-'exif-gpsspeed-k' => 'Kilometres per hour',
-'exif-gpsspeed-m' => 'Miles per hour',
-'exif-gpsspeed-n' => 'Knots',
-
-// Pseudotags used for GPSTrackRef, GPSImgDirectionRef and GPSDestBearingRef
-'exif-gpsdirection-t' => 'True direction',
-'exif-gpsdirection-m' => 'Magnetic direction',
-
-# external editor support
-'edit-externally' => 'Edit this file using an external application',
-'edit-externally-help' => 'See the [http://meta.wikimedia.org/wiki/Help:External_editors setup instructions] for more information.',
-
-# 'all' in various places, this might be different for inflected languages
-'recentchangesall' => 'all',
-'imagelistall' => 'all',
-'watchlistall1' => 'all',
-'watchlistall2' => 'all',
-'namespacesall' => 'all',
-
-# E-mail address confirmation
-'confirmemail' => 'Confirm E-mail address',
-'confirmemail_text' => "This wiki requires that you validate your e-mail address
-before using e-mail features. Activate the button below to send a confirmation
-mail to your address. The mail will include a link containing a code; load the
-link in your browser to confirm that your e-mail address is valid.",
-'confirmemail_send' => 'Mail a confirmation code',
-'confirmemail_sent' => 'Confirmation e-mail sent.',
-'confirmemail_sendfailed' => 'Could not send confirmation mail. Check address for invalid characters.',
-'confirmemail_invalid' => 'Invalid confirmation code. The code may have expired.',
-'confirmemail_needlogin' => 'You need to $1 to confirm your email address.',
-'confirmemail_success' => 'Your e-mail address has been confirmed. You may now log in and enjoy the wiki.',
-'confirmemail_loggedin' => 'Your e-mail address has now been confirmed.',
-'confirmemail_error' => 'Something went wrong saving your confirmation.',
-
-'confirmemail_subject' => '{{SITENAME}} e-mail address confirmation',
-'confirmemail_body' => "Someone, probably you from IP address $1, has registered an
-account \"$2\" with this e-mail address on {{SITENAME}}.
-
-To confirm that this account really does belong to you and activate
-e-mail features on {{SITENAME}}, open this link in your browser:
-
-$3
-
-If this is *not* you, don't follow the link. This confirmation code
-will expire at $4.",
-
-# Inputbox extension, may be useful in other contexts as well
-'tryexact' => 'Try exact match',
-'searchfulltext' => 'Search full text',
-'createarticle' => 'Create article',
-
-# Scary transclusion
-'scarytranscludedisabled' => '[Interwiki transcluding is disabled]',
-'scarytranscludefailed' => '[Template fetch failed for $1; sorry]',
-'scarytranscludetoolong' => '[URL is too long; sorry]',
-
-# Trackbacks
-'trackbackbox' => '<div id="mw_trackbacks">
-Trackbacks for this article:<br />
-$1
-</div>',
-'trackback' => '; $4$5 : [$2 $1]',
-'trackbackexcerpt' => '; $4$5 : [$2 $1]: <nowiki>$3</nowiki>',
-'trackbackremove' => ' ([$1 Delete])',
-'trackbacklink' => 'Trackback',
-'trackbackdeleteok' => 'The trackback was successfully deleted.',
-
-
-# delete conflict
-
-'deletedwhileediting' => 'Warning: This page has been deleted after you started editing!',
-'confirmrecreate' => 'User [[User:$1|$1]] ([[User talk:$1|talk]]) deleted this page after you started editing with reason:
-: \'\'$2\'\'
-Please confirm that really want to recreate this page.',
-'recreate' => 'Recreate',
-'tooltip-recreate' => 'Recreate the page despite it has been deleted',
-
-'unit-pixel' => 'px',
-
-# HTML dump
-'redirectingto' => 'Redirecting to [[$1]]...',
-
-# action=purge
-'confirm_purge' => "Clear the cache of this page?\n\n$1",
-'confirm_purge_button' => 'OK',
-
-'youhavenewmessagesmulti' => "You have new messages on $1",
-'newtalkseperator' => ',_',
-'searchcontaining' => "Search for articles containing ''$1''.",
-'searchnamed' => "Search for articles named ''$1''.",
-'articletitles' => "Articles starting with ''$1''",
-'hideresults' => 'Hide results',
-
-# DISPLAYTITLE
-'displaytitle' => '(Link to this page as [[$1]])',
-
-# Separator for categories in page lists
-# Please don't localise this
-'catseparator' => '|',
-
-'loginlanguagelabel' => 'Language: $1',
-
-# Don't duplicate this in translations; defaults should remain consistent
-'loginlanguagelinks' => "* Deutsch|de
-* English|en
-* Esperanto|eo
-* Français|fr
-* Español|es
-* Italiano|it
-* Nederlands|nl",
-
-);
-
-?>
diff --git a/languages/MessagesAb.php b/languages/MessagesAb.php
new file mode 100644 (file)
index 0000000..7be9a31
--- /dev/null
@@ -0,0 +1,5 @@
+<?php
+
+$fallback = 'ru';
+
+?>
index 7b691fc..379d28c 100644 (file)
@@ -1,7 +1,43 @@
 <?php 
 
+$quickbarSettings = array(
+       'Geen.', 'Links vas.', 'Regs vas.', 'Dryf links.'
+);
+       
+$skinNames = array(
+       'standard' => 'Standaard',
+       'nostalgia' => 'Nostalgie',
+       'cologneblue' => 'Keulen blou',
+);
+
+$namespaceNames = array(
+       NS_MEDIA          => 'Media',
+       NS_SPECIAL        => 'Spesiaal',
+       NS_MAIN           => '',
+       NS_TALK           => 'Bespreking',
+       NS_USER           => 'Gebruiker',
+       NS_USER_TALK      => 'Gebruikerbespreking',
+       # NS_PROJECT set by $wgMetaNamespace,
+       NS_PROJECT_TALK   => '$1bespreking',
+       NS_IMAGE          => 'Beeld',
+       NS_IMAGE_TALK     => 'Beeldbespreking',
+       NS_MEDIAWIKI      => 'MediaWiki',
+       NS_MEDIAWIKI_TALK => 'MediaWikibespreking',
+       NS_TEMPLATE       => 'Sjabloon',
+       NS_TEMPLATE_TALK  => 'Sjabloonbespreking',
+       NS_HELP           => 'Hulp',
+       NS_HELP_TALK      => 'Hulpbespreking',
+       NS_CATEGORY       => 'Kategorie',
+       NS_CATEGORY_TALK  => 'Kategoriebespreking'
+);
+
+# South Africa uses space for thousands and comma for decimal
+# Reference: AWS Reël 7.4 p. 52, 2002 edition
+# glibc is wrong in this respect in some versions
+$separatorTransformTable = array( ',' => "\xc2\xa0", '.' => ',' );
+$linkTrail = "/^([a-z]+)(.*)\$/sD";
 
-/* private */ $wgAllMessagesAf = array(
+$messages = array(
 # User Toggles
 
 "tog-underline" => "Onderstreep skakels.",
@@ -54,7 +90,6 @@
 
 # Bits of text used by many pages:
 #
-"linktrail"            => "/^([a-z]+)(.*)\$/sD",
 "mainpage"             => "Tuisblad",
 "about"                        => "Omtrent",
 "aboutsite"      => "Inligting oor {{SITENAME}}",
diff --git a/languages/MessagesAn.php b/languages/MessagesAn.php
new file mode 100644 (file)
index 0000000..a10cd23
--- /dev/null
@@ -0,0 +1,24 @@
+<?php
+
+$namespaceNames = array(
+       NS_MEDIA          => 'Media',
+       NS_SPECIAL        => 'Espezial',
+       NS_MAIN           => '',
+       NS_TALK           => 'Descusión',
+       NS_USER           => 'Usuario',
+       NS_USER_TALK      => 'Descusión_usuario',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK   => 'Descusión_$1',
+       NS_IMAGE          => 'Imachen',
+       NS_IMAGE_TALK     => 'Descusión_imachen',
+       NS_MEDIAWIKI      => 'MediaWiki',
+       NS_MEDIAWIKI_TALK => 'Descusión_MediaWiki',
+       NS_TEMPLATE       => 'Plantilla',
+       NS_TEMPLATE_TALK  => 'Descusión_plantilla',
+       NS_HELP           => 'Aduya',
+       NS_HELP_TALK      => 'Descusión_aduya',
+       NS_CATEGORY       => 'Categoría',
+       NS_CATEGORY_TALK  => 'Descusión_categoría',
+);
+
+?>
index 8073648..c316aa2 100644 (file)
@@ -1,6 +1,120 @@
 <?php
+/** Arabic (العربية)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
 
-/* private */ $wgAllMessagesAr = array(
+$linkPrefixExtension = true;
+$fallback8bitEncoding = 'windows-1256';
+
+$rtl = true;
+$defaultUserOptionOverrides = array(
+       # Swap sidebar to right side by default
+       'quickbar' => 2,
+       # Underlines seriously harm legibility. Force off:
+       'underline' => 0,
+);
+
+$namespaceNames = array(
+       NS_MEDIA            => 'ملف',
+       NS_SPECIAL          => 'خاص',
+       NS_MAIN             => '',
+       NS_TALK             => 'نقاش',
+       NS_USER             => 'مستخدم',
+       NS_USER_TALK        => 'نقاش_المستخدم',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => 'نقاش' . '_$1',
+       NS_IMAGE            => 'صورة',
+       NS_IMAGE_TALK       => 'نقاش_الصورة',
+       NS_MEDIAWIKI        => 'ميدياويكي',
+       NS_MEDIAWIKI_TALK   => 'نقاش_ميدياويكي',
+       NS_TEMPLATE         => 'قالب',
+       NS_TEMPLATE_TALK    => 'نقاش_قالب',
+       NS_HELP             => 'مساعدة',
+       NS_HELP_TALK        => 'نقاش_المساعدة',
+       NS_CATEGORY         => 'تصنيف',
+       NS_CATEGORY_TALK    => 'نقاش_التصنيف'
+);
+
+
+$magicWords = array(
+#   ID                                 CASE  SYNONYMS
+       'redirect'               => array( 0,    '#REDIRECT'    ,   '#تحويل'                  ),
+       'notoc'                  => array( 0,    '__NOTOC__'   ,   '__لافهرس__'               ),
+       'forcetoc'               => array( 0,    '__FORCETOC__'    ,   '__لصق_فهرس__'        ),
+       'toc'                    => array( 0,    '__TOC__'     ,   '__فهرس__'                ),
+       'noeditsection'          => array( 0,    '__NOEDITSECTION__' ,   '__لاتحريرقسم__'      ),
+       'start'                  => array( 0,    '__START__'   ,   '__ابدأ__'                ),
+       'currentmonth'           => array( 1,    'CURRENTMONTH'     ,    'شهر' , 'شهر_حالي'   ),
+       'currentmonthname'       => array( 1,    'CURRENTMONTHNAME'    ,   'اسم_شهر', 'اسم_شهر_حالي'),
+#      'currentmonthnamegen'    => array( 1,    'CURRENTMONTHNAMEGEN'    ),
+#      'currentmonthabbrev'     => array( 1,    'CURRENTMONTHABBREV'     ),
+       'currentday'             => array( 1,    'CURRENTDAY'    ,          'يوم'            ),
+#      'currentday2'            => array( 1,    'CURRENTDAY2'            ),
+       'currentdayname'         => array( 1,    'CURRENTDAYNAME'   ,     'اسم_يوم'          ),
+       'currentyear'            => array( 1,    'CURRENTYEAR'    ,    'عام'                 ),
+       'currenttime'            => array( 1,    'CURRENTTIME'    ,   'وقت'                  ),
+       'numberofarticles'       => array( 1,    'NUMBEROFARTICLES'  ,'عددالمقالات' , 'عدد_المقالات'),
+       'numberoffiles'          => array( 1,    'NUMBEROFFILES'  , 'عددالملفات' , 'عدد_الملفات'),
+       'pagename'               => array( 1,    'PAGENAME'       ,       'اسم_صفحة'         ),
+       'pagenamee'              => array( 1,    'PAGENAMEE'      ,         'عنوان_صفحة'     ),
+       'namespace'              => array( 1,    'NAMESPACE'       ,      'نطاق'             ),
+       'namespacee'             => array( 1,    'NAMESPACEE'     , 'عنوان_نطاق'             ),
+       'fullpagename'           => array( 1,    'FULLPAGENAME', 'اسم_كامل'                  ),
+       'fullpagenamee'          => array( 1,    'FULLPAGENAMEE'  , 'عنوان_كامل'             ),
+       'msg'                    => array( 0,    'MSG:'         ,          'رسالة:'          ),
+       'subst'                  => array( 0,    'SUBST:'      ,     'نسخ:'  , 'نسخ_قالب:'   ),
+       'msgnw'                  => array( 0,    'MSGNW:'     ,  'مصدر:' , 'مصدر_قالب:'      ),
+       'end'                    => array( 0,    '__END__'       ,  '__نهاية__', '__إنهاء__'   ),
+       'img_thumbnail'          => array( 1,    'thumbnail', 'thumb'   ,          'تصغير'    ),
+       'img_manualthumb'        => array( 1,    'thumbnail=$1', 'thumb=$1'  ,'تصغير=$1'      ),
+       'img_right'              => array( 1,    'right'       ,       'يمين'                  ),
+       'img_left'               => array( 1,    'left'           ,    'يسار'                ),
+       'img_none'               => array( 1,    'none'         ,        'بدون'              ),
+       'img_width'              => array( 1,    '$1px'  ,    '$1بك'                         ),
+       'img_center'             => array( 1,    'center', 'centre'   ,           'وسط'      ),
+       'img_framed'             => array( 1,    'framed', 'enframed', 'frame' , 'إطار', 'اطار'),
+       'int'                    => array( 0,    'INT:'        ,        'محتوى:'              ),
+       'sitename'               => array( 1,    'SITENAME'    ,          'اسم_الموقع'        ),
+       'ns'                     => array( 0,    'NS:'            ,              'نط:'       ),
+       'localurl'               => array( 0,    'LOCALURL:'      ,       'عنوان:'           ),
+#      'localurle'              => array( 0,    'LOCALURLE:'             ),
+       'server'                 => array( 0,    'SERVER'          ,   'العنوان'             ),
+       'servername'             => array( 0,    'SERVERNAME'      ,   'اسم_عنوان'           ),
+       'scriptpath'             => array( 0,    'SCRIPTPATH'       ,      'مسار'            ),
+#      'grammar'                => array( 0,    'GRAMMAR:'               ),
+       'notitleconvert'         => array( 0,    '__NOTITLECONVERT__', '__NOTC__',  'لاتحويل_عنوان'),
+       'nocontentconvert'       => array( 0,    '__NOCONTENTCONVERT__', '__NOCC__', 'لاتحويل_محتوى' ),
+       'currentweek'            => array( 1,    'CURRENTWEEK'    ,     'أسبوع'              ),
+       'currentdow'             => array( 1,    'CURRENTDOW'      ,     'رقم_يوم'           ),
+       'revisionid'             => array( 1,    'REVISIONID'        ,     'نسخة'            ),
+#      'plural'                 => array( 0,    'PLURAL:'                ),
+       'fullurl'                => array( 0,    'FULLURL:', 'عنوان_كامل:'                   ),
+#      'fullurle'               => array( 0,    'FULLURLE:'              ),
+#      'lcfirst'                => array( 0,    'LCFIRST:'               ),
+#      'ucfirst'                => array( 0,    'UCFIRST:'               ),
+#      'lc'                     => array( 0,    'LC:'                    ),
+#      'uc'                     => array( 0,    'UC:'                    ),
+#      'raw'                    => array( 0,    'RAW:'                   ),
+);
+
+$digitTransformTable = array(
+       '0' => '٠',
+       '1' => '١',
+       '2' => '٢',
+       '3' => '٣',
+       '4' => '٤',
+       '5' => '٥',
+       '6' => '٦',
+       '7' => '٧',
+       '8' => '٨',
+       '9' => '٩',
+       '.' => '٫', // wrong table?
+       ',' => '٬'
+);
+
+$messages = array(
 # Dates
 'sunday' => 'الأحد',
 'monday' => 'الإثنين',
 'september' => 'سبتمبر',
 'november' => 'نوفمبر',
 'december' => 'ديسمبر',
+'jan' => 'يناير',
+'feb' => 'فبراير',
+'mar' => 'مارس',
+'apr' => 'ابريل',
+'may' => 'مايو',
+'jun' => 'يونيو',
+'jul' => 'يوليو',
+'aug' => 'أغسطس',
+'sep' => 'سبتمبر',
+'nov' => 'نوفمبر',
+'dec' => 'ديسمبر',
 
 # Bits of text used by many pages:
 #
diff --git a/languages/MessagesArc.php b/languages/MessagesArc.php
new file mode 100644 (file)
index 0000000..400e7d5
--- /dev/null
@@ -0,0 +1,15 @@
+<?php
+
+/** Aramaic ( ܕܥܒܪܸܝܛ )
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+$rtl = true;
+$defaultUserOptionOverrides = array(
+       # Swap sidebar to right side by default
+       'quickbar' => 2,
+);
+
+?>
diff --git a/languages/MessagesAs.php b/languages/MessagesAs.php
new file mode 100644 (file)
index 0000000..3ab1c32
--- /dev/null
@@ -0,0 +1,20 @@
+<?php
+/** Assamese (অসমীয়া)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ */
+
+$digitTransformTable = array(
+       '0' => '০',
+       '1' => '১',
+       '2' => '২',
+       '3' => '৩',
+       '4' => '৪',
+       '5' => '৫',
+       '6' => '৬',
+       '7' => '৭',
+       '8' => '৮',
+       '9' => '৯'
+);
+?>
diff --git a/languages/MessagesAst.php b/languages/MessagesAst.php
new file mode 100644 (file)
index 0000000..5fcd7d5
--- /dev/null
@@ -0,0 +1,29 @@
+<?php
+/** Asturian (Asturianu)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+$namespaceNames = array(
+       NS_MEDIA            => 'Media',
+       NS_SPECIAL          => 'Especial',
+       NS_MAIN             => '',
+       NS_TALK             => 'Discusión',
+       NS_USER             => 'Usuariu',
+       NS_USER_TALK        => 'Usuariu_discusión',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => '$1_discusión',
+       NS_IMAGE            => 'Imaxen',
+       NS_IMAGE_TALK       => 'Imaxen_discusión',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'MediaWiki_discusión',
+       NS_TEMPLATE         => 'Plantilla',
+       NS_TEMPLATE_TALK    => 'Plantilla_discusión',
+       NS_HELP             => 'Ayuda',
+       NS_HELP_TALK        => 'Ayuda_discusión',
+       NS_CATEGORY         => 'Categoría',
+       NS_CATEGORY_TALK    => 'Categoría_discusión',
+);
+
+?>
diff --git a/languages/MessagesAv.php b/languages/MessagesAv.php
new file mode 100644 (file)
index 0000000..39a715b
--- /dev/null
@@ -0,0 +1,9 @@
+<?php
+/** Avar (Авар)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+$fallback = 'ru';
+?>
\ No newline at end of file
diff --git a/languages/MessagesAy.php b/languages/MessagesAy.php
new file mode 100644 (file)
index 0000000..cd0d143
--- /dev/null
@@ -0,0 +1,9 @@
+<?php
+/** Tahitian (Reo Mā`ohi)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+$fallback = 'fr';
+?>
index c0f7bbb..d7adbbb 100644 (file)
@@ -1,7 +1,35 @@
 <?php
+/** Azerbaijani (Azərbaycan)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+$namespaceNames = array(
+       NS_MEDIA            => 'Mediya',
+       NS_SPECIAL          => 'Xüsusi',
+       NS_MAIN             => '',
+       NS_TALK             => 'Müzakirə',
+       NS_USER             => 'İstifadəçi',
+       NS_USER_TALK        => 'İstifadəçi_müzakirəsi',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => '$1_müzakirəsi',
+       NS_IMAGE            => 'Şəkil',
+       NS_IMAGE_TALK       => 'Şəkil_müzakirəsi',
+       NS_MEDIAWIKI        => 'MediyaViki',
+       NS_MEDIAWIKI_TALK   => 'MediyaViki_müzakirəsi',
+       NS_TEMPLATE         => 'Şablon',
+       NS_TEMPLATE_TALK    => 'Şablon_müzakirəsi',
+       NS_HELP             => 'Kömək',
+       NS_HELP_TALK        => 'Kömək_müzakirəsi',
+       NS_CATEGORY         => 'Kateqoriya',
+       NS_CATEGORY_TALK    => 'Kateqoriya_müzakirəsi',
+);
+
+$separatorTransformTable = array(',' => '.', '.' => ',' );
+
 
-global $wgAllMessagesAz;
-$wgAllMessagesAz = array(
+$messages = array(
 
 # User preference toggles  # Kullanıcı seçenekleri
 'tog-fancysig' => 'Xam imza (daxili bağlantı yaratmaz)',
diff --git a/languages/MessagesBa.php b/languages/MessagesBa.php
new file mode 100644 (file)
index 0000000..e206b1c
--- /dev/null
@@ -0,0 +1,9 @@
+<?php
+/** Bashkir (Башҡорт)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+$fallback = 'ru';
+?>
diff --git a/languages/MessagesBat_smg.php b/languages/MessagesBat_smg.php
new file mode 100644 (file)
index 0000000..f072854
--- /dev/null
@@ -0,0 +1,9 @@
+<?php
+/** Samogitian (Žemaitėška)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+$fallback = 'lt';
+?>
index c4a8213..e634ba8 100644 (file)
@@ -1,7 +1,142 @@
 <?php
+/** Belarusian (Беларуская мова)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
 
-global $wgAllMessagesBe;
-$wgAllMessagesBe = array(
+$quickbarSettings = array(
+       'Не паказваць', 'Замацаваная зьлева', 'Замацаваная справа', 'Рухомая зьлева'
+);
+
+$skinNames = array(
+       'standard' => 'Клясычны',
+       'nostalgia' => 'Настальгія',
+       'cologneblue' => 'Кёльнскі смутак',
+       'davinci' => 'Да Вінчы',
+       'mono' => 'Мона',
+       'monobook' => 'Монакніга',
+       'myskin' => 'MySkin',
+       'chick' => 'Цыпа'
+);
+
+$datePreferences = array(
+       'default',
+       'dmy',
+       'ISO 8601',
+);
+
+$defaultDateFormat = 'dmy';
+
+$dateFormats = array(
+       'dmy time' => 'H:i',
+       'dmy date' => 'j.F.Y',
+       'dmy both' => 'H:i, j.F.Y',
+);
+
+$magicWords = array(
+       'redirect'               => array( 0,    '#перанакіраваньне', '#redirect' ),
+       'notoc'                  => array( 0,    '__NOTOC__', '__БЯЗЬ_ЗЬМЕСТУ__' ),
+       'forcetoc'               => array( 0,    '__FORCETOC__', '__ЗЬМЕСТ_ПРЫМУСАМ__' ),
+       'toc'                    => array( 0,    '__TOC__', '__ЗЬМЕСТ__' ),
+       'noeditsection'          => array( 0,    '__NOEDITSECTION__', '__БЕЗ_РЭДАГАВАНЬНЯ_СЭКЦЫІ__' ),
+       'start'                  => array( 0,    '__START__', '__ПАЧАТАК__' ),
+       'currentmonth'           => array( 1,    'CURRENTMONTH', 'БЯГУЧЫ_МЕСЯЦ' ),
+       'currentmonthname'       => array( 1,    'CURRENTMONTHNAME', 'НАЗВА_БЯГУЧАГА_МЕСЯЦА' ),
+       'currentmonthnamegen'    => array( 1,    'CURRENTMONTHNAMEGEN', 'НАЗВА_БЯГУЧАГА_МЕСЯЦА_Ў_РОДНЫМ_СКЛОНЕ' ),
+       'currentmonthabbrev'     => array( 1,    'CURRENTMONTHABBREV', 'СКАРОЧАНАЯ_НАЗВА_БЯГУЧАГА_МЕСЯЦА' ),
+       'currentday'             => array( 1,    'CURRENTDAY', 'БЯГУЧЫ_ДЗЕНЬ' ),
+       'currentday2'            => array( 1,    'CURRENTDAY2', 'БЯГУЧЫ_ДЗЕНЬ_2' ),
+       'currentdayname'         => array( 1,    'CURRENTDAYNAME', 'НАЗВА_БЯГУЧАГА_ДНЯ' ),
+       'currentyear'            => array( 1,    'CURRENTYEAR', 'БЯГУЧЫ_ГОД' ),
+       'currenttime'            => array( 1,    'CURRENTTIME', 'БЯГУЧЫ_ЧАС' ),
+       'numberofpages'          => array( 1,    'NUMBEROFPAGES', 'КОЛЬКАСЬЦЬ_СТАРОНАК' ),
+       'numberofarticles'       => array( 1,    'NUMBEROFARTICLES', 'КОЛЬКАСЬЦЬ_АРТЫКУЛАЎ' ),
+       'numberoffiles'          => array( 1,    'NUMBEROFFILES', 'КОЛЬКАСЬЦЬ_ФАЙЛАЎ' ),
+       'numberofusers'          => array( 1,    'NUMBEROFUSERS', 'КОЛЬКАСЬЦЬ_УДЗЕЛЬНІКАЎ' ),
+       'pagename'               => array( 1,    'PAGENAME', 'НАЗВА_СТАРОНКІ' ),
+       'pagenamee'              => array( 1,    'PAGENAMEE', 'НАЗВА_СТАРОНКІ_2' ),
+       'namespace'              => array( 1,    'NAMESPACE', 'ПРАСТОРА_НАЗВАЎ' ),
+       'namespacee'             => array( 1,    'NAMESPACEE', 'ПРАСТОРА_НАЗВАЎ_2' ),
+       'talkspace'              => array( 1,    'TALKSPACE', 'ПРАСТОРА_НАЗВАЎ_АБМЕРКАВАНЬНЯ' ),
+       'talkspacee'             => array( 1,    'TALKSPACEE', 'ПРАСТОРА_НАЗВАЎ_АБМЕРКАВАНЬНЯ_2' ),
+       'subjectspace'           => array( 1,    'SUBJECTSPACE', 'ARTICLESPACE', 'ПРАСТОРА_НАЗВАЎ_ПРАДМЕТУ', 'ПРАСТОРА_НАЗВАЎ_АРТЫКУЛА' ),
+       'subjectspacee'          => array( 1,    'SUBJECTSPACEE', 'ARTICLESPACEE', 'ПРАСТОРА_НАЗВАЎ_ПРАДМЕТУ_2', 'ПРАСТОРА_НАЗВАЎ_АРТЫКУЛА_2' ),
+       'fullpagename'           => array( 1,    'FULLPAGENAME', 'ПОЎНАЯ_НАЗВА_СТАРОНКІ' ),
+       'fullpagenamee'          => array( 1,    'FULLPAGENAMEE', 'ПОЎНАЯ_НАЗВА_СТАРОНКІ_2' ),
+       'subpagename'            => array( 1,    'SUBPAGENAME', 'НАЗВА_ПАДСТАРОНКІ' ),
+       'subpagenamee'           => array( 1,    'SUBPAGENAMEE', 'НАЗВА_ПАДСТАРОНКІ_2' ),
+       'basepagename'           => array( 1,    'BASEPAGENAME', 'НАЗВА_БАЗАВАЙ_СТАРОНКІ' ),
+       'basepagenamee'          => array( 1,    'BASEPAGENAMEE', 'НАЗВА_БАЗАВАЙ_СТАРОНКІ_2' ),
+       'talkpagename'           => array( 1,    'TALKPAGENAME', 'НАЗВА_СТАРОНКІ_АБМЕРКАВАНЬНЯ' ),
+       'talkpagenamee'          => array( 1,    'TALKPAGENAMEE', 'НАЗВА_СТАРОНКІ_АБМЕРКАВАНЬНЯ_2' ),
+       'subjectpagename'        => array( 1,    'SUBJECTPAGENAME', 'ARTICLEPAGENAME', 'НАЗВА_СТАРОНКІ_ПРАДМЕТУ', 'НАЗВА_СТАРОНКІ_АРТЫКУЛА' ),
+       'subjectpagenamee'       => array( 1,    'SUBJECTPAGENAMEE', 'ARTICLEPAGENAMEE', 'НАЗВА_СТАРОНКІ_ПРАДМЕТУ_2', 'НАЗВА_СТАРОНКІ_АРТЫКУЛА_2' ),
+       'msg'                    => array( 0,    'MSG:', 'ПАВЕДАМЛЕНЬНЕ:' ),
+       'subst'                  => array( 0,    'SUBST:', 'ПАДСТАНОЎКА:' ),
+       'msgnw'                  => array( 0,    'MSGNW:', 'ПАВЕДАМЛЕНЬНЕ_БЯЗЬ_ВІКІ:' ),
+       'end'                    => array( 0,    '__END__', '__КАНЕЦ__' ),
+       'img_thumbnail'          => array( 1,    'thumbnail', 'thumb', 'значак', 'міні' ),
+       'img_manualthumb'        => array( 1,    'thumbnail=$1', 'thumb=$1', 'значак=$1', 'міні=$1' ),
+       'img_right'              => array( 1,    'right', 'справа' ),
+       'img_left'               => array( 1,    'left', 'зьлева' ),
+       'img_none'               => array( 1,    'none', 'няма' ),
+       'img_width'              => array( 1,    '$1px', '$1пкс' ),
+       'img_center'             => array( 1,    'center', 'centre', 'цэнтар' ),
+       'img_framed'             => array( 1,    'framed', 'enframed', 'frame', 'рамка' ),
+       'int'                    => array( 0,    'INT:' ),
+       'sitename'               => array( 1,    'SITENAME', 'НАЗВА_САЙТУ' ),
+       'ns'                     => array( 0,    'NS:', 'ПН:' ),
+       'localurl'               => array( 0,    'LOCALURL:', 'ЛЯКАЛЬНЫ_АДРАС:' ),
+       'localurle'              => array( 0,    'LOCALURLE:', 'ЛЯКАЛЬНЫ_АДРАС_2:' ),
+       'server'                 => array( 0,    'SERVER', 'СЭРВЭР' ),
+       'servername'             => array( 0,    'SERVERNAME', 'НАЗВА_СЭРВЭРА' ),
+       'scriptpath'             => array( 0,    'SCRIPTPATH', 'ШЛЯХ_ДА_СКРЫПТА' ),
+       'grammar'                => array( 0,    'GRAMMAR:', 'ГРАМАТЫКА:' ),
+       'notitleconvert'         => array( 0,    '__NOTITLECONVERT__', '__NOTC__', '__БЕЗ_КАНВЭРТАЦЫІ_НАЗВЫ__' ),
+       'nocontentconvert'       => array( 0,    '__NOCONTENTCONVERT__', '__NOCC__', '__БЕЗ_КАНВЭРТАЦЫІ_ТЭКСТУ__' ),
+       'currentweek'            => array( 1,    'CURRENTWEEK', 'БЯГУЧЫ_ТЫДЗЕНЬ' ),
+       'currentdow'             => array( 1,    'CURRENTDOW', 'БЯГУЧЫ_ДЗЕНЬ_ТЫДНЯ' ),
+       'revisionid'             => array( 1,    'REVISIONID', 'ID_ВЭРСІІ' ),
+       'plural'                 => array( 0,    'PLURAL:', 'МНОЖНЫ_ЛІК:'),
+       'fullurl'                => array( 0,    'FULLURL:', 'ПОЎНЫ_АДРАС:' ),
+       'fullurle'               => array( 0,    'FULLURLE:', 'ПОЎНЫ_АДРАС_2:' ),
+       'lcfirst'                => array( 0,    'LCFIRST:', 'ПЕРШАЯ_ЛІТАРА_МАЛАЯ:' ),
+       'ucfirst'                => array( 0,    'UCFIRST:', 'ПЕРШАЯ_ЛІТАРА_ВЯЛІКАЯ:' ),
+       'lc'                     => array( 0,    'LC:', 'МАЛЫМІ_ЛІТАРАМІ:' ),
+       'uc'                     => array( 0,    'UC:', 'ВЯЛІКІМІ_ЛІТАРАМІ:' ),
+       'raw'                    => array( 0,    'RAW:', 'НЕАПРАЦАВАНЫ' ),
+       'displaytitle'           => array( 1,    'DISPLAYTITLE', 'АДЛЮСТРАВАНАЯ_НАЗВА' ),
+       'rawsuffix'              => array( 1,    'R', 'Н' ),
+       'newsectionlink'         => array( 1,    '__NEWSECTIONLINK__', '__СПАСЫЛКА_НА_НОВУЮ_СЭКЦЫЮ__' ),
+       'currentversion'         => array( 1,    'CURRENTVERSION', 'БЯГУЧАЯ_ВЭРСІЯ' ),
+       'urlencode'              => array( 0,    'URLENCODE:' ),
+);
+$namespaceNames = array(
+       NS_MEDIA          => 'Мэдыя',
+       NS_SPECIAL        => 'Спэцыяльныя',
+       NS_MAIN           => '',
+       NS_TALK           => 'Абмеркаваньне',
+       NS_USER           => 'Удзельнік',
+       NS_USER_TALK      => 'Гутаркі_ўдзельніка',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK   => 'Абмеркаваньне_$1',
+       NS_IMAGE          => 'Выява',
+       NS_IMAGE_TALK     => 'Абмеркаваньне_выявы',
+       NS_MEDIAWIKI      => 'MediaWiki',
+       NS_MEDIAWIKI_TALK => 'Абмеркаваньне_MediaWiki',
+       NS_TEMPLATE       => 'Шаблён',
+       NS_TEMPLATE_TALK  => 'Абмеркаваньне_шаблёну',
+       NS_HELP           => 'Дапамога',
+       NS_HELP_TALK      => 'Абмеркаваньне_дапамогі',
+       NS_CATEGORY       => 'Катэгорыя',
+       NS_CATEGORY_TALK  => 'Абмеркаваньне_катэгорыі'
+);
+$separatorTransformTable = array(',' => '.', '.' => ',' );
+$linkTrail = '/^([абвгґджзеёжзійклмнопрстуўфхцчшыьэюяćčłńśšŭźža-z]+)(.*)$/sDu';
+
+
+$messages = array(
 # Belarusian Cyrillic alphabet:
 # Аа Бб Вв Гг Дд (ДЖдж ДЗдз) Ее Ёё Жж Зз Іі Йй Кк Лл Мм Нн Оо Пп Рр Сс Тт Уу Ўў Фф Хх Цц Чч Шш Ыы Ьь Ээ Юю Яя
 # Short ([^a-z]): абвгд (ДЖдж ДЗдз) еёжзійклмнопрстуўфхцчшыьэюя
@@ -11,7 +146,6 @@ $wgAllMessagesBe = array(
 # Short ([^a-z]): ćč (DŽdž)  łńśšŭźž
 
 # Note: use /u (unicode) and /i to turn of case-sensativity.
-'linktrail' => '/^([абвгґджзеёжзійклмнопрстуўфхцчшыьэюяćčłńśšŭźža-z]+)(.*)$/sDu',
 
 '1movedto2' => '[[$1]] перанесеная ў [[$2]]',
 '1movedto2_redir' => '[[$1]] перанесеная ў [[$2]] з выдаленьнем перанакіраваньня',
index e7032f1..61409bc 100644 (file)
@@ -1,6 +1,103 @@
 <?php
+/** Bulgarian (Български)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ */
+$namespaceNames = array(
+       NS_MEDIA            => 'Медия',
+       NS_SPECIAL          => 'Специални',
+       NS_MAIN             => '',
+       NS_TALK             => 'Беседа',
+       NS_USER             => 'Потребител',
+       NS_USER_TALK        => 'Потребител_беседа',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => '$1_беседа',
+       NS_IMAGE            => 'Картинка',
+       NS_IMAGE_TALK       => 'Картинка_беседа',
+       NS_MEDIAWIKI        => 'МедияУики',
+       NS_MEDIAWIKI_TALK   => 'МедияУики_беседа',
+       NS_TEMPLATE         => 'Шаблон',
+       NS_TEMPLATE_TALK    => 'Шаблон_беседа',
+       NS_HELP             => 'Помощ',
+       NS_HELP_TALK        => 'Помощ_беседа',
+       NS_CATEGORY         => 'Категория',
+       NS_CATEGORY_TALK    => 'Категория_беседа'
+);
+
+$quickbarSettings = array(
+       'Без меню', 'Неподвижно вляво', 'Неподвижно вдясно', 'Плаващо вляво', 'Плаващо вдясно'
+);
+
+$skinNames = array(
+       'standard' => 'Класика',
+       'nostalgia' => 'Носталгия',
+       'cologneblue' => 'Кьолнско синьо',
+       'smarty' => 'Падингтън',
+       'montparnasse' => 'Монпарнас',
+       'davinci' => 'ДаВинчи',
+       'mono' => 'Моно',
+       'monobook' => 'Монобук',
+       'myskin' => 'Мой облик',
+);
+
+$datePreferences = false;
+
+$bookstoreList = array(
+       'books.bg'       => 'http://www.books.bg/ISBN/$1',
+);
+
+$magicWords = array(
+#   ID                                 CASE  SYNONYMS
+       'redirect'               => array( 0, '#redirect', '#пренасочване', '#виж' ),
+       'notoc'                  => array( 0, '__NOTOC__', '__БЕЗСЪДЪРЖАНИЕ__' ),
+       'forcetoc'               => array( 0, '__FORCETOC__', '__СЪССЪДЪРЖАНИЕ__' ),
+       'toc'                    => array( 0, '__TOC__', '__СЪДЪРЖАНИЕ__'      ),
+       'noeditsection'          => array( 0, '__NOEDITSECTION__', '__БЕЗ_РЕДАКТИРАНЕ_НА_РАЗДЕЛИ__' ),
+       'start'                  => array( 0, '__START__', '__НАЧАЛО__'         ),
+       'currentmonth'           => array( 1, 'CURRENTMONTH', 'ТЕКУЩМЕСЕЦ'      ),
+       'currentmonthname'       => array( 1, 'CURRENTMONTHNAME', 'ТЕКУЩМЕСЕЦИМЕ' ),
+       'currentmonthnamegen'    => array( 1, 'CURRENTMONTHNAMEGEN', 'ТЕКУЩМЕСЕЦИМЕРОД' ),
+       'currentmonthabbrev'     => array( 1, 'CURRENTMONTHABBREV', 'ТЕКУЩМЕСЕЦСЪКР'    ),
+       'currentday'             => array( 1, 'CURRENTDAY', 'ТЕКУЩДЕН'            ),
+       'currentdayname'         => array( 1, 'CURRENTDAYNAME', 'ТЕКУЩДЕНИМЕ'     ),
+       'currentyear'            => array( 1, 'CURRENTYEAR', 'ТЕКУЩАГОДИНА'       ),
+       'currenttime'            => array( 1, 'CURRENTTIME', 'ТЕКУЩОВРЕМЕ'        ),
+       'numberofarticles'       => array( 1, 'NUMBEROFARTICLES', 'БРОЙСТАТИИ'    ),
+       'numberoffiles'          => array( 1, 'NUMBEROFFILES', 'БРОЙФАЙЛОВЕ'      ),
+       'pagename'               => array( 1, 'PAGENAME', 'СТРАНИЦА'              ),
+       'pagenamee'              => array( 1, 'PAGENAMEE', 'СТРАНИЦАИ'            ),
+       'namespace'              => array( 1, 'NAMESPACE', 'ИМЕННОПРОСТРАНСТВО'   ),
+       'subst'                  => array( 0, 'SUBST:', 'ЗАМЕСТ:'            ),
+       'msgnw'                  => array( 0, 'MSGNW:', 'СЪОБЩNW:'           ),
+       'end'                    => array( 0, '__END__', '__КРАЙ__'            ),
+       'img_thumbnail'          => array( 1, 'thumbnail', 'thumb', 'мини'     ),
+       'img_manualthumb'        => array( 1, 'thumbnail=$1', 'thumb=$1', 'мини=$1'),
+       'img_right'              => array( 1, 'right', 'вдясно', 'дясно', 'д'  ),
+       'img_left'               => array( 1, 'left', 'вляво', 'ляво', 'л'     ),
+       'img_none'               => array( 1, 'none', 'н'                  ),
+       'img_width'              => array( 1, '$1px', '$1пкс' , '$1п'         ),
+       'img_center'             => array( 1, 'center', 'centre', 'център', 'центр', 'ц' ),
+       'img_framed'             => array( 1, 'framed', 'enframed', 'frame', 'рамка', 'врамка' ),
+       'int'                    => array( 0, 'INT:'                   ),
+       'sitename'               => array( 1, 'SITENAME', 'ИМЕНАСАЙТА'       ),
+       'ns'                     => array( 0, 'NS:', 'ИП:'                    ),
+       'localurl'               => array( 0, 'LOCALURL:', 'ЛОКАЛЕНАДРЕС:'    ),
+       'localurle'              => array( 0, 'LOCALURLE:', 'ЛОКАЛЕНАДРЕСИ:'  ),
+       'server'                 => array( 0, 'SERVER', 'СЪРВЪР'       ),
+       'servername'             => array( 0, 'SERVERNAME', 'ИМЕНАСЪРВЪРА'    ),
+       'scriptpath'             => array( 0, 'SCRIPTPATH', 'ПЪТДОСКРИПТА'    ),
+       'grammar'                => array( 0, 'GRAMMAR:', 'ГРАМАТИКА:' ),
+       'notitleconvert'         => array( 0, '__NOTITLECONVERT__', '__NOTC__'),
+       'nocontentconvert'       => array( 0, '__NOCONTENTCONVERT__', '__NOCC__'),
+       'currentweek'            => array( 1, 'CURRENTWEEK', 'ТЕКУЩАСЕДМИЦА'),
+       'currentdow'             => array( 1, 'CURRENTDOW'             ),
+       'revisionid'             => array( 1, 'REVISIONID'             ),
+);
+
+$separatorTransformTable = array(',' => "\xc2\xa0", '.' => ',' );
 
-/* private */ $wgAllMessagesBg = array(
+$messages = array(
 
 # User toggles
 'tog-underline'      => 'Подчертаване на препратките',
diff --git a/languages/MessagesBm.php b/languages/MessagesBm.php
new file mode 100644 (file)
index 0000000..8dd53fe
--- /dev/null
@@ -0,0 +1,9 @@
+<?php
+/** Bambara (Bamanankan)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+$fallback = 'fr';
+?>
index 905fadd..b6c1528 100644 (file)
@@ -1,7 +1,38 @@
 <?php
+/** Bengali (বাংলা)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
 
-global $wgAllMessagesBn;
-$wgAllMessagesBn = array(
+$namespaceNames = array(
+       NS_SPECIAL        => 'বিশেষ',
+       NS_MAIN           => '',
+       NS_TALK           => 'আলাপ',
+       NS_USER           => 'ব্যবহারকারী',
+       NS_USER_TALK      => 'ব্যবহারকারী_আলাপ',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK   => '$1_আলাপ',
+       NS_IMAGE          => 'চিত্র',
+       NS_IMAGE_TALK     => 'চিত্র_আলাপ',
+       NS_MEDIAWIKI_TALK => 'MediaWiki_আলাপ'
+);
+$datePreferences = false;
+$digitTransformTable = array(
+       '0' => '০',
+       '1' => '১',
+       '2' => '২',
+       '3' => '৩',
+       '4' => '৪',
+       '5' => '৫',
+       '6' => '৬',
+       '7' => '৭',
+       '8' => '৮',
+       '9' => '৯'
+);
+
+
+$messages = array(
 # Dates
 
 'sunday' => 'রবিবার',
@@ -105,4 +136,4 @@ $wgAllMessagesBn = array(
 );
 
 
-?>
\ No newline at end of file
+?>
diff --git a/languages/MessagesBo.php b/languages/MessagesBo.php
new file mode 100644 (file)
index 0000000..ce8b441
--- /dev/null
@@ -0,0 +1,20 @@
+<?php
+/** Tibetan (བོད་ཡིག)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+$digitTransformTable = array(
+       '0' => '༠',
+       '1' => '༡',
+       '2' => '༢',
+       '3' => '༣',
+       '4' => '༤',
+       '5' => '༥',
+       '6' => '༦',
+       '7' => '༧',
+       '8' => '༨',
+       '9' => '༩'
+);
+?>
diff --git a/languages/MessagesBpy.php b/languages/MessagesBpy.php
new file mode 100644 (file)
index 0000000..3759364
--- /dev/null
@@ -0,0 +1,11 @@
+<?php
+/**
+ * Bishnupriya
+ * most speakers have Bengali as second language, use as default fallback
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ */
+
+$fallback = 'bn';
+?>
index e0ef7bd..dd868db 100644 (file)
@@ -1,7 +1,64 @@
 <?php
 
+$namespaceNames = array(
+       NS_MEDIA                        => 'Media',
+       NS_SPECIAL                      => 'Dibar',
+       NS_MAIN                         => '',
+       NS_TALK                         => 'Kaozeal',
+       NS_USER                         => 'Implijer',
+       NS_USER_TALK            => 'Kaozeadenn_Implijer',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK         => 'Kaozeadenn_$1',
+       NS_IMAGE                        => 'Skeudenn',
+       NS_IMAGE_TALK           => 'Kaozeadenn_Skeudenn',
+       NS_MEDIAWIKI            => 'MediaWiki',
+       NS_MEDIAWIKI_TALK       => 'Kaozeadenn_MediaWiki',
+       NS_TEMPLATE                     => 'Patrom',
+       NS_TEMPLATE_TALK        => 'Kaozeadenn_Patrom',
+       NS_HELP                         => 'Skoazell',
+       NS_HELP_TALK            => 'Kaozeadenn_Skoazell',
+       NS_CATEGORY                     => 'Rummad',
+       NS_CATEGORY_TALK        => 'Kaozeadenn_Rummad'
+);
+
+$quickbarSettings = array(
+       'Hini ebet', 'Kleiz', 'Dehou', 'War-neuñv a-gleiz'
+);
+
+$skinNames = array(
+       'standard'              => 'Standard',
+       'nostalgia'             => 'Melkoni',
+       'cologneblue'   => 'Glaz Kologn',
+       'smarty'                => 'Paddington',
+       'montparnasse'  => 'Montparnasse',
+       'davinci'               => 'DaVinci',
+       'mono'                  => 'Mono',
+       'monobook'              => 'MonoBook',
+       'myskin'                => 'MySkin'
+);
+
+
+
+$bookstoreList = array(
+       'Amazon.fr'             => 'http://www.amazon.fr/exec/obidos/ISBN=$1',
+       'alapage.fr'    => 'http://www.alapage.com/mx/?tp=F&type=101&l_isbn=$1&donnee_appel=ALASQ&devise=&',
+       'fnac.com'              => 'http://www3.fnac.com/advanced/book.do?isbn=$1',
+       'chapitre.com'  => 'http://www.chapitre.com/frame_rec.asp?isbn=$1',
+);
+
+$datePreferences = false;
+$defaultDateFormat = 'dmy';
+$dateFormats = array(
+       'dmy time' => 'H:i',
+       'dmy date' => 'j M Y',
+       'dmy both' => 'j M Y "da" H:i',
+);
+
+$separatorTransformTable = array(',' => "\xc2\xa0", '.' => ',' );
+$linkTrail = "/^([a-zàâçéèêîôûäëïöüùÇÉÂÊÎÔÛÄËÏÖÜÀÈÙ]+)(.*)$/sDu";
+
 
-/* private */ $wgAllMessagesBr = array(
+$messages = array(
 
 # User Toggles
 
 'subcategorycount' => '$1 isrummad zo d\'ar rummad-mañ.',
 
 'allarticles'   => 'An holl bennadoù',
-'linktrail'     => "/^([a-zàâçéèêîôûäëïöüùÇÉÂÊÎÔÛÄËÏÖÜÀÈÙ]+)(.*)$/sDu",
 'mainpage'      => 'Degemer',
 'mainpagetext' => 'Meziant {{SITENAME}} staliet.',
 'portal'        => 'Porched ar gumuniezh',
index 1ce70be..839c8f9 100644 (file)
@@ -1,7 +1,98 @@
 <?php
 
-global $wgAllMessagesBs;
-$wgAllMessagesBs = array(
+$namespaceNames = array(
+       NS_MEDIA            => 'Medija',
+       NS_SPECIAL          => 'Posebno',
+       NS_MAIN             => '',
+       NS_TALK             => 'Razgovor',
+       NS_USER             => 'Korisnik',
+       NS_USER_TALK        => 'Razgovor_sa_korisnikom',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => 'Razgovor_{{grammar:instrumental|$1}}',
+       NS_IMAGE            => 'Slika',
+       NS_IMAGE_TALK       => 'Razgovor_o_slici',
+       NS_MEDIAWIKI        => 'MedijaViki',
+       NS_MEDIAWIKI_TALK   => 'Razgovor_o_MedijaVikiju',
+       NS_TEMPLATE         => 'Šablon',
+       NS_TEMPLATE_TALK    => 'Razgovor_o_šablonu',
+       NS_HELP             => 'Pomoć',
+       NS_HELP_TALK        => 'Razgovor_o_pomoći',
+       NS_CATEGORY         => 'Kategorija',
+       NS_CATEGORY_TALK    => 'Razgovor_o_kategoriji',
+);
+
+$quickbarSettings = array(
+       'Nikakva', 'Pričvršćena lijevo', 'Pričvršćena desno', 'Plutajuća lijevo'
+);
+
+$skinNames = array(
+       'Obična', 'Nostalgija', 'Kelnsko plavo', 'Pedington', 'Monparnas'
+);
+
+$magicWords = array(
+       # ID                              CASE SYNONYMS
+       'redirect'               => array( 0, '#Preusmjeri', '#redirect', '#preusmjeri', '#PREUSMJERI' ),
+       'notoc'                  => array( 0, '__NOTOC__', '__BEZSADRŽAJA__' ),
+       'forcetoc'               => array( 0, '__FORCETOC__', '__FORSIRANISADRŽAJ__' ),
+       'toc'                    => array( 0, '__TOC__', '__SADRŽAJ__' ),
+       'noeditsection'          => array( 0, '__NOEDITSECTION__', '__BEZ_IZMENA__', '__BEZIZMENA__' ),
+       'start'                  => array( 0, '__START__', '__POČETAK__' ),
+       'end'                    => array( 0, '__END__', '__KRAJ__' ),
+       'currentmonth'           => array( 1, 'CURRENTMONTH', 'TRENUTNIMJESEC' ),
+       'currentmonthname'       => array( 1, 'CURRENTMONTHNAME', 'TRENUTNIMJESECIME' ),
+       'currentmonthnamegen'    => array( 1, 'CURRENTMONTHNAMEGEN', 'TRENUTNIMJESECROD' ),
+       'currentmonthabbrev'     => array( 1, 'CURRENTMONTHABBREV', 'TRENUTNIMJESECSKR' ),
+       'currentday'             => array( 1, 'CURRENTDAY', 'TRENUTNIDAN' ),
+       'currentdayname'         => array( 1, 'CURRENTDAYNAME', 'TRENUTNIDANIME' ),
+       'currentyear'            => array( 1, 'CURRENTYEAR', 'TRENUTNAGODINA' ),
+       'currenttime'            => array( 1, 'CURRENTTIME', 'TRENUTNOVRIJEME' ),
+       'numberofarticles'       => array( 1, 'NUMBEROFARTICLES', 'BROJČLANAKA' ),
+       'numberoffiles'          => array( 1, 'NUMBEROFFILES', 'BROJDATOTEKA', 'BROJFAJLOVA' ),
+       'pagename'               => array( 1, 'PAGENAME', 'STRANICA' ),
+       'pagenamee'              => array( 1, 'PAGENAMEE', 'STRANICE' ),
+       'namespace'              => array( 1, 'NAMESPACE', 'IMENSKIPROSTOR' ),
+       'namespacee'             => array( 1, 'NAMESPACEE', 'IMENSKIPROSTORI' ),
+       'fullpagename'           => array( 1, 'FULLPAGENAME', 'PUNOIMESTRANE' ),
+       'fullpagenamee'          => array( 1, 'FULLPAGENAMEE', 'PUNOIMESTRANEE' ),
+       'msg'                    => array( 0, 'MSG:', 'POR:' ),
+       'subst'                  => array( 0, 'SUBST:', 'ZAMJENI:' ),
+       'msgnw'                  => array( 0, 'MSGNW:', 'NVPOR:' ),
+       'img_thumbnail'          => array( 1, 'thumbnail', 'thumb', 'mini' ),
+       'img_manualthumb'        => array( 1, 'thumbnail=$1', 'thumb=$1', 'mini=$1' ),
+       'img_right'              => array( 1, 'right', 'desno', 'd' ),
+       'img_left'               => array( 1, 'left', 'lijevo', 'l' ),
+       'img_none'               => array( 1, 'none', 'n', 'bez' ),
+       'img_width'              => array( 1, '$1px', '$1piksel' , '$1p' ),
+       'img_center'             => array( 1, 'center', 'centre', 'centar', 'c' ),
+       'img_framed'             => array( 1, 'framed', 'enframed', 'frame', 'okvir', 'ram' ),
+       'int'                    => array( 0, 'INT:', 'INT:' ),
+       'sitename'               => array( 1, 'SITENAME', 'IMESAJTA' ),
+       'ns'                     => array( 0, 'NS:', 'IP:' ),
+       'localurl'               => array( 0, 'LOCALURL:', 'LOKALNAADRESA:' ),
+       'localurle'              => array( 0, 'LOCALURLE:', 'LOKALNEADRESE:' ),
+       'server'                 => array( 0, 'SERVER', 'SERVER' ),
+       'servername'             => array( 0, 'SERVERNAME', 'IMESERVERA' ),
+       'scriptpath'             => array( 0, 'SCRIPTPATH', 'SKRIPTA' ),
+       'grammar'                => array( 0, 'GRAMMAR:', 'GRAMATIKA:' ),
+       'notitleconvert'         => array( 0, '__NOTITLECONVERT__', '__NOTC__', '__BEZTC__' ),
+       'nocontentconvert'       => array( 0, '__NOCONTENTCONVERT__', '__NOCC__', '__BEZCC__' ),
+       'currentweek'            => array( 1, 'CURRENTWEEK', 'TRENUTNASEDMICA' ),
+       'currentdow'             => array( 1, 'CURRENTDOW', 'TRENUTNIDOV' ),
+       'revisionid'             => array( 1, 'REVISIONID', 'IDREVIZIJE' ),
+       'plural'                 => array( 0, 'PLURAL:', 'MNOŽINA:' ),
+       'fullurl'                => array( 0, 'FULLURL:', 'PUNURL:' ),
+       'fullurle'               => array( 0, 'FULLURLE:', 'PUNURLE:' ),
+       'lcfirst'                => array( 0, 'LCFIRST:', 'LCPRVI:' ),
+       'ucfirst'                => array( 0, 'UCFIRST:', 'UCPRVI:' ),
+       'lc'                     => array( 0, 'LC:', 'LC:' ),
+       'uc'                     => array( 0, 'UC:', 'UC:' ),
+);
+
+$fallback8bitEncoding = "iso-8859-2";
+$separatorTransformTable = array(',' => '.', '.' => ',' );
+$linkTrail = '/^([a-zćčžšđž]+)(.*)$/sDu';
+
+$messages = array(
 '1movedto2' => 'stranica [[$1]] premještena u stranicu [[$2]]',
 '1movedto2_redir' => 'stranica [[$1]] premještena u stranicu [[$2]] putem preusmjerenja',
 'Monobook.css' => '/*
@@ -204,6 +295,7 @@ nemojte ih slati ovdje. Takođe, slanje članka podrazumijeva i vašu izjavu da
 'currentrev' => 'Trenutna revizija',
 'databaseerror' => 'Greška u bazi',
 'dateformat' => 'Format datuma',
+'datedefault' => 'Nije bitno',
 'dberrortext' => 'Desila se sintaksna greška upita baze.
 Ovo je moguće zbog ilegalnog upita, ili moguće greške u softveru.
 Poslednji pokušani upit je bio: <blockquote><tt>$1</tt></blockquote>
@@ -411,7 +503,6 @@ ovu staru verziju, (vrt) = vrati na ovu staru verziju.
 'linklistsub' => '(Spisak veza)',
 'linkshere' => 'Sledeće stranice su povezane ovdje:',
 'linkstoimage' => 'Sledeće stranice koriste ovu sliku:',
-'linktrail' => '/^([a-zćčžšđž]+)(.*)$/sDu',
 'listusers' => 'Spisak korisnika',
 'loadhist' => 'Učitaje se istorija stranice',
 'loadingrev' => 'učitava se revizija za razliku',
index 19fd847..24b27e8 100644 (file)
@@ -1,7 +1,58 @@
 <?php
+$quickbarSettings = array(
+       "Cap", "Fixa a la dreta", "Fixa a l'esquerra", "Surant a l'esquerra"
+);
+$skinNames = array(
+       'standard' => "Estàndard",
+       'nostalgia' => "Nostàlgia",
+       'cologneblue' => "Colònia blava",
+);
+
+$bookstoreList = array(
+       'Catàleg Col·lectiu de les Universitats de Catalunya' => 'http://ccuc.cbuc.es/cgi-bin/vtls.web.gateway?searchtype=control+numcard&searcharg=$1',
+       'Totselsllibres.com' => 'http://www.totselsllibres.com/tel/publi/busquedaAvanzadaLibros.do?ISBN=$1',
+       'inherit' => true,
+);
+$namespaceNames = array(
+       NS_MEDIA          => 'Media',
+       NS_SPECIAL        => 'Especial',
+       NS_MAIN           => '',
+       NS_TALK           => 'Discussió',
+       NS_USER           => 'Usuari',
+       NS_USER_TALK      => 'Usuari_Discussió',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK   => '$1_Discussió',
+       NS_IMAGE          => 'Imatge',
+       NS_IMAGE_TALK     => 'Imatge_Discussió',
+       NS_MEDIAWIKI      => 'MediaWiki',
+       NS_MEDIAWIKI_TALK => 'MediaWiki_Discussió',
+       NS_TEMPLATE       => 'Plantilla',
+       NS_TEMPLATE_TALK  => 'Plantilla_Discussió',
+       NS_HELP           => 'Ajuda',
+       NS_HELP_TALK      => 'Ajuda_Discussió',
+       NS_CATEGORY       => 'Categoria',
+       NS_CATEGORY_TALK  => 'Categoria_Discussió'
+);
+
+$separatorTransformTable = array(',' => '.', '.' => ',' );
+
+$dateFormats = array(
+       'mdy time' => 'H:i',
+       'mdy date' => 'M j, Y',
+       'mdy both' => 'H:i, M j, Y',
+
+       'dmy time' => 'H:i',
+       'dmy date' => 'j M Y',
+       'dmy both' => 'H:i, j M Y',
+
+       'ymd time' => 'H:i',
+       'ymd date' => 'Y M j',
+       'ymd both' => 'H:i, Y M j',
+);
+
+$linkTrail = '/^([a-zàèéíòóúç·ïü\']+)(.*)$/sDu';
 
-global $wgAllMessagesCa;
-$wgAllMessagesCa = array(
+$messages = array(
 'tog-underline'         => 'Subratlla els enllaços:',
 'tog-highlightbroken'   => 'Formata els enllaços trencats  <a href="" class="new">d\'aquesta manera</a> (altrament, es faria d\'aquesta altra manera<a href="" class="internal">?</a>).',
 'tog-justify'           => 'Alineació justificada dels paràgrafs',
diff --git a/languages/MessagesCe.php b/languages/MessagesCe.php
new file mode 100644 (file)
index 0000000..6c3519c
--- /dev/null
@@ -0,0 +1,9 @@
+<?php
+/** Chechen (Нохчийн)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+$fallback = 'ru';
+?>
index b811cae..5fb0dd7 100644 (file)
@@ -1,7 +1,110 @@
 <?php
+/** Czech (česky)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ */
+
+$fallback8bitEncoding = 'cp1250';
+
+$namespaceNames = array(
+       NS_MEDIA              => 'Média',
+       NS_SPECIAL            => 'Speciální',
+       NS_MAIN               => '',
+       NS_TALK               => 'Diskuse',
+       NS_USER               => 'Uživatel',
+       NS_USER_TALK          => '$1_diskuse',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK       => '$1_diskuse',
+       NS_IMAGE              => 'Soubor',
+       NS_IMAGE_TALK         => 'Soubor_diskuse',
+       NS_MEDIAWIKI          => 'MediaWiki',
+       NS_MEDIAWIKI_TALK     => 'MediaWiki_diskuse',
+       NS_TEMPLATE           => 'Šablona',
+       NS_TEMPLATE_TALK      => 'Šablona_diskuse',
+       NS_HELP               => 'Nápověda',
+       NS_HELP_TALK          => 'Nápověda_diskuse',
+       NS_CATEGORY           => 'Kategorie',
+       NS_CATEGORY_TALK      => 'Kategorie_diskuse',
+);
+
+$quickbarSettings = array(
+       'Žádný', 'Leží vlevo', 'Leží vpravo', 'Visí vlevo'
+);
+
+$skinNames = array(
+       'standard'            => 'Standard',
+       'nostalgia'           => 'Nostalgie',
+       'cologneblue'         => 'Kolínská modř',
+       'chick'               => 'Kuře'
+);
+
+# Hledání knihy podle ISBN
+# $wgBookstoreListCs = ..
+$bookstoreList = array(
+    'Národní knihovna'                       => 'http://sigma.nkp.cz/F/?func=find-a&find_code=ISN&request=$1',
+       'Státní technická knihovna' => 'http://www.stk.cz/cgi-bin/dflex/CZE/STK/BROWSE?A=01&V=$1',
+       'inherit' => true,
+);
 
+# Note to translators:
+#   Please include the English words as synonyms.  This allows people
+#   from other wikis to contribute more easily.
+#
+# Nepoužívá se, pro používání je třeba povolit getMagicWords dole v LanguageCs.
+$magicWords = array(
+##   ID                                 CASE  SYNONYMS
+       'redirect'               => array( 0,    '#REDIRECT',        '#PŘESMĚRUJ'     ),
+       'notoc'                  => array( 0,    '__NOTOC__',        '__BEZOBSAHU__'  ),
+       'forcetoc'               => array( 0,    '__FORCETOC__',     '__VŽDYOBSAH__'  ),
+       'toc'                    => array( 0,    '__TOC__',          '__OBSAH__'      ),
+       'noeditsection'          => array( 0,    '__NOEDITSECTION__', '__BEZEDITOVATČÁST__' ),
+       'start'                  => array( 0,    '__START__',        '__ZAČÁTEK__'        ),
+       'currentmonth'           => array( 1,    'CURRENTMONTH',     'AKTUÁLNÍMĚSÍC'      ),
+       'currentmonthname'       => array( 1,    'CURRENTMONTHNAME', 'AKTUÁLNÍMĚSÍCJMÉNO' ),
+       'currentmonthnamegen'    => array( 1,    'CURRENTMONTHNAMEGEN', 'AKTUÁLNÍMĚSÍCGEN' ),
+#      'currentmonthabbrev'     => array( 1,    'CURRENTMONTHABBREV' 'AKTUÁLNÍMĚSÍCZKR'  ),
+       'currentday'             => array( 1,    'CURRENTDAY',       'AKTUÁLNÍDEN' ),
+       'currentdayname'         => array( 1,    'CURRENTDAYNAME',   'AKTUÁLNÍDENJMÉNO'   ),
+       'currentyear'            => array( 1,    'CURRENTYEAR',      'AKTUÁLNÍROK'        ),
+       'currenttime'            => array( 1,    'CURRENTTIME',      'AKTUÁLNÍČAS'        ),
+       'numberofarticles'       => array( 1,    'NUMBEROFARTICLES', 'POČETČLÁNKŮ'        ),
+       'pagename'               => array( 1,    'PAGENAME',         'NÁZEVSTRANY'        ),
+       'pagenamee'                      => array( 1,    'PAGENAMEE',        'NÁZEVSTRANYE'       ),
+       'namespace'              => array( 1,    'NAMESPACE',        'JMENNÝPROSTOR'      ),
+       'msg'                    => array( 0,    'MSG:'                   ),
+       'subst'                  => array( 0,    'SUBST:',           'VLOŽIT:'            ),
+       'msgnw'                  => array( 0,    'MSGNW:',           'VLOŽITNW:'          ),
+       'end'                    => array( 0,    '__END__',          '__KONEC__'          ),
+       'img_thumbnail'          => array( 1,    'thumbnail', 'thumb', 'náhled'           ),
+       'img_right'              => array( 1,    'right',            'vpravo'             ),
+       'img_left'               => array( 1,    'left',             'vlevo'              ),
+       'img_none'               => array( 1,    'none',             'žádné'              ),
+       'img_width'              => array( 1,    '$1px'                   ),
+       'img_center'             => array( 1,    'center', 'centre', 'střed'              ),
+       'img_framed'             => array( 1,    'framed', 'enframed', 'frame', 'rám'     ),
+       'int'                    => array( 0,    'INT:'                   ),
+       'sitename'               => array( 1,    'SITENAME',         'NÁZEVSERVERU'       ),
+       'ns'                     => array( 0,    'NS:'                    ),
+       'localurl'               => array( 0,    'LOCALURL:',        'MÍSTNÍURL:'         ),
+       'localurle'              => array( 0,    'LOCALURLE:',       'MÍSTNÍURLE:'        ),
+       'server'                 => array( 0,    'SERVER'                 ),
+       'revisionid'             => array( 1,    'REVISIONID',       'IDREVIZE'           )
+);
+
+$separatorTransformTable = array(',' => "\xc2\xa0", '.' => ',' );
+$linkTrail = '/^([a-záčďéěíňóřšťúůýž]+)(.*)$/sDu';
+
+$datePreferences = false;
+$defaultDateFormat = 'dmy';
+
+$dateFormats = array(
+       'dmy time' => 'H:i',
+       'dmy date' => 'j. n. Y',
+       'dmy both' => 'H:i, j. n. Y',
+);
 
-/* private */ $wgAllMessagesCs = array(
+$messages = array(
 
 # Části textu používané různými stránkami:
 'categories' => 'Kategorie',
 'dec' => '12.',
 
 # Písmena, která se mají objevit jako část odkazu ve formě '[[jazyk]]y' atd:
-'linktrail'     => '/^([a-záčďéěíňóřšťúůýž]+)(.*)$/sDu',
 'mainpage'              => 'Hlavní strana',
 'mainpagetext'  => 'Wiki software úspěšně nainstalován.',
 'mainpagedocfooter' => 'Podívejte se prosím do [http://meta.wikimedia.org/wiki/MediaWiki_i18n dokumentace k nastavení rozhraní] a [http://meta.wikimedia.org/wiki/MediaWiki_User%27s_Guide uživatelské příručky] pro nápovědu k použití a nastavení.',
index 1723d08..4f4e273 100644 (file)
@@ -1,7 +1,31 @@
 <?php
+/**
+ * @package MediaWiki
+ * @subpackage Language
+ */
 
-global $wgAllMessagesCsb;
-$wgAllMessagesCsb = array(
+$namespaceNames = array(
+       NS_MEDIA            => 'Media',
+       NS_SPECIAL          => 'Specjalnô',
+       NS_MAIN             => '',
+       NS_TALK             => 'Diskùsëjô',
+       NS_USER             => 'Brëkòwnik',
+       NS_USER_TALK        => 'Diskùsëjô_brëkòwnika',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => 'Diskùsëjô_$1',
+       NS_IMAGE            => 'Òbrôzk',
+       NS_IMAGE_TALK       => 'Diskùsëjô_òbrôzków',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'Diskùsëjô_MediaWiki',
+       NS_TEMPLATE         => 'Szablóna',
+       NS_TEMPLATE_TALK    => 'Diskùsëjô_Szablónë',
+       NS_HELP             => 'Pòmòc',
+       NS_HELP_TALK        => 'Diskùsëjô_Pòmòcë',
+       NS_CATEGORY         => 'Kategòrëjô',
+       NS_CATEGORY_TALK    => 'Diskùsëjô_Kategòrëji'
+);
+
+$messages = array(
 '1movedto2' => '$1 przeniesłé do $2',
 'aboutpage' => '{{ns:4}}:Ò_{{SITENAME}}',
 'aboutsite' => 'Ò {{SITENAME}}',
index ee66de1..24c50b5 100644 (file)
@@ -1,7 +1,35 @@
 <?php
 
-global $wgAllMessagesCv;
-$wgAllMessagesCv = array(
+/**
+ * Chuvash stub localization; default to Russian instead of English.
+ */
+$fallback = 'ru';
+$linkPrefixExtension = true;
+
+$namespaceNames = array(
+       NS_MEDIA            => 'Медиа',
+       NS_SPECIAL          => 'Ятарлă',
+       NS_MAIN             => '',
+       NS_TALK             => 'Сӳтсе явасси',
+       NS_USER             => 'Хутшăнакан',
+       NS_USER_TALK        => 'Хутшăнаканăн_канашлу_страници',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => '$1_сӳтсе_явмалли',
+       NS_IMAGE            => 'Ӳкерчĕк',
+       NS_IMAGE_TALK       => 'Ӳкерчĕке_сӳтсе_явмалли',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'MediaWiki_сӳтсе_явмалли',
+       NS_TEMPLATE         => 'Шаблон',
+       NS_TEMPLATE_TALK    => 'Шаблона_сӳтсе_явмалли',
+       NS_HELP             => 'Пулăшу',
+       NS_HELP_TALK        => 'Пулăшăва_сӳтсе_явмалли',
+       NS_CATEGORY         => 'Категори',
+       NS_CATEGORY_TALK    => 'Категорине_сӳтсе_явмалли',
+);
+
+$linkTrail = '/^([a-zа-яĕçăӳ"»]+)(.*)$/sDu';
+
+$messages = array(
 
 'Monobook.js' => '/* tooltips and access keys */
 var ta = new Object();
@@ -108,7 +136,6 @@ ta[\'ca-nstab-category\'] = new Array(\'c\',\'View the category page\');',
 'edithelppage' => '{{ns:project}}:Улшăнусене кĕртме пулăшакан пулăшу',
 'unblocklogentry' => '«$1» блокировкăран кăларнă',
 'rclinks' => 'Юлашки $2 кун хушшинче тунă $1 улшăнусене кăтартмалла<br />$3',
-'linktrail' => '/^([a-zа-яĕçăӳ"»]+)(.*)$/sDu',
 'delete_and_move' => 'Кăларса пăрахса куçарасси',
 '1movedto2' => '$1 $2 çине куçарнă',
 'mainpage' => 'Тĕп страницă',
index 3091537..79edd41 100644 (file)
@@ -1,7 +1,82 @@
 <?php
+/**
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+/* Cymraeg - Welsh */
+
+$namespaceNames = array(
+       NS_MEDIA          => "Media",
+       NS_SPECIAL        => "Arbennig",
+       NS_MAIN           => "",
+       NS_TALK           => "Sgwrs",
+       NS_USER           => "Defnyddiwr",
+       NS_USER_TALK      => "Sgwrs_Defnyddiwr",
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK   => "Sgwrs_$1",
+       NS_IMAGE          => "Delwedd",
+       NS_IMAGE_TALK     => "Sgwrs_Delwedd",
+       NS_MEDIAWIKI      => "MediaWici",
+       NS_MEDIAWIKI_TALK => "Sgwrs_MediaWici",
+       NS_TEMPLATE       => "Nodyn",
+       NS_TEMPLATE_TALK  => "Sgwrs_Nodyn",
+       NS_CATEGORY               => "Categori",
+       NS_CATEGORY_TALK  => "Sgwrs_Categori",
+       NS_HELP                   => "Cymorth",
+       NS_HELP_TALK      => "Sgwrs Cymorth"
+);
+
+$quickbarSettings = array(
+       "Dim", "Sefydlog chwith", "Sefydlog de", "Arnawf de"
+);
+
+$skinNames = array(
+       'standard' => "Safonol",
+       'nostalgia' => "Hiraeth",
+       'cologneblue' => "Glas Cwlen",
+);
+
+$datePreferences = false;
 
+$bookstoreList = array(
+       "AddALL" => "http://www.addall.com/New/Partner.cgi?query=$1&type=ISBN",
+       "PriceSCAN" => "http://www.pricescan.com/books/bookDetail.asp?isbn=$1",
+       "Barnes & Noble" => "http://search.barnesandnoble.com/bookSearch/isbnInquiry.asp?isbn=$1",
+       "Amazon.com" => "http://www.amazon.com/exec/obidos/ISBN=$1",
+       "Amazon.co.uk" => "http://www.amazon.co.uk/exec/obidos/ISBN=$1"
+);
+
+
+$magicWords = array(
+#   ID                                 CASE  SYNONYMS
+       'redirect'               => array( 0,    "#redirect", "#ail-cyfeirio"                 ),
+       'notoc'                  => array( 0,    "__NOTOC__", "__DIMTAFLENCYNNWYS__"          ),
+       'noeditsection'          => array( 0,    "__NOEDITSECTION__", "__DIMADRANGOLYGU__"    ),
+       'start'                  => array( 0,    "__START__", "__DECHRAU__"                   ),
+       'currentmonth'           => array( 1, "CURRENTMONTH", "MISCYFOES"                ),
+       'currentmonthname'       => array( 1,    "CURRENTMONTHNAME", "ENWMISCYFOES"           ),
+       'currentday'             => array( 1,    "CURRENTDAY", "DYDDIADCYFOES"                ),
+       'currentdayname'         => array( 1,    "CURRENTDAYNAME", "ENWDYDDCYFOES"            ),
+       'currentyear'            => array( 1,    "CURRENTYEAR", "FLWYDDYNCYFOES"              ),
+       'currenttime'            => array( 1,    "CURRENTTIME", "AMSERCYFOES"                 ),
+       'numberofarticles'       => array( 1, "NUMBEROFARTICLES","NIFEROERTHYGLAU"       ),
+       'currentmonthnamegen'    => array( 1,    "CURRENTMONTHNAMEGEN", "GENENWMISCYFOES"     ),
+       'subst'                  => array( 1,    "SUBST:"                                     ),
+       'msgnw'                  => array( 0,    "MSGNW:"                                     ),
+       'end'                    => array( 0, "__DIWEDD__"                                   ),
+       'img_thumbnail'          => array( 1, "ewin bawd", "bawd", "thumb", "thumbnail"  ),
+       'img_right'              => array( 1,    "de", "right"                                ),
+       'img_left'               => array( 1,    "chwith", "left"                             ),
+       'img_none'               => array( 1,    "dim", "none"                                ),
+       'img_width'              => array( 1,    "$1px"                                       ),
+       'img_center'             => array( 1, "canol", "centre", "center"                ),
+       'int'                    => array( 0,    "INT:"                                       )
+
+);
+$linkTrail = "/^([àáâèéêìíîïòóôûŵŷa-z]+)(.*)\$/sDu";
 
-/* private */ $wgAllMessagesCy = array(
+$messages = array(
 # User Toggles
 
 "tog-underline" => "Tanllinellu cysylltiadau",
 "category" => "categori",
 "category_header" => "Erthyglau mewn categori \"$1\"",
 "subcategories" => "Is-categorïau",
-"linktrail" => "/^([àáâèéêìíîïòóôûŵŷa-z]+)(.*)\$/sDu",
 "mainpage" => "Prif tudalen",
 "mainpagetext" => "Meddalwedd {{SITENAME}} wedi sefydlu'n llwyddiannus",
 "about"        => "Amdano",
index e1f3886..362f2eb 100644 (file)
@@ -1,11 +1,64 @@
 <?php
+/** Danish (Dansk)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+ */
+
+$namespaceNames = array(
+       NS_MEDIA                        => 'Media',
+       NS_SPECIAL                      => 'Speciel',
+       NS_MAIN                         => '',
+       NS_TALK                         => 'Diskussion',
+       NS_USER                         => 'Bruger',
+       NS_USER_TALK            => 'Bruger_diskussion',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK         => '$1_diskussion',
+       NS_IMAGE                        => 'Billede',
+       NS_IMAGE_TALK           => 'Billede_diskussion',
+       NS_MEDIAWIKI            => 'MediaWiki',
+       NS_MEDIAWIKI_TALK       => 'MediaWiki_diskussion',
+       NS_TEMPLATE             => 'Skabelon',
+       NS_TEMPLATE_TALK        => 'Skabelon_diskussion',
+       NS_HELP                         => 'Hjælp',
+       NS_HELP_TALK            => 'Hjælp_diskussion',
+       NS_CATEGORY                     => 'Kategori',
+       NS_CATEGORY_TALK        => 'Kategori_diskussion'
 
+);
+
+$quickbarSettings = array(
+       'Ingen', 'Fast venstre', 'Fast højre', 'Flydende venstre'
+);
+
+$skinNames = array(
+       'standard' => 'Klassisk',
+       'nostalgia' => 'Nostalgi',
+       'cologneblue' => 'Cologne-blå',
+);
+
+$datePreferences = false;
+$defaultDateFormat = 'dmy';
+$dateFormats = array(
+       'dmy time' => 'H:i',
+       'dmy date' => 'j. M Y',
+       'dmy both' => 'j. M Y "kl." H:i',
+);
+
+$bookstoreList = array(
+       "Bibliotek.dk" => "http://bibliotek.dk/vis.php?base=dfa&origin=kommando&field1=ccl&term1=is=$1&element=L&start=1&step=10",
+       "Bogguide.dk" => "http://www.bogguide.dk/find_boeger_bog.asp?ISBN=$1",
+       'inherit' => true,
+);
+
+$separatorTransformTable = array(',' => '.', '.' => ',' );
+$linkTrail = '/^([a-zæøå]+)(.*)$/sDu';
 
 #-------------------------------------------------------------------
 # Default messages
 #-------------------------------------------------------------------
 
-/* private */ $wgAllMessagesDa = array(
+$messages = array(
 # User preference toggles
 "tog-underline" => "Understreg henvisninger",
 "tog-highlightbroken" => "Brug røde henvisninger til tomme sider",
 "category_header" => 'Artikler i kategorien "$1"',
 "subcategories" => "Underkategorier",
 
-"linktrail"            => '/^([a-zæøå]+)(.*)$/sDu',
 "mainpage"             => "Forside",
 "mainpagetext" => "MediaWiki er nu installeret.",
 "mainpagedocfooter" => "Se vores engelsksprogede [http://meta.wikimedia.org/wiki/MediaWiki_i18n dokumentation om tilpasning af brugergrænsefladen]
index c747f4c..6831991 100644 (file)
@@ -1,7 +1,71 @@
 <?php
 
-global $wgAllMessagesDe;
-$wgAllMessagesDe = array(
+$namespaceNames = array(
+       NS_MEDIA            => 'Media',
+       NS_SPECIAL          => 'Spezial',
+       NS_MAIN             => '',
+       NS_TALK             => 'Diskussion',
+       NS_USER             => 'Benutzer',
+       NS_USER_TALK        => 'Benutzer_Diskussion',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => '$1_Diskussion',
+       NS_IMAGE            => 'Bild',
+       NS_IMAGE_TALK       => 'Bild_Diskussion',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'MediaWiki_Diskussion',
+       NS_TEMPLATE         => 'Vorlage',
+       NS_TEMPLATE_TALK    => 'Vorlage_Diskussion',
+       NS_HELP             => 'Hilfe',
+       NS_HELP_TALK        => 'Hilfe_Diskussion',
+       NS_CATEGORY         => 'Kategorie',
+       NS_CATEGORY_TALK    => 'Kategorie_Diskussion'
+);
+
+$quickbarSettings = array(
+       'Keine', 'Links, fest', 'Rechts, fest', 'Links, schwebend'
+);
+
+$skinNames = array(
+       'standard'      => 'Klassik',
+       'nostalgia'     => 'Nostalgie',
+       'cologneblue'   => 'Kölnisch Blau',
+       'smarty'        => 'Paddington',
+       'montparnasse'  => 'Montparnasse',
+       'davinci'       => 'DaVinci',
+       'mono'          => 'Mono',
+       'monobook'      => 'MonoBook',
+       'myskin'        => 'MySkin',
+       'chick'         => 'Küken'
+);
+
+
+$bookstoreList = array(
+       'abebooks.de' => 'http://www.abebooks.de/servlet/BookSearchPL?ph=2&isbn=$1',
+       'amazon.de' => 'http://www.amazon.de/exec/obidos/ISBN=$1',
+       'buch.de' => 'http://www.buch.de/de.buch.shop/shop/1/home/schnellsuche/buch/?fqbi=$1',
+       'buchhandel.de' => 'http://www.buchhandel.de/vlb/vlb.cgi?type=voll&isbn=$1',
+       'Karlsruher Virtueller Katalog (KVK)' => 'http://www.ubka.uni-karlsruhe.de/kvk.html?SB=$1',
+       'Lehmanns Fachbuchhandlung' => 'http://www.lob.de/cgi-bin/work/suche?flag=new&stich1=$1'
+);
+
+$separatorTransformTable = array(',' => '.', '.' => ',' );
+$linkTrail = '/^([äöüßa-z]+)(.*)$/sDu';
+
+$dateFormats = array(
+       'mdy time' => 'H:i',
+       'mdy date' => 'M j. Y',
+       'mdy both' => 'H:i, M j. Y',
+
+       'dmy time' => 'H:i',
+       'dmy date' => 'j. M Y',
+       'dmy both' => 'H:i, j. M Y',
+
+       'ymd time' => 'H:i',
+       'ymd date' => 'Y M j',
+       'ymd both' => 'H:i, Y M j',
+);
+
+$messages = array(
 
 # stylesheets
 'Common.css'           => '/** CSS an dieser Stelle wirkt sich auf alle Skins aus */',
diff --git a/languages/MessagesDv.php b/languages/MessagesDv.php
new file mode 100644 (file)
index 0000000..47806a0
--- /dev/null
@@ -0,0 +1,9 @@
+<?php
+/** Dhivehi language file ( ދިވެހިބަސް',      )
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+$rtl = true;
+?>
diff --git a/languages/MessagesDz.php b/languages/MessagesDz.php
new file mode 100644 (file)
index 0000000..cda23ec
--- /dev/null
@@ -0,0 +1,22 @@
+<?php
+/** Dzongkha (རྫོང་ཁ)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  *
+  * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
+  */
+$digitTransformTable = array(
+       '0' => '༠',
+       '1' => '༡',
+       '2' => '༢',
+       '3' => '༣',
+       '4' => '༤',
+       '5' => '༥',
+       '6' => '༦',
+       '7' => '༧',
+       '8' => '༨',
+       '9' => '༩'
+);
+
+?>
index 1462ed6..720d1f6 100644 (file)
@@ -1,7 +1,57 @@
 <?php
+/** Greek (Ελληνικά)
+  *
+  * Translation by Pasok Internet Volunteers
+  * http://forum.pasok.gr
+  * version 1.0 (initial release)
+  *
+  *The project for the translation of MediaWiki into Greek
+  *was undertaken by a group of ICT volunteers working under
+  *the auspices of the Greek political party PASOK.
+  *
+  *The idea behind this effort was  to provide an extensible,
+  *easy-to-use and non-intimidating tool for content development
+  *and project management, to be used throughout the administrative
+  *and political structure of PASOK by staff, volunteers, party members
+  *and elected officials (all of whom possess varying degrees of ICT skills).
+  *
+  *The PASOK ICT team and the volunteers who worked on this project are
+  *now returning the translated interface to the Open-Source Community
+  *with over 98% of the messages translated into user-friendly Greek.
+  *
+  *We hope that it will be used as a tool by other civil society organizations
+  *in Greece, and that it will enhance the collective creation and the dissemination
+  *of knowledge - an essential component of the democratic process.
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+$namespaceNames = array(
+       NS_MEDIA            => 'Μέσον',
+       NS_SPECIAL          => 'Ειδικό',
+       NS_MAIN             => '',
+       NS_TALK             => 'Συζήτηση',
+       NS_USER             => 'Χρήστης',
+       NS_USER_TALK        => 'Συζήτηση_χρήστη',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => '$1_συζήτηση',
+       NS_IMAGE            => 'Εικόνα',
+       NS_IMAGE_TALK       => 'Συζήτηση_εικόνας',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'MediaWiki_talk',
+       NS_TEMPLATE         => 'Πρότυπο',
+       NS_TEMPLATE_TALK    => 'Συζήτηση_προτύπου',
+       NS_HELP             => 'Βοήθεια',
+       NS_HELP_TALK        => 'Συζήτηση_βοήθειας',
+       NS_CATEGORY         => 'Κατηγορία',
+       NS_CATEGORY_TALK    => 'Συζήτηση_κατηγορίας',
+);
+$fallback8bitEncoding = 'iso-8859-7';
+$separatorTransformTable = array(',' => '.', '.' => ',' );
+$linkTrail = '/^([a-z]+)(.*)$/sD';
 
-global $wgAllMessagesEl;
-$wgAllMessagesEl = array(
+$messages = array(
 
 # User preference toggles
 #----------------------------------------#
@@ -83,7 +133,6 @@ $wgAllMessagesEl = array(
 'category_header' => 'Άρθρα στην κατηγορία "$1"',
 'subcategories' => 'Υποκατηγορίες',
 
-'linktrail' => '/^([a-z]+)(.*)$/sD',
 'linkprefix' => '/^(.*?)([a-zA-Z\x80-\xff]+)$/sD',
 'mainpage' => 'Αρχική σελίδα',
 'mainpagetext' => 'To λογισμικό Wiki εγκαταστάθηκε επιτυχώς.',
diff --git a/languages/MessagesEn.php b/languages/MessagesEn.php
new file mode 100644 (file)
index 0000000..df91e71
--- /dev/null
@@ -0,0 +1,2349 @@
+<?php
+
+/**
+ * Fallback language, used for all unspecified messages and behaviour. This
+ * is English by default, for all files other than this one.
+ */
+$fallback = false;
+
+/**
+ * Is the language written right-to-left?
+ * Note that right-to-left languages generally also specify 
+ *    $defaultUserOptionOverrides = array( 'quickbar' => 2 );
+ */
+$rtl = false;
+
+/**
+ * Optional array mapping ASCII digits 0-9 to local digits.
+ */
+$digitTransformTable = null;
+
+/**
+ * Transform table for decimal point '.' and thousands separator ','
+ */
+$separatorTransformTable = null;
+
+/**
+ * Overrides for the default user options. This is mainly used by RTL languages.
+ */
+$defaultUserOptionOverrides = array();
+
+/**
+ * Extra user preferences which will be shown in Special:Preferences as 
+ * checkboxes. Extra settings in derived languages will automatically be 
+ * appended to the array of the fallback languages.
+ */
+$extraUserToggles = array();
+
+/**
+ * URLs do not specify their encoding. UTF-8 is used by default, but if the 
+ * URL is not a valid UTF-8 sequence, we have to try to guess what the real
+ * encoding is. The encoding used in this case is defined below, and must be
+ * supported by iconv(). 
+ */
+$fallback8bitEncoding = 'windows-1252';
+
+/**
+ * To allow "foo[[bar]]" to extend the link over the whole word "foobar"
+ */
+$linkPrefixExtension = false;
+
+/**
+ * Namespace names. NS_PROJECT is always set to $wgMetaNamespace after the 
+ * settings are loaded, it will be ignored even if you specify it here. 
+ *
+ * NS_PROJECT_TALK will be set to $wgMetaNamespaceTalk if that variable is
+ * set, otherwise the string specified here will be used. The string may 
+ * contain "$1", which will be replaced by the name of NS_PROJECT. It may 
+ * also contain a grammatical transformation, e.g. 
+ *
+ *     NS_PROJECT_TALK => 'Keskustelu_{{grammar:elative|$1}}'
+ *
+ * Only one grammatical transform may be specified in the string. For 
+ * performance reasons, this transformation is done locally by the language 
+ * module rather than by the full wikitext parser. As a result, no other 
+ * parser features are available. 
+ */
+$namespaceNames = array(
+       NS_MEDIA            => 'Media',
+       NS_SPECIAL          => 'Special',
+       NS_MAIN             => '',
+       NS_TALK             => 'Talk',
+       NS_USER             => 'User',
+       NS_USER_TALK        => 'User_talk',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => '$1_talk',
+       NS_IMAGE            => 'Image',
+       NS_IMAGE_TALK       => 'Image_talk',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'MediaWiki_talk',
+       NS_TEMPLATE         => 'Template',
+       NS_TEMPLATE_TALK    => 'Template_talk',
+       NS_HELP             => 'Help',
+       NS_HELP_TALK        => 'Help_talk',
+       NS_CATEGORY         => 'Category',
+       NS_CATEGORY_TALK    => 'Category_talk',
+);
+
+/**
+ * Array of namespace aliases, mapping from name to NS_xxx index
+ */
+$namespaceAliases = array();
+
+/**
+ * Labels of the quickbar settings in Special:Preferences
+ */
+$quickbarSettings = array(
+       'None', 'Fixed left', 'Fixed right', 'Floating left', 'Floating right'
+);
+
+/**
+ * Skin names. If any key is not specified, the English one will be used.
+ */
+$skinNames = array(
+       'standard' => 'Classic',
+       'nostalgia' => 'Nostalgia',
+       'cologneblue' => 'Cologne Blue',
+       'davinci' => 'DaVinci',
+       'mono' => 'Mono',
+       'monobook' => 'MonoBook',
+       'myskin' => 'MySkin',
+       'chick' => 'Chick'
+);
+
+/**
+ * Deprecated, use the message array
+ */
+$mathNames = array(
+       MW_MATH_PNG => 'mw_math_png',
+       MW_MATH_SIMPLE => 'mw_math_simple',
+       MW_MATH_HTML => 'mw_math_html',
+       MW_MATH_SOURCE => 'mw_math_source',
+       MW_MATH_MODERN => 'mw_math_modern',
+       MW_MATH_MATHML => 'mw_math_mathml'
+);
+
+/**
+ * A list of date format preference keys which can be selected in user 
+ * preferences. New preference keys can be added, provided they are supported
+ * by the language class's timeanddate(). Only the 5 keys listed below are 
+ * supported by the wikitext converter (DateFormatter.php).
+ *
+ * The special key "default" is an alias for either dmy or mdy depending on 
+ * $wgAmericanDates
+ */
+$datePreferences = array(
+       'default',
+       'mdy',
+       'dmy',
+       'ymd',
+       'ISO 8601',
+);
+
+$defaultDateFormat = 'dmy or mdy';
+
+$datePreferenceMigrationMap = array(
+       'default',
+       'mdy',
+       'dmy',
+       'ymd'
+);
+
+/**
+ * These are formats for dates generated by MediaWiki (as opposed to the wikitext
+ * DateFormatter). Documentation for the format string can be found in 
+ * Language.php, search for sprintfDate. 
+ *
+ * This array is automatically inherited by all subclasses. Individual keys can be
+ * overridden.
+ */
+$dateFormats = array(
+       'mdy time' => 'H:i',
+       'mdy date' => 'F j, Y',
+       'mdy both' => 'H:i, F j, Y',
+
+       'dmy time' => 'H:i',
+       'dmy date' => 'j F Y',
+       'dmy both' => 'H:i, j F Y',
+
+       'ymd time' => 'H:i',
+       'ymd date' => 'Y F j',
+       'ymd both' => 'H:i, Y F j',
+
+       'ISO 8601 time' => 'xnH:xni',
+       'ISO 8601 date' => 'xnY-xnm-xnd',
+       'ISO 8601 both' => 'xnY-xnm-xnd"T"xnH:xni',
+);
+
+$bookstoreList = array(
+       'AddALL' => 'http://www.addall.com/New/Partner.cgi?query=$1&type=ISBN',
+       'PriceSCAN' => 'http://www.pricescan.com/books/bookDetail.asp?isbn=$1',
+       'Barnes & Noble' => 'http://search.barnesandnoble.com/bookSearch/isbnInquiry.asp?isbn=$1',
+       'Amazon.com' => 'http://www.amazon.com/exec/obidos/ISBN=$1'
+);
+
+# Note to translators:
+#   Please include the English words as synonyms.  This allows people
+#   from other wikis to contribute more easily.
+#
+$magicWords = array(
+#   ID                                 CASE  SYNONYMS
+       'redirect'               => array( 0,    '#REDIRECT'              ),
+       'notoc'                  => array( 0,    '__NOTOC__'              ),
+       'nogallery'                      => array( 0,    '__NOGALLERY__'          ),
+       'forcetoc'               => array( 0,    '__FORCETOC__'           ),
+       'toc'                    => array( 0,    '__TOC__'                ),
+       'noeditsection'          => array( 0,    '__NOEDITSECTION__'      ),
+       'start'                  => array( 0,    '__START__'              ),
+       'currentmonth'           => array( 1,    'CURRENTMONTH'           ),
+       'currentmonthname'       => array( 1,    'CURRENTMONTHNAME'       ),
+       'currentmonthnamegen'    => array( 1,    'CURRENTMONTHNAMEGEN'    ),
+       'currentmonthabbrev'     => array( 1,    'CURRENTMONTHABBREV'     ),
+       'currentday'             => array( 1,    'CURRENTDAY'             ),
+       'currentday2'            => array( 1,    'CURRENTDAY2'            ),
+       'currentdayname'         => array( 1,    'CURRENTDAYNAME'         ),
+       'currentyear'            => array( 1,    'CURRENTYEAR'            ),
+       'currenttime'            => array( 1,    'CURRENTTIME'            ),
+       'numberofpages'          => array( 1,    'NUMBEROFPAGES'          ),
+       'numberofarticles'       => array( 1,    'NUMBEROFARTICLES'       ),
+       'numberoffiles'          => array( 1,    'NUMBEROFFILES'          ),
+       'numberofusers'          => array( 1,    'NUMBEROFUSERS'          ),
+       'pagename'               => array( 1,    'PAGENAME'               ),
+       'pagenamee'              => array( 1,    'PAGENAMEE'              ),
+       'namespace'              => array( 1,    'NAMESPACE'              ),
+       'namespacee'             => array( 1,    'NAMESPACEE'             ),
+       'talkspace'              => array( 1,    'TALKSPACE'              ),
+       'talkspacee'             => array( 1,    'TALKSPACEE'              ),
+       'subjectspace'           => array( 1,    'SUBJECTSPACE', 'ARTICLESPACE' ),
+       'subjectspacee'          => array( 1,    'SUBJECTSPACEE', 'ARTICLESPACEE' ),
+       'fullpagename'           => array( 1,    'FULLPAGENAME'           ),
+       'fullpagenamee'          => array( 1,    'FULLPAGENAMEE'          ),
+       'subpagename'            => array( 1,    'SUBPAGENAME'            ),
+       'subpagenamee'           => array( 1,    'SUBPAGENAMEE'           ),
+       'basepagename'           => array( 1,    'BASEPAGENAME'           ),
+       'basepagenamee'          => array( 1,    'BASEPAGENAMEE'          ),
+       'talkpagename'           => array( 1,    'TALKPAGENAME'           ),
+       'talkpagenamee'          => array( 1,    'TALKPAGENAMEE'          ),
+       'subjectpagename'        => array( 1,    'SUBJECTPAGENAME', 'ARTICLEPAGENAME' ),
+       'subjectpagenamee'       => array( 1,    'SUBJECTPAGENAMEE', 'ARTICLEPAGENAMEE' ),
+       'msg'                    => array( 0,    'MSG:'                   ),
+       'subst'                  => array( 0,    'SUBST:'                 ),
+       'msgnw'                  => array( 0,    'MSGNW:'                 ),
+       'end'                    => array( 0,    '__END__'                ),
+       'img_thumbnail'          => array( 1,    'thumbnail', 'thumb'     ),
+       'img_manualthumb'        => array( 1,    'thumbnail=$1', 'thumb=$1'),
+       'img_right'              => array( 1,    'right'                  ),
+       'img_left'               => array( 1,    'left'                   ),
+       'img_none'               => array( 1,    'none'                   ),
+       'img_width'              => array( 1,    '$1px'                   ),
+       'img_center'             => array( 1,    'center', 'centre'       ),
+       'img_framed'             => array( 1,    'framed', 'enframed', 'frame' ),
+       'int'                    => array( 0,    'INT:'                   ),
+       'sitename'               => array( 1,    'SITENAME'               ),
+       'ns'                     => array( 0,    'NS:'                    ),
+       'localurl'               => array( 0,    'LOCALURL:'              ),
+       'localurle'              => array( 0,    'LOCALURLE:'             ),
+       'server'                 => array( 0,    'SERVER'                 ),
+       'servername'             => array( 0,    'SERVERNAME'             ),
+       'scriptpath'             => array( 0,    'SCRIPTPATH'             ),
+       'grammar'                => array( 0,    'GRAMMAR:'               ),
+       'notitleconvert'         => array( 0,    '__NOTITLECONVERT__', '__NOTC__'),
+       'nocontentconvert'       => array( 0,    '__NOCONTENTCONVERT__', '__NOCC__'),
+       'currentweek'            => array( 1,    'CURRENTWEEK'            ),
+       'currentdow'             => array( 1,    'CURRENTDOW'             ),
+       'revisionid'             => array( 1,    'REVISIONID'             ),
+       'plural'                 => array( 0,    'PLURAL:'                ),
+       'fullurl'                => array( 0,    'FULLURL:'               ),
+       'fullurle'               => array( 0,    'FULLURLE:'              ),
+       'lcfirst'                => array( 0,    'LCFIRST:'               ),
+       'ucfirst'                => array( 0,    'UCFIRST:'               ),
+       'lc'                     => array( 0,    'LC:'                    ),
+       'uc'                     => array( 0,    'UC:'                    ),
+       'raw'                    => array( 0,    'RAW:'                   ),
+       'displaytitle'           => array( 1,    'DISPLAYTITLE'           ),
+       'rawsuffix'              => array( 1,    'R'                      ),
+       'newsectionlink'         => array( 1,    '__NEWSECTIONLINK__'     ),
+       'currentversion'         => array( 1,    'CURRENTVERSION'         ),
+       'urlencode'              => array( 0,    'URLENCODE:'             ),
+       'currenttimestamp'       => array( 1,    'CURRENTTIMESTAMP'       ),
+       'directionmark'          => array( 1,    'DIRECTIONMARK', 'DIRMARK' ),
+       'language'               => array( 0,    '#LANGUAGE:' ),
+       'contentlanguage'        => array( 1,    'CONTENTLANGUAGE', 'CONTENTLANG' ),
+       'pagesinnamespace'       => array( 1,    'PAGESINNAMESPACE:', 'PAGESINNS:' ),
+       'numberofadmins'         => array( 1,    'NUMBEROFADMINS' ),
+       'formatnum'              => array( 0,    'FORMATNUM' ),
+
+);
+
+$linkTrail = '/^([a-z]+)(.*)$/sD';
+
+#-------------------------------------------------------------------
+# Default messages
+#-------------------------------------------------------------------
+# Allowed characters in keys are: A-Z, a-z, 0-9, underscore (_) and
+# hyphen (-). If you need more characters, you may be able to change
+# the regex in MagicWord::initRegex
+
+$messages = array(
+/*
+The sidebar for MonoBook is generated from this message, lines that do not
+begin with * or ** are discarded, furthermore lines that do begin with ** and
+do not contain | are also discarded, but don't depend on this behaviour for
+future releases. Also note that since each list value is wrapped in a unique
+XHTML id it should only appear once and include characters that are legal
+XHTML id names.
+
+Note to translators: Do not include this message in the language files you
+submit for inclusion in MediaWiki, it should always be inherited from the
+parent class in order maintain consistency across languages.
+*/
+'sidebar' => '
+* navigation
+** mainpage|mainpage
+** portal-url|portal
+** currentevents-url|currentevents
+** recentchanges-url|recentchanges
+** randompage-url|randompage
+** helppage|help
+** sitesupport-url|sitesupport',
+
+# User preference toggles
+'tog-underline' => 'Underline links:',
+'tog-highlightbroken' => 'Format broken links <a href="" class="new">like this</a> (alternative: like this<a href="" class="internal">?</a>).',
+'tog-justify'  => 'Justify paragraphs',
+'tog-hideminor' => 'Hide minor edits in recent changes',
+'tog-extendwatchlist' => 'Expand watchlist to show all applicable changes',
+'tog-usenewrc' => 'Enhanced recent changes (JavaScript)',
+'tog-numberheadings' => 'Auto-number headings',
+'tog-showtoolbar'              => 'Show edit toolbar (JavaScript)',
+'tog-editondblclick' => 'Edit pages on double click (JavaScript)',
+'tog-editsection'              => 'Enable section editing via [edit] links',
+'tog-editsectiononrightclick'  => 'Enable section editing by right clicking<br /> on section titles (JavaScript)',
+'tog-showtoc'                  => 'Show table of contents (for pages with more than 3 headings)',
+'tog-rememberpassword' => 'Remember across sessions',
+'tog-editwidth' => 'Edit box has full width',
+'tog-watchcreations' => 'Add pages I create to my watchlist',
+'tog-watchdefault' => 'Add pages I edit to my watchlist',
+'tog-minordefault' => 'Mark all edits minor by default',
+'tog-previewontop' => 'Show preview before edit box',
+'tog-previewonfirst' => 'Show preview on first edit',
+'tog-nocache' => 'Disable page caching',
+'tog-enotifwatchlistpages'     => 'E-mail me when a page I\'m watching is changed',
+'tog-enotifusertalkpages'      => 'E-mail me when my user talk page is changed',
+'tog-enotifminoredits'                 => 'E-mail me also for minor edits of pages',
+'tog-enotifrevealaddr'                 => 'Reveal my e-mail address in notification mails',
+'tog-shownumberswatching'      => 'Show the number of watching users',
+'tog-fancysig' => 'Raw signatures (without automatic link)',
+'tog-externaleditor' => 'Use external editor by default',
+'tog-externaldiff' => 'Use external diff by default',
+'tog-showjumplinks' => 'Enable "jump to" accessibility links',
+'tog-uselivepreview' => 'Use live preview (JavaScript) (Experimental)',
+'tog-autopatrol' => 'Mark edits I make as patrolled',
+'tog-forceeditsummary' => 'Prompt me when entering a blank edit summary',
+'tog-watchlisthideown' => 'Hide my edits from the watchlist',
+'tog-watchlisthidebots' => 'Hide bot edits from the watchlist',
+
+'underline-always' => 'Always',
+'underline-never' => 'Never',
+'underline-default' => 'Browser default',
+
+'skinpreview' => '(Preview)',
+
+# dates
+'sunday' => 'Sunday',
+'monday' => 'Monday',
+'tuesday' => 'Tuesday',
+'wednesday' => 'Wednesday',
+'thursday' => 'Thursday',
+'friday' => 'Friday',
+'saturday' => 'Saturday',
+'january' => 'January',
+'february' => 'February',
+'march' => 'March',
+'april' => 'April',
+'may_long' => 'May',
+'june' => 'June',
+'july' => 'July',
+'august' => 'August',
+'september' => 'September',
+'october' => 'October',
+'november' => 'November',
+'december' => 'December',
+'jan' => 'Jan',
+'feb' => 'Feb',
+'mar' => 'Mar',
+'apr' => 'Apr',
+'may' => 'May',
+'jun' => 'Jun',
+'jul' => 'Jul',
+'aug' => 'Aug',
+'sep' => 'Sep',
+'oct' => 'Oct',
+'nov' => 'Nov',
+'dec' => 'Dec',
+# Bits of text used by many pages:
+#
+'categories' => '{{PLURAL:$1|Category|Categories}}',
+'category' => 'category',
+'category_header' => 'Articles in category "$1"',
+'subcategories' => 'Subcategories',
+
+
+'linktrail'            => '/^([a-z]+)(.*)$/sD',
+'linkprefix'           => '/^(.*?)([a-zA-Z\x80-\xff]+)$/sD',
+'mainpage'             => 'Main Page',
+'mainpagetext' => "<big>'''MediaWiki has been successfully installed.'''</big>",
+'mainpagedocfooter' => "Consult the [http://meta.wikimedia.org/wiki/Help:Contents User's Guide] for information on using the wiki software.
+
+== Getting started ==
+
+* [http://www.mediawiki.org/wiki/Help:Configuration_settings Configuration settings list]
+* [http://www.mediawiki.org/wiki/Help:FAQ MediaWiki FAQ]
+* [http://mail.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]",
+
+'portal'               => 'Community portal',
+'portal-url'           => 'Project:Community Portal',
+'about'                        => 'About',
+'aboutsite'            => 'About {{SITENAME}}',
+'aboutpage'            => 'Project:About',
+'article'              => 'Content page',
+'help'                 => 'Help',
+'helppage'             => 'Help:Contents',
+'bugreports'   => 'Bug reports',
+'bugreportspage' => 'Project:Bug_reports',
+'sitesupport'   => 'Donations',
+'sitesupport-url' => 'Project:Site support',
+'faq'                  => 'FAQ',
+'faqpage'              => 'Project:FAQ',
+'edithelp'             => 'Editing help',
+'newwindow'            => '(opens in new window)',
+'edithelppage' => 'Help:Editing',
+'cancel'               => 'Cancel',
+'qbfind'               => 'Find',
+'qbbrowse'             => 'Browse',
+'qbedit'               => 'Edit',
+'qbpageoptions' => 'This page',
+'qbpageinfo'   => 'Context',
+'qbmyoptions'  => 'My pages',
+'qbspecialpages'       => 'Special pages',
+'moredotdotdot'        => 'More...',
+'mypage'               => 'My page',
+'mytalk'               => 'My talk',
+'anontalk'             => 'Talk for this IP',
+'navigation' => 'Navigation',
+
+# Metadata in edit box
+'metadata_help' => 'Metadata (see [[{{ns:project}}:Metadata]] for an explanation):',
+
+'currentevents' => 'Current events',
+'currentevents-url' => 'Current events',
+
+'disclaimers' => 'Disclaimers',
+'disclaimerpage' => 'Project:General_disclaimer',
+'privacy' => 'Privacy policy',
+'privacypage' => 'Project:Privacy_policy',
+'errorpagetitle' => 'Error',
+'returnto'             => 'Return to $1.',
+'tagline'              => 'From {{SITENAME}}',
+'help'                 => 'Help',
+'search'               => 'Search',
+'searchbutton'         => 'Search',
+'go'           => 'Go',
+'history'              => 'Page history',
+'history_short' => 'History',
+'updatedmarker' => 'updated since my last visit',
+'info_short'   => 'Information',
+'printableversion' => 'Printable version',
+'permalink'     => 'Permanent link',
+'print' => 'Print',
+'edit' => 'Edit',
+'editthispage' => 'Edit this page',
+'delete' => 'Delete',
+'deletethispage' => 'Delete this page',
+'undelete_short' => 'Undelete {{PLURAL:$1|one edit|$1 edits}}',
+'protect' => 'Protect',
+'protectthispage' => 'Protect this page',
+'unprotect' => 'unprotect',
+'unprotectthispage' => 'Unprotect this page',
+'newpage' => 'New page',
+'talkpage'             => 'Discuss this page',
+'specialpage' => 'Special Page',
+'personaltools' => 'Personal tools',
+'postcomment'   => 'Post a comment',
+'addsection'   => '+',
+'articlepage'  => 'View content page',
+'subjectpage'  => 'View subject', # For compatibility
+'talk' => 'Discussion',
+'views' => 'Views',
+'toolbox' => 'Toolbox',
+'userpage' => 'View user page',
+'projectpage' => 'View project page',
+'imagepage' =>         'View image page',
+'viewtalkpage' => 'View discussion',
+'otherlanguages' => 'In other languages',
+'redirectedfrom' => '(Redirected from $1)',
+'autoredircomment' => 'Redirecting to [[$1]]',
+'redirectpagesub' => 'Redirect page',
+'lastmodified' => 'This page was last modified $1.',
+'viewcount'            => 'This page has been accessed {{plural:$1|one time|$1 times}}.',
+'copyright'    => 'Content is available under $1.',
+'protectedpage' => 'Protected page',
+'administrators' => '{{ns:project}}:Administrators',
+'jumpto' => 'Jump to:',
+'jumptonavigation' => 'navigation',
+'jumptosearch' => 'search',
+
+'sysoptitle'   => 'Sysop access required',
+'sysoptext'            => 'The action you have requested can only be
+performed by users with "sysop" capability.
+See $1.',
+'developertitle' => 'Developer access required',
+'developertext'        => 'The action you have requested can only be
+performed by users with "developer" capability.
+See $1.',
+
+'badaccess'     => 'Permission error',
+'badaccesstext' => 'The action you have requested is limited
+to users with the "$2" permission assigned.
+See $1.',
+
+'versionrequired' => 'Version $1 of MediaWiki required',
+'versionrequiredtext' => 'Version $1 of MediaWiki is required to use this page. See [[Special:Version]]',
+
+'widthheight'          => '$1×$2',
+'ok'                   => 'OK',
+'sitetitle'            => '{{SITENAME}}',
+'pagetitle'            => '$1 - {{SITENAME}}',
+'sitesubtitle' => '',
+'retrievedfrom' => 'Retrieved from "$1"',
+'youhavenewmessages' => 'You have $1 ($2).',
+'newmessageslink' => 'new messages',
+'newmessagesdifflink' => 'diff to penultimate revision',
+'editsection'=>'edit',
+'editold'=>'edit',
+'editsectionhint' => 'Edit section: $1',
+'toc' => 'Contents',
+'showtoc' => 'show',
+'hidetoc' => 'hide',
+'thisisdeleted' => 'View or restore $1?',
+'viewdeleted' => 'View $1?',
+'restorelink' => '{{PLURAL:$1|one deleted edit|$1 deleted edits}}',
+'feedlinks' => 'Feed:',
+'feed-invalid' => 'Invalid subscription feed type.',
+'sitenotice'   => '-', # the equivalent to wgSiteNotice
+'anonnotice' => '-',
+
+# Short words for each namespace, by default used in the 'article' tab in monobook
+'nstab-main' => 'Article',
+'nstab-user' => 'User page',
+'nstab-media' => 'Media page',
+'nstab-special' => 'Special',
+'nstab-project' => 'Project page',
+'nstab-image' => 'File',
+'nstab-mediawiki' => 'Message',
+'nstab-template' => 'Template',
+'nstab-help' => 'Help',
+'nstab-category' => 'Category',
+
+# Main script and global functions
+#
+'nosuchaction' => 'No such action',
+'nosuchactiontext' => 'The action specified by the URL is not
+recognized by the wiki',
+'nosuchspecialpage' => 'No such special page',
+'nospecialpagetext' => 'You have requested an invalid special page, a list of valid special pages may be found at [[{{ns:special}}:Specialpages]].',
+
+# General errors
+#
+'error'                        => 'Error',
+'databaseerror' => 'Database error',
+'dberrortext'  => 'A database query syntax error has occurred.
+This may indicate a bug in the software.
+The last attempted database query was:
+<blockquote><tt>$1</tt></blockquote>
+from within function "<tt>$2</tt>".
+MySQL returned error "<tt>$3: $4</tt>".',
+'dberrortextcl' => 'A database query syntax error has occurred.
+The last attempted database query was:
+"$1"
+from within function "$2".
+MySQL returned error "$3: $4"',
+'noconnect'            => 'Sorry! The wiki is experiencing some technical difficulties, and cannot contact the database server. <br />
+$1',
+'nodb'                 => 'Could not select database $1',
+'cachederror'  => 'The following is a cached copy of the requested page, and may not be up to date.',
+'laggedslavemode'   => 'Warning: Page may not contain recent updates.',
+'readonly'                     => 'Database locked',
+'enterlockreason'      => 'Enter a reason for the lock, including an estimate
+of when the lock will be released',
+'readonlytext'         => 'The database is currently locked to new entries and other modifications, probably for routine database maintenance, after which it will be back to normal.
+
+The administrator who locked it offered this explanation: $1',
+'missingarticle' => 'The database did not find the text of a page that it should have found, named "$1".
+
+This is usually caused by following an outdated diff or history link to a
+page that has been deleted.
+
+If this is not the case, you may have found a bug in the software.
+Please report this to an administrator, making note of the URL.',
+'readonly_lag' => 'The database has been automatically locked while the slave database servers catch up to the master',
+'internalerror' => 'Internal error',
+'filecopyerror' => 'Could not copy file "$1" to "$2".',
+'filerenameerror' => 'Could not rename file "$1" to "$2".',
+'filedeleteerror' => 'Could not delete file "$1".',
+'filenotfound' => 'Could not find file "$1".',
+'unexpected'   => 'Unexpected value: "$1"="$2".',
+'formerror'            => 'Error: could not submit form',
+'badarticleerror' => 'This action cannot be performed on this page.',
+'cannotdelete' => 'Could not delete the page or file specified. (It may have already been deleted by someone else.)',
+'badtitle'             => 'Bad title',
+'badtitletext' => 'The requested page title was invalid, empty, or an incorrectly linked inter-language or inter-wiki title. It may contain one more characters which cannot be used in titles.',
+'perfdisabled' => 'Sorry! This feature has been temporarily disabled because it slows the database down to the point that no one can use the wiki.',
+'perfdisabledsub' => 'Here is a saved copy from $1:', # obsolete?
+'perfcached' => 'The following data is cached and may not be up to date.',
+'perfcachedts' => 'The following data is cached, and was last updated $1.',
+'wrong_wfQuery_params' => 'Incorrect parameters to wfQuery()<br />
+Function: $1<br />
+Query: $2',
+'viewsource' => 'View source',
+'viewsourcefor' => 'for $1',
+'protectedtext' => 'This page has been locked to prevent editing.
+
+You can view and copy the source of this page:',
+'protectedinterface' => 'This page provides interface text for the software, and is locked to prevent abuse.',
+'editinginterface' => "'''Warning:''' You are editing a page which is used to provide interface text for the software. Changes to this page will affect the appearance of the user interface for other users.",
+'sqlhidden' => '(SQL query hidden)',
+
+# Login and logout pages
+#
+'logouttitle'  => 'User logout',
+'logouttext'   => '<strong>You are now logged out.</strong><br />
+You can continue to use {{SITENAME}} anonymously, or you can log in
+again as the same or as a different user. Note that some pages may
+continue to be displayed as if you were still logged in, until you clear
+your browser cache.',
+
+'welcomecreation' => "== Welcome, $1! ==
+
+Your account has been created. Don't forget to change your {{SITENAME}} preferences.",
+
+'loginpagetitle' => 'User login',
+'yourname'             => 'Username',
+'yourpassword' => 'Password',
+'yourpasswordagain' => 'Retype password',
+'remembermypassword' => 'Remember me',
+'yourdomainname'       => 'Your domain',
+'externaldberror'      => 'There was either an external authentication database error or you are not allowed to update your external account.',
+'loginproblem' => '<b>There has been a problem with your login.</b><br />Try again!',
+'alreadyloggedin' => "<strong>User $1, you are already logged in!</strong><br />",
+
+'login'                        => 'Log in',
+'loginprompt'  => 'You must have cookies enabled to log in to {{SITENAME}}.',
+'userlogin'            => 'Log in / create account',
+'logout'               => 'Log out',
+'userlogout'   => 'Log out',
+'notloggedin'  => 'Not logged in',
+'nologin'      => 'Don\'t have a login? $1.',
+'nologinlink'  => 'Create an account',
+'createaccount'        => 'Create account',
+'gotaccount'   => 'Already have an account? $1.',
+'gotaccountlink'       => 'Log in',
+'createaccountmail'    => 'by e-mail',
+'badretype'            => 'The passwords you entered do not match.',
+'userexists'   => 'Username entered already in use. Please choose a different name.',
+'youremail'            => 'E-mail *',
+'username'             => 'Username:',
+'uid'                  => 'User ID:',
+'yourrealname'         => 'Real name *',
+'yourlanguage' => 'Language:',
+'yourvariant'  => 'Variant',
+'yournick'             => 'Nickname:',
+'badsig'               => 'Invalid raw signature; check HTML tags.',
+'email'                        => 'E-mail',
+'prefs-help-email-enotif' => 'This address is also used to send you e-mail notifications if you enabled the options.',
+'prefs-help-realname'  => '* Real name (optional): if you choose to provide it this will be used for giving you attribution for your work.',
+'loginerror'   => 'Login error',
+'prefs-help-email'      => '* E-mail (optional): Enables others to contact you through your user or user_talk page without needing to reveal your identity.',
+'nocookiesnew' => 'The user account was created, but you are not logged in. {{SITENAME}} uses cookies to log in users. You have cookies disabled. Please enable them, then log in with your new username and password.',
+'nocookieslogin'       => '{{SITENAME}} uses cookies to log in users. You have cookies disabled. Please enable them and try again.',
+'noname'               => 'You have not specified a valid user name.',
+'loginsuccesstitle' => 'Login successful',
+'loginsuccess' => "'''You are now logged in to {{SITENAME}} as \"$1\".'''",
+'nosuchuser'   => 'There is no user by the name "$1". Check your spelling, or create a new account.',
+'nosuchusershort'      => 'There is no user by the name "$1". Check your spelling.',
+'nouserspecified'      => 'You have to specify a username.',
+'wrongpassword'                => 'Incorrect password entered. Please try again.',
+'wrongpasswordempty'           => 'Password entered was blank. Please try again.',
+'mailmypassword'       => 'E-mail password',
+'passwordremindertitle' => 'Password reminder from {{SITENAME}}',
+'passwordremindertext' => 'Someone (probably you, from IP address $1)
+requested that we send you a new password for {{SITENAME}} ($4).
+The password for user "$2" is now "$3".
+You should log in and change your password now.
+
+If someone else made this request or if you have remembered your password and
+you no longer wish to change it, you may ignore this message and continue using
+your old password.',
+'noemail' => 'There is no e-mail address recorded for user "$1".',
+'passwordsent' => 'A new password has been sent to the e-mail address
+registered for "$1".
+Please log in again after you receive it.',
+'eauthentsent' =>  'A confirmation e-mail has been sent to the nominated e-mail address.
+Before any other mail is sent to the account, you will have to follow the instructions in the e-mail,
+to confirm that the account is actually yours.',
+'loginend'                         => '',
+'signupend'                        => '{{int:loginend}}',
+'mailerror'                 => 'Error sending mail: $1',
+'acct_creation_throttle_hit' => 'Sorry, you have already created $1 accounts. You can\'t make any more.',
+'emailauthenticated'        => 'Your e-mail address was authenticated on $1.',
+'emailnotauthenticated'     => 'Your e-mail address is <strong>not yet authenticated</strong>. No e-mail
+will be sent for any of the following features.',
+'noemailprefs'              => 'Specify an e-mail address for these features to work.',
+'emailconfirmlink' => 'Confirm your e-mail address',
+'invalidemailaddress'  => 'The e-mail address cannot be accepted as it appears to have an invalid
+format. Please enter a well-formatted address or empty that field.',
+'accountcreated' => 'Account created',
+'accountcreatedtext' => 'The user account for $1 has been created.',
+
+# Edit page toolbar
+'bold_sample'=>'Bold text',
+'bold_tip'=>'Bold text',
+'italic_sample'=>'Italic text',
+'italic_tip'=>'Italic text',
+'link_sample'=>'Link title',
+'link_tip'=>'Internal link',
+'extlink_sample'=>'http://www.example.com link title',
+'extlink_tip'=>'External link (remember http:// prefix)',
+'headline_sample'=>'Headline text',
+'headline_tip'=>'Level 2 headline',
+'math_sample'=>'Insert formula here',
+'math_tip'=>'Mathematical formula (LaTeX)',
+'nowiki_sample'=>'Insert non-formatted text here',
+'nowiki_tip'=>'Ignore wiki formatting',
+'image_sample'=>'Example.jpg',
+'image_tip'=>'Embedded image',
+'media_sample'=>'Example.ogg',
+'media_tip'=>'Media file link',
+'sig_tip'=>'Your signature with timestamp',
+'hr_tip'=>'Horizontal line (use sparingly)',
+
+# Edit pages
+#
+'summary'              => 'Summary',
+'subject'              => 'Subject/headline',
+'minoredit'            => 'This is a minor edit',
+'watchthis'            => 'Watch this page',
+'savearticle'  => 'Save page',
+'preview'              => 'Preview',
+'showpreview'  => 'Show preview',
+'showlivepreview'      => 'Live preview',
+'showdiff'     => 'Show changes',
+'anoneditwarning' => "'''Warning:''' You are not logged in. Your IP address will be recorded in this page's edit history.",
+'missingsummary' => "'''Reminder:''' You have not provided an edit summary. If you click Save again, your edit will be saved without one.",
+'missingcommenttext' => 'Please enter a comment below.',
+'blockedtitle' => 'User is blocked',
+'blockedtext' => "<big>'''Your user name or IP address has been blocked.'''</big>
+
+The block was made by $1. The reason given is ''$2''.
+
+You can contact $1 or another [[{{ns:project}}:Administrators|administrator]] to discuss the block.
+You cannot use the 'email this user' feature unless a valid email address is specified in your
+[[Special:Preferences|account preferences]]. Your current IP address is $3. Please include this in any queries.",
+'blockedoriginalsource' => "The source of '''$1''' is shown below:",
+'blockededitsource' => "The text of '''your edits''' to '''$1''' is shown below:",
+'whitelistedittitle' => 'Login required to edit',
+'whitelistedittext' => 'You have to $1 to edit pages.',
+'whitelistreadtitle' => 'Login required to read',
+'whitelistreadtext' => 'You have to [[Special:Userlogin|login]] to read pages.',
+'whitelistacctitle' => 'You are not allowed to create an account',
+'whitelistacctext' => 'To be allowed to create accounts in this Wiki you have to [[Special:Userlogin|log]] in and have the appropriate permissions.',
+'confirmedittitle' => 'E-mail confirmation required to edit',
+'confirmedittext' => 'You must confirm your e-mail address before editing pages. Please set and validate your e-mail address through your [[Special:Preferences|user preferences]].',
+'loginreqtitle'        => 'Login Required',
+'loginreqlink' => 'log in',
+'loginreqpagetext'     => 'You must $1 to view other pages.',
+'accmailtitle' => 'Password sent.',
+'accmailtext' => 'The password for "$1" has been sent to $2.',
+'newarticle'   => '(New)',
+'newarticletext' =>
+"You've followed a link to a page that doesn't exist yet.
+To create the page, start typing in the box below
+(see the [[{{ns:help}}:Contents|help page]] for more info).
+If you are here by mistake, just click your browser's '''back''' button.",
+'newarticletextanon' => '{{int:newarticletext}}',
+'talkpagetext' => '<!-- MediaWiki:talkpagetext -->',
+'anontalkpagetext' => "----''This is the discussion page for an anonymous user who has not created an account yet or who does not use it. We therefore have to use the numerical IP address to identify him/her. Such an IP address can be shared by several users. If you are an anonymous user and feel that irrelevant comments have been directed at you, please [[Special:Userlogin|create an account or log in]] to avoid future confusion with other anonymous users.''",
+'noarticletext' => 'There is currently no text in this page, you can [[{{ns:special}}:Search/{{PAGENAME}}|search for this page title]] in other pages or [{{fullurl:{{FULLPAGENAME}}|action=edit}} edit this page].',
+'noarticletextanon' => '{{int:noarticletext}}',
+'clearyourcache' => "'''Note:''' After saving, you may have to bypass your browser's cache to see the changes. '''Mozilla / Firefox / Safari:''' hold down ''Shift'' while clicking ''Reload'', or press ''Ctrl-Shift-R'' (''Cmd-Shift-R'' on Apple Mac); '''IE:''' hold ''Ctrl'' while clicking ''Refresh'', or press ''Ctrl-F5''; '''Konqueror:''': simply click the ''Reload'' button, or press ''F5''; '''Opera''' users may need to completely clear their cache in ''Tools→Preferences''.",
+'usercssjsyoucanpreview' => '<strong>Tip:</strong> Use the \'Show preview\' button to test your new CSS/JS before saving.',
+'usercsspreview' => '\'\'\'Remember that you are only previewing your user CSS, it has not yet been saved!\'\'\'',
+'userjspreview' => '\'\'\'Remember that you are only testing/previewing your user JavaScript, it has not yet been saved!\'\'\'',
+'userinvalidcssjstitle' => "'''Warning:''' There is no skin \"$1\". Remember that custom .css and .js pages use a lowercase title, e.g. User:Foo/monobook.css as opposed to User:Foo/Monobook.css.",
+'updated' => '(Updated)',
+'note' => '<strong>Note:</strong>',
+'previewnote' => '<strong>This is only a preview; changes have not yet been saved!</strong>',
+'session_fail_preview' => '<strong>Sorry! We could not process your edit due to a loss of session data.
+Please try again. If it still doesn\'t work, try logging out and logging back in.</strong>',
+'previewconflict' => 'This preview reflects the text in the upper text editing area as it will appear if you choose to save.',
+'session_fail_preview_html' => '<strong>Sorry! We could not process your edit due to a loss of session data.</strong>
+
+\'\'Because this wiki has raw HTML enabled, the preview is hidden as a precaution against JavaScript attacks.\'\'
+
+<strong>If this is a legitimate edit attempt, please try again. If it still doesn\'t work, try logging out and logging back in.</strong>',
+'importing' => 'Importing $1',
+'editing' => 'Editing $1',
+'editingsection' => 'Editing $1 (section)',
+'editingcomment' => 'Editing $1 (comment)',
+'editconflict' => 'Edit conflict: $1',
+'explainconflict' => 'Someone else has changed this page since you started editing it.
+The upper text area contains the page text as it currently exists.
+Your changes are shown in the lower text area.
+You will have to merge your changes into the existing text.
+<b>Only</b> the text in the upper text area will be saved when you
+press "Save page".<br />',
+'yourtext'             => 'Your text',
+'storedversion' => 'Stored version',
+'nonunicodebrowser' => "<strong>WARNING: Your browser is not unicode compliant. A workaround is in place to allow you to safely edit articles: non-ASCII characters will appear in the edit box as hexadecimal codes.</strong>",
+'editingold'   => "<strong>WARNING: You are editing an out-of-date
+revision of this page.
+If you save it, any changes made since this revision will be lost.</strong>",
+'yourdiff'             => 'Differences',
+'copyrightwarning' => 'Please note that all contributions to {{SITENAME}} are considered to be released under the $2 (see $1 for details). If you don\'t want your writing to be edited mercilessly and redistributed at will, then don\'t submit it here.<br />
+You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
+<strong>DO NOT SUBMIT COPYRIGHTED WORK WITHOUT PERMISSION!</strong>',
+'copyrightwarning2' => 'Please note that all contributions to {{SITENAME}} may be edited, altered, or removed by other contributors. If you don\'t want your writing to be edited mercilessly, then don\'t submit it here.<br />
+You are also promising us that you wrote this yourself, or copied it from a
+public domain or similar free resource (see $1 for details).
+<strong>DO NOT SUBMIT COPYRIGHTED WORK WITHOUT PERMISSION!</strong>',
+'longpagewarning' => "<strong>WARNING: This page is $1 kilobytes long; some
+browsers may have problems editing pages approaching or longer than 32kb.
+Please consider breaking the page into smaller sections.</strong>",
+'longpageerror' => "<strong>ERROR: The text you have submitted is $1 kilobytes 
+long, which is longer than the maximum of $2 kilobytes. It cannot be saved.</strong>",
+'readonlywarning' => '<strong>WARNING: The database has been locked for maintenance,
+so you will not be able to save your edits right now. You may wish to cut-n-paste
+the text into a text file and save it for later.</strong>',
+'protectedpagewarning' => "<strong>WARNING:  This page has been locked so that only users with sysop privileges can edit it.</strong>",
+'semiprotectedpagewarning' => "'''Note:''' This page has been locked so that only registered users can edit it.",
+'templatesused'        => 'Templates used on this page:',
+'edittools' => '<!-- Text here will be shown below edit and upload forms. -->',
+'nocreatetitle' => 'Page creation limited',
+'nocreatetext' => 'This site has restricted the ability to create new pages.
+You can go back and edit an existing page, or [[Special:Userlogin|log in or create an account]].',
+'cantcreateaccounttitle' => 'Can\'t create account',
+'cantcreateaccounttext' => 'Account creation from this IP address (<b>$1</b>) has been blocked. 
+This is probably due to persistent vandalism from your school or Internet service 
+provider. ',
+
+# History pages
+#
+'revhistory'   => 'Revision history',
+'viewpagelogs' => 'View logs for this page',
+'nohistory'            => 'There is no edit history for this page.',
+'revnotfound'  => 'Revision not found',
+'revnotfoundtext' => "The old revision of the page you asked for could not be found.
+Please check the URL you used to access this page.",
+'loadhist'             => 'Loading page history',
+'currentrev'   => 'Current revision',
+'revisionasof'          => 'Revision as of $1',
+'old-revision-navigation' => 'Revision as of $1; $5<br />($6) $3 | $2 | $4 ($7)',
+'previousrevision'     => '←Older revision',
+'nextrevision'         => 'Newer revision→',
+'currentrevisionlink'   => 'Current revision',
+'cur'                  => 'cur',
+'next'                 => 'next',
+'last'                 => 'last',
+'orig'                 => 'orig',
+'histlegend'   => 'Diff selection: mark the radio boxes of the versions to compare and hit enter or the button at the bottom.<br />
+Legend: (cur) = difference with current version,
+(last) = difference with preceding version, M = minor edit.',
+'history_copyright'    => '-',
+'deletedrev' => '[deleted]',
+'histfirst' => 'Earliest',
+'histlast' => 'Latest',
+'rev-deleted-comment' => '(comment removed)',
+'rev-deleted-user' => '(username removed)',
+'rev-deleted-text-permission' => '<div class="mw-warning plainlinks">
+This page revision has been removed from the public archives.
+There may be details in the [{{fullurl:Special:Log/delete|page={{PAGENAMEE}}}} deletion log].
+</div>',
+'rev-deleted-text-view' => '<div class="mw-warning plainlinks">
+This page revision has been removed from the public archives.
+As an administrator on this site you can view it;
+there may be details in the [{{fullurl:Special:Log/delete|page={{PAGENAMEE}}}} deletion log].
+</div>',
+#'rev-delundel' => 'del/undel',
+'rev-delundel' => 'show/hide',
+
+'history-feed-title' => 'Revision history',
+'history-feed-description'     => 'Revision history for this page on the wiki',
+'history-feed-item-nocomment' => '$1 at $2', # user at time
+'history-feed-empty' => 'The requested page doesn\'t exist.
+It may have been deleted from the wiki, or renamed.
+Try [[Special:Search|searching on the wiki]] for relevant new pages.',
+
+# Revision deletion
+#
+'revisiondelete' => 'Delete/undelete revisions',
+'revdelete-selected' => 'Selected revision of [[:$1]]:',
+'revdelete-text' => "Deleted revisions will still appear in the page history,
+but their text contents will be inaccessible to the public.
+
+Other admins on this wiki will still be able to access the hidden content and can
+undelete it again through this same interface, unless an additional restriction
+is placed by the site operators.",
+'revdelete-legend' => 'Set revision restrictions:',
+'revdelete-hide-text' => 'Hide revision text',
+'revdelete-hide-comment' => 'Hide edit comment',
+'revdelete-hide-user' => 'Hide editor\'s username/IP',
+'revdelete-hide-restricted' => 'Apply these restrictions to sysops as well as others',
+'revdelete-log' => 'Log comment:',
+'revdelete-submit' => 'Apply to selected revision',
+'revdelete-logentry' => 'changed revision visibility for [[$1]]',
+
+# Diffs
+#
+'difference'   => '(Difference between revisions)',
+'loadingrev'   => 'loading revision for diff',
+'lineno'               => "Line $1:",
+'editcurrent'  => 'Edit the current version of this page',
+'selectnewerversionfordiff' => 'Select a newer version for comparison',
+'selectolderversionfordiff' => 'Select an older version for comparison',
+'compareselectedversions' => 'Compare selected versions',
+
+# Search results
+#
+'searchresults' => 'Search results',
+'searchresulttext' => "For more information about searching {{SITENAME}}, see [[{{ns:project}}:Searching|Searching {{SITENAME}}]].",
+'searchsubtitle' => "You searched for '''[[:$1]]'''",
+'searchsubtitleinvalid' => "You searched for '''$1'''",
+'badquery'             => 'Badly formed search query',
+'badquerytext' => 'We could not process your query.
+This is probably because you have attempted to search for a
+word fewer than three letters long, which is not yet supported.
+It could also be that you have mistyped the expression, for
+example "fish and and scales".
+Please try another query.',
+'matchtotals'  => "The query \"$1\" matched $2 page titles
+and the text of $3 pages.",
+'noexactmatch' => "'''There is no page titled \"$1\".''' You can [[:$1|create this page]].",
+'titlematches' => 'Article title matches',
+'notitlematches' => 'No page title matches',
+'textmatches'  => 'Page text matches',
+'notextmatches'        => 'No page text matches',
+'prevn'                        => "previous $1",
+'nextn'                        => "next $1",
+'viewprevnext' => "View ($1) ($2) ($3).",
+'showingresults' => "Showing below up to <b>$1</b> results starting with #<b>$2</b>.",
+'showingresultsnum' => "Showing below <b>$3</b> results starting with #<b>$2</b>.",
+'nonefound'            => "'''Note''': Unsuccessful searches are
+often caused by searching for common words like \"have\" and \"from\",
+which are not indexed, or by specifying more than one search term (only pages
+containing all of the search terms will appear in the result).",
+'powersearch' => 'Search',
+'powersearchtext' => "Search in namespaces:<br />$1<br />$2 List redirects<br />Search for $3 $9",
+'searchdisabled' => '{{SITENAME}} search is disabled. You can search via Google in the meantime. Note that their indexes of {{SITENAME}} content may be out of date.',
+
+'googlesearch' => '
+<form method="get" action="http://www.google.com/search" id="googlesearch">
+    <input type="hidden" name="domains" value="{{SERVER}}" />
+    <input type="hidden" name="num" value="50" />
+    <input type="hidden" name="ie" value="$2" />
+    <input type="hidden" name="oe" value="$2" />
+
+    <input type="text" name="q" size="31" maxlength="255" value="$1" />
+    <input type="submit" name="btnG" value="$3" />
+  <div>
+    <input type="radio" name="sitesearch" id="gwiki" value="{{SERVER}}" checked="checked" /><label for="gwiki">{{SITENAME}}</label>
+    <input type="radio" name="sitesearch" id="gWWW" value="" /><label for="gWWW">WWW</label>
+  </div>
+</form>',
+'blanknamespace' => '(Main)',
+
+# Preferences page
+#
+'preferences'  => 'Preferences',
+'prefsnologin' => 'Not logged in',
+'prefsnologintext'     => "You must be [[Special:Userlogin|logged in]] to set user preferences.",
+'prefsreset'   => 'Preferences have been reset from storage.',
+'qbsettings'   => 'Quickbar',
+'changepassword' => 'Change password',
+'skin'                 => 'Skin',
+'math'                 => 'Math',
+'dateformat'           => 'Date format',
+'datedefault'          => 'No preference',
+'datetime'             => 'Date and time',
+'math_failure'         => 'Failed to parse',
+'math_unknown_error'   => 'unknown error',
+'math_unknown_function'        => 'unknown function',
+'math_lexing_error'    => 'lexing error',
+'math_syntax_error'    => 'syntax error',
+'math_image_error'     => 'PNG conversion failed; check for correct installation of latex, dvips, gs, and convert',
+'math_bad_tmpdir'      => 'Can\'t write to or create math temp directory',
+'math_bad_output'      => 'Can\'t write to or create math output directory',
+'math_notexvc' => 'Missing texvc executable; please see math/README to configure.',
+'prefs-personal' => 'User profile',
+'prefs-rc' => 'Recent changes',
+'prefs-watchlist' => 'Watchlist',
+'prefs-watchlist-days' => 'Number of days to show in watchlist:',
+'prefs-watchlist-edits' => 'Number of edits to show in expanded watchlist:',
+'prefs-misc' => 'Misc',
+'saveprefs'            => 'Save',
+'resetprefs'   => 'Reset',
+'oldpassword'  => 'Old password:',
+'newpassword'  => 'New password:',
+'retypenew'            => 'Retype new password:',
+'textboxsize'  => 'Editing',
+'rows'                 => 'Rows:',
+'columns'              => 'Columns:',
+'searchresultshead' => 'Search',
+'resultsperpage' => 'Hits per page:',
+'contextlines' => 'Lines per hit:',
+'contextchars' => 'Context per line:',
+'stubthreshold' => 'Threshold for stub display:',
+'recentchangescount' => 'Titles in recent changes:',
+'savedprefs'   => 'Your preferences have been saved.',
+'timezonelegend' => 'Time zone',
+'timezonetext' => 'The number of hours your local time differs from server time (UTC).',
+'localtime'    => 'Local time',
+'timezoneoffset' => 'Offset¹',
+'servertime'   => 'Server time',
+'guesstimezone' => 'Fill in from browser',
+'allowemail'           => 'Enable e-mail from other users',
+'defaultns'            => 'Search in these namespaces by default:',
+'default'              => 'default',
+'files'                        => 'Files',
+
+# User rights
+'userrights-lookup-user' => 'Manage user groups',
+'userrights-user-editname' => 'Enter a username:',
+'editusergroup' => 'Edit User Groups',
+
+'userrights-editusergroup' => 'Edit user groups',
+'saveusergroups' => 'Save User Groups',
+'userrights-groupsmember' => 'Member of:',
+'userrights-groupsavailable' => 'Available groups:',
+'userrights-groupshelp' => 'Select groups you want the user to be removed from or added to.
+Unselected groups will not be changed. You can deselect a group with CTRL + Left Click',
+'userrights-logcomment' => 'Changed group membership from $1 to $2',
+
+# Groups
+'group'                   => 'Group:',
+'group-bot'               => 'Bots',
+'group-sysop'             => 'Sysops',
+'group-bureaucrat'        => 'Bureaucrats',
+'group-steward'           => 'Stewards',
+'group-all'               => '(all)',
+
+'group-bot-member'        => 'Bot',
+'group-sysop-member'      => 'Sysop',
+'group-bureaucrat-member' => 'Bureaucrat',
+'group-steward-member'    => 'Steward',
+
+'grouppage-bot' => '{{ns:project}}:Bots',
+'grouppage-sysop' => '{{ns:project}}:Administrators',
+'grouppage-bureaucrat' => '{{ns:project}}:Bureaucrats',
+
+# Recent changes
+#
+'changes' => 'changes',
+'recentchanges' => 'Recent changes',
+'recentchanges-url' => 'Special:Recentchanges',
+'recentchangestext' => 'Track the most recent changes to the wiki on this page.',
+'rcnote'               => "Below are the last <strong>$1</strong> changes in the last <strong>$2</strong> days, as of $3.",
+'rcnotefrom'   => "Below are the changes since <b>$2</b> (up to <b>$1</b> shown).",
+'rclistfrom'   => "Show new changes starting from $1",
+'rcshowhideminor' => '$1 minor edits',
+'rcshowhidebots' => '$1 bots',
+'rcshowhideliu' => '$1 logged-in users',
+'rcshowhideanons' => '$1 anonymous users',
+'rcshowhidepatr' => '$1 patrolled edits',
+'rcshowhidemine' => '$1 my edits',
+'rclinks'              => "Show last $1 changes in last $2 days<br />$3",
+'diff'                 => 'diff',
+'hist'                 => 'hist',
+'hide'                 => 'Hide',
+'show'                 => 'Show',
+'minoreditletter' => 'm',
+'newpageletter' => 'N',
+'boteditletter' => 'b',
+'sectionlink' => '→',
+'number_of_watching_users_RCview'      => '[$1]',
+'number_of_watching_users_pageview'    => '[$1 watching user/s]',
+'rc_categories'        => 'Limit to categories (separate with "|")',
+'rc_categories_any'    => 'Any',
+
+# Upload
+#
+'upload'               => 'Upload file',
+'uploadbtn'            => 'Upload file',
+'reupload'             => 'Re-upload',
+'reuploaddesc' => 'Return to the upload form.',
+'uploadnologin' => 'Not logged in',
+'uploadnologintext'    => "You must be [[Special:Userlogin|logged in]]
+to upload files.",
+'upload_directory_read_only' => 'The upload directory ($1) is not writable by the webserver.',
+'uploaderror'  => 'Upload error',
+'uploadtext'   => "Use the form below to upload files, to view or search previously uploaded images go to the [[Special:Imagelist|list of uploaded files]], uploads and deletions are also logged in the [[Special:Log/upload|upload log]].
+
+To include the image in a page, use a link in the form
+'''<nowiki>[[{{ns:image}}:File.jpg]]</nowiki>''',
+'''<nowiki>[[{{ns:image}}:File.png|alt text]]</nowiki>''' or
+'''<nowiki>[[{{ns:media}}:File.ogg]]</nowiki>''' for directly linking to the file.",
+'uploadlog'            => 'upload log',
+'uploadlogpage' => 'Upload log',
+'uploadlogpagetext' => 'Below is a list of the most recent file uploads.',
+'filename'             => 'Filename',
+'filedesc'             => 'Summary',
+'fileuploadsummary' => 'Summary:',
+'filestatus' => 'Copyright status',
+'filesource' => 'Source',
+'copyrightpage' => "Project:Copyrights",
+'copyrightpagename' => "{{SITENAME}} copyright",
+'uploadedfiles'        => 'Uploaded files',
+'ignorewarning'        => 'Ignore warning and save file anyway.',
+'ignorewarnings'       => 'Ignore any warnings',
+'minlength'            => 'File names must be at least three letters.',
+'illegalfilename'      => 'The filename "$1" contains characters that are not allowed in page titles. Please rename the file and try uploading it again.',
+'badfilename'  => 'File name has been changed to "$1".',
+'badfiletype'  => "\".$1\" is not a recommended image file format.",
+'largefile'            => 'It is recommended that files do not exceed $1 bytes in size; this file is $2 bytes',
+'largefileserver' => 'This file is bigger than the server is configured to allow.',
+'emptyfile'            => 'The file you uploaded seems to be empty. This might be due to a typo in the file name. Please check whether you really want to upload this file.',
+'fileexists'           => 'A file with this name exists already, please check $1 if you are not sure if you want to change it.',
+'fileexists-forbidden' => 'A file with this name exists already; please go back and upload this file under a new name. [[Image:$1|thumb|center|$1]]',
+'fileexists-shared-forbidden' => 'A file with this name exists already in the shared file repository; please go back and upload this file under a new name. [[Image:$1|thumb|center|$1]]',
+'successfulupload' => 'Successful upload',
+'fileuploaded' => "File $1 uploaded successfully.
+Please follow this link: $2 to the description page and fill
+in information about the file, such as where it came from, when it was
+created and by whom, and anything else you may know about it. If this is an image, you can insert it like this: <tt><nowiki>[[Image:$1|thumb|Description]]</nowiki></tt>",
+'uploadwarning' => 'Upload warning',
+'savefile'             => 'Save file',
+'uploadedimage' => "uploaded \"[[$1]]\"",
+'uploaddisabled' => 'Uploads disabled',
+'uploaddisabledtext' => 'File uploads are disabled on this wiki.',
+'uploadscripted' => 'This file contains HTML or script code that may be erroneously be interpreted by a web browser.',
+'uploadcorrupt' => 'The file is corrupt or has an incorrect extension. Please check the file and upload again.',
+'uploadvirus' => 'The file contains a virus! Details: $1',
+'sourcefilename' => 'Source filename',
+'destfilename' => 'Destination filename',
+'filewasdeleted' => 'A file of this name has been previously uploaded and subsequently deleted. You should check the $1 before proceeding to upload it again.',
+
+'license' => 'Licensing',
+'nolicense' => 'None selected',
+'licenses' => '-', # Don't duplicate this in translations
+
+# Image list
+#
+'imagelist'            => 'File list',
+'imagelisttext' => "Below is a list of '''$1''' {{plural:$1|file|files}} sorted $2.",
+'imagelistforuser' => "This shows only images uploaded by $1.",
+'getimagelist' => 'fetching file list',
+'ilsubmit'             => 'Search',
+'showlast'             => 'Show last $1 files sorted $2.',
+'byname'               => 'by name',
+'bydate'               => 'by date',
+'bysize'               => 'by size',
+'imgdelete'            => 'del',
+'imgdesc'              => 'desc',
+'imglegend'            => 'Legend: (desc) = show/edit file description.',
+'imghistory'   => 'File history',
+'revertimg'            => 'rev',
+'deleteimg'            => 'del',
+'deleteimgcompletely'          => 'Delete all revisions of this file',
+'imghistlegend' => 'Legend: (cur) = this is the current file, (del) = delete
+this old version, (rev) = revert to this old version.
+<br /><i>Click on date to see the file uploaded on that date</i>.',
+'imagelinks'   => 'Links',
+'linkstoimage' => 'The following pages link to this file:',
+'nolinkstoimage' => 'There are no pages that link to this file.',
+'sharedupload' => 'This file is a shared upload and may be used by other projects.',
+'shareduploadwiki' => 'Please see the $1 for further information.',
+'shareduploadwiki-linktext' => 'file description page',
+'shareddescriptionfollows' => '-',
+'noimage'       => 'No file by this name exists, you can $1.',
+'noimage-linktext'       => 'upload it',
+'uploadnewversion-linktext' => 'Upload a new version of this file',
+
+# Mime search
+#
+'mimesearch' => 'MIME search',
+'mimetype' => 'MIME type:',
+'download' => 'download',
+
+# Unwatchedpages
+#
+'unwatchedpages' => 'Unwatched pages',
+
+# List redirects
+'listredirects' => 'List redirects',
+
+# Unused templates
+'unusedtemplates' => 'Unused templates',
+'unusedtemplatestext' => 'This page lists all pages in the template namespace which are not included in another page. Remember to check for other links to the templates before deleting them.',
+'unusedtemplateswlh' => 'other links',
+
+# Random redirect
+'randomredirect' => 'Random redirect',
+
+# Statistics
+#
+'statistics'   => 'Statistics',
+'sitestats'            => '{{SITENAME}} statistics',
+'userstats'            => 'User statistics',
+'sitestatstext' => "There are '''$1''' total pages in the database.
+This includes \"talk\" pages, pages about {{SITENAME}}, minimal \"stub\"
+pages, redirects, and others that probably don't qualify as content pages.
+Excluding those, there are '''$2''' pages that are probably legitimate
+content pages. 
+
+'''$8''' files have been uploaded.
+
+There have been a total of '''$3''' page views, and '''$4''' page edits
+since the wiki was setup.
+That comes to '''$5''' average edits per page, and '''$6''' views per edit.
+
+The [http://meta.wikimedia.org/wiki/Help:Job_queue job queue] length is '''$7'''.",
+'userstatstext' => "There are '''$1''' registered users, of which
+'''$2''' (or '''$4%''') are administrators (see $3).",
+'statistics-mostpopular' => 'Most viewed pages',
+
+'disambiguations'      => 'Disambiguation pages',
+'disambiguationspage'  => 'Template:disambig',
+'disambiguationstext'  => "The following pages link to a <i>disambiguation page</i>. They should link to the appropriate topic instead.<br />A page is treated as disambiguation if it is linked from $1.<br />Links from other namespaces are <i>not</i> listed here.",
+
+'doubleredirects'      => 'Double redirects',
+'doubleredirectstext'  => "Each row contains links to the first and second redirect, as well as the first line of the second redirect text, usually giving the \"real\" target page, which the first redirect should point to.",
+
+'brokenredirects'      => 'Broken redirects',
+'brokenredirectstext'  => 'The following redirects link to non-existent pages:',
+
+
+# Miscellaneous special pages
+#
+'nbytes'               => '$1 {{PLURAL:$1|byte|bytes}}',
+'ncategories'          => '$1 {{PLURAL:$1|category|categories}}',
+'nlinks'               => '$1 {{PLURAL:$1|link|links}}',
+'nmembers'             => '$1 {{PLURAL:$1|member|members}}',
+'nrevisions'           => '$1 {{PLURAL:$1|revision|revisions}}',
+'nviews'               => '$1 {{PLURAL:$1|view|views}}',
+
+'lonelypages'  => 'Orphaned pages',
+'uncategorizedpages'   => 'Uncategorized pages',
+'uncategorizedcategories'      => 'Uncategorized categories',
+'uncategorizedimages' => 'Uncategorized images',
+'unusedcategories' => 'Unused categories',
+'unusedimages' => 'Unused files',
+'popularpages' => 'Popular pages',
+'wantedcategories' => 'Wanted categories',
+'wantedpages'  => 'Wanted pages',
+'mostlinked'   => 'Most linked to pages',
+'mostlinkedcategories' => 'Most linked to categories',
+'mostcategories' => 'Articles with the most categories',
+'mostimages'   => 'Most linked to images',
+'mostrevisions' => 'Articles with the most revisions',
+'allpages'             => 'All pages',
+'prefixindex'   => 'Prefix index',
+'randompage'   => 'Random page',
+'randompage-url'=> 'Special:Random',
+'shortpages'   => 'Short pages',
+'longpages'            => 'Long pages',
+'deadendpages'  => 'Dead-end pages',
+'listusers'            => 'User list',
+'specialpages' => 'Special pages',
+'spheading'            => 'Special pages for all users',
+'restrictedpheading'   => 'Restricted special pages',
+'recentchangeslinked' => 'Related changes',
+'rclsub'               => "(to pages linked from \"$1\")",
+'newpages'             => 'New pages',
+'newpages-username' => 'Username:',
+'ancientpages'         => 'Oldest pages',
+'intl'         => 'Interlanguage links',
+'move' => 'Move',
+'movethispage' => 'Move this page',
+'unusedimagestext' => '<p>Please note that other web sites may link to an image with
+a direct URL, and so may still be listed here despite being
+in active use.</p>',
+'unusedcategoriestext' => 'The following category pages exist although no other article or category make use of them.',
+
+'booksources'  => 'Book sources',
+'categoriespagetext' => 'The following categories exist in the wiki.',
+'data' => 'Data',
+'userrights' => 'User rights management',
+'groups' => 'User groups',
+
+'booksourcetext' => "Below is a list of links to other sites that
+sell new and used books, and may also have further information
+about books you are looking for.",
+'isbn' => 'ISBN',
+'rfcurl' =>  'http://www.ietf.org/rfc/rfc$1.txt',
+'pubmedurl' =>  'http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=Retrieve&db=pubmed&dopt=Abstract&list_uids=$1',
+'alphaindexline' => "$1 to $2",
+'version'              => 'Version',
+'log'          => 'Logs',
+'alllogstext'  => 'Combined display of upload, deletion, protection, blocking, and sysop logs.
+You can narrow down the view by selecting a log type, the user name, or the affected page.',
+'logempty' => 'No matching items in log.',
+
+
+# Special:Allpages
+'nextpage'          => 'Next page ($1)',
+'allpagesfrom'         => 'Display pages starting at:',
+'allarticles'          => 'All articles',
+'allinnamespace'       => 'All pages ($1 namespace)',
+'allnotinnamespace'    => 'All pages (not in $1 namespace)',
+'allpagesprev'         => 'Previous',
+'allpagesnext'         => 'Next',
+'allpagessubmit'       => 'Go',
+'allpagesprefix'       => 'Display pages with prefix:',
+'allpagesbadtitle'     => 'The given page title was invalid or had an inter-language or inter-wiki prefix. It may contain one more characters which cannot be used in titles.',
+
+# E this user
+#
+'mailnologin'  => 'No send address',
+'mailnologintext' => "You must be [[Special:Userlogin|logged in]]
+and have a valid e-mail address in your [[Special:Preferences|preferences]]
+to send e-mail to other users.",
+'emailuser'            => 'E-mail this user',
+'emailpage'            => 'E-mail user',
+'emailpagetext'        => 'If this user has entered a valid e-mail address in
+his or her user preferences, the form below will send a single message.
+The e-mail address you entered in your user preferences will appear
+as the "From" address of the mail, so the recipient will be able
+to reply.',
+'usermailererror' => 'Mail object returned error:',
+'defemailsubject'  => "{{SITENAME}} e-mail",
+'noemailtitle' => 'No e-mail address',
+'noemailtext'  => 'This user has not specified a valid e-mail address,
+or has chosen not to receive e-mail from other users.',
+'emailfrom'            => 'From',
+'emailto'              => 'To',
+'emailsubject' => 'Subject',
+'emailmessage' => 'Message',
+'emailsend'            => 'Send',
+'emailsent'            => 'E-mail sent',
+'emailsenttext' => 'Your e-mail message has been sent.',
+
+# Watchlist
+'watchlist'                    => 'My watchlist',
+'watchlistfor' => "(for '''$1''')",
+'nowatchlist'          => 'You have no items on your watchlist.',
+'watchlistanontext' => 'Please $1 to view or edit items on your watchlist.',
+'watchlistcount'       => "'''You have $1 items on your watchlist, including talk pages.'''",
+'clearwatchlist'       => 'Clear watchlist',
+'watchlistcleartext' => 'Are you sure you wish to remove them?',
+'watchlistclearbutton' => 'Clear watchlist',
+'watchlistcleardone' => 'Your watchlist has been cleared. $1 items were removed.',
+'watchnologin'         => 'Not logged in',
+'watchnologintext'     => 'You must be [[Special:Userlogin|logged in]] to modify your watchlist.',
+'addedwatch'           => 'Added to watchlist',
+'addedwatchtext'       => "The page \"[[:$1]]\" has been added to your [[Special:Watchlist|watchlist]].
+Future changes to this page and its associated Talk page will be listed there,
+and the page will appear '''bolded''' in the [[Special:Recentchanges|list of recent changes]] to
+make it easier to pick out.
+
+If you want to remove the page from your watchlist later, click \"Unwatch\" in the sidebar.",
+'removedwatch'         => 'Removed from watchlist',
+'removedwatchtext'     => "The page \"[[:$1]]\" has been removed from your watchlist.",
+'watch' => 'Watch',
+'watchthispage'                => 'Watch this page',
+'unwatch' => 'Unwatch',
+'unwatchthispage'      => 'Stop watching',
+'notanarticle'         => 'Not a content page',
+'watchnochange'        => 'None of your watched items was edited in the time period displayed.',
+'watchdetails'         => '* $1 pages watched not counting talk pages
+* [[Special:Watchlist/edit|Show and edit complete watchlist]]
+* [[Special:Watchlist/clear|Remove all pages]]',
+'wlheader-enotif'              => "* E-mail notification is enabled.",
+'wlheader-showupdated'   => "* Pages which have been changed since you last visited them are shown in '''bold'''",
+'watchmethod-recent'=> 'checking recent edits for watched pages',
+'watchmethod-list'     => 'checking watched pages for recent edits',
+'removechecked'        => 'Remove checked items from watchlist',
+'watchlistcontains' => "Your watchlist contains $1 pages.",
+'watcheditlist'                => 'Here\'s an alphabetical list of your
+watched content pages. Check the boxes of pages you want to remove from your watchlist and click the \'remove checked\' button
+at the bottom of the screen (deleting a content page also deletes the accompanying talk page and vice versa).',
+'removingchecked'      => 'Removing requested items from watchlist...',
+'couldntremove'        => "Couldn't remove item '$1'...",
+'iteminvalidname'      => "Problem with item '$1', invalid name...",
+'wlnote'               => 'Below are the last $1 changes in the last <b>$2</b> hours.',
+'wlshowlast'           => 'Show last $1 hours $2 days $3',
+'wlsaved'              => 'This is a saved version of your watchlist.',
+'wlhideshowown'        => '$1 my edits',
+'wlhideshowbots'       => '$1 bot edits',
+'wldone'                       => 'Done.',
+
+'enotif_mailer'                => '{{SITENAME}} Notification Mailer',
+'enotif_reset'                 => 'Mark all pages visited',
+'enotif_newpagetext'=> 'This is a new page.',
+'changed'                      => 'changed',
+'created'                      => 'created',
+'enotif_subject'       => '{{SITENAME}} page $PAGETITLE has been $CHANGEDORCREATED by $PAGEEDITOR',
+'enotif_lastvisited' => 'See $1 for all changes since your last visit.',
+'enotif_body' => 'Dear $WATCHINGUSERNAME,
+
+the {{SITENAME}} page $PAGETITLE has been $CHANGEDORCREATED on $PAGEEDITDATE by $PAGEEDITOR, see $PAGETITLE_URL for the current version.
+
+$NEWPAGE
+
+Editor\'s summary: $PAGESUMMARY $PAGEMINOREDIT
+
+Contact the editor:
+mail: $PAGEEDITOR_EMAIL
+wiki: $PAGEEDITOR_WIKI
+
+There will be no other notifications in case of further changes unless you visit this page. You could also reset the notification flags for all your watched pages on your watchlist.
+
+             Your friendly {{SITENAME}} notification system
+
+--
+To change your watchlist settings, visit
+{{fullurl:{{ns:special}}:Watchlist/edit}}
+
+Feedback and further assistance:
+{{fullurl:{{ns:help}}:Contents}}',
+
+# Delete/protect/revert
+#
+'deletepage'   => 'Delete page',
+'confirm'              => 'Confirm',
+'excontent' => "content was: '$1'",
+'excontentauthor' => "content was: '$1' (and the only contributor was '$2')",
+'exbeforeblank' => "content before blanking was: '$1'",
+'exblank' => 'page was empty',
+'confirmdelete' => 'Confirm delete',
+'deletesub'            => "(Deleting \"$1\")",
+'historywarning' => 'Warning: The page you are about to delete has a history:',
+'confirmdeletetext' => "You are about to permanently delete a page
+or image along with all of its history from the database.
+Please confirm that you intend to do this, that you understand the
+consequences, and that you are doing this in accordance with
+[[{{ns:project}}:Policy]].",
+'actioncomplete' => 'Action complete',
+'deletedtext'  => "\"$1\" has been deleted.
+See $2 for a record of recent deletions.",
+'deletedarticle' => "deleted \"[[$1]]\"",
+'dellogpage'   => 'Deletion log',
+'dellogpagetext' => 'Below is a list of the most recent deletions.',
+'deletionlog'  => 'deletion log',
+'reverted'             => 'Reverted to earlier revision',
+'deletecomment'        => 'Reason for deletion',
+'imagereverted' => 'Revert to earlier version was successful.',
+'rollback'             => 'Roll back edits',
+'rollback_short' => 'Rollback',
+'rollbacklink' => 'rollback',
+'rollbackfailed' => 'Rollback failed',
+'cantrollback' => 'Cannot revert edit; last contributor is only author of this page.',
+'alreadyrolled'        => "Cannot rollback last edit of [[$1]]
+by [[User:$2|$2]] ([[User talk:$2|Talk]]); someone else has edited or rolled back the page already.
+
+Last edit was by [[User:$3|$3]] ([[User talk:$3|Talk]]).",
+#   only shown if there is an edit comment
+'editcomment' => "The edit comment was: \"<i>$1</i>\".",
+'revertpage'   => "Reverted edits by [[Special:Contributions/$2|$2]] ([[User_talk:$2|Talk]]); changed back to last version by [[User:$1|$1]]",
+'sessionfailure' => 'There seems to be a problem with your login session;
+this action has been canceled as a precaution against session hijacking.
+Please hit "back" and reload the page you came from, then try again.',
+'protectlogpage' => 'Protection log',
+'protectlogtext' => "Below is a list of page locks and unlocks.",
+'protectedarticle' => 'protected "[[$1]]"',
+'unprotectedarticle' => 'unprotected "[[$1]]"',
+'protectsub' => '(Protecting "$1")',
+'confirmprotecttext' => 'Do you really want to protect this page?',
+'confirmprotect' => 'Confirm protection',
+'protectmoveonly' => 'Protect from moves only',
+'protectcomment' => 'Reason for protecting',
+'unprotectsub' =>"(Unprotecting \"$1\")",
+'confirmunprotecttext' => 'Do you really want to unprotect this page?',
+'confirmunprotect' => 'Confirm unprotection',
+'unprotectcomment' => 'Reason for unprotecting',
+'protect-unchain' => 'Unlock move permissions',
+'protect-text' => 'You may view and change the protection level here for the page <strong>$1</strong>.',
+'protect-viewtext' => 'Your account does not have permission to change
+page protection levels. Here are the current settings for the page <strong>$1</strong>:',
+'protect-default' => '(default)',
+'protect-level-autoconfirmed' => 'Block unregistered users',
+'protect-level-sysop' => 'Sysops only',
+
+# restrictions (nouns)
+'restriction-edit' => 'Edit',
+'restriction-move' => 'Move',
+
+
+# Undelete
+'undelete' => 'View deleted pages',
+'undeletepage' => 'View and restore deleted pages',
+'viewdeletedpage' => 'View deleted pages',
+'undeletepagetext' => 'The following pages have been deleted but are still in the archive and
+can be restored. The archive may be periodically cleaned out.',
+'undeleteextrahelp' => "To restore the entire page, leave all checkboxes deselected and
+click '''''Restore'''''. To perform a selective restoration, check the boxes corresponding to the
+revisions to be restored, and click '''''Restore'''''. Clicking '''''Reset''''' will clear the
+comment field and all checkboxes.",
+'undeletearticle' => 'Restore deleted page',
+'undeleterevisions' => "$1 revisions archived",
+'undeletehistory' => 'If you restore the page, all revisions will be restored to the history.
+If a new page with the same name has been created since the deletion, the restored
+revisions will appear in the prior history, and the current revision of the live page
+will not be automatically replaced.',
+'undeletehistorynoadmin' => 'This article has been deleted. The reason for deletion is
+shown in the summary below, along with details of the users who had edited this page
+before deletion. The actual text of these deleted revisions is only available to administrators.',
+'undeleterevision' => "Deleted revision as of $1",
+'undeletebtn' => 'Restore',
+'undeletereset' => 'Reset',
+'undeletecomment' => 'Comment:',
+'undeletedarticle' => "restored \"[[$1]]\"",
+'undeletedrevisions' => "$1 revisions restored",
+'undeletedrevisions-files' => "$1 revisions and $2 file(s) restored",
+'undeletedfiles' => "$1 file(s) restored",
+'cannotundelete' => 'Undelete failed; someone else may have undeleted the page first.',
+'undeletedpage' => "<big>'''$1 has been restored'''</big>
+
+Consult the [[Special:Log/delete|deletion log]] for a record of recent deletions and restorations.",
+
+# Namespace form on various pages
+'namespace' => 'Namespace:',
+'invert' => 'Invert selection',
+
+# Contributions
+#
+'contributions' => 'User contributions',
+'mycontris'     => 'My contributions',
+'contribsub'    => "For $1",
+'nocontribs'    => 'No changes were found matching these criteria.',
+'ucnote'        => "Below are this user's last <b>$1</b> changes in the last <b>$2</b> days.",
+'uclinks'       => "View the last $1 changes; view the last $2 days.",
+'uctop'         => ' (top)' ,
+'newbies'       => 'newbies',
+
+'sp-newimages-showfrom' => 'Show new images starting from $1',
+
+'sp-contributions-newest' => 'Newest',
+'sp-contributions-oldest' => 'Oldest',
+'sp-contributions-newer'  => 'Newer $1',
+'sp-contributions-older'  => 'Older $1',
+'sp-contributions-newbies-sub' => 'For newbies',
+
+
+# What links here
+#
+'whatlinkshere'        => 'What links here',
+'notargettitle' => 'No target',
+'notargettext' => 'You have not specified a target page or user
+to perform this function on.',
+'linklistsub'  => '(List of links)',
+'linkshere'            => 'The following pages link to here:',
+'nolinkshere'  => 'No pages link to here.',
+'isredirect'   => 'redirect page',
+'istemplate'   => 'inclusion',
+
+# Block/unblock IP
+#
+'blockip'              => 'Block user',
+'blockiptext'  => "Use the form below to block write access
+from a specific IP address or username.
+This should be done only only to prevent vandalism, and in
+accordance with [[{{ns:project}}:Policy|policy]].
+Fill in a specific reason below (for example, citing particular
+pages that were vandalized).",
+'ipaddress'            => 'IP Address',
+'ipadressorusername' => 'IP Address or username',
+'ipbexpiry'            => 'Expiry',
+'ipbreason'            => 'Reason',
+'ipbanononly'   => 'Block anonymous users only',
+'ipbcreateaccount' => 'Prevent account creation',
+'ipbsubmit'            => 'Block this user',
+'ipbother'             => 'Other time',
+'ipboptions'           => '2 hours:2 hours,1 day:1 day,3 days:3 days,1 week:1 week,2 weeks:2 weeks,1 month:1 month,3 months:3 months,6 months:6 months,1 year:1 year,infinite:infinite',
+'ipbotheroption'       => 'other',
+'badipaddress' => 'Invalid IP address',
+'blockipsuccesssub' => 'Block succeeded',
+'blockipsuccesstext' => '[[{{ns:Special}}:Contributions/$1|$1]] has been blocked.
+<br />See [[{{ns:Special}}:Ipblocklist|IP block list]] to review blocks.',
+'unblockip'            => 'Unblock user',
+'unblockiptext'        => 'Use the form below to restore write access
+to a previously blocked IP address or username.',
+'ipusubmit'            => 'Unblock this address',
+'unblocked' => '[[User:$1|$1]] has been unblocked',
+'ipblocklist'  => 'List of blocked IP addresses and usernames',
+'blocklistline'        => "$1, $2 blocked $3 ($4)",
+'infiniteblock' => 'infinite',
+'expiringblock' => 'expires $1',
+'anononlyblock' => 'anon. only',
+'createaccountblock' => 'account creation blocked',
+'ipblocklistempty'     => 'The blocklist is empty.',
+'blocklink'            => 'block',
+'unblocklink'  => 'unblock',
+'contribslink' => 'contribs',
+'autoblocker'  => 'Autoblocked because your IP address has been recently used by "[[User:$1|$1]]". The reason given for $1\'s block is: "\'\'\'$2\'\'\'"',
+'blocklogpage' => 'Block log',
+'blocklogentry'        => 'blocked "[[$1]]" with an expiry time of $2',
+'blocklogtext' => 'This is a log of user blocking and unblocking actions. Automatically
+blocked IP addresses are not listed. See the [[Special:Ipblocklist|IP block list]] for
+the list of currently operational bans and blocks.',
+'unblocklogentry'      => 'unblocked $1',
+'range_block_disabled' => 'The sysop ability to create range blocks is disabled.',
+'ipb_expiry_invalid'   => 'Expiry time invalid.',
+'ipb_already_blocked' => '"$1" is already blocked',
+'ip_range_invalid'     => 'Invalid IP range.',
+'proxyblocker' => 'Proxy blocker',
+'ipb_cant_unblock' => 'Error: Block ID $1 not found. It may have been unblocked already.',
+'proxyblockreason'     => 'Your IP address has been blocked because it is an open proxy. Please contact your Internet service provider or tech support and inform them of this serious security problem.',
+'proxyblocksuccess'    => 'Done.',
+'sorbs'         => 'SORBS DNSBL',
+'sorbsreason'   => 'Your IP address is listed as an open proxy in the [http://www.sorbs.net SORBS] DNSBL.',
+'sorbs_create_account_reason' => 'Your IP address is listed as an open proxy in the [http://www.sorbs.net SORBS] DNSBL. You cannot create an account',
+
+
+# Developer tools
+#
+'lockdb'               => 'Lock database',
+'unlockdb'             => 'Unlock database',
+'lockdbtext'   => 'Locking the database will suspend the ability of all
+users to edit pages, change their preferences, edit their watchlists, and
+other things requiring changes in the database.
+Please confirm that this is what you intend to do, and that you will
+unlock the database when your maintenance is done.',
+'unlockdbtext' => 'Unlocking the database will restore the ability of all
+users to edit pages, change their preferences, edit their watchlists, and
+other things requiring changes in the database.
+Please confirm that this is what you intend to do.',
+'lockconfirm'  => 'Yes, I really want to lock the database.',
+'unlockconfirm'        => 'Yes, I really want to unlock the database.',
+'lockbtn'              => 'Lock database',
+'unlockbtn'            => 'Unlock database',
+'locknoconfirm' => 'You did not check the confirmation box.',
+'lockdbsuccesssub' => 'Database lock succeeded',
+'unlockdbsuccesssub' => 'Database lock removed',
+'lockdbsuccesstext' => 'The database has been locked.
+<br />Remember to [[Special:Unlockdb|remove the lock]] after your maintenance is complete.',
+'unlockdbsuccesstext' => 'The database has been unlocked.',
+'lockfilenotwritable' => 'The database lock file is not writable. To lock or unlock the database, this needs to be writable by the web server.',
+'databasenotlocked' => 'The database is not locked.',
+
+# Make sysop
+'makesysoptitle'       => 'Make a user into a sysop',
+'makesysoptext'                => 'This form is used by bureaucrats to turn ordinary users into administrators.
+Type the name of the user in the box and press the button to make the user an administrator',
+'makesysopname'                => 'Name of the user:',
+'makesysopsubmit'      => 'Make this user into a sysop',
+'makesysopok'          => "<b>User \"$1\" is now a sysop</b>",
+'makesysopfail'                => "<b>User \"$1\" could not be made into a sysop. (Did you enter the name correctly?)</b>",
+'setbureaucratflag' => 'Set bureaucrat flag',
+'setstewardflag'    => 'Set steward flag',
+'rightslog'            => 'User rights log',
+'rightslogtext'                => 'This is a log of changes to user rights.',
+'rightslogentry'       => 'changed group membership for $1 from $2 to $3',
+'rights'                       => 'Rights:',
+'set_user_rights'      => 'Set user rights',
+'user_rights_set'      => "<b>User rights for \"$1\" updated</b>",
+'set_rights_fail'      => "<b>User rights for \"$1\" could not be set. (Did you enter the name correctly?)</b>",
+'makesysop'         => 'Make a user into a sysop',
+'already_sysop'     => 'This user is already an administrator',
+'already_bureaucrat' => 'This user is already a bureaucrat',
+'already_steward'   => 'This user is already a steward',
+'rightsnone'           => '(none)',
+
+# Move page
+#
+'movepage'             => 'Move page',
+'movepagetext' => 'Using the form below will rename a page, moving all
+of its history to the new name.
+The old title will become a redirect page to the new title.
+Links to the old page title will not be changed; be sure to
+check for double or broken redirects.
+You are responsible for making sure that links continue to
+point where they are supposed to go.
+
+Note that the page will \'\'\'not\'\'\' be moved if there is already
+a page at the new title, unless it is empty or a redirect and has no
+past edit history. This means that you can rename a page back to where
+it was just renamed from if you make a mistake, and you cannot overwrite
+an existing page.
+
+<b>WARNING!</b>
+This can be a drastic and unexpected change for a popular page;
+please be sure you understand the consequences of this before
+proceeding.',
+'movepagetalktext' => 'The associated talk page will be automatically moved along with it \'\'\'unless:\'\'\'
+*A non-empty talk page already exists under the new name, or
+*You uncheck the box below.
+
+In those cases, you will have to move or merge the page manually if desired.',
+'movearticle'  => 'Move page',
+'movenologin'  => 'Not logged in',
+'movenologintext' => "You must be a registered user and [[Special:Userlogin|logged in]]
+to move a page.",
+'newtitle'             => 'To new title',
+'movepagebtn'  => 'Move page',
+'pagemovedsub' => 'Move succeeded',
+'pagemovedtext' => "Page \"[[$1]]\" moved to \"[[$2]]\".",
+'articleexists' => 'A page of that name already exists, or the
+name you have chosen is not valid.
+Please choose another name.',
+'talkexists'   => "'''The page itself was moved successfully, but the talk page could not be moved because one already exists at the new title. Please merge them manually.'''",
+'movedto'              => 'moved to',
+'movetalk'             => 'Move associated talk page',
+'talkpagemoved' => 'The corresponding talk page was also moved.',
+'talkpagenotmoved' => 'The corresponding talk page was <strong>not</strong> moved.',
+'1movedto2'            => '[[$1]] moved to [[$2]]',
+'1movedto2_redir' => '[[$1]] moved to [[$2]] over redirect',
+'movelogpage' => 'Move log',
+'movelogpagetext' => 'Below is a list of page moved.',
+'movereason'   => 'Reason',
+'revertmove'   => 'revert',
+'delete_and_move' => 'Delete and move',
+'delete_and_move_text' =>
+'==Deletion required==
+
+The destination article "[[$1]]" already exists. Do you want to delete it to make way for the move?',
+'delete_and_move_confirm' => 'Yes, delete the page',
+'delete_and_move_reason' => 'Deleted to make way for move',
+'selfmove' => "Source and destination titles are the same; can't move a page over itself.",
+'immobile_namespace' => "Destination title is of a special type; cannot move pages into that namespace.",
+
+# Export
+
+'export'               => 'Export pages',
+'exporttext'   => 'You can export the text and editing history of a particular page or
+set of pages wrapped in some XML. This can be imported into another wiki using MediaWiki
+via the Special:Import page.
+
+To export pages, enter the titles in the text box below, one title per line, and
+select whether you want the current version as well as all old versions, with the page
+history lines, or just the current version with the info about the last edit.
+
+In the latter case you can also use a link, e.g. [[{{ns:Special}}:Export/{{int:mainpage}}]] for the page {{int:mainpage}}.',
+'exportcuronly'        => 'Include only the current revision, not the full history',
+'exportnohistory' => "----
+'''Note:''' Exporting the full history of pages through this form has been disabled due to performance reasons.",
+'export-submit' => 'Export',
+
+# Namespace 8 related
+
+'allmessages'  => 'System messages',
+'allmessagesname' => 'Name',
+'allmessagesdefault' => 'Default text',
+'allmessagescurrent' => 'Current text',
+'allmessagestext'      => 'This is a list of system messages available in the MediaWiki namespace.',
+'allmessagesnotsupportedUI' => 'Your current interface language <b>$1</b> is not supported by Special:Allmessages at this site.',
+'allmessagesnotsupportedDB' => '\'\'\'Special:Allmessages\'\'\' cannot be used because \'\'\'$wgUseDatabaseMessages\'\'\' is switched off.',
+'allmessagesfilter' => 'Message name filter:',
+'allmessagesmodified' => 'Show only modified',
+
+
+# Thumbnails
+
+'thumbnail-more'       => 'Enlarge',
+'missingimage'         => '<b>Missing image</b><br /><i>$1</i>',
+'filemissing'          => 'File missing',
+'thumbnail_error'   => 'Error creating thumbnail: $1',
+
+# Special:Import
+'import'       => 'Import pages',
+'importinterwiki' => 'Transwiki import',
+'import-interwiki-text' => 'Select a wiki and page title to import.
+Revision dates and editors\' names will be preserved.
+All transwiki import actions are logged at the [[Special:Log/import|import log]].',
+'import-interwiki-history' => 'Copy all history versions for this page',
+'import-interwiki-submit' => 'Import',
+'import-interwiki-namespace' => 'Transfer pages into namespace:',
+'importtext'   => 'Please export the file from the source wiki using the Special:Export utility, save it to your disk and upload it here.',
+'importstart'  => "Importing pages...",
+'import-revision-count' => '$1 {{PLURAL:$1|revision|revisions}}',
+'importnopages'        => "No pages to import.",
+'importfailed' => "Import failed: $1",
+'importunknownsource'  => "Unknown import source type",
+'importcantopen'       => "Couldn't open import file",
+'importbadinterwiki'   => "Bad interwiki link",
+'importnotext' => 'Empty or no text',
+'importsuccess'        => 'Import succeeded!',
+'importhistoryconflict' => 'Conflicting history revision exists (may have imported this page before)',
+'importnosources' => 'No transwiki import sources have been defined and direct history uploads are disabled.',
+'importnofile' => 'No import file was uploaded.',
+'importuploaderror' => 'Upload of import file failed; perhaps the file is bigger than the allowed upload size.',
+
+# import log
+'importlogpage' => 'Import log',
+'importlogpagetext' => 'Administrative imports of pages with edit history from other wikis.',
+'import-logentry-upload' => 'imported $1 by file upload',
+'import-logentry-upload-detail' => '$1 revision(s)',
+'import-logentry-interwiki' => 'transwikied $1',
+'import-logentry-interwiki-detail' => '$1 revision(s) from $2',
+
+
+# Keyboard access keys for power users
+'accesskey-search' => 'f',
+'accesskey-minoredit' => 'i',
+'accesskey-save' => 's',
+'accesskey-preview' => 'p',
+'accesskey-diff' => 'v',
+'accesskey-compareselectedversions' => 'v',
+'accesskey-watch' => 'w',
+
+# tooltip help for some actions, most are in Monobook.js
+'tooltip-search' => 'Search {{SITENAME}} [alt-f]',
+'tooltip-minoredit' => 'Mark this as a minor edit [alt-i]',
+'tooltip-save' => 'Save your changes [alt-s]',
+'tooltip-preview' => 'Preview your changes, please use this before saving! [alt-p]',
+'tooltip-diff' => 'Show which changes you made to the text. [alt-v]',
+'tooltip-compareselectedversions' => 'See the differences between the two selected versions of this page. [alt-v]',
+'tooltip-watch' => 'Add this page to your watchlist [alt-w]',
+
+# stylesheets
+'Common.css' => '/** CSS placed here will be applied to all skins */',
+'Monobook.css' => '/* CSS placed here will affect users of the Monobook skin */',
+
+# Metadata
+'nodublincore' => 'Dublin Core RDF metadata disabled for this server.',
+'nocreativecommons' => 'Creative Commons RDF metadata disabled for this server.',
+'notacceptable' => 'The wiki server can\'t provide data in a format your client can read.',
+
+# Attribution
+
+'anonymous' => 'Anonymous user(s) of {{SITENAME}}',
+'siteuser' => '{{SITENAME}} user $1',
+'lastmodifiedby' => 'This page was last modified $1 by $2.',
+'and' => 'and',
+'othercontribs' => 'Based on work by $1.',
+'others' => 'others',
+'siteusers' => '{{SITENAME}} user(s) $1',
+'creditspage' => 'Page credits',
+'nocredits' => 'There is no credits info available for this page.',
+
+# Spam protection
+
+'spamprotectiontitle' => 'Spam protection filter',
+'spamprotectiontext' => 'The page you wanted to save was blocked by the spam filter. This is probably caused by a link to an external site.',
+'spamprotectionmatch' => 'The following text is what triggered our spam filter: $1',
+'subcategorycount' => "There {{PLURAL:$1|is one subcategory|are $1 subcategories}} to this category.",
+'categoryarticlecount' => "There {{PLURAL:$1|is one article|are $1 articles}} in this category.",
+'listingcontinuesabbrev' => " cont.",
+'spambot_username' => 'MediaWiki spam cleanup',
+'spam_reverting' => 'Reverting to last version not containing links to $1',
+'spam_blanking' => 'All revisions contained links to $1, blanking',
+
+# Info page
+'infosubtitle' => 'Information for page',
+'numedits' => 'Number of edits (article): $1',
+'numtalkedits' => 'Number of edits (discussion page): $1',
+'numwatchers' => 'Number of watchers: $1',
+'numauthors' => 'Number of distinct authors (article): $1',
+'numtalkauthors' => 'Number of distinct authors (discussion page): $1',
+
+# Math options
+'mw_math_png' => 'Always render PNG',
+'mw_math_simple' => 'HTML if very simple or else PNG',
+'mw_math_html' => 'HTML if possible or else PNG',
+'mw_math_source' => 'Leave it as TeX (for text browsers)',
+'mw_math_modern' => 'Recommended for modern browsers',
+'mw_math_mathml' => 'MathML if possible (experimental)',
+
+# Patrolling
+'markaspatrolleddiff'   => "Mark as patrolled",
+'markaspatrolledlink'   => "[$1]",
+'markaspatrolledtext'   => "Mark this article as patrolled",
+'markedaspatrolled'     => "Marked as patrolled",
+'markedaspatrolledtext' => "The selected revision has been marked as patrolled.",
+'rcpatroldisabled'      => "Recent Changes Patrol disabled",
+'rcpatroldisabledtext'  => "The Recent Changes Patrol feature is currently disabled.",
+'markedaspatrollederror'  => "Cannot mark as patrolled",
+'markedaspatrollederrortext' => "You need to specify a revision to mark as patrolled.",
+
+# Monobook.js: tooltips and access keys for monobook
+'Monobook.js' => '/* tooltips and access keys */
+var ta = new Object();
+ta[\'pt-userpage\'] = new Array(\'.\',\'My user page\');
+ta[\'pt-anonuserpage\'] = new Array(\'.\',\'The user page for the ip you\\\'re editing as\');
+ta[\'pt-mytalk\'] = new Array(\'n\',\'My talk page\');
+ta[\'pt-anontalk\'] = new Array(\'n\',\'Discussion about edits from this ip address\');
+ta[\'pt-preferences\'] = new Array(\'\',\'My preferences\');
+ta[\'pt-watchlist\'] = new Array(\'l\',\'The list of pages you\\\'re monitoring for changes.\');
+ta[\'pt-mycontris\'] = new Array(\'y\',\'List of my contributions\');
+ta[\'pt-login\'] = new Array(\'o\',\'You are encouraged to log in, it is not mandatory however.\');
+ta[\'pt-anonlogin\'] = new Array(\'o\',\'You are encouraged to log in, it is not mandatory however.\');
+ta[\'pt-logout\'] = new Array(\'o\',\'Log out\');
+ta[\'ca-talk\'] = new Array(\'t\',\'Discussion about the content page\');
+ta[\'ca-edit\'] = new Array(\'e\',\'You can edit this page. Please use the preview button before saving.\');
+ta[\'ca-addsection\'] = new Array(\'+\',\'Add a comment to this discussion.\');
+ta[\'ca-viewsource\'] = new Array(\'e\',\'This page is protected. You can view its source.\');
+ta[\'ca-history\'] = new Array(\'h\',\'Past versions of this page.\');
+ta[\'ca-protect\'] = new Array(\'=\',\'Protect this page\');
+ta[\'ca-delete\'] = new Array(\'d\',\'Delete this page\');
+ta[\'ca-undelete\'] = new Array(\'d\',\'Restore the edits done to this page before it was deleted\');
+ta[\'ca-move\'] = new Array(\'m\',\'Move this page\');
+ta[\'ca-watch\'] = new Array(\'w\',\'Add this page to your watchlist\');
+ta[\'ca-unwatch\'] = new Array(\'w\',\'Remove this page from your watchlist\');
+ta[\'search\'] = new Array(\'f\',\'Search this wiki\');
+ta[\'p-logo\'] = new Array(\'\',\'Main Page\');
+ta[\'n-mainpage\'] = new Array(\'z\',\'Visit the Main Page\');
+ta[\'n-portal\'] = new Array(\'\',\'About the project, what you can do, where to find things\');
+ta[\'n-currentevents\'] = new Array(\'\',\'Find background information on current events\');
+ta[\'n-recentchanges\'] = new Array(\'r\',\'The list of recent changes in the wiki.\');
+ta[\'n-randompage\'] = new Array(\'x\',\'Load a random page\');
+ta[\'n-help\'] = new Array(\'\',\'The place to find out.\');
+ta[\'n-sitesupport\'] = new Array(\'\',\'Support us\');
+ta[\'t-whatlinkshere\'] = new Array(\'j\',\'List of all wiki pages that link here\');
+ta[\'t-recentchangeslinked\'] = new Array(\'k\',\'Recent changes in pages linked from this page\');
+ta[\'feed-rss\'] = new Array(\'\',\'RSS feed for this page\');
+ta[\'feed-atom\'] = new Array(\'\',\'Atom feed for this page\');
+ta[\'t-contributions\'] = new Array(\'\',\'View the list of contributions of this user\');
+ta[\'t-emailuser\'] = new Array(\'\',\'Send a mail to this user\');
+ta[\'t-upload\'] = new Array(\'u\',\'Upload images or media files\');
+ta[\'t-specialpages\'] = new Array(\'q\',\'List of all special pages\');
+ta[\'ca-nstab-main\'] = new Array(\'c\',\'View the content page\');
+ta[\'ca-nstab-user\'] = new Array(\'c\',\'View the user page\');
+ta[\'ca-nstab-media\'] = new Array(\'c\',\'View the media page\');
+ta[\'ca-nstab-special\'] = new Array(\'\',\'This is a special page, you can\\\'t edit the page itself.\');
+ta[\'ca-nstab-project\'] = new Array(\'a\',\'View the project page\');
+ta[\'ca-nstab-image\'] = new Array(\'c\',\'View the image page\');
+ta[\'ca-nstab-mediawiki\'] = new Array(\'c\',\'View the system message\');
+ta[\'ca-nstab-template\'] = new Array(\'c\',\'View the template\');
+ta[\'ca-nstab-help\'] = new Array(\'c\',\'View the help page\');
+ta[\'ca-nstab-category\'] = new Array(\'c\',\'View the category page\');',
+
+# image deletion
+'deletedrevision' => 'Deleted old revision $1.',
+
+# browsing diffs
+'previousdiff' => '← Previous diff',
+'nextdiff' => 'Next diff →',
+
+'imagemaxsize' => 'Limit images on image description pages to:',
+'thumbsize'    => 'Thumbnail size:',
+'showbigimage' => 'Download high resolution version ($1x$2, $3 KB)',
+
+'newimages' => 'Gallery of new files',
+'showhidebots' => '($1 bots)',
+'noimages'  => 'Nothing to see.',
+
+# short names for language variants used for language conversion links.
+# to disable showing a particular link, set it to 'disable', e.g.
+# 'variantname-zh-sg' => 'disable',
+'variantname-zh-cn' => 'cn',
+'variantname-zh-tw' => 'tw',
+'variantname-zh-hk' => 'hk',
+'variantname-zh-sg' => 'sg',
+'variantname-zh' => 'zh',
+# variants for Serbian language
+'variantname-sr-ec' => 'sr-ec',
+'variantname-sr-el' => 'sr-el',
+'variantname-sr-jc' => 'sr-jc',
+'variantname-sr-jl' => 'sr-jl',
+'variantname-sr' => 'sr',
+
+# labels for User: and Title: on Special:Log pages
+'specialloguserlabel' => 'User:',
+'speciallogtitlelabel' => 'Title:',
+
+'passwordtooshort' => 'Your password is too short. It must have at least $1 characters.',
+
+# Media Warning
+'mediawarning' => '\'\'\'Warning\'\'\': This file may contain malicious code, by executing it your system may be compromised.<hr />',
+
+'fileinfo' => '$1KB, MIME type: <code>$2</code>',
+
+# Metadata
+'metadata' => 'Metadata',
+'metadata-help' => 'This file contains additional information, probably added from the digital camera or scanner used to create or digitize it. If the file has been modified from its original state, some details may not fully reflect the modified image.',
+'metadata-expand' => 'Show extended details',
+'metadata-collapse' => 'Hide extended details',
+'metadata-fields' => 'EXIF metadata fields listed in this message will
+be included on image page display when the metadata table
+is collapsed. Others will be hidden by default.
+* make
+* model
+* datetimeoriginal
+* exposuretime
+* fnumber
+* focallength',
+
+# Exif tags
+'exif-imagewidth' =>'Width',
+'exif-imagelength' =>'Height',
+'exif-bitspersample' =>'Bits per component',
+'exif-compression' =>'Compression scheme',
+'exif-photometricinterpretation' =>'Pixel composition',
+'exif-orientation' =>'Orientation',
+'exif-samplesperpixel' =>'Number of components',
+'exif-planarconfiguration' =>'Data arrangement',
+'exif-ycbcrsubsampling' =>'Subsampling ratio of Y to C',
+'exif-ycbcrpositioning' =>'Y and C positioning',
+'exif-xresolution' =>'Horizontal resolution',
+'exif-yresolution' =>'Vertical resolution',
+'exif-resolutionunit' =>'Unit of X and Y resolution',
+'exif-stripoffsets' =>'Image data location',
+'exif-rowsperstrip' =>'Number of rows per strip',
+'exif-stripbytecounts' =>'Bytes per compressed strip',
+'exif-jpeginterchangeformat' =>'Offset to JPEG SOI',
+'exif-jpeginterchangeformatlength' =>'Bytes of JPEG data',
+'exif-transferfunction' =>'Transfer function',
+'exif-whitepoint' =>'White point chromaticity',
+'exif-primarychromaticities' =>'Chromaticities of primarities',
+'exif-ycbcrcoefficients' =>'Color space transformation matrix coefficients',
+'exif-referenceblackwhite' =>'Pair of black and white reference values',
+'exif-datetime' =>'File change date and time',
+'exif-imagedescription' =>'Image title',
+'exif-make' =>'Camera manufacturer',
+'exif-model' =>'Camera model',
+'exif-software' =>'Software used',
+'exif-artist' =>'Author',
+'exif-copyright' =>'Copyright holder',
+'exif-exifversion' =>'Exif version',
+'exif-flashpixversion' =>'Supported Flashpix version',
+'exif-colorspace' =>'Color space',
+'exif-componentsconfiguration' =>'Meaning of each component',
+'exif-compressedbitsperpixel' =>'Image compression mode',
+'exif-pixelydimension' =>'Valid image width',
+'exif-pixelxdimension' =>'Valid image height',
+'exif-makernote' =>'Manufacturer notes',
+'exif-usercomment' =>'User comments',
+'exif-relatedsoundfile' =>'Related audio file',
+'exif-datetimeoriginal' =>'Date and time of data generation',
+'exif-datetimedigitized' =>'Date and time of digitizing',
+'exif-subsectime' =>'DateTime subseconds',
+'exif-subsectimeoriginal' =>'DateTimeOriginal subseconds',
+'exif-subsectimedigitized' =>'DateTimeDigitized subseconds',
+'exif-exposuretime' =>'Exposure time',
+'exif-exposuretime-format' => '$1 sec ($2)',
+'exif-fnumber' =>'F Number',
+'exif-fnumber-format' =>'f/$1',
+'exif-exposureprogram' =>'Exposure Program',
+'exif-spectralsensitivity' =>'Spectral sensitivity',
+'exif-isospeedratings' =>'ISO speed rating',
+'exif-oecf' =>'Optoelectronic conversion factor',
+'exif-shutterspeedvalue' =>'Shutter speed',
+'exif-aperturevalue' =>'Aperture',
+'exif-brightnessvalue' =>'Brightness',
+'exif-exposurebiasvalue' =>'Exposure bias',
+'exif-maxaperturevalue' =>'Maximum land aperture',
+'exif-subjectdistance' =>'Subject distance',
+'exif-meteringmode' =>'Metering mode',
+'exif-lightsource' =>'Light source',
+'exif-flash' =>'Flash',
+'exif-focallength' =>'Lens focal length',
+'exif-focallength-format' =>'$1 mm',
+'exif-subjectarea' =>'Subject area',
+'exif-flashenergy' =>'Flash energy',
+'exif-spatialfrequencyresponse' =>'Spatial frequency response',
+'exif-focalplanexresolution' =>'Focal plane X resolution',
+'exif-focalplaneyresolution' =>'Focal plane Y resolution',
+'exif-focalplaneresolutionunit' =>'Focal plane resolution unit',
+'exif-subjectlocation' =>'Subject location',
+'exif-exposureindex' =>'Exposure index',
+'exif-sensingmethod' =>'Sensing method',
+'exif-filesource' =>'File source',
+'exif-scenetype' =>'Scene type',
+'exif-cfapattern' =>'CFA pattern',
+'exif-customrendered' =>'Custom image processing',
+'exif-exposuremode' =>'Exposure mode',
+'exif-whitebalance' =>'White Balance',
+'exif-digitalzoomratio' =>'Digital zoom ratio',
+'exif-focallengthin35mmfilm' =>'Focal length in 35 mm film',
+'exif-scenecapturetype' =>'Scene capture type',
+'exif-gaincontrol' =>'Scene control',
+'exif-contrast' =>'Contrast',
+'exif-saturation' =>'Saturation',
+'exif-sharpness' =>'Sharpness',
+'exif-devicesettingdescription' =>'Device settings description',
+'exif-subjectdistancerange' =>'Subject distance range',
+'exif-imageuniqueid' =>'Unique image ID',
+'exif-gpsversionid' =>'GPS tag version',
+'exif-gpslatituderef' =>'North or South Latitude',
+'exif-gpslatitude' =>'Latitude',
+'exif-gpslongituderef' =>'East or West Longitude',
+'exif-gpslongitude' =>'Longitude',
+'exif-gpsaltituderef' =>'Altitude reference',
+'exif-gpsaltitude' =>'Altitude',
+'exif-gpstimestamp' =>'GPS time (atomic clock)',
+'exif-gpssatellites' =>'Satellites used for measurement',
+'exif-gpsstatus' =>'Receiver status',
+'exif-gpsmeasuremode' =>'Measurement mode',
+'exif-gpsdop' =>'Measurement precision',
+'exif-gpsspeedref' =>'Speed unit',
+'exif-gpsspeed' =>'Speed of GPS receiver',
+'exif-gpstrackref' =>'Reference for direction of movement',
+'exif-gpstrack' =>'Direction of movement',
+'exif-gpsimgdirectionref' =>'Reference for direction of image',
+'exif-gpsimgdirection' =>'Direction of image',
+'exif-gpsmapdatum' =>'Geodetic survey data used',
+'exif-gpsdestlatituderef' =>'Reference for latitude of destination',
+'exif-gpsdestlatitude' =>'Latitude destination',
+'exif-gpsdestlongituderef' =>'Reference for longitude of destination',
+'exif-gpsdestlongitude' =>'Longitude of destination',
+'exif-gpsdestbearingref' =>'Reference for bearing of destination',
+'exif-gpsdestbearing' =>'Bearing of destination',
+'exif-gpsdestdistanceref' =>'Reference for distance to destination',
+'exif-gpsdestdistance' =>'Distance to destination',
+'exif-gpsprocessingmethod' =>'Name of GPS processing method',
+'exif-gpsareainformation' =>'Name of GPS area',
+'exif-gpsdatestamp' =>'GPS date',
+'exif-gpsdifferential' =>'GPS differential correction',
+
+# Make & model, can be wikified in order to link to the camera and model name
+
+'exif-make-value' => '$1',
+'exif-model-value' =>'$1',
+'exif-software-value' => '$1',
+
+# Exif attributes
+
+'exif-compression-1' => 'Uncompressed',
+'exif-compression-6' => 'JPEG',
+
+'exif-photometricinterpretation-2' => 'RGB',
+'exif-photometricinterpretation-6' => 'YCbCr',
+
+'exif-orientation-1' => 'Normal', // 0th row: top; 0th column: left
+'exif-orientation-2' => 'Flipped horizontally', // 0th row: top; 0th column: right
+'exif-orientation-3' => 'Rotated 180°', // 0th row: bottom; 0th column: right
+'exif-orientation-4' => 'Flipped vertically', // 0th row: bottom; 0th column: left
+'exif-orientation-5' => 'Rotated 90° CCW and flipped vertically', // 0th row: left; 0th column: top
+'exif-orientation-6' => 'Rotated 90° CW', // 0th row: right; 0th column: top
+'exif-orientation-7' => 'Rotated 90° CW and flipped vertically', // 0th row: right; 0th column: bottom
+'exif-orientation-8' => 'Rotated 90° CCW', // 0th row: left; 0th column: bottom
+
+'exif-planarconfiguration-1' => 'chunky format',
+'exif-planarconfiguration-2' => 'planar format',
+
+'exif-xyresolution-i' => '$1 dpi',
+'exif-xyresolution-c' => '$1 dpc',
+
+'exif-colorspace-1' => 'sRGB',
+'exif-colorspace-ffff.h' => 'FFFF.H',
+
+'exif-componentsconfiguration-0' => 'does not exist',
+'exif-componentsconfiguration-1' => 'Y',
+'exif-componentsconfiguration-2' => 'Cb',
+'exif-componentsconfiguration-3' => 'Cr',
+'exif-componentsconfiguration-4' => 'R',
+'exif-componentsconfiguration-5' => 'G',
+'exif-componentsconfiguration-6' => 'B',
+
+'exif-exposureprogram-0' => 'Not defined',
+'exif-exposureprogram-1' => 'Manual',
+'exif-exposureprogram-2' => 'Normal program',
+'exif-exposureprogram-3' => 'Aperture priority',
+'exif-exposureprogram-4' => 'Shutter priority',
+'exif-exposureprogram-5' => 'Creative program (biased toward depth of field)',
+'exif-exposureprogram-6' => 'Action program (biased toward fast shutter speed)',
+'exif-exposureprogram-7' => 'Portrait mode (for closeup photos with the background out of focus)',
+'exif-exposureprogram-8' => 'Landscape mode (for landscape photos with the background in focus)',
+
+'exif-subjectdistance-value' => '$1 metres',
+
+'exif-meteringmode-0' => 'Unknown',
+'exif-meteringmode-1' => 'Average',
+'exif-meteringmode-2' => 'CenterWeightedAverage',
+'exif-meteringmode-3' => 'Spot',
+'exif-meteringmode-4' => 'MultiSpot',
+'exif-meteringmode-5' => 'Pattern',
+'exif-meteringmode-6' => 'Partial',
+'exif-meteringmode-255' => 'Other',
+
+'exif-lightsource-0' => 'Unknown',
+'exif-lightsource-1' => 'Daylight',
+'exif-lightsource-2' => 'Fluorescent',
+'exif-lightsource-3' => 'Tungsten (incandescent light)',
+'exif-lightsource-4' => 'Flash',
+'exif-lightsource-9' => 'Fine weather',
+'exif-lightsource-10' => 'Cloudy weather',
+'exif-lightsource-11' => 'Shade',
+'exif-lightsource-12' => 'Daylight fluorescent (D 5700 – 7100K)',
+'exif-lightsource-13' => 'Day white fluorescent (N 4600 – 5400K)',
+'exif-lightsource-14' => 'Cool white fluorescent (W 3900 – 4500K)',
+'exif-lightsource-15' => 'White fluorescent (WW 3200 – 3700K)',
+'exif-lightsource-17' => 'Standard light A',
+'exif-lightsource-18' => 'Standard light B',
+'exif-lightsource-19' => 'Standard light C',
+'exif-lightsource-20' => 'D55',
+'exif-lightsource-21' => 'D65',
+'exif-lightsource-22' => 'D75',
+'exif-lightsource-23' => 'D50',
+'exif-lightsource-24' => 'ISO studio tungsten',
+'exif-lightsource-255' => 'Other light source',
+
+'exif-focalplaneresolutionunit-2' => 'inches',
+
+'exif-sensingmethod-1' => 'Undefined',
+'exif-sensingmethod-2' => 'One-chip color area sensor',
+'exif-sensingmethod-3' => 'Two-chip color area sensor',
+'exif-sensingmethod-4' => 'Three-chip color area sensor',
+'exif-sensingmethod-5' => 'Color sequential area sensor',
+'exif-sensingmethod-7' => 'Trilinear sensor',
+'exif-sensingmethod-8' => 'Color sequential linear sensor',
+
+'exif-filesource-3' => 'DSC',
+
+'exif-scenetype-1' => 'A directly photographed image',
+
+'exif-customrendered-0' => 'Normal process',
+'exif-customrendered-1' => 'Custom process',
+
+'exif-exposuremode-0' => 'Auto exposure',
+'exif-exposuremode-1' => 'Manual exposure',
+'exif-exposuremode-2' => 'Auto bracket',
+
+'exif-whitebalance-0' => 'Auto white balance',
+'exif-whitebalance-1' => 'Manual white balance',
+
+'exif-scenecapturetype-0' => 'Standard',
+'exif-scenecapturetype-1' => 'Landscape',
+'exif-scenecapturetype-2' => 'Portrait',
+'exif-scenecapturetype-3' => 'Night scene',
+
+'exif-gaincontrol-0' => 'None',
+'exif-gaincontrol-1' => 'Low gain up',
+'exif-gaincontrol-2' => 'High gain up',
+'exif-gaincontrol-3' => 'Low gain down',
+'exif-gaincontrol-4' => 'High gain down',
+
+'exif-contrast-0' => 'Normal',
+'exif-contrast-1' => 'Soft',
+'exif-contrast-2' => 'Hard',
+
+'exif-saturation-0' => 'Normal',
+'exif-saturation-1' => 'Low saturation',
+'exif-saturation-2' => 'High saturation',
+
+'exif-sharpness-0' => 'Normal',
+'exif-sharpness-1' => 'Soft',
+'exif-sharpness-2' => 'Hard',
+
+'exif-subjectdistancerange-0' => 'Unknown',
+'exif-subjectdistancerange-1' => 'Macro',
+'exif-subjectdistancerange-2' => 'Close view',
+'exif-subjectdistancerange-3' => 'Distant view',
+
+// Pseudotags used for GPSLatitudeRef and GPSDestLatitudeRef
+'exif-gpslatitude-n' => 'North latitude',
+'exif-gpslatitude-s' => 'South latitude',
+
+// Pseudotags used for GPSLongitudeRef and GPSDestLongitudeRef
+'exif-gpslongitude-e' => 'East longitude',
+'exif-gpslongitude-w' => 'West longitude',
+
+'exif-gpsstatus-a' => 'Measurement in progress',
+'exif-gpsstatus-v' => 'Measurement interoperability',
+
+'exif-gpsmeasuremode-2' => '2-dimensional measurement',
+'exif-gpsmeasuremode-3' => '3-dimensional measurement',
+
+// Pseudotags used for GPSSpeedRef and GPSDestDistanceRef
+'exif-gpsspeed-k' => 'Kilometres per hour',
+'exif-gpsspeed-m' => 'Miles per hour',
+'exif-gpsspeed-n' => 'Knots',
+
+// Pseudotags used for GPSTrackRef, GPSImgDirectionRef and GPSDestBearingRef
+'exif-gpsdirection-t' => 'True direction',
+'exif-gpsdirection-m' => 'Magnetic direction',
+
+# external editor support
+'edit-externally' => 'Edit this file using an external application',
+'edit-externally-help' => 'See the [http://meta.wikimedia.org/wiki/Help:External_editors setup instructions] for more information.',
+
+# 'all' in various places, this might be different for inflected languages
+'recentchangesall' => 'all',
+'imagelistall' => 'all',
+'watchlistall1' => 'all',
+'watchlistall2' => 'all',
+'namespacesall' => 'all',
+
+# E-mail address confirmation
+'confirmemail' => 'Confirm E-mail address',
+'confirmemail_text' => "This wiki requires that you validate your e-mail address
+before using e-mail features. Activate the button below to send a confirmation
+mail to your address. The mail will include a link containing a code; load the
+link in your browser to confirm that your e-mail address is valid.",
+'confirmemail_send' => 'Mail a confirmation code',
+'confirmemail_sent' => 'Confirmation e-mail sent.',
+'confirmemail_sendfailed' => 'Could not send confirmation mail. Check address for invalid characters.',
+'confirmemail_invalid' => 'Invalid confirmation code. The code may have expired.',
+'confirmemail_needlogin' => 'You need to $1 to confirm your email address.',
+'confirmemail_success' => 'Your e-mail address has been confirmed. You may now log in and enjoy the wiki.',
+'confirmemail_loggedin' => 'Your e-mail address has now been confirmed.',
+'confirmemail_error' => 'Something went wrong saving your confirmation.',
+
+'confirmemail_subject' => '{{SITENAME}} e-mail address confirmation',
+'confirmemail_body' => "Someone, probably you from IP address $1, has registered an
+account \"$2\" with this e-mail address on {{SITENAME}}.
+
+To confirm that this account really does belong to you and activate
+e-mail features on {{SITENAME}}, open this link in your browser:
+
+$3
+
+If this is *not* you, don't follow the link. This confirmation code
+will expire at $4.",
+
+# Inputbox extension, may be useful in other contexts as well
+'tryexact' => 'Try exact match',
+'searchfulltext' => 'Search full text',
+'createarticle' => 'Create article',
+
+# Scary transclusion
+'scarytranscludedisabled' => '[Interwiki transcluding is disabled]',
+'scarytranscludefailed' => '[Template fetch failed for $1; sorry]',
+'scarytranscludetoolong' => '[URL is too long; sorry]',
+
+# Trackbacks
+'trackbackbox' => '<div id="mw_trackbacks">
+Trackbacks for this article:<br />
+$1
+</div>',
+'trackback' => '; $4$5 : [$2 $1]',
+'trackbackexcerpt' => '; $4$5 : [$2 $1]: <nowiki>$3</nowiki>',
+'trackbackremove' => ' ([$1 Delete])',
+'trackbacklink' => 'Trackback',
+'trackbackdeleteok' => 'The trackback was successfully deleted.',
+
+
+# delete conflict
+
+'deletedwhileediting' => 'Warning: This page has been deleted after you started editing!',
+'confirmrecreate' => 'User [[User:$1|$1]] ([[User talk:$1|talk]]) deleted this page after you started editing with reason:
+: \'\'$2\'\'
+Please confirm that really want to recreate this page.',
+'recreate' => 'Recreate',
+'tooltip-recreate' => 'Recreate the page despite it has been deleted',
+
+'unit-pixel' => 'px',
+
+# HTML dump
+'redirectingto' => 'Redirecting to [[$1]]...',
+
+# action=purge
+'confirm_purge' => "Clear the cache of this page?\n\n$1",
+'confirm_purge_button' => 'OK',
+
+'youhavenewmessagesmulti' => "You have new messages on $1",
+'newtalkseperator' => ',_',
+'searchcontaining' => "Search for articles containing ''$1''.",
+'searchnamed' => "Search for articles named ''$1''.",
+'articletitles' => "Articles starting with ''$1''",
+'hideresults' => 'Hide results',
+
+# DISPLAYTITLE
+'displaytitle' => '(Link to this page as [[$1]])',
+
+# Separator for categories in page lists
+# Please don't localise this
+'catseparator' => '|',
+
+'loginlanguagelabel' => 'Language: $1',
+
+# Don't duplicate this in translations; defaults should remain consistent
+'loginlanguagelinks' => "* Deutsch|de
+* English|en
+* Esperanto|eo
+* Français|fr
+* Español|es
+* Italiano|it
+* Nederlands|nl",
+
+);
+
+?>
diff --git a/languages/MessagesEnRTL.php b/languages/MessagesEnRTL.php
new file mode 100644 (file)
index 0000000..9b557cd
--- /dev/null
@@ -0,0 +1,5 @@
+<?php
+
+$rtl = true;
+
+?>
index f8ed592..8d85d27 100644 (file)
@@ -1,7 +1,50 @@
 <?php
+$namespaceNames = array(
+       NS_MEDIA          => 'Media',
+       NS_SPECIAL        => 'Speciala',
+       NS_MAIN           => '',
+       NS_TALK           => 'Diskuto',
+       NS_USER           => 'Vikipediisto', # FIXME: Generalize v-isto kaj v-io
+       NS_USER_TALK      => 'Vikipediista_diskuto',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK   => '$1_diskuto',
+       NS_IMAGE          => 'Dosiero', #FIXME: Check the magic for Image: and Media:
+       NS_IMAGE_TALK     => 'Dosiera_diskuto',
+       NS_MEDIAWIKI      => 'MediaWiki',
+       NS_MEDIAWIKI_TALK => 'MediaWiki_diskuto',
+       NS_TEMPLATE       => 'Ŝablono',
+       NS_TEMPLATE_TALK  => 'Ŝablona_diskuto',
+       NS_HELP           => 'Helpo',
+       NS_HELP_TALK      => 'Helpa_diskuto',
+       NS_CATEGORY       => 'Kategorio',
+       NS_CATEGORY_TALK  => 'Kategoria_diskuto',
+);
+
+$quickbarSettings =  array(
+       'Nenia', 'Fiksiĝas maldekstre', 'Fiksiĝas dekstre', 'Ŝvebas maldekstre'
+);
+
+$skinNames = array(
+       'standard' => 'Klasika',
+       'nostalgia' => 'Nostalgio',
+       'cologneblue' => 'Kolonja Bluo',
+       'mono' => 'Senkolora',
+       'monobook' => 'Librejo',
+       'chick' => 'Kokido',
+);
+
+$separatorTransformTable = array(',' => ' ', '.' => ',' );
+
+$datePreferences = false;
+$defaultDateFormat = 'dmy';
+$dateFormats = array(
+       'dmy time' => 'H:i',
+       'dmy date' => 'j. M Y',
+       'dmy both' => 'H:i, j. M Y',
+);
+
 
-global $wgAllMessagesEo;
-$wgAllMessagesEo = array(
+$messages = array(
 'tog-underline'         => 'Substreku ligilojn',
 'tog-highlightbroken'   => 'Ruĝigu ligilojn al neekzistantaj paĝoj',
 'tog-justify'           => 'Alkadrigu liniojn',
index 708cd5b..3627218 100644 (file)
@@ -1,7 +1,56 @@
 <?php
+/** Spanish (Español)
+  *
+  * @bug 4401
+  * @bug 4424
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
 
-global $wgAllMessagesEs;
-$wgAllMessagesEs = array(
+$quickbarSettings = array(
+       'Ninguna', 'Fija a la izquierda', 'Fija a la derecha', 'Flotante a la izquierda'
+);
+
+$skinNames = array(
+       'standard' => 'Estándar',
+);
+$namespaceNames = array(
+       NS_MEDIA          => 'Media',
+       NS_SPECIAL        => 'Especial',
+       NS_MAIN           => '',
+       NS_TALK           => 'Discusión',
+       NS_USER           => 'Usuario',
+       NS_USER_TALK      => 'Usuario_Discusión',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK   => '$1_Discusión',
+       NS_IMAGE          => 'Imagen',
+       NS_IMAGE_TALK     => 'Imagen_Discusión',
+       NS_MEDIAWIKI      => 'MediaWiki',
+       NS_MEDIAWIKI_TALK => 'MediaWiki_Discusión',
+       NS_TEMPLATE       => 'Plantilla',
+       NS_TEMPLATE_TALK  => 'Plantilla_Discusión',
+       NS_HELP           => 'Ayuda',
+       NS_HELP_TALK      => 'Ayuda_Discusión',
+       NS_CATEGORY       => 'Categoría',
+       NS_CATEGORY_TALK  => 'Categoría_Discusión',
+);
+
+$datePreferences = false;
+$defaultDateFormat = 'dmy';
+$dateFormats = array(
+       'dmy time' => 'H:i',
+       'dmy date' => 'j M Y',
+       'dmy both' => 'H:i j M Y',
+);
+
+$separatorTransformTable = array(',' => '.', '.' => ',' );
+$linkTrail = '/^([a-záéíóúñ]+)(.*)$/sDu';
+
+
+
+
+$messages = array(
 'tog-underline'         => 'Subrayar enlaces',
 'tog-highlightbroken'   => 'Destacar enlaces a artículos vacíos <a href="" class="new">como este</a> (alternativa: como éste<a href="" class="internal">?</a>).',
 'tog-justify'           => 'Ajustar párrafos',
index 715b0ee..33b2b22 100644 (file)
@@ -1,7 +1,102 @@
 <?php
 
-global $wgAllMessagesEt;
-$wgAllMessagesEt = array(
+/** Estonian (Eesti)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ *
+ */
+
+$namespaceNames = array(
+       NS_MEDIA            => 'Meedia',
+       NS_SPECIAL          => 'Eri',
+       NS_MAIN             => '',
+       NS_TALK             => 'Arutelu',
+       NS_USER             => 'Kasutaja',
+       NS_USER_TALK        => 'Kasutaja_arutelu',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => '$1_arutelu',
+       NS_IMAGE            => 'Pilt',
+       NS_IMAGE_TALK       => 'Pildi_arutelu',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'MediaWiki_arutelu',
+       NS_TEMPLATE         => 'Mall',
+       NS_TEMPLATE_TALK    => 'Malli_arutelu',
+       NS_HELP             => 'Juhend',
+       NS_HELP_TALK        => 'Juhendi_arutelu',
+       NS_CATEGORY         => 'Kategooria',
+       NS_CATEGORY_TALK    => 'Kategooria_arutelu'
+);
+
+$skinNames = array(
+       'standard' => 'Standard',
+       'nostalgia' => 'Nostalgia',
+       'cologneblue' => 'Kölni sinine',
+       'smarty' => 'Paddington',
+       'montparnasse' => 'Montparnasse',
+       'davinci' => 'DaVinci',
+       'mono' => 'Mono',
+       'monobook' => 'MonoBook',
+       'myskin' => 'Mu oma nahk'
+);
+
+$quickbarSettings = array(
+       'Ei_ole', 'Püsivalt_vasakul', 'Püsivalt paremal', 'Ujuvalt vasakul'
+);
+
+#Lisasin eestimaised poed, aga võõramaiseid ei julenud kustutada.
+
+$bookstoreList = array(
+       'Apollo' => 'http://www.apollo.ee/search.php?keyword=$1&search=OTSI',
+       'minu Raamat' => 'http://www.raamat.ee/advanced_search_result.php?keywords=$1',
+       'Raamatukoi' => 'http://www.raamatukoi.ee/cgi-bin/index?valik=otsing&paring=$1',
+       'AddALL' => 'http://www.addall.com/New/Partner.cgi?query=$1&type=ISBN',
+       'PriceSCAN' => 'http://www.pricescan.com/books/bookDetail.asp?isbn=$1',
+       'Barnes & Noble' => 'http://search.barnesandnoble.com/bookSearch/isbnInquiry.asp?isbn=$1',
+       'Amazon.com' => 'http://www.amazon.com/exec/obidos/ISBN=$1'
+);
+
+
+$magicWords = array(
+       #   ID                                 CASE  SYNONYMS
+       'redirect'               => array( 0,    '#redirect', "#suuna"    ),
+);
+
+$separatorTransformTable = array(',' => "\xc2\xa0", '.' => ',' );
+$linkTrail = "/^([a-z]+)(.*)\$/sD";
+
+$datePreferences = array(
+       'default',
+       'et numeric',
+       'dmy',
+       'et roman',
+       'ISO 8601'
+);
+
+$datePreferenceMigrationMap = array(
+       'default',
+       'et numeric',
+       'dmy',
+       'et roman',
+);
+
+$defaultDateFormat = 'dmy';
+
+$dateFormats = array(
+       'et numeric time' => 'H:i',
+       'et numeric date' => 'd.m.Y',
+       'et numeric both' => 'd.m.Y, "kell" H:i',
+
+       'dmy time' => 'H:i',
+       'dmy date' => 'j. F Y',
+       'dmy both' => 'j. F Y, "kell" H:i',
+
+       'et roman time' => 'H:i',
+       'et roman date' => 'j. xrm Y',
+       'et roman both' => 'j. xrm Y, "kell" H:i',
+);
+
+$messages = array(
 "tog-underline" => "Lingid alla kriipsutada",
 "tog-highlightbroken" => "Vorminda lingirikked<a href=\"\" class=\"new\">nii</a> (alternatiiv: nii<a href=\"\" class=\"internal\">?</a>).",
 "tog-justify" => "Lõikude rööpjoondus",
@@ -57,7 +152,6 @@ $wgAllMessagesEt = array(
 'subcategories' => 'Alamkategooriad',
 
 
-"linktrail"            => "/^([a-z]+)(.*)\$/sD",
 "mainpage"             => "Esileht",
 "mainpagetext" => "Wiki tarkvara installeeritud.",
 "mainpagedocfooter" => "Juhiste saamiseks kasutamise ning konfigureerimise kohta vaata palun inglisekeelset [http://meta.wikimedia.org/wiki/MediaWiki_i18n dokumentatsiooni liidese kohaldamisest]
index 2dbb29b..f9f5d8a 100644 (file)
@@ -1,7 +1,42 @@
 <?php
+/** Basque (Euskara)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ */
 
 
-/* private */ $wgAllMessagesEu = array(
+$quickbarSettings = array(
+       'Ezein ere', 'Eskuinean', 'Ezkerrean', 'Ezkerrean mugikor'
+);
+
+$skinNames = array(
+       'standard'     => 'Lehenetsia',
+       'nostalgia'    => 'Nostalgia',
+       'cologneblue'  => 'Cologne Blue',
+       'smarty'       => 'Paddington',
+       'montparnasse' => 'Montparnasse'
+);
+$namespaceNames = array(
+       NS_MEDIA          => 'Media',
+       NS_SPECIAL        => 'Aparteko',
+       NS_MAIN           => '',
+       NS_TALK           => 'Eztabaida',
+       NS_USER           => 'Lankide',
+       NS_USER_TALK      => 'Lankide_eztabaida',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK   => '$1_eztabaida',
+       NS_IMAGE          => 'Irudi',
+       NS_IMAGE_TALK     => 'Irudi_eztabaida',
+       NS_MEDIAWIKI      => 'MediaWiki',
+       NS_MEDIAWIKI_TALK => 'MediaWiki_eztabaida',
+       NS_TEMPLATE       => 'Txantiloi',
+       NS_TEMPLATE_TALK  => 'Txantiloi_eztabaida',
+       NS_CATEGORY       => 'Kategoria',
+       NS_CATEGORY_TALK  => 'Kategoria_eztabaida',
+);
+
+$messages = array(
 '1movedto2' => '$1 izenburua $2-en truke aldatu da.',
 'about' => 'buruz',
 'aboutpage' => '{{ns:project}}:{{SITENAME}}ri_buruz', // TODO: grammar
index 15fa59c..da77ae6 100644 (file)
@@ -1,7 +1,67 @@
 <?php
+/** Persian (فارسی)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
+$quickbarSettings = array(
+       'نباشد', 'ثابت چپ', 'ثابت راست', 'شناور چپ'
+);
+
+$skinNames = array(
+       'standard' => 'استاندارد',
+       'nostalgia' => 'نوستالژی',
+       'cologneblue' => 'آبی کلون',
+       'smarty' => 'پدینگتون',
+       'montparnasse' => 'مون‌پارناس',
+);
+$namespaceNames = array(
+       NS_MEDIA          => 'مدیا',
+       NS_SPECIAL        => 'ویژه',
+       NS_MAIN           => '',
+       NS_TALK           => 'بحث',
+       NS_USER           => 'کاربر',
+       NS_USER_TALK      => 'بحث_کاربر',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK   => 'بحث_$1',
+       NS_IMAGE          => 'تصویر',
+       NS_IMAGE_TALK     => 'بحث_تصویر',
+       NS_MEDIAWIKI      => 'مدیاویکی',
+       NS_MEDIAWIKI_TALK       => 'بحث_مدیاویکی',
+       NS_TEMPLATE       => 'الگو',
+       NS_TEMPLATE_TALK  => 'بحث_الگو',
+       NS_HELP           => 'راهنما',
+       NS_HELP_TALK      => 'بحث_راهنما',
+       NS_CATEGORY       => 'رده',
+       NS_CATEGORY_TALK  => 'بحث_رده'
+);
+
+$digitTransformTable = array(
+       "0" => "۰",
+       "1" => "۱",
+       "2" => "۲",
+       "3" => "۳",
+       "4" => "۴",
+       "5" => "۵",
+       "6" => "۶",
+       "7" => "۷",
+       "8" => "۸",
+       "9" => "۹",
+       "%" => "٪",
+       "." => "٫", // wrong table?
+       "," => "٬"
+);
+
+$rtl = true;
+$defaultUserOptionOverrides = array(
+       # Swap sidebar to right side by default
+       'quickbar' => 2,
+       # Underlines seriously harm legibility. Force off:
+       'underline' => 0,
+);
+$linkTrail = "/^([a-z]+)(.*)\$/sD"; /* This may need to be changed --RP */
 
-global $wgAllMessagesFa;
-$wgAllMessagesFa = array(
+$messages = array(
 # User toggles
 
 'tog-underline' => "زیر پیوندها خط کشیده شود",
@@ -62,7 +122,6 @@ $wgAllMessagesFa = array(
 'category_header' => "مقاله‌های رده‌ی «$1»",
 'subcategories' => "زیررده‌ها",
 
-'linktrail'            => "/^([a-z]+)(.*)\$/sD", /* This may need to be changed --RP */
 'mainpage'             => "صفحه‌ی اصلی",
 'mainpagetext' => "نرم‌افزار ویکی با موفقیت نصب شد.",
 'about'                        => "درباره",
index 1e3984c..5dfea22 100644 (file)
@@ -1,7 +1,83 @@
 <?php
+/** Finnish (Suomi)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ */
+
+$skinNames = array(
+       'standard'          => 'Perus',
+       'cologneblue'       => 'Kölnin sininen',
+       'myskin'            => 'Oma tyylisivu'
+);
+
+$quickbarSettings = array(
+       'Ei mitään', 'Tekstin mukana, vasen', 'Tekstin mukana, oikea', 'Pysyen vasemmalla', 'Pysyen oikealla'
+);
+
+$datePreferences = array(
+       'default',
+       'fi normal',
+       'fi seconds',
+       'fi numeric',
+);
+
+$dateFormats = array(
+       'fi normal time' => 'H.i',
+       'fi normal date' => 'j. F Y',
+       'fi normal both' => 'j. F Y "kello" H.i',
+
+       'fi seconds time' => 'H:i:s',
+       'fi seconds date' => 'j. F Y',
+       'fi seconds both' => 'j. F Y "kello" H:i:s',
+
+       'fi numeric time' => 'H.i',
+       'fi numeric date' => 'j.n.Y',
+       'fi numeric both' => 'j.n.Y "kello" H.i',
+);
+
+$datePreferenceMigrationMap = array(
+       'default',
+       'fi normal',
+       'fi seconds',
+       'fi numeric',
+);
+
+$bookstoreList = array(
+       'Bookplus'                      => 'http://www.bookplus.fi/product.php?isbn=$1',
+       'Helsingin yliopiston kirjasto' => 'http://pandora.lib.hel.fi/cgi-bin/mhask/monihask.py?volname=&author=&keyword=&ident=$1&submit=Hae&engine_helka=ON',
+       'Pääkaupunkiseudun kirjastot'   => 'http://www.helmet.fi/search*fin/i?SEARCH=$1',
+       'Tampereen seudun kirjastot'    => 'http://kirjasto.tampere.fi/Piki?formid=fullt&typ0=6&dat0=$1'
+);
+
+$namespaceNames = array(
+       NS_MEDIA            => 'Media',
+       NS_SPECIAL          => 'Toiminnot',
+       NS_MAIN             => '',
+       NS_TALK             => 'Keskustelu',
+       NS_USER             => 'Käyttäjä',
+       NS_USER_TALK        => 'Keskustelu_käyttäjästä',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => 'Keskustelu_{{grammar:elative|$1}}',
+       NS_IMAGE            => 'Kuva',
+       NS_IMAGE_TALK       => 'Keskustelu_kuvasta',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'MediaWiki_talk',
+       NS_TEMPLATE         => 'Malline',
+       NS_TEMPLATE_TALK    => 'Keskustelu_mallineesta',
+       NS_HELP             => 'Ohje',
+       NS_HELP_TALK        => 'Keskustelu_ohjeesta',
+       NS_CATEGORY         => 'Luokka',
+       NS_CATEGORY_TALK    => 'Keskustelu_luokasta'
+);
+
+
+$separatorTransformTable = array(',' => "\xc2\xa0", '.' => ',' );
+$linkTrail = '/^([a-zäö]+)(.*)$/sDu';
+
+
 
-global $wgAllMessagesFi;
-$wgAllMessagesFi = array(
+$messages = array(
 
 # User preference toggles
 'tog-underline'       => 'Alleviivaa linkit:',
index 66953ca..ad79464 100644 (file)
@@ -1,7 +1,55 @@
 <?php
+/** Faroese (Føroyskt)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
 
-global $wgAllMessagesFo;
-$wgAllMessagesFo = array(
+$quickbarSettings = array(
+       'Eingin', 'Fast vinstru', 'Fast høgru', 'Flótandi vinstru'
+);
+
+$skinNames = array(
+       'Standardur', 'Nostalgiskur', 'Cologne-bláur', 'Paddington', 'Montparnasse'
+);
+
+$bookstoreList = array(
+       'Bokasolan.fo' => 'http://www.bokasolan.fo/vleitari.asp?haattur=bok.alfa&Heiti=&Hovindur=&Forlag=&innbinding=Oell&bolkur=Allir&prisur=Allir&Aarstal=Oell&mal=Oell&status=Oell&ISBN=$1',
+       'inherit' => true,
+);
+
+$namespaceNames = array(
+       NS_MEDIA            => 'Miðil',
+       NS_SPECIAL          => 'Serstakur',
+       NS_MAIN             => '',
+       NS_TALK             => 'Kjak',
+       NS_USER             => 'Brúkari',
+       NS_USER_TALK        => 'Brúkari_kjak',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => '$1_kjak',
+       NS_IMAGE            => 'Mynd',
+       NS_IMAGE_TALK       => 'Mynd_kjak',
+       NS_MEDIAWIKI        => 'MidiaWiki',
+       NS_MEDIAWIKI_TALK   => 'MidiaWiki_kjak',
+       NS_TEMPLATE         => 'Fyrimynd',
+       NS_TEMPLATE_TALK    => 'Fyrimynd_kjak',
+       NS_HELP             => 'Hjálp',
+       NS_HELP_TALK        => 'Hjálp_kjak',
+       NS_CATEGORY         => 'Bólkur',
+       NS_CATEGORY_TALK    => 'Bólkur_kjak'
+);
+
+$datePreferences = false;
+$defaultDateFormat = 'dmy';
+$dateFormats = array(
+       'dmy time' => 'H:i',
+       'dmy date' => 'j. M Y',
+       'dmy both' => 'j. M Y "kl." H:i',
+);
+
+$linkTrail = '/^([áðíóúýæøa-z]+)(.*)$/sDu';
+
+$messages = array(
 
 # User toggles
 "tog-underline"           => "Undurstrika ávísingar",
@@ -63,7 +111,6 @@ $wgAllMessagesFo = array(
 'mw_math_modern' => "Tilmælt nýtíðarkagara",
 'mw_math_mathml' => 'MathML if possible (experimental)',
 
-'linktrail' => '/^([áðíóúýæøa-z]+)(.*)$/sDu',
 );
 
-?>
\ No newline at end of file
+?>
index 6045469..ffd88cb 100644 (file)
@@ -1,7 +1,65 @@
 <?php
+/** French (Français)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ *
+ */
+$quickbarSettings = array(
+       'Aucune', 'Gauche', 'Droite', 'Flottante à gauche'
+);
+
+$skinNames = array(
+       'standard'  => 'Standard',
+       'nostalgia' => 'Nostalgie',
+);
+
+$bookstoreList = array(
+       'Amazon.fr'    => 'http://www.amazon.fr/exec/obidos/ISBN=$1',
+       'alapage.fr'   => 'http://www.alapage.com/mx/?tp=F&type=101&l_isbn=$1&donnee_appel=ALASQ&devise=&',
+       'fnac.com'     => 'http://www3.fnac.com/advanced/book.do?isbn=$1',
+       'chapitre.com' => 'http://www.chapitre.com/frame_rec.asp?isbn=$1',
+);
+
+$namespaceNames = array(
+       NS_MEDIA          => 'Media',
+       NS_SPECIAL        => 'Special',
+       NS_MAIN           => '',
+       NS_TALK           => 'Discuter',
+       NS_USER           => 'Utilisateur',
+       NS_USER_TALK      => 'Discussion_Utilisateur',
+       NS_PROJECT        => '$1',
+       NS_PROJECT_TALK   => 'Discussion_$1',
+       NS_IMAGE          => 'Image',
+       NS_IMAGE_TALK     => 'Discussion_Image',
+       NS_MEDIAWIKI      => 'MediaWiki',
+       NS_MEDIAWIKI_TALK => 'Discussion_MediaWiki',
+       NS_TEMPLATE       => 'Modèle',
+       NS_TEMPLATE_TALK  => 'Discussion_Modèle',
+       NS_HELP           => 'Aide',
+       NS_HELP_TALK      => 'Discussion_Aide',
+       NS_CATEGORY       => 'Catégorie',
+       NS_CATEGORY_TALK  => 'Discussion_Catégorie'
+);
+$linkTrail = '/^([a-zàâçéèêîôûäëïöüùÇÉÂÊÎÔÛÄËÏÖÜÀÈÙ]+)(.*)$/sDu';
+
+$dateFormats = array(
+       'mdy time' => 'H:i',
+       'mdy date' => 'F j, Y',
+       'mdy both' => 'F j, Y à H:i',
+
+       'dmy time' => 'H:i',
+       'dmy date' => 'j F Y',
+       'dmy both' => 'j F Y à H:i',
+
+       'ymd time' => 'H:i',
+       'ymd date' => 'Y F j',
+       'ymd both' => 'Y F j à H:i',
+);
+
+$separatorTransformTable = array( ',' => "\xc2\xa0", '.' => ',' );
 
-global $wgAllMessagesFr;
-$wgAllMessagesFr = array(
+$messages = array(
 
 # User preference Toggles
 
@@ -87,7 +145,6 @@ $wgAllMessagesFr = array(
 'category_header' => 'Articles dans la catégorie « $1 ».',
 'subcategories'        => 'Sous-catégories',
 
-'linktrail'     => '/^([a-zàâçéèêîôûäëïöüùÇÉÂÊÎÔÛÄËÏÖÜÀÈÙ]+)(.*)$/sDu',
 'mainpage'      => 'Accueil',
 'mainpagetext' => '<big>\'\'\'MediaWiki a été installé avec succès.\'\'\'</big>',
 'mainpagedocfooter' => 'Consultez le [http://meta.wikipedia.org/wiki/Aide:Contenu Guide de l\'utilisateur] pour plus d\'informations sur l\'utilisation de ce logiciel.',
index b0fbbe3..e725f53 100644 (file)
@@ -1,7 +1,48 @@
 <?php
+/** Friulian (Furlan)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ */
+$quickbarSettings = array(
+       'Nissune', 'Fis a Çampe', 'Fis a Drete', 'Flutuant a çampe'
+);
+
+$skinNames = array(
+       'nostalgia' => 'Nostalgie',
+);
+$namespaceNames = array(
+       NS_MEDIA          => 'Media',
+       NS_SPECIAL        => 'Speciâl',
+       NS_MAIN           => '',
+       NS_TALK           => 'Discussion',
+       NS_USER           => 'Utent',
+       NS_USER_TALK      => 'Discussion_utent',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK   => 'Discussion_$1',
+       NS_IMAGE          => 'Figure',
+       NS_IMAGE_TALK     => 'Discussion_figure',
+       NS_MEDIAWIKI      => 'MediaWiki',
+       NS_MEDIAWIKI_TALK => 'Discussion_MediaWiki',
+       NS_TEMPLATE       => 'Model',
+       NS_TEMPLATE_TALK  => 'Discussion_model',
+       NS_HELP           => 'Jutori',
+       NS_HELP_TALK      => 'Discussion_jutori',
+       NS_CATEGORY       => 'Categorie',
+       NS_CATEGORY_TALK  => 'Discussion_categorie'
+);
+
+$datePreferences = false;
+$defaultDateFormat = 'dmy';
+$dateFormats = array(
+       'dmy time' => 'H:i',
+       'dmy date' => 'j "di" M Y',
+       'dmy both' => 'j "di" M Y "a lis" H:i',
+);
+
+$separatorTransformTable = array(',' => "\xc2\xa0", '.' => ',' );
 
-global $wgAllMessagesFur;
-$wgAllMessagesFur = array(
+$messages = array(
 '1movedto2'            => "$1 movût in $2",
 'about' => "Informazions",
 'aboutsite' => "Informazions su {{SITENAME}}",
index 75b54d5..0e85a11 100644 (file)
@@ -1,7 +1,65 @@
 <?php
+/** Frisian (Frysk)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ *
+ */
+
+$quickbarSettings = array(
+       'Ut', 'Lofts fêst', 'Rjochts fêst', 'Lofts sweevjend'
+);
+
+$skinNames = array(
+       'standard' => 'Standert',
+       'nostalgia' => 'Nostalgy',
+);
+
+$dateFormats = array(
+       'mdy time' => 'H.i',
+       'mdy date' => 'M j, Y',
+       'mdy both' => 'H.i, M j, Y',
+
+       'dmy time' => 'H.i',
+       'dmy date' => 'j M Y',
+       'dmy both' => 'H.i, j M Y',
+
+       'ymd time' => 'H.i',
+       'ymd date' => 'Y M j',
+       'ymd both' => 'H.i, Y M j',     
+);
+
+$namespaceNames = array(
+       NS_MEDIA          => 'Media',
+       NS_SPECIAL        => 'Wiki',
+       NS_MAIN           => '',
+       NS_TALK           => 'Oerlis',
+       NS_USER           => 'Meidogger',
+       NS_USER_TALK      => 'Meidogger_oerlis',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK   => '$1_oerlis',
+       NS_IMAGE          => 'Ofbyld',
+       NS_IMAGE_TALK     => 'Ofbyld_oerlis',
+       NS_MEDIAWIKI      => 'MediaWiki',
+       NS_MEDIAWIKI_TALK => 'MediaWiki_oerlis',
+       NS_TEMPLATE       => 'Berjocht',
+       NS_TEMPLATE_TALK  => 'Berjocht_oerlis',
+       NS_HELP           => 'Hulp',
+       NS_HELP_TALK      => 'Hulp_oerlis',
+       NS_CATEGORY       => 'Kategory',
+       NS_CATEGORY_TALK  => 'Kategory_oerlis'
+);
+
+$namespaceAliases = array(
+       'Brûker' => NS_USER,
+       'Brûker_oerlis' => NS_USER_TALK,
+);
+
+$separatorTransformTable = array(',' => '.', '.' => ',' );
+$linkTrail = '/^([a-zàáèéìíòóùúâêîôûäëïöü]+)(.*)$/sDu';
+
 
-global $wgAllMessagesFy;
-$wgAllMessagesFy = array(
+$messages = array(
 # User Toggles
 
 "tog-underline"                => "Keppelings ûnderstreekje",
index 1aadb84..b060643 100644 (file)
 <?php
+/** Irish (Gaeilge)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ */
+
+$quickbarSettings = array(
+       'Faic', 'Greamaithe ar chlé', 'Greamaithe ar dheis', 'Ag faoileáil ar chlé', 'Ag faoileáil ar dheis'
+);
+
+$skinNames = array(
+       'standard' => 'Gnáth',
+       'nostalgia' => 'Sean-nós',
+       'cologneblue' => 'Gorm na Colóna',
+       'smarty' => 'Paddington',
+       'montparnasse' => 'Montparnasse',
+       'davinci' => 'DaVinci',
+       'mono' => 'Mono',
+       'monobook' => 'MonoBook',
+       'myskin' => 'MySkin',
+       'chick' => 'Chick'
+);
+
+$magicWords = array(
+       #   ID                           CASE  SYNONYMS
+       'redirect'               => array( 0,    '#redirect', '#athsheoladh' ),
+       'notoc'                  => array( 0,    '__NOTOC__', '__GANCÁ__'              ),
+       'forcetoc'               => array( 0,    '__FORCETOC__',         '__CÁGACHUAIR__'  ),
+       'toc'                    => array( 0,    '__TOC__', '__CÁ__'                ),
+       'noeditsection'          => array( 0,    '__NOEDITSECTION__',    '__GANMHÍRATHRÚ__'  ),
+       'start'                  => array( 0,    '__START__', '__TÚS__'              ),
+       'currentmonth'           => array( 1,    'CURRENTMONTH',  'MÍLÁITHREACH'  ),
+       'currentmonthname'       => array( 1,    'CURRENTMONTHNAME',     'AINMNAMÍOSALÁITHREAÍ'  ),
+       'currentmonthnamegen'    => array( 1,    'CURRENTMONTHNAMEGEN',  'GINAINMNAMÍOSALÁITHREAÍ'  ),
+       'currentmonthabbrev'     => array( 1,    'CURRENTMONTHABBREV',   'GIORRÚNAMÍOSALÁITHREAÍ'  ),
+       'currentday'             => array( 1,    'CURRENTDAY',           'LÁLÁITHREACH'  ),
+       'currentdayname'         => array( 1,    'CURRENTDAYNAME',       'AINMANLAELÁITHRIGH'  ),
+       'currentyear'            => array( 1,    'CURRENTYEAR',          'BLIAINLÁITHREACH'  ),
+       'currenttime'            => array( 1,    'CURRENTTIME',          'AMLÁITHREACH'  ),
+       'numberofarticles'       => array( 1,    'NUMBEROFARTICLES',     'LÍONNANALT'  ),
+       'numberoffiles'          => array( 1,    'NUMBEROFFILES',        'LÍONNAGCOMHAD'  ),
+       'pagename'               => array( 1,    'PAGENAME',             'AINMANLGH'  ),
+       'pagenamee'              => array( 1,    'PAGENAMEE',            'AINMANLGHB'  ),
+       'namespace'              => array( 1,    'NAMESPACE',            'AINMSPÁS'  ),
+       'msg'                    => array( 0,    'MSG:',                 'TCHT:'  ),
+       'subst'                  => array( 0,    'SUBST:',               'IONAD:'  ),
+       'msgnw'                  => array( 0,    'MSGNW:',               'TCHTFS:'  ),
+       'end'                    => array( 0,    '__END__',              '__DEIREADH__'  ),
+       'img_thumbnail'          => array( 1,    'thumbnail', 'thumb',   'mionsamhail', 'mion'  ),
+       'img_right'              => array( 1,    'right',                'deas'  ),
+       'img_left'               => array( 1,    'left',                 'clé'  ),
+       'img_none'               => array( 1,    'none',                 'faic'  ),
+       'img_width'              => array( 1,    '$1px'                   ),
+       'img_center'             => array( 1,    'center', 'centre',     'lár'  ),
+       'img_framed'             => array( 1,    'framed', 'enframed', 'frame', 'fráma', 'frámaithe' ),
+       'int'                    => array( 0,    'INT:', 'INMH:'                   ),
+       'sitename'               => array( 1,    'SITENAME',             'AINMANTSUÍMH'  ),
+       'ns'                     => array( 0,    'NS:', 'AS:'                    ),
+       'localurl'               => array( 0,    'LOCALURL:',            'URLÁITIÚIL'  ),
+       'localurle'              => array( 0,    'LOCALURLE:',           'URLÁITIÚILB'  ),
+       'server'                 => array( 0,    'SERVER',               'FREASTALAÍ'  ),
+       'servername'             => array( 0,    'SERVERNAME',            'AINMANFHREASTALAÍ' ),
+       'scriptpath'             => array( 0,    'SCRIPTPATH',           'SCRIPTCHOSÁN'  ),
+       'grammar'                => array( 0,    'GRAMMAR:',             'GRAMADACH:'  ),
+       'notitleconvert'         => array( 0,    '__NOTITLECONVERT__', '__NOTC__', '__GANTIONTÚNADTEIDEAL__', '__GANTT__'),
+       'nocontentconvert'       => array( 0,    '__NOCONTENTCONVERT__', '__NOCC__', '__GANTIONTÚNANÁBHAIR__', '__GANTA__' ),
+       'currentweek'            => array( 1,    'CURRENTWEEK',          'SEACHTAINLÁITHREACH'  ),
+       'currentdow'             => array( 1,    'CURRENTDOW',           'LÁLÁITHREACHNAS'  ),
+       'revisionid'             => array( 1,    'REVISIONID',           'IDANLEASAITHE'  ),
+);
+
+$namespaceNames = array(
+       NS_MEDIA                  => 'Meán',
+       NS_SPECIAL          => 'Speisialta',
+       NS_MAIN             => '',
+       NS_TALK             => 'Plé',
+       NS_USER             => 'Úsáideoir',
+       NS_USER_TALK        => 'Plé_úsáideora',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => 'Plé_{{grammar:genitive|$1}}',
+       NS_IMAGE            => 'Íomhá',
+       NS_IMAGE_TALK       => 'Plé_íomhá',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'Plé_MediaWiki',
+       NS_TEMPLATE         => 'Teimpléad',
+       NS_TEMPLATE_TALK    => 'Plé_teimpléid',
+       NS_HELP             => 'Cabhair',
+       NS_HELP_TALK        => 'Plé_cabhrach',
+       NS_CATEGORY         => 'Catagóir',
+       NS_CATEGORY_TALK    => 'Plé_catagóire'
+);
+
+$namespaceAliases = array(
+       'Plé_í­omhá' => NS_IMAGE_TALK,
+       'Múnla' => NS_TEMPLATE,
+       'Plé_múnla' => NS_TEMPLATE_TALK,
+       'Rang' => NS_CATEGORY
+);
+
+$linkTrail = '/^([a-z]+)(.*)\$/sD';
 
 
 #-------------------------------------------------------------------
 # Default messages
 #-------------------------------------------------------------------
 
-/* private */ $wgAllMessagesGa = array(
+$messages = array(
 
 # User Toggles'tog-underline'           => "Cuir línte faoi na naisc",
 'tog-highlightbroken'     => "Cuir dath dearg ar naisc briste, <a href=\"\" class=\"new\">mar sin</a>
 'category_header' => 'Ailt sa chatagóir "$1"',
 "subcategories" => "Fo-chatagóirí",
 
-"linktrail"     => '/^([a-z]+)(.*)\$/sD',
 "mainpage"      => "Príomhleathanach",
 "mainpagetext"  => "Suiteáladh an ríomhchlár vicí go rathúil.",
 "mainpagedocfooter" => "Féach ar [http://meta.wikimedia.org/wiki/MediaWiki_i18n doiciméid um conas an chomhéadán a athrú]
diff --git a/languages/MessagesGn.php b/languages/MessagesGn.php
new file mode 100644 (file)
index 0000000..7ca6dc7
--- /dev/null
@@ -0,0 +1,9 @@
+<?php
+/** Guaraní (avañe'ẽ)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+$fallback = 'es';
+?>
index b32f2d8..4772adb 100644 (file)
@@ -1,7 +1,9 @@
 <?php
 
-global $wgAllMessagesGsw;
-$wgAllMessagesGsw = array(
+$fallback = 'de';
+$linkTrail = '/^([äöüßa-z]+)(.*)$/sDu';
+
+$messages = array(
 'tog-underline'         => 'Links unterstryche',
 'tog-highlightbroken'   => 'Links uf lääri Themene durestryche',
 'tog-justify'           => 'Tekscht als Blocksatz',
diff --git a/languages/MessagesGu.php b/languages/MessagesGu.php
new file mode 100644 (file)
index 0000000..842267c
--- /dev/null
@@ -0,0 +1,19 @@
+<?php
+/**
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+$digitTransformTable = array(
+       '0' => '૦',
+       '1' => '૧',
+       '2' => '૨',
+       '3' => '૩',
+       '4' => '૪',
+       '5' => '૫',
+       '6' => '૬',
+       '7' => '૭',
+       '8' => '૮',
+       '9' => '૯'
+);
+?>
index 839c438..f488b54 100644 (file)
@@ -1,7 +1,145 @@
 <?php
 
-global $wgAllMessagesHe;
-$wgAllMessagesHe = array(
+$rtl = true;
+$defaultUserOptionOverrides = array(
+       # Swap sidebar to right side by default
+       'quickbar' => 2,
+);
+$linkTrail = '/^([a-zא-ת]+)(.*)$/sDu';
+$fallback8bitEncoding = "windows-1255";
+
+$skinNames = array(
+       "standard"    => "רגיל",
+       "nostalgia"   => "נוסטלגי",
+       "cologneblue" => "מים כחולים",
+       "davinci"     => "דה־וינצ'י",
+       "simple"      => "פשוט",
+       "mono"        => "מונו",
+       "monobook"    => "מונובוק",
+       "myskin"      => "הרקע שלי",
+       "chick"       => "צ'יק"
+);
+
+$quickbarSettings = array(
+       "ללא", "קבוע משמאל", "קבוע מימין", "צף משמאל", "צף מימין"
+);
+
+$bookstoreList = array(
+       "מיתוס"          => "http://www.mitos.co.il/",
+       "iBooks"         => "http://www.ibooks.co.il/",
+       "Barnes & Noble" => "http://search.barnesandnoble.com/bookSearch/isbnInquiry.asp?isbn=\$1",
+       "Amazon.com"     => "http://www.amazon.com/exec/obidos/ISBN=\$1"
+);
+
+$magicWords = array(
+       'redirect'              => array( 0,    '#הפניה',                                  '#REDIRECT'              ),
+       'notoc'                 => array( 0,    '__ללא_תוכן_עניינים__', '__ללא_תוכן__',    '__NOTOC__'              ),
+       'nogallery'             => array( 0,    '__ללא_גלריה__',                          '__NOGALLERY__'          ),
+       'forcetoc'              => array( 0,    '__חייב_תוכן_עניינים__', '__חייב_תוכן__',   '__FORCETOC__'           ),
+       'toc'                   => array( 0,    '__תוכן_עניינים__', '__תוכן__',             '__TOC__'                ),
+       'noeditsection'         => array( 0,    '__ללא_עריכה__',                           '__NOEDITSECTION__'      ),
+       'start'                 => array( 0,    '__התחלה__',                               '__START__'              ),
+       'currentmonth'          => array( 1,    'חודש נוכחי',                               'CURRENTMONTH'           ),
+       'currentmonthname'      => array( 1,    'שם חודש נוכחי',                            'CURRENTMONTHNAME'       ),
+       'currentmonthnamegen'   => array( 1,    'שם חודש נוכחי קניין',                      'CURRENTMONTHNAMEGEN'    ),
+       'currentmonthabbrev'    => array( 1,    'קיצור חודש נוכחי',                         'CURRENTMONTHABBREV'     ),
+       'currentday'            => array( 1,    'יום נוכחי',                                'CURRENTDAY'             ),
+       'currentday2'           => array( 1,    'יום נוכחי 2',                              'CURRENTDAY2'            ),
+       'currentdayname'        => array( 1,    'שם יום נוכחי',                             'CURRENTDAYNAME'         ),
+       'currentyear'           => array( 1,    'שנה נוכחית',                               'CURRENTYEAR'            ),
+       'currenttime'           => array( 1,    'שעה נוכחית',                               'CURRENTTIME'            ),
+       'numberofpages'         => array( 1,    'מספר דפים כולל', 'מספר דפים',             'NUMBEROFPAGES'          ),
+       'numberofarticles'      => array( 1,    'מספר ערכים',                              'NUMBEROFARTICLES'       ),
+       'numberoffiles'         => array( 1,    'מספר קבצים',                              'NUMBEROFFILES'          ),
+       'numberofusers'         => array( 1,    'מספר משתמשים',                            'NUMBEROFUSERS'          ),
+       'pagename'              => array( 1,    'שם הדף',                                  'PAGENAME'               ),
+       'pagenamee'             => array( 1,    'שם הדף מקודד',                            'PAGENAMEE'              ),
+       'namespace'             => array( 1,    'מרחב השם',                                'NAMESPACE'              ),
+       'namespacee'            => array( 1,    'מרחב השם מקודד',                          'NAMESPACEE'             ),
+       'talkspace'             => array( 1,    'מרחב השיחה',                              'TALKSPACE'              ),
+       'talkspacee'            => array( 1,    'מרחב השיחה מקודד',                        'TALKSPACEE'              ),
+       'subjectspace'          => array( 1,    'מרחב הנושא', 'מרחב הערכים',              'SUBJECTSPACE', 'ARTICLESPACE' ),
+       'subjectspacee'         => array( 1,    'מרחב הנושא מקודד', 'מרחב הערכים מקודד',  'SUBJECTSPACEE', 'ARTICLESPACEE' ),
+       'fullpagename'          => array( 1,    'שם הדף המלא',                            'FULLPAGENAME'           ),
+       'fullpagenamee'         => array( 1,    'שם הדף המלא מקודד',                      'FULLPAGENAMEE'          ),
+       'subpagename'           => array( 1,    'שם דף המשנה',                            'SUBPAGENAME'            ),
+       'subpagenamee'          => array( 1,    'שם דף המשנה מקודד',                      'SUBPAGENAMEE'           ),
+       'basepagename'          => array( 1,    'שם דף הבסיס',                            'BASEPAGENAME'           ),
+       'basepagenamee'         => array( 1,    'שם דף הבסיס מקודד',                      'BASEPAGENAMEE'          ),
+       'talkpagename'          => array( 1,    'שם דף השיחה',                            'TALKPAGENAME'           ),
+       'talkpagenamee'         => array( 1,    'שם דף השיחה מקודד',                      'TALKPAGENAMEE'          ),
+       'subjectpagename'       => array( 1,    'שם דף הנושא', 'שם הערך',                 'SUBJECTPAGENAME', 'ARTICLEPAGENAME' ),
+       'subjectpagenamee'      => array( 1,    'שם דף הנושא מקודד', 'שם הערך מקודד',     'SUBJECTPAGENAMEE', 'ARTICLEPAGENAMEE' ),
+       'msg'                   => array( 0,    'הכללה:',                                'MSG:'                   ),
+       'subst'                 => array( 0,    'ס:',                                    'SUBST:'                 ),
+       'msgnw'                 => array( 0,    'הכללת מקור',                            'MSGNW:'                 ),
+       'end'                   => array( 0,    '__סוף__',                               '__END__'                ),
+       'img_thumbnail'         => array( 1,    'ממוזער',                                'thumbnail', 'thumb'     ),
+       'img_manualthumb'       => array( 1,    'ממוזער=$1',                             'thumbnail=$1', 'thumb=$1'),
+       'img_right'             => array( 1,    'ימין',                                  'right'                  ),
+       'img_left'              => array( 1,    'שמאל',                                 'left'                   ),
+       'img_none'              => array( 1,    'ללא',                                  'none'                   ),
+       'img_width'             => array( 1,    '$1px',                                 '$1px'                   ),
+       'img_center'            => array( 1,    'מרכז',                                 'center', 'centre'       ),
+       'img_framed'            => array( 1,    'ממוסגר', 'מסגרת',                      'framed', 'enframed', 'frame' ),
+       'int'                   => array( 0,    'הודעה:',                               'INT:'                   ),
+       'sitename'              => array( 1,    'שם האתר',                              'SITENAME'               ),
+       'ns'                    => array( 0,    'מרחב שם:',                             'NS:'                    ),
+       'localurl'              => array( 0,    'כתובת יחסית:',                         'LOCALURL:'              ),
+       'localurle'             => array( 0,    'כתובת יחסית מקודד:',                   'LOCALURLE:'             ),
+       'server'                => array( 0,    'כתובת השרת', 'שרת',                    'SERVER'                 ),
+       'servername'            => array( 0,    'שם השרת',                              'SERVERNAME'             ),
+       'scriptpath'            => array( 0,    'נתיב הקבצים',                          'SCRIPTPATH'             ),
+       'grammar'               => array( 0,    'דקדוק:',                               'GRAMMAR:'               ),
+       'notitleconvert'        => array( 0,    '__ללא_המרת_כותרת__',                  '__NOTITLECONVERT__', '__NOTC__'),
+       'nocontentconvert'      => array( 0,    '__ללא_המרת_תוכן__',                   '__NOCONTENTCONVERT__', '__NOCC__'),
+       'currentweek'           => array( 1,    'שבוע נוכחי',                           'CURRENTWEEK'            ),
+       'currentdow'            => array( 1,    'מספר יום נוכחי',                       'CURRENTDOW'             ),
+       'revisionid'            => array( 1,    'מזהה גרסה',                            'REVISIONID'             ),
+       'plural'                => array( 0,    'רבים:',                                'PLURAL:'                ),
+       'fullurl'               => array( 0,    'כתובת מלאה:',                          'FULLURL:'               ),
+       'fullurle'              => array( 0,    'כתובת מלאה מקודד:',                    'FULLURLE:'              ),
+       'lcfirst'               => array( 0,    'אות ראשונה קטנה:',                     'LCFIRST:'               ),
+       'ucfirst'               => array( 0,    'אות ראשונה גדולה:',                    'UCFIRST:'               ),
+       'lc'                    => array( 0,    'אותיות קטנות:',                        'LC:'                    ),
+       'uc'                    => array( 0,    'אותיות גדולות:',                       'UC:'                    ),
+       'raw'                   => array( 0,    'ללא עיבוד:',                          'RAW:'                   ),
+       'displaytitle'          => array( 1,    'כותרת תצוגה',                         'DISPLAYTITLE'           ),
+       'rawsuffix'             => array( 1,    'ללא פסיק',                            'R'                      ),
+       'newsectionlink'        => array( 1,    '__יצירת_הערה__',                      '__NEWSECTIONLINK__'     ),
+       'currentversion'        => array( 1,    'גרסה נוכחית',                         'CURRENTVERSION'         ),
+       'urlencode'             => array( 0,    'נתיב מקודד:',                         'URLENCODE:'             ),
+       'currenttimestamp'      => array( 1,    'זמן נוכחי',                           'CURRENTTIMESTAMP'       ),
+       'directionmark'         => array( 1,    'סימן כיווניות',                       'DIRECTIONMARK', 'DIRMARK' ),
+       'language'              => array( 0,    '#שפה:',                              '#LANGUAGE:' ),
+       'contentlanguage'       => array( 1,    'שפת תוכן',                           'CONTENTLANGUAGE', 'CONTENTLANG' ),
+       'pagesinnamespace'      => array( 1,    'דפים במרחב השם:',                   'PAGESINNAMESPACE:', 'PAGESINNS:' ),
+       'numberofadmins'        => array( 1,    'מספר מפעילים',                      'NUMBEROFADMINS' ),
+);
+
+$namespaceNames = array(
+       NS_MEDIA          => "מדיה",
+       NS_SPECIAL        => "מיוחד",
+       NS_MAIN           => "",
+       NS_TALK           => "שיחה",
+       NS_USER           => "משתמש",
+       NS_USER_TALK      => "שיחת_משתמש",
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK   => "שיחת_$1",
+       NS_IMAGE          => "תמונה",
+       NS_IMAGE_TALK     => "שיחת_תמונה",
+       NS_MEDIAWIKI      => "מדיה_ויקי",
+       NS_MEDIAWIKI_TALK => "שיחת_מדיה_ויקי",
+       NS_TEMPLATE       => "תבנית",
+       NS_TEMPLATE_TALK  => "שיחת_תבנית",
+       NS_HELP           => "עזרה",
+       NS_HELP_TALK      => "שיחת_עזרה",
+       NS_CATEGORY       => "קטגוריה",
+       NS_CATEGORY_TALK  => "שיחת_קטגוריה",
+);
+
+
+$messages = array(
 
 # User preference toggles
 "tog-underline"               => "סמן קישורים בקו תחתי",
index c2be3b3..dda9634 100644 (file)
@@ -1,7 +1,40 @@
 <?php
 
+$namespaceNames = array(
+       NS_MEDIA          => 'Media',
+       NS_SPECIAL        => 'विशेष',
+       NS_MAIN           => '',
+       NS_TALK           => 'वार्ता',
+       NS_USER           => 'सदस्य',
+       NS_USER_TALK      => 'सदस्य_वार्ता',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK   => '$1_वार्ता',
+       NS_IMAGE          => 'चित्र',
+       NS_IMAGE_TALK     => 'चित्र_वार्ता',
+       NS_MEDIAWIKI      => 'MediaWiki',
+       NS_MEDIAWIKI_TALK => 'MediaWiki_talk',
+       NS_TEMPLATE       => 'Template',
+       NS_TEMPLATE_TALK  => 'Template_talk',
+       NS_CATEGORY       => 'श्रेणी',
+       NS_CATEGORY_TALK  => 'श्रेणी_वार्ता',
+);
+
+$digitTransformTable = array(
+       "0" => "०",
+       "1" => "१",
+       "2" => "२",
+       "3" => "३",
+       "4" => "४",
+       "5" => "५",
+       "6" => "६",
+       "7" => "७",
+       "8" => "८",
+       "9" => "९"
+);
+$linkTrail = "/^([a-z]+)(.*)\$/sD";
+
 
-/* private */ $wgAllMessagesHi = array(
+$messages = array(
 
 # Dates
 #
@@ -39,7 +72,6 @@
 
 # Bits of text used by many pages:
 #
-"linktrail"            => "/^([a-z]+)(.*)\$/sD",
 "mainpage"             => "मुख्य पृष्ठ",
 "about"                        => "अबाउट",
 "aboutsite"             => "{{SITENAME}} के बारे में",
index aa1c3fb..a473a5c 100644 (file)
@@ -1,7 +1,63 @@
 <?php
+/** Croatian (hrvatski)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
 
-global $wgAllMessagesHr;
-$wgAllMessagesHr = array(
+
+$quickbarSettings = array(
+       'Bez', 'Lijevo nepomično', 'Desno nepomično', 'Lijevo leteće'
+);
+
+$skinNames = array(
+       'standard'  => 'Standardna',
+       'nostalgia'  => 'Nostalgija',
+       'cologneblue'  => 'Kölnska plava',
+       'smarty'  => 'Paddington',
+       'montparnasse'  => 'Montparnasse',
+       'davinci'  => 'DaVinci',
+       'mono'   => 'Mono',
+       'monobook'  => 'MonoBook',
+       'myskin'  => 'MySkin',
+       'chick'  => 'Chick'
+);
+
+$namespaceNames = array(
+       NS_MEDIA           => 'Mediji',
+       NS_SPECIAL         => 'Posebno',
+       NS_MAIN            => '',
+       NS_TALK            => 'Razgovor',
+       NS_USER            => 'Suradnik',
+       NS_USER_TALK       => 'Razgovor_sa_suradnikom',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK    => 'Razgovor_$1',
+       NS_IMAGE           => 'Slika',
+       NS_IMAGE_TALK      => 'Razgovor_o_slici',
+       NS_MEDIAWIKI       => 'MediaWiki',
+       NS_MEDIAWIKI_TALK  => 'MediaWiki_razgovor',
+       NS_TEMPLATE        => 'Predložak',
+       NS_TEMPLATE_TALK   => 'Razgovor_o_predlošku',
+       NS_HELP            => 'Pomoć',
+       NS_HELP_TALK       => 'Razgovor_o_pomoći',
+       NS_CATEGORY        => 'Kategorija',
+       NS_CATEGORY_TALK   => 'Razgovor_o_kategoriji'
+);
+
+$datePreferences = false;
+$defaultDateFormat = 'dmy';
+$dateFormats = array(
+       'dmy time' => 'H:i',
+       'dmy date' => 'j. F Y.',
+       'dmy both' => 'H:i, j. F Y.',
+);
+
+$separatorTransformTable = array(',' => '.', '.' => ',' );
+$fallback8bitEncoding = 'iso-8859-2';
+$linkTrail = '/^([čšžćđßa-z]+)(.*)$/sDu';
+
+
+$messages = array(
 'tog-underline'         => 'Podcrtane poveznice',
 'tog-highlightbroken'   => 'Istakni prazne poveznice drugom bojom (inače, upitnikom na kraju).',
 'tog-justify'           => 'Poravnaj odlomke i zdesna',
index e5eacb5..5572810 100644 (file)
@@ -1,7 +1,57 @@
 <?php
+/**
+  * @package MediaWiki
+  * @subpackage Language
+  */
+#
+# Hungarian localisation for MediaWiki
+#
 
-global $wgAllMessagesHu;
-$wgAllMessagesHu = array(
+
+$namespaceNames = array(
+       NS_MEDIA                        => "Média",
+       NS_SPECIAL                      => "Speciális",
+       NS_MAIN                         => "",
+       NS_TALK                         => "Vita",
+       NS_USER                         => "User",
+       NS_USER_TALK            => "User_vita",
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK         => "$1_vita",
+       NS_IMAGE                        => "Kép",
+       NS_IMAGE_TALK           => "Kép_vita",
+       NS_MEDIAWIKI            => "MediaWiki",
+       NS_MEDIAWIKI_TALK       => "MediaWiki_vita",
+       NS_TEMPLATE                     => "Sablon",
+       NS_TEMPLATE_TALK        => "Sablon_vita",
+       NS_HELP                         => "Segítség",
+       NS_HELP_TALK            => "Segítség_vita",
+       NS_CATEGORY                     => "Kategória",
+       NS_CATEGORY_TALK        => "Kategória_vita"
+);
+
+
+$quickbarSettings = array(
+       "Nincs", "Fix baloldali", "Fix jobboldali", "Lebegő baloldali"
+);
+
+$skinNames = array(
+       'standard' => "Alap",
+       'nostalgia' => "Nosztalgia",
+       'cologneblue' => "Kölni kék"
+);
+
+$fallback8bitEncoding = "iso8859-2";
+$separatorTransformTable = array(',' => "\xc2\xa0", '.' => ',' );
+
+$datePreferences = false;
+$defaultDateFormat = 'ymd';
+$dateFormats = array(
+       'ymd time' => 'H:i',
+       'ymd date' => 'Y. F j.',
+       'ymd both' => 'Y. F j., H:i',
+);
+
+$messages = array(
 'tog-underline'         => 'Linkek aláhúzása:',
 'tog-highlightbroken'   => 'Törött linkek <a href="" class="new">így</a> (alternatíva: így<a href="" class="internal">?</a>).',
 'tog-justify'           => 'Bekezdések teljes szélességű tördelése („sorkizárás”)',
@@ -69,7 +119,7 @@ $wgAllMessagesHu = array(
 'mainpagetext'          => 'Wiki szoftver sikeresen telepítve.',
 'portal'                => 'Közösségi portál',
 'about'                 => 'Névjegy',
-'aboutsite'             => 'A {{SITENAME}}ROL',
+'aboutsite'             => 'A {{grammar:rol|{{SITENAME}}}}',
 'aboutpage'             => 'Project:Névjegy',
 'article'               => 'Szócikk',
 'help'                  => 'Segítség',
@@ -239,7 +289,7 @@ Ne felejtsd el átnézni a személyes {{SITENAME}} beállításaidat.',
 'loginproblem'          => '<b>Valami probléma van a belépéseddel.</b><br />Kérlek, próbáld ismét!',
 'alreadyloggedin'       => '<strong>Kedves $1, már be vagy lépve!</strong><br />',
 'login'                 => 'Belépés',
-'loginprompt'           => 'Engedélyezned kell a cookie-kat, hogy bejelentkezhess a {{SITENAME}}BA.',
+'loginprompt'           => 'Engedélyezned kell a cookie-kat, hogy bejelentkezhess a {{grammar:ba|{{SITENAME}}}}.',
 'userlogin'             => 'Belépés',
 'logout'                => 'Kilépés',
 'userlogout'            => 'Kilépés',
@@ -264,7 +314,7 @@ Ne felejtsd el átnézni a személyes {{SITENAME}} beállításaidat.',
 'nocookieslogin'        => 'A(z) {{SITENAME}} cookie-kat ("sütiket") használ az azonosításhoz, de te ezeket letiltottad. Engedélyezd őket, majd próbálkozz ismét.',
 'noname'                => 'Nem adtál meg érvényes felhasználói nevet.',
 'loginsuccesstitle'     => 'Sikeres belépés',
-'loginsuccess'          => 'Beléptél a {{SITENAME}}BA "$1"-ként.',
+'loginsuccess'          => 'Beléptél a {{grammar:ba|{{SITENAME}}}} "$1"-ként.',
 'nosuchuser'            => 'Nincs olyan felhasználó hogy "$1".
 Ellenőrizd a gépelést, vagy készíts új nevet a fent látható űrlappal.',
 'wrongpassword'         => 'A megadott jelszó helytelen.',
@@ -572,7 +622,7 @@ mást, amit fontosnak tartasz. Ha egy képet töltöttél fel, így tudod beille
 'sitestats'             => 'Server statisztika',
 'userstats'             => 'Felhasználói statisztikák',
 'sitestatstext'         => 'Az adatbázisban összesen \'\'\'$1\'\'\' lap található.
-Ebben benne vannak a „vita”-lapok, a {{SITENAME}}ROL szóló lapok, a
+Ebben benne vannak a „vita”-lapok, a {{grammar:rol|{{SITENAME}}}} szóló lapok, a
 nagyon rövid („csonk”) lapok, átirányítások, és más olyan lapok, amik vélhetően nem
 számítanak igazi lapnak.
 Ezeket nem számítva \'\'$2\'\' lapunk van.
@@ -630,7 +680,7 @@ $7 [http://meta.wikimedia.org/wiki/Help:Job_queue elvégzetlen feladat] van.',
 'move'                  => 'Átmozgat',
 'movethispage'          => 'Mozgasd ezt a lapot',
 'unusedimagestext'      => '<p>Vedd figyelembe azt hogy más
-lapok - mint például a nemzetközi {{SITENAME}}K - közvetlenül
+lapok - mint például a nemzetközi {{grammar:k|{{SITENAME}}}} - közvetlenül
 hivatkozhatnak egy file URL-jére, ezért szerepelhet itt annak
 ellenére hogy aktívan használják.</p>',
 'unusedcategoriestext'  => 'A következő kategóriákban egyetlen cikk, illetve alkategória sem szerepel.',
index 1c9de6e..1178d3f 100644 (file)
@@ -1,7 +1,41 @@
 <?php
+/** Interlingua (Interlingua)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ */
+$quickbarSettings = array(
+       'Nulle', 'Fixe a sinistra', 'Fixe a dextera', 'Flottante a sinistra'
+);
+
+$skinNames = array(
+       'cologneblue' => 'Blau Colonia',
+);
+
+$namespaceNames = array(
+       NS_MEDIA          => 'Media',
+       NS_SPECIAL        => 'Special',
+       NS_MAIN           => '',
+       NS_TALK           => 'Discussion',
+       NS_USER           => 'Usator',
+       NS_USER_TALK      => 'Discussion_Usator',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK   => 'Discussion_$1',
+       NS_IMAGE          => 'Imagine',
+       NS_IMAGE_TALK     => 'Discussion_Imagine',
+       NS_MEDIAWIKI      => 'MediaWiki',
+       NS_MEDIAWIKI_TALK => 'Discussion_MediaWiki',
+       NS_TEMPLATE       => 'Patrono',
+       NS_TEMPLATE_TALK  => 'Discussion_Patrono',
+       NS_HELP           => 'Adjuta',
+       NS_HELP_TALK      => 'Discussion_Adjuta',
+       NS_CATEGORY       => 'Categoria',
+       NS_CATEGORY_TALK  => 'Discussion_Categoria'
+);
+$linkTrail = "/^([a-z]+)(.*)\$/sD";
+
 
-global $wgAllMessagesIa;
-$wgAllMessagesIa = array(
+$messages = array(
 
 # User Toggles
 #
@@ -58,7 +92,6 @@ $wgAllMessagesIa = array(
 
 # Bits of text used by many pages:
 #
-"linktrail"            => "/^([a-z]+)(.*)\$/sD",
 "mainpage"             => "Frontispicio",
 "about"                        => "A proposito",
 "aboutsite"      => "A proposito de {{SITENAME}}",
index 2454975..1cf1139 100644 (file)
@@ -1,7 +1,55 @@
 <?php
+/** Indonesian (Bahasa Indonesia)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ */
+
+$quickbarSettings = array(
+       'Tidak ada', 'Tetap sebelah kiri', 'Tetap sebelah kanan', 'Mengambang sebelah kiri'
+);
+
+$skinNames = array(
+       'standard'    => 'Standar',
+);
+
+$bookstoreList = array(
+       'Gramedia Cyberstore (via Google)' => 'http://www.google.com/search?q=%22ISBN+:+$1%22+%22product_detail%22+site:www.gramediacyberstore.com+OR+site:www.gramediaonline.com+OR+site:www.kompas.com&hl=id',
+       'Bhinneka.com bookstore' => 'http://www.bhinneka.com/Buku/Engine/search.asp?fisbn=$1',
+);
+$namespaceNames = array(
+       NS_MEDIA            => 'Media',
+       NS_SPECIAL          => 'Istimewa',
+       NS_MAIN             => '',
+       NS_TALK             => 'Bicara',
+       NS_USER             => 'Pengguna',
+       NS_USER_TALK        => 'Bicara_Pengguna',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => 'Pembicaraan_$1',
+       NS_IMAGE            => 'Gambar',
+       NS_IMAGE_TALK       => 'Pembicaraan_Gambar',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'Pembicaraan_MediaWiki',
+       NS_TEMPLATE         => 'Templat',
+       NS_TEMPLATE_TALK    => 'Pembicaraan_Templat',
+       NS_HELP             => 'Bantuan',
+       NS_HELP_TALK        => 'Pembicaraan_Bantuan',
+       NS_CATEGORY         => 'Kategori',
+       NS_CATEGORY_TALK    => 'Pembicaraan_Kategori'
+);
+
+$namespaceAliases = array(
+       'Gambar_Pembicaraan'    => NS_IMAGE_TALK,
+       'MediaWiki_Pembicaraan' => NS_MEDIAWIKI_TALK,
+       'Templat_Pembicaraan'   => NS_TEMPLATE_TALK,
+       'Bantuan_Pembicaraan'   => NS_HELP_TALK,
+       'Kategori_Pembicaraan'  => NS_CATEGORY_TALK,
+);
+
+$separatorTransformTable = array(',' => '.', '.' => ',' );
+$datePreferences = false;
 
-global $wgAllMessagesId;
-$wgAllMessagesId = array(
+$messages = array(
 
 # User preference toggles
 'tog-underline' => 'Garis bawahi pranala',
diff --git a/languages/MessagesIi.php b/languages/MessagesIi.php
new file mode 100644 (file)
index 0000000..314684f
--- /dev/null
@@ -0,0 +1,9 @@
+<?php
+/** Yi (ꆇꉙ)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+$fallback = 'zh-cn';
+?>
index 551f944..a286ffa 100644 (file)
@@ -1,12 +1,89 @@
 <?php
+/** Icelandic (Íslenska)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ */
 
+$quickbarSettings = array(
+       'Sleppa', 'Fast vinstra megin', 'Fast hægra megin', 'Fljótandi til vinstri'
+);
+
+$skinNames = array(
+       'standard'      => 'Klassískt',
+       'nostalgia'     => 'Gamaldags',
+       'cologneblue'   => 'Kölnarblátt',
+       'myskin'        => 'Mitt þema',
+);
+
+$datePreferences = array(
+       'default',
+       'dmyt',
+       'short dmyt',
+       'tdmy',
+       'short tdmy',
+       'ISO 8601',
+);
+
+$datePreferenceMigrationMap = array(
+       'default',
+       'dmyt',
+       'short dmyt',
+       'tdmy',
+       'short tdmy',
+);     
+
+$dateFormats = array(
+       'dmyt time' => 'H:i',
+       'dmyt date' => 'j. F Y',
+       'dmyt both' => 'j. F Y "kl." H:i',
+
+       'short dmyt time' => 'H:i',
+       'short dmyt date' => 'j. M. Y',
+       'short dmyt both' => 'j. M. Y "kl." H:i',
+
+       'tdmy time' => 'H:i',
+       'tdmy date' => 'j. F Y',
+       'tdmy both' => 'H:i, j. F Y',
+
+       'short tdmy time' => 'H:i',
+       'short tdmy date' => 'j. M. Y',
+       'short tdmy both' => 'H:i, j. M. Y',
+);
+
+$magicWords = array(
+       'redirect'   => array( 0, '#tilvísun', '#TILVÍSUN', '#redirect' ), // MagicWord::initRegex() sucks
+);
+$namespaceNames = array(
+       NS_MEDIA          => 'Miðill',
+       NS_SPECIAL        => 'Kerfissíða',
+       NS_MAIN           => '',
+       NS_TALK           => 'Spjall',
+       NS_USER           => 'Notandi',
+       NS_USER_TALK      => 'Notandaspjall',
+       NS_PROJECT_TALK   => '$1spjall',
+       NS_IMAGE          => 'Mynd',
+       NS_IMAGE_TALK     => 'Myndaspjall',
+       NS_MEDIAWIKI      => 'Melding',
+       NS_MEDIAWIKI_TALK => 'Meldingarspjall',
+       NS_TEMPLATE       => 'Snið',
+       NS_TEMPLATE_TALK  => 'Sniðaspjall',
+       NS_HELP           => 'Hjálp',
+       NS_HELP_TALK      => 'Hjálparspjall',
+       NS_CATEGORY       => 'Flokkur',
+       NS_CATEGORY_TALK  => 'Flokkaspjall'
+);
+
+$separatorTransformTable = array(',' => '.', '.' => ',' );
+$linkPrefixExtension = true;
+$linkTrail = '/^([áðéíóúýþæöa-z-–]+)(.*)$/sDu';
 
+       
 #-------------------------------------------------------------------
 # Default messages
 #-------------------------------------------------------------------
 
-$wgAllMessagesIs = array(
-'linktrail' => '/^([áðéíóúýþæöa-z-–]+)(.*)$/sDu',
+$messages = array(
 'linkprefix'=> '/^(.*?)([áÁðÐéÉíÍóÓúÚýÝþÞæÆöÖA-Za-z-–]+)$/sDu',
 
 '1movedto2' => "$1 færð á $2",
index d8a0a39..fba8441 100644 (file)
@@ -1,7 +1,51 @@
 <?php
+/** Italian (Italiano)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ */
+$namespaceNames = array(
+       NS_MEDIA            => 'Media',
+       NS_SPECIAL          => 'Speciale',
+       NS_MAIN             => '',
+       NS_TALK             => 'Discussione',
+       NS_USER             => 'Utente',
+       NS_USER_TALK        => 'Discussioni_utente',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => 'Discussioni_$1',
+       NS_IMAGE            => 'Immagine',
+       NS_IMAGE_TALK       => 'Discussioni_immagine',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'Discussioni_MediaWiki',
+       NS_TEMPLATE         => 'Template',
+       NS_TEMPLATE_TALK    => 'Discussioni_template',
+       NS_HELP             => 'Aiuto',
+       NS_HELP_TALK        => 'Discussioni_aiuto',
+       NS_CATEGORY         => 'Categoria',
+       NS_CATEGORY_TALK    => 'Discussioni_categoria'
+);
+
+$quickbarSettings = array(
+       'Nessuno', 'Fisso a sinistra', 'Fisso a destra', 'Fluttuante a sinistra'
+);
+
+$separatorTransformTable = array(',' => '.', '.' => ',' );
+
+$dateFormats = array(
+       'mdy time' => 'H:i',
+       'mdy date' => 'M j, Y',
+       'mdy both' => 'H:i, M j, Y',
+
+       'dmy time' => 'H:i',
+       'dmy date' => 'j M Y',
+       'dmy both' => 'H:i, j M Y',
+
+       'ymd time' => 'H:i',
+       'ymd date' => 'Y M j',
+       'ymd both' => 'H:i, Y M j',
+);
 
-global $wgAllMessagesIt;
-$wgAllMessagesIt = array(
+$messages = array(
 
 # User preference toggles
 "tog-underline" => "Sottolinea i collegamenti",
index 9aac453..def903b 100644 (file)
@@ -1,7 +1,57 @@
 <?php
+/**
+ * Japanese (日本語)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ */
 
-global $wgAllMessagesJa;
-$wgAllMessagesJa = array(
+$quickbarSettings = array(
+       "なし", "左端", "右端", "ウィンドウの左上に固定"
+);
+
+$skinNames = array(
+       'standard' => "標準",
+       'nostalgia' => "ノスタルジア",
+       'cologneblue' => "ケルンブルー",
+);
+
+$datePreferences = array(
+       'default',
+       'ISO 8601',
+);
+
+$defaultDateFormat = 'ja';
+
+$dateFormats = array(
+       'ja time' => 'H:i',
+       'ja date' => 'Y年n月j日 (D)',
+       'ja both' => 'Y年n月j日 (D) H:i',
+);
+
+$namespaceNames = array(
+       NS_MEDIA          => "Media", /* Media */
+       NS_SPECIAL        => "特別", /* Special */
+       NS_MAIN           => "",
+       NS_TALK           => "ノート", /* Talk */
+       NS_USER           => "利用者", /* User */
+       NS_USER_TALK      => "利用者‐会話", /* User_talk */
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK   => '$1‐ノート', /* Wikipedia_talk */
+       NS_IMAGE          => "画像", /* Image */
+       NS_IMAGE_TALK     => "画像‐ノート", /* Image_talk */
+       NS_MEDIAWIKI      => "MediaWiki", /* MediaWiki */
+       NS_MEDIAWIKI_TALK => "MediaWiki‐ノート", /* MediaWiki_talk */
+       NS_TEMPLATE       => "Template", /* Template */
+       NS_TEMPLATE_TALK  => "Template‐ノート", /* Template_talk */
+       NS_HELP           => "Help", /* Help */
+       NS_HELP_TALK      => "Help‐ノート", /* Help_talk */
+       NS_CATEGORY       => "Category", /* Category */
+       NS_CATEGORY_TALK  => "Category‐ノート" /* Category_talk */
+);
+
+
+$messages = array(
 'tog-underline'         => 'リンクの下線:',
 'tog-highlightbroken'   => '未作成のページへのリンクをハイライトする',
 'tog-justify'           => '段落を均等割り付けする',
@@ -47,6 +97,13 @@ $wgAllMessagesJa = array(
 'thursday'              => '木曜日',
 'friday'                => '金曜日',
 'saturday'              => '土曜日',
+'sun'                   => '日',
+'mon'                   => '月',
+'tue'                   => '火',
+'wed'                   => '水',
+'thu'                   => '木',
+'fri'                   => '金',
+'sat'                   => '土',
 'january'               => '1月',
 'february'              => '2月',
 'march'                 => '3月',
index dd310e4..45899f6 100644 (file)
@@ -1,6 +1,45 @@
 <?php
+/** Javanese (Basa Jawa)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ *
+ * @author Niklas Laxström
+ *
+ * @copyright Copyright © 2006, Niklas Laxström
+ * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
+ */
+$fallback = 'id';
 
-global $wgAllMessagesJv;
-$wgAllMessagesJv = array(
+$quickbarSettings = array(
+       'Ora ana', 'Tetep sisih kiwa', 'Tetep sisih tengen', 'Ngambang sisih kiwa'
+);
+$namespaceNames = array(
+       NS_MEDIA            => 'Media',
+       NS_SPECIAL          => 'Astamiwa',
+       NS_MAIN             => '',
+       NS_TALK             => 'Dhiskusi',
+       NS_USER             => 'Panganggo',
+       NS_USER_TALK        => 'Dhiskusi_Panganggo',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => 'Dhiskusi_$1',
+       NS_IMAGE            => 'Gambar',
+       NS_IMAGE_TALK       => 'Dhiskusi_Gambar',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'Dhiskusi_MediaWiki',
+       NS_TEMPLATE         => 'Cithakan',
+       NS_TEMPLATE_TALK    => 'Dhiskusi_Cithakan',
+       NS_HELP             => 'Pitulung',
+       NS_HELP_TALK        => 'Dhiskusi_Pitulung',
+       NS_CATEGORY         => 'Kategori',
+       NS_CATEGORY_TALK    => 'Dhiskusi_Kategori'
+);
+
+$namespaceAliases = array(
+       'Gambar_Dhiskusi' => NS_IMAGE_TALK,
+       'MediaWiki_Dhiskusi' => NS_MEDIAWIKI_TALK,
+       'Cithakan_Dhiskusi' => NS_TEMPLATE_TALK,
+       'Pitulung_Dhiskusi' => NS_HELP_TALK,
+       'Kategori_Dhiskusi' => NS_CATEGORY_TALK,
 );
 ?>
diff --git a/languages/MessagesKa.php b/languages/MessagesKa.php
new file mode 100644 (file)
index 0000000..7d00fe3
--- /dev/null
@@ -0,0 +1,28 @@
+<?php
+/** Georgian (ქართული)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
+$namespaceNames = array(
+       NS_MEDIA            => 'მედია',
+       NS_SPECIAL          => 'სპეციალური',
+       NS_MAIN             => '',
+       NS_TALK             => 'განხილვა',
+       NS_USER             => 'მომხმარებელი',
+       NS_USER_TALK        => 'მომხმარებელი_განხილვა',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => '$1_განხილვა',
+       NS_IMAGE            => 'სურათი',
+       NS_IMAGE_TALK       => 'სურათი_განხილვა',
+       NS_MEDIAWIKI        => 'მედიავიკი',
+       NS_MEDIAWIKI_TALK   => 'მედიავიკი_განხილვა',
+       NS_TEMPLATE         => 'თარგი',
+       NS_TEMPLATE_TALK    => 'თარგი_განხილვა',
+       NS_HELP             => 'დახმარება',
+       NS_HELP_TALK        => 'დახმარება_განხილვა',
+       NS_CATEGORY         => 'კატეგორია',
+       NS_CATEGORY_TALK    => 'კატეგორია_განხილვა'
+);
+
+?>
diff --git a/languages/MessagesKm.php b/languages/MessagesKm.php
new file mode 100644 (file)
index 0000000..bb2f807
--- /dev/null
@@ -0,0 +1,22 @@
+<?php
+/** Khmer (ភាសាខ្មែរ)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  *
+  * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
+  */
+$digitTransformTable = array(
+       '0' => '០',
+       '1' => '១',
+       '2' => '២',
+       '3' => '៣',
+       '4' => '៤',
+       '5' => '៥',
+       '6' => '៦',
+       '7' => '៧',
+       '8' => '៨',
+       '9' => '៩'
+);
+
+?>
index 16c24bc..5a7ca0d 100644 (file)
@@ -1,7 +1,54 @@
 <?php
+/**
+ * Language file for Kannada.
+ * Mosty done by:
+ *   Hari Prasad Nadig <hpnadig@gmail.com>
+ *     http://en.wikipedia.org/wiki/User:Hpnadig
+ *   Ashwath Mattur <ashwatham@gmail.com>
+ *     http://en.wikipedia.org/wiki/User:Ashwatham
+ *
+ * Also see the Kannada Localisation Initiative at:
+ *      http://kannada.sourceforge.net/
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ */
+
+$namespaceNames = array(
+       NS_MEDIA            => 'ಮೀಡಿಯ',
+       NS_SPECIAL          => 'ವಿಶೇಷ',
+       NS_MAIN             => '',
+       NS_TALK             => 'ಚರ್ಚೆಪುಟ',
+       NS_USER             => 'ಸದಸ್ಯ',
+       NS_USER_TALK        => 'ಸದಸ್ಯರ_ಚರ್ಚೆಪುಟ',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => '$1_ಚರ್ಚೆ',
+       NS_IMAGE            => 'ಚಿತ್ರ',
+       NS_IMAGE_TALK       => 'ಚಿತ್ರ_ಚರ್ಚೆಪುಟ',
+       NS_MEDIAWIKI        => 'ಮೀಡಿಯವಿಕಿ',
+       NS_MEDIAWIKI_TALK   => 'ಮೀಡೀಯವಿಕಿ_ಚರ್ಚೆ',
+       NS_TEMPLATE         => 'ಟೆಂಪ್ಲೇಟು',
+       NS_TEMPLATE_TALK    => 'ಟೆಂಪ್ಲೇಟು_ಚರ್ಚೆ',
+       NS_HELP             => 'ಸಹಾಯ',
+       NS_HELP_TALK        => 'ಸಹಾಯ_ಚರ್ಚೆ',
+       NS_CATEGORY         => 'ವರ್ಗ',
+       NS_CATEGORY_TALK    => 'ವರ್ಗ_ಚರ್ಚೆ'
+);
 
+$digitTransformTable = array(
+       '0' => '೦',
+       '1' => '೧',
+       '2' => '೨',
+       '3' => '೩',
+       '4' => '೪',
+       '5' => '೫',
+       '6' => '೬',
+       '7' => '೭',
+       '8' => '೮',
+       '9' => '೯'
+);
 
-/* private */ $wgAllMessagesKn = array(
+$messages = array(
 'jan' => 'ಜನವರಿ',
 'feb' => 'ಫೆಬ್ರುವರಿ',
 'mar' => 'ಮಾರ್ಚ್',
index cd0fcc2..56f7195 100644 (file)
@@ -1,7 +1,56 @@
 <?php
+/** Korean (한국어)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
+$namespaceNames = array(
+       NS_MEDIA          => 'Media',
+       NS_SPECIAL        => '특수기능',
+       NS_MAIN           => '',
+       NS_TALK           => '토론',
+       NS_USER           => '사용자',
+       NS_USER_TALK      => '사용자토론',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK   => '$1토론',
+       NS_IMAGE          => '그림',
+       NS_IMAGE_TALK     => '그림토론',
+       NS_MEDIAWIKI      => 'MediaWiki',
+       NS_MEDIAWIKI_TALK => 'MediaWiki토론',
+       NS_TEMPLATE       => '틀',
+       NS_TEMPLATE_TALK  => '틀토론',
+       NS_HELP           => '도움말',
+       NS_HELP_TALK      => '도움말토론',
+       NS_CATEGORY       => '분류',
+       NS_CATEGORY_TALK  => '분류토론',
+);
+
+$quickbarSettings = array(
+       '없음', '왼쪽', '오른쪽', '왼쪽 고정', '오른쪽 고정'
+);
+
+$skinNames = array(
+       'standard' => '표준',
+       'davinci' => '다빈치',
+       'mono' => '모노',
+       'monobook' => '모노북',
+       'my skin' => '내 스킨',
+);
+
+$bookstoreList = array(
+       'Aladdin.co.kr' => 'http://www.aladdin.co.kr/catalog/book.asp?ISBN=$1',
+       'inherit' => true,
+);
+
+$datePreferences = false;
+$defaultDateFormat = 'ko';
+$dateFormats = array(
+       'ko time' => 'H:i',
+       'ko date' => 'Y년 M월 j일 (D)',
+       'ko both' => 'Y년 M월 j일 (D) H:i',
+);
 
-global $wgAllMessagesKo;
-$wgAllMessagesKo = array(
+$messages = array(
 'tog-underline'         => '고리에 밑줄치기:',
 'tog-highlightbroken'   => '없는 문서로 가는 고리를 <a href="" class="new">이렇게</a> 보이기 (선택하지 않으면 이렇게<a href="" class="internal">?</a> 보임)',
 'tog-justify'           => '문단 정렬',
@@ -45,6 +94,13 @@ $wgAllMessagesKo = array(
 'thursday'              => '목요일',
 'friday'                => '금요일',
 'saturday'              => '토요일',
+'sun'                   => '일', 
+'mon'                   => '월', 
+'tue'                   => '화', 
+'wed'                   => '수', 
+'thu'                   => '목', 
+'fri'                   => '금', 
+'sat'                   => '토',
 'january'               => '1월',
 'february'              => '2월',
 'march'                 => '3월',
diff --git a/languages/MessagesKs.php b/languages/MessagesKs.php
new file mode 100644 (file)
index 0000000..07e90cb
--- /dev/null
@@ -0,0 +1,11 @@
+<?php
+/** Kashmiri language file ( कश्मीरी - (ﻚﺸﻤﻳﺮﻳ) )
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+#FIXME: inherit almost everything for now
+$rtl = true;
+
+?>
index 9fa0070..d7c31ad 100644 (file)
@@ -1,7 +1,32 @@
 <?php
+/** Kurdish (Kurdî / كوردي)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
 
-global $wgAllMessagesKu;
-$wgAllMessagesKu = array(
+$namespaceNames = array(
+       NS_MEDIA            => 'Medya',
+       NS_SPECIAL          => 'Taybet',
+       NS_MAIN             => '',
+       NS_TALK             => 'Nîqaş',
+       NS_USER             => 'Bikarhêner',
+       NS_USER_TALK        => 'Bikarhêner_nîqaş',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => '$1_nîqaş',
+       NS_IMAGE            => 'Wêne',
+       NS_IMAGE_TALK       => 'Wêne_nîqaş',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'MediaWiki_nîqaş',
+       NS_TEMPLATE         => 'Şablon',
+       NS_TEMPLATE_TALK    => 'Şablon_nîqaş',
+       NS_HELP             => 'Alîkarî',
+       NS_HELP_TALK        => 'Alîkarî_nîqaş',
+       NS_CATEGORY         => 'Kategorî',
+       NS_CATEGORY_TALK    => 'Kategorî_nîqaş'
+);
+
+$messages = array(
 'skinpreview'           => '(Pêşdîtin)',
 'sunday'                => 'yekşem',
 'monday'                => 'duşem',
diff --git a/languages/MessagesKv.php b/languages/MessagesKv.php
new file mode 100644 (file)
index 0000000..847676d
--- /dev/null
@@ -0,0 +1,9 @@
+<?php
+/** Komi (Коми)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+$fallback = 'ru';
+?>
index f1d99ee..1ff092f 100644 (file)
@@ -1,7 +1,41 @@
 <?php
+/** Latin (lingua Latina)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
 
-global $wgAllMessagesLa;
-$wgAllMessagesLa = array(
+$quickbarSettings = array(
+       'Nullus', 'Constituere a sinistra', 'Constituere a dextra', 'Innens a sinistra'
+);
+
+$skinNames = array(
+       'standard' => 'Norma',
+       'nostalgia' => 'Nostalgia',
+       'cologneblue' => 'Caerulus Colonia'
+);
+
+$namespaceNames = array(
+       NS_SPECIAL        => 'Specialis',
+       NS_MAIN           => '',
+       NS_TALK           => 'Disputatio',
+       NS_USER           => 'Usor',
+       NS_USER_TALK      => 'Disputatio_Usoris',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK   => 'Disputatio_{{grammar:genitive|$1}}',
+       NS_IMAGE          => 'Imago',
+       NS_IMAGE_TALK     => 'Disputatio_Imaginis',
+       NS_MEDIAWIKI      => 'MediaWiki',
+       NS_MEDIAWIKI_TALK => 'Disputatio_MediaWiki',
+       NS_TEMPLATE       => 'Formula',
+       NS_TEMPLATE_TALK  => 'Disputatio_Formulae',
+       NS_HELP           => 'Auxilium',
+       NS_HELP_TALK      => 'Disputatio_Auxilii',
+       NS_CATEGORY       => 'Categoria',
+       NS_CATEGORY_TALK  => 'Disputatio_Categoriae',
+);
+
+$messages = array(
 'tog-underline'         => 'Subscribere nexi',
 'tog-highlightbroken'   => 'Formare nexos fractos <a href="" class="new">sici</a> (alioqui: sic<a href="" class="internal">?</a>).',
 'tog-justify'           => 'Saepire capites',
index f7adc07..b6742ed 100644 (file)
@@ -1,7 +1,56 @@
 <?php
+/** Limburgian (Limburgs)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+ */
 
-global $wgAllMessagesLi;
-$wgAllMessagesLi = array(
+$quickbarSettings = array(
+       'Oetgesjakeld', 'Links vas', 'Rechts vas', 'Links zwevend'
+);
+
+$skinNames = array(
+       'standard' => 'Standaard',
+       'nostalgia' => 'Nostalgie',
+       'cologneblue' => 'Keuls blauw',
+);
+
+$namespaceNames = array(
+       NS_MEDIA          => 'Media',
+       NS_SPECIAL        => 'Speciaal',
+       NS_MAIN           => '',
+       NS_TALK           => 'Euverlik',
+       NS_USER           => 'Gebroeker',
+       NS_USER_TALK      => 'Euverlik_gebroeker',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK   => 'Euverlik_$1',
+       NS_IMAGE          => 'Aafbeilding',
+       NS_IMAGE_TALK     => 'Euverlik_afbeelding',
+       NS_MEDIAWIKI      => 'MediaWiki',
+       NS_MEDIAWIKI_TALK => 'Euverlik_MediaWiki',
+       NS_TEMPLATE       => 'Sjabloon',
+       NS_TEMPLATE_TALK  => 'Euverlik_sjabloon',
+       NS_HELP           => 'Help',
+       NS_HELP_TALK      => 'Euverlik_help',
+       NS_CATEGORY       => 'Kategorie',
+       NS_CATEGORY_TALK  => 'Euverlik_kategorie'
+);
+
+$dateFormats = array(  
+       'mdy time' => 'H:i',
+       'mdy date' => 'M j, Y',
+       'mdy both' => 'M j, Y H:i',
+
+       'dmy time' => 'H:i',
+       'dmy date' => 'j M Y',
+       'dmy both' => 'j M Y H:i',
+
+       'ymd time' => 'H:i',
+       'ymd date' => 'Y M j',
+       'ymd both' => 'Y M j H:i',
+);
+
+$messages = array(
 'tog-underline'         => 'Links ongersjtreipe',
 'tog-highlightbroken'   => 'Formatteer gebraoke links <a href="" class="new">op dees meneer</a> (angesj: zoe<a href="" class="internal">?</a>).',
 'tog-justify'           => 'Paragrafe oetvulle',
diff --git a/languages/MessagesLo.php b/languages/MessagesLo.php
new file mode 100644 (file)
index 0000000..b2663f1
--- /dev/null
@@ -0,0 +1,22 @@
+<?php
+/** Lao (ພາສາລາວ)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  *
+  * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
+  */
+$digitTransformTable = array(
+       '0' => '໐',
+       '1' => '໑',
+       '2' => '໒',
+       '3' => '໓',
+       '4' => '໔',
+       '5' => '໕',
+       '6' => '໖',
+       '7' => '໗',
+       '8' => '໘',
+       '9' => '໙'
+);
+
+?>
index 42865a2..9e65643 100644 (file)
@@ -1,9 +1,51 @@
 <?php
+/** Lithuanian (Lietuvių)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ *
+ */
+
+$namespaceNames = array(
+       NS_MEDIA            => 'Medija',
+       NS_SPECIAL          => 'Specialus',
+       NS_MAIN             => '',
+       NS_TALK             => 'Aptarimas',
+       NS_USER             => 'Naudotojas',
+       NS_USER_TALK        => 'Naudotojo_aptarimas',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => '$1_aptarimas',
+       NS_IMAGE            => 'Vaizdas',
+       NS_IMAGE_TALK       => 'Vaizdo_aptarimas',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'MediaWiki_aptarimas',
+       NS_TEMPLATE         => 'Šablonas',
+       NS_TEMPLATE_TALK    => 'Šablono_aptarimas',
+       NS_HELP             => 'Pagalba',
+       NS_HELP_TALK        => 'Pagalbos_aptarimas',
+       NS_CATEGORY         => 'Kategorija',
+       NS_CATEGORY_TALK    => 'Kategorijos_aptarimas',
+);
+
+$quickbarSettings = array(
+       'Nerodyti', 'Fiksuoti kairėje', 'Fiksuoti dešinėje', 'Plaukiojantis kairėje'
+);
+
+$skinNames = array(
+       'standard' => 'Standartinė',
+       'nostalgia' => 'Nostalgija',
+       'cologneblue' => 'Kiolno Mėlyna',
+       'davinci' => 'Da Vinči',
+       'mono' => 'Mono',
+       'monobook' => 'MonoBook',
+       'myskin' => 'MySkin',
+       'chick' => 'Chick'
+);
+$fallback8bitEncoding = 'windows-1257';
+$separatorTransformTable = array(',' => ' ', '.' => ',' );
 
-/* Messages for LanguageLt */
 
-global $wgAllMessagesLt;
-$wgAllMessagesLt = array(
+$messages = array(
 '1movedto2' => 'Straipsnis \'$1\' pervadintas į \'$2\'',
 '1movedto2_redir' => '\'$1\' pervadintas į \'$2\' (anksčiau buvo nukreipiamasis)',
 'Monobook.js' => '/* tooltips and access keys */
index 7d21c7e..0a0e82b 100644 (file)
@@ -1,7 +1,39 @@
 <?php
+/** Latvian (Latviešu)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ *
+ * @author Niklas Laxström
+ *
+ * @copyright Copyright © 2006, Niklas Laxström
+ * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
+ */
 
-global $wgAllMessagesLv;
-$wgAllMessagesLv = array(
+$namespaceNames = array(
+       NS_MEDIA            => 'Media',
+       NS_SPECIAL          => 'Special',
+       NS_MAIN             => '',
+       NS_TALK             => 'Diskusija',
+       NS_USER             => 'Lietotājs',
+       NS_USER_TALK        => 'Lietotāja_diskusija',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => '{{grammar:ģenitīvs|$1}}_diskusija',
+       NS_IMAGE            => 'Attēls',
+       NS_IMAGE_TALK       => 'Attēla_diskusija',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'MediaWiki_diskusija',
+       NS_TEMPLATE         => 'Veidne',
+       NS_TEMPLATE_TALK    => 'Veidnes_diskusija',
+       NS_HELP             => 'Palīdzība',
+       NS_HELP_TALK        => 'Palīdzības_diskusija',
+       NS_CATEGORY         => 'Kategorija',
+       NS_CATEGORY_TALK    => 'Kategorijas_diskusija',
+);
+$separatorTransformTable = array(',' => "\xc2\xa0", '.' => ',' );
+
+
+$messages= array(
 'tog-underline'         => 'Pasvītrot saites:',
 'tog-highlightbroken'   => 'Saites uz neesošām lapām rādīt <a href="" class="new">šādi</a> (alternatīva: šādi<a href="" class="internal">?</a>).',
 'tog-justify'           => 'Taisnot rindkopas',
index 9fe0e45..7e2519c 100644 (file)
@@ -1,7 +1,93 @@
 <?php
+/** Macedonian (Македонски)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ */
 
-global $wgAllMessagesMk;
-$wgAllMessagesMk = array(
+$quickbarSettings = array(
+       'Без мени', 'Фиксирано лево', 'Фиксирано десно', 'Пловечко лево'
+);
+
+$skinNames = array(
+       'standard'    => 'Класика',
+       'nostalgia'   => 'Носталгија',
+       'cologneblue' => 'Келнско сино',
+       'davinci'     => 'ДаВинчи',
+       'mono'        => 'Моно',
+       'monobook'    => 'Monobook',
+       'myskin'      => 'Моја маска',
+       'chick'       => 'Шик'
+);
+
+$magicWords = array(
+       'redirect'              => array( 0, '#redirect', '#пренасочување', '#види' ),
+       'notoc'                 => array( 0, '__NOTOC__', '__БЕЗСОДРЖИНА__' ),
+       'forcetoc'              => array( 0, '__FORCETOC__', '__СОСОДРЖИНА__' ),
+       'toc'                   => array( 0, '__TOC__', '__СОДРЖИНА__' ),
+       'noeditsection'         => array( 0, '__NOEDITSECTION__' , '__БЕЗ_УРЕДУВАЊЕ_НА_СЕКЦИИ__'),
+       'start'                 => array( 0, '__START__' , '__ПОЧЕТОК__' ),
+       'currentmonth'          => array( 1, 'CURRENTMONTH', 'СЕГАШЕНМЕСЕЦ' ),
+       'currentmonthname'      => array( 1, 'CURRENTMONTHNAME', 'СЕГАШЕНМЕСЕЦИМЕ' ),
+       'currentmonthnamegen'   => array( 1, 'CURRENTMONTHNAMEGEN', 'СЕГАШЕНМЕСЕЦИМЕРОД' ),
+       'currentmonthabbrev'    => array( 1, 'CURRENTMONTHABBREV', 'СЕГАШЕНМЕСЕЦСКР' ),
+       'currentday'            => array( 1, 'CURRENTDAY', 'СЕГАШЕНДЕН' ),
+       'currentdayname'        => array( 1, 'CURRENTDAYNAME', 'СЕГАШЕНДЕНИМЕ' ),
+       'currentyear'           => array( 1, 'CURRENTYEAR', 'СЕГАШНАГОДИНА' ),
+       'currenttime'           => array( 1, 'CURRENTTIME', 'СЕГАШНОВРЕМЕ' ),
+       'numberofarticles'      => array( 1, 'NUMBEROFARTICLES', 'БРОЈСТАТИИ' ),
+       'pagename'              => array( 1, 'PAGENAME', 'СТРАНИЦА' ),
+       'pagenamee'             => array( 1, 'PAGENAMEE', 'СТРАНИЦАИ' ),
+       'namespace'             => array( 1, 'NAMESPACE', 'ИМЕПРОСТОР' ),
+       'subst'                 => array( 0, 'SUBST:', 'ЗАМЕСТ:' ),
+       'msgnw'                 => array( 0, 'MSGNW:', 'ИЗВЕШТNW:' ),
+       'end'                   => array( 0, '', '__КРАЈ__' ),
+       'img_thumbnail'         => array( 1, 'thumbnail', 'thumb', 'мини' ),
+       'img_right'             => array( 1, 'right', 'десно', 'д' ),
+       'img_left'              => array( 1, 'left', 'лево', 'л' ),
+       'img_none'              => array( 1, 'none', 'н' ),
+       'img_width'             => array( 1, '$1px', '$1пкс' , '$1п' ),
+       'img_center'            => array( 1, 'center', 'centre', 'центар', 'ц' ),
+       'img_framed'            => array( 1, 'framed', 'enframed', 'frame', 'рамка', 'ворамка' ),
+       'int'                   => array( 0, 'INT:' ),
+       'sitename'              => array( 1, 'SITENAME', 'ИМЕНАСАЈТ' ),
+       'ns'                    => array( 0, 'NS:' ),
+       'localurl'              => array( 0, 'LOCALURL:', 'ЛОКАЛНААДРЕСА:' ),
+       'localurle'             => array( 0, 'LOCALURLE:', 'ЛОКАЛНААДРЕСАИ:' ),
+       'server'                => array( 0, 'SERVER', 'СЕРВЕР' ),
+       'grammar'               => array( 0, 'GRAMMAR:', 'ГРАМАТИКА:' ),
+       'notitleconvert'        => array( 0, '__NOTITLECONVERT__', '__NOTC__'),
+       'nocontentconvert'      => array( 0, '__NOCONTENTCONVERT__', '__NOCC__'),
+       'currentweek'           => array( 1, 'CURRENTWEEK', 'СЕГАШНАСЕДМИЦА'),
+       'currentdow'            => array( 1, 'CURRENTDOW' ),
+       'revisionid'            => array( 1, 'REVISIONID' ),
+);
+
+$namespaceNames = array(
+       NS_MEDIA          => 'Медија',
+       NS_SPECIAL        => 'Специјални',
+       NS_MAIN           => '',
+       NS_TALK           => 'Разговор',
+       NS_USER           => 'Корисник',
+       NS_USER_TALK      => 'Разговор_со_корисник',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK   => 'Разговор_за_$1',
+       NS_IMAGE          => 'Слика',
+       NS_IMAGE_TALK     => 'Разговор_за_слика',
+       NS_MEDIAWIKI      => 'МедијаВики',
+       NS_MEDIAWIKI_TALK => 'Разговор_за_МедијаВики',
+       NS_TEMPLATE       => 'Шаблон',
+       NS_TEMPLATE_TALK  => 'Разговор_за_шаблон',
+       NS_HELP           => 'Помош',
+       NS_HELP_TALK      => 'Разговор_за_помош',
+       NS_CATEGORY       => 'Категорија',
+       NS_CATEGORY_TALK  => 'Разговор_за_категорија',
+);
+
+$linkTrail = '/^([a-zабвгдѓежзѕијклљмнњопрстќуфхцчџш]+)(.*)$/sDu';
+$separatorTransformTable = array(',' => '.', '.' => ',' );
+
+$messages = array(
 'tog-underline'         => 'Потцртај ги врските',
 'tog-highlightbroken'   => 'Покажи ги неправилните врски <a href="" class="new">вака</a> (алтернативно: вака<a href="" class="internal">?</a>).',
 'tog-justify'           => 'Двостранично порамнување на параграфите',
diff --git a/languages/MessagesMl.php b/languages/MessagesMl.php
new file mode 100644 (file)
index 0000000..d004f43
--- /dev/null
@@ -0,0 +1,23 @@
+<?php
+/** Malayalam (മലയാളം)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  *
+  * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
+  */
+
+$digitTransformTable = array(
+       '0' => '൦',
+       '1' => '൧',
+       '2' => '൨',
+       '3' => '൩',
+       '4' => '൪',
+       '5' => '൫',
+       '6' => '൬',
+       '7' => '൭',
+       '8' => '൮',
+       '9' => '൯'
+);
+
+?>
index 74ac9ad..3f8dd35 100644 (file)
@@ -1,7 +1,42 @@
 <?php
+/** Malay (Bahasa Melayu)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ */
 
-global $wgAllMessagesMs;
-$wgAllMessagesMs = array(
+# This localisation is based on a file kindly donated by the folks at MIMOS
+# http://www.asiaosc.org/enwiki/page/Knowledgebase_Home.html
+
+$quickbarSettings = array(
+       'Tiada', 'Tetap sebelah kiri', 'Tetap sebelah kanan', 'Berubah-ubah sebelah kiri'
+);
+
+$namespaceNames = array(
+       NS_MEDIA          => 'Media',
+       NS_SPECIAL        => 'Istimewa', #Special
+       NS_MAIN           => '',
+       NS_TALK           => 'Perbualan',#Talk
+       NS_USER           => 'Pengguna',#User
+       NS_USER_TALK      => 'Perbualan_Pengguna',#User_talk
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK   => 'Perbualan_$1',#Wikipedia_talk
+       NS_IMAGE          => 'Imej',#Image
+       NS_IMAGE_TALK     => 'Imej_Perbualan',#Image_talk
+       NS_MEDIAWIKI      => 'MediaWiki',#MediaWiki
+       NS_MEDIAWIKI_TALK => 'MediaWiki_Perbualan',#MediaWiki_talk
+       NS_TEMPLATE       => 'Templat',#Template
+       NS_TEMPLATE_TALK  => 'Perbualan_Templat',#Template_talk
+       NS_CATEGORY       => 'Kategori',#Category
+       NS_CATEGORY_TALK  => 'Perbualan_Kategori',#Category_talk
+       NS_HELP           => 'Bantuan',#Help
+       NS_HELP_TALK      => 'Perbualan_Bantuan' #Help_talk
+);
+
+$datePreferences = false;
+
+
+$messages = array(
 
 # User Toggles
 
index 9ebf344..b3f4b31 100644 (file)
@@ -1,7 +1,21 @@
 <?php
+/** Nahuatl
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  *
+  * @author Rob Church <robchur@gmail.com>
+  *
+  * @copyright Copyright © 2006, Rob Church
+  * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
+ */
 
-global $wgAllMessagesNah;
-$wgAllMessagesNah = array(
+# Per conversation with a user in IRC, we inherit from Spanish and work from there
+# Nahuatl was the language of the Aztecs, and a modern speaker is most likely to
+# understand Spanish if a Nah translation is not available
+$fallback = 'es';
+
+$messages = array(
 
        # Month names
        'january' => 'Tlacenti',
@@ -34,4 +48,4 @@ $wgAllMessagesNah = array(
 );
 
 
-?>
\ No newline at end of file
+?>
diff --git a/languages/MessagesNap.php b/languages/MessagesNap.php
new file mode 100644 (file)
index 0000000..64924cf
--- /dev/null
@@ -0,0 +1,10 @@
+<?php
+/** Neapolitan (Nnapulitano)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+$fallback = 'it';
+
+?>
index 5ca7d58..9a94187 100644 (file)
@@ -1,7 +1,106 @@
 <?php
 
+/** Low Saxon (Plattdüütsch)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ */
+$quickbarSettings = array(
+       'Keen', 'Links, fast', 'Rechts, fast', 'Links, sweven'
+);
+
+$magicWords = array(
+       #   ID                                 CASE  SYNONYMS
+       'redirect'               => array( 0, '#redirect',                   '#wiederleiden'          ),
+       'notoc'                  => array( 0, '__NOTOC__',                   '__KEENINHOLTVERTEKEN__' ),
+       'forcetoc'               => array( 0, '__FORCETOC__',                '__WIESINHOLTVERTEKEN__' ),
+       'toc'                    => array( 0, '__TOC__',                     '__INHOLTVERTEKEN__'     ),
+       'noeditsection'          => array( 0, '__NOEDITSECTION__',           '__KEENÄNNERNLINK__'     ),
+       'start'                  => array( 0, '__START__'                                             ),
+       'currentmonth'           => array( 1, 'CURRENTMONTH',                'AKTMAAND'               ),
+       'currentmonthname'       => array( 1, 'CURRENTMONTHNAME',            'AKTMAANDNAAM'           ),
+       'currentday'             => array( 1, 'CURRENTDAY',                  'AKTDAG'                 ),
+       'currentdayname'         => array( 1, 'CURRENTDAYNAME',              'AKTDAGNAAM'             ),
+       'currentyear'            => array( 1, 'CURRENTYEAR',                 'AKTJOHR'                ),
+       'currenttime'            => array( 1, 'CURRENTTIME',                 'AKTTIED'                ),
+       'numberofarticles'       => array( 1, 'NUMBEROFARTICLES',            'ARTIKELTALL'            ),
+       'currentmonthnamegen'    => array( 1, 'CURRENTMONTHNAMEGEN',         'AKTMAANDNAAMGEN'        ),
+       'pagename'               => array( 1, 'PAGENAME',                    'SIETNAAM'               ),
+       'pagenamee'              => array( 1, 'PAGENAMEE',                   'SIETNAAME'              ),
+       'namespace'              => array( 1, 'NAMESPACE',                   'NAAMRUUM'               ),
+       'subst'                  => array( 0, 'SUBST:'                                                ),
+       'msgnw'                  => array( 0, 'MSGNW:'                                                ),
+       'end'                    => array( 0, '__END__',                     '__ENN__'                ),
+       'img_thumbnail'          => array( 1, 'thumbnail', 'thumb',          'duum'                   ),
+       'img_right'              => array( 1, 'right',                       'rechts'                 ),
+       'img_left'               => array( 1, 'left',                        'links'                  ),
+       'img_none'               => array( 1, 'none',                        'keen'                   ),
+       'img_width'              => array( 1, '$1px',                        '$1px'                   ),
+       'img_center'             => array( 1, 'center', 'centre',            'merrn'                  ),
+       'img_framed'             => array( 1, 'framed', 'enframed', 'frame', 'rahmt'                  ),
+       'int'                    => array( 0, 'INT:'                                                  ),
+       'sitename'               => array( 1, 'SITENAME',                    'STEEDNAAM'              ),
+       'ns'                     => array( 0, 'NS:',                         'NR:'                    ),
+       'localurl'               => array( 0, 'LOCALURL:',                   'STEEDURL:'              ),
+       'localurle'              => array( 0, 'LOCALURLE:',                  'STEEDURLE:'             ),
+       'server'                 => array( 0, 'SERVER',                      'SERVER'                 ),
+       'grammar'                => array( 0, 'GRAMMAR:',                    'GRAMMATIK:'             )
+);
+
+$skinNames = array(
+       'standard'      => 'Klassik',
+       'nostalgia'     => 'Nostalgie',
+       'cologneblue'   => 'Kölsch Blau',
+       'smarty'        => 'Paddington',
+       'chick'         => 'Küken'
+);
+
+
+$bookstoreList = array(
+       'Verteken vun leverbore Böker'  => 'http://www.buchhandel.de/sixcms/list.php?page=buchhandel_profisuche_frameset&suchfeld=isbn&suchwert=$1=0&y=0',
+       'abebooks.de'                   => 'http://www.abebooks.de/servlet/BookSearchPL?ph=2&isbn=$1',
+       'Amazon.de'                     => 'http://www.amazon.de/exec/obidos/ISBN=$1',
+       'Lehmanns Fachbuchhandlung'     => 'http://www.lob.de/cgi-bin/work/suche?flag=new&stich1=$1',
+);
+
+$namespaceNames = array(
+       NS_MEDIA            => 'Media',
+       NS_SPECIAL          => 'Spezial',
+       NS_MAIN             => '',
+       NS_TALK             => 'Diskuschoon',
+       NS_USER             => 'Bruker',
+       NS_USER_TALK        => 'Bruker_Diskuschoon',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => '$1_Diskuschoon',
+       NS_IMAGE            => 'Bild',
+       NS_IMAGE_TALK       => 'Bild_Diskuschoon',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'MediaWiki_Diskuschoon',
+       NS_TEMPLATE         => 'Vörlaag',
+       NS_TEMPLATE_TALK    => 'Vörlaag_Diskuschoon',
+       NS_HELP             => 'Hülp',
+       NS_HELP_TALK        => 'Hülp_Diskuschoon',
+       NS_CATEGORY         => 'Kategorie',
+       NS_CATEGORY_TALK    => 'Kategorie_Diskuschoon'
+);
+$linkTrail = '/^([äöüßa-z]+)(.*)$/sDu';
+$separatorTransformTable = array(',' => '.', '.' => ',' );
+
+$dateFormats = array(
+       'mdy time' => 'H:i',
+       'mdy date' => 'M j., Y',
+       'mdy both' => 'H:i, M j., Y',
+
+       'dmy time' => 'H:i',
+       'dmy date' => 'j. M Y',
+       'dmy both' => 'H:i, j. M Y',
+
+       'ymd time' => 'H:i',
+       'ymd date' => 'Y M j.',
+       'ymd both' => 'H:i, Y M j.',
+);
 
-/* private */ $wgAllMessagesNds = array(
+$messages = array(
 # Schalter för de Brukers
 'tog-underline'               => 'Verwies ünnerstrieken',
 'tog-highlightbroken'         => 'Verwies op leddige Sieten hervörheven',
 'category'              => 'Kategorie',
 'category_header'       => 'Sieten in de Kategorie $1',
 'subcategories'         => 'Ünnerkategorien',
-'linktrail'                        => '/^([äöüßa-z]+)(.*)$/sDu',
 'mainpage'                      => 'Hööftsiet',
 'mainpagetext'          => 'De Wiki-Software is mit Spood installeert worrn.',
 'mainpagedocfooter'     => 'Kiek de [http://meta.wikipedia.org/wiki/MediaWiki_i18n Dokumentatschoon för dat Anpassen vun de Brukerböversiet]
diff --git a/languages/MessagesNds_nl.php b/languages/MessagesNds_nl.php
new file mode 100644 (file)
index 0000000..cfacc11
--- /dev/null
@@ -0,0 +1,60 @@
+<?php
+/** Dutch Lower Saxon (Nedersaksisch)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  *
+  * @bug 4497
+  *
+  * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>, Jens Frank
+  * @copyright Copyright © 2005, Ævar Arnfjörð Bjarmason, Jens Frank
+  * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
+  */
+
+$fallback = 'nds';
+
+$skinNames = array(
+       'standard'      => 'Klassiek',
+       'nostalgia'     => 'Nostalgie',
+       'cologneblue'   => 'Keuls blauw',
+       'smarty'        => 'Paddington',
+       'chick'         => 'Sjiek'
+);
+
+$namespaceNames = array(
+       NS_MEDIA            => 'Media',
+       NS_SPECIAL          => 'Speciaol',
+       NS_MAIN             => '',
+       NS_TALK             => 'Overleg',
+       NS_USER             => 'Gebruker',
+       NS_USER_TALK        => 'Overleg_gebruker',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => 'Overleg_$1',
+       NS_IMAGE            => 'Ofbeelding',
+       NS_IMAGE_TALK       => 'Overleg_ofbeelding',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'Overleg_MediaWiki',
+       NS_TEMPLATE         => 'Sjabloon',
+       NS_TEMPLATE_TALK    => 'Overleg_sjabloon',
+       NS_HELP             => 'Help',
+       NS_HELP_TALK        => 'Overleg_help',
+       NS_CATEGORY         => 'Categorie',
+       NS_CATEGORY_TALK    => 'Overleg_categorie'
+);
+
+$dateFormats = array(
+       'mdy time' => 'H:i',
+       'mdy date' => 'M j, Y',
+       'mdy both' => 'H:i, M j, Y',
+
+       'dmy time' => 'H:i',
+       'dmy date' => 'j M Y',
+       'dmy both' => 'H:i, j M Y',
+
+       'ymd time' => 'H:i',
+       'ymd date' => 'Y M j',
+       'ymd both' => 'H:i, Y M j',
+);
+
+
+?>
index f4edac4..b5bac78 100644 (file)
@@ -1,5 +1,61 @@
 <?php
+/** Dutch (Nederlands)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ */
+
+$quickbarSettings = array(
+       'Uitgeschakeld', 'Links vast', 'Rechts vast', 'Links zwevend'
+);
+
+$skinNames = array(
+       'standard' => 'Standaard',
+       'nostalgia' => 'Nostalgie',
+       'cologneblue' => 'Keuls blauw',
+);
+
+$bookstoreList = array(
+       'Koninklijke Bibliotheek' => 'http://opc4.kb.nl/DB=1/SET=5/TTL=1/CMD?ACT=SRCH&IKT=1007&SRT=RLV&TRM=$1'
+);
+
+$namespaceNames = array(
+       NS_MEDIA          => 'Media',
+       NS_SPECIAL        => 'Speciaal',
+       NS_MAIN           => '',
+       NS_TALK           => 'Overleg',
+       NS_USER           => 'Gebruiker',
+       NS_USER_TALK      => 'Overleg_gebruiker',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK   => 'Overleg_$1',
+       NS_IMAGE          => 'Afbeelding',
+       NS_IMAGE_TALK     => 'Overleg_afbeelding',
+       NS_MEDIAWIKI      => 'MediaWiki',
+       NS_MEDIAWIKI_TALK => 'Overleg_MediaWiki',
+       NS_TEMPLATE       => 'Sjabloon',
+       NS_TEMPLATE_TALK  => 'Overleg_sjabloon',
+       NS_HELP           => 'Help',
+       NS_HELP_TALK      => 'Overleg_help',
+       NS_CATEGORY       => 'Categorie',
+       NS_CATEGORY_TALK  => 'Overleg_categorie'
+);
+
+$dateFormats = array(
+       'mdy time' => 'H:i',
+       'mdy date' => 'M j, Y',
+       'mdy both' => 'M j, Y H:i',
+
+       'dmy time' => 'H:i',
+       'dmy date' => 'j M Y',
+       'dmy both' => 'j M Y H:i',
+
+       'ymd time' => 'H:i',
+       'ymd date' => 'Y M j',
+       'ymd both' => 'Y M j H:i',
+);
 
+$separatorTransformTable = array(',' => '.', '.' => ',' );
+$linkTrail = '/^([a-zäöüïëéèà]+)(.*)$/sDu';
 
 #-------------------------------------------------------------------
 # Default messages
@@ -8,8 +64,7 @@
 # hyphen (-). If you need more characters, you may be able to change
 # the regex in MagicWord::initRegex
 
-global $wgAllMessagesNl;
-$wgAllMessagesNl = array(
+$messages = array(
 /*
 The sidebar for MonoBook is generated from this message, lines that do not
 begin with * or ** are discarded, furthermore lines that do begin with ** and
index 5dc439a..2fada2a 100644 (file)
 <?php
+/** Norwegian (Nynorsk)
+  *
+  * @license http://www.gnu.org/copyleft/fdl.html GNU Free Documentation License
+  * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License
+  *
+  * @author Olve Utne
+  * @author Guttorm Flatabø
+  * @link http://meta.wikimedia.org/w/index.php?title=LanguageNn.php&action=history
+  * @link http://nn.wikipedia.org/w/index.php?title=Brukar:Dittaeva/LanguageNn.php&action=history
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+
+$quickbarSettings = array(
+       'Ingen', 'Venstre', 'Høgre', 'Flytande venstre', 'Flytande høgre'
+);
+
+$skinNames = array(
+       'standard'        => 'Klassisk',
+       'nostalgia'       => 'Nostalgi',
+       'cologneblue'     => 'Kölnerblå',
+       'myskin'          => 'MiDrakt'
+);
+
+$datePreferences = array(
+       'default',
+       'dmyt',
+       'short dmyt',
+       'tdmy',
+       'short dmyt',
+       'ISO 8601',
+);
+
+$datePreferenceMigrationMap = array(
+       'default',
+       'dmyt',
+       'short dmyt',
+       'tdmy',
+       'short tdmy',
+);
+
+$dateFormats = array(
+       /*
+       'Standard',
+       '15. januar 2001 kl. 16:12',
+       '15. jan. 2001 kl. 16:12',
+       '16:12, 15. januar 2001',
+       '16:12, 15. jan. 2001',
+       'ISO 8601' => '2001-01-15 16:12:34'
+ */
+       'dmyt time' => 'H:i',
+       'dmyt date' => 'j. F Y',
+       'dmyt both' => 'j. F Y "kl." H:i',
+
+       'short dmyt time' => 'H:i',
+       'short dmyt date' => 'j. M. Y',
+       'short dmyt both' => 'j. M. Y "kl." H:i',
+
+       'tdmy time' => 'H:i',
+       'tdmy date' => 'j. F Y',
+       'tdmy both' => 'H:i, j. F Y',
+
+       'short tdmy time' => 'H:i',
+       'short tdmy date' => 'j. M. Y',
+       'short tdmy both' => 'H:i, j. M. Y',
+);
+
+$bookstoreList = array(
+       'Bibsys'       => 'http://ask.bibsys.no/ask/action/result?kilde=biblio&fid=isbn&lang=nn&term=$1',
+       'BokBerit'     => 'http://www.bokberit.no/annet_sted/bocker/$1.html',
+       'Bokkilden'    => 'http://www.bokkilden.no/ProductDetails.aspx?ProductId=$1',
+       'Haugenbok'    => 'http://www.haugenbok.no/resultat.cfm?st=hurtig&isbn=$1',
+       'Akademika'    => 'http://www.akademika.no/sok.php?isbn=$1',
+       'Gnist'        => 'http://www.gnist.no/sok.php?isbn=$1',
+       'Amazon.co.uk' => 'http://www.amazon.co.uk/exec/obidos/ISBN=$1',
+       'Amazon.de'    => 'http://www.amazon.de/exec/obidos/ISBN=$1',
+       'Amazon.com'   => 'http://www.amazon.com/exec/obidos/ISBN=$1'
+);
+
+# Note to translators:
+#   Please include the English words as synonyms.  This allows people
+#   from other wikis to contribute more easily.
+#
+$magicWords = array(
+       #   ID                                 CASE  SYNONYMS
+       'redirect'               => array( 0,    '#redirect', '#omdiriger'                                              ),
+       'notoc'                  => array( 0,    '__NOTOC__', '__INGAINNHALDSLISTE__', '__INGENINNHOLDSLISTE__'         ),
+       'forcetoc'               => array( 0,    '__FORCETOC__', '__ALLTIDINNHALDSLISTE__', '__ALLTIDINNHOLDSLISTE__'   ),
+       'toc'                    => array( 0,    '__TOC__', '__INNHALDSLISTE__', '__INNHOLDSLISTE__'                    ),
+       'noeditsection'          => array( 0,    '__NOEDITSECTION__', '__INGABOLKENDRING__', '__INGABOLKREDIGERING__', '__INGENDELENDRING__'),
+       'currentmonth'           => array( 1,    'CURRENTMONTH', 'MÅNADNO', 'MÅNEDNÅ'                                   ),
+       'currentmonthname'       => array( 1,    'CURRENTMONTHNAME', 'MÅNADNONAMN', 'MÅNEDNÅNAVN'                       ),
+       'currentmonthabbrev'     => array( 1,    'CURRENTMONTHABBREV', 'MÅNADNOKORT', 'MÅNEDNÅKORT'                     ),
+       'currentday'             => array( 1,    'CURRENTDAY', 'DAGNO', 'DAGNÅ'                                         ),
+       'currentdayname'         => array( 1,    'CURRENTDAYNAME', 'DAGNONAMN', 'DAGNÅNAVN'                             ),
+       'currentyear'            => array( 1,    'CURRENTYEAR', 'ÅRNO', 'ÅRNÅ'                                          ),
+       'currenttime'            => array( 1,    'CURRENTTIME', 'TIDNO', 'TIDNÅ'                                        ),
+       'numberofarticles'       => array( 1,    'NUMBEROFARTICLES', 'INNHALDSSIDETAL', 'INNHOLDSSIDETALL'              ),
+       'numberoffiles'          => array( 1,    'NUMBEROFFILES', 'FILTAL'                                              ),
+       'pagename'               => array( 1,    'PAGENAME', 'SIDENAMN', 'SIDENAVN'                                     ),
+       'pagenamee'              => array( 1,    'PAGENAMEE', 'SIDENAMNE', 'SIDENAVNE'                                  ),
+       'namespace'              => array( 1,    'NAMESPACE', 'NAMNEROM', 'NAVNEROM'                                    ),
+       'subst'                  => array( 0,    'SUBST:', 'LIMINN:'                                                    ),
+       'msgnw'                  => array( 0,    'MSGNW:', 'IKWIKMELD:'                                                 ),
+       'end'                    => array( 0,    '__END__', '__SLUTT__'                                                 ),
+       'img_thumbnail'          => array( 1,    'thumbnail', 'thumb', 'mini', 'miniatyr'                               ),
+       'img_manualthumb'        => array( 1,    'thumbnail=$1', 'thumb=$1', 'mini=$1', 'miniatyr=$1'                   ),
+       'img_right'              => array( 1,    'right', 'høgre', 'høyre'                                              ),
+       'img_left'               => array( 1,    'left', 'venstre'                                                      ),
+       'img_none'               => array( 1,    'none', 'ingen'                                                        ),
+       'img_width'              => array( 1,    '$1px', '$1pk'                                                         ),
+       'img_center'             => array( 1,    'center', 'centre', 'sentrum'                                          ),
+       'img_framed'             => array( 1,    'framed', 'enframed', 'frame', 'ramme'                                 ),
+       'sitename'               => array( 1,    'SITENAME', 'NETTSTADNAMN'                                             ),
+       'ns'                     => array( 0,    'NS:', 'NR:'                                                           ),
+       'localurl'               => array( 0,    'LOCALURL:', 'LOKALLENKJE:', 'LOKALLENKE:'                             ),
+       'localurle'              => array( 0,    'LOCALURLE:', 'LOKALLENKJEE:', 'LOKALLENKEE:'                          ),
+       'server'                 => array( 0,    'SERVER', 'TENAR', 'TJENER'                                            ),
+       'servername'             => array( 0,    'SERVERNAME', 'TENARNAMN', 'TJENERNAVN'                                ),
+       'scriptpath'             => array( 0,    'SCRIPTPATH', 'SKRIPTSTI'                                              ),
+       'grammar'                => array( 0,    'GRAMMAR:', 'GRAMMATIKK:'                                              ),
+       'notitleconvert'         => array( 0,    '__NOTITLECONVERT__', '__NOTC__'                                       ),
+       'nocontentconvert'       => array( 0,    '__NOCONTENTCONVERT__', '__NOCC__'                                     ),
+       'currentweek'            => array( 1,    'CURRENTWEEK', 'VEKENRNO', 'UKENRNÅ'                                   ),
+       'currentdow'             => array( 1,    'CURRENTDOW', 'VEKEDAGNRNO', 'UKEDAGNRNÅ'                              ),
+       'revisionid'             => array( 1,    'REVISIONID', 'VERSJONSID'                                             )
+);
+
+$namespaceNames = array(
+       NS_MEDIA          => 'Filpeikar',
+       NS_SPECIAL        => 'Spesial',
+       NS_MAIN           => '',
+       NS_TALK           => 'Diskusjon',
+       NS_USER           => 'Brukar',
+       NS_USER_TALK      => 'Brukardiskusjon',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK   => '$1-diskusjon',
+       NS_IMAGE          => 'Fil',
+       NS_IMAGE_TALK     => 'Fildiskusjon',
+       NS_MEDIAWIKI      => 'MediaWiki',
+       NS_MEDIAWIKI_TALK => 'MediaWiki-diskusjon',
+       NS_TEMPLATE       => 'Mal',
+       NS_TEMPLATE_TALK  => 'Maldiskusjon',
+       NS_HELP           => 'Hjelp',
+       NS_HELP_TALK      => 'Hjelpdiskusjon',
+       NS_CATEGORY       => 'Kategori',
+       NS_CATEGORY_TALK  => 'Kategoridiskusjon'
+);
+
+$separatorTransformTable = array(
+       ',' => "\xc2\xa0",
+       '.' => ','
+);
+$linkTrail = '/^([æøåa-z]+)(.*)$/sDu';
 
 
 #-------------------------------------------------------------------
 # Default messages
 #-------------------------------------------------------------------
 
-/* private */ $wgAllMessagesNn = array(
+$messages = array(
 # User preference toggles
 'tog-underline'           => 'Strek under lenkjer:',
 'tog-highlightbroken'     => 'Vis lenkjer til tomme sider <a href="" class="new">slik</a> (alternativt slik<a href="" class="internal">?</a>)',
 'category_header'         => 'Artiklar i kategorien «$1»',
 'subcategories'           => 'Underkategoriar',
 
-'linktrail'              => '/^([æøåa-z]+)(.*)$/sDu',
 'mainpage'               => 'Hovudside',
 'mainpagetext'           => 'MediaWiki er no installert.',
 'mainpagedocfooter'       => 'Sjå [http://meta.wikipedia.org/wiki/MediaWiki_localization dokumentasjon for å tilpasse brukargrensesnittet] og [http://meta.wikipedia.org/wiki/Help:Contents brukarmanualen] for bruk og konfigurasjonshjelp.',
index cdf0c84..c2de67a 100644 (file)
@@ -1,7 +1,68 @@
 <?php
+/** Norwegian (Norsk (bokmål))
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ */
 
-global $wgAllMessagesNo;
-$wgAllMessagesNo = array(
+$quickbarSettings = array(
+       'Ingen', 'Fast venstre', 'Fast høyre', 'Flytende venstre'
+);
+
+$skinNames = array(
+       'standard'    => 'Standard',
+       'nostalgia'   => 'Nostalgi',
+       'cologneblue' => 'Kölnerblå'
+);
+
+$bookstoreList = array(
+       'Antikvariat.net' => 'http://www.antikvariat.net/',
+       'Frida' => 'http://wo.uio.no/as/WebObjects/frida.woa/wa/fres?action=sok&isbn=$1&visParametre=1&sort=alfabetisk&bs=50',
+       'Bibsys' => 'http://ask.bibsys.no/ask/action/result?cmd=&kilde=biblio&fid=isbn&term=$1&op=and&fid=bd&term=&arstall=&sortering=sortdate-&treffPrSide=50',
+       'Akademika' => 'http://www.akademika.no/sok.php?ts=4&sok=$1',
+       'Haugenbok' => 'http://www.haugenbok.no/resultat.cfm?st=extended&isbn=$1',
+       'Amazon.com' => 'http://www.amazon.com/exec/obidos/ISBN=$1'
+);
+
+$namespaceNames = array(
+       NS_MEDIA          => 'Medium',
+       NS_SPECIAL        => 'Spesial',
+       NS_MAIN           => '',
+       NS_TALK           => 'Diskusjon',
+       NS_USER           => 'Bruker',
+       NS_USER_TALK      => 'Brukerdiskusjon',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK   => '$1-diskusjon',
+       NS_IMAGE          => 'Bilde',
+       NS_IMAGE_TALK     => 'Bildediskusjon',
+       NS_MEDIAWIKI      => 'MediaWiki',
+       NS_MEDIAWIKI_TALK => 'MediaWiki-diskusjon',
+       NS_TEMPLATE       => 'Mal',
+       NS_TEMPLATE_TALK  => 'Maldiskusjon',
+       NS_HELP           => 'Hjelp',
+       NS_HELP_TALK      => 'Hjelpdiskusjon',
+       NS_CATEGORY       => 'Kategori',
+       NS_CATEGORY_TALK  => 'Kategoridiskusjon',
+);
+
+$separatorTransformTable = array(',' => "\xc2\xa0", '.' => ',' );
+
+$dateFormats = array(
+       'mdy time' => 'H:i',
+       'mdy date' => 'M j., Y',
+       'mdy both' => 'M j., Y "kl." H:i',
+
+       'dmy time' => 'H:i',
+       'dmy date' => 'j. M Y',
+       'dmy both' => 'j. M Y "kl." H:i',
+
+       'ymd time' => 'H:i',
+       'ymd date' => 'Y M j.',
+       'ymd both' => 'Y M j. "kl." H:i',
+);
+
+
+$messages = array(
 'tog-underline'         => 'Strek under lenker:',
 'tog-highlightbroken'   => 'Formater ødelagte lenker <a href="" class="new">slik</a> (alternativt: slik<a href="" class="internal">?</a>).',
 'tog-justify'           => 'Blokkjusterte avsnitt',
diff --git a/languages/MessagesNon.php b/languages/MessagesNon.php
new file mode 100644 (file)
index 0000000..17b7e2a
--- /dev/null
@@ -0,0 +1,11 @@
+<?php
+/** Old Norse (Norrǿna)
+  *
+  * Defaults to Icelandic instead of English.
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
+$fallback = 'is';
+
+?>
diff --git a/languages/MessagesNv.php b/languages/MessagesNv.php
new file mode 100644 (file)
index 0000000..d0646cc
--- /dev/null
@@ -0,0 +1,72 @@
+<?php
+/** Navajo (Diné bizaad)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ */
+
+$skinNames = array(
+       'mono' => 'Łáa\'ígíí',
+       'monobook' => 'NaaltsoosŁáa\'ígíí'
+);
+
+$namespaceNames = array(
+       NS_MEDIA            => 'Media',
+       NS_SPECIAL          => 'Special',
+       NS_MAIN             => '',
+       NS_TALK             => 'Naaltsoos_baa_yinísht\'į́',
+       NS_USER             => 'Choinish\'įįhí',
+       NS_USER_TALK        => 'Choinish\'įįhí_baa_yinísht\'į́',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => '$1_baa_yinísht\'į́',
+       NS_IMAGE            => 'E\'elyaaígíí',
+       NS_IMAGE_TALK       => 'E\'elyaaígíí_baa_yinísht\'į́',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'MediaWiki_baa_yinísht\'į́',
+       NS_TEMPLATE         => 'Template',
+       NS_TEMPLATE_TALK    => 'Template_talk',
+       NS_HELP             => 'Aná\'álwo\'',
+       NS_HELP_TALK        => 'Aná\'álwo\'_baa_yinísht\'į́',
+       NS_CATEGORY         => 'T\'ááłáhági_át\'éego',
+       NS_CATEGORY_TALK    => 'T\'ááłáhági_át\'éego_baa_yinísht\'į́'
+);
+
+$datePreferences = false;
+
+$messages = array(
+'sunday'                => 'Damóogo', 
+'monday'                => 'Damóo biiskání', 
+'tuesday'               => 'Damóodóó naakiską́o', 
+'wednesday'             => 'Damóodóó tágí jį́', 
+'thursday'              => 'Damóodóó dį́į́\' yiską́o',
+'friday'                => 'Nda\'iiníísh', 
+'saturday'              => 'Yiską́ damóo',
+
+'january'               => 'Yas Niłt\'ees', 
+'february'              => 'Atsá Biyáázh', 
+'march'                 => 'Wóózhch\'į́į́d', 
+'april'                 => 'T\'ą́ą́chil',
+'may_long'              => 'T\'ą́ą́tsoh', 
+'june'                  => 'Ya\'iishjááshchilí',
+'july'                  => 'Ya\'iishjáástsoh', 
+'august'                => 'Bini\'ant\'ą́ą́ts\'ózí',
+'september'             => 'Bini\'ant\'ą́ą́tsoh', 
+'october'               => 'Ghąąjį', 
+'november'              => 'Níłch\'its\'ósí',
+'december'              => 'Níłch\'itsoh',
+
+'jan'                   => 'Ynts', 
+'feb'                   => 'Atsb', 
+'mar'                   => 'Wozh', 
+'apr'                   => 'Tchi', 
+'may'                   => 'Ttso', 
+'jun'                   => 'Yjsh', 
+'jul'                   => 'Yjts', 
+'aug'                   => 'Btsz', 
+'sep'                   => 'Btsx', 
+'oct'                   => 'Ghąj', 
+'nov'                   => 'Ntss', 
+'dec'                   => 'Ntsx',
+);
+
+?>
index 5da87fa..70f7f72 100644 (file)
@@ -1,7 +1,60 @@
 <?php
+/** Occitan (Occitan)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ */
+$quickbarSettings = array(
+       'Cap', 'Esquèr', 'Drech', 'Flotejant a esquèr'
+);
+
+$skinNames = array(
+       'standard' => 'Normal',
+       'nostalgia' => 'Nostalgia',
+       'cologneblue' => 'Còlonha Blau',
+);
+
+$bookstoreList = array(
+       'Amazon.fr' => 'http://www.amazon.fr/exec/obidos/ISBN=$1'
+);
+
+$namespaceNames = array(
+       NS_SPECIAL        => 'Especial',
+       NS_MAIN           => '',
+       NS_TALK           => 'Discutir',
+       NS_USER           => 'Utilisator',
+       NS_USER_TALK      => 'Discutida_Utilisator',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK   => 'Discutida_$1',
+       NS_IMAGE          => 'Imatge',
+       NS_IMAGE_TALK     => 'Discutida_Imatge',
+       NS_MEDIAWIKI      => 'Mediaòiqui',
+       NS_MEDIAWIKI_TALK => 'Discutida_Mediaòiqui',
+       NS_TEMPLATE       => 'Modèl',
+       NS_TEMPLATE_TALK  => 'Discutida_Modèl',
+       NS_HELP           => 'Ajuda',
+       NS_HELP_TALK      => 'Discutida_Ajuda',
+       NS_CATEGORY       => 'Categoria',
+       NS_CATEGORY_TALK  => 'Discutida_Categoria',
+);
+$linkTrail = "/^([a-zàâçéèêîôû]+)(.*)\$/sDu";
+
+$dateFormats = array(
+       'mdy time' => 'H:i',
+       'mdy date' => 'M j, Y',
+       'mdy both' => 'M j, Y à H:i',
+
+       'dmy time' => 'H:i',
+       'dmy date' => 'j M Y',
+       'dmy both' => 'j M Y à H:i',
+
+       'ymd time' => 'H:i',
+       'ymd date' => 'Y M j',
+       'ymd both' => 'Y M j à H:i',
+);
 
 
-/* private */ $wgAllMessagesOc = array(
+$messages = array(
 
 # User Toggles
 
 "subcategories"        => "Sous-catégories", // Looxix "Subcategories",
 
 
-"linktrail"     => "/^([a-zàâçéèêîôû]+)(.*)\$/sDu",
 "mainpage"      => "Accueil",
 "mainpagetext"  => "Logiciel {{SITENAME}} installé.",
 "about"         => "À propos",
diff --git a/languages/MessagesOr.php b/languages/MessagesOr.php
new file mode 100644 (file)
index 0000000..c513649
--- /dev/null
@@ -0,0 +1,22 @@
+<?php
+/** Oriya (ଓଡ଼ିଆ)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  *
+  * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
+  */
+$digitTransformTable = array(
+       '0' => '୦',
+       '1' => '୧',
+       '2' => '୨',
+       '3' => '୩',
+       '4' => '୪',
+       '5' => '୫',
+       '6' => '୬',
+       '7' => '୭',
+       '8' => '୮',
+       '9' => '୯',
+);
+
+?>
index 83c8a10..eb83cab 100644 (file)
@@ -1,7 +1,51 @@
 <?php
+/** Ossetic (Иронау)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ */
+$fallback = 'ru';
+
+$quickbarSettings = array(
+       'Ма равдис', 'Галиуырдыгæй', 'Рахизырдыгæй', 'Рахизырдыгæй ленккæнгæ'
+);
+
+$skinNames = array(
+       'standard' => 'Стандартон',
+       'nostalgia' => 'Æнкъард',
+       'cologneblue' => 'Кёльны æрхæндæг',
+       'davinci' => 'Да Винчи',
+       'mono' => 'Моно',
+       'monobook' => 'Моно-чиныг',
+       'myskin' => 'Мæхи',
+       'chick' => 'Карк'
+);
+$namespaceNames = array(
+       NS_MEDIA            => 'Media', //чтоб не писать "Мультимедия"
+       NS_SPECIAL          => 'Сæрмагонд',
+       NS_MAIN             => '',
+       NS_TALK             => 'Дискусси',
+       NS_USER             => 'Архайæг',
+       NS_USER_TALK        => 'Архайæджы_дискусси',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => 'Дискусси_$1',
+       NS_IMAGE            => 'Ныв',
+       NS_IMAGE_TALK       => 'Нывы_тыххæй_дискусси',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'Дискусси_MediaWiki',
+       NS_TEMPLATE         => 'Шаблон',
+       NS_TEMPLATE_TALK    => 'Шаблоны_тыххæй_дискусси',
+       NS_HELP             => 'Æххуыс',
+       NS_HELP_TALK        => 'Æххуысы_тыххæй_дискусси',
+       NS_CATEGORY         => 'Категори',
+       NS_CATEGORY_TALK    => 'Категорийы_тыххæй_дискусси',
+);
+
+$linkTrail = '/^((?:[a-z]|а|æ|б|в|г|д|е|ё|ж|з|и|й|к|л|м|н|о|п|р|с|т|у|ф|х|ц|ч|ш|щ|ъ|ы|ь|э|ю|я|“|»)+)(.*)$/sDu';
+$fallback8bitEncoding =  'windows-1251';
 
 
-/* private */ $wgAllMessagesOs = array(
+$messages = array(
 'titlematches' => 'Статьяты сæргæндты æмцаутæ',
 'toc' => 'Сæргæндтæ',
 'addedwatch' => "Дæ цæст кæмæ дарыс, уыцы статьятæм бафтыд.",
index 8154afb..359272f 100644 (file)
@@ -1,7 +1,57 @@
 <?php
+/** Punjabi (Gurmukhi)
+  * @package MediaWiki
+  * @subpackage Language
+  */
+# This file is dual-licensed under GFDL and GPL.
+#
+# See: http://bugzilla.wikimedia.org/show_bug.cgi?id=1478
+
+$quickbarSettings = array(
+       'ਕੋਈ ਨਹੀਂ', 'ਸਥਿਰ ਖੱਬੇ', 'ਸਥਿਰ ਸੱਜਾ', 'ਤੈਰਦਾ ਖੱਬੇ'
+);
+
+$skinNames = array(
+       'standard'      => 'ਮਿਆਰੀ',
+);
+
+$namespaceNames = array(
+       NS_MEDIA          => 'ਮੀਡੀਆ',
+       NS_SPECIAL        => 'ਖਾਸ',
+       NS_MAIN           => '',
+       NS_TALK           => 'ਚਰਚਾ',
+       NS_USER           => 'ਮੈਂਬਰ',
+       NS_USER_TALK      => 'ਮੈਂਬਰ_ਚਰਚਾ',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK   => '$1_ਚਰਚਾ',
+       NS_IMAGE          => 'ਤਸਵੀਰ',
+       NS_IMAGE_TALK     => 'ਤਸਵੀਰ_ਚਰਚਾ',
+       NS_MEDIAWIKI      => 'ਮੀਡੀਆਵਿਕਿ',
+       NS_MEDIAWIKI_TALK => 'ਮੀਡੀਆਵਿਕਿ_ਚਰਚਾ',
+       NS_TEMPLATE       => 'ਨਮੂਨਾ',
+       NS_TEMPLATE_TALK  => 'ਨਮੂਨਾ_ਚਰਚਾ',
+       NS_HELP           => 'ਮਦਦ',
+       NS_HELP_TALK      => 'ਮਦਦ_ਚਰਚਾ',
+       NS_CATEGORY       => 'ਸ਼੍ਰੇਣੀ',
+       NS_CATEGORY_TALK  => 'ਸ਼੍ਰੇਣੀ_ਚਰਚਾ'
+);
+
+$digitTransformTable = array(
+       '0' => '੦',
+       '1' => '੧',
+       '2' => '੨',
+       '3' => '੩',
+       '4' => '੪',
+       '5' => '੫',
+       '6' => '੬',
+       '7' => '੭',
+       '8' => '੮',
+       '9' => '੯'
+);
+$linkTrail = '/^([ਁਂਃਅਆਇਈਉਊਏਐਓਔਕਖਗਘਙਚਛਜਝਞਟਠਡਢਣਤਥਦਧਨਪਫਬਭਮਯਰਲਲ਼ਵਸ਼ਸਹ਼ਾਿੀੁੂੇੈੋੌ੍ਖ਼ਗ਼ਜ਼ੜਫ਼ੰੱੲੳa-z]+)(.*)$/sDu';
+
 
-global $wgAllMessagesPa;
-$wgAllMessagesPa = array(
+$messages = array(
 # Bits of text used by many pages:
 #
 
@@ -43,7 +93,6 @@ $wgAllMessagesPa = array(
 'category_header'      => 'ਸ਼੍ਰੇਣੀ \'$1\' ਵਾਲੇ ਲੇਖ',
 'subcategories'        => 'ਉਪਸ਼੍ਰੇਣੀਆਂ',
 
-'linktrail'            => '/^([ਁਂਃਅਆਇਈਉਊਏਐਓਔਕਖਗਘਙਚਛਜਝਞਟਠਡਢਣਤਥਦਧਨਪਫਬਭਮਯਰਲਲ਼ਵਸ਼ਸਹ਼ਾਿੀੁੂੇੈੋੌ੍ਖ਼ਗ਼ਜ਼ੜਫ਼ੰੱੲੳa-z]+)(.*)$/sDu',
 'mainpage'             => 'ਮੁੱਖ ਪੰਨਾ',
 'mainpagetext' => 'ਵਿਕਿ ਸਾਫ਼ਟਵੇਅਰ ਚੰਗੀ ਤਰ੍ਹਾਂ ਇੰਸਟਾਲ ਹੋ ਗਿਆ ਹੈ',
 
index de1e84c..5456e3e 100644 (file)
@@ -1,7 +1,58 @@
 <?php
+/** Polish (Polski)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ */
+
+$namespaceNames = array(
+       NS_MEDIA            => 'Media',
+       NS_SPECIAL          => 'Specjalna',
+       NS_MAIN             => '',
+       NS_TALK             => 'Dyskusja',
+       NS_USER             => 'Użytkownik',
+       NS_USER_TALK        => 'Dyskusja_użytkownika',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => 'Dyskusja_$1',
+       NS_IMAGE            => 'Grafika',
+       NS_IMAGE_TALK       => 'Dyskusja_grafiki',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'Dyskusja_MediaWiki',
+       NS_TEMPLATE         => 'Szablon',
+       NS_TEMPLATE_TALK    => 'Dyskusja_szablonu',
+       NS_HELP             => 'Pomoc',
+       NS_HELP_TALK        => 'Dyskusja_pomocy',
+       NS_CATEGORY         => 'Kategoria',
+       NS_CATEGORY_TALK    => 'Dyskusja_kategorii'
+);
+
+$quickbarSettings = array(
+       'Brak', 'Stały, z lewej', 'Stały, z prawej', 'Unoszący się, z lewej'
+);
+
+$dateFormats = array(
+       'mdy time' => 'H:i',
+       'mdy date' => 'M j, Y',
+       'mdy both' => 'H:i, M j, Y',
+
+       'dmy time' => 'H:i',
+       'dmy date' => 'j M Y',
+       'dmy both' => 'H:i, j M Y',
+
+       'ymd time' => 'H:i',
+       'ymd date' => 'Y M j',
+       'ymd both' => 'H:i, Y M j',
+);
+
+$fallback8bitEncoding = 'iso-8859-2';
+$separatorTransformTable = array(
+       ',' => "\xc2\xa0", // @bug 2749
+       '.' => ','
+);
+$linkTrail = '/^([a-zęóąśłżźćńĘÓĄŚŁŻŹĆŃ]+)(.*)$/sDu';
+
 
-global $wgAllMessagesPl;
-$wgAllMessagesPl = array(
+$messages = array(
 
 # User preference toggles
 'tog-underline' => 'Podkreślenie linków:',
index 90abf89..92fc319 100644 (file)
@@ -1,7 +1,41 @@
 <?php
+/** Piedmontese (Piemontèis)
+  * Users are bilingual in Piedmontese and Italian, using Italian as template.
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  *
+  * @bug 5362
+  *
+  * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>, Jens Frank
+  * @copyright Copyright © 2005, Ævar Arnfjörð Bjarmason, Jens Frank
+  * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
+  */
+$fallback = 'it';
 
-global $wgAllMessagesPms;
-$wgAllMessagesPms = array(
+$namespaceNames = array(
+       NS_MEDIA            => 'Media',
+       NS_SPECIAL          => 'Special',
+       NS_MAIN             => '',
+       NS_TALK             => 'Discussion',
+       NS_USER             => 'Utent',
+       NS_USER_TALK        => 'Ciaciarade',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => 'Discussion_ant_sla_$1',
+       NS_IMAGE            => 'Figura',
+       NS_IMAGE_TALK       => 'Discussion_dla_figura',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'Discussion_dla_MediaWiki',
+       NS_TEMPLATE         => 'Stamp',
+       NS_TEMPLATE_TALK    => 'Discussion_dlë_stamp',
+       NS_HELP             => 'Agiut',
+       NS_HELP_TALK        => 'Discussion_ant_sl\'agiut',
+       NS_CATEGORY         => 'Categorìa',
+       NS_CATEGORY_TALK    => 'Discussion_ant_sla_categorìa'
+);
+
+
+$messages = array(
 'tog-underline'         => 'Anliure con la sotliniadura',
 'tog-highlightbroken'   => 'Buta an evidensa j\'anliure che a men-o a<br />
 dj\'artìcol ancó pa scrit',
diff --git a/languages/MessagesPs.php b/languages/MessagesPs.php
new file mode 100644 (file)
index 0000000..439e7cd
--- /dev/null
@@ -0,0 +1,17 @@
+<?php
+/**
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+# Stub for Pashto
+
+$rtl = true;
+$defaultUserOptionOverrides = array(
+       # Swap sidebar to right side by default
+       'quickbar' => 2,
+       # Underlines seriously harm legibility. Force off:
+       'underline' => 0,
+);
+
+?>
index 2d3dbae..f25df27 100644 (file)
@@ -1,7 +1,124 @@
 <?php
+/** Portuguese (Português)
+ * This translation was made by:
+ *  - Yves Marques Junqueira
+ *  - Rodrigo Calanca Nishino
+ *  - Nuno Tavares
+ *  - Paulo Juntas
+ *  - Manuel Menezes de Sequeira
+ *  - Sérgio Ribeiro
+ * from the Portuguese Wikipedia
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ */
+
+$namespaceNames = array(
+       NS_MEDIA            => 'Media', # -2
+       NS_SPECIAL          => 'Especial', # -1
+       NS_MAIN             => '', # 0
+       NS_TALK             => 'Discussão', # 1
+       NS_USER             => 'Usuário',
+       NS_USER_TALK        => 'Usuário_Discussão',
+/*
+       Above entries are for PT_br. The following entries should
+    be used instead. But:
+
+     DO NOT USE THOSE ENTRIES WITHOUT MIGRATING STUFF ON
+     WIKIMEDIA WEB SERVERS FIRST !! You will just break a lot
+     of links 8-)
+
+       NS_USER             => 'Utilizador', # 2
+       NS_USER_TALK        => 'Utilizador_Discussão', # 3
+*/
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => '$1_Discussão', # 5
+       NS_IMAGE            => 'Imagem', # 6
+       NS_IMAGE_TALK       => 'Imagem_Discussão', # 7
+       NS_MEDIAWIKI        => 'MediaWiki', # 8
+       NS_MEDIAWIKI_TALK   => 'MediaWiki_Discussão', # 9
+       NS_TEMPLATE         => 'Predefinição', # 10
+       NS_TEMPLATE_TALK    => 'Predefinição_Discussão', # 11
+       NS_HELP             => 'Ajuda', # 12
+       NS_HELP_TALK        => 'Ajuda_Discussão', # 13
+       NS_CATEGORY         => 'Categoria', # 14
+       NS_CATEGORY_TALK    => 'Categoria_Discussão' # 15
+);
+
+$quickbarSettings = array(
+       'Nenhuma', 'Fixo à esquerda', 'Fixo à direita', 'Flutuando à esquerda', 'Flutuando à direita'
+);
+
+$skinNames = array(
+       'standard' => 'Clássico',
+       'nostalgia' => 'Nostalgia',
+       'cologneblue' => 'Azul colonial',
+       'davinci' => 'DaVinci',
+       'mono' => 'Mono',
+       'monobook' => 'MonoBook',
+       'myskin' => 'MySkin',
+       'chick' => 'Chick'
+);
+
+# Note to translators:
+#   Please include the English words as synonyms.  This allows people
+#   from other wikis to contribute more easily.
+#
+$magicWords = array(
+#   ID                                 CASE  SYNONYMS
+       'redirect'               => array( 0,    '#REDIRECT', '#redir'    ),
+       'notoc'                  => array( 0,    '__NOTOC__'              ),
+       'forcetoc'               => array( 0,    '__FORCETOC__'           ),
+       'toc'                    => array( 0,    '__TOC__'                ),
+       'noeditsection'          => array( 0,    '__NOEDITSECTION__'      ),
+       'start'                  => array( 0,    '__START__'              ),
+       'currentmonth'           => array( 1,    'CURRENTMONTH'           ),
+       'currentmonthname'       => array( 1,    'CURRENTMONTHNAME'       ),
+       'currentmonthnamegen'    => array( 1,    'CURRENTMONTHNAMEGEN'    ),
+       'currentmonthabbrev'     => array( 1,    'CURRENTMONTHABBREV'     ),
+       'currentday'             => array( 1,    'CURRENTDAY'             ),
+       'currentdayname'         => array( 1,    'CURRENTDAYNAME'         ),
+       'currentyear'            => array( 1,    'CURRENTYEAR'            ),
+       'currenttime'            => array( 1,    'CURRENTTIME'            ),
+       'numberofarticles'       => array( 1,    'NUMBEROFARTICLES'       ),
+       'numberoffiles'          => array( 1,    'NUMBEROFFILES'          ),
+       'pagename'               => array( 1,    'PAGENAME'               ),
+       'pagenamee'              => array( 1,    'PAGENAMEE'              ),
+       'namespace'              => array( 1,    'NAMESPACE'              ),
+       'msg'                    => array( 0,    'MSG:'                   ),
+       'subst'                  => array( 0,    'SUBST:'                 ),
+       'msgnw'                  => array( 0,    'MSGNW:'                 ),
+       'end'                    => array( 0,    '__END__'                ),
+       'img_thumbnail'          => array( 1,    'thumbnail', 'thumb'     ),
+       'img_manualthumb'        => array( 1,    'thumbnail=$1', 'thumb=$1'),
+       'img_right'              => array( 1,    'right', 'direita'       ),
+       'img_left'               => array( 1,    'left', 'esquerda'       ),
+       'img_none'               => array( 1,    'none', 'nenhum'         ),
+       'img_width'              => array( 1,    '$1px'                   ),
+       'img_center'             => array( 1,    'center', 'centre'       ),
+       'img_framed'             => array( 1,    'framed', 'enframed', 'frame' ),
+       'int'                    => array( 0,    'INT:'                   ),
+       'sitename'               => array( 1,    'SITENAME'               ),
+       'ns'                     => array( 0,    'NS:'                    ),
+       'localurl'               => array( 0,    'LOCALURL:'              ),
+       'localurle'              => array( 0,    'LOCALURLE:'             ),
+       'server'                 => array( 0,    'SERVER'                 ),
+       'servername'             => array( 0,    'SERVERNAME'             ),
+       'scriptpath'             => array( 0,    'SCRIPTPATH'             ),
+       'grammar'                => array( 0,    'GRAMMAR:'               ),
+       'notitleconvert'         => array( 0,    '__NOTITLECONVERT__', '__NOTC__'),
+       'nocontentconvert'       => array( 0,    '__NOCONTENTCONVERT__', '__NOCC__'),
+       'currentweek'            => array( 1,    'CURRENTWEEK'            ),
+       'currentdow'             => array( 1,    'CURRENTDOW'             ),
+       'revisionid'             => array( 1,    'REVISIONID'             ),
+);
+
+$separatorTransformTable = array(',' => ' ', '.' => ',' );
+#$linkTrail = '/^([a-z]+)(.*)$/sD';# ignore list
+
 
 
-/* private */ $wgAllMessagesPt = array(
+$messages = array(
 
 # User preference toggles
 'tog-underline' => 'Sublinhar hiperligações',
 'subcategories' => 'Subcategorias',
 
 
-#'linktrail'             => '/^([a-z]+)(.*)$/sD', # ignore list
 #'linkprefix'            => '/^(.*?)([a-zA-Z\x80-\xff]+)$/sD', # ignore list
 'mainpage'              => 'Página principal',
 'mainpagetext'    => "<big>'''MediaWiki instalado com sucesso.'''</big>",
index 565c390..bc6f0f6 100644 (file)
@@ -1,7 +1,43 @@
 <?php
+/** Brazilian Portugese (Portuguêsi do Brasil)
+  * @package MediaWiki
+  * @subpackage Language
+  */
+#
+# This translation was made by Yves Marques Junqueira
+# and Rodrigo Calanca Nishino from Portuguese Wikipedia
+#
+
+$fallback = 'pt';
+
+$skinNames = array(
+       'standard' => 'Padrão',
+);
+
+$namespaceNames = array(
+       NS_MEDIA          => 'Media',
+       NS_SPECIAL        => 'Especial',
+       NS_MAIN           => '',
+       NS_TALK           => 'Discussão',
+       NS_USER           => 'Usuário',
+       NS_USER_TALK      => 'Usuário_Discussão',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK   => '$1_Discussão',
+       NS_IMAGE          => 'Imagem',
+       NS_IMAGE_TALK     => 'Imagem_Discussão',
+       NS_MEDIAWIKI      => 'MediaWiki',
+       NS_MEDIAWIKI_TALK => 'MediaWiki_Discussão',
+       NS_TEMPLATE       => 'Predefinição',
+       NS_TEMPLATE_TALK  => 'Predefinição_Discussão',
+       NS_HELP           => 'Ajuda',
+       NS_HELP_TALK      => 'Ajuda_Discussão',
+       NS_CATEGORY       => 'Categoria',
+       NS_CATEGORY_TALK  => 'Categoria_Discussão'
+);
+$linkTrail = "/^([a-z]+)(.*)\$/sD";
+
 
-global $wgAllMessagesPt_br;
-$wgAllMessagesPt_br = array(
+$messages = array(
 # User Toggles
 "tog-underline" => "Sublinha links",
 "tog-highlightbroken" => "Formata links quebrados <a href=\"\" class=\"new\"> como isto </a> (alternative: como isto<a href=\"\" class=\"internal\">?</a>).",
@@ -62,7 +98,6 @@ $wgAllMessagesPt_br = array(
 "category_header" => "Articles in category \"$1\"",
 "subcategories" => "Subcategories",
 
-"linktrail"     => "/^([a-z]+)(.*)\$/sD",
 "mainpage"      => "Página principal",
 "mainpagetext"  => "Software Wiki instalado com sucesso.",
 "about"         => "Sobre",
diff --git a/languages/MessagesQu.php b/languages/MessagesQu.php
new file mode 100644 (file)
index 0000000..c3bcbf9
--- /dev/null
@@ -0,0 +1,9 @@
+<?php
+/** Quechua (Runa Simi)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+$fallback = 'es';
+?>
index c493330..e7ccc1a 100644 (file)
@@ -1,7 +1,21 @@
 <?php
+/** Vlax Romany (Romani)
+  *
+  * @subpackage Language
+  *
+  * @bug 5422
+  *
+  * @author Niklas Laxström
+  *
+  * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
+  */
 
-global $wgAllMessagesRmy;
-$wgAllMessagesRmy = array(
+/**
+ * Use Romanian as default instead of English
+ */
+$fallback = 'ro';
+
+$messages = array(
 'subcategories'         => 'Telekategoriye',
 'mainpage'              => 'Sherutni patrin',
 'portal'                => 'Maladipnasko than',
index 2abc6fe..8d4de49 100644 (file)
@@ -1,7 +1,78 @@
 <?php
+/** Romanian (Română)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ */
+$quickbarSettings = array(
+       'Fără', 'Fixă, în stânga', 'Fixă, în dreapta', 'Liberă'
+);
+
+$skinNames = array(
+       'standard' => 'Normală',
+       'nostalgia' => 'Nostalgie'
+);
+
+$magicWords = array(
+       #   ID                                 CASE  SYNONYMS
+       'redirect'               => array( 0,    '#redirect'                                       ),
+       'notoc'                  => array( 0,    '__NOTOC__', '__FARACUPRINS__'                    ),
+       'noeditsection'          => array( 0,    '__NOEDITSECTION__', '__FARAEDITSECTIUNE__'       ),
+       'start'                  => array( 0,    '__START__'                                       ),
+       'currentmonth'           => array( 1,    'CURRENTMONTH', '{{NUMARLUNACURENTA}}'            ),
+       'currentmonthname'       => array( 1,    'CURRENTMONTHNAME', '{{NUMELUNACURENTA}}'         ),
+       'currentday'             => array( 1,    'CURRENTDAY', '{{NUMARZIUACURENTA}}'              ),
+       'currentdayname'         => array( 1,    'CURRENTDAYNAME', '{{NUMEZIUACURENTA}}'           ),
+       'currentyear'            => array( 1,    'CURRENTYEAR', '{{ANULCURENT}}'                   ),
+       'currenttime'            => array( 1,    'CURRENTTIME', '{{ORACURENTA}}'                   ),
+       'numberofarticles'       => array( 1,    'NUMBEROFARTICLES', '{{NUMARDEARTICOLE}}'         ),
+       'currentmonthnamegen'    => array( 1,    'CURRENTMONTHNAMEGEN', '{{NUMELUNACURENTAGEN}}'   ),
+       'subst'                  => array( 0,    'SUBST:'                                          ),
+       'msgnw'                  => array( 0,    'MSGNW:', 'MSJNOU:'                               ),
+       'end'                    => array( 0,    '__END__', '__FINAL__'                            ),
+       'img_thumbnail'          => array( 1,    'thumbnail', 'thumb'                              ),
+       'img_right'              => array( 1,    'right'                                           ),
+       'img_left'               => array( 1,    'left'                                            ),
+       'img_none'               => array( 1,    'none'                                            ),
+       'img_width'              => array( 1,    '$1px'                                            ),
+       'img_center'             => array( 1,    'center', 'centre'                                ),
+       'int'                    => array( 0,    'INT:'                                            )
+);
+
+$namespaceNames = array(
+       NS_MEDIA          => 'Media',
+       NS_SPECIAL        => 'Special',
+       NS_MAIN           => '',
+       NS_TALK           => 'Discuţie',
+       NS_USER           => 'Utilizator',
+       NS_USER_TALK      => 'Discuţie_Utilizator',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK   => 'Discuţie_$1',
+       NS_IMAGE          => 'Imagine',
+       NS_IMAGE_TALK     => 'Discuţie_Imagine',
+       NS_MEDIAWIKI      => 'MediaWiki',
+       NS_MEDIAWIKI_TALK => 'Discuţie_MediaWiki',
+       NS_TEMPLATE       => 'Format',
+       NS_TEMPLATE_TALK  => 'Discuţie_Format',
+       NS_HELP           => 'Ajutor',
+       NS_HELP_TALK      => 'Discuţie_Ajutor',
+       NS_CATEGORY       => 'Categorie',
+       NS_CATEGORY_TALK  => 'Discuţie_Categorie'
+);
+
+$datePreferences = false;
+$defaultDateFormat = 'dmy';
+$dateFormats = array(
+       'dmy time' => 'H:i',
+       'dmy date' => 'j F Y',
+       'dmy both' => 'j F Y H:i',
+);
+
+$fallback8bitEncoding = 'iso8859-2';
+
+
 
-global $wgAllMessagesRo;
-$wgAllMessagesRo = array(
+$messages = array(
 'tog-underline'         => 'Subliniază legăturile',
 'tog-highlightbroken'   => 'Formatează legăturile necreate <a href="" class="new">aşa</a> (alternativă: aşa<a href="" class="internal">?</a>).',
 'tog-justify'           => 'Aranjează justificat paragrafele',
index 21e28b0..fa4bf90 100644 (file)
@@ -8,8 +8,130 @@
   *
   */
 
-global $wgAllMessagesRu;
-$wgAllMessagesRu = array(
+$namespaceNames = array(
+       NS_MEDIA            => 'Медиа',
+       NS_SPECIAL          => 'Служебная',
+       NS_MAIN             => '',
+       NS_TALK             => 'Обсуждение',
+       NS_USER             => 'Участник',
+       NS_USER_TALK        => 'Обсуждение_участника',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => 'Обсуждение_{{grammar:genitive|$1}}',
+       NS_IMAGE            => 'Изображение',
+       NS_IMAGE_TALK       => 'Обсуждение_изображения',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'Обсуждение_MediaWiki',
+       NS_TEMPLATE         => 'Шаблон',
+       NS_TEMPLATE_TALK    => 'Обсуждение_шаблона',
+       NS_HELP             => 'Справка',
+       NS_HELP_TALK        => 'Обсуждение_справки',
+       NS_CATEGORY         => 'Категория',
+       NS_CATEGORY_TALK    => 'Обсуждение_категории',
+);
+
+
+$quickbarSettings = array(
+       'Не показывать', 'Неподвижная слева', 'Неподвижная справа', 'Плавающая слева', 'Плавающая справа'
+);
+
+$skinNames = array(
+       'standard' => 'Стандартный',
+       'nostalgia' => 'Ностальгия',
+       'cologneblue' => 'Кёльнская тоска',
+       'davinci' => 'Да Винчи',
+       'mono' => 'Моно',
+       'monobook' => 'Моно-книга',
+       'myskin' => 'Своё',
+       'chick' => 'Цыпа'
+);
+
+
+$bookstoreList = array(
+       'ОЗОН' => 'http://www.ozon.ru/?context=advsearch_book&isbn=$1',
+       'Books.Ru' => 'http://www.books.ru/shop/search/advanced?as%5Btype%5D=books&as%5Bname%5D=&as%5Bisbn%5D=$1&as%5Bauthor%5D=&as%5Bmaker%5D=&as%5Bcontents%5D=&as%5Binfo%5D=&as%5Bdate_after%5D=&as%5Bdate_before%5D=&as%5Bprice_less%5D=&as%5Bprice_more%5D=&as%5Bstrict%5D=%E4%E0&as%5Bsub%5D=%E8%F1%EA%E0%F2%FC&x=22&y=8',
+       'Яндекс.Маркет' => 'http://market.yandex.ru/search.xml?text=$1',
+       'Amazon.com' => 'http://www.amazon.com/exec/obidos/ISBN=$1'
+);
+
+
+# Note to translators:
+#   Please include the English words as synonyms.  This allows people
+#   from other wikis to contribute more easily.
+#
+$magicWords = array(
+#   ID                                 CASE  SYNONYMS
+       'redirect'               => array( 0,    '#REDIRECT', '#ПЕРЕНАПРАВЛЕНИЕ', '#ПЕРЕНАПР'),
+       'notoc'                  => array( 0,    '__NOTOC__', '__БЕЗСОДЕРЖАНИЯ__'),
+       'forcetoc'               => array( 0,    '__FORCETOC__'),
+       'toc'                    => array( 0,    '__TOC__', '__СОДЕРЖАНИЕ__'),
+       'noeditsection'          => array( 0,    '__NOEDITSECTION__', '__БЕЗРЕДАКТИРОВАНИЯРАЗДЕЛА__'),
+       'start'                  => array( 0,    '__START__', '__НАЧАЛО__'),
+       'currentmonth'           => array( 1,    'CURRENTMONTH', 'ТЕКУЩИЙМЕСЯЦ'),
+       'currentmonthname'       => array( 1,    'CURRENTMONTHNAME','НАЗВАНИЕТЕКУЩЕГОМЕСЯЦА'),
+       'currentmonthnamegen'    => array( 1,    'CURRENTMONTHNAMEGEN','НАЗВАНИЕТЕКУЩЕГОМЕСЯЦАРОД'),
+       'currentmonthabbrev'     => array( 1,    'CURRENTMONTHABBREV', 'НАЗВАНИЕТЕКУЩЕГОМЕСЯЦААБР'),
+       'currentday'             => array( 1,    'CURRENTDAY','ТЕКУЩИЙДЕНЬ'),
+       'currentday2'            => array( 1,    'CURRENTDAY2','ТЕКУЩИЙДЕНЬ2'),
+       'currentdayname'         => array( 1,    'CURRENTDAYNAME','НАЗВАНИЕТЕКУЩЕГОДНЯ'),
+       'currentyear'            => array( 1,    'CURRENTYEAR','ТЕКУЩИЙГОД'),
+       'currenttime'            => array( 1,    'CURRENTTIME','ТЕКУЩЕЕВРЕМЯ'),
+       'numberofarticles'       => array( 1,    'NUMBEROFARTICLES','КОЛИЧЕСТВОСТАТЕЙ'),
+       'numberoffiles'          => array( 1,    'NUMBEROFFILES', 'КОЛИЧЕСТВОФАЛОВ'),
+       'pagename'               => array( 1,    'PAGENAME','НАЗВАНИЕСТРАНИЦЫ'),
+       'pagenamee'              => array( 1,    'PAGENAMEE','НАЗВАНИЕСТРАНИЦЫ2'),
+       'namespace'              => array( 1,    'NAMESPACE','ПРОСТРАНСТВОИМЁН'),
+       'msg'                    => array( 0,    'MSG:'),
+       'subst'                  => array( 0,    'SUBST:','ПОДСТ:'),
+       'msgnw'                  => array( 0,    'MSGNW:'),
+       'end'                    => array( 0,    '__END__','__КОНЕЦ__'),
+       'img_thumbnail'          => array( 1,    'thumbnail', 'thumb', 'мини'),
+       'img_manualthumb'        => array( 1,    'thumbnail=$1', 'thumb=$1', 'мини=$1'),
+       'img_right'              => array( 1,    'right','справа'),
+       'img_left'               => array( 1,    'left','слева'),
+       'img_none'               => array( 1,    'none'),
+       'img_width'              => array( 1,    '$1px','$1пкс'),
+       'img_center'             => array( 1,    'center', 'centre','центр'),
+       'img_framed'             => array( 1,    'framed', 'enframed', 'frame','обрамить'),
+       'int'                    => array( 0,    'INT:'),
+       'sitename'               => array( 1,    'SITENAME','НАЗВАНИЕСАЙТА'),
+       'ns'                     => array( 0,    'NS:','ПИ:'),
+       'localurl'               => array( 0,    'LOCALURL:'),
+       'localurle'              => array( 0,    'LOCALURLE:'),
+       'server'                 => array( 0,    'SERVER','СЕРВЕР'),
+       'servername'             => array( 0,    'SERVERNAME', 'НАЗВАНИЕСЕРВЕРА'),
+       'scriptpath'             => array( 0,    'SCRIPTPATH', 'ПУТЬКСКРИПТУ'),
+       'grammar'                => array( 0,    'GRAMMAR:'),
+       'notitleconvert'         => array( 0,    '__NOTITLECONVERT__', '__NOTC__', '__БЕЗПРЕОБРАЗОВАНИЯЗАГОЛОВКА__'),
+       'nocontentconvert'       => array( 0,    '__NOCONTENTCONVERT__', '__NOCC__', '__БЕЗПРЕОБРАЗОВАНИЯТЕКСТА__'),
+       'currentweek'            => array( 1,    'CURRENTWEEK','ТЕКУЩАЯНЕДЕЛЯ'),
+       'currentdow'             => array( 1,    'CURRENTDOW','ТЕКУЩИЙДЕНЬНЕДЕЛИ'),
+       'revisionid'             => array( 1,    'REVISIONID', 'ИДВЕРСИИ'),
+);
+
+$separatorTransformTable = array(
+       ',' => "\xc2\xa0",
+       '.' => ','
+);
+
+$fallback8bitEncoding = 'windows-1251';
+$linkPrefixExtension = true;
+$linkTrail = '/^([a-zабвгдеёжзийклмнопрстуфхцчшщъыьэюя“»]+)(.*)$/sDu';
+
+$dateFormats = array(
+       'mdy time' => 'H:i',
+       'mdy date' => 'xg j, Y',
+       'mdy both' => 'H:i, xg j, Y',
+
+       'dmy time' => 'H:i',
+       'dmy date' => 'j xg Y',
+       'dmy both' => 'H:i, j xg Y',
+
+       'ymd time' => 'H:i',
+       'ymd date' => 'Y xg j',
+       'ymd both' => 'H:i, Y xg j',
+);
+
+$messages = array(
 
 # User preference toggles
 'tog-underline' => 'Подчёркивать ссылки:',
@@ -105,7 +227,6 @@ $wgAllMessagesRu = array(
 'subcategories' => 'Подкатегории',
 
 
-'linktrail'             => '/^([a-zабвгдеёжзийклмнопрстуфхцчшщъыьэюя“»]+)(.*)$/sDu',
 'linkprefix'            => '/^(.*?)(„|«)$/sD',
 'mainpage'              => 'Заглавная страница',
 'mainpagetext'  => '<big>Вики-движок «MediaWiki» успешно установлен.</big>',
index 7d7a228..7adcda4 100644 (file)
@@ -1,7 +1,42 @@
 <?php
+/**
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+$namespaceNames = array(
+       NS_SPECIAL         => 'Speciale',
+       NS_MAIN            => '',
+       NS_TALK            => 'Contièndha',
+       NS_USER            => 'Utente',
+       NS_USER_TALK       => 'Utente_discussioni',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK    => '$1_discussioni',
+       NS_IMAGE           => 'Immàgini',
+       NS_IMAGE_TALK      => 'Immàgini_contièndha'
+);
+
+$quickbarSettings = array(
+       "Nessuno", "Fisso a sinistra", "Fisso a destra", "Fluttuante a sinistra"
+);
+
+$dateFormats = array(
+       'mdy time' => 'H:i',
+       'mdy date' => 'M j, Y',
+       'mdy both' => 'H:i, M j, Y',
+
+       'dmy time' => 'H:i',
+       'dmy date' => 'j M Y',
+       'dmy both' => 'H:i, j M Y',
+
+       'ymd time' => 'H:i',
+       'ymd date' => 'Y M j',
+       'ymd both' => 'H:i, Y M j',
+);
 
+$linkTrail = "/^([a-z]+)(.*)\$/sD";
 
-/* private */ $wgAllMessagesSc = array(
+$messages = array(
 # User Toggles
 
 "tog-underline" => "Sottolinea links",
@@ -52,7 +87,6 @@
 
 # Bits of text used by many pages:
 #
-"linktrail"            => "/^([a-z]+)(.*)\$/sD",
 'mainpage'             => 'Pàggina principali',
 'about'                        => 'A proposito di',
 'aboutsite'      => 'A proposito di {{SITENAME}}',
diff --git a/languages/MessagesSd.php b/languages/MessagesSd.php
new file mode 100644 (file)
index 0000000..f4cc7db
--- /dev/null
@@ -0,0 +1,12 @@
+<?php
+/** Sindhi language file ( सिनधि )
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+#FIXME: inherit almost everything for now
+
+$rtl = true;
+
+?>
index b868627..1f432b5 100644 (file)
@@ -1,7 +1,160 @@
 <?php
+/**
+ * Slovak (Slovenčina)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ */
 
-global $wgAllMessagesSk;
-$wgAllMessagesSk = array(
+
+$quickbarSettings = array(
+       'Žiadne', 'Ukotvené vľavo', 'Ukotvené vpravo', 'Plávajúce vľavo'
+);
+
+$datePreferences = array(
+       'default',
+       'dmyt',
+       'short dmyt',
+       'tdmy',
+       'short dmyt',
+       'ISO 8601',
+);
+
+$datePreferenceMigrationMap = array(
+       'default',
+       'dmyt',
+       'short dmyt',
+       'tdmy',
+       'short tdmy',
+);
+
+$dateFormats = array(
+       /*
+       'Default',
+       '15. január 2001 16:12',
+       '15. jan. 2001 16:12',
+       '16:12, 15. január 2001',
+       '16:12, 15. jan. 2001',
+       'ISO 8601' => '2001-01-15 16:12:34'*/
+
+       'dmyt time' => 'H:i',
+       'dmyt date' => 'j. F Y',
+       'dmyt both' => 'j. F Y H:i',
+
+       'short dmyt time' => 'H:i',
+       'short dmyt date' => 'j. M. Y',
+       'short dmyt both' => 'j. M. Y H:i',
+
+       'tdmy time' => 'H:i',
+       'tdmy date' => 'j. F Y',
+       'tdmy both' => 'H:i, j. F Y',
+
+       'short tdmy time' => 'H:i',
+       'short tdmy date' => 'j. M. Y',
+       'short tdmy both' => 'H:i, j. M. Y',
+       
+);
+
+$bookstoreList = array(
+       'Bibsys' => 'http://ask.bibsys.no/ask/action/result?cmd=&kilde=biblio&fid=isbn&term=$1',
+       'BokBerit' => 'http://www.bokberit.no/annet_sted/bocker/$1.html',
+       'Bokkilden' => 'http://www.bokkilden.no/ProductDetails.aspx?ProductId=$1',
+       'Haugenbok' => 'http://www.haugenbok.no/searchresults.cfm?searchtype=simple&isbn=$1',
+       'Akademika' => 'http://www.akademika.no/sok.php?isbn=$1',
+       'Gnist' => 'http://www.gnist.no/sok.php?isbn=$1',
+       'Amazon.co.uk' => 'http://www.amazon.co.uk/exec/obidos/ISBN=$1',
+       'Amazon.de' => 'http://www.amazon.de/exec/obidos/ISBN=$1',
+       'Amazon.com' => 'http://www.amazon.com/exec/obidos/ISBN=$1'
+);
+
+# Note to translators:
+# Please include the English words as synonyms. This allows people
+# from other wikis to contribute more easily.
+#
+$magicWords = array(
+       # ID CASE SYNONYMS
+       'redirect'   => array( 0, '#redirect', '#presmeruj' ),
+       'notoc'   => array( 0, '__NOTOC__', '__BEZOBSAHU__' ),
+       'forcetoc'   => array( 0, '__FORCETOC__', '__VYNÚŤOBSAH__' ),
+       'toc'   => array( 0, '__TOC__', '__OBSAH__' ),
+       'noeditsection'   => array( 0, '__NOEDITSECTION__', '__NEUPRAVUJSEKCIE__' ),
+       'start'   => array( 0, '__START__', '__ŠTART__' ),
+       'currentmonth'   => array( 1, 'CURRENTMONTH', 'MESIAC' ),
+       'currentmonthname'   => array( 1, 'CURRENTMONTHNAME', 'MENOMESIACA' ),
+       'currentmonthnamegen'   => array( 1, 'CURRENTMONTHNAMEGEN', 'MENOAKTUÁLNEHOMESIACAGEN' ),
+       'currentmonthabbrev'     => array( 1, 'CURRENTMONTHABBREV', 'MENOAKTUÁLNEHOMESIACASKRATKA' ),
+       'currentday'   => array( 1, 'CURRENTDAY', 'AKTUÁLNYDEŇ' ),
+       'currentdayname'   => array( 1, 'CURRENTDAYNAME', 'MENOAKTUÁLNEHODŇA' ),
+       'currentyear'   => array( 1, 'CURRENTYEAR', 'AKTUÁLNYROK' ),
+       'currenttime'   => array( 1, 'CURRENTTIME', 'AKTUÁLNYČAS' ),
+       'numberofarticles'   => array( 1, 'NUMBEROFARTICLES', 'POČETČLÁNKOV' ),
+       'pagename'   => array( 1, 'PAGENAME', 'MENOSTRÁNKY' ),
+       'pagenamee'   => array( 1, 'PAGENAMEE' ),
+       'namespace'   => array( 1, 'NAMESPACE', 'MENNÝPRIESTOR' ),
+       'msg'   => array( 0, 'MSG:', 'SPRÁVA:' ),
+       'subst'   => array( 0, 'SUBST:' ),
+       'msgnw'   => array( 0, 'MSGNW:' ),
+       'end'   => array( 0, '__END__', '__KONIEC__' ),
+       'img_thumbnail'   => array( 1, 'thumbnail', 'thumb', 'náhľad', 'náhľadobrázka' ),
+       'img_right'   => array( 1, 'right', 'vpravo' ),
+       'img_left'   => array( 1, 'left', 'vľavo' ),
+       'img_none'   => array( 1, 'none', 'žiadny' ),
+       'img_width'   => array( 1, '$1px', '$1bod' ),
+       'img_center'   => array( 1, 'center', 'centre', 'stred' ),
+       'img_framed'   => array( 1, 'framed', 'enframed', 'frame', 'rám' ),
+       'int'   => array( 0, 'INT:' ),
+       'sitename'   => array( 1, 'SITENAME', 'MENOLOKALITY' ),
+       'ns'   => array( 0, 'NS:', 'MP:' ),
+       'localurl'   => array( 0, 'LOCALURL:' ),
+       'localurle'   => array( 0, 'LOCALURLE:' ),
+       'server'   => array( 0, 'SERVER' ),
+       'grammar'   => array( 0, 'GRAMMAR:', 'GRAMATIKA:' ),
+       'notitleconvert'   => array( 0, '__NOTITLECONVERT__', '__NOTC__' ),
+       'nocontentconvert'   => array( 0, '__NOCONTENTCONVERT__', '__NOCC__' ),
+       'currentweek'   => array( 1, 'CURRENTWEEK', 'AKTUÁLNYTÝŽDEŇ' ),
+       'currentdow'   => array( 1, 'CURRENTDOW' ),
+       'revisionid'   => array( 1, 'REVISIONID' ),
+);
+
+$namespaceNames = array(
+       NS_MEDIA          => 'Médiá',
+       NS_SPECIAL        => 'Špeciálne',
+       NS_MAIN           => '',
+       NS_TALK           => 'Diskusia',
+       NS_USER           => 'Redaktor',
+       NS_USER_TALK      => 'Diskusia_s_redaktorom',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK   => 'Diskusia_k_{{grammar:datív|$1}}',
+       NS_IMAGE          => 'Obrázok',
+       NS_IMAGE_TALK     => 'Diskusia_k_obrázku',
+       NS_MEDIAWIKI      => 'MediaWiki',
+       NS_MEDIAWIKI_TALK => 'Diskusia_k_MediaWiki',
+       NS_TEMPLATE       => 'Šablóna',
+       NS_TEMPLATE_TALK  => 'Diskusia_k_šablóne',
+       NS_HELP           => 'Pomoc',
+       NS_HELP_TALK      => 'Diskusia_k_pomoci',
+       NS_CATEGORY       => 'Kategória',
+       NS_CATEGORY_TALK  => 'Diskusia_ku_kategórii'
+);
+
+# Compatbility with old names
+$namespaceAliases = array(
+       "Komentár"               => NS_TALK,
+       "Komentár_k_redaktorovi" => NS_USER_TALK,
+       "Komentár_k_Wikipédii"   => NS_PROJECT_TALK,
+       "Komentár_k_obrázku"     => NS_IMAGE_TALK,
+       "Komentár_k_MediaWiki"   => NS_MEDIAWIKI_TALK,
+);
+
+$separatorTransformTable = array(
+       ',' => "\xc2\xa0",
+       '.' => ','
+);
+
+$linkTrail = '/^([a-záäčďéíľĺňóôŕšťúýž]+)(.*)$/sDu';
+
+
+$messages = array(
 'tog-underline'         => 'Podčiarkuj odkazy',
 'tog-highlightbroken'   => 'Neexistujúce odkazy zobrazuj červenou',
 'tog-justify'           => 'Zarovnávaj odstavce',
index 6aaf3b3..4707f40 100644 (file)
@@ -1,7 +1,54 @@
 <?php
+/** Slovenian (Slovenščina)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ *
+ */
 
-global $wgAllMessagesSl;
-$wgAllMessagesSl = array(
+#
+# Revision/
+# Inačica 1.00.00 XJamRastafire 2003-07-08 |NOT COMPLETE
+#         1.00.10 XJamRastafire 2003-11-03 |NOT COMPLETE
+# ______________________________________________________
+#         1.00.20 XJamRastafire 2003-11-05 |    COMPLETE
+#         1.00.30 romanm        2003-11-07 |    minor changes
+#         1.00.31 romanm        2003-11-11 |    merged incorrectly broken lines
+#         1.00.32 romanm        2003-11-19 |    merged incorrectly broken lines
+#         1.00.40 romanm        2003-11-21 |    fixed Google search
+
+
+$quickbarSettings = array(
+       'Brez', 'Levo nepomično', 'Desno nepomično', 'Levo leteče'
+);
+
+$namespaceNames = array(
+       NS_MEDIA          => 'Media',
+       NS_SPECIAL        => 'Posebno',
+       NS_MAIN           => '',
+       NS_TALK           => 'Pogovor',
+       NS_USER           => 'Uporabnik',
+       NS_USER_TALK      => 'Uporabniški_pogovor',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK   => 'Pogovor_{{grammar:mestnik|$1}}',
+       NS_IMAGE          => 'Slika',
+       NS_IMAGE_TALK     => 'Pogovor_o_sliki',
+       NS_MEDIAWIKI      => 'MediaWiki',
+       NS_MEDIAWIKI_TALK => 'Pogovor_o_MediaWiki',
+       NS_TEMPLATE       => 'Predloga',
+       NS_TEMPLATE_TALK  => 'Pogovor_o_predlogi',
+       NS_HELP           => 'Pomoč',
+       NS_HELP_TALK      => 'Pogovor_o_pomoči',
+       NS_CATEGORY       => 'Kategorija',
+       NS_CATEGORY_TALK  => 'Pogovor_o_kategoriji'
+);
+
+$datePreferences = false;
+$fallback8bitEncoding = "iso-8859-2";
+$separatorTransformTable = array(',' => '.', '.' => ',' );
+
+
+$messages = array(
 'tog-underline'         => 'Podčrtavanje povezav:',
 'tog-highlightbroken'   => 'Oblikuj pretrgane povezave <a href="" class="new">kot</a> (druga možnost: kot<a href="" class="internal">?</a>)',
 'tog-justify'           => 'Poravnavaj odstavke',
@@ -71,6 +118,18 @@ $wgAllMessagesSl = array(
 'oct'                   => 'okt.',
 'nov'                   => 'nov.',
 'dec'                   => 'dec.',
+'january-gen'           => 'januarja',  
+'february-gen'          => 'februarja', 
+'march-gen'             => 'marca',  
+'april-gen'             => 'aprila',  
+'may-gen'               => 'maja',  
+'june-gen'              => 'junija',
+'july-gen'              => 'julija',  
+'august-gen'            => 'avgusta',  
+'september-gen'         => 'septembra', 
+'october-gen'           => 'oktobra',  
+'november-gen'          => 'novembra', 
+'december-gen'          => 'decembra',
 'categories'            => '{{plural:$1|Kategorija|Kategoriji|Kategorije|Kategorije|Kategorije}}',
 'category'              => 'Kategorija',
 'category_header'       => 'Strani v kategoriji »$1«',
index 1ca978b..ff9140a 100644 (file)
@@ -1,7 +1,60 @@
 <?php
+/** Albanian (Shqip)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ */
 
-global $wgAllMessagesSq;
-$wgAllMessagesSq = array(
+$quickbarSettings = array(
+       'Asnjë', 'Lidhur majtas', 'Lidhur djathtas', 'Pezull majtas', 'Pezull djathtas'
+);
+
+$skinNames = array(
+       'standard' => 'Standarte',
+       'nostalgia' => 'Nostalgjike',
+       'cologneblue' => 'Kolonjë Blu'
+);
+
+$namespaceNames = array(
+       NS_MEDIA          => 'Media',
+       NS_SPECIAL        => 'Speciale',
+       NS_MAIN           => '',
+       NS_TALK           => 'Diskutim',
+       NS_USER           => 'Përdoruesi',
+       NS_USER_TALK      => 'Përdoruesi_diskutim',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK   => '$1_diskutim',
+       NS_IMAGE          => 'Figura',
+       NS_IMAGE_TALK     => 'Figura_diskutim',
+       NS_MEDIAWIKI      => 'MediaWiki',
+       NS_MEDIAWIKI_TALK => 'MediaWiki_diskutim',
+       NS_TEMPLATE       => 'Stampa',
+       NS_TEMPLATE_TALK  => 'Stampa_diskutim',
+       NS_HELP           => 'Ndihmë',
+       NS_HELP_TALK      => 'Ndihmë_diskutim'
+);
+
+# Compatbility with alt names
+$namespaceAliases = array(
+       'Perdoruesi' => NS_USER,
+       'Perdoruesi_diskutim' => NS_USER_TALK,
+);
+
+$datePreferences = array(
+       'default',
+       'dmy',
+       'ISO 8601',
+);
+$defaultDateFormat = 'dmy';
+$dateFormats = array(
+       'dmy time' => 'H:i',
+       'dmy date' => 'j F Y',
+       'dmy both' => 'j F Y H:i',
+);
+
+$separatorTransformTable = array(',' => '.', '.' => ',' );
+
+$messages = array(
 'tog-underline'         => 'Nënvizo lidhjet',
 'tog-highlightbroken'   => 'Trego lidhjet e faqeve bosh <a href="" class="new">kështu </a> (ndryshe: kështu<a href="" class="internal">?</a>).',
 'tog-justify'           => 'Rregullim i kryeradhës',
diff --git a/languages/MessagesSr.php b/languages/MessagesSr.php
new file mode 100644 (file)
index 0000000..94ff5ca
--- /dev/null
@@ -0,0 +1,12 @@
+<?php
+/**
+  * Serbian
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+$fallback = 'sr-ec';
+$linkTrail = '/^([abvgdđežzijklljmnnjoprstćufhcčdžšабвгдђежзијклљмнњопрстћуфхцчџш]+)(.*)$/usD';
+
+?>
index 22407ab..64b9d7a 100644 (file)
@@ -1,7 +1,195 @@
 <?php
+/**
+  * @package MediaWiki
+  * @subpackage Language
+  */
+$namespaceNames = array(
+       NS_MEDIA            => "Медија",
+       NS_SPECIAL          => "Посебно",
+       NS_MAIN             => "",
+       NS_TALK             => "Разговор",
+       NS_USER             => "Корисник",
+       NS_USER_TALK        => "Разговор_са_корисником",
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => "Разговор_о_$1",
+       NS_IMAGE            => "Слика",
+       NS_IMAGE_TALK       => "Разговор_о_слици",
+       NS_MEDIAWIKI        => "МедијаВики",
+       NS_MEDIAWIKI_TALK   => "Разговор_о_МедијаВикију",
+       NS_TEMPLATE         => 'Шаблон',
+       NS_TEMPLATE_TALK    => 'Разговор_о_шаблону',
+       NS_HELP             => 'Помоћ',
+       NS_HELP_TALK        => 'Разговор_о_помоћи',
+       NS_CATEGORY         => 'Категорија',
+       NS_CATEGORY_TALK    => 'Разговор_о_категорији',
+);
+
+$quickbarSettings = array(
+ "Никаква", "Причвршћена лево", "Причвршћена десно", "Плутајућа лево"
+);
+
+$skinNames = array(
+ "Обична", "Носталгија", "Келнско плаво", "Педингтон", "Монпарнас"
+);
+
+$extraUserToggles = array(
+       'nolangconversion',
+);
+
+$datePreferenceMigrationMap = array(
+       'default',
+       'hh:mm d. month y.',
+       'hh:mm d month y',
+       'hh:mm dd.mm.yyyy',
+       'hh:mm d.m.yyyy',
+       'hh:mm d. mon y.',
+       'hh:mm d mon y',
+       'h:mm d. month y.',
+       'h:mm d month y',
+       'h:mm dd.mm.yyyy',
+       'h:mm d.m.yyyy',
+       'h:mm d. mon y.',
+       'h:mm d mon y',
+);
+
+$datePreferences = array(
+       'default',
+       'hh:mm d. month y.',
+       'hh:mm d month y',
+       'hh:mm dd.mm.yyyy',
+       'hh:mm d.m.yyyy',
+       'hh:mm d. mon y.',
+       'hh:mm d mon y',
+       'h:mm d. month y.',
+       'h:mm d month y',
+       'h:mm dd.mm.yyyy',
+       'h:mm d.m.yyyy',
+       'h:mm d. mon y.',
+       'h:mm d mon y',
+);
+
+$defaultDateFormat = 'hh:mm d. month y.';
+
+$dateFormats = array(
+       /*
+       'Није битно',
+       '06:12, 5. јануар 2001.',
+       '06:12, 5 јануар 2001',
+       '06:12, 05.01.2001.',
+       '06:12, 5.1.2001.',
+       '06:12, 5. јан 2001.',
+       '06:12, 5 јан 2001',
+       '6:12, 5. јануар 2001.',
+       '6:12, 5 јануар 2001',
+       '6:12, 05.01.2001.',
+       '6:12, 5.1.2001.',
+       '6:12, 5. јан 2001.',
+       '6:12, 5 јан 2001',
+        */
+       
+       'hh:mm d. month y. time'    => 'H:i',
+       'hh:mm d month y time'      => 'H:i',
+       'hh:mm dd.mm.yyyy time'     => 'H:i',
+       'hh:mm d.m.yyyy time'       => 'H:i',
+       'hh:mm d. mon y. time'      => 'H:i',
+       'hh:mm d mon y time'        => 'H:i',
+       'h:mm d. month y. time'     => 'G:i',
+       'h:mm d month y time'       => 'G:i',
+       'h:mm dd.mm.yyyy time'      => 'G:i',
+       'h:mm d.m.yyyy time'        => 'G:i',
+       'h:mm d. mon y. time'       => 'G:i',
+       'h:mm d mon y time'         => 'G:i',
+
+       'hh:mm d. month y. date'    => 'j. F Y.',
+       'hh:mm d month y date'      => 'j F Y',  
+       'hh:mm dd.mm.yyyy date'     => 'd.m.Y',  
+       'hh:mm d.m.yyyy date'       => 'j.n.Y',  
+       'hh:mm d. mon y. date'      => 'j. M Y.',
+       'hh:mm d mon y date'        => 'j M Y',  
+       'h:mm d. month y. date'     => 'j. F Y.',
+       'h:mm d month y date'       => 'j F Y',  
+       'h:mm dd.mm.yyyy date'      => 'd.m.Y',  
+       'h:mm d.m.yyyy date'        => 'j.n.Y',  
+       'h:mm d. mon y. date'       => 'j. M Y.',
+       'h:mm d mon y date'         => 'j M Y',  
+
+       'hh:mm d. month y. both'    =>'H:i, j. F Y.', 
+       'hh:mm d month y both'      =>'H:i, j F Y',   
+       'hh:mm dd.mm.yyyy both'     =>'H:i, d.m.Y',   
+       'hh:mm d.m.yyyy both'       =>'H:i, j.n.Y',   
+       'hh:mm d. mon y. both'      =>'H:i, j. M Y.', 
+       'hh:mm d mon y both'        =>'H:i, j M Y',   
+       'h:mm d. month y. both'     =>'G:i, j. F Y.', 
+       'h:mm d month y both'       =>'G:i, j F Y',   
+       'h:mm dd.mm.yyyy both'      =>'G:i, d.m.Y',   
+       'h:mm d.m.yyyy both'        =>'G:i, j.n.Y',   
+       'h:mm d. mon y. both'       =>'G:i, j. M Y.', 
+       'h:mm d mon y both'         =>'G:i, j M Y',   
+);
+
+/* NOT USED IN STABLE VERSION */
+$magicWords = array(
+#      ID                                CASE SYNONYMS
+       'redirect'               => array( 0, '#Преусмери', '#redirect', '#преусмери', '#ПРЕУСМЕРИ' ),
+       'notoc'                  => array( 0, '__NOTOC__', '__БЕЗСАДРЖАЈА__' ),
+       'forcetoc'               => array( 0, '__FORCETOC__', '__ФОРСИРАНИСАДРЖАЈ__' ),
+       'toc'                    => array( 0, '__TOC__', '__САДРЖАЈ__' ),
+       'noeditsection'          => array( 0, '__NOEDITSECTION__', '__БЕЗ_ИЗМЕНА__', '__БЕЗИЗМЕНА__' ),
+       'start'                  => array( 0, '__START__', '__ПОЧЕТАК__' ),
+       'end'                    => array( 0, '__END__', '__КРАЈ__' ),
+       'currentmonth'           => array( 1, 'CURRENTMONTH', 'ТРЕНУТНИМЕСЕЦ' ),
+       'currentmonthname'       => array( 1, 'CURRENTMONTHNAME', 'ТРЕНУТНИМЕСЕЦИМЕ' ),
+       'currentmonthnamegen'    => array( 1, 'CURRENTMONTHNAMEGEN', 'ТРЕНУТНИМЕСЕЦРОД' ),
+       'currentmonthabbrev'     => array( 1, 'CURRENTMONTHABBREV', 'ТРЕНУТНИМЕСЕЦСКР' ),
+       'currentday'             => array( 1, 'CURRENTDAY', 'ТРЕНУТНИДАН' ),
+       'currentdayname'         => array( 1, 'CURRENTDAYNAME', 'ТРЕНУТНИДАНИМЕ' ),
+       'currentyear'            => array( 1, 'CURRENTYEAR', 'ТРЕНУТНАГОДИНА' ),
+       'currenttime'            => array( 1, 'CURRENTTIME', 'ТРЕНУТНОВРЕМЕ' ),
+       'numberofarticles'       => array( 1, 'NUMBEROFARTICLES', 'БРОЈЧЛАНАКА' ),
+       'numberoffiles'          => array( 1, 'NUMBEROFFILES', 'БРОЈДАТОТЕКА', 'БРОЈФАЈЛОВА' ),
+       'pagename'               => array( 1, 'PAGENAME', 'СТРАНИЦА' ),
+       'pagenamee'              => array( 1, 'PAGENAMEE', 'СТРАНИЦЕ' ),
+       'namespace'              => array( 1, 'NAMESPACE', 'ИМЕНСКИПРОСТОР' ),
+       'namespacee'             => array( 1, 'NAMESPACEE', 'ИМЕНСКИПРОСТОРИ' ),
+       'fullpagename'           => array( 1, 'FULLPAGENAME', 'ПУНОИМЕСТРАНЕ' ),
+       'fullpagenamee'          => array( 1, 'FULLPAGENAMEE', 'ПУНОИМЕСТРАНЕЕ' ),
+       'msg'                    => array( 0, 'MSG:', 'ПОР:' ),
+       'subst'                  => array( 0, 'SUBST:', 'ЗАМЕНИ:' ),
+       'msgnw'                  => array( 0, 'MSGNW:', 'НВПОР:' ),
+       'img_thumbnail'          => array( 1, 'thumbnail', 'thumb', 'мини' ),
+       'img_manualthumb'        => array( 1, 'thumbnail=$1', 'thumb=$1', 'мини=$1' ),
+       'img_right'              => array( 1, 'right', 'десно', 'д' ),
+       'img_left'               => array( 1, 'left', 'лево', 'л' ),
+       'img_none'               => array( 1, 'none', 'н', 'без' ),
+       'img_width'              => array( 1, '$1px', '$1пискел' , '$1п' ),
+       'img_center'             => array( 1, 'center', 'centre', 'центар', 'ц' ),
+       'img_framed'             => array( 1, 'framed', 'enframed', 'frame', 'оквир', 'рам' ),
+       'int'                    => array( 0, 'INT:', 'ИНТ:' ),
+       'sitename'               => array( 1, 'SITENAME', 'ИМЕСАЈТА' ),
+       'ns'                     => array( 0, 'NS:', 'ИП:' ),
+       'localurl'               => array( 0, 'LOCALURL:', 'ЛОКАЛНААДРЕСА:' ),
+       'localurle'              => array( 0, 'LOCALURLE:', 'ЛОКАЛНЕАДРЕСЕ:' ),
+       'server'                 => array( 0, 'SERVER', 'СЕРВЕР' ),
+       'servername'             => array( 0, 'SERVERNAME', 'ИМЕСЕРВЕРА' ),
+       'scriptpath'             => array( 0, 'SCRIPTPATH', 'СКРИПТА' ),
+       'grammar'                => array( 0, 'GRAMMAR:', 'ГРАМАТИКА:' ),
+       'notitleconvert'         => array( 0, '__NOTITLECONVERT__', '__NOTC__', '__БЕЗТЦ__' ),
+       'nocontentconvert'       => array( 0, '__NOCONTENTCONVERT__', '__NOCC__', '__БЕЗЦЦ__' ),
+       'currentweek'            => array( 1, 'CURRENTWEEK', 'ТРЕНУТНАНЕДЕЉА' ),
+       'currentdow'             => array( 1, 'CURRENTDOW', 'ТРЕНУТНИДОВ' ),
+       'revisionid'             => array( 1, 'REVISIONID', 'ИДРЕВИЗИЈЕ' ),
+       'plural'                 => array( 0, 'PLURAL:', 'МНОЖИНА:' ),
+       'fullurl'                => array( 0, 'FULLURL:', 'ПУНУРЛ:' ),
+       'fullurle'               => array( 0, 'FULLURLE:', 'ПУНУРЛЕ:' ),
+       'lcfirst'                => array( 0, 'LCFIRST:', 'ЛЦПРВИ:' ),
+       'ucfirst'                => array( 0, 'UCFIRST:', 'УЦПРВИ:' ),
+       'lc'                     => array( 0, 'LC:', 'ЛЦ:' ),
+       'uc'                     => array( 0, 'UC:', 'УЦ:' ),
+);
+$separatorTransformTable = array(',' => '.', '.' => ',' );
 
 
-$wgAllMessagesSr_ec = array(
+$messages = array(
 # stylesheets
 'Common.css'           => '/** CSS koji važi za sve skinove */',
 'Monobook.css'         => '/** Samo za MonoBook skin */',
index ad5f8d7..7d66ec3 100644 (file)
@@ -1,7 +1,198 @@
 <?php
+/**
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+$namespaceNames = array(
+       NS_MEDIA            => "Medija",
+       NS_SPECIAL          => "Posebno",
+       NS_MAIN             => "",
+       NS_TALK             => "Razgovor",
+       NS_USER             => "Korisnik",
+       NS_USER_TALK        => "Razgovor_sa_korisnikom",
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => "Razgovor_o_$1",
+       NS_IMAGE            => "Slika",
+       NS_IMAGE_TALK       => "Razgovor_o_slici",
+       NS_MEDIAWIKI        => "MedijaViki",
+       NS_MEDIAWIKI_TALK   => "Razgovor_o_MedijaVikiju",
+       NS_TEMPLATE         => 'Šablon',
+       NS_TEMPLATE_TALK    => 'Razgovor_o_šablonu',
+       NS_HELP             => 'Pomoć',
+       NS_HELP_TALK        => 'Razgovor_o_pomoći',
+       NS_CATEGORY         => 'Kategorija',
+       NS_CATEGORY_TALK    => 'Razgovor_o_kategoriji',
+);
+
+$quickbarSettings = array(
+ "Nikakva", "Pričvršćena levo", "Pričvršćena desno", "Plutajuća levo"
+);
+
+$skinNames = array(
+ "Obična", "Nostalgija", "Kelnsko plavo", "Pedington", "Monparnas"
+);
+
+$extraUserToggles = array(
+       'nolangconversion',
+);
+
+$datePreferenceMigrationMap = array(
+       'default',
+       'hh:mm d. month y.',
+       'hh:mm d month y',
+       'hh:mm dd.mm.yyyy',
+       'hh:mm d.m.yyyy',
+       'hh:mm d. mon y.',
+       'hh:mm d mon y',
+       'h:mm d. month y.',
+       'h:mm d month y',
+       'h:mm dd.mm.yyyy',
+       'h:mm d.m.yyyy',
+       'h:mm d. mon y.',
+       'h:mm d mon y',
+);
+
+$datePreferences = array(
+       'default',
+       'hh:mm d. month y.',
+       'hh:mm d month y',
+       'hh:mm dd.mm.yyyy',
+       'hh:mm d.m.yyyy',
+       'hh:mm d. mon y.',
+       'hh:mm d mon y',
+       'h:mm d. month y.',
+       'h:mm d month y',
+       'h:mm dd.mm.yyyy',
+       'h:mm d.m.yyyy',
+       'h:mm d. mon y.',
+       'h:mm d mon y',
+);
+
+$defaultDateFormat = 'hh:mm d. month y.';
+
+$dateFormats = array(
+       /*
+       'Није битно',
+       '06:12, 5. јануар 2001.',
+       '06:12, 5 јануар 2001',
+       '06:12, 05.01.2001.',
+       '06:12, 5.1.2001.',
+       '06:12, 5. јан 2001.',
+       '06:12, 5 јан 2001',
+       '6:12, 5. јануар 2001.',
+       '6:12, 5 јануар 2001',
+       '6:12, 05.01.2001.',
+       '6:12, 5.1.2001.',
+       '6:12, 5. јан 2001.',
+       '6:12, 5 јан 2001',
+        */
+       
+       'hh:mm d. month y. time'    => 'H:i',
+       'hh:mm d month y time'      => 'H:i',
+       'hh:mm dd.mm.yyyy time'     => 'H:i',
+       'hh:mm d.m.yyyy time'       => 'H:i',
+       'hh:mm d. mon y. time'      => 'H:i',
+       'hh:mm d mon y time'        => 'H:i',
+       'h:mm d. month y. time'     => 'G:i',
+       'h:mm d month y time'       => 'G:i',
+       'h:mm dd.mm.yyyy time'      => 'G:i',
+       'h:mm d.m.yyyy time'        => 'G:i',
+       'h:mm d. mon y. time'       => 'G:i',
+       'h:mm d mon y time'         => 'G:i',
+
+       'hh:mm d. month y. date'    => 'j. F Y.',
+       'hh:mm d month y date'      => 'j F Y',  
+       'hh:mm dd.mm.yyyy date'     => 'd.m.Y',  
+       'hh:mm d.m.yyyy date'       => 'j.n.Y',  
+       'hh:mm d. mon y. date'      => 'j. M Y.',
+       'hh:mm d mon y date'        => 'j M Y',  
+       'h:mm d. month y. date'     => 'j. F Y.',
+       'h:mm d month y date'       => 'j F Y',  
+       'h:mm dd.mm.yyyy date'      => 'd.m.Y',  
+       'h:mm d.m.yyyy date'        => 'j.n.Y',  
+       'h:mm d. mon y. date'       => 'j. M Y.',
+       'h:mm d mon y date'         => 'j M Y',  
+
+       'hh:mm d. month y. both'    =>'H:i, j. F Y.', 
+       'hh:mm d month y both'      =>'H:i, j F Y',   
+       'hh:mm dd.mm.yyyy both'     =>'H:i, d.m.Y',   
+       'hh:mm d.m.yyyy both'       =>'H:i, j.n.Y',   
+       'hh:mm d. mon y. both'      =>'H:i, j. M Y.', 
+       'hh:mm d mon y both'        =>'H:i, j M Y',   
+       'h:mm d. month y. both'     =>'G:i, j. F Y.', 
+       'h:mm d month y both'       =>'G:i, j F Y',   
+       'h:mm dd.mm.yyyy both'      =>'G:i, d.m.Y',   
+       'h:mm d.m.yyyy both'        =>'G:i, j.n.Y',   
+       'h:mm d. mon y. both'       =>'G:i, j. M Y.', 
+       'h:mm d mon y both'         =>'G:i, j M Y',   
+);
+
+
+/* NOT USED IN STABLE VERSION */
+$magicWords = array(
+#      ID                                CASE SYNONYMS
+       'redirect'               => array( 0, '#Preusmeri', '#redirect', '#preusmeri', '#PREUSMERI' ),
+       'notoc'                  => array( 0, '__NOTOC__', '__BEZSADRŽAJA__' ),
+       'forcetoc'               => array( 0, '__FORCETOC__', '__FORSIRANISADRŽAJ__' ),
+       'toc'                    => array( 0, '__TOC__', '__SADRŽAJ__' ),
+       'noeditsection'          => array( 0, '__NOEDITSECTION__', '__BEZ_IZMENA__', '__BEZIZMENA__' ),
+       'start'                  => array( 0, '__START__', '__POČETAK__' ),
+       'end'                    => array( 0, '__END__', '__KRAJ__' ),
+       'currentmonth'           => array( 1, 'CURRENTMONTH', 'TRENUTNIMESEC' ),
+       'currentmonthname'       => array( 1, 'CURRENTMONTHNAME', 'TRENUTNIMESECIME' ),
+       'currentmonthnamegen'    => array( 1, 'CURRENTMONTHNAMEGEN', 'TRENUTNIMESECROD' ),
+       'currentmonthabbrev'     => array( 1, 'CURRENTMONTHABBREV', 'TRENUTNIMESECSKR' ),
+       'currentday'             => array( 1, 'CURRENTDAY', 'TRENUTNIDAN' ),
+       'currentdayname'         => array( 1, 'CURRENTDAYNAME', 'TRENUTNIDANIME' ),
+       'currentyear'            => array( 1, 'CURRENTYEAR', 'TRENUTNAGODINA' ),
+       'currenttime'            => array( 1, 'CURRENTTIME', 'TRENUTNOVREME' ),
+       'numberofarticles'       => array( 1, 'NUMBEROFARTICLES', 'BROJČLANAKA' ),
+       'numberoffiles'          => array( 1, 'NUMBEROFFILES', 'BROJDATOTEKA', 'BROJFAJLOVA' ),
+       'pagename'               => array( 1, 'PAGENAME', 'STRANICA' ),
+       'pagenamee'              => array( 1, 'PAGENAMEE', 'STRANICE' ),
+       'namespace'              => array( 1, 'NAMESPACE', 'IMENSKIPROSTOR' ),
+       'namespacee'             => array( 1, 'NAMESPACEE', 'IMENSKIPROSTORI' ),
+       'fullpagename'           => array( 1, 'FULLPAGENAME', 'PUNOIMESTRANE' ),
+       'fullpagenamee'          => array( 1, 'FULLPAGENAMEE', 'PUNOIMESTRANEE' ),
+       'msg'                    => array( 0, 'MSG:', 'POR:' ),
+       'subst'                  => array( 0, 'SUBST:', 'ZAMENI:' ),
+       'msgnw'                  => array( 0, 'MSGNW:', 'NVPOR:' ),
+       'img_thumbnail'          => array( 1, 'thumbnail', 'thumb', 'mini' ),
+       'img_manualthumb'        => array( 1, 'thumbnail=$1', 'thumb=$1', 'mini=$1' ),
+       'img_right'              => array( 1, 'right', 'desno', 'd' ),
+       'img_left'               => array( 1, 'left', 'levo', 'l' ),
+       'img_none'               => array( 1, 'none', 'n', 'bez' ),
+       'img_width'              => array( 1, '$1px', '$1piskel' , '$1p' ),
+       'img_center'             => array( 1, 'center', 'centre', 'centar', 'c' ),
+       'img_framed'             => array( 1, 'framed', 'enframed', 'frame', 'okvir', 'ram' ),
+       'int'                    => array( 0, 'INT:', 'INT:' ),
+       'sitename'               => array( 1, 'SITENAME', 'IMESAJTA' ),
+       'ns'                     => array( 0, 'NS:', 'IP:' ),
+       'localurl'               => array( 0, 'LOCALURL:', 'LOKALNAADRESA:' ),
+       'localurle'              => array( 0, 'LOCALURLE:', 'LOKALNEADRESE:' ),
+       'server'                 => array( 0, 'SERVER', 'SERVER' ),
+       'servername'             => array( 0, 'SERVERNAME', 'IMESERVERA' ),
+       'scriptpath'             => array( 0, 'SCRIPTPATH', 'SKRIPTA' ),
+       'grammar'                => array( 0, 'GRAMMAR:', 'GRAMATIKA:' ),
+       'notitleconvert'         => array( 0, '__NOTITLECONVERT__', '__NOTC__', '__BEZTC__' ),
+       'nocontentconvert'       => array( 0, '__NOCONTENTCONVERT__', '__NOCC__', '__BEZCC__' ),
+       'currentweek'            => array( 1, 'CURRENTWEEK', 'TRENUTNANEDELjA' ),
+       'currentdow'             => array( 1, 'CURRENTDOW', 'TRENUTNIDOV' ),
+       'revisionid'             => array( 1, 'REVISIONID', 'IDREVIZIJE' ),
+       'plural'                 => array( 0, 'PLURAL:', 'MNOŽINA:' ),
+       'fullurl'                => array( 0, 'FULLURL:', 'PUNURL:' ),
+       'fullurle'               => array( 0, 'FULLURLE:', 'PUNURLE:' ),
+       'lcfirst'                => array( 0, 'LCFIRST:', 'LCPRVI:' ),
+       'ucfirst'                => array( 0, 'UCFIRST:', 'UCPRVI:' ),
+       'lc'                     => array( 0, 'LC:', 'LC:' ),
+       'uc'                     => array( 0, 'UC:', 'UC:' ),
+);
+
+$separatorTransformTable = array(',' => '.', '.' => ',' );
 
 
-$wgAllMessagesSr_el = array(
+$messages = array(
 # stylesheets
 'Common.css'  => '/** CSS koji važi za sve skinove */',
 'Monobook.css'  => '/** Samo za MonoBook skin */',
diff --git a/languages/MessagesSr_jc.php b/languages/MessagesSr_jc.php
new file mode 100644 (file)
index 0000000..8bc334d
--- /dev/null
@@ -0,0 +1,10 @@
+<?php
+/**
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+# Inherit everything for now
+$fallback = 'sr-ec';
+
+?>
diff --git a/languages/MessagesSr_jl.php b/languages/MessagesSr_jl.php
new file mode 100644 (file)
index 0000000..8bc334d
--- /dev/null
@@ -0,0 +1,10 @@
+<?php
+/**
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+# Inherit everything for now
+$fallback = 'sr-ec';
+
+?>
index 38f3ff5..c05e1b0 100644 (file)
@@ -1,7 +1,35 @@
 <?php
+/** Sundanese language file (Basa Sunda)
+  *
+  * Source: http://su.wikipedia.org/
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
 
-global $wgAllMessagesSu;
-$wgAllMessagesSu = array(
+$namespaceNames = array(
+       NS_MEDIA                        => 'Média',
+       NS_SPECIAL                      => 'Husus',
+       NS_MAIN                         => '',
+       NS_TALK                         => 'Obrolan',
+       NS_USER                         => 'Pamaké',
+       NS_USER_TALK            => 'Obrolan_pamaké',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK         => 'Obrolan_$1',
+       NS_IMAGE                        => 'Gambar',
+       NS_IMAGE_TALK           => 'Obrolan_gambar',
+       NS_MEDIAWIKI            => 'MediaWiki',
+       NS_MEDIAWIKI_TALK       => 'Obrolan_MediaWiki',
+       NS_TEMPLATE                     => 'Citakan',
+       NS_TEMPLATE_TALK        => 'Obrolan_citakan',
+       NS_HELP                         => 'Pitulung',
+       NS_HELP_TALK            => 'Obrolan_pitulung',
+       NS_CATEGORY                     => 'Kategori',
+       NS_CATEGORY_TALK        => 'Obrolan_kategori',
+);
+
+
+$messages = array(
 
 # dates
 'sunday' => 'Minggu',
index 3d4b9e8..89feae9 100644 (file)
@@ -1,7 +1,65 @@
 <?php
+/**
+ * Swedish (Svenska)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ */
 
-global $wgAllMessagesSv;
-$wgAllMessagesSv = array(
+$quickbarSettings = array(
+       "Ingen",
+       "Fast vänster",
+       "Fast höger",
+       "Flytande vänster"
+);
+
+$skinNames = array(
+       'standard' => "Standard",
+       'nostalgia' => "Nostalgi",
+       'cologneblue' => "Cologne Blå",
+);
+$namespaceNames = array(
+       NS_MEDIA            => 'Media',
+       NS_SPECIAL          => 'Special',
+       NS_MAIN             => '',
+       NS_TALK             => 'Diskussion',
+       NS_USER             => 'Användare',
+       NS_USER_TALK        => 'Användardiskussion',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => '$1diskussion',
+       NS_IMAGE            => 'Bild',
+       NS_IMAGE_TALK       => 'Bilddiskussion',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'MediaWiki_diskussion',
+       NS_TEMPLATE         => 'Mall',
+       NS_TEMPLATE_TALK    => 'Malldiskussion',
+       NS_HELP             => 'Hjälp',
+       NS_HELP_TALK        => 'Hjälp_diskussion',
+       NS_CATEGORY         => 'Kategori',
+       NS_CATEGORY_TALK    => 'Kategoridiskussion'
+);
+
+$linkTrail = '/^([a-zåäöéÅÄÖÉ]+)(.*)$/sDu';
+$separatorTransformTable =  array(
+       ',' => "\xc2\xa0", // @bug 2749
+       '.' => ','
+);
+
+$dateFormats = array(
+       'mdy time' => 'H.i',
+       'mdy date' => 'F j, Y',
+       'mdy both' => 'F j, Y "kl." H.i',
+
+       'dmy time' => 'H.i',
+       'dmy date' => 'j F Y',
+       'dmy both' => 'j F Y "kl." H.i',
+
+       'ymd time' => 'H.i',
+       'ymd date' => 'Y F j',
+       'ymd both' => 'Y F j "kl." H.i',
+);
+
+$messages = array(
 'tog-underline'         => 'Stryk under länkar',
 'tog-highlightbroken'   => 'Formatera trasiga länkar <a href="" class="new">så här</a> (alternativt: <a href="" class="internal">så här</a>).',
 'tog-justify'           => 'Justera indrag',
index 39c20a6..8953450 100644 (file)
@@ -1,7 +1,54 @@
 <?php
+/**
+ * Tamil (தமிழ்)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ */
 
-global $wgAllMessagesTa;
-$wgAllMessagesTa = array(
+
+$quickbarSettings = array(
+       "எதுவுமில்லை", "இடம் நிலைத்த", "வலம் நிலைத்த", "இடம் மிதப்பு"
+);
+
+$skinNames = array(
+       'standard' => "இயல்பான",
+       'nostalgia' => "பசுமை நினைவு (Nostalgia)",
+       'cologneblue' => "கொலோன் (Cologne) நீலம் Blue",
+       'smarty' => "பாடிங்டன் (Paddington)",
+       'montparnasse' => "மொண்ட்பார்னாசே (Montparnasse)",
+);
+
+$namespaceNames = array(
+       NS_MEDIA          => 'ஊடகம்',
+       NS_SPECIAL        => 'சிறப்பு',
+       NS_MAIN           => '',
+       NS_TALK           => 'பேச்சு',
+       NS_USER           => 'பயனர்',
+       NS_USER_TALK      => 'பயனர்_பேச்சு',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK   => '$1_பேச்சு',
+       NS_IMAGE          => 'படிமம்',
+       NS_IMAGE_TALK     => 'படிமப்_பேச்சு',
+       NS_MEDIAWIKI      => 'மீடியாவிக்கி',
+       NS_MEDIAWIKI_TALK => 'மீடியாவிக்கி_பேச்சு',
+       NS_TEMPLATE       => 'வார்ப்புரு',
+       NS_TEMPLATE_TALK  => 'வார்ப்புரு_பேச்சு',
+       NS_HELP           => 'உதவி',
+       NS_HELP_TALK      => 'உதவி_பேச்சு',
+       NS_CATEGORY       => 'பகுப்பு',
+       NS_CATEGORY_TALK  => 'பகுப்பு_பேச்சு',
+);
+
+$namespaceAliases = array(
+       'விக்கிபீடியா' => NS_PROJECT,
+       'விக்கிபீடியா_பேச்சு' => NS_PROJECT_TALK,
+       'உருவப்_பேச்சு' => NS_IMAGE_TALK
+);
+$linkTrail = "/^([\xE0\xAE\x80-\xE0\xAF\xBF]+)(.*)$/sDu";
+
+
+$messages = array(
 
 # User Toggles
 #
index 77e307b..829bfcc 100644 (file)
@@ -1,7 +1,49 @@
 <?php
+/** Telugu (Telugu)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  *
+  * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
+  */
 
-global $wgAllMessagesTe;
-$wgAllMessagesTe = array(
+$namespaceNames = array(
+       NS_MEDIA            => 'మీడియా',
+       NS_SPECIAL          => 'ప్రత్యేక',
+       NS_MAIN             => '',
+       NS_TALK             => 'చర్చ',
+       NS_USER             => 'సభ్యుడు',
+       NS_USER_TALK        => 'సభ్యునిపై_చర్చ',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => '$1_చర్చ',
+       NS_IMAGE            => 'బొమ్మ',
+       NS_IMAGE_TALK       => 'బొమ్మపై_చర్చ',
+       NS_MEDIAWIKI        => 'మీడియావికీ',
+       NS_MEDIAWIKI_TALK   => 'మీడియావికీ_చర్చ',
+       NS_TEMPLATE         => 'మూస',
+       NS_TEMPLATE_TALK    => 'మూస_చర్చ',
+       NS_HELP             => 'సహాయము',
+       NS_HELP_TALK        => 'సహాయము_చర్చ',
+       NS_CATEGORY         => 'వర్గం',
+       NS_CATEGORY_TALK    => 'వర్గం_చర్చ'
+);
+$linkTrail = "/^([\xE0\xB0\x81-\xE0\xB1\xAF]+)(.*)$/sDu";
+
+// nobody seems to use these anymore
+/*$digitTransformTable = array(
+       '0' => '౦',
+       '1' => '౧',
+       '2' => '౨',
+       '3' => '౩',
+       '4' => '౪',
+       '5' => '౫',
+       '6' => '౬',
+       '7' => '౭',
+       '8' => '౮',
+       '9' => '౯'
+);*/
+
+$messages = array(
 'tog-underline'         => 'లింకుల కింద గీతగీయి:',
 'tog-highlightbroken'   => 'తెగిపోయిన లింకులను <a href="" class="new">ఇలా చూపించు</a> (ఇంకో పధ్ధతి: <a href="" class="internal">?</a>).',
 'tog-justify'           => 'పేరాలను ఇరు పక్కలా సమానంగా సర్దు',
index 375813d..9e8387d 100644 (file)
@@ -1,7 +1,43 @@
 <?php
+/**
+  * @package MediaWiki
+  * @subpackage Language
+  */
+#--------------------------------------------------------------------------
+# ผู้แปล (Translators)
+# - วรากร อึ้งวิเชียร (Varakorn Ungvichian)
+# - จักรกฤช วงศ์สระหลวง (Jakkrit Vongsraluang) / PaePae
+#--------------------------------------------------------------------------
+
+
+$namespaceNames = array(
+       NS_MEDIA            => 'สื่อ',
+       NS_SPECIAL          => 'พิเศษ',
+       NS_MAIN             => '',
+       NS_TALK             => 'พูดคุย',
+       NS_USER             => 'ผู้ใช้',
+       NS_USER_TALK        => 'คุยกับผู้ใช้',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => 'คุยเรื่อง$1',
+       NS_IMAGE            => 'ภาพ',
+       NS_IMAGE_TALK       => 'คุยเรื่องภาพ',
+       NS_MEDIAWIKI        => 'มีเดียวิกิ',
+       NS_MEDIAWIKI_TALK   => 'คุยเรื่องมีเดียวิกิ',
+       NS_TEMPLATE         => 'แม่แบบ',
+       NS_TEMPLATE_TALK    => 'คุยเรื่องแม่แบบ',
+       NS_HELP             => 'วิธีใช้',
+       NS_HELP_TALK        => 'คุยเรื่องวิธีใช้',
+       NS_CATEGORY         => 'หมวดหมู่',
+       NS_CATEGORY_TALK    => 'คุยเรื่องหมวดหมู่',
+);
+
+$quickbarSettings = array(
+       "ไม่มี", "อยู่ทางซ้าย", "อยู่ทางขวา", "ลอยทางซ้าย"
+);
+
 
 
-/* private */ $wgAllMessagesTh = array(
+$messages = array(
 
 # User Toggles
 #
diff --git a/languages/MessagesTlh.php b/languages/MessagesTlh.php
new file mode 100644 (file)
index 0000000..073b07d
--- /dev/null
@@ -0,0 +1,30 @@
+<?php
+/** Klingon (tlhIngan-Hol)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+$namespaceNames = array(
+       NS_MEDIA            => "Doch",
+       NS_SPECIAL          => "le'",
+       NS_MAIN             => "",
+       NS_TALK             => "ja'chuq",
+       NS_USER             => "lo'wI'",
+       NS_USER_TALK        => "lo'wI'_ja'chuq",
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => "$1_ja'chuq",
+       NS_IMAGE            => "nagh_beQ",
+       NS_IMAGE_TALK       => "nagh_beQ_ja'chuq",
+       NS_MEDIAWIKI        => "MediaWiki",
+       NS_MEDIAWIKI_TALK   => "MediaWiki_ja'chuq",
+       NS_TEMPLATE         => "chen'ay'",
+       NS_TEMPLATE_TALK    => "chen'ay'_ja'chuq",
+       NS_HELP             => "QaH",
+       NS_HELP_TALK        => "QaH_ja'chuq",
+       NS_CATEGORY         => "Segh",
+       NS_CATEGORY_TALK    => "Segh_ja'chuq"
+);
+
+
+?>
index 8e30f2c..229e931 100644 (file)
@@ -1,7 +1,36 @@
 <?php
+/**
+ * Turkish (Türkçe)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ */    
 
-global $wgAllMessagesTr;
-$wgAllMessagesTr = array(
+$namespaceNames = array(
+       NS_MEDIA            => 'Media',
+       NS_SPECIAL          => 'Özel',
+       NS_MAIN             => '',
+       NS_TALK             => 'Tartışma',
+       NS_USER             => 'Kullanıcı',
+       NS_USER_TALK        => 'Kullanıcı_mesaj',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => '$1_tartışma',
+       NS_IMAGE            => 'Resim',
+       NS_IMAGE_TALK       => 'Resim_tartışma',
+       NS_MEDIAWIKI        => 'MedyaViki',
+       NS_MEDIAWIKI_TALK   => 'MedyaViki_tartışma',
+       NS_TEMPLATE         => 'Şablon',
+       NS_TEMPLATE_TALK    => 'Şablon_tartışma',
+       NS_HELP             => 'Yardım',
+       NS_HELP_TALK        => 'Yardım_tartışma',
+       NS_CATEGORY         => 'Kategori',
+       NS_CATEGORY_TALK    => 'Kategori_tartışma',
+);
+
+$separatorTransformTable = array(',' => '.', '.' => ',' );
+
+
+$messages = array(
 'tog-underline'         => 'Bağlatıların altını çiz',
 'tog-highlightbroken'   => 'Boş bağlantıları <a href="" class="new">bu şekilde</a> (alternatif: bu şekilde<a href="" class="internal">?</a>) göster.',
 'tog-justify'           => 'Paragraf iki yana yaslayarak ayarla',
index 487544f..14be566 100644 (file)
@@ -1,7 +1,84 @@
 <?php
+/**
+  * @package MediaWiki
+  * @subpackage Language
+  */
+#
+# Tatarish localisation for MediaWiki
+#
 
+$namespaceNames = array(
+       NS_MEDIA            => 'Media',
+       NS_SPECIAL          => 'Maxsus',
+       NS_MAIN             => '',
+       NS_TALK             => 'Bäxäs',
+       NS_USER             => 'Äğzä',
+       NS_USER_TALK        => "Äğzä_bäxäse",
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => '$1_bäxäse',
+       NS_IMAGE            => "Räsem",
+       NS_IMAGE_TALK       => "Räsem_bäxäse",
+       NS_MEDIAWIKI        => "MediaWiki",
+       NS_MEDIAWIKI_TALK   => "MediaWiki_bäxäse",
+       NS_TEMPLATE         => "Ürnäk",
+       NS_TEMPLATE_TALK    => "Ürnäk_bäxäse",
+       NS_HELP             => "Yärdäm",
+       NS_HELP_TALK        => "Yärdäm_bäxäse",
+       NS_CATEGORY         => "Törkem",
+       NS_CATEGORY_TALK    => "Törkem_bäxäse"
+);
+
+$datePreferences = false;
+$defaultDateFormat = 'dmy';
+$dateFormats = array(
+       'dmy time' => 'H:i',
+       'dmy date' => 'j. M Y',
+       'dmy both' => 'j. M Y, H:i',
+);
+
+# Note to translators:
+#   Please include the English words as synonyms.  This allows people
+#   from other wikis to contribute more easily.
+#
+$magicWords = array(
+#       ID                                 CASE  SYNONYMS
+       'redirect'               => array( 0,    '#yünältü'               ),
+       'notoc'                  => array( 0,    '__ETYUQ__'              ),
+       'forcetoc'               => array( 0,    '__ETTIQ__'              ),
+       'toc'                    => array( 0,    '__ET__'                 ),
+       'noeditsection'          => array( 0,    '__BÜLEMTÖZÄTÜYUQ__'     ),
+       'start'                  => array( 0,    '__BAŞLAW__'             ),
+       'currentmonth'           => array( 1,    'AĞIMDAĞI_AY'            ),
+       'currentmonthname'       => array( 1,    'AĞIMDAĞI_AY_İSEME'      ),
+       'currentday'             => array( 1,    'AĞIMDAĞI_KÖN'           ),
+       'currentdayname'         => array( 1,    'AĞIMDAĞI_KÖN_İSEME'     ),
+       'currentyear'            => array( 1,    'AĞIMDAĞI_YIL'           ),
+       'currenttime'            => array( 1,    'AĞIMDAĞI_WAQIT'         ),
+       'numberofarticles'       => array( 1,    'MÄQÄLÄ_SANI'            ),
+       'currentmonthnamegen'    => array( 1,    'AĞIMDAĞI_AY_İSEME_GEN'  ),
+       'pagename'               => array( 1,    'BİTİSEME'               ),
+       'namespace'              => array( 1,    'İSEMARA'                ),
+       'subst'                  => array( 0,    'TÖPÇEK:'                ),
+       'msgnw'                  => array( 0,    'MSGNW:'                 ),
+       'end'                    => array( 0,    '__AZAQ__'               ),
+       'img_thumbnail'          => array( 1,    'thumbnail', 'thumb'     ),
+       'img_right'              => array( 1,    'uñda'                   ),
+       'img_left'               => array( 1,    'sulda'                  ),
+       'img_none'               => array( 1,    'yuq'                    ),
+       'img_width'              => array( 1,    '$1px'                   ),
+       'img_center'             => array( 1,    'center', 'centre'       ),
+       'img_framed'             => array( 1,    'framed', 'enframed', 'frame' ),
+       'int'                    => array( 0,    'EÇKE:'                   ),
+       'sitename'               => array( 1,    'SÄXİFÄİSEME'            ),
+       'ns'                     => array( 0,    'İA:'                    ),
+       'localurl'               => array( 0,    'URINLIURL:'              ),
+       'localurle'              => array( 0,    'URINLIURLE:'             ),
+       'server'                 => array( 0,    'SERVER'                 )
+);
+
+$fallback8bitEncoding = "windows-1254";
 
-/* private */ $wgAllMessagesTt = array(
+$messages = array(
 
 # week days, months
 'sunday' => "Yäkşämbe",
 );
 
 
-?>
\ No newline at end of file
+?>
index f0fe870..1c68021 100644 (file)
@@ -1,10 +1,57 @@
 <?php
+/** Tyvan localization (Тыва дыл)
+ * @package MediaWiki
+ * @subpackage Language
+ */
 
-/** Tyvan localization (Тыва дыл) */
 # From friends at tyvawiki.org
 
+$namespaceNames = array(
+       NS_MEDIA            => 'Медиа', //Media
+       NS_SPECIAL          => 'Тускай', //Special
+       NS_MAIN             => '',
+       NS_TALK             => 'Чугаа', //Talk
+       NS_USER             => 'Aжыглакчы', //User
+       NS_USER_TALK        => 'Aжыглакчы_чугаа', //User_talk
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => '$1_чугаа', //_talk
+       NS_IMAGE            => 'Чурук', //Image
+       NS_IMAGE_TALK       => 'Чурук_чугаа', //Image_talk
+       NS_MEDIAWIKI        => 'МедиаВики', //MediaWiki
+       NS_MEDIAWIKI_TALK   => 'МедиаВики_чугаа', //MediaWiki_talk
+       NS_TEMPLATE         => 'Хээ', //Template
+       NS_TEMPLATE_TALK    => 'Хээ_чугаа', //Template_talk
+       NS_HELP             => 'Дуза', //Help
+       NS_HELP_TALK        => 'Дуза_чугаа', //Help_talk
+       NS_CATEGORY         => 'Бөлүк', //Category
+       NS_CATEGORY_TALK    => 'Бөлүк_чугаа', //Category_talk
+);
+
+$skinNames = array(
+       'standard' => 'Classic', //Classic
+       'nostalgia' => 'Nostalgia', //Nostalgia
+       'cologneblue' => 'Cologne Blue', //Cologne Blue
+       'davinci' => 'ДаВинчи', //DaVinci
+       'mono' => 'Моно', //Mono
+       'monobook' => 'Моно-Ном', //MonoBook
+       'myskin' => 'MySkin', //MySkin
+       'chick' => 'Chick' //Chick
+);
+
+$bookstoreList = array(
+       'ОЗОН' => 'http://www.ozon.ru/?context=advsearch_book&isbn=$1',
+       'Books.Ru' => 'http://www.books.ru/shop/search/advanced?as%5Btype%5D=books&as%5Bname%5D=&as%5Bisbn%5D=$1&as%5Bauthor%5D=&as%5Bmaker%5D=&as%5Bcontents%5D=&as%5Binfo%5D=&as%5Bdate_after%5D=&as%5Bdate_before%5D=&as%5Bprice_less%5D=&as%5Bprice_more%5D=&as%5Bstrict%5D=%E4%E0&as%5Bsub%5D=%E8%F1%EA%E0%F2%FC&x=22&y=8',
+       'Яндекс.Маркет' => 'http://market.yandex.ru/search.xml?text=$1',
+       'Amazon.com' => 'http://www.amazon.com/exec/obidos/ISBN=$1',
+       'AddALL' => 'http://www.addall.com/New/Partner.cgi?query=$1&type=ISBN',
+       'PriceSCAN' => 'http://www.pricescan.com/books/bookDetail.asp?isbn=$1',
+       'Barnes & Noble' => 'http://shop.barnesandnoble.com/bookSearch/isbnInquiry.asp?isbn=$1'
+);
+
+$fallback8bitEncoding = "windows-1251";
+
 
-/* private */ $wgAllMessagesTyv = array(
+$messages = array(
 
 # User preference toggles
 'tog-hideminor' => 'Сөөлгү өскерлиишкиннер арында бичии өскерлиишкиннер чажырар', //Hide minor edits in recent changes
index 8c7a0bc..c1acc8c 100644 (file)
@@ -1,7 +1,39 @@
 <?php
+/** Udmurt (Удмурт)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ *
+ */
 
-global $wgAllMessagesUdm;
-$wgAllMessagesUdm = array(
+$fallback = 'ru';
+
+$namespaceNames = array(
+       NS_MEDIA            => 'Медиа',
+       NS_SPECIAL          => 'Панель',
+       NS_MAIN             => '',
+       NS_TALK             => 'Вераськон',
+       NS_USER             => 'Викиавтор',
+       NS_USER_TALK        => 'Викиавтор_сярысь_вераськон',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => '$1_сярысь_вераськон',
+       NS_IMAGE            => 'Суред',
+       NS_IMAGE_TALK       => 'Суред_сярысь_вераськон',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'MediaWiki_сярысь_вераськон',
+       NS_TEMPLATE         => 'Шаблон',
+       NS_TEMPLATE_TALK    => 'Шаблон_сярысь_вераськон',
+       NS_HELP             => 'Валэктон',
+       NS_HELP_TALK        => 'Валэктон_сярысь_вераськон',
+       NS_CATEGORY         => 'Категория',
+       NS_CATEGORY_TALK    => 'Категория_сярысь_вераськон',
+);
+
+$linkTrail = '/^([a-zа-яёӝӟӥӧӵ“»]+)(.*)$/sDu';
+$fallback8bitEncoding = 'windows-1251';
+$separatorTransformTable = array(',' => ' ', '.' => ',' );
+
+$messages = array(
 'linkprefix' => '/^(.*?)(„|«)$/sDu',
 'article' => 'Статья',
 'createaccount' => 'выль вики-авторлэн регистрациез',
@@ -16,4 +48,4 @@ $wgAllMessagesUdm = array(
 'preferences' => 'настройкаос',
 );
 
-?>
\ No newline at end of file
+?>
diff --git a/languages/MessagesUg.php b/languages/MessagesUg.php
new file mode 100644 (file)
index 0000000..9531c01
--- /dev/null
@@ -0,0 +1,10 @@
+<?php
+/** Uyghur (Oyghurque)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+$rtl = true;
+
+?>
index d122887..6e64708 100644 (file)
@@ -1,7 +1,49 @@
 <?php
+/**
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+$namespaceNames = array(
+       NS_MEDIA            => 'Медіа',
+       NS_SPECIAL          => 'Спеціальні',
+       NS_MAIN             => '',
+       NS_TALK             => 'Обговорення',
+       NS_USER             => 'Користувач',
+       NS_USER_TALK        => 'Обговорення_користувача',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => 'Обговорення_$1',
+       NS_IMAGE            => 'Зображення',
+       NS_IMAGE_TALK       => 'Обговорення_зображення',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'Обговорення_MediaWiki',
+       NS_TEMPLATE         => 'Шаблон',
+       NS_TEMPLATE_TALK    => 'Обговорення_шаблону',
+       NS_HELP             => 'Довідка',
+       NS_HELP_TALK        => 'Обговорення_довідки',
+       NS_CATEGORY         => 'Категорія',
+       NS_CATEGORY_TALK    => 'Обговорення_категорії'
+);
+
+$quickbarSettings = array(
+       "Не показувати панель", "Фіксована зліва", "Фіксована справа", "Плаваюча зліва"
+);
+
+$skinNames = array(
+       'standard' => "Стандартне",
+       'nostalgia' => "Ностальгія",
+       'cologneblue' => "Кельнське Синє"
+);
+
+
+$datePreferences = false;
+
+$fallback8bitEncoding = "windows-1251";
+$separatorTransformTable = array(',' => '.', '.' => ',' );
+$linkTrail = "/^([a-z]+)(.*)\$/sD";
 
 
-/* private */ $wgAllMessagesUk = array(
+$messages = array(
 # User Toggles
 
 "tog-underline" => "Підкреслювати зв'язки",
 
 # Bits of text used by many pages:
 #
-"linktrail"            => "/^([a-z]+)(.*)\$/sD",
 "mainpage"             => "Головна стаття",
 "mainpagetext" => "Програмне забезпечення вікі встановлено.",
 "about"                        => "Про",
diff --git a/languages/MessagesUr.php b/languages/MessagesUr.php
new file mode 100644 (file)
index 0000000..25c9d86
--- /dev/null
@@ -0,0 +1,12 @@
+<?php
+
+$rtl = true;
+$defaultUserOptionOverrides = array(
+       # Swap sidebar to right side by default
+       'quickbar' => 2,
+       # Underlines seriously harm legibility. Force off:
+       'underline' => 0,
+);
+
+
+?>
index 0ede129..078d6d0 100644 (file)
@@ -1,7 +1,36 @@
 <?php
+/** Venitian ( Vèneto )
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
+$fallback = 'it';
 
-global $wgAllMessagesVec;
-$wgAllMessagesVec = array(
+$quickbarSettings = array(
+       'Nessun', 'Fisso a sinistra', 'Fisso a destra', 'Fluttuante a sinistra'
+);
+$namespaceNames = array(               
+       NS_MEDIA            => 'Media',
+       NS_SPECIAL          => 'Speciale',
+       NS_MAIN             => '',
+       NS_TALK             => 'Discussion',
+       NS_USER             => 'Utente',
+       NS_USER_TALK        => 'Discussion_utente',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => 'Discussion_$1',
+       NS_IMAGE            => 'Imagine',
+       NS_IMAGE_TALK       => 'Discussion_imagine',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'Discussion_MediaWiki',
+       NS_TEMPLATE         => 'Template',
+       NS_TEMPLATE_TALK    => 'Discussion_template',
+       NS_HELP             => 'Aiuto',
+       NS_HELP_TALK        => 'Discussion_aiuto',
+       NS_CATEGORY         => 'Categoria',
+       NS_CATEGORY_TALK    => 'Discussion_categoria'
+);
+
+$messages = array(
 'tog-underline'         => 'Sottolinea links',
 'tog-highlightbroken'   => 'Evidenzsia i links che i punta a <br />arthicołi ancora da scrivere',
 'tog-justify'           => 'Paragrafo: giustificato',
index aadbe9f..dd319f2 100644 (file)
@@ -1,7 +1,107 @@
 <?php
+/**
+  * Based on Language.php 1.645
+  * @package MediaWiki
+  * @subpackage Language
+  * Compatible to MediaWiki 1.5
+  * Initial translation by Trần Thế Trung and Nguyễn Thanh Quang
+  * Last update 28 August 2005 (UTC)
+  */
+
+$namespaceNames = array(
+       NS_MEDIA                        => 'Phương_tiện',
+       NS_SPECIAL                      => 'Đặc_biệt',
+       NS_MAIN                         => '',
+       NS_TALK                         => 'Thảo_luận',
+       NS_USER                         => 'Thành_viên',
+       NS_USER_TALK            => 'Thảo_luận_Thành_viên',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK         => 'Thảo_luận_$1',
+       NS_IMAGE                        => 'Hình',
+       NS_IMAGE_TALK           => 'Thảo_luận_Hình',
+       NS_MEDIAWIKI            => 'MediaWiki',
+       NS_MEDIAWIKI_TALK       => 'Thảo_luận_MediaWiki',
+       NS_TEMPLATE                     => 'Tiêu_bản',
+       NS_TEMPLATE_TALK        => 'Thảo_luận_Tiêu_bản',
+       NS_HELP                         => 'Trợ_giúp',
+       NS_HELP_TALK            => 'Thảo_luận_Trợ_giúp',
+       NS_CATEGORY                     => 'Thể_loại',
+       NS_CATEGORY_TALK        => 'Thảo_luận_Thể_loại'
+);
+
+$quickbarSettings = array(
+       'Không', 'Trái', 'Phải', 'Nổi bên trái'
+);
+
+$skinNames = array(
+       'standard'              => 'Cổ điển',
+       'nostalgia'             => 'Vọng cổ',
+       'myskin'                => 'Cá nhân'
+);
+
+$magicWords = array(
+       'redirect'               => array( 0,    '#redirect' , '#đổi'             ),
+       'notoc'                  => array( 0,    '__NOTOC__' , '__KHÔNGMỤCMỤC__'             ),
+       'forcetoc'               => array( 0,    '__FORCETOC__', '__LUÔNMỤCLỤC__'        ),
+       'toc'                    => array( 0,    '__TOC__' , '__MỤCLỤC__'               ),
+       'noeditsection'          => array( 0,    '__NOEDITSECTION__', '__KHÔNGSỬAMỤC__'      ),
+       'start'                  => array( 0,    '__START__' , '__BẮTĐẦU__'             ),
+       'currentmonth'           => array( 1,    'CURRENTMONTH' , 'THÁNGNÀY'          ),
+       'currentmonthname'       => array( 1,    'CURRENTMONTHNAME'  , 'TÊNTHÁNGNÀY'     ),
+       'currentmonthnamegen'    => array( 1,    'CURRENTMONTHNAMEGEN' , 'TÊNDÀITHÁNGNÀY'   ),
+       'currentmonthabbrev'     => array( 1,    'CURRENTMONTHABBREV'  , 'TÊNNGẮNTHÁNGNÀY'  ),
+       'currentday'             => array( 1,    'CURRENTDAY'       , 'NGÀYNÀY'     ),
+       'currentdayname'         => array( 1,    'CURRENTDAYNAME'   , 'TÊNNGÀYNÀY'      ),
+       'currentyear'            => array( 1,    'CURRENTYEAR'    , 'NĂMNÀY'        ),
+       'currenttime'            => array( 1,    'CURRENTTIME'     , 'GIỜNÀY'       ),
+       'numberofarticles'       => array( 1,    'NUMBEROFARTICLES'  , 'SỐBÀI'     ),
+       'numberoffiles'          => array( 1,    'NUMBEROFFILES'   , 'SỐTẬPTIN'       ),
+       'pagename'               => array( 1,    'PAGENAME'      , 'TÊNTRANG'        ),
+       'pagenamee'              => array( 1,    'PAGENAMEE'   , 'TÊNTRANG2'           ),
+       'namespace'              => array( 1,    'NAMESPACE'   , 'KHÔNGGIANTÊN'           ),
+       'msg'                    => array( 0,    'MSG:'     , 'NHẮN:'              ),
+       'subst'                  => array( 0,    'SUBST:'   ,  'THẾ:'            ),
+       'msgnw'                  => array( 0,    'MSGNW:'    ,  'NHẮNMỚI:'             ),
+       'end'                    => array( 0,    '__END__'    , '__KẾT__'            ),
+       'img_thumbnail'          => array( 1,    'thumbnail', 'thumb' , 'nhỏ'    ),
+       'img_right'              => array( 1,    'right' , 'phải'                 ),
+       'img_left'               => array( 1,    'left'  , 'trái'                ),
+       'img_none'               => array( 1,    'none'  , 'không'                 ),
+       'img_width'              => array( 1,    '$1px'                   ),
+       'img_center'             => array( 1,    'center', 'centre' , 'giữa'      ),
+       'img_framed'             => array( 1,    'framed', 'enframed', 'frame' , 'khung'),
+       'int'                    => array( 0,    'INT:'                   ),
+       'sitename'               => array( 1,    'SITENAME'  , 'TÊNMẠNG'             ),
+       'ns'                     => array( 0,    'NS:'                    ),
+       'localurl'               => array( 0,    'LOCALURL:'              ),
+       'localurle'              => array( 0,    'LOCALURLE:'             ),
+       'server'                 => array( 0,    'SERVER'    , 'MÁYCHỦ'             ),
+       'servername'             => array( 0,    'SERVERNAME' , 'TÊNMÁYCHỦ'            ),
+       'scriptpath'             => array( 0,    'SCRIPTPATH'  , ''           ),
+       'grammar'                => array( 0,    'GRAMMAR:'   , 'NGỮPHÁP'            ),
+       'notitleconvert'         => array( 0,    '__NOTITLECONVERT__',
+'__NOTC__', '__KHÔNGCHUYỂNTÊN__'),
+       'nocontentconvert'       => array( 0,    '__NOCONTENTCONVERT__',
+'__NOCC__', '__KHÔNGCHUYỂNNỘIDUNG__'),
+       'currentweek'            => array( 1,    'CURRENTWEEK' , 'TUẦNNÀY'           ),
+       'currentdow'             => array( 1,    'CURRENTDOW'             ),
+       'revisionid'             => array( 1,    'REVISIONID'  , 'SỐBẢN'           ),
+ );
+
+$dateFormats = array(
+    MW_DATE_DEFAULT => 'Không lựa chọn',
+    1 => '16:12, tháng 1 ngày 15 năm 2001',
+    2 => '16:12, ngày 15 tháng 1 năm 2001',
+    3 => '16:12, năm 2001 tháng 1 ngày 15',
+    4 => '',
+    MW_DATE_ISO => '2001-01-15 16:12:34'
+);
+
+$linkTrail = "/^([a-zàâçéèêîôûäëïöüùÇÉÂÊÎÔÛÄËÏÖÜÀÈÙ]+)(.*)$/sD";
+$separatorTransformTable = array(',' => '.', '.' => ',' );
 
 
-/* private */ $wgAllMessagesVi = array(
+$messages = array(
 # User Toggles
 
 'tog-editwidth' => 'Cửa sổ soạn thảo mở rộng',
 'subcategories'        => 'Tiểu thể loại',
 'subcategorycount' => 'Thể loại này có $1 tiểu thể loại.',
 'allarticles'   => 'Mọi bài',
-'linktrail'     =>
-"/^([a-zàâçéèêîôûäëïöüùÇÉÂÊÎÔÛÄËÏÖÜÀÈÙ]+)(.*)$/sD",
 'mainpage'      => 'Trang đầu',
 'mainpagetext' => 'Phần mềm {{SITENAME}} đã cài đặt.',
 'portal'        => 'Cộng đồng',
index 62120b0..f2201e6 100644 (file)
@@ -1,4 +1,64 @@
 <?php
+/**
+ * Walloon (Walon)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ */
+
+$quickbarSettings = array(
+       "Nole bår", "Aclawêye a hintche", "Aclawêye a droete", "Flotante a hintche", "Flotante a droete"
+);
+
+# lists "no preferences", normall (long) walloon date,
+# short walloon date, and ISO format
+# MW_DATE_DMY is alias for long format, as it is dd mmmmm yyyy.
+$datePreferences = array(
+       'default',
+       'dmy',
+       'walloon short',
+       'ISO 8601'
+);
+
+$datePreferenceMigrationMap = array(
+       0 => 'default',
+       2 => 'dmy',
+       4 => 'walloon short',
+);
+$defaultDateFormat = 'dmy';
+
+$dateFormats = array(
+       'walloon short time' => 'H:i'
+);
+
+$namespaceNames = array(
+       NS_MEDIA          => "Media", /* Media */
+       NS_SPECIAL        => "Sipeciås", /* Special */
+       NS_MAIN           => "",
+       NS_TALK           => "Copene", /* Talk */
+       NS_USER           => "Uzeu", /* User */
+       NS_USER_TALK      => "Uzeu_copene", /* User_talk */
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK   => '$1_copene',
+       NS_IMAGE          => "Imådje", /* Image */
+       NS_IMAGE_TALK     => "Imådje_copene", /* Image_talk */
+       NS_MEDIAWIKI      => "MediaWiki", /* MediaWiki */
+       NS_MEDIAWIKI_TALK => "MediaWiki_copene", /* MediaWiki_talk */
+       NS_TEMPLATE       => "Modele",
+       NS_TEMPLATE_TALK  => "Modele_copene",
+       NS_HELP           => "Aidance",
+       NS_HELP_TALK      => "Aidance_copene",
+       NS_CATEGORY       => "Categoreye",
+       NS_CATEGORY_TALK  => "Categoreye_copene",
+);
+
+# definixha del cogne po les limeros
+# (number format definition)
+# en: 12,345.67 -> wa: 12 345,67
+$separatorTransformTable = array(',' => "\xc2\xa0", '.' => ',' );
+
+#$linkTrail = '/^([a-zåâêîôûçéèA-ZÅÂÊÎÔÛÇÉÈ]+)(.*)$/sDu';
+$linkTrail = '/^([a-zåâêîôûçéè]+)(.*)$/sDu';
 
 #
 # NOTE:
@@ -7,8 +67,7 @@
 # steward = mwaisse-manaedjeu tot avå
 #
 
-global $wgAllMessagesWa;
-$wgAllMessagesWa = array(
+$messages = array(
 # User preference toggles
 'tog-underline' => 'Sorlignî les loyéns',
 'tog-highlightbroken' => 'Håyner les vudes loyéns <a href="" class="new">come çouchal</a><br /> &nbsp;&nbsp;&nbsp; (oudonbén: come çouchal<a href="" class="internal">?</a>).',
@@ -88,7 +147,6 @@ $wgAllMessagesWa = array(
 'category_header' => 'Årtikes el categoreye «$1»',
 'subcategories' => 'Dizo-categoreyes',
 # using uppercase A-Z break things...
-#'linktrail' => '/^([a-zåâêîôûçéèA-ZÅÂÊÎÔÛÇÉÈ]+)(.*)$/sDu',
 'linktrail' => '/^([a-zåâêîôûçéè]+)(.*)$/sDu',
 #'linkprefix'          => '/^(.*?)([a-zA-Z\x80-\xff]+)$/sD',
 'mainpage' => 'Mwaisse pådje',
index f6acc40..3ae95a5 100644 (file)
@@ -1,7 +1,35 @@
 <?php
+/**
+  * @package MediaWiki
+  * @subpackage Language
+  */
+# Kalmyk stub localization;
+
+$namespaceNames = array(
+       NS_MEDIA            => 'Аһар',
+       NS_SPECIAL          => 'Көдлхнə',
+       NS_MAIN             => '',
+       NS_TALK             => 'Ухалвр',
+       NS_USER             => 'Орлцач',
+       NS_USER_TALK        => 'Орлцачна_тускар_ухалвр',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => '$1_тускар_ухалвр',
+       NS_IMAGE            => 'Зург',
+       NS_IMAGE_TALK       => 'Зургин_тускар_ухалвр',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'MediaWiki_тускар_ухалвр',
+       NS_TEMPLATE         => 'Зура',
+       NS_TEMPLATE_TALK    => 'Зуран_тускар_ухалвр',
+       NS_HELP             => 'Цəəлһлһн',
+       NS_HELP_TALK        => 'Цəəлһлһин_тускар_ухалвр',
+       NS_CATEGORY         => 'Янз',
+       NS_CATEGORY_TALK    => 'Янзин_тускар_ухалвр',
+);
+
+$fallback8bitEncoding = "windows-1251";
 
 
-/* private */ $wgAllMessagesXal = array(
+$messages = array(
 
 'edit' => 'Чиклх',
 'article' => 'Халх',
index 2e5dea9..7e84c0c 100644 (file)
@@ -1,7 +1,49 @@
 <?php
+/** Yiddish (ייִדיש)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
+$fallback = 'he';
 
-global $wgAllMessagesYi;
-$wgAllMessagesYi = array(
+$namespaceNames = array(
+       NS_MEDIA          => 'מעדיע',
+       NS_SPECIAL        => 'באַזונדער',
+       NS_MAIN           => '',
+       NS_TALK           => 'רעדן',
+       NS_USER           => 'באַניצער',
+       NS_USER_TALK      => 'באַניצער_רעדן',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK   => '$1_רעדן',
+       NS_IMAGE          => 'בילד',
+       NS_IMAGE_TALK     => 'בילד_רעדן',
+       NS_MEDIAWIKI      => 'מעדיעװיקי',
+       NS_MEDIAWIKI_TALK => 'מעדיעװיקי_רעדן',
+       NS_TEMPLATE       => 'מוסטער',
+       NS_TEMPLATE_TALK  => 'מוסטער_רעדן',
+       NS_HELP           => 'הילף',
+       NS_HELP_TALK      => 'הילף_רעדן',
+       NS_CATEGORY       => 'קאַטעגאָריע',
+       NS_CATEGORY_TALK  => 'קאַטעגאָריע_רעדן'
+);
+
+$namespaceAliases = array(
+       'באזונדער' => NS_SPECIAL,
+       'באנוצער' => NS_USER,
+       'באנוצער_רעדן' => NS_USER_TALK,
+       'מעדיעוויקי' => NS_MEDIAWIKI,
+       'מעדיעוויקי_רעדן' => NS_MEDIAWIKI_TALK,
+       'קאטעגאריע' => NS_CATEGORY,
+       'קאטעגאריע_רעדן' => NS_CATEGORY_TALK,
+);
+
+$rtl = true;
+$defaultUserOptionOverrides = array(
+       # Swap sidebar to right side by default
+       'quickbar' => 2,
+);
+
+$messages = array(
 'tog-usenewrc'          => 'פֿאַרבעסערטע "לעצטע ענדערונגען" (JavaScript)',
 'tog-watchdefault'      => 'נאָכפֿאָלג אױטאָמאַטיש די װערטן װאָס איך באַאַרבעט',
 'tog-previewontop'      => 'צײַגן דעם "פֿאָרויסיקע װײַזונג" גלײַך בײַם ערשטע באַאַרבעטונג',
diff --git a/languages/MessagesZa.php b/languages/MessagesZa.php
new file mode 100644 (file)
index 0000000..acf1e45
--- /dev/null
@@ -0,0 +1,9 @@
+<?php
+/** Zhuang (壮语)
+  *
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+$fallback = 'zh-cn';
+?>
diff --git a/languages/MessagesZh.php b/languages/MessagesZh.php
new file mode 100644 (file)
index 0000000..a97bba1
--- /dev/null
@@ -0,0 +1,7 @@
+<?php
+
+# Stub message file for converter code "zh"
+
+$fallback = 'zh-cn';
+
+?>
index 10ba802..87d5e65 100644 (file)
@@ -1,7 +1,66 @@
 <?php
+/**
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+$namespaceNames = array(
+       NS_MEDIA            => 'Media',
+       NS_SPECIAL          => 'Special',
+       NS_MAIN             => '',
+       NS_TALK             => 'Talk',
+       NS_USER             => 'User',
+       NS_USER_TALK        => 'User_talk',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => '$1_talk',
+       NS_IMAGE            => 'Image',
+       NS_IMAGE_TALK       => 'Image_talk',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'MediaWiki_talk',
+       NS_TEMPLATE         => 'Template',
+       NS_TEMPLATE_TALK    => 'Template_talk',
+       NS_HELP             => 'Help',
+       NS_HELP_TALK        => 'Help_talk',
+       NS_CATEGORY         => 'Category',
+       NS_CATEGORY_TALK    => 'Category_talk'
+);
+
+$namespaceAliases = array(
+       "特殊"  => NS_SPECIAL,
+       "对话" => NS_TALK, 
+       "用户" => NS_USER,
+       "用户对话" => NS_USER_TALK,
+       # This has never worked so it's unlikely to annoy anyone if I disable it -- TS
+       #"{{SITENAME}}_对话" => NS_PROJECT_TALK
+       "图像" => NS_IMAGE,
+       "图像对话" => NS_IMAGE_TALK,
+);
+
+$quickbarSettings = array(
+       "无", /* "None" */
+       "左侧固定", /* "Fixed left" */
+       "右侧固定", /* "Fixed right" */
+       "左侧漂移" /* "Floating left" */
+);
 
+$skinNames = array(
+       'standard' => "标准",
+       'nostalgia' => "怀旧",
+       'cologneblue' => "科隆香水蓝"
+);
+
+$extraUserToggles = array(
+       'nolangconversion',
+);
+$datePreferences = false;
+$defaultDateFormat = 'zh';
+$dateFormats = array(
+       'zh time' => 'H:i',
+       'zh date' => 'Y年Mj日',
+       'zh both' => 'H:i Y年Mj日',
+);
 
-/* private */ $wgAllMessagesZh_cn = array(
+$messages = array(
 # User Toggles
 
 "tog-underline" => "下划链接", /* "Underline links", */
         "category" => "分类",
         "category_header" => "类别”$1“中的条目",
         "subcategories" => "附分类",
-"linktrail"            => "/^([a-z]+)(.*)\$/sD",
 "mainpage"             => "首页",
 "about"                        => "关于",
 "aboutsite"      => "关于{{SITENAME}}",
diff --git a/languages/MessagesZh_hk.php b/languages/MessagesZh_hk.php
new file mode 100644 (file)
index 0000000..998b76d
--- /dev/null
@@ -0,0 +1,10 @@
+<?
+
+/**
+  * @package MediaWiki
+  * @subpackage Language
+  */
+# Inherit everything for now
+$fallback = 'zh-tw';
+
+?>
diff --git a/languages/MessagesZh_sg.php b/languages/MessagesZh_sg.php
new file mode 100644 (file)
index 0000000..945636c
--- /dev/null
@@ -0,0 +1,10 @@
+<?
+
+/**
+  * @package MediaWiki
+  * @subpackage Language
+  */
+# Inherit everything for now
+$fallback = 'zh-cn';
+
+?>
index 3f36c6d..0711488 100644 (file)
@@ -1,7 +1,61 @@
 <?php
+/**
+  * @package MediaWiki
+  * @subpackage Language
+  */
+
+$fallback = 'zh-cn';
+
+$namespaceNames = array(
+       NS_MEDIA            => "媒體",
+       NS_SPECIAL          => "特殊",
+       NS_MAIN             => "",
+       NS_TALK             => "討論",
+       NS_USER             => "用戶",
+       NS_USER_TALK        => "用戶討論",
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => '$1討論',
+       NS_IMAGE            => "圖像",
+       NS_IMAGE_TALK       => "圖像討論",
+       NS_MEDIAWIKI        => "媒體維基",
+       NS_MEDIAWIKI_TALK   => "媒體維基討論",
+       NS_TEMPLATE         => "樣板",
+       NS_TEMPLATE_TALK    => "樣板討論",
+       NS_HELP             => "幫助",
+       NS_HELP_TALK        => "幫助討論",
+       NS_CATEGORY         => "分類",
+       NS_CATEGORY_TALK    => "分類討論"
+);
+
+$namespaceAliases = array(
+       "對話" => NS_TALK,
+       "用戶對話" => NS_USER_TALK,
+       "維基百科對話" => NS_PROJECT_TALK,
+       "圖像對話" => NS_IMAGE_TALK,
+);
+
+$quickbarSettings = array(
+        "無", /* "None" */
+       "左側固定", /* "Fixed left" */
+       "右側固定", /* "Fixed right" */
+       "左側漂移" /* "Floating left" */
+);
+
+$skinNames = array(
+        "標準",/* "Standard" */
+       "懷舊",/* "Nostalgia" */
+       "科隆香水藍" /* "Cologne Blue" */
+);
+
+$bookstoreList = array(
+       "博客來書店" => "http://www.books.com.tw/exep/openfind_book_keyword.php?cat1=4&key1=$1",
+       "三民書店" => "http://www.sanmin.com.tw/page-qsearch.asp?ct=search_isbn&qu=$1",
+       "天下書店" => "http://www.cwbook.com.tw/cw/TS.jsp?schType=product.isbn&schStr=$1",
+       "新絲書店" => "http://www.silkbook.com/function/Search_List_Book.asp?item=5&text=$1"
+);
 
 
-/* private */ $wgAllMessagesZh_tw = array(
+$messages = array(
 
 /* User toggles */
        "tog-underline" => "下劃鏈結", /* "Underline links", */
@@ -30,7 +84,6 @@
 "category" => "分類",
 "category_header" => "類別”$1“中的條目",
 "subcategories" => "子分類",
-"linktrail"            => "/^([a-z]+)(.*)\$/sD",
 "mainpage"             => "首頁",
 "about"                        => "關於",
 "aboutpage"            => "{{ns:project}}:關於",
diff --git a/languages/scripts/date-formats.php b/languages/scripts/date-formats.php
new file mode 100644 (file)
index 0000000..dd3fb7f
--- /dev/null
@@ -0,0 +1,45 @@
+<?php
+
+$ts = '20010115123456';
+
+       
+$IP = dirname( __FILE__ ) . '/../..';
+require_once( "$IP/maintenance/commandLine.inc" );
+
+foreach ( glob( "$IP/languages/Messages*.php" ) as $filename ) {
+       $base = basename( $filename );
+       if ( !preg_match( '/Messages(.*)\.php$/', $base, $m ) ) {
+               continue;
+       }
+       $code = str_replace( '_', '-', strtolower( $m[1] ) );
+       print "$code ";
+       $lang = Language::factory( $code );
+       $prefs = $lang->getDatePreferences();
+       if ( !$prefs ) {
+               $prefs = array( 'default' );
+       }
+       print "date: ";
+       foreach ( $prefs as $index => $pref ) {
+               if ( $index > 0 ) {
+                       print ' | ';
+               }
+               print $lang->date( $ts, false, $pref );
+       }
+       print "\n$code time: ";
+       foreach ( $prefs as $index => $pref ) {
+               if ( $index > 0 ) {
+                       print ' | ';
+               }
+               print $lang->time( $ts, false, $pref );
+       }
+       print "\n$code both: "; 
+       foreach ( $prefs as $index => $pref ) {
+               if ( $index > 0 ) {
+                       print ' | ';
+               }
+               print $lang->timeanddate( $ts, false, $pref );
+       }
+       print "\n\n";
+}
+
+?>
diff --git a/languages/scripts/function-list.php b/languages/scripts/function-list.php
new file mode 100644 (file)
index 0000000..84efb29
--- /dev/null
@@ -0,0 +1,44 @@
+<?php
+
+define( 'MEDIAWIKI', 1 );
+define( 'NOT_REALLY_MEDIAWIKI', 1 );
+
+class Language {}
+foreach ( glob( 'Language*.php' ) as $file ) {
+       if ( $file != 'Language.php' ) {
+               require_once( $file );
+       }
+}
+
+$removedFunctions = array( 'date', 'time', 'timeanddate', 'formatMonth', 'formatDay', 
+       'getMonthName', 'getMonthNameGen', 'getMonthAbbreviation', 'getWeekdayName', 
+       'userAdjust', 'dateFormat', 'timeSeparator', 'timeDateSeparator', 'timeBeforeDate',
+       'monthByLatinNumber', 'getSpecialMonthName',
+
+       'commafy'
+);
+
+$numRemoved = 0;
+$total = 0;
+$classes = get_declared_classes();
+ksort( $classes );
+foreach ( $classes as $class ) {
+       if ( !preg_match( '/^Language/', $class ) || $class == 'Language' || $class == 'LanguageConverter' ) {
+               continue;
+       }
+
+       print "$class\n";
+       $methods = get_class_methods( $class );
+       print_r( $methods );
+
+       if ( !count( array_diff( $methods, $removedFunctions ) ) ) {
+               print "removed\n";
+               $numRemoved++;
+       }
+       $total++;
+       print "\n";
+}
+
+print "$numRemoved will be removed out of $total\n";
+
+?>
diff --git a/languages/scripts/validate.php b/languages/scripts/validate.php
new file mode 100644 (file)
index 0000000..10d98d3
--- /dev/null
@@ -0,0 +1,40 @@
+<?php
+
+if ( !isset( $argv[1] ) ) {
+       print "Usage: php {$argv[0]} <filename>\n";
+       exit( 1 );
+}
+array_shift( $argv );
+
+define( 'MEDIAWIKI', 1 );
+define( 'NOT_REALLY_MEDIAWIKI', 1 );
+
+$IP = dirname( __FILE__ ) . '/../..';
+
+require_once( "$IP/includes/Defines.php" );
+require_once( "$IP/languages/Language.php" );
+
+$files = array();
+foreach ( $argv as $arg ) {
+       $files = array_merge( $files, glob( $arg ) );
+}
+
+foreach ( $files as $filename ) {
+       print "$filename...";
+       $vars = getVars( $filename );
+       $keys = array_keys( $vars );
+       $diff = array_diff( $keys, Language::$mLocalisationKeys );
+       if ( $diff ) {
+               print "\nWarning: unrecognised variable(s): " . implode( ', ', $diff ) ."\n";
+       } else {
+               print " ok\n";
+       }
+}
+
+function getVars( $filename ) {
+       require( $filename );
+       $vars = get_defined_vars();
+       unset( $vars['filename'] );
+       return $vars;
+}
+?>
index 189fbd2..ab0f3c5 100644 (file)
@@ -11,9 +11,9 @@
  */
 
 /** */
-function initialiseMessages( $overwrite = false, $messageArray = false ) {
+function initialiseMessages( $overwrite = false, $messageArray = false, $outputCallback = false ) {
        global $wgContLang, $wgContLanguageCode;
-       global $wgContLangClass, $wgAllMessagesEn;
+       global $wgContLangClass;
        global $wgDisableLangConversion;
        global $wgForceUIMsgAsContentMsg;
        global $wgLanguageNames;
@@ -26,7 +26,7 @@ function initialiseMessages( $overwrite = false, $messageArray = false ) {
        if ( $messageArray ) {
                $sortedArray = $messageArray;
        } else {
-               $sortedArray = $wgAllMessagesEn;
+               $sortedArray = Language::getMessagesFor( 'en' );
        }
 
        ksort( $sortedArray );
@@ -37,11 +37,7 @@ function initialiseMessages( $overwrite = false, $messageArray = false ) {
                $variants[]=$wgContLanguageCode;
 
        foreach ($variants as $v) {
-               $langclass = 'Language'. str_replace( '-', '_', ucfirst( $v ) );
-               if( !class_exists($langclass) ) {
-                       wfDie( "class $langclass not defined. perhaps you need to include the file $langclass.php in $wgContLangClass.php?" );
-               }
-               $lang = new $langclass;
+               $lang = Language::factory( $v );
 
                if($v==$wgContLanguageCode)
                        $suffix='';
@@ -69,12 +65,12 @@ function initialiseMessages( $overwrite = false, $messageArray = false ) {
                        }
                }
        }
-       initialiseMessagesReal( $overwrite, $messages );
+       initialiseMessagesReal( $overwrite, $messages, $outputCallback );
 }
 
 /** */
-function initialiseMessagesReal( $overwrite = false, $messageArray = false ) {
-       global $wgContLang, $wgScript, $wgServer, $wgAllMessagesEn;
+function initialiseMessagesReal( $overwrite = false, $messageArray = false, $outputCallback = false ) {
+       global $wgContLang, $wgScript, $wgServer, $wgLanguageCode;
        global $wgOut, $wgArticle, $wgUser;
        global $wgMessageCache, $wgMemc, $wgDBname, $wgUseMemCached;
 
@@ -91,14 +87,24 @@ function initialiseMessagesReal( $overwrite = false, $messageArray = false ) {
 
        $fname = 'initialiseMessages';
        $ns = NS_MEDIAWIKI;
-       # cur_user_text responsible for the modifications
+       # username responsible for the modifications
        # Don't change it unless you're prepared to update the DBs accordingly, otherwise the
-       # default messages won't be overwritte
+       # default messages won't be overwritten
        $username = 'MediaWiki default';
 
+       if ( !$outputCallback ) {
+               # Print is not a function, and there doesn't appear to be any built-in 
+               # workalikes, so let's just make our own anonymous function to do the 
+               # same thing. 
+               $outputCallback = create_function( '$s', 'print $s;' );
+       }
 
-       print "Initialising \"MediaWiki\" namespace...\n";
+       $outputCallback( "Initialising \"MediaWiki\" namespace for language code $wgLanguageCode...\n" );
 
+       # Check that the serialized data files are OK
+       if ( Language::isLocalisationOutOfDate( $wgLanguageCode ) ) {
+               $outputCallback( "Warning: serialized data file may be out of date.\n" );
+       }
 
        $dbr =& wfGetDB( DB_SLAVE );
        $dbw =& wfGetDB( DB_MASTER );
@@ -107,13 +113,11 @@ function initialiseMessagesReal( $overwrite = false, $messageArray = false ) {
 
        $timestamp = wfTimestampNow();
 
-       #$sql = "SELECT cur_title,cur_is_new,cur_user_text FROM $cur WHERE cur_namespace=$ns AND cur_title IN(";
-       # Get keys from $wgAllMessagesEn, which is more complete than the local language
        $first = true;
        if ( $messageArray ) {
                $sortedArray = $messageArray;
        } else {
-               $sortedArray = $wgAllMessagesEn;
+               $sortedArray = $wgContLang->getAllMessages();
        }
 
        ksort( $sortedArray );
@@ -132,7 +136,7 @@ function initialiseMessagesReal( $overwrite = false, $messageArray = false ) {
        foreach ($chunks as $chunk) {
                $first = true;
                $sql = "SELECT page_title,page_is_new,rev_user_text FROM $page, $revision WHERE
-                       page_namespace=$ns AND rev_page=page_id AND page_title IN(";
+                       page_namespace=$ns AND rev_id=page_latest AND page_title IN(";
 
                foreach ( $chunk as $key => $enMsg ) {
                        if ( $key == '' ) {
@@ -171,20 +175,28 @@ function initialiseMessagesReal( $overwrite = false, $messageArray = false ) {
        $talk = $wgContLang->getNsText( NS_TALK );
        $mwtalk = $wgContLang->getNsText( NS_MEDIAWIKI_TALK );
 
+       $numUpdated = 0;
+       $numKept = 0;
+       $numInserted = 0;
+       
        # Merge these into a single transaction for speed
        $dbw->begin();
 
        # Process each message
-       foreach ( $sortedArray as $key => $enMsg ) {
+       foreach ( $sortedArray as $key => $message ) {
                if ( $key == '' ) {
                        continue; // Skip odd members
                }
                # Get message text
-               if ( $messageArray ) {
-                       $message = $enMsg;
-               } else {
+               if ( !$messageArray ) {
                        $message = wfMsgNoDBForContent( $key );
                }
+               if ( is_null( $message ) ) {
+                       # This happens sometimes with out of date serialized data files
+                       $outputCallback( "Warning: Skipping null message $key\n" );
+                       continue;
+               }
+
                $titleObj = Title::newFromText( $wgContLang->ucfirst( $key ), NS_MEDIAWIKI );
                $title = $titleObj->getDBkey();
 
@@ -197,7 +209,12 @@ function initialiseMessagesReal( $overwrite = false, $messageArray = false ) {
                                if( is_null( $revision ) || $revision->getText() != $message ) {
                                        $article = new Article( $titleObj );
                                        $article->quickEdit( $message );
+                                       ++$numUpdated;
+                               } else {
+                                       ++$numKept;
                                }
+                       } else {
+                               ++$numKept;
                        }
                } else {
                        $article = new Article( $titleObj );
@@ -212,14 +229,14 @@ function initialiseMessagesReal( $overwrite = false, $messageArray = false ) {
                                ) );
                        $revid = $revision->insertOn( $dbw );
                        $article->updateRevisionOn( $dbw, $revision );
+                       ++$numInserted;
                }
        }
        $dbw->commit();
 
        # Clear the relevant memcached key
-       print 'Clearing message cache...';
        $wgMessageCache->clear();
-       print "Done.\n";
+       $outputCallback( "Done. Updated: $numUpdated, inserted: $numInserted, kept: $numKept.\n" );
 }
 
 /** */
index 2bb5389..93edce1 100644 (file)
@@ -28,16 +28,15 @@ if ( !isset( $optionsWithArgs ) ) {
 $optionsWithArgs[] = 'conf'; # For specifying the location of LocalSettings.php
 
 $self = array_shift( $argv );
-$self = __FILE__;
-$IP = realpath( dirname( $self ) . '/..' );
+$IP = realpath( dirname( __FILE__ ) . '/..' );
 #chdir( $IP );
+require_once( "$IP/StartProfiler.php" );
 
 $options = array();
 $args = array();
 
 
 # Parse arguments
-
 for( $arg = reset( $argv ); $arg !== false; $arg = next( $argv ) ) {
        if ( $arg == '--' ) {
                # End of options, remainder should be considered arguments
@@ -141,7 +140,7 @@ if ( file_exists( '/home/wikipedia/common/langlist' ) ) {
        $DP = $IP;
        ini_set( 'include_path', ".:$IP:$IP/includes:$IP/languages:$IP/maintenance" );
 
-       require_once( $IP.'/includes/ProfilerStub.php' );
+       #require_once( $IP.'/includes/ProfilerStub.php' );
        require_once( $IP.'/includes/Defines.php' );
        require_once( $IP.'/CommonSettings.php' );
 
@@ -168,7 +167,7 @@ if ( file_exists( '/home/wikipedia/common/langlist' ) ) {
        }
        $wgCommandLineMode = true;
        $DP = $IP;
-       require_once( $IP.'/includes/ProfilerStub.php' );
+       #require_once( $IP.'/includes/ProfilerStub.php' );
        require_once( $IP.'/includes/Defines.php' );
        require_once( $settingsFile );
        ini_set( 'include_path', ".$sep$IP$sep$IP/includes$sep$IP/languages$sep$IP/maintenance" );
@@ -204,7 +203,7 @@ ini_set( 'memory_limit', -1 );
 
 require_once( 'Setup.php' );
 require_once( 'install-utils.inc' );
-$wgTitle = Title::newFromText( 'Command line script' );
+$wgTitle = null; # Much much faster startup than creating a title object
 set_time_limit(0);
 
 // --------------------------------------------------------------------
index c27f010..0aabd27 100644 (file)
@@ -31,7 +31,6 @@ $optionsWithArgs = array( 'regex' );
 require_once( 'commandLine.inc' );
 require_once( "$IP/includes/ObjectCache.php" );
 require_once( "$IP/includes/BagOStuff.php" );
-require_once( "$IP/languages/LanguageUtf8.php" );
 require_once( "$IP/includes/Hooks.php" );
 require_once( "$IP/maintenance/parserTestsParserHook.php" );
 require_once( "$IP/maintenance/parserTestsStaticParserHook.php" );
@@ -335,14 +334,12 @@ class ParserTest {
                        'wgLanguageCode' => $lang,
                        'wgContLanguageCode' => $lang,
                        'wgDBprefix' => 'parsertest_',
-                       'wgDefaultUserOptions' => array(),
 
                        'wgLang' => null,
                        'wgContLang' => null,
                        'wgNamespacesWithSubpages' => array( 0 => preg_match('/\\bsubpage\\b/i', $opts)),
                        'wgMaxTocLevel' => 999,
                        'wgCapitalLinks' => true,
-                       'wgDefaultUserOptions' => array(),
                        'wgNoFollowLinks' => true,
                        'wgThumbnailScriptPath' => false,
                        'wgUseTeX' => false,
@@ -354,8 +351,7 @@ class ParserTest {
                        $this->savedGlobals[$var] = $GLOBALS[$var];
                        $GLOBALS[$var] = $val;
                }
-               $langClass = 'Language' . str_replace( '-', '_', ucfirst( $lang ) );
-               $langObj = setupLangObj( $langClass );
+               $langObj = Language::factory( $lang );
                $GLOBALS['wgLang'] = $langObj;
                $GLOBALS['wgContLang'] = $langObj;
 
diff --git a/serialized/Makefile b/serialized/Makefile
new file mode 100644 (file)
index 0000000..21e31de
--- /dev/null
@@ -0,0 +1,28 @@
+
+MESSAGE_SOURCES=$(wildcard ../languages/Messages*.php)
+MESSAGE_TARGETS=$(patsubst ../languages/Messages%.php, Messages%.ser, $(MESSAGE_SOURCES))
+SPECIAL_TARGETS=Utf8Case.ser
+ALL_TARGETS=$(MESSAGE_TARGETS) $(SPECIAL_TARGETS)
+DIST_TARGETS=$(SPECIAL_TARGETS) \
+            MessagesDe.ser \
+            MessagesEn.ser \
+            MessagesFr.ser \
+            MessagesJa.ser \
+            MessagesNl.ser \
+            MessagesPl.ser \
+            MessagesSv.ser
+
+.PHONY: all dist clean
+
+all: $(ALL_TARGETS)
+
+dist: $(DIST_TARGETS)
+
+clean:
+       rm -f $(ALL_TARGETS)
+
+Utf8Case.ser : ../includes/Utf8Case.php
+       php serialize.php -o $@ $<
+
+Messages%.ser : ../languages/Messages%.php ../languages/MessagesEn.php
+       php serialize-localisation.php -o $@ $<
diff --git a/serialized/README b/serialized/README
new file mode 100644 (file)
index 0000000..c02444c
--- /dev/null
@@ -0,0 +1,37 @@
+This directory contains data files in the format of PHP's serialize() function. 
+The source data are typically array literals in PHP source files. We have 
+observed that unserialize(file_get_contents(...)) is faster than executing such 
+a file from an oparray cache like APC, and very much faster than loading it by 
+parsing the source file without such a cache. It should also be faster than 
+loading the data across the network with memcached, as long as you are careful 
+to put your MediaWiki root directory on a local hard drive rather than on NFS. 
+This is a good idea for performance in any case.
+
+To generate all data files:
+
+   cd /path/to/wiki/serialized
+   make
+
+This requires GNU Make. At present, the only serialized data file which is 
+strictly required is Utf8Case.ser. This contains UTF-8 case conversion tables, 
+which have essentially never changed since MediaWiki was invented. 
+
+The Messages*.ser files are localisation files, containing user interface text 
+and various other data related to language-specific behaviour. Because they 
+are merged with the fallback language (usually English) before caching, they 
+are all quite large, about 100KB each at the time of writing. If you generate 
+all of them, they take up about 15 MB. Hence, I don't expect we will include 
+all of them in the release tarballs. However, to obtain optimum performance, 
+YOU SHOULD GENERATE ALL THE LOCALISATION FILES THAT YOU WILL BE USING ON YOUR 
+WIKIS.
+
+You can generate individual files by typing a command such as:
+   cd /path/to/wiki/serialized
+   make MessagesAr.ser
+
+If you change a Messages*.php source file, you must recompile any serialized 
+data files which are present. If you change MessagesEn.php, this will 
+invalidate *all* Messages*.ser files. 
+
+I think we should distribute a few Messages*.ser files in the release tarballs,
+specifically the ones created by "make dist". 
diff --git a/serialized/Utf8Case.ser b/serialized/Utf8Case.ser
new file mode 100644 (file)
index 0000000..1398008
--- /dev/null
@@ -0,0 +1 @@
+a:2:{s:14:"wikiUpperChars";a:745:{s:1:"a";s:1:"A";s:1:"b";s:1:"B";s:1:"c";s:1:"C";s:1:"d";s:1:"D";s:1:"e";s:1:"E";s:1:"f";s:1:"F";s:1:"g";s:1:"G";s:1:"h";s:1:"H";s:1:"i";s:1:"I";s:1:"j";s:1:"J";s:1:"k";s:1:"K";s:1:"l";s:1:"L";s:1:"m";s:1:"M";s:1:"n";s:1:"N";s:1:"o";s:1:"O";s:1:"p";s:1:"P";s:1:"q";s:1:"Q";s:1:"r";s:1:"R";s:1:"s";s:1:"S";s:1:"t";s:1:"T";s:1:"u";s:1:"U";s:1:"v";s:1:"V";s:1:"w";s:1:"W";s:1:"x";s:1:"X";s:1:"y";s:1:"Y";s:1:"z";s:1:"Z";s:2:"µ";s:2:"Μ";s:2:"à";s:2:"À";s:2:"á";s:2:"Á";s:2:"â";s:2:"Â";s:2:"ã";s:2:"Ã";s:2:"ä";s:2:"Ä";s:2:"å";s:2:"Å";s:2:"æ";s:2:"Æ";s:2:"ç";s:2:"Ç";s:2:"è";s:2:"È";s:2:"é";s:2:"É";s:2:"ê";s:2:"Ê";s:2:"ë";s:2:"Ë";s:2:"ì";s:2:"Ì";s:2:"í";s:2:"Í";s:2:"î";s:2:"Î";s:2:"ï";s:2:"Ï";s:2:"ð";s:2:"Ð";s:2:"ñ";s:2:"Ñ";s:2:"ò";s:2:"Ò";s:2:"ó";s:2:"Ó";s:2:"ô";s:2:"Ô";s:2:"õ";s:2:"Õ";s:2:"ö";s:2:"Ö";s:2:"ø";s:2:"Ø";s:2:"ù";s:2:"Ù";s:2:"ú";s:2:"Ú";s:2:"û";s:2:"Û";s:2:"ü";s:2:"Ü";s:2:"ý";s:2:"Ý";s:2:"þ";s:2:"Þ";s:2:"ÿ";s:2:"Ÿ";s:2:"ā";s:2:"Ā";s:2:"ă";s:2:"Ă";s:2:"ą";s:2:"Ą";s:2:"ć";s:2:"Ć";s:2:"ĉ";s:2:"Ĉ";s:2:"ċ";s:2:"Ċ";s:2:"č";s:2:"Č";s:2:"ď";s:2:"Ď";s:2:"đ";s:2:"Đ";s:2:"ē";s:2:"Ē";s:2:"ĕ";s:2:"Ĕ";s:2:"ė";s:2:"Ė";s:2:"ę";s:2:"Ę";s:2:"ě";s:2:"Ě";s:2:"ĝ";s:2:"Ĝ";s:2:"ğ";s:2:"Ğ";s:2:"ġ";s:2:"Ġ";s:2:"ģ";s:2:"Ģ";s:2:"ĥ";s:2:"Ĥ";s:2:"ħ";s:2:"Ħ";s:2:"ĩ";s:2:"Ĩ";s:2:"ī";s:2:"Ī";s:2:"ĭ";s:2:"Ĭ";s:2:"į";s:2:"Į";s:2:"ı";s:1:"I";s:2:"ij";s:2:"IJ";s:2:"ĵ";s:2:"Ĵ";s:2:"ķ";s:2:"Ķ";s:2:"ĺ";s:2:"Ĺ";s:2:"ļ";s:2:"Ļ";s:2:"ľ";s:2:"Ľ";s:2:"ŀ";s:2:"Ŀ";s:2:"ł";s:2:"Ł";s:2:"ń";s:2:"Ń";s:2:"ņ";s:2:"Ņ";s:2:"ň";s:2:"Ň";s:2:"ŋ";s:2:"Ŋ";s:2:"ō";s:2:"Ō";s:2:"ŏ";s:2:"Ŏ";s:2:"ő";s:2:"Ő";s:2:"œ";s:2:"Œ";s:2:"ŕ";s:2:"Ŕ";s:2:"ŗ";s:2:"Ŗ";s:2:"ř";s:2:"Ř";s:2:"ś";s:2:"Ś";s:2:"ŝ";s:2:"Ŝ";s:2:"ş";s:2:"Ş";s:2:"š";s:2:"Š";s:2:"ţ";s:2:"Ţ";s:2:"ť";s:2:"Ť";s:2:"ŧ";s:2:"Ŧ";s:2:"ũ";s:2:"Ũ";s:2:"ū";s:2:"Ū";s:2:"ŭ";s:2:"Ŭ";s:2:"ů";s:2:"Ů";s:2:"ű";s:2:"Ű";s:2:"ų";s:2:"Ų";s:2:"ŵ";s:2:"Ŵ";s:2:"ŷ";s:2:"Ŷ";s:2:"ź";s:2:"Ź";s:2:"ż";s:2:"Ż";s:2:"ž";s:2:"Ž";s:2:"ſ";s:1:"S";s:2:"ƃ";s:2:"Ƃ";s:2:"ƅ";s:2:"Ƅ";s:2:"ƈ";s:2:"Ƈ";s:2:"ƌ";s:2:"Ƌ";s:2:"ƒ";s:2:"Ƒ";s:2:"ƕ";s:2:"Ƕ";s:2:"ƙ";s:2:"Ƙ";s:2:"ơ";s:2:"Ơ";s:2:"ƣ";s:2:"Ƣ";s:2:"ƥ";s:2:"Ƥ";s:2:"ƨ";s:2:"Ƨ";s:2:"ƭ";s:2:"Ƭ";s:2:"ư";s:2:"Ư";s:2:"ƴ";s:2:"Ƴ";s:2:"ƶ";s:2:"Ƶ";s:2:"ƹ";s:2:"Ƹ";s:2:"ƽ";s:2:"Ƽ";s:2:"ƿ";s:2:"Ƿ";s:2:"Dž";s:2:"DŽ";s:2:"dž";s:2:"DŽ";s:2:"Lj";s:2:"LJ";s:2:"lj";s:2:"LJ";s:2:"Nj";s:2:"NJ";s:2:"nj";s:2:"NJ";s:2:"ǎ";s:2:"Ǎ";s:2:"ǐ";s:2:"Ǐ";s:2:"ǒ";s:2:"Ǒ";s:2:"ǔ";s:2:"Ǔ";s:2:"ǖ";s:2:"Ǖ";s:2:"ǘ";s:2:"Ǘ";s:2:"ǚ";s:2:"Ǚ";s:2:"ǜ";s:2:"Ǜ";s:2:"ǝ";s:2:"Ǝ";s:2:"ǟ";s:2:"Ǟ";s:2:"ǡ";s:2:"Ǡ";s:2:"ǣ";s:2:"Ǣ";s:2:"ǥ";s:2:"Ǥ";s:2:"ǧ";s:2:"Ǧ";s:2:"ǩ";s:2:"Ǩ";s:2:"ǫ";s:2:"Ǫ";s:2:"ǭ";s:2:"Ǭ";s:2:"ǯ";s:2:"Ǯ";s:2:"Dz";s:2:"DZ";s:2:"dz";s:2:"DZ";s:2:"ǵ";s:2:"Ǵ";s:2:"ǹ";s:2:"Ǹ";s:2:"ǻ";s:2:"Ǻ";s:2:"ǽ";s:2:"Ǽ";s:2:"ǿ";s:2:"Ǿ";s:2:"ȁ";s:2:"Ȁ";s:2:"ȃ";s:2:"Ȃ";s:2:"ȅ";s:2:"Ȅ";s:2:"ȇ";s:2:"Ȇ";s:2:"ȉ";s:2:"Ȉ";s:2:"ȋ";s:2:"Ȋ";s:2:"ȍ";s:2:"Ȍ";s:2:"ȏ";s:2:"Ȏ";s:2:"ȑ";s:2:"Ȑ";s:2:"ȓ";s:2:"Ȓ";s:2:"ȕ";s:2:"Ȕ";s:2:"ȗ";s:2:"Ȗ";s:2:"ș";s:2:"Ș";s:2:"ț";s:2:"Ț";s:2:"ȝ";s:2:"Ȝ";s:2:"ȟ";s:2:"Ȟ";s:2:"ȣ";s:2:"Ȣ";s:2:"ȥ";s:2:"Ȥ";s:2:"ȧ";s:2:"Ȧ";s:2:"ȩ";s:2:"Ȩ";s:2:"ȫ";s:2:"Ȫ";s:2:"ȭ";s:2:"Ȭ";s:2:"ȯ";s:2:"Ȯ";s:2:"ȱ";s:2:"Ȱ";s:2:"ȳ";s:2:"Ȳ";s:2:"ɓ";s:2:"Ɓ";s:2:"ɔ";s:2:"Ɔ";s:2:"ɖ";s:2:"Ɖ";s:2:"ɗ";s:2:"Ɗ";s:2:"ə";s:2:"Ə";s:2:"ɛ";s:2:"Ɛ";s:2:"ɠ";s:2:"Ɠ";s:2:"ɣ";s:2:"Ɣ";s:2:"ɨ";s:2:"Ɨ";s:2:"ɩ";s:2:"Ɩ";s:2:"ɯ";s:2:"Ɯ";s:2:"ɲ";s:2:"Ɲ";s:2:"ɵ";s:2:"Ɵ";s:2:"ʀ";s:2:"Ʀ";s:2:"ʃ";s:2:"Ʃ";s:2:"ʈ";s:2:"Ʈ";s:2:"ʊ";s:2:"Ʊ";s:2:"ʋ";s:2:"Ʋ";s:2:"ʒ";s:2:"Ʒ";s:2:"ͅ";s:2:"Ι";s:2:"ά";s:2:"Ά";s:2:"έ";s:2:"Έ";s:2:"ή";s:2:"Ή";s:2:"ί";s:2:"Ί";s:2:"α";s:2:"Α";s:2:"β";s:2:"Β";s:2:"γ";s:2:"Γ";s:2:"δ";s:2:"Δ";s:2:"ε";s:2:"Ε";s:2:"ζ";s:2:"Ζ";s:2:"η";s:2:"Η";s:2:"θ";s:2:"Θ";s:2:"ι";s:2:"Ι";s:2:"κ";s:2:"Κ";s:2:"λ";s:2:"Λ";s:2:"μ";s:2:"Μ";s:2:"ν";s:2:"Ν";s:2:"ξ";s:2:"Ξ";s:2:"ο";s:2:"Ο";s:2:"π";s:2:"Π";s:2:"ρ";s:2:"Ρ";s:2:"ς";s:2:"Σ";s:2:"σ";s:2:"Σ";s:2:"τ";s:2:"Τ";s:2:"υ";s:2:"Υ";s:2:"φ";s:2:"Φ";s:2:"χ";s:2:"Χ";s:2:"ψ";s:2:"Ψ";s:2:"ω";s:2:"Ω";s:2:"ϊ";s:2:"Ϊ";s:2:"ϋ";s:2:"Ϋ";s:2:"ό";s:2:"Ό";s:2:"ύ";s:2:"Ύ";s:2:"ώ";s:2:"Ώ";s:2:"ϐ";s:2:"Β";s:2:"ϑ";s:2:"Θ";s:2:"ϕ";s:2:"Φ";s:2:"ϖ";s:2:"Π";s:2:"ϛ";s:2:"Ϛ";s:2:"ϝ";s:2:"Ϝ";s:2:"ϟ";s:2:"Ϟ";s:2:"ϡ";s:2:"Ϡ";s:2:"ϣ";s:2:"Ϣ";s:2:"ϥ";s:2:"Ϥ";s:2:"ϧ";s:2:"Ϧ";s:2:"ϩ";s:2:"Ϩ";s:2:"ϫ";s:2:"Ϫ";s:2:"ϭ";s:2:"Ϭ";s:2:"ϯ";s:2:"Ϯ";s:2:"ϰ";s:2:"Κ";s:2:"ϱ";s:2:"Ρ";s:2:"ϲ";s:2:"Σ";s:2:"ϵ";s:2:"Ε";s:2:"а";s:2:"А";s:2:"б";s:2:"Б";s:2:"в";s:2:"В";s:2:"г";s:2:"Г";s:2:"д";s:2:"Д";s:2:"е";s:2:"Е";s:2:"ж";s:2:"Ж";s:2:"з";s:2:"З";s:2:"и";s:2:"И";s:2:"й";s:2:"Й";s:2:"к";s:2:"К";s:2:"л";s:2:"Л";s:2:"м";s:2:"М";s:2:"н";s:2:"Н";s:2:"о";s:2:"О";s:2:"п";s:2:"П";s:2:"р";s:2:"Р";s:2:"с";s:2:"С";s:2:"т";s:2:"Т";s:2:"у";s:2:"У";s:2:"ф";s:2:"Ф";s:2:"х";s:2:"Х";s:2:"ц";s:2:"Ц";s:2:"ч";s:2:"Ч";s:2:"ш";s:2:"Ш";s:2:"щ";s:2:"Щ";s:2:"ъ";s:2:"Ъ";s:2:"ы";s:2:"Ы";s:2:"ь";s:2:"Ь";s:2:"э";s:2:"Э";s:2:"ю";s:2:"Ю";s:2:"я";s:2:"Я";s:2:"ѐ";s:2:"Ѐ";s:2:"ё";s:2:"Ё";s:2:"ђ";s:2:"Ђ";s:2:"ѓ";s:2:"Ѓ";s:2:"є";s:2:"Є";s:2:"ѕ";s:2:"Ѕ";s:2:"і";s:2:"І";s:2:"ї";s:2:"Ї";s:2:"ј";s:2:"Ј";s:2:"љ";s:2:"Љ";s:2:"њ";s:2:"Њ";s:2:"ћ";s:2:"Ћ";s:2:"ќ";s:2:"Ќ";s:2:"ѝ";s:2:"Ѝ";s:2:"ў";s:2:"Ў";s:2:"џ";s:2:"Џ";s:2:"ѡ";s:2:"Ѡ";s:2:"ѣ";s:2:"Ѣ";s:2:"ѥ";s:2:"Ѥ";s:2:"ѧ";s:2:"Ѧ";s:2:"ѩ";s:2:"Ѩ";s:2:"ѫ";s:2:"Ѫ";s:2:"ѭ";s:2:"Ѭ";s:2:"ѯ";s:2:"Ѯ";s:2:"ѱ";s:2:"Ѱ";s:2:"ѳ";s:2:"Ѳ";s:2:"ѵ";s:2:"Ѵ";s:2:"ѷ";s:2:"Ѷ";s:2:"ѹ";s:2:"Ѹ";s:2:"ѻ";s:2:"Ѻ";s:2:"ѽ";s:2:"Ѽ";s:2:"ѿ";s:2:"Ѿ";s:2:"ҁ";s:2:"Ҁ";s:2:"ҍ";s:2:"Ҍ";s:2:"ҏ";s:2:"Ҏ";s:2:"ґ";s:2:"Ґ";s:2:"ғ";s:2:"Ғ";s:2:"ҕ";s:2:"Ҕ";s:2:"җ";s:2:"Җ";s:2:"ҙ";s:2:"Ҙ";s:2:"қ";s:2:"Қ";s:2:"ҝ";s:2:"Ҝ";s:2:"ҟ";s:2:"Ҟ";s:2:"ҡ";s:2:"Ҡ";s:2:"ң";s:2:"Ң";s:2:"ҥ";s:2:"Ҥ";s:2:"ҧ";s:2:"Ҧ";s:2:"ҩ";s:2:"Ҩ";s:2:"ҫ";s:2:"Ҫ";s:2:"ҭ";s:2:"Ҭ";s:2:"ү";s:2:"Ү";s:2:"ұ";s:2:"Ұ";s:2:"ҳ";s:2:"Ҳ";s:2:"ҵ";s:2:"Ҵ";s:2:"ҷ";s:2:"Ҷ";s:2:"ҹ";s:2:"Ҹ";s:2:"һ";s:2:"Һ";s:2:"ҽ";s:2:"Ҽ";s:2:"ҿ";s:2:"Ҿ";s:2:"ӂ";s:2:"Ӂ";s:2:"ӄ";s:2:"Ӄ";s:2:"ӈ";s:2:"Ӈ";s:2:"ӌ";s:2:"Ӌ";s:2:"ӑ";s:2:"Ӑ";s:2:"ӓ";s:2:"Ӓ";s:2:"ӕ";s:2:"Ӕ";s:2:"ӗ";s:2:"Ӗ";s:2:"ә";s:2:"Ә";s:2:"ӛ";s:2:"Ӛ";s:2:"ӝ";s:2:"Ӝ";s:2:"ӟ";s:2:"Ӟ";s:2:"ӡ";s:2:"Ӡ";s:2:"ӣ";s:2:"Ӣ";s:2:"ӥ";s:2:"Ӥ";s:2:"ӧ";s:2:"Ӧ";s:2:"ө";s:2:"Ө";s:2:"ӫ";s:2:"Ӫ";s:2:"ӭ";s:2:"Ӭ";s:2:"ӯ";s:2:"Ӯ";s:2:"ӱ";s:2:"Ӱ";s:2:"ӳ";s:2:"Ӳ";s:2:"ӵ";s:2:"Ӵ";s:2:"ӹ";s:2:"Ӹ";s:2:"ա";s:2:"Ա";s:2:"բ";s:2:"Բ";s:2:"գ";s:2:"Գ";s:2:"դ";s:2:"Դ";s:2:"ե";s:2:"Ե";s:2:"զ";s:2:"Զ";s:2:"է";s:2:"Է";s:2:"ը";s:2:"Ը";s:2:"թ";s:2:"Թ";s:2:"ժ";s:2:"Ժ";s:2:"ի";s:2:"Ի";s:2:"լ";s:2:"Լ";s:2:"խ";s:2:"Խ";s:2:"ծ";s:2:"Ծ";s:2:"կ";s:2:"Կ";s:2:"հ";s:2:"Հ";s:2:"ձ";s:2:"Ձ";s:2:"ղ";s:2:"Ղ";s:2:"ճ";s:2:"Ճ";s:2:"մ";s:2:"Մ";s:2:"յ";s:2:"Յ";s:2:"ն";s:2:"Ն";s:2:"շ";s:2:"Շ";s:2:"ո";s:2:"Ո";s:2:"չ";s:2:"Չ";s:2:"պ";s:2:"Պ";s:2:"ջ";s:2:"Ջ";s:2:"ռ";s:2:"Ռ";s:2:"ս";s:2:"Ս";s:2:"վ";s:2:"Վ";s:2:"տ";s:2:"Տ";s:2:"ր";s:2:"Ր";s:2:"ց";s:2:"Ց";s:2:"ւ";s:2:"Ւ";s:2:"փ";s:2:"Փ";s:2:"ք";s:2:"Ք";s:2:"օ";s:2:"Օ";s:2:"ֆ";s:2:"Ֆ";s:3:"ḁ";s:3:"Ḁ";s:3:"ḃ";s:3:"Ḃ";s:3:"ḅ";s:3:"Ḅ";s:3:"ḇ";s:3:"Ḇ";s:3:"ḉ";s:3:"Ḉ";s:3:"ḋ";s:3:"Ḋ";s:3:"ḍ";s:3:"Ḍ";s:3:"ḏ";s:3:"Ḏ";s:3:"ḑ";s:3:"Ḑ";s:3:"ḓ";s:3:"Ḓ";s:3:"ḕ";s:3:"Ḕ";s:3:"ḗ";s:3:"Ḗ";s:3:"ḙ";s:3:"Ḙ";s:3:"ḛ";s:3:"Ḛ";s:3:"ḝ";s:3:"Ḝ";s:3:"ḟ";s:3:"Ḟ";s:3:"ḡ";s:3:"Ḡ";s:3:"ḣ";s:3:"Ḣ";s:3:"ḥ";s:3:"Ḥ";s:3:"ḧ";s:3:"Ḧ";s:3:"ḩ";s:3:"Ḩ";s:3:"ḫ";s:3:"Ḫ";s:3:"ḭ";s:3:"Ḭ";s:3:"ḯ";s:3:"Ḯ";s:3:"ḱ";s:3:"Ḱ";s:3:"ḳ";s:3:"Ḳ";s:3:"ḵ";s:3:"Ḵ";s:3:"ḷ";s:3:"Ḷ";s:3:"ḹ";s:3:"Ḹ";s:3:"ḻ";s:3:"Ḻ";s:3:"ḽ";s:3:"Ḽ";s:3:"ḿ";s:3:"Ḿ";s:3:"ṁ";s:3:"Ṁ";s:3:"ṃ";s:3:"Ṃ";s:3:"ṅ";s:3:"Ṅ";s:3:"ṇ";s:3:"Ṇ";s:3:"ṉ";s:3:"Ṉ";s:3:"ṋ";s:3:"Ṋ";s:3:"ṍ";s:3:"Ṍ";s:3:"ṏ";s:3:"Ṏ";s:3:"ṑ";s:3:"Ṑ";s:3:"ṓ";s:3:"Ṓ";s:3:"ṕ";s:3:"Ṕ";s:3:"ṗ";s:3:"Ṗ";s:3:"ṙ";s:3:"Ṙ";s:3:"ṛ";s:3:"Ṛ";s:3:"ṝ";s:3:"Ṝ";s:3:"ṟ";s:3:"Ṟ";s:3:"ṡ";s:3:"Ṡ";s:3:"ṣ";s:3:"Ṣ";s:3:"ṥ";s:3:"Ṥ";s:3:"ṧ";s:3:"Ṧ";s:3:"ṩ";s:3:"Ṩ";s:3:"ṫ";s:3:"Ṫ";s:3:"ṭ";s:3:"Ṭ";s:3:"ṯ";s:3:"Ṯ";s:3:"ṱ";s:3:"Ṱ";s:3:"ṳ";s:3:"Ṳ";s:3:"ṵ";s:3:"Ṵ";s:3:"ṷ";s:3:"Ṷ";s:3:"ṹ";s:3:"Ṹ";s:3:"ṻ";s:3:"Ṻ";s:3:"ṽ";s:3:"Ṽ";s:3:"ṿ";s:3:"Ṿ";s:3:"ẁ";s:3:"Ẁ";s:3:"ẃ";s:3:"Ẃ";s:3:"ẅ";s:3:"Ẅ";s:3:"ẇ";s:3:"Ẇ";s:3:"ẉ";s:3:"Ẉ";s:3:"ẋ";s:3:"Ẋ";s:3:"ẍ";s:3:"Ẍ";s:3:"ẏ";s:3:"Ẏ";s:3:"ẑ";s:3:"Ẑ";s:3:"ẓ";s:3:"Ẓ";s:3:"ẕ";s:3:"Ẕ";s:3:"ẛ";s:3:"Ṡ";s:3:"ạ";s:3:"Ạ";s:3:"ả";s:3:"Ả";s:3:"ấ";s:3:"Ấ";s:3:"ầ";s:3:"Ầ";s:3:"ẩ";s:3:"Ẩ";s:3:"ẫ";s:3:"Ẫ";s:3:"ậ";s:3:"Ậ";s:3:"ắ";s:3:"Ắ";s:3:"ằ";s:3:"Ằ";s:3:"ẳ";s:3:"Ẳ";s:3:"ẵ";s:3:"Ẵ";s:3:"ặ";s:3:"Ặ";s:3:"ẹ";s:3:"Ẹ";s:3:"ẻ";s:3:"Ẻ";s:3:"ẽ";s:3:"Ẽ";s:3:"ế";s:3:"Ế";s:3:"ề";s:3:"Ề";s:3:"ể";s:3:"Ể";s:3:"ễ";s:3:"Ễ";s:3:"ệ";s:3:"Ệ";s:3:"ỉ";s:3:"Ỉ";s:3:"ị";s:3:"Ị";s:3:"ọ";s:3:"Ọ";s:3:"ỏ";s:3:"Ỏ";s:3:"ố";s:3:"Ố";s:3:"ồ";s:3:"Ồ";s:3:"ổ";s:3:"Ổ";s:3:"ỗ";s:3:"Ỗ";s:3:"ộ";s:3:"Ộ";s:3:"ớ";s:3:"Ớ";s:3:"ờ";s:3:"Ờ";s:3:"ở";s:3:"Ở";s:3:"ỡ";s:3:"Ỡ";s:3:"ợ";s:3:"Ợ";s:3:"ụ";s:3:"Ụ";s:3:"ủ";s:3:"Ủ";s:3:"ứ";s:3:"Ứ";s:3:"ừ";s:3:"Ừ";s:3:"ử";s:3:"Ử";s:3:"ữ";s:3:"Ữ";s:3:"ự";s:3:"Ự";s:3:"ỳ";s:3:"Ỳ";s:3:"ỵ";s:3:"Ỵ";s:3:"ỷ";s:3:"Ỷ";s:3:"ỹ";s:3:"Ỹ";s:3:"ἀ";s:3:"Ἀ";s:3:"ἁ";s:3:"Ἁ";s:3:"ἂ";s:3:"Ἂ";s:3:"ἃ";s:3:"Ἃ";s:3:"ἄ";s:3:"Ἄ";s:3:"ἅ";s:3:"Ἅ";s:3:"ἆ";s:3:"Ἆ";s:3:"ἇ";s:3:"Ἇ";s:3:"ἐ";s:3:"Ἐ";s:3:"ἑ";s:3:"Ἑ";s:3:"ἒ";s:3:"Ἒ";s:3:"ἓ";s:3:"Ἓ";s:3:"ἔ";s:3:"Ἔ";s:3:"ἕ";s:3:"Ἕ";s:3:"ἠ";s:3:"Ἠ";s:3:"ἡ";s:3:"Ἡ";s:3:"ἢ";s:3:"Ἢ";s:3:"ἣ";s:3:"Ἣ";s:3:"ἤ";s:3:"Ἤ";s:3:"ἥ";s:3:"Ἥ";s:3:"ἦ";s:3:"Ἦ";s:3:"ἧ";s:3:"Ἧ";s:3:"ἰ";s:3:"Ἰ";s:3:"ἱ";s:3:"Ἱ";s:3:"ἲ";s:3:"Ἲ";s:3:"ἳ";s:3:"Ἳ";s:3:"ἴ";s:3:"Ἴ";s:3:"ἵ";s:3:"Ἵ";s:3:"ἶ";s:3:"Ἶ";s:3:"ἷ";s:3:"Ἷ";s:3:"ὀ";s:3:"Ὀ";s:3:"ὁ";s:3:"Ὁ";s:3:"ὂ";s:3:"Ὂ";s:3:"ὃ";s:3:"Ὃ";s:3:"ὄ";s:3:"Ὄ";s:3:"ὅ";s:3:"Ὅ";s:3:"ὑ";s:3:"Ὑ";s:3:"ὓ";s:3:"Ὓ";s:3:"ὕ";s:3:"Ὕ";s:3:"ὗ";s:3:"Ὗ";s:3:"ὠ";s:3:"Ὠ";s:3:"ὡ";s:3:"Ὡ";s:3:"ὢ";s:3:"Ὢ";s:3:"ὣ";s:3:"Ὣ";s:3:"ὤ";s:3:"Ὤ";s:3:"ὥ";s:3:"Ὥ";s:3:"ὦ";s:3:"Ὦ";s:3:"ὧ";s:3:"Ὧ";s:3:"ὰ";s:3:"Ὰ";s:3:"ά";s:3:"Ά";s:3:"ὲ";s:3:"Ὲ";s:3:"έ";s:3:"Έ";s:3:"ὴ";s:3:"Ὴ";s:3:"ή";s:3:"Ή";s:3:"ὶ";s:3:"Ὶ";s:3:"ί";s:3:"Ί";s:3:"ὸ";s:3:"Ὸ";s:3:"ό";s:3:"Ό";s:3:"ὺ";s:3:"Ὺ";s:3:"ύ";s:3:"Ύ";s:3:"ὼ";s:3:"Ὼ";s:3:"ώ";s:3:"Ώ";s:3:"ᾀ";s:3:"ᾈ";s:3:"ᾁ";s:3:"ᾉ";s:3:"ᾂ";s:3:"ᾊ";s:3:"ᾃ";s:3:"ᾋ";s:3:"ᾄ";s:3:"ᾌ";s:3:"ᾅ";s:3:"ᾍ";s:3:"ᾆ";s:3:"ᾎ";s:3:"ᾇ";s:3:"ᾏ";s:3:"ᾐ";s:3:"ᾘ";s:3:"ᾑ";s:3:"ᾙ";s:3:"ᾒ";s:3:"ᾚ";s:3:"ᾓ";s:3:"ᾛ";s:3:"ᾔ";s:3:"ᾜ";s:3:"ᾕ";s:3:"ᾝ";s:3:"ᾖ";s:3:"ᾞ";s:3:"ᾗ";s:3:"ᾟ";s:3:"ᾠ";s:3:"ᾨ";s:3:"ᾡ";s:3:"ᾩ";s:3:"ᾢ";s:3:"ᾪ";s:3:"ᾣ";s:3:"ᾫ";s:3:"ᾤ";s:3:"ᾬ";s:3:"ᾥ";s:3:"ᾭ";s:3:"ᾦ";s:3:"ᾮ";s:3:"ᾧ";s:3:"ᾯ";s:3:"ᾰ";s:3:"Ᾰ";s:3:"ᾱ";s:3:"Ᾱ";s:3:"ᾳ";s:3:"ᾼ";s:3:"ι";s:2:"Ι";s:3:"ῃ";s:3:"ῌ";s:3:"ῐ";s:3:"Ῐ";s:3:"ῑ";s:3:"Ῑ";s:3:"ῠ";s:3:"Ῠ";s:3:"ῡ";s:3:"Ῡ";s:3:"ῥ";s:3:"Ῥ";s:3:"ῳ";s:3:"ῼ";s:3:"ⅰ";s:3:"Ⅰ";s:3:"ⅱ";s:3:"Ⅱ";s:3:"ⅲ";s:3:"Ⅲ";s:3:"ⅳ";s:3:"Ⅳ";s:3:"ⅴ";s:3:"Ⅴ";s:3:"ⅵ";s:3:"Ⅵ";s:3:"ⅶ";s:3:"Ⅶ";s:3:"ⅷ";s:3:"Ⅷ";s:3:"ⅸ";s:3:"Ⅸ";s:3:"ⅹ";s:3:"Ⅹ";s:3:"ⅺ";s:3:"Ⅺ";s:3:"ⅻ";s:3:"Ⅻ";s:3:"ⅼ";s:3:"Ⅼ";s:3:"ⅽ";s:3:"Ⅽ";s:3:"ⅾ";s:3:"Ⅾ";s:3:"ⅿ";s:3:"Ⅿ";s:3:"ⓐ";s:3:"Ⓐ";s:3:"ⓑ";s:3:"Ⓑ";s:3:"ⓒ";s:3:"Ⓒ";s:3:"ⓓ";s:3:"Ⓓ";s:3:"ⓔ";s:3:"Ⓔ";s:3:"ⓕ";s:3:"Ⓕ";s:3:"ⓖ";s:3:"Ⓖ";s:3:"ⓗ";s:3:"Ⓗ";s:3:"ⓘ";s:3:"Ⓘ";s:3:"ⓙ";s:3:"Ⓙ";s:3:"ⓚ";s:3:"Ⓚ";s:3:"ⓛ";s:3:"Ⓛ";s:3:"ⓜ";s:3:"Ⓜ";s:3:"ⓝ";s:3:"Ⓝ";s:3:"ⓞ";s:3:"Ⓞ";s:3:"ⓟ";s:3:"Ⓟ";s:3:"ⓠ";s:3:"Ⓠ";s:3:"ⓡ";s:3:"Ⓡ";s:3:"ⓢ";s:3:"Ⓢ";s:3:"ⓣ";s:3:"Ⓣ";s:3:"ⓤ";s:3:"Ⓤ";s:3:"ⓥ";s:3:"Ⓥ";s:3:"ⓦ";s:3:"Ⓦ";s:3:"ⓧ";s:3:"Ⓧ";s:3:"ⓨ";s:3:"Ⓨ";s:3:"ⓩ";s:3:"Ⓩ";s:3:"a";s:3:"A";s:3:"b";s:3:"B";s:3:"c";s:3:"C";s:3:"d";s:3:"D";s:3:"e";s:3:"E";s:3:"f";s:3:"F";s:3:"g";s:3:"G";s:3:"h";s:3:"H";s:3:"i";s:3:"I";s:3:"j";s:3:"J";s:3:"k";s:3:"K";s:3:"l";s:3:"L";s:3:"m";s:3:"M";s:3:"n";s:3:"N";s:3:"o";s:3:"O";s:3:"p";s:3:"P";s:3:"q";s:3:"Q";s:3:"r";s:3:"R";s:3:"s";s:3:"S";s:3:"t";s:3:"T";s:3:"u";s:3:"U";s:3:"v";s:3:"V";s:3:"w";s:3:"W";s:3:"x";s:3:"X";s:3:"y";s:3:"Y";s:3:"z";s:3:"Z";s:4:"𐐨";s:4:"𐐀";s:4:"𐐩";s:4:"𐐁";s:4:"𐐪";s:4:"𐐂";s:4:"𐐫";s:4:"𐐃";s:4:"𐐬";s:4:"𐐄";s:4:"𐐭";s:4:"𐐅";s:4:"𐐮";s:4:"𐐆";s:4:"𐐯";s:4:"𐐇";s:4:"𐐰";s:4:"𐐈";s:4:"𐐱";s:4:"𐐉";s:4:"𐐲";s:4:"𐐊";s:4:"𐐳";s:4:"𐐋";s:4:"𐐴";s:4:"𐐌";s:4:"𐐵";s:4:"𐐍";s:4:"𐐶";s:4:"𐐎";s:4:"𐐷";s:4:"𐐏";s:4:"𐐸";s:4:"𐐐";s:4:"𐐹";s:4:"𐐑";s:4:"𐐺";s:4:"𐐒";s:4:"𐐻";s:4:"𐐓";s:4:"𐐼";s:4:"𐐔";s:4:"𐐽";s:4:"𐐕";s:4:"𐐾";s:4:"𐐖";s:4:"𐐿";s:4:"𐐗";s:4:"𐑀";s:4:"𐐘";s:4:"𐑁";s:4:"𐐙";s:4:"𐑂";s:4:"𐐚";s:4:"𐑃";s:4:"𐐛";s:4:"𐑄";s:4:"𐐜";s:4:"𐑅";s:4:"𐐝";s:4:"𐑆";s:4:"𐐞";s:4:"𐑇";s:4:"𐐟";s:4:"𐑈";s:4:"𐐠";s:4:"𐑉";s:4:"𐐡";s:4:"𐑊";s:4:"𐐢";s:4:"𐑋";s:4:"𐐣";s:4:"𐑌";s:4:"𐐤";s:4:"𐑍";s:4:"𐐥";}s:14:"wikiLowerChars";a:735:{s:1:"A";s:1:"a";s:1:"B";s:1:"b";s:1:"C";s:1:"c";s:1:"D";s:1:"d";s:1:"E";s:1:"e";s:1:"F";s:1:"f";s:1:"G";s:1:"g";s:1:"H";s:1:"h";s:1:"I";s:1:"i";s:1:"J";s:1:"j";s:1:"K";s:1:"k";s:1:"L";s:1:"l";s:1:"M";s:1:"m";s:1:"N";s:1:"n";s:1:"O";s:1:"o";s:1:"P";s:1:"p";s:1:"Q";s:1:"q";s:1:"R";s:1:"r";s:1:"S";s:1:"s";s:1:"T";s:1:"t";s:1:"U";s:1:"u";s:1:"V";s:1:"v";s:1:"W";s:1:"w";s:1:"X";s:1:"x";s:1:"Y";s:1:"y";s:1:"Z";s:1:"z";s:2:"À";s:2:"à";s:2:"Á";s:2:"á";s:2:"Â";s:2:"â";s:2:"Ã";s:2:"ã";s:2:"Ä";s:2:"ä";s:2:"Å";s:2:"å";s:2:"Æ";s:2:"æ";s:2:"Ç";s:2:"ç";s:2:"È";s:2:"è";s:2:"É";s:2:"é";s:2:"Ê";s:2:"ê";s:2:"Ë";s:2:"ë";s:2:"Ì";s:2:"ì";s:2:"Í";s:2:"í";s:2:"Î";s:2:"î";s:2:"Ï";s:2:"ï";s:2:"Ð";s:2:"ð";s:2:"Ñ";s:2:"ñ";s:2:"Ò";s:2:"ò";s:2:"Ó";s:2:"ó";s:2:"Ô";s:2:"ô";s:2:"Õ";s:2:"õ";s:2:"Ö";s:2:"ö";s:2:"Ø";s:2:"ø";s:2:"Ù";s:2:"ù";s:2:"Ú";s:2:"ú";s:2:"Û";s:2:"û";s:2:"Ü";s:2:"ü";s:2:"Ý";s:2:"ý";s:2:"Þ";s:2:"þ";s:2:"Ā";s:2:"ā";s:2:"Ă";s:2:"ă";s:2:"Ą";s:2:"ą";s:2:"Ć";s:2:"ć";s:2:"Ĉ";s:2:"ĉ";s:2:"Ċ";s:2:"ċ";s:2:"Č";s:2:"č";s:2:"Ď";s:2:"ď";s:2:"Đ";s:2:"đ";s:2:"Ē";s:2:"ē";s:2:"Ĕ";s:2:"ĕ";s:2:"Ė";s:2:"ė";s:2:"Ę";s:2:"ę";s:2:"Ě";s:2:"ě";s:2:"Ĝ";s:2:"ĝ";s:2:"Ğ";s:2:"ğ";s:2:"Ġ";s:2:"ġ";s:2:"Ģ";s:2:"ģ";s:2:"Ĥ";s:2:"ĥ";s:2:"Ħ";s:2:"ħ";s:2:"Ĩ";s:2:"ĩ";s:2:"Ī";s:2:"ī";s:2:"Ĭ";s:2:"ĭ";s:2:"Į";s:2:"į";s:2:"İ";s:1:"i";s:2:"IJ";s:2:"ij";s:2:"Ĵ";s:2:"ĵ";s:2:"Ķ";s:2:"ķ";s:2:"Ĺ";s:2:"ĺ";s:2:"Ļ";s:2:"ļ";s:2:"Ľ";s:2:"ľ";s:2:"Ŀ";s:2:"ŀ";s:2:"Ł";s:2:"ł";s:2:"Ń";s:2:"ń";s:2:"Ņ";s:2:"ņ";s:2:"Ň";s:2:"ň";s:2:"Ŋ";s:2:"ŋ";s:2:"Ō";s:2:"ō";s:2:"Ŏ";s:2:"ŏ";s:2:"Ő";s:2:"ő";s:2:"Œ";s:2:"œ";s:2:"Ŕ";s:2:"ŕ";s:2:"Ŗ";s:2:"ŗ";s:2:"Ř";s:2:"ř";s:2:"Ś";s:2:"ś";s:2:"Ŝ";s:2:"ŝ";s:2:"Ş";s:2:"ş";s:2:"Š";s:2:"š";s:2:"Ţ";s:2:"ţ";s:2:"Ť";s:2:"ť";s:2:"Ŧ";s:2:"ŧ";s:2:"Ũ";s:2:"ũ";s:2:"Ū";s:2:"ū";s:2:"Ŭ";s:2:"ŭ";s:2:"Ů";s:2:"ů";s:2:"Ű";s:2:"ű";s:2:"Ų";s:2:"ų";s:2:"Ŵ";s:2:"ŵ";s:2:"Ŷ";s:2:"ŷ";s:2:"Ÿ";s:2:"ÿ";s:2:"Ź";s:2:"ź";s:2:"Ż";s:2:"ż";s:2:"Ž";s:2:"ž";s:2:"Ɓ";s:2:"ɓ";s:2:"Ƃ";s:2:"ƃ";s:2:"Ƅ";s:2:"ƅ";s:2:"Ɔ";s:2:"ɔ";s:2:"Ƈ";s:2:"ƈ";s:2:"Ɖ";s:2:"ɖ";s:2:"Ɗ";s:2:"ɗ";s:2:"Ƌ";s:2:"ƌ";s:2:"Ǝ";s:2:"ǝ";s:2:"Ə";s:2:"ə";s:2:"Ɛ";s:2:"ɛ";s:2:"Ƒ";s:2:"ƒ";s:2:"Ɠ";s:2:"ɠ";s:2:"Ɣ";s:2:"ɣ";s:2:"Ɩ";s:2:"ɩ";s:2:"Ɨ";s:2:"ɨ";s:2:"Ƙ";s:2:"ƙ";s:2:"Ɯ";s:2:"ɯ";s:2:"Ɲ";s:2:"ɲ";s:2:"Ɵ";s:2:"ɵ";s:2:"Ơ";s:2:"ơ";s:2:"Ƣ";s:2:"ƣ";s:2:"Ƥ";s:2:"ƥ";s:2:"Ʀ";s:2:"ʀ";s:2:"Ƨ";s:2:"ƨ";s:2:"Ʃ";s:2:"ʃ";s:2:"Ƭ";s:2:"ƭ";s:2:"Ʈ";s:2:"ʈ";s:2:"Ư";s:2:"ư";s:2:"Ʊ";s:2:"ʊ";s:2:"Ʋ";s:2:"ʋ";s:2:"Ƴ";s:2:"ƴ";s:2:"Ƶ";s:2:"ƶ";s:2:"Ʒ";s:2:"ʒ";s:2:"Ƹ";s:2:"ƹ";s:2:"Ƽ";s:2:"ƽ";s:2:"DŽ";s:2:"dž";s:2:"Dž";s:2:"dž";s:2:"LJ";s:2:"lj";s:2:"Lj";s:2:"lj";s:2:"NJ";s:2:"nj";s:2:"Nj";s:2:"nj";s:2:"Ǎ";s:2:"ǎ";s:2:"Ǐ";s:2:"ǐ";s:2:"Ǒ";s:2:"ǒ";s:2:"Ǔ";s:2:"ǔ";s:2:"Ǖ";s:2:"ǖ";s:2:"Ǘ";s:2:"ǘ";s:2:"Ǚ";s:2:"ǚ";s:2:"Ǜ";s:2:"ǜ";s:2:"Ǟ";s:2:"ǟ";s:2:"Ǡ";s:2:"ǡ";s:2:"Ǣ";s:2:"ǣ";s:2:"Ǥ";s:2:"ǥ";s:2:"Ǧ";s:2:"ǧ";s:2:"Ǩ";s:2:"ǩ";s:2:"Ǫ";s:2:"ǫ";s:2:"Ǭ";s:2:"ǭ";s:2:"Ǯ";s:2:"ǯ";s:2:"DZ";s:2:"dz";s:2:"Dz";s:2:"dz";s:2:"Ǵ";s:2:"ǵ";s:2:"Ƕ";s:2:"ƕ";s:2:"Ƿ";s:2:"ƿ";s:2:"Ǹ";s:2:"ǹ";s:2:"Ǻ";s:2:"ǻ";s:2:"Ǽ";s:2:"ǽ";s:2:"Ǿ";s:2:"ǿ";s:2:"Ȁ";s:2:"ȁ";s:2:"Ȃ";s:2:"ȃ";s:2:"Ȅ";s:2:"ȅ";s:2:"Ȇ";s:2:"ȇ";s:2:"Ȉ";s:2:"ȉ";s:2:"Ȋ";s:2:"ȋ";s:2:"Ȍ";s:2:"ȍ";s:2:"Ȏ";s:2:"ȏ";s:2:"Ȑ";s:2:"ȑ";s:2:"Ȓ";s:2:"ȓ";s:2:"Ȕ";s:2:"ȕ";s:2:"Ȗ";s:2:"ȗ";s:2:"Ș";s:2:"ș";s:2:"Ț";s:2:"ț";s:2:"Ȝ";s:2:"ȝ";s:2:"Ȟ";s:2:"ȟ";s:2:"Ȣ";s:2:"ȣ";s:2:"Ȥ";s:2:"ȥ";s:2:"Ȧ";s:2:"ȧ";s:2:"Ȩ";s:2:"ȩ";s:2:"Ȫ";s:2:"ȫ";s:2:"Ȭ";s:2:"ȭ";s:2:"Ȯ";s:2:"ȯ";s:2:"Ȱ";s:2:"ȱ";s:2:"Ȳ";s:2:"ȳ";s:2:"Ά";s:2:"ά";s:2:"Έ";s:2:"έ";s:2:"Ή";s:2:"ή";s:2:"Ί";s:2:"ί";s:2:"Ό";s:2:"ό";s:2:"Ύ";s:2:"ύ";s:2:"Ώ";s:2:"ώ";s:2:"Α";s:2:"α";s:2:"Β";s:2:"β";s:2:"Γ";s:2:"γ";s:2:"Δ";s:2:"δ";s:2:"Ε";s:2:"ε";s:2:"Ζ";s:2:"ζ";s:2:"Η";s:2:"η";s:2:"Θ";s:2:"θ";s:2:"Ι";s:2:"ι";s:2:"Κ";s:2:"κ";s:2:"Λ";s:2:"λ";s:2:"Μ";s:2:"μ";s:2:"Ν";s:2:"ν";s:2:"Ξ";s:2:"ξ";s:2:"Ο";s:2:"ο";s:2:"Π";s:2:"π";s:2:"Ρ";s:2:"ρ";s:2:"Σ";s:2:"σ";s:2:"Τ";s:2:"τ";s:2:"Υ";s:2:"υ";s:2:"Φ";s:2:"φ";s:2:"Χ";s:2:"χ";s:2:"Ψ";s:2:"ψ";s:2:"Ω";s:2:"ω";s:2:"Ϊ";s:2:"ϊ";s:2:"Ϋ";s:2:"ϋ";s:2:"Ϛ";s:2:"ϛ";s:2:"Ϝ";s:2:"ϝ";s:2:"Ϟ";s:2:"ϟ";s:2:"Ϡ";s:2:"ϡ";s:2:"Ϣ";s:2:"ϣ";s:2:"Ϥ";s:2:"ϥ";s:2:"Ϧ";s:2:"ϧ";s:2:"Ϩ";s:2:"ϩ";s:2:"Ϫ";s:2:"ϫ";s:2:"Ϭ";s:2:"ϭ";s:2:"Ϯ";s:2:"ϯ";s:2:"ϴ";s:2:"θ";s:2:"Ѐ";s:2:"ѐ";s:2:"Ё";s:2:"ё";s:2:"Ђ";s:2:"ђ";s:2:"Ѓ";s:2:"ѓ";s:2:"Є";s:2:"є";s:2:"Ѕ";s:2:"ѕ";s:2:"І";s:2:"і";s:2:"Ї";s:2:"ї";s:2:"Ј";s:2:"ј";s:2:"Љ";s:2:"љ";s:2:"Њ";s:2:"њ";s:2:"Ћ";s:2:"ћ";s:2:"Ќ";s:2:"ќ";s:2:"Ѝ";s:2:"ѝ";s:2:"Ў";s:2:"ў";s:2:"Џ";s:2:"џ";s:2:"А";s:2:"а";s:2:"Б";s:2:"б";s:2:"В";s:2:"в";s:2:"Г";s:2:"г";s:2:"Д";s:2:"д";s:2:"Е";s:2:"е";s:2:"Ж";s:2:"ж";s:2:"З";s:2:"з";s:2:"И";s:2:"и";s:2:"Й";s:2:"й";s:2:"К";s:2:"к";s:2:"Л";s:2:"л";s:2:"М";s:2:"м";s:2:"Н";s:2:"н";s:2:"О";s:2:"о";s:2:"П";s:2:"п";s:2:"Р";s:2:"р";s:2:"С";s:2:"с";s:2:"Т";s:2:"т";s:2:"У";s:2:"у";s:2:"Ф";s:2:"ф";s:2:"Х";s:2:"х";s:2:"Ц";s:2:"ц";s:2:"Ч";s:2:"ч";s:2:"Ш";s:2:"ш";s:2:"Щ";s:2:"щ";s:2:"Ъ";s:2:"ъ";s:2:"Ы";s:2:"ы";s:2:"Ь";s:2:"ь";s:2:"Э";s:2:"э";s:2:"Ю";s:2:"ю";s:2:"Я";s:2:"я";s:2:"Ѡ";s:2:"ѡ";s:2:"Ѣ";s:2:"ѣ";s:2:"Ѥ";s:2:"ѥ";s:2:"Ѧ";s:2:"ѧ";s:2:"Ѩ";s:2:"ѩ";s:2:"Ѫ";s:2:"ѫ";s:2:"Ѭ";s:2:"ѭ";s:2:"Ѯ";s:2:"ѯ";s:2:"Ѱ";s:2:"ѱ";s:2:"Ѳ";s:2:"ѳ";s:2:"Ѵ";s:2:"ѵ";s:2:"Ѷ";s:2:"ѷ";s:2:"Ѹ";s:2:"ѹ";s:2:"Ѻ";s:2:"ѻ";s:2:"Ѽ";s:2:"ѽ";s:2:"Ѿ";s:2:"ѿ";s:2:"Ҁ";s:2:"ҁ";s:2:"Ҍ";s:2:"ҍ";s:2:"Ҏ";s:2:"ҏ";s:2:"Ґ";s:2:"ґ";s:2:"Ғ";s:2:"ғ";s:2:"Ҕ";s:2:"ҕ";s:2:"Җ";s:2:"җ";s:2:"Ҙ";s:2:"ҙ";s:2:"Қ";s:2:"қ";s:2:"Ҝ";s:2:"ҝ";s:2:"Ҟ";s:2:"ҟ";s:2:"Ҡ";s:2:"ҡ";s:2:"Ң";s:2:"ң";s:2:"Ҥ";s:2:"ҥ";s:2:"Ҧ";s:2:"ҧ";s:2:"Ҩ";s:2:"ҩ";s:2:"Ҫ";s:2:"ҫ";s:2:"Ҭ";s:2:"ҭ";s:2:"Ү";s:2:"ү";s:2:"Ұ";s:2:"ұ";s:2:"Ҳ";s:2:"ҳ";s:2:"Ҵ";s:2:"ҵ";s:2:"Ҷ";s:2:"ҷ";s:2:"Ҹ";s:2:"ҹ";s:2:"Һ";s:2:"һ";s:2:"Ҽ";s:2:"ҽ";s:2:"Ҿ";s:2:"ҿ";s:2:"Ӂ";s:2:"ӂ";s:2:"Ӄ";s:2:"ӄ";s:2:"Ӈ";s:2:"ӈ";s:2:"Ӌ";s:2:"ӌ";s:2:"Ӑ";s:2:"ӑ";s:2:"Ӓ";s:2:"ӓ";s:2:"Ӕ";s:2:"ӕ";s:2:"Ӗ";s:2:"ӗ";s:2:"Ә";s:2:"ә";s:2:"Ӛ";s:2:"ӛ";s:2:"Ӝ";s:2:"ӝ";s:2:"Ӟ";s:2:"ӟ";s:2:"Ӡ";s:2:"ӡ";s:2:"Ӣ";s:2:"ӣ";s:2:"Ӥ";s:2:"ӥ";s:2:"Ӧ";s:2:"ӧ";s:2:"Ө";s:2:"ө";s:2:"Ӫ";s:2:"ӫ";s:2:"Ӭ";s:2:"ӭ";s:2:"Ӯ";s:2:"ӯ";s:2:"Ӱ";s:2:"ӱ";s:2:"Ӳ";s:2:"ӳ";s:2:"Ӵ";s:2:"ӵ";s:2:"Ӹ";s:2:"ӹ";s:2:"Ա";s:2:"ա";s:2:"Բ";s:2:"բ";s:2:"Գ";s:2:"գ";s:2:"Դ";s:2:"դ";s:2:"Ե";s:2:"ե";s:2:"Զ";s:2:"զ";s:2:"Է";s:2:"է";s:2:"Ը";s:2:"ը";s:2:"Թ";s:2:"թ";s:2:"Ժ";s:2:"ժ";s:2:"Ի";s:2:"ի";s:2:"Լ";s:2:"լ";s:2:"Խ";s:2:"խ";s:2:"Ծ";s:2:"ծ";s:2:"Կ";s:2:"կ";s:2:"Հ";s:2:"հ";s:2:"Ձ";s:2:"ձ";s:2:"Ղ";s:2:"ղ";s:2:"Ճ";s:2:"ճ";s:2:"Մ";s:2:"մ";s:2:"Յ";s:2:"յ";s:2:"Ն";s:2:"ն";s:2:"Շ";s:2:"շ";s:2:"Ո";s:2:"ո";s:2:"Չ";s:2:"չ";s:2:"Պ";s:2:"պ";s:2:"Ջ";s:2:"ջ";s:2:"Ռ";s:2:"ռ";s:2:"Ս";s:2:"ս";s:2:"Վ";s:2:"վ";s:2:"Տ";s:2:"տ";s:2:"Ր";s:2:"ր";s:2:"Ց";s:2:"ց";s:2:"Ւ";s:2:"ւ";s:2:"Փ";s:2:"փ";s:2:"Ք";s:2:"ք";s:2:"Օ";s:2:"օ";s:2:"Ֆ";s:2:"ֆ";s:3:"Ḁ";s:3:"ḁ";s:3:"Ḃ";s:3:"ḃ";s:3:"Ḅ";s:3:"ḅ";s:3:"Ḇ";s:3:"ḇ";s:3:"Ḉ";s:3:"ḉ";s:3:"Ḋ";s:3:"ḋ";s:3:"Ḍ";s:3:"ḍ";s:3:"Ḏ";s:3:"ḏ";s:3:"Ḑ";s:3:"ḑ";s:3:"Ḓ";s:3:"ḓ";s:3:"Ḕ";s:3:"ḕ";s:3:"Ḗ";s:3:"ḗ";s:3:"Ḙ";s:3:"ḙ";s:3:"Ḛ";s:3:"ḛ";s:3:"Ḝ";s:3:"ḝ";s:3:"Ḟ";s:3:"ḟ";s:3:"Ḡ";s:3:"ḡ";s:3:"Ḣ";s:3:"ḣ";s:3:"Ḥ";s:3:"ḥ";s:3:"Ḧ";s:3:"ḧ";s:3:"Ḩ";s:3:"ḩ";s:3:"Ḫ";s:3:"ḫ";s:3:"Ḭ";s:3:"ḭ";s:3:"Ḯ";s:3:"ḯ";s:3:"Ḱ";s:3:"ḱ";s:3:"Ḳ";s:3:"ḳ";s:3:"Ḵ";s:3:"ḵ";s:3:"Ḷ";s:3:"ḷ";s:3:"Ḹ";s:3:"ḹ";s:3:"Ḻ";s:3:"ḻ";s:3:"Ḽ";s:3:"ḽ";s:3:"Ḿ";s:3:"ḿ";s:3:"Ṁ";s:3:"ṁ";s:3:"Ṃ";s:3:"ṃ";s:3:"Ṅ";s:3:"ṅ";s:3:"Ṇ";s:3:"ṇ";s:3:"Ṉ";s:3:"ṉ";s:3:"Ṋ";s:3:"ṋ";s:3:"Ṍ";s:3:"ṍ";s:3:"Ṏ";s:3:"ṏ";s:3:"Ṑ";s:3:"ṑ";s:3:"Ṓ";s:3:"ṓ";s:3:"Ṕ";s:3:"ṕ";s:3:"Ṗ";s:3:"ṗ";s:3:"Ṙ";s:3:"ṙ";s:3:"Ṛ";s:3:"ṛ";s:3:"Ṝ";s:3:"ṝ";s:3:"Ṟ";s:3:"ṟ";s:3:"Ṡ";s:3:"ṡ";s:3:"Ṣ";s:3:"ṣ";s:3:"Ṥ";s:3:"ṥ";s:3:"Ṧ";s:3:"ṧ";s:3:"Ṩ";s:3:"ṩ";s:3:"Ṫ";s:3:"ṫ";s:3:"Ṭ";s:3:"ṭ";s:3:"Ṯ";s:3:"ṯ";s:3:"Ṱ";s:3:"ṱ";s:3:"Ṳ";s:3:"ṳ";s:3:"Ṵ";s:3:"ṵ";s:3:"Ṷ";s:3:"ṷ";s:3:"Ṹ";s:3:"ṹ";s:3:"Ṻ";s:3:"ṻ";s:3:"Ṽ";s:3:"ṽ";s:3:"Ṿ";s:3:"ṿ";s:3:"Ẁ";s:3:"ẁ";s:3:"Ẃ";s:3:"ẃ";s:3:"Ẅ";s:3:"ẅ";s:3:"Ẇ";s:3:"ẇ";s:3:"Ẉ";s:3:"ẉ";s:3:"Ẋ";s:3:"ẋ";s:3:"Ẍ";s:3:"ẍ";s:3:"Ẏ";s:3:"ẏ";s:3:"Ẑ";s:3:"ẑ";s:3:"Ẓ";s:3:"ẓ";s:3:"Ẕ";s:3:"ẕ";s:3:"Ạ";s:3:"ạ";s:3:"Ả";s:3:"ả";s:3:"Ấ";s:3:"ấ";s:3:"Ầ";s:3:"ầ";s:3:"Ẩ";s:3:"ẩ";s:3:"Ẫ";s:3:"ẫ";s:3:"Ậ";s:3:"ậ";s:3:"Ắ";s:3:"ắ";s:3:"Ằ";s:3:"ằ";s:3:"Ẳ";s:3:"ẳ";s:3:"Ẵ";s:3:"ẵ";s:3:"Ặ";s:3:"ặ";s:3:"Ẹ";s:3:"ẹ";s:3:"Ẻ";s:3:"ẻ";s:3:"Ẽ";s:3:"ẽ";s:3:"Ế";s:3:"ế";s:3:"Ề";s:3:"ề";s:3:"Ể";s:3:"ể";s:3:"Ễ";s:3:"ễ";s:3:"Ệ";s:3:"ệ";s:3:"Ỉ";s:3:"ỉ";s:3:"Ị";s:3:"ị";s:3:"Ọ";s:3:"ọ";s:3:"Ỏ";s:3:"ỏ";s:3:"Ố";s:3:"ố";s:3:"Ồ";s:3:"ồ";s:3:"Ổ";s:3:"ổ";s:3:"Ỗ";s:3:"ỗ";s:3:"Ộ";s:3:"ộ";s:3:"Ớ";s:3:"ớ";s:3:"Ờ";s:3:"ờ";s:3:"Ở";s:3:"ở";s:3:"Ỡ";s:3:"ỡ";s:3:"Ợ";s:3:"ợ";s:3:"Ụ";s:3:"ụ";s:3:"Ủ";s:3:"ủ";s:3:"Ứ";s:3:"ứ";s:3:"Ừ";s:3:"ừ";s:3:"Ử";s:3:"ử";s:3:"Ữ";s:3:"ữ";s:3:"Ự";s:3:"ự";s:3:"Ỳ";s:3:"ỳ";s:3:"Ỵ";s:3:"ỵ";s:3:"Ỷ";s:3:"ỷ";s:3:"Ỹ";s:3:"ỹ";s:3:"Ἀ";s:3:"ἀ";s:3:"Ἁ";s:3:"ἁ";s:3:"Ἂ";s:3:"ἂ";s:3:"Ἃ";s:3:"ἃ";s:3:"Ἄ";s:3:"ἄ";s:3:"Ἅ";s:3:"ἅ";s:3:"Ἆ";s:3:"ἆ";s:3:"Ἇ";s:3:"ἇ";s:3:"Ἐ";s:3:"ἐ";s:3:"Ἑ";s:3:"ἑ";s:3:"Ἒ";s:3:"ἒ";s:3:"Ἓ";s:3:"ἓ";s:3:"Ἔ";s:3:"ἔ";s:3:"Ἕ";s:3:"ἕ";s:3:"Ἠ";s:3:"ἠ";s:3:"Ἡ";s:3:"ἡ";s:3:"Ἢ";s:3:"ἢ";s:3:"Ἣ";s:3:"ἣ";s:3:"Ἤ";s:3:"ἤ";s:3:"Ἥ";s:3:"ἥ";s:3:"Ἦ";s:3:"ἦ";s:3:"Ἧ";s:3:"ἧ";s:3:"Ἰ";s:3:"ἰ";s:3:"Ἱ";s:3:"ἱ";s:3:"Ἲ";s:3:"ἲ";s:3:"Ἳ";s:3:"ἳ";s:3:"Ἴ";s:3:"ἴ";s:3:"Ἵ";s:3:"ἵ";s:3:"Ἶ";s:3:"ἶ";s:3:"Ἷ";s:3:"ἷ";s:3:"Ὀ";s:3:"ὀ";s:3:"Ὁ";s:3:"ὁ";s:3:"Ὂ";s:3:"ὂ";s:3:"Ὃ";s:3:"ὃ";s:3:"Ὄ";s:3:"ὄ";s:3:"Ὅ";s:3:"ὅ";s:3:"Ὑ";s:3:"ὑ";s:3:"Ὓ";s:3:"ὓ";s:3:"Ὕ";s:3:"ὕ";s:3:"Ὗ";s:3:"ὗ";s:3:"Ὠ";s:3:"ὠ";s:3:"Ὡ";s:3:"ὡ";s:3:"Ὢ";s:3:"ὢ";s:3:"Ὣ";s:3:"ὣ";s:3:"Ὤ";s:3:"ὤ";s:3:"Ὥ";s:3:"ὥ";s:3:"Ὦ";s:3:"ὦ";s:3:"Ὧ";s:3:"ὧ";s:3:"ᾈ";s:3:"ᾀ";s:3:"ᾉ";s:3:"ᾁ";s:3:"ᾊ";s:3:"ᾂ";s:3:"ᾋ";s:3:"ᾃ";s:3:"ᾌ";s:3:"ᾄ";s:3:"ᾍ";s:3:"ᾅ";s:3:"ᾎ";s:3:"ᾆ";s:3:"ᾏ";s:3:"ᾇ";s:3:"ᾘ";s:3:"ᾐ";s:3:"ᾙ";s:3:"ᾑ";s:3:"ᾚ";s:3:"ᾒ";s:3:"ᾛ";s:3:"ᾓ";s:3:"ᾜ";s:3:"ᾔ";s:3:"ᾝ";s:3:"ᾕ";s:3:"ᾞ";s:3:"ᾖ";s:3:"ᾟ";s:3:"ᾗ";s:3:"ᾨ";s:3:"ᾠ";s:3:"ᾩ";s:3:"ᾡ";s:3:"ᾪ";s:3:"ᾢ";s:3:"ᾫ";s:3:"ᾣ";s:3:"ᾬ";s:3:"ᾤ";s:3:"ᾭ";s:3:"ᾥ";s:3:"ᾮ";s:3:"ᾦ";s:3:"ᾯ";s:3:"ᾧ";s:3:"Ᾰ";s:3:"ᾰ";s:3:"Ᾱ";s:3:"ᾱ";s:3:"Ὰ";s:3:"ὰ";s:3:"Ά";s:3:"ά";s:3:"ᾼ";s:3:"ᾳ";s:3:"Ὲ";s:3:"ὲ";s:3:"Έ";s:3:"έ";s:3:"Ὴ";s:3:"ὴ";s:3:"Ή";s:3:"ή";s:3:"ῌ";s:3:"ῃ";s:3:"Ῐ";s:3:"ῐ";s:3:"Ῑ";s:3:"ῑ";s:3:"Ὶ";s:3:"ὶ";s:3:"Ί";s:3:"ί";s:3:"Ῠ";s:3:"ῠ";s:3:"Ῡ";s:3:"ῡ";s:3:"Ὺ";s:3:"ὺ";s:3:"Ύ";s:3:"ύ";s:3:"Ῥ";s:3:"ῥ";s:3:"Ὸ";s:3:"ὸ";s:3:"Ό";s:3:"ό";s:3:"Ὼ";s:3:"ὼ";s:3:"Ώ";s:3:"ώ";s:3:"ῼ";s:3:"ῳ";s:3:"Ω";s:2:"ω";s:3:"K";s:1:"k";s:3:"Å";s:2:"å";s:3:"Ⅰ";s:3:"ⅰ";s:3:"Ⅱ";s:3:"ⅱ";s:3:"Ⅲ";s:3:"ⅲ";s:3:"Ⅳ";s:3:"ⅳ";s:3:"Ⅴ";s:3:"ⅴ";s:3:"Ⅵ";s:3:"ⅵ";s:3:"Ⅶ";s:3:"ⅶ";s:3:"Ⅷ";s:3:"ⅷ";s:3:"Ⅸ";s:3:"ⅸ";s:3:"Ⅹ";s:3:"ⅹ";s:3:"Ⅺ";s:3:"ⅺ";s:3:"Ⅻ";s:3:"ⅻ";s:3:"Ⅼ";s:3:"ⅼ";s:3:"Ⅽ";s:3:"ⅽ";s:3:"Ⅾ";s:3:"ⅾ";s:3:"Ⅿ";s:3:"ⅿ";s:3:"Ⓐ";s:3:"ⓐ";s:3:"Ⓑ";s:3:"ⓑ";s:3:"Ⓒ";s:3:"ⓒ";s:3:"Ⓓ";s:3:"ⓓ";s:3:"Ⓔ";s:3:"ⓔ";s:3:"Ⓕ";s:3:"ⓕ";s:3:"Ⓖ";s:3:"ⓖ";s:3:"Ⓗ";s:3:"ⓗ";s:3:"Ⓘ";s:3:"ⓘ";s:3:"Ⓙ";s:3:"ⓙ";s:3:"Ⓚ";s:3:"ⓚ";s:3:"Ⓛ";s:3:"ⓛ";s:3:"Ⓜ";s:3:"ⓜ";s:3:"Ⓝ";s:3:"ⓝ";s:3:"Ⓞ";s:3:"ⓞ";s:3:"Ⓟ";s:3:"ⓟ";s:3:"Ⓠ";s:3:"ⓠ";s:3:"Ⓡ";s:3:"ⓡ";s:3:"Ⓢ";s:3:"ⓢ";s:3:"Ⓣ";s:3:"ⓣ";s:3:"Ⓤ";s:3:"ⓤ";s:3:"Ⓥ";s:3:"ⓥ";s:3:"Ⓦ";s:3:"ⓦ";s:3:"Ⓧ";s:3:"ⓧ";s:3:"Ⓨ";s:3:"ⓨ";s:3:"Ⓩ";s:3:"ⓩ";s:3:"A";s:3:"a";s:3:"B";s:3:"b";s:3:"C";s:3:"c";s:3:"D";s:3:"d";s:3:"E";s:3:"e";s:3:"F";s:3:"f";s:3:"G";s:3:"g";s:3:"H";s:3:"h";s:3:"I";s:3:"i";s:3:"J";s:3:"j";s:3:"K";s:3:"k";s:3:"L";s:3:"l";s:3:"M";s:3:"m";s:3:"N";s:3:"n";s:3:"O";s:3:"o";s:3:"P";s:3:"p";s:3:"Q";s:3:"q";s:3:"R";s:3:"r";s:3:"S";s:3:"s";s:3:"T";s:3:"t";s:3:"U";s:3:"u";s:3:"V";s:3:"v";s:3:"W";s:3:"w";s:3:"X";s:3:"x";s:3:"Y";s:3:"y";s:3:"Z";s:3:"z";s:4:"𐐀";s:4:"𐐨";s:4:"𐐁";s:4:"𐐩";s:4:"𐐂";s:4:"𐐪";s:4:"𐐃";s:4:"𐐫";s:4:"𐐄";s:4:"𐐬";s:4:"𐐅";s:4:"𐐭";s:4:"𐐆";s:4:"𐐮";s:4:"𐐇";s:4:"𐐯";s:4:"𐐈";s:4:"𐐰";s:4:"𐐉";s:4:"𐐱";s:4:"𐐊";s:4:"𐐲";s:4:"𐐋";s:4:"𐐳";s:4:"𐐌";s:4:"𐐴";s:4:"𐐍";s:4:"𐐵";s:4:"𐐎";s:4:"𐐶";s:4:"𐐏";s:4:"𐐷";s:4:"𐐐";s:4:"𐐸";s:4:"𐐑";s:4:"𐐹";s:4:"𐐒";s:4:"𐐺";s:4:"𐐓";s:4:"𐐻";s:4:"𐐔";s:4:"𐐼";s:4:"𐐕";s:4:"𐐽";s:4:"𐐖";s:4:"𐐾";s:4:"𐐗";s:4:"𐐿";s:4:"𐐘";s:4:"𐑀";s:4:"𐐙";s:4:"𐑁";s:4:"𐐚";s:4:"𐑂";s:4:"𐐛";s:4:"𐑃";s:4:"𐐜";s:4:"𐑄";s:4:"𐐝";s:4:"𐑅";s:4:"𐐞";s:4:"𐑆";s:4:"𐐟";s:4:"𐑇";s:4:"𐐠";s:4:"𐑈";s:4:"𐐡";s:4:"𐑉";s:4:"𐐢";s:4:"𐑊";s:4:"𐐣";s:4:"𐑋";s:4:"𐐤";s:4:"𐑌";s:4:"𐐥";s:4:"𐑍";}}
\ No newline at end of file
diff --git a/serialized/serialize-localisation.php b/serialized/serialize-localisation.php
new file mode 100644 (file)
index 0000000..10624ba
--- /dev/null
@@ -0,0 +1,34 @@
+<?php
+
+$optionsWithArgs = array( 'o' );
+require_once( dirname(__FILE__).'/../maintenance/commandLine.inc' );
+require_once( dirname(__FILE__).'/serialize.php' );
+
+$stderr = fopen( 'php://stderr', 'w' );
+if ( !isset( $args[0] ) ) {
+       fwrite( $stderr, "No input file specified\n" );
+       exit( 1 );
+}
+$file = $args[0];
+$code = str_replace( 'Messages', '', basename( $file ) );
+$code = str_replace( '.php', '', $code );
+$code = strtolower( str_replace( '_', '-', $code ) );
+
+$localisation = Language::getLocalisationArray( $code, true );
+if ( wfIsWindows() ) {
+       $localisation = unixLineEndings( $localisation );
+}
+
+if ( isset( $options['o'] ) ) {
+       $out = fopen( $options['o'], 'wb' );
+       if ( !$out ) {
+               fwrite( $stderr, "Unable to open file \"{$options['o']}\" for output\n" );
+               exit( 1 );
+       }
+} else {
+       $out = fopen( 'php://stdout', 'wb' );
+}
+
+fwrite( $out, serialize( $localisation ) );
+
+?>
diff --git a/serialized/serialize.php b/serialized/serialize.php
new file mode 100644 (file)
index 0000000..78b7789
--- /dev/null
@@ -0,0 +1,74 @@
+<?php
+
+if ( !defined( 'MEDIAWIKI' ) ) {
+       $optionsWithArgs = array( 'o' );
+       require_once( dirname(__FILE__).'/../maintenance/commandLine.inc' );
+
+       $stderr = fopen( 'php://stderr', 'w' );
+       if ( !isset( $args[0] ) ) {
+               fwrite( $stderr, "No input file specified\n" );
+               exit( 1 );
+       }
+       if ( wfIsWindows() ) {
+               $files = array();
+               foreach ( $args as $arg ) {
+                       $files = array_merge( $files, glob( $arg ) );
+               }
+               if ( !$files ) {
+                       fwrite( $stderr, "No files found\n" );
+               }
+       } else {
+               $files = $args;
+       }
+
+       if ( isset( $options['o'] ) ) {
+               $out = fopen( $options['o'], 'wb' );
+               if ( !$out ) {
+                       fwrite( $stderr, "Unable to open file \"{$options['o']}\" for output\n" );
+                       exit( 1 );
+               }
+       } else {
+               $out = fopen( 'php://stdout', 'wb' );
+       }
+
+       $vars = array();
+       foreach ( $files as $inputFile ) {
+               $vars = array_merge( $vars, getVars( $inputFile ) );
+       }
+       fwrite( $out, serialize( $vars ) );
+       fclose( $out );
+       exit( 0 );
+}
+
+//----------------------------------------------------------------------------
+
+function getVars( $_gv_filename ) {
+       require( $_gv_filename );
+       $vars = get_defined_vars();
+       unset( $vars['_gv_filename'] );
+
+       # Clean up line endings
+       if ( wfIsWindows() ) {
+               $vars = unixLineEndings( $vars );
+       }
+       return $vars;
+}
+
+function unixLineEndings( $var ) {
+       static $recursionLevel = 0;
+       if ( $recursionLevel > 50 ) {
+               global $stderr;
+               fwrite( $stderr, "Error: Recursion limit exceeded. Possible circular reference in array variable.\n" );
+               exit( 2 );
+       }
+       
+       if ( is_array( $var ) ) {
+               ++$recursionLevel;
+               $var = array_map( 'unixLineEndings', $var );
+               --$recursionLevel;
+       } elseif ( is_string( $var ) ) {
+               $var = str_replace( "\r\n", "\n", $var );
+       }
+       return $var;
+}
+?>