Merge "mediawiki.api: Implement login method"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Tue, 18 Jun 2013 02:51:46 +0000 (02:51 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Tue, 18 Jun 2013 02:51:46 +0000 (02:51 +0000)
349 files changed:
RELEASE-NOTES-1.22
docs/hooks.txt
includes/Article.php
includes/AutoLoader.php
includes/DefaultSettings.php
includes/GlobalFunctions.php
includes/Revision.php
includes/SeleniumWebSettings.php [deleted file]
includes/Title.php
includes/WebStart.php
includes/api/ApiBase.php
includes/api/ApiParse.php
includes/api/ApiPatrol.php
includes/api/ApiQueryBlocks.php
includes/cache/MessageCache.php
includes/db/DatabaseMysql.php
includes/db/DatabaseMysqlBase.php [new file with mode: 0644]
includes/debug/Debug.php
includes/filebackend/FSFile.php
includes/filebackend/FSFileBackend.php
includes/filebackend/FileBackend.php
includes/filebackend/FileBackendGroup.php
includes/filebackend/FileBackendMultiWrite.php
includes/filebackend/FileBackendStore.php
includes/filebackend/FileOp.php
includes/filebackend/FileOpBatch.php
includes/filebackend/SwiftFileBackend.php
includes/filebackend/TempFSFile.php
includes/installer/Installer.i18n.php
includes/libs/HttpStatus.php
includes/objectcache/MemcachedPeclBagOStuff.php
includes/parser/CoreParserFunctions.php
includes/parser/ParserOutput.php
includes/resourceloader/ResourceLoader.php
includes/resourceloader/ResourceLoaderUserCSSPrefsModule.php
includes/specials/SpecialRecentchanges.php
includes/specials/SpecialRecentchangeslinked.php
languages/messages/MessagesAce.php
languages/messages/MessagesAeb.php
languages/messages/MessagesAf.php
languages/messages/MessagesAln.php
languages/messages/MessagesAm.php
languages/messages/MessagesAn.php
languages/messages/MessagesAng.php
languages/messages/MessagesAr.php
languages/messages/MessagesArc.php
languages/messages/MessagesArn.php
languages/messages/MessagesAry.php
languages/messages/MessagesArz.php
languages/messages/MessagesAs.php
languages/messages/MessagesAst.php
languages/messages/MessagesAvk.php
languages/messages/MessagesAz.php
languages/messages/MessagesAzb.php
languages/messages/MessagesBa.php
languages/messages/MessagesBcc.php
languages/messages/MessagesBcl.php
languages/messages/MessagesBe.php
languages/messages/MessagesBe_tarask.php
languages/messages/MessagesBg.php
languages/messages/MessagesBho.php
languages/messages/MessagesBjn.php
languages/messages/MessagesBn.php
languages/messages/MessagesBpy.php
languages/messages/MessagesBr.php
languages/messages/MessagesBs.php
languages/messages/MessagesCa.php
languages/messages/MessagesCdo.php
languages/messages/MessagesCe.php
languages/messages/MessagesCeb.php
languages/messages/MessagesCh.php
languages/messages/MessagesCkb.php
languages/messages/MessagesCrh_cyrl.php
languages/messages/MessagesCrh_latn.php
languages/messages/MessagesCs.php
languages/messages/MessagesCv.php
languages/messages/MessagesCy.php
languages/messages/MessagesDa.php
languages/messages/MessagesDe.php
languages/messages/MessagesDiq.php
languages/messages/MessagesDsb.php
languages/messages/MessagesDtp.php
languages/messages/MessagesEl.php
languages/messages/MessagesEn.php
languages/messages/MessagesEo.php
languages/messages/MessagesEs.php
languages/messages/MessagesEt.php
languages/messages/MessagesEu.php
languages/messages/MessagesExt.php
languages/messages/MessagesFa.php
languages/messages/MessagesFi.php
languages/messages/MessagesFo.php
languages/messages/MessagesFr.php
languages/messages/MessagesFrp.php
languages/messages/MessagesFrr.php
languages/messages/MessagesFur.php
languages/messages/MessagesFy.php
languages/messages/MessagesGa.php
languages/messages/MessagesGag.php
languages/messages/MessagesGan_hans.php
languages/messages/MessagesGan_hant.php
languages/messages/MessagesGd.php
languages/messages/MessagesGl.php
languages/messages/MessagesGrc.php
languages/messages/MessagesGsw.php
languages/messages/MessagesGu.php
languages/messages/MessagesGv.php
languages/messages/MessagesHak.php
languages/messages/MessagesHaw.php
languages/messages/MessagesHe.php
languages/messages/MessagesHi.php
languages/messages/MessagesHif_latn.php
languages/messages/MessagesHil.php
languages/messages/MessagesHr.php
languages/messages/MessagesHsb.php
languages/messages/MessagesHt.php
languages/messages/MessagesHu.php
languages/messages/MessagesHy.php
languages/messages/MessagesIa.php
languages/messages/MessagesId.php
languages/messages/MessagesIe.php
languages/messages/MessagesIg.php
languages/messages/MessagesIlo.php
languages/messages/MessagesInh.php
languages/messages/MessagesIo.php
languages/messages/MessagesIs.php
languages/messages/MessagesIt.php
languages/messages/MessagesJa.php
languages/messages/MessagesJut.php
languages/messages/MessagesJv.php
languages/messages/MessagesKa.php
languages/messages/MessagesKaa.php
languages/messages/MessagesKab.php
languages/messages/MessagesKiu.php
languages/messages/MessagesKk_arab.php
languages/messages/MessagesKk_cyrl.php
languages/messages/MessagesKk_latn.php
languages/messages/MessagesKm.php
languages/messages/MessagesKn.php
languages/messages/MessagesKo.php
languages/messages/MessagesKrc.php
languages/messages/MessagesKsh.php
languages/messages/MessagesKu_latn.php
languages/messages/MessagesKw.php
languages/messages/MessagesKy.php
languages/messages/MessagesLa.php
languages/messages/MessagesLad.php
languages/messages/MessagesLb.php
languages/messages/MessagesLez.php
languages/messages/MessagesLfn.php
languages/messages/MessagesLg.php
languages/messages/MessagesLi.php
languages/messages/MessagesLij.php
languages/messages/MessagesLmo.php
languages/messages/MessagesLo.php
languages/messages/MessagesLoz.php
languages/messages/MessagesLt.php
languages/messages/MessagesLtg.php
languages/messages/MessagesLus.php
languages/messages/MessagesLv.php
languages/messages/MessagesLzh.php
languages/messages/MessagesMai.php
languages/messages/MessagesMap_bms.php
languages/messages/MessagesMdf.php
languages/messages/MessagesMg.php
languages/messages/MessagesMhr.php
languages/messages/MessagesMin.php
languages/messages/MessagesMk.php
languages/messages/MessagesMl.php
languages/messages/MessagesMn.php
languages/messages/MessagesMr.php
languages/messages/MessagesMs.php
languages/messages/MessagesMt.php
languages/messages/MessagesMwl.php
languages/messages/MessagesMy.php
languages/messages/MessagesMyv.php
languages/messages/MessagesNah.php
languages/messages/MessagesNan.php
languages/messages/MessagesNb.php
languages/messages/MessagesNds.php
languages/messages/MessagesNds_nl.php
languages/messages/MessagesNe.php
languages/messages/MessagesNl.php
languages/messages/MessagesNn.php
languages/messages/MessagesNso.php
languages/messages/MessagesOc.php
languages/messages/MessagesOr.php
languages/messages/MessagesOs.php
languages/messages/MessagesPa.php
languages/messages/MessagesPam.php
languages/messages/MessagesPdc.php
languages/messages/MessagesPfl.php
languages/messages/MessagesPl.php
languages/messages/MessagesPms.php
languages/messages/MessagesPnb.php
languages/messages/MessagesPnt.php
languages/messages/MessagesPrg.php
languages/messages/MessagesPs.php
languages/messages/MessagesPt.php
languages/messages/MessagesPt_br.php
languages/messages/MessagesQqq.php
languages/messages/MessagesQu.php
languages/messages/MessagesRm.php
languages/messages/MessagesRo.php
languages/messages/MessagesRoa_tara.php
languages/messages/MessagesRu.php
languages/messages/MessagesRue.php
languages/messages/MessagesSa.php
languages/messages/MessagesSah.php
languages/messages/MessagesSat.php
languages/messages/MessagesSc.php
languages/messages/MessagesScn.php
languages/messages/MessagesSco.php
languages/messages/MessagesSd.php
languages/messages/MessagesSdc.php
languages/messages/MessagesSe.php
languages/messages/MessagesSei.php
languages/messages/MessagesSgs.php
languages/messages/MessagesSh.php
languages/messages/MessagesShi.php
languages/messages/MessagesSi.php
languages/messages/MessagesSk.php
languages/messages/MessagesSl.php
languages/messages/MessagesSo.php
languages/messages/MessagesSq.php
languages/messages/MessagesSr_ec.php
languages/messages/MessagesSr_el.php
languages/messages/MessagesSrn.php
languages/messages/MessagesStq.php
languages/messages/MessagesSu.php
languages/messages/MessagesSv.php
languages/messages/MessagesSw.php
languages/messages/MessagesSzl.php
languages/messages/MessagesTa.php
languages/messages/MessagesTcy.php
languages/messages/MessagesTe.php
languages/messages/MessagesTg_cyrl.php
languages/messages/MessagesTg_latn.php
languages/messages/MessagesTh.php
languages/messages/MessagesTk.php
languages/messages/MessagesTl.php
languages/messages/MessagesTly.php
languages/messages/MessagesTr.php
languages/messages/MessagesTru.php
languages/messages/MessagesTs.php
languages/messages/MessagesTt_cyrl.php
languages/messages/MessagesTt_latn.php
languages/messages/MessagesTyv.php
languages/messages/MessagesUg_arab.php
languages/messages/MessagesUk.php
languages/messages/MessagesUr.php
languages/messages/MessagesUz.php
languages/messages/MessagesVec.php
languages/messages/MessagesVep.php
languages/messages/MessagesVi.php
languages/messages/MessagesVmf.php
languages/messages/MessagesVo.php
languages/messages/MessagesVro.php
languages/messages/MessagesWa.php
languages/messages/MessagesWar.php
languages/messages/MessagesWo.php
languages/messages/MessagesWuu.php
languages/messages/MessagesXmf.php
languages/messages/MessagesYi.php
languages/messages/MessagesYo.php
languages/messages/MessagesYue.php
languages/messages/MessagesZea.php
languages/messages/MessagesZh_hans.php
languages/messages/MessagesZh_hant.php
maintenance/Maintenance.php
maintenance/language/messageTypes.inc
maintenance/language/messages.inc
maintenance/purgeDeletedFiles.php
maintenance/tables.sql
resources/Resources.php
resources/jquery/jquery.makeCollapsible.js
resources/mediawiki.action/mediawiki.action.view.rightClickEdit.js
resources/mediawiki/mediawiki.htmlform.js
skins/cologneblue/screen.css
skins/common/commonElements.css
skins/common/commonPrint.css
skins/common/oldshared.css
skins/common/shared.css
skins/common/wikiprintable.css
skins/modern/main.css
skins/modern/print.css
skins/vector/screen.css
tests/RunSeleniumTests.php [deleted file]
tests/TestsAutoLoader.php
tests/parser/parserTest.inc
tests/parser/parserTests.txt
tests/phpunit/includes/SeleniumConfigurationTest.php [deleted file]
tests/phpunit/includes/parser/NewParserTest.php
tests/selenium/Selenium.php [deleted file]
tests/selenium/SeleniumConfig.php [deleted file]
tests/selenium/SeleniumLoader.php [deleted file]
tests/selenium/SeleniumServerManager.php [deleted file]
tests/selenium/SeleniumTestCase.php [deleted file]
tests/selenium/SeleniumTestConsoleLogger.php [deleted file]
tests/selenium/SeleniumTestConstants.php [deleted file]
tests/selenium/SeleniumTestHTMLLogger.php [deleted file]
tests/selenium/SeleniumTestListener.php [deleted file]
tests/selenium/SeleniumTestSuite.php [deleted file]
tests/selenium/data/SimpleSeleniumTestDB.sql [deleted file]
tests/selenium/data/SimpleSeleniumTestImages.zip [deleted file]
tests/selenium/data/Wikipedia-logo-v2-de.png [deleted file]
tests/selenium/data/mediawiki118_fresh_installation.sql [deleted file]
tests/selenium/installer/MediaWikiButtonsAvailabilityTestCase.php [deleted file]
tests/selenium/installer/MediaWikiDifferentDatabaseAccountTestCase.php [deleted file]
tests/selenium/installer/MediaWikiDifferntDatabasePrefixTestCase.php [deleted file]
tests/selenium/installer/MediaWikiErrorsConnectToDatabasePageTestCase.php [deleted file]
tests/selenium/installer/MediaWikiErrorsNamepageTestCase.php [deleted file]
tests/selenium/installer/MediaWikiHelpFieldHintTestCase.php [deleted file]
tests/selenium/installer/MediaWikiInstallationCommonFunction.php [deleted file]
tests/selenium/installer/MediaWikiInstallationConfig.php [deleted file]
tests/selenium/installer/MediaWikiInstallationMessage.php [deleted file]
tests/selenium/installer/MediaWikiInstallationVariables.php [deleted file]
tests/selenium/installer/MediaWikiInstallerTestSuite.php [deleted file]
tests/selenium/installer/MediaWikiMySQLDataBaseTestCase.php [deleted file]
tests/selenium/installer/MediaWikiMySQLiteDataBaseTestCase.php [deleted file]
tests/selenium/installer/MediaWikiOnAlreadyInstalledTestCase.php [deleted file]
tests/selenium/installer/MediaWikiRestartInstallationTestCase.php [deleted file]
tests/selenium/installer/MediaWikiRightFrameworkLinksTestCase.php [deleted file]
tests/selenium/installer/MediaWikiUpgradeExistingDatabaseTestCase.php [deleted file]
tests/selenium/installer/MediaWikiUserInterfaceTestCase.php [deleted file]
tests/selenium/installer/README.txt [deleted file]
tests/selenium/selenium_settings.ini.sample [deleted file]
tests/selenium/selenium_settings_grid.ini.sample [deleted file]
tests/selenium/suites/AddContentToNewPageTestCase.php [deleted file]
tests/selenium/suites/AddNewPageTestCase.php [deleted file]
tests/selenium/suites/CreateAccountTestCase.php [deleted file]
tests/selenium/suites/DeletePageAdminTestCase.php [deleted file]
tests/selenium/suites/EmailPasswordTestCase.php [deleted file]
tests/selenium/suites/MediaWikiEditorConfig.php [deleted file]
tests/selenium/suites/MediaWikiEditorTestSuite.php [deleted file]
tests/selenium/suites/MediaWikiExtraTestSuite.php [deleted file]
tests/selenium/suites/MediawikiCoreSmokeTestCase.php [deleted file]
tests/selenium/suites/MediawikiCoreSmokeTestSuite.php [deleted file]
tests/selenium/suites/MovePageTestCase.php [deleted file]
tests/selenium/suites/MyContributionsTestCase.php [deleted file]
tests/selenium/suites/MyWatchListTestCase.php [deleted file]
tests/selenium/suites/PageDeleteTestSuite.php [deleted file]
tests/selenium/suites/PageSearchTestCase.php [deleted file]
tests/selenium/suites/PreviewPageTestCase.php [deleted file]
tests/selenium/suites/SavePageTestCase.php [deleted file]
tests/selenium/suites/SimpleSeleniumConfig.php [deleted file]
tests/selenium/suites/SimpleSeleniumTestCase.php [deleted file]
tests/selenium/suites/SimpleSeleniumTestSuite.php [deleted file]
tests/selenium/suites/UserPreferencesTestCase.php [deleted file]

index 0b1d88a..1b434d9 100644 (file)
@@ -143,6 +143,13 @@ production.
 * (bug 48294) API: Fix chunk upload async mode.
 * (bug 46749) Broken files tracking category removed from pages if an image
   with that name is uploaded.
+* (bug 14176) System messages that are empty were previously incorrectly treated
+  as non-existent, causing a fallback to the default. This stopped users from
+  overriding system messages to make them blank.
+* (bug 48319) action=parse no longer returns an error if passed none of 'oldid',
+  'pageid', 'page', 'title', and 'text' (e.g. if only passed 'summary'). A
+  warning will instead be issued if 'title' is non-default, unless no props are
+  requested.
 
 === API changes in 1.22 ===
 * (bug 46626) xmldoublequote parameter was removed. Because of a bug, the
@@ -169,7 +176,12 @@ production.
 * prop=info now adds the content model and page language of the title.
 * New upload log entries will now contain information on the relavent
   image (sha1 and timestamp).
-* (bug 49239) action=parse now can parse in preview mode.
+* (bug 49239) action=parse now can parse in preview and section preview modes.
+* (bug 49259) action=patrol now accepts revision ids.
+* (bug 48129) list=blocks&bkip= now correctly handles IPv6 CIDR ranges and
+  honors $wgBlockCIDRLimit. Note any clients passing invalid values to bkip
+  will now receive an error, rather than the previous behavior listing all
+  user blocks.
 
 === Languages updated in 1.22===
 
index ff0a864..46949ea 100644 (file)
@@ -1990,8 +1990,6 @@ $title : Current Title object being displayed in search results.
 'SearchableNamespaces': An option to modify which namespaces are searchable.
 &$arr : Array of namespaces ($nsId => $name) which will be used.
 
-'SeleniumSettings': TODO
-
 'SetupAfterCache': Called in Setup.php, after cache objects are set
 
 'ShowMissingArticle': Called when generating the output for a non-existent page.
index c8e6ce2..ba922a4 100644 (file)
@@ -1054,14 +1054,14 @@ class Article implements Page {
         * @return bool
         */
        public function showPatrolFooter() {
-               global $wgUseNPPatrol, $wgEnableAPI, $wgEnableWriteAPI;
+               global $wgUseNPPatrol, $wgUseRCPatrol, $wgEnableAPI, $wgEnableWriteAPI;
 
                $outputPage = $this->getContext()->getOutput();
                $user = $this->getContext()->getUser();
                $cache = wfGetMainCache();
                $rc = false;
 
-               if ( !$this->getTitle()->quickUserCan( 'patrol', $user ) || !$wgUseNPPatrol ) {
+               if ( !$this->getTitle()->quickUserCan( 'patrol', $user ) || !( $wgUseRCPatrol || $wgUseNPPatrol ) ) {
                        // Patrolling is disabled or the user isn't allowed to
                        return false;
                }
index 2decd58..02c92df 100644 (file)
@@ -475,6 +475,7 @@ $wgAutoloadLocalClasses = array(
        'DatabaseBase' => 'includes/db/Database.php',
        'DatabaseMssql' => 'includes/db/DatabaseMssql.php',
        'DatabaseMysql' => 'includes/db/DatabaseMysql.php',
+       'DatabaseMysqlBase' => 'includes/db/DatabaseMysqlBase.php',
        'DatabaseOracle' => 'includes/db/DatabaseOracle.php',
        'DatabasePostgres' => 'includes/db/DatabasePostgres.php',
        'DatabaseSqlite' => 'includes/db/DatabaseSqlite.php',
@@ -504,8 +505,8 @@ $wgAutoloadLocalClasses = array(
        'LoadMonitor_Null' => 'includes/db/LoadMonitor.php',
        'MssqlField' => 'includes/db/DatabaseMssql.php',
        'MssqlResult' => 'includes/db/DatabaseMssql.php',
-       'MySQLField' => 'includes/db/DatabaseMysql.php',
-       'MySQLMasterPos' => 'includes/db/DatabaseMysql.php',
+       'MySQLField' => 'includes/db/DatabaseMysqlBase.php',
+       'MySQLMasterPos' => 'includes/db/DatabaseMysqlBase.php',
        'ORAField' => 'includes/db/DatabaseOracle.php',
        'ORAResult' => 'includes/db/DatabaseOracle.php',
        'ORMIterator' => 'includes/db/ORMIterator.php',
index b560baf..f86b09d 100644 (file)
@@ -6287,15 +6287,6 @@ $wgPoolCounterConf = null;
  */
 $wgUploadMaintenance = false;
 
-/**
- * Allows running of selenium tests via maintenance/tests/RunSeleniumTests.php
- */
-$wgEnableSelenium = false;
-$wgSeleniumTestConfigs = array();
-$wgSeleniumConfigFile = null;
-$wgDBtestuser = ''; //db user that has permission to create and drop the test databases only
-$wgDBtestpassword = '';
-
 /**
  * Associative array mapping namespace IDs to the name of the content model pages in that namespace should have by
  * default (use the CONTENT_MODEL_XXX constants). If no special content type is defined for a given namespace,
index 1c6f642..a44e45b 100644 (file)
@@ -1001,7 +1001,7 @@ function wfDebugLog( $logGroup, $text, $public = true ) {
                        wfErrorLog( "$time $host $wiki: $text", $wgDebugLogGroups[$logGroup] );
                }
        } elseif ( $public === true ) {
-               wfDebug( "[$logGroup] $text", true );
+               wfDebug( "[$logGroup] $text", false );
        }
 }
 
index 47626a2..b3b971b 100644 (file)
@@ -867,24 +867,37 @@ class Revision implements IDBAccessObject {
        }
 
        /**
-        * @return Integer rcid of the unpatrolled row, zero if there isn't one
+        * @return integer rcid of the unpatrolled row, zero if there isn't one
         */
        public function isUnpatrolled() {
                if ( $this->mUnpatrolled !== null ) {
                        return $this->mUnpatrolled;
                }
+               $rc = $this->getRecentChange();
+               if ( $rc && $rc->getAttribute( 'rc_patrolled' ) == 0 ) {
+                       $this->mUnpatrolled = $rc->getAttribute( 'rc_id' );
+               } else {
+                       $this->mUnpatrolled = 0;
+               }
+               return $this->mUnpatrolled;
+       }
+
+       /**
+        * Get the RC object belonging to the current revision, if there's one
+        *
+        * @since 1.22
+        * @return RecentChange|null
+        */
+       public function getRecentChange() {
                $dbr = wfGetDB( DB_SLAVE );
-               $this->mUnpatrolled = $dbr->selectField( 'recentchanges',
-                       'rc_id',
-                       array( // Add redundant user,timestamp condition so we can use the existing index
+               return RecentChange::newFromConds(
+                       array(
                                'rc_user_text' => $this->getRawUserText(),
                                'rc_timestamp' => $dbr->timestamp( $this->getTimestamp() ),
-                               'rc_this_oldid' => $this->getId(),
-                               'rc_patrolled' => 0
+                               'rc_this_oldid' => $this->getId()
                        ),
                        __METHOD__
                );
-               return (int)$this->mUnpatrolled;
        }
 
        /**
diff --git a/includes/SeleniumWebSettings.php b/includes/SeleniumWebSettings.php
deleted file mode 100644 (file)
index 2fcbe65..0000000
+++ /dev/null
@@ -1,221 +0,0 @@
-<?php
-/**
- * Dynamically change configuration variables based on the test suite name and a cookie value.
- *
- * For details on how to configure a wiki for a Selenium test, see:
- * http://www.mediawiki.org/wiki/SeleniumFramework#Test_Wiki_configuration
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- *
- * @file
- */
-
-if ( !defined( 'MEDIAWIKI' ) ) {
-       die( 1 );
-}
-
-require_once "$IP/includes/GlobalFunctions.php";
-
-$fname = 'SeleniumWebSettings.php';
-wfProfileIn( $fname );
-
-$cookiePrefix = $wgSitename . '-';
-$cookieName = $cookiePrefix . 'Selenium';
-
-// this is a fallback SQL file
-$testSqlFile = false;
-$testImageZip = false;
-
-// if we find a request parameter containing the test name, set a cookie with the test name
-if ( isset( $_GET['setupTestSuite'] ) ) {
-       $setupTestSuiteName = $_GET['setupTestSuite'];
-
-       if (
-               preg_match( '/[^a-zA-Z0-9_-]/', $setupTestSuiteName ) ||
-               !isset( $wgSeleniumTestConfigs[$setupTestSuiteName] )
-       )
-       {
-               return;
-       }
-       if ( strlen( $setupTestSuiteName ) > 0 ) {
-               $expire = time() + 600;
-               setcookie(
-                       $cookieName,
-                       $setupTestSuiteName,
-                       $expire,
-                       $wgCookiePath,
-                       $wgCookieDomain,
-                       $wgCookieSecure,
-                       true
-               );
-       }
-
-       $testIncludes = array(); // array containing all the includes needed for this test
-       $testGlobalConfigs = array(); // an array containing all the global configs needed for this test
-       $testResourceFiles = array(); // an array containing all the resource files needed for this test
-       $callback = $wgSeleniumTestConfigs[$setupTestSuiteName];
-       call_user_func_array( $callback, array( &$testIncludes, &$testGlobalConfigs, &$testResourceFiles ) );
-
-       if ( isset( $testResourceFiles['images'] ) ) {
-               $testImageZip = $testResourceFiles['images'];
-       }
-
-       if ( isset( $testResourceFiles['db'] ) ) {
-               $testSqlFile = $testResourceFiles['db'];
-               $testResourceName = getTestResourceNameFromTestSuiteName( $setupTestSuiteName );
-
-               switchToTestResources( $testResourceName, false ); // false means do not switch database yet
-               setupTestResources( $testResourceName, $testSqlFile, $testImageZip );
-       }
-}
-
-// clear the cookie based on a request param
-if ( isset( $_GET['clearTestSuite'] ) ) {
-       $testSuiteName = getTestSuiteNameFromCookie( $cookieName );
-
-       $expire = time() - 600;
-       setcookie(
-               $cookieName,
-               '',
-               $expire,
-               $wgCookiePath,
-               $wgCookieDomain,
-               $wgCookieSecure,
-               true
-       );
-
-       $testResourceName = getTestResourceNameFromTestSuiteName( $testSuiteName );
-       teardownTestResources( $testResourceName );
-}
-
-// if a cookie is found, run the appropriate callback to get the config params.
-if ( isset( $_COOKIE[$cookieName] ) ) {
-       $testSuiteName = getTestSuiteNameFromCookie( $cookieName );
-       if ( !isset( $wgSeleniumTestConfigs[$testSuiteName] ) ) {
-               return;
-       }
-
-       $testIncludes = array(); // array containing all the includes needed for this test
-       $testGlobalConfigs = array(); // an array containing all the global configs needed for this test
-       $testResourceFiles = array(); // an array containing all the resource files needed for this test
-       $callback = $wgSeleniumTestConfigs[$testSuiteName];
-       call_user_func_array( $callback, array( &$testIncludes, &$testGlobalConfigs, &$testResourceFiles ) );
-
-       if ( isset( $testResourceFiles['db'] ) ) {
-               $testResourceName = getTestResourceNameFromTestSuiteName( $testSuiteName );
-               switchToTestResources( $testResourceName );
-       }
-       foreach ( $testIncludes as $includeFile ) {
-               $file = $IP . '/' . $includeFile;
-               require_once $file;
-       }
-       foreach ( $testGlobalConfigs as $key => $value ) {
-               if ( is_array( $value ) ) {
-                       $GLOBALS[$key] = array_merge( $GLOBALS[$key], $value );
-               } else {
-                       $GLOBALS[$key] = $value;
-               }
-       }
-}
-
-wfProfileOut( $fname );
-
-function getTestSuiteNameFromCookie( $cookieName ) {
-       $testSuiteName = null;
-       if ( isset( $_COOKIE[$cookieName] ) ) {
-               $testSuiteName = $_COOKIE[$cookieName];
-       }
-       return $testSuiteName;
-}
-
-function getTestResourceNameFromTestSuiteName( $testSuiteName ) {
-       $testResourceName = null;
-       if ( isset( $testSuiteName ) ) {
-               $testResourceName = $testSuiteName;
-       }
-       return $testResourceName;
-}
-
-function getTestUploadPathFromResourceName( $testResourceName ) {
-       global $IP;
-       $testUploadPath = "$IP/images/$testResourceName";
-       return $testUploadPath;
-}
-
-function setupTestResources( $testResourceName, $testSqlFile, $testImageZip ) {
-       global $wgDBname;
-
-       // Basic security. Do not allow to drop productive database.
-       if ( $testResourceName == $wgDBname ) {
-               die( 'Cannot override productive database.' );
-       }
-       if ( $testResourceName == '' ) {
-               die( 'Cannot identify a test the resources should be installed for.' );
-       }
-
-       // create tables
-       $dbw = wfGetDB( DB_MASTER );
-       $dbw->query( 'DROP DATABASE IF EXISTS ' . $testResourceName );
-       $dbw->query( 'CREATE DATABASE ' . $testResourceName );
-
-       // do not set the new DB name before database is setup
-       $wgDBname = $testResourceName;
-       $dbw->selectDB( $testResourceName );
-       // populate from SQL file
-       if ( $testSqlFile ) {
-               $dbw->sourceFile( $testSqlFile );
-       }
-
-       // create test image dir
-       $testUploadPath = getTestUploadPathFromResourceName( $testResourceName );
-       if ( !file_exists( $testUploadPath ) ) {
-               mkdir( $testUploadPath );
-       }
-
-       if ( $testImageZip ) {
-               $zip = new ZipArchive();
-               $zip->open( $testImageZip );
-               $zip->extractTo( $testUploadPath );
-               $zip->close();
-       }
-}
-
-function teardownTestResources( $testResourceName ) {
-       // remove test database
-       $dbw = wfGetDB( DB_MASTER );
-       $dbw->query( 'DROP DATABASE IF EXISTS ' . $testResourceName );
-
-       $testUploadPath = getTestUploadPathFromResourceName( $testResourceName );
-       // remove test image dir
-       if ( file_exists( $testUploadPath ) ) {
-               wfRecursiveRemoveDir( $testUploadPath );
-       }
-}
-
-function switchToTestResources( $testResourceName, $switchDB = true ) {
-       global $wgDBuser, $wgDBpassword, $wgDBname;
-       global $wgDBtestuser, $wgDBtestpassword;
-       global $wgUploadPath;
-
-       if ( $switchDB ) {
-               $wgDBname = $testResourceName;
-       }
-       $wgDBuser = $wgDBtestuser;
-       $wgDBpassword = $wgDBtestpassword;
-
-       $testUploadPath = getTestUploadPathFromResourceName( $testResourceName );
-       $wgUploadPath = $testUploadPath;
-}
index d40d923..9d42b2f 100644 (file)
@@ -2922,11 +2922,13 @@ class Title {
                $linkCache = LinkCache::singleton();
                $cached = $linkCache->getGoodLinkFieldObj( $this, 'redirect' );
                if ( $cached === null ) {
-                       // TODO: check the assumption that the cache actually knows about this title
-                       // and handle this, such as get the title from the database.
-                       // See https://bugzilla.wikimedia.org/show_bug.cgi?id=37209
-                       wfDebug( "LinkCache doesn't currently know about this title: " . $this->getPrefixedDBkey() );
-                       wfDebug( wfBacktrace() );
+                       # Trust LinkCache's state over our own
+                       # LinkCache is telling us that the page doesn't exist, despite there being cached
+                       # data relating to an existing page in $this->mArticleID. Updaters should clear
+                       # LinkCache as appropriate, or use $flags = Title::GAID_FOR_UPDATE. If that flag is
+                       # set, then LinkCache will definitely be up to date here, since getArticleID() forces
+                       # LinkCache to refresh its data from the master.
+                       return $this->mRedirect = false;
                }
 
                $this->mRedirect = (bool)$cached;
@@ -2951,11 +2953,9 @@ class Title {
                }
                $linkCache = LinkCache::singleton();
                $cached = $linkCache->getGoodLinkFieldObj( $this, 'length' );
-               if ( $cached === null ) { # check the assumption that the cache actually knows about this title
-                       # XXX: this does apparently happen, see https://bugzilla.wikimedia.org/show_bug.cgi?id=37209
-                       #      as a stop gap, perhaps log this, but don't throw an exception?
-                       wfDebug( "LinkCache doesn't currently know about this title: " . $this->getPrefixedDBkey() );
-                       wfDebug( wfBacktrace() );
+               if ( $cached === null ) {
+                       # Trust LinkCache's state over our own, as for isRedirect()
+                       return $this->mLength = 0;
                }
 
                $this->mLength = intval( $cached );
@@ -2967,7 +2967,6 @@ class Title {
         * What is the page_latest field for this page?
         *
         * @param int $flags a bit field; may be Title::GAID_FOR_UPDATE to select for update
-        * @throws MWException
         * @return Int or 0 if the page doesn't exist
         */
        public function getLatestRevID( $flags = 0 ) {
@@ -2981,10 +2980,9 @@ class Title {
                $linkCache = LinkCache::singleton();
                $linkCache->addLinkObj( $this );
                $cached = $linkCache->getGoodLinkFieldObj( $this, 'revision' );
-               if ( $cached === null ) { # check the assumption that the cache actually knows about this title
-                       # XXX: this does apparently happen, see https://bugzilla.wikimedia.org/show_bug.cgi?id=37209
-                       #      as a stop gap, perhaps log this, but don't throw an exception?
-                       throw new MWException( "LinkCache doesn't currently know about this title: " . $this->getPrefixedDBkey() );
+               if ( $cached === null ) {
+                       # Trust LinkCache's state over our own, as for isRedirect()
+                       return $this->mLatestID = 0;
                }
 
                $this->mLatestID = intval( $cached );
index 16658d3..901b1e8 100644 (file)
@@ -139,10 +139,6 @@ if ( defined( 'MW_CONFIG_CALLBACK' ) ) {
        require_once MW_CONFIG_FILE;
 }
 
-if ( $wgEnableSelenium ) {
-       require_once "$IP/includes/SeleniumWebSettings.php";
-}
-
 wfProfileOut( 'WebStart.php-conf' );
 
 wfProfileIn( 'WebStart.php-ob_start' );
index fdf3b76..57287d7 100644 (file)
@@ -1597,7 +1597,12 @@ abstract class ApiBase extends ContextSource {
                }
 
                if ( $this->needsToken() ) {
-                       $ret[] = array( 'missingparam', 'token' );
+                       if ( !isset( $params['token'][ApiBase::PARAM_REQUIRED] )
+                               || !$params['token'][ApiBase::PARAM_REQUIRED]
+                       ) {
+                               // Add token as possible missing parameter, if not already done
+                               $ret[] = array( 'missingparam', 'token' );
+                       }
                        $ret[] = array( 'sessionfailure' );
                }
 
index 800af25..ac6913e 100644 (file)
@@ -171,7 +171,14 @@ class ApiParse extends ApiBase {
                        $popts = $this->makeParserOptions( $pageObj, $params );
 
                        if ( is_null( $text ) ) {
-                               $this->dieUsage( 'The text parameter should be passed with the title parameter. Should you be using the "page" parameter instead?', 'params' );
+                               if ( $title !== 'API' && ( $prop || $params['generatexml'] ) ) {
+                                       $this->setWarning(
+                                               "'title' used without 'text', and parsed page properties were requested " .
+                                               "(did you mean to use 'page' instead of 'title'?)"
+                                       );
+                               }
+                               // Prevent warning from ContentHandler::makeContent()
+                               $text = '';
                        }
 
                        try {
@@ -369,8 +376,8 @@ class ApiParse extends ApiBase {
 
                $popts = $pageObj->makeParserOptions( $this->getContext() );
                $popts->enableLimitReport( !$params['disablepp'] );
-               $popts->setIsPreview( $params['preview'] );
-               $popts->setIsSectionPreview( $params['preview'] && $this->section !== false );
+               $popts->setIsPreview( $params['preview'] || $params['sectionpreview'] );
+               $popts->setIsSectionPreview( $params['sectionpreview'] );
 
                wfProfileOut( __METHOD__ );
                return $popts;
@@ -612,6 +619,7 @@ class ApiParse extends ApiBase {
                        'disablepp' => false,
                        'generatexml' => false,
                        'preview' => false,
+                       'sectionpreview' => false,
                        'contentformat' => array(
                                ApiBase::PARAM_TYPE => ContentHandler::getAllContentFormats(),
                        ),
@@ -668,6 +676,7 @@ class ApiParse extends ApiBase {
                        'disablepp' => 'Disable the PP Report from the parser output',
                        'generatexml' => 'Generate XML parse tree (requires prop=wikitext)',
                        'preview' => 'Parse in preview mode',
+                       'sectionpreview' => 'Parse in section preview mode (enables preview mode too)',
                        'contentformat' => 'Content serialization format used for the input text',
                        'contentmodel' => 'Content model of the new content',
                );
@@ -683,7 +692,6 @@ class ApiParse extends ApiBase {
        public function getPossibleErrors() {
                return array_merge( parent::getPossibleErrors(), array(
                        array( 'code' => 'params', 'info' => 'The page parameter cannot be used together with the text and title parameters' ),
-                       array( 'code' => 'params', 'info' => 'The text parameter should be passed with the title parameter. Should you be using the "page" parameter instead?' ),
                        array( 'code' => 'missingrev', 'info' => 'There is no revision ID oldid' ),
                        array( 'code' => 'permissiondenied', 'info' => 'You don\'t have permission to view deleted revisions' ),
                        array( 'code' => 'missingtitle', 'info' => 'The page you specified doesn\'t exist' ),
@@ -698,7 +706,10 @@ class ApiParse extends ApiBase {
 
        public function getExamples() {
                return array(
-                       'api.php?action=parse&text={{Project:Sandbox}}'
+                       'api.php?action=parse&page=Project:Sandbox' => 'Parse a page',
+                       'api.php?action=parse&text={{Project:Sandbox}}' => 'Parse wikitext',
+                       'api.php?action=parse&text={{PAGENAME}}&title=Test' => 'Parse wikitext, specifying the page title',
+                       'api.php?action=parse&summary=Some+[[link]]&prop=' => 'Parse a summary',
                );
        }
 
index 4d4fbba..bd2fde2 100644 (file)
@@ -35,11 +35,27 @@ class ApiPatrol extends ApiBase {
         */
        public function execute() {
                $params = $this->extractRequestParams();
-
-               $rc = RecentChange::newFromID( $params['rcid'] );
-               if ( !$rc instanceof RecentChange ) {
-                       $this->dieUsageMsg( array( 'nosuchrcid', $params['rcid'] ) );
+               $this->requireOnlyOneParameter( $params, 'rcid', 'revid' );
+
+               if ( isset( $params['rcid'] ) ) {
+                       $rc = RecentChange::newFromID( $params['rcid'] );
+                       if ( !$rc ) {
+                               $this->dieUsageMsg( array( 'nosuchrcid', $params['rcid'] ) );
+                       }
+               } else {
+                       $rev = Revision::newFromId( $params['revid'] );
+                       if ( !$rev ) {
+                               $this->dieUsageMsg( array( 'nosuchrevid', $params['revid'] ) );
+                       }
+                       $rc = $rev->getRecentChange();
+                       if ( !$rc ) {
+                               $this->dieUsage(
+                                       'The revision ' . $params['revid'] . " can't be patrolled as it's too old",
+                                       'notpatrollable'
+                               );
+                       }
                }
+
                $retval = $rc->doMarkPatrolled( $this->getUser() );
 
                if ( $retval ) {
@@ -66,8 +82,10 @@ class ApiPatrol extends ApiBase {
                                ApiBase::PARAM_REQUIRED => true
                        ),
                        'rcid' => array(
-                               ApiBase::PARAM_TYPE => 'integer',
-                               ApiBase::PARAM_REQUIRED => true
+                               ApiBase::PARAM_TYPE => 'integer'
+                       ),
+                       'revid' => array(
+                               ApiBase::PARAM_TYPE => 'integer'
                        ),
                );
        }
@@ -76,6 +94,7 @@ class ApiPatrol extends ApiBase {
                return array(
                        'token' => 'Patrol token obtained from list=recentchanges',
                        'rcid' => 'Recentchanges ID to patrol',
+                       'revid' => 'Revision ID to patrol',
                );
        }
 
@@ -94,8 +113,16 @@ class ApiPatrol extends ApiBase {
        }
 
        public function getPossibleErrors() {
-               return array_merge( parent::getPossibleErrors(), array(
-                       array( 'nosuchrcid', 'rcid' ),
+               return array_merge(
+                       parent::getPossibleErrors(),
+                       parent::getRequireOnlyOneParameterErrorMessages( array( 'rcid', 'revid' ) ),
+                       array(
+                               array( 'nosuchrcid', 'rcid' ),
+                               array( 'nosuchrevid', 'revid' ),
+                               array(
+                                       'code' => 'notpatrollable',
+                                       'info' => "The revision can't be patrolled as it's too old"
+                               )
                ) );
        }
 
@@ -109,7 +136,8 @@ class ApiPatrol extends ApiBase {
 
        public function getExamples() {
                return array(
-                       'api.php?action=patrol&token=123abc&rcid=230672766'
+                       'api.php?action=patrol&token=123abc&rcid=230672766',
+                       'api.php?action=patrol&token=123abc&revid=230672766'
                );
        }
 
index 881269f..e3c27f5 100644 (file)
@@ -91,18 +91,30 @@ class ApiQueryBlocks extends ApiQueryBase {
                        $this->addWhereFld( 'ipb_auto', 0 );
                }
                if ( isset( $params['ip'] ) ) {
-                       list( $ip, $range ) = IP::parseCIDR( $params['ip'] );
-                       if ( $ip && $range ) {
-                               // We got a CIDR range
-                               if ( $range < 16 ) {
-                                       $this->dieUsage( 'CIDR ranges broader than /16 are not accepted', 'cidrtoobroad' );
-                               }
-                               $lower = wfBaseConvert( $ip, 10, 16, 8, false );
-                               $upper = wfBaseConvert( $ip + pow( 2, 32 - $range ) - 1, 10, 16, 8, false );
+                       global $wgBlockCIDRLimit;
+                       if ( IP::isIPv4( $params['ip'] ) ) {
+                               $type = 'IPv4';
+                               $cidrLimit = $wgBlockCIDRLimit['IPv4'];
+                               $prefixLen = 0;
+                       } elseif ( IP::isIPv6( $params['ip'] ) ) {
+                               $type = 'IPv6';
+                               $cidrLimit = $wgBlockCIDRLimit['IPv6'];
+                               $prefixLen = 3; // IP::toHex output is prefixed with "v6-"
                        } else {
-                               $lower = $upper = IP::toHex( $params['ip'] );
+                               $this->dieUsage( 'IP parameter is not valid', 'param_ip' );
+                       }
+
+                       # Check range validity, if it's a CIDR
+                       list( $ip, $range ) = IP::parseCIDR( $params['ip'] );
+                       if ( $ip !== false && $range !== false && $range < $cidrLimit ) {
+                               $this->dieUsage( "$type CIDR ranges broader than /$cidrLimit are not accepted", 'cidrtoobroad' );
                        }
-                       $prefix = substr( $lower, 0, 4 );
+
+                       # Let IP::parseRange handle calculating $upper, instead of duplicating the logic here.
+                       list( $lower, $upper ) = IP::parseRange( $params['ip'] );
+
+                       # Extract the common prefix to any rangeblock affecting this IP/CIDR
+                       $prefix = substr( $lower, 0, $prefixLen + floor( $cidrLimit / 4 ) );
 
                        # Fairly hard to make a malicious SQL statement out of hex characters,
                        # but it is good practice to add quotes
@@ -295,6 +307,7 @@ class ApiQueryBlocks extends ApiQueryBase {
        }
 
        public function getParamDescription() {
+               global $wgBlockCIDRLimit;
                $p = $this->getModulePrefix();
                return array(
                        'start' => 'The timestamp to start enumerating from',
@@ -302,8 +315,12 @@ class ApiQueryBlocks extends ApiQueryBase {
                        'dir' => $this->getDirectionDescription( $p ),
                        'ids' => 'List of block IDs to list (optional)',
                        'users' => 'List of users to search for (optional)',
-                       'ip' => array( 'Get all blocks applying to this IP or CIDR range, including range blocks.',
-                                       'Cannot be used together with bkusers. CIDR ranges broader than /16 are not accepted' ),
+                       'ip' => array(
+                               'Get all blocks applying to this IP or CIDR range, including range blocks.',
+                               "Cannot be used together with bkusers. CIDR ranges broader than " .
+                                       "IPv4/{$wgBlockCIDRLimit['IPv4']} or IPv6/{$wgBlockCIDRLimit['IPv6']} " .
+                                       "are not accepted"
+                       ),
                        'limit' => 'The maximum amount of blocks to list',
                        'prop' => array(
                                'Which properties to get',
@@ -384,10 +401,19 @@ class ApiQueryBlocks extends ApiQueryBase {
        }
 
        public function getPossibleErrors() {
+               global $wgBlockCIDRLimit;
                return array_merge( parent::getPossibleErrors(),
                        $this->getRequireOnlyOneParameterErrorMessages( array( 'users', 'ip' ) ),
                        array(
-                               array( 'code' => 'cidrtoobroad', 'info' => 'CIDR ranges broader than /16 are not accepted' ),
+                               array(
+                                       'code' => 'cidrtoobroad',
+                                       'info' => "IPv4 CIDR ranges broader than /{$wgBlockCIDRLimit['IPv4']} are not accepted"
+                               ),
+                               array(
+                                       'code' => 'cidrtoobroad',
+                                       'info' => "IPv6 CIDR ranges broader than /{$wgBlockCIDRLimit['IPv6']} are not accepted"
+                               ),
+                               array( 'code' => 'param_ip', 'info' => 'IP parameter is not valid' ),
                                array( 'code' => 'param_user', 'info' => 'User parameter may not be empty' ),
                                array( 'code' => 'param_user', 'info' => 'User name user is not valid' ),
                                array( 'show' ),
index 7dc8d05..fcefc06 100644 (file)
@@ -865,14 +865,16 @@ class MessageCache {
         *
         * @param string $title Message cache key with initial uppercase letter.
         * @param string $code Code denoting the language to try.
-        * @return string|bool False on failure
+        * @return string|bool The message, or false iff it does not exist or on error
         */
        function getMsgFromNamespace( $title, $code ) {
                $this->load( $code );
                if ( isset( $this->mCache[$code][$title] ) ) {
                        $entry = $this->mCache[$code][$title];
                        if ( substr( $entry, 0, 1 ) === ' ' ) {
-                               return substr( $entry, 1 );
+                               // The message exists, so make sure a string
+                               // is returned.
+                               return (string)substr( $entry, 1 );
                        } elseif ( $entry === '!NONEXISTENT' ) {
                                return false;
                        } elseif ( $entry === '!TOO BIG' ) {
@@ -895,7 +897,9 @@ class MessageCache {
                if ( $entry ) {
                        if ( substr( $entry, 0, 1 ) === ' ' ) {
                                $this->mCache[$code][$title] = $entry;
-                               return substr( $entry, 1 );
+                               // The message exists, so make sure a string
+                               // is returned.
+                               return (string)substr( $entry, 1 );
                        } elseif ( $entry === '!NONEXISTENT' ) {
                                $this->mCache[$code][$title] = '!NONEXISTENT';
                                return false;
index 3eb8c44..b75d615 100644 (file)
  */
 
 /**
- * Database abstraction object for mySQL
- * Inherit all methods and properties of Database::Database()
+ * Database abstraction object for PHP extension mysql.
  *
  * @ingroup Database
  * @see Database
  */
-class DatabaseMysql extends DatabaseBase {
-
-       /**
-        * @return string
-        */
-       function getType() {
-               return 'mysql';
-       }
+class DatabaseMysql extends DatabaseMysqlBase {
 
        /**
         * @param $sql string
@@ -50,40 +42,16 @@ class DatabaseMysql extends DatabaseBase {
                return $ret;
        }
 
-       /**
-        * @param $server string
-        * @param $user string
-        * @param $password string
-        * @param $dbName string
-        * @return bool
-        * @throws DBConnectionError
-        */
-       function open( $server, $user, $password, $dbName ) {
-               global $wgAllDBsAreLocalhost, $wgDBmysql5, $wgSQLMode;
-               wfProfileIn( __METHOD__ );
-
+       protected function mysqlConnect( $realServer ) {
                # Load mysql.so if we don't have it
                wfDl( 'mysql' );
 
                # Fail now
                # Otherwise we get a suppressed fatal error, which is very hard to track down
                if ( !function_exists( 'mysql_connect' ) ) {
-                       wfProfileOut( __METHOD__ );
                        throw new DBConnectionError( $this, "MySQL functions missing, have you compiled PHP with the --with-mysql option?\n" );
                }
 
-               # Debugging hack -- fake cluster
-               if ( $wgAllDBsAreLocalhost ) {
-                       $realServer = 'localhost';
-               } else {
-                       $realServer = $server;
-               }
-               $this->close();
-               $this->mServer = $server;
-               $this->mUser = $user;
-               $this->mPassword = $password;
-               $this->mDBname = $dbName;
-
                $connFlags = 0;
                if ( $this->mFlags & DBO_SSL ) {
                        $connFlags |= MYSQL_CLIENT_SSL;
@@ -92,81 +60,27 @@ class DatabaseMysql extends DatabaseBase {
                        $connFlags |= MYSQL_CLIENT_COMPRESS;
                }
 
-               wfProfileIn( "dbconnect-$server" );
-
-               # The kernel's default SYN retransmission period is far too slow for us,
-               # so we use a short timeout plus a manual retry. Retrying means that a small
-               # but finite rate of SYN packet loss won't cause user-visible errors.
-               $this->mConn = false;
                if ( ini_get( 'mysql.connect_timeout' ) <= 3 ) {
                        $numAttempts = 2;
                } else {
                        $numAttempts = 1;
                }
-               $this->installErrorHandler();
-               for ( $i = 0; $i < $numAttempts && !$this->mConn; $i++ ) {
+
+               $conn = false;
+
+               for ( $i = 0; $i < $numAttempts && !$conn; $i++ ) {
                        if ( $i > 1 ) {
                                usleep( 1000 );
                        }
                        if ( $this->mFlags & DBO_PERSISTENT ) {
-                               $this->mConn = mysql_pconnect( $realServer, $user, $password, $connFlags );
+                               $conn = mysql_pconnect( $realServer, $this->mUser, $this->mPassword, $connFlags );
                        } else {
                                # Create a new connection...
-                               $this->mConn = mysql_connect( $realServer, $user, $password, true, $connFlags );
+                               $conn = mysql_connect( $realServer, $this->mUser, $this->mPassword, true, $connFlags );
                        }
-                       #if ( $this->mConn === false ) {
-                               #$iplus = $i + 1;
-                               #wfLogDBError("Connect loop error $iplus of $max ($server): " . mysql_errno() . " - " . mysql_error()."\n");
-                       #}
                }
-               $error = $this->restoreErrorHandler();
-
-               wfProfileOut( "dbconnect-$server" );
-
-               # Always log connection errors
-               if ( !$this->mConn ) {
-                       if ( !$error ) {
-                               $error = $this->lastError();
-                       }
-                       wfLogDBError( "Error connecting to {$this->mServer}: $error\n" );
-                       wfDebug( "DB connection error\n" .
-                               "Server: $server, User: $user, Password: " .
-                               substr( $password, 0, 3 ) . "..., error: " . $error . "\n" );
 
-                       wfProfileOut( __METHOD__ );
-                       return $this->reportConnectionError( $error );
-               }
-
-               if ( $dbName != '' ) {
-                       wfSuppressWarnings();
-                       $success = mysql_select_db( $dbName, $this->mConn );
-                       wfRestoreWarnings();
-                       if ( !$success ) {
-                               wfLogDBError( "Error selecting database $dbName on server {$this->mServer}\n" );
-                               wfDebug( "Error selecting database $dbName on server {$this->mServer} " .
-                                       "from client host " . wfHostname() . "\n" );
-
-                               wfProfileOut( __METHOD__ );
-                               return $this->reportConnectionError( "Error selecting database $dbName" );
-                       }
-               }
-
-               // Tell the server we're communicating with it in UTF-8.
-               // This may engage various charset conversions.
-               if ( $wgDBmysql5 ) {
-                       $this->query( 'SET NAMES utf8', __METHOD__ );
-               } else {
-                       $this->query( 'SET NAMES binary', __METHOD__ );
-               }
-               // Set SQL mode, default is turning them all off, can be overridden or skipped with null
-               if ( is_string( $wgSQLMode ) ) {
-                       $mode = $this->addQuotes( $wgSQLMode );
-                       $this->query( "SET sql_mode = $mode", __METHOD__ );
-               }
-
-               $this->mOpened = true;
-               wfProfileOut( __METHOD__ );
-               return true;
+               return $conn;
        }
 
        /**
@@ -176,113 +90,6 @@ class DatabaseMysql extends DatabaseBase {
                return mysql_close( $this->mConn );
        }
 
-       /**
-        * @param $res ResultWrapper
-        * @throws DBUnexpectedError
-        */
-       function freeResult( $res ) {
-               if ( $res instanceof ResultWrapper ) {
-                       $res = $res->result;
-               }
-               wfSuppressWarnings();
-               $ok = mysql_free_result( $res );
-               wfRestoreWarnings();
-               if ( !$ok ) {
-                       throw new DBUnexpectedError( $this, "Unable to free MySQL result" );
-               }
-       }
-
-       /**
-        * @param $res ResultWrapper
-        * @return object|bool
-        * @throws DBUnexpectedError
-        */
-       function fetchObject( $res ) {
-               if ( $res instanceof ResultWrapper ) {
-                       $res = $res->result;
-               }
-               wfSuppressWarnings();
-               $row = mysql_fetch_object( $res );
-               wfRestoreWarnings();
-
-               $errno = $this->lastErrno();
-               // Unfortunately, mysql_fetch_object does not reset the last errno.
-               // Only check for CR_SERVER_LOST and CR_UNKNOWN_ERROR, as
-               // these are the only errors mysql_fetch_object can cause.
-               // See http://dev.mysql.com/doc/refman/5.0/en/mysql-fetch-row.html.
-               if ( $errno == 2000 || $errno == 2013 ) {
-                       throw new DBUnexpectedError( $this, 'Error in fetchObject(): ' . htmlspecialchars( $this->lastError() ) );
-               }
-               return $row;
-       }
-
-       /**
-        * @param $res ResultWrapper
-        * @return array|bool
-        * @throws DBUnexpectedError
-        */
-       function fetchRow( $res ) {
-               if ( $res instanceof ResultWrapper ) {
-                       $res = $res->result;
-               }
-               wfSuppressWarnings();
-               $row = mysql_fetch_array( $res );
-               wfRestoreWarnings();
-
-               $errno = $this->lastErrno();
-               // Unfortunately, mysql_fetch_array does not reset the last errno.
-               // Only check for CR_SERVER_LOST and CR_UNKNOWN_ERROR, as
-               // these are the only errors mysql_fetch_object can cause.
-               // See http://dev.mysql.com/doc/refman/5.0/en/mysql-fetch-row.html.
-               if ( $errno == 2000 || $errno == 2013 ) {
-                       throw new DBUnexpectedError( $this, 'Error in fetchRow(): ' . htmlspecialchars( $this->lastError() ) );
-               }
-               return $row;
-       }
-
-       /**
-        * @throws DBUnexpectedError
-        * @param $res ResultWrapper
-        * @return int
-        */
-       function numRows( $res ) {
-               if ( $res instanceof ResultWrapper ) {
-                       $res = $res->result;
-               }
-               wfSuppressWarnings();
-               $n = mysql_num_rows( $res );
-               wfRestoreWarnings();
-               // Unfortunately, mysql_num_rows does not reset the last errno.
-               // We are not checking for any errors here, since
-               // these are no errors mysql_num_rows can cause.
-               // See http://dev.mysql.com/doc/refman/5.0/en/mysql-fetch-row.html.
-               // See https://bugzilla.wikimedia.org/42430
-               return $n;
-       }
-
-       /**
-        * @param $res ResultWrapper
-        * @return int
-        */
-       function numFields( $res ) {
-               if ( $res instanceof ResultWrapper ) {
-                       $res = $res->result;
-               }
-               return mysql_num_fields( $res );
-       }
-
-       /**
-        * @param $res ResultWrapper
-        * @param $n string
-        * @return string
-        */
-       function fieldName( $res, $n ) {
-               if ( $res instanceof ResultWrapper ) {
-                       $res = $res->result;
-               }
-               return mysql_field_name( $res, $n );
-       }
-
        /**
         * @return int
         */
@@ -290,18 +97,6 @@ class DatabaseMysql extends DatabaseBase {
                return mysql_insert_id( $this->mConn );
        }
 
-       /**
-        * @param $res ResultWrapper
-        * @param $row
-        * @return bool
-        */
-       function dataSeek( $res, $row ) {
-               if ( $res instanceof ResultWrapper ) {
-                       $res = $res->result;
-               }
-               return mysql_data_seek( $res, $row );
-       }
-
        /**
         * @return int
         */
@@ -313,27 +108,6 @@ class DatabaseMysql extends DatabaseBase {
                }
        }
 
-       /**
-        * @return string
-        */
-       function lastError() {
-               if ( $this->mConn ) {
-                       # Even if it's non-zero, it can still be invalid
-                       wfSuppressWarnings();
-                       $error = mysql_error( $this->mConn );
-                       if ( !$error ) {
-                               $error = mysql_error();
-                       }
-                       wfRestoreWarnings();
-               } else {
-                       $error = mysql_error();
-               }
-               if ( $error ) {
-                       $error .= ' (' . $this->mServer . ')';
-               }
-               return $error;
-       }
-
        /**
         * @return int
         */
@@ -341,131 +115,6 @@ class DatabaseMysql extends DatabaseBase {
                return mysql_affected_rows( $this->mConn );
        }
 
-       /**
-        * @param $table string
-        * @param $uniqueIndexes
-        * @param $rows array
-        * @param $fname string
-        * @return ResultWrapper
-        */
-       function replace( $table, $uniqueIndexes, $rows, $fname = __METHOD__ ) {
-               return $this->nativeReplace( $table, $rows, $fname );
-       }
-
-       /**
-        * @param string $table
-        * @param array $rows
-        * @param array $uniqueIndexes
-        * @param array $set
-        * @param string $fname
-        * @param array $options
-        * @return bool
-        */
-       public function upsert(
-               $table, array $rows, array $uniqueIndexes, array $set, $fname = __METHOD__
-       ) {
-               if ( !count( $rows ) ) {
-                       return true; // nothing to do
-               }
-               $rows = is_array( reset( $rows ) ) ? $rows : array( $rows );
-
-               $table = $this->tableName( $table );
-               $columns = array_keys( $rows[0] );
-
-               $sql = "INSERT INTO $table (" . implode( ',', $columns ) . ') VALUES ';
-               $rowTuples = array();
-               foreach ( $rows as $row ) {
-                       $rowTuples[] = '(' . $this->makeList( $row ) . ')';
-               }
-               $sql .= implode( ',', $rowTuples );
-               $sql .= " ON DUPLICATE KEY UPDATE " . $this->makeList( $set, LIST_SET );
-
-               return (bool)$this->query( $sql, $fname );
-       }
-
-       /**
-        * Estimate rows in dataset
-        * Returns estimated count, based on EXPLAIN output
-        * Takes same arguments as Database::select()
-        *
-        * @param $table string|array
-        * @param $vars string|array
-        * @param $conds string|array
-        * @param $fname string
-        * @param $options string|array
-        * @return int
-        */
-       public function estimateRowCount( $table, $vars = '*', $conds = '', $fname = __METHOD__, $options = array() ) {
-               $options['EXPLAIN'] = true;
-               $res = $this->select( $table, $vars, $conds, $fname, $options );
-               if ( $res === false ) {
-                       return false;
-               }
-               if ( !$this->numRows( $res ) ) {
-                       return 0;
-               }
-
-               $rows = 1;
-               foreach ( $res as $plan ) {
-                       $rows *= $plan->rows > 0 ? $plan->rows : 1; // avoid resetting to zero
-               }
-               return $rows;
-       }
-
-       /**
-        * @param $table string
-        * @param $field string
-        * @return bool|MySQLField
-        */
-       function fieldInfo( $table, $field ) {
-               $table = $this->tableName( $table );
-               $res = $this->query( "SELECT * FROM $table LIMIT 1", __METHOD__, true );
-               if ( !$res ) {
-                       return false;
-               }
-               $n = mysql_num_fields( $res->result );
-               for ( $i = 0; $i < $n; $i++ ) {
-                       $meta = mysql_fetch_field( $res->result, $i );
-                       if ( $field == $meta->name ) {
-                               return new MySQLField( $meta );
-                       }
-               }
-               return false;
-       }
-
-       /**
-        * Get information about an index into an object
-        * Returns false if the index does not exist
-        *
-        * @param $table string
-        * @param $index string
-        * @param $fname string
-        * @return bool|array|null False or null on failure
-        */
-       function indexInfo( $table, $index, $fname = __METHOD__ ) {
-               # SHOW INDEX works in MySQL 3.23.58, but SHOW INDEXES does not.
-               # SHOW INDEX should work for 3.x and up:
-               # http://dev.mysql.com/doc/mysql/en/SHOW_INDEX.html
-               $table = $this->tableName( $table );
-               $index = $this->indexName( $index );
-
-               $sql = 'SHOW INDEX FROM ' . $table;
-               $res = $this->query( $sql, $fname );
-
-               if ( !$res ) {
-                       return null;
-               }
-
-               $result = array();
-
-               foreach ( $res as $row ) {
-                       if ( $row->Key_name == $index ) {
-                               $result[] = $row;
-                       }
-               }
-               return empty( $result ) ? false : $result;
-       }
-
        /**
         * @param $db
         * @return bool
@@ -475,208 +124,6 @@ class DatabaseMysql extends DatabaseBase {
                return mysql_select_db( $db, $this->mConn );
        }
 
-       /**
-        * @param $s string
-        *
-        * @return string
-        */
-       function strencode( $s ) {
-               $sQuoted = mysql_real_escape_string( $s, $this->mConn );
-
-               if ( $sQuoted === false ) {
-                       $this->ping();
-                       $sQuoted = mysql_real_escape_string( $s, $this->mConn );
-               }
-               return $sQuoted;
-       }
-
-       /**
-        * MySQL uses `backticks` for identifier quoting instead of the sql standard "double quotes".
-        *
-        * @param $s string
-        *
-        * @return string
-        */
-       public function addIdentifierQuotes( $s ) {
-               return "`" . $this->strencode( $s ) . "`";
-       }
-
-       /**
-        * @param $name string
-        * @return bool
-        */
-       public function isQuotedIdentifier( $name ) {
-               return strlen( $name ) && $name[0] == '`' && substr( $name, -1, 1 ) == '`';
-       }
-
-       /**
-        * @return bool
-        */
-       function ping() {
-               $ping = mysql_ping( $this->mConn );
-               if ( $ping ) {
-                       return true;
-               }
-
-               mysql_close( $this->mConn );
-               $this->mOpened = false;
-               $this->mConn = false;
-               $this->open( $this->mServer, $this->mUser, $this->mPassword, $this->mDBname );
-               return true;
-       }
-
-       /**
-        * Returns slave lag.
-        *
-        * This will do a SHOW SLAVE STATUS
-        *
-        * @return int
-        */
-       function getLag() {
-               if ( !is_null( $this->mFakeSlaveLag ) ) {
-                       wfDebug( "getLag: fake slave lagged {$this->mFakeSlaveLag} seconds\n" );
-                       return $this->mFakeSlaveLag;
-               }
-
-               return $this->getLagFromSlaveStatus();
-       }
-
-       /**
-        * @return bool|int
-        */
-       function getLagFromSlaveStatus() {
-               $res = $this->query( 'SHOW SLAVE STATUS', __METHOD__ );
-               if ( !$res ) {
-                       return false;
-               }
-               $row = $res->fetchObject();
-               if ( !$row ) {
-                       return false;
-               }
-               if ( strval( $row->Seconds_Behind_Master ) === '' ) {
-                       return false;
-               } else {
-                       return intval( $row->Seconds_Behind_Master );
-               }
-       }
-
-       /**
-        * @deprecated in 1.19, use getLagFromSlaveStatus
-        *
-        * @return bool|int
-        */
-       function getLagFromProcesslist() {
-               wfDeprecated( __METHOD__, '1.19' );
-               $res = $this->query( 'SHOW PROCESSLIST', __METHOD__ );
-               if ( !$res ) {
-                       return false;
-               }
-               # Find slave SQL thread
-               foreach ( $res as $row ) {
-                       /* This should work for most situations - when default db
-                        * for thread is not specified, it had no events executed,
-                        * and therefore it doesn't know yet how lagged it is.
-                        *
-                        * Relay log I/O thread does not select databases.
-                        */
-                       if ( $row->User == 'system user' &&
-                               $row->State != 'Waiting for master to send event' &&
-                               $row->State != 'Connecting to master' &&
-                               $row->State != 'Queueing master event to the relay log' &&
-                               $row->State != 'Waiting for master update' &&
-                               $row->State != 'Requesting binlog dump' &&
-                               $row->State != 'Waiting to reconnect after a failed master event read' &&
-                               $row->State != 'Reconnecting after a failed master event read' &&
-                               $row->State != 'Registering slave on master'
-                               ) {
-                               # This is it, return the time (except -ve)
-                               if ( $row->Time > 0x7fffffff ) {
-                                       return false;
-                               } else {
-                                       return $row->Time;
-                               }
-                       }
-               }
-               return false;
-       }
-
-       /**
-        * Wait for the slave to catch up to a given master position.
-        *
-        * @param $pos DBMasterPos object
-        * @param $timeout Integer: the maximum number of seconds to wait for synchronisation
-        * @return bool|string
-        */
-       function masterPosWait( DBMasterPos $pos, $timeout ) {
-               $fname = __METHOD__;
-               wfProfileIn( $fname );
-
-               # Commit any open transactions
-               if ( $this->mTrxLevel ) {
-                       $this->commit( $fname );
-               }
-
-               if ( !is_null( $this->mFakeSlaveLag ) ) {
-                       $status = parent::masterPosWait( $pos, $timeout );
-                       wfProfileOut( $fname );
-                       return $status;
-               }
-
-               # Call doQuery() directly, to avoid opening a transaction if DBO_TRX is set
-               $encFile = $this->addQuotes( $pos->file );
-               $encPos = intval( $pos->pos );
-               $sql = "SELECT MASTER_POS_WAIT($encFile, $encPos, $timeout)";
-               $res = $this->doQuery( $sql );
-
-               if ( $res && $row = $this->fetchRow( $res ) ) {
-                       wfProfileOut( $fname );
-                       return $row[0];
-               }
-               wfProfileOut( $fname );
-               return false;
-       }
-
-       /**
-        * Get the position of the master from SHOW SLAVE STATUS
-        *
-        * @return MySQLMasterPos|bool
-        */
-       function getSlavePos() {
-               if ( !is_null( $this->mFakeSlaveLag ) ) {
-                       return parent::getSlavePos();
-               }
-
-               $res = $this->query( 'SHOW SLAVE STATUS', 'DatabaseBase::getSlavePos' );
-               $row = $this->fetchObject( $res );
-
-               if ( $row ) {
-                       $pos = isset( $row->Exec_master_log_pos ) ? $row->Exec_master_log_pos : $row->Exec_Master_Log_Pos;
-                       return new MySQLMasterPos( $row->Relay_Master_Log_File, $pos );
-               } else {
-                       return false;
-               }
-       }
-
-       /**
-        * Get the position of the master from SHOW MASTER STATUS
-        *
-        * @return MySQLMasterPos|bool
-        */
-       function getMasterPos() {
-               if ( $this->mFakeMaster ) {
-                       return parent::getMasterPos();
-               }
-
-               $res = $this->query( 'SHOW MASTER STATUS', 'DatabaseBase::getMasterPos' );
-               $row = $this->fetchObject( $res );
-
-               if ( $row ) {
-                       return new MySQLMasterPos( $row->File, $row->Position );
-               } else {
-                       return false;
-               }
-       }
-
        /**
         * @return string
         */
@@ -684,388 +131,47 @@ class DatabaseMysql extends DatabaseBase {
                return mysql_get_server_info( $this->mConn );
        }
 
-       /**
-        * @param $index
-        * @return string
-        */
-       function useIndexClause( $index ) {
-               return "FORCE INDEX (" . $this->indexName( $index ) . ")";
-       }
-
-       /**
-        * @return string
-        */
-       function lowPriorityOption() {
-               return 'LOW_PRIORITY';
-       }
-
-       /**
-        * @return string
-        */
-       public function getSoftwareLink() {
-               return '[http://www.mysql.com/ MySQL]';
-       }
-
-       /**
-        * @param $options array
-        */
-       public function setSessionOptions( array $options ) {
-               if ( isset( $options['connTimeout'] ) ) {
-                       $timeout = (int)$options['connTimeout'];
-                       $this->query( "SET net_read_timeout=$timeout" );
-                       $this->query( "SET net_write_timeout=$timeout" );
-               }
-       }
-
-       public function streamStatementEnd( &$sql, &$newLine ) {
-               if ( strtoupper( substr( $newLine, 0, 9 ) ) == 'DELIMITER' ) {
-                       preg_match( '/^DELIMITER\s+(\S+)/', $newLine, $m );
-                       $this->delimiter = $m[1];
-                       $newLine = '';
-               }
-               return parent::streamStatementEnd( $sql, $newLine );
-       }
-
-       /**
-        * Check to see if a named lock is available. This is non-blocking.
-        *
-        * @param string $lockName name of lock to poll
-        * @param string $method name of method calling us
-        * @return Boolean
-        * @since 1.20
-        */
-       public function lockIsFree( $lockName, $method ) {
-               $lockName = $this->addQuotes( $lockName );
-               $result = $this->query( "SELECT IS_FREE_LOCK($lockName) AS lockstatus", $method );
-               $row = $this->fetchObject( $result );
-               return ( $row->lockstatus == 1 );
-       }
-
-       /**
-        * @param $lockName string
-        * @param $method string
-        * @param $timeout int
-        * @return bool
-        */
-       public function lock( $lockName, $method, $timeout = 5 ) {
-               $lockName = $this->addQuotes( $lockName );
-               $result = $this->query( "SELECT GET_LOCK($lockName, $timeout) AS lockstatus", $method );
-               $row = $this->fetchObject( $result );
-
-               if ( $row->lockstatus == 1 ) {
-                       return true;
-               } else {
-                       wfDebug( __METHOD__ . " failed to acquire lock\n" );
-                       return false;
-               }
-       }
-
-       /**
-        * FROM MYSQL DOCS: http://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html#function_release-lock
-        * @param $lockName string
-        * @param $method string
-        * @return bool
-        */
-       public function unlock( $lockName, $method ) {
-               $lockName = $this->addQuotes( $lockName );
-               $result = $this->query( "SELECT RELEASE_LOCK($lockName) as lockstatus", $method );
-               $row = $this->fetchObject( $result );
-               return ( $row->lockstatus == 1 );
-       }
-
-       /**
-        * @param $read array
-        * @param $write array
-        * @param $method string
-        * @param $lowPriority bool
-        * @return bool
-        */
-       public function lockTables( $read, $write, $method, $lowPriority = true ) {
-               $items = array();
-
-               foreach ( $write as $table ) {
-                       $tbl = $this->tableName( $table ) .
-                                       ( $lowPriority ? ' LOW_PRIORITY' : '' ) .
-                                       ' WRITE';
-                       $items[] = $tbl;
-               }
-               foreach ( $read as $table ) {
-                       $items[] = $this->tableName( $table ) . ' READ';
-               }
-               $sql = "LOCK TABLES " . implode( ',', $items );
-               $this->query( $sql, $method );
-               return true;
-       }
-
-       /**
-        * @param $method string
-        * @return bool
-        */
-       public function unlockTables( $method ) {
-               $this->query( "UNLOCK TABLES", $method );
-               return true;
-       }
-
-       /**
-        * Get search engine class. All subclasses of this
-        * need to implement this if they wish to use searching.
-        *
-        * @return String
-        */
-       public function getSearchEngine() {
-               return 'SearchMySQL';
-       }
-
-       /**
-        * @param bool $value
-        * @return mixed
-        */
-       public function setBigSelects( $value = true ) {
-               if ( $value === 'default' ) {
-                       if ( $this->mDefaultBigSelects === null ) {
-                               # Function hasn't been called before so it must already be set to the default
-                               return;
-                       } else {
-                               $value = $this->mDefaultBigSelects;
-                       }
-               } elseif ( $this->mDefaultBigSelects === null ) {
-                       $this->mDefaultBigSelects = (bool)$this->selectField( false, '@@sql_big_selects' );
-               }
-               $encValue = $value ? '1' : '0';
-               $this->query( "SET sql_big_selects=$encValue", __METHOD__ );
-       }
-
-       /**
-        * DELETE where the condition is a join. MySql uses multi-table deletes.
-        * @param $delTable string
-        * @param $joinTable string
-        * @param $delVar string
-        * @param $joinVar string
-        * @param $conds array|string
-        * @param bool|string $fname bool
-        * @throws DBUnexpectedError
-        * @return bool|ResultWrapper
-        */
-       function deleteJoin( $delTable, $joinTable, $delVar, $joinVar, $conds, $fname = __METHOD__ ) {
-               if ( !$conds ) {
-                       throw new DBUnexpectedError( $this, 'DatabaseBase::deleteJoin() called with empty $conds' );
-               }
-
-               $delTable = $this->tableName( $delTable );
-               $joinTable = $this->tableName( $joinTable );
-               $sql = "DELETE $delTable FROM $delTable, $joinTable WHERE $delVar=$joinVar ";
-
-               if ( $conds != '*' ) {
-                       $sql .= ' AND ' . $this->makeList( $conds, LIST_AND );
-               }
-
-               return $this->query( $sql, $fname );
-       }
-
-       /**
-        * Determines how long the server has been up
-        *
-        * @return int
-        */
-       function getServerUptime() {
-               $vars = $this->getMysqlStatus( 'Uptime' );
-               return (int)$vars['Uptime'];
+       protected function mysqlFreeResult( $res ) {
+               return mysql_free_result( $res );
        }
 
-       /**
-        * Determines if the last failure was due to a deadlock
-        *
-        * @return bool
-        */
-       function wasDeadlock() {
-               return $this->lastErrno() == 1213;
+       protected function mysqlFetchObject( $res ) {
+               return mysql_fetch_object( $res );
        }
 
-       /**
-        * Determines if the last failure was due to a lock timeout
-        *
-        * @return bool
-        */
-       function wasLockTimeout() {
-               return $this->lastErrno() == 1205;
+       protected function mysqlFetchArray( $res ) {
+               return mysql_fetch_array( $res );
        }
 
-       /**
-        * Determines if the last query error was something that should be dealt
-        * with by pinging the connection and reissuing the query
-        *
-        * @return bool
-        */
-       function wasErrorReissuable() {
-               return $this->lastErrno() == 2013 || $this->lastErrno() == 2006;
+       protected function mysqlNumRows( $res ) {
+               return mysql_num_rows( $res );
        }
 
-       /**
-        * Determines if the last failure was due to the database being read-only.
-        *
-        * @return bool
-        */
-       function wasReadOnlyError() {
-               return $this->lastErrno() == 1223 ||
-                       ( $this->lastErrno() == 1290 && strpos( $this->lastError(), '--read-only' ) !== false );
-       }
-
-       /**
-        * @param $oldName
-        * @param $newName
-        * @param $temporary bool
-        * @param $fname string
-        */
-       function duplicateTableStructure( $oldName, $newName, $temporary = false, $fname = __METHOD__ ) {
-               $tmp = $temporary ? 'TEMPORARY ' : '';
-               $newName = $this->addIdentifierQuotes( $newName );
-               $oldName = $this->addIdentifierQuotes( $oldName );
-               $query = "CREATE $tmp TABLE $newName (LIKE $oldName)";
-               $this->query( $query, $fname );
-       }
-
-       /**
-        * List all tables on the database
-        *
-        * @param string $prefix Only show tables with this prefix, e.g. mw_
-        * @param string $fname calling function name
-        * @return array
-        */
-       function listTables( $prefix = null, $fname = __METHOD__ ) {
-               $result = $this->query( "SHOW TABLES", $fname );
-
-               $endArray = array();
-
-               foreach ( $result as $table ) {
-                       $vars = get_object_vars( $table );
-                       $table = array_pop( $vars );
-
-                       if ( !$prefix || strpos( $table, $prefix ) === 0 ) {
-                               $endArray[] = $table;
-                       }
-               }
-
-               return $endArray;
-       }
-
-       /**
-        * @param $tableName
-        * @param $fName string
-        * @return bool|ResultWrapper
-        */
-       public function dropTable( $tableName, $fName = __METHOD__ ) {
-               if ( !$this->tableExists( $tableName, $fName ) ) {
-                       return false;
-               }
-               return $this->query( "DROP TABLE IF EXISTS " . $this->tableName( $tableName ), $fName );
-       }
-
-       /**
-        * @return array
-        */
-       protected function getDefaultSchemaVars() {
-               $vars = parent::getDefaultSchemaVars();
-               $vars['wgDBTableOptions'] = str_replace( 'TYPE', 'ENGINE', $GLOBALS['wgDBTableOptions'] );
-               $vars['wgDBTableOptions'] = str_replace( 'CHARSET=mysql4', 'CHARSET=binary', $vars['wgDBTableOptions'] );
-               return $vars;
-       }
-
-       /**
-        * Get status information from SHOW STATUS in an associative array
-        *
-        * @param $which string
-        * @return array
-        */
-       function getMysqlStatus( $which = "%" ) {
-               $res = $this->query( "SHOW STATUS LIKE '{$which}'" );
-               $status = array();
-
-               foreach ( $res as $row ) {
-                       $status[$row->Variable_name] = $row->Value;
-               }
-
-               return $status;
-       }
-
-}
-
-/**
- * Utility class.
- * @ingroup Database
- */
-class MySQLField implements Field {
-       private $name, $tablename, $default, $max_length, $nullable,
-               $is_pk, $is_unique, $is_multiple, $is_key, $type;
-
-       function __construct( $info ) {
-               $this->name = $info->name;
-               $this->tablename = $info->table;
-               $this->default = $info->def;
-               $this->max_length = $info->max_length;
-               $this->nullable = !$info->not_null;
-               $this->is_pk = $info->primary_key;
-               $this->is_unique = $info->unique_key;
-               $this->is_multiple = $info->multiple_key;
-               $this->is_key = ( $this->is_pk || $this->is_unique || $this->is_multiple );
-               $this->type = $info->type;
-       }
-
-       /**
-        * @return string
-        */
-       function name() {
-               return $this->name;
-       }
-
-       /**
-        * @return string
-        */
-       function tableName() {
-               return $this->tableName;
-       }
-
-       /**
-        * @return string
-        */
-       function type() {
-               return $this->type;
+       protected function mysqlNumFields( $res ) {
+               return mysql_num_fields( $res );
        }
 
-       /**
-        * @return bool
-        */
-       function isNullable() {
-               return $this->nullable;
+       protected function mysqlFetchField( $res, $n ) {
+               return mysql_fetch_field( $res, $n );
        }
 
-       function defaultValue() {
-               return $this->default;
+       protected function mysqlFieldName( $res, $n ) {
+               return mysql_field_name( $res, $n );
        }
 
-       /**
-        * @return bool
-        */
-       function isKey() {
-               return $this->is_key;
+       protected function mysqlDataSeek( $res, $row ) {
+               return mysql_data_seek( $res, $row );
        }
 
-       /**
-        * @return bool
-        */
-       function isMultipleKey() {
-               return $this->is_multiple;
+       protected function mysqlError( $conn = null ) {
+               return ( $conn !== null ) ? mysql_error( $conn ) : mysql_error(); // avoid warning
        }
-}
-
-class MySQLMasterPos implements DBMasterPos {
-       var $file, $pos;
 
-       function __construct( $file, $pos ) {
-               $this->file = $file;
-               $this->pos = $pos;
+       protected function mysqlRealEscapeString( $s ) {
+               return mysql_real_escape_string( $s, $this->mConn );
        }
 
-       function __toString() {
-               return "{$this->file}/{$this->pos}";
+       protected function mysqlPing() {
+               return mysql_ping( $this->mConn );
        }
 }
diff --git a/includes/db/DatabaseMysqlBase.php b/includes/db/DatabaseMysqlBase.php
new file mode 100644 (file)
index 0000000..84930c8
--- /dev/null
@@ -0,0 +1,1073 @@
+<?php
+/**
+ * This is the MySQL database abstraction layer.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Database
+ */
+
+/**
+ * Database abstraction object for MySQL.
+ * Defines methods independent on used MySQL extension.
+ *
+ * @ingroup Database
+ * @since 1.22
+ * @see Database
+ */
+abstract class DatabaseMysqlBase extends DatabaseBase {
+
+       /**
+        * @return string
+        */
+       function getType() {
+               return 'mysql';
+       }
+
+       /**
+        * @param $server string
+        * @param $user string
+        * @param $password string
+        * @param $dbName string
+        * @return bool
+        * @throws DBConnectionError
+        */
+       function open( $server, $user, $password, $dbName ) {
+               global $wgAllDBsAreLocalhost, $wgDBmysql5, $wgSQLMode;
+               wfProfileIn( __METHOD__ );
+
+               # Debugging hack -- fake cluster
+               if ( $wgAllDBsAreLocalhost ) {
+                       $realServer = 'localhost';
+               } else {
+                       $realServer = $server;
+               }
+               $this->close();
+               $this->mServer = $server;
+               $this->mUser = $user;
+               $this->mPassword = $password;
+               $this->mDBname = $dbName;
+
+               wfProfileIn( "dbconnect-$server" );
+
+               # The kernel's default SYN retransmission period is far too slow for us,
+               # so we use a short timeout plus a manual retry. Retrying means that a small
+               # but finite rate of SYN packet loss won't cause user-visible errors.
+               $this->mConn = false;
+               $this->installErrorHandler();
+               try {
+                       $this->mConn = $this->mysqlConnect( $realServer );
+               } catch (Exception $ex) {
+                       wfProfileOut( "dbconnect-$server" );
+                       wfProfileOut( __METHOD__ );
+                       throw $ex;
+               }
+               $error = $this->restoreErrorHandler();
+
+               wfProfileOut( "dbconnect-$server" );
+
+               # Always log connection errors
+               if ( !$this->mConn ) {
+                       if ( !$error ) {
+                               $error = $this->lastError();
+                       }
+                       wfLogDBError( "Error connecting to {$this->mServer}: $error\n" );
+                       wfDebug( "DB connection error\n" .
+                               "Server: $server, User: $user, Password: " .
+                               substr( $password, 0, 3 ) . "..., error: " . $error . "\n" );
+
+                       wfProfileOut( __METHOD__ );
+                       return $this->reportConnectionError( $error );
+               }
+
+               if ( $dbName != '' ) {
+                       wfSuppressWarnings();
+                       $success = $this->selectDB( $dbName );
+                       wfRestoreWarnings();
+                       if ( !$success ) {
+                               wfLogDBError( "Error selecting database $dbName on server {$this->mServer}\n" );
+                               wfDebug( "Error selecting database $dbName on server {$this->mServer} " .
+                                       "from client host " . wfHostname() . "\n" );
+
+                               wfProfileOut( __METHOD__ );
+                               return $this->reportConnectionError( "Error selecting database $dbName" );
+                       }
+               }
+
+               // Tell the server we're communicating with it in UTF-8.
+               // This may engage various charset conversions.
+               if ( $wgDBmysql5 ) {
+                       $this->query( 'SET NAMES utf8', __METHOD__ );
+               } else {
+                       $this->query( 'SET NAMES binary', __METHOD__ );
+               }
+               // Set SQL mode, default is turning them all off, can be overridden or skipped with null
+               if ( is_string( $wgSQLMode ) ) {
+                       $mode = $this->addQuotes( $wgSQLMode );
+                       $this->query( "SET sql_mode = $mode", __METHOD__ );
+               }
+
+               $this->mOpened = true;
+               wfProfileOut( __METHOD__ );
+               return true;
+       }
+
+       /**
+        * Open a connection to a MySQL server
+        *
+        * @param $realServer string
+        * @return mixed Raw connection
+        * @throws DBConnectionError
+        */
+       abstract protected function mysqlConnect( $realServer );
+
+       /**
+        * @param $res ResultWrapper
+        * @throws DBUnexpectedError
+        */
+       function freeResult( $res ) {
+               if ( $res instanceof ResultWrapper ) {
+                       $res = $res->result;
+               }
+               wfSuppressWarnings();
+               $ok = $this->mysqlFreeResult( $res );
+               wfRestoreWarnings();
+               if ( !$ok ) {
+                       throw new DBUnexpectedError( $this, "Unable to free MySQL result" );
+               }
+       }
+
+       /**
+        * Free result memory
+        *
+        * @param $res Raw result
+        * @return bool
+        */
+       abstract protected function mysqlFreeResult( $res );
+
+       /**
+        * @param $res ResultWrapper
+        * @return object|bool
+        * @throws DBUnexpectedError
+        */
+       function fetchObject( $res ) {
+               if ( $res instanceof ResultWrapper ) {
+                       $res = $res->result;
+               }
+               wfSuppressWarnings();
+               $row = $this->mysqlFetchObject( $res );
+               wfRestoreWarnings();
+
+               $errno = $this->lastErrno();
+               // Unfortunately, mysql_fetch_object does not reset the last errno.
+               // Only check for CR_SERVER_LOST and CR_UNKNOWN_ERROR, as
+               // these are the only errors mysql_fetch_object can cause.
+               // See http://dev.mysql.com/doc/refman/5.0/en/mysql-fetch-row.html.
+               if ( $errno == 2000 || $errno == 2013 ) {
+                       throw new DBUnexpectedError( $this, 'Error in fetchObject(): ' . htmlspecialchars( $this->lastError() ) );
+               }
+               return $row;
+       }
+
+       /**
+        * Fetch a result row as an object
+        *
+        * @param $res Raw result
+        * @return stdClass
+        */
+       abstract protected function mysqlFetchObject( $res );
+
+       /**
+        * @param $res ResultWrapper
+        * @return array|bool
+        * @throws DBUnexpectedError
+        */
+       function fetchRow( $res ) {
+               if ( $res instanceof ResultWrapper ) {
+                       $res = $res->result;
+               }
+               wfSuppressWarnings();
+               $row = $this->mysqlFetchArray( $res );
+               wfRestoreWarnings();
+
+               $errno = $this->lastErrno();
+               // Unfortunately, mysql_fetch_array does not reset the last errno.
+               // Only check for CR_SERVER_LOST and CR_UNKNOWN_ERROR, as
+               // these are the only errors mysql_fetch_array can cause.
+               // See http://dev.mysql.com/doc/refman/5.0/en/mysql-fetch-row.html.
+               if ( $errno == 2000 || $errno == 2013 ) {
+                       throw new DBUnexpectedError( $this, 'Error in fetchRow(): ' . htmlspecialchars( $this->lastError() ) );
+               }
+               return $row;
+       }
+
+       /**
+        * Fetch a result row as an associative and numeric array
+        *
+        * @param $res Raw result
+        * @return array
+        */
+       abstract protected function mysqlFetchArray( $res );
+
+       /**
+        * @throws DBUnexpectedError
+        * @param $res ResultWrapper
+        * @return int
+        */
+       function numRows( $res ) {
+               if ( $res instanceof ResultWrapper ) {
+                       $res = $res->result;
+               }
+               wfSuppressWarnings();
+               $n = $this->mysqlNumRows( $res );
+               wfRestoreWarnings();
+               // Unfortunately, mysql_num_rows does not reset the last errno.
+               // We are not checking for any errors here, since
+               // these are no errors mysql_num_rows can cause.
+               // See http://dev.mysql.com/doc/refman/5.0/en/mysql-fetch-row.html.
+               // See https://bugzilla.wikimedia.org/42430
+               return $n;
+       }
+
+       /**
+        * Get number of rows in result
+        *
+        * @param $res Raw result
+        * @return int
+        */
+       abstract protected function mysqlNumRows( $res );
+
+       /**
+        * @param $res ResultWrapper
+        * @return int
+        */
+       function numFields( $res ) {
+               if ( $res instanceof ResultWrapper ) {
+                       $res = $res->result;
+               }
+               return $this->mysqlNumFields( $res );
+       }
+
+       /**
+        * Get number of fields in result
+        *
+        * @param $res Raw result
+        * @return int
+        */
+       abstract protected function mysqlNumFields( $res );
+
+       /**
+        * @param $res ResultWrapper
+        * @param $n string
+        * @return string
+        */
+       function fieldName( $res, $n ) {
+               if ( $res instanceof ResultWrapper ) {
+                       $res = $res->result;
+               }
+               return $this->mysqlFieldName( $res, $n );
+       }
+
+       /**
+        * Get the name of the specified field in a result
+        *
+        * @param $res Raw result
+        * @param $n int
+        * @return string
+        */
+       abstract protected function mysqlFieldName( $res, $n );
+
+       /**
+        * @param $res ResultWrapper
+        * @param $row
+        * @return bool
+        */
+       function dataSeek( $res, $row ) {
+               if ( $res instanceof ResultWrapper ) {
+                       $res = $res->result;
+               }
+               return $this->mysqlDataSeek( $res, $row );
+       }
+
+       /**
+        * Move internal result pointer
+        *
+        * @param $res Raw result
+        * @param $row int
+        * @return bool
+        */
+       abstract protected function mysqlDataSeek( $res, $row );
+
+       /**
+        * @return string
+        */
+       function lastError() {
+               if ( $this->mConn ) {
+                       # Even if it's non-zero, it can still be invalid
+                       wfSuppressWarnings();
+                       $error = $this->mysqlError( $this->mConn );
+                       if ( !$error ) {
+                               $error = $this->mysqlError();
+                       }
+                       wfRestoreWarnings();
+               } else {
+                       $error = $this->mysqlError();
+               }
+               if ( $error ) {
+                       $error .= ' (' . $this->mServer . ')';
+               }
+               return $error;
+       }
+
+       /**
+        * Returns the text of the error message from previous MySQL operation
+        *
+        * @param $conn Raw connection
+        * @return string
+        */
+       abstract protected function mysqlError( $conn = null );
+
+       /**
+        * @param $table string
+        * @param $uniqueIndexes
+        * @param $rows array
+        * @param $fname string
+        * @return ResultWrapper
+        */
+       function replace( $table, $uniqueIndexes, $rows, $fname = __METHOD__ ) {
+               return $this->nativeReplace( $table, $rows, $fname );
+       }
+
+       /**
+        * Estimate rows in dataset
+        * Returns estimated count, based on EXPLAIN output
+        * Takes same arguments as Database::select()
+        *
+        * @param $table string|array
+        * @param $vars string|array
+        * @param $conds string|array
+        * @param $fname string
+        * @param $options string|array
+        * @return int
+        */
+       public function estimateRowCount( $table, $vars = '*', $conds = '', $fname = __METHOD__, $options = array() ) {
+               $options['EXPLAIN'] = true;
+               $res = $this->select( $table, $vars, $conds, $fname, $options );
+               if ( $res === false ) {
+                       return false;
+               }
+               if ( !$this->numRows( $res ) ) {
+                       return 0;
+               }
+
+               $rows = 1;
+               foreach ( $res as $plan ) {
+                       $rows *= $plan->rows > 0 ? $plan->rows : 1; // avoid resetting to zero
+               }
+               return $rows;
+       }
+
+       /**
+        * @param $table string
+        * @param $field string
+        * @return bool|MySQLField
+        */
+       function fieldInfo( $table, $field ) {
+               $table = $this->tableName( $table );
+               $res = $this->query( "SELECT * FROM $table LIMIT 1", __METHOD__, true );
+               if ( !$res ) {
+                       return false;
+               }
+               $n = $this->mysqlNumFields( $res->result );
+               for ( $i = 0; $i < $n; $i++ ) {
+                       $meta = $this->mysqlFetchField( $res->result, $i );
+                       if ( $field == $meta->name ) {
+                               return new MySQLField( $meta );
+                       }
+               }
+               return false;
+       }
+
+       /**
+        * Get column information from a result
+        *
+        * @param $res Raw result
+        * @param $n int
+        * @return stdClass
+        */
+       abstract protected function mysqlFetchField( $res, $n );
+
+       /**
+        * Get information about an index into an object
+        * Returns false if the index does not exist
+        *
+        * @param $table string
+        * @param $index string
+        * @param $fname string
+        * @return bool|array|null False or null on failure
+        */
+       function indexInfo( $table, $index, $fname = __METHOD__ ) {
+               # SHOW INDEX works in MySQL 3.23.58, but SHOW INDEXES does not.
+               # SHOW INDEX should work for 3.x and up:
+               # http://dev.mysql.com/doc/mysql/en/SHOW_INDEX.html
+               $table = $this->tableName( $table );
+               $index = $this->indexName( $index );
+
+               $sql = 'SHOW INDEX FROM ' . $table;
+               $res = $this->query( $sql, $fname );
+
+               if ( !$res ) {
+                       return null;
+               }
+
+               $result = array();
+
+               foreach ( $res as $row ) {
+                       if ( $row->Key_name == $index ) {
+                               $result[] = $row;
+                       }
+               }
+               return empty( $result ) ? false : $result;
+       }
+
+       /**
+        * @param $s string
+        *
+        * @return string
+        */
+       function strencode( $s ) {
+               $sQuoted = $this->mysqlRealEscapeString( $s );
+
+               if ( $sQuoted === false ) {
+                       $this->ping();
+                       $sQuoted = $this->mysqlRealEscapeString( $s );
+               }
+               return $sQuoted;
+       }
+
+       /**
+        * MySQL uses `backticks` for identifier quoting instead of the sql standard "double quotes".
+        *
+        * @param $s string
+        *
+        * @return string
+        */
+       public function addIdentifierQuotes( $s ) {
+               return "`" . $this->strencode( $s ) . "`";
+       }
+
+       /**
+        * @param $name string
+        * @return bool
+        */
+       public function isQuotedIdentifier( $name ) {
+               return strlen( $name ) && $name[0] == '`' && substr( $name, -1, 1 ) == '`';
+       }
+
+       /**
+        * @return bool
+        */
+       function ping() {
+               $ping = $this->mysqlPing();
+               if ( $ping ) {
+                       return true;
+               }
+
+               $this->closeConnection();
+               $this->mOpened = false;
+               $this->mConn = false;
+               $this->open( $this->mServer, $this->mUser, $this->mPassword, $this->mDBname );
+               return true;
+       }
+
+       /**
+        * Ping a server connection or reconnect if there is no connection
+        *
+        * @return bool
+        */
+       abstract protected function mysqlPing();
+
+       /**
+        * Returns slave lag.
+        *
+        * This will do a SHOW SLAVE STATUS
+        *
+        * @return int
+        */
+       function getLag() {
+               if ( !is_null( $this->mFakeSlaveLag ) ) {
+                       wfDebug( "getLag: fake slave lagged {$this->mFakeSlaveLag} seconds\n" );
+                       return $this->mFakeSlaveLag;
+               }
+
+               return $this->getLagFromSlaveStatus();
+       }
+
+       /**
+        * @return bool|int
+        */
+       function getLagFromSlaveStatus() {
+               $res = $this->query( 'SHOW SLAVE STATUS', __METHOD__ );
+               if ( !$res ) {
+                       return false;
+               }
+               $row = $res->fetchObject();
+               if ( !$row ) {
+                       return false;
+               }
+               if ( strval( $row->Seconds_Behind_Master ) === '' ) {
+                       return false;
+               } else {
+                       return intval( $row->Seconds_Behind_Master );
+               }
+       }
+
+       /**
+        * @deprecated in 1.19, use getLagFromSlaveStatus
+        *
+        * @return bool|int
+        */
+       function getLagFromProcesslist() {
+               wfDeprecated( __METHOD__, '1.19' );
+               $res = $this->query( 'SHOW PROCESSLIST', __METHOD__ );
+               if ( !$res ) {
+                       return false;
+               }
+               # Find slave SQL thread
+               foreach ( $res as $row ) {
+                       /* This should work for most situations - when default db
+                        * for thread is not specified, it had no events executed,
+                        * and therefore it doesn't know yet how lagged it is.
+                        *
+                        * Relay log I/O thread does not select databases.
+                        */
+                       if ( $row->User == 'system user' &&
+                               $row->State != 'Waiting for master to send event' &&
+                               $row->State != 'Connecting to master' &&
+                               $row->State != 'Queueing master event to the relay log' &&
+                               $row->State != 'Waiting for master update' &&
+                               $row->State != 'Requesting binlog dump' &&
+                               $row->State != 'Waiting to reconnect after a failed master event read' &&
+                               $row->State != 'Reconnecting after a failed master event read' &&
+                               $row->State != 'Registering slave on master'
+                               ) {
+                               # This is it, return the time (except -ve)
+                               if ( $row->Time > 0x7fffffff ) {
+                                       return false;
+                               } else {
+                                       return $row->Time;
+                               }
+                       }
+               }
+               return false;
+       }
+
+       /**
+        * Wait for the slave to catch up to a given master position.
+        *
+        * @param $pos DBMasterPos object
+        * @param $timeout Integer: the maximum number of seconds to wait for synchronisation
+        * @return bool|string
+        */
+       function masterPosWait( DBMasterPos $pos, $timeout ) {
+               $fname = __METHOD__;
+               wfProfileIn( $fname );
+
+               # Commit any open transactions
+               if ( $this->mTrxLevel ) {
+                       $this->commit( $fname );
+               }
+
+               if ( !is_null( $this->mFakeSlaveLag ) ) {
+                       $status = parent::masterPosWait( $pos, $timeout );
+                       wfProfileOut( $fname );
+                       return $status;
+               }
+
+               # Call doQuery() directly, to avoid opening a transaction if DBO_TRX is set
+               $encFile = $this->addQuotes( $pos->file );
+               $encPos = intval( $pos->pos );
+               $sql = "SELECT MASTER_POS_WAIT($encFile, $encPos, $timeout)";
+               $res = $this->doQuery( $sql );
+
+               if ( $res && $row = $this->fetchRow( $res ) ) {
+                       wfProfileOut( $fname );
+                       return $row[0];
+               }
+               wfProfileOut( $fname );
+               return false;
+       }
+
+       /**
+        * Get the position of the master from SHOW SLAVE STATUS
+        *
+        * @return MySQLMasterPos|bool
+        */
+       function getSlavePos() {
+               if ( !is_null( $this->mFakeSlaveLag ) ) {
+                       return parent::getSlavePos();
+               }
+
+               $res = $this->query( 'SHOW SLAVE STATUS', 'DatabaseBase::getSlavePos' );
+               $row = $this->fetchObject( $res );
+
+               if ( $row ) {
+                       $pos = isset( $row->Exec_master_log_pos ) ? $row->Exec_master_log_pos : $row->Exec_Master_Log_Pos;
+                       return new MySQLMasterPos( $row->Relay_Master_Log_File, $pos );
+               } else {
+                       return false;
+               }
+       }
+
+       /**
+        * Get the position of the master from SHOW MASTER STATUS
+        *
+        * @return MySQLMasterPos|bool
+        */
+       function getMasterPos() {
+               if ( $this->mFakeMaster ) {
+                       return parent::getMasterPos();
+               }
+
+               $res = $this->query( 'SHOW MASTER STATUS', 'DatabaseBase::getMasterPos' );
+               $row = $this->fetchObject( $res );
+
+               if ( $row ) {
+                       return new MySQLMasterPos( $row->File, $row->Position );
+               } else {
+                       return false;
+               }
+       }
+
+       /**
+        * @param $index
+        * @return string
+        */
+       function useIndexClause( $index ) {
+               return "FORCE INDEX (" . $this->indexName( $index ) . ")";
+       }
+
+       /**
+        * @return string
+        */
+       function lowPriorityOption() {
+               return 'LOW_PRIORITY';
+       }
+
+       /**
+        * @return string
+        */
+       public function getSoftwareLink() {
+               return '[http://www.mysql.com/ MySQL]';
+       }
+
+       /**
+        * @param $options array
+        */
+       public function setSessionOptions( array $options ) {
+               if ( isset( $options['connTimeout'] ) ) {
+                       $timeout = (int)$options['connTimeout'];
+                       $this->query( "SET net_read_timeout=$timeout" );
+                       $this->query( "SET net_write_timeout=$timeout" );
+               }
+       }
+
+       public function streamStatementEnd( &$sql, &$newLine ) {
+               if ( strtoupper( substr( $newLine, 0, 9 ) ) == 'DELIMITER' ) {
+                       preg_match( '/^DELIMITER\s+(\S+)/', $newLine, $m );
+                       $this->delimiter = $m[1];
+                       $newLine = '';
+               }
+               return parent::streamStatementEnd( $sql, $newLine );
+       }
+
+       /**
+        * Check to see if a named lock is available. This is non-blocking.
+        *
+        * @param string $lockName name of lock to poll
+        * @param string $method name of method calling us
+        * @return Boolean
+        * @since 1.20
+        */
+       public function lockIsFree( $lockName, $method ) {
+               $lockName = $this->addQuotes( $lockName );
+               $result = $this->query( "SELECT IS_FREE_LOCK($lockName) AS lockstatus", $method );
+               $row = $this->fetchObject( $result );
+               return ( $row->lockstatus == 1 );
+       }
+
+       /**
+        * @param $lockName string
+        * @param $method string
+        * @param $timeout int
+        * @return bool
+        */
+       public function lock( $lockName, $method, $timeout = 5 ) {
+               $lockName = $this->addQuotes( $lockName );
+               $result = $this->query( "SELECT GET_LOCK($lockName, $timeout) AS lockstatus", $method );
+               $row = $this->fetchObject( $result );
+
+               if ( $row->lockstatus == 1 ) {
+                       return true;
+               } else {
+                       wfDebug( __METHOD__ . " failed to acquire lock\n" );
+                       return false;
+               }
+       }
+
+       /**
+        * FROM MYSQL DOCS: http://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html#function_release-lock
+        * @param $lockName string
+        * @param $method string
+        * @return bool
+        */
+       public function unlock( $lockName, $method ) {
+               $lockName = $this->addQuotes( $lockName );
+               $result = $this->query( "SELECT RELEASE_LOCK($lockName) as lockstatus", $method );
+               $row = $this->fetchObject( $result );
+               return ( $row->lockstatus == 1 );
+       }
+
+       /**
+        * @param $read array
+        * @param $write array
+        * @param $method string
+        * @param $lowPriority bool
+        * @return bool
+        */
+       public function lockTables( $read, $write, $method, $lowPriority = true ) {
+               $items = array();
+
+               foreach ( $write as $table ) {
+                       $tbl = $this->tableName( $table ) .
+                                       ( $lowPriority ? ' LOW_PRIORITY' : '' ) .
+                                       ' WRITE';
+                       $items[] = $tbl;
+               }
+               foreach ( $read as $table ) {
+                       $items[] = $this->tableName( $table ) . ' READ';
+               }
+               $sql = "LOCK TABLES " . implode( ',', $items );
+               $this->query( $sql, $method );
+               return true;
+       }
+
+       /**
+        * @param $method string
+        * @return bool
+        */
+       public function unlockTables( $method ) {
+               $this->query( "UNLOCK TABLES", $method );
+               return true;
+       }
+
+       /**
+        * Get search engine class. All subclasses of this
+        * need to implement this if they wish to use searching.
+        *
+        * @return String
+        */
+       public function getSearchEngine() {
+               return 'SearchMySQL';
+       }
+
+       /**
+        * @param bool $value
+        * @return mixed
+        */
+       public function setBigSelects( $value = true ) {
+               if ( $value === 'default' ) {
+                       if ( $this->mDefaultBigSelects === null ) {
+                               # Function hasn't been called before so it must already be set to the default
+                               return;
+                       } else {
+                               $value = $this->mDefaultBigSelects;
+                       }
+               } elseif ( $this->mDefaultBigSelects === null ) {
+                       $this->mDefaultBigSelects = (bool)$this->selectField( false, '@@sql_big_selects' );
+               }
+               $encValue = $value ? '1' : '0';
+               $this->query( "SET sql_big_selects=$encValue", __METHOD__ );
+       }
+
+       /**
+        * DELETE where the condition is a join. MySql uses multi-table deletes.
+        * @param $delTable string
+        * @param $joinTable string
+        * @param $delVar string
+        * @param $joinVar string
+        * @param $conds array|string
+        * @param bool|string $fname bool
+        * @throws DBUnexpectedError
+        * @return bool|ResultWrapper
+        */
+       function deleteJoin( $delTable, $joinTable, $delVar, $joinVar, $conds, $fname = __METHOD__ ) {
+               if ( !$conds ) {
+                       throw new DBUnexpectedError( $this, 'DatabaseBase::deleteJoin() called with empty $conds' );
+               }
+
+               $delTable = $this->tableName( $delTable );
+               $joinTable = $this->tableName( $joinTable );
+               $sql = "DELETE $delTable FROM $delTable, $joinTable WHERE $delVar=$joinVar ";
+
+               if ( $conds != '*' ) {
+                       $sql .= ' AND ' . $this->makeList( $conds, LIST_AND );
+               }
+
+               return $this->query( $sql, $fname );
+       }
+
+       /**
+        * @param string $table
+        * @param array $rows
+        * @param array $uniqueIndexes
+        * @param array $set
+        * @param string $fname
+        * @param array $options
+        * @return bool
+        */
+       public function upsert(
+               $table, array $rows, array $uniqueIndexes, array $set, $fname = __METHOD__
+       ) {
+               if ( !count( $rows ) ) {
+                       return true; // nothing to do
+               }
+               $rows = is_array( reset( $rows ) ) ? $rows : array( $rows );
+
+               $table = $this->tableName( $table );
+               $columns = array_keys( $rows[0] );
+
+               $sql = "INSERT INTO $table (" . implode( ',', $columns ) . ') VALUES ';
+               $rowTuples = array();
+               foreach ( $rows as $row ) {
+                       $rowTuples[] = '(' . $this->makeList( $row ) . ')';
+               }
+               $sql .= implode( ',', $rowTuples );
+               $sql .= " ON DUPLICATE KEY UPDATE " . $this->makeList( $set, LIST_SET );
+
+               return (bool)$this->query( $sql, $fname );
+       }
+
+       /**
+        * Determines how long the server has been up
+        *
+        * @return int
+        */
+       function getServerUptime() {
+               $vars = $this->getMysqlStatus( 'Uptime' );
+               return (int)$vars['Uptime'];
+       }
+
+       /**
+        * Determines if the last failure was due to a deadlock
+        *
+        * @return bool
+        */
+       function wasDeadlock() {
+               return $this->lastErrno() == 1213;
+       }
+
+       /**
+        * Determines if the last failure was due to a lock timeout
+        *
+        * @return bool
+        */
+       function wasLockTimeout() {
+               return $this->lastErrno() == 1205;
+       }
+
+       /**
+        * Determines if the last query error was something that should be dealt
+        * with by pinging the connection and reissuing the query
+        *
+        * @return bool
+        */
+       function wasErrorReissuable() {
+               return $this->lastErrno() == 2013 || $this->lastErrno() == 2006;
+       }
+
+       /**
+        * Determines if the last failure was due to the database being read-only.
+        *
+        * @return bool
+        */
+       function wasReadOnlyError() {
+               return $this->lastErrno() == 1223 ||
+                       ( $this->lastErrno() == 1290 && strpos( $this->lastError(), '--read-only' ) !== false );
+       }
+
+       /**
+        * @param $oldName
+        * @param $newName
+        * @param $temporary bool
+        * @param $fname string
+        */
+       function duplicateTableStructure( $oldName, $newName, $temporary = false, $fname = __METHOD__ ) {
+               $tmp = $temporary ? 'TEMPORARY ' : '';
+               $newName = $this->addIdentifierQuotes( $newName );
+               $oldName = $this->addIdentifierQuotes( $oldName );
+               $query = "CREATE $tmp TABLE $newName (LIKE $oldName)";
+               $this->query( $query, $fname );
+       }
+
+       /**
+        * List all tables on the database
+        *
+        * @param string $prefix Only show tables with this prefix, e.g. mw_
+        * @param string $fname calling function name
+        * @return array
+        */
+       function listTables( $prefix = null, $fname = __METHOD__ ) {
+               $result = $this->query( "SHOW TABLES", $fname );
+
+               $endArray = array();
+
+               foreach ( $result as $table ) {
+                       $vars = get_object_vars( $table );
+                       $table = array_pop( $vars );
+
+                       if ( !$prefix || strpos( $table, $prefix ) === 0 ) {
+                               $endArray[] = $table;
+                       }
+               }
+
+               return $endArray;
+       }
+
+       /**
+        * @param $tableName
+        * @param $fName string
+        * @return bool|ResultWrapper
+        */
+       public function dropTable( $tableName, $fName = __METHOD__ ) {
+               if ( !$this->tableExists( $tableName, $fName ) ) {
+                       return false;
+               }
+               return $this->query( "DROP TABLE IF EXISTS " . $this->tableName( $tableName ), $fName );
+       }
+
+       /**
+        * @return array
+        */
+       protected function getDefaultSchemaVars() {
+               $vars = parent::getDefaultSchemaVars();
+               $vars['wgDBTableOptions'] = str_replace( 'TYPE', 'ENGINE', $GLOBALS['wgDBTableOptions'] );
+               $vars['wgDBTableOptions'] = str_replace( 'CHARSET=mysql4', 'CHARSET=binary', $vars['wgDBTableOptions'] );
+               return $vars;
+       }
+
+       /**
+        * Get status information from SHOW STATUS in an associative array
+        *
+        * @param $which string
+        * @return array
+        */
+       function getMysqlStatus( $which = "%" ) {
+               $res = $this->query( "SHOW STATUS LIKE '{$which}'" );
+               $status = array();
+
+               foreach ( $res as $row ) {
+                       $status[$row->Variable_name] = $row->Value;
+               }
+
+               return $status;
+       }
+
+}
+
+
+
+/**
+ * Utility class.
+ * @ingroup Database
+ */
+class MySQLField implements Field {
+       private $name, $tablename, $default, $max_length, $nullable,
+               $is_pk, $is_unique, $is_multiple, $is_key, $type;
+
+       function __construct( $info ) {
+               $this->name = $info->name;
+               $this->tablename = $info->table;
+               $this->default = $info->def;
+               $this->max_length = $info->max_length;
+               $this->nullable = !$info->not_null;
+               $this->is_pk = $info->primary_key;
+               $this->is_unique = $info->unique_key;
+               $this->is_multiple = $info->multiple_key;
+               $this->is_key = ( $this->is_pk || $this->is_unique || $this->is_multiple );
+               $this->type = $info->type;
+       }
+
+       /**
+        * @return string
+        */
+       function name() {
+               return $this->name;
+       }
+
+       /**
+        * @return string
+        */
+       function tableName() {
+               return $this->tableName;
+       }
+
+       /**
+        * @return string
+        */
+       function type() {
+               return $this->type;
+       }
+
+       /**
+        * @return bool
+        */
+       function isNullable() {
+               return $this->nullable;
+       }
+
+       function defaultValue() {
+               return $this->default;
+       }
+
+       /**
+        * @return bool
+        */
+       function isKey() {
+               return $this->is_key;
+       }
+
+       /**
+        * @return bool
+        */
+       function isMultipleKey() {
+               return $this->is_multiple;
+       }
+}
+
+class MySQLMasterPos implements DBMasterPos {
+       var $file, $pos;
+
+       function __construct( $file, $pos ) {
+               $this->file = $file;
+               $this->pos = $pos;
+       }
+
+       function __toString() {
+               return "{$this->file}/{$this->pos}";
+       }
+}
index ec9a62a..e2cfa98 100644 (file)
@@ -310,7 +310,7 @@ class MWDebug {
                global $wgDebugComments, $wgShowDebug;
 
                if ( self::$enabled || $wgDebugComments || $wgShowDebug ) {
-                       self::$debug[] = rtrim( $str );
+                       self::$debug[] = rtrim( UtfNormal::cleanUp( $str ) );
                }
        }
 
index 7d0dbd5..0ebe696 100644 (file)
@@ -98,7 +98,7 @@ class FSFile {
         * Get an associative array containing information about
         * a file with the given storage path.
         *
-        * @param $ext Mixed: the file extension, or true to extract it from the filename.
+        * @param Mixed $ext: the file extension, or true to extract it from the filename.
         *             Set it to false to ignore the extension.
         *
         * @return array
@@ -171,7 +171,7 @@ class FSFile {
        /**
         * Exract image size information
         *
-        * @param $gis array
+        * @param array $gis
         * @return Array
         */
        protected function extractImageSizeInfo( array $gis ) {
@@ -194,7 +194,7 @@ class FSFile {
         * 160 log 2 / log 36 = 30.95, so the 160-bit hash fills 31 digits in base 36
         * fairly neatly.
         *
-        * @param $recache bool
+        * @param bool $recache
         * @return bool|string False on failure
         */
        public function getSha1Base36( $recache = false ) {
@@ -220,7 +220,7 @@ class FSFile {
        /**
         * Get the final file extension from a file system path
         *
-        * @param $path string
+        * @param string $path
         * @return string
         */
        public static function extensionFromPath( $path ) {
@@ -232,7 +232,7 @@ class FSFile {
         * Get an associative array containing information about a file in the local filesystem.
         *
         * @param string $path absolute local filesystem path
-        * @param $ext Mixed: the file extension, or true to extract it from the filename.
+        * @param Mixed $ext: the file extension, or true to extract it from the filename.
         *             Set it to false to ignore the extension.
         *
         * @return array
@@ -249,8 +249,8 @@ class FSFile {
         * 160 log 2 / log 36 = 30.95, so the 160-bit hash fills 31 digits in base 36
         * fairly neatly.
         *
-        * @param $path string
-        * @param $recache bool
+        * @param string $path
+        * @param bool $recache
         *
         * @return bool|string False on failure
         */
index 11a5ac9..dfc5192 100644 (file)
@@ -82,12 +82,6 @@ class FSFileBackend extends FileBackendStore {
                }
        }
 
-       /**
-        * @see FileBackendStore::resolveContainerPath()
-        * @param $container string
-        * @param $relStoragePath string
-        * @return null|string
-        */
        protected function resolveContainerPath( $container, $relStoragePath ) {
                // Check that container has a root directory
                if ( isset( $this->containerPaths[$container] ) || isset( $this->basePath ) ) {
@@ -121,8 +115,8 @@ class FSFileBackend extends FileBackendStore {
         * Given the short (unresolved) and full (resolved) name of
         * a container, return the file system path of the container.
         *
-        * @param $shortCont string
-        * @param $fullCont string
+        * @param string $shortCont
+        * @param string $fullCont
         * @return string|null
         */
        protected function containerFSRoot( $shortCont, $fullCont ) {
@@ -153,10 +147,6 @@ class FSFileBackend extends FileBackendStore {
                return $fsPath;
        }
 
-       /**
-        * @see FileBackendStore::isPathUsableInternal()
-        * @return bool
-        */
        public function isPathUsableInternal( $storagePath ) {
                $fsPath = $this->resolveToFSPath( $storagePath );
                if ( $fsPath === null ) {
@@ -178,10 +168,6 @@ class FSFileBackend extends FileBackendStore {
                return $ok;
        }
 
-       /**
-        * @see FileBackendStore::doCreateInternal()
-        * @return Status
-        */
        protected function doCreateInternal( array $params ) {
                $status = Status::newGood();
 
@@ -235,10 +221,6 @@ class FSFileBackend extends FileBackendStore {
                }
        }
 
-       /**
-        * @see FileBackendStore::doStoreInternal()
-        * @return Status
-        */
        protected function doStoreInternal( array $params ) {
                $status = Status::newGood();
 
@@ -284,10 +266,6 @@ class FSFileBackend extends FileBackendStore {
                }
        }
 
-       /**
-        * @see FileBackendStore::doCopyInternal()
-        * @return Status
-        */
        protected function doCopyInternal( array $params ) {
                $status = Status::newGood();
 
@@ -348,10 +326,6 @@ class FSFileBackend extends FileBackendStore {
                }
        }
 
-       /**
-        * @see FileBackendStore::doMoveInternal()
-        * @return Status
-        */
        protected function doMoveInternal( array $params ) {
                $status = Status::newGood();
 
@@ -405,10 +379,6 @@ class FSFileBackend extends FileBackendStore {
                }
        }
 
-       /**
-        * @see FileBackendStore::doDeleteInternal()
-        * @return Status
-        */
        protected function doDeleteInternal( array $params ) {
                $status = Status::newGood();
 
@@ -454,10 +424,6 @@ class FSFileBackend extends FileBackendStore {
                }
        }
 
-       /**
-        * @see FileBackendStore::doPrepareInternal()
-        * @return Status
-        */
        protected function doPrepareInternal( $fullCont, $dirRel, array $params ) {
                $status = Status::newGood();
                list( , $shortCont, ) = FileBackend::splitStoragePath( $params['dir'] );
@@ -481,10 +447,6 @@ class FSFileBackend extends FileBackendStore {
                return $status;
        }
 
-       /**
-        * @see FileBackendStore::doSecureInternal()
-        * @return Status
-        */
        protected function doSecureInternal( $fullCont, $dirRel, array $params ) {
                $status = Status::newGood();
                list( , $shortCont, ) = FileBackend::splitStoragePath( $params['dir'] );
@@ -512,10 +474,6 @@ class FSFileBackend extends FileBackendStore {
                return $status;
        }
 
-       /**
-        * @see FileBackendStore::doPublishInternal()
-        * @return Status
-        */
        protected function doPublishInternal( $fullCont, $dirRel, array $params ) {
                $status = Status::newGood();
                list( , $shortCont, ) = FileBackend::splitStoragePath( $params['dir'] );
@@ -543,10 +501,6 @@ class FSFileBackend extends FileBackendStore {
                return $status;
        }
 
-       /**
-        * @see FileBackendStore::doCleanInternal()
-        * @return Status
-        */
        protected function doCleanInternal( $fullCont, $dirRel, array $params ) {
                $status = Status::newGood();
                list( , $shortCont, ) = FileBackend::splitStoragePath( $params['dir'] );
@@ -560,10 +514,6 @@ class FSFileBackend extends FileBackendStore {
                return $status;
        }
 
-       /**
-        * @see FileBackendStore::doFileExists()
-        * @return array|bool|null
-        */
        protected function doGetFileStat( array $params ) {
                $source = $this->resolveToFSPath( $params['src'] );
                if ( $source === null ) {
@@ -593,10 +543,6 @@ class FSFileBackend extends FileBackendStore {
                clearstatcache(); // clear the PHP file stat cache
        }
 
-       /**
-        * @see FileBackendStore::doDirectoryExists()
-        * @return bool|null
-        */
        protected function doDirectoryExists( $fullCont, $dirRel, array $params ) {
                list( , $shortCont, ) = FileBackend::splitStoragePath( $params['dir'] );
                $contRoot = $this->containerFSRoot( $shortCont, $fullCont ); // must be valid
@@ -647,10 +593,6 @@ class FSFileBackend extends FileBackendStore {
                return new FSFileBackendFileList( $dir, $params );
        }
 
-       /**
-        * @see FileBackendStore::doGetLocalReferenceMulti()
-        * @return Array
-        */
        protected function doGetLocalReferenceMulti( array $params ) {
                $fsFiles = array(); // (path => FSFile)
 
@@ -666,10 +608,6 @@ class FSFileBackend extends FileBackendStore {
                return $fsFiles;
        }
 
-       /**
-        * @see FileBackendStore::doGetLocalCopyMulti()
-        * @return Array
-        */
        protected function doGetLocalCopyMulti( array $params ) {
                $tmpFiles = array(); // (path => TempFSFile)
 
@@ -702,18 +640,10 @@ class FSFileBackend extends FileBackendStore {
                return $tmpFiles;
        }
 
-       /**
-        * @see FileBackendStore::directoriesAreVirtual()
-        * @return bool
-        */
        protected function directoriesAreVirtual() {
                return false;
        }
 
-       /**
-        * @see FileBackendStore::doExecuteOpHandlesInternal()
-        * @return Array List of corresponding Status objects
-        */
        protected function doExecuteOpHandlesInternal( array $fileOpHandles ) {
                $statuses = array();
 
@@ -807,8 +737,8 @@ class FSFileBackend extends FileBackendStore {
        }
 
        /**
-        * @param $errno integer
-        * @param $errstr string
+        * @param integer $errno
+        * @param string $errstr
         * @return bool
         * @access private
         */
@@ -827,13 +757,15 @@ class FSFileOpHandle extends FileBackendStoreOpHandle {
        public $chmodPath; // string; file to chmod
 
        /**
-        * @param $backend
-        * @param $params array
-        * @param $call
-        * @param $cmd
-        * @param $chmodPath null
+        * @param FSFileBackend $backend
+        * @param array $params
+        * @param string $call
+        * @param string $cmd
+        * @param integer|null $chmodPath
         */
-       public function __construct( $backend, array $params, $call, $cmd, $chmodPath = null ) {
+       public function __construct(
+               FSFileBackend $backend, array $params, $call, $cmd, $chmodPath = null
+       ) {
                $this->backend = $backend;
                $this->params = $params;
                $this->call = $call;
@@ -859,7 +791,7 @@ abstract class FSFileBackendList implements Iterator {
 
        /**
         * @param string $dir file system directory
-        * @param $params array
+        * @param array $params
         */
        public function __construct( $dir, array $params ) {
                $path = realpath( $dir ); // normalize
@@ -959,7 +891,7 @@ abstract class FSFileBackendList implements Iterator {
         * Return only the relative path and normalize slashes to FileBackend-style.
         * Uses the "real path" since the suffix is based upon that.
         *
-        * @param $path string
+        * @param string $path
         * @return string
         */
        protected function getRelPath( $dir ) {
index ab30d30..29af88d 100644 (file)
@@ -94,7 +94,7 @@ abstract class FileBackend {
         *                   Allowed values are "implicit", "explicit" and "off".
         *   - concurrency : How many file operations can be done in parallel.
         *
-        * @param $config Array
+        * @param array $config
         * @throws MWException
         */
        public function __construct( array $config ) {
@@ -1043,7 +1043,7 @@ abstract class FileBackend {
         *
         * Storage backends with eventual consistency might return stale data.
         *
-        * @param $params array
+        * @param array $params
         * $params include:
         *   - dir : storage directory
         * @return bool|null Returns null on failure
@@ -1061,7 +1061,7 @@ abstract class FileBackend {
         *
         * Storage backends with eventual consistency might return stale data.
         *
-        * @param $params array
+        * @param array $params
         * $params include:
         *   - dir     : storage directory
         *   - topOnly : only return direct child dirs of the directory
@@ -1076,7 +1076,7 @@ abstract class FileBackend {
         *
         * Storage backends with eventual consistency might return stale data.
         *
-        * @param $params array
+        * @param array $params
         * $params include:
         *   - dir : storage directory
         * @return Traversable|Array|null Returns null on failure
@@ -1096,7 +1096,7 @@ abstract class FileBackend {
         *
         * Storage backends with eventual consistency might return stale data.
         *
-        * @param $params array
+        * @param array $params
         * $params include:
         *   - dir        : storage directory
         *   - topOnly    : only return direct child files of the directory (since 1.20)
@@ -1111,7 +1111,7 @@ abstract class FileBackend {
         *
         * Storage backends with eventual consistency might return stale data.
         *
-        * @param $params array
+        * @param array $params
         * $params include:
         *   - dir        : storage directory
         *   - adviseStat : set to true if stat requests will be made on the files (since 1.22)
@@ -1147,7 +1147,7 @@ abstract class FileBackend {
         * Callers should consider using getScopedFileLocks() instead.
         *
         * @param array $paths Storage paths
-        * @param $type integer LockManager::LOCK_* constant
+        * @param integer $type LockManager::LOCK_* constant
         * @return Status
         */
        final public function lockFiles( array $paths, $type ) {
@@ -1158,7 +1158,7 @@ abstract class FileBackend {
         * Unlock the files at the given storage paths in the backend.
         *
         * @param array $paths Storage paths
-        * @param $type integer LockManager::LOCK_* constant
+        * @param integer $type LockManager::LOCK_* constant
         * @return Status
         */
        final public function unlockFiles( array $paths, $type ) {
@@ -1174,8 +1174,8 @@ abstract class FileBackend {
         * the status updated. Unlock fatals will not change the status "OK" value.
         *
         * @param array $paths Storage paths
-        * @param $type integer LockManager::LOCK_* constant
-        * @param $status Status Status to update on lock/unlock
+        * @param integer $type LockManager::LOCK_* constant
+        * @param Status $status Status to update on lock/unlock
         * @return ScopedLock|null Returns null on failure
         */
        final public function getScopedFileLocks( array $paths, $type, Status $status ) {
@@ -1194,7 +1194,7 @@ abstract class FileBackend {
         * @see FileBackend::doOperations()
         *
         * @param array $ops List of file operations to FileBackend::doOperations()
-        * @param $status Status Status to update on lock/unlock
+        * @param Status $status Status to update on lock/unlock
         * @return Array List of ScopedFileLocks or null values
         * @since 1.20
         */
@@ -1235,7 +1235,7 @@ abstract class FileBackend {
         * Check if a given path is a "mwstore://" path.
         * This does not do any further validation or any existence checks.
         *
-        * @param $path string
+        * @param string $path
         * @return bool
         */
        final public static function isStoragePath( $path ) {
@@ -1247,7 +1247,7 @@ abstract class FileBackend {
         * and a relative file path. The relative path may be the empty string.
         * This does not do any path normalization or traversal checks.
         *
-        * @param $storagePath string
+        * @param string $storagePath
         * @return Array (backend, container, rel object) or (null, null, null)
         */
        final public static function splitStoragePath( $storagePath ) {
@@ -1269,7 +1269,7 @@ abstract class FileBackend {
         * Normalize a storage path by cleaning up directory separators.
         * Returns null if the path is not of the format of a valid storage path.
         *
-        * @param $storagePath string
+        * @param string $storagePath
         * @return string|null
         */
        final public static function normalizeStoragePath( $storagePath ) {
@@ -1290,7 +1290,7 @@ abstract class FileBackend {
         * This returns a path like "mwstore://backend/container",
         * "mwstore://backend/container/...", or null if there is no parent.
         *
-        * @param $storagePath string
+        * @param string $storagePath
         * @return string|null
         */
        final public static function parentStoragePath( $storagePath ) {
@@ -1302,7 +1302,7 @@ abstract class FileBackend {
        /**
         * Get the final extension from a storage or FS path
         *
-        * @param $path string
+        * @param string $path
         * @return string
         */
        final public static function extensionFromPath( $path ) {
@@ -1313,7 +1313,7 @@ abstract class FileBackend {
        /**
         * Check if a relative path has no directory traversals
         *
-        * @param $path string
+        * @param string $path
         * @return bool
         * @since 1.20
         */
index 672e437..be8a207 100644 (file)
@@ -116,7 +116,7 @@ class FileBackendGroup {
        /**
         * Register an array of file backend configurations
         *
-        * @param $configs Array
+        * @param Array $configs
         * @return void
         * @throws MWException
         */
@@ -145,7 +145,7 @@ class FileBackendGroup {
        /**
         * Get the backend object with a given name
         *
-        * @param $name string
+        * @param string $name
         * @return FileBackend
         * @throws MWException
         */
@@ -165,7 +165,7 @@ class FileBackendGroup {
        /**
         * Get the config array for a backend object with a given name
         *
-        * @param $name string
+        * @param string $name
         * @return Array
         * @throws MWException
         */
@@ -180,7 +180,7 @@ class FileBackendGroup {
        /**
         * Get an appropriate backend object from a storage path
         *
-        * @param $storagePath string
+        * @param string $storagePath
         * @return FileBackend|null Backend or null on failure
         */
        public function backendFromPath( $storagePath ) {
index 60c813b..f090e24 100644 (file)
@@ -81,7 +81,7 @@ class FileBackendMultiWrite extends FileBackend {
         *   - noPushQuickOps : (hack) Only apply doQuickOperations() to the master backend.
         *   - noPushDirConts : (hack) Only apply directory functions to the master backend.
         *
-        * @param $config Array
+        * @param Array $config
         * @throws MWException
         */
        public function __construct( array $config ) {
@@ -387,7 +387,7 @@ class FileBackendMultiWrite extends FileBackend {
         * for a set of operations with that of a given internal backend.
         *
         * @param array $ops List of file operation arrays
-        * @param $backend FileBackendStore
+        * @param FileBackendStore $backend
         * @return Array
         */
        protected function substOpBatchPaths( array $ops, FileBackendStore $backend ) {
@@ -408,7 +408,7 @@ class FileBackendMultiWrite extends FileBackend {
         * Same as substOpBatchPaths() but for a single operation
         *
         * @param array $ops File operation array
-        * @param $backend FileBackendStore
+        * @param FileBackendStore $backend
         * @return Array
         */
        protected function substOpPaths( array $ops, FileBackendStore $backend ) {
@@ -420,7 +420,7 @@ class FileBackendMultiWrite extends FileBackend {
         * Substitute the backend of storage paths with an internal backend's name
         *
         * @param array|string $paths List of paths or single string path
-        * @param $backend FileBackendStore
+        * @param FileBackendStore $backend
         * @return Array|string
         */
        protected function substPaths( $paths, FileBackendStore $backend ) {
@@ -500,7 +500,7 @@ class FileBackendMultiWrite extends FileBackend {
 
        /**
         * @see FileBackend::doSecure()
-        * @param $params array
+        * @param array $params
         * @return Status
         */
        protected function doSecure( array $params ) {
@@ -517,7 +517,7 @@ class FileBackendMultiWrite extends FileBackend {
 
        /**
         * @see FileBackend::doPublish()
-        * @param $params array
+        * @param array $params
         * @return Status
         */
        protected function doPublish( array $params ) {
@@ -534,7 +534,7 @@ class FileBackendMultiWrite extends FileBackend {
 
        /**
         * @see FileBackend::doClean()
-        * @param $params array
+        * @param array $params
         * @return Status
         */
        protected function doClean( array $params ) {
@@ -551,7 +551,7 @@ class FileBackendMultiWrite extends FileBackend {
 
        /**
         * @see FileBackend::concatenate()
-        * @param $params array
+        * @param array $params
         * @return Status
         */
        public function concatenate( array $params ) {
@@ -562,7 +562,7 @@ class FileBackendMultiWrite extends FileBackend {
 
        /**
         * @see FileBackend::fileExists()
-        * @param $params array
+        * @param array $params
         * @return bool|null
         */
        public function fileExists( array $params ) {
@@ -572,7 +572,7 @@ class FileBackendMultiWrite extends FileBackend {
 
        /**
         * @see FileBackend::getFileTimestamp()
-        * @param $params array
+        * @param array $params
         * @return bool|string
         */
        public function getFileTimestamp( array $params ) {
@@ -582,7 +582,7 @@ class FileBackendMultiWrite extends FileBackend {
 
        /**
         * @see FileBackend::getFileSize()
-        * @param $params array
+        * @param array $params
         * @return bool|int
         */
        public function getFileSize( array $params ) {
@@ -592,7 +592,7 @@ class FileBackendMultiWrite extends FileBackend {
 
        /**
         * @see FileBackend::getFileStat()
-        * @param $params array
+        * @param array $params
         * @return Array|bool|null
         */
        public function getFileStat( array $params ) {
@@ -602,7 +602,7 @@ class FileBackendMultiWrite extends FileBackend {
 
        /**
         * @see FileBackend::getFileContentsMulti()
-        * @param $params array
+        * @param array $params
         * @return bool|string
         */
        public function getFileContentsMulti( array $params ) {
@@ -618,7 +618,7 @@ class FileBackendMultiWrite extends FileBackend {
 
        /**
         * @see FileBackend::getFileSha1Base36()
-        * @param $params array
+        * @param array $params
         * @return bool|string
         */
        public function getFileSha1Base36( array $params ) {
@@ -628,7 +628,7 @@ class FileBackendMultiWrite extends FileBackend {
 
        /**
         * @see FileBackend::getFileProps()
-        * @param $params array
+        * @param array $params
         * @return Array
         */
        public function getFileProps( array $params ) {
@@ -638,7 +638,7 @@ class FileBackendMultiWrite extends FileBackend {
 
        /**
         * @see FileBackend::streamFile()
-        * @param $params array
+        * @param array $params
         * @return \Status
         */
        public function streamFile( array $params ) {
@@ -648,7 +648,7 @@ class FileBackendMultiWrite extends FileBackend {
 
        /**
         * @see FileBackend::getLocalReferenceMulti()
-        * @param $params array
+        * @param array $params
         * @return FSFile|null
         */
        public function getLocalReferenceMulti( array $params ) {
@@ -664,7 +664,7 @@ class FileBackendMultiWrite extends FileBackend {
 
        /**
         * @see FileBackend::getLocalCopyMulti()
-        * @param $params array
+        * @param array $params
         * @return null|TempFSFile
         */
        public function getLocalCopyMulti( array $params ) {
@@ -689,7 +689,7 @@ class FileBackendMultiWrite extends FileBackend {
 
        /**
         * @see FileBackend::directoryExists()
-        * @param $params array
+        * @param array $params
         * @return bool|null
         */
        public function directoryExists( array $params ) {
@@ -699,7 +699,7 @@ class FileBackendMultiWrite extends FileBackend {
 
        /**
         * @see FileBackend::getSubdirectoryList()
-        * @param $params array
+        * @param array $params
         * @return Array|null|Traversable
         */
        public function getDirectoryList( array $params ) {
@@ -709,7 +709,7 @@ class FileBackendMultiWrite extends FileBackend {
 
        /**
         * @see FileBackend::getFileList()
-        * @param $params array
+        * @param array $params
         * @return Array|null|\Traversable
         */
        public function getFileList( array $params ) {
index 8b365b5..3941ae6 100644 (file)
@@ -55,7 +55,7 @@ abstract class FileBackendStore extends FileBackend {
        /**
         * @see FileBackend::__construct()
         *
-        * @param $config Array
+        * @param array $config
         */
        public function __construct( array $config ) {
                parent::__construct( $config );
@@ -81,7 +81,7 @@ abstract class FileBackendStore extends FileBackend {
         * written under it, and that any file already there is writable.
         * Backends using key/value stores should check if the container exists.
         *
-        * @param $storagePath string
+        * @param string $storagePath
         * @return bool
         */
        abstract public function isPathUsableInternal( $storagePath );
@@ -338,10 +338,6 @@ abstract class FileBackendStore extends FileBackend {
                return Status::newGood();
        }
 
-       /**
-        * @see FileBackend::concatenate()
-        * @return Status
-        */
        final public function concatenate( array $params ) {
                wfProfileIn( __METHOD__ );
                wfProfileIn( __METHOD__ . '-' . $this->name );
@@ -431,10 +427,6 @@ abstract class FileBackendStore extends FileBackend {
                return $status;
        }
 
-       /**
-        * @see FileBackend::doPrepare()
-        * @return Status
-        */
        final protected function doPrepare( array $params ) {
                wfProfileIn( __METHOD__ );
                wfProfileIn( __METHOD__ . '-' . $this->name );
@@ -471,10 +463,6 @@ abstract class FileBackendStore extends FileBackend {
                return Status::newGood();
        }
 
-       /**
-        * @see FileBackend::doSecure()
-        * @return Status
-        */
        final protected function doSecure( array $params ) {
                wfProfileIn( __METHOD__ );
                wfProfileIn( __METHOD__ . '-' . $this->name );
@@ -511,10 +499,6 @@ abstract class FileBackendStore extends FileBackend {
                return Status::newGood();
        }
 
-       /**
-        * @see FileBackend::doPublish()
-        * @return Status
-        */
        final protected function doPublish( array $params ) {
                wfProfileIn( __METHOD__ );
                wfProfileIn( __METHOD__ . '-' . $this->name );
@@ -551,10 +535,6 @@ abstract class FileBackendStore extends FileBackend {
                return Status::newGood();
        }
 
-       /**
-        * @see FileBackend::doClean()
-        * @return Status
-        */
        final protected function doClean( array $params ) {
                wfProfileIn( __METHOD__ );
                wfProfileIn( __METHOD__ . '-' . $this->name );
@@ -614,10 +594,6 @@ abstract class FileBackendStore extends FileBackend {
                return Status::newGood();
        }
 
-       /**
-        * @see FileBackend::fileExists()
-        * @return bool|null
-        */
        final public function fileExists( array $params ) {
                wfProfileIn( __METHOD__ );
                wfProfileIn( __METHOD__ . '-' . $this->name );
@@ -627,10 +603,6 @@ abstract class FileBackendStore extends FileBackend {
                return ( $stat === null ) ? null : (bool)$stat; // null => failure
        }
 
-       /**
-        * @see FileBackend::getFileTimestamp()
-        * @return bool
-        */
        final public function getFileTimestamp( array $params ) {
                wfProfileIn( __METHOD__ );
                wfProfileIn( __METHOD__ . '-' . $this->name );
@@ -640,10 +612,6 @@ abstract class FileBackendStore extends FileBackend {
                return $stat ? $stat['mtime'] : false;
        }
 
-       /**
-        * @see FileBackend::getFileSize()
-        * @return bool
-        */
        final public function getFileSize( array $params ) {
                wfProfileIn( __METHOD__ );
                wfProfileIn( __METHOD__ . '-' . $this->name );
@@ -653,10 +621,6 @@ abstract class FileBackendStore extends FileBackend {
                return $stat ? $stat['size'] : false;
        }
 
-       /**
-        * @see FileBackend::getFileStat()
-        * @return bool
-        */
        final public function getFileStat( array $params ) {
                $path = self::normalizeStoragePath( $params['src'] );
                if ( $path === null ) {
@@ -717,10 +681,6 @@ abstract class FileBackendStore extends FileBackend {
         */
        abstract protected function doGetFileStat( array $params );
 
-       /**
-        * @see FileBackend::getFileContentsMulti()
-        * @return Array
-        */
        public function getFileContentsMulti( array $params ) {
                wfProfileIn( __METHOD__ );
                wfProfileIn( __METHOD__ . '-' . $this->name );
@@ -747,10 +707,6 @@ abstract class FileBackendStore extends FileBackend {
                return $contents;
        }
 
-       /**
-        * @see FileBackend::getFileSha1Base36()
-        * @return bool|string
-        */
        final public function getFileSha1Base36( array $params ) {
                $path = self::normalizeStoragePath( $params['src'] );
                if ( $path === null ) {
@@ -793,10 +749,6 @@ abstract class FileBackendStore extends FileBackend {
                }
        }
 
-       /**
-        * @see FileBackend::getFileProps()
-        * @return Array
-        */
        final public function getFileProps( array $params ) {
                wfProfileIn( __METHOD__ );
                wfProfileIn( __METHOD__ . '-' . $this->name );
@@ -807,10 +759,6 @@ abstract class FileBackendStore extends FileBackend {
                return $props;
        }
 
-       /**
-        * @see FileBackend::getLocalReferenceMulti()
-        * @return Array
-        */
        final public function getLocalReferenceMulti( array $params ) {
                wfProfileIn( __METHOD__ );
                wfProfileIn( __METHOD__ . '-' . $this->name );
@@ -856,10 +804,6 @@ abstract class FileBackendStore extends FileBackend {
                return $this->doGetLocalCopyMulti( $params );
        }
 
-       /**
-        * @see FileBackend::getLocalCopyMulti()
-        * @return Array
-        */
        final public function getLocalCopyMulti( array $params ) {
                wfProfileIn( __METHOD__ );
                wfProfileIn( __METHOD__ . '-' . $this->name );
@@ -886,10 +830,6 @@ abstract class FileBackendStore extends FileBackend {
                return null; // not supported
        }
 
-       /**
-        * @see FileBackend::streamFile()
-        * @return Status
-        */
        final public function streamFile( array $params ) {
                wfProfileIn( __METHOD__ );
                wfProfileIn( __METHOD__ . '-' . $this->name );
@@ -945,10 +885,6 @@ abstract class FileBackendStore extends FileBackend {
                return $status;
        }
 
-       /**
-        * @see FileBackend::directoryExists()
-        * @return bool|null
-        */
        final public function directoryExists( array $params ) {
                list( $fullCont, $dir, $shard ) = $this->resolveStoragePath( $params['dir'] );
                if ( $dir === null ) {
@@ -983,10 +919,6 @@ abstract class FileBackendStore extends FileBackend {
         */
        abstract protected function doDirectoryExists( $container, $dir, array $params );
 
-       /**
-        * @see FileBackend::getDirectoryList()
-        * @return Traversable|Array|null Returns null on failure
-        */
        final public function getDirectoryList( array $params ) {
                list( $fullCont, $dir, $shard ) = $this->resolveStoragePath( $params['dir'] );
                if ( $dir === null ) { // invalid storage path
@@ -1016,10 +948,6 @@ abstract class FileBackendStore extends FileBackend {
         */
        abstract public function getDirectoryListInternal( $container, $dir, array $params );
 
-       /**
-        * @see FileBackend::getFileList()
-        * @return Traversable|Array|null Returns null on failure
-        */
        final public function getFileList( array $params ) {
                list( $fullCont, $dir, $shard ) = $this->resolveStoragePath( $params['dir'] );
                if ( $dir === null ) { // invalid storage path
@@ -1113,10 +1041,6 @@ abstract class FileBackendStore extends FileBackend {
                return $paths;
        }
 
-       /**
-        * @see FileBackend::getScopedLocksForOps()
-        * @return Array
-        */
        public function getScopedLocksForOps( array $ops, Status $status ) {
                $paths = $this->getPathsToLockForOpsInternal( $this->getOperationsInternal( $ops ) );
                return array(
@@ -1125,10 +1049,6 @@ abstract class FileBackendStore extends FileBackend {
                );
        }
 
-       /**
-        * @see FileBackend::doOperationsInternal()
-        * @return Status
-        */
        final protected function doOperationsInternal( array $ops, array $opts ) {
                wfProfileIn( __METHOD__ );
                wfProfileIn( __METHOD__ . '-' . $this->name );
@@ -1176,11 +1096,6 @@ abstract class FileBackendStore extends FileBackend {
                return $status;
        }
 
-       /**
-        * @see FileBackend::doQuickOperationsInternal()
-        * @return Status
-        * @throws MWException
-        */
        final protected function doQuickOperationsInternal( array $ops ) {
                wfProfileIn( __METHOD__ );
                wfProfileIn( __METHOD__ . '-' . $this->name );
@@ -1312,9 +1227,6 @@ abstract class FileBackendStore extends FileBackend {
                return $op;
        }
 
-       /**
-        * @see FileBackend::preloadCache()
-        */
        final public function preloadCache( array $paths ) {
                $fullConts = array(); // full container names
                foreach ( $paths as $path ) {
@@ -1326,9 +1238,6 @@ abstract class FileBackendStore extends FileBackend {
                $this->primeFileCache( $paths );
        }
 
-       /**
-        * @see FileBackend::clearCache()
-        */
        final public function clearCache( array $paths = null ) {
                if ( is_array( $paths ) ) {
                        $paths = array_map( 'FileBackend::normalizeStoragePath', $paths );
@@ -1369,7 +1278,7 @@ abstract class FileBackendStore extends FileBackend {
         * Check if a container name is valid.
         * This checks for for length and illegal characters.
         *
-        * @param $container string
+        * @param string $container
         * @return bool
         */
        final protected static function isValidContainerName( $container ) {
@@ -1391,7 +1300,7 @@ abstract class FileBackendStore extends FileBackend {
         * this means that the path can only refer to a directory and can only
         * be scanned by looking in all the container shards.
         *
-        * @param $storagePath string
+        * @param string $storagePath
         * @return Array (container, path, container suffix) or (null, null, null) if invalid
         */
        final protected function resolveStoragePath( $storagePath ) {
@@ -1431,7 +1340,7 @@ abstract class FileBackendStore extends FileBackend {
         *
         * @see FileBackendStore::resolveStoragePath()
         *
-        * @param $storagePath string
+        * @param string $storagePath
         * @return Array (container, path) or (null, null) if invalid
         */
        final protected function resolveStoragePathReal( $storagePath ) {
@@ -1496,7 +1405,7 @@ abstract class FileBackendStore extends FileBackend {
         * If greater than 0, then all file storage paths within
         * the container are required to be hashed accordingly.
         *
-        * @param $container string
+        * @param string $container
         * @return Array (integer levels, integer base, repeat flag) or (0, 0, false)
         */
        final protected function getContainerHashLevels( $container ) {
@@ -1516,7 +1425,7 @@ abstract class FileBackendStore extends FileBackend {
        /**
         * Get a list of full container shard suffixes for a container
         *
-        * @param $container string
+        * @param string $container
         * @return Array
         */
        final protected function getContainerSuffixes( $container ) {
@@ -1534,7 +1443,7 @@ abstract class FileBackendStore extends FileBackend {
        /**
         * Get the full container name, including the wiki ID prefix
         *
-        * @param $container string
+        * @param string $container
         * @return string
         */
        final protected function fullContainerName( $container ) {
@@ -1550,7 +1459,7 @@ abstract class FileBackendStore extends FileBackend {
         * This is intended for internal use, such as encoding illegal chars.
         * Subclasses can override this to be more restrictive.
         *
-        * @param $container string
+        * @param string $container
         * @return string|null
         */
        protected function resolveContainerName( $container ) {
@@ -1610,7 +1519,7 @@ abstract class FileBackendStore extends FileBackend {
         * used in a list of container names, storage paths, or FileOp objects.
         * This loads the persistent cache values into the process cache.
         *
-        * @param $items Array
+        * @param Array $items
         * @return void
         */
        final protected function primeContainerCache( array $items ) {
@@ -1827,7 +1736,7 @@ abstract class FileBackendStoreShardListIterator extends FilterIterator {
        protected $multiShardPaths = array(); // (rel path => 1)
 
        /**
-        * @param $backend FileBackendStore
+        * @param FileBackendStore $backend
         * @param string $container Full storage container name
         * @param string $dir Storage directory relative to container
         * @param array $suffixes List of container shard suffixes
index e4059d7..33a5c9e 100644 (file)
@@ -57,8 +57,8 @@ abstract class FileOp {
        /**
         * Build a new batch file operation transaction
         *
-        * @param $backend FileBackendStore
-        * @param $params Array
+        * @param FileBackendStore $backend
+        * @param Array $params
         * @throws MWException
         */
        final public function __construct( FileBackendStore $backend, array $params ) {
@@ -85,7 +85,7 @@ abstract class FileOp {
        /**
         * Normalize $item or anything in $item that is a valid storage path
         *
-        * @param $item string|array
+        * @param string $item|array
         * @return string|Array
         */
        protected function normalizeAnyStoragePaths( $item ) {
@@ -105,7 +105,7 @@ abstract class FileOp {
        /**
         * Normalize a string if it is a valid storage path
         *
-        * @param $path string
+        * @param string $path
         * @return string
         */
        protected static function normalizeIfValidStoragePath( $path ) {
@@ -119,7 +119,7 @@ abstract class FileOp {
        /**
         * Set the batch UUID this operation belongs to
         *
-        * @param $batchId string
+        * @param string $batchId
         * @return void
         */
        final public function setBatchId( $batchId ) {
@@ -129,7 +129,7 @@ abstract class FileOp {
        /**
         * Get the value of the parameter with the given name
         *
-        * @param $name string
+        * @param string $name
         * @return mixed Returns null if the parameter is not set
         */
        final public function getParam( $name ) {
@@ -240,7 +240,7 @@ abstract class FileOp {
         * This must update $predicates for each path that the op can change
         * except when a failing status object is returned.
         *
-        * @param $predicates Array
+        * @param Array $predicates
         * @return Status
         */
        final public function precheck( array &$predicates ) {
@@ -317,7 +317,7 @@ abstract class FileOp {
        /**
         * Adjust params to FileBackendStore internal file calls
         *
-        * @param $params Array
+        * @param Array $params
         * @return Array (required params list, optional params list)
         */
        protected function setFlags( array $params ) {
@@ -347,7 +347,7 @@ abstract class FileOp {
         * Also set the destExists, overwriteSameCase and sourceSha1 member variables.
         * A bad status will be returned if there is no chance it can be overwritten.
         *
-        * @param $predicates Array
+        * @param Array $predicates
         * @return Status
         */
        protected function precheckDestExistence( array $predicates ) {
@@ -396,7 +396,7 @@ abstract class FileOp {
         * Check if a file will exist in storage when this operation is attempted
         *
         * @param string $source Storage path
-        * @param $predicates Array
+        * @param Array $predicates
         * @return bool
         */
        final protected function fileExists( $source, array $predicates ) {
@@ -412,7 +412,7 @@ abstract class FileOp {
         * Get the SHA-1 of a file in storage when this operation is attempted
         *
         * @param string $source Storage path
-        * @param $predicates Array
+        * @param Array $predicates
         * @return string|bool False on failure
         */
        final protected function fileSha1( $source, array $predicates ) {
@@ -438,7 +438,7 @@ abstract class FileOp {
        /**
         * Log a file operation failure and preserve any temp files
         *
-        * @param $action string
+        * @param string $action
         * @return void
         */
        final public function logFailure( $action ) {
@@ -488,9 +488,6 @@ class CreateFileOp extends FileOp {
                return $status; // safe to call attempt()
        }
 
-       /**
-        * @return Status
-        */
        protected function doAttempt() {
                if ( !$this->overwriteSameCase ) {
                        // Create the file at the destination
@@ -499,16 +496,10 @@ class CreateFileOp extends FileOp {
                return Status::newGood();
        }
 
-       /**
-        * @return bool|String
-        */
        protected function getSourceSha1Base36() {
                return wfBaseConvert( sha1( $this->params['content'] ), 16, 36, 31 );
        }
 
-       /**
-        * @return array
-        */
        public function storagePathsChanged() {
                return array( $this->params['dst'] );
        }
@@ -519,18 +510,11 @@ class CreateFileOp extends FileOp {
  * Parameters for this operation are outlined in FileBackend::doOperations().
  */
 class StoreFileOp extends FileOp {
-       /**
-        * @return array
-        */
        protected function allowedParams() {
                return array( array( 'src', 'dst' ),
                        array( 'overwrite', 'overwriteSame', 'headers' ) );
        }
 
-       /**
-        * @param $predicates array
-        * @return Status
-        */
        protected function doPrecheck( array &$predicates ) {
                $status = Status::newGood();
                // Check if the source file exists on the file system
@@ -560,9 +544,6 @@ class StoreFileOp extends FileOp {
                return $status; // safe to call attempt()
        }
 
-       /**
-        * @return Status
-        */
        protected function doAttempt() {
                if ( !$this->overwriteSameCase ) {
                        // Store the file at the destination
@@ -571,9 +552,6 @@ class StoreFileOp extends FileOp {
                return Status::newGood();
        }
 
-       /**
-        * @return bool|string
-        */
        protected function getSourceSha1Base36() {
                wfSuppressWarnings();
                $hash = sha1_file( $this->params['src'] );
@@ -594,18 +572,11 @@ class StoreFileOp extends FileOp {
  * Parameters for this operation are outlined in FileBackend::doOperations().
  */
 class CopyFileOp extends FileOp {
-       /**
-        * @return array
-        */
        protected function allowedParams() {
                return array( array( 'src', 'dst' ),
                        array( 'overwrite', 'overwriteSame', 'ignoreMissingSource', 'headers' ) );
        }
 
-       /**
-        * @param $predicates array
-        * @return Status
-        */
        protected function doPrecheck( array &$predicates ) {
                $status = Status::newGood();
                // Check if the source file exists
@@ -637,9 +608,6 @@ class CopyFileOp extends FileOp {
                return $status; // safe to call attempt()
        }
 
-       /**
-        * @return Status
-        */
        protected function doAttempt() {
                if ( $this->overwriteSameCase ) {
                        $status = Status::newGood(); // nothing to do
@@ -656,16 +624,10 @@ class CopyFileOp extends FileOp {
                return $status;
        }
 
-       /**
-        * @return array
-        */
        public function storagePathsRead() {
                return array( $this->params['src'] );
        }
 
-       /**
-        * @return array
-        */
        public function storagePathsChanged() {
                return array( $this->params['dst'] );
        }
@@ -676,18 +638,11 @@ class CopyFileOp extends FileOp {
  * Parameters for this operation are outlined in FileBackend::doOperations().
  */
 class MoveFileOp extends FileOp {
-       /**
-        * @return array
-        */
        protected function allowedParams() {
                return array( array( 'src', 'dst' ),
                        array( 'overwrite', 'overwriteSame', 'ignoreMissingSource', 'headers' ) );
        }
 
-       /**
-        * @param $predicates array
-        * @return Status
-        */
        protected function doPrecheck( array &$predicates ) {
                $status = Status::newGood();
                // Check if the source file exists
@@ -721,9 +676,6 @@ class MoveFileOp extends FileOp {
                return $status; // safe to call attempt()
        }
 
-       /**
-        * @return Status
-        */
        protected function doAttempt() {
                if ( $this->overwriteSameCase ) {
                        if ( $this->params['src'] === $this->params['dst'] ) {
@@ -748,16 +700,10 @@ class MoveFileOp extends FileOp {
                return $status;
        }
 
-       /**
-        * @return array
-        */
        public function storagePathsRead() {
                return array( $this->params['src'] );
        }
 
-       /**
-        * @return array
-        */
        public function storagePathsChanged() {
                return array( $this->params['src'], $this->params['dst'] );
        }
@@ -768,17 +714,10 @@ class MoveFileOp extends FileOp {
  * Parameters for this operation are outlined in FileBackend::doOperations().
  */
 class DeleteFileOp extends FileOp {
-       /**
-        * @return array
-        */
        protected function allowedParams() {
                return array( array( 'src' ), array( 'ignoreMissingSource' ) );
        }
 
-       /**
-        * @param $predicates array
-        * @return Status
-        */
        protected function doPrecheck( array &$predicates ) {
                $status = Status::newGood();
                // Check if the source file exists
@@ -805,17 +744,11 @@ class DeleteFileOp extends FileOp {
                return $status; // safe to call attempt()
        }
 
-       /**
-        * @return Status
-        */
        protected function doAttempt() {
                // Delete the source file
                return $this->backend->deleteInternal( $this->setFlags( $this->params ) );
        }
 
-       /**
-        * @return array
-        */
        public function storagePathsChanged() {
                return array( $this->params['src'] );
        }
@@ -826,17 +759,10 @@ class DeleteFileOp extends FileOp {
  * Parameters for this operation are outlined in FileBackend::doOperations().
  */
 class DescribeFileOp extends FileOp {
-       /**
-        * @return array
-        */
        protected function allowedParams() {
                return array( array( 'src' ), array( 'headers' ) );
        }
 
-       /**
-        * @param $predicates array
-        * @return Status
-        */
        protected function doPrecheck( array &$predicates ) {
                $status = Status::newGood();
                // Check if the source file exists
@@ -857,17 +783,11 @@ class DescribeFileOp extends FileOp {
                return $status; // safe to call attempt()
        }
 
-       /**
-        * @return Status
-        */
        protected function doAttempt() {
                // Update the source file's metadata
                return $this->backend->describeInternal( $this->setFlags( $this->params ) );
        }
 
-       /**
-        * @return array
-        */
        public function storagePathsChanged() {
                return array( $this->params['src'] );
        }
index fc51d78..785c0bc 100644 (file)
@@ -51,7 +51,7 @@ class FileOpBatch {
         *
         * @param array $performOps List of FileOp operations
         * @param array $opts Batch operation options
-        * @param $journal FileJournal Journal to log operations to
+        * @param FileJournal $journal Journal to log operations to
         * @return Status
         */
        public static function attempt( array $performOps, array $opts, FileJournal $journal ) {
@@ -145,8 +145,8 @@ class FileOpBatch {
         * within any given sub-batch do not depend on each other.
         * This will abort remaining ops on failure.
         *
-        * @param $pPerformOps Array
-        * @param $status Status
+        * @param Array $pPerformOps
+        * @param Status $status
         * @return bool Success
         */
        protected static function runParallelBatches( array $pPerformOps, Status $status ) {
index 54a90d3..a57bf59 100644 (file)
@@ -172,10 +172,6 @@ class SwiftFileBackend extends FileBackendStore {
                return $relStoragePath;
        }
 
-       /**
-        * @see FileBackendStore::isPathUsableInternal()
-        * @return bool
-        */
        public function isPathUsableInternal( $storagePath ) {
                list( $container, $rel ) = $this->resolveStoragePathReal( $storagePath );
                if ( $rel === null ) {
@@ -194,7 +190,7 @@ class SwiftFileBackend extends FileBackendStore {
        }
 
        /**
-        * @param $headers array
+        * @param array $headers
         * @return array
         */
        protected function sanitizeHdrs( array $headers ) {
@@ -206,7 +202,7 @@ class SwiftFileBackend extends FileBackendStore {
        }
 
        /**
-        * @param $disposition string Content-Disposition header value
+        * @param string $disposition Content-Disposition header value
         * @return string Truncated Content-Disposition header value to meet Swift limits
         */
        protected function truncDisp( $disposition ) {
@@ -223,10 +219,6 @@ class SwiftFileBackend extends FileBackendStore {
                return $res;
        }
 
-       /**
-        * @see FileBackendStore::doCreateInternal()
-        * @return Status
-        */
        protected function doCreateInternal( array $params ) {
                $status = Status::newGood();
 
@@ -298,10 +290,6 @@ class SwiftFileBackend extends FileBackendStore {
                }
        }
 
-       /**
-        * @see FileBackendStore::doStoreInternal()
-        * @return Status
-        */
        protected function doStoreInternal( array $params ) {
                $status = Status::newGood();
 
@@ -391,10 +379,6 @@ class SwiftFileBackend extends FileBackendStore {
                }
        }
 
-       /**
-        * @see FileBackendStore::doCopyInternal()
-        * @return Status
-        */
        protected function doCopyInternal( array $params ) {
                $status = Status::newGood();
 
@@ -464,10 +448,6 @@ class SwiftFileBackend extends FileBackendStore {
                }
        }
 
-       /**
-        * @see FileBackendStore::doMoveInternal()
-        * @return Status
-        */
        protected function doMoveInternal( array $params ) {
                $status = Status::newGood();
 
@@ -540,10 +520,6 @@ class SwiftFileBackend extends FileBackendStore {
                }
        }
 
-       /**
-        * @see FileBackendStore::doDeleteInternal()
-        * @return Status
-        */
        protected function doDeleteInternal( array $params ) {
                $status = Status::newGood();
 
@@ -596,10 +572,6 @@ class SwiftFileBackend extends FileBackendStore {
                }
        }
 
-       /**
-        * @see FileBackendStore::doDescribeInternal()
-        * @return Status
-        */
        protected function doDescribeInternal( array $params ) {
                $status = Status::newGood();
 
@@ -633,10 +605,6 @@ class SwiftFileBackend extends FileBackendStore {
                return $status;
        }
 
-       /**
-        * @see FileBackendStore::doPrepareInternal()
-        * @return Status
-        */
        protected function doPrepareInternal( $fullCont, $dir, array $params ) {
                $status = Status::newGood();
 
@@ -750,10 +718,6 @@ class SwiftFileBackend extends FileBackendStore {
                return $status;
        }
 
-       /**
-        * @see FileBackendStore::doCleanInternal()
-        * @return Status
-        */
        protected function doCleanInternal( $fullCont, $dir, array $params ) {
                $status = Status::newGood();
 
@@ -789,10 +753,6 @@ class SwiftFileBackend extends FileBackendStore {
                return $status;
        }
 
-       /**
-        * @see FileBackendStore::doFileExists()
-        * @return array|bool|null
-        */
        protected function doGetFileStat( array $params ) {
                list( $srcCont, $srcRel ) = $this->resolveStoragePathReal( $params['src'] );
                if ( $srcRel === null ) {
@@ -823,7 +783,7 @@ class SwiftFileBackend extends FileBackendStore {
        /**
         * Fill in any missing object metadata and save it to Swift
         *
-        * @param $obj CF_Object
+        * @param CF_Object $obj
         * @param string $path Storage path to object
         * @return bool Success
         * @throws Exception cloudfiles exceptions
@@ -854,10 +814,6 @@ class SwiftFileBackend extends FileBackendStore {
                return false; // failed
        }
 
-       /**
-        * @see FileBackendStore::doGetFileContentsMulti()
-        * @return Array
-        */
        protected function doGetFileContentsMulti( array $params ) {
                $contents = array();
 
@@ -967,7 +923,7 @@ class SwiftFileBackend extends FileBackendStore {
         * @param string $fullCont Resolved container name
         * @param string $dir Resolved storage directory with no trailing slash
         * @param string|null $after Storage path of file to list items after
-        * @param $limit integer Max number of items to list
+        * @param integer $limit Max number of items to list
         * @param array $params Parameters for getDirectoryList()
         * @return Array List of resolved paths of directories directly under $dir
         */
@@ -1041,7 +997,7 @@ class SwiftFileBackend extends FileBackendStore {
         * @param string $fullCont Resolved container name
         * @param string $dir Resolved storage directory with no trailing slash
         * @param string|null $after Storage path of file to list items after
-        * @param $limit integer Max number of items to list
+        * @param integer $limit Max number of items to list
         * @param array $params Parameters for getDirectoryList()
         * @return Array List of resolved paths of files under $dir
         */
@@ -1129,10 +1085,6 @@ class SwiftFileBackend extends FileBackendStore {
                return array_reverse( $names ); // keep the paths in original order
        }
 
-       /**
-        * @see FileBackendStore::doGetFileSha1base36()
-        * @return bool
-        */
        protected function doGetFileSha1base36( array $params ) {
                $stat = $this->getFileStat( $params );
                if ( $stat ) {
@@ -1147,10 +1099,6 @@ class SwiftFileBackend extends FileBackendStore {
                }
        }
 
-       /**
-        * @see FileBackendStore::doStreamFile()
-        * @return Status
-        */
        protected function doStreamFile( array $params ) {
                $status = Status::newGood();
 
@@ -1182,10 +1130,6 @@ class SwiftFileBackend extends FileBackendStore {
                return $status;
        }
 
-       /**
-        * @see FileBackendStore::doGetLocalCopyMulti()
-        * @return null|TempFSFile
-        */
        protected function doGetLocalCopyMulti( array $params ) {
                $tmpFiles = array();
 
@@ -1255,10 +1199,6 @@ class SwiftFileBackend extends FileBackendStore {
                return $tmpFiles;
        }
 
-       /**
-        * @see FileBackendStore::getFileHttpUrl()
-        * @return string|null
-        */
        public function getFileHttpUrl( array $params ) {
                if ( $this->swiftTempUrlKey != '' ||
                        ( $this->rgwS3AccessKey != '' && $this->rgwS3SecretKey != '' ) )
@@ -1304,10 +1244,6 @@ class SwiftFileBackend extends FileBackendStore {
                return null;
        }
 
-       /**
-        * @see FileBackendStore::directoriesAreVirtual()
-        * @return bool
-        */
        protected function directoriesAreVirtual() {
                return true;
        }
@@ -1328,10 +1264,6 @@ class SwiftFileBackend extends FileBackendStore {
                return $hdrs;
        }
 
-       /**
-        * @see FileBackendStore::doExecuteOpHandlesInternal()
-        * @return Array List of corresponding Status objects
-        */
        protected function doExecuteOpHandlesInternal( array $fileOpHandles ) {
                $statuses = array();
 
@@ -1379,7 +1311,7 @@ class SwiftFileBackend extends FileBackendStore {
         * In general, we don't allow listings to end-users. It's not useful, isn't well-defined
         * (lists are truncated to 10000 item with no way to page), and is just a performance risk.
         *
-        * @param $contObj CF_Container Swift container
+        * @param CF_Container $contObj Swift container
         * @param array $readGrps List of read access routes
         * @param array $writeGrps List of write access routes
         * @return Status
@@ -1487,7 +1419,7 @@ class SwiftFileBackend extends FileBackendStore {
        /**
         * Get the cache key for a container
         *
-        * @param $username string
+        * @param string $username
         * @return string
         */
        private function getCredsCacheKey( $username ) {
@@ -1550,10 +1482,6 @@ class SwiftFileBackend extends FileBackendStore {
                $conn->delete_container( $container );
        }
 
-       /**
-        * @see FileBackendStore::doPrimeContainerCache()
-        * @return void
-        */
        protected function doPrimeContainerCache( array $containerInfo ) {
                try {
                        $conn = $this->getConnection(); // Swift proxy connection
@@ -1571,9 +1499,9 @@ class SwiftFileBackend extends FileBackendStore {
         * Log an unexpected exception for this backend.
         * This also sets the Status object to have a fatal error.
         *
-        * @param $e Exception
-        * @param $status Status|null
-        * @param $func string
+        * @param Exception $e
+        * @param Status $status|null
+        * @param string $func
         * @param array $params
         * @return void
         */
@@ -1608,7 +1536,15 @@ class SwiftFileOpHandle extends FileBackendStoreOpHandle {
        /** @var Array */
        public $affectedObjects = array();
 
-       public function __construct( $backend, array $params, $call, CF_Async_Op $cfOp ) {
+       /**
+        * @param SwiftFileBackend $backend
+        * @param array $params
+        * @param string $call
+        * @param CF_Async_Op $cfOp
+        */
+       public function __construct(
+               SwiftFileBackend $backend, array $params, $call, CF_Async_Op $cfOp
+       ) {
                $this->backend = $backend;
                $this->params = $params;
                $this->call = $call;
@@ -1640,7 +1576,7 @@ abstract class SwiftFileBackendList implements Iterator {
        const PAGE_SIZE = 9000; // file listing buffer size
 
        /**
-        * @param $backend SwiftFileBackend
+        * @param SwiftFileBackend $backend
         * @param string $fullCont Resolved container name
         * @param string $dir Resolved directory relative to container
         * @param array $params
@@ -1714,8 +1650,8 @@ abstract class SwiftFileBackendList implements Iterator {
         *
         * @param string $container Resolved container name
         * @param string $dir Resolved path relative to container
-        * @param $after string|null
-        * @param $limit integer
+        * @param string $after|null
+        * @param integer $limit
         * @param array $params
         * @return Traversable|Array|null Returns null on failure
         */
index 11e125c..8266e42 100644 (file)
@@ -37,8 +37,8 @@ class TempFSFile extends FSFile {
         * Make a new temporary file on the file system.
         * Temporary files may be purged when the file object falls out of scope.
         *
-        * @param $prefix string
-        * @param $extension string
+        * @param string $prefix
+        * @param string $extension
         * @return TempFSFile|null
         */
        public static function factory( $prefix, $extension = '' ) {
@@ -81,7 +81,7 @@ class TempFSFile extends FSFile {
        /**
         * Clean up the temporary file only after an object goes out of scope
         *
-        * @param $object Object
+        * @param Object $object
         * @return TempFSFile This object
         */
        public function bind( $object ) {
index 868e4da..1721aed 100644 (file)
@@ -1620,6 +1620,8 @@ MediaWiki патрабуе падтрымкі UTF-8 для слушнай пра
        'config-mod-security' => "'''Папярэджаньне''': на Вашым ўэб-сэрверы ўключаны [http://modsecurity.org/ mod_security]. У выпадку няслушнай наладцы, ён можа стаць прычынай праблемаў для MediaWiki ці іншага праграмнага забесьпячэньня, якое дазваляе ўдзельнікам дасылаць на сэрвэр любы зьмест.
 Глядзіце [http://modsecurity.org/documentation/ дакумэнтацыю mod_security] ці зьвярніцеся ў падтрымку Вашага хосту, калі ў Вас узьнікаюць выпадковыя праблемы.",
        'config-diff3-bad' => 'GNU diff3 ня знойдзены.',
+       'config-git' => 'Знойдзеная сыстэма канстролю вэрсіяў Git: <code>$1</code>',
+       'config-git-bad' => 'Сыстэма кантролю вэрсіяў Git ня знойдзеная.',
        'config-imagemagick' => 'Знойдзены ImageMagick: <code>$1</code>.
 Пасьля ўключэньня загрузак будзе ўключанае маштабаваньне выяваў.',
        'config-gd' => 'GD падтрымліваецца ўбудавана.
@@ -1735,7 +1737,7 @@ $1
        'config-missing-db-host' => 'Вы павінны ўвесьці значэньне парамэтру «Хост базы зьвестак»',
        'config-missing-db-server-oracle' => 'Вы павінны ўвесьці значэньне парамэтру «TNS базы зьвестак»',
        'config-invalid-db-server-oracle' => 'Няслушнае TNS базы зьвестак «$1».
-Назва можа ўтрымліваць толькі ASCII-літары (a-z, A-Z), лічбы (0-9), сымбалі падкрэсьліваньня(_) і кропкі (.).',
+Назва можа ўтрымліваць толькі ASCII-літары (a-z, A-Z), лічбы (0-9), сымбалі падкрэсьліваньня(_) і кропкі (.).', # Fuzzy
        'config-invalid-db-name' => 'Няслушная назва базы зьвестак «$1».
 Назва можа ўтрымліваць толькі ASCII-літары (a-z, A-Z), лічбы (0-9), сымбалі падкрэсьліваньня(_) і працяжнікі (-).',
        'config-invalid-db-prefix' => 'Няслушны прэфікс базы зьвестак «$1».
@@ -3852,17 +3854,19 @@ $messages['cv'] = array(
 );
 
 /** Welsh (Cymraeg)
+ * @author Lloffiwr
  * @author Xxglennxx
  */
 $messages['cy'] = array(
        'mainpagetext' => "'''Wedi llwyddo gosod meddalwedd MediaWiki yma'''",
-       'mainpagedocfooter' => 'Ceir cymorth (yn Saesneg) ar ddefnyddio meddalwedd wici yn y [//meta.wikimedia.org/wiki/Help:Contents Canllaw Defnyddwyr] ar wefan Wikimedia.
+       'mainpagedocfooter' => "Ceir cymorth (yn Saesneg) ar ddefnyddio meddalwedd wici yn y [//meta.wikimedia.org/wiki/Help:Contents Canllaw Defnyddwyr] ar wefan Wikimedia.
 
 ==Cychwyn arni==
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Rhestr osodiadau wrth gyflunio]
 * [//www.mediawiki.org/wiki/Manual:FAQ Cwestiynau poblogaidd ar MediaWiki]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Rhestr postio datganiadau MediaWiki]', # Fuzzy
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Rhestr postio datganiadau MediaWiki]
+* [//www.mediawiki.org/wiki/Localisation#Translation_resources Cyfieithu MediaWici i'ch iaith chi]",
 );
 
 /** Danish (dansk)
@@ -4136,7 +4140,7 @@ Sofern nicht das Datenbanksystem angezeigt wird, das verwendet werden soll, gibt
        'config-missing-db-host' => 'Bei „Datenbankhost“ muss ein Wert angegeben werden.',
        'config-missing-db-server-oracle' => 'Für das „Datenbank-TNS“ muss ein Wert eingegeben werden',
        'config-invalid-db-server-oracle' => 'Ungültiges Datenbank-TNS „$1“.
-Es dürfen nur ASCII-codierte Buchstaben (a-z, A-Z), Zahlen (0-9) und Unterstriche (_) und Punkte (.) verwendet werden.',
+Entweder „TNS Name“ oder eine „Easy Connect“-Zeichenfolge verwenden ([http://docs.oracle.com/cd/E11882_01/network.112/e10836/naming.htm Oracle-Benennungsmethoden])',
        'config-invalid-db-name' => 'Ungültiger Datenbankname „$1“.
 Es dürfen nur ASCII-codierte Buchstaben (a-z, A-Z), Zahlen (0-9), Unter- (_) sowie Bindestriche (-) verwendet werden.',
        'config-invalid-db-prefix' => 'Ungültiger Datenbanktabellenpräfix „$1“.
@@ -5944,7 +5948,7 @@ Si vous ne voyez pas le système de base de données que vous essayez d'utiliser
        'config-missing-db-host' => "Vous devez entrer une valeur pour « l'hôte de la base de données »",
        'config-missing-db-server-oracle' => 'Vous devez saisir une valeur pour le « Nom TNS de la base de données »',
        'config-invalid-db-server-oracle' => 'Le nom TNS de la base de données (« $1 ») est invalide.
-Il ne peut contenir que des lettres latines de base (a-z, A-Z), des chiffres (0-9), des caractères de soulignement (_) et des points (.).',
+Utilisez uniquement la chaîne "TNS Name" ou "Easy Connect" ([http://docs.oracle.com/cd/E11882_01/network.112/e10836/naming.htm Méthodes de nommage Oracle])',
        'config-invalid-db-name' => 'Nom de la base de données invalide (« $1 »).
 Il ne peut contenir que des lettres latines (a-z, A-Z), des chiffres (0-9), des caractères de soulignement (_) et des tirets (-).',
        'config-invalid-db-prefix' => 'Préfixe de la base de données non valide « $1 ».
@@ -6769,7 +6773,7 @@ Se non ve listado a continuación o sistema de base de datos que intenta usar, s
        'config-missing-db-host' => 'Debe escribir un valor "Servidor da base de datos"',
        'config-missing-db-server-oracle' => 'Debe escribir un valor "TNS da base de datos"',
        'config-invalid-db-server-oracle' => 'O TNS da base de datos, "$1", é incorrecto.
-Só pode conter letras ASCII (a-z, A-Z), números (0-9), guións baixos (_) e puntos (.).',
+Utilice só "TNS Name" ou unha cadea de texto "Easy Connect" ([http://docs.oracle.com/cd/E11882_01/network.112/e10836/naming.htm métodos de nomeamento de Oracle])',
        'config-invalid-db-name' => 'O nome da base de datos, "$1", é incorrecto.
 Só pode conter letras ASCII (a-z, A-Z), números (0-9), guións baixos (_) e guións (-).',
        'config-invalid-db-prefix' => 'O prefixo da base de datos, "$1", é incorrecto.
@@ -10266,7 +10270,7 @@ Unicode を少しでも利用する可能性がある場合は、[//www.mediawik
 共有サーバーを使用している場合は、適切なデータベース ドライバーのインストールを、サーバーの管理者に依頼してください。
 PHP を自分でコンパイルした場合は、例えば <code>./configure --with-mysql</code> を実行して、データベース クライアントを使用できるように再設定してください。
 Debian または Ubuntu のパッケージから PHP をインストールした場合は、php5-mysql モジュールもインストールする必要があります。',
-       'config-outdated-sqlite' => "'''警告:''' あなたは SQLite $1 を使っていますが、最低限要求されるバージョンである $2 未満となっています。SQLite は利用できません。",
+       'config-outdated-sqlite' => "'''警告:''' あなたは SQLite $1 を使用していますが、最低限必要なバージョン $2 より古いバージョンです。SQLite は利用できません。",
        'config-no-fts3' => "'''警告:''' SQLite は [//sqlite.org/fts3.html FTS3] モジュールなしでコンパイルされており、このバックエンドでは検索機能は利用できなくなります。",
        'config-register-globals' => "'''警告: PHP の <code>[http://php.net/register_globals register_globals]</code> オプションが有効になっています。'''
 '''可能なら無効化してください。'''
@@ -10414,7 +10418,7 @@ $1
        'config-missing-db-host' => '「データベースのホスト」を入力してください',
        'config-missing-db-server-oracle' => '「データベース TNS」の値を入力してください',
        'config-invalid-db-server-oracle' => '「$1」は無効なデータベース TNS です。
\82¢ã\82¹ã\82­ã\83¼è\8b±å­\97(a-zã\80\81A-Z)ã\80\81æ\95°å­\97(0-9)ã\80\81ã\82¢ã\83³ã\83\80ã\83¼ã\83\90ã\83¼(_)ã\80\81ã\83\89ã\83\83ã\83\88(.)ã\81®ã\81¿ã\82\92使ç\94¨ã\81\97ã\81¦ã\81\8fã\81 ã\81\95ã\81\84ã\80\82',
\80\8cTNS å\90\8dã\80\8dã\80\8cEasy Connectã\80\8dæ\96\87å­\97å\88\97ã\81®ã\81\84ã\81\9aã\82\8cã\81\8bã\82\92使ç\94¨ã\81\97ã\81¦ã\81\8fã\81 ã\81\95ã\81\84 ([http://docs.oracle.com/cd/E11882_01/network.112/e10836/naming.htm Oracle Naming Methods])',
        'config-invalid-db-name' => '「$1」は無効なデータベース名です。
 アスキー英字(a-z、A-Z)、数字(0-9)、アンダーバー(_)、ハイフン(-)のみを使用してください。',
        'config-invalid-db-prefix' => '「$1」は無効なデータベース接頭語です。
@@ -12122,6 +12126,8 @@ $messages['lb'] = array(
        'config-localsettings-upgrade' => "'''Opgepasst''': E Fichier <code>LocalSettings.php</code> gouf fonnt.
 Är Software kann aktualiséiert ginn, setzt w.e.g. de Wäert vum <code>\$wgUpgradeKey</code> an d'Këscht.
 Dir fannt en am <code>LocalSettings.php</code>.",
+       'config-localsettings-cli-upgrade' => "E Fichier <code>LocalSettings.php</code> gouf fonnt.
+Fir dës Installatioun z'aktuaéliséieren start w.e.g. <code>update.php</code>",
        'config-localsettings-key' => 'Aktualisatiounsschlëssel:',
        'config-localsettings-badkey' => 'De Schlëssel deen Dir aginn hutt ass net korrekt',
        'config-localsettings-incomplete' => 'De Fichier <code>LocalSettings.php</code> schéngt net komplett ze sinn.
@@ -12312,6 +12318,7 @@ Dir kënnt elo déi Astellungen déi nach iwwreg sinn iwwersprangen an d'Wiki el
        'config-install-stats' => 'Initialisatioun vun de Statistiken',
        'config-install-keys' => 'Generéiere vum Geheimschlëssel',
        'config-install-sysop' => 'Administrateur Benotzerkont gëtt ugeluecht',
+       'config-install-mainpage' => 'Haaptsäit mat Standard-Inhalt gëtt ugeluecht',
        'config-install-extension-tables' => "D'Tabelle fir déi aktivéiert Erweiderunge ginn ugeluecht",
        'config-install-mainpage-failed' => "D'Haaptsäit konnt net dragesat ginn: $1",
        'config-download-localsettings' => '<code>LocalSettings.php</code> eroflueden',
@@ -12846,8 +12853,8 @@ $1
        'config-missing-db-name' => 'Мора да внесете значење за параметарот „Име на базата“',
        'config-missing-db-host' => 'Мора да внесете вредност за „Домаќин на базата на податоци“',
        'config-missing-db-server-oracle' => 'Мора да внесете вредност за „TNS на базата“',
-       'config-invalid-db-server-oracle' => 'Неважечки TNS „$1“ за базата.
-Користете само знаци по ASCII - букви (a-z, A-Z), бројки (0-9), долни црти (_) и точки (.).',
+       'config-invalid-db-server-oracle' => 'Неважечки TNS „$1“.
+Користете или „TNS Name“ или низата „Easy Connect“ ([http://docs.oracle.com/cd/E11882_01/network.112/e10836/naming.htm Методи на именување за Oracle])',
        'config-invalid-db-name' => 'Неважечко име на базата „$1“.
 Користете само ASCII-букви (a-z, A-Z), бројки (0-9), долни црти (_) и цртички (-).',
        'config-invalid-db-prefix' => 'Неважечки префикс за базата „$1“.
@@ -14331,8 +14338,8 @@ Als u het databasesysteem dat u wilt gebruiken niet in de lijst terugvindt, volg
        'config-missing-db-name' => 'U moet een waarde opgeven voor "Databasenaam"',
        'config-missing-db-host' => 'U moet een waarde invoeren voor "Databaseserver"',
        'config-missing-db-server-oracle' => 'U moet een waarde opgeven voor "Database-TNS"',
-       'config-invalid-db-server-oracle' => 'Ongeldige database-TMS "$1".
-Gebruik alleen letters (a-z, A-Z), cijfers (0-9) en liggende streepjes (_).',
+       'config-invalid-db-server-oracle' => 'Ongeldige database-TNS "$1".
+Gebruik "TNS Names" of een "Easy Connect" tekst ([http://docs.oracle.com/cd/E11882_01/network.112/e10836/naming.htm Oracle naamgevingsmethoden])',
        'config-invalid-db-name' => 'Ongeldige databasenaam "$1".
 Gebruik alleen letters (a-z, A-Z), cijfers (0-9) en liggende streepjes (_) en streepjes (-).',
        'config-invalid-db-prefix' => 'Ongeldig databasevoorvoegsel "$1".
@@ -15163,6 +15170,8 @@ Instalacja może się nie udać!",
        'config-mod-security' => "''' Ostrzeżenie ''': Serwer sieci web ma włączone [http://modsecurity.org/ mod_security]. Jeśli niepoprawnie skonfigurowane, może być przyczyną problemów MediaWiki lub innego oprogramowania, które pozwala użytkownikom na wysyłanie dowolnej zawartości.
 Sprawdź w [http://modsecurity.org/documentation/ dokumentacji mod_security] lub skontaktuj się z obsługa hosta, jeśli wystąpią losowe błędy.",
        'config-diff3-bad' => 'Nie znaleziono GNU diff3.',
+       'config-git' => 'Znaleziono oprogramowanie kontroli wersji Git: <code>$1</code>.',
+       'config-git-bad' => 'Oprogramowanie systemu kontroli wersji Git nie zostało znalezione.',
        'config-imagemagick' => 'Mamy zainstalowany ImageMagick <code>$1</code>, dzięki czemu będzie można pomniejszać załadowane grafiki.',
        'config-gd' => 'Mamy wbudowaną bibliotekę graficzną GD, dzięki ceymu będzie można pomniejszać załadowane grafiki.',
        'config-no-scaling' => 'Nie można odnaleźć biblioteki GD lub ImageMagick. Nie będzie działać pomniejszanie załadowane grafiki.',
@@ -15181,7 +15190,8 @@ Instalacja została przerwana.',
        'config-using531' => 'MediaWiki nie może być używane z PHP $1 z powodu błędu dotyczącego referencyjnych argumentów funkcji <code>__call()</code>.
 Uaktualnij do PHP 5.3.2 lub nowszego. Możesz również cofnąć wersję do PHP 5.3.0, aby naprawić ten błąd.
 Instalacja została przerwana.',
-       'config-suhosin-max-value-length' => 'Jest zainstalowany Suhosin i ogranicza długość parametru GET do $1  bajtów. Komponent ResourceLoader w MediaWiki  wykona obejście tego ograniczenia, ale kosztem wydajności. Jeśli to możliwe należy ustawić <code>suhosin.get.max_value_length</code> na 1024 lub wyższej w <code>php.ini</code> oraz ustawić <code>$wgResourceLoaderMaxQueryLength</code> w LocalSettings.php na tę samą wartość.', # Fuzzy
+       'config-suhosin-max-value-length' => 'Jest zainstalowany Suhosin i ogranicza długość parametru GET <code>length</code> do $1 bajtów. Komponent ResourceLoader w MediaWiki wykona obejście tego ograniczenia, ale kosztem wydajności.
+Jeśli to możliwe, należy ustawić <code>suhosin.get.max_value_length</code> na 1024 lub wyżej w <code>php.ini</code> oraz ustawić <code>$wgResourceLoaderMaxQueryLength</code> w <code>LocalSettings.php</code> na tę samą wartość.',
        'config-db-type' => 'Typ bazy danych',
        'config-db-host' => 'Adres serwera bazy danych',
        'config-db-host-help' => 'Jeśli serwer bazy danych jest na innej maszynie, wprowadź jej nazwę domenową lub adres IP.
@@ -15271,7 +15281,7 @@ Poniżej wyświetlone są systemy baz danych gotowe do użycia. Jeżeli poniżej
        'config-missing-db-host' => 'Musisz wpisać wartość w polu „Serwer bazy danych”',
        'config-missing-db-server-oracle' => 'Należy wpisać wartość w polu „Nazwa instancji bazy danych (TNS)”',
        'config-invalid-db-server-oracle' => 'Nieprawidłowa nazwa instancji bazy danych (TNS) „$1”.
-W nazwie można użyć wyłącznie liter ASCII (a-z, A-Z), cyfr (0-9), podkreślenia (_) i kropek (.).',
+Użyj "TNS Name" lub "Easy Connect" ([http://docs.oracle.com/cd/E11882_01/network.112/e10836/naming.htm Oracle Naming Methods])',
        'config-invalid-db-name' => 'Nieprawidłowa nazwa bazy danych „$1”.
 Używaj wyłącznie liter ASCII (a-z, A-Z), cyfr (0-9), podkreślenia (_) lub znaku odejmowania (-).',
        'config-invalid-db-prefix' => 'Nieprawidłowy prefiks bazy danych „$1”.
@@ -15346,6 +15356,12 @@ Konto, które wskazałeś tutaj musi już istnieć.',
 
 Jeśli instalacja MySQL obsługuje InnoDB, jest wysoce zalecane, by to je wybrać.
 Jeśli instalacja MySQL nie obsługuje InnoDB, być może nadszedł czas na jej uaktualnienie.",
+       'config-mysql-only-myisam-dep' => "'''Ostrzeżenie:''' MyISAM jest jedynym dostępnym mechanizmem składowania dla MySQL, który nie jest zalecany do używania z MediaWiki, ponieważ:
+* słabo obsługuje współbieżność z powodu blokowania tabel
+* jest bardziej skłonny do uszkodzeń niż inne silniki
+* kod MediaWiki nie zawsze traktuje MyISAM jak powinien
+
+Twoja instalacja MySQL nie obsługuje InnoDB, być może jest to czas na aktualizację.",
        'config-mysql-engine-help' => "'''InnoDB''' jest prawie zawsze najlepszą opcją, ponieważ posiada dobrą obsługę współbieżności.
 
 '''MyISAM''' może być szybsze w instalacjach pojedynczego użytkownika lub tylko do odczytu.
@@ -15389,7 +15405,7 @@ Podaj inną nazwę.',
        'config-admin-error-user' => 'Błąd wewnętrzny podczas tworzenia konta administratora o nazwie „<nowiki>$1</nowiki>”.',
        'config-admin-error-password' => 'Wewnętrzny błąd podczas ustawiania hasła dla administratora „<nowiki>$1</nowiki>”: <pre>$2</pre>',
        'config-admin-error-bademail' => 'Wpisałeś nieprawidłowy adres e‐mail',
-       'config-subscribe' => 'Zapisz się na [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce listę pocztową z ogłaszaniami o nowych wersjach].',
+       'config-subscribe' => 'Zapisz się na [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce listę pocztową z ogłoszeniami o nowych wersjach].',
        'config-subscribe-help' => 'Jest to lista o małej liczbie wiadomości, wykorzystywana do przesyłania informacji o udostępnieniu nowej wersji oraz istotnych sprawach dotyczących bezpieczeństwa.
 Powinieneś zapisać się na tę listę i aktualizować zainstalowane oprogramowanie MediaWiki gdy pojawia się nowa wersja.',
        'config-subscribe-noemail' => 'Próbowano subskrybować listę mailingową ogłoszeń wersji bez podania adresu e-mail.
@@ -15404,17 +15420,17 @@ Możesz pominąć pozostałe czynności konfiguracyjne i zainstalować wiki.',
        'config-profile-fishbowl' => 'Wyłącznie zatwierdzeni edytorzy',
        'config-profile-private' => 'Prywatna wiki',
        'config-profile-help' => "Strony typu wiki działają najlepiej, gdy pozwolisz je edytować tak wielu osobom, jak to możliwie.
-W MediaWiki, jest łatwe sprawdzenie ostatnich zmian i wycofać szkody, które są spowodowane przez naiwnych lub złośliwych użytkowników.
+W MediaWiki, można łatwo sprawdzić ostatnie zmiany i wycofać szkody, które są spowodowane przez naiwnych lub złośliwych użytkowników.
 
-Jednakże wielu uznało MediaWiki użytecznymi w różnorodnych rolach, a czasami nie jest łatwo przekonać wszystkich do korzyści ze sposobu działania wiki.
+Jednakże wielu uznało MediaWiki użytecznym w różnorodnych rolach, a czasami nie jest łatwo przekonać wszystkich do korzyści ze sposobu działania wiki. Masz więc wybór.
 
-Ustawienie '''{{int:config-profil-wiki}}''' pozwala każdemu na edycję, nawet bez logowania się.
-Wiki z '''{{int:config-profile-no-anon}}''' zawiera dodatkowe funkcje rozliczania się, ale może powstrzymać dorywczych współpracowników.
+Ustawienie '''{{int:config-profile-wiki}}''' pozwala każdemu na edycję, nawet bez logowania się.
+Wiki z '''{{int:config-profile-no-anon}}''' zawiera dodatkowe możliwości ale może powstrzymywać potencjalnych edytorów.
 
 Scenariusz '''{{int:config-profile-fishbowl}}''' umożliwia zatwierdzonym użytkownikom edycję, ale wyświetlanie stron jest powszechnie dostępne, włącznie z historią.
-Ustawienie '''{{int:config-profile-private}}'' ' pozwala na wyświetlanie stron tylko zatwierdzonym użytkownikom, ta sama grupa może edytować.
+Ustawienie '''{{int:config-profile-private}}'' ' pozwala na wyświetlanie stron tylko zatwierdzonym użytkownikom, ta sama grupa może je edytować.
 
-Bardziej skomplikowane konfiguracje uprawnień użytkowników są dostępne po zakończeniu instalacji, zobacz [//www.mediawiki.org/wiki/Manual:User_rights odpowiednią część podręcznika].", # Fuzzy
+Bardziej skomplikowane konfiguracje uprawnień użytkowników są dostępne po zakończeniu instalacji, zobacz [//www.mediawiki.org/wiki/Manual:User_rights odpowiednią część podręcznika].",
        'config-license' => 'Prawa autorskie i licencja',
        'config-license-none' => 'Brak stopki z licencją',
        'config-license-cc-by-sa' => 'Creative Commons – za uznaniem autora, na tych samych zasadach',
@@ -15465,7 +15481,9 @@ Najlepiej, aby nie był on dostępny z internetu.',
        'config-logo-help' => 'Domyślny motyw MediaWiki zawiera miejsce na logo wielkości 135 x 160 pikseli powyżej menu na pasku bocznym.
 Prześlij obrazek o odpowiednim rozmiarze, a następnie wpisz jego URL tutaj.
 
-Jeśli nie chcesz logo, pozostaw to pole puste.', # Fuzzy
+Możesz użyć <code>$wgStylePath</code> lub <code>$wgScriptPath</code> jeżeli twoje logo jest relatywne do tych ścieżek.
+
+Jeśli nie chcesz logo, pozostaw to pole puste.',
        'config-instantcommons' => 'Włącz Instant Commons',
        'config-instantcommons-help' => '[//www.mediawiki.org/wiki/InstantCommons Instant Commons] jest funkcją, która pozwala wiki używać obrazów, dźwięków i innych mediów znalezionych na  witrynie [//commons.wikimedia.org/ Wikimedia Commons].
 Aby to zrobić, MediaWiki wymaga dostępu do internetu.
@@ -15498,8 +15516,8 @@ Jeśli nie znasz numeru portu, wartością domyślną jest 11211.',
 Mogą one wymagać dodatkowych czynności konfiguracyjnych, ale można je teraz włączyć',
        'config-install-alreadydone' => "'''Uwaga''' – wydaje się, że MediaWiki jest już zainstalowane, a obecnie próbujesz zainstalować je ponownie.
 Przejdź do następnej strony.",
-       'config-install-begin' => 'Po naciśnięciu "{{int:config-continue}}", rozpocznie się instalacji MediaWiki.
-Jeśli nadal chcesz dokonać zmian, naciśnij wstecz.', # Fuzzy
+       'config-install-begin' => 'Po naciśnięciu "{{int:config-continue}}", rozpocznie się instalacja MediaWiki.
+Jeśli nadal chcesz dokonać zmian, naciśnij "{{int:config-back}}".',
        'config-install-step-done' => 'gotowe',
        'config-install-step-failed' => 'nieudane',
        'config-install-extensions' => 'Włącznie z rozszerzeniami',
@@ -15557,13 +15575,17 @@ Po załadowaniu pliku konfiguracyjnego możesz '''[ $2  wejść na wiki]'''.",
        'config-download-localsettings' => 'Pobierz <code>LocalSettings.php</code>',
        'config-help' => 'pomoc',
        'config-nofile' => 'Nie udało się odnaleźć pliku "$1". Czy nie został usunięty?',
+       'config-extension-link' => 'Czy wiesz, że twoja wiki obsługuje [//www.mediawiki.org/wiki/Manual:Extensions/pl rozszerzenia]?
+
+Możesz przejrzeć [//www.mediawiki.org/wiki/Category:Extensions_by_category rozszerzenia według kategorii] lub [//www.mediawiki.org/wiki/Extension_Matrix Extension Matrix] aby zobaczyć pełną listę rozszerzeń.',
        'mainpagetext' => "'''Instalacja MediaWiki powiodła się.'''",
        'mainpagedocfooter' => 'Zobacz [//meta.wikimedia.org/wiki/Help:Contents przewodnik użytkownika] w celu uzyskania informacji o działaniu oprogramowania wiki.
 
 == Na początek ==
-* [//www.mediawiki.org/wiki/Manual:Configuration_settings Lista ustawień konfiguracyjnych]
-* [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Komunikaty o nowych wersjach MediaWiki]', # Fuzzy
+* [//www.mediawiki.org/wiki/Manual:Configuration_settings/pl Lista ustawień konfiguracyjnych]
+* [//www.mediawiki.org/wiki/Manual:FAQ/pl MediaWiki FAQ]
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Komunikaty o nowych wersjach MediaWiki]
+* [//www.mediawiki.org/wiki/Localisation#Translation_resources Przetłumacz MediaWiki na swój język]',
 );
 
 /** Piedmontese (Piemontèis)
@@ -16192,7 +16214,7 @@ $messages['pt'] = array(
        'config-title' => 'Instalação MediaWiki $1',
        'config-information' => 'Informação',
        'config-localsettings-upgrade' => 'Foi detectado um ficheiro <code>LocalSettings.php</code>.
-Para actualizar esta instalação, por favor introduza o valor de <code>$wgUpgradeKey</code> na caixa abaixo.
+Para atualizar esta instalação, por favor introduza o valor de <code>$wgUpgradeKey</code> na caixa abaixo.
 Encontra este valor no <code>LocalSettings.php</code>.',
        'config-localsettings-cli-upgrade' => 'Foi detectada a existência de um ficheiro <code>LocalSettings.php</code>.
 Para actualizar esta instalação execute o <code>update.php</code>, por favor.',
@@ -16224,7 +16246,7 @@ Verifique o seu php.ini e certifique-se de que em <code>session.save_path</code>
        'config-page-language' => 'Língua',
        'config-page-welcome' => 'Bem-vindo(a) ao MediaWiki!',
        'config-page-dbconnect' => 'Ligar à base de dados',
-       'config-page-upgrade' => 'Actualizar a instalação existente',
+       'config-page-upgrade' => 'Atualizar a instalação existente',
        'config-page-dbsettings' => 'Configurações da base de dados',
        'config-page-name' => 'Nome',
        'config-page-options' => 'Opções',
@@ -16234,7 +16256,7 @@ Verifique o seu php.ini e certifique-se de que em <code>session.save_path</code>
        'config-page-readme' => 'Leia-me',
        'config-page-releasenotes' => 'Notas de lançamento',
        'config-page-copying' => 'A copiar',
-       'config-page-upgradedoc' => 'A actualizar',
+       'config-page-upgradedoc' => 'Atualizando',
        'config-page-existingwiki' => 'Wiki existente',
        'config-help-restart' => 'Deseja limpar todos os dados gravados que introduziu e reiniciar o processo de instalação?',
        'config-restart' => 'Sim, reiniciar',
@@ -16429,7 +16451,7 @@ Se a plataforma que pretende usar não está listada abaixo, siga as instruçõe
        'config-missing-db-host' => 'Tem de introduzir um valor para "Servidor da base de dados"',
        'config-missing-db-server-oracle' => 'Tem de introduzir um valor para "TNS da base de dados"',
        'config-invalid-db-server-oracle' => 'O TNS da base de dados, "$1", é inválido.
-Use só letras (a-z, A-Z), algarismos (0-9), sublinhados (_) e pontos (.) dos caracteres ASCII.',
+Use só letras (a-z, A-Z), algarismos (0-9), sublinhados (_) e pontos (.) dos caracteres ASCII.', # Fuzzy
        'config-invalid-db-name' => 'O nome da base de dados, "$1",  é inválido.
 Use só letras (a-z, A-Z), algarismos (0-9), sublinhados (_) e hífens (-) dos caracteres ASCII.',
        'config-invalid-db-prefix' => 'O prefixo da base de dados, "$1",  é inválido.
@@ -16550,7 +16572,7 @@ Introduza um nome de utilizador diferente.',
        'config-admin-error-bademail' => 'Introduziu um correio electrónico inválido',
        'config-subscribe' => 'Subscreva a [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce lista de divulgação de anúncios de lançamento].',
        'config-subscribe-help' => 'Esta é uma lista de divulgação de baixo volume para anúncios de lançamento de versões novas, incluindo anúncios de segurança importantes.
-Deve subscrevê-la e actualizar a sua instalação MediaWiki quando são lançadas versões novas.',
+Deve subscrevê-la e atualizar a sua instalação MediaWiki quando são lançadas versões novas.',
        'config-subscribe-noemail' => 'Tentou subscrever a lista de divulgação dos anúncios de novas versões, sem fornecer um endereço de correio electrónico.
 Para subscrever esta lista de divulgação tem de fornecer um endereço de correio electrónico.',
        'config-almost-done' => 'Está quase a terminar!
@@ -18023,7 +18045,7 @@ $1
        'config-missing-db-host' => 'Vnesti morate vrednost za »Gostitelj zbirke podatkov«',
        'config-missing-db-server-oracle' => 'Vnesti morate vrednost za »TNS zbirke podatkov«',
        'config-invalid-db-server-oracle' => 'Neveljaven TNS zbirke podatkov »$1«.
-Uporabljajte samo črke ASCII (a-z, A-Z), številke (0-9), podčrtaje (_) in pike (.).',
+Uporabite ali "ime TNS" ali niz "Easy Connect" ([http://docs.oracle.com/cd/E11882_01/network.112/e10836/naming.htm Načini poimenovanja Oracle])',
        'config-invalid-db-name' => 'Neveljavno ime zbirke podatkov »$1«.
 Uporabljajte samo črke ASCII (a-z, A-Z), številke (0-9), podčrtaje (_) in vezaje (-).',
        'config-invalid-db-prefix' => 'Neveljavna predpona zbirke podatkov »$1«.
@@ -18295,6 +18317,7 @@ $messages['su'] = array(
 );
 
 /** Swedish (svenska)
+ * @author Jopparn
  * @author Skalman
  * @author WikiPhoenix
  */
@@ -18344,12 +18367,28 @@ Du kan inte installera MediaWiki.',
        'config-env-php' => 'PHP $1 är installerad.',
        'config-env-php-toolow' => 'PHP $1 är installerad.
 MediaWiki kräver PHP $2 eller högre.',
+       'config-register-globals' => "'''Varning: PHP:s <code>[http://php.net/register_globals register_globals]</code> tillval är aktiverat.'''
+'''Inaktivera den om du kan.'''
+MediaWiki kommer att fungera, men din server exponeras för potentiella säkerhetsluckor.",
+       'config-safe-mode' => "''' Varning:''' PHP:s [http://www.php.net/features.safe-mode felsäkert läge] är aktivt.
+Det kan orsaka problem, särskilt om du använder filöverföringar och <code>math</code>-stöd.",
+       'config-xml-bad' => 'PHP:s XML-modul saknas.
+MediaWiki kräver funktioner i denna modul och kommer inte att fungera i den här konfigurationen.
+Om du kör Mandrake, installera php-xml-paketet.',
+       'config-memory-bad' => "''' Varning:''' PHP:s <code>memory_limit</code> är $1.
+Detta är förmodligen för lågt.
+Installationen kan misslyckas!",
        'config-xcache' => '[http://xcache.lighttpd.net/ XCache] är installerad',
        'config-apc' => '[http://www.php.net/apc APC] är installerad',
        'config-wincache' => '[http://www.iis.net/download/WinCacheForPhp WinCache] är installerad',
        'config-diff3-bad' => 'GNU diff3 hittades inte.',
+       'config-git-bad' => 'Git-versionen av kontrollmjukvaran hittades inte.',
+       'config-no-uri' => "'''Fel:''' Kunde inte fastställa det nuvarande URI:et.
+Installationen avbröts.",
+       'config-no-cli-uri' => "'''Varning:''' inget --scriptpath är anget, med standarden: <code>$1</code> .",
        'config-using-server' => 'Använder servernamn "<nowiki>$1</nowiki>".',
        'config-using-uri' => 'Använder server-URL "<nowiki>$1$2</nowiki>".',
+       'config-no-cli-uploads-check' => "'''Varning:''' Din standardkatalog för uppladdningar (<code>$1</code>) inte är kontrollerad för sårbarhet från godtyckliga skriptkörning under CLI-installationen.",
        'config-db-type' => 'Databastyp:',
        'config-db-wiki-settings' => 'Identifiera denna wiki',
        'config-db-name' => 'Databasnamn:',
@@ -18357,8 +18396,11 @@ MediaWiki kräver PHP $2 eller högre.',
        'config-db-install-account' => 'Användarkonto för installation',
        'config-db-username' => 'Databas-användarnamn:',
        'config-db-password' => 'Databas-lösenord:',
+       'config-db-wiki-account' => 'Användarkonto för normal drift',
+       'config-db-prefix' => 'Prefix för tabellerna i databasen:',
        'config-db-port' => 'Databasport:',
        'config-db-schema' => 'Schema för MediaWiki',
+       'config-sqlite-dir' => 'SQLite data-katalog:',
        'config-header-mysql' => 'MySQL-inställningar',
        'config-header-postgres' => 'PostgreSQL-inställningar',
        'config-header-sqlite' => 'SQLite-inställningar',
@@ -18366,6 +18408,7 @@ MediaWiki kräver PHP $2 eller högre.',
        'config-invalid-db-type' => 'Ogiltig databastyp',
        'config-missing-db-name' => 'Du måste ange ett värde för "Databasnamn"',
        'config-missing-db-host' => 'Du måste ange ett värde för "Databasvärd"',
+       'config-missing-db-server-oracle' => 'Du måste ange ett värde för "Databas TNS"',
        'config-invalid-db-name' => '"$1" är ett ogiltigt databasnamn.
 Använd bara ASCII-bokstäver (a-z, A-Z), siffror (0-9), understreck (_) och bindestreck (-).',
        'config-invalid-db-prefix' => '"$1" är ett ogiltigt databasprefix.
@@ -18375,6 +18418,7 @@ Använd bara ASCII-bokstäver (a-z, A-Z), siffror (0-9), understreck (_) och bin
 Kontrollera värden, användarnamnet och lösenordet nedan och försök igen',
        'config-invalid-schema' => '"$1" är ett ogiltigt schema för MediaWiki.
 Använd bara ASCII-bokstäver (a-z, A-Z), siffror (0-9), understreck (_) och bindestreck (-).',
+       'config-db-sys-create-oracle' => 'Installationsprogrammet stöder endast med ett SYSDBA-konto för att skapa ett nytt konto.',
        'config-db-sys-user-exists-oracle' => 'Användarkontot "$1" finns redan. SYSDBA kan endast användas för att skapa ett nytt konto!',
        'config-postgres-old' => 'PostgreSQL $1 eller senare krävs, du har $2.',
        'config-upgrade-done' => "Uppgraderingen slutfördes.
@@ -19937,8 +19981,10 @@ $messages['ur'] = array(
 );
 
 /** Uzbek (oʻzbekcha)
+ * @author Sociologist
  */
 $messages['uz'] = array(
+       'config-admin-password-blank' => 'Administrator hisob yozuvi uchun maxfiy soʻz kiriting.',
        'mainpagetext' => "'''MediaWiki muvaffaqiyatli o'rnatildi.'''",
        'mainpagedocfooter' => "Wiki dasturini ishlatish haqida ma'lumot olish uchun  [//meta.wikimedia.org/wiki/Help:Contents Foydalanuvchi qo'llanmasi] sahifasiga murojaat qiling.
 
@@ -20618,6 +20664,7 @@ $3
 /** Traditional Chinese (中文(繁體)‎)
  * @author Anthony Fok
  * @author Hzy980512
+ * @author Justincheng12345
  * @author Liangent
  * @author Mark85296341
  * @author Simon Shek
@@ -20720,6 +20767,8 @@ $1',
 Object caching is not enabled.",
        'config-mod-security' => "'''警告''':您的服務器已啟動[http://modsecurity.org/ mod_security]。若其配置錯誤, 會導致MediaWiki和其他軟件的錯誤並允許用戶任意發布內容。如果您遇到任何錯誤,請查閱[http://modsecurity.org/documentation/ mod_security文檔]或聯繫您的客服。",
        'config-diff3-bad' => '找不到GNU diff3。',
+       'config-git' => '發現Git版本控制軟件:<code>$1</code>。',
+       'config-git-bad' => '無法找到Git版本控制軟件。',
        'config-imagemagick' => '已找到ImageMagick:<code>$1</code>。如果你啟用了上傳功能,縮略圖功能也將被啟用。',
        'config-gd' => '已找到內建的GD圖形庫。如果你啟用了上傳功能,縮略圖功能也將被啟用。',
        'config-no-scaling' => '找不到GD庫或ImageMagick。縮略圖功能將不可用。',
@@ -20811,7 +20860,8 @@ $1
        'config-missing-db-name' => '您必須為“數據庫名稱”輸入內容',
        'config-missing-db-host' => '您必須為“數據庫主機”輸入內容',
        'config-missing-db-server-oracle' => '您必須為“數據庫透明網絡底層(TNS)”輸入內容',
-       'config-invalid-db-server-oracle' => '無效的數據庫TNS“$1”。請只使用ASCII字母(a-z、A-Z)、數字(0-9)、下劃線(_)和點號(.)。',
+       'config-invalid-db-server-oracle' => '無效的數據庫TNS「$1」。
+請只使用「TNS Name」或「Easy Connect」 字串([http://docs.oracle.com/cd/E11882_01/network.112/e10836/naming.htm Oracle命名法])',
        'config-invalid-db-name' => '無效的數據庫名稱“$1”。請只使用ASCII字母(a-z、A-Z)、數字(0-9)、下劃線(_)和連字號(-)。',
        'config-invalid-db-prefix' => '無效的數據庫前綴“$1”。請只使用ASCII字母(a-z、A-Z)、數字(0-9)、下劃線(_)和連字號(-)。',
        'config-connection-error' => '$1。
index 78d8180..4f626b2 100644 (file)
@@ -26,7 +26,7 @@
 class HttpStatus {
 
        /**
-        * Get the message associed with the HTTP response code $code
+        * Get the message associated with HTTP response code $code
         *
         * Replace OutputPage::getStatusMessage( $code )
         *
index 748c423..f962162 100644 (file)
@@ -37,6 +37,8 @@ class MemcachedPeclBagOStuff extends MemcachedBagOStuff {
         *   - compress_threshold:  The minimum size an object must be before it is compressed
         *   - timeout:             The read timeout in microseconds
         *   - connect_timeout:     The connect timeout in seconds
+        *   - retry_timeout:       Time in seconds to wait before retrying a failed connect attempt
+        *   - server_failure_limit:  Limit for server connect failures before it is removed
         *   - serializer:          May be either "php" or "igbinary". Igbinary produces more compact
         *                          values, but serialization is much slower unless the php.ini option
         *                          igbinary.compact_strings is off.
@@ -61,6 +63,14 @@ class MemcachedPeclBagOStuff extends MemcachedBagOStuff {
                        $params['serializer'] = 'php';
                }
 
+               if ( isset( $params['retry_timeout'] ) ) {
+                       $this->client->setOption( Memcached::OPT_RETRY_TIMEOUT, $params['retry_timeout'] );
+               }
+
+               if ( isset ( $params['server_failure_limit'] ) ) {
+                       $this->client->setOption( Memcached::OPT_SERVER_FAILURE_LIMIT, $params['server_failure_limit'] );
+               }
+
                // The compression threshold is an undocumented php.ini option for some
                // reason. There's probably not much harm in setting it globally, for
                // compatibility with the settings for the PHP client.
index 375ff2b..2cdfc6e 100644 (file)
@@ -456,7 +456,8 @@ class CoreParserFunctions {
                return self::formatRaw( SiteStats::edits(), $raw );
        }
        static function numberofviews( $parser, $raw = null ) {
-               return self::formatRaw( SiteStats::views(), $raw );
+               global $wgDisableCounters;
+               return !$wgDisableCounters ? self::formatRaw( SiteStats::views(), $raw ) : '';
        }
        static function pagesinnamespace( $parser, $namespace = 0, $raw = null ) {
                return self::formatRaw( SiteStats::pagesInNs( intval( $namespace ) ), $raw );
@@ -824,7 +825,9 @@ class CoreParserFunctions {
                        $title = SpecialPage::getTitleFor( $page, $subpage );
                        return $title->getPrefixedText();
                } else {
-                       return wfMessage( 'nosuchspecialpage' )->inContentLanguage()->text();
+                       // unknown special page, just use the given text as its title, if at all possible
+                       $title = Title::makeTitleSafe( NS_SPECIAL, $text );
+                       return $title ? $title->getPrefixedText() : self::special( $parser, 'Badtitle' );
                }
        }
 
index 29b3500..c5e42a4 100644 (file)
@@ -67,22 +67,8 @@ class ParserOutput extends CacheTime {
 
        function getText() {
                if ( $this->mEditSectionTokens ) {
-                       $text = $this->mText;
-
-                       // If there's old output with misplaced editsections links cached, mangle it to put them in
-                       // the right position. We can assume that there is no '</hN>' inside header tags, making this
-                       // possible to do with a regex.
-                       $text = preg_replace(
-                               //            [ this part is like EDITSECTION_REGEX, but with non-capturing groups                           ]
-                               //                                                                                  note the space here ------v
-                               '#(<[hH](\d)>)(<(?:mw:)?editsection page="(?:.*?)" section="(?:.*?)"(?:/>|>(?:.*?)(?:</(?:mw:)?editsection>))) ([\s\S]*?)(</[hH]\2>)#',
-                               // swap the order of content and editsection link - $2 is ignored since it's the number in hN's tag name
-                               '$1$4 $3$5',
-                               $text
-                       );
-
                        return preg_replace_callback( ParserOutput::EDITSECTION_REGEX,
-                               array( &$this, 'replaceEditSectionLinksCallback' ), $text );
+                               array( &$this, 'replaceEditSectionLinksCallback' ), $this->mText );
                }
                return preg_replace( ParserOutput::EDITSECTION_REGEX, '', $this->mText );
        }
index 543bd1d..d2ddea3 100644 (file)
@@ -563,6 +563,7 @@ class ResourceLoader {
                }
                if ( $context->getOnly() === 'styles' ) {
                        header( 'Content-Type: text/css; charset=utf-8' );
+                       header( 'Access-Control-Allow-Origin: *' );
                } else {
                        header( 'Content-Type: text/javascript; charset=utf-8' );
                }
index 61e6e15..7b4b668 100644 (file)
@@ -81,7 +81,7 @@ class ResourceLoaderUserCSSPrefsModule extends ResourceLoaderModule {
                        $rules[] = "#toc { display: none; }\n";
                }
                if ( !$options['editsection'] ) {
-                       $rules[] = ".mw-editsection, .editsection { display: none; }\n";
+                       $rules[] = ".mw-editsection { display: none; }\n";
                }
                if ( $options['editfont'] !== 'default' ) {
                        // Double-check that $options['editfont'] consists of safe characters only
index 1b406d1..6a35aa0 100644 (file)
@@ -592,10 +592,6 @@ class SpecialRecentChanges extends IncludableSpecialPage {
 
                $defaults = $opts->getAllValues();
                $nondefaults = $opts->getChangedValues();
-               $opts->consumeValues( array(
-                       'namespace', 'invert', 'associated', 'tagfilter',
-                       'categories', 'categories_any'
-               ) );
 
                $panel = array();
                $panel[] = $this->optionsPanel( $defaults, $nondefaults );
@@ -664,6 +660,10 @@ class SpecialRecentChanges extends IncludableSpecialPage {
         * @return array
         */
        function getExtraOptions( $opts ) {
+               $opts->consumeValues( array(
+                       'namespace', 'invert', 'associated', 'tagfilter', 'categories', 'categories_any'
+               ) );
+
                $extraOpts = array();
                $extraOpts['namespace'] = $this->namespaceFilterForm( $opts );
 
@@ -677,7 +677,10 @@ class SpecialRecentChanges extends IncludableSpecialPage {
                        $extraOpts['tagfilter'] = $tagFilter;
                }
 
-               wfRunHooks( 'SpecialRecentChangesPanel', array( &$extraOpts, $opts ) );
+               // Don't fire the hook for subclasses. (Or should we?)
+               if ( $this->getName() === 'Recentchanges' ) {
+                       wfRunHooks( 'SpecialRecentChangesPanel', array( &$extraOpts, $opts ) );
+               }
 
                return $extraOpts;
        }
index 062e09d..4773c4a 100644 (file)
@@ -226,21 +226,21 @@ class SpecialRecentchangeslinked extends SpecialRecentChanges {
        }
 
        /**
-        * @param $opts FormOptions
+        * Get options to be displayed in a form
+        *
+        * @param FormOptions $opts
         * @return array
         */
        function getExtraOptions( $opts ) {
-               $opts->consumeValues( array( 'showlinkedto', 'target', 'tagfilter' ) );
-               $extraOpts = array();
-               $extraOpts['namespace'] = $this->namespaceFilterForm( $opts );
+               $extraOpts = parent::getExtraOptions( $opts );
+
+               $opts->consumeValues( array( 'showlinkedto', 'target' ) );
+
                $extraOpts['target'] = array( $this->msg( 'recentchangeslinked-page' )->escaped(),
                        Xml::input( 'target', 40, str_replace( '_', ' ', $opts['target'] ) ) .
                        Xml::check( 'showlinkedto', $opts['showlinkedto'], array( 'id' => 'showlinkedto' ) ) . ' ' .
                        Xml::label( $this->msg( 'recentchangeslinked-to' )->text(), 'showlinkedto' ) );
-               $tagFilter = ChangeTags::buildTagFilterSelector( $opts['tagfilter'] );
-               if ( $tagFilter ) {
-                       $extraOpts['tagfilter'] = $tagFilter;
-               }
+
                return $extraOpts;
        }
 
index 3d8be91..63a7a73 100644 (file)
@@ -704,7 +704,6 @@ Alasan-alasan nyan hana geupeureumeuen.",
 'viewprevnext' => 'Eu ($1 {{int:pipe-separator}} $2)($3)',
 'searchmenu-exists' => "'''Na on ngon nan \"[[:\$1]]\" bak wiki nyoe.'''",
 'searchmenu-new' => "'''Peugöt ôn \"[[:\$1]]\" bak wiki nyoë!'''",
-'searchhelp-url' => 'Help:Asoë',
 'searchprofile-articles' => 'Ôn asoë',
 'searchprofile-project' => 'Ôn Beunantu ngön Buët',
 'searchprofile-images' => 'Multimedia',
index 580e52f..a0a193c 100644 (file)
@@ -541,10 +541,8 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => 'إعادة ضبط كلمة السر',
-'passwordreset-text' => 'أكمل هذا النموذج لتتلقى بريدا إلكترونيا يذكر بتفاصيل حسابك.',
 'passwordreset-legend' => 'إعادة تعيين كلمة السر',
 'passwordreset-disabled' => 'عُطّلت إعادة تعيين كلمة السر على هذه الويكي.',
-'passwordreset-pretext' => '{{PLURAL:$1||أدخل أحد أجزاء البيانات أدناه}}',
 'passwordreset-username' => 'اسم المستخدم:',
 'passwordreset-domain' => 'النطاق:',
 'passwordreset-capture' => 'أأعرض البريد الإلكتروني الناتج؟',
index 36f3921..b7350ea 100644 (file)
@@ -1274,7 +1274,6 @@ Details kan in die [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} s
 'searchmenu-legend' => 'Soekopsies',
 'searchmenu-exists' => "'''Daar is reeds 'n bladsy genaamd \"[[:\$1]]\" op die wiki'''",
 'searchmenu-new' => "'''Skep die bladsy \"[[:\$1]]\" op hierdie wiki'''",
-'searchhelp-url' => 'Help:Inhoud',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Wys bladsye wat met die voorvoegsel begin]]',
 'searchprofile-articles' => 'Inhoudelike bladsye',
 'searchprofile-project' => 'Hulp- en projekbladsye',
index e9c406d..ff894e1 100644 (file)
@@ -903,7 +903,6 @@ Kini kujdes se përdorimi i lidhjeve të shfletimit do të ndryshojë përzgjedh
 'searchmenu-legend' => 'Opcionet e kërkimit',
 'searchmenu-exists' => "'''Në këtë wiki âsht nji faqe me titullin \"[[:\$1]]\"'''",
 'searchmenu-new' => "'''Krijo faqen \"[[:\$1]]\" në këtë wiki!'''",
-'searchhelp-url' => 'Help:Përmbajtja',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Shfleto faqet me këtë prefiks]]',
 'searchprofile-articles' => 'Faqet me përmbajtje',
 'searchprofile-project' => 'Faqet e ndihmës dhe projekteve',
@@ -1500,7 +1499,6 @@ Lejon dhânien e arsyes në përmbledhje.',
 'modern.css' => '/* CSSi i vednosun këtu ka me i prekë shfrytëzuesit e dukjes Modern */',
 'vector.css' => '/* CSSi i vednosun këtu ka me i prekë shfrytëzuesit e dukjes Vector */',
 'print.css' => '/* CSSi i vednosun këtu ka me e prekë pamjen e shtypjes */',
-'handheld.css' => '/* CSSi i vednosun këtu ka me i prekë shfletuesit mobil (të dorës) në dukje e konfigurueme në $wgHandheldStyle */',
 
 # Scripts
 'common.js' => '/* Çdo JavaScript këtu ka me u ngarkue për të gjithë përdoruesit në secilën thirrje të faqes. */',
index fb8e17b..4dce7fc 100644 (file)
@@ -806,7 +806,6 @@ $1ን ወይም ማንም ሌላ [[{{MediaWiki:Grouppage-sysop}}|መጋቢ]] ስ
 'searchmenu-legend' => 'የፍለጋ ምርጫዎች',
 'searchmenu-exists' => "'''\"[[:\$1]]\" የሚባል መጣጥፍ በዚሁ ዊኪ ላይ አለ።'''",
 'searchmenu-new' => "'''\"[[:\$1]]\" የሚባል መጣጥፍ ይፈጠር?'''",
-'searchhelp-url' => 'Help:ይዞታ',
 'searchprofile-articles' => 'ይዞታ ያላቸው መጣጥፎች',
 'searchprofile-project' => 'የመርሃግብሩ ገጾች',
 'searchprofile-images' => 'ፋይሎች',
index d2512f9..5c6d98f 100644 (file)
@@ -625,10 +625,8 @@ Talment ya ha cambiato a suya clau u ha demandato una nueva clau temporal.',
 
 # Special:PasswordReset
 'passwordreset' => "Restablir a clau d'acceso",
-'passwordreset-text' => "Completar ista forma ta recibir un recordatorio por correu con os detalles d'a suya cuenta.",
 'passwordreset-legend' => "Restablir a clau d'acceso",
 'passwordreset-disabled' => "S'ha desactivau o restablimiento de claus en ista wiki.",
-'passwordreset-pretext' => "{{PLURAL:$1||Introduzca uno d'os siguients datos}}",
 'passwordreset-username' => "Nombre d'usuario:",
 'passwordreset-domain' => 'Dominio:',
 'passwordreset-capture' => 'Veyer o mensache resultant?',
@@ -1059,7 +1057,6 @@ Asegure-se que iste cambio no trencará a continidat de l'historial d'a pachina.
 'searchmenu-legend' => 'Opcions de busca',
 'searchmenu-exists' => "'''Bi ha una pachina clamada \"[[\$1]]\" en ista wiki'''",
 'searchmenu-new' => "'''Creyar a pachina \"[[:\$1]]\" en ista wiki!'''",
-'searchhelp-url' => 'Help:Aduya',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Veyer pachinas con iste prefixo]]',
 'searchprofile-articles' => 'Pachinas de conteniu',
 'searchprofile-project' => "Pachinas d'aduya y d'o prochecto",
index 11b47ee..34b7085 100644 (file)
@@ -574,7 +574,6 @@ folcliċum āgnunge oþþe ȝelīċum frēom horde (sēo $1 for āscungum).
 'nextn' => 'nīehst {{PLURAL:$1|$1}}',
 'viewprevnext' => 'Sēon ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-new' => "'''Scieppan þone tramet \"[[:\$1]]\" on þissum wiki!'''",
-'searchhelp-url' => 'Help:Innung',
 'searchprofile-articles' => 'Innunge trametas',
 'searchprofile-project' => 'Helpes and Weorca trametas',
 'searchprofile-images' => 'Missenendebyrdness',
index 14e12f3..34458a6 100644 (file)
@@ -610,7 +610,7 @@ $messages = array(
 'listingcontinuesabbrev' => 'يُتبع',
 'index-category' => 'صفحات مفهرسة',
 'noindex-category' => 'صفحات غير مفهرسة',
-'broken-file-category' => 'صفحات تحتوي روابط ملفات معطوبة',
+'broken-file-category' => 'صفحات تحوي روابط ملفات معطوبة',
 
 'about' => 'عن هذه الويكي',
 'article' => 'صفحة محتوى',
@@ -1302,6 +1302,7 @@ $2
 يبدو أنه تم حذفها.',
 'edit-conflict' => 'تضارب تحريري.',
 'edit-no-change' => 'تعديلك تم تجاهله، لأنه لم يحدث أي تعديل للنص.',
+'postedit-confirmation' => 'تعديلك حفظ.',
 'edit-already-exists' => 'لم يمكن إنشاء صفحة جديدة.
 هي موجودة بالفعل.',
 'defaultmessagetext' => 'نص الرسالة الافتراضي',
@@ -1554,7 +1555,6 @@ $1",
 'searchmenu-legend' => 'خيارات البحث',
 'searchmenu-exists' => "*الصفحة '''[[$1]]'''",
 'searchmenu-new' => "'''أنشئ الصفحة \"[[:\$1]]\" في هذا الويكي!'''",
-'searchhelp-url' => 'Help:محتويات',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|تصفح الصفحات بهذه البادئة]]',
 'searchprofile-articles' => 'صفحات المحتوى',
 'searchprofile-project' => 'صفحات المساعدة والمشروع',
index fc4ab5c..14d03f8 100644 (file)
@@ -682,7 +682,6 @@ $1',
 'searchmenu-legend' => 'ܓܒܝܬ̈ܐ ܕܒܨܝܐ',
 'searchmenu-exists' => "'''ܐܝܬ ܦܐܬܐ ܒܫܡ \"[[:\$1]]\" ܥܠ ܗܢܐ ܘܝܩܝ'''",
 'searchmenu-new' => "'''ܒܪܝ ܦܐܬܐ \"[[:\$1]]\" ܥܠ ܗܢܐ ܘܝܩܝ!'''",
-'searchhelp-url' => 'Help:ܚܒܝܫܬ̈ܐ',
 'searchprofile-articles' => 'ܦܐܬܬ̈ܐ ܕܚܒܝܫܬ̈ܐ',
 'searchprofile-project' => 'ܦܐܬܬ̈ܐ ܕܬܪ̈ܡܝܬܐ ܘܕܥܘܕܪܢܐ',
 'searchprofile-images' => 'ܡܝܕ̈ܝܐ ܣܓܝܐ̈ܐ (Multimedia)',
index fd69d9e..f9ea6bf 100644 (file)
@@ -407,7 +407,6 @@ Rulpakünuy feychi kangelkülelu dungu.",
 'viewprevnext' => 'Pen ($1 {{int:pipe-separator}} $2) ($3).',
 'searchmenu-exists' => "'''Müley kiñe wülngiñ «[[:$1]]» pingelu feychi wiki mew'''",
 'searchmenu-new' => "'''¡Llitun pakina «[[:$1]]» tüfachi wiki mew!'''",
-'searchhelp-url' => 'Help:Trokiñdungu',
 'searchprofile-articles' => 'Trokiñdungu wülngiñ',
 'searchprofile-project' => 'Kellu wülngiñ ka Deumandungu wülngiñ',
 'searchprofile-images' => 'Fill dungu (adentun, dungun, fidew)',
index 73fb16f..e6afc59 100644 (file)
@@ -541,10 +541,8 @@ ymkn ṫkon bddalṫiha bĝda wlla ṫlbti klmṫ srr mo'qaṫa jdida.",
 
 # Special:PasswordReset
 'passwordreset' => 'ĝawd klmṫ s-srr',
-'passwordreset-text' => 'ĝmmer had l-istimara baċ iwṣlek email ṫaĝ ṫdkir b-ṫṫafaṣil dl-ḫisab ṫaĝk.',
 'passwordreset-legend' => 'ĝawd klmṫ s-srr',
 'passwordreset-disabled' => 'maymkn-ċ ṫĝawd klmṫ s-srr f-had l-wiki.',
-'passwordreset-pretext' => '{{PLURAL:$1||kṫb wḫda mn l-bayanaṫ l-ṫḫṫ}}',
 'passwordreset-username' => 'smiṫ l-mosṫĥdim:',
 'passwordreset-email' => 'ĝonwan l-email:',
 'passwordreset-emailtitle' => 'ṫafaṣil l-ḫisab f-{{SITENAME}}',
@@ -929,7 +927,6 @@ $1",
 'searchmenu-legend' => 'khiyarat lbaht',
 'searchmenu-exists' => "'''ḫṫṫa ṣfḫa f-had l-wiki ma smiṫha \"[[:\$1]]\".'''",
 'searchmenu-new' => "'''ṣayb f-had l-wiki ṣfḫṫ \"[[:\$1]]\"!'''",
-'searchhelp-url' => 'Help:Meḍmon',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|ṫṣffeh ṣfaḫi b-had ṣ-ṣabiqa]]',
 'searchprofile-articles' => 'sfht mohtawa',
 'searchprofile-project' => 'sfhai dyal lmossada ol mchroa',
index 46bf2f8..94a9757 100644 (file)
@@ -1201,7 +1201,6 @@ $1",
 'searchmenu-legend' => 'اختيارات التدوير',
 'searchmenu-exists' => "*الصفحة '''[[$1]]'''",
 'searchmenu-new' => "'''ابتدى الصفحه \"[[:\$1]]\" ع الويكى دا!'''",
-'searchhelp-url' => 'Help:محتويات',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|استعرض الصفحات اللى بتبتدى بالبريفيكس دا]]',
 'searchprofile-articles' => 'صفحات محتوى',
 'searchprofile-project' => 'صفحات  المساعده و المشروع',
index 6520e69..5f50a12 100644 (file)
@@ -1254,7 +1254,6 @@ $1",
 'searchmenu-legend' => 'সন্ধান বিকল্পসমূহ',
 'searchmenu-exists' => 'এই ৱিকিত "[[:$1]]" নামৰ পৃষ্ঠা এখন আছে ।',
 'searchmenu-new' => "'''এই ৱিকিত \"[[:\$1]]\" পৃষ্ঠাখন সৃষ্টি কৰক!'''",
-'searchhelp-url' => 'Help:সমল',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|এই উপসৰ্গ থকা পৃষ্ঠাসমূহ ব্ৰাউজ কৰক]]',
 'searchprofile-articles' => 'বিষয়বস্তুৰ পৃষ্ঠা',
 'searchprofile-project' => 'সহায় আৰু প্ৰকল্প পৃষ্ঠাসমূহ',
index 8438fa3..97b2e64 100644 (file)
@@ -260,6 +260,7 @@ $messages = array(
 'create-this-page' => 'Crear esta páxina',
 'delete' => 'Desaniciar',
 'deletethispage' => 'Desaniciar esta páxina',
+'undeletethispage' => 'Restaurar esta páxina',
 'undelete_short' => 'Restaurar {{PLURAL:$1|una edición|$1 ediciones}}',
 'viewdeleted_short' => 'Ver {{PLURAL:$1|una edición desaniciada|$1 ediciones desaniciaes}}',
 'protect' => 'Protexer',
@@ -463,6 +464,8 @@ $2",
 'namespaceprotected' => "Nun tienes permisu pa editar páxines nel espaciu de nomes '''$1'''.",
 'customcssprotected' => "Nun tienes permisu pa editar esta páxina CSS porque contién preferencies personales d'otru usuariu.",
 'customjsprotected' => "Nun tienes permisu pa editar esta páxina de JavaScript porque contién preferencies personales d'otru usuariu.",
+'mycustomcssprotected' => 'Nun tien permisu pa editar esta páxina CSS.',
+'mycustomjsprotected' => 'Nun tien permisu pa editar esta páxina JavaScript.',
 'ns-specialprotected' => 'Les páxines especiales nun se puen editar.',
 'titleprotected' => "Esti títulu ta protexíu escontra creación por [[User:$1|$1]].
 El motivu conseñáu ye «''$2''».",
@@ -509,15 +512,15 @@ Nun t'escaezas de camudar les tos [[Special:Preferences|preferencies de {{SITENA
 'loginprompt' => "Ha de tener les «cookies» activaes p'aniciar sesión en {{SITENAME}}.",
 'userlogin' => 'Entrar / crear cuenta',
 'userloginnocreate' => 'Aniciar sesión',
-'logout' => 'Colar',
-'userlogout' => 'Colar',
+'logout' => 'Salir',
+'userlogout' => 'Salir',
 'notloggedin' => 'Nun anició sesión',
 'userlogin-noaccount' => '¿Nun tien una cuenta?',
 'userlogin-joinproject' => 'Xunise a {{SITENAME}}',
 'nologin' => '¿Nun tienes una cuenta? $1.',
 'nologinlink' => 'Crear una cuenta',
 'createaccount' => 'Crear una cuenta',
-'gotaccount' => '¿Ya tienes una cuenta? $1.',
+'gotaccount' => '¿Yá tienes una cuenta? $1.',
 'gotaccountlink' => 'Entrar',
 'userlogin-resetlink' => "¿Escaeció los datos d'accesu?",
 'userlogin-resetpassword-link' => 'Reaniciar la contraseña',
@@ -604,7 +607,7 @@ Por favor conseña una direición con formatu afayadizu o dexa baleru'l campu.",
 'cannotchangeemail' => 'Les direiciones de corréu electrónicu de la cuenta nun puen camudase nesta wiki.',
 'emaildisabled' => 'Esti sitiu nun pue unviar correos electrónicos.',
 'accountcreated' => 'Cuenta creada',
-'accountcreatedtext' => "Creóse la cuenta d'usuariu de $1.",
+'accountcreatedtext' => "Creóse la cuenta d'usuariu pa [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|alderique]]).",
 'createaccount-title' => 'Creación de cuenta pa {{SITENAME}}',
 'createaccount-text' => "Daquién creó una cuenta cola to direición de corréu electrónicu en {{SITENAME}} ($4) col nome «$2», y cola contraseña «$3».
 Agora tendríes d'aniciar sesión y camudar la contraseña.
@@ -1145,7 +1148,6 @@ Se puen alcontrar más detalles nel [{{fullurl:{{#Special:Log}}/delete|page={{FU
 'searchmenu-legend' => 'Opciones de busca',
 'searchmenu-exists' => "'''Hai una páxina nomada \"[[\$1]]\" nesta wiki'''",
 'searchmenu-new' => "'''¡Crear la páxina \"[[:\$1]]\" nesta wiki!'''",
-'searchhelp-url' => 'Help:Conteníos',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Restolar páxines con esti prefixu]]',
 'searchprofile-articles' => 'Páxines de conteníu',
 'searchprofile-project' => 'Páxines de proyeutu y ayuda',
@@ -1401,6 +1403,8 @@ Esta información sedrá pública.",
 'right-editusercssjs' => "Editar los archivos CSS y JS d'otros usuarios",
 'right-editusercss' => "Editar los archivos CSS d'otros usuarios",
 'right-edituserjs' => "Editar los archivos JS d'otros usuarios",
+'right-editmyusercss' => "Editar los propios ficheros CSS d'usuariu",
+'right-editmyuserjs' => "Editar los propios ficheros JavaScript d'usuariu",
 'right-rollback' => "Revertir rápido a un usuariu qu'editó una páxina determinada",
 'right-markbotedits' => 'Marcar les ediciones revertíes como ediciones de bot',
 'right-noratelimit' => 'Nun tar afeutáu polos llímites de tasa',
@@ -1808,15 +1812,15 @@ Hai disponible una [[Special:WhatLinksHere/$2|llista completa]].",
 'morelinkstoimage' => 'Ver [[Special:WhatLinksHere/$1|más enllaces]] a esti archivu.',
 'linkstoimage-redirect' => '$1 (redireición de ficheru) $2',
 'duplicatesoffile' => "{{PLURAL:$1|El siguiente archivu ye un duplicáu|Los siguientes $1 archivos son duplicaos}} d'esti archivu ([[Special:FileDuplicateSearch/$2|más detalles]]):",
-'sharedupload' => "Esti ficheru ye de $1 y se pue usar n'otros proyeutos.",
+'sharedupload' => 'Esti ficheru ye de $1 y puen usalu otros proyeutos.',
 'sharedupload-desc-there' => 'Esti ficheru ye de $1 y puen usalu otros proyeutos.
 Llea la [páxina de descripción del ficheru $2] pa más información.',
 'sharedupload-desc-here' => "Esti ficheru ye de $1 y puen usalu otros proyeutos.
 La descripción de la [$2 páxina de descripción del ficheru] s'amuesa darréu.",
-'sharedupload-desc-edit' => "Esti ficheru ye de $1 y se pue usar n'otros proyeutos.
-Seique quieras camudar la descripción de la so [páxina de descripción de ficheru $2] allí.",
-'sharedupload-desc-create' => "Esti ficheru ye de $1 y se pue usar n'otros proyeutos.
-Seique quieras camudar la descripción de la so [páxina de descripción de ficheru $2] allí.",
+'sharedupload-desc-edit' => 'Esti ficheru ye de $1 y puen usalu otros proyeutos.
+Seique quieras camudar la descripción de la so [páxina de descripción de ficheru $2] allí.',
+'sharedupload-desc-create' => 'Esti ficheru ye de $1 y puen usalu otros proyeutos.
+Seique quieras camudar la descripción de la so [páxina de descripción de ficheru $2] allí.',
 'filepage-nofile' => 'Nun esiste dengún ficheru con esti nome.',
 'filepage-nofile-link' => 'Nun esiste ficheru dalu con esti nome, pero pues [$1 xubilu].',
 'uploadnewversion-linktext' => "Xubir una nueva versión d'esta imaxe",
@@ -2827,7 +2831,7 @@ Guárdalu nel ordenador y xúbilu equí.",
 'tooltip-pt-mycontris' => 'Llista de les tos collaboraciones',
 'tooltip-pt-login' => "T'encamentamos que t'identifiques, anque nun ye obligatorio",
 'tooltip-pt-anonlogin' => "T'encamentamos que t'identifiques, anque nun ye obligatorio.",
-'tooltip-pt-logout' => 'Colar',
+'tooltip-pt-logout' => 'Salir',
 'tooltip-ca-talk' => 'Alderique tocante al conteníu de la páxina',
 'tooltip-ca-edit' => "Pues editar esta páxina. Por favor usa'l botón de vista previa enantes de guardar los cambios.",
 'tooltip-ca-addsection' => 'Emprima una seición nueva',
index fb2aa4d..8e72e40 100644 (file)
@@ -821,7 +821,6 @@ Ta ropasusu warzafu bu yo va [[Special:Search|aneyara ko wiki]] yawal.',
 'viewprevnext' => 'Va ($1 {{int:pipe-separator}} $2) ik ($3) disukel.',
 'searchmenu-exists' => "'''Ixam bu yoltkirafu gu \"[[:\$1]]\" dene bati wiki.'''",
 'searchmenu-new' => "'''Redura va bu \"[[:\$1]]\" den bati wiki!'''",
-'searchhelp-url' => 'Help:Pomara',
 'searchprofile-articles' => 'Teliz',
 'searchprofile-project' => 'Pomarabu ik abdumimaksbu',
 'searchprofile-images' => 'Jonkanaca',
index 47106fe..dd20a56 100644 (file)
@@ -908,7 +908,6 @@ $1",
 'searchmenu-legend' => 'Axtarış kriteriyaları',
 'searchmenu-exists' => "'''Bu vikidə \"[[:\$1]]\" adında səhifə mövcuddur'''",
 'searchmenu-new' => "'''Bu vikidə \"[[:\$1]]\" səhifəsini yarat!'''",
-'searchhelp-url' => 'Help:Mündəricət',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Bu cür prefiksli səhifələri göstər]]',
 'searchprofile-articles' => 'Məqalələr',
 'searchprofile-project' => 'Kömək və Layihə səhifələri',
index 31e7d99..2bf0be9 100644 (file)
@@ -618,10 +618,8 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => 'رمزی یئنی‌له',
-'passwordreset-text' => 'رمزینیزی یئنیله‌مک اوچون بو فورمو دولدورون.',
 'passwordreset-legend' => 'رمزی یئنی‌له',
 'passwordreset-disabled' => 'بو ویکی‌ده رمزی یئنی‌له‌مک باغلانیب‌دیر.',
-'passwordreset-pretext' => '{{PLURAL:$1|آشاغیداکی وئری پارچالارینین بیرینی وئرین}}',
 'passwordreset-username' => 'ایستیفاده‌چی آدی:',
 'passwordreset-domain' => 'دامنه:',
 'passwordreset-capture' => 'سون نتیجه ایمیل گؤستریلسین؟',
@@ -1093,7 +1091,6 @@ $1",
 'searchmenu-legend' => 'آختارماق تنظیملری',
 'searchmenu-exists' => "'''بو ویکی‌ده «[[:$1]]» آدلی صحیفه واردیر.'''",
 'searchmenu-new' => "'''بو ویکی‌ده «[[:$1]]» صحیفه‌‌سینی يارات!'''",
-'searchhelp-url' => 'Help:ایچینده‌کیلر',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1| بو اؤن‌اک ایله اولان صحیفه‌لری آختار]]',
 'searchprofile-articles' => 'مقاله‌لر',
 'searchprofile-project' => 'یاردیم و پروژه صحیفه‌لری',
index 5d3900e..131625e 100644 (file)
@@ -1168,7 +1168,6 @@ $1",
 'searchmenu-legend' => 'Эҙләү көйләүҙәре',
 'searchmenu-exists' => "'''Был вики-проектта «[[:$1]]» бите бар'''",
 'searchmenu-new' => "'''Был википроектта \"[[:\$1]]\" бите булдырырға.'''",
-'searchhelp-url' => 'Help:Эстәлек',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Был префикслы биттәрҙе күрһәтергә]]',
 'searchprofile-articles' => 'Эстәлек биттәре',
 'searchprofile-project' => 'Ярҙамсы һәм проект биттәре',
index b4747a5..c26bcf0 100644 (file)
@@ -956,7 +956,6 @@ $1",
 'searchmenu-legend' => 'گزینه یان گردگ',
 'searchmenu-exists' => "'''صفحه گون نام \"[[\$1]]\" ته ای ویکی نیستن'''",
 'searchmenu-new' => "'''شر کن صفحه ای \"[[:\$1]]\" ته ای ویکی!'''",
-'searchhelp-url' => 'Help:محتوا',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|بروز صفحات گون پیش وند]]',
 'searchprofile-articles' => 'صفحات محتوا',
 'searchprofile-project' => 'کمک و صفحات پروژه ای',
index 9d4f761..62a2aef 100644 (file)
@@ -1161,7 +1161,6 @@ An mga detalye mapuwedeng matatagboan sa [{{fullurl:{{#Special:Log}}/delete|page
 'searchmenu-legend' => 'Opsyon sa paghahanap',
 'searchmenu-exists' => "'''Igwa nin sarong pahina na pinagngaranan na \"[[:\$1]]\" sa wiking ini.'''",
 'searchmenu-new' => "'''Muknaon an pahina \"[[:\$1]]\" sa wiking ini!'''",
-'searchhelp-url' => 'Help:Mga laog',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Kilyawon an mga pahina sa paagi kainin enotang panigmit]]',
 'searchprofile-articles' => 'Mga pahina nin laog',
 'searchprofile-project' => 'Mga pahina nin Tabang asin Proyekto',
index 1ba82be..35a7949 100644 (file)
@@ -196,6 +196,18 @@ $messages = array(
 'oct' => 'Кас',
 'nov' => 'Ліс',
 'dec' => 'Сне',
+'january-date' => '$1 студзеня',
+'february-date' => '$1 лютага',
+'march-date' => '$1 сакавіка',
+'april-date' => '$1 красавіка',
+'may-date' => '$1 мая',
+'june-date' => '$1 чэрвеня',
+'july-date' => '$1 ліпеня',
+'august-date' => '$1 жніўня',
+'september-date' => '$1 верасня',
+'october-date' => '$1 кастрычніка',
+'november-date' => '$1 лістапада',
+'december-date' => '$1 снежня',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Катэгорыя|Катэгорыі}}',
@@ -221,6 +233,7 @@ $messages = array(
 'newwindow' => '(адкрыецца ў новым акне)',
 'cancel' => 'Нічога',
 'moredotdotdot' => 'Яшчэ...',
+'morenotlisted' => 'Больш нічога няма...',
 'mypage' => 'Уласная старонка',
 'mytalk' => 'Размовы',
 'anontalk' => 'Размова для гэтага IP',
@@ -254,6 +267,7 @@ $messages = array(
 'namespaces' => 'Прасторы імёнаў',
 'variants' => 'Варыянты',
 
+'navigation-heading' => 'Навігацыя',
 'errorpagetitle' => 'Памылка',
 'returnto' => 'Вярнуцца да $1.',
 'tagline' => 'З пляцоўкі {{SITENAME}}.',
@@ -275,6 +289,7 @@ $messages = array(
 'create-this-page' => 'Стварыць старонку',
 'delete' => 'сцерці',
 'deletethispage' => 'Сцерці гэту старонку',
+'undeletethispage' => 'Аднавіць гэту старонку',
 'undelete_short' => 'Аднавіць {{PLURAL:$1|адну праўку|$1 правак}}',
 'viewdeleted_short' => 'Паказаць {{PLURAL:$1|адну сцёртую праўку|$1 сцёртыя праўкі}}',
 'protect' => 'Ахова',
@@ -351,6 +366,8 @@ $1',
 'youhavenewmessages' => 'Вы маеце $1 ($2).',
 'newmessageslink' => 'новыя паведамленні',
 'newmessagesdifflink' => 'розн. з найноўшай версіяй',
+'youhavenewmessagesfromusers' => 'Вы атрымалі $1 ад {{PLURAL:$3|$3 ўдзельніка|$3 удзельнікаў}} ($2).',
+'youhavenewmessagesmanyusers' => 'Вы атрымалі $1 ад мноства карыстальнікаў ($2).',
 'youhavenewmessagesmulti' => 'У вас ёсць новыя паведамленні на $1',
 'editsection' => 'правіць',
 'editold' => 'правіць',
@@ -486,9 +503,18 @@ $2',
 'welcomecreation-msg' => 'Ваш рахунак быў створаны.
 Не забудзьцеся дапасаваць [[Special:Preferences|персанальныя настаўленні]] для {{SITENAME}}.',
 'yourname' => 'Імя ўдзельніка',
+'userlogin-yourname' => 'Імя ўліковага запісу',
+'userlogin-yourname-ph' => 'Увядзіце імя вашага ўліковага запісу',
 'yourpassword' => 'Пароль',
+'userlogin-yourpassword' => 'Пароль',
+'userlogin-yourpassword-ph' => 'Увядзіце ваш пароль',
+'createacct-yourpassword-ph' => 'Увядзіце пароль',
 'yourpasswordagain' => 'Паўтарыце пароль',
+'createacct-yourpasswordagain' => 'Пацвердзіце пароль',
+'createacct-yourpasswordagain-ph' => 'Увядзіце пароль яшчэ раз',
 'remembermypassword' => "Памятаць мяне на гэтым камп'ютары (не даўжэй за $1 {{PLURAL:$1|дзень|дзён}})",
+'userlogin-remembermypassword' => 'Заставацца ў сістэме',
+'userlogin-signwithsecure' => 'Выкарыстоўваць абароненае злучэнне',
 'securelogin-stick-https' => 'Працягваць злучэнне па HTTPS пасля ўвахода',
 'yourdomainname' => 'Ваш дамен',
 'externaldberror' => 'Або памылка вонкавай аўтэнтыкацыі ў базе дадзеных, або вам не дазволена абнаўляць свой вонкавы рахунак.',
@@ -740,6 +766,7 @@ $2
 'updated' => '(абноўлена)',
 'note' => "'''Заўвага:'''",
 'previewnote' => "'''Памятайце, гэта папярэдні паказ; праўкі яшчэ не замацаваныя!'''",
+'continue-editing' => 'Працягнуць рэдагаванне',
 'previewconflict' => 'Гэта папярэдні паказ магчымага выніку замацоўвання актуальнага стану крынічнага тэксту ў верхнім тэкставым полі.',
 'session_fail_preview' => "'''Не ўдалося апрацаваць вашую праўку, таму што сервер згубіў звесткі аб вашым сеансе.
 Паспрабуйце, калі ласка, ізноў. Калі і тады не атрымаецца, паспрабуйце [[Special:UserLogout|выйсці з сістэмы]] і зайсці ізноў.'''",
@@ -816,6 +843,12 @@ $2
 'editwarning-warning' => 'Выхад з гэтай старонкі прывядзе да страты правак, якія вы зрабілі. 
 Калі Вы зарэгістраваныя ў сістэме, Вы можаце адключыць гэта папярэджанне ў закладцы "Праца" Вашых настаўленняў.',
 
+# Content models
+'content-model-wikitext' => 'вікі-тэкст',
+'content-model-text' => 'звычайны тэкст',
+'content-model-javascript' => 'JavaScript',
+'content-model-css' => 'CSS',
+
 # Parser/template warnings
 'expensive-parserfunction-warning' => "Увага: На старонцы занадта шмат працаёмістых зваротаў да парсера.
 
@@ -1033,7 +1066,6 @@ $1",
 'searchmenu-legend' => 'Настаўленні пошуку',
 'searchmenu-exists' => "'''На вікі ёсць старонка \"[[:\$1]]\"'''",
 'searchmenu-new' => "'''Стварыць на гэтай вікі старонку \"[[:\$1]]\"'''",
-'searchhelp-url' => 'Help:Змест',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Паказаць старонкі з гэтым прэфіксам]]',
 'searchprofile-articles' => 'Артыкулы',
 'searchprofile-project' => 'Старонкі даведкі і праекта',
@@ -1923,6 +1955,7 @@ $1',
 'mailnologin' => 'Няма эл.адрасу',
 'mailnologintext' => 'Трэба [[Special:UserLogin|ўвайсці ў сістэму]] і мець пацверджаны адрас эл.пошты ў сваіх [[Special:Preferences|настáўленнях]], каб слаць эл.пошту іншым удзельнікам.',
 'emailuser' => 'Эл.пошта ўдзельніка',
+'emailuser-title-notarget' => 'Напісанне электроннага ліста ўдзельніку',
 'emailpage' => 'Зварот да ўдзельніка праз эл.пошту',
 'emailpagetext' => 'Тут можна выслаць эл.пошту гэтаму ўдзельніку.
 Адрас эл.пошты, уведзены вамі ў [[Special:Preferences|сваіх настаўленнях]], з\'явіцца ў полі "From" вашага ліста, і атрымальнік зможа адказаць на ваш ліст.',
@@ -2700,11 +2733,16 @@ $1',
 
 # Info page
 'pageinfo-title' => 'Інфармацыя для "$1"',
-'pageinfo-header-edits' => 'Змены',
+'pageinfo-header-basic' => 'Агульныя звесткі',
+'pageinfo-header-edits' => 'Гісторыя правак',
+'pageinfo-robot-index' => 'Індэксуюцца',
+'pageinfo-robot-noindex' => 'Не індэксуюцца',
 'pageinfo-views' => 'Колькасць праглядаў',
 'pageinfo-watchers' => 'Колькасць назіральнікаў',
-'pageinfo-edits' => 'Колькасць правак:',
-'pageinfo-authors' => 'Колькасць розных аўтараў',
+'pageinfo-lastuser' => 'Апошні рэдактар',
+'pageinfo-lasttime' => 'Дата апошняй праўкі',
+'pageinfo-edits' => 'Агульная колькасць правак',
+'pageinfo-authors' => 'Агульная колькасць розных аўтараў',
 
 # Skin names
 'skinname-cologneblue' => 'Сіні Кёльн',
@@ -3380,6 +3418,8 @@ MediaWiki распаўсюджваецца, спадзеючыся на прыд
 'version-software' => 'Устаноўленыя праграмныя прадукты',
 'version-software-product' => 'Прадукт',
 'version-software-version' => 'Версія',
+'version-entrypoints-header-entrypoint' => 'Кропка ўваходу',
+'version-entrypoints-header-url' => 'URL',
 
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Пошук дублікатных файлаў',
index ad817a5..eb2258c 100644 (file)
@@ -461,6 +461,7 @@ $messages = array(
 'create-this-page' => 'Стварыць гэтую старонку',
 'delete' => 'Выдаліць',
 'deletethispage' => 'Выдаліць гэтую старонку',
+'undeletethispage' => 'Аднавіць гэту старонку',
 'undelete_short' => 'Аднавіць $1 {{PLURAL:$1|рэдагаваньне|рэдагаваньні|рэдагаваньняў}}',
 'viewdeleted_short' => 'Паказаць $1 {{PLURAL:$1|выдаленае рэдагаваньне|выдаленыя рэдагаваньні|выдаленых рэдагаваньняў}}',
 'protect' => 'Абараніць',
@@ -661,6 +662,8 @@ $2',
 'namespaceprotected' => "Вы ня маеце правоў на рэдагаваньне старонак у прасторы назваў '''$1'''.",
 'customcssprotected' => 'Вы ня маеце правоў на рэдагаваньне гэтай CSS-старонкі, таму што яна ўтрымлівае пэрсанальныя налады іншага ўдзельніка.',
 'customjsprotected' => 'Вы ня маеце правоў на рэдагаваньне гэтай старонкі JavaScript, таму што яна ўтрымлівае пэрсанальныя налады іншага ўдзельніка.',
+'mycustomcssprotected' => 'Вы ня маеце дазволу рэдагаваць гэтую CSS-старонку.',
+'mycustomjsprotected' => 'Вы ня маеце дазволу рэдагаваць гэтую JavaScript-старонку.',
 'ns-specialprotected' => 'Немагчыма рэдагаваць спэцыяльныя старонкі.',
 'titleprotected' => "Стварэньне старонкі з такой назвай было забароненае ўдзельнікам [[User:$1|$1]].
 Прычына забароны: ''$2''.",
@@ -793,7 +796,7 @@ $2',
 'cannotchangeemail' => 'Электронная пошта рахунку ня можа быць зьмененая ў {{GRAMMAR:месны|{{SITENAME}}}}.',
 'emaildisabled' => 'Гэты сайт ня можа адсылаць электронныя лісты.',
 'accountcreated' => 'Рахунак створаны',
-'accountcreatedtext' => 'Рахунак удзельніка для $1 быў створаны.',
+'accountcreatedtext' => 'Рахунак {{GENDER:$1|удзельніка|удзельніцы}} [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|гутаркі]]) быў створаны.',
 'createaccount-title' => 'Стварэньне рахунку ў {{GRAMMAR:месны|{{SITENAME}}}}',
 'createaccount-text' => 'Нехта стварыў рахунак «$2» у {{GRAMMAR:месны|{{SITENAME}}}} ($4) для Вашага адрасу электроннай пошты. Пароль для гэтага рахунку — «$3». Вам трэба ўвайсьці і зьмяніць Ваш пароль зараз.
 
@@ -1320,7 +1323,6 @@ $1",
 'searchmenu-legend' => 'Налады пошуку',
 'searchmenu-exists' => "* Старонка '''[[$1]]'''",
 'searchmenu-new' => "'''Стварыць старонку «[[:$1|$1]]» у {{GRAMMAR:месны|{{SITENAME}}}}!'''",
-'searchhelp-url' => 'Help:Зьмест',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Праглядзець старонкі з гэтым прэфіксам]]',
 'searchprofile-articles' => 'Старонкі са зьместам',
 'searchprofile-project' => 'Старонкі дапамогі і праекту',
@@ -1577,6 +1579,8 @@ $1",
 'right-editusercssjs' => 'рэдагаваньне CSS і JS файлаў іншых удзельнікаў',
 'right-editusercss' => 'рэдагаваньне CSS файлаў іншых удзельнікаў',
 'right-edituserjs' => 'рэдагаваньне JS файлаў іншых удзельнікаў',
+'right-editmyusercss' => 'рэдагаваць уласныя карыстальніцкія CSS-файлы',
+'right-editmyuserjs' => 'рэдагаваць уласныя карыстальніцкія JavaScript-файлы',
 'right-rollback' => 'хуткі адкат правак апошняга ўдзельніка, які рэдагаваў старонку',
 'right-markbotedits' => 'пазначэньне адкатаў як рэдагаваньне робатам',
 'right-noratelimit' => 'няма абмежаваньняў па хуткасьці',
@@ -2573,7 +2577,7 @@ $1',
 'mycontris' => 'Унёсак',
 'contribsub2' => 'Для $1 ($2)',
 'nocontribs' => 'Ня знойдзена зьменаў, якія адпавядаюць гэтым крытэрыям.',
-'uctop' => ' (апошняя)',
+'uctop' => '(апошняя)',
 'month' => 'Ад месяца (і раней):',
 'year' => 'Ад году (і раней):',
 
index 9e10dd4..ddbcac1 100644 (file)
@@ -634,6 +634,8 @@ $2',
 'namespaceprotected' => "Нямате права за редактиране на страници в именно пространство '''$1'''.",
 'customcssprotected' => 'Нямате права за редактиране на тази CSS страница, защото тя съдържа чужди потребителски настройки.',
 'customjsprotected' => 'Нямате права за редактиране на тази Джаваскрипт страница, защото тя съдържа чужди потребителски настройки.',
+'mycustomcssprotected' => 'Нямате права за редактиране на тази CSS страница.',
+'mycustomjsprotected' => 'Нямате права за редактиране на тази JavaScript страница.',
 'ns-specialprotected' => 'Специалните страници не могат да бъдат редактирани.',
 'titleprotected' => "Тази страница е била защитена срещу създаване от [[User:$1|$1]].
 Посочената причина е ''$2''.",
@@ -679,6 +681,7 @@ $2',
 'logout' => 'Излизане',
 'userlogout' => 'Излизане',
 'notloggedin' => 'Не сте влезли',
+'userlogin-noaccount' => 'Нямате сметка?',
 'userlogin-joinproject' => 'Присъединяване към {{SITENAME}}',
 'nologin' => "Нямате потребителско име? '''$1'''.",
 'nologinlink' => 'Създаване на сметка',
@@ -686,11 +689,16 @@ $2',
 'gotaccount' => "Имате ли вече сметка? '''$1'''.",
 'gotaccountlink' => 'Влизане',
 'userlogin-resetlink' => 'Забравени данни за влизане в системата?',
+'userlogin-resetpassword-link' => 'Възстановяване на паролата',
 'createacct-emailrequired' => 'Адрес за електронна поща',
+'createacct-emailoptional' => 'Адрес за електронна поща (незадължително)',
 'createaccountmail' => 'Използване на временна парола, която се изпраща по електронната поща, посочена по-долу',
 'createaccountreason' => 'Причина:',
 'createacct-reason' => 'Причина',
 'createacct-imgcaptcha-ph' => 'Въведете текста, който виждате по-горе',
+'createacct-submit' => 'Създаване на сметката',
+'createacct-benefit-heading' => '{{SITENAME}} се създава от хора като вас.',
+'createacct-benefit-body2' => '{{PLURAL:$1|страница|страници}}',
 'badretype' => 'Въведените пароли не съвпадат.',
 'userexists' => 'Въведеното потребителско име вече се използва.
 Изберете друго име.',
@@ -741,7 +749,7 @@ $2',
 'cannotchangeemail' => 'Адресите за електронна поща на сметките не могат да бъдат променяни в това уики.',
 'emaildisabled' => 'Този сайт не може да изпраща е-поща.',
 'accountcreated' => 'Потребителската сметка беше създадена',
-'accountcreatedtext' => 'Потребителската сметка за $1 беше създадена.',
+'accountcreatedtext' => 'Потребителската сметка [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|беседа]]) беше създадена.',
 'createaccount-title' => 'Създаване на сметка за {{SITENAME}}',
 'createaccount-text' => 'Някой е създал сметка за $2 в {{SITENAME}} ($4) и е посочил този адрес за електронна поща. Паролата за „$2“ е „$3“. Необходимо е да влезете в системата и да смените паролата си.
 
@@ -1252,7 +1260,6 @@ $1",
 'searchmenu-legend' => 'Настройки на търсенето',
 'searchmenu-exists' => "'''Съществува страница с името „[[:$1]]“ в това уики.'''",
 'searchmenu-new' => "'''Създаване на страницата „[[:$1]]“ в това уики!'''",
-'searchhelp-url' => 'Help:Съдържание',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Преглеждане на страниците с тази представка]]',
 'searchprofile-articles' => 'Съдържателни страници',
 'searchprofile-project' => 'Помощни и проектни страници',
index 3775f4c..5713df4 100644 (file)
@@ -473,7 +473,6 @@ Legend: '''({{int:cur}})''' = हाल के संशोधन के सा
 'searchmenu-legend' => 'खोज विकल्प',
 'searchmenu-exists' => "'''इ विकि पर ''[[:$1]]'' नाम से एगो पन्ना उपलब्ध बा'''",
 'searchmenu-new' => "'''इ विकि पर ''[[:$1]]'' नाम से पन्ना बनाईं'''",
-'searchhelp-url' => 'Help:सामग्री',
 'searchmenu-prefix' => '[[विशेष:उपसर्ग सूची/$1|इ उपसर्ग साथे पन्ना ब्राउज करीं]]',
 'searchprofile-articles' => 'सामग्री पन्ना',
 'searchprofile-project' => 'मदद आ परियोजना पन्ना',
index 83cebd4..257c43c 100644 (file)
@@ -674,10 +674,8 @@ Pian pinanya sudah barhasil maubah katasunduk Pian atawa maminta sabuting katasu
 
 # Special:PasswordReset
 'passwordreset' => 'Bulikakan setelan katasunduk',
-'passwordreset-text' => 'Tuntungakan purmulir ngini gasan manarima sabuting suril pangingat rarincian akun Pian.',
 'passwordreset-legend' => 'Bulikakan setelan katasunduk',
 'passwordreset-disabled' => 'Mambulikakan setelan katasunduk dipajahakan hagan wiki ngini.',
-'passwordreset-pretext' => '{{PLURAL:$1||Buati asa data di bawah ngini}}',
 'passwordreset-username' => 'Ngaran pamakai:',
 'passwordreset-domain' => 'Dumain:',
 'passwordreset-capture' => 'Tiringikah kulihan suril?',
@@ -1148,7 +1146,6 @@ Catatan bahwasa mamuruk tautan napigasi akan mambulikakan setelan kolum ngini.',
 'searchmenu-legend' => 'Papilihan manggagai',
 'searchmenu-exists' => "'''Ada tungkaran bangaran \"[[:\$1]]\" dalam wiki ini.'''",
 'searchmenu-new' => "'''Maulah tungkaran \"[[:\$1]]\" dalam wiki ngini!'''",
-'searchhelp-url' => 'Help:Isi',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Janaki daptar tungkaran lawan awalan ngini]]',
 'searchprofile-articles' => 'Tungkaran isi',
 'searchprofile-project' => 'Tutungkaran Patulung wan Rangka gawian',
index feb2e4b..38f617a 100644 (file)
@@ -271,6 +271,7 @@ $messages = array(
 'create-this-page' => 'পাতাটি তৈরি করো',
 'delete' => 'অপসারণ',
 'deletethispage' => 'এই পাতাটি মুছে ফেলুন',
+'undeletethispage' => 'এই পাতাটি মুছো না',
 'undelete_short' => 'পুনঃস্থাপন {{PLURAL:$1|১টি সম্পাদনা|$1টি সম্পাদনাসমূহ}}',
 'viewdeleted_short' => '{{PLURAL:$1| টি অপসারিত সম্পাদনা|$1 টি অপসারিত সম্পাদনা}} দেখাও',
 'protect' => 'সুরক্ষা',
@@ -282,7 +283,7 @@ $messages = array(
 'talkpage' => 'আলোচনা করুন',
 'talkpagelinktext' => 'আলোচনা',
 'specialpage' => 'বিশেষ পাতা',
-'personaltools' => 'নিà¦\9cসà§\8dব à¦¹à¦¾à¦¤à¦¿à¦¯à¦¼à¦¾à¦°সমূহ',
+'personaltools' => 'নিà¦\9cসà§\8dব à¦¸à¦°à¦\9eà§\8dà¦\9cামসমূহ',
 'postcomment' => 'নতুন অনুচ্ছেদ',
 'articlepage' => 'নিবন্ধ দেখুন',
 'talk' => 'আলোচনা',
@@ -472,6 +473,8 @@ $2',
 'namespaceprotected' => "'''$1''' নামস্থানে কোন পাতা আপনার সম্পাদনা করার অনুমতি নেই।",
 'customcssprotected' => 'আপনার এই সিএসএস পাতাটি সম্পাদনা করার অনুমতি নেই, কারণ এ পাতায় অন্য ব্যবহারকারীর নিজস্ব সেটিংস রয়েছে।',
 'customjsprotected' => 'আপনার এই জাভাস্ক্রিপ্ট পাতাটি সম্পাদনা করার অনুমতি নেই, কারণ এ পাতায় অন্য ব্যবহারকারীর নিজস্ব সেটিংস রয়েছে।',
+'mycustomcssprotected' => 'আপনার এই সিএসএস পাতাটি সম্পাদনা করার অনুমতি নেই।',
+'mycustomjsprotected' => 'আপনার এই জাভাস্ক্রিপ্ট পাতাটি সম্পাদনা করার অনুমতি নেই।',
 'ns-specialprotected' => '{{ns:special}} নামস্থানে পাতাসমূহ সম্পাদনা করা যাবে না।',
 'titleprotected' => "[[User:$1|$1]]-কে এই শিরোনামের পাতা সৃষ্টি করতে বাধা দেয়া হচ্ছে। কারণ: ''$2''।",
 'filereadonlyerror' => '"$1" ফাইলটিকে পরিবর্তন করা সম্ভব হচ্ছে না কারন "$2" ফাইল রিপোসিটোরি রিড-অনলি-মোডে আছে।
@@ -521,7 +524,7 @@ $2',
 'userlogout' => 'প্রস্থান',
 'notloggedin' => 'আপনি সংযুক্ত নন',
 'userlogin-noaccount' => 'কোনও অ্যাকাউন্ট নেই?',
-'userlogin-joinproject' => '{{SITENAME}}-à¦\8f à¦\85à¦\82শà¦\97à§\8dরহন à¦\95রà§\81ন',
+'userlogin-joinproject' => '{{SITENAME}}-à¦\8f à¦¯à§\8bà¦\97 à¦¦à¦¿ন',
 'nologin' => "আপনার কি উইকিপিডিয়াতে অ্যাকাউন্ট নেই? তাহলে '''$1'''।",
 'nologinlink' => 'অ্যাকাউন্ট তৈরি করুন',
 'createaccount' => 'নতুন অ্যাকাউন্ট খুলুন',
@@ -544,9 +547,9 @@ $2',
 'createacct-imgcaptcha-ph' => 'উপরে যে লেখা দেখতে পাচ্ছেন তা লিখুন',
 'createacct-submit' => 'আপনার অ্যাকাউন্ট তৈরি করুন',
 'createacct-benefit-heading' => '{{SITENAME}} আপনার মত লোকেরই তৈরি।',
-'createacct-benefit-body1' => '{{PLURAL:$1|সম্পাদনা}}',
-'createacct-benefit-body2' => '{{PLURAL:$1|পাতা|পাতাসমà§\82হ}}',
-'createacct-benefit-body3' => 'সাম্প্রতিক {{PLURAL:$1|অবদানকারী|অবদানকারীগণ}}',
+'createacct-benefit-body1' => '{{PLURAL:$1|à¦\9fি à¦¸à¦®à§\8dপাদনা}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|à¦\9fি à¦ªà¦¾à¦¤à¦¾}}',
+'createacct-benefit-body3' => 'সাম্প্রতিক {{PLURAL:$1|অবদানকারী}}',
 'badretype' => "আপনার প্রবেশ করানো শব্দচাবি'টি মিলছেনা।",
 'userexists' => 'এই ব্যবহারকারী নামটি ইতমধ্যে ব্যবহার করা হয়েছে।
 অনুগ্রহ করে অন্য নাম বেছে নিন।',
@@ -596,7 +599,7 @@ $2',
 'cannotchangeemail' => 'একাউন্ট ইমেইল ঠিকানা এই উইকিতে পরিবর্তন করা যাবে না।',
 'emaildisabled' => 'এই সাইটটিতে ই-মেইল প্রদানের সুবিধা নেই।',
 'accountcreated' => 'অ্যাকাউন্ট তৈরি করা হয়েছে',
-'accountcreatedtext' => '$1 এর জন্য ব্যবহারকারী অ্যাকাউন্ট তৈরি করা হয়েছে।',
+'accountcreatedtext' => '[[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|আলাপ]]) এর জন্য ব্যবহারকারী অ্যাকাউন্ট তৈরি করা হয়েছে।',
 'createaccount-title' => '{{SITENAME}}-এর জন্য অ্যাকাউন্ট সৃষ্টি',
 'createaccount-text' => 'কেউ $2-এর জন্য {{SITENAME}}-এ একটি অ্যাকাউন্ট সৃষ্টি করেছেন ($4)। "$2"-এর জন্য শব্দচাবি হল "$3"। আপনার এখন অ্যাকাউন্টে প্রবেশ করে শব্দচাবি পরিবর্তন করা উচিত।
 
@@ -842,9 +845,9 @@ $1 নিষেধাজ্ঞা আরোপ করেছেন। নিষ
 'cascadeprotectedwarning' => "'''সতর্কীকরণ:''' এই পাতাটি বন্ধ করা হয়েছে, যাতে কেবল প্রশাসকের ক্ষমতাবিশিষ্ট ব্যবহারকারীরা এটি সম্পাদনা করতে পারেন, কারণ এই পাতাটি নিচের প্রপাতাকারে সুরক্ষিত (cascade-protected) {{PLURAL:$1|টি পাতায়|টি পাতায়}} অন্তর্ভুক্ত আছে:",
 'titleprotectedwarning' => "'''সতর্কীকরণ: এই পাতাটির ব্যবহার সীমিত করা হয়েছে, যাতে কেবলমাত্র [[Special:ListGroupRights|এই নির্দিষ্ট অনুমতিপ্রাপ্ত]] ব্যবহারকারী এটি তৈরি করতে পারেন।'''
 আপনার সুবিধার্থে পাতাটির সাম্প্রতিক সংরক্ষণ লগের বিবরণ নিচে দেওয়া হলো।",
-'templatesused' => 'à¦\8fà¦\87 à¦ªà¦¾à¦¤à¦¾à¦¯à¦¼ à¦¬à§\8dযবহà§\83ত {{PLURAL:$1|à¦\9fà§\87মà§\8dপলà§\87à¦\9f|à¦\9fà§\87মà§\8dপলেটসমূহ}}:',
+'templatesused' => 'à¦\8fà¦\87 à¦ªà¦¾à¦¤à¦¾à¦¯à¦¼ à¦¬à§\8dযবহà§\83ত {{PLURAL:$1|à¦\9fà§\87মপà§\8dলà§\87à¦\9f|à¦\9fà§\87মপà§\8dলেটসমূহ}}:',
 'templatesusedpreview' => 'এই প্রাকদর্শনে ব্যবহৃত {{PLURAL:$1|টেম্পলেট| টেম্পলেটসমূহ}}:',
-'templatesusedsection' => 'à¦\8fà¦\87 à¦\85নà§\81à¦\9aà§\8dà¦\9bà§\87দà§\87 à¦¬à§\8dযবহà§\83ত {{PLURAL:$1|à¦\9fà§\87মà§\8dপলà§\87à¦\9f|à¦\9fà§\87মà§\8dপলেটসমূহ}}:',
+'templatesusedsection' => 'à¦\8fà¦\87 à¦\85নà§\81à¦\9aà§\8dà¦\9bà§\87দà§\87 à¦¬à§\8dযবহà§\83ত {{PLURAL:$1|à¦\9fà§\87মপà§\8dলà§\87à¦\9f|à¦\9fà§\87মপà§\8dলেটসমূহ}}:',
 'template-protected' => '(সুরক্ষিত)',
 'template-semiprotected' => '(অর্ধ-সুরক্ষিত)',
 'hiddencategories' => 'এ পাতাটি যে {{PLURAL:$1|1 লুকায়িত বিষয়শ্রেণীর|$1 লুকায়িত বিষয়শ্রেণীসমূহের}} সদস্য:',
@@ -1120,7 +1123,6 @@ $1",
 'searchmenu-legend' => 'অনুসন্ধান অপশন',
 'searchmenu-exists' => "'''এই উইকিতে \"[[:\$1]]\" নামে একটি পাতা রয়েছে'''",
 'searchmenu-new' => "'''\"[[:\$1]]\" পাতাটি এই উইকিতে তৈরি করুন!'''",
-'searchhelp-url' => 'Help:সহায়িকা',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|এই প্রিফিক্স রয়েছে এমন পাতা দেখুন]]',
 'searchprofile-articles' => 'বিষয়বস্তুর পাতা',
 'searchprofile-project' => 'সহায়িকা এবং প্রকল্প পাতা',
@@ -1375,6 +1377,8 @@ $1",
 'right-editusercssjs' => 'অন্য ব্যবহারকারীগণের CSS এবং JS ফাইল সম্পাদনা',
 'right-editusercss' => 'অন্য ব্যবহারকারীগণের CSS ফাইল সম্পাদনা',
 'right-edituserjs' => 'অন্য ব্যবহারকারীগণের JS ফাইল সম্পাদনা',
+'right-editmyusercss' => 'আপনার নিজস্ব ব্যবহারকারী সিএসএস ফাইল সম্পাদনা করুন',
+'right-editmyuserjs' => 'আপনার নিজস্ব ব্যবহারকারী জাভাস্ক্রিপ্ট ফাইল সম্পাদনা করুন',
 'right-rollback' => 'একটি নির্দিষ্ট পাতার সর্বশেষ ব্যবহারকারীর সম্পদনা পূর্বাবস্থায় ফিরিয়ে আনুন',
 'right-markbotedits' => 'রোলড-ব্যাক সম্পাদনাসমূহকে বট সম্পাদনা হিসেবে চিহ্নিত করো',
 'right-noratelimit' => 'রেট লিমিটের ভিত্তিতে পরিবর্তন হবে না',
@@ -2363,7 +2367,7 @@ $1',
 'mycontris' => 'অবদান',
 'contribsub2' => '$1 ($2)-এর জন্য',
 'nocontribs' => 'এই শর্তগুলির সাথে মিলে যায়, এমন কোন পরিবর্তন খুঁজে পাওয়া যায়নি।',
-'uctop' => '(শà§\80রà§\8dষ)',
+'uctop' => '(বরà§\8dতমান)',
 'month' => 'এই মাস (বা তার আগে) থেকে:',
 'year' => 'এই বছর (এবং তার আগে) থেকে:',
 
@@ -2661,7 +2665,7 @@ $1',
 'export-addnstext' => 'নামস্থান থেকে পাতা যুক্ত করুন:',
 'export-addns' => 'যোগ',
 'export-download' => 'ফাইল হিসেবে সংরক্ষণ করা হোক',
-'export-templates' => 'à¦\9fà§\87মà§\8dপলেট অন্তর্ভুক্তি',
+'export-templates' => 'à¦\9fà§\87মপà§\8dলেট অন্তর্ভুক্তি',
 'export-pagelinks' => 'সম্পর্কিত পাতাগুলো এই ধাপ পর্যন্ত যুক্ত করো:',
 
 # Namespace 8 related
@@ -3621,6 +3625,7 @@ $4-এ নিশ্চিতকরণ কোডটি মেয়াদোত
 
 # Signatures
 'signature' => '[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|আলাপ]])',
+'timezone-utc' => 'ইউটিসি',
 
 # Core parser functions
 'unknown_extension_tag' => 'অজানা এক্সটেনশন ট্যাগ "$1"',
index f5b2db4..4e6b462 100644 (file)
@@ -841,7 +841,6 @@ $2',
 'searchmenu-legend' => 'বিসারানির অপশনহানি',
 'searchmenu-exists' => "'''উইকি এহাত \"[[:\$1]]\" নাঙে পাতা আহান আসে'''",
 'searchmenu-new' => "'''\"[[:\$1]]\" নাঙর পাতাহান এরে উইকিত হঙকর!'''",
-'searchhelp-url' => 'Help:পাংলাক',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|এরে prefix এতাল আসে পাতাহানি]]',
 'searchprofile-articles' => 'কন্টেন্টর পাতাহানি',
 'searchprofile-project' => 'পাঙলাক বারো প্রকল্পর পাতা',
index 1f4f430..3daba8a 100644 (file)
@@ -1193,7 +1193,6 @@ Gallout a reot kavout munudoù e [{{fullurl:{{#Special:Log}}/delete|page={{FULLP
 'searchmenu-legend' => 'Dibarzhioù klask',
 'searchmenu-exists' => "'''Ur bajenn anvet\"[[:\$1]]\" zo war ar wiki-mañ'''",
 'searchmenu-new' => "'''Krouiñ ar bajenn \"[[:\$1]]\" war ar wiki-mañ !'''",
-'searchhelp-url' => 'Help:Skoazell',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Furchal er pajennoù a grog gant ar rakger-mañ]]',
 'searchprofile-articles' => 'Pajennoù gant boued',
 'searchprofile-project' => 'Pajennoù skoazell ha pajennoù ar raktres',
index 1fb83e5..51ed893 100644 (file)
@@ -727,7 +727,7 @@ Ne zaboravite da prilagodite sebi svoja [[Special:Preferences|{{SITENAME}} pode
 'logout' => 'Odjavi me',
 'userlogout' => 'Odjavi me',
 'notloggedin' => 'Niste prijavljeni',
-'userlogin-noaccount' => 'Nemate korisničko ime?',
+'userlogin-noaccount' => 'Nemate korisnički račun?',
 'userlogin-joinproject' => 'Pridružite se {{SITENAME}}',
 'nologin' => "Nemate korisničko ime? '''$1'''.",
 'nologinlink' => 'Napravite nalog',
@@ -746,12 +746,14 @@ Ne zaboravite da prilagodite sebi svoja [[Special:Preferences|{{SITENAME}} pode
 'createacct-realname' => 'Pravo ime (opcionalno)',
 'createaccountreason' => 'Razlog:',
 'createacct-reason' => 'Razlog',
+'createacct-reason-ph' => 'Zašto pravite još jedan korisnički račun?',
 'createacct-captcha' => 'Sigurnosna provjera',
 'createacct-imgcaptcha-ph' => 'Unesite tekst koji vidite iznad',
 'createacct-submit' => 'Napravite svoj korisnički račun',
 'createacct-benefit-heading' => '{{SITENAME}} je napravljen od strane ljudi kao što ste Vi.',
 'createacct-benefit-body1' => '{{PLURAL:$1|izmjena|izmjene}}',
 'createacct-benefit-body2' => '{{PLURAL:$1|stranica|stranice|stranica}}',
+'createacct-benefit-body3' => 'nedavni {{PLURAL:$1|doprinosa}}',
 'badretype' => 'Šifre koje ste unijeli se ne poklapaju.',
 'userexists' => 'Korisničko ime koje ste unijeli je već u upotrebi.
 Molimo Vas da izaberete drugo ime.',
@@ -806,7 +808,7 @@ Molimo vas da unesete ispravnu adresu ili ostavite prazno polje.',
 'cannotchangeemail' => 'Na ovom wikiju ne možete promijeniti e-mail adresu računa.',
 'emaildisabled' => 'Ova web-stranica ne može da šalje e-poruke.',
 'accountcreated' => 'Korisnički račun je napravljen',
-'accountcreatedtext' => 'Korisnički račun za $1 je napravljen.',
+'accountcreatedtext' => 'Korisnički račun za [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|razgovor]]) je napravljen.',
 'createaccount-title' => 'Pravljenje korisničkog računa za {{SITENAME}}',
 'createaccount-text' => 'Neko je napravio korisnički račun za vašu e-mail adresu na {{SITENAME}} ($4) sa imenom "$2", i sa šifrom "$3".
 Trebali biste se prijaviti i promjeniti šifru.
@@ -844,6 +846,7 @@ Možda ste već uspješno promijenili Vašu šifru ili ste tražili novu privrem
 
 # Special:PasswordReset
 'passwordreset' => 'Poništavanje šifre',
+'passwordreset-text-one' => 'Ispunite ovaj obrazac da biste resetovali Vašu šifru/lozinku.',
 'passwordreset-legend' => 'Poništi šifru',
 'passwordreset-disabled' => 'Poništavanje šifre  je onemogućeno na ovoj wiki.',
 'passwordreset-username' => 'Korisničko ime:',
@@ -1089,6 +1092,7 @@ Nije ponuđeno nikakvo objašnjenje.',
 Izgleda da je obrisana.',
 'edit-conflict' => 'Sukob izmjena.',
 'edit-no-change' => 'Vaša izmjena je ignorirana, jer nije bilo promjena teksta stranice.',
+'postedit-confirmation' => 'Vaša izmjena je sačuvana.',
 'edit-already-exists' => 'Stranica nije mogla biti kreirana.
 Izgleda da već postoji.',
 'defaultmessagetext' => 'Uobičajeni tekst poruke',
@@ -1337,7 +1341,6 @@ Više informacija možete pronaći u [{{fullurl:{{#Special:Log}}/delete|page={{F
 'searchmenu-legend' => 'Opcije pretrage',
 'searchmenu-exists' => "'''Postoji stranica pod nazivom \"[[:\$1]]\" na ovoj wiki'''",
 'searchmenu-new' => "'''Napravi stranicu \"[[:\$1|\$1]]\" na ovoj wiki!'''",
-'searchhelp-url' => 'Help:Sadržaj',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Pregledaj stranice sa ovim prefiksom]]',
 'searchprofile-articles' => 'Stranice sadržaja',
 'searchprofile-project' => 'Stranice pomoći i projekta',
@@ -3219,11 +3222,25 @@ $1',
 'minutes' => '{{PLURAL:$1|$1 minuta|$1 minute|$1 minuta}}',
 'hours' => '{{PLURAL:$1|$1 sat|$1 sata|$1 sati}}',
 'days' => '{{PLURAL:$1|$1 dan|$1 dana|$1 dana}}',
+'weeks' => '{{PLURAL:$1|$1 sedmica}}',
 'months' => '{{PLURAL:$1|$1 mjesec|$1 mjeseci}}',
 'years' => '{{PLURAL:$1|$1 godina|$1 godine|$1 godina}}',
 'ago' => 'prije $1',
 'just-now' => 'upravo sad',
 
+# Human-readable timestamps
+'hours-ago' => 'prije $1 {{PLURAL:$1|sat|sata|sati}}',
+'minutes-ago' => 'prije $1 {{PLURAL:$1|minute|minute|minuta}}',
+'seconds-ago' => 'prije $1 {{PLURAL:$1|sekunde|sekunde|sekundi}}',
+'monday-at' => 'Ponedeljak u $1',
+'tuesday-at' => 'Utorak u $1',
+'wednesday-at' => 'Srijeda u $1',
+'thursday-at' => 'Četvrtak u $1',
+'friday-at' => 'Petak u $1',
+'saturday-at' => 'Subota u $1',
+'sunday-at' => 'Nedjelja u $1',
+'yesterday-at' => 'Jučer u $1',
+
 # Bad image list
 'bad_image_list' => "Koristi se sljedeći format:
 
@@ -3904,6 +3921,12 @@ Trebali biste dobiti [{{SERVER}}{{SCRIPTPATH}}/KOPIJU GNU opće javne licence] z
 'version-entrypoints-header-entrypoint' => 'Ulazna tačka',
 'version-entrypoints-header-url' => 'URL',
 
+# Special:Redirect
+'redirect-submit' => 'Idi',
+'redirect-user' => 'Korisnički ID',
+'redirect-revision' => 'Verzija stranice',
+'redirect-file' => 'Naziv datoteke',
+
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Pretraga za duplim datotekama',
 'fileduplicatesearch-summary' => 'Pretraga za duplim datotekama na bazi njihove haš vrijednosti.',
@@ -3992,6 +4015,9 @@ Trebali biste dobiti [{{SERVER}}{{SCRIPTPATH}}/KOPIJU GNU opće javne licence] z
 'htmlform-submit' => 'Pošalji',
 'htmlform-reset' => 'Vrati izmjene',
 'htmlform-selectorother-other' => 'Ostalo',
+'htmlform-no' => 'Ne',
+'htmlform-yes' => 'Da',
+'htmlform-chosen-placeholder' => 'Izaberite opciju',
 
 # SQLite database support
 'sqlite-has-fts' => '$1 sa podrškom pretrage cijelog teksta',
index d6431ac..a6e65e1 100644 (file)
@@ -448,8 +448,8 @@ $1",
 'mainpage' => 'Pàgina principal',
 'mainpage-description' => 'Pàgina principal',
 'policy-url' => 'Project:Polítiques',
-'portal' => 'Portal comunitari',
-'portal-url' => 'Project:Portal',
+'portal' => 'Portal de la comunitat',
+'portal-url' => 'Project:Portal de la comunitat',
 'privacy' => 'Política de privadesa',
 'privacypage' => 'Project:Política de privadesa',
 
@@ -714,7 +714,7 @@ Introduïu una adreça amb un format adequat o bé buideu el camp.",
 'cannotchangeemail' => 'No podeu canviar adreces de correu electrònic en aquest wiki.',
 'emaildisabled' => 'El lloc no pot enviar correus electrònics.',
 'accountcreated' => "S'ha creat el compte",
-'accountcreatedtext' => "S'ha creat el compte d'usuari de $1.",
+'accountcreatedtext' => "S'ha creat el compte d'usuari de [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|discussió]]).",
 'createaccount-title' => "Creació d'un compte a {{SITENAME}}",
 'createaccount-text' => "Algú ha creat un compte d'usuari anomenat $2 al projecte {{SITENAME}}
 ($4) amb la vostra adreça de correu electrònic. La contrasenya per a l'usuari «$2» és «$3». Hauríeu d'accedir al compte i canviar-vos aquesta contrasenya quan abans millor.
@@ -1235,7 +1235,6 @@ Es pot trobar més informació en el [{{fullurl:{{#Special:Log}}/delete|page={{F
 'searchmenu-legend' => 'Opcions de cerca',
 'searchmenu-exists' => "'''Hi ha una pàgina anomenada «[[:$1]]» en aquest wiki'''",
 'searchmenu-new' => "'''Creeu la pàgina «[[:$1]]» en aquest wiki!'''",
-'searchhelp-url' => 'Help:Ajuda',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Mostra pàgines amb aquest prefix]]',
 'searchprofile-articles' => 'Pàgines de contingut',
 'searchprofile-project' => "Pàgines d'ajuda i de projecte",
@@ -2883,10 +2882,10 @@ Deseu-lo al vostre ordinador i carregueu-ne una còpia ací.",
 'tooltip-pt-preferences' => 'Les vostres preferències.',
 'tooltip-pt-watchlist' => 'La llista de pàgines de les que estau vigilant els canvis.',
 'tooltip-pt-mycontris' => 'Llista de les vostres contribucions.',
-'tooltip-pt-login' => 'Us animem a registrar-vos, però no és obligatori.',
+'tooltip-pt-login' => 'Us animem a registrar-vos, però no és obligatori',
 'tooltip-pt-anonlogin' => 'Us animem a registrar-vos, però no és obligatori.',
 'tooltip-pt-logout' => "Finalitza la sessió d'usuari",
-'tooltip-ca-talk' => "Discussió sobre el contingut d'aquesta pàgina.",
+'tooltip-ca-talk' => "Discussió sobre el contingut d'aquesta pàgina",
 'tooltip-ca-edit' => 'Podeu modificar aquesta pàgina. Si us plau, previsualitzeu-la abans de desar.',
 'tooltip-ca-addsection' => 'Comença una nova secció',
 'tooltip-ca-viewsource' => 'Aquesta pàgina està protegida. Podeu veure el seu codi font.',
@@ -2900,16 +2899,16 @@ Deseu-lo al vostre ordinador i carregueu-ne una còpia ací.",
 'tooltip-ca-unwatch' => 'Suprimiu aquesta pàgina de la vostra llista de seguiment',
 'tooltip-search' => 'Cerca a {{SITENAME}}',
 'tooltip-search-go' => 'Vés a una pàgina amb aquest nom exacte si existeix',
-'tooltip-search-fulltext' => 'Cerca a les pàgines aquest text',
-'tooltip-p-logo' => 'Pàgina principal',
+'tooltip-search-fulltext' => 'Cerca aquest text a les pàgines',
+'tooltip-p-logo' => 'Visiteu la pàgina principal',
 'tooltip-n-mainpage' => 'Visiteu la pàgina principal.',
 'tooltip-n-mainpage-description' => 'Vegeu la pàgina principal',
-'tooltip-n-portal' => 'Sobre el projecte, què podeu fer, on podeu trobar coses.',
+'tooltip-n-portal' => 'Sobre el projecte, què podeu fer, on podeu trobar coses',
 'tooltip-n-currentevents' => "Per trobar informació general sobre l'actualitat.",
-'tooltip-n-recentchanges' => 'La llista de canvis recents a la wiki.',
-'tooltip-n-randompage' => 'Vés a una pàgina aleatòria.',
-'tooltip-n-help' => 'El lloc per esbrinar.',
-'tooltip-t-whatlinkshere' => 'Llista de totes les pàgines viqui que enllacen ací.',
+'tooltip-n-recentchanges' => 'Llista de canvis recents al wiki',
+'tooltip-n-randompage' => "Pàgina a l'atzar",
+'tooltip-n-help' => 'El lloc per saber més coses',
+'tooltip-t-whatlinkshere' => 'Llista de totes les pàgines wiki que enllacen aquí',
 'tooltip-t-recentchangeslinked' => 'Canvis recents a pàgines que enllacen amb aquesta pàgina.',
 'tooltip-feed-rss' => "Canal RSS d'aquesta pàgina",
 'tooltip-feed-atom' => "Canal Atom d'aquesta pàgina",
index f3dc6a5..371c6ca 100644 (file)
@@ -359,7 +359,6 @@ Siók-mìng: (dāng) = gâe̤ng dék sĭng bēng-buōng bī-piâng, (sèng) = g
 'prevn' => 'sèng {{PLURAL:$1|$1}} hâung',
 'nextn' => 'â {{PLURAL:$1|$1}} hâung',
 'viewprevnext' => 'Káng ($1 {{int:pipe-separator}} $2) ($3).',
-'searchhelp-url' => 'Help:Mŭk-liŏh',
 'showingresults' => "Hiēng-sê téng #<b>$2</b> kăi-sṳ̄ gì {{PLURAL:$1|'''1'''|'''$1'''}} bĭk giék-guō.",
 'showingresultsnum' => "Hiēng-sê téng #<b>$2</b> kăi-sṳ̄ gì {{PLURAL:$3|'''1'''|'''$3'''}} bĭk giék-guō.",
 
index 0da6e9e..d285d7c 100644 (file)
@@ -686,6 +686,8 @@ $1',
 'note' => "'''Билгалдаккхар:'''",
 'previewnote' => "'''Хlара хьалх хьажар ду, йоза хlинца язданза ду!'''",
 'continue-editing' => 'Кхин дӀа тадар',
+'session_fail_preview' => 'Сервер лара ца йира ахьа бина хийцамаш дӀаязба. Кхиъ цкъа а гӀортахь.
+Нагахь санна хӀара гӀалат юха а далахь, [[Special:UserLogout|сеанс дӀа а къоьвлин]], юха а системин чувала/яла хьажа.',
 'editing' => 'Тадар: $1',
 'creating' => 'АгӀо кхоллар «$1»',
 'editingsection' => 'Тадар $1 (даакъа)',
@@ -785,6 +787,7 @@ $1',
 
 # Diffs
 'history-title' => '$1 — хийцаман истори',
+'difference-title' => '$1 — Версешан башхалла',
 'lineno' => 'Могlа $1:',
 'compareselectedversions' => 'Хаьржиначуьна башхо муха ю хьажа',
 'showhideselectedversions' => 'Гайта/къайлайаха хаьржина башхонаш',
@@ -804,7 +807,6 @@ $1',
 'searchmenu-legend' => 'Лахарна гlирс нисба',
 'searchmenu-exists' => "'''Хlокху вики-кхолламашца йолуш ю ишта агlо «[[:$1]]»'''",
 'searchmenu-new' => "'''Кхолла ишта агlо «[[:$1]]» хlокху вики-кхолламашчохь!'''",
-'searchhelp-url' => 'Help:Чулацам',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Гайта агlонаш ишта хlоттам болуш]]',
 'searchprofile-articles' => 'Къаьстина агlонаш',
 'searchprofile-project' => 'Нисвохааман агlонаш а кхолламаш',
@@ -1025,6 +1027,7 @@ $1',
 'uploadwarning' => 'Дlахьедар',
 'uploadedimage' => 'чуяккхина «[[$1]]»',
 'overwroteimage' => 'Чуяккхина файлан керла верси «[[$1]]»',
+'upload-description' => 'Файлах лаьцна',
 'filename-prefix-blacklist' => '#<!-- битийша хlара могlа ша мабарра --> <pre>
 # Бухасиз шолгlа:
 #  * Массо, саболчунтlийра йуьлалуш ерш «#» хуьлу хетаме дерг (могlа чекх балац)
@@ -1073,7 +1076,7 @@ PICT # тайп тайпан
 'nolinkstoimage' => 'АгӀонашчохь файл лелош яц.',
 'sharedupload' => 'Хlара хlума оцун $1 чура ю иза хила мега лелош кхечу кхолламашкахь.',
 'sharedupload-desc-here' => 'ХӀара файл $1 чура ю и лело йиш ю массо проекташкахь.
-Цунна хаам гайтина лахахь. [$2 Файл ВикидӀайуьллуче чохь]',
+Цунна хаам гайтина лахахь. [$2 Файл ВикидӀайуьллучехь]',
 'uploadnewversion-linktext' => 'Чуяккха керла верси хӀокху файлан',
 'shared-repo-name-wikimediacommons' => 'Викидlайуллуче',
 
@@ -1661,6 +1664,7 @@ PICT # тайп тайпан
 
 # Patrolling
 'markaspatrolledtext' => 'Пайден агӏо хилар билгало ян',
+'markedaspatrollednotify' => 'АгӀо «$1» пайдане хилар билгалдина',
 
 # Browsing diffs
 'previousdiff' => '← Хьалхдоьда нисдинарг',
index a217035..a549780 100644 (file)
@@ -709,7 +709,6 @@ Hinumdomi nga ang paggamit sa mga sumpay sa nabigasyon mo-reset sa column.',
 'prevn' => 'miaging {{PLURAL:$1|$1}}',
 'nextn' => 'sunod {{PLURAL:$1|$1}}',
 'viewprevnext' => 'Tan-awa sa ($1 {{int:pipe-separator}} $2) ($3)',
-'searchhelp-url' => 'Help:Mga sulod',
 'searchprofile-everything' => 'Tanan ng bagay',
 'search-result-size' => '$1 ({{PLURAL:$2|1 pulong|$2 ka mga pulong}})',
 'search-redirect' => '(redirek $1)',
index 0305638..fa9da5c 100644 (file)
@@ -631,7 +631,6 @@ Fanapunta na para u na'nuebu i kolumna anggen un usa i inachetton nabegasion.",
 'prevn' => "{{PLURAL:$1|$1}} ni manmå'pos",
 'nextn' => "{{PLURAL:$1|$1}} ni manmamaila'",
 'viewprevnext' => 'Atan i ($1 {{int:pipe-separator}} $2) ($3)',
-'searchhelp-url' => 'Help:Guinaha',
 'search-result-size' => '$1 ({{PLURAL:$2|1 na palabra|$2 na palabra siha}})',
 'search-result-score' => 'Prinisisu: $1%',
 'search-redirect' => "(na'dirihi $1)",
index 6d007a8..07a9d76 100644 (file)
@@ -1169,7 +1169,6 @@ $1",
 'searchmenu-legend' => 'ھەڵبژاردەکانی گەڕان',
 'searchmenu-exists' => "'''پەڕەیەک بە ناوی «[[:$1]]» لەم ویکییەدا ھەیە.'''",
 'searchmenu-new' => "'''لەم ویکییەدا پەڕەی « [[:$1]] » دروست بکە!'''",
-'searchhelp-url' => 'Help:پێرست',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|گەڕیان لە پەڕەکانی بەم پێشگرەوە]]',
 'searchprofile-articles' => 'پەڕە بە ناوەڕۆکەکان',
 'searchprofile-project' => 'پەڕەکانی یارمەتی و پڕۆژە',
index 3d20866..99cd4b6 100644 (file)
@@ -851,7 +851,6 @@ $3 мына бу себепни бильдирди: ''$2''",
 'searchmenu-legend' => 'Къыдырув сазламалары',
 'searchmenu-exists' => "'''Бу викиде \"[[:\$1]]\" адлы бир саифе бар'''",
 'searchmenu-new' => "'''Бу викиде \"[[:\$1]]\" саифесини ярат!'''",
-'searchhelp-url' => 'Help:Мундеридже',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Бу префиксли саифелерни косьтер]]',
 'searchprofile-articles' => 'Малюмат саифелери',
 'searchprofile-project' => 'Ярдым ве лейха саифелери',
index 8791d0f..ce5d91d 100644 (file)
@@ -847,7 +847,6 @@ Vikide bu saifege oşağan saifelerni [[Special:Search|tapıp baqıñız]].',
 'searchmenu-legend' => 'Qıdıruv sazlamaları',
 'searchmenu-exists' => "'''Bu vikide \"[[:\$1]]\" adlı bir saife bar'''",
 'searchmenu-new' => "'''Bu vikide \"[[:\$1]]\" saifesini yarat!'''",
-'searchhelp-url' => 'Help:Münderice',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Bu prefiksli saifelerni köster]]',
 'searchprofile-articles' => 'Malümat saifeleri',
 'searchprofile-project' => 'Yardım ve leyha saifeleri',
index ed35369..af8b1c6 100644 (file)
@@ -562,6 +562,7 @@ $messages = array(
 'create-this-page' => 'Vytvořit tuto stránku',
 'delete' => 'Smazat',
 'deletethispage' => 'Smazat stránku',
+'undeletethispage' => 'Obnovit tuto stránku',
 'undelete_short' => 'Obnovit $1 {{PLURAL:$1|verzi|verze|verzí}}',
 'viewdeleted_short' => 'Zobrazit {{PLURAL:$1|smazanou editaci|$1 smazané editace|$1 smazaných editací}}',
 'protect' => 'Zamknout',
@@ -761,6 +762,8 @@ $2',
 'namespaceprotected' => "Nemáte povoleno editovat stránky ve jmenném prostoru '''$1'''.",
 'customcssprotected' => 'Nemáte povoleno editovat tuto stránku s CSS, protože obsahuje osobní nastavení jiného uživatele.',
 'customjsprotected' => 'Nemáte povoleno editovat tuto stránku s JavaScriptem, protože obsahuje osobní nastavení jiného uživatele.',
+'mycustomcssprotected' => 'Nemáte oprávnění editovat tuto stránku s CSS.',
+'mycustomjsprotected' => 'Nemáte oprávnění editovat tuto stránku s JavaScriptem.',
 'ns-specialprotected' => 'Stránky ve jmenném prostoru {{ns:special}} nelze editovat.',
 'titleprotected' => "Stránku s tímto názvem nelze založit, protože název zamknul uživatel [[User:$1|$1]] s odůvodněním: ''$2''.",
 'filereadonlyerror' => "Nelze změnit soubor „$1“, protože úložiště souborů „$2“ je momentálně pouze pro čtení.
@@ -887,7 +890,7 @@ Kvůli prevenci zneužívání lze heslo zaslat jen jednou za $1 {{PLURAL:$1|hod
 'cannotchangeemail' => 'U uživatelských účtů na této wiki nelze měnit e-mailové adresy.',
 'emaildisabled' => 'Tento server nemůže odesílat e-maily.',
 'accountcreated' => 'Účet vytvořen',
-'accountcreatedtext' => 'Uživatelský účet $1 byl vytvořen.',
+'accountcreatedtext' => 'Uživatelský účet [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|diskuse]]) byl vytvořen.',
 'createaccount-title' => 'Vytvoření účtu na {{grammar:6sg|{{SITENAME}}}}',
 'createaccount-text' => 'Někdo vytvořil na {{grammar:6sg|{{SITENAME}}}} ($4) účet s vaší e-mailovou adresou.
 Jméno účtu: „$2“
@@ -1412,7 +1415,6 @@ Podrobnosti mohou být uvedeny v [{{fullurl:{{#Special:Log}}/delete|page={{FULLP
 'searchmenu-legend' => 'Možnosti hledání',
 'searchmenu-exists' => "'''Na této wiki existuje stránka nazvaná „[[:$1]]“.'''",
 'searchmenu-new' => "'''Vytvořte na této wiki stránku „[[:$1]]“!'''",
-'searchhelp-url' => 'Help:Obsah',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Zobrazit stránky, jejichž název začíná „$1“]]',
 'searchprofile-articles' => 'Články',
 'searchprofile-project' => 'Nápověda a projektové stránky',
@@ -1667,7 +1669,9 @@ Vaše adresa v takovém případě není prozrazena.',
 'right-editinterface' => 'Editace zpráv uživatelského rozhraní',
 'right-editusercssjs' => 'Editace CSS a JS souborů jiných uživatelů',
 'right-editusercss' => 'Editace CSS souborů jiných uživatelů',
-'right-edituserjs' => 'Editace JS souborů jiných uživatelů',
+'right-edituserjs' => 'Editace JavaScriptových souborů jiných uživatelů',
+'right-editmyusercss' => 'Editace vašich uživatelských CSS souborů',
+'right-editmyuserjs' => 'Editace vašich uživatelských JavaScriptových souborů',
 'right-rollback' => 'Rychlý revert úprav posledního uživatele editujícího danou stránku',
 'right-markbotedits' => 'Označování revertů jako editace bota',
 'right-noratelimit' => 'Imunita vůči rychlostním limitům',
@@ -2655,7 +2659,7 @@ $1',
 'mycontris' => 'Příspěvky',
 'contribsub2' => '$1 ($2)',
 'nocontribs' => 'Nenalezeny žádné změny vyhovující kritériím.',
-'uctop' => ' (aktuální)',
+'uctop' => '(aktuální)',
 'month' => 'Do měsíce:',
 'year' => 'Do roku:',
 
index 0be8a21..13aebee 100644 (file)
@@ -578,7 +578,6 @@ $1 хутшăнакан патне, е ытти [[{{MediaWiki:Grouppage-sysop}}|
 'textmatches' => 'Статьясенчи текст пĕрпеклĕхĕ',
 'prevn' => 'малтанхи {{PLURAL:$1|$1}}',
 'nextn' => 'малалли {{PLURAL:$1|$1}}',
-'searchhelp-url' => 'Help:Пулăшу',
 'search-result-size' => '$1 ({{PLURAL:$2|1 сăмах|$2 сăмах}})',
 'showingresults' => 'Аяларах эсир <b>#$2</b> пуçласа кăтартнă <b>$1</b> йĕркене куратăр.',
 'showingresultsheader' => "{{PLURAL:$5|Результат '''$1'''  '''$3''' хушшинчен|Результатсем'''$1 - $2''' '''$3''' хушшинчен}}  '''$4''' валли",
index a7e2343..afabc32 100644 (file)
@@ -317,6 +317,7 @@ $messages = array(
 'create-this-page' => "Creu'r dudalen",
 'delete' => 'Dileu',
 'deletethispage' => 'Dileer y dudalen hon',
+'undeletethispage' => 'Adfer y dudalen hon',
 'undelete_short' => 'Adfer $1 {{PLURAL:$1|golygiad|golygiad|olygiad|golygiad}}',
 'viewdeleted_short' => "Edrych ar y {{PLURAL:$1|golygiad sydd wedi'i ddileu|golygiad sydd wedi'i ddileu|$1 olygiad sydd wedi'u dileu|$1 golygiad sydd wedi'u dileu|$1 golygiad sydd wedi'u dileu|$1 golygiad sydd wedi'u dileu}}",
 'protect' => 'Diogelu',
@@ -515,6 +516,8 @@ $2",
 'namespaceprotected' => "Nid oes caniatâd gennych i olygu tudalennau yn y parth '''$1'''.",
 'customcssprotected' => "Nid oes caniatâd ganddoch i olygu'r dudalen CSS hon oherwydd bod gosodiadau personol defnyddiwr arall arno.",
 'customjsprotected' => "Nid oes caniatâd ganddoch i olygu'r dudalen JavaScript hon oherwydd bod gosodiadau personol defnyddiwr arall arno.",
+'mycustomcssprotected' => "Does dim caniatad gennych i olygu'r dudalen CSS hon.",
+'mycustomjsprotected' => "Does dim caniatad gennych i olygu'r dudalen JavaScript hon.",
 'ns-specialprotected' => 'Ni ellir golygu tudalennau arbennig.',
 'titleprotected' => "Diogelwyd y teitl hwn rhag ei greu gan [[User:$1|$1]].
 Rhoddwyd y rheswm hwn - ''$2''.",
@@ -639,7 +642,7 @@ Felly ni chaiff defnyddwyr sy'n defnyddio'r cyfeiriad IP hwn greu rhagor o gyfri
 'cannotchangeemail' => 'Ni ellir newid cyfeiriadau e-bost i gyfrifon ar y wici hwn.',
 'emaildisabled' => 'Ni all y wefan hon anfon e-byst.',
 'accountcreated' => 'Crëwyd y cyfrif',
-'accountcreatedtext' => 'Crëwyd cyfrif defnyddiwr ar gyfer $1.',
+'accountcreatedtext' => 'Gosodwyd cyfrif defnyddiwr ar gyfer [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|sgwrs]]).',
 'createaccount-title' => 'Creu cyfrif ar {{SITENAME}}',
 'createaccount-text' => 'Creodd rhywun gyfrif o\'r enw $2 ar {{SITENAME}} ($4) ar gyfer y cyfeiriad e-bost hwn. "$3" yw\'r cyfrinair ar gyfer "$2". Dylech fewngofnodi a newid eich cyfrinair yn syth.
 
@@ -1159,7 +1162,6 @@ Mae manylion pellach i'w cael yn [{{fullurl:{{#Special:Log}}/delete|page={{FULLP
 'searchmenu-legend' => 'Dewisiadau chwilio',
 'searchmenu-exists' => "'''Mae tudalen o'r enw \"[[\$1]]\" ar y wici hwn'''",
 'searchmenu-new' => "'''Creu'r dudalen \"[[:\$1]]\" ar y wici hwn!'''",
-'searchhelp-url' => 'Help:Cymorth',
 'searchmenu-prefix' => "[[Special:PrefixIndex/$1|Chwilio drwy tudalennau gyda'r rhagddodiad hwn]]",
 'searchprofile-articles' => 'Tudalennau pwnc (erthyglau/ffeiliau)',
 'searchprofile-project' => 'Tudalennau Cymorth a Phrosiect',
@@ -1417,6 +1419,8 @@ Mae'r wybodaeth hon ar gael i'r cyhoedd.",
 'right-editusercssjs' => 'Golygu ffeiliau CSS a JS yn perthyn i ddefnyddwyr eraill',
 'right-editusercss' => 'Golygu ffeiliau CSS yn perthyn i ddefnyddwyr eraill',
 'right-edituserjs' => 'Golygu ffeiliau JS yn perthyn i ddefnyddwyr eraill',
+'right-editmyusercss' => 'Golygu eich ffeiliau defnyddiwr CSS eich hunan.',
+'right-editmyuserjs' => 'Golygu eich ffeiliau defnyddiwr JavaScript eich hunan.',
 'right-rollback' => 'Gwrthdroi golygiadau defnyddiwr diwethaf rhyw dudalen yn sydyn',
 'right-markbotedits' => 'Marcio golygiadau wedi eu gwrthdroi yn olygiadau bot',
 'right-noratelimit' => 'Bod heb gyfyngiad ar gyflymder eich gweithredoedd',
index 178f48b..06bb23a 100644 (file)
@@ -1241,7 +1241,6 @@ Detaljer kan findes i [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}
 'searchmenu-legend' => 'Søgemuligheder',
 'searchmenu-exists' => "'''Der er en side med navnet \"[[:\$1]]\" på denne wiki'''",
 'searchmenu-new' => "'''Opret siden \"[[:\$1]]\" i denne wiki'''",
-'searchhelp-url' => 'Help:Hjælp',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Vis alle sider som begynder med dette præfiks]]',
 'searchprofile-articles' => 'Indholdssider',
 'searchprofile-project' => 'Hjælpe- og projektsider',
index 99c2da5..9dcd232 100644 (file)
@@ -615,6 +615,7 @@ $messages = array(
 'create-this-page' => 'Seite erstellen',
 'delete' => 'Löschen',
 'deletethispage' => 'Diese Seite löschen',
+'undeletethispage' => 'Diese Seite wiederherstellen',
 'undelete_short' => '{{PLURAL:$1|1 Version|$1 Versionen}} wiederherstellen',
 'viewdeleted_short' => '{{PLURAL:$1|Eine gelöschte Version|$1 gelöschte Versionen}} ansehen',
 'protect' => 'Schützen',
@@ -816,6 +817,8 @@ $2',
 'namespaceprotected' => "Du hast nicht die erforderliche Berechtigung, um Seiten im Namensraum '''$1''' bearbeiten zu können.",
 'customcssprotected' => 'Du hast nicht die Berechtigung, diese CSS enthaltende Seite zu bearbeiten, da sie die persönlichen Einstellungen eines anderen Benutzers enthält.',
 'customjsprotected' => 'Du hast nicht die Berechtigung, diese JavaScript enthaltende Seite zu bearbeiten, da es sich hierbei um die persönlichen Einstellungen eines anderen Benutzers handelt.',
+'mycustomcssprotected' => 'Du hast keine Berechtigung, diese CSS-Seite zu bearbeiten.',
+'mycustomjsprotected' => 'Du hast keine Berechtigung, diese JavaScript-Seite zu bearbeiten.',
 'ns-specialprotected' => 'Spezialseiten können nicht bearbeitet werden.',
 'titleprotected' => "Eine Seite mit diesem Namen kann nicht angelegt werden.
 Die Sperre wurde durch [[User:$1|$1]] mit der Begründung ''„$2“'' eingerichtet.",
@@ -946,7 +949,7 @@ Besucher, die diese IP-Adresse verwenden, können momentan keine Benutzerkonten
 'cannotchangeemail' => 'E-Mail-Adressen können in diesem Wiki nicht geändert werden.',
 'emaildisabled' => 'Über diese Website können keine E-Mails versandt werden.',
 'accountcreated' => 'Benutzerkonto erstellt',
-'accountcreatedtext' => 'Das Benutzerkonto $1 wurde eingerichtet.',
+'accountcreatedtext' => 'Das Benutzerkonto für [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|Diskussion]]) wurde eingerichtet.',
 'createaccount-title' => 'Erstellung eines Benutzerkontos für {{SITENAME}}',
 'createaccount-text' => 'Es wurde für dich ein Benutzerkonto „$2“ auf {{SITENAME}} ($4) erstellt. Das automatisch generierte Passwort für „$2“ ist „$3“. Du solltest dich nun anmelden und das Passwort ändern.
 
@@ -1468,7 +1471,6 @@ Einzelheiten sind im [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}}
 'searchmenu-legend' => 'Suchoptionen',
 'searchmenu-exists' => "'''Es gibt eine Seite, die den Namen „[[:$1]]“ hat.'''",
 'searchmenu-new' => "'''Erstelle die Seite „[[:$1]]“ in diesem Wiki.'''",
-'searchhelp-url' => 'Help:Hilfe',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Zeige alle Seiten, die mit dem Suchbegriff anfangen]]',
 'searchprofile-articles' => 'Inhaltsseiten',
 'searchprofile-project' => 'Hilfe- und Projektseiten',
@@ -1725,6 +1727,8 @@ Dies kann nicht mehr rückgängig gemacht werden.',
 'right-editusercssjs' => 'Fremde CSS- und JavaScript-Dateien bearbeiten',
 'right-editusercss' => 'Fremde CSS-Dateien bearbeiten',
 'right-edituserjs' => 'Fremde JavaScript-Dateien bearbeiten',
+'right-editmyusercss' => 'Eigene Benutzer-CSS-Dateien bearbeiten',
+'right-editmyuserjs' => 'Eigene Benutzer-JavaScript-Dateien bearbeiten',
 'right-rollback' => 'Schnelles Zurücksetzen',
 'right-markbotedits' => 'Schnell zurückgesetzte Bearbeitungen als Bot-Bearbeitung markieren',
 'right-noratelimit' => 'Keine Beschränkung durch Limits',
index fa2a62c..d749f30 100644 (file)
@@ -417,6 +417,16 @@ $messages = array(
 'oct' => 'Tşv',
 'nov' => 'Tşp',
 'dec' => 'Kan',
+'january-date' => 'Çele  $1',
+'february-date' => 'Şıbate $1',
+'march-date' => 'Adar $1',
+'april-date' => 'Nisane $1',
+'may-date' => 'Gulane $1',
+'june-date' => 'Hezirane',
+'july-date' => 'Temuze $1',
+'august-date' => 'Tebaxe $1',
+'september-date' => 'Keşkelun $1',
+'december-date' => 'Kanun $1',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Kategoriye|Kategoriy}}',
@@ -502,6 +512,7 @@ $messages = array(
 'create-this-page' => 'Na pele bınuse',
 'delete' => 'Bestere',
 'deletethispage' => 'Ena perer besternê',
+'undeletethispage' => 'Na perer mebesterne',
 'undelete_short' => '{{PLURAL:$1|Yew vurnayışi|$1 Vurnayışan}} mestere',
 'viewdeleted_short' => '{{PLURAL:$1|Yew vurnayışo esterıte|$1 Vurnayışanê esterıtan}} bımocne',
 'protect' => 'Bıpawe',
@@ -779,6 +790,7 @@ Wexta ke verhafızayê cıgerayoxê şıma pak beno no benate de taye peli de he
 'createacct-captcha' => 'Qontrolê asayişi',
 'createacct-imgcaptcha-ph' => 'Nuşteyo ke cor aseno ey cı ke',
 'createacct-submit' => 'Hesabê xo vıraze',
+'createacct-benefit-heading' => '{{SITENAME}} meş de merduman şi',
 'createacct-benefit-body1' => '{{PLURAL:$1|vurnayış|vurnayışi}}',
 'createacct-benefit-body2' => '{{PLURAL:$1|pele|peli}}',
 'createacct-benefit-body3' => '{{PLURAL:$1|iştıraqkerdoğo nıkayên|iştıraqkerdoğê nıkayêni}}',
@@ -837,7 +849,7 @@ Yew formato meqbul de adresê e-posta bınuse ya zi veng bıverde.',
 'cannotchangeemail' => 'E-postay hesabi ena wiki sera nêvurneyêno.',
 'emaildisabled' => 'Na site ra e-posta nêrışêno.',
 'accountcreated' => 'Hesab vıraciya',
-'accountcreatedtext' => 'Qandê $1 hesabê karberi vıraziyayo.',
+'accountcreatedtext' => 'Qandê [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|talk]]) hesabê karberi vıraziyayo.',
 'createaccount-title' => 'Qey {{SITENAME}} newe yew heab vıraştış',
 'createaccount-text' => 'Kesê, be e-posteyê şıma ra {{SITENAME}} ($4) de, ebe nameyê "$2" u parola "$3" ra yew hesab vıraşto.
 Şıma gani cı kewê u parola xo nıka bıvurnê.',
@@ -1101,6 +1113,7 @@ Yew sebeb beyan nibı.',
 Hewna kerde aseno.',
 'edit-conflict' => 'Vurnayişê pêverdiyaye .',
 'edit-no-change' => 'Vurnayişê şıma qebul nêbı, çunke nuşte de yew vurnayiş n3evıraziya.',
+'postedit-confirmation' => 'Vurnayış qeyd be',
 'edit-already-exists' => 'Pelo newe nêvıraziyeno.
 Pel ca ra esto.',
 'defaultmessagetext' => 'Hesıbyaye metne mesaci',
@@ -1349,7 +1362,6 @@ Detayê besternayışi [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}
 'searchmenu-legend' => 'bıgeyre tercihan (sae bıke)',
 'searchmenu-exists' => "''Ena 'Wikipediya de ser \"[[:\$1]]\" yew pel esto'''",
 'searchmenu-new' => "''Na Wiki de pelay \"[[:\$1]]\" vıraze!'''",
-'searchhelp-url' => 'Help:Tedeestey',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|pê eno prefix ser pelan de bigêre]]',
 'searchprofile-articles' => 'Pelê tedeestey',
 'searchprofile-project' => 'Pelê yardım u procey',
@@ -2358,7 +2370,7 @@ Ena deme ra, ma qe vurnayışan ser ena pele tı haberdar keni.',
 'notvisiblerev' => 'Revizyon esteriyayo',
 'watchnochange' => 'pelê listeya temaşakerdışê şıma ye wextê nişane biyaye de rocane nêbiyo.',
 'watchlist-details' => '{{PLURAL:$1|$1 pele|$1 peleyan}} listeyê seyr-kerdışi şıma dı, peleyanê vurnayışi dahil niyo.',
-'wlheader-enotif' => 'pê E-mail xeber dayiş biyo a.',
+'wlheader-enotif' => 'E-mail xeber dayiş abiyo.',
 'wlheader-showupdated' => "ziyaretê şıma ye peyini de vuryayişê peli pê '''nuşteyo qalıni''' mocyayo.",
 'watchmethod-recent' => 'pel ê ke şıma temaşa kenî vuryayişê peyinê ey konrol beno',
 'watchmethod-list' => 'pel ê ke şıma temaşa kenî vuryayişê peyinê ey konrol beno',
index 6b78a69..674b11a 100644 (file)
@@ -592,7 +592,7 @@ Móžoš {{SITENAME}} anomymnje dalej wužywaś abo móžoš <span class='plainl
 'userlogout' => 'wótzjawiś se',
 'notloggedin' => 'Njepśizjawjony(a)',
 'userlogin-noaccount' => 'Njamaš wužywarske konto?',
-'userlogin-joinproject' => '{{GRAMMAR:datiw|{{SITENAME}}}} pśistupiś',
+'userlogin-joinproject' => 'Konto za {{GRAMMAR:akuzatiw|{{SITENAME}}}} załožyś',
 'nologin' => "Njamaš wužywarske konto? '''$1'''.",
 'nologinlink' => 'Nowe wužywarske konto załožyś',
 'createaccount' => 'Wužywarske konto załožyś',
@@ -652,7 +652,7 @@ Woglědowarje, kótarež wužywaju toś tu IP-adresu njamógu tuchylu dalšne ko
 'cannotchangeemail' => 'Kontowe e-mailowe adrese njedaju se změniś na toś tom wikiju.',
 'emaildisabled' => 'Toś to sedło njamóžo e-maile pósłaś.',
 'accountcreated' => 'Wužywarske konto jo se wutwóriło.',
-'accountcreatedtext' => 'Wužywarske konto $1 jo se wutwóriło.',
+'accountcreatedtext' => 'Wužywarske konto [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|diskusiju]]) jo se załožyło.',
 'createaccount-title' => 'Wužywarske konto za {{SITENAME}} nawarjone',
 'createaccount-text' => 'Něchten jo konto za twóje e-mailowu adresu na {{GRAMMAR:lokatiw|{{SITENAME}}}} ($4) z mjenim "$2", z pótajmnym słowom "$3", wutwórił. Dejš se pśizjawiś a swóje pótajmne słowo něnt změniś.
 
@@ -1154,7 +1154,6 @@ Drobnostki móžoš w [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}
 'searchmenu-legend' => 'Pytańske opcije',
 'searchmenu-exists' => "'''Jo bok z mjenim \"[[\$1]]\" na toś tom wikiju'''",
 'searchmenu-new' => "'''Napóraj bok \"[[:\$1|\$1]]\" na toś tom wikiju!'''",
-'searchhelp-url' => 'Help:Pomoc',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Boki z toś tym prefiksom pśepytaś]]',
 'searchprofile-articles' => 'Wopśimjeśowe boki',
 'searchprofile-project' => 'Pomoc a projektowe boki',
index 5cd073a..0d31376 100644 (file)
@@ -552,10 +552,8 @@ Naalanannu noh kaatalib toi nokopokianu koh no do kaatalib daamot.',
 
 # Special:PasswordReset
 'passwordreset' => 'Pudoliai kawagu kaatalib',
-'passwordreset-text' => 'Gonopo poom diti do mangaramit tongosurat-i ponorou do nokomoi id akaun.',
 'passwordreset-legend' => 'Pudoliai kawagu kaatalib',
 'passwordreset-disabled' => 'Pomudolian kawagu do kaatalib kitaantob id wiki diti.',
-'passwordreset-pretext' => '{{PLURAL:$1||Posuango iso data id siriba}}',
 'passwordreset-username' => 'Ngarandait:',
 'passwordreset-domain' => 'Sumanganu:',
 'passwordreset-capture' => 'Intaai surat-i dii nowonsoi?',
@@ -951,7 +949,6 @@ Intaai [[Special:BlockList|lis nantaban]] montok lis kawawagu karaja mogoduh om
 'searchmenu-legend' => 'Pilion ihum-ihumon',
 'searchmenu-exists' => "'''Haro no bolikon pinungaranan do \"[[:\$1]]\" hiti id wiki.'''",
 'searchmenu-new' => "'''Pomonsoi do bolikon \"[[:\$1]]\"hiti id wiki!'''",
-'searchhelp-url' => 'Help:Susuang',
 'searchprofile-articles' => 'Suang bobolikon',
 'searchprofile-project' => 'Tatabang om Tongobolikon purujik',
 'searchprofile-images' => 'Multimodia',
index f29f29b..dbaa260 100644 (file)
@@ -1395,7 +1395,6 @@ $1",
 'searchmenu-legend' => 'Επιλογές αναζήτησης',
 'searchmenu-exists' => "'''Υπάρχει μια σελίδα που ονομάζεται \"[[:\$1]]\" σε αυτό το wiki'''",
 'searchmenu-new' => "'''Δημιουργήστε τη σελίδα «[[:$1]]» σε αυτό το wiki!'''",
-'searchhelp-url' => 'Help:Περιεχόμενα',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Πλοηγηθείτε σε σελίδες με αυτό το πρόθεμα]]',
 'searchprofile-articles' => 'Σελίδες περιεχομένων',
 'searchprofile-project' => 'Βοήθεια και σελίδες εγχειρημάτων',
index 0707b9b..6fb6c11 100644 (file)
@@ -1229,7 +1229,7 @@ Please enter a well-formatted address or empty that field.',
 'cannotchangeemail'               => 'Account email addresses cannot be changed on this wiki.',
 'emaildisabled'                   => 'This site cannot send emails.',
 'accountcreated'                  => 'Account created',
-'accountcreatedtext'              => 'The user account for $1 has been created.',
+'accountcreatedtext'              => 'The user account for [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|talk]]) has been created.',
 'createaccount-title'             => 'Account creation for {{SITENAME}}',
 'createaccount-text'              => 'Someone created an account for your email address on {{SITENAME}} ($4) named "$2", with password "$3".
 You should log in and change your password now.
@@ -1807,9 +1807,7 @@ Details can be found in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENA
 'searchmenu-exists'                => "'''There is a page named \"[[:\$1]]\" on this wiki.'''",
 'searchmenu-new'                   => "'''Create the page \"[[:\$1]]\" on this wiki!'''",
 'searchmenu-new-nocreate'          => '', # do not translate or duplicate this message to other languages
-'searchhelp-url'                   => 'Help:Contents',
 'searchmenu-prefix'                => '[[Special:PrefixIndex/$1|Browse pages with this prefix]]',
-'searchmenu-help'                  => '[[{{MediaWiki:Searchhelp-url}}|{{int:help}}]]?', # do not translate or duplicate this message to other languages
 'searchprofile-articles'           => 'Content pages',
 'searchprofile-project'            => 'Help and Project pages',
 'searchprofile-images'             => 'Multimedia',
@@ -3191,7 +3189,7 @@ $1',
 'mycontris'             => 'Contributions',
 'contribsub2'           => 'For $1 ($2)',
 'nocontribs'            => 'No changes were found matching these criteria.',
-'uctop'                 => '(top)',
+'uctop'                 => '(current)',
 'month'                 => 'From month (and earlier):',
 'year'                  => 'From year (and earlier):',
 
index eb6a385..433c47e 100644 (file)
@@ -1356,7 +1356,6 @@ Detaloj troveblos en la [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}
 'searchmenu-legend' => 'Serĉaj opcioj',
 'searchmenu-exists' => "'''Estas paĝo nomita \"[[:\$1]]\" en ĉi tiu vikio'''",
 'searchmenu-new' => "'''Krei la paĝon \"[[:\$1]]\" en ĉi tiu vikio!'''",
-'searchhelp-url' => 'Help:Enhavo',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Traserĉi paĝojn kun ĉi tiu prefikso]]',
 'searchprofile-articles' => 'Enhavaj paĝoj',
 'searchprofile-project' => 'Paĝoj pri Helpo kaj Projektoj',
index 9924ba5..c867637 100644 (file)
@@ -571,6 +571,7 @@ $messages = array(
 'create-this-page' => 'Crear esta página',
 'delete' => 'Borrar',
 'deletethispage' => 'Borrar esta página',
+'undeletethispage' => 'Restaurar esta página',
 'undelete_short' => 'Restaurar {{PLURAL:$1|una edición|$1 ediciones}}',
 'viewdeleted_short' => 'Ver {{PLURAL:$1|una edición borrada|$1 ediciones borradas}}',
 'protect' => 'Proteger',
@@ -771,6 +772,8 @@ $2',
 'namespaceprotected' => "No tienes permiso para editar las páginas del espacio de nombres '''$1'''.",
 'customcssprotected' => 'No tienes permiso para editar esta página CSS, porque contiene configuraciones personales de otro usuario.',
 'customjsprotected' => 'No tienes permiso para editar esta página JavaScript, porque contiene configuraciones personales de otro usuario.',
+'mycustomcssprotected' => 'No tienes permiso para editar esta página CSS.',
+'mycustomjsprotected' => 'No tienes permiso para editar esta página JavaScript.',
 'ns-specialprotected' => 'Las páginas especiales no se pueden editar',
 'titleprotected' => 'Esta página ha sido protegida contra creación por [[User:$1|$1]].
 El motivo dado fue: "\'\'$2\'\'".',
@@ -904,7 +907,7 @@ Por favor, escribe una dirección en el formato adecuado o deja el campo en blan
 'cannotchangeemail' => 'Las direcciones de la correo electrónico de las cuentas de usuario no puedes cambiarse en esta wiki.',
 'emaildisabled' => 'Este sitio no puede enviar mensajes de correo electrónico.',
 'accountcreated' => 'Cuenta creada',
-'accountcreatedtext' => 'La cuenta de usuario para $1 ha sido creada.',
+'accountcreatedtext' => 'La cuenta de usuario [[{{ns:User}}: $1 | $1 ]] ([[{{ns:User talk}}: $1 |talk]]) ha sido creada.',
 'createaccount-title' => 'Creación de cuenta para {{SITENAME}}',
 'createaccount-text' => 'Alguien creó en {{SITENAME}} ($4) una cuenta asociada a este correo electrónico con el nombre «$2».
 La contraseña asignada automáticamente es «$3». Por favor entra ahora y cambia tu contraseña.
@@ -1437,7 +1440,6 @@ Los detalles pueden encontrarse en el [{{fullurl:{{#Special:Log}}/delete|page={{
 'searchmenu-legend' => 'Opciones de búsqueda',
 'searchmenu-exists' => "'''Hay una página llamada \"[[:\$1]]\" en esta wiki.'''",
 'searchmenu-new' => "'''¡Crea la página «[[:$1]]» en este wiki!'''",
-'searchhelp-url' => 'Help:Ayuda',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Otras páginas con este prefijo]]',
 'searchprofile-articles' => 'Páginas de contenido',
 'searchprofile-project' => 'Páginas de ayuda y de proyecto',
@@ -1693,6 +1695,8 @@ Tu dirección de correo no se revela cuando otros usuarios te contactan.',
 'right-editusercssjs' => 'Editar las páginas de CSS y JS de otros usuarios',
 'right-editusercss' => 'Editar las páginas de CSS de otros usuarios',
 'right-edituserjs' => 'Editar las páginas de JS de otros usuarios',
+'right-editmyusercss' => 'Editar tus archivos de usuario CSS',
+'right-editmyuserjs' => 'Editar tus propios archivos JavaScript de usuario',
 'right-rollback' => 'Revertir rápidamente las ediciones del último usuario que modificó una página en particular',
 'right-markbotedits' => 'Marcar ediciones deshechas como ediciones de un bot',
 'right-noratelimit' => 'No afectado por límites de frecuencia',
index fbe9491..604857f 100644 (file)
@@ -691,6 +691,8 @@ $2',
 'namespaceprotected' => "Sul pole õigust redigeerida lehekülgi nimeruumis '''$1'''.",
 'customcssprotected' => 'Sul pole õigust seda CSS-lehekülge redigeerida, sest see sisaldab teise kasutaja isiklikke sätteid.',
 'customjsprotected' => 'Sul pole õigust seda JavaScripti lehekülge redigeerida, sest see sisaldab teise kasutaja isiklikke sätteid.',
+'mycustomcssprotected' => 'Sul pole õigust redigeerida seda CSS-lehekülge.',
+'mycustomjsprotected' => 'Sul pole õigust redigeerida seda JavaScript-lehekülge.',
 'ns-specialprotected' => 'Erilehekülgi ei saa redigeerida.',
 'titleprotected' => "Kasutaja [[User:$1|$1]] on selle pealkirjaga lehe loomise keelanud esitades järgmise põhjenduse: ''$2''.",
 'filereadonlyerror' => 'Faili "$1" ei saa muuta, sest hoidla "$2" on kirjutuskaitstud.
@@ -816,7 +818,7 @@ Ole hea ja sisesta õige e-posti aadress või jäta väli tühjaks.',
 'cannotchangeemail' => 'Selles vikis ei saa konto e-posti aadressi muuta.',
 'emaildisabled' => 'Selle võrgukoha kaudu ei saa e-kirju saata.',
 'accountcreated' => 'Konto loodud',
-'accountcreatedtext' => 'Kasutajakonto kasutajatunnusele $1 loodud.',
+'accountcreatedtext' => 'Kasutaja [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|talk]]) konto on loodud.',
 'createaccount-title' => '{{GRAMMAR:illative|{{SITENAME}}}} konto loomine',
 'createaccount-text' => 'Keegi on loonud {{GRAMMAR:illative|{{SITENAME}}}} ($4) sinu e-posti aadressile vastava kasutajatunnuse "$2". Parooliks seati "$3". Logi sisse ja muuda oma parool.
 
@@ -1303,7 +1305,7 @@ Pane tähele, et navigeerimislinkide kasutamine lähtestab redaktsioonide valiku
 'difference-title' => 'Erinevus lehekülje "$1" redaktsioonide vahel',
 'difference-title-multipage' => 'Erinevus lehekülgede "$1" ja "$2" vahel',
 'difference-multipage' => '(Lehekülgede erinevus)',
-'lineno' => 'Rida $1:',
+'lineno' => '$1. rida:',
 'compareselectedversions' => 'Võrdle valitud redaktsioone',
 'showhideselectedversions' => 'Näita/peida valitud versioonid',
 'editundo' => 'eemalda',
@@ -1334,7 +1336,6 @@ Harilikult tähendab see seda, et sind siia juhatanud link on vananenud ja siin
 'searchmenu-legend' => 'Otsingu sätted',
 'searchmenu-exists' => "'''Lehekülg pealkirjaga \"[[:\$1]]\" on olemas.'''",
 'searchmenu-new' => "'''Loo lehekülg pealkirjaga \"[[:\$1]]\".'''",
-'searchhelp-url' => 'Help:Sisukord',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Sirvi selle eesliitega lehekülgi]]',
 'searchprofile-articles' => 'Sisuleheküljed',
 'searchprofile-project' => 'Abi- ja projektilehed',
@@ -1379,6 +1380,7 @@ päringu ees prefiksit ''all:''. Konkreetsest nimeruumist otsimiseks kasuta pref
 'searchdisabled' => "Otsimine on preagu keelatud.
 Vahepeal saad otsimiseks Google'it kasutada.
 Pane tähele, et Google'is talletatud {{GRAMMAR:genitive|{{SITENAME}}}} sisu võib olla iganenud.",
+'search-error' => 'Otsimise ajal ilmnes tõrge: $1',
 
 # Preferences page
 'preferences' => 'Eelistused',
@@ -1593,6 +1595,8 @@ See ei tohi olla pikem kui {{PLURAL:$1|üks märk|$1 märki}}.',
 'right-editusercssjs' => 'Redigeerida teiste kasutajate CSS- ja JS-faile',
 'right-editusercss' => 'Redigeerida teiste kasutajate CSS-faile',
 'right-edituserjs' => 'Redigeerida teiste kasutajate JS-faile',
+'right-editmyusercss' => 'Redigeerida oma CSS-kasutajafaile',
+'right-editmyuserjs' => 'Redigeerida oma JavaScript-kasutajafaile',
 'right-rollback' => 'Tühistada otsekohe lehekülje viimase redigeerija muudatused',
 'right-markbotedits' => 'Märkida muudatuse tühistamine robotimuudatusena',
 'right-noratelimit' => 'Mööduda toimingumäära limiitidest',
@@ -2571,7 +2575,7 @@ $1',
 'mycontris' => 'Kaastöö',
 'contribsub2' => 'Kasutaja $1 ($2) jaoks',
 'nocontribs' => 'Antud kriteeriumitele vastavaid muudatusi ei leitud.',
-'uctop' => ' (uusim)',
+'uctop' => '(praegune)',
 'month' => 'Alates kuust (ja varasemad):',
 'year' => 'Alates aastast (ja varasemad):',
 
index e4b4a78..9f0c470 100644 (file)
@@ -233,6 +233,18 @@ $messages = array(
 'oct' => 'Urr',
 'nov' => 'Aza',
 'dec' => 'Abe',
+'january-date' => 'Urtarrilaren $1',
+'february-date' => 'Otsailaren $1',
+'march-date' => 'Martxoaren $1',
+'april-date' => 'Apirilaren $1',
+'may-date' => 'Maiatzaren $1',
+'june-date' => 'Ekainaren $1',
+'july-date' => 'Uztailaren $1',
+'august-date' => 'Abuztuaren $1',
+'september-date' => 'Irailaren $1',
+'october-date' => 'Urriaren $1',
+'november-date' => 'Azaroaren $1',
+'december-date' => 'Abenduaren $1',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Kategoria|Kategoriak}}',
@@ -244,7 +256,7 @@ $messages = array(
 'hidden-category-category' => 'Kategoria ezkutuak',
 'category-subcat-count' => '{{PLURAL:$2|Kategoria honek beste honako azpikategoria baino ez du.|Kategoria honek honako {{PLURAL:$1|azpikategoria du|$1 azpikategoriak ditu}}, guztira dauden $2tik.}}',
 'category-subcat-count-limited' => 'Kategoria honek {{PLURAL:$1|azpikategoria hau du|$1 azpikategoria hauek ditu}}.',
-'category-article-count' => '{{PLURAL:$2|Kategoria honek ondorengo orri hau baino ez du.|Ondorengo {{PLURAL:$1|orri hau kategoria honetan dago|$1 orriak kategoria honetan daude}}, eta guztira $2 orri dira kategoria honetan.}}',
+'category-article-count' => '{{PLURAL:$2|Kategoria honek orrialde hau bakarrik du.|Honako {{PLURAL:$1|orrialdea kategoria honetan dago|$1 orrialdeak kategoria honetan daude}}, guztira dauden $2 orrialdetatik.}}',
 'category-article-count-limited' => 'Ondorengo {{PLURAL:$1|orri hau kategoria honetan dago.|$1 orri hauek kategoria honetan daude.}}',
 'category-file-count' => '{{PLURAL:$2|Kategoria honek ondorengo fitxategi hau baino ez du.|Ondorengo {{PLURAL:$1|fitxategi hau kategoria honetan dago|$1 fitxategiak kategoria honetan daude}}, eta guztira $2 fitxategi dira kategoria honetan.}}',
 'category-file-count-limited' => 'Ondorengo {{PLURAL:$1|fitxategia kategoria honetan dago.|$1 fitxategiak kategoria honetan daude.}}',
@@ -314,6 +326,7 @@ $messages = array(
 'create-this-page' => 'Orrialde hau sortu',
 'delete' => 'Ezabatu',
 'deletethispage' => 'Ezabatu orri hau',
+'undeletethispage' => 'Orrialde hau bergaitu',
 'undelete_short' => 'Berreskuratu {{PLURAL:$1|aldaketa bat|$1 aldaketa}}',
 'viewdeleted_short' => 'Ikusi ezabatutako {{PLURAL:$1|bidalketa bat|$1 bidalketa}}',
 'protect' => 'Babestu',
@@ -515,6 +528,8 @@ $2",
 'namespaceprotected' => "Ez daukazu '''$1''' izen-tarteko orrialdeak aldatzeko baimenik.",
 'customcssprotected' => 'Ez duzu baimenik CSS orrialde hau aldatzeko beste erabiltzaile baten hobespen pertsonalak dituelako.',
 'customjsprotected' => 'Ez duzu baimenik JavaScript orrialde hau aldatzeko beste erabiltzaile baten hobespen pertsonalak dituelako.',
+'mycustomcssprotected' => 'Ez duzu baimenik CSS orrialde hau aldatzeko.',
+'mycustomjsprotected' => 'Ez duzu baimentik JavaScript orrialdea aldatzeko.',
 'ns-specialprotected' => 'Ezin dira {{ns:special}} izen-tarteko orrialdeak editatu.',
 'titleprotected' => "[[User:$1|$1]]ek izenburu hau sortzea ekidin zuen.
 Emandako arrazoia ''$2'' izan zen.",
@@ -524,6 +539,7 @@ Blokeoa ezarri zuen administratzaileak honako arrazoia eman zuen: "$3".',
 'invalidtitle-knownnamespace' => 'Izenburua gaizki dago "$2" izen eremuan eta "$3" testuan',
 'invalidtitle-unknownnamespace' => 'Izenburua gaizki dago "$1" izen eremuan ezezagunean eta "$2" testuan',
 'exception-nologin' => 'Saioa hasi gabe',
+'exception-nologin-text' => 'Ekintza edo orrialde honek wiki honetan sartzea eskatzen du.',
 
 # Virus scanner
 'virus-badscanner' => "Ezarpen txarrak: antibirus ezezaguna: ''$1''",
@@ -536,12 +552,24 @@ Blokeoa ezarri zuen administratzaileak honako arrazoia eman zuen: "$3".',
 Erabiltzaile anonimo bezala jarrai dezakezu {{SITENAME}} erabiltzen, edo <span class='plainlinks'>[$1 saioa has dezakezu berriz]</span> erabiltzaile berdinarekin edo ezberdin batekin.
 Kontuan izan orrialde batzuk saioa hasita bazenu bezala ikus ditzakezula nabigatzailearen katxea garbitu arte.",
 'welcomeuser' => 'Ongi etorri, $1!',
+'welcomecreation-msg' => 'Zure kontua sortua izan da.
+Ez ezazu ahaztu zure [[Special:Preferences|{{SITENAME}} hobespenak]] aldatzea.',
 'yourname' => 'Erabiltzaile izena',
+'userlogin-yourname' => 'Erabiltzale izena',
+'userlogin-yourname-ph' => 'Sartu zure erabiltzaile izena',
 'yourpassword' => 'Pasahitza:',
+'userlogin-yourpassword' => 'Pasahitza',
+'userlogin-yourpassword-ph' => 'Sartu zuren pasahitza',
+'createacct-yourpassword-ph' => 'Sartu pasahitza',
 'yourpasswordagain' => 'Pasahitza berriz',
+'createacct-yourpasswordagain' => 'Pasahitza berridatzi',
+'createacct-yourpasswordagain-ph' => 'Sartu pasahitza berriro ere',
 'remembermypassword' => 'Nire saioa ordenagailu honetan gogoratu ({{PLURAL:$1|egun baterako|$1 egunetarako }} gehienez)',
+'userlogin-remembermypassword' => 'Manten nazazu barruan',
+'userlogin-signwithsecure' => 'Erabili konexio ziurra',
 'securelogin-stick-https' => 'Mantendu konektatua HTTPSra sartu ondoren',
 'yourdomainname' => 'Zure domeinua',
+'password-change-forbidden' => 'Ezin duzu pasahitzarik aldatu wiki honetan.',
 'externaldberror' => 'Kanpoko datu-base autentifikazio errorea gertatu da edo ez duzu zure kanpo kontua eguneratzeko baimenik.',
 'login' => 'Saioa hasi',
 'nav-login-createaccount' => 'Saioa hasi / kontua sortu',
@@ -551,18 +579,38 @@ Kontuan izan orrialde batzuk saioa hasita bazenu bezala ikus ditzakezula nabigat
 'logout' => 'Saioa itxi',
 'userlogout' => 'Saioa itxi',
 'notloggedin' => 'Saioa hasi gabe',
+'userlogin-noaccount' => 'Ez al duzu konturik?',
+'userlogin-joinproject' => 'Batu {{SITENAME}}(r)ekin',
 'nologin' => "Ez duzu erabiltzaile konturik? '''$1'''.",
 'nologinlink' => 'Kontua sortu',
 'createaccount' => 'Kontua sortu',
 'gotaccount' => "Baduzu erabiltzaile kontua? '''$1'''.",
 'gotaccountlink' => 'Saioa hasi',
 'userlogin-resetlink' => 'Saioa hasteko datuak ahaztu dituzu?',
+'userlogin-resetpassword-link' => 'Zure pasahitza berrezarri',
+'helplogin-url' => 'Help:Sarrera',
+'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Barrura sartzeko laguntza]]',
+'createacct-join' => 'Sartu zure informazioa azpian.',
+'createacct-emailrequired' => 'E-posta helbidea',
+'createacct-emailoptional' => 'E-posta helbidea (hautazkoa)',
+'createacct-email-ph' => 'Sartu zure e-posta helbidea',
 'createaccountmail' => 'Erabili behin-behineko pasahitz ausazko bat eta bidali behean agertzeko den e-posta helbidera',
+'createacct-realname' => 'Benetako izena (hautazkoa)',
 'createaccountreason' => 'Arrazoia:',
+'createacct-reason' => 'Arrazoia',
+'createacct-reason-ph' => 'Zergatik ari zaren beste erabiltzaile kontu bat',
+'createacct-captcha' => 'Segurtasun froga',
+'createacct-imgcaptcha-ph' => 'Sartu gainean ikusten duzun testua',
+'createacct-submit' => 'Kontua sortu',
+'createacct-benefit-heading' => '{{SITENAME}} zu bezalako pertsonek egiten dute.',
+'createacct-benefit-body1' => '{{PLURAL:$1|edizio bat|$1 edizio}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|Orrialde 1|$1 orrialde}}',
+'createacct-benefit-body3' => 'azkeneko {{PLURAL:$1|egilea|egileak}}',
 'badretype' => 'Idatzitako pasahitzak ez dira berdinak.',
 'userexists' => 'Aukeratutako erabiltzaile izena hartuta dago.
 Mesedez beste bat aukeratu.',
 'loginerror' => 'Errorea saioa hastean',
+'createacct-error' => 'Kontua sortzerakoan arazoa',
 'createaccounterror' => 'Ezin izan da kontua sortu: $1',
 'nocookiesnew' => 'Erabiltzaile kontua sortu da, baina ez da saioa hasi. {{SITENAME}}(e)k cookieak erabiltzen ditu saioekin eta ezgaituta dauzkazu. Gaitu itzazu mesedez, eta ondoren saiatu saioa hasten zure erabiltzaile izen eta pasahitz berriak erabiliz.',
 'nocookieslogin' => '{{SITENAME}}(e)k cookieak erabiltzen ditu saioekin eta ezgaituta dauzkazu. Gaitu itzazu mesedez, eta saiatu berriz.',
@@ -600,7 +648,7 @@ Mesedez, saioa hasi jasotakoan.',
 'eauthentsent' => 'Egiaztapen mezu bat bidali da zehaztutako e-posta helbidera.
 Helbide horretara beste edozein mezu bidali aurretik, bertan azaltzen diren argibideak jarraitu behar dituzu, e-posta hori zurea dela egiaztatzeko.',
 'throttled-mailpassword' => 'Pasahitz gogorarazle bat bidali da jada azken {{PLURAL:$1|orduan|$1 orduetan}}.
-Bandalismoa saihesteko pasahitz eskaera bat baino ezin da egin {{PLURAL:$1|orduan|$1 orduan}} behin.',
+Bandalismoa sahiesteko pasahitz eskaera bat baino ezin da egin {{PLURAL:$1|orduan|$1 orduan}} behin.',
 'mailerror' => 'Errorea mezua bidaltzerakoan: $1',
 'acct_creation_throttle_hit' => 'Sentitzen dugu, {{PLURAL:$1|erabiltzaile kontu bat sortu duzu|$1 erabiltzaile kontu sortu dituzu}} dagoeneko.
 Ondorioz, ezin duzu kontu gehiago sortu.',
@@ -611,9 +659,10 @@ Ondorioz, ezin duzu kontu gehiago sortu.',
 'invalidemailaddress' => 'Ezin da e-posta helbide hori ontzat eman baliogabeko formatua duela dirudielako.
 
 Mesedez, formatu egokia duen helbide bat zehaztu, edo hutsik utzi.',
+'cannotchangeemail' => 'Kontuen e-posta helbideak ezin dira aldatu wiki honetan.',
 'emaildisabled' => 'Gune honek ezin du e-postarik bidali.',
 'accountcreated' => 'Kontua sortuta',
-'accountcreatedtext' => '$1 erabiltzaile kontua sortu egin da.',
+'accountcreatedtext' => '[[{{ns:User}}:$1|$1]] lankidearentzat ([[{{ns:User talk}}:$1|eztabaida]]) kontua sortu da.',
 'createaccount-title' => '{{SITENAME}}-rako kontua sortu',
 'createaccount-text' => 'Norbaitek zure e-postarekin kontu bat sortu du {{SITENAME}}(e)n ($4) "$2" izenarekin eta "$3" pasahitzarekin.
 Orain bertan sar zaitezke eta zure pasahitza aldatu.
@@ -622,11 +671,14 @@ Kontu honen sorrera akats bat dela uste baduzu mezu honi ez diozu zertan jaramon
 'usernamehasherror' => 'Erabiltzaile-izenak ezin du kuxin-karaktererik eduki',
 'login-throttled' => 'Saioa hasteko saiakera gehiegi egin berri dituzu.
 Berriro saiatu aurretik itxaron ezazu, mesedez.',
+'login-abort-generic' => 'Zure sarrera ez da arrakastatsua izan - Abortatua',
 'loginlanguagelabel' => 'Hizkuntza: $1',
 'suspicious-userlogout' => 'Saioa amaitzeko egin duzun eskaria ukatu da. Izan ere, ematen du eskari hori gaizki dabilen nabigatzaile edo cache proxy batek bidali duela.',
 
 # Email sending
 'php-mail-error-unknown' => 'PHPren mail() funtzioan arazo ezezagun bat egon da.',
+'user-mail-no-addy' => 'E-posta bidaltzen saiatu zara e-posta helbiderik gabe.',
+'user-mail-no-body' => 'E-posta bidaltzen saiatu zara testu gorputzik gabe edo laburregiarekin.',
 
 # Change password dialog
 'resetpass' => 'Pasahitza aldatu',
@@ -645,22 +697,34 @@ Berriro saiatu aurretik itxaron ezazu, mesedez.',
 'resetpass-wrong-oldpass' => 'Behin-behineko edo oraintxuko pasahitza ez da baliagarria.
 Agian dagoeneko ondo aldatu duzu zure pasahitza edo behin-behineko pasahitza bat eskatu duzu.',
 'resetpass-temp-password' => 'Behin-behineko pasahitza:',
+'resetpass-abort-generic' => 'Estentsio batek pasahitza aldatzea ekidin du.',
 
 # Special:PasswordReset
 'passwordreset' => 'Pasahitzaren berrezarpena',
+'passwordreset-text-one' => 'Bete formulario hau zure pasahitza berrezartzeko.',
+'passwordreset-text-many' => '{{PLURAL:$1|Sartu datuetako bat zure pasahitza berrezartzeko.}}',
 'passwordreset-legend' => 'Pasahitza berrezarri',
+'passwordreset-disabled' => 'Pasahitza berrezartzea ez da posible wiki honetan.',
+'passwordreset-emaildisabled' => 'E-posta aukerak ez daude eskuragarri wiki honetan.',
 'passwordreset-username' => 'Lankide izena:',
 'passwordreset-domain' => 'Domeinua:',
+'passwordreset-capture' => 'Bidaliko den e-posta ikusi nahi?',
+'passwordreset-capture-help' => 'Kutxa hau hautatzen baduzu behin-behineko pasahitza duen e-posta erakutsiko zatzaizu, eta erabiltzaileari bidaliko zaio.',
 'passwordreset-email' => 'E-mail helbidea:',
+'passwordreset-emailtitle' => '{{SITENAME}}-rako kontuaren xehetasunak',
 'passwordreset-emailelement' => 'Erabiltzaile izena: $1
 Behin-behineko pasahitza: $2',
-'passwordreset-emailsent' => 'Gogorarazteko e-posta bidali da.',
+'passwordreset-emailsent' => 'Pasahitza berrezartzeko e-posta bidali da.',
 
 # Special:ChangeEmail
 'changeemail' => 'Aldatu e-mail helbidea',
+'changeemail-header' => 'Aldatu kontuko e-posta helbidea',
+'changeemail-text' => 'Bete ezazu formulario hau e-posta helbidea aldatzeko. Zure pasahitza sartu beharko duzu aldaketa hau baieztatzeko.',
+'changeemail-no-info' => 'Orrialde honetara zuzenean sartzeko izena eman behar duzu.',
 'changeemail-oldemail' => 'Egungo e-mail helbidea:',
 'changeemail-newemail' => 'E-posta helbide berria:',
 'changeemail-none' => '(bat ere ez)',
+'changeemail-password' => 'Zure {{SITENAME}}ko pasahitza:',
 'changeemail-submit' => 'E-posta aldatu',
 'changeemail-cancel' => 'Utzi',
 
@@ -850,10 +914,15 @@ Ez du azalpenik eman.',
 'edit-gone-missing' => 'Ezin da orria eguneratu. Ezabatu omen dute.',
 'edit-conflict' => 'Aldaketa gatazka.',
 'edit-no-change' => 'Zure edizioa baztertu da testua aldatu ez duzulako.',
+'postedit-confirmation' => 'Zure aldaketa gorde da.',
 'edit-already-exists' => 'Ezin izan da orri berria sortu.
 Jada existitzen da.',
+'defaultmessagetext' => 'Testu lehenetsia',
+'content-failed-to-parse' => 'Ezin izan da $2(r)en edukia parseatu $1 modeloarentzat: $3',
+'invalid-content-data' => 'Eduki datu baliogabea',
+'content-not-allowed-here' => '"$1" edukia ez dago baimendua [[$2]] orrialdean',
 'editwarning-warning' => 'Orrialde honetatik irteten bazara, egindako aldaketak galdu egingo dira.
-Saioa hasi baduzu, mezu hau kendu dezakezu zure hobespenen orrialdeko "{{int:prefs-editing}}" atalean.',
+Saioa hasi baduzu, mezu hau kendu dezakezu zure hobespenen orrialdeko "Aldatzen" atalean.',
 
 # Content models
 'content-model-wikitext' => 'wikitestua',
@@ -875,6 +944,12 @@ Eztabaidak aipatu gabe utzi dira.',
 'parser-template-loop-warning' => 'Txantiloiaren itzul-biraketa aurkitu da: [[$1]]',
 'parser-template-recursion-depth-warning' => 'Txantiloaren rekurtsio sakoneraren muga gainditu da ($1)',
 'language-converter-depth-warning' => 'Hizkuntza-bihurgailuaren sakonerak ($1) muga gainditu du',
+'node-count-exceeded-category' => 'Nodo-zenbaketa gainditu den orrialdeak',
+'node-count-exceeded-warning' => 'Orrialdeak nodo-zenbaketa gainditu du',
+'expansion-depth-exceeded-category' => 'Orrialdearen espantsio sakonera gainditu da',
+'expansion-depth-exceeded-warning' => 'Espantsio sakonera gainditu duten orrialdeak',
+'parser-unstrip-loop-warning' => 'Loop unstrip bat aurkitu da',
+'parser-unstrip-recursion-limit' => 'Unstrip errekurtsio limitea gainditu da ($1)',
 
 # "Undo" feature
 'undo-success' => 'Aldaketa desegin daiteke.
@@ -1054,6 +1129,7 @@ Kontura zaitez nabigazio loturek, zutabea ezabatu dezakela.',
 # Diffs
 'history-title' => '"$1" orrialdearen historia berrikuspena',
 'difference-title' => '"$1"-en berrikuspenen arteko aldaketa',
+'difference-title-multipage' => '"$1" eta "$2" orrialdeen arteko ezberditasunak',
 'difference-multipage' => '(Orrialdeen arteko ezberdintasunak)',
 'lineno' => '$1. lerroa:',
 'compareselectedversions' => 'Hautatutako bertsioak alderatu',
@@ -1081,7 +1157,6 @@ Kontura zaitez nabigazio loturek, zutabea ezabatu dezakela.',
 'searchmenu-legend' => 'Bilaketa aukerak',
 'searchmenu-exists' => "'''\"[[:\$1]]\" izena duen orrialde bat badago wiki honetan'''",
 'searchmenu-new' => "'''\"[[:\$1]]\" orrialde sortu wiki honetan!'''",
-'searchhelp-url' => 'Help:Laguntza',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Aurrizki hau duten orrialdeetatik nabigatu]]',
 'searchprofile-articles' => 'Eduki-orriak',
 'searchprofile-project' => 'Laguntza eta Proiektu-orriak',
@@ -1328,6 +1403,8 @@ $1 {{PLURAL:$1|karakteretik|karakteretik}} behera izan behar ditu.',
 'right-editusercssjs' => 'Beste lankideen CSS eta JS fitxategiak aldatu',
 'right-editusercss' => 'Beste lankideen CSS fitxategiak aldatu',
 'right-edituserjs' => 'Beste lankideen JS fitxategiak aldatu',
+'right-editmyusercss' => 'Aldatu zure CSS fitxategi propioak',
+'right-editmyuserjs' => 'Aldatu zure JavaScript fitxategi propioak',
 'right-rollback' => 'Orrialde zehatz bat aldatu zuen azken lankidearen aldaketak modu azkar batean leheneratu',
 'right-markbotedits' => 'Atzera bueltan eginiko aldaketak bot baten aldaketak balira markatu',
 'right-noratelimit' => 'Ez dio eragiten erlazio mugak',
@@ -1343,6 +1420,7 @@ $1 {{PLURAL:$1|karakteretik|karakteretik}} behera izan behar ditu.',
 'right-siteadmin' => 'Databasea blokeatu eta desblokeatu',
 'right-override-export-depth' => '5eko sakonerararteko loturiko orrialdeak barne esportatu',
 'right-sendemail' => 'Beste erabiltzaileei e-posta bidali',
+'right-passwordreset' => 'Ikusi pasahitza berrezartze e-postak',
 
 # Special:Log/newusers
 'newuserlogpage' => 'Erabiltzaile erregistroa',
@@ -1422,6 +1500,7 @@ $1 {{PLURAL:$1|karakteretik|karakteretik}} behera izan behar ditu.',
 'newsectionsummary' => '/* $1 */ atal berria',
 'rc-enhanced-expand' => 'Erakutsi xehetasunak (JavaScript beharrezkoa da)',
 'rc-enhanced-hide' => 'Xehetasunak ezkutatu',
+'rc-old-title' => 'hasiera batean "$1" gisa sortua',
 
 # Recent changes linked
 'recentchangeslinked' => 'Lotutako orrietako aldaketak',
@@ -1467,6 +1546,7 @@ Orrialde baten irudi bat txertatzeko, erabili kode hauetako bat:
 'ignorewarnings' => 'Edozein ohar ezikusi.',
 'minlength1' => 'Fitxategi izenek letra bat izan behar dute gutxienez.',
 'illegalfilename' => '"$1" fitxategiaren izenak orrialdeen izenburuetan erabili ezin diren karaktereak ditu. Mesedez, fitxategiari izena aldatu eta saiatu berriz igotzen.',
+'filename-toolong' => 'Fitxategi izenak ezin dira izan 240 byte baino luzeagoak.',
 'badfilename' => 'Irudiaren izena aldatu da: "$1".',
 'filetype-badmime' => 'Ezin dira "$1" MIME motako fitxategiak igo.',
 'filetype-bad-ie-mime' => 'Ezin da fitxategia igo, Internet Explorerek "$1" bezala detektatuko lukeelako, zein fitxategi mota ez onartua eta arriskutsua den.',
@@ -1550,6 +1630,25 @@ $1',
 'upload-unknown-size' => 'Tamaina ezezaguna',
 'upload-http-error' => 'HTTP errorea gertatu da: $1',
 
+# File backend
+'backend-fail-stream' => 'Ezin izan da "$1" fitxategiaren stream egin.',
+'backend-fail-backup' => 'Ezin izan da "$1" fitxategiaren backup egin.',
+'backend-fail-notexists' => '$1 fitxategia ez da existitzen.',
+'backend-fail-hashes' => 'Ezin izan da fitxategien hashak eskuratu konparatzeko.',
+'backend-fail-notsame' => 'Berdina ez den beste fitxategi bat dago "$1"n',
+'backend-fail-invalidpath' => '"$1" ez da gordetzeko helbide baliagarria.',
+'backend-fail-delete' => 'Ezin izan da ezabatu "$1" fitxategia.',
+'backend-fail-alreadyexists' => '"$1" fitxategia jadanik badago.',
+'backend-fail-store' => 'Ezin izan da gorde "$1" fitxategia "$2" helbidean.',
+'backend-fail-copy' => 'Ezin izan da kopiatu "$1" fitxategia "$2" helbidean.',
+'backend-fail-move' => 'Ezin izan da mugitu "$1" fitxategia "$2" helbidean.',
+'backend-fail-opentemp' => 'Ezin izan da behin behineko fitxategia ireki.',
+'backend-fail-writetemp' => 'Ezin da behin behineko fitxategia idatzi.',
+'backend-fail-closetemp' => 'Ezin izan da behin behineko fitxategia itxi.',
+'backend-fail-read' => 'Ezin izan da "$1" fitxategia irakurri.',
+'backend-fail-create' => 'Ezin izan da "$1" fitxategia idatzi.',
+'backend-fail-maxsize' => 'Ezin izan da idatzi "$1" fitxategia {{PLURAL:$2|byte bat|$2 byte}} baino handiagoa delako.',
+
 # ZipDirectoryReader
 'zip-wrong-format' => 'Zehaztutako fitxategia ez zen ZIP motakoa.',
 
@@ -1570,9 +1669,12 @@ Ikusi https://www.mediawiki.org/wiki/Manual:Image_Authorization.',
 Fitxategien sarbidea baino ez da onartzen.',
 'img-auth-streaming' => '"$1" sekuentziatzen.',
 'img-auth-noread' => 'Erabiltzaileak ez du "$1" irakurtzeko sarbiderik.',
+'img-auth-bad-query-string' => 'URLan query esaldi baliogabea dago.',
 
 # HTTP errors
 'http-invalid-url' => 'URL baliogabea: $1',
+'http-invalid-scheme' => '"$1" eskema duten URLak ez dira baliagarriak.',
+'http-request-error' => 'HTTP eskariak akatsa izan du errore ezezagun bat dela eta.',
 'http-read-error' => 'HTTP irakurketa-akatsa.',
 'http-timed-out' => 'HTTP eskaera iraungi da.',
 'http-curl-error' => 'Errorea URLa bilatzerakoan: $1',
@@ -1638,6 +1740,7 @@ Bere [$2 fitxategiaren deskribapen orrialdea] behean dago.',
 'uploadnewversion-linktext' => 'Fitxategi honen bertsio berri bat igo',
 'shared-repo-from' => '$1-tik',
 'shared-repo' => 'elkarbanatutako biltegia',
+'upload-disallowed-here' => 'Ezin duzu fitxategi hau gain-idatzi.',
 
 # File reversion
 'filerevert' => '$1 leheneratu',
@@ -1719,6 +1822,11 @@ Bere [$2 fitxategiaren deskribapen orrialdea] behean dago.',
 Kasu bakoitzean dagokion artikulu zuzenarekin izan beharko lukete lotura.<br />
 Orrialde bat argipen motakoa dela antzeman ohi da [[MediaWiki:Disambiguationspage]] orrialdean agertzen den txantiloietako bat duenean.",
 
+'pageswithprop' => 'Orrialde propietatea duten orrialdeak',
+'pageswithprop-legend' => 'Orrialde propietatea duten orrialdeak',
+'pageswithprop-prop' => 'Ezaugarriaren izena:',
+'pageswithprop-submit' => 'Joan',
+
 'doubleredirects' => 'Birzuzenketa bikoitzak',
 'doubleredirectstext' => 'Lerro bakoitzean lehen eta bigarren birzuzenketetarako loturak ikus daitezke, eta baita edukia daukan edo eduki beharko lukeen orrialderako lotura ere. Lehen birzuzenketak azken honetara <del>zuzendu</del> beharko luke.',
 'double-redirect-fixed-move' => '[[$1]] mugitu da eta orain [[$2]](e)ra birzuzenketa bat da',
@@ -1740,10 +1848,13 @@ Orrialde bat argipen motakoa dela antzeman ohi da [[MediaWiki:Disambiguationspag
 # Miscellaneous special pages
 'nbytes' => '{{PLURAL:$1|byte 1|$1 byte}}',
 'ncategories' => '{{PLURAL:$1|kategoria 1|$1 kategoria}}',
+'ninterwikis' => '{{PLURAL:$1|Interwiki $1|$1 interwiki}}',
 'nlinks' => '{{PLURAL:$1|lotura 1|$1 lotura}}',
 'nmembers' => '{{PLURAL:$1|partaide 1|$1 partaide}}',
 'nrevisions' => '{{PLURAL:$1|berrikuspen 1|$1 berrikuspen}}',
 'nviews' => '{{PLURAL:$1|ikusketa 1|$1 ikusketa}}',
+'nimagelinks' => '{{PLURAL:$1|Orrialde batean erabilia|$1 orrialdetan erabilia}}',
+'ntransclusions' => '{{PLURAL:$1|orrialde batean erabilia|$1 orrialdetan erabilia}}',
 'specialpage-empty' => 'Ez dago emaitzarik bilaketa honetarako.',
 'lonelypages' => 'Orrialde umezurtzak',
 'lonelypagestext' => 'Jarraian zerrendatutako orrialdeek ez daukate {{SITENAME}}(e)n beste orrialdeetatik loturarik.',
@@ -1764,8 +1875,10 @@ Orrialde bat argipen motakoa dela antzeman ohi da [[MediaWiki:Disambiguationspag
 'mostlinkedtemplates' => 'Txantiloi erabilienak',
 'mostcategories' => 'Sailkapenean kategoria gehien dituzten orrialdeak',
 'mostimages' => 'Gehien lotutako irudiak',
+'mostinterwikis' => 'Interwiki gehien dituzten orrialdeak',
 'mostrevisions' => 'Berrikuspen gehien dituzten orrialdeak',
 'prefixindex' => 'Orri guztiak aurrizkiekin',
+'prefixindex-namespace' => '$1 izentartean honako aurrizkia duten orrialde guztiak:',
 'shortpages' => 'Orrialde laburrak',
 'longpages' => 'Orrialde luzeak',
 'deadendpages' => 'Orrialde itsuak',
@@ -1798,6 +1911,7 @@ Mesedez, kontuan izan beste webgune batzutatik URL zuzena erabiliz lotura izan d
 'pager-newer-n' => '{{PLURAL:$1|berriago den 1|berriagoak diren $1}}',
 'pager-older-n' => '{{PLURAL:$1|zaharragoa den 1|zaharragoak diren $1}}',
 'suppress' => 'Gain-ikuspena',
+'querypage-disabled' => 'Orrialde berezi hau desgaituta dago funtzionamendu arrazoiengatik.',
 
 # Book sources
 'booksources' => 'Iturri liburuak',
@@ -1815,6 +1929,7 @@ Mesedez, kontuan izan beste webgune batzutatik URL zuzena erabiliz lotura izan d
 Erregistro mota, erabiltzailearen izena edota orrialdearen izena iragaziz bistaratu daiteke. Letra larriak eta xeheak bereizten dira.',
 'logempty' => 'Ez dago emaitzarik erregistroan.',
 'log-title-wildcard' => 'Testu honekin hasten diren izenburuak bilatu',
+'showhideselectedlogentries' => 'Erakutsi/izkutatu aukeratutako log sarrerak',
 
 # Special:AllPages
 'allpages' => 'Orri guztiak',
@@ -1858,7 +1973,7 @@ Ikus, gainera [[Special:WantedCategories|kategoriarik eskatuenak]].',
 'linksearch-ok' => 'Bilatu',
 'linksearch-text' => '"*.wikipedia.org" bezalako izartxoak erabil daitezke.
 Gutxienez goi mailako domeinua behar du, adibidez "*.org".<br />
-Baimendutako protokoloak: <code>$1</code> (protokoloa zehazten ez bada http:// hartzen da lehenetsitzat).',
+Baimendutako {{PLURAL:$2|protokoloa|protokoloak}}: <code>$1</code> (protokoloa zehazten ez bada http:// hartzen da lehenetsitzat).',
 'linksearch-line' => '$1, $2(e)tik lotuta',
 'linksearch-error' => 'Komodinak izenaren hasieran bakarrik agertu beharko lirateke.',
 
@@ -1897,9 +2012,10 @@ Badago [[{{MediaWiki:Listgrouprights-helppage}}|informazio osagarria]] banakako
 'mailnologin' => 'Bidalketa helbiderik ez',
 'mailnologintext' => 'Beste erabiltzaileei e-posta mezuak bidaltzeko [[Special:UserLogin|saioa hasi]] eta baliozko e-posta helbidea behar duzu izan zure [[Special:Preferences|hobespenetan]].',
 'emailuser' => 'Erabiltzaile honi e-posta bidali',
+'emailuser-title-target' => '{{GENDER:$1|Erabiltzale}} honi e-posta bidali',
 'emailuser-title-notarget' => 'Erabiltzaileari e-maila bidali',
 'emailpage' => 'Erabiltzaileari e-posta bidali',
-'emailpagetext' => 'Erabiltzaile honek baliozko e-posta helbide bat ezarri badu bere hobespenetan, beheko formularioa erabiliz mezu bat bidal dakioke.
+'emailpagetext' => '{{GENDER:$1|Erabiltzaile}} honek baliozko e-posta helbide bat ezarri badu bere hobespenetan, beheko formularioa erabiliz mezu bat bidal dakioke.
 [[Special:Preferences|Hobespenetan]] daukazun e-posta helbidea azalduko da mezuaren bidaltzaile bezala eta beraz erantzun ahal izango dizu.',
 'usermailererror' => 'Mail objektuak errore hau itzuli du:',
 'defemailsubject' => '{{SITENAME}} e-posta "$1" lankideak',
@@ -1909,6 +2025,7 @@ Badago [[{{MediaWiki:Listgrouprights-helppage}}|informazio osagarria]] banakako
 'noemailtext' => 'Erabiltzaile honek ez du baliozko e-posta helbiderik zehaztu.',
 'nowikiemailtitle' => 'Ezin da e-postarik bidali',
 'nowikiemailtext' => 'Erabiltzaile honek beste erabiltzaileengandik e-postak ez jasotzea hautatu du.',
+'emailtarget' => 'Sartu jasolearen erabiltzaile izena',
 'emailusername' => 'Lankide izena:',
 'emailusernamesubmit' => 'Bidali',
 'email-legend' => 'Bidali e-posta bat {{SITENAME}}(e)ko beste lankide bati',
@@ -1924,6 +2041,7 @@ Badago [[{{MediaWiki:Listgrouprights-helppage}}|informazio osagarria]] banakako
 'emailuserfooter' => 'E-posta hau $1(e)k bidali dio $2(r)i {{SITENAME}}ko "E-posta bidali" funtzioa erabiliz.',
 
 # User Messenger
+'usermessage-summary' => 'Sistema mezua uzten.',
 'usermessage-editor' => 'Sistemako mezularia',
 
 # Watchlist
@@ -1934,9 +2052,11 @@ Badago [[{{MediaWiki:Listgrouprights-helppage}}|informazio osagarria]] banakako
 'watchlistanontext' => 'Mesedez $1 zure jarraipen zerrendako orrialdeak ikusi eta aldatu ahal izateko.',
 'watchnologin' => 'Saioa hasi gabe',
 'watchnologintext' => '[[Special:UserLogin|Saioa hasi]] behar duzu zure jarraipen zerrenda aldatzeko.',
-'addedwatchtext' => "\"<nowiki>\$1</nowiki>\" orrialdea zure [[Special:Watchlist|jarraipen edo zelatatuen zerrendara]] erantsi da. Orrialde honen hurrengo aldaketak zerrenda horretan ageriko dira aurrerantzean, eta gainera [[Special:RecentChanges|aldaketa berrien zerrendan]] beltzez ageriko da, erraztasunez antzeman ahal izateko.
+'addwatch' => 'Jarraipen zerrendara gehitu',
+'addedwatchtext' => '"[[:$1]]" orrialdea zure [[Special:Watchlist|jarraipen edo zelatatuen zerrendara]] erantsi da. 
 
-Jarraipen zerrendatik artikulua kentzeko, artikuluan ''ez jarraitu''ri eman.",
+Orrialde honen hurrengo aldaketak zerrenda horretan ageriko dira aurrerantzean.',
+'removewatch' => 'Kendu zure jarraipen zerrendatik',
 'removedwatchtext' => '"[[:$1]]" orrialdea zure [[Special:Watchlist|jarraipen zerrendatik]] kendu da.',
 'watch' => 'Jarraitu',
 'watchthispage' => 'Orrialde hau jarraitu',
@@ -1947,7 +2067,7 @@ Jarraipen zerrendatik artikulua kentzeko, artikuluan ''ez jarraitu''ri eman.",
 'watchnochange' => 'Hautatutako denbora tartean ez da aldaketarik izan zure jarraipen zerrendako orrialdeetan.',
 'watchlist-details' => '{{PLURAL:$1|Orrialde $1|$1 orrialde}} jarraitzen, eztabaida orrialdeak kontuan hartu gabe.',
 'wlheader-enotif' => 'Posta bidezko ohartarazpena gaituta dago.',
-'wlheader-showupdated' => "Bisitatu zenituen azken alditik aldaketak izan dituzten orrialdeak '''beltzez''' nabarmenduta daude",
+'wlheader-showupdated' => "Bisitatu zenituen azken alditik aldaketak izan dituzten orrialdeak '''beltzez''' nabarmenduta daude.",
 'watchmethod-recent' => 'Aldaketa berriak aztertzen jarraipen zerrendako orrialdeen bila',
 'watchmethod-list' => 'jarraipen zerrendako orrialdeak aldaketa berrien bila aztertzen',
 'watchlistcontains' => 'Zure jarraipen zerrendak {{PLURAL:$1|orrialde $1 du|$1 orrialde ditu}}.',
@@ -2060,7 +2180,12 @@ Ikusi [[Special:ProtectedPages|babestutako orrialdeen zerrenda]] orrialde babes
 'unprotectedarticle' => '"[[$1]]"-(r)i babesa kendu zaio',
 'movedarticleprotection' => 'babes hobespenak "[[$2]]"tik "[[$1]]"(e)ra mugitu dira',
 'protect-title' => '"$1" babesten',
+'protect-title-notallowed' => '"$1"en babes maila ikusi',
 'prot_1movedto2' => '$1 izenburua $2(r)engatik aldatu da',
+'protect-badnamespace-title' => 'Izen-tarte ez babesgarria',
+'protect-badnamespace-text' => 'Izen-tarte honetako orrialdeak ezin dira babestu.',
+'protect-norestrictiontypes-text' => 'Orrialde hau ezin da babestu ez daudelako mugapen mota eskuragarririk.',
+'protect-norestrictiontypes-title' => 'Izen-tarte ez babesgarria',
 'protect-legend' => 'Babesa baieztatu',
 'protectcomment' => 'Arrazoia:',
 'protectexpiry' => 'Iraungipena:',
@@ -2077,11 +2202,12 @@ Hemen daude '''$1''' orrialderako oraingo ezarpenak:",
 'protect-cascadeon' => 'Orrialde hau babestuta dago orain, ondorengo orrialde {{PLURAL:$1|honek kaskada bidezko babesa aktibatua duelako|hauek kaskada bidezko babesa aktibatua dutelako}}.
 Orrialde honen babes maila alda dezakezu, baina ez du eraginik izango kaskada bidezko babesean.',
 'protect-default' => 'Lankide guztiak baimendu',
-'protect-fallback' => '"$1" baimena eskatu',
-'protect-level-autoconfirmed' => 'Lankide berri eta erregistratu gabekoak blokeatu',
-'protect-level-sysop' => 'Administratzaileak bakarrik',
+'protect-fallback' => '"$1" baimena duten erabiltzaileak bakarrik baimendu',
+'protect-level-autoconfirmed' => 'Baimendu lankide autokonfirmatuei bakarrik',
+'protect-level-sysop' => 'Administratzaileak bakarrik baimendu',
 'protect-summary-cascade' => 'jauzian',
 'protect-expiring' => 'babesaldiaren bukaera: $1 (UTC)',
+'protect-expiring-local' => 'iraungitze data: $1',
 'protect-expiry-indefinite' => 'mugagabea',
 'protect-cascade' => 'Babes masiboa - orrialde honen barneko orrialde guztiak blokeatu.',
 'protect-cantedit' => 'Ezin duzu orrialde honetako babes-maila aldatu, ez duzulako berau aldatzeko eskumenik.',
@@ -2145,7 +2271,7 @@ In such cases, you must uncheck or unhide the newest deleted revision.',
 'undeletedrevisions' => '{{PLURAL:$1|Berrikuspen 1 leheneratu da|$1 berrikuspen leheneratu dira}}',
 'undeletedrevisions-files' => '{{PLURAL:$1|berrikuspen|berrikuspen}} eta {{PLURAL:$2|fitxategi|fitxategi}} leheneratu dira',
 'undeletedfiles' => '{{PLURAL:$1|fitxategi|fitxategi}} leheneratu dira',
-'cannotundelete' => 'Errorea birsortzerakoan; baliteke beste norbaitek lehenago birsortu izana.',
+'cannotundelete' => 'Ezabatutako birgaitzean akatsa: $1',
 'undeletedpage' => "'''$1 leheneratu egin da'''
 
 [[Special:Log/delete|Ezabaketa erregistrora]] jo azken ezabaketa eta leheneraketak ikusteko.",
@@ -2160,6 +2286,7 @@ In such cases, you must uncheck or unhide the newest deleted revision.',
 'undelete-cleanup-error' => 'Erabiltzen ez den "$1" fitxategia ezabatzen arazoa egon da.',
 'undelete-missing-filearchive' => 'Fitxategiaren $1 IDa ezin da leheneratu, ez baitago datu-basean.
 Aurretik ez luke ezabatua izan behar.',
+'undelete-error' => 'Akatsa orrialde ezabatua birgaitzen',
 'undelete-error-short' => 'Errorea fitxategia berreskuratzerakoan: $1',
 'undelete-error-long' => 'Errorea gertatu da hurrengo orrialdea berreskuratzerakoan:
 
@@ -2179,7 +2306,7 @@ $1',
 'mycontris' => 'Ekarpenak',
 'contribsub2' => '$1 ($2)',
 'nocontribs' => 'Ez da ezaugarri horiekin bat datorren aldaketarik aurkitu.',
-'uctop' => ' (Azken aldaketa)',
+'uctop' => '(azken aldaketa)',
 'month' => 'Hilabetea (eta lehenagokoak):',
 'year' => 'Urtea (eta lehenagokoak):',
 
@@ -2263,13 +2390,19 @@ Ikus [[Special:BlockList|blokeoen zerrenda]] blokeoak aztertzeko.',
 'unblockiptext' => 'Erabili beheko formularioa lehenago blokeatutako IP helbide edo erabiltzaile baten idazketa baimenak leheneratzeko.',
 'ipusubmit' => 'Blokeoa ezabatu',
 'unblocked' => '[[User:$1|$1]] desblokeatu egin da',
+'unblocked-range' => '$1 desblokeatuta izan da.',
 'unblocked-id' => '$1 blokeaketa ezabatu da',
 'blocklist' => 'Blokeatutako erabiltzaileak',
 'ipblocklist' => 'Blokeatutako erabiltzaileak',
 'ipblocklist-legend' => 'Blokeatutako erabiltzaile bat bilatu',
+'blocklist-userblocks' => 'Izkutatu kontuaren blokeak',
+'blocklist-tempblocks' => 'Izkutatu behin-behineko blokeoak',
+'blocklist-addressblocks' => 'Izkutatu IP bakarretako blokeoak',
 'blocklist-timestamp' => 'Eguna eta ordua',
 'blocklist-target' => 'Helburua',
+'blocklist-expiry' => 'Epemuga:',
 'blocklist-by' => 'Blokeoa ezarri duen administratzailea',
+'blocklist-params' => 'Blokeo parametroak',
 'blocklist-reason' => 'Arrazoia',
 'ipblocklist-submit' => 'Bilatu',
 'ipblocklist-localblock' => 'Tokiko blokeoa',
@@ -2345,6 +2478,7 @@ Hala ere, $2-(r)en parte denez, blokeoa kendu daiteke.',
 'unlockdbsuccesstext' => 'Datu-basea desblokeatu egin da.',
 'lockfilenotwritable' => 'Ezin da datu-baseko blokeo fitxategian idatzi. Datu-basea blokeatu edo desblokeatzeko, zerbitzariak idazteko aukera izan beharra dauka.',
 'databasenotlocked' => 'Datu-basea ez dago blokeatuta.',
+'lockedbyandtime' => '({{GENDER:$1|$1}}k egina $2ko $3(e)tan)',
 
 # Move page
 'move-page' => '$1 mugitu',
@@ -2465,6 +2599,7 @@ Mesedez bisitatu [//www.mediawiki.org/wiki/Localisation MediaWiki] eta [//transl
 'thumbnail_error' => 'Errorea irudi txikia sortzerakoan: $1',
 'djvu_page_error' => 'DjVu orrialdea eremuz kanpo',
 'djvu_no_xml' => 'Ezinezkoa izan da DjVu fitxategiaren XML lortzea',
+'thumbnail-dest-create' => 'Ezin izan da iruditxoa gorde helburuan',
 'thumbnail_invalid_params' => 'Irudi txikiaren ezarpenak ez dira baliagarriak',
 'thumbnail_dest_directory' => 'Ezinezkoa izan da helburu direktorioa sortu',
 'thumbnail_image-type' => 'Irudi mota ez babestua',
@@ -2480,12 +2615,14 @@ Mesedez bisitatu [//www.mediawiki.org/wiki/Localisation MediaWiki] eta [//transl
 'import-interwiki-templates' => 'Txantiloi guztiak sartu',
 'import-interwiki-submit' => 'Inportatu',
 'import-interwiki-namespace' => 'Helburuko izen-tartea:',
+'import-interwiki-rootpage' => 'Helburuko oinarri orrialdea (aukerazkoa):',
 'import-upload-filename' => 'Fitxategiaren izena:',
 'import-comment' => 'Iruzkina:',
 'importtext' => 'Mesedez, jatorrizko wikitik orrialdea esportatzeko [[Special:Export|esportazio tresna]] erabil ezazu, zure diskoan gorde eta jarraian hona igo.',
 'importstart' => 'Orrialdeak inportatzen...',
 'import-revision-count' => '{{PLURAL:$1|berrikuspen 1|$1 berrikuspen}}',
 'importnopages' => 'Ez dago orrialderik inportatzeko.',
+'imported-log-entries' => '{{PLURAL:$1|Log sarrera bat|$1 log sarrera}} inportatu dira.',
 'importfailed' => 'Inportazioak huts egin du: $1',
 'importunknownsource' => 'Inportazio iturri mota ezezaguna',
 'importcantopen' => 'Ezin izan da inportazio fitxategia ireki',
@@ -2516,6 +2653,10 @@ Fitxategiaren atal bat baino ez zen igo.',
 'import-logentry-interwiki' => '$1 wiki artean mugitu da',
 'import-logentry-interwiki-detail' => '$1 {{PLURAL:$1|berrikuspen|berrikuspen}} $2-(e)tik',
 
+# JavaScriptTest
+'javascripttest' => 'JavaScript frogatzen',
+'javascripttest-title' => '$1 frogak egiten',
+
 # Tooltip help for the actions
 'tooltip-pt-userpage' => 'Nire lankide orria',
 'tooltip-pt-anonuserpage' => 'Zure IParen lankide orrialdea',
@@ -2576,6 +2717,8 @@ Fitxategiaren atal bat baino ez zen igo.',
 'tooltip-diff' => 'Testuari egindako aldaketak erakutsi.',
 'tooltip-compareselectedversions' => 'Orrialde honen bi hautatutako bertsioen arteko ezberdintasunak ikusi.',
 'tooltip-watch' => 'Orrialde hau zure segimendu zerrendan gehitu',
+'tooltip-watchlistedit-normal-submit' => 'Izenburuak kendu',
+'tooltip-watchlistedit-raw-submit' => 'Jarraipen zerrenda gaurkotu',
 'tooltip-recreate' => 'Orrialdea birsortu ezabatu egin den arren',
 'tooltip-upload' => 'Igoera hasi',
 'tooltip-rollback' => '"Desegin" ekintzak orriaren azken egilearen ekarpena ezabatzen du klik batean',
@@ -2616,6 +2759,8 @@ Baliteke zerrenda beltzean dagoen kanpo lotura batek sortzea arazo hori.',
 'spam_blanking' => 'Berrikuspen guztiek $1(e)rako lotura zeukaten, husten',
 
 # Info page
+'pageinfo-title' => '"$1"(r)entzako informazioa',
+'pageinfo-not-current' => 'Barkatu, errebisio zaharretako informazioa eskaintzea ezinezkoa da.',
 'pageinfo-header-basic' => 'Oinarrizko informazioa',
 'pageinfo-header-edits' => 'Aldaketen historia',
 'pageinfo-header-restrictions' => 'Orriaren babesa',
@@ -2630,6 +2775,7 @@ Baliteke zerrenda beltzean dagoen kanpo lotura batek sortzea arazo hori.',
 'pageinfo-robot-noindex' => 'Indexaezina',
 'pageinfo-views' => 'Bistaratze-kopurua',
 'pageinfo-watchers' => 'Orriaren jarraitzaileen kopurua',
+'pageinfo-few-watchers' => '{{PLURAL:$1|Ikusle bat|$1 ikusle}} baino gutxiago',
 'pageinfo-redirects-name' => 'Orri honetara dakarten birzuzenketak',
 'pageinfo-subpages-name' => 'Orri honen azpiorriak',
 'pageinfo-firstuser' => 'Orriaren sortzailea',
@@ -2643,12 +2789,17 @@ Baliteke zerrenda beltzean dagoen kanpo lotura batek sortzea arazo hori.',
 'pageinfo-hidden-categories' => 'Ezkutuko {{PLURAL:$1|kategoria|kategoriak}} ($1)',
 'pageinfo-templates' => 'Txertatutako {{PLURAL:$1|txantiloia|txantiloiak}} ($1)',
 'pageinfo-toolboxlink' => 'Orri honen datuak',
+'pageinfo-redirectsto' => 'Hona birzuzentzen du',
 'pageinfo-redirectsto-info' => 'Informazioa',
 'pageinfo-contentpage' => 'Eduki-orritzat zenbatua',
 'pageinfo-contentpage-yes' => 'Bai',
 'pageinfo-protect-cascading' => 'Serieko babesa, orri honetatik',
 'pageinfo-protect-cascading-yes' => 'Bai',
 'pageinfo-protect-cascading-from' => 'Serieko babesak aktibatuta. Sorburua:',
+'pageinfo-category-info' => 'Kategoria informazioa',
+'pageinfo-category-pages' => 'Orrialde kopurua',
+'pageinfo-category-subcats' => 'Azpikategorien zenbakia',
+'pageinfo-category-files' => 'Fitxategi kopurua',
 
 # Skin names
 'skinname-cologneblue' => 'Cologne Blue',
@@ -2664,6 +2815,8 @@ Baliteke zerrenda beltzean dagoen kanpo lotura batek sortzea arazo hori.',
 'markedaspatrollederror' => 'Ezin da patruilatutzat markatu',
 'markedaspatrollederrortext' => 'Patruilatutzat markatzeko berrikuspen bat hautatu behar duzu.',
 'markedaspatrollederror-noautopatrol' => 'Ez daukazu zeure aldaketak patruilatutzat markatzeko baimenik.',
+'markedaspatrollednotify' => '$1 orrialdeari egindako aldaketa patruilatu moduan markatua izan da.',
+'markedaspatrollederrornotify' => 'Patruilatu gisa markatzean akatsa egon da.',
 
 # Patrol log
 'patrol-log-page' => 'Patrullatze loga',
@@ -2693,8 +2846,10 @@ Zure sisteman exekutatzea arriskutsua izan liteke.",
 'widthheightpage' => '$1 × $2, $3 {{PLURAL:$3|orri|orri}}',
 'file-info' => 'fitxategiaren tamaina: $1, MIME mota: $2',
 'file-info-size' => '$1 × $2 pixel, fitxategiaren tamaina: $3, MIME mota: $4',
+'file-info-size-pages' => '$1 × $2 pixel, fitxategi tamaina: $3, MIME mota: $4, {{PLURAL:$5|orrialde $5|$5 orrialde}}',
 'file-nohires' => 'Ez dago bereizmen handiagorik.',
 'svg-long-desc' => 'SVG fitxategia, nominaldi $1 × $2 pixel, fitxategiaren tamaina: $3',
+'svg-long-error' => 'SVG fitxategi ez baliagarria: $1',
 'show-big-image' => 'Bereizmen handikoa',
 'show-big-image-preview' => 'Aurreikuspen honen neurria: $1.',
 'show-big-image-other' => 'Bestelako {{PLURAL:$2|bereizmena|bereizmenak}}: $1.',
@@ -2702,6 +2857,7 @@ Zure sisteman exekutatzea arriskutsua izan liteke.",
 'file-info-gif-looped' => 'kiribildua',
 'file-info-gif-frames' => '{{PLURAL:$1|Irudi $1|$1 irudi}}',
 'file-info-png-looped' => 'begiztatua',
+'file-info-png-repeat' => '{{PLURAL:$1|Behin|$1 aldiz}} ikusia',
 'file-info-png-frames' => '{{PLURAL:$1|Frame bat|$1 frame}}',
 
 # Special:NewFiles
@@ -2725,7 +2881,24 @@ Zure sisteman exekutatzea arriskutsua izan liteke.",
 'minutes' => '{{PLURAL:$1|minutu $1|$1 minutu}}',
 'hours' => '{{PLURAL:$1|ordu $1|$1 ordu}}',
 'days' => '{{PLURAL:$1|egun $1|$1 egun}}',
+'weeks' => '{{PLURAL: $1|aste $1|$1 aste}}',
+'months' => '{{PLURAL: $1|hilabete $1|$1 hilabete}}',
+'years' => '{{PLURAL: $1|urte $1|$1 urte}}',
 'ago' => 'Duela $1',
+'just-now' => 'orain',
+
+# Human-readable timestamps
+'hours-ago' => 'Orain dela {{PLURAL:$1|ordu bat|$1 ordu}}',
+'minutes-ago' => 'Orain dela {{PLURAL:$1|minutu bat|$1 minutu}}',
+'seconds-ago' => 'Orain dela {{PLURAL:$1|segundu bat|$1 segundu}}',
+'monday-at' => 'Astelehena $1(e)tan',
+'tuesday-at' => 'Asteartea $1(e)tan',
+'wednesday-at' => 'Asteazkena $1(e)tan',
+'thursday-at' => 'Osteguna $1(e)tan',
+'friday-at' => 'Ostirala $1(e)tan',
+'saturday-at' => 'Larunbata $1(e)tan',
+'sunday-at' => 'Igandea $1(e)tan',
+'yesterday-at' => 'Atzo $1(e)tan',
 
 # Bad image list
 'bad_image_list' => 'Formatua hurrengoa da:
@@ -2886,16 +3059,47 @@ Zerrenda elementuak (hasieran * duten lerroak) baino ez dira kontuan hartzen. Le
 'exif-headline' => 'Goiburua',
 'exif-credit' => 'Kreditua/Emalea',
 'exif-source' => 'Jatorria',
+'exif-editstatus' => 'Irudiaren egoera editoriala',
 'exif-urgency' => 'Larrialdia',
+'exif-locationdest' => 'Agertzen den lekua',
+'exif-locationdestcode' => 'Agertzen den lekuaren kodea',
+'exif-objectcycle' => 'Media hau baliagarria den egunaren ordua',
+'exif-contact' => 'Kontratuaren informazioa',
 'exif-writer' => 'Idazlea',
 'exif-languagecode' => 'Hizkuntza',
 'exif-iimversion' => 'IIM bertsioa',
 'exif-iimcategory' => 'Kategoria',
+'exif-iimsupplementalcategory' => 'Kategoria gehigarriak',
+'exif-datetimeexpires' => 'Ez erabili data hau pasata:',
+'exif-datetimereleased' => 'Ekoizpen data:',
+'exif-identifier' => 'Identifikatzailea',
+'exif-lens' => 'Erabilitako lentea',
 'exif-serialnumber' => 'Kameraren serie-zenbakia',
 'exif-cameraownername' => 'Kameraren jabea',
 'exif-label' => 'Etiketa',
+'exif-rating' => 'Balorazioa (5 arte)',
+'exif-rightscertificate' => 'Eskubideen kudeaketa ziurtagiria',
+'exif-copyrighted' => 'Copyright egoera',
 'exif-copyrightowner' => 'Copyright-aren jabea',
 'exif-usageterms' => 'Erabilera baldintzak',
+'exif-webstatement' => 'Copyright azapena sarean',
+'exif-originaldocumentid' => 'Jatorrizko dokumentuaren ID bakarra',
+'exif-licenseurl' => 'Copyright lizentziaren URLa',
+'exif-morepermissionsurl' => 'Lizentziaren informazio alternatiboa',
+'exif-attributionurl' => 'Lan hau berrerabiltzean, mesedez lotura hau erabili',
+'exif-preferredattributionname' => 'Lan hau berrerabiltzean, mesedez aipatu',
+'exif-pngfilecomment' => 'PNG fitxategiaren iruzkina',
+'exif-disclaimer' => 'Mugaketak',
+'exif-contentwarning' => 'Edukiarekin adi',
+'exif-giffilecomment' => 'GIF fitxategiaren iruzkina',
+'exif-intellectualgenre' => 'Elementu mota',
+'exif-subjectnewscode' => 'Gaiaren kodea',
+'exif-scenecode' => 'IPTC eskena kodea',
+'exif-event' => 'Agertzen den ebentoa',
+'exif-organisationinimage' => 'Agertzen den antolakundea',
+'exif-personinimage' => 'Agertzen den pertsona',
+'exif-originalimageheight' => 'Irudiaren altuera moztu aurretik',
+'exif-originalimagewidth' => 'Irudiaren zabalera moztu aurretik',
 
 # Exif attributes
 'exif-compression-1' => 'Konprimatu gabe',
@@ -3072,13 +3276,31 @@ Zerrenda elementuak (hasieran * duten lerroak) baino ez dira kontuan hartzen. Le
 
 'exif-gpsdop-excellent' => 'Bikaina ($1)',
 'exif-gpsdop-good' => 'Ona  ($1)',
+'exif-gpsdop-moderate' => 'Moderatua ($1)',
+'exif-gpsdop-fair' => 'Justua ($1)',
+'exif-gpsdop-poor' => 'Pobrea ($1)',
+
+'exif-objectcycle-a' => 'Goizetan bakarrik',
+'exif-objectcycle-p' => 'Arratsaldetan bakarrik',
+'exif-objectcycle-b' => 'Goiz zein arratsalde',
 
 # Pseudotags used for GPSTrackRef, GPSImgDirectionRef and GPSDestBearingRef
 'exif-gpsdirection-t' => 'Benetako norabidea',
 'exif-gpsdirection-m' => 'Norabide magnetikoa',
 
+'exif-ycbcrpositioning-1' => 'Zentratua',
+
+'exif-dc-contributor' => 'Egileak',
+'exif-dc-date' => 'Data(k)',
 'exif-dc-publisher' => 'Argitaratzailea',
+'exif-dc-relation' => 'Harremana duen media',
 'exif-dc-rights' => 'Eskubideak',
+'exif-dc-source' => 'Jatorrizko media',
+'exif-dc-type' => 'Media mota',
+
+'exif-rating-rejected' => 'Ukatua',
+
+'exif-isospeedratings-overflow' => '65535 baino handiago',
 
 'exif-iimcategory-ace' => 'Arteak, kultura eta aisia',
 'exif-iimcategory-clj' => 'Krimena eta zuzenbidea',
@@ -3087,7 +3309,9 @@ Zerrenda elementuak (hasieran * duten lerroak) baino ez dira kontuan hartzen. Le
 'exif-iimcategory-edu' => 'Hezkuntza',
 'exif-iimcategory-evn' => 'Ingurumena',
 'exif-iimcategory-hth' => 'Osasuna',
+'exif-iimcategory-hum' => 'Gizakientzako interesa',
 'exif-iimcategory-lab' => 'Lana',
+'exif-iimcategory-lif' => 'Bizimoduak eta denborapasak',
 'exif-iimcategory-pol' => 'Politika',
 'exif-iimcategory-rel' => 'Erlijioa eta sinesmenak',
 'exif-iimcategory-sci' => 'Zientzia eta teknologia',
@@ -3236,6 +3460,8 @@ Halaber [[Special:EditWatchlist|aldatzaile estandarra]] erabil dezakezu.',
 'version-specialpages' => 'Aparteko orrialdeak',
 'version-parserhooks' => 'Parser estentsioak',
 'version-variables' => 'Aldagaiak',
+'version-antispam' => 'Spam ekiditea',
+'version-skins' => 'Itxurak',
 'version-other' => 'Bestelakoak',
 'version-mediahandlers' => 'Media gordailuak',
 'version-hooks' => 'Estentsioak',
@@ -3251,8 +3477,21 @@ Halaber [[Special:EditWatchlist|aldatzaile estandarra]] erabil dezakezu.',
 'version-software' => 'Instalatutako softwarea',
 'version-software-product' => 'Produktua',
 'version-software-version' => 'Bertsioa',
+'version-entrypoints' => 'Sarrera puntuko URLa',
+'version-entrypoints-header-entrypoint' => 'Sarrera puntua',
 'version-entrypoints-header-url' => 'URL',
 
+# Special:Redirect
+'redirect' => 'Birzuzendu fitxategi, lankide edo berrikuspen IDaren arabera',
+'redirect-legend' => 'Orrialde edo fitxategi batera birzuzendu',
+'redirect-submit' => 'Joan',
+'redirect-lookup' => 'Ikuskatu:',
+'redirect-value' => 'Balioa:',
+'redirect-user' => 'Erabiltzailearen identifikazioa (ID):',
+'redirect-revision' => 'Orrialdearen berrikuspena',
+'redirect-file' => 'Fitxategiaren izena',
+'redirect-not-exists' => 'Ez da baliorik aurkitu',
+
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Artxibo bikoiztuen bilaketa',
 'fileduplicatesearch-summary' => 'Bikoiztutako fitxategiak bilatu bere hash balioaren arabera.',
@@ -3337,17 +3576,31 @@ Halaber [[Special:EditWatchlist|aldatzaile estandarra]] erabil dezakezu.',
 'htmlform-submit' => 'Bidali',
 'htmlform-reset' => 'Aldaketak desegin',
 'htmlform-selectorother-other' => 'Beste bat',
+'htmlform-no' => 'Ez',
+'htmlform-yes' => 'Bai',
+'htmlform-chosen-placeholder' => 'Aukeratu',
+
+# SQLite database support
+'sqlite-has-fts' => '$1 testu osoan bilatzeko laguntzarekin',
 
 # New logging system
-'logentry-delete-delete' => '$1 wikilariak «$3» orria ezabatu du',
+'logentry-delete-delete' => '$1 wikilariak $3 orria {{GENDER:$2|ezabatu}} du',
+'logentry-delete-restore' => '$1(e)k $3 orrialdea {{GENDER:$2|berrezarri}} du',
 'logentry-delete-event' => '$1 wikilariak ikusgaitasuna aldatu {{PLURAL:$5|dio erregistroko sarrera bati|die erregistroko $5 sarrerari}}, $3 orrian: $4',
 'logentry-suppress-event' => '$1 wikilariak ezkutuan ikusgaitasuna aldatu {{PLURAL:$5|dio erregistroko sarrera bati|die erregistroko $5 sarrerari}}, $3 orrian: $4',
+'revdelete-content-hid' => 'edukia izkutatua',
+'revdelete-summary-hid' => 'aldaketa laburpena izkutatua',
+'revdelete-uname-hid' => 'lankide izena ezkutatua',
+'revdelete-content-unhid' => 'eduki ezkutua erakutsi',
+'revdelete-summary-unhid' => 'aldaketa laburpen izkutua erakutsi',
+'revdelete-uname-unhid' => 'lankide ezkutua erakutsi',
 'revdelete-restricted' => 'administratzaileentzako mugak ezarri dira',
 'revdelete-unrestricted' => 'administratzaileentzako mugak kendu dira',
-'logentry-move-move' => '$1 wikilariak «$3» orria «$4» izenera aldatu du',
-'logentry-move-move-noredirect' => '$1 wikilariak «$3» orria «$4» izenera aldatu du, birzuzenketarik utzi gabe',
-'logentry-move-move_redir' => '$1 wikilariak «$3» orria «$4» izenera aldatu du, birzuzenketaren gainetik',
-'logentry-move-move_redir-noredirect' => '$1 wikilariak «$3» orria «$4» izenera aldatu du, birzuzenketa bat gainidatzita, birzuzenketarik utzi gabe',
+'logentry-move-move' => '$1 {{GENDER:$2|wikilariak}} $3 orria $4 izenera aldatu du',
+'logentry-move-move-noredirect' => '$1 {{GENDER:$2|wikilariak}} $3 orria $4 izenera aldatu du, birzuzenketarik utzi gabe',
+'logentry-move-move_redir' => '$1 {{GENDER:wikilariak}} «$3» orria «$4» izenera aldatu du, birzuzenketaren gainetik',
+'logentry-move-move_redir-noredirect' => '$1 {{GENDER:wikilariak}} «$3» orria «$4» izenera aldatu du, birzuzenketa bat gainidatzita, birzuzenketarik utzi gabe',
+'logentry-patrol-patrol' => '$1(e)k $3 orrialdearen $4 berrikuzpena patruilatutzat {{GENDER:$2|markatu}} du',
 'logentry-newusers-newusers' => '$1 erabiltzaile kontua sortu da',
 'logentry-newusers-create' => '$1 erabiltzaile kontua sortu da',
 'logentry-newusers-create2' => '$1 wikilariak $3 erabiltzaile kontua sortu du',
@@ -3358,9 +3611,29 @@ Halaber [[Special:EditWatchlist|aldatzaile estandarra]] erabil dezakezu.',
 'feedback-message' => 'Mezua:',
 'feedback-cancel' => 'Utzi',
 'feedback-submit' => 'Feedbacka bidali',
+'feedback-error2' => 'Akatsa: Aldaketa ez da egin',
+'feedback-close' => 'Egina',
+'feedback-bugnew' => 'Txekeatu dut. Bug berria bidaliko',
 
 # Search suggestions
 'searchsuggest-search' => 'Bilatu',
 'searchsuggest-containing' => 'edukian...',
 
+# API errors
+'api-error-badaccess-groups' => 'Ez duzu baimendik fitxategi hauek wiki honetara igotzeko.',
+'api-error-badtoken' => 'Barne akatsa: token okerra.',
+'api-error-unclassified' => 'Ezezaguna den errorea gertatu da.',
+'api-error-unknown-code' => 'Akats ezezaguna: "$1".',
+
+# Durations
+'duration-seconds' => '{{PLURAL:$1|Segundu $1|$1 segundu}}',
+'duration-minutes' => '{{PLURAL:$1|Minutu $1|$1 minutu}}',
+'duration-hours' => '{{PLURAL:$1|Ordu $1|$1 ordu}}',
+'duration-days' => '{{PLURAL:$1|Egun $1|$1 egun}}',
+'duration-weeks' => '{{PLURAL:$1|Aste $1|$1 aste}}',
+'duration-years' => '{{PLURAL:$1|Urte $1|$1 urte}}',
+'duration-decades' => '{{PLURAL:$1|Hamarkada $1|$1 hamarkada}}',
+'duration-centuries' => '{{PLURAL:$1|Mende $1|$1 mende}}',
+'duration-millennia' => '{{PLURAL:$1|Milurteko $1|$1 milurteko}}',
+
 );
index c8ff7ab..1c142e4 100644 (file)
@@ -766,7 +766,6 @@ Asigurati e qu'esti chambu mantenga la continuiá el estorial la páhina.",
 'viewprevnext' => 'Vel ($1 {{int:pipe-separator}} $2) ($3).',
 'searchmenu-legend' => 'Ocionis de landeu',
 'searchmenu-new' => "'''Crial el artículu \"[[:\$1]]\"'''",
-'searchhelp-url' => 'Help:Continius',
 'searchprofile-images' => 'Murtimeya',
 'searchprofile-everything' => 'Tó',
 'searchprofile-advanced' => 'Avançau',
index 48366d7..321ec72 100644 (file)
@@ -40,6 +40,7 @@
  * @author ZxxZxxZ
  * @author לערי ריינהארט
  * @author جواد
+ * @author درفش کاویانی
  * @author محک
  */
 
@@ -695,7 +696,7 @@ $1',
 'privacypage' => 'Project:سیاست محرمانگی',
 
 'badaccess' => 'خطای دسترسی',
-'badaccess-group0' => 'شما اجازهٔ اجرای عملی را که درخواست کرده‌اید ندارید.',
+'badaccess-group0' => 'شما اجازهٔ اجرای عملی که درخواست کرده‌اید را ندارید.',
 'badaccess-groups' => 'عملی که درخواست کرده‌اید منحصر به کاربران {{PLURAL:$2|این گروه|این گروه‌ها}} است: $1.',
 
 'versionrequired' => 'نسخهٔ $1 از نرم‌افزار مدیاویکی لازم است',
@@ -876,7 +877,7 @@ $2',
 'createacct-yourpasswordagain-ph' => 'گذرواژه را وارد کنید برای بار دوم',
 'remembermypassword' => 'گذرواژه را (تا حداکثر $1 {{PLURAL:$1|روز|روز}}) در این رایانه به خاطر بسپار',
 'userlogin-remembermypassword' => 'من را واردشده نگه‌دار',
-'userlogin-signwithsecure' => 'از ارتباط امن استفاده کن',
+'userlogin-signwithsecure' => 'از ورود امن استفاده کنید',
 'securelogin-stick-https' => 'پس از ورود به سامانه به HTTPS متصل بمان',
 'yourdomainname' => 'دامنهٔ شما:',
 'password-change-forbidden' => 'شما نمی‌توانید گذرواژه‌ها را در این ویکی تغییر دهید.',
@@ -889,15 +890,15 @@ $2',
 'logout' => 'خروج از سامانه',
 'userlogout' => 'خروج از سامانه',
 'notloggedin' => 'به سامانه وارد نشده‌اید',
-'userlogin-noaccount' => 'Ø¢Û\8cا Ø­Ø³Ø§Ø¨ی ندارید؟',
-'userlogin-joinproject' => 'بÙ\87 {{SITENAME}} Ø¨Ù¾Û\8cÙ\88Ù\86دÛ\8cد',
+'userlogin-noaccount' => 'حساب Ú©Ø§Ø±Ø¨Ø±ی ندارید؟',
+'userlogin-joinproject' => 'در {{SITENAME}} Ù\86اÙ\85â\80\8cÙ\86Ù\88Û\8cسÛ\8c Ú©Ù\86Û\8cد!',
 'nologin' => 'حساب کاربری ندارید؟ $1.',
 'nologinlink' => 'یک حساب کاربری جدید بسازید',
 'createaccount' => 'ایجاد حساب کاربری',
 'gotaccount' => 'حساب کاربری دارید؟ $1.',
 'gotaccountlink' => 'به سامانه وارد شوید',
 'userlogin-resetlink' => 'جزئیات ورود را فراموش کرده‌اید؟',
-'userlogin-resetpassword-link' => 'گذرواژه را ریست کن',
+'userlogin-resetpassword-link' => 'گذرواژه‌تان را فراموش کردید؟',
 'helplogin-url' => 'Help:ورود به سامانه',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|راهنمای ورود به سامانه]]',
 'createacct-join' => 'اطلاعاتتان را در زیر وارد کنید',
@@ -1510,7 +1511,6 @@ $1",
 'searchmenu-legend' => 'گزینه‌های جستجو',
 'searchmenu-exists' => "'''صفحه‌ای با عنوان \"[[:\$1]]\" در این ویکی وجود دارد.'''",
 'searchmenu-new' => "'''صفحهٔ «[[:$1]]» را در این ویکی بسازید!'''",
-'searchhelp-url' => 'Help:محتوا',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|مرور صفحه‌های با این پیشوند]]',
 'searchprofile-articles' => 'صفحه‌های محتوایی',
 'searchprofile-project' => 'صفحه‌های راهنما و پروژه',
@@ -1676,7 +1676,7 @@ $1",
 'prefs-diffs' => 'تفاوت‌ها',
 
 # User preference: email validation using jQuery
-'email-address-validity-valid' => 'نشانی رایانامه معتبر به نظر می رسد',
+'email-address-validity-valid' => 'نشانی رایانامه معتبر به نظر میرسد',
 'email-address-validity-invalid' => 'نشانی رایانامهٔ معتبر وارد کنید',
 
 # User rights
index 53168b0..ab0f3a3 100644 (file)
@@ -513,6 +513,7 @@ $messages = array(
 'create-this-page' => 'Luo tämä sivu',
 'delete' => 'Poista',
 'deletethispage' => 'Poista tämä sivu',
+'undeletethispage' => 'Palauta tämä sivu',
 'undelete_short' => 'Palauta {{PLURAL:$1|yksi muokkaus|$1 muokkausta}}',
 'viewdeleted_short' => 'Näytä {{PLURAL:$1|poistettu muokkaus|$1 poistettua muokkausta}}',
 'protect' => 'Suojaa',
@@ -707,6 +708,8 @@ $2',
 'namespaceprotected' => "Et voi muokata sivuja nimiavaruudessa '''$1'''.",
 'customcssprotected' => 'Sinulla ei ole oikeutta muuttaa tätä CSS-sivua, koska se sisältää toisen käyttäjän henkilökohtaisia asetuksia.',
 'customjsprotected' => 'Sinulla ei ole oikeutta muuttaa tätä JavaScript-sivua, koska se sisältää toisen käyttäjän henkilökohtaisia asetuksia.',
+'mycustomcssprotected' => 'Sinulla ei ole oikeutta muokata tätä CSS-sivua.',
+'mycustomjsprotected' => 'Sinulla ei ole oikeutta muokata tätä JavaScript-sivua.',
 'ns-specialprotected' => 'Toimintosivuja ei voi muokata.',
 'titleprotected' => "Käyttäjä [[User:$1|$1]] on suojannut tämän sivunimen, ja sivua ei voi luoda.
 Syynä on: ''$2''.",
@@ -1336,7 +1339,6 @@ $1 {{int:pipe-separator}} $2',
 'searchmenu-legend' => 'Hakuasetukset',
 'searchmenu-exists' => "'''Tässä wikissä on sivu nimellä [[:$1]].'''",
 'searchmenu-new' => "'''Luo sivu ''[[:$1]]'' tähän wikiin.'''",
-'searchhelp-url' => 'Help:Sisällys',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Selaa sivuja tällä etuliitteellä]]',
 'searchprofile-articles' => 'Sisältösivut',
 'searchprofile-project' => 'Ohje- ja projektisivut',
@@ -1590,6 +1592,8 @@ Tässä satunnaisesti tuotettu arvo, jota voit käyttää: $1',
 'right-editusercssjs' => 'Muokata toisten käyttäjien CSS- ja JavaScript-tiedostoja',
 'right-editusercss' => 'Muokata toisten käyttäjien CSS-tiedostoja',
 'right-edituserjs' => 'Muokata toisten käyttäjien JavaScript-tiedostoja',
+'right-editmyusercss' => 'Muokata omia CSS-tiedostojaan',
+'right-editmyuserjs' => 'Muokata omia JavaScript-tiedostojaan',
 'right-rollback' => 'Palauttaa nopeasti käyttäjän viimeisimmät muokkaukset sivuun',
 'right-markbotedits' => 'Kumota muokkauksia bottimerkinnällä',
 'right-noratelimit' => 'Ohittaa nopeusrajoitukset',
index 17a4947..69d96c6 100644 (file)
@@ -1129,7 +1129,6 @@ Tryggja tær, at henda broyting fer at varðveita framhaldssøguna hjá síðuni
 'searchmenu-legend' => 'Leiti møguleikar',
 'searchmenu-exists' => "'''Tað er longu ein síða sum eitur \"[[:\$1]]\" á hesi wiki.'''",
 'searchmenu-new' => "'''Stovna síðuna \"[[:\$1]]\" á hesi wiki!'''",
-'searchhelp-url' => 'Help:Innihald',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Leita í síðum við hesum prefiksinum (byrjan av orðinum)]]',
 'searchprofile-articles' => 'Innihaldssíður',
 'searchprofile-project' => 'Hjálpar og verkætlanar síður',
index 92f5b4f..06776ff 100644 (file)
@@ -589,6 +589,7 @@ $messages = array(
 'create-this-page' => 'Créer cette page',
 'delete' => 'Supprimer',
 'deletethispage' => 'Supprimer cette page',
+'undeletethispage' => 'Annuler la suppression de cette page',
 'undelete_short' => 'Restaurer $1 modification{{PLURAL:$1||s}}',
 'viewdeleted_short' => 'Voir {{PLURAL:$1|une modification supprimée|$1 modifications supprimées}}',
 'protect' => 'Protéger',
@@ -789,6 +790,8 @@ $2",
 'namespaceprotected' => "Vous n'avez pas la permission de modifier les pages de l'espace de noms « '''$1''' ».",
 'customcssprotected' => "Vous n'avez pas la permission de modifier cette page de CSS, car elle contient les paramètres personnels d'un autre utilisateur.",
 'customjsprotected' => "Vous n'avez pas la permission de modifier cette page de JavaScript, car elle contient les paramètres personnels d'un autre utilisateur.",
+'mycustomcssprotected' => 'Vous n’avez pas le droit de modifier cette page CSS.',
+'mycustomjsprotected' => 'Vous n’avez pas le droit de modifier cette page JavaScript.',
 'ns-specialprotected' => "Les pages dans l'espace de noms « {{ns:special}} » ne peuvent pas être modifiées.",
 'titleprotected' => "Ce titre a été protégé à la création par [[User:$1|$1]].
 Le motif avancé est « ''$2'' ».",
@@ -919,7 +922,7 @@ Entrez une adresse bien formatée ou laissez ce champ vide.',
 'cannotchangeemail' => 'Les adresses de courriel des comptes ne peuvent pas être modifiées sur ce wiki.',
 'emaildisabled' => 'Ce site ne peut pas envoyer de courriels.',
 'accountcreated' => 'Compte créé',
-'accountcreatedtext' => 'Le compte utilisateur pour $1 a été créé.',
+'accountcreatedtext' => 'Le compte utilisateur pour [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|discussion]]) a été créé.',
 'createaccount-title' => "Création d'un compte pour {{SITENAME}}",
 'createaccount-text' => "Quelqu'un a créé un compte pour votre adresse de courriel sur {{SITENAME}} ($4) intitulé « $2 », avec le mot de passe « $3 ».
 Vous devriez ouvrir une session et modifier dès à présent votre mot de passe.
@@ -1435,7 +1438,6 @@ Vous pouvez trouver des détails dans le [{{fullurl:{{#Special:Log}}/delete|page
 'searchmenu-legend' => 'Options de recherche',
 'searchmenu-exists' => "'''Il existe une page nommée « [[:$1]] » sur ce wiki'''",
 'searchmenu-new' => "'''Créer la page « [[:$1|$1]] » sur ce wiki !'''",
-'searchhelp-url' => 'Help:Accueil',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Rechercher les pages commençant par ce préfixe]]',
 'searchprofile-articles' => 'Pages de contenu',
 'searchprofile-project' => "Pages d'aide et de projet",
@@ -1691,6 +1693,8 @@ Elle ne doit pas dépasser $1 caractère{{PLURAL:$1||s}}.',
 'right-editusercssjs' => "Modifier les fichiers CSS et JavaScript d'autres utilisateurs",
 'right-editusercss' => "Modifier les fichiers CSS d'autres utilisateurs",
 'right-edituserjs' => "Modifier les fichiers JavaScript d'autres utilisateurs",
+'right-editmyusercss' => 'Modifier vos propres fichiers CSS utilisateur',
+'right-editmyuserjs' => 'Modifier vos propres fichiers JavaScript utilisateur',
 'right-rollback' => "Révoquer rapidement les modifications du dernier contributeur d'une page particulière",
 'right-markbotedits' => 'Marquer des modifications révoquées comme ayant été faites par un robot.',
 'right-noratelimit' => 'Ne pas être affecté par les limites de taux',
@@ -2242,8 +2246,8 @@ Les entrées <del>barrées</del> ont été résolues.',
 'wantedpages' => 'Pages les plus demandées',
 'wantedpages-badtitle' => 'Titre invalide dans les résultats : $1',
 'wantedfiles' => 'Fichiers les plus demandés',
-'wantedfiletext-cat' => "Les fichiers suivants sont utilisés, mais n'existent pas. Les fichiers d'autres dépôts peuvent être listés malgré qu'ils existent. Tous ces faux positifs seront <del>barrés</del>. En outre, les pages qui intègrent des fichiers qui n'existent pas sont répertoriées dans [[:$1]].",
-'wantedfiletext-nocat' => "Les fichiers suivants sont utilisés, mais n'existent pas. Les fichiers d'autres dépôts peuvent être listés malgré qu'ils existent. Tous ces faux positifs seront <del>barrés</del>.",
+'wantedfiletext-cat' => "Les fichiers suivants sont utilisés, mais n'existent pas localement. S'ils se trouvent sur un dépôt partagé, ils peuvent être listés ici, bien qu'ils soient, de fait, déjà disponibles. Tous ces faux positifs seront <del>barrés</del>. En outre, les pages qui intègrent des fichiers qui n'existent pas sont répertoriées dans [[:$1]].",
+'wantedfiletext-nocat' => "Les fichiers suivants sont utilisés, mais n'existent pas localement. S'ils se trouvent sur un dépôt partagé, ils peuvent être listés ici, bien qu'ils soient, de fait, déjà disponibles. Tous ces faux positifs seront <del>barrés</del>.",
 'wantedtemplates' => 'Modèles demandés',
 'mostlinked' => 'Pages les plus liées',
 'mostlinkedcategories' => 'Catégories les plus utilisées',
@@ -2702,7 +2706,7 @@ $1',
 'mycontris' => 'Contributions',
 'contribsub2' => 'Pour $1 ($2)',
 'nocontribs' => "Aucune modification correspondant à ces critères n'a été trouvée.",
-'uctop' => '(dernière)',
+'uctop' => '(actuel)',
 'month' => 'À partir du mois (et précédents) :',
 'year' => "À partir de l'année (et précédentes) :",
 
@@ -3217,7 +3221,7 @@ Permet de rétablir la version précédente et d'ajouter un motif dans la boîte
 
 # Spam protection
 'spamprotectiontitle' => 'Filtre de protection anti-pollution',
-'spamprotectiontext' => "La page que vous avez voulu sauvegarder a été bloquée par le filtre anti-pollution. Ceci est probablement dû à l'introduction d'un lien vers un site externe apparaissant sur la liste noire. Cette dernière utilise les expressions rationnelles suivantes :",
+'spamprotectiontext' => "La page que vous avez voulu sauvegarder a été bloquée par le filtre anti-pollution. Ceci est probablement dû à l'introduction d'un lien vers un site externe apparaissant sur la liste noire.",
 'spamprotectionmatch' => "La chaîne de caractères « '''$1''' » a déclenché le détecteur de spam.",
 'spambot_username' => 'Nettoyage de spams par MediaWiki',
 'spam_reverting' => 'Rétablissement de la dernière version ne contenant pas de lien vers $1',
index 35ee834..9c9be07 100644 (file)
@@ -851,10 +851,8 @@ Pôt-étre vos éd ja changiê voutron contresegno avouéc reusséta ou ben dema
 
 # Special:PasswordReset
 'passwordreset' => 'Remês’a zérô du contresegno',
-'passwordreset-text' => 'Rempléd ceti formulèro por rebetar a zérô voutron contresegno.',
 'passwordreset-legend' => 'Rebetar a zérô lo contresegno',
 'passwordreset-disabled' => 'La remês’a zérô des contresegnos est étâye dèsactivâye sur ceti vouiqui.',
-'passwordreset-pretext' => '{{PLURAL:$1||Buchiéd yona de les piéces de balyês ce-desot}}',
 'passwordreset-username' => 'Nom d’utilisator :',
 'passwordreset-domain' => 'Domêno :',
 'passwordreset-capture' => 'Est-o que vos voléd vêre lo mèssâjo que rèsulte ?',
@@ -1359,7 +1357,6 @@ Vos pouede trovar més de dètalys sur lo [{{fullurl:{{#Special:Log}}/delete|pag
 'searchmenu-legend' => 'Chouèx de rechèrche',
 'searchmenu-exists' => "'''Y at na pâge apelâye « [[:$1]] » sur ceti vouiqui.'''",
 'searchmenu-new' => "'''Fâre la pâge « [[:$1|$1]] » sur ceti vouiqui !'''",
-'searchhelp-url' => 'Help:Somèro',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Fâre dèfelar les pâges que començont per ceti prèfixo]]',
 'searchprofile-articles' => 'Pâges de contegnu',
 'searchprofile-project' => 'Pâges d’éde et pâges projèt',
index 14efac5..942831f 100644 (file)
@@ -187,7 +187,7 @@ $messages = array(
 'vector-action-protect' => 'Seekre',
 'vector-action-undelete' => 'Weder iinstel',
 'vector-action-unprotect' => 'Sidjenseekerhaid',
-'vector-simplesearch-preference' => 'Ianfacher sjüklist iinstel (bluas bi Vector)',
+'vector-simplesearch-preference' => 'Ianfacher schüklist iinstel (bluas bi Vector)',
 'vector-view-create' => 'Maage',
 'vector-view-edit' => 'Bewerke',
 'vector-view-history' => 'Ferluup uunluke',
@@ -219,6 +219,7 @@ $messages = array(
 'create-this-page' => 'Nei sidj maage',
 'delete' => 'Strik',
 'deletethispage' => 'Detdiar sidj strik',
+'undeletethispage' => 'Detdiar stregen sidj turaghaale',
 'undelete_short' => '{{PLURAL:$1|1 werjuun|$1 werjuunen}} weder iinstel',
 'viewdeleted_short' => '{{PLURAL:$1|Ian stregen werjuun|$1 stregen werjuunen}} uunluke',
 'protect' => 'Sääkere',
@@ -424,6 +425,8 @@ $2',
 'namespaceprotected' => "Dü heest ei det brükerrocht, am sidjen uun di nöömrüm '''$1''' tu bewerkin.",
 'customcssprotected' => 'Dü mutst detheer CSS sidj ei bewerke, auer det hoker ööders hiart.',
 'customjsprotected' => 'Dü mutst detheer JavaScript sidj ei bewerke, auer det hoker ööders hiart.',
+'mycustomcssprotected' => 'Dü mutst detdiar CSS-sidj ei bewerke.',
+'mycustomjsprotected' => 'Dü mutst detdiar JavaScript-sidj ei bewerke.',
 'ns-specialprotected' => 'Spezial-sidjen kön ei bewerket wurd.',
 'titleprotected' => 'En sidj mä didiar nööm koon ei uunlaanj wurd.
 Di brüker [[User:$1|$1]] hää det sidj speret, an di grünj as: "\'\'$2\'\'".',
@@ -454,7 +457,7 @@ Ferjid det ei, an aachte üüb din [[Special:Preferences|{{SITENAME}} iinstelang
 'userlogin-yourpassword' => 'Paaswurd',
 'userlogin-yourpassword-ph' => 'Paaswurd iindu',
 'createacct-yourpassword-ph' => 'Paaswurd iindu',
-'yourpasswordagain' => 'Schriw pååsuurd nuch iinjsen:',
+'yourpasswordagain' => 'Skriiw det paaswurd noch ans weder hen:',
 'createacct-yourpasswordagain' => 'Paaswurd gudkään',
 'createacct-yourpasswordagain-ph' => 'Du det paaswurd noch ans iin',
 'remembermypassword' => 'Üüb diheer reegner üüb düür uunmelde (maksimaal för $1 {{PLURAL:$1|dai|daar}})',
@@ -538,18 +541,18 @@ Wan dü det würelk so haa wel, do melde di nü uun an feranere det paaswurd. De
 Wan dü ei salew am en nei paaswurd fraaget heest, do säärst dü di am niks widjer komre. Do könst dü din ual paaswurd widjer brük.',
 'noemail' => 'Diar as nian e-mail adres bekäänd för di brüker "$1".',
 'noemailcreate' => 'Dü skel en rocht e-mail adres uundu.',
-'passwordsent' => 'En nai pååsuurd as sånd tu jü e-mail-adräs registriird for "$1".
-Mälde wi önj eefter dü jü füngen heest.',
+'passwordsent' => 'En nei tidjwiis paaswurd as tu det e-mail-adres faan di brüker "$1" schüürd wurden.
+Melde di diarmä uun, wan dü det füngen heest. Det ual paaswurd blaft iarst ans bestunen.',
 'blocked-mailpassword' => 'Det IP-adres, wat dü brükst, as speret wurden. Am dat diar nian dom tjüch mä maaget woort, as uk det uffraagin faan paaswurden speret wurden.',
 'eauthentsent' => 'Diar as en e-mail tu det uunjiwen adres schüürd wurden.
 
 Iar en e-mail faan ööder brükern auer det e-mail-funktjuun uunnimen wurd koon, skal seeker steld wurd, dat det e-mail-adres uk würelk tu di brüker hiart. Wees so gud an befulge jo uunwisangen uun det e-mail, wat dü jüst füngen heest.',
-'throttled-mailpassword' => 'Deer wörd önj da leeste {{PLURAL:$1|stün|$1 stüne}} ål en nai pååsuurd önjfrååged. Am en masbrük foon jüdeer funksjoon tu ferhanren, koon bloot {{PLURAL:$1|iinjsen pro stün|åle $1 stüne}} en nai pååsuurd önjfrååged wårde.',
+'throttled-mailpassword' => 'Diar as uun a leetst {{PLURAL:$1|stünj|$1 stünj}} al ans am en nei paaswurd uunfraaget wurden. Am dat diar nään masbrük mä drewen woort, koon bluas {{PLURAL:$1|iansis per stünj|iansis per $1 stünj}} am en nei paaswurd uunfraaget wurd.',
 'mailerror' => 'Fäägel bai dåt siinjen foon e e-mail: $1',
 'acct_creation_throttle_hit' => 'Beschükern faan detheer wiki mä din IP-adres haa di leetst dai {{PLURAL:$1|1 brükerkonto|$1 brükerkontos}} iinracht. Muar san ei tuläät.
 
 Beschükern mä detdiar IP-adres kön daalang nian brükerkontos muar iinracht.',
-'emailauthenticated' => 'Din e-mail-adräs word di $2 am e klook $3 bestääsied.',
+'emailauthenticated' => 'Din e-mail-adres as di $2 am a klook $3 gudkäänd wurden.',
 'emailnotauthenticated' => 'Din e-mail-adres as noch ei gudkäänd. Jodiar e-mail-funktjuunen kön iarst brükt wurd, wan det adres gudkäänd wurden as.',
 'noemailprefs' => 'Du en e-mail-adres uun din iinstelangen iin, amdat dü jodiar funktjuunen brük könst.',
 'emailconfirmlink' => 'E-mail-adres gudkään',
@@ -558,7 +561,7 @@ Wees sü gödj än jeef en koräkt adräs önj unti mäág dåt fäalj lääsi.'
 'cannotchangeemail' => 'E-mail-adresen kön uun detheer wiki ei feranert wurd.',
 'emaildisabled' => 'Fann detdiar sidj kön nian E-Mails fersjüürd wurd',
 'accountcreated' => 'Brükerkonto as iinracht wurden',
-'accountcreatedtext' => 'Det brükerkonto för $1 as iinracht wurden.',
+'accountcreatedtext' => 'Det brükerkonto för [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|talk]]) as iinracht wurden.',
 'createaccount-title' => 'En brükerkonto üüb {{SITENAME}} iinracht',
 'createaccount-text' => 'Diar as mä din e-mail adres för di en brükerkonto "$2" üüb {{SITENAME}} ($4) maaget wurden. För "$2" as automaatisk det paaswurd "$3" iinracht wurden.
 Dü skulst di nü uunmelde an det paaswurd anre.
@@ -888,7 +891,7 @@ Grünj för det sper: ''$2''",
 'viewpagelogs' => 'Logbuken faan detdiar sidj uunwise',
 'nohistory' => 'Detdiar sidj hää nään ferluup faan werjuunen.',
 'currentrev' => 'Leetst werjuun',
-'currentrev-asof' => 'Leetst werjuun faan di $2, am e klook $3',
+'currentrev-asof' => 'Leetst werjuun faan di $2, am a klook $3',
 'revisionasof' => 'Werjuun faan $2, klook $3',
 'revision-info' => 'Werjuun faan di $4 am a klook $5 faan $2',
 'previousrevision' => '← Naistääler werjuun',
@@ -1076,8 +1079,7 @@ Dü könst det uun't [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}}
 'viewprevnext' => 'Wise ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-legend' => 'Säkmöölikhäide',
 'searchmenu-exists' => "'''Deer as en sid nååmd \"[[:\$1]]\" önj jüdeer Wiki'''",
-'searchmenu-new' => "'''Mååg jü sid „[[:$1|$1]]“ önj jüdeer Wiki.'''",
-'searchhelp-url' => 'Help:Auersicht',
+'searchmenu-new' => "'''Maage det sidj „[[:$1]]“ uun detheer wiki.'''",
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Wise aal jo sidjen, diar so began]]',
 'searchprofile-articles' => 'Artiikler',
 'searchprofile-project' => 'Halep- an Projektsidjen',
@@ -1099,7 +1101,7 @@ Dü könst det uun't [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}}
 'search-interwiki-default' => '$1 resultaaten:',
 'search-interwiki-more' => '(muar)',
 'search-relatedarticle' => 'Ferbünjen',
-'mwsuggest-disable' => "Föörslacher för't sjüken deaktiwiare",
+'mwsuggest-disable' => "Föörslacher för't schüken deaktiwiare",
 'searcheverything-enable' => 'Uun arke nöömrüm schük',
 'searchrelated' => 'ferbünjen',
 'searchall' => 'aaltumaal',
@@ -1126,7 +1128,7 @@ Dü könst det uun't [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}}
 'prefs-edits' => 'Taal faan feranrangen:',
 'prefsnologin' => 'Ei uunmeldet',
 'prefsnologintext' => 'Dü skel <span class="plainlinks">[{{fullurl:{{#special:UserLogin}}|returnto=$1}} uunmeldet]</span> wees, am din iinstelangen tu feranrin.',
-'changepassword' => 'Pååsuurd änre',
+'changepassword' => 'Paaswurd feranre',
 'prefs-skin' => 'Skak',
 'skin-preview' => 'Föörskau',
 'datedefault' => 'Föör-iinstelang',
@@ -1143,7 +1145,7 @@ Dü könst det uun't [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}}
 'prefs-watchlist-edits-max' => 'Ai mör as 1000',
 'prefs-watchlist-token' => "Token för uun't uug behualen:",
 'prefs-misc' => 'Dit an dat',
-'prefs-resetpass' => 'Pååsuurd änre',
+'prefs-resetpass' => 'Paaswurd feranre',
 'prefs-changeemail' => 'Feranre det E-Mail-adres',
 'prefs-setemail' => 'E-Mail-adres fäästlei:',
 'prefs-email' => 'E-Mail iinstelangen',
@@ -1166,7 +1168,7 @@ Dü könst det uun't [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}}
 'prefs-help-watchlist-token' => "Wan dü detdiar fial mä en hiamelken code ütjfalst, woort en RSS-feed iinracht. Arken mä didiar code koon do sä, wat dü uun't uug behual wel. Diaram skul hi ei so ianfach wees, nem dach didiar: $1",
 'savedprefs' => 'Din iinstelangen san seekert wurden.',
 'timezonelegend' => 'Tidjsoon:',
-'localtime' => 'lokaal tid',
+'localtime' => 'Lokaal tidj:',
 'timezoneuseserverdefault' => 'Wiki standard tidj brük ($1)',
 'timezoneuseoffset' => 'Öödern (ferskeel uundu)',
 'timezoneoffset' => 'Ferskeel¹:',
@@ -1186,8 +1188,8 @@ Dü könst det uun't [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}}
 'prefs-searchoptions' => 'Schük',
 'prefs-namespaces' => 'Nöömrümer',
 'defaultns' => 'Ööders schük uun jodiar nöömrümer:',
-'default' => 'Forinstaling',
-'prefs-files' => 'Dååtäie',
+'default' => 'Fööriinstelang',
+'prefs-files' => 'Datein',
 'prefs-custom-css' => 'Salew maaget CSS',
 'prefs-custom-js' => 'Salew maaget JavaScript',
 'prefs-common-css-js' => 'CSS / JavaScript för arke skak:',
@@ -1204,7 +1206,7 @@ Do san jo ual iinstelangen wech.',
 'yourlanguage' => 'Spriak:',
 'yourvariant' => 'Spriak:',
 'prefs-help-variant' => 'Uun hün skriiwwiis skel a sidjen uunwiset wurd:',
-'yournick' => 'Nai signatuur:',
+'yournick' => 'Nei signatuur:',
 'prefs-help-signature' => 'Wees so gud an onerskriiw üüb diskusjuunssidjen mä „<nowiki>~~~~</nowiki>“. Diar komt do dan brükernööm an det klooktidj bi ütj.',
 'badsig' => "Diar stemet wat ei mä't signatuur. Preewe at HTML.",
 'badsiglength' => 'Din signatuur mut ei muar üs $1 {{PLURAL:$1|tiaken|tiakens}} haa.',
@@ -1329,6 +1331,8 @@ Do san jo ual iinstelangen wech.',
 'right-editusercssjs' => 'CSS- an JavaScript-datein faan ööder brükern bewerke',
 'right-editusercss' => 'CSS-datein faan ööder brükern bewerke',
 'right-edituserjs' => 'JavaScript-datein faan ööder brükern bewerke',
+'right-editmyusercss' => 'Aanj CSS-datein bewerke',
+'right-editmyuserjs' => 'Aanj JavaScript-datein bewerke',
 'right-rollback' => 'Feranrangen faan di leetst brüker gau turagsaat',
 'right-markbotedits' => 'Gau turagsaatangen üs bot-iindracher kääntiakne',
 'right-noratelimit' => 'Ei troch limits beskäären',
@@ -1431,7 +1435,7 @@ Do san jo ual iinstelangen wech.',
 'recentchangeslinked' => 'Feranrangen bi ferlinket sidjen',
 'recentchangeslinked-feed' => 'Feranrangen bi ferlinket sidjen',
 'recentchangeslinked-toolbox' => 'Feranrangen bi ferlinket sidjen',
-'recentchangeslinked-title' => 'Feranrangen bi sidjen, diar faan "$1" ferlinket san',
+'recentchangeslinked-title' => 'Feranrangen bi sidjen, huar faan "$1" üüb ferwiset woort',
 'recentchangeslinked-noresult' => 'Uun detdiar tidj san jo ferlinket sidjen ei feranert wurden.',
 'recentchangeslinked-summary' => "Detdiar spezial-sidj wiset a leetst feranrangen faan ferwiset sidjen (of faan sidjen uun en was kategorii). Sidjen, diar dü [[Special:Watchlist|uun't uug behual]] wel, san '''fäät''' skrewen.",
 'recentchangeslinked-page' => 'Sidjennööm:',
@@ -1626,7 +1630,7 @@ Wan det goorei wal, do skriiw tu en [[Special:ListUsers/sysop|administraator]]."
 # img_auth script messages
 'img-auth-accessdenied' => 'Tugrip ei mögelk',
 'img-auth-nopathinfo' => 'Diar as nään PATH_INFO.
-Di server koon detdiar informatsjuun ei widjerdu.
+Di server koon detdiar informatjuun ei widjerdu.
 Ferlicht as det uun CGI iinbünjen an komt diaram uk ei mä „img_auth“ turocht.
 Üüb det sidj https://www.mediawiki.org/wiki/Manual:Image_Authorization (ingelsk) stäänt diar muar auer.',
 'img-auth-notindir' => 'Detdiar fertiaknis as ei föörsen tu huuchsjüüren.',
@@ -1684,7 +1688,7 @@ För a seekerhaid as img_auth.php ei aktiwiaret.',
 'filehist-deleteone' => 'jüdeer färsjoon strike',
 'filehist-revert' => 'turagsaat',
 'filehist-current' => 'aktuel',
-'filehist-datetime' => 'Werjuun faan di',
+'filehist-datetime' => 'Werjuun faan',
 'filehist-thumb' => 'Föörskaubil',
 'filehist-thumbtext' => 'Föörskau för det werjuun faan $2, klook $3',
 'filehist-nothumb' => 'Diar as nian föörskaubil',
@@ -1908,7 +1912,7 @@ Uun arke rä stun ferwisangen tu't iarst an ööder widjerfeerang an uk tu det s
 'speciallogtitlelabel' => 'Mual (sidjennööm of brüker):',
 'log' => 'Logbuken',
 'all-logs-page' => 'Aal a öfentelk logbuken',
-'alllogstext' => 'Diar wuad aal a logbuken faan {{SITENAME}} uunwiset.
+'alllogstext' => 'Diar wurd aal a logbuken faan {{SITENAME}} uunwiset.
 Det woort efter logbukslach, brüker of sidjennööm uunwiset. Grat- an letjskriiwang skel beaachtet wurd.',
 'logempty' => 'Diar as niks uun.',
 'log-title-wildcard' => 'Sidjennööm begant mä ...',
@@ -2781,8 +2785,8 @@ Dü könst di kweltekst uunluke.',
 'spam_deleting' => 'Aal a werjuunen mä en ferwisung tu $1 san stregen wurden.',
 
 # Info page
-'pageinfo-title' => 'Informatsjuun tu „$1“',
-'pageinfo-not-current' => 'Det informatsjuun jaft at ei för ual werjuunen.',
+'pageinfo-title' => 'Informatjuun tu „$1“',
+'pageinfo-not-current' => 'Det informatjuun jaft at ei för ual werjuunen.',
 'pageinfo-header-basic' => 'Grünjdooten',
 'pageinfo-header-edits' => 'Ferluup bewerke',
 'pageinfo-header-restrictions' => 'Sidjenseekerhaid',
@@ -2815,7 +2819,7 @@ Dü könst di kweltekst uunluke.',
 'pageinfo-transclusions' => 'Iinbünjen uun {{PLURAL:$1|1 sidj|$1 sidjen}}',
 'pageinfo-toolboxlink' => 'Sidjendooten',
 'pageinfo-redirectsto' => 'Widjerfeerangen tu',
-'pageinfo-redirectsto-info' => 'informatsjuun',
+'pageinfo-redirectsto-info' => 'Informatjuun',
 'pageinfo-contentpage' => 'Üs artiikel tääld',
 'pageinfo-contentpage-yes' => 'Ja',
 'pageinfo-protect-cascading' => 'Sidjen mä kaskaadenseekerhaid faan heer',
index 93ce1c3..2f9cd81 100644 (file)
@@ -667,7 +667,6 @@ Leiende: (cur) = difarencis cun la version atuâl, (prec) = difarencis cun la ve
 'searchmenu-legend' => 'Opzions de ricercje',
 'searchmenu-exists' => "'''E je une pagjine di non \"[[:\$1]]\" su cheste wiki'''",
 'searchmenu-new' => "'''Cree la pagjine \"[[:\$1]]\" su cheste wiki!'''",
-'searchhelp-url' => 'Help:Contignûts',
 'searchprofile-articles' => 'Pagjinis di contignûts',
 'searchprofile-project' => 'Pagjinis di jutori e sul progjet',
 'searchprofile-images' => 'Multimedia',
index 756e74a..e053df6 100644 (file)
@@ -916,7 +916,6 @@ Prebearje in oare sykopdracht.',
 'searchmenu-legend' => 'Sykopsjes',
 'searchmenu-exists' => "'''Der is in side mei namme \"[[:\$1]]\" yn dizze wiki'''",
 'searchmenu-new' => "'''Meitsje de side \"[[:\$1]]\" yn dizze wiki!'''",
-'searchhelp-url' => 'Help:Help',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Sidenammen mei dit foarheaksel werjaan]]',
 'searchprofile-articles' => 'Ynhâldlike siden',
 'searchprofile-project' => 'Projektsiden',
index 2fbaa9d..637fd20 100644 (file)
@@ -785,7 +785,6 @@ Treoir: (rth) = difríocht ón leagan reatha, (rmh) = difríocht ón leagan roim
 'viewprevnext' => 'Taispeáin ($1 {{int:pipe-separator}} $2) ($3).',
 'searchmenu-legend' => 'Sainroghanna cuardaithe',
 'searchmenu-new' => "'''Cruthaigh an leathanach \"[[:\$1]]\" ar an vicí seo!'''",
-'searchhelp-url' => 'Help:Clár_ábhair',
 'searchprofile-articles' => 'Leathanaigh ábhair',
 'searchprofile-project' => 'Leathanaigh thionscadail agus cabhair',
 'searchprofile-images' => 'Ilmheáin',
index a52e9a3..b65d243 100644 (file)
@@ -574,7 +574,6 @@ Nışannar: (bitki) = şindiki versiyalan aradaki fark,
 'prevn' => 'ilerki {{PLURAL:$1|$1}}',
 'nextn' => 'geeriki {{PLURAL:$1|$1}}',
 'viewprevnext' => '($1 {{int:pipe-separator}} $2) ($3).',
-'searchhelp-url' => 'Help:İçindekilär',
 'search-result-size' => '$1 ({{PLURAL:$2|1 laf|$2 laf}})',
 'search-redirect' => '(göndermää $1)',
 'search-section' => '(bölüm $1)',
index 3456d6e..84d0fb3 100644 (file)
@@ -741,7 +741,6 @@ $2',
 'viewprevnext' => '眵吖($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-exists' => "'''个只wiki已有一只叫「[[:$1]]」𠮶页。'''",
 'searchmenu-new' => "'''嘚个只wiki上建立「[[:$1]]」页!'''",
-'searchhelp-url' => 'Help:说明',
 'searchprofile-articles' => '内容页',
 'searchprofile-project' => '帮助同得计划页',
 'searchprofile-images' => '多媒体',
index 158f01f..1a99b3d 100644 (file)
@@ -763,7 +763,6 @@ $2',
 'viewprevnext' => '望下($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-exists' => "'''箇隻wiki已有一隻叫「[[:$1]]」嗰頁。'''",
 'searchmenu-new' => "'''到箇隻wiki上建立「[[:$1]]」頁!'''",
-'searchhelp-url' => 'Help:説明',
 'searchprofile-articles' => '內容頁',
 'searchprofile-project' => '幫助同得計劃頁',
 'searchprofile-images' => '多媒體',
index 03d5744..f394132 100644 (file)
@@ -572,10 +572,8 @@ Saoil an do dh'atharraich thu am facal-faire agad mu thràth no an do dh'iarr th
 
 # Special:PasswordReset
 'passwordreset' => 'Ath-shuidhich am facal-faire',
-'passwordreset-text' => 'Lìon am foirm seo gus am facal-faire agad ath-shuidheachadh.',
 'passwordreset-legend' => 'Ath-shuidhich am facal-faire',
 'passwordreset-disabled' => 'Chaidh ath-shuidheachadh nam faclan-faire a chur à comas air an uicipeid seo.',
-'passwordreset-pretext' => '{{PLURAL:$1||Cuir a-steach aon dhe na pìosan dàta gu h-ìosal}}',
 'passwordreset-username' => 'Ainm-cleachdaiche:',
 'passwordreset-domain' => 'Àrainn-lìn:',
 'passwordreset-capture' => "A bheil thu airson coimhead air a' phost-d?",
@@ -942,7 +940,6 @@ Feuch is [[Special:Search|lorg duilleagan ùra iomachaidh air an uici]]",
 'searchmenu-legend' => 'Roghainnean luirg',
 'searchmenu-exists' => "'''Tha duilleag air a bheil \"[[:\$1]]\" air an uicipeid seo.'''",
 'searchmenu-new' => "'''Cruthaich an duilleag \"[[:\$1]]\" air an uicipeid seo!'''",
-'searchhelp-url' => 'Help:Cuideachadh',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Rùraich duilleagan aig a bheil an ro-leasachan seo]]',
 'searchprofile-articles' => 'Duilleagan susbainte',
 'searchprofile-project' => "Duilleagan nan cobharach 's nam pròiseactan",
index 116720f..f070fea 100644 (file)
@@ -452,6 +452,7 @@ $messages = array(
 'create-this-page' => 'Crear esta páxina',
 'delete' => 'Borrar',
 'deletethispage' => 'Borrar esta páxina',
+'undeletethispage' => 'Restaurar esta páxina',
 'undelete_short' => 'Restaurar {{PLURAL:$1|unha edición|$1 edicións}}',
 'viewdeleted_short' => 'Ver {{PLURAL:$1|unha edición borrada|$1 edicións borradas}}',
 'protect' => 'Protexer',
@@ -654,6 +655,8 @@ $2',
 'namespaceprotected' => "Non dispón de permisos para modificar páxinas no espazo de nomes '''$1'''.",
 'customcssprotected' => 'Non dispón de permisos para modificar esta páxina de CSS, dado que contén a configuración persoal doutro usuario.',
 'customjsprotected' => 'Non dispón de permisos para modificar esta páxina de JavaScript, dado que contén a configuración persoal doutro usuario.',
+'mycustomcssprotected' => 'Non ten permiso para editar esta páxina de CSS.',
+'mycustomjsprotected' => 'Non ten permiso para editar esta páxina de JavaScript.',
 'ns-specialprotected' => 'Non se poden editar as páxinas no espazo de nomes "{{ns:special}}".',
 'titleprotected' => "Este título foi protexido da creación por [[User:$1|$1]].
 O motivo achegado é ''$2''.",
@@ -794,7 +797,7 @@ Insira un enderezo cun formato válido ou baleire ese campo.',
 'cannotchangeemail' => 'Neste wiki non se poden mudar os enderezos de correo electrónico asociados a unha conta.',
 'emaildisabled' => 'Este sitio non pode enviar correos electrónicos.',
 'accountcreated' => 'Conta creada',
-'accountcreatedtext' => 'Creouse a conta de usuario para "$1".',
+'accountcreatedtext' => 'Creouse a conta de usuario para [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|conversa]]).',
 'createaccount-title' => 'Creación dunha conta para {{SITENAME}}',
 'createaccount-text' => 'Alguén creou unha conta chamada "$2" para o seu enderezo de correo electrónico en {{SITENAME}} ($4), e con contrasinal "$3".
 Debe acceder ao sistema e mudar o contrasinal agora.
@@ -1333,7 +1336,6 @@ O [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} rexistro de borrad
 'searchmenu-legend' => 'Opcións de busca',
 'searchmenu-exists' => "* Páxina \"'''[[\$1]]'''\"",
 'searchmenu-new' => "'''Crear a páxina \"[[:\$1]]\" neste wiki!'''",
-'searchhelp-url' => 'Help:Contidos',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Navegue polas páxinas que comezan coas mesmas iniciais]]',
 'searchprofile-articles' => 'Páxinas de contido',
 'searchprofile-project' => 'Páxinas do proxecto e de axuda',
@@ -1588,9 +1590,11 @@ Ha de ter menos {{PLURAL:$1|dun carácter|de $1 caracteres}}.',
 'right-protect' => 'Trocar os niveis de protección e editar páxinas protexidas',
 'right-editprotected' => 'Editar páxinas protexidas (que non teñan protección en serie)',
 'right-editinterface' => 'Editar a interface de usuario',
-'right-editusercssjs' => 'Editar os ficheiros CSS e JS doutros usuarios',
+'right-editusercssjs' => 'Editar os ficheiros CSS e JavaScript doutros usuarios',
 'right-editusercss' => 'Editar os ficheiros CSS doutros usuarios',
-'right-edituserjs' => 'Editar os ficheiros JS doutros usuarios',
+'right-edituserjs' => 'Editar os ficheiros JavaScript doutros usuarios',
+'right-editmyusercss' => 'Editar os ficheiros CSS propios',
+'right-editmyuserjs' => 'Editar os ficheiros JavaScript propios',
 'right-rollback' => 'Reverter rapidamente as edicións do último usuario que editou unha páxina en particular',
 'right-markbotedits' => 'Marcar as edicións desfeitas como edicións dun bot',
 'right-noratelimit' => 'Non lle afectan os límites de frecuencia',
index 6023729..b1e649e 100644 (file)
@@ -796,7 +796,6 @@ $1",
 'searchmenu-legend' => 'Ἐπιλογαὶ ζητήσεως',
 'searchmenu-exists' => "'''Ὑπάρχει δέλτος τις ὀνόματι \"[[:\$1]]\" ἐν τῷδε τῷ βίκι'''",
 'searchmenu-new' => "'''Ποιεῖν τὴν δέλτον \"[[:\$1]]\" ἐν τῷδε τῷ βίκι'''",
-'searchhelp-url' => 'Help:Περιεχόμενα',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Ζήτησις δέλτων ἐχουσῶν τόδε τὸ πρόθεμα]]',
 'searchprofile-articles' => 'Δέλτοι περιεχομένων',
 'searchprofile-project' => 'Βοήθεια  καὶ δέλτοι ἐγχειρήματος',
index 5bb714f..6c1faad 100644 (file)
@@ -1128,7 +1128,6 @@ Einzelheite chasch im [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}
 'searchmenu-legend' => 'Suechoptione',
 'searchmenu-exists' => "* Syte '''[[$1]]'''",
 'searchmenu-new' => "'''[[:$1|Leg d Syte ''$1'' in dem Wiki aa!]]'''",
-'searchhelp-url' => 'Help:Hilf',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Zeige alli Syte, wu mit dem Suechbegriff aafange]]',
 'searchprofile-articles' => 'Inhaltssyte',
 'searchprofile-project' => 'Hilf- un Projäktsyte',
index 62e8fa9..74ffa5d 100644 (file)
@@ -1215,7 +1215,6 @@ $1",
 'searchmenu-legend' => 'શોધ વિકલ્પો',
 'searchmenu-exists' => "''' આ વિકિ પર  \"[[:\$1]]\" નામે પાનું પહેલેથી અસ્તિત્વમાં છે.'''",
 'searchmenu-new' => "'''આ વિકિ પર \"[[:\$1]]\" નામે પાનું બનાવો!'''",
-'searchhelp-url' => 'Help:સૂચિ',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|આ પૂર્વાક્ષર વાળા પાનાં જુઓ]]',
 'searchprofile-articles' => 'લેખનું પાનું',
 'searchprofile-project' => 'મદદ અને યોજના પાનું',
index bc75fe0..75bdba7 100644 (file)
@@ -574,7 +574,6 @@ Ogher: '''({{int:cur}})''' = anchaslyssyn rish y lhieggan t'ayn nish,
 'prevn' => '{{PLURAL:$1|$1}} roish shoh',
 'nextn' => 'nah {{PLURAL:$1|$1}}',
 'viewprevnext' => 'Jeeagh er ($1 {{int:pipe-separator}} $2) ($3)',
-'searchhelp-url' => 'Help:Cummal',
 'searchprofile-project' => 'Duillagyn Coonee as Shalee',
 'search-result-size' => "$1 ({{PLURAL:$2|1 fockle|$2 'ockle|$2 'ockle|$2 focklyn}})",
 'search-result-score' => 'Bentynys: $1%',
index adbc5cc..3f19481 100644 (file)
@@ -859,7 +859,6 @@ Liá-chhṳ chhà-fûng he yù $1 só fûng ke. Tông-chûng ke ngièn-yîn he '
 'viewprevnext' => '查看($1 {{int:pipe-separator}} $2)($3)',
 'searchmenu-exists' => "'''在邇隻wiki上已經有一頁喊做“[[:$1]]”。'''",
 'searchmenu-new' => "'''在本wiki上建立邇隻頁面“[[:$1]]”!'''",
-'searchhelp-url' => 'Help:目錄',
 'searchprofile-articles' => '內容頁面',
 'searchprofile-project' => '幫助撈計劃頁面',
 'searchprofile-images' => '多媒體',
index d3f835d..9142c57 100644 (file)
@@ -464,7 +464,6 @@ E ʻoluʻolu, e hōʻoia i ka hoʻokūkū ʻana i lalo, a laila, e mālama i nā
 'prevn' => '{{PLURAL:$1|$1}} ma mua',
 'nextn' => '{{PLURAL:$1|$1}} ma hope',
 'viewprevnext' => 'Nānā i nā ($1 {{int:pipe-separator}} $2) ($3)',
-'searchhelp-url' => 'Help:Papa kuhikuhi',
 'search-result-size' => '$1 ({{PLURAL:$2|1 huaʻōlelo|$2 huaʻōlelo}})',
 'search-section' => '(māhele $1)',
 'search-suggest' => 'ʻO kēia paha kou manaʻo: $1',
index fc7a018..2e1db40 100644 (file)
@@ -760,6 +760,8 @@ $2',
 'namespaceprotected' => "אינכם מורשים לערוך דפים במרחב השם '''$1'''.",
 'customcssprotected' => 'אינכם מורשים לערוך דף CSS זה, כיוון שהוא כולל את ההגדרות האישיות של משתמש אחר.',
 'customjsprotected' => 'אינכם מורשים לערוך דף JavaScript זה, כיוון שהוא כולל את ההגדרות האישיות של משתמש אחר.',
+'mycustomcssprotected' => 'אינכם מורשים לערוך דף CSS זה.',
+'mycustomjsprotected' => 'אינכם מורשים לערוך דף JavaScript זה.',
 'ns-specialprotected' => 'לא ניתן לערוך דפים מיוחדים.',
 'titleprotected' => 'לא ניתן ליצור דף זה, כיוון שהמשתמש [[User:$1|$1]] הגן עליו מפני יצירה.
 הסיבה שניתנה לכך היא "$2".',
@@ -898,7 +900,7 @@ $2',
 'cannotchangeemail' => 'לא ניתן לשנות את כתובות הדוא"ל של חשבונות באתר ויקי זה.',
 'emaildisabled' => 'אתר זה לא יכול לשלוח דואר אלקטרוני.',
 'accountcreated' => 'החשבון נוצר',
-'accountcreatedtext' => 'חשבון המשתמש $1 נוצר.',
+'accountcreatedtext' => 'חשבון המשתמש [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|שיחה]]) נוצר.',
 'createaccount-title' => 'יצירת חשבון ב{{grammar:תחילית|{{SITENAME}}}}',
 'createaccount-text' => 'מישהו יצר חשבון בשם $2 ב{{grammar:תחילית|{{SITENAME}}}} ($4), והסיסמה הזמנית של החשבון היא "$3". עליכם להיכנס ולשנות עכשיו את הסיסמה.
 
@@ -1428,7 +1430,6 @@ $1",
 'searchmenu-legend' => 'אפשרויות חיפוש',
 'searchmenu-exists' => "'''קיים דף בשם \"[[:\$1]]\" באתר זה.'''",
 'searchmenu-new' => "'''יצירת הדף \"[[:\$1]]\" באתר זה.'''",
-'searchhelp-url' => 'Help:תפריט ראשי',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|מציאת דפים עם קידומת זו]]',
 'searchprofile-articles' => 'דפי תוכן',
 'searchprofile-project' => 'עזרה ודפי המיזם',
@@ -1688,6 +1689,8 @@ $1",
 'right-editusercssjs' => 'עריכת דפי CSS ו־JavaScript של משתמשים אחרים',
 'right-editusercss' => 'עריכת דפי CSS של משתמשים אחרים',
 'right-edituserjs' => 'עריכת דפי JavaScript של משתמשים אחרים',
+'right-editmyusercss' => 'עריכת דפי CSS של עצמך',
+'right-editmyuserjs' => 'עריכת דפי JavaScript של עצמך',
 'right-rollback' => 'שחזור מהיר של עריכות המשתמש האחרון שערך דף מסוים',
 'right-markbotedits' => 'סימון עריכות משוחזרות כעריכות של בוט',
 'right-noratelimit' => 'עקיפת הגבלת קצב העריכות',
@@ -2693,7 +2696,7 @@ $1',
 'mycontris' => 'תרומות',
 'contribsub2' => 'עבור $1 ($2)',
 'nocontribs' => 'לא נמצאו שינויים המתאימים לקריטריונים אלו.',
-'uctop' => '(×\90×\97ר×\95×\9f)',
+'uctop' => '(× ×\95×\9b×\97×\99)',
 'month' => 'עד החודש:',
 'year' => 'עד השנה:',
 
index aeaf3c9..bb61d98 100644 (file)
@@ -717,10 +717,8 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => 'कूटशब्द रीसेट',
-'passwordreset-text' => 'अपने खाते के विवरण का एक ई-मेल अनुस्मारक प्राप्त करने के लिए इस फ़ॉर्म को पूरा करें।',
 'passwordreset-legend' => 'कूटशब्द रीसेट करें',
 'passwordreset-disabled' => 'कूटशब्द रीसेट करना इस विकी पर अक्षम है।',
-'passwordreset-pretext' => '{{PLURAL:$1||नीचे पूछे गए डेटा में से एक लिखें}}',
 'passwordreset-username' => 'सदस्यनाम:',
 'passwordreset-domain' => 'डोमेन:',
 'passwordreset-capture' => 'परिणामस्वरूप बना ई-मेल देखें?',
@@ -1191,7 +1189,6 @@ $1",
 'searchmenu-legend' => 'खोज विकल्प',
 'searchmenu-exists' => "'''इस विकि पर \"[[:\$1]]\" नाम का एक पृष्ठ है'''",
 'searchmenu-new' => "'''इस विकि पर \"[[:\$1]]\" नाम का पृष्ठ बनाएँ!'''",
-'searchhelp-url' => 'Help:सहायता',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|इस उपसर्ग वाले पृष्ठ देखें]]',
 'searchprofile-articles' => 'सामग्री पृष्ठ',
 'searchprofile-project' => 'सहायता और परियोजना पृष्ठ',
index b36a153..710b3bf 100644 (file)
@@ -564,10 +564,8 @@ Sait aap password ke safalta se badal sia hoga nai to nawaa temporary password k
 
 # Special:PasswordReset
 'passwordreset' => 'Password ke badlo',
-'passwordreset-text' => 'Password ke reset kare ke khatir ii form ke bharo.',
 'passwordreset-legend' => 'Password ke badlo',
 'passwordreset-disabled' => 'II wiki me password ke badle ke ijaajat nai hae.',
-'passwordreset-pretext' => '{{PLURAL:$1||Niche ke ek data ke likho}}',
 'passwordreset-username' => 'Sadasya ke naam:',
 'passwordreset-domain' => 'Domain:',
 'passwordreset-capture' => 'Banawa gais e-mail ke dekho',
@@ -1055,7 +1053,6 @@ Iske baare me aur jaankari [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAM
 'searchmenu-legend' => 'Khoje ke option',
 'searchmenu-exists' => "'''Ii wiki me \"[[\$1]]\" naam ke panna hai'''",
 'searchmenu-new' => "'''Ii wiki me \"[[:\$1]]\" panna ke banao!'''",
-'searchhelp-url' => 'Help:Madat',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Ii prefix ke panna ke browse karo]]',
 'searchprofile-articles' => 'Content panna',
 'searchprofile-project' => 'Madat aur Project panna',
index 28f3ee3..f4fac9d 100644 (file)
@@ -559,10 +559,8 @@ Mahimo nga madinalag-on mo nga nga gin-ilisan ang imo pasword ukon nagpangabay k
 
 # Special:PasswordReset
 'passwordreset' => 'Liwaton ang pasword',
-'passwordreset-text' => 'Taposon ang ini nga formas agod nga makabaton sang e-mail nga nagapahanumdom sang mga detalye sang imo akawnt.',
 'passwordreset-legend' => 'Liwaton ang pasword',
 'passwordreset-disabled' => 'Ang mga pagliwat sang pasword gin-untat sa sini nga wiki.',
-'passwordreset-pretext' => '{{PLURAL:$1||Magbutang sang isa sang mga datos sa idalom}}',
 'passwordreset-username' => 'Ngalan sang Manog-gamit"',
 'passwordreset-domain' => 'Domeyn:',
 'passwordreset-capture' => 'Lantawon ang nagresuta nga e-mail?',
@@ -1063,7 +1061,6 @@ Ang mga detalye mahimo nga makita sa [{{fullurl:{{#Special:Log}}/delete|page={{F
 'searchmenu-legend' => 'Mga pililian sa pagpangita',
 'searchmenu-exists' => "'''May yara sang panid nga ginhingalanan nga \"[[:\$1]]\" sa sini nga wiki.'''",
 'searchmenu-new' => "'''Gintuga ang panid nga \"[[:\$1]]\" sa sini nga wiki!'''",
-'searchhelp-url' => 'Help:Mga Unod',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Magbasa-basa sang mga panid gamit ang ini nga unpali]]',
 'searchprofile-articles' => 'Mga panid sang unod',
 'searchprofile-project' => 'Mga panid sang Bulig kag Proyekto',
index 84f53df..621540c 100644 (file)
@@ -13,6 +13,7 @@
  * @author Dalibor Bosits
  * @author Demicx
  * @author Dnik
+ * @author DzWiki
  * @author Ex13
  * @author Excaliboor
  * @author FriedrickMILBarbarossa
@@ -723,11 +724,16 @@ Neke se stranice mogu prikazivati kao da ste još uvijek prijavljeni, sve dok ne
 Ne zaboravite prilagoditi Vaše [[Special:Preferences|{{SITENAME}} postavke]].',
 'yourname' => 'Suradničko ime',
 'userlogin-yourname' => 'Suradničko ime',
+'userlogin-yourname-ph' => 'Unesite Vaše suradničko ime',
 'yourpassword' => 'Lozinka:',
 'userlogin-yourpassword' => 'Zaporka',
+'userlogin-yourpassword-ph' => 'Unesite Vašu zaporku',
+'createacct-yourpassword-ph' => 'Unesite zaporku',
 'yourpasswordagain' => 'Ponovno upišite lozinku',
+'createacct-yourpasswordagain-ph' => 'Unesite zaporku ponovno',
 'remembermypassword' => 'Zapamti moju lozinku na ovom računalu (najduže $1 {{PLURAL:$1|dan|dana}})',
 'userlogin-remembermypassword' => 'Zapamti me',
+'userlogin-signwithsecure' => 'Rabi sigurnu vezu',
 'securelogin-stick-https' => 'Ostani spojen na HTTPS nakon prijave',
 'yourdomainname' => 'Vaša domena',
 'password-change-forbidden' => 'Ne možete promjeniti zaporku na ovom projektu.',
@@ -751,6 +757,8 @@ Ne zaboravite prilagoditi Vaše [[Special:Preferences|{{SITENAME}} postavke]].',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Pomoć pri prijavi]]',
 'createaccountmail' => 'poštom',
 'createaccountreason' => 'Razlog:',
+'createacct-imgcaptcha-ph' => 'Unesite tekst koji vidite iznad',
+'createacct-submit' => 'Stvorite svoj suradnički račun',
 'badretype' => 'Unesene lozinke nisu istovjetne.',
 'userexists' => 'Uneseno suradničko ime već je u upotrebi.
 Unesite neko drugo ime.',
@@ -1321,7 +1329,6 @@ Više informacija možete pronaći u [{{fullurl:{{#Special:Log}}/delete|page={{F
 'searchmenu-legend' => 'Mogućnosti pretraživanja',
 'searchmenu-exists' => "* Stranica '''[[$1]]'''",
 'searchmenu-new' => "'''Stvori stranicu \"[[:\$1]]\" na ovoj wiki!'''",
-'searchhelp-url' => 'Help:Pomoć',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Pretraži stranice s ovim prefiksom]]',
 'searchprofile-articles' => 'Stranice sa sadržajem',
 'searchprofile-project' => 'Pomoć i stranice projekta',
index a0184ad..cd70592 100644 (file)
@@ -602,7 +602,7 @@ Njezabudź swoje [[Special:Preferences|nastajenja za {{GRAMMAR:akuzatiw|{{SITENA
 'userlogout' => 'wotzjewić',
 'notloggedin' => 'Njepřizjewjeny',
 'userlogin-noaccount' => 'Nimaš žane konto?',
-'userlogin-joinproject' => '{{GRAMMAR:datiw|{{SITENAME}}}} přistupić',
+'userlogin-joinproject' => 'Konto za {{GRAMMAR:akuzatiw|{{SITENAME}}}} załožić',
 'nologin' => 'Nimaš žane konto? $1.',
 'nologinlink' => 'Konto załožić',
 'createaccount' => 'Konto załožić',
@@ -677,7 +677,7 @@ Prjedy hač so druha e-mejlka na konto pósćele, dyrbiš so po instrukcijach w
 'cannotchangeemail' => 'Kontowe e-mejlowe adresy njehodźa so na tutym wikiju změnić.',
 'emaildisabled' => 'Tute sydło njemóže e-mejle pósłać.',
 'accountcreated' => 'Wužiwarske konto załožene',
-'accountcreatedtext' => 'Wužiwarske konto za $1 bu załožene.',
+'accountcreatedtext' => 'Wužiwarske konto za [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|diskusiju]]) bu załožene.',
 'createaccount-title' => 'Wutworjenje wužiwarskeho konta za {{SITENAME}}',
 'createaccount-text' => 'Něchtó je wužiwarske konto za twoju e-mejlowu adresu na {{SITENAME}} ($4) z mjenom "$2" z hesłom "$3" wutworił. Ty měł so nětko přizjewić a swoje hesło změnić.
 
@@ -1185,7 +1185,6 @@ Podrobnosće móžeš w [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}
 'searchmenu-legend' => 'Pytanske opcije',
 'searchmenu-exists' => "'''Je strona z mjenom \"[[\$1]]\" na tutym wikiju'''",
 'searchmenu-new' => "'''Wutwor stronu \"[[:\$1|\$1]]\" na tutym wikiju!'''",
-'searchhelp-url' => 'Help:Wobsah',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Strony z tutym prefiksom přepytać]]',
 'searchprofile-articles' => 'Wobsahowe strony',
 'searchprofile-project' => 'Pomoc a projektowe strony',
@@ -2424,7 +2423,7 @@ $1',
 'mycontris' => 'Přinoški',
 'contribsub2' => 'za wužiwarja $1 ($2)',
 'nocontribs' => 'Žane změny, kotrež podatym kriterijam wotpowěduja.',
-'uctop' => '(aktualnje)',
+'uctop' => '(aktualny)',
 'month' => 'wot měsaca (a do toho):',
 'year' => 'wot lěta (a do toho):',
 
index 433c889..9bfb424 100644 (file)
@@ -888,7 +888,6 @@ Lejand : ({{MediaWiki:Cur}}) = diferans ak vèsyon kounye a, ({{MediaWiki:Last}}
 'prevn' => '{{PLURAL:$1|$1}} anvan yo',
 'nextn' => '{{PLURAL:$1|$1}} swivan yo',
 'viewprevnext' => 'Wè ($1 {{int:pipe-separator}} $2) ($3).',
-'searchhelp-url' => 'Help:Èd',
 'searchprofile-everything' => 'Tout',
 'search-result-size' => '$1 ({{PLURAL:$2| mo|$2 mo yo}})',
 'search-redirect' => '(redireksyon depi $1)',
index e10c8ac..d93c5b6 100644 (file)
@@ -1355,7 +1355,6 @@ Ezt általában egy elavult, törölt oldalra mutató laptörténeti hivatkozás
 'searchmenu-legend' => 'Keresési beállítások',
 'searchmenu-exists' => "'''A wikin már van „[[:$1]]” nevű lap'''",
 'searchmenu-new' => "'''Hozd létre a(z) „[[:$1]]” nevű lapot ezen a wikin!'''",
-'searchhelp-url' => 'Help:Tartalom',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Ilyen előtagú lapok listázása]]',
 'searchprofile-articles' => 'Tartalmi oldalak',
 'searchprofile-project' => 'Segítség- és projektlapok',
index fc10db3..98c60d1 100644 (file)
@@ -1183,7 +1183,6 @@ $3 մասնակիցը տվել է հետևյալ պատճառը. ''$2''",
 'searchmenu-legend' => 'Որոնման ընտրանքներ',
 'searchmenu-exists' => "'''Այս վիքիում, գոյություն ունի \"[[:\$1]]\" անվանումով էջը։'''",
 'searchmenu-new' => "'''Ստեղծե՛լ \"[[:\$1]]\" էջը այս վիքիում'''",
-'searchhelp-url' => 'Help:Գլխացանկ',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Ցուցադրել այս նախածանցով սկսվող էջերը]]',
 'searchprofile-articles' => 'Հիմնական էջեր',
 'searchprofile-project' => 'Օգնության և նախագծերի էջեր',
index 321561f..a088b6b 100644 (file)
@@ -1235,7 +1235,6 @@ Detalios se trova in le [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}
 'searchmenu-legend' => 'Optiones de recerca',
 'searchmenu-exists' => "'''Existe un pagina nominate \"[[\$1]]\" in iste wiki'''",
 'searchmenu-new' => "'''Crea le pagina \"[[:\$1]]\" in iste wiki!'''",
-'searchhelp-url' => 'Help:Contento',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Navigar per le paginas con iste prefixo]]',
 'searchprofile-articles' => 'Paginas de contento',
 'searchprofile-project' => 'Paginas de adjuta e del projecto',
index deb8c63..31641d1 100644 (file)
@@ -549,7 +549,7 @@ $messages = array(
 'unprotectthispage' => 'Ubah perlindungan halaman ini',
 'newpage' => 'Halaman baru',
 'talkpage' => 'Bicarakan halaman ini',
-'talkpagelinktext' => 'Bicara',
+'talkpagelinktext' => 'bicara',
 'specialpage' => 'Halaman istimewa',
 'personaltools' => 'Peralatan pribadi',
 'postcomment' => 'Bagian baru',
@@ -902,8 +902,10 @@ Anda mungkin telah berhasil mengganti kata sandi Anda atau telah meminta kata sa
 'resetpass-abort-generic' => 'Perubahan kata sandi telah dibatalkan oleh ekstensi.',
 
 # Special:PasswordReset
-'passwordreset' => 'Setel ulang sandi',
-'passwordreset-legend' => 'Setel ulang sandi',
+'passwordreset' => 'Setel ulang kata sandi',
+'passwordreset-text-one' => 'Lengkapi formulir ini untuk menyetel ulang kata sandi.',
+'passwordreset-text-many' => '{{PLURAL:$1|Masukkan data di bawah ini untuk menyetel ulang kata sandi Anda.}}',
+'passwordreset-legend' => 'Setel ulang kata sandi',
 'passwordreset-disabled' => 'Penyetelan ulang sandi telah dimatikan di wiki ini.',
 'passwordreset-emaildisabled' => 'Fitur surel telah dinonaktifkan pada wiki ini.',
 'passwordreset-username' => 'Nama pengguna:',
@@ -1391,7 +1393,6 @@ Rinciannya dapat ditemukan di [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGE
 'searchmenu-legend' => 'Opsi pencarian',
 'searchmenu-exists' => "* Halaman '''[[$1]]'''",
 'searchmenu-new' => "'''Buat halaman \"[[:\$1]]\" di wiki ini!'''",
-'searchhelp-url' => 'Help:Isi',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Lihat daftar halaman dengan awalan ini]]',
 'searchprofile-articles' => 'Halaman isi',
 'searchprofile-project' => 'Halaman Bantuan dan Proyek',
@@ -2650,7 +2651,7 @@ $1',
 'mycontris' => 'Kontribusi',
 'contribsub2' => 'Untuk $1 ($2)',
 'nocontribs' => 'Tidak ada perubahan yang sesuai dengan kriteria tersebut.',
-'uctop' => ' (atas)',
+'uctop' => '(saat ini)',
 'month' => 'Sejak bulan (dan sebelumnya):',
 'year' => 'Sejak tahun (dan sebelumnya):',
 
index 31f7d1f..22ebe2e 100644 (file)
@@ -624,7 +624,6 @@ Vider li [[Special:IPBlockList|liste de bloc de IP]] por li liste de bloces e ba
 'viewprevnext' => 'Vider ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-exists' => "'''Vi un págine nominat \"[[:\$1]]\" in ti wiki.'''",
 'searchmenu-new' => "'''Crear li págine \"[[:\$1]]\" in ti wiki!'''",
-'searchhelp-url' => 'Help:Contenete',
 'searchprofile-articles' => 'Págines de contenete',
 'searchprofile-project' => 'Auxilie e Págines de projecte',
 'searchprofile-images' => 'Multimedia',
index 0157257..d46815b 100644 (file)
@@ -713,7 +713,6 @@ Okwu ụmà: '''({{int:cur}})''' = gbánwe na nké orü mbu, '''({{int:last}})''
 'viewprevnext' => 'Lé ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-legend' => 'Màkà nchöwa',
 'searchmenu-new' => "'''Ké ihü \"[[:\$1]]\" na wiki nke á!'''",
-'searchhelp-url' => 'Help:Ihe di ime',
 'searchprofile-articles' => 'Ihü ihe dị',
 'searchprofile-project' => 'Ihü Nkwádo na Orürü',
 'searchprofile-images' => 'Nkaníle',
index 05c8f17..986b299 100644 (file)
@@ -1127,7 +1127,6 @@ Dagiti salaysay ket mabalin a mabirukan idiay [{{fullurl:{{#Special:Log}}/delete
 'searchmenu-legend' => 'Pagpilian ti panagbiruk',
 'searchmenu-exists' => "'''Adda panid a nanaganan ti \"[[:\$1]]\" iti daytoy a wiki.'''",
 'searchmenu-new' => "'''Partuaten ti panid ti \"[[:\$1]]\" iti daytoy a wiki!'''",
-'searchhelp-url' => 'Help:Dagiti linaon',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Kitaem dagiti panid nga adda kastoy a naipasaruno]]',
 'searchprofile-articles' => 'Dagiti naglaon a panid',
 'searchprofile-project' => 'Tulong ken Gandat a pam-panid',
index 7e69b43..163a1a9 100644 (file)
@@ -521,7 +521,6 @@ $messages = array(
 'viewprevnext' => '($1 {{int:pipe-separator}} $2) ($3) хьажа',
 'searchmenu-exists' => "'''Укх масса-хьахьоадайтамач ер оаг|ув \"[[:\$1]]\" я'''",
 'searchmenu-new' => "'''Укх \"[[:\$1]]\" масса-хьахоадайтамач оагIув хьае!'''",
-'searchhelp-url' => 'Help:Чулоацам',
 'searchprofile-articles' => 'Гомлен оагIувнаш',
 'searchprofile-project' => 'Дагарлеи хьахоадайтами оагIувнаш',
 'searchprofile-images' => 'Медифаг',
index c2b2f50..1352b99 100644 (file)
@@ -650,7 +650,6 @@ Surskriburo: '''({{int:cur}})''' = diferi kun l'aktuala versiono,
 'nextn' => 'sequanta {{PLURAL:$1|$1}}',
 'viewprevnext' => 'Vidar ($1 {{int:pipe-separator}} $2) ($3).',
 'searchmenu-new' => "'''Kreez la pagino \"[[:\$1]]\" in ca wiki!'''",
-'searchhelp-url' => 'Help:Helpo',
 'searchprofile-articles' => 'Temala pagini',
 'searchprofile-project' => 'Helpo',
 'searchprofile-images' => "''Media''",
index 36df20f..54f358b 100644 (file)
@@ -1292,7 +1292,6 @@ Frekari upplýsingar eru í [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENA
 'searchmenu-legend' => 'Leitarvalmöguleikar',
 'searchmenu-exists' => "'''Það er síða að nafni „[[:$1]]“ á þessum wiki'''",
 'searchmenu-new' => "'''Skapaðu síðuna \"[[:\$1]]\" á þessum wiki!'''",
-'searchhelp-url' => 'Help:Efnisyfirlit',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Leita að síðum með þessu forskeyti]]',
 'searchprofile-articles' => 'Efnissíður',
 'searchprofile-project' => 'Hjálpar- og verkefnasíður',
index fa540af..7c147d3 100644 (file)
@@ -487,6 +487,7 @@ $messages = array(
 'create-this-page' => 'Crea questa pagina',
 'delete' => 'Cancella',
 'deletethispage' => 'Cancella questa pagina',
+'undeletethispage' => 'Recupera questa pagina',
 'undelete_short' => 'Recupera {{PLURAL:$1|una revisione|$1 revisioni}}',
 'viewdeleted_short' => 'Vedi {{PLURAL:$1|una modifica cancellata|$1 modifiche cancellate}}',
 'protect' => 'Proteggi',
@@ -687,6 +688,8 @@ $2',
 'namespaceprotected' => "Non si dispone dei permessi necessari per modificare le pagine del namespace '''$1'''.",
 'customcssprotected' => 'Non si dispone dei permessi necessari alla modifica di questa pagina CSS, in quanto contiene le impostazioni personali di un altro utente.',
 'customjsprotected' => 'Non si dispone dei permessi necessari alla modifica di questa pagina JavaScript, in quanto contiene le impostazioni personali di un altro utente.',
+'mycustomcssprotected' => 'Non si dispone dei permessi necessari per modificare questa pagina CSS.',
+'mycustomjsprotected' => 'Non si dispone dei permessi necessari per modificare questa pagina JavaScript.',
 'ns-specialprotected' => 'Non è possibile modificare le pagine speciali.',
 'titleprotected' => "La creazione di una pagina con questo titolo è stata bloccata da [[User:$1|$1]].
 La motivazione è la seguente: ''$2''.",
@@ -813,7 +816,7 @@ Non verranno inviati messaggi email per le funzioni elencate di seguito.",
 'cannotchangeemail' => 'Gli indirizzi e-mail non possono essere modificati in questo wiki.',
 'emaildisabled' => 'Questo sito non può inviare messaggi di posta elettronica.',
 'accountcreated' => 'Accesso creato',
-'accountcreatedtext' => "È stato creato un accesso per l'utente $1.",
+'accountcreatedtext' => "È stata creata un'utenza per [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|msg]]).",
 'createaccount-title' => 'Creazione di un accesso a {{SITENAME}}',
 'createaccount-text' => 'Qualcuno ha creato un accesso a {{SITENAME}} ($4) a nome di $2, associato a questo indirizzo di posta elettronica. La password per l\'utente "$2" è impostata a "$3".
 È opportuno eseguire un accesso quanto prima e cambiare la password immediatamente.
@@ -1327,7 +1330,6 @@ I dettagli possono essere trovati nel [{{fullurl:{{#Special:Log}}/delete|page={{
 'searchmenu-legend' => 'Opzioni di ricerca',
 'searchmenu-exists' => "'''Sul sito esiste una pagina il cui nome è \"[[:\$1]]\"'''",
 'searchmenu-new' => 'Crea la pagina "[[:$1]]" su questo sito',
-'searchhelp-url' => 'Help:Indice',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Visualizza le pagine con questo prefisso]]',
 'searchprofile-articles' => 'Pagine di contenuti',
 'searchprofile-project' => 'Pagine di aiuto e relative al progetto',
@@ -1519,7 +1521,7 @@ Il tuo indirizzo non viene rivelato quando gli altri utenti ti contattano.',
 'group-sysop' => 'Amministratori',
 'group-bureaucrat' => 'Burocrati',
 'group-suppress' => 'Oversight',
-'group-all' => 'Utenti',
+'group-all' => '(tutti)',
 
 'group-user-member' => '{{GENDER:$1|utente}}',
 'group-autoconfirmed-member' => '{{GENDER:$1|utente autoconvalidato|utente autoconvalidata|utente autoconvalidato/a}}',
@@ -1580,6 +1582,8 @@ Il tuo indirizzo non viene rivelato quando gli altri utenti ti contattano.',
 'right-editusercssjs' => 'Modifica i file CSS e JS di altri utenti',
 'right-editusercss' => 'Modifica i file CSS di altri utenti',
 'right-edituserjs' => 'Modifica i file JS di altri utenti',
+'right-editmyusercss' => 'Modifica il file CSS del proprio utente',
+'right-editmyuserjs' => 'Modifica il file JavaScript del proprio utente',
 'right-rollback' => "Annulla rapidamente le modifiche dell'ultimo utente che ha modificato una particolare pagina",
 'right-markbotedits' => 'Segna le modifiche soggette a rollback come effettuate da bot',
 'right-noratelimit' => 'Non soggetto al limite di azioni',
@@ -1625,7 +1629,7 @@ Il tuo indirizzo non viene rivelato quando gli altri utenti ti contattano.',
 'action-deleterevision' => 'cancellare questa versione',
 'action-deletedhistory' => 'visualizzare la cronologia cancellata di questa pagina',
 'action-browsearchive' => 'cercare pagine cancellate',
-'action-undelete' => 'recuperare custa pàgina',
+'action-undelete' => 'recuperare questa pagina',
 'action-suppressrevision' => 'rivedere e ripristinare le modifiche nascoste',
 'action-suppressionlog' => 'visionare questo log privato',
 'action-block' => 'bloccare questo utente in scrittura',
@@ -2562,7 +2566,7 @@ $1',
 'mycontris' => 'contributi',
 'contribsub2' => 'Per $1 ($2)',
 'nocontribs' => 'Non sono state trovate modifiche che soddisfino i criteri di ricerca.',
-'uctop' => '(ultima per la pagina)',
+'uctop' => '(attuale)',
 'month' => 'Dal mese (e precedenti):',
 'year' => "Dall'anno (e precedenti):",
 
index c0dd43b..e4c1f18 100644 (file)
@@ -568,6 +568,7 @@ $messages = array(
 'create-this-page' => 'このページを作成',
 'delete' => '削除',
 'deletethispage' => 'このページを削除',
+'undeletethispage' => 'このページを復元',
 'undelete_short' => '{{PLURAL:$1|$1 編集}}を復元',
 'viewdeleted_short' => '{{PLURAL:$1|削除された $1 編集}}を閲覧',
 'protect' => '保護',
@@ -774,6 +775,8 @@ $2',
 'namespaceprotected' => "'''$1'''名前空間にあるページを編集する権限がありません。",
 'customcssprotected' => 'この CSS ページは他の利用者の個人設定を含んでいるため、あなたには編集する権限がありません。',
 'customjsprotected' => 'この JavaScript ページは他の利用者の個人設定を含んでいるため、あなたには編集する権限がありません。',
+'mycustomcssprotected' => 'あなたには CSS ページを編集する権限がありません。',
+'mycustomjsprotected' => 'あなたには JavaScript ページを編集する権限がありません。',
 'ns-specialprotected' => '特別ページは編集できません。',
 'titleprotected' => "[[User:$1|$1]]によりこのページ名を持つページの作成は保護されています。
 理由は「''$2''」です。",
@@ -914,7 +917,7 @@ Cookieを有効にしていることを確認して、このページを再読
 'cannotchangeemail' => 'このウィキではアカウントのメールアドレスを変更できません。',
 'emaildisabled' => 'このサイトではメールを送信できません。',
 'accountcreated' => 'アカウントを作成しました',
-'accountcreatedtext' => '利用者アカウント「$1」を作成しました。',
+'accountcreatedtext' => '利用者アカウント [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|トーク]]) を作成しました。',
 'createaccount-title' => '{{SITENAME}}のアカウント作成',
 'createaccount-text' => '誰か (おそらくあなた) が、{{SITENAME}} ($4) にあなたのメールアドレスのアカウントを作成しました。
 アカウント名「$2」、パスワード「$3」です。
@@ -1467,7 +1470,6 @@ $1",
 'searchmenu-legend' => '検索オプション',
 'searchmenu-exists' => "'''このウィキには「[[:$1]]」という名前のページがあります'''",
 'searchmenu-new' => "'''このウィキでページ「[[:$1]]」を新規作成する'''",
-'searchhelp-url' => 'Help:目次',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|この文字列から始まる名前のページを見る]]',
 'searchprofile-articles' => '本文ページ',
 'searchprofile-project' => 'ヘルプとプロジェクトページ',
@@ -1733,6 +1735,8 @@ $1 {{PLURAL:$1|文字}}以下である必要があります。',
 'right-editusercssjs' => '他の利用者のCSSファイル/JavaScriptファイルを編集',
 'right-editusercss' => '他の利用者のCSSファイルを編集',
 'right-edituserjs' => '他の利用者のJavaScriptファイルを編集',
+'right-editmyusercss' => '自身のCSSファイルを編集',
+'right-editmyuserjs' => '自身のJavaScriptファイルを編集',
 'right-rollback' => '特定ページを最後に編集した利用者の編集を即時巻き戻し',
 'right-markbotedits' => '巻き戻しをボットの編集として扱う',
 'right-noratelimit' => '速度制限を受けない',
@@ -2140,7 +2144,7 @@ URLが正しいものであり、ウェブサイトが稼働していること
 'filehist-comment' => 'コメント',
 'filehist-missing' => 'ファイルがありません',
 'imagelinks' => 'ファイルの使用状況',
-'linkstoimage' => '以下の{{PLURAL:1|ページ|&#32;$1 ページ}}がこのファイルにリンクしています:',
+'linkstoimage' => '以下の{{PLURAL:$1|ページ|&#32;$1 ページ}}がこのファイルにリンクしています:',
 'linkstoimage-more' => 'このファイルへは $1 を超える数のページからリンクがあります。
 以下の一覧ではこのファイルにリンクしている最初の $1 ページのみを表示しています。
 [[Special:WhatLinksHere/$2|完全な一覧]]も参照してください。',
@@ -2793,9 +2797,9 @@ $1',
 'whatlinkshere' => 'リンク元',
 'whatlinkshere-title' => '「$1」へリンクしているページ',
 'whatlinkshere-page' => 'ページ:',
-'linkshere' => "以下のページが、'''[[:$1]]'''にリンクしています:",
-'nolinkshere' => "'''[[:$1]]'''にリンクしているページはありません。",
-'nolinkshere-ns' => "指定した名前空間内に、'''[[:$1]]'''にリンクしているページはありません。",
+'linkshere' => "以下のページが、'''[[:$1]]''' にリンクしています:",
+'nolinkshere' => "'''[[:$1]]''' にリンクしているページはありません。",
+'nolinkshere-ns' => "指定した名前空間内に、'''[[:$1]]''' にリンクしているページはありません。",
 'isredirect' => '転送ページ',
 'istemplate' => '参照読み込み',
 'isimage' => 'ファイルへのリンク',
@@ -3161,7 +3165,7 @@ $2',
 'import-error-interwiki' => 'ページ名が外部リンク (ウィキ間リンク) に予約されているため、ページ「$1」を取り込みませんでした。',
 'import-error-special' => 'ページ「$1」は、ページが許可されない特別名前空間に属しているため取り込みません。',
 'import-error-invalid' => '名前が正しくないため、ページ「$1」を取り込みませんでした。',
-'import-error-unserialize' => 'ページ「$1」の版 $2 は直列化復元できませんでした。この版は $4 として直列化されたコンテンツモデル $3 を使用していると報告されています。',
+'import-error-unserialize' => 'ページ「$1」の版 $2 はシリアライズ解除できませんでした。この版は $4 としてシリアライズされたコンテンツモデル $3 を使用していると報告されています。',
 'import-options-wrong' => '間違った{{PLURAL:$2|オプション}}です: <nowiki>$1</nowiki>',
 'import-rootpage-invalid' => '入力したルートページの名前は無効です。',
 'import-rootpage-nosubpage' => 'ルートページの名前空間「$1」では、下位ページが許可されていません。',
index 3f4e01f..376a43b 100644 (file)
@@ -438,7 +438,6 @@ hersenenge, (førge) = førskel til den førge hersenenge, l = lile til mendre 
 'prevn' => 'førge {{PLURAL:$1|$1}}',
 'nextn' => 'nægste {{PLURAL:$1|$1}}',
 'viewprevnext' => 'Ves ($1 {{int:pipe-separator}} $2) ($3)',
-'searchhelp-url' => 'Help:Hjælpførside',
 'searchall' => 'ål',
 'powersearch' => 'Søĝ',
 
index 1c19744..28d5cc9 100644 (file)
@@ -562,10 +562,8 @@ Panjengen manawa wis kasil ganti tembung sandi utawa nyuwun tembung sandi saunta
 
 # Special:PasswordReset
 'passwordreset' => 'Balèni setèl tembung sandhi',
-'passwordreset-text' => 'Jangkepi pormulir iki kanggo mbalèkaké tembung sandhiné Sampéyan.',
 'passwordreset-legend' => 'Balèni setèl tembung sandhi',
 'passwordreset-disabled' => 'Piranti kanggo mbalèni nyetèl tembung sandhi dipatèni nèng wiki iki.',
-'passwordreset-pretext' => '{{PLURAL:$1||Lebokaké siji bagéyan data ngisor iki}}',
 'passwordreset-username' => 'Jeneng panganggo:',
 'passwordreset-domain' => 'Domain:',
 'passwordreset-capture' => 'Delok layang èlèktronik sing diasilaké?',
@@ -1028,7 +1026,6 @@ Rinciané bisa ditemokaké nèng [{{fullurl:{{#Special:Log}}/delete|page={{FULLP
 'searchmenu-legend' => 'Pilihan panggolèkan',
 'searchmenu-exists' => "'''Ana kaca kanthi jeneng \"[[\$1]]\" ing wiki iki'''",
 'searchmenu-new' => "'''Gawé kaca \"[[:\$1]]\" ing wiki iki!'''",
-'searchhelp-url' => 'Help:Isi',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Tlusuri kaca-kaca kanthi tembung-wiwitan iki]]',
 'searchprofile-articles' => 'Kaca isi',
 'searchprofile-project' => 'Kaca pitulung lan proyèk',
index 9278429..6b593a4 100644 (file)
@@ -372,6 +372,7 @@ $messages = array(
 'create-this-page' => 'ამ გვერდის შექმნა',
 'delete' => 'წაშლა',
 'deletethispage' => 'გვერდის წაშლა',
+'undeletethispage' => 'ამ გვერდის აღდგენა',
 'undelete_short' => 'გააუქმე წაშლა {{PLURAL:$1|ერთი რედაქტირება|$1 რედაქტირება}}',
 'viewdeleted_short' => '{{PLURAL:$1|წაშლილი რედაქტირების|$1 წაშლილი რედაქტირებების}} ხილვა',
 'protect' => 'დაბლოკე',
@@ -637,8 +638,17 @@ $2',
 'gotaccountlink' => 'შესვლა',
 'userlogin-resetlink' => 'ავტორიზაციის მონაცემები დაგავიწყდათ?',
 'userlogin-resetpassword-link' => 'პაროლის მოცილება',
+'createacct-join' => 'ქვემოთ მიუთითეთ ინფორმაცია თქვენ შესახებ.',
+'createacct-emailrequired' => 'ელ. ფოსტის მისამართი',
+'createacct-emailoptional' => 'ელ. ფოსტის მისამართი (არასავალდებულო)',
+'createacct-email-ph' => 'შეიყვანეთ თქვენი ელ. ფოსტის მისამართი',
 'createaccountmail' => 'გამოიყენეთ შემთხვევითობის მეთოდით შერჩეული დროებითი პაროლი და მისი გაგზავნა ქვემოთ მითითებულ ელ. ფოსტის მისამართზე:',
+'createacct-realname' => 'ნამდვილი სახელი (არააუცილებელი)',
 'createaccountreason' => 'მიზეზი:',
+'createacct-reason' => 'მიზეზი',
+'createacct-reason-ph' => 'რატომ ქმნით ახალ ანგარიშს?',
+'createacct-captcha' => 'უსაფრთხოების შემოწმება',
+'createacct-imgcaptcha-ph' => 'შეიყვანეთ ზემოთ მოცემული ტექსტი',
 'createacct-submit' => 'შექმენით თქვენი ანგარიში',
 'createacct-benefit-heading' => '{{SITENAME}} შექმნილია თქვენნაირი ადამიანების მიერ.',
 'createacct-benefit-body1' => '{{PLURAL:$1|რედაქტირება|რედაქტირება}}',
@@ -1234,7 +1244,6 @@ $1",
 'searchmenu-legend' => 'ძიების დაწყობა:',
 'searchmenu-exists' => "'''ამ ვიკიპროექტში არის გვერდი «[[:$1]]»'''",
 'searchmenu-new' => "'''შექმენით გვერდი „[[:$1]]“ ამ ვიკიში!'''",
-'searchhelp-url' => 'Help:დახმარება',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|აჩვენეთ გვერდები ამ პრეფიქსით]]',
 'searchprofile-articles' => 'ძირითადი გვერდები',
 'searchprofile-project' => 'დახმარების და პროექტის გვერდები',
index 0555201..828e2b9 100644 (file)
@@ -825,7 +825,6 @@ Sha'rtli belgiler: (ha'z.) = ha'zirgi nusqasi menen parqı,
 'searchmenu-legend' => 'İzlew sazlawları',
 'searchmenu-exists' => "'''Bul wikide \"[[:\$1]]\" atamalı bet bar'''",
 'searchmenu-new' => "'''Bul wikide \"[[:\$1]]\" betin jaratıw!'''",
-'searchhelp-url' => 'Help:Mazmunı',
 'searchmenu-prefix' => "[[Special:PrefixIndex/$1|Usı prefiks penen baslanıwshı betlerdi ko'rset]]",
 'searchprofile-articles' => "Mag'lıwmat betleri",
 'searchprofile-project' => "Ja'rdem ha'm Proekt betleri",
index 8ce650e..7d6c6d6 100644 (file)
@@ -551,10 +551,8 @@ Ahat ilaq ad beddeleḍ awal ik/im n uɛaddi naɣ ad ssutereḍ awal n uɛaddi a
 
 # Special:PasswordReset
 'passwordreset' => 'Awennez tikkelt nniḍen n awal uɛaddi',
-'passwordreset-text' => 'Ččur tiferkit agi iwakken ad eṭṭfeḍ tirawt n usmekti  deg-es tilɣa n umiḍan inek/inem.',
 'passwordreset-legend' => 'Awennez tikkelt nniḍen n awal uɛaddi',
 'passwordreset-disabled' => 'Awennez n awal uɛaddi yensa deg uwiki agi.',
-'passwordreset-pretext' => '{{PLURAL:$1||Sekcem aferdis n isefka ddaw agi}}',
 'passwordreset-username' => 'Isem n useqdac',
 'passwordreset-domain' => 'Talɣut :',
 'passwordreset-capture' => 'Ẓeṛ tirawt ?',
@@ -1015,7 +1013,6 @@ Tzemreḍ ad affeḍ tilɣa deg [{{fullurl:{{#Special:Log}}/delete|page={{FULLPA
 'searchmenu-legend' => 'Tixtiṛiyin n unadi',
 'searchmenu-exists' => "'''Yella asebter s isem \"[[:\$1]]\" deg wiki agi.'''",
 'searchmenu-new' => "'''Snulfud asebter « [[:$1|$1]] » deg wiki agi !'''",
-'searchhelp-url' => 'Help:Agbur',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Nadi isebtar i zwaren s adat agi]]',
 'searchprofile-articles' => 'Isebtar n ugbur',
 'searchprofile-project' => 'Isebtaren n tallat dɣa n usenfa',
index 5454422..3b0c620 100644 (file)
@@ -741,7 +741,6 @@ Eke şertê ilawekerdey ke niyê ro, idarekerê bini {{SITENAME}} de nêşikinê
 'viewprevnext' => 'Bıvêne ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-exists' => "''Ena 'Wikipediya de ser \"[[:\$1]]\" yew pel esto'''",
 'searchmenu-new' => "'''Nê wiki de pela \"[[:\$1]]\" baferne!'''",
-'searchhelp-url' => 'Help:Tedeestey',
 'searchprofile-articles' => 'Pelê tedeesteu',
 'searchprofile-project' => 'Pelê yardımi u procey',
 'searchprofile-images' => 'Multimedya',
index c757c53..3a7232a 100644 (file)
@@ -1112,7 +1112,6 @@ $3 كەلتىرىلگەن سەبەبى: ''$2''",
 'prevn' => 'الدىڭعى {{PLURAL:$1|$1}}',
 'nextn' => 'كەلەسى {{PLURAL:$1|$1}}',
 'viewprevnext' => 'كورسەتىلۋى: ($1 {{int:pipe-separator}} $2) ($3) جازبا',
-'searchhelp-url' => 'Help:مازمۇنى',
 'search-result-size' => '$1 ($2 ٴسوز)',
 'search-result-score' => 'اراقاتىناستىلىعى: $1 %',
 'search-redirect' => '(ايداعىش $1)',
index 440e4c5..5fbbb0f 100644 (file)
@@ -1249,7 +1249,6 @@ $3 келтірілген себебі: ''$2''",
 'searchmenu-legend' => 'Іздеу бапталымдары',
 'searchmenu-exists' => "'''Бұл жобада «[[:$1]]» деген бет бар.'''",
 'searchmenu-new' => "'''\"[[:\$1]]\" осындай атпен бетті бастау'''",
-'searchhelp-url' => 'Help:Мазмұны',
 'searchprofile-articles' => 'Негізгі беттер',
 'searchprofile-project' => 'Анықтама және жоба беттері',
 'searchprofile-images' => 'Мультимедиа',
index 67f1372..d112082 100644 (file)
@@ -1075,7 +1075,6 @@ Añğartpa: bağıttaw siltemelerin qoldanğanda bul bağan qaýta qoýıladı.'
 'prevn' => 'aldıñğı {{PLURAL:$1|$1}}',
 'nextn' => 'kelesi {{PLURAL:$1|$1}}',
 'viewprevnext' => 'Körsetilwi: ($1 {{int:pipe-separator}} $2) ($3) jazba',
-'searchhelp-url' => 'Help:Mazmunı',
 'search-result-size' => '$1 ($2 söz)',
 'search-result-score' => 'Araqatınastılığı: $1 %',
 'search-redirect' => '(aýdağış $1)',
index b3fb68f..06c2adc 100644 (file)
@@ -1338,7 +1338,6 @@ $1",
 'searchmenu-legend' => 'ជម្រើសនានាក្នុងការស្វែងរក',
 'searchmenu-exists' => "* ទំព័រ '''[[$1]]'''",
 'searchmenu-new' => "'''បង្កើតទំព័រ \"[[:\$1]]\" នៅ​លើ​វិគី​នេះ!'''",
-'searchhelp-url' => 'Help:មាតិកា',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|រុក​រក​ក្នុង​ទំព័រ​នានា​ជាមួយ​បុព្វបទ​នេះ​]]',
 'searchprofile-articles' => 'ទំព័រ​មាតិកា',
 'searchprofile-project' => 'ជំនួយ និង​ទំព័រ​គម្រោង',
index 1cd439c..694e552 100644 (file)
@@ -859,7 +859,6 @@ $2',
 'viewprevnext' => 'ವೀಕ್ಷಿಸು ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-exists' => "'''\"[[:\$1]]\" ಹೆಸರಿನ ಪುಟ ಈ ವಿಕಿಯಲ್ಲಿದೆ.'''",
 'searchmenu-new' => "'''''[[:$1]]'' ಪುಟವನ್ನು ಈ ವಿಕಿಯಲ್ಲಿ ಸೃಷ್ಟಿಸಿ!'''",
-'searchhelp-url' => 'Help:ಪರಿವಿಡಿ',
 'searchprofile-articles' => 'ಲೇಖನ ಪುಟ',
 'searchprofile-project' => 'ಸಹಾಯ ಮತ್ತು ಯೋಜನೆ ಪುಟಗಳು',
 'searchprofile-images' => 'ಬಹುಮಾಧ್ಯಮ',
index ad323f4..69d52cd 100644 (file)
@@ -351,7 +351,7 @@ $dateFormats = array(
 
 $messages = array(
 # User preference toggles
-'tog-underline' => '링크에 밑줄 표시하기:',
+'tog-underline' => '링크에 밑줄:',
 'tog-justify' => '문단 정렬하기',
 'tog-hideminor' => '최근 바뀜에서 사소한 편집을 숨기기',
 'tog-hidepatrolled' => '최근 바뀜에서 검토한 편집을 숨기기',
@@ -755,6 +755,8 @@ $2',
 'namespaceprotected' => "'''$1''' 이름공간을 편집할 수 있는 권한이 없습니다.",
 'customcssprotected' => '여기에는 다른 사용자의 개인 설정이 포함되어 있기 때문에 이 CSS 문서를 편집할 수 없습니다.',
 'customjsprotected' => '여기에는 다른 사용자의 개인 설정이 포함되어 있기 때문에 이 자바스크립트 문서를 편집할 수 없습니다.',
+'mycustomcssprotected' => '이 CSS 문서를 편집할 권한이 없습니다.',
+'mycustomjsprotected' => '이 자바스크립트 문서를 편집할 권한이 없습니다.',
 'ns-specialprotected' => '특수 문서는 편집할 수 없습니다.',
 'titleprotected' => '[[User:$1|$1]] 사용자가 문서 만들기를 금지했습니다.
 이유는 다음과 같습니다. "$2"',
@@ -894,7 +896,7 @@ $2',
 'cannotchangeemail' => '이 위키에서는 계정의 이메일 주소를 바꿀 수 없습니다.',
 'emaildisabled' => '이 사이트에서는 이메일을 보낼 수 없습니다.',
 'accountcreated' => '계정 만들어짐',
-'accountcreatedtext' => '"$1" 사용자 계정이 만들어졌습니다.',
+'accountcreatedtext' => '[[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|토론]]) 사용자 계정이 만들어졌습니다.',
 'createaccount-title' => '{{SITENAME}} 계정 만들기',
 'createaccount-text' => '누군가가 {{SITENAME}} ($4)에서 사용자 이름 "$2", 비밀번호 "$3"로 당신의 이메일 주소가 등록된 계정을 만들었습니다. 
 지금 로그인하여 비밀번호를 바꾸십시오.
@@ -968,7 +970,7 @@ $2
 임시 비밀번호: $2',
 'passwordreset-emailsent' => '비밀번호 재설정 이메일을 보냈습니다.',
 'passwordreset-emailsent-capture' => '비밀번호 재설정 이메일이 발송되었으며, 아래에 나타나 있습니다.',
-'passwordreset-emailerror-capture' => '비밀번호 재설정 이메일이 생성되어 아래에 표시되어 있지만, {{GENDER:$2|사용자}}에게 발송하는 데에는 실패했습니다: $1',
+'passwordreset-emailerror-capture' => '비밀번호 재설정 이메일이 생성되어 아래에 보여져 있지만, {{GENDER:$2|사용자}}에게 발송하는 데에는 실패했습니다: $1',
 
 # Special:ChangeEmail
 'changeemail' => '이메일 주소 바꾸기',
@@ -1440,7 +1442,6 @@ $1",
 'searchmenu-legend' => '찾기 설정',
 'searchmenu-exists' => "'''이 위키에 \"[[:\$1]]\"의 이름을 가진 문서가 있습니다.'''",
 'searchmenu-new' => "'''이 위키에 \"[[:\$1]]\" 문서를 만드세요!'''",
-'searchhelp-url' => 'Help:목차',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|이 접두어로 시작하는 문서 찾기]]',
 'searchprofile-articles' => '일반 문서',
 'searchprofile-project' => '도움말 및 프로젝트 문서',
@@ -1701,6 +1702,8 @@ HTML 태그를 확인하세요.',
 'right-editusercssjs' => '다른 사용자의 CSS와 자바스크립트 문서를 편집',
 'right-editusercss' => '다른 사용자의 CSS 문서를 편집',
 'right-edituserjs' => '다른 사용자의 자바스크립트 문서를 편집',
+'right-editmyusercss' => '자신의 사용자 CSS 파일 편집하기',
+'right-editmyuserjs' => '자신의 사용자 자바스크립트 파일 편집하기',
 'right-rollback' => '특정 문서를 편집한 마지막 사용자의 편집을 신속하게 되돌리기',
 'right-markbotedits' => '되돌리기를 봇의 편집으로 취급 가능',
 'right-noratelimit' => '편집이나 다른 행동 속도의 제한을 받지 않음',
index 37db173..80e8e2b 100644 (file)
@@ -536,7 +536,7 @@ $2',
 {{SITENAME}} сайтда [[Special:Preferences|джарашдырыуларыгъызны]] тюрлендирирге унутмагъыз.',
 'yourname' => 'Къошулуучуну аты',
 'userlogin-yourname' => 'Тергеу джазыуну аты',
-'userlogin-yourname-ph' => 'ТеÑ\80геÑ\83 Ð´Ð¶Ð°Ð·Ñ\8bÑ\83Ñ\83гÑ\8aÑ\83знÑ\83 Ð°Ñ\82Ñ\8bн Ð´Ð¶Ð°Ð·Ñ\8bгÑ\8aÑ\8bз',
+'userlogin-yourname-ph' => 'ТеÑ\80геÑ\83 Ð´Ð¶Ð°Ð·Ñ\8bÑ\83Ñ\83нгÑ\83 Ð°Ñ\82Ñ\8bн Ð´Ð¶Ð°з',
 'yourpassword' => 'Паролюгъуз:',
 'userlogin-yourpassword' => 'Пароль',
 'userlogin-yourpassword-ph' => 'Паролунгу джаз',
@@ -671,7 +671,7 @@ $2',
 'resetpass-abort-generic' => 'Пароль тюрлендириуню кенгертиу тыйды.',
 
 # Special:PasswordReset
-'passwordreset' => 'Ð\9fаÑ\80олнÑ\83 Ð°Ñ\82Ñ\8bу',
+'passwordreset' => 'Ð\9fаÑ\80олнÑ\83 Ð´Ð¶Ð¸Ð±ÐµÑ\80иу',
 'passwordreset-text-one' => 'Паролугъуз джиберилир ючюн бу форманы толтуругъуз.',
 'passwordreset-text-many' => '{{PLURAL:$1|Пароль ийилир ючюн билгилени бир бёлюмюн джазыгъыз.}}',
 'passwordreset-legend' => 'Паролну атыу',
@@ -1136,7 +1136,6 @@ $1",
 'searchmenu-legend' => 'Излеуню джарашдырыулары',
 'searchmenu-exists' => "'''Бу викиде «[[:$1]]» бет барды'''",
 'searchmenu-new' => "'''Бу вики-проектде «[[:$1]]» бетни къура!'''",
-'searchhelp-url' => 'Help:Ичиндегиле',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Бу префикс бла бетни кёргюз]]',
 'searchprofile-articles' => 'Баш бетле',
 'searchprofile-project' => 'Болушлукъ эм проект бетле',
index 82ef0ed..d176b28 100644 (file)
@@ -1377,7 +1377,6 @@ Mieh doh drövver fengk mer em [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAG
 'searchmenu-legend' => 'Enschtällonge för et Söhke',
 'searchmenu-exists' => "*Sigg '''[[$1]]'''",
 'searchmenu-new' => "'''Donn de Sigg „[[:$1|$1]]“ hee em Wiki aanlääje'''",
-'searchhelp-url' => 'Help:Hölp',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Zeich all Sigge, di met däm Tex aanfange]]',
 'searchprofile-articles' => 'Sigge vum Enhalt',
 'searchprofile-project' => 'Hülp- ov Projäk-Sigge',
index 355309f..801732f 100644 (file)
@@ -458,10 +458,13 @@ Bila di bîra te de be ku gengaz e hin rûpel mîna ku tu hîn bi navê xwe qeyd
 'welcomeuser' => 'Xêr hatî, $1!',
 'yourname' => 'Navê bikarhêner:',
 'userlogin-yourname' => 'Navê bikarhêner',
+'userlogin-yourname-ph' => 'Navê xwe yê bikarhêneriyê binivîse',
 'yourpassword' => 'Şîfre:',
 'userlogin-yourpassword' => 'Şîfre',
+'userlogin-yourpassword-ph' => 'Şîfreya xwe binivîse',
 'yourpasswordagain' => 'Şîfreyê dîsa binivîse:',
 'remembermypassword' => 'Şifreya min di her têketina min de bîne bîra xwe (herî zêde $1 {{PLURAL:$1|rojekê|rojan}})',
+'userlogin-signwithsecure' => 'Girêdana parastî bikarbîne',
 'yourdomainname' => 'Domaînê te',
 'externaldberror' => 'Çewtiyeke bingeha daneyan heye, an jî destûra te ya rojanekirina hesabê xweyê navxweyî nîne.',
 'login' => 'Têkeve',
@@ -472,14 +475,18 @@ Bila di bîra te de be ku gengaz e hin rûpel mîna ku tu hîn bi navê xwe qeyd
 'logout' => 'Derkeve',
 'userlogout' => 'Derkeve',
 'notloggedin' => 'Xwe tomar nekir',
+'userlogin-noaccount' => 'Hesabekî te nîne?',
+'userlogin-joinproject' => 'Tevlî {{SITENAME}} bibe',
 'nologin' => 'Hesabê te nîne? $1.',
 'nologinlink' => 'Bibe endam',
 'createaccount' => 'Hesabê nû çêke',
 'gotaccount' => 'Hesabê te heye? $1.',
 'gotaccountlink' => 'Têkeve',
 'userlogin-resetlink' => 'Te agahiyên hesabê xwe ji bîr kirin?',
+'userlogin-resetpassword-link' => 'Şîfreyê ji nû ve çêke',
+'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Alîkariya têketinê]]',
 'createacct-emailrequired' => 'E-name',
-'createaccountmail' => 'bi e-name',
+'createaccountmail' => 'Use a temporary random password and send it to the email address specified below',
 'createaccountreason' => 'Sedem:',
 'createacct-reason' => 'Sedem',
 'createacct-submit' => 'Hesabê xwe biafirîne',
@@ -831,7 +838,6 @@ Sedema qedexekirina $3 ev e: ''$2''",
 'searchmenu-legend' => 'Vebijartinên lêgerrînê',
 'searchmenu-exists' => "'''Rûpeleke bi navê \"[[:\$1]]\" li ser vê wîkiyê heye.'''",
 'searchmenu-new' => 'Rûpela "[[:$1]]" çêke!',
-'searchhelp-url' => 'Help:Alîkarî',
 'searchprofile-articles' => 'Rûpelên naverokê',
 'searchprofile-project' => 'Rûpelên alîkariyê û projeyê',
 'searchprofile-images' => 'Multîmedya',
@@ -893,6 +899,7 @@ Sedema qedexekirina $3 ev e: ''$2''",
 'prefs-rendering' => 'Rû',
 'saveprefs' => 'Tercîhan tomar bike',
 'resetprefs' => 'Guhertinên netomarkirî şûnde vegerîne',
+'restoreprefs' => 'Hemû eyarên berê ji nû ve ava bike',
 'prefs-editing' => 'Guherandin',
 'rows' => 'Rêz',
 'columns' => 'Stûn:',
@@ -932,6 +939,7 @@ Sedema qedexekirina $3 ev e: ''$2''",
 'badsig' => 'Îmzeya ne derbasdar! Li HTML binêre ka sedema şaşbûnê çiye.',
 'badsiglength' => 'Navê te zêde dirêj e; pêwîst e di bin {{PLURAL:$1|nîşanekê|nîşanan}} de be.',
 'yourgender' => 'Zayend:',
+'gender-unknown' => 'Veşartî',
 'gender-male' => 'Nêr',
 'gender-female' => 'Mê',
 'email' => 'E-name',
@@ -1182,7 +1190,7 @@ Xêra xwe navekî din bibîne.',
 'filehist-filesize' => 'Mezinahiya pelê',
 'filehist-comment' => 'Şîrove',
 'filehist-missing' => 'Pel nîne',
-'imagelinks' => 'Girêdanên vî wêneyî',
+'imagelinks' => 'File usage',
 'linkstoimage' => 'Di van rûpelan de lînkek ji vî wêneyî re heye:',
 'nolinkstoimage' => 'Rûpelekî ku ji vî wêneyî re girêdankê çêdike nîne.',
 'linkstoimage-redirect' => '$1 (beralîkirina pelê) $2',
@@ -1272,7 +1280,7 @@ Agahdariya li ser [$2 rûpela danasîna pelê] li jêr tê nîşandan.',
 'nrevisions' => '$1 {{PLURAL:$1|guherandin|guherandin}}',
 'nviews' => '$1 {{PLURAL:$1|dîtin|dîtin}}',
 'lonelypages' => 'Rûpelên sêwî',
-'uncategorizedpages' => 'Rûpelên bê kategorî',
+'uncategorizedpages' => 'Rûpelên bêkategorî',
 'uncategorizedcategories' => 'Kategoriyên bê kategorî',
 'uncategorizedimages' => 'Wêneyên bê kategorî',
 'uncategorizedtemplates' => 'Şablonên bê kategorî',
index f93ac8d..e2d7083 100644 (file)
@@ -300,6 +300,18 @@ $messages = array(
 'oct' => 'Hed',
 'nov' => 'Du',
 'dec' => 'Kev',
+'january-date' => '$1 Genver',
+'february-date' => '$1 Hwevrel',
+'march-date' => '$1 Meurth',
+'april-date' => '$1 Ebrel',
+'may-date' => '$1 Me',
+'june-date' => '$1 Metheven',
+'july-date' => '$1 Gortheren',
+'august-date' => '$1 Est',
+'september-date' => '$1 Gwynngala',
+'october-date' => '$1 Hedra',
+'november-date' => '$1 Du',
+'december-date' => '$1 Kevardhu',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Klass|Klassys}}',
@@ -318,6 +330,7 @@ $messages = array(
 'listingcontinuesabbrev' => 'pes.',
 
 'about' => 'A-dro dhe',
+'article' => 'Folen dhalgh',
 'newwindow' => '(ygeri yn fenester nowyth)',
 'cancel' => 'Hedhi',
 'moredotdotdot' => 'Moy...',
@@ -374,6 +387,7 @@ $messages = array(
 'create-this-page' => 'Gwruthyl an folen-ma',
 'delete' => 'Dilea',
 'deletethispage' => 'Dilea an folen-ma',
+'undeletethispage' => 'Diswul dilea an folen-ma',
 'undelete_short' => 'Disdhilea {{PLURAL:$1|unn janj|$1 chanj}}',
 'viewdeleted_short' => 'Gweles {{PLURAL:$1|unn janj diles|$1 chanj diles}}',
 'protect' => 'Difres',
@@ -493,8 +507,14 @@ $1',
 'cannotdelete-title' => 'Ny yllir dilea an folen "$1"',
 'badtitle' => 'Titel drog',
 'viewsource' => 'Gweles an bennfenten',
+'viewsource-title' => 'Gweles an bennfenten rag $1',
 'protectedpagetext' => 'Difresys re beu an folen-ma rag gwitha rag chanjya po gwriansow erel.',
 'viewsourcetext' => 'Hwi a yll gweles ha kopia pennfenten an folen-ma:',
+'mycustomcssprotected' => "Ny'gas beus kummyes dhe janjya an folen CSS-ma.",
+'mycustomjsprotected' => "Ny'gas beus kummyes dhe janjya an folen JavaScript-ma.",
+'ns-specialprotected' => 'Ny yllir chanjya folennow arbennek.',
+'exception-nologin' => 'Nyns owgh omgelmys',
+'exception-nologin-text' => 'An folen-ma po an gwrians-ma a wovyn mayth omgelmowgh war an wiki-ma.',
 
 # Login and logout pages
 'logouttext' => "'''Digelmys owgh lemmyn.'''
@@ -505,11 +525,21 @@ Notyewgh: Neb folennow a alsa bos diskwedhys kepar del owgh hwath omgelmys, erna
 'welcomecreation-msg' => 'Gwruthys re beu agas akont.
 Na ankevewgh dhe janjya agas [[Special:Preferences|dewisyansow {{SITENAME}}]].',
 'yourname' => 'Hanow devnydhyer:',
+'userlogin-yourname' => 'Hanow devnydhyer',
+'userlogin-yourname-ph' => 'Entrewgh agas hanow devnydhyer',
 'yourpassword' => 'Ger tremena:',
+'userlogin-yourpassword' => 'Ger tremena',
+'userlogin-yourpassword-ph' => 'Entrewgh agas ger tremena',
+'createacct-yourpassword-ph' => 'Entrewgh ger tremena',
 'yourpasswordagain' => 'Jynnskrifewgh agas ger tremena arta:',
+'createacct-yourpasswordagain' => 'Afydhyewgh an ger tremena',
+'createacct-yourpasswordagain-ph' => 'Entrewgh an ger tremena arta',
 'remembermypassword' => "Perthi kov a'm omgelmi war an jynn amontya-ma (rag $1 {{PLURAL:$1|dydh}} dhe'n moyha)",
+'userlogin-remembermypassword' => "Perthi kov a'm omgelmi",
+'userlogin-signwithsecure' => 'Devnydhya junyans diogel',
 'securelogin-stick-https' => 'Gwitha junyes gans HTTPS wosa omgelmi',
 'yourdomainname' => 'Agas tiredh:',
+'password-change-forbidden' => 'Ny yllir chanjya geryow tremena war an wiki-ma.',
 'login' => 'Omgelmi',
 'nav-login-createaccount' => 'Omgelmi / Gwruthyl akont nowyth',
 'loginprompt' => 'Res yw dhywgh galosegi cookies rag omgelmi orth {{SITENAME}}.',
@@ -518,18 +548,38 @@ Na ankevewgh dhe janjya agas [[Special:Preferences|dewisyansow {{SITENAME}}]].',
 'logout' => 'Digelmi',
 'userlogout' => 'Digelmi',
 'notloggedin' => 'Digelmys',
+'userlogin-noaccount' => "A ny'gas beus akont?",
+'userlogin-joinproject' => 'Junya {{SITENAME}}',
 'nologin' => "A ny'gas beus akont? '''$1'''.",
 'nologinlink' => 'Gwruthyl akont',
 'createaccount' => 'Gwruthyl akont nowyth',
 'gotaccount' => "Eus akont dhywgh seulabrys? '''$1'''.",
 'gotaccountlink' => 'Omgelmi',
 'userlogin-resetlink' => 'A ankevsowgh hwi agas manylyon omgelmi?',
+'userlogin-resetpassword-link' => 'Dassettya agas ger tremena',
+'helplogin-url' => 'Help:Omgelmi',
+'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Gweres gans omgelmi]]',
+'createacct-join' => 'Entrewgh agas kedhlow a-woles.',
+'createacct-emailrequired' => 'Trigva ebost',
+'createacct-emailoptional' => 'Trigva ebost (a-dhewis)',
+'createacct-email-ph' => 'Entrewgh agas trigva ebost',
 'createaccountmail' => "Devnydhya ger tremena chonsus anbarthus hag y dhanvon dhe'n drigva ebost res a-woles",
+'createacct-realname' => 'Hanow gwir (a-dhewis)',
 'createaccountreason' => 'Acheson:',
+'createacct-reason' => 'Acheson',
+'createacct-reason-ph' => 'Prag yth esowgh ow kwruthyl akont aral',
+'createacct-captcha' => 'Gwiryans sekerder',
+'createacct-imgcaptcha-ph' => 'Entrewgh an tekst a welowgh a-ugh',
+'createacct-submit' => 'Gwruthyl agas akont',
+'createacct-benefit-heading' => 'Gwrys yw {{SITENAME}} gans tus kepar ha hwi.',
+'createacct-benefit-body1' => '{{PLURAL:$1|janj|chanj}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|folen}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|gevriyas|kevriyas}} a-dhiwedhes',
 'badretype' => 'Ny omdhesedh an geryow tremena entrys genowgh.',
 'userexists' => 'Y tevnydhir an hanow devnydhyer entrys genowgh seulabrys.
 Dewisewgh ken hanow mar pleg.',
 'loginerror' => 'Gwall omgelmi',
+'createacct-error' => 'Gwall ow kwruthyl akont',
 'createaccounterror' => 'Ny allas gwruthyl an akont: $1',
 'nocookiesnew' => "Gwruthys veu an akont, mes nyns owgh omgelmys.
 {{SITENAME}} a dhevnydh cookies rag omgelmi devnydhyoryon.
@@ -592,17 +642,27 @@ Orth agas omgelmi lemmyn...',
 
 # Special:PasswordReset
 'passwordreset' => 'Dassettya an ger tremena',
+'passwordreset-text-one' => 'Lenwewgh an furvlen-ma rag dassettya agas ger tremena.',
+'passwordreset-text-many' => "{{PLURAL:$1|Entrewgh onan a'n tymmyn a dhata a-woles rag dassettya agas ger tremena.}}",
 'passwordreset-legend' => 'Dassettya an ger tremena',
 'passwordreset-disabled' => 'Dialosegys yw dassettya geryow tremena war an wiki-ma.',
 'passwordreset-username' => 'Hanow devnydhyer:',
 'passwordreset-domain' => 'Tiredh:',
 'passwordreset-email' => 'Trigva ebost:',
 'passwordreset-emailtitle' => 'Manylyon agas akont war {{SITENAME}}',
+'passwordreset-emailsent' => 'Ebost dassettya ger tremena re beu danvenys.',
+'passwordreset-emailsent-capture' => 'Ebost dassettya ger tremena re beu danvenys, hag y hyllir y weles a-woles.',
 
 # Special:ChangeEmail
 'changeemail' => 'Chanjya trigva ebost',
 'changeemail-header' => 'Chanjya trigva ebost an akont',
 'changeemail-text' => 'Lenwewgh an furvlen-ma rag chanjya agas trigva ebost. Y fydh res dhywgh entra agas ger tremena rag afydhya an chanj-ma.',
+'changeemail-oldemail' => 'Agas trigva ebost a-lemmyn:',
+'changeemail-newemail' => 'Agas trigva ebost nowyth:',
+'changeemail-none' => '(nagonan)',
+'changeemail-password' => 'Agas ger tremena war {{SITENAME}}:',
+'changeemail-submit' => 'Chanjya an trigva ebost',
+'changeemail-cancel' => 'Hedhi',
 
 # Edit page toolbar
 'bold_sample' => 'Tekst tew',
@@ -629,6 +689,7 @@ Orth agas omgelmi lemmyn...',
 'savearticle' => 'Gwitha an folen',
 'preview' => 'Ragwel',
 'showpreview' => 'Diskwedhes ragwel',
+'showlivepreview' => 'Ragwel byw',
 'showdiff' => 'Diskwedhes an chanjyow',
 'anoneditwarning' => "'''Gwarnyans:''' Nyns owgh omgelmys.
 Rekordys vydh agas trigva IP yn istori an folen-ma.",
@@ -675,7 +736,7 @@ Mars owgh omgelmys, hwi a yll dialosegi an gwarnyans-ma yn tregh "Chanjya" agas
 # "Undo" feature
 'undo-success' => 'Y hyllir diswul an chanj-ma.
 Checkyewgh mar pleg an kehevelyans a-woles rag gwirya bos hemma an pyth a vynnowgh, hag ena gwithewgh an chanjyow a-woles rag gorfenna diswul an chanj.',
-'undo-summary' => 'Diswul amendyans $1 gans [[Special:Contributions/$2|$2]] ([[User talk:$2|keskows]])',
+'undo-summary' => 'Amendyans $1 gans [[Special:Contributions/$2|$2]] ([[User talk:$2|keskows]]) diswrys',
 
 # Account creation failure
 'cantcreateaccounttitle' => 'Ny yllir gwruthyl an akont',
@@ -748,7 +809,6 @@ Alhwedh: '''({{int:cur}})''' = an dyffrans dhyworth an amendyans diwettha, '''({
 'searchmenu-legend' => 'Etholyow hwilas',
 'searchmenu-exists' => "''Yma folen henwys \"[[:\$1]]\" war an wiki-ma'''",
 'searchmenu-new' => "'''Gwruthyl an folen \"[[:\$1]]\" war an wiki-ma!'''",
-'searchhelp-url' => 'Help:Gweres',
 'searchprofile-articles' => 'Folennow dalgh',
 'searchprofile-project' => 'Folennow gweres ha ragdres',
 'searchprofile-images' => 'Liesmedia',
@@ -1395,7 +1455,7 @@ Hwi a yll gweles hy fennfenten.',
 
 # Auto-summaries
 'autosumm-blank' => 'Gwakhes veu an folen',
-'autoredircomment' => 'Daswedyes veu an folen war-tu ha [[$1]]',
+'autoredircomment' => 'Folen daswedyes war-tu ha [[$1]]',
 'autosumm-new' => "Folen gwruthys gans: '$1'",
 
 # Live preview
@@ -1461,6 +1521,9 @@ An wiasva-ma a's teves kaletter teknogel.",
 
 # New logging system
 'logentry-delete-delete' => '$1 a {{GENDER:$2|dhileas}} an folen $3',
+'logentry-move-move' => '$1 {{GENDER:$2|a wayas}} an folen $3 dhe $4',
+'logentry-move-move-noredirect' => '$1 {{GENDER:$2|a wayas}} an folen $3 dhe $4 heb gasa daskedyans',
+'logentry-move-move_redir' => '$1 {{GENDER:$2|a wayas}} an folen $3 dhe $4 dres daskedyans',
 
 # Search suggestions
 'searchsuggest-search' => 'Hwilas',
index 9bb3544..cf33954 100644 (file)
@@ -682,7 +682,6 @@ IP дарегиңиз бул барактын оңдоо тарыхына жаз
 'searchmenu-legend' => 'Издөө опциялары',
 'searchmenu-exists' => "'''Бул Уикиде \"[[:\$1]]\" деп аталган барак бар.'''",
 'searchmenu-new' => "'''Бул Уикиде \"[[:\$1]]\" барагын түз!'''",
-'searchhelp-url' => 'Help:Мазмун',
 'searchprofile-articles' => 'Негизги барактар',
 'searchprofile-project' => 'Жардам жана долбоор барактары',
 'searchprofile-images' => 'Мултимедиа',
index c7d808e..d2ee411 100644 (file)
@@ -571,7 +571,7 @@ Plurimas non licet creare. Ergo, ex hoc loco IP rationes plurimas hodie creari n
 'emailauthenticated' => 'Tua inscriptio electronica recognita est $3, $2.',
 'emailconfirmlink' => 'Inscriptionem tuam electronicam adfirmare',
 'accountcreated' => 'Ratio creata',
-'accountcreatedtext' => 'Ratio pro usore $1 creata est.',
+'accountcreatedtext' => 'Ratio pro usore [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|disputatio]]) creata est.',
 'createaccount-title' => 'Ratio creata apud {{grammar:accusative|{{SITENAME}}}}',
 'createaccount-text' => 'Aliquis creavit rationem pro inscriptione electronica tua apud {{grammar:accusative|{{SITENAME}}}} ($4). Nomen usoris est "$2" et tessera est "$3". Conventum aperias et statim tesseram tuam mutes.
 
@@ -853,7 +853,6 @@ Titulus: '''({{int:cur}})''' = dissimilis ab emendatione novissima,
 'searchmenu-legend' => 'Optiones',
 'searchmenu-exists' => "'''Iam est pagina \"[[:\$1]]\"'''",
 'searchmenu-new' => "'''Creare paginam \"[[:\$1]]\"'''",
-'searchhelp-url' => 'Help:Adiutatum',
 'searchprofile-articles' => 'Paginae contentorum',
 'searchprofile-project' => 'Paginae adiutati et incepti',
 'searchprofile-images' => 'Multimedia',
index 9cdcb10..786104e 100644 (file)
@@ -670,7 +670,6 @@ Leyenda: (act) = diferencias con la versión actual,
 'viewprevnext' => 'Ver ($1 {{int:pipe-separator}} $2) ($3).',
 'searchmenu-exists' => 'Egziste una oja yamada "[[:$1]]" en esta viki',
 'searchmenu-new' => "'''Crîar la hoja «[[:$1]]» en esta viki!'''",
-'searchhelp-url' => 'Help:Ayudo',
 'searchprofile-articles' => 'Hojas de contènido',
 'searchprofile-project' => 'Hojas de ayudo y hojas de projeto',
 'searchprofile-images' => 'Multimedya',
index 58fd0d5..ef23c52 100644 (file)
@@ -382,6 +382,7 @@ $messages = array(
 'create-this-page' => 'Dës Säit uleeën',
 'delete' => 'Läschen',
 'deletethispage' => 'Dës Säit läschen',
+'undeletethispage' => 'Dës Säit restauréieren',
 'undelete_short' => '$1 {{PLURAL:$1|Versioun|Versioune}} restauréieren',
 'viewdeleted_short' => '{{PLURAL:$1|Eng geläschte Versioun|$1 geläscht Versioune}} weisen',
 'protect' => 'Spären',
@@ -584,6 +585,8 @@ $2',
 'namespaceprotected' => "Dir hutt net déi néideg Rechter fir d'Säiten am Nummraum '''$1''' ze änneren.",
 'customcssprotected' => "Dir hutt net d'Recht dës CSS-Säit z'änneren, well dorop déi perséinlech Astellunge vun engem anere Benotzer gespäichert sinn.",
 'customjsprotected' => "Dir hutt net d'Recht dës JavaScript-Säit z'änneren, well dorop déi perséinlech Astellunge vun engem anere Benotzer gespäichert sinn.",
+'mycustomcssprotected' => "Dir hutt net déi néideg Rechter fir dës CSS-Säit z'änneren.",
+'mycustomjsprotected' => "Dir hutt net déi néideg Rechter fir dës JavaScript-Säit z'änneren.",
 'ns-specialprotected' => 'Spezialsäite kënnen net verännert ginn.',
 'titleprotected' => "Eng Säit mat dësem Numm kann net ugeluecht ginn. Dës Spär gouf vum [[User:$1|$1]] gemaach deen als Grond ''$2'' uginn huet.",
 'filereadonlyerror' => 'De Fichier "$1" konnt net geännert ginn well de Repertoire vun de Fichieren "$2" nëmme geliest däerf ginn.
@@ -643,7 +646,7 @@ Vergiesst net fir Är [[Special:Preferences|{{SITENAME}} Astellungen]] z'ännere
 'userlogin-resetlink' => "Hutt Dir d'Detailer vun Ärem Login vergiess?",
 'userlogin-resetpassword-link' => 'Setzt Ärt Passwuert zréck',
 'helplogin-url' => 'Help:Aloggen',
-'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Hëllef beim aloggen]]',
+'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Hëllef beim Aloggen]]',
 'createacct-join' => 'Gitt Är Informatioune hei drënner an.',
 'createacct-emailrequired' => 'E-Mailadress',
 'createacct-emailoptional' => 'E-Mailadress (fakultativ)',
@@ -718,7 +721,7 @@ Gitt eng valabel E-Mailadress an oder loosst dëst Feld eidel.',
 'cannotchangeemail' => 'Mailadresse vu Benotzerkonte kënnen op dëser Wiki net geännert ginn.',
 'emaildisabled' => 'Dëse Site ka keng Maile schécken.',
 'accountcreated' => 'De Kont gouf geschaf',
-'accountcreatedtext' => 'De Benotzerkont fir $1 gouf geschaf.',
+'accountcreatedtext' => 'De Benotzerkont fir [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|Diskussioun]]) gouf geschaf.',
 'createaccount-title' => 'Opmaache vun engem Benotzerkont op {{SITENAME}}',
 'createaccount-text' => 'Et gouf e Benotzerkont "$2" fir Iech op {{SITENAME}} ($4) ugeluecht mat dem Passwuert "$3".
 Dir sollt Iech aloggen an Äert Passwuert elo änneren.
@@ -1245,7 +1248,6 @@ Detailer fannt Dir am [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}
 'searchmenu-legend' => 'Sichoptiounen',
 'searchmenu-exists' => "* Säit '''[[$1]]'''",
 'searchmenu-new' => "'''Opmaache vun der Säit ''[[:$1|$1]]'' op dëser Wiki!'''",
-'searchhelp-url' => 'Help:Inhalter',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|All Säite weisen, déi mat dem Begrëff ufänken nodeem Dir sicht]]',
 'searchprofile-articles' => 'Säite mat Inhalt',
 'searchprofile-project' => 'Hëllef a Projetssäiten',
@@ -1500,6 +1502,8 @@ Si muss manner wéi $1 {{PLURAL:$1|Zeechen|Zeechen}} hunn.',
 'right-editusercssjs' => 'Anere Benotzer hir CSS a JS Fichieren änneren',
 'right-editusercss' => 'Anere Benotzer hir CSS Fichieren änneren',
 'right-edituserjs' => 'Anere Benotzer hir JavaScript Fichieren änneren',
+'right-editmyusercss' => 'Är eegen CSS-Fichieren änneren',
+'right-editmyuserjs' => 'Är eege JavaScript-Fichieren änneren',
 'right-rollback' => "Ännerunge vum läschte Benotzer vun enger spezieller Säit séier z'récksetzen ''(rollback)''",
 'right-markbotedits' => 'Annuléiert Ännerungen als Botännerunge weisen',
 'right-noratelimit' => 'Net limitéiert duerch Zäitlimitatiounen um Server',
@@ -1748,6 +1752,7 @@ Wann de Problem weider besteet, dann un de [[Special:ListUsers/sysop|Administrat
 'backend-fail-stream' => 'De Fichier $1 konnt net iwwerdroe ginn.',
 'backend-fail-backup' => 'De Fichier $1 konnt net geséchert ginn.',
 'backend-fail-notexists' => 'De Fichier $1 gëtt et net.',
+'backend-fail-hashes' => "Et konnt net all 'hash' fonnt gi fir ze vergläichen.",
 'backend-fail-notsame' => 'Et gëtt schonn en net-identesche Fichier op $1.',
 'backend-fail-invalidpath' => '$1 ass keng valabel Plaz fir ze späicheren.',
 'backend-fail-delete' => 'De Fichier $1 konnt net geläscht ginn.',
@@ -1763,6 +1768,7 @@ Wann de Problem weider besteet, dann un de [[Special:ListUsers/sysop|Administrat
 'backend-fail-create' => 'De Fichier $1 konnt net geschriwwe ginn.',
 'backend-fail-maxsize' => 'De Fichier $1 konnt net geschriwwe gi well e méi grouss ass wéi {{PLURAL:$2|ee Byte|$2 Byten}}.',
 'backend-fail-readonly' => 'De Späicher-Backend "$1" kann elo nëmme geliest ginn (read-only). De Grond deen ugi gouf war: "$2"',
+'backend-fail-synced' => 'De Fichier "$1" ass an den internen Späichersystemer am Hannergrond an engem net konsistenten Zoustand',
 'backend-fail-connect' => 'Keng Verbindung mam Backend vum Späicher "$1".',
 'backend-fail-internal' => 'Onbekannte Feeler am Backend vum Späicher: "$1"',
 
index 85d36e0..7b1b492 100644 (file)
@@ -550,7 +550,6 @@ $messages = array(
 'searchmenu-legend' => 'Жагъурунин низамарунар',
 'searchmenu-exists' => "'''И вики-проектда \"[[:\$1]]\" тlвар алай ччин ава.'''",
 'searchmenu-new' => "'''И вики-проектда \"[[:\$1]]\" ччин туькlуьрун !'''",
-'searchhelp-url' => 'Help:КЪене авайбур',
 'searchprofile-articles' => 'Асул ччинар',
 'searchprofile-project' => 'Куьмек гунин ва проектдин ччинар',
 'searchprofile-images' => 'Мультимедиа',
index 909dea4..7fa3d3f 100644 (file)
@@ -436,7 +436,6 @@ La arcivo de sutraes per esta paje es asi per conveni:",
 'prevn' => '{{PLURAL:$1|$1}} presedente',
 'nextn' => '{{PLURAL:$1|$1}} seguente',
 'viewprevnext' => 'Vide ($1 {{int:pipe-separator}} $2) ($3)',
-'searchhelp-url' => 'Help:Contenis',
 'search-result-size' => '$1 ({{PLURAL:$2|1 parola|$2 parolas}})',
 'search-section' => '(sesion $1)',
 'search-interwiki-default' => 'Resultas de $1:',
index 7f14e50..532ff9c 100644 (file)
@@ -521,10 +521,8 @@ Oyinz'okuba nga wamaze okutegeka ekya ddala ekipya oba nga wakasabayo eky'ekisee
 
 # Special:PasswordReset
 'passwordreset' => 'Damu okutegeka ekyama',
-'passwordreset-text' => "Oba oyagala okufuna 'email' ekujjukiza ebikwata ku akawunti yo, jjuza foomu eno.",
 'passwordreset-legend' => 'Damu okutegeka ekyama',
 'passwordreset-disabled' => "Eby'okuddamu okutegeka ebyama biymirizidwa ku wiki eno.",
-'passwordreset-pretext' => '{{PLURAL:$1||Wandika wo kimu ku ebiri mu lukalala}}',
 'passwordreset-username' => "Ery'obwa memba:",
 'passwordreset-email' => "Endagiriro eya 'email':",
 'passwordreset-emailtitle' => "Ebya akawunti ey'oku {{SITENAME}}",
@@ -825,7 +823,6 @@ oba ku gano agali ku lupapula luno.<br />
 'searchmenu-legend' => 'Kyusamu ennoonya',
 'searchmenu-exists' => "'''Olupapula \"[[:\$1]]\" gyeruli ku wiki eno.'''",
 'searchmenu-new' => "'''Oba oyagala, olupapula \"[[:\$1]]\" gwe osobola okulukolawo ku wiki eno.'''",
-'searchhelp-url' => 'Help:Endagiriro',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Kebera mu mpapula eziriko akatandikwa kano]]',
 'searchprofile-articles' => "Empapula ez'ensonga",
 'searchprofile-project' => "Empapula eziriko obuyambi n'eza Kawefube",
index 5ce6bb4..439ba6b 100644 (file)
@@ -667,10 +667,8 @@ Meugelik höbs doe dien wachwaord al gewiezig of 'n nuuj tiedelik wachwaord aang
 
 # Special:PasswordReset
 'passwordreset' => 'Wachwaord obbenuuts insjtèlle',
-'passwordreset-text' => "Völ dit form aan zodet weer dich 'ne mail kinne sjikk mit dien gebroekersgegaeves.",
 'passwordreset-legend' => 'Wachwaord obbenuuts insjtèlle',
 'passwordreset-disabled' => "'t Is hie neet meugelik óm die wachwaord óbbenuits in te sjtelle.",
-'passwordreset-pretext' => '{{PLURAL:$1||Veur ei van de vèljer hieónger in}}',
 'passwordreset-username' => 'Gebroekersnaam:',
 'passwordreset-domain' => 'Domein:',
 'passwordreset-capture' => 'Bekiek de resulterenden e-mail?',
@@ -1122,7 +1120,6 @@ Wees zeker det deze wieziging de gesjiedenisdoorloupendheid van de pagina zal be
 'searchmenu-legend' => 'Zeukopties',
 'searchmenu-exists' => "* Pagina '''[[$1]]'''",
 'searchmenu-new' => "'''De pagina \"[[:\$1]]\" aanmake op deze wiki'''",
-'searchhelp-url' => 'Help:Help',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Paginanaome mit dit veurveugsel weergaeve]]',
 'searchprofile-articles' => "Inhaudelike pagina's",
 'searchprofile-project' => "Help- en projekpagina's",
index a7d4106..c2205a5 100644 (file)
@@ -706,7 +706,6 @@ Legenda: (corr) = differense co-a verscion corrente, (prec) = differense co-a ve
 'viewprevnext' => 'Veddi ($1 {{int:pipe-separator}} $2) ($3).',
 'searchmenu-exists' => "'''Inte questa wiki gh'è za 'na pàgina co-o nómme \"[[:\$1]]\"'''",
 'searchmenu-new' => 'Crea a pagina "[[:$1]]" insce questo scito',
-'searchhelp-url' => 'Help:Contegnûi',
 'searchprofile-articles' => 'Pàgina di contegnûi',
 'searchprofile-project' => 'Pàgine de agiùtto e relative a-o progetto',
 'searchprofile-images' => 'Moltimedia',
index 2566cbf..ea7b31f 100644 (file)
@@ -606,7 +606,6 @@ Per infurmazion, varda ind el [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGE
 'viewprevnext' => 'Vidé ($1 {{int:pipe-separator}} $2) ($3).',
 'searchmenu-legend' => 'Upzión de ricerca',
 'searchmenu-new' => "'''Trà in pee la pagina \"[[:\$1]]\" ins quel sit chì!'''",
-'searchhelp-url' => 'Help:Contegnüü',
 'searchprofile-articles' => 'Paginn de cuntegnüü',
 'searchprofile-project' => 'Paginn de jüt e de pruget',
 'searchprofile-images' => 'Multimedia',
index a3898ea..1fc005e 100644 (file)
@@ -474,7 +474,6 @@ $messages = array(
 'prevn' => '{{PLURAL:$1|$1}} ກ່ອນໜ້າ',
 'nextn' => '{{PLURAL:$1|$1}} ຕໍ່ໄປ',
 'viewprevnext' => 'ເບິ່ງ ($1 {{int:pipe-separator}} $2) ($3).',
-'searchhelp-url' => 'Help:ເນື້ອໃນ',
 'search-result-size' => '$1 ({{PLURAL:$2|1 ຄຳ|$2 ຄຳ}})',
 'search-result-score' => 'ຄວາມກ່ຽວຂ້ອງ: $1%',
 'search-redirect' => '(ໂອນ $1)',
index 0295b8e..4d1895b 100644 (file)
@@ -453,7 +453,6 @@ Informasi: (bye) = petuho a nca selt,
 'prevn' => 'kona {{PLURAL:$1|$1}}',
 'nextn' => 'lila {{PLURAL:$1|$1}}',
 'viewprevnext' => 'Kamukile ($1 {{int:pipe-separator}} $2) ($3)',
-'searchhelp-url' => 'Help:Buinaneli di petulo',
 'searchall' => 'xete',
 'showingresults' => "Kamukile opi {{PLURAL:$1|'''1''' ekali|'''$1''' ekalina}} di #'''$2'''.",
 'showingresultsnum' => "Kamukile {{PLURAL:$3|'''1''' ekali|'''$3''' ekalina}} di #'''$2'''.",
index 7e122d4..076a5f3 100644 (file)
@@ -384,6 +384,7 @@ $messages = array(
 'create-this-page' => 'Sukurti šį puslapį',
 'delete' => 'Trinti',
 'deletethispage' => 'Ištrinti šį puslapį',
+'undeletethispage' => 'Attrinti šį puslapį',
 'undelete_short' => 'Atkurti $1 {{PLURAL:$1:redagavimą|redagavimus|redagavimų}}',
 'viewdeleted_short' => 'Peržiūrėti $1 {{PLURAL:$1|ištrintą keitimą|ištrintus keitimus|ištrintų keitimų}}',
 'protect' => 'Užrakinti',
@@ -576,13 +577,16 @@ Užklausa: $2',
 'viewsourcetext' => 'Jūs galite žiūrėti ir kopijuoti puslapio kodą:',
 'viewyourtext' => "Jūs galite matyti ir kopijuoti '''savo redagavimų''' tekstą į šį puslapį:",
 'protectedinterface' => 'Šiame puslapyje yra apsaugotas nuo piktnaudžiavimo programinės įrangos sąsajos tekstas.',
-'editinginterface' => "'''Dėmesio:''' Jūs redaguojate puslapį, kuris yra naudojamas programinės įrangos sąsajos tekste. Pakeitimai šiame puslapyje taip pat pakeis naudotojo sąsajos išvaizdą ir kitiems naudojams. Jei norite išversti, siūlome pasinaudoti [//translatewiki.net/wiki/Main_Page?setlang=lt „translatewiki.net“], „MediaWiki“ lokalizacijos projektu.",
+'editinginterface' => "'''Dėmesio:''' Jūs redaguojate puslapį, kuris yra naudojamas programinės įrangos sąsajos tekste. Pakeitimai šiame puslapyje taip pat pakeis naudotojo sąsajos išvaizdą ir kitiems naudotojams šiame wiki.
+Jei norite pridėti ir keisti vertimus, siūlome pasinaudoti [//translatewiki.net/wiki/Main_Page?setlang=lt „translatewiki.net“], „MediaWiki“ lokalizacijos projektu.",
 'sqlhidden' => '(SQL užklausa paslėpta)',
 'cascadeprotected' => 'Šis puslapis buvo apsaugotas nuo redagavimo, kadangi jis yra įtrauktas į {{PLURAL:$1|šį puslapį, apsaugotą|šiuos puslapius, apsaugotus}} „pakopinės apsaugos“ pasirinktimi:
 $2',
 'namespaceprotected' => "Jūs neturite teisės redaguoti puslapių '''$1''' srityje.",
 'customcssprotected' => 'Jūs neturite teisės keisti šį CSS puslapį, nes jame yra kito naudotojo asmeniniai nustatymai.',
 'customjsprotected' => 'Jūs neturite teisės keisti šį JavaScript puslapį, nes jame yra kito naudotojo asmeniniai nustatymai.',
+'mycustomcssprotected' => 'Jūs neturite teisės redaguoti šio CSS puslapio.',
+'mycustomjsprotected' => 'Jūs neturite teisės redaguoti šio JavaScript puslapio.',
 'ns-specialprotected' => 'Specialieji puslapiai negali būti redaguojami.',
 'titleprotected' => "[[User:$1|$1]] apsaugojo šį pavadinimą nuo sukūrimo.
 Nurodyta priežastis yra ''$2''.",
@@ -655,7 +659,10 @@ Nepamirškite pakeisti savo [[Special:Preferences|{{SITENAME}} nustatymų]].',
 'createacct-captcha' => 'Saugumo patikrinimas',
 'createacct-imgcaptcha-ph' => 'Įveskite tekstą, kurį matote aukščiau',
 'createacct-submit' => 'Sukurkite savo paskyrą',
+'createacct-benefit-heading' => '{{SITENAME}} sukurtas žmonių kaip jūs.',
+'createacct-benefit-body1' => '{{PLURAL:$1|keitimas|keitimai|keitimų}}',
 'createacct-benefit-body2' => '{{PLURAL:$1|puslapis|puslapiai}}',
+'createacct-benefit-body3' => 'Neseni {{PLURAL:$1|autorius|autoriai|autorių}}',
 'badretype' => 'Įvesti slaptažodžiai nesutampa.',
 'userexists' => 'Įvestasis naudotojo vardas jau naudojamas.
 Prašome pasirinkti kitą vardą.',
@@ -715,7 +722,7 @@ Prašome įvesti gerai suformuotą adresą arba palikite tą laukelį tuščią.
 'cannotchangeemail' => 'Paskyros e-mail adresas šiame viki negali būti keičiamas.',
 'emaildisabled' => 'Ši svetainė negali siųsti elektroninių laiškų.',
 'accountcreated' => 'Paskyra sukurta',
-'accountcreatedtext' => 'Naudotojo paskyra $1 buvo sukurta.',
+'accountcreatedtext' => 'Naudotojo paskyra [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|talk]]) buvo sukurta.',
 'createaccount-title' => '{{SITENAME}} paskyros kūrimas',
 'createaccount-text' => 'Projekte {{SITENAME}} ($4) kažkas sukūrė paskyrą „$2“ su slaptažodžiu „$3“ panaudodamas jūsų el. pašto adresą.
 Jūs turėtumėte prisijungti ir pasikeisti savo slaptažodį.
@@ -758,6 +765,7 @@ Jūs galbūt jau sėkmingai pakeitėte savo slaptažodį ar gavote naują laikin
 'passwordreset-text-many' => '{{PLURAL:$1|Įveskite vieną iš dalies duomenų, norėdami atkurti jūsų slaptažodį.}}',
 'passwordreset-legend' => 'Atstatyti slaptažodį',
 'passwordreset-disabled' => 'Slaptažodžių atstatymai šiame wikyje išjungti.',
+'passwordreset-emaildisabled' => 'El. pašto funkcijos uždraustos šiame wiki.',
 'passwordreset-username' => 'Naudotojo vardas:',
 'passwordreset-domain' => 'Domenas:',
 'passwordreset-capture' => 'Peržiūrėti galutinį e-mail laišką?',
@@ -775,8 +783,8 @@ Jūs turėtumėte prisijungti ir pasirinkti naują slaptažodį. Jei kažkas kit
 {{PLURAL:$3|Šis laikinas slaptažodis|Šie laikini slaptažodžiai}} baigs galioti po {{PLURAL:$5|vienos dienos|$5 dienų}}. Jūs turėtumėte prisijungti ir pasirinkti naują slaptažodį. Jei kažkas padarė tai be jūsų žinios arba jūs prisiminėte savo pirminį slaptažodį, ir jūs nebenorite jo pakeisti, galite ignoruoti šį pranešimą ir toliau naudotis savo senuoju slaptažodžiu.',
 'passwordreset-emailelement' => 'Naudotojo vardas: $1
 Laikinas slaptažodis: $2',
-'passwordreset-emailsent' => 'Priminimo laiškas buvo išsiųstas.',
-'passwordreset-emailsent-capture' => 'Priminimo e-mail laiškas bus pasiųstas, toks koks parodytas.',
+'passwordreset-emailsent' => 'Slaptažodžio priminimo laiškas buvo išsiųstas.',
+'passwordreset-emailsent-capture' => 'Slaptažodžio priminimo laiškas bus išsiųstas, toks koks parodytas.',
 'passwordreset-emailerror-capture' => 'Priminimo e-mail laiškas buvo sugeneruotas, toks koks parodytas, bet pasiuntimas naudotojui buvo nesėkmingas: $1',
 
 # Special:ChangeEmail
@@ -1218,7 +1226,6 @@ Prašome patikrinti sąrašus.',
 'searchmenu-legend' => 'Paieškos nustatymai',
 'searchmenu-exists' => "'''Puslapis pavadinimu „[[$1]]“ šioje wiki'''",
 'searchmenu-new' => "'''Sukurti puslapį „[[:$1]]“ šioje wiki!'''",
-'searchhelp-url' => 'Help:Turinys',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Ieškoti puslapių su šiuo priešdėliu]]',
 'searchprofile-articles' => 'Turinio puslapiai',
 'searchprofile-project' => 'Pagalbos ir projekto puslapiai',
@@ -1404,6 +1411,7 @@ teisės",
 'userrights-notallowed' => 'Jūsų paskyra neturi teisių priskirti ar panaikinti naudotojų teises.',
 'userrights-changeable-col' => 'Grupės, kurias galite keisti',
 'userrights-unchangeable-col' => 'Grupės, kurių negalite keisti',
+'userrights-conflict' => 'Naudotojo teisių konfliktas! Prašome dar kartą taikyti savo keitimus.',
 
 # Groups
 'group' => 'Grupė:',
@@ -1474,6 +1482,7 @@ teisės",
 'right-editusercssjs' => 'Redaguoti kitų naudotojų CSS ir JS failus',
 'right-editusercss' => 'Redaguoti kitų naudotojų CSS failus',
 'right-edituserjs' => 'Redaguoti kitų naudotojų JS failus',
+'right-editmyuserjs' => 'Redaguokite savo naudotojo vartotojo JavaScript failus',
 'right-rollback' => 'Greitai atmesti paskutinio naudotojo tam tikro puslapio pakeitimus',
 'right-markbotedits' => 'Žymėti atmestus keitimus kaip atliktus boto',
 'right-noratelimit' => 'Netaikyti greičio apribojimų',
@@ -2440,7 +2449,7 @@ $1',
 'mycontris' => 'Įnašai',
 'contribsub2' => 'Naudotojo $1 ($2)',
 'nocontribs' => 'Jokie keitimai neatitiko šių kriterijų.',
-'uctop' => ' (paskutinis)',
+'uctop' => '(dabartinis)',
 'month' => 'Nuo mėnesio (ir anksčiau):',
 'year' => 'Nuo metų (ir anksčiau):',
 
@@ -2834,6 +2843,7 @@ Išsaugokite jį savo kompiuteryje ir įkelkite jį čia.',
 'import-error-interwiki' => 'Puslapis "$1" nebuvo įkeltas, kadangi jo pavadinimas yra rezervuotas išorinei nuorodai (interviki).',
 'import-error-special' => 'Puslapis "$1" nebuvo įkeltas, kadangi jis priklauso specialiai vardų sričiai, kurioje yra negalimi puslapiai.',
 'import-error-invalid' => 'Puslapis "$1" nebuvo įkeltas, kadangi jo vardas yra neteisingas.',
+'import-rootpage-invalid' => 'Duotas šaknų puslapis yra blogas pavadinimas.',
 
 # Import log
 'importlogpage' => 'Importavimų sąrašas',
index 46d2694..bc2f25e 100644 (file)
@@ -386,7 +386,6 @@ n = nasvareigs lobuojums.',
 'prevn' => 'īprīškejuos {{PLURAL:$1|$1}}',
 'nextn' => 'nuokamuos {{PLURAL:$1|$1}}',
 'viewprevnext' => 'Apsavērt ($1 {{int:pipe-separator}} $2) ($3 vīnā lopā).',
-'searchhelp-url' => 'Help:Turīņs',
 'searchprofile-articles' => 'Rakstīņuos',
 'search-result-size' => '$1 ({{PLURAL:$2|$2 vuords|$2 vuordi|$2 vuordi}})',
 'search-redirect' => '(puoradresiešona nu $1)',
index 7bd9062..448cc8b 100644 (file)
@@ -503,7 +503,6 @@ I thurûk i thlâk hlawhtling tawh a nih loh pawhin thurûk lailâwk i dil a ni
 
 # Special:PasswordReset
 'passwordreset' => 'Thurûk ziakţha rawh',
-'passwordreset-text' => 'I thurûk thlâk turin ahnuaia lehkha khu dah khat ang che.',
 'passwordreset-legend' => 'Thurûk ziakţha rawh',
 'passwordreset-username' => 'Hmangtu hming:',
 'passwordreset-domain' => 'Huamchin:',
@@ -737,7 +736,6 @@ Lamtawi hmante: '''({{int:cur}})'''= ennawnna thar ber nena danglamna, '''({{int
 'searchmenu-legend' => 'Zawn duhthlanna',
 'searchmenu-exists' => "'''He wiki-ah hian \"[[:\$1]]\" tia koh phêk a awm.'''",
 'searchmenu-new' => "'''[[:$1]] phek hi he wiki-ah hian siam rawh le!'''",
-'searchhelp-url' => 'Help:A chhunga thu awmte',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|He thuhmabet nei phêkte hi zawng rawh]]',
 'searchprofile-articles' => 'A chhunga thu awm',
 'searchprofile-project' => 'Ţanpuina leh hna-hmachhawp phekte',
index c0510ca..3bddf58 100644 (file)
@@ -930,7 +930,6 @@ $1",
 'searchmenu-legend' => 'Meklēšanas iespējas',
 'searchmenu-exists' => "'''Šajā projektā ir raksts ar nosaukumu \"[[:\$1]]\"'''",
 'searchmenu-new' => "'''Izveido rakstu \"[[:\$1]]\" šajā projektā!'''",
-'searchhelp-url' => 'Help:Saturs',
 'searchprofile-articles' => 'Rakstos',
 'searchprofile-project' => 'Palīdzības un projektu lapās',
 'searchprofile-images' => 'Multivides failos',
index f3129ab..5538507 100644 (file)
@@ -1000,7 +1000,6 @@ $1",
 'searchmenu-legend' => '尋選',
 'searchmenu-exists' => "'''在此wiki中有頁為\"[[:\$1]]\"。'''",
 'searchmenu-new' => "'''在此wiki上建頁\"[[:\$1]]\"!'''",
-'searchhelp-url' => 'Help:目錄',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|查此首之頁]]',
 'searchprofile-articles' => '容',
 'searchprofile-project' => '助題',
index 66dd0af..2f9abe0 100644 (file)
@@ -990,7 +990,6 @@ $3 द्वारा देल कारण अछि ''$2''",
 'searchmenu-legend' => 'खोज विकल्प',
 'searchmenu-exists' => "'''ऐ विकीपर एकटा पन्ना अछि \"[[:\$1]]\" नामसँ।'''",
 'searchmenu-new' => "''' पन्ना निर्माण \"[[:\$1]]\" ऐ विकीपर !'''",
-'searchhelp-url' => 'Help: विषय सूची',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|ऐ उपसर्गक पन्ना सभकेँ देखू]]',
 'searchprofile-articles' => 'अनुक्रम पन्ना सभ',
 'searchprofile-project' => 'सहायता आ परियोजना पन्ना सभ',
index 2ecfa20..728e49f 100644 (file)
@@ -538,10 +538,8 @@ Rika ndeyan  uwis kasil ngganti tembung sandhine Rika utawa wis njaluk tembung s
 
 # Special:PasswordReset
 'passwordreset' => "Tembung sandhi di-''reset''",
-'passwordreset-text' => 'Lengkapi formulir kiye ben nampa imel ngelingna detil akune Rika.',
 'passwordreset-legend' => "Tembung sandhi di-''reset''",
 'passwordreset-disabled' => "''Reset'' tembung sandhi wis dipateni nang wiki kiye.",
-'passwordreset-pretext' => '{{PLURAL:$1||Lebokna salah siji data nang ngisor kiye}}',
 'passwordreset-username' => 'Jeneng panganggo:',
 'passwordreset-domain' => 'Domain:',
 'passwordreset-capture' => 'Deleng imel hasile?',
@@ -863,7 +861,6 @@ Gatèkna, angger nganggo pranala navigasi kuwe bakalan nge-reset kolom kiye.',
 'searchmenu-legend' => 'Pilihan panggoletan',
 'searchmenu-exists' => "''' Ana kaca nganggo jeneng \"[[:\$1]]\" nang wiki kiye.'''",
 'searchmenu-new' => "'''Gawe kaca \"[[:\$1]]\" nang wiki kiye!'''",
-'searchhelp-url' => 'Help:Isi',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Deleng daftar kaca sing nganggo tembung-wiwitan kiye]]',
 'searchprofile-articles' => 'Isine kaca',
 'searchprofile-project' => 'Kaca pitulung lan proyèk',
index 283a85f..0128166 100644 (file)
@@ -654,10 +654,8 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => 'Полафтомс сувама валцень',
-'passwordreset-text' => 'Эряви пяшкодемс тя формать е-сёрма сёрматфтомацень колга сявоманди.',
 'passwordreset-legend' => 'Полафтомс сувама валцень',
 'passwordreset-disabled' => 'Сувама валсь аф полафтови тя викить эса.',
-'passwordreset-pretext' => '{{PLURAL:$1||Тяштьк содама пялькснень эзда фкя алу}}',
 'passwordreset-username' => 'Тиить лемоц',
 'passwordreset-domain' => 'Домен:',
 'passwordreset-capture' => 'Ваномс мекольце е-сёрма?',
@@ -999,7 +997,6 @@ $3 макссь туфталсь - ''$2''",
 'searchmenu-legend' => 'Вешендема арафнематне',
 'searchmenu-exists' => "'''Тя Викиса ули лопась \"[[:\$1]]\" лем мархта'''",
 'searchmenu-new' => "'''Ушедомс лопась \"[[:\$1]]\" тя Викиса!'''",
-'searchhelp-url' => 'Help:Лопань потмоц',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Мумс лопат тя валынголькссь мархта]]',
 'searchprofile-articles' => 'Потмонь лопат',
 'searchprofile-project' => 'Лезкс эди проектонь лопат',
index eccb360..fe243b5 100644 (file)
@@ -1266,7 +1266,6 @@ $3 santiôna{{PLURAL:}} natsonika tamin'ny [[:$2]]",
 'searchmenu-legend' => 'Safidy mikasika ny fitadiavana',
 'searchmenu-exists' => "'''Misy pejy mitondra anarana « [[:$1]] » eto amin'ity wiki ity'''",
 'searchmenu-new' => "'''Hanamboatra ny pejy « [[:$1|$1]] » eto amin'ity wiki ity !'''",
-'searchhelp-url' => 'Help:Fanoroana',
 'searchmenu-prefix' => "[[Special:PrefixIndex/$1|Hitady pejy manomboka amin'io tovona io]]",
 'searchprofile-articles' => 'Pejy misy votoatiny',
 'searchprofile-project' => 'Pejy fanampiana sy pejy tetikasa',
index 8a0d9a5..e432b45 100644 (file)
@@ -529,7 +529,6 @@ $messages = array(
 'shown-title' => 'Лаштыкыште $1 {{PLURAL:$1|возымаш|возымашым}} ончыкташ',
 'viewprevnext' => 'Ончал ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-new' => "'''Тиде вики-проектыште «[[:$1]]» лӱман лаштыкым ышташ!'''",
-'searchhelp-url' => 'Help:Вуйлымаш',
 'searchprofile-articles' => 'Возымо лаштык-влак',
 'searchprofile-project' => 'Полыш да проект лаштык',
 'searchprofile-images' => 'Мультимедий',
@@ -636,7 +635,7 @@ $messages = array(
 'action-edit' => 'тиде лаштыкым тӧрлаташ',
 
 # Recent changes
-'nchanges' => '$1 {{PLURAL:$1|тӧрлатымаш|тӧрлатымаш-влак}}',
+'nchanges' => '$1 {{PLURAL:$1|тӧрлатымаш}}',
 'recentchanges' => 'Пытартыш тӧрлатымаш-влак',
 'recentchanges-legend' => 'Пытартыш тӧрлатымаш-влакын келыштарымашышт',
 'recentchanges-summary' => 'Тиде лаштыкыште пытартыш тӧрлатымашым шекланаш.',
@@ -669,7 +668,7 @@ $messages = array(
 'recentchangeslinked' => 'Ваш кылдалтше тӧрлатымаш-влак',
 'recentchangeslinked-feed' => 'Ваш кылдалтше тӧрлатымаш-влак',
 'recentchangeslinked-toolbox' => 'Ваш кылдалтше тӧрлатымаш-влак',
-'recentchangeslinked-title' => '"$1" лаштыклан кылдалтше тӧрлатымаш-влак',
+'recentchangeslinked-title' => '"$1" лаштык дене кылдалтше тӧрлатымаш-влак',
 'recentchangeslinked-noresult' => 'Ончыктымо пагытыште кылдалтше лаштыклаште вашталтыш лийын огыл.',
 'recentchangeslinked-summary' => "Это список недавних изменений в страницах, на которые ссылается указанная страница (или входящих в указанную категорию).
 Страницы, входящие в [[Special:Watchlist|ваш список наблюдения]] '''выделены'''.",
@@ -740,7 +739,7 @@ $messages = array(
 'statistics-views-peredit' => 'Ик тӧрлатымашлан ончымо',
 'statistics-users' => 'Регистрацийым эртыше [[Special:ListUsers|пайдаланыше-влак]]',
 'statistics-users-active' => 'Чӱчкыдын пайдаланыше-влак',
-'statistics-users-active-desc' => 'Пытартыш {{PLURAL:$1|кечыште|$1 кечыште}} иктаж-мом ыштыше пайаланыше-влак',
+'statistics-users-active-desc' => 'Ð\9fÑ\8bÑ\82аÑ\80Ñ\82Ñ\8bÑ\88 {{PLURAL:$1|кеÑ\87Ñ\8bÑ\88Ñ\82е|$1 ÐºÐµÑ\87Ñ\8bÑ\88Ñ\82е}} Ð¸ÐºÑ\82аж-мом Ñ\8bÑ\88Ñ\82Ñ\8bÑ\88е Ð¿Ð°Ð¹Ð´Ð°Ð»Ð°Ð½Ñ\8bÑ\88е-влак',
 'statistics-mostpopular' => 'Эн чӱчкыдын ончымо лаштык-влак',
 
 'brokenredirects' => 'Пудыртымо вес вере колтымаш-влак',
@@ -841,7 +840,7 @@ $messages = array(
 Пеҥгыдемде тидым [[{{MediaWiki:Policy-url}}|правил]] почеш ыштыметым да, мо тидын деч вара лиймым, умылыметым.',
 'actioncomplete' => 'Ыштыме',
 'deletedtext' => '«$1» шӧрымӧ.
\9eнÑ\87о $2 Ð¿Ñ\8bÑ\82аÑ\80Ñ\82Ñ\8bÑ\88 Ñ\88Ó§Ñ\80Ñ\8bмӧ-влак Ð»Ó±Ð¼ÐµÑ\80 Ð³Ñ\8bÑ\87.',
¨Ó§Ñ\80Ñ\8bмаÑ\88 Ð»Ó±Ð¼ÐµÑ\80 Ð³Ñ\8bÑ\87 $2лан Ð¾Ð½Ñ\87о.',
 'dellogpage' => 'Шӧрымӧ нерген журнал',
 'deletionlog' => 'шӧрымӧ нерген журнал',
 'deletecomment' => 'Амал:',
@@ -1017,7 +1016,7 @@ $messages = array(
 'tooltip-n-randompage' => 'Лаштыкым чокым ойыраш',
 'tooltip-n-help' => 'Википедийым кучылтмо да тӧрлатыме шотышто полшык.',
 'tooltip-t-whatlinkshere' => 'Тышке кондышо лаштык-влакын лӱмерышт',
-'tooltip-t-recentchangeslinked' => 'Тиде лаштык кылдалтше пытартыш тӧрлатымаш-влак',
+'tooltip-t-recentchangeslinked' => 'Тиде Ð»Ð°Ñ\88Ñ\82Ñ\8bк Ð´ÐµÐ½Ðµ ÐºÑ\8bлдалÑ\82Ñ\88е Ð¿Ñ\8bÑ\82аÑ\80Ñ\82Ñ\8bÑ\88 Ñ\82Ó§Ñ\80лаÑ\82Ñ\8bмаÑ\88-влак',
 'tooltip-feed-rss' => 'Тиде лаштыклан RSS-кыл',
 'tooltip-feed-atom' => 'Тиде лаштыклан Atom-кыл',
 'tooltip-t-contributions' => 'Пайдаланышын ыштыме пашажым ончалаш',
index 9ac8172..22a13b1 100644 (file)
@@ -645,7 +645,9 @@ Sanak mungkin alah berhasil mangganti kato sandi Sanak atau alah maminto kato sa
 'resetpass-abort-generic' => 'Parubahan kato sandi alah dibatalan dek ekstensi.',
 
 # Special:PasswordReset
-'passwordreset' => 'Setel ulang sandi',
+'passwordreset' => 'Setel ulang kato sandi',
+'passwordreset-text-one' => 'Lengkapkan formulir ko untuak manuka baliak kato sandi Sanak.',
+'passwordreset-text-many' => '{{PLURAL:$1|Masuakan data di bawah ko untuak manuka baliak kato sandi Sanak.}}',
 'passwordreset-legend' => 'Tuka baliak kato sandi',
 'passwordreset-disabled' => 'Pangubahan kato sandi alah dimatian di wiki iko.',
 'passwordreset-emaildisabled' => 'Fitur surel alah dimatian pado wiki iko.',
@@ -1090,7 +1092,6 @@ $1",
 'searchmenu-legend' => 'Atua pancarian',
 'searchmenu-exists' => "'''Ado laman nan banamo \"[[:\$1]]\" pado wiki ko.'''",
 'searchmenu-new' => "'''Buek laman \"[[:\$1]]\" di wiki ko!'''",
-'searchhelp-url' => 'Help:Isi',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Cari laman jo awalan ko]]',
 'searchprofile-articles' => 'Laman isi',
 'searchprofile-project' => 'Laman Bantuan jo Proyek',
index 6c7f0a6..80642c0 100644 (file)
@@ -552,6 +552,7 @@ $messages = array(
 'create-this-page' => 'Создај ја оваа страница',
 'delete' => 'Избриши',
 'deletethispage' => 'Избриши ја оваа страница',
+'undeletethispage' => 'обнови ја оваа страница',
 'undelete_short' => 'Врати {{PLURAL:$1|едно уредување|$1 уредувања}}',
 'viewdeleted_short' => 'Преглед на {{PLURAL:$1|едно избришано уредување|$1 избришани уредувања}}',
 'protect' => 'Заштити',
@@ -759,6 +760,8 @@ $2',
 'namespaceprotected' => "Немате дозвола за уредување страници во именскиот простор '''$1'''.",
 'customcssprotected' => 'Немате дозвола да ја менувате оваа страница со CSS бидејќи содржи туѓи лични нагодувања.',
 'customjsprotected' => 'Немате дозвола да ја менувате оваа страница со JavaScript  бидејќи содржи туѓи лични нагодувања.',
+'mycustomcssprotected' => 'Немате дозвола да ја уредувате оваа каскадна стилска страница (CSS).',
+'mycustomjsprotected' => 'Немате дозвола да ја уредувате оваа страница со JavaScript.',
 'ns-specialprotected' => 'Специјални страници не може да се уредуваат.',
 'titleprotected' => "Овој наслов од страна на [[User:$1|$1]] е заштитен и не може да се создаде.
 Причината за тоа е: ''$2''.",
@@ -896,7 +899,7 @@ $2',
 'cannotchangeemail' => 'На ова вики не може да се менува е-пошта на сметките.',
 'emaildisabled' => 'Ова мреж. место не може да праќа е-пошта.',
 'accountcreated' => 'Корисничката сметка е направена',
-'accountcreatedtext' => 'Корисничката сметка „$1“ е направена.',
+'accountcreatedtext' => 'Корисничкта сметка за [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|разговор]]) е направена.',
 'createaccount-title' => 'Создавање на сметка за {{SITENAME}}',
 'createaccount-text' => 'Некој направил сметка со вашата е-поштенска адреса на {{SITENAME}} ($4) со име „$2“ и  лозинка „$3“.
 Би требало сега да се пријавите и да ја промените вашата лозинка.
@@ -1436,7 +1439,6 @@ $1",
 'searchmenu-legend' => 'Нагодувања на пребарувањето',
 'searchmenu-exists' => "'''На ова вики има страница со наслов „[[:$1]]“'''",
 'searchmenu-new' => "Создајте ја страницата „[[:$1]]“ на ова вики!'''",
-'searchhelp-url' => 'Help:Содржина',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Прелистување на страници со оваа претставка]]',
 'searchprofile-articles' => 'Статии',
 'searchprofile-project' => 'Помош и проектни страници',
@@ -1697,6 +1699,8 @@ $1",
 'right-editusercssjs' => 'Уредување на CSS и JS податотеки на други корисници',
 'right-editusercss' => 'Уредување на CSS податотеки на други корисници',
 'right-edituserjs' => 'Уредување на JS податотеки на други корисници',
+'right-editmyusercss' => 'Уредување на сопствени кориснички каскадни стилски податотеки (CSS)',
+'right-editmyuserjs' => 'Уредување на сопствени кориснички податотеки со JavaScript',
 'right-rollback' => 'Брзо отповикување на уредувањата на последниот корисник што уредувал одредена страница',
 'right-markbotedits' => 'Означување на вратени уредувања како ботовски уредувања',
 'right-noratelimit' => 'Без временски ограничувања на уредување',
@@ -2722,7 +2726,7 @@ $1',
 'mycontris' => 'придонеси',
 'contribsub2' => 'За $1 ($2)',
 'nocontribs' => 'Не се пронајдени промени што одговараат на овој критериум.',
-'uctop' => ' (врв)',
+'uctop' => '(тековно)',
 'month' => 'Од месец (и порано):',
 'year' => 'Од година (и порано):',
 
index ccc9138..3fa85bf 100644 (file)
@@ -538,6 +538,7 @@ $messages = array(
 'create-this-page' => 'ഈ താൾ സൃഷ്ടിക്കുക',
 'delete' => 'മായ്ക്കുക',
 'deletethispage' => 'ഈ താൾ നീക്കം ചെയ്യുക',
+'undeletethispage' => 'ഈ താൾ പുനഃസ്ഥാപിക്കുക',
 'undelete_short' => '{{PLURAL:$1|ഒരു തിരുത്തൽ|$1 തിരുത്തലുകൾ}} പുനഃസ്ഥാപിക്കുക',
 'viewdeleted_short' => '{{PLURAL:$1|മായ്ക്കപ്പെട്ട ഒരു തിരുത്തൽ|മായ്ക്കപ്പെട്ട $1 തിരുത്തലുകൾ}} കാണുക',
 'protect' => 'സം‌രക്ഷിക്കുക',
@@ -1377,7 +1378,6 @@ $1",
 'searchmenu-legend' => 'തിരച്ചിൽ ഉപാധികൾ',
 'searchmenu-exists' => "'''\"[[:\$1]]\" എന്ന തലക്കെട്ടിൽ ഒരു താൾ ഈ വിക്കിയിൽ നിലവിലുണ്ട്'''",
 'searchmenu-new' => "'''ഈ വിക്കിയിൽ \"[[:\$1]]\" താൾ നിർമ്മിക്കുക!'''",
-'searchhelp-url' => 'Help:ഉള്ളടക്കം',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|ഈ പൂർവ്വപദങ്ങളുള്ള താളുകൾ ബ്രൗസ് ചെയ്യുക]]',
 'searchprofile-articles' => 'ലേഖനങ്ങളിൽ',
 'searchprofile-project' => 'സഹായം, പദ്ധതി താളുകളിൽ',
@@ -1434,7 +1434,7 @@ $1",
 'prefs-datetime' => 'ദിവസവും സമയവും',
 'prefs-labs' => 'പരീക്ഷണശാലയിൽ തയ്യാറാകുന്ന സൗകര്യങ്ങൾ',
 'prefs-user-pages' => 'ഉപയോക്തൃതാളുകൾ',
-'prefs-personal' => 'à´\85à´¹à´\82',
+'prefs-personal' => 'à´\8eà´¨àµ\8dà´¨àµ\86à´ªàµ\8dപറàµ\8dറി',
 'prefs-rc' => 'സമീപകാല മാറ്റങ്ങൾ',
 'prefs-watchlist' => 'ശ്രദ്ധിക്കുന്നവ',
 'prefs-watchlist-days' => 'ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടികയിൽ പ്രദർശിപ്പിക്കേണ്ട പരമാവധി ദിവസങ്ങൾ:',
index 1deb5ea..a1e4c09 100644 (file)
@@ -573,10 +573,8 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => 'Нууц үгийг сэргээх',
-'passwordreset-text' => 'Энэхүү маягтыг бөглөж хэрэглэгчийн мэдээллээ аваарай.',
 'passwordreset-legend' => 'Нууц үгээ сэргээх',
 'passwordreset-disabled' => 'Энэ вики-д нууц үгийг сэргээх боломжгүй байна.',
-'passwordreset-pretext' => '{{PLURAL:$1||Доорх өгөгдлийн аль нэг хэсгийг оруулна уу}}',
 'passwordreset-username' => 'Хэрэглэгчийн нэр:',
 'passwordreset-domain' => 'Домайн:',
 'passwordreset-capture' => 'Цахим шуудангийн нууц үг сэргээх шууданг үзэх',
@@ -1050,7 +1048,6 @@ $1",
 'searchmenu-legend' => 'Хайх сонголтууд',
 'searchmenu-exists' => "'''Энэ викид \"[[:\$1]]\" гэсэн хуудас байна'''",
 'searchmenu-new' => "'''Энэ викид \"[[:\$1]]\" гэсэн хуудсыг үүсгэх!'''",
-'searchhelp-url' => 'Help:Агуулга',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Энэ угтвартай хуудсуудыг гүйлгэж харах]]',
 'searchprofile-articles' => 'Агуулгын хуудсууд',
 'searchprofile-project' => 'Тусламжийн болон төслийн хуудсууд',
index c0d4672..6d1133d 100644 (file)
@@ -829,10 +829,8 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => 'परवलीचा शब्द पूर्ववत करा',
-'passwordreset-text' => 'तुमच्या खात्याच्या माहितीसंदर्भात विपत्राद्वारे अनुस्मारक येण्यासाठी हा अर्ज पूर्ण भरा.',
 'passwordreset-legend' => 'परवलीचा शब्द पूर्ववत करा',
 'passwordreset-disabled' => 'या विकिवर परवलीचा शब्द पुनर्स्थापित करता येत नाही.',
-'passwordreset-pretext' => '{{PLURAL:$1||खालील माहितीच्या भागांपैकी एक भाग लिहा}}',
 'passwordreset-username' => 'सदस्यनाव:',
 'passwordreset-domain' => 'डोमेन',
 'passwordreset-capture' => 'ईमेल कशी असेल ते बघायचेय ?',
@@ -1273,7 +1271,6 @@ $1",
 'searchmenu-legend' => 'विकल्प शोधा',
 'searchmenu-exists' => "'''या विकिवर \"[[:\$1]]\" या नावाचे पान आहे.'''",
 'searchmenu-new' => "'''या विकिवर \"[[:\$1]]\" हे पान तयार करा!'''",
-'searchhelp-url' => 'Help:साहाय्य पृष्ठ',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|या उपसर्गानिशी असलेली पाने न्याहाळा]]',
 'searchprofile-articles' => 'संबंधित पाने',
 'searchprofile-project' => 'साहाय्य व प्रकल्प पाने',
index 0040e09..563fc27 100644 (file)
@@ -1252,7 +1252,6 @@ Butirannya boleh didapati di [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGEN
 'searchmenu-legend' => 'Pilihan carian',
 'searchmenu-exists' => "* Laman '''[[$1]]'''",
 'searchmenu-new' => "'''Cipta laman \"[[:\$1]]\" di wiki ini!'''",
-'searchhelp-url' => 'Help:Kandungan',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Senarai laman dengan awalan ini]]',
 'searchprofile-articles' => 'Laman kandungan',
 'searchprofile-project' => 'Laman bantuan dan projek',
index a758a3f..4571d0c 100644 (file)
@@ -1259,7 +1259,6 @@ Nota li l-użu tal-links tan-navigazzjoni jagħmel reset tal-kolonna.",
 'searchmenu-legend' => 'Preferenzi għat-tfittxija',
 'searchmenu-exists' => "'''Hemm paġna bl-isem ta' \"[[:\$1]]\" fuq din il-wiki'''",
 'searchmenu-new' => "'''Oħloq il-paġna \"[[:\$1]]\" fuq din il-wiki!'''",
-'searchhelp-url' => 'Help:Kontenut',
 'searchmenu-prefix' => "[[Special:PrefixIndex/$1|Uri l-paġni b'dan il-prefiss]]",
 'searchprofile-articles' => "Paġni ta' kontenut",
 'searchprofile-project' => "Paġni ta' għajnuna u ta' proġett",
index 65a4423..5c9317a 100644 (file)
@@ -553,7 +553,6 @@ Legenda: (atu) = defrénças de la berson atual,
 'prevn' => 'anteriores {{PLURAL:$1|$1}}',
 'nextn' => 'próssimos {{PLURAL:$1|$1}}',
 'viewprevnext' => 'Ber ($1 {{int:pipe-separator}} $2) ($3)',
-'searchhelp-url' => 'Help:Conteúdos',
 'searchprofile-images' => 'Multimédia',
 'searchprofile-everything' => 'Todo',
 'searchprofile-advanced' => 'Abançado',
index 835bb30..8d000be 100644 (file)
@@ -667,7 +667,6 @@ Legend: '''({{int:cur}})''' = နောက်ဆုံးမူနှင့် 
 'searchmenu-legend' => 'ရှာဖွေရန် ရွေးချယ်မှု',
 'searchmenu-exists' => "'''ဤဝီကီတွင် \"[[:\$1]]\" အမည်နှင့် စာမျက်နှာတစ်ခုရှိသည်။'''",
 'searchmenu-new' => "'''ဤဝီကီတွင် \"[[:\$1]]\" အမည်နှင့် စာမျက်နှာကို ဖန်တီးပါ။'''",
-'searchhelp-url' => 'Help: မာတိကာ',
 'searchprofile-articles' => 'မာတိကာစာမျက်နှာများ',
 'searchprofile-project' => 'အကူအညီနှင့် ပရောဂျက်စာမျက်နှာများ',
 'searchprofile-images' => 'မာလတီမီဒီယာ',
index 0d86814..a2099d5 100644 (file)
@@ -853,7 +853,6 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 'searchmenu-legend' => 'Вешнемань аравтомкат',
 'searchmenu-exists' => "'''Те викисэнть ули \"[[\$1]]\" лем марто лопа'''",
 'searchmenu-new' => "'''Шкик \"[[:\$1]]\" лопанть те викисэнть!'''",
-'searchhelp-url' => 'Help:Лопась мезе кирди',
 'searchprofile-articles' => 'Потмокс лопат',
 'searchprofile-project' => 'Лезкс ды проекттэ лопат',
 'searchprofile-images' => 'Мультимедия',
index 5d8c441..49b7c42 100644 (file)
@@ -600,7 +600,6 @@ Hueliz ōmopolo huiqui nozo ōmozacac.
 'viewprevnext' => 'Xiquintta ($1 {{int:pipe-separator}} $2) ($3).',
 'searchmenu-exists' => "'''Ye ia zāzanilli ītōca \"[[\$1]]\" inīn huiquipan'''",
 'searchmenu-new' => "'''Tihuelīti ticchīhuāz zāzanilli ītōca \"[[:\$1]]\" inīn huiquipan'''",
-'searchhelp-url' => 'Help:Tlapiyaliztli',
 'searchprofile-articles' => 'Tlapiyaliztli zāzanilli',
 'searchprofile-project' => 'Tēpalēhuiliztli īhuān īxiptlahtli āmatl',
 'searchprofile-images' => 'Nepapan media',
index cc74533..0c31a1a 100644 (file)
@@ -589,7 +589,6 @@ Lí ê kái-piàn tī ē-kha ê bûn-jī-keh. Lí su-iàu chiōng lí chò ê k
 'nextn' => 'āu {{PLURAL:$1|$1}} hāng',
 'shown-title' => 'Múi ia̍h hián-sī $1 {{PLURAL:$1|kiat-kó|kiat-kó}}',
 'viewprevnext' => 'Khoàⁿ ($1 {{int:pipe-separator}} $2) ($3)',
-'searchhelp-url' => 'Help:Bo̍k-lio̍k',
 'searchprofile-articles' => 'Loē-iông ia̍h',
 'searchprofile-images' => 'To-mûi-thé',
 'searchprofile-everything' => 'Só͘-ū ê',
index 28141ba..3fb4b86 100644 (file)
@@ -517,6 +517,7 @@ $messages = array(
 'create-this-page' => 'Opprett denne siden',
 'delete' => 'Slett',
 'deletethispage' => 'Slett denne siden',
+'undeletethispage' => 'Legg tilbake siden',
 'undelete_short' => 'Gjenopprett {{PLURAL:$1|én revisjon|$1 revisjoner}}',
 'viewdeleted_short' => 'Vis {{PLURAL:$1|én slettet redigering|$1 slettede redigeringer}}',
 'protect' => 'Beskytt',
@@ -717,6 +718,8 @@ $2',
 'namespaceprotected' => "Du har ikke tillatelse til å redigere sider i navnerommet '''$1'''.",
 'customcssprotected' => 'Du har ikke tillatelse til å redigere denne CSS-siden fordi den inneholder en annen brukers personlige innstillinger.',
 'customjsprotected' => 'Du har ikke tillatelse til å redigere denne JavaScript-siden fordi den inneholder en annen brukers personlige innstillinger.',
+'mycustomcssprotected' => 'Du har ikke rettigheter til å redigere denne CSS-siden.',
+'mycustomjsprotected' => 'Du har ikke rettigheter til å redigere denne Javascript-siden.',
 'ns-specialprotected' => 'Spesialsider kan ikke redigeres.',
 'titleprotected' => "Denne tittelen har blitt låst for oppretting av [[User:$1|$1]].
 Den angitte grunnen er «''$2''».",
@@ -847,7 +850,7 @@ Skriv inn en fungerende e-postadresse eller tøm feltet.',
 'cannotchangeemail' => 'E-postadresser knyttet til brukerkontoer kan ikke endres på denne wikien.',
 'emaildisabled' => 'Dette nettstedet kan ikke sende e-poster.',
 'accountcreated' => 'Konto opprettet',
-'accountcreatedtext' => 'Brukerkontoen for $1 har blitt opprettet.',
+'accountcreatedtext' => 'Brukerkontoen for [[{{ns:Bruker}}:$1|$1]] ([[{{ns:Brukerdiskusjon}}:$1|diskusjon]]) har blitt opprettet.',
 'createaccount-title' => 'Kontooppretting på {{SITENAME}}',
 'createaccount-text' => 'Noen opprettet en konto for din e-postadresse på {{SITENAME}} ($4) med navnet «$2», med «$3» som passord. Du burde logge inn og endre passordet nå.
 
@@ -1378,7 +1381,6 @@ Detaljer kan finnes i [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}
 'searchmenu-legend' => 'Søkeinnstillinger',
 'searchmenu-exists' => "* Siden '''[[$1]]'''",
 'searchmenu-new' => "'''Opprett siden ''[[:$1]]'' på denne wikien.'''",
-'searchhelp-url' => 'Help:Hjelp',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Vis alle sider som begynner med dette]]',
 'searchprofile-articles' => 'Innholdssider',
 'searchprofile-project' => 'Hjelp- og prosjektsider',
@@ -1635,6 +1637,8 @@ Den kan maks inneholde $1 {{PLURAL:$1|tegn|tegn}}.',
 'right-editusercssjs' => 'Redigere andre brukeres CSS- og JS-filer',
 'right-editusercss' => 'Redigere andre brukeres CSS-filer',
 'right-edituserjs' => 'Redigere andre brukeres JS-filer',
+'right-editmyusercss' => 'Rediger dine egne CSS-filer',
+'right-editmyuserjs' => 'Rediger dine egne Javascript-filer',
 'right-rollback' => 'Raskt tilbakestille den siste brukeren som har redigert en gitt side',
 'right-markbotedits' => 'Markere tilbakestillinger som robotredigeringer',
 'right-noratelimit' => 'Påvirkes ikke av hastighetsgrenser',
index a8fa3d8..f402eef 100644 (file)
@@ -1085,7 +1085,6 @@ Seh to, dat de Versionsgeschicht vun’n Artikel vun de Historie her bi de Reeg
 'searchmenu-legend' => 'Söökoptionen',
 'searchmenu-exists' => "* Sied '''[[$1]]'''",
 'searchmenu-new' => "'''Stell de Sied „[[:$1]]“ in dit Wiki nee op!'''",
-'searchhelp-url' => 'Help:Hülp',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Wies Sieden, de mit disse Bookstaven anfangt]]',
 'searchprofile-articles' => 'Inholdsieden',
 'searchprofile-project' => 'Hülp- un Projektsieden',
index d339b04..28f1b48 100644 (file)
@@ -839,10 +839,8 @@ Misschien he'j t wachtwoord al ewiezigd of n niej veurlopig wachtwoord an-evreug
 
 # Special:PasswordReset
 'passwordreset' => 'Wachtwoord opniej instellen',
-'passwordreset-text' => 'Vul dit formulier in zoda-w joe netpost kunnen sturen mit de gebrukersgegevens.',
 'passwordreset-legend' => 'Wachtwoord opniej instellen',
 'passwordreset-disabled' => 'Je kunnen op disse wiki joew wachtwoord niet opniej instellen.',
-'passwordreset-pretext' => '{{PLURAL:$1||Voer één van de onderstaonde velden in}}',
 'passwordreset-username' => 'Gebruker:',
 'passwordreset-domain' => 'Domein:',
 'passwordreset-capture' => 'De resulterende netpost bekieken?',
@@ -1315,7 +1313,6 @@ Waorschienlik ku'j der meer gegevens over vienen in t [{{fullurl:{{#Special:Log}
 'searchmenu-legend' => 'Zeukopsies',
 'searchmenu-exists' => "'''Der is n zied mit de naam \"[[:\$1]]\" op disse wiki.'''",
 'searchmenu-new' => "'''De zied \"[[:\$1]]\" op disse wiki anmaken!'''",
-'searchhelp-url' => 'Help:Inhold',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Ziednamen mit dit veurvoegsel laoten zien]]',
 'searchprofile-articles' => 'Artikels',
 'searchprofile-project' => 'Hulp- en projektziejen',
index 5b2ad6e..d4e6063 100644 (file)
@@ -575,10 +575,8 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => 'प्रवेशशव्द पुनः तय गर्ने',
-'passwordreset-text' => 'तपाईंको खाता-विवरणको  इमेल अनुस्मारक प्राप्त गर्न यो फारम पूरा गर्नुहोस्।',
 'passwordreset-legend' => 'प्रवेशशव्द पुनः तय गर्ने',
 'passwordreset-disabled' => 'प्रवेश शव्द पुनः निर्धारण गर्ने व्यवस्था यस विकिमा निस्क्रिय पारिएको छ।',
-'passwordreset-pretext' => '{{PLURAL:$1||तल दिएका आँकड़ाका टुकुरा मध्ये एउटा प्रविष्ट गर्नुहोस्}}',
 'passwordreset-username' => 'प्रयोगकर्ता-नाम:',
 'passwordreset-domain' => 'डोमेन',
 'passwordreset-capture' => 'निस्कने इमेलको नमुना हेर्ने ?',
@@ -1020,7 +1018,6 @@ $1",
 'searchmenu-legend' => 'खोज विकल्प',
 'searchmenu-exists' => "''' \"[[:\$1]]\" नाम गरेको पृष्ठ  यो विकीमा रहेको छ'''",
 'searchmenu-new' => "'''यस विकिमा  \"[[:\$1]]\" शीर्षक भएको पृष्ठ बनाउनुहोस् !'''",
-'searchhelp-url' => 'Help:सामग्री',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|पृष्ठहरु प्रिफिक्सले हेर्नुहोस् ]]',
 'searchprofile-articles' => 'सामग्री पृष्ठहरु',
 'searchprofile-project' => 'सहायता र आयोजना पृष्ठहरु',
index 766082b..6842051 100644 (file)
@@ -768,6 +768,8 @@ $2",
 'namespaceprotected' => "U hebt geen rechten om pagina's in de naamruimte '''$1''' te bewerken.",
 'customcssprotected' => 'U kunt deze CSS-pagina niet bewerken, omdat die persoonlijke instellingen van een andere gebruiker bevat.',
 'customjsprotected' => 'U kunt deze JavaScriptpagina niet bewerken, omdat die persoonlijke instellingen van een andere gebruiker bevat.',
+'mycustomcssprotected' => 'U hebt geen rechten om deze CSS-pagina te bewerken.',
+'mycustomjsprotected' => 'U hebt geen rechten om deze JavaScriptpagina te bewerken.',
 'ns-specialprotected' => 'Pagina\'s in de naamruimte "{{ns:special}}" kunnen niet bewerkt worden.',
 'titleprotected' => "Het aanmaken van deze pagina is beveiligd door [[User:$1|$1]].
 De gegeven reden is ''$2''.",
@@ -912,7 +914,7 @@ Geef een geldig e-mailadres op of laat het veld leeg.',
 'cannotchangeemail' => 'Het e-mailadres voor een gebruiker kan op deze wiki niet gewijzigd worden.',
 'emaildisabled' => 'Deze site kan geen e-mails verzenden.',
 'accountcreated' => 'Gebruiker aangemaakt',
-'accountcreatedtext' => 'De gebruiker $1 is aangemaakt.',
+'accountcreatedtext' => 'De gebruiker [[{{ns:User}}:$1|$1]] is aangemaakt.',
 'createaccount-title' => 'Gebruikers registreren voor {{SITENAME}}',
 'createaccount-text' => 'Iemand heeft een gebruiker op {{SITENAME}} ($4) aangemaakt met de naam "$2" en uw e-mailadres.
 Het wachtwoord voor "$2" is "$3".
@@ -1456,7 +1458,6 @@ Probeer een andere zoekopdracht.',
 'searchmenu-legend' => 'Zoekopties',
 'searchmenu-exists' => "* Pagina '''[[$1]]'''",
 'searchmenu-new' => "'''De pagina \"[[:\$1]]\" aanmaken op deze wiki.'''",
-'searchhelp-url' => 'Help:Inhoud',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Paginanamen met dit voorvoegsel weergeven]]',
 'searchprofile-articles' => "Inhoudelijke pagina's",
 'searchprofile-project' => "Hulp- en projectpagina's",
@@ -1718,6 +1719,8 @@ Als u deze opgeeft, kan deze naam gebruikt worden om u erkenning te geven voor u
 'right-editusercssjs' => 'De CSS- en JS-bestanden van andere gebruikers bewerken',
 'right-editusercss' => 'De CSS-bestanden van andere gebruikers bewerken',
 'right-edituserjs' => 'De JavaScriptbestanden van andere gebruikers bewerken',
+'right-editmyusercss' => "Uw eigen CSS-pagina's bewerken",
+'right-editmyuserjs' => "Uw eigen JavaScriptpagina's bewerken",
 'right-rollback' => 'Snel de laatste bewerking(en) van een gebruiker van een pagina terugdraaien',
 'right-markbotedits' => 'Teruggedraaide bewerkingen markeren als botbewerkingen',
 'right-noratelimit' => 'Tijdsafhankelijke beperkingen negeren',
index ecdbac5..c0e2261 100644 (file)
@@ -1338,7 +1338,6 @@ Detaljar kan ein finna i [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE
 'searchmenu-legend' => 'Søkjeval',
 'searchmenu-exists' => "* Sida '''[[$1]]'''",
 'searchmenu-new' => "'''Opprett sida «[[:$1|$1]]» på denne wikien.'''",
-'searchhelp-url' => 'Help:Innhald',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Sjå gjennom alle sider med denne forstavinga]]',
 'searchprofile-articles' => 'Innhaldssider',
 'searchprofile-project' => 'Hjelp- og prosjektsider',
index 3aa00b7..1d8f6c8 100644 (file)
@@ -562,7 +562,6 @@ fetola tshenolo',
 'viewprevnext' => 'Lebelela ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-exists' => "'''Go ena le letlaka la leina la \"[[:\$1]]\" go wiki ye.'''",
 'searchmenu-new' => "'''Hlola letlakala \"[[:\$1]]\" go wiki ye!'''",
-'searchhelp-url' => 'Help:Mateng',
 'searchprofile-articles' => 'Matlakala a diteng',
 'searchprofile-project' => 'Thušo le matlaka a diprojeke',
 'searchprofile-images' => 'Diphatlalatši tša "multi"',
index 8d77cb9..8813b5a 100644 (file)
@@ -1280,7 +1280,6 @@ Asseguratz-vos qu'aqueste cambiament pòsca conservar la continuitat de l'istori
 'searchmenu-legend' => 'Opcions de recèrca',
 'searchmenu-exists' => "* Pagina '''[[$1]]'''",
 'searchmenu-new' => "'''Crear la pagina ''[[:$1|$1]]'' sus aqueste wiki !'''",
-'searchhelp-url' => 'Help:Acuèlh',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Recercar las paginas amb aqueste prefix]]',
 'searchprofile-articles' => 'Paginas de contengut',
 'searchprofile-project' => "Paginas d'ajuda e del projècte",
index 479063f..f1b18b2 100644 (file)
@@ -286,7 +286,7 @@ $messages = array(
 'tog-enotifminoredits' => 'ପୃଷ୍ଠାରେ ଏବଂ ଫାଇଲଗୁଡିକରେ ଛୋଟ ଛୋଟ ବଦଳ ହେଲେ ବି ମୋତେ ଇ-ମେଲ କରିବେ',
 'tog-enotifrevealaddr' => 'ସୂଚନା ଇମେଲ ରେ ମୋର ଇମେଲ ଠିକଣା ଦେଖାଇବେ',
 'tog-shownumberswatching' => 'ଦେଖୁଥିବା ବ୍ୟବହାରକାରୀଙ୍କ ସଂଖ୍ୟା ଦେଖାଇବେ',
-'tog-oldsig' => 'à¬\8fବà­\87 à¬¥à¬¿à¬¬à¬¾ à¬¨à¬¾à¬®:',
+'tog-oldsig' => 'à¬\8fବà­\87 à¬¥à¬¿à¬¬à¬¾ à¬¦à¬¸à­\8dତà¬\96ତ:',
 'tog-fancysig' => 'ଦସ୍ତଖତକୁ ଉଇକିଟେକ୍ସଟ ଭାବରେ ଗଣିବେ (ଆପେଆପେ ଥିବା ଲିଙ୍କ ବିନା)',
 'tog-showjumplinks' => '"ଡେଇଁଯିବେ" ଲିଙ୍କସବୁକୁ ସଚଳ କରିବେ',
 'tog-uselivepreview' => 'ସାଥେ ସାଥେ ଚାଲିଥିବା ଦେଖଣା ବ୍ୟବହାର କରିବେ (ଜାଭାସ୍କ୍ରିପ୍ଟ ଲୋଡ଼ା)',
@@ -687,7 +687,10 @@ $2',
 'yourpassword' => 'ପାସୱାର୍ଡ଼',
 'userlogin-yourpassword' => 'ପାସୱାର୍ଡ଼',
 'userlogin-yourpassword-ph' => 'ଆପଣଙ୍କ ପାସୱାର୍ଡ଼ ନିବେଶ କରନ୍ତୁ',
+'createacct-yourpassword-ph' => 'ପାସୱର୍ଡ଼ ନିବେଶ କରନ୍ତୁ',
 'yourpasswordagain' => 'ପାସୱାର୍ଡ଼ ଆଉଥରେ:',
+'createacct-yourpasswordagain' => 'ପାସୱର୍ଡ଼ ନିଶ୍ଚିତ କରିବେ',
+'createacct-yourpasswordagain-ph' => 'ପୁଣି ପାସୱର୍ଡ଼ ନିବେଶ କରନ୍ତୁ',
 'remembermypassword' => 'ଏହି ବ୍ରାଉଜରରେ (ସବୁଠୁ ଅଧିକ ହେଲେ $1 {{PLURAL:$1|day|ଦିନ}}) ପାଇଁ ମୋ ଲଗଇନ ମନେ ରଖିଥିବେ',
 'securelogin-stick-https' => 'ଲଗ ଇନ କଲାପରେ HTTPS ସହ ଯୋଡ଼ି ହୋଇ ରହନ୍ତୁ',
 'yourdomainname' => 'ଆପଣଙ୍କ ଡୋମେନ:',
@@ -708,8 +711,14 @@ $2',
 'gotaccount' => 'ଆଗରୁ ଖାତାଟିଏ ଅଛି କି? $1.',
 'gotaccountlink' => 'ଲଗ ଇନ',
 'userlogin-resetlink' => 'ଲଗଇନ ତଥ୍ୟ ସବୁ ଭୁଲିଗେଲେକି?',
+'createacct-emailrequired' => 'ଇମେଲ ଠିକଣା',
+'createacct-emailoptional' => 'ଇମେଲ ଠିକଣା (ଇଚ୍ଛାଧୀନ)',
+'createacct-email-ph' => 'ଆପଣଙ୍କ ଇମେଲ ଠିକଣା ନିବେଶ କରନ୍ତୁ',
 'createaccountmail' => 'ଗୋଟିଏ ସାମୟିକ ଜାହିତାହି ପାସୱାର୍ଡ ବ୍ୟବହାର କରନ୍ତୁ ଏବଂ ଏହାକୁ ତଳେ ଦିଆଯାଇଥିବା ଇ-ମେଲ ଠିକଣାକୁ ପଠେଇ ଦିଅନ୍ତୁ',
+'createacct-realname' => 'ପ୍ରକୃତ ନାମ (ଇଚ୍ଛାଧୀନ)',
 'createaccountreason' => 'କାରଣ:',
+'createacct-reason' => 'କାରଣ',
+'createacct-reason-ph' => 'ଆପଣ ଅନ୍ୟଏକ ଖାତା କାହିଁକି ତିଆରି କରୁଛନ୍ତି',
 'badretype' => 'ଆପଣ ଦେଇଥିବା ପାସବାର୍ଡ଼ଟି ମେଳଖାଉନାହିଁ ।',
 'userexists' => 'ଆପଣ ଦେଇଥିବା ଇଉଜର ନାମ ଆଗରୁ ଅଛି ।
 ଦୟାକରି ଅଲଗା ନାମଟିଏ ବାଛନ୍ତୁ ।',
@@ -812,11 +821,9 @@ continue using your old password.',
 
 # Special:PasswordReset
 'passwordreset' => 'ପାସୱାର୍ଡ଼ ପୁନସ୍ଥାପନ କରନ୍ତୁ',
-'passwordreset-text' => 'ନିଜ ପାସୱାର୍ଡ଼କୁ ପୁନଃସ୍ଥାପନ କରିବା ପାଇଁ ଏହି ଆବେଦନ ପତ୍ରଟି ପୂରଣ କରନ୍ତୁ ।',
 'passwordreset-legend' => 'ପାସୱାର୍ଡ଼ ପୁନସ୍ଥାପନ କରନ୍ତୁ',
 'passwordreset-disabled' => 'ପାସୱାର୍ଡ଼କୁ ପୁରାପୁରି ମୂଳକୁ ଫେରାଇବା ଏହି ଉଇକିରେ ଅଚଳ କରାଯାଇଅଛି ।',
 'passwordreset-emaildisabled' => 'ଏହି ଉଇକିରେ ଇମେଲ ସୁବିଧା ଅଚଳ କରାଯାଇଅଛି ।',
-'passwordreset-pretext' => '{{PLURAL:$1||ତଳେ ଥିବା ତଥ୍ୟସମୂହରୁ କୌଣସି ଗୋଟିଏ ଦିଅନ୍ତୁ}}',
 'passwordreset-username' => 'ବ୍ୟବହାରକାରୀଙ୍କ ନାମ:',
 'passwordreset-domain' => 'ଡୋମେନ:',
 'passwordreset-capture' => 'ଯାଉଥିବା ଇ-ମେଲଟି ଦେଖିବେ?',
@@ -1315,7 +1322,6 @@ $1",
 'searchmenu-legend' => 'ଖୋଜିବା ବିକଳ୍ପ',
 'searchmenu-exists' => "'''ଏହି ଉଇକିରେ \"[[:\$1]]\" ନାଆଁରେ ପୃଷ୍ଠାଟିଏ ଅଛି ।'''",
 'searchmenu-new' => "'''ଏହି ପ୍ରସଙ୍ଗଟି ଆଗରୁ ନାହିଁ, ତେଣୁ ''[[:$1]]'' ନାମରେ ପ୍ରସଙ୍ଗଟିଏ ଏଠାରେ ଗଢ଼ନ୍ତୁ!'''",
-'searchhelp-url' => 'Help:ସୂଚୀ',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|ଏହି ନାମ ଆଗରୁ ଥିବା ପୃଷ୍ଠାସବୁ ଖୋଜିବେ]]',
 'searchprofile-articles' => 'ସୂଚୀ ପୃଷ୍ଠା',
 'searchprofile-project' => 'ସାହାଯ୍ୟ ଓ ପ୍ରକଳ୍ପ ପୃଷ୍ଠା',
@@ -2324,8 +2330,8 @@ URLଟି ଠିକ ଅଚିକି କି ନାଁ ଓ ସାଇଟଟି ସ
 'notvisiblerev' => 'ଜଣେ ଅଲଗା ବ୍ୟବହାରକାରୀଙ୍କ ଦେଇ କରାଯାଇଥିବା ସେଶ ସଂସ୍କରଣଟି ଲିଭାଇଦିଆଗଲା ।',
 'watchnochange' => 'ଆପଣଙ୍କ ଦେଇ ଦେଖାଯାଇଥିବା ସମୟ ସୀମା ଭିତରେ କୌଣସିଟି ପୃଷ୍ଠାର ବଦଳ କରାଯାଇନାହିଁ ।',
 'watchlist-details' => 'ଆପଣଙ୍କ ଦେଖଣା ତାଲିକାରେ ଆଲୋଚନା ପୃଷ୍ଠାକୁ ଛାଡ଼ି {{PLURAL:$1|$1 ଟି ପୃଷ୍ଠା|$1 ଟି ପୃଷ୍ଠା}} ଅଛି ।',
-'wlheader-enotif' => 'ଇ-ମେଲ ସୂଚନାକୁ ସଚଳ କରାଗଲା ।',
-'wlheader-showupdated' => "à¬\86ପଣ à¬¶à­\87ଷଥର à¬¦à­\87à¬\96ିଥିବା à¬ªà­\83ଷà­\8dଠାà¬\97à­\81ଡ଼ିà¬\95 '''ମà­\8bà¬\9fା à¬\85à¬\95à­\8dଷର'''ରà­\87 à¬¦à­\87à¬\96ାଯାà¬\87ଅଛି ।",
+'wlheader-enotif' => 'ଇମେଲ ସୂଚନା ସଚଳ କରାଗଲା ।',
+'wlheader-showupdated' => "à¬\86ପଣ à¬¶à­\87ଷଥର à¬¦à­\87à¬\96ିଥିବା à¬ªà­\83ଷà­\8dଠାà¬\97à­\81ଡ଼ିà¬\95 '''ମà­\8bà¬\9fା à¬\85à¬\95à­\8dଷର'''ରà­\87 à¬¦à­\87à¬\96ାଯାà¬\89ଅଛି ।",
 'watchmethod-recent' => 'ଏଡଖାଯାଇଥିବା ପୃଷ୍ଠାର ନଗଦ ବଦଳ ପରଖୁଛୁଁ',
 'watchmethod-list' => 'ନଗଦ ବଦଳ ନିମନ୍ତେ ଦେଖାଯାଇଥିବା ପୃଷ୍ଠାମାନ ପରଖୁଛୁଁ',
 'watchlistcontains' => 'ଆପଣଙ୍କ ଦେଖଣାତାଲିକାରେ $1 {{PLURAL:$1|ଗୋଟି ପୃଷ୍ଠା|ଗୋଟି ପୃଷ୍ଠା}} ରହିଅଛି ।',
@@ -2576,7 +2582,7 @@ $1',
 'mycontris' => 'ଅବଦାନ',
 'contribsub2' => '$1 ($2) ପାଇଁ',
 'nocontribs' => 'ଏହି ନିର୍ଣ୍ଣାୟକବଳୀ ନିମନ୍ତେ କିଛି ବି ବଦଳ ମେଳ ଖାଇଲା ନାହିଁ ।',
-'uctop' => '(à¬\89ପର)',
+'uctop' => '(à¬\8fବà­\87à¬\95ାର)',
 'month' => 'ମାସରୁ (ଓ ତା ଆଗରୁ)',
 'year' => 'ବର୍ଷରୁ (ଆଉ ତା ଆଗରୁ)',
 
@@ -3961,9 +3967,9 @@ MediaWiki ଉପଯୋଗୀ ହେବା ଲକ୍ଷରେ ବଣ୍ଟାଯ
 'logentry-newusers-create' => 'ସଭ୍ୟ ଖାତା $1 ତିଆରି କରାଗଲା',
 'logentry-newusers-create2' => 'ସଭ୍ୟ ଖାତା $3ଟି $1 ଦ୍ଵାରା ତିଆରି କରାଗଲା',
 'logentry-newusers-byemail' => '$1ଙ୍କ ଦ୍ଵାରା $3 ବ୍ୟବହାରକାରୀ ଖାତାଟି ଖୋଳାଗଲା ଏବଂ ପାସୱାର୍ଡଟି ଇ-ମେଲ ଦ୍ଵାରା ପଠାଗଲା',
-'logentry-newusers-autocreate' => '$1 ଖାତାଟି ଆପେଆପେ ତିଆରିହେଲା',
+'logentry-newusers-autocreate' => 'ବ୍ୟବହାରକାରୀ ଖାତା $1 ଆପେଆପେ {{GENDER:$2|ତିଆରିହେଲା}}',
 'logentry-rights-rights' => '$1, $3 ପାଇଁ $4ରୁ $5କୁ ସଭ୍ୟପଦ ବଦଳାଇଲେ',
-'logentry-rights-rights-legacy' => '$1, $3 ପାଇଁ ଗୋଷ୍ଠୀ ସଭ୍ୟପଦ ବଦଳାଇଛି',
+'logentry-rights-rights-legacy' => '$1 ଗୋଷ୍ଠୀ ସଭ୍ୟପଦ $3 ପାଇଁ {{GENDER:$2|ବଦଳିଗଲା}}',
 'logentry-rights-autopromote' => '$1 ଆପେ ଆପେ $4ରୁ $5କୁ ଗଲେ',
 'rightsnone' => '(କିଛି ନାହିଁ)',
 
index 651f561..f1a4e9d 100644 (file)
@@ -1055,7 +1055,6 @@ ASCII нысæнттæм чи нæ хауы, уыдон ивыны бынаты
 'viewprevnext' => 'Кæсын ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-exists' => "'''Ацы викийы ис фарс \"[[:\$1]]\" номимæ.'''",
 'searchmenu-new' => "'''Сараз фарс \"[[:\$1]]\" ацы викийы!'''",
-'searchhelp-url' => 'Help:Мидис',
 'searchprofile-articles' => 'Мидисы фæрстæ',
 'searchprofile-project' => 'Æххуыс æмæ Проекты фæрстæ',
 'searchprofile-images' => 'Мультимеди',
index 3a4c5a0..8a6d866 100644 (file)
@@ -1054,7 +1054,6 @@ page={{FULLPAGENAMEE}}}} ਜ਼ਬਤੀ ਦੇ ਚਿੱਠੇ] ਵਿਚ ਵ
 'searchmenu-legend' => 'ਖੋਜ ਚੋਣਾਂ',
 'searchmenu-exists' => "'''ਇਸ ਵਿਕੀ ’ਤੇ \"[[:\$1]]\" ਨਾਮ ਦਾ ਸਫਾ ਹੈ।'''",
 'searchmenu-new' => "'''ਇਸ ਵਿਕੀ ’ਤੇ \"[[:\$1]]\" ਪੰਨਾ ਬਣਾਓ!'''",
-'searchhelp-url' => 'Help:ਸਮੱਗਰੀ',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|ਇਸ ਅਗੇਤਰ ਵਾਲ਼ੇ ਸਫ਼ੇ ਵੇਖੋ]]',
 'searchprofile-articles' => 'ਸਮੱਗਰੀ ਪੰਨੇ',
 'searchprofile-project' => 'ਮੱਦਦ ਤੇ ਪਰੋਜੈਕਟ ਸਫ਼ੇ',
index 94ce761..a71a4a7 100644 (file)
@@ -762,7 +762,6 @@ Tutuking $1 {{PLURAL:$1|result|results}}',
 'viewprevnext' => 'Lon ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-exists' => "'''Atin bulung a mikilagiung \"[[:\$1]]\" keng wiking ini.'''",
 'searchmenu-new' => "↓'''Maglalang kang bulung \"[[:\$1]] keng wiking ini!'''",
-'searchhelp-url' => 'Help:Kalamnan',
 'searchprofile-articles' => '↓Kalamnan bulung',
 'searchprofile-project' => '↓Saup ampong bulung proyectu',
 'searchprofile-images' => '↓Dakalmedia',
index f52d5d3..db97db2 100644 (file)
@@ -399,7 +399,6 @@ Paesswatt fer nau: $2',
 'nextn' => 'neegschte {{PLURAL:$1|$1}}',
 'viewprevnext' => 'Zeige ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-new' => "'''Schtaert des Blatt „[[:$1|$1]]“ uf dem Wiki.'''",
-'searchhelp-url' => 'Help:Hilf',
 'searchprofile-everything' => 'Abaddiche',
 'searchprofile-articles-tooltip' => 'Uffgucke in $1',
 'searchprofile-project-tooltip' => 'Uffgucke in $1',
index f5c0c57..d13deac 100644 (file)
@@ -58,11 +58,11 @@ $namespaceAliases = array(
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Lingg unnaschdraische',
-'tog-hideminor' => 'Va.schdegg klääne Be.arwaidunge',
-'tog-hidepatrolled' => 'Va.schdegg gsischdede Ännarunge',
+'tog-hideminor' => 'Vaschdegg klääne Bearwaidunge',
+'tog-hidepatrolled' => 'Vaschdegg gsischdede Ännarunge',
 'tog-extendwatchlist' => 'Zaisch alle Ännarunge unn ned nur die ledschde',
 'tog-showtoolbar' => "Wergzaisch fas Beawaide zaische (dodezu brauchd's JavaScript)",
-'tog-showjumplinks' => 'Schdellde "Hubs uff"-Lingg o',
+'tog-showjumplinks' => 'Schdellde "Hubs uff"-Lingg',
 'tog-showhiddencats' => 'Zaisch vaschdeglde Grubbe',
 
 'underline-always' => 'Imma',
@@ -77,10 +77,10 @@ $messages = array(
 'sunday' => 'Sundaach',
 'monday' => 'Mondaach',
 'tuesday' => 'Dienschdaach',
-'wednesday' => 'Midwoch',
+'wednesday' => 'Middwoch',
 'thursday' => 'Dunnaschdaach',
 'friday' => 'Fraidaach',
-'saturday' => 'Somschdaach',
+'saturday' => 'Sõmschdaach',
 'sun' => 'Su',
 'mon' => 'Mo',
 'tue' => 'Di',
@@ -126,21 +126,21 @@ $messages = array(
 'dec' => 'Dez',
 
 # Categories related messages
-'pagecategories' => '{{PLURAL:$1|Grubb|Grubbe}}',
-'category_header' => 'Saide in de Grubb „$1“',
+'pagecategories' => '{{PLURAL:$1|Sachgrubb|Sachgrubbe}}',
+'category_header' => 'Saide inde Sachgrubb „$1“',
 'subcategories' => 'Unnagrubbe',
-'category-media-header' => 'Medⁱje in dɐ Grubb „$1“',
-'category-empty' => '"Die Grubb hod kä Said odda Medije."',
-'hidden-categories' => '{{PLURAL:$1|Vaschdegldi Grubb|Vaschdeglde Grubbe}}',
+'category-media-header' => 'Medje indɐ Sachgrubb „$1“',
+'category-empty' => '"Die Sachgrubb hodd kä Said odda Medje."',
+'hidden-categories' => '{{PLURAL:$1|Vaschdegldi Sachgrubb|Vaschdeglde Sachgrubbe}}',
 'hidden-category-category' => 'Verschdegelde Grubbe',
-'category-subcat-count' => '{{PLURAL:$2|Die Grubb hod bloß die Unnagrubb.|Die Grubb hod {{PLURAL:$1|Unnagrubbe|$1 Unnagrubbe}},vun gsomd $2.}}',
-'category-article-count' => '{{PLURAL:$2|In dɐ Grubb hodds nua die Said.|Die {{PLURAL:$1|Said|$1 Saide}} gibbds inde Grubb, vun gsomd $2.}}',
-'category-file-count' => "{{PLURAL:$2|Die Grubb hod bloß ä Said.|Die {{PLURAL:$1|Said isch äni vun $2 Saide:|S'werren $1 vun gsomd $2 Saide gzaischd:}}}}",
-'listingcontinuesabbrev' => '(Fords.)',
+'category-subcat-count' => '{{PLURAL:$2|Die Sachgrubb hod die Unnagrubb.|Die Sachgrubb hod {{PLURAL:$1|Unnagrubb|$1 Unnagrubbe}},vun gsomd $2.}}',
+'category-article-count' => '{{PLURAL:$2|Indɐ Sachgrubb hodds die Said.|Die {{PLURAL:$1|Said|$1 Saide}} gibbds inde Sachgrubb, vun gsomd $2.}}',
+'category-file-count' => "{{PLURAL:$2|Die Sachgrubb hodd ä Said.|Die {{PLURAL:$1|Said isch änni vun $2 Saide:|S'werren $1 vun gsomd $2 Saide gzaischd:}}}}",
+'listingcontinuesabbrev' => '(Waida)',
 'noindex-category' => 'Saide, wu ned im Vazaischnis sinn',
 
 'about' => 'Iwwa',
-'newwindow' => '(werd inem naije Fenschda uffgmachd)',
+'newwindow' => '(werd innem naije Fenschda uffgmachd)',
 'cancel' => 'Abbresche',
 'moredotdotdot' => 'Mea …',
 'mypage' => 'Said',
@@ -161,13 +161,13 @@ $messages = array(
 'vector-action-move' => 'Vaschiewe',
 'vector-action-protect' => 'Schidze',
 'vector-action-undelete' => 'Zriggbringe',
-'vector-view-create' => 'Oleesche',
+'vector-view-create' => 'Õleesche',
 'vector-view-edit' => 'Beawaide',
 'vector-view-history' => 'Dadaigschischd',
 'vector-view-view' => 'Lese',
 'vector-view-viewsource' => 'Gwelltegschd zaische',
-'actions' => 'Maßnohme',
-'namespaces' => 'Nomensreum',
+'actions' => 'Maßnõhme',
+'namespaces' => 'Nõmensreum',
 'variants' => 'Tibbe',
 
 'errorpagetitle' => 'Irrdumm',
@@ -180,12 +180,12 @@ $messages = array(
 'searcharticle' => 'Ausfiare',
 'history' => 'Gschischd vunde Said',
 'history_short' => 'Gschischd',
-'printableversion' => 'Drugg-Asischd',
+'printableversion' => 'Drugg-Õsischd',
 'permalink' => 'Schdendischa Lingg',
 'print' => 'Drugge',
 'view' => 'Ogugge',
 'edit' => 'Beawaide',
-'create' => 'Aleesche',
+'create' => 'Õleesche',
 'editthispage' => 'Die Said beawaide',
 'delete' => 'Lesche',
 'deletethispage' => 'Lesch die Said',
@@ -205,10 +205,10 @@ $messages = array(
 'toolbox' => 'Wergzaischkischd',
 'categorypage' => 'Zaisch die Kadegorie',
 'viewtalkpage' => 'Zaischs Gbabbl',
-'otherlanguages' => 'In annare Schbroche',
+'otherlanguages' => 'In õnnare Schbroche',
 'redirectedfrom' => '(Nochgschiggd vun $1)',
 'redirectpagesub' => 'Nochschigg-Said',
-'lastmodifiedat' => 'Die Said ischs ledschde Mol gännad worre om $1, om $2.',
+'lastmodifiedat' => 'Die Said ischs ledschde Mol gännad worre õm $1, õm $2.',
 'viewcount' => 'Die Said isch bis jedz {{PLURAL:$1|$1|$1}} mol uffgrufe worre.',
 'protectedpage' => 'Said schidze',
 'jumpto' => 'Hubs uff:',
@@ -244,9 +244,9 @@ $messages = array(
 'newmessagesdifflink' => 'ledschdi Ännarung',
 'editsection' => 'beawaide',
 'editold' => 'beawaide',
-'viewsourceold' => 'Gwelltegschd ogugge',
+'viewsourceold' => 'Gwelltegschd õgugge',
 'editlink' => 'beawaide',
-'viewsourcelink' => 'Gwell aagugge',
+'viewsourcelink' => 'Gwell õgugge',
 'editsectionhint' => 'Deel ännare: $1',
 'toc' => 'Inhald',
 'showtoc' => 'zaische',
@@ -258,7 +258,7 @@ $messages = array(
 'site-atom-feed' => '$1 Atom-Feed',
 'page-rss-feed' => '"$1" RSS-Feed',
 'page-atom-feed' => '"$1" Atom-Feed',
-'red-link-title' => '$1 (Said gibbds ned)',
+'red-link-title' => '$1 (Said hodds nedd)',
 
 # Short words for each namespace, by default used in the namespace tab in monobook
 'nstab-main' => 'Said',
@@ -270,42 +270,42 @@ $messages = array(
 'nstab-mediawiki' => 'Middeelung',
 'nstab-template' => 'Vorlach',
 'nstab-help' => 'Unaschdidzung',
-'nstab-category' => 'Kadegorie',
+'nstab-category' => 'Sachgrubb',
 
 # General errors
 'error' => 'Irrdumm',
-'missing-article' => 'De Tegschd fa „$1“ $2 isch inde Daadebongg ned gfunne worre.
+'missing-article' => 'De Tegschd fa „$1“ $2 isch inde Daadebongg nedd gfunne worre.
 
 Noamalawees heeßd des, dass die Said gleschd worre isch.
 
-Wonnse des awwa ned isch, hoschd villaischdn Irddumm inde Daadebongg gfunne.
-Bidde meldsm [[Special:ListUsers/sysop|Adminischdrador]], un gebbde URL dzu aa.',
-'missingarticle-rev' => '(Versionsnummer#: $1)',
+Wonnse des awwa nedd isch, hoschd villaischdn Irdumm inde Daadebongg gfunne.
+Bidde meldsm [[Special:ListUsers/sysop|Adminischdrador]], un gebbde URL dzu õ.',
+'missingarticle-rev' => '(Ausgawenumma#: $1)',
 'badtitle' => 'Schleschde Didl',
-'badtitletext' => 'De Tidl vunde aagefordad Said isch nid gildisch, leer, oddan nid gildische Lingg vunem annare Wiki.
-S kann sai, dass es ää odda meh Zaische drin hod, wu im Tidl vunde Said nid gbrauchd werre dirfn.',
-'viewsource' => 'Gwelltegschd ogugge',
+'badtitletext' => 'De Tidl vunde õgfordad Said isch nedd gildisch, lea, oddan nedd gildische Lingg vunem õnnare Wiki.
+S konn soi, dasses ä odda mea Zaische drin hodd, wu im Tidl vunde Said nedd gbrauchd werre dirfn.',
+'viewsource' => 'Gwelltegschd õgugge',
 
 # Login and logout pages
 'welcomeuser' => 'Willkumme, $1!',
-'yourname' => 'Benudzernome:',
-'yourpassword' => 'Password:',
-'yourpasswordagain' => 'Password nomol oigewe:',
-'remembermypassword' => 'Mai Passwort uffm Computer merge (hegschdns fa $1 {{PLURAL:$1|Daach|Daach}})',
-'login' => 'Omelde',
-'nav-login-createaccount' => 'Amelde / Benudzerkondo aleesche',
-'loginprompt' => 'Cookies mugschd fa {{SITENAME}} schun ohawe.',
-'userlogin' => 'Omelde / Benudzerkondo oleesche',
+'yourname' => 'Middawaidanõme:',
+'yourpassword' => 'Kennword:',
+'yourpasswordagain' => 'Kennword nomol oigewe:',
+'remembermypassword' => 'Moi Kennword uffm Rechna merge (hegschdns fa $1 {{PLURAL:$1|Daach|Daach}})',
+'login' => 'Õmelde',
+'nav-login-createaccount' => 'Õmelde / Kondo õleesche',
+'loginprompt' => 'Cookies mugschd fa {{SITENAME}} schun õhawe.',
+'userlogin' => 'Õmelde / Kondo õleesche',
 'userloginnocreate' => 'Oilogge',
 'logout' => 'Uffhere',
 'userlogout' => 'Uffhere',
 'nologin' => 'Hoschd noch kä Kondo? $1',
-'nologinlink' => 'E Benudzerkondo aaleesche',
-'createaccount' => 'Bnudza oleesche',
+'nologinlink' => 'E Kondo õleesche',
+'createaccount' => 'Kondo õleesche',
 'gotaccount' => 'Hoschd schun ä Kondo? $1',
-'gotaccountlink' => 'Omelde',
+'gotaccountlink' => 'Õmelde',
 'userlogin-resetlink' => 'Hoschd doi Daade vagesse?',
-'mailmypassword' => 'Nais Passwort per E-Mail schigge',
+'mailmypassword' => 'Naijs Kennword iwwa E-Mail schigge',
 'loginlanguagelabel' => 'Schbrooch: $1',
 
 # Change password dialog
@@ -329,37 +329,39 @@ S kann sai, dass es ää odda meh Zaische drin hod, wu im Tidl vunde Said nid gb
 'extlink_tip' => 'Exderna Lingg (uff http:// uffbasse)',
 'headline_sample' => 'Schlaachzail',
 'headline_tip' => 'Iwwaschrifd Ewene 2',
-'nowiki_sample' => 'Gebb do en Tegschd ai, wu nit uffberaid werd',
+'nowiki_sample' => "Gebb do'n Tegschd oi, wu nedd uffberaid werd",
 'nowiki_tip' => 'Wiki-Formatierunge ned beachde',
 'image_tip' => 'Bildvawais',
 'media_tip' => 'Dadailingg',
-'sig_tip' => 'Dai Unnerschrifd mid ener Zaidaagab',
-'hr_tip' => 'Horizontale Linie (sparsam verwenne)',
+'sig_tip' => 'Doi Unnaschrifd midena Zaidõgawb',
+'hr_tip' => 'Waagreschdi Linje (schbaasõm vawende)',
 
 # Edit pages
 'summary' => 'Iwwabligg:',
 'subject' => 'Bedreff:',
-'minoredit' => 'Des isch e klänni Bearwaidung',
-'watchthis' => 'Die Said im Aach bhalde',
-'savearticle' => 'Said schbeichere',
+'minoredit' => 'Des ische glänni Beawaidung',
+'watchthis' => 'Die Said im Aach palde',
+'savearticle' => 'Said schbaischere',
 'preview' => 'Voaschau',
 'showpreview' => 'Voaschau zaische',
 'showlivepreview' => 'Live-Voaschau',
 'showdiff' => 'Ännarunge zaische',
-'anoneditwarning' => "'''Baßma uff:''' Du bischd nit aagemeld. Dai IP-Adress werd inde Gschischd vum Adiggl gschbaischad.",
+'anoneditwarning' => "'''Baßma uff:''' Du bischd ned õgemeld. Doi IP-Adress werd inde Gschischd vum Adiggl gschbaischad.",
 'summary-preview' => 'Iwwabligg:',
 'blockednoreason' => "s'hod kän Grund",
-'newarticle' => '(Nai)',
-'newarticletext' => "Du bisch eme Link nogange zu re Said, wu s no gar nit gebbt.
-Zum die Said aaleche, kannscht do in dem Käschtel unne aafange mid schraiwe (guck[[{{MediaWiki:Helppage}}|Hilfe]] fer meh Informatione).
-Wenn do nid hin hoscht welle, no druck in Daim Browser uff '''Zrick'''.",
-'noarticletext' => 'Uffde Said hods noch kän Tegschd. Du konnschd uff onnare Saide nochm [[Special:Search/{{PAGENAME}}|Oidrach gugge]], <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} Logbuchaidrach gugge, wu dezu kead],
+'newarticle' => '(Naij)',
+'newarticletext' => "Du bischdm Lingg nochgõnge zu enna Said, wus ganedd hodd.
+Fa die Said õzleesche, konnschd do im Käschdl unne õfonge mid schraiwe (gugg [[{{MediaWiki:Helppage}}|Hilf]] fa mea Auskinfd).
+Wonn do nedd hoschd heakumme wolle, drigg uff Browser uff '''Zrigg'''.",
+'noarticletext' => 'Uffde Said hods noch kän Tegschd. Du konnschd uff õnnare Saide nochm [[Special:Search/{{PAGENAME}}|Oidrach gugge]], <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} Logbuchaidrach gugge, wu dezu kead],
 odda [{{fullurl:{{FULLPAGENAME}}|action=edit}} die Said beawaide]</span>.',
+'noarticletext-nopermission' => 'Do hods känn Tegschd.
+Du konschd uff onnare Saide [[Special:Search/{{PAGENAME}}|faden Tidl gugge]], odda <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} in alle Logs gugge]</span>, awwa du hoschd kä Ealauwnis die Said zu mache.',
 'updated' => '(Gännad)',
 'note' => "'''Hiwes:'''",
-'previewnote' => "'''Deng'g drɔ̃ɔ̃, dass des nua e Vorschau is.'''
-Doi Ännerunge sinn no nedd gschbaischadd worre!",
-'editing' => 'Om $1 beawaide',
+'previewnote' => "'''Deng'g drõõ, dasses nua e Vorschau isch.'''
+Doi Ännarunge sinn noch nedd gschbaischadd worre!",
+'editing' => 'Õm $1 beawaide',
 'editingsection' => '$1 beawaide (de Deel)',
 'yourtext' => 'Doin Tegschd',
 'storedversion' => 'Gschbaischerdi Version',
@@ -372,11 +374,11 @@ Du gibbschd do a zu, dasses selwaschd gschriwwe hoschd odda vuna effendlischi, f
 'templatesusedpreview' => '{{PLURAL:$1|Vorlach wu inde Vorschau gbrauchd werd|Vorlache wu inde Vorschau gbrauchd werren}}:',
 'template-protected' => '(gschizd)',
 'template-semiprotected' => '(halwa-gschizd)',
-'hiddencategories' => 'Die Said ghert zu {{PLURAL:$1|1 versteckelte Kategorie|$1 versteckelte Kategorie}}:',
-'permissionserrorstext-withaction' => 'Du därfscht nid $2, wesche{{PLURAL:$1|m Grund|de Grind}}:',
-'recreate-moveddeleted-warn' => "'''Baßma uff: Du magschd do ä Said, wuma frija schumol geleschd kabd hod.'''",
+'hiddencategories' => 'Die Said kerd zu vaschdeggelde {{PLURAL:$1|1 Sachgrubb|$1 Sachgrubbe}}:',
+'permissionserrorstext-withaction' => 'Du därfschd nedd $2, weesch{{PLURAL:$1|m Grund|ede Grind}}:',
+'recreate-moveddeleted-warn' => "'''Baßma uff: Du maggschd do ä Said, wuma frija schumol geleschd kabd hod.'''",
 'moveddeleted-notice' => 'Die Said isch gleschd worre.
-De Leschaidrach fa die Said isch do unne als Kwell aagewwe.',
+De Leschoidrach fa die Said isch do unne als Gwell õgewwe.',
 
 # Content models
 'content-model-css' => 'CSS',
@@ -384,36 +386,37 @@ De Leschaidrach fa die Said isch do unne als Kwell aagewwe.',
 # Parser/template warnings
 'post-expand-template-inclusion-warning' => "'''Baßma uff:''' Greeß vunde Vorlach isch iwwaschridde. Oinischi Vorlache werren ned bnuzd.",
 'post-expand-template-inclusion-category' => 'Saide mid Vorlache, wu die Greeß iwwaschridde worre isch',
-'post-expand-template-argument-warning' => "'''Baßma uff:''' Die Said hod wenigschdns ä Vorlach mida Kenngreeß, wu groß werre dud. Die Kenngreeß wead do ned ogeguggd.",
+'post-expand-template-argument-warning' => "'''Baßma uff:''' Die Said hodd wenigschdns ä Vorlach midä Kenngreeß, wu groß werre dud. Die Kenngreeß wead do nedd õgeguggd.",
+'post-expand-template-argument-category' => 'Saide, wu wegfallene Vorlachewead hawen.',
 
 # History pages
-'viewpagelogs' => 'Lochbischer fer die Said aagucke',
+'viewpagelogs' => 'Lochbischa fa die Said õgugge',
 'currentrev' => 'Ledschdi Änarung',
 'currentrev-asof' => 'Agduell Ausgab vun $1',
 'revisionasof' => 'Iwwaawaidung vun $1',
 'revision-info' => 'Ännarung vun $1 duasch $2',
 'previousrevision' => '← Älderi Beawaidung',
-'nextrevision' => 'Naijare Ausgab →',
-'currentrevisionlink' => 'Agduell Ausgab',
+'nextrevision' => 'Naijari Ausgawb →',
+'currentrevisionlink' => 'Agduelli Ausgawb',
 'cur' => 'jedzischi',
 'next' => 'Negschd',
 'last' => 'vorischi',
 'page_first' => 'Easchd',
 'page_last' => 'Ledschd',
-'histlegend' => "Du kannscht zwää Versione auswähle un verglaiche.<br />
-Erklärung: '''({{int:cur}})''' = Unnerschied zu jetzert,
-'''({{int:last}})''' = Unnerschied zu de voriche Version, '''{{int:minoreditletter}}''' = klenni Ännerung.",
+'histlegend' => "Du konnschd zwää Ausgawe wehle un vaglaische.<br />
+Ealaidarung: '''({{int:cur}})''' = Unnaschied zu jezd,
+'''({{int:last}})''' = Unnaschied zude vorischi Ausgab, '''{{int:minoreditletter}}''' = gleni Ännarung.",
 'history-fieldset-title' => 'Gugg die Gschischd',
 'history-show-deleted' => 'Bloß gleschdi Saide zaische',
-'histfirst' => 'Ältschde',
-'histlast' => 'Naischde',
+'histfirst' => 'Äldschde',
+'histlast' => 'Naijschde',
 'historyempty' => '(lea)',
 
 # Revision feed
-'history-feed-item-nocomment' => '$1 om $2',
+'history-feed-item-nocomment' => '$1 õm $2',
 
 # Revision deletion
-'rev-delundel' => 'zaisch/verschdeggle',
+'rev-delundel' => 'zaisch/vaschdeggl',
 'rev-showdeleted' => 'zaische',
 'revdelete-show-file-submit' => 'Ja',
 'revdelete-radio-same' => '(dudo nix ännare)',
@@ -429,7 +432,7 @@ Erklärung: '''({{int:cur}})''' = Unnerschied zu jetzert,
 'mergehistory-go' => 'Zaisch, wasma vaoinische konn',
 
 # Merge log
-'revertmerge' => 'Zammefiehrung rigggängisch mache',
+'revertmerge' => 'Zõmmefiehrung rigggängisch mache',
 
 # Diffs
 'history-title' => 'Ännarungsgschischd vun "$1"',
@@ -446,11 +449,11 @@ Erklärung: '''({{int:cur}})''' = Unnerschied zu jetzert,
 'searchsubtitleinvalid' => "Du hoschd '''$1''' gsuchd",
 'notitlematches' => 'Kän Saidedidl gfunne',
 'notextmatches' => 'Kä Iwwaoinschdimmunge midm Tegschd',
-'prevn' => 'vorisch {{PLURAL:$1|$1}}',
+'prevn' => 'ledschda {{PLURAL:$1|$1}}',
 'nextn' => 'negschd {{PLURAL:$1|$1}}',
-'prevn-title' => 'Frijari $1 {{PLURAL:$1|Ergewnis|Ergewnis}}',
-'nextn-title' => 'Negschdi $1 {{PLURAL:$1|Ergewnis|Ergewnis}}',
-'shown-title' => 'Zaisch $1 {{PLURAL:$1|Ergewnis}} bro Said',
+'prevn-title' => 'Frijari $1 {{PLURAL:$1|Eagewnis|Eagewnis}}',
+'nextn-title' => 'Negschdi $1 {{PLURAL:$1|Eagewnis|Eagewnis}}',
+'shown-title' => 'Zaisch $1 {{PLURAL:$1|Eagewnis}} bro Said',
 'viewprevnext' => 'Gugg ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-exists' => "'''Dohods ä Said \"[[:\$1]]\".'''",
 'searchmenu-new' => "'''Mach die Said „[[:$1]]“ im Wiki.'''",
@@ -463,7 +466,7 @@ Erklärung: '''({{int:cur}})''' = Unnerschied zu jetzert,
 'searchprofile-project-tooltip' => 'In $1 gugge',
 'searchprofile-images-tooltip' => 'Gugg noch Bilda',
 'searchprofile-everything-tooltip' => 'Such iwwaraal (a wuma dischbedierd)',
-'searchprofile-advanced-tooltip' => 'Gugg in onare Nomensreum',
+'searchprofile-advanced-tooltip' => 'Gugg in õnnare Nõmensreum',
 'search-result-size' => '$1 ({{PLURAL:$2|1 Word|$2 Wärda}})',
 'search-redirect' => '(Waidalaidung $1)',
 'search-section' => '(Abschnidd $1)',
@@ -475,9 +478,9 @@ Erklärung: '''({{int:cur}})''' = Unnerschied zu jetzert,
 'mwsuggest-disable' => 'Schald Voaschlesch ab',
 'searchrelated' => 'vawond',
 'searchall' => 'alle',
-'showingresultsheader' => "{{PLURAL:$5|Ergewnis '''$1''' vun '''$3'''|Ergewnis '''$1–$2''' vun '''$3'''}} fa '''$4'''",
+'showingresultsheader' => "{{PLURAL:$5|Eagewnis '''$1''' vun '''$3'''|Eagewnis '''$1–$2''' vun '''$3'''}} fa '''$4'''",
 'nonefound' => "'''Hiiwais:''' S werre standardmäßich numme e Dail Namensraim durchsucht. Setz ''all:'' vor Dai Suchbegriff zum alle Saide (mit Dischbediersaide, Voalaache usw.) durchsuche odder direkt de Name vum Namensraum, wu durchsucht werre sell.",
-'search-nonefound' => 'Fa die Such hods kä Ergewnis.',
+'search-nonefound' => 'Kä Eagewnis vunde Õfroch.',
 'powersearch' => 'Erwaiterte Such',
 'powersearch-legend' => 'Erwaiterte Such',
 'powersearch-ns' => 'In de Namensraim suche:',
@@ -504,15 +507,16 @@ Erklärung: '''({{int:cur}})''' = Unnerschied zu jetzert,
 'timezoneregion-europe' => 'Oirobba',
 'prefs-searchoptions' => 'Nochgugge',
 'youremail' => 'E-Mail:',
-'yourrealname' => 'Birschalischa Nome:',
+'yourrealname' => 'Birschalischa Nõme:',
 'yourlanguage' => 'Schbrooch:',
 'yournick' => 'Naiji Unnaschfrid',
 'yourgender' => 'Gschleschd:',
 'gender-unknown' => 'Ghoim gkalde',
 'gender-male' => 'Männlisch',
 'gender-female' => 'Waiblisch',
-'prefs-help-email-others' => 'Konschd a wehle, ob onnare disch iwwan Lingg uff doina Dischbedier-Said oschbresche kennen.
-Doi Meil-Address isch ned zaisch nix waida.',
+'prefs-help-email' => 'E-mail muss ned soi, awwa wead fas naijsedze vum Kennwoad bneedischd, wonns vagesse hoschd.',
+'prefs-help-email-others' => 'Konschd a wehle, ob õnnare disch iwwan Lingg uff doina Dischbedier-Said õschbresche kennen.
+Doi Address werd ned gzaischd, wõnse midda babbln.',
 'prefs-diffs' => 'Unaschied',
 
 # User rights
@@ -540,7 +544,7 @@ Doi Meil-Address isch ned zaisch nix waida.',
 'right-delete' => 'Saide lesche',
 
 # Special:Log/newusers
-'newuserlogpage' => 'Naiaameldungs-Logbuch',
+'newuserlogpage' => 'Naimeldungs-Logbuch',
 
 # User rights log
 'rightslog' => 'Benutzerrecht-Logbuch',
@@ -549,23 +553,24 @@ Doi Meil-Address isch ned zaisch nix waida.',
 'action-edit' => 'die Said beawaide',
 
 # Recent changes
-'nchanges' => '$1 {{PLURAL:$1|Ännerung|Ännerunge}}',
+'nchanges' => '$1 {{PLURAL:$1|Ännarung|Ännarunge}}',
 'recentchanges' => 'Ledschdi Ännarunge',
-'recentchanges-legend' => 'Wehl ä Aazaisch fa die ledschdi Ännarunge',
-'recentchanges-feed-description' => 'Di letschte Ännerunge vun {{SITENAME}} in des Feed aigewwe.',
+'recentchanges-legend' => 'Wehl ä Õzaisch fa die ledschde Ännarunge',
+'recentchanges-feed-description' => 'Ledschde Ännarunge vun {{SITENAME}} im Feed oigewwe.',
 'recentchanges-label-newpage' => 'Domid magschd ä naiji Said',
-'recentchanges-label-minor' => "S'ische glänni Beawaidung",
+'recentchanges-label-minor' => "S'ische glenni Beawaidung",
 'recentchanges-label-bot' => 'Ännarunge duaschn Bod',
-'recentchanges-label-unpatrolled' => 'Die Änarung isch noch ned iwwabriefd worre',
-'rcnote' => "Aagezaicht {{PLURAL:$1|werd '''1''' Ännerung|werre die letschte '''$1''' Ännerunge}} {{PLURAL:$2|vum letschte Dach|in de letschte '''$2''' Dache}} (Stand: $4, $5)",
-'rclistfrom' => 'Zaisch die ledschd Ännarunge ab $1',
-'rcshowhideminor' => 'Klenne Ännarunge $1',
+'recentchanges-label-unpatrolled' => 'Die Ännarung isch noch nedd iwwabriefd worre',
+'rcnote' => "Õgzaischd {{PLURAL:$1|werd '''1''' Ännarung|werren die ledschde '''$1''' Ännarunge}} {{PLURAL:$2|vum ledschde Daach|inde ledschde '''$2''' Daache}} (Schdond: $4, $5)",
+'rcnotefrom' => "Unne sinn Ännarunge said '''$2''' (bis '''$1''').",
+'rclistfrom' => 'Zaisch die ledschde Ännarunge ab $1',
+'rcshowhideminor' => 'Glenni Ännarunge $1',
 'rcshowhidebots' => 'Bots $1',
-'rcshowhideliu' => 'Aagemeldte Benutzer $1',
-'rcshowhideanons' => 'Nit aagemeldt Benutzer $1',
+'rcshowhideliu' => 'Õgmelda Middawaida $1',
+'rcshowhideanons' => 'Ned õgmelda Middawaida $1',
 'rcshowhidepatr' => '$1 iwabriefde Ännarunge',
-'rcshowhidemine' => 'Mai Beawaidunge $1',
-'rclinks' => 'Zaich die letschde $1 Ännarunge inde ledschde $2 Dach<br />$3',
+'rcshowhidemine' => 'Moi Beawaidunge $1',
+'rclinks' => 'Zaisch die ledschde $1 Ännarunge inde ledschde $2 Daach<br />$3',
 'diff' => 'Unnaschied',
 'hist' => 'Gschischd',
 'hide' => 'vaschdeggle',
@@ -575,16 +580,16 @@ Doi Meil-Address isch ned zaisch nix waida.',
 'boteditletter' => 'B',
 'rc_categories_any' => 'Ebbes',
 'rc-enhanced-expand' => 'Änzlhaide zaische (dozu brauchds JavaScript)',
-'rc-enhanced-hide' => 'Ogawe vaschdeggle',
+'rc-enhanced-hide' => 'Õgawe vaschdeggle',
 
 # Recent changes linked
-'recentchangeslinked' => 'Was on verlinggde Saide gännad worre isch',
+'recentchangeslinked' => 'Was õn valinggde Saide gännad worre isch',
 'recentchangeslinked-feed' => 'Ännarunge on valinggde Saide',
-'recentchangeslinked-toolbox' => 'Ännarunge on verlingde Saide',
-'recentchangeslinked-title' => 'Ännarunge on Saide, wu „$1“ druff verlinggd',
-'recentchangeslinked-noresult' => 'Inde Zaid ischdo nix gännad worre.',
-'recentchangeslinked-summary' => "Die Lischd zaischd ledschde Ännarunge, vunna bschdimmde Said, wu do valinggd isch (odda zu Midglied vuna bschdimmde Kadegorije isch).
-Saide uff [[Special:Watchlist|Dainer Beowachdungslischd]] sinn '''fedd'''.",
+'recentchangeslinked-toolbox' => 'Ännarunge uff verlingde Saide',
+'recentchangeslinked-title' => 'Ännarunge õn Saide, wu „$1“ druff verlinggd',
+'recentchangeslinked-noresult' => 'Do isch nix gännad worre inde Zaid.',
+'recentchangeslinked-summary' => "Die Lischd zaischd ledschdi Ännarunge, vunna bschdimmde Said, wu do valinggd isch (odda ä Midglied vunna bschdimmde Sachgrubb isch).
+Saide uff [[Special:Watchlist|Doina Beowachdungslischd]] sinn '''fedd'''.",
 'recentchangeslinked-page' => 'Saide:',
 'recentchangeslinked-to' => 'Zaisch Ännarunge uff Saide, wu do her valinggd sinn',
 
@@ -595,7 +600,7 @@ Saide uff [[Special:Watchlist|Dainer Beowachdungslischd]] sinn '''fedd'''.",
 'filedesc' => 'Iwwabligg',
 'fileuploadsummary' => 'Iwwabligg:',
 'savefile' => 'Dadai schbaischere',
-'uploadedimage' => 'hod „[[$1]]“ nuffglade',
+'uploadedimage' => 'hodd „[[$1]]“ nuffglade',
 
 # Lock manager
 'lockmanager-notlocked' => "„$1“ hod ned uffgmachd were kenne, s'isch ganed gschberd gwesd.",
@@ -616,7 +621,7 @@ Saide uff [[Special:Watchlist|Dainer Beowachdungslischd]] sinn '''fedd'''.",
 # File description page
 'file-anchor-link' => 'Dadai',
 'filehist' => 'Dadaigschischd',
-'filehist-help' => 'Drigg uff e Zaidpunggd zum aazaische, wie s dord ausgseh hod.',
+'filehist-help' => 'Drigg uffn Zaidpunggd zum õzaische, wies dord ausgseje hodd.',
 'filehist-deleteall' => 'alles lesche',
 'filehist-deleteone' => 'lesche',
 'filehist-revert' => 'zriggsedze',
@@ -624,13 +629,15 @@ Saide uff [[Special:Watchlist|Dainer Beowachdungslischd]] sinn '''fedd'''.",
 'filehist-datetime' => 'Zaidpungd',
 'filehist-thumb' => 'Gleenes Bild',
 'filehist-thumbtext' => 'Skizz fa die Ausgab vum $1',
-'filehist-user' => 'Benudzer',
+'filehist-user' => 'Middawaida',
 'filehist-dimensions' => 'Maß',
-'filehist-comment' => 'Aißarung',
+'filehist-comment' => 'Oißarung',
 'imagelinks' => 'Dadaivawendung',
-'linkstoimage' => 'Die {{PLURAL:$1|Said verwaisd|$1 Saide verwaise}} uff die Datei:',
-'nolinkstoimage' => 'Do hods kä Said, wu dohea zaischd.',
+'linkstoimage' => 'Die {{PLURAL:$1|Said vawaisd|$1 Saide vawaisn}} uff die Dadai:',
+'nolinkstoimage' => 'Do hodds kä Said, wu dohea zaischd.',
 'sharedupload' => 'Die Datei isch vun $1 un s kann sai, dass se ach vun annere Projekt gebraucht werd.',
+'sharedupload-desc-here' => 'Die Dadai isch vun $1 un konn a wuonaschda bnuzd werre.
+Ä Bschraiwung finschd [$2 Dadaibschraiwungssaid] unne.',
 'uploadnewversion-linktext' => 'E naiere Version vun derre Datei hochlade',
 
 # File deletion
@@ -644,7 +651,7 @@ Saide uff [[Special:Watchlist|Dainer Beowachdungslischd]] sinn '''fedd'''.",
 'download' => 'Runalaade',
 
 # Random page
-'randompage' => 'Irschnd en Adiggl',
+'randompage' => 'Irschndn Adiggl',
 
 # Statistics
 'statistics' => 'Schdadischdigge',
@@ -659,18 +666,19 @@ Saide uff [[Special:Watchlist|Dainer Beowachdungslischd]] sinn '''fedd'''.",
 
 # Miscellaneous special pages
 'nbytes' => '$1 {{PLURAL:$1|Byte|Bytes}}',
-'nmembers' => '$1 {{PLURAL:$1|Dailnemma|Dailnemma}}',
-'prefixindex' => 'Alle Saide (mid Präfix)',
+'nmembers' => '$1 {{PLURAL:$1|Dailneema|Dailneema}}',
+'prefixindex' => 'Alle Saide (midd Voasilw)',
 'listusers-editsonly' => 'Zaisch bloß Bnudza mid Baidräsch',
+'usercreated' => '{{GENDER:$3|Gmachd}} vun $1 om $2',
 'newpages' => 'Naije Saide',
-'move' => 'Verschiewe',
+'move' => 'Vaschiewe',
 'movethispage' => 'Die Said verschiewe',
-'pager-newer-n' => '{{PLURAL:$1|negschte 1|negschte $1}}',
-'pager-older-n' => '{{PLURAL:$1|vorich 1|voriche $1}}',
+'pager-newer-n' => '{{PLURAL:$1|negschd 1|negschd $1}}',
+'pager-older-n' => '{{PLURAL:$1|vorisch 1|vorische $1}}',
 
 # Book sources
 'booksources' => 'Buchgwelle',
-'booksources-search-legend' => 'No Buchquelle suche',
+'booksources-search-legend' => 'Noch Buchgwelle gugge',
 'booksources-go' => 'Geh',
 
 # Special:Log
@@ -688,17 +696,17 @@ Saide uff [[Special:Watchlist|Dainer Beowachdungslischd]] sinn '''fedd'''.",
 'allpagessubmit' => 'Zaische',
 
 # Special:Categories
-'categories' => 'Kadegorije',
+'categories' => 'Sachgrubbe',
 
 # Special:LinkSearch
 'linksearch' => 'Exderne Lings',
 'linksearch-line' => '$1 isch vun $2 valinggd',
 
 # Special:ListGroupRights
-'listgrouprights-members' => '(Midgliederlischd)',
+'listgrouprights-members' => '(Midgliedalischd)',
 
 # Email user
-'emailuser' => 'E-Mail on de Benutzer',
+'emailuser' => 'E-Mail õnde Benudzer',
 'emailfrom' => 'Vum:',
 'emailto' => 'Fa:',
 'emailsubject' => 'Bdreff:',
@@ -714,10 +722,10 @@ Zukinfdischi Ännarunge onde Said unde Dischbediersaid, wu dzu kead, werren doo
 'removedwatchtext' => 'D Said "[[:$1]]" isch aus [[Special:Watchlist|Dainer Beowachdungslischt]] rausgenumme worre.',
 'watch' => 'Beowachde',
 'watchthispage' => 'Die Said beowachde',
-'unwatch' => 'Nimmi beowachde',
-'watchlist-details' => 'S hot {{PLURAL:$1|$1 Said|$1 Saide}} uff Dainer Beowachdungslischt, Dischbediersaide zelle nid.',
-'wlshowlast' => 'Die letschte $1 Stunne $2 Dache $3 zaiche',
-'watchlist-options' => 'Optione vun de Beowachdungslischt',
+'unwatch' => 'Nemme beowachde',
+'watchlist-details' => 'S hodd {{PLURAL:$1|$1 Said|$1 Saide}} uff doina Beowachdungslischd, Dischbediersaide zeeln nedd.',
+'wlshowlast' => 'Die ledschde $1 Schdunnd $2 Daach $3 zaische',
+'watchlist-options' => 'Meschlischkaide vunde Beowachdungslischd',
 
 # Displayed when you click the "watch" button and it is in the process of watching
 'watching' => 'Beowachde ...',
@@ -731,7 +739,7 @@ Zukinfdischi Ännarunge onde Said unde Dischbediersaid, wu dzu kead, werren doo
 'delete-legend' => 'Lesche',
 'confirmdeletetext' => 'Du bisch debai e Said z lesche mid alle Versione.
 Bitte du bstätiche, dass Du des wllscht du, dass Du verstehsch, was des hääßt, un dass Du des machscht in Iwweraistimmung mit de [[{{MediaWiki:Policy-url}}|Richtline]].',
-'actioncomplete' => 'Agzion ferdisch',
+'actioncomplete' => 'Maßnohm ferdisch',
 'actionfailed' => 'Maßnohm gschaidad',
 'deletedtext' => '"$1" isch gelescht worre.
 Guck $2 fer e Lischt vun de letschte Leschunge.',
@@ -741,11 +749,11 @@ Guck $2 fer e Lischt vun de letschte Leschunge.',
 'deletereasonotherlist' => 'Annere Grund',
 
 # Rollback
-'rollbacklink' => 'Zeriggsedze',
+'rollbacklink' => 'Zriggsedze',
 
 # Protect
-'protectlogpage' => 'Saideschutz-Logbuch',
-'protectedarticle' => 'hod "[[$1]]" gschizd',
+'protectlogpage' => 'Saideschudz-Logbuch',
+'protectedarticle' => 'hodd "[[$1]]" gschizd',
 'modifiedarticleprotection' => 'hot de Schutzstatus vun "[[$1]]" gännert',
 'protectcomment' => 'Grund:',
 'protectexpiry' => 'Bis:',
@@ -775,23 +783,23 @@ Der Schutzstatus vun derre Said kannscht ännere, awwer des hot kää Aifluss uf
 # Undelete
 'undelete' => 'Widderherschdelle',
 'undeletebtn' => 'Widderherschdelle',
-'undeletelink' => 'aagucke/widda herschdelle',
-'undeleteviewlink' => 'Ogugge',
+'undeletelink' => 'õgugge/widda herschdelle',
+'undeleteviewlink' => 'Õgugge',
 'undeletereset' => 'Zuriggsedze',
 'undelete-show-file-submit' => 'Ja',
 
 # Namespace form on various pages
-'namespace' => 'Nomensraum',
+'namespace' => 'Nõmensraum',
 'invert' => 'Wahl dausche',
 'blanknamespace' => '(Schdadsaid)',
 
 # Contributions
-'contributions' => '{{GENDER:$1|Wasa gemachd hod}}',
+'contributions' => '{{GENDER:$1|Wassa gemachd hodd}}',
 'contributions-title' => 'Benutzerbaidräch vun $1',
 'mycontris' => 'Baidräsch',
-'contribsub2' => 'Fer $1 ($2)',
-'uctop' => '(akduell)',
-'month' => 'än Monad (un frija):',
+'contribsub2' => 'Fa $1 ($2)',
+'uctop' => '(geschewedisch)',
+'month' => 'än Monad (un frieja):',
 'year' => 'Abm Johr (un frieja):',
 
 'sp-contributions-newbies' => 'Zaisch nua Baidräsch vun naije Konde',
@@ -800,43 +808,44 @@ Der Schutzstatus vun derre Said kannscht ännere, awwer des hot kää Aifluss uf
 'sp-contributions-logs' => 'Logbischa',
 'sp-contributions-talk' => 'Dischbediere',
 'sp-contributions-search' => 'Noch Baidräsch gugge',
-'sp-contributions-username' => 'IP-Adress odda Benudzernome:',
+'sp-contributions-username' => 'IP-Adress odda Benudzernõme:',
 'sp-contributions-toponly' => 'Bloß agduelli Ännarunge zaische',
-'sp-contributions-submit' => 'Suche',
+'sp-contributions-submit' => 'Gugge',
 
 # What links here
 'whatlinkshere' => 'Was doher zaische dud',
-'whatlinkshere-title' => 'Saide wu uff "$1" verlinke',
+'whatlinkshere-title' => 'Saide wu uff "$1" valinggn',
 'whatlinkshere-page' => 'Said:',
-'linkshere' => "Die Saide valingge uff '''[[:$1]]''':",
+'linkshere' => "Die Saide valinggn uff '''[[:$1]]''':",
 'nolinkshere' => "Kä Said zaischd uff '''[[:$1]]'''.",
 'isredirect' => 'Waidalaidungsaid',
 'istemplate' => 'Vorlacheoibindung',
 'isimage' => 'Dadailingg',
-'whatlinkshere-prev' => '{{PLURAL:$1|vorich|voriche $1}}',
+'whatlinkshere-prev' => '{{PLURAL:$1|vorisch|vorische $1}}',
 'whatlinkshere-next' => '{{PLURAL:$1|negschd|negschde $1}}',
 'whatlinkshere-links' => '← Linggs',
 'whatlinkshere-hideredirs' => '$1 Waidalaidunge',
-'whatlinkshere-hidetrans' => '$1 Vorlacheaibindunge',
+'whatlinkshere-hidetrans' => '$1 Vorlacheoibindunge',
 'whatlinkshere-hidelinks' => '$1 Linggs',
+'whatlinkshere-hideimages' => '$1 Dadailinggs',
 'whatlinkshere-filters' => 'Filda',
 
 # Block/unblock
 'blockip' => 'Benudzer bloggiere',
 'ipbsubmit' => 'Benudzer bloggiere',
-'ipboptions' => '2 Stunne:2 hours,1 Dach:1 day,3 Dache:3 days,1 Woch:1 week,2 Woche:2 weeks,1 Monet:1 month,3 Monet:3 months,6 Monet:6 months,1 Johr:1 year,Fer immer:infinite',
+'ipboptions' => '2 Schdunne:2 hours,1 Daach:1 day,3 Daach:3 days,1 Woch:1 week,2 Woche:2 weeks,1 Monad:1 month,3 Monad:3 months,6 Monad:6 months,1 Johr:1 year,Fa imma:infinite',
 'ipbotheroption' => 'onnari',
 'ipusubmit' => 'Die Adreß fraigewwe',
-'ipblocklist' => 'Gschberrdi IP-Adress un Benudzernome',
+'ipblocklist' => 'Gschberrdi IP-Adress un Middawaidanõme',
 'infiniteblock' => 'ubgrensd',
 'blocklink' => 'schberre',
 'unblocklink' => 'Sperr uffhewe',
 'change-blocklink' => 'Schberr ännare',
 'contribslink' => 'Baidräsch',
 'blocklogpage' => 'Schberrlogbuch',
-'blocklogentry' => 'hot [[$1]] gsperrt fer e Zaidraum vun $2 $3',
+'blocklogentry' => "hodd [[$1]] gschberrd fa'n Zaidraum vun $2 $3",
 'unblocklogentry' => 'hot d Sperr vun $1 uffghowwe',
-'block-log-flags-nocreate' => 'Aalesche vun Benudzerkonde isch gschberrd',
+'block-log-flags-nocreate' => 'Õleesche vun Konde isch gschberrd',
 
 # Developer tools
 'lockbtn' => 'Dadebongg schberre',
@@ -874,93 +883,94 @@ Bitte nemm e annere Name.',
 Bitte duu se vun Hand zammefiehre.'''",
 'movedto' => 'vaschowe uff',
 'movetalk' => 'Dischbediersaid, wu dezu ghert, verschiewe',
-'movelogpage' => 'Verschiewungs-Logbuch',
+'movelogpage' => 'Vaschiewungs-Logbuch',
 'movereason' => 'Grund:',
 'revertmove' => 'Zurigg vaschiewe',
 'delete_and_move' => 'Lesche un Verschiewe',
 'delete_and_move_confirm' => 'Ja, Said lesche',
 
 # Export
-'export' => 'Saide expordiere',
+'export' => 'Saide rausgewe',
 'export-submit' => 'Saide exbordiere',
 
 # Namespace 8 related
-'allmessagesname' => 'Nome',
+'allmessagesname' => 'Nõme',
 'allmessagesdefault' => 'Vorgewene Tegschd',
 'allmessages-filter-modified' => 'Vaännad',
 
 # Thumbnails
 'thumbnail-more' => 'Mags greßa',
+'thumbnail_error' => 'Baim Voaschaubild ischwas falsch glaafe: $1',
 
 # Special:Import
 'import-interwiki-submit' => 'Impordiere',
 
 # Tooltip help for the actions
-'tooltip-pt-userpage' => 'Dai Benudzersaid',
-'tooltip-pt-mytalk' => 'Dai Said fas Dischbediere',
-'tooltip-pt-preferences' => 'Dai Aistellunge',
-'tooltip-pt-watchlist' => 'D Lischd vun Saide, wu du beowachde duschd',
-'tooltip-pt-mycontris' => 'Lischd vun Daine Baidräsch',
-'tooltip-pt-login' => 'Du konnschd disch aamelde, awwer du mugschd s nit',
-'tooltip-pt-logout' => 'Abmelde',
+'tooltip-pt-userpage' => 'Doi Benudzersaid',
+'tooltip-pt-mytalk' => 'Doi Said fas Dischbediere',
+'tooltip-pt-preferences' => 'Doi Oischdellunge',
+'tooltip-pt-watchlist' => 'Lischd vun Saide, wu beowachde duschd',
+'tooltip-pt-mycontris' => 'Lischd vun doine Baidräsch',
+'tooltip-pt-login' => 'Du konnschd disch õmelde, awwa mugschd ned',
+'tooltip-pt-logout' => 'Uffhere',
 'tooltip-ca-talk' => 'Iwwa d Inhaldssaid dischbediere',
 'tooltip-ca-edit' => 'Du konnschd die Said beawaide.
 Bidde nemmde Vorschau-Gnobb vorm Schbaischare',
-'tooltip-ca-addsection' => 'E naie Abschnitt aaleche',
-'tooltip-ca-viewsource' => 'Die Said isch gschizd. Du konnschd awwa de Gwelltegschd aagugge.',
-'tooltip-ca-history' => 'Ledschde Versione vun derre Said',
+'tooltip-ca-addsection' => "N'naije Abschnidd õleche",
+'tooltip-ca-viewsource' => 'Die Said isch gschizd. Du konnschdda de Gwelltegschd õgugge.',
+'tooltip-ca-history' => 'Ledschdi Ausgawe vunde Said',
 'tooltip-ca-protect' => 'Die Said schidze',
 'tooltip-ca-delete' => 'Die Said lesche',
 'tooltip-ca-move' => 'Die Said vaschiewe',
-'tooltip-ca-watch' => 'Die Said zu Dainer Beowachdungslischd zufiesche',
-'tooltip-ca-unwatch' => 'Die Said aus Dainer Beowachdunschlischd wegnemme',
-'tooltip-search' => 'Gugg uff {{SITENAME}} noch',
-'tooltip-search-go' => 'Geh zu ere Said mid genää dem Namme, wenn s se gebbt',
+'tooltip-ca-watch' => 'Die Said zu doina Beowachdungslischd dzufiesche',
+'tooltip-ca-unwatch' => 'Die Said vun doina Beowachdunschlischd wegnemme',
+'tooltip-search' => 'Gugg uff {{SITENAME}} fa',
+'tooltip-search-go' => 'Geh zude Said midm Nõme, wonnses hodd',
 'tooltip-search-fulltext' => 'Gugg inde Said nochm Tegschd',
 'tooltip-p-logo' => 'Schdadsaid',
-'tooltip-n-mainpage' => 'Uff d Schdadsaid geje',
-'tooltip-n-mainpage-description' => 'Haubdsaid aagugge',
-'tooltip-n-portal' => 'Iwwers Brojegd, wude duu kannschd, wu ebbes finne duschd',
-'tooltip-n-currentevents' => 'Finn Auskinfd iwwa naiji Voafell',
-'tooltip-n-recentchanges' => 'Lischd vun de ledschde Ännarunge im Wiki',
-'tooltip-n-randompage' => 'Lad e zufellischi Said',
+'tooltip-n-mainpage' => "Uff d'Schdadsaid geje",
+'tooltip-n-mainpage-description' => 'Haubdsaid õgugge',
+'tooltip-n-portal' => 'Iwwas Brojegd, wu mache konnschd, wu ebbes finne duschd',
+'tooltip-n-currentevents' => 'Finn Auskinfd iwwas Naijischde',
+'tooltip-n-recentchanges' => 'Lischd vunde ledschde Ännarunge im Wiki',
+'tooltip-n-randompage' => 'Laad e zufellischi Said',
 'tooltip-n-help' => 'Do konschds rausfinne',
-'tooltip-t-whatlinkshere' => 'Lischd vun alle Wikisaide, wu do hie verlingd sinn',
-'tooltip-t-recentchangeslinked' => 'Ledschde Ännerunge in Saide, wu vun do verlinggd sin',
+'tooltip-t-whatlinkshere' => 'Lischd vun alle Wikisaide, wu dohie verlingd sinn',
+'tooltip-t-recentchangeslinked' => 'Ledschdi Ännarunge in Saide, wu vun do verlinggd sinn',
 'tooltip-feed-rss' => 'RSS feed fer die Said',
 'tooltip-feed-atom' => 'Atom-Feed fa die Said',
-'tooltip-t-contributions' => 'Die ledschde Baidräsch vum Benudzer aagugge',
-'tooltip-t-emailuser' => 'Dem Benutzer e E-Mail schicke',
+'tooltip-t-contributions' => 'Ledschdi Baidräsch vum Middawaida õgugge',
+'tooltip-t-emailuser' => 'Dem Benutzer e E-Mail schigge',
 'tooltip-t-upload' => 'Dadaije nufflade',
 'tooltip-t-specialpages' => 'Lischd vunde Schbezialsaide',
 'tooltip-t-print' => 'Druggausgab vunde Said',
-'tooltip-t-permalink' => 'E dauerhafte Link zu derre Version vun de Said',
-'tooltip-ca-nstab-main' => 'Inhald agugge',
-'tooltip-ca-nstab-user' => 'D Benudzersaid aagucke',
-'tooltip-ca-nstab-special' => 'Des isch e Spezialsaid, du kannscht d Said sälwerscht nit ännere',
-'tooltip-ca-nstab-project' => 'Brojegdsaid agugge',
-'tooltip-ca-nstab-image' => 'D Dadaisaid aaugugge',
-'tooltip-ca-nstab-template' => 'Vorlach aagugge',
-'tooltip-ca-nstab-category' => 'D Kadegoriesaid aagucke',
-'tooltip-minoredit' => 'Des als klenni Ännarung makiere',
-'tooltip-save' => 'Dai Ännerunge schbaischere',
-'tooltip-preview' => 'Guck Daine Ännerunge in de Vorschau aa, vor Du uff Spaichere driksch!',
-'tooltip-diff' => 'Guck, welle Ännerunge Du im Text gmacht hoscht',
-'tooltip-compareselectedversions' => 'D Unnaschied zwische denne zwee gwehlde Versione aagugge',
-'tooltip-watch' => 'Die Said zu Dainer Beowachdunglischd zufieche',
-'tooltip-rollback' => "„Zriggsedze“ machd alli Beawaidunge vum ledschde Midawaida rigg'gängisch",
-'tooltip-undo' => "„Zrigg“ machd nua die Ännarung rigg'gängich un zaischd ä Vorschau aa.
-Du kannschd e Grund in de Zommefassung aagewwe.",
+'tooltip-t-permalink' => "N'dauwahafde Lingg uff die Ausgab vunde Said",
+'tooltip-ca-nstab-main' => 'Inhald õgugge',
+'tooltip-ca-nstab-user' => 'Benudzersaid õgugge',
+'tooltip-ca-nstab-special' => 'Des isch e Spezialsaid, du konnschd d Said selwaschd nedd ännare',
+'tooltip-ca-nstab-project' => 'Brojegdsaid õgugge',
+'tooltip-ca-nstab-image' => 'Dadaisaid õgugge',
+'tooltip-ca-nstab-template' => 'Vorlach õgugge',
+'tooltip-ca-nstab-category' => 'Sachgrubbsaid õgugge',
+'tooltip-minoredit' => 'Als gleeni Ännarung makiere',
+'tooltip-save' => 'Doi Ännarunge schbaischare',
+'tooltip-preview' => 'Guggda doi Ännarunge inde Vorschau õ, bvor uff Schbaischare drigschd!',
+'tooltip-diff' => 'Gugg, welschi Ännarunge im Tegschd gmachd hoschd',
+'tooltip-compareselectedversions' => 'D Unnaschied zwische denne zwee gwehlde Ausgawe õgugge',
+'tooltip-watch' => 'Die Said zu doina Beowachdunglischd zufiesche',
+'tooltip-rollback' => "„Zriggsedze“ machd alli Beawaidunge vum ledschde Middawaida rigg'gängisch",
+'tooltip-undo' => "„Zrigg“ machd nua die Ännarung rigg'gängich un zaischd ä Vorschau õ.
+Konnschdn Grund inde Zommefassung õgewwe.",
 'tooltip-summary' => 'Gebä koaz Resimee',
 
 # Browsing diffs
-'previousdiff' => '← Ältere Bearwaidung',
+'previousdiff' => '← Äldari Beawaidung',
 'nextdiff' => 'Naijari Beawaidung →',
 
 # Media information
-'file-info-size' => '$1 × $2 Pixels, Dateigreß: $3, MIME-Type: $4',
+'file-info-size' => '$1 × $2 Pixels, Dadaigreß: $3, MIME-Type: $4',
 'file-nohires' => 'Ke heheri Ufflesung vafieschba.',
-'svg-long-desc' => 'SVG-Datei, Basisgreß $1 × $2 Pixels, Dateigreß: $3',
+'svg-long-desc' => 'SVG-Datei, Grundgreß $1 × $2 Pixels, Dadaigreß: $3',
 'show-big-image' => 'Volli Ufflesung',
 
 # Special:NewFiles
@@ -968,20 +978,18 @@ Du kannschd e Grund in de Zommefassung aagewwe.",
 'ilsubmit' => 'Such',
 
 # Bad image list
-'bad_image_list' => 'Formad:
-
-nur Zaile, wu mid eme * aafange werre bericksichdischd.
-De erschd Link muss e Link zu ere unerwinschd Dadei sai.
-Annere Links in der glaiche Zail werre als Ausnahme behanneld, d. h. Saide, wu d Dadei drin vorkumme därfd.',
+'bad_image_list' => 'Uffbau: bloß Zaile, wu midm * õfonge werren briggsischdischd.
+De erschd Lingg mussn Lingg zu änna uuerwinschde Dadai soi.
+Õnnare Linggs inde glaische Zail werren als Ausnõhm gnumme, des heesd, Saide, wu inde Dadai vorkumme dirfn.',
 
 # Metadata
-'metadata' => 'Metadata',
-'metadata-help' => 'Die Dadai hod waideri Ogawe, waaschoinlisch vunde Digidalkomara odda vum Skänna, wuse mid gmachd worre isch.
-Wpnn die Dadai vaännad worre isch, donn konns soi, daß zusedzlischi Ogawe fa die vaännad Dadai nemme rischdisch sin.',
+'metadata' => 'Medadaade',
+'metadata-help' => 'Die Dadai hodd waidari Õgawe, waschoinlisch vunde Digidalkõmara odda vum Skänna, wumase mid gmachd hodd.
+Wonn die Dadai vaännad worre isch, donn konns soi, daß zusedzlischi Õgawe fa die vaännad Dadai nemme rischdisch sinn.',
 'metadata-expand' => 'Erwaiterte Details aazaiche',
 'metadata-collapse' => 'Erwaiterte Details versteckeln',
-'metadata-fields' => 'Die EXIF-Medadaade werren inde Bild-Bschraiwung a ogzaischd, wonn die Medadaade-Tabelle verschdegld isch.
-Annere Medadaade sinn noamalawais verschdegld.
+'metadata-fields' => 'Die EXIF-Medadaade werren inde Bild-Bschraiwung a õgzaischd, wonn die Medadaade-Tabell vaschdegld isch.
+Õnnare Medadaade sinn noamalawais vaschdegld.
 * make
 * model
 * datetimeoriginal
@@ -999,8 +1007,8 @@ Annere Medadaade sinn noamalawais verschdegld.
 'exif-gaincontrol-0' => 'Kään',
 
 # External editor support
-'edit-externally' => 'Die Datei bearwaide mit ener externe Aawendung',
-'edit-externally-help' => '(Guck uff [//www.mediawiki.org/wiki/Manual:External_editors Installationsaawisige] fer meh Informatione)',
+'edit-externally' => 'Die Dadai midm õnnare Weagzaisch beawaide',
+'edit-externally-help' => '(Gugg uff [//www.mediawiki.org/wiki/Manual:External_editors Inschdallazionsõwaisunge] fa mea Auskinfd)',
 
 # 'all' in various places, this might be different for inflected languages
 'watchlistall2' => 'alle',
@@ -1008,9 +1016,9 @@ Annere Medadaade sinn noamalawais verschdegld.
 'monthsall' => 'alle',
 
 # Watchlist editing tools
-'watchlisttools-view' => 'Die wichdiche Ännerunge aagucke',
-'watchlisttools-edit' => 'D Beowachdunglischt aagucke un bearwaide',
-'watchlisttools-raw' => 'ime große Textfeld bearwaide',
+'watchlisttools-view' => 'Die wischdische Ännarunge õgugge',
+'watchlisttools-edit' => 'Beowachdunglischd õgugge un beawaide',
+'watchlisttools-raw' => 'Im große Tegschdfeld beawaide',
 
 # Core parser functions
 'duplicate-defaultsort' => '\'\'\'Baßma uff:\'\'\' De Schlissl "$2" dudde frijare Schlissl "$1" iwwaschraiwe.',
index 50df36a..8606d15 100644 (file)
@@ -308,7 +308,7 @@ $messages = array(
 'tog-hidepatrolled' => 'Ukryj sprawdzone edycje w ostatnich zmianach',
 'tog-newpageshidepatrolled' => 'Ukryj sprawdzone strony na liście nowych stron',
 'tog-extendwatchlist' => 'Pokaż na liście obserwowanych wszystkie zmiany, nie tylko ostatnie',
-'tog-usenewrc' => 'Grupuj zmiany według stron na liście ostatnich zmian i obserwowanych (Wymaga JavaScript)',
+'tog-usenewrc' => 'Grupuj zmiany według stron na liście ostatnich zmian i obserwowanych (wymaga JavaScript)',
 'tog-numberheadings' => 'Automatyczna numeracja nagłówków',
 'tog-showtoolbar' => 'Pokaż pasek narzędzi (JavaScript)',
 'tog-editondblclick' => 'Podwójne kliknięcie rozpoczyna edycję (JavaScript)',
@@ -502,6 +502,7 @@ $messages = array(
 'create-this-page' => 'Utwórz tę stronę',
 'delete' => 'Usuń',
 'deletethispage' => 'Usuń tę stronę',
+'undeletethispage' => 'Przywróć tę stronę',
 'undelete_short' => 'odtwórz {{PLURAL:$1|1 wersję|$1 wersje|$1 wersji}}',
 'viewdeleted_short' => 'Podgląd {{PLURAL:$1|usuniętej|$1 usuniętych}} wersji',
 'protect' => 'Zabezpiecz',
@@ -592,8 +593,8 @@ $1',
 'toc' => 'Spis treści',
 'showtoc' => 'pokaż',
 'hidetoc' => 'ukryj',
-'collapsible-collapse' => 'ukryj',
-'collapsible-expand' => 'pokaż',
+'collapsible-collapse' => 'Zwiń',
+'collapsible-expand' => 'Rozwiń',
 'thisisdeleted' => 'Pokazać lub odtworzyć $1?',
 'viewdeleted' => 'Zobacz $1',
 'restorelink' => '{{PLURAL:$1|jedną usuniętą wersję|$1 usunięte wersje|$1 usuniętych wersji}}',
@@ -703,6 +704,8 @@ $2',
 'namespaceprotected' => "Nie masz uprawnień do edytowania stron w przestrzeni nazw '''$1'''.",
 'customcssprotected' => 'Nie jesteś uprawniony do edytowania tej strony CSS, ponieważ zawiera ona ustawienia osobiste innego użytkownika.',
 'customjsprotected' => 'Nie jesteś uprawniony do edytowania tej strony JavaScript, ponieważ zawiera ona ustawienia osobiste innego użytkownika.',
+'mycustomcssprotected' => 'Nie masz uprawnień do edytowania tej strony CSS.',
+'mycustomjsprotected' => 'Nie masz uprawnień do edytowania tej strony JavaScript.',
 'ns-specialprotected' => 'Stron specjalnych nie można edytować.',
 'titleprotected' => "Utworzenie strony o tej nazwie zostało zablokowane przez [[User:$1|$1]].
 Uzasadnienie blokady: ''$2''.",
@@ -840,7 +843,7 @@ Wpisz poprawny adres e‐mail lub wyczyść pole.',
 'cannotchangeemail' => 'Na tej wiki nie ma możliwości zmiany adresu e‐mail przypisanego do konta.',
 'emaildisabled' => 'Ta witryna nie może wysłać wiadomości e-mail.',
 'accountcreated' => 'Konto zostało utworzone',
-'accountcreatedtext' => 'Konto dla $1 zostało utworzone.',
+'accountcreatedtext' => 'Konto dla [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|dyskusja]]) zostało utworzone.',
 'createaccount-title' => 'Utworzenie konta w {{GRAMMAR:MS.lp|{{SITENAME}}}}',
 'createaccount-text' => 'Ktoś utworzył w {{GRAMMAR:MS.lp|{{SITENAME}}}} ($4), podając Twój adres e‐mail, konto „$2”. Aktualnym hasłem jest „$3”.
 Zaloguj się teraz i je zmień.
@@ -1370,7 +1373,6 @@ Zazwyczaj jest to spowodowane przestarzałym linkiem do usuniętej strony. Powó
 'searchmenu-legend' => 'Opcje wyszukiwania',
 'searchmenu-exists' => "* Strona '''[[$1]]'''",
 'searchmenu-new' => "'''Utwórz stronę „[[:$1|$1]]” na tej wiki.'''",
-'searchhelp-url' => 'Help:Spis treści',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Przeglądaj strony zaczynające się od tego przedrostka]]',
 'searchprofile-articles' => 'Strony',
 'searchprofile-project' => 'Strony pomocy i projektu',
@@ -1549,7 +1551,7 @@ Jeśli zdecydujesz się je podać, zostaną użyte, by udokumentować Twoje auto
 'userrights-groups-help' => 'Możesz zmienić przynależność tego użytkownika do podanych grup.
 * Zaznaczone pole oznacza przynależność użytkownika do danej grupy.
 * Niezaznaczone pole oznacza, że użytkownik nie należy do danej grupy.
-* Gwiazdka * informuje, że nie możesz usunąć użytkownika z grupy po dodaniu do niej lub dodać po usunięciu z grupy.',
+* Gwiazdka * informuje, że nie możesz usunąć użytkownika z grupy po dodaniu do niej lub dodać po usunięciu.',
 'userrights-reason' => 'Powód',
 'userrights-no-interwiki' => 'Nie masz dostępu do edycji uprawnień na innych wiki.',
 'userrights-nodatabase' => 'Baza danych $1 nie istnieje lub nie jest lokalna.',
@@ -1628,6 +1630,8 @@ Jeśli zdecydujesz się je podać, zostaną użyte, by udokumentować Twoje auto
 'right-editusercssjs' => 'Edycja plików CSS i JS innych użytkowników',
 'right-editusercss' => 'Edycja plików CSS innych użytkowników',
 'right-edituserjs' => 'Edycja plików JS innych użytkowników',
+'right-editmyusercss' => 'Edytuj własne pliki CSS',
+'right-editmyuserjs' => 'Edytuj własne pliki JavaScript',
 'right-rollback' => 'Szybkie wycofanie zmian wprowadzonych przez użytkownika, który jako ostatni edytował jakąś stronę',
 'right-markbotedits' => 'Oznaczanie rewertu jako edycji bota',
 'right-noratelimit' => 'Brak ograniczeń przepustowości',
@@ -2636,7 +2640,7 @@ $1',
 'mycontris' => 'Edycje',
 'contribsub2' => 'Dla użytkownika $1 ($2)',
 'nocontribs' => 'Brak zmian odpowiadających tym kryteriom.',
-'uctop' => ' (jako ostatnia)',
+'uctop' => '(ostatnia)',
 'month' => 'Do miesiąca (włącznie)',
 'year' => 'Do roku (włącznie)',
 
index 00fb0a8..70eecd9 100644 (file)
@@ -246,24 +246,24 @@ $messages = array(
 'articlepage' => 'Vëdde la pàgina ëd contnù',
 'talk' => 'Discussion',
 'views' => 'Vìsite',
-'toolbox' => 'utiss',
+'toolbox' => "Bòita dj'utiss",
 'userpage' => 'Che a varda la pàgina Utent',
-'projectpage' => 'Che a varda la pàgina ëd servissi',
-'imagepage' => "Varda la pàgina dl'archivi",
-'mediawikipage' => 'Mostra ël mëssagi',
-'templatepage' => 'Mostra lë stamp',
-'viewhelppage' => "Smon la pàgina d'agiut",
-'categorypage' => 'Fa vëdde la categorìa',
+'projectpage' => 'Che a varda la pàgina ëd proget',
+'imagepage' => "Vëdde la pàgina dl'archivi",
+'mediawikipage' => 'Mostré ël mëssagi',
+'templatepage' => 'Vëdde lë stamp',
+'viewhelppage' => "Smon-e la pàgina d'agiut",
+'categorypage' => 'Vëdde la categorìa',
 'viewtalkpage' => 'Vardé la discussion',
 'otherlanguages' => 'Àutre lenghe',
 'redirectedfrom' => '(Ridiression da $1)',
 'redirectpagesub' => 'Pàgina ëd ridiression',
-'lastmodifiedat' => "Modificà l'ùltima vira al $2, $1.",
+'lastmodifiedat' => "Modificà l'ùltima vira ai $1 a $2.",
 'viewcount' => "St'artìcol-sì a l'é stàit lesù {{PLURAL:$1|na vira|$1 vire}}.",
 'protectedpage' => 'Pàgina proteta',
-'jumpto' => 'Va a:',
+'jumpto' => 'Andé a:',
 'jumptonavigation' => 'navigassion',
-'jumptosearch' => 'arserca',
+'jumptosearch' => 'arserc',
 'view-pool-error' => "An dëspias, ij servent a son motobin carià al moment.
 Tròpi utent a son an camin ch'a preuvo a lese sta pàgina-sì.
 Për piasì, speta un pòch prima ëd prové torna a vardé sta pàgina-sì.
@@ -1052,7 +1052,6 @@ Sòn a l'é normalment causà da l'andèje dapress a na veja liura stòrica a na
 'searchmenu-legend' => "Opsion d'arserca",
 'searchmenu-exists' => "'''A-i é na pàgina ciamà \"[[:\$1]]\" dzora a costa wiki'''",
 'searchmenu-new' => "'''Creé la pàgina «[[:$1]]» ansima a sta wiki-sì!'''",
-'searchhelp-url' => 'Help:Contnù',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Visualisé le pàgine con sto prefiss-sì]]',
 'searchprofile-articles' => 'Pàgine ëd contnù',
 'searchprofile-project' => "Pàgine d'agiut e ëd proget",
index 8324dc0..a492e5a 100644 (file)
@@ -526,10 +526,8 @@ Note that some pages may continue to be displayed as if you were still logged in
 
 # Special:PasswordReset
 'passwordreset' => 'کنجی واپس لیاؤ',
-'passwordreset-text' => 'اے فارم مکمل کرکے اپنے کھاتے دی معلومات اپنے ای-میل تے منگوالو۔',
 'passwordreset-legend' => 'کنجی واپس لیاؤ',
 'passwordreset-disabled' => 'اس وکی تے کنجی واپس نئیں لیائی جاسکدی۔',
-'passwordreset-pretext' => '{{PLURAL:$1||تھلے دتے ہوۓ ڈیٹا چوں اک ایتھے دیو}}',
 'passwordreset-username' => 'ورتن ناں:',
 'passwordreset-domain' => 'ڈومین',
 'passwordreset-capture' => 'آن والی ای-میل ویکھو؟',
@@ -976,7 +974,6 @@ $1",
 'searchmenu-legend' => 'چنوتیاں کھوجو',
 'searchmenu-exists' => "'''ایس وکی تے \"[[:\$1]]\" ناں دا صفہ ہے۔.'''",
 'searchmenu-new' => "'''ایس وکی تے \"[[:\$1]]\" بناؤ'''",
-'searchhelp-url' => 'Help:فہرست',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|ایس پریفکس نال صفے کھوجو]]',
 'searchprofile-articles' => 'لسٹ صفے',
 'searchprofile-project' => 'مدد تے ویونت صفے',
index 7bb4f58..53a0837 100644 (file)
@@ -593,7 +593,6 @@ $messages = array(
 'prevn' => '{{PLURAL:$1|$1}} προηγουμένων',
 'nextn' => '{{PLURAL:$1|$1}} επομένων',
 'viewprevnext' => 'Τέρεν ($1 {{int:pipe-separator}} $2) ($3)',
-'searchhelp-url' => 'Help:Περιεχόμενα',
 'searchprofile-images' => 'Πολυμέσα',
 'searchprofile-everything' => 'Όλεα',
 'search-result-size' => '$1 ({{PLURAL:$2|1 λέξη|$2 λέξεις}})',
index 2a792d8..9c0708b 100644 (file)
@@ -799,7 +799,6 @@ Nawigaciōnis autengīsenin terpausnā naikinna etrīnksenin en kōlunei.',
 'searchmenu-legend' => 'Laukīsnas mazīngiskwas',
 'searchmenu-exists' => "'''Ast pāusan \"[[:\$1]]\" en šissei wikkin''",
 'searchmenu-new' => "'''Teīkeis pāusan \"[[:\$1|\$1]]\" en šissei wikki!'''",
-'searchhelp-url' => 'Help:Ēnturs',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Pradirēis pāusans sen šin prefiksan]]',
 'searchprofile-project' => 'Pagalbas be prōjaktas pāusai',
 'searchprofile-everything' => 'Wiss',
index 5d7037a..94e191f 100644 (file)
@@ -584,6 +584,7 @@ $1',
 'gotaccount' => 'آيا وار دمخې يو ګڼون لری؟ $1.',
 'gotaccountlink' => 'ننوتل',
 'userlogin-resetlink' => 'د ننوتلو مالومات مو هېر شوي؟',
+'createacct-join' => 'خپل مالومات لاندې ورکړۍ',
 'createacct-emailrequired' => 'برېښليک پته',
 'createacct-emailoptional' => 'برېښليک پته (اختياري)',
 'createacct-email-ph' => 'برېښليک پته مو وټاپۍ',
@@ -592,6 +593,7 @@ $1',
 'createaccountreason' => 'سبب:',
 'createacct-reason' => 'سبب',
 'createacct-reason-ph' => 'ولې تاسې بل ګڼون جوړول غوااړۍ',
+'createacct-captcha' => 'امنيتي تدبير',
 'createacct-imgcaptcha-ph' => 'پورته تاسې ته ښکاره شوی متن وټاپۍ',
 'createacct-submit' => 'ګڼون مو جوړ کړۍ',
 'createacct-benefit-heading' => '{{SITENAME}} ستاسې په شان خلکو لخوا جوړ شوی.',
@@ -686,10 +688,8 @@ $1',
 
 # Special:PasswordReset
 'passwordreset' => 'پټنوم بياپرځايول',
-'passwordreset-text' => 'د برېښليک د  بياپرځای کېدنې لپاره دا فورمه ډکه کړۍ.',
 'passwordreset-legend' => 'پټنوم بياپرځايول',
 'passwordreset-disabled' => 'په دې ويکي پټنوم بياپرځای کولو کړنه ناچارنه شوې.',
-'passwordreset-pretext' => '{{PLURAL:$1||د لاندې اومتوک يوه برخه مالومات وليکۍ}}',
 'passwordreset-username' => 'کارن-نوم:',
 'passwordreset-domain' => 'شپول:',
 'passwordreset-capture' => 'د پايلې برېښليک کتل غواړې؟',
@@ -858,6 +858,7 @@ $1',
 داسې ښکاري چې دا مخ ړنګ شوی.',
 'edit-conflict' => 'د سمولو خنډ',
 'edit-no-change' => 'ستاسې سمون بابېزه وګڼل شو، دا ځکه چې تاسې په متن کې کوم بدلون نه دی راوستلی.',
+'postedit-confirmation' => 'ستاسې سمون خوندي شو.',
 'edit-already-exists' => 'په دې نوم يو نوی مخ جوړ نه شو.
 پدې نوم د پخوا نه يو مخ شته.',
 'defaultmessagetext' => 'تلواليزه پيغام متن',
@@ -990,7 +991,6 @@ $1',
 'searchmenu-legend' => 'د پلټلو خوښنې',
 'searchmenu-exists' => "'''په دې ويکي يو مخ د \"[[:\$1]]\" په نامه دی'''",
 'searchmenu-new' => "'''په دې ويکي د \"[[:\$1]]\" مخ جوړول!'''",
-'searchhelp-url' => 'Help:لړليک',
 'searchprofile-articles' => 'مېنځپانګيز مخونه',
 'searchprofile-project' => 'د لارښود او پروژې مخونه',
 'searchprofile-images' => 'ګڼرسنۍ',
@@ -1874,7 +1874,7 @@ $UNWATCHURL  نه ليدنه وکړۍ
 'contributions-title' => 'د $1 کارن ونډې',
 'mycontris' => 'ونډې',
 'contribsub2' => 'د $1 لپاره ($2)',
-'uctop' => '(سرپاڼÙ\87)',
+'uctop' => '(اÙ\88سÙ\86Û\8c)',
 'month' => 'له مياشتې د (او پخواني):',
 'year' => 'له کال د (او پخواني):',
 
index 7437154..2ff82ff 100644 (file)
@@ -517,6 +517,7 @@ $messages = array(
 'create-this-page' => 'Criar/iniciar esta página',
 'delete' => 'Eliminar',
 'deletethispage' => 'Eliminar esta página',
+'undeletethispage' => 'Restaurar esta página',
 'undelete_short' => 'Restaurar {{PLURAL:$1|uma edição|$1 edições}}',
 'viewdeleted_short' => 'Ver {{PLURAL:$1|uma edição eliminada|$1 edições eliminadas}}',
 'protect' => 'Proteger',
@@ -717,6 +718,8 @@ $2',
 'namespaceprotected' => "Não possui permissão para editar páginas no espaço nominal '''$1'''.",
 'customcssprotected' => 'Não tem permissões para editar esta página de CSS porque ela contém as configurações pessoais de outro utilizador.',
 'customjsprotected' => 'Não tem permissões para editar esta página de JavaScript porque ela contém as configurações pessoais de outro utilizador.',
+'mycustomcssprotected' => 'Não tem permissão para editar esta página de CSS.',
+'mycustomjsprotected' => 'Não tem permissão para editar esta página de JavaScript.',
 'ns-specialprotected' => 'Não é possível editar páginas especiais',
 'titleprotected' => 'Este título foi protegido contra criação por [[User:$1|$1]].
 A justificação foi "\'\'$2\'\'".',
@@ -767,7 +770,7 @@ Não se esqueça de personalizar as suas [[Special:Preferences|preferências]].'
 'userlogout' => 'Sair',
 'notloggedin' => 'Não autenticado',
 'userlogin-noaccount' => 'Não tem uma conta?',
-'userlogin-joinproject' => 'Junte-se a {{SITENAME}}',
+'userlogin-joinproject' => 'Junte-se ao projeto {{SITENAME}}',
 'nologin' => 'Não possui uma conta? $1.',
 'nologinlink' => 'Criar uma conta',
 'createaccount' => 'Criar conta',
@@ -1394,7 +1397,6 @@ Os detalhes podem ser encontrados no [{{fullurl:{{#Special:Log}}/delete|page={{F
 'searchmenu-legend' => 'Opções de pesquisa',
 'searchmenu-exists' => "'''Há uma página com o nome \"[[:\$1]]\" nesta wiki'''",
 'searchmenu-new' => "'''Crie a página \"[[:\$1]]\" nesta wiki!'''",
-'searchhelp-url' => 'Help:Conteúdos',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Navegar as páginas com este prefixo]]',
 'searchprofile-articles' => 'Páginas de conteúdo',
 'searchprofile-project' => 'Páginas de Ajuda e de Projecto',
@@ -1654,6 +1656,8 @@ Esta informação será pública.',
 'right-editusercssjs' => 'Editar os ficheiros CSS e JS de outros utilizadores',
 'right-editusercss' => 'Editar os ficheiros CSS de outros utilizadores',
 'right-edituserjs' => 'Editar os ficheiros JS de outros utilizadores',
+'right-editmyusercss' => 'Editar os seus próprios ficheiros CSS de utilizador',
+'right-editmyuserjs' => 'Editar os seus próprios ficheiros JavaScript de utilizador',
 'right-rollback' => 'Reverter rapidamente as edições do último utilizador que editou uma página em particular',
 'right-markbotedits' => 'Marcar edições revertidas como edições de bot',
 'right-noratelimit' => 'Não ser afectado pelos limites de velocidade de operação',
@@ -3056,6 +3060,7 @@ Não há um directório temporário.',
 'import-error-unserialize' => 'Revisão $2 da página "$1" não pode ser desserializada. Foi relatado que a revisão usava o modelo de conteúdo $3 serializado como $4.',
 'import-options-wrong' => '{{PLURAL:$2|Opção errada|Opções erradas}}: <nowiki>$1</nowiki>',
 'import-rootpage-invalid' => 'A raiz da página dada é um título inválido.',
+'import-rootpage-nosubpage' => 'O domínio "$1" da página de raiz não permite subpáginas.',
 
 # Import log
 'importlogpage' => 'Registo de importações',
@@ -3194,14 +3199,16 @@ Este bloqueio foi provavelmente causado por um link para um site externo que con
 'pageinfo-header-restrictions' => 'Proteção da página',
 'pageinfo-header-properties' => 'Propriedades da página',
 'pageinfo-display-title' => 'Título exibido',
+'pageinfo-default-sort' => 'Chave de classificação padrão',
 'pageinfo-length' => 'Tamanho da página (em bytes)',
 'pageinfo-article-id' => 'ID da página',
 'pageinfo-language' => 'Idioma do conteúdo da página',
-'pageinfo-robot-policy' => 'Status do mecanismo de pesquisa',
+'pageinfo-robot-policy' => 'Estado para mecanismos de pesquisa',
 'pageinfo-robot-index' => 'Indexável',
 'pageinfo-robot-noindex' => 'Não indexável',
 'pageinfo-views' => 'Número de visitas',
 'pageinfo-watchers' => 'Número de vigilantes da página',
+'pageinfo-few-watchers' => 'Menos do que $1 {{PLURAL:$1|vigilante|vigilantes}}',
 'pageinfo-redirects-name' => 'Redirecionamentos para esta página',
 'pageinfo-subpages-name' => 'Subpáginas desta página',
 'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|redirecionamento|redirecionamentos}}; $3 {{PLURAL:$3|não-redirecionamento|não-redirecionamentos}})',
@@ -3215,12 +3222,16 @@ Este bloqueio foi provavelmente causado por um link para um site externo que con
 'pageinfo-recent-authors' => 'Número recente de autores distintos',
 'pageinfo-magic-words' => '{{PLURAL:$1|Palavra mágica|Palavras mágicas}} ($1)',
 'pageinfo-hidden-categories' => '{{PLURAL:$1|Categoria oculta|Categorias ocultas}} ($1)',
+'pageinfo-templates' => '{{PLURAL:$1|Predefinição|Predefinições}} transcluídas ($1)',
+'pageinfo-transclusions' => '{{PLURAL:$1|Página|Páginas}} onde é transcluída ($1)',
 'pageinfo-toolboxlink' => 'Informações da página',
 'pageinfo-redirectsto' => 'Redireciona para',
 'pageinfo-redirectsto-info' => 'informação',
 'pageinfo-contentpage' => 'Contada como página de conteúdo',
 'pageinfo-contentpage-yes' => 'Sim',
+'pageinfo-protect-cascading' => 'A protecção é em cascata a partir daqui',
 'pageinfo-protect-cascading-yes' => 'Sim',
+'pageinfo-protect-cascading-from' => 'As protecções são em cascata a partir de',
 'pageinfo-category-info' => 'Informações da categoria',
 'pageinfo-category-pages' => 'Número de páginas',
 'pageinfo-category-subcats' => 'Número de subcategorias',
@@ -3242,6 +3253,8 @@ Este bloqueio foi provavelmente causado por um link para um site externo que con
 'markedaspatrollederror' => 'Não é possível marcar como patrulhada',
 'markedaspatrollederrortext' => 'É necessário especificar uma edição a ser marcada como patrulhada.',
 'markedaspatrollederror-noautopatrol' => 'Não está autorizado a marcar as suas próprias edições como edições patrulhadas.',
+'markedaspatrollednotify' => 'Esta mudança em $1 foi marcada como patrulhada.',
+'markedaspatrollederrornotify' => 'A marcação como patrulhada falhou.',
 
 # Patrol log
 'patrol-log-page' => 'Registo de edições patrulhadas',
@@ -3305,11 +3318,25 @@ Executá-lo poderá comprometer a segurança do seu sistema.",
 'minutes' => '{{PLURAL:$1|um minuto|$1 minutos}}',
 'hours' => '{{PLURAL:$1|uma hora|$1 horas}}',
 'days' => '{{PLURAL:$1|um dia|$1 dias}}',
+'weeks' => '{{PLURAL:$1|$1 semana|$1 semanas}}',
 'months' => '{{PLURAL:$1|1 mês|$1 meses}}',
 'years' => '{{PLURAL:$1|1 ano|$1 anos}}',
 'ago' => '$1 atrás',
 'just-now' => 'agora mesmo',
 
+# Human-readable timestamps
+'hours-ago' => 'há $1 {{PLURAL:$1|hora|horas}}',
+'minutes-ago' => 'há $1 {{PLURAL:$1|minuto|minutos}}',
+'seconds-ago' => 'há $1 {{PLURAL:$1|segundo|segundos}}',
+'monday-at' => 'Segunda-feira às $1',
+'tuesday-at' => 'Terça-feira às $1',
+'wednesday-at' => 'Quarta-feira às $1',
+'thursday-at' => 'Quinta-feira às $1',
+'friday-at' => 'Sexta-feira às $1',
+'saturday-at' => 'Sábado às $1',
+'sunday-at' => 'Domingo às $1',
+'yesterday-at' => 'Ontem às $1',
+
 # Bad image list
 'bad_image_list' => 'O formato é o seguinte:
 
@@ -3812,6 +3839,7 @@ Este código de confirmação expira a $4.',
 # Scary transclusion
 'scarytranscludedisabled' => '[Transclusão interwikis foi impossibilitada]',
 'scarytranscludefailed' => '[Não foi possível obter a predefinição a partir de $1]',
+'scarytranscludefailed-httpstatus' => '[Não foi possível obter a predefinição a partir de $1: HTTP $2]',
 'scarytranscludetoolong' => '[URL longa demais]',
 
 # Delete conflict
@@ -3924,6 +3952,7 @@ Também pode [[Special:EditWatchlist|editar a lista da maneira convencional]].',
 'version-license' => 'Licença',
 'version-poweredby-credits' => "Esta é uma wiki '''[//www.mediawiki.org/ MediaWiki]''', copyright © 2001-$1 $2.",
 'version-poweredby-others' => 'outros',
+'version-credits-summary' => 'Gostaríamos de reconhecer as seguintes pessoas pela sua contribuição para o [[Special:Version|MediaWiki]].',
 'version-license-info' => 'O MediaWiki é software livre; pode redistribuí-lo e/ou modificá-lo nos termos da licença GNU General Public License, tal como publicada pela Free Software Foundation; tanto a versão 2 da Licença, como (por opção sua) qualquer versão posterior.
 
 O MediaWiki é distribuído na esperança de que seja útil, mas SEM QUALQUER GARANTIA; inclusive, sem a garantia implícita da POSSIBILIDADE DE SER COMERCIALIZADO ou de ADEQUAÇÂO PARA QUALQUER FINALIDADE ESPECÍFICA. Consulte a licença GNU General Public License para mais detalhes.
@@ -3936,6 +3965,18 @@ Em conjunto com este programa deve ter recebido [{{SERVER}}{{SCRIPTPATH}}/COPYIN
 'version-entrypoints-header-entrypoint' => 'Ponto de entrada',
 'version-entrypoints-header-url' => 'URL',
 
+# Special:Redirect
+'redirect' => 'Redireccionar pelo ID do ficheiro, utilizador ou revisão',
+'redirect-legend' => 'Redirecionar para um ficheiro ou página',
+'redirect-summary' => 'Esta página especial redireciona a um ficheiro (dado o nome do ficheiro), a uma página (dado um ID de revisão) ou a uma página de utilizador (dado o ID do utilizador).',
+'redirect-submit' => 'Ir',
+'redirect-lookup' => 'Pesquisa:',
+'redirect-value' => 'Valor:',
+'redirect-user' => 'Identificador do utilizador',
+'redirect-revision' => 'Revisão da página',
+'redirect-file' => 'Nome do ficheiro',
+'redirect-not-exists' => 'Valor não encontrado',
+
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Ficheiros duplicados',
 'fileduplicatesearch-summary' => "Procure ficheiros duplicados tendo por base o seu resumo criptográfico ''(hash value)''.",
@@ -4024,6 +4065,9 @@ Em conjunto com este programa deve ter recebido [{{SERVER}}{{SCRIPTPATH}}/COPYIN
 'htmlform-submit' => 'Enviar',
 'htmlform-reset' => 'Desfazer alterações',
 'htmlform-selectorother-other' => 'Outros',
+'htmlform-no' => 'Não',
+'htmlform-yes' => 'Sim',
+'htmlform-chosen-placeholder' => 'Seleccione uma opção',
 
 # SQLite database support
 'sqlite-has-fts' => '$1 com suporte de pesquisa de texto completo',
@@ -4058,8 +4102,10 @@ Em conjunto com este programa deve ter recebido [{{SERVER}}{{SCRIPTPATH}}/COPYIN
 'logentry-newusers-newusers' => 'A conta de utilizador $1 foi criada',
 'logentry-newusers-create' => 'A conta de utilizador $1 foi criada',
 'logentry-newusers-create2' => 'A conta de utilizador $3 foi criada por $1',
+'logentry-newusers-byemail' => 'Conta de utilizador $3 foi {{GENDER:$2|criada}} por $1 e a senha foi enviada por e-mail',
 'logentry-newusers-autocreate' => 'A conta $1 foi criada automaticamente',
 'logentry-rights-rights' => '$1 modificou os privilégios do utilizador  $3  de  $4  para $5',
+'logentry-rights-rights-legacy' => '$1 {{GENDER:$2|mudou}} as permissões de $3',
 'logentry-rights-autopromote' => '$1 foi automaticamente {{GENDER:$2|promovido|promovida}} de $4 a $5',
 'rightsnone' => '(nenhum)',
 
@@ -4115,6 +4161,7 @@ Caso contrário, pode facilmente usar o formulário abaixo. O seu comentário se
 'api-error-ok-but-empty' => 'Erro interno: o servidor não respondeu.',
 'api-error-overwrite' => 'Não é permitido sobrescrever um ficheiro existente.',
 'api-error-stashfailed' => 'Erro interno: O servidor não conseguiu armazenar o ficheiro temporário.',
+'api-error-publishfailed' => 'Erro interno: Servidor não conseguiu publicar ficheiro temporário.',
 'api-error-timeout' => 'O servidor não respondeu no prazo esperado.',
 'api-error-unclassified' => 'Ocorreu um erro desconhecido',
 'api-error-unknown-code' => 'Erro desconhecido: "$1"',
@@ -4135,4 +4182,7 @@ Caso contrário, pode facilmente usar o formulário abaixo. O seu comentário se
 'duration-centuries' => '$1 {{PLURAL:$1|século|séculos}}',
 'duration-millennia' => '$1 {{PLURAL:$1|milénio|milénios}}',
 
+# Image rotation
+'rotate-comment' => 'Imagem rodada em $1 {{PLURAL:$1|grau|graus}} no sentido dos ponteiros do relógio',
+
 );
index 4078ce6..2f11ee1 100644 (file)
@@ -451,9 +451,9 @@ $messages = array(
 'category-empty' => "''No momento esta categoria não possui nenhuma página ou arquivo multimídia.''",
 'hidden-categories' => '{{PLURAL:$1|Categoria oculta|Categorias ocultas}}',
 'hidden-category-category' => 'Categorias ocultas',
-'category-subcat-count' => '{{PLURAL:$2|Esta categoria possui apenas a seguinte subcategoria.|Esta categoria possui {{PLURAL:$1|uma subcategoria|$1 subcategorias}}, de um total de $2.}}',
+'category-subcat-count' => '{{PLURAL:$2|Esta categoria tem apenas a seguinte subcategoria.|Esta categoria tem {{PLURAL:$1|uma subcategoria|$1 subcategorias}}, de um total de $2.}}',
 'category-subcat-count-limited' => 'Esta categoria possui {{PLURAL:$1|a seguinte sub-categoria|as $1 sub-categorias a seguir}}.',
-'category-article-count' => '{{PLURAL:$2|Esta categoria possui apenas a seguinte página.|Esta categoria possui {{PLURAL:$1|a seguinte página|as $1 páginas a seguir}}, de um total de $2.}}',
+'category-article-count' => '{{PLURAL:$2|Esta categoria contém apenas a página seguinte subcategoria.|{{PLURAL:$1|A seguinte página está|As seguintes $1 páginas estão}}, nesta categoria de um total de $2.}}',
 'category-article-count-limited' => 'Esta categoria possui {{PLURAL:$1|a seguinte página|as $1 páginas a seguir}}.',
 'category-file-count' => '{{PLURAL:$2|Esta categoria possui apenas o seguinte arquivo.|Esta categoria possui {{PLURAL:$1|o seguinte arquivo|os $1 arquivos a seguir}}, de um total de $2.}}',
 'category-file-count-limited' => 'Esta categoria possui {{PLURAL:$1|um arquivo|$1 arquivos}}.',
@@ -523,6 +523,7 @@ $messages = array(
 'create-this-page' => 'Iniciar esta página',
 'delete' => 'Eliminar',
 'deletethispage' => 'Eliminar esta página',
+'undeletethispage' => 'Restaure esta página',
 'undelete_short' => 'Restaurar {{PLURAL:$1|uma edição|$1 edições}}',
 'viewdeleted_short' => 'Ver {{PLURAL:$1|uma edição eliminada|$1 edições eliminadas}}',
 'protect' => 'Proteger',
@@ -563,7 +564,7 @@ Aguarde um instante antes de tentar acessar esta página novamente.
 
 $1',
 'pool-timeout' => 'Tempo limite de espera para o bloqueio excedido',
-'pool-queuefull' => 'A pool queue está cheia',
+'pool-queuefull' => 'A fila de processos está cheia',
 'pool-errorunknown' => 'Erro desconhecido',
 
 # All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage) and the disambiguation template definition (see disambiguations).
@@ -727,6 +728,8 @@ $2',
 'namespaceprotected' => "Você não possui permissão para editar páginas no espaço nominal '''$1'''.",
 'customcssprotected' => 'Você não tem permissão para editar esta página CSS, porque ele contém configurações pessoais de outro usuário.',
 'customjsprotected' => 'Você não tem permissão para editar esta página de JavaScript, porque ele contém configurações pessoais de outro usuário.',
+'mycustomcssprotected' => 'Você não tem permissão para editar esta página CSS',
+'mycustomjsprotected' => 'Você não tem permissão para editar esta página JavaScript',
 'ns-specialprotected' => 'Não é possível editar páginas especiais',
 'titleprotected' => "Este título foi protegido, para que não seja criado.
 Quem o protegeu foi [[User:$1|$1]], com a justificativa: ''$2''.",
@@ -763,7 +766,7 @@ Não se esqueça de personalizar as suas [[Special:Preferences|preferências no
 'createacct-yourpasswordagain-ph' => 'Digite a senha novamente',
 'remembermypassword' => 'Lembrar meu login neste navegador (por no máximo $1 {{PLURAL:$1|dia|dias}})',
 'userlogin-remembermypassword' => 'Mantenha-me conectado',
-'userlogin-signwithsecure' => 'Entrar com um servidor seguro',
+'userlogin-signwithsecure' => 'Use a conexão segura',
 'securelogin-stick-https' => 'Permanecer conectado ao HTTPS após a autenticação',
 'yourdomainname' => 'Seu domínio:',
 'password-change-forbidden' => 'Você não pode alterar senhas nessa wiki.',
@@ -784,6 +787,7 @@ Não se esqueça de personalizar as suas [[Special:Preferences|preferências no
 'gotaccount' => "Já possui uma conta? '''$1'''.",
 'gotaccountlink' => 'Autenticar-se',
 'userlogin-resetlink' => 'Esqueceu-se do seu nome de usuário ou da senha?',
+'userlogin-resetpassword-link' => 'Troque sua senha',
 'helplogin-url' => 'Help:Iniciar sessão',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Ajuda para iniciar sessão]]',
 'createacct-join' => 'Insira suas informações abaixo.',
@@ -801,7 +805,7 @@ Não se esqueça de personalizar as suas [[Special:Preferences|preferências no
 'createacct-benefit-heading' => '{{SITENAME}} é feita por pessoas como você.',
 'createacct-benefit-body1' => '{{PLURAL:$1|edição|edições}}',
 'createacct-benefit-body2' => '{{PLURAL:$1|página|páginas}}',
-'createacct-benefit-body3' => 'contribuidores recentes',
+'createacct-benefit-body3' => '{{PLURAL:$1|contribuidor|contribuidores}} recentes',
 'badretype' => 'As senhas que você digitou não são iguais.',
 'userexists' => 'O nome de usuário fornecido já está em uso.
 Escolha um nome diferente.',
@@ -856,7 +860,7 @@ Como resultado, visitantes que usam este endereço IP não podem criar mais nenh
 'cannotchangeemail' => 'A conta de e-mail não pode ser alterada neste wiki.',
 'emaildisabled' => 'Este site não tem como enviar e-mails.',
 'accountcreated' => 'Conta criada',
-'accountcreatedtext' => 'A conta de usuário para $1 foi criada.',
+'accountcreatedtext' => 'A conta de usuário para [[{{ns:User}}:$1|$1]] ([[{{ns:Usuário Discussão}}:$1|Discussão]]) foi criada.',
 'createaccount-title' => 'Criação de conta em {{SITENAME}}',
 'createaccount-text' => 'Alguém criou uma conta de nome $2 para o seu endereço de email no wiki {{SITENAME}} ($4), tendo como senha "$3".
 Você deve se autenticar e alterar sua senha.
@@ -895,6 +899,8 @@ Você pode já ter alterado com sucesso a sua senha, ou solicitado uma nova senh
 
 # Special:PasswordReset
 'passwordreset' => 'Redefinir senha',
+'passwordreset-text-one' => 'Complete este formulário para trocar sua senha.',
+'passwordreset-text-many' => '{{PLURAL:$1|Entre com uma das partes dos dados para trocar sua senha.}}',
 'passwordreset-legend' => 'Reiniciar a senha',
 'passwordreset-disabled' => 'Redefinições de senha foram desabilitadas nesta wiki.',
 'passwordreset-emaildisabled' => 'Os recursos de e-mail foram desativados nesta wiki.',
@@ -1146,7 +1152,7 @@ Ela já existia.',
 'invalid-content-data' => 'Dados de conteúdo inválidos',
 'content-not-allowed-here' => 'Conteúdo do tipo "$1" não é permitido na página [[$2]]',
 'editwarning-warning' => 'Abandonar esta página pode fazer com que você perca todas as alterações que fez.
-Se você estiver autenticado, você pode desabilitar este aviso na seção "{{int:prefs-editing}}" de suas preferências.',
+Se você estiver autenticado, você pode desabilitar este aviso na seção "Edição" de suas preferências.',
 
 # Content models
 'content-model-wikitext' => 'wikitexto',
@@ -1386,7 +1392,6 @@ Os detalhes podem ser encontrados no [{{fullurl:{{#Special:Log}}/delete|page={{F
 'searchmenu-legend' => 'Opções de pesquisa',
 'searchmenu-exists' => "'''Há uma página com o nome \"[[:\$1]]\" nesta wiki'''",
 'searchmenu-new' => "'''Criar a página \"[[:\$1|\$1]]\" nesta wiki!'''",
-'searchhelp-url' => 'Help:Conteúdos',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Navegue pelas páginas com este prefixo]]',
 'searchprofile-articles' => 'Páginas de conteúdo',
 'searchprofile-project' => 'Ajuda e páginas de projeto',
@@ -1645,6 +1650,8 @@ Caso decida fornecê-lo, este será utilizado para dar-lhe crédito pelo seu tra
 'right-editusercssjs' => 'Editar os arquivos CSS e JS de outros usuários',
 'right-editusercss' => 'Editar os arquivos CSS de outros usuários',
 'right-edituserjs' => 'Editar os arquivos JS de outros usuários',
+'right-editmyusercss' => 'Edite seu próprio arquivo CSS de usuário',
+'right-editmyuserjs' => 'Edite seu próprio arquivo JavaScript de usuário',
 'right-rollback' => 'Reverter rapidamente o último usuário que editou uma página em particular',
 'right-markbotedits' => 'Marcar edições revertidas como edições de bot',
 'right-noratelimit' => 'Não afetado pelos limites de velocidade de operação',
@@ -2410,7 +2417,7 @@ Futuras modificações em tal página e páginas de discussão relacionadas ser
 'watchnochange' => 'Nenhuma das páginas vigiadas foi editada no período exibido.',
 'watchlist-details' => '{{PLURAL:$1|$1 página|$1 páginas}} na sua lista de páginas vigiadas, excluindo páginas de discussão.',
 'wlheader-enotif' => 'A notificação por email encontra-se ativada.',
-'wlheader-showupdated' => "As páginas modificadas desde a sua última visita são mostradas em '''negrito'''",
+'wlheader-showupdated' => "Páginas modificadas desde a sua última visita são mostradas em '''negrito'''",
 'watchmethod-recent' => 'verificando edições recentes para as páginas vigiadas',
 'watchmethod-list' => 'verificando páginas vigiadas para edições recentes',
 'watchlistcontains' => 'Sua lista de páginas vigiadas contém $1 {{PLURAL:$1|página|páginas}}.',
@@ -2981,6 +2988,7 @@ Acesse [//www.mediawiki.org/wiki/Localisation MediaWiki Localisation] e [//trans
 'thumbnail-more' => 'Ampliar',
 'filemissing' => 'arquivo não encontrado',
 'thumbnail_error' => 'Erro ao criar miniatura: $1',
+'thumbnail_error_remote' => 'Mensagem de erro para $1, $2',
 'djvu_page_error' => 'página DjVu inacessível',
 'djvu_no_xml' => 'Não foi possível acessar o XML do arquivo DjVU',
 'thumbnail-temp-create' => 'Não foi possível criar o arquivo temporário de miniatura',
@@ -3177,7 +3185,7 @@ Tal bloqueio foi provavelmente causado por uma ligação para um ''website'' ext
 'pageinfo-length' => 'Tamanho da página (em bytes)',
 'pageinfo-article-id' => 'ID da página',
 'pageinfo-language' => 'Idioma do conteúdo da página',
-'pageinfo-robot-policy' => 'Status do mecanismo de pesquisa',
+'pageinfo-robot-policy' => 'Estado para mecanismos de pesquisa',
 'pageinfo-robot-index' => 'Indexável',
 'pageinfo-robot-noindex' => 'Não indexável',
 'pageinfo-views' => 'Número de visitas',
@@ -4048,12 +4056,12 @@ Em conjunto com este programa deve ter recebido [{{SERVER}}{{SCRIPTPATH}}/COPYIN
 'logentry-delete-restore' => '$1 restaurou a página $3',
 'logentry-delete-event' => '$1 alterou a visibilidade {{PLURAL:$5|de uma entrada|de $5 entradas}} do registro $3: $4',
 'logentry-delete-revision' => '$1 alterou a visibilidade de {{PLURAL:$5|uma revisão|$5 revisões}} na página $3: $4',
-'logentry-delete-event-legacy' => '$1 alterou a visibilidade de eventos de log em $3',
+'logentry-delete-event-legacy' => '$1 alterou a visibilidade do registro de eventos em $3',
 'logentry-delete-revision-legacy' => '$1 alterou a visibilidade de revisões na página $3',
-'logentry-suppress-delete' => '$1 suprimiu a página $3',
+'logentry-suppress-delete' => '$1 supervisionou a página $3',
 'logentry-suppress-event' => '$1 alterou secretamente a visibilidade {{PLURAL:$5|de uma entrada|das $5 entradas}} em $3: $4',
 'logentry-suppress-revision' => '$1 alterou secretamente a visibilidade {{PLURAL:$5|de uma revisão|das $5 revisões}} em $3: $4',
-'logentry-suppress-event-legacy' => '$1 alterou secretamente a visibilidade das entradas em $3',
+'logentry-suppress-event-legacy' => '$1 alterou secretamente a visibilidade do registro de eventos em $3',
 'logentry-suppress-revision-legacy' => '$1 alterou secretamente a visibilidade de revisões na página $3',
 'revdelete-content-hid' => 'conteúdo oculto',
 'revdelete-summary-hid' => 'sumário de edição oculto',
index 03039bb..38290f6 100644 (file)
@@ -67,6 +67,7 @@
  * @author Leinad
  * @author Lejonel
  * @author Li-sung
+ * @author Liangent
  * @author Lloffiwr
  * @author MF-Warburg
  * @author Malafaya
@@ -423,7 +424,7 @@ This can also appear in the credits page if the credits feature is enabled,for e
 {{Identical|My pages}}',
 'qbspecialpages' => '{{Identical|Special page}}',
 'faq' => "FAQ is short for ''frequently asked questions''.",
-'faqpage' => "FAQ is short for ''frequently asked questions''. This page is only linked on some of the old skins, not in Monobook or Modern.
+'faqpage' => "FAQ is short for ''frequently asked questions''. This page is only linked in CologneBlue (an old skin), not in Monobook or Vector.
 
 {{doc-important|Do not translate <tt>Project:</tt> part.}}",
 
@@ -441,8 +442,7 @@ This can also appear in the credits page if the credits feature is enabled,for e
 'vector-action-undelete' => 'Tab at top of page, in vector skin.
 {{Identical|Undelete}}',
 'vector-action-unprotect' => 'Tab at top of page, in vector skin.
-
-{{Identical|Unprotect}}',
+{{Identical|Change protection}}',
 'vector-simplesearch-preference' => 'Preference for enhanced search suggestion in the Vector skin.',
 'vector-view-create' => 'Tab label in the Vector skin. See for example {{canonicalurl:Foo|useskin=vector}}
 {{Identical|Create}}',
@@ -555,7 +555,7 @@ See also:
 * {{msg-mw|Unprotect}}
 * {{msg-mw|Accesskey-ca-unprotect}}
 * {{msg-mw|Tooltip-ca-unprotect}}
-{{Identical|Unprotect}}',
+{{Identical|Change protection}}',
 'unprotectthispage' => 'In this Cologne Blue skin this is the anchor text for the link to unprotect the page in admin view, at the bottom of the page.
 {{Identical|Unprotect this page}}',
 'newpage' => '{{Identical|New page}}',
@@ -2348,9 +2348,6 @@ Viewprevnext is sometimes preceded by the {{msg-mw|Showingresults}} or {{msg-mw|
 'searchmenu-legend' => '{{Identical|Search options}}',
 'searchmenu-exists' => 'An option shown in a menu beside search form offering a link to the existing page having the specified title (when using the default MediaWiki search engine).',
 'searchmenu-new' => 'An option shown in a menu beside search form offering a red link to the not yet existing page having the specified title (when using the default MediaWiki search engine).',
-'searchhelp-url' => 'Description: The URL of the search help page.
-{{doc-important|Do not change the "<tt>Help:</tt>" part.}}
-{{Identical|HelpContent}}',
 'searchmenu-prefix' => '{{doc-important|Do not translate "Special:PrefixIndex"}}
 Parameters:
 * $1 - prefix string',
@@ -2903,10 +2900,18 @@ This user automatically bypasses IP blocks, auto-blocks and range blocks - so I
 'right-editprotected' => '{{doc-right|editprotected}}',
 'right-editinterface' => '{{doc-right|editinterface}}',
 'right-editusercssjs' => '{{doc-right|editusercssjs}}',
-'right-editusercss' => '{{doc-right|editusercss}}',
-'right-edituserjs' => '{{doc-right|edituserjs}}',
-'right-editmyusercss' => '{{doc-right|editmyusercss}}',
-'right-editmyuserjs' => '{{doc-right|editmyuserjs}}',
+'right-editusercss' => '{{doc-right|editusercss}}
+
+See also {{msg-mw|Right-editmyusercss}}',
+'right-edituserjs' => '{{doc-right|edituserjs}}
+
+See also {{msg-mw|Right-editmyuserjs}}',
+'right-editmyusercss' => '{{doc-right|editmyusercss}}
+
+See also {{msg-mw|Right-editusercss}}',
+'right-editmyuserjs' => '{{doc-right|editmyuserjs}}
+
+See also {{msg-mw|Right-edituserjs}}',
 'right-rollback' => '{{doc-right|rollback}}
 {{Identical|Rollback}}',
 'right-markbotedits' => '{{doc-right|markbotedits}}
@@ -4182,10 +4187,15 @@ See also:
 'querypage-disabled' => "On special pages that use expensive database queries but are not cacheable, this message is displayed when 'miser mode' is on (i.e. no expensive queries allowed).",
 
 # Book sources
-'booksources' => '{{doc-special|BookSources}}
+'booksources' => "{{doc-special|BookSources}}
+
+'''This message shouldn't be changed unless it has serious mistakes.'''
+
+It's used as the page name of the configuration page of [[Special:BookSources]]. Changing it breaks existing sites using the default version of this message.
+
 See also:
 * {{msg-mw|Booksources|title}}
-* {{msg-mw|Booksources-text|text}}',
+* {{msg-mw|Booksources-text|text}}",
 'booksources-search-legend' => 'Box heading on [[Special:BookSources|book sources]] special page. The box is for searching for places where a particular book can be bought or viewed.',
 'booksources-isbn' => '{{optional}}',
 'booksources-go' => 'Name of button in [[Special:BookSources]]
@@ -5067,7 +5077,7 @@ See also:
 'contribsub2' => 'Contributions for "user" (links)
 {{Identical|For $1}}',
 'nocontribs' => 'Optional parameter: $1 is the user name',
-'uctop' => 'This message is used in [[Special:Contributions]]. It is used to show that a particular edit was the last made to a page. Example: 09:57, 11 February 2008 (hist) (diff) Pagename‎ (edit summary) (top)
+'uctop' => 'This message is used in [[Special:Contributions]]. It is used to show that a particular edit was the last made to a page. Example: 09:57, 11 February 2008 (hist) (diff) Pagename‎ (edit summary) (current)
 {{Identical|Top}}',
 'month' => 'Used in [[Special:Contributions]] and history pages ([{{fullurl:Sandbox|action=history}} example]), as label for a dropdown box to select a specific month to view the edits made in that month, and the earlier months. See also {{msg-mw|year}}.',
 'year' => 'Used in [[Special:Contributions]] and history pages ([{{fullurl:Sandbox|action=history}} example]), as label for an input box to select a specific year to view the edits made in that year, and the earlier years.
@@ -5189,7 +5199,8 @@ Parameter $1 is a page title.',
 
 {{Identical|Redirect page}}',
 'istemplate' => 'Means that a page (a template, specifically) is used as <code><nowiki>{{Page name}}</nowiki></code>.
-Displayed in [[Special:WhatLinksHere]] (see [[Special:WhatLinksHere/Template:New portal]] for example).',
+Displayed in [[Special:WhatLinksHere]] (see [[Special:WhatLinksHere/Template:New portal]] for example).
+{{Identical|Transclusion}}',
 'isimage' => 'This message is displayed on [[Special:WhatLinksHere]] for images. It means that the image is used on the page (as opposed to just being linked to like an non-image page).',
 'whatlinkshere-prev' => 'This is part of the navigation message on the top and bottom of Whatlinkshere pages, where it is used as the first argument of {{msg-mw|Viewprevnext}}.
 $1 is the number of items shown per page. It is not used when $1 is zero; not sure what happens when $1 is one.
index c9d6c8f..a3a2049 100644 (file)
@@ -373,6 +373,18 @@ $messages = array(
 'oct' => 'ukt',
 'nov' => 'nuw',
 'dec' => 'dis',
+'january-date' => '$1 ñiqin inirupi',
+'february-date' => '$1 ñiqin phiwrirupi',
+'march-date' => '$1 ñiqin marsupi',
+'april-date' => '$1 ñiqin awrilpi',
+'may-date' => '$1 ñiqin mayukillapi',
+'june-date' => '$1 ñiqin hunyupi',
+'july-date' => '$1 ñiqin hulyupi',
+'august-date' => '$1 ñiqin awustupi',
+'september-date' => '$1 ñiqin sitimripi',
+'october-date' => '$1 ñiqin uktuwripi',
+'november-date' => '$1 ñiqin nuwimripi',
+'december-date' => '$1 ñiqin disimripi',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Katiguriya|Katiguriyakuna}}',
@@ -454,6 +466,7 @@ $messages = array(
 'create-this-page' => "Kay p'anqata kamariy",
 'delete' => 'Qulluy',
 'deletethispage' => "Kay p'anqata qulluy",
+'undeletethispage' => "Kay p'anqata qullusqamanta paqarichiy",
 'undelete_short' => "Paqarichiy {{PLURAL:$1|huk llamk'apusqa|$1 llamk'apusqa}}",
 'viewdeleted_short' => '{{PLURAL:$1|qullusqa hukchasqa|$1 qullusqa hukchasqa}} qhaway',
 'protect' => 'Amachay',
@@ -654,6 +667,8 @@ $2",
 'namespaceprotected' => "'''$1''' nisqa suti k'ititaqa llamk'apuyta manam saqillasunkichu.",
 'customcssprotected' => "Manam saqillasunkichu kay CSS p'anqata llamk'apuyta, huk ruraqpa kikin tiyachisqankunayuq kaptinmi.",
 'customjsprotected' => "Manam saqillasunkichu kay JavaScript p'anqata llamk'apuyta, huk ruraqpa kikin tiyachisqankunayuq kaptinmi.",
+'mycustomcssprotected' => "Kay CSS p'anqataqa manam llamk'apuyta atinkichu.",
+'mycustomjsprotected' => "Kay JavaScript p'anqataqa manam llamk'apuyta atinkichu.",
 'ns-specialprotected' => "{{ns:special}} suti k'itipi p'anqakunaqa manam llamk'apunallachu.",
 'titleprotected' => "Kay p'anqa sutitaqa [[User:$1|$1]] sutiyuq ruraq kamariymanta hark'arqanmi, kayraykum nispa: ''$2''.",
 'filereadonlyerror' => 'Manam atinichu "$1" sutiyuq willañiqita hukchayta, "$2" sutiyuq willañiqi churamuna ñawirillanapaq kachkaptinmi.
@@ -720,10 +735,19 @@ Ama qunqaychu [[Special:Preferences|{{SITENAME}} allinkachinaykikunata]] hukchay
 'createacct-realname' => 'Chiqap suti (munaspayki)',
 'createaccountreason' => 'Kayrayku:',
 'createacct-reason' => 'Kayrayku',
+'createacct-reason-ph' => 'Imaraykutaq huk rakiqunata kamarichkanki',
+'createacct-captcha' => 'Amachana llanchiy',
+'createacct-imgcaptcha-ph' => 'Hanaqpi rikusqayki qillqata yaykuchiy',
+'createacct-submit' => 'Rakiqunaykita kamariy',
+'createacct-benefit-heading' => '{{SITENAME}}taqa qam hina runakunam ruran.',
+'createacct-benefit-body1' => "{{PLURAL:$1|llamk'apusqa|llamk'apusqakuna}}",
+'createacct-benefit-body2' => "{{PLURAL:$1|p'anqa|p'anqakuna}}",
+'createacct-benefit-body3' => "{{PLURAL:$1|llamk'apuq|llamk'apuqkuna}}",
 'badretype' => 'Qusqayki yaykuna rimakunaqa manam kaqllachu.',
 'userexists' => 'Munasqayki ruraqpa sutiykiqa kachkanñam.
 Ama hina kaspa, huk ruraqpa sutiykita akllay.',
 'loginerror' => "Pantasqa llamk'apuy tiyaypa qallarisqan",
+'createacct-error' => 'Rakiquna kamariy pantasqa',
 'createaccounterror' => 'Manam atinichu rakiqunata kamariyta: $1',
 'nocookiesnew' => "Ruraqpa rakiqunaykiqa kichasqañam, ichataq manaraqmi yaykurqankichu. {{SITENAME}}qa <em>kuki</em> nisqakunatam llamk'achin ruraqkunata kikinyachinapaq. Antañiqiqniykipiqa manam <em>kuki</em> nisqakuna atinchu. Ama hina kaspa, atichispa huk kutita yaykuykachay.",
 'nocookieslogin' => "{{SITENAME}} <em>kuki</em> nisqakunata llamk'achin ruraqkunata kikinyachinapaq. Antañiqiqniykipiqa manam <em>kuki</em> nisqakuna atinchu. Ama hina kaspa, atichispa huk kutita ruraykachay.",
@@ -768,7 +792,7 @@ Ama hina kaspa, chaskispaykiqa ruraqpa sutiykita nispa musuqmanta yaykuy.',
 'cannotchangeemail' => 'Ruraqpa rakiqunanpi e-chaski imamaytakunaqa kay wikipi manam hukchanallachu.',
 'emaildisabled' => 'Kay tiyayqa e-chaskita manam kachayta atinchu.',
 'accountcreated' => 'Rakiqunaqa kichasqañam',
-'accountcreatedtext' => '$1 sutiyuq ruraqpa rakiqunanqa kichasqañam.',
+'accountcreatedtext' => '[[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|rimanakuy]]) sutiyuq ruraqpa rakiqunanqa kichasqañam.',
 'createaccount-title' => '{{SITENAME}}paq musuq rakiqunata kichariy',
 'createaccount-text' => 'Pipas e-chaski imamaytaykipaq {{SITENAME}}pi ($4) "$2" sutiyuq rakiqunatam kicharqan, "$3" nisqa yaykuna rimayuq. Yaykuspayki yaykuna rimaykita hukchanaykim tiyanman.
 
@@ -801,13 +825,15 @@ Kay willay pantasqa kaptinqa, qhawarparillay.',
 'resetpass-wrong-oldpass' => "Mit'alla icha kunan yaykuna rimaqa manam allinchu.
 Yaykuna rimaykitaqa aypalla hukcharqunkiñachá icha huk mit'alla yaykuna rimata mañakurqunkiñachá.",
 'resetpass-temp-password' => "Mit'alla yaykuna rima:",
+'resetpass-abort-generic' => "Yaykuna rima hukchaytaqa yapa wakichim p'itirqan.",
 
 # Special:PasswordReset
 'passwordreset' => 'Yaykuna rimata kutichiy',
-'passwordreset-text' => "Kay hunt'ana p'anqata hunt'ay, yaykuna rimaykita kutichinaykipaq.",
+'passwordreset-text-one' => "Kay hunt'ana p'anqata hunt'ay, yaykuna rimaykita kutichinaykipaq.",
+'passwordreset-text-many' => '{{PLURAL:$1|Kay willa rakikunamanta hukta yaykuchiy, yaykuna rimaykita kutichinaykipaq.}}',
 'passwordreset-legend' => 'Yaykuna rimata kutichiy',
 'passwordreset-disabled' => 'Kay wikipiqa yaykuna rimata manam kutichiyta atinkichu.',
-'passwordreset-pretext' => '{{PLURAL:$1||Qatiqpi kaq willa rakikunamanta huktam yaykuchiy}}',
+'passwordreset-emaildisabled' => "Kay wikipiqa e-chaski llamk'anakunaman ama nisqam.",
 'passwordreset-username' => 'Ruraqpa sutin:',
 'passwordreset-domain' => 'Duminyu:',
 'passwordreset-capture' => 'Llalliwaq e-chaskita qhawayta munankichu?',
@@ -1032,9 +1058,11 @@ Manam nirqanchu imarayku.",
 Qullusqachá.",
 'edit-conflict' => "Tuylla llamk'apuymanta sasachakuy.",
 'edit-no-change' => "Manapuni hukchaptiykim, llamk'apusqayki manam hallch'asqachu.",
+'postedit-confirmation' => "Llamk'apusqaykiqa waqaychasqañam.",
 'edit-already-exists' => "Manam atinichu musuq p'anqata kamariyta.
 Kachkañam.",
 'defaultmessagetext' => 'Ñawpaq qillqa',
+'content-failed-to-parse' => "Manam atinichu $2 samiqta $1 kikinchapaq t'ikrayta: $3",
 'invalid-content-data' => 'Samiqmanta willaykunaqa manam allinchu',
 'content-not-allowed-here' => '"$1" nisqa samiqqa [[$2]] sutiyuq p\'anqapi manam saqillasqachu',
 'editwarning-warning' => "Kay p'anqata saqispaykiqa lliw rurarqusqayki hukchasqakunatachá chinkachiykiman.
@@ -1277,7 +1305,6 @@ Imaymanata [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} qulluy ha
 'searchmenu-legend' => 'Maskaypaq akllanakuna',
 'searchmenu-exists' => "'''Kay wikipiqa «[[$1]]» sutiyuq p'anqam kachkan'''",
 'searchmenu-new' => "'''Kay wikipi \"[[:\$1]]\" sutiyuq p'anqata kamariy!'''",
-'searchhelp-url' => 'Help:Yanapana',
 'searchmenu-prefix' => "[[Special:PrefixIndex/$1|Kay ñawpa k'askaqchayuq huk p'anqakunata maskay]]",
 'searchprofile-articles' => "Samiq p'anqakuna",
 'searchprofile-project' => "Yanapanapaq ruraykamaypaqpas p'anqakuna",
@@ -1318,6 +1345,7 @@ Imaymanata [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} qulluy ha
 'powersearch-togglenone' => 'Mana imapas',
 'search-external' => 'Hawapi maskay',
 'searchdisabled' => "{{SITENAME}} nisqapi maskaymanqa ama nisqam. Hinachkaptinqa, maskariy google nisqawan icha huk hawa maskanakunawan, ichataq yuyariy, {{SITENAME}}manta hallch'asqankunaqa manañachá musuqllachu.",
+'search-error' => 'Maskaypiqa pantasqam tukurqan: $1',
 
 # Preferences page
 'preferences' => 'Allinkachinakuna',
@@ -1459,6 +1487,7 @@ $1 {{PLURAL:$1|sanampamanta|sanampakunamanta}} aswan pisi kananmi.',
 'userrights-notallowed' => 'Qampa rakiqunaykiwanqa manam ruraqkunap hayñinkunata yapayta icha qichuyta atinkichu.',
 'userrights-changeable-col' => 'Hukchanayki huñukuna',
 'userrights-unchangeable-col' => 'Mana hukchanayki huñukuna',
+'userrights-conflict' => 'Ruraqpa hayñin tupanakuymi. Ama hina kaspa, hukchasqaykikunata musuqmanta quy.',
 
 # Groups
 'group' => 'Huñu:',
@@ -1529,6 +1558,8 @@ $1 {{PLURAL:$1|sanampamanta|sanampakunamanta}} aswan pisi kananmi.',
 'right-editusercssjs' => "Huk ruraqkunap CSS, JS willañiqinkunata llamk'apuy",
 'right-editusercss' => "Huk ruraqkunap CSS willañiqinkunata llamk'apuy",
 'right-edituserjs' => "Huk ruraqkunap JS willañiqinkunata llamk'apuy",
+'right-editmyusercss' => "Kikiykip ruraqpaq CSS willañiqiykikunata llamk'apuy",
+'right-editmyuserjs' => "Kikiykip ruraqpaq JavaScript willañiqiykikunata llamk'apuy",
 'right-rollback' => "Huk p'anqapi qhipaq llamk'apuqpa hukchasqankunata utqaylla kutichiy",
 'right-markbotedits' => "Kutichisqa llamk'apusqakunata rurana antachap llamk'apusqankunata hina sananchay",
 'right-noratelimit' => 'Achura saywakunap manam chayachisqanchu',
@@ -2491,7 +2522,7 @@ $1',
 'mycontris' => "Llamk'apusqaykuna",
 'contribsub2' => '$1 ($2)',
 'nocontribs' => 'Manam kay hina hukchasqakuna kanchu.',
-'uctop' => ' (qhipaq hukchasqa)',
+'uctop' => '(qhipaq hukchasqa)',
 'month' => 'Kay killamanta (ñawpaqmantapas):',
 'year' => 'Kay watamanta (ñawpaqmantapas):',
 
@@ -2801,6 +2832,7 @@ Ama hina kaspa, [//www.mediawiki.org/wiki/Localisation MediaWiki Localisation] n
 'thumbnail-more' => 'Hatunchay',
 'filemissing' => 'Manam willañiqi kachkanchu',
 'thumbnail_error' => 'Manam atinichu rikchachata kamayta: $1',
+'thumbnail_error_remote' => '$1 nisqamanta pantasqa willasqa: $2',
 'djvu_page_error' => "DjVu nisqa p'anqaqa nisyum",
 'djvu_no_xml' => 'Manam atinichu XML-ta apamuy DjVu willañiqipaq',
 'thumbnail-temp-create' => "Manam atinichu mit'alla rikch'acha willañiqita kamariyta.",
@@ -2854,6 +2886,7 @@ Tukuy hawa wikimanta chaskisqakunaqa [[Special:Log/import|hawamanta chaskiy hall
 'import-error-interwiki' => '"$1" sutiyuq p\'anqaqa hawamanta manam chaskisqachu, sutin wikipura (interwiki) nisqapaq hallch\'asqa kaptinmi.',
 'import-error-special' => '"$1" sutiyuq p\'anqaqa hawamanta manam chaskisqachu, mana p\'anqapaq kaq sapaq suti k\'itiman kapuspanmi.',
 'import-error-invalid' => '"$1" sutiyuq p\'anqaqa hawamanta manam chaskisqachu, sutin mana allin kaptinmi.',
+'import-error-unserialize' => '"$1" nisqa p\'anqapi $2 musuqchasqataqa manam ñiqirayta atinichu. Kay musuqchasqaqa $4 hina ñiqichasqa $3 kikinchatas llamk\'achin.',
 'import-options-wrong' => 'Pantasqa {{PLURAL:$2|akllasqa|akllasqakuna}}: <nowiki>$1</nowiki>',
 'import-rootpage-invalid' => "Qusqa saphi p'anqaqa manam allin sutichu.",
 'import-rootpage-nosubpage' => 'Saphi p\'anqap "$1" sutisuyunpiqa urin p\'anqakuna manam kanqachu.',
@@ -3103,11 +3136,25 @@ Payta rurachiyqa antañiqiqniykita llikaykitapas waqllinqachá.",
 'minutes' => '{{PLURAL:$1|huk minutu|$1 minutu}}',
 'hours' => '{{PLURAL:$1|huk ura|$1 ura}}',
 'days' => "{{PLURAL:$1|huk p'unchaw|$1 p'unchaw}}",
+'weeks' => '{{PLURAL:$1|huk simana|$1 simana}}',
 'months' => '{{PLURAL:$1|huk killa|$1 killa}}',
 'years' => '{{PLURAL:$1|huk wata|$1 wata}}',
 'ago' => '$1 ñaqha',
 'just-now' => 'kunallan',
 
+# Human-readable timestamps
+'hours-ago' => '$1 {{PLURAL:$1|ura|urakuna}} ñaqha',
+'minutes-ago' => '$1 {{PLURAL:$1|minutu|minutukuna}} ñaqha',
+'seconds-ago' => '$1 {{PLURAL:$1|sikundu|sikundukuna}} ñaqha',
+'monday-at' => 'Killachaw $1 pachapi',
+'tuesday-at' => 'Atipachaw $1 pachapi',
+'wednesday-at' => 'Quyllurchaw $1 pachapi',
+'thursday-at' => 'Illapachaw $1 pachapi',
+'friday-at' => "Ch'askachaw $1 pachapi",
+'saturday-at' => "K'uychichaw $1 pachapi",
+'sunday-at' => 'Intichaw $1 pachapi',
+'yesterday-at' => "Qayna p'unchaw $1 pachapi",
+
 # Bad image list
 'bad_image_list' => "Chantaqa kay hinam:
 
@@ -3712,6 +3759,17 @@ MediaWikitaqa mast'ariyku runakunata yanapanapaqmi, ichataq MANAM FIYAKUYTA ATIY
 'version-entrypoints-header-entrypoint' => "Yaykuna t'uksi",
 'version-entrypoints-header-url' => 'URL tiyay',
 
+# Special:Redirect
+'redirect' => 'Willañiqikama, ruraqkama icha musuqchay ID-kama pusapuy',
+'redirect-legend' => "Willañiqiman icha p'anqaman pusapuy",
+'redirect-submit' => 'Riy',
+'redirect-lookup' => 'Maskay:',
+'redirect-value' => 'Chani:',
+'redirect-user' => 'Ruraqpa kikin kaynin',
+'redirect-revision' => "P'anqamanta musuqchasqa",
+'redirect-file' => 'Willañiqip sutin',
+'redirect-not-exists' => 'Chaniqa manam tarisqachu',
+
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Iskaychasqa willañiqikunata maskay',
 'fileduplicatesearch-summary' => "Iskaychasqa willañiqikunata maskay ''hash'' chaninpi tiksispa.",
@@ -3800,6 +3858,9 @@ MediaWikitaqa mast'ariyku runakunata yanapanapaqmi, ichataq MANAM FIYAKUYTA ATIY
 'htmlform-submit' => 'Kachay',
 'htmlform-reset' => 'Hukchasqakunata kutichiy',
 'htmlform-selectorother-other' => 'Wakin',
+'htmlform-no' => 'Mana',
+'htmlform-yes' => 'Arí',
+'htmlform-chosen-placeholder' => 'Akllanata akllay',
 
 # SQLite database support
 'sqlite-has-fts' => "$1 hunt'a qillqa maskana yanapawan",
index db311ea..3cbfcac 100644 (file)
@@ -572,10 +572,8 @@ Eventualmain has ti gia midà cun success tes pled-clav u dumandà per in nov pl
 
 # Special:PasswordReset
 'passwordreset' => 'Redefinir il pled-clav',
-'passwordreset-text' => "Emplenescha quest formular per retschaiver in e-mail che cuntegna ils detagls per acceder tes conto d'utilisader.",
 'passwordreset-legend' => 'Redefinir il pled-clav',
 'passwordreset-disabled' => 'La pussaivladad da redefinir il pled-clav è vegnida deactivada sin questa wiki.',
-'passwordreset-pretext' => '{{PLURAL:$1||Endatescha in dals tocs da data sutvart}}',
 'passwordreset-username' => "Num d'utilisader:",
 'passwordreset-domain' => 'Domain:',
 'passwordreset-capture' => "Mussar l'e-mail che resultescha?",
@@ -1066,7 +1064,6 @@ Detagls pon vegnir chattads en il [{{fullurl:{{#Special:Log}}/delete|page={{FULL
 'searchmenu-legend' => 'Opziuns da tschertgar',
 'searchmenu-exists' => "'''Igl exista ina pagina cun il num \"[[:\$1]] sin questa vichi\"'''",
 'searchmenu-new' => "'''Crear la pagina \"[[:\$1]]\" sin questa vichi!'''",
-'searchhelp-url' => 'Help:Cuntegn',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Mussar tut las paginas cun quest prefix]]',
 'searchprofile-articles' => 'Paginas da cuntegn',
 'searchprofile-project' => 'Agid e paginas dal project',
index 7fa1a6c..bc1a051 100644 (file)
@@ -501,6 +501,7 @@ pe titlul secțiunii (JavaScript)',
 'create-this-page' => 'Creați această pagină',
 'delete' => 'Ștergere',
 'deletethispage' => 'Șterge pagina',
+'undeletethispage' => 'Recuperează această pagină',
 'undelete_short' => 'Recuperarea {{PLURAL:$1|unei modificări|a $1 modificări|a $1 de modificări}}',
 'viewdeleted_short' => 'Vedeți {{PLURAL:$1|o modificare ștearsă|$1 (de) modificări șterse}}',
 'protect' => 'Protejare',
@@ -703,6 +704,8 @@ $2',
 'namespaceprotected' => "Nu aveți permisiunea de a modifica pagini din spațiul de nume '''$1'''.",
 'customcssprotected' => 'Nu aveți permisiunea de a modifica această pagină CSS, deoarece conține setările personale ale altui utilizator.',
 'customjsprotected' => 'Nu aveți permisiunea de a modifica această pagină JavaScript, deoarece conține setările personale ale altui utilizator.',
+'mycustomcssprotected' => 'Nu aveți permisiunea să modificați această pagină CSS.',
+'mycustomjsprotected' => 'Nu aveți permisiunea să modificați această pagină JavaScript.',
 'ns-specialprotected' => 'Paginile din spațiul de nume {{ns:special}} nu pot fi editate.',
 'titleprotected' => "Acest titlu a fos protejat la creare de [[User:$1|$1]].
 Motivul invocat este ''$2''.",
@@ -831,7 +834,7 @@ Prin urmare, vizitatorii care folosesc același IP nu mai pot crea alte conturi
 'cannotchangeemail' => 'Adresele de e-mail asociate conturilor nu pot fi schimbate pe acest wiki.',
 'emaildisabled' => 'Acest site nu poate trimite e-mailuri.',
 'accountcreated' => 'Contul a fost creat.',
-'accountcreatedtext' => 'Contul utilizatorului pentru $1 a fost creat.',
+'accountcreatedtext' => 'Contul utilizatorului pentru [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|discuție]]) a fost creat.',
 'createaccount-title' => 'Creare de cont la {{SITENAME}}',
 'createaccount-text' => 'Cineva a creat un cont asociat adresei dumneavoastră de e-mail pe {{SITENAME}} ($4) numit „$2” și având parola „$3”.
 Este de dorit să vă autentificați și să schimbați parola cât mai repede.
@@ -1364,7 +1367,6 @@ Detalii se pot găsi în [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE
 'searchmenu-legend' => 'Opțiuni căutare',
 'searchmenu-exists' => "'''Există o pagină cu titlul „[[:$1]]'” pe acest site.'''",
 'searchmenu-new' => "'''Creați pagina „[[:$1]]” pe acest wiki!'''",
-'searchhelp-url' => 'Help:Ajutor',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Răsfoiește paginile cu acest prefix]]',
 'searchprofile-articles' => 'Pagini cu conținut',
 'searchprofile-project' => 'Pagini din spațiile Proiect și Ajutor',
@@ -1622,6 +1624,8 @@ Dacă decideți furnizarea sa, acesta va fi folosit pentru a vă atribui munca.'
 'right-editusercssjs' => 'Modifică fișierele CSS și JS ale altor utilizatori',
 'right-editusercss' => 'Modifică fișierele CSS ale altor utilizatori',
 'right-edituserjs' => 'Modifică fișierele JS ale altor utilizatori',
+'right-editmyusercss' => 'Modificați-vă propriile fișiere CSS',
+'right-editmyuserjs' => 'Modificați-vă propriile fișiere JavaScript',
 'right-rollback' => 'Revocarea rapidă a modificărilor ultimului utilizator care a modificat o pagină particulară',
 'right-markbotedits' => 'Marchează revenirea ca modificare efectuată de robot',
 'right-noratelimit' => 'Neafectat de limitele raportului',
@@ -2623,7 +2627,7 @@ $1',
 'mycontris' => 'Contribuții',
 'contribsub2' => 'Pentru $1 ($2)',
 'nocontribs' => 'Nu a fost găsită nici o modificare care să satisfacă acest criteriu.',
-'uctop' => '(sus)',
+'uctop' => '(actuală)',
 'month' => 'Din luna (și dinainte):',
 'year' => 'Până în anul:',
 
index 1d48931..ecfd00d 100644 (file)
@@ -228,6 +228,7 @@ $messages = array(
 'create-this-page' => "Ccreje 'a pàgene",
 'delete' => 'Scangìlle',
 'deletethispage' => 'Scangille sta pàgene',
+'undeletethispage' => 'Repristine sta pàgene',
 'undelete_short' => "Annulle {{PLURAL:$1|'nu camgiamende|$1 cangiaminde}}",
 'viewdeleted_short' => "Vide {{PLURAL:$1|'nu cangiamende scangellate|$1 cangiaminde scangellate}}",
 'protect' => 'Prutette',
@@ -438,6 +439,8 @@ $2',
 'namespaceprotected' => "Non ge tine 'u permesse pe cangià pàggene d'u neimspeise '''$1'''.",
 'customcssprotected' => "Non ge tine 'u permesse pe cangià sta pàgene de CSS, purcè tène otre configurazione personale.",
 'customjsprotected' => "Non ge tine 'u permesse pe cangià sta pàgene de Javascript, purcè tène otre configurazione personale.",
+'mycustomcssprotected' => 'Non ge tìne le permesse pe cangià sta pàgene CSS',
+'mycustomjsprotected' => 'Non ge tìne le permesse pe cangià sta pàgene JavaScript',
 'ns-specialprotected' => 'Le pàgene speciale no ponne essere cangete.',
 'titleprotected' => "Stu titele ha state prutette da 'a ccreazione da [[User:$1|$1]].
 'U mutive jè ''$2''.",
@@ -579,7 +582,7 @@ Pe piacere mitte l'indirizze a cumme criste cumanne, ce nò no 'u scè mettènne
 'cannotchangeemail' => "Le indirizze e-mail d'u cunde utende non ge ponne essere cangiate sus a sta uicchi.",
 'emaildisabled' => 'Stu site non ge pò mannà e-mail.',
 'accountcreated' => 'cunde utende ccrejete',
-'accountcreatedtext' => "'U cunde utende pe $1 ha state ccrejete.",
+'accountcreatedtext' => "'U cunde utende pe [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|'ngazzaminde]]) ha state ccrejate.",
 'createaccount-title' => "Ccreazzione de 'u cunde utende pe {{SITENAME}}",
 'createaccount-text' => 'Quacchedune ha ccrejete \'nu cunde utende cu l\'indirizze e-mail tue sus a {{SITENAME}} ($4) chiamete "$2", cu password "$3".
 Tu, mò, t\'avisse a collegà e cangià \'a password toje.
@@ -1123,7 +1126,6 @@ Le dettaglie le puè acchià jndr'à l'[{{fullurl:{{#Special:Log}}/delete|page={
 'searchmenu-legend' => 'Opzione de ricerche',
 'searchmenu-exists' => "'''Stè 'na pàgene nnumenete \"[[\$1]]\" sus 'a sta Uicchipèdie'''",
 'searchmenu-new' => "'''[[:\$1|Ccreje]] 'a pàgene \"[[:\$1|\$1]]\" sus 'a sta Uicchipèdie!'''",
-'searchhelp-url' => 'Help:Condenute',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Sfogghije le pàggene cu stu prefisse]]',
 'searchprofile-articles' => 'Vôsce',
 'searchprofile-project' => 'Pàggene de ajiute e de pruggette',
@@ -1386,6 +1388,8 @@ Ce tu 'u mitte, a fatje ca è fatte t'avène ricanusciute.",
 'right-editusercssjs' => "Cange 'u CSS e 'u JS de l'otre utinde",
 'right-editusercss' => "Cange 'u CSS de l'otre utinde",
 'right-edituserjs' => "Cange 'u JS de l'otre utinde",
+'right-editmyusercss' => 'Cange le file tune de CSS',
+'right-editmyuserjs' => 'Cange le file tune de JavaScript',
 'right-rollback' => "Annulle velocemende le cangiaminde de l'urteme utende ca ha cangiate 'na pàgena particolare",
 'right-markbotedits' => 'Marche le cangiaminde annullate cumme cangiaminde de bot',
 'right-noratelimit' => "Non g'à state tuccate da le limite de le pundegge",
@@ -2418,7 +2422,7 @@ $1",
 'mycontris' => 'Condrebbute mie',
 'contribsub2' => 'Pe $1 ($2)',
 'nocontribs' => 'Nisciune cangiamende ha state acchiate cu ste criterie.',
-'uctop' => '(sus)',
+'uctop' => '(de mò)',
 'month' => "Da 'u mese (e cchiù recende):",
 'year' => "Da l'anne (e cchiù recende):",
 
index ddb958e..15149ab 100644 (file)
@@ -15,6 +15,7 @@
  * @author AlexSm
  * @author Alexander Sigachov (alexander.sigachov@gmail.com)
  * @author Alexandr Efremov
+ * @author Altai uul
  * @author Amikeco
  * @author Amire80
  * @author Anonim.one
@@ -60,6 +61,7 @@
  * @author KorneySan
  * @author Kv75
  * @author Lockal
+ * @author Lunacy1911
  * @author Matma Rex
  * @author MaxBioHazard
  * @author MaxSem
@@ -84,6 +86,7 @@
  * @author Гусейн
  * @author ОйЛ
  * @author Умар
+ * @author Чаховіч Уладзіслаў
  * @author לערי ריינהארט
  * @author გიორგიმელა
  */
@@ -628,6 +631,7 @@ $messages = array(
 'create-this-page' => 'Создать эту страницу',
 'delete' => 'Удалить',
 'deletethispage' => 'Удалить эту страницу',
+'undeletethispage' => 'Восстановить эту страницу',
 'undelete_short' => 'Восстановить $1 {{PLURAL:$1|правку|правки|правок}}',
 'viewdeleted_short' => 'Просмотр $1 {{PLURAL:$1|удалённой правки|удалённых правок|удалённых правок}}',
 'protect' => 'Защитить',
@@ -829,6 +833,8 @@ $2',
 'namespaceprotected' => 'У вас нет разрешения редактировать страницы в пространстве имён «$1».',
 'customcssprotected' => 'У вас нет разрешения редактировать эту CSS-страницу, так как она содержит личные настройки другого участника.',
 'customjsprotected' => 'У вас нет разрешения редактировать эту JavaScript-страницу, так как она содержит личные настройки другого участника.',
+'mycustomcssprotected' => 'У вас нет прав для редактирования этого CSS страницы.',
+'mycustomjsprotected' => 'У вас нет прав для редактирования JavaScript на странице.',
 'ns-specialprotected' => 'Страницы пространства имён «{{ns:special}}» не могут правиться.',
 'titleprotected' => "Создание страницы с таким заголовком было запрещено участником [[Участник:$1|$1]].
 Указана следующая причина: ''$2''.",
@@ -887,7 +893,7 @@ $2',
 'gotaccountlink' => 'Представьтесь',
 'userlogin-resetlink' => 'Забыли данные для входа?',
 'userlogin-resetpassword-link' => 'Сброс пароля',
-'helplogin-url' => 'Help:Ð\92Ñ\85од Ð² Ñ\81иÑ\81Ñ\82емÑ\83',
+'helplogin-url' => 'Help:Ð\9fÑ\80едÑ\81Ñ\82авление Ñ\81иÑ\81Ñ\82еме',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Помощь со входом в систему]]',
 'createacct-join' => 'Введите свои данные ниже.',
 'createacct-emailrequired' => 'Адрес электронной почты',
@@ -1498,7 +1504,6 @@ $1",
 'searchmenu-legend' => 'Настройки поиска',
 'searchmenu-exists' => "'''В этой вики есть страница «[[:$1]]»'''",
 'searchmenu-new' => "'''Создать страницу «[[:$1]]» в этом вики-проекте!'''",
-'searchhelp-url' => 'Help:Содержание',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Показать страницы с этим префиксом]]',
 'searchprofile-articles' => 'Основные страницы',
 'searchprofile-project' => 'Страницы справки и проекта',
@@ -1755,6 +1760,7 @@ $1",
 'right-editusercssjs' => 'правка CSS- и JS-файлов других участников',
 'right-editusercss' => 'правка CSS-файлов других участников',
 'right-edituserjs' => 'правка JavaScript-файлов других участников',
+'right-editmyusercss' => 'Редактирование файлов CSS пользователя',
 'right-rollback' => 'быстрый откат правок последнего участника на определенной странице',
 'right-markbotedits' => 'отметка откатываемых правок как правок бота',
 'right-noratelimit' => 'нет ограничений по скорости',
index 0931e4f..2d60f87 100644 (file)
@@ -318,6 +318,7 @@ $messages = array(
 'create-this-page' => 'Створити тоту сторінку',
 'delete' => 'Вымазати',
 'deletethispage' => 'Змазати тоту сторінку',
+'undeletethispage' => 'Обновити тоту сторінку',
 'undelete_short' => 'Обновити $1 {{PLURAL:$1|верзію|верзії|верзії}}',
 'viewdeleted_short' => 'Видїти {{PLURAL:$1|змазанов едітаціёв|$1 змазаны едітації|$1 змазаных едітацій}}',
 'protect' => 'Всокотити',
@@ -518,6 +519,8 @@ $2',
 'namespaceprotected' => 'Не маєте права едітовати сторінкы в просторї  назв «$1».',
 'customcssprotected' => 'Не маєте права едітовати тоту сторінку з CSS, бо обсягує персоналны наставлїна іншого хоснователя.',
 'customjsprotected' => 'Не маєте права едітовати тоту сторінку з JavaScript-ом, бо обсягує персоналны наставлїна іншого хоснователя.',
+'mycustomcssprotected' => 'Не мате права на управы той CSS сторінкы.',
+'mycustomjsprotected' => 'Не мате права на едітованя той JavaScript сторінкы.',
 'ns-specialprotected' => 'Шпеціалны сторінкы не є можне едітовати.',
 'titleprotected' => "Створїня сторінкы з таков назвов было заборонене хоснователём [[User:$1|$1]] з причінов: ''$2''.",
 'filereadonlyerror' => "Не годно змінити файл „$1“, бо архів файлів „$2“ є теперь лем на чітаня.
@@ -647,7 +650,7 @@ $2',
 'cannotchangeemail' => 'В тій вікі не годен мінити імейловы адресы.',
 'emaildisabled' => 'Сесь сервер не годен одосылати імейлы.',
 'accountcreated' => 'Конто вытворене',
-'accountcreatedtext' => 'Конто хоснователя $1 было вытворене.',
+'accountcreatedtext' => 'Конто хоснователя [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|talk]])  было створене.',
 'createaccount-title' => 'Вытвориня конта про  {{SITENAME}}',
 'createaccount-text' => 'Хтось створив про Вас конто «$2» на сервері проєкту {{SITENAME}} ($4) з геслом «$3», і зазначів вашу адресу електронічной пошты. Мали бы сьте ся што найскоре приголосити і змінити гесло.
 
@@ -684,6 +687,8 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => 'Ресет гесла',
+'passwordreset-text-one' => 'Выпиште тот формуларь, жебы сьте могли здобыти нове гесло',
+'passwordreset-text-many' => '{{PLURAL:$1|На здобытя нового гесла напиште єдно з даных.}}',
 'passwordreset-legend' => 'Знову наставити гесло',
 'passwordreset-disabled' => 'Зновунаставлїня гесла є на тій вікі заказане',
 'passwordreset-emaildisabled' => 'Функції електронічной пошты были выпнуы на тій вікі.',
@@ -911,6 +916,7 @@ $2
 Асі была змазана.',
 'edit-conflict' => 'Конфлікт едітованя.',
 'edit-no-change' => 'Ваша едітація была іґнорована, бо ся не зробила жадна зміна тексту.',
+'postedit-confirmation' => 'Ваше едітованя было уложене.',
 'edit-already-exists' => 'Не вдало ся створити нову сторінку, бо она уж існує.',
 'defaultmessagetext' => 'Преднаставленый текст повідомлїня',
 'content-failed-to-parse' => 'Не вдало ся проаналізовати $2 як тіп $1: $3',
@@ -1157,7 +1163,6 @@ $1",
 'searchmenu-legend' => 'Параметры гляданя',
 'searchmenu-exists' => "'''У тій вікі є сторінка з назвов «[[:$1]]»'''",
 'searchmenu-new' => "'''Створити сторінку «[[:$1]]» у тій вікі!'''",
-'searchhelp-url' => 'Help:Обсяг',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Вказати сторінкы з тым префіксом]]',
 'searchprofile-articles' => 'Статї',
 'searchprofile-project' => 'Сторінкы помочі і проєкту',
@@ -1415,6 +1420,8 @@ $1",
 'right-editusercssjs' => 'Едітованя CSS і JS файлів іншых хоснователїв',
 'right-editusercss' => 'Едітованя CSS файлів іншых хоснователїв',
 'right-edituserjs' => 'Едітованя JS файлів іншых хоснователїв',
+'right-editmyusercss' => 'Едітовати вашы властны хосновательскы CSS файлы.',
+'right-editmyuserjs' => 'Едітовати вашы властны хосновательскы JavaScript файлы',
 'right-rollback' => 'Швыдкый реверт управ послїднёго хоснователя едітуючого дану сторінку',
 'right-markbotedits' => 'Означованя ревертів як едітованя робота',
 'right-noratelimit' => 'Не має обмеджіня в швыдкости',
@@ -2388,7 +2395,7 @@ $1',
 'mycontris' => 'Приспівкы',
 'contribsub2' => 'Приспівок $1 ($2)',
 'nocontribs' => 'Ненайджены жадны зміны за тыма крітеріями.',
-'uctop' => ' (послїдня)',
+'uctop' => '(остатня)',
 'month' => 'Од місяця (і скоре):',
 'year' => 'Од року (і скоре):',
 
index 0828c2a..61f4b2e 100644 (file)
@@ -809,10 +809,8 @@ You may ignore this message, if this account was created in error.',
 
 # Special:PasswordReset
 'passwordreset' => 'कूटशब्द पुनःस्थापनम्',
-'passwordreset-text' => 'भवतः सदस्यताविवरणानि ईपत्रद्वारा प्राप्तुम् इदं प्रपत्रं पूर्यताम् ।',
 'passwordreset-legend' => 'कूटशब्द पुनःस्थापनम्',
 'passwordreset-disabled' => 'अस्मिन् विक्यां कूटशब्द पुनःस्थापनं असमर्थीकृतमस्ति।',
-'passwordreset-pretext' => '{{PLURAL:$1| |समंकेषु एकम् अधस्यात् प्रविष्टीकरोतु।}}',
 'passwordreset-username' => 'योजकनामन्:',
 'passwordreset-domain' => 'क्षेत्रम्:',
 'passwordreset-capture' => 'फलितरूपम् ईपत्रं किं दृश्यते ?',
@@ -1261,7 +1259,6 @@ You can still [$1 view this revision]",
 'searchmenu-legend' => 'अन्वेषणस्य विकल्पाः ।',
 'searchmenu-exists' => 'अस्मिन् विकिमध्ये "[[:$1]]"नामकं पृष्ठं विद्यते।',
 'searchmenu-new' => "'''अस्यां विक्यां \"[[:\$1]]\" इति पृष्ठं सृज्यताम्!'''",
-'searchhelp-url' => 'Help: साहाय्यम् : आधेयाः ।',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|एतदुपसर्गयुक्तपुटं पश्यतु ]]',
 'searchprofile-articles' => 'आन्तर्यम्',
 'searchprofile-project' => 'सहायता प्रकल्पपृष्ठानि च',
index a5df584..3384f11 100644 (file)
@@ -244,6 +244,7 @@ $messages = array(
 'create-this-page' => 'Бу сирэйи ай',
 'delete' => 'Соттор',
 'deletethispage' => 'Бу сирэйи соттор',
+'undeletethispage' => 'Бу сирэйи сөргүт (төннөр)',
 'undelete_short' => 'Төттөрү аҕал {{PLURAL:$1|биир уларытыыны|$1 уларытыылары}}',
 'viewdeleted_short' => '{{PLURAL:$1|Соҕотох сотторуллубут көннөрүүнү|$1 сотторуллубут көннөрүүнү}} көрүү',
 'protect' => 'Уларыппат гын',
@@ -441,6 +442,8 @@ $2',
 'namespaceprotected' => "Эн '''$1''' аат эйгэтигэр киирэр сирэйдэри уларытар кыаҕыҥ суох.",
 'customcssprotected' => 'Эн бу CSS-сирэйи уларытар кыаҕыҥ суох, тоҕо диэтэххэ онтуҥ атын киһи тус бэйэтин туруорууларын таарыйар.',
 'customjsprotected' => 'Эн бу JavaScript-сирэйи уларытар кыаҕыҥ суох, тоҕо диэтэххэ онтуҥ атын киһи тус бэйэтин туруорууларын таарыйар.',
+'mycustomcssprotected' => 'CSS-сирэйи уларытар кыаҕыҥ суох эбит.',
+'mycustomjsprotected' => 'Сирэйгэ JavaScript уларытар кыаҕыҥ суох эбит.',
 'ns-specialprotected' => '{{ns:special}} ааттаах сирэйдэр уларытыллыбаттар.',
 'titleprotected' => "Бу бас тыл оҥоһулларын [[User:$1|$1]] боппут.
 Төрүөтэ - ''$2''",
@@ -576,7 +579,7 @@ $2',
 'cannotchangeemail' => 'Бу биикигэ бу аакка баайыллыбыт электроннай почта аадырыһа уларытыллар кыаҕа суох эбит.',
 'emaildisabled' => 'Бу ситим-сир сурук ыыппат эбит.',
 'accountcreated' => 'Саҥа аат иҥэрилиннэ',
-'accountcreatedtext' => 'Кыттааччы $1 диэн ааттанна.',
+'accountcreatedtext' => '$1 диэн ааттаах кыттааччы баар буолла.',
 'createaccount-title' => '{{SITENAME}} бырайыакка саҥа аат оҥоруу',
 'createaccount-text' => 'Ким эрэ {{SITENAME}} бырайыакка ($4) саҥа $2 ааты бэлиэтээбит. "$2" киирии тыла "$3". Билигин киирэн киирии тылгын уларытыаххын наада.
 
@@ -611,11 +614,13 @@ $2',
 'resetpass-wrong-oldpass' => 'Киирии тыл сөп түбэспэтэ.
 Баҕар уларыппытыҥ буолуо эбэтэр быстах кэмҥэ туттуллар киирии тылы оҥотторбутуҥ буолуо.',
 'resetpass-temp-password' => 'Быстах кэмҥэ туттуллар киирии тыл:',
+'resetpass-abort-generic' => 'Киирии тылы уларытыыны кэҥэтии тохтотто.',
 
 # Special:PasswordReset
 'passwordreset' => 'Киирии тылы саҥаттан',
 'passwordreset-legend' => 'Киирии тылы саҥаттан',
 'passwordreset-disabled' => 'Бу биикигэ киирии тылы саҥардыы бобуллубут.',
+'passwordreset-emaildisabled' => 'Бу биикигэ эл. почтаны туттуу араарыллыбыт',
 'passwordreset-username' => 'Кыттааччы:',
 'passwordreset-domain' => 'Домен:',
 'passwordreset-capture' => 'Суруллубут суругу көрөҕүн дуо?',
@@ -646,7 +651,7 @@ $2
 Быстах киирии тыл: $2',
 'passwordreset-emailsent' => 'Киирии тылы уларытар туһунан сурук барда.',
 'passwordreset-emailsent-capture' => 'Киирии тылы уларытар туһунан сурук аллара эмиэ көрдөрүлүннэ.',
-'passwordreset-emailerror-capture' => 'Манна киирии тылы уларытар туһунан сурук көрдөрүлүннэ. Ол эрэн сурук бу төрүөттэн сатаан барбата: $1',
+'passwordreset-emailerror-capture' => 'Манна киирии тылы уларытар туһунан сурук көрдөрүлүннэ. Ол эрэн сурук бу төрүөттэн $2 кыттааччыга сатаан барбата: $1',
 
 # Special:ChangeEmail
 'changeemail' => 'Ааадырыһын уларыт',
@@ -856,14 +861,15 @@ IP-аадырыһа эрэ көстөр.
 Арааһа сотуллубут быһыылаах.',
 'edit-conflict' => 'Көннөрүүлэр утарсыылара.',
 'edit-no-change' => 'Эн көннөрүүҥ киирбэтэ, тоҕо диэтэххэ тугу да уларыппатаххын.',
+'postedit-confirmation' => 'Көннөрүүҥ бигэргэннэ.',
 'edit-already-exists' => 'Саҥа сирэйи оҥорор табыллыбат.
 Маннык сирэй баар эбит.',
 'defaultmessagetext' => 'Туспа этиллибэтэҕинэ суруллар тиэкис',
 'content-failed-to-parse' => '$2 иһинээҕитэ $1 көрүҥэр сөп түбэспэт: $3.',
 'invalid-content-data' => 'Алҕастаах дааннайдар',
 'content-not-allowed-here' => '[[$2]] сирэйгэ "$1" туттуллуо суохтаах',
-'editwarning-warning' => 'Атын сирэйгэ көстөххүнэ билигин оҥорбут уларытыыларыҥ барыта сүтэн хаалыахтара.
-Бэлиэтэммит буоллаҕына, бу сэрэтиини туруорууларыҥ «{{int:prefs-editing}}» сирэйигэр араарыаххын сөп.',
+'editwarning-warning' => 'Атын сирэйгэ көстөххүнэ билигин оҥорбут уларытыыҥ барыта сүтэн хаалыаҕа.
+Бэлиэтэммит буоллаххына, бу сэрэтиини туруорууларыҥ «Уларытыы» салаатыгар араарар кыахтааххын.',
 
 # Content models
 'content-model-wikitext' => 'биики-тиэкис',
@@ -1106,7 +1112,6 @@ $1",
 'searchmenu-legend' => 'Көрдөөһүн туруоруулара',
 'searchmenu-exists' => "'''Бу биикигэ бу сирэй маннык ааттаах \"[[\$1]]\"'''",
 'searchmenu-new' => "'''Бу биикигэ \"[[:\$1]]\" сирэйи айарга!'''",
-'searchhelp-url' => 'Help:Көмө',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Маннык префикстаах сирэйдэри көрөргө]]',
 'searchprofile-articles' => 'Ыстатыйалар истэрэ',
 'searchprofile-project' => 'Көмө уонна Бырайыак сирэйдэрэ',
@@ -1147,6 +1152,7 @@ $1",
 'powersearch-togglenone' => 'Бэлиэтээмэ',
 'search-external' => 'Тастан көрдөөһүн',
 'searchdisabled' => '{{SITENAME}} көрдүүр тэрилэ араарыллыбыт. Атын көрдүүр системаларынан наадыйар сирэйдэргитин көрдөтүөххүтүн сөп. Ол гынан баран поисковик кээһигэр баар торум эргэрбит буолуон сөп.',
+'search-error' => 'Көрдүүр кэмҥэ алҕас таҕыста: $1',
 
 # Preferences page
 'preferences' => 'Уларытыылар',
@@ -1290,6 +1296,7 @@ $1 {{PLURAL:$1|бэлиэттэн|бэлиэттэн (буукубаттан)}}
 'userrights-notallowed' => 'Бэлиэтэммит ааккынан атын кыттааччы быраабын уларытар кыаҕыҥ суох эбит.',
 'userrights-changeable-col' => 'Эн уларытар кыахтаах бөлөхтөрүҥ',
 'userrights-unchangeable-col' => 'Бу бөлөхтөрү уларытар кыаҕыҥ суох',
+'userrights-conflict' => 'Кыттааччы быраабын быһаарарга алҕас таҕыста! Хатылаан көр.',
 
 # Groups
 'group' => 'Бөлөх:',
@@ -1360,6 +1367,7 @@ $1 {{PLURAL:$1|бэлиэттэн|бэлиэттэн (буукубаттан)}}
 'right-editusercssjs' => 'Атын кыттааччылар CSS- и JS-билэлэрин уларытыы',
 'right-editusercss' => 'Атын кыттааччылар CSS-билэлэрин уларытыы',
 'right-edituserjs' => 'Атын кыттааччылар JS-билэлэрин уларытыы',
+'right-editmyusercss' => 'Кыттааччы CSS-билэтин уларытыы',
 'right-rollback' => 'Кыттааччы оҥорбут көннөрүүлэрин талыллыбыт биир сирэйгэ суох гыныы',
 'right-markbotedits' => 'Төннөрүллэр көннөрүүлэри робот уларытыытын курдук бэлиэтээһин',
 'right-noratelimit' => 'Нуорманнан хааччахтааһын суох',
@@ -1623,6 +1631,7 @@ $1',
 'backend-fail-notsame' => 'Майгыннаабат гынан баран маннык ааттаах $1 билэ баар эбит',
 'backend-fail-invalidpath' => '$1 - бу суолунан сатаан угуллубат.',
 'backend-fail-delete' => '$1 билэни сотор табыллыбата.',
+'backend-fail-describe' => '"$1" билэ метадааннайдарын уларытар табыллыбата.',
 'backend-fail-alreadyexists' => '$1 билэ хайыы-үйэ баар эбит.',
 'backend-fail-store' => '$1 билэни манна $2 угар табыллыбата.',
 'backend-fail-copy' => '$1 билэни манна $2 хатылыыр табыллыбата.',
@@ -1855,6 +1864,12 @@ $1',
 Ол оннугар ханнык эрэ чопчу сирэйгэ сигэниэхтээхтэр.<br />
 Быһаарыы: [[MediaWiki:Disambiguationspage]] халыып баар сирэйдэрэ хас да суолталаах сирэй ахсааныгар киирэллэр.",
 
+'pageswithprop' => 'Эрдэттэн туруоруулаах сирэйдэр',
+'pageswithprop-legend' => 'Уларытыллыбыт туруоруулаах сирэйдэр',
+'pageswithprop-text' => 'Манна сорох туруоруулара уларытыллыбыт сирэйдэр көстүбүттэр.',
+'pageswithprop-prop' => 'Туруоруу аата:',
+'pageswithprop-submit' => 'Толор',
+
 'doubleredirects' => 'Хос көһөрөөһүн',
 'doubleredirectstext' => 'Бу сирэйгэ атын сиргэ утаарар хос утаарыылар тиһиктэрэ көстөр.
 Хас устуруока аайы бастакы уонна иккис утаарыга сигэ баар, ону таһынан иккис утаарыыга баар сирэй аадырыһа (аата) баар, ол аата бастакы утаарыы дьиҥинэн ханна утаарыахтааҕа көстөр.
@@ -2122,6 +2137,16 @@ $1',
 'enotif_mailer' => '{{SITENAME}} Биллэрэр Сулууспата',
 'enotif_reset' => 'Бары сирэйдэри көрбүтүм курдук бэлиэтээ',
 'enotif_impersonal_salutation' => '{{SITENAME}} кыттааччыта',
+'enotif_subject_deleted' => '«{{SITENAME}}» бырайыак «$1» ааттаах сирэйин бу {{gender:$2|кыттааччы|кыттааччы}} соппут - $2',
+'enotif_subject_created' => '«{{SITENAME}}» бырайыак «$1» ааттаах сирэйин бу {{gender:$2|кыттааччы|кыттааччы}} айбыт - $2',
+'enotif_subject_moved' => '«{{SITENAME}}» бырайыак «$1» ааттаах сирэйин бу {{gender:$2|кыттааччы|кыттааччы}} аатын уларыппыт - $2',
+'enotif_subject_restored' => '«{{SITENAME}}» бырайыак «$1» ааттаах сирэйин бу {{gender:$2|кыттааччы|кыттааччы}} сөргүппүт - $2',
+'enotif_subject_changed' => '«{{SITENAME}}» бырайыак «$1» ааттаах сирэйин бу {{gender:$2|кыттааччы|кыттааччы}} уларыппыт - $2',
+'enotif_body_intro_deleted' => '$PAGEEDITDATE «{{SITENAME}}» бырайыак «$1» ааттаах сирэйин бу {{gender:$2|кыттааччы|кыттааччы}} соппут - $2, көр. $3.',
+'enotif_body_intro_created' => '«{{SITENAME}}» бырайыак «$1» ааттаах сирэйин бу {{gender:$2|кыттааччы|кыттааччы}} айбыт - $2, билиҥҥи барылын манна көр: $3',
+'enotif_body_intro_moved' => '$PAGEEDITDATE «{{SITENAME}}» бырайыак «$1» ааттаах сирэйин бу {{gender:$2|кыттааччы|кыттааччы}} аатын уларыппыт - $2, билиҥҥи барылын манна көр: $3',
+'enotif_body_intro_restored' => '$PAGEEDITDATE «{{SITENAME}}» бырайыак «$1» ааттаах сирэйин бу {{gender:$2|кыттааччы|кыттааччы}} соппут - $2, билиҥҥи барылын манна көр: $3',
+'enotif_body_intro_changed' => '$PAGEEDITDATE «{{SITENAME}}» бырайыак «$1» ааттаах сирэйин бу {{gender:$2|кыттааччы|кыттааччы}} айбыт - $2, билиҥҥи барылын манна көр: $3',
 'enotif_lastvisited' => 'Бутэһик киирииҥ кэнниттэн оҥоһуллубут уларыйыылары барытын көрөргө манна киир: $1.',
 'enotif_lastdiff' => 'Уларытыыны манна көрүҥ: $1.',
 'enotif_anon_editor' => 'ааттамматах кыттааччы $1',
@@ -2220,6 +2245,7 @@ $UNWATCHURL
 'prot_1movedto2' => '[[$1]] аата манныкка уларытылынна: [[$2]]',
 'protect-badnamespace-title' => 'Көмүскэммэт аат дала',
 'protect-badnamespace-text' => 'Бу аат далын сирэйдэрэ көмүскэниллэр кыахтара суохю',
+'protect-norestrictiontypes-title' => 'Көмүскэниллибэт сирэй',
 'protect-legend' => 'Уларытыы таһымын бигэргэт',
 'protectcomment' => 'Төрүөтэ:',
 'protectexpiry' => 'Бүтүөхтээх:',
@@ -2340,7 +2366,7 @@ $1',
 'mycontris' => 'Суруйуу тиһигэ',
 'contribsub2' => 'Вклад $1 ($2)',
 'nocontribs' => 'Эппит критерийгэр эппиэттиир уларытыылар көстүбэтилэр.',
-'uctop' => '(бүтэһик)',
+'uctop' => '(билиҥҥи)',
 'month' => 'Ыйтан бэттэх:',
 'year' => 'Сылтан бэттэх:',
 
@@ -2858,11 +2884,13 @@ $1',
 'pageinfo-default-sort' => 'Наардааһын күлүүһэ',
 'pageinfo-length' => 'Сирэй устата (баайтынан)',
 'pageinfo-article-id' => 'Сирэй нүөмэрэ',
+'pageinfo-language' => 'Сирэй омугун тыла',
 'pageinfo-robot-policy' => 'Көрдүүр сулууспалар туруктара',
 'pageinfo-robot-index' => 'Индекстанар',
 'pageinfo-robot-noindex' => 'Индекстаммат',
 'pageinfo-views' => 'Көрүү ахсаана',
 'pageinfo-watchers' => 'Кэтээнэр сирэйдэр ахсааннара',
+'pageinfo-few-watchers' => '$1 кыттааччыттан аҕыйах кэтээччи',
 'pageinfo-redirects-name' => 'Бу сирэйгэ утаарыы ахсаана',
 'pageinfo-subpages-name' => 'Сирэй аннынааҕы сирэйдэр ахсааннара',
 'pageinfo-subpages-value' => '$1 ($2 утаарыы; $3 көннөрү (утаарыыта суох))',
@@ -2877,10 +2905,17 @@ $1',
 'pageinfo-magic-words' => 'Аптаах {{PLURAL:$1|тыл|тыллар}} ($1)',
 'pageinfo-hidden-categories' => 'Кистэммит {{PLURAL:$1|категория|категориялар}} ($1)',
 'pageinfo-templates' => '$1 халыыптаах ($1)',
+'pageinfo-toolboxlink' => 'Сирэй туһунан',
+'pageinfo-redirectsto' => 'Утаарыы',
+'pageinfo-redirectsto-info' => 'сибидиэнньэлэр',
 'pageinfo-contentpage-yes' => 'Сөп',
 'pageinfo-protect-cascading' => 'Каскаадынан көмүскэл мантан',
 'pageinfo-protect-cascading-yes' => 'Сөп',
 'pageinfo-protect-cascading-from' => 'Каскадынан көмүскэл мантан',
+'pageinfo-category-info' => 'Категория туһунан',
+'pageinfo-category-pages' => 'Сирэй ахсаана',
+'pageinfo-category-subcats' => 'Субкатегория ахсаана',
+'pageinfo-category-files' => 'Билэ ахсаана',
 
 # Skin names
 'skinname-modern' => 'Билиҥҥи',
@@ -2961,6 +2996,17 @@ $1',
 'hours' => '{{PLURAL:$1|$1 чаас|$1 чаас}}',
 'days' => '{{PLURAL:$1|$1 күн|$1 күн}}',
 'ago' => '$1 ынараа өттүгэр',
+'just-now' => 'сибилигин',
+
+# Human-readable timestamps
+'monday-at' => 'Бэнидиэнньиккэ, баччаҕа: $1',
+'tuesday-at' => 'оптуорунньукка, баччаҕа: $1',
+'wednesday-at' => 'сэрэдэҕэ, баччаҕа: $1',
+'thursday-at' => 'чэппиэргэ, баччаҕа: $1',
+'friday-at' => 'бээтинсэҕэ, баччаҕа: $1',
+'saturday-at' => 'субуотаҕа, баччаҕа: $1',
+'sunday-at' => 'өрөбүлгэ, баччаҕа: $1',
+'yesterday-at' => 'Бэҕэһээ, баччаҕа: $1',
 
 # Bad image list
 'bad_image_list' => 'Формаата маннык буолуохтаах:
@@ -3454,6 +3500,7 @@ $5
 # Scary transclusion
 'scarytranscludedisabled' => '[Interwiki transcluding араҕыста]',
 'scarytranscludefailed' => '[$1 халыыбы туһанар табыллыбата]',
+'scarytranscludefailed-httpstatus' => '[Манна $1 анаммыт халыыбы холбуур сатаммата: HTTP $2]',
 'scarytranscludetoolong' => '[URL наһаа уһун]',
 
 # Delete conflict
@@ -3565,6 +3612,7 @@ $5
 'version-license' => 'Лиссиэнзийэ',
 'version-poweredby-credits' => "Бу биики бу движокка олоҕурар '''[//www.mediawiki.org/ MediaWiki]''', copyright © 2001-$1 $2.",
 'version-poweredby-others' => 'атыттар',
+'version-credits-summary' => '[[Special:Version|MediaWiki]] сайдыытыгар үлэлэрин иһин манна ахтыллыбыт дьоҥҥо махтанабыт.',
 'version-license-info' => 'MediaWiki көҥүл тарҕанар бырагырааммаларга киирэр, кинини көмпүүтэр аһаҕас бырагырааммаларын пуондатын GNU General Public License усулуобуйатынан көҥүл тарҕатаргыт уонна/эбэтэр уларытаргыт көҥүллэнэр; иккис эбэтэр онтон хойукку ханнык баҕарар барылыттан саҕалаан.
 
 MediaWiki туһалаах буоллун диэн тарҕатыллар, ол эрээри АТЫЫЛАНАР СЫАННАҺА эбэтэр ХАННЫК ЭРЭ ЧОПЧУ СОРУККА СӨП ТҮБЭҺИИТЭ бигэргэтиллибэт (гарантията суох). Сиһилии GNU General Public License усулуобуйатын көрүҥ.
@@ -3577,6 +3625,17 @@ MediaWiki туһалаах буоллун диэн тарҕатыллар, ол
 'version-entrypoints-header-entrypoint' => 'Киирии сирэ',
 'version-entrypoints-header-url' => 'URL',
 
+# Special:Redirect
+'redirect' => 'Билэттэн, кыттааччыттан эбэтэр барыл идентификаторыттан утаарыы',
+'redirect-legend' => 'Билэҕэ эбэтэр сирэйгэ утаарыы',
+'redirect-submit' => 'Толор',
+'redirect-lookup' => 'Көрдөт:',
+'redirect-value' => 'Суолтата:',
+'redirect-user' => 'Кыттааччы нүөмэрэ',
+'redirect-revision' => 'Сирэй барыла',
+'redirect-file' => 'Билэ аата',
+'redirect-not-exists' => 'Суолта көстүбэтэ',
+
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Хос билэлэри көрдөөһүн',
 'fileduplicatesearch-summary' => 'Тэҥ билэлэри хэш-куодтарынан көрдөөһүн.',
@@ -3666,6 +3725,9 @@ MediaWiki туһалаах буоллун диэн тарҕатыллар, ол
 'htmlform-submit' => 'Ыыт',
 'htmlform-reset' => 'Уларытыыны төннөр',
 'htmlform-selectorother-other' => 'Атын',
+'htmlform-no' => 'Суох',
+'htmlform-yes' => 'Сөп',
+'htmlform-chosen-placeholder' => 'Барылы тал',
 
 # SQLite database support
 'sqlite-has-fts' => '$1 толору тиэкистээх көрдөөһүнү өйүүр',
@@ -3756,6 +3818,7 @@ MediaWiki туһалаах буоллун диэн тарҕатыллар, ол
 'api-error-ok-but-empty' => 'Ис алҕас: сиэрбэртэн хоруй кэлбэтэ.',
 'api-error-overwrite' => 'Баар билэни уларытар сатаммат.',
 'api-error-stashfailed' => 'Ис алҕас: сиэрбэр быстах кэмҥэ оҥоһуллубут билэни кыайан бигэргэппэтэх.',
+'api-error-publishfailed' => 'Ис алҕас: сиэрбэр быстах билэни кыайан бигэргэппэтэх.',
 'api-error-timeout' => 'Сиэрбэр кэтэһэр кэмҥэ хоруйдаабата.',
 'api-error-unclassified' => 'Биллибэт алҕас таҕыста',
 'api-error-unknown-code' => 'Биллибэт алҕас: «$1»',
@@ -3776,4 +3839,7 @@ MediaWiki туһалаах буоллун диэн тарҕатыллар, ол
 'duration-centuries' => '$1 үйэ',
 'duration-millennia' => '$1 тыһыынча сыл',
 
+# Image rotation
+'rotate-comment' => 'Ойуу $1 кыраадыс чаһы хоту эргитиллибит',
+
 );
index dfc18db..820aafc 100644 (file)
@@ -707,7 +707,6 @@ Unuduḱ: '''({{int:cur}})''' = nahaḱ nãwã aroeko saõte tulạo, '''({{int:
 'viewprevnext' => 'Ńelme ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-exists' => "'''Noa wiki re do \"[[:\$1]] ńutum sakam menaḱa",
 'searchmenu-new' => 'wiki re [[:$1]]nãwã sakam tear',
-'searchhelp-url' => 'Help: Goṛawaḱ',
 'searchprofile-articles' => 'Menaḱaḱ sakamko',
 'searchprofile-project' => 'Go̠ṛo ar Project sakam',
 'searchprofile-images' => 'Multimedia',
index c688b46..3d2e42d 100644 (file)
@@ -631,7 +631,6 @@ Cosas de ammentare: '''({{int:cur}})''' = diferèntzias cun sa versione currente
 'shown-title' => 'Ammustra $1 {{PLURAL:$1|resurtadu|resurtados}} pro pàgina',
 'viewprevnext' => 'Càstia ($1 {{int:pipe-separator}} $2) ($3).',
 'searchmenu-legend' => 'Possibilidades de chirca',
-'searchhelp-url' => 'Help:Agiudu',
 'searchprofile-everything' => 'Totu',
 'searchprofile-advanced' => 'Avantzada',
 'searchprofile-articles-tooltip' => 'Chirca in $1',
index 3a4a092..1aff63e 100644 (file)
@@ -261,6 +261,16 @@ $messages = array(
 'dec' => 'Dic',
 'january-date' => '$1 jinnaru',
 'february-date' => '$1 frivaru',
+'march-date' => '$1 di marzu',
+'april-date' => '$1 di aprili',
+'may-date' => '$1 di maiu',
+'june-date' => '$1 di giugnu',
+'july-date' => '$1 di giugnettu',
+'august-date' => '$1 di austu',
+'september-date' => '$1 di sittèmmiru',
+'october-date' => '$1 di uttùviru',
+'november-date' => '$1 di nuvèmmiru',
+'december-date' => '$1 di dicèmmiru',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Catigurìa|Catigurìi}}',
@@ -286,7 +296,8 @@ $messages = array(
 'newwindow' => '(grapi na finestra nova)',
 'cancel' => 'annulla',
 'moredotdotdot' => 'Àutru...',
-'mypage' => 'La mè pàggina',
+'morenotlisted' => 'cchiossai non ntâ lista',
+'mypage' => 'Pàggina',
 'mytalk' => 'la mè pàggina di discussioni',
 'anontalk' => 'Discussione pi stu IP',
 'navigation' => 'Navigazzioni',
@@ -309,7 +320,7 @@ $messages = array(
 'vector-action-protect' => 'Pruteggi',
 'vector-action-undelete' => 'Riprìstina',
 'vector-action-unprotect' => 'Cancia la prutizzioni',
-'vector-simplesearch-preference' => 'Abbilita li suggirimenti pâ ricerca avanzata',
+'vector-simplesearch-preference' => 'Abbilita la barra pâ ricerca simprificata (sulu pi la skin Vector)',
 'vector-view-create' => 'Crea',
 'vector-view-edit' => 'Cancia',
 'vector-view-history' => 'Talìa a storia',
@@ -319,6 +330,7 @@ $messages = array(
 'namespaces' => 'Namespace',
 'variants' => 'Varianti',
 
+'navigation-heading' => 'Menù di navigazzioni',
 'errorpagetitle' => 'Erruri',
 'returnto' => 'Ritorna a $1.',
 'tagline' => 'Di {{SITENAME}}',
@@ -340,6 +352,7 @@ $messages = array(
 'create-this-page' => 'Crea sta pàggina',
 'delete' => 'elìmina',
 'deletethispage' => 'Elìmina sta pàggina',
+'undeletethispage' => 'Annulla la scancillazzioni di sta pàggina',
 'undelete_short' => 'Ricùpira {{PLURAL:$1|na rivisioni|$1 rivisioni}}',
 'viewdeleted_short' => 'Talìa {{PLURAL:$1|nu canciamentu scancillatu|$1 canciamenti scancillati}}',
 'protect' => 'Pruteggi',
@@ -413,6 +426,8 @@ $1",
 'youhavenewmessages' => 'Ricivìsti $1 ($2).',
 'newmessageslink' => 'missaggi novi',
 'newmessagesdifflink' => 'ùrtimi canciamenti',
+'youhavenewmessagesfromusers' => "Hai $1 di {{PLURAL:$3|n'àutru utenti|$3 utenti}} ($2).",
+'youhavenewmessagesmanyusers' => 'Hai $1 di na pocu di utenti ($2).',
 'youhavenewmessagesmulti' => 'Hai missaggi novi supra $1',
 'editsection' => 'cancia',
 'editold' => 'cancia',
@@ -527,6 +542,8 @@ $2',
 'titleprotected' => "La criazzioni di sta pàggina cu stu tìtulu fu bluccata da [[User:$1|$1]].
 La mutivazzioni è chista: ''$2''.",
 'filereadonlyerror' => 'Nun fu pussìbbili canciari lu file "$1" pirchì lu repository di file "$2" è \'n mudalitati di sula littura.La mutivazzioni è "\'\'$3\'\'".',
+'exception-nologin' => 'Nun trasutu',
+'exception-nologin-text' => 'Sta pàggina o stâzzioni havi abbisognu ca tu si cunnittutu a sta wiki',
 
 # Virus scanner
 'virus-badscanner' => "Sbagghiu di cunfigurazzioni: antivirus scanusciutu: ''$1''",
@@ -539,11 +556,23 @@ La mutivazzioni è chista: ''$2''.",
 Poi cuntinuari a usari {{SITENAME}} di manera anònima, o poi <span class='plainlinks'>[$1 tràsiri n'àutra vota]</span> cu lu stissu o cu n'àutru nomu d'utenti.
 Accura chi quarchi pàggina pò cuntinuari a èssiri ammustrata comu si nun avissi nisciutu nzinu a quannu tu nun scancelli tutta la mimoria dû tò browser.",
 'welcomeuser' => 'Bommegna, $1!',
+'welcomecreation-msg' => 'Lu cuntu fu criatu. Nun ascurdàriti di pirsunalizzari li prifirenzi pi {{SITENAME}}',
 'yourname' => "Lu tò nomu d'utenti (''user name'')",
+'userlogin-yourname' => 'Nomu utenti',
+'userlogin-yourname-ph' => 'Nzirìsci lu tò nomu utenti',
 'yourpassword' => "La tò ''password''",
+'userlogin-yourpassword' => 'Password',
+'userlogin-yourpassword-ph' => 'Nzirisci la tò password',
+'createacct-yourpassword-ph' => 'Nzirisci na password',
 'yourpasswordagain' => "Scrivi la password n'àutra vota",
+'createacct-yourpasswordagain' => 'Cunfirma la password',
+'createacct-yourpasswordagain-ph' => 'Nzirisci la password attorna',
 'remembermypassword' => 'Arricorda la password supra stu computer (pi ô massimu $1 {{PLURAL:$1|jornu|jorna}})',
+'userlogin-remembermypassword' => 'Mantènimi culligatu',
+'userlogin-signwithsecure' => 'Usa na cunnissioni sicura',
+'securelogin-stick-https' => 'Resta cunnittutu cu HTTPS doppu la trasuta',
 'yourdomainname' => 'Lu tò dominiu',
+'password-change-forbidden' => 'Nun putiti canciari la password nti sta wiki',
 'externaldberror' => "S'havi virificatu n'erruri cû server d'autinticazzioni sternu, oppuru nun si disponi di l'auturizzazzioni nicissari p'aggiurnari lu propiu accessu sternu.",
 'login' => 'Trasi',
 'nav-login-createaccount' => 'Riggìstrati o trasi',
@@ -553,14 +582,32 @@ Accura chi quarchi pàggina pò cuntinuari a èssiri ammustrata comu si nun avis
 'logout' => 'Nesci',
 'userlogout' => 'Nesci',
 'notloggedin' => "Nun v'aviti riggistratu",
+'userlogin-noaccount' => "Nun ci l'hai nu cuntu?",
+'userlogin-joinproject' => 'Scrìviti a {{SITENAME}}',
 'nologin' => "Nun nn'aviti nu cuntu pi ccà? '''$1'''.",
 'nologinlink' => 'Criati nu cuntu sùbbitu',
 'createaccount' => 'Criati un cuntu novu',
 'gotaccount' => "Hai già nu cuntu? '''$1'''.",
 'gotaccountlink' => 'Trasi',
 'userlogin-resetlink' => "T'ascurdasti li dittagli pâ trasuta?",
-'createaccountmail' => 'via e-mail',
+'userlogin-resetpassword-link' => 'Reinizzializza la tò password',
+'helplogin-url' => 'Help:Cunnissioni',
+'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Aiutu câ fasi di login]]',
+'createacct-join' => 'Nzirisci li tò nfurnazzioni ccà',
+'createacct-emailrequired' => 'Nnirizzu e-mail',
+'createacct-emailoptional' => 'Nnirizzu e-mail (facurtativu)',
+'createacct-email-ph' => 'Nzirisci lu tò nnirizzu e-mail',
+'createaccountmail' => 'Utilizzari na password timpurania casuali e mannàrila ô nnirizzu e-mail spicificatu ccàssutta',
+'createacct-realname' => 'Nomu riali (facurtativu)',
 'createaccountreason' => 'Mutivu:',
+'createacct-reason' => 'Mutivu',
+'createacct-reason-ph' => "Pirchì stai criannu n'àutru cuntu?",
+'createacct-captcha' => 'Cuntrollu di sicurezza',
+'createacct-imgcaptcha-ph' => 'Nzirìsci lu testu ca vidi ccassupra',
+'createacct-submit' => 'Crèa nu cuntu',
+'createacct-benefit-heading' => '{{SITENAME}} è fatta di pirsunu comu a tìa.',
+'createacct-benefit-body1' => '{{PLURAL:$1|cuntribbutu|cuntribbuti}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|pàggina|pàggini}}',
 'badretype' => "La ''password'' chi mittisti nun è bona.",
 'userexists' => 'Lu nomu utenti nzeritu è già usatu. Ti prijamu pirciò di vuliri scègghiri nu nomu utenti diversu.',
 'loginerror' => "Erruri nta l'accessu",
@@ -632,6 +679,10 @@ Aspetta tanticchia prima di pruvari  n'àutra vota.",
 Pò èssiri ca ggià canciasti cu successu la tò password o c'addumannasti na nova password timpurrània.",
 'resetpass-temp-password' => 'Password timpurrània:',
 
+# Special:PasswordReset
+'passwordreset' => 'Resetta la password',
+'passwordreset-text-one' => 'Jinchi stu mòdulu pi reimpostari la password',
+
 # Special:ChangeEmail
 'changeemail-submit' => 'Cancia e-mail',
 
@@ -993,7 +1044,6 @@ S'havi accirtari ca la cuntinuità storica di la pàggina nun veni altirata.",
 'searchmenu-legend' => 'Opzioni di circata',
 'searchmenu-exists' => "* Pàggina '''[[$1]]'''",
 'searchmenu-new' => "'''Crea la pàggina \"[[:\$1]]\" supra sta wiki!'''",
-'searchhelp-url' => 'Help:Cuntinuti',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Visualizza li pàggini cu stu prifissu]]',
 'searchprofile-articles' => 'Pàggini di cuntinutu',
 'searchprofile-project' => "Pàggini d'ajutu e dô pruggettu",
index c271e88..13b8fc2 100644 (file)
@@ -706,7 +706,6 @@ there micht be parteeculars in the [{{fullurl:{{#Special:Log}}/suppress|page={{F
 'viewprevnext' => 'View ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-exists' => "'''There is a page named \"[[:\$1]]\" oan this wiki.'''",
 'searchmenu-new' => "'''Mak the page \"[[:\$1]]\" on this wiki!'''",
-'searchhelp-url' => 'Help:Contents',
 'searchprofile-articles' => 'Content pages',
 'searchprofile-project' => 'Help and Project pages',
 'searchprofile-images' => 'Multimedia',
index 17e4204..84f75ce 100644 (file)
@@ -524,7 +524,6 @@ You cannot use the 'e-mail this user' feature unless a valid e-mail address is s
 'prevn' => 'پويان {{PLURAL:$1|$1}}',
 'nextn' => 'اڳيان {{PLURAL:$1|$1}}',
 'viewprevnext' => 'ڏسو ($1 {{int:pipe-separator}} $2) ($3)',
-'searchhelp-url' => 'Help:فهرست',
 'powersearch' => 'نفيس ڳولا',
 'powersearch-redir' => 'چورڻن جي فهرست ڏيکاريو',
 
index d180355..3cfdc34 100644 (file)
@@ -774,7 +774,6 @@ Cunsulthà lu [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} rigi
 'nextn' => 'sighenti {{PLURAL:$1|$1}}',
 'viewprevnext' => 'Vèdi ($1 {{int:pipe-separator}} $2) ($3).',
 'searchmenu-legend' => 'Opzioni di zercha',
-'searchhelp-url' => 'Help:Indizi',
 'searchprofile-everything' => 'Tuttu',
 'search-result-size' => '$1 ({{PLURAL:$2|una paraura|$2 parauri}})',
 'search-redirect' => '(rinviu $1)',
index d7fc8d9..3b3dc5d 100644 (file)
@@ -619,7 +619,6 @@ Eará bajasdoallit sáhtet lohkat čihkojuvvon sisdoalu ja máhcahit dan.",
 
 $1 {{int:pipe-separator}} $2',
 'searchmenu-new' => "'''Álggat siiddu ''[[:$1]]'' dán Wikipediai'''",
-'searchhelp-url' => 'Help:Rávvagat',
 'searchprofile-articles' => 'Sisdoallosiiddut',
 'searchprofile-project' => 'Veahkke- ja prošeaktasiiddut',
 'searchprofile-everything' => 'Buot',
index 5f56f5e..477c2b1 100644 (file)
@@ -577,7 +577,6 @@ Informacion: (curt) = quiíxde vercion currentua,
 'prevn' => 'jan {{PLURAL:$1|$1}}',
 'nextn' => 'hun {{PLURAL:$1|$1}}',
 'viewprevnext' => 'Cohuatlöx ($1 {{int:pipe-separator}} $2) ($3)',
-'searchhelp-url' => 'Help:Caálixötöj',
 'powersearch' => 'Yahöx',
 
 # Preferences page
index 2e2bba5..5fe9970 100644 (file)
@@ -723,7 +723,6 @@ Kėtė admėnėstratuorē šėtom pruojekte vėsdar galės pasėiktė pasliepta
 'searchmenu-legend' => 'Paėiškuos nustatīmā',
 'searchmenu-exists' => "'''Poslapis pavadėnts „[[$1]]“ šėtuo wiki'''",
 'searchmenu-new' => "'''Sokortė poslapi „[[:$1]]“ šėtuo wiki!'''",
-'searchhelp-url' => 'Help:Torėnīs',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Ėiškuotė poslapiu so šėtuom prīšdielio]]',
 'searchprofile-articles' => 'Torėnė poslapē',
 'searchprofile-project' => 'Pagelbas ė pruojekta poslapē',
index 6d58d82..393de8f 100644 (file)
@@ -1283,7 +1283,6 @@ Više informacija možete pronaći u [{{fullurl:{{#Special:Log}}/delete|page={{F
 'searchmenu-legend' => 'Opcije pretrage',
 'searchmenu-exists' => "'''Postoji stranica pod nazivom \"[[:\$1]]\" na ovoj wiki'''",
 'searchmenu-new' => "'''Napravi stranicu \"[[:\$1|\$1]]\" na ovoj wiki!'''",
-'searchhelp-url' => 'Help:Sadržaj',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Pregledaj stranice sa ovim prefiksom]]',
 'searchprofile-articles' => 'Stranice sadržaja',
 'searchprofile-project' => 'Stranice pomoći i projekta',
index 11f2e18..446f455 100644 (file)
@@ -612,7 +612,6 @@ Tigira n ujbbad ns, ar takka yat tayafut bahra imqqurn,  ɣayan afan ur ttili.',
 'searchmenu-legend' => 'Istayn ucnubc',
 'searchmenu-exists' => '"\'Tlla yat tasna lli ilan assaɣ « [[:$1]] » ɣ wiki yad',
 'searchmenu-new' => "'''Skr Tasna « [[:$1|$1]] » ɣ wiki !'''",
-'searchhelp-url' => 'Help:Mayllan',
 'searchprofile-articles' => 'Mayllan ɣ tasna',
 'searchprofile-project' => 'Tisniwin n w-aws n usnfar',
 'searchprofile-images' => 'Multimedia',
index b6c719f..015c9b0 100644 (file)
@@ -747,10 +747,8 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => 'මුරපදය වෙනස් කරන්න',
-'passwordreset-text' => 'ඔබගේ මුරපදය යළි සැකසීම සදහා මෙම ආකෘතිපත්‍රය සම්පූර්ණ කරන්න.',
 'passwordreset-legend' => 'මුරපදය යළි පිහිටුවන්න',
 'passwordreset-disabled' => 'මෙම විකියෙහි මුර පද ප්‍රත්‍යාරම්භ කිරීම් අක්‍රීය කොට ඇත.',
-'passwordreset-pretext' => '{{PLURAL:$1||පහත දැක්වෙන දත්ත කණ්ඩ වලින් එකක් ඇතුල් කරන්න}}',
 'passwordreset-username' => 'පරිශීලක නාමය:',
 'passwordreset-domain' => 'වසම:',
 'passwordreset-capture' => 'ප්‍රතිපලදායක විද්‍යුත් තැපෑල නරඹනවාද?',
@@ -983,6 +981,7 @@ $2
 එය මකා දමා ඇති බවක් පෙනේ.',
 'edit-conflict' => 'සංස්කරණ ගැටුම.',
 'edit-no-change' => 'පෙළට කිසිදු වෙනසක් සිදු නොකල  බැවින් ඔබගේ සංස්කරණය නොසලකාහරින ලදි.',
+'postedit-confirmation' => 'ඔබගේ සංස්කරණය සුරකින ලදී.',
 'edit-already-exists' => 'නව පිටුවක් තැනිය නොහැකි විය.
 එය දැනටමත් පවතියි.',
 'defaultmessagetext' => 'සාමාන්‍ය පණිවුඩ පෙළ',
@@ -1219,7 +1218,6 @@ $1",
 'searchmenu-legend' => 'ගවේෂණ තෝරාගැනීම්',
 'searchmenu-exists' => "'''මෙම විකියෙහි \"[[:\$1]]\" ලෙස නම් කර ඇති පිටුවක් ඇත.'''",
 'searchmenu-new' => "'''මෙම විකියෙහි \"[[:\$1]]\" පිටුව තනන්න!'''",
-'searchhelp-url' => 'Help:පටුන',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|මෙම උපසර්ගය භාවිත කරමින් පිටු පිරික්සන්න]]',
 'searchprofile-articles' => 'අන්තර්ගත පිටු',
 'searchprofile-project' => 'උදවු හා ව්‍යාපෘති පිටු',
index d993ff5..c282c40 100644 (file)
@@ -1313,7 +1313,6 @@ Podrobnosti nájdete v [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}
 'searchmenu-legend' => 'Možnosti hľadania',
 'searchmenu-exists' => "*Stránka '''[[$1]]'''",
 'searchmenu-new' => "'''Vytvoriť stránku „[[:$1|$1]]“ na tejto wiki'''",
-'searchhelp-url' => 'Help:Obsah',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Prehliadať stránky s touto predponou]]',
 'searchprofile-articles' => 'Stránky s obsahom',
 'searchprofile-project' => 'Stránky pomocníka a projektu',
index b7869a6..34a5146 100644 (file)
@@ -387,6 +387,7 @@ $messages = array(
 'create-this-page' => 'Ustvari stran',
 'delete' => 'Briši',
 'deletethispage' => 'Briši stran',
+'undeletethispage' => 'Obnovi stran',
 'undelete_short' => 'Vrni $1 {{PLURAL:$1|izbrisano urejanje|izbrisani urejanji|izbrisana urejanja|izbrisanih urejanj|izbrisanih urejanj}}',
 'viewdeleted_short' => 'Ogled {{PLURAL:$1|enega izbrisanega urejanja|$1 izbrisanih urejanj}}',
 'protect' => 'Zaščiti',
@@ -591,6 +592,8 @@ $2',
 'namespaceprotected' => "Nimate dovoljenja urejati strani v imenskem prostoru '''$1'''.",
 'customcssprotected' => 'Nimate pravice urejati te strani CSS, ker vsebuje osebne nastavitve drugega uporabnika.',
 'customjsprotected' => 'Nimate pravice urejati te strani JavaScript, ker vsebuje osebne nastavitve drugega uporabnika.',
+'mycustomcssprotected' => 'Nimate pravic za urejanje te strani s CSS.',
+'mycustomjsprotected' => 'Nimate pravic za urejanje te strani z JavaScriptom.',
 'ns-specialprotected' => 'Posebnih strani ni mogoče urejati.',
 'titleprotected' => "Uporabnik [[User:$1|$1]] je preprečil ustvarjanje strani s takim naslovom.
 Podani razlog je bil »''$2''«.",
@@ -731,7 +734,7 @@ Prosimo, vpišite pravilno oblikovanega ali polje izpraznite.',
 'cannotchangeemail' => 'E-poštnih naslovov računa na tem wikiju ni mogoče spremeniti.',
 'emaildisabled' => 'Stran ne more pošiljati e-pošte.',
 'accountcreated' => 'Račun je ustvarjen',
-'accountcreatedtext' => 'Uporabniški račun za »$1« je ustvarjen.',
+'accountcreatedtext' => 'Ustvarili smo uporabniški račun za [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|pogovor]]).',
 'createaccount-title' => 'Ustvarjanje računa za {{GRAMMAR:tožilnik|{{SITENAME}}}}',
 'createaccount-text' => 'Nekdo je ustvaril račun $2 na {{GRAMMAR:dajalnik|{{SITENAME}}}} ($4). Geslo za »$2« je »$3«. Priporočljivo je, da se prijavite in spremenite svoje geslo sedaj.
 
@@ -770,6 +773,8 @@ Morda ste že uspešno spremenili geslo ali pa ste zahtevali novo začasno geslo
 
 # Special:PasswordReset
 'passwordreset' => 'Ponastavitev gesla',
+'passwordreset-text-one' => 'Izpolnite obrazec, da ponastavite svoje geslo.',
+'passwordreset-text-many' => 'Vnesite {{PLURAL:$1|podatek|enega od podatkov}}, da ponastavite svoje geslo.',
 'passwordreset-legend' => 'Ponastavitev gesla',
 'passwordreset-disabled' => 'Ponastavljanje gesla je na tem wikiju onemogočeno.',
 'passwordreset-emaildisabled' => 'Na tem wikiju so možnosti e-pošte onemogočene.',
@@ -1014,13 +1019,14 @@ Spodaj sta za sklicevanje na razpolago dnevnik brisanja in dnevnik prestavljanja
 Izgleda, da je bila izbrisana.',
 'edit-conflict' => 'Navzkrižje urejanj.',
 'edit-no-change' => 'Vaše urejanje je bilo prezrto, saj ni vsebovalo sprememb.',
+'postedit-confirmation' => 'Vaše urejanje smo shranili.',
 'edit-already-exists' => 'Ni bilo mogoče ustvariti nove strani, ker že obstaja.',
 'defaultmessagetext' => 'Prednastavljeno besedilo',
 'content-failed-to-parse' => 'Nisem mogel razčleniti vsebine $2 za obliko $1: $3',
 'invalid-content-data' => 'Neveljavni podatki vsebine',
 'content-not-allowed-here' => 'Vsebina »$1« ni dovoljena na strani [[$2]]',
 'editwarning-warning' => 'Če zapustite stran, boste morda izgubili vse spremembe, ki ste jih naredili.
-Če ste prijavljeni, lahko to opozorilo onemogočite v razdelku »{{int:prefs-editing}}« v svojih nastavitvah.',
+Če ste prijavljeni, lahko to opozorilo onemogočite v razdelku »Urejanje« v svojih nastavitvah.',
 
 # Content models
 'content-model-wikitext' => 'wikibesedilo',
@@ -1263,7 +1269,6 @@ Podrobnosti lahko najdete v [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENA
 'searchmenu-legend' => 'Možnosti za iskanje',
 'searchmenu-exists' => "'''Na tem wikiju obstaja stran »[[:$1]]«'''",
 'searchmenu-new' => "'''Ustvari stran »[[:$1]]« na tem wikiju!'''",
-'searchhelp-url' => 'Help:Vsebina',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Iskanje strani s to predpono]]',
 'searchprofile-articles' => 'Članki',
 'searchprofile-project' => 'Pomoč in projektne strani',
@@ -1407,7 +1412,7 @@ Ne sme biti daljši od $1 {{PLURAL:$1|znaka|znakov}}.',
 'prefs-help-gender' => 'Podatek ni obvezen, uporablja pa se ga izključno za pravilno obliko naslavljanja programja glede na spol.
 Podatek bo javno prikazan.',
 'email' => 'E-pošta',
-'prefs-help-realname' => 'Pravo ime je neobvezno.
+'prefs-help-realname' => 'Pravo ime ni obvezno.
 Če se ga odločite navesti, bo uporabljeno za priznavanje vašega dela.',
 'prefs-help-email' => 'E-poštni naslov ni obvezen, vendar omogoča, da vam v primeru pozabljenega gesla pošljemo novo.',
 'prefs-help-email-others' => 'Omogočite lahko tudi možnost, da vam lahko ostali uporabniki pošiljajo e-pošto prek vaše uporabniške ali pogovorne strani.
@@ -1524,6 +1529,8 @@ Ko vas drugi uporabniki kontaktirajo, jim vašega e-poštnega naslova ne bomo ra
 'right-editusercssjs' => 'Urejanje CSS- in JS-datotek drugih uporabnikov',
 'right-editusercss' => 'Uredi CSS datotek drugih uporabnikov',
 'right-edituserjs' => 'Uredi JS datotek drugih uporabnikov',
+'right-editmyusercss' => 'Uredite svoje uporabniške datoteke CSS',
+'right-editmyuserjs' => 'Uredite svoje uporabniške datoteke JavaScript',
 'right-rollback' => 'Hitro vračanje urejanj zadnjega uporabnika, ki je urejal določeno stran',
 'right-markbotedits' => 'Označi vrnjena urejanja kot urejanja botov',
 'right-noratelimit' => 'Omejitve dejavnosti ne veljajo',
@@ -2542,7 +2549,7 @@ $1',
 'mycontris' => 'Prispevki',
 'contribsub2' => 'Uporabnik: $1 ($2)',
 'nocontribs' => 'Ne najdem nobene merilom ustrezajoče spremembe.',
-'uctop' => ' (vrh)',
+'uctop' => '(trenutno)',
 'month' => 'Od meseca (in prej):',
 'year' => 'Od leta (in prej):',
 
index d0ffe71..64847ea 100644 (file)
@@ -388,6 +388,7 @@ Waad sii isticmaali kartaa {{SITENAME}} adoona lagu aqoon, ama <span class='plai
 'yourpassword' => 'Eraysir:',
 'yourpasswordagain' => 'Markale qor ereysirka:',
 'remembermypassword' => 'Kumbuyuutarkaan ku xasuusnaaw magaceyga gudagalka (ilaa  $1 {{PLURAL:$1|maalin|maalmood}})',
+'userlogin-remembermypassword' => 'Ka dhig mid diyaar ah mar waliba',
 'yourdomainname' => 'Magacaga shabakada',
 'password-change-forbidden' => 'Ma badali kartid Eraysir ee wiki.',
 'login' => 'Gudaha gal',
@@ -398,12 +399,14 @@ Waad sii isticmaali kartaa {{SITENAME}} adoona lagu aqoon, ama <span class='plai
 'logout' => 'Ka bax',
 'userlogout' => 'Ka bax',
 'notloggedin' => 'Gudaha kuma jirtid',
+'userlogin-noaccount' => "Akoon ma heysatid? '''$1'''.",
 'nologin' => "Akoon ma heysatid? '''$1'''.",
 'nologinlink' => 'Akoon sameyso',
 'createaccount' => 'Sameey gudagale',
 'gotaccount' => "Waan heystaa gudagale? '''$1'''.",
 'gotaccountlink' => 'Gudaha gal',
 'userlogin-resetlink' => 'Ma ilaawday tafaasiisha gudagalahaada?',
+'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Caawinaad habka gudagalka]]',
 'createaccountmail' => 'E-mail ahaan',
 'createaccountreason' => 'Sababta:',
 'badretype' => 'Ereyada sirta ah oo qortay ma islahan.',
@@ -739,7 +742,6 @@ sababteeda neh waxaa laga heli kartaa  [{{fullurl:{{#Special:Log}}/delete|page={
 'searchmenu-legend' => 'Raadi doorashooyinka',
 'searchmenu-exists' => "'''Wikigaan wuu ku jiraa bog la dhoho  \"[[:\$1]]\" .'''",
 'searchmenu-new' => "'''Ku sameey bogga  \"[[:\$1]]\" wikigaan!'''",
-'searchhelp-url' => 'Help:Caawinaad',
 'searchprofile-articles' => 'Maqaalada kooban',
 'searchprofile-project' => 'Caawin iyo Bogga mashruuca',
 'searchprofile-images' => 'Multimedia-ha',
index 2a78608..5487478 100644 (file)
@@ -736,10 +736,8 @@ Për të hyrë tërësisht duhet të vendosni një fjalëkalim të ri këtu:',
 
 # Special:PasswordReset
 'passwordreset' => 'Ndrysho fjalkalimin',
-'passwordreset-text' => 'Plotësoni këtë formular për të marrë një këshillë e-mail të dhënat e llogarisë suaj.',
 'passwordreset-legend' => 'Ndrysho fjalkalimin',
 'passwordreset-disabled' => 'Rivendosja e fjalëkalimit është deaktivizuar në këtë wiki.',
-'passwordreset-pretext' => '{{PLURAL:$1| | Shkruani një nga pjesët e të dhënave më poshtë}}',
 'passwordreset-username' => 'Nofka:',
 'passwordreset-domain' => 'Domain:',
 'passwordreset-capture' => 'Dëshiron të shikosh e-mail-in që rezulton?',
@@ -1208,7 +1206,6 @@ Kini kujdes se përdorimi i lidhjeve të shfletimit do të ndryshojë përzgjedh
 'searchmenu-legend' => 'Parazgjedhjet e kërkimit',
 'searchmenu-exists' => "'''Në këtë wiki kjo faqe është emëruar \"[[:\$1]]\"'''",
 'searchmenu-new' => "'''Hapë faqen \"[[:\$1]]\" në këtë wiki!'''",
-'searchhelp-url' => 'Help:Ndihmë',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Shfletoi faqet me këtë parashtesë]]',
 'searchprofile-articles' => 'Përmbajtja e faqeve',
 'searchprofile-project' => 'Ndihmë dhe faqet e Projektit',
index 2b6c477..fe8ff62 100644 (file)
@@ -1215,7 +1215,7 @@ $2
 'sectioneditnotsupported-text' => 'Уређивање одељка није подржано на овој страници.',
 'permissionserrors' => 'Грешке у дозволама',
 'permissionserrorstext' => 'Немате овлашћење за ту радњу из {{PLURAL:$1|следећег|следећих}} разлога:',
-'permissionserrorstext-withaction' => 'Ð\9dемаÑ\82е Ð´Ð¾Ð·Ð²Ð¾Ð»Ñ\83 Ð´а $2 из {{PLURAL:$1|следећег|следећих}} разлога:',
+'permissionserrorstext-withaction' => 'Ð\9dемаÑ\82е Ð´Ð¾Ð·Ð²Ð¾Ð»Ñ\83 Ð·а $2 из {{PLURAL:$1|следећег|следећих}} разлога:',
 'recreate-moveddeleted-warn' => "'''Упозорење: поново правите страницу која је претходно обрисана.'''
 
 Размотрите да ли је прикладно да наставите с уређивањем ове странице.
@@ -1481,7 +1481,6 @@ $1",
 'searchmenu-legend' => 'Поставке претраге',
 'searchmenu-exists' => "'''Постоји и чланак под називом „[[:$1]]“.'''",
 'searchmenu-new' => "'''Направите страницу „[[:$1]]“.'''",
-'searchhelp-url' => 'Help:Садржај',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Прегледај странице с овим префиксом]]',
 'searchprofile-articles' => 'Чланци',
 'searchprofile-project' => 'Странице помоћи и пројеката',
@@ -4226,11 +4225,11 @@ $5
 'version-poweredby-credits' => "Овај вики покреће '''[//www.mediawiki.org/ Медијавики]''', ауторска права © 2001-$1 $2.",
 'version-poweredby-others' => 'остали',
 'version-credits-summary' => 'Желели бисмо да захвалимо следећим људима на њиховом доприносу [[Special:Version|Медијавикији]].',
-'version-license-info' => 'Медијавики је слободан софтвер; можете га расподељивати и мењати под условима ГНУ-ове опште јавне лиценце (ОЈЛ) коју је објавила Задужбина за слободан софтвер, било да је у питању друго или новије издање лиценце.
+'version-license-info' => 'Медијавики је слободан софтвер можете га редистрибуирати и/или модификовати под условима ГНУ-ове опште јавне лиценце верзија 2 или сваке следеће коју објави Задужбина за слободан софтвер.
 
-Медијавики се нуди у нади да ће бити од користи, али БЕЗ ИКАКВЕ ГАРАНЦИЈЕ; чак и без подразумеване гаранције о ПРОДАЈНОЈ ВРЕДНОСТИ или ПОГОДНОСТИ ЗА ОДРЕЂЕНЕ НАМЕНЕ. Погледајте ГНУ-ову општу јавну лиценцу за више информација.
+Медијавики се редистрибуирати у нади да ће бити од користи, али БЕЗ ИКАКВЕ ГАРАНЦИЈЕ чак и без ПОДРАЗУМЕВАНЕ ГАРАНЦИЈЕ ФУНКЦИОНАЛНОСТИ или ПРИКЛАДНОСТИ ЗА ОДРЕЂЕНЕУ НАМЕНУ. Погледајте ГНУ-ову општу јавну лиценцу за више информација.
 
-Требало би да сте примили [{{SERVER}}{{SCRIPTPATH}}/COPYING примерак ГНУ-ове опште јавне лиценце] заједно с овим програмом. Ако нисте, пишите на Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301, USA или [//www.gnu.org/licenses/old-licenses/gpl-2.0.html прочитајте овде].',
+Требало би да сте примили [{{SERVER}}{{SCRIPTPATH}}/COPYING примерак ГНУ-ове опште јавне лиценце] заједно са овим програмом. Ако нисте, пишите на Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301, USA или [//www.gnu.org/licenses/old-licenses/gpl-2.0.html прочитајте овде].',
 'version-software' => 'Инсталирани софтвер',
 'version-software-product' => 'Производ',
 'version-software-version' => 'Верзија',
index 9405df2..1463dae 100644 (file)
@@ -411,6 +411,18 @@ $messages = array(
 'oct' => 'okt',
 'nov' => 'nov',
 'dec' => 'dec',
+'january-date' => '$1. januar',
+'february-date' => '$1. februar',
+'march-date' => '$1. mart',
+'april-date' => '$1. april',
+'may-date' => '$1. maj',
+'june-date' => '$1. jun',
+'july-date' => '$1. jul',
+'august-date' => '$1. august',
+'september-date' => '$1. septembar',
+'october-date' => '$1. oktobar',
+'november-date' => '$1. novembar',
+'december-date' => '$1. decembar',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Kategorija|Kategorije}}',
@@ -438,7 +450,8 @@ $messages = array(
 'newwindow' => '(otvara u novom prozoru)',
 'cancel' => 'Otkaži',
 'moredotdotdot' => 'Više…',
-'mypage' => 'Moja stranica',
+'morenotlisted' => 'Više nije prikazano...',
+'mypage' => 'Stranica',
 'mytalk' => 'Razgovor',
 'anontalk' => 'Razgovor za ovu IP adresu',
 'navigation' => 'Navigacija',
@@ -722,10 +735,19 @@ Administrator koji ju je zaključao ponudio je sledeće objašnjenje: „$3“.'
 
 Možete da nastavite s korišćenjem ovog vikija kao gost, ili se <span class='plainlinks'>[$1 ponovo prijavite]</span> kao drugi korisnik.
 Imajte na umu da neke stranice mogu nastaviti da se prikazuju kao da ste još prijavljeni, sve dok ne očistite privremenu memoriju svog pregledača.",
+'welcomeuser' => 'Dobrodošli, $1!',
 'yourname' => 'Korisničko ime:',
+'userlogin-yourname' => 'Korisničko ime',
+'userlogin-yourname-ph' => 'Unesite vaše korisničko ime',
 'yourpassword' => 'Lozinka:',
+'userlogin-yourpassword' => 'Lozinka',
+'userlogin-yourpassword-ph' => 'Unesite vašu lozinku',
+'createacct-yourpassword-ph' => 'Unesite novu lozinku',
 'yourpasswordagain' => 'Potvrda lozinke:',
+'createacct-yourpasswordagain' => 'Potvrdite lozinku',
+'createacct-yourpasswordagain-ph' => 'Unesite lozinku još jednom',
 'remembermypassword' => 'Zapamti me na ovom pregledaču (najduže $1 {{PLURAL:$1|dan|dana|dana}})',
+'userlogin-remembermypassword' => 'Ostavi me prijavljenog/u',
 'userlogin-signwithsecure' => 'Koristite sigurnu konekciju',
 'securelogin-stick-https' => 'Ostanite povezani sa HTTPS nakon prijave',
 'yourdomainname' => 'Domen:',
@@ -739,18 +761,35 @@ Imajte na umu da neke stranice mogu nastaviti da se prikazuju kao da ste još pr
 'logout' => 'Odjava',
 'userlogout' => 'Odjavi me',
 'notloggedin' => 'Niste prijavljeni',
+'userlogin-noaccount' => 'Nemate nalog?',
+'userlogin-joinproject' => 'Otvorite ga',
 'nologin' => 'Nemate nalog? Idite na stranicu „$1“.',
 'nologinlink' => 'Otvaranje naloga',
 'createaccount' => 'Otvori nalog',
 'gotaccount' => 'Već imate nalog? Idite na stranicu „$1“.',
 'gotaccountlink' => 'Prijava',
 'userlogin-resetlink' => 'Zaboravili ste podatke za prijavu?',
+'userlogin-resetpassword-link' => 'Resetuj lozinku',
+'helplogin-url' => 'Help:Logging in',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Pomoć pri prijavljivanju]]',
-'createaccountmail' => 'E-poštom',
+'createacct-join' => 'Unesite svoje podatke ispod.',
+'createacct-emailrequired' => 'Adresa e-pošte',
+'createacct-emailoptional' => 'Adresa e-pošte (opcijono)',
+'createacct-email-ph' => 'Unesite vašu adresu e-pоšte',
+'createaccountmail' => 'Koristite privremenu, slučajno stvorenu lozinku i pošaljite na dole navedenu adresu elektronske pošte',
+'createacct-realname' => 'Pravo ime (opcijono)',
 'createaccountreason' => 'Razlog:',
+'createacct-reason' => 'Razlog',
+'createacct-reason-ph' => 'Zašto pravite još jedan nalog?',
+'createacct-captcha' => 'Sigurnosna provera',
+'createacct-imgcaptcha-ph' => 'Unesite tekst koji vidite iznad',
+'createacct-submit' => 'Otvorite nalog',
+'createacct-benefit-heading' => '{{SITENAME}} je napravljen od strane ljudi kao što ste vi.',
+'createacct-benefit-body3' => 'skorašnjih {{PLURAL:$1|doprinosa}}',
 'badretype' => 'Unete lozinke se ne poklapaju.',
 'userexists' => 'Korisničko ime je zauzeto. Izaberite drugo.',
 'loginerror' => 'Greška pri prijavljivanju',
+'createacct-error' => 'Došlo je do greške pri kreiranju naloga',
 'createaccounterror' => 'Ne mogu da otvorim nalog: $1',
 'nocookiesnew' => 'Korisnički nalog je otvoren, ali niste prijavljeni.
 Ovaj viki koristi kolačiće za prijavu. Vama su kolačići onemogućeni.
@@ -844,6 +883,7 @@ Možda ste već promenili lozinku ili ste zatražili novu privremenu lozinku.',
 
 # Special:PasswordReset
 'passwordreset' => 'Obnavljanje lozinke',
+'passwordreset-text-one' => 'Popunite ovaj obrazac da biste resetovali lozinku.',
 'passwordreset-legend' => 'Poništi lozinku',
 'passwordreset-disabled' => 'Obnavljanje lozinke je onemogućeno na ovom vikiju.',
 'passwordreset-username' => 'Korisničko ime:',
@@ -1075,7 +1115,7 @@ Možete se vratiti i urediti postojeću stranicu, ili se [[Special:UserLogin|pri
 'sectioneditnotsupported-text' => 'Uređivanje odeljka nije podržano na ovoj stranici.',
 'permissionserrors' => 'Greške u dozvolama',
 'permissionserrorstext' => 'Nemate ovlašćenje za tu radnju iz {{PLURAL:$1|sledećeg|sledećih}} razloga:',
-'permissionserrorstext-withaction' => 'Nemate dozvolu da $2 iz {{PLURAL:$1|sledećeg|sledećih}} razloga:',
+'permissionserrorstext-withaction' => 'Nemate dozvolu za $2 iz {{PLURAL:$1|sledećeg|sledećih}} razloga:',
 'recreate-moveddeleted-warn' => "'''Upozorenje: ponovo pravite stranicu koja je prethodno obrisana.'''
 
 Razmotrite da li je prikladno da nastavite s uređivanjem ove stranice.
@@ -1341,7 +1381,6 @@ Više informacija možete pronaći u [{{fullurl:{{#Special:Log}}/delete|page={{F
 'searchmenu-legend' => 'Postavke pretrage',
 'searchmenu-exists' => "'''Postoji i članak pod nazivom „[[:$1]]“.'''",
 'searchmenu-new' => "'''Napravite stranicu „[[:$1]]“.'''",
-'searchhelp-url' => 'Help:Sadržaj',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Pregledaj stranice s ovim prefiksom]]',
 'searchprofile-articles' => 'Članci',
 'searchprofile-project' => 'Stranice pomoći i projekata',
@@ -1363,7 +1402,7 @@ Više informacija možete pronaći u [{{fullurl:{{#Special:Log}}/delete|page={{F
 'search-interwiki-default' => '$1 rezultati:',
 'search-interwiki-more' => '(više)',
 'search-relatedarticle' => 'Povezano',
-'mwsuggest-disable' => 'Onemogući predloge AJAX',
+'mwsuggest-disable' => 'Onemogući predloge pri pretraživanju',
 'searcheverything-enable' => 'svi imenski prostori',
 'searchrelated' => 'povezano',
 'searchall' => 'sve',
@@ -1879,6 +1918,7 @@ Ako se problem ne reši, kontaktirajte [[Special:ListUsers/sysop|administratora]
 'backend-fail-notsame' => 'Već postoji neistovetna datoteka – $1.',
 'backend-fail-invalidpath' => '$1 nije ispravna putanja za skladištenje.',
 'backend-fail-delete' => 'Ne mogu da obrišem datoteku $1.',
+'backend-fail-describe' => 'Ne mogu da promenim metapodatke za datoteku „$1“.',
 'backend-fail-alreadyexists' => 'Datoteka $1 već postoji.',
 'backend-fail-store' => 'Ne mogu da smestim datoteku $1 u $2.',
 'backend-fail-copy' => 'Ne mogu da umnožim datoteku $1 u $2.',
@@ -2117,6 +2157,9 @@ Pre brisanja proverite da li druge stranice vode do tih šablona.',
 Umesto toga, valjalo bi da vode do odgovarajuće teme.
 Stranica se smatra višeznačnom odrednicom ako koristi šablon koji vodi od [[MediaWiki:Disambiguationspage]].",
 
+'pageswithprop-prop' => 'Ime osobine:',
+'pageswithprop-submit' => 'Idi',
+
 'doubleredirects' => 'Dvostruka preusmerenja',
 'doubleredirectstext' => 'Ova stranica prikazuje stranice koje preusmeravaju na druga preusmerenja.
 Svaki red sadrži veze prema prvom i drugom preusmerenju, kao i odredišnu stranicu drugog preusmerenja koja je obično „pravi“ članak na koga prvo preusmerenje treba da upućuje.
@@ -2373,8 +2416,8 @@ Ukoliko budete želeli da uklonite stranicu sa spiska nadgledanja, kliknite opet
 'notvisiblerev' => 'Izmena je obrisana',
 'watchnochange' => 'Ništa što nadgledate nije promenjeno u prikazanom vremenu.',
 'watchlist-details' => '{{PLURAL:$1|$1 stranica|$1 stranice|$1 stranica}} na vašem spisku nadgledanja, ne računajući stranice za razgovor.',
-'wlheader-enotif' => 'E-obaveštenje je omogućeno.',
-'wlheader-showupdated' => "Stranice koje su izmenjene otkad ste ih poslednji put posetili su '''podebljane'''",
+'wlheader-enotif' => 'Obaveštenje e-porukom je omogućeno.',
+'wlheader-showupdated' => "Stranice koje su izmenjene otkad ste ih poslednji put posetili su '''podebljane'''.",
 'watchmethod-recent' => 'proverava se da li ima nadgledanih stranica u skorašnjim izmenama',
 'watchmethod-list' => 'proverava se da li ima skorašnjih izmena u nadgledanim stranicama',
 'watchlistcontains' => 'Vaš spisak nadgledanja sadrži $1 {{PLURAL:$1|stranicu|stranice|stranica}}.',
@@ -2497,6 +2540,7 @@ Pogledajte [[Special:ProtectedPages|spisak zaštićenih stranica]] za više deta
 'prot_1movedto2' => '{{GENDER:|je premestio|je premestila|je premestio}} [[$1]] u [[$2]]',
 'protect-badnamespace-title' => 'Nezaštitljiv imenski prostor',
 'protect-badnamespace-text' => 'Stranice u ovom imenskom prostoru se ne mogu zaštititi.',
+'protect-norestrictiontypes-title' => 'Nezaštitljiva strana',
 'protect-legend' => 'Potvrdite zaštitu',
 'protectcomment' => 'Razlog:',
 'protectexpiry' => 'Ističe:',
@@ -3191,6 +3235,10 @@ Ovo je verovatno izazvano vezom do spoljašnjeg sajta koji se nalazi na crnoj li
 'pageinfo-protect-cascading' => 'Prenosiva zaštita stranica važi odavde',
 'pageinfo-protect-cascading-yes' => 'Da',
 'pageinfo-protect-cascading-from' => 'Stranice sa prenosivom zaštitom od',
+'pageinfo-category-info' => 'Informacije o kategoriji',
+'pageinfo-category-pages' => 'Broj stranica',
+'pageinfo-category-subcats' => 'Broj potkategorija',
+'pageinfo-category-files' => 'Broj datoteka',
 
 # Skin names
 'skinname-cologneblue' => 'Kelnsko plava',
@@ -3244,6 +3292,7 @@ Ako ga pokrenete, vaš računar može biti ugrožen.",
 'file-nohires' => 'Veća rezolucija nije dostupna.',
 'svg-long-desc' => 'SVG datoteka, nominalno $1 × $2 piksela, veličina: $3',
 'svg-long-desc-animated' => 'Animirana SVG datoteka, nominalno: $1 × $2 piksela, veličina: $3',
+'svg-long-error' => 'Neispravna SVG datoteka: $1',
 'show-big-image' => 'Puna veličina',
 'show-big-image-preview' => 'Veličina ovog prikaza: $1.',
 'show-big-image-other' => '{{PLURAL:$2|Druga rezolucija|Druge rezolucije}}: $1.',
@@ -3279,6 +3328,7 @@ Ako ga pokrenete, vaš računar može biti ugrožen.",
 'hours' => '{{PLURAL:$1|$1 sat|$1 sata|$1 sati}}',
 'days' => '{{PLURAL:$1|$1 dan|$1 dana|$1 dana}}',
 'ago' => 'pre $1',
+'just-now' => 'upravo sad',
 
 # Bad image list
 'bad_image_list' => 'Format je sledeći:
@@ -4060,9 +4110,9 @@ Možete da [[Special:EditWatchlist|koristite i običan uređivač]].',
 'version-poweredby-credits' => "Ovaj viki pokreće '''[//www.mediawiki.org/ Medijaviki]''', autorska prava © 2001-$1 $2.",
 'version-poweredby-others' => 'ostali',
 'version-credits-summary' => 'Želeli bismo da zahvalimo sledećim ljudima na njihovom doprinosu [[Special:Version|Medijavikiji]].',
-'version-license-info' => 'Medijaviki je slobodan softver; možete ga raspodeljivati i menjati pod uslovima GNU-ove opšte javne licence (OJL) koju je objavila Zadužbina za slobodan softver, bilo da je u pitanju drugo ili novije izdanje licence.
+'version-license-info' => 'Medijaviki je slobodan softver možete ga redistribuirati i/ili modifikovati pod uslovima GNU-ove opšte javne licence verzija 2 ili svake sledeće koju objavi Zadužbina za slobodan softver.
 
-Medijaviki se nudi u nadi da će biti od koristi, ali BEZ IKAKVE GARANCIJE; čak i bez podrazumevane garancije o PRODAJNOJ VREDNOSTI ili POGODNOSTI ZA ODREĐENE NAMENE. Pogledajte GNU-ovu opštu javnu licencu za više informacija.
+Medijaviki se redistribuirati u nadi da će biti od koristi, ali BEZ IKAKVE GARANCIJE čak i bez PODRAZUMEVANE GARANCIJE FUNKCIONALNOSTI ili PRIKLADNOSTI ZA ODREĐENEU NAMENU. Pogledajte GNU-ovu opštu javnu licencu za više informacija.
 
 Trebalo bi da ste primili [{{SERVER}}{{SCRIPTPATH}}/COPYING primerak GNU-ove opšte javne licence] zajedno s ovim programom. Ako niste, pišite na Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301, USA ili [//www.gnu.org/licenses/old-licenses/gpl-2.0.html pročitajte ovde].',
 'version-software' => 'Instalirani softver',
@@ -4072,6 +4122,13 @@ Trebalo bi da ste primili [{{SERVER}}{{SCRIPTPATH}}/COPYING primerak GNU-ove op
 'version-entrypoints-header-entrypoint' => 'Ulazna tačka',
 'version-entrypoints-header-url' => 'Adresa',
 
+# Special:Redirect
+'redirect-legend' => 'Preusmeri na datoteku ili stranicu',
+'redirect-submit' => 'Idi',
+'redirect-value' => 'Vrednost:',
+'redirect-file' => 'Naziv datoteke',
+'redirect-not-exists' => 'Vrednost nije pronađen',
+
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Pretraga duplikata',
 'fileduplicatesearch-summary' => 'Pretraga dupliranih datoteka prema vrednostima disperzije.',
@@ -4098,7 +4155,7 @@ Trebalo bi da ste primili [{{SERVER}}{{SCRIPTPATH}}/COPYING primerak GNU-ove op
 'specialpages-group-highuse' => 'Najčešće korišćene stranice',
 'specialpages-group-pages' => 'Spiskovi stranica',
 'specialpages-group-pagetools' => 'Alatke',
-'specialpages-group-wiki' => 'Podaci i alati enciklopedije',
+'specialpages-group-wiki' => 'Podaci i alati',
 'specialpages-group-redirects' => 'Preusmeravanje posebnih stranica',
 'specialpages-group-spam' => 'Alatke protiv nepoželjnih poruka',
 
@@ -4161,6 +4218,9 @@ Trebalo bi da ste primili [{{SERVER}}{{SCRIPTPATH}}/COPYING primerak GNU-ove op
 'htmlform-submit' => 'Pošalji',
 'htmlform-reset' => 'Vrati izmene',
 'htmlform-selectorother-other' => 'Drugo',
+'htmlform-no' => 'Ne',
+'htmlform-yes' => 'Da',
+'htmlform-chosen-placeholder' => 'Izaberite opciju',
 
 # SQLite database support
 'sqlite-has-fts' => '$1 s podrškom pretrage celog teksta',
index 7aca717..3f71da0 100644 (file)
@@ -636,7 +636,6 @@ A kan ben trowe efu dribi.
 'prevn' => '{{PLURAL:$1|$1}} di psa',
 'nextn' => '{{PLURAL:$1|$1}} trawan',
 'viewprevnext' => 'Luku ($1 {{int:pipe-separator}} $2) ($3).',
-'searchhelp-url' => 'Help:San de',
 'powersearch' => 'Suku moro dipi',
 
 # Preferences page
index 43d5057..65fa12a 100644 (file)
@@ -548,10 +548,8 @@ Muugelkerwiese hääst du dien Paaswoud al mäd Ärfoulch annerd of n näi tiede
 
 # Special:PasswordReset
 'passwordreset' => 'Paaswoud touräächsätte',
-'passwordreset-text' => 'Dit Formular uutfälle, uum per E-Mail ne Ärinnerenge tou do Anmäldeinformatione tou kriegen.',
 'passwordreset-legend' => 'Paaswoud touräächsätte',
 'passwordreset-disabled' => 'Dät Touräächsätten fon Paaswoude wuud in dissen Wiki deaktivierd.',
-'passwordreset-pretext' => '{{PLURAL:$1||Reek aan fon do foulgjende Doaten ien}}',
 'passwordreset-username' => 'Benutsernoome:',
 'passwordreset-domain' => 'Domain:',
 'passwordreset-capture' => 'Ju E-Mail-Ättergjucht bekiekje?',
@@ -977,7 +975,6 @@ Staal deertruch sicher, dät ju Versionsgeskichte fon n Artikkel historisk akroa
 'searchmenu-legend' => 'Säikoptione',
 'searchmenu-exists' => "'''Dät rakt n Siede mäd Noome \"[[:\$1]]\" ap dissen Wiki'''",
 'searchmenu-new' => "'''Moak ju Siede „[[:$1]]“ in dissen Wiki.'''",
-'searchhelp-url' => 'Help:Hälpe',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Wies aal Sieden, do mäd dän Säikbegriep ounfange]]',
 'searchprofile-articles' => 'Inhooldssieden',
 'searchprofile-project' => 'Hälpe un Projektsieden',
index 23fa02b..5c072ad 100644 (file)
@@ -624,10 +624,8 @@ Bisa jadi anjeun geus ngaganti sandina atawa ménta sandi saheulaanan anu anyar.
 
 # Special:PasswordReset
 'passwordreset' => 'Setél ulang sandi',
-'passwordreset-text' => 'Lengkepan ieu formulir pikeun nampa surélék pangéling ngeunaan wincikan akun anjeun.',
 'passwordreset-legend' => 'Setél ulang sandi',
 'passwordreset-disabled' => 'Dina ieu wiki, sandi teu bisa disetél ulang.',
-'passwordreset-pretext' => '{{PLURAL:$1||Asupkeun salah sahiji data di handap ieu}}',
 'passwordreset-username' => 'Sandiasma:',
 'passwordreset-domain' => 'Domain:',
 'passwordreset-capture' => 'Témbongkeun surat-é hasilna?',
@@ -1045,7 +1043,6 @@ Pastikeun yén ieu parobahan bisa miara jujutan kaca sagemblengna.',
 'searchmenu-legend' => 'Pilihan nyungsi',
 'searchmenu-exists' => "'''Dina wiki ieu geus aya kaca nu ngaranna \"[[:\$1]]\"'''",
 'searchmenu-new' => "'''Jieun kaca \"[[:\$1]]\" dina ieu wiki!'''",
-'searchhelp-url' => 'Help:Pitulung',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Sungsi kaca-kaca nu dimimitian ku ieu awalan]]',
 'searchprofile-articles' => 'Kaca eusi',
 'searchprofile-project' => 'Kaca Pitulung jeung Proyék',
index 6f09838..9fc5078 100644 (file)
@@ -22,6 +22,7 @@
  * @author Habjchen
  * @author Hannibal
  * @author Jon Harald Søby
+ * @author Jopparn
  * @author Kaganer
  * @author LPfi
  * @author Lejonel
@@ -522,6 +523,7 @@ $messages = array(
 'create-this-page' => 'Skapa denna sida',
 'delete' => 'Radera',
 'deletethispage' => 'Radera denna sida',
+'undeletethispage' => 'Återställ denna sida',
 'undelete_short' => 'Återställ {{PLURAL:$1|en version|$1 versioner}}',
 'viewdeleted_short' => 'Visa {{PLURAL:$1|en raderad redigering|$1 raderade redigeringar}}',
 'protect' => 'Skrivskydda',
@@ -721,6 +723,8 @@ $2',
 'namespaceprotected' => "Du har inte behörighet att redigera sidor i namnrymden '''$1'''.",
 'customcssprotected' => 'Du har inte behörighet att redigera denna CSS-sidan eftersom den innehåller en annan användares personliga inställningar.',
 'customjsprotected' => 'Du har inte behörighet att redigera denna JavaScript-sidan eftersom den innehåller en annan användares personliga inställningar.',
+'mycustomcssprotected' => 'Du har inte rättigheten att redigera denna CSS-sida.',
+'mycustomjsprotected' => 'Du har inte rättigheten att redigera denna JavaScript-sida.',
 'ns-specialprotected' => 'Specialsidor kan inte redigeras.',
 'titleprotected' => 'Denna sidtitel har skyddats från att skapas av [[User:$1|$1]].
 Den uppgivna anledningen är "\'\'$2\'\'".',
@@ -851,7 +855,7 @@ Skriv in en adress med korrekt format eller töm fältet.',
 'cannotchangeemail' => 'E-post-adresser som är bundna till användarkonton kan inte ändras på denna wiki.',
 'emaildisabled' => 'Denna webbplats kan inte skicka e-post.',
 'accountcreated' => 'Användarkontot har skapats',
-'accountcreatedtext' => 'Användarkontot $1 har skapats.',
+'accountcreatedtext' => 'Användarkontot [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|talk]]) har skapats.',
 'createaccount-title' => 'Konto skapat på {{SITENAME}}',
 'createaccount-text' => 'Någon har skapat ett konto åt din e-postadress på {{SITENAME}} ($4) med namnet "$2" och lösenordet "$3". Du bör nu logga in och ändra ditt lösenord.
 
@@ -1379,7 +1383,6 @@ Detaljer kan hittas i [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}
 'searchmenu-legend' => 'Sökalternativ',
 'searchmenu-exists' => "'''Det finns en sida med namnet \"[[:\$1]]\" på denna wiki.'''",
 'searchmenu-new' => "'''Skapa sidan \"[[:\$1]]\" på denna wiki!'''",
-'searchhelp-url' => 'Help:Innehåll',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Bläddra igenom sidor med detta prefix]]',
 'searchprofile-articles' => 'Innehållssidor',
 'searchprofile-project' => 'Hjälp- och projektsidor',
@@ -1637,6 +1640,8 @@ Om du väljer att ange ditt riktiga namn, kommer det att användas för att till
 'right-editusercssjs' => 'Redigera andra användares CSS- och JS-filer',
 'right-editusercss' => 'Redigera andra användares CSS-filer',
 'right-edituserjs' => 'Redigera andra användares JS-filer',
+'right-editmyusercss' => 'Redigera din egen användares CSS-filer',
+'right-editmyuserjs' => 'Redigera din egen användares JavaScript-filer',
 'right-rollback' => 'Rulla tillbaka den användare som senast redigerat en sida',
 'right-markbotedits' => 'Markera tillbakarullningar som robotändringar',
 'right-noratelimit' => 'Påverkas inte av hastighetsgränser',
index 367e3cd..0fd491c 100644 (file)
@@ -432,7 +432,7 @@ Tazama [[Special:Version|ukurasa wa toleo]].',
 'sort-ascending' => 'Pangia kwa kupanda',
 
 # Short words for each namespace, by default used in the namespace tab in monobook
-'nstab-main' => 'Makala',
+'nstab-main' => 'Ukurasa',
 'nstab-user' => 'Ukurasa wa mtumiaji',
 'nstab-media' => 'Ukurasa wa faili',
 'nstab-special' => 'Ukurasa maalum',
@@ -1095,7 +1095,6 @@ Tazama [[Special:BlockList|IP block orodha ya uzuio wa IP]] kuona orodha ya zuio
 'searchmenu-legend' => 'Hitiari za kutafuta',
 'searchmenu-exists' => "'''Ukurasa wa \"[[:\$1]]\" upo kwenye wiki hii'''",
 'searchmenu-new' => "'''Anzisha ukurasa wa \"[[:\$1]]\" katika wiki hii!'''",
-'searchhelp-url' => 'Help:Yaliyomo',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Tafuta kurasa kwenye eneo hili la wiki]]',
 'searchprofile-articles' => 'Kurasa kwa kusudi ya wiki',
 'searchprofile-project' => 'Kurasa za msaada na za mradi',
@@ -2214,7 +2213,7 @@ $1',
 'mycontris' => 'Michango',
 'contribsub2' => 'Kwa $1 ($2)',
 'nocontribs' => 'Mabadiliko yanayolingana na vigezo vilivyoulizwa hayakupatikana.',
-'uctop' => '(juu)',
+'uctop' => '(ya kisasa)',
 'month' => 'Kutoka mwezi (na zamani zaidi):',
 'year' => 'Kutoka mwakani (na zamani zaidi):',
 
index 4a38133..f2fdd5e 100644 (file)
@@ -554,10 +554,8 @@ Możliwe co właśńy zmjyńiłżeś swoje hasło abo poprosiłżeś uo nowe tym
 
 # Special:PasswordReset
 'passwordreset' => 'Wyczyść hasło',
-'passwordreset-text' => 'Wypełnij formularz, aby otrzymać e‐mail z przypomnieniem danych Twojego konta.',
 'passwordreset-legend' => 'Wyczyść hasło',
 'passwordreset-disabled' => 'No tyj wiki zamkńynto resytowańy hasył.',
-'passwordreset-pretext' => '{{PLURAL:$1||Wćep jydną z danych}}',
 'passwordreset-username' => 'Mjano używacza:',
 'passwordreset-domain' => 'Domyna:',
 'passwordreset-capture' => 'Czy pokazywać treść wiadomości e‐mail?',
@@ -939,7 +937,6 @@ $1',
 'searchmenu-legend' => 'Uopcyje sznupańo',
 'searchmenu-exists' => "'''Ńy ma zajty uo mjańy \"[[:\$1]]\" na tyj wiki'''",
 'searchmenu-new' => "'''Stwůrz zajta „[[:$1|$1]]” na tyj wiki!'''",
-'searchhelp-url' => 'Help:Pomoc',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Przeglůndej zajty kere s anfanga majům tyn przedrostek]]',
 'searchprofile-articles' => 'Zajty',
 'searchprofile-project' => 'Zajty půmocy a projektu',
index 24af79e..5bef0f0 100644 (file)
@@ -239,7 +239,7 @@ $messages = array(
 'vector-action-protect' => 'காக்கவும்',
 'vector-action-undelete' => 'நீக்கத்தை நிறுத்து',
 'vector-action-unprotect' => 'காப்பை மாற்று',
-'vector-simplesearch-preference' => 'à®\9aாதாரண à®¤à¯\87à®\9fà¯\81தலà¯\8d à®ªà®\9fà¯\8dà®\9fà¯\88யதà¯\8dதà¯\88 à®\9aà¯\86யலà¯\8dபà®\9fà¯\81தà¯\8dதவà¯\81à®®à¯\8d (Vector தோல் மட்டும்)',
+'vector-simplesearch-preference' => 'à®\8eளிதாà®\95à¯\8dà®\95பà¯\8dபà®\9fà¯\8dà®\9f à®¤à¯\87à®\9fà¯\81தலà¯\8d à®ªà®\9fà¯\8dà®\9fà¯\88யà¯\88 à®\9aà¯\86யறà¯\8dபà®\9fà¯\81தà¯\8dதவà¯\81à®®à¯\8d (வà¯\86à®\95à¯\8dà®\9fà®°à¯\8d தோல் மட்டும்)',
 'vector-view-create' => 'உருவாக்கவும்',
 'vector-view-edit' => 'தொகு',
 'vector-view-history' => 'வரலாற்றைக் காட்டவும்',
@@ -519,6 +519,8 @@ MySQL returned error "$3: $4".',
 'gotaccount' => "ஏற்கனவே பயனர் கணக்கு உள்ளதா? '''$1'''.",
 'gotaccountlink' => 'புகுபதிகை',
 'userlogin-resetlink' => 'உங்கள் புகுபதிகைக் குறிப்புகளை மறந்துவிட்டீர்களா?',
+'helplogin-url' => 'Help:புகுபதிகை',
+'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|புகுபதிவதற்கான உதவி]]',
 'createacct-join' => 'உங்களின் தகவலை கீழிடவும்',
 'createacct-emailrequired' => 'மின்னஞ்சல் முகவரி',
 'createacct-emailoptional' => 'மின்னஞ்சல் முகவரி (விருப்பத்தேர்வு)',
@@ -526,6 +528,7 @@ MySQL returned error "$3: $4".',
 'createaccountmail' => 'தற்காலிகமாக எழுந்தமான ஒரு கடவுச்சொல்லை பயன்படுத்துக, அதை கீழே தரப்பட்டுள்ள மின்னஞ்சலுக்கு அனுப்புக',
 'createacct-realname' => 'உண்மைப் பெயர் (விருப்பத்தேர்வு)',
 'createaccountreason' => 'காரணம்:',
+'createacct-reason' => 'காரணம்',
 'createacct-reason-ph' => 'தாங்கள் ஏன் மற்றொரு கணக்கைத் துவங்குகிறீர்கள்?',
 'createacct-imgcaptcha-ph' => 'மேலே காணும் சொற்களை உள்ளிடுக',
 'createacct-submit' => 'உங்கள் கணக்கை உருவாக்குக',
@@ -1083,7 +1086,6 @@ $1",
 'searchmenu-legend' => 'தேடல் விருப்பு',
 'searchmenu-exists' => "'''\"[[:\$1]]\" என்னும் பெயருடைய பக்கம் இந்த விக்கியில் உள்ளது'''",
 'searchmenu-new' => "'''\"[[:\$1]]\" பக்கத்தை இந்த விக்கியில் உருவாக்கவும்!'''",
-'searchhelp-url' => 'Help:உதவி',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|இந்த முன்னொட்டுடன் உலவித்தேடு]]',
 'searchprofile-articles' => 'உள்ளடக்கப் பக்கங்களின் பட்டியல்',
 'searchprofile-project' => 'உதவி மற்றும் திட்டப் பக்கங்கள்',
@@ -2856,6 +2858,16 @@ $1',
 'ago' => '$1 முன்பு',
 'just-now' => 'சடுதியில்.',
 
+# Human-readable timestamps
+'monday-at' => 'திங்கள் $1 மணிக்கு',
+'tuesday-at' => 'செவ்வாய் $1 மணிக்கு',
+'wednesday-at' => 'புதன் $1 மணிக்கு',
+'thursday-at' => 'வியாழன் $1 மணிக்கு',
+'friday-at' => 'வெள்ளி $1 மணிக்கு',
+'saturday-at' => 'சனி $1 மணிக்கு',
+'sunday-at' => 'ஞாயிறு $1 மணிக்கு',
+'yesterday-at' => 'நேற்று $1 மணிக்கு',
+
 # Bad image list
 'bad_image_list' => 'முறை பின்வருமாறு:
 
@@ -3459,6 +3471,7 @@ $5
 # Special:Redirect
 'redirect-submit' => 'செல்க',
 'redirect-lookup' => 'கவனிக்கவும்:',
+'redirect-file' => 'கோப்பின் பெயர்',
 'redirect-not-exists' => 'மதிப்பு காணப்பெறவில்லை',
 
 # Special:FileDuplicateSearch
index 3498739..84b5e57 100644 (file)
@@ -563,7 +563,6 @@ $messages = array(
 'nextn' => 'ಬೊಕ್ಕದ {{PLURAL:$1|$1}}',
 'viewprevnext' => 'ತೂಲೆ ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-legend' => 'ನಾಡಾಟದ ಆಯ್ಕೆಲು',
-'searchhelp-url' => 'Help:ಪರಿವಿಡಿ',
 'searchprofile-articles' => 'ಲೇಖನ ಪುಟೊ',
 'searchprofile-images' => 'ಬಹುಮಾಧ್ಯಮ',
 'searchprofile-everything' => 'ಪ್ರತಿಯೊಂಜಿ',
index a5058d0..87f27e7 100644 (file)
@@ -1156,7 +1156,6 @@ $1",
 'searchmenu-legend' => 'అన్వేషణ ఎంపికలు',
 'searchmenu-exists' => "'''ఈ వికీలో \"[[:\$1]]\" అనే పేజీ ఉంది'''",
 'searchmenu-new' => "'''ఈ వికీలో \"[[:\$1]]\" అనే పేరుతో పేజీని సృష్టించు!'''",
-'searchhelp-url' => 'Help:సూచిక',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|ఈ ఉపసర్గ ఉన్న పేజీలను చూడండి]]',
 'searchprofile-articles' => 'విషయపు పేజీలు',
 'searchprofile-project' => 'సహాయం మరియు ప్రాజెక్టు పేజీలు',
@@ -1299,7 +1298,7 @@ $1",
 ఇతరులు మిమ్మల్ని సంప్రదించినప్పుడు మీ ఈ-మెయిలు చిరునామా బహిర్గతమవదు.',
 'prefs-help-email-required' => 'ఈ-మెయిలు చిరునామా తప్పనిసరి.',
 'prefs-info' => 'ప్రాథమిక సమాచారం',
-'prefs-i18n' => 'à°\85à°\82తరà±\8dà°\9cాతà±\80à°¯à±\80à°\95à°°à°£',
+'prefs-i18n' => 'అంతర్జాతీకరణ',
 'prefs-signature' => 'సంతకం',
 'prefs-dateformat' => 'తేదీ ఆకృతి',
 'prefs-timeoffset' => 'సమయ సవరణ',
index f641ff3..3ccef20 100644 (file)
@@ -827,7 +827,6 @@ $1',
 'searchmenu-legend' => 'Гузинаҳои ҷустуҷӯ',
 'searchmenu-exists' => "'''Саҳифае бо номи \"[[:\$1]]\" дар ин вики вуҷуд дорад.'''",
 'searchmenu-new' => "'''Эҷоди саҳифаи \"[[:\$1]]\" дар ин вики!'''",
-'searchhelp-url' => 'Help:Мундариҷа',
 'searchprofile-articles' => 'Саҳифаҳои мӯҳтаво',
 'searchprofile-project' => 'Саҳифаҳои роҳномо ва лоиҳа',
 'searchprofile-images' => 'Чандрасонаӣ',
index eb2aaee..b72cc90 100644 (file)
@@ -702,7 +702,6 @@ Itminon hosil kuned, ki in taƣjir davomnokiji ta'rixiji sahifaro nigoh dorad.",
 'viewprevnext' => 'Namoiş ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-legend' => 'Guzinahoi çustuçū',
 'searchmenu-new' => "'''Eçodi sahifai \"[[:\$1]]\" dar in viki!'''",
-'searchhelp-url' => 'Help:Mundariça',
 'searchprofile-advanced' => 'Peşrafta',
 'searchprofile-articles-tooltip' => 'Çustuçū dar $1',
 'searchprofile-project-tooltip' => 'Çustuçū dar $1',
index d5d7679..741f278 100644 (file)
@@ -1199,7 +1199,6 @@ $1",
 'searchmenu-legend' => 'ตัวเลือกการค้นหา',
 'searchmenu-exists' => "'''มีหน้าชื่อ \"[[:\$1]]\" บนวิกินี้'''",
 'searchmenu-new' => "'''สร้างหน้า \"[[:\$1]]\" บนวิกินี้'''",
-'searchhelp-url' => 'Help:สารบัญ',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|ค้นดูหน้าที่มีคำขึ้นต้นนี้]]',
 'searchprofile-articles' => 'หน้าเนื้อหา',
 'searchprofile-project' => 'คำอธิบายและหน้าโครงการ',
index e1e4f45..87be317 100644 (file)
@@ -965,7 +965,6 @@ Nawigasiýa çykgytlaryny ulanmaklygyň bu sütüni başky ýagdaýyna getirjekd
 'searchmenu-legend' => 'Gözleg opsiýalary',
 'searchmenu-exists' => "'''Bu wikide \"[[:\$1]]\" atly sahypa bar'''",
 'searchmenu-new' => "'''Bu wikide \"[[:\$1]]\" sahypasyny döret!'''",
-'searchhelp-url' => 'Help:Içindäkiler',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Şu prefiksli sahypalara göz aýla]]',
 'searchprofile-articles' => 'Mazmunly sahypalar',
 'searchprofile-project' => 'Ýardam we Taslama sahypalary',
index bad2c0e..d8686f7 100644 (file)
@@ -254,6 +254,18 @@ $messages = array(
 'oct' => 'Okt',
 'nov' => 'Nob',
 'dec' => 'Dis',
+'january-date' => '$1 Enero',
+'february-date' => '$1 Pebrero',
+'march-date' => '$1 Marso',
+'april-date' => '$1 Abril',
+'may-date' => '$1 Mayo',
+'june-date' => '$1 Hunyo',
+'july-date' => '$1 Hulyo',
+'august-date' => '$1 Agosto',
+'september-date' => '$1 Setyembre',
+'october-date' => '$1 Oktubre',
+'november-date' => '$1 Nobyembre',
+'december-date' => '$1 Disyembre',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Kategorya|Mga kategorya}}',
@@ -305,7 +317,7 @@ $messages = array(
 'vector-action-protect' => 'Ipagsanggalang',
 'vector-action-undelete' => 'Alisin ang pagbubura',
 'vector-action-unprotect' => 'Baguhin ang pagsasanggalang',
-'vector-simplesearch-preference' => 'Paganahin ang pinainam na mga mungkahi sa paghahanap (pabalat na Vector lang)',
+'vector-simplesearch-preference' => 'Paganahin ang pinainam na bar ng paghahanap (pabalat na Vector lang)',
 'vector-view-create' => 'Likhain',
 'vector-view-edit' => 'Baguhin',
 'vector-view-history' => 'Tingnan ang kasaysayan',
@@ -315,6 +327,7 @@ $messages = array(
 'namespaces' => 'Mga ngalan-espasyo',
 'variants' => 'Naiiba pa',
 
+'navigation-heading' => 'Menu ng paglilibot',
 'errorpagetitle' => 'Pagkakamali',
 'returnto' => 'Bumalik sa $1.',
 'tagline' => 'Mula sa {{SITENAME}}',
@@ -348,7 +361,7 @@ $messages = array(
 'talkpagelinktext' => 'Usapan',
 'specialpage' => 'Natatanging pahina',
 'personaltools' => 'Mga kagamitang pansarili',
-'postcomment' => 'Bagong seksyon',
+'postcomment' => 'Bagong seksiyon',
 'articlepage' => 'Tingnan ang pahina ng nilalaman',
 'talk' => 'Usapan',
 'views' => 'Mga anyo',
@@ -472,10 +485,10 @@ Matatagpuan ang isang tala ng mga tamang natatanging pahina sa [[Special:Special
 
 # General errors
 'error' => 'Kamalian',
-'databaseerror' => 'Kamalian sa kalipunan ng dato',
-'dberrortext' => 'Naganap ang isang pagkakamali sa pag-uusisa na pampalaugnayan sa kalipunan ng dato.
+'databaseerror' => 'Kamalian sa kalipunan ng datos',
+'dberrortext' => 'Naganap ang isang pagkakamali sa pag-uusisa na pampalaugnayan sa kalipunan ng datos.
 Maaaring magpahiwatig ito ng isang surot sa loob ng sopwer.
-Ang huling tinangkang pag-uusisa sa kalipunan ng dato ay:
+Ang huling tinangkang pag-uusisa sa kalipunan ng datos ay:
 <blockquote><code>$1</code></blockquote>
 magmula sa loob ng tungkuling "<code>$2</code>".
 Nagbalik ang kalipunan ng dato ng kamalian na "<samp>$3: $4</samp>".',
@@ -537,14 +550,16 @@ Pakisubok na lang ulit pagkaraan ng kaunting mga minuto.",
 'viewyourtext' => "Matitingnan at makukopya mo ang pinagmulan ng '''mga pagbabago''' papunta sa pahinang ito:",
 'protectedinterface' => "Nagbibigay ang pahinang ito ng tekstong panghangganan (''interface'') para sa sopwer, at ikinandado para maiwasan ang pangaabuso.",
 'editinginterface' => "'''Babala:''' Binabago mo ang isang pahinang ginagamit sa pagbibigay ng tekstong panghangganan para sa sopwer.
-Makakaapekto ang mga pagbago sa pahinang ito sa anyo ng hangganang (''interface'') pangtagagamit na para sa ibang mga tagagamit.
-Para sa mga salinwika, paki isang-alang-alang o konsiderahin ang paggamit ng [//translatewiki.net/wiki/Main_Page?setlang=en translatewiki.net], ang proyektong panglokalisasyon ng MediaWiki.",
+Makaaapekto ang mga pagbago sa pahinang ito sa anyo ng hangganang (''interface'') pantagagamit na para sa ibang mga tagagamit sa wiking ito.
+Upang magdagag o magbago ng mga salinwika, isaaalang-alang na lang po ang paggamit ng [//translatewiki.net/wiki/Main_Page?setlang=en translatewiki.net], ang proyekto para sa lokalisasyon ng MediaWiki.",
 'sqlhidden' => '(nakatago ang tanong ng SQL)',
 'cascadeprotected' => 'Nakasanggalang ang pahinang ito mula sa mga pagbabago, dahil kabilang ito sa sumusunod na {{PLURAL:$1|pahinang|mga pahinang}} nakasanggalang sa pamamagitan ng binuhay na opsyong "nahuhulog" (kumakaskada):
 $2',
 'namespaceprotected' => "Wala kang pahintulot na magbago ng mga pahinang nasa ngalan-espasyong '''$1'''.",
 'customcssprotected' => 'Wala kang pahintulot na baguhin ang pahina ng CSS na ito, dahil naglalaman ito ng mga katakdaang pansarili ng ibang tagagamit.',
 'customjsprotected' => 'Wala kang pahintulot na baguhin ang pahina ng JavaScript na ito, dahil naglalaman ito ng mga katakdaang pansarili ng ibang tagagamit.',
+'mycustomcssprotected' => 'Wala kang pahintulot na baguhin itong pahinang CSS.',
+'mycustomjsprotected' => 'Wala kang pahintulot na baguhin itong pahinang JavaScript.',
 'ns-specialprotected' => 'Hindi pwedeng baguhin ang mga natatanging pahina.',
 'titleprotected' => "Nakasanggalang ang pamagat na ito mula sa paglikha ni [[User:$1|$1]].
 Ang ibinigay na dahilan ay ''$2''.",
@@ -585,6 +600,7 @@ Huwag kalimutang baguhin ang iyong [[Special:Preferences|mga kagustuhan sa {{SIT
 'logout' => 'Umalis sa pagkakalagda',
 'userlogout' => 'Umalis sa pagkakalagda',
 'notloggedin' => 'Hindi nakalagda',
+'userlogin-joinproject' => 'Sumali sa {{SITENAME}}',
 'nologin' => 'Wala ka pang kuwenta? $1.',
 'nologinlink' => 'Lumikha ng kuwenta',
 'createaccount' => 'Lumikha ng kuwenta',
@@ -696,10 +712,8 @@ Maaaring matagumpay mo nang nabago ang iyong hudyat o nakahiling na ng isang bag
 
 # Special:PasswordReset
 'passwordreset' => 'Muling pagtatakda ng hudyat',
-'passwordreset-text' => 'Punuin ang pormularyong ito upang makatanggap ng isang pampaalalang e-liham ng iyong mga detalye ng akawnt.',
 'passwordreset-legend' => 'Itakdang muli ang hudyat',
 'passwordreset-disabled' => 'Hindi pinagagana sa wiking ito ang muling mga pagtatakda ng hudyat.',
-'passwordreset-pretext' => '{{PLURAL:$1| | Ipasok ang isa sa mga piraso ng datos sa ibaba}}',
 'passwordreset-username' => 'Pangalan ng tagagamit:',
 'passwordreset-domain' => 'Nasasakupan:',
 'passwordreset-capture' => 'Tingnan ang lumabas na e-liham?',
@@ -1189,7 +1203,6 @@ Matatagpuan ang mga detalye sa loob ng [{{fullurl:{{#Special:Log}}/delete|page={
 'searchmenu-legend' => 'Mga pagpipilian para sa paghahanap',
 'searchmenu-exists' => "'''Mayroong pahinang may pangalang \"[[:\$1]]\" dito sa wiking ito'''",
 'searchmenu-new' => "'''Likhain ang pahinang \"[[:\$1]]\" sa wiking ito!'''",
-'searchhelp-url' => 'Help:Nilalaman',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Tingnan-tingnan ang mga pahinang may ganitong unahan/unlapi]]',
 'searchprofile-articles' => 'Mga pahina ng nilalaman',
 'searchprofile-project' => 'Mga pahina ng Tulong at Proyekto',
@@ -1917,13 +1930,13 @@ Marahil ay naisa mong baguhin ang paglalarawan doon sa [$2 pahina ng paglalarawa
 'randompage-nopages' => 'Walang mga pahina sa sumusunod na {{PLURAL:$2|ngalan-espasyo|mga ngalan-espasyo}}: $1.',
 
 # Random redirect
-'randomredirect' => 'Alinmang panuto',
-'randomredirect-nopages' => 'Walang mga panuto sa pangalan-espasyong "$1".',
+'randomredirect' => 'Pagkargang walang-pili',
+'randomredirect-nopages' => 'Walang mga pagkarga sa ngalan-espasyong "$1".',
 
 # Statistics
 'statistics' => 'Mga estadistika',
 'statistics-header-pages' => 'Mga estadistika ng pahina',
-'statistics-header-edits' => 'Baguhin ang mga estadistika',
+'statistics-header-edits' => 'Mga estadistika sa mga pagbabago',
 'statistics-header-views' => 'Tingnan ang mga estadistika',
 'statistics-header-users' => 'Mga estadistika sa mga tagagamit',
 'statistics-header-hooks' => 'Ibang mga estadistika',
@@ -1933,7 +1946,7 @@ Marahil ay naisa mong baguhin ang paglalarawan doon sa [$2 pahina ng paglalarawa
 'statistics-files' => 'Ikinargang mga talaksan',
 'statistics-edits' => 'Naihanda na ang mga pagbabago ng pahina mula sa {{SITENAME}}',
 'statistics-edits-average' => 'Karaniwang pagbabago sa bawat pahina',
-'statistics-views-total' => 'Kalahatang pagdayo',
+'statistics-views-total' => 'Kabuuan ng mga pagtanaw',
 'statistics-views-total-desc' => 'Hindi kabilang ang mga pagtanaw sa mga pahinang hindi umiiral at mga pahinang natatangi',
 'statistics-views-peredit' => 'Pagtingin sa bawat pagbabago',
 'statistics-users' => 'Mga nakatalang [[Special:ListUsers|tagagamit]]',
@@ -2167,7 +2180,7 @@ Ang ipinasok mong direksiyong e-liham sa [[Special:Preferences|iyong mga kagustu
 'emailmessage' => 'Mensahe:',
 'emailsend' => 'Ipadala',
 'emailccme' => 'Padalhan ako ng sipi ng aking mensahe sa pamamagitan ng e-liham.',
-'emailccsubject' => 'Kopya ng iyong mensahe sa $1: $2',
+'emailccsubject' => 'Kopya ng iyong mensahe kay $1: $2',
 'emailsent' => 'Naipadala na ang e-liham',
 'emailsenttext' => 'Naipadala na ang mensahe ng iyong e-liham.',
 'emailuserfooter' => 'Ipinadala ang e-liham na ito ni $1 para kay $2 sa pamamagitan ng tungkuling "Magpadala ng e-liham" na nasa {{SITENAME}}.',
@@ -2440,7 +2453,7 @@ $1',
 'mycontris' => 'Mga ambag',
 'contribsub2' => 'Para kay $1 ($2)',
 'nocontribs' => 'Walang pagbabagong nakita sa binigay na kondisyon.',
-'uctop' => ' (itaas)',
+'uctop' => '(kasalukuyan)',
 'month' => 'Mula sa buwan (at nauna):',
 'year' => 'Mula sa taon (at nauna):',
 
index 3d475d7..0b87308 100644 (file)
@@ -591,7 +591,6 @@ $messages = array(
 'searchmenu-legend' => 'Бо нәве кукон',
 'searchmenu-exists' => "'''Бы вики-нәхшәдә һесте сәһифә «[[:$1]]»'''",
 'searchmenu-new' => "'''Сәһифә офәјеј «[[:$1]]» бә ым вики-нахшәдә!'''",
-'searchhelp-url' => 'Help:Мындәриҹот',
 'searchprofile-articles' => 'Әсосә сәһифон',
 'searchprofile-project' => 'Че араијшон ијән нахшон сәһифон',
 'searchprofile-images' => 'Мултимедијә',
@@ -824,7 +823,7 @@ $messages = array(
 'contributions-title' => 'Иштирокәкә гәнҹ $1',
 'mycontris' => 'Гәнҹ',
 'contribsub2' => 'Гәнҹ $1 ($2)',
-'uctop' => '(оÑ\85онÓ\99ни)',
+'uctop' => '(еÑ\81Ó\99Ñ\82нÓ\99)',
 'month' => 'Че мангику (һәнијән рә):',
 'year' => 'Че сорику (һәнијән рә):',
 
index 1cfc3af..e22b88a 100644 (file)
@@ -13,6 +13,7 @@
  * @author Bilalokms
  * @author Bombola
  * @author Cekli829
+ * @author Coolland
  * @author Dbl2010
  * @author Don Alessandro
  * @author Emperyan
@@ -779,7 +780,7 @@ Tarayıcınızın önbelleğini temizleyene kadar bazı sayfalar sanki hâlâ ot
 'createacct-yourpasswordagain-ph' => 'Parolayı yeniden girin',
 'remembermypassword' => 'Girişimi bu tarayıcıda hatırla (en fazla $1 {{PLURAL:$1|gün|gün}} için)',
 'userlogin-remembermypassword' => 'Oturumumu sürekli açık tut',
-'userlogin-signwithsecure' => 'Güvenli bağlantı kullan',
+'userlogin-signwithsecure' => 'Güvenli bağlantı kullanın',
 'securelogin-stick-https' => "Giriş yaptıktan sonra HTTPS'e bağlı kal",
 'yourdomainname' => 'Alan adınız:',
 'password-change-forbidden' => 'Bu vikide parolanızı değiştiremezsiniz.',
@@ -793,7 +794,7 @@ Tarayıcınızın önbelleğini temizleyene kadar bazı sayfalar sanki hâlâ ot
 'userlogout' => 'Oturumu kapat',
 'notloggedin' => 'Oturum açık değil',
 'userlogin-noaccount' => 'Bir hesabınız yok mu?',
-'userlogin-joinproject' => "{{SITENAME}}'ye katılın",
+'userlogin-joinproject' => '{{SITENAME}} sitesine katılın',
 'nologin' => 'Bir hesabınız yok mu? $1.',
 'nologinlink' => 'Hesap oluşturun',
 'createaccount' => 'Hesap oluştur',
@@ -813,7 +814,7 @@ Tarayıcınızın önbelleğini temizleyene kadar bazı sayfalar sanki hâlâ ot
 'createacct-reason' => 'Gerekçe',
 'createacct-reason-ph' => 'Neden başka bir hesap oluşturuyorsunuz',
 'createacct-captcha' => 'Güvenlik kontrolü',
-'createacct-imgcaptcha-ph' => 'Yukarıda gördüğünüz metin girin',
+'createacct-imgcaptcha-ph' => 'Yukarıda gördüğünüz metni girin',
 'createacct-submit' => 'Hesabınızı oluşturun',
 'createacct-benefit-heading' => '{{SITENAME}} sizin gibi insanlar tarafından oluşturulur.',
 'createacct-benefit-body1' => '{{PLURAL:$1|düzenleme|düzenleme}}',
@@ -857,8 +858,7 @@ Parola değişimini siz istemediyseniz veya parolanızı hatırladıysanız ve a
 'blocked-mailpassword' => 'Siteye erişiminiz engellenmiş olduğundan, yeni şifre gönderilme işlemi yapılamamaktadır.',
 'eauthentsent' => 'Kaydedilen adrese onay kodu içeren bir e-posta gönderildi.
 E-postadaki yönerge uygulanıp adresin size ait olduğu onaylanmadıkça başka e-posta gönderilmeyecek.',
-'throttled-mailpassword' => 'Parola hatırlatıcı son {{PLURAL:$1|bir saat|$1 saat}} içinde zaten gönderildi.
-Hizmeti kötüye kullanmayı önlemek için, her {{PLURAL:$1|bir saatte|$1 saatte}} sadece bir parola hatırlatıcısı gönderilecektir.',
+'throttled-mailpassword' => 'Bir parola sıfırlama e-postası son {{PLURAL:$1|bir saat|$1 saat}} içinde zaten gönderildi. Hizmeti kötüye kullanmayı önlemek için, her {{PLURAL:$1|bir saatte|$1 saatte}} sadece bir parola sıfırlama e-postası gönderilecektir.',
 'mailerror' => 'E-posta gönderim hatası: $1',
 'acct_creation_throttle_hit' => 'Sizin IP adresinizi kullanarak bu vikiyi ziyaret edenler son günde {{PLURAL:$1|1 hesap|$1 hesap}} oluşturdu, bu sayı bu zaman aralığında izin verilen azami sayıdır.
 Sonuç olarak, bu IP adresini kullanan ziyaretçiler şu anda daha fazla hesap açamazlar.',
@@ -1382,7 +1382,6 @@ Gezinti bağlantılarının bu sütunu sıfırlayacağını unutmayın.',
 'searchmenu-legend' => 'Arama seçenekleri',
 'searchmenu-exists' => "'''Bu vikide \"[[:\$1]]\" adında bir sayfa mevcut'''",
 'searchmenu-new' => "'''Bu vikide \"[[:\$1]]\" sayfasını oluştur!'''",
-'searchhelp-url' => 'Help:İçindekiler',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Bu ön ekle sayfalara göz at]]',
 'searchprofile-articles' => 'İçerik sayfaları',
 'searchprofile-project' => 'Yardım ve proje sayfaları',
@@ -3840,6 +3839,8 @@ Bu programla birlikte [{{SERVER}}{{SCRIPTPATH}}/COPYING GNU Genel Kamu Lisansın
 
 # Special:Redirect
 'redirect-submit' => 'Git',
+'redirect-value' => 'Değer:',
+'redirect-user' => 'Kullanıcı kimliği',
 'redirect-file' => 'Dosya adı',
 
 # Special:FileDuplicateSearch
index 9fbb8f8..4d34690 100644 (file)
@@ -400,7 +400,6 @@ Legend: '''({{int:cur}})''' = difference with latest revision, '''({{int:last}})
 'searchmenu-legend' => '3ayar duKruxyo',
 'searchmenu-exists' => "'''Kito Faṭo herke Işma \"[[:\$1]]\"yo'''",
 'searchmenu-new' => 'Kṭaw iFaṭaṭe "[[:$1]]" buWiki.',
-'searchhelp-url' => 'Help: Ḥbişoṭo',
 'searchprofile-articles' => 'Faṭoṭe daḤbişoṭo',
 'searchprofile-project' => 'Faṭoṭe du3udrono u daProjat',
 'searchprofile-images' => 'Multimediya',
index 50a2b3e..edd3035 100644 (file)
@@ -512,7 +512,6 @@ Swihlamuseri: '''({{int:sweswi}})''' = kuhambana na ndzulamiso wa sweswinyana, '
 'viewprevnext' => 'Vona ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-exists' => "'''Tluka leri vuriwaka \"[[:\$1]]\" ikhale ririkona eka wiki leyi.'''",
 'searchmenu-new' => "'''Tumbuluxa tluka ra \"[[:\$1]]\" eka wiki leyi!'''",
-'searchhelp-url' => 'Help:Leswinga ndzeni',
 'searchprofile-articles' => 'Matluka lama tsariweke',
 'searchprofile-project' => 'Mpfuno na matluka ya phurojeki',
 'searchprofile-images' => 'Tifayili ta mfpumawulo na swifaniso',
index dbb1acc..ab990ff 100644 (file)
@@ -711,10 +711,8 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => 'Серсүзне бетерү',
-'passwordreset-text' => 'Сезнең хисап язмасының параметрлары турында хат алыр өчен, түбәндәгеләрне тутырыгыз',
 'passwordreset-legend' => 'Серсүзне яңадан кую',
 'passwordreset-disabled' => 'Бу викида серсүз бетереп булмый',
-'passwordreset-pretext' => '{{PLURAL:$1||Түбәндә күрсәтелгән мәгълүматларның бер өлешен языгыз}}',
 'passwordreset-username' => 'Кулланучы исеме:',
 'passwordreset-domain' => 'Домен:',
 'passwordreset-capture' => 'Килеп чыккан хатны күрсәтелсенме?',
@@ -1129,7 +1127,6 @@ $1",
 'searchmenu-legend' => 'Эзләү көйләнмәләре',
 'searchmenu-exists' => "'''Бу вики-проекта «[[:$1]]» исемле бит бар инде'''",
 'searchmenu-new' => "'''«[[:$1]]»  исемле яңа бит ясау'''",
-'searchhelp-url' => 'Help:Эчтәлек',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Бу префикслы битләрне күрсәтү]]',
 'searchprofile-articles' => 'Төп битләр',
 'searchprofile-project' => 'Ярдәм һәм проектлар бите',
index bd0096e..cbd27b9 100644 (file)
@@ -897,7 +897,6 @@ Sez idaräçe bulu säbäple, [$1 yäşerelgän yuramanı qarıy alasız]",
 'viewprevnext' => 'Kürsätelüe: ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-legend' => 'Ezläw köylänmäläre',
 'searchmenu-new' => "'''«[[:$1]]»  isemle yaña bit yasaw'''",
-'searchhelp-url' => 'Help:Eçtälek',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Bu prefikslı bitlärne kürsätü]]',
 'searchprofile-articles' => 'Töp bitlär',
 'searchprofile-project' => 'Yärdäm häm proyektlar bite',
index 43d580b..34f4040 100644 (file)
@@ -597,7 +597,6 @@ Please check if you want to create/edit this page.',
 'viewprevnext' => '($1 {{int:pipe-separator}} $2) ($3) көөрү',
 'searchmenu-exists' => "'''Бо викиде \"[[:\$1]]\" деп арын бар.'''",
 'searchmenu-new' => "'''Бо викиде «[[:$1]]» арынны чогаадыры'''",
-'searchhelp-url' => 'Help:Допчузу',
 'searchprofile-articles' => 'үндезин арыннар',
 'searchprofile-project' => 'Төлевилел биле дуза арыннары',
 'searchprofile-images' => 'Мультимедиа',
index 1beb939..ac2ae0d 100644 (file)
@@ -617,10 +617,8 @@ cookies نى قوزغاتقانلىقىڭىزنى جەزملەڭ، بۇ بەتن
 
 # Special:PasswordReset
 'passwordreset' => 'ئىمنى ئەسلىگە قايتۇرماق',
-'passwordreset-text' => 'بۇ جەدۋەل تاماملانسا ھېسابات تەپسىلاتىڭىزنى ئېلخەتىڭىزدە تاپشۇرۇۋالىسىز.',
 'passwordreset-legend' => 'ئىمنى ئەسلىگە قايتۇرماق',
 'passwordreset-disabled' => 'بۇ ۋىكىدا ئىمنى ئەسلىگە قايتۇرۇش چەكلەنگەن.',
-'passwordreset-pretext' => '{{PLURAL:$1||تۆۋەندىكى سانلىق مەلۇماتتىن بىرنى كىرگۈزۈڭ}}',
 'passwordreset-username' => 'ئىشلەتكۈچى ئاتى:',
 'passwordreset-domain' => 'دائىرە:',
 'passwordreset-capture' => 'ھاسىل قىلىنغان ئېلخەتنى كۆرسىتەمدۇ؟',
@@ -1115,7 +1113,6 @@ $1",
 'searchmenu-legend' => 'ئىزدەش تاللانما',
 'searchmenu-exists' => "'''بۇ wiki دا  \"[[:\$1]]\" ئاتلىق بەت بار '''",
 'searchmenu-new' => "'''بۇ wiki دا  \"[[:\$1]]\" ئاتلىق بەت قۇر!'''",
-'searchhelp-url' => 'Help:مەزمۇنلار',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1| بۇنى ئالدى قوشۇلغۇچى قىلغان بەتكە كۆز يۈگۈرت ]]',
 'searchprofile-articles' => 'مەزمۇن بېتى',
 'searchprofile-project' => 'ياردەم ۋە قۇرۇلۇش بەتلەر',
index a1154a8..8ace309 100644 (file)
@@ -561,6 +561,7 @@ $messages = array(
 'create-this-page' => 'Створити цю сторінку',
 'delete' => 'Вилучити',
 'deletethispage' => 'Вилучити цю сторінку',
+'undeletethispage' => 'Відновити цю сторінку',
 'undelete_short' => 'Відновити $1 {{PLURAL:$1|редагування|редагування|редагувань}}',
 'viewdeleted_short' => 'Переглянути {{PLURAL:$1|одне вилучене редагування|$1 вилучених редагування|$1 вилучених редагувань}}',
 'protect' => 'Захистити',
@@ -763,6 +764,8 @@ $1',
 'namespaceprotected' => 'У вас нема дозволу редагувати сторінки в просторі назв «$1».',
 'customcssprotected' => 'У вас немає прав на редагування цієї CSS-сторінки, так як вона містить особисті налаштування іншого користувача.',
 'customjsprotected' => 'У вас немає дозволу на редагування цієї JavaScript-сторінки, так як вона містить особисті налаштування іншого користувача.',
+'mycustomcssprotected' => 'У вас немає прав для редагування цієї CSS сторінки.',
+'mycustomjsprotected' => 'Ви не маєте дозволу для редагування цієї сторінки JavaScript.',
 'ns-specialprotected' => 'Спеціальні сторінки не можна редагувати.',
 'titleprotected' => "Створення сторінки з такою назвою було заборонене користувачем [[User:$1|$1]].
 Зазначена наступна причина: ''$2''.",
@@ -900,7 +903,7 @@ $1',
 'cannotchangeemail' => 'У цій вікі не можна міняти свою адресу ел. пошти.',
 'emaildisabled' => 'Цей сайт не може надіслати електронні листи.',
 'accountcreated' => 'Обліковий запис створено.',
-'accountcreatedtext' => 'Ð\9eблÑ\96ковий Ð·Ð°Ð¿Ð¸Ñ\81 Ð´Ð»Ñ\8f $1 Ñ\81Ñ\82воÑ\80ено.',
+'accountcreatedtext' => 'Ð\9eблÑ\96ковий Ð·Ð°Ð¿Ð¸Ñ\81 ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83ваÑ\87а Ð´Ð»Ñ\8f [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|обговоÑ\80еннÑ\8f]]) Ð±Ñ\83в Ñ\81Ñ\82воÑ\80ений.',
 'createaccount-title' => 'Створення облікового запису для {{SITENAME}}',
 'createaccount-text' => 'Хтось створив обліковий запис «$2» на сервері проекту {{SITENAME}} ($4) з паролем «$3», зазначивши вашу адресу електронної пошти. Вам слід зайти і змінити пароль.
 
@@ -913,7 +916,7 @@ $1',
 'suspicious-userlogout' => 'Ваш запит на завершення сеанса відхилений, оскільки він схожий на запит, відправлений зіпсованим веб-оглядачем або кешуючим проксі-сервером.',
 
 # Email sending
-'php-mail-error-unknown' => 'Невідома помилка в PHP-mail() функції',
+'php-mail-error-unknown' => 'Невідома помилка в PHP-функції mail()',
 'user-mail-no-addy' => 'Спроба надсилання електронної пошти без зазначеної адреси електронної пошти.',
 'user-mail-no-body' => 'Спроба надіслати електронного листа з порожнім або надто коротким вмістом.',
 
@@ -938,6 +941,8 @@ $1',
 
 # Special:PasswordReset
 'passwordreset' => 'Скинути пароль',
+'passwordreset-text-one' => 'Заповніть цю форму для відновлення пароля.',
+'passwordreset-text-many' => '{{PLURAL:$1|Введіть один з елементів даних для скидання пароля.}}',
 'passwordreset-legend' => 'Перевстановити пароль',
 'passwordreset-disabled' => 'У цій вікі вимкнена можливість скидання пароля.',
 'passwordreset-emaildisabled' => 'Функції електронної пошти вимкнуто в цій вікі.',
@@ -1190,7 +1195,7 @@ $2
 'invalid-content-data' => 'Неприпустимі дані',
 'content-not-allowed-here' => 'Вміст «$1» недопустимий на сторінці [[$2]]',
 'editwarning-warning' => 'Перехід на іншу сторінку призведе до втрати ваших змін.
-Якщо ви ввійшли до системи, то ви можете відключити це попередження в розділі «{{int:prefs-editing}}» ваших налаштувань.',
+Якщо ви ввійшли до системи, то ви можете відключити це попередження в розділі «Редагування» ваших налаштувань.',
 
 # Content models
 'content-model-wikitext' => 'вікітекст',
@@ -1433,7 +1438,6 @@ $1",
 'searchmenu-legend' => 'Параметри пошуку',
 'searchmenu-exists' => "'''У цій вікі є сторінка з назвою «[[:$1]]»'''",
 'searchmenu-new' => "'''Створити сторінку «[[:$1]]» у цій вікі!'''",
-'searchhelp-url' => 'Help:Довідка',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Показати сторінки з цим префіксом]]',
 'searchprofile-articles' => 'Статті',
 'searchprofile-project' => 'Сторінки довідки і проекту',
@@ -1694,6 +1698,8 @@ $1",
 'right-editusercssjs' => 'Редагування CSS- і JS-файлів інших користувачів',
 'right-editusercss' => 'Редагування CSS-файлів інших користувачів',
 'right-edituserjs' => 'Редагування JS-файлів інших користувачів',
+'right-editmyusercss' => 'Редагування власних CSS-файлів користувача',
+'right-editmyuserjs' => 'Редагування власних JavaScript-файлів користувача',
 'right-rollback' => 'Швидкий відкіт редагувань останнього користувача, який редагував сторінку',
 'right-markbotedits' => 'Позначення відкинутих редагувань як редагування бота',
 'right-noratelimit' => 'Нема обмежень за швидкістю',
@@ -2252,7 +2258,7 @@ $1',
 'wantedpages' => 'Необхідні статті',
 'wantedpages-badtitle' => 'Неправильний заголовок у результатах запиту: $1',
 'wantedfiles' => 'Необхідні файли',
-'wantedfiletext-cat' => 'Наступні файли використовують, але вони не існують. У цей список можуть помилково потрапити файли, що знаходяться на зовнішніх сховищах. Такі хибні моменти помічаються <del>перекреслюванням</del>. Крім того, сторінки, що використовують неіснуюч файли, перелічені в [[:$1]].',
+'wantedfiletext-cat' => 'Наступні файли використовують, але вони не існують. У цей список можуть помилково потрапити файли, що знаходяться на зовнішніх сховищах. Такі хибні моменти помічаються <del>перекреслюванням</del>. Крім того, сторінки, що використовують неіснуючі файли, перелічені в [[:$1]].',
 'wantedfiletext-nocat' => 'Наступні файли використовують, але вони не існують. У цей список можуть помилково потрапити файли, що знаходяться на зовнішніх сховищах. Такі хибні моменти помічаються <del>перекреслюванням</del>.',
 'wantedtemplates' => 'Необхідні шаблони',
 'mostlinked' => 'Сторінки, на які найбільше посилань',
@@ -2707,7 +2713,7 @@ $1',
 'mycontris' => 'Внесок',
 'contribsub2' => 'Внесок $1 ($2)',
 'nocontribs' => 'Редагувань, що задовольняють заданим умовам не знайдено.',
-'uctop' => ' (остання)',
+'uctop' => '(поточний)',
 'month' => 'До місяця (включно):',
 'year' => 'До року (включно):',
 
index 68ab87a..496952f 100644 (file)
@@ -922,7 +922,6 @@ $1",
 'searchmenu-legend' => 'اختیاراتِ تلاش',
 'searchmenu-exists' => "'''اِس ویکی پر \"[[:\$1]]\" نامی ایک صفحہ موجود ہے'''",
 'searchmenu-new' => "'''اِس ویکی پر صفحہ \"[[:\$1]]\" تخلیق کیجئے!'''",
-'searchhelp-url' => 'Help:فہرست',
 'searchprofile-articles' => 'مشمولاتی صفحات',
 'searchprofile-project' => 'صفحاتِ مدد و منصوبہ',
 'searchprofile-images' => 'کثیرالوسیط',
index d9ea1a6..c1dccc0 100644 (file)
@@ -121,7 +121,7 @@ $messages = array(
 'tog-editsection' => '[tahrir] havolasini har bir boʻlim boshida koʻrsatish',
 'tog-editsectiononrightclick' => 'Boʻlim sarlavhasiga sichqonchaning oʻng tugmasi bilan bosib tahrirlashni boshlash',
 'tog-showtoc' => 'Mundarijani koʻrsatish (3 tadan koʻproq sarlavha bor sahifalarda)',
-'tog-rememberpassword' => 'Hisob ma’lumotlarim ushbu brauzerda eslab qolinsin (ko‘pi bilan $1 {{PLURAL:$1|kunga|kunga}})',
+'tog-rememberpassword' => 'Hisob ma’lumotlarim ushbu brauzerda eslab qolinsin (ko‘pi bilan $1 kunga)',
 'tog-watchcreations' => 'Men yaratgan sahifalarni va yuklagan fayllarni kuzatuv roʻyxatimga qoʻsh',
 'tog-watchdefault' => 'Men tahrirlagan sahifa va fayllarni kuzatuv roʻyxatimga qoʻsh',
 'tog-watchmoves' => 'Men koʻchirgan sahifa va fayllarni kuzatuv roʻyxatimga qoʻsh',
@@ -374,10 +374,10 @@ $1',
 'youhavenewmessages' => 'Sizga $1 keldi ($2).',
 'newmessageslink' => 'yangi xabarlar',
 'newmessagesdifflink' => 'soʻnggi oʻzgarish',
-'youhavenewmessagesfromusers' => 'Siz {{PLURAL:$3|$3 ta foydalanuvchidan}} $1 oldingiz ($2).',
+'youhavenewmessagesfromusers' => 'Siz {{PLURAL:$3|boshqa foydalanuvchidan|$3 ta foydalanuvchidan}} $1 oldingiz ($2).',
 'youhavenewmessagesmanyusers' => "Siz ko'p foydalanuvchilardan $1 oldingiz ($2).",
 'newmessageslinkplural' => '{{PLURAL:$1|yangi xabar|yangi xabarlar}}',
-'newmessagesdifflinkplural' => "oxirgi {{PLURAL:$1|o'zgarish|o'zgarishlar}}",
+'newmessagesdifflinkplural' => 'oxirgi {{PLURAL:$1|oʻzgarish|oʻzgarishlar}}',
 'youhavenewmessagesmulti' => 'Siz $1ga yangi xat oldingiz',
 'editsection' => 'tahrirlash',
 'editold' => 'tahrirlash',
@@ -392,7 +392,7 @@ $1',
 'collapsible-expand' => 'Yoyish',
 'thisisdeleted' => '$1ni koʻrib chiqasizmi yoki tiklaysizmi?',
 'viewdeleted' => '$1ni koʻrib chiqasizmi?',
-'restorelink' => '{{PLURAL:$1|Oʻchirilgan tahrir|$1 ta oʻchirilgan tahrirlar}}ni',
+'restorelink' => '{{PLURAL:$1|Oʻchirilgan tahrir|$1 ta oʻchirilgan tahrirlar}}',
 'feedlinks' => "Ko'rinishida:",
 'feed-invalid' => "Obuna uchun no'tog'ri turdagi kanal",
 'feed-unavailable' => 'Sindikatsiya tasmalariga yoʻlash imkoni yoʻq',
@@ -454,14 +454,16 @@ Ushbu xabar tarjimasini qoʻshish yoki oʻzgartirish uchun, iltimos, MediaWikini
 
 {{SITENAME}} saytidan anonim holda foydalanishda davom etishindiz mumkin. Yoki siz yana hozirgi yoki boshqa foydalanuvchi nomi bilan qaytadan tizimga kirishingiz mumkin.
 Shuni e'tiborga olingki, ayrim sahifalar siz brauzeringiz keshini tozalamaguningizga qadar xuddi tizimga kirganingizdagidek ko'rinishda davom etaverishi mumkin.",
-'yourname' => 'Foydalanuvchi nomi',
+'yourname' => 'Foydalanuvchi nomi:',
+'userlogin-yourname' => 'Foydalanuvchi nomi',
 'userlogin-yourname-ph' => 'Foydalanuvchi nomingizni kiriting',
 'yourpassword' => 'Maxfiy soʻz:',
+'createacct-yourpassword-ph' => 'Maxfiy soʻzni kiriting',
 'yourpasswordagain' => 'Maxfiy so‘zni qayta kiriting:',
 'createacct-yourpasswordagain' => 'Maxfiy soʻzni tasdiqlang',
-'createacct-yourpasswordagain-ph' => 'Maxfiy soʻzni yana bir bor yozing',
+'createacct-yourpasswordagain-ph' => 'Maxfiy soʻzni yana bir bor kiriting',
 'remembermypassword' => 'Hisob ma’lumotlarim ushbu brauzerda eslab qolinsin (ko‘pi bilan $1 {{PLURAL:$1|kunga|kunga}})',
-'userlogin-remembermypassword' => 'Eslab qolinsin',
+'userlogin-remembermypassword' => 'Yodda tut',
 'userlogin-signwithsecure' => 'Himoyalangan holda kirish',
 'securelogin-stick-https' => 'Kirgandan keyin HTTPS boʻyicha ulanishni davom ettirish',
 'yourdomainname' => 'Sizning domeningiz:',
@@ -575,8 +577,8 @@ Vaqtinchalik maxfiy so'z: $2",
 'showdiff' => 'O‘zgarishlarni ko‘rsatish',
 'anoneditwarning' => "'''Diqqat:''' Siz tizimga kirmagansiz. Ushbu sahifa tarixida Sizning IP manzilingiz yozib qolinadi.",
 'missingcommenttext' => 'Iltimos sharh qoldiring.',
-'summary-preview' => "Tavsif shunday bo'ladi:",
-'subject-preview' => "Sarlavha shunday bo'ladi:",
+'summary-preview' => 'Tavsif bunday koʻrinishda boʻladi:',
+'subject-preview' => 'Sarlavha bunday koʻrinishda boʻladi:',
 'blockedtitle' => 'Foydalanuvchi chetlashtirildi',
 'blockedtext' => "'''Siz (foydalanuvchi nomingiz yoki IP manzilingiz) tahrir qilishdan chetlashtirildingiz.'''
 
@@ -731,7 +733,7 @@ Bu yerda: (joriy) = hozirgi koʻrinish bilan farq,
 'compareselectedversions' => 'Tanlangan versiyalarni solishtir',
 'showhideselectedversions' => 'Tanlangan versiyalarni koʻrsatish/yashirish',
 'editundo' => 'qaytarish',
-'diff-multi' => "({{PLURAL:$2|$2 ta foydalanuvching}} {{PLURAL:$1|$1 ta oraliq versiyasi|$1 ta oraliq versiyalari}} ko'rsatilmadi)",
+'diff-multi' => '({{PLURAL:$2|Bitta foydalanuvchining|$2 ta foydalanuvchining}} {{PLURAL:$1|bitta oraliq versiyasi|$1 ta oraliq versiyalari}} koʻrsatilmadi)',
 
 # Search results
 'searchresults' => 'Qidiruv natijalari',
@@ -748,12 +750,11 @@ Bu yerda: (joriy) = hozirgi koʻrinish bilan farq,
 'nextn' => 'keyingi {{PLURAL:$1|$1}}',
 'prevn-title' => 'Avvalgi $1 {{PLURAL:$1|natija|natijalar}}',
 'nextn-title' => 'Keyingi $1 {{PLURAL:$1|natija|natijalar}}',
-'shown-title' => 'Sahifada $1 ta {{PLURAL:$1|natija}} koʻrsatish',
+'shown-title' => 'Sahifada $1 ta natija koʻrsatish',
 'viewprevnext' => 'Koʻrish ($1 {{int:pipe-separator}} $2) ($3).',
 'searchmenu-legend' => 'Qidiruv shartlari',
 'searchmenu-exists' => "'''Ushbu vikida \"[[:\$1]]\" nomli sahifa mavjud.'''",
 'searchmenu-new' => "'''Ushbu vikida \"[[:\$1]]\" sahifasini yarat!'''",
-'searchhelp-url' => 'Help:Mundarija',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Shu prefiksli sahifalarni koʻrsatish]]',
 'searchprofile-articles' => 'Asosiy sahifalar',
 'searchprofile-project' => 'Yordam va loyiha sahifalari',
@@ -900,6 +901,7 @@ Agar keltirsangiz, undan sahifa kim tomonidan tahrirlanganini koʻrsatish uchun
 'prefs-diffs' => 'Versiyalar farqi',
 
 # User rights
+'userrights-user-editname' => 'Foydalanuvchi nomingizni kiriting:',
 'editusergroup' => 'Foydalanuvchi guruxlarni taxrirlash',
 'userrights-groupsmember' => 'Aʼzolik:',
 'userrights-groupsmember-auto' => "Noaniq a'zo",
@@ -949,7 +951,7 @@ Agar keltirsangiz, undan sahifa kim tomonidan tahrirlanganini koʻrsatish uchun
 'action-sendemail' => "elektron xatlar jo'natish",
 
 # Recent changes
-'nchanges' => "$1 {{PLURAL:$1|o'zgarish|o'zgarishlar}}",
+'nchanges' => '$1 {{PLURAL:$1|oʻzgarish|oʻzgarishlar}}',
 'recentchanges' => 'Yangi oʻzgarishlar',
 'recentchanges-legend' => 'Yangi oʻzgarishlar moslamalari',
 'recentchanges-summary' => 'Bu sahifada siz oxirgi oʻzgarishlarni koʻrishingiz mumkin',
@@ -962,15 +964,15 @@ Agar keltirsangiz, undan sahifa kim tomonidan tahrirlanganini koʻrsatish uchun
 'rcnotefrom' => "Quyida <strong>$2</strong> dan (<strong>$1</strong> gacha) bo'lgan o'zgarishlar keltirilgan.",
 'rclistfrom' => '$1 dan boshlab yangi oʻzgarishlarni koʻrsat.',
 'rcshowhideminor' => 'Kichik tahrirlarni $1',
-'rcshowhidebots' => '$1 ta bot',
-'rcshowhideliu' => 'Ro‘yxatdan o‘tgan foydalanuvchilar: $1 ta',
-'rcshowhideanons' => 'Anonim foydalanuvchilar: $1 ta',
+'rcshowhidebots' => 'Botlarni $1',
+'rcshowhideliu' => 'Roʻyxatdan oʻtgan foydalanuvchilarni $1',
+'rcshowhideanons' => 'Anonim foydalanuvchilarni $1',
 'rcshowhidepatr' => 'Tekshirilgan tahrirlarni $1',
 'rcshowhidemine' => 'Oʻz tahrirlarimni $1',
 'rclinks' => 'Oxirgi $2 kun ichida sodir boʻlgan $1 ta oʻzgarish koʻrsatildi<br />$3',
 'diff' => 'farq',
 'hist' => 'tarix',
-'hide' => 'Yashir',
+'hide' => 'yashir',
 'show' => 'Koʻrsat',
 'minoreditletter' => 'k',
 'newpageletter' => 'Y',
@@ -1240,7 +1242,7 @@ Also see [[Special:WantedCategories|wanted categories]].',
 'enotif_body_intro_restored' => '{{SITENAME}} loyihasining $1 nomli sahifasi $PAGEEDITDATEda foydalanuvchi {{gender:$2|$2}} tomonidan tiklandi, joriy variantini ko‘rish uchun $3 ga qarang.',
 'enotif_body_intro_changed' => '{{SITENAME}} loyihasining $1 nomli sahifasi $PAGEEDITDATEda foydalanuvchi {{gender:$2|$2}} tomonidan o‘zgartirildi, joriy variantini ko‘rish uchun $3 ga qarang.',
 'enotif_lastvisited' => 'Oxirgi tashrifingizdan keyin sodir boʻlgan barcha oʻzgarishlarni koʻrish uchun $1 ga qarang.',
-'enotif_lastdiff' => "O'zgarishlar bilan tanishish uchun $1 ga qarang.",
+'enotif_lastdiff' => 'Oʻzgarishlar bilan tanishish uchun $1 ga qarang.',
 'enotif_anon_editor' => 'anonim foydalanuvchi $1',
 'enotif_body' => 'Hurmatli $WATCHINGUSERNAME,
 
@@ -1295,7 +1297,7 @@ Yaqinda sodir etilgan yoʻqotishlar uchun $2ni koʻring.',
 'rollback' => 'Oʻzgarishlarni eski holiga keltirish',
 'rollback_short' => 'Eski holiga keltirish',
 'rollbacklink' => 'eski holiga keltirish',
-'rollbacklinkcount' => '$1 {{PLURAL:$1| ta tahrir}}ni eski holiga keltirish',
+'rollbacklinkcount' => '$1 ta tahrirni ortga qaytarish',
 'rollbacklinkcount-morethan' => '$1 {{PLURAL:$1| tadan koʻp tahrir}}ni eski holiga keltirish',
 'rollbackfailed' => 'Eski holiga keltirishda xatolik',
 'revertpage' => '[[Special:Contributions/$2|$2]] ([[User talk:$2|munozara]]) tahrirlari [[User:$1|$1]] versiyasiga qaytarildi',
@@ -1368,7 +1370,7 @@ Yaqinda sodir etilgan yoʻqotishlar uchun $2ni koʻring.',
 'mycontris' => 'Hissam',
 'contribsub2' => '$1 uchun ($2)',
 'nocontribs' => 'Belgilangan shartlarga muvofiq oʻzgarishlar topilmadi',
-'uctop' => '(oxirgi)',
+'uctop' => '(joriy)',
 'month' => 'Oydan (va avvalroq)',
 'year' => 'Yildan (va avvalroq)',
 
@@ -1480,7 +1482,7 @@ Yaqinda sodir etilgan yoʻqotishlar uchun $2ni koʻring.',
 'movetalk' => 'Mos munozara sahifasini qayta nomlash',
 'movelogpage' => 'Koʻchirish qaydlari',
 'movesubpage' => '{{PLURAL:$1|Ostsahifa|Ostsahifalar}}',
-'movesubpagetext' => 'Ushbu sahifada $1 {{PLURAL:$1| ta ostsahifa}} mavjud.',
+'movesubpagetext' => 'Ushbu sahifaning $1 ta ostsahifasi bor.',
 'movenosubpage' => 'Bu sahifa ostsahifalarga ega emas.',
 'movereason' => 'Sabab:',
 'revertmove' => 'qaytarish',
@@ -1493,7 +1495,7 @@ Umumiy omborda [[:$1]] mavjud. Faylning bu nomga qayta nomlanishi faylning umumi
 'export' => 'Sahifalar eksporti',
 'export-submit' => 'Eksport',
 'export-addcattext' => "Shu turkumdan sahifalarni qo'shish:",
-'export-addcat' => "Qo'shish",
+'export-addcat' => 'Qoʻshish',
 'export-addnstext' => "Shu nomfazodan sahifalarni qo'shish:",
 'export-addns' => "Qo'shish",
 'export-download' => 'Fayl sifatida saqlash',
@@ -1552,7 +1554,7 @@ Umumiy omborda [[:$1]] mavjud. Faylning bu nomga qayta nomlanishi faylning umumi
 'tooltip-n-randompage' => 'Tasodifiy sahifani yuklash',
 'tooltip-n-help' => 'O‘rganish uchun manzil',
 'tooltip-t-whatlinkshere' => 'Ushbu sahifaga bogʻlangan sahifalar roʻyxati',
-'tooltip-t-recentchangeslinked' => "Bu sahifa bog'langan sahifalardagi yangi o'zgarishlar",
+'tooltip-t-recentchangeslinked' => 'Bu sahifaga bogʻlangan sahifalardagi yangi oʻzgarishlar',
 'tooltip-feed-rss' => "Bu sahifa uchun RSS ta'minot",
 'tooltip-feed-atom' => "Bu sahifa uchun Atom ta'minot",
 'tooltip-t-contributions' => 'Bu foydalanuvchinig qoʻshgan hissasini koʻrish',
index 172552b..b5d4939 100644 (file)
@@ -1182,7 +1182,6 @@ I detaji i pol esar catai inte'l [{{fullurl:{{#Special:Log}}/delete|page={{FULLP
 'searchmenu-legend' => 'Opzion de riserca',
 'searchmenu-exists' => 'Su sto sito ghe xe na pagina che se ciama "[[:$1]]"',
 'searchmenu-new' => "'''Crèa la pagina \"[[:\$1]]\" su sta wiki!'''",
-'searchhelp-url' => 'Help:Ajuto',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Varda tute le pagine che taca co ste létere]]',
 'searchprofile-articles' => 'Pagine de contenuti',
 'searchprofile-project' => 'Pagine de progeto e de ajuto',
index 7ea0d96..212a9f7 100644 (file)
@@ -927,7 +927,6 @@ Tö ei voigoi kävutada sidä.',
 'searchmenu-legend' => 'Ecindan järgendused',
 'searchmenu-exists' => "'''Neciš Wikiš om jo lehtpol' ningoižen nimenke: \"[[:\$1]]\"'''",
 'searchmenu-new' => "'''Säta lehtpol' \"[[:\$1]]\" neciš Wikiš!'''",
-'searchhelp-url' => 'Help:Südäiolend',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Ozutada kaik lehtpoled necen prefiksanke]]',
 'searchprofile-articles' => 'Südäimištlehtpoled',
 'searchprofile-project' => 'Abun da projektoiden lehtpoled',
index 62bf24f..841413f 100644 (file)
@@ -343,8 +343,8 @@ $messages = array(
 'tog-watchmoves' => 'Tự động theo dõi các trang và tập tin tôi di chuyển',
 'tog-watchdeletion' => 'Tự động theo dõi các trang và tập tin tôi xóa',
 'tog-minordefault' => 'Mặc định đánh dấu tất cả sửa đổi của tôi là sửa đổi nhỏ',
-'tog-previewontop' => 'Hiển thị phần xem thử nằm trên hộp sửa đổi',
-'tog-previewonfirst' => 'Hiện xem thử tại lần sửa đầu tiên',
+'tog-previewontop' => 'Hiển thị phần xem trước nằm trên hộp sửa đổi',
+'tog-previewonfirst' => 'Hiện xem trước tại lần sửa đầu tiên',
 'tog-nocache' => 'Không lưu trang trong bộ nhớ đệm trình duyệt',
 'tog-enotifwatchlistpages' => 'Gửi thư cho tôi khi có thay đổi tại trang hoặc tập tin tôi theo dõi',
 'tog-enotifusertalkpages' => 'Gửi thư cho tôi khi có thay đổi tại trang thảo luận của tôi',
@@ -354,7 +354,7 @@ $messages = array(
 'tog-oldsig' => 'Chữ ký hiện tại:',
 'tog-fancysig' => 'Xem chữ ký là mã wiki (không có liên kết tự động)',
 'tog-showjumplinks' => 'Bật liên kết “bước tới” trên đầu trang cho bộ trình duyệt thuần văn bản hay âm thanh',
-'tog-uselivepreview' => 'Xem thử trực tiếp (JavaScript; chưa ổn định)',
+'tog-uselivepreview' => 'Xem trước trực tiếp (JavaScript; chưa ổn định)',
 'tog-forceeditsummary' => 'Nhắc tôi khi tôi quên tóm lược sửa đổi',
 'tog-watchlisthideown' => 'Ẩn các sửa đổi của tôi khỏi danh sách theo dõi',
 'tog-watchlisthidebots' => 'Ẩn các sửa đổi của robot khỏi danh sách theo dõi',
@@ -524,6 +524,7 @@ $messages = array(
 'create-this-page' => 'Tạo trang này',
 'delete' => 'Xóa',
 'deletethispage' => 'Xóa trang này',
+'undeletethispage' => 'Phục hồi trang này',
 'undelete_short' => 'Phục hồi {{PLURAL:$1|một sửa đổi|$1 sửa đổi}}',
 'viewdeleted_short' => 'Xem {{PLURAL:$1|sửa đổi|$1 sửa đổi}} đã xóa',
 'protect' => 'Khóa',
@@ -721,6 +722,8 @@ $2',
 'namespaceprotected' => "Bạn không có quyền sửa các trang trong không gian tên '''$1'''.",
 'customcssprotected' => 'Bạn không có quyền sửa đổi trang CSS này vì nó chứa các tùy chọn cá nhân của một thành viên khác.',
 'customjsprotected' => 'Bạn không có quyền sửa đổi trang JavaScript này vì nó chứa các tùy chọn cá nhân của một thành viên khác.',
+'mycustomcssprotected' => 'Bạn không có quyền sửa đổi trang CSS này.',
+'mycustomjsprotected' => 'Bạn không có quyền sửa đổi trang JavaScript này.',
 'ns-specialprotected' => 'Không thể sửa chữa các trang trong không gian tên {{ns:special}}.',
 'titleprotected' => "Tựa đề này đã bị [[User:$1|$1]] khóa không cho tạo ra.
 Lý do được cung cấp là ''$2''.",
@@ -842,7 +845,7 @@ Hãy nhập một địa chỉ có định dạng đúng hoặc bỏ trống ô
 'cannotchangeemail' => 'Không có thể thay đổi địa chỉ thư điện tử của các tài khoản trên wiki này.',
 'emaildisabled' => 'Website này không thể gửi thư điện tử.',
 'accountcreated' => 'Mở tài khoản thành công',
-'accountcreatedtext' => 'Tài khoản thành viên cho $1 đã được mở.',
+'accountcreatedtext' => 'Tài khoản thành viên cho [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|thảo luận]]) đã được mở.',
 'createaccount-title' => 'Tài khoản mới tại {{SITENAME}}',
 'createaccount-text' => 'Ai đó đã tạo một tài khoản với tên $2 tại {{SITENAME}} ($4). Mật khẩu của "$2" là "$3". Bạn nên đăng nhập và đổi mật khẩu ngay bây giờ.
 
@@ -956,8 +959,8 @@ Mật khẩu tạm: $2',
 'watchthis' => 'Theo dõi trang này',
 'savearticle' => 'Lưu trang',
 'preview' => 'Xem trước',
-'showpreview' => 'Xem thử',
-'showlivepreview' => 'Xem thử nhanh',
+'showpreview' => 'Xem trước',
+'showlivepreview' => 'Xem trước nhanh',
 'showdiff' => 'Xem thay đổi',
 'anoneditwarning' => "'''Cảnh báo:''' Bạn chưa đăng nhập. Địa chỉ IP của bạn sẽ được ghi lại trong lịch sử sửa đổi của trang.",
 'anonpreviewwarning' => "''Bạn chưa đăng nhập. Khi lưu trang này, địa chỉ IP của bạn sẽ được ghi vào lịch sử trang.''",
@@ -1038,14 +1041,14 @@ Xem chi tiết trong [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}}
 'usercsspreview' => "'''Hãy nhớ rằng bạn chỉ đang xem thử trang CSS cá nhân của bạn.
 Nó chưa được lưu!'''",
 'userjspreview' => "'''Nhớ rằng bạn chỉ đang kiểm thử/xem thử trang JavaScript, nó chưa được lưu!'''",
-'sitecsspreview' => "'''Nhớ rằng bạn chỉ đang xem thử bản CSS này.'''
+'sitecsspreview' => "'''Nhớ rằng bạn chỉ đang xem trước bản CSS này.'''
 '''Nó chưa được lưu!'''",
-'sitejspreview' => "'''Nhớ rằng bạn chỉ đang kiểm thử/xem thử bản JavaScript này.
+'sitejspreview' => "'''Nhớ rằng bạn chỉ đang xem trước bản JavaScript này.
 '''Nó chưa được lưu!'''",
 'userinvalidcssjstitle' => "'''Cảnh báo:''' Không có skin “$1”. Hãy nhớ rằng các trang .css và .js tùy chỉnh sử dụng tiêu đề chữ thường, như {{ns:user}}:Ví&nbsp;dụ/vector.css chứ không phải {{ns:user}}:Ví&nbsp;dụ/Vector.css.",
 'updated' => '(Cập nhật)',
 'note' => "'''Ghi chú:'''",
-'previewnote' => "'''Đây chỉ mới là xem thử.'''
+'previewnote' => "'''Đây chỉ mới là bản xem trước.'''
 Các thay đổi của bạn vẫn chưa được lưu!",
 'continue-editing' => 'Đi đến hộp sửa đổi',
 'previewconflict' => 'Phần xem thử này là kết quả của văn bản trong vùng soạn thảo phía trên và nó sẽ xuất hiện như vậy nếu bạn chọn lưu trang.',
@@ -1372,7 +1375,6 @@ Xem chi tiết trong [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}}
 'searchmenu-legend' => 'Tùy chọn tìm kiếm',
 'searchmenu-exists' => "* Trang '''[[$1]]'''",
 'searchmenu-new' => "'''Tạo trang “[[:$1]]” trên wiki này!'''",
-'searchhelp-url' => 'Help:Nội dung',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Duyệt các trang với tiền tố này]]',
 'searchprofile-articles' => 'Trang nội dung',
 'searchprofile-project' => 'Trang trợ giúp và trang dự án',
@@ -1423,7 +1425,7 @@ Xem chi tiết trong [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}}
 'prefsnologintext' => 'Bạn phải <span class="plainlinks">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} đăng nhập]</span> để thiết lập tùy chọn cá nhân.',
 'changepassword' => 'Đổi mật khẩu',
 'prefs-skin' => 'Hình dạng',
-'skin-preview' => 'Xem thử',
+'skin-preview' => 'Xem trước',
 'datedefault' => 'Không quan tâm',
 'prefs-beta' => 'Tính năng beta',
 'prefs-datetime' => 'Ngày tháng',
@@ -1628,7 +1630,9 @@ Nếu bạn đồng ý cung cấp, nó sẽ dùng để ghi nhận công lao c
 'right-editinterface' => 'Sửa giao diện người dùng',
 'right-editusercssjs' => 'Sửa tập tin CSS và JS của người dùng khác',
 'right-editusercss' => 'Sửa tập tin CSS của người dùng khác',
-'right-edituserjs' => 'Sửa tập tin JS của người dùng khác',
+'right-edituserjs' => 'Sửa đổi tập tin JavaScript của người dùng khác',
+'right-editmyusercss' => 'Sửa đổi tập tin CSS cá nhân của mình',
+'right-editmyuserjs' => 'Sửa đổi tập tin JavaScript cá nhân của mình',
 'right-rollback' => 'Nhanh chóng lùi tất cả sửa đổi của người dùng cuối cùng sửa đổi trang nào đó',
 'right-markbotedits' => 'Đánh dấu sửa đổi phục hồi là sửa đổi bot',
 'right-noratelimit' => 'Không bị ảnh hưởng bởi mức giới hạn tần suất sử dụng',
@@ -2627,7 +2631,7 @@ $1',
 'mycontris' => 'Đóng góp',
 'contribsub2' => 'Của $1 ($2)',
 'nocontribs' => 'Không tìm thấy thay đổi nào khớp với yêu cầu.',
-'uctop' => '(mới nhất)',
+'uctop' => '(hiện tại)',
 'month' => 'Từ tháng (trở về trước):',
 'year' => 'Từ năm (trở về trước):',
 
@@ -3248,7 +3252,7 @@ Nếu thực thi nó máy tính của bạn có thể bị tiếm quyền.",
 'svg-long-desc-animated' => 'tập tin hình động SVG, $1×$2 điểm ảnh trên danh nghĩa, kích thước: $3',
 'svg-long-error' => 'Tập tin SVG có lỗi: $1',
 'show-big-image' => 'Độ phân giải tối đa',
-'show-big-image-preview' => 'Kích thước của ảnh xem thử: $1.',
+'show-big-image-preview' => 'Kích thước của hình xem trước: $1.',
 'show-big-image-other' => '{{PLURAL:$2|Độ phân giải|Các độ phân giải}} khác: $1.',
 'show-big-image-size' => '$1×$2 điểm ảnh',
 'file-info-gif-looped' => 'có lặp',
@@ -3910,7 +3914,7 @@ Xin hãy xác nhận bạn thực sự muốn tạo lại trang này.",
 # Live preview
 'livepreview-loading' => 'Đang tải…',
 'livepreview-ready' => 'Đang tải… Xong!',
-'livepreview-failed' => 'Không thể xem thử trực tiếp! Hãy dùng thử chế độ xem thử thông thường.',
+'livepreview-failed' => 'Không thể xem trước trực tiếp! Hãy dùng thử chế độ xem trước thông thường.',
 'livepreview-error' => 'Không thể kết nối: $1 “$2”. Hãy dùng thử chế độ xem thử thông thường.',
 
 # Friendlier slave lag warnings
index 3f15d71..bba6c9c 100644 (file)
@@ -870,7 +870,6 @@ Bidde gug's mi´m foorschau-gnobf ôô fôrm schbajchan",
 'modern.css' => "/* CSS hiir beâjflusd nôr dii Modern-schelfn. Wen'd ale uf ôômôôl beâjflusn wilsch, muâsch an MediaWiki:Common.css was ändârn. */",
 'vector.css' => "/* CSS hiir beâjflusd nôr dii Vector-schelfn. Wen'd ale uf ôômôôl beâjflusn wilsch, muâsch an MediaWiki:Common.css was ändârn. */",
 'print.css' => '/* CSS hiir beâjflusd nôr dii drugausgaawe. */',
-'handheld.css' => '/* CSS hiir beâjflusd nôr dii handgerääde, jee nachdeem, welche schelfn in $wgHandheldStyle âjgeschdeld is. */',
 
 # Scripts
 'common.js' => '/* Des folchende JavaScript wird fir ale benudsâr glôôdn un fir ale sajdn, dii se ôôgugn. */',
index e9ef6c4..56ca195 100644 (file)
@@ -119,7 +119,7 @@ $messages = array(
 'tog-hidepatrolled' => 'Klänedön redakamis pezepöl in lised votükamas nulik.',
 'tog-newpageshidepatrolled' => 'Klänedön padis pezepöl in lised padas nulik',
 'tog-extendwatchlist' => 'Stäänükön galädalisedi ad jonön votükamis tefik valik, e no te nulikünos',
-'tog-usenewrc' => 'Gebön votükamis nulik patik (me JavaScript)',
+'tog-usenewrc' => 'Grupön votükamis pado in votukäms nulik e galädalised (me JavaScript)',
 'tog-numberheadings' => 'Givön itjäfidiko nümis dilädatiädes',
 'tog-showtoolbar' => 'Jonön redakamastumemi (JavaScript)',
 'tog-editondblclick' => 'Dälön redakön padis pö drän telik mugaknopa (JavaScript)',
@@ -127,17 +127,17 @@ $messages = array(
 'tog-editsectiononrightclick' => 'Dälön redakami diläda me klik mugaknopa detik su dilädatiäds (JavaScript)',
 'tog-showtoc' => 'Jonön ninädalisedi (su pads labü diläds plu 3)',
 'tog-rememberpassword' => 'Dakipolös nunädamanünis obik in bevüresodatävöm at (muiko {{PLURAL:$1|del|dels}} $1)',
-'tog-watchcreations' => 'Läükön padis fa ob pejafölis lä galädalised obik',
-'tog-watchdefault' => 'Läükön padis fa ob peredakölis la galädalised obik',
-'tog-watchmoves' => 'Läükön padis fa ob petopätükölis lä galädalised obik',
-'tog-watchdeletion' => 'Läükön padis fa ob pemoükölis lä galädalised obik',
+'tog-watchcreations' => 'Läükön padis fa ob pejafölis e ragivis fa ob pelöpükölis lä galädalised obik',
+'tog-watchdefault' => 'Läükön padis e ragivis fa ob peredakölis la galädalised obik',
+'tog-watchmoves' => 'Läükön padis e ragivis fa ob petopätükölis lä galädalised obik',
+'tog-watchdeletion' => 'Läükön padis e ragivis fa ob pemoükölis lä galädalised obik',
 'tog-minordefault' => 'Bepenön redakamis no pebepenölis valikis asä pülikis',
 'tog-previewontop' => 'Jonön büologedi bü redakaspad',
 'tog-previewonfirst' => 'Jonön büologedi pö redakam balid',
 'tog-nocache' => 'Nejäfidükön el "cache" padas in bevüresodatävöm',
-'tog-enotifwatchlistpages' => 'Sedön obe penedi leäktronik ven ek votükon padi se galädalised obik',
+'tog-enotifwatchlistpages' => 'Sedön obe penedi leäktronik ven ek votükon padi u ragivi se galädalised obik',
 'tog-enotifusertalkpages' => 'Sedön obe penedi leäktronik ven gebanapad obik pavotükon',
-'tog-enotifminoredits' => 'Sedön obe penedi leäktronik igo pö padavotükams pülik',
+'tog-enotifminoredits' => 'Sedön obe penedi leäktronik igo pö votükams pülik padas e ragivas',
 'tog-enotifrevealaddr' => 'Jonön ladeti leäktronik oba in nunapeneds.',
 'tog-shownumberswatching' => 'Jonön numi gebanas galädöl',
 'tog-oldsig' => 'Dispenäd dabinöl:',
@@ -214,6 +214,18 @@ $messages = array(
 'oct' => 'tob',
 'nov' => 'nov',
 'dec' => 'dek',
+'january-date' => 'yanul $1',
+'february-date' => 'febul $1',
+'march-date' => 'mäzul $1',
+'april-date' => 'prilul $1',
+'may-date' => 'mayul $1',
+'june-date' => 'yunul $1',
+'july-date' => 'yulul $1',
+'august-date' => 'gustul $1',
+'september-date' => 'setul $1',
+'october-date' => 'tobul $1',
+'november-date' => 'novul $1',
+'december-date' => 'dekul $1',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Klad|Klads}}',
@@ -230,6 +242,8 @@ $messages = array(
 'category-file-count' => '{{PLURAL:$2|Klad at labon te ragivi sököl.|{{PLURAL:$1|Ragiv sököl binon |Ragivs sököl $1 binons}} in klad at, se $2.}}',
 'category-file-count-limited' => '{{PLURAL:$1|Ragiv sököl binon|Ragivs sököl $1 binons}} in klad at.',
 'listingcontinuesabbrev' => '(fov.)',
+'index-category' => 'Pads mafädanumöls',
+'noindex-category' => 'Pads nemafädanumöls',
 
 'about' => 'Tefü',
 'article' => 'Ninädapad',
@@ -288,6 +302,7 @@ $messages = array(
 'create-this-page' => 'Jafön padi at',
 'delete' => 'Moükön',
 'deletethispage' => 'Moükolös padi at',
+'undeletethispage' => 'Sämoükön padi at',
 'undelete_short' => 'Sädunön moükami {{PLURAL:$1|redakama bal|redakamas $1}}',
 'viewdeleted_short' => 'Logön {{PLURAL:$1|redakami pemoüköl bal|redakamis pemoüköls $1}}',
 'protect' => 'Jelön',
@@ -359,6 +374,7 @@ $messages = array(
 'youhavenewmessagesfromusers' => 'Labol $1 de {{PLURAL:$3|geban votik|gebans $3}} ($2).',
 'youhavenewmessagesmanyusers' => 'Labol $1 de gebans mödik ($2).',
 'newmessageslinkplural' => '{{PLURAL:$1|nuni nulik|nunis nulik}}',
+'newmessagesdifflinkplural' => '{{PLURAL:$1|votükam|votükams}} lätik',
 'youhavenewmessagesmulti' => 'Labol nunis nulik su $1',
 'editsection' => 'redakön',
 'editold' => 'redakön',
@@ -443,6 +459,7 @@ Atos kösömiko jenon sekü difa- u jenotemayüm dädik (o.b. lü pad pemoüköl
 'badarticleerror' => 'Dun at no kanon paledunön su pad at.',
 'cannotdelete' => 'No emögos ad moükön padi u ragivi: "$1".
 Ba ya pemoükon fa geban votik.',
+'cannotdelete-title' => 'No kanoy moükön padi: "$1"',
 'badtitle' => 'Tiäd badik',
 'badtitletext' => 'Padatiäd peflagöl äbinon nelonöfik, vägik, u ba yüm bevüpükik u bevüvükik dädik. Mögos, das ninädon malati(s), kel(s) no dalon(s) pagebön ad jafön tiädis.',
 'perfcached' => 'Nüns sököl ekömons se el caché e ba no binons anuik. A maximum of {{PLURAL:$1|one result is|$1 results are}} available in the cache.',
@@ -452,20 +469,22 @@ Ba ya pemoükon fa geban votik.',
 Dun: $1<br />
 Beg: $2',
 'viewsource' => 'Logön fonäti',
+'viewsource-title' => 'Logön fonäti pada: "$1"',
 'actionthrottled' => 'Dun pemiedükon',
 'actionthrottledtext' => 'Ad tadunön reklamami itjäfidik (el „spam“), dunot at no padälon tu suvo dü brefüp. Ya erivol miedi gretikün. Steifülolös nogna pos minuts anik.',
 'protectedpagetext' => 'Pad at pejelon ad neletön redakami.',
 'viewsourcetext' => 'Kanol logön e kopiedön fonätakoti pada at:',
 'protectedinterface' => 'Pad at jafon vödemis sitanünas, ed anu pelökofärmükon ad vitön migebis.',
-'editinginterface' => "'''Nuned:''' Anu redakol padi, kel labükon vödemis bevüik pro programem.
+'editinginterface' => "'''Nuned:''' redakol padi, kel labükon vödemis bevüik pro programem.
 Votükams pada at oflunons logoti gebanasita pro gebans votik.
-Ad tradutön vödemis, demolös gebi ela [//translatewiki.net/wiki/Main_Page?setlang=vo translatewiki.net]: topükamaproyeg ela MediaWiki.",
+Ad läükön u votükön tradutodis pro els wiki valik, demolös gebi ela [//translatewiki.net/?setlang=vo translatewiki.net]: topükamaproyeg ela MediaWiki.",
 'sqlhidden' => '(SQL beg peklänedon)',
 'cascadeprotected' => 'Pad at pejelon ta redakam, bi pakeninükon fa {{PLURAL:$1|pad|pads}} sököl, kels pejelons ma „jänajel“: $2',
 'namespaceprotected' => "No dalol redakön padis in nemaspad: '''$1'''.",
 'ns-specialprotected' => 'Pads patik no kanons paredakön.',
 'titleprotected' => "Jaf tiäda at penemögükon fa geban: [[User:$1|$1]].
 Kod binon: ''$2''.",
+'exception-nologin' => 'No enunädol oli',
 
 # Virus scanner
 'virus-badscanner' => "Parametem badik: program tavirudik nesevädik: ''$1''",
@@ -477,11 +496,20 @@ Kod binon: ''$2''.",
 
 Kanol laigebön {{SITENAME}} nennemiko, u kanol <span class='plainlinks'>[$1 nunädön oli dönu]</span> me gebananem ot u gebenanem votik.
 Küpälolös, das pads anik ba nog pojenons äsva no esenunädol oli, jüs uklinükol memi no laidüpik bevüresodanaföma olik.",
+'welcomeuser' => 'Benokömö, o $1!',
 'yourname' => 'Gebananem:',
+'userlogin-yourname' => 'Gebananem',
+'userlogin-yourname-ph' => 'Penolös gebananemi olik',
 'yourpassword' => 'Letavöd:',
+'userlogin-yourpassword' => 'Letavöd',
+'userlogin-yourpassword-ph' => 'Penolös letavödi olik',
+'createacct-yourpassword-ph' => 'Penolös letavödi',
 'yourpasswordagain' => 'Klavolös dönu letavödi:',
+'createacct-yourpasswordagain' => 'Fümedolös letavödi',
+'createacct-yourpasswordagain-ph' => 'Penolös letavödi dönu',
 'remembermypassword' => 'Dakipolöd ninädamanünis obik in nünöm at (muiko {{PLURAL:$1|del|dels}} $1)',
 'yourdomainname' => 'Domen olik:',
+'password-change-forbidden' => 'No kanol votükön letavödis su el wiki at.',
 'externaldberror' => 'U ejenon fümükamapöl plödik nünödema, u no dalol atimükön kali plödik ola.',
 'login' => 'Nunädolös obi',
 'nav-login-createaccount' => 'Nunädön oki / jafön kali',
@@ -491,13 +519,20 @@ Küpälolös, das pads anik ba nog pojenons äsva no esenunädol oli, jüs uklin
 'logout' => 'Senunädön oki',
 'userlogout' => 'Senunädön oki',
 'notloggedin' => 'No enunädol oli',
+'userlogin-noaccount' => 'No labol-li kali?',
+'userlogin-joinproject' => 'Sogolös oki lä {{SITENAME}}',
 'nologin' => "No labol-li kali? '''$1'''.",
 'nologinlink' => 'Jafolös bali',
 'createaccount' => 'Jafön kali',
 'gotaccount' => "Ya labol-li kali? '''$1'''.",
 'gotaccountlink' => 'Nunädolös obi',
+'userlogin-resetlink' => 'Eglömol-li nünis kala olik?',
 'createaccountmail' => 'me pot leäktronik',
 'createaccountreason' => 'Kod:',
+'createacct-reason' => 'Kod',
+'createacct-submit' => 'Jafön kali olik',
+'createacct-benefit-body1' => '{{PLURAL:$1|redakam|redakams}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|pad|pads}}',
 'badretype' => 'Letavöds fa ol pepenöls no leigons.',
 'userexists' => 'Gebananem at ya pagebon.
 Välolös, begö! nemi votik.',
@@ -569,10 +604,17 @@ Ba ya evotükol benosekiko letavödi olik, u ya ebegol benosekiko letavödi nela
 'passwordreset' => 'Dönuvälön letavödi',
 'passwordreset-legend' => 'Dönuvälön letavödi',
 'passwordreset-username' => 'Gebananem:',
+'passwordreset-domain' => 'Domen:',
 'passwordreset-email' => 'Ladet leäktronik:',
 
 # Special:ChangeEmail
+'changeemail' => 'Votükön ladeti leäktronik',
+'changeemail-header' => 'Votükön ladeti leäktronik kala',
+'changeemail-oldemail' => 'Ladet leäktronik anuik:',
+'changeemail-newemail' => 'Ladet leäktronik nulik:',
 'changeemail-none' => '(nonik)',
+'changeemail-password' => 'Letavöd olik su {{SITENAME}}:',
+'changeemail-submit' => 'Votükön ladeti leäktronik',
 'changeemail-cancel' => 'Stöpädön',
 
 # Edit page toolbar
@@ -642,7 +684,7 @@ Ladet-IP olik binon $3, e nüm blokama at binon #$5. Mäniotolös nünis löpik
 'nosuchsectiontitle' => 'Diläd no petuvöl',
 'nosuchsectiontext' => 'Esteifülol ad redakön dilädi no dabinöli.',
 'loginreqtitle' => 'Nunädam Paflagon',
-'loginreqlink' => 'ninädolös obi',
+'loginreqlink' => 'nunädolös obi',
 'loginreqpagetext' => 'Mutol $1 ad logön padis votik.',
 'accmailtitle' => 'Letavöd pesedon.',
 'accmailtext' => "Letavöd fädik pro [[User talk:$1|$1]] pasedon lü $2.
@@ -655,6 +697,8 @@ If binol is pölo, välolös knopi: '''geikön''' bevüresodatävöma olik.",
 'anontalkpagetext' => "----''Bespikapad at duton lü geban nennemik, kel no nog ejafon kali, u no vilon labön u gebön oni. Sekü atos pemütobs ad gebön ladeti-IP ad dientifükön gebani at. Ladets-IP kanons pagebön fa gebans difik. If binol geban nennemik e cedol, das küpets netefik pelüodükons ole, [[Special:UserLogin|jafolös, begö! kali]], u [[Special:UserLogin|nunädolös oli]] ad vitön kofudi ko gebans nennemik votik.''",
 'noarticletext' => 'Atimo no dabinon vödem su pad at.
 Kanol [[Special:Search/{{PAGENAME}}|sukön padatiädi at]] su pads votik, <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} sukön in jenotaliseds tefik] u [{{fullurl:{{FULLPAGENAME}}|action=edit}} redakön padi at]</span>.',
+'noarticletext-nopermission' => 'Atimo no dabinon vödem su pad at.
+Kanol [[Special:Search/{{PAGENAME}}|sukön padatiädi at]] su pads votik u <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} sukön in jenotaliseds tefik], ab no labol gitätis ad jafön padi at.',
 'userpage-userdoesnotexist' => 'Gebanakal: "<nowiki>$1</nowiki>" no peregistaron. Fümükolös, va vilol jäfön/redakön padi at.',
 'userpage-userdoesnotexist-view' => 'Gebenakal: "$1" no peregistaron.',
 'clearyourcache' => "'''Prudö!''' Pos dakip buükamas, mögos, das ozesüdos ad nedemön memi nelaidüpik bevüresodatävöma ad logön votükamis.
@@ -671,7 +715,9 @@ Kanol [[Special:Search/{{PAGENAME}}|sukön padatiädi at]] su pads votik, <span
 Memolös, das pads: .css e .js mutons labön tiädi minudik: {{ns:user}}:Foo/vector.css, no {{ns:user}}:Foo/Vector.css.",
 'updated' => '(peatimükon)',
 'note' => "'''Penet:'''",
-'previewnote' => "'''Is pajonon te büologed; votükams no nog pedakipons!'''",
+'previewnote' => "'''Memolös, das is pajonon te büologed.'''
+Votükams olik no nog pedakipons!",
+'continue-editing' => 'Golön ad spadäd redakama',
 'previewconflict' => 'Büologed at jonon vödemi in redakamaspad löpik soäsä opubon if odakipol oni.',
 'session_fail_preview' => "'''Pidö! No emögos ad lasumön votükamis olik kodü per redakamanünodas.<br />Steifülolös dönu. If no oplöpol, tän senunädolös e genunädolös oli, e steifülolös nogna.'''",
 'session_fail_preview_html' => "'''Liedo no eplöpos ad zepön redakami olik kodü per nünodas.'''
@@ -727,10 +773,10 @@ Kanol redakön padi dabinöl, u [[Special:UserLogin|nunädön oli u jafön kali]
 'permissionserrors' => 'Dälapöls',
 'permissionserrorstext' => 'No dalol dunön atosi sekü {{PLURAL:$1|kod|kods}} sököl:',
 'permissionserrorstext-withaction' => 'No dalol $2, sekü {{PLURAL:$1|kod|kods}} sököl:',
-'recreate-moveddeleted-warn' => "'''NUNED: Dönujafol padi pemoüköl.'''
+'recreate-moveddeleted-warn' => "'''Nuned: Dönujafol padi büiko pemoüköl.'''
 
 Vätälolös, va binos pötik ad lairedakön padi at.
-Jenotalised moükama pada at pajonon is as yuf.",
+Jenotalised moükama e topätükama pada at pajonon is as yuf:",
 'moveddeleted-notice' => 'Pad at pemoükon.
 Jenotems moükamas e topätükamas pada palisedon dono.',
 'edit-hook-aborted' => 'Redakam pestöpädon fa huköm.
@@ -743,6 +789,10 @@ Jiniko pemoükon.',
 'edit-already-exists' => 'No kanoy jafön padi nulik.
 On ya dabinon.',
 
+# Content models
+'content-model-javascript' => 'JavaScript',
+'content-model-css' => 'CSS',
+
 # Parser/template warnings
 'expensive-parserfunction-warning' => 'Nuned: Pad at vokon „parser“-sekätis tusuvo.
 
@@ -839,6 +889,7 @@ Ninäd peklänedöl at binon ye nog lügolovik guvanes votik vüka: {{SITENAME}}
 'logdelete-success' => 'Logov jenotaliseda pelonon benosekiko.',
 'revdel-restore' => 'Votükön logovi',
 'revdel-restore-deleted' => 'revids pemoüköl',
+'revdel-restore-visible' => 'revids logädik',
 'pagehist' => 'Padajenotem',
 'deletedhist' => 'Jenotem pemoüköl',
 'revdelete-otherreason' => 'Kod votik/zuik:',
@@ -908,7 +959,6 @@ Kontrololös, va votükam at okipon fovöfi padajenotema.',
 'searchmenu-legend' => 'Sukaparamets',
 'searchmenu-exists' => "'''Dabinon pad labü nem: \"[[:\$1]]\" su vük at'''",
 'searchmenu-new' => "'''Jafolös padi: \"[[:\$1]]\" su vük at!'''",
-'searchhelp-url' => 'Help:Ninäd',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Logön padis labü foyümot at]]',
 'searchprofile-articles' => 'Ninädapads',
 'searchprofile-project' => 'Yufa e Proyegapads',
@@ -961,6 +1011,7 @@ Kontrololös, va votükam at okipon fovöfi padajenotema.',
 'skin-preview' => 'Büologed',
 'datedefault' => 'Buükam nonik',
 'prefs-datetime' => 'Dät e Tim',
+'prefs-user-pages' => 'Gebanapads',
 'prefs-personal' => 'Gebananüns',
 'prefs-rc' => 'Votükams nulik',
 'prefs-watchlist' => 'Galädalised',
@@ -1012,6 +1063,7 @@ Kontrololös, va votükam at okipon fovöfi padajenotema.',
 'username' => '{{GENDER:$1|Gebananem}}:',
 'uid' => 'Gebanadientif:',
 'prefs-memberingroups' => '{{GENDER:$2|Liman}} {{PLURAL:$1|grupa|grupas}}:',
+'prefs-registration' => 'Tim registarama:',
 'yourrealname' => 'Nem jenöfik *:',
 'yourlanguage' => 'Pük:',
 'yournick' => 'Dispenäd nulik:',
@@ -1023,8 +1075,7 @@ Muton labön {{PLURAL:$1|malati|malatis}} läs $1.',
 'gender-female' => 'Vomik',
 'email' => 'Ladet leäktronik',
 'prefs-help-realname' => 'Nem jenöfik no binon zesüdik. If vilol givön oni, pogebon ad dasevön vobi olik.',
-'prefs-help-email' => 'Ladet leäktronik no peflagon, ab dälon sedi letavöda nulik ole üf glömol letavödi olik.
-Dalol i dälön votikanes kosikön ko ol yufü gebana- u bespikapad olik nes sävilupol dientifi olik.',
+'prefs-help-email' => 'Ladet leäktronik no peflagon, ab dälon sedi letavöda nulik ole üf glömol letavödi olik.',
 'prefs-help-email-required' => 'Ladet leäktronik paflagon.',
 'prefs-info' => 'Nüns stabik',
 'prefs-signature' => 'Dispenäd',
@@ -1185,6 +1236,7 @@ Dalol i dälön votikanes kosikön ko ol yufü gebana- u bespikapad olik nes sä
 'recentchanges-label-newpage' => 'Redakam at päjafon pad nulik',
 'recentchanges-label-minor' => 'Atos binon redakam pülik',
 'recentchanges-label-bot' => 'Redakam at pädunon fa el bot',
+'recentchanges-label-unpatrolled' => 'Redakam at no nog pekontrolon',
 'rcnote' => "Dono {{PLURAL:$1|binon votükam '''1'''|binons votükams '''$1'''}} lätikün {{PLURAL:$2|dela|delas '''$2'''}} lätikün, pänumädöls tü $5, $4.",
 'rcnotefrom' => "Is palisedons votükams sis '''$2''' (jü '''$1''').",
 'rclistfrom' => 'Jonön votükamis nulik, primölo tü düp $1',
@@ -1339,6 +1391,7 @@ Klikolös tiädi padüla ad votükön sökaleodi at.',
 'listfiles_search_for' => 'Sukön ragivanemi:',
 'imgfile' => 'ragiv',
 'listfiles' => 'Ragivalised',
+'listfiles_thumb' => 'Magodil',
 'listfiles_date' => 'Dät',
 'listfiles_name' => 'Nem',
 'listfiles_user' => 'Geban',
@@ -1369,8 +1422,11 @@ Lised dono jonon {{PLURAL:$1|padayümi balid|padayümis balid $1}} te lü ragiv
 [[Special:WhatLinksHere/$2|Lised lölöfik]] gebidon.',
 'nolinkstoimage' => 'Pads nonik peyümons ad ragiv at.',
 'morelinkstoimage' => 'Logolös [[Special:WhatLinksHere/$1|yümis pluik]] ad ragiv at.',
+'linkstoimage-redirect' => '$1 (lüodükam ragiva) $2',
 'duplicatesoffile' => '{{Plural:$1|Ragiv fovik leigon|Ragivs fovik $1 leigons}} ko ragiv at ([[Special:FileDuplicateSearch/$2|nüns pluik]]):',
 'sharedupload' => 'Ragiv at binon se $1 e kanon pagebön fa proyegs votik.',
+'sharedupload-desc-here' => 'Ragiv at kömon de $1 e kanon pagebön fa proyegs votik.
+Bepenot su [$2 pad bepenota ragiva] onik pajonon dono.',
 'uploadnewversion-linktext' => 'Löpükön fomami nulik ragiva at',
 'shared-repo-from' => 'se $1',
 
@@ -1454,6 +1510,8 @@ Primanünods: ninädasot/donasot, a.s. <code>image/jpeg</code>.',
 Sötons plao payümon lü yeged pötik.<br />
 Pad palelogon telplänovapad if gebon samafomoti, lü kel payümon pad [[MediaWiki:Disambiguationspage]].",
 
+'pageswithprop-submit' => 'Golön',
+
 'doubleredirects' => 'Lüodüköms telik',
 'doubleredirectstext' => 'Kedet alik labon yümis lü lüodüköm balid e telid, ed i kedeti balid vödema lüodüköma telid, kel nomiko ninädon padi, ko kel lüodüköm balid söton payümön.',
 'double-redirect-fixed-move' => 'Pad: [[$1]] petopätükon, anu binon lüodüköm lü pad: [[$2]]',
@@ -1543,7 +1601,7 @@ Pad palelogon telplänovapad if gebon samafomoti, lü kel payümon pad [[MediaWi
 'specialloguserlabel' => 'Geban:',
 'speciallogtitlelabel' => 'Lükömöp (tiäd u geban):',
 'log' => 'Jenotaliseds',
-'all-logs-page' => 'Jenotaliseds valik',
+'all-logs-page' => 'Jenotaliseds notidik valik',
 'alllogstext' => 'Kobojonam jenotalisedas gebidik valik in {{SITENAME}}.
 Ad brefükam lisedi, kanol välön lisedasoti, gebananemi, u padi tefik.',
 'logempty' => 'No dabinons notets in jenotalised at.',
@@ -1723,7 +1781,8 @@ Küpets e yuf pluik:
 'delete-legend' => 'Moükön',
 'historywarning' => 'Nuned: pad, keli vilol moükön, labon jenotemi:',
 'confirmdeletetext' => 'Primikol ad moükön laidüpiko padi u magodi sa jenotem valik ona. Fümedolös, das desinol ad dunön atosi, das suemol sekis, e das dunol atosi bai [[{{MediaWiki:Policy-url}}]].',
-'actioncomplete' => 'Peledunon',
+'actioncomplete' => 'Dunot eplöpon',
+'actionfailed' => 'Dunot eneplöpon',
 'deletedtext' => 'Pad: "$1" pemoükon;
 $2 jonon moükamis nulik.',
 'dellogpage' => 'Jenotalised moükamas',
@@ -1881,7 +1940,7 @@ $1',
 'mycontris' => 'Keblünots',
 'contribsub2' => 'Tefü $1 ($2)',
 'nocontribs' => 'Votükams nonik petuvons me paramets at.',
-'uctop' => '(lätik)',
+'uctop' => '(anuik)',
 'month' => 'De mul (e büiks):',
 'year' => 'De yel (e büiks):',
 
@@ -1890,6 +1949,7 @@ $1',
 'sp-contributions-newbies-title' => 'Gebanakeblünots pro kals nulik',
 'sp-contributions-blocklog' => 'Jenotalised blokamas',
 'sp-contributions-deleted' => 'gebanakeblünots pemoüköl',
+'sp-contributions-uploads' => 'löpükams',
 'sp-contributions-logs' => 'jenotaliseds',
 'sp-contributions-talk' => 'bespik',
 'sp-contributions-userrights' => 'guvam gebanagitätas',
@@ -1947,10 +2007,12 @@ $1',
 'ipbhidename' => 'Klänedön gebananemi se redakams e liseds',
 'ipbwatchuser' => 'Galädon gebana- e bespikapadis gebana at',
 'ipb-change-block' => 'Dönublokön gebani me paramets at',
+'ipb-confirm' => 'Fümedön blokami',
 'badipaddress' => 'Ladet-IP no lonöfon',
 'blockipsuccesssub' => 'Blokam eplöpon',
-'blockipsuccesstext' => '[[Special:Contributions/$1|$1]] peblokon.
-<br />Logolös [[Special:BlockList|lisedi ladetas-IP pebloköl]] ad vestigön blokamis.',
+'blockipsuccesstext' => '[[Special:Contributions/$1|$1]] peblokon.<br />
+Logolös [[Special:BlockList|lisedi blokamas]] ad vestigön blokamis.',
+'ipb-blockingself' => 'Oblokön oli it! Fümol-li, das vilol dunön atosi?',
 'ipb-edit-dropdown' => 'Redakön kodis blokama',
 'ipb-unblock-addr' => 'Säblokön eli $1',
 'ipb-unblock' => 'Säblokön gebananemi u ladeti-IP',
@@ -1962,6 +2024,7 @@ $1',
 'unblocked' => '[[User:$1|$1]] pesäblokon',
 'unblocked-range' => '$1 pesäblokon',
 'unblocked-id' => 'Blokam: $1 pesädunon',
+'blocklist' => 'Gebans pebloköl',
 'ipblocklist' => 'Gebans pebloköl',
 'ipblocklist-legend' => 'Tuvön gebani pebloköl',
 'blocklist-reason' => 'Kod',
@@ -2033,16 +2096,19 @@ No glömolös ad [[Special:UnlockDB|maifükön oni]] ven ufinükol vobi olik.',
 'unlockdbsuccesstext' => 'Nünodem pemaifükon.',
 'lockfilenotwritable' => 'Ragiv lökofärmükamas no votükovon. Ad lökofärmükön u maifükön nünodemi, ragiv at muton binön votükovik (dub dünanünöm).',
 'databasenotlocked' => 'Vük at no pefärmükon.',
+'lockedbyandtime' => '(fa {{GENDER:$1|$1}} tü $2 düp $3)',
 
 # Move page
 'move-page' => 'Topätükön padi: $1',
 'move-page-legend' => 'Topätükolöd padi',
-'movepagetext' => "Me fomet at kanoy votükön padanemi, ottimo feapladölo jenotemi lölöfik ona disi nem nulik. Tiäd büik ovedon lüodüköm lü tiäd nulik. Yüms lü padatiäd büik no povotükons; kontrolös dabini lüodükömas telik u dädikas. Gididol ad garanön, das yüms blebons lüodükön lü pads, lü kels mutons lüodükön.
+'movepagetext' => "Me fomet at kanoy votükön padanemi, ottimo feapladölo jenotemi lölöfik ona disi nem nulik. Tiäd büik ovedon lüodüköm lü tiäd nulik. Yüms lü padatiäd büik no povotükons; kontrolös dabini [[Special:DoubleRedirects|lüodükömas telik]] u [[Special:BrokenRedirects|dädikas]]. Gididol ad garanön, das yüms blebons lüodükön lü pads, lü kels mutons lüodükön.
 
-Küpälolös, das pad '''no''' potopätükon if ya dabinon pad labü tiäd nulik, bisä vagon u binon lüodüköm e no labon jenotemi. Atos sinifon, das, if pölol, nog kanol gepladön padi usio, kö äbinon büo, e das no kanol pladön padi nulik sui pad ya dabinöl.
+Küpälolös, das pad '''no''' potopätükon if ya dabinon pad labü tiäd nulik, bisä vagon u binon lüodüköm e no labon jenotemi.
+Atos sinifon, das, if pölol, nog kanol gepladön padi usio, kö äbinon büo, e das no kanol pladön padi nulik sui pad ya dabinöl.
 
-<b>NUNED!</b>
-Votükam at kanon binön mu staböfik ä no paspetöl pö pad pöpedik. Suemolös, begö! gudiko sekis duna at büä ofövol oni.",
+'''Nuned!'''
+Votükam at kanon binön mu staböfik ä no paspetöl pö pad pöpedik;
+suemolös, begö! gudiko sekis duna at büä ofövol oni.",
 'movepagetalktext' => "Bespikapad tefik potopätükön itjäfidiko kobü pad at '''pläsif:'''
 * bespikapad no vägik labü tiäd nulik ya dabinon, u
 * vagükol anu bokili dono.
@@ -2251,6 +2317,7 @@ Dakipolös oni su nünöm olik e löpükolös oni isio.',
 'tooltip-rollback' => '„Sädunön vali“ sädunon redakami(s) pada at fa keblünan lätik me klik bal mugaparata.',
 'tooltip-undo' => '"Sädunön bali" sädunon redakami at e maifükön redakamafometi as büologed.
 Dälon läükami koda.',
+'tooltip-summary' => 'Penolös pläni brefik',
 
 # Stylesheets
 'common.css' => '/** El CSS isio peplädöl pogebon pro padafomäts valik */',
@@ -2283,6 +2350,8 @@ Pad luveratiko ninädon yümi lü bevüresodatopäd plödik in blägalised.',
 
 # Info page
 'pageinfo-header-edits' => 'Jenotem redakamas',
+'pageinfo-contentpage-yes' => 'Si',
+'pageinfo-protect-cascading-yes' => 'Si',
 
 # Patrolling
 'markaspatrolleddiff' => 'Zepön',
@@ -2325,6 +2394,7 @@ If ojäfidükol oni, nünömasit olik ba podämükon.",
 'file-info-size' => '$1 × $2 pixel, ragivagret: $3, pated MIME: $4',
 'file-nohires' => 'Gretot gudikum no pagebidon.',
 'svg-long-desc' => 'ragiv in fomät: SVG, magodaziöbs $1 × $2, gretot: $3',
+'svg-long-error' => "Ragiv 'SVG' ne lonöfon: $1",
 'show-big-image' => 'Gretot gudikün',
 
 # Special:NewFiles
@@ -2344,6 +2414,23 @@ If ojäfidükol oni, nünömasit olik ba podämükon.",
 'minutes' => '{{PLURAL:$1|minut 1|minuts $1}}',
 'hours' => '{{PLURAL:$1|düp 1|düps $1}}',
 'days' => '{{PLURAL:$1|del 1|dels $1}}',
+'months' => '{{PLURAL:$1|mul $1|muls $1}}',
+'years' => '{{PLURAL:$1|yel $1|yels $1}}',
+'ago' => 'bü $1',
+'just-now' => 'anu',
+
+# Human-readable timestamps
+'hours-ago' => 'bü {{PLURAL:$1|düp|düps}} $1',
+'minutes-ago' => 'bü {{PLURAL:$1|minut|minuts}} $1',
+'seconds-ago' => 'bü {{PLURAL:$1|sekun|sekuns}} $1',
+'monday-at' => 'Tü mudel düp $1',
+'tuesday-at' => 'Tü tudel düp $1',
+'wednesday-at' => 'Tü vedel düp $1',
+'thursday-at' => 'Tü dödel düp $1',
+'friday-at' => 'Tü fridel düp $1',
+'saturday-at' => 'Tü zädel düp $1',
+'sunday-at' => 'Tü sudel düp $1',
+'yesterday-at' => 'Ädelo düp $1',
 
 # Bad image list
 'bad_image_list' => 'Fomät pabevobon ön mod soik:
@@ -2480,6 +2567,7 @@ Nünabinets votik poklänedons.
 'exif-gpsareainformation' => 'Nem topäda: GPS',
 'exif-gpsdatestamp' => 'Dät ela GPS',
 'exif-source' => 'Fonät',
+'exif-writer' => 'Penan',
 'exif-languagecode' => 'Pük',
 'exif-iimcategory' => 'Klad',
 
@@ -2596,10 +2684,18 @@ Nünabinets votik poklänedons.
 'exif-gpsspeed-m' => 'Liöls a düp',
 'exif-gpsspeed-n' => 'Snobs',
 
+# Pseudotags used for GPSDestDistanceRef
+'exif-gpsdestdistance-k' => 'Milmets',
+'exif-gpsdestdistance-m' => 'Liöls',
+
 # Pseudotags used for GPSTrackRef, GPSImgDirectionRef and GPSDestBearingRef
 'exif-gpsdirection-t' => 'Lüod veratik',
 'exif-gpsdirection-m' => 'Lüod magnetik',
 
+'exif-dc-date' => 'Dät(s)',
+'exif-dc-publisher' => 'Püban',
+
+'exif-iimcategory-spo' => 'Spots',
 'exif-iimcategory-wea' => 'Stom',
 
 # External editor support
@@ -2732,10 +2828,15 @@ Kanol i [[Special:EditWatchlist|gebön redakametodi kösömik]].',
 'version-hook-subscribedby' => 'Pagebon fa',
 'version-version' => '(Fomam $1)',
 'version-license' => 'Dälazöt',
+'version-poweredby-others' => 'votikans',
 'version-software' => 'Programs pestitöl',
 'version-software-product' => 'Prodäd',
 'version-software-version' => 'Fomam',
 
+# Special:Redirect
+'redirect-submit' => 'Golön',
+'redirect-file' => 'Ragivanem',
+
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Sukön ragivis petelüköl',
 'fileduplicatesearch-summary' => 'Sukön ragivis petelüköl stabü völad kontrolasaedota onsik.',
@@ -2769,6 +2870,7 @@ Kanol i [[Special:EditWatchlist|gebön redakametodi kösömik]].',
 'intentionallyblankpage' => 'Pad at pevagükon desino',
 
 # Special:Tags
+'tag-filter' => '[[Special:Tags|Sul]] ninädapenetas:',
 'tag-filter-submit' => 'Sul',
 'tags-display-header' => 'Logot in votükamaliseds',
 'tags-edit' => 'redakön',
@@ -2793,14 +2895,30 @@ Kanol i [[Special:EditWatchlist|gebön redakametodi kösömik]].',
 'htmlform-submit' => 'Sedön',
 'htmlform-reset' => 'Sädunön votükamis',
 'htmlform-selectorother-other' => 'Votik',
+'htmlform-no' => 'Nö',
+'htmlform-yes' => 'Si',
 
 # New logging system
 'revdelete-restricted' => 'miedükams pelonöfükons pro guvans',
 'revdelete-unrestricted' => 'miedükams pro guvans pemoükons',
 'rightsnone' => '(nonik)',
 
+# Feedback
+'feedback-subject' => 'Yegäd:',
+
 # Search suggestions
 'searchsuggest-search' => 'Suk',
 'searchsuggest-containing' => 'ninädöl...',
 
+# Durations
+'duration-seconds' => '{{PLURAL:$1|sekun|sekuns}} $1',
+'duration-minutes' => '{{PLURAL:$1|minut|minuts}} $1',
+'duration-hours' => '{{PLURAL:$1|düp|düps}} $1',
+'duration-days' => '{{PLURAL:$1|del|dels}} $1',
+'duration-weeks' => '{{PLURAL:$1|vig|vigs}} $1',
+'duration-years' => '{{PLURAL:$1|yel|yels}} $1',
+'duration-decades' => '{{PLURAL:$1|degyel|degyels}} $1',
+'duration-centuries' => '{{PLURAL:$1|tumyel|tumyels}} $1',
+'duration-millennia' => '{{PLURAL:$1|milyel|milyels}} $1',
+
 );
index a715c85..28626e4 100644 (file)
@@ -775,7 +775,6 @@ Lisateedüst või ollaq [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAME
 'shown-title' => 'Näütäq lehe kotsilõ $1 {{PLURAL:$1|tulõmus|tulõmust}}',
 'viewprevnext' => 'Näütäq ($1 {{int:pipe-separator}} $2) ($3).',
 'searchmenu-new' => "'''Luuq leht päälkiräga \"[[:\$1]]\".'''",
-'searchhelp-url' => 'Help:Oppus',
 'searchprofile-articles' => 'Sisuleheq',
 'searchprofile-project' => 'Abi- ja projektileheq',
 'searchprofile-images' => 'Multimeediä',
index 7a8020f..872f34b 100644 (file)
@@ -513,10 +513,8 @@ Motoit ki vos l' avoz ddja candjî ou ridmandé on novea scret timporaire.",
 
 # Special:PasswordReset
 'passwordreset' => "Rifé l' sicret",
-'passwordreset-text' => 'Completez cisse formulrece ci po rçure èn emile ki dene les detays do conte da vosse.',
 'passwordreset-legend' => "Rifé l' sicret",
 'passwordreset-disabled' => "Li rfijhaedje di screts a stî dismetou so ç' wiki ci.",
-'passwordreset-pretext' => '{{PLURAL:$1||Dinez onk des elemints di dnêyes shuvants}}',
 'passwordreset-username' => "No d' elodjaedje:",
 'passwordreset-domain' => 'Dominne:',
 'passwordreset-capture' => "Vey li messaedje di l' emile?",
@@ -818,7 +816,6 @@ Les ôtes manaedjeus so {{SITENAME}} pôront todi vey li contnou catchî eyet l'
 'searchmenu-legend' => 'Tchuzes di cweraedje',
 'searchmenu-exists' => "'''Gn a ddja ene pådje lomêye « [[:$1]] » so ç' wiki ci'''",
 'searchmenu-new' => "'''Ahiver l' pådje \"[[:\$1]]\" so ç' wiki ci!'''",
-'searchhelp-url' => 'Help:Aidance',
 'searchprofile-articles' => 'Pådjes di contnou',
 'searchprofile-project' => "Pådjes d' aidance et do pordjet",
 'searchprofile-images' => 'Multimedia',
index 38f0cdd..501fc33 100644 (file)
@@ -596,7 +596,6 @@ Ikaw in naglalog-in yana...',
 
 # Special:PasswordReset
 'passwordreset' => 'igreset an tigaman-hit-pagsulod',
-'passwordreset-text' => 'Kumpletoha ini nga porma para makareset han imo password.',
 'passwordreset-legend' => 'igreset an tigaman-hit-pagsulod',
 'passwordreset-disabled' => 'Waray ginpaandar an password reset hini nga wiki.',
 'passwordreset-username' => 'Agnay hiton gumaramit:',
@@ -853,7 +852,6 @@ Diri mo ini malalabtan.',
 'searchmenu-legend' => 'Mga pagpipilian han pamiling',
 'searchmenu-exists' => "'''May-ada pakli nga nakangaran hin \"[[:\$1]]\" hini nga wiki.'''",
 'searchmenu-new' => "'''Himoa an pakli \"[[:\$1]]\" hini nga wiki!'''",
-'searchhelp-url' => 'Help:Sulod',
 'searchprofile-articles' => 'Mga unod nga pakli',
 'searchprofile-project' => 'Mga Bulig ngan Proyekto nga pakli',
 'searchprofile-images' => 'Multimedia',
index b9bede3..d7c946d 100644 (file)
@@ -880,7 +880,6 @@ Soo jëfandikoo lëkkalekaayu joow yi day neenal boyot yi nga jotoon a fal.',
 'searchmenu-legend' => 'Tànneefi ceet',
 'searchmenu-exists' => "'''wenn xët wu tudd « [[:$1]] » moo am ci bii wiki'''",
 'searchmenu-new' => "'''Sosal xët wii di « [[:$1|$1]] » ci bii wiki !'''",
-'searchhelp-url' => 'Help:Ndimbal',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Xoolal xët wi tambalee nii]]',
 'searchprofile-articles' => 'Xëti ëmbiit',
 'searchprofile-project' => 'Xëti Ndimbal ak Sémb',
index 36e57dc..7bd6863 100644 (file)
@@ -857,7 +857,6 @@ $1",
 'searchmenu-legend' => '搜索选项',
 'searchmenu-exists' => "'''垃拉箇只wiki高头已经有只页面叫“[[:$1]]”哉'''",
 'searchmenu-new' => "'''垃拉该wiki里向新建页面“[[:$1]]”!'''",
-'searchhelp-url' => 'Help:目录',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|浏览带箇只前缀个页面]]',
 'searchprofile-articles' => '内容页面',
 'searchprofile-project' => '帮助搭仔项目页面',
index f0ab960..cb4fda3 100644 (file)
@@ -411,7 +411,6 @@ $messages = array(
 'viewprevnext' => 'ქოძირ  ($1 {{int:pipe-separator}} $2) ($3).',
 'searchmenu-exists' => 'თე ვიკის "[[:$1]]" ჯოხოთ ხასჷლა რე',
 'searchmenu-new' => "''ქჷდარსხი \"[[:\$1]]\" ხასჷლა თე ვიკის'''",
-'searchhelp-url' => 'Help:მოხვარა',
 'searchprofile-articles' => 'სტატიეფი',
 'searchprofile-project' => 'მოხვარაშ დო პროექტიშ ხასჷლეფი',
 'searchprofile-images' => 'მულტიმედია',
index 9c57a43..73e5b23 100644 (file)
@@ -1265,7 +1265,6 @@ $1",
 'searchmenu-legend' => 'זוכן ברירות',
 'searchmenu-exists' => "'''ס'איז פֿאַראַן א בלאַט מיטן נאמען \"[[:\$1]]\" אין דער וויקי'''",
 'searchmenu-new' => "'''באַשאַפֿן דעם בלאַט \"[[:\$1]]\" אויף דער וויקי'''",
-'searchhelp-url' => 'Help:אינהאַלט',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|בלעטערן בלעטער מיט דעם פרעפֿיקס]]',
 'searchprofile-articles' => 'אינהאלט בלעטער',
 'searchprofile-project' => 'הילף און פראיעקט בלעטער',
index 0b91405..6599654 100644 (file)
@@ -160,6 +160,18 @@ $messages = array(
 'oct' => 'Oṣù 10',
 'nov' => 'Oṣù 11',
 'dec' => 'Oṣù 12',
+'january-date' => '$1 Oṣù Kínní',
+'february-date' => '$1 Oṣù Kejì',
+'march-date' => '$1 Oṣù Kẹta',
+'april-date' => '$1 Oṣù Kẹrin',
+'may-date' => '$1 Oṣù Kàrún',
+'june-date' => '$1 Oṣù Kẹfà',
+'july-date' => '$1 Oṣù Keje',
+'august-date' => '$1 Oṣù Kẹjọ',
+'september-date' => '$1 Oṣù Kẹ̀sán',
+'october-date' => '$1 Oṣù Kẹ̀wá',
+'november-date' => '$1 Oṣù Kọkànlá',
+'december-date' => '$1 Oṣù Kejìlá',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Ẹ̀ka|Àwọn ẹ̀ka}}',
@@ -241,6 +253,7 @@ $messages = array(
 'create-this-page' => "Ṣè'dá ojúewé yìí",
 'delete' => 'Ìparẹ́',
 'deletethispage' => 'Pa ojúewé yi rẹ́',
+'undeletethispage' => 'Mú ìparẹ́ kúrò fún ojúewé yìí',
 'undelete_short' => 'Ìdápadà ìparẹ́ {{PLURAL:$1|àtúnṣe kan|àwọn àtúnṣe $1}}',
 'viewdeleted_short' => 'Ìwòran {{PLURAL:$1|àtúnṣe ajẹ́píparẹ́ kan|àwọn àtúnṣe ajẹ́píparẹ́ $1}}',
 'protect' => 'Àbò',
@@ -443,6 +456,8 @@ Láti ṣ'àfikún tàbí ṣ'àyípadà àwọn ìyédèpadà fún gbogbo àw
 'namespaceprotected' => "A kò gbàyín ní ààyè láti ṣ'àtúnṣe àwọn ojúewé tó wà nínú orúkọàyè '''$1'''.",
 'customcssprotected' => 'Ẹ kò ní ìyọ̀nda láti ṣàtúnṣe ojúewé CSS yìí nítorípé ó ní àwọn ìtòjọ oníṣe ẹlòmíràn.',
 'customjsprotected' => 'Ẹ kò ní ìyọ̀nda láti ṣàtúnṣe ojúewé JavaScript yìí nítorípé ó ní àwọn ìtòjọ oníṣe ẹlòmíràn.',
+'mycustomcssprotected' => 'Ẹ kò ní ìyọ̀nda láti ṣàtúnṣe ojúewé CSS yìí.',
+'mycustomjsprotected' => 'Ẹ kò ní ìyọ̀nda láti ṣàtúnṣe ojúewé JavaScript yìí.',
 'ns-specialprotected' => 'Àtúnṣe kò ṣe é ṣe sí àwọn ojúewé pàtàkì.',
 'titleprotected' => "[[User:$1|$1]] ti dínà sí dídá àkọlé yìí. Ìdí rẹ̀ ni pé ''$2''.",
 'filereadonlyerror' => 'Àtúnṣe kò ṣe é ṣe sí fáìlì "$1" nítorípé ibi-àkójọ fáìlì "$2" jẹ́ fún wíwò nìkàn.
@@ -477,8 +492,8 @@ Olùṣeàmójútó tó típa ṣe àlàyé yìí: "$3".',
 'createacct-yourpasswordagain' => 'Ẹ ṣe ìfidájú ọ̀rọ̀ìpamọ́',
 'createacct-yourpasswordagain-ph' => 'Ẹ kọ ọ̀rọ̀ìpamọ́ lẹ́ẹ̀kan síi',
 'remembermypassword' => "Ṣè'rántí ìwọlé mi lórí kọ̀mpútà yìí (fún ó pẹ́ jù {{PLURAL:$1|ọjọ́|ọjọ́}} $1)",
-'userlogin-remembermypassword' => 'Ṣè rántí mi',
-'userlogin-signwithsecure' => 'Ẹ wọlé pẹ̀lú ẹ̀rọ-ìpèsè tó ní àbò',
+'userlogin-remembermypassword' => 'Fi mí sí ìwọlé',
+'userlogin-signwithsecure' => 'Lo ìsopọ̀ ẹ̀rọ tó ní àbò',
 'securelogin-stick-https' => 'Ìwàní sísopọ̀ mọ́ HTTPS lẹ́yín ìwọlé',
 'yourdomainname' => 'Domain yín:',
 'password-change-forbidden' => 'Ẹ kò le ṣe ìyípadà ọ̀rọ̀ìpamọ́ lórí wiki yìí.',
@@ -499,6 +514,7 @@ Olùṣeàmójútó tó típa ṣe àlàyé yìí: "$3".',
 'gotaccount' => "Ṣé ẹ ti ní àpamọ́ tẹ́lẹ̀? '''$1'''.",
 'gotaccountlink' => "Ẹ w'ọlé",
 'userlogin-resetlink' => 'À bí ẹ gbàgbé ìwọlé yín?',
+'userlogin-resetpassword-link' => 'Ìtúntò ọ̀rọ̀ìpamọ́ yín',
 'helplogin-url' => 'Help:Ìwolé',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Ìrànlọ́wọ́ láti ìwọlé]]',
 'createacct-join' => 'Ẹ kọ ìsọ̀rọ̀nípa yín sísàlẹ̀',
@@ -509,6 +525,7 @@ Olùṣeàmójútó tó típa ṣe àlàyé yìí: "$3".',
 'createacct-realname' => 'Orúkọ yín gangan (kò pọndandan)',
 'createaccountreason' => 'Ìdíẹ̀:',
 'createacct-reason' => 'Ìdí',
+'createacct-captcha' => 'Àyẹ̀wò àbò',
 'createacct-imgcaptcha-ph' => 'Ẹ kọ ìkọ̀rọ̀ tí ẹ rí lókè',
 'createacct-benefit-heading' => 'Àwọn ènìyàn bíi yín ni wọ́n dá {{SITENAME}}.',
 'createacct-benefit-body1' => 'àtúnṣe',
@@ -615,11 +632,9 @@ Láti parí ìmúwọlẹ́, ẹ gbọ́dọ̀ ṣètò ọ̀rọ̀ìpamọ́ tu
 
 # Special:PasswordReset
 'passwordreset' => 'Ìtúntò ọ̀rọ̀ìpamọ́',
-'passwordreset-text' => 'Ẹ parí fọ́ọ̀mù yìí láti ṣe ìtúntò ọ̀rọ̀ìpamọ́ yín.',
 'passwordreset-legend' => 'Ìtúntò ọ̀rọ̀ìpamọ́',
 'passwordreset-disabled' => 'Ìdálẹ́kun ìtúntò ọ̀rọ̀ìpamọ́ lórí wiki yìí.',
 'passwordreset-emaildisabled' => 'Ìdálẹ́kun lílo email lórí wiki yìí.',
-'passwordreset-pretext' => '{{PLURAL:$1||Ẹ kọ ìkan nínú àwọn wẹ́wẹ́ dátà ìsàlẹ̀}}',
 'passwordreset-username' => 'Orúkọ oníṣe:',
 'passwordreset-domain' => 'Àbùgbé:',
 'passwordreset-capture' => 'Wo e-mail tí yíò jáde?',
@@ -1114,7 +1129,6 @@ Kò ṣe é bòmọ́lẹ̀.',
 'searchmenu-legend' => 'Àwọn àṣàyàn àwáàrí',
 'searchmenu-exists' => "'''Ojúewé tó ún jẹ́ \"[[:\$1]]\" wà lórí wiki yìí'''",
 'searchmenu-new' => "'''Dá ojúewé \"[[:\$1]]\" sí orí wiki yìí!'''",
-'searchhelp-url' => 'Help:Àwon àkóónú',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Ẹ lọ sí àwọn ojúewé tí wọ́n ní àsopọ̀ yìí]]',
 'searchprofile-articles' => 'Àwọn ojúewé Àkóónú',
 'searchprofile-project' => 'Àwọn ojúewé Ìrànwọ́ àti Iṣẹ́-ọwọ́',
index 3c4fec0..65adc3f 100644 (file)
@@ -1124,7 +1124,6 @@ $1",
 'searchmenu-legend' => '搵嘢選項',
 'searchmenu-exists' => "'''響呢個wiki度有一版叫做\"[[:\$1]]\"。'''",
 'searchmenu-new' => "'''響呢個wiki度開呢版\"[[:\$1]]\"!'''",
-'searchhelp-url' => 'Help:目錄',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|去睇以呢個做開頭嘅版]]',
 'searchprofile-articles' => '內容頁',
 'searchprofile-project' => '幫手同計劃頁',
index 5bb99cd..6193685 100644 (file)
@@ -809,7 +809,6 @@ Zurg da je bie deêze wiezigieng de heschiedenisdeurloôpendeid van de pagina be
 'viewprevnext' => 'Bekiek ($1 {{int:pipe-separator}} $2) ($3).',
 'searchmenu-exists' => "'''Er is 'n pagina genaemd \"[[:\$1]]\" op deêze wiki.'''",
 'searchmenu-new' => "'''De pagina \"[[:\$1]]\" anmaek'n op deêze wiki.'''",
-'searchhelp-url' => 'Help:Inoud',
 'searchprofile-articles' => "Inhoudelike pagina's",
 'searchprofile-project' => "Hilp- en projectpagina's",
 'searchprofile-images' => 'Multimedia',
index 1a43045..890a20c 100644 (file)
@@ -49,6 +49,7 @@
  * @author O
  * @author Onecountry
  * @author PhiLiP
+ * @author Qiyue2001
  * @author Shinjiman
  * @author Shirayuki
  * @author Shizhao
@@ -555,6 +556,7 @@ $messages = array(
 'create-this-page' => '创建本页',
 'delete' => '删除',
 'deletethispage' => '删除本页',
+'undeletethispage' => '撤消删除此页',
 'undelete_short' => '恢复$1个被删除的编辑',
 'viewdeleted_short' => '查看$1个被删除的编辑',
 'protect' => '保护',
@@ -612,7 +614,7 @@ $1',
 'helppage' => 'Help:目录',
 'mainpage' => '首页',
 'mainpage-description' => '首页',
-'policy-url' => 'Project:æ\94¿ç­\96',
+'policy-url' => 'Project:æ\96¹é\92\88ä¸\8eæ\8c\87å¼\95',
 'portal' => '社区专页',
 'portal-url' => 'Project:社区专页',
 'privacy' => '隐私权政策',
@@ -752,6 +754,8 @@ $2',
 'namespaceprotected' => "您没有权限编辑'''$1'''名字空间内的页面。",
 'customcssprotected' => '您没有权限编辑此CSS页面,因为它包含另一位用户的个人设置。',
 'customjsprotected' => '您没有权限编辑此JavaScript页面,因为它包含另一位用户的个人设置。',
+'mycustomcssprotected' => '您没有权限编辑这个 CSS 页面。',
+'mycustomjsprotected' => '您没有权限编辑这个 JavaScript 页面。',
 'ns-specialprotected' => '您不能编辑特殊页面。',
 'titleprotected' => '此标题已被[[User:$1|$1]]保护以防止创建。理由是“$2”。',
 'filereadonlyerror' => '因为媒体库$2处于只读模式而无法修改文件$1。
@@ -871,7 +875,7 @@ $2',
 'cannotchangeemail' => '本wiki不允许对账户的电子邮件地址进行更改。',
 'emaildisabled' => '此站点不能发送电子邮件。',
 'accountcreated' => '已建立账户',
-'accountcreatedtext' => '$1的账户已经被创建。',
+'accountcreatedtext' => '[[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|talk]])的账户已创建。',
 'createaccount-title' => '在{{SITENAME}}中创建新账户',
 'createaccount-text' => '有人在{{SITENAME}}中利用您的邮箱创建了一个名为 "$2" 的新帐户($4),密码是 "$3" 。您应该立即登录并更改密码。
 
@@ -1225,9 +1229,9 @@ $3的理由是''$2''",
 'revdelete-show-file-submit' => '是',
 'revdelete-selected' => "'''选取'''[[:$1]]'''的$2次修订:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|选取的日志项目}}:'''",
-'revdelete-text' => "'''删除的修订仍将显示在页面历史中, 但它们的文本内容已不能被公众访问。'''
-在{{SITENAME}}的其他管理员将仍能访问隐藏的内容并通过与此相同的界面恢复删除,除非站点工作者进行了一些附加的限制。",
-'revdelete-confirm' => '请确认您肯定去做的话,您就要明白到后果,以及这个程序符合[[{{MediaWiki:Policy-url}}|政策]]。',
+'revdelete-text' => "'''删除的版本仍将显示在页面历史及日志中,但公众已不能访问其文本内容。'''
+在{{SITENAME}}的其他管理员将仍能访问隐藏的内容并通过该界面恢复删除的版本,除非进行了额外限制。",
+'revdelete-confirm' => '请确认该操作,明白其后果,并确保该操作符合[[{{MediaWiki:Policy-url}}|方针]]。',
 'revdelete-suppress-text' => "阻止应该'''只'''在以下情形使用:
 *潜在的诽谤信息
 *不合适的个人信息
@@ -1245,7 +1249,7 @@ $3的理由是''$2''",
 'revdelete-suppress' => '同时阻止管理员与其他用户查看数据',
 'revdelete-unsuppress' => '在已恢复的修订中移除限制',
 'revdelete-log' => '原因:',
-'revdelete-submit' => '应用于选中的{{PLURAL:$1|修订}}',
+'revdelete-submit' => '应用于选中的{{PLURAL:$1|版本}}',
 'revdelete-success' => "'''修订的可见性已经成功更新。'''",
 'revdelete-failure' => "'''修订的可见性无法更新:'''
 $1",
@@ -1342,7 +1346,6 @@ $1",
 'searchmenu-legend' => '搜索选项',
 'searchmenu-exists' => "'''本wiki上有名为“[[:$1]]”的页面。'''",
 'searchmenu-new' => "'''在本wiki上新建名为“[[:$1]]”的页面!'''",
-'searchhelp-url' => 'Help:目录',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|去浏览以此为首的页面]]',
 'searchprofile-articles' => '内容页面',
 'searchprofile-project' => '帮助和项目页面',
@@ -1593,6 +1596,8 @@ $1",
 'right-editusercssjs' => '编辑其他用户的CSS和JavaScript文件',
 'right-editusercss' => '编辑其他用户的CSS文件',
 'right-edituserjs' => '编辑其他用户的JavaScript文件',
+'right-editmyusercss' => '编辑您自己的用户 CSS 文件',
+'right-editmyuserjs' => '编辑您自己的用户 JavaScript 文件',
 'right-rollback' => '快速回退最后编辑特定页面的用户的编辑',
 'right-markbotedits' => '标记回退编辑为机器人编辑',
 'right-noratelimit' => '不受速率限制影响',
@@ -2123,7 +2128,7 @@ $1',
 'prefixindex-namespace' => '所有有前缀的页面($1名字空间)',
 'shortpages' => '短页面',
 'longpages' => '长页面',
-'deadendpages' => 'æ\97 链页面',
+'deadendpages' => 'æ\96­链页面',
 'deadendpagestext' => '以下页面没有链接到{{SITENAME}}中的其它页面。',
 'protectedpages' => '受保护页面',
 'protectedpages-indef' => '仅无限期保护',
@@ -2156,7 +2161,7 @@ $1',
 'querypage-disabled' => '本特殊页面因性能问题而停用。',
 
 # Book sources
-'booksources' => '图书来源',
+'booksources' => '网络书源',
 'booksources-search-legend' => '搜索图书来源',
 'booksources-isbn' => 'ISBN:',
 'booksources-go' => '提交',
@@ -2547,7 +2552,7 @@ $1',
 'mycontris' => '贡献',
 'contribsub2' => '$1的贡献($2)',
 'nocontribs' => '没有找到符合特征的更改。',
-'uctop' => '(最后更改)',
+'uctop' => '(当前)',
 'month' => '截止月份:',
 'year' => '截止年份:',
 
index 6a3f61d..9e1e672 100644 (file)
@@ -36,6 +36,7 @@
  * @author Pbdragonwang
  * @author PhiLiP
  * @author Philip
+ * @author Radish10cm
  * @author Shinjiman
  * @author Shirayuki
  * @author Shizhao
@@ -460,6 +461,7 @@ $messages = array(
 'create-this-page' => '建立本頁',
 'delete' => '刪除',
 'deletethispage' => '刪除本頁',
+'undeletethispage' => '取消刪除此頁',
 'undelete_short' => '反刪除$1項修訂',
 'viewdeleted_short' => '查看$1項已刪除的修訂',
 'protect' => '保護',
@@ -662,6 +664,8 @@ $2',
 'namespaceprotected' => "您並沒有權限編輯'''$1'''名字空間的頁面。",
 'customcssprotected' => '你並無權限編輯此CSS頁面,因為它包含了其他用戶的個人設置。',
 'customjsprotected' => '你並無權限去編輯此JavaScript頁面,因為他包含了另一位用戶的個人設定。',
+'mycustomcssprotected' => '你沒有編輯這CSS頁面的權限。',
+'mycustomjsprotected' => '你沒有編輯這JavaScript頁面的權限。',
 'ns-specialprotected' => '特殊頁面是不可以編輯的。',
 'titleprotected' => "這個標題已經被[[User:$1|$1]]保護以防止建立。理由是''$2''。",
 'filereadonlyerror' => '無法修改文件「$1」因為文件庫「$2」處於唯讀模式。 !
@@ -787,7 +791,7 @@ $2',
 'cannotchangeemail' => '本wiki不允許對賬戶的電郵地址進行更改。',
 'emaildisabled' => '此網站不能發送電子郵件。',
 'accountcreated' => '已建立賬戶',
-'accountcreatedtext' => '$1的賬戶已經被建立。',
+'accountcreatedtext' => '[[{{ns:User}}:$1|$1]]([[{{ns:User talk}}:$1|討論]])的賬戶已經被建立。',
 'createaccount-title' => '在{{SITENAME}}中建立新賬戶',
 'createaccount-text' => '有人在{{SITENAME}}中利用您的電郵創建了一個名為 "$2" 的新賬戶($4),密碼是 "$3" 。您應該立即登入並更改密碼。
 
@@ -1291,7 +1295,6 @@ $1",
 'searchmenu-legend' => '搜尋選項',
 'searchmenu-exists' => "'''在這個 wiki 上已有一頁面叫做「[[:$1]]」。'''",
 'searchmenu-new' => "'''在這個 wiki 上建立這個頁面「[[:$1]]」!'''",
-'searchhelp-url' => 'Help:目錄',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|去瀏覽以此為首的頁面]]',
 'searchprofile-articles' => '內容頁面',
 'searchprofile-project' => '幫助和計劃頁面',
@@ -1546,6 +1549,8 @@ $1",
 'right-editusercssjs' => '編輯其他用戶的CSS和JavaScript檔案',
 'right-editusercss' => '編輯其他用戶的CSS檔案',
 'right-edituserjs' => '編輯其他用戶的JavaScript檔案',
+'right-editmyusercss' => '編輯你自己的用戶CSS檔',
+'right-editmyuserjs' => '編輯你自己的用戶JavaScript檔',
 'right-rollback' => '快速復原上位用戶對某一頁面之編輯',
 'right-markbotedits' => '標示復原編輯作機械人編輯',
 'right-noratelimit' => '沒有使用頻率限制',
@@ -1612,8 +1617,8 @@ $1",
 'nchanges' => '$1次更改',
 'recentchanges' => '最近更改',
 'recentchanges-legend' => '最近更改選項',
-'recentchanges-summary' => '跟蹤這個wiki上的最新更改。',
-'recentchanges-feed-description' => '追蹤此è¨\82é\96±å\9c¨ wiki 上的最近更改。',
+'recentchanges-summary' => '跟蹤此維基上的最近更改。',
+'recentchanges-feed-description' => 'è¨\82é\96±æ­¤ç¶­å\9fº上的最近更改。',
 'recentchanges-label-newpage' => '這次編輯建立了一個新頁面',
 'recentchanges-label-minor' => '這是一個小編輯',
 'recentchanges-label-bot' => '這次編輯是由機器人進行',
@@ -2961,7 +2966,7 @@ $2',
 'tooltip-n-mainpage-description' => '訪問首頁',
 'tooltip-n-portal' => '關於本計劃、{{GENDER:|你|妳|你}}可以做什麼、應該如何做',
 'tooltip-n-currentevents' => '提供目前新聞事件的背景資料',
-'tooltip-n-recentchanges' => '列出該網站中的最近修改',
+'tooltip-n-recentchanges' => '列出此維基中的最近修改',
 'tooltip-n-randompage' => '隨機載入一個頁面',
 'tooltip-n-help' => '尋求幫助',
 'tooltip-t-whatlinkshere' => '列出所有與本頁相連的頁面',
index b4df328..a2bbec5 100644 (file)
@@ -426,7 +426,7 @@ abstract class Maintenance {
                $this->addOption( 'server', "The protocol and server name to use in URLs, e.g. " .
                                "http://en.wikipedia.org. This is sometimes necessary because " .
                                "server name detection may fail in command line scripts.", false, true );
-               $this->addOption( 'profiler', 'Set to "text" or "trace" show profiling output', false, true );
+               $this->addOption( 'profiler', 'Set to "text" or "trace" to show profiling output', false, true );
 
                # Save generic options to display them separately in help
                $this->mGenericParameters = $this->mParams;
index 17feaf9..4dbae57 100644 (file)
@@ -96,7 +96,6 @@ $wgIgnoredMessages = array(
        'talkpageheader',
        'anonnotice',
        'autoblock_whitelist',
-       'searchmenu-help',
        'searchmenu-new-nocreate',
        'googlesearch',
        'opensearch-desc',
index ee52a3f..c226ce8 100644 (file)
@@ -954,9 +954,7 @@ $wgMessageStructure = array(
                'searchmenu-exists',
                'searchmenu-new',
                'searchmenu-new-nocreate',
-               'searchhelp-url',
                'searchmenu-prefix',
-               'searchmenu-help',
                'searchprofile-articles',
                'searchprofile-project',
                'searchprofile-images',
index 32b6569..86658c5 100644 (file)
@@ -68,28 +68,54 @@ class PurgeDeletedFiles extends Maintenance {
                $res = $db->select( 'logging', array( 'log_title', 'log_timestamp' ), $conds, __METHOD__ );
                foreach ( $res as $row ) {
                        $file = $repo->newFile( Title::makeTitle( NS_FILE, $row->log_title ) );
-
+                       // If there is an orphaned storage file still there...delete it
+                       if ( !$file->exists() && $repo->fileExists( $file->getPath() ) ) {
+                               $dpath = $this->getDeletedPath( $repo, $file );
+                               if ( $repo->fileExists( $dpath ) ) { // sanity check to avoid data loss
+                                       $repo->getBackend()->delete( array( 'src' => $file->getPath() ) );
+                                       $this->output( "Deleted orphan file: {$file->getPath()}.\n" );
+                               } else {
+                                       $this->error( "File was not deleted: {$file->getPath()}.\n" );
+                               }
+                       }
                        // Purge current version and any versions in oldimage table
                        $file->purgeCache();
                        $file->purgeHistory();
                        // Purge items from fileachive table (rows are likely here)
-                       $this->purgeFromArchiveTable( $file );
+                       $this->purgeFromArchiveTable( $repo, $file );
 
                        $this->output( "Purged file {$row->log_title}; deleted on {$row->log_timestamp}.\n" );
                }
        }
 
-       protected function purgeFromArchiveTable( LocalFile $file ) {
-               $db = $file->getRepo()->getSlaveDB();
+       protected function purgeFromArchiveTable( LocalRepo $repo, LocalFile $file ) {
+               $db = $repo->getSlaveDB();
                $res = $db->select( 'filearchive',
                        array( 'fa_archive_name' ),
                        array( 'fa_name' => $file->getName() ),
                        __METHOD__
                );
                foreach ( $res as $row ) {
+                       $ofile = $repo->newFromArchiveName( $file->getTitle(), $row->fa_archive_name );
+                       // If there is an orphaned storage file still there...delete it
+                       if ( !$file->exists() && $repo->fileExists( $ofile->getPath() ) ) {
+                               $dpath = $this->getDeletedPath( $repo, $ofile );
+                               if ( $repo->fileExists( $dpath ) ) { // sanity check to avoid data loss
+                                       $repo->getBackend()->delete( array( 'src' => $ofile->getPath() ) );
+                                       $this->output( "Deleted orphan file: {$ofile->getPath()}.\n" );
+                               } else {
+                                       $this->error( "File was not deleted: {$ofile->getPath()}.\n" );
+                               }
+                       }
                        $file->purgeOldThumbnails( $row->fa_archive_name );
                }
        }
+
+       protected function getDeletedPath( LocalRepo $repo, LocalFile $file ) {
+               $hash = $repo->getFileSha1( $file->getPath() );
+               $key = "{$hash}.{$file->getExtension()}";
+               return $repo->getDeletedHashPath( $key ) . $key;
+       }
 }
 
 $maintClass = "PurgeDeletedFiles";
index da2c6df..7fc6bb8 100644 (file)
@@ -760,6 +760,9 @@ CREATE TABLE /*_*/ipblocks (
 
   -- Start and end of an address range, in hexadecimal
   -- Size chosen to allow IPv6
+  -- FIXME: these fields were originally blank for single-IP blocks,
+  -- but now they are populated. No migration was ever done. They 
+  -- should be fixed to be blank again for such blocks (bug 49504).
   ipb_range_start tinyblob NOT NULL,
   ipb_range_end tinyblob NOT NULL,
 
index 078a38e..347884a 100644 (file)
@@ -928,6 +928,7 @@ return array(
        'mediawiki.special.preferences' => array(
                'scripts' => 'resources/mediawiki.special/mediawiki.special.preferences.js',
                'styles' => 'resources/mediawiki.special/mediawiki.special.preferences.css',
+               'position' => 'top',
        ),
        'mediawiki.special.recentchanges' => array(
                'scripts' => 'resources/mediawiki.special/mediawiki.special.recentchanges.js',
index e1a07b6..2d46bde 100644 (file)
@@ -18,6 +18,8 @@
        var lpx = 'jquery.makeCollapsible> ';
 
        /**
+        * Handler for a click on a collapsible toggler.
+        *
         * @param {jQuery} $collapsible
         * @param {string} action The action this function will take ('expand' or 'collapse').
         * @param {jQuery|null} [optional] $defaultToggle
                toggleElement( $collapsible, wasCollapsed ? 'expand' : 'collapse', $toggle, options );
        }
 
-       /**
-        * Toggles collapsible and togglelink class and updates text label.
-        *
-        * @param {jQuery} $that
-        * @param {jQuery.Event} e
-        * @param {Object|undefined} options
-        */
-       function toggleLinkDefault( $that, e, options ) {
-               var $collapsible = $that.closest( '.mw-collapsible' );
-               options = $.extend( { toggleClasses: true }, options );
-               togglingHandler( $that, $collapsible, e, options );
-       }
-
-       /**
-        * Toggles collapsible and togglelink class.
-        *
-        * @param {jQuery} $that
-        * @param {jQuery.Event} e
-        * @param {Object|undefined} options
-        */
-       function toggleLinkPremade( $that, e, options ) {
-               var $collapsible = $that.eq( 0 ).closest( '.mw-collapsible' );
-               options = $.extend( { toggleClasses: true, linksPassthru: true }, options );
-               togglingHandler( $that, $collapsible, e, options );
-       }
-
-       /**
-        * Toggles customcollapsible.
-        *
-        * @param {jQuery} $that
-        * @param {jQuery.Event} e
-        * @param {Object|undefined} options
-        * @param {jQuery} $collapsible
-        */
-       function toggleLinkCustom( $that, e, options, $collapsible ) {
-               togglingHandler( $that, $collapsible, e, options );
-       }
-
        /**
         * Make any element collapsible.
         *
         *   div.mw-collapsible-content. May only be used with custom togglers.
         */
        $.fn.makeCollapsible = function ( options ) {
-               return this.each(function () {
-                       var $collapsible, collapsetext, expandtext, $toggle, $toggleLink, $firstItem, collapsibleId,
-                               $customTogglers, firstval;
+               if ( options === undefined ) {
+                       options = {};
+               }
 
-                       if ( options === undefined ) {
-                               options = {};
-                       }
+               return this.each( function () {
+                       var $collapsible, collapseText, expandText, $toggle, clickHandler, $defaultToggleLink,
+                               premadeToggleHandler, $toggleLink, $firstItem, collapsibleId, $customTogglers, firstval;
 
                        // Ensure class "mw-collapsible" is present in case .makeCollapsible()
                        // is called on element(s) that don't have it yet.
-                       $collapsible = $(this).addClass( 'mw-collapsible' );
+                       $collapsible = $( this ).addClass( 'mw-collapsible' );
 
                        // Return if it has been enabled already.
                        if ( $collapsible.data( 'mw-made-collapsible' ) ) {
                        }
 
                        // Use custom text or default?
-                       collapsetext = options.collapseText || $collapsible.attr( 'data-collapsetext' ) || mw.msg( 'collapsible-collapse' );
-                       expandtext = options.expandText || $collapsible.attr( 'data-expandtext' ) || mw.msg( 'collapsible-expand' );
-
-                       // Create toggle link with a space around the brackets (&nbsp;[text]&nbsp;)
-                       $toggleLink =
+                       collapseText = options.collapseText || $collapsible.attr( 'data-collapsetext' ) || mw.msg( 'collapsible-collapse' );
+                       expandText = options.expandText || $collapsible.attr( 'data-expandtext' ) || mw.msg( 'collapsible-expand' );
+
+                       // Default click handler and toggle link to use when none is present
+                       clickHandler = function ( e, opts ) {
+                               var defaultOpts = {
+                                       toggleClasses: true,
+                                       toggleText: { collapseText: collapseText, expandText: expandText }
+                               };
+                               opts = $.extend( defaultOpts, options, opts );
+                               togglingHandler( $( this ), $collapsible, e, opts );
+                       };
+                       $defaultToggleLink =
                                $( '<a href="#"></a>' )
-                                       .text( collapsetext )
+                                       .text( collapseText )
                                        .wrap( '<span class="mw-collapsible-toggle"></span>' )
                                                .parent()
                                                .prepend( '&nbsp;[' )
                                                .append( ']&nbsp;' )
-                                               .on( 'click.mw-collapsible', function ( e, opts ) {
-                                                       opts = $.extend( { toggleText: { collapseText: collapsetext, expandText: expandtext } }, options, opts );
-                                                       toggleLinkDefault( $(this), e, opts );
-                                               } );
+                                               .on( 'click.mw-collapsible', clickHandler );
+
+                       // Default handler for clicking on premade toggles
+                       premadeToggleHandler = function ( e, opts ) {
+                               var defaultOpts = { toggleClasses: true, linksPassthru: true };
+                               opts = $.extend( defaultOpts, options, opts );
+                               togglingHandler( $( this ), $collapsible, e, opts );
+                       };
 
                        // Check if this element has a custom position for the toggle link
                        // (ie. outside the container or deeper inside the tree)
                                }
                        }
 
-                       // Bind the custom togglers
+                       // Bind the togglers
                        if ( $customTogglers && $customTogglers.length ) {
-                               $customTogglers.on( 'click.mw-collapsible', function ( e, opts ) {
-                                       opts = $.extend( {}, options, opts );
-                                       toggleLinkCustom( $(this), e, opts, $collapsible );
-                               } );
-
-                               // Initial state
-                               if ( options.collapsed || $collapsible.hasClass( 'mw-collapsed' ) ) {
-                                       // Remove here so that the toggler goes in the right direction,
-                                       // It re-adds the class.
-                                       $collapsible.removeClass( 'mw-collapsed' );
-                                       toggleLinkCustom( $customTogglers, null, $.extend( { instantHide: true }, options ), $collapsible );
-                               }
+                               clickHandler = function ( e, opts ) {
+                                       var defaultOpts = {};
+                                       opts = $.extend( defaultOpts, options, opts );
+                                       togglingHandler( $( this ), $collapsible, e, opts );
+                               };
+
+                               $toggleLink = $customTogglers;
+                               $toggleLink.on( 'click.mw-collapsible', clickHandler );
 
-                       // If this is not a custom case, do the default:
-                       // Wrap the contents and add the toggle link
                        } else {
-                               // Elements are treated differently
+                               // If this is not a custom case, do the default: wrap the
+                               // contents and add the toggle link. Different elements are
+                               // treated differently.
                                if ( $collapsible.is( 'table' ) ) {
                                        // The toggle-link will be in one the the cells (td or th) of the first row
                                        $firstItem = $collapsible.find( 'tr:first th, tr:first td' );
 
                                        // If theres no toggle link, add it to the last cell
                                        if ( !$toggle.length ) {
-                                               $firstItem.eq(-1).prepend( $toggleLink );
+                                               $toggleLink = $defaultToggleLink.prependTo( $firstItem.eq( -1 ) );
                                        } else {
-                                               $toggleLink = $toggle.off( 'click.mw-collapsible' ).on( 'click.mw-collapsible', function ( e, opts ) {
-                                                       opts = $.extend( {}, options, opts );
-                                                       toggleLinkPremade( $toggle, e, opts );
-                                               } );
+                                               clickHandler = premadeToggleHandler;
+                                               $toggleLink = $toggle.on( 'click.mw-collapsible', clickHandler );
                                        }
 
                                } else if ( $collapsible.is( 'ul' ) || $collapsible.is( 'ol' ) ) {
                                        if ( !$toggle.length ) {
                                                // Make sure the numeral order doesn't get messed up, force the first (soon to be second) item
                                                // to be "1". Except if the value-attribute is already used.
-                                               // If no value was set WebKit returns "", Mozilla returns '-1', others return null or undefined.
+                                               // If no value was set WebKit returns "", Mozilla returns '-1', others return 0, null or undefined.
                                                firstval = $firstItem.attr( 'value' );
                                                if ( firstval === undefined || !firstval || firstval === '-1' || firstval === -1 ) {
                                                        $firstItem.attr( 'value', '1' );
                                                }
-                                               $collapsible.prepend( $toggleLink.wrap( '<li class="mw-collapsible-toggle-li"></li>' ).parent() );
+                                               $toggleLink = $defaultToggleLink;
+                                               $toggleLink.wrap( '<li class="mw-collapsible-toggle-li"></li>' ).parent().prependTo( $collapsible );
                                        } else {
-                                               $toggleLink = $toggle.off( 'click.mw-collapsible' ).on( 'click.mw-collapsible', function ( e, opts ) {
-                                                       opts = $.extend( {}, options, opts );
-                                                       toggleLinkPremade( $toggle, e, opts );
-                                               } );
+                                               clickHandler = premadeToggleHandler;
+                                               $toggleLink = $toggle.on( 'click.mw-collapsible', clickHandler );
                                        }
 
                                } else { // <div>, <p> etc.
 
                                        // If theres no toggle link, add it
                                        if ( !$toggle.length ) {
-                                               $collapsible.prepend( $toggleLink );
+                                               $toggleLink = $defaultToggleLink.prependTo( $collapsible );
                                        } else {
-                                               $toggleLink = $toggle.off( 'click.mw-collapsible' ).on( 'click.mw-collapsible', function ( e, opts ) {
-                                                       opts = $.extend( {}, options, opts );
-                                                       toggleLinkPremade( $toggle, e, opts );
-                                               } );
+                                               clickHandler = premadeToggleHandler;
+                                               $toggleLink = $toggle.on( 'click.mw-collapsible', clickHandler );
                                        }
                                }
                        }
 
-                       // Initial state (only for those that are not custom,
-                       // because the initial state of those has been taken care of already).
-                       if (
-                               ( options.collapsed || $collapsible.hasClass( 'mw-collapsed' ) ) &&
-                               ( !$customTogglers || !$customTogglers.length )
-                       ) {
+                       // Initial state
+                       if ( options.collapsed || $collapsible.hasClass( 'mw-collapsed' ) ) {
+                               // Remove here so that the toggler goes in the right direction (the class is re-added)
                                $collapsible.removeClass( 'mw-collapsed' );
-                               // The collapsible element could have multiple togglers
-                               // To toggle the initial state only click one of them (ie. the first one, eq(0) )
-                               // Else it would go like: hide,show,hide,show for each toggle link.
-                               // This is just like it would be in reality (only one toggle is clicked at a time).
-                               $toggleLink.eq( 0 ).trigger( 'click', [ { instantHide: true } ] );
+                               // One toggler can hook to multiple elements, and one element can have
+                               // multiple togglers. This is the sanest way to handle that.
+                               clickHandler.call( $toggleLink.get( 0 ), null, { instantHide: true } );
                        }
                } );
        };
index 0e85fd9..93befe3 100644 (file)
@@ -5,10 +5,10 @@
  */
 jQuery( function ( $ ) {
        // Select all h1-h6 elements that contain editsection links
-       // Don't use the ":has:(.editsection a)" selector because it performs very bad.
+       // Don't use the ":has:(.mw-editsection a)" selector because it performs very bad.
        // http://jsperf.com/jq-1-7-2-vs-jq-1-8-1-performance-of-mw-has/2
        $( document ).on( 'contextmenu', 'h1, h2, h3, h4, h5, h6', function ( e ) {
-               var $edit = $( this ).find( '.mw-editsection a, .editsection a' );
+               var $edit = $( this ).find( '.mw-editsection a' );
                if ( !$edit.length ) {
                        return;
                }
index ac6f2a1..f93cac1 100644 (file)
                var $matrixTooltips = $( '.mw-htmlform-matrix .mw-htmlform-tooltip' );
                if ( $matrixTooltips.length ) {
                        mw.loader.using( 'jquery.tipsy', function () {
-                               $matrixTooltips.tipsy();
+                               $matrixTooltips.tipsy( { gravity: 's' } );
                        } );
                }
        } );
index 349638a..9dbc4cb 100644 (file)
@@ -135,10 +135,6 @@ h1 {
        line-height: 21pt;
 }
 
-h1 .editsection {
-       font-size: 55.6%;
-}
-
 h1#firstHeading {
        padding-bottom: 0;
        margin-bottom: 0;
index a1e809d..9feb973 100644 (file)
@@ -86,15 +86,9 @@ h6 {
 h1 {
        font-size: 188%;
 }
-h1 .editsection {
-       font-size: 53%;
-}
 h2 {
        font-size: 150%;
 }
-h2 .editsection {
-       font-size: 67%;
-}
 h3,
 h4,
 h5,
@@ -105,29 +99,15 @@ h6 {
 h3 {
        font-size: 132%;
 }
-h3 .editsection {
-       font-size: 76%;
-       font-weight: normal;
-}
 h4 {
        font-size: 116%;
 }
-h4 .editsection {
-       font-size: 86%;
-       font-weight: normal; }
 h5 {
-       font-size: 105%;
-}
-h5 .editsection {
-       font-weight: normal;
+       font-size: 108%;
 }
 h6 {
        font-size: 100%;
 }
-h6 .editsection {
-       font-size: 125%;
-       font-weight: normal;
-}
 
 /* Some space under the headers in the content area */
 h1,
index 9ea89d9..4bb99ae 100644 (file)
@@ -112,7 +112,6 @@ div.top,
 div#column-one,
 #colophon,
 .mw-editsection,
-.editsection,
 .toctoggle,
 .tochidden,
 div#f-poweredbyico,
index fa86aee..2a9c25f 100644 (file)
@@ -20,16 +20,6 @@ h1, h2, h3, h4, h5, h6 {
 
 /* Now the custom parts */
 
-/* Make edit sections (which are inside h# tags) normal-sized */
-.editsection {
-       font-weight: normal;
-}
-h1 .editsection { font-size: 50%; }
-h2 .editsection { font-size: 66.7%; }
-h3 .editsection { font-size: 85.5%; }
-h5 .editsection { font-size: 120%; }
-h6 .editsection { font-size: 133%; }
-
 #footer { clear: both }
 /* images */
 /* @noflip */
index d946ce2..4c68401 100644 (file)
@@ -127,21 +127,6 @@ span.texhtml {
        cursor: pointer;
 }
 
-/* Edit section links */
-/* Correct directionality when page dir is different from site/user dir */
-/* @noflip */
-.mw-content-ltr .editsection,
-.mw-content-rtl .mw-content-ltr .editsection {
-       float: right;
-       margin-left: 5px;
-}
-/* @noflip */
-.mw-content-rtl .editsection,
-.mw-content-ltr .mw-content-rtl .editsection {
-       float: left;
-       margin-right: 5px;
-}
-
 /**
  * File description page
  */
@@ -1121,7 +1106,8 @@ table.floatleft {
        z-index: 99;
 }
 
-.mw-editsection, .editsection, .toctoggle {
+.mw-editsection,
+.toctoggle {
        -moz-user-select: none;
        -webkit-user-select: none;
        -ms-user-select: none;
index f5650b5..dc236ea 100644 (file)
@@ -33,7 +33,6 @@ a.stub {
 #footer,
 #siteNotice,
 .mw-editsection,
-.editsection,
 .toctoggle {
        display: none;
 }
index 7e7758a..f222028 100644 (file)
@@ -340,10 +340,6 @@ a.new:visited {
        color: #a55858;
 }
 
-span.editsection {
-       font-size: small;
-}
-
 h1, h2 {
        border-bottom: solid 1px #003366;
 }
index 6e0f8b3..e97bbdb 100644 (file)
@@ -4,7 +4,6 @@
 #jump-to-nav,
 #footer,
 .mw-editsection,
-span.editsection,
 .noprint {
        display: none;
 }
index eb4a4dd..fd839bd 100644 (file)
@@ -688,10 +688,6 @@ div#content {
        font-size: 0.8em;
 }
 
-.editsection {
-       float: right;
-}
-
 ul {
        list-style-type: disc;
        /* @embed */
diff --git a/tests/RunSeleniumTests.php b/tests/RunSeleniumTests.php
deleted file mode 100644 (file)
index c25dff7..0000000
+++ /dev/null
@@ -1,258 +0,0 @@
-#!/usr/bin/env php
-<?php
-/**
- * @file
- * @ingroup Maintenance
- * @copyright Copyright © Wikimedia Deuschland, 2009
- * @author Hallo Welt! Medienwerkstatt GmbH
- * @author Markus Glaser, Dan Nessett, Priyanka Dhanda
- * initial idea by Daniel Kinzler
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-if ( PHP_SAPI != 'cli' ) {
-       die( "Run me from the command line please.\n" );
-}
-
-define( 'SELENIUMTEST', true );
-
-require __DIR__ . '/../maintenance/Maintenance.php';
-
-require_once 'PHPUnit/Runner/Version.php';
-if ( version_compare( PHPUnit_Runner_Version::id(), '3.5.0', '>=' ) ) {
-       # PHPUnit 3.5.0 introduced a nice autoloader based on class name
-       require_once 'PHPUnit/Autoload.php';
-} else {
-       # Keep the old pre PHPUnit 3.5.0 behavior for compatibility
-       require_once 'PHPUnit/TextUI/Command.php';
-}
-
-require_once 'PHPUnit/Extensions/SeleniumTestCase.php';
-include_once 'PHPUnit/Util/Log/JUnit.php';
-
-require_once __DIR__ . "/selenium/SeleniumServerManager.php";
-
-class SeleniumTester extends Maintenance {
-       protected $selenium;
-       protected $serverManager;
-       protected $seleniumServerExecPath;
-
-       public function __construct() {
-               parent::__construct();
-               $this->mDescription = "Selenium Test Runner. For documentation, visit http://www.mediawiki.org/wiki/SeleniumFramework";
-               $this->addOption( 'port', 'Port used by selenium server. Default: 4444', false, true );
-               $this->addOption( 'host', 'Host selenium server. Default: $wgServer . $wgScriptPath', false, true );
-               $this->addOption( 'testBrowser', 'The browser used during testing. Default: firefox', false, true );
-               $this->addOption( 'wikiUrl', 'The Mediawiki installation to point to. Default: http://localhost', false, true );
-               $this->addOption( 'username', 'The login username for sunning tests. Default: empty', false, true );
-               $this->addOption( 'userPassword', 'The login password for running tests. Default: empty', false, true );
-               $this->addOption( 'seleniumConfig', 'Location of the selenium config file. Default: empty', false, true );
-               $this->addOption( 'list-browsers', 'List the available browsers.' );
-               $this->addOption( 'verbose', 'Be noisier.' );
-               $this->addOption( 'startserver', 'Start Selenium Server (on localhost) before the run.' );
-               $this->addOption( 'stopserver', 'Stop Selenium Server (on localhost) after the run.' );
-               $this->addOption( 'jUnitLogFile', 'Log results in a specified JUnit log file. Default: empty', false, true );
-               $this->addOption( 'runAgainstGrid', 'The test will be run against a Selenium Grid. Default: false.', false, true );
-               $this->deleteOption( 'dbpass' );
-               $this->deleteOption( 'dbuser' );
-               $this->deleteOption( 'globals' );
-               $this->deleteOption( 'wiki' );
-       }
-
-       public function listBrowsers() {
-               $desc = "Available browsers:\n";
-
-               foreach ( $this->selenium->getAvailableBrowsers() as $k => $v ) {
-                       $desc .= "  $k => $v\n";
-               }
-
-               echo $desc;
-       }
-
-       protected function startServer() {
-               if ( $this->seleniumServerExecPath == '' ) {
-                       die( "The selenium server exec path is not set in " .
-                               "selenium_settings.ini. Cannot start server \n" .
-                               "as requested - terminating RunSeleniumTests\n" );
-               }
-               $this->serverManager = new SeleniumServerManager( 'true',
-                       $this->selenium->getPort(),
-                       $this->seleniumServerExecPath );
-               switch ( $this->serverManager->start() ) {
-                       case 'started':
-                               break;
-                       case 'failed':
-                               die( "Unable to start the Selenium Server - " .
-                                       "terminating RunSeleniumTests\n" );
-                       case 'running':
-                               echo "Warning: The Selenium Server is " .
-                                       "already running\n";
-                               break;
-               }
-
-               return;
-       }
-
-       protected function stopServer() {
-               if ( !isset( $this->serverManager ) ) {
-                       echo "Warning: Request to stop Selenium Server, but it was " .
-                               "not stared by RunSeleniumTests\n" .
-                               "RunSeleniumTests cannot stop a Selenium Server it " .
-                               "did not start\n";
-               } else {
-                       switch ( $this->serverManager->stop() ) {
-                               case 'stopped':
-                                       break;
-                               case 'failed':
-                                       echo "unable to stop the Selenium Server\n";
-                       }
-               }
-               return;
-       }
-
-       protected function runTests( $seleniumTestSuites = array() ) {
-               $result = new PHPUnit_Framework_TestResult;
-               $result->addListener( new SeleniumTestListener( $this->selenium->getLogger() ) );
-               if ( $this->selenium->getJUnitLogFile() ) {
-                       $jUnitListener = new PHPUnit_Util_Log_JUnit( $this->selenium->getJUnitLogFile(), true );
-                       $result->addListener( $jUnitListener );
-               }
-
-               foreach ( $seleniumTestSuites as $testSuiteName => $testSuiteFile ) {
-                       require $testSuiteFile;
-                       $suite = new $testSuiteName();
-                       $suite->setName( $testSuiteName );
-                       $suite->addTests();
-
-                       try {
-                               $suite->run( $result );
-                       } catch ( Testing_Selenium_Exception $e ) {
-                               $suite->tearDown();
-                               throw new MWException( $e->getMessage() );
-                       }
-               }
-
-               if ( $this->selenium->getJUnitLogFile() ) {
-                       $jUnitListener->flush();
-               }
-       }
-
-       public function execute() {
-               global $wgServer, $wgScriptPath, $wgHooks;
-
-               $seleniumSettings = array();
-               $seleniumBrowsers = array();
-               $seleniumTestSuites = array();
-
-               $configFile = $this->getOption( 'seleniumConfig', '' );
-               if ( strlen( $configFile ) > 0 ) {
-                       $this->output( "Using Selenium Configuration file: " . $configFile . "\n" );
-                       SeleniumConfig::getSeleniumSettings( $seleniumSettings,
-                               $seleniumBrowsers,
-                               $seleniumTestSuites,
-                               $configFile );
-               } elseif ( !isset( $wgHooks['SeleniumSettings'] ) ) {
-                       $this->output( "No command line, configuration file or configuration hook found.\n" );
-                       SeleniumConfig::getSeleniumSettings( $seleniumSettings,
-                               $seleniumBrowsers,
-                               $seleniumTestSuites
-                       );
-               } else {
-                       $this->output( "Using 'SeleniumSettings' hook for configuration.\n" );
-                       wfRunHooks( 'SeleniumSettings', array( $seleniumSettings,
-                               $seleniumBrowsers,
-                               $seleniumTestSuites ) );
-               }
-
-               // State for starting/stopping the Selenium server has nothing to do with the Selenium
-               // class. Keep this state local to SeleniumTester class. Using getOption() is clumsy, but
-               // the Maintenance class does not have a setOption()
-               if ( !isset( $seleniumSettings['startserver'] ) ) {
-                       $this->getOption( 'startserver', true );
-               }
-               if ( !isset( $seleniumSettings['stopserver'] ) ) {
-                       $this->getOption( 'stopserver', true );
-               }
-               if ( !isset( $seleniumSettings['seleniumserverexecpath'] ) ) {
-                       $seleniumSettings['seleniumserverexecpath'] = '';
-               }
-               $this->seleniumServerExecPath = $seleniumSettings['seleniumserverexecpath'];
-
-               //set reasonable defaults if we did not find the settings
-               if ( !isset( $seleniumBrowsers ) ) {
-                       $seleniumBrowsers = array( 'firefox' => '*firefox' );
-               }
-               if ( !isset( $seleniumSettings['host'] ) ) {
-                       $seleniumSettings['host'] = $wgServer . $wgScriptPath;
-               }
-               if ( !isset( $seleniumSettings['port'] ) ) {
-                       $seleniumSettings['port'] = '4444';
-               }
-               if ( !isset( $seleniumSettings['wikiUrl'] ) ) {
-                       $seleniumSettings['wikiUrl'] = 'http://localhost';
-               }
-               if ( !isset( $seleniumSettings['username'] ) ) {
-                       $seleniumSettings['username'] = '';
-               }
-               if ( !isset( $seleniumSettings['userPassword'] ) ) {
-                       $seleniumSettings['userPassword'] = '';
-               }
-               if ( !isset( $seleniumSettings['testBrowser'] ) ) {
-                       $seleniumSettings['testBrowser'] = 'firefox';
-               }
-               if ( !isset( $seleniumSettings['jUnitLogFile'] ) ) {
-                       $seleniumSettings['jUnitLogFile'] = false;
-               }
-               if ( !isset( $seleniumSettings['runAgainstGrid'] ) ) {
-                       $seleniumSettings['runAgainstGrid'] = false;
-               }
-
-               // Setup Selenium class
-               $this->selenium = new Selenium();
-               $this->selenium->setAvailableBrowsers( $seleniumBrowsers );
-               $this->selenium->setRunAgainstGrid( $this->getOption( 'runAgainstGrid', $seleniumSettings['runAgainstGrid'] ) );
-               $this->selenium->setUrl( $this->getOption( 'wikiUrl', $seleniumSettings['wikiUrl'] ) );
-               $this->selenium->setBrowser( $this->getOption( 'testBrowser', $seleniumSettings['testBrowser'] ) );
-               $this->selenium->setPort( $this->getOption( 'port', $seleniumSettings['port'] ) );
-               $this->selenium->setHost( $this->getOption( 'host', $seleniumSettings['host'] ) );
-               $this->selenium->setUser( $this->getOption( 'username', $seleniumSettings['username'] ) );
-               $this->selenium->setPass( $this->getOption( 'userPassword', $seleniumSettings['userPassword'] ) );
-               $this->selenium->setVerbose( $this->hasOption( 'verbose' ) );
-               $this->selenium->setJUnitLogFile( $this->getOption( 'jUnitLogFile', $seleniumSettings['jUnitLogFile'] ) );
-
-               if ( $this->hasOption( 'list-browsers' ) ) {
-                       $this->listBrowsers();
-                       exit( 0 );
-               }
-               if ( $this->hasOption( 'startserver' ) ) {
-                       $this->startServer();
-               }
-
-               $logger = new SeleniumTestConsoleLogger;
-               $this->selenium->setLogger( $logger );
-
-               $this->runTests( $seleniumTestSuites );
-
-               if ( $this->hasOption( 'stopserver' ) ) {
-                       $this->stopServer();
-               }
-       }
-}
-
-$maintClass = "SeleniumTester";
-
-require_once RUN_MAINTENANCE_IF_MAIN;
index 1e9c2af..7e53826 100644 (file)
@@ -97,15 +97,4 @@ $wgAutoloadClasses += array(
        # tests/parser
        'ParserTest' => "$testDir/parser/parserTest.inc",
        'ParserTestParserHook' => "$testDir/parser/parserTestsParserHook.php",
-
-       # tests/selenium
-       'Selenium' => "$testDir/selenium/Selenium.php",
-       'SeleniumLoader' => "$testDir/selenium/SeleniumLoader.php",
-       'SeleniumTestCase' => "$testDir/selenium/SeleniumTestCase.php",
-       'SeleniumTestConsoleLogger' => "$testDir/selenium/SeleniumTestConsoleLogger.php",
-       'SeleniumTestConstants' => "$testDir/selenium/SeleniumTestConstants.php",
-       'SeleniumTestHTMLLogger' => "$testDir/selenium/SeleniumTestHTMLLogger.php",
-       'SeleniumTestListener' => "$testDir/selenium/SeleniumTestListener.php",
-       'SeleniumTestSuite' => "$testDir/selenium/SeleniumTestSuite.php",
-       'SeleniumConfig' => "$testDir/selenium/SeleniumConfig.php",
 );
index 1c3ba1d..4efd708 100644 (file)
@@ -212,6 +212,61 @@ class ParserTest {
                        $wgStyleDirectory = "$IP/skins";
                }
 
+               self::setupInterwikis();
+       }
+
+       /**
+        * Insert hardcoded interwiki in the lookup table.
+        *
+        * This function insert a set of well known interwikis that are used in
+        * the parser tests. They can be considered has fixtures are injected in
+        * the interwiki cache by using the 'InterwikiLoadPrefix' hook.
+        * Since we are not interested in looking up interwikis in the database,
+        * the hook completely replace the existing mechanism (hook returns false).
+        */
+       public static function setupInterwikis() {
+               # Hack: insert a few Wikipedia in-project interwiki prefixes,
+               # for testing inter-language links
+               Hooks::register( 'InterwikiLoadPrefix', function ( $prefix, &$iwData ) {
+                       static $testInterwikis = array(
+                               'wikipedia' => array(
+                                       'iw_url' => 'http://en.wikipedia.org/wiki/$1',
+                                       'iw_api' => '',
+                                       'iw_wikiid' => '',
+                                       'iw_local' => 0 ),
+                               'meatball' => array(
+                                       'iw_url' => 'http://www.usemod.com/cgi-bin/mb.pl?$1',
+                                       'iw_api' => '',
+                                       'iw_wikiid' => '',
+                                       'iw_local' => 0 ),
+                               'zh' => array(
+                                       'iw_url' => 'http://zh.wikipedia.org/wiki/$1',
+                                       'iw_api' => '',
+                                       'iw_wikiid' => '',
+                                       'iw_local' => 1 ),
+                               'es' => array(
+                                       'iw_url' => 'http://es.wikipedia.org/wiki/$1',
+                                       'iw_api' => '',
+                                       'iw_wikiid' => '',
+                                       'iw_local' => 1 ),
+                               'fr' => array(
+                                       'iw_url' => 'http://fr.wikipedia.org/wiki/$1',
+                                       'iw_api' => '',
+                                       'iw_wikiid' => '',
+                                       'iw_local' => 1 ),
+                               'ru' => array(
+                                       'iw_url' => 'http://ru.wikipedia.org/wiki/$1',
+                                       'iw_api' => '',
+                                       'iw_wikiid' => '',
+                                       'iw_local' => 1 ),
+                       );
+                       if( array_key_exists( $prefix, $testInterwikis ) ) {
+                               $iwData = $testInterwikis[$prefix];
+                       }
+
+                       // We only want to rely on the above fixtures
+                       return false;
+               } );// hooks::register
        }
 
        public function setupRecorder( $options ) {
@@ -829,41 +884,6 @@ class ParserTest {
                                'user_name' => 'Anonymous' ) );
                }
 
-               # Hack: insert a few Wikipedia in-project interwiki prefixes,
-               # for testing inter-language links
-               $this->db->insert( 'interwiki', array(
-                       array( 'iw_prefix' => 'wikipedia',
-                               'iw_url' => 'http://en.wikipedia.org/wiki/$1',
-                               'iw_api' => '',
-                               'iw_wikiid' => '',
-                               'iw_local' => 0 ),
-                       array( 'iw_prefix' => 'meatball',
-                               'iw_url' => 'http://www.usemod.com/cgi-bin/mb.pl?$1',
-                               'iw_api' => '',
-                               'iw_wikiid' => '',
-                               'iw_local' => 0 ),
-                       array( 'iw_prefix' => 'zh',
-                               'iw_url' => 'http://zh.wikipedia.org/wiki/$1',
-                               'iw_api' => '',
-                               'iw_wikiid' => '',
-                               'iw_local' => 1 ),
-                       array( 'iw_prefix' => 'es',
-                               'iw_url' => 'http://es.wikipedia.org/wiki/$1',
-                               'iw_api' => '',
-                               'iw_wikiid' => '',
-                               'iw_local' => 1 ),
-                       array( 'iw_prefix' => 'fr',
-                               'iw_url' => 'http://fr.wikipedia.org/wiki/$1',
-                               'iw_api' => '',
-                               'iw_wikiid' => '',
-                               'iw_local' => 1 ),
-                       array( 'iw_prefix' => 'ru',
-                               'iw_url' => 'http://ru.wikipedia.org/wiki/$1',
-                               'iw_api' => '',
-                               'iw_wikiid' => '',
-                               'iw_local' => 1 ),
-               ) );
-
                # Update certain things in site_stats
                $this->db->insert( 'site_stats', array( 'ss_row_id' => 1, 'ss_images' => 2, 'ss_good_articles' => 1 ) );
 
index 4aadd7a..5c35421 100644 (file)
@@ -7400,9 +7400,9 @@ Special:RecentChanges/param
 !! options
 msg
 !! input
-{{#special:foobarnonexistent}}
+{{#special:foobar nonexistent}}
 !! result
-No such special page
+Special:Foobar nonexistent
 !! end
 
 !! test
@@ -7430,9 +7430,9 @@ Special:RecentChanges/param
 !! options
 msg
 !! input
-{{#speciale:foobarnonexistent}}
+{{#speciale:foobar nonexistent}}
 !! result
-No_such_special_page
+Special:Foobar_nonexistent
 !! end
 
 ###
@@ -13969,6 +13969,19 @@ abc
 </p>
 !! end
 
+!!test
+Special parser function
+!! input
+{{#special:RandomPage}}
+{{#special:BaDtItLe}}
+{{#special:Foobar}}
+!! result
+<p>Special:Random
+Special:Badtitle
+Special:Foobar
+</p>
+!! end
+
 !!test
 Bug 34939 - Case insensitive link parsing ([HttP://])
 !! input
@@ -14018,6 +14031,353 @@ parsoid=wt2html,wt2wt
 </span><dl about="#mwt3"><dd>a</dd></dl>
 !!end
 
+#### ----------------------------------------------------------------
+#### Parsoid-only testing of Parsoid's impl of <ref> and <references>
+#### tags. Parsoid's output for these tags differs from that of the
+#### PHP parser.
+#### ----------------------------------------------------------------
+
+!!test
+Ref: 1. ref-location should be replaced with an index span
+!!options
+parsoid
+!!input
+A <ref>foo</ref>
+B <ref name="x">foo</ref>
+C <ref name="y" />
+!!result
+<p>A <span about="#mwt1" class="reference" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1">[1]</a></span>
+B <span about="#mwt2" class="reference" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{"name":"x"}}' id="cite_ref-x-2-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-x-2">[2]</a></span>
+C <span about="#mwt3" class="reference" data-mw='{"name":"ref","attrs":{"name":"y"}}' id="cite_ref-y-3-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-y-3">[3]</a></span></p>
+!!end
+
+!!test
+Ref: 2. ref-tags with identical names should all get the same index
+!!options
+parsoid
+!!input
+A <ref name="x">foo</ref>
+B <ref name="x" />
+!!result
+<p>A <span about="#mwt1" class="reference" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{"name":"x"}}' id="cite_ref-x-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-x-1">[1]</a></span>
+B <span about="#mwt2" class="reference" data-mw='{"name":"ref","attrs":{"name":"x"}}' id="cite_ref-x-1-1" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-x-1">[1]</a></span></p>
+!!end
+
+!!test
+Ref: 3. spaces in ref-names should be ignored
+!!options
+parsoid
+!!input
+A <ref name="x">foo</ref>
+B <ref name=" x " />
+C <ref name= x  />
+!!result
+<p>A <span about="#mwt1" class="reference" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{"name":"x"}}' id="cite_ref-x-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-x-1">[1]</a></span>
+B <span about="#mwt2" class="reference" data-mw='{"name":"ref","attrs":{"name":"x"}}' id="cite_ref-x-1-1" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-x-1">[1]</a></span>
+C <span about="#mwt3" class="reference" data-mw='{"name":"ref","attrs":{"name":"x"}}' id="cite_ref-x-1-2" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-x-1">[1]</a></span></p>
+!!end
+
+!!test
+Ref: 4. 'constructor' should be accepted as a valid ref-name
+(NOTE: constructor is a predefined property in JS and constructor as a ref-name can clash with it if not handled properly)
+!!options
+parsoid
+!!input
+A <ref name="constructor">foo</ref>
+!!result
+<p>A <span about="#mwt1" class="reference" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{"name":"constructor"}}' id="cite_ref-constructor-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-constructor-1">[1]</a></span></p>
+!!end
+
+!!test
+Ref: 5. body should accept generic wikitext
+!!options
+parsoid
+!!input
+A <ref>
+ This is a '''[[bolded link]]''' and this is a {{echo|transclusion}}
+</ref>
+
+<references />
+!!result
+<p>A <span about="#mwt1" class="reference" data-mw='{"name":"ref","body":{"html":"This is a <b data-parsoid=\"{&amp;quot;dsr&amp;quot;:[19,40,3,3]}\"><a rel=\"mw:WikiLink\" href=\"./Bolded_link\" data-parsoid=\"{&amp;quot;a&amp;quot;:{&amp;quot;href&amp;quot;:&amp;quot;./Bolded_link&amp;quot;},&amp;quot;sa&amp;quot;:{&amp;quot;href&amp;quot;:&amp;quot;bolded link&amp;quot;},&amp;quot;stx&amp;quot;:&amp;quot;simple&amp;quot;,&amp;quot;dsr&amp;quot;:[22,37,2,2]}\">bolded link</a></b> and this is a <span about=\"#mwt3\" typeof=\"mw:Transclusion\" data-mw=\"{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;transclusion&amp;quot;}}}\" data-parsoid=\"{&amp;quot;src&amp;quot;:&amp;quot;{{echo|transclusion}}&amp;quot;,&amp;quot;dsr&amp;quot;:[55,76,null,null]}\">transclusion</span>\n"},"attrs":{}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1">[1]</a></span></p>
+
+<ol about="#mwt2" class="references" data-mw='{"name":"references","attrs":{}}' typeof="mw:Extension/references">
+<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1-0">↑</a></span> This is a <b><a rel="mw:WikiLink" href="./Bolded_link">bolded link</a></b> and this is a <span about="#mwt3" typeof="mw:Transclusion" data-mw='{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"transclusion"}}}'>transclusion</span>
+</li></ol>
+!!end
+
+!!test
+Ref: 6. indent-pres should not be output in ref-body
+!!options
+parsoid
+!!input
+A <ref>
+ foo
+ bar
+ baz
+</ref>
+
+<references />
+!!result
+<p>A <span about="#mwt1" class="reference" data-mw='{"name":"ref","body":{"html":"foo\n bar\n baz\n"},"attrs":{}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1">[1]</a></span></p>
+
+<ol about="#mwt2" class="references" data-mw='{"name":"references","attrs":{}}' typeof="mw:Extension/references">
+<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1-0">↑</a></span> foo
+ bar
+ baz
+</li></ol>
+!!end
+
+!!test
+Ref: 6. No p-wrapping in ref-body
+!!options
+parsoid
+!!input
+A <ref>
+foo
+
+bar
+
+
+baz
+
+
+
+booz
+</ref>
+
+<references />
+!!result
+<p>A <span about="#mwt1" class="reference" data-mw='{"name":"ref","body":{"html":"foo\n\nbar\n\n\nbaz\n\n\n\nbooz\n"},"attrs":{}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1">[1]</a></span></p>
+
+<ol about="#mwt2" class="references" data-mw='{"name":"references","attrs":{}}' typeof="mw:Extension/references">
+<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1-0">↑</a></span> foo
+
+bar
+
+
+baz
+
+
+
+booz
+</li></ol>
+!!end
+
+!!test
+Ref: 8. transclusion wikitext has lower precedence
+!!options
+parsoid
+!!input
+A <ref> foo {{echo|</ref> B C}}
+
+<references />
+!!result
+<p>A <span about="#mwt1" class="reference" data-mw='{"name":"ref","body":{"html":"foo <span typeof=\"mw:Nowiki\" data-parsoid=\"{&amp;quot;src&amp;quot;:&amp;quot;{{&amp;quot;,&amp;quot;dsr&amp;quot;:[12,14,2,null]}\">{{</span>echo|"},"attrs":{}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1">[1]</a></span> B C<span typeof="mw:Nowiki">}}</span></p>
+
+<ol about="#mwt2" class="references" data-mw='{"name":"references","attrs":{}}' typeof="mw:Extension/references">
+<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1-0">↑</a></span> foo <span typeof="mw:Nowiki">{{</span>echo|</li></ol>
+!!end
+
+!!test
+Ref: 9. unclosed comments should not leak out of ref-body
+!!options
+parsoid
+!!input
+A <ref> foo <!--</ref> B C
+
+<references />
+!!result
+<p>A <span about="#mwt1" class="reference" data-mw='{"name":"ref","body":{"html":"foo <!---->"},"attrs":{}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1">[1]</a></span> B C</p>
+
+<ol about="#mwt2" class="references" data-mw='{"name":"references","attrs":{}}' typeof="mw:Extension/references">
+<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1-0">↑</a></span> foo <!----></li></ol>
+!!end
+
+!!test
+Ref: 10. Unclosed HTML tags should not leak out of ref-body
+!!options
+parsoid
+!!input
+A <ref> <b> foo </ref> B C
+
+<references />
+!!result
+<p>A <span about="#mwt1" class="reference" data-mw='{"name":"ref","body":{"html":"<b data-parsoid=\"{&amp;quot;stx&amp;quot;:&amp;quot;html&amp;quot;,&amp;quot;autoInsertedEnd&amp;quot;:true,&amp;quot;dsr&amp;quot;:[8,16,3,0]}\"> foo </b>"},"attrs":{}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1">[1]</a></span> B C</p>
+
+<ol about="#mwt2" class="references" data-mw='{"name":"references","attrs":{}}' typeof="mw:Extension/references">
+<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1-0">↑</a></span> <b> foo </b></li></ol>
+!!end
+
+!!test
+Ref: 11. ref-tags acts like an inline element wrt P-wrapping
+!!options
+parsoid
+!!input
+A <ref>foo</ref> B
+C <ref>bar</ref> D
+!!result
+<p>A <span about="#mwt1" class="reference" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1">[1]</a></span> B
+C <span about="#mwt2" class="reference" data-mw='{"name":"ref","body":{"html":"bar"},"attrs":{}}' id="cite_ref-2-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-2">[2]</a></span> D</p>
+!!end
+
+!!test
+Ref: 12. ref-tags act as trailing newline migration barrier
+!!options
+parsoid
+!!input
+<!--the newline at the end of this line moves out of the p-tag-->a
+
+b<!--the newline at the end of this line stays inside the p-tag--> <ref />
+<ref />
+
+c
+!!result
+<p><!--the newline at the end of this line moves out of the p-tag-->a</p>
+
+
+<p>b<!--the newline at the end of this line stays inside the p-tag--> <span about="#mwt1" class="reference" data-mw='{"name":"ref","attrs":{}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1">[1]</a></span>
+<span about="#mwt2" class="reference" data-mw='{"name":"ref","attrs":{}}' id="cite_ref-2-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-2">[2]</a></span></p>
+
+
+<p>c</p>
+!!end
+
+!!test
+Ref: 13. ref-tags are not SOL-transparent and block indent-pres
+!!options
+parsoid
+!!input
+<ref>foo</ref> A
+<ref>bar
+</ref> B
+!!result
+<p><span about="#mwt1" class="reference" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1">[1]</a></span> A
+<span about="#mwt2" class="reference" data-mw='{"name":"ref","body":{"html":"bar\n"},"attrs":{}}' id="cite_ref-2-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-2">[2]</a></span> B</p>
+!!end
+
+!!test
+Ref: 14. A nested ref-tag should be emitted as plain text
+!!options
+parsoid
+!!input
+<ref>foo <ref>bar</ref> baz</ref>
+
+<references />
+!!result
+<p><span about="#mwt1" class="reference" data-mw='{"name":"ref","body":{"html":"foo &amp;lt;ref&amp;gt;bar"},"attrs":{}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1">[1]</a></span> baz&lt;/ref&gt;</p>
+
+<ol about="#mwt2" class="references" data-mw='{"name":"references","attrs":{}}' typeof="mw:Extension/references"><li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1-0">↑</a></span> foo &lt;ref&gt;bar</li></ol>
+!!end
+
+!!test
+Ref: 15. ref-tags with identical names should get identical indexes
+!!options
+parsoid
+!!input
+A1 <ref name="a">foo</ref> A2 <ref name="a" />
+B1 <ref name="b" /> B2 <ref name="b">bar</ref>
+
+<references />
+!!result
+<p>A1 <span about="#mwt3" class="reference" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{"name":"a"}}' id="cite_ref-a-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-a-1">[1]</a></span> A2 <span about="#mwt4" class="reference" data-mw='{"name":"ref","attrs":{"name":"a"}}' id="cite_ref-a-1-1" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-a-1">[1]</a></span>
+B1 <span about="#mwt7" class="reference" data-mw='{"name":"ref","attrs":{"name":"b"}}' id="cite_ref-b-2-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-b-2">[2]</a></span> B2 <span about="#mwt8" class="reference" data-mw='{"name":"ref","body":{"html":"bar"},"attrs":{"name":"b"}}' id="cite_ref-b-2-1" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-b-2">[2]</a></span></p>
+
+<ol about="#mwt10" class="references" data-mw='{"name":"references","attrs":{}}' typeof="mw:Extension/references"><li about="#cite_note-a-1" id="cite_note-a-1"><span rel="mw:referencedBy">↑ <a href="#cite_ref-a-1-0">1.0</a> <a href="#cite_ref-a-1-1">1.1</a></span> foo</li><li about="#cite_note-b-2" id="cite_note-b-2"><span rel="mw:referencedBy">↑ <a href="#cite_ref-b-2-0">2.0</a> <a href="#cite_ref-b-2-1">2.1</a></span> bar</li></ol>
+!!end
+
+!!test
+References: 1. references tag without any refs should be handled properly
+!!options
+parsoid
+!!input
+<references />
+!!result
+<ol about="#mwt2" class="references" data-mw='{"name":"references","attrs":{}}' typeof="mw:Extension/references"></ol>
+!!end
+
+!!test
+References: 2. references tag with group only outputs references from that group
+!!options
+parsoid
+!!input
+A <ref group="a">foo</ref>
+B <ref group="b">bar</ref>
+
+<references group='a' />
+!!result
+<p>A <span about="#mwt2" class="reference" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{"group":"a"}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1">[a 1]</a></span>
+B <span about="#mwt4" class="reference" data-mw='{"name":"ref","body":{"html":"bar"},"attrs":{"group":"b"}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1">[b 1]</a></span></p>
+
+<ol about="#mwt6" class="references" data-mw='{"name":"references","attrs":{"group":"a"}}' typeof="mw:Extension/references"><li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1-0">↑</a></span> foo</li></ol>
+!!end
+
+!!test
+References: 3. ref list should be cleared after processing references
+!!options
+parsoid
+!!input
+A <ref>foo</ref>
+
+<references />
+
+B <ref>bar</ref>
+
+<references />
+!!result
+<p>A <span about="#mwt2" class="reference" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1">[1]</a></span></p>
+
+<ol about="#mwt4" class="references" data-mw='{"name":"references","attrs":{}}' typeof="mw:Extension/references"><li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1-0">↑</a></span> foo</li></ol>
+
+<p>B <span about="#mwt6" class="reference" data-mw='{"name":"ref","body":{"html":"bar"},"attrs":{}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1">[1]</a></span></p>
+
+<ol about="#mwt8" class="references" data-mw='{"name":"references","attrs":{}}' typeof="mw:Extension/references"><li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1-0">↑</a></span> bar</li></ol>
+!!end
+
+!!test
+References: 4. only referenced group should be cleared after processing references
+!!options
+parsoid
+!!input
+A <ref group="a">afoo</ref>
+B <ref>bfoo</ref>
+
+<references group="a"/>
+
+C <ref>cfoo</ref>
+
+<references />
+!!result
+<p>A <span about="#mwt2" class="reference" data-mw='{"name":"ref","body":{"html":"afoo"},"attrs":{"group":"a"}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1">[a 1]</a></span>
+B <span about="#mwt4" class="reference" data-mw='{"name":"ref","body":{"html":"bfoo"},"attrs":{}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref" data-parsoid='{"src":"<ref>bfoo</ref>","dsr":[30,45,5,6]}'><a href="#cite_note-1">[1]</a></span></p>
+
+<ol about="#mwt6" class="references" data-mw='{"name":"references","attrs":{"group":"a"}}' typeof="mw:Extension/references"><li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1-0">↑</a></span> afoo</li></ol>
+
+<p>C <span about="#mwt8" class="reference" data-mw='{"name":"ref","body":{"html":"cfoo"},"attrs":{}}' id="cite_ref-2-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-2">[2]</a></span></p>
+
+<ol about="#mwt10" class="references" data-mw='{"name":"references","attrs":{}}' typeof="mw:Extension/references"><li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1-0">↑</a></span> bfoo</li><li about="#cite_note-2" id="cite_note-2"><span rel="mw:referencedBy"><a href="#cite_ref-2-0">↑</a></span> cfoo</li></ol>
+!!end
+
+!!test
+References: 5. ref tags in references should be processed while ignoring all other content
+!!options
+parsoid
+!!input
+A <ref name="a" />
+B <ref name="b">bar</ref>
+
+<references>
+<ref name="a">foo</ref>
+This should just get lost.
+</references>
+!!result
+<p>A <span about="#mwt2" class="reference" data-mw='{"name":"ref","attrs":{"name":"a"}}' id="cite_ref-a-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-a-1">[1]</a></span>
+B <span about="#mwt4" class="reference" data-mw='{"name":"ref","body":{"html":"bar"},"attrs":{"name":"b"}}' id="cite_ref-b-2-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-b-2">[2]</a></span></p>
+
+<ol about="#mwt7" class="references" data-mw='{"name":"references","body":{"extsrc":"<ref name=\"a\">foo</ref>\nThis should just get lost."},"attrs":{}}' typeof="mw:Extension/references"><li about="#cite_note-a-1" id="cite_note-a-1"><span rel="mw:referencedBy"><a href="#cite_ref-a-1-0">↑</a></span> foo</li><li about="#cite_note-b-2" id="cite_note-b-2"><span rel="mw:referencedBy"><a href="#cite_ref-b-2-0">↑</a></span> bar</li></ol>
+!!end
+
+#### ----------------------------------------------------------------
 #### The following section of tests are primarily to test
 #### wikitext escaping capabilities of Parsoid.  Given that
 #### escaping can be done any number of ways, the wikitext (input)
@@ -14027,6 +14387,7 @@ parsoid=wt2html,wt2wt
 #### We are marking several tests as parsoid-only since the
 #### HTML in the result section is different from what the
 #### PHP parser generates for it.
+#### ----------------------------------------------------------------
 
 
 #### --------------- Headings ---------------
diff --git a/tests/phpunit/includes/SeleniumConfigurationTest.php b/tests/phpunit/includes/SeleniumConfigurationTest.php
deleted file mode 100644 (file)
index 4b49f63..0000000
+++ /dev/null
@@ -1,222 +0,0 @@
-<?php
-
-class SeleniumConfigurationTest extends MediaWikiTestCase {
-
-       /**
-        * The file where the test temporarity stores the selenium config.
-        * This should be cleaned up as part of teardown.
-        */
-       private $tempFileName;
-
-       /**
-        * String containing the a sample selenium settings
-        */
-       private $testConfig0 = '
-[SeleniumSettings]
-browsers[firefox]      = "*firefox"
-browsers[iexplorer] = "*iexploreproxy"
-browsers[chrome]       = "*chrome"
-host                           = "localhost"
-port                           = "foobarr"
-wikiUrl                        = "http://localhost/deployment"
-username                       = "xxxxxxx"
-userPassword           = ""
-testBrowser            = "chrome"
-startserver            =
-stopserver             =
-jUnitLogFile   =
-runAgainstGrid = false
-
-[SeleniumTests]
-testSuite[SimpleSeleniumTestSuite] = "tests/selenium/SimpleSeleniumTestSuite.php"
-testSuite[TestSuiteName] = "testSuitePath"
-';
-       /**
-        * Array of expected browsers from $testConfig0
-        */
-       private $testBrowsers0 = array( 'firefox' => '*firefox',
-               'iexplorer' => '*iexploreproxy',
-               'chrome' => '*chrome'
-       );
-       /**
-        * Array of expected selenium settings from $testConfig0
-        */
-       private $testSettings0 = array(
-               'host' => 'localhost',
-               'port' => 'foobarr',
-               'wikiUrl' => 'http://localhost/deployment',
-               'username' => 'xxxxxxx',
-               'userPassword' => '',
-               'testBrowser' => 'chrome',
-               'startserver' => null,
-               'stopserver' => null,
-               'seleniumserverexecpath' => null,
-               'jUnitLogFile' => null,
-               'runAgainstGrid' => null
-       );
-       /**
-        * Array of expected testSuites from $testConfig0
-        */
-       private $testSuites0 = array(
-               'SimpleSeleniumTestSuite' => 'tests/selenium/SimpleSeleniumTestSuite.php',
-               'TestSuiteName' => 'testSuitePath'
-       );
-
-       /**
-        * Another sample selenium settings file contents
-        */
-       private $testConfig1 =
-               '
-[SeleniumSettings]
-host                           = "localhost"
-testBrowser            = "firefox"
-';
-       /**
-        * Expected browsers from $testConfig1
-        */
-       private $testBrowsers1 = null;
-       /**
-        * Expected selenium settings from $testConfig1
-        */
-       private $testSettings1 = array(
-               'host' => 'localhost',
-               'port' => null,
-               'wikiUrl' => null,
-               'username' => null,
-               'userPassword' => null,
-               'testBrowser' => 'firefox',
-               'startserver' => null,
-               'stopserver' => null,
-               'seleniumserverexecpath' => null,
-               'jUnitLogFile' => null,
-               'runAgainstGrid' => null
-       );
-       /**
-        * Expected test suites from $testConfig1
-        */
-       private $testSuites1 = null;
-
-
-       protected function setUp() {
-               parent::setUp();
-               if ( !defined( 'SELENIUMTEST' ) ) {
-                       define( 'SELENIUMTEST', true );
-               }
-       }
-
-       /**
-        * Clean up the temporary file used to store the selenium settings.
-        */
-       protected function tearDown() {
-               if ( strlen( $this->tempFileName ) > 0 ) {
-                       unlink( $this->tempFileName );
-                       unset( $this->tempFileName );
-               }
-               parent::tearDown();
-       }
-
-       /**
-        * @expectedException MWException
-        * @group SeleniumFramework
-        */
-       public function testErrorOnIncorrectConfigFile() {
-               $seleniumSettings = array();
-               $seleniumBrowsers = array();
-               $seleniumTestSuites = array();
-
-               SeleniumConfig::getSeleniumSettings( $seleniumSettings,
-                       $seleniumBrowsers,
-                       $seleniumTestSuites,
-                       "Some_fake_settings_file.ini" );
-       }
-
-       /**
-        * @expectedException MWException
-        * @group SeleniumFramework
-        */
-       public function testErrorOnMissingConfigFile() {
-               $seleniumSettings = array();
-               $seleniumBrowsers = array();
-               $seleniumTestSuites = array();
-               $this->setMwGlobals( 'wgSeleniumConfigFile', '' );
-
-               SeleniumConfig::getSeleniumSettings( $seleniumSettings,
-                       $seleniumBrowsers,
-                       $seleniumTestSuites );
-       }
-
-       /**
-        * @group SeleniumFramework
-        */
-       public function testUsesGlobalVarForConfigFile() {
-               $seleniumSettings = array();
-               $seleniumBrowsers = array();
-               $seleniumTestSuites = array();
-               $this->writeToTempFile( $this->testConfig0 );
-               $this->setMwGlobals( 'wgSeleniumConfigFile', $this->tempFileName );
-
-               SeleniumConfig::getSeleniumSettings( $seleniumSettings,
-                       $seleniumBrowsers,
-                       $seleniumTestSuites );
-               $this->assertEquals( $seleniumSettings, $this->testSettings0,
-                       'The selenium settings should have been read from the file defined in $wgSeleniumConfigFile'
-               );
-               $this->assertEquals( $seleniumBrowsers, $this->testBrowsers0,
-                       'The available browsers should have been read from the file defined in $wgSeleniumConfigFile'
-               );
-               $this->assertEquals( $seleniumTestSuites, $this->testSuites0,
-                       'The test suites should have been read from the file defined in $wgSeleniumConfigFile'
-               );
-       }
-
-       /**
-        * @group SeleniumFramework
-        * @dataProvider sampleConfigs
-        */
-       public function testgetSeleniumSettings( $sampleConfig, $expectedSettings, $expectedBrowsers, $expectedSuites ) {
-               $this->writeToTempFile( $sampleConfig );
-               $seleniumSettings = array();
-               $seleniumBrowsers = array();
-               $seleniumTestSuites = null;
-
-               SeleniumConfig::getSeleniumSettings( $seleniumSettings,
-                       $seleniumBrowsers,
-                       $seleniumTestSuites,
-                       $this->tempFileName );
-
-               $this->assertEquals( $seleniumSettings, $expectedSettings,
-                       "The selenium settings for the following test configuration was not retrieved correctly" . $sampleConfig
-               );
-               $this->assertEquals( $seleniumBrowsers, $expectedBrowsers,
-                       "The available browsers for the following test configuration was not retrieved correctly" . $sampleConfig
-               );
-               $this->assertEquals( $seleniumTestSuites, $expectedSuites,
-                       "The test suites for the following test configuration was not retrieved correctly" . $sampleConfig
-               );
-       }
-
-       /**
-        * create a temp file and write text to it.
-        * @param $testToWrite the text to write to the temp file
-        */
-       private function writeToTempFile( $textToWrite ) {
-               $this->tempFileName = tempnam( sys_get_temp_dir(), 'test_settings.' );
-               $tempFile = fopen( $this->tempFileName, "w" );
-               fwrite( $tempFile, $textToWrite );
-               fclose( $tempFile );
-       }
-
-       /**
-        * Returns an array containing:
-        *     The contents of the selenium cingiguration ini file
-        *  The expected selenium configuration array that getSeleniumSettings should return
-        *  The expected available browsers array that getSeleniumSettings should return
-        *  The expected test suites arrya that getSeleniumSettings should return
-        */
-       public function sampleConfigs() {
-               return array(
-                       array( $this->testConfig0, $this->testSettings0, $this->testBrowsers0, $this->testSuites0 ),
-                       array( $this->testConfig1, $this->testSettings1, $this->testBrowsers1, $this->testSuites1 )
-               );
-       }
-}
index 6975939..93923fd 100644 (file)
@@ -31,6 +31,11 @@ class NewParserTest extends MediaWikiTestCase {
 
        protected $file = false;
 
+       public static function setUpBeforeClass() {
+               // Inject ParserTest well-known interwikis
+               ParserTest::setupInterwikis();
+       }
+
        protected function setUp() {
                global $wgNamespaceAliases;
                global $wgHooks, $IP;
@@ -155,50 +160,9 @@ class NewParserTest extends MediaWikiTestCase {
 
        function addDBData() {
                $this->tablesUsed[] = 'site_stats';
-               $this->tablesUsed[] = 'interwiki';
                # disabled for performance
                #$this->tablesUsed[] = 'image';
 
-               # Hack: insert a few Wikipedia in-project interwiki prefixes,
-               # for testing inter-language links
-               $this->db->insert( 'interwiki', array(
-                               array( 'iw_prefix' => 'wikipedia',
-                                       'iw_url' => 'http://en.wikipedia.org/wiki/$1',
-                                       'iw_api' => '',
-                                       'iw_wikiid' => '',
-                                       'iw_local' => 0 ),
-                               array( 'iw_prefix' => 'meatball',
-                                       'iw_url' => 'http://www.usemod.com/cgi-bin/mb.pl?$1',
-                                       'iw_api' => '',
-                                       'iw_wikiid' => '',
-                                       'iw_local' => 0 ),
-                               array( 'iw_prefix' => 'zh',
-                                       'iw_url' => 'http://zh.wikipedia.org/wiki/$1',
-                                       'iw_api' => '',
-                                       'iw_wikiid' => '',
-                                       'iw_local' => 1 ),
-                               array( 'iw_prefix' => 'es',
-                                       'iw_url' => 'http://es.wikipedia.org/wiki/$1',
-                                       'iw_api' => '',
-                                       'iw_wikiid' => '',
-                                       'iw_local' => 1 ),
-                               array( 'iw_prefix' => 'fr',
-                                       'iw_url' => 'http://fr.wikipedia.org/wiki/$1',
-                                       'iw_api' => '',
-                                       'iw_wikiid' => '',
-                                       'iw_local' => 1 ),
-                               array( 'iw_prefix' => 'ru',
-                                       'iw_url' => 'http://ru.wikipedia.org/wiki/$1',
-                                       'iw_api' => '',
-                                       'iw_wikiid' => '',
-                                       'iw_local' => 1 ),
-                               /**
-                                * @todo Fixme! Why are we inserting duplicate data here? Shouldn't
-                                * need this IGNORE or shouldn't need the insert at all.
-                                */
-                       ), __METHOD__, array( 'IGNORE' )
-               );
-
                # Update certain things in site_stats
                $this->db->insert( 'site_stats',
                        array( 'ss_row_id' => 1, 'ss_images' => 2, 'ss_good_articles' => 1 ),
diff --git a/tests/selenium/Selenium.php b/tests/selenium/Selenium.php
deleted file mode 100644 (file)
index 935d692..0000000
+++ /dev/null
@@ -1,191 +0,0 @@
-<?php
-/**
- * Selenium connector
- * This is implemented as a singleton.
- */
-
-require 'Testing/Selenium.php';
-
-class Selenium {
-       protected static $_instance = null;
-
-       public $isStarted = false;
-       public $tester;
-
-       protected $port;
-       protected $host;
-       protected $browser;
-       protected $browsers;
-       protected $logger;
-       protected $user;
-       protected $pass;
-       protected $timeout = 30000;
-       protected $verbose;
-       protected $junitlogfile; //processed by phpUnderControl
-       protected $runagainstgrid = false;
-
-       /**
-        * @todo this shouldn't have to be static
-        */
-       static protected $url;
-
-       /**
-        * Override parent
-        */
-       public function __construct() {
-               /**
-                * @todo this is an ugly hack to make information available to
-                * other tests.  It should be fixed.
-                */
-               if ( null === self::$_instance ) {
-                       self::$_instance = $this;
-               } else {
-                       throw new MWException( "Already have one Selenium instance." );
-               }
-       }
-
-       public function start() {
-               $this->tester = new Testing_Selenium( $this->browser, self::$url, $this->host,
-                       $this->port, $this->timeout );
-               if ( method_exists( $this->tester, "setVerbose" ) ) {
-                       $this->tester->setVerbose( $this->verbose );
-               }
-
-               $this->tester->start();
-               $this->isStarted = true;
-       }
-
-       public function stop() {
-               $this->tester->stop();
-               $this->tester = null;
-               $this->isStarted = false;
-       }
-
-       public function login() {
-               if ( strlen( $this->user ) == 0 ) {
-                       return;
-               }
-               $this->open( self::$url . '/index.php?title=Special:Userlogin' );
-               $this->type( 'wpName1', $this->user );
-               $this->type( 'wpPassword1', $this->pass );
-               $this->click( "//input[@id='wpLoginAttempt']" );
-               $this->waitForPageToLoad( 10000 );
-
-               // after login we redirect to the main page. So check whether the "Prefernces" top menu item exists
-               $value = $this->isElementPresent( "//li[@id='pt-preferences']" );
-
-               if ( $value != true ) {
-                       throw new Testing_Selenium_Exception( "Login Failed" );
-               }
-
-       }
-
-       public static function getInstance() {
-               if ( null === self::$_instance ) {
-                       throw new MWException( "No instance set yet" );
-               }
-
-               return self::$_instance;
-       }
-
-       public function loadPage( $title, $action ) {
-               $this->open( self::$url . '/index.php?title=' . $title . '&action=' . $action );
-       }
-
-       public function setLogger( $logger ) {
-               $this->logger = $logger;
-       }
-
-       public function getLogger() {
-               return $this->logger;
-       }
-
-       public function log( $message ) {
-               $this->logger->write( $message );
-       }
-
-       public function setUrl( $url ) {
-               self::$url = $url;
-       }
-
-       public static function getUrl() {
-               return self::$url;
-       }
-
-       public function setPort( $port ) {
-               $this->port = $port;
-       }
-
-       public function getPort() {
-               return $this->port;
-       }
-
-       public function setUser( $user ) {
-               $this->user = $user;
-       }
-
-       // Function to get username
-       public function getUser() {
-               return $this->user;
-       }
-
-
-       public function setPass( $pass ) {
-               $this->pass = $pass;
-       }
-
-       //add function to get password
-       public function getPass() {
-               return $this->pass;
-       }
-
-       public function setHost( $host ) {
-               $this->host = $host;
-       }
-
-       public function setVerbose( $verbose ) {
-               $this->verbose = $verbose;
-       }
-
-       public function setAvailableBrowsers( $availableBrowsers ) {
-               $this->browsers = $availableBrowsers;
-       }
-
-       public function setJUnitLogfile( $junitlogfile ) {
-               $this->junitlogfile = $junitlogfile;
-       }
-
-       public function getJUnitLogfile() {
-               return $this->junitlogfile;
-       }
-
-       public function setRunAgainstGrid( $runagainstgrid ) {
-               $this->runagainstgrid = $runagainstgrid;
-       }
-
-       public function setBrowser( $b ) {
-               if ( $this->runagainstgrid ) {
-                       $this->browser = $b;
-                       return true;
-               }
-               if ( !isset( $this->browsers[$b] ) ) {
-                       throw new MWException( "Invalid Browser: $b.\n" );
-               }
-
-               $this->browser = $this->browsers[$b];
-       }
-
-       public function getAvailableBrowsers() {
-               return $this->browsers;
-       }
-
-       public function __call( $name, $args ) {
-               $t = call_user_func_array( array( $this->tester, $name ), $args );
-               return $t;
-       }
-
-       // Prevent external cloning
-       protected function __clone() {}
-       // Prevent external construction
-       // protected function __construct() {}
-}
diff --git a/tests/selenium/SeleniumConfig.php b/tests/selenium/SeleniumConfig.php
deleted file mode 100644 (file)
index 0823275..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-if ( !defined( 'SELENIUMTEST' ) ) {
-       die( 1 );
-}
-
-class SeleniumConfig {
-
-       /**
-        * Retreives the Selenium configuration values from an ini file.
-        * See sample config file in selenium_settings.ini.sample
-        *
-        */
-       public static function getSeleniumSettings( &$seleniumSettings,
-                                                                                               &$seleniumBrowsers,
-                                                                                               &$seleniumTestSuites,
-                                                                                               $seleniumConfigFile = null ) {
-               if ( strlen( $seleniumConfigFile ) == 0 ) {
-                       global $wgSeleniumConfigFile;
-                       if ( isset( $wgSeleniumConfigFile ) ) {
-                               $seleniumConfigFile = $wgSeleniumConfigFile;
-                       }
-               }
-
-               if ( strlen( $seleniumConfigFile ) == 0 || !file_exists( $seleniumConfigFile ) ) {
-                       throw new MWException( "Unable to read local Selenium Settings from " . $seleniumConfigFile . "\n" );
-               }
-
-               $configArray = parse_ini_file( $seleniumConfigFile, true );
-               if ( $configArray === false ) {
-                       throw new MWException( "Error parsing " . $seleniumConfigFile . "\n" );
-               }
-
-               if ( array_key_exists( 'SeleniumSettings', $configArray ) ) {
-                       wfSuppressWarnings();
-                       //we may need to change how this is set. But for now leave it in the ini file
-                       $seleniumBrowsers = $configArray['SeleniumSettings']['browsers'];
-
-                       $seleniumSettings['host'] = $configArray['SeleniumSettings']['host'];
-                       $seleniumSettings['port'] = $configArray['SeleniumSettings']['port'];
-                       $seleniumSettings['wikiUrl'] = $configArray['SeleniumSettings']['wikiUrl'];
-                       $seleniumSettings['username'] = $configArray['SeleniumSettings']['username'];
-                       $seleniumSettings['userPassword'] = $configArray['SeleniumSettings']['userPassword'];
-                       $seleniumSettings['testBrowser'] = $configArray['SeleniumSettings']['testBrowser'];
-                       $seleniumSettings['startserver'] = $configArray['SeleniumSettings']['startserver'];
-                       $seleniumSettings['stopserver'] = $configArray['SeleniumSettings']['stopserver'];
-                       $seleniumSettings['seleniumserverexecpath'] = $configArray['SeleniumSettings']['seleniumserverexecpath'];
-                       $seleniumSettings['jUnitLogFile'] = $configArray['SeleniumSettings']['jUnitLogFile'];
-                       $seleniumSettings['runAgainstGrid'] = $configArray['SeleniumSettings']['runAgainstGrid'];
-
-                       wfRestoreWarnings();
-               }
-               if ( array_key_exists( 'SeleniumTests', $configArray ) ) {
-                       wfSuppressWarnings();
-                       $seleniumTestSuites = $configArray['SeleniumTests']['testSuite'];
-                       wfRestoreWarnings();
-               }
-               return true;
-       }
-
-       private static function parse_ini_line( $iniLine ) {
-               static $specialValues = array( 'false' => false, 'true' => true, 'null' => null );
-               list( $key, $value ) = explode( '=', $iniLine, 2 );
-               $key = trim( $key );
-               $value = trim( $value );
-
-               if ( isset( $specialValues[$value] ) ) {
-                       $value = $specialValues[$value];
-               } else {
-                       $value = trim( $value, '"' );
-               }
-
-               /* Support one-level arrays */
-               if ( preg_match( '/^([A-Za-z]+)\[([A-Za-z]+)\]/', $key, $m ) ) {
-                       $key = $m[1];
-                       $value = array( $m[2] => $value );
-               }
-
-               return array( $key => $value );
-       }
-}
diff --git a/tests/selenium/SeleniumLoader.php b/tests/selenium/SeleniumLoader.php
deleted file mode 100644 (file)
index 1a860f4..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-
-class SeleniumLoader {
-       static function load() {
-               require_once 'Testing/Selenium.php';
-               require_once 'PHPUnit/Framework.php';
-               require_once 'PHPUnit/Extensions/SeleniumTestCase.php';
-       }
-}
diff --git a/tests/selenium/SeleniumServerManager.php b/tests/selenium/SeleniumServerManager.php
deleted file mode 100644 (file)
index 1a1ee00..0000000
+++ /dev/null
@@ -1,252 +0,0 @@
-<?php
-/**
- * Selenium server manager
- *
- * @file
- * @ingroup Testing
- * Copyright (C) 2010 Dan Nessett <dnessett@yahoo.com>
- * http://citizendium.org/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-class SeleniumServerManager {
-       private $SeleniumStartServer = false;
-       private $OS = '';
-       private $SeleniumServerPid = 'NaN';
-       private $SeleniumServerPort = 4444;
-       private $SeleniumServerStartTimeout = 10; // 10 secs.
-       private $SeleniumServerExecPath;
-
-       public function __construct( $startServer,
-                                                                $serverPort,
-                                                                $serverExecPath ) {
-               $this->OS = (string)PHP_OS;
-
-               if ( isset( $startServer ) ) {
-                       $this->SeleniumStartServer = $startServer;
-               }
-
-               if ( isset( $serverPort ) ) {
-                       $this->SeleniumServerPort = $serverPort;
-               }
-
-               if ( isset( $serverExecPath ) ) {
-                       $this->SeleniumServerExecPath = $serverExecPath;
-               }
-
-               return;
-       }
-
-       // Getters for certain private attributes. No setters, since they
-       // should not change after the manager object is created.
-
-       public function getSeleniumStartServer() {
-               return $this->SeleniumStartServer;
-       }
-
-       public function getSeleniumServerPort() {
-               return $this->SeleniumServerPort;
-       }
-
-       public function getSeleniumServerPid() {
-               return $this->SeleniumServerPid;
-       }
-
-       // Changing value of SeleniumStartServer allows starting server after
-       // creation of the class instance. Only allow setting SeleniumStartServer
-       // to true, since after server is started, it is shut down by stop().
-
-       public function setSeleniumStartServer( $startServer ) {
-               if ( $startServer == true ) {
-                       $this->SeleniumStartServer = true;
-               }
-       }
-
-       // return values are: 1) started - server started, 2) failed -
-       // server not started, 3) running - instructed to start server, but
-       // server already running
-
-       public function start() {
-
-               if ( !$this->SeleniumStartServer ) {
-                       return 'failed';
-               }
-
-               // commented out cases are untested
-
-               switch ( $this->OS ) {
-                       case "Linux":
-#                      case' CYGWIN_NT-5.1':
-                       case 'Darwin':
-#                      case 'FreeBSD':
-#                      case 'HP-UX':
-#                      case 'IRIX64':
-#                      case 'NetBSD':
-#                      case 'OpenBSD':
-#                      case 'SunOS':
-#                      case 'Unix':
-                               // *nix based OS
-                               return $this->startServerOnUnix();
-                               break;
-                       case "Windows":
-                       case "WIN32":
-                       case "WINNT":
-                               // Windows
-                               return $this->startServerOnWindows();
-                               break;
-                       default:
-                               // An untested OS
-                               return 'failed';
-                               break;
-               }
-       }
-
-       public function stop() {
-
-               // commented out cases are untested
-
-               switch ( $this->OS ) {
-                       case "Linux":
-#                      case' CYGWIN_NT-5.1':
-                       case 'Darwin':
-#                      case 'FreeBSD':
-#                      case 'HP-UX':
-#                      case 'IRIX64':
-#                      case 'NetBSD':
-#                      case 'OpenBSD':
-#                      case 'SunOS':
-#                      case 'Unix':
-                               // *nix based OS
-                               return $this->stopServerOnUnix();
-                               break;
-                       case "Windows":
-                       case "WIN32":
-                       case "WINNT":
-                               // Windows
-                               return $this->stopServerOnWindows();
-                               break;
-                       default:
-                               // An untested OS
-                               return 'failed';
-                               break;
-               }
-       }
-
-       private function startServerOnUnix() {
-
-               $output = array();
-               $user = $_ENV['USER'];
-               // @todo FIXME: This should be a little more generalized :)
-               if ( PHP_OS == 'Darwin' ) {
-                       // Mac OS X's ps barfs on the 'w' param, but doesn't need it.
-                       $ps = "ps -U %s";
-               } else {
-                       // Good on Linux
-                       $ps = "ps -U %s w";
-               }
-               $psCommand = sprintf( $ps, escapeshellarg( $user ) );
-               exec( $psCommand . " | grep -i selenium-server", $output );
-
-               // Start server. If there is already a server running,
-               // return running.
-
-               if ( isset( $this->SeleniumServerExecPath ) ) {
-                       $found = 0;
-                       foreach ( $output as $string ) {
-                               $found += preg_match(
-                                       '~^(.*)java(.+)-jar(.+)selenium-server~',
-                                       $string );
-                       }
-                       if ( $found == 0 ) {
-
-                               // Didn't find the selenium server. Start it up.
-                               // First set up comamand line suffix.
-                               // NB: $! is pid of last job run in background
-                               // The echo guarentees it is put into $op when
-                               // the exec command is run.
-
-                               $commandSuffix = ' > /dev/null 2>&1' . ' & echo $!';
-                               $portText = ' -port ' . $this->SeleniumServerPort;
-                               $command = "java -jar " .
-                                       escapeshellarg( $this->SeleniumServerExecPath ) .
-                                       $portText . $commandSuffix;
-                               exec( $command, $op );
-                               $pid = (int)$op[0];
-                               if ( $pid != "" ) {
-                                       $this->SeleniumServerPid = $pid;
-                               } else {
-                                       $this->SeleniumServerPid = 'NaN';
-                                       // Server start failed.
-                                       return 'failed';
-                               }
-                               // Wait for the server to startup and listen
-                               // on its port. Note: this solution kinda
-                               // stinks, since it uses a wait loop - dnessett
-
-                               wfSuppressWarnings();
-                               for ( $cnt = 1;
-                                         $cnt <= $this->SeleniumServerStartTimeout;
-                                         $cnt++ ) {
-                                       $fp = fsockopen( 'localhost',
-                                               $this->SeleniumServerPort,
-                                               $errno, $errstr, 0 );
-                                       if ( !$fp ) {
-                                               sleep( 1 );
-                                               continue;
-                                               // Server start succeeded.
-                                       } else {
-                                               fclose( $fp );
-                                               return 'started';
-                                       }
-                               }
-                               wfRestoreWarnings();
-                               echo "Starting Selenium server timed out.\n";
-                               return 'failed';
-                       } else {
-                               // server already running.
-                               return 'running';
-                       }
-
-               }
-
-               // No Server execution path defined.
-               return 'failed';
-       }
-
-       private function startServerOnWindows() {
-               // Unimplemented.
-               return 'failed';
-       }
-
-       private function stopServerOnUnix() {
-
-               if ( !empty( $this->SeleniumServerPid ) &&
-                       $this->SeleniumServerPid != 'NaN'
-               ) {
-                       exec( "kill -9 " . $this->SeleniumServerPid );
-                       return 'stopped';
-               } else {
-                       return 'failed';
-               }
-       }
-
-       private function stopServerOnWindows() {
-               // Unimplemented.
-               return 'failed';
-
-       }
-}
diff --git a/tests/selenium/SeleniumTestCase.php b/tests/selenium/SeleniumTestCase.php
deleted file mode 100644 (file)
index a2676ca..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-<?php
-include 'SeleniumTestConstants.php';
-
-class SeleniumTestCase extends PHPUnit_Framework_TestCase { // PHPUnit_Extensions_SeleniumTestCase
-       protected $selenium;
-
-       public function setUp() {
-               set_time_limit( 60 );
-               $this->selenium = Selenium::getInstance();
-       }
-
-       public function tearDown() {
-
-       }
-
-       public function __call( $method, $args ) {
-               return call_user_func_array( array( $this->selenium, $method ), $args );
-       }
-
-       public function assertSeleniumAttributeEquals( $attribute, $value ) {
-               $attr = $this->getAttribute( $attribute );
-               $this->assertEquals( $attr, $value );
-       }
-
-       public function assertSeleniumHTMLContains( $element, $text ) {
-               $innerHTML = $this->getText( $element );
-               // or assertContains
-               $this->assertRegExp( "/$text/", $innerHTML );
-       }
-
-
-       /**
-        * Create a test fixture page if one does not exist
-        * @param $pageName The fixture page name. If none is supplied, it uses SeleniumTestConstants::WIKI_INTERNAL_LINK
-        */
-       function createTestPageIfMissing( $pageName = null ) {
-               if ( $pageName == null ) {
-                       $pageName = SeleniumTestConstants::WIKI_INTERNAL_LINK;
-               }
-               $this->type( SeleniumTestConstants::INPUT_SEARCH_BOX, $pageName );
-               $this->click( SeleniumTestConstants::BUTTON_SEARCH );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-               $this->click( SeleniumTestConstants::LINK_START . $pageName );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-               $location = $this->getLocation() . "\n";
-               if ( strpos( $location, '&redlink=1' ) !== false ) {
-                       $this->type( SeleniumTestConstants::TEXT_EDITOR, "Test fixture page. No real content here" );
-                       $this->click( SeleniumTestConstants::BUTTON_SAVE );
-                       $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-                       $this->assertTrue( $this->isTextPresent( $pageName ),
-                               $this->getText( SeleniumTestConstants::TEXT_PAGE_HEADING ) );
-               }
-       }
-
-       /**
-        * Create a test page using date as part of the name so that it is unique
-        * @param $pagePrefix The prefix to use for the page name. The current date will be appended to this to make it unique
-        * @param $watchThis Whether to add the page to my watchlist. Defaults to false.
-        */
-       function createNewTestPage( $pagePrefix, $watchThis = false ) {
-               $pageName = $pagePrefix . date( "Ymd-His" );
-               $this->type( SeleniumTestConstants::INPUT_SEARCH_BOX, $pageName );
-               $this->click( SeleniumTestConstants::BUTTON_SEARCH );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-               $this->click( SeleniumTestConstants::LINK_START . $pageName );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-               $location = $this->getLocation() . "\n";
-               $this->assertContains( '&redlink=1', $location ) .
-                       $this->type( SeleniumTestConstants::TEXT_EDITOR, "Test fixture page. No real content here" );
-               if ( $watchThis ) {
-                       $this->click( "wpWatchthis" );
-               }
-               $this->click( SeleniumTestConstants::BUTTON_SAVE );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-               $this->assertTrue( $this->isTextPresent( $pageName ),
-                       $this->getText( SeleniumTestConstants::TEXT_PAGE_HEADING ) );
-               return $pageName;
-       }
-
-       public function getExistingPage() {
-               $this->open( $this->getUrl() .
-                       '/index.php?title=Main_Page&action=edit' );
-               $this->type( "searchInput", "new" );
-               $this->click( "searchGoButton" );
-               $this->waitForPageToLoad( "30000" );
-       }
-
-       public function getNewPage( $pageName ) {
-
-               $this->open( $this->getUrl() .
-                       '/index.php?title=Main_Page&action=edit' );
-               $this->type( "searchInput", $pageName );
-               $this->click( "searchGoButton" );
-               $this->waitForPageToLoad( "30000" );
-               $this->click( "link=" . $pageName );
-               $this->waitForPageToLoad( "600000" );
-
-
-       }
-
-       // Loading the mediawiki editor
-       public function loadWikiEditor() {
-               $this->open( $this->getUrl() .
-                       '/index.php?title=Main_Page&action=edit' );
-       }
-
-       // Clear the content of the mediawiki editor
-       public function clearWikiEditor() {
-               $this->type( "wpTextbox1", "" );
-       }
-
-       // Click on the 'Show preview' button of the mediawiki editor
-       public function clickShowPreviewBtn() {
-               $this->click( "wpPreview" );
-       }
-
-       // Click on the 'Save Page' button of the mediawiki editor
-       public function clickSavePageBtn() {
-               $this->click( "wpSave" );
-       }
-
-       // Click on the 'Edit' link
-       public function clickEditLink() {
-               $this->click( "link=Edit" );
-               $this->waitForPageToLoad( "30000" );
-       }
-}
diff --git a/tests/selenium/SeleniumTestConsoleLogger.php b/tests/selenium/SeleniumTestConsoleLogger.php
deleted file mode 100644 (file)
index b6f5496..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-
-class SeleniumTestConsoleLogger {
-       public function __construct() {
-               // Prepare testsuite for immediate output
-               @ini_set( 'zlib.output_compression', 0 );
-               @ini_set( 'implicit_flush', 1 );
-               for ( $i = 0; $i < ob_get_level(); $i++ ) {
-                       ob_end_flush();
-               }
-               ob_implicit_flush( 1 );
-       }
-
-       public function write( $message, $mode = false ) {
-               $out = '';
-               // if ( $mode == SeleniumTestSuite::RESULT_OK ) $out .= '<font color="green">';
-               $out .= htmlentities( $message );
-               // if ( $mode == SeleniumTestSuite::RESULT_OK ) $out .= '</font>';
-               if ( $mode != SeleniumTestSuite::CONTINUE_LINE ) {
-                       $out .= "\n";
-               }
-
-               echo $out;
-       }
-}
diff --git a/tests/selenium/SeleniumTestConstants.php b/tests/selenium/SeleniumTestConstants.php
deleted file mode 100644 (file)
index 1defb73..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-class SeleniumTestConstants {
-       const WIKI_TEST_WAIT_TIME = 3000; // Waiting time
-
-       //commonly used links
-       const LINK_MAIN_PAGE = 'link=Main page';
-       const LINK_RANDOM_PAGE = 'link=Random article';
-       const TEXT_PAGE_HEADING = 'firstHeading';
-
-       const LINK_START = 'link=';
-       const TEXT_EDITOR = 'wpTextbox1';
-       const LINK_PREVIEW = 'wpPreview';
-       const LINK_EDIT = 'link=Edit';
-
-       const WIKI_SEARCH_PAGE = 'Hair (musical)'; // Page name to search
-       const WIKI_TEXT_SEARCH = 'TV'; // Text to search
-       const WIKI_INTERNAL_LINK = 'Wikieditor-Fixture-Page'; // Exisiting page name to add as an internal tag
-
-       const INPUT_SEARCH_BOX = 'searchInput';
-       const BUTTON_SEARCH = 'mw-searchButton';
-       const BUTTON_SAVE = 'wpSave';
-}
-
diff --git a/tests/selenium/SeleniumTestHTMLLogger.php b/tests/selenium/SeleniumTestHTMLLogger.php
deleted file mode 100644 (file)
index 2d4e964..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-
-class SeleniumTestHTMLLogger {
-       public function setHeaders() {
-               global $wgOut;
-               $wgOut->addHeadItem( 'selenium', '<style>
-               .selenium pre {
-                       overflow-x: auto; /* Use horizontal scroller if needed; for Firefox 2, not needed in Firefox 3 */
-                       white-space: pre-wrap; /* css-3 */
-                       white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
-                       white-space: -pre-wrap; /* Opera 4-6 */
-                       white-space: -o-pre-wrap; /* Opera 7 */
-                       /* width: 99%; */
-                       word-wrap: break-word; /* Internet Explorer 5.5+ */
-               }
-               .selenium-success { color: green }
-               </style>' );
-       }
-
-       public function write( $message, $mode = false ) {
-               global $wgOut;
-               $out = '';
-               if ( $mode == SeleniumTestSuite::RESULT_OK ) {
-                       $out .= '<span class="selenium-success">';
-               }
-               $out .= htmlspecialchars( $message );
-               if ( $mode == SeleniumTestSuite::RESULT_OK ) {
-                       $out .= '</span>';
-               }
-               if ( $mode != SeleniumTestSuite::CONTINUE_LINE ) {
-                       $out .= '<br />';
-               }
-
-               $wgOut->addHTML( $out );
-       }
-}
diff --git a/tests/selenium/SeleniumTestListener.php b/tests/selenium/SeleniumTestListener.php
deleted file mode 100644 (file)
index dc0ac66..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-
-class SeleniumTestListener implements PHPUnit_Framework_TestListener {
-       private $logger;
-       private $tests_ok = 0;
-       private $tests_failed = 0;
-
-       public function __construct( $loggerInstance ) {
-               $this->logger = $loggerInstance;
-       }
-
-       public function addError( PHPUnit_Framework_Test $test, Exception $e, $time ) {
-               $this->logger->write( 'Error: ' . $e->getMessage() );
-               $this->tests_failed++;
-       }
-
-       public function addFailure( PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time ) {
-               $this->logger->write( 'Failed: ' . $e->getMessage() );
-               $this->tests_failed++;
-       }
-
-       public function addIncompleteTest( PHPUnit_Framework_Test $test, Exception $e, $time ) {
-               $this->logger->write( 'Incomplete.' );
-               $this->tests_failed++;
-       }
-
-       public function addSkippedTest( PHPUnit_Framework_Test $test, Exception $e, $time ) {
-               $this->logger->write( 'Skipped.' );
-               $this->tests_failed++;
-       }
-
-       public function startTest( PHPUnit_Framework_Test $test ) {
-               $this->logger->write(
-                       'Testing ' . $test->getName() . ' ... ',
-                       SeleniumTestSuite::CONTINUE_LINE
-               );
-       }
-
-       public function endTest( PHPUnit_Framework_Test $test, $time ) {
-               if ( !$test->hasFailed() ) {
-                       $this->logger->write( 'OK', SeleniumTestSuite::RESULT_OK );
-                       $this->tests_ok++;
-               }
-       }
-
-       public function startTestSuite( PHPUnit_Framework_TestSuite $suite ) {
-               $this->logger->write( 'Testsuite ' . $suite->getName() . ' started.' );
-               $this->tests_ok = 0;
-               $this->tests_failed = 0;
-       }
-
-       public function endTestSuite( PHPUnit_Framework_TestSuite $suite ) {
-               $this->logger->write( 'Testsuite ' . $suite->getName() . ' ended.' );
-               if ( $this->tests_ok > 0 || $this->tests_failed > 0 ) {
-                       $this->logger->write( ' OK: ' . $this->tests_ok . ' Failed: ' . $this->tests_failed );
-               }
-               $this->tests_ok = 0;
-               $this->tests_failed = 0;
-       }
-
-       public function statusMessage( $message ) {
-               $this->logger->write( $message );
-       }
-}
-
diff --git a/tests/selenium/SeleniumTestSuite.php b/tests/selenium/SeleniumTestSuite.php
deleted file mode 100644 (file)
index 8c21f21..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-<?php
-
-abstract class SeleniumTestSuite extends PHPUnit_Framework_TestSuite {
-       private $selenium;
-       private $isSetUp = false;
-       private $loginBeforeTests = true;
-       private $triggerClientTestResources = true;
-
-       // Do not add line break after test output
-       const CONTINUE_LINE = 1;
-       const RESULT_OK = 2;
-       const RESULT_ERROR = 3;
-
-       abstract public function addTests();
-
-       public function setUp() {
-               // Hack because because PHPUnit version 3.0.6 which is on prototype does not
-               // run setUp as part of TestSuite::run
-               if ( $this->isSetUp ) {
-                       return;
-               }
-               $this->isSetUp = true;
-               $this->selenium = Selenium::getInstance();
-               $this->selenium->start();
-               if ( $this->triggerClientTestResources ) {
-                       $this->selenium->open( $this->selenium->getUrl() . '/index.php?setupTestSuite=' . $this->getName() );
-                       //wait a little longer for the db operation
-                       $this->selenium->waitForPageToLoad( 6000 );
-               }
-               if ( $this->loginBeforeTests ) {
-                       $this->login();
-               }
-       }
-
-       public function tearDown() {
-               if ( $this->triggerClientTestResources ) {
-                       $this->selenium->open( $this->selenium->getUrl() . '/index.php?clearTestSuite=' . $this->getName() );
-               }
-               $this->selenium->stop();
-       }
-
-       public function login() {
-               $this->selenium->login();
-       }
-
-       public function loadPage( $title, $action ) {
-               $this->selenium->loadPage( $title, $action );
-       }
-
-       protected function setLoginBeforeTests( $loginBeforeTests = true ) {
-               $this->loginBeforeTests = $loginBeforeTests;
-       }
-
-       protected function setTriggerClientTestResources( $triggerClientTestResources = true ) {
-               $this->triggerClientTestResources = $triggerClientTestResources;
-       }
-}
diff --git a/tests/selenium/data/SimpleSeleniumTestDB.sql b/tests/selenium/data/SimpleSeleniumTestDB.sql
deleted file mode 100644 (file)
index 99ae477..0000000
+++ /dev/null
@@ -1,1453 +0,0 @@
--- MySQL dump 10.13  Distrib 5.1.41, for debian-linux-gnu (x86_64)
---
--- Host: localhost    Database: test_wiki
--- ------------------------------------------------------
--- Server version      5.1.41-3ubuntu12.7
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-
---
--- Table structure for table `mw_archive`
---
-
-DROP TABLE IF EXISTS `mw_archive`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_archive` (
-  `ar_namespace` int(11) NOT NULL DEFAULT '0',
-  `ar_title` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `ar_text` mediumblob NOT NULL,
-  `ar_comment` tinyblob NOT NULL,
-  `ar_user` int(10) unsigned NOT NULL DEFAULT '0',
-  `ar_user_text` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
-  `ar_timestamp` binary(14) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
-  `ar_minor_edit` tinyint(4) NOT NULL DEFAULT '0',
-  `ar_flags` tinyblob NOT NULL,
-  `ar_rev_id` int(10) unsigned DEFAULT NULL,
-  `ar_text_id` int(10) unsigned DEFAULT NULL,
-  `ar_deleted` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  `ar_len` int(10) unsigned DEFAULT NULL,
-  `ar_page_id` int(10) unsigned DEFAULT NULL,
-  `ar_parent_id` int(10) unsigned DEFAULT NULL,
-  KEY `name_title_timestamp` (`ar_namespace`,`ar_title`,`ar_timestamp`),
-  KEY `usertext_timestamp` (`ar_user_text`,`ar_timestamp`),
-  KEY `ar_revid` (`ar_rev_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_archive`
---
-
-LOCK TABLES `mw_archive` WRITE;
-/*!40000 ALTER TABLE `mw_archive` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_archive` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_category`
---
-
-DROP TABLE IF EXISTS `mw_category`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_category` (
-  `cat_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `cat_title` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
-  `cat_pages` int(11) NOT NULL DEFAULT '0',
-  `cat_subcats` int(11) NOT NULL DEFAULT '0',
-  `cat_files` int(11) NOT NULL DEFAULT '0',
-  `cat_hidden` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  PRIMARY KEY (`cat_id`),
-  UNIQUE KEY `cat_title` (`cat_title`),
-  KEY `cat_pages` (`cat_pages`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_category`
---
-
-LOCK TABLES `mw_category` WRITE;
-/*!40000 ALTER TABLE `mw_category` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_category` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_categorylinks`
---
-
-DROP TABLE IF EXISTS `mw_categorylinks`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_categorylinks` (
-  `cl_from` int(10) unsigned NOT NULL DEFAULT '0',
-  `cl_to` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `cl_sortkey` varbinary(230) NOT NULL DEFAULT '',
-  `cl_sortkey_prefix` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `cl_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
-  `cl_collation` varbinary(32) NOT NULL DEFAULT '',
-  `cl_type` enum('page','subcat','file') NOT NULL DEFAULT 'page',
-  UNIQUE KEY `cl_from` (`cl_from`,`cl_to`),
-  KEY `cl_sortkey` (`cl_to`,`cl_type`,`cl_sortkey`,`cl_from`),
-  KEY `cl_timestamp` (`cl_to`,`cl_timestamp`),
-  KEY `cl_collation` (`cl_collation`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_categorylinks`
---
-
-LOCK TABLES `mw_categorylinks` WRITE;
-/*!40000 ALTER TABLE `mw_categorylinks` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_categorylinks` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_change_tag`
---
-
-DROP TABLE IF EXISTS `mw_change_tag`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_change_tag` (
-  `ct_rc_id` int(11) DEFAULT NULL,
-  `ct_log_id` int(11) DEFAULT NULL,
-  `ct_rev_id` int(11) DEFAULT NULL,
-  `ct_tag` varchar(255) NOT NULL,
-  `ct_params` blob,
-  UNIQUE KEY `change_tag_rc_tag` (`ct_rc_id`,`ct_tag`),
-  UNIQUE KEY `change_tag_log_tag` (`ct_log_id`,`ct_tag`),
-  UNIQUE KEY `change_tag_rev_tag` (`ct_rev_id`,`ct_tag`),
-  KEY `change_tag_tag_id` (`ct_tag`,`ct_rc_id`,`ct_rev_id`,`ct_log_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_change_tag`
---
-
-LOCK TABLES `mw_change_tag` WRITE;
-/*!40000 ALTER TABLE `mw_change_tag` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_change_tag` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_external_user`
---
-
-DROP TABLE IF EXISTS `mw_external_user`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_external_user` (
-  `eu_local_id` int(10) unsigned NOT NULL,
-  `eu_external_id` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
-  PRIMARY KEY (`eu_local_id`),
-  UNIQUE KEY `eu_external_id` (`eu_external_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_external_user`
---
-
-LOCK TABLES `mw_external_user` WRITE;
-/*!40000 ALTER TABLE `mw_external_user` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_external_user` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_externallinks`
---
-
-DROP TABLE IF EXISTS `mw_externallinks`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_externallinks` (
-  `el_from` int(10) unsigned NOT NULL DEFAULT '0',
-  `el_to` blob NOT NULL,
-  `el_index` blob NOT NULL,
-  KEY `el_from` (`el_from`,`el_to`(40)),
-  KEY `el_to` (`el_to`(60),`el_from`),
-  KEY `el_index` (`el_index`(60))
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_externallinks`
---
-
-LOCK TABLES `mw_externallinks` WRITE;
-/*!40000 ALTER TABLE `mw_externallinks` DISABLE KEYS */;
-INSERT INTO `mw_externallinks` VALUES (1,'http://meta.wikimedia.org/wiki/Help:Contents','http://org.wikimedia.meta./wiki/Help:Contents'),(1,'http://www.mediawiki.org/wiki/Manual:Configuration_settings','http://org.mediawiki.www./wiki/Manual:Configuration_settings'),(1,'http://www.mediawiki.org/wiki/Manual:FAQ','http://org.mediawiki.www./wiki/Manual:FAQ'),(1,'https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce','https://org.wikimedia.lists./mailman/listinfo/mediawiki-announce');
-/*!40000 ALTER TABLE `mw_externallinks` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_filearchive`
---
-
-DROP TABLE IF EXISTS `mw_filearchive`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_filearchive` (
-  `fa_id` int(11) NOT NULL AUTO_INCREMENT,
-  `fa_name` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `fa_archive_name` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT '',
-  `fa_storage_group` varbinary(16) DEFAULT NULL,
-  `fa_storage_key` varbinary(64) DEFAULT '',
-  `fa_deleted_user` int(11) DEFAULT NULL,
-  `fa_deleted_timestamp` binary(14) DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
-  `fa_deleted_reason` text,
-  `fa_size` int(10) unsigned DEFAULT '0',
-  `fa_width` int(11) DEFAULT '0',
-  `fa_height` int(11) DEFAULT '0',
-  `fa_metadata` mediumblob,
-  `fa_bits` int(11) DEFAULT '0',
-  `fa_media_type` enum('UNKNOWN','BITMAP','DRAWING','AUDIO','VIDEO','MULTIMEDIA','OFFICE','TEXT','EXECUTABLE','ARCHIVE') DEFAULT NULL,
-  `fa_major_mime` enum('unknown','application','audio','image','text','video','message','model','multipart') DEFAULT 'unknown',
-  `fa_minor_mime` varbinary(100) DEFAULT 'unknown',
-  `fa_description` tinyblob,
-  `fa_user` int(10) unsigned DEFAULT '0',
-  `fa_user_text` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
-  `fa_timestamp` binary(14) DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
-  `fa_deleted` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  PRIMARY KEY (`fa_id`),
-  KEY `fa_name` (`fa_name`,`fa_timestamp`),
-  KEY `fa_storage_group` (`fa_storage_group`,`fa_storage_key`),
-  KEY `fa_deleted_timestamp` (`fa_deleted_timestamp`),
-  KEY `fa_user_timestamp` (`fa_user_text`,`fa_timestamp`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_filearchive`
---
-
-LOCK TABLES `mw_filearchive` WRITE;
-/*!40000 ALTER TABLE `mw_filearchive` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_filearchive` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_hitcounter`
---
-
-DROP TABLE IF EXISTS `mw_hitcounter`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_hitcounter` (
-  `hc_id` int(10) unsigned NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=latin1 MAX_ROWS=25000;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_hitcounter`
---
-
-LOCK TABLES `mw_hitcounter` WRITE;
-/*!40000 ALTER TABLE `mw_hitcounter` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_hitcounter` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_image`
---
-
-DROP TABLE IF EXISTS `mw_image`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_image` (
-  `img_name` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `img_size` int(10) unsigned NOT NULL DEFAULT '0',
-  `img_width` int(11) NOT NULL DEFAULT '0',
-  `img_height` int(11) NOT NULL DEFAULT '0',
-  `img_metadata` mediumblob NOT NULL,
-  `img_bits` int(11) NOT NULL DEFAULT '0',
-  `img_media_type` enum('UNKNOWN','BITMAP','DRAWING','AUDIO','VIDEO','MULTIMEDIA','OFFICE','TEXT','EXECUTABLE','ARCHIVE') DEFAULT NULL,
-  `img_major_mime` enum('unknown','application','audio','image','text','video','message','model','multipart') NOT NULL DEFAULT 'unknown',
-  `img_minor_mime` varbinary(100) NOT NULL DEFAULT 'unknown',
-  `img_description` tinyblob NOT NULL,
-  `img_user` int(10) unsigned NOT NULL DEFAULT '0',
-  `img_user_text` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
-  `img_timestamp` varbinary(14) NOT NULL DEFAULT '',
-  `img_sha1` varbinary(32) NOT NULL DEFAULT '',
-  PRIMARY KEY (`img_name`),
-  KEY `img_usertext_timestamp` (`img_user_text`,`img_timestamp`),
-  KEY `img_size` (`img_size`),
-  KEY `img_timestamp` (`img_timestamp`),
-  KEY `img_sha1` (`img_sha1`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_image`
---
-
-LOCK TABLES `mw_image` WRITE;
-/*!40000 ALTER TABLE `mw_image` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_image` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_imagelinks`
---
-
-DROP TABLE IF EXISTS `mw_imagelinks`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_imagelinks` (
-  `il_from` int(10) unsigned NOT NULL DEFAULT '0',
-  `il_to` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  UNIQUE KEY `il_from` (`il_from`,`il_to`),
-  UNIQUE KEY `il_to` (`il_to`,`il_from`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_imagelinks`
---
-
-LOCK TABLES `mw_imagelinks` WRITE;
-/*!40000 ALTER TABLE `mw_imagelinks` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_imagelinks` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_interwiki`
---
-
-DROP TABLE IF EXISTS `mw_interwiki`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_interwiki` (
-  `iw_prefix` varchar(32) NOT NULL,
-  `iw_url` blob NOT NULL,
-  `iw_api` blob NOT NULL,
-  `iw_wikiid` varchar(64) NOT NULL,
-  `iw_local` tinyint(1) NOT NULL,
-  `iw_trans` tinyint(4) NOT NULL DEFAULT '0',
-  UNIQUE KEY `iw_prefix` (`iw_prefix`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_interwiki`
---
-
-LOCK TABLES `mw_interwiki` WRITE;
-/*!40000 ALTER TABLE `mw_interwiki` DISABLE KEYS */;
-INSERT INTO `mw_interwiki` VALUES ('acronym','http://www.acronymfinder.com/af-query.asp?String=exact&Acronym=$1','','',0,0),('advogato','http://www.advogato.org/$1','','',0,0),('annotationwiki','http://www.seedwiki.com/page.cfm?wikiid=368&doc=$1','','',0,0),('arxiv','http://www.arxiv.org/abs/$1','','',0,0),('c2find','http://c2.com/cgi/wiki?FindPage&value=$1','','',0,0),('cache','http://www.google.com/search?q=cache:$1','','',0,0),('commons','http://commons.wikimedia.org/wiki/$1','','',0,0),('corpknowpedia','http://corpknowpedia.org/wiki/index.php/$1','','',0,0),('dictionary','http://www.dict.org/bin/Dict?Database=*&Form=Dict1&Strategy=*&Query=$1','','',0,0),('disinfopedia','http://www.disinfopedia.org/wiki.phtml?title=$1','','',0,0),('docbook','http://wiki.docbook.org/topic/$1','','',0,0),('doi','http://dx.doi.org/$1','','',0,0),('drumcorpswiki','http://www.drumcorpswiki.com/index.php/$1','','',0,0),('dwjwiki','http://www.suberic.net/cgi-bin/dwj/wiki.cgi?$1','','',0,0),('elibre','http://enciclopedia.us.es/index.php/$1','','',0,0),('emacswiki','http://www.emacswiki.org/cgi-bin/wiki.pl?$1','','',0,0),('foldoc','http://foldoc.org/?$1','','',0,0),('foxwiki','http://fox.wikis.com/wc.dll?Wiki~$1','','',0,0),('freebsdman','http://www.FreeBSD.org/cgi/man.cgi?apropos=1&query=$1','','',0,0),('gej','http://www.esperanto.de/cgi-bin/aktivikio/wiki.pl?$1','','',0,0),('gentoo-wiki','http://gentoo-wiki.com/$1','','',0,0),('google','http://www.google.com/search?q=$1','','',0,0),('googlegroups','http://groups.google.com/groups?q=$1','','',0,0),('hammondwiki','http://www.dairiki.org/HammondWiki/$1','','',0,0),('hewikisource','http://he.wikisource.org/wiki/$1','','',1,0),('hrwiki','http://www.hrwiki.org/index.php/$1','','',0,0),('imdb','http://us.imdb.com/Title?$1','','',0,0),('jargonfile','http://sunir.org/apps/meta.pl?wiki=JargonFile&redirect=$1','','',0,0),('jspwiki','http://www.jspwiki.org/wiki/$1','','',0,0),('keiki','http://kei.ki/en/$1','','',0,0),('kmwiki','http://kmwiki.wikispaces.com/$1','','',0,0),('linuxwiki','http://linuxwiki.de/$1','','',0,0),('lojban','http://www.lojban.org/tiki/tiki-index.php?page=$1','','',0,0),('lqwiki','http://wiki.linuxquestions.org/wiki/$1','','',0,0),('lugkr','http://lug-kr.sourceforge.net/cgi-bin/lugwiki.pl?$1','','',0,0),('mathsongswiki','http://SeedWiki.com/page.cfm?wikiid=237&doc=$1','','',0,0),('meatball','http://www.usemod.com/cgi-bin/mb.pl?$1','','',0,0),('mediawikiwiki','http://www.mediawiki.org/wiki/$1','','',0,0),('mediazilla','https://bugzilla.wikimedia.org/$1','','',1,0),('memoryalpha','http://www.memory-alpha.org/en/index.php/$1','','',0,0),('metawiki','http://sunir.org/apps/meta.pl?$1','','',0,0),('metawikimedia','http://meta.wikimedia.org/wiki/$1','','',0,0),('moinmoin','http://purl.net/wiki/moin/$1','','',0,0),('mozillawiki','http://wiki.mozilla.org/index.php/$1','','',0,0),('mw','http://www.mediawiki.org/wiki/$1','','',0,0),('oeis','http://www.research.att.com/cgi-bin/access.cgi/as/njas/sequences/eisA.cgi?Anum=$1','','',0,0),('openfacts','http://openfacts.berlios.de/index.phtml?title=$1','','',0,0),('openwiki','http://openwiki.com/?$1','','',0,0),('pmeg','http://www.bertilow.com/pmeg/$1.php','','',0,0),('ppr','http://c2.com/cgi/wiki?$1','','',0,0),('pythoninfo','http://wiki.python.org/moin/$1','','',0,0),('rfc','http://www.rfc-editor.org/rfc/rfc$1.txt','','',0,0),('s23wiki','http://is-root.de/wiki/index.php/$1','','',0,0),('seattlewiki','http://seattle.wikia.com/wiki/$1','','',0,0),('seattlewireless','http://seattlewireless.net/?$1','','',0,0),('senseislibrary','http://senseis.xmp.net/?$1','','',0,0),('sourceforge','http://sourceforge.net/$1','','',0,0),('squeak','http://wiki.squeak.org/squeak/$1','','',0,0),('susning','http://www.susning.nu/$1','','',0,0),('svgwiki','http://wiki.svg.org/$1','','',0,0),('tavi','http://tavi.sourceforge.net/$1','','',0,0),('tejo','http://www.tejo.org/vikio/$1','','',0,0),('theopedia','http://www.theopedia.com/$1','','',0,0),('tmbw','http://www.tmbw.net/wiki/$1','','',0,0),('tmnet','http://www.technomanifestos.net/?$1','','',0,0),('tmwiki','http://www.EasyTopicMaps.com/?page=$1','','',0,0),('twiki','http://twiki.org/cgi-bin/view/$1','','',0,0),('uea','http://www.tejo.org/uea/$1','','',0,0),('unreal','http://wiki.beyondunreal.com/wiki/$1','','',0,0),('usemod','http://www.usemod.com/cgi-bin/wiki.pl?$1','','',0,0),('vinismo','http://vinismo.com/en/$1','','',0,0),('webseitzwiki','http://webseitz.fluxent.com/wiki/$1','','',0,0),('why','http://clublet.com/c/c/why?$1','','',0,0),('wiki','http://c2.com/cgi/wiki?$1','','',0,0),('wikia','http://www.wikia.com/wiki/$1','','',0,0),('wikibooks','http://en.wikibooks.org/wiki/$1','','',1,0),('wikicities','http://www.wikia.com/wiki/$1','','',0,0),('wikif1','http://www.wikif1.org/$1','','',0,0),('wikihow','http://www.wikihow.com/$1','','',0,0),('wikimedia','http://wikimediafoundation.org/wiki/$1','','',0,0),('wikinews','http://en.wikinews.org/wiki/$1','','',1,0),('wikinfo','http://www.wikinfo.org/index.php/$1','','',0,0),('wikipedia','http://en.wikipedia.org/wiki/$1','','',1,0),('wikiquote','http://en.wikiquote.org/wiki/$1','','',1,0),('wikisource','http://wikisource.org/wiki/$1','','',1,0),('wikispecies','http://species.wikimedia.org/wiki/$1','','',1,0),('wikitravel','http://wikitravel.org/en/$1','','',0,0),('wikiversity','http://en.wikiversity.org/wiki/$1','','',1,0),('wikt','http://en.wiktionary.org/wiki/$1','','',1,0),('wiktionary','http://en.wiktionary.org/wiki/$1','','',1,0),('wlug','http://www.wlug.org.nz/$1','','',0,0),('zwiki','http://zwiki.org/$1','','',0,0),('zzz wiki','http://wiki.zzz.ee/index.php/$1','','',0,0);
-/*!40000 ALTER TABLE `mw_interwiki` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_ipblocks`
---
-
-DROP TABLE IF EXISTS `mw_ipblocks`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_ipblocks` (
-  `ipb_id` int(11) NOT NULL AUTO_INCREMENT,
-  `ipb_address` tinyblob NOT NULL,
-  `ipb_user` int(10) unsigned NOT NULL DEFAULT '0',
-  `ipb_by` int(10) unsigned NOT NULL DEFAULT '0',
-  `ipb_by_text` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `ipb_reason` tinyblob NOT NULL,
-  `ipb_timestamp` binary(14) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
-  `ipb_auto` tinyint(1) NOT NULL DEFAULT '0',
-  `ipb_anon_only` tinyint(1) NOT NULL DEFAULT '0',
-  `ipb_create_account` tinyint(1) NOT NULL DEFAULT '1',
-  `ipb_enable_autoblock` tinyint(1) NOT NULL DEFAULT '1',
-  `ipb_expiry` varbinary(14) NOT NULL DEFAULT '',
-  `ipb_range_start` tinyblob NOT NULL,
-  `ipb_range_end` tinyblob NOT NULL,
-  `ipb_deleted` tinyint(1) NOT NULL DEFAULT '0',
-  `ipb_block_email` tinyint(1) NOT NULL DEFAULT '0',
-  `ipb_allow_usertalk` tinyint(1) NOT NULL DEFAULT '0',
-  PRIMARY KEY (`ipb_id`),
-  UNIQUE KEY `ipb_address` (`ipb_address`(255),`ipb_user`,`ipb_auto`,`ipb_anon_only`),
-  KEY `ipb_user` (`ipb_user`),
-  KEY `ipb_range` (`ipb_range_start`(8),`ipb_range_end`(8)),
-  KEY `ipb_timestamp` (`ipb_timestamp`),
-  KEY `ipb_expiry` (`ipb_expiry`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_ipblocks`
---
-
-LOCK TABLES `mw_ipblocks` WRITE;
-/*!40000 ALTER TABLE `mw_ipblocks` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_ipblocks` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_iwlinks`
---
-
-DROP TABLE IF EXISTS `mw_iwlinks`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_iwlinks` (
-  `iwl_from` int(10) unsigned NOT NULL DEFAULT '0',
-  `iwl_prefix` varbinary(20) NOT NULL DEFAULT '',
-  `iwl_title` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  UNIQUE KEY `iwl_from` (`iwl_from`,`iwl_prefix`,`iwl_title`),
-  UNIQUE KEY `iwl_prefix_title_from` (`iwl_prefix`,`iwl_title`,`iwl_from`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_iwlinks`
---
-
-LOCK TABLES `mw_iwlinks` WRITE;
-/*!40000 ALTER TABLE `mw_iwlinks` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_iwlinks` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_job`
---
-
-DROP TABLE IF EXISTS `mw_job`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_job` (
-  `job_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `job_cmd` varbinary(60) NOT NULL DEFAULT '',
-  `job_namespace` int(11) NOT NULL,
-  `job_title` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
-  `job_params` blob NOT NULL,
-  PRIMARY KEY (`job_id`),
-  KEY `job_cmd` (`job_cmd`,`job_namespace`,`job_title`,`job_params`(128))
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_job`
---
-
-LOCK TABLES `mw_job` WRITE;
-/*!40000 ALTER TABLE `mw_job` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_job` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_l10n_cache`
---
-
-DROP TABLE IF EXISTS `mw_l10n_cache`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_l10n_cache` (
-  `lc_lang` varbinary(32) NOT NULL,
-  `lc_key` varchar(255) NOT NULL,
-  `lc_value` mediumblob NOT NULL,
-  KEY `lc_lang_key` (`lc_lang`,`lc_key`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_l10n_cache`
---
-
-LOCK TABLES `mw_l10n_cache` WRITE;
-/*!40000 ALTER TABLE `mw_l10n_cache` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_l10n_cache` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_langlinks`
---
-
-DROP TABLE IF EXISTS `mw_langlinks`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_langlinks` (
-  `ll_from` int(10) unsigned NOT NULL DEFAULT '0',
-  `ll_lang` varbinary(20) NOT NULL DEFAULT '',
-  `ll_title` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  UNIQUE KEY `ll_from` (`ll_from`,`ll_lang`),
-  KEY `ll_lang` (`ll_lang`,`ll_title`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_langlinks`
---
-
-LOCK TABLES `mw_langlinks` WRITE;
-/*!40000 ALTER TABLE `mw_langlinks` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_langlinks` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_log_search`
---
-
-DROP TABLE IF EXISTS `mw_log_search`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_log_search` (
-  `ls_field` varbinary(32) NOT NULL,
-  `ls_value` varchar(255) NOT NULL,
-  `ls_log_id` int(10) unsigned NOT NULL DEFAULT '0',
-  UNIQUE KEY `ls_field_val` (`ls_field`,`ls_value`,`ls_log_id`),
-  KEY `ls_log_id` (`ls_log_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_log_search`
---
-
-LOCK TABLES `mw_log_search` WRITE;
-/*!40000 ALTER TABLE `mw_log_search` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_log_search` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_logging`
---
-
-DROP TABLE IF EXISTS `mw_logging`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_logging` (
-  `log_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `log_type` varbinary(32) NOT NULL DEFAULT '',
-  `log_action` varbinary(32) NOT NULL DEFAULT '',
-  `log_timestamp` binary(14) NOT NULL DEFAULT '19700101000000',
-  `log_user` int(10) unsigned NOT NULL DEFAULT '0',
-  `log_user_text` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `log_namespace` int(11) NOT NULL DEFAULT '0',
-  `log_title` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `log_page` int(10) unsigned DEFAULT NULL,
-  `log_comment` varchar(255) NOT NULL DEFAULT '',
-  `log_params` blob NOT NULL,
-  `log_deleted` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  PRIMARY KEY (`log_id`),
-  KEY `type_time` (`log_type`,`log_timestamp`),
-  KEY `user_time` (`log_user`,`log_timestamp`),
-  KEY `page_time` (`log_namespace`,`log_title`,`log_timestamp`),
-  KEY `times` (`log_timestamp`),
-  KEY `log_user_type_time` (`log_user`,`log_type`,`log_timestamp`),
-  KEY `log_page_id_time` (`log_page`,`log_timestamp`)
-) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_logging`
---
-
-LOCK TABLES `mw_logging` WRITE;
-/*!40000 ALTER TABLE `mw_logging` DISABLE KEYS */;
-INSERT INTO `mw_logging` VALUES (1,'patrol','patrol','20110110173131',1,'WikiSysop',0,'TestResources',2,'','2\n0\n1',0);
-/*!40000 ALTER TABLE `mw_logging` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_math`
---
-
-DROP TABLE IF EXISTS `mw_math`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_math` (
-  `math_inputhash` varbinary(16) NOT NULL,
-  `math_outputhash` varbinary(16) NOT NULL,
-  `math_html_conservativeness` tinyint(4) NOT NULL,
-  `math_html` text,
-  `math_mathml` text,
-  UNIQUE KEY `math_inputhash` (`math_inputhash`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_math`
---
-
-LOCK TABLES `mw_math` WRITE;
-/*!40000 ALTER TABLE `mw_math` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_math` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_module_deps`
---
-
-DROP TABLE IF EXISTS `mw_module_deps`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_module_deps` (
-  `md_module` varbinary(255) NOT NULL,
-  `md_skin` varbinary(32) NOT NULL,
-  `md_deps` mediumblob NOT NULL,
-  UNIQUE KEY `md_module_skin` (`md_module`,`md_skin`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_module_deps`
---
-
-LOCK TABLES `mw_module_deps` WRITE;
-/*!40000 ALTER TABLE `mw_module_deps` DISABLE KEYS */;
-INSERT INTO `mw_module_deps` VALUES ('ext.vector.collapsibleNav','vector','[\"\\/home\\/pdhanda\\/deployment\\/extensions\\/Vector\\/modules\\/.\\/images\\/portal-break.png\",\"\\/home\\/pdhanda\\/deployment\\/extensions\\/Vector\\/modules\\/.\\/images\\/open.png\",\"\\/home\\/pdhanda\\/deployment\\/extensions\\/Vector\\/modules\\/.\\/images\\/closed-ltr.png\"]'),('jquery.wikiEditor','vector','[\"\\/home\\/pdhanda\\/deployment\\/extensions\\/WikiEditor\\/modules\\/.\\/images\\/toolbar\\/loading.gif\"]'),('jquery.wikiEditor.toolbar','vector','{\"0\":\"\\/home\\/pdhanda\\/deployment\\/extensions\\/WikiEditor\\/modules\\/.\\/images\\/toolbar\\/base.png\",\"1\":\"\\/home\\/pdhanda\\/deployment\\/extensions\\/WikiEditor\\/modules\\/.\\/images\\/toolbar\\/loading.gif\",\"2\":\"\\/home\\/pdhanda\\/deployment\\/extensions\\/WikiEditor\\/modules\\/.\\/images\\/toolbar\\/button-sprite.png\",\"3\":\"\\/home\\/pdhanda\\/deployment\\/extensions\\/WikiEditor\\/modules\\/.\\/images\\/toolbar\\/arrow-right.png\",\"4\":\"\\/home\\/pdhanda\\/deployment\\/extensions\\/WikiEditor\\/modules\\/.\\/images\\/toolbar\\/arrow-left.png\",\"5\":\"\\/home\\/pdhanda\\/deployment\\/extensions\\/WikiEditor\\/modules\\/.\\/images\\/toolbar\\/arrow-down.png\",\"7\":\"\\/home\\/pdhanda\\/deployment\\/extensions\\/WikiEditor\\/modules\\/.\\/images\\/toolbar\\/loading-small.gif\"}'),('mediawiki.legacy.shared','vector','[\"\\/home\\/pdhanda\\/deployment\\/skins\\/common\\/images\\/feed-icon.png\",\"\\/home\\/pdhanda\\/deployment\\/skins\\/common\\/images\\/remove.png\",\"\\/home\\/pdhanda\\/deployment\\/skins\\/common\\/images\\/add.png\",\"\\/home\\/pdhanda\\/deployment\\/skins\\/common\\/images\\/ajax-loader.gif\",\"\\/home\\/pdhanda\\/deployment\\/skins\\/common\\/images\\/spinner.gif\",\"\\/home\\/pdhanda\\/deployment\\/skins\\/common\\/images\\/help-question.gif\",\"\\/home\\/pdhanda\\/deployment\\/skins\\/common\\/images\\/help-question-hover.gif\"]'),('skins.vector','vector','{\"0\":\"\\/home\\/pdhanda\\/deployment\\/skins\\/vector\\/images\\/page-base.png\",\"1\":\"\\/home\\/pdhanda\\/deployment\\/skins\\/vector\\/images\\/border.png\",\"2\":\"\\/home\\/pdhanda\\/deployment\\/skins\\/vector\\/images\\/page-fade.png\",\"4\":\"\\/home\\/pdhanda\\/deployment\\/skins\\/vector\\/images\\/tab-break.png\",\"5\":\"\\/home\\/pdhanda\\/deployment\\/skins\\/vector\\/images\\/tab-normal-fade.png\",\"6\":\"\\/home\\/pdhanda\\/deployment\\/skins\\/vector\\/images\\/tab-current-fade.png\",\"8\":\"\\/home\\/pdhanda\\/deployment\\/skins\\/vector\\/images\\/arrow-down-icon.png\",\"11\":\"\\/home\\/pdhanda\\/deployment\\/skins\\/vector\\/images\\/search-fade.png\",\"12\":\"\\/home\\/pdhanda\\/deployment\\/skins\\/vector\\/images\\/portal-break.png\",\"14\":\"\\/home\\/pdhanda\\/deployment\\/skins\\/vector\\/images\\/preferences-break.png\",\"16\":\"\\/home\\/pdhanda\\/deployment\\/skins\\/vector\\/images\\/preferences-fade.png\",\"17\":\"\\/home\\/pdhanda\\/deployment\\/skins\\/vector\\/images\\/preferences-base.png\",\"18\":\"\\/home\\/pdhanda\\/deployment\\/skins\\/vector\\/images\\/bullet-icon.png\",\"19\":\"\\/home\\/pdhanda\\/deployment\\/skins\\/vector\\/images\\/external-link-ltr-icon.png\",\"20\":\"\\/home\\/pdhanda\\/deployment\\/skins\\/vector\\/images\\/lock-icon.png\",\"21\":\"\\/home\\/pdhanda\\/deployment\\/skins\\/vector\\/images\\/mail-icon.png\",\"22\":\"\\/home\\/pdhanda\\/deployment\\/skins\\/vector\\/images\\/news-icon.png\",\"23\":\"\\/home\\/pdhanda\\/deployment\\/skins\\/vector\\/images\\/file-icon.png\",\"24\":\"\\/home\\/pdhanda\\/deployment\\/skins\\/vector\\/images\\/talk-icon.png\",\"25\":\"\\/home\\/pdhanda\\/deployment\\/skins\\/vector\\/images\\/audio-icon.png\",\"26\":\"\\/home\\/pdhanda\\/deployment\\/skins\\/vector\\/images\\/video-icon.png\",\"27\":\"\\/home\\/pdhanda\\/deployment\\/skins\\/vector\\/images\\/document-icon.png\",\"28\":\"\\/home\\/pdhanda\\/deployment\\/skins\\/vector\\/images\\/user-icon.png\",\"29\":\"\\/home\\/pdhanda\\/deployment\\/skins\\/vector\\/images\\/watch-icons.png\",\"30\":\"\\/home\\/pdhanda\\/deployment\\/skins\\/vector\\/images\\/watch-icon-loading.gif\"}');
-/*!40000 ALTER TABLE `mw_module_deps` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_msg_resource`
---
-
-DROP TABLE IF EXISTS `mw_msg_resource`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_msg_resource` (
-  `mr_resource` varbinary(255) NOT NULL,
-  `mr_lang` varbinary(32) NOT NULL,
-  `mr_blob` mediumblob NOT NULL,
-  `mr_timestamp` binary(14) NOT NULL,
-  UNIQUE KEY `mr_resource_lang` (`mr_resource`,`mr_lang`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_msg_resource`
---
-
-LOCK TABLES `mw_msg_resource` WRITE;
-/*!40000 ALTER TABLE `mw_msg_resource` DISABLE KEYS */;
-INSERT INTO `mw_msg_resource` VALUES ('ext.vector.collapsibleNav','en','{\"vector-collapsiblenav-more\":\"More languages\"}','20110108005000'),('ext.vector.collapsibleTabs','en','{}','20110108005000'),('ext.vector.simpleSearch','en','{\"vector-simplesearch-search\":\"Search\",\"vector-simplesearch-containing\":\"containing...\"}','20110108005000'),('ext.wikiEditor','en','{}','20110110172914'),('ext.wikiEditor.toolbar','en','{\"wikieditor-toolbar-loading\":\"Loading...\",\"wikieditor-toolbar-tool-bold\":\"Bold\",\"wikieditor-toolbar-tool-bold-example\":\"Bold text\",\"wikieditor-toolbar-tool-italic\":\"Italic\",\"wikieditor-toolbar-tool-italic-example\":\"Italic text\",\"wikieditor-toolbar-tool-ilink\":\"Internal link\",\"wikieditor-toolbar-tool-ilink-example\":\"Link title\",\"wikieditor-toolbar-tool-xlink\":\"External link (remember http:\\/\\/ prefix)\",\"wikieditor-toolbar-tool-xlink-example\":\"http:\\/\\/www.example.com link title\",\"wikieditor-toolbar-tool-link\":\"Link\",\"wikieditor-toolbar-tool-link-title\":\"Insert link\",\"wikieditor-toolbar-tool-link-int\":\"To a wiki page\",\"wikieditor-toolbar-tool-link-int-target\":\"Target page or URL:\",\"wikieditor-toolbar-tool-link-int-target-tooltip\":\"Page title or URL\",\"wikieditor-toolbar-tool-link-int-text\":\"Text to display:\",\"wikieditor-toolbar-tool-link-int-text-tooltip\":\"Text to be displayed\",\"wikieditor-toolbar-tool-link-ext\":\"To an external web page\",\"wikieditor-toolbar-tool-link-ext-target\":\"Link URL:\",\"wikieditor-toolbar-tool-link-ext-text\":\"Link text:\",\"wikieditor-toolbar-tool-link-insert\":\"Insert link\",\"wikieditor-toolbar-tool-link-cancel\":\"Cancel\",\"wikieditor-toolbar-tool-link-int-target-status-exists\":\"Page exists\",\"wikieditor-toolbar-tool-link-int-target-status-notexists\":\"Page does not exist\",\"wikieditor-toolbar-tool-link-int-target-status-invalid\":\"Invalid title\",\"wikieditor-toolbar-tool-link-int-target-status-external\":\"External link\",\"wikieditor-toolbar-tool-link-int-target-status-loading\":\"Checking page existence...\",\"wikieditor-toolbar-tool-link-int-invalid\":\"The title you specified is invalid.\",\"wikieditor-toolbar-tool-link-lookslikeinternal\":\"The URL you specified looks like it was intended as a link to another wiki page.\\nDo you want to make it an internal link?\",\"wikieditor-toolbar-tool-link-lookslikeinternal-int\":\"Internal link\",\"wikieditor-toolbar-tool-link-lookslikeinternal-ext\":\"External link\",\"wikieditor-toolbar-tool-link-empty\":\"You did not enter anything to link to.\",\"wikieditor-toolbar-tool-file\":\"Embedded file\",\"wikieditor-toolbar-tool-file-pre\":\"$1{{ns:file}}:\",\"wikieditor-toolbar-tool-file-example\":\"Example.jpg\",\"wikieditor-toolbar-tool-reference\":\"Reference\",\"wikieditor-toolbar-tool-reference-title\":\"Insert reference\",\"wikieditor-toolbar-tool-reference-cancel\":\"Cancel\",\"wikieditor-toolbar-tool-reference-text\":\"Reference text\",\"wikieditor-toolbar-tool-reference-insert\":\"Insert\",\"wikieditor-toolbar-tool-reference-example\":\"Insert footnote text here\",\"wikieditor-toolbar-tool-signature\":\"Signature and timestamp\",\"wikieditor-toolbar-section-advanced\":\"Advanced\",\"wikieditor-toolbar-tool-heading\":\"Heading\",\"wikieditor-toolbar-tool-heading-1\":\"Level 1\",\"wikieditor-toolbar-tool-heading-2\":\"Level 2\",\"wikieditor-toolbar-tool-heading-3\":\"Level 3\",\"wikieditor-toolbar-tool-heading-4\":\"Level 4\",\"wikieditor-toolbar-tool-heading-5\":\"Level 5\",\"wikieditor-toolbar-tool-heading-example\":\"Heading text\",\"wikieditor-toolbar-group-format\":\"Format\",\"wikieditor-toolbar-tool-ulist\":\"Bulleted list\",\"wikieditor-toolbar-tool-ulist-example\":\"Bulleted list item\",\"wikieditor-toolbar-tool-olist\":\"Numbered list\",\"wikieditor-toolbar-tool-olist-example\":\"Numbered list item\",\"wikieditor-toolbar-tool-indent\":\"Indentation\",\"wikieditor-toolbar-tool-indent-example\":\"Indented line\",\"wikieditor-toolbar-tool-nowiki\":\"No wiki formatting\",\"wikieditor-toolbar-tool-nowiki-example\":\"Insert non-formatted text here\",\"wikieditor-toolbar-tool-redirect\":\"Redirect\",\"wikieditor-toolbar-tool-redirect-example\":\"Target page name\",\"wikieditor-toolbar-tool-big\":\"Big\",\"wikieditor-toolbar-tool-big-example\":\"Big text\",\"wikieditor-toolbar-tool-small\":\"Small\",\"wikieditor-toolbar-tool-small-example\":\"Small text\",\"wikieditor-toolbar-tool-superscript\":\"Superscript\",\"wikieditor-toolbar-tool-superscript-example\":\"Superscript text\",\"wikieditor-toolbar-tool-subscript\":\"Subscript\",\"wikieditor-toolbar-tool-subscript-example\":\"Subscript text\",\"wikieditor-toolbar-group-insert\":\"Insert\",\"wikieditor-toolbar-tool-gallery\":\"Picture gallery\",\"wikieditor-toolbar-tool-gallery-example\":\"{{ns:file}}:Example.jpg|Caption1\\n{{ns:file}}:Example.jpg|Caption2\",\"wikieditor-toolbar-tool-newline\":\"New line\",\"wikieditor-toolbar-tool-table\":\"Table\",\"wikieditor-toolbar-tool-table-example-old\":\"-\\n! header 1\\n! header 2\\n! header 3\\n|-\\n| row 1, cell 1\\n| row 1, cell 2\\n| row 1, cell 3\\n|-\\n| row 2, cell 1\\n| row 2, cell 2\\n| row 2, cell 3\",\"wikieditor-toolbar-tool-table-example-cell-text\":\"Cell text\",\"wikieditor-toolbar-tool-table-example\":\"Example\",\"wikieditor-toolbar-tool-table-example-header\":\"Header text\",\"wikieditor-toolbar-tool-table-title\":\"Insert table\",\"wikieditor-toolbar-tool-table-dimensions-rows\":\"Rows\",\"wikieditor-toolbar-tool-table-dimensions-columns\":\"Columns\",\"wikieditor-toolbar-tool-table-dimensions-header\":\"Add header row\",\"wikieditor-toolbar-tool-table-wikitable\":\"Style with borders\",\"wikieditor-toolbar-tool-table-sortable\":\"Make table sortable\",\"wikieditor-toolbar-tool-table-insert\":\"Insert\",\"wikieditor-toolbar-tool-table-cancel\":\"Cancel\",\"wikieditor-toolbar-tool-table-example-text\":\"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut nec purus diam. Sed aliquam imperdiet nunc quis lacinia. Donec rutrum consectetur placerat. Sed volutpat neque non purus faucibus id ultricies enim euismod.\",\"wikieditor-toolbar-tool-table-toomany\":\"Inserting a table with more than $1 cells is not possible with this dialog.\",\"wikieditor-toolbar-tool-table-invalidnumber\":\"You have not entered a valid number of rows or columns.\",\"wikieditor-toolbar-tool-table-zero\":\"You cannot insert a table with zero rows or columns.\",\"wikieditor-toolbar-tool-replace\":\"Search and replace\",\"wikieditor-toolbar-tool-replace-title\":\"Search and replace\",\"wikieditor-toolbar-tool-replace-search\":\"Search for:\",\"wikieditor-toolbar-tool-replace-replace\":\"Replace with:\",\"wikieditor-toolbar-tool-replace-case\":\"Match case\",\"wikieditor-toolbar-tool-replace-regex\":\"Treat search string as a regular expression\",\"wikieditor-toolbar-tool-replace-button-findnext\":\"Find next\",\"wikieditor-toolbar-tool-replace-button-replacenext\":\"Replace next\",\"wikieditor-toolbar-tool-replace-button-replaceall\":\"Replace all\",\"wikieditor-toolbar-tool-replace-close\":\"Close\",\"wikieditor-toolbar-tool-replace-nomatch\":\"Your search did not match anything.\",\"wikieditor-toolbar-tool-replace-success\":\"$1 replacement(s) made.\",\"wikieditor-toolbar-tool-replace-emptysearch\":\"You did not enter anything to search for.\",\"wikieditor-toolbar-tool-replace-invalidregex\":\"The regular expression you entered is invalid: $1\",\"wikieditor-toolbar-section-characters\":\"Special characters\",\"wikieditor-toolbar-characters-page-latin\":\"Latin\",\"wikieditor-toolbar-characters-page-latinextended\":\"Latin extended\",\"wikieditor-toolbar-characters-page-ipa\":\"IPA\",\"wikieditor-toolbar-characters-page-symbols\":\"Symbols\",\"wikieditor-toolbar-characters-page-greek\":\"Greek\",\"wikieditor-toolbar-characters-page-cyrillic\":\"Cyrillic\",\"wikieditor-toolbar-characters-page-arabic\":\"Arabic\",\"wikieditor-toolbar-characters-page-persian\":\"Persian\",\"wikieditor-toolbar-characters-page-hebrew\":\"Hebrew\",\"wikieditor-toolbar-characters-page-bangla\":\"Bangla\",\"wikieditor-toolbar-characters-page-telugu\":\"Telugu\",\"wikieditor-toolbar-characters-page-sinhala\":\"Sinhala\",\"wikieditor-toolbar-characters-page-gujarati\":\"Gujarati\",\"wikieditor-toolbar-characters-page-thai\":\"Thai\",\"wikieditor-toolbar-characters-page-lao\":\"Lao\",\"wikieditor-toolbar-characters-page-khmer\":\"Khmer\",\"wikieditor-toolbar-section-help\":\"Help\",\"wikieditor-toolbar-help-heading-description\":\"Description\",\"wikieditor-toolbar-help-heading-syntax\":\"What you type\",\"wikieditor-toolbar-help-heading-result\":\"What you get\",\"wikieditor-toolbar-help-page-format\":\"Formatting\",\"wikieditor-toolbar-help-page-link\":\"Links\",\"wikieditor-toolbar-help-page-heading\":\"Headings\",\"wikieditor-toolbar-help-page-list\":\"Lists\",\"wikieditor-toolbar-help-page-file\":\"Files\",\"wikieditor-toolbar-help-page-reference\":\"References\",\"wikieditor-toolbar-help-page-discussion\":\"Discussion\",\"wikieditor-toolbar-help-content-bold-description\":\"Bold\",\"wikieditor-toolbar-help-content-bold-syntax\":\"\'\'\'Bold text\'\'\'\",\"wikieditor-toolbar-help-content-bold-result\":\"<strong>Bold text<\\/strong>\",\"wikieditor-toolbar-help-content-italic-description\":\"Italic\",\"wikieditor-toolbar-help-content-italic-syntax\":\"\'\'Italic text\'\'\",\"wikieditor-toolbar-help-content-italic-result\":\"<em>Italic text<\\/em>\",\"wikieditor-toolbar-help-content-bolditalic-description\":\"Bold &amp; italic\",\"wikieditor-toolbar-help-content-bolditalic-syntax\":\"\'\'\'\'\'Bold &amp; italic text\'\'\'\'\'\",\"wikieditor-toolbar-help-content-bolditalic-result\":\"<strong><em>Bold &amp; italic text<\\/em><\\/strong>\",\"wikieditor-toolbar-help-content-ilink-description\":\"Internal link\",\"wikieditor-toolbar-help-content-ilink-syntax\":\"[[Page title|Link label]]<br \\/>[[Page title]]\",\"wikieditor-toolbar-help-content-ilink-result\":\"<a href=\'#\'>Link label<\\/a><br \\/><a href=\'#\'>Page title<\\/a>\",\"wikieditor-toolbar-help-content-xlink-description\":\"External link\",\"wikieditor-toolbar-help-content-xlink-syntax\":\"[http:\\/\\/www.example.org Link label]<br \\/>[http:\\/\\/www.example.org]<br \\/>http:\\/\\/www.example.org\",\"wikieditor-toolbar-help-content-xlink-result\":\"<a href=\'#\' class=\'external\'>Link label<\\/a><br \\/><a href=\'#\' class=\'external autonumber\'>[1]<\\/a><br \\/><a href=\'#\' class=\'external\'>http:\\/\\/www.example.org<\\/a>\",\"wikieditor-toolbar-help-content-heading1-description\":\"&lt;wikieditor-toolbar-help-content-heading1-description&gt;\",\"wikieditor-toolbar-help-content-heading1-syntax\":\"&lt;wikieditor-toolbar-help-content-heading1-syntax&gt;\",\"wikieditor-toolbar-help-content-heading1-result\":\"&lt;wikieditor-toolbar-help-content-heading1-result&gt;\",\"wikieditor-toolbar-help-content-heading2-description\":\"2nd level heading\",\"wikieditor-toolbar-help-content-heading2-syntax\":\"== Heading text ==\",\"wikieditor-toolbar-help-content-heading2-result\":\"<h2>Heading text<\\/h2>\",\"wikieditor-toolbar-help-content-heading3-description\":\"3rd level heading\",\"wikieditor-toolbar-help-content-heading3-syntax\":\"=== Heading text ===\",\"wikieditor-toolbar-help-content-heading3-result\":\"<h3>Heading text<\\/h3>\",\"wikieditor-toolbar-help-content-heading4-description\":\"4th level heading\",\"wikieditor-toolbar-help-content-heading4-syntax\":\"==== Heading text ====\",\"wikieditor-toolbar-help-content-heading4-result\":\"<h4>Heading text<\\/h4>\",\"wikieditor-toolbar-help-content-heading5-description\":\"5th level heading\",\"wikieditor-toolbar-help-content-heading5-syntax\":\"===== Heading text =====\",\"wikieditor-toolbar-help-content-heading5-result\":\"<h5>Heading text<\\/h5>\",\"wikieditor-toolbar-help-content-ulist-description\":\"Bulleted list\",\"wikieditor-toolbar-help-content-ulist-syntax\":\"* List item<br \\/>* List item\",\"wikieditor-toolbar-help-content-ulist-result\":\"<ul><li>List item<\\/li><li>List item<\\/li><\\/ul>\",\"wikieditor-toolbar-help-content-olist-description\":\"Numbered list\",\"wikieditor-toolbar-help-content-olist-syntax\":\"# List item<br \\/># List item\",\"wikieditor-toolbar-help-content-olist-result\":\"<ol><li>List item<\\/li><li>List item<\\/li><\\/ol>\",\"wikieditor-toolbar-help-content-file-description\":\"Embedded file\",\"wikieditor-toolbar-help-content-file-syntax\":\"[[{{ns:file}}:Example.png|thumb|Caption text]]\",\"wikieditor-toolbar-help-content-file-result\":\"<div style=\'width:104px;\' class=\'thumbinner\'><a title=\'Caption text\' class=\'image\' href=\'#\'><img height=\'50\' width=\'100\' border=\'0\' class=\'thumbimage\' src=\'extensions\\/UsabilityInitiative\\/images\\/wikiEditor\\/toolbar\\/example-image.png\' alt=\'\'\\/><\\/a><div class=\'thumbcaption\'><div class=\'magnify\'><a title=\'Enlarge\' class=\'internal\' href=\'#\'><img height=\'11\' width=\'15\' alt=\'\' src=\'$1\\/common\\/images\\/magnify-clip.png\'\\/><\\/a><\\/div>Caption text<\\/div><\\/div>\",\"wikieditor-toolbar-help-content-reference-description\":\"Reference\",\"wikieditor-toolbar-help-content-reference-syntax\":\"Page text.&lt;ref name=\\\"test\\\"&gt;[http:\\/\\/www.example.org Link text], additional text.&lt;\\/ref&gt;\",\"wikieditor-toolbar-help-content-reference-result\":\"Page text.<sup><a href=\'#\'>[1]<\\/a><\\/sup>\",\"wikieditor-toolbar-help-content-rereference-description\":\"Additional use of same reference\",\"wikieditor-toolbar-help-content-rereference-syntax\":\"&lt;ref name=\\\"test\\\" \\/&gt;\",\"wikieditor-toolbar-help-content-rereference-result\":\"Page text.<sup><a href=\'#\'>[1]<\\/a><\\/sup>\",\"wikieditor-toolbar-help-content-showreferences-description\":\"Display references\",\"wikieditor-toolbar-help-content-showreferences-syntax\":\"&lt;references \\/&gt;\",\"wikieditor-toolbar-help-content-showreferences-result\":\"<ol class=\'references\'><li id=\'cite_note-test-0\'><b><a title=\'\' href=\'#\'>^<\\/a><\\/b> <a rel=\'nofollow\' title=\'http:\\/\\/www.example.org\' class=\'external text\' href=\'#\'>Link text<\\/a>, additional text.<\\/li><\\/ol>\",\"wikieditor-toolbar-help-content-signaturetimestamp-description\":\"Signature with timestamp\",\"wikieditor-toolbar-help-content-signaturetimestamp-syntax\":\"~~~~\",\"wikieditor-toolbar-help-content-signaturetimestamp-result\":\"<a href=\'#\' title=\'{{#special:mypage}}\'>Username<\\/a> (<a href=\'#\' title=\'{{#special:mytalk}}\'>talk<\\/a>) 15:54, 10 June 2009 (UTC)\",\"wikieditor-toolbar-help-content-signature-description\":\"Signature\",\"wikieditor-toolbar-help-content-signature-syntax\":\"~~~\",\"wikieditor-toolbar-help-content-signature-result\":\"<a href=\'#\' title=\'{{#special:mypage}}\'>Username<\\/a> (<a href=\'#\' title=\'{{#special:mytalk}}\'>talk<\\/a>)\",\"wikieditor-toolbar-help-content-indent-description\":\"Indent\",\"wikieditor-toolbar-help-content-indent-syntax\":\"Normal text<br \\/>:Indented text<br \\/>::Indented text\",\"wikieditor-toolbar-help-content-indent-result\":\"Normal text<dl><dd>Indented text<dl><dd>Indented text<\\/dd><\\/dl><\\/dd><\\/dl>\"}','20110110172914'),('jquery.async','en','{}','20110110172915'),('jquery.autoEllipsis','en','{}','20110110172915'),('jquery.checkboxShiftClick','en','{}','20110110172915'),('jquery.client','en','{}','20110110172915'),('jquery.cookie','en','{}','20110110172915'),('jquery.delayedBind','en','{}','20110110172915'),('jquery.highlightText','en','{}','20110110172915'),('jquery.makeCollapsible','en','{\"collapsible-expand\":\"Expand\",\"collapsible-collapse\":\"Collapse\"}','20110110172915'),('jquery.placeholder','en','{}','20110110172915'),('jquery.suggestions','en','{}','20110110172915'),('jquery.tabIndex','en','{}','20110110172915'),('jquery.textSelection','en','{}','20110110172915'),('jquery.wikiEditor','en','{\"wikieditor-wikitext-tab\":\"Wikitext\",\"wikieditor-loading\":\"Loading\"}','20110110172914'),('jquery.wikiEditor.toolbar','en','{}','20110110172914'),('mediawiki.action.watch.ajax','en','{}','20110110172915'),('mediawiki.language','en','{}','20110110172915'),('mediawiki.legacy.ajax','en','{\"watch\":\"Watch\",\"unwatch\":\"Unwatch\",\"watching\":\"Watching...\",\"unwatching\":\"Unwatching...\",\"tooltip-ca-watch\":\"Add this page to your watchlist\",\"tooltip-ca-unwatch\":\"Remove this page from your watchlist\"}','20110110172915'),('mediawiki.legacy.edit','en','{}','20110110172915'),('mediawiki.legacy.wikibits','en','{\"showtoc\":\"show\",\"hidetoc\":\"hide\"}','20110110172915'),('mediawiki.util','en','{}','20110110172915');
-/*!40000 ALTER TABLE `mw_msg_resource` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_msg_resource_links`
---
-
-DROP TABLE IF EXISTS `mw_msg_resource_links`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_msg_resource_links` (
-  `mrl_resource` varbinary(255) NOT NULL,
-  `mrl_message` varbinary(255) NOT NULL,
-  UNIQUE KEY `mrl_message_resource` (`mrl_message`,`mrl_resource`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_msg_resource_links`
---
-
-LOCK TABLES `mw_msg_resource_links` WRITE;
-/*!40000 ALTER TABLE `mw_msg_resource_links` DISABLE KEYS */;
-INSERT INTO `mw_msg_resource_links` VALUES ('jquery.makeCollapsible','collapsible-collapse'),('jquery.makeCollapsible','collapsible-expand'),('mediawiki.legacy.wikibits','hidetoc'),('mediawiki.legacy.wikibits','showtoc'),('mediawiki.legacy.ajax','tooltip-ca-unwatch'),('mediawiki.legacy.ajax','tooltip-ca-watch'),('mediawiki.legacy.ajax','unwatch'),('mediawiki.legacy.ajax','unwatching'),('ext.vector.collapsibleNav','vector-collapsiblenav-more'),('ext.vector.simpleSearch','vector-simplesearch-containing'),('ext.vector.simpleSearch','vector-simplesearch-search'),('mediawiki.legacy.ajax','watch'),('mediawiki.legacy.ajax','watching'),('jquery.wikiEditor','wikieditor-loading'),('ext.wikiEditor.toolbar','wikieditor-toolbar-characters-page-arabic'),('ext.wikiEditor.toolbar','wikieditor-toolbar-characters-page-bangla'),('ext.wikiEditor.toolbar','wikieditor-toolbar-characters-page-cyrillic'),('ext.wikiEditor.toolbar','wikieditor-toolbar-characters-page-greek'),('ext.wikiEditor.toolbar','wikieditor-toolbar-characters-page-gujarati'),('ext.wikiEditor.toolbar','wikieditor-toolbar-characters-page-hebrew'),('ext.wikiEditor.toolbar','wikieditor-toolbar-characters-page-ipa'),('ext.wikiEditor.toolbar','wikieditor-toolbar-characters-page-khmer'),('ext.wikiEditor.toolbar','wikieditor-toolbar-characters-page-lao'),('ext.wikiEditor.toolbar','wikieditor-toolbar-characters-page-latin'),('ext.wikiEditor.toolbar','wikieditor-toolbar-characters-page-latinextended'),('ext.wikiEditor.toolbar','wikieditor-toolbar-characters-page-persian'),('ext.wikiEditor.toolbar','wikieditor-toolbar-characters-page-sinhala'),('ext.wikiEditor.toolbar','wikieditor-toolbar-characters-page-symbols'),('ext.wikiEditor.toolbar','wikieditor-toolbar-characters-page-telugu'),('ext.wikiEditor.toolbar','wikieditor-toolbar-characters-page-thai'),('ext.wikiEditor.toolbar','wikieditor-toolbar-group-format'),('ext.wikiEditor.toolbar','wikieditor-toolbar-group-insert'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-bold-description'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-bold-result'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-bold-syntax'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-bolditalic-description'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-bolditalic-result'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-bolditalic-syntax'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-file-description'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-file-result'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-file-syntax'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-heading1-description'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-heading1-result'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-heading1-syntax'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-heading2-description'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-heading2-result'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-heading2-syntax'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-heading3-description'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-heading3-result'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-heading3-syntax'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-heading4-description'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-heading4-result'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-heading4-syntax'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-heading5-description'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-heading5-result'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-heading5-syntax'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-ilink-description'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-ilink-result'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-ilink-syntax'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-indent-description'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-indent-result'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-indent-syntax'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-italic-description'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-italic-result'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-italic-syntax'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-olist-description'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-olist-result'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-olist-syntax'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-reference-description'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-reference-result'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-reference-syntax'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-rereference-description'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-rereference-result'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-rereference-syntax'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-showreferences-description'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-showreferences-result'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-showreferences-syntax'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-signature-description'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-signature-result'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-signature-syntax'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-signaturetimestamp-description'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-signaturetimestamp-result'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-signaturetimestamp-syntax'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-ulist-description'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-ulist-result'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-ulist-syntax'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-xlink-description'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-xlink-result'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-content-xlink-syntax'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-heading-description'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-heading-result'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-heading-syntax'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-page-discussion'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-page-file'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-page-format'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-page-heading'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-page-link'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-page-list'),('ext.wikiEditor.toolbar','wikieditor-toolbar-help-page-reference'),('ext.wikiEditor.toolbar','wikieditor-toolbar-loading'),('ext.wikiEditor.toolbar','wikieditor-toolbar-section-advanced'),('ext.wikiEditor.toolbar','wikieditor-toolbar-section-characters'),('ext.wikiEditor.toolbar','wikieditor-toolbar-section-help'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-big'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-big-example'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-bold'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-bold-example'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-file'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-file-example'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-file-pre'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-gallery'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-gallery-example'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-heading'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-heading-1'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-heading-2'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-heading-3'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-heading-4'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-heading-5'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-heading-example'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-ilink'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-ilink-example'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-indent'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-indent-example'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-italic'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-italic-example'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-link'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-link-cancel'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-link-empty'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-link-ext'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-link-ext-target'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-link-ext-text'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-link-insert'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-link-int'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-link-int-invalid'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-link-int-target'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-link-int-target-status-exists'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-link-int-target-status-external'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-link-int-target-status-invalid'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-link-int-target-status-loading'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-link-int-target-status-notexists'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-link-int-target-tooltip'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-link-int-text'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-link-int-text-tooltip'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-link-lookslikeinternal'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-link-lookslikeinternal-ext'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-link-lookslikeinternal-int'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-link-title'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-newline'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-nowiki'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-nowiki-example'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-olist'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-olist-example'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-redirect'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-redirect-example'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-reference'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-reference-cancel'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-reference-example'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-reference-insert'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-reference-text'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-reference-title'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-replace'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-replace-button-findnext'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-replace-button-replaceall'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-replace-button-replacenext'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-replace-case'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-replace-close'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-replace-emptysearch'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-replace-invalidregex'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-replace-nomatch'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-replace-regex'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-replace-replace'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-replace-search'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-replace-success'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-replace-title'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-signature'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-small'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-small-example'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-subscript'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-subscript-example'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-superscript'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-superscript-example'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-table'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-table-cancel'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-table-dimensions-columns'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-table-dimensions-header'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-table-dimensions-rows'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-table-example'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-table-example-cell-text'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-table-example-header'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-table-example-old'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-table-example-text'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-table-insert'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-table-invalidnumber'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-table-sortable'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-table-title'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-table-toomany'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-table-wikitable'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-table-zero'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-ulist'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-ulist-example'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-xlink'),('ext.wikiEditor.toolbar','wikieditor-toolbar-tool-xlink-example'),('jquery.wikiEditor','wikieditor-wikitext-tab');
-/*!40000 ALTER TABLE `mw_msg_resource_links` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_objectcache`
---
-
-DROP TABLE IF EXISTS `mw_objectcache`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_objectcache` (
-  `keyname` varbinary(255) NOT NULL DEFAULT '',
-  `value` mediumblob,
-  `exptime` datetime DEFAULT NULL,
-  PRIMARY KEY (`keyname`),
-  KEY `exptime` (`exptime`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_objectcache`
---
-
-LOCK TABLES `mw_objectcache` WRITE;
-/*!40000 ALTER TABLE `mw_objectcache` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_objectcache` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_oldimage`
---
-
-DROP TABLE IF EXISTS `mw_oldimage`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_oldimage` (
-  `oi_name` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `oi_archive_name` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `oi_size` int(10) unsigned NOT NULL DEFAULT '0',
-  `oi_width` int(11) NOT NULL DEFAULT '0',
-  `oi_height` int(11) NOT NULL DEFAULT '0',
-  `oi_bits` int(11) NOT NULL DEFAULT '0',
-  `oi_description` tinyblob NOT NULL,
-  `oi_user` int(10) unsigned NOT NULL DEFAULT '0',
-  `oi_user_text` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
-  `oi_timestamp` binary(14) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
-  `oi_metadata` mediumblob NOT NULL,
-  `oi_media_type` enum('UNKNOWN','BITMAP','DRAWING','AUDIO','VIDEO','MULTIMEDIA','OFFICE','TEXT','EXECUTABLE','ARCHIVE') DEFAULT NULL,
-  `oi_major_mime` enum('unknown','application','audio','image','text','video','message','model','multipart') NOT NULL DEFAULT 'unknown',
-  `oi_minor_mime` varbinary(100) NOT NULL DEFAULT 'unknown',
-  `oi_deleted` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  `oi_sha1` varbinary(32) NOT NULL DEFAULT '',
-  KEY `oi_usertext_timestamp` (`oi_user_text`,`oi_timestamp`),
-  KEY `oi_name_timestamp` (`oi_name`,`oi_timestamp`),
-  KEY `oi_name_archive_name` (`oi_name`,`oi_archive_name`(14)),
-  KEY `oi_sha1` (`oi_sha1`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_oldimage`
---
-
-LOCK TABLES `mw_oldimage` WRITE;
-/*!40000 ALTER TABLE `mw_oldimage` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_oldimage` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_page`
---
-
-DROP TABLE IF EXISTS `mw_page`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_page` (
-  `page_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `page_namespace` int(11) NOT NULL,
-  `page_title` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
-  `page_restrictions` tinyblob NOT NULL,
-  `page_counter` bigint(20) unsigned NOT NULL DEFAULT '0',
-  `page_is_redirect` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  `page_is_new` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  `page_random` double unsigned NOT NULL,
-  `page_touched` binary(14) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
-  `page_latest` int(10) unsigned NOT NULL,
-  `page_len` int(10) unsigned NOT NULL,
-  PRIMARY KEY (`page_id`),
-  UNIQUE KEY `name_title` (`page_namespace`,`page_title`),
-  KEY `page_random` (`page_random`),
-  KEY `page_len` (`page_len`)
-) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_page`
---
-
-LOCK TABLES `mw_page` WRITE;
-/*!40000 ALTER TABLE `mw_page` DISABLE KEYS */;
-INSERT INTO `mw_page` VALUES (1,0,'Main_Page','',3,0,1,0.045389076294,'20110107184113',1,438),(2,0,'TestResources','',0,0,1,0.227355086893,'20110110173217',2,57);
-/*!40000 ALTER TABLE `mw_page` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_page_props`
---
-
-DROP TABLE IF EXISTS `mw_page_props`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_page_props` (
-  `pp_page` int(11) NOT NULL,
-  `pp_propname` varbinary(60) NOT NULL,
-  `pp_value` blob NOT NULL,
-  UNIQUE KEY `pp_page_propname` (`pp_page`,`pp_propname`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_page_props`
---
-
-LOCK TABLES `mw_page_props` WRITE;
-/*!40000 ALTER TABLE `mw_page_props` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_page_props` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_page_restrictions`
---
-
-DROP TABLE IF EXISTS `mw_page_restrictions`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_page_restrictions` (
-  `pr_page` int(11) NOT NULL,
-  `pr_type` varbinary(60) NOT NULL,
-  `pr_level` varbinary(60) NOT NULL,
-  `pr_cascade` tinyint(4) NOT NULL,
-  `pr_user` int(11) DEFAULT NULL,
-  `pr_expiry` varbinary(14) DEFAULT NULL,
-  `pr_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  PRIMARY KEY (`pr_id`),
-  UNIQUE KEY `pr_pagetype` (`pr_page`,`pr_type`),
-  KEY `pr_typelevel` (`pr_type`,`pr_level`),
-  KEY `pr_level` (`pr_level`),
-  KEY `pr_cascade` (`pr_cascade`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_page_restrictions`
---
-
-LOCK TABLES `mw_page_restrictions` WRITE;
-/*!40000 ALTER TABLE `mw_page_restrictions` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_page_restrictions` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_pagelinks`
---
-
-DROP TABLE IF EXISTS `mw_pagelinks`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_pagelinks` (
-  `pl_from` int(10) unsigned NOT NULL DEFAULT '0',
-  `pl_namespace` int(11) NOT NULL DEFAULT '0',
-  `pl_title` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  UNIQUE KEY `pl_from` (`pl_from`,`pl_namespace`,`pl_title`),
-  UNIQUE KEY `pl_namespace` (`pl_namespace`,`pl_title`,`pl_from`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_pagelinks`
---
-
-LOCK TABLES `mw_pagelinks` WRITE;
-/*!40000 ALTER TABLE `mw_pagelinks` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_pagelinks` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_protected_titles`
---
-
-DROP TABLE IF EXISTS `mw_protected_titles`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_protected_titles` (
-  `pt_namespace` int(11) NOT NULL,
-  `pt_title` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
-  `pt_user` int(10) unsigned NOT NULL,
-  `pt_reason` tinyblob,
-  `pt_timestamp` binary(14) NOT NULL,
-  `pt_expiry` varbinary(14) NOT NULL DEFAULT '',
-  `pt_create_perm` varbinary(60) NOT NULL,
-  UNIQUE KEY `pt_namespace_title` (`pt_namespace`,`pt_title`),
-  KEY `pt_timestamp` (`pt_timestamp`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_protected_titles`
---
-
-LOCK TABLES `mw_protected_titles` WRITE;
-/*!40000 ALTER TABLE `mw_protected_titles` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_protected_titles` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_querycache`
---
-
-DROP TABLE IF EXISTS `mw_querycache`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_querycache` (
-  `qc_type` varbinary(32) NOT NULL,
-  `qc_value` int(10) unsigned NOT NULL DEFAULT '0',
-  `qc_namespace` int(11) NOT NULL DEFAULT '0',
-  `qc_title` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  KEY `qc_type` (`qc_type`,`qc_value`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_querycache`
---
-
-LOCK TABLES `mw_querycache` WRITE;
-/*!40000 ALTER TABLE `mw_querycache` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_querycache` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_querycache_info`
---
-
-DROP TABLE IF EXISTS `mw_querycache_info`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_querycache_info` (
-  `qci_type` varbinary(32) NOT NULL DEFAULT '',
-  `qci_timestamp` binary(14) NOT NULL DEFAULT '19700101000000',
-  UNIQUE KEY `qci_type` (`qci_type`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_querycache_info`
---
-
-LOCK TABLES `mw_querycache_info` WRITE;
-/*!40000 ALTER TABLE `mw_querycache_info` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_querycache_info` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_querycachetwo`
---
-
-DROP TABLE IF EXISTS `mw_querycachetwo`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_querycachetwo` (
-  `qcc_type` varbinary(32) NOT NULL,
-  `qcc_value` int(10) unsigned NOT NULL DEFAULT '0',
-  `qcc_namespace` int(11) NOT NULL DEFAULT '0',
-  `qcc_title` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `qcc_namespacetwo` int(11) NOT NULL DEFAULT '0',
-  `qcc_titletwo` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  KEY `qcc_type` (`qcc_type`,`qcc_value`),
-  KEY `qcc_title` (`qcc_type`,`qcc_namespace`,`qcc_title`),
-  KEY `qcc_titletwo` (`qcc_type`,`qcc_namespacetwo`,`qcc_titletwo`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_querycachetwo`
---
-
-LOCK TABLES `mw_querycachetwo` WRITE;
-/*!40000 ALTER TABLE `mw_querycachetwo` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_querycachetwo` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_recentchanges`
---
-
-DROP TABLE IF EXISTS `mw_recentchanges`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_recentchanges` (
-  `rc_id` int(11) NOT NULL AUTO_INCREMENT,
-  `rc_timestamp` varbinary(14) NOT NULL DEFAULT '',
-  `rc_cur_time` varbinary(14) NOT NULL DEFAULT '',
-  `rc_user` int(10) unsigned NOT NULL DEFAULT '0',
-  `rc_user_text` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
-  `rc_namespace` int(11) NOT NULL DEFAULT '0',
-  `rc_title` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `rc_comment` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `rc_minor` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  `rc_bot` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  `rc_new` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  `rc_cur_id` int(10) unsigned NOT NULL DEFAULT '0',
-  `rc_this_oldid` int(10) unsigned NOT NULL DEFAULT '0',
-  `rc_last_oldid` int(10) unsigned NOT NULL DEFAULT '0',
-  `rc_type` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  `rc_moved_to_ns` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  `rc_moved_to_title` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `rc_patrolled` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  `rc_ip` varbinary(40) NOT NULL DEFAULT '',
-  `rc_old_len` int(11) DEFAULT NULL,
-  `rc_new_len` int(11) DEFAULT NULL,
-  `rc_deleted` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  `rc_logid` int(10) unsigned NOT NULL DEFAULT '0',
-  `rc_log_type` varbinary(255) DEFAULT NULL,
-  `rc_log_action` varbinary(255) DEFAULT NULL,
-  `rc_params` blob,
-  PRIMARY KEY (`rc_id`),
-  KEY `rc_timestamp` (`rc_timestamp`),
-  KEY `rc_namespace_title` (`rc_namespace`,`rc_title`),
-  KEY `rc_cur_id` (`rc_cur_id`),
-  KEY `new_name_timestamp` (`rc_new`,`rc_namespace`,`rc_timestamp`),
-  KEY `rc_ip` (`rc_ip`),
-  KEY `rc_ns_usertext` (`rc_namespace`,`rc_user_text`),
-  KEY `rc_user_text` (`rc_user_text`,`rc_timestamp`)
-) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_recentchanges`
---
-
-LOCK TABLES `mw_recentchanges` WRITE;
-/*!40000 ALTER TABLE `mw_recentchanges` DISABLE KEYS */;
-INSERT INTO `mw_recentchanges` VALUES (1,'20110107184113','20110107184113',0,'MediaWiki Default',0,'Main_Page','',0,0,1,1,1,0,1,0,'',0,'::1',0,438,0,0,NULL,'',''),(2,'20110110173131','20110110173131',1,'WikiSysop',0,'TestResources','Created page with \"Test the the SimpleSelenium database was loaded correctly\"',0,0,1,2,2,0,1,0,'',1,'::1',0,57,0,0,NULL,'','');
-/*!40000 ALTER TABLE `mw_recentchanges` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_redirect`
---
-
-DROP TABLE IF EXISTS `mw_redirect`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_redirect` (
-  `rd_from` int(10) unsigned NOT NULL DEFAULT '0',
-  `rd_namespace` int(11) NOT NULL DEFAULT '0',
-  `rd_title` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `rd_interwiki` varchar(32) DEFAULT NULL,
-  `rd_fragment` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
-  PRIMARY KEY (`rd_from`),
-  KEY `rd_ns_title` (`rd_namespace`,`rd_title`,`rd_from`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_redirect`
---
-
-LOCK TABLES `mw_redirect` WRITE;
-/*!40000 ALTER TABLE `mw_redirect` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_redirect` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_revision`
---
-
-DROP TABLE IF EXISTS `mw_revision`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_revision` (
-  `rev_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `rev_page` int(10) unsigned NOT NULL,
-  `rev_text_id` int(10) unsigned NOT NULL,
-  `rev_comment` tinyblob NOT NULL,
-  `rev_user` int(10) unsigned NOT NULL DEFAULT '0',
-  `rev_user_text` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `rev_timestamp` binary(14) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
-  `rev_minor_edit` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  `rev_deleted` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  `rev_len` int(10) unsigned DEFAULT NULL,
-  `rev_parent_id` int(10) unsigned DEFAULT NULL,
-  PRIMARY KEY (`rev_id`),
-  UNIQUE KEY `rev_page_id` (`rev_page`,`rev_id`),
-  KEY `rev_timestamp` (`rev_timestamp`),
-  KEY `page_timestamp` (`rev_page`,`rev_timestamp`),
-  KEY `user_timestamp` (`rev_user`,`rev_timestamp`),
-  KEY `usertext_timestamp` (`rev_user_text`,`rev_timestamp`)
-) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1 MAX_ROWS=10000000 AVG_ROW_LENGTH=1024;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_revision`
---
-
-LOCK TABLES `mw_revision` WRITE;
-/*!40000 ALTER TABLE `mw_revision` DISABLE KEYS */;
-INSERT INTO `mw_revision` VALUES (1,1,1,'',0,'MediaWiki Default','20110107184113',0,0,438,0),(2,2,2,'Created page with \"Test the the SimpleSelenium database was loaded correctly\"',1,'WikiSysop','20110110173131',0,0,57,0);
-/*!40000 ALTER TABLE `mw_revision` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_searchindex`
---
-
-DROP TABLE IF EXISTS `mw_searchindex`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_searchindex` (
-  `si_page` int(10) unsigned NOT NULL,
-  `si_title` varchar(255) NOT NULL DEFAULT '',
-  `si_text` mediumtext NOT NULL,
-  UNIQUE KEY `si_page` (`si_page`),
-  FULLTEXT KEY `si_title` (`si_title`),
-  FULLTEXT KEY `si_text` (`si_text`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_searchindex`
---
-
-LOCK TABLES `mw_searchindex` WRITE;
-/*!40000 ALTER TABLE `mw_searchindex` DISABLE KEYS */;
-INSERT INTO `mw_searchindex` VALUES (1,'main page','  mediawiki hasu800 been successfully installed.  consult theu800 user user\'su800 guide foru800 information onu800 using theu800 wiki software. getting started getting started getting started configuration settings list mediawiki faqu800 mediawiki release mailing list '),(2,'testresources',' test theu800 theu800 simpleselenium database wasu800 loaded correctly ');
-/*!40000 ALTER TABLE `mw_searchindex` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_site_stats`
---
-
-DROP TABLE IF EXISTS `mw_site_stats`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_site_stats` (
-  `ss_row_id` int(10) unsigned NOT NULL,
-  `ss_total_views` bigint(20) unsigned DEFAULT '0',
-  `ss_total_edits` bigint(20) unsigned DEFAULT '0',
-  `ss_good_articles` bigint(20) unsigned DEFAULT '0',
-  `ss_total_pages` bigint(20) DEFAULT '-1',
-  `ss_users` bigint(20) DEFAULT '-1',
-  `ss_active_users` bigint(20) DEFAULT '-1',
-  `ss_admins` int(11) DEFAULT '-1',
-  `ss_images` int(11) DEFAULT '0',
-  UNIQUE KEY `ss_row_id` (`ss_row_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_site_stats`
---
-
-LOCK TABLES `mw_site_stats` WRITE;
-/*!40000 ALTER TABLE `mw_site_stats` DISABLE KEYS */;
-INSERT INTO `mw_site_stats` VALUES (1,3,2,1,2,1,-1,-1,0);
-/*!40000 ALTER TABLE `mw_site_stats` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_tag_summary`
---
-
-DROP TABLE IF EXISTS `mw_tag_summary`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_tag_summary` (
-  `ts_rc_id` int(11) DEFAULT NULL,
-  `ts_log_id` int(11) DEFAULT NULL,
-  `ts_rev_id` int(11) DEFAULT NULL,
-  `ts_tags` blob NOT NULL,
-  UNIQUE KEY `tag_summary_rc_id` (`ts_rc_id`),
-  UNIQUE KEY `tag_summary_log_id` (`ts_log_id`),
-  UNIQUE KEY `tag_summary_rev_id` (`ts_rev_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_tag_summary`
---
-
-LOCK TABLES `mw_tag_summary` WRITE;
-/*!40000 ALTER TABLE `mw_tag_summary` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_tag_summary` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_templatelinks`
---
-
-DROP TABLE IF EXISTS `mw_templatelinks`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_templatelinks` (
-  `tl_from` int(10) unsigned NOT NULL DEFAULT '0',
-  `tl_namespace` int(11) NOT NULL DEFAULT '0',
-  `tl_title` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  UNIQUE KEY `tl_from` (`tl_from`,`tl_namespace`,`tl_title`),
-  UNIQUE KEY `tl_namespace` (`tl_namespace`,`tl_title`,`tl_from`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_templatelinks`
---
-
-LOCK TABLES `mw_templatelinks` WRITE;
-/*!40000 ALTER TABLE `mw_templatelinks` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_templatelinks` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_text`
---
-
-DROP TABLE IF EXISTS `mw_text`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_text` (
-  `old_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `old_text` mediumblob NOT NULL,
-  `old_flags` tinyblob NOT NULL,
-  PRIMARY KEY (`old_id`)
-) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1 MAX_ROWS=10000000 AVG_ROW_LENGTH=10240;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_text`
---
-
-LOCK TABLES `mw_text` WRITE;
-/*!40000 ALTER TABLE `mw_text` DISABLE KEYS */;
-INSERT INTO `mw_text` VALUES (1,'\'\'\'MediaWiki has been successfully installed.\'\'\'\n\nConsult the [http://meta.wikimedia.org/wiki/Help:Contents User\'s Guide] for information on using the wiki software.\n\n== Getting started ==\n* [http://www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list]\n* [http://www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]','utf-8'),(2,'Test the the SimpleSelenium database was loaded correctly','utf-8');
-/*!40000 ALTER TABLE `mw_text` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_trackbacks`
---
-
-DROP TABLE IF EXISTS `mw_trackbacks`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_trackbacks` (
-  `tb_id` int(11) NOT NULL AUTO_INCREMENT,
-  `tb_page` int(11) DEFAULT NULL,
-  `tb_title` varchar(255) NOT NULL,
-  `tb_url` blob NOT NULL,
-  `tb_ex` text,
-  `tb_name` varchar(255) DEFAULT NULL,
-  PRIMARY KEY (`tb_id`),
-  KEY `tb_page` (`tb_page`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_trackbacks`
---
-
-LOCK TABLES `mw_trackbacks` WRITE;
-/*!40000 ALTER TABLE `mw_trackbacks` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_trackbacks` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_transcache`
---
-
-DROP TABLE IF EXISTS `mw_transcache`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_transcache` (
-  `tc_url` varbinary(255) NOT NULL,
-  `tc_contents` text,
-  `tc_time` binary(14) DEFAULT NULL,
-  UNIQUE KEY `tc_url_idx` (`tc_url`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_transcache`
---
-
-LOCK TABLES `mw_transcache` WRITE;
-/*!40000 ALTER TABLE `mw_transcache` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_transcache` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_updatelog`
---
-
-DROP TABLE IF EXISTS `mw_updatelog`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_updatelog` (
-  `ul_key` varchar(255) NOT NULL,
-  `ul_value` blob,
-  PRIMARY KEY (`ul_key`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_updatelog`
---
-
-LOCK TABLES `mw_updatelog` WRITE;
-/*!40000 ALTER TABLE `mw_updatelog` DISABLE KEYS */;
-INSERT INTO `mw_updatelog` VALUES ('cl_fields_update',NULL),('convert transcache field',NULL),('mime_minor_length',NULL),('populate category',NULL),('populate rev_len',NULL),('populate rev_parent_id',NULL),('updatelist-1.18alpha-1294425799','a:128:{i:0;a:4:{i:0;s:8:\"addField\";i:1;s:8:\"ipblocks\";i:2;s:6:\"ipb_id\";i:3;s:18:\"patch-ipblocks.sql\";}i:1;a:4:{i:0;s:8:\"addField\";i:1;s:8:\"ipblocks\";i:2;s:10:\"ipb_expiry\";i:3;s:20:\"patch-ipb_expiry.sql\";}i:2;a:1:{i:0;s:17:\"doInterwikiUpdate\";}i:3;a:1:{i:0;s:13:\"doIndexUpdate\";}i:4;a:3:{i:0;s:8:\"addTable\";i:1;s:10:\"hitcounter\";i:2;s:20:\"patch-hitcounter.sql\";}i:5;a:4:{i:0;s:8:\"addField\";i:1;s:13:\"recentchanges\";i:2;s:7:\"rc_type\";i:3;s:17:\"patch-rc_type.sql\";}i:6;a:4:{i:0;s:8:\"addField\";i:1;s:4:\"user\";i:2;s:14:\"user_real_name\";i:3;s:23:\"patch-user-realname.sql\";}i:7;a:3:{i:0;s:8:\"addTable\";i:1;s:10:\"querycache\";i:2;s:20:\"patch-querycache.sql\";}i:8;a:3:{i:0;s:8:\"addTable\";i:1;s:11:\"objectcache\";i:2;s:21:\"patch-objectcache.sql\";}i:9;a:3:{i:0;s:8:\"addTable\";i:1;s:13:\"categorylinks\";i:2;s:23:\"patch-categorylinks.sql\";}i:10;a:1:{i:0;s:16:\"doOldLinksUpdate\";}i:11;a:1:{i:0;s:22:\"doFixAncientImagelinks\";}i:12;a:4:{i:0;s:8:\"addField\";i:1;s:13:\"recentchanges\";i:2;s:5:\"rc_ip\";i:3;s:15:\"patch-rc_ip.sql\";}i:13;a:4:{i:0;s:8:\"addIndex\";i:1;s:5:\"image\";i:2;s:7:\"PRIMARY\";i:3;s:28:\"patch-image_name_primary.sql\";}i:14;a:4:{i:0;s:8:\"addField\";i:1;s:13:\"recentchanges\";i:2;s:5:\"rc_id\";i:3;s:15:\"patch-rc_id.sql\";}i:15;a:4:{i:0;s:8:\"addField\";i:1;s:13:\"recentchanges\";i:2;s:12:\"rc_patrolled\";i:3;s:19:\"patch-rc-patrol.sql\";}i:16;a:3:{i:0;s:8:\"addTable\";i:1;s:7:\"logging\";i:2;s:17:\"patch-logging.sql\";}i:17;a:4:{i:0;s:8:\"addField\";i:1;s:4:\"user\";i:2;s:10:\"user_token\";i:3;s:20:\"patch-user_token.sql\";}i:18;a:4:{i:0;s:8:\"addField\";i:1;s:9:\"watchlist\";i:2;s:24:\"wl_notificationtimestamp\";i:3;s:28:\"patch-email-notification.sql\";}i:19;a:1:{i:0;s:17:\"doWatchlistUpdate\";}i:20;a:4:{i:0;s:9:\"dropField\";i:1;s:4:\"user\";i:2;s:33:\"user_emailauthenticationtimestamp\";i:3;s:30:\"patch-email-authentication.sql\";}i:21;a:1:{i:0;s:21:\"doSchemaRestructuring\";}i:22;a:4:{i:0;s:8:\"addField\";i:1;s:7:\"logging\";i:2;s:10:\"log_params\";i:3;s:20:\"patch-log_params.sql\";}i:23;a:4:{i:0;s:8:\"checkBin\";i:1;s:7:\"logging\";i:2;s:9:\"log_title\";i:3;s:23:\"patch-logging-title.sql\";}i:24;a:4:{i:0;s:8:\"addField\";i:1;s:7:\"archive\";i:2;s:9:\"ar_rev_id\";i:3;s:24:\"patch-archive-rev_id.sql\";}i:25;a:4:{i:0;s:8:\"addField\";i:1;s:4:\"page\";i:2;s:8:\"page_len\";i:3;s:18:\"patch-page_len.sql\";}i:26;a:4:{i:0;s:9:\"dropField\";i:1;s:8:\"revision\";i:2;s:17:\"inverse_timestamp\";i:3;s:27:\"patch-inverse_timestamp.sql\";}i:27;a:4:{i:0;s:8:\"addField\";i:1;s:8:\"revision\";i:2;s:11:\"rev_text_id\";i:3;s:21:\"patch-rev_text_id.sql\";}i:28;a:4:{i:0;s:8:\"addField\";i:1;s:8:\"revision\";i:2;s:11:\"rev_deleted\";i:3;s:21:\"patch-rev_deleted.sql\";}i:29;a:4:{i:0;s:8:\"addField\";i:1;s:5:\"image\";i:2;s:9:\"img_width\";i:3;s:19:\"patch-img_width.sql\";}i:30;a:4:{i:0;s:8:\"addField\";i:1;s:5:\"image\";i:2;s:12:\"img_metadata\";i:3;s:22:\"patch-img_metadata.sql\";}i:31;a:4:{i:0;s:8:\"addField\";i:1;s:4:\"user\";i:2;s:16:\"user_email_token\";i:3;s:26:\"patch-user_email_token.sql\";}i:32;a:4:{i:0;s:8:\"addField\";i:1;s:7:\"archive\";i:2;s:10:\"ar_text_id\";i:3;s:25:\"patch-archive-text_id.sql\";}i:33;a:1:{i:0;s:15:\"doNamespaceSize\";}i:34;a:4:{i:0;s:8:\"addField\";i:1;s:5:\"image\";i:2;s:14:\"img_media_type\";i:3;s:24:\"patch-img_media_type.sql\";}i:35;a:1:{i:0;s:17:\"doPagelinksUpdate\";}i:36;a:4:{i:0;s:9:\"dropField\";i:1;s:5:\"image\";i:2;s:8:\"img_type\";i:3;s:23:\"patch-drop_img_type.sql\";}i:37;a:1:{i:0;s:18:\"doUserUniqueUpdate\";}i:38;a:1:{i:0;s:18:\"doUserGroupsUpdate\";}i:39;a:4:{i:0;s:8:\"addField\";i:1;s:10:\"site_stats\";i:2;s:14:\"ss_total_pages\";i:3;s:27:\"patch-ss_total_articles.sql\";}i:40;a:3:{i:0;s:8:\"addTable\";i:1;s:12:\"user_newtalk\";i:2;s:22:\"patch-usernewtalk2.sql\";}i:41;a:3:{i:0;s:8:\"addTable\";i:1;s:10:\"transcache\";i:2;s:20:\"patch-transcache.sql\";}i:42;a:4:{i:0;s:8:\"addField\";i:1;s:9:\"interwiki\";i:2;s:8:\"iw_trans\";i:3;s:25:\"patch-interwiki-trans.sql\";}i:43;a:3:{i:0;s:8:\"addTable\";i:1;s:10:\"trackbacks\";i:2;s:20:\"patch-trackbacks.sql\";}i:44;a:1:{i:0;s:15:\"doWatchlistNull\";}i:45;a:4:{i:0;s:8:\"addIndex\";i:1;s:7:\"logging\";i:2;s:5:\"times\";i:3;s:29:\"patch-logging-times-index.sql\";}i:46;a:4:{i:0;s:8:\"addField\";i:1;s:8:\"ipblocks\";i:2;s:15:\"ipb_range_start\";i:3;s:25:\"patch-ipb_range_start.sql\";}i:47;a:1:{i:0;s:18:\"doPageRandomUpdate\";}i:48;a:4:{i:0;s:8:\"addField\";i:1;s:4:\"user\";i:2;s:17:\"user_registration\";i:3;s:27:\"patch-user_registration.sql\";}i:49;a:1:{i:0;s:21:\"doTemplatelinksUpdate\";}i:50;a:3:{i:0;s:8:\"addTable\";i:1;s:13:\"externallinks\";i:2;s:23:\"patch-externallinks.sql\";}i:51;a:3:{i:0;s:8:\"addTable\";i:1;s:3:\"job\";i:2;s:13:\"patch-job.sql\";}i:52;a:4:{i:0;s:8:\"addField\";i:1;s:10:\"site_stats\";i:2;s:9:\"ss_images\";i:3;s:19:\"patch-ss_images.sql\";}i:53;a:3:{i:0;s:8:\"addTable\";i:1;s:9:\"langlinks\";i:2;s:19:\"patch-langlinks.sql\";}i:54;a:3:{i:0;s:8:\"addTable\";i:1;s:15:\"querycache_info\";i:2;s:24:\"patch-querycacheinfo.sql\";}i:55;a:3:{i:0;s:8:\"addTable\";i:1;s:11:\"filearchive\";i:2;s:21:\"patch-filearchive.sql\";}i:56;a:4:{i:0;s:8:\"addField\";i:1;s:8:\"ipblocks\";i:2;s:13:\"ipb_anon_only\";i:3;s:23:\"patch-ipb_anon_only.sql\";}i:57;a:4:{i:0;s:8:\"addIndex\";i:1;s:13:\"recentchanges\";i:2;s:14:\"rc_ns_usertext\";i:3;s:31:\"patch-recentchanges-utindex.sql\";}i:58;a:4:{i:0;s:8:\"addIndex\";i:1;s:13:\"recentchanges\";i:2;s:12:\"rc_user_text\";i:3;s:28:\"patch-rc_user_text-index.sql\";}i:59;a:4:{i:0;s:8:\"addField\";i:1;s:4:\"user\";i:2;s:17:\"user_newpass_time\";i:3;s:27:\"patch-user_newpass_time.sql\";}i:60;a:3:{i:0;s:8:\"addTable\";i:1;s:8:\"redirect\";i:2;s:18:\"patch-redirect.sql\";}i:61;a:3:{i:0;s:8:\"addTable\";i:1;s:13:\"querycachetwo\";i:2;s:23:\"patch-querycachetwo.sql\";}i:62;a:4:{i:0;s:8:\"addField\";i:1;s:8:\"ipblocks\";i:2;s:20:\"ipb_enable_autoblock\";i:3;s:32:\"patch-ipb_optional_autoblock.sql\";}i:63;a:1:{i:0;s:26:\"doBacklinkingIndicesUpdate\";}i:64;a:4:{i:0;s:8:\"addField\";i:1;s:13:\"recentchanges\";i:2;s:10:\"rc_old_len\";i:3;s:16:\"patch-rc_len.sql\";}i:65;a:4:{i:0;s:8:\"addField\";i:1;s:4:\"user\";i:2;s:14:\"user_editcount\";i:3;s:24:\"patch-user_editcount.sql\";}i:66;a:1:{i:0;s:20:\"doRestrictionsUpdate\";}i:67;a:4:{i:0;s:8:\"addField\";i:1;s:7:\"logging\";i:2;s:6:\"log_id\";i:3;s:16:\"patch-log_id.sql\";}i:68;a:4:{i:0;s:8:\"addField\";i:1;s:8:\"revision\";i:2;s:13:\"rev_parent_id\";i:3;s:23:\"patch-rev_parent_id.sql\";}i:69;a:4:{i:0;s:8:\"addField\";i:1;s:17:\"page_restrictions\";i:2;s:5:\"pr_id\";i:3;s:35:\"patch-page_restrictions_sortkey.sql\";}i:70;a:4:{i:0;s:8:\"addField\";i:1;s:8:\"revision\";i:2;s:7:\"rev_len\";i:3;s:17:\"patch-rev_len.sql\";}i:71;a:4:{i:0;s:8:\"addField\";i:1;s:13:\"recentchanges\";i:2;s:10:\"rc_deleted\";i:3;s:20:\"patch-rc_deleted.sql\";}i:72;a:4:{i:0;s:8:\"addField\";i:1;s:7:\"logging\";i:2;s:11:\"log_deleted\";i:3;s:21:\"patch-log_deleted.sql\";}i:73;a:4:{i:0;s:8:\"addField\";i:1;s:7:\"archive\";i:2;s:10:\"ar_deleted\";i:3;s:20:\"patch-ar_deleted.sql\";}i:74;a:4:{i:0;s:8:\"addField\";i:1;s:8:\"ipblocks\";i:2;s:11:\"ipb_deleted\";i:3;s:21:\"patch-ipb_deleted.sql\";}i:75;a:4:{i:0;s:8:\"addField\";i:1;s:11:\"filearchive\";i:2;s:10:\"fa_deleted\";i:3;s:20:\"patch-fa_deleted.sql\";}i:76;a:4:{i:0;s:8:\"addField\";i:1;s:7:\"archive\";i:2;s:6:\"ar_len\";i:3;s:16:\"patch-ar_len.sql\";}i:77;a:4:{i:0;s:8:\"addField\";i:1;s:8:\"ipblocks\";i:2;s:15:\"ipb_block_email\";i:3;s:22:\"patch-ipb_emailban.sql\";}i:78;a:1:{i:0;s:28:\"doCategorylinksIndicesUpdate\";}i:79;a:4:{i:0;s:8:\"addField\";i:1;s:8:\"oldimage\";i:2;s:11:\"oi_metadata\";i:3;s:21:\"patch-oi_metadata.sql\";}i:80;a:4:{i:0;s:8:\"addIndex\";i:1;s:7:\"archive\";i:2;s:18:\"usertext_timestamp\";i:3;s:28:\"patch-archive-user-index.sql\";}i:81;a:4:{i:0;s:8:\"addIndex\";i:1;s:5:\"image\";i:2;s:22:\"img_usertext_timestamp\";i:3;s:26:\"patch-image-user-index.sql\";}i:82;a:4:{i:0;s:8:\"addIndex\";i:1;s:8:\"oldimage\";i:2;s:21:\"oi_usertext_timestamp\";i:3;s:29:\"patch-oldimage-user-index.sql\";}i:83;a:4:{i:0;s:8:\"addField\";i:1;s:7:\"archive\";i:2;s:10:\"ar_page_id\";i:3;s:25:\"patch-archive-page_id.sql\";}i:84;a:4:{i:0;s:8:\"addField\";i:1;s:5:\"image\";i:2;s:8:\"img_sha1\";i:3;s:18:\"patch-img_sha1.sql\";}i:85;a:3:{i:0;s:8:\"addTable\";i:1;s:16:\"protected_titles\";i:2;s:26:\"patch-protected_titles.sql\";}i:86;a:4:{i:0;s:8:\"addField\";i:1;s:8:\"ipblocks\";i:2;s:11:\"ipb_by_text\";i:3;s:21:\"patch-ipb_by_text.sql\";}i:87;a:3:{i:0;s:8:\"addTable\";i:1;s:10:\"page_props\";i:2;s:20:\"patch-page_props.sql\";}i:88;a:3:{i:0;s:8:\"addTable\";i:1;s:9:\"updatelog\";i:2;s:19:\"patch-updatelog.sql\";}i:89;a:3:{i:0;s:8:\"addTable\";i:1;s:8:\"category\";i:2;s:18:\"patch-category.sql\";}i:90;a:1:{i:0;s:20:\"doCategoryPopulation\";}i:91;a:4:{i:0;s:8:\"addField\";i:1;s:7:\"archive\";i:2;s:12:\"ar_parent_id\";i:3;s:22:\"patch-ar_parent_id.sql\";}i:92;a:4:{i:0;s:8:\"addField\";i:1;s:12:\"user_newtalk\";i:2;s:19:\"user_last_timestamp\";i:3;s:29:\"patch-user_last_timestamp.sql\";}i:93;a:1:{i:0;s:18:\"doPopulateParentId\";}i:94;a:4:{i:0;s:8:\"checkBin\";i:1;s:16:\"protected_titles\";i:2;s:8:\"pt_title\";i:3;s:27:\"patch-pt_title-encoding.sql\";}i:95;a:1:{i:0;s:28:\"doMaybeProfilingMemoryUpdate\";}i:96;a:1:{i:0;s:26:\"doFilearchiveIndicesUpdate\";}i:97;a:4:{i:0;s:8:\"addField\";i:1;s:10:\"site_stats\";i:2;s:15:\"ss_active_users\";i:3;s:25:\"patch-ss_active_users.sql\";}i:98;a:1:{i:0;s:17:\"doActiveUsersInit\";}i:99;a:4:{i:0;s:8:\"addField\";i:1;s:8:\"ipblocks\";i:2;s:18:\"ipb_allow_usertalk\";i:3;s:28:\"patch-ipb_allow_usertalk.sql\";}i:100;a:1:{i:0;s:14:\"doUniquePlTlIl\";}i:101;a:3:{i:0;s:8:\"addTable\";i:1;s:10:\"change_tag\";i:2;s:20:\"patch-change_tag.sql\";}i:102;a:3:{i:0;s:8:\"addTable\";i:1;s:11:\"tag_summary\";i:2;s:20:\"patch-change_tag.sql\";}i:103;a:3:{i:0;s:8:\"addTable\";i:1;s:9:\"valid_tag\";i:2;s:20:\"patch-change_tag.sql\";}i:104;a:3:{i:0;s:8:\"addTable\";i:1;s:15:\"user_properties\";i:2;s:25:\"patch-user_properties.sql\";}i:105;a:3:{i:0;s:8:\"addTable\";i:1;s:10:\"log_search\";i:2;s:20:\"patch-log_search.sql\";}i:106;a:1:{i:0;s:21:\"doLogSearchPopulation\";}i:107;a:4:{i:0;s:8:\"addField\";i:1;s:7:\"logging\";i:2;s:13:\"log_user_text\";i:3;s:23:\"patch-log_user_text.sql\";}i:108;a:3:{i:0;s:8:\"addTable\";i:1;s:10:\"l10n_cache\";i:2;s:20:\"patch-l10n_cache.sql\";}i:109;a:3:{i:0;s:8:\"addTable\";i:1;s:13:\"external_user\";i:2;s:23:\"patch-external_user.sql\";}i:110;a:4:{i:0;s:8:\"addIndex\";i:1;s:10:\"log_search\";i:2;s:12:\"ls_field_val\";i:3;s:33:\"patch-log_search-rename-index.sql\";}i:111;a:4:{i:0;s:8:\"addIndex\";i:1;s:10:\"change_tag\";i:2;s:17:\"change_tag_rc_tag\";i:3;s:28:\"patch-change_tag-indexes.sql\";}i:112;a:4:{i:0;s:8:\"addField\";i:1;s:8:\"redirect\";i:2;s:12:\"rd_interwiki\";i:3;s:22:\"patch-rd_interwiki.sql\";}i:113;a:1:{i:0;s:23:\"doUpdateTranscacheField\";}i:114;a:1:{i:0;s:14:\"renameEuWikiId\";}i:115;a:1:{i:0;s:22:\"doUpdateMimeMinorField\";}i:116;a:1:{i:0;s:16:\"doPopulateRevLen\";}i:117;a:3:{i:0;s:8:\"addTable\";i:1;s:7:\"iwlinks\";i:2;s:17:\"patch-iwlinks.sql\";}i:118;a:4:{i:0;s:8:\"addIndex\";i:1;s:7:\"iwlinks\";i:2;s:21:\"iwl_prefix_title_from\";i:3;s:27:\"patch-rename-iwl_prefix.sql\";}i:119;a:4:{i:0;s:8:\"addField\";i:1;s:9:\"updatelog\";i:2;s:8:\"ul_value\";i:3;s:18:\"patch-ul_value.sql\";}i:120;a:4:{i:0;s:8:\"addField\";i:1;s:9:\"interwiki\";i:2;s:6:\"iw_api\";i:3;s:27:\"patch-iw_api_and_wikiid.sql\";}i:121;a:4:{i:0;s:9:\"dropIndex\";i:1;s:7:\"iwlinks\";i:2;s:10:\"iwl_prefix\";i:3;s:25:\"patch-kill-iwl_prefix.sql\";}i:122;a:4:{i:0;s:9:\"dropIndex\";i:1;s:7:\"iwlinks\";i:2;s:21:\"iwl_prefix_from_title\";i:3;s:22:\"patch-kill-iwl_pft.sql\";}i:123;a:4:{i:0;s:8:\"addField\";i:1;s:13:\"categorylinks\";i:2;s:12:\"cl_collation\";i:3;s:40:\"patch-categorylinks-better-collation.sql\";}i:124;a:1:{i:0;s:16:\"doClFieldsUpdate\";}i:125;a:1:{i:0;s:17:\"doCollationUpdate\";}i:126;a:3:{i:0;s:8:\"addTable\";i:1;s:12:\"msg_resource\";i:2;s:22:\"patch-msg_resource.sql\";}i:127;a:3:{i:0;s:8:\"addTable\";i:1;s:11:\"module_deps\";i:2;s:21:\"patch-module_deps.sql\";}}');
-/*!40000 ALTER TABLE `mw_updatelog` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_user`
---
-
-DROP TABLE IF EXISTS `mw_user`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_user` (
-  `user_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `user_name` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `user_real_name` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `user_password` tinyblob NOT NULL,
-  `user_newpassword` tinyblob NOT NULL,
-  `user_newpass_time` binary(14) DEFAULT NULL,
-  `user_email` tinytext NOT NULL,
-  `user_touched` binary(14) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
-  `user_token` binary(32) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
-  `user_email_authenticated` binary(14) DEFAULT NULL,
-  `user_email_token` binary(32) DEFAULT NULL,
-  `user_email_token_expires` binary(14) DEFAULT NULL,
-  `user_registration` binary(14) DEFAULT NULL,
-  `user_editcount` int(11) DEFAULT NULL,
-  PRIMARY KEY (`user_id`),
-  UNIQUE KEY `user_name` (`user_name`),
-  KEY `user_email_token` (`user_email_token`)
-) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_user`
---
-
-LOCK TABLES `mw_user` WRITE;
-/*!40000 ALTER TABLE `mw_user` DISABLE KEYS */;
-INSERT INTO `mw_user` VALUES (1,'WikiSysop','',':B:9c595470:df2c1237ae75896744457e7dfbeb7f90','',NULL,'','','20110110173136','5e3b582786fa8150118cfa78f18de0c5',NULL,'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',NULL,'20110107184113',1);
-/*!40000 ALTER TABLE `mw_user` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_user_groups`
---
-
-DROP TABLE IF EXISTS `mw_user_groups`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_user_groups` (
-  `ug_user` int(10) unsigned NOT NULL DEFAULT '0',
-  `ug_group` varbinary(16) NOT NULL DEFAULT '',
-  UNIQUE KEY `ug_user_group` (`ug_user`,`ug_group`),
-  KEY `ug_group` (`ug_group`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_user_groups`
---
-
-LOCK TABLES `mw_user_groups` WRITE;
-/*!40000 ALTER TABLE `mw_user_groups` DISABLE KEYS */;
-INSERT INTO `mw_user_groups` VALUES (1,'bureaucrat'),(1,'sysop');
-/*!40000 ALTER TABLE `mw_user_groups` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_user_newtalk`
---
-
-DROP TABLE IF EXISTS `mw_user_newtalk`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_user_newtalk` (
-  `user_id` int(11) NOT NULL DEFAULT '0',
-  `user_ip` varbinary(40) NOT NULL DEFAULT '',
-  `user_last_timestamp` binary(14) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
-  KEY `user_id` (`user_id`),
-  KEY `user_ip` (`user_ip`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_user_newtalk`
---
-
-LOCK TABLES `mw_user_newtalk` WRITE;
-/*!40000 ALTER TABLE `mw_user_newtalk` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_user_newtalk` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_user_properties`
---
-
-DROP TABLE IF EXISTS `mw_user_properties`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_user_properties` (
-  `up_user` int(11) NOT NULL,
-  `up_property` varbinary(32) NOT NULL,
-  `up_value` blob,
-  UNIQUE KEY `user_properties_user_property` (`up_user`,`up_property`),
-  KEY `user_properties_property` (`up_property`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_user_properties`
---
-
-LOCK TABLES `mw_user_properties` WRITE;
-/*!40000 ALTER TABLE `mw_user_properties` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_user_properties` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_valid_tag`
---
-
-DROP TABLE IF EXISTS `mw_valid_tag`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_valid_tag` (
-  `vt_tag` varchar(255) NOT NULL,
-  PRIMARY KEY (`vt_tag`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_valid_tag`
---
-
-LOCK TABLES `mw_valid_tag` WRITE;
-/*!40000 ALTER TABLE `mw_valid_tag` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_valid_tag` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_watchlist`
---
-
-DROP TABLE IF EXISTS `mw_watchlist`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_watchlist` (
-  `wl_user` int(10) unsigned NOT NULL,
-  `wl_namespace` int(11) NOT NULL DEFAULT '0',
-  `wl_title` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `wl_notificationtimestamp` varbinary(14) DEFAULT NULL,
-  UNIQUE KEY `wl_user` (`wl_user`,`wl_namespace`,`wl_title`),
-  KEY `namespace_title` (`wl_namespace`,`wl_title`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_watchlist`
---
-
-LOCK TABLES `mw_watchlist` WRITE;
-/*!40000 ALTER TABLE `mw_watchlist` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_watchlist` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
--- Dump completed on 2011-01-10  9:34:34
diff --git a/tests/selenium/data/SimpleSeleniumTestImages.zip b/tests/selenium/data/SimpleSeleniumTestImages.zip
deleted file mode 100644 (file)
index 0374a1f..0000000
Binary files a/tests/selenium/data/SimpleSeleniumTestImages.zip and /dev/null differ
diff --git a/tests/selenium/data/Wikipedia-logo-v2-de.png b/tests/selenium/data/Wikipedia-logo-v2-de.png
deleted file mode 100644 (file)
index 7038524..0000000
Binary files a/tests/selenium/data/Wikipedia-logo-v2-de.png and /dev/null differ
diff --git a/tests/selenium/data/mediawiki118_fresh_installation.sql b/tests/selenium/data/mediawiki118_fresh_installation.sql
deleted file mode 100644 (file)
index 7beb9e6..0000000
+++ /dev/null
@@ -1,1543 +0,0 @@
--- MySQL dump 10.13  Distrib 5.1.41, for Win32 (ia32)
---
--- Host: localhost    Database: test_wiki
--- ------------------------------------------------------
--- Server version      5.1.41
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-
---
--- Table structure for table `mw_archive`
---
-
-DROP TABLE IF EXISTS `mw_archive`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_archive` (
-  `ar_namespace` int(11) NOT NULL DEFAULT '0',
-  `ar_title` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `ar_text` mediumblob NOT NULL,
-  `ar_comment` tinyblob NOT NULL,
-  `ar_user` int(10) unsigned NOT NULL DEFAULT '0',
-  `ar_user_text` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
-  `ar_timestamp` binary(14) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
-  `ar_minor_edit` tinyint(4) NOT NULL DEFAULT '0',
-  `ar_flags` tinyblob NOT NULL,
-  `ar_rev_id` int(10) unsigned DEFAULT NULL,
-  `ar_text_id` int(10) unsigned DEFAULT NULL,
-  `ar_deleted` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  `ar_len` int(10) unsigned DEFAULT NULL,
-  `ar_page_id` int(10) unsigned DEFAULT NULL,
-  `ar_parent_id` int(10) unsigned DEFAULT NULL,
-  KEY `name_title_timestamp` (`ar_namespace`,`ar_title`,`ar_timestamp`),
-  KEY `usertext_timestamp` (`ar_user_text`,`ar_timestamp`),
-  KEY `ar_page_revid` (`ar_namespace`,`ar_title`,`ar_rev_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_archive`
---
-
-LOCK TABLES `mw_archive` WRITE;
-/*!40000 ALTER TABLE `mw_archive` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_archive` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_category`
---
-
-DROP TABLE IF EXISTS `mw_category`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_category` (
-  `cat_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `cat_title` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
-  `cat_pages` int(11) NOT NULL DEFAULT '0',
-  `cat_subcats` int(11) NOT NULL DEFAULT '0',
-  `cat_files` int(11) NOT NULL DEFAULT '0',
-  `cat_hidden` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  PRIMARY KEY (`cat_id`),
-  UNIQUE KEY `cat_title` (`cat_title`),
-  KEY `cat_pages` (`cat_pages`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_category`
---
-
-LOCK TABLES `mw_category` WRITE;
-/*!40000 ALTER TABLE `mw_category` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_category` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_categorylinks`
---
-
-DROP TABLE IF EXISTS `mw_categorylinks`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_categorylinks` (
-  `cl_from` int(10) unsigned NOT NULL DEFAULT '0',
-  `cl_to` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `cl_sortkey` varbinary(230) NOT NULL DEFAULT '',
-  `cl_sortkey_prefix` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `cl_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
-  `cl_collation` varbinary(32) NOT NULL DEFAULT '',
-  `cl_type` enum('page','subcat','file') NOT NULL DEFAULT 'page',
-  UNIQUE KEY `cl_from` (`cl_from`,`cl_to`),
-  KEY `cl_sortkey` (`cl_to`,`cl_type`,`cl_sortkey`,`cl_from`),
-  KEY `cl_timestamp` (`cl_to`,`cl_timestamp`),
-  KEY `cl_collation` (`cl_collation`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_categorylinks`
---
-
-LOCK TABLES `mw_categorylinks` WRITE;
-/*!40000 ALTER TABLE `mw_categorylinks` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_categorylinks` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_change_tag`
---
-
-DROP TABLE IF EXISTS `mw_change_tag`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_change_tag` (
-  `ct_rc_id` int(11) DEFAULT NULL,
-  `ct_log_id` int(11) DEFAULT NULL,
-  `ct_rev_id` int(11) DEFAULT NULL,
-  `ct_tag` varchar(255) NOT NULL,
-  `ct_params` blob,
-  UNIQUE KEY `change_tag_rc_tag` (`ct_rc_id`,`ct_tag`),
-  UNIQUE KEY `change_tag_log_tag` (`ct_log_id`,`ct_tag`),
-  UNIQUE KEY `change_tag_rev_tag` (`ct_rev_id`,`ct_tag`),
-  KEY `change_tag_tag_id` (`ct_tag`,`ct_rc_id`,`ct_rev_id`,`ct_log_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_change_tag`
---
-
-LOCK TABLES `mw_change_tag` WRITE;
-/*!40000 ALTER TABLE `mw_change_tag` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_change_tag` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_external_user`
---
-
-DROP TABLE IF EXISTS `mw_external_user`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_external_user` (
-  `eu_local_id` int(10) unsigned NOT NULL,
-  `eu_external_id` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
-  PRIMARY KEY (`eu_local_id`),
-  UNIQUE KEY `eu_external_id` (`eu_external_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_external_user`
---
-
-LOCK TABLES `mw_external_user` WRITE;
-/*!40000 ALTER TABLE `mw_external_user` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_external_user` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_externallinks`
---
-
-DROP TABLE IF EXISTS `mw_externallinks`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_externallinks` (
-  `el_from` int(10) unsigned NOT NULL DEFAULT '0',
-  `el_to` blob NOT NULL,
-  `el_index` blob NOT NULL,
-  KEY `el_from` (`el_from`,`el_to`(40)),
-  KEY `el_to` (`el_to`(60),`el_from`),
-  KEY `el_index` (`el_index`(60))
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_externallinks`
---
-
-LOCK TABLES `mw_externallinks` WRITE;
-/*!40000 ALTER TABLE `mw_externallinks` DISABLE KEYS */;
-INSERT INTO `mw_externallinks` VALUES (1,'http://meta.wikimedia.org/wiki/Help:Contents','http://org.wikimedia.meta./wiki/Help:Contents');
-INSERT INTO `mw_externallinks` VALUES (1,'http://www.mediawiki.org/wiki/Manual:Configuration_settings','http://org.mediawiki.www./wiki/Manual:Configuration_settings');
-INSERT INTO `mw_externallinks` VALUES (1,'http://www.mediawiki.org/wiki/Manual:FAQ','http://org.mediawiki.www./wiki/Manual:FAQ');
-INSERT INTO `mw_externallinks` VALUES (1,'https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce','https://org.wikimedia.lists./mailman/listinfo/mediawiki-announce');
-/*!40000 ALTER TABLE `mw_externallinks` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_filearchive`
---
-
-DROP TABLE IF EXISTS `mw_filearchive`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_filearchive` (
-  `fa_id` int(11) NOT NULL AUTO_INCREMENT,
-  `fa_name` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `fa_archive_name` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT '',
-  `fa_storage_group` varbinary(16) DEFAULT NULL,
-  `fa_storage_key` varbinary(64) DEFAULT '',
-  `fa_deleted_user` int(11) DEFAULT NULL,
-  `fa_deleted_timestamp` binary(14) DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
-  `fa_deleted_reason` text,
-  `fa_size` int(10) unsigned DEFAULT '0',
-  `fa_width` int(11) DEFAULT '0',
-  `fa_height` int(11) DEFAULT '0',
-  `fa_metadata` mediumblob,
-  `fa_bits` int(11) DEFAULT '0',
-  `fa_media_type` enum('UNKNOWN','BITMAP','DRAWING','AUDIO','VIDEO','MULTIMEDIA','OFFICE','TEXT','EXECUTABLE','ARCHIVE') DEFAULT NULL,
-  `fa_major_mime` enum('unknown','application','audio','image','text','video','message','model','multipart') DEFAULT 'unknown',
-  `fa_minor_mime` varbinary(100) DEFAULT 'unknown',
-  `fa_description` tinyblob,
-  `fa_user` int(10) unsigned DEFAULT '0',
-  `fa_user_text` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
-  `fa_timestamp` binary(14) DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
-  `fa_deleted` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  PRIMARY KEY (`fa_id`),
-  KEY `fa_name` (`fa_name`,`fa_timestamp`),
-  KEY `fa_storage_group` (`fa_storage_group`,`fa_storage_key`),
-  KEY `fa_deleted_timestamp` (`fa_deleted_timestamp`),
-  KEY `fa_user_timestamp` (`fa_user_text`,`fa_timestamp`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_filearchive`
---
-
-LOCK TABLES `mw_filearchive` WRITE;
-/*!40000 ALTER TABLE `mw_filearchive` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_filearchive` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_hitcounter`
---
-
-DROP TABLE IF EXISTS `mw_hitcounter`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_hitcounter` (
-  `hc_id` int(10) unsigned NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=latin1 MAX_ROWS=25000;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_hitcounter`
---
-
-LOCK TABLES `mw_hitcounter` WRITE;
-/*!40000 ALTER TABLE `mw_hitcounter` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_hitcounter` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_image`
---
-
-DROP TABLE IF EXISTS `mw_image`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_image` (
-  `img_name` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `img_size` int(10) unsigned NOT NULL DEFAULT '0',
-  `img_width` int(11) NOT NULL DEFAULT '0',
-  `img_height` int(11) NOT NULL DEFAULT '0',
-  `img_metadata` mediumblob NOT NULL,
-  `img_bits` int(11) NOT NULL DEFAULT '0',
-  `img_media_type` enum('UNKNOWN','BITMAP','DRAWING','AUDIO','VIDEO','MULTIMEDIA','OFFICE','TEXT','EXECUTABLE','ARCHIVE') DEFAULT NULL,
-  `img_major_mime` enum('unknown','application','audio','image','text','video','message','model','multipart') NOT NULL DEFAULT 'unknown',
-  `img_minor_mime` varbinary(100) NOT NULL DEFAULT 'unknown',
-  `img_description` tinyblob NOT NULL,
-  `img_user` int(10) unsigned NOT NULL DEFAULT '0',
-  `img_user_text` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
-  `img_timestamp` varbinary(14) NOT NULL DEFAULT '',
-  `img_sha1` varbinary(32) NOT NULL DEFAULT '',
-  PRIMARY KEY (`img_name`),
-  KEY `img_usertext_timestamp` (`img_user_text`,`img_timestamp`),
-  KEY `img_size` (`img_size`),
-  KEY `img_timestamp` (`img_timestamp`),
-  KEY `img_sha1` (`img_sha1`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_image`
---
-
-LOCK TABLES `mw_image` WRITE;
-/*!40000 ALTER TABLE `mw_image` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_image` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_imagelinks`
---
-
-DROP TABLE IF EXISTS `mw_imagelinks`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_imagelinks` (
-  `il_from` int(10) unsigned NOT NULL DEFAULT '0',
-  `il_to` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  UNIQUE KEY `il_from` (`il_from`,`il_to`),
-  UNIQUE KEY `il_to` (`il_to`,`il_from`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_imagelinks`
---
-
-LOCK TABLES `mw_imagelinks` WRITE;
-/*!40000 ALTER TABLE `mw_imagelinks` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_imagelinks` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_interwiki`
---
-
-DROP TABLE IF EXISTS `mw_interwiki`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_interwiki` (
-  `iw_prefix` varchar(32) NOT NULL,
-  `iw_url` blob NOT NULL,
-  `iw_api` blob NOT NULL,
-  `iw_wikiid` varchar(64) NOT NULL,
-  `iw_local` tinyint(1) NOT NULL,
-  `iw_trans` tinyint(4) NOT NULL DEFAULT '0',
-  UNIQUE KEY `iw_prefix` (`iw_prefix`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_interwiki`
---
-
-LOCK TABLES `mw_interwiki` WRITE;
-/*!40000 ALTER TABLE `mw_interwiki` DISABLE KEYS */;
-INSERT INTO `mw_interwiki` VALUES ('acronym','http://www.acronymfinder.com/af-query.asp?String=exact&Acronym=$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('advogato','http://www.advogato.org/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('annotationwiki','http://www.seedwiki.com/page.cfm?wikiid=368&doc=$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('arxiv','http://www.arxiv.org/abs/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('c2find','http://c2.com/cgi/wiki?FindPage&value=$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('cache','http://www.google.com/search?q=cache:$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('commons','http://commons.wikimedia.org/wiki/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('corpknowpedia','http://corpknowpedia.org/wiki/index.php/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('dictionary','http://www.dict.org/bin/Dict?Database=*&Form=Dict1&Strategy=*&Query=$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('disinfopedia','http://www.disinfopedia.org/wiki.phtml?title=$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('docbook','http://wiki.docbook.org/topic/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('doi','http://dx.doi.org/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('drumcorpswiki','http://www.drumcorpswiki.com/index.php/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('dwjwiki','http://www.suberic.net/cgi-bin/dwj/wiki.cgi?$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('elibre','http://enciclopedia.us.es/index.php/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('emacswiki','http://www.emacswiki.org/cgi-bin/wiki.pl?$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('foldoc','http://foldoc.org/?$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('foxwiki','http://fox.wikis.com/wc.dll?Wiki~$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('freebsdman','http://www.FreeBSD.org/cgi/man.cgi?apropos=1&query=$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('gej','http://www.esperanto.de/cgi-bin/aktivikio/wiki.pl?$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('gentoo-wiki','http://gentoo-wiki.com/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('google','http://www.google.com/search?q=$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('googlegroups','http://groups.google.com/groups?q=$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('hammondwiki','http://www.dairiki.org/HammondWiki/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('hewikisource','http://he.wikisource.org/wiki/$1','','',1,0);
-INSERT INTO `mw_interwiki` VALUES ('hrwiki','http://www.hrwiki.org/index.php/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('imdb','http://us.imdb.com/Title?$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('jargonfile','http://sunir.org/apps/meta.pl?wiki=JargonFile&redirect=$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('jspwiki','http://www.jspwiki.org/wiki/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('keiki','http://kei.ki/en/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('kmwiki','http://kmwiki.wikispaces.com/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('linuxwiki','http://linuxwiki.de/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('lojban','http://www.lojban.org/tiki/tiki-index.php?page=$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('lqwiki','http://wiki.linuxquestions.org/wiki/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('lugkr','http://lug-kr.sourceforge.net/cgi-bin/lugwiki.pl?$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('mathsongswiki','http://SeedWiki.com/page.cfm?wikiid=237&doc=$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('meatball','http://www.usemod.com/cgi-bin/mb.pl?$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('mediawikiwiki','http://www.mediawiki.org/wiki/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('mediazilla','https://bugzilla.wikimedia.org/$1','','',1,0);
-INSERT INTO `mw_interwiki` VALUES ('memoryalpha','http://www.memory-alpha.org/en/index.php/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('metawiki','http://sunir.org/apps/meta.pl?$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('metawikimedia','http://meta.wikimedia.org/wiki/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('moinmoin','http://purl.net/wiki/moin/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('mozillawiki','http://wiki.mozilla.org/index.php/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('mw','http://www.mediawiki.org/wiki/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('oeis','http://www.research.att.com/cgi-bin/access.cgi/as/njas/sequences/eisA.cgi?Anum=$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('openfacts','http://openfacts.berlios.de/index.phtml?title=$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('openwiki','http://openwiki.com/?$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('pmeg','http://www.bertilow.com/pmeg/$1.php','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('ppr','http://c2.com/cgi/wiki?$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('pythoninfo','http://wiki.python.org/moin/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('rfc','http://www.rfc-editor.org/rfc/rfc$1.txt','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('s23wiki','http://is-root.de/wiki/index.php/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('seattlewiki','http://seattle.wikia.com/wiki/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('seattlewireless','http://seattlewireless.net/?$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('senseislibrary','http://senseis.xmp.net/?$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('sourceforge','http://sourceforge.net/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('squeak','http://wiki.squeak.org/squeak/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('susning','http://www.susning.nu/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('svgwiki','http://wiki.svg.org/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('tavi','http://tavi.sourceforge.net/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('tejo','http://www.tejo.org/vikio/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('theopedia','http://www.theopedia.com/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('tmbw','http://www.tmbw.net/wiki/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('tmnet','http://www.technomanifestos.net/?$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('tmwiki','http://www.EasyTopicMaps.com/?page=$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('twiki','http://twiki.org/cgi-bin/view/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('uea','http://www.tejo.org/uea/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('unreal','http://wiki.beyondunreal.com/wiki/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('usemod','http://www.usemod.com/cgi-bin/wiki.pl?$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('vinismo','http://vinismo.com/en/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('webseitzwiki','http://webseitz.fluxent.com/wiki/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('why','http://clublet.com/c/c/why?$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('wiki','http://c2.com/cgi/wiki?$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('wikia','http://www.wikia.com/wiki/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('wikibooks','http://en.wikibooks.org/wiki/$1','','',1,0);
-INSERT INTO `mw_interwiki` VALUES ('wikicities','http://www.wikia.com/wiki/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('wikif1','http://www.wikif1.org/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('wikihow','http://www.wikihow.com/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('wikimedia','http://wikimediafoundation.org/wiki/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('wikinews','http://en.wikinews.org/wiki/$1','','',1,0);
-INSERT INTO `mw_interwiki` VALUES ('wikinfo','http://www.wikinfo.org/index.php/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('wikipedia','http://en.wikipedia.org/wiki/$1','','',1,0);
-INSERT INTO `mw_interwiki` VALUES ('wikiquote','http://en.wikiquote.org/wiki/$1','','',1,0);
-INSERT INTO `mw_interwiki` VALUES ('wikisource','http://wikisource.org/wiki/$1','','',1,0);
-INSERT INTO `mw_interwiki` VALUES ('wikispecies','http://species.wikimedia.org/wiki/$1','','',1,0);
-INSERT INTO `mw_interwiki` VALUES ('wikitravel','http://wikitravel.org/en/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('wikiversity','http://en.wikiversity.org/wiki/$1','','',1,0);
-INSERT INTO `mw_interwiki` VALUES ('wikt','http://en.wiktionary.org/wiki/$1','','',1,0);
-INSERT INTO `mw_interwiki` VALUES ('wiktionary','http://en.wiktionary.org/wiki/$1','','',1,0);
-INSERT INTO `mw_interwiki` VALUES ('wlug','http://www.wlug.org.nz/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('zwiki','http://zwiki.org/$1','','',0,0);
-INSERT INTO `mw_interwiki` VALUES ('zzz wiki','http://wiki.zzz.ee/index.php/$1','','',0,0);
-/*!40000 ALTER TABLE `mw_interwiki` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_ipblocks`
---
-
-DROP TABLE IF EXISTS `mw_ipblocks`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_ipblocks` (
-  `ipb_id` int(11) NOT NULL AUTO_INCREMENT,
-  `ipb_address` tinyblob NOT NULL,
-  `ipb_user` int(10) unsigned NOT NULL DEFAULT '0',
-  `ipb_by` int(10) unsigned NOT NULL DEFAULT '0',
-  `ipb_by_text` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `ipb_reason` tinyblob NOT NULL,
-  `ipb_timestamp` binary(14) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
-  `ipb_auto` tinyint(1) NOT NULL DEFAULT '0',
-  `ipb_anon_only` tinyint(1) NOT NULL DEFAULT '0',
-  `ipb_create_account` tinyint(1) NOT NULL DEFAULT '1',
-  `ipb_enable_autoblock` tinyint(1) NOT NULL DEFAULT '1',
-  `ipb_expiry` varbinary(14) NOT NULL DEFAULT '',
-  `ipb_range_start` tinyblob NOT NULL,
-  `ipb_range_end` tinyblob NOT NULL,
-  `ipb_deleted` tinyint(1) NOT NULL DEFAULT '0',
-  `ipb_block_email` tinyint(1) NOT NULL DEFAULT '0',
-  `ipb_allow_usertalk` tinyint(1) NOT NULL DEFAULT '0',
-  PRIMARY KEY (`ipb_id`),
-  UNIQUE KEY `ipb_address` (`ipb_address`(255),`ipb_user`,`ipb_auto`,`ipb_anon_only`),
-  KEY `ipb_user` (`ipb_user`),
-  KEY `ipb_range` (`ipb_range_start`(8),`ipb_range_end`(8)),
-  KEY `ipb_timestamp` (`ipb_timestamp`),
-  KEY `ipb_expiry` (`ipb_expiry`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_ipblocks`
---
-
-LOCK TABLES `mw_ipblocks` WRITE;
-/*!40000 ALTER TABLE `mw_ipblocks` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_ipblocks` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_iwlinks`
---
-
-DROP TABLE IF EXISTS `mw_iwlinks`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_iwlinks` (
-  `iwl_from` int(10) unsigned NOT NULL DEFAULT '0',
-  `iwl_prefix` varbinary(20) NOT NULL DEFAULT '',
-  `iwl_title` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  UNIQUE KEY `iwl_from` (`iwl_from`,`iwl_prefix`,`iwl_title`),
-  UNIQUE KEY `iwl_prefix_title_from` (`iwl_prefix`,`iwl_title`,`iwl_from`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_iwlinks`
---
-
-LOCK TABLES `mw_iwlinks` WRITE;
-/*!40000 ALTER TABLE `mw_iwlinks` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_iwlinks` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_job`
---
-
-DROP TABLE IF EXISTS `mw_job`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_job` (
-  `job_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `job_cmd` varbinary(60) NOT NULL DEFAULT '',
-  `job_namespace` int(11) NOT NULL,
-  `job_title` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
-  `job_params` blob NOT NULL,
-  PRIMARY KEY (`job_id`),
-  KEY `job_cmd` (`job_cmd`,`job_namespace`,`job_title`,`job_params`(128))
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_job`
---
-
-LOCK TABLES `mw_job` WRITE;
-/*!40000 ALTER TABLE `mw_job` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_job` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_l10n_cache`
---
-
-DROP TABLE IF EXISTS `mw_l10n_cache`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_l10n_cache` (
-  `lc_lang` varbinary(32) NOT NULL,
-  `lc_key` varchar(255) NOT NULL,
-  `lc_value` mediumblob NOT NULL,
-  KEY `lc_lang_key` (`lc_lang`,`lc_key`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-
-
---
--- Table structure for table `mw_langlinks`
---
-
-DROP TABLE IF EXISTS `mw_langlinks`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_langlinks` (
-  `ll_from` int(10) unsigned NOT NULL DEFAULT '0',
-  `ll_lang` varbinary(20) NOT NULL DEFAULT '',
-  `ll_title` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  UNIQUE KEY `ll_from` (`ll_from`,`ll_lang`),
-  KEY `ll_lang` (`ll_lang`,`ll_title`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_langlinks`
---
-
-LOCK TABLES `mw_langlinks` WRITE;
-/*!40000 ALTER TABLE `mw_langlinks` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_langlinks` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_log_search`
---
-
-DROP TABLE IF EXISTS `mw_log_search`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_log_search` (
-  `ls_field` varbinary(32) NOT NULL,
-  `ls_value` varchar(255) NOT NULL,
-  `ls_log_id` int(10) unsigned NOT NULL DEFAULT '0',
-  UNIQUE KEY `ls_field_val` (`ls_field`,`ls_value`,`ls_log_id`),
-  KEY `ls_log_id` (`ls_log_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_log_search`
---
-
-LOCK TABLES `mw_log_search` WRITE;
-/*!40000 ALTER TABLE `mw_log_search` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_log_search` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_logging`
---
-
-DROP TABLE IF EXISTS `mw_logging`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_logging` (
-  `log_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `log_type` varbinary(32) NOT NULL DEFAULT '',
-  `log_action` varbinary(32) NOT NULL DEFAULT '',
-  `log_timestamp` binary(14) NOT NULL DEFAULT '19700101000000',
-  `log_user` int(10) unsigned NOT NULL DEFAULT '0',
-  `log_user_text` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `log_namespace` int(11) NOT NULL DEFAULT '0',
-  `log_title` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `log_page` int(10) unsigned DEFAULT NULL,
-  `log_comment` varchar(255) NOT NULL DEFAULT '',
-  `log_params` blob NOT NULL,
-  `log_deleted` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  PRIMARY KEY (`log_id`),
-  KEY `type_time` (`log_type`,`log_timestamp`),
-  KEY `user_time` (`log_user`,`log_timestamp`),
-  KEY `page_time` (`log_namespace`,`log_title`,`log_timestamp`),
-  KEY `times` (`log_timestamp`),
-  KEY `log_user_type_time` (`log_user`,`log_type`,`log_timestamp`),
-  KEY `log_page_id_time` (`log_page`,`log_timestamp`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_logging`
---
-
-LOCK TABLES `mw_logging` WRITE;
-/*!40000 ALTER TABLE `mw_logging` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_logging` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_math`
---
-
-DROP TABLE IF EXISTS `mw_math`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_math` (
-  `math_inputhash` varbinary(16) NOT NULL,
-  `math_outputhash` varbinary(16) NOT NULL,
-  `math_html_conservativeness` tinyint(4) NOT NULL,
-  `math_html` text,
-  `math_mathml` text,
-  UNIQUE KEY `math_inputhash` (`math_inputhash`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_math`
---
-
-LOCK TABLES `mw_math` WRITE;
-/*!40000 ALTER TABLE `mw_math` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_math` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_module_deps`
---
-
-DROP TABLE IF EXISTS `mw_module_deps`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_module_deps` (
-  `md_module` varbinary(255) NOT NULL,
-  `md_skin` varbinary(32) NOT NULL,
-  `md_deps` mediumblob NOT NULL,
-  UNIQUE KEY `md_module_skin` (`md_module`,`md_skin`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_module_deps`
---
-
-LOCK TABLES `mw_module_deps` WRITE;
-/*!40000 ALTER TABLE `mw_module_deps` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_module_deps` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_msg_resource`
---
-
-DROP TABLE IF EXISTS `mw_msg_resource`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_msg_resource` (
-  `mr_resource` varbinary(255) NOT NULL,
-  `mr_lang` varbinary(32) NOT NULL,
-  `mr_blob` mediumblob NOT NULL,
-  `mr_timestamp` binary(14) NOT NULL,
-  UNIQUE KEY `mr_resource_lang` (`mr_resource`,`mr_lang`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_msg_resource`
---
-
-LOCK TABLES `mw_msg_resource` WRITE;
-/*!40000 ALTER TABLE `mw_msg_resource` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_msg_resource` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_msg_resource_links`
---
-
-DROP TABLE IF EXISTS `mw_msg_resource_links`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_msg_resource_links` (
-  `mrl_resource` varbinary(255) NOT NULL,
-  `mrl_message` varbinary(255) NOT NULL,
-  UNIQUE KEY `mrl_message_resource` (`mrl_message`,`mrl_resource`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_msg_resource_links`
---
-
-LOCK TABLES `mw_msg_resource_links` WRITE;
-/*!40000 ALTER TABLE `mw_msg_resource_links` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_msg_resource_links` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_objectcache`
---
-
-DROP TABLE IF EXISTS `mw_objectcache`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_objectcache` (
-  `keyname` varbinary(255) NOT NULL DEFAULT '',
-  `value` mediumblob,
-  `exptime` datetime DEFAULT NULL,
-  PRIMARY KEY (`keyname`),
-  KEY `exptime` (`exptime`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_objectcache`
---
-
-LOCK TABLES `mw_objectcache` WRITE;
-/*!40000 ALTER TABLE `mw_objectcache` DISABLE KEYS */;
-INSERT INTO `mw_objectcache` VALUES ('test_wiki-mw_:messages:en','K�2��.�2�R\ns\r\n���S�δ2��\ 5\0','2010-12-31 13:16:31');
-INSERT INTO `mw_objectcache` VALUES ('test_wiki-mw_:pcache:idhash:1-0!*!*!!en!*','�V[o�F\14�g~��\ f��\12\ 6B��P��m\12)$TK�\ fU�\ 6�\0�����8$\e\7f�9�a\rI�l��X>��ܹ�q�\aSa,��ʕ�\vx��?[~ʃ|\ 6�.\18Z\1e��\ 3\1e$�8Y�\'�I�Y�K�\16�-\04�U����J�\'&�uB)�:I�\18��\10���E�m�\1csk`�`k\ 3�Q�v��a��\13�\rZ��t�0����+P%GE\a�ـ�JX;\n\10\12\18-\14s\ 4\19P�@\17�B�b\13���8~�첒\19$�\18�ea\10\12�υ��f��+���0[,�F\18�x��d�\1d\'�\14z�0��BJ���=���\17J��c�\\��:�\14�&B��T��\'��C��Fdÿ׆Fq����Gd����%8G�0��A\16�I�\ 2�;                Ԙ\1d`�7�5�LI\r\ 1��(���{�c�����\18g+��8Qr�&�ͦ��A)�V��ЕPT��\\UƧtn�\1e�Z�\ 3e�SfJZ\1f(V\ 1\ 1\ fP�}��\b��0��O�N     �=j�\\H�\v�y�\\�\1eU[h]T:�\f��bd��u��\10+�j%\'�6k��f:E�\1c;�@Y\18ך��\144���Ȁ�\b�q�\v��\7fZ�º6<b�3��TU(d�\17�,\n���Y|�e�\'\a�5��T�\ 1\13fU�8}�\"��\ 4m�\ 3��/\10���}Uk�\119o��;��\ 3��|*R?�n���   3d��g1��y�\\f8gk\1e�����w\ 2��=�\18\1c\16\ 4�:/Y7���ۋ�^<�Ō����\15v#���i����\ 6C�#��6\Z�.0�Ua$4\19\11�=\Z���;�\ 1�4����\ 1Y=���5��\ 6�:kpΐq��Ŧ4��X���C��q\1fYߵ-��Lj�����D�f��\e��\f�:�\1e��\19�(3t��14C��J�#����\ 5����\15��WXT���Δy:�^�6�v�7����I�U�Ee�\a�(�p0��ga�6\7fMj��Sc�,ѫ@��ޅ+R\ 5\ f����A��xХ\'6���utǷbۛ��\17`j�8ؚ�G�IC<KS��\ 65�|�krJ\ 6\ry�\\b3xP���\ 3��ua�@�\ f���$SS�`��tQ.gw\17W��\r\19@\'���w�� ��\bxZ(�>5\ 4{�\v\ f��\adw�>�=J)\r�6\15t ��X��\12��M��\b�B�\n�ŖT��\13��b>�qg���\12\v\ 47�\f�z�n\ e7��vwr�-%u�-Qi�iX1��Ne\13���A#�v��\15ӧ�3��?','2010-12-31 13:16:31');
-INSERT INTO `mw_objectcache` VALUES ('test_wiki-mw_:pcache:idoptions:1','E��\ e�@\fD��\1f`�\v\"v�ƣ��Wh��,�b�!�\18⭙7�L+�\13\1c|}�t\f��I�$�<��\ 1�F\rpSl�4����OJN`\r\Z���\f\f\17ծ���)�\a�PY��$�K�\ f���գ9�Vjp72��E���c�Wp�2��\acVxu7\1e��\e        ����\b\12p#�r=.���[>y)\ f\ f\1fZp��\ 5','2010-12-31 13:16:31');
-INSERT INTO `mw_objectcache` VALUES ('test_wiki-mw_:resourceloader:filter:minify-css:3832ee25d9c44988461f5f339b9b6a48','+�26�Rr�MM�LTH�ɩV\0�Z(��(3�\ 4(R�d\r\0','2038-01-19 03:14:07');
-INSERT INTO `mw_objectcache` VALUES ('test_wiki-mw_:resourceloader:filter:minify-css:aa0df16258ad99a1d249e796b5067ed9','+�2��Rr�MM�LTH�ɩN��K-�Q.,�L�NJ,R\0��s򋬔�\12\r���V�\Z\0','2038-01-19 03:14:07');
-INSERT INTO `mw_objectcache` VALUES ('test_wiki-mw_:resourceloader:filter:minify-js:22814eeadc9cf0a9ebcd844e14198e66','m��r�0\f��y\f��\19��r�&Qޡמ!\n�\18qQ�Xq;}���$��ވ� �c!]]].o5S�\n�)Fq\f\ e��L^\18\ e�?�s�F�\ 2!\1d�O\a�M\\�������\0���N��\18Ɂ���լ�\ e���:��-�j��F��{ۅ�G�\13\"i�\ e� \11\Z�6�K����!��Y]=�F[�\ f~竍\17\12��䶃\16\b\12���`��\a9N�Ǵ���@�K��\11\ f|z�?1�A��\1f@J#_ԁ�7\'�l\18�1)\vJ�͵�).�3\vz�f�T�A���H\ eњ�[#)�BzRA�7֌��\"T�*~SW�\a\11\1c�/P���B�Ŏ;\Z�ay�6\1c����+U��?.$�6��-u\1dT�v@h��s�&�����Nإb\e�fJ�~\ 5�]\ 36\19��p��/q)�\12>\ f�E�1�\ 4�͔A\ne�L�g\ZE�`cW�����`fJ�E�a\19��>��b\n�ӑd�.u�do�\e�[\e�\nt��b�+�\1f��l\1f\Z?X*��Y�\1f(�օ\10;\e�L�\1cJqť\ 6ɝ\10���d$\19�\"�WzG�-@b~\ f+�#�kǞَ�Ƃ~������P)B  ���\16�q�Җ2��\11�r�Rl�\15���\ 1`\1cz   �\ f4�����ÝX�m�;�X݁t;r.�sA�\15�R��\ 5y)�kA�\nR�JT��J�U��*�W��_ߟ�4@�vt��f���\7f>\15\ 6���x���\ 3','2038-01-19 03:14:07');
-INSERT INTO `mw_objectcache` VALUES ('test_wiki-mw_:resourceloader:filter:minify-js:dd9440c19c575629ac5ec90e489cf62e','+�21�R�\ 2��Ԕ�����L���Ĕ�\"��ĒT�j��̒T%+���ĔJ�ZMk.%k\0','2038-01-19 03:14:07');
-/*!40000 ALTER TABLE `mw_objectcache` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_oldimage`
---
-
-DROP TABLE IF EXISTS `mw_oldimage`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_oldimage` (
-  `oi_name` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `oi_archive_name` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `oi_size` int(10) unsigned NOT NULL DEFAULT '0',
-  `oi_width` int(11) NOT NULL DEFAULT '0',
-  `oi_height` int(11) NOT NULL DEFAULT '0',
-  `oi_bits` int(11) NOT NULL DEFAULT '0',
-  `oi_description` tinyblob NOT NULL,
-  `oi_user` int(10) unsigned NOT NULL DEFAULT '0',
-  `oi_user_text` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
-  `oi_timestamp` binary(14) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
-  `oi_metadata` mediumblob NOT NULL,
-  `oi_media_type` enum('UNKNOWN','BITMAP','DRAWING','AUDIO','VIDEO','MULTIMEDIA','OFFICE','TEXT','EXECUTABLE','ARCHIVE') DEFAULT NULL,
-  `oi_major_mime` enum('unknown','application','audio','image','text','video','message','model','multipart') NOT NULL DEFAULT 'unknown',
-  `oi_minor_mime` varbinary(100) NOT NULL DEFAULT 'unknown',
-  `oi_deleted` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  `oi_sha1` varbinary(32) NOT NULL DEFAULT '',
-  KEY `oi_usertext_timestamp` (`oi_user_text`,`oi_timestamp`),
-  KEY `oi_name_timestamp` (`oi_name`,`oi_timestamp`),
-  KEY `oi_name_archive_name` (`oi_name`,`oi_archive_name`(14)),
-  KEY `oi_sha1` (`oi_sha1`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_oldimage`
---
-
-LOCK TABLES `mw_oldimage` WRITE;
-/*!40000 ALTER TABLE `mw_oldimage` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_oldimage` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_page`
---
-
-DROP TABLE IF EXISTS `mw_page`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_page` (
-  `page_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `page_namespace` int(11) NOT NULL,
-  `page_title` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
-  `page_restrictions` tinyblob NOT NULL,
-  `page_counter` bigint(20) unsigned NOT NULL DEFAULT '0',
-  `page_is_redirect` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  `page_is_new` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  `page_random` double unsigned NOT NULL,
-  `page_touched` binary(14) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
-  `page_latest` int(10) unsigned NOT NULL,
-  `page_len` int(10) unsigned NOT NULL,
-  PRIMARY KEY (`page_id`),
-  UNIQUE KEY `name_title` (`page_namespace`,`page_title`),
-  KEY `page_random` (`page_random`),
-  KEY `page_len` (`page_len`)
-) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_page`
---
-
-LOCK TABLES `mw_page` WRITE;
-/*!40000 ALTER TABLE `mw_page` DISABLE KEYS */;
-INSERT INTO `mw_page` VALUES (1,0,'Main_Page','',1,0,1,0.334989576352,'20101230131547',1,438);
-/*!40000 ALTER TABLE `mw_page` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_page_props`
---
-
-DROP TABLE IF EXISTS `mw_page_props`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_page_props` (
-  `pp_page` int(11) NOT NULL,
-  `pp_propname` varbinary(60) NOT NULL,
-  `pp_value` blob NOT NULL,
-  UNIQUE KEY `pp_page_propname` (`pp_page`,`pp_propname`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_page_props`
---
-
-LOCK TABLES `mw_page_props` WRITE;
-/*!40000 ALTER TABLE `mw_page_props` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_page_props` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_page_restrictions`
---
-
-DROP TABLE IF EXISTS `mw_page_restrictions`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_page_restrictions` (
-  `pr_page` int(11) NOT NULL,
-  `pr_type` varbinary(60) NOT NULL,
-  `pr_level` varbinary(60) NOT NULL,
-  `pr_cascade` tinyint(4) NOT NULL,
-  `pr_user` int(11) DEFAULT NULL,
-  `pr_expiry` varbinary(14) DEFAULT NULL,
-  `pr_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  PRIMARY KEY (`pr_id`),
-  UNIQUE KEY `pr_pagetype` (`pr_page`,`pr_type`),
-  KEY `pr_typelevel` (`pr_type`,`pr_level`),
-  KEY `pr_level` (`pr_level`),
-  KEY `pr_cascade` (`pr_cascade`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_page_restrictions`
---
-
-LOCK TABLES `mw_page_restrictions` WRITE;
-/*!40000 ALTER TABLE `mw_page_restrictions` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_page_restrictions` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_pagelinks`
---
-
-DROP TABLE IF EXISTS `mw_pagelinks`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_pagelinks` (
-  `pl_from` int(10) unsigned NOT NULL DEFAULT '0',
-  `pl_namespace` int(11) NOT NULL DEFAULT '0',
-  `pl_title` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  UNIQUE KEY `pl_from` (`pl_from`,`pl_namespace`,`pl_title`),
-  UNIQUE KEY `pl_namespace` (`pl_namespace`,`pl_title`,`pl_from`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_pagelinks`
---
-
-LOCK TABLES `mw_pagelinks` WRITE;
-/*!40000 ALTER TABLE `mw_pagelinks` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_pagelinks` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_protected_titles`
---
-
-DROP TABLE IF EXISTS `mw_protected_titles`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_protected_titles` (
-  `pt_namespace` int(11) NOT NULL,
-  `pt_title` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
-  `pt_user` int(10) unsigned NOT NULL,
-  `pt_reason` tinyblob,
-  `pt_timestamp` binary(14) NOT NULL,
-  `pt_expiry` varbinary(14) NOT NULL DEFAULT '',
-  `pt_create_perm` varbinary(60) NOT NULL,
-  UNIQUE KEY `pt_namespace_title` (`pt_namespace`,`pt_title`),
-  KEY `pt_timestamp` (`pt_timestamp`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_protected_titles`
---
-
-LOCK TABLES `mw_protected_titles` WRITE;
-/*!40000 ALTER TABLE `mw_protected_titles` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_protected_titles` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_querycache`
---
-
-DROP TABLE IF EXISTS `mw_querycache`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_querycache` (
-  `qc_type` varbinary(32) NOT NULL,
-  `qc_value` int(10) unsigned NOT NULL DEFAULT '0',
-  `qc_namespace` int(11) NOT NULL DEFAULT '0',
-  `qc_title` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  KEY `qc_type` (`qc_type`,`qc_value`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_querycache`
---
-
-LOCK TABLES `mw_querycache` WRITE;
-/*!40000 ALTER TABLE `mw_querycache` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_querycache` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_querycache_info`
---
-
-DROP TABLE IF EXISTS `mw_querycache_info`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_querycache_info` (
-  `qci_type` varbinary(32) NOT NULL DEFAULT '',
-  `qci_timestamp` binary(14) NOT NULL DEFAULT '19700101000000',
-  UNIQUE KEY `qci_type` (`qci_type`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_querycache_info`
---
-
-LOCK TABLES `mw_querycache_info` WRITE;
-/*!40000 ALTER TABLE `mw_querycache_info` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_querycache_info` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_querycachetwo`
---
-
-DROP TABLE IF EXISTS `mw_querycachetwo`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_querycachetwo` (
-  `qcc_type` varbinary(32) NOT NULL,
-  `qcc_value` int(10) unsigned NOT NULL DEFAULT '0',
-  `qcc_namespace` int(11) NOT NULL DEFAULT '0',
-  `qcc_title` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `qcc_namespacetwo` int(11) NOT NULL DEFAULT '0',
-  `qcc_titletwo` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  KEY `qcc_type` (`qcc_type`,`qcc_value`),
-  KEY `qcc_title` (`qcc_type`,`qcc_namespace`,`qcc_title`),
-  KEY `qcc_titletwo` (`qcc_type`,`qcc_namespacetwo`,`qcc_titletwo`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_querycachetwo`
---
-
-LOCK TABLES `mw_querycachetwo` WRITE;
-/*!40000 ALTER TABLE `mw_querycachetwo` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_querycachetwo` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_recentchanges`
---
-
-DROP TABLE IF EXISTS `mw_recentchanges`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_recentchanges` (
-  `rc_id` int(11) NOT NULL AUTO_INCREMENT,
-  `rc_timestamp` varbinary(14) NOT NULL DEFAULT '',
-  `rc_cur_time` varbinary(14) NOT NULL DEFAULT '',
-  `rc_user` int(10) unsigned NOT NULL DEFAULT '0',
-  `rc_user_text` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
-  `rc_namespace` int(11) NOT NULL DEFAULT '0',
-  `rc_title` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `rc_comment` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `rc_minor` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  `rc_bot` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  `rc_new` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  `rc_cur_id` int(10) unsigned NOT NULL DEFAULT '0',
-  `rc_this_oldid` int(10) unsigned NOT NULL DEFAULT '0',
-  `rc_last_oldid` int(10) unsigned NOT NULL DEFAULT '0',
-  `rc_type` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  `rc_moved_to_ns` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  `rc_moved_to_title` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `rc_patrolled` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  `rc_ip` varbinary(40) NOT NULL DEFAULT '',
-  `rc_old_len` int(11) DEFAULT NULL,
-  `rc_new_len` int(11) DEFAULT NULL,
-  `rc_deleted` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  `rc_logid` int(10) unsigned NOT NULL DEFAULT '0',
-  `rc_log_type` varbinary(255) DEFAULT NULL,
-  `rc_log_action` varbinary(255) DEFAULT NULL,
-  `rc_params` blob,
-  PRIMARY KEY (`rc_id`),
-  KEY `rc_timestamp` (`rc_timestamp`),
-  KEY `rc_namespace_title` (`rc_namespace`,`rc_title`),
-  KEY `rc_cur_id` (`rc_cur_id`),
-  KEY `new_name_timestamp` (`rc_new`,`rc_namespace`,`rc_timestamp`),
-  KEY `rc_ip` (`rc_ip`),
-  KEY `rc_ns_usertext` (`rc_namespace`,`rc_user_text`),
-  KEY `rc_user_text` (`rc_user_text`,`rc_timestamp`)
-) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_recentchanges`
---
-
-LOCK TABLES `mw_recentchanges` WRITE;
-/*!40000 ALTER TABLE `mw_recentchanges` DISABLE KEYS */;
-INSERT INTO `mw_recentchanges` VALUES (1,'20101230131547','20101230131547',0,'MediaWiki Default',0,'Main_Page','',0,0,1,1,1,0,1,0,'',0,'::1',0,438,0,0,NULL,'','');
-/*!40000 ALTER TABLE `mw_recentchanges` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_redirect`
---
-
-DROP TABLE IF EXISTS `mw_redirect`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_redirect` (
-  `rd_from` int(10) unsigned NOT NULL DEFAULT '0',
-  `rd_namespace` int(11) NOT NULL DEFAULT '0',
-  `rd_title` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `rd_interwiki` varchar(32) DEFAULT NULL,
-  `rd_fragment` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
-  PRIMARY KEY (`rd_from`),
-  KEY `rd_ns_title` (`rd_namespace`,`rd_title`,`rd_from`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_redirect`
---
-
-LOCK TABLES `mw_redirect` WRITE;
-/*!40000 ALTER TABLE `mw_redirect` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_redirect` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_revision`
---
-
-DROP TABLE IF EXISTS `mw_revision`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_revision` (
-  `rev_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `rev_page` int(10) unsigned NOT NULL,
-  `rev_text_id` int(10) unsigned NOT NULL,
-  `rev_comment` tinyblob NOT NULL,
-  `rev_user` int(10) unsigned NOT NULL DEFAULT '0',
-  `rev_user_text` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `rev_timestamp` binary(14) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
-  `rev_minor_edit` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  `rev_deleted` tinyint(3) unsigned NOT NULL DEFAULT '0',
-  `rev_len` int(10) unsigned DEFAULT NULL,
-  `rev_parent_id` int(10) unsigned DEFAULT NULL,
-  PRIMARY KEY (`rev_id`),
-  UNIQUE KEY `rev_page_id` (`rev_page`,`rev_id`),
-  KEY `rev_timestamp` (`rev_timestamp`),
-  KEY `page_timestamp` (`rev_page`,`rev_timestamp`),
-  KEY `user_timestamp` (`rev_user`,`rev_timestamp`),
-  KEY `usertext_timestamp` (`rev_user_text`,`rev_timestamp`)
-) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 MAX_ROWS=10000000 AVG_ROW_LENGTH=1024;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_revision`
---
-
-LOCK TABLES `mw_revision` WRITE;
-/*!40000 ALTER TABLE `mw_revision` DISABLE KEYS */;
-INSERT INTO `mw_revision` VALUES (1,1,1,'',0,'MediaWiki Default','20101230131547',0,0,438,0);
-/*!40000 ALTER TABLE `mw_revision` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_searchindex`
---
-
-DROP TABLE IF EXISTS `mw_searchindex`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_searchindex` (
-  `si_page` int(10) unsigned NOT NULL,
-  `si_title` varchar(255) NOT NULL DEFAULT '',
-  `si_text` mediumtext NOT NULL,
-  UNIQUE KEY `si_page` (`si_page`),
-  FULLTEXT KEY `si_title` (`si_title`),
-  FULLTEXT KEY `si_text` (`si_text`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_searchindex`
---
-
-LOCK TABLES `mw_searchindex` WRITE;
-/*!40000 ALTER TABLE `mw_searchindex` DISABLE KEYS */;
-INSERT INTO `mw_searchindex` VALUES (1,'main page','  mediawiki hasu800 been successfully installed.  consult theu800 user user\'su800 guide foru800 information onu800 using theu800 wiki software. getting started getting started getting started configuration settings list mediawiki faqu800 mediawiki release mailing list ');
-/*!40000 ALTER TABLE `mw_searchindex` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_site_stats`
---
-
-DROP TABLE IF EXISTS `mw_site_stats`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_site_stats` (
-  `ss_row_id` int(10) unsigned NOT NULL,
-  `ss_total_views` bigint(20) unsigned DEFAULT '0',
-  `ss_total_edits` bigint(20) unsigned DEFAULT '0',
-  `ss_good_articles` bigint(20) unsigned DEFAULT '0',
-  `ss_total_pages` bigint(20) DEFAULT '-1',
-  `ss_users` bigint(20) DEFAULT '-1',
-  `ss_active_users` bigint(20) DEFAULT '-1',
-  `ss_admins` int(11) DEFAULT '-1',
-  `ss_images` int(11) DEFAULT '0',
-  UNIQUE KEY `ss_row_id` (`ss_row_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_site_stats`
---
-
-LOCK TABLES `mw_site_stats` WRITE;
-/*!40000 ALTER TABLE `mw_site_stats` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_site_stats` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_tag_summary`
---
-
-DROP TABLE IF EXISTS `mw_tag_summary`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_tag_summary` (
-  `ts_rc_id` int(11) DEFAULT NULL,
-  `ts_log_id` int(11) DEFAULT NULL,
-  `ts_rev_id` int(11) DEFAULT NULL,
-  `ts_tags` blob NOT NULL,
-  UNIQUE KEY `tag_summary_rc_id` (`ts_rc_id`),
-  UNIQUE KEY `tag_summary_log_id` (`ts_log_id`),
-  UNIQUE KEY `tag_summary_rev_id` (`ts_rev_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_tag_summary`
---
-
-LOCK TABLES `mw_tag_summary` WRITE;
-/*!40000 ALTER TABLE `mw_tag_summary` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_tag_summary` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_templatelinks`
---
-
-DROP TABLE IF EXISTS `mw_templatelinks`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_templatelinks` (
-  `tl_from` int(10) unsigned NOT NULL DEFAULT '0',
-  `tl_namespace` int(11) NOT NULL DEFAULT '0',
-  `tl_title` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  UNIQUE KEY `tl_from` (`tl_from`,`tl_namespace`,`tl_title`),
-  UNIQUE KEY `tl_namespace` (`tl_namespace`,`tl_title`,`tl_from`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_templatelinks`
---
-
-LOCK TABLES `mw_templatelinks` WRITE;
-/*!40000 ALTER TABLE `mw_templatelinks` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_templatelinks` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_text`
---
-
-DROP TABLE IF EXISTS `mw_text`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_text` (
-  `old_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `old_text` mediumblob NOT NULL,
-  `old_flags` tinyblob NOT NULL,
-  PRIMARY KEY (`old_id`)
-) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 MAX_ROWS=10000000 AVG_ROW_LENGTH=10240;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_text`
---
-
-LOCK TABLES `mw_text` WRITE;
-/*!40000 ALTER TABLE `mw_text` DISABLE KEYS */;
-INSERT INTO `mw_text` VALUES (1,'\'\'\'MediaWiki has been successfully installed.\'\'\'\n\nConsult the [http://meta.wikimedia.org/wiki/Help:Contents User\'s Guide] for information on using the wiki software.\n\n== Getting started ==\n* [http://www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list]\n* [http://www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]','utf-8');
-/*!40000 ALTER TABLE `mw_text` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_trackbacks`
---
-
-DROP TABLE IF EXISTS `mw_trackbacks`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_trackbacks` (
-  `tb_id` int(11) NOT NULL AUTO_INCREMENT,
-  `tb_page` int(11) DEFAULT NULL,
-  `tb_title` varchar(255) NOT NULL,
-  `tb_url` blob NOT NULL,
-  `tb_ex` text,
-  `tb_name` varchar(255) DEFAULT NULL,
-  PRIMARY KEY (`tb_id`),
-  KEY `tb_page` (`tb_page`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_trackbacks`
---
-
-LOCK TABLES `mw_trackbacks` WRITE;
-/*!40000 ALTER TABLE `mw_trackbacks` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_trackbacks` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_transcache`
---
-
-DROP TABLE IF EXISTS `mw_transcache`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_transcache` (
-  `tc_url` varbinary(255) NOT NULL,
-  `tc_contents` text,
-  `tc_time` binary(14) NOT NULL,
-  UNIQUE KEY `tc_url_idx` (`tc_url`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_transcache`
---
-
-LOCK TABLES `mw_transcache` WRITE;
-/*!40000 ALTER TABLE `mw_transcache` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_transcache` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_updatelog`
---
-
-DROP TABLE IF EXISTS `mw_updatelog`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_updatelog` (
-  `ul_key` varchar(255) NOT NULL,
-  `ul_value` blob,
-  PRIMARY KEY (`ul_key`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_updatelog`
---
-
-LOCK TABLES `mw_updatelog` WRITE;
-/*!40000 ALTER TABLE `mw_updatelog` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_updatelog` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_user`
---
-
-DROP TABLE IF EXISTS `mw_user`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_user` (
-  `user_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `user_name` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `user_real_name` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `user_password` tinyblob NOT NULL,
-  `user_newpassword` tinyblob NOT NULL,
-  `user_newpass_time` binary(14) DEFAULT NULL,
-  `user_email` tinytext NOT NULL,
-  `user_touched` binary(14) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
-  `user_token` binary(32) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
-  `user_email_authenticated` binary(14) DEFAULT NULL,
-  `user_email_token` binary(32) DEFAULT NULL,
-  `user_email_token_expires` binary(14) DEFAULT NULL,
-  `user_registration` binary(14) DEFAULT NULL,
-  `user_editcount` int(11) DEFAULT NULL,
-  PRIMARY KEY (`user_id`),
-  UNIQUE KEY `user_name` (`user_name`),
-  KEY `user_email_token` (`user_email_token`)
-) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_user`
---
-
-LOCK TABLES `mw_user` WRITE;
-/*!40000 ALTER TABLE `mw_user` DISABLE KEYS */;
-INSERT INTO `mw_user` VALUES (1,'WikiSysop','',':B:b1373470:f7e87db0c9596055f39a1225b0c31508','',NULL,'','','20101230131552','de4ddde7c4eef6e3609f4287324a0a18',NULL,'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',NULL,'20101230131547',0);
-/*!40000 ALTER TABLE `mw_user` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_user_groups`
---
-
-DROP TABLE IF EXISTS `mw_user_groups`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_user_groups` (
-  `ug_user` int(10) unsigned NOT NULL DEFAULT '0',
-  `ug_group` varbinary(16) NOT NULL DEFAULT '',
-  UNIQUE KEY `ug_user_group` (`ug_user`,`ug_group`),
-  KEY `ug_group` (`ug_group`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_user_groups`
---
-
-LOCK TABLES `mw_user_groups` WRITE;
-/*!40000 ALTER TABLE `mw_user_groups` DISABLE KEYS */;
-INSERT INTO `mw_user_groups` VALUES (1,'bureaucrat');
-INSERT INTO `mw_user_groups` VALUES (1,'sysop');
-/*!40000 ALTER TABLE `mw_user_groups` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_user_newtalk`
---
-
-DROP TABLE IF EXISTS `mw_user_newtalk`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_user_newtalk` (
-  `user_id` int(11) NOT NULL DEFAULT '0',
-  `user_ip` varbinary(40) NOT NULL DEFAULT '',
-  `user_last_timestamp` binary(14) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
-  KEY `user_id` (`user_id`),
-  KEY `user_ip` (`user_ip`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_user_newtalk`
---
-
-LOCK TABLES `mw_user_newtalk` WRITE;
-/*!40000 ALTER TABLE `mw_user_newtalk` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_user_newtalk` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_user_properties`
---
-
-DROP TABLE IF EXISTS `mw_user_properties`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_user_properties` (
-  `up_user` int(11) NOT NULL,
-  `up_property` varbinary(32) NOT NULL,
-  `up_value` blob,
-  UNIQUE KEY `user_properties_user_property` (`up_user`,`up_property`),
-  KEY `user_properties_property` (`up_property`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_user_properties`
---
-
-LOCK TABLES `mw_user_properties` WRITE;
-/*!40000 ALTER TABLE `mw_user_properties` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_user_properties` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_valid_tag`
---
-
-DROP TABLE IF EXISTS `mw_valid_tag`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_valid_tag` (
-  `vt_tag` varchar(255) NOT NULL,
-  PRIMARY KEY (`vt_tag`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_valid_tag`
---
-
-LOCK TABLES `mw_valid_tag` WRITE;
-/*!40000 ALTER TABLE `mw_valid_tag` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_valid_tag` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `mw_watchlist`
---
-
-DROP TABLE IF EXISTS `mw_watchlist`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mw_watchlist` (
-  `wl_user` int(10) unsigned NOT NULL,
-  `wl_namespace` int(11) NOT NULL DEFAULT '0',
-  `wl_title` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
-  `wl_notificationtimestamp` varbinary(14) DEFAULT NULL,
-  UNIQUE KEY `wl_user` (`wl_user`,`wl_namespace`,`wl_title`),
-  KEY `namespace_title` (`wl_namespace`,`wl_title`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `mw_watchlist`
---
-
-LOCK TABLES `mw_watchlist` WRITE;
-/*!40000 ALTER TABLE `mw_watchlist` DISABLE KEYS */;
-/*!40000 ALTER TABLE `mw_watchlist` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
--- Dump completed on 2010-12-31  1:20:11
diff --git a/tests/selenium/installer/MediaWikiButtonsAvailabilityTestCase.php b/tests/selenium/installer/MediaWikiButtonsAvailabilityTestCase.php
deleted file mode 100644 (file)
index 9c060fa..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-<?php
-/**
- * MediaWikiButtonsAvailabilityTestCase
- *
- * @file
- * @ingroup Maintenance
- * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com>
- * http://www.calcey.com/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-require_once __DIR__ . '/MediaWikiInstallationCommonFunction.php';
-
-/**
- * Test Case ID   : 30 (http://www.mediawiki.org/wiki/New_installer/Test_plan)
- * Test Case Name :'Back' and 'Continue' button availability
- * Version        : MediaWiki 1.18alpha
- */
-class MediaWikiButtonsAvailabilityTestCase extends MediaWikiInstallationCommonFunction {
-       function setUp() {
-               parent::setUp();
-       }
-
-       // Verify only 'Continue' button available on 'Language' page
-       public function testOnlyContinueButtonAvailability() {
-               parent::navigateLanguagePage();
-
-               // Verify only 'Continue' button avaialble
-               $this->assertTrue( $this->isElementPresent( "submit-continue" ) );
-
-               // 'Back' button is not avaialble
-               $this->assertElementNotPresent( "submit-back" );
-       }
-
-       // Verify 'Continue' and 'Back' buttons availability
-       public function testBothButtonsAvailability() {
-               // Verify buttons availability on 'Welcome to MediaWiki' page
-               parent::navigateWelcometoMediaWikiPage();
-               $this->assertTrue( $this->isElementPresent( "submit-back" ) );
-               $this->assertTrue( $this->isElementPresent( "submit-continue" ) );
-               parent::restartInstallation();
-
-               // Verify buttons availability on 'Connect to Database' page
-               parent::navigateConnetToDatabasePage();
-               $this->assertTrue( $this->isElementPresent( "submit-back" ) );
-               $this->assertTrue( $this->isElementPresent( "submit-continue" ) );
-               parent::restartInstallation();
-
-               // Verify buttons availability on 'Database settings' page
-               $databaseName = DB_NAME_PREFIX . "_db_settings";
-               parent::navigateDatabaseSettingsPage( $databaseName );
-               $this->assertTrue( $this->isElementPresent( "submit-back" ) );
-               $this->assertTrue( $this->isElementPresent( "submit-continue" ) );
-               parent::restartInstallation();
-
-               // Verify buttons availability on 'Name' page
-               $databaseName = DB_NAME_PREFIX . "_name";
-               parent::navigateNamePage( $databaseName );
-               $this->assertTrue( $this->isElementPresent( "submit-back" ) );
-               $this->assertTrue( $this->isElementPresent( "submit-continue" ) );
-               parent::restartInstallation();
-
-               // Verify buttons availability on 'Options' page
-               $databaseName = DB_NAME_PREFIX . "_options";
-               parent::navigateOptionsPage( $databaseName );
-               $this->assertTrue( $this->isElementPresent( "submit-back" ) );
-               $this->assertTrue( $this->isElementPresent( "submit-continue" ) );
-               parent::restartInstallation();
-
-               // Verify buttons availability on 'Install' page
-               $databaseName = DB_NAME_PREFIX . "_install";
-               parent::navigateInstallPage( $databaseName );
-               $this->assertTrue( $this->isElementPresent( "submit-back" ) );
-               $this->assertTrue( $this->isElementPresent( "submit-continue" ) );
-       }
-}
diff --git a/tests/selenium/installer/MediaWikiDifferentDatabaseAccountTestCase.php b/tests/selenium/installer/MediaWikiDifferentDatabaseAccountTestCase.php
deleted file mode 100644 (file)
index 117e5c8..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-/**
- * MediaWikiDifferentDatabaseAccountTestCase
- *
- * @file
- * @ingroup Maintenance
- * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com>
- * http://www.calcey.com/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-require_once __DIR__ . '/MediaWikiInstallationCommonFunction.php';
-
-/**
- * Test Case ID   : 04 (http://www.mediawiki.org/wiki/New_installer/Test_plan)
- * Test Case Name : Install MediaWiki with different Database accounts for web access.
- * Version        : MediaWiki 1.18alpha
- */
-class MediaWikiDifferentDatabaseAccountTestCase extends MediaWikiInstallationCommonFunction {
-       function setUp() {
-               parent::setUp();
-       }
-
-       // Install Mediawiki using 'MySQL' database type.
-       public function testDifferentDatabaseAccount() {
-               $databaseName = DB_NAME_PREFIX . "_dif_accounts";
-
-               // Navigate to the 'Database settings' page
-               parent::navigateDatabaseSettingsPage( $databaseName );
-
-               // Click on the 'Use the same account as for installation' check box
-               $this->click( "mysql__SameAccount" );
-
-               // Change the 'Database username'
-               $this->type( "mysql_wgDBuser", DB_WEB_USER );
-
-               // Enter 'Database password:'
-               $this->type( "mysql_wgDBpassword", DB_WEB_USER_PASSWORD );
-
-               // Select 'Create the account if it does not already exist' check box
-               $this->click( "mysql__CreateDBAccount" );
-               parent::clickContinueButton();
-
-               // 'Name' page
-               parent::completeNamePage();
-
-               // 'Options' page
-               parent::clickContinueButton();
-
-               // 'Install' page
-               $this->assertEquals( "Creating database user... done",
-                       $this->getText( LINK_FORM . "ul/li[3]" ) );
-               parent::clickContinueButton();
-
-               // 'Complete' page
-               parent::completePageSuccessfull();
-               $this->chooseCancelOnNextConfirmation();
-       }
-}
diff --git a/tests/selenium/installer/MediaWikiDifferntDatabasePrefixTestCase.php b/tests/selenium/installer/MediaWikiDifferntDatabasePrefixTestCase.php
deleted file mode 100644 (file)
index ed08928..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-/**
- * MediaWikiDifferntDatabasePrefixTestCase
- *
- * @file
- * @ingroup Maintenance
- * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com>
- * http://www.calcey.com/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-require_once __DIR__ . '/MediaWikiInstallationCommonFunction.php';
-
-/**
- * Test Case ID   : 02 (http://www.mediawiki.org/wiki/New_installer/Test_plan)
- * Test Case Name : Install MediaWiki with the same database and the different
- *                  database prefixes(Share one database between multiple wikis).
- * Version        : MediaWiki 1.18alpha
- */
-class MediaWikiDifferntDatabasePrefixTestCase extends MediaWikiInstallationCommonFunction {
-       function setUp() {
-               parent::setUp();
-       }
-
-       // Install Mediawiki using 'MySQL' database type.
-       public function testDifferentDatabasePrefix() {
-               $databaseName = DB_NAME_PREFIX . "_db_prefix";
-               parent::navigateInstallPage( $databaseName );
-
-               // To 'Options' page
-               parent::clickBackButton();
-
-               // To 'Name' page
-               parent::clickBackButton();
-
-               // To 'Database settings' page
-               parent::clickBackButton();
-
-               // To 'Connect to database' page
-               parent::clickBackButton();
-
-               // From 'Connect to database' page without database prefix
-               parent::clickContinueButton();
-
-               // Verify upgrade existing message
-               $this->assertEquals( "Upgrade existing installation",
-                       $this->getText( LINK_DIV . "h2" ) );
-
-               // To 'Connect to database' page
-               parent::clickBackButton();
-
-               // Input the database prefix
-               $this->type( "mysql_wgDBprefix", DATABASE_PREFIX );
-
-               // From 'Connect to database' page with database prefix
-               parent::clickContinueButton();
-
-               // To 'Complete' page
-               parent::clickContinueButton();
-               parent::completeNamePage();
-               parent::clickContinueButton();
-
-               // Verify already installed warning message
-               $this->assertEquals( "Install",
-                       $this->getText( LINK_DIV . "h2" ) );
-               $this->assertEquals( "Warning: You seem to have already installed MediaWiki and are trying to install it again. Please proceed to the next page.",
-                       $this->getText( LINK_FORM . "div[1]" ) );
-
-               parent::clickContinueButton();
-               parent::completePageSuccessfull();
-               $this->chooseCancelOnNextConfirmation();
-               parent::restartInstallation();
-       }
-}
diff --git a/tests/selenium/installer/MediaWikiErrorsConnectToDatabasePageTestCase.php b/tests/selenium/installer/MediaWikiErrorsConnectToDatabasePageTestCase.php
deleted file mode 100644 (file)
index da10eec..0000000
+++ /dev/null
@@ -1,131 +0,0 @@
-<?php
-/**
- * MediaWikiErrorsConnectToDatabasePageTestCase
- *
- * @file
- * @ingroup Maintenance
- * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com>
- * http://www.calcey.com/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-
-require_once __DIR__ . '/MediaWikiInstallationCommonFunction.php';
-
-/**
- * Test Case ID   : 09 (http://www.mediawiki.org/wiki/New_installer/Test_plan)
- * Test Case Name : Invalid/ blank values for fields in 'Connect to database' page.
- * Version        : MediaWiki 1.18alpha
- */
-
-class MediaWikiErrorsConnectToDatabasePageTestCase extends MediaWikiInstallationCommonFunction {
-
-       function setUp() {
-               parent::setUp();
-       }
-
-       // Verify warning messages for the 'Connet to database' page
-       public function testErrorsConnectToDatabasePage() {
-               parent::navigateConnetToDatabasePage();
-
-               // Verify warning mesage for invalid database host
-               $this->type( "mysql_wgDBserver", INVALID_DB_HOST );
-               parent::clickContinueButton();
-               $this->assertEquals( "DB connection error: php_network_getaddresses: getaddrinfo failed: No such host is known. (" . INVALID_DB_HOST . ").",
-                       $this->getText( LINK_DIV . "div[2]/div[2]/p[1]" ) );
-               $this->assertEquals( "Check the host, username and password below and try again.",
-                       $this->getText( LINK_DIV . "div[2]/div[2]/p[2]" ) );
-               // Verify warning message for the blank database host
-               $this->type( "mysql_wgDBserver", "" );
-               parent::clickContinueButton();
-               $this->assertEquals( "MySQL 4.0.14 or later is required, you have .",
-                       $this->getText( LINK_DIV . "div[2]/div[2]" ) );
-
-               // Valid Database Host
-               $this->type( "mysql_wgDBserver", VALID_DB_HOST );
-
-               // Verify warning message for the invalid database name
-               $this->type( "mysql_wgDBname", INVALID_DB_NAME );
-               parent::clickContinueButton();
-               $this->assertEquals( "Invalid database name \"" . INVALID_DB_NAME . "\". Use only ASCII letters (a-z, A-Z), numbers (0-9) and underscores (_).",
-                       $this->getText( LINK_DIV . "div[2]/div[2]/p" ) );
-
-               // Verify warning message for the blank database name
-               $this->type( "mysql_wgDBname", "" );
-               parent::clickContinueButton();
-               $this->assertEquals( "You must enter a value for \"Database name\"",
-                       $this->getText( LINK_DIV . "div[2]/div[2]" ) );
-
-               // valid Database name
-               $this->type( "mysql_wgDBname", VALID_DB_NAME );
-
-               // Verify warning message for the invalid databaase prefix
-               $this->type( "mysql_wgDBprefix", INVALID_DB_PREFIX );
-               parent::clickContinueButton();
-               $this->assertEquals( "Invalid database prefix \"" . INVALID_DB_PREFIX . "\". Use only ASCII letters (a-z, A-Z), numbers (0-9) and underscores (_).",
-                       $this->getText( LINK_DIV . "div[2]/div[2]" ) );
-
-               // Valid Database prefix
-               $this->type( "mysql_wgDBprefix", VALID_DB_PREFIX );
-
-               // Verify warning message for the invalid database user name
-               $this->type( "mysql__InstallUser", INVALID_DB_USER_NAME );
-               parent::clickContinueButton();
-               $this->assertEquals( "DB connection error: Access denied for user '" . INVALID_DB_USER_NAME . "'@'localhost' (using password: NO) (localhost).",
-                       $this->getText( LINK_DIV . "div[2]/div[2]/p[1]" ) );
-               $this->assertEquals( "Check the host, username and password below and try again.",
-                       $this->getText( LINK_DIV . "div[2]/div[2]/p[2]" ) );
-
-               // Verify warning message for the blank database user name
-               $this->type( "mysql__InstallUser", "" );
-               parent::clickContinueButton();
-               $this->assertEquals( "DB connection error: Access denied for user 'SYSTEM'@'localhost' (using password: NO) (localhost).",
-                       $this->getText( LINK_DIV . "div[2]/div[2]/p[1]" ) );
-               $this->assertEquals( "Check the host, username and password below and try again.",
-                       $this->getText( LINK_DIV . "div[2]/div[2]/p[2]" ) );
-
-               // Valid Database username
-               $this->type( "mysql__InstallUser", VALID_DB_USER_NAME );
-
-               // Verify warning message for the invalid password
-               $this->type( "mysql__InstallPassword", INVALID_DB_PASSWORD );
-               parent::clickContinueButton();
-
-               $this->assertEquals( "DB connection error: Access denied for user 'root'@'localhost' (using password: YES) (localhost).",
-                       $this->getText( LINK_DIV . "div[2]/div[2]/p[1]" ) );
-               $this->assertEquals( "Check the host, username and password below and try again.",
-                       $this->getText( LINK_DIV . "div[2]/div[2]/p[2]" ) );
-
-               // Verify warning message for the invalid username and password
-               $this->type( "mysql__InstallUser", INVALID_DB_USER_NAME );
-               $this->type( "mysql__InstallPassword", INVALID_DB_PASSWORD );
-               parent::clickContinueButton();
-               $this->assertEquals( "DB connection error: Access denied for user '" . INVALID_DB_USER_NAME . "'@'localhost' (using password: YES) (localhost).",
-                       $this->getText( LINK_DIV . "div[2]/div[2]/p[1]" ) );
-               $this->assertEquals( "Check the host, username and password below and try again.",
-                       $this->getText( LINK_DIV . "div[2]/div[2]/p[2]" ) );
-
-               // Valid username and valid password
-               $this->type( "mysql__InstallUser", VALID_DB_USER_NAME );
-               $this->type( "mysql__InstallPassword", "" );
-               parent::clickContinueButton();
-
-               // successfully completes the 'Connect to database' page
-               $this->assertEquals( "Database settings",
-                       $this->getText( LINK_DIV . "h2" ) );
-       }
-}
diff --git a/tests/selenium/installer/MediaWikiErrorsNamepageTestCase.php b/tests/selenium/installer/MediaWikiErrorsNamepageTestCase.php
deleted file mode 100644 (file)
index 3b2f012..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-<?php
-/**
- * MediaWikiErrorsNamepageTestCase
- *
- * @file
- * @ingroup Maintenance
- * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com>
- * http://www.calcey.com/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-require_once __DIR__ . '/MediaWikiInstallationCommonFunction.php';
-
-/**
- * Test Case ID   : 10 (http://www.mediawiki.org/wiki/New_installer/Test_plan)
- * Test Case Name : Invalid/ blank values for fields in 'Name' page.
- * Version        : MediaWiki 1.18alpha
- */
-class MediaWikiErrorsNamepageTestCase extends MediaWikiInstallationCommonFunction {
-       function setUp() {
-               parent::setUp();
-       }
-
-       // Verify warning message for the 'Name' page
-       public function testErrorsNamePage() {
-
-               $databaseName = DB_NAME_PREFIX . "_error_name";
-
-               parent::navigateNamePage( $databaseName );
-
-               // Verify warning message for all blank fields
-               parent::clickContinueButton();
-               $this->assertEquals( "Enter a site name.",
-                       $this->getText( LINK_DIV . "div[2]/div[2]" ) );
-               $this->assertEquals( "Enter an administrator username.",
-                       $this->getText( LINK_DIV . "div[3]/div[2]" ) );
-               $this->assertEquals( "Enter a password for the administrator account.",
-                       $this->getText( LINK_DIV . "div[4]/div[2]" ) );
-
-               // Verify warning message for the blank 'Site name'
-               $this->type( "config__AdminName", VALID_YOUR_NAME );
-               $this->type( "config__AdminPassword", VALID_PASSWORD );
-               $this->type( "config__AdminPassword2", VALID_PASSWORD_AGAIN );
-               parent::clickContinueButton();
-               $this->assertEquals( "Enter a site name.",
-                       $this->getText( LINK_DIV . "div[2]/div[2]" ) );
-
-               // Input valid 'Site name'
-               $this->type( "config_wgSitename", VALID_WIKI_NAME );
-
-               // Verify warning message for the invalid "Project namespace'
-               $this->click( "config__NamespaceType_other" );
-               $this->type( "config_wgMetaNamespace", INVALID_NAMESPACE );
-               parent::clickContinueButton();
-               $this->assertEquals( "The specified namespace \"\" is invalid. Specify a different project namespace.",
-                       $this->getText( LINK_DIV . "div[2]/div[2]" ) );
-
-               // Verify warning message for the blank 'Project namespace'
-               $this->type( "config_wgSitename", VALID_WIKI_NAME );
-               $this->click( "config__NamespaceType_other" );
-               $this->type( "config_wgMetaNamespace", "" );
-               parent::clickContinueButton();
-               $this->assertEquals( "The specified namespace \"\" is invalid. Specify a different project namespace.",
-                       $this->getText( LINK_DIV . "div[2]/div[2]" ) );
-
-               // Valid 'Project namespace'
-               $this->click( "config__NamespaceType_other" );
-               $this->type( "config_wgMetaNamespace", VALID_NAMESPACE );
-               parent::clickContinueButton();
-
-               // Valid 'Site name'
-               $this->click( "config__NamespaceType_site-name" );
-               $this->type( "config_wgSitename", VALID_WIKI_NAME );
-
-               // Verify warning message for blank 'Your name'
-               $this->type( "config__AdminName", " " );
-               parent::clickContinueButton();
-               $this->assertEquals( "Enter an administrator username.",
-                       $this->getText( LINK_DIV . "div[2]/div[2]" ) );
-
-               $this->type( "config_wgSitename", VALID_WIKI_NAME );
-               // Verify warning message for blank 'Password'
-               $this->type( "config__AdminName", VALID_YOUR_NAME );
-               $this->type( "config__AdminPassword", " " );
-               parent::clickContinueButton();
-               $this->assertEquals( "Enter a password for the administrator account.",
-                       $this->getText( LINK_DIV . "div[2]/div[2]" ) );
-
-               // Verify warning message for the blank 'Password again'
-               $this->type( "config_wgSitename", VALID_WIKI_NAME );
-               $this->type( "config__AdminPassword", VALID_PASSWORD );
-               $this->type( "config__AdminPassword2", " " );
-               parent::clickContinueButton();
-               $this->assertEquals( "The two passwords you entered do not match.",
-                       $this->getText( LINK_DIV . "div[2]/div[2]" ) );
-
-               // Verify warning message for the different'Password' and 'Password again'
-               $this->type( "config_wgSitename", VALID_WIKI_NAME );
-               $this->type( "config__AdminPassword", VALID_PASSWORD );
-               $this->type( "config__AdminPassword2", INVALID_PASSWORD_AGAIN );
-               parent::clickContinueButton();
-               $this->assertEquals( "The two passwords you entered do not match.",
-                       $this->getText( LINK_DIV . "div[2]/div[2]" ) );
-       }
-}
diff --git a/tests/selenium/installer/MediaWikiHelpFieldHintTestCase.php b/tests/selenium/installer/MediaWikiHelpFieldHintTestCase.php
deleted file mode 100644 (file)
index f7f5910..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-<?php
-/**
- * MediaWikiHelpFieldHintTestCase
- *
- * @file
- * @ingroup Maintenance
- * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com>
- * http://www.calcey.com/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-require_once __DIR__ . '/MediaWikiInstallationCommonFunction.php';
-
-/**
- * Test Case ID   : 29 (http://www.mediawiki.org/wiki/New_installer/Test_plan)
- * Test Case Name : Help field hint availability for the fields.
- * Version        : MediaWiki 1.18alpha
- */
-class MediaWikiHelpFieldHintTestCase extends MediaWikiInstallationCommonFunction {
-       function setUp() {
-               parent::setUp();
-       }
-
-       // Verify help field availability for the fields
-       public function testMySQLConnectToDatabaseFieldHint() {
-
-               parent::navigateConnetToDatabasePage();
-
-               // Verify help field for 'Database host'
-               $this->click( "//div[@id='DB_wrapper_mysql']/div/div[1]/div/span[1]" );
-               $this->assertEquals( MYSQL_DATABASE_HOST_HELP,
-                       $this->getText( "//div[@id='DB_wrapper_mysql']/div/div[1]/div/span[2]" ) );
-
-               // Verify help field for 'Database name'
-               $this->click( "//div[@id='DB_wrapper_mysql']/fieldset[1]/div[1]/div[1]/div/span[1]" );
-               $this->assertEquals( MYSQL_DATABASE_NAME_HELP,
-                       $this->getText( "//div[@id='DB_wrapper_mysql']/fieldset[1]/div[1]/div[1]/div/span[2]" ) );
-
-
-               // Verify help field for 'Database table prefix'
-               $this->click( "//div[@id='DB_wrapper_mysql']/fieldset[1]/div[2]/div[1]/div/span[1]" );
-               $this->assertEquals( MYSQL_DATABASE_TABLE_PREFIX_HELP,
-                       $this->getText( "//div[@id='DB_wrapper_mysql']/fieldset[1]/div[1]/div[1]/div/span[2]/p[1]" ) );
-
-               // Verify help field for 'Database username'
-               $this->click( "//div[@id='DB_wrapper_mysql']/fieldset[2]/div[1]/div[1]/div/span[1]" );
-               $this->assertEquals( MYSQL_DATBASE_USERNAME_HELP,
-                       $this->getText( "//div[@id='DB_wrapper_mysql']/fieldset[2]/div[1]/div[1]/div/span[2]" ) );
-
-               // Verify help field for 'Database password'
-               $this->click( "//div[@id='DB_wrapper_mysql']/fieldset[2]/div[2]/div[1]/div/span[1]" );
-               $this->assertEquals( MYSQL_DATABASE_PASSWORD_HELP,
-                       $this->getText( "//div[@id='DB_wrapper_mysql']/fieldset[2]/div[2]/div[1]/div/span[2]/p" ) );
-       }
-
-       public function testSQLiteConnectToDatabaseFieldHint() {
-               parent::navigateConnetToDatabasePage();
-               $this->click( "DBType_sqlite" );
-
-               //  Verify help field for 'SQLite data directory'
-               $this->click( "//div[@id='DB_wrapper_sqlite']/div[1]/div[1]/div/span[1]" );
-               $this->assertEquals( SQLITE_DATA_DIRECTORY_HELP,
-                       $this->getText( "//div[@id='DB_wrapper_sqlite']/div[1]/div[1]/div/span[2]" ) );
-
-               // Verify help field for 'Database name'
-               $this->click( "//div[@id='DB_wrapper_sqlite']/div[2]/div[1]/div/span[1]" );
-               $this->assertEquals( SQLITE_DATABASE_NAME_HELP, $this->getText( "//div[@id='DB_wrapper_sqlite']/div[2]/div[1]/div/span[2]/p" ) );
-       }
-
-       public function testDatabaseSettingsFieldHint() {
-
-               $databaseName = DB_NAME_PREFIX . "_db_field";
-               parent::navigateDatabaseSettingsPage( $databaseName );
-
-               // Verify help field for 'Search engine'
-               $this->click( LINK_FORM . "div[2]/span[1]" );
-               $this->assertEquals( SEARCH_ENGINE_HELP,
-                       $this->getText( LINK_FORM . "div[2]/span[2]" ) );
-
-               // Verify help field for 'Database character set'
-               $this->click( LINK_FORM . "div[4]/span[1]" );
-               $this->assertEquals( DATABASE_CHARACTER_SET_HELP,
-                       $this->getText( LINK_FORM . "div[4]/span[2]" ) );
-               parent::restartInstallation();
-       }
-
-       public function testNameFieldHint() {
-               $databaseName = DB_NAME_PREFIX . "_name_field";
-               parent::navigateNamePage( $databaseName );
-
-               // Verify help field for 'Name of Wiki'
-               $this->click( LINK_FORM . "div[1]/div[1]/div/span[1]" );
-               $this->assertEquals( NAME_OF_WIKI_HELP,
-                       $this->getText( LINK_FORM . "div[1]/div[1]/div/span[2]/p" ) );
-
-               // Verify help field for 'Project namespace'
-               $this->click( LINK_FORM . "div[2]/div[1]/div/span[1]" );
-               $this->assertEquals( PROJECT_NAMESPACE_HELP,
-                       $this->getText( LINK_FORM . "div[2]/div[1]/div/span[2]/p" ) );
-
-               // Verify help field for 'Your Name'
-               $this->click( LINK_FORM . "fieldset/div[1]/div[1]/div/span[1]" );
-               $this->assertEquals( USER_NAME_HELP,
-                       $this->getText( LINK_FORM . "fieldset/div[1]/div[1]/div/span[2]/p" ) );
-
-               // Verify help field for 'E mail address'
-               $this->click( LINK_FORM . "fieldset/div[4]/div[1]/div/span[1]" );
-               $this->assertEquals( EMAIL_ADDRESS_HELP,
-                       $this->getText( LINK_FORM . "fieldset/div[4]/div[1]/div/span[2]/p" ) );
-
-               parent::restartInstallation();
-       }
-}
-
diff --git a/tests/selenium/installer/MediaWikiInstallationCommonFunction.php b/tests/selenium/installer/MediaWikiInstallationCommonFunction.php
deleted file mode 100644 (file)
index 472d2ed..0000000
+++ /dev/null
@@ -1,259 +0,0 @@
-<?php
-/**
- * MediaWikiInstallationCommonFunction
- *
- * @file
- * @ingroup Maintenance
- * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com>
- * http://www.calcey.com/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-require_once 'PHPUnit/Extensions/SeleniumTestCase.php';
-require_once __DIR__ . '/MediaWikiInstallationConfig.php';
-require_once __DIR__ . '/MediaWikiInstallationMessage.php';
-require_once __DIR__ . '/MediaWikiInstallationVariables.php';
-
-class MediaWikiInstallationCommonFunction extends PHPUnit_Extensions_SeleniumTestCase {
-       function setUp() {
-               $this->setBrowser( TEST_BROWSER );
-               $this->setBrowserUrl( "http://" . HOST_NAME . ":" . PORT . "/" . DIRECTORY_NAME . "/" );
-       }
-
-       public function navigateInitialpage() {
-               $this->open( "http://" . HOST_NAME . ":" . PORT . "/" . DIRECTORY_NAME . "/" );
-       }
-
-       // Navigate to the 'Language' page
-       public function navigateLanguagePage() {
-               $this->open( "http://" . HOST_NAME . ":" . PORT . "/" . DIRECTORY_NAME . "/config/index.php" );
-       }
-
-       // Navigate to the 'Welcome to MediaWiki' page
-       public function navigateWelcometoMediaWikiPage() {
-               $this->open( "http://" . HOST_NAME . ":" . PORT . "/" . DIRECTORY_NAME . "/config/index.php" );
-               $this->click( "submit-continue " );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-       }
-
-       // Navigate yo 'Connect to Database' page
-       public function navigateConnetToDatabasePage() {
-               $this->open( "http://" . HOST_NAME . ":" . PORT . "/" . DIRECTORY_NAME . "/config/index.php" );
-
-               // 'Welcome to MediaWiki!' page
-               $this->click( "submit-continue" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-
-               // 'Connect to Database' page
-               $this->click( "submit-continue" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-       }
-
-       // Navigate to the 'Database Settings' page
-       public function navigateDatabaseSettingsPage( $databaseName ) {
-               $this->open( "http://" . HOST_NAME . ":" . PORT . "/" . DIRECTORY_NAME . "/config/index.php" );
-
-               // 'Welcome to MediaWiki!' page
-               $this->click( "submit-continue" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-
-               // 'Connect to Database' page
-               $this->click( "submit-continue" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-
-               $this->type( "mysql_wgDBname", $databaseName );
-               $this->click( "submit-continue" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-       }
-
-       // Navigate to the 'Name' page
-       public function navigateNamePage( $databaseName ) {
-               $this->open( "http://" . HOST_NAME . ":" . PORT . "/" . DIRECTORY_NAME . "/config/index.php" );
-
-               // 'Welcome to MediaWiki!' page
-               $this->click( "submit-continue" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-
-               // 'Connect to Database' page
-               $this->click( "submit-continue" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-
-               $this->type( "mysql_wgDBname", $databaseName );
-               $this->click( "submit-continue" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-
-               // Database settings
-               $this->click( "submit-continue" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-       }
-
-       // Navigate 'Options' page
-       public function navigateOptionsPage( $databaseName ) {
-               $this->open( "http://" . HOST_NAME . ":" . PORT . "/" . DIRECTORY_NAME . "/config/index.php" );
-
-               // 'Welcome to MediaWiki!' page
-               $this->click( "submit-continue" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-
-               // 'Connect to Database' page
-               $this->click( "submit-continue" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-
-               $this->type( "mysql_wgDBname", $databaseName );
-               $this->click( "submit-continue" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-
-               // Database settings
-               $this->click( "submit-continue" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-
-               // Name
-               $this->type( "config_wgSitename", NAME_OF_WIKI );
-               $this->type( "config__AdminName", ADMIN_USER_NAME );
-               $this->type( "config__AdminPassword", ADMIN_PASSWORD );
-               $this->type( "config__AdminPassword2", ADMIN_RETYPE_PASSWORD );
-               $this->type( "config__AdminEmail", ADMIN_EMAIL_ADDRESS );
-
-               $this->click( "submit-continue" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-       }
-
-       // Navigate 'Install' page
-       public function navigateInstallPage( $databaseName ) {
-               $this->open( "http://" . HOST_NAME . ":" . PORT . "/" . DIRECTORY_NAME . "/config/index.php" );
-
-               // 'Welcome to MediaWiki!' page
-               $this->click( "submit-continue" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-
-               // 'Connect to Database' page
-               $this->click( "submit-continue" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-
-               $this->type( "mysql_wgDBname", $databaseName );
-               $this->click( "submit-continue" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-
-               // Database settings
-               $this->click( "submit-continue" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-
-               // Name
-               $this->type( "config_wgSitename", NAME_OF_WIKI );
-               $this->type( "config__AdminName", ADMIN_USER_NAME );
-               $this->type( "config__AdminPassword", ADMIN_PASSWORD );
-               $this->type( "config__AdminPassword2", ADMIN_RETYPE_PASSWORD );
-               $this->type( "config__AdminEmail", ADMIN_EMAIL_ADDRESS );
-
-               $this->click( "submit-continue" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-
-               // Options page
-               $this->click( "submit-continue" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-       }
-
-       // Navigate to 'Complete' page
-       public function navigateCompletePage( $databaseName ) {
-               $this->open( "http://" . HOST_NAME . ":" . PORT . "/" . DIRECTORY_NAME . "/config/index.php" );
-
-               // 'Welcome to MediaWiki!' page
-               $this->click( "submit-continue" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-
-               // 'Connect to Database' page
-               $this->click( "submit-continue" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-
-               $this->type( "mysql_wgDBname", $databaseName );
-               $this->click( "submit-continue" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-
-               // Database settings
-               $this->click( "submit-continue" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-
-               // Name
-               $this->type( "config_wgSitename", NAME_OF_WIKI );
-               $this->type( "config__AdminName", ADMIN_USER_NAME );
-               $this->type( "config__AdminPassword", ADMIN_PASSWORD );
-               $this->type( "config__AdminPassword2", ADMIN_RETYPE_PASSWORD );
-               $this->type( "config__AdminEmail", ADMIN_EMAIL_ADDRESS );
-
-               $this->click( "submit-continue" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-
-               // Options page
-               $this->click( "submit-continue" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-
-               // Install page
-               $this->click( "submit-continue" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-               $this->chooseCancelOnNextConfirmation();
-       }
-
-       // Complete the Name page fields
-       public function completeNamePage() {
-               $this->type( "config_wgSitename", NAME_OF_WIKI );
-               $this->type( "config__AdminName", ADMIN_USER_NAME );
-               $this->type( "config__AdminPassword", ADMIN_PASSWORD );
-               $this->type( "config__AdminPassword2", ADMIN_RETYPE_PASSWORD );
-               $this->type( "config__AdminEmail", ADMIN_EMAIL_ADDRESS );
-               $this->click( "submit-continue" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-       }
-
-       // Clicking on the 'Continue' button in any MediaWiki page
-       public function clickContinueButton() {
-               $this->click( "submit-continue" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-       }
-
-       // Clicking on the 'Back' button in any MediaWiki page
-       public function clickBackButton() {
-               $this->click( "submit-back" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-       }
-
-       // Restarting the installation
-       public function restartInstallation() {
-               $this->click( "link=Restart installation" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-               $this->click( "submit-restart" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-       }
-
-       // Verify 'MediaWiki' logo available in the initial screen
-       public function mediaWikiLogoPresentInitialScreen() {
-               $this->assertTrue( $this->isElementPresent( "//img[@alt='The MediaWiki logo']" ) );
-       }
-
-       // Verify 'MediaWiki' logo available
-       public function mediaWikiLogoPresent() {
-               $this->assertTrue( $this->isElementPresent( "//div[@id='p-logo']/a" ) );
-       }
-
-       public function completePageSuccessfull() {
-               $this->assertEquals( "Complete!",
-                       $this->getText( "//div[@id='bodyContent']/div/div/h2" ) );
-
-               // 'Congratulations!' text should be available in the 'Complete!' page.
-               $this->assertEquals( "Congratulations!",
-                       $this->getText( "//div[@id='bodyContent']/div/div/div[2]/form/div[1]/div[2]/p[1]/b" ) );
-       }
-}
diff --git a/tests/selenium/installer/MediaWikiInstallationConfig.php b/tests/selenium/installer/MediaWikiInstallationConfig.php
deleted file mode 100644 (file)
index 86a4624..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-/**
- * MediaWikiInstallationConfig
- *
- * @file
- * @ingroup Maintenance
- * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com>
- * http://www.calcey.com/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-
-/**
- * MediaWikiInstallerTestSuite.php can be run one time successfully
- * with current value of the 'DB_NAME_PREFIX'.
- * If you wish to run the suite more than one time, you need to change
- * the value of the 'DB_NAME_PREFIX'.
- */
-define( 'DB_NAME_PREFIX', "database_name" );
-define( 'DIRECTORY_NAME', "mediawiki" );
-define( 'PORT', "8080" );
-define( 'HOST_NAME', "localhost" );
-
-/**
- *  Use the followings to run the test suite in different browsers.
- *  Firefox : *firefox
- *  IE :  *iexplore
- *  Google chrome : *googlechrome
- *  Opera :  *opera
- */
-define ( 'TEST_BROWSER', "*firefox" );
diff --git a/tests/selenium/installer/MediaWikiInstallationMessage.php b/tests/selenium/installer/MediaWikiInstallationMessage.php
deleted file mode 100644 (file)
index 2b7d48e..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
-/**
- * MediaWikiInstallationConfig
- *
- * @file
- * @ingroup Maintenance
- * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com>
- * http://www.calcey.com/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-
-// 'MySQL' database type help field hint
-define( 'MYSQL_DATABASE_HOST_HELP', "If your database server is on different server, enter the host name or IP address here. \nIf you are using shared web hosting, your hosting provider should give you the correct host name in their documentation. \nIf you are installing on a Windows server and using MySQL, using \"localhost\" may not work for the server name. If it does not, try \"127.0.0.1\" for the local IP address." );
-define( 'MYSQL_DATABASE_NAME_HELP', "Choose a name that identifies your wiki. It should not contain spaces or hyphens. \nIf you are using shared web hosting, your hosting provider will either give you a specific database name to use or let you create databases via a control panel." );
-define( 'MYSQL_DATABASE_TABLE_PREFIX_HELP', "Choose a name that identifies your wiki. It should not contain spaces or hyphens." );
-define( 'MYSQL_DATBASE_USERNAME_HELP', "Enter the username that will be used to connect to the database during the installation process. This is not the username of the MediaWiki account; this is the username for your database." );
-define( 'MYSQL_DATABASE_PASSWORD_HELP', "Enter the password that will be used to connect to the database during the installation process. This is not the password for the MediaWiki account; this is the password for your database." );
-
-
-// 'SQLite' database type help field hint
-define( 'SQLITE_DATA_DIRECTORY_HELP', "SQLite stores all data in a single file. \nThe directory you provide must be writable by the webserver during installation. \nIt should not be accessible via the web, this is why we're not putting it where your PHP files are. \nThe installer will write a .htaccess file along with it, but if that fails someone can gain access to your raw database. That includes raw user data (e-mail addresses, hashed passwords) as well as deleted revisions and other restricted data on the wiki. \nConsider putting the database somewhere else altogether, for example in /var/lib/mediawiki/yourwiki." );
-define( 'SQLITE_DATABASE_NAME_HELP', "Choose a name that identifies your wiki. Do not use spaces or hyphens. This will be used for the SQLite data file name." );
-
-
-// 'Database settings' page hel0p field hint
-define( 'SEARCH_ENGINE_HELP', "InnoDB is almost always the best option, since it has good concurrency support. \nMyISAM may be faster in single-user or read-only installations. MyISAM databases tend to get corrupted more often than InnoDB databases." );
-define( 'DATABASE_CHARACTER_SET_HELP', "In binary mode, MediaWiki stores UTF-8 text to the database in binary fields. This is more efficient than MySQL's UTF-8 mode, and allows you to use the full range of Unicode characters. \nIn UTF-8 mode, MySQL will know what character set your data is in, and can present and convert it appropriately, but it will not let you store characters above the Basic Multilingual Plane." );
-
-
-// 'Name' page help field hint
-define( 'NAME_OF_WIKI_HELP', "This will appear in the title bar of the browser and in various other places." );
-define( 'PROJECT_NAMESPACE_HELP', "Following Wikipedia's example, many wikis keep their policy pages separate from their content pages, in a \"project namespace\". All page titles in this namespace start with a certain prefix, which you can specify here. Traditionally, this prefix is derived from the name of the wiki, but it cannot contain punctuation characters such as \"#\" or \":\"." );
-define( 'USER_NAME_HELP', "Enter your preferred username here, for example \"Joe Bloggs\". This is the name you will use to log in to the wiki." );
-define( 'EMAIL_ADDRESS_HELP', "Enter an e-mail address here to allow you to receive e-mail from other users on the wiki, reset your password, and be notified of changes to pages on your watchlist." );
-define( 'SUBSCRIBE_MAILING_LIST_HELP', "This is a low-volume mailing list used for release announcements, including important security announcements. You should subscribe to it and update your MediaWiki installation when new versions come out." );
-
-
-
diff --git a/tests/selenium/installer/MediaWikiInstallationVariables.php b/tests/selenium/installer/MediaWikiInstallationVariables.php
deleted file mode 100644 (file)
index 3d7996b..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-/**
- * MediaWikiInstallationConfig
- *
- * @file
- * @ingroup Maintenance
- * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com>
- * http://www.calcey.com/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-
-// Common variables
-define( 'PAGE_LOAD_TIME', "80000" );
-
-// Common links
-define( 'LINK_DIV', "//div[@id='bodyContent']/div/div/" );
-define( 'LINK_FORM', "//div[@id='bodyContent']/div/div/div[2]/form/" );
-define( 'LINK_RIGHT_FRAMEWORK', "//div[@id='bodyContent']/div/div/div[1]/ul[1]/" );
-
-// 'Name' page input values
-define( 'NAME_OF_WIKI', "Site Name" );
-define( 'ADMIN_USER_NAME', "My Name" );
-define( 'ADMIN_PASSWORD', "12345" );
-define ( 'ADMIN_RETYPE_PASSWORD', "12345" );
-define ( 'ADMIN_EMAIL_ADDRESS', "admin@example.com" );
-
-
-// 'Name' page input values for warning messages
-define( 'VALID_WIKI_NAME', "MyWiki" );
-define( 'VALID_YOUR_NAME', "FirstName LastName" );
-define( 'VALID_PASSWORD', "12345" );
-define( 'VALID_PASSWORD_AGAIN', "12345" );
-define( 'INVALID_PASSWORD_AGAIN', "123" );
-define( 'VALID_NAMESPACE', "Mynamespace" );
-define( 'INVALID_NAMESPACE', "##..##" );
-
-
-// 'Database settings' page input values
-define( 'DB_WEB_USER', "different" );
-define( 'DB_WEB_USER_PASSWORD', "12345" );
-
-
-// 'Connet to database' page input values
-define( 'DATABASE_PREFIX', "databaseprefix" );
-
-
-// 'Connet to database' page input values for warning messages
-define( 'VALID_DB_HOST', "localhost" );
-define( 'INVALID_DB_HOST', "local" );
-define( 'INVALID_DB_NAME', "my-wiki" );
-define( 'VALID_DB_NAME', "my_wiki1" );
-define( 'INVALID_DB_PREFIX', "database prefix" );
-define( 'VALID_DB_PREFIX', "database_prefix" );
-define( 'INVALID_DB_USER_NAME', "roots" );
-define( 'VALID_DB_USER_NAME', "root" );
-define( 'INVALID_DB_PASSWORD', "12345" );
-
-
diff --git a/tests/selenium/installer/MediaWikiInstallerTestSuite.php b/tests/selenium/installer/MediaWikiInstallerTestSuite.php
deleted file mode 100644 (file)
index e32a9e6..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-/**
- * MediaWikiInstallerTestSuite
- *
- * @file
- * @ingroup Maintenance
- * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com>
- * http://www.calcey.com/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-if ( PHP_SAPI != 'cli' ) {
-       die( "Run me from the command line please.\n" );
-}
-
-require_once 'PHPUnit/Framework/TestSuite.php';
-
-require_once __DIR__ . '/MediaWikiUserInterfaceTestCase.php';
-require_once __DIR__ . '/MediaWikiButtonsAvailabilityTestCase.php';
-require_once __DIR__ . '/MediaWikiHelpFieldHintTestCase.php';
-require_once __DIR__ . '/MediaWikiRightFrameworkLinksTestCase.php';
-require_once __DIR__ . '/MediaWikiRestartInstallationTestCase.php';
-require_once __DIR__ . '/MediaWikiErrorsConnectToDatabasePageTestCase.php';
-require_once __DIR__ . '/MediaWikiErrorsNamepageTestCase.php';
-require_once __DIR__ . '/MediaWikiMySQLDataBaseTestCase.php';
-require_once __DIR__ . '/MediaWikiMySQLiteDataBaseTestCase.php';
-require_once __DIR__ . '/MediaWikiUpgradeExistingDatabaseTestCase.php';
-require_once __DIR__ . '/MediaWikiDifferntDatabasePrefixTestCase.php';
-require_once __DIR__ . '/MediaWikiDifferentDatabaseAccountTestCase.php';
-require_once __DIR__ . '/MediaWikiOnAlreadyInstalledTestCase.php';
-
-$suite = new PHPUnit_Framework_TestSuite( 'ArrayTest' );
-$result = new PHPUnit_Framework_TestResult;
-
-$suite->run( $result );
diff --git a/tests/selenium/installer/MediaWikiMySQLDataBaseTestCase.php b/tests/selenium/installer/MediaWikiMySQLDataBaseTestCase.php
deleted file mode 100644 (file)
index 823bb8c..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
-/**
- * MediaWikiOnAlreadyInstalledTestCase
- *
- * @file
- * @ingroup Maintenance
- * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com>
- * http://www.calcey.com/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-require_once __DIR__ . '/MediaWikiInstallationCommonFunction.php';
-
-/**
- * Test Case ID   : 01 (http://www.mediawiki.org/wiki/New_installer/Test_plan)
- * Test Case Name : Install Mediawiki using 'MySQL' database type successfully
- * Version        : MediaWiki 1.18alpha
- */
-
-class MediaWikiMySQLDataBaseTestCase extends MediaWikiInstallationCommonFunction {
-       function setUp() {
-               parent::setUp();
-       }
-
-       // Verify  MediaWiki installation using 'MySQL' database type
-       public function testMySQLDatabaseSuccess() {
-               $databaseName = DB_NAME_PREFIX . "_sql_db";
-
-               parent::navigateConnetToDatabasePage();
-
-               // Verify 'MySQL" is selected as the default database type
-               $this->assertEquals( "MySQL settings", $this->getText( "//div[@id='DB_wrapper_mysql']/h3" ) );
-
-               // Change 'Database name'
-               $defaultDbName = $this->getText( "mysql_wgDBname" );
-               $this->type( "mysql_wgDBname", " " );
-               $this->type( "mysql_wgDBname", $databaseName );
-               $this->assertNotEquals( $defaultDbName, $databaseName );
-
-               // 'Database settings' page
-               parent::clickContinueButton();
-
-               // 'Name' page
-               parent::clickContinueButton();
-               parent::completeNamePage();
-
-               // 'Options page
-               parent::clickContinueButton();
-
-               // 'Install' page
-               parent::clickContinueButton();
-
-               // 'Complete' page
-               parent::completePageSuccessfull();
-               parent::restartInstallation();
-       }
-}
diff --git a/tests/selenium/installer/MediaWikiMySQLiteDataBaseTestCase.php b/tests/selenium/installer/MediaWikiMySQLiteDataBaseTestCase.php
deleted file mode 100644 (file)
index 11d0437..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-/**
- * MediaWikiMySQLiteataBaseTestCase
- *
- * @file
- * @ingroup Maintenance
- * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com>
- * http://www.calcey.com/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-
-require_once __DIR__ . '/MediaWikiInstallationCommonFunction.php';
-
-/**
- * Test Case ID   : 06 (http://www.mediawiki.org/wiki/New_installer/Test_plan)
- * Test Case Name : Install Mediawiki using 'MySQL' database type successfully
- * Version        : MediaWiki 1.18alpha
- */
-
-class MediaWikiMySQLiteDataBaseTestCase extends MediaWikiInstallationCommonFunction {
-       function setUp() {
-               parent::setUp();
-       }
-
-       // Verify  MediaWiki installation using 'MySQL' database type
-       public function testMySQLDatabaseSuccess() {
-               $databaseName = DB_NAME_PREFIX . "_sqlite_db";
-
-               parent::navigateConnetToDatabasePage();
-               $this->click( "DBType_sqlite" );
-
-               // Select 'SQLite' database type
-               $this->assertEquals( "SQLite settings", $this->getText( "//div[@id='DB_wrapper_sqlite']/h3" ) );
-
-               // Change database name
-               $defaultDbName = $this->getText( "sqlite_wgDBname" );
-               $this->type( "sqlite_wgDBname", " " );
-               $this->type( "sqlite_wgDBname", $databaseName );
-               $this->assertNotEquals( $defaultDbName, $databaseName );
-
-               // 'Database settings' page
-               parent::clickContinueButton();
-
-               // 'Name' page
-               parent::clickContinueButton();
-               parent::completeNamePage();
-
-               // 'Options page
-               parent::clickContinueButton();
-
-               // 'Install' page
-               parent::clickContinueButton();
-
-               // 'Complete' page
-               parent::completePageSuccessfull();
-               parent::restartInstallation();
-       }
-}
diff --git a/tests/selenium/installer/MediaWikiOnAlreadyInstalledTestCase.php b/tests/selenium/installer/MediaWikiOnAlreadyInstalledTestCase.php
deleted file mode 100644 (file)
index 6c77dee..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-/**
- * Selenium server manager
- *
- * @file
- * @ingroup Maintenance
- * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com>
- * http://www.calcey.com/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-
-require_once __DIR__ . '/MediaWikiInstallationCommonFunction.php';
-
-
-/**
- * Test Case ID   : 03 (http://www.mediawiki.org/wiki/New_installer/Test_plan)
- * Test Case Name : Install mediawiki on a already installed Mediawiki.]
- * Version        : MediaWiki 1.18alpha
- */
-
-class MediaWikiOnAlreadyInstalledTestCase extends MediaWikiInstallationCommonFunction {
-       function setUp() {
-               parent::setUp();
-       }
-
-       // Install Mediawiki using 'MySQL' database type.
-       public function testInstallOnAlreadyInstalled() {
-               $databaseName = DB_NAME_PREFIX . "_already_installed";
-               parent::navigateInstallPage( $databaseName );
-
-               // 'Options' page
-               parent::clickBackButton();
-
-               // Install page
-               parent::clickContinueButton();
-
-               // 'Install' page should display after the 'Option' page
-               $this->assertEquals( "Install", $this->getText( LINK_DIV . "h2" ) );
-
-               // Verify warning text displayed
-               $this->assertEquals( "Warning: You seem to have already installed MediaWiki and are trying to install it again. Please proceed to the next page.",
-                       $this->getText( LINK_FORM . "div[1]/div[2]" ) );
-
-               // Complete page
-               parent::clickContinueButton();
-               parent::completePageSuccessfull();
-               $this->chooseCancelOnNextConfirmation();
-               parent::restartInstallation();
-       }
-}
diff --git a/tests/selenium/installer/MediaWikiRestartInstallationTestCase.php b/tests/selenium/installer/MediaWikiRestartInstallationTestCase.php
deleted file mode 100644 (file)
index 1a026f1..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-<?php
-/**
- * MediaWikiRestartInstallationTestCase
- *
- * @file
- * @ingroup Maintenance
- * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com>
- * http://www.calcey.com/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-require_once __DIR__ . '/MediaWikiInstallationCommonFunction.php';
-
-/**
- * Test Case ID   : 11, 12 (http://www.mediawiki.org/wiki/New_installer/Test_plan)
- * Test Case Name : Install mediawiki on a already installed Mediawiki.
- * Version        : MediaWiki 1.18alpha
- */
-class MediaWikiRestartInstallationTestCase extends MediaWikiInstallationCommonFunction {
-       function setUp() {
-               parent::setUp();
-       }
-
-       // Verify restarting the installation
-       public function testSuccessRestartInstallation() {
-               $dbNameBeforeRestart = DB_NAME_PREFIX . "_db_before";
-               parent::navigateDatabaseSettingsPage( $dbNameBeforeRestart );
-
-               // Verify 'Restart installation' link available
-               $this->assertTrue( $this->isElementPresent( "link=Restart installation" ) );
-
-               // Click 'Restart installation'
-               $this->click( "link=Restart installation " );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-
-               // 'Restart Installation' page displayed
-               $this->assertEquals( "Restart installation", $this->getText( LINK_DIV . "h2" ) );
-
-               // Restart warning message displayed
-               $this->assertTrue( $this->isTextPresent( "exact:Do you want to clear all saved data that you have entered and restart the installation process?" ) );
-
-               // Click on the 'Yes, restart' button
-               $this->click( "submit-restart" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-
-               // Navigate to the initial installation page(Language).
-               $this->assertEquals( "Language", $this->getText( LINK_DIV . "h2" ) );
-
-               // 'Welcome to MediaWiki!' page
-               parent::clickContinueButton();
-
-               // 'Connect to database' page
-               parent::clickContinueButton();
-
-               // saved data should be deleted
-               $dbNameAfterRestart = $this->getValue( "mysql_wgDBname" );
-               $this->assertNotEquals( $dbNameBeforeRestart, $dbNameAfterRestart );
-       }
-
-       // Verify cancelling restart
-       public function testCancelRestartInstallation() {
-               $dbNameBeforeRestart = DB_NAME_PREFIX . "_cancel_restart";
-
-               parent::navigateDatabaseSettingsPage( $dbNameBeforeRestart );
-               // Verify 'Restart installation' link available
-               $this->assertTrue( $this->isElementPresent( "link=Restart installation" ) );
-
-               $this->click( "link=Restart installation" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-
-               // 'Restart Installation' page displayed
-               $this->assertEquals( "Restart installation", $this->getText( LINK_DIV . "h2" ) );
-
-               // Restart warning message displayed
-               $this->assertTrue( $this->isTextPresent( "Do you want to clear all saved data that you have entered and restart the installation process?" ) );
-
-               // Click on the 'Back' button
-               parent::clickBackButton();
-
-               // Navigates to the previous page
-               $this->assertEquals( "Database settings", $this->getText( LINK_DIV . "h2" ) );
-
-               // 'Connect to database' page
-               parent::clickBackButton();
-
-               // Saved data remain on the page.
-               $dbNameAfterRestart = $this->getValue( "mysql_wgDBname" );
-               $this->assertEquals( $dbNameBeforeRestart, $dbNameAfterRestart );
-       }
-}
diff --git a/tests/selenium/installer/MediaWikiRightFrameworkLinksTestCase.php b/tests/selenium/installer/MediaWikiRightFrameworkLinksTestCase.php
deleted file mode 100644 (file)
index 709085f..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-/**
- * MediaWikiRightFrameworkLinksTestCase
- *
- * @file
- * @ingroup Maintenance
- * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com>
- * http://www.calcey.com/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-require_once __DIR__ . '/MediaWikiInstallationCommonFunction.php';
-
-/**
- * Test Case ID   : 14, 15, 16, 17 (http://www.mediawiki.org/wiki/New_installer/Test_plan)
- * Test Case Name : User selects 'Read me' link.
- *                  User selects 'Release notes' link.
- *                  User selects 'Copying' link.
- *                  User selects 'Upgrading' link.
- * Version        : MediaWiki 1.18alpha
- */
-class MediaWikiRightFrameworkLinksTestCase extends MediaWikiInstallationCommonFunction {
-       function setUp() {
-               parent::setUp();
-       }
-
-       public function testLinksAvailability() {
-               $this->open( "http://" . HOST_NAME . ":" . PORT . "/" . DIRECTORY_NAME . "/config/index.php" );
-
-               // Verify 'Read me' link availability
-               $this->assertTrue( $this->isElementPresent( "link=Read me" ) );
-
-               // Verify 'Release notes' link availability
-               $this->assertTrue( $this->isElementPresent( "link=Release notes" ) );
-
-               //  Verify 'Copying' link availability
-               $this->assertTrue( $this->isElementPresent( "link=Copying" ) );
-       }
-
-       public function testPageNavigation() {
-               $this->open( "http://" . HOST_NAME . ":" . PORT . "/" . DIRECTORY_NAME . "/config/index.php" );
-
-               // Navigate to the 'Read me' page
-               $this->click( "link=Read me" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-               $this->assertEquals( "Read me", $this->getText( LINK_DIV . "h2[1]" ) );
-               $this->assertTrue( $this->isElementPresent( "submit-back" ) );
-               parent::clickBackButton();
-
-               // Navigate to the 'Release notes' page
-               $this->click( "link=Release notes" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-               $this->assertEquals( "Release notes", $this->getText( LINK_DIV . "h2[1]" ) );
-               $this->assertTrue( $this->isElementPresent( "submit-back" ) );
-               parent::clickBackButton();
-
-               // Navigate to the 'Copying' page
-               $this->click( "link=Copying" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-               $this->assertEquals( "Copying", $this->getText( LINK_DIV . "h2[1]" ) );
-               $this->assertTrue( $this->isElementPresent( "submit-back" ) );
-               parent::clickBackButton();
-
-               // Navigate to the 'Upgrading' page
-               $this->click( "link=Upgrading" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-               $this->assertEquals( "Upgrading", $this->getText( LINK_DIV . "h2[1]" ) );
-       }
-}
diff --git a/tests/selenium/installer/MediaWikiUpgradeExistingDatabaseTestCase.php b/tests/selenium/installer/MediaWikiUpgradeExistingDatabaseTestCase.php
deleted file mode 100644 (file)
index 0f969b7..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-<?php
-/**
- * MediaWikiUpgradeExistingDatabaseTestCase
- *
- * @file
- * @ingroup Maintenance
- * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com>
- * http://www.calcey.com/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-require_once __DIR__ . '/MediaWikiInstallationCommonFunction.php';
-
-/**
- * Test Case ID   : 05 (http://www.mediawiki.org/wiki/New_installer/Test_plan)
- * Test Case Name : Install Mediawiki by updating the existing database.
- * Version        : MediaWiki 1.18alpha
- */
-class MediaWikiUpgradeExistingDatabaseTestCase extends MediaWikiInstallationCommonFunction {
-       function setUp() {
-               parent::setUp();
-       }
-
-       // Install Mediawiki using 'MySQL' database type.
-       public function testUpgradeExistingDatabase() {
-
-               $databaseName = DB_NAME_PREFIX . "_upgrade_existing";
-               parent::navigateInstallPage( $databaseName );
-
-               $this->open( "http://localhost:" . PORT . "/" . DIRECTORY_NAME . "/config/index.php" );
-               $this->assertEquals( "Install", $this->getText( LINK_DIV . "h2" ) );
-               $this->assertEquals(
-                       "Warning: You seem to have already installed MediaWiki and are trying to install it again. Please proceed to the next page.",
-                       $this->getText( LINK_DIV . "div[2]/form/div[1]/div[2]" )
-               );
-
-               // 'Optionis' page
-               parent::clickBackButton();
-
-               // 'Name' page
-               parent::clickBackButton();
-
-               // 'Database settings' page
-               parent::clickBackButton();
-
-               // 'Connect to database' page
-               parent::clickBackButton();
-               $this->type( "mysql_wgDBname", $databaseName );
-               parent::clickContinueButton();
-
-               // 'Upgrade existing installation' page  displayed next to the 'Connect to database' page.
-               $this->assertEquals( "Upgrade existing installation", $this->getText( LINK_DIV . "h2" ) );
-
-               // Warning message displayed.
-               $this->assertEquals( "There are MediaWiki tables in this database. To upgrade them to MediaWiki 1.18alpha, click Continue.",
-                       $this->getText( LINK_DIV . "div[2]/form/div[1]/div[2]" ) );
-
-               parent::clickContinueButton();
-               $this->assertEquals( "Upgrade existing installation",
-                       $this->getText( LINK_DIV . "h2" ) );
-
-               // 'Upgrade complete.' text display
-               $this->assertEquals( "Upgrade complete.",
-                       $this->getText( "//div[@id='bodyContent']/div/div[1]/div[4]/form/div[1]/div[2]/p[1]" ) );
-
-               $this->assertEquals( "You can now Folder/index.php start using your wiki.",
-                       $this->getText( "//div[@id='bodyContent']/div/div[1]/div[4]/form/div[1]/div[2]/p[2]" ) );
-
-               $this->assertEquals( "Folder/index.php start using your wiki",
-                       $this->getText( "link=Folder/index.php start using your wiki" ) );
-
-               $this->assertTrue( $this->isElementPresent( "submit-regenerate" ) );
-               $this->click( "submit-regenerate" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-               $this->assertEquals( "Database settings",
-                       $this->getText( LINK_DIV . "h2" ) );
-
-               // 'Database settings' page
-               parent::clickContinueButton();
-
-               // Name page
-               parent::completeNamePage();
-
-               // Options page
-               parent::clickContinueButton();
-
-               // Install page
-               $this->assertEquals( "Warning: You seem to have already installed MediaWiki and are trying to install it again. Please proceed to the next page.",
-                       $this->getText( LINK_FORM . "div[1]/div[2]" ) );
-               parent::clickContinueButton();
-
-               // complete
-               parent::completePageSuccessfull();
-               $this->chooseCancelOnNextConfirmation();
-               parent::restartInstallation();
-       }
-}
diff --git a/tests/selenium/installer/MediaWikiUserInterfaceTestCase.php b/tests/selenium/installer/MediaWikiUserInterfaceTestCase.php
deleted file mode 100644 (file)
index 71ef684..0000000
+++ /dev/null
@@ -1,494 +0,0 @@
-<?php
-/**
- * MediaWikiUserInterfaceTestCase
- *
- * @file
- * @ingroup Maintenance
- * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com>
- * http://www.calcey.com/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-require_once __DIR__ . '/MediaWikiInstallationCommonFunction.php';
-
-/**
- * Test Case ID   : 18 - 27 (http://www.mediawiki.org/wiki/New_installer/Test_plan)
- * Test Case Name : UI of MediaWiki initial/ Language/ Welcome to MediaWiki!/ Connect to database/
- * Database settings/ Name/ Options/ Install/ Complete/ Restart Inslation pages
- * Version        : MediaWiki 1.18alpha
- */
-class MediaWikiUserInterfaceTestCase extends MediaWikiInstallationCommonFunction {
-       function setUp() {
-               parent::setUp();
-       }
-
-       public function testInitialPageUI() {
-
-               parent::navigateInitialpage();
-
-               // MediaWiki logo available
-               $this->assertTrue( $this->isElementPresent( "//img[@alt='The MediaWiki logo']" ) );
-
-               // 'MediaWiki 1.18alpha' text available
-               $this->assertEquals( "MediaWiki 1.18alpha", $this->getText( "//h1" ) );
-
-               // 'LocalSettings.php not found.' text available
-               $this->assertEquals( "LocalSettings.php not found.", $this->getText( "//p[1]" ) );
-
-               // 'Please set up the wiki first' text available
-               $this->assertEquals( "Please set up the wiki first.", $this->getText( "//p[2]" ) );
-
-               // 'set up the wiki' link available
-               $this->assertTrue( $this->isElementPresent( "link=set up the wiki" ) );
-       }
-
-       public function testlanguagePageUI() {
-               parent::navigateLanguagePage();
-
-               // Verify 'Language' heading
-               $this->assertEquals( "Language", $this->getText( LINK_DIV . "h2" ) );
-
-               // 'Your language' label available
-               $this->assertEquals( "Your language:",
-                       $this->getText( LINK_FORM . "div[1]/div[1]/label" ) );
-
-               // 'Your language' dropdown available
-               $this->assertTrue( $this->isElementPresent( "UserLang" ) );
-
-               // 'Wiki language' label available
-               $this->assertEquals( "Wiki language:",
-                       $this->getText( LINK_FORM . "div[2]/div[1]/label" ) );
-
-               // 'Wiki language' dropdown available
-               $this->assertTrue( $this->isElementPresent( "ContLang" ) );
-       }
-
-       public function testWelcometoMediaWikiUI() {
-               parent::navigateWelcometoMediaWikiPage();
-
-               // Verify 'Welcome to MediaWiki!' heading
-               $this->assertEquals( "Welcome to MediaWiki!",
-                       $this->getText( LINK_DIV . "h2" ) );
-
-               // Verify environment ok text displayed.
-               $this->assertEquals( "The environment has been checked.You can install MediaWiki.",
-                       $this->getText( LINK_DIV . "div[6]/span" ) );
-       }
-
-       public function testConnectToDatabaseUI() {
-               parent::navigateConnetToDatabasePage();
-
-               //  'MYSQL radio button available
-               $this->assertEquals( "MySQL",
-                       $this->getText( LINK_FORM . "div[2]/div[2]/ul/li[1]/label" ) );
-               $this->assertTrue( $this->isElementPresent( LINK_FORM . "div[2]/div[2]/ul/li[1]" ) );
-
-               // 'SQLite' radio button available
-               $this->assertTrue( $this->isElementPresent( LINK_FORM . "div[2]/div[2]/ul/li[2]" ) );
-               $this->assertEquals( "SQLite", $this->getText( LINK_FORM . "div[2]/div[2]/ul/li[2]/label " ) );
-
-               // 'Database host' label available
-               $this->assertEquals( "Database host:", $this->getText( "//div[@id='DB_wrapper_mysql']/div/div[1]/label" ) );
-
-               // 'Database host' text box default to 'localhost'
-               $this->assertEquals( "localhost", $this->getValue( "mysql_wgDBserver" ) );
-
-               // 'Identify this wiki' section available
-               $this->assertTrue( $this->isElementPresent( "//div[@id='DB_wrapper_mysql']/fieldset[1]/legend" ) );
-
-               // 'Identify this wiki' label available
-               $this->assertEquals( "Identify this wiki", $this->getText( "//div[@id='DB_wrapper_mysql']/fieldset[1]/legend" ) );
-
-               // 'Database name' lable available
-               $this->assertEquals( "Database name:",
-                       $this->getText( "//div[@id='DB_wrapper_mysql']/fieldset[1]/div[1]/div[1]/label" ) );
-
-               // Verify 'Database name:' text box is default to 'my_wiki'
-               $this->assertEquals( "my_wiki", $this->getValue( "mysql_wgDBname" ) );
-
-               // Verify 'Database table prefix:' label available
-               $this->assertEquals( "Database table prefix:",
-                       $this->getText( "//div[@id='DB_wrapper_mysql']/fieldset[1]/div[2]/div[1]/label" ) );
-
-               // 'User account for installation' section available
-               $this->assertTrue( $this->isElementPresent( "//div[@id='DB_wrapper_mysql']/fieldset[2]/legend" ) );
-
-               // 'User account for installation' label available
-               $this->assertEquals( "User account for installation", $this->getText( "//div[@id='DB_wrapper_mysql']/fieldset[2]/legend" ) );
-
-               // 'Database username' label available
-               $this->assertEquals( "Database username:",
-                       $this->getText( "//div[@id='DB_wrapper_mysql']/fieldset[2]/div[1]/div[1]/label" ) );
-
-               // 'Database username' text box defaults to 'root'
-               $this->assertEquals( "root", $this->getValue( "mysql__InstallUser" ) );
-
-               // 'Database password' label available
-               $this->assertEquals( "Database password:",
-                       $this->getText( "//div[@id='DB_wrapper_mysql']/fieldset[2]/div[2]/div[1]/label" ) );
-       }
-
-       public function testDatabaseSettingsUI() {
-               $databaseName = DB_NAME_PREFIX . "_db_settings_UI";
-               parent::navigateDatabaseSettingsPage( $databaseName );
-
-               // 'Database settings' text available.
-               $this->assertEquals( "Database settings", $this->getText( LINK_DIV . "h2" ) );
-
-               // 'Database account for web access' section available
-               $this->assertTrue( $this->isElementPresent( LINK_FORM . "fieldset" ) );
-
-               // 'Database account for web access' label available
-               $this->assertEquals( "Database account for web access", $this->getText( LINK_FORM . "fieldset/legend" ) );
-
-               // 'Use the same account as for installation' check box available
-               $this->assertEquals( "Use the same account as for installation", $this->getText( LINK_FORM . "fieldset/div[1]/label" ) );
-
-               // 'Use the same account as for installation' check box is selected by default
-               $this->assertEquals( "on", $this->getValue( "mysql__SameAccount" ) );
-
-               // 'Use the same account as for installation' check box deselected
-               $this->click( "mysql__SameAccount" );
-
-               // verify 'Use the same account as for installation' check box is not selected
-               $this->assertEquals( "off", $this->getValue( "mysql__SameAccount" ) );
-
-               // 'Database username' label available
-               $this->assertEquals( "Database username:", $this->getText( "//div[@id='dbOtherAccount']/div[1]/div[1]/label" ) );
-
-               // 'Database username' text box is default to the 'wikiuser'
-               $this->assertEquals( "wikiuser", $this->getValue( "mysql_wgDBuser" ) );
-
-               // 'Database password' label available
-               $this->assertEquals( "Database password:", $this->getText( "//div[@id='dbOtherAccount']/div[2]/div[1]/label" ) );
-
-               // 'Create the account if it does not already exist' label available
-               $this->assertEquals( "Create the account if it does not already exist", $this->getText( "//div[@id='dbOtherAccount']/div[4]/label" ) );
-
-               // 'Create the account if it does not already exist' check box is not selected by default
-               $this->assertEquals( "off", $this->getValue( "mysql__CreateDBAccount" ) );
-
-               //  'Create the account if it does not already exist' check box selected
-               $this->click( "mysql__CreateDBAccount" );
-
-               // Verify  'Create the account if it does not already exist' check box is selected
-               $this->assertEquals( "on", $this->getValue( "mysql__CreateDBAccount" ) );
-               $this->click( "mysql__SameAccount" );
-               $this->assertEquals( "on", $this->getValue( "mysql__SameAccount" ) );
-
-               // 'Storage engine' label available
-               $this->assertEquals( "Storage engine:",
-                       $this->getText( LINK_FORM . "div[1]/div[1]/label" ) );
-
-               // 'InnoDB' label available
-               $this->assertEquals( "InnoDB",
-                       $this->getText( LINK_FORM . "div[1]/div[2]/ul/li[1]/label" ) );
-
-               // 'InnoDB' radio button available
-               $this->assertTrue( $this->isElementPresent( "mysql__MysqlEngine_InnoDB" ) );
-
-               // 'MyISAM' label available
-               $this->assertEquals( "MyISAM", $this->getText( LINK_FORM . "div[1]/div[2]/ul/li[2]/label" ) );
-
-               // 'MyISAM' radio button available
-               $this->assertTrue( $this->isElementPresent( "mysql__MysqlEngine_MyISAM" ) );
-
-               // 'Database character set' label available
-               $this->assertEquals( "Database character set:",
-                       $this->getText( LINK_FORM . "div[3]/div[1]/label" ) );
-
-               // 'Binary' radio button available
-               $this->assertTrue( $this->isElementPresent( "mysql__MysqlCharset_binary" ) );
-
-               // 'Binary' radio button available
-               $this->assertEquals( "Binary", $this->getText( LINK_FORM . "div[3]/div[2]/ul/li[1]/label" ) );
-
-               // 'UTF-8' radio button available
-               $this->assertTrue( $this->isElementPresent( "mysql__MysqlCharset_utf8" ) );
-
-               // 'UTF-8' label available
-               $this->assertEquals( "UTF-8", $this->getText( LINK_FORM . "div[3]/div[2]/ul/li[2]/label" ) );
-
-               // 'Binary' radio button is selected
-               $this->assertEquals( "on", $this->getValue( "mysql__MysqlCharset_binary" ) );
-       }
-
-       public function testNamePageUI() {
-               $databaseName = DB_NAME_PREFIX . "_name_UI";
-               parent::navigateNamePage( $databaseName );
-
-               // 'Name of wiki' text box available
-               $this->assertEquals( "Name of wiki:",
-                       $this->getText( LINK_FORM . "div[1]/div[1]/label" ) );
-
-               $this->assertTrue( $this->isElementPresent( "config_wgSitename" ) );
-
-               // 'Project namespace' label available
-               $this->assertEquals( "Project namespace:",
-                       $this->getText( LINK_FORM . "div[2]/div[1]/label" ) );
-
-               // 'Same as the wiki name' radio button available
-               $this->assertTrue( $this->isElementPresent( "config__NamespaceType_site-name" ) );
-
-               // 'Project' radio button available
-               $this->assertTrue( $this->isElementPresent( "config__NamespaceType_generic" ) );
-
-               // 'Project' radio button available
-               $this->assertTrue( $this->isElementPresent( "config__NamespaceType_other" ) );
-
-               // 'Same as the wiki name' label available
-               $this->assertEquals( "Same as the wiki name:",
-                       $this->getText( LINK_FORM . "div[2]/div[2]/ul/li[1]/label" ) );
-
-               // 'Project' label available
-               $this->assertEquals( "Project",
-                       $this->getText( LINK_FORM . "div[2]/div[2]/ul/li[2]/label" ) );
-
-               // 'Project' label available
-               $this->assertEquals( "Other (specify)",
-                       $this->getText( LINK_FORM . "div[2]/div[2]/ul/li[3]/label" ) );
-
-               //  'Same as the wiki name' radio button selected by default
-               $this->assertEquals( "on", $this->getValue( "config__NamespaceType_site-name" ) );
-
-               // 'Administrator account' section available
-               $this->assertTrue( $this->isElementPresent( LINK_FORM . "fieldset" ) );
-
-               // 'Administrator account' label available
-               $this->assertEquals( "Administrator account",
-                       $this->getText( LINK_FORM . "fieldset/legend" ) );
-
-               // 'Your Name' label available
-               $this->assertEquals( "Your name:",
-                       $this->getText( LINK_FORM . "fieldset/div[1]/div[1]/label" ) );
-
-               // 'Your Name' text box available
-               $this->assertTrue( $this->isElementPresent( "config__AdminName" ) );
-
-               // 'Password' label available
-               $this->assertEquals( "Password:",
-                       $this->getText( LINK_FORM . "fieldset/div[2]/div[1]/label" ) );
-
-               // 'Password' text box available
-               $this->assertTrue( $this->isElementPresent( "config__AdminPassword" ) );
-
-               // 'Password again' label available
-               $this->assertEquals( "Password again:",
-                       $this->getText( LINK_FORM . "fieldset/div[3]/div[1]/label" ) );
-
-               // 'Password again' text box available
-               $this->assertTrue( $this->isElementPresent( "config__AdminPassword2" ) );
-
-               // 'Email address' label avaialble
-               $this->assertEquals( "E-mail address:",
-                       $this->getText( LINK_FORM . "fieldset/div[4]/div[1]/label" ) );
-
-               // 'Email address' text box available
-               $this->assertTrue( $this->isElementPresent( "config__AdminEmail" ) );
-
-               // Message displayed
-               $this->assertEquals( "You are almost done! You can now skip the remaining configuration and install the wiki right now.",
-                       $this->getText( LINK_FORM . "/div[4]/div[2]/p" ) );
-
-               // 'Ask me more questions.' radio button available
-               $this->assertTrue( $this->isElementPresent( "config__SkipOptional_continue" ) );
-
-               // 'Ask me more questions.' label available
-               $this->assertEquals( "Ask me more questions.",
-                       $this->getText( LINK_FORM . "div[5]/div[2]/ul/li[1]/label" ) );
-
-               // 'I'm bored already, just install the wiki' radio button is avaiable
-               $this->assertTrue( $this->isElementPresent( "config__SkipOptional_skip" ) );
-
-               // 'I'm bored already, just install the wiki' label available
-               $this->assertEquals( "I'm bored already, just install the wiki.",
-                       $this->getText( LINK_FORM . "div[5]/div[2]/ul/li[2]/label" ) );
-
-               //  'Ask me more questions.' radio button is default selected
-               $this->assertEquals( "on", $this->getValue( "config__SkipOptional_continue" ) );
-       }
-
-       public function testOptionPageUI() {
-               $databaseName = DB_NAME_PREFIX . "_options_UI";
-               parent::navigateOptionsPage( $databaseName );
-
-               // 'Options' label available
-               $this->assertEquals( "Options", $this->getText( LINK_DIV . "h2" ) );
-
-               // 'Return e-mail address' label available
-               $this->assertEquals( "Return e-mail address:", $this->getText( "//div[@id='emailwrapper']/div[1]/div[1]/label" ) );
-
-               //    'Return e-mail address' text box available
-               $this->assertTrue( $this->isElementPresent( "config_wgPasswordSender" ) );
-
-               // Text 'apache@localhost' is default value of the 'Return e-mail address' text box
-               $this->assertEquals( "apache@localhost", $this->getValue( "config_wgPasswordSender" ) );
-
-               // 'Logo URL' label available
-               $this->assertEquals( "Logo URL:", $this->getText( LINK_FORM . "fieldset[2]/div[3]/div[1]/label" ) );
-
-               // 'Logo URL' text box available
-               $this->assertTrue( $this->isElementPresent( "config_wgLogo" ) );
-
-               // Correct path available in the 'Logo URL' text box
-               $this->assertEquals( "/wiki/skins/common/images/wiki.png", $this->getValue( "config_wgLogo" ) );
-
-               // 'Enable file uploads' radio button available
-               $this->assertTrue( $this->isElementPresent( "config_wgEnableUploads" ) );
-
-               // 'Enable file uploads' label available
-               $this->assertEquals( "Enable file uploads",
-                       $this->getText( LINK_FORM . "fieldset[2]/div[1]/label" ) );
-
-               // 'Enable file uploads' check box is not selected
-               $this->assertEquals( "off", $this->getValue( "config_wgEnableUploads" ) );
-
-               $this->click( "config_wgEnableUploads" );
-
-               // 'Directory for deleted files' label available
-               $this->assertEquals( "Directory for deleted files:",
-                       $this->getText( "//div[@id='uploadwrapper']/div/div[1]/label" ) );
-
-               // 'Directory for deleted files' text box available
-               $this->assertTrue( $this->isElementPresent( "config_wgDeletedDirectory" ) );
-
-               // Correct path available in the 'Directory for deleted files' text box
-               $this->assertEquals( "C:\\wamp\\www\\" . DIRECTORY_NAME . "/images/deleted",
-                       $this->getValue( "config_wgDeletedDirectory" ) );
-       }
-
-       public function testInstallPageUI() {
-               $databaseName = DB_NAME_PREFIX . "_install_UI";
-               parent::navigateInstallPage( $databaseName );
-
-               // Verify installation done messages display
-               $this->assertEquals( "Setting up database... done",
-                       $this->getText( LINK_FORM . "ul/li[1]" ) );
-               $this->assertEquals( "Creating tables... done",
-                       $this->getText( LINK_FORM . "ul/li[2]" ) );
-               $this->assertEquals( "Creating database user... done",
-                       $this->getText( LINK_FORM . "ul/li[3]" ) );
-               $this->assertEquals( "Populating default interwiki table... done",
-                       $this->getText( LINK_FORM . "ul/li[4]" ) );
-               $this->assertEquals( "Generating secret key... done",
-                       $this->getText( LINK_FORM . "ul/li[5]" ) );
-               $this->assertEquals( "Generating default upgrade key... done",
-                       $this->getText( LINK_FORM . "ul/li[6]" ) );
-               $this->assertEquals( "Creating administrator user account... done",
-                       $this->getText( LINK_FORM . "ul/li[7]" ) );
-               $this->assertEquals( "Creating main page with default content... done",
-                       $this->getText( LINK_FORM . "ul/li[8]" ) );
-       }
-
-       public function testCompletePageUI() {
-               $databaseName = DB_NAME_PREFIX . "_complete_UI";
-               parent::navigateCompletePage( $databaseName );
-
-               // 'Congratulations!' text display
-               $this->assertEquals( "Congratulations!",
-                       $this->getText( LINK_FORM . "div[1]/div[2]/p[1]/b" ) );
-               // 'LocalSettings.php' generated message display
-               $this->assertEquals( "The installer has generated a LocalSettings.php file. It contains all your configuration.",
-                       $this->getText( LINK_FORM . "div[1]/div[2]/p[2]" ) );
-
-               // 'Download LocalSettings.php'' link available
-               $this->assertTrue( $this->isElementPresent( "link=Download LocalSettings.php" ) );
-
-               // 'enter your wiki' link available
-               $this->assertTrue( $this->isElementPresent( "link=Folder/index.php enter your wiki" ) );
-       }
-
-       public function testRestartInstallation() {
-               parent::navigateConnetToDatabasePage();
-               $this->click( "link=Restart installation" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-
-               // Restart installation' label should be available.
-               $this->assertEquals( "Restart installation", $this->getText( LINK_DIV . "h2" ) );
-
-               //'Do you want to clear all saved data that you have entered and restart the installation process?' label available
-               $this->assertEquals( "Do you want to clear all saved data that you have entered and restart the installation process?",
-                       $this->getText( "//*[@id='bodyContent']/div/div/div[2]/form/div[1]/div[2]" ) );
-               // 'Back' button available
-               $this->assertTrue( $this->isElementPresent( "submit-back" ) );
-
-               // 'Restart' button available
-               $this->assertTrue( $this->isElementPresent( "submit-restart" ) );
-       }
-
-       public function testMediaWikiLogoAvailability() {
-               $databaseName = DB_NAME_PREFIX . "_mediawiki_logo";
-               parent::navigateInitialpage();
-               parent::mediaWikiLogoPresentInitialScreen();
-               $this->click( "link=set up the wiki" );
-               $this->waitForPageToLoad( PAGE_LOAD_TIME );
-
-               // 'Language' page
-               parent::mediaWikiLogoPresent();
-               parent::clickContinueButton();
-
-               // 'Welcome to MediaWiki' page
-               parent::mediaWikiLogoPresent();
-               parent::clickContinueButton();
-
-               // 'Connet to database' page
-               parent::mediaWikiLogoPresent();
-               $this->type( "mysql_wgDBname", $databaseName );
-               parent::clickContinueButton();
-
-               // 'Database setting' page
-               parent::mediaWikiLogoPresent();
-               parent::clickContinueButton();
-
-               // 'Name' page
-               parent::mediaWikiLogoPresent();
-               parent::completeNamePage();
-               parent::clickContinueButton();
-
-               // 'Options' page
-               parent::mediaWikiLogoPresent();
-               parent::clickContinueButton();
-
-               // 'Install' page
-               parent::mediaWikiLogoPresent();
-       }
-
-       public function testRightFramework() {
-               parent::navigateLanguagePage();
-               // Verfy right framework texts display
-               $this->assertEquals( "Language",
-                       $this->getText( LINK_RIGHT_FRAMEWORK . "li[1]" ) );
-               $this->assertEquals( "Existing wiki",
-                       $this->getText( LINK_RIGHT_FRAMEWORK . "li[2]" ) );
-               $this->assertEquals( "Welcome to MediaWiki!",
-                       $this->getText( LINK_RIGHT_FRAMEWORK . "li[3]" ) );
-               $this->assertEquals( "Connect to database",
-                       $this->getText( LINK_RIGHT_FRAMEWORK . "li[4]" ) );
-               $this->assertEquals( "Upgrade existing installation",
-                       $this->getText( LINK_RIGHT_FRAMEWORK . "li[5]" ) );
-               $this->assertEquals( "Database settings",
-                       $this->getText( LINK_RIGHT_FRAMEWORK . "li[6]" ) );
-               $this->assertEquals( "Name",
-                       $this->getText( LINK_RIGHT_FRAMEWORK . "li[7]" ) );
-               $this->assertEquals( "Options",
-                       $this->getText( LINK_RIGHT_FRAMEWORK . "li[8]" ) );
-               $this->assertEquals( "Install",
-                       $this->getText( LINK_RIGHT_FRAMEWORK . "li[9]" ) );
-               $this->assertEquals( "Complete!",
-                       $this->getText( LINK_RIGHT_FRAMEWORK . "li[10]/span" ) );
-       }
-}
diff --git a/tests/selenium/installer/README.txt b/tests/selenium/installer/README.txt
deleted file mode 100644 (file)
index 4296f79..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-== Details==
-
-Automated Selenium test scripts written for MediaWiki Installer is available at https://git.wikimedia.org/tree/mediawiki%2Fcore.git/HEAD/tests%2Fselenium%2Finstaller.
-Detailed test cases available at http://www.mediawiki.org/wiki/New_installer/Test_plan.
-
-Version : MediaWiki 1.18alpha
-Date   : 27/12/2010
-
-== Running tests ==
-
-Test cases can be run independently or can run all the test cases using MediaWikiInstallerTestSuite.php within PHPUnit/Selenium.
-
-
-== Dependencies == 
-
-MediaWikiInstallationConfig.php
-
-Value of the 'DB_NAME_PREFIX' should be replace with the database name prefix. Several DB instances will get created to cover different installation scenarios starting with the above prefix.
-You need to change the value of the 'DB_NAME_PREFIX' in MediaWikiInstallationConfig everytime you planned to
-run the tests.
-'DIRECTORY_NAME', 'PORT' and the 'HOST_NAME' should be replaced with your local values.
-You may specify the test browser you wish to run the test using 'TEST_BROWSER'.  Default browser is Firefox.
-
-Note : MediaWikiInstallerTestSuite.php has no dependency on 'Selenium' test framework.
-
-
-== Known problems ==
-
-If you run the MediaWikiInstallerTestSuite.php twice without changing the name of the database, the second run should be falied.
-(Please read the more information on how to change the database name which is avaialable under 'Dependencies' section)
-
-
diff --git a/tests/selenium/selenium_settings.ini.sample b/tests/selenium/selenium_settings.ini.sample
deleted file mode 100644 (file)
index b1d8819..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-[SeleniumSettings]
-
-; Set up the available browsers that Selenium can control.
-browsers[firefox]      = "*firefox"
-browsers[iexplorer] = "*iexploreproxy"
-browsers[chrome]       = "*chrome"
-
-; The simple configurations above usually work on Linux, but Windows and
-; Mac OS X hosts may need to specify a full path:
-;browsers[firefox] = "*firefox /Applications/Firefox.app/Contents/MacOS/firefox-bin"
-;browsers[firefox] = "*firefox C:\Program Files\Mozilla Firefox\firefox.exe"
-
-host                           = "localhost"
-port                           = "4444"
-wikiUrl                        = "http://localhost/deployment"
-username                       = "wikiuser"
-userPassword           = "wikipass"
-testBrowser            = "firefox"
-startserver                    =
-stopserver                     =
-jUnitLogFile           =
-runAgainstGrid         = false
-
-; To let the test runner start and stop the selenium server, it needs the full
-; path to selenium-server.jar from the selenium-remote-control package.
-seleniumserverexecpath = "/opt/local/selenium-remote-control-1.0.3/selenium-server-1.0.3/selenium-server.jar"
-
-[SeleniumTests]
-
-testSuite[SimpleSeleniumTestSuite] = "tests/selenium/suites/SimpleSeleniumTestSuite.php"
-testSuite[WikiEditorTestSuite] = "extensions/WikiEditor/selenium/WikiEditorTestSuite.php"
-
diff --git a/tests/selenium/selenium_settings_grid.ini.sample b/tests/selenium/selenium_settings_grid.ini.sample
deleted file mode 100644 (file)
index 3bbd534..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-[SeleniumSettings]
-
-host                   = "grid.tesla.usability.wikimedia.org"
-port                   = "4444"
-wikiUrl                        = "http://208.80.152.253:5001"
-username               = "wikiuser"
-userPassword   = "wikipass"
-testBrowser            = "Safari on OS X Snow Leopard"
-jUnitLogFile   =
-runAgainstGrid = true
-startserver = false
-stopserver = false
-
-[SeleniumTests]
-
-testSuite[SimpleSeleniumTestSuite]     = "tests/selenium/suites/SimpleSeleniumTestSuite.php"
diff --git a/tests/selenium/suites/AddContentToNewPageTestCase.php b/tests/selenium/suites/AddContentToNewPageTestCase.php
deleted file mode 100644 (file)
index 1237bb5..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-<?php
-/**
- * Selenium server manager
- *
- * @file
- * @ingroup Testing
- * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com>
- * http://www.calcey.com/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-class AddContentToNewPageTestCase extends SeleniumTestCase {
-       // Add bold text and verify output
-       public function testAddBoldText() {
-               $this->getExistingPage();
-               $this->clickEditLink();
-               $this->loadWikiEditor();
-               $this->clearWikiEditor();
-               $this->click( "//*[@id='mw-editbutton-bold']" );
-               $this->clickShowPreviewBtn();
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify bold text displayed on mediawiki preview
-               $this->assertTrue( $this->isElementPresent( "//div[@id='wikiPreview']/p/b" ) );
-               $this->assertTrue( $this->isTextPresent( "Bold text" ) );
-       }
-
-       // Add italic text and verify output
-       public function testAddItalicText() {
-               $this->getExistingPage();
-               $this->clickEditLink();
-               $this->loadWikiEditor();
-               $this->clearWikiEditor();
-               $this->click( "//*[@id='mw-editbutton-italic']" );
-               $this->clickShowPreviewBtn();
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify italic text displayed on mediawiki preview
-               $this->assertTrue( $this->isElementPresent( "//div[@id='wikiPreview']/p/i" ) );
-               $this->assertTrue( $this->isTextPresent( "Italic text" ) );
-       }
-
-       // Add internal link for a new page and verify output in the preview
-       public function testAddInternalLinkNewPage() {
-               $this->getExistingPage();
-               $this->clickEditLink();
-               $this->loadWikiEditor();
-               $this->clearWikiEditor();
-               $this->click( "//*[@id='mw-editbutton-link']" );
-               $this->clickShowPreviewBtn();
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify internal link displayed on mediawiki preview
-               $source = $this->getText( "//*[@id='wikiPreview']/p/a" );
-               $correct = strstr( $source, "Link title" );
-               $this->assertEquals( $correct, true );
-
-               $this->click( SeleniumTestConstants::LINK_START . "Link title" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify internal link open as a new page - editing mode
-               $source = $this->getText( "firstHeading" );
-               $correct = strstr( $source, "Editing Link title" );
-               $this->assertEquals( $correct, true );
-       }
-
-       // Add external link and verify output in the preview
-       public function testAddExternalLink() {
-               $this->getExistingPage();
-               $this->clickEditLink();
-               $this->loadWikiEditor();
-               $this->clearWikiEditor();
-               $this->click( "//*[@id='mw-editbutton-extlink']" );
-               $this->type( SeleniumTestConstants::TEXT_EDITOR, "[http://www.google.com Google]" );
-               $this->clickShowPreviewBtn();
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify external links displayed on mediawiki preview
-               $source = $this->getText( "//*[@id='wikiPreview']/p/a" );
-               $correct = strstr( $source, "Google" );
-               $this->assertEquals( $correct, true );
-
-               $this->click( SeleniumTestConstants::LINK_START . "Google" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify external link opens
-               $source = $this->getTitle();
-               $correct = strstr( $source, "Google" );
-               $this->assertEquals( $correct, true );
-       }
-
-       // Add level 2 headline and verify output in the preview
-       public function testAddLevel2HeadLine() {
-               $this->getExistingPage();
-               $this->clickEditLink();
-               $this->loadWikiEditor();
-               $this->clearWikiEditor();
-               $this->click( "mw-editbutton-headline" );
-               $this->clickShowPreviewBtn();
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-               $this->assertTrue( $this->isElementPresent( "//div[@id='wikiPreview']/h2" ) );
-
-               // Verify level 2 headline displayed on mediawiki preview
-               $source = $this->getText( "//*[@id='Headline_text']" );
-               $correct = strstr( $source, "Headline text" );
-               $this->assertEquals( $correct, true );
-       }
-
-       // Add text with ignore wiki format and verify output the preview
-       public function testAddNoWikiFormat() {
-               $this->getExistingPage();
-               $this->clickEditLink();
-               $this->loadWikiEditor();
-               $this->clearWikiEditor();
-               $this->click( "//*[@id='mw-editbutton-nowiki']" );
-               $this->clickShowPreviewBtn();
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify ignore wiki format text displayed on mediawiki preview
-               $source = $this->getText( "//div[@id='wikiPreview']/p" );
-               $correct = strstr( $source, "Insert non-formatted text here" );
-               $this->assertEquals( $correct, true );
-       }
-
-       // Add signature and verify output in the preview
-       public function testAddUserSignature() {
-               $this->getExistingPage();
-               $this->clickEditLink();
-               $this->loadWikiEditor();
-               $this->clearWikiEditor();
-               $this->click( "mw-editbutton-signature" );
-               $this->clickShowPreviewBtn();
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify signature displayed on mediawiki preview
-               $source = $this->getText( "//*[@id='wikiPreview']/p/a" );
-               $username = $this->getText( "//*[@id='pt-userpage']/a" );
-               $correct = strstr( $source, $username );
-               $this->assertEquals( $correct, true );
-       }
-
-       // Add horizontal line and verify output in the preview
-       public function testHorizontalLine() {
-               $this->getExistingPage();
-               $this->clickEditLink();
-               $this->loadWikiEditor();
-               $this->clearWikiEditor();
-               $this->click( "mw-editbutton-hr" );
-
-               $this->clickShowPreviewBtn();
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify horizontal line displayed on mediawiki preview
-               $this->assertTrue( $this->isElementPresent( "//div[@id='wikiPreview']/hr" ) );
-               $this->deletePage( "new" );
-       }
-}
diff --git a/tests/selenium/suites/AddNewPageTestCase.php b/tests/selenium/suites/AddNewPageTestCase.php
deleted file mode 100644 (file)
index c70af33..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-/**
- * Selenium server manager
- *
- * @file
- * @ingroup Testing
- * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com>
- * http://www.calcey.com/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-class AddNewPageTestCase extends SeleniumTestCase {
-       // Verify adding a new page
-       public function testAddNewPage() {
-               $newPage = "new";
-               $displayName = "New";
-               $this->open( $this->getUrl() .
-                       '/index.php?title=Main_Page&action=edit' );
-               $this->type( "searchInput", $newPage );
-               $this->click( "searchGoButton" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify 'Search results' text available
-               $source = $this->gettext( "firstHeading" );
-               $correct = strstr( $source, "Search results" );
-               $this->assertEquals( $correct, true );
-
-               // Verify  'Create the page "<page name>" on this wiki' text available
-               $source = $this->gettext( "//div[@id='bodyContent']/div[4]/p/b" );
-               $correct = strstr( $source, "Create the page \"New\" on this wiki!" );
-               $this->assertEquals( $correct, true );
-
-               $this->click( SeleniumTestConstants::LINK_START . $displayName );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               $this->assertTrue( $this->isElementPresent( SeleniumTestConstants::LINK_START . "Create" ) );
-               $this->type( "wpTextbox1", "add new test page" );
-               $this->click( SeleniumTestConstants::BUTTON_SAVE );
-
-               // Verify new page added
-               $source = $this->gettext( "firstHeading" );
-               $correct = strstr( $source, $displayName );
-               $this->assertEquals( $correct, true );
-       }
-}
diff --git a/tests/selenium/suites/CreateAccountTestCase.php b/tests/selenium/suites/CreateAccountTestCase.php
deleted file mode 100644 (file)
index a603f99..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-<?php
-/**
- * Selenium server manager
- *
- * @file
- * @ingroup Testing
- * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com>
- * http://www.calcey.com/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-Class CreateAccountTestCase extends SeleniumTestCase {
-       // Change these values before run the test
-       private $userName = "yourname4000";
-       private $password = "yourpass4000";
-
-       // Verify 'Log in/create account' link existance in Main page.
-       public function testMainPageLink() {
-
-               $this->click( "link=Log out" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               $this->open( $this->getUrl() . '/index.php?title=Main_Page' );
-               $this->assertTrue( $this->isElementPresent( "link=Log in / create account" ) );
-       }
-
-       // Verify 'Create an account' link existance in 'Log in / create account' Page.
-       public function testCreateAccountPageLink() {
-
-               $this->click( "link=Log out" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               $this->open( $this->getUrl() . '/index.php?title=Main_Page' );
-
-               // click Log in / create account link to open Log in / create account' page
-               $this->click( "link=Log in / create account" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-               $this->assertTrue( $this->isElementPresent( "link=Create an account" ) );
-       }
-
-       // Verify Create account
-       public function testCreateAccount() {
-
-               $this->click( "link=Log out" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               $this->open( $this->getUrl() . '/index.php?title=Main_Page' );
-
-               $this->click( "link=Log in / create account" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               $this->click( "link=Create an account" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify for blank user name
-               $this->type( "wpName2", "" );
-               $this->click( "wpCreateaccount" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-               $this->assertEquals( "Login error\n You have not specified a valid user name.",
-                       $this->getText( "//div[@id='bodyContent']/div[4]" ) );
-
-               // Verify for invalid user name
-               $this->type( "wpName2", "@" );
-               $this->click( "wpCreateaccount" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-               $this->assertEquals( "Login error\n You have not specified a valid user name.",
-                       $this->getText( "//div[@id='bodyContent']/div[4]" ) );
-
-               // start of test for blank password
-               $this->type( "wpName2", $this->userName );
-               $this->type( "wpPassword2", "" );
-               $this->click( "wpCreateaccount" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-               $this->assertEquals( "Login error\n Passwords must be at least 1 character.",
-                       $this->getText( "//div[@id='bodyContent']/div[4]" ) );
-
-               $this->type( "wpName2", $this->userName );
-               $this->type( "wpPassword2", $this->password );
-               $this->click( "wpCreateaccount" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-               $this->assertEquals( "Login error\n The passwords you entered do not match.",
-                       $this->getText( "//div[@id='bodyContent']/div[4]" ) );
-
-               $this->type( "wpName2", $this->userName );
-               $this->type( "wpPassword2", $this->password );
-               $this->type( "wpRetype", $this->password );
-               $this->click( "wpCreateaccount" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify successful account creation for valid combination of 'Username', 'Password', 'Retype password'
-               $this->assertEquals( "Welcome, " . ucfirst( $this->userName ) . "!",
-                       $this->getText( "Welcome,_" . ucfirst( $this->userName ) . "!" ) );
-       }
-}
-
diff --git a/tests/selenium/suites/DeletePageAdminTestCase.php b/tests/selenium/suites/DeletePageAdminTestCase.php
deleted file mode 100644 (file)
index f0005cd..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-<?php
-/**
- * Selenium server manager
- *
- * @file
- * @ingroup Testing
- * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com>
- * http://www.calcey.com/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-class DeletePageAdminTestCase extends SeleniumTestCase {
-       // Verify adding a new page
-       public function testDeletePage() {
-
-               $newPage = "new";
-               $displayName = "New";
-
-               $this->open( $this->getUrl() . '/index.php?title=Main_Page' );
-
-               $this->type( "searchInput", $newPage );
-               $this->click( "searchGoButton" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-               $this->click( SeleniumTestConstants::LINK_START . $displayName );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-               $this->type( SeleniumTestConstants::TEXT_EDITOR, $newPage . " text" );
-               $this->click( SeleniumTestConstants::BUTTON_SAVE );
-
-               $this->open( $this->getUrl() .
-                       '/index.php?title=Main_Page&action=edit' );
-               $this->click( SeleniumTestConstants::LINK_START . "Log out" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-               $this->click( SeleniumTestConstants::LINK_START . "Log in / create account" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               $this->type( "wpName1", $this->selenium->getUser() );
-               $this->type( "wpPassword1", $this->selenium->getPass() );
-               $this->click( "wpLoginAttempt" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-               $this->type( "searchInput", "new" );
-               $this->click( "searchGoButton" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify  'Delete' link displayed
-               $source = $this->gettext( SeleniumTestConstants::LINK_START . "Delete" );
-               $correct = strstr( $source, "Delete" );
-               $this->assertEquals( $correct, true );
-
-               $this->click( SeleniumTestConstants::LINK_START . "Delete" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify 'Delete' button available
-               $this->assertTrue( $this->isElementPresent( "wpConfirmB" ) );
-
-               $this->click( "wpConfirmB" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify  'Action complete' text displayed
-               $source = $this->gettext( "firstHeading" );
-               $correct = strstr( $source, "Action complete" );
-               $this->assertEquals( $correct, true );
-
-               // Verify  '<Page Name> has been deleted. See deletion log for a record of recent deletions.' text displayed
-               $source = $this->gettext( "//div[@id='bodyContent']/p[1]" );
-               $correct = strstr( $source, "\"New\" has been deleted. See deletion log for a record of recent deletions." );
-               $this->assertEquals( $correct, true );
-       }
-}
diff --git a/tests/selenium/suites/EmailPasswordTestCase.php b/tests/selenium/suites/EmailPasswordTestCase.php
deleted file mode 100644 (file)
index 77282e4..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-<?php
-/**
- * Selenium server manager
- *
- * @file
- * @ingroup Testing
- * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com>
- * http://www.calcey.com/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-class EmailPasswordTestCase extends SeleniumTestCase {
-       // change user name for each and every test (with in 24 hours)
-       private $userName = "test1";
-
-       public function testEmailPasswordButton() {
-               $this->click( SeleniumTestConstants::LINK_START . "Log out" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               $this->open( $this->getUrl() . '/index.php?title=Main_Page' );
-
-               // click Log in / create account link to open Log in / create account' page
-               $this->click( SeleniumTestConstants::LINK_START . "Log in / create account" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-               $this->assertTrue( $this->isElementPresent( "wpMailmypassword" ) );
-       }
-
-       // Verify Email password functionality
-       public function testEmailPasswordMessages() {
-               $this->click( SeleniumTestConstants::LINK_START . "Log out" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               $this->open( $this->getUrl() . '/index.php?title=Main_Page' );
-
-               // click Log in / create account link to open Log in / create account' page
-               $this->click( SeleniumTestConstants::LINK_START . "Log in / create account" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               $this->type( "wpName1", "" );
-               $this->click( "wpMailmypassword" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-               $this->assertEquals( "Login error\n You have not specified a valid user name.",
-                       $this->getText( "//div[@id='bodyContent']/div[4]" ) );
-
-               $this->type( "wpName1", $this->userName );
-               $this->click( "wpMailmypassword" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               //  Can not run on localhost
-               $this->assertEquals( "A new password has been sent to the e-mail address registered for " . ucfirst( $this->userName ) . ". Please log in again after you receive it.",
-                       $this->getText( "//div[@id='bodyContent']/div[4]" ) );
-
-               $this->type( "wpName1", $this->userName );
-               $this->click( "wpMailmypassword" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-               $this->assertEquals( "Login error\n A password reminder has already been sent, within the last 24 hours. To prevent abuse, only one password reminder will be sent per 24 hours.",
-                       $this->getText( "//div[@id='bodyContent']/div[4]" ) );
-       }
-}
-
diff --git a/tests/selenium/suites/MediaWikiEditorConfig.php b/tests/selenium/suites/MediaWikiEditorConfig.php
deleted file mode 100644 (file)
index 7fd8e07..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-/**
- * Selenium server manager
- *
- * @file
- * @ingroup Testing
- * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com>
- * http://www.calcey.com/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-class MediaWikiEditorConfig {
-       public static function getSettings( &$includeFiles, &$globalConfigs ) {
-               $includes = array(
-                       //files that needed to be included would go here
-                       //commenting out because this does not exist
-                       //'tests/selenium/suites/MediaWikiCommonFunction.php'
-               );
-               $configs = array(
-                       'wgPageLoadTime' => "600000"
-               );
-               $includeFiles = array_merge( $includeFiles, $includes );
-               $globalConfigs = array_merge( $globalConfigs, $configs );
-               return true;
-       }
-}
-
diff --git a/tests/selenium/suites/MediaWikiEditorTestSuite.php b/tests/selenium/suites/MediaWikiEditorTestSuite.php
deleted file mode 100644 (file)
index f9cfb7f..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-class MediaWikiEditorTestSuite extends SeleniumTestSuite {
-       public function setUp() {
-               $this->setLoginBeforeTests( true );
-               parent::setUp();
-       }
-
-       public function addTests() {
-               $testFiles = array(
-                       'tests/selenium/suites/AddNewPageTestCase.php',
-                       'tests/selenium/suites/AddContentToNewPageTestCase.php',
-                       'tests/selenium/suites/PreviewPageTestCase.php',
-                       'tests/selenium/suites/SavePageTestCase.php',
-               );
-               parent::addTestFiles( $testFiles );
-       }
-}
-
diff --git a/tests/selenium/suites/MediaWikiExtraTestSuite.php b/tests/selenium/suites/MediaWikiExtraTestSuite.php
deleted file mode 100644 (file)
index 8993907..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-class MediaWikiExtraTestSuite extends SeleniumTestSuite {
-       public function setUp() {
-               $this->setLoginBeforeTests( true );
-               parent::setUp();
-       }
-
-       public function addTests() {
-               $testFiles = array(
-                       'tests/selenium/suites/MyContributionsTestCase.php',
-                       'tests/selenium/suites/MyWatchListTestCase.php',
-                       'tests/selenium/suites/UserPreferencesTestCase.php',
-                       'tests/selenium/suites/MovePageTestCase.php',
-                       'tests/selenium/suites/PageSearchTestCase.php',
-                       'tests/selenium/suites/EmailPasswordTestCase.php',
-                       'tests/selenium/suites/CreateAccountTestCase.php'
-               );
-               parent::addTestFiles( $testFiles );
-       }
-}
diff --git a/tests/selenium/suites/MediawikiCoreSmokeTestCase.php b/tests/selenium/suites/MediawikiCoreSmokeTestCase.php
deleted file mode 100644 (file)
index 4491afd..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-<?php
-/*
- * Stub of tests be need as part of the hack-a-ton
- */
-class MediawikiCoreSmokeTestCase extends SeleniumTestCase {
-       public function testUserLogin() {
-
-       }
-
-       public function testChangeUserPreference() {
-
-       }
-
-       /**
-        * TODO: generalize this test to be reusable for different skins
-        */
-       public function testCreateNewPageVector() {
-
-       }
-
-       /**
-        * TODO: generalize this test to be reusable for different skins
-        */
-       public function testEditExistingPageVector() {
-
-       }
-
-       /**
-        * TODO: generalize this test to be reusable for different skins
-        */
-       public function testCreateNewPageMonobook() {
-
-       }
-
-       /**
-        * TODO: generalize this test to be reusable for different skins
-        */
-       public function testEditExistingPageMonobook() {
-
-       }
-
-       public function testImageUpload() {
-               $this->login();
-               $this->open( $this->getUrl() .
-                       '/index.php?title=Special:Upload' );
-               $this->type( 'wpUploadFile', __DIR__ .
-                       "\\..\\data\\Wikipedia-logo-v2-de.png" );
-               $this->check( 'wpIgnoreWarning' );
-               $this->click( 'wpUpload' );
-               $this->waitForPageToLoad( 30000 );
-
-               $this->assertSeleniumHTMLContains(
-                       '//h1[@class="firstHeading"]', "Wikipedia-logo-v2-de.png"
-               );
-
-               /*
-               $this->open( $this->getUrl() . '/index.php?title=Image:'
-                       . ucfirst( $this->filename ) . '&action=delete' );
-               $this->type( 'wpReason', 'Remove test file' );
-               $this->click( 'mw-filedelete-submit' );
-               $this->waitForPageToLoad( 10000 );
-
-               // Todo: This message is localized
-               $this->assertSeleniumHTMLContains( '//div[@id="bodyContent"]/p',
-                       ucfirst( $this->filename ) . '.*has been deleted.' );
-                */
-       }
-
-
-}
diff --git a/tests/selenium/suites/MediawikiCoreSmokeTestSuite.php b/tests/selenium/suites/MediawikiCoreSmokeTestSuite.php
deleted file mode 100644 (file)
index fc69e3c..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-/**
- * Stubs for now. We're going to start populating this test.
- */
-class MediawikiCoreSmokeTestSuite extends SeleniumTestSuite {
-       public function setUp() {
-               $this->setLoginBeforeTests( false );
-               parent::setUp();
-       }
-
-       public function addTests() {
-               $testFiles = array(
-                       'tests/selenium/suites/MediawikiCoreSmokeTestCase.php'
-               );
-               parent::addTestFiles( $testFiles );
-       }
-
-
-}
diff --git a/tests/selenium/suites/MovePageTestCase.php b/tests/selenium/suites/MovePageTestCase.php
deleted file mode 100644 (file)
index d2eaa40..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-<?php
-/**
- * Selenium server manager
- *
- * @file
- * @ingroup Testing
- * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com>
- * http://www.calcey.com/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-class MovePageTestCase extends SeleniumTestCase {
-       // Verify move(rename) wiki page
-       public function testMovePage() {
-               $newPage = "mypage99";
-               $displayName = "Mypage99";
-
-               $this->open( $this->getUrl() .
-                       '/index.php?title=Main_Page&action=edit' );
-               $this->type( "searchInput", $newPage );
-               $this->click( "searchGoButton" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-               $this->click( "link=" . $displayName );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-               $this->type( SeleniumTestConstants::TEXT_EDITOR, $newPage . " text" );
-               $this->click( SeleniumTestConstants::BUTTON_SAVE );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify link 'Move' available
-               $this->assertTrue( $this->isElementPresent( "link=Move" ) );
-
-               $this->click( "link=Move" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify correct page name displayed under 'Move Page' field
-               $this->assertEquals( $displayName,
-                       $this->getText( "//table[@id='mw-movepage-table']/tbody/tr[1]/td[2]/strong/a" ) );
-               $movePageName = $this->getText( "//table[@id='mw-movepage-table']/tbody/tr[1]/td[2]/strong/a" );
-
-               // Verify 'To new title' field has current page name as the default name
-               $newTitle = $this->getValue( "wpNewTitle" );
-               $correct = strstr( $movePageName, $newTitle );
-               $this->assertEquals( $correct, true );
-
-               $this->type( "wpNewTitle", $displayName );
-               $this->click( "wpMove" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify warning message for the same source and destination titles
-               $this->assertEquals( "Source and destination titles are the same; cannot move a page over itself.",
-                       $this->getText( "//div[@id='bodyContent']/p[4]/strong" ) );
-
-               // Verify warning message for the blank title
-               $this->type( "wpNewTitle", "" );
-               $this->click( "wpMove" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify warning message for the blank title
-               $this->assertEquals( "The requested page title was invalid, empty, or an incorrectly linked inter-language or inter-wiki title. It may contain one or more characters which cannot be used in titles.",
-                       $this->getText( "//div[@id='bodyContent']/p[4]/strong" ) );
-
-               //  Verify warning messages for the invalid titles
-               $this->type( "wpNewTitle", "# < > [ ] | { }" );
-               $this->click( "wpMove" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-               $this->assertEquals( "The requested page title was invalid, empty, or an incorrectly linked inter-language or inter-wiki title. It may contain one or more characters which cannot be used in titles.",
-                       $this->getText( "//div[@id='bodyContent']/p[4]/strong" ) );
-
-               $this->type( "wpNewTitle", $displayName . "move" );
-               $this->click( "wpMove" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify move success message displayed correctly
-               $this->assertEquals( "\"" . $displayName . "\" has been moved to \"" . $displayName . "move" . "\"",
-                       $this->getText( "//div[@id='bodyContent']/p[1]/b" ) );
-
-               $this->type( "searchInput", $newPage . "move" );
-               $this->click( "searchGoButton" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify search using new page name
-               $this->assertEquals( $displayName . "move", $this->getText( "firstHeading" ) );
-
-               $this->type( "searchInput", $newPage );
-               $this->click( "searchGoButton" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify search using old page name
-               $redirectPageName = $this->getText( "//*[@id='contentSub']" );
-               $this->assertEquals( "(Redirected from " . $displayName . ")", $redirectPageName );
-
-               // newpage delete
-               $this->deletePage( $newPage . "move" );
-               $this->deletePage( $newPage );
-       }
-}
-
diff --git a/tests/selenium/suites/MyContributionsTestCase.php b/tests/selenium/suites/MyContributionsTestCase.php
deleted file mode 100644 (file)
index 81e3a4d..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-/**
- * Selenium server manager
- *
- * @file
- * @ingroup Testing
- * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com>
- * http://www.calcey.com/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-require_once dirname( __DIR__ ) . '/SeleniumTestConstants.php';
-
-class MyContributionsTestCase extends SeleniumTestCase {
-       // Verify user contributions
-       public function testRecentChangesAvailability() {
-               $newPage = $this->createNewTestPage( "MyContributionsTest" );
-
-               // Verify My contributions Link available
-               $this->assertTrue( $this->isElementPresent( "link=Contributions" ) );
-
-
-               $this->click( "link=Contributions" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify recent page adding available on My Contributions list
-               $this->assertEquals( $newPage, $this->getText( "link=" . $newPage ) );
-
-               $this->type( SeleniumTestConstants::INPUT_SEARCH_BOX, $newPage );
-               $this->click( SeleniumTestConstants::BUTTON_SEARCH );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               $this->click( SeleniumTestConstants::LINK_EDIT );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-               $this->type( SeleniumTestConstants::TEXT_EDITOR, $newPage . " text changed" );
-               $this->click( SeleniumTestConstants::BUTTON_SAVE );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-               $this->click( "link=Contributions" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify recent page changes available on My Contributions
-               $this->assertTrue( $this->isTextPresent( $newPage ) );
-       }
-}
-
diff --git a/tests/selenium/suites/MyWatchListTestCase.php b/tests/selenium/suites/MyWatchListTestCase.php
deleted file mode 100644 (file)
index 842108f..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-/**
- * Selenium server manager
- *
- * @file
- * @ingroup Testing
- * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com>
- * http://www.calcey.com/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-require_once dirname( __DIR__ ) . '/SeleniumTestConstants.php';
-
-class MyWatchListTestCase extends SeleniumTestCase {
-       // Verify user watchlist
-       public function testMyWatchlist() {
-               $pageName = $this->createNewTestPage( "MyWatchListTest", true );
-               // Verify link 'My Watchlist' available
-               $this->assertTrue( $this->isElementPresent( SeleniumTestConstants::LINK_START . "Watchlist" ) );
-
-               $this->click( SeleniumTestConstants::LINK_START . "Watchlist" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify newly added page to the watchlist is available
-               $this->assertEquals( $pageName, $this->getText( SeleniumTestConstants::LINK_START . $pageName ) );
-
-               $this->click( SeleniumTestConstants::LINK_START . $pageName );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-               $this->click( SeleniumTestConstants::LINK_EDIT );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-               $this->click( "wpWatchthis" );
-               $this->click( SeleniumTestConstants::BUTTON_SAVE );
-               $this->assertFalse( $this->isElementPresent( SeleniumTestConstants::LINK_START . $pageName ) );
-               //todo watch using the dropdown menu
-       }
-}
-
diff --git a/tests/selenium/suites/PageDeleteTestSuite.php b/tests/selenium/suites/PageDeleteTestSuite.php
deleted file mode 100644 (file)
index e43ffa8..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<?php
-
-class PageDeleteTestSuite extends SeleniumTestSuite {
-       public function setUp() {
-               $this->setLoginBeforeTests( true );
-               parent::setUp();
-       }
-
-       public function addTests() {
-               $testFiles = array(
-                       'tests/selenium/suites/DeletePageAdminTestCase.php'
-               );
-               parent::addTestFiles( $testFiles );
-       }
-}
diff --git a/tests/selenium/suites/PageSearchTestCase.php b/tests/selenium/suites/PageSearchTestCase.php
deleted file mode 100644 (file)
index 5fdc5c8..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-<?php
-/**
- * Selenium server manager
- *
- * @file
- * @ingroup Testing
- * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com>
- * http://www.calcey.com/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-class PageSearchTestCase extends SeleniumTestCase {
-       // Verify the functionality of the 'Go' button
-       public function testPageSearchBtnGo() {
-
-               $this->open( $this->getUrl() .
-                       '/index.php?title=Main_Page&action=edit' );
-               $this->type( SeleniumTestConstants::INPUT_SEARCH_BOX, "calcey qa" );
-               $this->click( "searchGoButton" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify  no page matched with the entered search text
-               $source = $this->gettext( "//div[@id='bodyContent']/div[4]/p/b" );
-               $correct = strstr( $source, "Create the page \"Calcey qa\" on this wiki!" );
-               $this->assertEquals( $correct, true );
-
-               $this->click( "link=Calcey qa" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               $this->type( SeleniumTestConstants::TEXT_EDITOR, "Calcey QA team" );
-               $this->click( "wpSave" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-       }
-
-       // Verify the functionality of the 'Search' button
-       public function testPageSearchBtnSearch() {
-               $this->open( $this->getUrl() .
-                       '/index.php?title=Main_Page&action=edit' );
-               $this->type( SeleniumTestConstants::INPUT_SEARCH_BOX, "Calcey web" );
-               $this->click( SeleniumTestConstants::BUTTON_SEARCH );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify  no page is available as the search text
-               $source = $this->gettext( "//div[@id='bodyContent']/div[4]/p[2]/b" );
-               $correct = strstr( $source, "Create the page \"Calcey web\" on this wiki!" );
-               $this->assertEquals( $correct, true );
-
-               $this->click( "link=Calcey web" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               $this->type( SeleniumTestConstants::TEXT_EDITOR, "Calcey web team" );
-               $this->click( SeleniumTestConstants::BUTTON_SAVE );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify saved page is opened  when the exact page name is given
-               $this->type( SeleniumTestConstants::INPUT_SEARCH_BOX, "Calcey web" );
-               $this->click( SeleniumTestConstants::BUTTON_SEARCH );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify exact page matched with the entered search text using 'Search' button
-               $source = $this->getText( "//*[@id='bodyContent']/div[4]/p/b" );
-               $correct = strstr( $source, "There is a page named \"Calcey web\" on this wiki." );
-               $this->assertEquals( $correct, true );
-
-               // Verify resutls available when partial page name is entered as the search text
-               $this->type( SeleniumTestConstants::INPUT_SEARCH_BOX, "Calcey" );
-               $this->click( SeleniumTestConstants::BUTTON_SEARCH );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               //  Verify text avaialble in the search result under the page titles
-               if ( $this->isElementPresent( "Page_title_matches" ) ) {
-                       $textPageTitle = $this->getText( "//*[@id='bodyContent']/div[4]/ul[1]/li[1]/div[1]/a" );
-                       $this->assertContains( 'Calcey', $textPageTitle );
-               }
-
-               //  Verify text avaialble in the search result under the page text
-               if ( $this->isElementPresent( "Page_text_matches" ) ) {
-                       $textPageText = $this->getText( "//*[@id='bodyContent']/div[4]/ul[2]/li[2]/div[2]/span" );
-                       $this->assertContains( 'Calcey', $textPageText );
-               }
-               $this->deletePage( "Calcey QA" );
-               $this->deletePage( "Calcey web" );
-       }
-}
diff --git a/tests/selenium/suites/PreviewPageTestCase.php b/tests/selenium/suites/PreviewPageTestCase.php
deleted file mode 100644 (file)
index 036201f..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
-/**
- * Selenium server manager
- *
- * @file
- * @ingroup Testing
- * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com>
- * http://www.calcey.com/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-class PreviewPageTestCase extends SeleniumTestCase {
-       // Verify adding a new page
-       public function testPreviewPage() {
-               $wikiText = "Adding this page to test the \n Preview button functionality";
-               $newPage = "Test Preview Page";
-               $this->open( $this->getUrl() .
-                       '/index.php?title=Main_Page&action=edit' );
-               $this->getNewPage( $newPage );
-               $this->type( SeleniumTestConstants::TEXT_EDITOR, $wikiText . "" );
-               $this->assertTrue( $this->isElementPresent( "//*[@id='wpPreview']" ) );
-
-               $this->click( "wpPreview" );
-
-               // Verify saved page available
-               $source = $this->gettext( "firstHeading" );
-               $correct = strstr( $source, "Test Preview Page" );
-               $this->assertEquals( $correct, true );
-
-               // Verify page content previewed succesfully
-               $contentOfPreviewPage = $this->getText( "//*[@id='content']" );
-               $this->assertContains( $wikiText, $contentOfPreviewPage );
-       }
-}
diff --git a/tests/selenium/suites/SavePageTestCase.php b/tests/selenium/suites/SavePageTestCase.php
deleted file mode 100644 (file)
index 1e4cc2d..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
-/**
- * Selenium server manager
- *
- * @file
- * @ingroup Testing
- * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com>
- * http://www.calcey.com/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-class SavePageTestCase extends SeleniumTestCase {
-       // Verify adding a new page
-       public function testSavePage() {
-               $wikiText = "Adding this page to test the Save button functionality";
-               $newPage = "Test Save Page";
-
-               $this->open( $this->getUrl() .
-                       '/index.php?title=Main_Page&action=edit' );
-               $this->getNewPage( $newPage );
-               $this->type( SeleniumTestConstants::TEXT_EDITOR, $wikiText );
-
-               // verify 'Save' button available
-               $this->assertTrue( $this->isElementPresent( SeleniumTestConstants::BUTTON_SAVE ) );
-               $this->click( SeleniumTestConstants::BUTTON_SAVE );
-
-               // Verify saved page available
-               $source = $this->gettext( "firstHeading" );
-               $correct = strstr( $source, "Test Save Page" );
-
-               // Verify Saved page name displayed correctly
-               $this->assertEquals( $correct, true );
-
-               // Verify page content saved succesfully
-               $contentOfSavedPage = $this->getText( "//*[@id='content']" );
-               $this->assertContains( $wikiText, $contentOfSavedPage );
-               $this->deletePage( $newPage );
-       }
-}
diff --git a/tests/selenium/suites/SimpleSeleniumConfig.php b/tests/selenium/suites/SimpleSeleniumConfig.php
deleted file mode 100644 (file)
index a693511..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-class SimpleSeleniumConfig {
-
-       public static function getSettings( &$includeFiles, &$globalConfigs, &$resourceFiles ) {
-               global $IP;
-               $includes = array(
-                       //files that needed to be included would go here
-               );
-               $configs = array(
-                       'wgDBprefix' => 'mw_',
-                       'wgDBTableOptions' => 'ENGINE=InnoDB, DEFAULT CHARSET=binary',
-                       'wgDBmysql5' => 'false',
-                       'wgMainCacheType' => 'CACHE_NONE',
-                       'wgParserCacheType' => 'CACHE_NONE',
-                       'wgMemCachedServers' => array(),
-                       'wgLanguageCode' => 'en',
-                       'wgSitename' => 'test_wiki',
-                       'wgDefaultSkin' => 'chick'
-               );
-               $resources = array(
-                       'db' => "$IP/tests/selenium/data/SimpleSeleniumTestDB.sql",
-                       'images' => "$IP/tests/selenium/data/SimpleSeleniumTestImages.zip"
-               );
-
-               $includeFiles = array_merge( $includeFiles, $includes );
-               $globalConfigs = array_merge( $globalConfigs, $configs );
-               $resourceFiles = array_merge( $resourceFiles, $resources );
-               return true;
-       }
-}
diff --git a/tests/selenium/suites/SimpleSeleniumTestCase.php b/tests/selenium/suites/SimpleSeleniumTestCase.php
deleted file mode 100644 (file)
index 14c9e6b..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-/*
- * This test case is part of the SimpleSeleniumTestSuite.
- * Configuration for these tests are documented as part of SimpleSeleniumTestSuite.php
- */
-class SimpleSeleniumTestCase extends SeleniumTestCase {
-       public function testBasic() {
-               $this->open( $this->getUrl() .
-                       '/index.php?title=Selenium&action=edit' );
-               $this->type( "wpTextbox1", "This is a basic test" );
-               $this->click( "wpPreview" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // check result
-               $source = $this->getText( "//div[@id='wikiPreview']/p" );
-               $correct = strstr( $source, "This is a basic test" );
-               $this->assertEquals( $correct, true );
-       }
-
-       /**
-        * All this test really does is verify that a global var was set.
-        * It depends on $wgDefaultSkin = 'chick'; being set
-        */
-       public function testGlobalVariableForDefaultSkin() {
-               $this->open( $this->getUrl() . '/index.php' );
-               $bodyClass = $this->getAttribute( "//body/@class" );
-               $this->assertContains( 'skin-chick', $bodyClass, 'Chick skin not set' );
-       }
-
-       /**
-        * Just verify that the test db was loaded correctly
-        */
-       public function testDatabaseResourceLoadedCorrectly() {
-               $this->open( $this->getUrl() . '/index.php/TestResources?action=purge' );
-               $testString = $this->gettext( "//body//*[@id='firstHeading']" );
-               $this->assertEquals( 'TestResources', $testString, 'Article that should be present in the test db was not found.' );
-       }
-
-}
diff --git a/tests/selenium/suites/SimpleSeleniumTestSuite.php b/tests/selenium/suites/SimpleSeleniumTestSuite.php
deleted file mode 100644 (file)
index 9fe6fb8..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-/**
- * Sample test suite.
- * Two ways to configure MW for these tests
- * 1) If you are running multiple test suites, add the following in LocalSettings.php
- * require_once "tests/selenium/SimpleSeleniumConfig.php";
- * $wgSeleniumTestConfigs['SimpleSeleniumTestSuite'] = 'SimpleSeleniumConfig::getSettings';
- * OR
- * 2) Add the following to your Localsettings.php
- * $wgDefaultSkin = 'chick';
- */
-class SimpleSeleniumTestSuite extends SeleniumTestSuite {
-       public function setUp() {
-               $this->setLoginBeforeTests( false );
-               parent::setUp();
-       }
-
-       public function addTests() {
-               $testFiles = array(
-                       'selenium/suites/SimpleSeleniumTestCase.php'
-               );
-               parent::addTestFiles( $testFiles );
-       }
-
-
-}
diff --git a/tests/selenium/suites/UserPreferencesTestCase.php b/tests/selenium/suites/UserPreferencesTestCase.php
deleted file mode 100644 (file)
index c70e38f..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-<?php
-/**
- * Selenium server manager
- *
- * @file
- * @ingroup Testing
- * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com>
- * http://www.calcey.com/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-class UserPreferencesTestCase extends SeleniumTestCase {
-       // Verify user information
-       public function testUserInfoDisplay() {
-
-               $this->open( $this->getUrl() .
-                       '/index.php?title=Main_Page&action=edit' );
-               $this->click( SeleniumTestConstants::LINK_START . "My preferences" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify correct username displayed in User Preferences
-               $this->assertEquals( $this->getText( "//li[@id='pt-userpage']/a" ),
-                       $this->getText( "//table[@id='mw-htmlform-info']/tbody/tr[1]/td[2]" ) );
-
-               // Verify existing Signature Displayed correctly
-               $this->assertEquals( $this->selenium->getUser(),
-                       $this->getTable( "mw-htmlform-signature.0.1" ) );
-       }
-
-       // Verify change password
-       public function testChangePassword() {
-
-               $this->open( $this->getUrl() .
-                       '/index.php?title=Main_Page&action=edit' );
-               $this->click( SeleniumTestConstants::LINK_START . "My preferences" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               $this->click( SeleniumTestConstants::LINK_START . "Change password" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               $this->type( "wpPassword", "12345" );
-               $this->type( "wpNewPassword", "54321" );
-               $this->type( "wpRetype", "54321" );
-               $this->click( "//input[@value='Change password']" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               $this->assertEquals( "Preferences", $this->getText( "firstHeading" ) );
-
-               $this->click( SeleniumTestConstants::LINK_START . "Change password" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               $this->type( "wpPassword", "54321" );
-               $this->type( "wpNewPassword", "12345" );
-               $this->type( "wpRetype", "12345" );
-               $this->click( "//input[@value='Change password']" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-               $this->assertEquals( "Preferences", $this->getText( "firstHeading" ) );
-
-               $this->click( SeleniumTestConstants::LINK_START . "Change password" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               $this->type( "wpPassword", "54321" );
-               $this->type( "wpNewPassword", "12345" );
-               $this->type( "wpRetype", "12345" );
-               $this->click( "//input[@value='Change password']" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-       }
-
-       // Verify successful preferences save
-       public function testSuccessfullSave() {
-
-               $this->open( $this->getUrl() .
-                       '/index.php?title=Main_Page&action=edit' );
-               $this->click( SeleniumTestConstants::LINK_START . "My preferences" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               $this->type( "mw-input-realname", "Test User" );
-               $this->click( "prefcontrol" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify  "Your preferences have been saved." message
-               $this->assertEquals( "Your preferences have been saved.",
-                       $this->getText( "//div[@id='bodyContent']/div[4]/strong/p" ) );
-               $this->type( "mw-input-realname", "" );
-               $this->click( "prefcontrol" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-       }
-
-       // Verify change signature
-       public function testChangeSignature() {
-               $this->open( $this->getUrl() .
-                       '/index.php?title=Main_Page&action=edit' );
-               $this->click( SeleniumTestConstants::LINK_START . "My preferences" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               $this->type( "mw-input-nickname", "TestSignature" );
-               $this->click( "prefcontrol" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify change user signature
-               $this->assertEquals( "TestSignature", $this->getText( SeleniumTestConstants::LINK_START . "TestSignature" ) );
-               $this->type( "mw-input-nickname", "Test" );
-               $this->click( "prefcontrol" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-       }
-
-       // Verify change date format
-       public function testChangeDateFormatTimeZone() {
-               $this->open( $this->getUrl() .
-                       '/index.php?title=Main_Page&action=edit' );
-
-               $this->click( SeleniumTestConstants::LINK_START . "My preferences" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-               $this->click( SeleniumTestConstants::LINK_START . "Date and time" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               $this->click( "mw-input-date-dmy" );
-               $this->select( "mw-input-timecorrection", "label=Asia/Colombo" );
-               $this->click( "prefcontrol" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify Date format and time zome saved
-               $this->assertEquals( "Your preferences have been saved.",
-                       $this->getText( "//div[@id='bodyContent']/div[4]/strong/p" ) );
-       }
-
-       // Verify restoring all default settings
-       public function testSetAllDefault() {
-               $this->open( $this->getUrl() .
-                       '/index.php?title=Main_Page&action=edit' );
-               $this->click( SeleniumTestConstants::LINK_START . "My preferences" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify restoring all default settings
-               $this->assertEquals( "Restore all default settings",
-                       $this->getText( SeleniumTestConstants::LINK_START . "Restore all default settings" ) );
-
-               $this->click( "//*[@id='preferences']/div/a" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify 'This can not be undone' warning message displayed
-               $this->assertTrue( $this->isElementPresent( "//input[@value='Restore all default settings']" ) );
-
-               // Verify 'Restore all default settings' button available
-               $this->assertEquals( "You can use this page to reset your preferences to the site defaults. This cannot be undone.",
-                       $this->getText( "//div[@id='bodyContent']/p" ) );
-
-               $this->click( "//input[@value='Restore all default settings']" );
-               $this->waitForPageToLoad( SeleniumTestConstants::WIKI_TEST_WAIT_TIME );
-
-               // Verify preferences saved successfully
-               $this->assertEquals( "Your preferences have been saved.",
-                       $this->getText( "//div[@id='bodyContent']/div[4]/strong/p" ) );
-       }
-}
-