Merge "(bug 43915) Implement deleteEqualMessages.php"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Mon, 4 Feb 2013 01:10:44 +0000 (01:10 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Mon, 4 Feb 2013 01:10:44 +0000 (01:10 +0000)
118 files changed:
api.php
includes/ArrayUtils.php
includes/AutoLoader.php
includes/Cdb.php
includes/Collation.php
includes/ConfEditor.php
includes/DefaultSettings.php
includes/Exception.php
includes/Hooks.php
includes/api/ApiQueryStashImageInfo.php
includes/content/ContentHandler.php
includes/db/Database.php
includes/db/DatabaseIbm_db2.php
includes/db/DatabaseMssql.php
includes/db/DatabaseOracle.php
includes/db/DatabasePostgres.php
includes/db/DatabaseUtility.php
includes/db/IORMRow.php
includes/db/LoadMonitor.php
includes/db/ORMIterator.php
includes/db/ORMTable.php
includes/filebackend/FileBackend.php
includes/filebackend/lockmanager/DBLockManager.php
includes/filebackend/lockmanager/LockManager.php
includes/filebackend/lockmanager/LockManagerGroup.php
includes/filebackend/lockmanager/QuorumLockManager.php [new file with mode: 0644]
includes/filerepo/LocalRepo.php
includes/installer/Installer.i18n.php
includes/installer/PostgresUpdater.php
includes/installer/WebInstallerPage.php
includes/job/jobs/DoubleRedirectJob.php
includes/libs/IEContentAnalyzer.php
includes/media/Exif.php
includes/media/ExifBitmap.php
includes/media/Jpeg.php
includes/objectcache/HashBagOStuff.php
includes/objectcache/MemcachedBagOStuff.php
includes/objectcache/MemcachedPhpBagOStuff.php
includes/objectcache/RedisBagOStuff.php
includes/objectcache/SqlBagOStuff.php
includes/parser/StripState.php
includes/search/SearchMssql.php
includes/site/SiteList.php
includes/specials/SpecialAllpages.php
includes/specials/SpecialMostlinkedtemplates.php
includes/specials/SpecialUpload.php
languages/messages/MessagesAce.php
languages/messages/MessagesAr.php
languages/messages/MessagesArc.php
languages/messages/MessagesAst.php
languages/messages/MessagesAz.php
languages/messages/MessagesDiq.php
languages/messages/MessagesEl.php
languages/messages/MessagesEo.php
languages/messages/MessagesEs.php
languages/messages/MessagesEu.php
languages/messages/MessagesFi.php
languages/messages/MessagesFrp.php
languages/messages/MessagesFrr.php
languages/messages/MessagesGd.php
languages/messages/MessagesGl.php
languages/messages/MessagesHsb.php
languages/messages/MessagesHu.php
languages/messages/MessagesId.php
languages/messages/MessagesIlo.php
languages/messages/MessagesKa.php
languages/messages/MessagesKiu.php
languages/messages/MessagesLa.php
languages/messages/MessagesLb.php
languages/messages/MessagesLt.php
languages/messages/MessagesMin.php
languages/messages/MessagesPl.php
languages/messages/MessagesPms.php
languages/messages/MessagesPt.php
languages/messages/MessagesPt_br.php
languages/messages/MessagesQqq.php
languages/messages/MessagesRoa_tara.php
languages/messages/MessagesRu.php
languages/messages/MessagesSah.php
languages/messages/MessagesSl.php
languages/messages/MessagesSo.php
languages/messages/MessagesSv.php
languages/messages/MessagesTh.php
languages/messages/MessagesVot.php
languages/messages/MessagesWar.php
languages/messages/MessagesYi.php
languages/messages/MessagesZh_hans.php
maintenance/archives/upgradeLogging.php
maintenance/checkSyntax.php
maintenance/deleteOldRevisions.php
maintenance/deleteOrphanedRevisions.php
maintenance/doMaintenance.php
maintenance/dumpLinks.php
maintenance/dumpTextPass.php
maintenance/edit.php
maintenance/eval.php
maintenance/fileOpPerfTest.php
maintenance/formatInstallDoc.php
maintenance/fuzz-tester.php
maintenance/mergeMessageFileList.php
maintenance/nextJobDB.php
maintenance/populateLogUsertext.php
maintenance/postgres/archives/patch-sites.sql [new file with mode: 0644]
maintenance/postgres/tables.sql
maintenance/preprocessDump.php
maintenance/reassignEdits.php
maintenance/showStats.php
maintenance/storage/fixBug20757.php
maintenance/storage/moveToExternal.php
maintenance/storage/recompressTracked.php
maintenance/storage/resolveStubs.php
maintenance/storage/storageTypeStats.php
maintenance/storage/testCompression.php
maintenance/term/MWTerm.php
maintenance/userOptions.php
serialized/serialize.php
tests/TestsAutoLoader.php
tests/parser/parserTests.txt

diff --git a/api.php b/api.php
index 94266d8..4efcdba 100644 (file)
--- a/api.php
+++ b/api.php
@@ -107,4 +107,3 @@ if ( $wgAPIRequestLog ) {
 // get here to worry about whether this should be = or =&, but the file has to parse properly.
 $lb = wfGetLBFactory();
 $lb->shutdown();
-
index 4ff31b8..8d1884b 100644 (file)
@@ -31,4 +31,3 @@ class ArrayUtils {
                } );
        }
 }
-
index 8096ed6..8a886e9 100644 (file)
@@ -573,7 +573,7 @@ $wgAutoloadLocalClasses = array(
        'DBLockManager' => 'includes/filebackend/lockmanager/DBLockManager.php',
        'LSLockManager' => 'includes/filebackend/lockmanager/LSLockManager.php',
        'MemcLockManager' => 'includes/filebackend/lockmanager/MemcLockManager.php',
-       'QuorumLockManager' => 'includes/filebackend/lockmanager/LockManager.php',
+       'QuorumLockManager' => 'includes/filebackend/lockmanager/QuorumLockManager.php',
        'MySqlLockManager'=> 'includes/filebackend/lockmanager/DBLockManager.php',
        'NullLockManager' => 'includes/filebackend/lockmanager/LockManager.php',
        'FileOp' => 'includes/filebackend/FileOp.php',
index 2a6a3d2..960e76a 100644 (file)
@@ -183,4 +183,3 @@ class CdbWriter_DBA {
                }
        }
 }
-
index 3cc7902..f53ce02 100644 (file)
@@ -375,4 +375,3 @@ class IcuCollation extends Collation {
                return false;
        }
 }
-
index e563416..699e83a 100644 (file)
@@ -1095,4 +1095,3 @@ class ConfEditorToken {
                return $this->type == 'END';
        }
 }
-
index 2808996..0f49843 100644 (file)
@@ -438,14 +438,34 @@ $wgUseInstantCommons = false;
 
 /**
  * File backend structure configuration.
+ *
  * This is an array of file backend configuration arrays.
  * Each backend configuration has the following parameters:
- *  - 'name'        : A unique name for the backend
- *  - 'class'       : The file backend class to use
- *  - 'wikiId'      : A unique string that identifies the wiki (container prefix)
- *  - 'lockManager' : The name of a lock manager (see $wgLockManagers)
- *
- * Additional parameters are specific to the class used.
+ *  - 'name'         : A unique name for the backend
+ *  - 'class'        : The file backend class to use
+ *  - 'wikiId'       : A unique string that identifies the wiki (container prefix)
+ *  - 'lockManager'  : The name of a lock manager (see $wgLockManagers)
+ *
+ * See FileBackend::__construct() for more details.
+ * Additional parameters are specific to the file backend class used.
+ * These settings should be global to all wikis when possible.
+ *
+ * There are two particularly important aspects about each backend:
+ *   - a) Whether it is fully qualified or wiki-relative.
+ *        By default, the paths of files are relative to the current wiki,
+ *        which works via prefixing them with the current wiki ID when accessed.
+ *        Setting 'wikiId' forces the backend to be fully qualified by prefixing
+ *        all paths with the specified value instead. This can be useful if
+ *        multiple wikis need to share the same data. Note that 'name' is *not*
+ *        part of any prefix and thus should not be relied upon for namespacing.
+ *   - b) Whether it is only defined for some wikis or is defined on all
+ *        wikis in the wiki farm. Defining a backend globally is useful
+ *        if multiple wikis need to share the same data.
+ * One should be aware of these aspects when configuring a backend for use with
+ * any basic feature or plugin. For example, suppose an extension stores data for
+ * different wikis in different directories and sometimes needs to access data from
+ * a foreign wiki's directory in order to render a page on given wiki. The extension
+ * would need a fully qualified backend that is defined on all wikis in the wiki farm.
  */
 $wgFileBackends = array();
 
index 0499b32..4cb946c 100644 (file)
@@ -573,7 +573,7 @@ class HttpError extends MWException {
         * @return int
         */
        public function getStatusCode() {
-               $this->httpCode;
+               return $this->httpCode;
        }
 
        /**
index 9e201a2..a29e5fe 100644 (file)
@@ -150,6 +150,7 @@ class Hooks {
                        return true;
                }
 
+               wfProfileIn( 'hook: ' . $event );
                $hooks = self::getHandlers( $event );
 
                foreach ( $hooks as $hook ) {
@@ -288,10 +289,12 @@ class Hooks {
                                        );
                                }
                        } elseif ( !$retval ) {
+                               wfProfileOut( 'hook: ' . $event );
                                return false;
                        }
                }
 
+               wfProfileOut( 'hook: ' . $event );
                return true;
        }
 
index 1b97317..7128920 100644 (file)
@@ -139,4 +139,3 @@ class ApiQueryStashImageInfo extends ApiQueryImageInfo {
        }
 
 }
-
index 0dc7455..b493715 100644 (file)
@@ -1114,4 +1114,3 @@ abstract class ContentHandler {
                return $ok;
        }
 }
-
index fff1837..97e2fe2 100644 (file)
@@ -1180,26 +1180,9 @@ abstract class DatabaseBase implements DatabaseType {
                        }
                }
 
-               if ( isset( $options['GROUP BY'] ) ) {
-                       $gb = is_array( $options['GROUP BY'] )
-                               ? implode( ',', $options['GROUP BY'] )
-                               : $options['GROUP BY'];
-                       $preLimitTail .= " GROUP BY {$gb}";
-               }
+               $preLimitTail .= $this->makeGroupByWithHaving( $options );
 
-               if ( isset( $options['HAVING'] ) ) {
-                       $having = is_array( $options['HAVING'] )
-                               ? $this->makeList( $options['HAVING'], LIST_AND )
-                               : $options['HAVING'];
-                       $preLimitTail .= " HAVING {$having}";
-               }
-
-               if ( isset( $options['ORDER BY'] ) ) {
-                       $ob = is_array( $options['ORDER BY'] )
-                               ? implode( ',', $options['ORDER BY'] )
-                               : $options['ORDER BY'];
-                       $preLimitTail .= " ORDER BY {$ob}";
-               }
+               $preLimitTail .= $this->makeOrderBy( $options );
 
                // if (isset($options['LIMIT'])) {
                //      $tailOpts .= $this->limitResult('', $options['LIMIT'],
@@ -1261,6 +1244,49 @@ abstract class DatabaseBase implements DatabaseType {
                return array( $startOpts, $useIndex, $preLimitTail, $postLimitTail );
        }
 
+       /**
+        * Returns an optional GROUP BY with an optional HAVING
+        *
+        * @param $options Array: associative array of options
+        * @return string
+        * @see DatabaseBase::select()
+        * @since 1.21
+        */
+       public function makeGroupByWithHaving( $options ) {
+               $sql = '';
+               if ( isset( $options['GROUP BY'] ) ) {
+                       $gb = is_array( $options['GROUP BY'] )
+                               ? implode( ',', $options['GROUP BY'] )
+                               : $options['GROUP BY'];
+                       $sql .= ' GROUP BY ' . $gb;
+               }
+               if ( isset( $options['HAVING'] ) ) {
+                       $having = is_array( $options['HAVING'] )
+                               ? $this->makeList( $options['HAVING'], LIST_AND )
+                               : $options['HAVING'];
+                       $sql .= ' HAVING ' . $having;
+               }
+               return $sql;
+       }
+
+       /**
+        * Returns an optional ORDER BY
+        *
+        * @param $options Array: associative array of options
+        * @return string
+        * @see DatabaseBase::select()
+        * @since 1.21
+        */
+       public function makeOrderBy( $options ) {
+               if ( isset( $options['ORDER BY'] ) ) {
+                       $ob = is_array( $options['ORDER BY'] )
+                               ? implode( ',', $options['ORDER BY'] )
+                               : $options['ORDER BY'];
+                       return ' ORDER BY ' . $ob;
+               }
+               return '';
+       }
+
        /**
         * Execute a SELECT query constructed using the various parameters provided.
         * See below for full details of the parameters.
index f2b4b09..03c1f9b 100644 (file)
@@ -1379,15 +1379,9 @@ class DatabaseIbm_db2 extends DatabaseBase {
                        }
                }
 
-               if ( isset( $options['GROUP BY'] ) ) {
-                       $preLimitTail .= " GROUP BY {$options['GROUP BY']}";
-               }
-               if ( isset( $options['HAVING'] ) ) {
-                       $preLimitTail .= " HAVING {$options['HAVING']}";
-               }
-               if ( isset( $options['ORDER BY'] ) ) {
-                       $preLimitTail .= " ORDER BY {$options['ORDER BY']}";
-               }
+               $preLimitTail .= $this->makeGroupByWithHaving( $options );
+
+               $preLimitTail .= $this->makeOrderBy( $options );
 
                if ( isset( $noKeyOptions['DISTINCT'] )
                        || isset( $noKeyOptions['DISTINCTROW'] ) )
index 7def1b2..8796a48 100644 (file)
@@ -908,15 +908,9 @@ class DatabaseMssql extends DatabaseBase {
                        }
                }
 
-               if ( isset( $options['GROUP BY'] ) ) {
-                       $tailOpts .= " GROUP BY {$options['GROUP BY']}";
-               }
-               if ( isset( $options['HAVING'] ) ) {
-                       $tailOpts .= " HAVING {$options['GROUP BY']}";
-               }
-               if ( isset( $options['ORDER BY'] ) ) {
-                       $tailOpts .= " ORDER BY {$options['ORDER BY']}";
-               }
+               $tailOpts .= $this->makeGroupByWithHaving( $options );
+
+               $tailOpts .= $this->makeOrderBy( $options );
 
                if ( isset( $noKeyOptions['DISTINCT'] ) && isset( $noKeyOptions['DISTINCTROW'] ) ) {
                        $startOpts .= 'DISTINCT';
index 7e3c0ca..ed9f324 100644 (file)
@@ -1166,26 +1166,9 @@ class DatabaseOracle extends DatabaseBase {
                        }
                }
 
-               if ( isset( $options['GROUP BY'] ) ) {
-                       $gb = is_array( $options['GROUP BY'] )
-                               ? implode( ',', $options['GROUP BY'] )
-                               : $options['GROUP BY'];
-                       $preLimitTail .= " GROUP BY {$gb}";
-               }
-
-               if ( isset( $options['HAVING'] ) ) {
-                       $having = is_array( $options['HAVING'] )
-                               ? $this->makeList( $options['HAVING'], LIST_AND )
-                               : $options['HAVING'];
-                       $preLimitTail .= " HAVING {$having}";
-               }
+               $preLimitTail .= $this->makeGroupByWithHaving( $options );
 
-               if ( isset( $options['ORDER BY'] ) ) {
-                       $ob = is_array( $options['ORDER BY'] )
-                               ? implode( ',', $options['ORDER BY'] )
-                               : $options['ORDER BY'];
-                       $preLimitTail .= " ORDER BY {$ob}";
-               }
+               $preLimitTail .= $this->makeOrderBy( $options );
 
                if ( isset( $noKeyOptions['FOR UPDATE'] ) ) {
                        $postLimitTail .= ' FOR UPDATE';
index dcb96fb..8d02cee 100644 (file)
@@ -1386,23 +1386,9 @@ SQL;
                        }
                }
 
-               if ( isset( $options['GROUP BY'] ) ) {
-                       $gb = is_array( $options['GROUP BY'] )
-                               ? implode( ',', $options['GROUP BY'] )
-                               : $options['GROUP BY'];
-                       $preLimitTail .= " GROUP BY {$gb}";
-               }
-
-               if ( isset( $options['HAVING'] ) ) {
-                       $preLimitTail .= " HAVING {$options['HAVING']}";
-               }
+               $preLimitTail .= $this->makeGroupByWithHaving( $options );
 
-               if ( isset( $options['ORDER BY'] ) ) {
-                       $ob = is_array( $options['ORDER BY'] )
-                               ? implode( ',', $options['ORDER BY'] )
-                               : $options['ORDER BY'];
-                       $preLimitTail .= " ORDER BY {$ob}";
-               }
+               $preLimitTail .= $this->makeOrderBy( $options );
 
                //if ( isset( $options['LIMIT'] ) ) {
                //      $tailOpts .= $this->limitResult( '', $options['LIMIT'],
index c846788..064bc41 100644 (file)
@@ -306,4 +306,3 @@ class LikeMatch {
  */
 interface DBMasterPos {
 }
-
index 1ea4b12..6a7a5bb 100644 (file)
@@ -272,4 +272,4 @@ interface IORMRow {
         */
        public function getTable();
 
-}
\ No newline at end of file
+}
index 146ac61..22938aa 100644 (file)
@@ -199,4 +199,3 @@ class LoadMonitor_MySQL implements LoadMonitor {
                }
        }
 }
-
index 7542797..077eab0 100644 (file)
@@ -28,4 +28,4 @@
  */
 interface ORMIterator extends Iterator {
 
-}
\ No newline at end of file
+}
index 8abfdb6..06f88c1 100644 (file)
@@ -901,4 +901,4 @@ class ORMTable extends DBAccessBase implements IORMTable {
                return array_key_exists( $name, $this->getFields() );
        }
 
-}
\ No newline at end of file
+}
index 65caf10..0e61d0c 100644 (file)
@@ -77,6 +77,7 @@ abstract class FileBackend {
         *                   This should consist of alphanumberic, '-', and '_' characters.
         *                   This name should not be changed after use.
         *   - wikiId      : Prefix to container names that is unique to this wiki.
+        *                   If not provided, this defaults to the current wiki ID.
         *                   It should only consist of alphanumberic, '-', and '_' characters.
         *   - lockManager : Registered name of a file lock manager to use.
         *   - fileJournal : File journal configuration; see FileJournal::factory().
@@ -100,7 +101,7 @@ abstract class FileBackend {
                        : wfWikiID(); // e.g. "my_wiki-en_"
                $this->lockManager = ( $config['lockManager'] instanceof LockManager )
                        ? $config['lockManager']
-                       : LockManagerGroup::singleton()->get( $config['lockManager'] );
+                       : LockManagerGroup::singleton( $this->wikiId )->get( $config['lockManager'] );
                $this->fileJournal = isset( $config['fileJournal'] )
                        ? ( ( $config['fileJournal'] instanceof FileJournal )
                                ? $config['fileJournal']
index 196a32a..7b365c1 100644 (file)
@@ -22,7 +22,8 @@
  */
 
 /**
- * Version of LockManager based on using DB table locks.
+ * Version of LockManager based on using DB table row locks.
+ *
  * This is meant for multi-wiki systems that may share files.
  * All locks are blocking, so it might be useful to set a small
  * lock-wait timeout via server config to curtail deadlocks.
@@ -67,6 +68,7 @@ class DBLockManager extends QuorumLockManager {
         *                   each having an odd-numbered list of DB names (peers) as values.
         *                   Any DB named 'localDBMaster' will automatically use the DB master
         *                   settings for this wiki (without the need for a dbServers entry).
+        *                   Only use 'localDBMaster' if the domain is a valid wiki ID.
         *   - lockExpiry  : Lock timeout (seconds) for dropped connections. [optional]
         *                   This tells the DB server how long to wait before assuming
         *                   connection failure and releasing all the locks for a session.
@@ -197,8 +199,8 @@ class DBLockManager extends QuorumLockManager {
                if ( !isset( $this->conns[$lockDb] ) ) {
                        $db = null;
                        if ( $lockDb === 'localDBMaster' ) {
-                               $lb = wfGetLBFactory()->newMainLB();
-                               $db = $lb->getConnection( DB_MASTER );
+                               $lb = wfGetLBFactory()->getMainLB( $this->domain );
+                               $db = $lb->getConnection( DB_MASTER, array(), $this->domain );
                        } elseif ( isset( $this->dbServers[$lockDb] ) ) {
                                $config = $this->dbServers[$lockDb];
                                $db = DatabaseBase::factory( $config['type'], $config );
index fd6f0f8..f988ff4 100644 (file)
@@ -53,7 +53,7 @@ abstract class LockManager {
        /** @var Array Map of (resource path => lock type => count) */
        protected $locksHeld = array();
 
-       protected $wiki; // string; wiki ID
+       protected $domain; // string; domain (usually wiki ID)
 
        /* Lock types; stronger locks have higher values */
        const LOCK_SH = 1; // shared lock (for reads)
@@ -64,12 +64,12 @@ abstract class LockManager {
         * Construct a new instance from configuration
         *
         * $config paramaters include:
-        *   - wiki : Wiki ID string that all resources are relative to [optional]
+        *   - domain : Domain (usually wiki ID) that all resources are relative to [optional]
         *
         * @param $config Array
         */
        public function __construct( array $config ) {
-               $this->wiki = isset( $config['wiki'] ) ? $config['wiki'] : wfWikiID();
+               $this->domain = isset( $config['domain'] ) ? $config['domain'] : wfWikiID();
        }
 
        /**
@@ -102,14 +102,14 @@ abstract class LockManager {
 
        /**
         * Get the base 36 SHA-1 of a string, padded to 31 digits.
-        * Before hashing, the path will be prefixed with the wiki ID.
+        * Before hashing, the path will be prefixed with the domain ID.
         * This should be used interally for lock key or file names.
         *
         * @param $path string
         * @return string
         */
        final protected function sha1Base36Absolute( $path ) {
-               return wfBaseConvert( sha1( "{$this->wiki}:{$path}" ), 16, 36, 31 );
+               return wfBaseConvert( sha1( "{$this->domain}:{$path}" ), 16, 36, 31 );
        }
 
        /**
@@ -131,216 +131,6 @@ abstract class LockManager {
        abstract protected function doUnlock( array $paths, $type );
 }
 
-/**
- * Version of LockManager that uses a quorum from peer servers for locks.
- * The resource space can also be sharded into separate peer groups.
- *
- * @ingroup LockManager
- * @since 1.20
- */
-abstract class QuorumLockManager extends LockManager {
-       /** @var Array Map of bucket indexes to peer server lists */
-       protected $srvsByBucket = array(); // (bucket index => (lsrv1, lsrv2, ...))
-
-       /**
-        * @see LockManager::doLock()
-        * @param $paths array
-        * @param $type int
-        * @return Status
-        */
-       final protected function doLock( array $paths, $type ) {
-               $status = Status::newGood();
-
-               $pathsToLock = array(); // (bucket => paths)
-               // Get locks that need to be acquired (buckets => locks)...
-               foreach ( $paths as $path ) {
-                       if ( isset( $this->locksHeld[$path][$type] ) ) {
-                               ++$this->locksHeld[$path][$type];
-                       } elseif ( isset( $this->locksHeld[$path][self::LOCK_EX] ) ) {
-                               $this->locksHeld[$path][$type] = 1;
-                       } else {
-                               $bucket = $this->getBucketFromKey( $path );
-                               $pathsToLock[$bucket][] = $path;
-                       }
-               }
-
-               $lockedPaths = array(); // files locked in this attempt
-               // Attempt to acquire these locks...
-               foreach ( $pathsToLock as $bucket => $paths ) {
-                       // Try to acquire the locks for this bucket
-                       $status->merge( $this->doLockingRequestBucket( $bucket, $paths, $type ) );
-                       if ( !$status->isOK() ) {
-                               $status->merge( $this->doUnlock( $lockedPaths, $type ) );
-                               return $status;
-                       }
-                       // Record these locks as active
-                       foreach ( $paths as $path ) {
-                               $this->locksHeld[$path][$type] = 1; // locked
-                       }
-                       // Keep track of what locks were made in this attempt
-                       $lockedPaths = array_merge( $lockedPaths, $paths );
-               }
-
-               return $status;
-       }
-
-       /**
-        * @see LockManager::doUnlock()
-        * @param $paths array
-        * @param $type int
-        * @return Status
-        */
-       final protected function doUnlock( array $paths, $type ) {
-               $status = Status::newGood();
-
-               $pathsToUnlock = array();
-               foreach ( $paths as $path ) {
-                       if ( !isset( $this->locksHeld[$path][$type] ) ) {
-                               $status->warning( 'lockmanager-notlocked', $path );
-                       } else {
-                               --$this->locksHeld[$path][$type];
-                               // Reference count the locks held and release locks when zero
-                               if ( $this->locksHeld[$path][$type] <= 0 ) {
-                                       unset( $this->locksHeld[$path][$type] );
-                                       $bucket = $this->getBucketFromKey( $path );
-                                       $pathsToUnlock[$bucket][] = $path;
-                               }
-                               if ( !count( $this->locksHeld[$path] ) ) {
-                                       unset( $this->locksHeld[$path] ); // no SH or EX locks left for key
-                               }
-                       }
-               }
-
-               // Remove these specific locks if possible, or at least release
-               // all locks once this process is currently not holding any locks.
-               foreach ( $pathsToUnlock as $bucket => $paths ) {
-                       $status->merge( $this->doUnlockingRequestBucket( $bucket, $paths, $type ) );
-               }
-               if ( !count( $this->locksHeld ) ) {
-                       $status->merge( $this->releaseAllLocks() );
-               }
-
-               return $status;
-       }
-
-       /**
-        * Attempt to acquire locks with the peers for a bucket.
-        * This is all or nothing; if any key is locked then this totally fails.
-        *
-        * @param $bucket integer
-        * @param $paths Array List of resource keys to lock
-        * @param $type integer LockManager::LOCK_EX or LockManager::LOCK_SH
-        * @return Status
-        */
-       final protected function doLockingRequestBucket( $bucket, array $paths, $type ) {
-               $status = Status::newGood();
-
-               $yesVotes = 0; // locks made on trustable servers
-               $votesLeft = count( $this->srvsByBucket[$bucket] ); // remaining peers
-               $quorum = floor( $votesLeft/2 + 1 ); // simple majority
-               // Get votes for each peer, in order, until we have enough...
-               foreach ( $this->srvsByBucket[$bucket] as $lockSrv ) {
-                       if ( !$this->isServerUp( $lockSrv ) ) {
-                               --$votesLeft;
-                               $status->warning( 'lockmanager-fail-svr-acquire', $lockSrv );
-                               continue; // server down?
-                       }
-                       // Attempt to acquire the lock on this peer
-                       $status->merge( $this->getLocksOnServer( $lockSrv, $paths, $type ) );
-                       if ( !$status->isOK() ) {
-                               return $status; // vetoed; resource locked
-                       }
-                       ++$yesVotes; // success for this peer
-                       if ( $yesVotes >= $quorum ) {
-                               return $status; // lock obtained
-                       }
-                       --$votesLeft;
-                       $votesNeeded = $quorum - $yesVotes;
-                       if ( $votesNeeded > $votesLeft ) {
-                               break; // short-circuit
-                       }
-               }
-               // At this point, we must not have met the quorum
-               $status->setResult( false );
-
-               return $status;
-       }
-
-       /**
-        * Attempt to release locks with the peers for a bucket
-        *
-        * @param $bucket integer
-        * @param $paths Array List of resource keys to lock
-        * @param $type integer LockManager::LOCK_EX or LockManager::LOCK_SH
-        * @return Status
-        */
-       final protected function doUnlockingRequestBucket( $bucket, array $paths, $type ) {
-               $status = Status::newGood();
-
-               foreach ( $this->srvsByBucket[$bucket] as $lockSrv ) {
-                       if ( !$this->isServerUp( $lockSrv ) ) {
-                               $status->fatal( 'lockmanager-fail-svr-release', $lockSrv );
-                       // Attempt to release the lock on this peer
-                       } else {
-                               $status->merge( $this->freeLocksOnServer( $lockSrv, $paths, $type ) );
-                       }
-               }
-
-               return $status;
-       }
-
-       /**
-        * Get the bucket for resource path.
-        * This should avoid throwing any exceptions.
-        *
-        * @param $path string
-        * @return integer
-        */
-       protected function getBucketFromKey( $path ) {
-               $prefix = substr( sha1( $path ), 0, 2 ); // first 2 hex chars (8 bits)
-               return (int)base_convert( $prefix, 16, 10 ) % count( $this->srvsByBucket );
-       }
-
-       /**
-        * Check if a lock server is up
-        *
-        * @param $lockSrv string
-        * @return bool
-        */
-       abstract protected function isServerUp( $lockSrv );
-
-       /**
-        * Get a connection to a lock server and acquire locks on $paths
-        *
-        * @param $lockSrv string
-        * @param $paths array
-        * @param $type integer
-        * @return Status
-        */
-       abstract protected function getLocksOnServer( $lockSrv, array $paths, $type );
-
-       /**
-        * Get a connection to a lock server and release locks on $paths.
-        *
-        * Subclasses must effectively implement this or releaseAllLocks().
-        *
-        * @param $lockSrv string
-        * @param $paths array
-        * @param $type integer
-        * @return Status
-        */
-       abstract protected function freeLocksOnServer( $lockSrv, array $paths, $type );
-
-       /**
-        * Release all locks that this session is holding.
-        *
-        * Subclasses must effectively implement this or freeLocksOnServer().
-        *
-        * @return Status
-        */
-       abstract protected function releaseAllLocks();
-}
-
 /**
  * Simple version of LockManager that does nothing
  * @since 1.19
index 267d391..f0d5818 100644 (file)
  * @since 1.19
  */
 class LockManagerGroup {
-       /** @var Array (wiki => LockManager) */
+       /** @var Array (domain => LockManager) */
        protected static $instances = array();
 
-       protected $wiki; // string; wiki ID
+       protected $domain; // string; domain (usually wiki ID)
 
-       /** @var Array of (name => ('class' =>, 'config' =>, 'instance' =>)) */
+       /** @var Array of (name => ('class' => ..., 'config' => ..., 'instance' => ...)) */
        protected $managers = array();
 
        /**
-        * @param $wiki string Wiki ID
+        * @param $domain string Domain (usually wiki ID)
         */
-       protected function __construct( $wiki ) {
-               $this->wiki = $wiki;
+       protected function __construct( $domain ) {
+               $this->domain = $domain;
        }
 
        /**
-        * @param $wiki string Wiki ID
+        * @param $domain string Domain (usually wiki ID)
         * @return LockManagerGroup
         */
-       public static function singleton( $wiki = false ) {
-               $wiki = ( $wiki === false ) ? wfWikiID() : $wiki;
-               if ( !isset( self::$instances[$wiki] ) ) {
-                       self::$instances[$wiki] = new self( $wiki );
-                       self::$instances[$wiki]->initFromGlobals();
+       public static function singleton( $domain = false ) {
+               $domain = ( $domain === false ) ? wfWikiID() : $domain;
+               if ( !isset( self::$instances[$domain] ) ) {
+                       self::$instances[$domain] = new self( $domain );
+                       self::$instances[$domain]->initFromGlobals();
                }
-               return self::$instances[$wiki];
+               return self::$instances[$domain];
        }
 
        /**
@@ -86,7 +86,7 @@ class LockManagerGroup {
         */
        protected function register( array $configs ) {
                foreach ( $configs as $config ) {
-                       $config['wiki'] = $this->wiki;
+                       $config['domain'] = $this->domain;
                        if ( !isset( $config['name'] ) ) {
                                throw new MWException( "Cannot register a lock manager with no name." );
                        }
@@ -124,6 +124,21 @@ class LockManagerGroup {
                return $this->managers[$name]['instance'];
        }
 
+       /**
+        * Get the config array for a lock manager object with a given name
+        *
+        * @param $name string
+        * @return Array
+        * @throws MWException
+        */
+       public function config( $name ) {
+               if ( !isset( $this->managers[$name] ) ) {
+                       throw new MWException( "No lock manager defined with the name `$name`." );
+               }
+               $class = $this->managers[$name]['class'];
+               return array( 'class' => $class ) + $this->managers[$name]['config'];
+       }
+
        /**
         * Get the default lock manager configured for the site.
         * Returns NullLockManager if no lock manager could be found.
diff --git a/includes/filebackend/lockmanager/QuorumLockManager.php b/includes/filebackend/lockmanager/QuorumLockManager.php
new file mode 100644 (file)
index 0000000..76a3ad6
--- /dev/null
@@ -0,0 +1,232 @@
+<?php
+/**
+ * Version of LockManager that uses a quorum from peer servers for locks.
+ *
+ * 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 LockManager
+ */
+
+/**
+ * Version of LockManager that uses a quorum from peer servers for locks.
+ * The resource space can also be sharded into separate peer groups.
+ *
+ * @ingroup LockManager
+ * @since 1.20
+ */
+abstract class QuorumLockManager extends LockManager {
+       /** @var Array Map of bucket indexes to peer server lists */
+       protected $srvsByBucket = array(); // (bucket index => (lsrv1, lsrv2, ...))
+
+       /**
+        * @see LockManager::doLock()
+        * @param $paths array
+        * @param $type int
+        * @return Status
+        */
+       final protected function doLock( array $paths, $type ) {
+               $status = Status::newGood();
+
+               $pathsToLock = array(); // (bucket => paths)
+               // Get locks that need to be acquired (buckets => locks)...
+               foreach ( $paths as $path ) {
+                       if ( isset( $this->locksHeld[$path][$type] ) ) {
+                               ++$this->locksHeld[$path][$type];
+                       } elseif ( isset( $this->locksHeld[$path][self::LOCK_EX] ) ) {
+                               $this->locksHeld[$path][$type] = 1;
+                       } else {
+                               $bucket = $this->getBucketFromPath( $path );
+                               $pathsToLock[$bucket][] = $path;
+                       }
+               }
+
+               $lockedPaths = array(); // files locked in this attempt
+               // Attempt to acquire these locks...
+               foreach ( $pathsToLock as $bucket => $paths ) {
+                       // Try to acquire the locks for this bucket
+                       $status->merge( $this->doLockingRequestBucket( $bucket, $paths, $type ) );
+                       if ( !$status->isOK() ) {
+                               $status->merge( $this->doUnlock( $lockedPaths, $type ) );
+                               return $status;
+                       }
+                       // Record these locks as active
+                       foreach ( $paths as $path ) {
+                               $this->locksHeld[$path][$type] = 1; // locked
+                       }
+                       // Keep track of what locks were made in this attempt
+                       $lockedPaths = array_merge( $lockedPaths, $paths );
+               }
+
+               return $status;
+       }
+
+       /**
+        * @see LockManager::doUnlock()
+        * @param $paths array
+        * @param $type int
+        * @return Status
+        */
+       final protected function doUnlock( array $paths, $type ) {
+               $status = Status::newGood();
+
+               $pathsToUnlock = array();
+               foreach ( $paths as $path ) {
+                       if ( !isset( $this->locksHeld[$path][$type] ) ) {
+                               $status->warning( 'lockmanager-notlocked', $path );
+                       } else {
+                               --$this->locksHeld[$path][$type];
+                               // Reference count the locks held and release locks when zero
+                               if ( $this->locksHeld[$path][$type] <= 0 ) {
+                                       unset( $this->locksHeld[$path][$type] );
+                                       $bucket = $this->getBucketFromPath( $path );
+                                       $pathsToUnlock[$bucket][] = $path;
+                               }
+                               if ( !count( $this->locksHeld[$path] ) ) {
+                                       unset( $this->locksHeld[$path] ); // no SH or EX locks left for key
+                               }
+                       }
+               }
+
+               // Remove these specific locks if possible, or at least release
+               // all locks once this process is currently not holding any locks.
+               foreach ( $pathsToUnlock as $bucket => $paths ) {
+                       $status->merge( $this->doUnlockingRequestBucket( $bucket, $paths, $type ) );
+               }
+               if ( !count( $this->locksHeld ) ) {
+                       $status->merge( $this->releaseAllLocks() );
+               }
+
+               return $status;
+       }
+
+       /**
+        * Attempt to acquire locks with the peers for a bucket.
+        * This is all or nothing; if any key is locked then this totally fails.
+        *
+        * @param $bucket integer
+        * @param $paths Array List of resource keys to lock
+        * @param $type integer LockManager::LOCK_EX or LockManager::LOCK_SH
+        * @return Status
+        */
+       final protected function doLockingRequestBucket( $bucket, array $paths, $type ) {
+               $status = Status::newGood();
+
+               $yesVotes = 0; // locks made on trustable servers
+               $votesLeft = count( $this->srvsByBucket[$bucket] ); // remaining peers
+               $quorum = floor( $votesLeft/2 + 1 ); // simple majority
+               // Get votes for each peer, in order, until we have enough...
+               foreach ( $this->srvsByBucket[$bucket] as $lockSrv ) {
+                       if ( !$this->isServerUp( $lockSrv ) ) {
+                               --$votesLeft;
+                               $status->warning( 'lockmanager-fail-svr-acquire', $lockSrv );
+                               continue; // server down?
+                       }
+                       // Attempt to acquire the lock on this peer
+                       $status->merge( $this->getLocksOnServer( $lockSrv, $paths, $type ) );
+                       if ( !$status->isOK() ) {
+                               return $status; // vetoed; resource locked
+                       }
+                       ++$yesVotes; // success for this peer
+                       if ( $yesVotes >= $quorum ) {
+                               return $status; // lock obtained
+                       }
+                       --$votesLeft;
+                       $votesNeeded = $quorum - $yesVotes;
+                       if ( $votesNeeded > $votesLeft ) {
+                               break; // short-circuit
+                       }
+               }
+               // At this point, we must not have met the quorum
+               $status->setResult( false );
+
+               return $status;
+       }
+
+       /**
+        * Attempt to release locks with the peers for a bucket
+        *
+        * @param $bucket integer
+        * @param $paths Array List of resource keys to lock
+        * @param $type integer LockManager::LOCK_EX or LockManager::LOCK_SH
+        * @return Status
+        */
+       final protected function doUnlockingRequestBucket( $bucket, array $paths, $type ) {
+               $status = Status::newGood();
+
+               foreach ( $this->srvsByBucket[$bucket] as $lockSrv ) {
+                       if ( !$this->isServerUp( $lockSrv ) ) {
+                               $status->fatal( 'lockmanager-fail-svr-release', $lockSrv );
+                       // Attempt to release the lock on this peer
+                       } else {
+                               $status->merge( $this->freeLocksOnServer( $lockSrv, $paths, $type ) );
+                       }
+               }
+
+               return $status;
+       }
+
+       /**
+        * Get the bucket for resource path.
+        * This should avoid throwing any exceptions.
+        *
+        * @param $path string
+        * @return integer
+        */
+       protected function getBucketFromPath( $path ) {
+               $prefix = substr( sha1( $path ), 0, 2 ); // first 2 hex chars (8 bits)
+               return (int)base_convert( $prefix, 16, 10 ) % count( $this->srvsByBucket );
+       }
+
+       /**
+        * Check if a lock server is up
+        *
+        * @param $lockSrv string
+        * @return bool
+        */
+       abstract protected function isServerUp( $lockSrv );
+
+       /**
+        * Get a connection to a lock server and acquire locks on $paths
+        *
+        * @param $lockSrv string
+        * @param $paths array
+        * @param $type integer
+        * @return Status
+        */
+       abstract protected function getLocksOnServer( $lockSrv, array $paths, $type );
+
+       /**
+        * Get a connection to a lock server and release locks on $paths.
+        *
+        * Subclasses must effectively implement this or releaseAllLocks().
+        *
+        * @param $lockSrv string
+        * @param $paths array
+        * @param $type integer
+        * @return Status
+        */
+       abstract protected function freeLocksOnServer( $lockSrv, array $paths, $type );
+
+       /**
+        * Release all locks that this session is holding.
+        *
+        * Subclasses must effectively implement this or freeLocksOnServer().
+        *
+        * @return Status
+        */
+       abstract protected function releaseAllLocks();
+}
index 118e981..89a458b 100644 (file)
@@ -323,4 +323,3 @@ class LocalRepo extends FileRepo {
                }
        }
 }
-
index 7b4819c..b837061 100644 (file)
@@ -3203,7 +3203,9 @@ Instalace přerušena.',
        'config-using531' => 'MediaWiki nelze používat na PHP $1 kvůli chybě při předávání parametrů odkazem do <code>__call()</code>.
 Pro vyřešení upgradujte na PHP 5.3.2 nebo vyšší nebo downgradujte na PHP 5.3.0.
 Instalace přerušena.',
-       'config-suhosin-max-value-length' => 'Je nainstalován Suhosin, který omezuje délku parametrů GET na $1 bajtů. Komponenta ResourceLoader z MediaWiki dokáže s tímto omezením pracovat, ale sníží to výkon. Pokud to je alespoň trochu možné, měli byste v <code>php.ini</code> nastavit <code>suhosin.get.max_value_length</code> na 1024 nebo vyšší a na stejnou hodnotu nastavit v LocalSettings.php proměnnou <code>$wgResourceLoaderMaxQueryLength</code>.', # Fuzzy
+       'config-suhosin-max-value-length' => 'Je nainstalován Suhosin, který omezuje délku parametrů GET na $1 bajtů.
+Komponenta ResourceLoader z MediaWiki dokáže s tímto omezením pracovat, ale sníží to výkon.
+Pokud to je alespoň trochu možné, měli byste v <code>php.ini</code> nastavit <code>suhosin.get.max_value_length</code> na 1024 nebo vyšší a na stejnou hodnotu nastavit v <code>LocalSettings.php</code> proměnnou <code>$wgResourceLoaderMaxQueryLength</code>.',
        'config-db-type' => 'Typ databáze:',
        'config-db-host' => 'Databázový server:',
        'config-db-host-help' => 'Pokud je váš databázový server na jiném počítači, zadejte zde jméno stroje nebo IP adresu.
@@ -3289,7 +3291,7 @@ Pokud v nabídce níže nevidíte databázový systém, který chcete použít,
        'config-support-postgres' => '* $1 je populární open-source databázový systém používaný jako alternativa k MySQL ([http://www.php.net/manual/en/pgsql.installation.php jak přeložit PHP s podporou PostgreSQL]). Mohou se vyskytnout ještě nějaké menší chyby, použití v produkčním prostředí se nedoporučuje.',
        'config-support-sqlite' => '* $1 je velmi dobře podporovaný lehký databázový systém. ([http://www.php.net/manual/en/pdo.installation.php Jak přeložit PHP s podporou SQLite], používá PDO)',
        'config-support-oracle' => '* $1 je komerční podniková databáze. ([http://www.php.net/manual/en/oci8.installation.php Jak přeložit PHP s podporou OCI8])',
-       'config-support-ibm_db2' => '* $1 je komerční podniková databáze.', # Fuzzy
+       'config-support-ibm_db2' => '* $1 je komerční podniková databáze. ([http://www.php.net/manual/en/ibm-db2.installation.php Jak přeložit PHP s podporou IBM DB2])',
        'config-header-mysql' => 'Nastavení MySQL',
        'config-header-postgres' => 'Nastavení PostgreSQL',
        'config-header-sqlite' => 'Nastavení SQLite',
@@ -3429,7 +3431,7 @@ Zbývající konfiguraci už můžete přeskočit a nainstalovat wiki hned teď.
        'config-optional-continue' => 'Ptejte se mě dál.',
        'config-optional-skip' => 'Už mě to nudí, prostě nainstalujte wiki.',
        'config-profile' => 'Profil uživatelských práv:',
-       'config-profile-wiki' => 'Tradiční wiki', # Fuzzy
+       'config-profile-wiki' => 'Otevřená wiki',
        'config-profile-no-anon' => 'Vyžadována registrace uživatelů',
        'config-profile-fishbowl' => 'Editace jen pro vybrané',
        'config-profile-private' => 'Soukromá wiki',
@@ -3439,13 +3441,13 @@ V MediaWiki můžete snadno kontrolovat poslední změny a vracet zpět libovoln
 Mnoho lidí však zjistilo, že je MediaWiki užitečné v širokém spektru rolí a někdy není snadné všechny přesvědčit o výhodách wikizvyklostí.
 Takže si můžete vybrat.
 
-'''{{int:config-profile-wiki}}''' dovoluje editovat všem, aniž by se museli přihlašovat.
+Model '''{{int:config-profile-wiki}}''' dovoluje editovat všem, aniž by se museli přihlašovat.
 Na wiki, kde je '''{{int:config-profile-no-anon}}''', se lépe řídí zodpovědnost, ale může to odradit náhodné přispěvatele.
 
 Profil '''{{int:config-profile-fishbowl}}''' umožňuje schváleným uživatelům editovat, ale veřejnost si může stránky prohlížet včetně jejich historie.
 '''{{int:config-profile-private}}''' dovoluje stránky prohlížet jen schváleným uživatelům, kteří je i mohou editovat.
 
-Po instalaci je možná komplexní konfigurace uživatelských práv; vizte [//www.mediawiki.org/wiki/Manual:User_rights odpovídající stránku příručky].", # Fuzzy
+Po instalaci je možná komplexní konfigurace uživatelských práv; vizte [//www.mediawiki.org/wiki/Manual:User_rights odpovídající stránku příručky].",
        'config-license' => 'Autorská práva a licence:',
        'config-license-none' => 'Bez patičky s licencí',
        'config-license-cc-by-sa' => 'Creative Commons Uveďte autora-Zachovejte licenci',
@@ -3530,7 +3532,7 @@ Mohou vyžadovat dodatečnou konfiguraci, ale teď je můžete povolit.',
        'config-install-alreadydone' => "'''Upozornění:''' Vypadá to, že jste MediaWiki již nainstalovali a teď se o to pokoušíte znovu.
 Pokračujte na další stránku.",
        'config-install-begin' => 'Stisknutím „{{int:config-continue}}“ spustíte instalaci MediaWiki.
-Pokud ještě chcete udělat nějaké změny, stiskněte tlačítko zpět.', # Fuzzy
+Pokud ještě chcete udělat nějaké změny, stiskněte „{{int:config-back}}“.',
        'config-install-step-done' => 'hotovo',
        'config-install-step-failed' => 'selhaly',
        'config-install-extensions' => 'Vkládají se rozšíření',
@@ -3596,7 +3598,8 @@ Až to dokončíte, můžete '''[$2 vstoupit do své wiki]'''.",
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Nastavení konfigurace]
 * [//www.mediawiki.org/wiki/Manual:FAQ Často kladené otázky o MediaWiki]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce E-mailová konference oznámení MediaWiki]', # Fuzzy
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce E-mailová konference oznámení MediaWiki]
+* [//www.mediawiki.org/wiki/Localisation#Translation_resources Překlad MediaWiki do vašeho jazyka]',
 );
 
 /** Kashubian (kaszëbsczi)
@@ -4560,7 +4563,9 @@ Instalación anulada.',
        'config-using531' => 'MediaWiki no puede utilizarse con PHP $1 debido a un error con los parámetros de referencia para <code>__call()</code> .
 Actualice el sistema a PHP 5.3.2 o superior, o vuelva a la versión PHP 5.3.0 para resolver este problema.
 Instalación anulada.',
-       'config-suhosin-max-value-length' => 'Suhosin está instalado y limita la longitud del parámetro GET a $1 bytes. El componente ResourceLoader de MediaWiki trabajará en este límite, pero eso degradará el rendimiento. Si es posible, debe establecer el valor de <code>suhosin.get.max_value_length</code> en 1024 o superior en el archivo <code>php.ini</code> y establecer <code>$wgResourceLoaderMaxQueryLength</code> en el mismo valor en LocalSettings.php.', # Fuzzy
+       'config-suhosin-max-value-length' => 'Suhosin está instalado y limita el parámetro <code>length</code> GET a $1 bytes. 
+El componente ResourceLoader (gestor de recursos) de MediaWiki trabajará en este límite, pero eso perjudicará el rendimiento.
+Si es posible, deberías establecer <code>suhosin.get.max_value_length</code> en el valor 1024 o superior en <code>php.ini</code> y establecer <code>$wgResourceLoaderMaxQueryLength</code> en el mismo valor en <code>php.ini</code>.',
        'config-db-type' => 'Tipo de base de datos',
        'config-db-host' => 'Servidor de la base de datos:',
        'config-db-host-help' => 'Si su servidor de base de datos está en otro servidor, escriba el nombre del host o su dirección IP aquí.
@@ -10514,7 +10519,8 @@ $messages['ka'] = array(
        'config-admin-password-confirm' => 'პაროლი ხელმეორედ:',
        'config-admin-name-blank' => 'შეიყვანეთ ადმინისტრატორის მომხმარებლის სახელი.',
        'config-admin-email' => 'ელ. ფოსტის მისამართი:',
-       'config-profile-wiki' => 'ტრადიციული ვიკი', # Fuzzy
+       'config-profile' => 'მომხმარებელთა უფლებების პროფილი:',
+       'config-profile-wiki' => 'ღია ვიკი',
        'config-profile-private' => 'დახურული ვიკი',
        'config-license' => 'საავტორო უფლები და ლიცენზია:',
        'config-license-cc-by-sa' => 'Creative Commons Attribution Share Alike',
@@ -17762,7 +17768,7 @@ Sedaj lahko preskočite preostalo konfiguriranje in zdaj namestite wiki.',
        'config-optional-continue' => 'Zastavi mi več vprašanj.',
        'config-optional-skip' => 'Se že dolgočasim; samo namesti wiki.',
        'config-profile' => 'Profil uporabniških pravic:',
-       'config-profile-wiki' => 'Klasičen wiki', # Fuzzy
+       'config-profile-wiki' => 'Odprti wiki',
        'config-profile-no-anon' => 'Zahtevano je ustvarjanje računa',
        'config-profile-fishbowl' => 'Samo pooblaščeni urejevalci',
        'config-profile-private' => 'Zasebni wiki',
index 5a13d42..3b1f7d0 100644 (file)
@@ -90,6 +90,7 @@ class PostgresUpdater extends DatabaseUpdater {
                        array( 'addTable', 'uploadstash',       'patch-uploadstash.sql' ),
                        array( 'addTable', 'user_former_groups','patch-user_former_groups.sql' ),
                        array( 'addTable', 'external_user',     'patch-external_user.sql' ),
+                       array( 'addTable', 'sites',             'patch-sites.sql' ),
 
                        # Needed before new field
                        array( 'convertArchive2' ),
@@ -155,6 +156,7 @@ class PostgresUpdater extends DatabaseUpdater {
                        array( 'addPgField', 'uploadstash',   'us_chunk_inx',         "INTEGER NULL" ),
                        array( 'addPgField', 'job',           'job_timestamp',        "TIMESTAMPTZ" ),
                        array( 'addPgField', 'job',           'job_random',           "INTEGER NOT NULL DEFAULT 0" ),
+                       array( 'addPgField', 'job',           'job_attempts',         "INTEGER NOT NULL DEFAULT 0" ),
                        array( 'addPgField', 'job',           'job_token',            "TEXT NOT NULL DEFAULT ''" ),
                        array( 'addPgField', 'job',           'job_token_timestamp',  "TIMESTAMPTZ" ),
                        array( 'addPgField', 'job',           'job_sha1',             "TEXT NOT NULL DEFAULT ''" ),
@@ -233,6 +235,7 @@ class PostgresUpdater extends DatabaseUpdater {
                        array( 'addPgIndex', 'job',           'job_timestamp_idx',      '(job_timestamp)' ),
                        array( 'addPgIndex', 'job',           'job_sha1',               '(job_sha1)' ),
                        array( 'addPgIndex', 'job',           'job_cmd_token',          '(job_cmd, job_token, job_random)' ),
+                       array( 'addPgIndex', 'job',           'job_cmd_token_id',       '(job_cmd, job_token, job_id)' ),
                        array( 'addPgIndex', 'filearchive',   'fa_sha1',                '(fa_sha1)' ),
 
                        array( 'checkIndex', 'pagelink_unique', array(
index 68e8e11..572360a 100644 (file)
@@ -1302,4 +1302,3 @@ class WebInstaller_UpgradeDoc extends WebInstaller_Document {
 class WebInstaller_Copying extends WebInstaller_Document {
        protected function getFileName() { return 'COPYING'; }
 }
-
index fb73bf1..3cb5894 100644 (file)
@@ -207,4 +207,3 @@ class DoubleRedirectJob extends Job {
                return self::$user;
        }
 }
-
index cfc7f53..fae06ad 100644 (file)
@@ -848,4 +848,3 @@ class IEContentAnalyzer {
                return 'unknown';
        }
 }
-
index bdacbc8..f0b4536 100644 (file)
@@ -843,4 +843,3 @@ class Exif {
                }
        }
 }
-
index 34a1f51..cd7ec19 100644 (file)
@@ -225,4 +225,3 @@ class ExifBitmapHandler extends BitmapHandler {
                return 0;
        }
 }
-
index a15b652..86f5030 100644 (file)
@@ -60,4 +60,3 @@ class JpegHandler extends ExifBitmapHandler {
        }
 
 }
-
index d3f3583..d061eff 100644 (file)
@@ -110,4 +110,3 @@ class HashBagOStuff extends BagOStuff {
                return true;
        }
 }
-
index aebcbe7..4f8209d 100644 (file)
@@ -185,4 +185,3 @@ class MemcachedBagOStuff extends BagOStuff {
                wfDebugLog( 'memcached', $text );
        }
 }
-
index 5a9ee50..33a134c 100644 (file)
@@ -100,4 +100,3 @@ class MemcachedPhpBagOStuff extends MemcachedBagOStuff {
                return $this->client->decr( $this->encodeKey( $key ), $value );
        }
 }
-
index bd5b354..2946407 100644 (file)
@@ -449,4 +449,3 @@ class RedisBagOStuff extends BagOStuff {
                        ( $result === false ? "failure" : "success" ) );
        }
 }
-
index 80c670e..0fc117a 100644 (file)
@@ -697,4 +697,3 @@ class SqlBagOStuff extends BagOStuff {
  * Backwards compatibility alias
  */
 class MediaWikiBagOStuff extends SqlBagOStuff { }
-
index 57f623d..5f3f18e 100644 (file)
@@ -233,4 +233,3 @@ class StripState {
                return preg_replace( $this->regex, '', $text );
        }
 }
-
index 23dd479..85fe148 100644 (file)
@@ -253,5 +253,3 @@ class MssqlSearchResultSet extends SearchResultSet {
                return new SearchResult( $row );
        }
 }
-
-
index 97848b5..d21520c 100644 (file)
@@ -297,4 +297,4 @@ class SiteList extends GenericArrayObject {
 /**
  * @deprecated
  */
-class SiteArray extends SiteList {}
\ No newline at end of file
+class SiteArray extends SiteList {}
index df65e4a..401e65d 100644 (file)
@@ -194,7 +194,7 @@ class SpecialAllpages extends IncludableSpecialPage {
                        $where[] = 'page_title <= ' . $dbr->addQuotes( $to );
 
                global $wgMemc;
-               $key = wfMemcKey( 'allpages', 'ns', $namespace, $from, $to );
+               $key = wfMemcKey( 'allpages', 'ns', $namespace, sha1( $from ), sha1( $to ) );
                $lines = $wgMemc->get( $key );
 
                $count = $dbr->estimateRowCount( 'page', '*', $where, __METHOD__ );
index 22932e5..a2d51db 100644 (file)
@@ -125,4 +125,3 @@ class MostlinkedTemplatesPage extends QueryPage {
                return Linker::link( $wlh, $label );
        }
 }
-
index 73c7e2a..c146eb4 100644 (file)
@@ -1142,4 +1142,3 @@ class UploadSourceField extends HTMLTextField {
                        : 60;
        }
 }
-
index f2c8556..4861900 100644 (file)
@@ -423,10 +423,10 @@ $1",
 'youhavenewmessages' => 'Droëneuh   na $1 ($2).',
 'newmessageslink' => 'peusan barô',
 'newmessagesdifflink' => 'neuubah keuneulheuëh',
-'youhavenewmessagesfromusers' => "Droeneuh na $1 nibak {{PLURAL:$3||}}ureueng nguy la'en ($2).",
+'youhavenewmessagesfromusers' => "Droeneuh na $1 nibak {{PLURAL:$3|ureueng nguy la'en|$3 ureueng nguy}} ($2).",
 'youhavenewmessagesmanyusers' => "Droeneuh na $1 nibak ureueng nguy la'en ($2)",
 'newmessageslinkplural' => '{{PLURAL:$1|saboh peusan baro|peusan baro}}',
-'newmessagesdifflinkplural' => '{{PLURAL:$1|neuubah|neuubah}} baro',
+'newmessagesdifflinkplural' => '{{PLURAL:$1||}}neuubah keuneulheueh',
 'youhavenewmessagesmulti' => 'Droëneuh na padum boh peusan barô bak $1',
 'editsection' => 'andam',
 'editold' => 'andam',
@@ -487,14 +487,20 @@ Neulakee basis data nyang keuneulheueh nakeuh:
 nibak fungsi "$2"
 Basis data geupeuhase salah "$3: $4".',
 'laggedslavemode' => 'Peuneugah: On nyoe kadang hana neuubah baro',
+'readonly' => 'Basis data geurok',
+'enterlockreason' => 'Pasoe daleh neurok ngon pajan jeuet geupeuhah',
 'missing-article' => 'Basis data h’an jeuët jiteumèë naseukah nibak ôn nyang sipatôtjih na, nakeuh "$1" $2.
 
 Nyoë biasajih sabab hubông useuëng u geunantoë away nyang ka teusampôh.
 
 Meunyo kön nyoë sababjih, Droëneuh kadang ka neuteumèë saboh bug lam software. Neutulông peugah bhah nyoë bak salah sidroë [[Special:ListUsers/sysop|Nyang urôh]], ngön neupeugah alamat URL nyang neusaweuë.',
 'missingarticle-rev' => '(revisi#: $1)',
+'missingarticle-diff' => '(Bida: $1, $2)',
+'readonly_lag' => 'Basis data ka geurok otomatis silawet basis data sekunder teungoh geupeusinkron ngon basis data utama',
 'internalerror' => 'Salah bak dalam',
 'internalerror_info' => 'Salah bak dalam: $1',
+'fileappenderrorread' => 'H\'an jitem beuet "$1" \'oh geutamah',
+'fileappenderror' => 'H\'an jeuet jipasoe "$1" u "$2"',
 'badtitle' => 'Nan hana sah',
 'badtitletext' => 'Nan ôn nyang neulakèë hana sah, soh, atawa nan antarabahsa atawa antarawiki nyang salah sambông.',
 'viewsource' => 'Eu nè',
index bd39bd0..9568465 100644 (file)
@@ -54,6 +54,7 @@
  * @author Uwe a
  * @author Zack wadghiri
  * @author Zanatos
+ * @author أحمد
  * @author ترجمان05
  * @author خالد حسني
  * @author روخو
@@ -469,42 +470,42 @@ $imageFiles = array(
 
 $messages = array(
 # User preference toggles
-'tog-underline' => 'ضع خطا تحت الوصلات:',
-'tog-justify' => 'ساÙ\88 الفقرات',
-'tog-hideminor' => 'أخÙ\81 Ø§Ù\84تعدÙ\8aÙ\84ات الطفيفة في أحدث التغييرات',
-'tog-hidepatrolled' => 'أخÙ\81 Ø§Ù\84تعدÙ\8aÙ\84ات المراجعة في أحدث التغييرات',
+'tog-underline' => 'ضع خطا تحت الروابط:',
+'tog-justify' => 'حاذ الفقرات',
+'tog-hideminor' => 'أخÙ\81 Ø§Ù\84تحرÙ\8aرات الطفيفة في أحدث التغييرات',
+'tog-hidepatrolled' => 'أخÙ\81 Ø§Ù\84تحرÙ\8aرات المراجعة في أحدث التغييرات',
 'tog-newpageshidepatrolled' => 'أخف الصفحات المراجعة من قائمة الصفحات الجديدة',
 'tog-extendwatchlist' => 'مدد قائمة المراقبة لعرض كل التغييرات، وليس الأحدث فقط',
-'tog-usenewrc' => 'جÙ\85Ù\91ع Ø§Ù\84تعدÙ\8aÙ\84ات حسب الصفحة في أحدث التغييرات وقائمة المراقبة (يتطلب جافاسكربت)',
+'tog-usenewrc' => 'جÙ\85Ù\91ع Ø§Ù\84تغÙ\8aÙ\8aرات حسب الصفحة في أحدث التغييرات وقائمة المراقبة (يتطلب جافاسكربت)',
 'tog-numberheadings' => 'رقم العناوين تلقائياً',
 'tog-showtoolbar' => 'أظهر شريط التحرير (يتطلب جافاسكربت)',
-'tog-editondblclick' => 'عدÙ\84 Ø§Ù\84صÙ\81حات Ø¹Ù\86د Ø§Ù\84ضغط المزدوج (جافاسكربت)',
-'tog-editsection' => 'Ù\85Ù\83Ù\86 ØªØ¹Ø¯Ù\8aÙ\84 Ø§Ù\84Ø£Ù\82ساÙ\85 Ø¹Ù\86 Ø·Ø±Ù\8aÙ\82 Ù\88صÙ\84ات [عدل]',
-'tog-editsectiononrightclick' => 'Ù\81عÙ\84 ØªØ¹Ø¯Ù\8aÙ\84 Ø§Ù\84Ø£Ù\82ساÙ\85 Ø¨Ù\88اسطة Ù\83بسة Ø§Ù\84Ù\81أرة Ø§Ù\84Ù\8aÙ\85Ù\8aÙ\86 Ø¹Ù\84Ù\89 Ø¹Ù\86اÙ\88Ù\8aÙ\86 Ø§Ù\84Ø£Ù\82ساÙ\85 (جافاسكريبت)',
+'tog-editondblclick' => 'تحرÙ\8aر Ø§Ù\84صÙ\81حات Ø¨Ø§Ù\84Ù\86Ù\82ر المزدوج (جافاسكربت)',
+'tog-editsection' => 'Ù\85Ù\83Ù\86 ØªØ­Ø±Ù\8aر Ø§Ù\84Ø£Ù\82ساÙ\85 Ø¨Ø±Ù\88ابط [عدل]',
+'tog-editsectiononrightclick' => 'Ù\81عÙ\90Ù\91Ù\84 ØªØ­Ø±Ù\8aر Ø§Ù\84Ø£Ù\82ساÙ\85 Ø¨Ø§Ù\84Ù\86Ù\82ر Ø¨Ø§Ù\84Ù\8aÙ\85Ù\8aÙ\86 Ø¹Ù\84Ù\89 Ø¹Ù\86اÙ\88Ù\8aÙ\86 Ø§Ù\84Ø£Ù\82ساÙ\85 (Ù\8aتطÙ\84ب جافاسكريبت)',
 'tog-showtoc' => 'اعرض فهرس المحتويات (للصفحات التي تحتوي على أكثر من 3 عناوين)',
 'tog-rememberpassword' => 'تذكر دخولي بهذا المتصفح (لمدة أقصاها {{PLURAL:$1||يوم واحد|يومان|$1 أيام|$1 يوما|$1 يوم}})',
 'tog-watchcreations' => 'أضف الصفحات التي أنشئها والملفات التي أرفعها إلى قائمة مراقبتي.',
-'tog-watchdefault' => '!!أضÙ\81 Ø§Ù\84صÙ\81حات Ù\88اÙ\84Ù\85Ù\84Ù\81ات Ø§Ù\84تÙ\8a Ø£Ø¹Ø¯Ù\84ها إلى قائمة مراقبتي',
+'tog-watchdefault' => '!!أضÙ\81 Ø§Ù\84صÙ\81حات Ù\88اÙ\84Ù\85Ù\84Ù\81ات Ø§Ù\84تÙ\8a Ø£Ø­Ø±Ø±ها إلى قائمة مراقبتي',
 'tog-watchmoves' => 'أضف الصفحات والملفات التي أنقلها إلى قائمة مراقبتي',
 'tog-watchdeletion' => 'أضف الصفحات والملفات التي أحذفها إلى قائمة مراقبتي',
-'tog-minordefault' => 'عÙ\84Ù\85 Ù\83Ù\84 Ø§Ù\84تعدÙ\8aÙ\84ات Ø·Ù\81Ù\8aÙ\81Ø© Ø§Ù\81تراضيا',
+'tog-minordefault' => 'أشÙ\90Ù\91ر Ù\83Ù\84 Ø§Ù\84تعدÙ\8aÙ\84ات Ø¹Ù\84Ù\89 Ø£Ù\86Ù\87ا Ø·Ù\81Ù\8aÙ\81Ø© Ù\85بدئيا',
 'tog-previewontop' => 'أظهر العرض المسبق قبل صندوق التحرير',
-'tog-previewonfirst' => 'أظÙ\87ر Ù\85عاÙ\8aÙ\86Ø© Ù\85ع Ø£Ù\88Ù\84 ØªØ¹Ø¯Ù\8aÙ\84',
+'tog-previewonfirst' => 'أظÙ\87ر Ù\85عاÙ\8aÙ\86Ø© Ù\85ع Ø£Ù\88Ù\84 ØªØ­Ø±Ù\8aر',
 'tog-nocache' => 'عطّل تخزين المتصفح للصفحة',
-'tog-enotifwatchlistpages' => 'أرسل لي رسالة إلكترونية عندما تُغيّر صفحة أو ملف في قائمة مراقبتي',
+'tog-enotifwatchlistpages' => 'أرسل لي رسالة إلكترونية عندما تتغيّر صفحة أو ملف في قائمة مراقبتي',
 'tog-enotifusertalkpages' => 'أرسل لي رسالة إلكترونية عندما تعدل صفحة نقاشي',
-'tog-enotifminoredits' => 'أرسÙ\84 Ù\84Ù\8a Ø±Ø³Ø§Ù\84Ø© Ø¥Ù\84Ù\83ترÙ\88Ù\86Ù\8aØ© Ø¹Ù\86 Ø§Ù\84تعدÙ\8aÙ\84ات Ø§Ù\84Ø·Ù\81Ù\8aÙ\81Ø© Ù\84Ù\84صÙ\81حات Ù\88اÙ\84Ù\85Ù\84Ù\81ات Ø£Ù\8aضا',
+'tog-enotifminoredits' => 'أرسÙ\84 Ù\84Ù\8a Ø±Ø³Ø§Ù\84Ø© Ø¥Ù\84Ù\83ترÙ\88Ù\86Ù\8aØ© Ø¨Ø´Ø£Ù\86 Ø§Ù\84تحرÙ\8aرات Ø§Ù\84Ø·Ù\81Ù\8aÙ\81Ø© Ù\84Ù\84صÙ\81حات Ù\88اÙ\84Ù\85Ù\84Ù\81ات',
 'tog-enotifrevealaddr' => 'أظهر عنوان بريدي الإلكتروني في رسائل الإخطار',
-'tog-shownumberswatching' => 'اعرض عدد المستخدمين المراقبين',
+'tog-shownumberswatching' => 'اعرض Ø¹Ø¯Ø¯ Ø§Ù\84Ù\85ستخدÙ\85Ù\8aÙ\86 Ø§Ù\84Ù\85راÙ\82بÙ\90Ù\8aÙ\86',
 'tog-oldsig' => 'التوقيع الحالي:',
 'tog-fancysig' => 'عامل التوقيع كنص ويكي (بدون وصلة أوتوماتيكية)',
-'tog-externaleditor' => 'استخدم محرراً خارجياً بشكل افتراضي (للخبراء فقط، يحتاج إعدادات خاصة على حاسوبك) ([//www.mediawiki.org/wiki/Manual:External_editors لمزيد من المعلومات].)',
-'tog-externaldiff' => 'استخدÙ\85 Ù\81رÙ\82اÙ\8b Ø®Ø§Ø±Ø¬Ù\8aاÙ\8b Ø¨Ø´Ù\83Ù\84 Ø§Ù\81تراضÙ\8a (Ù\84Ù\84خبراء Ù\81Ù\82Ø·Ø\8c Ù\8aحتاج إعدادات خاصة على حاسوبك) ([//www.mediawiki.org/wiki/Manual:External_editors للمزيد من المعلومات].)',
+'tog-externaleditor' => 'استخدم محررًا خارجيًا مبدئيا (للخبراء فقط، يتطلب إعدادات خاصة على حاسوبك) ([//www.mediawiki.org/wiki/Manual:External_editors لمزيد من المعلومات].)',
+'tog-externaldiff' => 'استخدÙ\85 Ù\85ستعرض Ù\81رÙ\88Ù\82ات Ø®Ø§Ø±Ø¬Ù\8aÙ\8bا Ù\85بدئÙ\8aا (Ù\84Ù\84خبراء Ù\81Ù\82Ø·Ø\8c Ù\8aتطÙ\84Ù\91ب إعدادات خاصة على حاسوبك) ([//www.mediawiki.org/wiki/Manual:External_editors للمزيد من المعلومات].)',
 'tog-showjumplinks' => 'مكن وصلات "اذهب إلى" المساعدة',
 'tog-uselivepreview' => 'استخدم الاستعراض السريع (جافاسكريبت) (تجريبي)',
-'tog-forceeditsummary' => 'Ù\86بÙ\87Ù\86Ù\8a Ø¹Ù\86د Ø¥Ø¯Ø®Ø§Ù\84 Ù\85Ù\84خص ØªØ¹Ø¯Ù\8aÙ\84 فارغ',
-'tog-watchlisthideown' => 'أخÙ\81 ØªØ¹Ø¯Ù\8aÙ\84اتي من قائمة المراقبة',
-'tog-watchlisthidebots' => 'أخÙ\81 ØªØ¹Ø¯Ù\8aÙ\84ات Ø§Ù\84بÙ\88ت من قائمة المراقبة',
+'tog-forceeditsummary' => 'Ù\86بÙ\87Ù\86Ù\8a Ø¹Ù\86د Ø¥Ø¯Ø®Ø§Ù\84 Ù\85Ù\84خص ØªØ­Ø±Ù\8aر فارغ',
+'tog-watchlisthideown' => 'أخÙ\81 ØªØ­Ø±Ù\8aراتي من قائمة المراقبة',
+'tog-watchlisthidebots' => 'أخÙ\81 ØªØ­Ø±Ù\8aرات Ø§Ù\84رÙ\88بÙ\88تات من قائمة المراقبة',
 'tog-watchlisthideminor' => 'أخف التعديلات الطفيفة من قائمة المراقبة',
 'tog-watchlisthideliu' => 'أخف تعديلات المستخدمين المسجلين من قائمة المراقبة',
 'tog-watchlisthideanons' => 'أخف تعديلات المستخدمين المجهولين من قائمة المراقبة',
@@ -512,7 +513,7 @@ $messages = array(
 'tog-ccmeonemails' => 'أرسل لي نسخا من رسائل البريد الإلكتروني التي أرسلها للمستخدمين الآخرين',
 'tog-diffonly' => 'لا تعرض محتوى الصفحة أسفل الفروقات',
 'tog-showhiddencats' => 'أظهر التصنيفات المخفية',
-'tog-noconvertlink' => 'عطل تحويل عناوين الوصلات',
+'tog-noconvertlink' => 'عطل تحويل عناوين الروابط',
 'tog-norollbackdiff' => 'أزل الفرق بعد القيام باسترجاع',
 
 'underline-always' => 'دائما',
@@ -580,10 +581,10 @@ $messages = array(
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|لا تصنيف|تصنيف|تصنيفان|تصنيفات}}',
-'category_header' => 'صÙ\81حات تصنيف "$1"',
+'category_header' => 'اÙ\84صÙ\81حات Ù\81Ù\8a Ø§Ù\84تصنيف "$1"',
 'subcategories' => 'التصنيفات الفرعية',
 'category-media-header' => 'الوسائط في التصنيف "$1"',
-'category-empty' => "''هذا التصنيف لا يحتوي حاليا على صفحات أو وسائط.''",
+'category-empty' => "''هذا التصنيف لا يحتوي حاليا على صفحات و لا وسائط.''",
 'hidden-categories' => '{{PLURAL:$1|لا تصنيف مخفيا|تصنيف مخفي|تصنيفان مخفيان|تصنيفات مخفية}}',
 'hidden-category-category' => 'تصنيفات مخفية',
 'category-subcat-count' => '{{PLURAL:$2|لا تصانيف فرعية في هذا التصنيف|هذا التصنيف فيه التصنيف الفرعي التالي فقط.|هذا التصنيف فيه {{PLURAL:$1||هذا التصنيف الفرعي|هذين التصنيفين الفرعيين|هذه ال$1 تصانيف الفرعية|هذه ال$1 تصنيفا فرعيا|هذه ال$1 تصنيف فرعي}}، من إجمالي $2.}}',
@@ -595,13 +596,14 @@ $messages = array(
 'listingcontinuesabbrev' => 'متابعة',
 'index-category' => 'صفحات مفهرسة',
 'noindex-category' => 'صفحات غير مفهرسة',
-'broken-file-category' => 'صفحات تحتوي وصلات ملفات معطوبة',
+'broken-file-category' => 'صفحات تحتوي روابط ملفات معطوبة',
 
 'about' => 'عن',
 'article' => 'صفحة محتوى',
 'newwindow' => '(تفتح في نافذة جديدة)',
-'cancel' => 'Ø¥Ù\84غاء',
+'cancel' => 'Ø£Ù\84غÙ\90',
 'moredotdotdot' => 'المزيد...',
+'morenotlisted' => 'يوجد المزيد غير مسرود...',
 'mypage' => 'صفحة',
 'mytalk' => 'نقاش',
 'anontalk' => 'النقاش لعنوان الأيبي هذا',
@@ -611,7 +613,7 @@ $messages = array(
 # Cologne Blue skin
 'qbfind' => 'جد',
 'qbbrowse' => 'تصفح',
-'qbedit' => 'تعدÙ\8aÙ\84',
+'qbedit' => 'حرÙ\91ر',
 'qbpageoptions' => 'هذه الصفحة',
 'qbmyoptions' => 'صفحاتي',
 'qbspecialpages' => 'الصفحات الخاصة',
@@ -624,15 +626,15 @@ $messages = array(
 'vector-action-move' => 'انقل',
 'vector-action-protect' => 'احم',
 'vector-action-undelete' => 'استرجع الحذف',
-'vector-action-unprotect' => 'غير الحماية',
+'vector-action-unprotect' => 'غيّر الحماية',
 'vector-simplesearch-preference' => 'مكّن شريط البحث المبسط (لواجهة فكتور فقط)',
 'vector-view-create' => 'أنشئ',
 'vector-view-edit' => 'تعديل',
 'vector-view-history' => 'اعرض التاريخ',
 'vector-view-view' => 'اقرأ',
-'vector-view-viewsource' => 'اعرض المصدر',
+'vector-view-viewsource' => 'طاÙ\84ع المصدر',
 'actions' => 'أفعال',
-'namespaces' => 'النطاقات',
+'namespaces' => 'فضاءات التسمية',
 'variants' => 'المتغيرات',
 
 'navigation-heading' => 'قائمة التصفح',
@@ -641,24 +643,24 @@ $messages = array(
 'tagline' => 'من {{SITENAME}}',
 'help' => 'مساعدة',
 'search' => 'بحث',
-'searchbutton' => 'بحث',
+'searchbutton' => 'ابحث',
 'go' => 'اذهب',
 'searcharticle' => 'اذهب',
-'history' => 'تاريخ الصفحة',
-'history_short' => 'تاريخ',
-'updatedmarker' => 'تÙ\85 ØªØ­Ø¯Ù\8aØ«Ù\87ا منذ زيارتي الأخيرة',
+'history' => 'تأريخ الصفحة',
+'history_short' => 'تأريخ',
+'updatedmarker' => 'Ø­Ù\8fدÙ\90Ù\91Ø«Ù\8eت منذ زيارتي الأخيرة',
 'printableversion' => 'نسخة للطباعة',
-'permalink' => 'وصلة دائمة',
+'permalink' => 'رابط دائم',
 'print' => 'اطبع',
-'view' => 'عرض',
-'edit' => 'تعدÙ\8aÙ\84',
-'create' => 'Ø£Ù\86شئ',
-'editthispage' => 'تعدÙ\8aÙ\84 هذه الصفحة',
+'view' => 'مطالعة',
+'edit' => 'تحرÙ\8aر',
+'create' => 'Ø¥Ù\86شاء',
+'editthispage' => 'حرÙ\90Ù\91ر هذه الصفحة',
 'create-this-page' => 'أنشئ هذه الصفحة',
 'delete' => 'حذف',
 'deletethispage' => 'احذف هذه الصفحة',
 'undelete_short' => 'استرجاع {{PLURAL:$1|تعديل واحد|تعديلين|$1 تعديلات|$1 تعديل|$1 تعديلا}}',
-'viewdeleted_short' => 'عرض {{PLURAL:$1|تعديل محذوف|$1 تعديلات محذوفة}}',
+'viewdeleted_short' => 'استعرض {{PLURAL:$1|تعدÙ\8aÙ\84 Ù\85حذÙ\88Ù\81|$1 ØªØ¹Ø¯Ù\8aÙ\84ات Ù\85حذÙ\88Ù\81Ø©}}',
 'protect' => 'احم',
 'protect_change' => 'غير',
 'protectthispage' => 'احم هذه الصفحة',
@@ -1728,7 +1730,7 @@ $1",
 'grouppage-bot' => '{{ns:project}}:بوتات',
 'grouppage-sysop' => '{{ns:project}}:إداريون',
 'grouppage-bureaucrat' => '{{ns:project}}:بيروقراطيون',
-'grouppage-suppress' => '{{ns:project}}:أوفرسايت',
+'grouppage-suppress' => '{{ns:project}}:نظار',
 
 # Rights
 'right-read' => 'قراءة الصفحات',
@@ -1845,7 +1847,7 @@ $1",
 'recentchanges-feed-description' => 'تابع أحدث التغييرات للويكي عبر هذه التلقيمة.',
 'recentchanges-label-newpage' => 'أنشأ هذا التعديل صفحة جديدة',
 'recentchanges-label-minor' => 'هذا تعديل طفيف',
-'recentchanges-label-bot' => 'أجرى هذا التعديل بوت',
+'recentchanges-label-bot' => 'أُجْرِيَ هذا التعديل بواسطة بوت',
 'recentchanges-label-unpatrolled' => 'لم يراجع هذا التعديل إلى الآن',
 'rcnote' => "بالأسفل {{PLURAL:$1|لا توجد تغييرات|التغيير الأخير|آخر تغييرين|آخر '''$1''' تغييرات|آخر '''$1''' تغييرا|آخر '''$1''' تغيير}} في {{PLURAL:$2||'''اليوم''' الماضي|'''اليومين''' الماضيين|ال'''$2''' أيام الماضية|ال'''$2''' يوما الماضيا|ال'''$2''' يوم الماضي}}، كما في $5، $4.",
 'rcnotefrom' => "بالأسفل التغييرات منذ '''$2''' (إلى '''$1''' معروضة).",
index de0d4bc..48901d5 100644 (file)
@@ -488,8 +488,10 @@ $1',
 # Special:PasswordReset
 'passwordreset' => 'ܣܘܡ ܡܠܬܐ ܕܥܠܠܐ ܙܒܢ ܐܚܪܝܢ',
 'passwordreset-legend' => 'ܣܘܡ ܡܠܬܐ ܕܥܠܠܐ ܙܒܢ ܐܚܪܝܢ',
+'passwordreset-pretext' => '{{PLURAL:$1||ܐܥܠ ܚܕ ܡܢ ܡܢܘܬ̈ܐ ܕܝܕ̈ܥܬܐ ܠܬܬܚܬ}}',
 'passwordreset-username' => 'ܫܡܐ ܕܡܦܠܚܢܐ:',
 'passwordreset-domain' => 'ܪܘܚܬܐ:',
+'passwordreset-email' => 'ܡܘܢܥܐ ܕܒܝܠܕܪܐ ܐܠܩܛܪܘܢܝܐ:',
 
 # Special:ChangeEmail
 'changeemail' => 'ܫܚܠܦ ܒܝܠܕܪܐ ܐܠܩܛܪܘܢܝܐ',
@@ -1108,6 +1110,7 @@ $1',
 'speciallogtitlelabel' => 'ܢܘܦܐ (ܟܘܢܝܐ ܐܘ ܡܦܠܚܢܐ):',
 'log' => 'ܣܓܠ̈ܐ',
 'all-logs-page' => 'ܟܠ ܣܓܠ̈ܐ ܓܘܢܝ̈ܐ',
+'logempty' => 'ܠܝܬ ܡܠܘܐ̈ܐ ܠܐ̈ܝܡܐ ܒܣܓܠܐ ܗܢܐ.',
 'log-title-wildcard' => 'ܒܨܝ ܥܠ ܟܘܢܝ̈ܐ ܕܫܪܝܢ ܥܡ ܟܬܒܬܐ ܗܕܐ',
 'showhideselectedlogentries' => 'ܚܘܝ/ܛܫܝ ܣܓܠ̈ܐ ܕܥܠܠܐ ܓܒܝ̈ܐ',
 
@@ -1555,6 +1558,16 @@ Do you want to change the settings?',
 'pageinfo-contentpage-yes' => 'ܐܝܢ',
 'pageinfo-protect-cascading-yes' => 'ܐܝܢ',
 
+# Patrolling
+'markaspatrolleddiff' => 'ܫܘܕܥ ܐܝܟ ܟܪܝܟܐ',
+'markaspatrolledtext' => 'ܫܘܕܥ ܦܐܬܐ ܗܕܐ ܐܝܟ ܟܪܝܟܬܐ',
+'markedaspatrolled' => 'ܫܘܕܥܬ ܐܝܟ ܟܪܝܟܐ',
+'markedaspatrollednotify' => 'ܫܘܚܠܦܐ ܗܢܐ ܥܠ $1 ܐܫܬܘܕܥ ܐܝܟ ܟܪܝܟܐ.',
+
+# Patrol log
+'patrol-log-page' => 'ܣܓܠܐ ܕܟܪܟܐ',
+'log-show-hide-patrol' => '$1 ܣܓܠܐ ܕܟܪܟܐ',
+
 # Image deletion
 'filedeleteerror-short' => 'ܦܘܕܐ ܒܫܝܦܐ ܕܠܦܦܐ: $1',
 'filedeleteerror-long' => 'ܦܘܕ̈ܐ ܐܫܟܚܬ ܟܕ ܫܝܦܐ ܠܦܦܐ:
@@ -1592,6 +1605,7 @@ $1',
 'hours' => '{{PLURAL:$1|$1 ܫܥܬܐ|$1 ܫܥܬ̈ܐ}}',
 'days' => '{{PLURAL:$1|$1 ܝܘܡܐ|$1 ܝܘܡܬ̈ܐ}}',
 'ago' => 'ܩܕܡ $1',
+'just-now' => 'ܗܫܐ ܒܪ ܫܥܬܗ',
 
 # Metadata
 'metadata' => 'ܓܠܝܬ̈ܐ ܕܡܝܛܐ',
index b39cbe1..ad0b1b0 100644 (file)
@@ -2104,7 +2104,7 @@ La direición de corréu electrónicu qu\'especificasti nes [[Special:Preference
 'usermessage-editor' => 'Mensaxería del sistema',
 
 # Watchlist
-'watchlist' => 'La mio llista de vixilancia',
+'watchlist' => 'Llista de vixilancia',
 'mywatchlist' => 'Llista de vixilancia',
 'watchlistfor2' => 'Pa $1 $2',
 'nowatchlist' => 'La to llista de vixilancia ta vacia.',
index 13ee6c9..bfdc182 100644 (file)
@@ -16,6 +16,7 @@
  * @author Erdemaslancan
  * @author Gulmammad
  * @author Kaganer
+ * @author Khan27
  * @author PPerviz
  * @author PrinceValiant
  * @author Sortilegus
@@ -248,6 +249,7 @@ $messages = array(
 'namespaces' => 'Adlar fəzası',
 'variants' => 'Variantlar',
 
+'navigation-heading' => 'Naviqasiya menyusu',
 'errorpagetitle' => 'Xəta',
 'returnto' => '$1 səhifəsinə qayıt.',
 'tagline' => '{{SITENAME}} saytından',
@@ -477,12 +479,16 @@ Göstərilən səbəb: "\'\'$2\'\'".',
 'logouttext' => "'''Sistemdən çıxdınız.'''
 
 Siz {{SITENAME}} saytını anonim olaraq istifadə etməyə davam edə bilər və ya eyni, yaxud başqa istifadəçi adı ilə <span class='plainlinks'>[$1 yenidən daxil ola]</span> bilərsiniz. Veb-brauzerin keş yaddaşını təmizləyənədək bəzi səhifələr hələ də sistemdə imişsiniz kimi görünə bilər.",
+'welcomeuser' => 'Xoş gəldin $1!',
+'welcomecreation-msg' => 'Hesabınız yaradıldı.
+[[Special:Preferences|{{SITENAME}} nizamlamalarınızı]] dəyişdirməyi unutmayın.',
 'yourname' => 'İstifadəçi adı',
 'yourpassword' => 'Parol:',
 'yourpasswordagain' => 'Parolu təkrar yazın:',
 'remembermypassword' => 'Məni bu kompyuterdə xatırla (maksimum $1 {{PLURAL:$1|gün|gün}})',
 'securelogin-stick-https' => 'Daxil olduqdan sonra HTTPS-lə əlaqədə qal',
 'yourdomainname' => 'Sizin domain',
+'password-change-forbidden' => 'Bu vikidə parolunuzu dəyişdirə bilməzsiniz.',
 'externaldberror' => 'Verilənlər bazasının doğruluğunu yoxlamada xəta baş verib və yaxud sizin xarici istifadəçi qeydiyyatını yeniləmək hüququnuz yoxdur.',
 'login' => 'Daxil ol',
 'nav-login-createaccount' => 'Daxil ol / hesab yarat',
@@ -544,6 +550,7 @@ Aşağıdakı xidmətlərin heç biri üçün Sizə e-məktub göndərilməyəc
 'emailconfirmlink' => 'E-poçt ünvanını təsdiq et',
 'invalidemailaddress' => 'E-poçt ünvanınızı qeyri-düzgün formatda olduğu üçün qəbul edə bilmirik.
 Xahiş edirik düzgün formatlı ünvan daxil edin və ya bu sahəni boş qoyun.',
+'emaildisabled' => 'Bu saytdan e-poçt göndərə bilməzsiniz.',
 'accountcreated' => 'Hesab yaradıldı',
 'accountcreatedtext' => '$1 üçün istifadəçi hesabı yaradıldı.',
 'createaccount-title' => '{{SITENAME}} hesabın yaradılması',
index 3aa37e5..3800fef 100644 (file)
@@ -1181,7 +1181,7 @@ Eke şıma serkari u devam bıkeri [$1 no vurnayiş şıma eşkeni bıvini].",
 Îdarekarî eşkeno ena dif bivîne; belki tiya de [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} ploxnayış] de teferruat esto.",
 'rev-delundel' => 'bımocne/bınımne',
 'rev-showdeleted' => 'bımocne',
-'revisiondelete' => 'Bıestere/çımraviyarnayışan peyser bia',
+'revisiondelete' => 'Bestere/çımraviyarnayışan peyser bia',
 'revdelete-nooldid-title' => 'Çımraviyarnayışo waşte nêvêreno',
 'revdelete-nooldid-text' => 'Şıma vıraştışê nê fonksiyoni rê ya yew çımraviyarnayışo waşte diyar nêkerdo, çımraviyarnayışo diyarkerde çıniyo, ya ki şıma wazenê ke çımraviyarnayışê nıkayêni bınımnê.',
 'revdelete-nologtype-title' => 'Qet qeydê cınêdiya',
@@ -1557,7 +1557,7 @@ Kaberê bini ke şıma de kewti irtıbat, adresa e-postey şıma eşkera nêbena
 'right-reupload-own' => 'Dosyeyê ke to bar kerdi, inan sero bınuse',
 'right-reupload-shared' => 'Dosyeyê ke ambarê medyao barekerde de, inan mehelli wedare',
 'right-upload_by_url' => 'Yew URL ra dosyan bar bıke',
-'right-purge' => 'Verde ju pela araşt kerdışi hafızay sita besterne',
+'right-purge' => 'Virê sita seba yew pele bêdestur bestere.',
 'right-autoconfirmed' => 'Pelanê ke nême kılit biyê, inan bıvurne',
 'right-bot' => 'Zey yew karê xoserkerdey be',
 'right-nominornewtalk' => 'Pelanê werênayışan rê vurnayışê qıckeki çıniyê, qutiya mesacanê newiyan bıgurene',
@@ -1627,7 +1627,7 @@ Kaberê bini ke şıma de kewti irtıbat, adresa e-postey şıma eşkera nêbena
 'action-upload_by_url' => 'Ena dosya yew URL ra bar bike',
 'action-writeapi' => 'ser nuşte API gure bike',
 'action-delete' => 'ena perer besternê',
-'action-deleterevision' => 'nê çımraviyarnayışi bıestere',
+'action-deleterevision' => 'nê çımraviyarnayışi bestere',
 'action-deletedhistory' => 'tarixê ena pel ki estereyî biya, ey bivine',
 'action-browsearchive' => 'pelanê esterıteyan bıgeyre',
 'action-undelete' => 'ena pele reyna biyere',
@@ -2009,8 +2009,8 @@ listeya ke ha ver a têna na {{PLURAL:$1|dosyaya ewwili|dosyaya $1 ewwili}} mocn
 'filerevert-badversion' => 'Vesiyonê lokalê verniyê eno dosya pê ena pulêwext de çin o.',
 
 # File deletion
-'filedelete' => '$1 bıestere',
-'filedelete-legend' => 'Dosya bıestere',
+'filedelete' => '$1 bestere',
+'filedelete-legend' => 'Dosya bestere',
 'filedelete-intro' => "Ti ho dosyayê '''[[Media:$1|$1]]'''i u tarixê ey dosyayê hemî estereno.",
 'filedelete-intro-old' => "Ti ho versiyonê '''[[Media:$1|$1]]'''i [$4 $3, $2] estereno.",
 'filedelete-comment' => 'Sebeb:',
@@ -2393,13 +2393,13 @@ Qey hemkari u pêşniyazi:
 'changed' => 'vurneya',
 
 # Delete
-'deletepage' => 'Pele bıestere',
+'deletepage' => 'Pele bestere',
 'confirm' => 'Testiq ke',
 'excontent' => "behso kêm: '$1'",
 'excontentauthor' => "behso kêm: '$1' no/na ('[[Special:Contributions/$2|$2]]'  teyna iştıraq kerdo)",
 'exbeforeblank' => "behsê verê esteriyayişi: '$1'",
 'exblank' => 'zerreyê peli vengo',
-'delete-confirm' => '"$1" bıestere',
+'delete-confirm' => '"$1" bestere',
 'delete-legend' => 'Bestere',
 'historywarning' => "'''Teme:''' Pela ke şıma esterenê tede yew viyarte be teqriben $1 {{PLURAL:$1|versiyon esto|versiyoni estê}}:",
 'confirmdeletetext' => 'Tı ho yew pele u tarixê pele wederneno.
index cb9b95c..6e4a92f 100644 (file)
@@ -1341,7 +1341,7 @@ $1",
 'viewprevnext' => 'Εμφάνιση ($1 {{int:pipe-separator}} $2) ($3).',
 'searchmenu-legend' => 'Επιλογές αναζήτησης',
 'searchmenu-exists' => "'''Υπάρχει μια σελίδα που ονομάζεται \"[[:\$1]]\" σε αυτό το wiki'''",
-'searchmenu-new' => "'''Δημιουργήστε τη σελίδα \"[[:\$1]]\" σε αυτό το wiki!'''",
+'searchmenu-new' => "'''Δημιουργήστε τη σελίδα «[[:$1]]» σε αυτό το wiki!'''",
 'searchhelp-url' => 'Help:Περιεχόμενα',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Πλοηγηθείτε σε σελίδες με αυτό το πρόθεμα]]',
 'searchprofile-articles' => 'Σελίδες περιεχομένων',
@@ -3666,42 +3666,51 @@ $1',
 'confirmemail_loggedin' => 'Η ηλεκτρονική σας διεύθυνση επαληθεύτηκε.',
 'confirmemail_error' => 'Παρουσιάστηκε λάθος κατά την αποθήκευση των ρυθμίσεών σας.',
 'confirmemail_subject' => 'Επαλήθευση ηλεκτρονικής διεύθυνσης του {{SITENAME}}',
-'confirmemail_body' => 'Κάποιος -πιθανόν εσείς- από τη διεύθυνση IP $1, δημιούργησε στον ιστότοπο {{SITENAME}} το λογαριασμό χρήστη "$2" με αυτή την ηλεκτρονική διεύθυνση.
+'confirmemail_body' => 'Κάποιος, πιθανότατα εσείς, από τη διεύθυνση IP $1,
+δημιούργησε λογαριασμό χρήστη «$2»
+με αυτήν τη διεύθυνση ηλεκτρονικού ταχυδρομείου στον ιστότοπο {{SITENAME}}.
 
-Για να επιβεβαιώσετε ότι αυτός ο λογαριασμός χρήστη ανήκει πραγματικά σε εσάς και για να ενεργοποιηθούν οι δυνατότητες e-mail του {{SITENAME}}, ακολουθήστε αυτό το σύνδεσμο:
+Για να επιβεβαιώσετε ότι αυτός ο λογαριασμός χρήστη ανήκει πραγματικά σε σας και να ενεργοποιήσετε
+τις δυνατότητες ηλεκτρονικού ταχυδρομείου στον ιστότοπο {{SITENAME}}, ανοίξτε στον περιηγητή σας αυτόν το σύνδεσμο:
 
 $3
 
-Αν *δεν* δημιουργήσατε εσείς το συγκεκριμένο λογαριασμό, ακολουθήστε τον παρακάτω σύνδεσμο για να ακυρώσετε την επιβεβαίωση της διεύθυνσης e-mail:
+Εάν *δεν* δημιουργήσατε εσείς το λογαριασμό χρήστη, ακολουθήστε αυτόν τον σύνδεσμο
+για να ακυρώσετε την επιβεβαίωση της διεύθυνσης ηλεκτρονικού ταχυδρομείου:
 
 $5
 
-Ο κωδικός επιβεβαίωσης θα λήξει στις $4.',
-'confirmemail_body_changed' => 'Κάποιος - πιθανόν εσείς - από τη διεύθυνση IP $1, άλλαξε στον ιστότοπο {{SITENAME}} την ηλεκτρονική διεύθυνση του λογαριασμού χρήστη "$2".
+Αυτός ο κωδικός επιβεβαίωσης θα λήξει στις $6, στις $7.',
+'confirmemail_body_changed' => 'Κάποιος, πιθανότατα εσείς, από τη διεύθυνση IP $1,
+άλλαξε τη διεύθυνση ηλεκτρονικού ταχυδρομείου του λογαριασμού χρήστη «$2»
+σε αυτήν τη διεύθυνση ηλεκτρονικού ταχυδρομείου στον ιστότοπο {{SITENAME}}.
 
-Για να επιβεβαιώσετε ότι αυτός ο λογαριασμός χρήστη ανήκει πραγματικά σε εσάς και για να ενεργοποιηθούν οι δυνατότητες e-mail του {{SITENAME}}, ακολουθήστε αυτό το σύνδεσμο:
+Για να επιβεβαιώσετε ότι αυτός ο λογαριασμός χρήστη ανήκει πραγματικά σε σας και να ενεργοποιήσετε πάλι
+τις δυνατότητες ηλεκτρονικού ταχυδρομείου στον ιστότοπο {{SITENAME}}, ανοίξτε στον περιηγητή σας αυτόν το σύνδεσμο:
 
 $3
 
-Αν ο λογαριασμός *δεν* ανήκει σε σας, ακολουθήστε τον παρακάτω σύνδεσμο για να ακυρώσετε την επιβεβαίωση της διεύθυνσης e-mail:
+Εάν ο λογαριασμός *δεν* ανήκει σε σας, ακολουθήστε αυτόν τον σύνδεσμο
+για να ακυρώσετε την επιβεβαίωση της διεύθυνσης ηλεκτρονικού ταχυδρομείου:
 
 $5
 
-Αυτός ο κωδικός επιβεβαίωσης θα λήξει στις $4.',
-'confirmemail_body_set' => 'Κάποιος, πιθανόν εσείς, από τη διεύθυνση IP $1, έχει θέσει τη διεύθυνση 
-ηλεκτρονικού ταχυδρομείου (e-mail) του λογαριασμού " $2 "σε αυτή τη διεύθυνση στο {{SITENAME}}.
+Αυτός ο κωδικός επιβεβαίωσης θα λήξει στις $6, στις $7.',
+'confirmemail_body_set' => 'Κάποιος, πιθανότατα εσείς, από τη διεύθυνση IP $1,
+όρισε αυτήν τη διεύθυνση ηλεκτρονικού ταχυδρομείου ως διεύθυνση ηλεκτρονικού ταχυδρομείου
+του λογαριασμού χρήστη «$2» στον ιστότοπο {{SITENAME}}.
 
-Για να επιβεβαιώσετε ότι αυτός ο λογαριασμός χρήστη ανήκει πραγματικά σε σας και να επανενεργοποιήσετε
-τις δυνατότητες ηλεκτρονικού ταχυδρομείου στον/στην/στα {{SITENAME}}, ανοίξτε αυτό το σύνδεσμο στον φυλλομετρητή (browser) σας:
+Για να επιβεβαιώσετε ότι αυτός ο λογαριασμός χρήστη ανήκει πραγματικά σε σας και να ενεργοποιήσετε πάλι
+τις δυνατότητες ηλεκτρονικού ταχυδρομείου στον ιστότοπο {{SITENAME}}, ανοίξτε στον περιηγητή σας αυτόν το σύνδεσμο:
 
 $3
 
-Εάν ο λογαριασμός * δεν * ανήκει σε σας, ακολουθήστε αυτόν τον σύνδεσμο
-για Î½Î± Î±ÎºÏ\85Ï\81Ï\8eÏ\83εÏ\84ε Ï\84ο e-mail ÎµÏ\80ιβεβαίÏ\89Ï\83ηÏ\82 Ï\84ηÏ\82 Î´Î¹ÎµÏ\8dθÏ\85νÏ\83ηÏ\82
+Εάν ο λογαριασμός *δεν* ανήκει σε σας, ακολουθήστε αυτόν τον σύνδεσμο
+για Î½Î± Î±ÎºÏ\85Ï\81Ï\8eÏ\83εÏ\84ε Ï\84ην ÎµÏ\80ιβεβαίÏ\89Ï\83η Ï\84ηÏ\82 Î´Î¹ÎµÏ\8dθÏ\85νÏ\83ηÏ\82 Î·Î»ÎµÎºÏ\84Ï\81ονικοÏ\8d Ï\84αÏ\87Ï\85δÏ\81ομείοÏ\85:
 
 $5
 
-Αυτός ο κωδικός επιβεβαίωσης θα λήξει στις $4.',
+Αυτός ο κωδικός επιβεβαίωσης θα λήξει στις $6, στις $7.',
 'confirmemail_invalidated' => 'Η επιβεβαίωσης της διεύθυνσης e-mail ακυρώθηκε',
 'invalidateemail' => 'Ακύρωση επιβεβαίωσης της διεύθυνσης e-mail',
 
index 7f2703f..1916ec3 100644 (file)
@@ -751,7 +751,7 @@ Ne forgesu ŝanĝi viajn [[Special:Preferences|{{SITENAME}}-preferojn]]',
 'gotaccount' => "Ĉu vi jam havas konton? '''$1'''.",
 'gotaccountlink' => 'Ensaluti',
 'userlogin-resetlink' => 'Ĉu vi forgesis ensalutajn detalojn?',
-'createaccountmail' => 'retpoŝte',
+'createaccountmail' => 'Uzi provizoran hazardsignan pasvorton kaj sendi ĝin al la retpoŝto suben',
 'createaccountreason' => 'Kialo:',
 'badretype' => 'La pasvortojn kiujn vi tajpis ne egalas.',
 'userexists' => 'Salutnomo enigita jam estas uzata.
@@ -2313,7 +2313,7 @@ La retadreso kiun vi enigis en [[Special:Preferences|viaj preferoj]] aperos kiel
 'usermessage-editor' => 'Mesaĝanto de sistemo',
 
 # Watchlist
-'watchlist' => 'Atentaro',
+'watchlist' => 'Mia atentaro',
 'mywatchlist' => 'Atentaro',
 'watchlistfor2' => 'Por $1 $2',
 'nowatchlist' => 'Vi ne jam elektis priatenti iun ajn paĝon.',
@@ -3152,6 +3152,10 @@ Datoj de versioj kaj nomoj de redaktantoj estos preservitaj.
 'pageinfo-protect-cascading' => 'Protektado kaskade fontas el ĉi tie',
 'pageinfo-protect-cascading-yes' => 'Jes',
 'pageinfo-protect-cascading-from' => 'Protektado kaskade fontas el',
+'pageinfo-category-info' => 'Informo pri kategorio',
+'pageinfo-category-pages' => 'Nombro de paĝoj',
+'pageinfo-category-subcats' => 'Nombro de subkategorioj',
+'pageinfo-category-files' => 'Nombro de dosieroj',
 
 # Skin names
 'skinname-standard' => 'Klasiko',
@@ -3239,6 +3243,7 @@ $1',
 'hours' => '{{PLURAL:$1|$1 horo|$1 horoj}}',
 'days' => '{{PLURAL:$1|$1 tago|$1 tagoj}}',
 'months' => '{{PLURAL:$1|$1 monato|$1 monatoj}}',
+'years' => '{{PLURAL:$1|$1 jaro|$1 jaroj}}',
 'ago' => 'antaŭ $1',
 'just-now' => 'ĵus nune',
 
@@ -4104,7 +4109,8 @@ Aŭ vi povas uzi la facilan formularon sube. Via komento estos aldonita al la pa
 'api-error-nomodule' => 'Interna eraro: ne troveblas alŝuta helpilaro.',
 'api-error-ok-but-empty' => 'Interna eraro: nenia respondo de la servilo.',
 'api-error-overwrite' => 'Anstataŭigo de ekzistanta dosiero ne permesatas.',
-'api-error-stashfailed' => 'Interna eraro: la servilo malsukcesis stoki dumtempan dosieron.',
+'api-error-stashfailed' => 'Interna eraro: la servilo malsukcesis stoki provizoran dosieron.',
+'api-error-publishfailed' => 'Interna eraro: Servilo malsukcesis eldoni provizoran dosieron.',
 'api-error-timeout' => 'La servilo ne respondis ene de la antaŭvidita tempo.',
 'api-error-unclassified' => 'Okazis nekonata eraro',
 'api-error-unknown-code' => 'Nekonata eraro: "$1"',
index 699c640..0fb1a80 100644 (file)
@@ -43,6 +43,7 @@
  * @author Fluence
  * @author Gustronico
  * @author Gwickwire
+ * @author Hazard-SJ
  * @author Hercule
  * @author Icvav
  * @author Imre
@@ -2309,7 +2310,7 @@ Es necesario, por lo menos, un dominio de alto nivel, por ejemplo "*.org".<br />
 # Special:ActiveUsers
 'activeusers' => 'Lista de usuarios activos',
 'activeusers-intro' => 'Esta es una lista de usuarios que han tenido alguna actividad en los últimos $1 {{PLURAL:$1|día|días}}.',
-'activeusers-count' => '$1 {{PLURAL:$1|edición|ediciones}} en los últimos {{PLURAL:$3|día|$3 días}}',
+'activeusers-count' => '$1 {{PLURAL:$1|acción|acciones}} en los últimos {{PLURAL:$3|día|$3 días}}',
 'activeusers-from' => 'Mostrando a los usuarios empezando por:',
 'activeusers-hidebots' => 'Ocultar robots',
 'activeusers-hidesysops' => 'Ocultar administradores',
@@ -2533,7 +2534,7 @@ A continuación se muestran las opciones actuales de la página '''$1''':",
 A continuación se muestran las opciones actuales de la página '''$1''':",
 'protect-cascadeon' => 'Actualmente esta página está protegida porque está incluida en {{PLURAL:$1|la siguiente página|las siguientes páginas}}, que tienen activada la opción de protección en cascada. Puedes cambiar el nivel de protección de esta página, pero no afectará a la protección en cascada.',
 'protect-default' => 'Permitir todos los usuarios',
-'protect-fallback' => 'Necesita el permiso «$1»',
+'protect-fallback' => 'Permite sólo a usuarios con el permiso «$1»',
 'protect-level-autoconfirmed' => 'Permitir solo usuarios autoconfirmados',
 'protect-level-sysop' => 'Permitir solo administradores',
 'protect-summary-cascade' => 'en cascada',
@@ -3960,7 +3961,7 @@ Las imágenes se muestran en resolución máxima, otros tipos de archivo se inic
 'specialpages-group-highuse' => 'Páginas sobre usos',
 'specialpages-group-pages' => 'Listas de páginas',
 'specialpages-group-pagetools' => 'Herramientas de páginas',
-'specialpages-group-wiki' => 'Herramientas y datos del wiki',
+'specialpages-group-wiki' => 'Herramientas y datos',
 'specialpages-group-redirects' => 'Búsquedas y redirecciones',
 'specialpages-group-spam' => 'Herramientas anti-SPAM',
 
@@ -4058,6 +4059,7 @@ Este sitio está experimentando dificultades técnicas.',
 'logentry-newusers-newusers' => 'Se ha creado la cuenta de usuario $1',
 'logentry-newusers-create' => 'Se ha creado la cuenta de usuario $1',
 'logentry-newusers-create2' => '$1 ha creado la cuenta de usuario $3',
+'logentry-newusers-byemail' => '$1 creó la cuenta de usuario $3 y la contraseña se envió por correo electrónico',
 'logentry-newusers-autocreate' => 'La cuenta $1 fue creada automáticamente',
 'logentry-rights-rights' => '$1 modificó los grupos a los que pertenece $3: de $4 a $5',
 'logentry-rights-rights-legacy' => '$1 ha cambiado la pertenencia a grupos de $3',
index 34c3968..bce01b4 100644 (file)
@@ -800,9 +800,10 @@ Era berean, bidaltzen ari zaren edukia zuk zeuk idatzitakoa dela edo jabetza pub
 '''EZ BIDALI BAIMENIK GABEKO COPYRIGHTDUN EDUKIRIK!'''",
 'longpageerror' => "'''Errorea: Bidali duzun testuak {{PLURAL:$1|kilobyte 1eko|$1 kilobyteko}} luzera du, eta {{PLURAL:$2|kilobyte 1eko|$2 kilobyteko}} maximoa baino luzeagoa da.'''
 Ezin da gorde.",
-'readonlywarning' => "'''OHARRA: Datu-basea blokeatu egin da mantenu lanak burutzeko, beraz ezingo dituzu orain zure aldaketak gorde. Testua fitxategi baten kopiatu dezakezu, eta beranduago erabiltzeko gorde.
+'readonlywarning' => "'''Oharra: Datu-basea blokeatu egin da mantenu lanak burutzeko, beraz ezingo dituzu orain zure aldaketak gorde.'''
+Testua fitxategi baten kopiatu dezakezu, eta beranduago erabiltzeko gorde.
 
-Blokeatu zuen administratzaileak honako azalpena eman zuen: $1'''",
+Blokeatu zuen administratzaileak honako azalpena eman zuen: $1",
 'protectedpagewarning' => "'''Oharra:  Orri hau blokeatua dago administratzaileek soilik eraldatu ahal dezaten.'''
 Azken erregistroa ondoren ikusgai dago erreferentzia gisa:",
 'semiprotectedpagewarning' => "'''Oharra''': Orrialde hau erregistratutako erabiltzaileek bakarrik aldatzeko babestuta dago.
@@ -1863,7 +1864,7 @@ Baimendutako protokoloak: <code>$1</code> (protokoloa zehazten ez bada http:// h
 
 # Special:ActiveUsers
 'activeusers' => 'Lankide aktiboen zerrenda',
-'activeusers-count' => '{{PLURAL:$1|Aldaketa berri bat|$1 aldaketa berri}} azken {{PLURAL:$3|egunean|$3 egunetan}}',
+'activeusers-count' => '{{PLURAL:$1|Ekintza berri bat|$1 ekintza berri}} azken {{PLURAL:$3|egunean|$3 egunetan}}',
 'activeusers-from' => 'Bilatu honela hasten diren lankideak:',
 'activeusers-hidebots' => 'Ezkutatu bot-ak',
 'activeusers-hidesysops' => 'Ezkutatu administratzaileak',
@@ -1920,7 +1921,7 @@ Badago [[{{MediaWiki:Listgrouprights-helppage}}|informazio osagarria]] banakako
 'usermessage-editor' => 'Sistemako mezularia',
 
 # Watchlist
-'watchlist' => 'Nire jarraipen zerrenda',
+'watchlist' => 'Jarraipen zerrenda',
 'mywatchlist' => 'Jarraipen zerrenda',
 'watchlistfor2' => '$1 ($2)',
 'nowatchlist' => 'Zure jarraipen zerrenda hutsik dago.',
@@ -2349,7 +2350,6 @@ Konturatu zaitez orrialdea '''ez''' dela mugituko izenburu berria duen orrialde
 Horrek esan nahi du hanka sartzekotan orrialde baten jatorrizko izenburua berreskuratu daitekeela, baina ezin dela jada existitzen den orrialde baten gainean idatzi.
 
 '''Oharra!'''
-
 Aldaketa hau drastikoa eta ustekabekoa izan daiteke orrialde oso ezagunetan;
 mesedez, egiazta ezazu honen ondorioak ulertzen dituzula, jarraitu baino lehen.",
 'movepagetalktext' => "Dagokion eztabaida orrialdea berarekin batera mugitu da, honako kasu hauetan '''ezik:'''
@@ -3261,7 +3261,7 @@ Irudiak bereizmen handienean daude, bestelako fitxategi motak beraiei esleitutak
 'specialpages-group-highuse' => 'Erabilera handiko orrialdeak',
 'specialpages-group-pages' => 'Orrialdeen zerrendak',
 'specialpages-group-pagetools' => 'Orrialde tresnak',
-'specialpages-group-wiki' => 'Wiki datuak eta tresnak',
+'specialpages-group-wiki' => 'Datuak eta tresnak',
 'specialpages-group-redirects' => 'Berbideraketa-orri bereziak',
 'specialpages-group-spam' => 'Spam tresnak',
 
index 54cd83c..09a5ee6 100644 (file)
@@ -2417,7 +2417,7 @@ Viimeisimmän muokkauksen on tehnyt käyttäjä [[User:$3|$3]] ([[User talk:$3|k
 'protect-cascadeon' => 'Tämä sivu on suojauksen kohteena, koska se on sisällytetty alla {{PLURAL:$1|olevaan laajennetusti suojattuun sivuun|oleviin laajennetusti suojattuihin sivuihin}}. Voit muuttaa tämän sivun suojaustasoa, mutta se ei vaikuta laajennettuun suojaukseen.',
 'protect-default' => 'Salli kaikki käyttäjät',
 'protect-fallback' => 'Salli vain käyttäjät, joilla on oikeus $1',
-'protect-level-autoconfirmed' => 'Estä uudet ja kirjautumattomat käyttäjät',
+'protect-level-autoconfirmed' => 'Vain hyväksytyt käyttäjät',
 'protect-level-sysop' => 'Salli vain ylläpitäjät',
 'protect-summary-cascade' => 'laajennettu',
 'protect-expiring' => 'vanhentuu $1 (UTC)',
@@ -3911,6 +3911,7 @@ Kuvat näytetään täysikokoisina. Muut tiedostot avataan niille määritetyss
 'logentry-newusers-create2' => '$1 loi käyttäjätunnuksen $3',
 'logentry-newusers-autocreate' => 'Käyttäjätunnus $1 luotiin automaattisesti',
 'logentry-rights-rights' => '$1 muutti käyttäjän $3 oikeudet ryhmistä $4 ryhmiin $5',
+'logentry-rights-rights-legacy' => '$1 muutti käyttäjän $3 jäsenyyttä ryhmässä',
 'logentry-rights-autopromote' => '$1 ylennettiin automaattisesti ryhmistä $4 ryhmiin $5',
 'rightsnone' => '(ei oikeuksia)',
 
index dc25a1a..49cc53c 100644 (file)
@@ -529,7 +529,7 @@ $messages = array(
 'lastmodifiedat' => 'Dèrriér changement de ceta pâge lo $1 a $2.',
 'viewcount' => 'Ceta pâge est étâye vua {{PLURAL:$1|un côp|$1 côps}}.',
 'protectedpage' => 'Pâge protègiêe',
-'jumpto' => 'Alar a :',
+'jumpto' => 'Alar vers :',
 'jumptonavigation' => 'navigacion',
 'jumptosearch' => 'rechèrche',
 'view-pool-error' => 'Dèconsolâ, los sèrviors sont lapidâs d’ôvra cetos temps.
@@ -571,14 +571,14 @@ Vêde la [[Special:Version|pâge de les vèrsions]].',
 
 'ok' => 'D’acôrd',
 'retrievedfrom' => 'Rècupèrâye de « $1 »',
-'youhavenewmessages' => 'Vos avéd de $1 ($2).',
+'youhavenewmessages' => 'Vos éd de $1 ($2).',
 'newmessageslink' => 'mèssâjos novéls',
 'newmessagesdifflink' => 'dèrriér changement',
-'youhavenewmessagesfromusers' => 'Vos avéd $1 {{PLURAL:$3|d’un ôtr’utilisator|de $3 ôtros utilisators}} ($2).',
-'youhavenewmessagesmanyusers' => 'Vos avéd $1 d’un mouél d’utilisators ($2).',
+'youhavenewmessagesfromusers' => 'Vos éd $1 {{PLURAL:$3|d’un ôtr’utilisator|de $3 ôtros utilisators}} ($2).',
+'youhavenewmessagesmanyusers' => 'Vos éd $1 d’un mouél d’utilisators ($2).',
 'newmessageslinkplural' => '{{PLURAL:$1|un mèssâjo novél|de mèssâjos novéls}}',
 'newmessagesdifflinkplural' => '{{PLURAL:$1|dèrriér changement|dèrriérs changements}}',
-'youhavenewmessagesmulti' => 'Vos avéd de mèssâjos novéls sur $1',
+'youhavenewmessagesmulti' => 'Vos éd de mèssâjos novéls sur $1',
 'editsection' => 'changiér',
 'editold' => 'changiér',
 'viewsourceold' => 'vêre lo tèxto sôrsa',
@@ -651,7 +651,7 @@ L’administrator que l’at vèrrolyê at balyê cet’èxplicacion : $1',
 En g·ènèral cen arreve en siuvent un lim d’una dif d’un historico dèpassâ(ye) de vers na pâge qu’est étâye suprimâye.
 
 S’o est pas lo câs, pôt étre quèstion d’una cofierie dedens la programeria.
-La volyéd signalar a un [[Special:ListUsers/sysop|administrator]] sen oubliar de lui endicar l’URL du lim.',
+Se vos plét, signalâd-la a un [[Special:ListUsers/sysop|administrator]] sen oubliar de lui endicar l’URL du lim.',
 'missingarticle-rev' => '(numerô de vèrsion : $1)',
 'missingarticle-diff' => '(dif : $1, $2)',
 'readonly_lag' => 'La bâsa de donâs est étâye vèrrolyêe ôtomaticament pendent que los sèrviors secondèros ratrapont lor retârd sur lo sèrvior principâl.',
@@ -687,21 +687,21 @@ Demanda : $2',
 'viewsource-title' => 'Vêre lo tèxto sôrsa de $1',
 'actionthrottled' => 'Accion limitâye',
 'actionthrottledtext' => 'Por combatre lo spame, l’usâjo de cel’accion est limitâ a doux-três côps dens un moment prod côrt. S’acomplét que vos éd dèpassâ ceta limita.
-Volyéd tornar èprovar dens un tôrn.',
+Se vos plét, tornâd èprovar dens un tôrn.',
 'protectedpagetext' => 'Ceta pâge est étâye protègiêe por empachiér son changement ou ben d’ôtres accions.',
 'viewsourcetext' => 'Vos pouede vêre et pués copiyér lo tèxto sôrsa de ceta pâge :',
 'viewyourtext' => "Vos pouede vêre et pués copiyér lo tèxto sôrsa de '''voutros changements''' a ceta pâge :",
 'protectedinterface' => 'Cela pâge-que balye de tèxto d’entèrface por la programeria sur ceti vouiqui, et el est vêr protègiêe por èvitar los abus.
-Por apondre ou ben changiér des traduccions sur tôs los vouiquis, volyéd empleyér [//translatewiki.net/ translatewiki.net], lo projèt de localisacion de MediaWiki.',
+Por apondre ou ben changiér des traduccions sur tôs los vouiquis, se vos plét empleyéd [//translatewiki.net/ translatewiki.net], lo projèt de localisacion de MediaWiki.',
 'editinginterface' => "'''Atencion :''' vos éte aprés changiér na pâge empleyêe por fâre lo tèxto d’entèrface de la programeria.
 Los changements sè cognetront sur l’aparence de l’entèrface utilisator por los ôtros utilisators de ceti vouiqui.
-Por apondre ou ben changiér des traduccions sur tôs los vouiquis, volyéd empleyér [//translatewiki.net/ translatewiki.net], lo projèt de localisacion de MediaWiki.",
+Por apondre ou ben changiér des traduccions sur tôs los vouiquis, se vos plét empleyéd [//translatewiki.net/ translatewiki.net], lo projèt de localisacion de MediaWiki.",
 'sqlhidden' => '(Demanda SQL cachiêe)',
 'cascadeprotected' => 'Cela pâge-que est protègiêe, el est entrebetâye dedens {{PLURAL:$1|ceta pâge qu’est étâye protègiêe|cetes pâges que sont étâyes protègiêes}} avouéc lo chouèx « protèccion en cascâda » activâ :
 $2',
-'namespaceprotected' => "Vos avéd pas la pèrmission de changiér les pâges de l’èspâço de noms « '''$1''' ».",
-'customcssprotected' => 'Vos avéd pas la pèrmission de changiér cela pâge CSS, contint la configuracion a sè d’un ôtr’utilisator.',
-'customjsprotected' => 'Vos avéd pas la pèrmission de changiér cela pâge JavaScript, contint la configuracion a sè d’un ôtr’utilisator.',
+'namespaceprotected' => "Vos éd pas la pèrmission de changiér les pâges de l’èspâço de noms « '''$1''' ».",
+'customcssprotected' => 'Vos éd pas la pèrmission de changiér cela pâge CSS, contint la configuracion a sè d’un ôtr’utilisator.',
+'customjsprotected' => 'Vos éd pas la pèrmission de changiér cela pâge JavaScript, contint la configuracion a sè d’un ôtr’utilisator.',
 'ns-specialprotected' => 'Les pâges spèciâles pôvont pas étre changiêes.',
 'titleprotected' => "Cél titro est étâ protègiê a la crèacion per [[User:$1|$1]].
 La rêson balyêe est « ''$2'' ».",
@@ -742,24 +742,24 @@ Oubliâd pas de changiér voutres [[Special:Preferences|prèferences dessus {{SI
 'logout' => 'Sè dèbranchiér',
 'userlogout' => 'Dèbranchement',
 'notloggedin' => 'Pas branchiê',
-'nologin' => "Vos avéd p’oncor un compto ? '''$1.'''",
+'nologin' => "Vos éd p’oncor un compto ? '''$1.'''",
 'nologinlink' => 'Féte un compto',
 'createaccount' => 'Fâre un compto',
-'gotaccount' => "Vos avéd ja un compto ? '''$1.'''",
+'gotaccount' => "Vos éd ja un compto ? '''$1.'''",
 'gotaccountlink' => 'Branchiéd-vos',
 'userlogin-resetlink' => 'Vos éd oubliâ voutros dètalys de branchement ?',
 'createaccountmail' => 'Empleyér un contresegno temporèro fêt per hasârd et pués lo mandar a l’adrèce èlèctronica spècifiâye ce-desot',
 'createaccountreason' => 'Rêson :',
 'badretype' => 'Los contresegnos que vos éd buchiês sont pas pariérs.',
 'userexists' => 'Lo nom d’utilisator buchiê est ja empleyê.
-Nen volyéd chouèsir un ôtro.',
+Se vos plét, chouèsésséd-nen un ôtro.',
 'loginerror' => 'Fôta de branchement',
 'createaccounterror' => 'Empossiblo de fâre lo compto : $1',
 'nocookiesnew' => "Lo compto utilisator est étâ fêt, mas vos éte pas branchiê{{GENDER:||e|(e)}}.
 {{SITENAME}} emplèye des tèmouens (''cookies'') por lo branchement mas vos los éd dèsactivâs.
-Los volyéd activar et pués vos tornar branchiér avouéc lo mémo nom et lo mémo contresegno.",
+Se vos plét, activâd-los et pués tornâd-vos branchiér avouéc lo mémo nom et lo mémo contresegno.",
 'nocookieslogin' => "{{SITENAME}} emplèye des tèmouens (''cookies'') por lo branchement mas vos los éd dèsactivâs.
-Los volyéd activar et pués tornar èprovar.",
+Se vos plét, activâd-los et pués tornâd èprovar.",
 'nocookiesfornew' => "Lo compto utilisator est pas étâ fêt, nos ens pas possu confirmar la sina sôrsa.
 Controlâd que vos éd activâ los tèmouens (''cookies''), rechargiéd la pâge et pués tornâd èprovar.",
 'noname' => 'Vos éd pas spècifiâ un nom d’utilisator justo.',
@@ -769,13 +769,13 @@ Controlâd que vos éd activâ los tèmouens (''cookies''), rechargiéd la pâge
 Los noms d’utilisator sont sensiblos a la câssa.
 Controlâd l’ortografia ou ben [[Special:UserLogin/signup|féte un compto novél]].',
 'nosuchusershort' => 'Y at pas un utilisator avouéc lo nom « $1 ».
-Volyéd controlar l’ortografia.',
+Se vos plét, controlâd l’ortografia.',
 'nouserspecified' => 'Vos dête spècifiar un nom d’utilisator.',
 'login-userblocked' => 'Cet’utilisator est blocâ. Branchement pas ôtorisâ.',
 'wrongpassword' => 'Lo contresegno buchiê est fôx.
-Volyéd tornar èprovar.',
+Se vos plét, tornâd èprovar.',
 'wrongpasswordempty' => 'Vos éd pas buchiê de contresegno.
-Volyéd tornar èprovar.',
+Se vos plét, tornâd èprovar.',
 'passwordtooshort' => 'Voutron contresegno dêt contegnir por lo muens $1 caractèro{{PLURAL:$1||s}}.',
 'password-name-match' => 'Voutron contresegno dêt étre difèrent de voutron nom d’utilisator.',
 'password-login-forbidden' => 'L’usâjo de cél nom d’utilisator et de cél contresegno est étâ dèfendu.',
@@ -793,7 +793,7 @@ pouede ignorar ceti mèssâjo et continuar a empleyér voutron viely contresegno
 'noemail' => 'Nion’adrèce èlèctronica est étâye encartâye por l’utilisator « $1 ».',
 'noemailcreate' => 'Vos dête balyér n’adrèce èlèctronica justa',
 'passwordsent' => 'Un contresegno novél est étâ mandâ a l’adrèce èlèctronica de l’utilisator « $1 ».
-Vos volyéd tornar branchiér aprés l’avêr reçu.',
+Se vos plét, tornâd-vos branchiér aprés l’avêr reçu.',
 'blocked-mailpassword' => 'Voutron adrèce IP est blocâye en ècritura, la fonccion de sovegnence du contresegno est vêr dèsactivâye por èvitar los abus.',
 'eauthentsent' => 'Un mèssâjo de confirmacion est étâ mandâ a l’adrèce èlèctronica endicâye.
 Devant qu’un ôtro mèssâjo seye mandâ a ceti compto, vos devréd siuvre les enstruccions du mèssâjo et pués confirmar que lo compto est franc lo voutro.',
@@ -808,7 +808,7 @@ Nion mèssâjo serat mandâ por châcuna de cetes fonccionalitâts.',
 'noemailprefs' => 'Spècifiâd n’adrèce èlèctronica dens voutres prèferences por empleyér cetes fonccionalitâts.',
 'emailconfirmlink' => 'Confirmâd voutron adrèce èlèctronica',
 'invalidemailaddress' => 'Cet’adrèce èlèctronica pôt pas étre accèptâye, semble avêr un format pas justo.
-Volyéd buchiér n’adrèce bien formatâye ou ben lèssiér cél champ vouedo.',
+Se vos plét, buchiéd n’adrèce bien formatâye ou ben lèssiéd cél champ vouedo.',
 'cannotchangeemail' => 'Les adrèces èlèctroniques des comptos pôvont pas étre changiêes sur ceti vouiqui.',
 'emaildisabled' => 'Ceti seto pôt pas mandar des mèssâjos.',
 'accountcreated' => 'Compto fêt',
@@ -820,7 +820,7 @@ Vos vos devriâd branchiér et pués changiér dês ora voutron contresegno.
 Ignorâd ceti mèssâjo se cél compto est étâ fêt per fôta.',
 'usernamehasherror' => 'Lo nom d’utilisator pôt pas contegnir des caractèros de chaplâjo',
 'login-throttled' => 'Dês pou vos éd èprovâ un mouél de branchements.
-Volyéd atendre devant que tornar èprovar.',
+Se vos plét, atende devant que tornar èprovar.',
 'login-abort-generic' => 'Voutra tentativa de branchement at pas reussi - Anulâye',
 'loginlanguagelabel' => 'Lengoua : $1',
 'suspicious-userlogout' => 'Voutra demanda de dèbranchement est étâye refusâye, semble qu’el est étâye mandâye per un navigator câsso ou ben la misa en cacho d’un proxi.',
@@ -935,7 +935,7 @@ Voutron adrèce IP serat encartâye dedens l’historico des changements de ceta
 'anonpreviewwarning' => "''Vos éte pas branchiê(e). Sôvar encarterat voutron adrèce IP dedens l’historico des changements de ceta pâge.''",
 'missingsummary' => "'''Sovegnence :''' vos éd balyê gins de rèsumâ de changement.
 Se vos tornâd clicar sur lo boton « {{int:savearticle}} », voutron changement serat encartâ sen rèsumâ.",
-'missingcommenttext' => 'Volyéd buchiér un comentèro ce-desot.',
+'missingcommenttext' => 'Se vos plét, buchiéd un comentèro ce-desot.',
 'missingcommentheader' => "'''Sovegnence :''' vos éd balyê gins de chousa / titro a ceti comentèro.
 Se vos tornâd clicar sur lo boton « {{int:savearticle}} », voutron changement serat encartâ sen chousa / titro.",
 'summary-preview' => 'Apèrçu du rèsumâ :',
@@ -953,7 +953,7 @@ La rêson balyêe est ''$2''.
 Vos vos pouede veriér vers $1 ou ben un ôtr’[[{{MediaWiki:Grouppage-sysop}}|administrator]] por nen discutar.
 Vos pouede pas empleyér la fonccionalitât « Lui mandar un mèssâjo » a muens qu’un’adrèce èlèctronica justa est spècifiâye dens voutres [[Special:Preferences|prèferences]] et que vos éte pas étâ blocâ de l’empleyér.
 Voutron adrèce IP d’ora est $3, et l’identifient de blocâjo est $5.
-Volyéd entrebetar tôs los dètalys ce-dessus dedens na sé-quinta demanda que vos faréd.",
+Se vos plét, entrebetâd tôs los dètalys ce-dessus dedens na sé-quinta demanda que vos faréd.",
 'autoblockedtext' => "Voutron adrèce IP est étâye blocâye ôtomaticament, el est étâye empleyêe per un ôtr’utilisator, lui-mémo blocâ per $1.
 La rêson balyêe est :
 
@@ -965,14 +965,14 @@ La rêson balyêe est :
 
 Vos vos pouede veriér vers $1 ou ben yon des ôtros [[{{MediaWiki:Grouppage-sysop}}|administrators]] por nen discutar.
 
-Notâd que vos porréd pas empleyér la fonccionalitât « Lui mandar un mèssâjo » a muens que vos avéd n’adrèce èlèctronica justa encartâye dens voutres [[Special:Preferences|prèferences]] et que vos éte pas étâ blocâ de l’empleyér.
+Notâd que vos porréd pas empleyér la fonccionalitât « Lui mandar un mèssâjo » a muens que vos éd n’adrèce èlèctronica justa encartâye dens voutres [[Special:Preferences|prèferences]] et que vos éte pas étâ blocâ de l’empleyér.
 
 Voutron adrèce IP d’ora est $3, et l’identifient de blocâjo est $5.
-Volyéd entrebetar tôs los dètalys ce-dessus dedens na sé-quinta demanda que vos faréd.",
+Se vos plét, entrebetâd tôs los dètalys ce-dessus dedens na sé-quinta demanda que vos faréd.",
 'blockednoreason' => 'niona rêson balyêe',
 'whitelistedittext' => 'Vos vos dête $1 por povêr changiér les pâges.',
 'confirmedittext' => 'Vos dête confirmar voutron adrèce èlèctronica devant que changiér les pâges.
-Volyéd buchiér et pués validar voutron adrèce èlèctronica dens voutres [[Special:Preferences|prèferences]].',
+Se vos plét, buchiéd et pués validâd voutron adrèce èlèctronica dens voutres [[Special:Preferences|prèferences]].',
 'nosuchsectiontitle' => 'Empossiblo de trovar la sèccion',
 'nosuchsectiontext' => 'Vos éd tâchiê de changiér na sèccion qu’ègziste pas.
 Pôt-étre el est étâye dèplaciêe ou ben ôtâye dês que vos éd liesu cela pâge.',
@@ -990,19 +990,19 @@ Se vos éte arrevâ{{GENDER:||ye|(ye)}} ice per fôta, clicâd sur lo boton '''D
 'anontalkpagetext' => "----''O est la pâge de discussion d’un utilisator anonimo qu’at p’oncor fêt un compto ou ben que nen emplèye pas.
 Por cen nos devens empleyér la sin’adrèce IP numerica por l’identifiar.
 N’adrèce IP pôt étre partagiêe per un mouél d’utilisators.
-Se vos éte {{GENDER:|un utilisator|n’utilisatrice|un utilisator}} anonim{{GENDER:|o|a|o}} et pués se vos constatâd que des comentèros que vos regârdont pas vos sont étâs adrèciês, volyéd [[Special:UserLogin/signup|fâre un compto]] ou ben [[Special:UserLogin|vos branchiér]] por èvitar tota confusion a vegnir avouéc d’ôtros utilisators anonimos.''",
+Se vos éte {{GENDER:|un utilisator|n’utilisatrice|un utilisator}} anonim{{GENDER:|o|a|o}} et pués se vos constatâd que des comentèros que vos regârdont pas vos sont étâs adrèciês, se vos plét [[Special:UserLogin/signup|féte un compto]] ou ben [[Special:UserLogin|branchiéd-vos]] por èvitar tota confusion a vegnir avouéc d’ôtros utilisators anonimos.''",
 'noarticletext' => 'Ora y at gins de tèxto dedens cela pâge.
 Vos pouede [[Special:Search/{{PAGENAME}}|fâre na rechèrche sur cél titro]] dedens les ôtres pâges,
 <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} rechèrchiér dedens los jornals liyês]
 ou ben [{{fullurl:{{FULLPAGENAME}}|action=edit}} fâre cela pâge]</span>.',
 'noarticletext-nopermission' => 'Ora y at gins de tèxto dedens cela pâge.
-Vos pouede [[Special:Search/{{PAGENAME}}|fâre na rechèrche sur cél titro]] dedens les ôtres pâges ou ben <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} rechèrchiér dedens los jornals liyês]</span>, mas vos avéd pas la pèrmission de fâre cela pâge.',
+Vos pouede [[Special:Search/{{PAGENAME}}|fâre na rechèrche sur cél titro]] dedens les ôtres pâges ou ben <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} rechèrchiér dedens los jornals liyês]</span>, mas vos éd pas la pèrmission de fâre cela pâge.',
 'missing-revision' => 'La vèrsion numerô $1 de la pâge apelâye « {{PAGENAME}} » ègziste pas.
 
 En g·ènèral cen arreve en siuvent un lim d’un historico dèpassâ de vers na pâge qu’est étâye suprimâye.
 Vos pouede trovar més de dètalys dedens lo [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} jornal de les suprèssions].',
 'userpage-userdoesnotexist' => 'Lo compto utilisator « $1 » est pas encartâ.
-Volyéd controlar que vos voléd fâre ou ben changiér cela pâge.',
+Se vos plét, controlâd que vos voléd fâre / changiér cela pâge.',
 'userpage-userdoesnotexist-view' => 'Lo compto utilisator « $1 » est pas encartâ.',
 'blocked-notice-logextract' => '{{GENDER:$1|Cél utilisator|Cel’utilisatrice|Cél utilisator}} est ora blocâ{{GENDER:$1||ye|}}.
 La dèrriére entrâ du jornal des blocâjos est disponibla ce-desot :',
@@ -1027,17 +1027,17 @@ Rapelâd-vos que les pâges a sè avouéc èxtensions .css et .js emplèyont des
 'note' => "'''Nota :'''",
 'previewnote' => "'''Rapelâd-vos qu’o est ren qu’un apèrçu.'''
 Voutros changements sont p’oncor étâs encartâs !",
-'continue-editing' => 'Alar a la zona de changement',
+'continue-editing' => 'Alar vers la zona de changement',
 'previewconflict' => 'Cet’apèrçu fât vêre lo tèxto de la zona de changement de d’amont coment aparêtrat se vos chouèsésséd de l’encartar.',
 'session_fail_preview' => "'''Dèconsolâ ! Nos povens pas encartar voutron changement a côsa d’una pèrta d’enformacions sur voutra sèance.'''
-Volyéd tornar èprovar.
-Se cen tôrne pas reussir, vos volyéd [[Special:UserLogout|dèbranchiér]] et pués vos tornar branchiér.",
+Se vos plét, tornâd èprovar.
+Se cen tôrne pas reussir, [[Special:UserLogout|dèbranchiéd-vos]] et pués tornâd-vos branchiér.",
 'session_fail_preview_html' => "'''Dèconsolâ ! Nos povens pas encartar voutron changement a côsa d’una pèrta d’enformacions sur voutra sèance.'''
 
 ''Perce que {{SITENAME}} at activâ l’HTML bruto, l’apèrçu est étâ cachiê por prèvegnir les ataques per JavaScript.''
 
-'''Se la tentativa de changement ére lèg·itima, volyéd tornar èprovar.'''
-Se cen tôrne pas reussir, vos volyéd [[Special:UserLogout|dèbranchiér]] et pués vos tornar branchiér.",
+'''Se la tentativa de changement ére lèg·itima, se vos plét tornâd èprovar.'''
+Se cen tôrne pas reussir, [[Special:UserLogout|dèbranchiéd-vos]] et pués tornâd-vos branchiér.",
 'token_suffix_mismatch' => "'''Voutron changement est pas étâ accèptâ, voutron cliant at mècllâ los caractèros de ponctuacion dedens lo jeton de changement.'''
 Lo changement est étâ refusâ por empachiér la corrupcion du tèxto de la pâge.
 Des côps ceti problèmo arreve quand vos empleyéd un sèrviço de proxi Vouèbe anonimo qu’est pas de sûr.",
@@ -1059,12 +1059,12 @@ Na solucion de rechanjo est étâye trovâye por vos pèrmetre de changiér en t
 'editingold' => "'''Atencion : vos éte aprés changiér na vèrsion dèpassâye de cela pâge.'''
 Se vos l’encartâd, tôs los changements fêts dês ceta vèrsion seront pèrdus.",
 'yourdiff' => 'Difèrences',
-'copyrightwarning' => "Volyéd notar que totes les contribucions a {{SITENAME}} sont considèrâyes coment publeyêes desot los tèrmos de la $2 (vêde $1 por més de dètalys).
-Se vos voléd pas que voutros ècrits seyont changiês sen pouent de rèstriccion et pués rebalyês a volontât, adonc los volyéd pas mandar ique.<br />
+'copyrightwarning' => "Se vos plét, notâd que totes les contribucions a {{SITENAME}} sont considèrâyes coment publeyêes desot los tèrmos de la $2 (vêde $1 por més de dètalys).
+Se vos voléd pas que voutros ècrits seyont changiês sen pouent de rèstriccion et pués rebalyês a volontât, adonc mandâd-los pas ique.<br />
 Vos nos assurâd asse-ben que vos éd cen ècrit vos-mémo ou ben que vos l’éd copiyê d’una sôrsa que vint du domêno publico ou d’un’ôtra ressôrsa libra.
 '''Empleyéd gins d’ôvra desot drêt d’ôtor sen pèrmission èxprèssa !'''",
-'copyrightwarning2' => "Volyéd notar que totes les contribucions a {{SITENAME}} pôvont étre changiêes ou ben enlevâyes per d’ôtros contributors.
-Se vos voléd pas que voutros ècrits seyont changiês sen pouent de rèstriccion, adonc los volyéd pas mandar ique.<br />
+'copyrightwarning2' => "Se vos plét, notâd que totes les contribucions a {{SITENAME}} pôvont étre changiêes ou ben enlevâyes per d’ôtros contributors.
+Se vos voléd pas que voutros ècrits seyont changiês sen pouent de rèstriccion, adonc mandâd-los pas ique.<br />
 Vos nos assurâd asse-ben que vos éd cen ècrit vos-mémo ou ben que vos l’éd copiyê d’una sôrsa que vint du domêno publico ou d’un’ôtra ressôrsa libra (vêde $1 por més de dètalys).
 '''Empleyéd gins d’ôvra desot drêt d’ôtor sen pèrmission èxprèssa !'''",
 'longpageerror' => "'''Fôta : lo tèxto que vos éd mandâ fât {{PLURAL:$1|un Kio|$1 Kio}}, cen que dèpâsse la limita fixâye a {{PLURAL:$2|un Kio|$2 Kio}}.'''
@@ -1089,12 +1089,12 @@ Por refèrence, la dèrriére entrâ du jornal est balyêe ce-desot :",
 'edittools' => '<!-- Tot tèxto buchiê ique serat montrâ desot les bouètes d’èdicion ou ben los formulèros de tèlèchargement de fichiér. -->',
 'nocreatetext' => '{{SITENAME}} at rètrent la possibilitât de fâre de pâges novèles.
 Vos pouede tornar arriér et pués changiér na pâge ègzistenta ou ben [[Special:UserLogin|vos branchiér ou fâre un compto]].',
-'nocreate-loggedin' => 'Vos avéd pas la pèrmission de fâre de pâges novèles.',
+'nocreate-loggedin' => 'Vos éd pas la pèrmission de fâre de pâges novèles.',
 'sectioneditnotsupported-title' => 'Changement de sèccion pas recognu',
 'sectioneditnotsupported-text' => 'Lo changement d’una sèccion est pas recognu dens cela pâge.',
 'permissionserrors' => 'Fôta de pèrmissions',
-'permissionserrorstext' => 'Vos avéd pas la pèrmission de fâre l’accion demandâye por {{PLURAL:$1|ceta rêson|cetes rêsons}} :',
-'permissionserrorstext-withaction' => 'Vos avéd pas la pèrmission de $2 por {{PLURAL:$1|ceta rêson|cetes rêsons}} :',
+'permissionserrorstext' => 'Vos éd pas la pèrmission de fâre l’accion demandâye por {{PLURAL:$1|ceta rêson|cetes rêsons}} :',
+'permissionserrorstext-withaction' => 'Vos éd pas la pèrmission de $2 por {{PLURAL:$1|ceta rêson|cetes rêsons}} :',
 'recreate-moveddeleted-warn' => "'''Atencion : vos éte aprés refâre na pâge qu’est étâye suprimâye dês devant.'''
 
 Demandâd-vos se fôt franc continuar son changement.
@@ -1145,7 +1145,7 @@ Celos arguments sont pas étâs betâs.",
 
 # "Undo" feature
 'undo-success' => 'Lo changement pôt étre dèfêt.
-Volyéd controlar la comparèson ce-desot por vos assurar qu’o est franc cen que vos voléd fâre et pués encartar los changements ce-desot por chavonar la sina dèfêta.',
+Se vos plét, controlâd la comparèson ce-desot por vos assurar qu’o est franc cen que vos voléd fâre et pués encartâd los changements ce-desot por chavonar la sina dèfêta.',
 'undo-failure' => 'Lo changement at pas possu étre dèfêt a côsa d’un conflit avouéc des changements entèrmèdièros.',
 'undo-norev' => 'Lo changement at pas possu étre dèfêt perce qu’il est pas ègzistent ou ben qu’il est étâ suprimâ.',
 'undo-summary' => 'Dèfêta du changement $1 de [[Special:Contributions/$2|$2]] ([[User talk:$2|discutar]])',
@@ -1235,7 +1235,7 @@ fonccion, la vèrsion spècifiâye ègziste pas ou ben vos tâchiéd de cachiér
 'logdelete-selected' => "'''{{PLURAL:$1|Èvènement du jornal chouèsi|Èvènements du jornal chouèsis}} :'''",
 'revdelete-text' => "'''Les vèrsions et los èvènements suprimâ(ye)s aparètront adés dedens l’historico de la pâge et pués dedens los jornals, mas quârques parties de lor contegnu seront inaccèssibles u publico.'''
 Los ôtros administrators de {{SITENAME}} porront tojorn arrevar u contegnu cachiê et lo refâre per cela mém’entèrface, a muens que des rèstriccions de ples seyont pas dèfenies.",
-'revdelete-confirm' => 'Volyéd confirmar qu’o est franc cen que vos voléd fâre, que vos en compregnéd les consèquences et pués que vos o féte en acôrd avouéc les [[{{MediaWiki:Policy-url}}|règlles de dedens]].',
+'revdelete-confirm' => 'Se vos plét, confirmâd qu’o est franc cen que vos voléd fâre, que vos en compregnéd les consèquences et pués que vos o féte en acôrd avouéc les [[{{MediaWiki:Policy-url}}|règlles de dedens]].',
 'revdelete-suppress-text' => "La rèprèssion dêt étre empleyêe '''ren que''' dens cetos câs :
 * Enformacions que pôvont étre difamatouères
 * Enformacions a sè que vont pas avouéc
@@ -1268,13 +1268,13 @@ $1",
 'revdelete-hide-current' => 'Fôta en cachient la piéce datâye du $1 a $2 : o est la vèrsion d’ora.
 Pôt pas étre cachiêe.',
 'revdelete-show-no-access' => 'Fôta en montrent la piéce datâye du $1 a $2 : el est marcâye coment « rètrenta ».
-Vos y avéd pas accès.',
+Vos y éd pas accès.',
 'revdelete-modify-no-access' => 'Fôta en changient la piéce datâye du $1 a $2 : el est marcâye coment « rètrenta ».
-Vos y avéd pas accès.',
+Vos y éd pas accès.',
 'revdelete-modify-missing' => 'Fôta en changient la piéce avouéc l’identifient $1 : el est manquenta dedens la bâsa de donâs !',
 'revdelete-no-change' => "'''Atencion :''' la piéce datâye du $1 a $2 at ja la configuracion de visibilitât demandâye.",
 'revdelete-concurrent-change' => 'Fôta en changient la piéce datâye du $1 a $2 : lo sin statut semble étre étâ changiê per un ôtro justo que vos tâchiêvâd d’o changiér.
-Volyéd controlar los jornals.',
+Se vos plét, controlâd los jornals.',
 'revdelete-only-restricted' => 'Fôta en cachient la piéce datâye du $1 a $2 : vos pouede pas rèprimar celes piéces de la vua ux administrators sen chouèsir avouéc des ôtros chouèx de visibilitât.',
 'revdelete-reason-dropdown' => '*Rêsons corentes de suprèssion
 ** Violacion du drêt d’ôtor
@@ -1306,7 +1306,7 @@ Notâd que l’usâjo des lims de navigacion remetrat a zérô cela colona.',
 'mergehistory-submit' => 'Fusionar les vèrsions',
 'mergehistory-empty' => 'Niona vèrsion pôt étre fusionâye.',
 'mergehistory-success' => '$3 vèrsion{{PLURAL:$3||s}} de [[:$1]] fusionâye{{PLURAL:$3||s}} avouéc reusséta dedens [[:$2]].',
-'mergehistory-fail' => 'Empossiblo de fâre la fusion des historicos, volyéd tornar chouèsir la pâge et pués los paramètros de dâta.',
+'mergehistory-fail' => 'Empossiblo de fâre la fusion des historicos, se vos plét tornâd chouèsir la pâge et pués los paramètros de dâta.',
 'mergehistory-no-source' => 'La pâge d’origina $1 ègziste pas.',
 'mergehistory-no-destination' => 'La pâge de dèstinacion $1 ègziste pas.',
 'mergehistory-invalid-source' => 'La pâge d’origina dêt avêr un titro justo.',
@@ -1344,7 +1344,7 @@ Vos pouede trovar més de dètalys dedens lo [{{fullurl:{{#Special:Log}}/delete|
 'searchresulttext' => 'Por més d’enformacions sur la rechèrche dedens {{SITENAME}}, vêde [[{{MediaWiki:Helppage}}|{{int:help}}]].',
 'searchsubtitle' => "Vos éd rechèrchiê « '''[[:$1]]''' » ([[Special:Prefixindex/$1|totes les pâges que començont per « $1 »]]{{int:pipe-separator}}[[Special:WhatLinksHere/$1|totes les pâges qu’ont un lim de vers « $1 »]])",
 'searchsubtitleinvalid' => "Vos éd rechèrchiê « '''$1''' »",
-'toomanymatches' => 'Un mouél de corrèspondances est étâ retornâ, volyéd èprovar na rechèrche difèrenta.',
+'toomanymatches' => 'Un mouél de corrèspondances est étâ retornâ, se vos plét èprovâd na rechèrche difèrenta',
 'titlematches' => 'Corrèspondances dedens los titros de les pâges',
 'notitlematches' => 'Niona corrèspondance dedens los titros de les pâges',
 'textmatches' => 'Corrèspondances dedens lo tèxto de les pâges',
@@ -1549,7 +1549,7 @@ Cel’enformacion serat publica.',
 * Na câsa pas pouentâye vôt dére que s’y trôve pas.
 * Na petiôt’ètêla (*) endique que vos pouede pas enlevar cela tropa setout que vos l’éd apondua ou ben l’una l’ôtra.',
 'userrights-reason' => 'Rêson :',
-'userrights-no-interwiki' => 'Vos avéd pas la pèrmission de changiér des drêts d’utilisator dessus d’ôtros vouiquis.',
+'userrights-no-interwiki' => 'Vos éd pas la pèrmission de changiér des drêts d’utilisator dessus d’ôtros vouiquis.',
 'userrights-nodatabase' => 'La bâsa de donâs « $1 » ègziste pas ou ben el est pas locala.',
 'userrights-nologin' => 'Vos vos dête [[Special:UserLogin|branchiér]] avouéc un compto d’administrator por balyér des drêts d’utilisator.',
 'userrights-notallowed' => 'Voutron compto at pas la pèrmission de balyér ou ben enlevar des drêts d’utilisator.',
@@ -1771,74 +1771,73 @@ Vêde la [[Special:NewFiles|galerie des novéls fichiérs]] por un apèrçu ples
 'ignorewarning' => 'Ignorar l’avèrtissement et pués encartar lo fichiér dens tôs los câs',
 'ignorewarnings' => 'Ignorar tôs los avèrtissements',
 'minlength1' => 'Los noms de fichiérs dêvont contegnir por lo muens na lètra.',
-'illegalfilename' => 'Lo nom de fichiér « $1 » contint des caractèros dèfendus dens los titros de pâges.
-Lo volyéd renomar et pués lo tornar tèlèchargiér.',
-'filename-toolong' => 'Lo nom du fichiér pôt pas dèpassar 240 octèts.',
-'badfilename' => 'Lo fichiér at étâ renomâ en « $1 ».',
+'illegalfilename' => 'Lo nom de fichiér « $1 » contint des caractèros dèfendus dedens los titros de pâges.
+Se vos plét, renomâd-lo et pués tornâd-lo tèlèchargiér.',
+'filename-toolong' => 'Los noms de fichiérs pôvont pas dèpassar 240 octèts.',
+'badfilename' => 'Lo nom du fichiér est étâ changiê en « $1 ».',
 'filetype-mime-mismatch' => 'L’èxtension du fichiér « .$1 » corrèspond pas u tipo MIME dècelâ du fichiér ($2).',
 'filetype-badmime' => 'Los fichiérs du tipo MIME « $1 » pôvont pas étre tèlèchargiês.',
-'filetype-bad-ie-mime' => 'Lo fichiér pôt pas étre tèlèchargiê perce que serêt dècelâ coment « $1 » per Internet Explorer, cen que corrèspond a un tipo de fichiér dèfendu perce que pôt-étre dangerox.',
-'filetype-unwanted-type' => "'''« .$1 »''' est un format de fichiér pas dèsirâ.
-{{PLURAL:$3|Lo tipo de fichiérs recomandâ est|Los tipos de fichiérs recomandâs sont}} $2.",
-'filetype-banned-type' => "'''« .$1 »''' {{PLURAL:$4|est pas un tipo de fichiérs ôtorisâ|sont pas des tipos de fichiérs ôtorisâs}}.
-{{PLURAL:$3|Lo tipo de fichiérs accèptâ est|Los tipos de fichiérs accèptâs sont}} $2.",
+'filetype-bad-ie-mime' => 'Lo fichiér pôt pas étre tèlèchargiê perce que serêt dècelâ coment « $1 » per Internet Explorer, cen que corrèspond a un tipo de fichiér dèfendu et pués pôt-étre dangerox.',
+'filetype-unwanted-type' => "'''« .$1 »''' est un tipo de fichiér pas volu.
+{{PLURAL:$3|Lo tipo de fichiér prèferâ est|Los tipos de fichiérs prèferâs sont}} $2.",
+'filetype-banned-type' => "'''« .$1 »''' {{PLURAL:$4|est pas un tipo de fichiér ôtorisâ|sont pas des tipos de fichiérs ôtorisâs}}.
+{{PLURAL:$3|Lo tipo de fichiér ôtorisâ est|Los tipos de fichiérs ôtorisâs sont}} $2.",
 'filetype-missing' => 'Lo fichiér at gins d’èxtension (coment « .jpg » per ègzemplo).',
-'empty-file' => 'Lo fichiér que vos éd somês ére vouedo.',
-'file-too-large' => 'Lo fichiér que vos éd somês ére trop grant.',
+'empty-file' => 'Lo fichiér que vos éd mandâ ére vouedo.',
+'file-too-large' => 'Lo fichiér que vos éd mandâ ére trop grôs.',
 'filename-tooshort' => 'Lo nom du fichiér est trop côrt.',
 'filetype-banned' => 'Cél tipo de fichiér est dèfendu.',
 'verification-error' => 'Cél fichiér pâsse pas lo contrôlo des fichiérs.',
-'hookaborted' => 'Lo changement que vos éd tâchiê de fâre at étâ arrètâ per un grèfon d’una èxtension.',
+'hookaborted' => 'Lo changement que vos éd tâchiê de fâre est étâ anulâ per n’èxtension.',
 'illegal-filename' => 'Lo nom du fichiér est pas ôtorisâ.',
 'overwrite' => 'Ècllafar un fichiér ègzistent est pas ôtorisâ.',
-'unknown-error' => 'Una èrror encognua est arrevâ.',
+'unknown-error' => 'Na fôta encognua est arrevâ.',
 'tmp-create-error' => 'Empossiblo de fâre lo fichiér temporèro.',
-'tmp-write-error' => 'Èrror d’ècritura du fichiér temporèro.',
-'large-file' => 'Los fichiérs tèlèchargiês devriant pas étre ples grant que $1 ;
+'tmp-write-error' => 'Fôta d’ècritura du fichiér temporèro.',
+'large-file' => 'O est recomandâ que los fichiérs seyont pas ples grôs que $1 ;
 cél fichiér fât $2.',
-'largefileserver' => 'La talye de cél fichiér est d’amont lo nivél lo ples hôt ôtorisâ.',
-'emptyfile' => 'Lo fichiér que vos voléd tèlèchargiér semble vouedo.
-Cen pôt étre diu a una èrror dedens lo nom du fichiér.
-Volyéd controlar que vos voléd franc tèlèchargiér cél fichiér.',
+'largefileserver' => 'Cél fichiér est ples grôs que lo sèrvior est configurâ por l’ôtorisar.',
+'emptyfile' => 'Lo fichiér que vos éd tèlèchargiê semble étre vouedo.
+Cen pôt étre diu a na fôta dedens lo nom du fichiér.
+Se vos plét, controlâd que vos voléd franc tèlèchargiér cél fichiér.',
 'windows-nonascii-filename' => 'Ceti vouiqui recognêt pas los noms de fichiérs avouéc des caractèros spèciâls.',
-'fileexists' => 'Un fichiér avouéc cél nom ègziste ja.
-Volyéd controlar <strong>[[:$1]]</strong>.
-Éte-vos de sûr de lo volêr changiér ? [[$1|thumb]]',
-'filepageexists' => 'La pâge de dèscripcion por cél fichiér at ja étâ fêta ique <strong>[[:$1]]</strong>, mas nion fichiér de cél nom ègziste ora.
+'fileexists' => 'Un fichiér avouéc cél nom ègziste ja, se vos plét controlâd <strong>[[:$1]]</strong> se vos éte pas de sûr de lo volêr changiér.
+[[$1|thumb]]',
+'filepageexists' => 'La pâge de dèscripcion por cél fichiér est ja étâye fêta ique <strong>[[:$1]]</strong>, mas nion fichiér avouéc cél nom ègziste ora.
 Lo rèsumâ que vos voléd buchiér aparêtrat pas sur la pâge de dèscripcion.
-Por cen fâre vos devréd changiér la pâge a la man.
+Por o fâre, vos la devréd changiér a la man.
 [[$1|thumb]]',
 'fileexists-extension' => 'Un fichiér avouéc un nom d’ense ègziste ja : [[$2|thumb]]
 * Nom du fichiér a tèlèchargiér : <strong>[[:$1]]</strong>
 * Nom du fichiér ègzistent : <strong>[[:$2]]</strong>
-Volyéd chouèsir un ôtro nom.',
-'fileexists-thumbnail-yes' => "Lo fichiér semble étre una émâge en talye rèduita ''(figura)''.
+Se vos plét, chouèsésséd-nen un ôtro.',
+'fileexists-thumbnail-yes' => "Lo fichiér semble étre n’émâge en talye rèduita ''(figura)''.
 [[$1|thumb]]
-Volyéd controlar lo fichiér <strong>[[:$1]]</strong>.
-Se lo fichiér controlâ est la méma émâge avouéc la talye originèla, y at pas fôta de tèlèchargiér una vèrsion rèduita.",
+Se vos plét, controlâd lo fichiér <strong>[[:$1]]</strong>.
+Se lo fichiér controlâ est la mém’émâge avouéc la talye originâla, y at pas fôta de tèlèchargiér na figura.",
 'file-thumbnail-no' => "Lo nom du fichiér comence per <strong>$1</strong>.
-O est possiblo que seye una vèrsion rèduita ''(figura)''.
-Se vos avéd lo fichiér en rèsolucion ples hôta, tèlèchargiéd-lo, ôtrament volyéd changiér son nom.",
+Semble étre n’émâge en talye rèduita ''(figura)''.
+Se vos éd cel’émâge en plêna rèsolucion, tèlèchargiéd-la, ôtrament changiéd lo sin nom, se vos plét.",
 'fileexists-forbidden' => 'Un fichiér avouéc cél nom ègziste ja et pôt pas étre ècllafâ.
-Se vos voléd adés tèlèchargiér voutron fichiér, volyéd tornar arriér et pués utilisar un novél nom.
+Se vos voléd adés tèlèchargiér voutron fichiér, se vos plét tornâd arriér et pués empleyéd un novél nom.
 [[File:$1|thumb|center|$1]]',
-'fileexists-shared-forbidden' => 'Un fichiér avouéc cél nom ègziste ja dens lo dèpôt de fichiérs partagiê.
-Se vos voléd adés tèlèchargiér voutron fichiér, volyéd tornar arriér et pués utilisar un novél nom.
+'fileexists-shared-forbidden' => 'Un fichiér avouéc cél nom ègziste ja dedens lo dèpôt de fichiérs partagiê.
+Se vos voléd adés tèlèchargiér voutron fichiér, se vos plét tornâd arriér et pués empleyéd un novél nom.
 [[File:$1|thumb|center|$1]]',
 'file-exists-duplicate' => 'Cél fichiér est un doblo {{PLURAL:$1|de ceti fichiér|de cetos fichiérs}} :',
-'file-deleted-duplicate' => 'Un fichiér pariér a ceti ([[:$1]]) at ja étâ suprimâ.
+'file-deleted-duplicate' => 'Un fichiér pariér a ceti ([[:$1]]) est ja étâ suprimâ.
 Vos devriâd controlar lo jornal de les suprèssions de cél fichiér devant que lo tornar tèlèchargiér.',
-'uploadwarning' => 'Atencion !',
-'uploadwarning-text' => 'Changiéd la dèscripcion du fichiér et pués tornâd èprovar.',
-'savefile' => 'Sôvar lo fichiér',
+'uploadwarning' => 'Avèrtissement pendent lo tèlèchargement',
+'uploadwarning-text' => 'Se vos plét, changiéd la dèscripcion du fichiér ce-desot et pués tornâd èprovar.',
+'savefile' => 'Encartar lo fichiér',
 'uploadedimage' => 'at tèlèchargiê « [[$1]] »',
-'overwroteimage' => 'at tèlèchargiê una novèla vèrsion de « [[$1]] »',
-'uploaddisabled' => 'Tèlèchargements dèsactivâs',
-'copyuploaddisabled' => 'Tèlèchargement de fichiér per URL dèsactivâ.',
-'uploadfromurl-queued' => 'Voutron tèlèchargement at étâ betâ dens la fela d’atenta.',
-'uploaddisabledtext' => 'Lo tèlèchargement de fichiérs est dèsactivâ.',
-'php-uploaddisabledtext' => 'Lo tèlèchargement de fichiérs at étâ dèsactivâ dens PHP.
-Volyéd controlar lo chouèx de configuracion « file_uploads ».',
+'overwroteimage' => 'at tèlèchargiê na novèla vèrsion de « [[$1]] »',
+'uploaddisabled' => 'Tèlèchargements dèsactivâs.',
+'copyuploaddisabled' => 'Tèlèchargement per URL dèsactivâ.',
+'uploadfromurl-queued' => 'Voutron tèlèchargement est étâ betâ dedens la renche d’atenta.',
+'uploaddisabledtext' => 'Los tèlèchargements de fichiérs sont dèsactivâs.',
+'php-uploaddisabledtext' => 'Los tèlèchargements de fichiérs sont dèsactivâs dedens PHP.
+Se vos plét, controlâd la configuracion de « file_uploads ».',
 'uploadscripted' => 'Cél fichiér contint de code HTML ou ben un scripte que porrêt étre entèrprètâ de façon fôssa per un navigator vouèbe.',
 'uploadvirus' => 'Cél fichiér contint un virus ! Por més de dètalys, vêde : $1',
 'uploadjava' => 'O est un fichiér ZIP que contint un fichiér Java .class.
index 48da258..4d0846f 100644 (file)
@@ -456,7 +456,7 @@ Ferjid det ei, an aachte üüb din [[Special:Preferences|{{SITENAME}} iinstelang
 'gotaccount' => "Dü hääst ål en brükerkonto? '''$1'''.",
 'gotaccountlink' => 'Önjmälde',
 'userlogin-resetlink' => 'Heest dü din login dooten ferjiden?',
-'createaccountmail' => 'ouer E-mail',
+'createaccountmail' => 'E-mail tu det adres oner fersjüür mä en tufelag paaswurd',
 'createaccountreason' => 'Grün:',
 'badretype' => 'Da biise pååsuurde stime ai oueriinj.',
 'userexists' => 'Dideer brükernoome as ål ferjääwen.
@@ -752,7 +752,7 @@ Wan dü heer wat iinskrafst, do beest dü diarmä iinferstenen an seekerst tu, d
 '''Auerdreeg nään frääm teksten an bilen saner ferloof!'''",
 'longpageerror' => "'''Error: Dan tekst as {{PLURAL:$1|ian kilobyte|$1 kilobytes}} lung, hi mut oober ei linger wees üs {{PLURAL:$2|ian kilobyte|$2 kilobytes}}.'''Hi koon ei ufspiikerd wurd.",
 'readonlywarning' => "'''PÅÅS AW: Jü dootenbånk wörd for unerhult spärd, sü dåt din änringe tutids ai spiikerd wårde koone.
-Wees sü gödj än sääkre di täkst lokool aw din kompjuuter än fersäk tu n lääsern tidpunkt, da änringe tu ouerdreegen.'''.
+Wees sü gödj än sääkre di täkst lokool aw din kompjuuter än fersäk tun lääsern tidpunkt, da änringe tu ouerdreegen.'''.
 
 Grün for jü späre: $1",
 'protectedpagewarning' => "'''Paase üüb: Detdiar sidj as speret wurden. Bluas administratooren kön det bewerke.'''
@@ -1229,14 +1229,14 @@ Do san jo ual iinstelangen wech.',
 'group-sysop' => 'Administratooren',
 'group-bureaucrat' => 'Bürokraaten',
 'group-suppress' => 'Oversighter',
-'group-all' => '(aaltumaal)',
+'group-all' => '(Aaltumaal)',
 
-'group-user-member' => '{{GENDER:$1|brüker}}',
-'group-autoconfirmed-member' => '{{GENDER:$1|registriaret brüker}}',
-'group-bot-member' => '{{GENDER:$1|bot}}',
-'group-sysop-member' => '{{GENDER:$1|administraator}}',
-'group-bureaucrat-member' => '{{GENDER:$1|bürokraat}}',
-'group-suppress-member' => '{{GENDER:$1|oversighter}}',
+'group-user-member' => '{{GENDER:$1|Brüker}}',
+'group-autoconfirmed-member' => '{{GENDER:$1|Registriaret brüker}}',
+'group-bot-member' => '{{GENDER:$1|Bot}}',
+'group-sysop-member' => '{{GENDER:$1|Administraator}}',
+'group-bureaucrat-member' => '{{GENDER:$1|Bürokraat}}',
+'group-suppress-member' => '{{GENDER:$1|Oversighter}}',
 
 'grouppage-user' => '{{ns:project}}:Brükern',
 'grouppage-autoconfirmed' => '{{ns:project}}:Registriaret brükern',
@@ -1452,7 +1452,7 @@ Det beskriiwang faan't [$2 beskriiwangssidj] woort oner uunwiset.",
 'emailuser' => 'E-mail tu dideere brüker',
 
 # Watchlist
-'watchlist' => 'Eefterkiikliste',
+'watchlist' => "Uun't uug behual",
 'mywatchlist' => "Uun't uug behual",
 'watchlistfor2' => 'Foon $1 $2',
 'addedwatchtext' => "Det sidj „[[:$1]]“ wel dü [[Special:Watchlist|uun't uug behual]].
index d535b48..ce0e3da 100644 (file)
@@ -168,6 +168,7 @@ $messages = array(
 'newwindow' => "(a' fosgladh ann an uinneag ùr)",
 'cancel' => 'Sguir dheth',
 'moredotdotdot' => 'Barrachd...',
+'morenotlisted' => 'Barrachd nach eil air an liosta...',
 'mypage' => 'Duilleag',
 'mytalk' => 'Deasbaireachd',
 'anontalk' => 'Conaltradh airson an IP seo',
@@ -201,6 +202,7 @@ $messages = array(
 'namespaces' => 'Namespaces',
 'variants' => 'Tionndaidhean',
 
+'navigation-heading' => 'Clàr-taice na seòladaireachd',
 'errorpagetitle' => 'Mearachd',
 'returnto' => 'Till dhan duilleag a leanas: $1',
 'tagline' => 'O {{SITENAME}}',
@@ -444,6 +446,9 @@ Thug an rianaire a ghlais e seachad an t-adhbhar a leanas: "$3".',
 'logouttext' => "'''Chaidh do logadh a-mach.'''
 'S urrainn dhut leantainn air adhart a' cleachdadh {{SITENAME}} a chleachdadh gun urra no 's urrainn dhut <span class='plainlinks'>[$1 logadh a-steach a-rithist]</span> mar an dearbh-chleachdaiche no mar chleachdaiche eile.
 Thoir an aire gum bi coltas air cuide dhe na duilleagan mar gum biodh tu air logadh a-steach gus am falamhaich thu tasgadan a' bhrabhsair agad.",
+'welcomeuser' => 'Fàilte ort, $1',
+'welcomecreation-msg' => 'Chaidh an cunntas agad a chruthachadh.
+Na dìochuimhnich na [[Special:Preferences|roghainnean agad air {{SITENAME}}]] a ghleusadh dhut fhèin.',
 'yourname' => 'Ainm-cleachdaiche:',
 'yourpassword' => 'Am facal-faire agad',
 'yourpasswordagain' => 'Ath-sgrìobh facal-faire',
@@ -466,7 +471,7 @@ Thoir an aire gum bi coltas air cuide dhe na duilleagan mar gum biodh tu air log
 'gotaccount' => 'A bheil cunntas agad mu thràth? $1.',
 'gotaccountlink' => 'Log a-steach',
 'userlogin-resetlink' => "Na dhìochuimhnich thu d' ainm is facal-faire?",
-'createaccountmail' => 'Le post-d',
+'createaccountmail' => "Cleachd facal-faire sealach air thuaiream agus cuir e dhan phost-d a tha 'ga shònrachadh gu h-ìosal",
 'createaccountreason' => 'Adhbhar:',
 'badretype' => "Chan eil an dà fhacal-faire a chuir thu a-steach a' freagairt ri chèile.",
 'userexists' => "Tha an t-ainm-cleachdaiche a chuir thu a-steach 'ga chleachdadh mu thràth.
@@ -546,6 +551,7 @@ Fuirich ort mus feuch thu ris a-rithist.",
 # E-mail sending
 'php-mail-error-unknown' => 'Mearachd neo-aithichte san fheart mail() aig PHP.',
 'user-mail-no-addy' => 'Cha do ghabh am post-d a chur leis nach robh seòladh puist-d ann.',
+'user-mail-no-body' => 'Bha bodhaig na teachdaireachd bàn no air leth goirid.',
 
 # Change password dialog
 'resetpass' => 'Atharraich am facal-faire',
@@ -604,6 +610,7 @@ Facal-faire sealach: $2',
 'changeemail-oldemail' => 'An seòladh puist-d làithreach:',
 'changeemail-newemail' => 'An seòladh puist-d ùr:',
 'changeemail-none' => '(chan eil gin)',
+'changeemail-password' => 'Am facal-faire agad air {{SITENAME}}:',
 'changeemail-submit' => 'Atharraich am post-d',
 'changeemail-cancel' => 'Sguir dheth',
 
@@ -776,7 +783,7 @@ Ma dh'fhoilleachas tu rudeigin an seo, bidh tu a' dearbhadh gun do sgrìobh thu
 '''NA CLEACHDAIBH SAOTHAIR FO DHLIGHE-SGRÌOBHAIDH GUN CHEAD!'''",
 'longpageerror' => "'''Mearachd: Tha an teacsa a chur thu thugainn {{PLURAL:$1 kilobyte|$1 kilobyte|$1 kilobyte|$1 kilobyte|$1 kilobyte|$1 kilobyte|}} a dh'fhaid is tha sin nas fhaide na tha ceadaichte ({{PLURAL:$1 kilobyte|$2 kilobyte|$2 kilobyte|$2 kilobyte|$2 kilobyte|$2 kilobyte|}}).'''
 Cha ghabh a shàbhaladh.",
-'readonlywarning' => "'''Rabhadh: Chaidh an stòr-dàta a ghlasadh a chum obair-ghlèidhidh agus chan urrainn dhut na còraichean-deasachaidh agad a chur gu feum an-dràsta fhèin.'''
+'readonlywarning' => "'''Rabhadh: Chaidh an stòr-dàta a ghlasadh a chum obair-ghlèidhidh agus chan urrainn dhut na dheasaich thu a shàbhaladh an-dràsta fhèin.'''
 'S mathaid gum b' fheairrde dhut lethbhreac a dhèanamh dhen teacsa agus a shàbhaladh ann am faidhle ach an urrainn dhut a chleachdadh as a dhèidh seo.
 
 Seo am mìneachadh a thug an rianaire a ghlais e: $1",
@@ -817,6 +824,15 @@ Tha coltas gun deach a sguabadh às.",
 'edit-already-exists' => "Cha b' urrainn dhuinn an duilleag ùr a chruthachadh.
 Tha e ann mu thràth.",
 'defaultmessagetext' => 'Teacsa bunaiteach na teachdaireachd',
+'content-failed-to-parse' => "Dh'fhàillig parsadh susbaint $2 airson modail $1: $3",
+'invalid-content-data' => 'Dàta susbaint a tha mì-dhligheach',
+'content-not-allowed-here' => 'Chan eil susbaint "$1" ceadaichte air an duilleag [[$2]]',
+
+# Content models
+'content-model-wikitext' => 'wikitext',
+'content-model-text' => 'teacsa lom',
+'content-model-javascript' => 'JavaScript',
+'content-model-css' => 'CSS',
 
 # Parser/template warnings
 'expensive-parserfunction-warning' => "'''Rabhadh:''' Tha cus expensive parser function calls san duilleag seo.
@@ -856,7 +872,7 @@ Mìneachadh: '''({{int:cur}})''' = an diofar eadar e 's am mùthadh as ùire, ''
 'history-show-deleted' => 'Na chaidh sguabadh às a-mhàin',
 'histfirst' => 'As sine',
 'histlast' => 'As ùire',
-'historysize' => '({{PLURAL:$1|1 bhaidt|$1 bhaidht|$1 bhaidht|$1 bhaidht|$1 baidht|$1 baidht}})',
+'historysize' => '({{PLURAL:$1|1 bhaidt|$1 bhaidht|$1 bhaidht|$1 bhaidht|$1 baidhtichean|$1 baidht}})',
 'historyempty' => '(falamh)',
 
 # Revision feed
@@ -874,9 +890,11 @@ Feuch is [[Special:Search|lorg duilleagan ùra iomachaidh air an uici]]",
 'rev-delundel' => 'seall/falaich',
 'rev-showdeleted' => 'seall',
 'revdelete-hide-user' => 'Falaich ainm-cleachdaiche/seòladh IP an deasaiche',
+'revdelete-log' => 'Adhbhar:',
 'revdel-restore' => 'mùth follaiseachd',
 'revdel-restore-deleted' => 'mùthaidhean a chaidh a sguabadh às',
 'revdel-restore-visible' => 'mùthaidhean faicsinneach',
+'pagehist' => 'Eachdraidh na duilleige',
 'revdelete-otherreason' => 'Adhbhar eile/a bharrachd:',
 'revdelete-reasonotherlist' => 'Adhbhar eile',
 'revdelete-edit-reasonlist' => 'Deasaich adhbharan an sguabaidh às',
@@ -902,6 +920,8 @@ Feuch is [[Special:Search|lorg duilleagan ùra iomachaidh air an uici]]",
 'searchresulttext' => 'Airson barrachd fiosrachaidh mu rannsachadh {{SITENAME}}, cuir sùil air [[{{MediaWiki:Helppage}}|{{int:help}}]].',
 'searchsubtitle' => 'Lorg thu \'\'\'[[:$1]]\'\'\' ([[Special:Prefixindex/$1|gach duilleag a tha a\' tòiseachadh le "$1"]]{{int:pipe-separator}}[[Special:WhatLinksHere/$1|gach duilleag a tha a\' ceangal ri "$1"]])',
 'searchsubtitleinvalid' => "Lorg thu airson '''$1'''",
+'toomanymatches' => 'Fhuaras cus thoraidhean, feuch ceist eile',
+'titlematches' => "Tiotalan dhuilleagan a tha a' maidseadh",
 'notitlematches' => "Chan eil tiotal de dhuilleag sam bith a' freagairt ris",
 'notextmatches' => "Chan eil tiotal de dhuilleag sam bith a' freagairt ris",
 'prevn' => 'an {{PLURAL:$1|$1}} mu dheireadh',
@@ -925,6 +945,7 @@ Feuch is [[Special:Search|lorg duilleagan ùra iomachaidh air an uici]]",
 'searchprofile-advanced-tooltip' => 'Lorg am broinn ainm-spàsan gnàthaichte',
 'search-result-size' => '$1 ({{PLURAL:$2|1 fhacal|$2 fhacal|1 fhacal|$2 fhacal|$2 faclan|$2 facal}})',
 'search-result-category-size' => '{{PLURAL:$1|1 bhall|$1 bhall|$1 bhall|$1 bhall|$1 bhuill|$1 ball}} ({{PLURAL:$2|1 fho-roinn|$2 fho-roinn|$2 fho-roinn|$2 fho-roinn|$2 fo-roinnean|$2 fo-roinn}}, {{PLURAL:$3|1 fhaidhle|$3 fhaidhle|$3 fhaidhle|$3 fhaidhle|$3 faidhlichean|$3 faidhle}})',
+'search-result-score' => 'Buntainneas: $1%',
 'search-redirect' => '(ag ath-sheòladh $1)',
 'search-section' => '(earrann $1)',
 'search-suggest' => 'An e na leanas a bha fa-near dhut: $1',
@@ -1193,7 +1214,7 @@ Thoir sùil air na [[Special:WantedCategories|roinntean-seòrsa a thathar 'gan i
 'emailsend' => 'Cuir',
 
 # Watchlist
-'watchlist' => 'Mo chlàr-faire',
+'watchlist' => 'An clàr-faire',
 'mywatchlist' => 'An clàr-faire',
 'watchlistfor2' => 'Do $1 $2',
 'nowatchlist' => "Chan eil rud sam bith air a' chlàr-fhaire agad.",
index 8c29b9c..59adbfd 100644 (file)
@@ -2442,7 +2442,7 @@ Vexa a [[Special:ProtectedPages|lista de páxinas protexidas]] se quere obter a
 'protect-legend' => 'Confirmar a protección',
 'protectcomment' => 'Motivo:',
 'protectexpiry' => 'Caducidade:',
-'protect_expiry_invalid' => 'O tempo de duración da protección non e válido.',
+'protect_expiry_invalid' => 'O tempo de duración da protección non é válido.',
 'protect_expiry_old' => 'O momento de remate da protección corresponde ao pasado.',
 'protect-unchain-permissions' => 'Desbloquear as opcións de protección adicionais',
 'protect-text' => "Aquí é onde pode ver e cambiar os niveis de protección da páxina chamada \"'''\$1'''\".",
@@ -2643,13 +2643,13 @@ Olle a [[Special:BlockList|lista de bloqueos]] para revisalo.',
 'ipb-blockingself' => 'Está a piques de se bloquear! Está seguro de querer facelo?',
 'ipb-confirmhideuser' => 'Está a piques de bloquear un usuario coa opción "agochar o usuario" activada. Isto suprime o nome de usuario de todas as listas e entradas de rexistro. Está seguro de querer facelo?',
 'ipb-edit-dropdown' => 'Editar os motivos de bloqueo',
-'ipb-unblock-addr' => 'Desbloquear a "$1"',
+'ipb-unblock-addr' => 'Desbloquear a $1',
 'ipb-unblock' => 'Desbloquear un usuario ou enderezo IP',
 'ipb-blocklist' => 'Ver os bloqueos vixentes',
-'ipb-blocklist-contribs' => 'Contribucións de "$1"',
-'unblockip' => 'Desbloquear o usuario',
+'ipb-blocklist-contribs' => 'Contribucións de $1',
+'unblockip' => 'Desbloquear un usuario',
 'unblockiptext' => 'Use o seguinte formulario para dar de novo acceso de escritura a un enderezo IP ou usuario que estea bloqueado.',
-'ipusubmit' => 'Retirar este bloqueo',
+'ipusubmit' => 'Retirar o bloqueo',
 'unblocked' => '[[User:$1|$1]] foi {{GENDER:$1|desbloqueado|desbloqueada}}',
 'unblocked-range' => '$1 foi desbloqueado',
 'unblocked-id' => 'O bloqueo $1 foi eliminado',
@@ -2693,7 +2693,7 @@ O motivo do bloqueo de $1 é: "$2"',
 'blocklogtext' => 'Este é o rexistro das accións de bloqueo e desbloqueo de usuarios.
 Non se listan os enderezos IP bloqueados automaticamente.
 Olle a [[Special:BlockList|lista de bloqueos]] para comprobar os bloqueos vixentes.',
-'unblocklogentry' => 'desbloqueou a "$1"',
+'unblocklogentry' => 'desbloqueou a $1',
 'block-log-flags-anononly' => 'só os usuarios anónimos',
 'block-log-flags-nocreate' => 'desactivada a creación de contas',
 'block-log-flags-noautoblock' => 'bloqueo automático deshabilitado',
@@ -2702,11 +2702,11 @@ Olle a [[Special:BlockList|lista de bloqueos]] para comprobar os bloqueos vixent
 'block-log-flags-angry-autoblock' => 'realzou o autobloqueo permitido',
 'block-log-flags-hiddenname' => 'nome de usuario agochado',
 'range_block_disabled' => 'A funcionalidade de administrador de crear rangos de bloqueos está deshabilitada.',
-'ipb_expiry_invalid' => 'Tempo de duración non válido.',
+'ipb_expiry_invalid' => 'O tempo de duración non é válido.',
 'ipb_expiry_temp' => 'Os bloqueos a nomes de usuario agochados deberían ser permanentes.',
-'ipb_hide_invalid' => 'Incapaz de suprimir esta conta; pode que teña moitas edicións.',
+'ipb_hide_invalid' => 'Non se pode suprimir esta conta; se cadra, ten moitas edicións.',
 'ipb_already_blocked' => '"$1" xa está bloqueado',
-'ipb-needreblock' => '"$1" xa está bloqueado. Quere cambiar as configuracións?',
+'ipb-needreblock' => '$1 xa está bloqueado. Quere cambiar as configuracións?',
 'ipb-otherblocks-header' => '{{PLURAL:$1|Outro bloqueo|Outros bloqueos}}',
 'unblock-hideuser' => 'Non pode desbloquear o usuario porque o seu nome foi agochado.',
 'ipb_cant_unblock' => 'Erro: Non se atopa o identificador do bloqueo $1. Posiblemente xa foi desbloqueado.',
index 884fd10..1cc7e16 100644 (file)
@@ -585,7 +585,7 @@ Njezabudź swoje [[Special:Preferences|nastajenja za {{GRAMMAR:akuzatiw|{{SITENA
 'gotaccount' => 'Maš hižo wužiwarske konto? $1.',
 'gotaccountlink' => 'Přizjewić',
 'userlogin-resetlink' => 'Přizjewjenske daty zabył?',
-'createaccountmail' => 'z mejlku',
+'createaccountmail' => 'Nachwilne přidatne hesło wužiwać a jo na slědowacu e-mejlowu adresu pósłać',
 'createaccountreason' => 'Přičina:',
 'badretype' => 'Hesle, kotrejž sy zapodał, so njekryjetej.',
 'userexists' => 'Wužiwarske mjeno, kotrež sy zapodał, so hižo wužiwa.
@@ -860,7 +860,8 @@ Lubiš nam tež, zo sy jón sam napisał abo ze zjawneje domejny abo z podobneho
 
 '''NJESKŁADUJ PŘINOŠKI Z COPYRIGHTOM BJEZ DOWOLNOSĆE!'''",
 'longpageerror' => "'''ZMYLK: Tekst, kotryž pospytuješ składować, je {{PLURAL:$1| jedyn kilobajt|$1 kilobajtaj|$1 kilobajty|$1 kilobajtow}} dołho, maksimalna wulkosć pak je {{PLURAL:$2|jedyn kilobajt|$1 kilobajtaj|$1 kilobajty|$1 kilobajtow}}.''' Njehodźi so składować.",
-'readonlywarning' => "'''KEDŹBU: Datowa banka bu wothladanja dla zawrjena, tohodla njemóžeš swoje změny nětko składować. Móžeš tekst do tekstoweje dataje přesunyć a jón za pozdźišo składować.'''
+'readonlywarning' => "'''KEDŹBU: Datowa banka bu wothladowanja dla zawrjena, tohodla njemóžeš swoje změny nětko składować.'''
+Móžeš tekst do tekstoweje dataje kopěrować a jón za pozdźišo składować.
 
 Administrator, kiž je ju zawrjena, je tutu přičinu podał: $1",
 'protectedpagewarning' => "'''KEDŹBU: Tuta strona bu zawrjena, tak zo jenož wužiwarjo z prawami administratora móža ju wobdźěłać.'''
@@ -2055,7 +2056,7 @@ Znajmjeńša hłowna domena je trěbna, na přikład "*.org".<br />
 # Special:ActiveUsers
 'activeusers' => 'Lisćina aktiwnych wužiwarjow',
 'activeusers-intro' => 'To je lisćina wužiwarjow, kotřiž běchu aktiwni za {{PLURAL:$1|posledni dźeń|poslednjej $1 dnjej|poslednje $1 dny|poslednich $1 dnjow}}:',
-'activeusers-count' => '$1 {{PLURAL:$1|změna|změnje|změny|změnow}} w {{PLURAL:$3|zańdźenej dnju|zańdźenymaj $3 dnjomaj|zańdźenych $3 dnjach|zańdźenych $3 dnjach}}',
+'activeusers-count' => '$1 {{PLURAL:$1|akcija|akciji|akcije|akcijow}} w {{PLURAL:$3|zańdźenej dnju|zańdźenymaj $3 dnjomaj|zańdźenych $3 dnjach}}',
 'activeusers-from' => 'Wužiwarjow zwobraznić, započinajo z:',
 'activeusers-hidebots' => 'Boćiki schować',
 'activeusers-hidesysops' => 'Administratorow schować',
@@ -2117,7 +2118,7 @@ E-mejlowa adresa, kotruž sy w [[Special:Preferences|swojich wužiwarskich nasta
 'usermessage-editor' => 'Systemowy powěstnik',
 
 # Watchlist
-'watchlist' => 'wobkedźbowanki',
+'watchlist' => 'Wobkedźbowanki',
 'mywatchlist' => 'Wobkedźbowanki',
 'watchlistfor2' => 'Za wužiwarja $1 $2',
 'nowatchlist' => 'Nimaš žane strony w swojich wobkedźbowankach.',
@@ -2563,11 +2564,11 @@ Hlej [[Special:BlockList|lisćinu blokowanjow]], zo by zablokowanjow pruwował.'
 # Move page
 'move-page' => '$1 přesunyć',
 'move-page-legend' => 'Stronu přesunyć',
-'movepagetext' => 'Wužiwanje formulara deleka budźe stronu přemjenować, suwajo jeje cyłe stawizny pod nowe mjeno. Stary titl budźe daleposrědkowanje na nowy titl. Wotkazy na stary titl so njezměnja. Pruwuj za dwójnymi abo skóncowanymi daleposrědkowanjemi. Dyrbiš zaručić, zo wotkazy na stronu pokazuja, na kotruž dyrbja dowjesć.
+'movepagetext' => "Wužiwanje formulara deleka budźe stronu přemjenować, suwajo jeje cyłe stawizny pod nowe mjeno. Stary titl budźe daleposrědkowanje na nowy titl.  Móžeš dalesposrědkowanja, kotrež na prěnjotny titl pokazać, awtomatisce aktualizować. Pruwuj za [[Special:DoubleRedirects|dwójnymi]] abo [[Special:BrokenRedirects|skóncowanymi daleposrědkowanjemi]]. Dyrbiš zaručić, zo wotkazy na stronu pokazuja, na kotruž dyrbja dowjesć.
 
-Wobkedźbuj, zo strona so <b>nje</b> přesunje, jeli strona z nowym titlom hizo eksistuje, chibazo wona je prózdna abo dalesposrědkowanje a nima zašłe stawizny. To woznamjenja, zo móžeš stronu tam wróćo přemjenować, hdźež bu runje přemjenowana, jeli zmylk činiš a njemóžeš wobstejacu stronu přepisować.
+Wobkedźbuj, zo strona so '''nje''' přesunje, jeli strona z nowym titlom hizo eksistuje, chibazo wona je prózdna abo dalesposrědkowanje a nima zašłe stawizny. To woznamjenja, zo móžeš stronu tam wróćo přemjenować, hdźež bu runje přemjenowana, jeli zmylk činiš a njemóžeš wobstejacu stronu přepisować.
 
-<b>KEDŹBU!</b> Móže to drastiska a njewočakowana změna za woblubowanu stronu być; prošu budź sej wěsty, zo sćěwki rozumiš, prjedy hač pokročuješ.',
+'''Kedźbu!''' Móže to drastiska a njewočakowana změna za woblubowanu stronu być; prošu budź sej wěsty, zo sćěwki rozumiš, prjedy hač pokročuješ.",
 'movepagetext-noredirectfixer' => "Wužiwajo slědowacy formular, móžeš stronu přemjenować a wšě jich daty do stawiznow noweho titula přesunyć.
 Stary titul budźe dalesposrědkowanska strona k nowemu titulej.
 Skontroluj za [[Special:DoubleRedirects|dwójnymi]] abo [[Special:BrokenRedirects|wobškodźenymi dalesposrědkowanjemi]].
@@ -3642,7 +3643,7 @@ Wobrazy so połnym rozeznaću pokazuja, druhe datajowe typy so ze zwjazanym prog
 'specialpages-group-highuse' => 'Často wužiwane strony',
 'specialpages-group-pages' => 'Lisćiny stronow',
 'specialpages-group-pagetools' => 'Nastroje stronow',
-'specialpages-group-wiki' => 'Wikijowe daty a nastroje',
+'specialpages-group-wiki' => 'Daty a nastroje',
 'specialpages-group-redirects' => 'Daleposrědkowace specialne strony',
 'specialpages-group-spam' => 'Spamowe nastroje',
 
@@ -3739,6 +3740,7 @@ Wobrazy so połnym rozeznaću pokazuja, druhe datajowe typy so ze zwjazanym prog
 'logentry-newusers-newusers' => 'Wužiwarske konto $1 je so załožiło',
 'logentry-newusers-create' => 'Wužiwarske konto $1 je so załožiło',
 'logentry-newusers-create2' => '$1 załoži wužiwarske konto $3',
+'logentry-newusers-byemail' => 'Wužiwarske konto $3 je so wot $1 załožiło a hesło je so přez e-mejl pósłało.',
 'logentry-newusers-autocreate' => 'Konto $1 je so awtomatisce załožiło',
 'logentry-rights-rights' => '$1 změni skupinske čłonstwo za $3 z $4 do $5',
 'logentry-rights-rights-legacy' => '$1 změni skupinske čłonstwo za $3',
@@ -3797,6 +3799,7 @@ Hewak móžeš slědowacy jednory formular wužiwać. Twój komentar přida so s
 'api-error-ok-but-empty' => 'Nutřkowny zmylk: žana wotmołwa wot serwera.',
 'api-error-overwrite' => 'Přepisowanje eksistowaceje dataje njeje dowolene.',
 'api-error-stashfailed' => 'Nutřkowny zmylk: Serwer njemóžeše nachwilnu dataju składować.',
+'api-error-publishfailed' => 'Nutřkowny zmylk: Serwer njemóžeše nachwilnu dataju wozjewić.',
 'api-error-timeout' => 'Serwer njeje znutřka wočakowaneho časa wotmołwił.',
 'api-error-unclassified' => 'Njeznaty zmylk je wustupił.',
 'api-error-unknown-code' => 'Njeznaty zmylk: "$1"',
index 75aab89..1ad51bf 100644 (file)
@@ -320,7 +320,7 @@ $messages = array(
 'tog-hidepatrolled' => 'Az ellenőrzött szerkesztések elrejtése a friss változtatások lapon',
 'tog-newpageshidepatrolled' => 'Ellenőrzött lapok elrejtése az új lapok listájáról',
 'tog-extendwatchlist' => 'A figyelőlistán az összes változtatás látszódjon, ne csak az utolsó',
-'tog-usenewrc' => 'Fejlettebb friss változások használata (JavaScript-alapú)',
+'tog-usenewrc' => 'Szerkesztések csoportosítása oldal szerint a friss változtatásokban és a figyelőlistán (JavaScript-alapú)',
 'tog-numberheadings' => 'Fejezetcímek automatikus számozása',
 'tog-showtoolbar' => 'Szerkesztőeszközsor megjelenítése (JavaScript-alapú)',
 'tog-editondblclick' => 'A lapok szerkesztése dupla kattintásra (JavaScript-alapú)',
index 48e283a..aa49965 100644 (file)
@@ -464,6 +464,9 @@ $messages = array(
 'index-category' => 'Halaman yang diindeks',
 'noindex-category' => 'Halaman yang tidak diindeks',
 'broken-file-category' => 'Halaman dengan gambar rusak',
+'categoryviewer-pagedlinks' => '($1) ($2)',
+
+'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD',
 
 'about' => 'Tentang',
 'article' => 'Halaman isi',
@@ -597,6 +600,9 @@ $1',
 'versionrequiredtext' => 'MediaWiki versi $1 dibutuhkan untuk menggunakan halaman ini. Lihat [[Special:Version|halaman versi]]',
 
 'ok' => 'OK',
+'pagetitle' => '$1 - {{SITENAME}}',
+'pagetitle-view-mainpage' => '{{SITENAME}}',
+'backlinksubtitle' => '← $1',
 'retrievedfrom' => 'Diperoleh dari "$1"',
 'youhavenewmessages' => 'Anda mempunyai $1 ($2).',
 'newmessageslink' => 'pesan baru',
@@ -607,6 +613,7 @@ $1',
 'newmessagesdifflinkplural' => '{{PLURAL:$1||}}perubahan terakhir',
 'youhavenewmessagesmulti' => 'Anda mendapat beberapa pesan baru pada $1',
 'editsection' => 'sunting',
+'editsection-brackets' => '[$1]',
 'editold' => 'sunting',
 'viewsourceold' => 'lihat sumber',
 'editlink' => 'sunting',
@@ -628,6 +635,7 @@ $1',
 'page-rss-feed' => 'Umpan RSS "$1"',
 'page-atom-feed' => 'Umpan Atom "$1"',
 'feed-atom' => 'Atom',
+'feed-rss' => 'RSS',
 'red-link-title' => '$1 (halaman belum tersedia)',
 'sort-descending' => 'Urutkan menurun',
 'sort-ascending' => 'Urutkan menaik',
@@ -775,6 +783,7 @@ Silakan tentukan nama yang lain.',
 'nocookieslogin' => "{{SITENAME}} menggunakan ''cookies'' untuk log penggunanya. ''Cookies'' pada penjelajah web Anda dimatikan. Silakan aktifkan dan coba lagi.",
 'nocookiesfornew' => 'Akun pengguna tidak dibuat karena kami tidak dapat memastikan sumbernya.
 Pastikan Anda telah mengaktifkan kuki, lalu muat ulang halaman ini dan coba lagi.',
+'nocookiesforlogin' => '{{int:nocookieslogin}}',
 'noname' => 'Nama pengguna yang Anda masukkan tidak sah.',
 'loginsuccesstitle' => 'Berhasil masuk log',
 'loginsuccess' => "'''Anda sekarang masuk log di {{SITENAME}} sebagai \"\$1\".'''",
@@ -1073,6 +1082,7 @@ Entri catatan terakhir disediakan di bawah untuk referensi:",
 'template-semiprotected' => '(pelindungan semi)',
 'hiddencategories' => 'Halaman ini adalah anggota dari {{PLURAL:$1|1 kategori tersembunyi|$1 kategori tersembunyi}}:',
 'edittools' => '<!-- Teks di sini akan dimunculkan di bawah isian suntingan dan pemuatan.-->',
+'edittools-upload' => '-',
 'nocreatetext' => '{{SITENAME}} telah membatasi pembuatan halaman-halaman baru.
 Anda dapat kembali dan menyunting halaman yang telah ada, atau silakan [[Special:UserLogin|masuk log atau membuat akun]].',
 'nocreate-loggedin' => 'Anda tak memiliki hak akses untuk membuat halaman baru.',
@@ -1294,6 +1304,7 @@ Pastikan bahwa perubahan ini tetap mempertahankan kontinuitas versi terdahulu ha
 'mergehistory-comment' => '[[:$1]] telah digabungkan ke [[:$2]]: $3',
 'mergehistory-same-destination' => 'Nama halaman sumber dan tujuan tidak boleh sama',
 'mergehistory-reason' => 'Alasan:',
+'mergehistory-revisionrow' => '$1 ($2) $3 . . $4 $5 $6',
 
 # Merge log
 'mergelog' => 'Log penggabungan',
@@ -1392,7 +1403,7 @@ Perlu diingat bahwa indeks Google untuk konten {{SITENAME}} mungkin belum mencak
 
 # Preferences page
 'preferences' => 'Preferensi',
-'mypreferences' => 'Preferensi',
+'mypreferences' => 'Pengaturan',
 'prefs-edits' => 'Jumlah suntingan:',
 'prefsnologin' => 'Belum masuk log',
 'prefsnologintext' => 'Anda harus <span class="plainlinks">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} masuk log]</span> untuk mengeset preferensi Anda.',
@@ -1470,7 +1481,9 @@ Pengembalian preferensi tidak dapat dibatalkan.',
 'username' => '{{GENDER:$1|Nama pengguna}}:',
 'uid' => 'ID {{GENDER:$1|pengguna}}:',
 'prefs-memberingroups' => '{{GENDER:$2|Anggota}} {{PLURAL:$1|kelompok|kelompok}}:',
+'prefs-memberingroups-type' => '$1',
 'prefs-registration' => 'Waktu pendaftaran:',
+'prefs-registration-date-time' => '$1',
 'yourrealname' => 'Nama asli:',
 'yourlanguage' => 'Bahasa:',
 'yourvariant' => 'Varian bahasa isi:',
@@ -1520,6 +1533,7 @@ Jika Anda memberikannya, nama asli Anda akan digunakan untuk memberi pengenalan
 'saveusergroups' => 'Simpan kelompok pengguna',
 'userrights-groupsmember' => 'Anggota dari:',
 'userrights-groupsmember-auto' => 'Anggota implisit dari:',
+'userrights-groupsmember-type' => '$1',
 'userrights-groups-help' => 'Anda dapat mengubah kelompok pengguna ini:
 * Kotak dengan tanda cek merupakan kelompok pengguna yang bersangkutan
 * Kotak tanpa tanda cek berarti pengguna ini bukan anggota kelompok tersebut
@@ -1531,6 +1545,7 @@ Jika Anda memberikannya, nama asli Anda akan digunakan untuk memberi pengenalan
 'userrights-notallowed' => 'Akun Anda tidak berhak untuk menambahkan atau membuang hak pengguna.',
 'userrights-changeable-col' => 'Kelompok yang dapat Anda ubah',
 'userrights-unchangeable-col' => 'Kelompok yang tidak dapat Anda ubah',
+'userrights-irreversible-marker' => '$1*',
 
 # Groups
 'group' => 'Kelompok:',
@@ -1691,9 +1706,11 @@ Jika Anda memberikannya, nama asli Anda akan digunakan untuk memberi pengenalan
 'minoreditletter' => 'k',
 'newpageletter' => 'B',
 'boteditletter' => 'b',
+'unpatrolledletter' => '!',
 'number_of_watching_users_pageview' => '[$1 {{PLURAL:$1|pemantau|pemantau}}]',
 'rc_categories' => 'Batasi sampai kategori (dipisah dengan "|")',
 'rc_categories_any' => 'Apa pun',
+'rc-change-size' => '$1',
 'rc-change-size-new' => '$1 {{PLURAL:$1|bita|bita}} setelah perubahan',
 'newsectionsummary' => '/* $1 */ bagian baru',
 'rc-enhanced-expand' => 'Tampilkan rincian (memerlukan JavaScript)',
@@ -1817,6 +1834,20 @@ Penggunggahan berkas Java tidak diperbolehkan karena dapat menyebabkan pengabaia
 'watchthisupload' => 'Pantau berkas ini',
 'filewasdeleted' => 'Suatu berkas dengan nama ini pernah dimuat dan selanjutnya dihapus. Harap cek $1 sebelum memuat lagi berkas tersebut.',
 'filename-bad-prefix' => "Nama berkas yang Anda muat diawali dengan '''\"\$1\"''', yang merupakan nama non-deskriptif yang biasanya diberikan secara otomatis oleh kamera digital. Harap pilih nama lain yang lebih deskriptif untuk berkas Anda.",
+'filename-prefix-blacklist' => ' #<!-- biarkan baris ini seperti adanya --> <pre>
+# Contohnya sebagai berikut:
+#   * Semuanya dari karekter "#" sampai akhir baris ini adalah komentar
+#   * Setiap garis "_" adalah awalan untuk nama file khas yang diberikan secara otomatis oleh kamera digital
+CIMG # Casio
+DSC_ # Nikon
+DSCF # Fuji
+DSCN # Nikon
+DUW # beberapa model telpon seluler
+IMG # generik
+JD # Jenoptik
+MGP # Pentax
+PICT # lainnya.
+ #</pre> <!-- biarkan baris ini seperti adanya -->',
 'upload-success-subj' => 'Berhasil dimuat',
 'upload-success-msg' => 'Pengunggahan Anda dari [$2] berhasil. Hasilnya tersedia di sini: [[:{{ns:file}}:$1]]',
 'upload-failure-subj' => 'Masalah pengunggahan',
@@ -1995,7 +2026,8 @@ Mungkin Anda ingin menyunting keterangan pada [$2 halaman deskripsi berkas] di s
 'uploadnewversion-linktext' => 'Muatkan versi yang lebih baru dari berkas ini',
 'shared-repo-from' => 'dari $1',
 'shared-repo' => 'suatu repositori bersama',
-'filepage.css' => '/* CSS yang ditempatkan di sini disertakan pada halaman deskripsi berkas, juga disertakan pada klien wiki asing */',
+'shared-repo-name-wikimediacommons' => 'Wikimedia Commons',
+'filepage.css' => '/* CSS yang ditempatkan di sini disertakan pada halaman deskripsi berkas, juga disertakan pada klien wiki lain */',
 'upload-disallowed-here' => 'Anda tidak bisa menimpa berkas ini.',
 
 # File reversion
@@ -2167,13 +2199,14 @@ Harap perhatikan bahwa situs web lain mungkin memiliki pranala ke suatu berkas d
 'nopagetitle' => 'Halaman tujuan tidak ditemukan',
 'nopagetext' => 'Halaman yang Anda tuju tidak ditemukan.',
 'pager-newer-n' => '{{PLURAL:$1|1 lebih baru|$1 lebih baru}}',
-'pager-older-n' => '{{PLURAL:$1|1 lebih lama|$1 lebih lama}}',
+'pager-older-n' => '{{PLURAL:$1|$1 lebih lama}}',
 'suppress' => 'Pengawas',
 'querypage-disabled' => 'Halaman istimewa ini dinonaktifkan demi alasan kinerja.',
 
 # Book sources
 'booksources' => 'Sumber buku',
 'booksources-search-legend' => 'Cari di sumber buku',
+'booksources-isbn' => 'ISBN:',
 'booksources-go' => 'Tuju ke',
 'booksources-text' => 'Di bawah ini adalah daftar pranala ke situs lain yang menjual buku baru dan bekas, dan mungkin juga mempunyai informasi lebih lanjut mengenai buku yang sedang Anda cari:',
 'booksources-invalid-isbn' => 'ISBN yang diberikan tampaknya tidak valid; periksa kesalahan penyalinan dari sumber asli.',
@@ -2261,6 +2294,8 @@ Perlu sedikitnya satu domain tingkat atas, misalnya "*.org".<br />
 'listgrouprights-rights' => 'Hak',
 'listgrouprights-helppage' => 'Help:Hak akses',
 'listgrouprights-members' => '(daftar anggota)',
+'listgrouprights-right-display' => '<span class="listgrouprights-granted">$1 <code>($2)</code></span>',
+'listgrouprights-right-revoked' => '<span class="listgrouprights-revoked">$1 <code>($2)</code></span>',
 'listgrouprights-addgroup' => 'Menambahkan {{PLURAL:$2|kelompok|kelompok}}: $1',
 'listgrouprights-removegroup' => 'Menghapus {{PLURAL:$2|kelompok|kelompok}}: $1',
 'listgrouprights-addgroup-all' => 'Menambahkan semua kelompok',
@@ -2306,6 +2341,7 @@ Alamat surel yang Anda masukkan di [[Special:Preferences|preferensi akun Anda]]
 # User Messenger
 'usermessage-summary' => 'Tinggalkan pesan sistem.',
 'usermessage-editor' => 'Penyampai pesan sistem',
+'usermessage-template' => 'MediaWiki:UserMessage',
 
 # Watchlist
 'watchlist' => 'Daftar pantauan',
@@ -2472,6 +2508,7 @@ Lihat [[Special:ProtectedPages|daftar halaman terlindungi]] untuk daftar perlind
 'protect-fallback' => 'Hanya untuk pengguna dengan izin  "$1"',
 'protect-level-autoconfirmed' => 'Hanya untuk pengguna terdaftar otomatis',
 'protect-level-sysop' => 'Hanya untuk pengurus',
+'protect-summary-desc' => '[$1=$2] ($3)',
 'protect-summary-cascade' => 'runtun',
 'protect-expiring' => 'kedaluwarsa $1 (UTC)',
 'protect-expiring-local' => 'kedaluwarsa $1',
@@ -2556,6 +2593,7 @@ Lihat [[Special:Log/delete|log penghapusan]] untuk data penghapusan dan pengemba
 $1',
 'undelete-show-file-confirm' => 'Apakah Anda yakin ingin melihat revisi yang telah dihapus dari berkas "<nowiki>$1</nowiki>" per $3, $2?',
 'undelete-show-file-submit' => 'Ya',
+'undelete-revisionrow' => '$1 $2 ($3) $4 . . $5 $6 $7',
 
 # Namespace form on various pages
 'namespace' => 'Ruang nama:',
@@ -2730,6 +2768,7 @@ Lihat [[Special:BlockList|daftar pemblokiran]] untuk semua pengguna yang saat in
 'proxyblocker-disabled' => 'Fitur ini sedang tidak diakfifkan.',
 'proxyblockreason' => 'Alamat IP Anda telah diblokir karena alamat IP Anda adalah proxy terbuka. Silakan hubungi penyedia jasa internet Anda atau dukungan teknis dan beritahukan mereka masalah keamanan serius ini.',
 'proxyblocksuccess' => 'Selesai.',
+'sorbs' => 'DNSBL',
 'sorbsreason' => 'Alamat IP anda terdaftar sebagai proxy terbuka di DNSBL.',
 'sorbs_create_account_reason' => 'Alamat IP anda terdaftar sebagai proxy terbuka di DNSBL. Anda tidak dapat membuat akun.',
 'cant-block-while-blocked' => 'Anda tidak dapat memblokir pengguna lain ketika Anda sendiri sedang diblokir.',
@@ -3039,18 +3078,23 @@ Simpan ke komputer Anda dan unggah ke sini.',
 'tooltip-summary' => 'Masukkan sebuah ringkasan pendek',
 
 # Stylesheets
-'common.css' => '/* CSS yang ada di sini akan diterapkan untuk semua kulit. */',
-'standard.css' => '/* CSS yang ada di sini akan diterapkan untuk kulit Standard. */',
-'nostalgia.css' => '/* CSS yang ada di sini akan diterapkan untuk kulit Nostalgia. */',
-'cologneblue.css' => '/* CSS yang ada di sini akan diterapkan untuk kulit Cologne Blue. */',
-'monobook.css' => '/* CSS yang ada di sini akan diterapkan untuk kulit Monobook. */',
-'myskin.css' => '/* CSS yang ada di sini akan diterapkan untuk kulit MySkin. */',
-'chick.css' => '/* CSS yang ada di sini akan diterapkan untuk kulit Chick. */',
-'simple.css' => '/* CSS yang ada di sini akan diterapkan untuk kulit Simple. */',
-'modern.css' => '/* CSS yang ada di sini akan diterapkan untuk kulit Modern. */',
-'vector.css' => '/* CSS yang ada di sini akan diterapkan untuk kulit Vector. */',
-'print.css' => '/* CSS yang ada di sini akan diterapkan untuk tampilan cetak. */',
+'common.css' => '/* CSS yang ada di sini akan diterapkan pada semua kulit. */',
+'standard.css' => '/* CSS yang ada di sini akan diterapkan pada kulit Standar. */',
+'nostalgia.css' => '/* CSS yang ada di sini akan diterapkan pada kulit Nostalgia. */',
+'cologneblue.css' => '/* CSS yang ada di sini akan diterapkan pada kulit Cologne Blue. */',
+'monobook.css' => '/* CSS yang ada di sini akan diterapkan pada kulit Monobook. */',
+'myskin.css' => '/* CSS yang ada di sini akan diterapkan pada kulit MySkin. */',
+'chick.css' => '/* CSS yang ada di sini akan diterapkan pada kulit Chick. */',
+'simple.css' => '/* CSS yang ada di sini akan diterapkan pada kulit Sederhana. */',
+'modern.css' => '/* CSS yang ada di sini akan diterapkan pada kulit Modern. */',
+'vector.css' => '/* CSS yang ada di sini akan diterapkan pada kulit Vektor. */',
+'print.css' => '/* CSS yang ada di sini akan diterapkan pada tampilan cetak. */',
 'handheld.css' => '/* CSS yang ada di sini akan diterapkan untuk tampilan piranti genggam yang dikonfigurasi di $wgHandheldStyle. */',
+'noscript.css' => '/* CSS di sini akan mempengaruhi pengguna dengan skrip Java non-aktif */',
+'group-autoconfirmed.css' => '/* CSS di sini hanya mempengaruhi pengguna terkonfirmasi otomatis */',
+'group-bot.css' => '/* CSS di sini hanya mempengaruhi bot */',
+'group-sysop.css' => '/* CSS di sini hanya mempengaruhi pengurus */',
+'group-bureaucrat.css' => '/* CSS di sini hanya mempengaruhi birokrat */',
 
 # Scripts
 'common.js' => '/* JavaScript yang ada di sini akan diterapkan untuk semua kulit. */',
@@ -3063,6 +3107,10 @@ Simpan ke komputer Anda dan unggah ke sini.',
 'simple.js' => '/* Semua JavaScript di sini akan dimuatkan untuk para pengguna yang menggunakan kulit Simple */',
 'modern.js' => '/* Semua JavaScript di sini akan dimuatkan untuk para pengguna yang menggunakan kulit Modern */',
 'vector.js' => '/* Semua JavaScript di sini akan dimuatkan untuk para pengguna yang menggunakan kulit Vector */',
+'group-autoconfirmed.js' => '/* Semua JavaScript di sini hanya dimuatkan untuk pengguna terkonfirmasi otomatis */',
+'group-bot.js' => '/* Semua JavaScript di sini hanya dimuatkan untuk bot */',
+'group-sysop.js' => '/* Semua JavaScript di sini hanya dimuatkan untuk pengurus */',
+'group-bureaucrat.js' => '/* Semua JavaScript di sini hanya dimuatkan untuk birokrat */',
 
 # Metadata
 'notacceptable' => 'Server wiki tidak dapat menyediakan data dalam format yang dapat dibaca oleh client Anda.',
@@ -3107,6 +3155,7 @@ Ini mungkin disebabkan oleh pranala ke situs luar yang termasuk dalam daftar hit
 'pageinfo-views' => 'Jumlah penampilan',
 'pageinfo-watchers' => 'Jumlah pemantau halaman',
 'pageinfo-redirects-name' => 'Pengalihan ke halaman ini',
+'pageinfo-redirects-value' => '$1',
 'pageinfo-subpages-name' => 'Subhalaman halaman ini',
 'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|pengalihan|pengalihan}}; $3 {{PLURAL:$3|non-pengalihan|non-pengalihan}})',
 'pageinfo-firstuser' => 'Pembuat halaman',
@@ -3136,7 +3185,14 @@ Ini mungkin disebabkan oleh pranala ke situs luar yang termasuk dalam daftar hit
 
 # Skin names
 'skinname-standard' => 'Klasik',
+'skinname-nostalgia' => 'Nostalgia',
+'skinname-cologneblue' => 'Biru Köln',
+'skinname-monobook' => 'MonoBook',
+'skinname-myskin' => 'MySkin',
+'skinname-chick' => 'Chick',
 'skinname-simple' => 'Sederhana',
+'skinname-modern' => 'Modern',
+'skinname-vector' => 'Vektor',
 
 # Patrolling
 'markaspatrolleddiff' => 'Tandai telah dipatroli',
@@ -3176,6 +3232,7 @@ $1',
 Jika dijalankan, sistem Anda akan berisiko terserang.",
 'imagemaxsize' => "Batas ukuran gambar:<br />''(untuk halaman deskripsi berkas)''",
 'thumbsize' => 'Ukuran miniatur:',
+'widthheight' => '$1 × $2',
 'widthheightpage' => '$1 × $2, $3 {{PLURAL:$3|halaman|halaman}}',
 'file-info' => 'ukuran berkas: $1, tipe MIME: $2',
 'file-info-size' => '$1 × $2 piksel, ukuran berkas: $3, tipe MIME: $4',
@@ -3209,9 +3266,11 @@ Jika dijalankan, sistem Anda akan berisiko terserang.",
 'sp-newimages-showfrom' => 'Tampilkan berkas baru dimulai dari $2, $1',
 
 # Video information, used by Language::formatTimePeriod() to format lengths in the above messages
-'seconds-abbrev' => '$1d',
-'minutes-abbrev' => '$1m',
-'hours-abbrev' => '$1j',
+'video-dims' => '$1, $2 × $3',
+'seconds-abbrev' => '$1 d',
+'minutes-abbrev' => '$1 m',
+'hours-abbrev' => '$1 j',
+'days-abbrev' => '$1 h',
 'seconds' => '{{PLURAL:$1|$1 detik|$1 detik}}',
 'minutes' => '{{PLURAL:$1|$1 menit|$1 menit}}',
 'hours' => '{{PLURAL:$1|$1 jam|$1 jam}}',
@@ -3228,6 +3287,37 @@ Hanya butir daftar (baris yang diawali dengan tanda *) yang diperhitungkan.
 Pranala pertama pada suatu baris haruslah pranala ke berkas yang buruk.
 Pranala-pranala selanjutnya pada baris yang sama dianggap sebagai pengecualian, yaitu halaman yang dapat menampilkan berkas tersebut.',
 
+/*
+Short names for language variants used for language conversion links.
+To disable showing a particular link, set it to 'disable', e.g.
+'variantname-zh-sg' => 'disable',
+Variants for Chinese language
+*/
+'variantname-zh-hans' => 'hans',
+'variantname-zh-hant' => 'hant',
+'variantname-zh-cn' => 'cn',
+'variantname-zh-tw' => 'tw',
+'variantname-zh-hk' => 'hk',
+'variantname-zh-mo' => 'mo',
+'variantname-zh-sg' => 'sg',
+'variantname-zh-my' => 'my',
+'variantname-zh' => 'zh',
+
+# Variants for Gan language
+'variantname-gan-hans' => 'hans',
+'variantname-gan-hant' => 'hant',
+'variantname-gan' => 'gan',
+
+# Variants for Serbian language
+'variantname-sr-ec' => 'sr-ec',
+'variantname-sr-el' => 'sr-el',
+'variantname-sr' => 'sr',
+
+# Variants for Kazakh language
+'variantname-kk-kz' => 'kk-kz',
+'variantname-kk-tr' => 'kk-tr',
+'variantname-kk-cn' => 'kk-cn',
+
 # Metadata
 'metadata' => 'Metadata',
 'metadata-help' => 'Berkas ini mengandung informasi tambahan yang mungkin ditambahkan oleh kamera digital atau pemindai yang digunakan untuk membuat atau mendigitalisasi berkas. Jika berkas ini telah mengalami modifikasi, rincian yang ada mungkin tidak secara penuh merefleksikan informasi dari gambar yang sudah dimodifikasi ini.',
index df300c1..6fff6a9 100644 (file)
@@ -793,10 +793,10 @@ Kasta met nga ikarim kadakami a bukodmo a sinurat wenno gapuanan daytoy, wenno t
 '''Saan a mangipan iti adda ti karbenganna a panagpablaak nga obra no awan ti  pammalubos!'''",
 'longpageerror' => "'''Biddut: Ti testo nga intedmo ket {{PLURAL:$1|maysa a kilobyte|$1 kil-kilobyte}} a katiddog, nga at-atiddog ngem ti kangatuan iti  {{PLURAL:$2|maysa a kilobyte|$2 kil-kilobyte}}.'''
 Isu ti gapuna a saan a maidulin.",
-'readonlywarning' => "'''Ballaag: Narikepan ti database para iti panagtaripatu, saanmo a mabalin nga idulin dagita inurnosmo tattan.'''
-No kayatmo i \"cut-n-paste\" mo dagiti testo iti testo a papeles ken idulinmo no madamdama.
+'readonlywarning' => "'''Ballaag: Narikepan ti database tapno mataripatu, isu a saanmo a mabalin nga idulin dagita inurnosmo tattan.'''
+Mabalinmo ti agkopia ken agikabil ti testom iti maysa a testo a papeles ken idulinmo para iti panagusar no madamdama.
 
-Ti administrador a nangrikep ket saan a nangted ti palawag: \$1",
+Ti administrador a nangrikep ket nangited iti daytoy a palawag: $1",
 'protectedpagewarning' => "'''Ballaag:  Daytoy a panid ket nasalakniban tapno dagiti laeng agar-aramat nga adda ti gundaway nga administrador ti makaurnos ditoy.'''
 Ti nakaudi a naikabil a listaan ket adda dita baba tapno usaren a  reperensia:",
 'semiprotectedpagewarning' => "'''Pakaammo:'''Nasalakniban daytoy a panid tapno dagiti laeng nakarehistro nga agar-aramat ti makaurnos ditoy.
@@ -2014,7 +2014,7 @@ Masapul ti kangatuan a pagturayan, a kaspagarigan "*.org".<br />
 # Special:ActiveUsers
 'activeusers' => 'Listaan dagiti nasiglat nga agar-aramat',
 'activeusers-intro' => 'Daytoy ti listaan dagiti agar-aramat nga adda inararamidda kadagiti napalabas a $1 {{PLURAL:$1|nga aldaw|nga alaldaw}}.',
-'activeusers-count' => '$1 {{PLURAL:$1|nga inurnos|kadagiti inurnos}} idi kalpasan ti  {{PLURAL:$3|nga aldaw|$3 nga alaldaw}}',
+'activeusers-count' => '$1 {{PLURAL:$1|a tignay|tigtignay}} idi kalpasan ti {{PLURAL:$3|nga aldaw|$3 nga alaldaw}}',
 'activeusers-from' => 'Iparang dagiti agar-aramat a mangrugi iti:',
 'activeusers-hidebots' => 'Ilemmeng dagiti bot',
 'activeusers-hidesysops' => 'Ilemmeng dagiti administrador',
@@ -2077,7 +2077,7 @@ Ti e-surat nga inkabilmo idiay  [[Special:Preferences|kakaykayatam]] ket agparan
 'usermessage-editor' => 'Mensahero iti sistema',
 
 # Watchlist
-'watchlist' => 'Bambantayak',
+'watchlist' => 'Bambantayan',
 'mywatchlist' => 'Bambantayan',
 'watchlistfor2' => 'Para iti $1 $2',
 'nowatchlist' => 'Awan ti banag iti listaan dagiti bambantayam.',
@@ -2085,8 +2085,8 @@ Ti e-surat nga inkabilmo idiay  [[Special:Preferences|kakaykayatam]] ket agparan
 'watchnologin' => 'Saan a nakastrek',
 'watchnologintext' => 'Masapul a [[Special:UserLogin|nakastrekka]] tapno mabaliwam dagiti bambantayam a panid.',
 'addwatch' => 'Inayon iti bambantayan',
-'addedwatchtext' => "Nainayonen ti panid iti \"[[:\$1]]\" iti [[Special:Watchlist|listaan ti bambantayam]].
-Mailistanto ditoy dagiti pinagsukat daytoy a panid iti masakbayan agraman ti kanaigna a panid-tungtongan, ket agparang ti panid a kas '''napuskol''' iti [[Special:RecentChanges|listaan ti naudi a balbaliw]] tapno nalaklaka a malasin.",
+'addedwatchtext' => 'Ti panid iti "[[:$1]]" ket nainayonen idiay [[Special:Watchlist|listaan ti bambantayam]].
+Dagiti masakbayan a panagsukat iti daytoy a panid ken dagiti mainaig a tungtunganna a panid ket mailistanto idiay.',
 'removewatch' => 'Ikkaten dita bambantayan',
 'removedwatchtext' => 'Daytoy a panid  "[[:$1]]" ket naikkat idiay [[Special:Watchlist|bambantayam]].',
 'watch' => 'bantayan',
@@ -2245,9 +2245,9 @@ Dagitoy dagiti agdama a kasasaad ti panid a '''$1''':",
 'protect-cascadeon' => 'Daytoy a panid ket agdama a  nasalakniban gapu ta nairaman kadagiti sumaganad a {{PLURAL:$1|panid, nga addaan|pampanid, nga addaan}} ti sipapakat a salaknib ti amin-amin.
 Mabalinmo a sukatan ti lessaad ti salaknib daytoy a panid, ngem saanna a tignayen ti salaknib nga amin-amin.',
 'protect-default' => 'Palubosan amin nga agar-aramat',
-'protect-fallback' => 'Masapul ti "$1" a pammalubos',
-'protect-level-autoconfirmed' => 'Serraan dagiti baro ken saan a nakarehistro nga agar-aramat',
-'protect-level-sysop' => 'Dagiti administrador laeng',
+'protect-fallback' => 'Palubosan laeng dagiti agar-aramat nga adda iti "$1" a pammalubos',
+'protect-level-autoconfirmed' => 'Palubosan laeng dagiti automatiko a napasingkedan nga agar-aramat',
+'protect-level-sysop' => 'Palubosan laeng dagiti administrador',
 'protect-summary-cascade' => 'agsariap',
 'protect-expiring' => 'agpaso inton $1 (UTC)',
 'protect-expiring-local' => 'agpaso $1',
@@ -2549,18 +2549,18 @@ Ti agserra ken aglukat iti database, masapul a masuratan ti web server.',
 # Move page
 'move-page' => 'Iyalis ti $1',
 'move-page-legend' => 'Iyalis ti panid',
-'movepagetext' => "Ti panagusar ti kinabuklan dita baba, ket panaganan ti panid, iyalis na amin ti pakasaritaan na idiay baro a nagan.
-Ti daan a titulo ket agbalin baw-ing a panid idiay baro a titulo.
-Mapabarom a kas automatiko dagiti baw-ing a nakatudo dita kasigud a titulo.
-No agpili ka a saan mo a kayat, pasaraduam nga kitaen ti [[Special:DoubleRedirects|doble]] wenno [[Special:BrokenRedirects|nadadael a baw-ing]].
-Rebbengem ti mangpatalged nga amin a panilpo ket agtultuloy a nakatudo iti nasken a papananda.
+'movepagetext' => "Ti panagusar ti kinabuklan dita baba, ket mangnagan manen ti panid, a mangiyalis amin ti pakasaritaanna idiay baro a nagan.
+Ti daan a titulo ket agbalin baw-ing a panid idiay baro a titulo.
+Mapabarom a kas automatiko dagiti baw-ing a nakatudo dita kasisigud a titulo.
+No agpilika a saanmo a kayat, pasaraduam a kitaen ti [[Special:DoubleRedirects|doble]] wenno [[Special:BrokenRedirects|nadadael a baw-ing]].
+Renbbengmo ti mangpatalged nga amin a silpo ket agtultuloy a nakatudo iti nasken a papananda.
 
-Laglagipen a ti panid ket '''saan''' a maiyalis no addan sigud a panid iti baro a titulo, malaksid no awan linaonna wenno no maysa a baw-ing a panid ken awan ti panagbaliw iti pakasaritaan ti napalabas. 
+Laglagipen a ti panid ket '''saan''' a maiyalis no addan sigud a panid iti baro a titulo, malaksid no daytoy ket maysa a baw-ing ken awan ti napalabas a pakasaritaan ti panag-urnos. 
 Kayat a sawen daytoy a mabalinmo a suktan ti nagan ti maysa a panid manipud iti punto ti pannakasukat ti nagan no nagbiddutka, ken saan mo a mabalin a suratan manen ti addaan a panid.
 
 '''Ballaag!'''
 Mabalin a maysa daytoy a nakaro ken saan a bigla a panagbaliw iti maysa a nasikat a panid;
-pangngaasim ta pasingkedam a maawatam ti ibunga dayoty sakbay nga agtuloyka a mangbaliw.",
+pangngaasim a pasingkedam a maawatam ti ibunga daytoy sakbay nga agtuloyka a mangbaliw.",
 'movepagetext-noredirectfixer' => "Ti panagusar ti kinabuklan dita baba, ket panaganan ti panid, iyalis na amin ti pakasaritaan na idiay baro a nagan.
 Ti daan a titulo ket agbalin baw-ing a panid idiay baro a titulo.
 Pasaruduam a kitaen ti [[Special:DoubleRedirects|doble]] wenno [[Special:BrokenRedirects|nadadael a baw-ing]].
@@ -3627,7 +3627,7 @@ Dagiti imahen ket agparang iti kadakkelan a resolusion, dagiti sabali a kita ti
 'specialpages-group-highuse' => 'Adu ti panaka-usar a pampanid',
 'specialpages-group-pages' => 'Listaan dagiti panid',
 'specialpages-group-pagetools' => 'Ramramit ti panid',
-'specialpages-group-wiki' => 'Linaon ti wiki ken ramramit',
+'specialpages-group-wiki' => 'Datos ken ramramit',
 'specialpages-group-redirects' => 'Maibawbaw-ing dagiti espesial a pampanid',
 'specialpages-group-spam' => 'Ramramit kontra spam',
 
index a764494..8859f3a 100644 (file)
@@ -2193,7 +2193,7 @@ $1',
 'usermessage-template' => 'MediaWiki:მომხმარებლის შეტყობინება',
 
 # Watchlist
-'watchlist' => 'á\83©á\83\94á\83\9bá\83\98 á\83\99á\83\9dá\83\9cá\83¢á\83 á\83\9dá\83\9aá\83\98á\83¡ á\83¡á\83\98á\83\90',
+'watchlist' => 'კონტროლის სია',
 'mywatchlist' => 'კონტროლის სია',
 'watchlistfor2' => '$1 ($2) თვის',
 'nowatchlist' => 'თქვენი კონტროლის სია ცარიელია.',
@@ -2657,11 +2657,18 @@ $1',
 # Move page
 'move-page' => '$1 — გადატანა',
 'move-page-legend' => 'გვერდის გადატანა',
-'movepagetext' => 'ქვემოთ მოცემული ფორმა გვერდს სახელს გადაარქმევს, რაც გადაიტანს მასთან დაკავშირებულ ისტორიასაც ახალ სახელზე. ძველი სათაური გახდება გადამისამართების გვერდი ახალ სათაურზე. ბმულები ძველი გვერდის სათაურზე არ შეიცვლება; შეამოწმეთ ორმაგი ან გამწყდარი გადამისამართებები. თქვენ ხართ პასუხისმგებელი, რომ ბმულები მკითხველს დანიშნულებისამებრ მიიყვანს.
+'movepagetext' => "ქვემოთ მოცემული ფორმა გვერდს სახელს გადაარქმევს, რაც გადაიტანს მასთან დაკავშირებულ ისტორიასაც ახალ სახელზე. 
+ძველი სათაური გახდება გადამისამართების გვერდი ახალ სათაურზე. 
+ბმულები ძველი გვერდის სათაურზე არ შეიცვლება; 
+შეამოწმეთ [[Special:DoubleRedirects|ორმაგი]] ან [[Special:BrokenRedirects|გამწყდარი გადამისამართებები]]. 
+თქვენ ხართ პასუხისმგებელი, რომ ბმულები მკითხველს დანიშნულებისამებრ მიიყვანს.
 
-გაითვალისწინეთ, რომ გვერდი არ გადავა, თუ ახალი სათაურით სტატია უკვე არსებობს, გარდა იმ შემთხვევისა, თუ ის ცარიელია ან გადამისამართებაა და არ აქვს გვერდის რედაქტირების ისტორია. ეს ნიშნავს, რომ თქვენ შეგიძლიათ დაუბრუნოთ ძველი სახელი გვერდს, თუ შეცდომა დაუშვით, მაგრამ არ შეგიძლიათ ზემოთ გადააწეროთ არსებულ გვერდს.
+გაითვალისწინეთ, რომ გვერდი არ გადავა, თუ ახალი სათაურით სტატია უკვე არსებობს, გარდა იმ შემთხვევისა, თუ ის ცარიელია ან გადამისამართებაა და არ აქვს გვერდის რედაქტირების ისტორია. 
+ეს ნიშნავს, რომ თქვენ შეგიძლიათ დაუბრუნოთ ძველი სახელი გვერდს, თუ შეცდომა დაუშვით, მაგრამ არ შეგიძლიათ ზემოთ გადააწეროთ არსებულ გვერდს.
 
-<b>გაფრთხილებთ!</b> ამ მოქმედებამ შეიძლება მნიშვნელოვანი და მოულოდნელი ცვლილება გამოიწვის პოპულარულ გვერდზე; სანამ გააგრძელებდეთ, გთხოვთ დარწმუნდეთ, რომ თქვენ გესმით თქვენი ქმედების შედეგები.',
+'''ფრთხილად!'''
+ამ მოქმედებამ შეიძლება მნიშვნელოვანი და მოულოდნელი ცვლილება გამოიწვის პოპულარულ გვერდზე; 
+სანამ გააგრძელებდეთ, გთხოვთ დარწმუნდეთ, რომ თქვენ გესმით თქვენი ქმედების შედეგები.",
 'movepagetext-noredirectfixer' => "ქვემოთ მოცემული ფორმა გვერდს სახელს გადაარქმევს, რაც გადაიტანს მასთან დაკავშირებულ ისტორიასაც ახალ სახელზე. 
 ძველი სათაური გახდება გადამისამართების გვერდი ახალ სათაურზე.
 შეამოწმეთ [[Special:DoubleRedirects|ორმაგი]] ან [[Special:BrokenRedirects|გამწყდარი]] გადამისამართებები. 
@@ -3000,6 +3007,7 @@ $1',
 'pageinfo-magic-words' => 'ჯადოსნური {{PLURAL:$1|სიტყვა|სიტყვა}} ($1)',
 'pageinfo-hidden-categories' => 'დამალული {{PLURAL:$1|კატეგორია|კატეგორია}} ($1)',
 'pageinfo-templates' => 'ინტეგრირებულია {{PLURAL:$1|თარგი|თარგი}} ($1)',
+'pageinfo-transclusions' => '{{PLURAL:$1|ჩართული გვერდი|ჩართული გვერდი}} ($1)',
 'pageinfo-toolboxlink' => 'გვერდის ინფორმაცია',
 'pageinfo-redirectsto' => 'გადამისამართება',
 'pageinfo-redirectsto-info' => 'ინფორმაცია',
@@ -3934,6 +3942,7 @@ MediaWiki ვრცელდება იმ იმედით, რომ ი
 'logentry-newusers-newusers' => 'მომხმარებლის ანგარიში $1 შექმნილია',
 'logentry-newusers-create' => 'შეიქმნა მომხმარებლის ანგარიში $1',
 'logentry-newusers-create2' => 'მომხმარებლის ანგარიში $3 შექმნა მომხმარებელმა $1',
+'logentry-newusers-byemail' => 'მომხმარებლის ანგარიში $3 შექმნა მომხმარებელმა $1 და პაროლი გაგზავნა ელ. ფოსტით',
 'logentry-newusers-autocreate' => 'ავტომატურად შეიქმნა მომხმარებლის ანგარიში $1',
 'logentry-rights-rights' => '$1 შეცვალა ჯგუფის წევრობა $3-თვის $4-დან $5-ზე',
 'logentry-rights-rights-legacy' => '$1 შეცვალა ჯგუფის წევრობა $3-თვის',
@@ -3991,7 +4000,8 @@ MediaWiki ვრცელდება იმ იმედით, რომ ი
 'api-error-nomodule' => 'შიდა შეცდომა. ატვირთვის მოდული არ არის კონფიგურირებული.',
 'api-error-ok-but-empty' => 'შიდა შეცდომა. სერვერს არ დაუბრუნებია ინფორმაცია ატვირთვადი ფაილის შესახებ.',
 'api-error-overwrite' => 'არსებული ფაილის შეცვლა მიუღებელია.',
-'api-error-stashfailed' => 'შიდა შეცდომა. ვიკიმ ვერ შეძლო დროებით ფაილის შენახვა.',
+'api-error-stashfailed' => 'შიდა შეცდომა: სერვერმა ვერ შეძლო დროებითი ფაილის შენახვა.',
+'api-error-publishfailed' => 'შიდა შეცდომა: სერვერმა ვერ შეძლო დროებითი ფაილის შენახვა.',
 'api-error-timeout' => 'სერვერმა არ მოახდინა რეაგირება მოსალოდნელ დროში.',
 'api-error-unclassified' => 'აღმოჩენილია უცნობი შეცდომა.',
 'api-error-unknown-code' => 'უცნობი შეცდომა : „$1“',
index 989a16c..0c50033 100644 (file)
@@ -674,7 +674,7 @@ Beno ke [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log
 Sıma be idarekerênia ho ra şikinê hona [$1 nê ferqi bıvênê], eke wazenê dewam kerê.",
 'rev-delundel' => 'bıasne/wedare',
 'rev-showdeleted' => 'bıasne',
-'revisiondelete' => 'Çımraviarnaisu bıestere/peyser bia',
+'revisiondelete' => 'Çımraviarnaisu bestere/peyser bia',
 'revdelete-nooldid-title' => 'Çımraviarnaena waştiye nêvêrena',
 'revdelete-nooldid-text' => 'Sıma vırastena nê fonksiyoni rê ya jü çımraviarnaena waştiye diyar nêkerdo, çımraviarnaena diyarkerdiye çına, ya ki sıma wazenê ke çımraviarnaena nıkaêne bınımnê.',
 'revdelete-nologtype-title' => 'Qet qeydê cı nêdiya',
@@ -902,7 +902,7 @@ Kaberê bini ke şıma de kewti irtıbat, adresa e-postey şıma eşkera nêbena
 'right-move' => 'Pelu bere',
 'right-movefile' => 'Dosyu bere',
 'right-upload' => 'Dosyu bar ke',
-'right-delete' => 'Pelu bıestere',
+'right-delete' => 'Pelu bestere',
 'right-undelete' => 'Esterıtena na pele peyser bıcê',
 
 # Special:Log/newusers
@@ -921,7 +921,7 @@ Kaberê bini ke şıma de kewti irtıbat, adresa e-postey şıma eşkera nêbena
 'action-move' => 'na pele bere',
 'action-movefile' => 'na dosya bere',
 'action-upload' => 'na dosya bar ke',
-'action-delete' => 'na pele bıestere',
+'action-delete' => 'na pele bestere',
 'action-undelete' => 'na pele meestere',
 
 # Recent changes
@@ -1007,7 +1007,7 @@ Kaberê bini ke şıma de kewti irtıbat, adresa e-postey şıma eşkera nêbena
 'file-anchor-link' => 'Dosya',
 'filehist' => 'Tarixê dosya',
 'filehist-help' => "Serba diyaena viartê dosya tarixê ke qısımê tarix/zeman'i derê inu bıteqne.",
-'filehist-deleteall' => 'Pêrune bıestere',
+'filehist-deleteall' => 'Pêrune bestere',
 'filehist-deleteone' => 'bestere',
 'filehist-revert' => 'raçarne',
 'filehist-current' => 'nıkaên',
@@ -1036,8 +1036,8 @@ Cêr [$2 pela arezekerdena dosya de] arezekerdene asnina.',
 'filerevert-submit' => 'Raçarne',
 
 # File deletion
-'filedelete' => 'Bıestere $1',
-'filedelete-legend' => 'Dosya bıestere',
+'filedelete' => 'Bestere $1',
+'filedelete-legend' => 'Dosya bestere',
 'filedelete-comment' => 'Sebeb:',
 'filedelete-submit' => 'Bestere',
 'filedelete-otherreason' => 'Sebebo bin/ilaweki:',
@@ -1168,7 +1168,7 @@ Nara dıme, vurnaisê na pele u pela hurênaisê dawa alaqedare ita bena lista,
 'changed' => 'vuriya',
 
 # Delete
-'deletepage' => 'Pele bıestere',
+'deletepage' => 'Pele bestere',
 'delete-legend' => 'Bestere',
 'confirmdeletetext' => 'Tı hawo kena ke jü pele be tarixê dae pêro bıne ra bıesterê.
 Eke ferqê neticê na kerdene de bena u no kar be gorê [[{{MediaWiki:Policy-url}}|qeydunê esterıtene]] beno, wa gurêy tesdiq ke.',
@@ -1398,7 +1398,7 @@ Kerem ke, qeydkerdene ra ver gozaga verqayti bıgurene.',
 Tı şikina çımunê dae bıvênê',
 'tooltip-ca-history' => 'Versiyonê verênê na pele',
 'tooltip-ca-protect' => 'Na pele bısevekne',
-'tooltip-ca-delete' => 'Na pele bıestere',
+'tooltip-ca-delete' => 'Na pele bestere',
 'tooltip-ca-move' => 'Namê na pele bıvurne',
 'tooltip-ca-watch' => 'Na pele bıcê lista huya şêrkerdene',
 'tooltip-ca-unwatch' => 'Na pele lista huya şêrkerdene ra wedare',
index 2e1f405..346dd04 100644 (file)
@@ -13,6 +13,7 @@
  * @author Esteban97
  * @author Kaganer
  * @author LeighvsOptimvsMaximvs
+ * @author MF-Warburg
  * @author McDutchie
  * @author MissPetticoats
  * @author Omnipaedista
@@ -1650,7 +1651,7 @@ Si pagina nova cum ipso nomine post deletionem creata est, emendationes restitut
 'blanknamespace' => '(principale)',
 
 # Contributions
-'contributions' => 'Conlationes usoris',
+'contributions' => 'Conlationes {{GENDER:$1|usoris}}',
 'contributions-title' => 'Conlationes usoris $1',
 'mycontris' => 'Conlationes',
 'contribsub2' => 'Pro $1 ($2)',
index a307b8d..a579d53 100644 (file)
@@ -11,6 +11,7 @@
  * @author Kaffi
  * @author Kaganer
  * @author Les Meloures
+ * @author MF-Warburg
  * @author Purodha
  * @author Reedy
  * @author Robby
@@ -2413,7 +2414,7 @@ $1',
 'blanknamespace' => '(Haapt)',
 
 # Contributions
-'contributions' => 'Kontributioune vum Benotzer $1',
+'contributions' => 'Kontributioune {{GENDER:$1|vum Benotzer $1}}',
 'contributions-title' => 'Kontributioune vum $1',
 'mycontris' => 'Kontributiounen',
 'contribsub2' => 'Fir $1 ($2)',
index 4c28f7b..b58684d 100644 (file)
@@ -2092,6 +2092,7 @@ Palaikomi protokolai: <code>$1</code> (nei vieno iš jų nenurodykite paieškoje
 'mailnologin' => 'Nėra adreso',
 'mailnologintext' => 'Jums reikia būti [[Special:UserLogin|prisijungusiam]] ir turi būti įvestas teisingas el. pašto adresas jūsų [[Special:Preferences|nustatymuose]], kad siųstumėte el. laiškus kitiems nautotojams.',
 'emailuser' => 'Rašyti laišką šiam naudotojui',
+'emailuser-title-target' => 'Siųsti E-pašto žinutę {{GENDER:$1|user}}',
 'emailuser-title-notarget' => 'El. pašto vartotojas',
 'emailpage' => 'Siųsti el. laišką naudotojui',
 'emailpagetext' => 'Jūs gali pasinaudoti šia forma norėdami nusiųsti el. laišką šiam naudotojui.
@@ -2164,6 +2165,16 @@ taip pat bus '''paryškinti''' [[Special:RecentChanges|naujausių keitimų sąra
 'enotif_mailer' => '{{SITENAME}} Pranešimų sistema',
 'enotif_reset' => 'Pažymėti visus puslapius kaip aplankytus',
 'enotif_impersonal_salutation' => '{{SITENAME}} naudotojau',
+'enotif_subject_deleted' => '{{GENDER:$2|Naudotojas}} ištrynė puslapį $1, priklausantį projektui {{SITENAME}}',
+'enotif_subject_created' => '{{GENDER:$2|Naudotojas}} sukūrė puslapį $1, priklausantį projektui {{SITENAME}}',
+'enotif_subject_moved' => '{{GENDER:$2|Naudotojas}} pervardino puslapį $1, priklausantį projektui {{SITENAME}}',
+'enotif_subject_restored' => '{{GENDER:$2|Naudotojas}} atstatė puslapį $1, priklausantį projektui {{SITENAME}}',
+'enotif_subject_changed' => '{{GENDER:$2|Naudotojas}} redagavo puslapį $1, priklausantį projektui {{SITENAME}}',
+'enotif_body_intro_deleted' => '$PAGEEDITDATE {{GENDER:$2|Naudotojas}} ištrynė puslapį $1, priklausantį projektui {{SITENAME}}, žr.                     $3.',
+'enotif_body_intro_created' => '$PAGEEDITDATE {{GENDER:$2|Naudotojas}} sukūrė puslapį $1, priklausantį projektui {{SITENAME}}. Dabartinė versija matoma $3.',
+'enotif_body_intro_moved' => '$PAGEEDITDATE {{GENDER:$2|Naudotojas}} pervardino puslapį $1, priklausantį projektui {{SITENAME}}. Dabartinė versija matoma $3.',
+'enotif_body_intro_restored' => '$PAGEEDITDATE {{GENDER:$2|Naudotojas}} atstatė puslapį $1, priklausantį projektui {{SITENAME}}. Dabartinė versija matoma $3.',
+'enotif_body_intro_changed' => '$PAGEEDITDATE {{GENDER:$2|Naudotojas}} redagavo puslapį $1, priklausantį projektui {{SITENAME}}. Dabartinė versija matoma $3.',
 'enotif_lastvisited' => 'Užeikite į $1, jei norite matyti pakeitimus nuo paskutiniojo apsilankymo.',
 'enotif_lastdiff' => 'Užeikite į $1, jei norite pamatyti šį pakeitimą.',
 'enotif_anon_editor' => 'anoniminis naudotojas $1',
@@ -3804,6 +3815,7 @@ Kitu atveju, galite naudotis žemiau esančia paprastesne forma. Jūsų komentar
 
 # Search suggestions
 'searchsuggest-search' => 'Ieškoti',
+'searchsuggest-containing' => 'turintys',
 
 # API errors
 'api-error-badaccess-groups' => 'Jums neleidžiama įkelti failus į šią wiki.',
index 140dc50..fde5c91 100644 (file)
@@ -106,7 +106,7 @@ $messages = array(
 'august' => 'Agustus',
 'september' => 'September',
 'october' => 'Oktober',
-'november' => 'November',
+'november' => 'Nopember',
 'december' => 'Desember',
 'january-gen' => 'Januari',
 'february-gen' => 'Pebruari',
@@ -118,7 +118,7 @@ $messages = array(
 'august-gen' => 'Agustus',
 'september-gen' => 'September',
 'october-gen' => 'Oktober',
-'november-gen' => 'November',
+'november-gen' => 'Nopember',
 'december-gen' => 'Desember',
 'jan' => 'Jan',
 'feb' => 'Peb',
@@ -127,10 +127,10 @@ $messages = array(
 'may' => 'Mai',
 'jun' => 'Jun',
 'jul' => 'Jul',
-'aug' => 'Agu',
+'aug' => 'Ags',
 'sep' => 'Sep',
 'oct' => 'Okt',
-'nov' => 'Nov',
+'nov' => 'Nop',
 'dec' => 'Des',
 
 # Categories related messages
@@ -141,11 +141,11 @@ $messages = array(
 'category-empty' => "''Kini ko, indak ado laman ataupun media dalam kategori ko.''",
 'hidden-categories' => '{{PLURAL:$1|Kategori tapandam|Kategori tapandam}}',
 'hidden-category-category' => 'Kategori tasambunyi',
-'category-subcat-count' => '{{PLURAL:$2|Kategori ko hanyo punyo subkategori berikut.|Kategori ko punyo {{PLURAL:$1|subkategori|$1 subkategori}}, dari total $2.}}',
+'category-subcat-count' => '{{PLURAL:$2|Kategori ko punyo {{PLURAL:$1|$1 subkategori}}, dari total $2.}}',
 'category-subcat-count-limited' => 'Kategori iko mamiliki {{PLURAL:$1|subkategori|$1 subkategori}} barikuik.',
-'category-article-count' => '{{PLURAL:$2|Kategori ko hanyo punyo laman berikut.|Kategori ko punyo  {{PLURAL:$1|laman|$1 laman}} dari total $2.}}',
+'category-article-count' => '{{PLURAL:$2|Kategori ko punyo {{PLURAL:$1|$1 laman}}, dari total $2.}}',
 'category-article-count-limited' => 'Kategori iko mamiliki {{PLURAL:$1|ciek laman|$1 laman}} barikuik.',
-'category-file-count' => '{{PLURAL:$2|Kategori iko hanyo mamiliki ciek laman barikuik.|Kategori iko mamiliki {{PLURAL:$1|laman|$1 laman}} barikuik, dari total $2.}}',
+'category-file-count' => '{{PLURAL:$2|Kategori ko ado {{PLURAL:$1|$1 laman}}, dari $2 laman.}}',
 'category-file-count-limited' => 'Kategori iko mamiliki {{PLURAL:$1|laman|$1 laman}} barikuik.',
 'listingcontinuesabbrev' => 'lanjuik',
 'index-category' => 'Laman nan diindeks',
@@ -189,7 +189,7 @@ $messages = array(
 'vector-view-viewsource' => 'Caliak sumber',
 'actions' => 'Tindakan',
 'namespaces' => 'Ruang namo:',
-'variants' => 'Variasi:',
+'variants' => 'Varian:',
 
 'navigation-heading' => 'Menu navigasi',
 'errorpagetitle' => 'Kasalahan',
@@ -200,11 +200,11 @@ $messages = array(
 'searchbutton' => 'Cari',
 'go' => 'Tuju',
 'searcharticle' => 'Tuju',
-'history' => 'Riwayaik halaman',
+'history' => 'Riwayaik laman',
 'history_short' => 'Riwayaik',
 'updatedmarker' => 'diubah sajak kunjuangan tarakhir ambo',
 'printableversion' => 'Versi cetak',
-'permalink' => 'Pranala parmanen',
+'permalink' => 'Pranala permanen',
 'print' => 'Cetak',
 'view' => 'Tampilkan',
 'edit' => 'Suntiang',
@@ -224,7 +224,7 @@ $messages = array(
 'talkpage' => 'Musyawarahkan laman ko',
 'talkpagelinktext' => 'Maota',
 'specialpage' => 'Laman istimewa',
-'personaltools' => 'Pakakeh paribadi',
+'personaltools' => 'Pakakeh pribadi',
 'postcomment' => 'Bagian baru',
 'articlepage' => 'Liek isi laman',
 'talk' => 'Rundiang',
@@ -268,8 +268,8 @@ $1',
 'edithelp' => 'Bantuan suntiangan',
 'edithelppage' => 'Help:Suntingan',
 'helppage' => 'Help:Isi',
-'mainpage' => 'Laman Utamo',
-'mainpage-description' => 'Laman utamo',
+'mainpage' => 'Palanta',
+'mainpage-description' => 'Palanta',
 'policy-url' => 'Project:Kabijakan',
 'portal' => 'Portal komunitas',
 'portal-url' => 'Project:Portal komunitas',
@@ -356,12 +356,12 @@ Basis data manghasilkan kasalahan "$3: $4".',
 'readonly' => 'Basis data dikunci',
 'enterlockreason' => 'Masuakkan alasan panguncian, tamasuak pakiraan bilo kunci akan dibuka',
 'readonlytext' => 'Basis data sadang dikunci tahadok masuakan baru. Panguruih nan malakukan panguncian mamberikan panjalehan sabagai berikut: <p>$1',
-'missing-article' => 'Basis data indak dapek manamukan teks dari laman nan saharuihnyo ado, yaitu "$1" $2.
+'missing-article' => 'Basisdata indak dapek manamukan teks dari laman nan saharuihnyo ado, yaitu "$1" $2.
 
 Hal ko biasonyo disababkan dek pranala usang ka pabaikkan tadahulu laman nan alah dihapuih.
 
-Jikok bukan iko panyababnyo, Sanak mungkin alah manamukan sabuah bug dalam pakakeh lunak.
-Silakan laporkan hal iko ka [[Special:ListUsers/sysop|Pangurus]], dangan manyabuikkan alamaik URL nan dituju.',
+Jikok bukan ko panyababnyo, Sanak mungkin alah manamukan sabuah bug dalam pakakeh lunak.
+Silakan laporkan hal iko ka [[Special:ListUsers/sysop|pangurus]], sarato manyabuikkan alamaik URL nan dituju.',
 'missingarticle-rev' => '(revisi#: $1)',
 'missingarticle-diff' => '(Bedo: $1, $2)',
 'readonly_lag' => 'Basis data alah dikunci otomatis salagi basis data sakunder malakukan sinkronisasi jo basis data utamo',
@@ -384,7 +384,7 @@ Mungkin alah dihapuih jo urang lain.',
 'delete-hook-aborted' => 'Pengapusan batal jo hook.
 Indak ado keterangan.',
 'badtitle' => 'Judul indak sah',
-'badtitletext' => 'Permintaan judul laman indak sah, kosong, atau antarbaso atau antarwiki yang salah sambuang. Mungkin juo ado kandungan karakter yang indak buliah digunoan untuak judul.',
+'badtitletext' => 'Pamintaan judul laman indak sah, kosong, atau antarbaso atau antarwiki nan salah sambuang. Mungkin juo ado kandungan karakter nan indak buliah digunoan untuak judul.',
 'perfcached' => 'Data barikuik ko diambiak dari singgahan dan mungkin indak data nan baru. Nan tabanyak dari {{PLURAL:$1|suatu hasil dari|$1 hasilnyo}} ado di singgahan.',
 'perfcachedts' => 'Data barikuik ko singgahan, dan tarakhir diperbarui $1. Nan tabanyak dari {{PLURAL:$1|suatu hasil dari|$1 hasilnyo}} ado di singgahan.',
 'querypage-no-updates' => 'Pamutakhiran dari laman iko sadang dimatian. Data nan ado di siko saat iko indak akan dimuaik ulang.',
@@ -447,7 +447,7 @@ Parhatian bahawa bara laman mungkin masih taruih manunjukkan bahawa Sanak masih
 'userlogout' => 'Kalua log',
 'notloggedin' => 'Alun masuak log',
 'nologin' => "Alun mampunyoi akun? '''$1'''.",
-'nologinlink' => 'Cipta akun baru',
+'nologinlink' => 'Buek akun baru',
 'createaccount' => 'Buek akun baharu',
 'gotaccount' => "Alah tadaftar sabagai pangguno? '''$1'''.",
 'gotaccountlink' => 'Masuak log',
@@ -594,13 +594,13 @@ Sandi samantaro: $2',
 'changeemail-cancel' => 'Batalkan',
 
 # Edit page toolbar
-'bold_sample' => 'Teks dicetak taba',
-'bold_tip' => 'Teks dicetak taba',
-'italic_sample' => 'Teks dicetak miriang',
-'italic_tip' => 'Teks dicetak miriang',
+'bold_sample' => 'Teks taba',
+'bold_tip' => 'Teks taba',
+'italic_sample' => 'Teks miriang',
+'italic_tip' => 'Teks miriang',
 'link_sample' => 'Judul pranala',
-'link_tip' => 'Pranala dalam',
-'extlink_sample' => 'http://www.example.com judul pranala',
+'link_tip' => 'Pranala internal',
+'extlink_sample' => 'http://www.hanyo-contoh.com judul pranala',
 'extlink_tip' => 'Pranala lua (ingek awalannyo http://)',
 'headline_sample' => 'Teks judul',
 'headline_tip' => 'Tingkek 2 judul',
@@ -608,8 +608,8 @@ Sandi samantaro: $2',
 'nowiki_tip' => 'Abaikan format wiki',
 'image_tip' => 'Cantumkan berkas',
 'media_tip' => 'Pranala berkas',
-'sig_tip' => 'Tandotangan awak jo tando waktu',
-'hr_tip' => 'Garih horizontal',
+'sig_tip' => 'Tandotangan sanak jo waktu',
+'hr_tip' => 'Garih mandata',
 
 # Edit pages
 'summary' => 'Ringkasan:',
@@ -617,12 +617,12 @@ Sandi samantaro: $2',
 'minoredit' => 'Suntiangan ketek',
 'watchthis' => 'Pantau laman ko',
 'savearticle' => 'Simpan laman',
-'preview' => 'Pratayang',
-'showpreview' => 'Caliak pratayang',
+'preview' => 'Caliak',
+'showpreview' => 'Caliak pratonton',
 'showlivepreview' => 'Pratayang langsuang',
 'showdiff' => 'Caliak parubahan',
-'anoneditwarning' => "'''Peringatan:''' Awak alun masuak log.
-Alamat IP awak akan tacatat pado riwayat suntingan laman ko.",
+'anoneditwarning' => "'''Ingek:''' Sanak alun masuak log.
+Alamat IP sanak tacatat pado riwayaik suntiangan laman ko.",
 'anonpreviewwarning' => "''Sanak alun masuak log. Manyimpan laman akan manyababkan alamaik IP Sanak tacatat pado riwayat suntiangan laman iko.''",
 'missingsummary' => "'''Paringatan:''' Sanak indak mamasuakan ringkasan panyuntiangan. Jikok Sanak baliak manakan tombol Simpan, suntiangan Sanak akan disimpan tanpa ringkasan panyuntiangan.",
 'missingcommenttext' => 'Sila masuakan komenta di bawah iko.',
@@ -683,8 +683,7 @@ Jikok Sanak adolah saurang pangguno anonim dan marasa mandapekkan komentar-komen
 'noarticletext' => 'Kini ko indak ada teks di laman iko.
 Sanak dapek [[Special:Search/{{PAGENAME}}|malakukan pancarian untuak judul laman iko]] di laman-laman lain, <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} mancari log takaik], atau [{{fullurl:{{FULLPAGENAME}}|action=edit}} manyuntiang laman iko]</span>.',
 'noarticletext-nopermission' => 'Kini ko indak ado teks dalam laman ko.
-
-Sanak dapek [[Special:Search/{{PAGENAME}}|malakukan pancahrian untuak judul laman ko]] di laman lain, atau <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} mancahari log takaik] </span>, tapi Sanak indak punyo izin untuak mambuek laman ko.',
+Sanak dapek [[Special:Search/{{PAGENAME}}|malakukan pancarian untuak judul laman ko]] di laman lain, atau <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} mancahari log takaik] </span>, tapi Sanak indak punyo izin untuak mambuek laman ko.',
 'missing-revision' => 'Revisi $1 di laman nan banamo "{{PAGENAME}}" ko indak ado.
 
 Hal iko biasonyo disababkan dek pranala sijarah nan alah kadaluarsa ka laman nan alah dihapuih.
@@ -762,12 +761,12 @@ Entri catatan tarakhir disadioan di bawah untuak referensi:",
 'cascadeprotectedwarning' => "'''PARINGATAN:''' Laman iko sadang dilinduangi sahinggo hanyo pangguno jo hak akses pangurus sajo nan dapek manyuntiangnyo karano disaratokan dalam {{PLURAL:$1|laman|laman-laman}} barikuik nan alah dilinduangi jo opsi 'palinduangan runtun':",
 'titleprotectedwarning' => "'''Paringatan: Laman iko alah dilinduangi sahinggo diparaluan [[Special:ListGroupRights|hak khusus]] untuak mambueknyo.'''
 Entri catatan tarakhir disadioan di bawah untuak referensi:",
-'templatesused' => '{{PLURAL:$1|Templat|Templat}} yang digunoan di laman iko:',
+'templatesused' => '{{PLURAL:$1|Templat}} yang digunoan di laman ko:',
 'templatesusedpreview' => '{{PLURAL:$1|Templat|Templat}} yang digunoan dalam pratonton ko:',
 'templatesusedsection' => '{{PLURAL:$1|Templat|Templat}} nan digunoan di bagian iko:',
 'template-protected' => '(dilinduangi)',
 'template-semiprotected' => '(semi-perlindungan)',
-'hiddencategories' => 'Laman ko marupokan kalompok dari {{PLURAL:$1|1 kategori tapandam|$1 kategori tapandam}}:',
+'hiddencategories' => 'Laman ko marupokan kalompok dari {{PLURAL:$1|$1 kategori tapandam}}:',
 'nocreatetext' => '{{SITENAME}} alah mambatasi pambuekan laman-laman baharu.
 Sanak dapek baliak dan manyuntiang laman nan alah ado, atau sila [[Special:UserLogin|masuak log atau mambuek akun]].',
 'nocreate-loggedin' => 'Sanak ndak mampunyoi hak akses untuak mambuek laman baharu.',
@@ -781,7 +780,7 @@ Sanak dapek baliak dan manyuntiang laman nan alah ado, atau sila [[Special:UserL
 Harap patimbangan apokah layak untuak malanjutan suntiangan Sanak.
 Barikuik adolah log panghapuihan dan pamindahan dari laman iko:",
 'moveddeleted-notice' => 'Laman ko alah dihapuih.
-Sabagai referensi, barikuik adolah log panghapusan dan pamindahannyo.',
+Sabagai referensi, barikuik adolah log panghapuihan dan pamindahannyo.',
 'log-fulllog' => 'Liek saluruah log',
 'edit-hook-aborted' => 'Suntiangan dibatalan samo kait parser
 tanpa ado katarangan.',
@@ -810,9 +809,9 @@ Seharusnyo kurang dari $2 {{PLURAL:$2|panggilan|$2 panggilan}}, tapi {{PLURAL:$1
 'post-expand-template-inclusion-warning' => "'''Peringatan:''' Ukuran templat talalu gadang.
 Babarapo templat akan diabaikan.",
 'post-expand-template-inclusion-category' => 'Laman nan ukurannyo templatnyo malabiahi bateh',
-'post-expand-template-argument-warning' => 'Paringatan: Laman ko barisi satidaknyo ciek uraian templat na baukuran ekspansi nan talalu gadang. 
+'post-expand-template-argument-warning' => 'Paringatan: Laman ko barisi satidaknyo ciek uraian templat na ukuran ekspansinyo talalu gadang. 
 Uraian-uraian tu alah diabaikan.',
-'post-expand-template-argument-category' => 'Laman nan barisi uraian template nan diabaikan',
+'post-expand-template-argument-category' => 'Laman nan barisi uraian templat nan diabaikan',
 'parser-template-loop-warning' => 'Hubungan barulang templat tadeteksi: [[$1]]',
 'parser-template-recursion-depth-warning' => 'Limit kadalaman hubungan barulang templat lah talampau ($1)',
 'language-converter-depth-warning' => 'Bateh kadalaman pangonversi bahaso lah talampau ($1)',
@@ -821,6 +820,7 @@ Uraian-uraian tu alah diabaikan.',
 'expansion-depth-exceeded-category' => 'Laman dima kadalaman ekspansi lah talampau',
 'expansion-depth-exceeded-warning' => 'Laman kadalaman ekspansi lah talampau',
 'parser-unstrip-loop-warning' => 'Unstrip loop detected',
+'parser-unstrip-recursion-limit' => 'Unstrip recursion limit exceeded ($1)',
 'converter-manual-rule-error' => 'Kasalahan tadeteksi di aturan manual konversi bahaso',
 
 # "Undo" feature
@@ -832,10 +832,15 @@ Tolong cek pabandiangan di bawah untuak mayakinkan bahwa bana itu nan Sanak ingi
 
 # Account creation failure
 'cantcreateaccounttitle' => 'Indak dapek mambuek akun',
+'cantcreateaccount-text' => "Mambuek akun dari alamat IP ko ('''$1''') alah diblok jo [[User:$3|$3]].
+
+Alasan nan diagiah jo $3 adolah ''$2''",
 
 # History pages
 'viewpagelogs' => 'Caliak log untuak laman ko',
-'currentrev-asof' => 'Revisi terkini pado $1',
+'nohistory' => 'Indak ado sajarah panyuntiangan untuak laman ko',
+'currentrev' => 'Revisi tabaru',
+'currentrev-asof' => 'Revisi tabaru pado $1',
 'revisionasof' => 'Pabaikkan per $1',
 'revision-info' => 'Revisi sajak $1 dek $2',
 'previousrevision' => '← Pabaikkan sabalunnyo',
@@ -846,8 +851,8 @@ Tolong cek pabandiangan di bawah untuak mayakinkan bahwa bana itu nan Sanak ingi
 'last' => 'sabalun',
 'page_first' => 'awal',
 'page_last' => 'akhir',
-'histlegend' => "Membandingkan pilihan: Tandoi antaro duo versi nan ingin dibandingan dangan mamilih kotak radionyo, dan takan tombol ''Bandiangan versi tapiliah''.<br />
-Legend: '''({{int:kini}})''' = perbedaan jo versi taakhia, '''({{int:dulu}})''' = pabedoan jo versi sabalunnyo, '''{{int:k}}''' = suntiangan ketek, '''{{int:b}}''' = suntiangan bot.",
+'histlegend' => "Bandiangkan pilihan: Tandoi revisi untuak mambandiangkan dan takan enter atau tombol di bawah.<br />
+Contoh: '''({{int:cur}})''' = bedo jo versi tarakhia, '''({{int:last}})''' = bedo jo versi sabalunnyo, '''{{int:minoreditletter}}''' = suntiangan ketek.",
 'history-fieldset-title' => 'Talusuri riwayaik',
 'history-show-deleted' => 'Hanyo nan dihapuih',
 'histfirst' => 'Nan lamo',
@@ -859,25 +864,54 @@ Legend: '''({{int:kini}})''' = perbedaan jo versi taakhia, '''({{int:dulu}})'''
 'history-feed-title' => 'Riwayat revisi',
 'history-feed-description' => 'Riwayat revisi laman ko di wiki',
 'history-feed-item-nocomment' => '$1 pado $2',
+'history-feed-empty' => 'Laman nan dicari indak ado.
+Mungkin alah dihapuih dari wiki, atau diagiah namo baru.
+Cuba [[Special:Search|cari dulu]] untuak laman lain nan relevan.',
 
 # Revision deletion
+'rev-deleted-comment' => '(ringkasan suntiangan dihapuih)',
+'rev-deleted-user' => '(namo pangguno dihapuih)',
+'rev-deleted-event' => '(isi dihapuih)',
+'rev-deleted-user-contribs' => '[namo pangguno atau alamat IP dihapuih - suntiangan disuruakkan pad dafta kontribusi]',
+'rev-deleted-text-permission' => "Revisi laman ko alah '''dihapuih'''.
+Rinciannyo mungkin ado di [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} log panghapuihan]",
+'rev-deleted-text-unhide' => "Revisi laman ko alah '''dihapuih'''.
+Rinciannyo mungkin ado di [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} log penghapuihan].
+Angku masih dapek [$1 maliek revisi ko] ko' amuah.",
+'rev-suppressed-text-unhide' => "Revisi laman ko alah '''tabanam'''.
+Rinciannyo mungkin ado di [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} log pambanaman].
+Angku masih dapek [$1 maliek revisi ko] ko' amuah.",
+'rev-deleted-text-view' => "Laman revisi ko alah '''dihapuih'''.
+Angku dapek mancaliaknyo; rinciannyo mungkin ado di [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} log penghapuihan].",
+'rev-suppressed-text-view' => "Revisi laman ko alah '''tabanam'''.
+Angku dapek malieknyo; rinciannyo mungkin ado di [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} log pambanaman]",
+'rev-deleted-no-diff' => "Angku indak dapek maliek pabedoan ko dek salah satu dari revisinyo alah '''dihapuih'''.
+Rinciannyo mungkin ado di [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} log penghapuihan].",
 'rev-delundel' => 'tampilkan/suruakkan',
+'rev-showdeleted' => "tunjua'an",
+'revdelete-show-file-submit' => 'Yo',
+'revdelete-radio-set' => 'Yo',
+'revdelete-radio-unset' => 'Indak',
+'revdelete-log' => 'Alasan:',
 'revdel-restore' => 'ganti tampilan',
 'revdel-restore-deleted' => 'suntiangan nan alah dihapuih',
 'revdel-restore-visible' => 'tampilan revisi',
+'pagehist' => 'Riwayaik laman',
+'revdelete-otherreason' => 'Alasan lain/tambahan:',
+'revdelete-reasonotherlist' => 'Alasan lain',
 
 # Merge log
-'revertmerge' => 'Bata bagabuang',
+'revertmerge' => 'Batagabuang',
 
 # Diffs
-'history-title' => 'Riwayaik pabaiakkan dari "$1"',
+'history-title' => 'Riwayaik revisi dari "$1"',
 'lineno' => 'Barih $1:',
 'compareselectedversions' => 'Bandiangan versi tapiliah',
-'editundo' => 'batalan',
+'editundo' => 'batal',
 'diff-multi' => '({{PLURAL:$1|ciek |$1 revisi antaro}} oleh {{PLURAL:$2|ciek|$2 pangguno}} indak ditampilkan)',
 
 # Search results
-'searchresults' => 'Asia pancarian',
+'searchresults' => 'Hasil pancarian',
 'searchresults-title' => 'Hasil pancarian untuak "$1"',
 'searchresulttext' => 'Untuak informasi labiah lanjuik tantang pancarian {{SITENAME}}, caliak [[{{MediaWiki:Helppage}}|{{int:help}}]].',
 'searchsubtitle' => 'Awak mancari \'\'\'[[:$1]]\'\'\' ([[Special:Prefixindex/$1|sado laman yang dimulai jo "$1"]]{{int:pipe-separator}}[[Special:WhatLinksHere/$1|sado laman nan tapauik ka "$1"]])',
@@ -886,9 +920,9 @@ Legend: '''({{int:kini}})''' = perbedaan jo versi taakhia, '''({{int:dulu}})'''
 'notextmatches' => 'Indak ado judul nan pas',
 'prevn' => '{{PLURAL:$1|$1}} sabalunnyo',
 'nextn' => '{{PLURAL:$1|$1}} salanjuiknyo',
-'prevn-title' => '$1 {{PLURAL:$1|Hasil|Hasil-hasil}} sabalunnyo',
-'nextn-title' => '$1 {{PLURAL:$1|Hasil|Hasil-hasil}} barikuiknyo',
-'shown-title' => 'Tampilkan $1 {{PLURAL:$1|hasil|hasil-hasil}} per laman',
+'prevn-title' => '$1 {{PLURAL:$1|hasil}} sabalunnyo',
+'nextn-title' => '$1 {{PLURAL:$1|hasil}} barikuiknyo',
+'shown-title' => 'Tampilkan $1 {{PLURAL:$1|hasil}} per laman',
 'viewprevnext' => 'Caliakkan ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-exists' => "'''Ado laman nan banamo \"[[:\$1]]\" pado wiki ko.'''",
 'searchmenu-new' => "'''Buek laman \"[[:\$1]]\" di wiki ko!'''",
@@ -931,7 +965,7 @@ Cubo awali permintaan awak tu jo ''all:'' untuak mancari sado kandungan (tamasua
 
 # Preferences page
 'preferences' => 'Preferensi',
-'mypreferences' => 'Preferensi',
+'mypreferences' => 'Pangaturan',
 'prefs-beta' => 'Fitur Beta',
 'prefs-datetime' => 'Tanggal dan waktu',
 'prefs-labs' => 'Fitur uji',
@@ -989,20 +1023,20 @@ Alamaik surek elektronik awak ang tu indak kan katahuan dek urang lain nan mangh
 'recentchanges-legend' => 'Pilihan parubahan baru',
 'recentchanges-summary' => 'Manjajak parubahan terbaru dalam wiki di laman ko.',
 'recentchanges-feed-description' => 'Temukan parubahan baru dalam umpan wiki ko',
-'recentchanges-label-newpage' => 'Suntiang ko mambuek laman baru',
-'recentchanges-label-minor' => 'Iko disuntiang saketek',
+'recentchanges-label-newpage' => 'Suntiangan ko mambuek laman baru',
+'recentchanges-label-minor' => 'Iko suntiangan ketek',
 'recentchanges-label-bot' => 'Suntiang ko dibuek dek bot',
-'recentchanges-label-unpatrolled' => 'Suntiangan ko alun tajago',
+'recentchanges-label-unpatrolled' => 'Suntiangan ko alun dipatroli',
 'rcnote' => "Berikut ko {{PLURAL:$1|'''1'''|'''$1'''}} parubahan dalam {{PLURAL:$2|hari|'''$2''' hari}} terakhir, sampai $5, pukul $4.",
 'rcnotefrom' => "Di bawah ko ado parubahan sejak '''$2''' (sampai '''$1''' parubahan).",
-'rclistfrom' => 'Tampilkan parubahan baru sejak $1',
+'rclistfrom' => 'Tampilkan parubahan baru mulai dari $1',
 'rcshowhideminor' => '$1 suntingan ketek',
 'rcshowhidebots' => '$1 bot',
 'rcshowhideliu' => '$1 pangguno masuak log',
 'rcshowhideanons' => '$1 pangguno anon',
 'rcshowhidepatr' => '$1 suntiangan nan tajago',
 'rcshowhidemine' => '$1 suntingan denai',
-'rclinks' => 'Tampilkan $1 parubahan baru dalam $2 hari terakhir<br />$3',
+'rclinks' => 'Tampilkan $1 parubahan tabaru dalam $2 hari tarakhir<br />$3',
 'diff' => 'bedo',
 'hist' => 'sijarah',
 'hide' => 'Suruakkan',
@@ -1010,7 +1044,7 @@ Alamaik surek elektronik awak ang tu indak kan katahuan dek urang lain nan mangh
 'minoreditletter' => 'k',
 'newpageletter' => 'B',
 'boteditletter' => 'b',
-'rc-enhanced-expand' => 'Tampilkan rincian (perlu JavaScript)',
+'rc-enhanced-expand' => 'Tampilkan rincian (paralu JavaScript)',
 'rc-enhanced-hide' => 'Suruakkan rincian',
 
 # Recent changes linked
@@ -1018,10 +1052,10 @@ Alamaik surek elektronik awak ang tu indak kan katahuan dek urang lain nan mangh
 'recentchangeslinked-toolbox' => 'Parubahan takaik',
 'recentchangeslinked-title' => 'Parubahan nan takaik jo "$1"',
 'recentchangeslinked-noresult' => 'Indak ado parubahan pado laman nan tapauik salamo periode nan ditantuan',
-'recentchangeslinked-summary' => "Iko adolah daftar parubahan tarakhir pado laman nan tahubuang dari laman tatantu (atau anggota dari suatu kategori tatantu).
-Halaman pada [[Special:Watchlist|your watchlist]] ditondai dangan '''cetak taba''",
+'recentchangeslinked-summary' => "Iko dafta parubahan tarakhir pado laman nan tahubuang dari laman tatantu (atau anggota dari kategori tatantu).
+Laman pado [[Special:Watchlist|pantauan Sanak]] ditandoi jo '''cetak taba'''.",
 'recentchangeslinked-page' => 'Namo laman:',
-'recentchangeslinked-to' => 'Tampilkan parubahan dari laman yang takaik jo laman yang disajikan',
+'recentchangeslinked-to' => 'Tampilkan parubahan dari laman nan takaik jo laman nan ko',
 
 # Upload
 'upload' => 'Muek berkas',
@@ -1043,33 +1077,33 @@ Halaman pada [[Special:Watchlist|your watchlist]] ditondai dangan '''cetak taba'
 'filehist-thumbtext' => 'Miniatur untuak versi per $1',
 'filehist-user' => 'Pangguno',
 'filehist-dimensions' => 'Dimensi',
-'filehist-comment' => 'Ulasan',
+'filehist-comment' => 'Komen',
 'imagelinks' => 'Panggunoan berkas',
-'linkstoimage' => 'Berikut ko ado {{PLURAL:$1|laman nan takaik|$1 laman nan takaik}} jo berkas ko:',
-'nolinkstoimage' => 'Indak ado laman nan ado batauik ka berkas ko.',
+'linkstoimage' => 'Barikuik ko {{PLURAL:$1|laman nan takaik|$1 laman nan takaik}} jo berkas:',
+'nolinkstoimage' => 'Indak ado laman nan batauik ka berkas ko.',
 'sharedupload' => 'Berkas ko barasal dari $1 dan mungkin digunoan oleh berbagai proyek lain.',
 'sharedupload-desc-here' => 'Berkas ko dari $1 dan mungkin digunoan untuak proyek-proyek lain.
-Deskripsi dari [$2 laman deskripsi berkas] ditampilkan di bawah.',
+Katarangan dari [$2 laman kataranagn berkas] ditampilkan di bawah.',
 'uploadnewversion-linktext' => 'Unggah versi baru dari berkas ko',
 
 # Random page
-'randompage' => 'Laman sambarangan',
+'randompage' => 'Laman sumbarang',
 
 # Statistics
 'statistics' => 'Statistik',
 
-'disambiguationspage' => 'Template:disambig',
+'disambiguationspage' => 'Template:sanamo',
 
 # Miscellaneous special pages
-'nbytes' => '$1 {{PLURAL:$1|bait|bait}}',
-'nmembers' => '$1 {{PLURAL:$1|anggota|anggota}}',
+'nbytes' => '$1 {{PLURAL:$1|bita}}',
+'nmembers' => '$1 {{PLURAL:$1|anggota}}',
 'prefixindex' => 'Semua laman jo awalan',
 'usercreated' => '{{GENDER:$3|Dibuek}} pado $1 pukua $2',
 'newpages' => 'Laman baru',
-'move' => 'Pindahan',
+'move' => 'Pindah',
 'movethispage' => 'Pindahan laman ko',
-'pager-newer-n' => '{{PLURAL:$1|labiah baru 1|labiah baru $1}}',
-'pager-older-n' => '{{PLURAL:$1|labiah lamo 1|labiah lamo $1}}',
+'pager-newer-n' => '{{PLURAL:$1|$1 labiah baru}}',
+'pager-older-n' => '{{PLURAL:$1|$1 labiah lamo}}',
 
 # Book sources
 'booksources' => 'Sumber buku',
@@ -1080,8 +1114,8 @@ Deskripsi dari [$2 laman deskripsi berkas] ditampilkan di bawah.',
 'log' => 'Log',
 
 # Special:AllPages
-'allpages' => 'Semua laman',
-'alphaindexline' => '$1 hinggo $2',
+'allpages' => 'Kasado laman',
+'alphaindexline' => '$1 sampai $2',
 'prevpage' => 'Laman sabalunnyo ($1)',
 'allpagesfrom' => 'Tampilkan laman mulai dari:',
 'allpagesto' => 'Tampilkan laman hinggo:',
@@ -1102,8 +1136,8 @@ Deskripsi dari [$2 laman deskripsi berkas] ditampilkan di bawah.',
 'emailuser' => 'E-mail pangguno',
 
 # Watchlist
-'watchlist' => 'Senarai pantauan denai',
-'mywatchlist' => 'Dafta pantauan denai',
+'watchlist' => 'Daftapantau',
+'mywatchlist' => 'Daftapantau',
 'watchlistfor2' => 'Untuak $1 $2',
 'addedwatchtext' => "Laman \"[[:\$1]]\" lah ditambahkan ka [[Special:Watchlist|senarai pantauan awak]].
 Parubahan laman ko tamasuak laman otanyo akan ditampilkan dalam '''cetak taba''' pado [[Special:RecentChanges|senarai parubahan]] agar lebih mudah manjagonyo.",
@@ -1123,11 +1157,11 @@ Parubahan laman ko tamasuak laman otanyo akan ditampilkan dalam '''cetak taba'''
 'deletepage' => 'Hapuih laman',
 'confirmdeletetext' => 'Awak akan mahapuih laman atau berkas basamo riwayatnyo.
 Pastikan awak mainginkannyo, dan awak lah tahu sagalo akibatnyo dan sasuai jo [[{{MediaWiki:Policy-url}}|kebijakan]] yang balaku.',
-'actioncomplete' => 'Proses selesai',
-'actionfailed' => 'Aksi gagal',
+'actioncomplete' => 'Proses salasai',
+'actionfailed' => 'Proses gagal',
 'deletedtext' => '"$1" lah dihapuih.
 Caliak $2 untuak rakam jajak laman nan lah dihapuih.',
-'dellogpage' => 'Log penghapusan',
+'dellogpage' => 'Log penghapuihan',
 'deletecomment' => 'Alasan:',
 'deleteotherreason' => 'Alasan lain/tambahan:',
 'deletereasonotherlist' => 'Alasan lain',
@@ -1136,7 +1170,7 @@ Caliak $2 untuak rakam jajak laman nan lah dihapuih.',
 'rollbacklink' => 'baliakkan',
 
 # Protect
-'protectlogpage' => 'Log perlindungan',
+'protectlogpage' => 'Log palinduangan',
 'protectedarticle' => 'melindungi "[[$1]]"',
 'modifiedarticleprotection' => 'maubah tingkek perlindungan "[[$1]]"',
 'protectcomment' => 'Alasan:',
@@ -1172,20 +1206,20 @@ Awak dapek maubah tingkek perlindungannyo, walaupun indak pangaruah pado perlind
 'blanknamespace' => '(Utamo)',
 
 # Contributions
-'contributions' => 'Kontribusi {{GENDER:$1|pangguno}}',
+'contributions' => 'Jariah {{GENDER:$1|pangguno}}',
 'contributions-title' => 'Jariah pangguno untuak $1',
 'mycontris' => 'Jariah denai',
 'contribsub2' => 'Untuak $1 ($2)',
-'uctop' => '(atas)',
-'month' => 'Sajak bulan (dan sabalunnyo):',
-'year' => 'Sajak taun (dan sabalunnyo):',
+'uctop' => '(ateh)',
+'month' => 'Dari bulan (dan sabalunnyo):',
+'year' => 'Dari taun (dan sabalunnyo):',
 
 'sp-contributions-newbies' => 'Tampilkan jariah pangguno baru',
-'sp-contributions-blocklog' => 'log pambalokiran',
+'sp-contributions-blocklog' => 'log pamblokiran',
 'sp-contributions-deleted' => 'kontribusi pangguno nan lah batiadoan',
 'sp-contributions-uploads' => 'muek',
 'sp-contributions-logs' => 'log',
-'sp-contributions-talk' => 'kecek',
+'sp-contributions-talk' => 'diskusi',
 'sp-contributions-search' => 'Cari jariah',
 'sp-contributions-username' => 'Alamat IP atau namo pangguno:',
 'sp-contributions-toponly' => 'Hanyo manampilan suntiangan nan taakhia',
@@ -1197,7 +1231,7 @@ Awak dapek maubah tingkek perlindungannyo, walaupun indak pangaruah pado perlind
 'whatlinkshere-page' => 'Laman:',
 'linkshere' => "Laman-laman ko bakaik ka '''[[:$1]]''':",
 'nolinkshere' => "Indak ado laman nan punyo tautan ka '''[[:$1]]'''.",
-'isredirect' => 'laman pengalihan',
+'isredirect' => 'laman pengaliahan',
 'istemplate' => 'transklusi',
 'isimage' => 'tautan berkas',
 'whatlinkshere-prev' => '{{PLURAL:$1|sabalunnyo|sabalunnyo $1}}',
@@ -1207,14 +1241,14 @@ Awak dapek maubah tingkek perlindungannyo, walaupun indak pangaruah pado perlind
 'whatlinkshere-hidetrans' => '$1 transklusi',
 'whatlinkshere-hidelinks' => '$1 pranala',
 'whatlinkshere-hideimages' => '$1 pahubuang berkas',
-'whatlinkshere-filters' => 'Penapis',
+'whatlinkshere-filters' => 'Panapiah',
 
 # Block/unblock
 'blockip' => 'Blokir pangguno',
-'ipboptions' => '2 jam:2 hours,1 hari:1 day,3 hari:3 days,1 minggu:1 week,2 minggu:2 weeks,1 bulan:1 month,3 bulan:3 months,6 bulan:6 months,1 tahun:1 year,salamonyo:infinite',
+'ipboptions' => '2 jam:2 hours,1 hari:1 day,3 hari:3 days,1 minggu:1 week,2 minggu:2 weeks,1 bulan:1 month,3 bulan:3 months,6 bulan:6 months,1 taun:1 year,salamonyo:infinite',
 'ipblocklist' => 'Pangguno tablokir',
 'blocklink' => 'balokir',
-'unblocklink' => 'hilangkan balokir',
+'unblocklink' => 'hilangkan blokir',
 'change-blocklink' => 'ubah balokir',
 'contribslink' => 'jariah',
 'blocklogpage' => 'Log pambalokiran',
@@ -1257,62 +1291,62 @@ Dalam kasus tu, apobilo diinginkan, awak dapek mamindahkan atau manggabuangkan l
 
 # Thumbnails
 'thumbnail-more' => 'Pagadang',
-'thumbnail_error' => 'Gagal mambuek thumbnail : $1',
+'thumbnail_error' => 'Gagal mambuek miniatur: $1',
 
 # Tooltip help for the actions
 'tooltip-pt-userpage' => 'Laman pangguno sanak',
 'tooltip-pt-mytalk' => 'Laman ota sanak',
 'tooltip-pt-preferences' => 'Preferensi denai',
-'tooltip-pt-watchlist' => 'Daftar laman nan denai pantau.',
+'tooltip-pt-watchlist' => 'Dafta laman nan dipantau.',
 'tooltip-pt-mycontris' => 'Daftar jariah Sanak',
-'tooltip-pt-login' => 'Sanak disarankan untuak masuak log; musiki, hal tu indak diwajibkan',
+'tooltip-pt-login' => 'Sanak disaranan untuak masuak log; walaupun indak wajib',
 'tooltip-pt-logout' => 'Kalua log',
 'tooltip-ca-talk' => 'Parudiangan tantang isi laman',
-'tooltip-ca-edit' => 'Sanak dapek manyuntiang laman iko. Silakan gunokan tombol pratonton sabalun manyimpan',
+'tooltip-ca-edit' => 'Angku dapek manyuntiang laman ko. Silakan gunoan tombol pratonton sabalun manyimpan',
 'tooltip-ca-addsection' => 'Mulai bagian baru',
 'tooltip-ca-viewsource' => 'Laman ko dilinduangi.
-Sanak hanyo buliah caliak sumbernyo sajo',
-'tooltip-ca-history' => 'Pabaiakkan sabalunnyo dari laman ko',
-'tooltip-ca-protect' => 'Lindungi laman ko',
-'tooltip-ca-delete' => 'Hapuih laman iko',
+Sanak hanyo buliah mancaliak sumbernyo sajo',
+'tooltip-ca-history' => 'Revisi sabalunnyo dari laman ko',
+'tooltip-ca-protect' => 'Linduangi laman ko',
+'tooltip-ca-delete' => 'Hapuih laman ko',
 'tooltip-ca-move' => 'Pindahan laman ko',
-'tooltip-ca-watch' => 'Tambahkan laman ko ka daftar pantauan sanak',
-'tooltip-ca-unwatch' => 'Kaluaan laman ko dari senarai pantauan awak',
+'tooltip-ca-watch' => 'Tambahkan laman ko ka dafta pantauan sanak',
+'tooltip-ca-unwatch' => 'Kaluaan laman ko dari daftapantau',
 'tooltip-search' => 'Cari {{SITENAME}}',
-'tooltip-search-go' => 'Cari suatu laman dengan namo yang samo jiko tasadio',
-'tooltip-search-fulltext' => 'Cari laman untuak teks iko',
-'tooltip-p-logo' => 'Kunjuangi laman utamo',
-'tooltip-n-mainpage' => 'Kunjuangi laman Utamo',
-'tooltip-n-mainpage-description' => 'Kunjuangi laman utamo',
-'tooltip-n-portal' => 'Tantang proyek, apa nan dapek Sanak lakukan, dima untuak manamukan sasuatu',
-'tooltip-n-currentevents' => 'Tamukan informasi manganai latar balakang kajadian kini ko',
-'tooltip-n-recentchanges' => 'Daftar panyuntiangan baru dalam wiki',
-'tooltip-n-randompage' => 'Muek sambarang laman',
+'tooltip-search-go' => 'Cari laman jo namo nan samo jikok ado',
+'tooltip-search-fulltext' => 'Cari laman untuak teks ko',
+'tooltip-p-logo' => 'Kunjuangi palanta',
+'tooltip-n-mainpage' => 'Kunjuangi palanta',
+'tooltip-n-mainpage-description' => 'Kunjuangi palanta',
+'tooltip-n-portal' => 'Tantang proyek, nan dapek Sanak buek, dima ka basobok',
+'tooltip-n-currentevents' => 'Cari informasi manganai latar balakang kajadian ko',
+'tooltip-n-recentchanges' => 'Dafta parubahan baru dalam wiki',
+'tooltip-n-randompage' => 'Muek sumbarang laman',
 'tooltip-n-help' => 'Tampek mancari bantuan',
-'tooltip-t-whatlinkshere' => 'Daftar dari kasado laman wiki nan tahubuang kasiko',
-'tooltip-t-recentchangeslinked' => 'Parubahan baru halaman nan bakaik jo laman ko',
+'tooltip-t-whatlinkshere' => 'Dafta dari sado laman wiki nan tahubuang kasiko',
+'tooltip-t-recentchangeslinked' => 'Parubahan baru laman nan bakaik jo laman ko',
 'tooltip-feed-rss' => 'Umpan RSS untuak laman ko',
 'tooltip-feed-atom' => 'Umpan Atom untuak laman ko',
 'tooltip-t-contributions' => 'Caliak dafta jariah pangguno ko',
 'tooltip-t-emailuser' => 'Kirimkan e-mail ka pangguno ko',
 'tooltip-t-upload' => 'Muek berkas',
-'tooltip-t-specialpages' => 'Daftar dari kasado laman istimewa',
+'tooltip-t-specialpages' => 'Dafta dari sado laman istimewa',
 'tooltip-t-print' => 'Versi cetak dari laman ko',
-'tooltip-t-permalink' => 'Pranala parmanen untuak pabaiakkan laman ko',
+'tooltip-t-permalink' => 'Pranala permanen untuak revisi laman ko',
 'tooltip-ca-nstab-main' => 'Caliak isi laman',
 'tooltip-ca-nstab-user' => 'Caliak laman pangguno',
-'tooltip-ca-nstab-special' => 'Iko adolah laman istimewa, awak indak buliah manyuntiangnyo',
+'tooltip-ca-nstab-special' => 'Laman istimewa, indak dapek disuntiang',
 'tooltip-ca-nstab-project' => 'Caliak laman proyek',
 'tooltip-ca-nstab-image' => 'Caliak laman berkas',
 'tooltip-ca-nstab-template' => 'Caliak templat',
 'tooltip-ca-nstab-help' => 'Caliak laman bantuan',
 'tooltip-ca-nstab-category' => 'Caliak laman kategori',
-'tooltip-minoredit' => 'Tandoi iko sabagai suntingan ketek',
-'tooltip-save' => 'Simpan yang awak ubah ko',
-'tooltip-preview' => 'Pratonton parubahan, harap gunokan iko sabalun disimpan',
+'tooltip-minoredit' => 'Tandoi iko sabagai suntiangan ketek',
+'tooltip-save' => 'Simpan nan diubah',
+'tooltip-preview' => 'Caliak dulu nan diubah, gunokan ko sabalun manyimpan',
 'tooltip-diff' => 'Caliak parubahan nan alah awak buek tu',
 'tooltip-compareselectedversions' => 'Caliak pabedoan antaro duo revisi pilihan laman ko',
-'tooltip-watch' => 'Tambahkan laman ko ka senarai pantauan awak',
+'tooltip-watch' => 'Tambahkan laman ko ka daftapantau',
 'tooltip-recreate' => 'Buek baliak laman walaupun sabananyo pernah dihapuih',
 'tooltip-upload' => 'Mulai mamuek',
 'tooltip-rollback' => '"Baliakkan" uruangkan suntiang laman ko pado kontribusi tarakhir dalam sakali klik',
@@ -1323,26 +1357,55 @@ Sanak hanyo buliah caliak sumbernyo sajo',
 # Metadata
 'notacceptable' => 'Layanan wiki indak manyadioan data dalam format yang dapek dibaco dek pelanggan awak.',
 
+# Skin names
+'skinname-standard' => 'Klasik',
+'skinname-nostalgia' => 'Nostalgia',
+'skinname-cologneblue' => 'Biru Köln',
+'skinname-monobook' => 'MonoBook',
+'skinname-myskin' => 'MySkin',
+'skinname-chick' => 'Chick',
+'skinname-simple' => 'Sadarano',
+'skinname-modern' => 'Moderen',
+'skinname-vector' => 'Vektor',
+
 # Browsing diffs
 'previousdiff' => '← Revisi sabalunnyo',
 'nextdiff' => 'Revisi salanjuiknyo →',
 
 # Media information
+'widthheight' => '$1 × $2',
 'file-info-size' => '$1 × $2 piksel, ukuran berkas: $3, tipe MIME: $4',
-'file-nohires' => 'Indak tasadio resolusi yang labiah tinggi.',
-'svg-long-desc' => 'SVG berkas, nominal $1 × $2 piksel, ukuran berkas: $3',
-'show-big-image' => 'Resolusi penuh',
+'file-nohires' => 'Indak tasadio resolusi nan labiah gadang.',
+'svg-long-desc' => 'Berkas SVG, $1 × $2 piksel, ukuran berkas: $3',
+'show-big-image' => 'Resolusi panuah',
+
+# Video information, used by Language::formatTimePeriod() to format lengths in the above messages
+'video-dims' => '$1, $2 × $3',
+'seconds-abbrev' => '$1 d',
+'minutes-abbrev' => '$1 min',
+'hours-abbrev' => '$1 j',
+'days-abbrev' => '$1 h',
 
 # Bad image list
 'bad_image_list' => 'Ukurannyo adolah sabagai barikuik:
 
-Hanyo daftar butia (barih nan dimulai jo tando *) nan dianggap.
-Pranala patamo pado barih musiti pranala ka berkas buruak.
+Hanyo dafta butia (barih nan dimulai jo tando *) nan dianggap.
+Pranala patamo pado barih musti pranala ka berkas buruak.
 Satiok pranala salanjuiknyo pado barih nan samo dianggap pangacualian, yaitu laman dima berkas tasabuik bisa tajadi sajajar.',
 
+/*
+Short names for language variants used for language conversion links.
+To disable showing a particular link, set it to 'disable', e.g.
+'variantname-zh-sg' => 'disable',
+Variants for Chinese language
+*/
+'variantname-zh-hans' => 'hans',
+'variantname-zh-hant' => 'hant',
+'variantname-zh-cn' => 'cn',
+
 # Metadata
 'metadata' => 'Metadata',
-'metadata-help' => 'Berkas ko mengandung informasi tambahan yang mungkin ditambahkan dek kamera digital atau pemindai yang digunokan untuak mambuek atau mendigitalisasi berkas. Jiko berkas ko lah mangalami modifikasi, rincian yang ado mungkin indak sacaro penuh merefleksikan modifikasi berkas tu.',
+'metadata-help' => 'Berkas ko ado informasi tambahan nan mungkin ditambahkan dek kamera digital atau pemindai yang digunokan untuak mambuek atau mendigitalisasi berkas. Jikok berkas ko lah mangalami modifikasi, rincian nan ado mungkin indak sacaro panuah merefleksi modifikasi dari berkas tu.',
 'metadata-expand' => 'Tampilkan rincian tambahan',
 'metadata-collapse' => 'Suruakkan rincian tambahan',
 'metadata-fields' => 'Tapak metadata gambar nan disenaraikan dalam pasan ko akan di masuakan pado tampilan laman gambar katiko tabel metadata disuruakkan. 
@@ -1367,8 +1430,8 @@ Nan lainnyo akan tasuruak sacaro default.
 
 # 'all' in various places, this might be different for inflected languages
 'watchlistall2' => 'semua',
-'namespacesall' => 'semua',
-'monthsall' => 'sado',
+'namespacesall' => 'sadonyo',
+'monthsall' => 'sadonyo',
 
 # Watchlist editing tools
 'watchlisttools-view' => 'Tampilkan parubahan takaik',
index 373bea4..7c9cbe6 100644 (file)
@@ -1997,9 +1997,9 @@ Więcej informacji odnajdziesz na [$2 stronie opisu pliku].',
 'sharedupload-desc-here' => 'Ten plik znajduje się w $1 i może być używany w innych projektach.
 Poniżej znajdują się informacje ze [$2 strony opisu] tego pliku.',
 'sharedupload-desc-edit' => 'Plik ten pochodzi z $1 i może być wykorzystany w innych projektach.
-Być może zechcesz zmienić opis na tej [$2 stronie opisu pliku].',
+Jeżeli chcesz zmienić opis, zrób to na [$2 stronie opisu pliku].',
 'sharedupload-desc-create' => 'Plik ten pochodzi z $1 i może być wykorzystany w innych projektach.
-Być może zechcesz zmienić opis na tej [$2 stronie opisu pliku].',
+Jeżeli chcesz zmienić opis, zrób to na [$2 stronie opisu pliku].',
 'filepage-nofile' => 'Plik o tej nazwie nie istnieje.',
 'filepage-nofile-link' => 'Plik o tej nazwie nie istnieje, ale możesz go [$1 przesłać].',
 'uploadnewversion-linktext' => 'Załaduj nowszą wersję tego pliku',
index 84407ef..058870e 100644 (file)
@@ -2050,7 +2050,7 @@ L'adrëssa ëd pòsta eletrònica ch'a l'ha butà ant ij [[Special:Preferences|s
 'usermessage-editor' => 'Mëssagerìa ëd sistema',
 
 # Watchlist
-'watchlist' => 'Ròba che im ten-o sot-euj',
+'watchlist' => 'Ròba che as ten sot euj',
 'mywatchlist' => 'Ròba che as ten sot euj',
 'watchlistfor2' => 'Për $1 $2',
 'nowatchlist' => "A l'ha ancó pa marcà dj'artìcoj coma ròba da tnì sot-euj.",
index 22e23ca..87e1b04 100644 (file)
@@ -527,7 +527,7 @@ $messages = array(
 'otherlanguages' => 'Noutras línguas',
 'redirectedfrom' => '(Redireccionado de $1)',
 'redirectpagesub' => 'Página de redireccionamento',
-'lastmodifiedat' => 'Esta página foi modificada pela última vez às $2 de $1.',
+'lastmodifiedat' => 'Esta página foi modificada pela última vez à(s) $2 de $1.',
 'viewcount' => 'Esta página foi acedida {{PLURAL:$1|uma vez|$1 vezes}}.',
 'protectedpage' => 'Página protegida',
 'jumpto' => 'Ir para:',
@@ -3105,7 +3105,7 @@ Permite colocar uma justificação no resumo da edição.',
 'anonymous' => '{{PLURAL:$1|Utilizador anónimo|Utilizadores anónimos}} da {{SITENAME}}',
 'siteuser' => '$1 da {{SITENAME}}',
 'anonuser' => 'utilizador anónimo $1 da {{SITENAME}}',
-'lastmodifiedatby' => 'Esta página foi modificada pela última vez às $2 de $1 por $3.',
+'lastmodifiedatby' => 'Esta página foi modificada pela última vez à(s) $2 de $1 por $3.',
 'othercontribs' => 'Baseado no trabalho de $1.',
 'others' => 'outros',
 'siteusers' => '{{PLURAL:$2|um utilizador|$2 utilizadores}} da {{SITENAME}} ($1)',
index 1a58502..7846686 100644 (file)
@@ -532,7 +532,7 @@ $messages = array(
 'otherlanguages' => 'Em outros idiomas',
 'redirectedfrom' => '(Redirecionado de $1)',
 'redirectpagesub' => 'Página de redirecionamento',
-'lastmodifiedat' => 'Esta página foi modificada pela última vez às $2 de $1.',
+'lastmodifiedat' => 'Esta página foi modificada pela última vez à(s) $2 de $1.',
 'viewcount' => 'Esta página foi acessada {{PLURAL:$1|uma vez|$1 vezes}}.',
 'protectedpage' => 'Página protegida',
 'jumpto' => 'Ir para:',
@@ -3102,7 +3102,7 @@ Permite colocar uma justificativa no sumário da edição.',
 'anonymous' => '{{PLURAL:$1|Usuário anônimo|Usuários anônimos}} da {{SITENAME}}',
 'siteuser' => '{{GENDER:$2|um utilizador|uma utilizadora|um utilizador}} da {{SITENAME}} ($1)',
 'anonuser' => 'usuário anônimo $1 da {{SITENAME}}',
-'lastmodifiedatby' => 'Esta página foi modificada pela última vez às $2 de $1 por $3.',
+'lastmodifiedatby' => 'Esta página foi modificada pela última vez à(s) $2 de $1 por $3.',
 'othercontribs' => 'Baseado no trabalho de $1.',
 'others' => 'outros',
 'siteusers' => '{{PLURAL:$2|um usuário|$2 usuários}} da {{SITENAME}} ($1)',
index bb0e151..5e40fbb 100644 (file)
@@ -92,6 +92,7 @@
  * @author Octahedron80
  * @author Od1n
  * @author Onecountry
+ * @author Opraco
  * @author OsamaK
  * @author PhiLiP
  * @author Piangpha
@@ -6439,7 +6440,7 @@ Parameters:
 This message is the variable $3 in the message {{msg-mw|lastmodifiedatby}}. This message only appears if the user is anonymous. The variable $1 in this message is a link to the user's contributions.
 
 See also {{msg-mw|Anonusers}} and {{msg-mw|Siteuser}}.",
-'lastmodifiedatby' => "This message is shown when viewing the credits of a page (example: {{fullurl:Main Page|action=credits}}). Note that this action is disabled by default (currently enabled on translatewiki.net).
+'lastmodifiedatby' => "This message is shown when viewing the credits of a page (example: [{{fullurl:Main Page|action=credits}}]). Note that this action is disabled by default (currently enabled on translatewiki.net).
 * $1: date
 * $2: time
 * $3: if the user has entered his 'real name' in his preferences then this variable is his 'real name'. If the user has not entered his 'real name' in his preferences then this variable is the message [[Mediawiki:siteuser/{{SUBPAGENAME}}]], which includes his username.
index 6ec2d0b..3bec703 100644 (file)
@@ -2097,7 +2097,7 @@ L'indirizze e-mail ca tu è 'nzerite jndr'à le [[Special:Preferences|preferenze
 'usermessage-template' => 'MediaWiki:UserMessage',
 
 # Watchlist
-'watchlist' => 'Pàggene condrollete',
+'watchlist' => 'Pàggene condrollate',
 'mywatchlist' => 'Pàggene condrollate',
 'watchlistfor2' => 'Pe $1 $2',
 'nowatchlist' => "Non ge tine pàggene jndr'à liste de le pàggene condrollete.",
@@ -3911,7 +3911,7 @@ Le immaggine sonde fatte vedè jndr'à resoluziona megghie, otre tipe de file re
 'specialpages-group-highuse' => 'Pàggene ausete assaje proprie',
 'specialpages-group-pages' => 'Liste de le pàggene',
 'specialpages-group-pagetools' => 'Pàgene de le struminde',
-'specialpages-group-wiki' => 'Date e struminde de Uicchi',
+'specialpages-group-wiki' => 'Date e struminde',
 'specialpages-group-redirects' => 'Redirezionaminde de le pàggene speciele',
 'specialpages-group-spam' => "Struminde p'u spam",
 
@@ -4008,6 +4008,7 @@ Le immaggine sonde fatte vedè jndr'à resoluziona megghie, otre tipe de file re
 'logentry-newusers-newusers' => "'U cunde utende $1 ha state ccrejate",
 'logentry-newusers-create' => "'U cunde utende $1 ha state ccrejate",
 'logentry-newusers-create2' => "$1 {{GENDER:$2|ccrejate}} {{GENDER:$4|'nu cunde utende}} $3",
+'logentry-newusers-byemail' => "'U cunde utende $3 ha state ccrejate da $1 e 'a passuord ha state mannate pe e-mail",
 'logentry-newusers-autocreate' => "'U cunde utende $1 ha state ccrejate automaticamende",
 'logentry-rights-rights' => "$1 membre d'u gruppe cangiate pe $3 da $4 a $5",
 'logentry-rights-rights-legacy' => "$1 ave cangiate 'u membre d'u gruppe pe $3",
index 77e591b..3c96260 100644 (file)
@@ -20,6 +20,7 @@
  * @author Anonim.one
  * @author Askarmuk
  * @author Assele
+ * @author Biathlon
  * @author Bouron
  * @author Chilin
  * @author Claymore
@@ -4200,6 +4201,7 @@ MediaWiki распространяется в надежде, что она бу
 'logentry-newusers-newusers' => 'Создана учётная запись $1',
 'logentry-newusers-create' => 'Создана учётная запись $1',
 'logentry-newusers-create2' => '$1 {{GENDER:$2|создал|создала}} учётную запись для $3',
+'logentry-newusers-byemail' => 'Учетная запись пользователя $3 была создана $1 и пароль был отправлен по электронной почте',
 'logentry-newusers-autocreate' => 'Автоматически создана учётная запись $1',
 'logentry-rights-rights' => '$1 {{GENDER:$1|изменил|изменила}} членство в группах для $3 с $4 на $5',
 'logentry-rights-rights-legacy' => '$1 {{GENDER:$1|изменил|изменила}} членство в группах для $3',
index f7b9b1a..ab74e45 100644 (file)
@@ -176,6 +176,7 @@ $messages = array(
 'newwindow' => '(атын түннүккэ арыллар)',
 'cancel' => 'Алҕас',
 'moredotdotdot' => 'Өссө...',
+'morenotlisted' => 'Атын суох...',
 'mypage' => 'Сирэй',
 'mytalk' => 'Кэпсэтэр сирим',
 'anontalk' => 'Бу IP-га ырытыы',
@@ -475,7 +476,7 @@ $2',
 'gotaccount' => "Бэлиэтэммитиҥ дуо? '''$1'''.",
 'gotaccountlink' => 'Аатыҥ',
 'userlogin-resetlink' => 'Киирэр тылгын умнубуккун дуо?',
-'createaccountmail' => 'e-mail-ынан',
+'createaccountmail' => 'Быстах киирии тылы туһаныы уонна ону email-ынан ыытыы',
 'createaccountreason' => 'Төрүөтэ:',
 'badretype' => 'Киирии тылларыҥ сөп түбэспэтилэр.',
 'userexists' => 'Суруйбут аатыҥ бэлиэр баар.
@@ -549,6 +550,7 @@ $2',
 # E-mail sending
 'php-mail-error-unknown' => 'mail() PHP-функциятыгар туох эрэ алҕас тахсыбыт',
 'user-mail-no-addy' => 'Сурук аадырыһа суох ыыттылла сатаабыт',
+'user-mail-no-body' => 'Кураанах эбэтэр суолтата суох кылгас тиэкистээх суругу ыыта сатаабыт.',
 
 # Change password dialog
 'resetpass' => 'Киирии тылы уларытыы',
@@ -776,10 +778,10 @@ IP-аадырыһа эрэ көстөр.
 'copyrightwarning2' => "Болҕой, эн суруйбут матырыйаалгын ким баҕарар уларытар уонна суох гынар бырааптаах. Суруйбуккун уларыталларын сөбүлээбэт буоллаххына манна суруйума.<br />
 Эбиитин манна суруйдаххына, уларытыы ааптара мин буолабын, эбэтэр көҥүл туһанары уонна уларытары көҥүллүүр сиртэн ыллым диэн бигэргэтэҕин (маны көр $1).<br /> '''КИМ ЭРЭ БАС БИЛИИТИН МАННА КИНИТТЭН КӨҤҮЛЭ СУОХ УГУМА!'''",
 'longpageerror' => "'''Алҕас: Суруйар кэрчиккит {{PLURAL:$1|биир килобаайт|$1 килобаайт}} ыйааһыннаах, онтуккут көҥүллэммит {{PLURAL:$2|биир килобаайты|$2 килобайты}} килобаайты куоһарар. Онон сирэй бигэргэтиллэр кыаҕа суох.'''",
-'readonlywarning' => "'''СЭРЭТИИ: Сиэрбэргэ техническай үлэ бара турар, онон киллэрбит уларытыыларыҥ тута хаалар кыахтара суох.
\91илигин Ñ\83лаÑ\80Ñ\8bÑ\82Ñ\8bÑ\8bгÑ\8bн Ð±Ñ\8dйÑ\8dÒ¥ Ð´Ð¸Ð¸Ñ\81кÑ\8dÒ\95Ñ\8dÑ\80 Ñ\85ааллаÑ\80ан Ð±Ð°Ñ\80ан, ÐºÑ\8dлин Ð¼Ð°Ð½Ð½Ð° Ñ\83ган Ð±Ð¸Ñ\8dÑ\80иÑ\8dÑ\85Ñ\85ин Ñ\81өп.'''
+'readonlywarning' => "'''Сэрэтии: Сиэрбэргэ техническай үлэ бара турар, онон киллэрбит уларытыыларыҥ тута бигэргэнэр кыахтара суох.'''
\9eнон Ñ\83лаÑ\80Ñ\8bÑ\82Ñ\8bÑ\8bгÑ\8bн Ñ\82иÑ\8dкиÑ\81Ñ\82Ñ\8dÑ\8dÑ\85 Ð±Ð¸Ð»Ñ\8dÒ\95Ñ\8d Ñ\83ган Ð±Ð°Ñ\80ан, ÐºÑ\8dлин Ð¼Ð°Ð½Ð½Ð° ÐºÐ¸Ð»Ð»Ñ\8dÑ\80иÑ\8dÑ\85Ñ\85ин Ñ\81өп.
 
\94Ñ\8cаһабÑ\8bл Ð¼Ð°Ð½Ð½Ñ\8bк Ð±Ñ\8bһаарбыт: $1",
¥Ð°Ð°Ñ\87Ñ\87аÒ\95Ñ\8b Ñ\82Ñ\83Ñ\80Ñ\83оÑ\80бÑ\83Ñ\82 Ð´Ñ\8cаһабÑ\8bл Ð¼Ð°Ð½Ð½Ñ\8bк Ð±Ñ\8bһааÑ\80Ñ\8bÑ\8bнÑ\8b Ñ\85аалларбыт: $1",
 'protectedpagewarning' => "'''Сэрэтии:  Бу сирэй хатанан турар, администратор бырааптаах эрэ кыттааччылар уларытар кыахтаахтар.'''
 Аллара сурунаал бүтэһик суруга көрдөрүлүннэ:",
 'semiprotectedpagewarning' => "'''Биллэрии:''' Бу сирэй хатанан турар; ааттарын билиһиннэрбит эрэ кыттааччылар уларытар кыахтаахтар.
@@ -818,6 +820,7 @@ IP-аадырыһа эрэ көстөр.
 'edit-already-exists' => 'Саҥа сирэйи оҥорор табыллыбат.
 Маннык сирэй баар эбит.',
 'defaultmessagetext' => 'Туспа этиллибэтэҕинэ суруллар тиэкис',
+'content-failed-to-parse' => '$2 иһинээҕитэ $1 көрүҥэр сөп түбэспэт: $3.',
 'invalid-content-data' => 'Алҕастаах дааннайдар',
 'content-not-allowed-here' => '[[$2]] сирэйгэ "$1" туттуллуо суохтаах',
 
@@ -845,6 +848,7 @@ IP-аадырыһа эрэ көстөр.
 'node-count-exceeded-warning' => 'Сирэй түмүгүн ахсаана таһынан барбыт',
 'expansion-depth-exceeded-category' => 'Аһыллыытын дириҥэ куоһарыллыбыт сирэйдэр',
 'expansion-depth-exceeded-warning' => 'Сирэйгэ угуллубут билэлэр аһара элбээбиттэр',
+'parser-unstrip-loop-warning' => 'Сабыллыбатах pre көһүннэ',
 'parser-unstrip-recursion-limit' => 'Рекурсия ахсаана таһынан барбыт ($1)',
 'converter-manual-rule-error' => 'Тылы уларытыы быраабылатын алҕаһа таҕыста',
 
@@ -1985,7 +1989,7 @@ $1',
 # Special:ActiveUsers
 'activeusers' => 'Көхтөөх кыттааччылар тиһиктэрэ',
 'activeusers-intro' => 'Бу кэлиҥҥи $1 {{PLURAL:$1|күҥҥэ|күннэргэ}} тугу эмэ гыммыт кыттааччылар тиһиктэрэ.',
-'activeusers-count' => '$1 бүтэһик $3 күҥҥэ саҥа {{PLURAL:$1|көннөрүүлээх|көннөрүүлээх эбит}}',
+'activeusers-count' => 'Кэнники $3 күҥҥэ саҥа $1 көннөрүү киирбит',
 'activeusers-from' => 'Мантан саҕалаан кыттааччылары көрүү:',
 'activeusers-hidebots' => 'Руобаттары көрдөрүмэ',
 'activeusers-hidesysops' => 'Дьаһабыллары көрдөрүмэ',
@@ -2049,7 +2053,7 @@ $1',
 'usermessage-editor' => 'Тиһилик биллэрээччитэ',
 
 # Watchlist
-'watchlist' => 'Ð\9cин ÐºÑ\8dÑ\82Ñ\8dÑ\8dһиним',
+'watchlist' => 'Ð\9aÑ\8dÑ\82Ñ\8dбилим Ñ\82иһигÑ\8d',
 'mywatchlist' => 'Кэтэбил тиһигэ',
 'watchlistfor2' => '$1 $2 аналлаах',
 'nowatchlist' => 'Эн кэтиир сирэйдэриҥ суохтар.',
@@ -2057,8 +2061,8 @@ $1',
 'watchnologin' => 'Бэйэҕин билиһиннэр',
 'watchnologintext' => 'Бэйэҕин [[Special:UserLogin|билиһиннэрдэххинэ]] кэтэбил сирэйгин уларытыаххын сөп.',
 'addwatch' => 'Кэтэбил тиһигэр киллэр',
-'addedwatchtext' => "«[[:$1]]» сирэй [[Special:Watchlist|кэтэбилгэ]] киирдэ.
-Сирэй уларытыылара уонна кинини кытта ситимнээх ырытыы сирэйин уларытыылара бүгүҥҥүттэн онно көстөр буолуохтара. Эбиитин [[Special:RecentChanges|саҥа уларытыы тиһигэр]] '''модьу''' бичигинэн бэлиэтэнэн көстүөхтэрэ.",
+'addedwatchtext' => '«[[:$1]]» сирэй [[Special:Watchlist|кэтэбил тиһигэр]] киирдэ.
+Сирэй уларытыылара уонна кинини кытта ситимнээх ырытыы сирэйин уларытыылара бүгүҥҥүттэн онно көстөр буолуохтара.',
 'removewatch' => 'Кэтэбил тиһигиттэн сот',
 'removedwatchtext' => '[[:$1]]" сирэй [[Special:Watchlist|кэтэбилиҥ тиһигиттэн]] сотулунна.',
 'watch' => 'Кэтээ',
@@ -2200,9 +2204,9 @@ $UNWATCHURL
 '''$1''' сирэй уларыыттын таһыма билиҥҥи туругунан маннык:",
 'protect-cascadeon' => 'Бу сирэй уларытыыттан көмүскэммит {{PLURAL:$1|сирэй бөлөҕөр|сирэйдэр бөлөхтөрүгэр}} (каскааднай көмүскэл) киирэр буолан эмиэ көмүскэммит. Эн көмүскэнии таһымын уларытыаххын сөп, ол каскаднай көмүскэли уларыппат.',
 'protect-default' => 'Барыларыгар көҥүллэнэр',
-'protect-fallback' => '"$1" көҥүллэ көрдөө',
-'protect-level-autoconfirmed' => 'Саҥа Ñ\83онна Ð±Ñ\8dлиÑ\8dÑ\82Ñ\8dммÑ\8dÑ\82Ñ\8dÑ\85 ÐºÑ\8bÑ\82Ñ\82ааÑ\87Ñ\87Ñ\8bлаÑ\80 Ñ\83лаÑ\80Ñ\8bппаÑ\82Ñ\82аÑ\80Ñ\8bн ÐºÑ\83Ñ\80дÑ\83к Ð¾Ò¥Ð¾р',
-'protect-level-sysop' => 'Дьаһабыллар эрэ',
+'protect-fallback' => '"$1" кыттааччылар эрэ маны оҥорор кыахтаахтар',
+'protect-level-autoconfirmed' => 'Ð\90пÑ\82амааÑ\82Ñ\8bнан Ð±Ð¸Ð³Ñ\8dÑ\80гÑ\8dммиÑ\82 ÐºÑ\8bÑ\82Ñ\82ааÑ\87Ñ\87Ñ\8bлаÑ\80га Ñ\8dÑ\80Ñ\8d ÐºÓ©Ò¥Ò¯Ð»Ð»Ñ\8dнÑ\8dр',
+'protect-level-sysop' => 'Дьаһабылларга эрэ көҥүллэнэр',
 'protect-summary-cascade' => 'каскадтаах',
 'protect-expiring' => 'болдьоҕо $1 (UTC)',
 'protect-expiring-local' => 'болдьоҕо баччаҕа бүтэр: $1',
@@ -2498,15 +2502,15 @@ $1',
 'movepagetext' => "Манна баар форманы туһанан сирэй аатын уларытыаххын сөп.
 Бу түбэлтэҕэ уларытыы сурунаала саҥа сиргэ көһөр.
 Урукку аат саҥа сирэйгэ утаарар сирэйгэ кубулуйар.
-Урукку аакка ыйынньыктар уларыйбаттар;
-бука диэн [[Special:DoubleRedirects|хос ыйынньыктар]] уонна [[Special:BrokenRedirects|быстыбыт сигэниилэр]] баалларын-суохтарын көр.
+Урукку аакка ыйынньыктары аптамаатынан уларытыаххын сөп.
\98ннÑ\8cÑ\8d Ð³Ñ\8bммаÑ\82 Ð±Ñ\83оллаÑ\85Ñ\85Ñ\8bна, Ð±Ñ\83ка Ð´Ð¸Ñ\8dн [[Special:DoubleRedirects|Ñ\85оÑ\81 Ñ\8bйÑ\8bннÑ\8cÑ\8bкÑ\82аÑ\80]] Ñ\83онна [[Special:BrokenRedirects|бÑ\8bÑ\81Ñ\82Ñ\8bбÑ\8bÑ\82 Ñ\81игÑ\8dниилÑ\8dÑ\80]] Ð±Ð°Ð°Ð»Ð»Ð°Ñ\80Ñ\8bн-Ñ\81Ñ\83оÑ\85Ñ\82аÑ\80Ñ\8bн ÐºÓ©Ñ\80.
 Сиэр быһыытынан ыйынньыктар сөпкө сигэнэллэрин эн ситиһиэхтээххин.
 
 Өскө маннык ааттаах сирэй номнуо баар буоллаҕына сирэй аата '''уларыйыа суоҕа''', арай ол сирэй кураанах эбэтэр утаарар сирэй буолбатах буоллаҕына.
-Ол аата эн сирэй аатын сыыһа уларыппыт буоллаххына төттөрү урукку аатыгар төннөрүөххүн сөп гынан баран баар сирэйи алҕас сотор кыаҕыҥ суох.
+Ол аата эн сирэй аатын сыыһа уларыппыт буоллаххына төттөрү урукку аатыгар төннөрүөххүн сөп, ол гынан баран баар сирэйи алҕас сотор кыаҕыҥ суох.
 
-'''СЭРЭТИИ!'''
-Сирэй аатын уларытыы улахан уонна эрдэттэн өйдөммөтөх содуллаах буолуон сөп.
+'''Сэрэтии!'''
+Сирэй аатын уларытыы бөдөҥ уонна эрдэттэн өйдөммөтөх содуллаах буолуон сөп.
 Онон, бука диэн салгыаҥ иннинэ үчүгэйдик толкуйдаа.",
 'movepagetext-noredirectfixer' => "Манна баар форманы туһанан сирэй аатын уларытыаххын сөп.
 Бу түбэлтэҕэ уларытыы сурунаала саҥа сиргэ көһөр.
@@ -2841,6 +2845,7 @@ $1',
 'pageinfo-recent-authors' => 'Бу сирэйи уларыппыт киһи ахсаана',
 'pageinfo-magic-words' => 'Аптаах {{PLURAL:$1|тыл|тыллар}} ($1)',
 'pageinfo-hidden-categories' => 'Кистэммит {{PLURAL:$1|категория|категориялар}} ($1)',
+'pageinfo-templates' => '$1 халыыптаах ($1)',
 'pageinfo-contentpage-yes' => 'Сөп',
 'pageinfo-protect-cascading' => 'Каскаадынан көмүскэл мантан',
 'pageinfo-protect-cascading-yes' => 'Сөп',
@@ -3579,7 +3584,7 @@ MediaWiki туһалаах буоллун диэн тарҕатыллар, ол
 'specialpages-group-highuse' => 'Элбэхтик туттуллар сирэйдэр',
 'specialpages-group-pages' => 'Сирэйдэр тиһиктэрэ',
 'specialpages-group-pagetools' => 'Сирэйдэр үнүстүрүмүөннэрэ',
-'specialpages-group-wiki' => 'Wiki дааннайдара уонна үнүстүрүмүөннэр',
+'specialpages-group-wiki' => 'Дааннайдара уонна тэриллэрэ',
 'specialpages-group-redirects' => 'Утаарар аналлаах сирэйдэр',
 'specialpages-group-spam' => 'Спаамы утары үнүстүрүмүөннэр',
 
@@ -3675,7 +3680,7 @@ MediaWiki туһалаах буоллун диэн тарҕатыллар, ол
 'logentry-patrol-patrol-auto' => '$1 $3 сирэй $4 барылын аптамаатынан ботуруулламмыт курдук бэлиэтээбит',
 'logentry-newusers-newusers' => '$1 диэн кыттааччы бэлиэтэннэ',
 'logentry-newusers-create' => '$1 диэн кыттааччы бэлиэтэннэ',
-'logentry-newusers-create2' => '$3 кыттааччыны $1 бэлиэтээбит',
+'logentry-newusers-create2' => '$3 кыттааччы аатын $1 бэлиэтээбит',
 'logentry-newusers-autocreate' => 'Маннык аат $1 аптамаатынан бэлиэтэнилиннэ',
 'rightsnone' => '(суох)',
 
index 70b10ad..f96c25a 100644 (file)
@@ -3897,6 +3897,7 @@ Ta stran se sooča s tehničnimi težavami.',
 'logentry-newusers-newusers' => '$1 je ustvaril(-a) uporabniški račun',
 'logentry-newusers-create' => '$1 je ustvaril(-a) uporabniški račun',
 'logentry-newusers-create2' => '$1 je ustvaril(-a) uporabniški račun $3',
+'logentry-newusers-byemail' => '$1 je {{GENDER:$2|ustvaril|ustvarila|ustvaril(-a)}} uporabniški račun $3; geslo je bilo poslano po e-pošti',
 'logentry-newusers-autocreate' => 'Račun $1 je bil samodejno ustvarjen',
 'logentry-rights-rights' => '$1 je spremenil(-a) članstvo skupine $3 z $4 na $5',
 'logentry-rights-rights-legacy' => '$1 je spremenil(-a) članstvo skupine $3',
index 1c6af03..6767d65 100644 (file)
@@ -829,6 +829,7 @@ E-mailkaada mala sheegaayo markii ee dadka kale kula soo xiriirayaan.',
 # User rights
 'saveusergroups' => 'Kaydi kooxaha isticmaalayaasha',
 'userrights-groupsmember' => 'Ka mid ah:',
+'userrights-reason' => 'Sababta:',
 
 # Groups
 'group' => 'Koox:',
index 6e3d44c..bee87f8 100644 (file)
@@ -1575,7 +1575,7 @@ Om du väljer att ange ditt riktiga namn, kommer det att användas för att till
 'right-bot' => 'Behandlas som en automatisk process',
 'right-nominornewtalk' => 'Mindre ändringar på diskussionssidor ger inte besked om nya meddelanden',
 'right-apihighlimits' => 'Använda högre gränser i API-frågor',
-'right-writeapi' => 'Använda skriv-API:t',
+'right-writeapi' => 'Använda skriv-API:et',
 'right-delete' => 'Radera sidor',
 'right-bigdelete' => 'Radera sidor med stor historik',
 'right-deletelogentry' => 'Radera och återställ specifika loggposter',
index be1508f..60be724 100644 (file)
@@ -641,7 +641,7 @@ $1',
 'loginsuccesstitle' => 'ล็อกอินสำเร็จ',
 'loginsuccess' => "'''ขณะนี้คุณล็อกอินเข้าสู่ {{SITENAME}} ด้วยชื่อ \"\$1\"'''",
 'nosuchuser' => 'ไม่มีผู้ใช้ชื่อ "$1"
-อัà¸\81ษรà¹\83หà¸\8dà¹\88à¹\80ลà¹\87à¸\81มีà¸\9cลà¸\95à¹\88อà¸\8aืà¹\88อà¸\9cูà¹\89à¹\83à¸\8aà¹\89
+à¸\8aืà¹\88อà¸\9cูà¹\89à¹\83à¸\8aà¹\89à¸\99ัà¹\89à¸\99à¹\84วà¸\95à¹\88ออัà¸\81ษรà¹\83หà¸\8dà¹\88à¹\80ลà¹\87à¸\81
 กรุณาตรวจการสะกดอีกครั้ง หรือ[[Special:UserLogin/signup|สร้างบัญชีใหม่]]',
 'nosuchusershort' => 'ไม่มีผู้ใช้ชื่อ "$1" กรุณาตรวจสอบการสะกด',
 'nouserspecified' => 'คุณต้องระบุชื่อผู้ใช้',
@@ -931,6 +931,11 @@ $1 เป็นผู้ดำเนินการบล็อก
 เพราะมีหน้านี้แล้ว',
 'defaultmessagetext' => 'ข้อความสารโดยปริยาย',
 
+# Content models
+'content-model-text' => 'ข้อความธรรมดา',
+'content-model-javascript' => 'จาวาสคริปต์',
+'content-model-css' => 'CSS',
+
 # Parser/template warnings
 'expensive-parserfunction-warning' => "'''คำเตือน:''' หน้านี้มีการเรียกใช้ฟังก์ชันแจงส่วนมากเกินไป
 
@@ -1355,7 +1360,7 @@ $1",
 'group-all' => '(ทั้งหมด)',
 
 'group-user-member' => '{{GENDER:$1|ผู้ใช้ใหม่}}',
-'group-autoconfirmed-member' => 'ผู้ใช้ทั่วไป',
+'group-autoconfirmed-member' => '{{GENDER:$1|ผู้ใช้ทั่วไป}}',
 'group-bot-member' => '{{GENDER:$1|บอต}}',
 'group-sysop-member' => '{{GENDER:$1|ผู้ดูแลระบบ}}',
 'group-bureaucrat-member' => '{{GENDER:$1|ผู้ดูแลสิทธิแต่งตั้ง}}',
@@ -1653,8 +1658,12 @@ $1',
 'backend-fail-notexists' => 'ไม่พบไฟล์ $1 ที่ต้องการ',
 'backend-fail-delete' => 'ไม่สามารถลบไฟล์ $1 ได้',
 'backend-fail-alreadyexists' => 'มีไฟล์ "$1" อยู่แล้ว',
+'backend-fail-store' => 'ไม่สามารถเก็บไฟล์ "$1" ที่ "$2" ได้',
 'backend-fail-copy' => 'ไม่สามารถคัดลอกไฟล์ "$1" ไปยัง "$2" ได้',
 'backend-fail-move' => 'ไม่สามารถย้ายไฟล์ "$1" ไปยัง "$2" ได้',
+'backend-fail-opentemp' => 'ไม่สามารถเปิดไฟล์ชั่วคราวได้',
+'backend-fail-writetemp' => 'ไม่สามารถเขียนไฟล์ชั่วคราวได้',
+'backend-fail-closetemp' => 'ไม่สามารถปิดไฟล์ชั่วคราวได้',
 'backend-fail-read' => 'ไม่สามารถอ่านไฟล์ "$1" ได้',
 'backend-fail-create' => 'ไม่สามารถเขียนไฟล์ "$1" ได้',
 
@@ -1758,6 +1767,10 @@ $1',
 กรุณาดู [หน้าคำอธิบายของไฟล์ $2] สำหรับข้อมูลเพิ่มเติม',
 'sharedupload-desc-here' => 'ไฟล์นี้มาจาก $1 และอาจมีใช้ในโครงการอื่น
 คำอธิบายใน[$2 หน้าไฟล์]ได้แสดงไว้ข้างล่างนี้',
+'sharedupload-desc-edit' => 'ไฟล์นี้มาจาก $1 และอาจมีการใช้ไฟล์นี้ในโครงการอื่น ๆ อีก
+หากคุณต้องการแก้ไขคำอธิบาย ให้ดำเนินการ[$2 ที่นี่]',
+'sharedupload-desc-create' => 'ไฟล์นี้มาจาก $1 และอาจมีการใช้ไฟล์นี้ในโครงการอื่น ๆ อีก
+หากคุณต้องการแก้ไขคำอธิบาย ให้ดำเนินการ[$2 ที่นี่]',
 'filepage-nofile' => 'ไม่มีไฟล์ชื่อนี้',
 'filepage-nofile-link' => 'ไม่มีไฟล์ชื่อนี้ แต่คุณสามารถ[$1 อัปโหลด]ได้',
 'uploadnewversion-linktext' => 'อัปโหลดรุ่นใหม่ของไฟล์นี้',
@@ -1949,7 +1962,7 @@ $1',
 'log' => 'ปูม',
 'all-logs-page' => 'ปูมสาธารณะทั้งหมด',
 'alllogstext' => 'การแสดงผลรวมปูมที่มีทั้งหมดของ {{SITENAME}}
-à¸\84ุà¸\93สามารà¸\96à¸\84à¹\89à¸\99หาà¹\83หà¹\89ละà¹\80อียà¸\94à¸\82ึà¹\89à¸\99à¹\82à¸\94ยà¹\80ลือà¸\81à¸\9bระà¹\80ภà¸\97à¸\9bูม à¸\8aืà¹\88อà¸\9cูà¹\89à¹\83à¸\8aà¹\89หรือหà¸\99à¹\89าà¸\97ีà¹\88à¸\95à¹\89อà¸\87à¸\81าร (ระวัà¸\87อัà¸\81ษรภาษาอัà¸\87à¸\81ฤษà¸\9eิมà¸\9eà¹\8cà¹\80ลà¹\87à¸\81à¹\83หà¸\8dà¹\88)',
+à¸\84ุà¸\93สามารà¸\96à¸\84à¹\89à¸\99หาà¹\83หà¹\89ละà¹\80อียà¸\94à¸\82ึà¹\89à¸\99à¹\82à¸\94ยà¹\80ลือà¸\81à¸\9bระà¹\80ภà¸\97à¸\9bูม à¸\8aืà¹\88อà¸\9cูà¹\89à¹\83à¸\8aà¹\89หรือหà¸\99à¹\89าà¸\97ีà¹\88à¸\95à¹\89อà¸\87à¸\81าร (à¹\84วà¸\95à¹\88ออัà¸\81ษรà¹\83หà¸\8dà¹\88à¹\80ลà¹\87à¸\81)',
 'logempty' => 'ไม่พบรายการตรงกันในปูม',
 'log-title-wildcard' => 'ค้นหาชื่อเรื่องด้วยคำขึ้นต้น',
 'showhideselectedlogentries' => 'แสดง/ซ่อนรายการปูมที่เลือก',
@@ -2852,6 +2865,7 @@ $1',
 'pageinfo-redirectsto' => 'เปลี่ยนทางไปยัง',
 'pageinfo-contentpage' => 'นับเป็นหน้าเนื้อหา',
 'pageinfo-contentpage-yes' => 'ใช่',
+'pageinfo-protect-cascading-yes' => 'ใช่',
 'pageinfo-category-info' => 'ข้อมูลหมวดหมู่',
 'pageinfo-category-pages' => 'จำนวนหน้า',
 'pageinfo-category-subcats' => 'จำนวนหมวดหมู่ย่อย',
@@ -2910,6 +2924,7 @@ $1',
 'file-info-size-pages' => '$1 × $2 พิกเซล, ขนาดไฟล์: $3, ประเภท MIME: $4, $5 {{PLURAL:$5|หน้า|หน้า}}',
 'file-nohires' => 'ไม่มีความละเอียดสูงกว่านี้',
 'svg-long-desc' => 'ไฟล์ SVG, $1 × $2 พิกเซล พอเป็นพิธี, ขนาดไฟล์: $3',
+'svg-long-error' => 'ไฟล์ SVG ไม่ถูกต้อง: $1',
 'show-big-image' => 'ความละเอียดสูงสุด',
 'show-big-image-other' => 'อื่นๆ {{PLURAL:$2|resolution|resolutions}}: $1.',
 'show-big-image-size' => '$1 × $2 พิกเซล',
index 895d82e..6ca447b 100644 (file)
@@ -609,7 +609,7 @@ Seness [$2 kuvauhsõ lehocülless] informaattsija on alapallõ annõttu.',
 'emailmessage' => 'Ilmottamin:',
 
 # Watchlist
-'watchlist' => 'Minu kattsõspiiska',
+'watchlist' => 'Kattsõspiiska',
 'mywatchlist' => 'Minu kattsõspiiska',
 'watchlistfor2' => '$2 - $1 vart',
 'addedwatchtext' => "Cülci \"[[:\$1]]\" on lisättü Teďďee [[Special:Watchlist|kattsospiizgallõ]].
index cad26e0..e3dbb83 100644 (file)
@@ -112,7 +112,7 @@ $messages = array(
 
 'underline-always' => 'Pirme',
 'underline-never' => 'Diri',
-'underline-default' => 'An aada-nga-daan nga panngaykayan',
+'underline-default' => 'An panmutos o pandalikyat nga aada-nga-daan',
 
 # Font style option in Special:Preferences
 'editfont-style' => 'Estilo hin font ha lugar hin pagliwat',
@@ -199,7 +199,8 @@ $messages = array(
 'newwindow' => '(nabuklad hin bag-o nga tamboan o bintana)',
 'cancel' => 'Pasagdi',
 'moredotdotdot' => 'Damo pa nga…',
-'mypage' => 'Akon pakli',
+'morenotlisted' => 'Damo pa nga waray gintalaan...',
+'mypage' => 'Pakli',
 'mytalk' => 'Mga akon paghingay',
 'anontalk' => 'Paghingay para hini nga IP',
 'navigation' => 'Paglayag',
@@ -440,7 +441,7 @@ Kweri: $2',
 'actionthrottled' => 'Ginpahinay an ginbuhat',
 'actionthrottledtext' => 'Komo uska pangontra ha spam, ikaw in ginlilimitaran paghimo hini nga pagbuhat hin sobra kadamo ha sulod hin gutiay nga oras, ngan ikaw in naglapos hini nga katubtuban.
 Alayon pagutro kahuman hin pipira ka mga minuto.',
-'protectedpagetext' => 'Ini nga pakli in pinasaliporan para mapugngan an mga pagliwat.',
+'protectedpagetext' => 'Ginpanalipdan ini nga pakli basi mapugngan an pagliwat o iba pa nga mga maburuhat.',
 'viewsourcetext' => 'Puydi ka kinmita ngan kinmopya han gintikangan han pakli:',
 'viewyourtext' => "Puydi nim makit-an ngan makopya an tinikangan han '''imo mga pagliwat''' ha dinhi nga pakli:",
 'protectedinterface' => 'Ini nga pakli in nahatag hin teksto hit interface para han software han hin nga wiki, ngan in pinasasaliporan para makalikay hit pag-abuso.
@@ -464,6 +465,7 @@ An magdudurmara nga nagtrangka hini in naghatag hini nga eksplenasyon: "$3".',
 'virus-unknownscanner' => 'diri-nasasabtan nga antivirus:',
 
 # Login and logout pages
+'welcomeuser' => '¡Uswag ngan Dayon, $1!',
 'yourname' => 'Agnay hit gumaramit:',
 'yourpassword' => 'Tigaman-pagsulod:',
 'yourpasswordagain' => 'Utroha pagbutang an tigaman-han-pagsakob:',
@@ -628,7 +630,7 @@ o <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}}
 'note' => "'''Pahibaro:'''",
 'previewnote' => "'''Hinumdumi nga pahiuna-nga-paggawas pa la ini.'''
 ¡Waray pa katipig an imo mga ginbag-o!",
-'continue-editing' => 'Padayon pagliwat',
+'continue-editing' => 'Pakadto han lugar hin panliwat',
 'editing' => 'Ginliliwat an $1',
 'creating' => 'Ginhihimo an $1',
 'editingsection' => 'Ginliliwat an $1 (bahin)',
index 12a797f..5a7da39 100644 (file)
@@ -933,8 +933,8 @@ $2
 '''זיכט נישט באניצן מיט שטאף וואס איז באשיצט מיט קאפירעכטן!'''",
 'longpageerror' => "'''פעלער: דער טעקסט וואס איר האט ארײַנגעשטעלט איז לאנג {{PLURAL:$1|איין קילאבייט|$1 קילאבייטן}}, וואס איז לענגער פון דעם מאקסימום פון {{PLURAL:$2|איין קילאבייט|$2 קילאבייטן}}. 
 ער קען נישט ווערן אפגעהיטן.'''",
-'readonlywarning' => "'''×\95×\95×\90רענ×\95× ×\92: ×\93×\99 ×\93×\90×\98×¢×\91×\90×\96×¢ ×\90×\99×\96 ×\92×¢×\95×\95×\90ר×\9f ×¤×\90רש×\9c×\90ס×\9f ×¤×\90ר ×¡×\99×\99×\98 ×\90×\95×\99פ×\94×\90×\9c×\98×\95× ×\92,
\9e×\9e×\99×\9c×\90 ×\95×\95×¢×\98 ×\90×\99ר × ×\99ש×\98 ×§×¢× ×¢×\9f ×\90פ×\94×\99×\98×\9f ×\90×\99×\99ערע ×¢× ×\93ער×\95× ×\92×¢×\9f ×\90צ×\99× ×\93. ×\90×\99ר ×§×¢× ×\98 ×§×\90פ×\99ר×\9f ×\90×\95×\9f ×\90רײַנ×\9c×\99×\99×\92×\9f ×\93×¢×\9d ×\98עקס×\98 ×\90ר×\99×\99×\9f ×¦×\95 ×\90 ×\98עקס×\98 ×\98עקע ×\90×\95×\9f ×\93×\90ס ×\93×\90ר×\98×\9f ×\90פ×\94×\99×\98×\9f ×¤×\90ר ×©×¤×¢×\98ער.'''
+'readonlywarning' => "'''×\95×\95×\90רענ×\95× ×\92: ×\93×\99 ×\93×\90×\98× ×\91×\90×\96×¢ ×\90×\99×\96 ×\92×¢×\95×\95×\90ר×\9f ×¤×\90רש×\9c×\90ס×\9f ×¤×\90ר ×\90×\95×\99פ×\94×\90×\9c×\98×\95× ×\92, ×\9e×\9e×\99×\9c×\90 ×\95×\95×¢×\98 ×\90×\99ר × ×\99ש×\98 ×§×¢× ×¢×\9f ×\90פ×\94×\99×\98×\9f ×\90×\99×\99ערע ×¢× ×\93ער×\95× ×\92×¢×\9f ×\90צ×\99× ×\93. '''
\90×\99ר ×§×¢× ×\98 ×§×\90פ×\99ר×\9f ×\90×\95×\9f ×\90רײַנ×\9c×\99×\99×\92×\9f ×\93×¢×\9d ×\98עקס×\98 ×\90ר×\99×\99×\9f ×¦×\95 ×\90 ×\98עקס×\98 ×\98עקע ×\90×\95×\9f ×\93×\90ס ×\93×\90ר×\98×\9f ×\90פ×\94×\99×\98×\9f ×\90×\95×\99×£ ×©×¤×¢×\98ער.
 
 דער אדמיניסטראטאר וואס האט זי פארשלאסן האט מסביר געווען אזוי: $1",
 'protectedpagewarning' => "'''ווארענונג:  דער בלאט איז געווארן פארשפארט אז בלויז באניצערס מיט סיסאפ פריווילעגיעס קענען אים ענדערן.'''
@@ -1000,6 +1000,7 @@ $2
 'language-converter-depth-warning' => 'אַריבער דעם שפּראַך קאַנווערטער טיף לימיט ($1)',
 'node-count-exceeded-category' => 'בלעטער וואו קנופצאל איז צו פיל',
 'node-count-exceeded-warning' => 'קנופנצאל אויפן בלאט צו הויך',
+'expansion-depth-exceeded-category' => "בלעטער וואו מ'האט אריבערגעשטיגן די פארברייטערונג טיף",
 'converter-manual-rule-error' => 'געטראפן א גרײַז אין האנטלעכן שפראך־קאנווערטירן כלל',
 
 # "Undo" feature
@@ -3621,7 +3622,7 @@ $5
 'specialpages-group-highuse' => 'בלעטער וואס זענען געניצט אסאך',
 'specialpages-group-pages' => 'ליסטעס פֿון בלעטער',
 'specialpages-group-pagetools' => 'געצייג פֿאר בלעטער',
-'specialpages-group-wiki' => '×\95×\95×\99ק×\99 ×\93×\90Ö·×\98×\9f ×\90×\95×\9f ×\92עצ×\99×\99×\92',
+'specialpages-group-wiki' => 'דאַטן און געצייג',
 'specialpages-group-redirects' => 'ווײַטערפֿירן ספעציעלע בלעטער',
 'specialpages-group-spam' => 'ספאַם געצייג',
 
index e0a8236..c426b82 100644 (file)
@@ -389,7 +389,7 @@ $messages = array(
 'tog-watchlisthideanons' => '在监视列表中隐藏匿名用户',
 'tog-watchlisthidepatrolled' => '在监视列表中隐藏已巡查的编辑',
 'tog-ccmeonemails' => '把我给其他用户发送的电子邮件的副本发送给我',
-'tog-diffonly' => '对比差异时不显示页面内容',
+'tog-diffonly' => '比较差异时不显示页面内容',
 'tog-showhiddencats' => '显示隐藏分类',
 'tog-noconvertlink' => '停用链接文字转换',
 'tog-norollbackdiff' => '执行回退后不显示差异',
@@ -741,8 +741,8 @@ $2',
 执行锁定的管理员给出如下解释:$3。',
 'invalidtitle-knownnamespace' => '使用名字空间“$2”和文本“$3”的无效标题',
 'invalidtitle-unknownnamespace' => '使用未知名字空间编号$1和文本“$2”的无效标题',
-'exception-nologin' => '未登录',
-'exception-nologin-text' => '此操作需要您先登录。',
+'exception-nologin' => '未登录',
+'exception-nologin-text' => '该页面或操作需要你登录至本wiki。',
 
 # Virus scanner
 'virus-badscanner' => "错误的配置:未知的病毒扫描程序:''$1''",
@@ -759,7 +759,7 @@ $2',
 'yourpassword' => '密码:',
 'yourpasswordagain' => '再次输入密码:',
 'remembermypassword' => '在该浏览器保存我的登录状态(最长$1日)',
-'securelogin-stick-https' => '登录后继续使用 HTTPS 连接',
+'securelogin-stick-https' => '登录后继续使用HTTPS连接',
 'yourdomainname' => '您的域名:',
 'password-change-forbidden' => '你不能在本wiki更改密码。',
 'externaldberror' => '这可能是由于验证数据库错误或您被禁止更新您的外部账号。',
@@ -783,16 +783,15 @@ $2',
 'userexists' => '用户名已存在。请使用其他名称。',
 'loginerror' => '登录错误',
 'createaccounterror' => '无法建立账户:$1',
-'nocookiesnew' => '已成功创建新账户!检测到您已禁用 Cookies,请先启用然后登录。',
-'nocookieslogin' => '本站使用 Cookies 进行登录,检测到您已禁用 Cookies,请先启用然后重试。',
-'nocookiesfornew' => '该用户账户尚未创建,因为我们不能确认它的来源。
-请确保您已经启用 Cookies,刷新本页后重试。',
-'noname' => '您没有输入有效的用户名。',
+'nocookiesnew' => '本用户账户已被创建,但登录失败。{{SITENAME}}使用cookie登录。你已停用cookie。请启用cookie,然后使用你的新用户名和密码登录。',
+'nocookieslogin' => '{{SITENAME}}使用cookie登录。你已停用cookie。请启用cookie后重试。',
+'nocookiesfornew' => '本用户账户未被创建,我们不能确认它的来源。请确保你已启用cookie,刷新本页后重试。',
+'noname' => '你没有指定有效的用户名。',
 'loginsuccesstitle' => '登录成功',
 'loginsuccess' => "'''“$1”,欢迎登录{{SITENAME}}。'''",
-'nosuchuser' => 'æ\89¾ä¸\8då\88°ç\94¨æ\88·â\80\9c$1â\80\9dã\80\82ç\94¨æ\88·å\90\8d对大å°\8få\86\99å\92\8cç¹\81ç®\80ä½\93æ\98¯å\8cºå\88\86ç\9a\84ã\80\82请æ£\80æ\9f¥æ\82¨ç\9a\84æ\8b¼å\86\99æ\98¯å\90¦æ\9c\89é\94\99误ï¼\8cæ\88\96è\80\85[[Special:UserLogin/signup|注å\86\8c]]。',
-'nosuchusershort' => 'æ\89¾ä¸\8då\88°ç\94¨æ\88·â\80\9c$1â\80\9dã\80\82请æ£\80æ\9f¥æ\82¨ç\9a\84æ\8b¼å\86\99æ\98¯å\90¦æ\9c\89é\94\99误。',
-'nouserspecified' => '您需要指定一个用户名。',
+'nosuchuser' => '没æ\9c\89å\90\8d为â\80\9c$1â\80\9dç\9a\84ç\94¨æ\88·ã\80\82ç\94¨æ\88·å\90\8då\8cºå\88\86大å°\8få\86\99ã\80\82请æ£\80æ\9f¥ä½ ç\9a\84æ\8b¼å\86\99æ\88\96[[Special:UserLogin/signup|å\88\9b建æ\96°è´¦æ\88·]]。',
+'nosuchusershort' => '没æ\9c\89å\90\8d为â\80\9c$1â\80\9dç\9a\84ç\94¨æ\88·ã\80\82请æ£\80æ\9f¥ä½ ç\9a\84æ\8b¼å\86\99。',
+'nouserspecified' => '你必须指定用户名。',
 'login-userblocked' => '该用户已被封禁,禁止登录。',
 'wrongpassword' => '你输入的密码错误。请重试。',
 'wrongpasswordempty' => '您没有输入密码,请重试!',
@@ -812,13 +811,13 @@ $2',
 'noemailcreate' => '您需要提供一个有效的电子邮件地址',
 'passwordsent' => '用户"$1"的新密码已经寄往所登记的电子邮件地址。
 请在收到后再登录。',
-'blocked-mailpassword' => '您的 IP 地址已被禁止编辑,同时为了防止密码恢复功能被滥用,已禁用该功能。',
+'blocked-mailpassword' => '你的IP地址被禁止编辑,为预防滥用,密码恢复功能也被禁止使用。',
 'eauthentsent' => '一封确认信已经发送到推荐的地址。在发送其它邮件到此账户前,您必须首先依照这封信中的指导确认这个电子邮箱真实有效。',
 'throttled-mailpassword' => '密码提醒已在最近$1小时内发送。为了安全起见,在每$1小时内只能发送一个密码提醒。',
 'mailerror' => '发送邮件错误:$1',
-'acct_creation_throttle_hit' => '抱歉!您已经创建了$1个账号,已经达到最大允许注册数量。目前使用本 IP 的来访者将不能再创建任何账户。',
+'acct_creation_throttle_hit' => '使用你的IP地址访问本wiki的访客在过去24小时中创建了{{PLURAL:$1|$1个账户}},达到了这段时间所允许的最大值。因此,使用该IP地址的访客现在不能再创建账户。',
 'emailauthenticated' => '您的电子邮箱地址已经于$2 $3确认有效。',
-'emailnotauthenticated' => '您的邮箱地址<strong>尚未被认证</strong>。下列功能将不会发送任何邮件。',
+'emailnotauthenticated' => '你的电子邮件地址未确认。你不会接收到以下任何特性的电子邮件。',
 'noemailprefs' => '指定一个电子邮箱地址以使用此功能。',
 'emailconfirmlink' => '确认您的邮箱地址',
 'invalidemailaddress' => '邮箱地址格式不正确,请输入正确的邮箱地址或清空该输入框。',
@@ -860,7 +859,7 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => '重置密码',
-'passwordreset-text' => '完成此表格以接收一封包含您的帐户详情的提醒邮件。',
+'passwordreset-text' => '完成该表格以接收你账户信息的邮件提醒。',
 'passwordreset-legend' => '重置密码',
 'passwordreset-disabled' => '此wiki已经禁用密码重置。',
 'passwordreset-pretext' => '{{PLURAL:$1||输入下面的数据块之一}}',
@@ -892,11 +891,11 @@ $2
 'changeemail-text' => '完成此窗体可以更改您的电子邮件地址。您将需要输入您的密码以确认此更改。',
 'changeemail-no-info' => '
 您必须登录以直接访问本页。',
-'changeemail-oldemail' => 'å½\93å\89\8dç\9a\84ç\94µå­\90é\82®ä»¶å\9c°å\9d\80ï¼\9a',
+'changeemail-oldemail' => '当前电子邮件地址:',
 'changeemail-newemail' => '新的电子邮件地址:',
 'changeemail-none' => '(无)',
-'changeemail-password' => '的{{SITENAME}}密码:',
-'changeemail-submit' => '更改电子邮',
+'changeemail-password' => '的{{SITENAME}}密码:',
+'changeemail-submit' => '更改电子邮件地址',
 'changeemail-cancel' => '取消',
 
 # Edit page toolbar
@@ -976,15 +975,14 @@ $2
 要创建该页面,请在下面的编辑框中输入内容(详情参见[[{{MediaWiki:Helppage}}|帮助页]])。
 如果您误入此页,请点击浏览器中的“返回”按钮。',
 'anontalkpagetext' => "---- ''这是一个还未建立账户的匿名用户的讨论页, 因此我们只能用IP地址来与他或她联络。该IP地址可能由几名用户共享。如果您是一名匿名用户并认为此页上的评语与您无关,请[[Special:UserLogin/signup|创建新账户]]或[[Special:UserLogin|登录]]以避免在未来与其他匿名用户混淆。''",
-'noarticletext' => '本页面目前没有内容。您可以在其他页面中[[Special:Search/{{PAGENAME}}|搜索该页标题]]、<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 搜索相关日志]或[{{fullurl:{{FULLPAGENAME}}|action=edit}} 编辑本页]。</span>',
+'noarticletext' => '本页面目前没有内容。你可以在其他页面中[[Special:Search/{{PAGENAME}}|搜索该页标题]]、<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 搜索相关日志]或[{{fullurl:{{FULLPAGENAME}}|action=edit}} 编辑本页面]。</span>',
 'noarticletext-nopermission' => '此页目前没有内容。
 您可以在其它页[[Special:Search/{{PAGENAME}}|搜寻此页标题]],或<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 搜寻有关日志]</span>,但您没有权限建立此页。',
 'missing-revision' => '“{{PAGENAME}}”的修订#$1不存在。
 
 这通常是因为进入了一个已被删除的页面的历史链接。
 详细信息可以在[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} 删除日志]中找到。',
-'userpage-userdoesnotexist' => '用户账户"$1"尚未注册。
-请在创建/编辑该页之前进行核对。',
+'userpage-userdoesnotexist' => '用户账户“$1”没有注册。请在创建/编辑本页前检查。',
 'userpage-userdoesnotexist-view' => '用户账户“$1”未曾创建。',
 'blocked-notice-logextract' => '这位用户目前已被封禁。以下提供最近的封禁日志以供参考:',
 'clearyourcache' => "'''注意:'''保存之后,你必须清除浏览器缓存才能看到做出的更改。
@@ -994,20 +992,16 @@ $2
 * '''Opera:'''在“工具→首选项”中清除缓存",
 'usercssyoucanpreview' => "'''提示:''' 在保存前请用“{{int:showpreview}}”按钮来测试您新的 CSS 。",
 'userjsyoucanpreview' => "'''提示:''' 在保存前请用“{{int:showpreview}}”按钮来测试您新的 JavaScript 。",
-'usercsspreview' => "'''记住您只是在预览您的个人 CSS。'''
-'''还没有保存!'''",
-'userjspreview' => "'''记住您只是在测试/预览您的个人 JavaScript。'''
-'''还没有保存!'''",
-'sitecsspreview' => "'''记住您现在只是预览此 CSS。'''
-'''尚未保存!'''",
-'sitejspreview' => "'''记住您现在只是预览此 JavaScript 代码。'''
-'''尚未保存!'''",
+'usercsspreview' => "'''请记住你现在只是在预览你的用户CSS。它尚未保存!'''",
+'userjspreview' => "'''请记住你现在只是在测试/预览你的用户JavaScript。它尚未保存!'''",
+'sitecsspreview' => "'''请记住你现在只是在预览该CSS。它尚未保存!'''",
+'sitejspreview' => "'''请记住你现在只是在预览该JavaScript代码。它尚未保存!'''",
 'userinvalidcssjstitle' => "'''警告:''' 不存在皮肤\"\$1\"。注意自定义的 .css 和 .js 页要使用小写标题,例如,{{ns:user}}:Foo/vector.css 不同于 {{ns:user}}:Foo/Vector.css。",
 'updated' => '(已更新)',
 'note' => "'''注意:'''",
 'previewnote' => "'''请记住这仅为预览。'''您的更改还未保存!",
 'continue-editing' => '往编辑框',
-'previewconflict' => 'è¿\99个é¢\84è§\88æ\98¾ç¤ºäº\86ä¸\8aé\9d¢æ\96\87å­\97ç¼\96è¾\91å\8cºä¸­ç\9a\84å\86\85容ã\80\82å®\83们å°\86å\9c¨æ\82¨ä¿\9då­\98å\90\8eå\87ºç\8e°。',
+'previewconflict' => '该é¢\84è§\88å\8f\8dæ\98 äº\86ä¸\8aé\9d¢æ\96\87å­\97ç¼\96è¾\91å\8cºä¸­ç\9a\84æ\96\87å­\97å\9c¨ä½ ä¿\9då­\98å\90\8eç\9a\84æ\98¾ç¤ºç\8a¶å\86µ。',
 'session_fail_preview' => "'''对不起!由于会话数据丢失,我们无法处理你的编辑。'''请重试。如果仍然失败,请尝试[[Special:UserLogout|退出登录]]后重新登录。",
 'session_fail_preview_html' => "'''对不起!由于会话数据丢失,我们无法处理你的编辑。'''
 
@@ -1023,16 +1017,11 @@ $2
 'editingsection' => '编辑“$1”(段落)',
 'editingcomment' => '编辑“$1”(新段落)',
 'editconflict' => '编辑冲突:$1',
-'explainconflict' => "有人在您开始编辑后更改了页面。
-上面的文字框内显示的是目前本页的内容。
-您所做的修改显示在下面的文字框中。
-您应当将您的修改加入至现有的内容中。
-'''只有'''在上面文字框中的内容会在您点击“{{int:savearticle}}”后被保存。",
+'explainconflict' => "其他用户在你开始编辑后更改了该页面。上面的文字区含有该页面当前的文字。下面的文字区显示你的更改。你必须把你的更改合并至现有文字。'''只有'''当你单击“{{int:savearticle}}”后,上面的文字区中的文字才会被保存。",
 'yourtext' => '你的文字',
 'storedversion' => '已保存的版本',
 'nonunicodebrowser' => "'''警告:您的浏览器不兼容Unicode编码。'''这里有一个工作区将使您能安全地编辑页面:非ASCII字符将以十六进制编码方式出现在编辑框中。",
-'editingold' => "'''警告:您正在编辑的是本页的旧版本。'''
-如果您保存它的话,在旧版本之后的任何修改都将丢失。",
+'editingold' => "'''警告:你正在编辑的是本页面的旧版本。'''如果你保存该编辑,该版本后的所有更改都会丢失。",
 'yourdiff' => '差异',
 'copyrightwarning' => "请注意您对{{SITENAME}}的所有贡献都被认为是在$2下发布,请查看在$1的细节。
 如果您不希望您的文字被任意修改和再散布,请不要提交。<br />
@@ -1142,7 +1131,7 @@ $3的理由是''$2''",
 'histlegend' => "差异选择:选出需要对比的版本,按“回车键”或下方的按钮进行对比。<br />
 说明:'''({{int:cur}})'''=与最后版本之间的差异,'''({{int:last}})'''=与上一版本之间的差异,'''{{int:minoreditletter}}'''=小编辑。",
 'history-fieldset-title' => '浏览历史',
-'history-show-deleted' => '仅删除的',
+'history-show-deleted' => '仅删除的',
 'histfirst' => '最早',
 'histlast' => '最后',
 'historysize' => '($1字节)',
@@ -1190,9 +1179,10 @@ $3的理由是''$2''",
 'revdelete-text' => "'''删除的修订仍将显示在页面历史中, 但它们的文本内容已不能被公众访问。'''
 在{{SITENAME}}的其他管理员将仍能访问隐藏的内容并通过与此相同的界面恢复删除,除非站点工作者进行了一些附加的限制。",
 'revdelete-confirm' => '请确认您肯定去做的话,您就要明白到后果,以及这个程序符合[[{{MediaWiki:Policy-url}}|政策]]。',
-'revdelete-suppress-text' => "'''只有'''出现下列情况下才应阻止访问:
-* 可能虚假的个人信息
-*: ''家庭地址、电话号码、身份证号码等等。''",
+'revdelete-suppress-text' => "阻止应该'''只'''在以下情形使用:
+*潜在的诽谤信息
+*不合适的个人信息
+*:''家庭地址、电话号码和社保号码等。''",
 'revdelete-legend' => '设置可见性之限制',
 'revdelete-hide-text' => '隐藏版本文字',
 'revdelete-hide-image' => '隐藏文件内容',
@@ -1246,7 +1236,7 @@ $1",
 'mergehistory-from' => '来源页面:',
 'mergehistory-into' => '目的页面:',
 'mergehistory-list' => '可以合并的编辑历史',
-'mergehistory-merge' => 'ä¸\8bå\88\97[[:$1]]ç\9a\84修订å\8f¯ä»¥å\90\88并å\88°[[:$2]]ã\80\82ç\94¨è¯¥é\80\89项æ\8c\89é\92®å\88\97å\8e»å\90\88并å\8fªæ\9c\89å\9c¨æ\8c\87å®\9aæ\97¶é\97´ä»¥å\89\8dæ\89\80å\88\9b建ç\9a\84修订ã\80\82è¦\81ç\95\99æ\84\8fç\9a\84æ\98¯ä½¿ç\94¨å¯¼è\88ªé\93¾æ\8e¥ä¾¿ä¼\9aé\87\8d设è¿\99ä¸\80æ \8f。',
+'mergehistory-merge' => '以ä¸\8b[[:$1]]ç\9a\84ç\89\88æ\9c¬å\8f¯ä»¥å\90\88并è\87³[[:$2]]ã\80\82请使ç\94¨å\8d\95é\80\89æ\8c\89é\92®å\88\97以å\90\88并è\87³å\9c¨æ\8c\87å®\9aæ\97¶é\97´å\8f\8aä¹\8bå\89\8då\88\9b建ç\9a\84ç\89\88æ\9c¬ã\80\82请注æ\84\8fï¼\8c使ç\94¨å¯¼è\88ªé\93¾æ\8e¥ä¼\9aé\87\8d置该å\88\97。',
 'mergehistory-go' => '显示可以合并的编辑',
 'mergehistory-submit' => '合并版本',
 'mergehistory-empty' => '没有可以合并的版本。',
@@ -1332,7 +1322,7 @@ $1",
 'showingresults' => "下面显示从第'''$2'''条结果开始的'''$1'''条结果。",
 'showingresultsnum' => "下面显示从第'''$2'''条结果开始的'''$3'''条结果。",
 'showingresultsheader' => "关于'''$4'''的{{PLURAL:$5|第'''$1'''条至第'''$3'''条结果|第'''$1'''条至第'''$2'''条结果,共'''$3'''条结果}}",
-'nonefound' => "'''注意''':只有部分名字空间的页面会被默认搜索。尝试在您的搜索语句前添加“all:”前缀,这样可以搜索全部页面(包括讨论页、模板等),或者您也可使用所需名字空间作为前缀。",
+'nonefound' => "'''注意''':只有某些名字空间被默认搜索。请尝试给你的搜索内容添加前缀“all:”以搜索全部内容(包括讨论页面、模板等)或使用期望的名字空间作为前缀。",
 'search-nonefound' => '找不到和查询相匹配的结果。',
 'powersearch' => '高级搜索',
 'powersearch-legend' => '高级搜索',
@@ -1358,7 +1348,7 @@ $1",
 'preferences' => '系统设置',
 'mypreferences' => '系统设置',
 'prefs-edits' => '编辑数量:',
-'prefsnologin' => '未登录',
+'prefsnologin' => '未登录',
 'prefsnologintext' => '您必须先<span class="plainlinks">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} 登录]</span>才能设置个人参数。',
 'changepassword' => '更改密码',
 'prefs-skin' => '皮肤',
@@ -1431,7 +1421,7 @@ $1",
 'youremail' => '电子邮件:',
 'username' => '{{GENDER:$1|用户名}}:',
 'uid' => '{{GENDER:$1|用户}}ID:',
-'prefs-memberingroups' => '{{PLURAL:$1|用户组}}的{{GENDER:$2|成员}}:',
+'prefs-memberingroups' => '{{GENDER:$2|用户}}{{PLURAL:$1|组}}:',
 'prefs-registration' => '注册时间:',
 'yourrealname' => '真实姓名:',
 'yourlanguage' => '语言:',
@@ -1488,7 +1478,7 @@ $1",
 'userrights-no-interwiki' => '您并没有权限去编辑在其它wiki上的用户权限。',
 'userrights-nodatabase' => '数据库$1不存在或并非为本地的。',
 'userrights-nologin' => '您必须要以管理员帐户[[Special:UserLogin|登录]]之后才可以指定用户权限。',
-'userrights-notallowed' => '您的帐户无添加或删除用户权限的权限。',
+'userrights-notallowed' => '你的账户没有权限添加或删除用户权限。',
 'userrights-changeable-col' => '你可以更改的用户组',
 'userrights-unchangeable-col' => '你不能更改的用户组',
 
@@ -1654,8 +1644,8 @@ $1",
 'rc_categories' => '分类限制(用“|”分隔)',
 'rc_categories_any' => '任意',
 'rc-change-size-new' => '更改后$1字节',
-'newsectionsummary' => '/* $1 */ 新段落',
-'rc-enhanced-expand' => '显示细节(需JavaScript支持)',
+'newsectionsummary' => '/*$1*/新段落',
+'rc-enhanced-expand' => '显示细节(需要JavaScript)',
 'rc-enhanced-hide' => '隐藏细节',
 'rc-old-title' => '最初被创建为" $1 "',
 
@@ -1743,11 +1733,10 @@ $1",
 'fileexists-thumbnail-yes' => "此文件可能是另一幅图像的缩小版本''(缩略图)''。 [[$1|thumb]]
 请仔细检查该文件<strong>[[:$1]]</strong>。
 如果被检查文件与原始大小的图像是同一幅图像,您无需上传多余的缩略图。",
-'file-thumbnail-no' => "文件名以<strong>$1</strong>开头。它可能是另一幅图像的缩小版本''(缩略图)''。
-如果您有该图像完整分辨率的版本,请上传该完整版本。否则请修改文件名。",
+'file-thumbnail-no' => "文件名以<strong>$1</strong>开始。它似乎是缩小的图像''(缩略图)''。如果你有完整分辨率的该图像,请上传它,否则请更改文件名。",
 'fileexists-forbidden' => '已存在相同名称的文件,且不能覆盖;请返回并用一个新的名称来上传此文件。[[File:$1|thumb|center|$1]]',
 'fileexists-shared-forbidden' => '共享文件库中存在该名称的文件。如果你仍想上传你的文件,请返回使用其他名称。[[File:$1|thumb|center|$1]]',
-'file-exists-duplicate' => '这个文件与下列{{PLURAL:$1|一|多}}个文件重复:',
+'file-exists-duplicate' => '本文件是以下{{PLURAL:$1|文件}}的副本:',
 'file-deleted-duplicate' => '一个相同名称的文件 ([[:$1]]) 在先前删除过。您应该在重新上传之前检查一下该文件之删除纪录。',
 'uploadwarning' => '上传警告',
 'uploadwarning-text' => '请修改下面的文件说明并重试。',
@@ -1755,7 +1744,7 @@ $1",
 'uploadedimage' => '上传“[[$1]]”',
 'overwroteimage' => '上传“[[$1]]”的新版本',
 'uploaddisabled' => '上传己停用。',
-'copyuploaddisabled' => '通过网址上传功能已禁用。',
+'copyuploaddisabled' => 'URL上传已停用。',
 'uploadfromurl-queued' => '上传已被列入队列。',
 'uploaddisabledtext' => '文件上传已停用。',
 'php-uploaddisabledtext' => 'PHP文件上传停用。请检查file_uploads设置。',
@@ -1925,14 +1914,14 @@ $1',
 'filehist-comment' => '评论',
 'filehist-missing' => '文件遗失',
 'imagelinks' => '文件用途',
-'linkstoimage' => 'ä¸\8bå\88\97$1个页é\9d¢é\93¾æ\8e¥å\88°本文件:',
+'linkstoimage' => '以ä¸\8b{{PLURAL:$1|页é\9d¢|$1个页é\9d¢}}é\93¾æ\8e¥è\87³本文件:',
 'linkstoimage-more' => '多于$1个页面连接到这个文件。
 下面的列表只列示了连去这个文件的最首$1个页面。
 一个[[Special:WhatLinksHere/$2|完整的列表]]可以提供。',
 'nolinkstoimage' => '没有页面链接到本文件。',
 'morelinkstoimage' => '查看连接到这个文件的[[Special:WhatLinksHere/$1|更多链接]]。',
 'linkstoimage-redirect' => '$1(文件重定向)$2',
-'duplicatesoffile' => 'ä¸\8bå\88\97$1个æ\96\87件ä¸\8e该æ\96\87件é\87\8då¤\8d([[Special:FileDuplicateSearch/$2|更多细节]]):',
+'duplicatesoffile' => '以ä¸\8b{{PLURAL:$1|æ\96\87件|$1个æ\96\87件}}æ\98¯æ\9c¬æ\96\87件ç\9a\84å\89¯æ\9c¬([[Special:FileDuplicateSearch/$2|更多细节]]):',
 'sharedupload' => '该文件来自于$1,它可能在其它计划项目中被应用。',
 'sharedupload-desc-there' => '该文件来自于$1,它可能在其它计划项目中被应用。
 请参阅在[$2 文件描述页面]以了解其相关信息。',
@@ -2032,7 +2021,7 @@ $1',
 'disambiguations-text' => "以下的页面都有到'''消歧义页'''的链接,但它们可能可以链接到更适当的页面。<br />一个页面如果使用了[[MediaWiki:Disambiguationspage]]内的模板,则会被视为消歧义页。",
 
 'doubleredirects' => '双重重定向页',
-'doubleredirectstext' => '此页å\88\97å\87ºäº\86æ\89\80æ\9c\89é\87\8då®\9aå\90\91å\88°å\8f¦ä¸\80é\87\8då®\9aå\90\91页é\9d¢ç\9a\84页é\9d¢ã\80\82æ¯\8fä¸\80è¡\8cé\83½å\8c\85å\90«æ\9c\89å\88°ç¬¬ä¸\80å\92\8c第äº\8c个é\87\8då®\9aå\90\91页é\9d¢ç\9a\84é\93¾æ\8e¥ï¼\8c以å\8f\8a第äº\8c个é\87\8då®\9aå\90\91页é\9d¢ç\9a\84ç\9b®æ \87â\80\94â\80\94é\80\9a常就æ\98¯â\80\9cç\9c\9fæ­£ç\9a\84â\80\9dç\9b®æ \87页é\9d¢ï¼\8cä¹\9få°±æ\98¯ç¬¬ä¸\80个é\87\8då®\9aå\90\91页é\9d¢åº\94该æ\8c\87å\90\91ç\9a\84页é\9d¢ã\80\82<del>å·²å\88\92å\8e»</del>ç\9a\84æ\9d¡ç\9b®æ\98¯å·²ç»\8f解å\86³ç\9a\84项ç\9b®。',
+'doubleredirectstext' => 'æ\9c¬é¡µé\9d¢å\88\97å\87ºé\87\8då®\9aå\90\91è\87³å\85¶ä»\96é\87\8då®\9aå\90\91页ç\9a\84页é\9d¢ã\80\82æ¯\8fè¡\8cå\90«æ\9c\89第ä¸\80å\8f\8a第äº\8cé\87\8då®\9aå\90\91ç\9a\84é\93¾æ\8e¥å\92\8c第äº\8cé\87\8då®\9aå\90\91ç\9a\84ç\9b®æ \87ï¼\88é\80\9a常æ\98¯ç¬¬ä¸\80é\87\8då®\9aå\90\91åº\94该æ\8c\87å\90\91ç\9a\84â\80\9cç\9c\9få®\9eâ\80\9dç\9b®æ \87页é\9d¢ï¼\89ã\80\82<del>带å\88 é\99¤çº¿ç\9a\84</del>æ\9d¡ç\9b®å·²è¢«è§£å\86³。',
 'double-redirect-fixed-move' => '[[$1]]已被移动。它现在重定向至[[$2]]。',
 'double-redirect-fixed-maintenance' => '修复双重重定向自[[$1]]至[[$2]]。',
 'double-redirect-fixer' => '重定向页修复器',
@@ -2059,7 +2048,7 @@ $1',
 'nviews' => '$1次浏览',
 'nimagelinks' => '用于$1个页面中',
 'ntransclusions' => '用于$1个页面中',
-'specialpage-empty' => '该报告结果为空。',
+'specialpage-empty' => '无该报告的结果。',
 'lonelypages' => '孤立页面',
 'lonelypagestext' => '以下页面尚未被{{SITENAME}}中的其它页面链接或被之包含。',
 'uncategorizedpages' => '未归类页面',
@@ -2122,7 +2111,7 @@ $1',
 # Book sources
 'booksources' => '网络书源',
 'booksources-search-legend' => '搜索网络书源',
-'booksources-isbn' => 'ISBN:',
+'booksources-isbn' => 'ISBN',
 'booksources-go' => '提交',
 'booksources-text' => '以下是一些网络书店的链接列表,其中可能有您要找的书籍的更多信息:',
 'booksources-invalid-isbn' => '提供的ISBN号码并不正确,请检查原始复制来源号码是否有误。',
@@ -2275,7 +2264,7 @@ $1',
 'watchnochange' => '在显示的时间段内您所监视的页面没有更改。',
 'watchlist-details' => '不计讨论页面,你的监视列表中有$1个页面。',
 'wlheader-enotif' => '* 已经启动电子邮件通知功能。',
-'wlheader-showupdated' => "* 在您上次查看后有被修改过的页面会以'''粗体'''的形式被显示",
+'wlheader-showupdated' => "*你上次访问后更改的页面以'''粗体'''显示",
 'watchmethod-recent' => '检查被监视页面的最近编辑',
 'watchmethod-list' => '查看监视页中的最新修改',
 'watchlistcontains' => '您的监视列表包含$1个页面。',
@@ -2319,7 +2308,7 @@ $PAGEINTRO$NEWPAGE
 在你访问该页面之前,我们不会发送新增更改的通知。
 你也可以重设你的监视列表中所有监视页面的通知标志。
 
-友好的{{SITENAME}}通知系统
+{{SITENAME}}通知系统
 --
 更改邮件通知设置:
 {{canonicalurl:{{#special:Preferences}}}}
@@ -2500,7 +2489,7 @@ $1',
 # Namespace form on various pages
 'namespace' => '名字空间:',
 'invert' => '反选',
-'tooltip-invert' => '选中此复选框来隐藏选定名字空间(及其相关名字空间,若该选项也被选中)范围内的页面更改',
+'tooltip-invert' => '请选择该框以隐藏指定名字空间(及相关名字空间,若被选择)的页面更改',
 'namespace_association' => '相关名字空间',
 'tooltip-namespace_association' => '选中此复选框可包括与选定名字空间相关的讨论页或子页面',
 'blanknamespace' => '(主要)',
@@ -3127,11 +3116,11 @@ $1',
 'file-info-size' => '$1×$2像素,文件大小:$3,MIME类型:$4',
 'file-info-size-pages' => '$1×$2像素,文件大小:$3,MIME类型:$4,$5页',
 'file-nohires' => '没有更高的分辨率。',
-'svg-long-desc' => 'SVGæ\96\87件ï¼\8cå\9b¾å\83\8f大å°\8fï¼\9a$1 × $2像素,文件大小:$3',
-'svg-long-desc-animated' => 'å\8a¨ç\94»SVGæ\96\87件ï¼\8cå\9b¾å\83\8f大å°\8f为$1 × $2像素,文件大小:$3',
+'svg-long-desc' => 'SVGæ\96\87件ï¼\8c尺寸为$1 × $2像素,文件大小:$3',
+'svg-long-desc-animated' => 'å\8a¨ç\94»SVGæ\96\87件ï¼\8c尺寸为$1 × $2像素,文件大小:$3',
 'svg-long-error' => '无效的SVG文件:$1',
 'show-big-image' => '完全分辨率',
-'show-big-image-preview' => 'æ\9c¬é¢\84è§\88ç\9a\84大å°\8f:$1。',
+'show-big-image-preview' => 'æ\9c¬é¢\84è§\88ç\9a\84尺寸:$1。',
 'show-big-image-other' => '其他{{PLURAL:$2|分辨率}}:$1。',
 'show-big-image-size' => '$1×$2像素',
 'file-info-gif-looped' => '循环',
@@ -3191,11 +3180,11 @@ Variants for Chinese language
 'variantname-zh' => '不转换',
 
 # Variants for Gan language
-'variantname-gan-hans' => '‪中文(简体)',
-'variantname-gan-hant' => '‪中文(繁体)',
+'variantname-gan-hans' => 'hans',
+'variantname-gan-hant' => 'hant',
 
 # Variants for Kazakh language
-'variantname-kk-cyrl' => '',
+'variantname-kk-cyrl' => 'kk-cyrl',
 
 # Metadata
 'metadata' => '原始数据',
@@ -3800,11 +3789,11 @@ $5
 'version-poweredby-credits' => "本Wiki由'''[//www.mediawiki.org/ MediaWiki]'''驱动,版权所有 © 2001-$1 $2。",
 'version-poweredby-others' => '其他',
 'version-credits-summary' => '我们感谢下列人士为[[Special:Version|MediaWiki]]作出的贡献。',
-'version-license-info' => 'MediaWiki 是一款自由软件;您可根据自由软件基金会所发表的 GNU 通用公共许可证条款规定,无论您依据的是本授权的第二版或(您自行选择的)任一日后发行的版本,将本程序再发布与/或做出修改
+'version-license-info' => "MediaWiki是自由软件,你可以依据自由软件基金会发行的'''GNU公众授权协议'''第2版或任意后续版本的条款,传播和/或修改本软件
 
-MediaWiki 是基于使用目的而加以发布,然而不负任何担保责任;也没有对适售性或特定目的适用性所为的默示性担保。详情请参照 GNU 通用公共许可证条款
+MediaWiki发表时预期有用,但对此'''无任何保证''',亦无隐含的'''可以销售'''或'''适合特定目的'''的保证。详情请见GNU公众授权协议
 
-您应已收到附随于本程序的[{{SERVER}}{{SCRIPTPATH}}/COPYING GNU 通用公共许可证副本];如果没有,请发送邮件至自由软件基金会:51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA,或[//www.gnu.org/licenses/old-licenses/gpl-2.0.html 在线阅读]。',
+你应该已经接受本程序附带的[{{SERVER}}{{SCRIPTPATH}}/COPYING GNU公众授权协议的副本]。如果没有,请写信至美国马萨诸塞州波士顿富兰克林大街51号5楼自由软件基金会,邮编MA 02110-1301(Free Software Foundation, Inc., 51 Franklin Street, 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' => '版本',
@@ -3818,7 +3807,7 @@ MediaWiki 是基于使用目的而加以发布,然而不负任何担保责任
 'filepath' => '文件路径',
 'filepath-page' => '文件名:',
 'filepath-submit' => '提交',
-'filepath-summary' => 'æ­¤ç\89¹æ®\8a页é\9d¢è¿\94å\9b\9eæ\96\87件ç\9a\84å®\8cæ\95´è·¯å¾\84ã\80\82å\9b¾å\83\8fä¼\9a以å®\8cæ\95´ç\9a\84å\88\86辨ç\8e\87æ\98¾ç¤ºï¼\8cå\85¶å®\83ç\9a\84æ\96\87件类å\9e\8bä¹\9få°\86ç\9b´æ\8e¥é\80\9aè¿\87å\85³è\81\94ç\9a\84åº\94ç\94¨ç¨\8båº\8f打开。',
+'filepath-summary' => 'æ\9c¬ç\89¹æ®\8a页é\9d¢è¿\94å\9b\9eæ\96\87件ç\9a\84å®\8cæ\95´è·¯å¾\84ã\80\82å\9b¾å\83\8f以å®\8cæ\95´å\88\86辨ç\8e\87æ\98¾ç¤ºï¼\8cå\85¶å®\83æ\96\87件类å\9e\8b以å\85³è\81\94ç¨\8båº\8fç\9b´æ\8e¥打开。',
 
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => '搜索重复文件',
index 0a22f58..1e44e23 100644 (file)
@@ -368,4 +368,3 @@ class CheckSyntax extends Maintenance {
 
 $maintClass = "CheckSyntax";
 require_once( RUN_MAINTENANCE_IF_MAIN );
-
index 4f82a63..114aefd 100644 (file)
@@ -101,4 +101,3 @@ class DeleteOldRevisions extends Maintenance {
 
 $maintClass = "DeleteOldRevisions";
 require_once( RUN_MAINTENANCE_IF_MAIN );
-
index dcbf739..f0da9a8 100644 (file)
@@ -91,4 +91,3 @@ class DeleteOrphanedRevisions extends Maintenance {
 
 $maintClass = "DeleteOrphanedRevisions";
 require_once( RUN_MAINTENANCE_IF_MAIN );
-
index 2bb2a0f..f470aed 100644 (file)
@@ -111,8 +111,10 @@ try {
 
        // Potentially debug globals
        $maintenance->globals();
+
+       // log profiling info
+       wfLogProfilingData();
 } catch ( MWException $mwe ) {
        echo( $mwe->getText() );
        exit( 1 );
 }
-
index 153fdd7..08aae29 100644 (file)
@@ -76,4 +76,3 @@ class DumpLinks extends Maintenance {
 
 $maintClass = "DumpLinks";
 require_once( RUN_MAINTENANCE_IF_MAIN );
-
index ad4c12f..93fc3e7 100644 (file)
@@ -93,4 +93,3 @@ class EditCLI extends Maintenance {
 
 $maintClass = "EditCLI";
 require_once( RUN_MAINTENANCE_IF_MAIN );
-
index 69cf548..95f46ff 100644 (file)
@@ -80,5 +80,3 @@ while ( ( $line = Maintenance::readconsole() ) !== false ) {
 }
 
 print "\n";
-
-
index d98cfe3..4cb5e10 100644 (file)
@@ -55,7 +55,8 @@ class TestFileOpPerformance extends Maintenance {
 
                $profiler = Profiler::instance();
                $profiler->setTemplated( true );
-               $profiler->logData(); // prints
+
+               //NOTE: as of MW1.21, $profiler->logData() is called implicitly by doMaintenance.php.
        }
 
        protected function doPerfTest( FileBackend $backend ) {
index 600ca97..691ed80 100644 (file)
@@ -76,5 +76,3 @@ class MaintenanceFormatInstallDoc extends Maintenance {
 
 $maintClass = 'MaintenanceFormatInstallDoc';
 require_once( RUN_MAINTENANCE_IF_MAIN );
-
-
index b72430a..445a3fb 100644 (file)
@@ -2709,5 +2709,3 @@ for ( $count = 0; true; $count++ ) {
                break;
        }
 }
-
-
index cea6433..01ba157 100644 (file)
@@ -120,4 +120,3 @@ if ( isset( $mmfl['output'] ) ) {
 } else {
        echo $s;
 }
-
index 16c6070..032d6f9 100644 (file)
@@ -45,7 +45,7 @@ class nextJobDB extends Maintenance {
                } elseif ( $this->hasOption( 'type' ) ) {
                        $types = array( $this->getOption( 'type' ) );
                } else {
-                       $types = false;
+                       $types = JobQueueGroup::singleton()->getDefaultQueueTypes();
                }
 
                $memcKey = 'jobqueue:dbs:v3';
@@ -82,24 +82,22 @@ class nextJobDB extends Maintenance {
                do {
                        $again = false;
 
-                       if ( $types === false ) {
-                               $candidates = call_user_func_array( 'array_merge', $pendingDBs );
-                       } else {
-                               $candidates = array();
-                               $possTypes = array_intersect( $types, array_keys( $pendingDBs ) );
-                               if ( $possTypes ) {
-                                       $possTypes = array_values( $possTypes );
-                                       $type = $possTypes[ mt_rand( 0, count( $possTypes ) - 1 ) ];
-                                       $candidates = $pendingDBs[$type];
+                       $candidates = array(); // list of (type, db)
+                       // Flatten the tree of candidates into a flat list so that a random
+                       // item can be selected, weighing each queue (type/db tuple) equally.
+                       foreach ( $pendingDBs as $type => $dbs ) {
+                               if ( in_array( $type, $types ) ) {
+                                       foreach ( $dbs as $db ) {
+                                               $candidates[] = array( $type, $db );
+                                       }
                                }
                        }
-                       if ( !$candidates ) {
+                       if ( !count( $candidates ) ) {
                                return; // no jobs for this type
                        }
 
-                       $candidates = array_values( $candidates );
-                       $db = $candidates[ mt_rand( 0, count( $candidates ) - 1 ) ];
-                       if ( !$this->checkJob( $type, $db ) ) {
+                       list( $type, $db ) = $candidates[ mt_rand( 0, count( $candidates ) - 1 ) ];
+                       if ( !$this->checkJob( $type, $db ) ) { // queue is actually empty?
                                $pendingDBs = $this->delistDB( $pendingDBs, $db, $type );
                                // Update the cache to remove the outdated information.
                                // Make sure that this does not race (especially with full rebuilds).
@@ -125,16 +123,16 @@ class nextJobDB extends Maintenance {
                }
        }
 
+       /**
+        * Remove a type/DB entry from the list of queues with jobs
+        *
+        * @param $pendingDBs array
+        * @param $db string
+        * @param $type string
+        * @return Array
+        */
        private function delistDB( array $pendingDBs, $db, $type ) {
-               if ( $type === false ) {
-                       // There are no jobs available in the current database
-                       foreach ( $pendingDBs as $type2 => $dbs ) {
-                               $pendingDBs[$type2] = array_diff( $pendingDBs[$type2], array( $db ) );
-                       }
-               } else {
-                       // There are no jobs of this type available in the current database
-                       $pendingDBs[$type] = array_diff( $pendingDBs[$type], array( $db ) );
-               }
+               $pendingDBs[$type] = array_diff( $pendingDBs[$type], array( $db ) );
                return $pendingDBs;
        }
 
@@ -146,17 +144,7 @@ class nextJobDB extends Maintenance {
         * @return bool
         */
        private function checkJob( $type, $dbName ) {
-               $group = JobQueueGroup::singleton( $dbName );
-               if ( $type === false ) {
-                       foreach ( $group->getDefaultQueueTypes() as $type ) {
-                               if ( !$group->get( $type )->isEmpty() ) {
-                                       return true;
-                               }
-                       }
-                       return false;
-               } else {
-                       return !$group->get( $type )->isEmpty();
-               }
+               return !JobQueueGroup::singleton( $dbName )->get( $type )->isEmpty();
        }
 
        /**
index 059b6fe..fa9d512 100644 (file)
@@ -83,4 +83,3 @@ class PopulateLogUsertext extends LoggedUpdateMaintenance {
 
 $maintClass = "PopulateLogUsertext";
 require_once( RUN_MAINTENANCE_IF_MAIN );
-
diff --git a/maintenance/postgres/archives/patch-sites.sql b/maintenance/postgres/archives/patch-sites.sql
new file mode 100644 (file)
index 0000000..a4f9ed9
--- /dev/null
@@ -0,0 +1,31 @@
+CREATE SEQUENCE sites_site_id_seq;
+CREATE TABLE sites (
+  site_id           INTEGER     NOT NULL    PRIMARY KEY DEFAULT nextval('sites_site_id_seq'),
+  site_global_key   TEXT        NOT NULL,
+  site_type         TEXT        NOT NULL,
+  site_group        TEXT        NOT NULL,
+  site_source       TEXT        NOT NULL,
+  site_language     TEXT        NOT NULL,
+  site_protocol     TEXT        NOT NULL,
+  site_domain       TEXT        NOT NULL,
+  site_data         TEXT        NOT NULL,
+  site_forward      SMALLINT    NOT NULL,
+  site_config       TEXT        NOT NULL
+);
+CREATE UNIQUE INDEX site_global_key ON sites (site_global_key);
+CREATE INDEX site_type ON sites (site_type);
+CREATE INDEX site_group ON sites (site_group);
+CREATE INDEX site_source ON sites (site_source);
+CREATE INDEX site_language ON sites (site_language);
+CREATE INDEX site_protocol ON sites (site_protocol);
+CREATE INDEX site_domain ON sites (site_domain);
+CREATE INDEX site_forward ON sites (site_forward);
+
+CREATE TABLE site_identifiers (
+  si_site   INTEGER NOT NULL,
+  si_type   TEXT    NOT NULL,
+  si_key    TEXT    NOT NULL
+);
+CREATE UNIQUE INDEX si_type_key ON site_identifiers (si_type, si_key);
+CREATE INDEX si_site ON site_identifiers (si_site);
+CREATE INDEX si_key ON site_identifiers (si_key);
index 845193d..cb3df8d 100644 (file)
@@ -530,12 +530,14 @@ CREATE TABLE job (
   job_timestamp       TIMESTAMPTZ,
   job_params          TEXT      NOT NULL,
   job_random          INTEGER   NOT NULL DEFAULT 0,
+  job_attempts        INTEGER   NOT NULL DEFAULT 0,
   job_token           TEXT      NOT NULL DEFAULT '',
   job_token_timestamp TIMESTAMPTZ,
   job_sha1            TEXT NOT NULL DEFAULT ''
 );
 CREATE INDEX job_sha1 ON job (job_sha1);
 CREATE INDEX job_cmd_token ON job (job_cmd, job_token, job_random);
+CREATE INDEX job_cmd_token_id ON job (job_cmd, job_token, job_id);
 CREATE INDEX job_cmd_namespace_title ON job (job_cmd, job_namespace, job_title);
 CREATE INDEX job_timestamp_idx ON job (job_timestamp);
 
@@ -697,3 +699,35 @@ CREATE TABLE module_deps (
   md_deps    TEXT  NOT NULL
 );
 CREATE UNIQUE INDEX md_module_skin ON module_deps (md_module, md_skin);
+
+CREATE SEQUENCE sites_site_id_seq;
+CREATE TABLE sites (
+  site_id           INTEGER     NOT NULL    PRIMARY KEY DEFAULT nextval('sites_site_id_seq'),
+  site_global_key   TEXT        NOT NULL,
+  site_type         TEXT        NOT NULL,
+  site_group        TEXT        NOT NULL,
+  site_source       TEXT        NOT NULL,
+  site_language     TEXT        NOT NULL,
+  site_protocol     TEXT        NOT NULL,
+  site_domain       TEXT        NOT NULL,
+  site_data         TEXT        NOT NULL,
+  site_forward      SMALLINT    NOT NULL,
+  site_config       TEXT        NOT NULL
+);
+CREATE UNIQUE INDEX site_global_key ON sites (site_global_key);
+CREATE INDEX site_type ON sites (site_type);
+CREATE INDEX site_group ON sites (site_group);
+CREATE INDEX site_source ON sites (site_source);
+CREATE INDEX site_language ON sites (site_language);
+CREATE INDEX site_protocol ON sites (site_protocol);
+CREATE INDEX site_domain ON sites (site_domain);
+CREATE INDEX site_forward ON sites (site_forward);
+
+CREATE TABLE site_identifiers (
+  si_site   INTEGER NOT NULL,
+  si_type   TEXT    NOT NULL,
+  si_key    TEXT    NOT NULL
+);
+CREATE UNIQUE INDEX si_type_key ON site_identifiers (si_type, si_key);
+CREATE INDEX si_site ON site_identifiers (si_site);
+CREATE INDEX si_key ON site_identifiers (si_key);
index 87fc997..bb3d68b 100644 (file)
@@ -95,4 +95,3 @@ class PreprocessDump extends DumpIterator {
 
 $maintClass = "PreprocessDump";
 require_once( RUN_MAINTENANCE_IF_MAIN );
-
index a91abf9..2d79f36 100644 (file)
@@ -180,4 +180,3 @@ class ReassignEdits extends Maintenance {
 
 $maintClass = "ReassignEdits";
 require_once( RUN_MAINTENANCE_IF_MAIN );
-
index 982c7cb..657c056 100644 (file)
@@ -71,4 +71,3 @@ class ShowStats extends Maintenance {
 
 $maintClass = "ShowStats";
 require_once( RUN_MAINTENANCE_IF_MAIN );
-
index d394558..30cbcf1 100644 (file)
@@ -349,4 +349,3 @@ class FixBug20757 extends Maintenance {
 
 $maintClass = 'FixBug20757';
 require_once( RUN_MAINTENANCE_IF_MAIN );
-
index e4a2a45..1049e0c 100644 (file)
@@ -124,5 +124,3 @@ function moveToExternal( $cluster, $maxID, $minID = 1 ) {
                }
        }
 }
-
-
index fe62ddf..5e5cc8f 100644 (file)
@@ -809,4 +809,3 @@ class CgzCopyTransaction {
                }
        }
 }
-
index 0f5cd2b..414eab8 100644 (file)
@@ -110,4 +110,3 @@ function resolveStub( $id, $stubText, $flags ) {
                ), $fname
        );
 }
-
index 1afecc4..3187c31 100644 (file)
@@ -113,4 +113,3 @@ SQL;
 
 $maintClass = 'StorageTypeStats';
 require_once( RUN_MAINTENANCE_IF_MAIN );
-
index 9487bbf..e13e1b1 100644 (file)
@@ -99,4 +99,3 @@ foreach ( $keys as $id => $key ) {
 }
 $t += microtime( true );
 printf( "Decompression time: %5.2f ms\n", $t * 1000 );
-
index 1cb97f9..c52f07c 100644 (file)
@@ -70,4 +70,3 @@ class DummyTermColorer {
                return '';
        }
 }
-
index 2181e44..1e1f24b 100644 (file)
@@ -33,4 +33,3 @@ $uo = new userOptions( $options, $args );
 $uo->run();
 
 print "Done.\n";
-
index 0be614a..09aec79 100644 (file)
@@ -93,4 +93,3 @@ function unixLineEndings( $var ) {
        }
        return $var;
 }
-
index 30b9f94..264ba69 100644 (file)
@@ -101,4 +101,3 @@ $wgAutoloadClasses += array(
        'SeleniumTestSuite' => "$testDir/selenium/SeleniumTestSuite.php",
        'SeleniumConfig' => "$testDir/selenium/SeleniumConfig.php",
 );
-
index e0520d7..c25f158 100644 (file)
@@ -4258,6 +4258,25 @@ disabled
 </li></ol>
 !! end
 
+!!test
+List embedded in a non-block tag
+(Ugly Parsoid output -- worth fixing; Disabled for PHP parser since it relies on Tidy)
+!! options
+disabled
+!!input
+<small>
+* foo
+</small>
+!!result
+<p><small></small></p>
+<small>
+<ul>
+<li> foo</li>
+</ul>
+</small>
+<p><small></small></p>
+!!end
+
 !! test
 List items are not parsed correctly following a <pre> block (bug 785)
 !! input
@@ -13671,6 +13690,51 @@ disabled
 
 !! end
 
+!!test
+Accept empty td cell attribute
+!!input
+{|
+| align="center" | foo ||  |
+|}
+!!result
+<table>
+<tr>
+<td align="center"> foo </td>
+<td>
+</td></tr></table>
+
+!!end
+
+!!test
+Non-empty attributes in th-cells
+!!input
+{|
+! Foo !! style="color: red" | Bar
+|}
+!!result
+<table>
+<tr>
+<th> Foo </th>
+<th style="color: red"> Bar
+</th></tr></table>
+
+!!end
+
+!!test
+Accept empty attributes in th-cells
+!!input
+{|
+!| foo !!| bar
+|}
+!!result
+<table>
+<tr>
+<th> foo </th>
+<th> bar
+</th></tr></table>
+
+!!end
+
 TODO:
 more images
 more tables