Merge "[FileBackend] Cleaned up resyncFiles() and added conservative resync option...
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Fri, 10 May 2013 20:02:00 +0000 (20:02 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Fri, 10 May 2013 20:02:00 +0000 (20:02 +0000)
142 files changed:
CREDITS
api.php
includes/DefaultSettings.php
includes/Exception.php
includes/ImagePage.php
includes/Import.php
includes/OutputPage.php
includes/PHPVersionError.php
includes/WebStart.php
includes/api/ApiFormatBase.php
includes/api/ApiQueryFilearchive.php
includes/api/ApiQueryImageInfo.php
includes/db/DatabaseMssql.php
includes/installer/Installer.i18n.php
includes/media/Bitmap.php
includes/media/Exif.php
includes/media/ExifBitmap.php
includes/objectcache/BagOStuff.php
includes/parser/CoreParserFunctions.php
includes/specials/SpecialActiveusers.php
includes/specials/SpecialRedirect.php
includes/templates/NoLocalSettings.php
includes/upload/UploadBase.php
languages/messages/MessagesAf.php
languages/messages/MessagesAng.php
languages/messages/MessagesAr.php
languages/messages/MessagesAs.php
languages/messages/MessagesAst.php
languages/messages/MessagesBa.php
languages/messages/MessagesBcl.php
languages/messages/MessagesBe_tarask.php
languages/messages/MessagesBg.php
languages/messages/MessagesBn.php
languages/messages/MessagesBr.php
languages/messages/MessagesCa.php
languages/messages/MessagesCe.php
languages/messages/MessagesCs.php
languages/messages/MessagesCy.php
languages/messages/MessagesDa.php
languages/messages/MessagesDe.php
languages/messages/MessagesDiq.php
languages/messages/MessagesEl.php
languages/messages/MessagesEn.php
languages/messages/MessagesEo.php
languages/messages/MessagesEs.php
languages/messages/MessagesEt.php
languages/messages/MessagesFi.php
languages/messages/MessagesFo.php
languages/messages/MessagesFr.php
languages/messages/MessagesFrr.php
languages/messages/MessagesGan_hant.php
languages/messages/MessagesGl.php
languages/messages/MessagesGu.php
languages/messages/MessagesHak.php
languages/messages/MessagesHe.php
languages/messages/MessagesHsb.php
languages/messages/MessagesHu.php
languages/messages/MessagesIa.php
languages/messages/MessagesId.php
languages/messages/MessagesIt.php
languages/messages/MessagesJa.php
languages/messages/MessagesKn.php
languages/messages/MessagesKo.php
languages/messages/MessagesKrc.php
languages/messages/MessagesKsh.php
languages/messages/MessagesLa.php
languages/messages/MessagesLb.php
languages/messages/MessagesLv.php
languages/messages/MessagesLzh.php
languages/messages/MessagesMin.php
languages/messages/MessagesMk.php
languages/messages/MessagesMl.php
languages/messages/MessagesMs.php
languages/messages/MessagesNb.php
languages/messages/MessagesNds_nl.php
languages/messages/MessagesNl.php
languages/messages/MessagesNn.php
languages/messages/MessagesOs.php
languages/messages/MessagesPa.php
languages/messages/MessagesPl.php
languages/messages/MessagesPms.php
languages/messages/MessagesPs.php
languages/messages/MessagesPt.php
languages/messages/MessagesPt_br.php
languages/messages/MessagesQqq.php
languages/messages/MessagesRm.php
languages/messages/MessagesRo.php
languages/messages/MessagesRoa_tara.php
languages/messages/MessagesRu.php
languages/messages/MessagesSah.php
languages/messages/MessagesSi.php
languages/messages/MessagesSk.php
languages/messages/MessagesSl.php
languages/messages/MessagesSo.php
languages/messages/MessagesSr_ec.php
languages/messages/MessagesSv.php
languages/messages/MessagesTe.php
languages/messages/MessagesTh.php
languages/messages/MessagesUk.php
languages/messages/MessagesUz.php
languages/messages/MessagesVec.php
languages/messages/MessagesVi.php
languages/messages/MessagesVo.php
languages/messages/MessagesVro.php
languages/messages/MessagesYi.php
languages/messages/MessagesYo.php
languages/messages/MessagesYue.php
languages/messages/MessagesZh_hans.php
languages/messages/MessagesZh_hant.php
maintenance/Maintenance.php
maintenance/copyFileBackend.php
maintenance/doMaintenance.php
maintenance/dumpBackup.php
maintenance/importImages.php
maintenance/importTextFile.php
maintenance/language/checkDupeMessages.php
maintenance/language/checkLanguage.inc
maintenance/language/languages.inc
maintenance/language/messageTypes.inc
maintenance/language/messages.inc
maintenance/language/rebuildLanguage.php
maintenance/purgeOldText.inc
maintenance/rebuildLocalisationCache.php
maintenance/tables.sql
profileinfo.php
resources/mediawiki.libs/mediawiki.libs.jpegmeta.js
skins/common/oldshared.css
skins/common/shared.css
skins/vector/screen.css
tests/RunSeleniumTests.php
tests/TestsAutoLoader.php
tests/parser/parserTests.txt
tests/parserTests.php
tests/phpunit/includes/api/RandomImageGenerator.php
tests/phpunit/includes/api/query/ApiQueryContinueTestBase.php
tests/phpunit/includes/api/query/ApiQueryTestBase.php
tests/phpunit/includes/db/TestORMRowTest.php
tests/phpunit/includes/parser/NewParserTest.php
tests/phpunit/mocks/filebackend/MockFSFile.php [new file with mode: 0644]
tests/phpunit/mocks/filebackend/MockFileBackend.php [new file with mode: 0644]
tests/phpunit/mocks/media/MockBitmapHandler.php [new file with mode: 0644]
tests/selenium/SeleniumServerManager.php

diff --git a/CREDITS b/CREDITS
index 6cc28c1..417bec3 100644 (file)
--- a/CREDITS
+++ b/CREDITS
@@ -160,7 +160,7 @@ following names for their contribution to the product.
 * Manuel Menal
 * Marcin Cieślak
 * Marcus Buck
-* Mark A. Pelletier
+* Marc-André Pelletier
 * Mark Hershberger
 * Mark Holmquist
 * Marooned
diff --git a/api.php b/api.php
index b9efe2c..9d7f648 100644 (file)
--- a/api.php
+++ b/api.php
@@ -54,8 +54,8 @@ if ( !$wgRequest->checkUrlExtension() ) {
 // Verify that the API has not been disabled
 if ( !$wgEnableAPI ) {
        header( $_SERVER['SERVER_PROTOCOL'] . ' 500 MediaWiki configuration Error', true, 500 );
-       echo( 'MediaWiki API is not enabled for this site. Add the following line to your LocalSettings.php'
-               . '<pre><b>$wgEnableAPI=true;</b></pre>' );
+       echo 'MediaWiki API is not enabled for this site. Add the following line to your LocalSettings.php'
+               . '<pre><b>$wgEnableAPI=true;</b></pre>';
        die( 1 );
 }
 
index 407ac8f..5330caf 100644 (file)
@@ -496,11 +496,11 @@ $wgFileBackends = array();
 $wgLockManagers = array();
 
 /**
- * Show EXIF data, on by default if available.
- * Requires PHP's EXIF extension: http://www.php.net/manual/en/ref.exif.php
+ * Show Exif data, on by default if available.
+ * Requires PHP's Exif extension: http://www.php.net/manual/en/ref.exif.php
  *
  * @note FOR WINDOWS USERS:
- * To enable EXIF functions, add the following lines to the "Windows
+ * To enable Exif functions, add the following lines to the "Windows
  * extensions" section of php.ini:
  * @code{.ini}
  * extension=extensions/php_mbstring.dll
@@ -848,7 +848,7 @@ $wgJpegTran = '/usr/bin/jpegtran';
 
 
 /**
- * Some tests and extensions use exiv2 to manipulate the EXIF metadata in some
+ * Some tests and extensions use exiv2 to manipulate the Exif metadata in some
  * image formats.
  */
 $wgExiv2Command = '/usr/bin/exiv2';
index c513ef7..dc1208a 100644 (file)
@@ -668,7 +668,7 @@ class MWExceptionHandler {
                if ( defined( 'STDERR' ) ) {
                        fwrite( STDERR, $message );
                } else {
-                       echo( $message );
+                       echo $message;
                }
        }
 
index e687046..a5beb5d 100644 (file)
@@ -250,7 +250,7 @@ class ImagePage extends Article {
         *
         * @todo FIXME: Bad interface, see note on MediaHandler::formatMetadata().
         *
-        * @param array $metadata the array containing the EXIF data
+        * @param array $metadata the array containing the Exif data
         * @return String The metadata table. This is treated as Wikitext (!)
         */
        protected function makeMetadataTable( $metadata ) {
index 7b078db..8b7af02 100644 (file)
@@ -428,11 +428,11 @@ class WikiImporter {
                        }
                }
 
-               print( var_dump(
+               print var_dump(
                        $lookup[$this->reader->nodeType],
                        $this->reader->name,
                        $this->reader->value
-               ) . "\n\n" );
+               ) . "\n\n";
        }
 
        /**
index 4a2b17a..746cd0e 100644 (file)
@@ -2076,7 +2076,7 @@ class OutputPage extends ContextSource {
        }
 
        /**
-        * Actually output something with print().
+        * Actually output something with print.
         *
         * @param string $ins the string to output
         */
index e8ecf6d..c9321f0 100644 (file)
@@ -112,6 +112,6 @@ HTML;
                $finalOutput = ( $type == 'load.php' ) ? "/* $message */" : $message;
                header( "$protocol 500 MediaWiki configuration Error" );
        }
-       echo( "$finalOutput\n" );
+       echo "$finalOutput\n";
        die( 1 );
 }
index 81e7c13..ead6d77 100644 (file)
@@ -146,7 +146,7 @@ wfProfileIn( 'WebStart.php-ob_start' );
 # that would cause us to potentially mix gzip and non-gzip output, creating a
 # big mess.
 if ( !defined( 'MW_NO_OUTPUT_BUFFER' ) && ob_get_level() == 0 ) {
-       require_once "$IP/includes/OutputHandler.php" ;
+       require_once "$IP/includes/OutputHandler.php";
        ob_start( 'wfOutputHandler' );
 }
 wfProfileOut( 'WebStart.php-ob_start' );
index e8e6acf..b89fb3a 100644 (file)
@@ -170,12 +170,12 @@ abstract class ApiFormatBase extends ApiBase {
 ?>
 <br />
 <small>
-You are looking at the HTML representation of the <?php echo( $this->mFormat ); ?> format.<br />
+You are looking at the HTML representation of the <?php echo $this->mFormat; ?> format.<br />
 HTML is good for debugging, but is unsuitable for application use.<br />
 Specify the format parameter to change the output format.<br />
-To see the non HTML representation of the <?php echo( $this->mFormat ); ?> format, set format=<?php echo( strtolower( $this->mFormat ) ); ?>.<br />
+To see the non HTML representation of the <?php echo $this->mFormat; ?> format, set format=<?php echo strtolower( $this->mFormat ); ?>.<br />
 See the <a href='https://www.mediawiki.org/wiki/API'>complete documentation</a>, or
-<a href='<?php echo( $script ); ?>'>API help</a> for more information.
+<a href='<?php echo $script; ?>'>API help</a> for more information.
 </small>
 <pre style='white-space: pre-wrap;'>
 <?php
index c34859b..408c7c2 100644 (file)
@@ -281,7 +281,7 @@ class ApiQueryFilearchive extends ApiQueryBase {
                                ' parseddescription - Parse the description on the version',
                                ' mime              - Adds MIME of the image',
                                ' mediatype         - Adds the media type of the image',
-                               ' metadata          - Lists EXIF metadata for the version of the image',
+                               ' metadata          - Lists Exif metadata for the version of the image',
                                ' bitdepth          - Adds the bit depth of the version',
                                ' archivename       - Adds the file name of the archive version for non-latest versions'
                        ),
index 5ed9d38..4849f40 100644 (file)
@@ -545,7 +545,7 @@ class ApiQueryImageInfo extends ApiQueryBase {
                        'thumbmime' =>      ' thumbmime     - Adds MIME type of the image thumbnail' .
                                ' (requires url and param ' . $modulePrefix . 'urlwidth)',
                        'mediatype' =>      ' mediatype     - Adds the media type of the image',
-                       'metadata' =>       ' metadata      - Lists EXIF metadata for the version of the image',
+                       'metadata' =>       ' metadata      - Lists Exif metadata for the version of the image',
                        'archivename' =>    ' archivename   - Adds the file name of the archive version for non-latest versions',
                        'bitdepth' =>       ' bitdepth      - Adds the bit depth of the version',
                );
index 293557f..130ac70 100644 (file)
@@ -674,7 +674,7 @@ class DatabaseMssql extends DatabaseBase {
                $res = sqlsrv_query( $this->mConn, "SELECT * FROM information_schema.tables
                        WHERE table_type='BASE TABLE' AND table_name = '$table'" );
                if ( $res === false ) {
-                       print( "Error in tableExists query: " . $this->getErrors() );
+                       print "Error in tableExists query: " . $this->getErrors();
                        return false;
                }
                if ( sqlsrv_fetch( $res ) ) {
@@ -693,7 +693,7 @@ class DatabaseMssql extends DatabaseBase {
                $res = sqlsrv_query( $this->mConn, "SELECT DATA_TYPE FROM INFORMATION_SCHEMA.Columns
                        WHERE TABLE_NAME = '$table' AND COLUMN_NAME = '$field'" );
                if ( $res === false ) {
-                       print( "Error in fieldExists query: " . $this->getErrors() );
+                       print "Error in fieldExists query: " . $this->getErrors();
                        return false;
                }
                if ( sqlsrv_fetch( $res ) ) {
@@ -708,7 +708,7 @@ class DatabaseMssql extends DatabaseBase {
                $res = sqlsrv_query( $this->mConn, "SELECT * FROM INFORMATION_SCHEMA.Columns
                        WHERE TABLE_NAME = '$table' AND COLUMN_NAME = '$field'" );
                if ( $res === false ) {
-                       print( "Error in fieldInfo query: " . $this->getErrors() );
+                       print "Error in fieldInfo query: " . $this->getErrors();
                        return false;
                }
                $meta = $this->fetchRow( $res );
index 385ae1a..637210b 100644 (file)
@@ -14624,6 +14624,8 @@ Na het plaatsen van het bestand met instellingen kunt u '''[$2 uw wiki betreden]
        'config-download-localsettings' => '<code>LocalSettings.php</code> downloaden',
        'config-help' => 'hulp',
        'config-nofile' => 'Het bestand "$1" is niet gevonden. Is het verwijderd?',
+       'config-extension-link' => 'Weet u dat u [//www.mediawiki.org/wiki/Manual:Extensions uitbreidingen] kunt gebruiken voor uw wiki?
+U kunt [//www.mediawiki.org/wiki/Category:Extensions_by_category uitbreidingen op categorie] bekijken of ga naar de [//www.mediawiki.org/wiki/Extension_Matrix Uitbreidingenmatrix] om de volledige lijst met uitbreidingen te bekijken.',
        'mainpagetext' => "'''De installatie van MediaWiki is geslaagd.'''",
        'mainpagedocfooter' => 'Raadpleeg de [//meta.wikimedia.org/wiki/NL_Help:Inhoudsopgave handleiding] voor informatie over het gebruik van de wikisoftware.
 
index 1ce3d5e..9f7a09c 100644 (file)
@@ -131,7 +131,7 @@ class BitmapHandler extends ImageHandler {
                        # The size of the image on the page
                        'clientWidth' => $params['width'],
                        'clientHeight' => $params['height'],
-                       # Comment as will be added to the EXIF of the thumbnail
+                       # Comment as will be added to the Exif of the thumbnail
                        'comment' => isset( $params['descriptionUrl'] ) ?
                                "File source: {$params['descriptionUrl']}" : '',
                        # Properties of the original image
index d7c45d3..9a2794a 100644 (file)
@@ -114,7 +114,7 @@ class Exif {
         */
        function __construct( $file, $byteOrder = '' ) {
                /**
-                * Page numbers here refer to pages in the EXIF 2.2 standard
+                * Page numbers here refer to pages in the Exif 2.2 standard
                 *
                 * Note, Exif::UNDEFINED is treated as a string, not as an array of bytes
                 * so don't put a count parameter for any UNDEFINED values.
@@ -168,7 +168,7 @@ class Exif {
                        # Exif IFD Attribute Information (p30-31)
                        'EXIF' => array(
                                # TODO: NOTE: Nonexistence of this field is taken to mean nonconformance
-                               # to the EXIF 2.1 AND 2.2 standards
+                               # to the Exif 2.1 AND 2.2 standards
                                'ExifVersion' => Exif::UNDEFINED,                       # Exif version
                                'FlashPixVersion' => Exif::UNDEFINED,                   # Supported Flashpix version #p32
 
index 98c423f..d8d0bed 100644 (file)
@@ -84,7 +84,7 @@ class ExifBitmapHandler extends BitmapHandler {
                        return self::METADATA_GOOD;
                }
                if ( $metadata === self::OLD_BROKEN_FILE ) {
-                       # Old special value indicating that there is no EXIF data in the file.
+                       # Old special value indicating that there is no Exif data in the file.
                        # or that there was an error well extracting the metadata.
                        wfDebug( __METHOD__ . ": back-compat version\n" );
                        return self::METADATA_COMPATIBLE;
index 58ddd6a..857943e 100644 (file)
@@ -170,7 +170,7 @@ abstract class BagOStuff {
         */
        public function lock( $key, $timeout = 60 ) {
                $timestamp = microtime( true ); // starting UNIX timestamp
-               if ( $this->add( "{$key}:lock", $timeout ) ) {
+               if ( $this->add( "{$key}:lock", 1, $timeout ) ) {
                        return true;
                }
 
@@ -186,7 +186,7 @@ abstract class BagOStuff {
                                $sleep *= 2;
                        }
                        usleep( $sleep ); // back off
-                       $locked = $this->add( "{$key}:lock", $timeout );
+                       $locked = $this->add( "{$key}:lock", 1, $timeout );
                } while ( !$locked );
 
                return $locked;
index 493611a..be945f7 100644 (file)
@@ -701,7 +701,7 @@ class CoreParserFunctions {
                        # We are on current page (and not in PST), so
                        # take length of input to parser.
                        $length = $parser->mInputSize;
-               } elseif( isset( $cache[$page] ) ) {
+               } elseif ( isset( $cache[$page] ) ) {
                        $length = $cache[$page];
                } elseif ( $parser->incrementExpensiveFunctionCount() ) {
                        $rev = Revision::newFromTitle( $title, false, Revision::READ_NORMAL );
index a2978e3..34a4135 100644 (file)
@@ -62,7 +62,7 @@ class ActiveUsersPager extends UsersPager {
                $this->requestedUser = '';
                if ( $un != '' ) {
                        $username = Title::makeTitleSafe( NS_USER, $un );
-                       if( !is_null( $username ) ) {
+                       if ( !is_null( $username ) ) {
                                $this->requestedUser = $username->getText();
                        }
                }
@@ -96,7 +96,7 @@ class ActiveUsersPager extends UsersPager {
                $conds = array( 'rc_user > 0' ); // Users - no anons
                $conds[] = 'rc_log_type IS NULL OR rc_log_type != ' . $dbr->addQuotes( 'newusers' );
                $conds[] = 'rc_timestamp >= ' . $dbr->addQuotes(
-                       $dbr->timestamp( wfTimestamp( TS_UNIX ) - $this->RCMaxAge*24*3600 ) );
+                       $dbr->timestamp( wfTimestamp( TS_UNIX ) - $this->RCMaxAge * 24 * 3600 ) );
 
                if ( $this->requestedUser != '' ) {
                        $conds[] = 'rc_user_text >= ' . $dbr->addQuotes( $this->requestedUser );
@@ -120,10 +120,6 @@ class ActiveUsersPager extends UsersPager {
                                'GROUP BY' => array( 'rc_user_text' ),
                                'USE INDEX' => array( 'recentchanges' => 'rc_user_text' )
                        ),
-                       'join_conds' => array( // check for suppression blocks
-                               'ipblocks' => array( 'LEFT JOIN',
-                                       array( 'rc_user=ipb_user', 'ipb_deleted' => 1 ) ),
-                       ),
                        'conds' => $conds
                );
        }
@@ -163,7 +159,7 @@ class ActiveUsersPager extends UsersPager {
                $user = User::newFromId( $row->user_id );
 
                // User right filter
-               foreach( $this->hideRights as $right ) {
+               foreach ( $this->hideRights as $right ) {
                        // Calling User::getRights() within the loop so that
                        // if the hideRights() filter is empty, we don't have to
                        // trigger the lazy-init of the big userrights array in the
@@ -177,7 +173,7 @@ class ActiveUsersPager extends UsersPager {
                // Note: This is a different loop than for user rights,
                // because we're reusing it to build the group links
                // at the same time
-               foreach( $user->getGroups() as $group ) {
+               foreach ( $user->getGroups() as $group ) {
                        if ( in_array( $group, $this->hideGroups ) ) {
                                return '';
                        }
index 210cee6..2681207 100644 (file)
@@ -145,7 +145,7 @@ class SpecialRedirect extends FormSpecialPage {
         */
        function dispatch() {
                // the various namespaces supported by Special:Redirect
-               switch( $this->mType ) {
+               switch ( $this->mType ) {
                case 'user':
                        $url = $this->dispatchUser();
                        break;
@@ -187,7 +187,7 @@ class SpecialRedirect extends FormSpecialPage {
                        'options' => array(),
                        'default' => current( array_keys( $ns ) ),
                );
-               foreach( $ns as $n => $m ) {
+               foreach ( $ns as $n => $m ) {
                        $m = $this->msg( $m )->text();
                        $a['type']['options'][$m] = $n;
                }
index b0ec8b5..8175458 100644 (file)
@@ -79,9 +79,9 @@ if ( !function_exists( 'session_name' ) ) {
                <p>
                <?php
                if ( $installerStarted ) {
-                       echo( "Please <a href=\"" . htmlspecialchars( $path ) . "mw-config/index." . htmlspecialchars( $ext ) . "\"> complete the installation</a> and download LocalSettings.php." );
+                       echo "Please <a href=\"" . htmlspecialchars( $path ) . "mw-config/index." . htmlspecialchars( $ext ) . "\"> complete the installation</a> and download LocalSettings.php.";
                } else {
-                       echo( "Please <a href=\"" . htmlspecialchars( $path ) . "mw-config/index." . htmlspecialchars( $ext ) . "\"> set up the wiki</a> first." );
+                       echo "Please <a href=\"" . htmlspecialchars( $path ) . "mw-config/index." . htmlspecialchars( $ext ) . "\"> set up the wiki</a> first.";
                }
                ?>
                </p>
index 774650b..fa62a99 100644 (file)
@@ -1087,7 +1087,7 @@ abstract class UploadBase {
                        // bytes. There shouldn't be a legitimate reason for this to happen.
                        wfDebug( __METHOD__ . ": Unmatched XML declaration start\n" );
                        return true;
-               } elseif ( substr( $contents, 0, 4) == "\x4C\x6F\xA7\x94" ) {
+               } elseif ( substr( $contents, 0, 4 ) == "\x4C\x6F\xA7\x94" ) {
                        // EBCDIC encoded XML
                        wfDebug( __METHOD__ . ": EBCDIC Encoded XML\n" );
                        return true;
index 9ce43d7..a5dd3ac 100644 (file)
@@ -622,7 +622,7 @@ Moenie vergeet om u [[Special:Preferences|voorkeure vir {{SITENAME}}]] te stel n
 'yourname' => 'Gebruikersnaam:',
 'userlogin-yourname' => 'Gebruikersnaam',
 'userlogin-yourname-ph' => 'Sleutel u gebruikersnaam in',
-'createacct-helpusername-url' => '{{ns:Project}}:Beleid_gebruikersname',
+'createacct-helpusername-url' => '{{ns:Project}}:Gebruikersnaambeleid',
 'createacct-helpusername-link' => '[[{{MediaWiki:createacct-helpusername-url}}|(help my kies)]]',
 'yourpassword' => 'Wagwoord:',
 'userlogin-yourpassword' => 'Wagwoord',
@@ -666,14 +666,14 @@ Moenie vergeet om u [[Special:Preferences|voorkeure vir {{SITENAME}}]] te stel n
 'createacct-reason' => 'Rede',
 'createacct-reason-ph' => "Hoekom u nog 'n rekening skep",
 'createacct-captcha' => 'Veiligheidskontrole',
-'createacct-captcha-help-url' => '{{ns:Project}}:Gebruiker_aanvra',
+'createacct-captcha-help-url' => "{{ns:Project}}:Versoek 'n gebruiker",
 'createacct-imgcaptcha-help' => "Kan nie die beeld sien nie? [[{{MediaWiki:createacct-captcha-help-url}}|Vra dan 'n gebruiker aan]]",
 'createacct-imgcaptcha-ph' => 'Sleutel die teks hierbo in',
 'createacct-submit' => 'Skep u rekening',
 'createacct-benefit-heading' => '{{SITENAME}} word deur mense soos u geskep.',
-'createacct-benefit-body1' => 'wysigings',
-'createacct-benefit-body2' => 'bladsye',
-'createacct-benefit-body3' => 'onlangse bydraers',
+'createacct-benefit-body1' => '{{PLURAL:$1|wysiging|wysigings}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|bladsy|bladsye}}',
+'createacct-benefit-body3' => 'onlangse {{PLURAL:$1|bydraer|bydraers}}',
 'badretype' => 'Die ingetikte wagwoorde is nie dieselfde nie.',
 'userexists' => "Die gebruikersnaam wat u gekies het is beset.
 Kies asseblief 'n ander naam.",
@@ -3212,7 +3212,7 @@ Ander velde sal versteek wees.
 * gpslongitude
 * gpsaltitude",
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Breedte',
 'exif-imagelength' => 'Hoogte',
 'exif-bitspersample' => 'Grepe per komponent',
@@ -3390,7 +3390,7 @@ Ander velde sal versteek wees.
 'exif-originalimageheight' => 'Hoogte van beeld voor dit besny is',
 'exif-originalimagewidth' => 'Wydte van beeld voor dit besny is',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Ongekompakteerd',
 'exif-compression-2' => 'CCITT Groep 3 1-dimensionale aangepaste "Huffman run length"-kodering',
 'exif-compression-3' => 'CCITT Groep 3 fakskodering',
index 0639d4d..f1f458c 100644 (file)
@@ -1129,7 +1129,7 @@ Bidde cēos ōðerne naman.',
 'metadata-expand' => 'Oferȝehanda sēon',
 'metadata-collapse' => 'Oferȝehanda hȳdan',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Ƿīdnes',
 'exif-imagelength' => 'Hīehþ',
 'exif-compression' => 'Ȝeþryccungmōd',
@@ -1149,7 +1149,7 @@ Bidde cēos ōðerne naman.',
 'exif-gpsmeasuremode' => 'Mētungmōd',
 'exif-gpsimgdirection' => 'Rihtung þæs biliðes',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Unȝeþrycced',
 
 'exif-meteringmode-0' => 'Uncūþ',
index 9c471d4..3917c4e 100644 (file)
@@ -3518,7 +3518,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'العرض',
 'exif-imagelength' => 'الارتفاع',
 'exif-bitspersample' => 'بت لكل مكونة',
@@ -3701,7 +3701,7 @@ $1',
 # Make & model, can be wikified in order to link to the camera and model name
 'exif-subjectnewscode-value' => '$2 ($1)',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'غير مضغوط',
 'exif-compression-2' => 'CCITT المجموعة 3 -1 تعديل طول تشغيل ترميز هوفمان البعدي',
 'exif-compression-3' => 'ترميز فاكس المجموعة 3 CCITT',
index d815925..f9b8da3 100644 (file)
@@ -3189,7 +3189,7 @@ Any subsequent links on the same line are considered to be exceptions, i.e. page
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'প্ৰস্থ',
 'exif-imagelength' => 'উচ্চতা',
 'exif-bitspersample' => 'প্ৰতি অংশৰ বিট',
@@ -3367,7 +3367,7 @@ Any subsequent links on the same line are considered to be exceptions, i.e. page
 'exif-originalimageheight' => "ক্ৰ'প কৰাৰ আগত ছবিৰ উচ্চতা",
 'exif-originalimagewidth' => "ক্ৰ'প কৰাৰ আগত ছবিৰ প্ৰস্থতা",
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'অসংকুচিত',
 'exif-compression-2' => "CCITT দল ৩ ১-পৰিসৰ পৰিৱৰ্তীত Huffman চলন দৈৰ্ঘ্য এনক'ডিং",
 'exif-compression-3' => "CCITT দল ৩ ফেক্স এনক'ডিং",
index 729156a..d5102cf 100644 (file)
@@ -3094,7 +3094,7 @@ Los demás tarán anubríos de mou predetermináu.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Anchor',
 'exif-imagelength' => 'Altor',
 'exif-bitspersample' => 'Bits por componente',
@@ -3272,7 +3272,7 @@ Los demás tarán anubríos de mou predetermináu.
 'exif-originalimageheight' => 'Altor de la imaxe enantes de cortase',
 'exif-originalimagewidth' => 'Anchor de la imaxe enantes de cortase',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Non comprimida',
 'exif-compression-2' => 'CCITT Grupu 3 codificación Huffman RLE con Modificación 1-Dimensional',
 'exif-compression-3' => 'Codificación de fax CCITT Grupu 3',
index a8a0f72..6c60042 100644 (file)
@@ -3065,7 +3065,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Киңлек',
 'exif-imagelength' => 'Бейеклек',
 'exif-bitspersample' => 'Төҫтәрҙең тәрәнлеге',
@@ -3243,7 +3243,7 @@ $1',
 'exif-originalimageheight' => 'Кадрлауға тиклемге рәсем бейеклеге',
 'exif-originalimagewidth' => 'Кадрлауға тиклемге рәсем киңлеге',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Ҡыҫылмаған',
 'exif-compression-2' => 'CCITT Group 3, Хаффман сериялары оҙонлоҡтарын кодлауҙың 1 үлсәмле модификацияһы',
 'exif-compression-3' => 'CCITT Group 3, факслы кодлау',
index 3babb36..e443aa9 100644 (file)
@@ -3082,7 +3082,7 @@ An mga iba pagtatagoon sa paagi nin pirmehan.
 * gpspalaba
 * gpspalangkaw',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Lakbáng',
 'exif-imagelength' => 'Langkáw',
 'exif-bitspersample' => 'Panaradit kada komponente',
@@ -3261,7 +3261,7 @@ Sublokas kan siyudad na ipinahiling',
 'exif-originalimageheight' => 'Langkaw kan imahe bago ini pinagkrap',
 'exif-originalimagewidth' => 'Lakbang kan imahe bago ini pinagkrap',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Pinaghalugaan',
 'exif-compression-2' => 'CCITT Grupong 3 1-Dimensyonal na pagbabago ni Huffman nagdadalagan nin halawig na pag-enkod',
 'exif-compression-3' => 'CCITT Grupong 3 pinag-enkod sa fax',
index eafbba9..2fe28f2 100644 (file)
@@ -675,7 +675,7 @@ $2',
 'yourname' => 'Імя ўдзельніка:',
 'userlogin-yourname' => 'Імя ўдзельніка',
 'userlogin-yourname-ph' => 'Увядзіце вашае імя ўдзельніка',
-'createacct-helpusername-url' => '{{ns:Project}}:Правілы_імёнаў_удзельнікаў',
+'createacct-helpusername-url' => '{{ns:Project}}:Правілы_найменьня_ўдзельнікаў',
 'createacct-helpusername-link' => '[[{{MediaWiki:createacct-helpusername-url}}|(дапамажыце выбраць)]]',
 'yourpassword' => 'Пароль:',
 'userlogin-yourpassword' => 'Пароль',
@@ -719,14 +719,14 @@ $2',
 'createacct-reason' => 'Прычына',
 'createacct-reason-ph' => 'Зь якой мэтай вы ствараеце іншы рахунак',
 'createacct-captcha' => 'Праверка бясьпекі',
-'createacct-captcha-help-url' => '{{ns:Project}}:Запыты рахункаў',
+'createacct-captcha-help-url' => '{{ns:Project}}:Запыты на стварэньне рахункаў',
 'createacct-imgcaptcha-help' => 'Ня бачыце рысунак? [[{{MediaWiki:createacct-captcha-help-url}}|Запытайце рахунак]]',
 'createacct-imgcaptcha-ph' => 'Увядзіце тэкст, што бачыце вышэй',
 'createacct-submit' => 'Стварыць рахунак',
 'createacct-benefit-heading' => '{{SITENAME}} створаная людзьмі, такімі як вы.',
-'createacct-benefit-body1' => 'правак',
-'createacct-benefit-body2' => 'старонак',
-'createacct-benefit-body3' => 'удзельнікаў за апошні час',
+'createacct-benefit-body1' => '{{PLURAL:$1|праўка|праўкі|правак}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|старонка|старонкі|старонак}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|удзельнік|удзельніка|удзельнікаў}} за апошні час',
 'badretype' => 'Уведзеныя Вамі паролі не супадаюць.',
 'userexists' => 'Уведзенае Вамі імя ўдзельніка ўжо выкарыстоўваецца кімсьці іншым. 
 Калі ласка, выберыце іншае імя.',
@@ -1495,6 +1495,7 @@ $1",
 'userrights-notallowed' => 'Ваш рахунак ня мае права прызначаць ці выдаляць правы ўдзельнікам.',
 'userrights-changeable-col' => 'Групы, якія Вы можаце мяняць',
 'userrights-unchangeable-col' => 'Групы, якія Вы ня можаце мяняць',
+'userrights-conflict' => 'Канфлікт правоў удзельнікаў! Калі ласка, захавайце зьмены яшчэ раз.',
 
 # Groups
 'group' => 'Група:',
@@ -3238,7 +3239,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Шырыня',
 'exif-imagelength' => 'Вышыня',
 'exif-bitspersample' => 'Глыбіня колеру',
@@ -3417,7 +3418,7 @@ $1',
 'exif-originalimageheight' => 'Вышыня выявы да кадраваньня',
 'exif-originalimagewidth' => 'Шырыня выявы да кадраваньня',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Нясьціснуты',
 'exif-compression-2' => 'CCITT Група 3 аднамернае абноўленае кадаваньне адлегласьці Хафмана',
 'exif-compression-3' => 'CCITT Група 3 факсымільнае кадаваньне',
index 77b7f08..02c7613 100644 (file)
@@ -3022,7 +3022,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Ширина',
 'exif-imagelength' => 'Височина',
 'exif-bitspersample' => 'Дълбочина на цвета (битове)',
@@ -3177,7 +3177,7 @@ $1',
 'exif-originalimageheight' => 'Височина на изображението преди намаляването',
 'exif-originalimagewidth' => 'Ширина на изображението преди намаляването',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Некомпресиран',
 
 'exif-copyrighted-true' => 'С авторски права',
index 4a987da..471c01c 100644 (file)
@@ -2993,7 +2993,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'চওড়া',
 'exif-imagelength' => 'লম্বা',
 'exif-bitspersample' => 'উপাদানপ্রতি বিট',
@@ -3171,7 +3171,7 @@ $1',
 'exif-originalimageheight' => 'ক্রপ করার পূর্বে চিত্রটির উচ্চতা',
 'exif-originalimagewidth' => 'ক্রপ করার পূর্বে চিত্রটির প্রস্থ',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'অসংকুচিত',
 
 'exif-copyrighted-true' => 'কপিরাইটকৃত',
index 2b2fbd0..c4470bb 100644 (file)
@@ -3103,7 +3103,7 @@ Kuzhet e vo ar re all dre ziouer.
 * gpslongitude
 * gpsaltitude",
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Ledander',
 'exif-imagelength' => 'Hed',
 'exif-bitspersample' => 'Niv. a vitoù dre barzhioù',
@@ -3281,7 +3281,7 @@ Kuzhet e vo ar re all dre ziouer.
 'exif-originalimageheight' => 'Sav ar skeudenn a-raok na vije bet krennet',
 'exif-originalimagewidth' => 'Ledander ar skeudenn a-raok na vije bet krennet',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Hep gwaskañ',
 'exif-compression-2' => 'CCITT Strollad 3 1 Hirder kodañ Huffman kemmet a vent 1',
 'exif-compression-3' => 'CCITT Strollad 3 kodañ ar pelleiler',
index 0df5336..b676d55 100644 (file)
@@ -3139,7 +3139,7 @@ La resta d'enllaços de la línia són les excepcions, és a dir, les pàgines o
 * gpslongitude
 * gpsaltitude",
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Amplada',
 'exif-imagelength' => 'Alçada',
 'exif-bitspersample' => 'Octets per component',
@@ -3317,7 +3317,7 @@ La resta d'enllaços de la línia són les excepcions, és a dir, les pàgines o
 'exif-originalimageheight' => 'Alçada de la imatge abans que fos retallada',
 'exif-originalimagewidth' => 'Amplada de la imatge abans que fos retallada',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Sense compressió',
 'exif-compression-2' => 'Codificació CCITT Grup 3 longitud monodimensional de Huffman modificat',
 'exif-compression-3' => 'Codificació de fax CCITT grup 3',
index cf800ca..7635cb1 100644 (file)
@@ -345,7 +345,7 @@ $messages = array(
 'mypage' => 'Долахь йолу агӀо',
 'mytalk' => 'Сан дийцаре агӀо',
 'anontalk' => 'Дийцаре хӀара IP-долуметтиг',
-'navigation' => 'ШавигаÑ\80',
+'navigation' => 'Ð\9dавигаÑ\86и',
 'and' => '&#32;а',
 
 # Cologne Blue skin
@@ -360,7 +360,7 @@ $messages = array(
 
 # Vector skin
 'vector-action-addsection' => 'Тlетоха хьедар',
-'vector-action-delete' => 'Дlадайá',
+'vector-action-delete' => 'ДӀаяккха',
 'vector-action-move' => 'Цlе хийца',
 'vector-action-protect' => 'Гlаролла дé',
 'vector-action-undelete' => 'Меттахlоттадé',
@@ -394,8 +394,8 @@ $messages = array(
 'create' => 'Кхолла',
 'editthispage' => 'Нисйé хlара агlо',
 'create-this-page' => 'Кхолла хlара агlо',
-'delete' => 'Дlадайá',
-'deletethispage' => 'Дlайайá хlара агlо',
+'delete' => 'ДӀаяккха',
+'deletethispage' => 'ДӀаяккха хӀара агӀо',
 'undelete_short' => 'Меттахlоттайé $1 {{PLURAL:$1|нисйинарг|нисйинарш|нисйинарш}}',
 'viewdeleted_short' => 'Хьажар {{PLURAL:$1|$1 дlадаьккхина нийсдар|$1 дlадаьхна нийсдарш|$1 дlадаьхна нийсдарш}}',
 'protect' => 'Гlаролла дé',
@@ -428,7 +428,7 @@ $messages = array(
 'viewcount' => 'Хlокху агlонга хьойсина $1 {{PLURAL:$1|за|за|за}}.',
 'protectedpage' => 'Гlароллийца йолу агlо',
 'jumpto' => 'Дехьавала оцу:',
-'jumptonavigation' => 'шавигар',
+'jumptonavigation' => 'навигаци',
 'jumptosearch' => 'лаха',
 'view-pool-error' => 'Бехк цабиллар доьха, хlинц гlулкхдириг йоьттина йу.
 Каьчна дуккха дехарш хlокху агlонтlе хьажарца.
@@ -488,7 +488,7 @@ $1',
 'collapsible-expand' => 'хьайаста',
 'thisisdeleted' => 'Хьажа йа меттахlоттайé $1?',
 'viewdeleted' => 'Хьалххьожи $1?',
-'restorelink' => '{{PLURAL:$1|$1 дlайайина йолу нисйинарг|$1 дlайайина йолу нисйинарш|$1 дlайайина йолу нисйинарш}}',
+'restorelink' => '{{PLURAL:$1|$1 дӀадаьккхина нийсдар|$1 дӀадаьхна нийсдарш|$1 дӀадаьхна нийсдарш}}',
 'feedlinks' => 'Оцу хатlаьхь:',
 'feed-invalid' => 'Тайпан нийсадоцу талол оцу куьгтаlорна.',
 'feed-unavailable' => 'Хаитарца йолу асанаш тlекхочучехь яц',
@@ -530,6 +530,7 @@ $1',
 'missingarticle-diff' => '(тейп тайпнара: $1, $2)',
 'internalerror' => 'Чоьхьара гlалат',
 'internalerror_info' => 'Чоьхьара гlалат: $1',
+'filedeleteerror' => 'ДӀаяккха цатарло файл «$1».',
 'badtitle' => 'Цамегаш йолу цlе',
 'badtitletext' => 'Дехарца йолу агlонан цlе нийса яц, йаьсса ю, хила мега нийса ца хlоттийна меттаюкъар йа юкъарвики цlе. Хила мега, цlарца цамагош йолу саберг.',
 'viewsource' => 'Хьажар',
@@ -645,6 +646,7 @@ $1',
 'updated' => '(Карла йаькхина)',
 'note' => "'''Билгалдаккхар:'''",
 'previewnote' => "'''Хlара хьалх хьажар ду, йоза хlинца язданза ду!'''",
+'continue-editing' => 'Кхин дӀа тадар',
 'editing' => 'Тадар: $1',
 'creating' => 'АгӀо кхоллар «$1»',
 'editingsection' => 'Тадар $1 (даакъа)',
@@ -701,6 +703,7 @@ $1',
 'page_last' => 'тlаьххьара',
 'histlegend' => "Кхетор: (хlинцлера.) — йолучу башхон къастам; (хьалх.) — хьалхлерачу башхон къастам; '''ж''' — жимо бозалца болу хийцам.",
 'history-fieldset-title' => 'Хьажа исцlарерачу',
+'history-show-deleted' => 'ДӀаяхинарш',
 'histfirst' => 'ширниш',
 'histlast' => 'хьалхарниш',
 'historyempty' => '(йаьсса)',
@@ -838,6 +841,9 @@ $1',
 'grouppage-bureaucrat' => '{{ns:project}}:Даржахой',
 'grouppage-suppress' => '{{ns:project}}:Левисорхой',
 
+# Rights
+'right-delete' => 'агӀош дӀаяхар',
+
 # Special:Log/newusers
 'newuserlogpage' => 'Декъашхой дlабазбина тептар',
 
@@ -890,8 +896,8 @@ $1',
 'upload' => 'Чуйаккха файл',
 'uploadbtn' => 'Чуйаккха файл',
 'uploadlogpage' => 'Чуйахаран тéптар',
-'uploadlogpagetext' => 'Ð\9bаÑ\85аÑ\85Ñ\8cа Ð³Ð¾Ð¹Ñ\82Ñ\83Ñ\88 Ð±Ñ\83 Ð¼Ð¾Ð³lам Ñ\82lаÑ\8cÑ\85Ñ\85Ñ\8cаÑ\80а Ñ\87Ñ\83Ñ\8fÑ\85на Ñ\85\83мнаÑ\88и. Ð\98Ñ\88Ñ\82а Ñ\85Ñ\8cажа. [[Special:ImageList|Ñ\85\83мнаÑ\88и Ð¼Ð¾Ð³lам]] Ð¹Ð° [[Special:NewImages|галелаÑ\80е Ñ\85\83мнаши]].',
-'filename' => 'Ð¥lÑ\83ман Ñ\86lе',
+'uploadlogpagetext' => 'Ð\9bаÑ\85аÑ\85Ñ\8cа Ð³Ð¾Ð¹Ñ\82Ñ\83Ñ\88 Ð±Ñ\83 Ð¼Ð¾Ð³lам Ñ\82lаÑ\8cÑ\85Ñ\85Ñ\8cаÑ\80а Ñ\87Ñ\83Ñ\8fÑ\85на Ñ\84айлаÑ\88и. Ð\98Ñ\88Ñ\82а Ñ\85Ñ\8cажа. [[Special:ImageList|Ñ\84айлаÑ\88и Ð¼Ð¾Ð³lам]] Ð¹Ð° [[Special:NewImages|галелаÑ\80е Ñ\84айлаши]].',
+'filename' => 'Файлан Ñ\86Ó\80е',
 'uploadwarning' => 'Дlахьедар',
 'uploadedimage' => 'чуяккхина «[[$1]]»',
 'filename-prefix-blacklist' => '#<!-- битийша хlара могlа ша мабарра --> <pre>
@@ -912,10 +918,12 @@ PICT # тайп тайпан
 'license' => 'Бакъойалар:',
 
 # Special:ListFiles
+'listfiles-summary' => 'Лахахь гойтуш ю ерриг файлаш.
+Декъашхо къастичи, цун керла файлаш гойту.',
 'listfiles_search_for' => 'Лаха хIуман цIарца:',
 'imgfile' => 'файл',
-'listfiles' => 'Ð¥lÑ\83мнаÑ\88и Ð¼Ð¾Ð³lам',
-'listfiles_name' => 'Ð¥lÑ\83ман Ñ\86lе',
+'listfiles' => 'ФайлаÑ\88и Ð¼Ð¾Ð³Ó\80ам',
+'listfiles_name' => 'Файлан Ñ\86Ó\80е',
 'listfiles_user' => 'Декъашхо',
 'listfiles_size' => 'Барам',
 'listfiles_description' => 'Цуьнах лаьцна',
@@ -924,8 +932,8 @@ PICT # тайп тайпан
 'file-anchor-link' => 'Файл',
 'filehist' => 'Файлан истори',
 'filehist-help' => 'Тlетаlаде терахь/хан, муха хилла хьажарна и файл.',
-'filehist-deleteall' => 'дlадайá Ð¼Ð°Ñ\81Ñ\81о',
-'filehist-deleteone' => 'дlадайá',
+'filehist-deleteall' => 'маÑ\81Ñ\81о Ð´Ó\80аÑ\8fккÑ\85а',
+'filehist-deleteone' => 'дӀаяккха',
 'filehist-current' => 'карара',
 'filehist-datetime' => 'Терахь/Хан',
 'filehist-thumb' => 'Жима',
@@ -943,8 +951,16 @@ PICT # тайп тайпан
 'filerevert-submit' => 'Юхаяккха',
 
 # File deletion
-'filedelete-legend' => 'Дlайайá и файл',
-'filedelete-submit' => 'Дlадайá',
+'filedelete-legend' => 'ДӀаяккха и файл',
+'filedelete-intro' => "<div class=\"plainlinks\">
+Хьо  дӀаяккха лууш ву '''[[Media:\$1|\$1]]''' ([{{fullurl:{{FULLPAGENAME}}|action=history}} истори])
+
+* '''Тешна хила, и файл [{{fullurl:Special:WhatLinksHere/File:\$1|hidetrans=1&hideredirs=1&hidelinks=1}} лелош цахиларна]''' (йа [[:commons:File:{{PAGENAME}}|оцуьнах терра файл ю]] оц ВикидӀайуьллуче чохь)
+* Хьажа [{{fullurl:Special:WhatLinksHere/File:\$1|hideimages=1}} гуттаралера хьажориг йуй] оц файлан тӀе
+
+{{#ifexist:{{TALKPAGENAME}}|ХӀокху агӀона ю '''[[{{TALKPAGENAME}}|дийцаре агӀо]].'''}}
+</div>",
+'filedelete-submit' => 'ДӀаяккха',
 'filedelete-otherreason' => 'Кхин бахьан:',
 'filedelete-reason-otherlist' => 'Кхин бахьан',
 
@@ -987,7 +1003,7 @@ PICT # тайп тайпан
 
 'brokenredirects' => 'ДIахаьдна долу дIасахьажораш',
 'brokenredirects-edit' => 'нисйé',
-'brokenredirects-delete' => 'дlадайá',
+'brokenredirects-delete' => 'дӀаяккха',
 
 'withoutinterwiki' => 'Кхечу меттанашан хьажориг йоцу агIонаш',
 'withoutinterwiki-submit' => 'Гайта',
@@ -1065,6 +1081,7 @@ PICT # тайп тайпан
 
 # Special:DeletedContributions
 'deletedcontributions' => 'Декъашхочуьн дlабайина къинхьегам',
+'deletedcontributions-title' => 'ДӀабаьккхина къинхьегам',
 'sp-deletedcontributions-contribs' => 'къинхьегам',
 
 # Special:LinkSearch
@@ -1111,32 +1128,37 @@ PICT # тайп тайпан
 'unwatching' => 'Тергаме мlогаман чура дlайаккха…',
 
 # Delete
-'deletepage' => 'Дlайайá агlо',
+'deletepage' => 'ДӀаяккха агӀо',
 'confirm' => 'Къобалде',
 'excontent' => 'чуьраниг: «$1»',
 'excontentauthor' => 'чуьраниг: «$1» (дуьххьара кхоллина да вара иза [[Special:Contributions/$2|$2]])',
 'exbeforeblank' => 'чуьраниг дlацlанйале хьалха: «$1»',
 'exblank' => 'агlо йаьсса йара',
+'delete-confirm' => '$1 — дӀаяккхар',
 'delete-legend' => 'Дlадайáр',
 'confirmdeletetext' => 'Хьан дехар ду хlара агlо ше бухци дlабайа аьлла (йа сурт) а массо цуьнан истори оцу бух чура. Дехар до, бакъде, билгала хьайна иза лаахь, кхеташ хира ву хьо тlаьхьа хир долу чун, иза деш ду ахьа бакъонца догlуш, вахьа дехкина долучу дакъанца [[{{MediaWiki:Policy-url}}]].',
 'actioncomplete' => 'Дешдерг кхочушди',
 'deletedtext' => '«$1» дlаяккхина йара.
 Хьажа. $2 хьажарна оцу тlаьхьара дlадайаран могlаме.',
-'dellogpage' => 'Дlадайарш долу тéптар',
-'deletionlog' => 'дlадайарш долу тéптар',
+'dellogpage' => 'ДӀадаьхнарш долу тéптар',
+'deletionlog' => 'дӀадаьхнарш долу тéптар',
 'deletecomment' => 'Бахьан:',
 'deleteotherreason' => 'Кхин бахьан/тlетохар:',
 'deletereasonotherlist' => 'Кхин бахьан',
 
 # Rollback
+'rollback' => 'Йухаяккха хийцам',
 'rollbacklink' => 'йухаяккха',
+'rollbacklinkcount' => 'йухаяккха $1 {{PLURAL:$1|нисдар|нисдарш}}',
+'rollbacklinkcount-morethan' => 'йухаяккха $1 дукха {{PLURAL:$1|нисдар|нисдарш|нисдарш}}',
 'revertpage' => 'Нисдарш [[Special:Contributions/$2|$2]] ([[User talk:$2|дийцаре]]) йуха йаьхна башхаллийн [[User:$1|$1]]',
 
 # Protect
 'protectlogpage' => 'Гlаролли тептар',
 'protectedarticle' => 'гlаролла дина агlо «[[$1]]»',
 'modifiedarticleprotection' => 'агlонан гlаролли локхалла хийцина «[[$1]]»',
-'movedarticleprotection' => 'гӀаролла дехьадаккха тӀера «[[$2]]» цуна тӀе «[[$1]]»',
+'unprotectedarticle' => 'ГӀоролла дӀадаьстина «[[$1]]»',
+'movedarticleprotection' => '«[[$2]]» гӀаролла сехьадаккха «[[$1]]»',
 'prot_1movedto2' => '«[[$1]]» цlе хийцина оцу «[[$2]]»',
 'protectcomment' => 'Бахьан:',
 'protectexpiry' => 'Чекхйолу:',
@@ -1170,6 +1192,8 @@ PICT # тайп тайпан
 'undeletepagetitle' => "'''Лахахь гайтина хӀокху [[:$1]] агӀона дӀаяхина версеш'''.",
 'viewdeletedpage' => 'ДIайайина йолу агIонашка хьажар',
 'undelete-fieldset-title' => 'МеттахӀоттае версеш',
+'undeleteextrahelp' => "Ерриге агӀонан истори меттахӀоттая массо а билгалонаш еса а йити '''«{{int:undeletebtn}}»''' тӀетаӀае.
+ЦхӀайолу агӀонан версиш меттахӀоттая цкъахьалха меттахӀоттош йолу версиш билгалъяхна тӀетагӀе '''«{{int:undeletebtn}}»'''.",
 'undeleterevdel' => 'Метта хlоттор хира дац, нагахь иза дакъошкахь дlадайина далахь а тlаьххьара кисак башхо йа хlума.
 Иштнарг хилча ахьа дlабаккха беза хlоттийна болу къастам йа хьагайта тlаьххьара дlайайина башхо.',
 'undeletebtn' => 'МеттахӀоттае',
@@ -1197,11 +1221,13 @@ PICT # тайп тайпан
 
 'sp-contributions-newbies' => 'Гайта бекъ къинхьегам, керла дlабазбиначара бина болу',
 'sp-contributions-blocklog' => 'сацораш',
+'sp-contributions-deleted' => 'дӀадаьхна нийсдарш',
 'sp-contributions-logs' => 'тéптарш',
 'sp-contributions-talk' => 'дийцаре',
 'sp-contributions-userrights' => 'декъашхочуьн бакъона урхалладар',
 'sp-contributions-search' => 'Къинхьегам лахар',
 'sp-contributions-username' => 'IP-долу меттиг йа декъашхон цlе:',
+'sp-contributions-toponly' => 'ТӀаьхьара бина хийцамаш гайта',
 'sp-contributions-submit' => 'Лаха',
 
 # What links here
@@ -1275,8 +1301,8 @@ PICT # тайп тайпан
 'movelogpage' => 'Цlераш хийцаран тептар',
 'movereason' => 'Бахьан:',
 'revertmove' => 'йухаяккха',
-'delete_and_move' => 'Цle а хуьйцуш дlадайá',
-'delete_and_move_confirm' => 'Хlаъ, дlайайъа хlара агlо',
+'delete_and_move' => 'Цle а хуьйцуш дӀаяккха',
+'delete_and_move_confirm' => 'Хlаъ, дӀаяккха хlара агlо',
 'protectedpagemovewarning' => "'''Дlахьедар.''' Хlара агlо гlаролла йина йу; цlе хийца йа нисйа а бакъо йолуш адаманкуьйгалхой бе бац.
 Лахахьа тептаро балийна тlаьхьаралера дlаязбина хаам:",
 'semiprotectedpagemovewarning' => "'''Дlахьедо.''' Хlара агlо гlаролла йина йу; дlабазбиначу декъашхошка бе цlе хийцалуш яц.
@@ -1312,7 +1338,7 @@ PICT # тайп тайпан
 'import' => 'Кхин яззам агlонаш чуяхар',
 'import-interwiki-source' => 'Вики-хьост/агlо:',
 'import-interwiki-templates' => 'Лата де массо куцкепаш',
-'import-upload-filename' => 'Ð¥lÑ\83ман Ñ\86lе:',
+'import-upload-filename' => 'Файлан Ñ\86Ó\80е:',
 
 # Tooltip help for the actions
 'tooltip-pt-userpage' => 'Декъашхочуьна агlо',
@@ -1329,7 +1355,7 @@ PICT # тайп тайпан
 'tooltip-ca-history' => 'Хlокху агlон хийцамаш болу тептар',
 'tooltip-ca-protect' => 'Гlаролла дé хlокху агlон хийцам цабайта',
 'tooltip-ca-unprotect' => 'Дlадаккха хlокху агlонна долу гаролла',
-'tooltip-ca-delete' => 'Дlайайá хlара агlо',
+'tooltip-ca-delete' => 'ДӀаяккха хӀара агӀо',
 'tooltip-ca-move' => 'Агlон цlе хийца',
 'tooltip-ca-watch' => 'Тlетоха хlара агlо сан тергаме могlам юкъа',
 'tooltip-ca-unwatch' => 'Дlайаккха хlара агlо хьай тергаме могlам юкъар',
@@ -1440,7 +1466,7 @@ PICT # тайп тайпан
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-datetime' => 'Хlума хийцина терахь а хан',
 'exif-datetimeoriginal' => 'Дуьххьарлера терахь а хан',
 
@@ -1473,6 +1499,7 @@ PICT # тайп тайпан
 'table_pager_first' => 'Дуьххьаралера агlо',
 'table_pager_last' => 'Тlаьххьаралера агlо',
 'table_pager_limit' => 'Гайта $1 хlумнаш агlон тlаьхь',
+'table_pager_limit_label' => 'АгӀона чохь гойтуш ю оццул:',
 'table_pager_limit_submit' => 'Кхочушдé',
 'table_pager_empty' => 'Цакарийна',
 
@@ -1540,5 +1567,6 @@ PICT # тайп тайпан
 'logentry-delete-delete' => '$1 {{GENDER:$2|дӀаякхина|дӀаякхина}} агӀо $3',
 'logentry-delete-restore' => '$1 {{GENDER:$2|меттахӀоттайина|меттахӀоттайина}} агӀо $3',
 'logentry-move-move' => '$1 {{GENDER:$2|цӀе хийцина|цӀе хийцина}} $3 оцу $4',
+'logentry-move-move-noredirect' => '$1 {{GENDER:$2|цӀе хийцина|цӀе хийцина}} $3 оцу $4 дӀасахьажийнарг цаюьтуш',
 
 );
index c0fdfcf..cb7e5ac 100644 (file)
@@ -3327,7 +3327,7 @@ Obsahuje pouze seznam s odrážkami (řádka začíná s *). První odkaz na ř
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Šířka',
 'exif-imagelength' => 'Výška',
 'exif-bitspersample' => 'Bitů na složku',
@@ -3505,7 +3505,7 @@ Obsahuje pouze seznam s odrážkami (řádka začíná s *). První odkaz na ř
 'exif-originalimageheight' => 'Výška obrázku před oříznutím',
 'exif-originalimagewidth' => 'Šířka obrázku před oříznutím',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Nekomprimovaný',
 'exif-compression-2' => '1-rozměrné modifikované Huffmanovo kódování délky běhu CCITT Group 3',
 'exif-compression-3' => 'Kódování faxů CCITT Group 3',
index a86eacb..a885129 100644 (file)
@@ -3073,7 +3073,7 @@ Cuddir y meysydd eraill trwy ragosodiad.
 * gpslongitude
 * gpsaltitude",
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Lled',
 'exif-imagelength' => 'Uchder',
 'exif-bitspersample' => 'Nifer y didau i bob cydran',
@@ -3251,7 +3251,7 @@ Cuddir y meysydd eraill trwy ragosodiad.
 'exif-originalimageheight' => 'Uchder y ddelwedd cyn iddi gael ei thocio',
 'exif-originalimagewidth' => 'Lled y ddelwedd cyn iddi gael ei thocio',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Heb ei gywasgu',
 'exif-compression-2' => 'Amgodio hyd rhediad Huffman Addasedig 1-Dimensiwn Grŵp 3 y CCITT',
 'exif-compression-3' => 'Amgodio ffacs Grŵp 3 CCITT',
index e4cb551..eefcd34 100644 (file)
@@ -3155,7 +3155,7 @@ Kun indholdet af lister (linjer startende med *) bliver brugt. Den første henvi
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Bredde',
 'exif-imagelength' => 'Længde',
 'exif-bitspersample' => 'Bits pr. farvekomponent',
@@ -3333,7 +3333,7 @@ Kun indholdet af lister (linjer startende med *) bliver brugt. Den første henvi
 'exif-originalimageheight' => 'Højden af billedet inden det blev beskåret',
 'exif-originalimagewidth' => 'Bredden af billedet inden det blev beskåret',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Ukomprimeret',
 'exif-compression-2' => 'CCITT Gruppe 3 1-dimensionel modificeret Huffman run length encoding',
 'exif-compression-3' => 'CCITT Gruppe 3 fax-kodning',
index 259ee7a..5551c56 100644 (file)
@@ -875,9 +875,9 @@ Vergiss nicht, deine [[Special:Preferences|{{SITENAME}}-Einstellungen]] zu ände
 'createacct-imgcaptcha-ph' => 'Gib den Text ein, den du oben siehst.',
 'createacct-submit' => 'Dein Benutzerkonto erstellen',
 'createacct-benefit-heading' => '{{SITENAME}} wird von Leuten wie dir erstellt.',
-'createacct-benefit-body1' => 'Bearbeitungen',
-'createacct-benefit-body2' => 'Seiten',
-'createacct-benefit-body3' => 'aktive Autoren',
+'createacct-benefit-body1' => '{{PLURAL:$1|Bearbeitung|Bearbeitungen}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|Seite|Seiten}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|aktiver Autor|aktive Autoren}}',
 'badretype' => 'Die beiden Passwörter stimmen nicht überein.',
 'userexists' => 'Dieser Benutzername ist schon vergeben.
 Bitte wähle einen anderen.',
@@ -3390,7 +3390,7 @@ Weitere werden standardmäßig nicht angezeigt.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Breite',
 'exif-imagelength' => 'Höhe',
 'exif-bitspersample' => 'Bits pro Farbkomponente',
@@ -3568,7 +3568,7 @@ Weitere werden standardmäßig nicht angezeigt.
 'exif-originalimageheight' => 'Bildhöhe vor dem Zuschneiden',
 'exif-originalimagewidth' => 'Bildbreite vor dem Zuschneiden',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Unkomprimiert',
 'exif-compression-2' => 'CCITT Gruppe 3 1-dimensionale modifizierte Huffman-Lauflängenkodierung',
 'exif-compression-3' => 'CCITT Gruppe 3 Faxcodierung',
@@ -4002,15 +4002,15 @@ Eine [{{SERVER}}{{SCRIPTPATH}}/COPYING Kopie der ''GNU General Public License'']
 'version-entrypoints-articlepath' => '[https://www.mediawiki.org/wiki/Manual:$wgArticlePath Artikelpfad]',
 'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath Skriptpfad]',
 
-'redirect' => 'Weiterleitung von Datei, Benutzer oder Versionskennung',
-'redirect-legend' => 'Weiterleitung auf eine Datei oder Seite',
-'redirect-summary' => 'Diese Spezialseite leitet auf eine Datei (Dateiname angegeben), Seite (Versionskennung angegeben) oder Benutzerseite (numerische Benutzerkennung angegeben) weiter.',
+'redirect' => 'Weiterleitung auf Benutzerseite, Seitenversion oder Datei',
+'redirect-legend' => 'Weiterleitung auf eine Benutzerseite, Seitenversion oder Datei',
+'redirect-summary' => 'Diese Spezialseite leitet auf eine Benutzerseite (numerische Benutzerkennung angegeben), Seitenversion (Versionskennung angegeben) oder Datei (Dateiname angegeben) weiter.',
 'redirect-submit' => 'Los',
 'redirect-lookup' => 'Suchen:',
-'redirect-value' => 'Wert:',
-'redirect-user' => 'Benutzerkennung',
+'redirect-value' => 'Kennung oder Dateiname:',
+'redirect-user' => 'Benutzerseite',
 'redirect-revision' => 'Seitenversion',
-'redirect-file' => 'Dateiname',
+'redirect-file' => 'Datei',
 'redirect-not-exists' => 'Der Wert wurde nicht gefunden',
 
 # Special:FileDuplicateSearch
index a9dc302..85dc38f 100644 (file)
@@ -767,19 +767,22 @@ Wexta ke verhafızayê cıgerayoxê şıma pak beno no benate de taye peli de he
 'userlogin-resetlink' => 'Melumatê cıkewtışi xo vira kerdê?',
 'helplogin-url' => 'Help:Qeydbiyayış',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Desteg be qeydbiyayış ra]]',
+'createacct-join' => 'Cêr melumatê xo cı ke',
 'createacct-emailrequired' => 'Adresa e-postey',
 'createacct-emailoptional' => 'Adresa e-postey (mecburi niya)',
 'createacct-email-ph' => 'Adresa e-posteyê xo cıkewe',
-'createaccountmail' => 'mı rê e-mail sera parola bırışe',
+'createaccountmail' => 'Yew parolaya rastameyiya ravêrdiye bıgurene û parola ena adresa e-postey rê bırışe',
 'createacct-realname' => 'Nameyo raştıkên (mecburi niyo)',
 'createaccountreason' => 'Sebeb:',
 'createacct-reason' => 'Sebeb',
 'createacct-captcha' => 'Qontrolê asayişi',
 'createacct-captcha-help-url' => '{{ns:Project}}:Yew hesab bıwaze',
-'createacct-imgcaptcha-help' => 'Asayışi nêvênena? [[{{MediaWiki:createacct-captcha-help-url}}|Yew hesab bıwaze]]',
-'createacct-benefit-body1' => 'vurnayışi',
-'createacct-benefit-body2' => 'peli',
-'createacct-benefit-body3' => 'İştıraqkerdoğê na aşme',
+'createacct-imgcaptcha-help' => 'Resım nêvêniya? [[{{MediaWiki:createacct-captcha-help-url}}|Yew hesab bıwaze]]',
+'createacct-imgcaptcha-ph' => 'Nuşteyo ke cor aseno ey cı ke',
+'createacct-submit' => 'Hesabê xo vıraze',
+'createacct-benefit-body1' => '{{PLURAL:$1|vurnayış|vurnayışi}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|pele|peli}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|iştıraqkerdoğo nıkayên|iştıraqkerdoğê nıkayêni}}',
 'badretype' => 'Parolayê ke şıma nuşti yewbini nêtepışneni.',
 'userexists' => 'Jewna karber enê nami karneno.
 Mara reca xorê jewna name bınusnê.',
@@ -821,8 +824,8 @@ Eke vurnayişê parolayi, şıma nêwaşt ya zi parolayê şıma ameyo şıma vi
 'blocked-mailpassword' => 'Cıkewetışê na keyepel de şıma qedexe biye, ey ra newe yew şifre nêerşawyeno.',
 'eauthentsent' => 'Adreso ke şıma dayo ma, ma yew e-posta rışt uca, o e-posta de kodê araşt kerdış esto.
 Heta ke şıma o e-postaaraşt nêkeri ma yewna e-posta şıma ri nêrışêno.',
-'throttled-mailpassword' => 'Parola vir ardış, zerreyê {{PLURAL:$1|yew seet|$1 seet}} de erşawiya.
-Parola her {{PLURAL:$1|yew seete|$1 seete}} de yew rey erşawiyena.',
+'throttled-mailpassword' => 'Eyarkerdışê parola xora zerreyê {{PLURAL:$1|yew saete|$1 saetan}} erşawiya.
+Seba xırabgurenayışê xızmete ra, her {{PLURAL:$1|yew saete|$1 saetan}} de rey tenya yew eyarkerdışê parola erşawiyeno.',
 'mailerror' => 'Erşawıtışe xetayê e-posta: $1',
 'acct_creation_throttle_hit' => 'Yew ten IP adresê şıma xebıtnayo u kewto no wiki, roco peyin de {{PLURAL:$1|1 hesab|$1 hesab}} vıraşto.
 xulasa ney kesê ke IP adresê şıma xebıtneni hini nêeşkeni ney ra zêdêr hesab akeri.',
@@ -870,7 +873,7 @@ Bıne vındere u newe ra dest pê bıkere.',
 
 # Special:PasswordReset
 'passwordreset' => 'Parola reset ke',
-'passwordreset-text' => 'Nê formi melumatê hesab dê şıma birê şıma viri deye pırkerê.',
+'passwordreset-text' => 'Seba eyarkerdışê parolaya xo ra nê formi pır kerê.',
 'passwordreset-legend' => 'Parola reset ke',
 'passwordreset-disabled' => 'Parola reset kerdış ena viki sera qefılneyayo.',
 'passwordreset-pretext' => '{{PLURAL:$1||Enê cerenan ra jeweri defiye de}}',
@@ -3350,7 +3353,7 @@ Eg ena dosya, kondisyonê orcinali ra bıvuriya, belki detayanê hemi nıeseno.'
 'metadata-langitem' => "'''$2:''' $1",
 'metadata-langitem-default' => '$1',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Herayey',
 'exif-imagelength' => 'Dergi',
 'exif-bitspersample' => 'yew parçe de biti',
@@ -3543,7 +3546,7 @@ $4, $5, $6 $7
 $8',
 'exif-subjectnewscode-value' => '$2 ($1)',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Nêdegusneyayo',
 'exif-compression-2' => 'CCITT Grube 3 1-ebadın kodkerdışê dergiya gurenayışê Huffmanio modifiyekerde',
 'exif-compression-3' => 'CCITT Group 3 fax kodkerdış',
index 9868071..ee492c8 100644 (file)
@@ -3272,7 +3272,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Πλάτος',
 'exif-imagelength' => 'Υψος',
 'exif-bitspersample' => 'Bits ανά στοιχείο',
@@ -3450,7 +3450,7 @@ $1',
 'exif-originalimageheight' => 'Ύψος εικόνας πριν από την περικοπή της',
 'exif-originalimagewidth' => 'Πλάτος της εικόνας πριν από την περικοπή της',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Έχει αποσυμπιεστεί.',
 'exif-compression-2' => 'Εκτέλεση μήκους κωδικοποίησης CCITT Ομάδα 3 Μιας-Διαστάσεως Modified Huffman',
 'exif-compression-3' => 'Κωδικοποίηση Φαξ CCITT Ομάδας 3',
index 93e9746..2bc5b6a 100644 (file)
@@ -4032,7 +4032,7 @@ Others will be hidden by default.
 'metadata-langitem'         => "'''$2:''' $1", # only translate this message to other languages if you have to change it
 'metadata-langitem-default' => '$1', # only translate this message to other languages if you have to change it
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth'                  => 'Width',
 'exif-imagelength'                 => 'Height',
 'exif-bitspersample'               => 'Bits per component',
@@ -4229,7 +4229,7 @@ $4, $5, $6 $7
 $8', # only translate this message to other languages if you have to change it
 'exif-subjectnewscode-value'  => '$2 ($1)', # only translate this message to other languages if you have to change it
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1'     => 'Uncompressed',
 'exif-compression-2'     => 'CCITT Group 3 1-Dimensional Modified Huffman run length encoding',
 'exif-compression-3'     => 'CCITT Group 3 fax encoding',
index 68c59ec..6e1d1df 100644 (file)
@@ -3274,7 +3274,7 @@ Aliaj estos kaŝitaj defaŭlte.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Larĝeco',
 'exif-imagelength' => 'Alteco',
 'exif-bitspersample' => 'Bitokoj en komponanto',
@@ -3452,7 +3452,7 @@ Aliaj estos kaŝitaj defaŭlte.
 'exif-originalimageheight' => 'Alto de bildo antaŭ stuco',
 'exif-originalimagewidth' => 'Larĝo de bildo antaŭ stuco',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Nedensigita',
 'exif-compression-2' => 'CCITT-Grupo 3 modifita ciferado laŭ Huffman Dimensio-1',
 'exif-compression-3' => 'CCITT Grupo-3 ĉifrado por faksilo',
index 8a1fe4d..511eb2c 100644 (file)
@@ -832,8 +832,8 @@ No olvides cambiar tus [[Special:Preferences|preferencias de {{SITENAME}} ]].',
 'createacct-submit' => 'Crea tu cuenta',
 'createacct-benefit-heading' => '{{SITENAME}} lo construye gente como tú.',
 'createacct-benefit-body1' => 'ediciones',
-'createacct-benefit-body2' => 'páginas',
-'createacct-benefit-body3' => 'colaboradores recientes',
+'createacct-benefit-body2' => '{{PLURAL:$1|página|páginas}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|colaborador reciente|colaboradores recientes}}',
 'badretype' => 'Las contraseñas no coinciden.',
 'userexists' => 'El nombre de usuario indicado ya está en uso.
 Por favor escoge un nombre diferente.',
@@ -3377,7 +3377,7 @@ Existen otros campos que se mantendrán ocultos por defecto.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Anchura',
 'exif-imagelength' => 'Altura',
 'exif-bitspersample' => 'Bits por componente',
@@ -3555,7 +3555,7 @@ Existen otros campos que se mantendrán ocultos por defecto.
 'exif-originalimageheight' => 'Altura de la imagen antes de que fuera recortada',
 'exif-originalimagewidth' => 'Ancho de la imagen antes de que fuera recortada',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Sin comprimir',
 'exif-compression-2' => 'CCITT Group 3 1-Dimensional Modified Huffman run length encoding',
 'exif-compression-3' => 'Codificación de fax CCITT grupo 3',
index c3a4a69..d9a2d8d 100644 (file)
@@ -3237,7 +3237,7 @@ Kui faili on rakendustarkvaraga töödeldud, võib osa andmeid olla muudetud võ
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Laius',
 'exif-imagelength' => 'Kõrgus',
 'exif-bitspersample' => 'Bitti komponendi kohta',
@@ -3397,7 +3397,7 @@ Kui faili on rakendustarkvaraga töödeldud, võib osa andmeid olla muudetud võ
 'exif-originalimageheight' => 'Pildi kõrgus enne kärpimist',
 'exif-originalimagewidth' => 'Pildi laius enne kärpimist',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Pakkimata',
 
 'exif-copyrighted-true' => 'Kaitstud',
index 848e4e1..14c6f70 100644 (file)
@@ -769,9 +769,9 @@ Huomaa, että jotkut sivut saattavat näkyä edelleen kuin olisit kirjautunut si
 'createacct-imgcaptcha-ph' => 'Kirjoita teksti, jonka näet edellä',
 'createacct-submit' => 'Luo tunnus',
 'createacct-benefit-heading' => '{{SITENAME}} on sinun kaltaisesi ihmisten tekemä.',
-'createacct-benefit-body1' => 'muokkausta',
-'createacct-benefit-body2' => 'sivua',
-'createacct-benefit-body3' => 'viimeaikaiset muokkaajat',
+'createacct-benefit-body1' => '{{PLURAL:$1|muokkaus|muokkausta}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|sivu|sivua}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|viimeikainen muokkaaja|viimeaikaista muokkaajaa}}',
 'badretype' => 'Syöttämäsi salasanat ovat erilaiset.',
 'userexists' => 'Pyytämäsi käyttäjänimi on jo käytössä. Valitse toinen käyttäjänimi.',
 'loginerror' => 'Sisäänkirjautumisvirhe',
@@ -3206,7 +3206,7 @@ Kaikki muut linkit ovat poikkeuksia eli toisin sanoen sivuja, joissa tiedostoa s
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Leveys',
 'exif-imagelength' => 'Korkeus',
 'exif-bitspersample' => 'Bittiä komponentissa',
@@ -3384,7 +3384,7 @@ Kaikki muut linkit ovat poikkeuksia eli toisin sanoen sivuja, joissa tiedostoa s
 'exif-originalimageheight' => 'Kuvan korkeus ennen kuin sitä rajattiin',
 'exif-originalimagewidth' => 'Kuvan leveys ennen kuin sitä rajattiin',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Pakkaamaton',
 'exif-compression-2' => 'CCITT:n Group 3 -yksiulotteinen muokattu Huffman-ajopituuskoodaus',
 'exif-compression-3' => 'CCITT:n Group 3 -faksipakkaus',
index e6df159..9267045 100644 (file)
@@ -2280,7 +2280,7 @@ Onnur metadáta verða fjald sum standard.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-artist' => 'Rithøvundur',
 'exif-copyright' => 'Upphavsrætt haldari',
 'exif-headline' => 'Yvirskrift',
index 618bb78..1464b7d 100644 (file)
@@ -804,7 +804,7 @@ N'oubliez pas de modifier [[Special:Preferences|vos préférences pour {{SITENAM
 'userlogin-yourname' => "Nom d'utilisateur",
 'userlogin-yourname-ph' => "Entrez votre nom d'utilisateur",
 'createacct-helpusername-url' => "{{ns:Project}}:Nom d'utilisateur",
-'createacct-helpusername-link' => '([[{{MediaWiki:createacct-helpusername-url}}|(aidez moi à choisir)]])',
+'createacct-helpusername-link' => '[[{{MediaWiki:createacct-helpusername-url}}|(aidez moi à choisir)]]',
 'yourpassword' => 'Mot de passe&nbsp;:',
 'userlogin-yourpassword' => 'Mot de passe',
 'userlogin-yourpassword-ph' => 'Entrez votre mot de passe',
@@ -852,9 +852,9 @@ N'oubliez pas de modifier [[Special:Preferences|vos préférences pour {{SITENAM
 'createacct-imgcaptcha-ph' => 'Entrez le texte que vous voyez ci-dessus',
 'createacct-submit' => 'Créez votre compte',
 'createacct-benefit-heading' => '{{SITENAME}} est écrit par des gens comme vous.',
-'createacct-benefit-body1' => 'modifications',
-'createacct-benefit-body2' => 'articles',
-'createacct-benefit-body3' => 'contributeurs récents',
+'createacct-benefit-body1' => '{{PLURAL:$1|modification|modifications}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|article|articles}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|contributeur récent|contributeurs récents}}',
 'badretype' => 'Les mots de passe que vous avez saisis ne correspondent pas.',
 'userexists' => "Nom d'utilisateur entré déjà utilisé.
 Veuillez choisir un nom différent.",
@@ -3386,7 +3386,7 @@ Les autres liens sur la même ligne sont considérés comme des exceptions, par
 * gpsaltitude",
 'metadata-langitem' => "'''$2&nbsp;:''' $1",
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Largeur',
 'exif-imagelength' => 'Hauteur',
 'exif-bitspersample' => 'Bits par composante',
@@ -3564,7 +3564,7 @@ Les autres liens sur la même ligne sont considérés comme des exceptions, par
 'exif-originalimageheight' => "Hauteur de l'image avant qu'elle ait été recadrée",
 'exif-originalimagewidth' => "Largeur de l'image avant qu'elle ait été recadrée",
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Non compressé',
 'exif-compression-2' => 'CCITT Groupe 3 Longueur du codage Huffman modifié de dimension 1',
 'exif-compression-3' => 'CCITT Groupe 3 codage du fax',
index f6a12c2..04db63e 100644 (file)
@@ -434,9 +434,20 @@ Påås aw, dåt hu side nuch wise koone, dåt dü önjmälded bast, sülung dü
 'welcomecreation-msg' => 'Din brükerkonto as iinracht wurden.
 Ferjid det ei, an aachte üüb din [[Special:Preferences|{{SITENAME}} iinstelangen]].',
 'yourname' => 'Brükernoome:',
+'userlogin-yourname' => 'Brükernööm',
+'userlogin-yourname-ph' => 'Du dan Brükernööm iin',
+'createacct-helpusername-url' => '{{ns:Project}}:Reegeln för brükernöömer',
+'createacct-helpusername-link' => "[[{{MediaWiki:createacct-helpusername-url}}|(halep bi't ütjwool)]]",
 'yourpassword' => 'Pååsuurd:',
+'userlogin-yourpassword' => 'Paaswurd',
+'userlogin-yourpassword-ph' => 'Paaswurd iindu',
+'createacct-yourpassword-ph' => 'Paaswurd iindu',
 'yourpasswordagain' => 'Schriw pååsuurd nuch iinjsen:',
+'createacct-yourpasswordagain' => 'Paaswurd gudkään',
+'createacct-yourpasswordagain-ph' => 'Du det paaswurd noch ans iin',
 'remembermypassword' => 'Aw diheere komputer foon duur önjmälde (maksimool for $1 {{PLURAL:$1|däi|deege}})',
+'userlogin-remembermypassword' => 'Uunmeldet bliiw',
+'userlogin-signwithsecure' => 'Auer di seeker server uunmelde',
 'securelogin-stick-https' => 'Eefter önjmälding ma HTTPS ferbünen bliwe',
 'yourdomainname' => 'Din domain:',
 'password-change-forbidden' => 'Üüb detheer wiki könst dü nian paaswurden feranre.',
@@ -449,18 +460,39 @@ Ferjid det ei, an aachte üüb din [[Special:Preferences|{{SITENAME}} iinstelang
 'logout' => 'Oufmälde',
 'userlogout' => 'Oufmälde',
 'notloggedin' => 'Ai önjmälded',
+'userlogin-noaccount' => 'Dü heest noch nään brükerkonto ?',
+'userlogin-joinproject' => 'Bi {{SITENAME}} mämaage',
 'nologin' => "Dü hääst niinj brükerkonto? '''$1'''.",
 'nologinlink' => 'Nai brükerkonto inruchte',
 'createaccount' => 'Brükerkonto inruchte',
 'gotaccount' => "Dü hääst ål en brükerkonto? '''$1'''.",
 'gotaccountlink' => 'Önjmälde',
 'userlogin-resetlink' => 'Heest dü din login dooten ferjiden?',
+'helplogin-url' => 'Help:Uunmelde',
+'userlogin-helplink' => "[[{{MediaWiki:helplogin-url}}|Halep bi't uunmeldin]]",
+'createacct-join' => 'Du oner din dooten iin.',
+'createacct-emailrequired' => 'E-mail adres',
+'createacct-emailoptional' => 'E-mail adres (optional)',
+'createacct-email-ph' => 'Du din E-mail adres iin',
 'createaccountmail' => 'E-mail tu det adres oner fersjüür mä en tufelag paaswurd',
+'createacct-realname' => 'Rocht nööm (optional)',
 'createaccountreason' => 'Grün:',
+'createacct-reason' => 'Grünj',
+'createacct-reason-ph' => 'Huaram dü en ööder brükerkonto iinrachtst',
+'createacct-captcha' => 'Seekerhaidspreew',
+'createacct-captcha-help-url' => '{{ns:Project}}:Am en brükerkonto uunfraage',
+'createacct-imgcaptcha-help' => 'Könst det bil ei sä ? [[{{MediaWiki:createacct-captcha-help-url}}|Am en brükerkonto uunfraage]]',
+'createacct-imgcaptcha-ph' => 'Skriiw di tekst, diar dü boowen schochst',
+'createacct-submit' => 'Din brükerkonto iinracht',
+'createacct-benefit-heading' => '{{SITENAME}} woort faan lidj üs di maaget.',
+'createacct-benefit-body1' => '{{PLURAL:$1|feranrang|feranrangen}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|sidj|sidjen}}',
+'createacct-benefit-body3' => 'aktiif {{PLURAL:$1|skriiwer|skriiwern}}',
 'badretype' => 'Da biise pååsuurde stime ai oueriinj.',
 'userexists' => 'Dideer brükernoome as ål ferjääwen.
 Wees sü gödj en kiis en ouderen.',
 'loginerror' => 'Fäägel bai önjmälding',
+'createacct-error' => "Bi't iinrachten faan det brükerkonto as wat skiaf gingen",
 'createaccounterror' => 'Brükerkonto köö ai mååged wårde: $1',
 'nocookiesnew' => 'Di benjütertugung wörd mååged, ouers dü bast ai önjmälded. {{SITENAME}} brükt for jüdeer funksjoon cookies.
 Wees sü gödj än aktiwiir da än mäld de dan ma dan naien benjüternoome än dåt tuhiirend pååsuurd önj.',
@@ -548,12 +580,14 @@ Nü wårst dü önjmälded...',
 'resetpass-wrong-oldpass' => 'Üngülti tämporäär unti antuäl pååsuurd.
 Möölikerwise heest dü din pååsuurd ål ma erfolch änred heest unti en nai tämporäär pååsuurd beönjdräägen.',
 'resetpass-temp-password' => 'Tidwise pååsuurd:',
+'resetpass-abort-generic' => 'Det paaswurd-anerang as ferhanert wurden.',
 
 # Special:PasswordReset
 'passwordreset' => 'Paasuurd tubääg seete',
 'passwordreset-text' => 'Fal detheer formulaar ütj, am din paaswurd turag tu saaten.',
 'passwordreset-legend' => 'Paasuurd tubääg seete',
 'passwordreset-disabled' => 'Dü koost din paasuurd aw jüdeer wiki ai tubääg seete',
+'passwordreset-emaildisabled' => 'E-mail as üüb detheer Wiki ufknipset wurden.',
 'passwordreset-pretext' => '{{PLURAL:$1||Du ian faan jo dooten oner iin}}',
 'passwordreset-username' => 'Brükernoome:',
 'passwordreset-domain' => 'Domain:',
@@ -576,7 +610,7 @@ $2
 Tidwis paasuurd: $2',
 'passwordreset-emailsent' => 'Diar as en E-Mail tu di onerwais.',
 'passwordreset-emailsent-capture' => 'Detdiar E-Mail, wat oner uunwiset woort, as tu di onerwais.',
-'passwordreset-emailerror-capture' => 'Detdiar E-Mail, wat oner uunwiset woort, wiar tu di onerwais, oober küd ei ufsjüürd wurd: $1',
+'passwordreset-emailerror-capture' => 'Detdiar E-Mail, wat oner uunwiset woort, wiar tu di onerwais, oober küd ei tu di {{GENDER:$2|brüker}} ufsjüürd wurd: $1',
 
 # Special:ChangeEmail
 'changeemail' => 'Feranre det E-Mail-adres',
@@ -774,8 +808,8 @@ Dü koost bestönjene side änre unti de [[Special:UserLogin|önjmälde unti må
 'sectioneditnotsupported-text' => 'Jü beårbing foon oufsnaase wårt aw jüdeer beårbingssid ai stiped.',
 'permissionserrors' => 'Beruchtigingsfäägel',
 'permissionserrorstext' => 'Dü bast ai beruchted, jü aksjoon üttufäären. {{PLURAL:$1|grün|grüne}}:',
-'permissionserrorstext-withaction' => 'Dü bast ai beruchtit, $2.
-{{PLURAL:$1|grün|grüne}}:',
+'permissionserrorstext-withaction' => 'Dü heest ei det rocht, $2.
+{{PLURAL:$1|Grünj|Grünjer}}:',
 'recreate-moveddeleted-warn' => "'''Paase üüb: Dü wel en artiikel maage, diar iar al ans stregen wurden as.'''
 Auerlei di det gud, amdat dü niks ferkiard maagest.
 Uun't logbuk stäänt muar diartu:",
@@ -1073,6 +1107,7 @@ Dü könst det uun't [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}}
 'powersearch-togglenone' => 'Niinj',
 'search-external' => 'Extern säkj',
 'searchdisabled' => 'Jü {{SITENAME}}-säkj as deaktiviird. Dü koost intwasche ma Google säke. Betånk, dåt di säkindäks for {{SITENAME}} ferüüljet weese koon.',
+'search-error' => "Diar as wat skiaf gingen bi't schüken: $1",
 
 # Preferences page
 'preferences' => 'Önjstalinge',
@@ -1212,6 +1247,7 @@ Do san jo ual iinstelangen wech.',
 'userrights-notallowed' => 'Dü heest ei det rocht, am brükerrochten tu feranrin.',
 'userrights-changeable-col' => 'Lasmootskapen, diar dü feranre könst',
 'userrights-unchangeable-col' => 'Lasmootskapen, diar dü ei feranre könst',
+'userrights-conflict' => 'Brükerrochten konflikt! Du din feranrangen noch ans iin.',
 
 # Groups
 'group' => 'Skööl:',
@@ -1253,7 +1289,7 @@ Do san jo ual iinstelangen wech.',
 'right-reupload' => 'Dateien auerskriiw',
 'right-reupload-own' => 'En datei auerskriiw, diar dü salew huuchsjüürd heest',
 'right-reupload-shared' => 'En datei auerskriiw, diar uun en gemiansoom archiif leit',
-'right-upload_by_url' => 'Dateien faan en URL-adress huuchsjüür',
+'right-upload_by_url' => 'Dateien faan en URL-adres huuchsjüür',
 'right-purge' => 'Sidjen-cache leesag maage saner efterfraagin',
 'right-autoconfirmed' => 'Hualew-seekert sidjen bewerke',
 'right-bot' => 'Automatisiaret bewerke',
@@ -1262,15 +1298,50 @@ Do san jo ual iinstelangen wech.',
 'right-writeapi' => 'Write-API brük',
 'right-delete' => 'Sidjen strik',
 'right-bigdelete' => 'Sidjen mä föl wersjuunen strik',
+'right-deletelogentry' => 'Enkelt wersjuunen faan en logbuk-iindrach strik of turaghaale',
 'right-deleterevision' => 'Enkelt wersjuunen faan en sidj strik of turaghaale',
+'right-deletedhistory' => 'Stregen iindracher uun a ferluup uunluke, saner di tekst, di diartu hiart',
+'right-deletedtext' => 'Stregen tekst an feranerangen tesken stregen wersjuunen uunluke',
 'right-browsearchive' => 'Sjük stregen sidjen',
+'right-undelete' => 'Stregen sidjen turaghaale',
+'right-suppressrevision' => 'Wersjuunen uunluke an turaghaale, diar uk för administratooren ei tu sen san',
+'right-suppressionlog' => 'Priwoot logbuken uunluke',
+'right-block' => "Brükern spere (för't skriiwen)",
+'right-blockemail' => "Brüker spere för't E-Mail sjüüren",
+'right-hideuser' => 'Brükernööm spere an fersteeg',
+'right-ipblock-exempt' => 'Ütjnoom faan IP-speren, automaatisk speren an range-speren',
+'right-proxyunbannable' => 'Ütjnoom faan automaatisk proxy-speren',
+'right-unblockself' => 'Sper apheew för ään salew',
+'right-protect' => 'Det seekerhaid faan sidjen feranre an seekerd sidjen bewerke',
+'right-editprotected' => 'Seekerd sidjen bewerke (saner kaskaaden-seekerhaid)',
+'right-editinterface' => 'Brüker-skak bewerke',
+'right-editusercssjs' => 'CSS- an JavaScript-dateien faan ööder brükern bewerke',
+'right-editusercss' => 'CSS-dateien faan ööder brükern bewerke',
+'right-edituserjs' => 'JavaScript-dateien faan ööder brükern bewerke',
+'right-rollback' => 'Feranerangen faan di leetst brüker gau turagsaat',
+'right-markbotedits' => 'Gau turagsaatangen üs bot-iindracher kääntiakne',
+'right-noratelimit' => 'Ei troch limits beskäären',
+'right-import' => 'Bilen faan ööder Wikis importiare',
+'right-importupload' => 'Sidjen auer det huuchsjüüren faan dateien importiare',
+'right-patrol' => 'Werk faan ööder brükern üs kontroliaret kääntiakne',
+'right-autopatrol' => 'Aanj werk aleewen üs kontroliaret kääntiakne',
+'right-patrolmarks' => 'Kontrolkääntiaken uun a leetst feranrangen uunwise',
+'right-unwatchedpages' => 'List faan sidjen uunluke, diar näämen üüb aachtet',
+'right-mergehistory' => 'Wersjuunshistoore faan sidjen tuupfeer',
+'right-userrights' => 'Brükerrochten bewerke',
+'right-userrights-interwiki' => 'Brükerrochten uun ööder Wikis bewerke',
+'right-siteadmin' => 'Dootenbeenk spere an eebenmaage',
+'right-override-export-depth' => 'Sidjen an onersidjen bit tu en jipde faan 5 eksportiare',
 'right-sendemail' => 'E-mails tu oudere brükere schake',
+'right-passwordreset' => 'Paaswurd faan en brüker turagsaat an det E-Mail diartu uunluke',
 
 # Special:Log/newusers
 'newuserlogpage' => 'Nai-önjmäldings-logbök',
+'newuserlogpagetext' => 'Detheer as en logbuk faan nei iinracht brükerkonten.',
 
 # User rights log
 'rightslog' => 'Ruchte-logbök',
+'rightslogtext' => 'Det as det logbuk auer feranerangen faan brükerrochten.',
 
 # Associated actions - in the sentence "You do not have permission to X"
 'action-read' => 'jüdeer sid leese',
@@ -1283,9 +1354,30 @@ Do san jo ual iinstelangen wech.',
 'action-move-subpages' => 'jüdeer sid än unerside ferschüwe',
 'action-move-rootuserpages' => 'hood-brükersidj fersküüw',
 'action-movefile' => 'jüdeer sid ferschüwe',
+'action-upload' => 'Dateien huuchsjüür',
+'action-reupload' => 'det datei auerskriiw',
+'action-reupload-shared' => 'det datei auerskriiw, diar uun en gemiansoom archiif leit',
+'action-upload_by_url' => 'detdiar datei faan en URL-adres huuchtusjüüren',
+'action-writeapi' => 'iin uun det API tu skriiwen',
 'action-delete' => 'detdiar sidj strik',
+'action-deleterevision' => 'wersjuunen tu striken',
+'action-deletedhistory' => 'det list mä stregen wersjuunen uuntulukin',
 'action-browsearchive' => 'sjük stregen sidjen',
 'action-undelete' => 'detdiar sidj weder iinstel',
+'action-suppressrevision' => 'det ferbürgen wersjuun uuntulukin an weder turagtuhaalin',
+'action-suppressionlog' => 'iin uun det priwoot logbuk tu lukin',
+'action-block' => 'di brüker tu sperin',
+'action-protect' => 'det seekerhaid faan sidjen tu feranrin',
+'action-rollback' => 'feranerangen faan di leetst brüker gau turagtusaaten',
+'action-import' => 'sidjen faan en ööder Wiki tu importiarin',
+'action-importupload' => 'sidjen auer det huuchsjüüren faan dateien tu importiarin',
+'action-patrol' => 'det werk faan ööder brükern üs kontroliaret tu kääntiaknin',
+'action-autopatrol' => 'aanj feranerangen üs kontroliaret tu kääntiaknin',
+'action-unwatchedpages' => 'det list faan sidjen uuntulukin, diar näämen üüb aachtet',
+'action-mergehistory' => 'wersjuunshistoorin faan sidjen tuuptufeeren',
+'action-userrights' => 'brükerrochten tu bewerkin',
+'action-userrights-interwiki' => 'brükerrochten uun ööder Wikis tu bewerkin',
+'action-siteadmin' => 'det dootenbeenk tu sperin an eebentumaagin',
 'action-sendemail' => 'e-mails sjüür',
 
 # Recent changes
@@ -1315,6 +1407,11 @@ Do san jo ual iinstelangen wech.',
 'minoreditletter' => 'L',
 'newpageletter' => 'N',
 'boteditletter' => 'B',
+'number_of_watching_users_pageview' => '[$1 {{PLURAL:$1|brüker|brükern}}, diar tuluke]',
+'rc_categories' => 'Bluas sidjen ütj jo kategoriin (apdiald mä „|“):',
+'rc_categories_any' => 'Arke',
+'rc-change-size-new' => "$1 {{PLURAL:$1|byte|bytes}} efter't feranrin",
+'newsectionsummary' => 'Nei ufdialang /* $1 */',
 'rc-enhanced-expand' => 'Detaile wise (JavaScript as nüsi)',
 'rc-enhanced-hide' => 'Detaile fersteege',
 'rc-old-title' => 'tuiarst maaget üs „$1“',
@@ -1332,33 +1429,241 @@ Do san jo ual iinstelangen wech.',
 # Upload
 'upload' => 'Huuchschake',
 'uploadbtn' => 'Datei huuchsjüür',
+'reuploaddesc' => "Ufbreeg an turag tu't sidj för't huuchsjüüren",
+'upload-tryagain' => 'Feranert dateibeskriiwang ufsjüür',
 'uploadnologin' => 'Ai önjmälded',
 'uploadnologintext' => 'Dü möist [[Special:UserLogin|önjmälded weese]], am dat dü dootäie huuchsiinje koost.',
 'upload_directory_missing' => 'Dåt aplees-fertiiknis ($1) breecht än köö ai foon di wäbsärwer mååged wårde.',
 'upload_directory_read_only' => 'Dåt aplees-fertiiknis ($1) koon ai foon e wäbsärver beschraawen wårde.',
 'uploaderror' => 'Aplees-fäägel',
+'upload-recreate-warning' => "'''Paase üüb: En datei mä didiar nööm as al ans stregen of fersköwen wurden.'''
+
+Wat nü komt, as ütj det logbuk för't striken an fersküüwen faan detdiar datei.",
+'uploadtext' => "Brük detdiar formulaar, am nei dateien huuchtusjüüren.
+
+Gung tu det [[Special:FileList|list faan huuchsjüürd dateien]], am dateien tu sjüken of uuntuwisin. Luke uk iin uun't logbuk för't [[Special:Log/upload|huuchsjüüren]] of [[Special:Log/delete|striken]] faan dateien.
+
+Am en '''bil''' uun en artiikel tu brüken, brük en link faan det furem:
+* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:Datei.jpg]]</nowiki></code>''' – för en grat bil
+* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:Datei.png|200px|thumb|left|alternatiif tekst]]</nowiki></code>''' – för en 200px briad bil uun en box, mä „alternatiif tekst“ üs beskriiwang faan det bil
+*'''<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:Datei.ogg]]</nowiki></code>''' – för en direkt ferwisang üüb det datei, saner det datei uuntuwisin",
+'upload-permitted' => 'Tuläät slacher faan dateien: $1.',
+'upload-preferred' => 'Slacher faan dateien, diar dü brük skulst: $1.',
+'upload-prohibited' => 'Ei tuläät slacher faan dateien: $1.',
 'uploadlog' => 'datei logbuk',
 'uploadlogpage' => 'Dåtäi-logbök',
+'uploadlogpagetext' => 'Detheer as det logbuk för huuchsjüürd dateien. Dü könst uk det [[Special:NewFiles|galerii faan nei dateien]] uunluke.',
+'filename' => 'Dateinööm',
 'filedesc' => 'Beskriiwang',
 'fileuploadsummary' => 'Beskriiwang',
+'filereuploadsummary' => 'Feranerangen faan det datei:',
+'filestatus' => 'Copyright-Status:',
 'filesource' => 'Kwel',
 'uploadedfiles' => 'Huuchsjüürd dateien',
+'ignorewarning' => 'Ei üüb wäärnangen aachte an det datei seekre',
+'ignorewarnings' => 'Ei am wäärnangen komre',
+'minlength1' => 'Dateinöömer skel tumanst ään buksteew lung wees.',
+'illegalfilename' => 'Uun di dateinööm „$1“ stäänt tumanst ian tiaken, wat dü ei brük mutst. Wees so gud an du det datei en öödern nööm.',
+'filename-toolong' => 'Dateinöömer mut ei linger üs 240 bytes wees.',
+'badfilename' => 'Det datei hää en neien nööm füngen an het nü „$1“.',
+'filetype-mime-mismatch' => 'Det dateiaanj „.$1“ paaset ei tu di MIME-Typ ($2).',
+'filetype-badmime' => 'Dateien faan di MIME-Typ „$1“ mut ei huuchsjüürd wurd.',
+'filetype-bad-ie-mime' => 'Detdiar datei koon ei huuchsjüürd wurd, auer di Internet Explorer det för en „$1“ häält, an di slach as ei tuläät, auer hi gefeerelk wees küd.',
+'filetype-unwanted-type' => "'''„.$1“''' as üs dateiformaat ei tuläät. Tuläät {{PLURAL:$3|as detdiar formaat|san jodiar formaaten}}: $2.",
+'filetype-banned-type' => "'''„.$1“''' {{PLURAL:$4|as nään tuläät slach faan dateien|san nian tuläät slacher faan dateien}}.
+{{PLURAL:$3|En tuläät slach as|Tuläät slacher san}} $2.",
+'filetype-missing' => 'Det datei, wat dü huuchsjüür wel, hää nian aanj (t.b. „.jpg“).',
+'empty-file' => 'Det datei, wat dü huuchsjüürd heest, as leesag.',
+'file-too-large' => 'Det datei, wat dü huuchsjüürd heest, as tu grat.',
+'filename-tooshort' => 'Di dateinööm as tu kurt.',
+'filetype-banned' => 'Son slach faan datei as ei tuläät.',
+'verification-error' => 'Det datei hää det seekerhaidspreew ei bestenen.',
+'hookaborted' => 'Det feranerang, wat dü maage wulst, as ufbreegen wurden.',
+'illegal-filename' => 'Didiar dateinööm as ei tuläät.',
+'overwrite' => 'Dü könst nian datei auerskriiw, wat al diar as.',
+'unknown-error' => 'Diar as irgentwat skiaf gingen.',
+'tmp-create-error' => 'Det tidjwiis datei küd ei maaget wurd.',
+'tmp-write-error' => "Bi't skriiwen faan det tidjwiis datei as wat skiaf gingen.",
+'large-file' => 'Dateien skul ei grater wees üs $1, wan mögelk. Detdiar datei as $2 grat.',
+'largefileserver' => 'Detdiar datei as grater, üs di server üüb iinsteld as.',
+'emptyfile' => 'Det datei, wat dü huuchsjüürd heest, as leesag. Ferlicht heest dü di ferskrewen. Luke noch ans, of dü würelk detdiar datei huuchsjüür wel.',
+'windows-nonascii-filename' => 'Detheer Wiki läät nian dateinöömer mä sondertiaken tu.',
+'fileexists' => 'En datei mä didiar nööm jaft at al. Luke noch ans efter <strong>[[:$1]]</strong>, wan dü ei gans seeker beest, of dü det anre wel.
+[[$1|thumb]]',
+'filepageexists' => "En beskriiwangssidj för <strong>[[:$1]]</strong> as al diar, oober nian datei. Din beskriiwang woort ei apnimen. Det beskriiwangssidj mut do man efter't huuchsjüüren noch ans efterluket wurd.
+[[$1|thumb]]",
+'fileexists-extension' => 'Diar as al en datei mä di nööm: [[$2|thumb]]
+* Nööm faan det nei datei: <strong>[[:$1]]</strong>
+* Nööm faan det ual datei: <strong>[[:$2]]</strong>
+Wees so gud an nem en öödern nööm.',
+'fileexists-thumbnail-yes' => "Detdiar datei as was en letjer maaget bil ''(thumbnail)''. [[$1|thumb]]
+Luke di det datei <strong>[[:$1]]</strong> noch ans uun.
+Wan det det originaal bil as, säärst dü nään letjer maaget bil huuchsjüür.",
+'file-thumbnail-no' => "Di dateinööm begant mä <strong>$1</strong>. Det as was en letjer maaget bil ''(thumbnail)''.
+Luke noch ans efter, of dü det bil uun fol grate diar heest, an do sjüür det huuch.",
+'fileexists-forbidden' => 'En datei mä didiar nööm jaft at al an koon ei auerskrewen wurd. Gung noch ans turag an sjüür det datei mä en öödern nööm huuch. [[File:$1|thumb|center|$1]]',
+'fileexists-shared-forbidden' => "En datei mä didiar nööm stäänt al uun't gemiansoom archiif. Wan dü det bil likes huuchsjüür wel, gung turag nem en öödern nööm.
+[[File:$1|thumb|center|$1]]",
+'file-exists-duplicate' => 'Detdiar datei as en duplikaat faan {{PLURAL:$1|detdiar datei|$1 dateien}}:',
+'file-deleted-duplicate' => "En duplikaat faan detdiar datei ([[:$1]]) as al ans stregen wurden. Luke iin uun logbuk för't striken, iar dü det noch ans huuchsjüürst.",
+'uploadwarning' => 'Wäärnang',
+'uploadwarning-text' => 'Feranre det datei-beskriiwang an fersjük det noch ans nei.',
+'savefile' => 'Datei seekre',
 'uploadedimage' => 'heet "[[$1]]" huuchsånd',
+'overwroteimage' => 'hää en nei wersjuun faan „[[$1]]“ huuchsjüürd',
+'uploaddisabled' => 'Huuchsjüüren as ei aktiwiaret',
+'copyuploaddisabled' => 'Huuchsjüüren faan URLs as ei aktiwiaret.',
+'uploadfromurl-queued' => 'Din huuchsjüürd datei teewt.',
+'uploaddisabledtext' => 'Det huuchsjüüren faan dateien as ei aktiwiaret.',
+'php-uploaddisabledtext' => 'Det huuchsjüüren faan dateien as uun PHP ei aktiwiaret.
+Luke di det iinstelang faan <code>file_uploads</code> uun.',
+'uploadscripted' => 'Uun detdiar datei stäänt HTML- of Scriptcode, an küd ütj fersen faan en browser ütjfeerd wurd.',
+'uploadvirus' => 'Uun detdiar datei as en wiirus! Details: $1',
+'uploadjava' => 'Detdiar as en ZIP-datei mä en CLASS-datei faan Java.
+Java-dateien kön ei tuläät wurd, auer jo det seekerhaid uun fraag stel küd.',
+'upload-source' => 'Kweldatei',
+'sourcefilename' => 'Kweldateinööm:',
+'sourceurl' => 'Kwel-URL:',
+'destfilename' => 'Nei dateinööm:',
+'upload-maxfilesize' => 'Datei ei grater üs: $1',
+'upload-description' => 'Dateibeskriiwang',
+'upload-options' => "Mögelkhaiden för't huuchsjüüren",
 'watchthisupload' => 'Luke efter detdiar datei',
+'filewasdeleted' => 'En datei mä didiar nööm as al ans huuchsjüürd an leederhen weder stregen wurden. Luke iarst ans iin uun $1, iar dü det datei würelk seekerst.',
+'filename-bad-prefix' => "Di dateinööm begant mä '''„$1“'''. Sok nöömer kem miast faan digitaalkameras an sai ei föl ütj.
+Nem en beedern nööm för det datei.",
+'upload-success-subj' => 'Det huuchsjüüren hää loket.',
+'upload-success-msg' => 'Det huuchsjüüren faan [$2] hää loket an stäänt nü diar: [[:{{ns:file}}:$1]]',
+'upload-failure-subj' => "Bi't huuchsjüüren as wat skiaf gingen.",
+'upload-failure-msg' => "Diar as wat skiaf gingen bi't huuchsjüüren faan [$2]:
+
+$1",
+'upload-warning-subj' => 'Wäärnang',
+'upload-warning-msg' => "Diar as wat skiaf gingen bi't huuchsjüüren faan [$2]. Gung turag tu't  [[Special:Upload/stash/$1|sidj för't huuchsjüüren]], am det üüb a rä tu fun.",
 
+'upload-proto-error' => 'Ferkiard protokol',
+'upload-proto-error-text' => 'Det URL skal mä <code>http://</code> of <code>ftp://</code> began.',
 'upload-file-error' => 'Diar as wat skiaf gingen',
+'upload-file-error-text' => "Bi't maagin faan det tidjwiis datei as wat skiaf gingen. Wees so gud an skriiw det tu en [[Special:ListUsers/sysop|administraator]].",
+'upload-misc-error' => "Bi't huuchsjüüren as wat skiaf gingen.",
+'upload-misc-error-text' => "Bi't huuchsjüüren as wat skiaf gingen. Luke di det URL noch ans uun, an of det sidj uk würelk diar as.
+Wan det goorei wal, do skriiw tu en [[Special:ListUsers/sysop|administraator]].",
+'upload-too-many-redirects' => 'Det URL hää tuföl widjerfeerangen.',
+'upload-unknown-size' => 'Ünbekäänd grate',
+'upload-http-error' => 'Diar as en HTTP-feeler mä: $1',
+'upload-copy-upload-invalid-domain' => 'Kopiin faan dateien kön faan detdiar domeen ei huuchsjüürd wurd.',
 
 # File backend
 'backend-fail-stream' => 'Det datei $1 küd ei auerdraanj wurd.',
+'backend-fail-backup' => 'Det datei $1 küd ei seekert wurd.',
+'backend-fail-notexists' => 'Det datei $1 jaft at ei.',
+'backend-fail-hashes' => 'Küd nään hash-wäärs tu fergliken finj.',
+'backend-fail-notsame' => 'Diar as al en ööder datei mä di nööm $1.',
+'backend-fail-invalidpath' => '$1 as nian tuläät steed tu seekrin.',
 'backend-fail-delete' => 'Det datei $1 küd ei stregen wurd.',
+'backend-fail-describe' => 'A metadooten för det datei „$1“ küd ei anert wurd.',
+'backend-fail-alreadyexists' => 'Det sidj $1 jaft at al.',
 'backend-fail-store' => 'Det datei $1 küd ei oner $2 seekert wurd.',
 'backend-fail-copy' => 'Det datei $1 küd ei efter $2 kopiaret wurd.',
 'backend-fail-move' => 'Det datei $1 küd ei efter $2 fersköwen wurd.',
+'backend-fail-opentemp' => 'Det tidjwiis datei küd ei eeben maaget wurd.',
+'backend-fail-writetemp' => 'Det tidjwiis datei küd ei skrewen wurd.',
+'backend-fail-closetemp' => 'Det tidjwiis datei küd ei sacht maaget wurd.',
 'backend-fail-read' => 'Det datei $1 küd ei leesen wurd.',
 'backend-fail-create' => 'Det datei $1 küd ei seekert wurd.',
+'backend-fail-maxsize' => 'Det datei $1 küd ei seekert wurd, auer det grater üs {{PLURAL:$2|1 byte|$2 bytes}} as.',
+'backend-fail-readonly' => 'Det süsteem „$1“ koon uun uugenblak bluas lees. Di grünj as: „$2“',
+'backend-fail-synced' => "Det datei „$1“ woort jüst faan't süsteem bewerket.",
+'backend-fail-connect' => "Küd ei mä't süsteem „$1“ ferbinj.",
+'backend-fail-internal' => "Uun't süsteem „$1“ as wat skiaf gingen.",
+'backend-fail-contenttype' => "Di slach faan det datei uun't steed „$1“ küd ei bestemet wurd.",
+'backend-fail-batchsize' => "En batch uun't süsteem koon ei {{PLURAL:$1|1 apgoow|$1 apgoowen}} bewerke. Det mut ei muar üs {{PLURAL:$2|1 apgoow|$2 apgowen}} tu tidj wees.",
+'backend-fail-usable' => 'Det datei „$1“ küd ei ufrepen of seekert wurd, auer diar eder det fertiaknis waant of a brükerrochten ei ling.',
+
+# File journal errors
+'filejournal-fail-dbconnect' => "Küd ei ferbinj mä't jurnaal-dootenbeenk uun't süsteem „$1“.",
+'filejournal-fail-dbquery' => "Det jurnaal-dootenbeenk faan't süsteem „$1“ küd ei aktualisiaret wurd.",
+
+# Lock manager
+'lockmanager-notlocked' => 'Küd det sper faan „$1“ ei apliase, auer diar goor nian sper wiar.',
+'lockmanager-fail-closelock' => 'Det sperdatei för „$1“ küd ei slööden wurd.',
+'lockmanager-fail-deletelock' => 'Det sperdatei för „$1“ küd ei stregen wurd.',
+'lockmanager-fail-acquirelock' => 'Det sper för „$1“ küd ei ufrepen  wurd.',
+'lockmanager-fail-openlock' => 'Det sperdatei för „$1“ küd ei eeben maaget wurd.',
+'lockmanager-fail-releaselock' => 'Det sper för „$1“ küd ei apliaset wurd.',
+'lockmanager-fail-db-bucket' => 'Mä $1 küd ei nooch ferbinjangen tu sperdootenbeenken iinracht wurd.',
+'lockmanager-fail-db-release' => "A speren uun't dootenbeenk $1 küd ei apliaset wurd.",
+'lockmanager-fail-svr-acquire' => 'A speren üüb server $1 küd ei ufrepen wurd.',
+'lockmanager-fail-svr-release' => 'A speren üüb server $1 küd ei apliaset wurd.',
+
+# ZipDirectoryReader
+'zip-file-open-error' => "Diar as wat skiaf gingen bi't leesen faan det datei tu't ZIP-preew.",
+'zip-wrong-format' => 'Detdiar datei as nian ZIP-datei.',
+'zip-bad' => 'Det ZIP-datei as uunstaken of koon ütj irgent en öödern grünj ei leesen wurd. Diaram koon det uk ei üüb seekerhaid preewet wurd.',
+'zip-unsupported' => 'Detdiar ZIP-datei as faan en slach, diar MediaWiki ei lees koon. Diaram koon det uk ei üüb seekerhaid preewet wurd.',
+
+# Special:UploadStash
+'uploadstash' => "Teskenseekerang bi't huuchsjüüren",
+'uploadstash-summary' => 'Üüb detdiar sidj kem dateien föör, diar man jüst huuchsjüürd wurden san. Bluas, hoker jo huuchsjüürd hää, koon jo sä.',
+'uploadstash-clear' => 'Teskenseekert dateien wechnem',
+'uploadstash-nofiles' => 'Diar san nian teskenseekert dateien.',
+'uploadstash-badtoken' => 'Teskenseekert dateien küd ei wechnimen wurd. Ferlicht beest dü ei muar uunmeldet. Fersjük det man noch ans.',
+'uploadstash-errclear' => 'Teskenseekert dateien küd ei wechnimen wurd.',
+'uploadstash-refresh' => 'List mä dateien aktualisiare.',
+'invalid-chunk-offset' => 'Di began as diar ei tuläät.',
+
+# img_auth script messages
+'img-auth-accessdenied' => 'Tugrip ei mögelk',
+'img-auth-nopathinfo' => 'Diar as nään PATH_INFO.
+Di server koon detdiar informatsjuun ei widjerdu.
+Ferlicht as det uun CGI iinbünjen an komt diaram uk ei mä „img_auth“ turocht.
+Üüb det sidj https://www.mediawiki.org/wiki/Manual:Image_Authorization (ingelsk) stäänt diar muar auer.',
+'img-auth-notindir' => 'Detdiar fertiaknis as ei föörsen tu huuchsjüüren.',
+'img-auth-badtitle' => 'Mä „$1“ küd nään tiitel maaget wurd.',
+'img-auth-nologinnWL' => "Dü beest ei uunmeldet, an „$1“ stäänt ei uun't whitelist.",
+'img-auth-nofile' => 'Diar as nään datei „$1“.',
+'img-auth-isdir' => 'Dü wel üüb en fertiaknis „$1“ tugrip. Dü mutst bluas üüb dateien tugrip.',
+'img-auth-streaming' => '„$1“ woort iinleesen.',
+'img-auth-public' => 'Mä img_auth.php wurd dateien faan en priwoot Wiki ütjden.
+Detheer as oober en öfentelk Wiki.
+För a seekerhaid as img_auth.php ei aktiwiaret.',
+'img-auth-noread' => 'Di brüker hää nian rocht, „$1“ tu leesen.',
+'img-auth-bad-query-string' => 'Uun det URL san ei tuläät uffraagtiakens.',
+
+# HTTP errors
+'http-invalid-url' => 'Ei tuläät URL: $1',
+'http-invalid-scheme' => 'URLs mä det münster „$1“ kön ei brükt wurd.',
+'http-request-error' => "HTTP-feeler bi't uffraagin.",
+'http-read-error' => "HTTP-feeler bi't leesen.",
+'http-timed-out' => 'Det HTTP-uffraag hää tu loong düüret (time-out).',
+'http-curl-error' => "Feeler bi't ufrepen faan det URL: $1",
+'http-bad-status' => "Feeler bi't HTTP-uffraag: $1 $2",
+
+# Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
+'upload-curl-error6' => 'URL küd ei fünjen wurd',
+'upload-curl-error6-text' => 'Det URL küd ei fünjen wurd. Luke di det URL noch ans uun, an of det sidj uk würelk diar as.',
+'upload-curl-error28' => 'Det huuchsjüüren hää tu loong düüret (time-out).',
+'upload-curl-error28-text' => 'Det sidj hää tu loong ei swaaret (time-out). Luke noch ans efter, of det sidj uk würelk diar as. Fersjük det beeder leeder noch ans weder.',
 
 'license' => 'Lisens:',
 'license-header' => 'Lisens',
+'nolicense' => 'Nian ütjwool',
+'license-nopreview' => '(Diar as noch niks tu sen)',
+'upload_source_url' => '(en tuläät URL)',
+'upload_source_file' => '(en datei üüb dan computer)',
+
+# Special:ListFiles
+'listfiles-summary' => 'Üüb detdiar spezialsidj wurd aal a huuchsjüürd dateien uunwiset. Dü könst uk efter brükern filtre, diar dateien tuleetst bewerket haa.',
+'listfiles_search_for' => 'Sjük efter det datei:',
+'imgfile' => 'datei',
+'listfiles' => 'List faan dateien',
+'listfiles_thumb' => 'Letjer bil',
+'listfiles_date' => 'Dootem',
+'listfiles_name' => 'Nööm',
+'listfiles_user' => 'Brüker',
+'listfiles_size' => 'Grate',
+'listfiles_description' => 'Beskriiwang',
+'listfiles_count' => 'Wersjuunen',
 
 # File description page
 'file-anchor-link' => 'Datei',
@@ -1374,7 +1679,9 @@ Do san jo ual iinstelangen wech.',
 'filehist-nothumb' => 'Niinj forlökbil deer',
 'filehist-user' => 'brüker',
 'filehist-dimensions' => 'Mätje',
+'filehist-filesize' => 'Dateigrate',
 'filehist-comment' => 'Komentoor',
+'filehist-missing' => 'Datei ei diar',
 'imagelinks' => 'Hü det datei brükt woort',
 'linkstoimage' => '{{PLURAL:$1|Jü füliend sid ferwånt|Da füliende $1 side ferwiinje}} jüdeer dååtäi:',
 'nolinkstoimage' => 'Nään artiikel brükt detheer datei',
index d705ba9..362750c 100644 (file)
@@ -1870,7 +1870,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => '闊',
 'exif-imagelength' => '高',
 'exif-bitspersample' => '每像素byte數',
@@ -1984,7 +1984,7 @@ $1',
 'exif-gpsdatestamp' => 'GPS日期',
 'exif-gpsdifferential' => 'GPS差動修正',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => '冇壓縮',
 
 'exif-unknowndate' => '未知嗰日期',
index cb7442c..f22c60d 100644 (file)
@@ -715,9 +715,9 @@ Non esqueza personalizar as súas [[Special:Preferences|preferencias de {{SITENA
 'createacct-imgcaptcha-ph' => 'Insira o texto que ve enriba',
 'createacct-submit' => 'Crear a conta',
 'createacct-benefit-heading' => 'Xente coma vostede elabora {{SITENAME}}.',
-'createacct-benefit-body1' => 'edicións',
-'createacct-benefit-body2' => 'páxinas',
-'createacct-benefit-body3' => 'colaboradores recentes',
+'createacct-benefit-body1' => '{{PLURAL:$1|edición|edicións}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|páxina|páxinas}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|colaborador recente|colaboradores recentes}}',
 'badretype' => 'Os contrasinais que inseriu non coinciden.',
 'userexists' => 'O nome de usuario que inseriu xa está en uso.
 Escolla un nome diferente.',
@@ -3291,7 +3291,7 @@ Os demais agocharanse por omisión.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Ancho',
 'exif-imagelength' => 'Alto',
 'exif-bitspersample' => 'Bits por compoñente',
@@ -3469,7 +3469,7 @@ Os demais agocharanse por omisión.
 'exif-originalimageheight' => 'Altura da imaxe antes de ser cortada',
 'exif-originalimagewidth' => 'Ancho da imaxe antes de ser cortada',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Sen comprimir',
 'exif-compression-2' => 'CCITT Grupo 3 Lonxitude de codificación unidimensional Huffman modificada',
 'exif-compression-3' => 'CCITT Grupo 3 codificación de fax',
index bbfe803..0837d37 100644 (file)
@@ -3071,7 +3071,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'પહોળાઈ',
 'exif-imagelength' => 'ઊંચાઈ',
 'exif-bitspersample' => 'બીટ્સ પ્રતિ ભાગ',
@@ -3249,7 +3249,7 @@ $1',
 'exif-originalimageheight' => 'છબી પર ફેરફાર કર્યા પહેલા ની ઊંચાઈ',
 'exif-originalimagewidth' => 'છબી પર ફેરફાર કર્યા પહેલા ની પહોળાઈ',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'અસંકોચિત',
 'exif-compression-2' => 'CCITT સમુદાય ૩ ૧-પરિમાણિય ફેરફાર કરેલુ Huffman રન લંબઈ એન્કોડિંગ',
 'exif-compression-3' => 'CCITT સમૂહ 3 ફેક્સ ઍનકોડિંગ',
index 1ce4c6c..5f1164f 100644 (file)
@@ -126,7 +126,7 @@ $messages = array(
 # Categories related messages
 'pagecategories' => '$1隻分類',
 'category_header' => '“$1”分類肚嘅頁面',
-'subcategories' => '附屬分類',
+'subcategories' => '分類',
 'category-media-header' => '“$1”分類肚嘅媒體',
 'category-empty' => "''邇隻分類目前還吂包含頁面或者媒體。''",
 'hidden-categories' => '$1隻隱藏分類',
@@ -140,7 +140,7 @@ $messages = array(
 'listingcontinuesabbrev' => '繼續',
 'index-category' => '既索引嘅頁面',
 'noindex-category' => '還無索引嘅頁面',
-'broken-file-category' => 'å\90«æ\9c\89æ\90\8då£\9eæª\94æ¡\88é\80£çµ\90嘅頁面',
+'broken-file-category' => 'å\90«æ\9c\89æ\90\8då£\9eæ\96\87件é\8f\88æ\8e¥嘅頁面',
 
 'about' => '關於',
 'article' => '內容頁面',
@@ -152,7 +152,7 @@ $messages = array(
 'mytalk' => '交流',
 'anontalk' => '本IP地址嘅交流',
 'navigation' => '導航',
-'and' => '&#32;',
+'and' => '&#32;',
 
 # Cologne Blue skin
 'qbfind' => '找尋',
@@ -216,7 +216,7 @@ $messages = array(
 'specialpage' => '特殊頁面',
 'personaltools' => '私人工具',
 'postcomment' => '新段落',
-'articlepage' => '查看內容頁',
+'articlepage' => '查看內容頁',
 'talk' => '討論',
 'views' => '查看數',
 'toolbox' => '工具箱',
@@ -237,10 +237,10 @@ $messages = array(
 'jumpto' => '跳轉到:',
 'jumptonavigation' => '導航',
 'jumptosearch' => '搜尋',
-'view-pool-error' => 'æ¯\8b好æ\84\8fæ\80\9dï¼\8cå¿\92å¤\9aç\94¨æ\88¶å\98\97試ç·\8aæµ\81覽é\82\87é \81ï¼\8c使伺æ\9c\8då\99¨è¶\85å\87ºè² è\8d·。請等多一刻再嘗試。
+'view-pool-error' => 'æ¯\8b好æ\84\8fæ\80\9dï¼\8c太å¤\9aç\94¨æ\88¶å\98\97試ç·\8aæµ\81覽é\82\87é \81ï¼\8c使æ\9c\8då\8b\99å\99¨è¶\85å\87ºè² æ\93\94。請等多一刻再嘗試。
 
 $1',
-'pool-timeout' => '等待鎖定時',
+'pool-timeout' => '等待鎖定時',
 'pool-queuefull' => '請求隊列满矣',
 'pool-errorunknown' => '毋知得嘅差錯',
 
@@ -405,7 +405,7 @@ $2',
 'customcssprotected' => '你還無權限編輯邇隻CSS頁面,因為其包含矣其他用戶嘅個人設置。',
 'customjsprotected' => '你還無權限去編輯邇隻JavaScript頁面,因為其包含矣另一用戶嘅個人設定。',
 'ns-specialprotected' => '邇兜特殊頁面係毋做得編輯嘅。',
-'titleprotected' => "é\80\99å\80\8bæ¨\99é¡\8cå·²ç¶\93ç\95\80[[User:$1|$1]]ä¿\9d護以防止建立。理由係''$2''。",
+'titleprotected' => "é\82\87é\9a»æ¨\99é¡\8cå·²ç¶\93å\88\86[[User:$1|$1]]ä¿\9dè­·ä¾\86防止建立。理由係''$2''。",
 'filereadonlyerror' => '無辦法修改文件「$1」因為文件庫「$2」處於唯讀模式。 !
 管理員鎖定其嘅解釋係:「$3」。',
 'invalidtitle-knownnamespace' => '使用名字空間「$2」與文本「$3」嘅無效標題',
@@ -478,9 +478,9 @@ $2',
 'createacct-imgcaptcha-ph' => '輸入汝在上背看到嘅字符',
 'createacct-submit' => '建立帳號',
 'createacct-benefit-heading' => '{{SITENAME}}是由與您共樣嘅人建立。',
-'createacct-benefit-body1' => '編寫數目',
-'createacct-benefit-body2' => '頁面數',
-'createacct-benefit-body3' => '近期貢獻人',
+'createacct-benefit-body1' => '$1 次編寫',
+'createacct-benefit-body2' => '$1 頁',
+'createacct-benefit-body3' => '近期 $1 隻貢獻人',
 'badretype' => '汝所撳入嘅密碼並無相同',
 'userexists' => '!汝所填入嘅用戶名稱已經存在,請另選一隻名稱。',
 'loginerror' => '登入差錯',
@@ -506,44 +506,80 @@ $2',
 'password-login-forbidden' => '邇隻用戶名稱及密碼嘅使用係畀禁止嘅。',
 'mailmypassword' => '用電郵寄新密碼分亻厓',
 'passwordremindertitle' => '{{SITENAME}}嘅新臨時密碼',
-'passwordremindertext' => 'Yû-ngìn (khó-nèn he ngì, lòi-chhṳ IP thi-tiám $1) yêu-khiù chiông sîn-ke{{SITENAME}} ($4) ke tên-ngi̍p me̍t-me̍t ki-kî. Yung-fu "$2" ke me̍t-me̍t hien-chhai he "$3". Chhiáng chhṳ-li̍p tên-ngi̍p pin kiên-kói me̍t-me̍t. Kó-yèn he khì-thâ ngìn  fat-chhut ke-chhiáng-khiù, fe̍t-chá ngì yí-kîn ki-tet me̍t-me̍t pin put chún-phi kói-pien kí, khó-yî fut-lio̍k chhṳ́ sêu-sit khi̍p ki-siu̍k sṳ́-yung ngì-ke khiu me̍t-me̍t.',
+'passwordremindertext' => '有人(可能係汝本人,來自IP位址$1)已請求{{SITENAME}}个新密碼 ($4)。
+用戶"$2"个一個新臨時密碼今下已畀設定好為"$3"。
+係話邇隻動作係汝所指示个,汝就需要立即登入並選擇一隻新个密碼。
+汝个臨時密碼將於{{PLURAL:$5|一|$5}}日之內過期。
+
+如果係其他人發出邇隻請求,或者汝已經回想起汝个密碼,故所毋準備改變其,
+汝可以忽略略邇條消息並且繼續使用汝个舊密碼。',
 'noemail' => '用戶“$1”無登記電子郵件地址。',
 'passwordsent' => '用戶“$1”嘅新密碼已經寄到所登記嘅電子郵件地址。
 請在收到後再登入。',
 'blocked-mailpassword' => '汝嘅IP地址處於查封狀態故所毋允許編輯,為矣安全起見,密碼恢復功能已分禁用。',
 'eauthentsent' => '一封確認信已經發送到推薦地址。在發送其它郵件到邇隻賬戶前,汝必須首先按照邇封信肚嘅指導確認邇隻電子郵件信箱真實有效。',
-'throttled-mailpassword' => 'Me̍t-me̍t thì-siáng yí-kîn chhai-chhièn $1 séu-sṳ̀ nui fat-sung. Yîn-vi fòng-chṳ́ lam-yung, han-thin chhai $1 séu-sṳ̀ nui fat-sung yit-chhṳ me̍t-me̍t thì-siáng.',
+'throttled-mailpassword' => '密碼提醒已經在最近$1小時內發送。
+為防止濫用,限定在$1小時內僅發送一次密碼提醒。',
 'mailerror' => '發送郵件出差錯:$1',
-'acct_creation_throttle_hit' => 'Tui-put-hí, ngì yí-kîn chu-chhak liáu $1 chong-ho. Ngì put-nèn chai chu-chhak liáu.',
-'emailauthenticated' => 'Ngì-ke email thi-tiám yí-kîn chhai-yî $1 khok-ngin yû-háu.',
+'acct_creation_throttle_hit' => '在邇隻wiki上係話訪客利用汝个IP地址在昨天創建矣$1個賬戶,係在邇段時間肚的上限。
+結果利用這個IP地址个訪客在邇段時間中無辦法創建更多个賬戶。',
+'emailauthenticated' => '汝个電郵地址已經於$2 $3確認有效。',
 'emailnotauthenticated' => '汝嘅郵箱地址<strong>還無分認証</strong>。以下功能將毋會發送任何郵件。',
 'noemailprefs' => '在您嘅偏好設定肚指定一隻電子郵件地址來使用邇隻功能。',
 'emailconfirmlink' => '確認汝嘅郵箱地址',
-'invalidemailaddress' => 'Email thi-tiám kak-sṳt put chṳn-khok, chhiáng sû-ngi̍p chṳn-khok ke email chhai-vi fe̍t-chá chhîn-khûng ke-sû-ngi̍p  khiông.',
+'invalidemailaddress' => '郵箱地址格式不正確,請輸入正確个郵箱位址或清空該輸入框。',
+'emaildisabled' => '邇隻網站毋可以發送電子郵件。',
 'accountcreated' => '已建立賬戶',
 'accountcreatedtext' => '$1嘅賬戶已經分建立。',
 'createaccount-title' => '在{{SITENAME}}肚建立新賬戶',
+'createaccount-text' => '有人在{{SITENAME}}中利用汝个電郵創建矣一個名為 "$2" 个新賬戶($4),密碼係 "$3" 。汝應該立即登入並更改密碼。
+
+如果該賬戶建立錯誤个話,汝可以忽略邇條訊息。',
+'usernamehasherror' => '用戶名稱毋可以包含Hash字符',
+'login-throttled' => '爾已經嘗試多次个登入動作。
+請等陣再試。',
+'login-abort-generic' => '登入錯誤 - 中止',
 'loginlanguagelabel' => '語言:$1',
+'suspicious-userlogout' => '您登出个要求已經畀拒絕,因為其可能係由已損壞个瀏覽器或者緩存代理傳送。',
+
+# Email sending
+'php-mail-error-unknown' => '在 PHP 个 mail() 參數肚个未知錯誤',
+'user-mail-no-addy' => '嘗試毋帶電郵地址發送電郵。',
+'user-mail-no-body' => '試圖發送空个或主體不合理短个電子郵件。',
 
 # Change password dialog
 'resetpass' => '更改密碼',
 'resetpass_announce' => '汝係通過一隻發送到電子郵件肚嘅臨時代碼登入的。愛完成登入,汝必須在邇位設定一隻新密碼:',
 'resetpass_text' => '<!-- 在邇處加入文字 -->',
-'resetpass_header' => 'Chhùng-sat me̍t-me̍t',
+'resetpass_header' => '更改賬戶密碼',
 'oldpassword' => '舊密碼:',
 'newpassword' => '舊密碼:',
 'retypenew' => '再一擺輸入密碼:',
 'resetpass_submit' => '設定密碼並登入',
 'resetpass_success' => '汝成功更改矣汝嘅密碼!
 今下為汝登入緊...',
-'resetpass_forbidden' => 'Mò-fap chhai chhṳ́ wiki sông kiên-kói me̍t-me̍',
+'resetpass_forbidden' => '無辦法更改密碼',
+'resetpass-no-info' => '爾必須登入後直接進入邇隻頁面。',
 'resetpass-submit-loggedin' => '更改密碼',
 'resetpass-submit-cancel' => '取消',
+'resetpass-wrong-oldpass' => '無效个臨時或現有个密碼。
+爾可能已成功地更改了爾个密碼,或者已經請求一個新个臨時密碼。',
+'resetpass-temp-password' => '臨時密碼:',
+'resetpass-abort-generic' => '擴充插件已中止矣更改密碼操作。',
 
 # Special:PasswordReset
+'passwordreset' => '重設密碼',
+'passwordreset-text' => '完成此表格以重置汝个密碼。',
+'passwordreset-legend' => '重置密码',
+'passwordreset-disabled' => '邇隻維基上已禁止矣重設密碼。',
+'passwordreset-emaildisabled' => '電子郵件功能在此 wiki 上已禁用。',
+'passwordreset-pretext' => '{{PLURAL:$1||輸入下列其中一隻}}',
 'passwordreset-username' => '用戶名:',
 'passwordreset-domain' => '域名:',
+'passwordreset-capture' => '查看生成个電子郵件係無?',
+'passwordreset-capture-help' => '係話汝選中邇隻框,電子郵件(包括臨時密碼)將顯示,並發送分用戶。',
 'passwordreset-email' => '電郵地址:',
+'passwordreset-emailtitle' => '在{{SITENAME}}上个詳細信息',
 
 # Special:ChangeEmail
 'changeemail-none' => '(無)',
@@ -555,33 +591,34 @@ $2',
 'bold_tip' => '粗體文字',
 'italic_sample' => '斜體文字',
 'italic_tip' => '斜體文字',
-'link_sample' => 'Lièn-kiet phêu-thì',
-'link_tip' => 'Nui-phu lièn-kiet',
-'extlink_sample' => 'http://www.example.com lièn-kiet phêu-thì',
-'extlink_tip' => 'Ngoi-phu lièn-kiet (ki-tet http://)',
-'headline_sample' => 'Thai-phêu-thì vùn-sṳ',
-'headline_tip' => 'Ngi-khi̍p phêu-thì vùn-sṳ',
-'nowiki_sample' => 'Chhai-chhṳ́ chhap-ngi̍p fui kak-sṳt vùn-sṳ',
-'nowiki_tip' => 'Chhap-ngi̍p fui kak-sṳt vùn-sṳ',
-'image_tip' => 'Khàm-ngi̍p thù-phién',
-'media_tip' => 'Mòi-thí tóng-on lièn-kiet',
-'sig_tip' => 'Tai yû sṳ̀-kiên ke chhiâm-miàng',
-'hr_tip' => 'Súi-phiàng sien  (séu-sîm sṳ́-yung)',
+'link_sample' => '鏈接標題',
+'link_tip' => '內部鏈接',
+'extlink_sample' => 'http://www.example.com 鏈接標題',
+'extlink_tip' => '外部鏈接(加前綴 http://)',
+'headline_sample' => '大標題文字',
+'headline_tip' => '2級標題文字',
+'nowiki_sample' => '在邇插入非格式文字',
+'nowiki_tip' => '插入非格式文字',
+'image_tip' => '插入文件',
+'media_tip' => '文件鏈接',
+'sig_tip' => '帶有時間嘅簽名',
+'hr_tip' => '水平線 (小心使用)',
 
 # Edit pages
-'summary' => 'Chak-yeu:',
-'subject' => 'Chú-thì/phêu-thì:',
-'minoredit' => 'Liá-he yit-ke séu siû-kói',
-'watchthis' => 'Kam-sṳ pún-chông',
-'savearticle' => 'Pó-chhùn pún-chông',
+'summary' => '摘要:',
+'subject' => '標題:',
+'minoredit' => '邇係一隻細微修改',
+'watchthis' => '監視本頁',
+'savearticle' => '保存本頁',
 'preview' => '預覽',
-'showpreview' => 'Hién-sṳ yi-ko',
-'showlivepreview' => 'Chit-sṳ̀ yi-ko',
-'showdiff' => 'Hién-sṳ chhâ-phe̍t',
-'anoneditwarning' => "'''Kín-ko:''' ngì hàn-mò tên-liu̍k, ngì-ke IP thi-tiám chiông-voi ki-liu̍k chhai chhṳ́-chông ke phiên-siá li̍t-sṳ́ chûng.",
+'showpreview' => '展示預覽',
+'showlivepreview' => '即時預覽',
+'showdiff' => '展示差別',
+'anoneditwarning' => "'''警告:'''汝還吂登入。
+汝嘅IP地址將記錄在邇頁嘅編寫歷史肚。",
 'missingsummary' => "'''Thì-sṳ:''' Kgì hàn-mò thì-kiûng yit-ke phiên-siá chak-yeu. Kó-yèn ngì chai-chhṳ tân-kit tú-chhùn, ngì-ke phiên-siá chiông put-tai phiên-siá chak-yeu tú-chhùn.",
 'missingcommenttext' => 'Chhiáng chhai ha-mien sû-ngi̍p phìn-lun.',
-'missingcommentheader' => "'''Thì-sṳ:''' ngì hàn-mò vi-chhṳ́ phìn-lun thì-kiûng yit-ke phêu-thì. Kó-yèn ngì chai-chhṳ tân-kit tú-chhùn, ngì-ke phiên-siá chiông put-tai phêu-thì tú-chhùn.",
+'missingcommentheader' => "'''提示:''' 汝還無為邇條評論提供一個標題。如果汝再次單擊「{{int:savearticle}}」,您个編輯將不帶標題儲存。",
 'summary-preview' => 'Chak-yeu yi-ko:',
 'subject-preview' => 'Chú-thì/phêu-thì yi-ko:',
 'blockedtitle' => 'Yung-fu pûn chhà-fûng',
@@ -599,16 +636,15 @@ Liá-chhṳ chhà-fûng he yù $1 só fûng ke. Tông-chûng ke ngièn-yîn he '
 'accmailtitle' => 'Pi-Me̍t yí-kîn ki-chhut.',
 'accmailtext' => "'$1' ke pi-me̍t yí-kîn ki-kî to $2.",
 'newarticle' => '(新)',
-'newarticletext' => 'Ngì hien-chhai chin-ngi̍p yit-ke hàn-mò chhóng-kien ke vùn-chông.
-Yeu kien-chho ke vùn-chông, chhiáng chhai ha-mien ke phiên-cho-khiông chûng sû-ngi̍p nui-yùng (Chhâm-siòng [[{{MediaWiki:Helppage}}|Pông-chhu]]).
-Kó-yèn ngì-he put-séu-sîm to chhṳ́ hong-mien, chhṳ̍t-chiap tiám-kit ngì hi-khí chûng ke "fì-chón" on-néu fán-fì.',
+'newarticletext' => '您入到矣一隻還吂建立嘅頁面。
+愛建立本頁面,請在下面嘅編寫框肚輸入內容(詳情參詳[[{{MediaWiki:Helppage}}|幫手]])。
+係講汝係毋小心來到本頁面,直接點擊汝嘅瀏覽器肚嘅“轉頭”撳掣轉頭。',
 'anontalkpagetext' => "---- ''Liá-he yit-ke hàn-mò kien-li̍p chong-ho ke ngia̍k-miàng yung-fu ke tui-fa-hong. Só-yî chṳ́-nèn yung IP thi-tiám lòi lâu kí lièn-lo̍k. Ke-IP thi-tiám khó-nèn yù-chhai kí-miàng yung-fu khiung-hióng. Kó-yèn ngì-he yit-miàng ngia̍k-miàng yung-fu ngin-vì pún-hong song ke phìn-lî kiên ngì mò-kôan, chhiáng [[Special:UserLogin|Chhóng-kien sîn chong-ho fe̍t-chá Tên-ngi̍p]] khó-yî phit-miên lòi-yì khì-thâ ngia̍k-miàng yung-fu ke fun-lon.''",
 'noarticletext' => '邇頁當前無內容,汝做得在其他頁[[Special:Search/{{PAGENAME}}|搜尋邇頁標題]],
 <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 搜尋有關日誌],
 或[{{fullurl:{{FULLPAGENAME}}|action=edit}} 編寫邇頁]</span>。',
-'noarticletext-nopermission' => 'Liá-ke ya̍p muk-chhièn mò nui-yùng. 
-Ngì cho-tet chhai khì-thâ ya̍p [[Special:Search/{{PAGENAME}}|sêu-chhìm chhṳ́ ya̍p-thì]],fe̍t-chá <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} sêu-chhìm yû-kôan ngit-chì]</span>,than-he ngì mò 
-khièn-han kien-li̍p chhṳ́ ya̍p.',
+'noarticletext-nopermission' => '邇頁當前無內容。
+汝做得在其它頁[[Special:Search/{{PAGENAME}}|搜尋邇頁標題]],或者<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 搜尋有關日誌]</span>,但汝無權限建立邇頁。',
 'userpage-userdoesnotexist' => 'Sṳ́-yung-tsá tsong-ho "<nowiki>$1</nowiki>" hàn-mò kien-li̍p.
 Tshiáng chhai kien-li̍p/piên-sip liá-ke vùn-tsông tshièn siên kiám-tshà yit-ha-é.',
 'clearyourcache' => "'''Chu-yi:''' Chhai tú-chhùn yî-heu, ngì pit-sî khoai chhái-chhí chhîn-chhù hi-khí chhòi-nèn khon-tó chok-chhut ke kói-pien. '''Mozilla / Firefox / Safari:''' on-tén ''Shift'' chai tiám-kit '' Chhùng-sîn chṳ́n-lî ''(fe̍t-chá on-hâ ''Ctrl-Shift-R'', chhai Phìn-kó Mac song on-hâ ''Cmd-Shift-R''); '''IE:''' on-tén ''Ctrl'' chai tiám-kit ''Chhùng-sîn chṳ́n-lî'', fe̍t-he on-hâ ''Ctrl-F5'';'''Konqueror:''' chak  sî-yeu tiám-kit ''Chhùng-sîn chṳ́n-lî''; '''Opera:''' yung-fu sî-yeu chhai ''kûng-khí-sat-thin'' chûng vàn-cháng-thi chhîn-chhù ke khoai-chhí.",
@@ -619,7 +655,8 @@ Tshiáng chhai kien-li̍p/piên-sip liá-ke vùn-tsông tshièn siên kiám-ts
 'userinvalidcssjstitle' => "'''Kín-ko:''' Put chhùn-chhai mien-pán \"\$1\". chu-yi chhṳ-thin ke .css lâu .js hong yeu sṳ́-yung séu-siá phêu-thì, yì-yi, {{ns:user}}:Foo/vector.css put-thùng yî  {{ns:user}}:Foo/Vector.css.",
 'updated' => '(已經更新)',
 'note' => "'''注意:'''",
-'previewnote' => "'''Chhiáng ki-he̍t liá-ke chak-he yi-liau, nui-yùng hàn-mò pó-chhùn!'''",
+'previewnote' => "'''請記到邇單淨係預覽。'''
+汝嘅更改還吂保存!",
 'previewconflict' => 'Liá-ke yi-liau hién-sṳ liáu song-mien vùn-sṳ phiên-siá khî-chûng ke nui-yùng. Chiông-voi chhai ngì sién-chet pó-chhùn heu chhut-hien.',
 'session_fail_preview' => "'''Chṳ̂n-he tui-put-hí! Lî-yù he phu-fun chṳ̂-yì-sṳt, mò-fap chhú-lî ngì-ke phiên-siá. Chhiáng chai-chhṳ yit-chhṳ, kó-yèn yìn-yèn sṳt-phai, chhiáng tên-chhut heu chhùng-sîn tên-ngi̍p.'''",
 'session_fail_preview_html' => "'''Chṳ̂n tui-put-hí! Phu-fun chṳ̂-liau yí-kîn yì-sṳt, mò-fap chhú-lî ngì-ke phiên-siá.'''
@@ -650,25 +687,24 @@ Ngì thùng-sṳ̀ ya-yeu hiong Wikimedia pó-chṳn ngì só thì-kâu ke nui-y
 'protectedpagewarning' => "'''Kín-ko: Pún-chông yí-kîn pûn pó-fu, chṳ́-yû yúng-yû Kón-lî-yèn hí-khó-khièn ke yung-fu chhòi-nèn siù-chho.'''",
 'semiprotectedpagewarning' => "'''Chu-yi:''' Pún vùn-chông pûn só-thin, tên-ki ke yung-fu hí-khó phiên-siá.",
 'cascadeprotectedwarning' => "'''Kín-ko''': Pún-chông yí-kîn pûn pó-fu, chṳ́-yû yúng-yû Kón-lî-yèn khièn-han ke yung-fu chhòi-nèn siù-chho, yîn-vi pún-chông yí-kîn pûn yî-ha lièn-só pó-fu ke {{PLURAL:$1|yit-ke|tô-ke}} vùn-chông só pâu-hàm:",
-'templatesused' => 'Chhai liá-ke ya̍p-mien song sṳ́-yung ke {{PLURAL:$1|mù-pán|mù-pán}}:',
+'templatesused' => '邇頁面包含下背{{PLURAL:$1|模板|模板}}:',
 'templatesusedpreview' => 'Chhṳ́-chhṳ yi-siên chûng sṳ́-yung ke mù-pán yû:',
 'templatesusedsection' => 'Chhai liá-ke thon-lo̍k song sṳ́-yung ke mù-pán yû:',
 'template-protected' => '(保護)',
 'template-semiprotected' => '(半保護)',
-'hiddencategories' => 'Liá-ya̍p he su̍k-yî $1-ke yún-chhòng fûn-lui ke sṳ̀n-yèn:',
+'hiddencategories' => '邇頁屬於$1隻隱藏分類嘅成員:',
 'edittools' => '<!-- Chhṳ́-chhu ke vùn-sṳ chiông-voi pûn hién-sṳ chhai yî-ha phiên-cho lâu song-chhòn péu-tân chûng. -->',
 'nocreatetext' => 'Chhṳ́ mióng-chham han-chṳ chhóng-chho sîn hong-mien ke kûng-yung. ngì khó-yî fán-fì pin phiên-cho yí-kîn yû ke hong-mien, fe̍t-chá [[Special:UserLogin|tên-liu̍k fe̍t-he chhóng-kien sîn chong-fu]].',
 'nocreate-loggedin' => 'Ngì chhai liá-ke wiki-tsûng hàn-mò hí-khó-khièn kien-li̍p sîn vùn-tsông.',
 'permissionserrors' => '權限差錯',
 'permissionserrorstext' => 'Kîn-kí yî-ha ke ngièn-yîn, ngì vù-yû khièn-han hi-tso yî-ha ke thung-tsok:',
-'permissionserrorstext-withaction' => 'Ngì mò-fap khièn-han hi siá-chok $2, kîn-kí yî-ha ke {{PLURAL:$1|ngièn-yîn|ngièn-yîn}}:',
-'recreate-moveddeleted-warn' => "'''Kín-ko: Ngì hien-chhai chhùng-sîn kien-li̍p yit-ke siên-chhièn chên-kîn san-chhù-ko ke ya̍p-mien.'''
-
-Ngì yin-kôi yeu kháu-li yit-ha ki-siu̍k phiên-si̍p liá yit-ke ya̍p-mien sṳ-fî ha̍p-sṳt. 
-Vi-liáu fông-phien hí-kien, liá yit-ke ya̍p-mien ke san-chhù ki-liu̍k yí-kîn chhai ha-mien  
-thì-kiûng:",
-'moveddeleted-notice' => 'Liá-ke ya̍p-mien yí-kîn chhù-thet.
-Liá-ke ya̍p-mien ke san-chhù lâu yì-thung ngit-chì yí-kîn chhai ha-mien thì-kiûng chok-vi chhâm-kháu.',
+'permissionserrorstext-withaction' => '根據下背嘅{{PLURAL:$1|原因|原因}},汝並無權限去做$2:',
+'recreate-moveddeleted-warn' => "'''警告:汝今下重新建立一隻先前曾經刪除過嘅頁面。'''
+
+汝應該愛考慮一下繼續編寫邇一隻頁面係毋係合適。
+為到方便,邇一個頁面嘅刪除日誌已經在下背提供:",
+'moveddeleted-notice' => '邇隻頁面已經刪除。
+邇隻頁面嘅刪除撈移動日誌已經在下背提供來參考。',
 'log-fulllog' => '查看完整日誌',
 'edit-hook-aborted' => '編輯分鈎取消。
 其並無分出解釋。',
@@ -685,13 +721,12 @@ Liá-ke ya̍p-mien ke san-chhù lâu yì-thung ngit-chì yí-kîn chhai ha-mien
 'content-model-css' => 'CSS',
 
 # Parser/template warnings
-'post-expand-template-inclusion-warning' => 'Kín-ko: Pâu-hàm mù-pan thai-séu ko-thai.
-Mêu-chúng mù-pan chiông put-nèn pâu-hàm.',
-'post-expand-template-inclusion-category' => 'Mù-pán pâu-hàm sông-han yí-kîn chhêu-ko ke ya̍p-mien',
-'post-expand-template-argument-warning' => 'Kín-ko: Liá-ke ya̍p-mien yû chui-séu yit-ke 
-mù-chhâm-sṳ yû ko-thai khóng-chán thai-séu.
-Mêu-yit chhâm-sṳ voi pûn lio̍k-ko.',
-'post-expand-template-argument-category' => 'Pâu-hàm chho̍k-lio̍k ko mù-pan chhâm-sú ke ya̍p-mien',
+'post-expand-template-inclusion-warning' => '警告: 包含模板大小過大。
+一兜模板將毋會包含。',
+'post-expand-template-inclusion-category' => '模板包含上限已經超過嘅頁面',
+'post-expand-template-argument-warning' => '警告: 邇隻頁面有最少一隻模參數有過大擴展大細。
+邇兜參數會分略過。',
+'post-expand-template-argument-category' => '包含緊略過模板參數嘅頁面',
 
 # "Undo" feature
 'undo-success' => 'Ke phiên-cho khó-yî pûn chhat-sêu. Chhiáng kiám-chhà yî-ha tui-pí fu̍t-sṳ̍t liá chang-he ngì sióng-cho ke, yèn-heu tú-chhùn yî-ha kiên-kói vàn-sṳ̀n chhat-sêu phiên-siá.',
@@ -706,7 +741,7 @@ Mêu-yit chhâm-sṳ voi pûn lio̍k-ko.',
 Tông-tsûng pûn $3 fûng-só ke ngièn-yîn he ''$2''",
 
 # History pages
-'viewpagelogs' => 'Chhà-khon liá-ke vùn-chông ke ngit-ki.',
+'viewpagelogs' => '查看邇隻頁面嘅日誌',
 'nohistory' => 'Mò-yû pún-chông ke siû-thin ki-liu̍k.',
 'currentrev' => 'Tông-chhièn siû-thin pán-pún',
 'currentrev-asof' => '$1嘅最新修訂版本',
@@ -721,7 +756,7 @@ Tông-tsûng pûn $3 fûng-só ke ngièn-yîn he ''$2''",
 'page_first' => '最早',
 'page_last' => '最尾',
 'histlegend' => "差別選擇:標記愛比較修訂版本嘅單選按鈕並點擊底部嘅按鈕進行比較。<br />
-說明:'''({{int:cur}})''' 指撈最新修訂版本比較,'''({{int:last}})''' 指與前一隻修訂修訂版本比較,'''{{int:minoreditletter}}''' = 細微修改。",
+說明:'''({{int:cur}})''' 指撈最新修訂版本比較,'''({{int:last}})''' 指撈上隻修訂版本比較,'''{{int:minoreditletter}}''' = 細微修改。",
 'history-fieldset-title' => '瀏覽歷史',
 'history-show-deleted' => '單淨係已刪除嘅',
 'histfirst' => '最早',
@@ -739,7 +774,7 @@ Tông-tsûng pûn $3 fûng-só ke ngièn-yîn he ''$2''",
 # Revision deletion
 'rev-deleted-comment' => '(chu-sṳt yí-kîn yì-chhù)',
 'rev-deleted-user' => '(用戶名已移除)',
-'rev-deleted-event' => '(hong-muk yí-kîn yì-chhù)',
+'rev-deleted-event' => '(日誌已刪除)',
 'rev-deleted-text-permission' => 'Ke-vùn-chông siû-thin yí-kîn pûn-chhiùng kûng-khiung vùn-tóng chûng yì-chhù. Chhai [{{fullurl:{{#Special:Log}}/suppress|page={{PAGENAMEE}}}} chhù-thet ngit-ki] chûng khó-nèn kiám-chhà to siòng-se ke sin-sit.',
 'rev-deleted-text-view' => 'Ke-vùn-chông siû-thin yí-kîn pûn-chhiùng kûng-khiung vùn-tóng chûng yì-chhù. Chok-vi mióng-chham ke kón-lî-yèn, khó-yî kiám-chhà; Chhai[{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} chhù-thet ngit-ki] chûng khó-nèn kiám-chhà to siòng-se ke sin-sit.',
 'rev-delundel' => '展現/隱藏',
@@ -785,12 +820,11 @@ Tông-tsûng pûn $3 fûng-só ke ngièn-yîn he ''$2''",
 'revertmerge' => '解除合併',
 
 # Diffs
-'history-title' => '"$1" ke siû-thin li̍t-sṳ́',
+'history-title' => '“$1”嘅修訂歷史',
 'lineno' => '第$1行:',
-'compareselectedversions' => 'Pí-káu sién-thin ke pán-pún',
+'compareselectedversions' => '比較選定嘅修訂版本',
 'editundo' => '撤銷',
-'diff-multi' => '({{PLURAL:$2|1 miàng yung-fu|$2 miàng yung-fu}}
-chok-chhut ke {{PLURAL:$1|yit-ke chûng-thù siû-thin pán-pún|$1-ke chûng-thù siû-thin pán-pún}}hàn-mò pûn hién-sṳ)',
+'diff-multi' => '(吂展示$2隻用戶嘅$1嘅中間版本)',
 
 # Search results
 'searchresults' => '搜尋結果',
@@ -808,8 +842,8 @@ chok-chhut ke {{PLURAL:$1|yit-ke chûng-thù siû-thin pán-pún|$1-ke chûng-th
 'nextn-title' => '後背$1隻結果',
 'shown-title' => '每頁展示$1項結果',
 'viewprevnext' => '查看($1 {{int:pipe-separator}} $2)($3)',
-'searchmenu-exists' => "'''Pún wiki sông yû-miàng chhṳ̂n-cho “[[:$1]]” ke ya̍p-mien'''",
-'searchmenu-new' => "'''Chhai liá-ke wiki sông kien-li̍p liá-ke ya̍p-mien \"[[:\$1]]\"!'''",
+'searchmenu-exists' => "'''在邇隻wiki上已經有一頁喊做“[[:$1]]”。'''",
+'searchmenu-new' => "'''在本wiki上建立邇隻頁面“[[:$1]]”!'''",
 'searchhelp-url' => 'Help:Pông-chhu',
 'searchprofile-articles' => '內容頁面',
 'searchprofile-project' => '幫助撈計劃頁面',
@@ -822,20 +856,20 @@ chok-chhut ke {{PLURAL:$1|yit-ke chûng-thù siû-thin pán-pún|$1-ke chûng-th
 'searchprofile-everything-tooltip' => '搜索全部(包括討論頁面)',
 'searchprofile-advanced-tooltip' => '在用戶安名空間肚搜尋',
 'search-result-size' => '$1 ($2隻字)',
-'search-result-category-size' => '{{PLURAL:$1|1-ke sṳ̀n-yèn|$1-ke sṳ̀n-yèn}} ({{PLURAL:$2|1-ke chṳ́  fûn-lui|$2-ke chṳ́  fûn-lui}}, {{PLURAL:$3|1-ke tóng-on|$3-ke tóng-on}})',
+'search-result-category-size' => '$1隻成員($2隻子分類,$3隻文件)',
 'search-redirect' => '(重定向 $1)',
 'search-section' => '(段落 $1)',
-'search-suggest' => 'Ngì shì-féu kié: $1',
+'search-suggest' => '汝係毋係尋:$1',
 'search-interwiki-caption' => 'Chí-moi kie-va̍k',
 'search-interwiki-default' => '$1 kiet-kó:',
 'search-interwiki-more' => '(kien-tô)',
-'searchrelated' => 'siông-kôan',
+'searchrelated' => '相關',
 'searchall' => '全部',
 'showingresults' => "Ha-mien hién-sṳ chhiùng thi-'''$2'''-thiàu khôi-sṳ́ ke '''$1'''-thiàu kiet-kó:",
 'showingresultsnum' => "Ha-mien hién-sṳ chhiùng thi-'''$2'''-thiàu khôi-sṳ́ ke '''$3'''-thiàu kiet-kó:",
 'showingresultsheader' => "對'''$4'''嘅{{PLURAL:$5|第'''$1'''到第'''$3'''隻結果|第'''$1 - $2'''隻,共'''$3'''隻結果}}",
 'nonefound' => '<strong>Chu-yi:</strong> Sṳt-phai ke sêu-chhà vông-vông he chhut-yì chhṳ-thù sêu-chhà chû-yì "ke" fe̍t-chá "lâu" chṳ̂-lui ke sòng-kien-sṳ só yîn-hí.',
-'search-nonefound' => 'Chhà-chhìm chûng mò kiet-kó siông-fù.',
+'search-nonefound' => '在查詢肚無結果相符。',
 'powersearch' => 'Chin-kiê sêu-chhà',
 'powersearch-legend' => 'Chin-kiê sêu-chhà',
 'powersearch-ns' => 'Chhai yî-ha ke miàng-sṳ khûng-kiên chûng sêu-chhà:',
@@ -881,10 +915,10 @@ chok-chhut ke {{PLURAL:$1|yit-ke chûng-thù siû-thin pán-pún|$1-ke chûng-th
 'defaultns' => 'Yi-sat sêu-sok ke miàng-sṳ khûng-kiên:',
 'default' => 'Yi-sat',
 'prefs-files' => 'Tóng-on',
-'youremail' => 'Thien-chṳ́ yù-khien:',
+'youremail' => '電子郵件:',
 'username' => 'Yung-fu miàng-chhṳ̂n:',
 'uid' => 'Yung-fu ID:',
-'yourrealname' => 'Chṳ̂n-sṳ̍t siang-miàng *:',
+'yourrealname' => '真名:',
 'yourlanguage' => 'Kie-mien ngî-ngièn:',
 'yourvariant' => 'Sṳ-thí pien-von:',
 'yournick' => 'Kién-chhṳ̂n:',
@@ -894,7 +928,8 @@ Tshòng-tón pit-sî chhai $1-ke sṳ-ngièn yî-ha.',
 'email' => 'Email',
 'prefs-help-realname' => '* Chṳ̂n-sṳ̍t siang-miàng (khó-sién): yung-lòi tui-cheu ngì-ke kung-hien miàng.',
 'prefs-help-email' => '電郵地址係選填項目,但係,假使汝毋記得汝嘅密碼,其做得用於重設密碼。',
-'prefs-help-email-others' => 'Ngì yi̍t khó-yî chhai ngì mò kûng-khôi chhṳ-kí ke yung-fu sṳ̂n-fun sṳ̀  theu-ko ngì-ke yung-fu-ya̍p fe̍t-chá yung-fu thó-lun-ya̍p lâu ngì lièn-kiê.',
+'prefs-help-email-others' => '汝也做得選擇分其他用戶通過汝嘅用戶頁或交流頁上嘅鏈接用電子郵件聯繫汝。
+其他用戶聯繫汝時汝嘅電子郵件毋會顯示出來。',
 
 # User rights
 'userrights' => 'Yung-fu khièn-han kón-lî',
@@ -925,7 +960,7 @@ Tshòng-tón pit-sî chhai $1-ke sṳ-ngièn yî-ha.',
 'right-upload' => '上傳文件',
 
 # Special:Log/newusers
-'newuserlogpage' => 'Sîn-chin yung-fu miàng-chhak',
+'newuserlogpage' => '新建用戶名冊',
 'newuserlogpagetext' => 'Liá-he yit-ke chui-khiun pûn chhóng-kien yung-fu ke ngit-ki.',
 
 # User rights log
@@ -933,51 +968,51 @@ Tshòng-tón pit-sî chhai $1-ke sṳ-ngièn yî-ha.',
 'rightslogtext' => 'Yî-ha ki-liu̍k yung-fu khièn-han ke kiên-kói ki-liu̍k.',
 
 # Associated actions - in the sentence "You do not have permission to X"
-'action-edit' => 'phiên-siá pún-chông',
+'action-edit' => '編寫本頁',
 
 # Recent changes
-'nchanges' => '$1-chhṳ kiên-kói',
+'nchanges' => '$1次更改',
 'recentchanges' => '最近更改',
 'recentchanges-legend' => '最近更改選項',
 'recentchanges-summary' => 'Kiên-chiûng liá-ke wiki song ke chui-sîn kiên-kói.',
 'recentchanges-feed-description' => '跟蹤本訂閱在wiki上嘅最近更改。',
 'recentchanges-label-newpage' => '邇次編輯建立起一隻新頁面',
-'recentchanges-label-minor' => 'Liá-he yit-ke séu phiên-si̍p',
-'recentchanges-label-bot' => 'liá-chhṳ phiên-si̍p he yù kî-hi-ngìn chin-hàng',
-'recentchanges-label-unpatrolled' => 'Liá-chhṳ phiên-si̍p hàn-mò sùn-chhà ko',
-'rcnote' => "Yî-ha {{PLURAL:$1|he '''1''' kiên-kói|he chui-khiûn  '''$1''' ke kiên-kói }} chhai chui-khiûn {{PLURAL:$2|thiên|'''$2'''-thiên}}, chhṳ-chhiùng $5, $4.",
-'rcnotefrom' => "Ha-mien he chhṳ '''$2''' (Chui-tô hién-sṳ '''$1'''):",
-'rclistfrom' => 'Hién-sṳ chhṳ $1 yî-lòi ke sîn kiên-kói',
-'rcshowhideminor' => '$1 séu phiên-cho',
-'rcshowhidebots' => '$1 kî-hi-ngìn ke phiên-cho',
-'rcshowhideliu' => '$1 yí-kîn tên-ngi̍p yung-fu ke phiên-cho',
-'rcshowhideanons' => '$1 ngia̍k-miàng yung-fu ke phiên-cho',
-'rcshowhidepatr' => '$1 kiám-chhà-ko ke phiên-siá',
-'rcshowhidemine' => '$1 ngô-ke phiên-siá',
-'rclinks' => 'Hién-sṳ chui-khiûn $2 thiên-nui ke chui-sîn ke $1-chhṳ kói-thung. <br />$3',
+'recentchanges-label-minor' => '邇係一隻細微修改',
+'recentchanges-label-bot' => '邇次編寫係由機器人進行',
+'recentchanges-label-unpatrolled' => '邇次編寫還吂巡查過',
+'rcnote' => "下背係在$4 $5,最近'''$2'''日內嘅'''$1'''次最近更改記錄。",
+'rcnotefrom' => "下背係從'''$2'''起嘅更改(最多展示'''$1'''):",
+'rclistfrom' => '展示從$1以來嘅新更改',
+'rcshowhideminor' => '$1細微編寫',
+'rcshowhidebots' => '$1機器人嘅編寫',
+'rcshowhideliu' => '$1已登入用戶嘅編寫',
+'rcshowhideanons' => '$1匿名用戶嘅編寫',
+'rcshowhidepatr' => '$1巡查過嘅編寫',
+'rcshowhidemine' => '$1亻厓嘅編寫',
+'rclinks' => '展示最近$2日內最新嘅$1次改動。<br />$3',
 'diff' => '差別',
 'hist' => '歷史',
 'hide' => '隱藏',
 'show' => '展示',
 'minoreditletter' => '細微',
-'newpageletter' => 'Sîn',
-'boteditletter' => 'Kî-hi',
+'newpageletter' => '',
+'boteditletter' => '',
 'number_of_watching_users_pageview' => '[$1隻用戶關注]',
 'rc_categories' => 'Fûn-lui kie-han (yî "|" fûn-kot)',
 'rc_categories_any' => 'Ngim-yi',
-'rc-enhanced-expand' => 'Hién-sṳ se-chiet (sî-yeu JavaScript)',
-'rc-enhanced-hide' => 'Yún-chhòng se-chiet',
+'rc-enhanced-expand' => '展示細節 (愛有JavaScript)',
+'rc-enhanced-hide' => '隱藏細節',
 
 # Recent changes linked
-'recentchangeslinked' => 'Lièn-chhut kiên-kói',
+'recentchangeslinked' => '相關更改',
 'recentchangeslinked-feed' => 'Lièn-chhut kiên-kói',
 'recentchangeslinked-toolbox' => '相關更改',
-'recentchangeslinked-title' => 'Tui-yî  "$1" yû-kôan ke lièn-chhut kiên-kói',
-'recentchangeslinked-noresult' => 'Chhai liá yit-thon sṳ̀-kiên chûng lièn-kiet ke hong-mien pin-mò kiên-kói.',
-'recentchangeslinked-summary' => "Liá-ke thi̍t-sû-ya̍p lie̍t-sṳ ''yù'' só pûn-chhut ke yit-ke ya̍p chṳ̂ lièn-kiet to ya̍p ke chui-khiûn kiên-kói (fe̍t-chá he tui-yî chṳ́-thin fûn-lui ke  sṳ̀n-yèn).
-Chhai [[Special:Watchlist|ngì-ke kam-sṳ lie̍t-péu]] chûng ke ya̍p fi hién-sṳ '''chhû-thí'''.",
-'recentchangeslinked-page' => 'Ya̍p-miàng:',
-'recentchangeslinked-to' => 'Hién-sṳ lièn-to só pûn-chhut  ke  ya̍p',
+'recentchangeslinked-title' => '撈“$1”有關嘅更改',
+'recentchangeslinked-noresult' => '在邇一段時間肚鏈接嘅頁面並無更改。',
+'recentchangeslinked-summary' => "邇一隻特殊頁面列示''由''所分出嘅一隻頁面之鏈接到頁面嘅最近更改(或者是對於指定分類嘅成員)。
+在[[Special:Watchlist|汝嘅監視列表]]肚嘅頁面會用'''粗體'''顯示。",
+'recentchangeslinked-page' => '頁面名:',
+'recentchangeslinked-to' => '展示連到所分出嘅頁面',
 
 # Upload
 'upload' => '上傳文件',
@@ -989,10 +1024,10 @@ Chhai [[Special:Watchlist|ngì-ke kam-sṳ lie̍t-péu]] chûng ke ya̍p fi hié
 'uploaderror' => 'Song-chhòn chho-ngu',
 'uploadtext' => "Sṳ́-yung ha-mien ke péu-tân lòi song-chhòn yung-chhai vùn-chông nui sîn-ke thù-hìn tóng-on. Yeu kiám-sṳ fe̍t-chá sêu-chhà yî-chhièn song-chhòn ke thù-phién khó-yî chin-ngi̍p [[Special:FileList|Thù-hìn chhîn-tân]], song-chhòn lâu chhù-hi chiông-chhai [[Special:Log/upload|Song-chhòn ngit-ki]] chûng ki-liu̍k. Yeu-chhai vùn-chông chûng kâ-ngi̍p thù-hiong, sṳ́-yung yî-ha hìn-sṳt ke lièn-chiap: '''<nowiki>[[{{ns:file}}:file.jpg]]</nowiki>''', '''<nowiki>[[{{ns:file}}:file.png|Thi-von vùn-sṳ]]</nowiki>''' fe̍t-he '''<nowiki>[[{{ns:media}}:file.ogg]]</nowiki>'''.",
 'uploadlog' => 'Song-chhòn ki-liu̍k',
-'uploadlogpage' => 'Song-chhòn ki-liu̍k',
+'uploadlogpage' => '上傳日誌',
 'uploadlogpagetext' => 'Yî-ha he chui-khiûn song-chhòn vùn-khien ke chúng-péu.',
 'filename' => 'Tóng-on miàng',
-'filedesc' => 'Tóng-on mèu-siá',
+'filedesc' => '文件說明',
 'fileuploadsummary' => 'Tóng-on mèu-siá:',
 'filestatus' => '版權狀態:',
 'filesource' => 'Lòi-ngièn:',
@@ -1023,7 +1058,7 @@ Kó-yèn ngì yû liá-ke thù-hìn ke vàn-cháng thai-séu.",
 係話汝仍然想愛上載其个話,請返回並用一隻新个名稱來上傳邇隻檔案。[[File:$1|thumb|center|$1]]',
 'uploadwarning' => 'Sông-chai kín-ko',
 'savefile' => 'Pó-chhùn vùn-khien',
-'uploadedimage' => 'yí-kîn song-chhòn "[[$1]]"',
+'uploadedimage' => '已上傳“[[$1]]”',
 'uploaddisabled' => 'Mò-fap song-chhòn',
 'uploaddisabledtext' => 'Tóng-on song-chhòn chhai chhṳ́ miong-chham put hí-khó yung.',
 'php-uploaddisabledtext' => 'PHP 文件上載已經停用。請檢查 file_uploads 設定。',
@@ -1048,8 +1083,8 @@ Kó-yèn ngì yû liá-ke thù-hìn ke vàn-cháng thai-séu.",
 'upload-curl-error28' => 'Sông-chhòn chhêu-ko sṳ̀-kiên',
 'upload-curl-error28-text' => 'Mióng-chham fì-yin sṳ̀-kiên ko-chhòng. Chhiáng kiám-chhà chhṳ́ mióng-chham ke fóng-mun he-feu chṳn-sòng, chai chin-hàng sòng-chhṳ. Ngì khó-nèn sî-yeu chhai mióng-lu fóng-mun khûng-hàn sṳ̀-kiên chai-lòi chin-hàng sòng-chhṳ.',
 
-'license' => 'Su-khièn:',
-'license-header' => 'Su-khièn',
+'license' => '授權:',
+'license-header' => '授權',
 'nolicense' => 'Mò-yû sién-thin',
 'upload_source_url' => '(Yit-ke yû-háu ke, hí-khó kûng-khôi fóng-mun ke URL)',
 'upload_source_file' => '(ngì thien-nó chûng ke tóng-on)',
@@ -1065,24 +1100,24 @@ Kó-yèn ngì yû liá-ke thù-hìn ke vàn-cháng thai-séu.",
 'listfiles_description' => 'Mèu-sut',
 
 # File description page
-'file-anchor-link' => 'Tóng-on',
+'file-anchor-link' => '文件',
 'filehist' => '文件歷史',
-'filehist-help' => 'Tiám-kit ngit-khì/sṳ̀-kiên yî kiám-sṳ tông-sṳ̀ chhut-hien-ko ke ke tóng-on.',
+'filehist-help' => '點撳日期/時間來查看當時出現過嘅文件。',
 'filehist-deleteone' => 'chhù-thet',
-'filehist-revert' => 'fu̍k-ngièn',
-'filehist-current' => 'muk-chhièn',
-'filehist-datetime' => 'Ngit-khì/Sṳ̀-kiên',
-'filehist-thumb' => 'Sok-thù',
-'filehist-thumbtext' => 'Yî $1-ke suk-thù pán-pún',
-'filehist-user' => 'Yung-fu',
-'filehist-dimensions' => 'Vì-thu',
-'filehist-comment' => 'Chu-kié',
+'filehist-revert' => '恢復',
+'filehist-current' => '當前',
+'filehist-datetime' => '日期/時間',
+'filehist-thumb' => '縮略圖',
+'filehist-thumbtext' => '$1嘅版本嘅縮略圖',
+'filehist-user' => '用戶',
+'filehist-dimensions' => '維度',
+'filehist-comment' => '意見',
 'imagelinks' => '文件用處',
-'linkstoimage' => 'Yî-ha {{PLURAL:$1|ya̍p-mien|$1-ke ya̍p-mien}} lièn-chiap chṳ pún vùn-khien:',
-'nolinkstoimage' => 'Mò-yû vùn-chông lièn-chiap to pún tóng-on.',
+'linkstoimage' => '下背嘅$1隻頁面鏈接到本文件:',
+'nolinkstoimage' => '無頁面鏈接到本文件。',
 'sharedupload' => '本檔案來自於$1,渠可能在其它計劃項目肚分人應用。',
-'sharedupload-desc-here' => 'Liá-ke tóng-on lòi-chhṳ yî $1,kì khó-nèn chhai khì-thâ kie-va̍k hong-muk chûng pûn yin-yung.
-Kì chhai [$2 tóng-on mèu-su̍t ya̍p-mien] piên-kin ke mèu-su̍t yî ha-mien hién-sṳ.',
+'sharedupload-desc-here' => '邇文件來自於$1,其可能在其它計劃項目肚分應用。
+其在[$2文件描述頁面]遐片上嘅描述在下背展示。',
 'uploadnewversion-linktext' => 'Song-chhòn tóng-on ke sîn pán-pún',
 
 # File deletion
@@ -1114,12 +1149,12 @@ Kì chhai [$2 tóng-on mèu-su̍t ya̍p-mien] piên-kin ke mèu-su̍t yî ha-mie
 'randomredirect-nopages' => 'Chhai liá-ke miàng-sṳ khûng-kiên mò-yû chhùng-thin hong-mien.',
 
 # Statistics
-'statistics' => 'Thúng-kie',
+'statistics' => '統計',
 'statistics-header-users' => 'Yung-fu thúng-kie',
 'statistics-mostpopular' => 'Pûn-ngìn chhà-khon chhṳ-su chui-tô ke vùn-chông',
 
 'disambiguations' => 'Sêu-hàm fù-chông',
-'disambiguationspage' => 'Template:sêu-chhù khi-ngi',
+'disambiguationspage' => 'Template:消歧義',
 'disambiguations-text' => 'Yî-ha ke hong-mien tû-yû to <b> sêu-hàm fù-chông </b> ke lièn-chiap, than yin-kôi he lièn-to sṳt-tông ke phêu-thì. <br /> Yit-ke hong-mien chiông-voi pûn-ngìn sṳ-vi Sêu-hàm fù-chông kó-yèn kí he lièn-chhṳ [[MediaWiki:disambiguationspage]].',
 
 'doubleredirects' => 'Sûng chhûng-chhûng thin-hiong',
@@ -1139,7 +1174,7 @@ Kì chhai [$2 tóng-on mèu-su̍t ya̍p-mien] piên-kin ke mèu-su̍t yî ha-mie
 'nbytes' => '$1字節',
 'ncategories' => '$1-ke fûn-lui',
 'nlinks' => '$1-ke lièn-kiet',
-'nmembers' => '$1-ke sṳ̀n-yèn',
+'nmembers' => '$1隻成員',
 'nrevisions' => '$1-ke siù-chho',
 'nviews' => '$1-chhṳ khon-kien',
 'specialpage-empty' => 'Pún hong-mien mò-yû nui-yùng .',
@@ -1158,7 +1193,7 @@ Kì chhai [$2 tóng-on mèu-su̍t ya̍p-mien] piên-kin ke mèu-su̍t yî ha-mie
 'mostcategories' => 'Chui-tô fûn-lui vùn-chông',
 'mostimages' => 'Chui-tô lièn-kiet thù-chhiong',
 'mostrevisions' => 'Chui-tô siû-thin vùn-chông',
-'prefixindex' => 'Chhièn-chhàng sok-yîn',
+'prefixindex' => '全部有前綴嘅頁面',
 'shortpages' => 'Tón vùn-chông',
 'longpages' => 'Chhòng vùn-chông',
 'deadendpages' => 'Thôn-lièn vùn-chông',
@@ -1167,36 +1202,36 @@ Kì chhai [$2 tóng-on mèu-su̍t ya̍p-mien] piên-kin ke mèu-su̍t yî ha-mie
 'protectedpagestext' => 'Yî-ha vùn-chông yí-kîn Pûn pó-fu yî fòng-chṳ́ yì-thung fe̍t-chá sîn-phiên',
 'protectedpagesempty' => 'Chhai liá-ke chhâm-su hâ mò-yû vùn-chông chang-chhai pó-fu.',
 'listusers' => 'Yung-fu lie̍t-péu',
-'usercreated' => '$1 $2{{GENDER:$3|chhóng-kien}}',
+'usercreated' => '$1 $2{{GENDER:$3|建立}}',
 'newpages' => '新頁面',
 'newpages-username' => 'Yung-fu-miàng:',
 'ancientpages' => 'Chui-khiu ke hong-mien',
-'move' => 'Yì-thung',
+'move' => '移動',
 'movethispage' => 'Yì-thung pún-chông',
 'unusedimagestext' => 'Chhiáng chu-yi khì-thâ mióng-chham khó-nèn chhṳ̍t-chiap theu-ko URL lièn-chiap thù-chhiong, só-yî liá-piên lie̍t-chhut ke thù-chhiong khó-nèn pûn-ngìn sṳ́-yung.',
 'unusedcategoriestext' => 'Sûi-yèn mò-yû pûn khì-thâ vùn-chông fe̍t-chá fûn-lui só chhái-yung, than lie̍t-péu chûng ke fûn-lui chông chhùn-chhai.',
 'notargettitle' => 'Mò muk-phêu',
 'notargettext' => 'Ngì hàn-mò chṳ́-thin yit-ke muk-phêu vùn-chông fe̍t-chá yung-fu chin-hàng chhṳ́-hong chhâu-chok.',
-'pager-newer-n' => 'sîn $1-chhṳ',
-'pager-older-n' => 'khiu $1-chhṳ',
+'pager-newer-n' => '新$1次',
+'pager-older-n' => '舊$1次',
 
 # Book sources
 'booksources' => '網絡書源',
-'booksources-search-legend' => 'Chhìm-cháu chham-ngoi sû-ngièn',
-'booksources-go' => 'Sung-chhut',
+'booksources-search-legend' => '尋找網絡書源',
+'booksources-go' => '送出',
 'booksources-text' => 'Yî-ha he yit-fun sîn-sû fe̍t-chá ngi-sú-sû ke lie̍t-péu, pin khó-nèn yû ngì chang-hó chhìm-cháu ke sû ke chin-yit-phu sêu-sit:',
 
 # Special:Log
 'specialloguserlabel' => 'Yung-fu:',
 'speciallogtitlelabel' => 'Phêu-thì:',
-'log' => 'Ngit-ki',
+'log' => '日誌',
 'alllogstext' => 'Lièn-ha̍p hién-sṳ song-chhòn, chhù-chhiang, pó-fu, chhà-fûng yî-khi̍p chham-vu',
 'logempty' => 'Mò-yû siông-thùng ki-liu̍k.',
 'log-title-wildcard' => 'Chhà-chhìm liá-ke vùn-sṳ khôi-sṳ́ ke phêu-thì',
 
 # Special:AllPages
-'allpages' => 'Só-yû ke hong-mian',
-'alphaindexline' => '$1 to $2',
+'allpages' => '全部頁面',
+'alphaindexline' => '$1$2',
 'nextpage' => 'Hâ yit-chông ($1)',
 'prevpage' => 'Song yit-chông ($1)',
 'allpagesfrom' => 'Hién-sṳ chhiùng chhṳ́-chhu khôi-sṳ́ ke hong-mien:',
@@ -1211,7 +1246,7 @@ Kì chhai [$2 tóng-on mèu-su̍t ya̍p-mien] piên-kin ke mèu-su̍t yî ha-mie
 'allpagesbadtitle' => 'Pûn-thin ke hong-mien phêu-thì he fî-fap ke, fe̍t-chá yung-khí yû yit-ke nui-phu ngî-ngièn fe̍t-he nui-phu wiki. Kí khó-nèn pâu-hàm yit-ke fe̍t kien-tô ke put-nèn yung chhai-yî phêu-thì ke sṳ-ngièn.',
 
 # Special:Categories
-'categories' => 'Hong-mien fûn-lui',
+'categories' => '分類',
 'categoriespagetext' => 'Yî-ha lie̍t-chhut só-yû ke hong-mien fûn-lui.
 [[Special:UnusedCategories|Unused categories]] are not shown here.
 Also see [[Special:WantedCategories|wanted categories]].',
@@ -1219,7 +1254,7 @@ Also see [[Special:WantedCategories|wanted categories]].',
 # Special:LinkSearch
 'linksearch' => 'Ngoi-phu lièn-chiap',
 'linksearch-ok' => 'Chhìm-cháu',
-'linksearch-line' => '$1 lièn-chhṳ $2',
+'linksearch-line' => '$1 連自 $2',
 
 # Special:ListUsers
 'listusersfrom' => 'Hién-sṳ yung-fu lie̍t-péu chhiùng:',
@@ -1227,12 +1262,12 @@ Also see [[Special:WantedCategories|wanted categories]].',
 'listusers-noresult' => 'Cháu put-to yung-fu.',
 
 # Special:ListGroupRights
-'listgrouprights-members' => '(sṳ̀n-yèn chhîn-tân)',
+'listgrouprights-members' => '(成員列表)',
 
 # Email user
 'mailnologin' => 'Mò email thi-tiám',
 'mailnologintext' => 'Ngì pit-sî siên [[Special:UserLogin|tên-ngi̍p]] pin-chhai [[Special:Preferences|chhâm-su sat-chṳ]] chûng yû yit-ke yû-háu ke e-mail thi-tiám chhòi-nèn email khì-thâ yung-fu.',
-'emailuser' => 'Email ke-yung-fu',
+'emailuser' => '電郵聯繫邇隻用戶',
 'emailpage' => 'Email yung-fu',
 'emailpagetext' => 'Kó-yèn ke-yung-fu yí-kîn chhai chhâm-su sat-chṳ chông chûng sû-ngi̍p yû-háu ke e-mail thi-tiám, yî-ha ke péu-kak chiông-ki yit-ke sêu-sit pûn ke-yung-fu. Ngì chhai chhâm-su sat-chṳ chûng só sû-ngi̍p ke e-mail thi-tiám chiông chhut-hien chhai email "fat-khien-ngìn" yit-làn-chûng, liá-yong ke-yung-fu chhiu khó-yî fì-fu̍k.',
 'usermailererror' => 'Muk-phêu e-mail thi-tiám fán-fì chho-ngu:',
@@ -1261,11 +1296,11 @@ Also see [[Special:WantedCategories|wanted categories]].',
 'removedwatchtext' => 'Vùn-chông "[[:$1]]" yí-kîn chhiùng Ngì kekam-sṳ lie̍t-péu mien-chûng yì-chhù.',
 'watch' => '監視',
 'watchthispage' => 'Kam-sṳ pún-chông',
-'unwatch' => 'Thìn-chṳ́ kam-sṳ',
+'unwatch' => '取消監視',
 'unwatchthispage' => 'Thìn-chṳ́ kam-sṳ',
 'notanarticle' => 'Put-he vùn-chông',
 'watchnochange' => 'Chhai hién-sṳ ke sṳ̀-kiên thon-nui ngì só kam-sṳ ke vùn-chông mò-yû kiên-kói.',
-'watchlist-details' => '毋包含討論頁,汝嘅監視列表上有 $1 個頁面。',
+'watchlist-details' => '毋包含討論頁,汝嘅監視列表上有$1隻頁面。',
 'wlheader-enotif' => '* Yí-kîn khí-thung email thûng-tî kûng-nèn.',
 'wlheader-showupdated' => "* Chhai ngì song-chhṳ kiám-sṳ heu yû pûn chhùng-siû ko ke vùn-chông chiông-voi hién-sṳ vi '''chhû-thí'''.",
 'watchmethod-recent' => 'Kiám-chhà pûn kam-sṳ hong-mien ke chui-khiûn phiên-cho',
@@ -1273,8 +1308,8 @@ Also see [[Special:WantedCategories|wanted categories]].',
 'watchlistcontains' => 'Ngì-ke kam-sṳ lie̍t-péu pâu-hàm $1-ke hong-mien.',
 'iteminvalidname' => "Hong-mien '$1' chho-ngu, mò-háu min-miàng...",
 'wlnote' => 'Yî-ha he chui-khiûn <b>$2</b> séu-sṳ̀ nui-ke chui-heu $1-chhṳ chin-siû.',
-'wlshowlast' => 'Hién-sṳ chui-khiûn $1 séu-sṳ̀ $2-thiên $3 ke chin-siû.',
-'watchlist-options' => 'Kam-sṳ lie̍t-péu sién-chet',
+'wlshowlast' => '展示最近$1隻鐘頭,$2日或$3嘅更改。',
+'watchlist-options' => '監視列表選項',
 
 # Displayed when you click the "watch" button and it is in the process of watching
 'watching' => 'Chang-chhai kam-sṳ...',
@@ -1301,10 +1336,10 @@ Also see [[Special:WantedCategories|wanted categories]].',
 'delete-legend' => 'Chhù-thet',
 'historywarning' => 'Kín-ko: Ngì chiông-yeu chhù-hi ke chông-nui hàm-yû li̍t-sṳ́:',
 'confirmdeletetext' => 'Ngì chiông-voi chhiùng chṳ̂-liau-khu chûng yún-yén chhù-thet yit-ke vùn-chông fe̍t-chá thù-chhiong yî-khi̍p li̍t-sṳ́. Chhiáng khok-thin ngì-yeu chin-hàng chhâu-chok, pin liáu-kié heu-kó, thùng-sṳ̀ ngì-ke hàng-vì fù-ha̍p [[{{MediaWiki:Policy-url}}]].',
-'actioncomplete' => 'Chhâu-chok vàn-sṳ̀n',
-'actionfailed' => 'Chhâu-chok sṳt-phai',
+'actioncomplete' => '操作完成',
+'actionfailed' => '操作失敗',
 'deletedtext' => '"$1" yí-kîn pûn chhù-thet. Chui-khiûn chhù-hi ke ki-liu̍k chhiáng chhâm-siòng $2.',
-'dellogpage' => 'Chhù-chhiang ki-liu̍k',
+'dellogpage' => '刪除日誌',
 'dellogpagetext' => 'Yî-ha he chui-khiûn chhù-thet ke ki-liu̍k lie̍t-péu.',
 'deletionlog' => 'Chhù-chhiang ki-liu̍k',
 'reverted' => 'Fî-fu̍k to  chó-khì pán-pún',
@@ -1326,9 +1361,9 @@ Also see [[Special:WantedCategories|wanted categories]].',
 'sessionfailure' => 'Ngì-ke tên-ngi̍p sṳ-fû yû mun-thì, vi-liáu fòng-chṳ́ sêu-sit pûn làn-chiet, pún-chhṳ chhâu-chok yí-kîn chhí-sêu, chhiáng-on "song-yit-chông" chhùng-sîn chai-ngi̍p.',
 
 # Protect
-'protectlogpage' => 'Pó-fu ngit-ki',
+'protectlogpage' => '保護日誌',
 'protectlogtext' => 'Ha-mien he vùn-chông só-thin lâu chhí-sêu só-thin ke lie̍t-péu. Chhiáng chhâm-kháu [[Special:ProtectedPages|Pó-fu vùn-chông chhîn-tân]] yî-khi̍p kiám-sṳ tông-chhièn chin-hàng ke vùn-chông pó-fu.',
-'protectedarticle' => 'Yí-kîn pó-fu "[[$1]]"',
+'protectedarticle' => '已保護“[[$1]]”',
 'modifiedarticleprotection' => 'yí-kîn kiên-kói "[[$1]]" ke pó-fu tén-kip',
 'unprotectedarticle' => 'yí-kîn kié-chhù pó-fu "[[$1]]"',
 'protect-title' => 'Chang-chhai pó-fu "$1"',
@@ -1402,7 +1437,7 @@ Chhiáng chhâm-kháu [[Special:Log/delete|chhù-hi ngit-ki]] lòi chhà-chhut c
 
 # Namespace form on various pages
 'namespace' => '名字空間:',
-'invert' => 'Fán-hiong sién-chet',
+'invert' => '反向選擇',
 'blanknamespace' => '(主要)',
 
 # Contributions
@@ -1412,39 +1447,39 @@ Chhiáng chhâm-kháu [[Special:Log/delete|chhù-hi ngit-ki]] lòi chhà-chhut c
 'contribsub2' => '$1嘅貢獻($2)',
 'nocontribs' => 'Mò-yû chhìm-cháu to fù-ha̍p thi̍t-chṳ̂n ke kiên-kói.',
 'uctop' => '(最新修改)',
-'month' => 'Chhiùng liá-ke ngie̍t-fun (fe̍t-he kien-chó):',
-'year' => 'Chhiùng liá-ke ngièn-fun (fe̍t-he kien-chó):',
+'month' => '從邇月(或還較早):',
+'year' => '從邇年(或還較早):',
 
-'sp-contributions-newbies' => 'Chak hién-sṳ sîn kien-li̍p chṳ̂ yung-fu ke kung-hien',
+'sp-contributions-newbies' => '單淨展示新建用戶嘅貢獻',
 'sp-contributions-newbies-sub' => 'Sîn-sú',
-'sp-contributions-blocklog' => 'Fûng-kim ki-liu̍k',
-'sp-contributions-uploads' => 'sông-chhòn',
+'sp-contributions-blocklog' => '封禁日誌',
+'sp-contributions-uploads' => '上傳',
 'sp-contributions-logs' => '日誌',
 'sp-contributions-talk' => '交流',
 'sp-contributions-userrights' => 'Yung-fu khièn-han kón-lî',
-'sp-contributions-search' => 'Chhìm-cháu kung-hien ki-liu̍k',
-'sp-contributions-username' => 'IP chhô-vi fe̍t-chá yung-fu miàng-chhṳ̂n:',
-'sp-contributions-toponly' => 'Chṳ́  hién-sṳ chui-sîn siû-thin pán-pún ke phiên-si̍p',
-'sp-contributions-submit' => 'Chhìm-cháu',
+'sp-contributions-search' => '搜尋貢獻記錄',
+'sp-contributions-username' => 'IP地址或用戶名:',
+'sp-contributions-toponly' => '單淨展示最新修訂版本嘅編寫',
+'sp-contributions-submit' => '搜尋',
 
 # What links here
 'whatlinkshere' => '鏈接入頁面',
-'whatlinkshere-title' => 'Lièn-chiap to "$1" ke ya̍p',
+'whatlinkshere-title' => '鏈接到“$1”嘅頁面',
 'whatlinkshere-page' => '頁面:',
-'linkshere' => 'Yî-ha vùn-chông lièn-kiet to [[:$1]]:',
-'nolinkshere' => 'Mò-yû vùn-chông lièn-kiet to [[:$1]].',
+'linkshere' => '下背頁面鏈接到[[:$1]]:',
+'nolinkshere' => "無頁面鏈接到'''[[:$1]]'''。",
 'nolinkshere-ns' => 'Chhai só-sién ke miàng-sṳ khûng-kiên nui  mò-yû vùn-chông lièn-kiet to[[:$1]].',
-'isredirect' => 'chhùng-thin vùn-chông',
-'istemplate' => 'pâu-hàm',
-'isimage' => 'tóng-on lièn-kiet',
-'whatlinkshere-prev' => 'Chhièn $1-ke',
-'whatlinkshere-next' => 'Heu $1-ke',
-'whatlinkshere-links' => '← lièn-ngi̍p',
-'whatlinkshere-hideredirs' => '$1 chhûng-thin-hiong',
-'whatlinkshere-hidetrans' => '$1 pâu-hàm',
-'whatlinkshere-hidelinks' => '$1 lièn-kiet',
-'whatlinkshere-hideimages' => '$1-ke vùn-khien lièn-kiet',
-'whatlinkshere-filters' => 'Ko-li-khí',
+'isredirect' => '重定向頁',
+'istemplate' => '包含',
+'isimage' => '文件鏈接',
+'whatlinkshere-prev' => '前頭$1隻',
+'whatlinkshere-next' => '後背$1隻',
+'whatlinkshere-links' => '←連入',
+'whatlinkshere-hideredirs' => '$1重定向',
+'whatlinkshere-hidetrans' => '$1包含',
+'whatlinkshere-hidelinks' => '$1鏈接',
+'whatlinkshere-hideimages' => '$1條文件鏈接',
+'whatlinkshere-filters' => '過濾器',
 
 # Block/unblock
 'blockip' => 'chhà-fûng IP thi-tiám',
@@ -1481,7 +1516,7 @@ Chhiáng chhâm-kháu [[Special:Log/delete|chhù-hi ngit-ki]] lòi chhà-chhut c
 'ipusubmit' => 'Kié-chhù kim-fûng',
 'unblocked' => '[[User:$1|$1]]-ke fûng-kim yí-kîn kié-chhù',
 'unblocked-id' => 'Fûng-kim $1 yí-kîn pûn yì-chhù',
-'ipblocklist' => 'Pûn fûng-kim yung-fu lie̍t-péu',
+'ipblocklist' => '分封用戶列表',
 'ipblocklist-submit' => 'Chhìm-cháu',
 'infiniteblock' => 'yún-kiú',
 'expiringblock' => '$1 $2 to-khì',
@@ -1495,12 +1530,12 @@ Chhiáng chhâm-kháu [[Special:Log/delete|chhù-hi ngit-ki]] lòi chhà-chhut c
 'change-blocklink' => '更改封禁',
 'contribslink' => '貢獻',
 'autoblocker' => 'Ngì-ke IP lâu pûn fûng-liáu ke "$1" he yit-yong ke. Fûng-só ngièn-yîn: "$2".',
-'blocklogpage' => 'Fûng-só ki-liu̍k',
-'blocklogentry' => '"[[$1]]" yí-kîn pûn chhà-fûng $3, chûng-chṳ́ sṳ̀-kiên he $2',
+'blocklogpage' => '查封日誌',
+'blocklogentry' => '封禁[[$1]],到期時間係$2$3',
 'blocklogtext' => 'Liá-he kôan-yî yung-fu fûng-kim lâu kié-chhù fûng-kim chhâu-chok ke ki-liu̍k. Pûn chhṳ-thung fûng-kim ke IP thi-tiám mò-yû lie̍t-chhut. Chhiáng chhâm-kháu [[Special:BlockList|Pûn chhà-fûng ke IP thi-tiám lâu yung-fu lie̍t-péu]].',
 'unblocklogentry' => '"$1" yí-kîn pûn kié-fûng',
 'block-log-flags-anononly' => 'Han-chṳ ngia̍k-miàng ke yung-fu',
-'block-log-flags-nocreate' => 'Kim-chṳ́ chhṳ́ IP/Yung-fu kien-li̍p sîn chong-fu',
+'block-log-flags-nocreate' => '帳號建立已禁',
 'block-log-flags-noautoblock' => 'Thìn-chṳ́ yung chhṳ-thung fûng-kim',
 'range_block_disabled' => 'Chṳ́-yû kón-lî-yèn chhòi-nèn kien-chho kim-chṳ́ chhà-fûng ke fam-vì.',
 'ipb_expiry_invalid' => 'Mò-háu ke chûng-chṳ́ sṳ̀-kiên.',
@@ -1600,7 +1635,7 @@ Please visit [//www.mediawiki.org/wiki/Localisation MediaWiki Localisation] and
 # Thumbnails
 'thumbnail-more' => '放大',
 'filemissing' => 'Mò-fap cháu-to tóng-on',
-'thumbnail_error' => 'Chhóng-kien suk-thù chho-ngu: $1',
+'thumbnail_error' => '建立縮略圖差錯:$1',
 'djvu_page_error' => 'DjVu hong-mien chhêu-chhut fam-vì',
 'djvu_no_xml' => 'Mò-fap chhai DjVu tóng-on chûng chên-chhí XML',
 'thumbnail_invalid_params' => 'Put chṳn-khok ke suk-thù chhâm-su',
@@ -1659,9 +1694,9 @@ Please visit [//www.mediawiki.org/wiki/Localisation MediaWiki Localisation] and
 'tooltip-ca-undelete' => 'Chiông liá-ke vùn-chông fî-fu̍k to pûn chhù-hi yî-chhièn ke chhong-khóng',
 'tooltip-ca-move' => '移動本頁',
 'tooltip-ca-watch' => '加邇頁入監視列表',
-'tooltip-ca-unwatch' => 'Chiông chhṳ́ vùn-chông chhiùng kam-sṳ lie̍t-péu chûng yì-chhù',
+'tooltip-ca-unwatch' => '從監視列表肚移除本頁',
 'tooltip-search' => '搜尋{{SITENAME}}',
-'tooltip-search-go' => 'Van-yit yû siông-thùng ke phêu-thì chhùn-chhai, tshṳ̍t-tsiap chhièn-vông liá-ya̍p',
+'tooltip-search-go' => '係講相同嘅標題存在嘅話就直接到遐頁',
 'tooltip-search-fulltext' => '搜查包含邇兜文字嘅頁',
 'tooltip-p-logo' => '訪問頭頁',
 'tooltip-n-mainpage' => '探訪頭頁',
@@ -1675,32 +1710,32 @@ Please visit [//www.mediawiki.org/wiki/Localisation MediaWiki Localisation] and
 'tooltip-t-recentchangeslinked' => '頁面鏈接出嘅所有頁面嘅更改',
 'tooltip-feed-rss' => 'Chṳ́-thin pún vùn-chông li̍t-sṳ́ ke RSS chṳ̂-liau',
 'tooltip-feed-atom' => '訂閱邇頁嘅Atom源',
-'tooltip-t-contributions' => 'Chhà-khon ke-yung-fu ke kung-hien lie̍t-péu',
-'tooltip-t-emailuser' => 'Hiong ke-yung-fu fat-sung sin-sit',
+'tooltip-t-contributions' => '查看邇隻用戶嘅貢獻列表',
+'tooltip-t-emailuser' => '向邇隻用戶發送電子郵件',
 'tooltip-t-upload' => '上傳文件',
 'tooltip-t-specialpages' => '全部特殊文章嘅列表',
 'tooltip-t-print' => '本頁面做得打印嘅版本',
 'tooltip-t-permalink' => '邇隻頁面修訂版本嘅永久鏈接',
 'tooltip-ca-nstab-main' => '查看內容頁',
-'tooltip-ca-nstab-user' => 'Chhà-khon yung-fu-chông',
+'tooltip-ca-nstab-user' => '查看用戶頁面',
 'tooltip-ca-nstab-media' => 'Chhà-khon hìn-thí-chông',
-'tooltip-ca-nstab-special' => 'pún vùn-chông voi sùi-tén chṳ̂-liau-khu ke su-kí kiên-sîn, ngim-hò ngìn put-nèn chhṳ̍t-chiap phiên-cho',
-'tooltip-ca-nstab-project' => 'Chhà-khon hong-muk vùn-chông',
+'tooltip-ca-nstab-special' => '本頁面係特殊頁面,汝做毋得編寫本頁',
+'tooltip-ca-nstab-project' => '查看項目頁面',
 'tooltip-ca-nstab-image' => '查看文件頁面',
 'tooltip-ca-nstab-mediawiki' => 'Chhà-khon ne-thúng chṳ̂-liau',
-'tooltip-ca-nstab-template' => 'Chhà-khon mù-pán',
+'tooltip-ca-nstab-template' => '查看模板',
 'tooltip-ca-nstab-help' => 'Chhà-khon pông-chhu thiàu-muk',
 'tooltip-ca-nstab-category' => '查看分類頁面',
-'tooltip-minoredit' => 'Phêu-ki sṳ̀n-vì séu siû-kói',
-'tooltip-save' => 'Pó-chhùn ngì-ke siù-chho',
-'tooltip-preview' => 'Yi-ko ngì-ke phiên-siá, chhiáng siên sṳ́-yung pún-kûng chai pó-chhùn!',
-'tooltip-diff' => 'Hién-sṳ ngì tui vùn-chông ke kung-hien',
-'tooltip-compareselectedversions' => 'Chhà-khon pún-chông pûn tiám-sién ke lióng-ke pán-pún kiê ke chhâ-yi.',
-'tooltip-watch' => 'Chiông chhṳ́-chông kâ-ngi̍p ngì-ke kam-sṳ lie̍t-péu',
+'tooltip-minoredit' => '標記做細微修改',
+'tooltip-save' => '保存汝嘅修改',
+'tooltip-preview' => '預覽汝嘅編寫,請先使用本功能後再保存!',
+'tooltip-diff' => '展示汝對頁面嘅貢獻',
+'tooltip-compareselectedversions' => '查看本頁分點選嘅兩個修訂版本間嘅差別',
+'tooltip-watch' => '加邇頁入監視列表',
 'tooltip-recreate' => 'Chhùng-kien ke-vùn-chông, mò-lun he-feu pûn chhù-chhîn',
 'tooltip-rollback' => '撳“打轉頭”恢復上一位貢獻人對本頁面嘅編寫',
 'tooltip-undo' => '“撤銷”做得在編寫模式上開啟編輯寫表格來方便復原。其允許在摘要肚加入原因。',
-'tooltip-summary' => 'Sû-ngi̍p yit-ke kién-tón ke chak-yeu',
+'tooltip-summary' => '輸入一條簡短嘅摘要',
 
 # Stylesheets
 'common.css' => '/* Chhṳ́-chhu ke CSS chiông-chhiu yin-yung chhai só-yû ke mien-pán */',
@@ -1749,18 +1784,18 @@ Please visit [//www.mediawiki.org/wiki/Localisation MediaWiki Localisation] and
 'deletedrevision' => 'Yí-kîn chhù-thet khiu-ke pán-pún $1.',
 
 # Browsing diffs
-'previousdiff' => 'Sông yit-ke phiên-sip',
-'nextdiff' => 'Hâ-yit pán-pún →',
+'previousdiff' => '←上隻版本',
+'nextdiff' => '下隻版本→',
 
 # Media information
 'mediawarning' => "'''Kín-ko''': Ke-tóng-on khó-nèn pâu-hàm ok-yi am-ho, chṳp-hàng kì khó-nèn tui ngì-ke ne-thúng tai-lòi ngùi-hiám.",
 'imagemaxsize' => 'Chhai thù-chhiong mèu-siá chông tui thù-chhiong thai-séu han-chṳ he:',
 'thumbsize' => 'Lio̍k-thù thai-séu:',
 'file-info' => 'tóng-on thai-séu: $1, MIME lui-hìn: $2',
-'file-info-size' => '$1 × $2 chhiong-su, tóng-on thai-séu:$3 ,MIME lui-hìn:$4',
-'file-nohires' => 'Mò kien-kô kié-chhiong-thu khó-yî thì-kiûng.',
-'svg-long-desc' => 'SVG tóng-on, péu-mien thai-séu: $1 × $2 siong-su, tóng-on thai-séu: $3',
-'show-big-image' => 'Vàn-cháng ke kié-chhiong-thu',
+'file-info-size' => '$1 × $2像素,文件大小:$3,MIME類型:$4',
+'file-nohires' => '無做得提供嘅還較高分辨率。',
+'svg-long-desc' => 'SVG文件,尺寸:$1×$2像素,文件大細:$3',
+'show-big-image' => '完全分辨率',
 
 # Special:NewFiles
 'newimages' => 'Sîn-kien thù-chhiong ke va̍k-lòng',
@@ -1780,10 +1815,13 @@ Please visit [//www.mediawiki.org/wiki/Localisation MediaWiki Localisation] and
 
 # Metadata
 'metadata' => '元數據',
-'metadata-help' => 'Chhṳ́ tóng-on chûng pâu-hàm yû khóng-chán ke sín-sit. Liá-ke sín-sit khó-nèn he yù sṳ-vi siong-kî fe̍t-chá mèu-ngì chhai chhóng-li̍p fe̍t-he su-sṳ-fa ko-chhàng chûng só kâ-thiâm ke. Kó-yèn chhṳ́ tóng-on ke ngièn tóng-on yí-kîn pûn siû-kói, sêu-sit chhai siû-kói heu ke tóng-on chûng chiông put-nèn vàn-chhiòn fán-yang chhut-lòi.',
+'metadata-help' => '邇文件肚包含有擴展嘅信息。邇兜信息可能係由數碼相機或掃描儀在創建或數字化過程肚所加入嘅。
+
+係講邇文件嘅源文件已經分修改,一兜信息在修改後嘅文件肚將毋做得完全反映出來。',
 'metadata-expand' => 'Hién-sṳ siòng-se ke chṳ̂-liau',
 'metadata-collapse' => 'Yún-chhòng siòng-se ke chṳ̂-liau',
-'metadata-fields' => 'Chhai pún sêu-sit chûng só lie̍t-chhut ke EXIF ngièn-su-kí chiông-chhiu pâu-hàm chhai thù-phién hién-sṳ thiàu-muk, tông ngièn-su-kí péu sún-fái sṳ̀ chak hién-sṳ yî-ha sêu-sit, khì-thâ ke ngièn-su-kí yi-sat vì yún-chhòng.
+'metadata-fields' => '在本信息肚所列出嘅EXIF元數據域將包含在圖片顯示頁面,當元數據表損壞時單淨顯示下背信息。
+其他嘅元數據默認做隱藏。
 * make
 * model
 * datetimeoriginal
@@ -1799,8 +1837,8 @@ Please visit [//www.mediawiki.org/wiki/Localisation MediaWiki Localisation] and
 * gpsaltitude',
 
 # External editor support
-'edit-externally' => 'Yung ngoi-phu chhàng-sṳt phiên-siá chhṳ́ tóng-on',
-'edit-externally-help' => 'Chhiáng chhâm-siòng [//www.mediawiki.org/wiki/Manual:External_editors sat-thin phu] liáu-kié siòng-se sin-sit.',
+'edit-externally' => '用外部應用程序編寫本文件',
+'edit-externally-help' => '(請參詳[//www.mediawiki.org/wiki/Manual:External_editors 設定步驟]了解詳細資訊)',
 
 # 'all' in various places, this might be different for inflected languages
 'watchlistall2' => '全部',
@@ -1886,12 +1924,12 @@ Sòn-chhṳ phêu-chún yi-liau.',
 'lag-warn-high' => 'Yù-yî chṳ̂-liau-khu ke ko-thu yèn-chhṳ̀, tô-yî $1-méu ke kiên-kói khó-nèn put-voi chhai liá-ke chhîn-tân chûng hién-sṳ.',
 
 # Watchlist editing tools
-'watchlisttools-view' => 'Kiám-sṳ yû-kôan kiên-kói',
-'watchlisttools-edit' => 'Kiám-sṳ lâu phiên-sip kam-sṳ lie̍t-péu',
-'watchlisttools-raw' => 'Phiên-sip ngièn-sṳ́ kam-sṳ lie̍t-péu',
+'watchlisttools-view' => '查看有關更改',
+'watchlisttools-edit' => '查看並編寫監視列表',
+'watchlisttools-raw' => '編寫原始監視列表',
 
 # Core parser functions
-'duplicate-defaultsort' => '\'\'\'警告\'\'\': Yi-sat ke phài-sì khèn "$2" fu̍k-koi siên-chhièn ke yi-sat phài-sì khèn "$1"',
+'duplicate-defaultsort' => "'''警告:'''默認排序關鍵字“$2”蓋過矣先前嘅默認排序關鍵字“$1”。",
 
 # Special:Version
 'version' => 'Pán-pún',
@@ -1903,17 +1941,17 @@ Sòn-chhṳ phêu-chún yi-liau.',
 'specialpages' => '特殊頁',
 
 # External image whitelist
-'external_image_whitelist' => ' #Liù-hâ liá-hàng yit-yong ke vùn-sṳ<pre>
-#Chhai ha-mien (/chṳ̂ chûng-kiên phu-fun)
-sû-ngi̍p chang-kûi péu-tha̍t-sṳt 
-#Liá-he chiông-voi kiên ngoi-phu (yí-kîn chhêu lièn-kiet ke) thù-phién phi-ha̍p
-#Phi-ha̍p to chhut-lòi ke voi hién-sṳ sṳ̀n thù-phién,féu-chet chṳ́-nèn hién-sṳ sṳ̀n lièn-kiet 
-#Yû #Khôi-thèu ke hàng voi tông-sṳ̀n chu-kié 
-#Thai-séu siá pin-mò khî-fûn
-#Chhai liá-hàng song-mien sû-ngi̍p só-yû ke regex. Liù-hâ liá-hàng yit-yong ke vùn-sṳ</pre>',
+'external_image_whitelist' => ' #留下撈邇行一樣嘅文字<pre>
+#在下背(//中間部份)輸入正則表達式
+#邇兜將會撈外部(已超鏈接嘅)圖片配合
+#遐兜配合上嘅會顯示成圖片,否則就單淨會顯示成鏈接
+#有#開頭嘅行會當成意見
+#大小寫並無區分
+
+#在邇行上片輸入全部正則表達式。留下撈邇行一樣嘅文字</pre>',
 
 # Special:Tags
-'tag-filter' => '[[Special:Tags|Phêu-chhiâm]] ko-li-khí:',
+'tag-filter' => '[[Special:Tags|標籤]]過濾器:',
 
 # New logging system
 'revdelete-restricted' => 'yí-kîn yin-yung han-tsṳ tsṳ tshâu-tsok-yèn',
index 184048f..7a2c310 100644 (file)
@@ -819,9 +819,9 @@ $2',
 'createacct-imgcaptcha-ph' => 'יש להקליד את הטקסט המופיע למעלה',
 'createacct-submit' => 'יצירת החשבון',
 'createacct-benefit-heading' => 'את האתר {{SITENAME}} יוצרים אנשים כמוך.',
-'createacct-benefit-body1' => 'עריכות',
-'createacct-benefit-body2' => 'דפים',
-'createacct-benefit-body3' => 'תורמים לאחרונה',
+'createacct-benefit-body1' => '{{PLURAL:$1|עריכה|עריכות}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|דף|דפים}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|תורם|תורמים}} לאחרונה',
 'badretype' => 'הסיסמאות שהזנתם אינן מתאימות.',
 'userexists' => 'שם המשתמש שבחרתם כבר נמצא בשימוש.
 אנא בחרו שם אחר.',
@@ -3383,7 +3383,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'רוחב',
 'exif-imagelength' => 'גובה',
 'exif-bitspersample' => 'ביטים לרכיב',
@@ -3562,7 +3562,7 @@ $1',
 'exif-originalimageheight' => 'גובה התמונה לפני קיטוע',
 'exif-originalimagewidth' => 'רוחב התמונה לפני קיטוע',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'לא דחוס',
 'exif-compression-2' => 'קידוד הופמן מואתם חד-מימדי לאורך ריצה CCITT קבוצה 3',
 'exif-compression-3' => 'קידוד פקס CCITT קבוצה 3',
index 234e031..9aebc88 100644 (file)
@@ -2063,6 +2063,15 @@ Znajmjeńša hłowna domena je trěbna, na přikład "*.org".<br />
 'listusers-noresult' => 'Njemóžno wužiwarjow namakać. Prošu wobkedźbuj, zo so mało- abo wulkopisanje na wotprašowanje wuskutkuje.',
 'listusers-blocked' => '(blokowany)',
 
+# 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|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ć',
+'activeusers-noresult' => 'Žani wužiwarjo namakani.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'Prawa wužiwarskeje skupiny',
 'listgrouprights-summary' => 'Slěduje lisćina wužiwarskich skupinow na tutej wikiju z jich wotpowědnymi přistupnymi prawami. Tu móžeš [[{{MediaWiki:Listgrouprights-helppage}}|dalše informacije]] wo jednotliwych prawach namakać.',
@@ -3036,7 +3045,7 @@ Nasledne wotkazy na samsnej lince definuja wuwzaća, hdźež so wobraz smě naje
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Šěrokosć',
 'exif-imagelength' => 'Wysokosć',
 'exif-bitspersample' => 'Bitow na barbowu komponentu',
@@ -3214,7 +3223,7 @@ Nasledne wotkazy na samsnej lince definuja wuwzaća, hdźež so wobraz smě naje
 'exif-originalimageheight' => 'Wysokosć wobraza před přitřihowanjom',
 'exif-originalimagewidth' => 'Šěrokosć wobraza před přitřihowanjom',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Njekomprimowany',
 'exif-compression-2' => 'CCITT skupina 3 jednodimensionalne modificěrowane kodowanje Huffman běhoweje dołhosće',
 'exif-compression-3' => 'CCITT skupina 3 faksowe kodowanje',
index 89d91eb..5144d21 100644 (file)
@@ -3236,7 +3236,7 @@ míg a többi elem a táblázat összecsukása után alapértelmezett esetben re
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Szélesség',
 'exif-imagelength' => 'Magasság',
 'exif-bitspersample' => 'Bitek összetevőnként',
@@ -3414,7 +3414,7 @@ míg a többi elem a táblázat összecsukása után alapértelmezett esetben re
 'exif-originalimageheight' => 'Kép magassága a levágás előtt',
 'exif-originalimagewidth' => 'Kép szélessége a levágás előtt',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Nem tömörített',
 'exif-compression-2' => 'CCITT Group 3 1 dimenziós módosított Huffman kódolás',
 'exif-compression-3' => 'CCITT Group 3 fax kódolás',
index 72c4c1a..71982a4 100644 (file)
@@ -251,16 +251,6 @@ $messages = array(
 'nov' => 'nov',
 'dec' => 'dec',
 
-'monday-at' => 'Lunedi a $1',
-'tuesday-at' => 'Martedi a $1',
-'wednesday-at' => 'Mercuridi a $1',
-'thursday-at' => 'Jovedi a $1',
-'friday-at' => 'Venerdi a $1',
-'saturday-at' => 'Sabbato a $1',
-'sunday-at' => 'Dominica a $1',
-'today-at' => '$1',
-'yesterday-at' => 'Heri a $1',
-
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Categoria|Categorias}}',
 'category_header' => 'Articulos in le categoria "$1"',
@@ -569,10 +559,19 @@ Nota que alcun paginas pote continuar a apparer como si tu esserea ancora authen
 Non oblida personalisar tu [[Special:Preferences|preferentias in {{SITENAME}}]].',
 'yourname' => 'Nomine de usator:',
 'userlogin-yourname' => 'Nomine de usator�',
+'userlogin-yourname-ph' => 'Entra tu nomine de usator',
+'createacct-helpusername-url' => '{{ns:Project}}:Politica_de_nomines_de_usator',
+'createacct-helpusername-link' => '[[{{MediaWiki:createacct-helpusername-url}}|(adjuta me a seliger)]]',
 'yourpassword' => 'Contrasigno:',
 'userlogin-yourpassword' => 'Contrasigno',
+'userlogin-yourpassword-ph' => 'Entra tu contrasigno',
+'createacct-yourpassword-ph' => 'Entra un contrasigno',
 'yourpasswordagain' => 'Repete contrasigno:',
+'createacct-yourpasswordagain' => 'Confirma contrasigno',
+'createacct-yourpasswordagain-ph' => 'Repete le contrasigno',
 'remembermypassword' => 'Memorar mi contrasigno in iste navigator (pro un maximo de $1 {{PLURAL:$1|die|dies}})',
+'userlogin-remembermypassword' => 'Mantener mi session aperte',
+'userlogin-signwithsecure' => 'Aperir session con servitor secur',
 'securelogin-stick-https' => 'Remaner connectite via HTTPS post apertura de session',
 'yourdomainname' => 'Tu dominio:',
 'password-change-forbidden' => 'Non es possibile cambiar le contrasigno in iste wiki.',
@@ -585,12 +584,15 @@ Non oblida personalisar tu [[Special:Preferences|preferentias in {{SITENAME}}]].
 'logout' => 'Clauder session',
 'userlogout' => 'Clauder session',
 'notloggedin' => 'Tu non ha aperite un session',
+'userlogin-noaccount' => 'Non ha un conto?',
 'nologin' => "Tu non ha un conto? '''$1'''.",
 'nologinlink' => 'Crear un conto',
 'createaccount' => 'Crear conto',
 'gotaccount' => "Tu jam ha un conto? '''$1'''.",
 'gotaccountlink' => 'Aperir session',
 'userlogin-resetlink' => 'Datos de authentication oblidate?',
+'helplogin-url' => 'Help:Aperir session',
+'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Adjuta a aperir session]]',
 'createaccountmail' => 'Usar un contrasigno aleatori temporari e inviar lo al adresse de e-mail specificate hic infra',
 'createaccountreason' => 'Motivo:',
 'badretype' => 'Le duo contrasignos que tu scribeva non es identic.',
@@ -2139,6 +2141,15 @@ Isto necessita specificar al minus le dominio de nivello superior, per exemplo "
 'listusers-noresult' => 'Nulle usator trovate.',
 'listusers-blocked' => '(blocate)',
 
+# Special:ActiveUsers
+'activeusers' => 'Lista de usatores active',
+'activeusers-intro' => 'Isto es un lista de usatores que habeva alcun typo de activitate intra le ultime $1 {{PLURAL:$1|die|dies}}.',
+'activeusers-count' => '$1 {{PLURAL:$1|action|actiones}} in le ultime {{PLURAL:$3|die|$3 dies}}',
+'activeusers-from' => 'Presentar usatores a partir de:',
+'activeusers-hidebots' => 'Celar bots',
+'activeusers-hidesysops' => 'Celar administratores',
+'activeusers-noresult' => 'Nulle usator trovate.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'Derectos del gruppos de usatores',
 'listgrouprights-summary' => 'Lo sequente es un lista de gruppos de usatores definite in iste wiki, con lor derectos de accesso associate.
@@ -3133,6 +3144,19 @@ Le execution de illo pote compromitter le securitate de tu systema.",
 'ago' => '$1 retro',
 'just-now' => 'Justo nunc',
 
+# Human-readable timestamps
+'hours-ago' => '$1 {{PLURAL:$1|hora|horas}} retro',
+'minutes-ago' => '$1 {{PLURAL:$1|minuta|minutas}} retro',
+'seconds-ago' => '$1 {{PLURAL:$1|secunda|secundas}} retro',
+'monday-at' => 'Lunedi a $1',
+'tuesday-at' => 'Martedi a $1',
+'wednesday-at' => 'Mercuridi a $1',
+'thursday-at' => 'Jovedi a $1',
+'friday-at' => 'Venerdi a $1',
+'saturday-at' => 'Sabbato a $1',
+'sunday-at' => 'Dominica a $1',
+'yesterday-at' => 'Heri a $1',
+
 # Bad image list
 'bad_image_list' => 'Le formato es como seque:
 
@@ -3162,7 +3186,7 @@ Le alteres essera initialmente celate.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Latitude',
 'exif-imagelength' => 'Altitude',
 'exif-bitspersample' => 'Bits per componente',
@@ -3340,7 +3364,7 @@ Le alteres essera initialmente celate.
 'exif-originalimageheight' => 'Altitude del imagine ante taliar',
 'exif-originalimagewidth' => 'Latitude del imagine ante taliar',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Non comprimite',
 'exif-compression-2' => 'CCITT Group 3 1-Dimensional Modified Huffman run length encoding',
 'exif-compression-3' => 'CCITT Group 3 codification fax',
@@ -3759,13 +3783,6 @@ Vos deberea haber recipite [{{SERVER}}{{SCRIPTPATH}}/COPYING un exemplar del Lic
 'version-entrypoints-articlepath' => '[https://www.mediawiki.org/wiki/Manual:$wgArticlePath Cammino al articulo]',
 'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath Cammino al script]',
 
-# Special:FilePath
-'filepath' => 'Cammino del file',
-'filepath-page' => 'File:',
-'filepath-submit' => 'Va',
-'filepath-summary' => 'Iste pagina special retorna le cammino complete de un file.
-Le imagines se monstra in plen resolution, le altere typos de file se executa directemente con lor programmas associate.',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Cercar files duplicate',
 'fileduplicatesearch-summary' => "Cercar files duplicate a base de lor summas de verification ''(hash).''",
@@ -3972,8 +3989,4 @@ Si non, tu pote usar le formulario facile hic infra. Tu commento essera addite a
 # Image rotation
 'rotate-comment' => 'Imagine rotate de $1 {{PLURAL:$1|grado|grados}} in senso horologic',
 
-# Unknown messages
-'hours-ago' => '$1 {{PLURAL:$1|hora|horas}} retro',
-'minutes-ago' => '$1 {{PLURAL:$1|minuta|minutas}} retro',
-'seconds-ago' => '$1 {{PLURAL:$1|secunda|secundas}} retro',
 );
index 4c5a2c7..8257dad 100644 (file)
@@ -800,9 +800,9 @@ Perhatikan bahwa beberapa halaman mungkin masih terus menunjukkan bahwa Anda mas
 'createacct-imgcaptcha-ph' => 'Masukkan teks yang Anda lihat di atas',
 'createacct-submit' => 'Buat akun Anda',
 'createacct-benefit-heading' => '{{SITENAME}} dibuat oleh orang-orang seperti Anda.',
-'createacct-benefit-body1' => 'suntingan',
-'createacct-benefit-body2' => 'halaman',
-'createacct-benefit-body3' => 'kontributor terakhir',
+'createacct-benefit-body1' => '{{PLURAL:$1|suntingan}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|halaman}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|kontributor}} terakhir',
 'badretype' => 'Kata sandi yang Anda masukkan salah.',
 'userexists' => 'Nama pengguna yang dimasukkan telah digunakan.
 Silakan tentukan nama yang lain.',
@@ -3372,7 +3372,7 @@ Data lain akan disembunyikan secara bawaan.
 'metadata-langitem' => "'''$2:''' $1",
 'metadata-langitem-default' => '$1',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Lebar',
 'exif-imagelength' => 'Tinggi',
 'exif-bitspersample' => 'Bit per komponen',
@@ -3565,7 +3565,7 @@ $4, $5 - $6, $7
 $8',
 'exif-subjectnewscode-value' => '$2 ($1)',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Tak terkompresi',
 'exif-compression-2' => 'CCITT Group 3 1-Dimensional Modified Huffman RLE',
 'exif-compression-3' => 'CCITT Group 3 fax encoding',
index f0c1915..54c5b0b 100644 (file)
@@ -751,9 +751,9 @@ Non dimenticare di personalizzare le [[Special:Preferences|preferenze di {{SITEN
 'createacct-imgcaptcha-ph' => 'Inserisci il testo che vedi sopra',
 'createacct-submit' => 'Crea la tua utenza',
 'createacct-benefit-heading' => '{{SITENAME}} è fatta da persone come te.',
-'createacct-benefit-body1' => 'modifiche',
-'createacct-benefit-body2' => 'pagine',
-'createacct-benefit-body3' => 'contributori recenti',
+'createacct-benefit-body1' => '{{PLURAL:$1|modifica|modifiche}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|pagina|pagine}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|contributore recente|contributori recenti}}',
 'badretype' => 'Le password inserite non coincidono tra loro.',
 'userexists' => 'Il nome utente inserito è già utilizzato.
 Scegliere un nome utente diverso.',
@@ -3225,7 +3225,7 @@ I collegamenti successivi, sulla stessa riga, sono considerati come eccezioni (o
 * gpslongitude
 * gpsaltitude",
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Larghezza',
 'exif-imagelength' => 'Altezza',
 'exif-bitspersample' => 'Bit per campione',
@@ -3403,7 +3403,7 @@ I collegamenti successivi, sulla stessa riga, sono considerati come eccezioni (o
 'exif-originalimageheight' => "Altezza dell'immagine prima che fosse ritagliata",
 'exif-originalimagewidth' => "Larghezza dell'immagine prima che fosse ritagliata",
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Nessuno',
 'exif-compression-2' => 'CCITT gruppo 3 monodimensionale - codifica run length di Huffman modificata',
 'exif-compression-3' => 'Codifica fax CCITT Group 3',
index f1cb087..6a74f8a 100644 (file)
@@ -834,9 +834,9 @@ $2',
 'createacct-imgcaptcha-ph' => '上に表示されている文字列を入力',
 'createacct-submit' => 'アカウントを作成',
 'createacct-benefit-heading' => '{{SITENAME}}は、あなたのような人々が創っています。',
-'createacct-benefit-body1' => '編集',
-'createacct-benefit-body2' => 'ページ',
-'createacct-benefit-body3' => '最近の貢献者',
+'createacct-benefit-body1' => '{{PLURAL:$1|編集}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|ページ}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|最近の貢献者}}',
 'badretype' => '入力したパスワードが一致しません。',
 'userexists' => '入力された利用者名は既に使用されています。
 他の名前を選んでください。',
@@ -3523,7 +3523,7 @@ Variants for Chinese language
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => '画像の幅',
 'exif-imagelength' => '画像の高さ',
 'exif-bitspersample' => '画像のビットの深さ',
@@ -3701,7 +3701,7 @@ Variants for Chinese language
 'exif-originalimageheight' => 'トリミングされる前の画像の高さ',
 'exif-originalimagewidth' => 'トリミングされる前の画像の幅',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => '無圧縮',
 'exif-compression-2' => 'CCITT Group 3 1次元修正ハフマン連長符号化',
 'exif-compression-3' => 'CCITT Group 3 ファックス符号化',
index e279bad..d80429d 100644 (file)
@@ -1946,7 +1946,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'ಅಗಲ',
 'exif-imagelength' => 'ಎತ್ತರ',
 'exif-bitspersample' => 'ಪ್ರತಿ ಭಾಗಕ್ಕಿರುವ ಬಿಟ್‍ಗಳು',
index fd61709..b0ef3f9 100644 (file)
@@ -3426,7 +3426,7 @@ Variants for Chinese language
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => '너비',
 'exif-imagelength' => '높이',
 'exif-bitspersample' => '픽셀당 비트 수',
@@ -3604,7 +3604,7 @@ Variants for Chinese language
 'exif-originalimageheight' => '자르기 전 그림의 세로 길이',
 'exif-originalimagewidth' => '자르기 전 그림의 가로 길이',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => '압축되지 않음',
 'exif-compression-2' => 'CCITT 그룹-3 1차원 수정 허프먼 반복 길이 부호화',
 'exif-compression-3' => 'CCITT 그룹-3 팩스 인코딩',
index 0e938a6..04aea47 100644 (file)
@@ -2839,7 +2839,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Кенглик',
 'exif-imagelength' => 'Мийиклик',
 'exif-bitspersample' => 'Бояуну теренлиги',
@@ -2999,7 +2999,7 @@ $1',
 'exif-organisationinimage' => 'Суратланнган организация',
 'exif-personinimage' => 'Суратланнган адам',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Къысдырылмагъан',
 'exif-compression-3' => 'CCITT Group 3, факс кодлау',
 'exif-compression-4' => 'CCITT Group 4, факс кодлау',
index 6795366..c737ec1 100644 (file)
@@ -3374,7 +3374,7 @@ Donoh kumme, en däsellve Reih, Links op Sigge wo die Datei trotz dämm jenehm e
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Breejd',
 'exif-imagelength' => 'Läng',
 'exif-bitspersample' => 'Bits per Färvaandeil',
@@ -3553,7 +3553,7 @@ Donoh kumme, en däsellve Reih, Links op Sigge wo die Datei trotz dämm jenehm e
 'exif-originalimageheight' => 'De Hühde vum Beld, ih dat es zohjeschnedde wood, en Pixelle',
 'exif-originalimagewidth' => 'De Breede vum Beld, ih dat es zohjeschnedde wood, en Pixelle',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Oohne Kompressjuhn',
 'exif-compression-2' => 'Noh de <i lang="en">CCITT</i> ier Jrop 3 kodeet mem eindimänsjonalle aanjepaßte Verfahre noh_m <i lang="en">Huffman</i> singe „Läng vum Rötsch“',
 'exif-compression-3' => 'Noh de <i lang="en">CCITT</i> ier Jrop 3 als Fax kodeet',
index d89e23e..c7d808e 100644 (file)
@@ -537,8 +537,8 @@ Noli oblivisci [[Special:Preferences|praeferentias]] tuas apud {{grammar:accusat
 'createaccountreason' => 'Causa:',
 'createacct-reason' => 'Causa',
 'createacct-imgcaptcha-ph' => 'Textum quem supra vidis inscribe',
-'createacct-benefit-body1' => 'recensiones',
-'createacct-benefit-body2' => 'paginae',
+'createacct-benefit-body1' => '{{PLURAL:$1|recensio|recensiones}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|pagina|paginae}}',
 'badretype' => 'Tesserae quas scripsisti inter se non congruunt.',
 'userexists' => 'Nomen usoris quod selegisti iam est.
 Nomen usoris alium selige.',
@@ -2050,7 +2050,7 @@ Paginae nomen petitum "[[:$1]]" iam existit. Vin tu eam delere ut pagina illic m
 'metadata-expand' => 'Plura ostende',
 'metadata-collapse' => 'Partim celare',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Amplitudo',
 'exif-imagelength' => 'Altitudo',
 'exif-bitspersample' => 'Biti per componentem',
@@ -2123,7 +2123,7 @@ Paginae nomen petitum "[[:$1]]" iam existit. Vin tu eam delere ut pagina illic m
 'exif-gpsdatestamp' => 'Dies GPS',
 'exif-gpsdifferential' => 'Correctio differentialis GPS',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Incompressus',
 
 'exif-unknowndate' => 'Dies ignota',
index a507ab3..58580a7 100644 (file)
@@ -3143,7 +3143,7 @@ Déi aner sinn am Standard verstoppt.
 * gpslongitude
 * gpsaltitude",
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Breet',
 'exif-imagelength' => 'Längt',
 'exif-bitspersample' => 'Bite pro Faarfkomponent',
@@ -3319,7 +3319,7 @@ Déi aner sinn am Standard verstoppt.
 'exif-originalimageheight' => 'Héicht vum Bild virum Ofschneiden',
 'exif-originalimagewidth' => 'Breet vum Bild virum Ofschneiden',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Onkompriméiert',
 
 'exif-copyrighted-true' => 'Duerch Copyright geschützt',
index 50d4d30..cd9dd79 100644 (file)
@@ -2571,7 +2571,7 @@ Pārējie lauki, pēc noklusējuma, būs paslēpti.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'platums',
 'exif-imagelength' => 'augstums',
 'exif-bitspersample' => 'biti komponentē',
@@ -2702,7 +2702,7 @@ Pārējie lauki, pēc noklusējuma, būs paslēpti.
 'exif-organisationinimage' => 'Attēlotā organizācija',
 'exif-personinimage' => 'Attēlotā persona',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Nekompresēts',
 
 'exif-copyrighted-true' => 'Ar autortiesībām',
index 3db21e5..b778aaa 100644 (file)
@@ -2544,7 +2544,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => '寬',
 'exif-imagelength' => '長',
 'exif-photometricinterpretation' => '像素構成',
index 0d9d997..a0e5d7e 100644 (file)
@@ -479,14 +479,14 @@ Parhatian bahawa bara laman mungkin masih taruih manunjukkan bahawa Sanak masih
 'createacct-reason' => 'Alasan',
 'createacct-reason-ph' => 'Manga Sanak mambuek akun lain',
 'createacct-captcha' => 'Pamarisoan kaamanan',
-'createacct-captcha-help-url' => '{{ns:Project}}:Mohon buekkan akun',
-'createacct-imgcaptcha-help' => 'Indak dapek mancaliak gambar? [[{{MediaWiki:createacct-captcha-help-url}}|Mohon buekkan akun]]',
+'createacct-captcha-help-url' => '{{ns:Project}}:Pamintaan mambuek akun',
+'createacct-imgcaptcha-help' => 'Indak dapek mancaliak gambar? [[{{MediaWiki:createacct-captcha-help-url}}|Mintaklah mambuek akun]]',
 'createacct-imgcaptcha-ph' => 'Masuakan teks nan Sanak caliak di ateh',
 'createacct-submit' => 'Buek akun Sanak',
 'createacct-benefit-heading' => '{{SITENAME}} dibuek dek urang-urang saroman Sanak.',
-'createacct-benefit-body1' => 'suntiangan',
-'createacct-benefit-body2' => 'laman',
-'createacct-benefit-body3' => 'kontributor tarakhia',
+'createacct-benefit-body1' => '{{PLURAL:$1|suntiangan}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|laman}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|panyuntiang}} tarakhia',
 'badretype' => 'Kato sandi nan Sanak masuakan salah.',
 'userexists' => 'Namo pangguno nan dipiliah alah tapakai.
 Piliah namo nan lain.',
@@ -2286,7 +2286,7 @@ Nan lainnyo akan tasuruak sacaro baku.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Leba',
 'exif-imagelength' => 'Tinggi',
 'exif-bitspersample' => 'Bita per komponen',
@@ -2329,6 +2329,18 @@ Nan lainnyo akan tasuruak sacaro baku.
 'autosumm-new' => '←Mambuek laman baisi "$1"',
 
 # Watchlist editor
+'watchlistedit-normal-legend' => 'Hapuih judul dari daftar pantau',
+'watchlistedit-normal-explain' => 'Judul pado daftar pantauan Sanak ditunjuakan di bawah ko.
+Untuak mangapuih judul, agiah tando cek pado kotak di sampiangnyo, dan takan "{{int:Watchlistedit-normal-submit}}".
+Sanak dapek juo [[Special:EditWatchlist/raw|manyuntiang daftar mantahnyo]].',
+'watchlistedit-normal-submit' => 'Hapuih judul',
+'watchlistedit-normal-done' => '{{PLURAL:$1|$1 judul}} alah dihapuih dari daftar pantauan Sanak:',
+'watchlistedit-raw-title' => 'Suntiang pantauan mantah',
+'watchlistedit-raw-legend' => 'Suntiang pantauan mantah',
+'watchlistedit-raw-explain' => 'Judul pado daftar pantauan Sanak ditunjuakan di bawah ko, dan dapek disuntiang jo manambahan atau mengapuihnya dari daftar;
+ciek judul satiok barihnyo.
+Kok alah salasai, takan "{{int:Watchlistedit-raw-submit}}".
+Sanak dapek juo [[Special:EditWatchlist|manggunoan panyuntiang standarnyo]].',
 'watchlistedit-raw-titles' => 'Judul:',
 'watchlistedit-raw-submit' => 'Pabarui pantauan',
 'watchlistedit-raw-done' => 'Pantauan Sanak lah dipabarui',
@@ -2360,6 +2372,11 @@ Nan lainnyo akan tasuruak sacaro baku.
 'version-license' => 'Lisensi',
 'version-poweredby-credits' => "Wiki ko didukuang jo '''[//www.mediawiki.org/ MediaWiki]''', hak cipta © 2001-$1 $2.",
 'version-poweredby-others' => 'lainnyo',
+'version-license-info' => 'MediaWiki adolah parangkaik lunak bebas; Sanak dapek mandistribusian dan/atau mamodfikasinyo jo syaraik Lisensi Publik Umum GNU nan dikaluaan dek Free Software Foundation; versi 2 atau nan tabaru.
+
+MediaWiki didistribusian jo harapan dapek digunoan, tapi INDAK JO JAMINAN APO PUN; indak ado jaminan PADAGANGAN atau KACOCOKAN UNTUAK TUJUAN TATANTU. Caliak Lisensi Publik Umum GNU untuak informasi lebiah lanjuik.
+
+Sanak mustilah alah manarimo [{{SERVER}}{{SCRIPTPATH}}/COPYING salinan Lisensi Publik Umum GNU] basamo jo program iko; jikok indak, kiriman suraik ka Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA atau [//www.gnu.org/licenses/old-licenses/gpl-2.0.html baco sacaro online].',
 'version-software' => 'Parangkaik lunak tapasang',
 'version-software-product' => 'Produk',
 'version-software-version' => 'Versi',
@@ -2443,10 +2460,11 @@ Situs ko mangalami masalah teknis.',
 'logentry-delete-restore' => '$1 {{GENDER:$2|mangambalian}} laman $3',
 'logentry-patrol-patrol' => '$1 {{GENDER:$2|manandoi}} revisi $4 dari laman $3 tapatroli',
 'logentry-patrol-patrol-auto' => '$1 otomatih {{GENDER:$2|manandoi}} revisi $4 dari laman $3 tapatroli',
-'logentry-newusers-newusers' => 'Akun pangguno $1 lah dibuek',
-'logentry-newusers-create' => '$1 mambuek akun pangguno',
-'logentry-newusers-create2' => 'Akun pangguno $3 dibuek jo $1',
-'logentry-newusers-autocreate' => 'Akun $1 dibuek sacaro otomatis',
+'logentry-newusers-newusers' => 'Akun pangguno $1 alah {{GENDER:$2|dibuek}}',
+'logentry-newusers-create' => 'Akun pangguno $1 alah {{GENDER:$2|dibuek}}',
+'logentry-newusers-create2' => 'Akun pangguno $3 alah {{GENDER:$2|dibuek}} dek $1',
+'logentry-newusers-byemail' => 'Akun pangguno $3 alah {{GENDER:$2|dibuek}} dek $1 dan kato sandi alah dikirim jo surel',
+'logentry-newusers-autocreate' => 'Akun pangguno $1 alah {{GENDER:$2|dibuek}} sacaro otomatih',
 'logentry-rights-rights' => '$1 {{GENDER:$2|maubah}} kaanggotaan kalompok $3 dari $4 manjadi $5',
 'logentry-rights-rights-legacy' => '$1 {{GENDER:$2|maubah}} kaanggotaan kalompok $3',
 'rightsnone' => '(indak ado)',
@@ -2458,4 +2476,7 @@ Situs ko mangalami masalah teknis.',
 # Durations
 'duration-millennia' => '$1 {{PLURAL:$1|milenium}}',
 
+# Image rotation
+'rotate-comment' => 'Gambar diputa $1 {{PLURAL:$1|darajaik}} saarah jarum jam',
+
 );
index 2a6a78b..1fff00d 100644 (file)
@@ -609,7 +609,7 @@ $1',
 Видете [[Special:Version|страница за верзија]].',
 
 'ok' => 'ОК',
-'pagetitle' => '$1 - {{SITENAME}}',
+'pagetitle' => '$1  {{SITENAME}}',
 'pagetitle-view-mainpage' => '{{SITENAME}}',
 'retrievedfrom' => 'Преземено од „$1“',
 'youhavenewmessages' => 'Имате $1 ($2).',
@@ -820,9 +820,9 @@ $2',
 'createacct-imgcaptcha-ph' => 'Внесете го гореприкажаниот текст',
 'createacct-submit' => 'Направи ја',
 'createacct-benefit-heading' => '{{SITENAME}} е дело на луѓе како вас.',
-'createacct-benefit-body1' => 'уредувања',
-'createacct-benefit-body2' => 'страници',
-'createacct-benefit-body3' => 'скорешни учесници',
+'createacct-benefit-body1' => '{{PLURAL:$1|уредување|уредувања}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|страница|страници}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|скорешен учесник|скорешни учесници}}',
 'badretype' => 'Внесените лозинки не се совпаѓаат.',
 'userexists' => 'Корисничкото име што го внесовте е зафатено.
 Изберете друго име.',
@@ -840,7 +840,7 @@ $2',
 За оваа цел ќе ви требаат колачиња. Проверете дали се овозможени, превчитајте ја страницава и обидете се повторно.',
 'nocookiesforlogin' => '{{int:nocookieslogin}}',
 'noname' => 'Внесовте погрешно корисничко име.',
-'loginsuccesstitle' => 'Најавувањето е успешно',
+'loginsuccesstitle' => 'Најавата е успешна',
 'loginsuccess' => 'Сега сте најавени на {{SITENAME}} како „$1“.',
 'nosuchuser' => 'Нема корисник со името „$1“.
 Корисничките имиња разликуваат мали и големи букви.
@@ -1048,8 +1048,8 @@ $2
 'nosuchsectiontext' => 'Се обидовте да уредите заглавие кое не постои.
 Може да било преместено или избришано додека ја разгледувавте страницата.',
 'loginreqtitle' => 'Треба да се најавите',
-'loginreqlink' => 'наÑ\98ава',
-'loginreqpagetext' => 'Ð\9fоÑ\82Ñ\80ебно Ðµ Ð²Ð°Ñ\88е $1 за да ги видите останатите страници.',
+'loginreqlink' => 'наÑ\98авени',
+'loginreqpagetext' => 'ТÑ\80еба Ð´Ð° Ñ\81Ñ\82е $1 за да ги видите останатите страници.',
 'accmailtitle' => 'Лозинката е испратена.',
 'accmailtext' => "Случајно создадена лозинка за [[User talk:$1|$1]] е испратена на $2.
 
@@ -1076,7 +1076,7 @@ $2
 'userpage-userdoesnotexist-view' => 'Корисничката сметка „$1“ не е регистрирана.',
 'blocked-notice-logextract' => 'Овој корисник е моментално блокиран.
 Подолу е прикажан последниот дневнички запис:',
-'clearyourcache' => "С'''Напомена: По зачувувањето морате да го исчистите кешот на прелистувачот за да можете ги видите промените.'''
+'clearyourcache' => "'''Напомена: По зачувувањето морате да го исчистите кешот на прелистувачот за да можете ги видите промените.'''
 * '''Firefox / Safari:''' Држете ''Shift'' и стиснете на ''Reload'' или притиснете ''Ctrl-F5'' или ''Ctrl-R'' (''⌘-R'' на Mac);
 * '''Google Chrome:''' Притиснете ''Ctrl-Shift-R'' (''⌘-R'' на Mac)
 * '''Internet Explorer:''' Држете ''Ctrl'' додека притискате на ''Refresh'' или притиснете ''Ctrl-F5''.
@@ -1458,7 +1458,7 @@ $1",
 'powersearch' => 'Напредно пребарување',
 'powersearch-legend' => 'Напредно пребарување',
 'powersearch-ns' => 'Пребарај во следниве именски простори:',
-'powersearch-redir' => 'СпиÑ\81ок Ð½Ð° пренасочувања',
+'powersearch-redir' => 'Ð\94аÑ\98 Ð¸ пренасочувања',
 'powersearch-field' => 'Пребарување на',
 'powersearch-togglelabel' => 'Одбери:',
 'powersearch-toggleall' => 'Сè',
@@ -2434,7 +2434,7 @@ $1',
 'mywatchlist' => 'Набљудувања',
 'watchlistfor2' => 'За $1 $2',
 'nowatchlist' => 'Немате ништо во списокот на набљудувања.',
-'watchlistanontext' => 'Се Ð±Ð°Ñ\80а $1 за да можете да го прегледувате и уредувате списокот на набљудувања.',
+'watchlistanontext' => 'ТÑ\80еба Ð´Ð° Ñ\81Ñ\82е $1 за да можете да го прегледувате и уредувате списокот на набљудувања.',
 'watchnologin' => 'Не сте најавени',
 'watchnologintext' => 'Мора да сте [[Special:UserLogin|најавени]] за да го менувате списокот на набљудувања.',
 'addwatch' => 'Додај во списокот на набљудувања',
@@ -3464,7 +3464,7 @@ Variants for Chinese language
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Ширина',
 'exif-imagelength' => 'Висина',
 'exif-bitspersample' => 'Длабочина на бојата',
@@ -3644,7 +3644,7 @@ Variants for Chinese language
 'exif-originalimageheight' => 'Висина на сликата пред кастрењето',
 'exif-originalimagewidth' => 'Ширина на сликата пред кастрењето',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Ненабиена',
 'exif-compression-2' => 'CCITT Група 3 1 — Димензионално изменето Хафманово шифрирање по должина на низите',
 'exif-compression-3' => 'CCITT Група 3 — Факс-шифрирање',
@@ -3898,7 +3898,7 @@ Variants for Chinese language
 Вратена е следнава грешка: $1',
 'confirmemail_invalid' => 'Неточен потврден код. 
 Кодот можеби е истечен.',
-'confirmemail_needlogin' => 'Морате да $1 за да ја потврдите вашата е-поштенска адреса.',
+'confirmemail_needlogin' => 'Мора да сте $1 за да ја потврдите е-поштата.',
 'confirmemail_success' => 'Вашата е-поштенска адреса е потврдена.
 Сега можете да се [[Special:UserLogin|најавите]]. Ви посакуваме пријатни мигови на викито!',
 'confirmemail_loggedin' => 'Вашата е-поштенска адреса сега е потврдена.',
index 29ffa1b..05001aa 100644 (file)
@@ -800,9 +800,9 @@ $2',
 'createacct-imgcaptcha-ph' => 'മുകളിൽ കാണുന്ന എഴുത്ത് ഇവിടെ നൽകുക',
 'createacct-submit' => 'താങ്കളുടെ അംഗത്വം സൃഷ്ടിക്കുക',
 'createacct-benefit-heading' => 'താങ്കളെപ്പോലെയുള്ളവരാണ്  {{SITENAME}}  പടുത്തുയർത്തിയിരിക്കുന്നത്.',
-'createacct-benefit-body1' => 'തിരുത്തുകൾ',
-'createacct-benefit-body2' => 'താളുകൾ',
-'createacct-benefit-body3' => 'സമീപകാലത്ത് സംഭാവന ചെയ്തവർ',
+'createacct-benefit-body1' => '{{PLURAL:$1|തിരുത്ത്|തിരുത്തുകൾ}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|താൾ|താളുകൾ}}',
+'createacct-benefit-body3' => 'സമീപകാലത്ത് സംഭാവന {{PLURAL:$1|ചെയ്തയാൾ|ചെയ്തവർ}}',
 'badretype' => 'താങ്കൾ നൽകിയ രഹസ്യവാക്കുകൾ സമമല്ല.',
 'userexists' => 'നൽകിയ ഉപയോക്തൃനാമം മുമ്പേ നിലവിലുണ്ട്.
 ദയവായി മറ്റൊരു ഉപയോക്തൃനാമം തിരഞ്ഞെടുക്കുക.',
@@ -3304,7 +3304,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'വീതി',
 'exif-imagelength' => 'ഉയരം',
 'exif-bitspersample' => 'ഓരോ ഘടകത്തിലുമുള്ള ബിറ്റുകൾ',
@@ -3478,7 +3478,7 @@ $1',
 'exif-originalimageheight' => 'വെട്ടിയെടുക്കുന്നതിനു മുമ്പ് ചിത്രത്തിന്റെ ഉയരം',
 'exif-originalimagewidth' => 'വെട്ടിയെടുക്കുന്നതിനു മുമ്പ് ചിത്രത്തിന്റെ വീതി',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'ചുരുക്കാത്തത്',
 'exif-compression-5' => 'എൽ.സെഡ്.ഡബ്ല്യു.',
 'exif-compression-6' => 'ജെപിഇജി (പഴയത്)',
@@ -3851,7 +3851,7 @@ $5
 'watchlistedit-raw-removed' => '{{PLURAL:$1|1 താൾ|$1 താളുകൾ}} പട്ടികയിൽ നിന്നു മാറ്റിയിരിക്കുന്നു:',
 
 # Watchlist editing tools
-'watchlisttools-view' => 'ബനàµ\8dധപàµ\8dà´ªàµ\86à´\9fàµ\8dà´\9f à´®à´¾à´±àµ\8dà´±à´\99àµ\8dà´\99ൾ à´\95à´¾à´\9fàµ\8dà´\9fുക',
+'watchlisttools-view' => 'ബനàµ\8dധപàµ\8dà´ªàµ\86à´\9fàµ\8dà´\9f à´®à´¾à´±àµ\8dà´±à´\99àµ\8dà´\99ൾ à´ªàµ\8dരദർശിപàµ\8dപിà´\95àµ\8dà´\95ുക',
 'watchlisttools-edit' => 'ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടിക കാണുക, തിരുത്തുക',
 'watchlisttools-raw' => 'താങ്കൾ ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടികയുടെ മൂലരൂപം തിരുത്തുക',
 
index 432b562..b6d5e75 100644 (file)
@@ -3136,7 +3136,7 @@ Ruangan-ruangan yang lain pula akan disembunyikan pada asali.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Lebar',
 'exif-imagelength' => 'Tinggi',
 'exif-bitspersample' => 'Bit sekomponen',
@@ -3314,7 +3314,7 @@ Ruangan-ruangan yang lain pula akan disembunyikan pada asali.
 'exif-originalimageheight' => 'Ketinggian imej sebelum dipangkas',
 'exif-originalimagewidth' => 'Lebar imej sebelum dipangkas',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Tak termampat',
 'exif-compression-2' => 'Pengekodan panjang jalan Huffman Terubahsuai 1-Dimensi Kumpulan 3 CCITT',
 'exif-compression-3' => 'Pengekodan faks Kumpulan 3 CCITT',
index 40a33b5..2873829 100644 (file)
@@ -3257,7 +3257,7 @@ Andre vil skjules som standard.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Bredde',
 'exif-imagelength' => 'Høyde',
 'exif-bitspersample' => 'Bits per komponent',
@@ -3435,7 +3435,7 @@ Andre vil skjules som standard.
 'exif-originalimageheight' => 'Høyde på bildet før det ble beskåret',
 'exif-originalimagewidth' => 'Bredde på bildet før det ble beskåret',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Ukomprimert',
 'exif-compression-2' => 'CCITT Gruppe 3 1-dimensjonal modifisert Huffman-kjørelengdekoding',
 'exif-compression-3' => 'CCITT Gruppe 3 faks-koding',
index 459c73e..64658ef 100644 (file)
@@ -3176,7 +3176,7 @@ Aandere velden wörden verbörgen.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Wiedte',
 'exif-imagelength' => 'Heugte',
 'exif-bitspersample' => 'Bits per komponent',
@@ -3354,7 +3354,7 @@ Aandere velden wörden verbörgen.
 'exif-originalimageheight' => 'Heugte van de aofbeelding veur biesniejen',
 'exif-originalimagewidth' => 'Breedte van de aofbeelding veur biesniejen',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Niet ekomprimeerd',
 'exif-compression-2' => 'CCITT-groep 3 1-dimensionale an-epasten "Huffman run length"-kodering',
 'exif-compression-3' => 'CCITT-groep 3 faxcodering',
index aa33d14..068799d 100644 (file)
@@ -400,7 +400,7 @@ $messages = array(
 'tog-showhiddencats' => 'Verborgen categorieën weergeven',
 'tog-noconvertlink' => 'Paginanaamconversie uitschakelen',
 'tog-norollbackdiff' => 'Wijzigingen weglaten na terugdraaien',
-'tog-useeditwarning' => 'Waarschuw mij als ik een bewerkte pagina die nog niet is opgeslagen wil verlaten',
+'tog-useeditwarning' => 'U waarschuwen als u een bewerkte pagina die nog niet is opgeslagen wil verlaten',
 
 'underline-always' => 'Altijd',
 'underline-never' => 'Nooit',
@@ -826,9 +826,9 @@ Vergeet niet uw [[Special:Preferences|voorkeuren voor {{SITENAME}}]] aan te pass
 'createacct-imgcaptcha-ph' => 'Geef de tekst in die u hierboven ziet',
 'createacct-submit' => 'Gebruiker aanmaken',
 'createacct-benefit-heading' => '{{SITENAME}} wordt gemaakt door mensen zoals u.',
-'createacct-benefit-body1' => 'bewerkingen',
-'createacct-benefit-body2' => "pagina{{PLURAL:{{NUMBEROFARTICLES:R}}||'s}}",
-'createacct-benefit-body3' => 'bijdrager{{PLURAL:$1||s}}',
+'createacct-benefit-body1' => 'bewerking{{PLURAL:$1||en}}',
+'createacct-benefit-body2' => "pagina{{PLURAL:$1||'s}}",
+'createacct-benefit-body3' => 'recente bijdrager{{PLURAL:$1||s}}',
 'badretype' => 'De ingevoerde wachtwoorden verschillen van elkaar.',
 'userexists' => 'De gekozen gebruikersnaam is al in gebruik.
 Kies een andere naam.',
@@ -3443,7 +3443,7 @@ Andere velden worden verborgen.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Breedte',
 'exif-imagelength' => 'Hoogte',
 'exif-bitspersample' => 'Bits per component',
@@ -3621,7 +3621,7 @@ Andere velden worden verborgen.
 'exif-originalimageheight' => 'Hoogte van de afbeelding voor bijsnijden',
 'exif-originalimagewidth' => 'Breedte van de afbeelding voor bijsnijden',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Ongecomprimeerd',
 'exif-compression-2' => 'CCITT Groep 3 1-dimensionale aangepaste "Huffman run length"-codering',
 'exif-compression-3' => 'CCITT Groep 3 faxcodering',
index 1a9acd5..03c267a 100644 (file)
@@ -1329,8 +1329,8 @@ Detaljar kan ein finna i [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE
 'searcheverything-enable' => 'Søk i alle namneroma',
 'searchrelated' => 'relatert',
 'searchall' => 'alle',
-'showingresults' => "Nedanfor er opp til {{PLURAL:$1|'''eitt''' resultat|'''$1''' resultat}} som byrjar med nummer '''$2''' vist{{PLURAL:$1||e}}.",
-'showingresultsnum' => "Nedanfor er {{PLURAL:$3|'''eitt''' resultat|'''$3''' resultat}} som byrjar med nummer '''$2''' vist.",
+'showingresults' => "Nedanfor er opp til {{PLURAL:$1|'''eitt'''|'''$1'''}} resultat som byrjar med nummer '''$2''' vist{{PLURAL:$1||e}}.",
+'showingresultsnum' => "Nedanfor er {{PLURAL:$3|'''eitt'''|'''$3'''}} resultat som byrjar med nummer '''$2''' {{PLURAL:$3|vist|viste}}.",
 'showingresultsheader' => "{{PLURAL:$5|Resultat '''$1''' av '''$3'''|Resultat '''$1 - $2''' av '''$3'''}} for '''$4'''",
 'nonefound' => "'''Merk:''' Som standard blir det berre søkt i enkelte namnerom.
 For å søkja i alle, bruk prefikset ''all:'' (det inkluderer diskusjonssider, malar etc.), eller bruk det ønskte namnerommet som prefiks.",
@@ -3089,7 +3089,7 @@ Vitja [//www.mediawiki.org/wiki/Localisation MediaWiki Localisation] og [//trans
 'markedaspatrollederror' => 'Kan ikkje merke sida som patruljert',
 'markedaspatrollederrortext' => 'Du må markere ein versjon for å kunne godkjenne.',
 'markedaspatrollederror-noautopatrol' => 'Ein har ikkje høve til å merkje sine eigne endringar som godkjende.',
-'markedaspatrollednotify' => 'Denne endringa på $1 har vorte merkt som patruljert.',
+'markedaspatrollednotify' => 'Denne endringa på $1 vart merkt som patruljert.',
 'markedaspatrollederrornotify' => 'Det gjekk ikkje å merkja endringa som patruljert.',
 
 # Patrol log
@@ -3187,7 +3187,7 @@ Andre er gøymde som standard.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Breidd',
 'exif-imagelength' => 'Høgd',
 'exif-bitspersample' => 'Bitar per komponent',
@@ -3365,7 +3365,7 @@ Andre er gøymde som standard.
 'exif-originalimageheight' => 'Høgda på biletet før det vart beskåren',
 'exif-originalimagewidth' => 'Bredda på biletet før det vart beskåren',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Ukomprimert',
 'exif-compression-2' => 'CCITT Gruppe 3 1-dimensjonal modifisert Huffman-kjøyrelengdekoding',
 'exif-compression-3' => 'CCITT Gruppe 3 faks-koding',
index 0db2541..2ab0d9e 100644 (file)
@@ -229,6 +229,7 @@ $messages = array(
 'tog-diffonly' => 'Ма æвдис фарсы мидис иртасæны бынмæ',
 'tog-showhiddencats' => 'Æмбæхст категоритæ æвдис',
 'tog-norollbackdiff' => 'Рауадзын иртасæн раздæхты фæстæ',
+'tog-useeditwarning' => 'Зæгъæт-иу мын системæ, æнæ æвæрд архайдимæ ивыны фарс-иу куы æхкæнон',
 
 'underline-always' => 'Алкуыдæр',
 'underline-never' => 'Никуы',
@@ -637,13 +638,13 @@ $2',
 'gotaccount' => 'Регистрацигонд дæ? $1.',
 'gotaccountlink' => 'Бахизын',
 'userlogin-resetlink' => 'Ферох дæ сты дæ бахизæнтæ?',
-'helplogin-url' => 'Æххуыс:Бахизын',
+'helplogin-url' => 'Help:Бахизын',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Бахизынæн æххуыс]]',
 'createacct-join' => 'Дæ информаци дæлдæр бафысс.',
 'createacct-emailrequired' => 'Электрон посты адрис',
 'createacct-emailoptional' => 'Электрон посты адрис (фæндон)',
 'createacct-email-ph' => 'Бафысс дæ электрон посты адрис',
-'createaccountmail' => 'адÑ\80иÑ\81мæ Ð³Ã¦Ñ\81гæ',
+'createaccountmail' => 'РæÑ\81Ñ\82æгмæ Ð¿Ð°Ñ\80олÑ\8c Ñ\85алæй Ð¸Ñ\81Ñ\82 Ã¦Ñ\80Ñ\86æÑ\83æÑ\82 Ã¦Ð¼Ã¦ Ð±Ñ\8bндæÑ\80 Ñ\86Ñ\8b Ñ\8dлекÑ\82Ñ\80он Ð¿Ð¾Ñ\81Ñ\82 Ð¸Ñ\81, Ñ\83Ñ\8bÑ\80дæм Ã¦Ñ\80вÑ\8bÑ\81Ñ\82 Ã¦Ñ\80Ñ\86æÑ\83æÑ\82',
 'createacct-realname' => 'Æцæг ном (фæндон)',
 'createaccountreason' => 'Бындур:',
 'createacct-reason' => 'Бындур',
@@ -654,9 +655,9 @@ $2',
 'createacct-imgcaptcha-ph' => 'Уæлдæр цы текст уыныс, уый бафысс',
 'createacct-submit' => 'Сараз дæ аккаунт',
 'createacct-benefit-heading' => '{{SITENAME}} сарæзтой дæ хуызæн адæм.',
-'createacct-benefit-body1' => 'ивдтытæ',
-'createacct-benefit-body2' => 'фæрстæ',
-'createacct-benefit-body3' => 'фæстаг бавæрд',
+'createacct-benefit-body1' => '{{PLURAL:$1|ивд|ивды}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|фарс|фарсы}}',
+'createacct-benefit-body3' => 'фæстаг {{PLURAL:$1|архайæг|архайæджы}}',
 'badretype' => 'Цы паролтæ бафыстай, уыдон æмхуызæн не сты.',
 'userexists' => 'Уыцы фæсномыг нæвдæлон у.
 Дæ хорзæхæй, равзар æндæр.',
@@ -701,8 +702,8 @@ $2',
 'blocked-mailpassword' => 'Дæ IP адрис уыд хъодыгонд ивынæй æмæ цæмæй мачи разнаггад кæна, уы тыххæй дзы нæй гæнæн парол раивын дæр.',
 'eauthentsent' => 'Бæлвырдгæнæн фыстæг æрвыст æрцыд амынд e-mail адрисмæ.
 Цæмæй дæм æндæр фыстæджытæ дæр цæуой, уый тыххæй дын хъæудзæн сæххæст кæнын фыстæджы фыст амындтытæ. Уый фæстæ сбæлвыд уыдзæн аккаунт æцæгдæр дæу кæй у, уый.',
-'throttled-mailpassword' => 'Ð\9fаÑ\80олÑ\80Ñ\8bмÑ\8bÑ\81æн нырид æрвыст æрцыд фæстаг {{PLURAL:$1|сахаты|$1 сахаты}} мидæг.
-Цæмæй мачи разнагкад кæна, уый тыххæй æрмæст иу хатт ис гæнæн райсын рымысæнфыстæг {{PLURAL:$1|сахаты|$1 сахаты}} мидæг.',
+'throttled-mailpassword' => 'Ð\9dог Ð¿Ð°Ñ\80олÑ\8c Ñ\81æвæÑ\80æн Ñ\84Ñ\8bÑ\81Ñ\82æг нырид æрвыст æрцыд фæстаг {{PLURAL:$1|сахаты|$1 сахаты}} мидæг.
+Цæмæй мачи разнагкад кæна, уый тыххæй æрмæст иу хатт ис гæнæн райсын ног пароль сæвæрæн фыстæг {{PLURAL:$1|сахаты|$1 сахаты}} мидæг.',
 'mailerror' => 'Фыстæг арвитыны рæдыд: $1',
 'acct_creation_throttle_hit' => 'Ацы викимæ дæ IP адрисæй чи æрбацыдис, уыдон фæстаг боны мидæг бакодтой {{PLURAL:$1|1 аккаунт|$1 аккаунты}}. Уымæй фылдæр нæй гæнæн ахæм рæстæгмæ.
 Уый тыххæй, ацы тæккæ, ацы IP адрисæй уазджытæн сæ бон нæу бакæнын аккаунттæ.',
@@ -732,6 +733,7 @@ $2',
 # Email sending
 'php-mail-error-unknown' => 'Нæбæрæг рæдыд PHP-йы mail() функцийы.',
 'user-mail-no-addy' => 'Е-mail æрвыста æнæ e-mail адрисæй.',
+'user-mail-no-body' => 'Фæлварста афтид кæнæ æнæбары мидисимæ фыстæг арвитын.',
 
 # Change password dialog
 'resetpass' => 'Пароль фæивын',
@@ -752,6 +754,7 @@ $2',
 'resetpass-wrong-oldpass' => 'Рæстæгмæ кæнæ нырыккон пароль нæ бæззы.
 Гæнæн ис ды нырид фæивтай дæ пароль кæнæ та ног рæстæгмæ пароль æрдомдтай.',
 'resetpass-temp-password' => 'Рæстæгмæ пароль:',
+'resetpass-abort-generic' => 'Уæрæхгæнæн паролы ивд æрлæууын кодта.',
 
 # Special:PasswordReset
 'passwordreset' => 'Пароль раппарæн',
@@ -894,18 +897,59 @@ $2
 
 Ай арæх æрцæуы, исчи хафт фарсы зæронд историйы æрвитæны фæдыл куы ацæуы.
 Фылдæр гæнæн ис базонын [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} хафыны логы].',
+'userpage-userdoesnotexist' => 'Архайæджы аккаунт "$1" регистрацигонд нæу.
+Дæ хорзæхæй сбæрæг æй кæн, æцæг дæ фæнды ацы фарс саразын/фæивын.',
 'userpage-userdoesnotexist-view' => 'Архайæджы аккаунт "$1" регистрацигонд нæу.',
+'blocked-notice-logextract' => 'Ацы архайæг ацы тæккæ хъодыгонд у.
+Фæстаг хъодыйы тыххæй логы фыст æвдыст у дæлдæр:',
+'clearyourcache' => "'''Дæ зæрдыл дар:''' Бавæрыны фæстæ дын уæццæгæн хъæудзæн дæ сгарæны кæш асыгъдæг кæнын, цæмæй цы фæивтай, уый разына.
+* '''Firefox / Safari:''' Хæц ''Shift''-ыл ''Ног кæныны'' рæстæджы, кæнæ ныххæц ''Ctrl-F5'' æви ''Ctrl-R'' (''⌘-R'' Mac-ыл)
+* '''Google Chrome:''' Ныххæц ''Ctrl-Shift-R'' (''⌘-Shift-R'' Mac-ыл)
+* '''Internet Explorer:''' Хæц ''Ctrl'' ''Ног кæныны'' рæстæджы, кæнæ ныххæц ''Ctrl-F5''
+* '''Opera:''' Ам кæш асыгъдæг кæныны равзар:''Фæрæзтæ → Уагæвæрдтæ''",
+'usercssyoucanpreview' => "'''Æххуыс:''' Спайда кæн \"{{int:showpreview}}\" æгънæгæй, цæмæй дæ ног CSS афæлварай.",
+'userjsyoucanpreview' => "'''Æххуыс:''' Спайда кæн \"{{int:showpreview}}\" æгънæгæй, цæмæй дæ ног JavaScript афæлварай.",
+'usercsspreview' => "'''Дæ зæрдыл дар уый, æмæ дæ CSS ды ныртæккæ фæлваргæ кæныс.'''
+'''Нырмæ æвæрд нæу!'''",
+'userjspreview' => "'''Дæ зæрдыл дар уый, æмæ дæ JavaScript ды ныртæккæ фæлваргæ кæныс.'''
+'''Нырмæ æвæрд нæу!'''",
+'sitecsspreview' => "'''Дæ зæрдыл дар уый, æмæ ацы CSS ды ныртæккæ фæлваргæ кæныс.'''
+'''Нырмæ æвæрд нæу!'''",
+'sitejspreview' => "'''Дæ зæрдыл дар уый, æмæ ацы JavaScript ды ныртæккæ фæлваргæ кæныс.'''
+'''Нырмæ æвæрд нæу!'''",
+'userinvalidcssjstitle' => "'''Сындæг:''' \"\$1\" царм нæй.
+Хиæвæрд .css æмæ .js фæрстæ архайынц гыццыл дамгъæтимæ нæмттæй. Цæвиддон, {{ns:user}}:Foo/vector.cs, {{ns:user}}:Foo/Vector.css нæ фæлæ.",
 'updated' => '(Ноггонд)',
 'note' => "'''Фиппаинаг:'''",
 'previewnote' => "'''Зон æй, æмæ ай у æрмæстдæр разбакаст.'''
 Дæ ивдтытæ нырмæ æвæрд не рцыдысты!",
 'continue-editing' => 'Ивыны бынатмæ ацæуын',
+'previewconflict' => 'Ацы фенæн æвдисы уæлдæр текст ивæн бынаты цы текст ис, уый куыд разындзæн кæд æй бавæрай.',
+'session_fail_preview' => "'''Хатыр! Нæ бон дын не ссис дæ ивд бавæрын, сессийы рардтæ кæй фесæфтысты, уый тыххæй.'''
+Дæ хорзæхæй, ногæй бафæлвар.
+Кæд уæддæр нæ кусы, уæд бафæлвар [[Special:UserLogout|æддæмæ рахизын]] æмæ фæстæмæ бахизын.",
+'session_fail_preview_html' => "'''Хатыр! Нæ бон дын не ссис дæ ивд бавæрын, сессийы рардтæ кæй фесæфтысты, уый тыххæй.'''
+
+''{{SITENAME}}-ы хом HTML уагъд кæй у, уый тыххæй разбакаст æмбæхст у, цæмæ JavaScript атакæтæ ма уой.''
+
+'''Кæд ай дзæбæх ивд у, уæд ногæй бафæлвар.'''
+Кæд уæддæр нæ кусы, уæд бафæлвар [[Special:UserLogout|æддæмæ рахизын]] æмæ фæстæмæ бахизын.",
+'token_suffix_mismatch' => "'''Дæ ивд урæд æрцыд, уымæн æмæ дæ программæ пунктуацийы нысæнттæ раст нæ æмбары ивыны бынаты.'''
+Ивд урæд æрцыд, цæмæй фарсы текст ма фехæла.
+Ай арæх фæзыны, кæд пайда кæнынц æвзæр веб сусæг прокси сервертæй.",
+'edit_form_incomplete' => "'''Ивыны формæйæ цыдæр хæйттæ сервермæ нæ бахæццæ сты; Сбæрæг кæн дæ ивдтытæ нæ фехæлд сты, æмæ ногæй бафæлвар.'''",
 'editing' => 'Ивд цæуы $1',
 'creating' => 'Конд цæуы $1',
 'editingsection' => 'Ивд цæуы $1 (хай)',
 'editingcomment' => 'Ивд цæуы $1 (ног хай)',
 'editconflict' => 'Ивыны конфликт: $1',
+'explainconflict' => "Цалынмæ ды ацы фарс ивтай, уæдмæ йæ æндæр чидæр фæивта.
+Уæллаг текст ивыны бынаты ды уыныс фарсы текст ныр куыд у, уый хуызы.
+Дæ ивдтытæ æвдыст сты дæллаг ивыны бынаты.
+Дæуæн хъæудзæн дæ ивдтытæ уæллаг ивæн бынатмæ рахæссын.
+'''Æрмæст''' уæллаг ивæны текст æрцæудзæн æвæрд \"{{int:savearticle}}\"-ыл куы ныххæцай.",
 'yourtext' => 'Дæ текст',
+'storedversion' => 'Æвæрд фæлтæр',
 'yourdiff' => 'Хицæндзинæдтæ',
 'templatesused' => 'Ацы фарсы ис {{PLURAL:$1|хуызæг|хуызæджы}}:',
 'template-protected' => '(æхгæд)',
@@ -1089,8 +1133,8 @@ $2
 'prefs-custom-css' => 'Хиæвæрд CSS',
 'prefs-custom-js' => 'Хиæвæрд JavaScript',
 'youremail' => 'E-mail:',
-'username' => 'Фæсномыг:',
-'uid' => 'Архайæджы ID:',
+'username' => '{{GENDER:$1|Фæсномыг}}:',
+'uid' => '{{GENDER:$1|Архайæджы}} ID:',
 'yourrealname' => 'Æцæг ном:',
 'yourlanguage' => 'Æвзаг:',
 'yourvariant' => 'Мидисы æвзаджы вариант:',
@@ -1396,7 +1440,7 @@ $3',
 'emailpage' => 'Электронон фыстæг йæм барвит',
 
 # Watchlist
-'watchlist' => 'Ð\9cæ Ñ\86æÑ\81Ñ\82даÑ\80д Ñ\80æгÑ\8a',
+'watchlist' => 'ЦæÑ\81Ñ\82даÑ\80д',
 'mywatchlist' => 'Цæстдард',
 'watchlistfor2' => 'Архайæг: $1 $2',
 'nowatchlist' => 'Иу уацмæ дæр дæ цæст нæ дарыс.',
@@ -1686,7 +1730,7 @@ $3',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Уæрх',
 'exif-imagelength' => 'Бæрзæнд',
 'exif-artist' => 'Автор',
index d755b6a..324c09b 100644 (file)
@@ -2127,7 +2127,7 @@ delete|ਹਟਾਉਣ ਦਾ ਚਿੱਠਾ]] ਵੇਖੋ।',
 'metadata-help' => 'ਇਸ ਫ਼ਾਈਲ ਵਿੱਚ ਵਾਧੂ ਜਾਣਕਾਰੀਆਂ ਹਨ, ਜੋ ਸ਼ਾਇਦ ਉਸ ਕੈਮਰੇ ਜਾਂ ਸਕੈਨਰ ਦੀ ਦੇਣ ਹਨ ਜੋ ਇਸਨੂੰ ਬਣਾਉਣ ਲਈ ਵਰਤਿਆ ਗਿਆ। ਜੇ ਇਸ ਫ਼ਾਈਲ ਵਿੱਚ ਕੋਈ ਤਬਦੀਲੀ ਕੀਤੀ ਗਈ ਹੈ ਤਾਂ ਹੋ ਸਕਦਾ ਹੈ ਕੁਝ ਵੇਰਵੇ ਬਦਲੀ ਫ਼ਾਈਲ ਦਾ ਸਹੀ ਰੂਪਮਾਨ ਨਾ ਹੋਣ।',
 'metadata-fields' => 'ਇਸ ਸੁਨੇਹੇ ਵਿੱਚ ਸੂਚੀਬੱਧ ਖੇਤਰ ਚਿੱਤਰ ਪੰਨੇ ’ਚ ਸ਼ਾਮਲ ਕੀਤੇ ਜਾਣਗੇ ਜੋ ਉਦੋਂ ਦਿੱਸਦੇ ਹਨ ਜਦੋ ਮੈਟਾਡੈਟਾ ਖਾਕਾ ਬੰਦ ਹੋਵੇ। ਬਾਕੀ ਉਂਞ ਹੀ ਲੁਕੇ ਹੋਣਗੇ।',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'ਚੌੜਾਈ',
 'exif-imagelength' => 'ਉਚਾਈ',
 'exif-samplesperpixel' => 'ਭਾਗਾਂ ਦੀ ਗਿਣਤੀ',
index d1cb154..7b102a7 100644 (file)
@@ -3321,7 +3321,7 @@ Pozostałe pola zostaną domyślnie ukryte.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Szerokość',
 'exif-imagelength' => 'Wysokość',
 'exif-bitspersample' => 'Bitów na próbkę',
@@ -3501,7 +3501,7 @@ Pozostałe pola zostaną domyślnie ukryte.
 'exif-originalimageheight' => 'Wysokość obrazu zanim został przycięty',
 'exif-originalimagewidth' => 'Szerokość obrazu zanim został przycięty',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'nieskompresowany',
 'exif-compression-2' => 'CCITT Grupa 3 Jednowymiarowe zmodyfikowane kodowanie długości algorytmem Huffmana',
 'exif-compression-3' => 'CCITT Grupa 3 kodowanie faksowe',
index f117acb..0806682 100644 (file)
@@ -132,10 +132,10 @@ $messages = array(
 'may-gen' => 'maj',
 'june-gen' => 'giugn',
 'july-gen' => 'luj',
-'august-gen' => 'Aost',
-'september-gen' => 'Stèmber',
-'october-gen' => 'Otóber',
-'november-gen' => 'Novèmber',
+'august-gen' => 'ost',
+'september-gen' => 'stèmber',
+'october-gen' => 'otóber',
+'november-gen' => 'novèmber',
 'december-gen' => 'Dzèmber',
 'jan' => 'Gen',
 'feb' => 'Fër',
@@ -2041,7 +2041,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 as ten 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.",
@@ -2975,7 +2975,7 @@ J'àutri a saran stërmà coma stàndard.
 * gpslongitude
 * gpsaltitude",
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Larghëssa',
 'exif-imagelength' => 'Autëssa',
 'exif-bitspersample' => 'Bit për campion',
@@ -3153,7 +3153,7 @@ J'àutri a saran stërmà coma stàndard.
 'exif-originalimageheight' => "Autëssa dla figura prima ch'a fussa ritajà",
 'exif-originalimagewidth' => "Larghëssa dla figura prima ch'a fussa ritajà",
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Nen comprimù',
 'exif-compression-2' => "CCITT Partìa 3 longheur dla codìfica d'esecussion dla codìfica Huffman modificà ëd dimension 1",
 'exif-compression-3' => 'CCITT Partìa 3 codìfica dël fax',
index c3063b8..a8ded48 100644 (file)
@@ -2285,7 +2285,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'سوروالی',
 'exif-imagelength' => 'لوړوالی',
 'exif-datetime' => 'د دوتنې د بدلون وخت او نېټه',
index e816614..1fda78d 100644 (file)
@@ -3283,7 +3283,7 @@ Caso o ficheiro tenha sido modificado a partir do seu estado original, alguns de
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Largura',
 'exif-imagelength' => 'Altura',
 'exif-bitspersample' => 'Bits por componente',
@@ -3461,7 +3461,7 @@ Caso o ficheiro tenha sido modificado a partir do seu estado original, alguns de
 'exif-originalimageheight' => 'Altura da imagem antes de ser cortada',
 'exif-originalimagewidth' => 'Largura da imagem antes de ser cortada',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Descomprimido',
 'exif-compression-2' => 'CCITT Grupo 3 1-D Codificação Unidimensional Huffman Modificado e Run Length Encoding',
 'exif-compression-3' => 'CCITT Grupo 3 codificação de fax',
index 881df1d..3e908f7 100644 (file)
@@ -3330,7 +3330,7 @@ Por padrão, outros campos estarão ocultos.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Largura',
 'exif-imagelength' => 'Altura',
 'exif-bitspersample' => 'Bits por componente',
@@ -3508,7 +3508,7 @@ Por padrão, outros campos estarão ocultos.
 'exif-originalimageheight' => 'Altura da imagem antes de ser cortada',
 'exif-originalimagewidth' => 'Largura da imagem antes de ser cortada',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Sem compressão',
 'exif-compression-2' => 'CCITT Grupo 3 Codificação run length de Huffman modificado unidimensional',
 'exif-compression-3' => 'CCITT Grupo 3 codificação de fax',
index ba508e6..029335d 100644 (file)
@@ -7287,7 +7287,7 @@ $1 is the value of the property (in one language), $2 is the language name that
 'metadata-langitem-default' => '{{optional}}
 Similar to "metadata-langitem" but for the case where a multilingual property has a default specified that does not specify what language the default is in. $1 is the value of the property.',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Exif is a format for storing metadata in image files. See this [[w:Exchangeable_image_file_format|Wikipedia article]] and the example at the bottom of [[commons:File:Phalacrocorax-auritus-020.jpg|this page on Commons]]. The tags are explained [http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif.html briefly] and [http://www.kodak.com/global/plugins/acrobat/en/service/digCam/exifStandard2.pdf in further detail].
 {{Identical|Width}}',
 'exif-imagelength' => 'Exif is a format for storing metadata in image files. See this [[w:Exchangeable_image_file_format|Wikipedia article]] and the example at the bottom of [[commons:File:Phalacrocorax-auritus-020.jpg|this page on Commons]]. The tags are explained [http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif.html briefly] and [http://www.kodak.com/global/plugins/acrobat/en/service/digCam/exifStandard2.pdf in further detail].
@@ -7724,7 +7724,7 @@ Note, not all fields are guaranteed to be present, some may be empty strings.',
 *$1 is numeric IPTC subject news code (one of http://cv.iptc.org/newscodes/subjectcode )
 *$2 is one of 17 broad categories that the code falls into. For example any code starting with 15 has the contents of {{msg-mw|exif-iimcategory-spo}} for $2.',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => '{{Related|Exif-compression}}',
 'exif-compression-2' => '{{Related|Exif-compression}}',
 'exif-compression-3' => '{{Related|Exif-compression}}',
index ac3368a..951c13e 100644 (file)
@@ -2986,7 +2986,7 @@ Sche la datoteca è vegnida midada dal status original èn tscherts detagls even
 * gpslongitude
 * gpsaltitude",
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Ladezza',
 'exif-imagelength' => 'Autezza',
 'exif-bitspersample' => 'Bits per cumponenta da colur',
@@ -3164,7 +3164,7 @@ Sche la datoteca è vegnida midada dal status original èn tscherts detagls even
 'exif-originalimageheight' => 'Autezza avant tagliar',
 'exif-originalimagewidth' => 'Ladezza avant tagliar',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Betg cumprimà',
 'exif-compression-2' => 'GGITT gruppa 3 codaziun da lunghezza currenta Hufman modifitgada en 1 dimensiun',
 'exif-compression-3' => 'CCITT gruppa 3 codaziun da fax',
index e5a7571..b122534 100644 (file)
@@ -3304,7 +3304,7 @@ Altele vor fi ascunse implicit.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Lățime',
 'exif-imagelength' => 'Înălțime',
 'exif-bitspersample' => 'Biți pe componentă',
@@ -3482,7 +3482,7 @@ Altele vor fi ascunse implicit.
 'exif-originalimageheight' => 'Înălțimea imaginii înainte de trunchiere',
 'exif-originalimagewidth' => 'Lățimea imaginii înainte de trunchiere',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Necomprimată',
 'exif-compression-2' => 'CCITT Grupa 3 Lungimea codificării Huffman modificată de dimensiune 1',
 'exif-compression-3' => 'CCITT Grupa 3 codificare fax',
index 10c401a..9dc5b6f 100644 (file)
@@ -502,9 +502,9 @@ No te sce scurdanne de cangià le [[Special:Preferences|{{SITENAME}} preferenze
 'createacct-imgcaptcha-ph' => "Mitte 'u teste tune aqquà sus",
 'createacct-submit' => "Ccreje 'u cunde utende tune",
 'createacct-benefit-heading' => '{{SITENAME}} jè fatte da crestiane cumme a te.',
-'createacct-benefit-body1' => 'cangiaminde',
-'createacct-benefit-body2' => 'pàggene',
-'createacct-benefit-body3' => 'condrebbutore recende',
+'createacct-benefit-body1' => '{{PLURAL:$1|cangiamende|cangiaminde}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|pàgene|pàggene}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|condrebbutore}} recende',
 'badretype' => 'Le passuord ca è scritte non ge sonde uguale.',
 'userexists' => "'U nome de l'utende ca è scritte jè già ausate.
 Pe piacere scacchiane n'otre.",
@@ -3181,7 +3181,7 @@ Otre avènene scunnute pe defolt.
 'metadata-langitem' => "'''$2:''' $1",
 'metadata-langitem-default' => '$1',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Larghezze',
 'exif-imagelength' => 'Altezze',
 'exif-bitspersample' => 'Bit pe combonende',
@@ -3374,7 +3374,7 @@ $4, $5, $6 $7
 $8',
 'exif-subjectnewscode-value' => '$2 ($1)',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'No combresse',
 'exif-compression-2' => "Gruppe CCITT 3 Decodifeche de Esecuzione d'a lunghezze 1-Dimenzionale Cangiate de Huffman",
 'exif-compression-3' => "Gruppe CCITT 3 de decodifeche d'u fax",
index f4954d4..9d8e564 100644 (file)
@@ -865,9 +865,9 @@ $2',
 'createacct-captcha' => 'Проверка безопасности',
 'createacct-imgcaptcha-ph' => 'Введите текст, который вы видите выше',
 'createacct-benefit-heading' => '{{SITENAME}} сделана такими же людьми, как вы.',
-'createacct-benefit-body1' => 'правок',
-'createacct-benefit-body2' => 'страниц',
-'createacct-benefit-body3' => 'участников в последнее время',
+'createacct-benefit-body1' => '{{PLURAL:$1|правка|правки|правок}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|страница|страницы|страниц}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|участник|участников|участника}} в последнее время',
 'badretype' => 'Введённые вами пароли не совпадают.',
 'userexists' => 'Введённое имя участника уже используется.
 Пожалуйста, выберите другое имя.',
@@ -3405,7 +3405,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Ширина',
 'exif-imagelength' => 'Высота',
 'exif-bitspersample' => 'Глубина цвета',
@@ -3584,7 +3584,7 @@ $1',
 'exif-originalimageheight' => 'Высота изображения до кадрирования',
 'exif-originalimagewidth' => 'Ширина изображения до кадрирования',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Несжатый',
 'exif-compression-2' => 'CCITT Group 3, 1-мерная модификация кодирования длин серий Хаффмана',
 'exif-compression-3' => 'CCITT Group 3, факсовое кодирование',
index 9b2ed7e..f43c87c 100644 (file)
@@ -2957,7 +2957,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Кэтитэ',
 'exif-imagelength' => 'Үрдүгэ',
 'exif-bitspersample' => 'Глубина цвета',
@@ -3136,7 +3136,7 @@ $1',
 'exif-originalimageheight' => 'Ойуу быһылла илигинээҕи үрдүгэ',
 'exif-originalimagewidth' => 'Ойуу быһылла илигинээҕи кэтитэ',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Хам тутуллубатах',
 'exif-compression-2' => 'CCITT Group 3, 1-мерная модификация кодирования длин серий Хаффмана',
 'exif-compression-3' => 'CCITT Group 3, факс куодтааһына',
index 8e492f1..481caef 100644 (file)
@@ -3146,7 +3146,7 @@ Others will be hidden by default.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'පළල',
 'exif-imagelength' => 'උස',
 'exif-bitspersample' => 'එක් සංරචකයකට බිට් ගණන',
@@ -3325,7 +3325,7 @@ Others will be hidden by default.
 'exif-personinimage' => 'පුද්ගලික වචනයෙන් විස්තර කරන ලද',
 'exif-originalimageheight' => 'කප්පාදුවට පෙර රූපයෙහි උස',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'අසංක්ෂිප්ත',
 'exif-compression-3' => 'CCITT සමූහය 3 ෆැක්ස් කේතීකරණය',
 'exif-compression-4' => 'CCITT සමූහය 4 ෆැක්ස් කේතීකරණය',
index a688622..e0d35c9 100644 (file)
@@ -3255,7 +3255,7 @@ Ostatné budú predvolene skryté.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Šírka',
 'exif-imagelength' => 'Výška',
 'exif-bitspersample' => 'Bitov na zložku',
@@ -3433,7 +3433,7 @@ Ostatné budú predvolene skryté.
 'exif-originalimageheight' => 'Výška obrázka pred orezaním',
 'exif-originalimagewidth' => 'Šírka obrázka pred orezaním',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Bez kompresie',
 'exif-compression-2' => 'CCITT Group 3 1-rozmerné modifikované Huffmanovo kódovanie RLE',
 'exif-compression-3' => 'CCITT Group 3 faxové kódovanie',
index 301a75e..f4fe893 100644 (file)
@@ -647,14 +647,16 @@ Ne pozabite si prilagoditi vaših [[Special:Preferences|nastavitev {{GRAMMAR:rod
 'createacct-realname' => 'Pravo ime (izbirno)',
 'createaccountreason' => 'Razlog:',
 'createacct-reason' => 'Razlog',
+'createacct-reason-ph' => 'Zakaj ustvarjate drug račun',
 'createacct-captcha' => 'Varnostno preverjanje',
 'createacct-captcha-help-url' => '{{ns:Project}}:Prošnja za račun',
-'createacct-imgcaptcha-help' => 'Ne morete videti slike? [[{{MediaWiki:createacct-captcha-help-url}}|Zaprosite za račun]]',
+'createacct-imgcaptcha-help' => 'Ne vidite slike? [[{{MediaWiki:createacct-captcha-help-url}}|Zaprosite za račun]]',
 'createacct-imgcaptcha-ph' => 'Vnesite zgornje besedilo',
+'createacct-submit' => 'Ustvarite svoj račun',
 'createacct-benefit-heading' => '{{GRAMMAR:tožilnik|{{SITENAME}}}} ustvarjajo ljudje, kot ste vi.',
-'createacct-benefit-body1' => 'urejanj',
-'createacct-benefit-body2' => 'strani',
-'createacct-benefit-body3' => 'nedavni sodelavci',
+'createacct-benefit-body1' => '{{PLURAL:$1|urejanje|urejanji|urejanja|urejanj}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|stran|strani}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|nedavni sodelavec|nedavna sodelavca|nedavni sodelavci|nedavnih sodelavcev}}',
 'badretype' => 'Gesli, ki ste ju vnesli, se ne ujemata.',
 'userexists' => 'Uporabniško ime, ki ste ga vnesli, je že zasedeno.
 Prosimo, izberite drugo.',
@@ -1443,6 +1445,7 @@ Ko vas drugi uporabniki kontaktirajo, jim vašega e-poštnega naslova ne bomo ra
 'userrights-notallowed' => 'Vaš račun nima dovoljenja za dodajanje ali odstranjevanje uporabniških pravic.',
 'userrights-changeable-col' => 'Skupine, ki jih lahko spremenite',
 'userrights-unchangeable-col' => 'Skupine, ki jih ne morete spremeniti',
+'userrights-conflict' => 'Spor uporabniških pravic! Prosimo, da ponovno uveljavite svoje spremembe.',
 
 # Groups
 'group' => 'Skupina:',
@@ -3212,7 +3215,7 @@ Druga bodo po privzetem skrita.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Širina',
 'exif-imagelength' => 'Višina',
 'exif-bitspersample' => 'Bitov na barvni gradnik',
@@ -3390,7 +3393,7 @@ Druga bodo po privzetem skrita.
 'exif-originalimageheight' => 'Višina slike, preden je bila obrezana',
 'exif-originalimagewidth' => 'Širina slike, preden je bila obrezana',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Nestisnjeno',
 'exif-compression-2' => 'Kodiranje CCITT skupina 3 1-razsežnostna spremenjena dolžina teka Huffman',
 'exif-compression-3' => 'Kodiranje CCITT skupina 3 faks',
index 043ae87..d0ffe71 100644 (file)
@@ -1405,7 +1405,7 @@ Hadii faylka wax laga badalay sida oo markiisa hore ahaa, waxaa laga yaabaa in e
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-iimcategory' => 'Qeybta',
 
 # External editor support
index 6b6781f..b98d87e 100644 (file)
@@ -3492,7 +3492,7 @@ Variants for Chinese language
 'metadata-langitem' => "'''$2:''' $1",
 'metadata-langitem-default' => '$1',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Ширина',
 'exif-imagelength' => 'Висина',
 'exif-bitspersample' => 'Дубина боје',
@@ -3685,7 +3685,7 @@ $4, $5, $6 $7
 $8',
 'exif-subjectnewscode-value' => '$2 ($1)',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Несажето',
 'exif-compression-2' => 'CCITT Group 3 1 – Димензионално измењено Хафманово кодирање по дужини',
 'exif-compression-3' => 'CCITT Group 3 факс кодирање',
index ba8beb8..d2d5f6a 100644 (file)
@@ -3324,7 +3324,7 @@ Andra kommer att gömmas som standard
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Bredd',
 'exif-imagelength' => 'Höjd',
 'exif-bitspersample' => 'Bitar per komponent',
@@ -3502,7 +3502,7 @@ Andra kommer att gömmas som standard
 'exif-originalimageheight' => 'Bildens höjd innan den beskärdes',
 'exif-originalimagewidth' => 'Bildens bredd innan den beskärdes',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Inte komprimerad',
 'exif-compression-2' => 'CCITT Grupp 3 1-dimensionell modifierad Huffman-skurlängdskodning',
 'exif-compression-3' => 'CCITT Grupp 3 fax-kodning',
index 410d700..9b1f059 100644 (file)
@@ -2862,7 +2862,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'వెడల్పు',
 'exif-imagelength' => 'ఎత్తు',
 'exif-bitspersample' => 'ఒక్కో కాంపొనెంటుకు బిట్లు',
@@ -3028,7 +3028,7 @@ $1',
 'exif-originalimageheight' => 'కత్తిరించబడక ముందు బొమ్మ యొక్క ఎత్తు',
 'exif-originalimagewidth' => 'కత్తిరించబడక ముందు బొమ్మ యొక్క వెడల్పు',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'కుదించని',
 
 'exif-copyrighted-true' => 'నకలుహక్కులుకలది',
index 5181192..36ee291 100644 (file)
@@ -3056,7 +3056,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'ความกว้าง',
 'exif-imagelength' => 'ความสูง',
 'exif-bitspersample' => 'บิต ต่อคอมโพเนนต์',
@@ -3180,7 +3180,7 @@ $1',
 'exif-label' => 'ป้ายฉลาก',
 'exif-usageterms' => 'ข้อตกลงในการใช้งาน',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'ไม่ได้บีบอัด',
 
 'exif-unknowndate' => 'ไม่ทราบวัน',
index cb22aef..1a54b25 100644 (file)
@@ -557,7 +557,7 @@ $messages = array(
 'unprotectthispage' => 'Зміна захисту цієї сторінки',
 'newpage' => 'Нова сторінка',
 'talkpage' => 'Обговорити цю сторінку',
-'talkpagelinktext' => 'Ð\9eбговорення',
+'talkpagelinktext' => 'обговорення',
 'specialpage' => 'Спеціальна сторінка',
 'personaltools' => 'Особисті інструменти',
 'postcomment' => 'Новий розділ',
@@ -3454,7 +3454,7 @@ Variants for Chinese language
 'metadata-langitem' => "'''$2:''' $1",
 'metadata-langitem-default' => '$1',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Ширина',
 'exif-imagelength' => 'Висота',
 'exif-bitspersample' => 'Глибина кольору',
@@ -3647,7 +3647,7 @@ $4, $5, $6 $7
 $8',
 'exif-subjectnewscode-value' => '$2 ($1)',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Нестиснутий',
 'exif-compression-2' => 'CCITT Group 3, 1-мірна модифікація кодування довжин серій Хаффмана',
 'exif-compression-3' => 'CCITT Group 3, факсове кодування',
@@ -4288,7 +4288,7 @@ MediaWiki поширюється в надії, що вона буде кори
 'logentry-newusers-newusers' => 'Обліковий запис $1 був {{GENDER:$2|створений}}',
 'logentry-newusers-create' => 'Обліковий запис для $1 було створено',
 'logentry-newusers-create2' => '$1 {{GENDER:$2|створив|створила}} обліковий запис {{GENDER:$4|користувача|користувачки}} $3',
-'logentry-newusers-byemail' => 'Обліковий запис {{GENDER:$2|користувача|користувачки}} створений {{GENDER:$4|користувачем|користувачкою}} $1 і пароль було надіслано електронною поштою',
+'logentry-newusers-byemail' => 'Обліковий запис $3 {{GENDER:$2|користувача|користувачки}} створений {{GENDER:$4|користувачем|користувачкою}} $1 і пароль було надіслано електронною поштою',
 'logentry-newusers-autocreate' => 'Обліковий запис $1 було {{GENDER:$2|створено}} автоматично',
 'logentry-rights-rights' => '$1 {{GENDER:$1|змінив|змінила}} членство в групах для $3 із $4 на $5',
 'logentry-rights-rights-legacy' => '$1 {{GENDER:$1|змінив|змінила}} членство в групах для $3',
index c1a5a78..d3780f3 100644 (file)
@@ -1600,7 +1600,7 @@ Umumiy omborda [[:$1]] mavjud. Faylning bu nomga qayta nomlanishi faylning umumi
 'metadata-expand' => 'Batafsil axborotni koʻrsatish',
 'metadata-collapse' => 'Batafsil axborotni yashirish',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Eni',
 'exif-imagelength' => 'Boʻyi',
 'exif-artist' => 'Muallif',
index 7eb26fd..400f7bb 100644 (file)
@@ -3070,7 +3070,7 @@ I colegamenti dopo, su la stessa riga, i xe considerai come ecession (cioè, pag
 * gpslongitude
 * gpsaltitude",
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Largheza',
 'exif-imagelength' => 'Alteza',
 'exif-bitspersample' => 'Bit par campione',
@@ -3248,7 +3248,7 @@ I colegamenti dopo, su la stessa riga, i xe considerai come ecession (cioè, pag
 'exif-originalimageheight' => "Altesa de l'imaxene prima che ła fuse tajà",
 'exif-originalimagewidth' => "Larghesa de l'imaxene prima che ła fuse tajà",
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'No conpresso',
 'exif-compression-2' => 'CCITT grupo 3 monodimensionałe - codifega run length de Huffman modifegà',
 'exif-compression-3' => 'Codifega fax CCITT Group 3',
index a415fed..58017c0 100644 (file)
@@ -762,9 +762,9 @@ Hãy nhớ thay đổi [[Special:Preferences|tùy chọn cá nhân {{SITENAME}}]
 'createacct-imgcaptcha-ph' => 'Nhập dòng chữ bạn thấy bên dưới',
 'createacct-submit' => 'Tạo tài khoản',
 'createacct-benefit-heading' => '{{SITENAME}} được xây dựng bởi những người như bạn.',
-'createacct-benefit-body1' => 'lần sửa đổi',
-'createacct-benefit-body2' => 'trang nội dung',
-'createacct-benefit-body3' => 'người đóng góp gần đây',
+'createacct-benefit-body1' => '{{PLURAL:$1}}lần sửa đổi',
+'createacct-benefit-body2' => '{{PLURAL:$1}}trang nội dung',
+'createacct-benefit-body3' => '{{PLURAL:$1}}người đóng góp gần đây',
 'badretype' => 'Hai mật khẩu không khớp.',
 'userexists' => 'Tên người dùng được nhập đã có người lấy.
 Hãy chọn một tên khác.',
@@ -3334,7 +3334,7 @@ Những thông tin khác mặc định sẽ được ẩn đi.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Chiều ngang',
 'exif-imagelength' => 'Chiều cao',
 'exif-bitspersample' => 'Bit trên mẫu',
@@ -3514,7 +3514,7 @@ Những thông tin khác mặc định sẽ được ẩn đi.
 'exif-originalimageheight' => 'Chiều cao của hình trước khi được cắt',
 'exif-originalimagewidth' => 'Chiều rộng của hình trước khi được cắt',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Không nén',
 'exif-compression-2' => 'CCITT Nhóm 3: mã hóa thời gian chạy Huffman sửa một chiều',
 'exif-compression-3' => 'CCITT Nhóm 3: mã hóa fax',
index 6b460c0..aaf82d8 100644 (file)
@@ -2370,7 +2370,7 @@ Nünabinets votik poklänedons.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Vidot',
 'exif-imagelength' => 'Geilot',
 'exif-bitspersample' => 'Jölätabinets a köl',
@@ -2482,7 +2482,7 @@ Nünabinets votik poklänedons.
 'exif-languagecode' => 'Pük',
 'exif-iimcategory' => 'Klad',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'No pekobopedöl',
 
 'exif-unknowndate' => 'Dät nesevädik',
index 744bf3d..8005ca0 100644 (file)
@@ -1882,7 +1882,7 @@ Kokkovõttõria pääle või kirotaq tagasivõtmisõ põhjusõ.',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Lakjus',
 'exif-imagelength' => 'Korgus',
 'exif-bitspersample' => 'Bitti osa kotsilõ',
@@ -1996,7 +1996,7 @@ Kokkovõttõria pääle või kirotaq tagasivõtmisõ põhjusõ.',
 'exif-gpsdatestamp' => 'GPS-kuupäiv',
 'exif-gpsdifferential' => 'GPS-differentsiaalparandus',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Kokkopakmalda',
 
 'exif-unknowndate' => 'Tundmalda kuupäiv',
index 54ab3d0..1d3281f 100644 (file)
@@ -3108,7 +3108,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'ברייט',
 'exif-imagelength' => 'הייך',
 'exif-bitspersample' => 'ביטס פער באשטאנדטייל',
@@ -3260,7 +3260,7 @@ $1',
 'exif-intellectualgenre' => 'ארט  איינהייט',
 'exif-subjectnewscode' => 'טעמע קאד',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'אומ-צאמגעקוועטשט',
 
 'exif-copyrighted-true' => 'געשיצט מיט קאפירעכט',
index a2481cc..0eae29a 100644 (file)
@@ -3031,7 +3031,7 @@ Tóbájẹ́pé fáìlì ọ̀hún ti jẹ́ títúnṣe sí bóṣewà ní bẹ
 * gpslongitude
 * gpsaltitude",
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Fífẹ̀sí',
 'exif-imagelength' => 'Gígasí',
 'exif-bitspersample' => 'Bit fún àkóónú kọ̀ọ̀kan',
@@ -3152,7 +3152,7 @@ Tóbájẹ́pé fáìlì ọ̀hún ti jẹ́ títúnṣe sí bóṣewà ní bẹ
 'exif-organisationinimage' => 'Àgbájọ tó ṣe',
 'exif-personinimage' => 'Ẹni àfihàn',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Àìtẹ̀pọ̀',
 
 'exif-copyrighted-true' => 'Ó ní ẹ̀tọ́-àwòkọ',
index c96b9cd..5022fac 100644 (file)
@@ -2794,7 +2794,7 @@ Variants for Chinese language
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => '闊',
 'exif-imagelength' => '高',
 'exif-bitspersample' => '每部位位元數',
@@ -2910,7 +2910,7 @@ Variants for Chinese language
 'exif-gpsdifferential' => 'GPS 差動修正',
 'exif-objectname' => '短標題',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => '未壓過',
 
 'exif-unknowndate' => '未知日期',
index c1f0035..94ebb88 100644 (file)
@@ -62,6 +62,7 @@
  * @author Wrightbus
  * @author Xiaomingyan
  * @author Yfdyh000
+ * @author 乌拉跨氪
  * @author 燃玉
  * @author 阿pp
  */
@@ -806,21 +807,21 @@ $2',
 'createacct-reason-ph' => '为什么您要创建另一个帐户',
 'createacct-captcha' => '安全检查',
 'createacct-captcha-help-url' => '{{ns:Project}}:账号请求',
-'createacct-imgcaptcha-help' => '无法看到图像吗?[[{{MediaWiki:createacct-captcha-help-url}}|请求一个账户]]',
+'createacct-imgcaptcha-help' => '无法看到图像吗?[[{{MediaWiki:createacct-captcha-help-url}}|去请求一个帐户]]',
 'createacct-imgcaptcha-ph' => '输入您在上面看到的文本',
 'createacct-submit' => '创建您的账户',
 'createacct-benefit-heading' => '{{SITENAME}} 是由像你这样的人建立的。',
 'createacct-benefit-body1' => '编辑数',
 'createacct-benefit-body2' => '条目数',
-'createacct-benefit-body3' => '位最近贡献者',
+'createacct-benefit-body3' => '最近贡献者数',
 'badretype' => '您所输入的密码并不相同。',
 'userexists' => '用户名已存在。请使用其他名称。',
 'loginerror' => '登录错误',
 'createacct-error' => '帐户创建错误',
 'createaccounterror' => '无法建立账户:$1',
-'nocookiesnew' => '本用户账户已被创建,但登录失败。{{SITENAME}}使用cookie登录。你已停用cookie。请启用cookie,然后使用你的新用户名和密码登录。',
-'nocookieslogin' => '{{SITENAME}}使用cookieç\99»å½\95ã\80\82ä½ å·²å\81\9cç\94¨cookieã\80\82请å\90¯ç\94¨cookieå\90\8eé\87\8dè¯\95ã\80\82',
-'nocookiesfornew' => 'æ\9c¬ç\94¨æ\88·è´¦æ\88·æ\9cªè¢«å\88\9b建ï¼\8cæ\88\91们ä¸\8dè\83½ç¡®è®¤å®\83ç\9a\84æ\9d¥æº\90ã\80\82请确ä¿\9dä½ å·²å\90¯ç\94¨cookieï¼\8cå\88·æ\96°æ\9c¬é¡µå\90\8eé\87\8dè¯\95ã\80\82',
+'nocookiesnew' => '该用户帐户已被创建,但登录失败。{{SITENAME}}使用Cookie实现用户登录。您已禁用Cookie,请启用Cookie,然后使用你的新用户名与密码登录。',
+'nocookieslogin' => '{{SITENAME}}使用Cookieå®\9eç\8e°ç\94¨æ\88·ç\99»å½\95ã\80\82æ\82¨å·²å\81\9cç\94¨Cookieã\80\82请å\90¯ç\94¨Cookieå\90\8eå\86\8dè¯\95ã\80\82',
+'nocookiesfornew' => '该ç\94¨æ\88·è´¦æ\88·æ\9cªè¢«å\88\9b建ï¼\8cæ\88\91们ä¸\8dè\83½ç¡®è®¤å®\83ç\9a\84æ\9d¥æº\90ã\80\82请确ä¿\9dä½ å·²å\90¯ç\94¨Cookieï¼\8cå\88·æ\96°æ\9c¬é¡µå\90\8eå\86\8dè¯\95ã\80\82',
 'noname' => '你没有指定有效的用户名。',
 'loginsuccesstitle' => '登录成功',
 'loginsuccess' => "'''“$1”,欢迎登录{{SITENAME}}。'''",
@@ -3246,7 +3247,7 @@ Variants for Chinese language
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => '宽度',
 'exif-imagelength' => '高度',
 'exif-bitspersample' => '每像素字节数',
@@ -3424,7 +3425,7 @@ Variants for Chinese language
 'exif-originalimageheight' => '裁剪前的图像高度',
 'exif-originalimagewidth' => '裁剪前的图像宽度',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => '未压缩',
 'exif-compression-2' => 'CCITT第3组一维修改霍夫曼游程编码',
 'exif-compression-3' => 'CCITT第3组传真编码',
index d654694..70e6a47 100644 (file)
@@ -3222,7 +3222,7 @@ Variants for Chinese language
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => '寬度',
 'exif-imagelength' => '高度',
 'exif-bitspersample' => '每象素比特數',
@@ -3400,7 +3400,7 @@ Variants for Chinese language
 'exif-originalimageheight' => '被裁剪前高度',
 'exif-originalimagewidth' => '被裁剪前寬度',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => '未壓縮',
 'exif-compression-2' => 'CCITT第3組一維修改霍夫曼遊程編碼',
 'exif-compression-3' => 'CCITT第3組傳真編碼',
index 2162869..94f9402 100644 (file)
@@ -327,7 +327,7 @@ abstract class Maintenance {
                }
                if ( $channel === null ) {
                        $this->cleanupChanneled();
-                       print( $out );
+                       print $out;
                } else {
                        $out = preg_replace( '/\n\z/', '', $out );
                        $this->outputChanneled( $out, $channel );
index 6ffd72b..6846edf 100644 (file)
@@ -118,7 +118,7 @@ class CopyFileBackend extends Maintenance {
                                $this->statCache = array(); // clear
                                foreach ( $dstPathsRel as $dstPathRel ) {
                                        $path = $dst->getRootStoragePath() . "/$backendRel/$dstPathRel";
-                                       $this->statCache[sha1($path)] = $dst->getFileStat( array( 'src' => $path ) );
+                                       $this->statCache[sha1( $path )] = $dst->getFileStat( array( 'src' => $path ) );
                                }
                                $this->output( "done [" . count( $this->statCache ) . " file(s)]\n" );
                        }
index 8576b8a..f471d50 100644 (file)
@@ -123,6 +123,6 @@ try {
        $factory->commitMasterChanges();
        $factory->shutdown();
 } catch ( MWException $mwe ) {
-       echo( $mwe->getText() );
+       echo $mwe->getText();
        exit( 1 );
 }
index bd7e464..9254adc 100644 (file)
@@ -44,7 +44,7 @@ if ( isset( $options['pagelist'] ) ) {
        $pages = file( $options['pagelist'] );
        chdir( $olddir );
        if ( $pages === false ) {
-               echo( "Unable to open file {$options['pagelist']}\n" );
+               echo "Unable to open file {$options['pagelist']}\n";
                die( 1 );
        }
        $pages = array_map( 'trim', $pages );
index 7b340cc..2b5d690 100644 (file)
@@ -39,7 +39,7 @@ require_once( __DIR__ . '/commandLine.inc' );
 require_once( __DIR__ . '/importImages.inc' );
 $processed = $added = $ignored = $skipped = $overwritten = $failed = 0;
 
-echo( "Import Images\n\n" );
+echo "Import Images\n\n";
 
 # Need a path
 if ( count( $args ) == 0 ) {
@@ -132,7 +132,7 @@ if ( $count > 0 ) {
                # Validate a title
                $title = Title::makeTitleSafe( NS_FILE, $base );
                if ( !is_object( $title ) ) {
-                       echo( "{$base} could not be imported; a valid title cannot be produced\n" );
+                       echo "{$base} could not be imported; a valid title cannot be produced\n";
                        continue;
                }
 
@@ -148,7 +148,7 @@ if ( $count > 0 ) {
                if ( $checkUserBlock && ( ( $processed % $checkUserBlock ) == 0 ) ) {
                        $user->clearInstanceCache( 'name' ); // reload from DB!
                        if ( $user->isBlocked() ) {
-                               echo( $user->getName() . " was blocked! Aborting.\n" );
+                               echo $user->getName() . " was blocked! Aborting.\n";
                                break;
                        }
                }
@@ -157,10 +157,10 @@ if ( $count > 0 ) {
                $image = wfLocalFile( $title );
                if ( $image->exists() ) {
                        if ( isset( $options['overwrite'] ) ) {
-                               echo( "{$base} exists, overwriting..." );
+                               echo "{$base} exists, overwriting...";
                                $svar = 'overwritten';
                        } else {
-                               echo( "{$base} exists, skipping\n" );
+                               echo "{$base} exists, skipping\n";
                                $skipped++;
                                continue;
                        }
@@ -172,13 +172,13 @@ if ( $count > 0 ) {
                                $dupes = $repo->findBySha1( $sha1 );
 
                                if ( $dupes ) {
-                                       echo( "{$base} already exists as " . $dupes[0]->getName() . ", skipping\n" );
+                                       echo "{$base} already exists as " . $dupes[0]->getName() . ", skipping\n";
                                        $skipped++;
                                        continue;
                                }
                        }
 
-                       echo( "Importing {$base}..." );
+                       echo "Importing {$base}...";
                        $svar = 'added';
                }
 
@@ -199,7 +199,7 @@ if ( $count > 0 ) {
                                $wgUser = User::newFromName( $real_user );
                                if ( $wgUser === false ) {
                                        # user does not exist in target wiki
-                                       echo ( "failed: user '$real_user' does not exist in target wiki." );
+                                       echo "failed: user '$real_user' does not exist in target wiki.";
                                        continue;
                                }
                        }
@@ -210,11 +210,11 @@ if ( $count > 0 ) {
                        if ( $commentExt ) {
                                $f = findAuxFile( $file, $commentExt );
                                if ( !$f ) {
-                                       echo( " No comment file with extension {$commentExt} found for {$file}, using default comment. " );
+                                       echo " No comment file with extension {$commentExt} found for {$file}, using default comment. ";
                                } else {
                                        $commentText = file_get_contents( $f );
                                        if ( !$commentText ) {
-                                               echo( " Failed to load comment file {$f}, using default comment. " );
+                                               echo " Failed to load comment file {$f}, using default comment. ";
                                        }
                                }
                        }
@@ -226,7 +226,7 @@ if ( $count > 0 ) {
 
                # Import the file
                if ( isset( $options['dry'] ) ) {
-                       echo( " publishing {$file} by '" . $wgUser->getName() . "', comment '$commentText'... " );
+                       echo " publishing {$file} by '" . $wgUser->getName() . "', comment '$commentText'... ";
                } else {
                        $props = FSFile::getPropsFromPath( $file );
                        $flags = 0;
@@ -239,9 +239,9 @@ if ( $count > 0 ) {
                        }
                        $archive = $image->publish( $file, $flags, $options );
                        if ( !$archive->isGood() ) {
-                               echo( "failed. (" .
+                               echo "failed. (" .
                                        $archive->getWikiText() .
-                                       ")\n" );
+                                       ")\n";
                                $failed++;
                                continue;
                        }
@@ -253,10 +253,10 @@ if ( $count > 0 ) {
                }
 
                if ( isset( $options['dry'] ) ) {
-                       echo( "done.\n" );
+                       echo "done.\n";
                } elseif ( $image->recordUpload2( $archive->value, $summary, $commentText, $props, $timestamp ) ) {
                        # We're done!
-                       echo( "done.\n" );
+                       echo "done.\n";
 
                        $doProtect = false;
 
@@ -279,7 +279,7 @@ if ( $count > 0 ) {
                                        sleep( 2.0 ); # Why this sleep?
                                        wfWaitForSlaves();
 
-                                       echo( "\nSetting image restrictions ... " );
+                                       echo "\nSetting image restrictions ... ";
 
                                        $cascade = false;
                                        $restrictions = array();
@@ -289,11 +289,11 @@ if ( $count > 0 ) {
 
                                        $page = WikiPage::factory( $title );
                                        $status = $page->doUpdateRestrictions( $restrictions, array(), $cascade, '', $user );
-                                       echo( ( $status->isOK() ? 'done' : 'failed' ) . "\n" );
+                                       echo ( $status->isOK() ? 'done' : 'failed' ) . "\n";
                        }
 
                } else {
-                       echo( "failed. (at recordUpload stage)\n" );
+                       echo "failed. (at recordUpload stage)\n";
                        $svar = 'failed';
                }
 
@@ -310,24 +310,24 @@ if ( $count > 0 ) {
        }
 
        # Print out some statistics
-       echo( "\n" );
+       echo "\n";
        foreach ( array( 'count' => 'Found', 'limit' => 'Limit', 'ignored' => 'Ignored',
                'added' => 'Added', 'skipped' => 'Skipped', 'overwritten' => 'Overwritten',
                'failed' => 'Failed' ) as $var => $desc ) {
                if ( $$var > 0 ) {
-                       echo( "{$desc}: {$$var}\n" );
+                       echo "{$desc}: {$$var}\n";
                }
        }
 
 } else {
-       echo( "No suitable files could be found for import.\n" );
+       echo "No suitable files could be found for import.\n";
 }
 
 exit( 0 );
 
 function showUsage( $reason = false ) {
        if ( $reason ) {
-               echo( $reason . "\n" );
+               echo $reason . "\n";
        }
 
        echo <<<TEXT
index c04989c..0c4f98c 100644 (file)
 $options = array( 'help', 'nooverwrite', 'norc' );
 $optionsWithArgs = array( 'title', 'user', 'comment' );
 require_once( __DIR__ . '/commandLine.inc' );
-echo( "Import Text File\n\n" );
+echo "Import Text File\n\n";
 
 if ( count( $args ) < 1 || isset( $options['help'] ) ) {
        showHelp();
 } else {
 
        $filename = $args[0];
-       echo( "Using {$filename}..." );
+       echo "Using {$filename}...";
        if ( is_file( $filename ) ) {
 
                $title = isset( $options['title'] ) ? $options['title'] : titleFromFilename( $filename );
@@ -40,7 +40,7 @@ if ( count( $args ) < 1 || isset( $options['help'] ) ) {
 
                if ( is_object( $title ) ) {
 
-                       echo( "\nUsing title '" . $title->getPrefixedText() . "'..." );
+                       echo "\nUsing title '" . $title->getPrefixedText() . "'...";
                        if ( !$title->exists() || !isset( $options['nooverwrite'] ) ) {
 
                                $text = file_get_contents( $filename );
@@ -49,31 +49,31 @@ if ( count( $args ) < 1 || isset( $options['help'] ) ) {
 
                                if ( is_object( $user ) ) {
 
-                                       echo( "\nUsing username '" . $user->getName() . "'..." );
+                                       echo "\nUsing username '" . $user->getName() . "'...";
                                        $wgUser =& $user;
                                        $comment = isset( $options['comment'] ) ? $options['comment'] : 'Importing text file';
                                        $flags = 0 | ( isset( $options['norc'] ) ? EDIT_SUPPRESS_RC : 0 );
 
-                                       echo( "\nPerforming edit..." );
+                                       echo "\nPerforming edit...";
                                        $page = WikiPage::factory( $title );
                                        $content = ContentHandler::makeContent( $text, $title );
                                        $page->doEditContent( $content, $comment, $flags, false, $user );
-                                       echo( "done.\n" );
+                                       echo "done.\n";
 
                                } else {
-                                       echo( "invalid username.\n" );
+                                       echo "invalid username.\n";
                                }
 
                        } else {
-                               echo( "page exists.\n" );
+                               echo "page exists.\n";
                        }
 
                } else {
-                       echo( "invalid title.\n" );
+                       echo "invalid title.\n";
                }
 
        } else {
-               echo( "does not exist.\n" );
+               echo "does not exist.\n";
        }
 
 }
index 55e34be..190b237 100644 (file)
@@ -95,22 +95,22 @@ if ( $run ) {
        if ( ( $messageExist ) && ( $messageCExist ) ) {
 
                if ( !strcmp( $runMode, 'php' ) ) {
-                       print( "<?php\n" );
-                       print( '$dupeMessages = array(' . "\n" );
+                       print "<?php\n";
+                       print '$dupeMessages = array(' . "\n";
                }
                foreach ( $wgMessages[$langCodeC] as $key => $value ) {
                        foreach ( $wgMessages[$langCode] as $ckey => $cvalue ) {
                                if ( !strcmp( $key, $ckey ) ) {
                                        if ( ( !strcmp( $key, $ckey ) ) && ( !strcmp( $value, $cvalue ) ) ) {
                                                if ( !strcmp( $runMode, 'raw' ) ) {
-                                                       print( "$key\n" );
+                                                       print "$key\n";
                                                } elseif ( !strcmp( $runMode, 'php' ) ) {
-                                                       print( "'$key' => '',\n" );
+                                                       print "'$key' => '',\n";
                                                } elseif ( !strcmp( $runMode, 'wiki' ) ) {
                                                        $uKey = ucfirst( $key );
-                                                       print( "* MediaWiki:$uKey/$langCode\n" );
+                                                       print "* MediaWiki:$uKey/$langCode\n";
                                                } else {
-                                                       print( "* $key\n" );
+                                                       print "* $key\n";
                                                }
                                                $count++;
                                        }
@@ -118,7 +118,7 @@ if ( $run ) {
                        }
                }
                if ( !strcmp( $runMode, 'php' ) ) {
-                       print( ");\n" );
+                       print ");\n";
                }
                if ( !strcmp( $runMode, 'text' ) ) {
                        if ( $count == 1 ) {
index 9e583e7..59b6fcd 100644 (file)
@@ -222,7 +222,7 @@ Parameters:
        --links: Link the message values (default off).
        --prefix: prefix to add to links.
        --wikilang: For the links, what is the content language of the wiki to display the output in (default en).
-       --noexif: Do not check for EXIF messages (a bit hard and boring to translate), if you know
+       --noexif: Do not check for Exif messages (a bit hard and boring to translate), if you know
                that they are currently not translated and want to focus on other problems (default off).
        --whitelist: Do only the following checks (form: code,code).
        --blacklist: Do not do the following checks (form: code,code).
index 9fbc0bc..31bfcb9 100644 (file)
@@ -43,7 +43,7 @@ class languages {
         * Load the list of languages: all the Messages*.php
         * files in the languages directory.
         *
-        * @param $exif bool Treat the EXIF messages?
+        * @param $exif bool Treat the Exif messages?
         */
        function __construct( $exif = true ) {
                require( __DIR__ . '/messageTypes.inc' );
index 9e629b4..b997fe0 100644 (file)
@@ -480,7 +480,7 @@ $wgOptionalMessages = array(
        'changed', // @deprecated. Remove in MediaWiki 1.23.
 );
 
-/** EXIF messages, which may be set as optional in several checks, but are generally mandatory */
+/** Exif messages, which may be set as optional in several checks, but are generally mandatory */
 $wgEXIFMessages = array(
        'exif-imagewidth',
        'exif-imagelength',
index a8b682b..7b4e1d9 100644 (file)
@@ -4051,9 +4051,9 @@ Variants for Chinese language",
        'variantname-shi'     => 'Variants for Tachelhit language',
        'media-info'          => 'Media information',
        'metadata'            => 'Metadata',
-       'exif'                           => 'EXIF tags',
+       'exif'                           => 'Exif tags',
        'exif-values'                    => 'Make & model, can be wikified in order to link to the camera and model name',
-       'exif-compression'               => 'EXIF attributes',
+       'exif-compression'               => 'Exif attributes',
        'exif-copyrighted'               => '',
        'exif-unknowndate'               => '',
        'exif-photometricinterpretation' => '',
index e3fd01a..02c41d2 100644 (file)
@@ -58,11 +58,11 @@ function removeDupes( $oldMsgArray, $dupeMsgSource ) {
        if ( file_exists( $dupeMsgSource ) ) {
                include( $dupeMsgSource );
                if ( !isset( $dupeMessages ) ) {
-                       echo( "There are no duplicated messages in the source file provided." );
+                       echo "There are no duplicated messages in the source file provided.";
                        exit( 1 );
                }
        } else {
-               echo ( "The specified file $dupeMsgSource cannot be found." );
+               echo "The specified file $dupeMsgSource cannot be found.";
                exit( 1 );
        }
        $newMsgArray = $oldMsgArray;
index 111c786..db961d8 100644 (file)
@@ -34,42 +34,42 @@ function PurgeRedundantText( $delete = false ) {
        $tbl_txt = $dbw->tableName( 'text' );
 
        # Get "active" text records from the revisions table
-       echo( "Searching for active text records in revisions table..." );
+       echo "Searching for active text records in revisions table...";
        $res = $dbw->query( "SELECT DISTINCT rev_text_id FROM $tbl_rev" );
        foreach ( $res as $row ) {
                $cur[] = $row->rev_text_id;
        }
-       echo( "done.\n" );
+       echo "done.\n";
 
        # Get "active" text records from the archive table
-       echo( "Searching for active text records in archive table..." );
+       echo "Searching for active text records in archive table...";
        $res = $dbw->query( "SELECT DISTINCT ar_text_id FROM $tbl_arc" );
        $cur = array();
        foreach ( $res as $row ) {
                $cur[] = $row->ar_text_id;
        }
-       echo( "done.\n" );
+       echo "done.\n";
 
        # Get the IDs of all text records not in these sets
-       echo( "Searching for inactive text records..." );
+       echo "Searching for inactive text records...";
        $set = implode( ', ', $cur );
        $res = $dbw->query( "SELECT old_id FROM $tbl_txt WHERE old_id NOT IN ( $set )" );
        $old = array();
        foreach ( $res as $row ) {
                $old[] = $row->old_id;
        }
-       echo( "done.\n" );
+       echo "done.\n";
 
        # Inform the user of what we're going to do
        $count = count( $old );
-       echo( "$count inactive items found.\n" );
+       echo "$count inactive items found.\n";
 
        # Delete as appropriate
        if ( $delete && $count ) {
-               echo( "Deleting..." );
+               echo "Deleting...";
                $set = implode( ', ', $old );
                $dbw->query( "DELETE FROM $tbl_txt WHERE old_id IN ( $set )" );
-               echo( "done.\n" );
+               echo "done.\n";
        }
 
        # Done
index d3114c1..8053250 100644 (file)
@@ -93,12 +93,12 @@ class RebuildLocalisationCache extends Maintenance {
                $lc = new LocalisationCache_BulkLoad( $conf );
 
                $allCodes = array_keys( Language::fetchLanguageNames( null, 'mwfile' ) );
-               if( $this->hasOption( 'lang' ) ) {
+               if ( $this->hasOption( 'lang' ) ) {
                        # Validate requested languages
                        $codes = array_intersect( $allCodes,
                                explode( ',', $this->getOption( 'lang' ) ) );
                        # Bailed out if nothing is left
-                       if( count( $codes ) == 0 ) {
+                       if ( count( $codes ) == 0 ) {
                                $this->error( 'None of the languages specified exists.', 1 );
                        }
                } else {
index 19c740b..07972aa 100644 (file)
@@ -807,7 +807,7 @@ CREATE TABLE /*_*/image (
   img_width int NOT NULL default 0,
   img_height int NOT NULL default 0,
 
-  -- Extracted EXIF metadata stored as a serialized PHP array.
+  -- Extracted Exif metadata stored as a serialized PHP array.
   img_metadata mediumblob NOT NULL,
 
   -- For images, bits per pixel if known.
index 489ff78..f18dfbf 100644 (file)
@@ -386,8 +386,9 @@ if ( isset( $_REQUEST['filter'] ) ) {
        }
 
        $s = new profile_point( 'SQL Queries', 0, $sqltotal, 0, 0 );
-       foreach ( $queries as $q )
+       foreach ( $queries as $q ) {
                $s->add_child( $q );
+       }
        $points[] = $s;
 
        usort( $points, 'compare_point' );
index af49889..2242924 100644 (file)
        this.JpegMeta.JpegFile.prototype._JFIF_IDENT = "JFIF\x00";
        this.JpegMeta.JpegFile.prototype._JFXX_IDENT = "JFXX\x00";
        
-       /* EXIF idents */
+       /* Exif idents */
        this.JpegMeta.JpegFile.prototype._EXIF_IDENT = "Exif\x00";
        
        /* TIFF types */
index 833ece2..fa86aee 100644 (file)
@@ -281,7 +281,7 @@ li span.deleted {
        font-style: italic;
 }
 
-/* Classes for EXIF data display */
+/* Classes for Exif data display */
 table.mw_metadata {
        margin-left: 0.5em;
 }
index 26a7781..8b8706b 100644 (file)
@@ -684,7 +684,7 @@ ul#filetoc {
        padding-right: 2em;
 }
 
-/* Classes for EXIF data display */
+/* Classes for Exif data display */
 table.mw_metadata {
        font-size: 0.8em;
        margin-left: 0.5em;
index dc4267f..eb4a4dd 100644 (file)
@@ -75,8 +75,8 @@ div.emptyPortlet {
        position: absolute;
        top: 0.33em;
        right: 0.75em;
-       /* Display on top of page tabs - bug 37158 */
-       z-index: 1;
+       /* Display on top of page tabs - bugs 37158, 48078 */
+       z-index: 100;
 }
 #p-personal h3,
 #p-personal h5 {
index 8896a90..0136a2a 100644 (file)
@@ -99,8 +99,8 @@ class SeleniumTester extends Maintenance {
                                die( "Unable to start the Selenium Server - " .
                                        "terminating RunSeleniumTests\n" );
                        case 'running':
-                               echo "Warning: The Selenium Server is " .
-                                       "already running\n" );
+                               echo "Warning: The Selenium Server is " .
+                                       "already running\n";
                                break;
                }
 
@@ -109,16 +109,16 @@ class SeleniumTester extends Maintenance {
 
        protected function stopServer() {
                if ( !isset( $this->serverManager ) ) {
-                       echo "Warning: Request to stop Selenium Server, but it was " .
+                       echo "Warning: Request to stop Selenium Server, but it was " .
                                "not stared by RunSeleniumTests\n" .
                                "RunSeleniumTests cannot stop a Selenium Server it " .
-                               "did not start\n" );
+                               "did not start\n";
                } else {
                        switch ( $this->serverManager->stop() ) {
                                case 'stopped':
                                        break;
                                case 'failed':
-                                       echo ( "unable to stop the Selenium Server\n" );
+                                       echo "unable to stop the Selenium Server\n";
                        }
                }
                return;
index ca92fe3..4a6e3fb 100644 (file)
@@ -79,6 +79,11 @@ $wgAutoloadClasses += array(
        'SiteTest' => "$testDir/phpunit/includes/site/SiteTest.php",
        'TestSites' => "$testDir/phpunit/includes/site/TestSites.php",
 
+       # tests/phpunit/mocks
+       'MockFSFile' => "$testDir/phpunit/mocks/filebackend/MockFSFile.php",
+       'MockFileBackend' => "$testDir/phpunit/mocks/filebackend/MockFileBackend.php",
+       'MockBitmapHandler' => "$testDir/phpunit/mocks/media/MockBitmapHandler.php",
+
        # tests/phpunit/languages
        'LanguageClassesTestCase' => "$testDir/phpunit/languages/LanguageClassesTestCase.php",
 
index 71b9e6b..24dbc97 100644 (file)
@@ -2376,8 +2376,25 @@ parsoid
 *#*#;*;;foo :bar
 *#*#;boo :baz
 !! result
-<ul><li><ol><li><ul><li><ol><li><dl><dt><ul><li><dl><dt><dl><dt>foo&nbsp;</dt><dd>bar
-</dd></dl></dt></dl></li></ul></dt><dt>boo&nbsp;</dt><dd>baz</dd></dl></li></ol></li></ul></li></ol></li></ul>
+<ul>
+<li>
+<ol>
+<li>
+<ul>
+<li>
+<ol>
+<li>
+<dl>
+<dt>
+<ul>
+<li>
+<dl>
+<dt>
+<dl>
+<dt>foo<span typeof="mw:Placeholder" data-parsoid='{"src":" "}'>&nbsp;</span></dt>
+<dd data-parsoid='{"stx":"row"}'>bar</dd></dl></dt></dl></li></ul></dt>
+<dt>boo<span typeof="mw:Placeholder" data-parsoid='{"src":" "}'>&nbsp;</span></dt>
+<dd data-parsoid='{"stx":"row"}'>baz</dd></dl></li></ol></li></ul></li></ol></li></ul>
 !! end
 
 
@@ -2406,7 +2423,23 @@ parsoid
 !! input
 *#;*::;; foo : bar (who uses this?)
 !! result
-<ul><li><ol><li><dl><dt><ul><li><dl><dd><dl><dd><dl><dt><dl><dt> foo&nbsp;</dt><dd> bar (who uses this?)</dd></dl></dt></dl></dd></dl></dd></dl></li></ul></dt></dl></li></ol></li></ul>
+<ul>
+<li>
+<ol>
+<li>
+<dl>
+<dt>
+<ul>
+<li>
+<dl>
+<dd>
+<dl>
+<dd>
+<dl>
+<dt>
+<dl>
+<dt> foo<span typeof="mw:Placeholder" data-parsoid='{"src":" "}'>&nbsp;</span></dt>
+<dd data-parsoid='{"stx":"row"}'> bar (who uses this?)</dd></dl></dt></dl></dd></dl></dd></dl></li></ul></dt></dl></li></ol></li></ul>
 !! end
 
 ###
@@ -6177,13 +6210,13 @@ bar <div>baz</div>
 !!test
 Templates: P-wrapping: 1d. Template preceded by comment-only line
 !!options
-parsoid
+parsoid=wt2html,wt2wt
 !!input
 <!-- foo -->
 {{echo|Bar}}
 !!result
 <!-- foo -->
-<p>Bar
+<p typeof="mw:Object/Template">Bar
 </p>
 !!end
 
@@ -6571,24 +6604,24 @@ Templates: Ugly nesting: 1. Quotes opened/closed across templates (echo)
 Templates: Ugly nesting: 2. Quotes opened/closed across templates (echo_with_span)
 (PHP parser generates misnested html)
 !! options
-parsoid
+parsoid=wt2html,wt2wt
 !!input
 {{echo_with_span|''a}}{{echo_with_span|b''c''d}}{{echo_with_span|''e}}
 !!result
-<p><span><i>a</i></span><i><span>b</span></i><span>c</span><i>d</i><span>e</span></p>
+<p><span typeof="mw:Object/Template"><i>a</i></span><i typeof="mw:Object/Template"><span>b</span></i><span>c</span><i>d</i><span>e</span></p>
 !!end
 
 !!test
 Templates: Ugly nesting: 3. Quotes opened/closed across templates (echo_with_div)
 (PHP parser generates misnested html)
 !! options
-parsoid
+parsoid=wt2html,wt2wt
 !!input
 {{echo_with_div|''a}}{{echo_with_div|b''c''d}}{{echo_with_div|''e}}
 !!result
-<div><i>a</i></div>
-<div><i>b</i>c<i>d</i></div>
-<div>e</div>
+<div typeof="mw:Object/Template"><i>a</i></div>
+<div typeof="mw:Object/Template"><i>b</i>c<i>d</i></div>
+<div typeof="mw:Object/Template">e</div>
 !!end
 
 !!test
@@ -6611,10 +6644,10 @@ parsoid
 |bar
 |}
 !!result
-<table  about="#mwt1" typeof="mw:Object/Template ">
-<tbody><tr><td>foo</td></tr></tbody></table><span about="#mwt1">
-bar</span><span about="#mwt1">
-</span>
+<table typeof="mw:Object/Template">
+<tbody>
+<tr>
+<td>foo</td></tr></tbody></table><span>bar</span>
 !!end
 
 !!test
@@ -6822,10 +6855,13 @@ wiki<nowiki>nowiki<!--nowiki</nowiki>wiki
 wiki<nowiki>nowiki<!--nowiki</nowiki>wiki
 !!end
 
+# Leading @ in this template definition works around a limitation
+# in parsoid's parserTests which otherwise strips the <span> from the
+# result (confusing it for a template wrapper)
 !! article
 Template:dangerous
 !!text
-<span onmouseover="alert('crap')">Oh no</span>
+@<span onmouseover="alert('crap')">Oh no</span>
 !!endarticle
 
 !!test
@@ -6833,7 +6869,7 @@ Template:dangerous
 !! input
 {{Template:dangerous}}
 !! result
-<p><span>Oh no</span>
+<p>@<span>Oh no</span>
 </p>
 !! end
 
@@ -13636,16 +13672,18 @@ HttP://MediaWiki.Org/
 !!test
 1. SOL-sensitive wikitext tokens as template-args
 !!options
-parsoid
+parsoid=wt2html,wt2wt
 !!input
 {{echo|*a}}
 {{echo|#a}}
 {{echo|:a}}
 !!result
-<p>*a
-#a
-:a
-</p>
+<span about="#mwt1" typeof="mw:Object/Template">
+</span><ul about="#mwt1"><li>a</li></ul>
+<span about="#mwt2" typeof="mw:Object/Template">
+</span><ol about="#mwt2"><li>a</li></ol>
+<span about="#mwt3" typeof="mw:Object/Template">
+</span><dl about="#mwt3"><dd>a</dd></dl>
 !!end
 
 #### The following section of tests are primarily to test
@@ -13681,11 +13719,13 @@ parsoid
 
 =foo''a''<nowiki>=</nowiki>
 !! result
-<p>=foo=
-</p><p> =foo= 
-</p><p><!--cmt-->=foo=
-</p><p>=foo<i>a</i>=
-</p>
+<p><span typeof="mw:Nowiki">=foo=</span></p>
+
+<p><span typeof="mw:Nowiki"> =foo= </span>
+<!--cmt-->
+<span typeof="mw:Nowiki">=foo=</span></p>
+
+<p>=foo<i>a</i><span typeof="mw:Nowiki">=</span></p>
 !!end
 
 !! test
@@ -13700,12 +13740,12 @@ parsoid
 =====<nowiki>=foo=</nowiki>=====
 ======<nowiki>=foo=</nowiki>======
 !! result
-<h1>=foo=</h1>
-<h2>=foo=</h2>
-<h3>=foo=</h3>
-<h4>=foo=</h4>
-<h5>=foo=</h5>
-<h6>=foo=</h6>
+<h1><span typeof="mw:Nowiki">=foo=</span></h1>
+<h2><span typeof="mw:Nowiki">=foo=</span></h2>
+<h3><span typeof="mw:Nowiki">=foo=</span></h3>
+<h4><span typeof="mw:Nowiki">=foo=</span></h4>
+<h5><span typeof="mw:Nowiki">=foo=</span></h5>
+<h6><span typeof="mw:Nowiki">=foo=</span></h6>
 !!end
 
 !! test
@@ -13732,7 +13772,7 @@ parsoid
 !! input
 =='''bold'''<nowiki>foo=</nowiki>=
 !! result
-<h1>=<b>bold</b>foo=</h1>
+<h1>=<b>bold</b><span typeof="mw:Nowiki">foo=</span></h1>
 !!end
 
 !! test
@@ -13756,8 +13796,7 @@ parsoid
 <h2>=foo</h2>
 <h2>foo=</h2>
 <h1><i>=</i>foo=</h1>
-<h1>=</h1>
-
+<h1><span typeof="mw:Nowiki">=</span></h1>
 !!end
 
 !! test
@@ -13803,9 +13842,8 @@ parsoid
 <!--cmt--><nowiki>=h1=</nowiki>
 <!--cmt--><nowiki> =h1= </nowiki>
 !! result
-<p><!--cmt-->=h1=
-<!--cmt--> =h1= 
-</p>
+<p><!--cmt--><span typeof="mw:Nowiki">=h1=</span>
+<!--cmt--><span typeof="mw:Nowiki"> =h1= </span></p>
 !!end
 
 #### --------------- Lists ---------------
@@ -13922,7 +13960,7 @@ parsoid
 </li></ul>
 <ul><li><i>foo</i>*bar
 </li></ul>
-<ul><li><a href="Foo" rel="mw:WikiLink">Foo</a>: bar
+<ul><li><a rel="mw:WikiLink" href="Foo">Foo</a>: bar
 </li></ul>
 !!end
 
@@ -13963,8 +14001,7 @@ parsoid
 !! input
 <!--cmt--><nowiki>*foo</nowiki>
 !! result
-<p><!--cmt-->*foo
-</p>
+<p><!--cmt--><span typeof="mw:Nowiki">*foo</span></p>
 !!end
 
 !! test
@@ -13991,7 +14028,7 @@ parsoid
 ----=foo=
 ----*foo
 !! result
-<hr>----
+<hr><span typeof="mw:Nowiki">----</span>
 <hr>=foo=
 <hr>*foo
 !! end
@@ -14062,10 +14099,8 @@ parsoid
 |<nowiki>foo|bar</nowiki>
 |}
 !! result
-<table><tbody>
-<tr><td>foo|bar
-</td></tr></tbody></table>
-
+<table><tbody><tr>
+<td><span typeof="mw:Nowiki">foo|bar</span></td></tr></tbody></table>
 !! end
 
 !! test
@@ -14078,11 +14113,9 @@ parsoid
 |''it''<nowiki>foo||bar</nowiki>
 |}
 !! result
-<table><tbody>
-<tr><td>foo||bar
-</td><td><i>it</i>foo||bar
-</td></tr></tbody></table>
-
+<table><tbody><tr>
+<td><span typeof="mw:Nowiki">foo||bar</span></td>
+<td><i>it</i><span typeof="mw:Nowiki">foo||bar</span></td></tr></tbody></table>
 !! end
 
 !! test
@@ -14094,8 +14127,7 @@ parsoid
 |foo!!bar
 |}
 !! result
-<table><tbody>
-<tr><td>foo!!bar
+<table><tbody><tr><td>foo!!bar
 </td></tr></tbody></table>
 
 !! end
@@ -14109,8 +14141,7 @@ parsoid
 !foo!bar
 |}
 !! result
-<table><tbody>
-<tr><th>foo!bar
+<table><tbody><tr><th>foo!bar
 </th></tr></tbody></table>
 
 !! end
@@ -14124,10 +14155,9 @@ parsoid
 !<nowiki>foo!!bar</nowiki>
 |}
 !! result
-<table><tbody>
-<tr><th>foo!!bar
-</th></tr></tbody></table>
-
+<table>
+<tbody><tr><th><span typeof="mw:Nowiki">foo!!bar</span></th></tr>
+</tbody></table>
 !! end
 
 !! test
@@ -14139,10 +14169,8 @@ parsoid
 !<nowiki>foo||bar</nowiki>
 |}
 !! result
-<table><tbody>
-<tr><th>foo||bar
-</th></tr></tbody></table>
-
+<table><tbody><tr>
+<th><span typeof="mw:Nowiki">foo||bar</span></th></tr></tbody></table>
 !! end
 
 !! test
@@ -14159,8 +14187,8 @@ parsoid
 !! result
 <table><tbody>
 <tr><th>-bar</th></tr>
-<tr><td>-bar</td></tr>
-</tbody></table>
+<tr>
+<td><span typeof="mw:Nowiki">-bar</span></td></tr></tbody></table>
 !! end
 
 !! test
@@ -14177,8 +14205,8 @@ parsoid
 !! result
 <table><tbody>
 <tr><th>+bar</th></tr>
-<tr><td>+bar</td></tr>
-</tbody></table>
+<tr>
+<td><span typeof="mw:Nowiki">+bar</span></td></tr></tbody></table>
 !! end
 
 !! test
@@ -14739,7 +14767,7 @@ Indented table with an empty td
 Empty TR followed by a template-generated TR
 (Parsoid-specific since PHP parser doesn't handle this mixed tbl-wikitext)
 !!options
-parsoid
+parsoid=wt2html,wt2wt
 !!input
 {|
 |-
@@ -14748,9 +14776,8 @@ parsoid
 !!result
 <table>
 <tbody>
-<tr>
-</tr>
-<tr>
+<tr></tr>
+<tr typeof="mw:Object/Template">
 <td>foo</td></tr></tbody></table>
 !!end
 
index 2e5cd53..c04c159 100644 (file)
@@ -84,7 +84,7 @@ if ( isset( $options['file'] ) ) {
 
 # Print out software version to assist with locating regressions
 $version = SpecialVersion::getVersion();
-echo( "This is MediaWiki version {$version}.\n\n" );
+echo "This is MediaWiki version {$version}.\n\n";
 
 if ( isset( $options['fuzz'] ) ) {
        $tester->fuzzTest( $files );
index 1b815ac..59756b2 100644 (file)
@@ -34,7 +34,7 @@ class RandomImageGenerator {
        private $shapesToDraw = 5;
 
        /**
-        * Orientations: 0th row, 0th column, EXIF orientation code, rotation 2x2 matrix that is opposite of orientation
+        * Orientations: 0th row, 0th column, Exif orientation code, rotation 2x2 matrix that is opposite of orientation
         * n.b. we do not handle the 'flipped' orientations, which is why there is no entry for 2, 4, 5, or 7. Those
         * seem to be rare in real images anyway
         * (we also would need a non-symmetric shape for the images to test those, like a letter F)
@@ -304,7 +304,7 @@ class RandomImageGenerator {
 
        /**
         * Given an image specification, produce rotated version
-        * This is used when simulating a rotated image capture with EXIF orientation
+        * This is used when simulating a rotated image capture with Exif orientation
         * @param $spec Object returned by getImageSpec
         * @param $matrix 2x2 transformation matrix
         * @return transformed Spec
index 0acbe9f..fbb1e64 100644 (file)
@@ -75,7 +75,7 @@ abstract class ApiQueryContinueTestBase extends ApiQueryTestBase {
                        //$reqStr = str_replace( '&', ' & ', $reqStr );
                        $this->assertLessThan( $expectedCount, $count, "$id more data: $reqStr" );
                        if ( $this->mVerbose ) {
-                               print ( "$id (#$count): $reqStr\n" );
+                               print "$id (#$count): $reqStr\n";
                        }
                        try {
                                $data = $this->doApiRequest( $request );
@@ -145,7 +145,7 @@ abstract class ApiQueryContinueTestBase extends ApiQueryTestBase {
                self::GetItems( $q, 'allpages', 'Pages', $print );
                self::GetItems( $q, 'alllinks', 'Links', $print );
                self::GetItems( $q, 'alltransclusions', 'Trnscl', $print );
-               print( ' ' . implode( '  ', $print ) . "\n" );
+               print ' ' . implode( '  ', $print ) . "\n";
        }
 
        private static function GetItems( $q, $moduleName, $name, &$print ) {
index d712bc0..8ee8ea9 100644 (file)
@@ -109,10 +109,10 @@ STR;
                        if ( is_array( $message ) ) {
                                $message = http_build_query( $message );
                        }
-                       print( "\nRequest: $message\n" );
-                       print( "\nExpected:\n" );
+                       print "\nRequest: $message\n";
+                       print "\nExpected:\n";
                        print_r( $exp );
-                       print( "\nResult:\n" );
+                       print "\nResult:\n";
                        print_r( $result );
                        throw $e; // rethrow it
                }
index 4a1b7ea..f65642b 100644 (file)
@@ -113,7 +113,7 @@ class TestORMRowTest extends ORMRowTest {
                        array(
                                array(
                                        'name' => 'Foobar',
-                                       'time' => $dbw->timestamp('20120101020202'),
+                                       'time' => $dbw->timestamp( '20120101020202' ),
                                        'age' => 42,
                                        'height' => 9000.1,
                                        'awesome' => true,
index d66fac7..f41c71c 100644 (file)
@@ -110,6 +110,14 @@ class NewParserTest extends MediaWikiTestCase {
                        $tmpGlobals['wgStyleDirectory'] = "$IP/skins";
                }
 
+               # Replace all media handlers with a mock. We do not need to generate
+               # actual thumbnails to do parser testing, we only care about receiving
+               # a ThumbnailImage properly initialized.
+               global $wgMediaHandlers;
+               foreach( $wgMediaHandlers as $type => $handler ) {
+                       $tmpGlobals['wgMediaHandlers'][$type] = 'MockBitmapHandler';
+               }
+
                $tmpHooks = $wgHooks;
                $tmpHooks['ParserTestParser'][] = 'ParserTestParserHook::setup';
                $tmpHooks['ParserGetVariableValueTs'][] = 'ParserTest::getFakeTimestamp';
@@ -301,7 +309,10 @@ class NewParserTest extends MediaWikiTestCase {
                                $backend = self::$backendToUse;
                        }
                } else {
-                       $backend = new FSFileBackend( array(
+                       # Replace with a mock. We do not care about generating real
+                       # files on the filesystem, just need to expose the file
+                       # informations.
+                       $backend = new MockFileBackend( array(
                                'name' => 'local-backend',
                                'lockManager' => 'nullLockManager',
                                'containerPaths' => array(
@@ -456,6 +467,12 @@ class NewParserTest extends MediaWikiTestCase {
                        return;
                }
 
+               $backend = RepoGroup::singleton()->getLocalRepo()->getBackend();
+               if( $backend instanceof MockFileBackend ) {
+                       # In memory backend, so dont bother cleaning them up.
+                       return;
+               }
+
                $base = $this->getBaseDir();
                // delete the files first, then the dirs.
                self::deleteFiles(
diff --git a/tests/phpunit/mocks/filebackend/MockFSFile.php b/tests/phpunit/mocks/filebackend/MockFSFile.php
new file mode 100644 (file)
index 0000000..31deaf7
--- /dev/null
@@ -0,0 +1,69 @@
+<?php
+/**
+ * Mock of a filesystem file.
+ *
+ * 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 FileBackend
+ */
+
+/**
+ * Class representing an in memory fake file.
+ * This is intended for unit testing / developement when you do not want
+ * to hit the filesystem.
+ *
+ * It reimplements abstract methods with some hardcoded values. Might
+ * not be suitable for all tests but is good enough for the parser tests.
+ *
+ * @ingroup FileBackend
+ */
+class MockFSFile extends FSFile {
+       private $sha1Base36 = null; // File Sha1Base36
+
+       public function exists() {
+               return true;
+       }
+
+       /**
+        * August 22 – The theft of the Mona Lisa is discovered in the Louvre."
+        * @bug 20281
+        */
+       public function getSize() {
+               return 1911;
+       }
+
+       public function getTimestamp() {
+               return wfTimestamp( TS_MW );
+       }
+
+       public function getMimeType() {
+               return 'text/mock';
+       }
+
+       public function getProps( $ext = true ) {
+               return array(
+                       'fileExists' => $this->exists(),
+                       'size' => $this->getSize(),
+                       'file-mime' => $this->getMimeType(),
+                       'sha1' => $this->getSha1Base36(),
+               );
+       }
+
+       public function getSha1Base36( $recache = false ) {
+               return '1234567890123456789012345678901';
+       }
+}
diff --git a/tests/phpunit/mocks/filebackend/MockFileBackend.php b/tests/phpunit/mocks/filebackend/MockFileBackend.php
new file mode 100644 (file)
index 0000000..c681989
--- /dev/null
@@ -0,0 +1,122 @@
+<?php
+/**
+ * Simulation (mock) of a backend storage.
+ *
+ * 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 FileBackend
+ * @author Antoine Musso <hashar@free.fr>
+ */
+
+/**
+ * Class simulating a backend store.
+ *
+ * @ingroup FileBackend
+ * @since 1.22
+ */
+class MockFileBackend extends FileBackendStore {
+
+       protected $mocked = array();
+
+       /** Poor man debugging */
+       protected function debug( $msg = '' ) {
+               wfDebug( wfGetCaller() . "$msg\n" );
+       }
+
+       public function isPathUsableInternal( $storagePath ) {
+               return true;
+       }
+
+       protected function doCreateInternal( array $params ) {
+               if( isset( $params['content'] ) ) {
+                       $content = $params['content'];
+               } else {
+                       $content = 'Default mocked file content';
+               }
+               $this->debug(serialize($params));
+               $dst = $params['dst'];
+               $this->mocked[$dst] = $content;
+               return Status::newGood();
+       }
+
+       protected function doStoreInternal( array $params ) {
+               $this->debug(serialize($params));
+               return $this->doCreateInternal( $params );
+       }
+
+       protected function doCopyInternal( array $params ) {
+               $this->debug(serialize($params));
+               $src = $params['src'];
+               $dst = $params['dst'];
+               $this->mocked[$dst] = $this->mocked[$src];
+               return Status::newGood();
+       }
+
+       protected function doDeleteInternal( array $params ) {
+               $this->debug(serialize($params));
+               $src = $params['src'];
+               unset( $this->mocked[$src] );
+               return Status::newGood();
+       }
+
+       protected function doGetFileStat( array $params ) {
+               $src = $params['src'];
+               if( array_key_exists( $src, $this->mocked ) ) {
+                       $this->debug( "('$src') found" );
+                       return array(
+                               'mtime' => wfTimestamp( TS_MW ),
+                               'size' => strlen( $this->mocked[$src] ),
+                               # No sha1, stat does not need it.
+                       );
+               } else {
+                       $this->debug( "('$src') not found" );
+                       return false;
+               }
+       }
+
+       protected function doGetLocalCopyMulti( array $params ) {
+               $tmpFiles = array(); // (path => MockFSFile)
+
+               $this->debug( '(' . serialize($params) . ')' );
+               foreach( $params['srcs'] as $src ) {
+                       $tmpFiles[$src] = new MockFSFile(
+                               wfTempDir() . '/' . wfRandomString(32)
+                       );
+               }
+               return $tmpFiles;
+       }
+
+       protected function doDirectoryExists( $container, $dir, array $params ) {
+               $this->debug();
+               return true;
+       }
+
+       public function getDirectoryListInternal( $container, $dir, array $params ) {
+               $this->debug();
+               return array();
+       }
+
+       public function getFileListInternal( $container, $dir, array $params ) {
+               $this->debug();
+               return array();
+       }
+
+       protected function directoriesAreVirtual() {
+               $this->debug();
+               return true;
+       }
+}
diff --git a/tests/phpunit/mocks/media/MockBitmapHandler.php b/tests/phpunit/mocks/media/MockBitmapHandler.php
new file mode 100644 (file)
index 0000000..2ae30a3
--- /dev/null
@@ -0,0 +1,77 @@
+<?php
+/**
+ * Fake handler for images.
+ *
+ * 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 Media
+ */
+
+/**
+ * Mock handler for images.
+ *
+ * This is really intended for unit testing.
+ *
+ * @ingroup Media
+ */
+class MockBitmapHandler extends BitmapHandler {
+
+       /**
+        * Override BitmapHandler::doTransform() making sure we do not generate
+        * a thumbnail at all. That is merely returning a ThumbnailImage that
+        * will be consumed by the unit test.  There is no need to create a real
+        * thumbnail on the filesystem.
+        */
+       function doTransform( $image, $dstPath, $dstUrl, $params, $flags = 0 ) {
+               # Example of what we receive:
+               # $image: LocalFile
+               # $dstPath: /tmp/transform_7d0a7a2f1a09-1.jpg
+               # $dstUrl : http://example.com/images/thumb/0/09/Bad.jpg/320px-Bad.jpg
+               # $params:  width: 320,  descriptionUrl http://trunk.dev/wiki/File:Bad.jpg
+
+               $this->normaliseParams( $image, $params );
+
+               $scalerParams = array(
+                       # The size to which the image will be resized
+                       'physicalWidth' => $params['physicalWidth'],
+                       'physicalHeight' => $params['physicalHeight'],
+                       'physicalDimensions' => "{$params['physicalWidth']}x{$params['physicalHeight']}",
+                       # The size of the image on the page
+                       'clientWidth' => $params['width'],
+                       'clientHeight' => $params['height'],
+                       # Comment as will be added to the EXIF of the thumbnail
+                       'comment' => isset( $params['descriptionUrl'] ) ?
+                       "File source: {$params['descriptionUrl']}" : '',
+                       # Properties of the original image
+                       'srcWidth' => $image->getWidth(),
+                       'srcHeight' => $image->getHeight(),
+                       'mimeType' => $image->getMimeType(),
+                       'dstPath' => $dstPath,
+                       'dstUrl' => $dstUrl,
+               );
+
+               # In some cases, we do not bother generating a thumbnail.
+               if ( !$image->mustRender() &&
+                       $scalerParams['physicalWidth'] == $scalerParams['srcWidth']
+                       && $scalerParams['physicalHeight'] == $scalerParams['srcHeight'] ) {
+                       wfDebug( __METHOD__ . ": returning unscaled image\n" );
+                       return $this->getClientScalingThumbnailImage( $image, $scalerParams );
+               }
+
+               return new ThumbnailImage( $image, $dstUrl, false, $params );
+       }
+}
index 9efa509..1a1ee00 100644 (file)
@@ -214,7 +214,7 @@ class SeleniumServerManager {
                                        }
                                }
                                wfRestoreWarnings();
-                               echo ( "Starting Selenium server timed out.\n" );
+                               echo "Starting Selenium server timed out.\n";
                                return 'failed';
                        } else {
                                // server already running.