Merge "Introduce ContentHandler::importTransform."
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Tue, 27 May 2014 18:26:19 +0000 (18:26 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Tue, 27 May 2014 18:26:19 +0000 (18:26 +0000)
160 files changed:
RELEASE-NOTES-1.23
RELEASE-NOTES-1.24
docs/hooks.txt
docs/kss/README.txt
docs/kss/styleguide-template/index.html
includes/AutoLoader.php
includes/Collation.php
includes/DefaultSettings.php
includes/EditPage.php
includes/GlobalFunctions.php
includes/HistoryBlob.php
includes/ImagePage.php
includes/Import.php
includes/Linker.php
includes/MagicWord.php
includes/Revision.php
includes/Skin.php
includes/Title.php
includes/User.php
includes/WebRequest.php
includes/Wiki.php
includes/WikiPage.php
includes/api/ApiBase.php
includes/api/ApiEditPage.php
includes/api/ApiMain.php
includes/api/ApiQueryLogEvents.php
includes/changes/EnhancedChangesList.php
includes/changes/RecentChange.php
includes/config/Config.php
includes/config/ConfigException.php [new file with mode: 0644]
includes/config/ConfigFactory.php [new file with mode: 0644]
includes/config/GlobalConfig.php [deleted file]
includes/config/GlobalVarConfig.php [new file with mode: 0644]
includes/content/TextContent.php
includes/context/DerivativeContext.php
includes/context/RequestContext.php
includes/db/Database.php
includes/db/DatabaseError.php
includes/db/DatabaseSqlite.php
includes/filebackend/FileBackend.php
includes/filebackend/FileBackendStore.php
includes/filerepo/file/ArchivedFile.php
includes/filerepo/file/File.php
includes/filerepo/file/LocalFile.php
includes/htmlform/HTMLCheckField.php [changed mode: 0644->0755]
includes/installer/WebInstaller.php
includes/installer/i18n/nb.json
includes/installer/i18n/nl.json
includes/installer/i18n/or.json
includes/installer/i18n/uk.json
includes/media/DjVu.php
includes/media/MediaHandler.php
includes/objectcache/SqlBagOStuff.php
includes/revisiondelete/RevisionDelete.php
includes/revisiondelete/RevisionDeleteAbstracts.php
includes/specials/SpecialAllpages.php
includes/specials/SpecialChangePassword.php
includes/specials/SpecialFileDuplicateSearch.php
includes/specials/SpecialLinkSearch.php
includes/specials/SpecialListfiles.php
includes/specials/SpecialPrefixindex.php
includes/specials/SpecialRevisiondelete.php
includes/specials/SpecialUndelete.php
includes/specials/SpecialWhatlinkshere.php
includes/utils/ZipDirectoryReader.php
languages/i18n/az.json
languages/i18n/bar.json
languages/i18n/bcl.json
languages/i18n/be-tarask.json
languages/i18n/bn.json
languages/i18n/ce.json
languages/i18n/ckb.json
languages/i18n/crh-cyrl.json
languages/i18n/crh-latn.json
languages/i18n/cs.json
languages/i18n/de.json
languages/i18n/diq.json
languages/i18n/egl.json
languages/i18n/es.json
languages/i18n/et.json
languages/i18n/eu.json
languages/i18n/fa.json
languages/i18n/fi.json
languages/i18n/fr.json
languages/i18n/hr.json
languages/i18n/id.json
languages/i18n/ilo.json
languages/i18n/it.json
languages/i18n/ja.json
languages/i18n/kk-cyrl.json
languages/i18n/kn.json
languages/i18n/ko.json
languages/i18n/lb.json
languages/i18n/lmo.json
languages/i18n/mg.json
languages/i18n/ml.json
languages/i18n/mt.json
languages/i18n/nb.json
languages/i18n/nl.json
languages/i18n/or.json
languages/i18n/pfl.json
languages/i18n/pl.json
languages/i18n/pt-br.json
languages/i18n/pt.json
languages/i18n/qqq.json
languages/i18n/ru.json
languages/i18n/sa.json
languages/i18n/sah.json
languages/i18n/scn.json
languages/i18n/sl.json
languages/i18n/so.json
languages/i18n/sr-ec.json
languages/i18n/sr-el.json
languages/i18n/th.json
languages/i18n/tl.json
languages/i18n/uk.json
languages/i18n/vi.json
languages/i18n/zh-hans.json
languages/i18n/zh-hant.json
maintenance/deleteBatch.php
maintenance/deleteEqualMessages.php
maintenance/language/countMessages.php [deleted file]
maintenance/language/validate.php [deleted file]
mw-config/index.php
resources/Resources.php
resources/lib/oojs-ui/i18n/et.json
resources/lib/oojs-ui/i18n/pl.json
resources/lib/oojs-ui/i18n/yi.json
resources/lib/oojs-ui/oojs-ui.js
resources/lib/oojs-ui/oojs-ui.svg.css
resources/src/jquery/jquery.makeCollapsible.js
resources/src/mediawiki.action/mediawiki.action.history.diff.css
resources/src/mediawiki.skinning/content.parsoid.less [new file with mode: 0644]
resources/src/mediawiki.ui/styleguide.md
resources/src/mediawiki.ui/vector.less
resources/src/mediawiki/mediawiki.searchSuggest.js
resources/src/mediawiki/mediawiki.user.js
tests/TestsAutoLoader.php
tests/parser/parserTest.inc
tests/parser/parserTests.txt
tests/phpunit/TODO
tests/phpunit/data/media/Portrait.png [new file with mode: 0644]
tests/phpunit/includes/api/ApiEditPageTest.php
tests/phpunit/includes/config/ConfigFactoryTest.php [new file with mode: 0644]
tests/phpunit/includes/config/GlobalConfigTest.php [deleted file]
tests/phpunit/includes/config/GlobalVarConfigTest.php [new file with mode: 0644]
tests/phpunit/includes/db/DatabaseSqliteTest.php
tests/phpunit/includes/media/DjVuTest.php
tests/phpunit/includes/media/ExifRotationTest.php
tests/phpunit/includes/media/FormatMetadataTest.php
tests/phpunit/includes/media/GIFTest.php
tests/phpunit/includes/media/JpegTest.php
tests/phpunit/includes/media/MediaWikiMediaTestCase.php [new file with mode: 0644]
tests/phpunit/includes/media/PNGTest.php
tests/phpunit/includes/media/SVGTest.php
tests/phpunit/includes/parser/NewParserTest.php
tests/phpunit/structure/StructureTest.php
tests/qunit/suites/resources/jquery/jquery.autoEllipsis.test.js
tests/qunit/suites/resources/mediawiki/mediawiki.test.js
tests/qunit/suites/resources/mediawiki/mediawiki.toc.test.js

index d010358..baf69c5 100644 (file)
@@ -9,9 +9,9 @@ MediaWiki 1.23 is an alpha-quality branch and is not recommended for use in
 production.
 
 === Configuration changes in 1.23 ===
-* Introduced $wgPagePropsHaveSortkey as a backwards-compatibility switch,
-  for using the old schema of the page_props table, in case the respective
-  schema update was not applied.
+* (bug 13250) Restored method for clearing a watchlist in web UI
+  so that users with large watchlists don't have to perform
+  contortions to clear them.
 * When $wgJobRunRate is higher that zero, jobs are now executed via an
   asynchronous HTTP request to a MediaWiki entry point. This may require
   increasing the number of server worker threads. $wgRunJobsAsync has been
@@ -110,9 +110,6 @@ production.
   'user' or 'bot'. The API will throw an error if the user is not logged
   in (user) or does not have the 'bot' userright (bot). Based off of the
   AssertEdit extension by Steve Sanbeg.
-* WikitextContent will now render redirects with the expected "redirect"
-  header, rather than as an ordered list. Code calling Article::viewRedirect
-  can probably be changed to no longer special-case redirects.
 * [[Special:Diff]] was added, allowing users to create internal links to
   revision comparison pages using syntax such as [[Special:Diff/12345]],
   [[Special:Diff/12345/prev]] or [[Special:Diff/12345/98765]].
@@ -147,7 +144,7 @@ production.
 * Added BaseTemplateAfterPortlet hook to allow injecting html after portlets in skins.
 * Support has been added for a JSON based localisation file format. The
   installer has been updated to use it.
-* Changes to content typography (fonts, line-height, etc.). See
+* Changes to content typography (colors, line-height etc.). See
   https://www.mediawiki.org/wiki/Typography_refresh for further information.
 * The Vector skin's visual treatment of external links has been simplified to a
   single icon (from nine). This should not affect local rules unless they were
@@ -190,8 +187,6 @@ production.
   the JavaScript evaluator were updated to support the new format. Plural rules
   for some languages have changed, most notably Russian. Affected software
   messages have been updated and marked for review at translatewiki.net.
-* (bug 14323) Redirect pages, when viewed with redirect=no, no longer hide the
-  remaining page content.
 * (bug 23542) imagelinks now stores both the redirect and target (as
   templatelinks does).
 * (bug 58167) The web installer no longer throws an exception when PHP is
@@ -210,6 +205,7 @@ production.
   warnings to be printed on Windows due to large path length.
 * (bug 48084) Fixed a bug in the installer that could cause $wgLogo to hold
   the wrong path to the placeholder logo (skins/common/images/wiki.png).
+* (bug 64289) jquery.textSelection: Don't throw errors on empty collections.
 
 === Web API changes in 1.23 ===
 * (bug 54884) action=parse&prop=categories now indicates hidden and missing
@@ -278,9 +274,6 @@ changes to languages because of Bugzilla reports.
 * Support was added for Northern Luri (lrc).
 
 === Other changes in 1.23 ===
-* Added pp_sortkey column to page_props table, so pages can be efficiently
-  queried and sorted by property value (bug 58032).
-  See $wgPagePropsHaveSortkey if you want to postpone the schema change.
 * The rc_type field in the recentchanges table has been superseded by a new
   rc_source field.  The rc_source field is a string representation of the
   change type where rc_type was a numeric constant.  This field is not yet
index b5b3f8e..36efccc 100644 (file)
@@ -11,6 +11,9 @@ production.
 === Configuration changes in 1.24 ===
 * The server's canonical hostname is available as $wgServerName, which is
   exposed in both mw.config and ApiQuerySiteInfo.
+* Introduced $wgPagePropsHaveSortkey as a backwards-compatibility switch,
+  for using the old schema of the page_props table, in case the respective
+  schema update was not applied.
 
 === New features in 1.24 ===
 * Added a new hook, "WhatLinksHereProps", to allow extensions to annotate
@@ -30,6 +33,14 @@ production.
   jQuery.cookie so that getting/setting a cookie is syntactically and functionally
   similar to using the WebRequest#getCookie/WebResponse#setcookie methods.
 * (bug 44740) jQuery upgraded from 1.8.3 to 1.11.1.
+* Changes to content typography (fonts, etc.). See
+  https://www.mediawiki.org/wiki/Typography_refresh for further information.
+* WikitextContent will now render redirects with the expected "redirect"
+  header, rather than as an ordered list. Code calling Article::viewRedirect
+  can probably be changed to no longer special-case redirects.
+* (bug 63903) Thumbnails without an explicit size specification are
+  now resized to a square bounding box. This gives better results for
+  non-landscape thumbnails.
 
 === Bug fixes in 1.24 ===
 * (bug 49116) Footer copyright notice is now always displayed in user language
@@ -41,9 +52,16 @@ production.
   claimed it would.
 * (bug 39035) Improved Vector skin performance by removing collapsibleNav,
   which used to collapse some sidebar elements by default.
+  This removes -list id suffixes like p-lang-list: instead of using things like
+  #p-lang-list, you can do #p-lang .body ul.
 * (bug 890) Links in Special:RecentChanges and Special:Watchlist no longer
   follow redirects to their target pages.
 * Parser now dies early if called recursively, instead of producing subtle bugs.
+* (bug 14323) Redirect pages, when viewed with redirect=no, no longer hide the
+  remaining page content.
+* (bug 52587) Maintenance script deleteBatch.php no longer follows redirects
+  in the file namespace and delete the file on the target page. It will still
+  however delete the redirect page.
 
 === Web API changes in 1.24 ===
 * action=parse API now supports prop=modules, which provides the list of
@@ -51,6 +69,8 @@ production.
 * action=query&meta=siteinfo&siprop=interwikimap returns a new "protorel"
   field which is true iff protocol-relative urls can be used to access
   a particular interwiki map entry.
+* ApiQueryLogEvents now provides logpage, which is the page ID from the
+  logging table, if ids are requested and the user has the permissions.
 
 === Languages updated in 1.24 ===
 
@@ -63,9 +83,14 @@ changes to languages because of Bugzilla reports.
 * The deprecated function mw.util.toggleToc was removed.
 * The Special:Search hooks SpecialSearchGo and SpecialSearchResultsAppend
   were removed as they were unused.
+* (bug 65477) User::pingLimiter() now has an additional profile point varying
+  by action being used.
 * mediawiki.util.$content no longer supports old versions of the Vector,
   Monobook, Modern and CologneBlue skins that don't yet implement the "mw-body"
   and/or "mw-body-primary" class name in their html.
+* Added pp_sortkey column to page_props table, so pages can be efficiently
+  queried and sorted by property value (bug 58032).
+  See $wgPagePropsHaveSortkey if you want to postpone the schema change.
 
 ==== Renamed classes ====
 * CLDRPluralRuleConverter_Expression to CLDRPluralRuleConverterExpression
index 0c03375..e1c9ec6 100644 (file)
@@ -313,11 +313,11 @@ $apiModule: the ApiCreateAccount module calling
 $loginForm: the LoginForm used
 &$result: associative array for API result data
 
-'AfterFinalPageOutput': At the end of OutputPage::output() but before final
-ob_end_flush() which will send the buffered output to the client. This allows
-for last-minute modification of the output within the buffer by using
-ob_get_clean().
-&$output: OutputPage object
+'AfterFinalPageOutput': Nearly at the end of OutputPage::output() but
+before OutputPage::sendCacheControl() and final ob_end_flush() which
+will send the buffered output to the client. This allows for last-minute
+modification of the output within the buffer by using ob_get_clean().
+$output: The OutputPage object where output() was called
 
 'AfterImportPage': When a page import is completed.
 $title: Title under which the revisions were imported
@@ -326,12 +326,6 @@ $revCount: Number of revisions in the XML file
 $sRevCount: Number of successfully imported revisions
 $pageInfo: associative array of page information
 
-'AfterFinalPageOutput': Nearly at the end of OutputPage::output() but
-before OutputPage::sendCacheControl() and final ob_end_flush() which
-will send the buffered output to the client. This allows for last-minute
-modification of the output within the buffer by using ob_get_clean().
-$output: The OutputPage object where output() was called
-
 'AjaxAddScript': Called in output page just before the initialisation
 of the javascript ajax engine. The hook is only called when ajax
 is enabled ( $wgUseAjax = true; ).
@@ -638,6 +632,7 @@ $title: Title corresponding to the article restored
 $create: Whether or not the restoration caused the page to be created (i.e. it
   didn't exist before).
 $comment: The comment associated with the undeletion.
+$oldPageId: ID of page previously deleted (from archive table)
 
 'ArticleUndeleteLogEntry': When a log entry is generated but not yet saved.
 $pageArchive: the PageArchive object
index f9473b8..c383af9 100644 (file)
@@ -1,6 +1,7 @@
 The Makefile, package.json, scripts, styleguide-template, and
-mediawiki.ui/styleguide.md files and directories in here support the automatic
-generation of CSS documentation from the source LESS files using kss for
+mediawiki.ui/styleguide.md files and directories here and in
+resources/src/mediawiki.ui/ support the automatic generation
+of CSS documentation from the source LESS files using kss for
 node.js, https://github.com/kneath/kss
 
 To build and open in your web browser, run:
index 99f3e4f..cb95197 100644 (file)
@@ -28,6 +28,7 @@
                        {{html overview}}
                {{else}}
                        {{#eachSection rootNumber}}
+                       <section>
                                {{#whenDepth 1}}
                                        <h1>{{ reference }}.0 - {{ header }}</h1>
                                {{else}}
                                {{/whenDepth}}
                                {{#ifAny markup modifiers}}
                                                <div>{{html description}}</div>
-                                               <strong>Default styling</strong><br>
-                                               {{modifierMarkup}}
+                                               <h4>Default styling</h4>
+                                               <blockquote>{{modifierMarkup}}</blockquote>
                                                {{#eachModifier}}
-                                               {{html description}}<br>
-                                               <p>{{name}}</p>
-                                               {{modifierMarkup}}
+                                                       <h4>{{name}}</h4>
+                                                       {{html description}}
+                                                       <blockquote>{{modifierMarkup}}</blockquote>
                                                {{/eachModifier}}
                                                <pre class="prettyprint lang-html">{{markup}}</pre>
                                {{else}}
@@ -53,6 +54,7 @@
                                                        {{html description}}
                                                {{/if}}
                                {{/ifAny}}
+                       </section>
                        {{/eachSection}}
                {{/if}}
        </article>
index 338274c..450112c 100644 (file)
@@ -392,7 +392,9 @@ $wgAutoloadLocalClasses = array(
 
        # includes/config
        'Config' => 'includes/config/Config.php',
-       'GlobalConfig' => 'includes/config/GlobalConfig.php',
+       'ConfigException' => 'includes/config/ConfigException.php',
+       'ConfigFactory' => 'includes/config/ConfigFactory.php',
+       'GlobalVarConfig' => 'includes/config/GlobalVarConfig.php',
 
        # includes/content
        'AbstractContent' => 'includes/content/AbstractContent.php',
index 4e0c6a4..71adb09 100644 (file)
@@ -523,28 +523,6 @@ class IcuCollation extends Collation {
                return count( $this->firstLetterData['chars'] );
        }
 
-       /**
-        * Do a binary search, and return the index of the largest item that sorts
-        * less than or equal to the target value.
-        *
-        * @deprecated since 1.23; use ArrayUtils::findLowerBound() instead
-        *
-        * @param array $valueCallback A function to call to get the value with
-        *     a given array index.
-        * @param int $valueCount The number of items accessible via $valueCallback,
-        *     indexed from 0 to $valueCount - 1
-        * @param array $comparisonCallback A callback to compare two values, returning
-        *     -1, 0 or 1 in the style of strcmp().
-        * @param string $target The target value to find.
-        *
-        * @return int|bool The item index of the lower bound, or false if the target value
-        *     sorts before all items.
-        */
-       function findLowerBound( $valueCallback, $valueCount, $comparisonCallback, $target ) {
-               wfDeprecated( __METHOD__, '1.23' );
-               return ArrayUtils::findLowerBound( $valueCallback, $valueCount, $comparisonCallback, $target );
-       }
-
        static function isCjk( $codepoint ) {
                foreach ( self::$cjkBlocks as $block ) {
                        if ( $codepoint >= $block[0] && $codepoint <= $block[1] ) {
index e011d4a..e156792 100644 (file)
@@ -60,11 +60,14 @@ if ( !defined( 'MEDIAWIKI' ) ) {
 $wgConf = new SiteConfiguration;
 
 /**
- * Class name to use for accessing Config.
- * Currently only 'GlobalConfig' is available
+ * Registry of factory functions to create config objects:
+ * The 'main' key must be set, and the value should be a valid
+ * callable.
  * @since 1.23
  */
-$wgConfigClass = 'GlobalConfig';
+$wgConfigRegistry = array(
+       'main' => 'GlobalVarConfig::newInstance'
+);
 
 /**
  * MediaWiki version number
@@ -5608,7 +5611,7 @@ $wgRC2UDPOmitBots = false;
  * The common options are:
  *   * 'uri' -- the address to which the notices are to be sent.
  *   * 'formatter' -- the class name (implementing RCFeedFormatter) which will
- *     produce the text to send.
+ *     produce the text to send. This can also be an object of the class.
  *   * 'omit_bots' -- whether the bot edits should be in the feed
  *   * 'omit_anon' -- whether anonymous edits should be in the feed
  *   * 'omit_user' -- whether edits by registered users should be in the feed
@@ -7074,6 +7077,14 @@ $wgCompiledFiles = array();
  */
 $wgPagePropsHaveSortkey = true;
 
+/**
+ * Port where you have HTTPS running
+ * Supports HTTPS on non-standard ports
+ * @see bug 65184
+ * @since 1.24
+ */
+$wgHttpsPort = 443;
+
 /**
  * For really cool vim folding this needs to be at the end:
  * vim: foldmarker=@{,@} foldmethod=marker
index 1035ad4..ca11f16 100644 (file)
@@ -1597,7 +1597,8 @@ class EditPage {
                # Check image redirect
                if ( $this->mTitle->getNamespace() == NS_FILE &&
                        $textbox_content->isRedirect() &&
-                       !$wgUser->isAllowed( 'upload' ) ) {
+                       !$wgUser->isAllowed( 'upload' )
+               ) {
                                $code = $wgUser->isAnon() ? self::AS_IMAGE_REDIRECT_ANON : self::AS_IMAGE_REDIRECT_LOGGED;
                                $status->setResult( false, $code );
 
@@ -1959,7 +1960,7 @@ class EditPage {
                }
 
                // Check for length errors again now that the section is merged in
-                       $this->kblength = (int)( strlen( $this->toEditText( $content ) ) / 1024 );
+               $this->kblength = (int)( strlen( $this->toEditText( $content ) ) / 1024 );
                if ( $this->kblength > $wgMaxArticleSize ) {
                        $this->tooBig = true;
                        $status->setResult( false, self::AS_MAX_ARTICLE_SIZE_EXCEEDED );
@@ -1972,8 +1973,8 @@ class EditPage {
                        ( ( $this->minoredit && !$this->isNew ) ? EDIT_MINOR : 0 ) |
                        ( $bot ? EDIT_FORCE_BOT : 0 );
 
-                       $doEditStatus = $this->mArticle->doEditContent( $content, $this->summary, $flags,
-                                                                                                                       false, null, $this->contentFormat );
+               $doEditStatus = $this->mArticle->doEditContent( $content, $this->summary, $flags,
+                                                                                                               false, null, $this->contentFormat );
 
                if ( !$doEditStatus->isOK() ) {
                        // Failure from doEdit()
@@ -3482,7 +3483,6 @@ HTML
                        if ( $this->mTriedSave && !$this->mTokenOk ) {
                                if ( $this->mTokenOkExceptSuffix ) {
                                        $note = wfMessage( 'token_suffix_mismatch' )->plain();
-
                                } else {
                                        $note = wfMessage( 'session_fail_preview' )->plain();
                                }
@@ -3890,11 +3890,11 @@ HTML
                #$categories = $skin->getCategoryLinks();
 
                $s =
-               '<?xml version="1.0" encoding="UTF-8" ?>' . "\n" .
-               Xml::tags( 'livepreview', null,
-                       Xml::element( 'preview', null, $previewText )
-                       #.      Xml::element( 'category', null, $categories )
-               );
+                       '<?xml version="1.0" encoding="UTF-8" ?>' . "\n" .
+                       Xml::tags( 'livepreview', null,
+                               Xml::element( 'preview', null, $previewText )
+                               #.      Xml::element( 'category', null, $categories )
+                       );
                echo $s;
        }
 
index 91724dd..9cbb9d6 100644 (file)
@@ -497,7 +497,8 @@ function wfAppendQuery( $url, $query ) {
  *    no valid URL can be constructed
  */
 function wfExpandUrl( $url, $defaultProto = PROTO_CURRENT ) {
-       global $wgServer, $wgCanonicalServer, $wgInternalServer, $wgRequest;
+       global $wgServer, $wgCanonicalServer, $wgInternalServer, $wgRequest,
+               $wgHttpsPort;
        if ( $defaultProto === PROTO_CANONICAL ) {
                $serverUrl = $wgCanonicalServer;
        } elseif ( $defaultProto === PROTO_INTERNAL && $wgInternalServer !== false ) {
@@ -536,6 +537,13 @@ function wfExpandUrl( $url, $defaultProto = PROTO_CURRENT ) {
        }
 
        $bits = wfParseUrl( $url );
+
+       // ensure proper port for HTTPS arrives in URL
+       // https://bugzilla.wikimedia.org/show_bug.cgi?id=65184
+       if ( $defaultProto === PROTO_HTTPS && $wgHttpsPort != 443 ) {
+               $bits['port'] = $wgHttpsPort;
+       }
+
        if ( $bits && isset( $bits['path'] ) ) {
                $bits['path'] = wfRemoveDotSegments( $bits['path'] );
                return wfAssembleUrl( $bits );
@@ -1007,14 +1015,14 @@ function wfDebugTimer() {
 /**
  * Send a line giving PHP memory usage.
  *
- * @param bool $exact Print exact values instead of kilobytes (default: false)
+ * @param bool $exact Print exact byte values instead of kibibytes (default: false)
  */
 function wfDebugMem( $exact = false ) {
        $mem = memory_get_usage();
        if ( !$exact ) {
-               $mem = floor( $mem / 1024 ) . ' kilobytes';
+               $mem = floor( $mem / 1024 ) . ' KiB';
        } else {
-               $mem .= ' bytes';
+               $mem .= ' B';
        }
        wfDebug( "Memory usage: $mem\n" );
 }
index e95536a..d0cae36 100644 (file)
@@ -197,13 +197,13 @@ class HistoryBlobStub {
        protected static $blobCache = array();
 
        /** @var int */
-       protected $mOldId;
+       public $mOldId;
 
        /** @var string */
-       protected $mHash;
+       public $mHash;
 
        /** @var  */
-       protected $mRef;
+       public $mRef;
 
        /**
         * @param string $hash The content hash of the text
@@ -313,7 +313,7 @@ class HistoryBlobStub {
  */
 class HistoryBlobCurStub {
        /** @var int */
-       private $mCurId;
+       public $mCurId;
 
        /**
         * @param int $curid The cur_id pointed to
@@ -374,7 +374,7 @@ class DiffHistoryBlob implements HistoryBlob {
        protected $mDefaultKey;
 
        /** @var string Compressed storage */
-       protected $mCompressed;
+       public $mCompressed;
 
        /** @var bool True if the object is locked against further writes */
        protected $mFrozen = false;
index a38b195..5f385ac 100644 (file)
@@ -1303,7 +1303,7 @@ class ImageHistoryList extends ContextSource {
                $row .= htmlspecialchars( $file->getDimensionsString() );
                $row .= $this->msg( 'word-separator' )->plain();
                $row .= '<span style="white-space: nowrap;">';
-               $row .= $this->msg( 'parentheses' )->rawParams( Linker::formatSize( $file->getSize() ) )->plain();
+               $row .= $this->msg( 'parentheses' )->sizeParams( $file->getSize() )->plain();
                $row .= '</span>';
                $row .= '</td>';
 
index aa55290..1a3e05a 100644 (file)
@@ -45,7 +45,9 @@ class WikiImporter {
        function __construct( $source ) {
                $this->reader = new XMLReader();
 
-               stream_wrapper_register( 'uploadsource', 'UploadSourceAdapter' );
+               if ( !in_array(  'uploadsource', stream_get_wrappers() ) ) {
+                       stream_wrapper_register( 'uploadsource', 'UploadSourceAdapter' );
+               }
                $id = UploadSourceAdapter::registerSource( $source );
                if ( defined( 'LIBXML_PARSEHUGE' ) ) {
                        $this->reader->open( "uploadsource://$id", null, LIBXML_PARSEHUGE );
index d0759ed..7724548 100644 (file)
@@ -603,6 +603,7 @@ class Linker {
                                }
 
                                // Reduce width for upright images when parameter 'upright' is used
+                               $useSquare = !isset( $fp['upright'] );
                                if ( isset( $fp['upright'] ) && $fp['upright'] == 0 ) {
                                        $fp['upright'] = $wgThumbUpright;
                                }
@@ -614,11 +615,16 @@ class Linker {
                                        round( $wgThumbLimits[$widthOption] * $fp['upright'], -1 ) :
                                        $wgThumbLimits[$widthOption];
 
-                               // Use width which is smaller: real image width or user preference width
+                               // Use whichever is smaller: real image width or user preference width
                                // Unless image is scalable vector.
                                if ( !isset( $hp['height'] ) && ( $hp['width'] <= 0 ||
-                                               $prefWidth < $hp['width'] || $file->isVectorized() ) ) {
+                                               $prefWidth < $hp['width'] ||
+                                               ( $useSquare && $prefWidth < $file->getHeight( $page ) ) ||
+                                               $file->isVectorized() ) ) {
                                        $hp['width'] = $prefWidth;
+                                       if ( $useSquare ) {
+                                               $hp['height'] = $prefWidth;
+                                       }
                                }
                        }
                }
index cd75f0b..3e327c3 100644 (file)
@@ -216,7 +216,7 @@ class MagicWord {
                'numberofadmins' => 3600,
                'numberofviews' => 3600,
                'numberingroup' => 3600,
-               );
+       );
 
        static public $mDoubleUnderscoreIDs = array(
                'notoc',
index 86c3057..a403e37 100644 (file)
@@ -444,6 +444,7 @@ class Revision implements IDBAccessObject {
                        'ar_id',
                        'ar_page_id',
                        'ar_rev_id',
+                       'ar_text',
                        'ar_text_id',
                        'ar_timestamp',
                        'ar_comment',
index c428079..1664c91 100644 (file)
@@ -721,7 +721,6 @@ abstract class Skin extends ContextSource {
         * @return string
         */
        function subPageSubtitle() {
-               global $wgLang;
                $out = $this->getOutput();
                $subpages = '';
 
@@ -737,6 +736,7 @@ abstract class Skin extends ContextSource {
                                $c = 0;
                                $growinglink = '';
                                $display = '';
+                               $lang = $this->getLanguage();
 
                                foreach ( $links as $link ) {
                                        $growinglink .= $link;
@@ -752,7 +752,7 @@ abstract class Skin extends ContextSource {
                                                $c++;
 
                                                if ( $c > 1 ) {
-                                                       $subpages .= $wgLang->getDirMarkEntity() . $this->msg( 'pipe-separator' )->escaped();
+                                                       $subpages .= $lang->getDirMarkEntity() . $this->msg( 'pipe-separator' )->escaped();
                                                } else {
                                                        $subpages .= '&lt; ';
                                                }
index 67958ff..ea4a1b2 100644 (file)
@@ -3932,7 +3932,7 @@ class Title {
 
                if ( $createRedirect ) {
                        if ( $this->getNamespace() == NS_CATEGORY
-                               && !wfMessage( 'category-move-redirect-override' )->isDisabled()
+                               && !wfMessage( 'category-move-redirect-override' )->inContentLanguage()->isDisabled()
                        ) {
                                $redirectContent = new WikitextContent(
                                        wfMessage( 'category-move-redirect-override' )
index 6578341..941a405 100644 (file)
@@ -1672,6 +1672,9 @@ class User {
         * Primitive rate limits: enforce maximum actions per time period
         * to put a brake on flooding.
         *
+        * The method generates both a generic profiling point and a per action one
+        * (suffix being "-$action".
+        *
         * @note When using a shared cache like memcached, IP-address
         * last-hit counters will be shared across wikis.
         *
@@ -1698,6 +1701,7 @@ class User {
 
                global $wgMemc;
                wfProfileIn( __METHOD__ );
+               wfProfileIn( __METHOD__ . '-' . $action );
 
                $limits = $wgRateLimits[$action];
                $keys = array();
@@ -1776,6 +1780,7 @@ class User {
                        }
                }
 
+               wfProfileOut( __METHOD__ . '-' . $action );
                wfProfileOut( __METHOD__ );
                return $triggered;
        }
index 391b49e..ecc2372 100644 (file)
@@ -489,7 +489,7 @@ class WebRequest {
         * @param float $default
         * @return float
         */
-       public function getFloat( $name, $default = 0 ) {
+       public function getFloat( $name, $default = 0.0 ) {
                return floatval( $this->getVal( $name, $default ) );
        }
 
index eff251f..555813d 100644 (file)
@@ -434,6 +434,7 @@ class MediaWiki {
                }
 
                if ( wfRunHooks( 'UnknownAction', array( $request->getVal( 'action', 'view' ), $page ) ) ) {
+                       $output->setStatusCode( 404 );
                        $output->showErrorPage( 'nosuchaction', 'nosuchactiontext' );
                }
 
index 9a26c15..8fe948b 100644 (file)
@@ -1838,11 +1838,7 @@ class WikiPage implements Page, IDBAccessObject {
 
                                        // Update page
                                        //
-                                       // Note that we use $this->mLatest instead of fetching a value from the master DB
-                                       // during the course of this function. This makes sure that EditPage can detect
-                                       // edit conflicts reliably, either by $ok here, or by $article->getTimestamp()
-                                       // before this function is called. A previous function used a separate query, this
-                                       // creates a window where concurrent edits can cause an ignored edit conflict.
+                                       // We check for conflicts by comparing $oldid with the current latest revision ID.
                                        $ok = $this->updateRevisionOn( $dbw, $revision, $oldid, $oldIsRedirect );
 
                                        if ( !$ok ) {
@@ -2831,6 +2827,9 @@ class WikiPage implements Page, IDBAccessObject {
                        $dbw->delete( 'revision', array( 'rev_page' => $id ), __METHOD__ );
                }
 
+               // Clone the title, so we have the information we need when we log
+               $logTitle = clone $this->mTitle;
+
                $this->doDeleteUpdates( $id, $content );
 
                // Log the deletion, if the page was suppressed, log it at Oversight instead
@@ -2838,7 +2837,7 @@ class WikiPage implements Page, IDBAccessObject {
 
                $logEntry = new ManualLogEntry( $logtype, 'delete' );
                $logEntry->setPerformer( $user );
-               $logEntry->setTarget( $this->mTitle );
+               $logEntry->setTarget( $logTitle );
                $logEntry->setComment( $reason );
                $logid = $logEntry->insert();
                $logEntry->publish( $logid );
index a1e02ef..cfd4d01 100644 (file)
@@ -720,6 +720,9 @@ abstract class ApiBase extends ContextSource {
 
        /**
         * Die if none or more than one of a certain set of parameters is set and not false.
+        *
+        * Call getRequireOnlyOneParameterErrorMessages() to get a list of possible errors.
+        *
         * @param array $params User provided set of parameters, as from $this->extractRequestParams()
         * @param string $required,... Names of parameters of which exactly one must be set
         */
@@ -767,6 +770,9 @@ abstract class ApiBase extends ContextSource {
 
        /**
         * Die if more than one of a certain set of parameters is set and not false.
+        *
+        * Call getRequireMaxOneParameterErrorMessages() to get a list of possible errors.
+        *
         * @param array $params User provided set of parameters, as from $this->extractRequestParams()
         * @param string $required,... Names of parameters of which at most one must be set
         */
@@ -807,6 +813,8 @@ abstract class ApiBase extends ContextSource {
        /**
         * Die if none of a certain set of parameters is set and not false.
         *
+        * Call getRequireAtLeastOneParameterErrorMessages() to get a list of possible errors.
+        *
         * @since 1.23
         * @param array $params User provided set of parameters, as from $this->extractRequestParams()
         * @param string $required,... Names of parameters of which at least one must be set
@@ -847,6 +855,11 @@ abstract class ApiBase extends ContextSource {
        }
 
        /**
+        * Get a WikiPage object from a title or pageid param, if possible.
+        * Can die, if no param is set or if the title or page id is not valid.
+        *
+        * Call getTitleOrPageIdErrorMessage() to get a list of possible errors.
+        *
         * @param array $params
         * @param bool|string $load Whether load the object's state from the database:
         *        - false: don't load (if the pageid is given, it will still be loaded)
@@ -884,6 +897,8 @@ abstract class ApiBase extends ContextSource {
        }
 
        /**
+        * Generates the possible error getTitleOrPageId() can die with
+        *
         * @return array
         */
        public function getTitleOrPageIdErrorMessage() {
index 635f6f8..cb0f8c2 100644 (file)
@@ -48,6 +48,9 @@ class ApiEditPage extends ApiBase {
                $apiResult = $this->getResult();
 
                if ( $params['redirect'] ) {
+                       if ( $params['prependtext'] === null && $params['appendtext'] === null && $params['section'] !== 'new' ) {
+                               $this->dieUsage( 'You have attempted to edit using the "redirect"-following mode, which must be used in conjuction with section=new, prependtext, or appendtext.', 'redirect-appendonly' );
+                       }
                        if ( $titleObj->isRedirect() ) {
                                $oldTitle = $titleObj;
 
@@ -526,7 +529,7 @@ class ApiEditPage extends ApiBase {
                                array( 'editconflict' ),
                                array( 'emptynewsection' ),
                                array( 'unknownerror', 'retval' ),
-                               array( 'code' => 'nosuchsection', 'info' => 'There is no section section.' ),
+                               array( 'code' => 'nosuchsection', 'info' => 'There is no such section.' ),
                                array(
                                        'code' => 'invalidsection',
                                        'info' => 'The section parameter must be a valid section id or \'new\''
@@ -542,6 +545,10 @@ class ApiEditPage extends ApiBase {
                                array(
                                        'code' => 'appendnotsupported',
                                        'info' => 'This type of page can not be edited by appending or prepending text.' ),
+                               array(
+                                       'code' => 'redirect-appendonly',
+                                       'info' => 'You have attempted to edit using the "redirect"-following mode, which must be used in conjuction with section=new, prependtext, or appendtext.',
+                               ),
                                array(
                                        'code' => 'badformat',
                                        'info' => 'The requested serialization format can not be applied to the page\'s content model'
index ccf91dd..df56735 100644 (file)
@@ -957,7 +957,7 @@ class ApiMain extends ApiBase {
        /**
         * Encode a value in a format suitable for a space-separated log line.
         * @param string $s
-        * return string
+        * @return string
         */
        protected function encodeRequestLogValue( $s ) {
                static $table;
index bb424ee..0977439 100644 (file)
@@ -81,6 +81,10 @@ class ApiQueryLogEvents extends ApiQueryBase {
                ) );
 
                $this->addFieldsIf( 'page_id', $this->fld_ids );
+               // log_page is the page_id saved at log time, whereas page_id is from a
+               // join at query time.  This leads to different results in various
+               // scenarios, e.g. deletion, recreation.
+               $this->addFieldsIf( 'log_page', $this->fld_ids );
                $this->addFieldsIf( array( 'log_user', 'log_user_text', 'user_name' ), $this->fld_user );
                $this->addFieldsIf( 'log_user', $this->fld_userid );
                $this->addFieldsIf(
@@ -364,6 +368,7 @@ class ApiQueryLogEvents extends ApiQueryBase {
                                }
                                if ( $this->fld_ids ) {
                                        $vals['pageid'] = intval( $row->page_id );
+                                       $vals['logpage'] = intval( $row->log_page );
                                }
                                if ( $this->fld_details && $row->log_params !== '' ) {
                                        self::addLogParams(
index 6c42601..7307c69 100644 (file)
@@ -90,7 +90,6 @@ class EnhancedChangesList extends ChangesList {
        public function recentChangesLine( &$baseRC, $watched = false ) {
                wfProfileIn( __METHOD__ );
 
-               # If it's a new day, add the headline and flush the cache
                $date = $this->getLanguage()->userDate(
                        $baseRC->mAttribs['rc_timestamp'],
                        $this->getUser()
@@ -98,6 +97,7 @@ class EnhancedChangesList extends ChangesList {
 
                $ret = '';
 
+               # If it's a new day, add the headline and flush the cache
                if ( $date != $this->lastdate ) {
                        # Process current cache
                        $ret = $this->recentChangesBlock();
@@ -121,28 +121,41 @@ class EnhancedChangesList extends ChangesList {
         * @param RCCacheEntry $cacheEntry
         */
        protected function addCacheEntry( RCCacheEntry $cacheEntry ) {
+               $cacheGroupingKey = $this->makeCacheGroupingKey( $cacheEntry );
+
+               if ( !isset( $this->rc_cache[$cacheGroupingKey] ) ) {
+                       $this->rc_cache[$cacheGroupingKey] = array();
+               }
+
+               array_push( $this->rc_cache[$cacheGroupingKey], $cacheEntry );
+       }
+
+       /**
+        * @todo use rc_source to group, if set; fallback to rc_type
+        *
+        * @param RCCacheEntry $cacheEntry
+        *
+        * @return string
+        */
+       protected function makeCacheGroupingKey( RCCacheEntry $cacheEntry ) {
                $title = $cacheEntry->getTitle();
-               $secureName = $title->getPrefixedDBkey();
+               $cacheGroupingKey = $title->getPrefixedDBkey();
 
                $type = $cacheEntry->mAttribs['rc_type'];
 
+               // @todo remove handling for RC_MOVE and RC_MOVE_OVER_REDIRECT (bug 63755)
                if ( $type == RC_MOVE || $type == RC_MOVE_OVER_REDIRECT ) {
-                       # Use an @ character to prevent collision with page names
-                       $this->rc_cache['@@' . ( $this->rcMoveIndex++ )] = array( $cacheEntry );
-               } else {
-                       # Logs are grouped by type
-                       if ( $type == RC_LOG ) {
-                               $secureName = SpecialPage::getTitleFor(
-                                       'Log',
-                                       $cacheEntry->mAttribs['rc_log_type']
-                               )->getPrefixedDBkey();
-                       }
-                       if ( !isset( $this->rc_cache[$secureName] ) ) {
-                               $this->rc_cache[$secureName] = array();
-                       }
-
-                       array_push( $this->rc_cache[$secureName], $cacheEntry );
+                       // Use an # character to prevent collision with page names
+                       $cacheGroupingKey = '##' . ( $this->rcMoveIndex++ );
+               } elseif ( $type == RC_LOG ) {
+                       // Group by log type
+                       $cacheGroupingKey = SpecialPage::getTitleFor(
+                               'Log',
+                               $cacheEntry->mAttribs['rc_log_type']
+                       )->getPrefixedDBkey();
                }
+
+               return $cacheGroupingKey;
        }
 
        /**
index 3a5a869..370e109 100644 (file)
@@ -390,13 +390,17 @@ class RecentChange {
 
        /**
         * Notify all the feeds about the change.
+        * @param array $feeds Optional feeds to send to, defaults to $wgRCFeeds
         */
-       public function notifyRCFeeds() {
+       public function notifyRCFeeds( array $feeds = null ) {
                global $wgRCFeeds;
+               if ( $feeds === null ) {
+                       $feeds = $wgRCFeeds;
+               }
 
                $performer = $this->getPerformer();
 
-               foreach ( $wgRCFeeds as $feed ) {
+               foreach ( $feeds as $feed ) {
                        $feed += array(
                                'omit_bots' => false,
                                'omit_anon' => false,
@@ -425,7 +429,7 @@ class RecentChange {
                        }
 
                        /** @var $formatter RCFeedFormatter */
-                       $formatter = new $feed['formatter']();
+                       $formatter = is_object( $feed['formatter'] ) ? $feed['formatter'] : new $feed['formatter']();
                        $line = $formatter->getLine( $feed, $this, $actionComment );
 
                        $engine->send( $feed, $line );
index 04afdda..68e90b4 100644 (file)
  */
 
 /**
- * Abstract class for get settings for
+ * Interface for configuration instances
  *
  * @since 1.23
  */
-abstract class Config {
-       /**
-        * @param string $name configuration variable name without prefix
-        * @param string $prefix of the variable name
-        * @return mixed
-        */
-       abstract public function get( $name, $prefix = 'wg' );
+interface Config {
 
        /**
-        * @param string $name configuration variable name without prefix
-        * @param mixed $value to set
-        * @param string $prefix of the variable name
-        * @return Status object indicating success or failure
+        * Get a configuration variable such as "Sitename" or "UploadMaintenance."
+        *
+        * @param string $name Name of configuration option
+        * @return mixed Value configured
+        * @throws ConfigException
         */
-       abstract public function set( $name, $value, $prefix = 'wg' );
+       public function get( $name );
 
        /**
-        * @param string|null $type class name for Config object,
-        *        uses $wgConfigClass if not provided
-        * @return Config
+        * Set a configuration variable such a "Sitename" to something like "My Wiki"
+        *
+        * @param string $name Name of configuration option
+        * @param mixed $value Value to set
+        * @throws ConfigException
         */
-       public static function factory( $type = null ) {
-               if ( !$type ) {
-                       global $wgConfigClass;
-                       $type = $wgConfigClass;
-               }
-
-               return new $type;
-       }
+       public function set( $name, $value );
 }
diff --git a/includes/config/ConfigException.php b/includes/config/ConfigException.php
new file mode 100644 (file)
index 0000000..368ca5a
--- /dev/null
@@ -0,0 +1,28 @@
+<?php
+/**
+ * Copyright 2014
+ *
+ * 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
+ */
+
+/**
+ * Exceptions for config failures
+ *
+ * @since 1.23
+ */
+class ConfigException extends MWException {}
diff --git a/includes/config/ConfigFactory.php b/includes/config/ConfigFactory.php
new file mode 100644 (file)
index 0000000..b09316b
--- /dev/null
@@ -0,0 +1,94 @@
+<?php
+
+/**
+ * Copyright 2014
+ *
+ * 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
+ */
+
+/**
+ * Factory class to create Config objects
+ *
+ * @since 1.23
+ */
+class ConfigFactory {
+
+       /**
+        * Map of config name => callback
+        * @var array
+        */
+       protected $factoryFunctions = array();
+
+       /**
+        * Config objects that have already been created
+        * name => Config object
+        * @var array
+        */
+       protected $configs = array();
+
+       public static function getDefaultInstance() {
+               static $self = null;
+               if ( !$self ) {
+                       $self = new self;
+                       global $wgConfigRegistry;
+                       foreach ( $wgConfigRegistry as $name => $callback ) {
+                               $self->register( $name, $callback );
+                       }
+               }
+               return $self;
+       }
+
+       /**
+        * Register a new config factory function
+        * Will override if it's already registered
+        * @param string $name
+        * @param callable $callback that takes this ConfigFactory as an argument
+        * @throws InvalidArgumentException if an invalid callback is provided
+        */
+       public function register( $name, $callback ) {
+               if ( !is_callable( $callback ) ) {
+                       throw new InvalidArgumentException( 'Invalid callback provided' );
+               }
+               $this->factoryFunctions[$name] = $callback;
+       }
+
+       /**
+        * Create a given Config using the registered callback for $name.
+        * If an object was already created, the same Config object is returned.
+        * @param string $name of the extension/component you want a Config object for
+        *                     'main' is used for core
+        * @throws ConfigException if a factory function isn't registered for $name
+        * @throws UnexpectedValueException if the factory function returns a non-Config object
+        * @return Config
+        */
+       public function makeConfig( $name ) {
+               if ( !isset( $this->configs[$name] ) ) {
+                       if ( !isset( $this->factoryFunctions[$name] ) ) {
+                               throw new ConfigException( "No registered builder available for $name." );
+                       }
+                       $conf = call_user_func( $this->factoryFunctions[$name], $this );
+                       if ( $conf instanceof Config ) {
+                               $this->configs[$name] = $conf;
+                       } else {
+                               throw new UnexpectedValueException( "The builder for $name returned a non-Config object." );
+                       }
+               }
+
+               return $this->configs[$name];
+       }
+}
diff --git a/includes/config/GlobalConfig.php b/includes/config/GlobalConfig.php
deleted file mode 100644 (file)
index e16a9ee..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-/**
- * Copyright 2014
- *
- * 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
- */
-
-/**
- * Accesses configuration settings from $GLOBALS
- *
- * @since 1.23
- */
-class GlobalConfig extends Config {
-
-       /**
-        * @see Config::get
-        */
-       public function get( $name, $prefix = 'wg' ) {
-               return $GLOBALS[$prefix . $name];
-       }
-
-       /**
-        * @see Config::set
-        */
-       public function set( $name, $value, $prefix = 'wg' ) {
-               $GLOBALS[$prefix . $name] = $value;
-
-               return Status::newGood();
-       }
-}
diff --git a/includes/config/GlobalVarConfig.php b/includes/config/GlobalVarConfig.php
new file mode 100644 (file)
index 0000000..61a76b7
--- /dev/null
@@ -0,0 +1,88 @@
+<?php
+/**
+ * Copyright 2014
+ *
+ * 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
+ */
+
+/**
+ * Accesses configuration settings from $GLOBALS
+ *
+ * @since 1.23
+ */
+class GlobalVarConfig implements Config {
+
+       /**
+        * Prefix to use for configuration variables
+        * @var string
+        */
+       private $prefix;
+
+       /**
+        * Default builder function
+        * @return GlobalVarConfig
+        */
+       public static function newInstance() {
+               return new GlobalVarConfig();
+       }
+
+       public function __construct( $prefix = 'wg' ) {
+               $this->prefix = $prefix;
+       }
+
+       /**
+        * @see Config::get
+        */
+       public function get( $name ) {
+               return $this->getWithPrefix( $this->prefix, $name );
+       }
+
+       /**
+        * @see Config::set
+        */
+       public function set( $name, $value ) {
+               $this->setWithPrefix( $this->prefix, $name, $value );
+       }
+
+       /**
+        * Get a variable with a given prefix, if not the defaults.
+        *
+        * @param string $prefix Prefix to use on the variable, if one.
+        * @param string $name Variable name without prefix
+        * @throws ConfigException
+        * @return mixed
+        */
+       protected function getWithPrefix( $prefix, $name ) {
+               $var = $prefix . $name;
+               if ( !isset( $GLOBALS[ $var ] ) ) {
+                       throw new ConfigException( __METHOD__ . ": undefined variable: '$var'" );
+               }
+               return $GLOBALS[ $var ];
+       }
+
+       /**
+        * Get a variable with a given prefix, if not the defaults.
+        *
+        * @param string $prefix Prefix to use on the variable
+        * @param string $name Variable name without prefix
+        * @param mixed $value value to set
+        */
+       protected function setWithPrefix( $prefix, $name, $value ) {
+               $GLOBALS[ $prefix . $name ] = $value;
+       }
+}
index b772f17..c3daf83 100644 (file)
@@ -116,9 +116,7 @@ class TextContent extends AbstractContent {
         * @return string The raw text.
         */
        public function getNativeData() {
-               $text = $this->mText;
-
-               return $text;
+               return $this->mText;
        }
 
        /**
index 32a650f..4a7b466 100644 (file)
@@ -66,7 +66,7 @@ class DerivativeContext extends ContextSource {
        private $skin;
 
        /**
-        * @var SiteConfiguration
+        * @var Config
         */
        private $config;
 
@@ -81,9 +81,9 @@ class DerivativeContext extends ContextSource {
        /**
         * Set the SiteConfiguration object
         *
-        * @param SiteConfiguration $s
+        * @param Config $s
         */
-       public function setConfig( SiteConfiguration $s ) {
+       public function setConfig( Config $s ) {
                $this->config = $s;
        }
 
index 4291e44..c87bfc0 100644 (file)
@@ -84,7 +84,9 @@ class RequestContext implements IContextSource {
         */
        public function getConfig() {
                if ( $this->config === null ) {
-                       $this->config = Config::factory();
+                       // @todo In the future, we could move this to WebStart.php so
+                       // the Config object is ready for when initialization happens
+                       $this->config = ConfigFactory::getDefaultInstance()->makeConfig( 'main' );
                }
 
                return $this->config;
index 8c06ef4..16e1ef2 100644 (file)
@@ -1104,20 +1104,25 @@ abstract class DatabaseBase implements IDatabase, DatabaseType {
                        # Transaction is gone, like it or not
                        $hadTrx = $this->mTrxLevel; // possible lost transaction
                        $this->mTrxLevel = 0;
+                       $this->mTrxIdleCallbacks = array(); // bug 65263
+                       $this->mTrxPreCommitCallbacks = array(); // bug 65263
                        wfDebug( "Connection lost, reconnecting...\n" );
 
                        if ( $this->ping() ) {
+                               global $wgRequestTime;
                                wfDebug( "Reconnected\n" );
                                $sqlx = substr( $commentedSql, 0, 500 );
                                $sqlx = strtr( $sqlx, "\t\n", '  ' );
-                               global $wgRequestTime;
                                $elapsed = round( microtime( true ) - $wgRequestTime, 3 );
                                if ( $elapsed < 300 ) {
                                        # Not a database error to lose a transaction after a minute or two
                                        wfLogDBError( "Connection lost and reconnected after {$elapsed}s, query: $sqlx" );
                                }
-                               if ( !$hadTrx ) {
-                                       # Should be safe to silently retry
+                               if ( $hadTrx ) {
+                                       # Leave $ret as false and let an error be reported.
+                                       # Callers may catch the exception and continue to use the DB.
+                               } else {
+                                       # Should be safe to silently retry (no trx and thus no callbacks)
                                        $ret = $this->doQuery( $commentedSql );
                                }
                        } else {
index 4d5c3dc..8229c99 100644 (file)
@@ -133,17 +133,13 @@ class DBConnectionError extends DBExpectedError {
         * @return string Unprocessed plain error text with parameters replaced
         */
        function msg( $key, $fallback /*[, params...] */ ) {
-               global $wgLang;
-
                $args = array_slice( func_get_args(), 2 );
 
                if ( $this->useMessageCache() ) {
-                       $message = $wgLang->getMessage( $key );
+                       return wfMessage( $key, $args )->useDatabase( false )->text();
                } else {
-                       $message = $fallback;
+                       return wfMsgReplaceArgs( $fallback, $args );
                }
-
-               return wfMsgReplaceArgs( $message, $args );
        }
 
        /**
index 468ed6d..3e063c6 100644 (file)
@@ -342,8 +342,13 @@ class DatabaseSqlite extends DatabaseBase {
         */
        function numFields( $res ) {
                $r = $res instanceof ResultWrapper ? $res->result : $res;
-
-               return is_array( $r ) ? count( $r[0] ) : 0;
+               if ( is_array($r) && count( $r ) > 0 ){
+                       // The size of the result array is twice the number of fields. (Bug: 65578)
+                       return count( $r[0] ) / 2 ;
+               } else {
+                       // If the result is empty return 0
+                       return 0;
+               }
        }
 
        /**
index a9e312d..2820be2 100644 (file)
@@ -1231,12 +1231,13 @@ abstract class FileBackend {
         *
         * @param array $paths Storage paths
         * @param int $type LockManager::LOCK_* constant
+        * @param int $timeout Timeout in seconds (0 means non-blocking) (since 1.24)
         * @return Status
         */
-       final public function lockFiles( array $paths, $type ) {
+       final public function lockFiles( array $paths, $type, $timeout = 0 ) {
                $paths = array_map( 'FileBackend::normalizeStoragePath', $paths );
 
-               return $this->lockManager->lock( $paths, $type );
+               return $this->lockManager->lock( $paths, $type, $timeout );
        }
 
        /**
@@ -1265,9 +1266,10 @@ abstract class FileBackend {
         * @param array $paths List of storage paths or map of lock types to path lists
         * @param int|string $type LockManager::LOCK_* constant or "mixed"
         * @param Status $status Status to update on lock/unlock
+        * @param int $timeout Timeout in seconds (0 means non-blocking) (since 1.24)
         * @return ScopedLock|null Returns null on failure
         */
-       final public function getScopedFileLocks( array $paths, $type, Status $status ) {
+       final public function getScopedFileLocks( array $paths, $type, Status $status, $timeout = 0 ) {
                if ( $type === 'mixed' ) {
                        foreach ( $paths as &$typePaths ) {
                                $typePaths = array_map( 'FileBackend::normalizeStoragePath', $typePaths );
@@ -1276,7 +1278,7 @@ abstract class FileBackend {
                        $paths = array_map( 'FileBackend::normalizeStoragePath', $paths );
                }
 
-               return ScopedLock::factory( $this->lockManager, $paths, $type, $status );
+               return ScopedLock::factory( $this->lockManager, $paths, $type, $status, $timeout );
        }
 
        /**
index ce4dedd..340c315 100644 (file)
@@ -357,8 +357,8 @@ abstract class FileBackendStore extends FileBackend {
                        $status->merge( $this->doConcatenate( $params ) );
                        $sec = microtime( true ) - $start_time;
                        if ( !$status->isOK() ) {
-                               wfDebugLog( 'FileOperation', get_class( $this ) . " failed to concatenate " .
-                                       count( $params['srcs'] ) . " file(s) [$sec sec]" );
+                               wfDebugLog( 'FileOperation', get_class( $this ) . "-{$this->name}" .
+                                       " failed to concatenate " . count( $params['srcs'] ) . " file(s) [$sec sec]" );
                        }
                }
 
@@ -1122,6 +1122,8 @@ abstract class FileBackendStore extends FileBackend {
                                $subStatus->success[$i] = false;
                                ++$subStatus->failCount;
                        }
+                       wfDebugLog( 'FileOperation', get_class( $this ) . "-{$this->name} " .
+                               " stat failure; aborted operations: " . FormatJson::encode( $ops ) );
                }
 
                // Merge errors into status fields
index 845fd71..1eee6a2 100644 (file)
@@ -281,6 +281,10 @@ class ArchivedFile {
         * @return string
         */
        public function getName() {
+               if ( $this->name === false ) {
+                       $this->load();
+               }
+
                return $this->name;
        }
 
index 5895dda..a45cd72 100644 (file)
@@ -1728,17 +1728,20 @@ abstract class File {
 
        /**
         * Get an image size array like that returned by getImageSize(), or false if it
-        * can't be determined.
+        * can't be determined. Loads the image size directly from the file ignoring caches.
         *
-        * @param string $fileName The filename
-        * @return array
+        * @note Use getWidth()/getHeight() instead of this method unless you have a
+        *  a good reason. This method skips all caches.
+        *
+        * @param string $fileName The path to the file (e.g. From getLocalPathRef() )
+        * @return array The width, followed by height, with optionally more things after
         */
-       function getImageSize( $fileName ) {
+       function getImageSize( $filePath ) {
                if ( !$this->getHandler() ) {
                        return false;
                }
 
-               return $this->handler->getImageSize( $this, $fileName );
+               return $this->handler->getImageSize( $this, $filePath );
        }
 
        /**
index a8fa8bd..300e68e 100644 (file)
@@ -1248,19 +1248,13 @@ class LocalFile extends File {
                        wfProfileOut( __METHOD__ . '-getProps' );
                }
 
+               # Imports or such might force a certain timestamp; otherwise we generate
+               # it and can fudge it slightly to keep (name,timestamp) unique on re-upload.
                if ( $timestamp === false ) {
-                       // Use FOR UPDATE in case lock()/unlock() did not start the transaction
-                       $ltimestamp = $dbw->selectField( 'image', 'img_timestamp',
-                               array( 'img_name' => $this->getName() ), __METHOD__, array( 'FOR UPDATE' ) );
-                       $ltime = $ltimestamp ? wfTimestamp( TS_UNIX, $ltimestamp ) : false;
-                       $ctime = time();
-                       // Avoid a timestamp that is not newer than the last version
-                       if ( $ctime > $ltime ) {
-                               $timestamp = $dbw->timestamp( $ctime );
-                       } else {
-                               sleep( 1 ); // fast enough uploads will go in to the future otherwise
-                               $timestamp = $dbw->timestamp( $ltime + 1 );
-                       }
+                       $timestamp = $dbw->timestamp();
+                       $allowTimeKludge = true;
+               } else {
+                       $allowTimeKludge = false;
                }
 
                $props['description'] = $comment;
@@ -1303,6 +1297,20 @@ class LocalFile extends File {
                        'IGNORE'
                );
                if ( $dbw->affectedRows() == 0 ) {
+                       if ( $allowTimeKludge ) {
+                               # Use FOR UPDATE to ignore any transaction snapshotting
+                               $ltimestamp = $dbw->selectField( 'image', 'img_timestamp',
+                                       array( 'img_name' => $this->getName() ), __METHOD__, array( 'FOR UPDATE' ) );
+                               $lUnixtime = $ltimestamp ? wfTimestamp( TS_UNIX, $ltimestamp ) : false;
+                               # Avoid a timestamp that is not newer than the last version
+                               # TODO: the image/oldimage tables should be like page/revision with an ID field
+                               if ( $lUnixtime && wfTimestamp( TS_UNIX, $timestamp ) <= $lUnixtime ) {
+                                       sleep( 1 ); // fast enough re-uploads would go far in the future otherwise
+                                       $timestamp = $dbw->timestamp( $lUnixtime + 1 );
+                                       $this->timestamp = wfTimestamp( TS_MW, $timestamp ); // DB -> TS_MW
+                               }
+                       }
+
                        # (bug 34993) Note: $oldver can be empty here, if the previous
                        # version of the file was broken. Allow registration of the new
                        # version to continue anyway, because that's better than having
@@ -1836,8 +1844,8 @@ class LocalFile extends File {
        /**
         * Start a transaction and lock the image for update
         * Increments a reference counter if the lock is already held
-        * @throws MWException
-        * @return bool True if the image exists, false otherwise
+        * @throws MWException Throws an error if the lock was not acquired
+        * @return bool success
         */
        function lock() {
                $dbw = $this->repo->getMasterDB();
@@ -1849,21 +1857,22 @@ class LocalFile extends File {
                        }
                        $this->locked++;
                        // Bug 54736: use simple lock to handle when the file does not exist.
-                       // SELECT FOR UPDATE only locks records not the gaps where there are none.
-                       $cache = wfGetMainCache();
-                       $key = $this->getCacheKey();
-                       if ( !$cache->lock( $key, 5 ) ) {
+                       // SELECT FOR UPDATE prevents changes, not other SELECTs with FOR UPDATE.
+                       // Also, that would cause contention on INSERT of similarly named rows.
+                       $backend = $this->getRepo()->getBackend();
+                       $lockPaths = array( $this->getPath() ); // represents all versions of the file
+                       $status = $backend->lockFiles( $lockPaths, LockManager::LOCK_EX, 5 );
+                       if ( !$status->isGood() ) {
                                throw new MWException( "Could not acquire lock for '{$this->getName()}.'" );
                        }
-                       $dbw->onTransactionIdle( function () use ( $cache, $key ) {
-                               $cache->unlock( $key ); // release on commit
+                       $dbw->onTransactionIdle( function () use ( $backend, $lockPaths ) {
+                               $backend->unlockFiles( $lockPaths, LockManager::LOCK_EX ); // release on commit
                        } );
                }
 
                $this->markVolatile(); // file may change soon
 
-               return $dbw->selectField( 'image', '1',
-                       array( 'img_name' => $this->getName() ), __METHOD__, array( 'FOR UPDATE' ) );
+               return true;
        }
 
        /**
@@ -2394,10 +2403,14 @@ class LocalFileRestoreBatch {
                        return $this->file->repo->newGood();
                }
 
-               $exists = $this->file->lock();
+               $this->file->lock();
+
                $dbw = $this->file->repo->getMasterDB();
                $status = $this->file->repo->newGood();
 
+               $exists = (bool)$dbw->selectField( 'image', '1',
+                       array( 'img_name' => $this->file->getName() ), __METHOD__, array( 'FOR UPDATE' ) );
+
                // Fetch all or selected archived revisions for the file,
                // sorted from the most recent to the oldest.
                $conditions = array( 'fa_name' => $this->file->getName() );
@@ -2758,7 +2771,8 @@ class LocalFileMoveBatch {
                $result = $this->db->select( 'oldimage',
                        array( 'oi_archive_name', 'oi_deleted' ),
                        array( 'oi_name' => $this->oldName ),
-                       __METHOD__
+                       __METHOD__,
+                       array( 'FOR UPDATE' ) // ignore snapshot
                );
 
                foreach ( $result as $row ) {
old mode 100644 (file)
new mode 100755 (executable)
index c7ec014..a0dd370
@@ -24,8 +24,7 @@ class HTMLCheckField extends HTMLFormField {
                                array(
                                        'class' => 'mw-ui-checkbox-label'
                                ),
-                               Xml::check( $this->mName, $value, $attr ) . // Html:rawElement doesn't escape contents.
-                               htmlspecialchars( $this->mLabel ) );
+                               Xml::check( $this->mName, $value, $attr ) . $this->mLabel );
                } else {
                        return Xml::check( $this->mName, $value, $attr )
                        . '&#160;'
index c07fc3a..66e8bd9 100644 (file)
@@ -182,10 +182,7 @@ class WebInstaller extends Installer {
 
                $cssDir = $this->request->getVal( 'css' );
                if ( $cssDir ) {
-                       $cssDir = ( $cssDir == 'rtl' ? 'rtl' : 'ltr' );
-                       $this->request->response()->header( 'Content-type: text/css' );
-                       echo $this->output->getCSS( $cssDir );
-
+                       $this->outputCss( $cssDir );
                        return $this->session;
                }
 
@@ -354,8 +351,6 @@ class WebInstaller extends Installer {
                restore_error_handler();
 
                if ( $this->phpErrors ) {
-                       $this->showError( 'config-session-error', $this->phpErrors[0] );
-
                        return false;
                }
 
@@ -1158,4 +1153,20 @@ class WebInstaller extends Installer {
                return WebRequest::detectServer();
        }
 
+       /**
+        * @param string $dir CSS direction ( rtl or ltr )
+        */
+       public function outputCss( $dir ) {
+               $dir = ( $dir == 'rtl' ? 'rtl' : 'ltr' );
+               $this->request->response()->header( 'Content-type: text/css' );
+               echo $this->output->getCSS( $dir );
+       }
+
+       /**
+        * @return string[]
+        */
+       public function getPhpErrors() {
+               return $this->phpErrors;
+       }
+
 }
index 0439b13..c95e9df 100644 (file)
        "config-install-done": "<strong>Gratulrerer!</strong>\nDu har lykkes i å installere MediaWiki.\n\nInstallasjonsprogrammet har generert en <code>LocalSettings.php</code>-fil.\nDen inneholder alle dine konfigureringer.\n\nDu må laste den ned og legge den på hovedfolderen for din wiki-installasjon (der index.php ligger). Nedlastingen skulle ha startet automatisk.\n\nHvis ingen nedlasting ble tilbudt, eller du avbrøt den, kan du få den i gang ved å klikke på lenken under:\n\n$3\n\n<strong>OBS:</strong> Hvis du ikke gjør dette nå, vil den genererte konfigurasjonsfilen ikke være tilgjengelig for deg senere.\n\nNår dette er gjort, kan du <strong>[$2 gå inn i wikien]</strong>.",
        "config-download-localsettings": "Last ned <code>LocalSettings.php</code>",
        "config-help": "hjelp",
+       "config-help-tooltip": "klikk for å utvide",
        "config-nofile": "Filen \"$1\" ble ikke funnet. Kan den være blitt slettet?",
        "config-extension-link": "Visste du at wikien din kan brukes sammen med en mengde [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions utvidelser]?\n\nDu kan sjekke gjennom [//www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category utvidelser per kategori] eller [//www.mediawiki.org/wiki/Extension_Matrix utvidelsesmatrisen] for å se den komplette listen av utvidelser.",
        "mainpagetext": "'''MediaWiki-programvaren er nå installert.'''",
index 1ee2377..dda3d41 100644 (file)
@@ -11,7 +11,8 @@
                        "Arent",
                        "JurgenNL",
                        "Southparkfan",
-                       "Seb35"
+                       "Seb35",
+                       "Mar(c)"
                ]
        },
        "config-desc": "Het installatieprogramma voor MediaWiki",
        "config-install-done": "'''Gefeliciteerd!'''\nU hebt MediaWiki met succes geïnstalleerd.\n\nHet installatieprogramma heeft het bestand <code>LocalSettings.php</code> aangemaakt.\nDit bevat al uw instellingen.\n\nU moet het bestand downloaden en in de hoofdmap van uw wiki-installatie plaatsten, in dezelfde map als index.php.\nDe download moet u automatisch zijn aangeboden.\n\nAls de download niet is aangeboden of als u de download hebt geannuleerd, dan kunt u de download opnieuw starten door op de onderstaande koppeling te klikken:\n\n$3\n\n'''Let op''': als u dit niet nu doet, dan is het bestand als u later de installatieprocedure afsluit zonder het bestand te downloaden niet meer beschikbaar.\n\nNa het plaatsen van het bestand met instellingen kunt u '''[$2 uw wiki gebruiken]'''.",
        "config-download-localsettings": "<code>LocalSettings.php</code> downloaden",
        "config-help": "hulp",
+       "config-help-tooltip": "klik om uit te klappen",
        "config-nofile": "Het bestand \"$1\" is niet gevonden. Is het verwijderd?",
        "config-extension-link": "Weet u dat u [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions uitbreidingen] kunt gebruiken voor uw wiki?\nU kunt [//www.mediawiki.org/wiki/Special:MyLanguage/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/Help:Contents Inhoudsopgave handleiding] voor informatie over het gebruik van de wikisoftware.\n\n== Meer hulp over MediaWiki ==\n\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Lijst met instellingen]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Veelgestelde vragen (FAQ)]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailinglijst voor aankondigingen van nieuwe versies]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Maak MediaWiki beschikbaar in uw taal]"
+       "mainpagedocfooter": "Raadpleeg de [//meta.wikimedia.org/wiki/Special:MyLanguage/Help:Contents handleiding] voor informatie over het gebruik van de wikisoftware.\n\n== Meer hulp over MediaWiki ==\n\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Lijst met instellingen]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Veelgestelde vragen (FAQ)]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailinglijst voor aankondigingen van nieuwe versies]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Maak MediaWiki beschikbaar in uw taal]"
 }
index 91ed66c..83fb3d8 100644 (file)
@@ -5,12 +5,29 @@
                        "Psubhashish"
                ]
        },
+       "config-session-error": "ଅଧିବେଶନ ଆରମ୍ଭରେ ଅସୁବିଧା: $1",
+       "config-your-language": "ଆପଣଙ୍କ ଭାଷା:",
+       "config-your-language-help": "ଇନଷ୍ଟଲ କରିବା ବେଳେ ବ୍ୟବହାର ପାଇଁ ଏକ ଭାଷା ବାଛନ୍ତୁ ।",
+       "config-wiki-language": "ଉଇକି ଭାଷା:",
        "config-back": "← ପଛକୁ",
        "config-continue": "ଚାଲୁରଖିବେ →",
        "config-page-language": "ଭାଷା",
        "config-page-welcome": "ମେଡିଆଉଇକିକୁ ଆପଣଙ୍କୁ ସ୍ଵାଗତ",
+       "config-page-dbconnect": "ଡାଟାବେସ ସହ ଯୋଡ଼ନ୍ତୁ",
+       "config-page-upgrade": "ଏବେର ଇନଷ୍ଟଲେସନଟିକୁ ଅପଗ୍ରେଡ଼ କରନ୍ତୁ",
+       "config-page-dbsettings": "ଡାଟାବେସ ସଂରଚନା",
        "config-page-name": "ନାମ",
        "config-page-options": "ପସନ୍ଦସମୂହ",
+       "config-page-install": "ଇନଷ୍ଟଲ",
+       "config-page-complete": "ଶେଷ ହେଲା!",
+       "config-page-restart": "ଇନଷ୍ଟଲେସନ ପୁନଃଆରମ୍ଭ କରନ୍ତୁ",
+       "config-page-readme": "ପଢ଼ନ୍ତୁ",
+       "config-page-releasenotes": "ପ୍ରକାଶନ ସୂଚନା",
+       "config-page-copying": "ନକଲ କରୁଛି",
+       "config-page-upgradedoc": "ଅପଗ୍ରେଡ଼ କରୁଛି",
+       "config-page-existingwiki": "ଏବେକାର ଉଇକି",
+       "config-restart": "ହଁ, ଏହାକୁ ପୁନରାରମ୍ଭ କରନ୍ତୁ",
+       "config-env-php": "PHP $1 ଇନଷ୍ଟଲ ହେଲା ।",
        "config-license-cc-by-sa": "କ୍ରିଏଟିଭ କମନ୍ସ ଆଟ୍ରିବ୍ୟୁସନ-ସେଆର ଏଲାଇକ",
        "config-license-cc-by-nc-sa": "କ୍ରିଏଟିଭ କମନ୍ସ ଆଟ୍ରିବ୍ୟୁସନ-ନନକମର୍ସିଆଲ ସେଆର ଏଲାଇକ"
 }
index 4c92db1..2065352 100644 (file)
        "config-install-done": "'''Вітаємо!'''\nВи успішно встановили MediaWiki.\n\nІнсталятор згенерував файл <code>LocalSettings.php</code>, який містить усі Ваші налаштування.\n\nВам необхідно завантажити його і помістити у кореневу папку Вашої вікі (туди ж, де index.php). Завантаження мало початись автоматично.\n\nЯкщо завантаження не почалось або Ви його скасували, можете заново його почати, натиснувши на посилання внизу:\n\n$3\n\n'''Примітка''': Якщо Ви не зробите цього зараз, цей файл не буде доступним пізніше, коли Ви вийдете з встановлення, не скачавши його.\n\nПісля виконання дій, описаних вище, Ви зможете '''[$2 увійти у свою вікі]'''.",
        "config-download-localsettings": "Завантажити <code>LocalSettings.php</code>",
        "config-help": "допомога",
+       "config-help-tooltip": "натисніть, щоб розгорнути",
        "config-nofile": "Файл \"$1\" не знайдено. Його видалено?",
        "config-extension-link": "Чи знаєте ви, що ваше вікі підтримує [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions розширення]?\n\nВи можете переглядати [//www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category розширення по категорії] або в [//www.mediawiki.org/wiki/Extension_Matrix матрицю розширень] щоб побачити повний список розширень.",
        "mainpagetext": "Програмне забезпечення «MediaWiki» успішно встановлене.",
index 566efb2..200d526 100644 (file)
@@ -278,7 +278,14 @@ class DjVuHandler extends ImageHandler {
                $unser = unserialize( $metadata );
                wfRestoreWarnings();
                if ( is_array( $unser ) ) {
-                       return $unser['xml'];
+                       if ( isset( $unser['error'] ) ) {
+                               return false;
+                       } elseif ( isset( $unser['xml'] ) ) {
+                               return $unser['xml'];
+                       } else {
+                               // Should never ever reach here.
+                               throw new MWException( "Error unserializing DjVu metadata." );
+                       }
                }
 
                // unserialize failed. Guess it wasn't really serialized after all,
@@ -364,7 +371,8 @@ class DjVuHandler extends ImageHandler {
 
                $xml = $this->getDjVuImage( $image, $path )->retrieveMetaData();
                if ( $xml === false ) {
-                       return false;
+                       // Special value so that we don't repetitively try and decode a broken file.
+                       return serialize( array( 'error' => 'Error extracting metadata' ) );
                } else {
                        return serialize( array( 'xml' => $xml ) );
                }
index ab8fa14..f131af4 100644 (file)
@@ -573,7 +573,7 @@ abstract class MediaHandler {
        }
 
        /**
-        * Used instead of getLongDesc if there is no handler registered for file.
+        * Short description. Shown on Special:Search results.
         *
         * @param File $file
         * @return string
@@ -585,7 +585,7 @@ abstract class MediaHandler {
        }
 
        /**
-        * Short description. Shown on Special:Search results.
+        * Long description. Shown under image on image description page surounded by ().
         *
         * @param File $file
         * @return string
@@ -598,7 +598,7 @@ abstract class MediaHandler {
        }
 
        /**
-        * Long description. Shown under image on image description page surounded by ().
+        * Used instead of getShortDesc if there is no handler registered for file.
         *
         * @param File $file
         * @return string
@@ -610,7 +610,7 @@ abstract class MediaHandler {
        }
 
        /**
-        * Used instead of getShortDesc if there is no handler registered for file.
+        * Used instead of getLongDesc if there is no handler registered for file.
         *
         * @param File $file
         * @return string
index bcd5942..483f8b9 100644 (file)
@@ -270,7 +270,6 @@ class SqlBagOStuff extends BagOStuff {
                                                        array( 'keyname' => $key, 'exptime' => $row->exptime ),
                                                        __METHOD__ );
                                                $db->commit( __METHOD__, 'flush' );
-                                               $values[$key] = false;
                                        } else { // HIT
                                                $values[$key] = $this->unserialize( $db->decodeBlob( $row->value ) );
                                        }
@@ -278,7 +277,6 @@ class SqlBagOStuff extends BagOStuff {
                                        $this->handleWriteError( $e, $row->serverIndex );
                                }
                        } else { // MISS
-                               $values[$key] = false;
                                $this->debug( 'get: no matching rows' );
                        }
                }
index 7e0e45d..fbfe325 100644 (file)
@@ -31,8 +31,7 @@
  * See RevDelRevisionItem and RevDelArchivedRevisionItem for items.
  */
 class RevDelRevisionList extends RevDelList {
-       /** @var int */
-       protected $currentRevId;
+       var $currentRevId;
 
        public function getType() {
                return 'revision';
@@ -148,7 +147,7 @@ class RevDelRevisionList extends RevDelList {
  * Item class for a live revision table row
  */
 class RevDelRevisionItem extends RevDelItem {
-       protected $revision;
+       var $revision;
 
        public function __construct( $list, $row ) {
                parent::__construct( $list, $row );
@@ -471,15 +470,6 @@ class RevDelArchivedRevisionItem extends RevDelArchiveItem {
  * List for oldimage table items
  */
 class RevDelFileList extends RevDelList {
-       /** @var array */
-       protected $storeBatch;
-
-       /** @var array */
-       protected $deleteBatch;
-
-       /** @var array */
-       protected $cleanupBatch;
-
        public function getType() {
                return 'oldimage';
        }
@@ -496,6 +486,8 @@ class RevDelFileList extends RevDelList {
                return File::DELETED_FILE;
        }
 
+       var $storeBatch, $deleteBatch, $cleanupBatch;
+
        /**
         * @param DatabaseBase $db
         * @return mixed
@@ -577,8 +569,11 @@ class RevDelFileList extends RevDelList {
  * Item class for an oldimage table row
  */
 class RevDelFileItem extends RevDelItem {
-       /** @var File */
-       protected $file;
+
+       /**
+        * @var File
+        */
+       var $file;
 
        public function __construct( $list, $row ) {
                parent::__construct( $list, $row );
@@ -1042,9 +1037,7 @@ class RevDelLogItem extends RevDelItem {
                // User links and action text
                $action = $formatter->getActionText();
                // Comment
-               $comment = $this->list->getLanguage()->getDirMark()
-                       . Linker::commentBlock( $this->row->log_comment );
-
+               $comment = $this->list->getLanguage()->getDirMark() . Linker::commentBlock( $this->row->log_comment );
                if ( LogEventsList::isDeleted( $this->row, LogPage::DELETED_COMMENT ) ) {
                        $comment = '<span class="history-deleted">' . $comment . '</span>';
                }
@@ -1060,15 +1053,9 @@ class RevDelLogItem extends RevDelItem {
                        'type' => $logEntry->getType(),
                        'action' => $logEntry->getSubtype(),
                );
-               $ret += $logEntry->isDeleted( LogPage::DELETED_USER )
-                       ? array( 'userhidden' => '' )
-                       : array();
-               $ret += $logEntry->isDeleted( LogPage::DELETED_COMMENT )
-                       ? array( 'commenthidden' => '' )
-                       : array();
-               $ret += $logEntry->isDeleted( LogPage::DELETED_ACTION )
-                       ? array( 'actionhidden' => '' )
-                       : array();
+               $ret += $logEntry->isDeleted( LogPage::DELETED_USER ) ? array( 'userhidden' => '' ) : array();
+               $ret += $logEntry->isDeleted( LogPage::DELETED_COMMENT ) ? array( 'commenthidden' => '' ) : array();
+               $ret += $logEntry->isDeleted( LogPage::DELETED_ACTION ) ? array( 'actionhidden' => '' ) : array();
 
                if ( LogEventsList::userCan( $this->row, LogPage::DELETED_ACTION, $user ) ) {
                        ApiQueryLogEvents::addLogParams(
index 086db3a..4dc9388 100644 (file)
@@ -105,9 +105,7 @@ abstract class RevDelList extends RevisionListBase {
                        $status->itemStatuses = array();
                }
 
-               // @codingStandardsIgnoreStart Generic.CodeAnalysis.ForLoopWithTestFunctionCall.NotAllowed
                for ( $this->reset(); $this->current(); $this->next() ) {
-                       // @codingStandardsIgnoreEnd
                        $item = $this->current();
                        unset( $missing[$item->getId()] );
 
index ad92298..0490d82 100644 (file)
@@ -296,7 +296,7 @@ class SpecialAllpages extends IncludableSpecialPage {
                $bottomLinks = array();
 
                # Do we put a previous link ?
-               if ( isset( $prevTitle ) && $pt = $prevTitle->getText() ) {
+               if ( $prevTitle && $pt = $prevTitle->getText() ) {
                        $query = array( 'from' => $prevTitle->getText() );
 
                        if ( $namespace ) {
index f4ce882..dcd2443 100644 (file)
@@ -83,7 +83,7 @@ class SpecialChangePassword extends FormSpecialPage {
                $request = $this->getRequest();
 
                $oldpassMsg = $this->mOldPassMsg;
-               if ( !isset( $oldpassMsg ) ) {
+               if ( $oldpassMsg === null ) {
                        $oldpassMsg = $user->isLoggedIn() ? 'oldpassword' : 'resetpass-temp-password';
                }
 
index 9cf5a73..b6c9d55 100644 (file)
@@ -101,7 +101,7 @@ class FileDuplicateSearchPage extends QueryPage {
                $this->setHeaders();
                $this->outputHeader();
 
-               $this->filename = isset( $par ) ? $par : $this->getRequest()->getText( 'filename' );
+               $this->filename = $par !== null ? $par : $this->getRequest()->getText( 'filename' );
                $this->file = null;
                $this->hash = '';
                $title = Title::newFromText( $this->filename, NS_FILE );
index c44e8e1..b88e196 100644 (file)
@@ -209,7 +209,7 @@ class LinkSearchPage extends QueryPage {
                global $wgMiserMode;
                $params = array();
                $params['target'] = $this->mProt . $this->mQuery;
-               if ( isset( $this->mNs ) && !$wgMiserMode ) {
+               if ( $this->mNs !== null && !$wgMiserMode ) {
                        $params['namespace'] = $this->mNs;
                }
 
@@ -244,7 +244,7 @@ class LinkSearchPage extends QueryPage {
                        'options' => array( 'USE INDEX' => $clause )
                );
 
-               if ( isset( $this->mNs ) && !$wgMiserMode ) {
+               if ( $this->mNs !== null && !$wgMiserMode ) {
                        $retval['conds']['page_namespace'] = $this->mNs;
                }
 
index 6b54fe8..3715b8b 100644 (file)
@@ -170,9 +170,14 @@ class ImageListPager extends TablePager {
                                'img_name' => $this->msg( 'listfiles_name' )->text(),
                                'thumb' => $this->msg( 'listfiles_thumb' )->text(),
                                'img_size' => $this->msg( 'listfiles_size' )->text(),
-                               'img_user_text' => $this->msg( 'listfiles_user' )->text(),
-                               'img_description' => $this->msg( 'listfiles_description' )->text(),
                        );
+                       if ( is_null( $this->mUserName ) ) {
+                               // Do not show username if filtering by username
+                               $this->mFieldNames['img_user_text'] = $this->msg( 'listfiles_user' )->text();
+                       }
+                       // img_description down here, in order so that its still after the username field.
+                       $this->mFieldNames['img_description'] = $this->msg( 'listfiles_description' )->text();
+
                        if ( !$wgMiserMode && !$this->mShowAll ) {
                                $this->mFieldNames['count'] = $this->msg( 'listfiles_count' )->text();
                        }
index b6b60d4..34e803d 100644 (file)
@@ -76,7 +76,7 @@ class SpecialPrefixindex extends SpecialAllpages {
                );
 
                $showme = '';
-               if ( isset( $par ) ) {
+               if ( $par !== null ) {
                        $showme = $par;
                } elseif ( $prefix != '' ) {
                        $showme = $prefix;
@@ -167,6 +167,7 @@ class SpecialPrefixindex extends SpecialAllpages {
                $fromList = $this->getNamespaceKeyAndText( $namespace, $from );
                $prefixList = $this->getNamespaceKeyAndText( $namespace, $prefix );
                $namespaces = $wgContLang->getNamespaces();
+               $res = null;
 
                if ( !$prefixList || !$fromList ) {
                        $out = $this->msg( 'allpagesbadtitle' )->parseAsBlock();
@@ -261,9 +262,7 @@ class SpecialPrefixindex extends SpecialAllpages {
                                '</td>
                                <td id="mw-prefixindex-nav-form" class="mw-prefixindex-nav">';
 
-                       if ( isset( $res ) && $res && ( $n == $this->maxPerPage ) &&
-                               ( $s = $res->fetchObject() )
-                       ) {
+                       if ( $res && ( $n == $this->maxPerPage ) && ( $s = $res->fetchObject() ) ) {
                                $query = array(
                                        'from' => $s->page_title,
                                        'prefix' => $prefix,
index 797f588..d3b168b 100644 (file)
@@ -572,12 +572,12 @@ class SpecialRevisionDelete extends UnlistedSpecialPage {
                // from dropdown
                $listReason = $this->getRequest()->getText( 'wpRevDeleteReasonList', 'other' );
                $comment = $listReason;
-               if ( $comment != 'other' && $this->otherReason != '' ) {
+               if ( $comment === 'other' ) {
+                       $comment = $this->otherReason;
+               } elseif ( $this->otherReason !== '' ) {
                        // Entry from drop down menu + additional comment
                        $comment .= $this->msg( 'colon-separator' )->inContentLanguage()->text()
                                . $this->otherReason;
-               } elseif ( $comment == 'other' ) {
-                       $comment = $this->otherReason;
                }
                # Can the user set this field?
                if ( $bitParams[Revision::DELETED_RESTRICTED] == 1
index 6d6b2c1..51235ee 100644 (file)
@@ -550,6 +550,7 @@ class PageArchive {
 
                $ret->seek( $rev_count - 1 ); // move to last
                $row = $ret->fetchObject(); // get newest archived rev
+               $oldPageId = (int)$row->ar_page_id; // pass this to ArticleUndelete hook
                $ret->seek( 0 ); // move back
 
                // grab the content to check consistency with global state before restoring the page.
@@ -642,7 +643,7 @@ class PageArchive {
                        );
                }
 
-               wfRunHooks( 'ArticleUndelete', array( &$this->title, $created, $comment ) );
+               wfRunHooks( 'ArticleUndelete', array( &$this->title, $created, $comment, $oldPageId ) );
 
                if ( $this->title->getNamespace() == NS_FILE ) {
                        $update = new HTMLCacheUpdate( $this->title, 'imagelinks' );
index 6488810..d980f79 100644 (file)
@@ -64,7 +64,7 @@ class SpecialWhatLinksHere extends IncludableSpecialPage {
                $opts->validateIntBounds( 'limit', 0, 5000 );
 
                // Give precedence to subpage syntax
-               if ( isset( $par ) ) {
+               if ( $par !== null ) {
                        $opts->setValue( 'target', $par );
                }
 
index 1419bbb..6be186f 100644 (file)
@@ -546,6 +546,9 @@ class ZipDirectoryReader {
         * If there are not enough bytes in the file to satisfy the request, the
         * return value will be truncated. If a request is made for a segment beyond
         * the end of the file, an empty string will be returned.
+        *
+        * @param int $segIndex
+        *
         * @return string
         */
        function getSegment( $segIndex ) {
index bd8c2bf..50f5d7c 100644 (file)
@@ -62,7 +62,7 @@
        "tog-showhiddencats": "Gizli kateqoriyaları göstər",
        "tog-norollbackdiff": "Geri qaytardıqdan sonra, edilmiş dəyişikikləri dəyişikliklər siyahısından sil",
        "tog-useeditwarning": "Qeyd edilməmiş dəyişikliyə sahib bir dəyişiklik səhifəsindən çıxarkən məni xəbərdar et",
-       "tog-prefershttps": "Sessiya aaçarkən hər zaman etibarlı bağlantıdan istifadə et.",
+       "tog-prefershttps": "Sessiya açarkən hər zaman etibarlı bağlantıdan istifadə et.",
        "underline-always": "Həmişə",
        "underline-never": "Heç vaxt",
        "underline-default": "Susmaya görə brouzer",
        "sectioneditnotsupported-text": "Bölüm redaktəsi bu səhifədə dəstəklənmir.",
        "permissionserrors": "İcazə xətası",
        "permissionserrorstext": "Siz, bunu aşağıdakı {{PLURAL:$1|səbəbə|səbəblərə}} görə edə bilməzsiniz:",
-       "permissionserrorstext-withaction": "Aşağıdakı {{PLURAL:$1|səbəbə|səbəblərə}} görə $2 hüququnuz yoxdur:",
+       "permissionserrorstext-withaction": "Aşağıdakı {{PLURAL:$1|səbəbə|səbəblərə}} görə, $2 hüququnuz yoxdur:",
        "recreate-moveddeleted-warn": "'''Diqqət! Siz əvvəllər silinmiş səhifəni bərpa etmək istəyirsiz.'''\n\nBu səhifəni yenidən yaratmağın nə qədər zəruri olduğunu bir daha yoxlayın.\nBu səhifə üçün silmə qeydləri aşağıda göstərilmişdir:",
        "moveddeleted-notice": "Bu səhifə silinmişdir.\nMəlumat üçün aşağıda bu səhifənin tarixçəsindən müvafiq silmə qeydləri göstərilmişdir.",
        "log-fulllog": "Bütöv məlumatı göstər",
        "prefs-emailconfirm-label": "E-poçtun təsdiqlənməsi:",
        "youremail": "E-məktub:",
        "username": "İstifadəçi adı:",
-       "uid": "İstifadəçi ID:",
        "prefs-memberingroups": "Üzvü olduğu {{PLURAL:$1|qrup|qrup}}:",
        "prefs-memberingroups-type": "$1",
        "prefs-registration": "Qeydiyyat vaxtı:",
        "logempty": "Jurnalda uyğun qeyd tapılmadı.",
        "log-title-wildcard": "Bu mətnlə başlayan başlıqları axtar",
        "allpages": "Bütün səhifələr",
-       "alphaindexline": "$1 məqaləsindən $2 məqaləsinə kimi",
        "nextpage": "Sonrakı səhifə ($1)",
        "prevpage": "Əvvəlki səhifə ($1)",
        "allpagesfrom": "Bu hərflə başlayan səhifələri göstər:",
index d2efc3a..3ad3ca9 100644 (file)
@@ -13,7 +13,8 @@
                        "Wikifan",
                        "bar.wikipedia.org administrators",
                        "✓",
-                       "아라"
+                       "아라",
+                       "Matthias Klostermayr"
                ]
        },
        "tog-underline": "Links unterstreichen:",
@@ -61,7 +62,7 @@
        "editfont-monospace": "Schrift mid ner festen Zeichenbreaden",
        "editfont-sansserif": "Serifenlose Groteskschrift",
        "editfont-serif": "Schrift mid Serifen",
-       "sunday": "Sundog",
+       "sunday": "Sunda",
        "monday": "Mondog",
        "tuesday": "Deansdog",
        "wednesday": "Midwoch",
        "anoneditwarning": "Obocht: Du bist ned eigloggt.\nDei IP-Adress wead in da Versionsgschicht afzoachnet.",
        "missingsummary": "'''Hiwais:''' du host koa Zåmmfossung ågeem. Wånn du ernait auf „{{int:savearticle}}“ druckst, werd dai Enderung one a Zåmmfossung ywernumma.",
        "missingcommenttext": "Bittschee gib a Zåmmfossung ai.",
-       "summary-preview": "Vurschau vo da Zåmmfossung:",
+       "summary-preview": "Voaschau vo da Zammfossung:",
        "subject-preview": "Vurschau vom Bedreff:",
        "blockedtitle": "Da Benytzer is gsperrt",
        "whitelistedittext": "Du muasst de $1, um Saiten beorwaiten z' kenna.",
        "logempty": "Koane passenden Einträg.",
        "log-title-wildcard": "Da Titel faungt auh mid ....",
        "allpages": "Olle Seitn",
-       "alphaindexline": "$1 bis $2",
        "nextpage": "Naxde Seiten ($1)",
        "prevpage": "Vurherige Seiten ($1)",
        "allpagesfrom": "Seiten auhzoang ob:",
index 2a84873..60eca76 100644 (file)
        "permalink": "Permanenteng kilyawan",
        "print": "Imprintaron",
        "view": "Tanawon",
+       "view-foreign": "Hilngon sa $1",
        "edit": "Liwatón",
+       "edit-local": "Liwaton an lokal na deskripsyon",
        "create": "Muknaon",
+       "create-local": "Idugang an lokal na deskripsyon",
        "editthispage": "Liwata ining pahina",
        "create-this-page": "Muknaon ining pahina",
        "delete": "Puraon",
        "gotaccountlink": "Maglaog",
        "userlogin-resetlink": "Nakalingaw ka sa panlaog mong detalye?",
        "userlogin-resetpassword-link": "Nalingawan mo an saimong pasa-taramon?",
+       "userlogin-helplink2": "Katabangan sa paglalaog",
        "userlogin-loggedin": "Ika nakalaog na tabi bilang si {{GENDER:$1|$1}}.\nGamita an porma sa ibaba sa paglaog bilang ibang paragamit.",
        "userlogin-createanother": "Magmukna nin ibang panindog",
        "createacct-emailrequired": "Estada kan e-surat",
        "suspicious-userlogout": "An hinahagad mong magluwas pinagpundo nin huli ta ini gayod pinagpadara sa paagi nin sarong pasang kilyaw o proksing hilom.",
        "createacct-another-realname-tip": "An totoong pangaran opsyonal.\nKun gustuhon mong itao ini, ini paggagamiton sa pagtatao nin pagkakabistohan kan paragamit para sa saindang mga kaggibohan.",
        "pt-login": "Maglaog",
+       "pt-login-button": "Maglaog",
        "pt-createaccount": "Magmukna nin panindog",
        "pt-userlogout": "Magluwas",
        "php-mail-error-unknown": "Bakong bantog na kasalaan sa PHP mail() function.",
        "resetpass-temp-password": "Temporaryong sekretong panlaog:",
        "resetpass-abort-generic": "Pagliwat kan sikretong panlaog ipinagpauntok kan sarong ekstensyon.",
        "resetpass-expired": "An saimong pasa-taramon nagpalso na. Tabi man pakikaag nin sarong baguhong pasa-taramon tanganing makalaog ka.",
-       "resetpass-expired-soft": "An saimong pasa-taramon nagpalso na, asin kinakaipuhan na baguhan. Tabi man pakipili nin sarong baguhong pasa-taramon ngunyan, o i-klik an kanselaron sa pagbago kaini aro-atyan.",
+       "resetpass-expired-soft": "An saimong pasa-taramon nagpalso na, asin kinakaipuhan na baguhon. Tabi man pakipili nin sarong baguhong pasa-taramon ngunyan, o i-klik an \"{{int:resetpass-submit-cancel}}\" kun baguhon sa aro-atyan.",
        "passwordreset": "Pakibago kan sekretong panlaog",
        "passwordreset-text-one": "Kumpletuhon ining porma sa pagliwat otro kan saimong pasa-taramon.",
        "passwordreset-text-many": "{{PLURAL:$1|Kaagi an saro sa mga kaaganan tanganing makaresibe nin sarong temporaryong pasa-taramon sa paagi kan e-surat.}}",
        "prefs-emailconfirm-label": "Kumpirmasyon sa E-koreo",
        "youremail": "E-surat:",
        "username": "{{GENDER:$1|Pangaran nin paragamit}}:",
-       "uid": "{{GENDER:$1|Paragamit}} ID:",
        "prefs-memberingroups": "{{GENDER:$2|Miyembro}} kan {{PLURAL:$1|grupo|mga grupo}}:",
        "prefs-registration": "Rehistrasyong oras:",
        "yourrealname": "Totoong pangaran:",
        "log-title-wildcard": "Hanapon an mga titulong napopoon sa tekstong ini",
        "showhideselectedlogentries": "Ipahiling/itago an pinagpiling mga entrada sa talaan",
        "allpages": "Gabos na mga pahina",
-       "alphaindexline": "$1 sagkod sa $2",
        "nextpage": "Sunod na pahina ($1)",
        "prevpage": "Nakaaging pahina ($1)",
        "allpagesfrom": "Ipahiling an mga páhina poon sa:",
index 79984e3..8d726e5 100644 (file)
        "october-date": "$1 кастрычніка",
        "november-date": "$1 лістапада",
        "december-date": "$1 сьнежня",
-       "pagecategories": "{{PLURAL:$1|Катэгорыя|Катэгорыі|Катэгорыі}}",
+       "pagecategories": "{{PLURAL:$1|1=Катэгорыя|Катэгорыі}}",
        "category_header": "Старонкі ў катэгорыі «$1»",
        "subcategories": "Падкатэгорыі",
        "category-media-header": "Файлы ў катэгорыі «$1»",
        "movenotallowedfile": "Вы ня маеце правоў на перайменаваньне файлаў.",
        "cant-move-user-page": "Вы ня маеце правоў для пераносу старонак удзельнікаў (апрача падстаронак).",
        "cant-move-to-user-page": "Вы ня маеце правоў для пераносу старонкі ў прастору ўдзельніка (апрача падстаронак).",
+       "cant-move-category-page": "Вы ня маеце правоў для пераносу старонак катэгорыяў.",
+       "cant-move-to-category-page": "Вы ня маеце правоў для пераносу старонак у прастору назваў катэгорыяў.",
        "newtitle": "Новая назва:",
        "move-watch": "Назіраць за гэтай старонкай",
        "movepagebtn": "Перанесьці старонку",
        "newimages-summary": "Гэтая спэцыяльная старонка паказвае нядаўна загружаныя файлы.",
        "newimages-legend": "Фільтар",
        "newimages-label": "Назва файла (альбо яе частка):",
+       "newimages-showbots": "Паказаць загружаныя робатамі",
        "noimages": "Выявы адсутнічаюць.",
        "ilsubmit": "Шукаць",
        "bydate": "па даце",
        "imgmultigoto": "Перайсьці на старонку $1",
        "img-lang-default": "(мова па змоўчаньні)",
        "img-lang-info": "Паказаць гэтую выяву наступнай мовай: $1. $2",
+       "img-lang-go": "Паказаць",
        "ascending_abbrev": "узраст.",
        "descending_abbrev": "зьмянш.",
        "table_pager_next": "Наступная старонка",
        "watchlistedit-raw-done": "Ваш сьпіс назіраньня быў абноўлены.",
        "watchlistedit-raw-added": "$1 {{PLURAL:$1|запіс быў дададзены|запісы былі дададзеныя|запісаў былі дададзеныя}}:",
        "watchlistedit-raw-removed": "$1 {{PLURAL:$1|запіс быў выдалены|запісы былі выдаленыя|запісаў былі выдаленыя}}:",
+       "watchlistedit-clear-title": "Чыстка сьпісу назіраньня",
+       "watchlistedit-clear-legend": "Ачысьціць сьпіс назіраньня",
+       "watchlistedit-clear-explain": "Усе старонкі будуць выдаленыя з вашага сьпісу назіраньня",
        "watchlisttools-view": "Паказаць зьмены ў старонках зь сьпісу",
        "watchlisttools-edit": "Праглядзець альбо рэдагаваць сьпіс назіраньня",
        "watchlisttools-raw": "Рэдагаваць як тэкст",
index bfc79a6..74acbce 100644 (file)
        "pool-errorunknown": "অজানা ত্রুটি",
        "aboutsite": "{{SITENAME}} বৃত্তান্ত",
        "aboutpage": "Project:বৃত্তান্ত",
-       "copyright": "$1 এর আওতায় প্রকাশিত যদি অন্য কিছু নির্ধারিত না থাকে।",
+       "copyright": "বিষয়বস্তু $1-এর আওতায় প্রকাশিত যদি না অন্য কিছু নির্ধারিত থাকে।",
        "copyrightpage": "{{ns:project}}:কপিরাইট",
        "currentevents": "সমসাময়িক ঘটনা",
        "currentevents-url": "Project:সমসাময়িক ঘটনাসমূহ",
        "createacct-imgcaptcha-ph": "উপরে যে লেখা দেখতে পাচ্ছেন তা লিখুন",
        "createacct-submit": "আপনার অ্যাকাউন্ট তৈরি করুন",
        "createacct-another-submit": "আরেকটি অ্যাকাউন্ট তৈরি করুন",
-       "createacct-benefit-heading": "{{SITENAME}} আপনার মত লোকেরই তৈরি।",
+       "createacct-benefit-heading": "{{SITENAME}} আপনার মত লোকের দ্বারাই তৈরি।",
        "createacct-benefit-body1": "{{PLURAL:$1|টি সম্পাদনা}}",
        "createacct-benefit-body2": "{{PLURAL:$1|টি পাতা}}",
        "createacct-benefit-body3": "জন সাম্প্রতিক {{PLURAL:$1|অবদানকারী}}",
        "revdelete-show-file-confirm": "আপনি কি নিশ্চিত যে \"<nowiki>$1</nowiki>\" ফাইলের $2 তারিখের $3 টার অপসারণ লগ দেখানো হবে?",
        "revdelete-show-file-submit": "হ্যাঁ",
        "revdelete-selected-text": "[[:$2]] পাতার {{PLURAL:$1|নির্বাচিত সংশোধন|নির্বাচিত সংশোধনসমূহ}}:",
+       "revdelete-selected-file": "[[:$2]]-এর {{PLURAL:$1|নির্বাচিত ফাইল সংস্করণ|নির্বাচিত ফাইল সংস্করণগুলি}}:",
        "logdelete-selected": "{{PLURAL:$1|টি নির্বাচিত লগ-ঘটনা|টি নির্বাচিত লগ-ঘটনা}}:",
        "revdelete-confirm": "অনুগ্রহ করে নিশ্চিত করুন যে আপনি এটি করতে চাচ্ছিলেন, আপনি এর ফলাফল সম্পর্কে অবগত আছেন, এবং [[{{MediaWiki:Policy-url}}|নীতিমালার]] উপর ভিত্তি করেই এই কাজটি করছেন।",
        "revdelete-suppress-text": "নিচের বিষয়গুলোর ক্ষেত্রেই '''কেবলমাত্র'''  চাপাচাপি করা যাবে:\n* সম্ভাব্য মানহানিকর তথ্য\n* ভুল ব্যক্তিগত তথ্য\n*: ''বাসার ঠিকানা এবং ফোন নম্বর, সোসাল সিকিউরিটি নম্বর, ইত্যাদি।''",
        "doubleredirects": "দুইবার করা পুনর্নির্দেশনাগুলি",
        "doubleredirectstext": "এই পাতায় এমন পাতাগুলোর তালিকা আছে, যেগুলো অন্য কোন পুনর্নির্দেশনা পাতায় পুনর্নির্দেশিত হয়েছে। প্রতিটি সারিতে প্রথম ও দ্বিতীয় পুনর্নির্দেশনার জন্য সংযোগ আছে এবং দ্বিতীয় পুনর্নির্দেশনাটির লক্ষ্য সংযোগটিও দেওয়া আছে। এই লক্ষ্য সংযোগটিই সাধারণত \"আসল\" লক্ষ্য পাতা, যেটিতে প্রথম পুনর্নির্দেশনাটি থেকে সংযোগ থাকা উচিত।\n<del>কেটে দেওয়া</del> ভুক্তিগুলো ঠিক করা হয়েছে।",
        "double-redirect-fixed-move": "[[$1]] সরিয়ে নেওয়া হয়েছে।\nএটি এখন [[$2]] এ পুনঃনির্দেশিত হয়েছে।",
-       "double-redirect-fixed-maintenance": "[[$1]] থেকে [[$2]] এর দ্বিপুনঃর্নিদেশ সংশোধন করা হয়েছে।",
+       "double-redirect-fixed-maintenance": "রক্ষণাবেক্ষণ কাজ হিসাবে [[$1]] থেকে [[$2]] এর দ্বিপুনঃর্নিদেশ স্বয়ংক্রিয়ভাবে সংশোধন করা হয়েছে।",
        "double-redirect-fixer": "পুনঃনির্দেশনা মেরামতকারী",
        "brokenredirects": "অকার্যকর পুনর্নির্দেশনাসমূহ",
        "brokenredirectstext": "নিচের পুনর্নির্দেশনাগুলো অস্তিত্বহীন পাতাকে নির্দেশ করছে:",
        "protectedpages-cascade": "শুধুমাত্র প্রপাতাকার সুরক্ষা",
        "protectedpages-noredirect": "পুনর্নির্দেশনাগুলো লুকাও",
        "protectedpagesempty": "কোন পাতা বর্তমানে এই প্যারামিটারগুলিসহ সুরক্ষিত নয়।",
+       "protectedpages-timestamp": "সময়বার্তা",
        "protectedpages-page": "পাতা",
        "protectedpages-expiry": "মেয়াদোত্তীর্ণ হবে",
        "protectedpages-performer": "ব্যবহারকারীকে সুরক্ষিত করা হচ্ছে",
        "watchlistedit-clear-legend": "নজরতালিকা পরিস্কার",
        "watchlistedit-clear-explain": "সকল শিরোনামসমূহ আপনার নজরতালিকা থেকে সরিয়ে নেয়া হয়েছে।",
        "watchlistedit-clear-titles": "শিরোনামসমূহ:",
+       "watchlistedit-clear-submit": "নজরতালিকা পরিষ্কার করুন (এটি স্থায়ী!)",
+       "watchlistedit-clear-done": "আপনার নজরতালিকা পরিষ্কার করা হয়েছে।",
+       "watchlistedit-clear-removed": "{{PLURAL:$1|১টি শিরোনাম|$1টি শিরোনাম}} সরিয়ে ফেলা হয়েছে:",
+       "watchlistedit-too-many": "এখানে প্রদর্শনের জন্য অনেক পাতা রয়েছে।",
+       "watchlisttools-clear": "নজরতালিকা পরিস্কার করুন",
        "watchlisttools-view": "সম্পর্কিত পরিবর্তনসমূহ দেখুন",
        "watchlisttools-edit": "নজর তালিকা দেখুন এবং সম্পাদনা করুন",
        "watchlisttools-raw": "অশোধিত নজরতালিকা সম্পাদনা করুন",
        "version-ext-colheader-description": "বিবরণ",
        "version-ext-colheader-credits": "লেখক",
        "version-license-title": "$1-এর জন্য লাইসেন্স",
+       "version-license-not-found": "এই এক্সটেনশনের জন্য কোনো বিস্তারিত লাইসেন্স তথ্য পাওয়া যায়নি।",
        "version-credits-title": "$1-এর জন্য কৃতিত্ব",
        "version-credits-not-found": "এই এক্সটেনশনটির জন্য কোনো বিস্তারিত কৃতিত্ব তথ্য পাওয়া যায়নি।",
        "version-poweredby-credits": "এইক উইকিটি পরিচালিত হচ্ছে '''[https://www.mediawiki.org/ মিডিয়াউইকি]'''-এর মাধ্যমে, কপিরাইট © ২০০১-$1 $2।",
index b15b7ed..2f288d7 100644 (file)
        "content-failed-to-parse": "Чулацам $2 богӀуш бац $1: $3.",
        "invalid-content-data": "Хилийта йиш йоцу хаамаш",
        "content-not-allowed-here": "Чулацам \"$1\" [[$2]] агӀонгахь хилийта йиш яц",
+       "editpage-notsupportedcontentformat-title": "Чулацаман тайпа ловш яц",
        "content-model-wikitext": "вики-йоза",
        "content-model-text": "цхьалхе йоза",
        "content-model-javascript": "JavaScript",
        "right-move": "АгӀонашан цӀераш хийцар",
        "right-move-subpages": "АгӀонашан цӀераш хийцар цера бухара агӀонашцан",
        "right-move-rootuserpages": "декъашхочун ораман агӀонийн цӀераш хийцар",
+       "right-move-categorypages": "Категорийн агӀонийн цӀераш хийцар",
        "right-movefile": "Файлийн цӀе хийцар",
        "right-suppressredirect": "агӀона цӀе хуьйцуш ширчу цӀарах ма кхолла дӀасахьажаяр",
        "right-upload": "Файлаш чуйаьхар",
        "action-createpage": "агӀонаш кхолла",
        "action-createtalk": "дийцаре агӀонаш кхоллар",
        "action-createaccount": "хӀара декъашхочун дӀаяздар кхоллар",
+       "action-history": "хӀокху агӀона исторега хьажар",
        "action-minoredit": "жима нисдар сана билгало",
        "action-move": "хӀокху агӀон цӀе хийца",
        "action-move-subpages": "хӀокху агӀона цӀе хийцар цуна массо бухара агӀонийн а",
        "action-move-rootuserpages": "декъашхочун ораман агӀонийн цӀераш хийцар",
+       "action-move-categorypages": "категорийн агӀонийн цӀераш хийцар",
        "action-movefile": "хӀокху файлан цӀе хийца",
        "action-upload": "чуяккха хӀара файл",
        "action-reupload": "йолуш йолу файлан тӀехула дӀаязъяр",
        "uploadnologintext": "Серверан чу файлаш яха хьо $1.",
        "uploaderror": "Файл чуяккхаран гӀалат",
        "upload-recreate-warning": "'''Тегам бе: иштта цӀе йолу файл дӀаяьккхина я цӀе хийцина.'''\n\nЛахахьа гойтуш ю хӀокху агӀона тептар:",
-       "uploadtext": "Лелайе хӀара агӀо сервер чу файлаш йохуш.\nХьалхо чуйаьхна файлаш хьажа,  [[Special:FileList|кхузахь]]. Кхин чуйаьхна файлаш дӀаязло [[Special:Log/upload|чуяхаран тептар чохь]], дӀаяьхна файлаш каро йиш ю [[Special:Log/delete|кхузахь]].\n\nФайл агӀона чуйилла лелабе лахара могӀанаш:\n* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.jpg]]</nowiki></code>''' файла Файлан юьззина верси чуйиллуш;\n* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.png|200px|thumb|left|цунахь лаьцна хаам]]</nowiki></code>''' 200 пиксель барамехь файл чуйилар бухахь цунахь лаьцна могӀа а болуш;\n* '''<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:File.ogg]]</nowiki></code>''' файлан тӀе хьажораг хӀотайо файл агӀонгахь ца гуш.",
+       "uploadtext": "Лелайе хӀара агӀо сервер чу файлаш йохуш.\nХьалхо чуяьхна файлаш хьажа,  [[Special:FileList|кхузахь]]. Кхин чуяьхна файлаш дӀаязло [[Special:Log/upload|чуяхаран тептар чохь]], дӀаяьхна файлаш каро йиш ю [[Special:Log/delete|кхузахь]].\n\nФайл агӀона чуйилла лелабе лахара могӀанаш:\n* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.jpg]]</nowiki></code>''' файла Файлан юьззина верси чуйиллуш;\n* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.png|200px|thumb|left|цунахь лаьцна хаам]]</nowiki></code>''' 200 пиксель барамехь файл чуйилар бухахь цунахь лаьцна могӀа а болуш;\n* '''<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:File.ogg]]</nowiki></code>''' файлан тӀе хьажораг хӀотайо файл агӀонгахь ца гуш.",
        "upload-permitted": "Магийна файлийн тайпанаш: $1.",
        "upload-preferred": "Магийна файлийн тайпанаш: $1.",
        "upload-prohibited": "Магийна доцу файлийн тайпанаш: $1.",
        "upload-warning-msg": "Чуйоккхуш [$2] гӀалат даьлла. И нисдан юхагӀо [[Special:Upload/stash/$1|upload form]] чу.",
        "upload-proto-error": "Нийса йоцу протокол",
        "upload-file-error": "Чоьхьара гӀалат",
+       "upload-misc-error": "Чуяккхаран цадевза гӀалат",
        "upload-http-error": "Даьлла гӀалат HTTP: $1",
        "backend-fail-stream": "ДӀаяккха цатарло файл «$1».",
        "backend-fail-backup": "Таро яц файлан $1 тӀаьхьалонан копиян.",
        "uploadstash-errclear": "Файлаш дӀацӀанъян цаелира.",
        "uploadstash-refresh": "Карлабаккха файлийн могӀам",
        "img-auth-accessdenied": "ТӀекхача магийна дац",
+       "img-auth-streaming": "Тоба дӀаелар «$1».",
        "http-invalid-url": "ГӀалате URL: $1",
        "http-read-error": "Ешаран гӀалат HTTP.",
        "http-timed-out": "Хьежаран хан чекхели HTTP-жоп дехаран.",
+       "http-curl-error": "URLан гӀалат: $1",
        "upload-curl-error28": "Чуйоккху хан чеккхелла",
        "license": "Бакъойалар:",
        "license-header": "Бакъойалар",
        "statistics-articles": "Яззамаш",
        "statistics-pages": "АгӀонаш",
        "statistics-pages-desc": "Массо вики агlонаш, дийцаре агlонашцани, дlасахьаждарш а кхин дерш.",
-       "statistics-files": "Чуйаьхна файлаш",
+       "statistics-files": "Чуяьхна файлаш",
        "statistics-edits": "Нисдаран дукхалла {{grammar:genitive|{{SITENAME}}}} дlа йолайаларца",
        "statistics-edits-average": "Юккъера агӀонан нисдаран терахь",
        "statistics-views-total": "Массо хьажарш",
        "pageinfo-edits": "Массо нисдарийн дукхалла",
        "pageinfo-authors": "Башха авторийн дукхалла",
        "pageinfo-recent-edits": "ТӀехьарчу хана нисдарш ($1 хана)",
+       "pageinfo-recent-authors": "ТӀехьарчу хана башха автораш",
        "pageinfo-magic-words": "{{PLURAL:$1|Бозбуунчаллин дош|Бозбуунчаллин дешнаш}} ($1)",
        "pageinfo-hidden-categories": "{{PLURAL:$1|Къайла категори|Къайла категореш}} ($1)",
        "pageinfo-templates": "{{PLURAL:$1|1=Кеп|Кепаш}} ($1)",
        "pageinfo-toolboxlink": "Агlонах болу бовзам",
        "pageinfo-redirectsto": "ДӀасахьажорг",
        "pageinfo-redirectsto-info": "Хаам",
+       "pageinfo-contentpage": "Лорурго чулацаме гойту агӀо",
        "pageinfo-contentpage-yes": "ХӀаъ",
        "pageinfo-protect-cascading": "Чахчарин гӀоралла кхузара",
        "pageinfo-protect-cascading-yes": "ХӀаъ",
        "file-info-png-repeat": "локху $1 {{PLURAL:$1|за}}",
        "file-info-png-frames": "$1 {{PLURAL:$1|кадр|кадраш}}",
        "newimages": "Керлачу файлийн галерей",
-       "newimages-summary": "ХӀокху белхан агӀона чохь гойтуш ю дукха хан йоццуш чуйаьхна файлаш.",
+       "newimages-summary": "ХӀокху белхан агӀона чохь гойтуш ю дукха хан йоццуш чуяьхна файлаш.",
        "newimages-legend": "Литтар",
+       "newimages-showbots": "Гайта боташ чуяьхна файлаш",
        "noimages": "Суьрташ дац.",
        "ilsubmit": "Лаха",
        "bydate": "терахьашца",
index 0520e02..c2e6374 100644 (file)
@@ -37,7 +37,7 @@
        "tog-enotifusertalkpages": "ئەگەر پەڕەی لێدوانەکەم گۆڕدرا ئیمەیلم بۆ بنێرە",
        "tog-enotifminoredits": "بۆ گۆڕانکارییە بچووکەکانی پەڕەکان و پەڕگەکانیش ئیمەیلم بۆ بنێرە",
        "tog-enotifrevealaddr": "ئەدرەسی ئیمەیلەکەم لە ئیمەیلە ئاگاداریدەرەکان دا نیشان بدە",
-       "tog-shownumberswatching": "ژمارەی بەکارھێنەرە چاودێڕەکان نیشان بدە",
+       "tog-shownumberswatching": "ژمارەی بەکارھێنەرە چاودێرەکان نیشان بدە",
        "tog-oldsig": "واژووی ئێستا:",
        "tog-fancysig": "وەکوو ویکیدەق واژووەکە لەبەر چاو بگرە (بێ بەستەرێکی خۆگەڕ)",
        "tog-uselivepreview": "لە پێشبینینی زیندوو کەڵک وەربگرە (تاقیکاری‌)",
        "permissionserrorstext-withaction": "دەسەڵاتت نییە بۆ $2، لەبەر ئەم {{PLURAL:$1|ھۆکارە|ھۆکارانە}}ی خوارەوە:",
        "recreate-moveddeleted-warn": "'''ھۆشیار بە: خەریکی پەڕەیەک دروست‌ دەکەیتەوە کە لە پێشدا سڕاوەتەوە.'''\n\nئەمە لەبەر چاو بگرە کە دەستکاریکردنی ئەم پەڕەیە بەقازانجە یان نا.\nلۆگی سڕینەوە و گواستنەوەی ئەم پەڕەیە بۆ سانایی لێرەدا ھاتووە:",
        "moveddeleted-notice": "ئەم پەڕەیە سڕاوەتەوە.\nلۆگی سڕینەوە و گواستنەوە بۆ پەڕەکە لە ژێرەوە دابین کراوە.",
-       "log-fulllog": "دیتنی لۆگی تەواو",
+       "log-fulllog": "لۆگی تەواو ببینە",
        "edit-hook-aborted": "دەستکاری لە لایەن قولاپەوە ھەڵوەشێنرایەوە.\nھۆکارەکەی لەبەر دەست نییە.",
        "edit-gone-missing": "توانای نوێ‌کردنەوەی لاپەڕەکە نیە.<br />\nلەوە دەچی سڕدرابێتەوه.‌",
        "edit-conflict": "کێشەی دەستکاری.",
        "right-import": "ھاوردنی پەڕەکان لە ویکییەکانی تر",
        "right-importupload": "ھاوردنی پەڕەکان بە بارکردنی پەڕگە",
        "right-patrol": "نیشانکردنی دەستکاریەکانی کەسانی تر وەک پاس دراو",
-       "right-autopatrol": "Ù\86Û\8cشاÙ\86کردÙ\86Û\8c Ø®Û\86Ú¯Û\95Ú\95Û\8c Ø¯Û\95ستکارÛ\8cÛ\8cÛ\95کاÙ\86Û\8c Ø®Û\86Û\8c Ù\88Û\95Ú© Ù¾Ø§Ø³ Ø¯Ø±Ø§Ù\88",
+       "right-autopatrol": "پاسداÙ\86Û\8c Ø®Û\86Ú¯Û\95Ú\95Û\8c Ø¯Û\95ستکارÛ\8cÛ\8cÛ\95کاÙ\86Û\8c Ø®Û\86Û\8c",
        "right-patrolmarks": "دیتنی نیشانەکانی پاسدان لە دوایین گۆڕانکارییەکاندا",
        "right-unwatchedpages": "دیتنی پێرستێک لە پەڕە چاودێری نەکراوەکان",
        "right-mergehistory": "کردنەیەکی میژووی پەڕەکان",
        "minoreditletter": "ب",
        "newpageletter": "ن",
        "boteditletter": "بۆ",
-       "number_of_watching_users_pageview": "[$1 چاودێر لەسەر {{PLURAL:$1|بەکارھێنەر}}]",
+       "number_of_watching_users_pageview": "[$1 {{PLURAL:$1|بەکارھێنەر}}ی چاودێر]",
        "rc_categories": "بەرتەسک‌کردنەوە بە هاوپۆلەکان (به «|» جیای بکەوە‌)",
        "rc_categories_any": "هەرکام",
        "rc-change-size-new": "$1 {{PLURAL:$1|بایت}} پاش گۆڕانکاری",
        "protect-default": "بە ھەموو بەکارھێنەران ڕێگە بدە",
        "protect-fallback": "تەنیا بە بەکارھێنەران بە مافی «$1» ڕێگە بدە",
        "protect-level-autoconfirmed": "تەنیا بە بەکارھێنەرانی پەسندکراو ڕێگە بدە",
-       "protect-level-sysop": "تەنیا بەڕێوەبەران",
+       "protect-level-sysop": "تەنیا بە بەڕێوەبەران ڕێگە بدە",
        "protect-summary-cascade": "تاڤگەیی",
        "protect-expiring": "بەسەردەچێ لە ڕێکەوتی $1 (UTC)",
        "protect-expiring-local": "بە سەر دەچێ لە $1",
index f3eb3bc..d81c240 100644 (file)
        "prefs-emailconfirm-label": "E-mail тасдыкъланмасы:",
        "youremail": "E-mail адресинъиз:",
        "username": "Къулланыджы ады:",
-       "uid": "Къайд номери:",
        "prefs-memberingroups": "Азасы олгъан {{PLURAL:$1|1=группа|группалар}}:",
        "prefs-registration": "Къайд тарихы:",
        "yourrealname": "Керчек адынъыз:",
        "recentchanges-label-minor": "Бу, кичик бир денъиштирме",
        "recentchanges-label-bot": "Бу бир ботнынъ япкъан денъиштирмеси",
        "recentchanges-label-unpatrolled": "Бу денъиштирме аля даа тешкерильмеген",
-       "recentchanges-legend-newpage": "$1 - янъы саифе",
+       "recentchanges-legend-newpage": "([[Special:NewPages|янъы саифелер джедвелине]] де бакъынъыз)",
        "rcnotefrom": "'''$2''' тарихындан итибарен япылгъан денъиштирмелер ашагъыдадыр (энъ чокъ '''$1''' дане саифе косьтериле).",
        "rclistfrom": "$3 $2 тарихындан берли япылгъан денъиштирмелерни косьтер",
        "rcshowhideminor": "кичик денъиштирмелерни $1",
+       "rcshowhideminor-show": "косьтер",
+       "rcshowhideminor-hide": "гизле",
        "rcshowhidebots": "ботларны $1",
-       "rcshowhideliu": "къайдлы къулланыджыларны $1",
+       "rcshowhidebots-show": "косьтер",
+       "rcshowhidebots-hide": "гизле",
+       "rcshowhideliu": "Къайдлы къулланыджыларны $1",
+       "rcshowhideliu-show": "косьтер",
+       "rcshowhideliu-hide": "гизле",
        "rcshowhideanons": "аноним къулланыджыларны $1",
+       "rcshowhideanons-show": "косьтер",
+       "rcshowhideanons-hide": "гизле",
        "rcshowhidepatr": "козетильген денъиштирмелерни $1",
+       "rcshowhidepatr-show": "косьтер",
+       "rcshowhidepatr-hide": "гизле",
        "rcshowhidemine": "меним япкъан денъиштирмелеримни $1",
+       "rcshowhidemine-show": "косьтер",
+       "rcshowhidemine-hide": "гизле",
        "rclinks": "Сонъки $2 куньде япылгъан сонъки $1 денъиштирмени косьтер;<br /> $3",
        "diff": "фаркъ",
        "hist": "кечмиш",
        "rc_categories": "Тек категориялардан («|» иле айырыла)",
        "rc_categories_any": "Эр анги",
        "newsectionsummary": "/* $1 */ янъы болюк",
-       "rc-enhanced-expand": "Тафсилятыны косьтер (JavaScript керек)",
+       "rc-enhanced-expand": "Тафсилятыны косьтер",
        "rc-enhanced-hide": "Тафсилятыны гизле",
        "recentchangeslinked": "Багълы денъиштирмелер",
        "recentchangeslinked-feed": "Багълы денъиштирмелер",
        "logempty": "Журналда бир кельген малюмат ёкъ.",
        "log-title-wildcard": "Бу ишаретлерден башлангъан серлеваларны къыдыр",
        "allpages": "Бутюн саифелер",
-       "alphaindexline": "$1 саифесинден $2 саифесинедже",
        "nextpage": "Сонъраки саифе ($1)",
        "prevpage": "Эвельки саифе ($1)",
        "allpagesfrom": "Джедвельге чекмеге башланыладжакъ арифлер:",
index 1bc4ccf..6b20500 100644 (file)
        "prefs-emailconfirm-label": "E-mail tasdıqlanması:",
        "youremail": "E-mail adresiñiz:",
        "username": "Qullanıcı adı:",
-       "uid": "Qayd nomeri:",
        "prefs-memberingroups": "Azası olğan {{PLURAL:$1|gruppa|gruppalar}}:",
        "prefs-registration": "Qayd tarihı:",
        "yourrealname": "Kerçek adıñız:",
        "recentchanges-label-minor": "Bu, kiçik bir deñiştirme",
        "recentchanges-label-bot": "Bu bir botnıñ yapqan deñiştirmesi",
        "recentchanges-label-unpatrolled": "Bu deñiştirme alâ daa teşkerilmegen",
-       "recentchanges-legend-newpage": "$1 - yañı saife",
+       "recentchanges-legend-newpage": "([[Special:NewPages|yañı saifeler cedveline]] de baqıñız)",
        "rcnotefrom": "'''$2''' tarihından itibaren yapılğan deñiştirmeler aşağıdadır (eñ çоq '''$1''' dane saife kösterile).",
        "rclistfrom": "$3 $2 tarihından berli yapılğan deñiştirmelerni köster",
        "rcshowhideminor": "kiçik deñiştirmelerni $1",
+       "rcshowhideminor-show": "köster",
+       "rcshowhideminor-hide": "gizle",
        "rcshowhidebots": "botlarnı $1",
-       "rcshowhideliu": "qaydlı qullanıcılarnı $1",
+       "rcshowhidebots-show": "köster",
+       "rcshowhidebots-hide": "gizle",
+       "rcshowhideliu": "Qaydlı qullanıcılarnı $1",
+       "rcshowhideliu-show": "köster",
+       "rcshowhideliu-hide": "gizle",
        "rcshowhideanons": "anonim qullanıcılarnı $1",
+       "rcshowhideanons-show": "köster",
+       "rcshowhideanons-hide": "gizle",
        "rcshowhidepatr": "közetilgen deñiştirmelerni $1",
+       "rcshowhidepatr-show": "köster",
+       "rcshowhidepatr-hide": "gizle",
        "rcshowhidemine": "menim yapqan deñiştirmelerimni $1",
+       "rcshowhidemine-show": "köster",
+       "rcshowhidemine-hide": "gizle",
        "rclinks": "Soñki $2 künde yapılğan soñki $1 deñiştirmeni köster;<br /> $3",
        "diff": "farq",
        "hist": "keçmiş",
        "rc_categories": "Tek kategoriyalardan (\"|\" ile ayırıla)",
        "rc_categories_any": "Er angi",
        "newsectionsummary": "/* $1 */ yañı bölük",
-       "rc-enhanced-expand": "Tafsilâtını köster (JavaScript kerek)",
+       "rc-enhanced-expand": "Tafsilâtını köster",
        "rc-enhanced-hide": "Tafsilâtını gizle",
        "recentchangeslinked": "Bağlı deñiştirmeler",
        "recentchangeslinked-feed": "Bağlı deñiştirmeler",
        "logempty": "Jurnalda bir kelgen malümat yoq.",
        "log-title-wildcard": "Bu işaretlerden başlanğan serlevalarnı qıdır",
        "allpages": "Bütün saifeler",
-       "alphaindexline": "$1 saifesinden $2 saifesinece",
        "nextpage": "Soñraki saife ($1)",
        "prevpage": "Evelki saife ($1)",
        "allpagesfrom": "Cedvelge çekmege başlanılacaq arifler:",
index 07d199b..def1605 100644 (file)
        "content-model-text": "čistý text",
        "content-model-javascript": "JavaScript",
        "content-model-css": "CSS",
-       "expensive-parserfunction-warning": "Varování: Tato stránka obsahuje příliš mnoho volání výkonnostně náročných funkcí syntaktického analyzátoru.\n\nPovolený limit je $2, v současné chvíli však {{PLURAL:$1|zde jedno volání je|zde jsou $2 volání|zde je $2 volání}}.",
+       "expensive-parserfunction-warning": "'''Varování:''' Tato stránka obsahuje příliš mnoho volání výkonnostně náročných funkcí syntaktického analyzátoru.\n\nPovolený limit je $2, v současné chvíli však {{PLURAL:$1|zde jedno volání je|zde jsou $1 volání|zde je $1 volání}}.",
        "expensive-parserfunction-category": "Stránky s příliš mnoho voláními náročných funkcí syntaktického analyzátoru",
        "post-expand-template-inclusion-warning": "Varování: Objem vkládaných šablon je příliš velký.\nNěkteré šablony nebudou vloženy.",
        "post-expand-template-inclusion-category": "Stránky překračující povolenou velikost vložených šablon",
        "ipb-confirmhideuser": "Chystáte se zablokovat uživatele se zapnutou volbou „skrýt uživatelské jméno“. To způsobí, že jméno uživatele zmizí ze všech seznamů a protokolovacích záznamů. Jste si {{gender:|jist|jista|jisti}}, že to chcete udělat?",
        "ipb-confirmaction": "Pokud jste si {{GENDER:|jist|jista|jisti}}, že to chcete udělat, zaškrtněte pole „{{int:ipb-confirm}}“ dole.",
        "ipb-edit-dropdown": "Editace seznamu důvodů zablokování",
-       "ipb-unblock-addr": "Odblokovat uživatele nebo IP $1",
+       "ipb-unblock-addr": "Odblokovat {{GENDER:$1|uživatele|uživatelku|uživatele nebo IP adresu}} $1",
        "ipb-unblock": "Odblokovat uživatele nebo IP adresu",
        "ipb-blocklist": "Zobrazit probíhající bloky",
        "ipb-blocklist-contribs": "Příspěvky uživatele $1",
        "ipblocklist-empty": "Seznam probíhajících bloků je prázdný.",
        "ipblocklist-no-results": "Požadovaná IP adresa nebo uživatelské jméno není blokováno.",
        "blocklink": "zablokovat",
-       "unblocklink": "uvolnit",
+       "unblocklink": "odblokovat",
        "change-blocklink": "změnit blok",
        "contribslink": "příspěvky",
        "emaillink": "poslat e-mail",
        "confirmemail": "Potvrzení e-mailové adresy",
        "confirmemail_noemail": "Ve svém [[Special:Preferences|uživatelském nastavení]] jste nezadali platnou e-mailovou adresu.",
        "confirmemail_text": "Tato wiki vyžaduje, abyste před využíváním některých funkcí potvrdili svoji e-mailovou adresu. Kliknutím na tlačítko níže odešlete potvrzovací e-mail na vámi uvedenou adresu. Tento e-mail obsahuje odkaz a potvrzovací kód; zobrazením odkazované stránky ve svém internetovém prohlížeči potvrdíte, že zadaná adresa je platná.",
-       "confirmemail_pending": "Potvrzovací kód vám byl již zaslán na váš e-mail.\nPokud jste si účet založili před chvílí, zkuste na doručení kódu několik minut počkat, než požádáte o nový.",
+       "confirmemail_pending": "Potvrzovací kód vám byl na váš e-mail již zaslán.\nPokud jste si účet založili před chvílí, zkuste na doručení kódu několik minut počkat, než požádáte o nový.",
        "confirmemail_send": "Odeslat potvrzovací kód",
        "confirmemail_sent": "Potvrzovací e-mail byl odeslán",
        "confirmemail_oncreate": "Na vaši e-mailovou adresu byl zaslán potvrzovací kód.\nTento kód není zapotřebí k přihlášení, ale budete ho potřebovat k aktivaci některých funkcí založených na využití e-mailu.",
        "watchlistedit-normal-legend": "Odstranění položek ze seznamu sledovaných stránek",
        "watchlistedit-normal-explain": "Položky vašeho seznamu sledovaných stránek jsou zobrazeny níže.\nStránku můžete ze seznamu odstranit tak, že zaškrtnete její políčko a kliknete na tlačítko „{{int:Watchlistedit-normal-submit}}“.\nTaké můžete [[Special:EditWatchlist/raw|editovat seznam v textové podobě]].",
        "watchlistedit-normal-submit": "Odstranit položky",
-       "watchlistedit-normal-done": "{{PLURAL:$1|Byla odstraněna 1 položka|Byly odstraněny $1 položky|Bylo odstraněno $1 položek}} z Vašeho seznamu sledovaných stránek:",
+       "watchlistedit-normal-done": "{{PLURAL:$1|Byla odstraněna jedna položka|Byly odstraněny $1 položky|Bylo odstraněno $1 položek}} z Vašeho seznamu sledovaných stránek:",
        "watchlistedit-raw-title": "Textový režim editace seznamu",
        "watchlistedit-raw-legend": "Editace textového souboru sledovaných stránek",
        "watchlistedit-raw-explain": "Položky na vašem seznamu sledovaných stránek jsou zobrazeny níže. Můžete je přidávat, odstraňovat či měnit v zobrazeném seznamu – jedna řádka je jedna položka.\nPro uložení změn stiskněte tlačítko „{{int:Watchlistedit-raw-submit}}“.\nSeznam editovaných stránek můžete také [[Special:EditWatchlist|editovat ve standardním editoru]].",
        "watchlistedit-raw-titles": "Položky:",
        "watchlistedit-raw-submit": "Aktualizovat seznam",
        "watchlistedit-raw-done": "Seznam vašich sledovaných stránek byl aktualizován.",
-       "watchlistedit-raw-added": "{{PLURAL:$1|Byla přidána 1 položka|Byly přidány $1 položky|Bylo přidáno $1 položek}}:",
+       "watchlistedit-raw-added": "{{PLURAL:$1|Byla přidána jedna položka|Byly přidány $1 položky|Bylo přidáno $1 položek}}:",
        "watchlistedit-raw-removed": "{{PLURAL:$1|Byla odstraněna položka|Byly odstraněny $1 položky|Bylo odstraněno $1 položek}}:",
        "watchlistedit-clear-title": "Vyprázdnění seznamu sledovaných stránek",
        "watchlistedit-clear-legend": "Vyprázdnit seznam sledovaných stránek",
        "watchlistedit-clear-titles": "Názvy:",
        "watchlistedit-clear-submit": "Vyprázdnit seznam sledovaných stránek (natrvalo!)",
        "watchlistedit-clear-done": "Váš seznam sledovaných stránek byl vyprázdněn.",
-       "watchlistedit-clear-removed": "{{PLURAL:$1|Byl odstraněn 1 název|Byly odstraněny $1 názvy|Bylo odstraněno $1 názvů}}:",
+       "watchlistedit-clear-removed": "{{PLURAL:$1|Byl odstraněn jeden název|Byly odstraněny $1 názvy|Bylo odstraněno $1 názvů}}:",
        "watchlistedit-too-many": "Seznam obsahuje příliš mnoho stránek, než aby se zde daly zobrazit.",
        "watchlisttools-clear": "Vyprázdnit seznam sledovaných stránek",
        "watchlisttools-view": "Zobrazit změny sledovaných stránek",
        "version-poweredby-others": "další",
        "version-poweredby-translators": "překladatelé na translatewiki.net",
        "version-credits-summary": "Následujícím lidem bychom rádi poděkovali za jejich příspěvky [[Special:Version|MediaWiki]].",
-       "version-license-info": "MediaWiki je svobodný software; můžete jej šířit nebo modifikovat podle podmínek GNU General Public License, vydávané Free Software Foundation; buď verze 2 této licence anebo (podle vašeho uvážení) kterékoli pozdější verze.\n\nMediaWiki je distribuována v naději, že bude užitečná, avšak BEZ JAKÉKOLI ZÁRUKY; neposkytují se ani odvozené záruky PRODEJNOSTI anebo VHODNOSTI PRO URČITÝ ÚČEL. Podrobnosti se dočtete v textu GNU General Public License.\n\n[{{SERVER}}{{SCRIPTPATH}}/COPYING Kopii GNU General Public License] jste měli obdržet spolu s tímto programem, pokud ne, napište na Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA nebo [//www.gnu.org/licenses/old-licenses/gpl-2.0.html si ji přečtěte online].",
+       "version-license-info": "MediaWiki je svobodný software; můžete jej šířit nebo modifikovat podle podmínek GNU General Public License, vydávané Free Software Foundation; buď verze 2 této licence, anebo (podle vašeho uvážení) kterékoli pozdější verze.\n\nMediaWiki je distribuována v naději, že bude užitečná, avšak BEZ JAKÉKOLI ZÁRUKY; neposkytují se ani odvozené záruky PRODEJNOSTI anebo VHODNOSTI PRO URČITÝ ÚČEL. Podrobnosti se dočtete v textu GNU General Public License.\n\n[{{SERVER}}{{SCRIPTPATH}}/COPYING Kopii GNU General Public License] jste měli obdržet spolu s tímto programem, pokud ne, napište na Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA nebo [//www.gnu.org/licenses/old-licenses/gpl-2.0.html si ji přečtěte online].",
        "version-software": "Nainstalovaný software",
        "version-software-product": "Název",
        "version-software-version": "Verze",
        "dberr-usegoogle": "Mezitím můžete zkusit hledat pomocí Google.",
        "dberr-outofdate": "Uvědomte si, že jejich vyhledávací index našeho obsahu může být zastaralý.",
        "dberr-cachederror": "Následující stránka je kopie z cache a nemusí být aktuální.",
-       "htmlform-invalid-input": "Některé vámi zadané údaje jsou chybné",
+       "htmlform-invalid-input": "Některé vámi zadané údaje jsou chybné.",
        "htmlform-select-badoption": "Vámi uvedená hodnota není platná možnost.",
        "htmlform-int-invalid": "Uvedená hodnota není celé číslo.",
        "htmlform-float-invalid": "Uvedená hodnota není číslo.",
-       "htmlform-int-toolow": "Vámi zadaná hodnota je menší než dovolené minimum $1",
-       "htmlform-int-toohigh": "Vámi zadaná hodnota je větší než dovolené maximum $1",
-       "htmlform-required": "Tato položka je povinná",
+       "htmlform-int-toolow": "Vámi zadaná hodnota je menší než dovolené minimum $1.",
+       "htmlform-int-toohigh": "Vámi zadaná hodnota je větší než dovolené maximum $1.",
+       "htmlform-required": "Tato položka je povinná.",
        "htmlform-submit": "Odeslat",
        "htmlform-reset": "Vrátit změny",
        "htmlform-selectorother-other": "Jiná hodnota",
        "logentry-delete-delete": "$1 {{GENDER:$2|smazal|smazala}} stránku $3",
        "logentry-delete-restore": "$1 {{GENDER:$2|obnovil|obnovila}} stránku $3",
        "logentry-delete-event": "$1 {{GENDER:$2|změnil|změnila}} viditelnost {{PLURAL:$5|protokolovacího záznamu|$5 protokolovacích záznamů}} ke stránce $3: $4",
-       "logentry-delete-revision": "$1 {{GENDER:$2|změnil|změnila}} viditelnost {{PLURAL:$5|revize|$5 revizí}} na stránce $3: $4",
+       "logentry-delete-revision": "$1 {{GENDER:$2|změnil|změnila}} viditelnost {{PLURAL:$5|revize|$5 revizí}} stránky $3: $4",
        "logentry-delete-event-legacy": "$1 {{GENDER:$2|změnil|změnila}} viditelnost protokolovacích záznamů ke stránce $3",
-       "logentry-delete-revision-legacy": "$1 {{GENDER:$2|změnil|změnila}} viditelnost revizí na stránce $3",
+       "logentry-delete-revision-legacy": "$1 {{GENDER:$2|změnil|změnila}} viditelnost revizí stránky $3",
        "logentry-suppress-delete": "$1 {{GENDER:$2|utajil|utajila}} stránku $3",
        "logentry-suppress-event": "$1 utajeně {{GENDER:$2|změnil|změnila}} viditelnost {{PLURAL:$5|protokolovacího záznamu|$5 protokolovacích záznamů}} ke stránce $3: $4",
-       "logentry-suppress-revision": "$1 utajeně {{GENDER:$2|změnil|změnila}} viditelnost {{PLURAL:$5|revize|$5 revizí}} na stránce $3: $4",
+       "logentry-suppress-revision": "$1 utajeně {{GENDER:$2|změnil|změnila}} viditelnost {{PLURAL:$5|revize|$5 revizí}} stránky $3: $4",
        "logentry-suppress-event-legacy": "$1 utajeně {{GENDER:$2|změnil|změnila}} viditelnost protokolovacích záznamů ke stránce $3",
-       "logentry-suppress-revision-legacy": "$1 utajeně {{GENDER:$2|změnil|změnila}} viditelnost revizí na stránce $3",
+       "logentry-suppress-revision-legacy": "$1 utajeně {{GENDER:$2|změnil|změnila}} viditelnost revizí stránky $3",
        "revdelete-content-hid": "skryt obsah",
        "revdelete-summary-hid": "skryto shrnutí editace",
        "revdelete-uname-hid": "skryto uživatelské jméno",
        "feedback-error1": "Chyba: Nerozpoznaný výsledek z API",
        "feedback-error2": "Chyba: Editace se nezdařila",
        "feedback-error3": "Chyba: API nevrátilo žádnou odpověď",
-       "feedback-thanks": "Děkujeme! Váš komentář byl přidat na stránku „[$2 $1]“.",
+       "feedback-thanks": "Děkujeme! Váš komentář byl přidán na stránku „[$2 $1]“.",
        "feedback-close": "Hotovo",
        "feedback-bugcheck": "Skvělé! Jen zkontrolujte, zda se nejedná o jednu z [$1 už známých chyb].",
        "feedback-bugnew": "Zkontroloval(a) jsem to. Chci ohlásit novou chybu.",
        "api-error-badaccess-groups": "Nemáte povoleno nahrávat soubory na tuto wiki.",
        "api-error-badtoken": "Vnitřní chyba: špatný token.",
        "api-error-copyuploaddisabled": "Načítání z URL je na tomto severu zakázáno.",
-       "api-error-duplicate": "Na této wiki již {{PLURAL:$1|existuje [$2 jiný soubor]|existují [$2 jiné soubory]}} se shodným obsahem",
+       "api-error-duplicate": "Na této wiki již {{PLURAL:$1|existuje [$2 jiný soubor]|existují [$2 jiné soubory]}} se shodným obsahem.",
        "api-error-duplicate-archive": "[$2 {{PLURAL:$1|Soubor|Soubory}}] se stejným obsahem již zde dříve {{PLURAL:$1|byl|byly}}, ale {{PLURAL:$1|byl smazán|byly smazány}}.",
-       "api-error-duplicate-archive-popup-title": "Duplicitní {{PLURAL:$1|soubor, který byl|soubory, které byly}} smazány",
-       "api-error-duplicate-popup-title": "Duplicitní {{PLURAL:$1|soubor|soubory}}",
+       "api-error-duplicate-archive-popup-title": "Duplicitní {{PLURAL:$1|soubor, který byl smazán|soubory, které byly smazány}}.",
+       "api-error-duplicate-popup-title": "Duplicitní {{PLURAL:$1|soubor|soubory}}.",
        "api-error-empty-file": "Načtený soubor je prázdný.",
        "api-error-emptypage": "Zakládání prázdných stránek není dovoleno.",
        "api-error-fetchfileerror": "Vnitřní chyba: došlo k chybě při stahování souboru.",
        "api-error-publishfailed": "Vnitřní chyba: Serveru se nepodařilo zveřejnit dočasný soubor.",
        "api-error-stasherror": "Při načítání souboru do skrýše došlo k chybě.",
        "api-error-timeout": "Server neodpověděl v očekávaném čase.",
-       "api-error-unclassified": "Došlo k neznámé chybě",
-       "api-error-unknown-code": "Neznámá chyba: „$1“",
+       "api-error-unclassified": "Došlo k neznámé chybě.",
+       "api-error-unknown-code": "Neznámá chyba: „$1“.",
        "api-error-unknown-error": "Vnitřní chyba: došlo k chybě při pokusu o načtení souboru.",
        "api-error-unknown-warning": "Neznámé varování: $1",
        "api-error-unknownerror": "Neznámá chyba: „$1“.",
index 4a2009b..4a814ec 100644 (file)
        "searcharticle": "Seite",
        "history": "Versionen",
        "history_short": "Versionsgeschichte",
-       "updatedmarker": "Änderung seit deinem letzten Besuch",
+       "updatedmarker": "geändert seit deinem letzten Besuch",
        "printableversion": "Druckversion",
        "permalink": "Permanenter Link",
        "print": "Drucken",
        "databaseerror-query": "Abfrage: $1",
        "databaseerror-function": "Funktion: $1",
        "databaseerror-error": "Fehler: $1",
-       "laggedslavemode": "'''Achtung:''' Die angezeigte Seite könnte unter Umständen nicht die letzten Bearbeitungen enthalten.",
+       "laggedslavemode": "<strong>Achtung:</strong> Die angezeigte Seite könnte unter Umständen nicht die letzten Bearbeitungen enthalten.",
        "readonly": "Datenbank gesperrt",
        "enterlockreason": "Bitte gib einen Grund ein, warum die Datenbank gesperrt werden soll und eine Abschätzung über die Dauer der Sperrung",
        "readonlytext": "Die Datenbank ist vorübergehend für Neueinträge und Änderungen gesperrt. Bitte versuche es später noch einmal.\n\nGrund der Sperrung: $1",
        "myprivateinfoprotected": "Du hast keine Berechtigung, deine privaten Informationen zu bearbeiten.",
        "mypreferencesprotected": "Du hast keine Berechtigung, deine Einstellungen zu bearbeiten.",
        "ns-specialprotected": "Spezialseiten können nicht bearbeitet werden.",
-       "titleprotected": "Eine Seite mit diesem Namen kann nicht angelegt werden.\nDie Sperre wurde durch [[User:$1|$1]] mit der Begründung ''„$2“'' eingerichtet.",
+       "titleprotected": "Eine Seite mit diesem Namen kann nicht angelegt werden.\nDie Sperre wurde durch [[User:$1|$1]] mit der Begründung „<em>$2</em>“ eingerichtet.",
        "filereadonlyerror": "Die Datei „$1“ kann nicht verändert werden, da auf das Dateirepositorium „$2“ nur Lesezugriff möglich ist.\n\nDer Administrator, der den Schreibzugriff sperrte, gab folgenden Grund an: „$3“.",
        "invalidtitle-knownnamespace": "Ungültiger Titel mit Namensraum „$2“ und Text „$3“",
        "invalidtitle-unknownnamespace": "Ungültiger Titel mit unbekannter Namensraumnummer $1 und Text „$2“",
        "exception-nologin": "Nicht angemeldet",
        "exception-nologin-text": "Du musst dich [[Special:Userlogin|anmelden]], um auf diese Seite oder Aktion zugreifen zu können.",
        "exception-nologin-text-manual": "Du musst dich $1, um auf diese Seite oder Aktion zugreifen zu können.",
-       "virus-badscanner": "Fehlerhafte Konfiguration: unbekannter Virenscanner: ''$1''",
+       "virus-badscanner": "Fehlerhafte Konfiguration: unbekannter Virenscanner: <em>$1</em>",
        "virus-scanfailed": "Scan fehlgeschlagen (code $1)",
        "virus-unknownscanner": "Unbekannter Virenscanner:",
-       "logouttext": "'''Du bist nun abgemeldet.'''\n\nBeachte, dass einige Seiten noch anzeigen können, dass du angemeldet bist, solange du nicht deinen Browsercache geleert hast.",
+       "logouttext": "<strong>Du bist nun abgemeldet.</strong>\n\nBeachte, dass einige Seiten noch anzeigen können, dass du angemeldet bist, solange du nicht deinen Browsercache geleert hast.",
        "welcomeuser": "Willkommen, $1!",
        "welcomecreation-msg": "Dein Benutzerkonto wurde erstellt.\nVergiss nicht, deine [[Special:Preferences|{{SITENAME}}-Einstellungen]] zu ändern.",
        "yourname": "Benutzername:",
        "userlogout": "Abmelden",
        "notloggedin": "Nicht angemeldet",
        "userlogin-noaccount": "Du hast noch kein Benutzerkonto?",
-       "userlogin-joinproject": "{{SITENAME}} beitreten",
+       "userlogin-joinproject": "Bei {{SITENAME}} anmelden",
        "nologin": "Du hast kein Benutzerkonto? $1.",
        "nologinlink": "Neues Benutzerkonto anlegen",
        "createaccount": "Benutzerkonto anlegen",
-       "gotaccount": "Du hast bereits ein Benutzerkonto? '''$1'''.",
+       "gotaccount": "Du hast bereits ein Benutzerkonto? $1.",
        "gotaccountlink": "Anmelden",
        "userlogin-resetlink": "Die Anmeldedaten vergessen?",
        "userlogin-resetpassword-link": "Passwort vergessen?",
        "createaccounterror": "Benutzerkonto konnte nicht erstellt werden: $1",
        "nocookiesnew": "Der Benutzerzugang wurde erstellt, aber du bist nicht angemeldet. {{SITENAME}} benötigt für diese Funktion Cookies, bitte aktiviere diese und melde dich dann mit deinem neuen Benutzernamen und dem zugehörigen Passwort an.",
        "nocookieslogin": "{{SITENAME}} benutzt Cookies zur Anmeldung der Benutzer. Du hast Cookies deaktiviert, bitte aktiviere diese und versuche es erneut.",
-       "nocookiesfornew": "Das Benutzerkonto wurde nicht erstellt, da die Datenherkunft nicht ermittelt werden konnte.\nEs muss sichergestellt sein, dass Cookies aktiviert sind. Danach diese Seite erneut laden und es wieder versuchen.",
+       "nocookiesfornew": "Das Benutzerkonto wurde nicht erstellt, da die Datenherkunft nicht ermittelt werden konnte.\nBitte stelle sicher, dass du Cookies aktiviert hast. Lade diese Seite danach erneut und versuche es noch einmal.",
        "noname": "Du musst einen gültigen Benutzernamen angeben.",
        "loginsuccesstitle": "Anmeldung erfolgreich",
-       "loginsuccess": "Du bist jetzt als „$1“ bei {{SITENAME}} angemeldet.",
-       "nosuchuser": "Der Benutzername „$1“ existiert nicht.\nÜberprüfe die Schreibweise (Groß-/Kleinschreibung beachten) oder [[Special:UserLogin/signup|melde dich als neuer Benutzer an]].",
+       "loginsuccess": "<strong>Du bist jetzt als „$1“ bei {{SITENAME}} angemeldet.</strong>",
+       "nosuchuser": "Der Benutzername „$1“ existiert nicht.\nÜberprüfe die Schreibweise (Groß-/Kleinschreibung beachten) oder [[Special:UserLogin/signup|lege ein neues Benutzerkonto an]].",
        "nosuchusershort": "Der Benutzername „$1“ ist nicht vorhanden. Bitte überprüfe die Schreibweise.",
        "nouserspecified": "Bitte gib einen Benutzernamen an.",
        "login-userblocked": "{{GENDER:$1|Dieser Benutzer|Diese Benutzerin|Dieser Benutzer}} ist gesperrt. Die Anmeldung ist nicht erlaubt.",
        "password-name-match": "Dein Passwort muss sich von deinem Benutzernamen unterscheiden.",
        "password-login-forbidden": "Die Verwendung dieses Benutzernamens und Passwortes ist nicht erlaubt.",
        "mailmypassword": "Passwort zurücksetzen",
-       "passwordremindertitle": "Neues Passwort für ein {{SITENAME}}-Benutzerkonto",
+       "passwordremindertitle": "Neues Passwort für dein {{SITENAME}}-Benutzerkonto",
        "passwordremindertext": "Jemand mit der IP-Adresse $1, wahrscheinlich du selbst, hat ein neues Passwort für die Anmeldung bei {{SITENAME}} ($4) angefordert.\n\nDas automatisch generierte Passwort für Benutzer „$2“ lautet nun: $3\n\nFalls du dies wirklich gewünscht hast, solltest du dich jetzt anmelden und das Passwort ändern.\nDas neue Passwort ist {{PLURAL:$5|1 Tag|$5 Tage}} gültig.\n\nBitte ignoriere diese E-Mail, falls du sie nicht selbst angefordert hast. Das alte Passwort bleibt weiterhin gültig.",
        "noemail": "{{GENDER:$1|Benutzer|Benutzerin|Benutzer}} „$1“ hat keine E-Mail-Adresse angegeben.",
-       "noemailcreate": "Du musst eine gültige E-Mail-Adresse angeben",
+       "noemailcreate": "Du musst eine gültige E-Mail-Adresse angeben.",
        "passwordsent": "Ein neues, temporäres Passwort wurde an die E-Mail-Adresse von Benutzer „$1“ gesandt.\nBitte melde dich damit an, sobald du es erhalten hast. Das alte Passwort bleibt weiterhin gültig.",
        "blocked-mailpassword": "Die von dir verwendete IP-Adresse ist für das Ändern von Seiten gesperrt. Um einen Missbrauch zu verhindern, wurde die Möglichkeit zur Anforderung eines neuen Passwortes ebenfalls gesperrt.",
        "eauthentsent": "Eine Bestätigungs-E-Mail wurde an die angegebene Adresse verschickt.\n\nBevor eine E-Mail von anderen Benutzern über die E-Mail-Funktion empfangen werden kann, muss die Adresse und ihre tatsächliche Zugehörigkeit zu diesem Benutzerkonto erst bestätigt werden. Bitte befolge die Hinweise in der Bestätigungs-E-Mail.",
        "pt-login-button": "Anmelden",
        "pt-createaccount": "Benutzerkonto erstellen",
        "pt-userlogout": "Abmelden",
-       "php-mail-error-unknown": "Unbekannter Fehler mit der Funktion mail() von PHP",
-       "user-mail-no-addy": "Versuchte, eine E-Mail ohne Angabe einer E-Mail-Adresse zu versenden.",
+       "php-mail-error-unknown": "Unbekannter Fehler in der PHP-Funktion mail().",
+       "user-mail-no-addy": "Es wurde versucht, eine E-Mail ohne Angabe einer E-Mail-Adresse zu versenden.",
        "user-mail-no-body": "Es wurde versucht, eine E-Mail mit einem leeren oder zu kurzen Textkörper zu versenden.",
        "changepassword": "Passwort ändern",
        "resetpass_announce": "Um die Anmeldung abzuschließen, musst du ein neues Passwort festlegen.",
index 826d27f..21e3fec 100644 (file)
        "view": "Bıvêne",
        "view-foreign": "$1'i bıvin",
        "edit": "Bıvurne",
-       "edit-local": "Lokal şınasnayışi bıvurne",
+       "edit-local": "Şınasnayışê lokali bıvurne",
        "create": "Vıraze",
-       "create-local": "Lokal şınasnayış de ke",
+       "create-local": "Şınasnayışê lokali cı ke",
        "editthispage": "Ena pele bıvurne",
        "create-this-page": "Na pele bınuse",
        "delete": "Bestere",
        "statistics-pages-desc": "Pelanê hemî ke wîkî de estê, pelanê mineqeşeyî, redireksiyon ucb... dehil o.",
        "statistics-files": "Dosyayê bar biye",
        "statistics-edits": "{{SITENAME}} saz kerdış ra hetana newke amora vırnayışan",
-       "statistics-edits-average": "Her pela sero nısbi vurnayış",
+       "statistics-edits-average": "Her pele sero nısbi vurnayış",
        "statistics-views-total": "Yekunî bivîne",
        "statistics-views-total-desc": "Peleyê ke çınyê yana xısusiyê e nina zerre nêkerdê",
        "statistics-views-peredit": "Ser her vurnayîşî de vînayîşî",
index 8ff1c6c..7925b85 100644 (file)
        "revdelete-modify-no-access": "Imposébil fêr vèder l'elemèint cun dâta $1 $2 perché l'é stê arcgnusû cme \"riservê\"  e an 's gh'à mìa al permès ed fêrel.",
        "revdelete-modify-missing": "Imposébil fêr vèder l'elemèint cun ID $1 perché an gh'é mìa int al databêş.",
        "revdelete-no-change": "<strong>Atèinti:</strong> l'elemèint cun dâta $1 $2 al gh'îva bèle al j impustasiòun  ed vésta dmandê.",
+       "revdelete-concurrent-change": "Imposébil mudifichêr l'elemèint cun dâta $1 $2 perché la só cundisiòun l'é stêda cambiêda da 'n êter utèint mèinter a 's tintêva ed fêr la mudéfica.",
+       "revdelete-only-restricted": "Erōr int al lughêr l'elemèint cun dâta $1 $2: an n'é mìa pusébil lughêr j elemèint a la vésta ed j aministradōr sèinsa sernîr almēno 'n êtra siēlta de spustamèint.",
+       "revdelete-reason-dropdown": "*Mutîv pió cumûn per la scanşladûra\n**Mìa rispèt dal dirét 'd avtōr\n**Cumèint o infurmasiòun personêli mìa adâti\n**Nòm utèint mìa adât\n**Infurmasiòun ch'la pré ufènder",
+       "revdelete-otherreason": "Êter mutîv o mutîv zuntê:",
        "revdelete-reasonotherlist": "Êtra ragiòun",
+       "revdelete-edit-reasonlist": "Câmbia i mutîv per la scanşladûra",
+       "revdelete-offender": "Avtōr ed la versiòun:",
+       "suppressionlog": "Tâj",
        "revertmerge": "Scanşèla l'uniòun",
        "history-title": "$1 stòria dal mudéfichi",
        "lineno": "Rîga $1:",
index 554190c..3c8bea5 100644 (file)
        "yourdomainname": "Tu dominio:",
        "password-change-forbidden": "No puedes cambiar las contraseñas de este wiki.",
        "externaldberror": "Hubo un error de autenticación externa de la base de datos o bien no tienes autorización para actualizar tu cuenta externa.",
-       "login": "Acceder",
+       "login": "Iniciar sesión",
        "nav-login-createaccount": "Acceder/crear cuenta",
        "loginprompt": "Hay que activar las ''cookies'' en el navegador para iniciar sesión en {{SITENAME}}.",
        "userlogin": "Acceder/crear cuenta",
        "nocookieslogin": "{{SITENAME}} utiliza <em>cookies</em> para la autenticación de usuarios. Las <em>cookies</em> están desactivadas en tu navegador. Por favor, actívalas e inténtalo de nuevo.",
        "nocookiesfornew": "No se pudo crear la cuenta de usuario, porque no pudimos confirmar su origen.\nAsegúrate de que tienes las cookies activadas, luego recarga esta página e inténtalo de nuevo.",
        "noname": "No se ha especificado un nombre de usuario válido.",
-       "loginsuccesstitle": "Inicio de sesión exitoso",
+       "loginsuccesstitle": "Has accedido correctamente",
        "loginsuccess": "'''Has iniciado sesión en {{SITENAME}} como «$1».'''",
        "nosuchuser": "No existe ningún usuario llamado «$1».\nLos nombres de usuario son sensibles a las mayúsculas.\nRevisa la ortografía, o [[Special:UserLogin/signup|crea una cuenta nueva]].",
        "nosuchusershort": "No hay un usuario con el nombre «$1». Comprueba que lo has escrito correctamente.",
        "nouserspecified": "Debes especificar un nombre de usuario.",
-       "login-userblocked": "Este usuario está bloqueado. Inicio de sesión no permitido.",
+       "login-userblocked": "No puedes iniciar sesión porque tu cuenta está bloqueada.",
        "wrongpassword": "La contraseña indicada es incorrecta.\nInténtalo de nuevo.",
        "wrongpasswordempty": "No has escrito una contraseña.\nInténtalo de nuevo.",
        "passwordtooshort": "Las contraseñas deben tener al menos {{PLURAL:$1|1 carácter|$1 caracteres}}.",
index 592287c..49f5033 100644 (file)
        "edit-gone-missing": "Polnud võimalik lehekülge uuendada.\nTundub, et see on kustutatud.",
        "edit-conflict": "Redigeerimiskonflikt.",
        "edit-no-change": "Sinu redigeerimist ignoreeriti, sest tekstile ei olnud tehtud muudatusi.",
+       "postedit-confirmation-created": "See lehekülg on alustatud.",
+       "postedit-confirmation-restored": "See lehekülg on taastatud.",
        "postedit-confirmation-saved": "Sinu muudatus on salvestatud.",
        "edit-already-exists": "Ei saanud alustada uut lehekülge.\nSee on juba olemas.",
        "defaultmessagetext": "Sõnumi vaiketekst",
        "parser-template-recursion-depth-warning": "Malli rekursiivse kasutamise limiit on ületatud ($1)",
        "language-converter-depth-warning": "Keeleteisendaja sügavuspiir ületatud ($1)",
        "node-count-exceeded-category": "Ületatud sõlmemääraga leheküljed",
+       "node-count-exceeded-category-desc": "Ületatud sõlmemääraga lehekülgede kategooria.",
        "node-count-exceeded-warning": "Lehekülg ületas sõlmemäära.",
        "expansion-depth-exceeded-category": "Ületatud hõrendussügavusega leheküljed",
+       "expansion-depth-exceeded-category-desc": "Ületatud hõrendussügavusega lehekülgede kategooria.",
        "expansion-depth-exceeded-warning": "Lehekülg ületas hõrendussügavuse.",
        "converter-manual-rule-error": "Tõrge keelevariandi käsivahetusreeglis",
        "undo-success": "Selle redaktsiooni käigus tehtud muudatusi saab eemaldada. Palun kontrolli allolevat võrdlust veendumaks, et tahad need muudatused tõepoolest eemaldada. Seejärel saad lehekülje salvestada.",
        "prefs-emailconfirm-label": "E-posti kinnitus:",
        "youremail": "E-posti aadress:",
        "username": "{{GENDER:$1|Kasutajanimi}}:",
-       "uid": "{{GENDER:$1|Kasutaja}} ID:",
        "prefs-memberingroups": "{{PLURAL:$1|Järgmise rühma|Järgmiste rühmade}} {{GENDER:$2|liige}}:",
        "prefs-registration": "Registreerumise aeg:",
        "yourrealname": "Tegelik nimi:",
        "right-move": "Teisaldada lehekülgi",
        "right-move-subpages": "Teisaldada lehekülgi koos nende alamlehtedega",
        "right-move-rootuserpages": "Teisaldada kasutajalehekülgi",
+       "right-move-categorypages": "Teisaldada kategoorialehekülgi",
        "right-movefile": "Teisaldada faile",
        "right-suppressredirect": "Teisaldada lehekülgi ümbersuunamist loomata",
        "right-upload": "Faile üles laadida",
        "action-createpage": "lehekülgi luua",
        "action-createtalk": "arutelulehekülgi luua",
        "action-createaccount": "seda kasutajakontot luua",
+       "action-history": "vaadata selle lehekülje ajalugu",
        "action-minoredit": "seda muudatust pisimuudatuseks märkida",
        "action-move": "seda lehekülge teisaldada",
        "action-move-subpages": "seda lehekülge koos alamlehekülgedega teisaldada",
        "action-move-rootuserpages": "teisaldada kasutajalehekülgi",
+       "action-move-categorypages": "teisaldada kategoorialehekülgi",
        "action-movefile": "seda faili teisaldada",
        "action-upload": "seda faili üles laadida",
        "action-reupload": "seda olemasolevat faili üle kirjutada",
        "recentchanges-label-bot": "Roboti tehtud muudatus",
        "recentchanges-label-unpatrolled": "Seda muudatust ei ole veel kontrollitud",
        "recentchanges-label-plusminus": "Lehekülje suuruse muutus baitides",
+       "recentchanges-legend-heading": "'''Seletus:'''",
        "recentchanges-legend-newpage": "(vaata ka [[Special:NewPages|uute lehekülgede loendit]])",
        "rcnotefrom": "Allpool on toodud muudatused alates: <strong>$2</strong> (näidatakse kuni <strong>$1</strong> muudatust)",
        "rclistfrom": "Näita muudatusi alates: $3, kell $2",
        "log-title-wildcard": "Selle tekstiga algavad pealkirjad",
        "showhideselectedlogentries": "Muuda valitud logisissekannete nähtavust",
        "allpages": "Kõik leheküljed",
-       "alphaindexline": "$1 kuni $2",
        "nextpage": "Järgmine lehekülg ($1)",
        "prevpage": "Eelmine lehekülg ($1)",
        "allpagesfrom": "Näita lehti alates pealkirjast:",
        "watchnologin": "Ei ole sisse logitud",
        "addwatch": "Lisa jälgimisloendisse",
        "addedwatchtext": "Lehekülg \"[[:$1]]\" on lisatud sinu [[Special:Watchlist|jälgimisloendisse]].\nEdasised muudatused sellel leheküljel ja seotud aruteluleheküljel tuuakse ära jälgimisloendis.",
+       "addedwatchtext-short": "Lehekülg \"$1\" on lisatud sinu jälgimisloendisse.",
        "removewatch": "Eemalda jälgimisloendist",
        "removedwatchtext": "Lehekülg \"[[:$1]]\" on [[Special:Watchlist|jälgimisloendist]] eemaldatud.",
+       "removedwatchtext-short": "Lehekülg \"$1\" on eemaldatud sinu jälgimisloendist.",
        "watch": "Jälgi",
        "watchthispage": "Jälgi seda lehekülge",
        "unwatch": "Lõpeta jälgimine",
        "movepagetalktext": "Koos artiklileheküljega teisaldatakse automaatselt ka arutelulehekülg, '''välja arvatud juhtudel, kui:'''\n*uue pealkirja all on juba arutelulehekülg, mis pole tühi;\n*jätad alloleva märkeruudu valimata.\n\nNeil juhtudel saad lehekülje soovi korral käsitsi teisaldada või liita.",
        "movearticle": "Teisalda lehekülg",
        "moveuserpage-warning": "'''Hoiatus:''' Oled teisaldamas kasutajalehekülge. Pane tähele, et teisaldatakse ainult lehekülg ja kasutajat '''ei''' nimetata ümber.",
+       "movecategorypage-warning": "<strong>Hoiatus:</strong> Oled teisaldamas kategoorialehekülge. Pane palun tähele, et teisaldatakse vaid see lehekülg ja ühtegi vanas kategoorias sisalduvat lehekülge <em>ei</em> kategoriseerita ümber uude kategooriasse.",
        "movenologintext": "Lehekülje teisaldamiseks pead registreeruma ja [[Special:UserLogin|sisse logima]].",
        "movenotallowed": "Sul ei ole lehekülgede teisaldamise õigust.",
        "movenotallowedfile": "Sul ei ole failide teisaldamise õigust.",
        "cant-move-user-page": "Sul ei ole õigust teisaldada kasutajalehti (erandiks on kasutajate alamlehed).",
        "cant-move-to-user-page": "Sul ei ole õigust teisaldada lehekülge kasutajaleheks (ei käi kasutaja alamlehe kohta).",
+       "cant-move-category-page": "Sul pole õigust kategoorialehekülgi teisaldada.",
+       "cant-move-to-category-page": "Sul pole õigust teisaldada lehekülge kategoorialeheküljele.",
        "newtitle": "Uue pealkirja alla:",
        "move-watch": "Jälgi lähte- ja sihtlehekülge",
        "movepagebtn": "Teisalda lehekülg",
        "tooltip-pt-mytalk": "Sinu arutelulehekülg",
        "tooltip-pt-anontalk": "Arutelu sellelt IP-aadressilt tehtud muudatuste kohta",
        "tooltip-pt-preferences": "Sinu eelistused",
-       "tooltip-pt-watchlist": "Lehekülgede loend, mille muudatusi jälgid",
+       "tooltip-pt-watchlist": "Loend lehekülgedest, mille muudatusi jälgid",
        "tooltip-pt-mycontris": "Sinu kaastööde loend",
        "tooltip-pt-login": "Me julgustame teid sisse logima, kuid see pole kohustuslik.",
        "tooltip-pt-logout": "Logi välja",
        "newimages-summary": "Sellel erilehel on viimati üles laaditud failid.",
        "newimages-legend": "Filter",
        "newimages-label": "Failinimi (või selle osa):",
+       "newimages-showbots": "Näita robotite üles laaditud faile",
        "noimages": "Uusi pilte ei ole.",
        "ilsubmit": "Otsi",
        "bydate": "kuupäeva järgi",
        "confirm-watch-top": "Kas lisad selle lehekülje oma jälgimisloendisse?",
        "confirm-unwatch-button": "Sobib",
        "confirm-unwatch-top": "Kas eemaldad selle lehekülje oma jälgimisloendist?",
+       "quotation-marks": "\"$1\"",
        "imgmultipageprev": "← eelmine lehekülg",
        "imgmultipagenext": "järgmine lehekülg →",
        "imgmultigo": "Mine!",
        "watchlistedit-raw-done": "Sinu jälgimisloend on uuendatud.",
        "watchlistedit-raw-added": "{{PLURAL:$1|1 lehekülg|$1 lehekülge}} lisatud:",
        "watchlistedit-raw-removed": "{{PLURAL:$1|1 pealkiri|$1 pealkirja}} eemaldati:",
+       "watchlistedit-clear-title": "Tühjendatud jälgimisloend",
+       "watchlistedit-clear-legend": "Jälgimisloendi tühjendamine",
+       "watchlistedit-clear-explain": "Sinu jälgimisloendist eemaldatakse kõik pealkirjad.",
+       "watchlistedit-clear-titles": "Pealkirjad:",
+       "watchlistedit-clear-submit": "Tühjenda jälgimisloend (jäädavalt!)",
+       "watchlistedit-clear-done": "Sinu jälgimisloend on tühjendatud.",
+       "watchlistedit-clear-removed": "{{PLURAL:$1|Üks pealkiri|$1 pealkirja}} eemaldati:",
+       "watchlistedit-too-many": "Pealkirju on siin kuvamiseks liiga palju.",
+       "watchlisttools-clear": "Tühjenda jälgimisloend",
        "watchlisttools-view": "Näita vastavaid muudatusi",
        "watchlisttools-edit": "Vaata ja redigeeri jälgimisloendit",
        "watchlisttools-raw": "Muuda lähteteksti",
        "fileduplicatesearch-result-n": "Failil \"$1\" on {{PLURAL:$2|1 samane duplikaat|$2 samast duplikaati}}.",
        "fileduplicatesearch-noresults": "Faili nimega \"$1\" ei leidu.",
        "specialpages": "Erileheküljed",
+       "specialpages-note-top": "Seletus",
        "specialpages-note": "* Harilikud erileheküljed.\n* <span class=\"mw-specialpagerestricted\">Piiranguga erileheküljed.</span>",
        "specialpages-group-maintenance": "Hooldusaruanded",
        "specialpages-group-other": "Teised erileheküljed",
        "htmlform-float-invalid": "Määratud väärtus ei ole arvuline.",
        "htmlform-int-toolow": "Antud suurus on väiksem kui minimaalne $1",
        "htmlform-int-toohigh": "Antud suurus on suurem kui maksimaalne $1",
-       "htmlform-required": "See väärtus on nõutav",
+       "htmlform-required": "See väärtus on nõutav.",
        "htmlform-submit": "Saada",
        "htmlform-reset": "Tühista muudatused",
        "htmlform-selectorother-other": "Muu",
        "htmlform-no": "Ei",
        "htmlform-yes": "Jah",
        "htmlform-chosen-placeholder": "Vali säte",
+       "htmlform-cloner-create": "Lisa veel",
+       "htmlform-cloner-delete": "Eemalda",
+       "htmlform-cloner-required": "Vähemalt üks väärtus on nõutav.",
        "sqlite-has-fts": "$1 koos täistekstiotsingu toega",
        "sqlite-no-fts": "$1 ilma täistekstiotsingu toeta",
        "logentry-delete-delete": "$1 {{GENDER:$2|kustutas}} lehekülje $3",
index f45e95f..11eb6ab 100644 (file)
        "token_suffix_mismatch": "'''Zure aldaketa ezeztatua izan da zure bezeroak puntuazio-karaktereak itxuragabetu dituelako.\nAldaketa ezeztatua izan da testuaren galtzea galarazteko.\nHau batzuetan gertatzen da buggyan oinarritutako web proxy zerbitzua erabiltzean.'''",
        "edit_form_incomplete": "'''Aldaketa formularioaren atal batzuk ez dira iritsi zerbitzarira; bi aldiz ziurtatu zure aldaketak osorik daudela eta berriro saiatu.'''",
        "editing": "«$1» aldatzen",
-       "creating": "$1 sortzen",
+       "creating": "«$1» sortzen",
        "editingsection": "«$1» aldatzen (atala)",
        "editingcomment": "«$1» aldatzen (atal berria)",
        "editconflict": "Aldaketa gatazka: $1",
index 7758039..a65c9cf 100644 (file)
@@ -58,7 +58,7 @@
        "tog-enotifusertalkpages": "هنگامی که در صفحهٔ بحث کاربری‌ام تغییری صورت می‌گیرد به من نامه‌ای فرستاده شود",
        "tog-enotifminoredits": "برای تغییرات جزئی در صفحه‌ها و پرونده‌ها هم به من نامه‌ای فرستاده شود",
        "tog-enotifrevealaddr": "نشانی رایانامهٔ من در رایانامه‌های اطلاع‌رسانی نمایش یابد",
-       "tog-shownumberswatching": "شمار کاربران پی‌گیری‌کننده نمایش یابد",
+       "tog-shownumberswatching": "شمار کاربران پی‌گیرندهٔ نمایش یابد",
        "tog-oldsig": "امضای کنونی:",
        "tog-fancysig": "امضا به صورت ویکی‌متن در نظر گرفته شود (بدون درج خودکار پیوند)",
        "tog-uselivepreview": "استفاده از پیش‌نمایش زنده (نیازمند جاوااسکریپت) (آزمایشی)",
        "right-import": "واردکردن صفحه از ویکی‌های دیگر",
        "right-importupload": "واردکردن صفحه از طریق بارگذاری پرونده",
        "right-patrol": "گشت زدن به ویرایش‌های دیگران",
-       "right-autopatrol": "گشن زدن خودکار به ویرایش‌های خودش",
+       "right-autopatrol": "گشت زدن خودکار ویرایش‌های خودش",
        "right-patrolmarks": "مشاهدهٔ برچسب گشت تغییرات اخیر",
        "right-unwatchedpages": "مشاهدهٔ فهرست صفحه‌هایی که پی‌گیری نمی‌شوند",
        "right-mergehistory": "ادغام تاریخچهٔ صفحه‌ها",
        "minoreditletter": "جز",
        "newpageletter": "نو",
        "boteditletter": "ر",
-       "number_of_watching_users_pageview": "[$1 {{PLURAL:$1|کاربر|کاربر}} پی‌گیری‌کننده]",
+       "number_of_watching_users_pageview": "[$1 {{PLURAL:$1|کاربر}} پی‌گیرنده]",
        "rc_categories": "محدود به این رده‌ها (رده‌ها را با «|» جدا کنید)",
        "rc_categories_any": "هر کدام",
        "rc-change-size-new": "$1 {{PLURAL:$1|بایت}} پس از تغییر",
        "markedaspatrollederrornotify": "زدن برچسب گشت، ناموفق بود.",
        "patrol-log-page": "سیاههٔ گشت",
        "patrol-log-header": "این سیاهه‌ای از ویرایش‌های گشت‌خورده است.",
-       "log-show-hide-patrol": "سیاههٔ گشت‌زنی $1",
+       "log-show-hide-patrol": "$1 سیاههٔ گشت‌زنی",
        "deletedrevision": "$1 نسخهٔ حذف شدهٔ قدیمی",
        "filedeleteerror-short": "خطا در حذف پرونده: $1",
        "filedeleteerror-long": "در زمان حذف پرونده خطا رخ داد:\n\n$1",
index a1d52cd..38437a7 100644 (file)
        "filerevert-submit": "Suorita palauttaminen",
        "filerevert-success": "'''[[Media:$1|$1]]''' on palautettu takaisin [$4 versioon, joka luotiin $2 kello $3].",
        "filerevert-badversion": "Tiedostosta ei ole luotu versiota kyseisellä ajan hetkellä.",
-       "filedelete": "Tiedoston $1 poisto",
+       "filedelete": "Poistetaan tiedosto $1",
        "filedelete-legend": "Tiedoston poisto",
        "filedelete-intro": "Olet poistamassa tiedoston '''[[Media:$1|$1]]''' ja kaiken sen historian.",
        "filedelete-intro-old": "<span class=\"plainlinks\">Olet poistamassa tiedoston '''[[Media:$1|$1]]''' [$4 päivämäärällä $2 kello $3 luotua versiota].</span>",
        "movepagetalktext": "Sivuun mahdollisesti liittyvä keskustelusivu siirtyy automaattisesti mukana, '''paitsi:'''\n*jos siirron kohdesivulla on olemassa keskustelusivu, joka ei ole tyhjä, tai\n*jos otat pois rastin alla olevasta ruudusta.\n\nNäissä tapauksissa sivu täytyy siirtää tai yhdistää käsin, jos se on tarpeen.",
        "movearticle": "Siirrettävä sivu:",
        "moveuserpage-warning": "'''Varoitus:''' Olet siirtämässä käyttäjäsivua. Huomaa, että vain sivu siirretään ja käyttäjää ''ei'' nimetä uudelleen.",
-       "movecategorypage-warning": "<strong>Varoitus:</strong> Olet siirtämässä luokkasivua. Ota huomioon, että ainoastaan luokan sivu siirretään ja tämä toiminto <em>ei</em> luokittele vanhassa luokassa olevia sivuja uuteen luokkaan.",
+       "movecategorypage-warning": "<strong>Varoitus:</strong> Olet siirtämässä luokkasivua. Ota huomioon, että ainoastaan luokan oma sivu siirretään ja että tämä toiminto <em>ei</em> luokittele tai itsestään siirrä vanhassa luokassa olevia sivuja uuteen luokkaan.",
        "movenologintext": "Sinun pitää olla rekisteröitynyt käyttäjä ja [[Special:UserLogin|kirjautua sisään]], jotta voisit siirtää sivun.",
        "movenotallowed": "Sinulla ei ole oikeutta siirtää sivuja.",
        "movenotallowedfile": "Sinulla ei ole oikeutta siirtää tiedostoja.",
index d889f26..e6438a6 100644 (file)
        "movepagetalktext": "La page de discussion associée, si présente, sera automatiquement renommée '''sauf si :'''\n* vous déplacez la page vers un autre espace de noms, ou\n* une page de discussion non vide existe déjà sous le nouveau nom, ou\n* vous décochez la case ci-dessous.\n\nDans ces cas-là, vous devrez renommer ou fusionner cette page de discussion manuellement si vous le désirez.",
        "movearticle": "Renommer la page :",
        "moveuserpage-warning": "'''Attention :''' Vous êtes sur le point de renommer une page d’utilisateur. Veuillez noter que seule la page sera renommée et que l’utilisateur '''ne''' sera '''pas''' renommé.",
-       "movecategorypage-warning": "<strong>Avertissement :</strong> Vous êtes sur le point de renommer une page de catégorie. Veuillez noter que seul la page sera renommée et que toutes les pages dans l'ancienne catégorie ne seront <em>pas</em> transférées dans la nouvelle.",
+       "movecategorypage-warning": "<strong>Avertissement :</strong> Vous êtes sur le point de renommer une page de catégorie. Veuillez noter que seule la page sera renommée et que toutes les pages dans l'ancienne catégorie ne seront <em>pas</em> transférées dans la nouvelle.",
        "movenologintext": "Pour pouvoir renommer une page, vous devez être [[Special:UserLogin|identifié{{GENDER:||e|(e)}}]] avec un compte utilisateur enregistré et d'ancienneté suffisante.",
        "movenotallowed": "Vous n'avez pas la permission de renommer les pages.",
        "movenotallowedfile": "Vous n'avez pas la permission de renommer les fichiers.",
index 0828510..f7e5801 100644 (file)
        "table_pager_limit_label": "Stavke po stranici:",
        "table_pager_limit_submit": "Idi",
        "table_pager_empty": "Nema rezultata",
-       "autosumm-blank": "Uklonjen cjelokupni sadržaj stranice",
-       "autosumm-replace": "Tekst stranice se zamjenjuje s '$1'",
-       "autoredircomment": "Preusmjeravanje na [[$1]]",
-       "autosumm-new": "Nova stranica: $1",
+       "autosumm-blank": "uklonjen cjelokupni sadržaj stranice",
+       "autosumm-replace": "tekst stranice se zamjenjuje s '$1'",
+       "autoredircomment": "preusmjeravanje na [[$1]]",
+       "autosumm-new": "nova stranica: $1",
        "lag-warn-normal": "Moguće je da izmjene nastale posljednjih $1 {{PLURAL:$1|sekundu|sekundi}} neće biti vidljive na ovom popisu.",
        "lag-warn-high": "Zbog kašnjenja baze podataka, moguće je da promjene napravljene u posljednjih $1 {{PLURAL:$1|sekundu|sekunde|sekundi}} nisu prikazane u popisu.",
        "watchlistedit-normal-title": "Uredi popis praćenja",
index b258bea..059cf49 100644 (file)
        "anontalkpagetext": "----''Ini adalah halaman pembicaraan seorang pengguna anonim yang belum membuat akun atau tidak menggunakannya.\nDengan demikian, kami terpaksa harus memakai alamat IP yang bersangkutan untuk mengidentifikasikannya.\nAlamat IP seperti ini mungkin dipakai bersama oleh beberapa pengguna yang berbeda.\nJika Anda adalah seorang pengguna anonim dan merasa mendapatkan komentar-komentar yang tidak relevan yang ditujukan langsung kepada Anda, silakan [[Special:UserLogin/signup|membuat akun]] atau [[Special:UserLogin|masuk log]] untuk menghindari kerancuan dengan pengguna anonim lainnya di lain waktu.''",
        "noarticletext": "Saat ini tidak ada teks di halaman ini.\nAnda dapat [[Special:Search/{{PAGENAME}}|melakukan pencarian untuk judul halaman ini]] di halaman-halaman lain, <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} mencari log terkait], atau [{{fullurl:{{FULLPAGENAME}}|action=edit}} menyunting halaman ini]</span>.",
        "noarticletext-nopermission": "!Saat ini tidak ada teks di halaman ini.\nAnda dapat [[Special:Search/{{PAGENAME}}|melakukan pencarian untuk judul halaman ini]] di halaman-halaman lain, atau <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} mencari log terkait]</span>, tapi Anda tidak memiliki izin untuk membuat halaman ini",
-       "missing-revision": "Revisi #$1 halaman berjudul \"{{FULLPAGENAME}}\" tidak eksks.\n\nHal ini biasanya disebabkan oleh tautan versi terdahulu menuju halaman yang sudah dihapus.\nRinciannya dapat ditemukan di [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} log penghapusan].",
+       "missing-revision": "Revisi #$1 halaman berjudul \"{{FULLPAGENAME}}\" tidak eksis.\n\nHal ini biasanya disebabkan oleh tautan versi terdahulu menuju halaman yang sudah dihapus.\nRinciannya dapat ditemukan di [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} log penghapusan].",
        "userpage-userdoesnotexist": "Akun pengguna \"<nowiki>$1</nowiki>\" tidak terdaftar.",
        "userpage-userdoesnotexist-view": "Pengguna \"$1\" tidak terdaftar.",
        "blocked-notice-logextract": "Pengguna ini sedang diblokir.\nEntri log pemblokiran terakhir tersedia di bawah ini sebagai rujukan.",
index 715a939..7551192 100644 (file)
        "permalink": "Agnanayon a silpo",
        "print": "Imaldit",
        "view": "Kitaen",
+       "view-foreign": "Kitaen idiay $1",
        "edit": "Urnosen",
+       "edit-local": "Urnosen ti lokal a deskripsion",
        "create": "Agaramid",
+       "create-local": "Agnayon ti lokal a deskripsion",
        "editthispage": "Urnosen daytoy a panid",
        "create-this-page": "Partuaten daytoy a panid",
        "delete": "Ikkaten",
        "jumptonavigation": "pagdaliasatan",
        "jumptosearch": "biruken",
        "view-pool-error": "Pasensian, dagiti servers ket nadagsenan unay tattan.\nAdu unay dagiti agar-aramat nga agbuy-buya ti daytoy a panid.\nPangaasi nga agurayka met bassit sakbay a padasem manen ti mangserrek daytoy a panid.\n\n$1",
+       "generic-pool-error": "Pasensian, dagiti server ket agdama a nadagsenan unay.\nAdu unay dagiti agar-aramat nga agbuybuya ti daytoy a rekurso.\nPangngaasi nga agurayka bassit sakbay a padasem manen a serrekan daytoy a rekurso.",
        "pool-timeout": "Madamdama agur-uray para iti kandado",
        "pool-queuefull": "Napunnon ti nagyanan ti pagur-urayan",
        "pool-errorunknown": "Di am-ammo a biddut",
+       "pool-servererror": "Ti serbisio ti pagbilangan ti pisina ket saan a magun-od ($1).",
        "aboutsite": "Maipanggep ti {{SITENAME}}",
        "aboutpage": "Project:Maipanggep",
        "copyright": "Ti linaon ket magun-od babaen ti $1 malaksid no adda sabali a naibaga.",
        "gotaccountlink": "Sumrek",
        "userlogin-resetlink": "Nalipatam dagiti salaysay ti pagserrekmo?",
        "userlogin-resetpassword-link": "Nalipatam ti kontraseniasmo?",
+       "userlogin-helplink2": "Tulong iti panagserrek",
        "userlogin-loggedin": "Nakastrekkan a kas ni {{GENDER:$1|$1}}.\nUsaren ti porma dita baba tapno sumrek a kas sabali nga agar-aramat.",
        "userlogin-createanother": "Agaramid pay ti sabali a pakabilangan",
        "createacct-emailrequired": "Esurat a pagtaengan",
        "resetpass-abort-generic": "Ti panagsukat ti kontrasenias ket pinasardeng babaen ti maysa a pagpaatiddog.",
        "resetpass-expired": "Nagpason ti kontraseniasmo. Pangngaasi a mangiyasentar ti baro a kontrasenias tapno makastrek.",
        "resetpass-expired-soft": "Nagpason ti kontraseniasmo, ken nasken a maiyasentar manen. Pangngaasi nga agpili tattan ti baro a kontrasenias, wenno pinduten ti \"{{int:resetpass-submit-cancel}}\"  tapno maiyasentarto intono madamdama.",
+       "resetpass-validity-soft": "Saan nga umiso ti kontraseniasmo: $1\n\nAgpilika tattan ti baro a kontrasenias, wenno pinduten ti \"{{int:resetpass-submit-cancel}}\" tapno isaad intono madamdama.",
        "passwordreset": "Iyasentar manen ti kontrasenias",
        "passwordreset-text-one": "Lippasem daytoy a porma tapno maiyasentar manen ti bukodmo a kontrasenias.",
        "passwordreset-text-many": "{{PLURAL:$1|Agpunno ti maysa kadagiti pagikabilan tapno makaawat ti temporario a kontrasenias babaen ti esurat.}}",
        "edit-gone-missing": "Saan a mapabaro daytoy a panid.\nKasla met naikkaten.",
        "edit-conflict": "Adda kasinnungat ti panag-urnos.",
        "edit-no-change": "Ti inurnosmo ket saan a naikaskaso, ngamin ket awan ti nasukatan a testo.",
+       "postedit-confirmation-created": "Ti panid ket napartuaten.",
+       "postedit-confirmation-restored": "Ti panid ket naisublin.",
        "postedit-confirmation-saved": "Ti inurnosmo ket naidulinen.",
        "edit-already-exists": "Saan a makaaramid ti baro a panid.\nAdda met daytoyen.",
        "defaultmessagetext": "Kasisigud a testo ti mensahe",
        "parser-template-recursion-depth-warning": "Ti kinauneg ti panagdullit ti plantilia ket nagpatingga ti napalabes ($1)",
        "language-converter-depth-warning": "Ti kauneg ti panagaramid ti pagsasao ket napalabes ti agpatingga a ($1)",
        "node-count-exceeded-category": "Dagiti panid a simmurok ti bilang ti nodo",
+       "node-count-exceeded-category-desc": "Ti kategoria para kadagiti panid a nalabsan ti bilang ti nodo.",
        "node-count-exceeded-warning": "Ti panid ket nasurokanna ti bilang ti nodo",
        "expansion-depth-exceeded-category": "Dagiti panid a nasurokan ti kauneg ti panagpadakkel",
+       "expansion-depth-exceeded-category-desc": "Daytoy ket kategoria para kadagiti panid a nalabsan ti kauneg ti panagpadakkel.",
        "expansion-depth-exceeded-warning": "Ti panid ket nasurokanna ti kauneg ti panagpadakkel",
        "parser-unstrip-loop-warning": "Adda nakita a di-naukisan a silo",
        "parser-unstrip-recursion-limit": "Ti di-naukisan a panagsumro manen a patingga ket nasurokan ($1)",
        "revdelete-no-file": "Awan dayta nainaganan a papeles.",
        "revdelete-show-file-confirm": "Sigurado kadi a kayatmo ti mangkita ti naikkat a baliwan ti papeles \"<nowiki>$1</nowiki>\" a naggapu idi $2 idi $3?",
        "revdelete-show-file-submit": "Wen",
+       "revdelete-selected-text": "{{PLURAL:$1|Napili a nabaliwan|Dagiti napili a nabaliwan}} iti [[:$2]]:",
+       "revdelete-selected-file": "{{PLURAL:$1|Napili a bersion ti papeles|Dagiti napili a bersion ti papeles}} iti [[:$2]]:",
        "logdelete-selected": "{{PLURAL:$1|Ti napili a listaan ti napasamak|Dagiti napili a listaan ti napasamak}}:",
        "revdelete-text-text": "Dagiti naikkat a rebision ket agparangto pay laeng iti panid ti pakasaritaan, ngem dagiti paset ti linaonda ket saanton a publiko a maserrekan.",
        "revdelete-text-file": "Dagiti naikkat a bersion ti papeles ket agparangto pay laeng iti pakasaritaan ti papeles, ngem dagiti paset ti linaonda ket saanton a publiko a maserrekan.",
        "prefs-emailconfirm-label": "Pammasingked ti esurat:",
        "youremail": "Esurat:",
        "username": "{{GENDER:$1|Nagan ti agar-aramat}}:",
-       "uid": "ID ti {{GENDER:$1|Agar-aramat}}:",
        "prefs-memberingroups": "{{GENDER:$2|Kameng}} ti {{PLURAL:$1|a grupo|a grupgrupo}}:",
        "prefs-registration": "Oras a nagrehistro:",
        "yourrealname": "Pudno a nagan:",
        "right-move": "Iyalis dagiti panid",
        "right-move-subpages": "Iyalis dagiti panid a kakuyog dagiti subpanidda.",
        "right-move-rootuserpages": "Iyalis dagiti ramut a panid ti agar-aramat",
+       "right-move-categorypages": "Iyalis ti pampanid ti kategoria",
        "right-movefile": "Iyalis dagiti papeles",
        "right-suppressredirect": "Saan nga agaramid ti baw-ing a naggapo iti taudan no iyalis dagiti panid",
        "right-upload": "Agipan ti papeles",
        "action-createpage": "agpartuat kadagiti panid",
        "action-createtalk": "agaramid kadagiti pagtungtungan a panid",
        "action-createaccount": "agpartuat ti pakabilangan daytoy nga agar-aramat",
+       "action-history": "kitaen ti pakasaritaan daytoy a panid",
        "action-minoredit": "markaam a bassit nga urnos daytoy",
        "action-move": "iyalis daytoy a panid",
        "action-move-subpages": "iyalis daytoy a panid, ken dagiti subpanidna",
        "action-move-rootuserpages": "iyalis dagiti ramut a panid ti agar-aramat",
+       "action-move-categorypages": "iyalis ti pampanid ti kategoria",
        "action-movefile": "iyalis daytoy a papeles",
        "action-upload": "ikarga daytoy a papeles",
        "action-reupload": "suratam manen dagiti adda a papeles",
        "download": "ikarga",
        "unwatchedpages": "Di mabambantayan a pampanid",
        "listredirects": "Listaan dagiti baw-ing",
+       "listduplicatedfiles": "Listaan dagiti papeles nga addaan kadagiti duplikado",
+       "listduplicatedfiles-summary": "Daytoy ket listaan dagiti papeles a ti kaudian unay a bersion ti papeles ket duplikado ti kaudian unay a bersion iti sabali a papeles. Dagiti laeng lokal a papeles ti maikeddeng.",
+       "listduplicatedfiles-entry": "Ti [[:File:$1|$1]] ket addaan [[$3|{{PLURAL:$2|iti duplikado|kadagiti $2 a duplikado}}]].",
        "unusedtemplates": "Dagiti saan a nausar a plantilia",
        "unusedtemplatestext": "Daytoy a panid ket ilistana dagiti panid idiay {{ns:template}} a nagan ti espasio a saan a nairaman iti sabali a panid.\nLaglagipem ti agkita kadagiti sabsabali a silpo ti plantilia sakbay nga ikkatem ida.",
        "unusedtemplateswlh": "dagiti sabali a silpo",
        "pageswithprop-prophidden-binary": "binario a pateg ti tagikua a nailemmeng ($1)",
        "doubleredirects": "Dagiti namindua a naibaw-ing",
        "doubleredirectstext": "Daytoy a panid ket ilistana dagiti panid nga agbaw-ing kadagiti sabsabali a baw-ing a pampanid.\nIti tunggal maysa nga aray ket adda nagyanna kadagiti silpo iti umuna ken maikadua a baw-ing, ken iti puntaan iti maikadua a baw-ing, nga isu ti \"pudno\" a puntaan ti panid, nga ti umuna a baw-ing ket isu ti ipatudona.\n<del>Nakurosan</del> dagita naikabil ket napadtuan.",
-       "double-redirect-fixed-move": "Ti [[$1]] ket naiyalisen.\nTattan ket naibaw-ing idiay [[$2]].",
-       "double-redirect-fixed-maintenance": "Simsimpaen dagiti namindua a naibaw-ing a naggapo idiay [[$1]] nga ipan idiay [[$2]].",
+       "double-redirect-fixed-move": "Naiyalisen ti [[$1]].\nAutomatiko idi a napabaro ken naibaw-ing tattan idiay [[$2]].",
+       "double-redirect-fixed-maintenance": "Automatiko a simsimpaen ti doble a baw-ing manipud ti [[$1]] idiay [[$2]] iti panagtaripato nga obra.",
        "double-redirect-fixer": "Panagsimpa ti baw-ing",
        "brokenredirects": "Dagiti naputed a baw-ing",
        "brokenredirectstext": "Dagitoy sumaganad a baw-ing ket nakasilpo kadagiti awan a panid:",
        "deadendpagestext": "Dagitoy a pampanid ket saan a nakasilpo ti sabali a pampanid ditoy {{SITENAME}} .",
        "protectedpages": "Dagiti nasalakniban a panid",
        "protectedpages-indef": "Inggat ingana a salakniban laeng",
-       "protectedpages-summary": "Daytoy a panid ket ilistana dagiti adda a panid nga agdama a nasalakniban. Para iti listaan dagiti titulo a nasalakniban manipud ti pannakapartuat, kitaen ti [[{{#special:ProtectedTitles}}|{{int:protectedtitles}}]].",
+       "protectedpages-summary": "Daytoy a panid ket ilistana dagiti panid nga agdama a nasalakniban. Para iti listaan dagiti titulo a nasalakniban manipud ti pannakapartuat, kitaen ti [[{{#special:ProtectedTitles}}|{{int:protectedtitles}}]].",
        "protectedpages-cascade": "Dagiti sariap a salaknib laeng",
        "protectedpages-noredirect": "Ilemmeng dagiti baw-ing",
        "protectedpagesempty": "Awan ti pampanid nga agdama a nasalakniban babaen kadagitoy a parametro.",
        "protectedpages-unknown-timestamp": "Di ammo",
        "protectedpages-unknown-performer": "Di ammo nga agar-aramat",
        "protectedtitles": "Dagiti nasalakniban a titulo",
-       "protectedtitles-summary": "Daytoy a panid ket ilistana dagiti titulo nga agdama a nasalakniban manipud ti pannakapartuat. Para iti listaan dagiti adda a panid a nasalakniban, kitaen ti [[{{#special:ProtectedPages}}|{{int:protectedpages}}]].",
+       "protectedtitles-summary": "Daytoy a panid ket ilistana dagiti titulo nga agdama a nasalakniban manipud ti pannakapartuat. Para iti listaan dagiti adda a panid a nasalakniban, kitaen ti  [[{{#special:ProtectedPages}}|{{int:protectedpages}}]]..",
        "protectedtitlesempty": "Awan dagiti titulo nga agdama a nasalakniban iti dagitoy a parametro.",
        "listusers": "Listaan dagiti agar-aramat",
        "listusers-editsonly": "Ipakita laeng dagiti agar-aramat nga adda inurnosda",
        "log-title-wildcard": "Agsapul kadagiti titulo nga agrugi iti daytoy a testo",
        "showhideselectedlogentries": "Ipakita/ilemmeng dagiti napili a naikabil ti listaan",
        "allpages": "Amin a pampanid",
-       "alphaindexline": "$1 iti $2",
        "nextpage": "sumaruno a panid ($1)",
        "prevpage": "Napalabas a panid ($1)",
        "allpagesfrom": "Ipakita dagiti panid a mangrugi iti:",
        "listgrouprights-removegroup-self": "Agikkat ti {{PLURAL:$2|a grupo|kadagiti grupo}} manipud ti bukod a pakabilangan: $1",
        "listgrouprights-addgroup-self-all": "Inayon amin dagiti grupo iti bukod a pakabilangan",
        "listgrouprights-removegroup-self-all": "Ikkatem amin dagiti grupo manipud ti bukod a pakabilangan",
+       "listgrouprights-namespaceprotection-header": "Dagiti panangigawid ti nagan ti espasio",
+       "listgrouprights-namespaceprotection-namespace": "Nagan ti espasio",
+       "listgrouprights-namespaceprotection-restrictedto": "Karbengan wenno karkarbengan a mangpalubos nga agurnos ti agar-aramat",
+       "trackingcategories": "Pagsurotan a katkategoria",
+       "trackingcategories-summary": "Daytoy a panid ket ilistana ti pagsurotan a katkategoria nga automatiko a nayonan babaen ti sopwer ti MediaWiki. Ti nagnaganda ket mabalin a mabaliwan babaen ti panagbaliw kadagiti maitutop a mensahe ti sistema iti nagan ti espasio ti {{ns:8}}.",
+       "trackingcategories-msg": "Pagsurotan a kategoria",
+       "trackingcategories-name": "Nagan ti mensahe",
+       "trackingcategories-desc": "Kriteria ti panangiraman ti kategoria",
+       "noindex-category-desc": "Ti panid ket saan naipagsurotan babaen dagiti robot gapu ta addaan iti salamangka a balikas ti <code><nowiki>__NOINDEX__</nowiki></code> ken adda iti nagan ti espasio a maipalubos ti wagayway.",
+       "index-category-desc": "Ti panid ket addaan iti <code><nowiki>__INDEX__</nowiki></code> (ken adda iti nagan ti espasio a maipalubos ti wagayway), ken isu a naipagsurotan babaen dagiti robot ngem no iti kadawyan ket saan.",
+       "post-expand-template-inclusion-category-desc": "Kalpasan ti panagpadakkel kadagiti amin a plantilia, ti kadakkel ti panid ket dakdakkel ngem ti <code>$wgMaxArticleSize</code>, isu a dagiti plantilia ket saan a napadakkel.",
+       "post-expand-template-argument-category-desc": "Kalpasan ti panagpadakkel ti argumento ti plantilia (dagiti addaan iti tallo a pangrikep, kasla ti <code>{{{Foo}}}</code>), ti panid ket dakdakkel ngem ti <code>$wgMaxArticleSize</code>.",
+       "expensive-parserfunction-category-desc": "Adu unay dagiti nangina nga annong ti parser (kasla ti <code>#ifexist</code>) a nairaman iti panid. Kitaen ti[https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgExpensiveParserFunctionLimit Manual:$wgExpensiveParserFunctionLimit].",
+       "broken-file-category-desc": "Kategoria a nainayon no ti panid ket aglaon ti nadadael a silpo ti papeles (ti silpo a panangisengngat ti papeles no awan ti papeles).",
+       "hidden-category-category-desc": "Daytoy ket kategoria nga addaan iti <code><nowiki>__HIDDENCAT__</nowiki></code> , a mangpawil daytoy nga agparang kadagiti silpo ti kahon ti kategoria kadagiti panid, bbabaen ti kasisigud.",
+       "trackingcategories-nodesc": "Awan ti magun-od a deskripsion.",
+       "trackingcategories-disabled": "Nabaldado ti kategoria",
        "mailnologin": "Awan ti pagipatulodan a pagtaengan",
        "mailnologintext": "Masapul a [[Special:UserLogin|nakastrekka]] ken adda umisu nga esurat a pagtaengan idiay [[Special:Preferences|kaykayatmo]] ti agipatulod ti esurat kadagiti sabsabali nga agar-aramat.",
        "emailuser": "Esuratan daytoy nga agar-aramat",
        "watchnologin": "Saan a nakastrek",
        "addwatch": "Inayon iti bambantayan",
        "addedwatchtext": "Ti panid iti \"[[:$1]]\" ket nainayonen idiay [[Special:Watchlist|listaan ti bambantayam]].\nDagiti masakbayan a panagsukat iti daytoy a panid ken dagiti mainaig a tungtunganna a panid ket mailistanto idiay.",
+       "addedwatchtext-short": "Ti panid ti \"$1\" ket nainayonen iti listaan ti bambantayam.",
        "removewatch": "Ikkaten dita bambantayan",
        "removedwatchtext": "Daytoy a panid  \"[[:$1]]\" ket naikkat idiay [[Special:Watchlist|bambantayam]].",
+       "removedwatchtext-short": "Ti panid ti \"$1\" ket naikkaten manipud ti listaan ti bambantayam.",
        "watch": "bantayan",
        "watchthispage": "Bantayan daytoy a panid",
        "unwatch": "Saanen a bantayan",
        "unwatchthispage": "Isardeng a bantayan daytoy a panid",
        "notanarticle": "Saan a naglaon a panid",
        "notvisiblerev": "Ti panagbalbaliw ti sabali nga agar-aramat ket naikkaten",
-       "watchlist-details": "{{PLURAL:$1|$1 panid|$1 dagiti panid}} a bambantayam, saan a mairaman dagiti panid ti tungtungan.",
+       "watchlist-details": "{{PLURAL:$1|$1 panid|$1 dagiti panid}} a bambantayam, saan a naisina a mairaman dagiti panid ti tungtungan.",
        "wlheader-enotif": "Napakabaelan ti panangipakaammo ti esurat.",
        "wlheader-showupdated": "Dagiti panid a nasukatanen manipud ti kinaudi a panagsarungkarmo ket naipakita iti '''napuskol'''",
        "wlnote2": "Dita baba ket dagiti binalbaliwan {{PLURAL:$1|iti napalabas nga oras|kadagiti napalabas a <strong>$1</strong> nga oras}}, manipud idi $2, $3.",
        "protect-locked-blocked": "Saanmo a mabalin a sukatan dagiti kita ti salaknib no naserraanka.\nAdda ditoy kadagiti agdama a kasasaad ti panid '''$1''':",
        "protect-locked-dblock": "Ti kita ti salaknib ket saan a masukatan gapu ti agdama a kandado ti database.\nAdda ditoy kadagiti agdama a kasasaad ti panid '''$1''':",
        "protect-locked-access": "Awan ti pammalubos ti pakabilangam a mangsukat kadagiti lessaad ti salaknib ti panid.\nDagitoy dagiti agdama a kasasaad ti panid a '''$1''':",
-       "protect-cascadeon": "Daytoy a panid ket agdama a nasalakniban gapu ta nairaman kadagiti sumaganad a {{PLURAL:$1|panid, nga addaan|pampanid, nga addaan}} ti sipapakat a salaknib ti amin-amin.\nMabalinmo a sukatan ti lessaad ti salaknib daytoy a panid, ngem saanna a tignayen ti salaknib nga amin-amin.",
+       "protect-cascadeon": "Daytoy a panid ket agdama a nasalakniban gapu ta nairaman kadagiti sumaganad a {{PLURAL:$1|panid, nga addaan|pampanid, nga addaan}} iti sipapakat a salaknib a sariap.\nDagiti panagbaliw iti agpang ti salaknib iti daytoy a panid ket saan a mabanagan ti salaknib a sariap.",
        "protect-default": "Palubosan amin nga agar-aramat",
        "protect-fallback": "Palubosan laeng dagiti agar-aramat nga adda iti \"$1\" a pammalubos",
        "protect-level-autoconfirmed": "Palubosan laeng dagiti automatiko a napasingkedan nga agar-aramat",
        "contributions-title": "Inar-aramid ti agar-aramat para kenni $1",
        "mycontris": "Naar-aramid",
        "contribsub2": "Para kenni {{GENDER:$3|$1}} ($2)",
+       "contributions-userdoesnotexist": "Ti pakabilangan ti agar-aramat \"$1\" ket saan a nakarehistro.",
        "nocontribs": "Awan ti nasarakan a nasukatan a kapada daytoy a kita.",
        "uctop": "(agdama)",
        "month": "Manipud iti bulan ti (ken nasapsapa pay):",
        "movepagetalktext": "Ti mainaig a tungtungan ti panid ket giddato a maiyalis a karamanna '''malaksid:'''\n*No addan sigud nga awan linaonna a tungtungan ti panid babaen ti baro a nagan, wenno\n*No ikkatem ti kur-itna ti kahon iti baba.\n\nKadagitoy a kaso, masapul nga iyalis wenno itiponmo a manual ti panid no kayatmo.",
        "movearticle": "Iyalis ti panid:",
        "moveuserpage-warning": "'''Ballaag:''' Mangrugrugika nga agiyalis ti panid ti agar-aramat. Pangngaasi a laglapipen a ti panid ket isu laeng ti mabalin nga iyalis ken ti agar-aramat ket ''saan'' a managanan.",
+       "movecategorypage-warning": "<strong>Ballaag:</strong> Mangiyal-aliskan iti panid ti kategoria. Pangngaasi a laglagipen a ti maiyalisto laeng ket ti panid ken ti aniaman a pampanid iti daan a kategoria ket <em>saanto</em> a maikategoria iti baro.",
        "movenologintext": "Masapul a nakarehistroka nga agar-aramat ken [[Special:UserLogin|nakastrek]] tapno makaiyalis iti panid.",
        "movenotallowed": "Awan ti pammalubosmo nga agiyalis kadagiti panid.",
        "movenotallowedfile": "Awan ti pammalubosmo nga agiyalis kadagiti papeles.",
        "cant-move-user-page": "Awan ti pammalubos mo nga agiyalis kadagiti panid ti agar-aramat (malaksid kadaiti subpanid).",
        "cant-move-to-user-page": "Awan ti pammalubos mo nga agiyalis ti panid idiay panid ti agar-aramat (malaksid kadagiti subpanid ti agar-aramat).",
+       "cant-move-category-page": "Awan ti pammalubosmo nga agiyalis kadagiti panid ti kategoria.",
+       "cant-move-to-category-page": "Awan ti pammalubosmo nga agiyalis ti panid iti panid ti kategoria.",
        "newtitle": "Iti baro a titulo:",
        "move-watch": "Bantayan daytoy a panid",
        "movepagebtn": "Iyalis ti panid",
        "newimages-summary": "Daytoy nga espesial a panid ket ipakitana ti kinaudi a pinag-ipan kadagiti papeles.",
        "newimages-legend": "Sagat",
        "newimages-label": "Nagan ti papeles (wenno paset na) :",
+       "newimages-showbots": "Ipakita dagiti naikarga babaen dagiti bot",
        "noimages": "Awan ti makita.",
        "ilsubmit": "Biruken",
        "bydate": "babaen ti petsa",
        "watchlistedit-raw-done": "Napabaro ti listaan ti bambantayam.",
        "watchlistedit-raw-added": "{{PLURAL:$1|1 a titulo ti|dagiti $1 a titulo ti}} nainayon:",
        "watchlistedit-raw-removed": "{{PLURAL:$1|1 a titulo ti|dagiti $1 dagiti titulo ti}} naikkat:",
+       "watchlistedit-clear-title": "Nadalusanen ti listaan ti bambantayan",
+       "watchlistedit-clear-legend": "Dalusan ti listaan ti bambantayan",
+       "watchlistedit-clear-explain": "Amin dagiti titulo ket maikkatto manipud ti listaan ti bambantayam.",
+       "watchlistedit-clear-titles": "Dagiti titulo:",
+       "watchlistedit-clear-submit": "Dalusan ti listaan ti bambantayan (Daytoy ket permanente!)",
+       "watchlistedit-clear-done": "Nadalusanen ti bambantayam.",
+       "watchlistedit-clear-removed": "{{PLURAL:$1|1 a titulo|$1 kadagiti titulo}} ti naikkat:",
+       "watchlistedit-too-many": "Adu unay a pampanid ti maiparang ditoy.",
+       "watchlisttools-clear": "Dalusan ti listaan ti bambantayan",
        "watchlisttools-view": "Kitaen dagiti maitunos a sinukatan",
        "watchlisttools-edit": "Kitaen ken urnosen ti listaan ti bambantayan",
        "watchlisttools-raw": "Urnosen ti kilaw a listaan ti bambantayan",
        "htmlform-no": "Saan",
        "htmlform-yes": "Wen",
        "htmlform-chosen-placeholder": "Agpili ti pagpilian",
+       "htmlform-cloner-create": "Agnayon pay ti adu",
+       "htmlform-cloner-delete": "Ikkaten",
+       "htmlform-cloner-required": "Saan a basbassit ngem maysa a pateg ti masapul.",
        "sqlite-has-fts": "$1 adda ti suporta ti napno a testo ti panagbiruk",
        "sqlite-no-fts": "$1 awan ti suporta ti napno a testo ti panagbiruk",
        "logentry-delete-delete": "Ni $1 ket {{GENDER:$2|inikkatna}} ti panid ti $3",
index 84850e8..e593602 100644 (file)
        "timezoneregion-europe": "Europa",
        "timezoneregion-indian": "Oceano Indiano",
        "timezoneregion-pacific": "Oceano Pacifico",
-       "allowemail": "Abilita la ricezione di messaggi e-mail da altri utenti",
+       "allowemail": "Abilita la ricezione di messaggi email da altri utenti",
        "prefs-searchoptions": "Ricerca",
        "prefs-namespaces": "Namespace",
        "defaultns": "Altrimenti, cerca in questi namespace:",
        "recentchanges-summary": "Questa pagina presenta le modifiche più recenti ai contenuti del sito.",
        "recentchanges-noresult": "Nessuna modifica durante il periodo inserito che soddisfa questi criteri.",
        "recentchanges-feed-description": "Questo feed riporta le modifiche più recenti ai contenuti del sito.",
-       "recentchanges-label-newpage": "Questa modifica ha creato una nuova pagina",
-       "recentchanges-label-minor": "Questa è una modifica minore",
-       "recentchanges-label-bot": "Questa modifica è stata effettuata da un bot",
-       "recentchanges-label-unpatrolled": "Questa modifica non è stata ancora verificata",
-       "recentchanges-label-plusminus": "La dimensione della pagina è cambiata di questo numero di byte",
+       "recentchanges-label-newpage": "Creazione di una nuova pagina",
+       "recentchanges-label-minor": "Modifica minore",
+       "recentchanges-label-bot": "Modifica effettuata da un bot",
+       "recentchanges-label-unpatrolled": "Modifica non ancora verificata",
+       "recentchanges-label-plusminus": "Variazione della pagina in numero di byte",
        "recentchanges-legend-heading": "'''Legenda:'''",
-       "recentchanges-legend-newpage": "(vedi anche [[Special:NewPages|l'elenco delle nuove pagine]])",
+       "recentchanges-legend-newpage": "(vedi [[Special:NewPages|le nuove pagine]])",
        "recentchanges-legend-plusminus": "(''±123'')",
        "rcnotefrom": "Di seguito sono elencate le modifiche apportate a partire da <strong>$2</strong> (mostrate fino a <strong>$1</strong>).",
        "rclistfrom": "Mostra le modifiche apportate a partire da $3 $2",
        "sp-contributions-talk": "discussione",
        "sp-contributions-userrights": "gestione dei permessi",
        "sp-contributions-blocked-notice": "Questo utente è attualmente bloccato. L'ultimo elemento del registro dei blocchi è riportato di seguito per informazione:",
-       "sp-contributions-blocked-notice-anon": "Questo indirizzo IP è attualmente bloccato. Di seguito è riportato l'ultimo elemento del registro dei blocchi:",
+       "sp-contributions-blocked-notice-anon": "Questo indirizzo IP è attualmente bloccato.\nL'ultimo elemento del registro dei blocchi è riportato di seguito per informazione:",
        "sp-contributions-search": "Ricerca contributi",
        "sp-contributions-username": "Indirizzo IP o nome utente:",
        "sp-contributions-toponly": "Mostra solo i contributi che sono le ultime revisioni per la pagina",
        "unblock": "Sblocca utente",
        "blockip": "Blocco utente",
        "blockip-legend": "Blocca l'utente",
-       "blockiptext": "Usa il modulo sottostante per bloccare l'accesso in scrittura a uno specifico indirizzo IP o a un utente registrato.\nIl blocco dev'essere operato per prevenire atti di vandalismo e in stretta osservanza delle [[{{MediaWiki:Policy-url}}|regole di {{SITENAME}}]].\nIndica il motivo specifico per il quale si procede al blocco (per esempio, citando i titoli di eventuali pagine oggetto di vandalismo).",
+       "blockiptext": "Usare il modulo sottostante per bloccare l'accesso in scrittura a uno specifico indirizzo IP o a un utente registrato.\nIl blocco dev'essere operato per prevenire atti di vandalismo e in stretta osservanza delle [[{{MediaWiki:Policy-url}}|regole di {{SITENAME}}]].\nIndicare il motivo specifico per il quale si procede al blocco (per esempio, citando i titoli di eventuali pagine oggetto di vandalismo).",
        "ipaddressorusername": "Indirizzo IP o nome utente:",
        "ipbexpiry": "Scadenza del blocco:",
        "ipbreason": "Motivo:",
index 37b1add..d83db33 100644 (file)
        "revdelete-selected-text": "[[:$2]] の{{PLURAL:$1|選択された版}}:",
        "logdelete-selected": "{{PLURAL:$1|選択された記録項目}}:",
        "revdelete-text-text": "削除された版は履歴に表示され続けますが、一般の利用者が内容を閲覧できなくなります。",
+       "revdelete-text-file": "削除されたファイルの版はファイルの履歴に表示されつづけますが、一般の利用者はその内容の一部を閲覧できなくなります。",
+       "logdelete-text": "削除された記録項目は記録に表示されつづけますが、一般の利用者はその内容の一部を閲覧できなくなります。",
        "revdelete-text-others": "追加の制限を設定しない限り、{{SITENAME}} の他の管理者は非表示コンテンツにまだアクセスでき、この同じインターフェースを通してそれを復元することができます。",
        "revdelete-confirm": "この操作を行おうとしていること、その結果を理解していること、[[{{MediaWiki:Policy-url}}|方針]]に従っていること、を確認してください。",
        "revdelete-suppress-text": "秘匿は、<strong>以下の場合に限って</strong>使用すべきです:\n* 名誉毀損のおそれがある記述\n* 非公開個人情報\n*: <em>自宅の住所、電話番号、個人を識別できる公的な番号など</em>",
        "trackingcategories-msg": "追跡用カテゴリ",
        "trackingcategories-name": "メッセージ名",
        "trackingcategories-desc": "カテゴリに入る基準",
+       "noindex-category-desc": "このページは <code><nowiki>__NOINDEX__</nowiki></code> というマジックワードを含んでおり、その印が有効になっている名前空間にあるため、ロボットによる収集の対象になりません。",
+       "index-category-desc": "このページは <code><nowiki>__INDEX__</nowiki></code> というマジックワードを含んでおり、その印が有効になっている名前空間にあるため、通常と異なり、ロボットによる収集の対象になります。",
        "post-expand-template-inclusion-category-desc": "テンプレートを展開したあとのページ サイズが <code>$wgMaxArticleSize</code> よりも大きいため、一部のテンプレートが展開されなかった",
        "post-expand-template-argument-category-desc": "テンプレート引数 (<code>{{{Foo}}}</code> のような三重中括弧部分) を展開したあとのページが <code>$wgMaxArticleSize</code> よりも大きい",
        "expensive-parserfunction-category-desc": "高負荷なパーサー関数 (<code>#ifexist</code> など) の呼び出し回数が多過ぎるページ。[https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgExpensiveParserFunctionLimit Manual:$wgExpensiveParserFunctionLimit] を参照してください。",
        "thumbnail_image-type": "対応していない画像形式です",
        "thumbnail_gd-library": "GDライブラリの構成が不完全です: 関数$1が不足",
        "thumbnail_image-missing": "ファイルが見つかりません: $1",
+       "thumbnail_image-failure-limit": "このサムネイルの描画に失敗した回数($1 回以上)が上限を超えました。しばらく後でもう一度お試しください。",
        "import": "ページデータの取り込み",
        "importinterwiki": "ウィキ間移動の取り込み",
        "import-interwiki-text": "取り込むウィキとページ名を選択してください。\n版の日付と編集者名は保持されます。\nウィキ間移動のすべての取り込み操作は[[Special:Log/import|取り込み記録]]に記録されます。",
        "watchlistedit-raw-done": "ウォッチリストを更新しました。",
        "watchlistedit-raw-added": "{{PLURAL:$1|$1 ページ}}を追加しました:",
        "watchlistedit-raw-removed": "{{PLURAL:$1|$1 ページ}}を除去しました:",
-       "watchlistedit-clear-title": "ウォッチリストの白紙化",
-       "watchlistedit-clear-legend": "ウォッチリストの白紙化",
+       "watchlistedit-clear-title": "ウォッチリストの全消去",
+       "watchlistedit-clear-legend": "ウォッチリストの全消去",
        "watchlistedit-clear-explain": "ウォッチリストに追加されたページ名がすべて除去されます",
        "watchlistedit-clear-titles": "ページ名:",
-       "watchlistedit-clear-submit": "ã\82¦ã\82©ã\83\83ã\83\81ã\83ªã\82¹ã\83\88ã\82\92ç\99½ç´\99å\8c\96ã\81\99ã\82\8b (ã\81\93ã\81®æ\93\8dä½\9cã\81¯å\8f\96ã\82\8aæ¶\88ã\81\9bã\81¾ã\81\9bã\82\93ã\80\82)",
-       "watchlistedit-clear-done": "ウォッチリストを白紙化しました。",
+       "watchlistedit-clear-submit": "ã\82¦ã\82©ã\83\83ã\83\81ã\83ªã\82¹ã\83\88ã\81®å\85¨æ¶\88å\8e» (ã\81\93ã\81®æ\93\8dä½\9cã\81¯å\8f\96ã\82\8aæ¶\88ã\81\9bã\81¾ã\81\9bã\82\93ï¼\81)",
+       "watchlistedit-clear-done": "ウォッチリストを全消去しました。",
        "watchlistedit-clear-removed": "{{PLURAL:$1|$1 件のページ}}を除去しました:",
        "watchlistedit-too-many": "ページ数が多すぎるため表示できません。",
-       "watchlisttools-clear": "ã\82¦ã\82©ã\83\83ã\83\81ã\83ªã\82¹ã\83\88ã\82\92ç\99½ç´\99å\8c\96",
+       "watchlisttools-clear": "ã\82¦ã\82©ã\83\83ã\83\81ã\83ªã\82¹ã\83\88ã\81®å\85¨æ¶\88å\8e»",
        "watchlisttools-view": "関連する変更を閲覧",
        "watchlisttools-edit": "ウォッチリストの閲覧と編集",
        "watchlisttools-raw": "ウォッチリストをテキストで編集",
index 7aad63b..339c91a 100644 (file)
        "rcshowhidemine": "Өңдемелерімді $1",
        "rcshowhidemine-show": "көрсету",
        "rcshowhidemine-hide": "жасыру",
-       "rclinks": "Соңғы $2 күнде болған, соңғы $1 өзгерісті көрсет<br />$3",
+       "rclinks": "Соңғы $2 күнде болған соңғы $1 өзгерісті көрсет<br />$3",
        "diff": "айырм",
        "hist": "тарихы",
        "hide": "жасыру",
        "upload_directory_read_only": "Жүктеу қалтасына ($1) веб-сервер жаза алмайды.",
        "uploaderror": "Жүктеу қатесі",
        "upload-recreate-warning": "'''Ескету: Бұл атаумен файл жойылған немесе жылжытылған'''\n\nThe deletion and move log for this page are provided here for convenience:",
-       "uploadtext": "ТөмендегÑ\96 Ð¿Ñ\96Ñ\88Ñ\96ндÑ\96 Ñ\84айлдаÑ\80дÑ\8b Ð¶Ò¯ÐºÑ\82еÑ\83 Ò¯Ñ\88Ñ\96н Ò\9bолданÑ\8bÒ£Ñ\8bз.\nÐ\90лдÑ\8bнда Ð¶Ò¯ÐºÑ\82елген Ñ\84айлдаÑ\80дÑ\8b Ò\9bаÑ\80аÑ\83 Ð½Ðµ Ñ\96здеÑ\83 Ò¯Ñ\88Ñ\96н [[Special:FileList|жүкÑ\82елген Ñ\84айлдаÑ\80 Ñ\82Ñ\96зÑ\96мÑ\96не]] Ð±Ð°Ñ\80Ñ\8bÒ£Ñ\8bз. Ð¡Ð¾Ð½Ð´Ð°Ð¹-аÒ\9b Ñ\84айлдаÑ\80дÑ\8bÒ£ Ð¶Ò¯ÐºÑ\82елÑ\83Ñ\96 [[Special:Log/upload|жүкÑ\82елÑ\96 Ð¶Ñ\83Ñ\80налÑ\8bна]], Ð°Ð» Ð¶Ð¾Ð¹Ñ\8bлÒ\93ан Ñ\84айлдаÑ\80 [[Special:Log/delete|жойÑ\8bлÑ\83 Ð¶Ñ\83Ñ\80налÑ\8bна]] Ð¶Ð°Ð·Ñ\8bладÑ\8b.\n\nСÑ\83Ñ\80еÑ\82Ñ\82Ñ\96 Ð¼Ð°Ò\9bалаÒ\93а Ò\9bоÑ\81Ñ\83 Ò¯Ñ\88Ñ\96н ÐºÐµÐ»ÐµÑ\81Ñ\96 Ñ\82Ó\99Ñ\81Ñ\96лдеÑ\80дÑ\96 Ò\9bолданÑ\8bÒ£Ñ\8bз:\n* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.jpg]]</nowiki></code>''' Ñ\84айлдÑ\8bÒ£ Ñ\82олÑ\8bÒ\9b Ð½Ò±Ñ\81Ò\9bаÑ\81Ñ\8bн Ð¾Ñ\80наÑ\82Ñ\83 Ò¯Ñ\88Ñ\96н;\n* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.png|200px|thumb|left|Ñ\81Ñ\83Ñ\80еÑ\82 Ñ\82аÒ\9bÑ\8bÑ\80Ñ\8bбÑ\8b]]</nowiki></code>''' 200px ÐºÑ\96Ñ\88Ñ\96Ñ\80ейÑ\82Ñ\96лген Ñ\84айлдÑ\8b Ñ\82аÒ\9bÑ\8bÑ\80Ñ\8bбÑ\8bн Ò\9bоÑ\81Ñ\8bп Ñ\81ол Ð¶Ð°Ò\9bÒ\9bа Ð¾Ñ\80налаÑ\81Ñ\82Ñ\8bÑ\80Ñ\83;\n* '''<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:File.ogg]]</nowiki></code>''' Ñ\82ек Ñ\84айлÒ\93а Ñ\81Ñ\96лÑ\82еме Ð¶Ð°Ñ\81аÑ\83 Ò¯Ñ\88Ñ\96н.",
+       "uploadtext": "ТөмендегÑ\96 Ð¿Ñ\96Ñ\88Ñ\96ндÑ\96 Ñ\84айлдаÑ\80дÑ\8b Ð¶Ò¯ÐºÑ\82еÑ\83 Ò¯Ñ\88Ñ\96н Ò\9bолданÑ\8bÒ£Ñ\8bз.\nÐ\90лдÑ\8bнда Ð¶Ò¯ÐºÑ\82елген Ñ\84айлдаÑ\80дÑ\8b Ò\9bаÑ\80аÑ\83 Ð½Ðµ Ñ\96здеÑ\83 Ò¯Ñ\88Ñ\96н [[Special:FileList|жүкÑ\82елген Ñ\84айлдаÑ\80 Ñ\82Ñ\96зÑ\96мÑ\96не]] Ð±Ð°Ñ\80Ñ\8bÒ£Ñ\8bз. Ð¡Ð¾Ð½Ð´Ð°Ð¹-аÒ\9b Ñ\84айлдаÑ\80дÑ\8bÒ£ Ð¶Ò¯ÐºÑ\82елÑ\83Ñ\96 [[Special:Log/upload|жүкÑ\82елÑ\83 Ð¶Ñ\83Ñ\80налÑ\8bна]], Ð°Ð» Ð¶Ð¾Ð¹Ñ\8bлÒ\93ан Ñ\84айлдаÑ\80 [[Special:Log/delete|жойÑ\8bлÑ\83 Ð¶Ñ\83Ñ\80налÑ\8bна]] Ð¶Ð°Ð·Ñ\8bладÑ\8b.\n\nФайлдÑ\8b Ð¼Ð°Ò\9bалаÒ\93а Ò\9bоÑ\81Ñ\83 Ò¯Ñ\88Ñ\96н ÐºÐµÐ»ÐµÑ\81Ñ\96 Ñ\82Ó\99Ñ\81Ñ\96лдеÑ\80дÑ\96 Ò\9bолданÑ\8bÒ£Ñ\8bз:\n* <strong><code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.jpg]]</nowiki></code></strong> Ñ\84айлдÑ\8bÒ£ Ñ\82олÑ\8bÒ\9b Ð½Ò±Ñ\81Ò\9bаÑ\81Ñ\8bн Ð¾Ñ\80наÑ\82Ñ\83 Ò¯Ñ\88Ñ\96н;\n* <strong><code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.png|200px|thumb|left|Ñ\81Ñ\83Ñ\80еÑ\82 Ñ\82аÒ\9bÑ\8bÑ\80Ñ\8bбÑ\8b]]</nowiki></code></strong> 200px ÐºÑ\96Ñ\88Ñ\96Ñ\80ейÑ\82Ñ\96лген Ñ\84айлдÑ\8b Â«Ñ\84айл Ñ\82аÒ\9bÑ\8bÑ\80Ñ\8bбÑ\8b» Ñ\81ипаÑ\82Ñ\82амаÑ\81Ñ\8bн Ò\9bоÑ\81Ñ\8bп Ñ\81ол Ð¶Ð°Ò\9bÒ\9bа Ð¾Ñ\80налаÑ\81Ñ\82Ñ\8bÑ\80Ñ\83;\n* <strong><code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:File.ogg]]</nowiki></code></strong> Ñ\84айл ÐºÓ©Ñ\80Ñ\81еÑ\82Ñ\96лÑ\83Ñ\96нÑ\81Ñ\96з Ñ\84айлÒ\93а Ñ\82Ñ\96келеÑ\83 Ñ\81Ñ\96лÑ\82еÑ\83 Ò¯Ñ\88Ñ\96н",
        "upload-permitted": "Рұқсат етілген файл түрлері: $1.",
        "upload-preferred": "Ұнамды файл түрлері $1.",
        "upload-prohibited": "Рұқсат етілмеген файл түрлері: $1.",
        "linkshere": "'''[[:$1]]''' дегенге мына беттер сілтейді:",
        "nolinkshere": "'''[[:$1]]''' дегенге еш бет сілтемейді.",
        "nolinkshere-ns": "Таңдалған есім кеңістігінде '''[[:$1]]''' дегенге ешқандай бет сілтемейді.",
-       "isredirect": "айдаÑ\82у беті",
+       "isredirect": "баÒ\93Ñ\8bÑ\82Ñ\82ау беті",
        "istemplate": "кірікбет",
        "isimage": "файл сілтемесі",
        "whatlinkshere-prev": "{{PLURAL:$1|алдыңғы|алдыңғы $1}}",
        "whatlinkshere-next": "{{PLURAL:$1|келесі|келесі $1}}",
        "whatlinkshere-links": "← сілтемелер",
-       "whatlinkshere-hideredirs": "айдаÒ\93Ñ\8bÑ\88Ñ\82арды $1",
-       "whatlinkshere-hidetrans": "кірікбеттерді $1",
+       "whatlinkshere-hideredirs": "Ð\91аÒ\93Ñ\8bÑ\82Ñ\82аÑ\83Ñ\88Ñ\8bларды $1",
+       "whatlinkshere-hidetrans": "кіріcтірілген беттерді $1",
        "whatlinkshere-hidelinks": "сілтемелерді $1",
        "whatlinkshere-hideimages": "файл сілтемелерін $1",
        "whatlinkshere-filters": "Сүзгілер",
index 06984fb..a1ec2dd 100644 (file)
        "userexists": "ನೀವು ನೀಡಿದ ಸದಸ್ಯರ ಹೆಸರು ಆಗಲೆ ಬಳಕೆಯಲ್ಲಿದೆ. ದಯವಿಟ್ಟು ಬೇರೊಂದು ಹೆಸರನ್ನು ಆಯ್ಕೆ ಮಾಡಿ.",
        "loginerror": "ಲಾಗಿನ್ ದೋಷ",
        "createacct-error": "ಖಾತೆ ನಿರ್ಮಾಣ ತ್ರುಟಿ",
-       "createaccounterror": "ಖಾತೆ ನಿರ್ಮಾಣ ಮಾಡಲಿಕ್ಕೆ ಆಗಲಿಲ್ಲ.",
+       "createaccounterror": "$1 ಖಾತೆ ನಿರ್ಮಾಣ ಮಾಡಲಿಕ್ಕೆ ಆಗಲಿಲ್ಲ.",
        "nocookiesnew": "ನಿಮ್ಮ ಬಳಕೆದಾರ ಖಾತೆಯು ಸೃಷ್ಟಿತವಾಗಿದೆ, ಆದರೆ ನೀವು ಲಾಗ್ ಇನ್ ಆಗಿಲ್ಲ.\n{{SITENAME}} ಲಾಗ್ ಇನ್ ಮಾಡಲು cookieಗಳನ್ನು ಉಪಯೋಗಿಸುತ್ತದೆ.\nನಿಮ್ಮ ಗಣಕಯಂತ್ರದಲ್ಲಿ cookieಗಳು ನಿಷಿದ್ಧವಾಗಿದೆ.\nದಯವಿಟ್ಟು ಈ ನಿಷೇಧವನ್ನು ತೆಗೆದು, ನಿಮ್ಮ ಬಳಕೆದಾರ ಹೆಸರು ಮತ್ತು ಪ್ರವೇಶಪದಗಳನ್ನು ಉಪಯೋಗಿಸಿ ಲಾಗ್ ಇನ್ ಆಗಿ.",
        "nocookieslogin": "{{SITENAME}} ಬಳಕೆದಾರರನ್ನು ಲಾಗ್ ಇನ್ ಮಾಡಲು cookieಗಳನ್ನು ಉಪಯೋಗಿಸುತ್ತದೆ.\nನಿಮ್ಮ ಗಣಕಯಂತ್ರದಲ್ಲ್ cookieಗಳ ಉಪಯೋಗ ನಿಷಿದ್ಧವಾಗಿದೆ.\nದಯವಿಟ್ಟು ಆ ನಿಷೇಧವನ್ನು ತೆಗೆದು ಮತ್ತೊಮ್ಮೆ ಪ್ರಯತ್ನಿಸಿ.",
        "noname": "ನೀವು ಸರಿಯಾದ ಬಳಕೆದಾರ ಹೆಸರನ್ನು ಸೂಚಿಸಿಲ್ಲ.",
        "loginsuccesstitle": "ಲಾಗಿನ್ ಯಶಸ್ವಿ",
        "loginsuccess": "ನೀವು ಈಗ \"$1\" ಆಗಿ ವಿಕಿಪೀಡಿಯಕ್ಕೆ ಲಾಗಿನ್ ಆಗಿದ್ದೀರಿ.",
-       "nosuchuser": "\"$1\" ಹೆಸರಿನ ಯಾವ ಸದಸ್ಯರೂ ಇಲ್ಲ.\nಕಾಗುಣಿತವನ್ನು ಪರೀಕ್ಷಿಸಿ, ಅಥವಾ [[Special:UserLogin/signup|ಹೊಸ ಸದಸ್ಯತ್ವ ಖಾತೆಯನ್ನು ಸೃಷ್ಟಿಸಿ]].",
+       "nosuchuser": "\"$1\" à²¹à³\86ಸರಿನ à²¯à²¾à²µ à²¸à²¦à²¸à³\8dಯರà³\82 à²\87ಲà³\8dಲ.\nಸದಸà³\8dಯನಾಮದಲà³\8dಲಿ à²²à²\98à³\81 à²®à²¤à³\8dತà³\81 à²¦à³\80ರà³\8dà²\98 à²\85à²\95à³\8dಷರà²\97ಳಲà³\8dಲಿ à²µà³\8dಯತà³\8dಯಾಸವಿದà³\86.\nà²\95ಾà²\97à³\81ಣಿತವನà³\8dನà³\81 à²ªà²°à³\80à²\95à³\8dಷಿಸಿ, à²\85ಥವಾ [[Special:UserLogin/signup|ಹà³\8aಸ à²¸à²¦à²¸à³\8dಯತà³\8dವ à²\96ಾತà³\86ಯನà³\8dನà³\81 à²¸à³\83ಷà³\8dà²\9fಿಸಿ]].",
        "nosuchusershort": "\"$1\" ಹೆಸರಿನ ಸದಸ್ಯರು ಯಾರೂ ಇಲ್ಲ.\nಹೆಸರಲ್ಲಿ ಕಾಗುಣಿತ ತಪ್ಪಿದೆಯೆ ಎಂದು ಪರೀಕ್ಷಿಸಿ.",
        "nouserspecified": "ನೀವು ಒಂದು ಸದಸ್ಯತ್ವದ ಹೆಸರನ್ನು ಸೂಚಿಸಬೇಕು.",
        "login-userblocked": "ಈ ಬಳಕೆದಾರರನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ. ಲಾಗಿನ್ ಆಗಲು ಸಾದ್ಯವಿಲ್ಲ.",
        "passwordtooshort": "ಪ್ರವೇಶಪದ ಕನಿಷ್ಟ {{PLURAL:$1|೧ ಅಕ್ಷರವನ್ನು|$1 ಅಕ್ಷರಗಳನ್ನು}} ಹೊಂದಿರಬೇಕು.",
        "password-name-match": "ನಿಮ್ಮ ಬಳಕೆದಾರ ಹೆಸರಿನಿಂದ ಪ್ರವೇಶಪದ ವಿಭಿನ್ನವಾಗಿರಬೇಕು.",
        "password-login-forbidden": "ಈ ಬಳಕೆದಾರರ ಹೆಸರು ಮತ್ತು ಪ್ರವೇಶಪದವನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ.",
-       "mailmypassword": "ಹà³\8aಸ à²ªà³\8dರವà³\87ಶ à²ªà²¦à²µà²¨à³\8dನà³\81 à²\87-à²\85à²\82à²\9aà³\86 à²®à³\82ಲà²\95 à²\95ಳà³\81ಹಿಸಿ",
+       "mailmypassword": "ಪà³\8dರವà³\87ಶಪದವನà³\8dನà³\81 à²ªà³\81ನà²\83ಸà³\8dಥಾಪಿಸಿ.",
        "passwordremindertitle": "{{SITENAME}}ಗೆ ಹೊಸ ತಾತ್ಕಾಲಿಕ ಪ್ರವೇಶ ಪದ",
        "passwordremindertext": "{{SITENAME}} ($4) ಸೈಟಿಗೆ ಹೊಸ ಪ್ರವೇಶಪದವನ್ನು $1 ಐ.ಪಿ. ವಿಳಾಸದಿಂದ ಕೋರಲಾಗಿದೆ.\nಸದಸ್ಯ \"$2\" ಅವರ ಹೊಸ ಪ್ರವೇಶಪದ ಈಗ \"$3\".\nನೀವು ಲಾಗ್ ಇನ್ ಆಗಿ ತಮ್ಮ ಪ್ರವೇಶಪದವನ್ನು ಬದಲಾಯಿಸಿ.\n\nನೀವು ಈ ಕೋರಿಕೆಯನ್ನು ಮಾಡಿಲ್ಲದಿದ್ದರೆ, ಅಥವ ನೀವು ನಿಮ್ಮ ಹಳೆಯ ಪ್ರವೇಶಪದವನ್ನು ನೆನಪಿಸಿಕೊಂಡರೆ ಈ ಮಾಹಿತಿಗೆ ಗಮನ ನೀಡದೆ ನಿಮ್ಮ ಹಳೆಯ ಪ್ರವೇಶಪದವನ್ನು ಉಪಯೋಗಿಸಲು ಮುಂದುವರೆಸಿರಿ.",
        "noemail": "ಸದಸ್ಯ \"$1\" ಅವರ ಹೆಸರಿನಲ್ಲಿ ಯಾವ ಇ-ಅಂಚೆ ವಿಳಾಸವೂ ದಾಖಲಾಗಿಲ್ಲ.",
        "revdelete-hide-user": "ಸಂಪಾದಕರ ಬಳಕೆಯ ಹೆಸರು/IP ಅಡಗಿಸು",
        "revdelete-hide-restricted": "ಈ ನಿಬಂಧನೆಗಳನ್ನು ನಿರ್ವಾಹಕರಿಗೂ ಅನ್ವಯಿಸು ಮತ್ತು ಈ interface ಗೆ ಬೀಗ ಹಾಕು",
        "revdelete-radio-same": "(ಬದಲಾಯಿಸಬೇಡಿ)",
-       "revdelete-radio-set": "ಹà³\8cದà³\81",
+       "revdelete-radio-set": "à²\85ಡà²\97ಿದ",
        "revdelete-radio-unset": "ಇಲ್ಲ",
        "revdelete-suppress": "ನಿರ್ವಾಹಕರಿಂದ ಮತ್ತಿತರರಿಂದ ಬಂದ ಮಾಹಿತಿಯನ್ನು ಅಡಗಿಸು",
        "revdelete-unsuppress": "ಪುನಃ ಸ್ಥಾಪಿಸಿದ ಬದಲಾವಣೆಗಳ ಮೇಲಿನ ನಿಬಂಧನೆಗಳನ್ನು ತೆಗೆ",
        "badsiglength": "ನಿಮ್ಮ ಅಡ್ಡಹೆಸರು ತುಂಬಾ ಉದ್ದವಾಗಿದೆ.\nಅದು $1 {{PLURAL:$1|ಅಕ್ಷರಕ್ಕಿಂತ|ಅಕ್ಷರಗಳಿಗಿಂತ}} ಕಡಿಮೆ ಇರಬೇಕು.",
        "yourgender": "ಲಿಂಗ:",
        "gender-unknown": "ನಾನು ಹೇಳಲಿಚ್ಛಿಸುವುದಿಲ್ಲ",
-       "gender-male": "à²\97à²\82ಡಸà³\81",
-       "gender-female": "ಸà³\8dತà³\8dರà³\80",
+       "gender-male": "à²\85ವನà³\81 à²µà²¿à²\95ಿ à²ªà³\81à²\9fà²\97ಳನà³\8dನà³\81 à²¸à²\82ಪಾದಿಸà³\81ತà³\8dತಾನà³\86",
+       "gender-female": "à²\85ವಳà³\81 à²µà²¿à²\95ಿ à²ªà³\81à²\9fà²\97ಳನà³\8dನà³\81 à²¸à²\82ಪಾದಿಸà³\81ತà³\8dತಾಳà³\86",
        "email": "ಇ-ಅಂಚೆ",
        "prefs-help-realname": "ನಿಜ ಹೆಸರು ನೀಡುವುದು ಐಚ್ಛಿಕ. ನೀವು ಅದನ್ನು ನೀಡಿದಲ್ಲಿ ನಿಮ್ಮ ಕಾಣಿಕೆಗಳಿಗೆ ನಿಮಗೆ ಮನ್ನಣೆ ನೀಡಲಾಗುವುದು.",
        "prefs-help-email": "ಇ-ಅಂಚೆ ವಿಳಾಸ ಕಡ್ಡಾಯವಲ್ಲ, ಆದರೆ ನೀವು ಅದನ್ನು ನೀಡಿದರೆ ನೀವು ನಿಮ್ಮ ಪ್ರವೇಶ ಪದವನ್ನು ಮರೆತರೆ ಅದನ್ನು ನಿಮಗೆ ಇ-ಅಂಚೆಯಿಂದ ಕಳುಹಿಸಿಬಹುದು.",
        "watchlistedit-raw-titles": "ಶೀರ್ಷಿಕೆಗಳು:",
        "watchlistedit-raw-added": "{{PLURAL:$1|೧ ಶೀರ್ಷಿಕೆಯನ್ನು|$1 ಶೀರ್ಷಿಕೆಗಳನ್ನು}} ಸೇರಿಸಲಾಯಿತು:",
        "watchlistedit-raw-removed": "{{PLURAL:$1|೧ ಶೀರ್ಷಿಕೆಯನ್ನು|$1 ಶೀರ್ಷಿಕೆಗಳನ್ನು}} ತೆಗೆಯಲಾಯಿತು:",
+       "watchlistedit-clear-titles": "ಶೀರ್ಷಿಕೆಗಳು:",
        "watchlisttools-view": "ಸೂಚಿಸಲ್ಪಟ್ಟ ಬದಲಾವಣೆಗಳನ್ನು ವೀಕ್ಷಿಸಿ",
        "watchlisttools-edit": "ವೀಕ್ಷಣಾಪಟ್ಟಿಯನ್ನು ನೋಡು ಮತ್ತು ಸಂಪಾದಿಸು",
        "watchlisttools-raw": "ಮೂಲ ವೀಕ್ಷಣಾಪಟ್ಟಿಯನ್ನು ಸಂಪಾದಿಸು",
index 740b2da..d9149c3 100644 (file)
        "watchlistedit-clear-done": "주시문서 목록을 지웠습니다.",
        "watchlistedit-clear-removed": "{{PLURAL:$1|제목 1개|제목 $1개}}를 제거했습니다:",
        "watchlistedit-too-many": "여기에 보여질 문서가 너무 많습니다.",
-       "watchlisttools-clear": "주시문서 목록 우기",
+       "watchlisttools-clear": "주시문서 목록 우기",
        "watchlisttools-view": "주시문서 최근 바뀜",
        "watchlisttools-edit": "주시문서 목록 보기/편집하기",
        "watchlisttools-raw": "주시문서 목록 직접 편집하기",
index bcd6e85..9df273c 100644 (file)
        "rollbacklinkcount-morethan": "méi wéi {{PLURAL:$1|Eng Ännerung|$1 Ännerungen}} zrécksetzen",
        "rollbackfailed": "Zrécksetzen huet net geklappt",
        "cantrollback": "Lescht Ännerung kann net zréckgesat ginn. De leschten Auteur ass deen eenzegen Auteur vun dëser Säit.",
-       "alreadyrolled": "Déi lescht Ännerung vun der Säit [[:$1]] vum [[User:$2|$2]] ([[User talk:$2|talk]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]);; kann net zeréckgesat ginn;\neen Aneren huet dëst entweder scho gemaach oder nei Ännerungen agedroen.\n\nDéi lescht Ännerung vun der Säit ass vum [[User:$3|$3]] ([[User talk:$3|Diskussioun]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).",
+       "alreadyrolled": "Déi lescht Ännerung vun der Säit [[:$1]] vum [[User:$2|$2]] ([[User talk:$2|talk]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]); kann net zréckgesat ginn;\neen Aneren huet dat entweder scho gemaach oder nei Ännerungen agedroen.\n\nDéi lescht Ännerung vun der Säit war vum [[User:$3|$3]] ([[User talk:$3|Diskussioun]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).",
        "editcomment": "De Resumé vun der Ännerung war: \"''$1''\".",
        "revertpage": "Ännerunge vum [[Special:Contributions/$2|$2]] ([[User talk:$2|Diskussioun]]) zréckgesat op déi lescht Versioun vum [[User:$1|$1]]",
        "revertpage-nouser": "Zréckgesaten Ännerungen duerch e verstoppte Benotzer op déi lescht Versioun vum {{GENDER:$1|[[User:$1|$1]]}}",
        "movenotallowedfile": "Dir hutt net d'Recht fir Fichieren ze réckelen.",
        "cant-move-user-page": "Dir hutt net déi néideg Rechter fir Benotzerhaaptsäiten ze réckelen.",
        "cant-move-to-user-page": "Dir hutt net d'Recht fir eng Säit op eng Benotzersäit (ausser op eng Ënnersäit vun enger Benotzersäit) ze réckelen.",
+       "cant-move-category-page": "Dir hutt net déi néideg Rechter fir Kategorie-Säiten ze réckelen.",
        "newtitle": "Op den neien Titel:",
        "move-watch": "Dës Säit iwwerwaachen",
        "movepagebtn": "Säit réckelen",
index a5dd37a..0cbc6c4 100644 (file)
        "tog-hidepatrolled": "Scund i mudifegh verifegaa intra i ültem mudifegh",
        "tog-newpageshidepatrolled": "Scund i paginn verifegaa de la lista di paginn növ",
        "tog-extendwatchlist": "Slarga la funziun \"tegn sot ögg\" in manera che la fà vidè tüt i mudifegh, minga dumà l'ültema",
-       "tog-usenewrc": "Dupra i ültem mudifegh avanzaa (ghe vör el JavaScript)",
-       "tog-numberheadings": "Utu-nümerazión di paragraf",
-       "tog-showtoolbar": "Fá vidé ai butún da redataziún (JavaScript)",
-       "tog-editondblclick": "Redatá i pagin cun al dópi clich (JavaScript)",
-       "tog-editsectiononrightclick": "Abilitá redatazziún dai sezziún cun al clic<br />\nsüi titul dai sezziún (JavaScript)",
-       "tog-watchcreations": "Giunta i paginn ch'hoo creaa mì a la lista di paginn che tegni sot ögg",
-       "tog-watchdefault": "Gjüntá i pagin redataa in dala lista dii pagin tegnüü d'öcc",
-       "tog-watchmoves": "Giunta i paginn ch'hoo muvüü a la lista di paginn che tegni sot ögg",
-       "tog-watchdeletion": "Giunta i paginn ch'hoo scancelaa a la lista di paginn che tegni sot ögg",
+       "tog-usenewrc": "Reönés le mudifiche per pàgina endèle ölteme mudìfiche 'ndèi oservàcc speciài",
+       "tog-numberheadings": "Auto-nümerazion di paragraf",
+       "tog-showtoolbar": "Fà ved la barra dei arnés de modifica",
+       "tog-editondblclick": "Redatá i pagin cun al dópi clich",
+       "tog-editsectiononrightclick": "Abilitá mudifica di seziún cun al clic dester sül tìtul",
+       "tog-watchcreations": "Giunta i paginn e i archivi ch'hoo creaa mì a la lista di paginn che tegni sot ögg",
+       "tog-watchdefault": "Gjüntá i pagin e i archivi mudificaa in dela lista dii pagin tegnüü d'öcc",
+       "tog-watchmoves": "Giunta i paginn e i archivi ch'hoo muvüü a la lista di paginn che tegni sot ögg",
+       "tog-watchdeletion": "Giunta i paginne i archivi ch'hoo scancelaa a la lista di paginn che tegni sot ögg",
        "tog-minordefault": "Marca tücc i mudifegh cume piscinìn",
        "tog-previewontop": "Fá vidé un'anteprima anaanz dala finèstra da redatazziún",
        "tog-previewonfirst": "Fá vidé l'anteprima ala prima redatazziún",
+       "tog-enotifwatchlistpages": "Màndem 'na e-mail quan che vé mudificàda 'na pagina o 'n archivi che g'ho 'ntra i mé oservàcc speciài",
        "tog-enotifusertalkpages": "Mandem un messagg e-mail quand che gh'è di mudifegh a la mè pàgina di ciaciarad",
-       "tog-enotifminoredits": "Màndem un messagg e-mail anca per i mudifegh piscinín",
+       "tog-enotifminoredits": "Màndem un messagg e-mail anca per i mudifegh piscinín ai articol e ai archivi",
        "tog-enotifrevealaddr": "Lassa vedè 'l mè indirizz e-mail int i messagg d'avis",
+       "tog-shownumberswatching": "Fa vet el nümer de ütent che té d'ögg l'articol",
        "tog-oldsig": "Firma esistenta:",
        "tog-fancysig": "Trata la firma cume test wiki (senza nissön ligam utumatich)",
-       "tog-watchlisthideown": "Sconda i me mudifich dai pagin che a ten d'ögg",
-       "tog-watchlisthidebots": "Sconda i mudifich di bot da i pagin che a ten d'ögg",
+       "tog-uselivepreview": "Ativa la funzion \"Live Preview\" (anteprima al vul)",
+       "tog-forceeditsummary": "Ciamem cunferma semai che 'l camp oget l'è öt",
+       "tog-watchlisthideown": "Scont le mé mudìfiche endèi oservàcc speciài",
+       "tog-watchlisthidebots": "Sconda i mudifich di bot da i pagin uservaa special",
+       "tog-watchlisthideminor": "Scont le mudìfiche picinìne 'ndèi oservàcc speciai",
+       "tog-watchlisthideliu": "Scont le mudìfiche dei ütèncc autenticàcc endèi oservàcc speciài",
+       "tog-watchlisthideanons": "Scont le mudìfiche dei ütèncc anònim endèi oservàcc speciài",
+       "tog-watchlisthidepatrolled": "Scont le mudìfiche verificàde endèi oservàcc speciài",
        "tog-ccmeonemails": "Spedissem una copia di messagg spedii a i alter druvadur",
        "tog-diffonly": "Mustra mía el cuntegnüü de la pagina apress ai ''diffs''",
        "tog-showhiddencats": "Fà vidè i categurij scundüü",
        "tog-norollbackdiff": "Mustra mía i ''diffs'' dop che i henn staa ripristinaa cun un rollback",
+       "tog-useeditwarning": "Avìzem quan che so dré a nà fò de 'na pàgina sènsa ìga salvàt le mudìfiche",
+       "tog-prefershttps": "Dopra sèmper 'na conesiù sigüra quan che s'è autenticàcc",
        "underline-always": "Semper",
        "underline-never": "Mai",
        "underline-default": "Mantegn i impustazión standard del browser o de l'interfàcia",
        "oct": "Utu",
        "nov": "Nuv",
        "dec": "Dic",
+       "january-date": "{{PLURAL:$1|1°|$1}} de zenér",
+       "february-date": "{{PLURAL:$1|1°|$1}} de febrér",
+       "march-date": "{{PLURAL:$1|1°|$1}} de Mars",
+       "april-date": "{{PLURAL:$1|1°|$1}} de Bril",
+       "may-date": "{{PLURAL:$1|1°|$1}} de Magio",
+       "june-date": "{{PLURAL:$1|1°|$1}} de Zögn",
+       "july-date": "{{PLURAL:$1|1°|$1}} de Löi",
+       "august-date": "{{PLURAL:$1|1°|$1}} de Agost",
+       "september-date": "{{PLURAL:$1|1°|$1}} de Setèmber",
+       "october-date": "{{PLURAL:$1|1°|$1}} de Utùer",
+       "november-date": "{{PLURAL:$1|1°|$1}} de Noèmber",
+       "december-date": "{{PLURAL:$1|1°|$1}} de Dezèmber",
        "pagecategories": "{{PLURAL:$1|Categuria|Categurij}}",
        "category_header": "Artìcuj int la categuria \"$1\"",
        "subcategories": "Suta-categurij",
        "category-subcat-count": "{{PLURAL:$2|Quela categuria chì la gh'ha dumà una sota-categuria, missa chì de sota.|Quela categuria chì la gh'ha {{PLURAL:$1|una sota-categuria|$1 sota-categurij}} chì de sota, sü un tutal de $2.}}",
        "category-subcat-count-limited": "Quela categuria chì la gh'ha denter {{PLURAL:$1|la sut-categuria| i $1 sut-categurij}} chì abass.",
        "category-article-count": "{{PLURAL:$2|Quela categuria chì la gh'ha dumà quela pagina chì.|In quela categuria chì gh'è {{PLURAL:$1|la pagina indicada|i $1 paginn indicaa}} de $2 che gh'hinn in tutal.}}",
+       "category-article-count-limited": "Chèsta categuria la g'ha dét {{PLURAL:$1|l'artìcol|i $1 artìcoi}} elencàcc ché sota:",
        "category-file-count": "{{PLURAL:$2|Quela categuria chì la gh'ha denter dumà el file chì suta|Quela categuria chì la gh'ha denter {{PLURAL:$1|'l file|$1 i file}} ripurtaa chì suta, sü un tutal de $2.}}",
+       "category-file-count-limited": "Chèsta categuria la g'ha dét {{PLURAL:$1|l'archivi|i $1 archivi}} elencàcc ché sota:",
        "listingcontinuesabbrev": "cont.",
        "index-category": "Paginn indicizaa",
+       "noindex-category": "Paginn minga indicizaa",
+       "broken-file-category": "Pàgine con dét colegamèncc che va mìa",
        "about": "A pruposit də",
        "article": "Pagina de cuntegnüü",
        "newwindow": "(sa derviss int un'óltra finèstra)",
        "cancel": "Lassa perd",
-       "moredotdotdot": "Püssee",
+       "moredotdotdot": "Amò...",
+       "morenotlisted": "Chèsta lìsta l'è mìa compléta",
        "mypage": "La mè pagina",
        "mytalk": "i mè discüssiun",
        "anontalk": "Ciciarad per quel adress IP chì",
        "navigation": "Navegazión",
        "and": "&#32;e",
        "qbfind": "Tröva",
-       "qbbrowse": "Sföja",
+       "qbbrowse": "Fà passà",
        "qbedit": "Mudifega",
        "qbpageoptions": "Opzión de la pagina",
        "qbmyoptions": "I mè paginn",
        "jumptonavigation": "Navigazión",
        "jumptosearch": "cerca",
        "view-pool-error": "Ne rincress, ma i server a hinn bej caregaa al mument.\nTrop drovat a hinn 'dree pruvà a vardà quela pagina chì.\nPer piasè, specia un mument prima de pruà a vardà anmò quela pagina chì.\n\n$1",
+       "generic-pool-error": "Ne rincress, ma i server a hinn bej caregaa al mument.\nTrop drovat a hinn 'dree pruvà a vardà chèsta risorsa.\nPer piasè, specia un mument prima de pruà a cargà anmò quela risorsa chì.\n\n$1",
        "pool-timeout": "Tép scadìt per l'operasiù de blocàgio",
        "pool-queuefull": "La cùa del \"pool\" l'è piéna",
        "pool-errorunknown": "Erùr mìa cunusìt",
-       "aboutsite": "A prupòsit de {{SITENAME}}",
+       "pool-servererror": "El contör dei pool l'è mìa dispunìbil ($1).",
+       "aboutsite": "A mèret de {{SITENAME}}",
        "aboutpage": "Project:A pruposit",
-       "copyright": "El cuntegnüü a l'è dispunibil sota a una licenza $1.",
+       "copyright": "Se minga marcaa in manera diferenta, el cuntegnüü a l'è dispunibil sota a una licenza $1.",
        "copyrightpage": "{{ns:project}}:Dirit d'autur",
        "currentevents": "Atüalitaa",
        "currentevents-url": "Project:Aveniment Recent",
        "pagetitle-view-mainpage": "{{SITENAME}}",
        "retrievedfrom": "Utegnüü de \"$1\"",
        "youhavenewmessages": "A gh'hii di $1 ($2).",
+       "youhavenewmessagesfromusers": "{{PLURAL:$4|Te g'hét}} $1 de {{PLURAL:$3|'n óter ütènt|$3 ütèncc}} ($2).",
+       "youhavenewmessagesmanyusers": "Te g'hét $1 de divèrsi ütèncc ($2).",
+       "newmessageslinkplural": "{{PLURAL:$1|en mesàgio nöf|999=mesàgi nöf}}",
+       "newmessagesdifflinkplural": "{{PLURAL:$1|öltem cambiamènt|999=öltem cambiamèncc}}",
        "youhavenewmessagesmulti": "Te gh'hee di messagg növ ins'el $1",
        "editsection": "mudifega",
        "editold": "mudifega",
        "toc": "Cuntegnüü",
        "showtoc": "fà vidè",
        "hidetoc": "scund",
+       "collapsible-collapse": "sara sü",
+       "collapsible-expand": "slarga",
        "thisisdeleted": "Varda o rimet a post $1?",
        "viewdeleted": "Te vöret vidè $1?",
        "restorelink": "{{PLURAL:$1|1 mudifega scancelada|$1 mudifegh scancelaa}}",
        "page-rss-feed": "Feed RSS per \"$1\"",
        "page-atom-feed": "Feed Atom per \"$1\"",
        "red-link-title": "$1 (la pagina la gh'è minga)",
+       "sort-descending": "Met en ùrden del piö grant al piö pesèn",
+       "sort-ascending": "Met en ùrden del piö pesèn al piö grant",
        "nstab-main": "Articul",
        "nstab-user": "Pagina persunala",
        "nstab-media": "Pagina multimediala",
        "nospecialpagetext": "<strong>T'hee ciamaa una pagina speciala minga valida.</strong>\n\nUna lista di paginn special la se pö truà in de la [[Special:SpecialPages|{{int:specialpages}}]].",
        "error": "Erur",
        "databaseerror": "Erur in del database",
+       "databaseerror-query": "Ricérca: $1",
+       "databaseerror-function": "Funsiù: $1",
+       "databaseerror-error": "Erur: $1",
        "readonly": "Database blucaa",
        "missing-article": "El database l'ha minga truaa el test d'una pagina che l'avaria duvüü truà, ciamaa \"$1\" $2.\n\nQuest chì a l'è de solet causaa perchè al s'è riciamaa un paragón intra revisión vegg de la pagina o un ligam a una versión vegia d'una pagina che l'è stada scancelada\n\nSe l'è minga inscì, te pudariet vegh truà un bug in del software.\n\nPer piasè, fa raport a 'n'[[Special:ListUsers/sysop|aministradur]], cun la nota de l'URL.",
        "missingarticle-rev": "(revision#: $1)",
        "internalerror": "Erur in del sistema",
        "internalerror_info": "Erur intern: $1",
        "filecopyerror": "L'è mía staa pussibel cubià l'archivi \"$1\" in \"$2\"",
+       "filerenameerror": "L'è mía staa pussibel rinumunà l'archivi \"$1\" in \"$2\"",
+       "filedeleteerror": "L'è mía staa pussibel scancelà l'archivi \"$1\"",
+       "directorycreateerror": "L'è mía staa pussibel creà la cartèla \"$1\"",
+       "filenotfound": "L'è mía staa pussibel trövà l'archivi \"$1\"",
+       "unexpected": "Valur inaspetaa: \"$1\"=\"$2\"",
+       "cannotdelete": "La pagina o l'archivi \"$1\" i g'ha mìa püdìt véser scancelàcc.\nPöl das che i sàpe zà stacc scancelàcc de vergü óter.",
+       "cannotdelete-title": "L'è mìa stat pusìbol scancelà la pàgina \"$1\"",
+       "delete-hook-aborted": "El scancelamènt l'è stat anulàt de l'hook.\nGh'è stat dat nesöna spiegasiù.",
        "badtitle": "Títul mía bun",
        "badtitletext": "El titul de la pagina ciamada a l'è vöj, sbajaa o cun carater minga acetaa, opüra al vegn d'un erur in di ligam intra sit wiki diferent o versión in lenguv diferent de l'istess sit.",
        "viewsource": "Còdas surgent",
-       "protectedpagetext": "Cula pagina chi l'è stata blucà per impedinn la mudifica.",
-       "viewsourcetext": "L'è pussibil vèd e cupià el codes surgent de cula pagina chí:",
-       "editinginterface": "'''Ocio''': Te see adree a mudifegà una pàgina che la se dröva per generà 'l test de l'interfacia del prugrama. Qualsìa mudìfega fada la cambierà l'interfacia de tüt i druvadur. Se te gh'hee intenzión de fà una tradüzión, per piasì cunsiderà la pussibilità de druvà [//translatewiki.net/wiki/Main_Page?setlang=lmo translatewiki.net], 'l pruget de lucalizazión de MediaWiki.",
+       "viewsource-title": "Còdas surgent per $1",
+       "actionthrottled": "Asiù ritardàda",
+       "protectedpagetext": "Chela pagina chi l'è stata blucàda per impedinn la mudifica o altre azion.",
+       "viewsourcetext": "L'è pussibil vèd e cupià el codes surgent de chela pagina chí:",
+       "editinginterface": "'''Ocio''': Te see adree a mudifegà una pàgina che la se dröva per generà 'l test de l'interfacia del prugrama. Ogna mudìfega fada la cambierà l'interfacia de tüt i druvadur. Se te gh'hee intenzión de fà una tradüzión, per piasì cunsiderà la pussibilità de druvà [//translatewiki.net/ translatewiki.net], 'l pruget de lucalizazión de MediaWiki.",
+       "namespaceprotected": "Te g'hét mìa 'l permès nesesàre per mudificà le pàgine del namespace <strong>$1</strong>.",
+       "mypreferencesprotected": "Te g'hét mìa i permès nesesàre per mudificà le tò preferènse",
        "ns-specialprotected": "I paginn special i pören mía vess mudifegaa",
-       "logouttext": "'''Adess a sii descuness.'''\n\nA pudé andà inanz a druvà la {{SITENAME}} in manera anònima, o a pudé <span class='plainlinks'>[$1 cunètev anmò]</span> cun l'istess suranomm o cun un suranomm diferent.\nTegné cünt che certi paginn pödass che i seguiten a vedess tant 'me se a füdìssuv anmò cuness, fin quand che hii nò vudaa 'l ''cache'' del voster browser.",
+       "exception-nologin": "Te seet minga dent in del sistema",
+       "virus-scanfailed": "scansiù falìda (còdes $1)",
+       "logouttext": "'''Ades te sét scolegàt.'''\n\nOcio che 'na quach pàgina la te pödarès vègner fò compàgn che se te g'hèset mìa fat el log-out enfìna a che te snètet mìa fò la cache del tò browser.",
+       "welcomeuser": "Benvegnüü\\Benriàt, $1",
+       "welcomecreation-msg": "El to cünt l'è staa pruntaa. Desmenteghet mía de persunalizà i to [[Special:Preferences|preferenz de {{SITENAME}}]].",
        "yourname": "El to suranóm:",
+       "userlogin-yourname": "Nom del ütènt",
+       "userlogin-yourname-ph": "Mèt dét el tò nòm de ütènt",
+       "createacct-another-username-ph": "Mèt dét el nòm de ütènt",
        "yourpassword": "Parola d'urdin",
-       "yourpasswordagain": "Mett dent ammò la parola d'urdin",
-       "remembermypassword": "Regordass la mè parola d'urdin (for a maximum of $1 {{PLURAL:$1|day|days}})",
+       "userlogin-yourpassword": "Password",
+       "userlogin-yourpassword-ph": "Mèt dét la tò password",
+       "createacct-yourpassword-ph": "Mèt dét la password",
+       "yourpasswordagain": "Tùrna a scrìer la password",
+       "createacct-yourpasswordagain": "Conférma la password",
+       "createacct-yourpasswordagain-ph": "Tùrna a mèter dét la password",
+       "remembermypassword": "Regordass la mé password (per mìa de piö de {{PLURAL:$1|dé|dé}})",
+       "userlogin-remembermypassword": "Tègnem colegàt",
+       "userlogin-signwithsecure": "Dòpra 'na conesiù sigüra",
+       "yourdomainname": "Specificà 'l domini",
+       "password-change-forbidden": "Te pödet mìa cambià password sö chèsta wiki",
+       "externaldberror": "Gh'è 'n erùr söl server de autenticasiù estèrno o sedenò se g'ha mìa le autorizasiù nesesàre per agiurnà i dati de registrasiù estèrni.",
        "login": "Va dent",
        "nav-login-createaccount": "Vena denter / Crea un cünt",
        "loginprompt": "Par cunett a {{SITENAME}}, a duvii abilitá i galet.",
        "logout": "Va fö",
        "userlogout": "Và fö",
        "notloggedin": "Te seet minga dent in del sistema",
+       "userlogin-noaccount": "Sét gnemò registràt?",
+       "userlogin-joinproject": "Regìstret sö {{SITENAME}}",
        "nologin": "Gh'avii anmò da registrav? $1.",
        "nologinlink": "Creé un cünt!",
        "createaccount": "Creá un cünt",
        "gotaccount": "Gh'hee-t giamò un cünt? '''$1'''.",
        "gotaccountlink": "Va dent in del sistema",
-       "createaccountmail": "per indirizz e-mail",
+       "userlogin-resetlink": "Sét desmentegàt i tò dati de autenticasiù?",
+       "userlogin-resetpassword-link": "Sét desmentegàt la tò password?",
+       "userlogin-helplink2": "G'hét bezògn de 'na mà per autenticàt?",
+       "userlogin-loggedin": "Te sét zabèla autenticàt come {{GENDER:$1|$1}}.\nDòpra el mòdulo ché sóta per turnà a autenticàt come 'n óter ütènt.",
+       "userlogin-createanother": "Créa 'n ótra ütènsa",
+       "createacct-emailrequired": "Indirìs e-mail",
+       "createacct-emailoptional": "Indirìs e-mail (upsiunàl)",
+       "createacct-email-ph": "Mét dét el tò indiris e-mail",
+       "createacct-another-email-ph": "Mét dét l'indirìs e-mail",
+       "createaccountmail": "Dòpra 'na password a càzo temporànea e màndela a l'indirìs e-mail specificàt",
+       "createacct-realname": "Nòm véro (upsiunàl)",
+       "createaccountreason": "Mutìf:",
+       "createacct-reason": "Mutìf:",
+       "createacct-reason-ph": "Che fòza che sét dré a creà 'n ótra ütènsa?",
+       "createacct-captcha": "Contròl de sigürèsa",
+       "createacct-imgcaptcha-ph": "Mèt dét el tèst che te èdet ché sura",
+       "createacct-submit": "Créa la tò ütènsa",
+       "createacct-another-submit": "Créa 'n ótra ütènsa",
+       "createacct-benefit-heading": "{{SITENAME}} la crès gràsie a le persùne compagn de té.",
+       "createacct-benefit-body1": "{{PLURAL:$1|cambiamènt|cambiamèncc}}",
+       "createacct-benefit-body2": "{{PLURAL:$1|artìcol|artìcoi}}",
+       "createacct-benefit-body3": "{{PLURAL:$1|contribüdur recènt|contribüdur recèncc}}",
        "badretype": "I password che t'hee miss a hinn diferent.",
-       "userexists": "El nom de duvrat che t'hee miss dent a l'è giamò dupraa.\nPer piasè, scerniss un alter suranom.",
+       "userexists": "El nom de duvrat che t'hee miss dent a l'è giamò dupraa.\nPer piasè, scerniss un alter nom.",
        "loginerror": "Erur in de l'andà dent in del sistema.",
+       "createacct-error": "Erùr endèl creà l'ütènsa",
        "createaccounterror": "Se pö minga creà el cünt: $1",
        "nocookiesnew": "El cünt a l'è staa creaa, ma t'hee minga pudüü andà dent in del sistema.\n{{SITENAME}} al dupra i cookies per fà andà i duvrat in del sistema.\nTì te gh'hee i cookies disabilitaa.\nPer piasè, abilita i cookies e pröa anmò a andà dent cunt el tò nom e la password.",
-       "noname": "Vüü avii mía specificaa un nomm d'üsüari valévul.",
-       "loginsuccesstitle": "La cunessiun l'è scumenzada cun sücess.",
-       "loginsuccess": "Al é connectaa a {{SITENAME}} compagn \"$1\".",
+       "nocookieslogin": "{{SITENAME}} el dòpra i cookies per l'operasiù de log-in dei ütèncc. I tò cookies envéce i è dizativàcc. Atìvei e pröa tùrna.",
+       "nocookiesfornew": "L'ütènsa l'è mìa stàda creàda, perchè l'è mìa stat pusìbol confermà la sò fónt. Dà 'n öciàda de ìga i cookies atìf, tùrna a cargà chèsta pàgina e pröa amò m'na ólta.",
+       "noname": "Te g'hét mìa specificàt en nòm de ütènt bù.",
+       "loginsuccesstitle": "Login efetuàt.",
+       "loginsuccess": "<strong>Adès te sét cunitìt al server de {{SITENAME}} col nòm ütènt de \"$1\".</strong>",
        "nosuchuser": "A gh'è nissün druvat cun 'l nom ''$1''. <br />\nI suranomm i henn sensibil a i leter majùscul.<br />\nCuntrola 'l nom che t'hee metüü denter o [[Special:UserLogin/signup|crea un cünt növ]].",
        "nosuchusershort": "Ghe n'è mia d'ütent cun el nom de \"$1\". Ch'el cuntrola se l'ha scrivüü giüst.",
        "nouserspecified": "Te gh'heet da specificà un nom del druvatt.",
+       "login-userblocked": "Chèsta ütènsa l'è blocàda. La conesiù l'è mìa cunsentìda.",
        "wrongpassword": "La ciav che t'hee metüü denter l'è nò giüsta. Pröva turna per piasè.",
        "wrongpasswordempty": "T'hee no metüü denter la parola ciav. Pröva turna per piasè.",
-       "mailmypassword": "Spedissem una password növa per e-mail",
+       "password-name-match": "La tò password la g'ha de éser diferènta del tò nòm de ütènt",
+       "mailmypassword": "Tùrna a defenéser la password",
        "passwordremindertext": "Un quajdün (prubabilment ti, cun l'indiriz IP $1) l'ha ciamaa da mandagh 'na ciav növa per andà denter int 'l sistema de {{SITENAME}} ($4).\nLa ciav per 'l druvadur \"$2\" adess l'è \"$3\".\nSariss mej andà denter int 'l sit almanch una völta prima de cambià la ciav.\nLa to ciav tempuranea la scaderà da chì a {{PLURAL:$5|un dì|$5 dì}}.\n\nSe te nò staa ti a ciamà 'sta ciav chì, o magara t'hee truaa la ciav vegia e te vör pü cambiala, te pör ignurà 'stu messagg chì e 'ndà inanz a druà la ciav vegia.",
+       "noemail": "Gh'è registràt nisü indirìs e-mail per l'ütènt \"$1\".",
+       "noemailcreate": "Bezògna fornéser en indirìs e-mail bù",
        "passwordsent": "Una parola ciav bele növa l'è staa spedii a l'indiriz e-mail registra da l'ütent \"$1\".\nPer piasè, ve drent anmò dop che te l'ricevüü.",
        "blocked-mailpassword": "'L to indirizz IP l'è blucaa, e per quela resón lì te pö mía druvà la funzion de recüper de la password.",
+       "mailerror": "Erùr endel mandà la e-mail: $1",
        "emailauthenticated": "'L tò indirizz e-mail l'è staa verificaa 'l $2 ai $3.",
-       "emailnotauthenticated": "Ul tò adrèss da pòsta letronica l è mia staa gnamò verificaa. Nissün mesacc al saraa mandaa par i servizzi che segütan.",
+       "emailnotauthenticated": "El tò indirìs e-mail l'è gnemò stat confermàt. Nesöna e-mail la sarà mandàda per le funsiù elencàde ché sota.",
        "emailconfirmlink": "Cunferma 'l to indirizz e-mail",
-       "accountcreated": "Cunt bell-e-cread",
-       "accountcreatedtext": "'L cünt del druvat $1 l'è bele pruntaa.",
+       "cannotchangeemail": "I indirìs e-mail i pöl mìa éser cambiàcc en chèsta wiki.",
+       "emaildisabled": "Chèsto sit el pöl mìa mandà vià le e-mail.",
+       "accountcreated": "Ütènsa creàda",
+       "accountcreatedtext": "Ghè stat creàt l'ütènsa per [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|msg]]).",
+       "createaccount-title": "Creasiù de 'n ütènsa a {{SITENAME}}",
+       "login-abort-generic": "La tò autenticasiù l'è falìda - Operasiù anulàda",
        "loginlanguagelabel": "Lengua: $1",
+       "pt-login": "Va dent",
+       "pt-login-button": "Va dent",
+       "pt-createaccount": "Creá un cünt",
+       "pt-userlogout": "Va fö (logout)",
        "changepassword": "Mudifega la paròla d'urdin",
-       "oldpassword": "Paròla d'urdin végja:",
-       "newpassword": "Paròla d'urdin növa:",
-       "retypenew": "Scriv ancamò la paròla d'urdin növa:",
+       "resetpass_announce": "Per completà la conesiù, te g'hét de definì 'na password nöa.",
+       "resetpass_header": "Càmbia la password de l'ütènsa",
+       "oldpassword": "Password vècia:",
+       "newpassword": "Password nöa:",
+       "retypenew": "Tùrna a mèter dét la password nöa:",
+       "resetpass_submit": "Defenés la password e regìstret (fà 'l log-in)",
+       "changepassword-success": "La tò password l'è stàda cambiàda sènsa erùr!",
+       "changepassword-throttled": "Te g'hét fat tròp tacc tentatìf de cunitìt en poch tép, adès te g'hét de spetà $1 per püdì turnà a pröà.",
+       "resetpass_forbidden": "Te pödet mìa cambià le password",
+       "resetpass-no-info": "Te g'hét de éser cunitìt per acéder diretamènt a la pàgina",
+       "resetpass-submit-loggedin": "Càmbia la password",
+       "resetpass-submit-cancel": "Scancèla l'operasiù",
+       "passwordreset": "Tùrna a defenéser la password",
+       "passwordreset-legend": "Tùrna a defenéser la password",
+       "passwordreset-disabled": "La ridefinisiù de la password l'è mìa atìva sö chèsta wiki",
+       "passwordreset-emaildisabled": "Le funsiù de pòsta eletrònica i è stàde disativàde sö chèsta wiki.",
+       "passwordreset-username": "Nòm de ütènt",
+       "passwordreset-domain": "Domini:",
+       "passwordreset-email": "Indirìs e-mail:",
+       "changeemail-none": "(nisü)",
+       "changeemail-password": "La password sö {{SITENAME}}:",
+       "changeemail-submit": "Càmbia l'indirìs e-mail",
+       "changeemail-cancel": "Scancèla l'operasiù",
+       "resettokens": "Redefenés i tokens",
+       "resettokens-legend": "Redefenés i tokens",
+       "resettokens-tokens": "Token:",
+       "resettokens-token-label": "$1 (valùr de adès: $2)",
+       "resettokens-done": "Tokens redefinìcc.",
+       "resettokens-resetbutton": "Redefenés i tokens selesiunàcc",
        "bold_sample": "Test in grasset",
        "bold_tip": "Test in grasset",
        "italic_sample": "Test in cursiv",
        "showpreview": "Famm vedè prima",
        "showdiff": "Famm vedè i cambiament",
        "anoneditwarning": "Tì te set minga entraa. In de la crunulugia de la pagina se vedarà el tò IP.",
+       "missingcommenttext": "Mèt dét en comènt ché sota",
        "summary-preview": "Pröva de l'uget:",
+       "blockedtitle": "Ütènsa blocàda",
        "blockedtext": "'''El to nom del druvadur o el to indirizz IP l'è stat blucaa.'''\n\nEl bloch l'è stat fat da $1.\nEl mutiv per el bloch l'è: ''$2''\n\n* Principi del bloch: $8\n* Scadenza del bloch: $6\n* Blucaa: $7\n\nSe a vurii, a pudii cuntatà $1 o un olter [[{{MediaWiki:Grouppage-sysop}}|aministradur]] per discüt el bloch.\n\nFeegh a ment che la funzion 'Manda un email a quel druvadur chì' l'è mia ativa se avii mia registraa un indirizz e-mail valid ind i voster [[Special:Preferences|preferenz]] o se l'üsagg de 'sta funzion l' è stat blucaa.\n\nL'indirizz IP curent l'è $3, el nümer ID del bloch l'è #$5.\nFee el piasè d'inclüd tüt i detaj chì de sura in qualsessìa dumanda che a decidii de fà.",
-       "accmailtext": "La parola d'urdin per \"$1\" l'è stada mandada a $2.",
-       "newarticle": "(Növ)",
+       "blockednoreason": "Gh'è stat dat nisü mutìf",
+       "loginreqtitle": "Autenticasiù nesesària",
+       "loginreqlink": "autenticàs (fà 'l log-in)",
+       "loginreqpagetext": "Per véder le otre pàgine ghe öl $1.",
+       "accmailtitle": "Password mandàda",
+       "accmailtext": "La password per [[User talk:$1|$1]] l'è stada mandada a $2. Chèsta password la pöl véser cambiàda per [[Special:ChangePassword|cambià la password]] apéna dòpo che te g'harét fat el log-in.",
+       "newarticle": "(Nöf)",
        "newarticletext": "Te seet andaa adree a un ligam a una pagina che la esista gnamò.\nPer creà la pagina, a l'è assee che te tachet a scriv in del box desota (varda la [$1 pagina de vüt] per savèn püssee).\nSe te seet chì per erur, schiscia \"indree\" in sül tò browser.",
-       "anontalkpagetext": "''Questa chí a l'é la pagina da ciciarada d'un druvadur che l'ha nonanmò registraa un cünt, o che 'l le dröva mia.\nPer 'sta reson chí, el pò vess identificaa dumà cunt el sò indirizz nümereg de IP.\n'Stu indirizz IP el pö vess druvaa da püssee d'un druvadur. Se te seet un druvadur anònim e ve someja che un quaj messagg ch'al ga par ch'al gh'a nagòt à vidé con lu, ch'al prœuva a [[Special:UserLogin|creà el sò cunt]].''",
+       "anontalkpagetext": "''Questa chí a l'é la pagina da ciciarada d'un druvadur che l'ha nonanmò registraa un cünt, o che 'l le dröva mia.\nPer 'sta reson chí, el pò vess identificaa dumà cunt el sò indirizz nümereg de IP.\n'Stu indirizz IP el pö vess druvaa da püssee d'un druvadur. Se te seet un druvadur anònim e te someja che un quaj messagg al ga nagòt à vidé con de ti, prœuva a [[Special:UserLogin/signup|creà 'n ütènsa nöa]] o [[Special:UserLogin|regìstret con chèla che te g'hét zà]] inscì de minga vess scunfundüü anmò con quaj alter ütent anomim.''",
        "noarticletext": "Per 'l mument quela pagina chì l'è vöja. Te pòdet [[Special:Search/{{PAGENAME}}|cercà quel articul chì]] int i alter paginn, <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} cercà int i register imparentaa], o sedenò [{{fullurl:{{FULLPAGENAME}}|action=edit}} mudifichè 'sta pagina chì adess-adess]</span>.",
+       "noarticletext-nopermission": "Per 'l mument quela pagina chì l'è vöja. Te pòdet [[Special:Search/{{PAGENAME}}|cercà quel articul chì]] int i alter paginn, <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} cercà int i register imparentaa], ma te gh'ét nò i permiss per creà-la</span>.",
+       "userpage-userdoesnotexist": "L'ütènsa \"$1\" l'è mìa registràda. Arda bé semài che te ölet creàla o mudificàa adilbù.",
+       "userpage-userdoesnotexist-view": "L'ütènsa \"$1\" l'è mìa registràda.",
+       "blocked-notice-logextract": "Per el mument quel druvadur chì l'è blucaa. L'ültima entrada int el register di bloch l'è repurtada chì de suta per riferiment:",
        "clearyourcache": "'''Nòta:''' dòpu che avii salvaa, pudaría véss neçessari de scancelá la memòria \"cache\" dal vòst prugráma də navigazziún in reet par vidé i mudifich faa. '''Mozilla / Firefox / Safari:''' tegní schiscjaa al butún ''Shift'' intaant che sə clica ''Reload'', upüür schiscjá ''Ctrl-Shift-R'' (''Cmd-Shift-R'' sül Apple Mac); '''IE:''' schiscjá ''Ctrl'' intaant che sə clica ''Refresh'', upüür schiscjá ''Ctrl-F5''; '''Konqueror:''': semplicemeent clicá al butún ''Reload'', upüür schiscjá ''F5''; '''Opera''' i üteent pudarían vech büsögn da scancelá cumpletameent la memòria \"cache\" in ''Tools&rarr;Preferences''.",
-       "previewnote": "''''''Atenziun'''! Questa pagina la serviss dumà de vardà. I cambiament hinn minga staa salvaa.'''",
+       "updated": "(Agiurnàt)",
+       "note": "<strong>Ocio:</strong>",
+       "previewnote": "<strong>Atenziun! Questa pagina la serviss dumà de vardà.</strong> I cambiament hinn gnamò staa salvaa.'''",
+       "continue-editing": "Và 'ndel area de mudifica",
        "editing": "Mudifega de $1",
+       "creating": "Creasiù de $1",
        "editingsection": "Mudifega de $1 (sezión)",
        "editingcomment": "Adree a mudifegà $1 (sezión növa)",
+       "editconflict": "Cunflit de edisiù sö $1",
+       "explainconflict": "'N óter ütènt el g'ha salvàt 'na versiù nöa de l'articol entàt che te sìet dré a fà le tò mudìfiche.\nL'area de mudìfica de sura la g'ha dét el test de la pàgina che gh'è on-line adès, isé come che l'è stat agiurnàt de l'óter ütènt.\nLa versiù co le tò mudìfiche envéce te la tróet endèl'area de mudìfica de sòta.\nSemài che te ölarèset confermàle, te g'hét de riportà le tò mudìfiche endèl tèst de l'area de sura.\nA schisà el butù '{{int:savearticle}}', se salvarà '''apéna''' el test che gh'è dét endèl'àrea de mudìfica de sura.",
        "yourtext": "El tò test",
+       "storedversion": "La versiù en memória",
        "yourdiff": "Diferenz",
        "copyrightwarning": "Ten per piasè present che tüt i cuntribüzión a {{SITENAME}} se cunsideren daa sota una licenza $2 (varda $1 per savèn püssee).\nSe te vöret minga che i tò test i poden vess mudifegaa e redistribüii d'una persona qualsessia senza nissüna limitazión, mandei minga a {{SITENAME}}<br />\nCunt el test che te mandet tì te deciaret anca che, sota la tò respunsabilità, che el test te l'hee scrivüü depertì 'me uriginal, o pür che l'è una cobia d'una funt de dumini pübligh o un'altra funt libera in manera cumpagna.<br />\n'''MANDA MINGA DEL MATERIAL CHE L'E' CUERT D'UN DIRIT D'AUTUR SENZA UTURIZAZIUN'''",
-       "protectedpagewarning": "'''Ocio: quela pagina chì l'è stada blucaa in manéra che dumá i dupradur cunt i privilegg de sysop i pören mudificàla.'''",
+       "protectedpagewarning": "'''Ocio: quela pagina chì l'è stada blucaa in manéra che dumá i dupradur cunt i privilegg de sysop i pören mudificàla.''' L'öltem element del register l'è riportàt ché sota per dà 'n riferimènt:",
        "semiprotectedpagewarning": "'''Nota:''' Quela pagina chì l'è stada blucada in manera che dumà i druvadur registraa i pören mudifegàla.\nL'ültima vus del register l'è mustrada chì de suta per riferiment:",
        "templatesused": "{{PLURAL:$1|Mudel|Mudej}} dopraa in quela pagina chì:",
        "templatesusedpreview": "{{PLURAL:$1|Mudel|Mudej}} dopraa in quela pröva chì:",
+       "templatesusedsection": "{{PLURAL:$1|Mudel|Mudej}} dopraa in quela sezion chì:",
        "template-protected": "(prutegiüü)",
        "template-semiprotected": "(semi-prutegiüü)",
        "hiddencategories": "Quela pagina chì la fa part de {{PLURAL:$1|una categuria|$1 categurij}} scundüü:",
+       "nocreate-loggedin": "Te g'hét mìa 'l permès per creà pàgine nöe",
+       "sectioneditnotsupported-title": "Mudìfica dele sesiù mìa suportàda",
+       "sectioneditnotsupported-text": "La mudìfica de le sesiù l'è mìa suportàda en chèsta pàgina.",
+       "permissionserrors": "Erur de permès",
+       "permissionserrorstext": "Te gh'hee minga i permiss per fall, per {{PLURAL:$1|quel motiv chì |quij motiv chì}}:",
        "permissionserrorstext-withaction": "Te gh'hee minga i permiss per $2, per {{PLURAL:$1|quela resón chì |quij resón chì}}:",
        "recreate-moveddeleted-warn": "'''Ocio: te see adree a creà turna una pagina che l'eva giamò stada scancelada.'''\n\nCuntrulee se l'è propi el cas de cuntinuà a mudifegà 'sta pagina chì.\nPer cumudità, la lista di scancelament e di San Martìn l'è ripurtada chi de suta:",
+       "log-fulllog": "Arda el log compléto",
+       "edit-hook-aborted": "L'hook el g'ha anulàt la mudìfica e 'l g'ha dat nesöna spiegasiù.",
+       "edit-gone-missing": "Se pöl mìa agiurnà la pàgina.\nPar che la sàpe stàda scancelàda.",
+       "edit-conflict": "Cunflit de edisiù",
+       "edit-no-change": "La modifica l'è stàda ignuràda perchè gh'è mìa stat fat cambiamèncc al test.",
+       "postedit-confirmation-created": "La pàgina l'è stàda creàda.",
+       "postedit-confirmation-restored": "La pàgina l'è stàda ripristinàda.",
+       "postedit-confirmation-saved": "La tò mudìfica l'è stàda memurizàda.",
+       "edit-already-exists": "Se pöl mìa creà 'na pàgina nöa.\nLa gh'è zamò.",
+       "defaultmessagetext": "Test standard",
+       "content-model-wikitext": "wikitest",
+       "content-model-text": "test normal",
+       "content-model-javascript": "JavaScript",
+       "content-model-css": "CSS",
        "undo-summary": "Scancelada la mudifega $1 de [[Special:Contributions/$2|$2]] ([[User talk:$2|Ciciarada]])",
+       "cantcreateaccounttitle": "Impusìbol creà 'n ütènt",
+       "cantcreateaccount-text": "La creasiù de ütènse de part de chèsto indirìs IP (<strong>$1</strong>) l'è stàda blocàda de l'ütènt [[User:$3|$3]]. El mutìf specificàt de $3 l'è <em>$2</em>",
+       "cantcreateaccount-range-text": "La creasiù de ütènse de part de indirìs IP endèl interval '''$1''', del qual el fà part apò a 'l tò ('''$4'''), l'è stàda blocàda de [[User:$3|$3]].\n\nEl mutìf specificàt de $3 l'è ''$2''.",
        "viewpagelogs": "Varda i register de quela pagina chì",
+       "nohistory": "El sistéma el rìa mìa a catà la crunulugìa de le versiù de chèsta pàgina.",
+       "currentrev": "Versiù de adès",
        "currentrev-asof": "Versión curenta di $1",
        "revisionasof": "Revisión $1",
+       "revision-info": "Versiù del $4 a le $5 de $2",
        "previousrevision": "←Versión püssee vegia",
        "nextrevision": "Revisión püssee növ →",
        "currentrevisionlink": "Varda la revisión curenta",
        "cur": "Cur",
        "next": "pròssim",
        "last": "ültima",
+       "page_first": "prìma",
+       "page_last": "öltema",
        "histlegend": "Selezion di diferenz: seleziuná i balitt di version de cumpará e pö schisciá ''enter'' upüra al buton in scima ala tabèlina.<br />\nSpiegazzion di símbul: (cur) = diferenza cun la version curenta, (ültima) = diferenza cun l'ültima version, M = mudifega piscinína.",
        "history-fieldset-title": "Varda la cronolugia",
+       "history-show-deleted": "Apéna chèi scancelàcc",
        "histfirst": "Püssee vegg",
        "histlast": "Püssee növ",
+       "historysize": "({{PLURAL:$1|1 byte|$1 bytes}})",
+       "historyempty": "(öda)",
+       "history-feed-title": "Crunulugìa",
+       "history-feed-description": "Crunulogia de la pàgina sö la wiki",
+       "history-feed-item-nocomment": "$1 el $2",
+       "history-feed-empty": "La pàgina che te sét dré a sercà la gh'è mìa; pöl das che la sàpe stàda scancelàda o spostàda. Arda bé co la [[Special:Search|pàgina de ricérca]] semài che gh'è dele pàgine nöe.",
+       "rev-deleted-comment": "(Ogèt de la mudìfica scancelàt)",
+       "rev-deleted-user": "(nòm de ütènt scancelàt)",
+       "rev-deleted-event": "(asiù del log scancelàda)",
+       "rev-deleted-user-contribs": "[nòm ütènt o indirìs IP scancelàt - mudìfica scundìda de la crunulugìa]",
        "rev-deleted-text-permission": "Questa version de la pagina l'è stada '''scancelada'''.\nPer infurmazion, varda ind el [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} register di scancelament].",
        "rev-delundel": "fa vidè/scund",
+       "rev-showdeleted": "Fà ved",
+       "revisiondelete": "Scancèla o riprìstina versiù",
+       "revdelete-nooldid-title": "Versiù mìa specificàda",
+       "revdelete-no-file": "L'archivi specificàt l'ezìste mìa",
+       "revdelete-show-file-submit": "Sé",
+       "revdelete-hide-text": "Test de la versiù",
+       "revdelete-hide-image": "Scont el contenùto de l'archivi",
+       "revdelete-hide-name": "Scont l'asiù e 'l sò ogèt",
+       "revdelete-hide-comment": "Ogèt o mutìf de la mudìfica",
+       "revdelete-hide-user": "Nom o indirìs IP de l'autùr",
+       "revdelete-radio-same": "(càmbia mìa)",
+       "revdelete-radio-set": "Scond",
+       "revdelete-radio-unset": "Fà vèt",
+       "revdelete-log": "Mutìf:",
        "revdel-restore": "Cambia la visibilità",
+       "pagehist": "Crunulugia de la pagina",
+       "deletedhist": "Crunulugìa scancelàda",
+       "revdelete-otherreason": "Alter resón/spiegazión",
+       "revdelete-reasonotherlist": "Alter mutiv",
        "revdelete-edit-reasonlist": "Mudifega i mutiv del scancelament",
+       "mergehistory-submit": "Önés le versiù",
+       "mergehistory-reason": "Mutìf:",
+       "pagemerge-logentry": "el g'ha ünìt [[$1]] a [[$2]] (reviziù 'nfìna al $3)",
        "revertmerge": "Scancela i ünión",
        "history-title": "Cronolugia di mudifegh de \"$1\"",
        "lineno": "Riga $1:",
        "notextmatches": "La vus che t'hee ciamaa la gh'ha minga una curispundenza in del test di paginn.",
        "prevn": "precedent {{PLURAL:$1|$1}}",
        "nextn": "pròssim {{PLURAL:$1|$1}}",
+       "prevn-title": "{{PLURAL:$1|Rezültàt precedènt|$1 rezültàcc precedèncc}}",
+       "nextn-title": "Next $1 {{PLURAL:$1|result|results}}",
        "viewprevnext": "Vidé ($1 {{int:pipe-separator}} $2) ($3).",
        "searchmenu-new": "'''Trà in pee la pagina \"[[:$1]]\" ins quel sit chì!'''",
        "searchprofile-articles": "Paginn de cuntegnüü",
        "searchprofile-advanced": "Avanzaa",
        "searchprofile-articles-tooltip": "Cerca in $1",
        "searchprofile-project-tooltip": "Cerca in $1",
+       "searchprofile-images-tooltip": "Sérca l'archivi",
        "searchprofile-everything-tooltip": "Cerca depertüt (anca int i paginn de discüssion)",
        "searchprofile-advanced-tooltip": "Cerca int i namespace persunalizaa",
        "search-result-size": "$1 ({{PLURAL:$2|1 parola|$2 paroll}})",
+       "search-result-score": "Atinènsa: $1%",
        "search-redirect": "(redirezión $1)",
        "search-section": "(sessión $1)",
        "search-suggest": "Vurivet dì: $1",
        "search-interwiki-caption": "Pruget fredej",
-       "search-interwiki-default": "$1 resültaa",
+       "search-interwiki-default": "Rezültàcc de $1:",
        "search-interwiki-more": "(püssee)",
+       "search-relatedarticle": "Rezültàcc corelàcc",
+       "searcheverything-enable": "Sérca en töcc i namespaces",
+       "searchrelated": "Corelàcc",
+       "searchall": "tücc",
        "powersearch-legend": "Recerca avanzada",
        "powersearch-ns": "Cerca in di namespace:",
+       "powersearch-togglelabel": "Selesiùna:",
+       "powersearch-toggleall": "Töcc",
+       "powersearch-togglenone": "Nisü",
        "preferences": "Preferenz",
-       "mypreferences": "i mè preferenz",
+       "mypreferences": "Preferenz",
        "prefs-edits": "Quantità de mudifegh faa:",
        "prefs-skin": "Aspett de l'interfacia",
-       "datedefault": "Nissüna preferenza",
-       "prefs-personal": "Carateristich dal dupradur",
+       "skin-preview": "Anteprìma",
+       "datedefault": "Nesöna preferènsa",
+       "prefs-labs": "Funsiù sperimentài",
+       "prefs-user-pages": "Pàgine ütènt",
+       "prefs-personal": "Prufil ütènt",
        "prefs-rc": "Cambiament recent",
        "prefs-watchlist": "Paginn tegnüü d'ögg",
        "prefs-watchlist-days": "Nümer de dì da mustrà ind i paginn da tegn d'ögg:",
+       "prefs-watchlist-days-max": "Màsimo $1 {{PLURAL:$1|dé|dé}}",
        "prefs-watchlist-edits": "Nümer de mudifegh da mustrà cunt i fünzión avanzaa:",
        "prefs-misc": "Ólter",
-       "prefs-rendering": "Aparenza",
+       "prefs-resetpass": "Càmbia la password",
+       "prefs-changeemail": "Càmbia l'indirìs e-mail",
+       "prefs-setemail": "Defenés l'indirìs e-mail",
+       "prefs-email": "Upsiù e-mail",
+       "prefs-rendering": "Aspèt",
        "saveprefs": "Tegn i mudifech",
-       "restoreprefs": "Ristabiliss i impustazión de default",
-       "prefs-editing": "Mudifich",
+       "restoreprefs": "Ristabiliss i impustazión de default (en töte le sesiù)",
+       "prefs-editing": "Cazèla de mudìfica",
        "rows": "Riich:",
        "columns": "Culònn:",
        "searchresultshead": "Cerca",
+       "stub-threshold-disabled": "Dezativàt",
        "recentchangescount": "Nümer de mudifegh da mustrà per ''default'':",
        "savedprefs": "I preferenz hinn stai salvaa.",
-       "timezonelegend": "Lucalitaa",
-       "localtime": "Urari lucaal",
-       "servertime": "Urari dal sèrver",
-       "guesstimezone": "Catá l urari dal sèrver",
+       "timezonelegend": "Füs oràre:",
+       "localtime": "Ura local:",
+       "timezoneuseserverdefault": "Dòpra l'ura predefinìda de la wiki ($1)",
+       "timezoneuseoffset": "Oter (specificà la diferènsa)",
+       "servertime": "Ura dal sèrver",
+       "guesstimezone": "Dòpra l'ura del browser",
+       "timezoneregion-africa": "Africa",
+       "timezoneregion-america": "America",
+       "timezoneregion-antarctica": "Antartich",
+       "timezoneregion-arctic": "Artich",
+       "timezoneregion-asia": "Asia",
+       "timezoneregion-atlantic": "Oceano Atlantich",
+       "timezoneregion-australia": "Australia",
+       "timezoneregion-europe": "Europa",
+       "timezoneregion-indian": "Ocean Indian",
+       "timezoneregion-pacific": "Ocean Pacifich",
        "allowemail": "Permètt ai altar üteent də cuntatamm par email",
-       "prefs-searchoptions": "Upzión de ricerca",
-       "defaultns": "Tröva sempar in di caamp:",
+       "prefs-searchoptions": "Ricerca",
+       "prefs-namespaces": "Namespaces",
+       "defaultns": "Sedenò, serca en chèsti namespaces:",
+       "default": "predefinit",
        "prefs-files": "Archivi",
+       "prefs-custom-css": "CSS personalizàt",
+       "prefs-custom-js": "JavaScript personalizat",
+       "prefs-common-css-js": "CSS/JavaScript cundivis per töte le skin:",
        "prefs-emailconfirm-label": "Cunferma de l'e-mail:",
        "youremail": "E-mail",
-       "username": "Nom dal dovrée",
-       "uid": "ID del druvadur:",
-       "prefs-memberingroups": "Mémber {{PLURAL:$1|del grüp|di grüp}}:",
-       "prefs-registration": "Registraa dal:",
+       "username": "{{GENDER:$1|Nom ütent}}:",
+       "prefs-memberingroups": "{{GENDER:$2|Mèmber}} {{PLURAL:$1|del grupo|dei grupi}}:",
+       "prefs-registration": "Data de registrasiù:",
        "yourrealname": "Nomm:",
        "yourlanguage": "Lengua:",
+       "yourvariant": "Variant de la lèngua:",
+       "prefs-help-variant": "La variant o grafia co la qual te preferéset véder le pàgine de la wiki.",
        "yournick": "Suranomm:",
        "prefs-help-signature": "I cument ind i paginn de discüssion i gh'han de vess firmaa cun \"<nowiki>~~~~</nowiki>\" che 'l sarà pö cunvertì int la tua firma cun tacada la data e l'ura.",
        "yourgender": "Géner:",
-       "gender-unknown": "Mía specifegaa",
+       "gender-unknown": "Preferissi specifegaa nò",
        "gender-male": "Mas'c",
        "gender-female": "Femena",
        "prefs-help-gender": "Upziunal: druvaa per adatà i messagg del software a segónda del gener del druvadur. Questa infurmazion chì la sarà püblica.",
        "email": "Indirizz de pòsta elettrònica.",
        "prefs-help-email": "L'e-mail a l'è mia obligatòri, però al permet da mandàv una ciav noeva in cas che ve la desmenteghé. A podé apó scernì da lassà entrà i alter dovrat in contat con violter senza da busogn da svelà la vosta identità.",
+       "prefs-help-email-required": "L'indirìs e-mail l'è ubligatóre",
        "prefs-info": "Infurmazion de bas",
        "prefs-i18n": "Internaziunalizazión",
-       "prefs-advancedrendering": "Fünzión avanzaa",
+       "prefs-signature": "Fìrma",
+       "prefs-dateformat": "Furmàt de la data",
+       "prefs-timeoffset": "Ure de diferensa",
+       "prefs-advancedediting": "Upsiù generài",
+       "prefs-editor": "Editur",
+       "prefs-preview": "Anteprìma",
+       "prefs-advancedrc": "Upsiù avansàde",
+       "prefs-advancedrendering": "Upsiù avansàde",
+       "prefs-advancedsearchoptions": "Upsiù avansàde",
+       "prefs-advancedwatchlist": "Upsiù avansàde",
+       "prefs-displayrc": "Upsiù de visualizasiù",
+       "prefs-displaywatchlist": "Upsiù de visualizasiù",
+       "prefs-tokenwatchlist": "Token",
+       "prefs-diffs": "Diferènse",
+       "prefs-help-prefershttps": "Chèsta preferènsa la g'harà efèt la pròsima ólta che te se autèntichet.",
+       "email-address-validity-valid": "L'indirìs e-mail el par bù",
+       "email-address-validity-invalid": "Mèt dét en indirìs e-mail che funsiùna",
        "userrights": "Gestión di dirit di druvadur",
        "userrights-lookup-user": "Gestion di grüp di druvaduu",
        "userrights-user-editname": "Butée dent un nom da dovrat",
        "group-user": "Druvadur",
        "group-autoconfirmed": "Druvadur che i s'henn cunvalidaa deperlur",
        "group-sysop": "Aministradur",
-       "group-user-member": "Dovratt",
+       "group-all": "(töcc)",
+       "group-user-member": "{{GENDER:$1|ütènt}}",
+       "group-autoconfirmed-member": "{{GENDER:$1|ütènt autoconvalidat|ütènta autoconvalidada|ütent/a autoconvalidat/da}}",
+       "group-bot-member": "{{GENDER:$1|bot}}",
+       "group-sysop-member": "{{GENDER:$1|amministradur|amministradura|amministradur/ra}}",
        "grouppage-user": "{{ns:project}}:Druvadur",
+       "grouppage-autoconfirmed": "{{ns:project}}:Ütèncc autoconvalidàcc",
+       "grouppage-bot": "{{ns:project}}:Bots",
        "grouppage-sysop": "{{ns:project}}:Aministradur",
        "right-edit": "Edita pàgini",
        "right-createaccount": "Crea cünt de dovratt bej-e növ",
-       "newuserlogpage": "Rrgister di druvat növ",
+       "right-delete": "Scancelà pàgine",
+       "right-siteadmin": "Blocà e desblocà el database",
+       "newuserlogpage": "Register di ütent növ",
        "rightslog": "Dirit di druvat",
+       "action-read": "lèzer chèsta pàgina",
        "action-edit": "mudifega quela pagina chì",
+       "action-createpage": "creà pàgine",
+       "action-createtalk": "creà pàgine de discusiù",
+       "action-createaccount": "creà chèsta ütènsa",
+       "action-history": "ardà la crunulugìa de chèsta pàgina",
+       "action-minoredit": "segnà chèsta mudìfica come picinìna",
+       "action-move": "spostà chèsta pàgina",
+       "action-move-categorypages": "spostà le categurìe",
+       "action-movefile": "Spòsta chèsto archivi",
+       "action-upload": "Càrga sö chèsto archivi",
+       "action-reupload": "surascrìf chèsto archivi (che l'ezìste zà)",
+       "action-upload_by_url": "cargà chèsto archivi de 'n indirìs URL",
+       "action-writeapi": "doprà le API en scritüra",
+       "action-delete": "scancelà chèsta pàgina",
+       "action-deleterevision": "scancelà chèsta versiù",
+       "action-deletedhistory": "ardà la crunulugìa scancelàda de chèsta pàgina",
+       "action-browsearchive": "sercà pàgine scancelàde",
+       "action-undelete": "ripristinà chèsta pàgina",
+       "action-suppressrevision": "riéder e ripristinà le mudìfiche scundìde",
+       "action-suppressionlog": "éder chèsto regìster privàt",
+       "action-protect": "cambià i leèi de protesiù de chèsta pàgina",
+       "action-import": "emportà pàgine de le ótre wiki",
+       "action-importupload": "emportà pàgine col upload de archivi",
+       "action-patrol": "segnà le mudìfiche dei óter ütèncc come verificàde",
+       "action-autopatrol": "segnà le tò mudìfiche come verificàde",
+       "action-userrights": "cambià töcc i permès dei ütèncc",
+       "action-userrights-interwiki": "cambià i permès dei ütèncc de le ótre wiki",
+       "action-siteadmin": "blocà o sblocà el database",
+       "action-sendemail": "mànda e-mail",
+       "action-editmywatchlist": "cambià la lìsta dei tò oservàcc speciài",
+       "action-viewmywatchlist": "ardà la lìsta dei tò oservàcc speciài",
+       "action-viewmyprivateinfo": "ardà le tò informasiù personài",
+       "action-editmyprivateinfo": "cambià le tò informasiù personài",
        "nchanges": "$1 {{PLURAL:$1|mudifega|mudifegh}}",
+       "enhancedrc-since-last-visit": "$1 {{PLURAL:$1|de l'öltima vìzita}}",
+       "enhancedrc-history": "crunulugìa",
        "recentchanges": "Cambiament recent",
        "recentchanges-legend": "Upzión ültem mudifegh",
        "recentchanges-summary": "In quela pagina chì a gh'è i cambiament püssee recent al cuntegnüü del sit.",
        "recentchanges-label-minor": "Quela chì l'è una mudifega piscinina.",
        "recentchanges-label-bot": "Quela mudifega chì l'ha fada un bot",
        "recentchanges-label-unpatrolled": "Quela mudifega chì a l'è stada mimga anmò verificada.",
-       "recentchanges-legend-newpage": "$1 - pagina növa",
+       "recentchanges-legend-newpage": "(arda apò [[Special:NewPages|la lìsta de le pàgine nöe]])",
        "rcnotefrom": "Chì de sota gh'è la lista di mudifegh de <b>$2</b> (fina a <b>$1</b>).",
        "rclistfrom": "Fà vidè i cambiament növ a partì de $3 $2",
        "rcshowhideminor": "$1 i mudifegh piscinín",
+       "rcshowhideminor-show": "Fà vèd",
+       "rcshowhideminor-hide": "Scond",
        "rcshowhidebots": "$1 i bot",
+       "rcshowhidebots-show": "Fà ved",
+       "rcshowhidebots-hide": "Scond",
        "rcshowhideliu": "$1 i dupradur cunetüü",
+       "rcshowhideliu-show": "Fà ved",
+       "rcshowhideliu-hide": "Scond",
        "rcshowhideanons": "$1 i dupradur anònim",
+       "rcshowhideanons-show": "Fà ved",
+       "rcshowhideanons-hide": "Scond",
+       "rcshowhidepatr-show": "Fà ved",
+       "rcshowhidepatr-hide": "Scond",
        "rcshowhidemine": "$1 i mè mudifich",
+       "rcshowhidemine-show": "Fà ved",
+       "rcshowhidemine-hide": "Scond",
        "rclinks": "Fà vedé i ültim $1 cambiament in di ültim $2 dì<br />$3",
        "diff": "dif",
        "hist": "stòria",
        "minoreditletter": "m",
        "newpageletter": "N",
        "boteditletter": "b",
+       "rc_categories_any": "Töcc",
+       "rc-change-size-new": "$1 {{PLURAL:$1|byte|bytes}} dopo la mudìfica",
        "newsectionsummary": "/* $1 */ sezión növa",
-       "rc-enhanced-expand": "Varda i detali (al vör el JavaScript)",
+       "rc-enhanced-expand": "Fà ved i detali",
        "rc-enhanced-hide": "Scund i detali",
+       "rc-old-title": "creàda en urìgin come \"$1\"",
        "recentchangeslinked": "Cambiament culegaa",
        "recentchangeslinked-feed": "Cambiament culegaa",
        "recentchangeslinked-toolbox": "Cambiament culegaa",
        "recentchangeslinked-summary": "Questa chì a l'è una lista di paginn faa de poch temp ai paginn culigaa a quela specifegada (o a member d'una categuria specifegada).\nI paginn dent in [[Special:Watchlist|la lista ch'it ten-e sot euj]] i resten marcaa in \"grasset\"",
        "recentchangeslinked-page": "Nom de la pagina:",
        "recentchangeslinked-to": "Fà vidè dumà i mudifegh ai paginn culigaa a quela dada",
-       "upload": "Carga sü un file",
+       "upload": "Carga sü un archivi",
        "uploadbtn": "Carga sü",
        "uploadnologin": "Minga cuness",
+       "uploadnologintext": "Per cargà 'n archivi bezògna $1.",
        "uploadlogpage": "Log di file caregaa",
+       "filename": "Nom de l'archivi",
        "filedesc": "Sumari",
        "fileuploadsummary": "Sumari:",
        "ignorewarnings": "Ignora tücc i avertimeent",
        "largefileserver": "Chel archivi-chí al è püssee graant che ul serviduur al sía cunfigüraa da permett.",
+       "savefile": "Salva l'archivi",
        "uploadedimage": "l'ha cargaa \"[[$1]]\"",
        "sourcefilename": "Nomm da l'archivi surgeent:",
        "destfilename": "Nomm da l'archivi da destinazziun:",
        "imgfile": "archivi",
        "listfiles": "Listá i imàgin",
-       "listfiles_date": "Dada",
+       "listfiles_thumb": "Miniadüra",
+       "listfiles_date": "Data",
        "listfiles_name": "Nomm",
-       "listfiles_user": "Dovratt",
-       "filehist": "Storia de l'archivi",
-       "filehist-help": "Schiscia in sü un grüp data/ura per vidè el file cumè che'l se presentava in quel mument là",
+       "listfiles_user": "Ütènt",
+       "listfiles_size": "Dimensiù en byte",
+       "listfiles_description": "Descrisiù",
+       "listfiles_count": "Versiù",
+       "listfiles-latestversion": "Versiù de adès",
+       "listfiles-latestversion-yes": "Sé",
+       "listfiles-latestversion-no": "Nò",
+       "file-anchor-link": "Archivi",
+       "filehist": "Crunulugia de l'archivi",
+       "filehist-help": "Schiscia in sü un grüp data/ura per vidè l'archivi cumè che'l se presentava in quel mument là",
        "filehist-deleteall": "scancela tüt",
        "filehist-deleteone": "Scancèla",
        "filehist-revert": "Butar torna 'me ch'al era",
        "filehist-datetime": "Data/Ura",
        "filehist-thumb": "Miniadüra",
        "filehist-thumbtext": "Miniadüra de la versión di $1",
+       "filehist-nothumb": "Nesöna miniadüra",
        "filehist-user": "Dovrat",
        "filehist-dimensions": "Dimensión",
-       "filehist-comment": "Uget",
-       "imagelinks": "Ligamm al file",
+       "filehist-filesize": "Dimensiù de l'archivi",
+       "filehist-comment": "Comènt",
+       "imagelinks": "Üzo de l'archivi",
        "linkstoimage": "{{PLURAL:$1|Quela pagina chì la gh'ha |$1 Quij paginn chì i gh'hann}} ligam al file:",
        "sharedupload": "Quel archivi chì al vegn de $1 e'l pö vess dupraa da alter pruget",
        "sharedupload-desc-here": "Quel ''file'' chì al vegn de $1 e 'l pö vess druvaa da alter pruget.\nLa descrizión sura la sua [$2 pagina de descrizión del file] l'è mustrada chì suta.",
        "uploadnewversion-linktext": "Carga una versión növa de quel file chì",
        "filerevert-intro": "Te seet adree a bütà turna el file '''[[Media:$1|$1]]''' a la [$4 version del $2, $3].",
-       "filerevert-comment": "Uget:",
-       "filerevert-defaultcomment": "Bütada turna la versión di $2, $1",
+       "filerevert-comment": "Mutif:",
+       "filerevert-defaultcomment": "Ripristinàt la versiù del $2, $1",
+       "filerevert-submit": "Riprìstina 'mè che l'era",
+       "filerevert-success": "'''L'archivi [[Media:$1|$1]]''' l'è stat ripristinat a la [$4 versiù del $2, $3].",
        "filedelete": "Scancela $1",
-       "filedelete-legend": "Scancela 'l file",
+       "filedelete-legend": "Scancela l'archivi",
        "filedelete-intro-old": "Te seet adree a scancelà la versión de '''[[Media:$1|$1]]''' del [$4 $2, $3].",
-       "filedelete-comment": "Reson:",
+       "filedelete-comment": "Mutif:",
+       "filedelete-submit": "Scancèla",
+       "filedelete-success": "L'archivi '''$1''' l'è stat scancelàt.",
+       "filedelete-success-old": "La versiù de l'archivi '''[[Media:$1|$1]]''' del $2, $3  l'è stada scancelada.",
        "filedelete-otherreason": "Alter resón/spiegazión:",
        "filedelete-reason-otherlist": "Óltra resón",
        "filedelete-reason-dropdown": "*I sòlit resón per i scancelament\n** Viulazión de copyright\n** File dubi",
        "unusedtemplates": "Templat mia druvaa",
        "unusedtemplateswlh": "alter culegament",
        "randompage": "Una pagina a cas",
+       "randomincategory-selectcategory-submit": "Và",
        "randomredirect": "Un redirect a cas",
        "statistics": "Statistich",
        "statistics-header-pages": "Statistegh di paginn",
        "statistics-users": "[[Special:ListUsers|Druvadur]] registraa",
        "statistics-users-active": "Druvadur ativ",
        "statistics-users-active-desc": "Druvadur che i hann faa un'azión int {{PLURAL:$1|l'ültem dì|i ültem $1 dì}}",
+       "pageswithprop-submit": "Và",
        "doubleredirects": "Redirezziún dópi",
+       "double-redirect-fixer": "Coretùr de redirects",
        "brokenredirects": "Redirezziún interótt",
+       "brokenredirectstext": "I redirects ché sóta i pùnta a pàgine che gh'è mìa:",
+       "brokenredirects-edit": "mudifega",
+       "brokenredirects-delete": "scancèla",
+       "withoutinterwiki": "Pàgine sènsa interwiki",
+       "withoutinterwiki-legend": "Prefìs",
+       "withoutinterwiki-submit": "Fà ved",
+       "fewestrevisions": "Pàgine con piö póche reviziù",
        "nbytes": "$1 {{PLURAL:$1|byte|bytes}}",
+       "ncategories": "$1 {{PLURAL:$1|categuria|Categurie}}",
+       "ninterwikis": "$1 {{PLURAL:$1|interwiki}}",
+       "nlinks": "$1 {{PLURAL:$1|colegament|colegamencc}}",
        "nmembers": "$1 {{PLURAL:$1|element|element}}",
+       "nmemberschanged": "$1 → $2 {{PLURAL:$2|elemènt|elemèncc}}",
+       "nrevisions": "$1 {{PLURAL:$1|reviziù}}",
+       "nviews": "$1 {{PLURAL:$1|vìzita|vìzite}}",
+       "nimagelinks": "Dopràt sö $1 {{PLURAL:$1|pàgina|pàgine}}",
+       "ntransclusions": "dopràt sö $1 {{PLURAL:$1|pàgina|pàgine}}",
+       "specialpage-empty": "Chèsta pàgina speciàl al momènt l'è öda.",
+       "lonelypages": "Pàgine òrfane",
+       "lonelypagestext": "Le pàgine elencàde ché sóta le g'ha mìa colegamèncc che é de ótre pàgine de {{SITENAME}} e i è mìa dét en nesöna ótra pàgina del sit.",
        "uncategorizedpages": "Paginn ch'i gh'hann mía de categuria",
        "uncategorizedcategories": "Categurij mía categurizaa",
        "uncategorizedimages": "''File'' ch'i gh'hann mía de categuria.",
        "uncategorizedtemplates": "Mudel ch'i gh'hann mía de categuria.",
        "unusedcategories": "Categurij mía druvaa",
        "unusedimages": "Imagin mia druvaa",
+       "popularpages": "Pàgine éste piö de spès",
        "wantedcategories": "Categurij ricercaa",
        "wantedpages": "Pagin ricercaa",
        "mostlinked": "Püssè ligaa a pagin",
        "mostlinkedcategories": "Categurij cun püssee ligamm",
+       "mostlinkedtemplates": "Mudèi dopràcc piö de spès",
        "mostcategories": "Articui cun püssee categurij",
        "mostimages": "Püssè ligaa a imagin",
+       "mostinterwikis": "Pàgine con piö tacc interwikis",
        "mostrevisions": "Articui cun püssè revisiún",
        "prefixindex": "Tüt i paginn cun prefiss",
        "shortpages": "Paginn püssee cürt",
        "longpages": "Paginn püssee lungh",
        "deadendpages": "Pagin senza surtida",
+       "protectedpages": "Pàgine prutigìde",
+       "protectedpages-indef": "Apéna protesiù infinìte",
+       "protectedpages-noredirect": "Scond i redirezion (redirect)",
        "listusers": "Lista di dupradur registraa",
        "listusers-editsonly": "Mustra dumà i dupradur cun di mudifegh",
        "listusers-creationsort": "Cavèzza per data de creazión",
        "booksources": "Surgent per i lìber",
        "booksources-search-legend": "Cerca i fónt di liber",
        "booksources-go": "Va",
-       "specialloguserlabel": "Üteent:",
-       "speciallogtitlelabel": "Titul:",
+       "specialloguserlabel": "Ütent:",
+       "speciallogtitlelabel": "Asiù fàda sö:",
        "log": "Register",
        "logempty": "El log l'è vöj.",
        "allpages": "Tücc i pagin",
-       "alphaindexline": "de $1 a $2",
        "prevpage": "Pagina prima ($1)",
        "allpagesfrom": "Fàm vedè i paginn a partì da:",
        "allpagesto": "Fàm ved i paginn fín a:",
        "allarticles": "Tucc i artícoj",
        "allpagessubmit": "Inanz",
        "allpagesprefix": "Varda i pagin ch'i scumenza per:",
+       "allpages-hide-redirects": "Scond i bot",
        "categories": "Categurij",
        "deletedcontributions": "Cuntribüziun scancelaa",
        "deletedcontributions-title": "Cuntribüziun scancelaa",
-       "linksearch": "Ligam de föra",
+       "linksearch": "Sérca ligam de föra",
        "listusersfrom": "Fàm vedè i dupradur a partì da:",
+       "listusers-submit": "Fà ved",
        "activeusers-from": "Fàm vedè i dupradur a partì da:",
+       "activeusers-hidebots": "Scond i bot",
        "listgrouprights": "Dirit del grüp di druvat",
+       "listgrouprights-rights": "Dirìcc",
+       "listgrouprights-helppage": "Help:Diricc del grupo",
        "listgrouprights-members": "(Lista di member)",
        "emailuser": "Manda un email a quel druvadur chì",
        "emailsent": "Messagg spedii",
        "watch": "Tegn d'öcc",
        "watchthispage": "Tegn d'ögg quela pagina chì",
        "unwatch": "Tegn pü d'ögg",
+       "unwatchthispage": "Desmèt de tègner d'öcc",
        "watchlist-details": "{{PLURAL:$1|$1 pagina|$1 paginn}} tegnüü sot ögg, fö che i paginn de discüssión.",
        "wlshowlast": "Fa vidé i ültim $1 ur $2 dì $3",
        "watchlist-options": "Upzión lista d'ussevazión",
        "enotif_body": "Cara $WATCHINGUSERNAME,\n\nLa pàgina $PAGETITLE del sit {{SITENAME}} a l'è stada $CHANGEDORCREATED del $PAGEEDITDATE da $PAGEEDITOR, varda $PAGETITLE_URL per la version curenta.\n\n$NEWPAGE\n\nSumari de la mudifega, metüü denter da l'autur: $PAGESUMMARY $PAGEMINOREDIT\n\nPer cuntatà l'autur:\nper e-mail: $PAGEEDITOR_EMAIL\nwiki: $PAGEEDITOR_WIKI\n\nGhe sarà pü mía de nutificazion in cas d'una quaj oltra mudifega, a manch che te veet nò a visità la pàgina in questión.\nDe surapü, te pö mudifegà l'impustazion de l'avis de nutifega per quij paginn che i henn ins la lista di paginn che te tegn d'ögg.\n\n             'L to sistema de nutifega da {{SITENAME}}\n\n--\nPer mudifegà l'impustazión de la lista di paginn che te tegn d'ögg, varda\n{{canonicalurl:Special:Watchlist/edit}}\n\nPer fà di cumünicazion de servizzi e per cercà jüt:\n$HELPPAGE",
        "changed": "cambiaa",
        "deletepage": "Scancela la pagina",
+       "confirm": "Cunférma",
        "excontent": "'l cuntegnüü l'eva: '$1'",
        "excontentauthor": "'l cuntegnüü l'eva: '$1' (e l'ünich cuntribüdur l'eva staa '[[Special:Contributions/$2|$2]]')",
        "exbeforeblank": "Inanz da vess svujaa 'l cuntegnüü l'eva: '$1'",
-       "historywarning": "'''Ocio!''' La pagina che a sii adree a scancelà la gh'a una stòria cun $1 {{PLURAL:$1|revisión|revisionn}}:",
+       "delete-confirm": "Scancèla \"$1\"",
+       "delete-legend": "Scancèla",
+       "historywarning": "'''Ocio!''' La pagina che a sii adree a scancelà la gh'a una crunulugìa cun presapoch $1 {{PLURAL:$1|revision|revision}}:",
        "confirmdeletetext": "A te see lì per scancelà una pagina cun tüta la sua crunulugìa.\nPer piasè, dà la cunferma che te gh'hee intenzión de andà inanz cun 'l scancelament, che te see al curent di cunseguenz, e che te see adree a fàl segónd i regulament de [[{{MediaWiki:Policy-url}}]].",
        "actioncomplete": "Aziun cumpletada",
+       "actionfailed": "Asiù falìda",
        "deletedtext": "La pagina \"$1\" l'è stada scancelada. Varda el $2 per una lista di ültim scancelaziun.",
        "dellogpage": "Register di scancelament",
        "deletionlog": "log di scancelament",
        "protect-title": "Prutezziún da \"$1\"",
        "prot_1movedto2": "[[$1]] spustaa in [[$2]]",
        "protect-legend": "Cunferma de blocch",
-       "protectcomment": "Reson:",
-       "protectexpiry": "Scadenza:",
+       "protectcomment": "Mutìf:",
+       "protectexpiry": "Scadènsa:",
        "protect_expiry_invalid": "Scadenza pü bona",
        "protect_expiry_old": "Scadenza giamò passada",
        "protect-text": "Chì se pö vardà e müdà el nivel de prutezión de la pagina '''$1'''.",
        "undeletebtn": "Rimett a post",
        "undeletelink": "Varda/büta indree",
        "undeletedrevisions": "{{PLURAL:$1|1 revision|$1 versiun}} rimetüü a post",
+       "undelete-search-prefix": "Fà ved i paginn che scumenzen per:",
        "namespace": "Namespace:",
        "invert": "Invertì la seleziòn",
        "blanknamespace": "(Principal)",
        "ipusubmit": "Tö via 'stu bloch chì",
        "unblocked": "[[User:$1|$1]] l'è staa desblucaa",
        "ipblocklist": "Adrèss IP e druvàt blucaa",
+       "blocklist-reason": "Mutìf",
        "infiniteblock": "per semper",
        "expiringblock": "el finiss el $1 a $2",
        "anononlyblock": "dumà i anònim",
        "unblocklink": "desbloca",
        "change-blocklink": "cambia bloch",
        "contribslink": "cuntribüzión",
+       "emaillink": "mànda e-mail",
        "blocklogpage": "Log di blocch",
        "blocklogentry": "l'ha blucaa [[$1]] per un temp de $2 $3",
        "blocklogtext": "Quel chì l'è el register di bloch e desbloch di druvadur.\nI indirizz IP che i henn staa blucaa utumaticament i henn mía cumpres int la lista.\nVarda el [[Special:BlockList|register di IP blucaa]] per la lista de tüt i bloch uperaziunaj ativ.",
        "block-log-flags-nocreate": "blucada la creazión de cünt növ",
        "movepagetext": "Duvraant la büeta chí-da-sota al re-numinerà una pàgina, muveent tüta la suva stòria al nomm nööf. Ul vecc títul al deventarà una pàgina da redirezziun al nööf títul. I liamm a la vegja pàgina i sarà mia cambiaa: assürévas da cuntrulá par redirezziun dopi u rumpüüt.\nA sii respunsàbil da assüráss che i liamm i sigüta a puntá intúe i è süpunüü da ná.\nNutii che la pàgina la sarà '''mia''' muvüda se a gh'è gjamò una pàgina al nööf títul, a maanch che la sía vöja, una redirezziun cun nissüna stòtia d'esizziun passada. Cheest-chí al signífega ch'a pudii renuminá indrée\nuna pàgina intúe l'évuf renuminada via par eruur, e che vüü pudii mia surascriif una pàgina esisteent.\n\n\n<b>ATENZIUN!</b>\nCheest-chí al pöö vess un canbi dràstegh e inaspetaa par una pàgina pupülara: par piasée assürévas ch'a ii capii i cunsegueenz da cheest-chí prima da ná inaanz.",
        "movepagetalktext": "La pagina de discüssión tacada a quel articul chì, la sarà spustada in manera utumatega insema a l'articul, '''asca in quij cas chì:'''\n* quand che la pagina a l'è spustada intra namespace diferent\n* se in del növ titul al gh'è giamò una pagina de discüssiun (minga vöja)\n* el quadret de cunferma chì de sota a l'è staa deseleziónaa.\nIn quij cas chì, se'l var la pena, ghe sarà de spustà a man i infurmazión de la pagina de discüssión.",
-       "movearticle": "Möva l'articul",
+       "movearticle": "Spòsta la pàgina:",
        "newtitle": "Titul növ:",
        "move-watch": "Gionta chela pagina chí ai pàgin à tegní d'œucc.",
        "movepagebtn": "Sposta quela pagina chì",
        "articleexists": "Una pagina che la se ciama cumpagn la gh'è giamò, opüra el nom che hii scernüü al va minga ben. <br />\nChe 'l scerna, per piasè, un nom diferent per quel articul chì.",
        "movetalk": "Sposta anca la pagina de discüssión",
        "movelogpage": "Register di San Martin",
-       "movereason": "Resón:",
-       "revertmove": "büta indree a 'mè che l'era",
-       "delete_and_move": "Scancelá e mööf",
+       "movereason": "Mutìf:",
+       "revertmove": "Riprìstina 'mè che l'era",
+       "delete_and_move": "Scancèla e möf",
+       "delete_and_move_confirm": "Sé, surascrìf la pàgina che gh'è zà",
        "export": "Espurtá pagin",
        "allmessages": "Tücc i messacc dal sistéma",
+       "allmessagesname": "Nòm",
        "allmessagesdefault": "Test standard",
        "allmessagescurrent": "Test curent",
        "allmessagestext": "Chesta chí l è una lista də messácc də sistema dispunibil indal MediaWiki: namespace.",
+       "allmessages-filter-legend": "Fìlter",
+       "allmessages-filter-unmodified": "Mìa mudificàcc",
+       "allmessages-filter-all": "Töcc",
+       "allmessages-filter-modified": "Mudificàcc",
+       "allmessages-prefix": "Fìltra per prefìs:",
+       "allmessages-language": "Lèngua:",
+       "allmessages-filter-submit": "Và",
        "thumbnail-more": "Ingrandí",
        "import": "Impurtá di pagin",
        "tooltip-pt-userpage": "La tò pagina druvat",
        "tooltip-rollback": "El \"Rollback\" al scancela cunt un clich i mudifigh faa a quela pagina chì de l'ültem cuntribüdur",
        "tooltip-undo": "\"Undo\" al scancela questa mudifega chì e la derv la finestra de mudifega in manera de vardà prima. La te lassa giuntàgh una spiegazión de la mudifega.",
        "siteuser": "{{SITENAME}} ütent $1",
+       "pageinfo-contentpage-yes": "Sé",
+       "pageinfo-protect-cascading-yes": "Sé",
        "deletedrevision": "Scancelada la revision vegia de $1.",
        "previousdiff": "← Diferenza püssee vegia",
        "nextdiff": "Mudifega püssee növa →",
        "svg-long-desc": "archivi in furmaa SVG, dimensión nominaj  $1 × $2 pixel, dimensión de l'archivi: $3",
        "show-big-image": "Versión a resolüzión volta",
        "newimages": "Espusizión di imàgin növ",
+       "newimages-legend": "Fìltra",
+       "noimages": "Gh'è negót de éder.",
        "ilsubmit": "Truvá",
+       "bydate": "per data",
        "bad_image_list": "El furmaa a l'è quest chì:\n\nSe tegnen bón dumà i list póntaa (i righ che scumincen per *).\nEl prim ligam de ogni riga la gh'ha de vess un ligam a un file minga desideraa.\nI ligam che i vegnen dopu, in sü l'istessa riga, i vegnen cónsideraa di ecezión (che'l vör dì paginn induè che 'l file se'l pö riciamà in manera nurmala).",
        "metadata": "Metadat",
        "metadata-help": "Quel file chì al gh'ha dent di infurmazión adiziunaj, che l'è prubabil che j'ha giuntaa la fotocamera o 'l scanner dupraa per fàl o digitalizàl. Se el file a l'è staa mudifegaa, un quajvün di detali i pudarien curespund pü ai mudifegh faa.",
        "confirmemail_sent": "Ul mesacc da cunfermazziún l è staa mandaa.",
        "confirmemail_success": "'L voster indirizz e-mail l'è staa cunfermaa: adess a pudii druvà la wiki.",
        "confirmemail_loggedin": "Adess 'l voster indirizz e-mail l'è staa cunfermaa",
+       "confirm_purge_button": "Cunferma",
+       "confirm-watch-button": "OK",
+       "imgmultigo": "Và!",
        "autosumm-blank": "Pagina svujada",
        "watchlisttools-view": "Varda i mudifegh impurtant",
        "watchlisttools-edit": "Varda e mudifega la lista di paginn che te tegnet sut ögg",
        "watchlisttools-raw": "Mudifega la lista in furmaa test",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|ciciarade]])",
        "version": "Versiun",
-       "specialpages": "Paginn special"
+       "specialpages": "Paginn special",
+       "tags-active-yes": "Sé",
+       "tags-active-no": "Nò",
+       "tags-edit": "mudìfica",
+       "rightsnone": "(nisü)"
 }
index bc2ad0f..7ace554 100644 (file)
        "pool-timeout": "Fe-potoana voahoatra ho an'ny hidy.",
        "pool-queuefull": "Feno ny lisitry ny asa hatao",
        "pool-errorunknown": "Tsi-fetezana tsy fantatra",
+       "pool-servererror": "Tsy mandeha ny rahraha fanisana ($1).",
        "aboutsite": "Mombamomba ny {{SITENAME}}",
        "aboutpage": "Project:Mombamomba",
        "copyright": "Ny lisansa $1 no mamehy ny fampiasana ity voatoatiny ity.",
        "edit-gone-missing": "Tsy afaka natao update ilay pejy.\nMety voafafa angamba izy.",
        "edit-conflict": "Adi-panovàna.",
        "edit-no-change": "Tsy norarahian'ny rindrankajy ny fanovanao satria tsy nanova ny lahatsoratra ianao.",
+       "postedit-confirmation-created": "Voaforona ilay pejy.",
+       "postedit-confirmation-restored": "Tafaverina ilay pejy.",
        "postedit-confirmation-saved": "Voatahiry ny fanovanao.",
        "edit-already-exists": "Tsy afaka amboarina ilay pejy vaovao.\nEfa misy izy.",
        "defaultmessagetext": "Hafatra raha tsy misy",
        "parser-template-recursion-depth-warning": "Fetran'ny halalin'ny fiantsoana endrika voahoatra ($1).",
        "language-converter-depth-warning": "Mihoatra ny fetran-kalalin'ny mpamadika teny ($1)",
        "node-count-exceeded-category": "Pejy izay ahitana fihoatran'ny isam-patotra (node)",
+       "node-count-exceeded-category-desc": "Sokajy ho an'ny pejy ahitana isan'ny naody mihoatra.",
        "node-count-exceeded-warning": "Pejy manana isam-patotra mihoatra",
        "expansion-depth-exceeded-category": "Pejy manana halalim-panitarana mihoatra",
+       "expansion-depth-exceeded-category-desc": "Sokajy ho an'ny pejy ahitana halalim-piitarana mihoatra.",
        "expansion-depth-exceeded-warning": "Pejy manana halalim-panitarana mihoatra",
        "parser-unstrip-loop-warning": "Nahitana tondro mifolaka tsy azo vahana",
        "parser-unstrip-recursion-limit": "Tafahoatra ny fetra avo ny fetra recursion ($1)",
        "prefs-emailconfirm-label": "Famarinana ny imailaka :",
        "youremail": "Imailaka:",
        "username": "{{GENDER:$1}}Anaram-pikambana :",
-       "uid": "{{GENDER:$1}}mpikambana :",
        "prefs-memberingroups": "Mpikambana{{GENDER:$2}} ao amin'ny vondrona{{PLURAL:$1}}:",
        "prefs-registration": "Daty fidirana :",
        "yourrealname": "Tena anarana marina:",
        "log-title-wildcard": "Hitady amin'ny lohateny manomboka amin'io soratra io",
        "showhideselectedlogentries": "Haneho/Hanafina ny iditry ny laogy nofidiana",
        "allpages": "Pejy rehetra",
-       "alphaindexline": "$1 hatramin'ny $2",
        "nextpage": "Pejy manaraka ($1)",
        "prevpage": "Pejy taloha ($1)",
        "allpagesfrom": "Asehoy ny pejy manomboka ny:",
index 8ee8c40..7a7d9b3 100644 (file)
        "edit-gone-missing": "ഈ താൾ പുതുക്കുവാൻ സാധിക്കുകയില്ല.\nഇത് മായ്ക്കപ്പെട്ടതായി കാണുന്നു.",
        "edit-conflict": "തിരുത്തൽ സമരസപ്പെടായ്ക.",
        "edit-no-change": "ഇപ്പോഴുള്ള സ്ഥിതിയിൽ നിന്നു യാതൊരു മാറ്റവും ഇല്ലാത്തതിനാൽ താങ്കളുടെ തിരുത്തലുകൾ തിരസ്കരിക്കപ്പെട്ടിരിക്കുന്നു.",
+       "postedit-confirmation-created": "താൾ സൃഷ്ടിച്ചിരിക്കുന്നു.",
+       "postedit-confirmation-restored": "താൾ പുൻഃസ്ഥാപിച്ചിരിക്കുന്നു.",
        "postedit-confirmation-saved": "താങ്കളുടെ തിരുത്ത് സേവ് ചെയ്തിരിക്കുന്നു.",
        "edit-already-exists": "പുതിയ താൾ സൃഷ്ടിക്കാൻ കഴിഞ്ഞില്ല.\nതാൾ ഇപ്പോൾ തന്നെ നിലവിലുണ്ട്.",
        "defaultmessagetext": "സ്വതേയുള്ള സന്ദേശ എഴുത്ത്",
        "parser-template-recursion-depth-warning": "ഫലകത്തിന്റെ പുനരാവർത്തന ആഴത്തിന്റെ പരിധി കഴിഞ്ഞിരിക്കുന്നു ($1)",
        "language-converter-depth-warning": "ഭാഷ മാറ്റൽ ഉപകരണത്തിന്റെ ആഴത്തിന്റെ പരിധി കവിഞ്ഞിരിക്കുന്നു ($1)",
        "node-count-exceeded-category": "നോഡ്-എണ്ണം അധികരിച്ച താളുകൾ",
+       "node-count-exceeded-category-desc": "നോഡ്-എണ്ണം അധികരിച്ച താളുകൾക്കുള്ള വർഗ്ഗം.",
        "node-count-exceeded-warning": "താൾ നോഡ്-എണ്ണം അധികരിച്ചിരിക്കുന്നു",
        "expansion-depth-exceeded-category": "വികസന ആഴം അധികരിച്ച താളുകൾ",
+       "expansion-depth-exceeded-category-desc": "വികസന ആഴം അധികരിച്ച താളുകൾക്കുള്ള വർഗ്ഗം.",
        "expansion-depth-exceeded-warning": "താളിന്റെ വികസന ആഴം അധികരിച്ചിരിക്കുന്നു",
        "parser-unstrip-loop-warning": "അൺസ്ട്രിപ്പ് (Unstrip) പാഴ്സർ ഫങ്ഷനിൽ കുരുക്ക് കണ്ടെത്തി",
        "parser-unstrip-recursion-limit": "അൺസ്ട്രിപ്പ് (Unstrip) പാഴ്സർ ഫങ്ഷന്റെ പുനരാവർത്തന പരിധി അധികരിച്ചിരിക്കുന്നു ($1)",
        "right-move": "താളുകൾ നീക്കുക",
        "right-move-subpages": "താളുകൾ അവയുടെ ഉപതാളുകളോടുകൂടീ നീക്കുക",
        "right-move-rootuserpages": "അടിസ്ഥാന ഉപയോക്തൃതാൾ മാറ്റുക",
+       "right-move-categorypages": "വർഗ്ഗ താളുകൾ മാറ്റുക",
        "right-movefile": "പ്രമാണങ്ങൾ നീക്കുക",
        "right-suppressredirect": "താളുകൾ മാറ്റുമ്പോൾ സ്രോതസ്സ് താളിൽ തിരിച്ചുവിടലുകൾ സൃഷ്ടിക്കാതിരിക്കുക",
        "right-upload": "പ്രമാണങ്ങൾ അപ്‌ലോഡ് ചെയ്യുക",
        "action-createpage": "താളുകൾ നിർമ്മിക്കുക",
        "action-createtalk": "സംവാദ താളുകൾ നിർമ്മിക്കുക",
        "action-createaccount": "ഈ ഉപയോക്തൃനാമം സൃഷ്ടിക്കുക",
+       "action-history": "ഈ താളിന്റെ നാൾവഴി കാണുക",
        "action-minoredit": "ഈ തിരുത്തൽ ഒരു ചെറിയ തിരുത്തലായി അടയാളപ്പെടുത്തുക",
        "action-move": "ഈ താൾ മാറ്റുക",
        "action-move-subpages": "ഈ താളും ഇതിന്റെ ഉപതാളുകളും നീക്കുക",
        "action-move-rootuserpages": "ഉപയോക്താവിന്റെ അടിസ്ഥാന താൾ മാറ്റുക",
+       "action-move-categorypages": "വർഗ്ഗ താളുകൾ മാറ്റുക",
        "action-movefile": "ഈ പ്രമാണം നീക്കുക",
        "action-upload": "ഈ പ്രമാണം അപ്‌ലോഡ് ചെയ്യുക",
        "action-reupload": "നിലവിലുള്ള പ്രമാണത്തിന്റെ ഉപരിയായി സ്ഥാപിക്കുക",
        "pageswithprop-submit": "പോകൂ",
        "doubleredirects": "ഇരട്ട തിരിച്ചുവിടലുകൾ",
        "doubleredirectstext": "ഈ താളിൽ ഒരു തിരിച്ചുവിടലിൽ നിന്നും മറ്റു തിരിച്ചുവിടൽ താളുകളിലേയ്ക്ക് പോകുന്ന താളുകൾ കൊടുത്തിരിക്കുന്നു. ഓരോ വരിയിലും ഒന്നാമത്തേയും രണ്ടാമത്തേയും തിരിച്ചുവിടൽ താളിലേക്കുള്ള കണ്ണികളും, രണ്ടാമത്തെ തിരിച്ചുവിടൽ താളിൽ നിന്നു ശരിയായ ലക്ഷ്യതാളിലേക്കുള്ള കണ്ണികളും ഉൾക്കൊള്ളുന്നു.\n<del>വെട്ടിക്കൊടുത്തിരിക്കുന്നവ</del> ശരിയാക്കിയവയാണ്.",
-       "double-redirect-fixed-move": "[[$1]] മാറ്റിയിരിക്കുന്നു.\nഇത് ഇപ്പോൾ [[$2]] എന്നതിലേയ്ക്ക് തിരിച്ചുവിടപ്പെട്ടിരിക്കുന്നു.",
-       "double-redirect-fixed-maintenance": "[[$1]] എന്ന താളിൽ നിന്ന് [[$2]] എന്ന താളിലേയ്ക്കുള്ള ഇരട്ട തിരിച്ചുവിടൽ ശരിയാക്കുന്നു.",
+       "double-redirect-fixed-move": "[[$1]] മാറ്റിയിരിക്കുന്നു.\nഇത് ഇപ്പോൾ സ്വയം പുതുക്കപ്പെട്ട് [[$2]] എന്നതിലേയ്ക്ക് തിരിച്ചുവിടപ്പെട്ടിരിക്കുന്നു.",
+       "double-redirect-fixed-maintenance": "[[$1]] à´\8eà´¨àµ\8dà´¨ à´¤à´¾à´³à´¿àµ½ à´¨à´¿à´¨àµ\8dà´¨àµ\8d [[$2]] à´\8eà´¨àµ\8dà´¨ à´¤à´¾à´³à´¿à´²àµ\87à´¯àµ\8dà´\95àµ\8dà´\95àµ\81à´³àµ\8dà´³ à´\87à´°à´\9fàµ\8dà´\9f à´¤à´¿à´°à´¿à´\9aàµ\8dà´\9aàµ\81വിà´\9fൽ à´ªà´°à´¿à´ªà´¾à´²à´¨à´\9càµ\8bലിà´\95ൾà´\95àµ\8dà´\95à´¿à´\9fàµ\86 à´¸àµ\8dവയà´\82 à´¶à´°à´¿à´¯à´¾à´\95àµ\8dà´\95àµ\81à´¨àµ\8dà´¨àµ\81.",
        "double-redirect-fixer": "തിരിച്ചുവിടൽ ശരിയാക്കിയത്",
        "brokenredirects": "മുറിഞ്ഞ തിരിച്ചുവിടലുകൾ",
        "brokenredirectstext": "താഴെക്കാണുന്ന തിരിച്ചുവിടലുകൾ നിലവിലില്ലാത്ത താളുകളിലേയ്ക്കാണ്‌:",
        "watchnologin": "ലോഗിൻ ചെയ്തിട്ടില്ല",
        "addwatch": "ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടികയിലേക്കു ചേർക്കുക",
        "addedwatchtext": "താങ്കൾ [[Special:Watchlist|ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടികയിലേക്ക്]] \"[[:$1]]\" എന്ന ഈ താൾ ചേർത്തിരിക്കുന്നു. ഇനി മുതൽ ഈ താളിലും ബന്ധപ്പെട്ട സം‌വാദം താളിലും ഉണ്ടാകുന്ന മാറ്റങ്ങൾ ആ പട്ടികയിൽ ദൃശ്യമാവും.",
+       "addedwatchtext-short": "\"$1\" എന്ന താൾ താങ്കൾ ശ്രദ്ധിക്കുന്നവയുടെ പട്ടികയിലേക്ക് ചേർത്തു.",
        "removewatch": "ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടികയിൽ നിന്നും ഒഴിവാക്കുക",
        "removedwatchtext": "താങ്കൾ [[Special:Watchlist|ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടികയിൽ]] നിന്നും \"[[:$1]]\" എന്ന താൾ നീക്കം ചെയ്തിരിക്കുന്നു.",
+       "removedwatchtext-short": "\"$1\" എന്ന താൾ താങ്കൾ ശ്രദ്ധിക്കുന്നവയുടെ പട്ടികയിൽ നിന്ന് നീക്കി.",
        "watch": "മാറ്റങ്ങൾ ശ്രദ്ധിക്കുക",
        "watchthispage": "ഈ താൾ ശ്രദ്ധിക്കുക",
        "unwatch": "ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടികയിൽ നിന്നു മാറ്റുക",
        "movepagetalktext": "'''ബന്ധപ്പെട്ട സം‌വാദത്താൾ സ്വയം മാറ്റപ്പെടാതിരിക്കാനുള്ള കാരണങ്ങൾ'''\n*അതേ പേരിൽ തന്നെ ശൂന്യമല്ലാത്ത ഒരു സം‌വാദത്താൾ നിലവിലുണ്ടെങ്കിൽ\n*താങ്കൾ താഴെയുള്ള ചെൿബോക്സ് ഉപയോഗിച്ചിട്ടില്ലെങ്കിൽ\n\nഅത്തരം സന്ദർഭങ്ങളിൽ സം‌വാദത്താളുകൾ താങ്കൾ സ്വയം കൂട്ടിച്ചേർക്കേണ്ടതാണ്.",
        "movearticle": "മാറ്റേണ്ട താൾ",
        "moveuserpage-warning": "'''മുന്നറിയിപ്പ്:''' ഉപയോക്താവിനുള്ള താളാണ് താങ്കൾ മാറ്റാൻ പോകുന്നത്. താൾ മാത്രമേ മാറുകയുള്ളു എന്നും ഉപയോക്താവിന്റെ പേര് ''മാറുകയില്ലെന്നും'' ദയവായി ഓർക്കുക.",
+       "movecategorypage-warning": "<strong>മുന്നറിയിപ്പ്:</strong> താങ്കൾ ഒരു വർഗ്ഗതാൾ മാറ്റാൻ പോവുകയാണ്. ഈ താൾ മാത്രമേ മാറുകയുള്ളുവെന്നും പഴയ വർഗ്ഗത്തിൽ ഉണ്ടായിരുന്ന താളുകളൊന്നും പുനർവർഗ്ഗീകരണം ചെയ്യാത്ത പക്ഷം പുതിയതിലേക്ക് <em>മാറില്ലെന്നും</em> ഓർക്കുക.",
        "movenologintext": "തലക്കെട്ടു മാറ്റാനുള്ള അനുമതി കൈവരിക്കാൻ താങ്കൾ ഒരു രജിസ്റ്റേർഡ് ഉപയോക്താവായിരിക്കുകയും [[Special:UserLogin|ലോഗിൻ ചെയ്തിരിക്കുകയും]] ചെയ്യേണ്ടത് അത്യന്താപേക്ഷിതമാണ്‌.",
        "movenotallowed": "താളുകളുടെ തലക്കെട്ടു മാറ്റുവാനുള്ള അനുവാദം താങ്കൾക്കില്ല.",
        "movenotallowedfile": "പ്രമാണങ്ങൾ മാറ്റാനുള്ള അനുമതി താങ്കൾക്കില്ല.",
        "cant-move-user-page": "ഉപയോക്താവിനുള്ള താളുകളുടെ തലക്കെട്ട് മാറ്റാനുള്ള അനുമതി താങ്കൾക്കില്ല (ഉപതാളുകൾ ഉൾപ്പെടുന്നില്ല).",
        "cant-move-to-user-page": "ഉപയോക്താവിനുള്ള താളിന്റെ തലക്കെട്ടു മാറ്റാനുള്ള അനുമതി താങ്കൾക്കില്ല (ഉപയോക്താവിനുള്ള ഉപതാളുകൾ ഒഴിച്ച്).",
+       "cant-move-category-page": "വർഗ്ഗ താളുകൾ മാറ്റാനുള്ള അനുവാദം താങ്കൾക്കില്ല.",
+       "cant-move-to-category-page": "ഒരു താൾ വർഗ്ഗ താളാക്കി മാറ്റാനുള്ള അനുവാദം താങ്കൾക്കില്ല.",
        "newtitle": "പുതിയ തലക്കെട്ട്:",
        "move-watch": "ഈ താളിലെ മാറ്റങ്ങൾ ശ്രദ്ധിക്കുക",
        "movepagebtn": "താൾ മാറ്റുക",
        "newimages-summary": "ചുരുക്കം",
        "newimages-legend": "അരിപ്പ",
        "newimages-label": "പ്രമാണത്തിന്റെ പേര്‌ (അഥവാ പേരിന്റെ ഭാഗം)",
+       "newimages-showbots": "യന്ത്രങ്ങൾ ചെയ്ത അപ്‌ലോഡുകൾ പ്രദർശിപ്പിക്കുക",
        "noimages": "ഒന്നും കാണാനില്ല.",
        "ilsubmit": "തിരയൂ",
        "bydate": "ദിനക്രമത്തിൽ",
        "watchlistedit-raw-done": "താങ്കളുടെ ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടിക പുതുക്കിയിരിക്കുന്നു.",
        "watchlistedit-raw-added": "{{PLURAL:$1|1 താൾ|$1 താളുകൾ}} പട്ടികയിലേക്കു ചേർത്തിരിക്കുന്നു:",
        "watchlistedit-raw-removed": "{{PLURAL:$1|1 താൾ|$1 താളുകൾ}} പട്ടികയിൽ നിന്നു മാറ്റിയിരിക്കുന്നു:",
+       "watchlistedit-clear-title": "ശ്രദ്ധിക്കുന്നവയുടെ പട്ടിക ശൂന്യമാക്കുക",
+       "watchlistedit-clear-legend": "ശ്രദ്ധിക്കുന്നവയുടെ പട്ടിക ശൂന്യമാക്കുക",
+       "watchlistedit-clear-explain": "താങ്കൾ ശ്രദ്ധിക്കുന്നവയുടെ പട്ടികയിലെ എല്ലാ തലക്കെട്ടുകളും ഒഴിവാക്കിയിരിക്കുന്നു",
+       "watchlistedit-clear-titles": "തലക്കെട്ടുകൾ:",
+       "watchlistedit-clear-submit": "ശ്രദ്ധിക്കുന്നവയുടെ പട്ടിക ശൂന്യമാക്കുക (ഇത് സ്ഥിരമായിരിക്കും!)",
+       "watchlistedit-clear-done": "താങ്കളുടെ ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടിക ശൂന്യമാക്കിയിരിക്കുന്നു.",
+       "watchlistedit-clear-removed": "{{PLURAL:$1|ഒരു തലക്കെട്ട്|$1 തലക്കെട്ടുകൾ}} ഒഴിവാക്കി:",
+       "watchlistedit-too-many": "പ്രദർശിപ്പിക്കാൻ വളരെയധികം താളുകൾ ഉണ്ട്.",
+       "watchlisttools-clear": "ശ്രദ്ധിക്കുന്നവയുടെ പട്ടിക ശൂന്യമാക്കുക",
        "watchlisttools-view": "ബന്ധപ്പെട്ട മാറ്റങ്ങൾ പ്രദർശിപ്പിക്കുക",
        "watchlisttools-edit": "ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടിക കാണുക, തിരുത്തുക",
        "watchlisttools-raw": "താങ്കൾ ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടികയുടെ മൂലരൂപം തിരുത്തുക",
        "htmlform-no": "ഇല്ല",
        "htmlform-yes": "ശരി",
        "htmlform-chosen-placeholder": "ഒരു ഐച്ഛികം തിരഞ്ഞെടുക്കുക",
+       "htmlform-cloner-create": "കൂടുതൽ ചേർക്കുക",
+       "htmlform-cloner-delete": "നീക്കം ചെയ്യുക",
+       "htmlform-cloner-required": "കുറഞ്ഞത് ഒരു വിലയെങ്കിലും നൽകിയിരിക്കണം.",
        "sqlite-has-fts": "പൂർണ്ണ-എഴുത്ത് തിരച്ചിൽ പിന്തുണയുള്ള $1",
        "sqlite-no-fts": "പൂർണ്ണ-എഴുത്ത് തിരച്ചിൽ പിന്തുണയില്ലാത്ത $1",
        "logentry-delete-delete": "$3 എന്ന താൾ $1 {{GENDER:$2|മായ്ച്ചിരിക്കുന്നു}}",
index fb2765c..1889cff 100644 (file)
@@ -16,9 +16,9 @@
        "tog-hidepatrolled": "Aħbi l-modifiki verifikati fit-tibdil riċenti",
        "tog-newpageshidepatrolled": "Aħbi l-paġni verifikati mil-lista tal-paġni l-ġodda",
        "tog-extendwatchlist": "Espandi l-lista ta' osservazzjoni biex turi t-tibdil kollu, u mhux biss dak riċenti",
-       "tog-usenewrc": "Iġbor il-modifiki skont il-paġna fit-tibdil riċenti u fil-lista ta' osservazzjonijiet (bżonn tal-Javascript)",
+       "tog-usenewrc": "Iġbor il-tibdil skont paġna fil-tibdil riċenti u lista' ta paġni osservati",
        "tog-numberheadings": "Numerazzjoni awtomatika tat-titli tas-sezzjonijiet",
-       "tog-showtoolbar": "Uri l-kolonna tal-għodda għall-immodifikar (bżonn tal-JavaScript)",
+       "tog-showtoolbar": "Uri tal-għodda għall-modifikar il-paġni",
        "tog-editondblclick": "Immodifika l-paġni permezz ta' klikk doppju (bżonn tal-JavaScript)",
        "tog-editsectiononrightclick": "L-immodifikar ta' sezzjonijiet bi klikk lemini fuq it-titli tas-sezzjonijiet (bżonn tal-JavaScript)",
        "tog-watchcreations": "Żid il-paġni li noħloq u l-fajls li ntella' fil-lista ta' osservazzjoni tiegħi",
        "permissionserrorstext": "Inti m'għandhekx dritt li tagħmel hekk, għar-{{PLURAL:$1|raġuni|raġunijiet}} segwenti:",
        "permissionserrorstext-withaction": "M'għandekx il-permessi neċessarji biex $2, minħabba r-{{PLURAL:$1|raġuni|raġunijiet}} segwenti:",
        "recreate-moveddeleted-warn": "'''Twissija: Inti qiegħed toħloq mill-ġdid paġna li ġiet imħassra.'''\n\nAċċerta ruħek jekk huwiex opportun li tkompli timmodifika din il-paġna.\nIr-reġistru tat-tħassir u tal-mixi huwa pprovdut għal aktar konvenjenza:",
-       "moveddeleted-notice": "Din il-paġna ġiet imħassra. Ir-reġistri tat-tħassir u tal-mixi għal din il-paġna huma provduti hawn taħt bħala referenza.",
+       "moveddeleted-notice": "Din il-paġna ġiet imħassra. \nIr-reġistri tat-tħassir u jimxu għal din il-paġna huma provduti hawn taħt bħala referenza.",
        "log-fulllog": "Uri r-reġistru sħiħ",
        "edit-hook-aborted": "Il-modifika ġiet abbandunata mill-''hook''.\nMa ngħatat l-ebda spjegazzjoni.",
        "edit-gone-missing": "Il-paġna ma tistax tiġi aġġornata.\nJidher li din ġiet imħassra.",
        "usermessage-summary": "Messaġġ tas-sistema",
        "usermessage-editor": "Messaġġier tas-sistema",
        "watchlist": "Lista ta' osservazzjoni tiegħi",
-       "mywatchlist": "Lista ta' osservazzjoni",
+       "mywatchlist": "Lista ta' paġni osservati",
        "watchlistfor2": "Tal-utent $1 $2",
        "nowatchlist": "Il-lista ta' osservazzjoni tiegħek hija vojta.",
        "watchlistanontext": "Sabiex tara u timmodifika l-lista ta' osservazzjoni tiegħek, hemm bżonn li $1.",
index fe08230..33814aa 100644 (file)
        "parser-template-recursion-depth-warning": "Mal er brukt for mange ganger ($1)",
        "language-converter-depth-warning": "Dybdegrense for språkkonvertering overskredet ($1)",
        "node-count-exceeded-category": "Sider hvor antallet noder er overskredet",
+       "node-count-exceeded-category-desc": "En kategori for sider der antallet noder er overskredet.",
        "node-count-exceeded-warning": "Siden har overskredet antallet noder",
        "expansion-depth-exceeded-category": "Sider hvor hvor ekspansjonsdybden er overskredet",
+       "expansion-depth-exceeded-category-desc": "Dette er en kategori for sider hvor ekspansjonsdybden er overskredet.",
        "expansion-depth-exceeded-warning": "Sida har overskredet ekspansjonsdybden",
        "parser-unstrip-loop-warning": "«Unstrip»-loop påvist",
        "parser-unstrip-recursion-limit": "Rekursjonsgrense for taggfjerning overskredet ($1)",
        "right-move": "Flytte sider",
        "right-move-subpages": "Flytte sider med undersider",
        "right-move-rootuserpages": "Flytte hovedbrukersider",
+       "right-move-categorypages": "Flytte kategorisider",
        "right-movefile": "Flytte filer",
        "right-suppressredirect": "Behøver ikke å opprette omdirigeringer ved sideflytting",
        "right-upload": "Laste opp filer",
        "action-move": "flytte denne siden",
        "action-move-subpages": "flytte denne siden og dens undersider",
        "action-move-rootuserpages": "flytte hovedbrukersider",
+       "action-move-categorypages": "flytte kategorisider",
        "action-movefile": "flytte denne filen",
        "action-upload": "laste opp denne filen",
        "action-reupload": "overskrive den nåværende filen",
        "watchnologin": "Ikke logget inn",
        "addwatch": "Legg til i overvåkningslisten",
        "addedwatchtext": "Siden «[[:$1]]» er lagt til [[Special:Watchlist|overvåkningslisten]] din.\nFremtidige endringer til denne siden og den tilhørende diskusjonssiden blir listet opp der.",
+       "addedwatchtext-short": "Siden «$1» har blitt lagt til i overvåkningslisten din.",
        "removewatch": "Fjern fra overvåkningslisten",
        "removedwatchtext": "Siden «[[:$1]]» er fjernet fra [[Special:Watchlist|overvåkningslisten din]].",
+       "removedwatchtext-short": "Siden «$1» har blitt fjernet fra overvåkningslisten din.",
        "watch": "Overvåk",
        "watchthispage": "Overvåk denne siden",
        "unwatch": "Avslutt overvåkning",
        "movepagetalktext": "Den tilhørende diskusjonssiden vil automatisk bli flyttet sammen med siden '''med mindre:'''\n*Det allerede finnes en diskusjonsside som ikke er tom under det nye navnet, eller\n*Du fjerner markeringen i boksen nedenfor.\n\nI disse tilfellene er du nødt til å flytte eller flette siden manuelt, om ønskelig.",
        "movearticle": "Flytt side:",
        "moveuserpage-warning": "'''Advarsel:''' Du er i ferd med å flytte en brukerside. Merk at kun siden vil bli flyttet; brukernavnet vil ''ikke'' bli endret.",
+       "movecategorypage-warning": "<strong>Advarsel:</strong> Du er i ferd med å flytte en kategoriside. Merk at kun siden blir flyttet, og at sider i det gamle kategorinavnet <em>ikke</em> blir omkategorisert til det nye navnet.",
        "movenologintext": "Du må være registrert bruker og være [[Special:UserLogin|logget på]] for å flytte en side.",
        "movenotallowed": "Du har ikke tillatelse til å flytte sider.",
        "movenotallowedfile": "Du har ikke tillatelse til å flytte filer.",
        "cant-move-user-page": "Du har ikke tillatelse til å flytte brukersider (bortsett fra undersider).",
        "cant-move-to-user-page": "Du har ikke tillatelse til å flytte brukersider (bortsett fra undersider).",
+       "cant-move-category-page": "Du har ikke tillatelse til å flytte kategorisider.",
+       "cant-move-to-category-page": "Du har ikke tillatelse til å flytte en side til en kategoriside.",
        "newtitle": "Til ny tittel:",
        "move-watch": "Overvåk kilde- og målsiden",
        "movepagebtn": "Flytt side",
        "tooltip-undo": "«Angre» tilbakestiller denne endringen og åpner redigeringsskjemaet i forhåndsvisningsmodus. Det tillater en å legge til en begrunnelse i redigeringsforklaringen.",
        "tooltip-preferences-save": "Lagre innstillinger",
        "tooltip-summary": "Skriv et kort sammendrag",
-       "interlanguage-link-title": "$1 &ndash; $2",
+       "interlanguage-link-title": "$1  $2",
        "common.css": "/* CSS plassert i denne fila vil gjelde for alle utseender. */",
        "cologneblue.css": "/* CSS i denne fila vil gjelde alle som bruker drakta Kølnerblå */",
        "monobook.css": "/* CSS i denne fila vil gjelde alle som bruker drakta Monobook */",
        "newimages-summary": "Denne spesialsiden viser de sist opplastede filene.",
        "newimages-legend": "Filnavn",
        "newimages-label": "Filnavn (helt eller delvis):",
+       "newimages-showbots": "Vis opplastinger av botter",
        "noimages": "Ingenting å se.",
        "ilsubmit": "Søk",
        "bydate": "etter dato",
        "watchlistedit-raw-done": "Overvåkningslisten din er oppdatert.",
        "watchlistedit-raw-added": "{{PLURAL:$1|Én tittel|$1 titler}} ble lagt til:",
        "watchlistedit-raw-removed": "{{PLURAL:$1|Én tittel|$1 titler}} ble fjernet:",
+       "watchlistedit-clear-title": "Rensket overvåkningslisten",
+       "watchlistedit-clear-legend": "Rensk overvåkninslisten",
+       "watchlistedit-clear-explain": "Alle titlene blir fjernet fra overvåkningslisten din",
+       "watchlistedit-clear-titles": "Titler:",
+       "watchlistedit-clear-submit": "Rensk overvåkningslisten (dette er permanent!)",
+       "watchlistedit-clear-done": "Overvåkningslisten din har blitt rensket.",
+       "watchlistedit-clear-removed": "{{PLURAL:$1|Én tittel|$1 titler}} ble fjernet:",
+       "watchlistedit-too-many": "Det er for mange sider til å vise dem her.",
+       "watchlisttools-clear": "Rensk overvåkningslisten",
        "watchlisttools-view": "Vis relevante endringer",
        "watchlisttools-edit": "Vis og rediger overvåkningsliste",
        "watchlisttools-raw": "Rediger rå overvåkningsliste",
index 0254de2..cf6886e 100644 (file)
@@ -55,7 +55,8 @@
                        "Wikiklaas",
                        "Wolf Lambert",
                        "לערי ריינהארט",
-                       "아라"
+                       "아라",
+                       "Mar(c)"
                ]
        },
        "tog-underline": "Koppelingen onderstrepen:",
        "parser-template-recursion-depth-warning": "De recursiediepte voor sjablonen is overschreden ($1)",
        "language-converter-depth-warning": "De dieptelimiet voor de taalconvertor is overschreden ($1)",
        "node-count-exceeded-category": "Pagina's waar het maximaal aantal nodes is overschreden",
+       "node-count-exceeded-category-desc": "Een categorie voor pagina's waar het aantal knooppunten is overschreden.",
        "node-count-exceeded-warning": "Op de pagina is het maximale aantal nodes overschreden",
        "expansion-depth-exceeded-category": "Pagina's waar de expansiediepte is overschreden",
+       "expansion-depth-exceeded-category-desc": "Dit is een categorie voor pagina's waar de expansiediepte is overschreden.",
        "expansion-depth-exceeded-warning": "De pagina bevat te veel sjablonen",
        "parser-unstrip-loop-warning": "Er is een \"unstrip\"-lus gedetecteerd",
        "parser-unstrip-recursion-limit": "De recursielimiet ($1) voor \"unstrip\" is overschreden",
        "watchnologin": "U bent niet aangemeld",
        "addwatch": "Toevoegen aan volglijst",
        "addedwatchtext": "De pagina \"[[:$1]]\" is toegevoegd aan uw [[Special:Watchlist|volglijst]].\nToekomstige bewerkingen van deze pagina en de bijbehorende overlegpagina worden daar weergegeven.",
+       "addedwatchtext-short": "De pagina \"$1\" is aan uw volglijst toegevoegd.",
        "removewatch": "Verwijderen uit volglijst",
        "removedwatchtext": "De pagina \"[[:$1]]\" is van [[Special:Watchlist|uw volglijst]] verwijderd.",
+       "removedwatchtext-short": "De pagina \"$1\" is van uw volglijst verwijderd.",
        "watch": "Volgen",
        "watchthispage": "Pagina volgen",
        "unwatch": "Niet volgen",
        "movepagetalktext": "De bijbehorende overlegpagina krijgt automatisch een andere naam, '''tenzij''':\n* De overlegpagina onder de nieuwe naam al bestaat;\n* U het onderstaande vinkje deselecteert.\n\nIn die gevallen moet u de pagina handmatig hernoemen of samenvoegen.",
        "movearticle": "Te hernoemen pagina:",
        "moveuserpage-warning": "'''Waarschuwing:''' u gaat een gebruikerspagina hernoemen. Houd er rekening mee dat alleen de pagina wordt hernoemd, ''niet'' de gebruiker.",
+       "movecategorypage-warning": "<strong>Waarschuwing:</strong> U staat op het punt een categoriepagina te hernoemen. Houdt u er rekening mee dat alleen de categoriepagina zelf hernoemd zal worden; pagina's in de oude categorie zullen <em>niet</em> automatisch naar de nieuwe worden verplaatst.",
        "movenologintext": "U moet [[Special:UserLogin|aangemeld]] zijn om een pagina te hernoemen.",
        "movenotallowed": "U hebt geen rechten om pagina's te hernoemen.",
        "movenotallowedfile": "U hebt geen rechten om bestanden te hernoemen.",
        "watchlistedit-normal-done": "Er {{PLURAL:$1|is één pagina|zijn $1 pagina’s}} verwijderd van uw volglijst:",
        "watchlistedit-raw-title": "Ruwe volglijst bewerken",
        "watchlistedit-raw-legend": "Ruwe volglijst bewerken",
-       "watchlistedit-raw-explain": "Hieronder staan pagina’s op uw volglijst.\nU kunt de lijst bewerken door pagina’s te verwijderen en toe te voegen.\nEén pagina per regel.\nAls u klaar bent, klik dan op \"{{int:Watchlistedit-raw-submit}}\".\nU kunt ook [[Special:EditWatchlist|het standaard bewerkingsscherm gebruiken]].",
-       "watchlistedit-raw-titles": "Paginas:",
+       "watchlistedit-raw-explain": "Hieronder staan de pagina's op uw volglijst.\nU kunt de lijst bewerken door pagina's te verwijderen en toe te voegen;\néén pagina per regel.\nAls u klaar bent, klik dan op \"{{int:Watchlistedit-raw-submit}}\".\nU kunt ook [[Special:EditWatchlist|het standaard bewerkingsscherm gebruiken]].",
+       "watchlistedit-raw-titles": "Pagina's:",
        "watchlistedit-raw-submit": "Volglijst bijwerken",
        "watchlistedit-raw-done": "Uw volglijst is bijgewerkt.",
-       "watchlistedit-raw-added": "Er {{PLURAL:$1|is 1 pagina|zijn $1 paginas}} toegevoegd:",
-       "watchlistedit-raw-removed": "Er {{PLURAL:$1|is 1 pagina|zijn $1 paginas}} verwijderd:",
+       "watchlistedit-raw-added": "Er {{PLURAL:$1|is 1 pagina|zijn $1 pagina's}} toegevoegd:",
+       "watchlistedit-raw-removed": "Er {{PLURAL:$1|is 1 pagina|zijn $1 pagina's}} verwijderd:",
        "watchlistedit-clear-title": "Volglijst wissen",
        "watchlistedit-clear-legend": "Volglijst wissen",
        "watchlistedit-clear-explain": "Alle titels zullen van uw volglijst worden verwijderd",
        "watchlistedit-clear-titles": "Titels:",
        "watchlistedit-clear-submit": "Volglijst wissen (dit is definitief!)",
        "watchlistedit-clear-done": "Uw volglijst is gewist.",
-       "watchlistedit-clear-removed": "{{PLURAL:$1|1 titel werd|$1 titels werden}} verwijderd:",
+       "watchlistedit-clear-removed": "Er {{PLURAL:$1|is 1 pagina|zijn $1 pagina's}} verwijderd:",
        "watchlistedit-too-many": "Er zijn te veel pagina's om hier weer te geven.",
        "watchlisttools-clear": "Volglijst wissen",
        "watchlisttools-view": "Relevante wijzigingen bekijken",
index 18d96f8..d8db86b 100644 (file)
@@ -15,7 +15,7 @@
                ]
        },
        "tog-underline": "ତଳେ ଥିବା ଲିଙ୍କ:",
-       "tog-hideminor": "à¬\9bà­\8bà¬\9fମà­\8bà¬\9f à¬¨à¬\97ଦ ବଦଳସବୁକୁ ଲୁଚାଇବେ",
+       "tog-hideminor": "ନିà¬\95à¬\9fରà­\87 à¬¹à­\8bà¬\87ଥିବା à¬\9bà­\8bà¬\9f ବଦଳସବୁକୁ ଲୁଚାଇବେ",
        "tog-hidepatrolled": "ନଗଦ ବଦଳରେ ଥିବା ଜଗାହୋଇଥିବା ବଦଳ ସବୁକୁ ଲୁଚାଇବେ",
        "tog-newpageshidepatrolled": "ନୂଆ ପୃଷ୍ଠାତାଲିକାରୁ ଜଗାହୋଇଥିବା ବଦଳସବୁକୁ ଲୁଚାଇବେ",
        "tog-extendwatchlist": "କେବଳ ନଗଦ ହିଁ ନୁହେଁ, ସବୁଯାକ ବଦଳକୁ ଦେଖାଇବା ପାଇଁ ଦେଖଣାତାଲିକାକୁ ପୂରା ଦେଖାଇବେ",
        "passwordreset-capture-help": "ଯଦି ଆପଣ ଘରଟିକୁ ଦେଖନ୍ତି ତେବେ (ଅସ୍ଥାୟୀ ପାସୱାର୍ଡ଼ ସହିତ) ଇ-ମେଲଟି ଆପଣଙ୍କୁ ଦେଖାଯିବ ଓ ବାକି ସଭ୍ୟମାନଙ୍କୁ ଚାଲିଯିବ ।",
        "passwordreset-email": "ଇ-ମେଲ ଠିକଣା:",
        "passwordreset-emailtitle": "{{SITENAME}} ର ଖାତା ସବିଶେଷ",
-       "passwordreset-emailtext-ip": "କେହି ଜଣେ (ବୋଧେ ଆପଣ, $1 IP ଠିକଣାରୁ) \n{{SITENAME}} ($4) ସାଇଟରେ ଥିବା ଆପଣଙ୍କ ଖାତାର ସବିଶେଷ ଜାଣିବାକୁ ଅନୁରୋଧ କରିଛନ୍ତି । ଏହି ଇମେଲ ଠିକଣା ସହିତ ତଳଲିଖିତ ବ୍ୟବହାରକାରୀଙ୍କ {{PLURAL:$3|ଖାତା|ଖାତାସମୂହ}} ଯୋଡ଼ା:\n\n$2\n\n{{PLURAL:$3|ଏହି ଅସ୍ଥାୟୀ ପାସୱାର୍ଡ଼ଟି|ଏହି ଅସ୍ଥାୟୀ ପାସୱାର୍ଡ଼ସବୁ}} {{PLURAL:$5|ଦିନକରେ|$5 ଦିନରେ ଅଚଳ}} ହୋଇଯିବ ।\nଆପଣ ଏବେ ଲଗ ଇନ କରି ନୂଆ ପାସୱାର୍ଡ଼ଟିଏ ବାଛନ୍ତୁ । ଯହି ଆଉ କେହି ଜଣେ ଏହି ଅନୁରୋଧ କରିଥାନ୍ତି\nକିମ୍ବା ଆପଣ ଏବେ ନିଜର ମୂଳ ପାସୱାର୍ଡ଼ ମନେ ପକାଇ ପାରିଥାନ୍ତି ତେବେ ଏହି ପାସୱାର୍ଡ଼ଟିକୁ ଆଉ ବଦଳାଇବା ଲୋଡ଼ା ନାହିଁ ।\nଆପଣ ନିଜ ପୁରୁଣା ପାସୱାର୍ଡ଼ଟି ଆଗପରି ବ୍ୟବହାର କରିପାରନ୍ତି ।",
-       "passwordreset-emailtext-user": "{{SITENAME}}ରେ ଥିବା ବ୍ୟବହାରକାରୀ $1 {{SITENAME}} ($4) ସାଇଟରେ ଥିବା ଆପଣଙ୍କ ଖାତାର ସବିଶେଷ ଜାଣିବାକୁ ଅନୁରୋଧ କରିଛନ୍ତି । ଏହି ଇମେଲ ଠିକଣା ସହିତ ତଳଲିଖିତ ବ୍ୟବହାରକାରୀଙ୍କ {{PLURAL:$3|ଖାତା|ଖାତାସମୂହ}} ଯୋଡ଼ା:\n\n$2\n\n{{PLURAL:$3|ଏହି ଅସ୍ଥାୟୀ ପାସୱାର୍ଡ଼ଟି|ଏହି ଅସ୍ଥାୟୀ ପାସୱାର୍ଡ଼ସବୁ}} {{PLURAL:$5|ଦିନକରେ|$5 ଦିନରେ ଅଚଳ}} ହୋଇଯିବ ।\nଆପଣ ଏବେ ଲଗ ଇନ କରି ନୂଆ ପାସୱାର୍ଡ଼ଟିଏ ବାଛନ୍ତୁ । ଯହି ଆଉ କେହି ଜଣେ ଏହି ଅନୁରୋଧ କରିଥାନ୍ତି\nକିମ୍ବା ଆପଣ ଏବେ ନିଜର ମୂଳ ପାସୱାର୍ଡ଼ ମନେ ପକାଇ ପାରିଥାନ୍ତି ତେବେ ଏହି ପାସୱାର୍ଡ଼ଟିକୁ ଆଉ ବଦଳାଇବା ଲୋଡ଼ା ନାହିଁ ।\nଆପଣ ନିଜ ପୁରୁଣା ପାସୱାର୍ଡ଼ଟି ଆଗପରି ବ୍ୟବହାର କରିପାରନ୍ତି ।",
+       "passwordreset-emailtext-ip": "କେହିଜଣେ (ବୋଧେ ଆପଣ, $1 IP addressରୁ) {{SITENAME}} ($4)ରେ ପାସୱାର୍ଡ଼ ରି-ସେଟ କରିବା ପାଇଁ ଅନୁରୋଧ କରିଛନ୍ତି । ଉକ୍ତ ଇମେଲ ଠିକଣା ସହିତ ଏହି {{PLURAL:$3|ସଭ୍ୟ ଖାତାଟି|ସଭ୍ୟ ଖାତାମାନ}} ସମ୍ବନ୍ଧିତ:\n\n$2\n\n{{PLURAL:$3|ଏହି ଅସ୍ଥାୟୀ ପାସୱାର୍ଡ଼ଟି|ଏହି ଅସ୍ଥାୟୀ ପାସୱାର୍ଡ଼ମାନ}} {{PLURAL:$5|ଦିନକ|$5 ଦିନ}}ରେ ଅଚଳ ହୋଇଯିବ ।\nଆପଣ ଏବେ ଲଗ ଇନ କରି ନୂଆ ପାସୱାର୍ଡ଼ଟିଏ ବାଛନ୍ତୁ । ଯଦି ଆଉ କେହି ଏହି ଅନୁରୋଧ କରିଥାନ୍ତି କିମ୍ବା ନିଜର ପୁରୁଣା ପାସୱାର୍ଡ଼ଟି ମନେପଡ଼ିଲା, ଏବଂ ଆଉ ପାସୱାର୍ଡ଼ଟି ବଦଳାଇବାକୁ ଚାହୁଁନାହାଁନ୍ତି ତାହେଲେ ଏହି ମେଲଟିକୁ ଅଣଦେଖା କରି ନିଜର ପୁରୁଣା ପାସୱାର୍ଡ଼ ବ୍ୟବହାର କରନ୍ତୁ ।",
+       "passwordreset-emailtext-user": "$1 ନାମକ ସଭ୍ୟଜଣକ {{SITENAME}}ରେ {{SITENAME}} ($4) ପାଇଁ ଆପଣଙ୍କ ପାସ ୱାର୍ଡ଼ ରିସେଟ କରିବାର ଅନୁରୋଧ କରିଛନ୍ତି । ତଳ {{PLURAL:$3|ଖାତାଟି|ଖାତାମାନ}} ଉକ୍ତ ଇମେଲ ସହିତ ସମ୍ବନ୍ଧିତ:\n\n$2\n\n{{PLURAL:$3|ଏହି ଅସ୍ଥାୟୀ ପାସୱାର୍ଡ଼ଟି|ଏହି ଅସ୍ଥାୟୀ ପାସୱାର୍ଡ଼ମାନ}} {{PLURAL:$5|ଦିନକ|$5 ଦିନ}}ରେ ଅଚଳ ହୋଇଯିବ ।\nଆପଣ ଲଗ ଇନ କରି ନୂଆ ପାସୱାର୍ଡ଼ଟିଏ ବାଛନ୍ତୁ । ଯଦି ଆଉ କେହି ଏହି ଅନୁରୋଧଟି କରିଥାନ୍ତି କିମ୍ବା ଆପଣଙ୍କର ନିଜ ପୁରୁଣା ପାସୱାର୍ଡ଼ଟି ମନେପଡ଼ିଗଲା ତେବେ ଆପଣଙ୍କୁ ଆଉ ପାସୱାର୍ଡ଼ ବଦଳାଇବାର ଆବଶ୍ୟକତା ନାହିଁ । ଆପଣ ଏହି ମେସେଜଟିକୁ ଅଣଦେଖା କରି ନିଜର ପୁରୁଣା ପାସୱାର୍ଡ଼ ବ୍ୟବହାର କରୁଥାନ୍ତୁ ।",
        "passwordreset-emailelement": "ଇଉଜର ନାମ: $1\nଅସ୍ଥାୟୀ ପାସୱାର୍ଡ଼: $2",
        "passwordreset-emailsent": "ଏକ ପାସୱାର୍ଡ଼ ପୁନଃସ୍ଥାପନ ଇମେଲ ପଠାଇଦିଆଯାଇଅଛି ।",
        "passwordreset-emailsent-capture": "ତଳେ ଦେଖାଯାଉଥିବା ଭଳି, ପାସୱାର୍ଡ଼ ପୁନଃସ୍ଥାପନ ଇମେଲଟିଏ ପଠାଇଦିଆଯାଇଛି ।",
-       "passwordreset-emailerror-capture": "à¬\97à­\8bà¬\9fିà¬\8f à¬®à¬¨à­\87ପà¬\95ାà¬\87ବା à¬\87-ମà­\87ଲ à¬¤à¬¿à¬\86ରି à¬\95ରାଯାà¬\87ଥିଲା, à¬¯à¬¾à¬¹à¬¾à¬\95ି à¬¤à¬³à­\87 à¬\85à¬\9bି, à¬\95ିନà­\8dତà­\81 à¬\8fହାà¬\95à­\81 à¬¬à­\8dà­\9fବହାରà¬\95ାରà­\80à¬\95à­\81 à¬ªà¬ à¬¾à¬\87ବାରà­\87 à¬\85ସଫଳ à¬¹à­\87ଲା :$1",
+       "passwordreset-emailerror-capture": "ପାସୱାରà­\8dଡ଼ à¬¬à¬¦à¬³à¬¾à¬\87ବା à¬¸à­\82à¬\9aନା à¬¸à¬¹ à¬\87ମà­\87ଲà¬\9fିà¬\8f à¬¤à¬¿à¬\86ରି à¬¹à­\8bà¬\87à¬\9bି, à¬¯à¬¾à¬¹à¬¾ à¬¤à¬³à­\87 à¬¦à­\87à¬\96ିପାରିବà­\87 à¥¤ à¬\95ିନà­\8dତà­\81 à¬\8fହାà¬\95à­\81 {{GENDER:$2|ସଭà­\8dà­\9f}}à¬\99à­\8dà¬\95à­\81 à¬ªà¬ à¬¾à¬\87ବାରà­\87 à¬¬à¬¿à¬«à¬³ à¬¹à­\87ଲà­\81, à¬\95ାରଣ: $1",
        "changeemail": "ଇ-ମେଲ ଠିକଣା ବଦଳାଇବେ",
        "changeemail-header": "ଖାତା ଇ-ମେଲ ଠିକଣା ବଦଳାଇବେ",
        "changeemail-text": "ଆପଣା ଇ-ମେଲ ଠିକଣା ବଦଳାଇବା ନିମନ୍ତେ ଏହି ଆବେଦନ ପତ୍ରଟି ପୂରଣ କରନ୍ତୁ । ଆପଣଙ୍କୁ ଏହି ବଦଳ ଥୟ କରିବା ପାଇଁ ନିଜର ପାସୱାର୍ଡ଼ ଦେବାକୁ ପଡ଼ିବ ।",
        "changeemail-password": "ଆପଣଙ୍କ {{SITENAME}} ପାସୱାର୍ଡ",
        "changeemail-submit": "ଇ-ମେଲ ପରିର୍ବତ୍ତନ କରନ୍ତୁ",
        "changeemail-cancel": "ନାକଚ",
+       "changeemail-throttled": "ଆପଣ ଏକାଧିକ ଥର ଲଗ ଇନ କରିବାକୁ ଚେଷ୍ଟା କରିଥାଇପାରନ୍ତି ।\nଆଉଥରେ ଚେଷ୍ଟା କରିବା ଆଗରୁ ଦୟାକରି $1 ଅପେକ୍ଷା କରନ୍ତୁ ।",
+       "resettokens": "ଟୋକନ ରିସେଟ କରନ୍ତୁ",
+       "resettokens-no-tokens": "ରିସେଟ କରିବା ପାଇଁ ଆଉ ଟୋକନ ନାହିଁ ।",
+       "resettokens-legend": "ଟୋକନ ରିସେଟ କରନ୍ତୁ",
+       "resettokens-tokens": "ଟୋକନମାନ:",
+       "resettokens-token-label": "$1 (ବର୍ତ୍ତମାନ: $2)",
+       "resettokens-done": "ଟୋକନ ରିସେଟ ହେଲା ।",
+       "resettokens-resetbutton": "ବଛାଯାଇଥିବା ଟୋକନ ରିସେଟ କରନ୍ତୁ",
        "bold_sample": "ମୋଟା ଲେଖା",
        "bold_tip": "ମୋଟା ଲେଖା",
        "italic_sample": "ତେରେଛା ଲେଖା",
        "hr_tip": "ସମାନ୍ତରାଳ ରେଖା (ବେଳେବେଳେ ବ୍ୟବହାର କରିବେ)",
        "summary": "ସାରକଥା:",
        "subject": "ବିଷୟ/ଶିରୋନାମା",
-       "minoredit": "à¬\8fହା à¬\96à­\81ବ à¬\9bà­\8bà¬\9f à¬¬à¬¦à¬³à¬\9fିà¬\8f",
+       "minoredit": "à¬\8fହା à¬\8fà¬\95 à¬¸à¬¾à¬®à¬¾à¬¨à­\8dà­\9f à¬¸à¬®à­\8dପାଦନା",
        "watchthis": "ଏହି ପୃଷ୍ଠାଟିକୁ ଦେଖିବେ",
        "savearticle": "ସାଇତିବେ [Save]",
        "preview": "ସାଇତିବା ଆଗରୁ ଦେଖନ୍ତୁ",
        "loginreqlink": "ଲଗ-ଇନ (Log in)",
        "loginreqpagetext": "ବାକି ପୃଷ୍ଠାମାନ ଦେଖିବା ନିମନ୍ତେ ଆପଣଙ୍କୁ $1 କରିବାକୁ ପଡ଼ିବ ।",
        "accmailtitle": "ପାସୱାର୍ଡ଼ଟି ପଠାଇ ଦିଆଗଲା ।",
-       "accmailtext": "[[User talk:$1|$1]]ଙ୍କ ନିମନ୍ତେ ଏକ ଯାହିତାହି ପାସୱାର୍ଡ଼ $2ଙ୍କ ନିକଟକୁ ପଠାଗଲା ।\n\nଏହି ପାସୱାର୍ଡ଼ଟି ''[[Special:ChangePassword|ପାସୱାର୍ଡ଼ ବଦଳାଇବା]]'' ପୃଷ୍ଠାରେ ଲଗଇନ କରି କରାଯାଇପାରିବ ।",
+       "accmailtext": "[[User talk:$1|$1]] ପାଇଁ $2କୁ ଏକ ଆପେ ଆପେ ତିଆରି ପାସୱାର୍ଡ଼ ପଠାଗଲା । ଏହା ଲଗ ଇନ କଲା ପରେ<em>[[Special:ChangePassword|ପାସୱାର୍ଡ଼ ବଦଳ]]</em> ପୃଷ୍ଠାରେ ବଦଳାଯାଇପାରିବ ।",
        "newarticle": "(ନୁଆ)",
        "newarticletext": "ଆପଣ ଖୋଲିଥିବା ଲିଙ୍କଟିରେ ଏଯାଏଁ କିଛିବି ପୃଷ୍ଠା ନାହିଁ ।\nଏହି ପୃଷ୍ଠାଟିକୁ ତିଆରି କରିବା ପାଇଁ ତଳ ବାକ୍ସରେ ଟାଇପ କରନ୍ତୁ (ଅଧିକ ଜାଣିବା ପାଇଁ [$1 ସାହାଯ୍ୟ ପୃଷ୍ଠା] ଦେଖନ୍ତୁ) ।\nଯଦି ଆପଣ ଏଠାକୁ ଭୁଲରେ ଆସିଯାଇଥାନ୍ତି ତେବେ ଆପଣଙ୍କ ବ୍ରାଉଜରର '''Back''' ପତିଟି ଦବାନ୍ତୁ ।",
        "anontalkpagetext": "----''ଏହା ଏକ ଖାତା ଖୋଲିନଥିବା ବା ଖାତା ବ୍ୟବହାର କରିନଥିବା ଜଣେ ବେନାମି ସଭ୍ୟଙ୍କର ଆଲୋଚନା ପୃଷ୍ଠା ।''\nତେଣୁ ଆମ୍ଭେ ସଂଖ୍ୟା ଦେଇ ସୂଚୀତ IP ଠିକଣା ଦେଇ ତାଙ୍କୁ ଜାଣିବା ।\nଏହି ପ୍ରକାରର ଗୋଟିଏ IP ଠିକଣା ବହୁ ସଭ୍ୟଙ୍କ ଦେଇ ବ୍ୟବହାର କରାଯାଇପାରେ । \nଯଦି ଆପଣ ଜଣେ ଅଜଣା ସଭ୍ୟ ଓ ଭାବୁଛନ୍ତି ଇଆଡୁ ସିଆଡୁ ମତାମତ ସବୁ ଆପଣଙ୍କ ପାଇଁ ଦିଆଯାଇଛି ତେବେ ଦୟାକରି [[Special:UserLogin/signup|ନୂଆ ଖାତାଟିଏ ଖୋଲନ୍ତୁ]] କିମ୍ବା [[Special:UserLogin|ଆଗରୁ ଥିବା ଖାତାରେ ଲଗ ଇନ କରନ୍ତୁ]] ଯାହା ବେନାମି ସଭ୍ୟଙ୍କୁ ନେଇ ଉପୁଜିଥିବା ଦ୍ଵନ୍ଦର ସମାଧାନ କରିବ ।",
        "edit-gone-missing": "ଏହି ପୃଷ୍ଠାଟିକୁ ସତେଜ କରାଯାଇପାରିବ ନାହିଁ ।\nଏହାକୁ ଲିଭାଇ ଦିଆଗଲା ପରି ମନେ ହେଉଛି ।",
        "edit-conflict": "ବଦଳାଇବା ଦ୍ଵନ୍ଦ.",
        "edit-no-change": "ଆପଣଙ୍କ ସମ୍ପାଦନାକୁ ଅଣଦେଖା କରାଗଲା, କାରଣ ଲେଖାରେ କିଛି ବି ବଦଳ କରାଯାଇନଥିଲା ।",
+       "postedit-confirmation-created": "ଏହି ପୃଷ୍ଠାଟି ତିଆରି କରାଗଲା ।",
+       "postedit-confirmation-restored": "ଏହି ପୃଷ୍ଠାଟି ପୁନସ୍ଥାପନ କରାଗଲା ।",
        "postedit-confirmation-saved": "ଆପଣଙ୍କ ବଦଳ ସାଇତା ଗଲା ।",
        "edit-already-exists": "ନୂଆ ପୃଷ୍ଠାଟିଏ ତିଆରି କରିପାରିଲୁଁ ନାହିଁ ।\nଏହା ଆଗରୁ ଅଛି ।",
        "defaultmessagetext": "ଡିଫଲ୍ଟ ମେସେଜ ଲେଖାଗୁଡିକ",
        "content-failed-to-parse": "$1 ପ୍ରକାର ପାଇଁ $2 ଲେଖାକୁ ବର୍ଣ୍ଣନା କରିପାରିଲା ନାହିଁ: $3",
        "invalid-content-data": "ଅବୈଧ ଆଧାର ତଥ୍ୟ",
        "content-not-allowed-here": "\"$1\" ବିଷୟଗୁଡିକ [[$2]]ପୃଷ୍ଠାରେ ରହିପାରିବ ନାହିଁ",
-       "editwarning-warning": "ଏହି ପୃଷ୍ଠାକୁ ଛାଡ଼ି ଚାଲିଗଲେ ହୁଏ ତ ଆପଣ କରିଥିବା କିଛି ସମ୍ପାଦନା ହରାଇ ପାରନ୍ତି ।\nଯଦି ଆପଣ ଲଗ ଇନ କରିଥାନ୍ତି ତେବେ ଆପଣଙ୍କ ପସନ୍ଦର \"ସମ୍ପାଦନା\" ଭାଗରେ ଏହି ଚେତାବନୀଟିକୁ ଅଚଳ କରିପାରିବେ ।",
+       "editwarning-warning": "ଏହି ପୃଷ୍ଠାଟି ଛାଡ଼ି ଚାଲିଗଲେ ଆପଣ ଆଗରୁ କରିଥିବା ସମ୍ପାଦନା ହରାଇବେ । ଯଦି ଆପଣ ଲଗ ଇନ କରିଥାନ୍ତି ନିଜ ପସନ୍ଦ ପୃଷ୍ଠାର \"{{int:prefs-editing}}\" ବିଭାଗରେ ଏହି ଚେତାବନୀଟି ନିଷ୍କ୍ରିୟ କରିପାରିବେ ।",
+       "editpage-notsupportedcontentformat-title": "କଣ୍ଟେଣ୍ଟର ସଂରଚନା ସମର୍ଥିତ ନୁହେଁ",
        "content-model-wikitext": "ଉଇକିଟେକ୍ସଟ",
        "content-model-text": "ଖାଲି ଲେଖା",
        "content-model-javascript": "ଜାଭାସ୍କ୍ରିପ୍ଟ",
        "undo-success": "ଏହି ସମ୍ପାଦନା ପଛକୁ ଫେରାଯାଇପାରିବ ନାହିଁ ।\nଦୟାକରି ତୁଳନା କରି ପରଖିନିଅନ୍ତୁ ଯେ ଆପଣ ଏହାହିଁ କରିବାକୁ ଚାହୁଁଥିଲେ, ଆଉ ସମ୍ପାଦନା ଶେଷ କରିବା ପାଇଁ ତଳେ ଥିବା ବଦଳ ସାଇତି ରଖନ୍ତୁ ।",
        "undo-failure": "ଏହି ସମ୍ପାଦନା ପଛକୁ ଫେରାଯାଇ ପାରିବ ନାହିଁ କାରଣ ମଝିରେ ଘଟିଥିବା ଅନେକ ଛୋଟ ଛୋଟ ବଦଳ ଅସୁବିଧା ତିଆରି କରୁଅଛି ।",
        "undo-norev": "ଏହି ସମ୍ପାଦନାଟି ପଛକୁ ଫେରାଯାଇପାରିବ ନାହିଁ କାରଣ ଏହା ଆଉ ନାହିଁ ବା ଲିଭାଇଦିଆଯାଇଅଛି ।",
+       "undo-nochange": "ଏହି ସମ୍ପାଦନା ପଛକୁ ଫେରାଇଦିଆଯାଇଥିବା ଭଳି ଲାଗୁଛି ।",
        "undo-summary": "[[Special:Contributions/$2|$2]] ([[User talk:$2|ଆଲୋଚନା]]) ଙ୍କ ଦେଇ କରାଯାଇଥିବା $1 ସଙ୍କଳନଟି ପଛକୁ ଫେରାଇନିଆଗଲା",
+       "undo-summary-username-hidden": "ଜଣେ ଅଜଣା ସଭ୍ୟଙ୍କ ଦେଇ ହୋଇଥିବା $1 ସଂସ୍କରଣଟି ପଛକୁ ଫେରାନ୍ତୁ",
        "cantcreateaccounttitle": "ଖାତାଟିଏ ତିଆରି କରାଯାଇପାରିବ ନାହିଁ",
        "cantcreateaccount-text": "[[User:$3|$3]]ଙ୍କ ଦେଇ ('''$1''') IP ଠିକଣାରୁ ଖାତା ଖୋଲିବାକୁ ବାରଣ କରାଯାଇଅଛି ।\n\n$3ଙ୍କ ଦେଇ ଦିଆଯାଇଥିବା କାରଣ ହେଲା ''$2''",
        "viewpagelogs": "ଏହି ପୃଷ୍ଠା ପାଇଁ ଲଗଗୁଡ଼ିକୁ ଦେଖନ୍ତୁ ।",
        "revdelete-confirm": "ଦୟାକରି ଥୟ କରନ୍ତୁ ଯେ ଆପଣ ଏହା କରିବାକୁ ଚାହୁଁଛନ୍ତି, ଆପଣ ଏହାର ପରିଣାମ ଜାଣନ୍ତି ଓ ଆପଣ [[{{MediaWiki:Policy-url}}|ନୀତି]] ଅନୁସାରେ ଏହା କରୁଛନ୍ତି ।",
        "revdelete-suppress-text": "ଦବାଇ ରଖିବା '''କେବଳ''' ଏହି ତଳଲିଖିତ କ୍ଷେତ୍ରରେ ବ୍ୟବହାର କରାଯିବ:\n* ସମ୍ଭାବିତ ଅପମାନଜଣକ ତଥ୍ୟ\n* ଭୁଲ ବ୍ୟକ୍ତିଗତ ତଥ୍ୟ\n*: ''ଘର ଠିକଣା ଓ ଟେଲିଫୋନ ନମ୍ବର, ଭୋଟର ପରିଚୟ ନମ୍ବର, ଆଦି''",
        "revdelete-legend": "ଦେଖଣା ବାରଣ ସବୁ ଥୟ କରନ୍ତୁ",
-       "revdelete-hide-text": "ସà¬\99à­\8dà¬\95ଳନ à¬²à­\87à¬\96ା à¬²à­\81à¬\9aାà¬\87ଦିà¬\85ନà­\8dତà­\81",
+       "revdelete-hide-text": "ସà¬\82ସà­\8dà¬\95ରଣ à¬²à­\87à¬\96ା",
        "revdelete-hide-image": "ଫାଇଲ ଭିତର ପଦାର୍ଥସବୁ ଲୁଚାଇଦିଅନ୍ତୁ",
        "revdelete-hide-name": "କାମ ଓ ଲକ୍ଷ ସବୁ ଲୁଚାଇଦିଅନ୍ତୁ",
-       "revdelete-hide-comment": "ବଦଳ à¬¸à¬¾à¬°à¬\95ଥା à¬²à­\81à¬\9aାà¬\87ଦିà¬\85ନ୍ତୁ",
-       "revdelete-hide-user": "ସମà­\8dପାଦà¬\95à¬\99à­\8dà¬\95ର à¬\87à¬\89à¬\9cର ନାମ /IP ଲୁଚାଇଦିଅନ୍ତୁ",
+       "revdelete-hide-comment": "ସାରà¬\95ଥା à¬¸à¬®à­\8dପାଦନା à¬\95ରନ୍ତୁ",
+       "revdelete-hide-user": "ସମà­\8dପାଦà¬\95à¬\99à­\8dà¬\95ର à¬¸à¬­à­\8dà­\9f ନାମ /IP ଲୁଚାଇଦିଅନ୍ତୁ",
        "revdelete-hide-restricted": "ପରିଚାଳକ ଓ ବାକିମାନଙ୍କ ଠାରୁ ତଥ୍ୟକୁ ଦବାଇଦିଅନ୍ତୁ",
        "revdelete-radio-same": "(ବଦଳାନ୍ତୁ ନାହିଁ)",
        "revdelete-radio-set": "ଲୁଚାଯାଇଛି",
        "badsig": "ମୂଳ ସନ୍ତକଟି ଅଚଳ ଅଟେ ।\nHTML ଟାଗ ପରଖିନିଅନ୍ତୁ ।",
        "badsiglength": "ଆପଣଙ୍କ ସନ୍ତକଟି ଖୁବ ଲମ୍ବା ।\nଏହା ବୋଧ ହୁଏ $1 {{PLURAL:$1|ଗୋଟି ଅକ୍ଷର|ଗୋଟି ଅକ୍ଷର}}ରୁ ଅଧିକ ।",
        "yourgender": "ଲିଙ୍ଗ:",
-       "gender-unknown": "ଲà­\81à¬\9aାଯାà¬\87ଥିବା",
-       "gender-male": "ପà­\81ରà­\81ଷ",
-       "gender-female": "ନାରà­\80",
-       "prefs-help-gender": "à¬\87à¬\9aà­\8dà¬\9bାଧିନ: à¬¸à¬«à­\8dà¬\9fà­±à­\87ରରà­\87 à¬²à¬¿à¬\99à­\8dà¬\97ବାà¬\9aà¬\95 à¬¸à¬®à­\8dବà­\8bଧନ à¬¨à¬¿à¬®à¬¨à­\8dତà­\87 à¬¬à­\8dà­\9fବହାର à¬\95ରାଯାà¬\87ଥାà¬\8f à¥¤\nà¬\8fହି à¬¤à¬¥à­\8dà­\9f à¬¸à¬¾à¬§à¬¾à¬°à¬£à¬°à­\87 à¬ªà­\8dରà¬\95ାଶିତ ।",
+       "gender-unknown": "à¬\9cଣାà¬\87ବାà¬\95à­\81 à¬\9aାହà­\87à¬\81 à¬¨à¬¾à¬¹à¬¿à¬\81",
+       "gender-male": "ସà­\87 (ପà­\81ରà­\81ଷ) à¬\89à¬\87à¬\95ିପà­\83ଷà­\8dଠା à¬¸à¬®à­\8dପାଦନା à¬\95ରନà­\8dତି",
+       "gender-female": "ସà­\87 (ନାରà­\80) à¬\89à¬\87à¬\95ିପà­\83ଷà­\8dଠା à¬¸à¬®à­\8dପାଦନା à¬\95ରନà­\8dତି",
+       "prefs-help-gender": "à¬\8fହି à¬ªà¬¸à¬¨à­\8dଦ à¬\87à¬\9aà­\8dà¬\9bାଧà­\80ନ à¥¤\nà¬\86ମର à¬¸à¬«à­\8dà¬\9fୱାର à¬\86ପଣà¬\99à­\8dà¬\95à­\81 à¬¸à¬®à­\8dବà­\8bଧନ à¬\95ଲାବà­\87ଳà­\87 à¬²à¬¿à¬\99à­\8dà¬\97ବାà¬\9aà¬\95 à¬¶à¬¬à­\8dଦ à¬¬à­\8dà­\9fବହାର à¬\95ରିଥାà¬\8f à¥¤\nà¬\8fହି à¬¸à­\82à¬\9aନା à¬¸à¬®à¬¸à­\8dତà­\87 à¬ªà¬¢à¬¼à¬¿à¬ªà¬¾à¬°à¬¿à¬¬à­\87 ।",
        "email": "ଇ-ମେଲ",
        "prefs-help-realname": "ପ୍ରକୃତ ନାମ ଦେବା ଆପଣଙ୍କ ଉପରେ ନିର୍ଭର କରେ ।\nଯଦି ଆପଣ ଏହା ଦିଅନ୍ତି, ତେବେ ଏହା ଆପଣଙ୍କ କାମ ପାଇଁ ଶ୍ରେୟ ଦେବାରେ ବ୍ୟବହାର କରାଯାଇପାରିବ ।",
        "prefs-help-email": "ଇ-ମେଲ ଠିକଣାଟି ଇଚ୍ଛାଧୀନ, କିନ୍ତୁ ଆପଣ ଯଦି ପାସୱାର୍ଡ଼ଟି ଭୁଲିଗଲେ ତାହା ଆଉଥରେ ତିଆରିବା ପାଇଁ ଏହା କାମରେ ଲାଗିବ ।",
        "right-move": "ପୃଷ୍ଠାସବୁ ଘୁଞ୍ଚେଇବା",
        "right-move-subpages": "ପୃଷ୍ଠା ସହିତ ସେମାନଙ୍କର ସାନପୃଷ୍ଠାସବୁକୁ ଘୁଞ୍ଚାଇଦେବେ",
        "right-move-rootuserpages": "ମୂଳ ସଭ୍ୟ ପୃଷ୍ଠାସବୁକୁ ଘୁଞ୍ଚାଇଦେବେ",
+       "right-move-categorypages": "ଶ୍ରେଣୀମାନଙ୍କୁ ଘୁଞ୍ଚାନ୍ତୁ",
        "right-movefile": "ଫାଇଲସବୁକୁ ଘୁଞ୍ଚାଇଦେବେ",
        "right-suppressredirect": "ପୃଷ୍ଠାସବୁକୁ ଘୁଞ୍ଚାଇବା ବେଳେ ମୂଳ ପୃଷ୍ଠାର ଫେରନ୍ତା ପୃଷ୍ଠା ତିଆରି କରିବେ ନାହିଁ",
        "right-upload": "ଫାଇଲ ଅପଲୋଡ଼ କରିବେ",
        "right-reupload-shared": "ବଣ୍ଟାଯାଇଥିବା ସ୍ଥାନୀୟ ମାଧ୍ୟମ ଭଣ୍ଡାରର ଫାଇଲ ଗୁଡ଼ିକ ଭରିଦେବେ",
        "right-upload_by_url": "ଏକ URLରୁ ଫାଇଲ ଅପଲୋଡ଼ କରିବେ",
        "right-purge": "ଥୟ କରିବା ବିନା ପୃଷ୍ଠାର ସାଇଟ ଅସ୍ଥାୟୀ ସ୍ମୃତିକୁ ସତେଜ କରିବେ",
-       "right-autoconfirmed": "ଅଧା-କିଳାଯାଇଥିବା ପୃଷ୍ଠାସବୁକୁ ବଦଳାଇବେ",
+       "right-autoconfirmed": "IP-ସମ୍ବନ୍ଧିତ ରେଟ ଲିମିଟ ଦ୍ୱାରା ପ୍ରଭାବିତ ହେବେନାହିଁ",
        "right-bot": "ଏକ ଆପେଆପେ ହେବା ପ୍ରକ୍ରିୟା ଭାବରେ ଗଣିବେ",
        "right-nominornewtalk": "ଆଲୋଚନା ପୃଷ୍ଠାସବୁରେ ଛୋଟ ଛୋଟ ବଦଳ ହେଲେ ତାହା ନୂଆ ଚିଟାଉ ପଠାଇବ",
        "right-apihighlimits": "API ଖୋଜାର ସର୍ବାଧିକ ସୀମା ବ୍ୟବହାର କରିବେ",
        "right-hideuser": "ସାଧାରଣରୁ ଲୁଚାଇ ଏକ ଇଉଜର ନାମକୁ ଅଟକାଇବେ",
        "right-ipblock-exempt": "IP ଅଟକ, ଆପେଆପେ-ଅଟକ ଓ ସୀମା ଅଟକସବୁକୁ ଅଲଗା ଦିଗଗାମୀ କରିବେ",
        "right-proxyunbannable": "ପ୍ରକ୍ସିର ଆପେଆପେ ହେଉଥିବା ଅଟକସବୁକୁ ଅଲଗା ଦିଗଗାମୀ କରିବେ",
-       "right-unblockself": "ସà­\87ମାନà¬\99à­\8dà¬\95à­\81 à¬\85à¬\9fà¬\95ରà­\81 à¬¬à¬¾à¬¹à¬¾à¬° କରିବେ",
-       "right-protect": "à¬\95ିଳିବା à¬¸à­\8dତରà¬\95à­\81 à¬¬à¬¦à¬³à¬¾à¬\87ବà­\87 à¬\93 à¬\95ିଳାଯାà¬\87ଥିବା à¬ªà­\83ଷà­\8dଠାମାନà¬\99à­\8dà¬\95ର à¬¸à¬®à­\8dପାଦନା à¬\95ରିବà­\87",
+       "right-unblockself": "à¬\9cଣà¬\99à­\8dà¬\95à­\81 à¬\85à¬\9fà¬\95ରà­\81 à¬\9aାଡ଼କରିବେ",
+       "right-protect": "ନିରାପତà­\8dତା à¬¬à¬¢à¬¼à¬¾à¬\87 à¬\95à­\8dà­\9fାସà¬\95à­\87ଡ଼-ନିରାପତà­\8dତା à¬ªà­\83ଷà­\8dଠାମାନà¬\99à­\8dà¬\95à­\81 à¬¬à¬¦à¬³à¬¾à¬¨à­\8dତà­\81",
        "right-editprotected": "କିଳାଯାଇଥିବା ପୃଷ୍ଠାମାନଙ୍କର ସମ୍ପାଦନା କରିବେ (କ୍ୟାସକେଡ଼କରା କିଳଣା ବିନା)",
        "right-editinterface": "ସଭ୍ୟଙ୍କ ଇଣ୍ଟରଫେସ ବଦଳାଇବେ",
        "right-editusercssjs": "ବାକି ସଭ୍ୟମାନଙ୍କର CSS ଓ ଜାଭାସ୍କ୍ରିପ୍ଟ ଫାଇଲ ସବୁକୁ ବଦଳାଇବେ",
        "action-protect": "ଏହି ପୃଷ୍ଠାର କିଳିବା ସ୍ତରକୁ ବଦଳାଇବେ",
        "action-rollback": "ଏକ ନିର୍ଦ୍ଦିଷ୍ଟ ପୃଷ୍ଠାକୁ ବଦଳାଇଥିବା ଶେଷ ସଭ୍ୟଙ୍କ ସମ୍ପାଦନାକୁ ସଙ୍ଗେସଙ୍ଗେ ପୁରାପୁରି ପଛକୁ ଫେରାଇଦେବେ",
        "action-import": "ଆଉ ଏକ ଉଇକିରୁ ଏହି ପୃଷ୍ଠାଟି ଆଣିବେ",
-       "action-importupload": "à¬\8fà¬\95 à¬«à¬¾à¬\87ଲ à¬\85ପଲà­\8bଡ଼ରà­\81 à¬\8fହି à¬ªà­\83ଷà­\8dଠାà¬\9fି ଆଣିବେ",
+       "action-importupload": "à¬\8fà¬\95 à¬«à¬¾à¬\87ଲ à¬\85ପଲà­\8bଡ଼ରà­\81 à¬ªà­\83ଷà­\8dଠାମାନ ଆଣିବେ",
        "action-patrol": "ବାକି ମାନଙ୍କ ବଦଳକୁ ଜଗାଯାଇଥିବା ବଦଳ ବୋଲି ଚିହ୍ନିତ କରିବେ",
        "action-autopatrol": "ଆପଣା ସମ୍ପାଦନାସବୁକୁ ଜଗାଯାଇଛି ବୋଲି ଚିହ୍ନିତ କରିବେ",
        "action-unwatchedpages": "ଦେଖାଯାଇନଥିବା ପୃଷ୍ଠାର ଏକ ତାଲିକା ଦେଖାଇବେ",
        "recentchanges-summary": "ଏହି ପୃଷ୍ଠାରେ ଏହି ଉଇକିରେ ନଗଦ ବଦଳର ନିଘା ରଖିବେ",
        "recentchanges-feed-description": "ଏହି ଉଇକିରେ ଏହି ଫିଡ଼ଟିର ନଗଦ ବଦଳ ଦେଖାଇବେ ।",
        "recentchanges-label-newpage": "ଏହି ସମ୍ପାଦନା ଯୋଗୁଁ ନୂଆ ପୃଷ୍ଠାଟିଏ ତିଆରି ହେଲା",
-       "recentchanges-label-minor": "à¬\8fହା à¬\96à­\81ବ à¬¸à¬¾à¬®à¬¾à¬¨à­\8dà­\9f à¬¸à¬®à­\8dପାଦନାà¬\9fିà¬\8f",
+       "recentchanges-label-minor": "à¬\8fହା à¬\8fà¬\95 à¬¸à¬¾à¬®à¬¾à¬¨à­\8dà­\9f à¬¸à¬®à­\8dପାଦନା",
        "recentchanges-label-bot": "ଏହି ବଦଳଟି ଜଣେ '''ବଟ'''ଙ୍କ ଦେଇ କରାଯାଇଥିଲା",
        "recentchanges-label-unpatrolled": "ଏହି ବଦଳଟିକୁ ଏ ଯାଏଁ ପରଖା ଯାଇନାହିଁ",
-       "rcnotefrom": "'''$2''' ପରର ବଦଳସବୁ ତଳେ ଦିଆଗଲା ('''$1''' ଯାଏଁ ଦେଖାଯାଇଛି) ।",
+       "rcnotefrom": "<strong>$2</strong> ପର ଠାରୁ (<strong>$1</strong> ଯାଏଁ ଏଠାରେ ଅଛି) ସମସ୍ତ ବଦଳ ତଳେ ଦେଖିପାରିବେ:",
        "rclistfrom": "$3 $2ରୁ ଆରମ୍ଭ କରି ନୂଆ ବଦଳଗୁଡ଼ିକ ଦେଖାଇବେ",
        "rcshowhideminor": "ଛୋଟମୋଟ ବଦଳ $1",
        "rcshowhideminor-show": "ଦେଖାଇବେ",
        "rc_categories_any": "ଯେ କୌଣସି",
        "rc-change-size-new": "ବଦଳପରେ $1 {{PLURAL:$1|byte|bytes}}",
        "newsectionsummary": "/* $1 */ ନୂଆ ଭାଗ",
-       "rc-enhanced-expand": "ପà­\81ରା à¬¦à­\87à¬\96ାà¬\87ବà­\87 (à¬\9cାଭାସà­\8dà¬\95à­\8dରିପà­\8dà¬\9f à¬¦à¬°à¬\95ାର)",
+       "rc-enhanced-expand": "ସବିଶà­\87ଷ à¬¦à­\87à¬\96ାନà­\8dତà­\81",
        "rc-enhanced-hide": "ବେଶି କଥାସବୁ ଲୁଚାଇଦିଅ",
        "rc-old-title": "ପ୍ରକୃତରେ \"$1\" ଭାବେ ତିଆରି କରାଯାଇକଥିଲା",
        "recentchangeslinked": "ଏଇମାତ୍ର ବଦଳାଯାଇଥିବା ପୃଷ୍ଠାର ଲିଙ୍କ",
        "reuploaddesc": "ଅପଲୋଡ଼କୁ ନାକଚ କରିବେ ଓ ଅପଲୋଡ଼ ଫର୍ମକୁ ଫେରିବେ",
        "upload-tryagain": "ବଦଳିଥିବ ଫାଇଲ ବଖାଣ ପଠାଇବା",
        "uploadnologin": "ଲଗ‌‌ ଇନ କରିନାହାନ୍ତି",
-       "uploadnologintext": "ଫାà¬\87ଲ à¬\85ପଲà­\8bଡ଼ à¬\95ରିବା à¬¨à¬¿à¬®à¬¨à­\8dତà­\87 à¬\86ପଣà¬\99à­\8dà¬\95à­\81 [[Special:UserLogin|ଲà¬\97 à¬\87ନ]] à¬\95ରିବାà¬\95à­\81 à¬ªà¬¡à¬¼à¬¿ବ ।",
+       "uploadnologintext": "à¬\85ପଲà­\8bଡ଼ à¬\95ରିବା à¬ªà¬¾à¬\87à¬\81 $1 à¬\95ରିବାà¬\95à­\81 à¬¹à­\87ବ ।",
        "upload_directory_missing": "ଅପଲୋଡ଼ ସୂଚି ($1)ଟି ମିଳୁନାହିଁ ଓ ୱେବସର୍ଭର ଦେଇ ତିଆରି କରାଯାଇପାରିଲା ନାହିଁ ।",
        "upload_directory_read_only": "ଅପଲୋଡ଼ ସୂଚି ($1)ଟି ସବୁ ୱେବସର୍ଭରରେ ଲେଖାଯାଇ ପାରିବ ନାହିଁ ।",
        "uploaderror": "ଅପଲୋଡ଼ କରିବାରେ ଅସୁବିଧା",
        "license-nopreview": "(ସାଇତିବା ଆଗଦେଖଣା ମିଳୁନାହିଁ)",
        "upload_source_url": "(ଏକ ବୈଧ ସାଧାରଣରେ ଖୋଲାଯାଇପାରୁଥିବା URL)",
        "upload_source_file": "(ଆପଣଙ୍କ କମ୍ପୁଟରରେ ଥିବା ଏକ ଫାଇଲ)‌",
-       "listfiles-summary": "à¬\8fହି à¬¬à¬¿à¬¶à­\87ଷ à¬ªà­\83ଷà­\8dଠାà¬\9fି à¬¸à¬¬à­\81ଯାà¬\95 à¬\85ପଲà­\8bଡ଼ à¬\95ରାଯାà¬\87ଥିବା à¬«à¬¾à¬\87ଲ à¬¦à­\87à¬\96ାà¬\87ଥାà¬\8f à¥¤\nବà¬\9bାହà­\87ବା à¬¬à­\87ଳà­\87 à¬\95à­\87ବଳ à¬¸à¬­à­\8dà­\9fà¬\99à­\8dà¬\95 à¬¦à­\87à¬\87 à¬¨à¬\97ଦ à¬\85ପଲà­\8bଡ଼ à¬\95ରାଯାà¬\87ଥିବା à¬«à¬¾à¬\87ଲ à¬¦à­\87à¬\96ାଯାଇଥାଏ ।",
+       "listfiles-summary": "à¬\8fହି à¬¬à¬¿à¬¶à­\87ଷ à¬ªà­\83ଷà­\8dଠାà¬\9fି à¬\85ପଲà­\8bଡ଼ à¬¹à­\8bà¬\87ଥିବା à¬¸à¬®à¬¸à­\8dତ à¬«à¬¾à¬\87ଲ à¬¦à­\87à¬\96ାଇଥାଏ ।",
        "listfiles_search_for": "ମାଧ୍ୟମ ନାମଟି ଖୋଜିବେ:",
        "imgfile": "ଫାଇଲ",
        "listfiles": "ଫାଇଲ ତାଲିକା",
        "listfiles_size": "ଆକାର",
        "listfiles_description": "ବିବରଣୀ",
        "listfiles_count": "ସଂସ୍କରଣ",
+       "listfiles-latestversion": "ବର୍ତ୍ତମାନର ସଂସ୍କରଣ",
+       "listfiles-latestversion-yes": "ହଁ",
+       "listfiles-latestversion-no": "ନାଁ",
        "file-anchor-link": "ଫାଇଲ",
        "filehist": "ଫାଇଲ ଇତିହାସ",
        "filehist-help": "ଏହା ଫାଇଲଟି ସେତେବେଳେ ଯେମିତି ଦିଶୁଥିଲା ତାହା ଦେଖିବା ପାଇଁ ତାରିଖ/ବେଳା ଉପରେ କ୍ଲିକ କରନ୍ତୁ",
        "unusedtemplateswlh": "ଅନ୍ୟ ସଂଯୋଗ",
        "randompage": "ଯାହିତାହି ପୃଷ୍ଠା",
        "randompage-nopages": "ତଳେ ଥିବା {{PLURAL:$2|ନେମସ୍ପେସ|ନେମସ୍ପେସ}}: $1ରେ ଗୋଟିଏ ବି ପୃଷ୍ଠା ନାହିଁ ।",
+       "randomincategory-selectcategory-submit": "ଯାଆନ୍ତୁ",
        "randomredirect": "ଯାହିତାହି ପୁନପ୍ରେରଣ",
        "randomredirect-nopages": "\"$1\" ନାମରେ ଗୋଟିଏ ବି ପୁନପ୍ରେରଣ ନାହିଁ ।",
        "statistics": "ହିସାବ",
        "pageswithprop-submit": "ଯିବା",
        "doubleredirects": "ଯୋଡ଼ା ପୁନପ୍ରେରଣ",
        "doubleredirectstext": "ଏହି ପୃଷ୍ଠା ବାକି ବହୁବିକଳ୍ପ ପୃଷ୍ଠାମାନଙ୍କ ସହ ଯୋଡ଼ିଥାଏ ।\nପ୍ରତ୍ୟେକ ଧାଡ଼ିରେ ପ୍ରଥମ ଓ ଶେଷ ପୁନପ୍ରେରଣ ସହ ଯୋଡ଼ିବା ଲିଙ୍କ ରହିଥାଏ, ଆହୁରି ମଧ୍ୟ ଏଥିରେ ଦ୍ଵିତୀୟ ପୁନପ୍ରେରଣର ଲକ୍ଷ ସହ ଯୋଡ଼ିବାର ଲିଙ୍କ ଥାଏ , ଯାହାକି ସାଧାରଣତ \"ପ୍ରକୃତ\" ଲକ୍ଷ ପୃଷ୍ଠା ହୋଇଥାଏ, ଯାହାକୁ ପ୍ରଥମ ପୁନପ୍ରେରଣ ପୃଷ୍ଠା ଯୋଡ଼ିଥାଏ ।\n<del>କଟାହୋଇଥିବା</del> ନିବେଶସବୁ ସଜଡ଼ାଗଲା ।",
-       "double-redirect-fixed-move": "[[$1]]à¬\95à­\81 à¬\98à­\81à¬\9eà­\8dà¬\9aାଯାà¬\87à¬\85à¬\9bି à¥¤\nà¬\8fବà­\87 à¬\8fହା [[$2]]à¬\95à­\81 à¬ªà­\81ନପà­\8dରà­\87ରିତ à¬¹à­\8bà¬\87ଥାà¬\8f ।",
-       "double-redirect-fixed-maintenance": "[[$1]] à¬°à­\81 [[$2]] à¬\95à­\81 à¬¦à­\81à¬\87à¬\9fି à¬ªà­\81ନପà­\8dରà­\87ରଣରà­\87 à¬¥à¬¿à¬¬à¬¾ à¬\85ସà­\81ବିଧା à¬¸à­\81ଧାରିଦà­\87ଲà­\81à¬\81 à¥¤",
+       "double-redirect-fixed-move": "[[$1]]à¬\95à­\81 à¬\98à­\81à¬\9eà­\8dà¬\9aାଯାà¬\87à¬\85à¬\9bି à¥¤\nà¬\8fବà­\87 à¬\86ପà­\87 à¬\86ପà­\87 à¬\85ପଡà­\87à¬\9f à¬¹à­\8bà¬\87ଥାà¬\8f à¬\8fବà¬\82 à¬\8fବà­\87 [[$2]]à¬\95à­\81 à¬ªà­\81ନପà­\8dରà­\87ରିତ à¬¹à­\8bà¬\87à¬\9bି ।",
+       "double-redirect-fixed-maintenance": "[[$1]] à¬°à­\81 [[$2]] à¬¯à¬¾à¬\8fà¬\81 à¬¥à¬¿à¬¬à¬¾ à¬¦à­\81à¬\87à¬\9fି à¬\85ନାବଶà­\8dà­\9fà¬\95 à¬ªà­\81ନରà­\8dପà­\8dରà­\87ରଣ à¬°à¬\95à­\8dଷଣାବà­\87à¬\95à­\8dଷଣା à¬\95ଲାବà­\87ଳà­\87 à¬¸à¬\9cାଡ଼ିଦà­\87ଲà­\81 à¥¤",
        "double-redirect-fixer": "ପୁନପ୍ରେରଣ ସୁଧାରକ",
        "brokenredirects": "ଭଙ୍ଗା ପୁନପ୍ରେରଣ",
        "brokenredirectstext": "ତଳଲିଖିତ ପୁନପ୍ରେରଣ ସବୁ ସ୍ଥିତିହିନ ପୃଷ୍ଠାମାନଙ୍କୁ ପୁନପ୍ରେରିତ ହୋଇଥାଏ :",
        "protectedpages-indef": "କେବଳ ଆସିମୀତ କାଳ ପାଇଁ କିଳିବା",
        "protectedpages-cascade": "କିଲାଯାଇଥିବା ପୃଷ୍ଠାସବୁକୁ ଏକାଠି ସଜାଇ ରଖୁଅଛୁଁ",
        "protectedpagesempty": "ଏହି ସବୁ ସଜାଣି ସହ ଗୋଟିଏ ବି ପୃଷ୍ଠା ଏବେ କିଳାଯାଇ ନାହିଁ ।",
+       "protectedpages-timestamp": "ସମୟ",
+       "protectedpages-page": "ପୃଷ୍ଠା",
+       "protectedpages-expiry": "ଅଚଳ ହେବ",
+       "protectedpages-unknown-performer": "ଅଜଣା ସଭ୍ୟ",
        "protectedtitles": "କିଳାଯାଇଥିବା ଶିରୋନାମାମାନ",
        "protectedtitlesempty": "ଏହି ସବୁ ସଜାଣି ସହ ଗୋଟିଏ ବି ପୃଷ୍ଠା ଏବେ କିଳାଯାଇ ନାହିଁ ।",
        "listusers": "ବ୍ୟବହାରକାରୀଙ୍କ ତାଲିକା",
        "activeusers-noresult": "ଜଣେ ବି ସଭ୍ୟ ମିଳିଲେ ନାହିଁ ।",
        "listgrouprights": "ସଭ୍ୟ ଗୋଠ ଅଧିକାରସମୂହ",
        "listgrouprights-summary": "ତଳେ ଉଇକି ସ୍ଥିର କରାଯାଇଥିବା ଏକ ଏକ ବ୍ୟବହାରକାରୀ ଗୋଠର ତାଲିକା ଦିଆଯାଇଛି, ସେଥିରେ ସେମାନଙ୍କ ବ୍ୟବହାର ଅଧିକାର ବାବଦରେ ମଧ୍ୟ ଦିଆଯାଇଛି ।\nସେଥିରେ ବୋଧେ [[{{MediaWiki:Listgrouprights-helppage}}|ଅଧିକ ବ୍ୟକ୍ତିଗତ ବିବରଣୀ ଥାଇପାରେ]] ।",
-       "listgrouprights-key": "* <span class=\"listgrouprights-granted\">à¬\85ନà­\81ମà­\8bଦିତ à¬\85ଧିà¬\95ାର</span>\n* <span class=\"listgrouprights-revoked\">ଫà­\87ରାà¬\87 à¬¨à¬¿à¬\86ଯାଇଥିବା ଅଧିକାର</span>",
+       "listgrouprights-key": "* <span class=\"listgrouprights-granted\">à¬\85ନà­\81ମà­\8bଦିର à¬\85ଧିà¬\95ାର</span>\n* <span class=\"listgrouprights-revoked\">à¬\85à¬\9fà¬\95ାଯାଇଥିବା ଅଧିକାର</span>",
        "listgrouprights-group": "ଗୋଠ",
        "listgrouprights-rights": "ଅଧିକାର",
        "listgrouprights-helppage": "Help:ଗୋଠ ଅଧିକାର",
        "listgrouprights-removegroup-self": "{{PLURAL:$2|ଗୋଠଟିଏ|ଗୋଟି ଗୋଠ}} ନିଜ ଖାତାରୁ ହଟାଇବେ: $1",
        "listgrouprights-addgroup-self-all": "ନିଜ ଖାତାରେ ସବୁଯାକ ଗୋଠ ଯୋଡ଼ିବେ",
        "listgrouprights-removegroup-self-all": "ନିଜ ଖାତାରୁ ସବୁଯାକ ଗୋଠ ହଟାଇଦେବେ",
+       "listgrouprights-namespaceprotection-namespace": "ନେମସ୍ପେସ",
+       "listgrouprights-namespaceprotection-restrictedto": "ସଭ୍ୟଙ୍କୁ ସମ୍ପାଦନା ପାଇଁ ଦିଆଯାଇଥିବା ଅଧିକାର",
+       "trackingcategories": "ଶ୍ରେଣୀମାନ ତଦାରଖ କରାଯାଉଛି",
+       "trackingcategories-name": "ନାମ ମେସେଜ କରନ୍ତୁ",
+       "trackingcategories-nodesc": "କୌଣସି ବିବରଣ ନାହିଁ ।",
+       "trackingcategories-disabled": "ଶ୍ରେଣୀ ନିଷ୍କ୍ରିୟ କରାଯାଇଛି",
        "mailnologin": "ଗୋଟିଏ ବି ପଠାଇବା ଠିକଣା ନାହିଁ",
        "mailnologintext": "ଆପଣ ନିଜ [[Special:Preferences|ପସନ୍ଦସବୁ]]ରେ [[Special:UserLogin|ଲଗ ଇନ]] କରିଥିଲେ ଓ ନିଜର ଏକ ସଚଳ ଇ-ମେଲ ଠିକଣା ଥିଲେ ଯାଇ ବାକି ସବୁ ସଭ୍ୟଙ୍କୁ ଇ-ମେଲ ପଠାଇପାରିବେ ।",
        "emailuser": "ଏହି ସଭ୍ୟଙ୍କୁ ଇମେଲ କରିବେ",
        "watchnologin": "ଲଗ‌‌ ଇନ କରିନାହାନ୍ତି",
        "addwatch": "ଦେଖଣାତାଲିକାରେ ଯୋଡ଼ିବେ",
        "addedwatchtext": "\"[[:$1]]\" ପୃଷ୍ଠାଟି ଆପଣଙ୍କ [[Special:Watchlist|ଦେଖଣାତାଲିକା]]ରେ ଯୋଡ଼ିଦିଆଗଲା ।\nଏହି ପୃଷ୍ଠାରେ ଭବିଷ୍ୟତର ଅଦଳ ବଦଳ ଓ ତାହା ସହ ଯୋଡ଼ା ଆଲୋଚନା ପୃଷ୍ଠା ସେଠାରେ ଦିଆଯିବ ।",
+       "addedwatchtext-short": "\"$1\" ପୃଷ୍ଠାଟି ଆପଣଙ୍କ ଦେଖଣାତାଲିକାରେ ଯୋଡ଼ାଗଲା ।",
        "removewatch": "ଦେଖଣା ତାଲିକାରୁ ହଟାଇବେ",
        "removedwatchtext": "\"[[:$1]]\" ପୃଷ୍ଠାଟି [[Special:Watchlist|ଆପଣଙ୍କ ଦେଖଣାତାଳିକା]]ରୁ ହଟାଗଲା ।",
+       "removedwatchtext-short": "\"$1\" ପୃଷ୍ଠାଟି ଆପଣଙ୍କ ଦେଖଣାତାଲିକାରୁ ହଟାଗଲା ।",
        "watch": "ଦେଖିବେ",
        "watchthispage": "ଏହି ପୃଷ୍ଠାଟିକୁ ଦେଖିବେ",
        "unwatch": "ଦେଖନାହିଁ",
        "unwatchthispage": "ଦେଖନ୍ତୁ ନାହିଁ",
        "notanarticle": "ବିଷୟବସ୍ତୁର ପୃଷ୍ଠାଟିଏ ନୁହେଁ",
        "notvisiblerev": "ଜଣେ ଅଲଗା ବ୍ୟବହାରକାରୀଙ୍କ ଦେଇ କରାଯାଇଥିବା ସେଶ ସଂସ୍କରଣଟି ଲିଭାଇଦିଆଗଲା ।",
-       "watchlist-details": "ଆପଣଙ୍କ ଦେଖଣା ତାଲିକାରେ ଆଲୋଚନା ପୃଷ୍ଠାକୁ ଛାଡ଼ି {{PLURAL:$1|$1 ଟି ପୃଷ୍ଠା|$1 ଟି ପୃଷ୍ଠା}} ଅଛି ।",
+       "watchlist-details": "ଆପଣଙ୍କ ଦେଖଣା ତାଲିକାରେ {{PLURAL:$1|$1 ଟି ପୃଷ୍ଠା|$1 ଟି ପୃଷ୍ଠା}} ଅଛି, ଆଲୋଚନା ପୃଷ୍ଠାମାନଙ୍କୁ ଅଲଗା ଗଣାଯାଇନାହିଁ ।",
        "wlheader-enotif": "ଇମେଲ ସୂଚନା ସଚଳ କରାଗଲା ।",
        "wlheader-showupdated": "ଆପଣ ଶେଷଥର ଦେଖିଥିବା ପୃଷ୍ଠାଗୁଡ଼ିକ '''ମୋଟା ଅକ୍ଷର'''ରେ ଦେଖାଯାଉଅଛି ।",
        "wlshowlast": "ଶେଷ $1 ଘଣ୍ଟା $2 ଦିନ $3 ଦେଖାଇବେ",
        "contributions-title": "$1 ପାଇଁ ବ୍ୟବହାରକାରୀଙ୍କ ଦାନ",
        "mycontris": "ଅବଦାନ",
        "contribsub2": "$1 ($2) ପାଇଁ",
+       "contributions-userdoesnotexist": "ଇଉଜର ନାମ \"$1\" ତିଆରି କରାଯାଇ ନାହିଁ ।",
        "nocontribs": "ଏହି ନିର୍ଣ୍ଣାୟକବଳୀ ନିମନ୍ତେ କିଛି ବି ବଦଳ ମେଳ ଖାଇଲା ନାହିଁ ।",
        "uctop": "(ଏବେକାର)",
        "month": "ମାସରୁ (ଓ ତା ଆଗରୁ)",
        "sp-contributions-newbies-sub": "ନୂଆ ଖାତାମାନଙ୍କ ନିମନ୍ତେ",
        "sp-contributions-newbies-title": "ନୂଆ ଖାତାମାନଙ୍କ ନିମନ୍ତେ ସଭ୍ୟ ଅବଦାନ",
        "sp-contributions-blocklog": "ଲଗଟିକୁ ଅଟକାଇଦେବେ",
+       "sp-contributions-suppresslog": "ସଭ୍ୟଙ୍କ ଅବଦାନ ଲୁଚାଯାଇଛି",
        "sp-contributions-deleted": "ଲିଭାଇ ଦିଆଯାଇଥିବା ସଭ୍ୟଙ୍କ ଅବଦାନସମୂହ",
        "sp-contributions-uploads": "ଅପଲୋଡ଼ସବୁ",
        "sp-contributions-logs": "ଲଗସବୁ",
        "pageinfo-length": "ପୃଷ୍ଠା ଲମ୍ବ(ବାଇଟରେ)",
        "pageinfo-article-id": "ପୃଷ୍ଠା ଆଇଡ଼ି",
        "pageinfo-language": "ପୃଷ୍ଠା ବିଷୟବସ୍ତୁର ଭାଷା",
-       "pageinfo-robot-policy": "à¬\96à­\8bà¬\9cିବା à¬\87à¬\9eà­\8dà¬\9cିନ à¬¸à­\8dଥିତି",
-       "pageinfo-robot-index": "ସà­\82à¬\9aà­\80ପତà­\8dର à¬\95ରିହà­\87à¬\89ଥିବା",
-       "pageinfo-robot-noindex": "ସà­\82à¬\9aà­\80ପତà­\8dର à¬\95ରିହà­\87à¬\89ନଥିବା",
+       "pageinfo-robot-policy": "ସà­\8dà­±à­\9fà¬\82à¬\9aାଳà¬\95 (bot) à¬¦à­\8dୱାରା à¬¸à­\82à¬\9aà­\80 à¬¨à¬¿à¬°à­\8dମିତ",
+       "pageinfo-robot-index": "à¬\85ନà­\81ମà­\8bଦିତ",
+       "pageinfo-robot-noindex": "à¬\85ନà­\81ନମà­\8bଦିତ",
        "pageinfo-views": "ଦେଖଣା ସଂଖ୍ୟା",
        "pageinfo-watchers": "ପୃଷ୍ଠା ଦେଖଣାହାରି ସଂଖ୍ୟା",
        "pageinfo-few-watchers": "$1ରୁ କମ {{PLURAL:$1|ଦେଖଣାକାରୀ|ଦେଖଣାକାରୀଗଣ}}",
-       "pageinfo-redirects-name": "ଏହି ପୃଷ୍ଠାକୁ ଲେଉଟାଣି ଅଛି",
+       "pageinfo-redirects-name": "ଏହି ପୃଷ୍ଠା ସହ ସମ୍ବନ୍ଧିତ ପୁନର୍ପ୍ରେରଣ",
        "pageinfo-subpages-name": "ଏହି ପୃଷ୍ଠାରେ ଥିବା ଉପପୃଷ୍ଠା",
        "pageinfo-subpages-value": "$1 ($2 {{PLURAL:$2|redirect|redirects}}; $3 {{PLURAL:$3|non-redirect|non-redirects}})",
        "pageinfo-firstuser": "ପୃଷ୍ଠା ତିଆରିକରିଛନ୍ତି",
        "svg-long-desc": "SVG ଫାଇଲ, ସାଧାରଣ ମାପ $1 × $2 ପିକ୍ସେଲ, ଫାଇଲ ଆକାର: $3",
        "svg-long-desc-animated": "Animated SVG ଫାଇଲ, ସାଧାରଣ ମାପ $1 × $2 ପିକ୍ସେଲ, ଫାଇଲ ଆକାର: $3",
        "svg-long-error": "ଅବୈଧ SVG ଫାଇଲ: $1",
-       "show-big-image": "ପà­\81ରା à¬¬à¬¡à¬¼ à¬\86à¬\95ାରରà­\87",
+       "show-big-image": "ମà­\82ଳ à¬«à¬¾à¬\87ଲ",
        "show-big-image-preview": "ଏହି ଦେଖଣାର ଆକାର: $1 ।",
        "show-big-image-other": "ବାକି {{PLURAL:$2|ରେଜୋଲୁସନ|ରେଜୋଲୁସନ}}: $1.",
        "show-big-image-size": "$1 × $2 ପିକ୍ସେଲ",
        "hours-ago": "$1 {{PLURAL:$1|ଘଣ୍ଟା}} ଆଗରୁ",
        "minutes-ago": "$1 {{PLURAL:$1|ମିନିଟ|ମିନିଟ}} ଆଗରୁ",
        "seconds-ago": "$1 {{PLURAL:$1|ସେକେଣ୍ଡ|ସେକେଣ୍ଡ}} ଆଗରୁ",
+       "monday-at": "ସୋମବାର, $1 ବେଳେ",
+       "tuesday-at": "ମଙ୍ଗଳବାର, $1 ବେଳେ",
+       "wednesday-at": "ବୁଧବାର, $1 ବେଳେ",
+       "thursday-at": "ଗୁରୁବାର, $1 ବେଳେ",
+       "friday-at": "ଶୁକ୍ରବାର, $1 ବେଳେ",
+       "saturday-at": "ଶନିବାର, $1 ବେଳେ",
+       "sunday-at": "ରବିବାର, $1 ବେଳେ",
+       "yesterday-at": "ଗତକାଲି, $1 ବେଳେ",
        "bad_image_list": "ଗଢ଼ଣଟି ଏମିତି ହେବ:\n\nକେବଳ (ଯେଉଁ ଧାଡ଼ିଗୁଡ଼ିକ * ରୁ ଆରମ୍ଭ ହୋଇଥାଏ) ସେହି ସବୁକୁ ହିସାବକୁ ନିଆଯିବ ।\nଗୋଟିଏ ଧାଡ଼ିର ପ୍ରଥମ ଲିଙ୍କଟି ଗୋଟିଏ ଖରାପ ଫାଇଲର ଲିଙ୍କ ହୋଇଥିବା ଦରକାର ।\nପ୍ରଥମ ଲିଙ୍କ ପରର ସବୁ ଲିଙ୍କକୁ ନିଆରା ବୋଲି ଧରାଯିବ । ମାନେ, ସେଇସବୁ ପୃଷ୍ଠାଦରେ ଯେଉଁଠି ଫାଇଲଟି ଧାଡ଼ି ଭିତରେ ରହିଥିବ ।",
        "metadata": "ମେଟାଡାଟା",
        "metadata-help": "ଏହି ଫରଦଟିରେ ଗୁଡ଼ାଏ ଅଧିକ କଥା ଅଛି, ବୋଧହୁଏ ଡିଜିଟାଲ କାମେରା କିମ୍ବା ସ୍କାନରରେ ନିଆଯାଇଛି । ଯଦି ଫାଇଲଟି ତାର ମୂଳ ଭାଗଠୁ ବଦଳାଜାଇଥାଏ ତେବେ କିଛି ଅଁଶ ଠିକ ଭାବେ ଦେଖାଯାଇ ନପାରେ ।",
        "exif-compression-3": "CCITT ଗୋଠ ୩ ଫାକ୍ସ ଏନକୋଡ଼ିଙ୍ଗ",
        "exif-compression-4": "CCITT ଗୋଠ ୪ ଫାକ୍ସ ଏନକୋଡ଼ିଙ୍ଗ",
        "exif-copyrighted-true": "ସତ୍ଵାଧିକାର ଥିବା",
-       "exif-copyrighted-false": "ପବà­\8dଲିà¬\95 à¬¡à­\8bମà­\87ନ",
+       "exif-copyrighted-false": "à¬\95ପିରାà¬\87à¬\9f à¬¤à¬¥à­\8dà­\9f à¬¦à¬¿à¬\86ଯାà¬\87ନାହିà¬\81",
        "exif-unknowndate": "ଅଜଣା ତାରିଖ",
        "exif-orientation-1": "ସାଧାରଣ",
        "exif-orientation-2": "ଭୂସମାନ୍ତର ଭାବେ ବୁଲାଇଦିଆଯାଇଛି",
        "imgmultipagenext": "ପର ପୃଷ୍ଠା →",
        "imgmultigo": "ଯିବା!",
        "imgmultigoto": "$1 ପୃଷ୍ଠାକୁ ଯିବେ",
+       "img-lang-default": "(ଡିଫଲ୍ଟ ଭାଷା)",
        "ascending_abbrev": "ସାନରୁ ବଡ କ୍ରମରେ",
        "descending_abbrev": "ବଖାଣ",
        "table_pager_next": "ପର ପୃଷ୍ଠା",
        "watchlistedit-raw-done": "ଆପଣଙ୍କ ଦେଖଣା ତାଲିକାଟି ଅପଡେଟ ହେଇଯାଇଛି ।",
        "watchlistedit-raw-added": "{{PLURAL:$1|ନାମଟିଏ|$1 ଗୋଟି ନାମ}} ଯୋଗ କରାଗଲା:",
        "watchlistedit-raw-removed": "{{PLURAL:$1|ନାମଟିଏ|$1 ଗୋଟି ନାମ}} କାଢ଼ିଦିଆଗଲା:",
+       "watchlistedit-clear-titles": "ନାମ:",
        "watchlisttools-view": "ଦରକାରୀ ବଦଳଗୁଡ଼ିକ ଦେଖାଇବେ",
        "watchlisttools-edit": "ଦେଖିବା ତାଲିକାଟିକୁ ଦେଖିବେ ଓ ବଦଳାଇବେ",
        "watchlisttools-raw": "ଫାଙ୍କା ଦେଖଣା ତାଲିକାଟିର ସମ୍ପାଦନା କରିବେ",
        "version-hook-name": "ହୁକ ନାମ",
        "version-hook-subscribedby": "କାହା ଦେଇ ମଗାଯାଇଛି",
        "version-version": "(ଭାଗ $1)",
-       "version-license": "ଲାà¬\87ସà­\87ନà­\8dସ",
+       "version-license": "ମିଡ଼ିà¬\86à¬\89à¬\87à¬\95ି à¬¸à­\8dୱତà­\8dà­±",
        "version-ext-license": "ଲାଇସେନ୍ସ",
        "version-ext-colheader-name": "ଏକ୍ସଟେନସନ",
        "version-ext-colheader-version": "ସଂସ୍କରଣ",
        "version-entrypoints": "ନିବେଶ ହେଉଥିବା ସ୍ଥାନର URLଗୁଡିକ",
        "version-entrypoints-header-entrypoint": "ପ୍ରବେଶ ବିନ୍ଦୁ",
        "version-entrypoints-header-url": "ଇଉଆରଏଲ",
+       "redirect-submit": "ଯାଆନ୍ତୁ",
+       "redirect-lookup": "ଖୋଜନ୍ତୁ:",
+       "redirect-value": "ମୂଲ୍ୟ:",
+       "redirect-user": "ସଭ୍ୟ ଆଇଡ଼ି",
+       "redirect-page": "ପୃଷ୍ଠା ଆଇଡ଼ି",
+       "redirect-revision": "ପୃଷ୍ଠା ସଂସ୍କରଣ",
+       "redirect-file": "ଫାଇଲ ନାମ",
+       "redirect-not-exists": "ମୂଳ୍ୟ ମିଳିଲା ନାହିଁ",
        "fileduplicatesearch": "ଏହାର ନକଲ ପୃଷ୍ଠା ଖୋଜିବେ ।",
        "fileduplicatesearch-summary": "ହାସ୍ ମୂଲ୍ୟକୁ ନେଇ ଦୁଇଥର ଥିବା ଫାଇଲ ଖୋଜନ୍ତୁ ।",
        "fileduplicatesearch-legend": "ନକଲ ପାଇଁ ଖୋଜନ୍ତୁ ।",
        "fileduplicatesearch-result-n": "\"$1\" ଫାଇଲର {{PLURAL:$2|1 ଗୋଟି ଏକାଭଳି|$2 ଗୋଟି ଏକାଭଳି}} ଫାଇଲ ଅଛି ।",
        "fileduplicatesearch-noresults": "\"$1\" ନାମରେ ଗୋଟିଏ ବି ଫାଇଲ ମିଳିଲା ନାହିଁ ।",
        "specialpages": "ବିଶେଷ ପୃଷ୍ଠା",
+       "specialpages-note-top": "ଲିଜେଣ୍ଡ",
        "specialpages-note": "* ସାଧାରଣ ବିଶେଷ ପୃଷ୍ଠାମାନ ।\n* <span class=\"mw-specialpagerestricted\">କିଳାଯାଇଥିବା ବିଶେଷ ପୃଷ୍ଠାମାନ ।</span>",
        "specialpages-group-maintenance": "ରକ୍ଷଣାବେକ୍ଷଣା ବିବରଣୀ",
        "specialpages-group-other": "ବାକି ବିଶେଷ ପୃଷ୍ଠା",
        "tags-tag": "ଚିହ୍ନ ନାମ",
        "tags-display-header": "ବଦଳ ତାଲିକାରେ ଦେଖଣା",
        "tags-description-header": "ଅର୍ଥର ପୁରା ବିବରଣୀ",
+       "tags-active-header": "ସକ୍ରିୟ କି?",
        "tags-hitcount-header": "ଚିହ୍ନିତ ବଦଳ",
+       "tags-active-yes": "ହଁ",
+       "tags-active-no": "ନାଁ",
        "tags-edit": "ସମ୍ପାଦନା",
        "tags-hitcount": "$1 {{PLURAL:$1|ବଦଳ|ବଦଳସବୁ}}",
        "comparepages": "ବଦଳ ତୁଳନା କରିବେ",
        "dberr-problems": "କ୍ଷମାକରିବେ !  ଏହି ସାଇଟରେ ଟିକେ ବୈଷୟିକ ତ୍ରୁଟି ଦେଖାଦେଇଛି ।",
        "dberr-again": "କିଛି ମିନିଟ ଅପେକ୍ଷା କରିବା ସହ ଆଉ ଥରେ ଲୋଡ କରନ୍ତୁ ।",
        "dberr-info": "(ଡାଟାବେସ ସର୍ଭର ସହ ଯୋଗାଯୋଗ କରିପାରିଲୁ ନାହିଁ: $1)",
+       "dberr-info-hidden": "(ଡାଟାବେସ ସର୍ଭର ସହ ଯୋଗାଯୋଗ କରିପାରିଲୁ ନାହିଁ)",
        "dberr-usegoogle": "ଏହି ସମୟ ଭିତରେ ଆପଣ ଗୁଗଲରେ ଖୋଜି ପାରିବେ ।",
        "dberr-outofdate": "ଜାଣିରଖନ୍ତୁ ଯେ ଆମ ବିଷୟବସ୍ତୁକୁ ନେଇ ସେମାନେ ତିଆରିଥିବା ସୂଚି ବହୁପୁରାତନ ହୋଇପାରେ ।",
        "dberr-cachederror": "ଏହା ଅନୁରୋଧ କରାଯାଇଥିବା ପୃଷ୍ଠାର ଏକ ଆଗରୁ ସାଇତାଥିବା ନକଲ ଓ ସତେଜ ହୋଇ ନଥାଇପାରେ ।",
        "htmlform-selectorother-other": "ବାକି",
        "htmlform-no": "ନାହିଁ",
        "htmlform-yes": "ହଁ",
+       "htmlform-chosen-placeholder": "ବିକଳ୍ପଟିଏ ବାଛନ୍ତୁ",
+       "htmlform-cloner-create": "ଅଧିକ ଯୋଡ଼ନ୍ତୁ",
+       "htmlform-cloner-delete": "ବାହାର କରନ୍ତୁ",
+       "htmlform-cloner-required": "ଅତି କମରେ ଗୋଟିଏ ମୂଲ୍ୟ ଲୋଡ଼ା",
        "sqlite-has-fts": "ପୁରା ଟେକ୍ସ୍ଟ ଖୋଜା ସହଯୋଗ ସହିତ $1",
        "sqlite-no-fts": "ପୁରା ଟେକ୍ସ୍ଟ ଖୋଜା ସହଯୋଗ ବିନା $1",
-       "logentry-delete-delete": "$1 $3 ପୃଷ୍ଠାଟି ଲିଭାଇଦେଲେ",
-       "logentry-delete-restore": "$1 $3 ପୃଷ୍ଠାଟି ପୁନସ୍ଥାପନ କଲେ",
+       "logentry-delete-delete": "$1, $3 ପୃଷ୍ଠାଟି {{GENDER:$2|ଲିଭାଇଦେଲେ}}",
+       "logentry-delete-restore": "$1, $3 ପୃଷ୍ଠାଟି {{GENDER:$2|ପୁନସ୍ଥାପନ କଲେ}}",
        "logentry-delete-event": "$1 $3 ବେଳେ {{PLURAL:$5|ଏକ ଇତିହାସର ଘଟଣାର|$5 ଇତିହାସର ଘଟଣାମାନଙ୍କର}} ଦେଖଣା ବଦଳାଇ ଦେଲେ: $4",
        "logentry-delete-revision": "$1 $3 ପୃଷ୍ଠାରେ {{PLURAL:$5|ସଙ୍କଳନଟିଏର|$5 ସଙ୍କଳନମାନଙ୍କର}} ଦେଖଣା ବଦଳାଇ ଦେଲେ: $4",
        "logentry-delete-event-legacy": "$1 $3 ରେ ଇତିହାସର ଘଟଣାସବୁର ଦେଖଣା ବଦଳାଇଦେଲେ",
index 00a1476..405c9c0 100644 (file)
        "tog-hideminor": "Vaschdegg klääne Bearwaidunge",
        "tog-hidepatrolled": "Vaschdegg gsischdede Ännarunge",
        "tog-extendwatchlist": "Zaisch alle Ännarunge unn ned nur die ledschde",
-       "tog-showtoolbar": "Wergzaisch fas Beawaide zaische",
+       "tog-showtoolbar": "Wergzaisch fas Schaffe zaische",
        "tog-previewontop": "Vorbligg owwahalwb vum Beaawaidungsfenschda zaische",
        "tog-previewonfirst": "Zaischen Vorbligg baim erschdemol Schaffe",
-       "tog-oldsig": "Voahonneni Unnaschfrid",
+       "tog-oldsig": "Voahonneni Unnaschrifd",
        "tog-uselivepreview": "Uuvazeschada Vorbligg (vasugswais)",
        "tog-showhiddencats": "Zaisch vaschdeglde Grubbe",
        "underline-always": "Imma",
        "oct": "Ogd",
        "nov": "Nov",
        "dec": "Dez",
+       "january-date": "$1. Janua",
+       "february-date": "$1. Februa",
+       "march-date": "$1. Meaz",
+       "april-date": "$1. Abril",
+       "may-date": "$1. Mai",
+       "june-date": "$1. Juni",
+       "august-date": "$1. Auguschd",
+       "september-date": "$1. Sebdemba",
+       "october-date": "$1. Ogdowa",
+       "november-date": "$1. Nowemba",
+       "december-date": "$1. Dezemba",
        "pagecategories": "{{PLURAL:$1|Sachgrubb|Sachgrubbe}}",
        "category_header": "Saide inde Sachgrubb „$1“",
        "subcategories": "Unnagrubbe",
        "navigation": "Nawigadzion",
        "and": "&#32;unn",
        "qbfind": "Finne",
-       "qbbrowse": "Duaschschdewere",
-       "qbedit": "Beawaide",
+       "qbbrowse": "Schdewere",
+       "qbedit": "Schaffe",
        "qbpageoptions": "Die Said",
        "qbmyoptions": "Moi Saide",
        "faq": "Ofd gschdeldi Froche",
        "vector-action-protect": "Schidze",
        "vector-action-undelete": "Zriggbringe",
        "vector-view-create": "Õleesche",
-       "vector-view-edit": "Beawaide",
+       "vector-view-edit": "Drõ schaffe",
        "vector-view-history": "Dadaigschischd",
        "vector-view-view": "Lese",
        "vector-view-viewsource": "Gwelltegschd zaische",
        "permalink": "Schdendischa Lingg",
        "print": "Drugge",
        "view": "Ogugge",
-       "edit": "Beawaide",
+       "edit": "Schaffe",
+       "edit-local": "Gugg uff $1",
        "create": "Õleesche",
-       "editthispage": "Die Said beawaide",
+       "editthispage": "Onde Said schaffe",
        "create-this-page": "Mach die Said",
        "delete": "Lesche",
        "deletethispage": "Lesch die Said",
+       "undeletethispage": "Said widdaheaschdelle",
        "undelete_short": "{{PLURAL:$1|ä Ännarung|$1 Ännarunge}} widdaheaschdelle",
        "viewdeleted_short": "Zaisch {{PLURAL:$1|ä gleschdi Ännarung|$1 gleschde Ännarunge}}",
        "protect": "schidze",
        "currentevents-url": "Project: Leschdi Gschneniss",
        "disclaimers": "Hafdungsausschluß",
        "disclaimerpage": "Project:Impressum",
-       "edithelp": "Unaschdizung fas Beawaide",
+       "edithelp": "Unaschdizung fas Schaffe",
        "mainpage": "Schdadsaid",
        "mainpage-description": "Schdadsaid",
        "policy-url": "Project:Grundsedz",
        "youhavenewmessages": "Du hoschd $1 ($2).",
        "newmessagesdifflinkplural": "ledschdi {{PLURAL:$1|Ännarung|999=Ännarunge}}",
        "youhavenewmessagesmulti": "Do hoschd ä Nochrischd grischd: $1",
-       "editsection": "beawaide",
-       "editold": "beawaide",
+       "editsection": "schaffe",
+       "editold": "schaffe",
        "viewsourceold": "Gwelltegschd õgugge",
-       "editlink": "beawaide",
+       "editlink": "schaffe",
        "viewsourcelink": "Gwell õgugge",
        "editsectionhint": "Deel ännare: $1",
        "toc": "Inhald",
        "nosuchspecialpage": "Schbezialsaid hodds nedd",
        "error": "Irrdumm",
        "databaseerror": "Daadebongg-Irrdumm",
+       "databaseerror-error": "Fehla: $1",
+       "laggedslavemode": "<strong>Baßma uff:</strong> Die Said hodd viellaischd die ledschde Ännarunge nedd.",
        "readonly": "Daadebongg blogiead",
        "missing-article": "De Tegschd fa „$1“ $2 isch inde Daadebongg nedd gfunne worre.\n\nNoamalawees heeßd des, dass die Said gleschd worre isch.\n\nWonnse des awwa nedd isch, hoschd villaischdn Irdumm inde Daadebongg gfunne.\nBidde meldsm [[Special:ListUsers/sysop|Adminischdrador]], un gebbde URL dzu õ.",
        "missingarticle-rev": "(Ausgawenumma#: $1)",
        "virus-unknownscanner": "Uubekonnda Viresucha:",
        "welcomeuser": "Willkumme, $1!",
        "yourname": "Middawaidanõme:",
+       "userlogin-yourname": "Middawaida",
+       "userlogin-yourname-ph": "Gebb doin Nome oi",
+       "createacct-another-username-ph": "Middawaida",
        "yourpassword": "Kennword:",
+       "userlogin-yourpassword": "Password",
+       "userlogin-yourpassword-ph": "Gebb doi Password oi",
+       "createacct-yourpassword-ph": "Gebbä Password oi",
        "yourpasswordagain": "Kennword nomol oigewe:",
+       "createacct-yourpasswordagain": "Password bschdedische",
+       "createacct-yourpasswordagain-ph": "Bschdedisch doi Password",
        "remembermypassword": "Moi Kennword uffm Brausa merge (hegschdns fa $1 {{PLURAL:$1|Daach|Daach}})",
        "login": "Õmelde",
        "nav-login-createaccount": "Õmelde / Kondo õleesche",
        "userloginnocreate": "Oilogge",
        "logout": "Uffhere",
        "userlogout": "Uffhere",
+       "userlogin-noaccount": "Hoschd kä Kondo?",
        "nologin": "Hoschd noch kä Kondo? $1",
        "nologinlink": "E Kondo õleesche",
        "createaccount": "Kondo õleesche",
        "updated": "(Gännad)",
        "note": "'''Hiwes:'''",
        "previewnote": "'''Deng'g drõõ, dasses nua e Vorschau isch.'''\nDoi Ännarunge sinn noch nedd gschbaischadd worre!",
-       "editing": "Õm $1 beawaide",
+       "editing": "Õm $1 schaffe",
        "creating": "Magsch $1",
-       "editingsection": "$1 beawaide (de Deel)",
-       "editingcomment": "$1 beawaide (de Deel)",
+       "editingsection": "$1 schaffe (Deel)",
+       "editingcomment": "$1 schaffe (Deel)",
        "editconflict": "Schdraid ums Ännare: $1",
        "yourtext": "Doin Tegschd",
        "storedversion": "Gschbaischerdi Version",
        "shown-title": "Zaisch $1 {{PLURAL:$1|Eagewnis}} bro Said",
        "viewprevnext": "Gugg ($1 {{int:pipe-separator}} $2) ($3)",
        "searchmenu-exists": "'''Dohods ä Said \"[[:$1]]\".'''",
-       "searchmenu-new": "'''Mach die Said „[[:$1]]“ im Wiki.'''",
+       "searchmenu-new": "<strong>Mach die Said „[[:$1]]“ im Wiki!</strong> {{PLURAL:$2|0=|Gugg a uffde Said, wu middoina Such gfunne worre isch.|Gugg a uffde gfunnene Sucheagewnis.}}",
        "searchprofile-articles": "Inhald",
        "searchprofile-project": "Hilf- un Brojegdsaide",
        "searchprofile-images": "Multimedia",
        "search-section": "(Abschnidd $1)",
        "search-suggest": "Hoschd gemäänd: $1",
        "search-interwiki-caption": "Schweschterprojekt",
-       "search-interwiki-default": "$1 Ergebnis:",
+       "search-interwiki-default": "Eagewnis vun $1:",
        "search-interwiki-more": "(meh)",
        "search-relatedarticle": "Vawond",
        "searcheverything-enable": "Gugg iwwaraal",
        "yourrealname": "Birschalischa Nõme:",
        "yourlanguage": "Schbrooch:",
        "yournick": "Naiji Unnaschfrid",
-       "yourgender": "Gschleschd:",
-       "gender-unknown": "Ghoim gkalde",
-       "gender-male": "Männlisch",
-       "gender-female": "Waiblisch",
+       "yourgender": "Wasfa'ä Gschleschd bischdn?",
+       "gender-unknown": "Do saach isch nix",
+       "gender-male": "Isch binnen Monn",
+       "gender-female": "Isch binä Fraa",
        "prefs-help-email": "E-mail muss ned soi, awwa wead fas naijsedze vum Kennwoad bneedischd, wonns vagesse hoschd.",
        "prefs-help-email-others": "Konschd a wehle, ob õnnare disch iwwan Lingg uff doina Dischbedier-Said õschbresche kennen.\nDoi Address werd ned gzaischd, wõnse midda babbln.",
        "prefs-diffs": "Unaschied",
        "right-undelete": "Said widdaheaschdelle",
        "newuserlogpage": "Naijõmeldungs-Logbuch",
        "rightslog": "Middawaidareschd-Logbuch",
-       "action-edit": "die Said beawaide",
+       "action-edit": "onde Said schaffe",
        "nchanges": "$1 {{PLURAL:$1|Ännarung|Ännarunge}}",
        "recentchanges": "Ledschdi Ännarunge",
        "recentchanges-legend": "Wehl ä Õzaisch fa die ledschde Ännarunge",
        "recentchanges-label-minor": "S'ische glenni Beawaidung",
        "recentchanges-label-bot": "Ännarunge duaschn Bod",
        "recentchanges-label-unpatrolled": "Die Ännarung isch noch nedd iwwabriefd worre",
-       "rcnotefrom": "Unne sinn Ännarunge said '''$2''' (bis '''$1''').",
+       "rcnotefrom": "Unne sinn Ännarunge said <strong>$2<-strong> (bis <strong>$1<-strong>).",
        "rclistfrom": "Zaisch die ledschde Ännarunge ab $3 $2",
        "rcshowhideminor": "Glenni Ännarunge $1",
        "rcshowhidebots": "Bots $1",
        "randompage": "Irschndn Adiggl",
        "statistics": "Schdadischdigge",
        "statistics-pages": "Saide",
-       "brokenredirects-edit": "beawaide",
+       "brokenredirects-edit": "schaffe",
        "brokenredirects-delete": "lesche",
        "withoutinterwiki-submit": "Zaische",
        "nbytes": "$1 {{PLURAL:$1|Byte|Bytes}}",
        "ncategories": "$1 {{PLURAL:$1|Sachgrubb|Sachgrubbe}}",
        "ninterwikis": "$1 {{PLURAL:$1|interwiki|interwikis}}",
        "nlinks": "$1 {{PLURAL:$1|Lingg|Linggs}}",
-       "nmembers": "$1 {{PLURAL:$1|Middawaida|Middawaida}}",
+       "nmembers": "$1 {{PLURAL:$1|Oidraach|Oidrääch}}",
        "nrevisions": "$1 {{PLURAL:$1|Ännarung|Ännarunge}}",
        "nimagelinks": "Used on $1 {{PLURAL:$1|Said|Saide}}",
        "ntransclusions": "oigsedzd uff $1 {{PLURAL:$1|Said|Saide}}",
        "watch": "Beowachde",
        "watchthispage": "Die Said beowachde",
        "unwatch": "Nemme beowachde",
-       "watchlist-details": "S hodd {{PLURAL:$1|$1 Said|$1 Saide}} uff doina Beowachdungslischd, Dischbediersaide zeeln nedd.",
+       "watchlist-details": "S hodd {{PLURAL:$1|$1 Said|$1 Saide}} uff doina Beowachdungslischd, Dischbediersaide zeeln nedd gdrennd.",
        "wlshowlast": "Die ledschde $1 Schdunnd $2 Daach $3 zaische",
        "watchlist-options": "Meschlischkaide vunde Beowachdungslischd",
        "watching": "Beowachde ...",
        "protect_expiry_old": "Zaidraum licht in de Vergangehääd.",
        "protect-text": "Du kannscht de Schutzstatus vun de Said '''$1''' aagucke un ännere.",
        "protect-locked-access": "Doi Kondo hodd kä Reschd um de Schudzsdadus vunna Said zu ännare.\nDo hodds die Oischdellunge vunde Said '''$1''':",
-       "protect-cascadeon": "Die Said isch gschizd, wail se {{PLURAL:$1|zu derre Said ghert|zu denne Saide ghert}}, wu e Kaskadesperrung gelt.\nDer Schutzstatus vun derre Said kannscht ännere, awwer des hot kää Aifluss uff d Kaskadesperrung.",
+       "protect-cascadeon": "Die Said isch gschizd, wail se {{PLURAL:$1|zu derre Said kead|zu denne Saide kead}}, wuä Kaskadeschberrung gild.\nÄnnarunge vum Saideschudz hodd awwa kän Oifluß uff die Kaskadeschberrung.",
        "protect-default": "Alle Middawaida erlauwe",
        "protect-fallback": "Bloß fa Laid mid \"$1\" Bereschdischung",
        "protect-level-autoconfirmed": "Naiji un nedd õgmeld Middawaida schberre",
        "protect-cantedit": "Du kannscht de Schutzstatus vun derre Said nit ännere, wail Du nid d Berechdichung dezu hoscht.",
        "restriction-type": "Berechdichung:",
        "restriction-level": "Schudsewene:",
-       "restriction-edit": "Beawaide",
+       "restriction-edit": "Schaffe",
        "restriction-move": "Verschiewe",
        "undelete": "Widderherschdelle",
        "undeletebtn": "Widderherschdelle",
        "tooltip-pt-login": "Du konnschd disch õmelde, awwa mugschd ned",
        "tooltip-pt-logout": "Uffhere",
        "tooltip-ca-talk": "Iwwa d Inhaldssaid dischbediere",
-       "tooltip-ca-edit": "Du konnschd die Said beawaide.\nBidde nemmde Vorschau-Gnobb vorm Schbaischare",
+       "tooltip-ca-edit": "Du konnschd onde Said schaffe.\nBidde nemmde Vorschau-Gnobb vorm Schbaischare",
        "tooltip-ca-addsection": "N'naije Abschnidd õleche",
        "tooltip-ca-viewsource": "Die Said isch gschizd. Du konnschdda de Gwelltegschd õgugge.",
        "tooltip-ca-history": "Ledschdi Ausgawe vunde Said",
        "namespacesall": "alle",
        "monthsall": "alle",
        "watchlisttools-view": "Die wischdische Ännarunge õgugge",
-       "watchlisttools-edit": "Beowachdunglischd õgugge un beawaide",
-       "watchlisttools-raw": "Im große Tegschdfeld beawaide",
+       "watchlisttools-edit": "Beowachdunglischd õgugge un drõ schaffe",
+       "watchlisttools-raw": "Im große Tegschdfeld schaffe",
        "duplicate-defaultsort": "'''Baßma uff:''' De Schlissl \"$2\" dudde frijare Schlissl \"$1\" iwwaschraiwe.",
        "specialpages": "Schbezialsaide",
        "specialpages-group-other": "Onare bsundare Saide",
index 6998c57..77db06f 100644 (file)
        "prefs-personal": "Dane użytkownika",
        "prefs-rc": "Ostatnie zmiany",
        "prefs-watchlist": "Obserwowane",
-       "prefs-watchlist-days": "Liczba dni widocznych na liście obserwowanych",
+       "prefs-watchlist-days": "Liczba dni widocznych na liście obserwowanych:",
        "prefs-watchlist-days-max": "Maksimum $1 {{PLURAL:$1|dzień|dni}}",
        "prefs-watchlist-edits": "Liczba edycji pokazywanych w rozszerzonej liście obserwowanych:",
        "prefs-watchlist-edits-max": "Maksymalnie 1000",
        "nextdiff": "następna edycja →",
        "mediawarning": "'''Uwaga!''' Plik w tym formacie może zawierać złośliwy kod.\nJeśli go otworzysz, możesz zarazić swój system.",
        "imagemaxsize": "Ograniczenie wielkości obrazków:<br /><em>(na stronach opisu plików)</em>",
-       "thumbsize": "Rozmiar miniaturki",
+       "thumbsize": "Rozmiar miniaturki:",
        "widthheightpage": "$1 × $2, $3 {{PLURAL:$3|strona|strony|stron}}",
        "file-info": "rozmiar pliku: $1, typ MIME: $2",
        "file-info-size": "$1 × $2 pikseli, rozmiar pliku: $3, typ MIME: $4",
index aab1129..db8a327 100644 (file)
        "movepage-moved-noredirect": "A criação de um redirecionamento foi suprimida.",
        "articleexists": "Uma página com este título já existe, ou o título que escolheu é inválido.\nPor favor, escolha outro nome.",
        "cantmove-titleprotected": "Você não pode mover uma página para tal denominação uma vez que o novo título se encontra protegido contra criação",
-       "movetalk": "Mover também a página de discussão associada.",
+       "movetalk": "Mover também a página de discussão associada",
        "move-subpages": "Mover subpáginas (até $1)",
        "move-talk-subpages": "Mover subpáginas da página de discussão (até $1)",
        "movepage-page-exists": "A página $1 já existe e não pode ser substituída.",
index c8bafd3..f8984a8 100644 (file)
        "block-log-flags-noemail": "correio electrónico desactivado",
        "block-log-flags-nousertalk": "impossibilitado de editar a própria página de discussão",
        "block-log-flags-angry-autoblock": "ativado o bloqueio automático melhorado",
-       "block-log-flags-hiddenname": "nome de usuário ocultado",
+       "block-log-flags-hiddenname": "nome de utilizador oculto",
        "range_block_disabled": "A funcionalidade de administrador para o bloqueio de gamas de IPs está desativada.",
        "ipb_expiry_invalid": "Tempo de expiração inválido.",
        "ipb_expiry_temp": "Bloqueios com nome de utilizador ocultado devem ser permanentes.",
        "movepage-moved-noredirect": "A criação de um redirecionamento foi suprimida.",
        "articleexists": "Uma página com este nome já existe, ou o nome que escolheu é inválido.\nEscolha outro nome, por favor.",
        "cantmove-titleprotected": "Não pode mover uma página para esse destino, porque o novo título foi protegido para evitar a sua criação",
-       "movetalk": "Mover também a página de discussão associada.",
+       "movetalk": "Mover também a página de discussão associada",
        "move-subpages": "Mover subpáginas (até $1)",
        "move-talk-subpages": "Mover subpáginas da página de discussão (até $1)",
        "movepage-page-exists": "A página $1 já existe e não pode ser substituída.",
index d0b5e25..e801516 100644 (file)
        "exif-flash-function-1": "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].\n{{Related|Exif-flash}}",
        "exif-flash-redeye-1": "{{Related|Exif-flash}}",
        "exif-focalplaneresolutionunit-2": "See also:\n* {{msg-mw|Exif-focalplaneresolutionunit}}",
-       "exif-sensingmethod-1": "{{Related|Exif-sensingmethod}}",
+       "exif-sensingmethod-1": "{{Related|Exif-sensingmethod}}\n{{Identical|Undefined}}",
        "exif-sensingmethod-2": "{{Related|Exif-sensingmethod}}",
        "exif-sensingmethod-3": "{{Related|Exif-sensingmethod}}",
        "exif-sensingmethod-4": "{{Related|Exif-sensingmethod}}",
index 22a2dfc..315993a 100644 (file)
        "category-empty": "''Эта категория в данный момент пуста.''",
        "hidden-categories": "{{PLURAL:$1|1=Скрытая категория|Скрытые категории}}",
        "hidden-category-category": "Скрытые категории",
-       "category-subcat-count": "{{PLURAL:$2|Эта категория содержит только следующую подкатегорию.|Эта категория содержит $1 {{PLURAL:$1|подкатегорию|подкатегорий|подкатегории}} из $2 всего.}}",
+       "category-subcat-count": "{{PLURAL:$2|1=Эта категория содержит только следующую подкатегорию.|В этой категории отображается $1 {{PLURAL:$1|подкатегория|подкатегорий|подкатегории}} из имеющихся $2.}}",
        "category-subcat-count-limited": "В этой категории {{PLURAL:$1|$1 подкатегория|$1 подкатегорий|$1 подкатегории}}.",
        "category-article-count": "{{PLURAL:$2|1=Эта категория содержит единственную страницу.|{{PLURAL:$1|Показана $1 страница|Показано $1 страниц|Показаны $1 страницы}} из $2, {{PLURAL:$2|находящейся|находящихся}} в данной категории.}}",
        "category-article-count-limited": "В этой категории {{PLURAL:$1|$1 страница|$1 страниц|$1 страницы|1=только одна страница}}.",
        "htmlform-float-invalid": "Указанное вами значение не является числом.",
        "htmlform-int-toolow": "Указанное вами значение ниже минимального — $1",
        "htmlform-int-toohigh": "указанное вами значение выше максимального — $1",
-       "htmlform-required": "Это значение необходимо",
+       "htmlform-required": "это значение необходимо",
        "htmlform-submit": "Отправить",
        "htmlform-reset": "Отменить изменения",
        "htmlform-selectorother-other": "Иное",
index 1beb6ca..40defaf 100644 (file)
        "right-block": "अस्य योजकस्य सम्पादनानि अवरुध्यताम्",
        "right-blockemail": "ई-पत्रप्रेषयितुम् एनं योजकम् अवरुद्ध्यताम्",
        "right-hideuser": "प्रयोक्तृनाम अवरुध्यताम्, तत् अन्ययोजकेभ्यः गोप्यतां च",
-       "right-ipblock-exempt": "IP अवरोधं मार्गयतु, स्वयम् अवरोधः, निर्दिष्टावरोधः ।",
-       "right-proxyunbannable": "अन्येषां स्वयंचालितावरोधं परिहरतु ।",
-       "right-unblockself": "स्वयम् अनवरोधं करोतु ।",
-       "right-protect": "सुरक्षास्तरान् परिवर्तयतु । सुरक्षितपुटानि सम्पादयतु ।",
-       "right-editprotected": "सुरक्षितपुटानि सम्पादयतु ।",
-       "right-editinterface": "योजकमाध्यमं सम्पादयतु ।",
-       "right-editusercssjs": "अन्ययोजकान् सम्पादयतु । सि.एस्.एस्. जावलालिपिसञ्चिकाः च ।",
-       "right-editusercss": "अन्ययोजकान् सम्पादयतु सि.एस्.एस्. सञ्चिकाः ।",
-       "right-edituserjs": "अन्ययोजकान सम्पादयतु जावालिपिसञ्चिकाः ।",
+       "right-ipblock-exempt": "स्वयम् अवरोधितं, समूहावरोधिम् अन्तर्जालसङ्केतम् (IP) अवगण्य अग्रे गच्छतु",
+       "right-proxyunbannable": "प्रतिनिधीनां (of prxies) स्वयम्-अवरोधान् अवगण्य अग्रे गच्छतु",
+       "right-unblockself": "स्वं अनवरुध्यताम्",
+       "right-protect": "सुरक्षास्तरं परिवर्त्यतां, क्रमबद्धानि सुरक्षितपृष्ठानि सम्पाद्यतां च",
+       "right-editprotected": "\"{{int:protect-level-sysop}}\"-त्वेन संरक्षितानि पृष्ठानि सम्पाद्यताम्",
+       "right-editsemiprotected": "\"{{int:protect-level-autoconfirmed}}\"-त्वेन संरक्षितानि पृष्ठानि सम्पाद्यताम्",
+       "right-editinterface": "योजकमाध्यमं सम्पाद्यताम्",
+       "right-editusercssjs": "अन्यस्य योजकस्य CSS, JavaScript सञ्चिकाः सम्पाद्यताम्",
+       "right-editusercss": "अन्यस्य योजकस्य CSS सञ्चिकाः सम्पाद्यताम्",
+       "right-edituserjs": "अन्यस्य योजकस्य JavaScript सञ्चिकाः सम्पाद्यताम्",
+       "right-editmyusercss": "स्वस्य CSS सञ्चिकाः सम्पाद्यताम्",
+       "right-editmyuserjs": "स्वस्य JavaScript सञ्चिकाः सम्पाद्यताम्",
+       "right-viewmywatchlist": "स्वस्य अवेक्षणावलिः दृष्यताम्",
        "right-rollback": "अन्तिमयोजकस्य सम्पादनं शीघ्रं प्रचालयतु यः निर्दिष्टपुटं सम्पादितवान् ।",
        "right-markbotedits": "प्रतिचालितसम्पादनानि स्वचालितसम्पदनं इव  अङ्कितानिकरोतु ।",
        "right-noratelimit": "मूल्यनियत्या प्रभावितं नस्यात् ।",
index 7b89944..d179005 100644 (file)
        "tog-watchlisthidebots": "Кэтээн көрүү тиһигэр робот уларытыытын көрдөрүмэ",
        "tog-watchlisthideminor": "Кыра уларытыылары кэтээмэ",
        "tog-watchlisthideliu": "Бэлиэтэммит кыттааччылар уларытыыларын кэтиир тиһиккэ көрдөрүмэ",
-       "tog-watchlisthideanons": "Ааттарын эппэтэх кыттааччылар уларытыыларын кэтээһин испииһэгэр көрдөрүмэ",
+       "tog-watchlisthideanons": "Ааттарын эппэтэх кыттааччылар уларытыыларын кэтээһин тиһигэр көрдөрүмэ",
        "tog-watchlisthidepatrolled": "Ботурууллааччы көрбүт көннөрүүтүн кэтээһин испииһэгэр көрдөрүмэ",
        "tog-ccmeonemails": "Атын кыттааччыларга суруйбут суруктарбын бэйэбэр эмиэ ыыт",
        "tog-diffonly": "Икки барылы тэҥнииргэ сирэй иһин көрдөрүмэ",
        "tog-showhiddencats": "Кистэммит категориялары көрдөр",
        "tog-norollbackdiff": "Төннөрүү кэнниттэн барыллар уратыларын көрдөрүмэ",
-       "tog-useeditwarning": "ЭÑ\80Ñ\8dдÑ\8dÑ\8dкÑ\81ийÑ\8dлииÑ\80 Ñ\81иÑ\80Ñ\8dйÑ\82Ñ\8dн Ñ\83лаÑ\80Ñ\8bÑ\82Ñ\8bÑ\8bлаÑ\80бÑ\8bн Ð±Ð¸Ð³Ñ\8dÑ\80гÑ\8dппÑ\8dккÑ\8d тахсаары гыннахпына сэрэтээр",
+       "tog-useeditwarning": "УлаÑ\80Ñ\8bÑ\82Ñ\8bÑ\8bлаÑ\80бÑ\8bн Ð±Ð¸Ð³Ñ\8dÑ\80гÑ\8dппÑ\8dккÑ\8d Ñ\81иÑ\80Ñ\8dйÑ\82Ñ\8dн тахсаары гыннахпына сэрэтээр",
        "tog-prefershttps": "Манна киирэргэ куруук көмүскэллээх холбонууну туттарга",
        "underline-always": "Куруук",
        "underline-never": "Аннынан тардыма",
        "namespaces": "Аат даллара",
        "variants": "Барыллар",
        "navigation-heading": "Навигация",
-       "errorpagetitle": "СÑ\8bÑ\8bһа",
+       "errorpagetitle": "Ð\90лÒ\95аÑ\81",
        "returnto": "Төттөрү $1 сирэйгэ.",
        "tagline": "{{SITENAME}} диэн сиртэн ылыллыбыт",
        "help": "Көмө",
        "searchbutton": "Бул",
        "go": "Бар",
        "searcharticle": "Көрдөр",
-       "history": "Ð\98Ñ\81Ñ\82оÑ\80иÑ\8fта",
-       "history_short": "Ð\98Ñ\81Ñ\82оÑ\80иÑ\8f",
+       "history": "УÑ\81Ñ\82Ñ\83оÑ\80Ñ\83йата",
+       "history_short": "УÑ\81Ñ\82Ñ\83оÑ\80Ñ\83йа",
        "updatedmarker": "Кэнники киириим кэнниттэн уларыйыылар",
-       "printableversion": "Ð\91Ñ\8dÑ\87Ñ\8dÑ\8dÑ\82Ñ\82ииÑ\80гÑ\8d Ð°Ð½Ð°Ð°Ð½ ÐºÓ©Ñ\80Ò¯Ò¯",
-       "permalink": "Ð\9aÑ\83Ñ\80Ñ\83Ñ\83к Ð±Ð°Ð°Ñ\80 Ñ\8bйÑ\8bннÑ\8cÑ\8bк",
+       "printableversion": "Ð\91Ñ\8dÑ\87Ñ\8dÑ\8dÑ\82Ñ\82ииÑ\80гÑ\8d Ð°Ð½Ð°Ð»Ð»Ð°Ð°Ñ\85 Ð±Ð°Ñ\80Ñ\8bл",
+       "permalink": "Ð\9aÑ\83Ñ\80Ñ\83Ñ\83к Ð±Ð°Ð°Ñ\80 Ñ\81игÑ\8d",
        "print": "Бэчээттээ",
        "view": "Көрүү",
        "view-foreign": "Манна көрүү: $1",
        "create-this-page": "Бу сирэйи ай",
        "delete": "Соттор",
        "deletethispage": "Бу сирэйи соттор",
-       "undeletethispage": "Бу сирэйи сөргүт (төннөр)",
-       "undelete_short": "Төттөрү аҕал {{PLURAL:$1|биир уларытыыны|$1 уларытыылары}}",
+       "undeletethispage": "Бу сирэйи сөргүт",
+       "undelete_short": "{{PLURAL:$1|Биир уларытыыны|$1 уларытыыны}} сөргүт",
        "viewdeleted_short": "{{PLURAL:$1|Соҕотох сотторуллубут көннөрүүнү|$1 сотторуллубут көннөрүүнү}} көрүү",
        "protect": "Уларыппат гын",
        "protect_change": "уларытыы",
        "protectthispage": "Бу сирэйи уларыппат гын",
-       "unprotect": "УлаÑ\80Ñ\8bÑ\82аÑ\80Ñ\8b ÐºÓ©Ò¥Ò¯Ð»Ð»Ñ\8dÑ\8d",
+       "unprotect": "Ð\9aөмүÑ\81кÑ\8dлин Ñ\83лаÑ\80Ñ\8bÑ\82",
        "unprotectthispage": "Бу сирэй көмүскэлин уларыт",
        "newpage": "Саҥа сирэй",
        "talkpage": "Бу сирэйи ырыт",
        "talkpagelinktext": "Ырытыы",
        "specialpage": "Анал сирэй",
-       "personaltools": "ТÑ\83Ñ\81 Ð±Ñ\8dйÑ\8d Ñ\82Ñ\83Ñ\82Ñ\82аÑ\80 Ñ\82Ñ\83Ñ\80Ñ\83оÑ\80Ñ\83Ñ\83лаÑ\80а",
+       "personaltools": "ТÑ\83Ñ\81 Ð±Ñ\8dйÑ\8d Ñ\82Ñ\83Ñ\82Ñ\82аÑ\80 Ñ\82Ñ\8dÑ\80иллÑ\8dÑ\80Ñ\8d",
        "postcomment": "Саҥа түһүмэх",
        "articlepage": "Ыстатыйаны көр",
        "talk": "Ырытыы",
-       "views": "Көрүүлэр",
+       "views": "Көрүү",
        "toolbox": "Сэп-сэбиргэл",
        "userpage": "Кыттааччы туһунан сирэй",
        "projectpage": "Бырайыак сирэйэ",
        "right-move": "Сирэйдэр ааттарын уларытыы",
        "right-move-subpages": "Сирэйдэр ааттарын иһигэр киирэр сирэйдэри кытта уларытыы",
        "right-move-rootuserpages": "Кыттааччылар сирэйдэрин аатын уларытыы",
+       "right-move-categorypages": "Категория сирэйдэрин аатын уларытыы",
        "right-movefile": "билэлэр ааттарын уларытыы",
        "right-suppressredirect": "Аатын уларытарга урукку ааттан утаарыы сирэй кыайан оҥоһуллубат",
        "right-upload": "Билэлэри киллэр",
        "action-move": "бу сирэй аатын уларытыы",
        "action-move-subpages": "бу сирэй уонна кини аннынааҕы сирэйдэр ааттарын уларытыы",
        "action-move-rootuserpages": "кыттааччылар тус сирэйдэрин аатын уларытыы",
+       "action-move-categorypages": "категория сирэйдэрин аатын уларытыы",
        "action-movefile": "бу билэни аатын уларытарга",
        "action-upload": "бу билэни суруттар",
        "action-reupload": "баар билэни хат суруйуу",
        "doubleredirects": "Хос көһөрөөһүн",
        "doubleredirectstext": "Бу сирэйгэ атын сиргэ утаарар хос утаарыылар тиһиктэрэ көстөр.\nХас устуруока аайы бастакы уонна иккис утаарыга сигэ баар, ону таһынан иккис утаарыыга баар сирэй аадырыһа (аата) баар, ол аата бастакы утаарыы дьиҥинэн ханна утаарыахтааҕа көстөр.\n<del>Сотуллубут</del> суруктар көннөрүллүбүттэр.",
        "double-redirect-fixed-move": "[[$1]] сирэй аата уларытыллыбыт.\nАптамаатынан саҥардыллыбыт уонна бу сирэйгэ утаарар [[$2]].",
-       "double-redirect-fixed-maintenance": "[[$1]] сирэйтэн [[$2]] сирэйгэ хос утаарыыны көннөрүү.",
+       "double-redirect-fixed-maintenance": "[[$1]] сирэйтэн [[$2]] сирэйгэ хос утаарыыны көннөрүү оҥоһулла сылдьар.",
        "double-redirect-fixer": "Утаарыылары көннөрөөччү",
        "brokenredirects": "Быстыбыт көһөрүүлэр",
        "brokenredirectstext": "Бу утаарыы сирэйдэрэ суох ыстатыйаларга сигэнэллэр (ыыталлар):",
        "watchnologin": "Бэйэҕин билиһиннэр",
        "addwatch": "Кэтэбил тиһигэр киллэр",
        "addedwatchtext": "«[[:$1]]» сирэй [[Special:Watchlist|кэтэбил тиһигэр]] киирдэ.\nСирэй уларытыылара уонна кинини кытта ситимнээх ырытыы сирэйин уларытыылара бүгүҥҥүттэн онно көстөр буолуохтара.",
+       "addedwatchtext-short": "\"$1\" диэн сирэй кэтэбилиҥ тиһигэр эбилиннэ.",
        "removewatch": "Кэтэбил тиһигиттэн сот",
        "removedwatchtext": "[[:$1]]\" сирэй [[Special:Watchlist|кэтэбилиҥ тиһигиттэн]] сотулунна.",
+       "removedwatchtext-short": "\"$1\" диэн сирэй кэтэбилиҥ тиһигиттэн сотулунна.",
        "watch": "Кэтээ",
        "watchthispage": "Бу сирэйи кэтээ",
        "unwatch": "Кэтээмэ",
        "movepagetalktext": "Холбонуллубут ырытыы (баар буоллаҕына) эмиэ аатын уларытыа. Ол сатаммат түбэлтэлэрэ:\n*Маннык ааттаах кураанах буолбатах ырытыы баар буоллаҕына\n*Манна бэлиэ туруорбатаххына.\n\nИти түгэннэргэ сирэйдэри бэйэҥ көһөрүөхтээххин эбэтэр холбуохтааххын.",
        "movearticle": "Бу аатын уларыт:",
        "moveuserpage-warning": "'''Болҕой:''' Эн кыттааччы тус сирэйин аатын уларытаары гынныҥ. Инньэ гыннаххына сирэй аата эрэ уларыйыа, кыттааччы бэйэтин аата уларыйыа '''суоҕа'''.",
+       "movecategorypage-warning": "<strong>Сэрэтии:</strong> Категория сирэйин көһөрөөрү гынныҥ. Бука диэн, өйдөө, бу эрэ сирэй көһүө, эргэ категория атын сирэйдэрэ саҥа категорияҕа <em>киириэхтэрэ суоҕа</em>.",
        "movenologintext": "Эн аакын [[Special:UserLogin|билиһиннэрдэххинэ]] эрэ сирэй аатын уларытар кыахтаныаҥ.",
        "movenotallowed": "Cирэйдэр ааттарын уларытар кыаҕыҥ суох.",
        "movenotallowedfile": "Билэлэр ааттарын уларытар кыаҕыҥ суох.",
        "cant-move-user-page": "Эн кыттааччылар сүрүн сирэйдэрин аатын уларытар кыаҕыҥ суох.",
        "cant-move-to-user-page": "Эн кыттааччы аатын далыгар сирэйдэри уларытар кыаҕыҥ суох (анныкы сирэйдэриттэн ураты).",
+       "cant-move-category-page": "Категория сирэйин аатын уларытар кыаҕыҥ суох эбит.",
+       "cant-move-to-category-page": "Сирэй аатын уларытан категория сирэйэ гынар кыаҕыҥ суох эбит.",
        "newtitle": "Саҥа аата:",
        "move-watch": "Кэтээн көрөргө",
        "movepagebtn": "Аатын уларыт",
        "newimages-summary": "Бу анал сирэй киллэриллибит билэлэр испииһэктэрин көрдөрөр.",
        "newimages-legend": "Фильтр",
        "newimages-label": "Билэ аата (эбэтэр сорҕото):",
+       "newimages-showbots": "Руобаттар хачайдааһыннарын көрдөр",
        "noimages": "Ойуу суох.",
        "ilsubmit": "Көрдөт",
        "bydate": "айыллыбыт кэминэн",
        "watchlistedit-raw-done": "Саҥа испииһэк бигэргэтилиннэ.",
        "watchlistedit-raw-added": "Тиһиккэ {{PLURAL:$1|1 пуун эбилиннэ|$1 пуун эбии киирдэ}}:",
        "watchlistedit-raw-removed": "Испииһэктэн {{PLURAL:$1|1 пуун|$1 пуун}} көҕүрээтэ:",
+       "watchlistedit-clear-title": "Кэтэбил тиһигэ ыраастанна",
+       "watchlistedit-clear-legend": "Кэтэбил тиһигин сот",
+       "watchlistedit-clear-explain": "Кэтэбилиҥ тиһигиттэн бары суруктар сотуллуохтара",
+       "watchlistedit-clear-titles": "Баһа:",
+       "watchlistedit-clear-submit": "Кэтэбил тиһигин сот (сөргүтүллүбэт!)",
+       "watchlistedit-clear-done": "Кэтэбилиҥ тиһигэ ыраастанна.",
+       "watchlistedit-clear-removed": "{{PLURAL:$1|соҕотох сурук|$1 сурук}} сотулунна:",
+       "watchlistedit-too-many": "Манна кыайан көстүбэт элбэх сирэй.",
+       "watchlisttools-clear": "Кэтэбил тиһигин сот",
        "watchlisttools-view": "Атыҥҥа сабыдыаллаах уларытыылар",
        "watchlisttools-edit": "Кэтэбил испииһэгин көрүү/уларытыы",
        "watchlisttools-raw": "\"Сиикэй\" испииһэги уларытыы",
index 3cbd84d..1b5b4fd 100644 (file)
        "userlogin-noaccount": "Nun ci l'hai nu cuntu?",
        "userlogin-joinproject": "Scrìviti a {{SITENAME}}",
        "nologin": "Nun nn'aviti nu cuntu pi ccà? '''$1'''.",
-       "nologinlink": "Criati nu cuntu sùbbitu",
+       "nologinlink": "Arriggistràtivi",
        "createaccount": "Criati un cuntu novu",
        "gotaccount": "Hai già nu cuntu? '''$1'''.",
        "gotaccountlink": "Trasi",
        "userlogin-resetlink": "T'ascurdasti li dittagli pâ trasuta?",
        "userlogin-resetpassword-link": "Reinizzializza la tò password",
+       "userlogin-helplink2": "Aiutu pâ trasuta",
        "createacct-emailrequired": "Nnirizzu e-mail",
        "createacct-emailoptional": "Nnirizzu e-mail (facurtativu)",
        "createacct-email-ph": "Nzirisci lu tò nnirizzu e-mail",
        "login-abort-generic": "La trasuta nun arriniscìu - Annullata",
        "loginlanguagelabel": "Lingua: $1",
        "suspicious-userlogout": "La tò dumanna di discunnissioni fu niàta prichì pari ca veni di nu browser nun funziunanti o nu proxy di caching.",
+       "pt-login": "Trasi",
+       "pt-login-button": "Trasi",
+       "pt-createaccount": "Criati un cuntu novu",
+       "pt-userlogout": "Nesci",
        "changepassword": "Cancia la password",
-       "resetpass_announce": "Hai effittuatu l'accessu cu na password timpurània ca t'hà statu mannata via email. Pi tirminari l'accessu, hai a nziriri na password nova ccà:",
+       "resetpass_announce": "Pi tirminari l'accessu, hai a nziriri na password nova ccà:",
        "resetpass_text": "<!-- Agghiunci lu testu ccà -->",
        "resetpass_header": "Rimposta la password",
        "oldpassword": "Password vecchia:",
        "newpassword": "Password nova:",
        "retypenew": "Scrivi n'àutra vota la password",
        "resetpass_submit": "Mposta la password e accedi",
-       "changepassword-success": "Lu canciu password hà statu effittuatu cu successu! Ora stai effittuannu l'accessu...",
+       "changepassword-success": "Lu canciu password hà statu effittuatu cu successu!",
+       "changepassword-throttled": "Facisti troppi tintativi.\nAspetta $1 prima d'arripruvari n'àutra vota.",
        "resetpass_forbidden": "Li password nun ponnu èssiri canciati sùpira sta wiki",
        "resetpass-no-info": "Pi tràsiri nta sta pàggina hà èssiri riggistratu",
        "resetpass-submit-loggedin": "Cancia la password",
        "prefs-emailconfirm-label": "Conferma dâ e-mail:",
        "youremail": "Lu tò nnirizzu email:",
        "username": "Nomu d'utenti:",
-       "uid": "ID utenti:",
        "prefs-memberingroups": "Cumpunenti {{PLURAL:$1|dû gruppu|dî gruppi}}:",
        "prefs-registration": "Data di riggistrazioni:",
        "yourrealname": "Lu tò nomu veru*",
        "logempty": "Lu log nun cunteni elementi currispunnenti â ricerca.",
        "log-title-wildcard": "Attrova tituli chi ncignanu cu",
        "allpages": "Tutti li paggini",
-       "alphaindexline": "di $1 a $2",
        "nextpage": "Pàggina doppu ($1)",
        "prevpage": "Pàggina pricidenti ($1)",
        "allpagesfrom": "Ammustra li pàggini a pàrtiri di:",
index 173095e..eaaf241 100644 (file)
        "morelinkstoimage": "Preglejte [[Special:WhatLinksHere/$1|več povezav]] na to datoteko.",
        "linkstoimage-redirect": "$1 (preusmeritev datoteke) $2",
        "duplicatesoffile": "{{PLURAL:$1|Sledeča datoteka je dvojnik|Sledeči datoteki sta dvojnika|Sledeče $1 datoteke so dvojniki|Sledečih $1 datotek so dvojniki}} te datoteke ([[Special:FileDuplicateSearch/$2|več podrobnosti]]):",
-       "sharedupload": "Datoteka je del projekta $1 in se lahko uporabi v drugih projektih.",
-       "sharedupload-desc-there": "Datoteka je iz projekta $1 in se lahko uporablja v drugih projektih.\nProsimo, oglejte si [$2 opisno stran datoteke] za dodatne informacije.",
-       "sharedupload-desc-here": "Datoteka je iz projekta $1 in se lahko uporablja v drugih projektih.\nPovzetek na njeni [$2 opisni strani datoteke] je prikazan spodaj.",
-       "sharedupload-desc-edit": "Datoteka je z $1 in jo morda uporabljajo drugi projekti.\nMorda želite urediti njeno opisno stran na tamkajšnji [$2 opisni strani datoteke].",
-       "sharedupload-desc-create": "Datoteka je z $1 in jo morda uporabljajo drugi projekti.\nMorda želite urediti njeno opisno stran na tamkajšnji [$2 opisni strani datoteke].",
+       "sharedupload": "Datoteka je s projekta $1 in se lahko uporabi v drugih projektih.",
+       "sharedupload-desc-there": "Datoteka je s projekta $1 in se lahko uporablja v drugih projektih.\nProsimo, oglejte si [$2 opisno stran datoteke] za dodatne informacije.",
+       "sharedupload-desc-here": "Datoteka je s projekta $1 in se lahko uporablja v drugih projektih.\nPovzetek na njeni [$2 opisni strani datoteke] je prikazan spodaj.",
+       "sharedupload-desc-edit": "Datoteka je s projekta $1 in jo morda uporabljajo drugi projekti.\nMorda želite urediti njeno opisno stran na tamkajšnji [$2 opisni strani datoteke].",
+       "sharedupload-desc-create": "Datoteka je s projekta $1 in jo morda uporabljajo drugi projekti.\nMorda želite urediti njeno opisno stran na tamkajšnji [$2 opisni strani datoteke].",
        "filepage-nofile": "Datoteka s tem imenom ne obstaja.",
        "filepage-nofile-link": "Datoteka s tem imenom ne obstaja, vendar pa jo lahko [$1 naložite].",
        "uploadnewversion-linktext": "Naložite novo različico datoteke",
index 7d6655c..9e523ba 100644 (file)
        "rclistfrom": "Itusi isbedelada cusub oo ka bilaabaneyso $3 $2",
        "rcshowhideminor": "$1 bedelada yar",
        "rcshowhidebots": "$1 botyaalo",
+       "rcshowhidebots-show": "I tus",
        "rcshowhideliu": "$1 isticmaalada-soo galay",
+       "rcshowhideliu-show": "I tus",
        "rcshowhideanons": "$1 isticmaalada la aqoon",
+       "rcshowhideanons-show": "I tus",
        "rcshowhidepatr": "$1 bedelada la waardiyeeyay",
+       "rcshowhidepatr-show": "I tus",
        "rcshowhidemine": "$1 wax badalkeyga",
+       "rcshowhidemine-show": "I tus",
        "rclinks": "Itusi isbadeladii  $1 ee ugu danbeeyay oo dhacay wixii ka danbeeyay $2 maalmood<br />$3",
        "diff": "duwanaan",
        "hist": "taariikh",
        "randompage": "Ku nasiibso bog",
        "brokenredirects-edit": "wax ka bedel",
        "brokenredirects-delete": "tirtir",
+       "withoutinterwiki-submit": "I tus",
        "nbytes": "$1 {{PLURAL:$1|bayt|bayt}}",
        "nmembers": " $1 {{PLURAL:$1|ka mid ah|ka mid ah}}",
        "lonelypages": "Boggaga agoonta ah",
index c65f08c..ae6f6ec 100644 (file)
        "resetpass-abort-generic": "Промену лозинке је спречио додатак.",
        "resetpass-expired": "Ваша лозинка је истекла. Поставите нову лозинку да бисте се пријавили.",
        "resetpass-expired-soft": "Ваша лозинка је истекла и морате поставити нову. Поставите нову лозинку или кликните „{{int:resetpass-submit-cancel}}“ да је поставите касније.",
+       "resetpass-validity-soft": "Ваша лозинка није ваљана: $1\n\nМолимо изаберите нову или кликните „{{int:resetpass-submit-cancel}}“ да ресетујете касније.",
        "passwordreset": "Обнављање лозинке",
        "passwordreset-text-one": "Попуните овај образац да бисте ресетовали лозинку.",
        "passwordreset-text-many": "{{PLURAL:$1|Испуните једно од поља како би сте добили привремену лозинку на е-пошту.}}",
        "parser-unstrip-recursion-limit": "Прекорачено је ограничење рекурзије ($1)",
        "converter-manual-rule-error": "Пронађена је грешка у правилу за ручно претварање језика",
        "undo-success": "Измена се може вратити.\nПроверите разлике испод, па сачувајте измене.",
-       "undo-failure": "Ова измена се не може поништити због конфликта измена.",
+       "undo-failure": "Ова измена се не може поништити због сукоба измена.",
        "undo-norev": "Не могу да вратим измену јер не постоји или је обрисана.",
        "undo-nochange": "Изгледа да је измена већ поништена.",
        "undo-summary": "Поништена измена $1 {{GENDER:$2|корисника|кориснице}} [[Special:Contributions/$2|$2]] ([[User talk:$2|разговор]])",
        "right-edituserjs": "уређивање туђих JavaScript датотека",
        "right-editmyusercss": "уређивање сопствених CSS датотека",
        "right-editmyuserjs": "уређивање сопствених JavaScript датотека",
-       "right-viewmywatchlist": "Види списак надгледања",
+       "right-viewmywatchlist": "vidi sopstveni spisak nadgledanja",
        "right-viewmyprivateinfo": "видите своје личне податке (нпр. адресу е-поште, право име)",
        "right-editmyprivateinfo": "уређивање сопствених личних података (нпр. адресу е-поште, право име)",
        "right-editmyoptions": "уредите своја подешавања",
        "action-siteadmin": "закључавање или откључавање базе података",
        "action-sendemail": "слање е-порука",
        "action-editmywatchlist": "измени свој списак надгледања",
-       "action-viewmywatchlist": "види списак надгледања",
+       "action-viewmywatchlist": "пÑ\80еглед Ð²Ð°Ñ\88ег списак надгледања",
        "action-viewmyprivateinfo": "прегледање ваших личних података",
        "action-editmyprivateinfo": "уређивање ваших личних података",
        "nchanges": "$1 {{PLURAL:$1|измена|измене|измена}}",
        "download": "преузми",
        "unwatchedpages": "Ненадгледане странице",
        "listredirects": "Списак преусмерења",
-       "listduplicatedfiles": "Списак дупликата датотека",
+       "listduplicatedfiles": "Списак дуплираних датотека",
        "listduplicatedfiles-summary": "Ово је списак датотека које су дупликат неких других датотека. Само локалне датотеке су приказане.",
        "listduplicatedfiles-entry": "[[:File:$1|$1]] има [[$3|{{PLURAL:$2|један дупликат|$2 дупликата}}]].",
        "unusedtemplates": "Некоришћени шаблони",
        "watchnologin": "Нисте пријављени",
        "addwatch": "Додај на списак надгледања",
        "addedwatchtext": "Страница „[[:$1]]“ је додата на ваш [[Special:Watchlist|списак надгледања]].\nБудуће измене ове странице и њене странице за разговор биће наведене тамо.",
+       "addedwatchtext-short": "Страница „$1“ је додата на ваш списак надгледања.",
        "removewatch": "Уклони са списка надгледања",
        "removedwatchtext": "Страница „[[:$1]]“ је уклоњена с вашег [[Special:Watchlist|списка надгледања]].",
+       "removedwatchtext-short": "Страница „$1“ је уклоњена с вашег списка надгледања.",
        "watch": "Надгледај",
        "watchthispage": "Надгледај ову страницу",
        "unwatch": "Прекини надгледање",
        "watchlistedit-raw-done": "Ваш списак надгледања је ажуриран.",
        "watchlistedit-raw-added": "{{PLURAL:$1|Додат је један наслов|Додата су $1 наслова|Додато је $1 наслова}}:",
        "watchlistedit-raw-removed": "{{PLURAL:$1|1 наслов је уклоњен|Уклоњена су $1 наслова|Уклоњено је $1 наслова}}:",
+       "watchlistedit-clear-title": "Пражњење списка надгледања",
+       "watchlistedit-clear-legend": "Испразни списак надгледања",
+       "watchlistedit-clear-explain": "Сви наслови ће бити уклоњени из вашег списка надгледања.",
+       "watchlistedit-clear-titles": "Наслови:",
+       "watchlistedit-clear-submit": "Испразни списак надгледања (Ово је трајно!)",
+       "watchlistedit-clear-done": "Ваш списак надгледања је испражњен.",
+       "watchlistedit-clear-removed": "{{PLURAL:$1|1 наслов је уклоњен|$1 наслова је уклоњено}}:",
+       "watchlisttools-clear": "испразни списак ндгледања",
        "watchlisttools-view": "прикажи сродне измене",
        "watchlisttools-edit": "прикажи и уреди списак надгледања",
        "watchlisttools-raw": "измени сиров списак надгледања",
        "redirect-legend": "Преусмери на датотеку или страницу",
        "redirect-submit": "Иди",
        "redirect-value": "Вредност:",
-       "redirect-user": "Кориснички ID:",
+       "redirect-user": "Кориснички ID",
        "redirect-page": "ID странице",
        "redirect-file": "Назив датотеке",
        "redirect-not-exists": "Вредност није пронађена",
        "duration-decades": "$1 {{PLURAL:$1|деценија|деценије|деценија}}",
        "duration-centuries": "$1 {{PLURAL:$1|век|века|векова}}",
        "duration-millennia": "$1 {{PLURAL:$1|миленијум|миленијума|миленијума}}",
-       "rotate-comment": "Слика је ротирана у смеру казаљке на сату за {{PLURAL:$1|степени}}",
+       "rotate-comment": "Слика је ротирана за $1° у смеру казаљке на сату",
        "limitreport-cputime-value": "$1 {{PLURAL:$1|секунда|секунд|секунди}}",
        "limitreport-walltime-value": "$1 {{PLURAL:$1|секунда|секунди}}",
        "limitreport-postexpandincludesize-value": "$1/$2 {{PLURAL:$2|бајт|бајта|бајтова}}",
index 89b1758..058b29d 100644 (file)
        "jumptonavigation": "navigaciju",
        "jumptosearch": "pretragu",
        "view-pool-error": "Nažalost, serveri su trenutno preopterećeni.\nPreviše korisnika pokušava da pregleda ovu stranicu.\nSačekajte neko vreme pre nego što ponovo pokušate da joj pristupite.\n\n$1",
+       "generic-pool-error": "Nažalost, serveri su trenutno preopterećeni.\nPreviše korisnika pokušava da vidi ovaj resurs.\nSačekajte neko vreme pre nego što ponovo pokušate da mu pristupite.",
        "pool-timeout": "Istek vremena čeka na zaključavanje",
        "pool-queuefull": "Red je pun zahteva",
        "pool-errorunknown": "Nepoznata greška",
        "virus-unknownscanner": "nepoznati antivirus:",
        "logouttext": "'''Odjavljeni ste.'''\n\nImajte na umu da neke stranice mogu nastaviti da se prikazuju kao da ste još prijavljeni, sve dok ne očistite privremenu memoriju svog pregledača.",
        "welcomeuser": "Dobrodošli, $1!",
+       "welcomecreation-msg": "Vaš nalog je otvoren.\nNe zaboravite da promenite svoja [[Special:Preferences|podešavanja]].",
        "yourname": "Korisničko ime:",
        "userlogin-yourname": "Korisničko ime",
        "userlogin-yourname-ph": "Unesite vaše korisničko ime",
        "retypenew": "Potvrda lozinke:",
        "resetpass_submit": "Postavi lozinku i prijavi me",
        "changepassword-success": "Vaša lozinka je uspešno promenjena.",
+       "changepassword-throttled": "Previše puta ste pokušali da se prijavite.\nMolimo vas da sačekate $1 pre nego što pokušate ponovo.",
        "resetpass_forbidden": "Lozinka ne može biti promenjena",
        "resetpass-no-info": "Morate biti prijavljeni da biste pristupili ovoj stranici.",
        "resetpass-submit-loggedin": "Promeni lozinku",
        "resetpass-abort-generic": "Promenu lozinke je sprečio dodatak.",
        "resetpass-expired": "Vaša lozinka je istekla. Postavite novu lozinku da biste se prijavili.",
        "resetpass-expired-soft": "Vaša lozinka je istekla i morate postaviti novu. Postavite novu lozinku ili kliknite „{{int:resetpass-submit-cancel}}“ da je postavite kasnije.",
+       "resetpass-validity-soft": "Vaša lozinka nije valjana: $1\n\nMolimo izaberite novu ili kliknite „{{int:resetpass-submit-cancel}}“ da resetujete kasnije.",
        "passwordreset": "Obnavljanje lozinke",
        "passwordreset-text-one": "Popunite ovaj obrazac da biste resetovali lozinku.",
        "passwordreset-text-many": "{{PLURAL:$1|Ispunite jedno od polja kako bi ste dobili privremenu lozinku na e-poštu.}}",
        "changeemail-oldemail": "Trenutna e-adresa:",
        "changeemail-newemail": "Nova e-adresa:",
        "changeemail-none": "(ništa)",
+       "changeemail-password": "Vaša lozinka:",
        "changeemail-submit": "Promeni",
        "changeemail-cancel": "Otkaži",
+       "changeemail-throttled": "Previše puta ste pokušali da se prijavite.\nMolimo vas da sačekate $1 pre nego što pokušate ponovo.",
+       "resettokens": "Resetuje tokene",
+       "resettokens-no-tokens": "Nema tokena za resetovanje.",
+       "resettokens-legend": "Resetuje tokene",
+       "resettokens-tokens": "Tokeni:",
        "resettokens-token-label": "$1 (trenutna vrednost: $2)",
+       "resettokens-watchlist-token": "Token za veb dovod (Atom/RSS) vašeg [[Special:Watchlist|spiska nadgledanja]]",
+       "resettokens-done": "Tokeni su resetovani",
+       "resettokens-resetbutton": "Resetuj izabrane tokene",
        "bold_sample": "Podebljan tekst",
        "bold_tip": "Podebljan tekst",
        "italic_sample": "Iskošeni tekst",
        "edit-gone-missing": "Ne mogu da ažuriram stranicu.\nIzgleda da je obrisana.",
        "edit-conflict": "Sukob izmena.",
        "edit-no-change": "Vaša izmena je zanemarena jer nije bilo nikakvih izmena u tekstu.",
+       "postedit-confirmation-created": "Stranica je napravljena.",
+       "postedit-confirmation-restored": "Stranica je vraćena.",
        "postedit-confirmation-saved": "Vaša izmena je sačuvana.",
        "edit-already-exists": "Ne mogu da napravim stranicu.\nIzgleda da ona već postoji.",
        "defaultmessagetext": "Podrazumevani tekst poruke",
        "invalid-content-data": "Neispravni podaci sadržaja",
        "content-not-allowed-here": "Sadržaj modela „$1“ nije dozvoljen na stranici [[$2]]",
        "editwarning-warning": "Ako napustite ovu stranicu, izgubićete sve izmene koje ste napravili.\nAko ste prijavljeni, možete onemogućiti ovo upozorenje u svojim podešavanjima, u odeljku „{{int:prefs-editing}}“.",
+       "editpage-notsupportedcontentformat-title": "Format sadržaja nije podržan",
        "content-model-wikitext": "vikitekst",
        "content-model-text": "čist tekst",
        "content-model-javascript": "javaskript",
        "parser-unstrip-recursion-limit": "Prekoračeno je ograničenje rekurzije ($1)",
        "converter-manual-rule-error": "Pronađena je greška u pravilu za ručno pretvaranje jezika",
        "undo-success": "Izmena se može vratiti.\nProverite razlike ispod, pa sačuvajte izmene.",
-       "undo-failure": "Ova izmena se ne može poništiti zbog konflikta izmena.",
+       "undo-failure": "Ova izmena se ne može poništiti zbog sukoba izmena.",
        "undo-norev": "Ne mogu da vratim izmenu jer ne postoji ili je obrisana.",
+       "undo-nochange": "Izgleda da je izmena već poništena.",
        "undo-summary": "Poništena izmena $1 {{GENDER:$2|korisnika|korisnice}} [[Special:Contributions/$2|$2]] ([[User talk:$2|razgovor]])",
        "undo-summary-username-hidden": "Poništi izmenu $1 skrivenog korisnika",
        "cantcreateaccounttitle": "Ne mogu da otvorim nalog",
        "shown-title": "Prikaži $1 {{PLURAL:$1|rezultat|rezultata|rezultata}} po stranici",
        "viewprevnext": "Pogledaj ($1 {{int:pipe-separator}} $2) ($3).",
        "searchmenu-exists": "'''Postoji i članak pod nazivom „[[:$1]]“.'''",
-       "searchmenu-new": "'''Napravite stranicu „[[:$1]]“.'''",
+       "searchmenu-new": "<strong>Napravite stranicu „[[:$1]]“!</strong> {{PLURAL:$2|0=|Vidi takođe razultate pretrage.}}",
        "searchprofile-articles": "Članci",
        "searchprofile-project": "Stranice pomoći i projekata",
        "searchprofile-images": "Datoteke",
        "search-section": "(odeljak $1)",
        "search-suggest": "Da li ste mislili na: $1",
        "search-interwiki-caption": "Bratski projekti",
-       "search-interwiki-default": "$1 rezultati:",
+       "search-interwiki-default": "Rezultati sa $1:",
        "search-interwiki-more": "(više)",
        "search-relatedarticle": "Povezano",
        "searcheverything-enable": "svi imenski prostori",
        "powersearch-togglenone": "ništa",
        "search-external": "Spoljna pretraga",
        "searchdisabled": "Pretraga je onemogućena.\nU međuvremenu možete tražiti preko Gugla.\nUpamtite da njegovi popisi ovog vikija mogu biti zastareli.",
+       "search-error": "Došlo je do greške prilikom pretrage: $1",
        "preferences": "Podešavanja",
        "mypreferences": "Podešavanja",
        "prefs-edits": "Broj izmena:",
        "userrights-changeable-col": "Grupe koje možete da promenite",
        "userrights-unchangeable-col": "Grupe koje ne možete da promenite",
        "userrights-irreversible-marker": "$1*",
+       "userrights-removed-self": "Uspešno ste sebi skinuli prava. Zbog toga nije vam dozvoljen pristup ovoj stranici.",
        "group": "Grupa:",
        "group-user": "Korisnici",
        "group-autoconfirmed": "Automatski potvrđeni korisnici",
        "right-editusercssjs": "uređivanje tuđih CSS i javaskript datoteka",
        "right-editusercss": "uređivanje tuđih CSS datoteka",
        "right-edituserjs": "uređivanje tuđih JavaScript datoteka",
+       "right-editmyusercss": "uređivanje sopstvenih CSS datoteka",
        "right-editmyuserjs": "uređivanje sopstvenih JavaScript datoteka",
+       "right-viewmywatchlist": "vidi sopstveni spisak nadgledanja",
        "right-viewmyprivateinfo": "vidite svoje lične podatke (npr. adresu e-pošte, pravo ime)",
        "right-editmyprivateinfo": "uređivanje sopstvenih ličnih podataka (npr. adresu e-pošte, pravo ime)",
        "right-editmyoptions": "uredite svoja podešavanja",
        "action-createpage": "pravljenje stranica",
        "action-createtalk": "pravljenje stranica za razgovor",
        "action-createaccount": "otvaranje ovog korisničkog naloga",
+       "action-history": "gledanje istorije ove stranice",
        "action-minoredit": "označavanje ove izmene kao manje",
        "action-move": "premesti ovu stranicu",
        "action-move-subpages": "premeštanje ove stranice i njenih podstranica",
        "action-block": "blokiranje daljih izmena ovog korisnika",
        "action-protect": "menjanje stepena zaštite ove stranice",
        "action-rollback": "brzo vraćanje izmena poslednjeg korisnika koji je menjao određenu stranicu",
-       "action-import": "uvoz ove stranice s drugog vikija",
-       "action-importupload": "uvoz ove stranice slanjem datoteke",
+       "action-import": "uvoženje stranica iz drugih vikija",
+       "action-importupload": "uvoženje stranica iz otpremljene datoteke",
        "action-patrol": "označavanje tuđih izmena pregledanim",
        "action-autopatrol": "samooznačavanje izmena pregledanim",
        "action-unwatchedpages": "pregledanje spiska nenadgledanih stranica",
        "action-siteadmin": "zaključavanje ili otključavanje baze podataka",
        "action-sendemail": "slanje e-poruka",
        "action-editmywatchlist": "izmeni svoj spisak nadgledanja",
+       "action-viewmywatchlist": "pregled vašeg spisak nadgledanja",
+       "action-viewmyprivateinfo": "pregledanje vaših ličnih podataka",
+       "action-editmyprivateinfo": "uređivanje vaših ličnih podataka",
        "nchanges": "$1 {{PLURAL:$1|izmena|izmene|izmena}}",
        "enhancedrc-since-last-visit": "$1 {{PLURAL:$1|izmena od vaše poslednje posete}}",
        "enhancedrc-history": "istorija",
        "download": "preuzmi",
        "unwatchedpages": "Nenadgledane stranice",
        "listredirects": "Spisak preusmerenja",
+       "listduplicatedfiles": "Spisak dupliranih datoteka",
+       "listduplicatedfiles-summary": "Ovo je spisak datoteka koje su duplikat nekih drugih datoteka. Samo lokalne datoteke su prikazane.",
+       "listduplicatedfiles-entry": "[[:File:$1|$1]] ima [[$3|{{PLURAL:$2|jedan duplikat|$2 duplikata}}]].",
        "unusedtemplates": "Nekorišćeni šabloni",
        "unusedtemplatestext": "Ova stranica navodi sve stranice u imenskom prostoru {{ns:template}} koje nisu uključene ni na jednoj drugoj stranici.\nPre brisanja proverite da li druge stranice vode do tih šablona.",
        "unusedtemplateswlh": "ostale veze",
        "randompage": "Slučajna stranica",
        "randompage-nopages": "Nema stranica u {{PLURAL:$2|sledećem imenskom prostoru|sledećim imenskim prostorima}}: $1.",
        "randomincategory": "Slučajna stranica u kategoriji",
+       "randomincategory-invalidcategory": "„$1“ nije valjano ime kategorije",
+       "randomincategory-nopages": "Nema stranica u kategoriji [[:Category:$1|$1]].",
        "randomincategory-selectcategory-submit": "Idi",
        "randomredirect": "Slučajno preusmerenje",
        "randomredirect-nopages": "Nema preusmerenja u imenskom prostoru „$1”.",
        "pageswithprop-submit": "Idi",
        "doubleredirects": "Dvostruka preusmerenja",
        "doubleredirectstext": "Ova stranica prikazuje stranice koje preusmeravaju na druga preusmerenja.\nSvaki red sadrži veze prema prvom i drugom preusmerenju, kao i odredišnu stranicu drugog preusmerenja koja je obično „pravi“ članak na koga prvo preusmerenje treba da upućuje.\n<del>Precrtani</del> unosi su već rešeni.",
-       "double-redirect-fixed-move": "[[$1]] je premešten.\nSada je preusmerenje na [[$2]].",
-       "double-redirect-fixed-maintenance": "Ispravljanje dvostrukih preusmerenja iz [[$1]] u [[$2]].",
+       "double-redirect-fixed-move": "[[$1]] je premešten.\nAutomatski je ažurirano i sada preusmerava na [[$2]].",
+       "double-redirect-fixed-maintenance": "Automatski ispravlja dvostruka preusmerenja iz [[$1]] u [[$2]]. Kao deo održavanja.",
        "double-redirect-fixer": "Ispravljač preusmerenja",
        "brokenredirects": "Pokvarena preusmerenja",
        "brokenredirectstext": "Sledeća preusmerenja upućuju na nepostojeće stranice:",
        "deadendpagestext": "Sledeće stranice nemaju veze do drugih stranica na ovom vikiju.",
        "protectedpages": "Zaštićene stranice",
        "protectedpages-indef": "Samo neograničene zaštite",
+       "protectedpages-summary": "Na ovoj stranici se nalazi spisak trenutno zaštićenih stranica. Za spisak zaštićenih naslova vidi [[{{#special:ProtectedTitles}}|{{int:protectedtitles}}]].",
        "protectedpages-cascade": "Samo prenosive zaštite",
        "protectedpages-noredirect": "Sakrij preusmerenja",
        "protectedpagesempty": "Nema zaštićenih stranica s ovim parametrima.",
        "protectedpages-unknown-timestamp": "nema",
        "protectedpages-unknown-performer": "nema",
        "protectedtitles": "Zaštićeni naslovi",
+       "protectedtitles-summary": "Na ovoj stranici se nalazi spisak trenutno zaštićenih naslova. Za spisak trenutno zaštićenih stranica vidi [[{{#special:ProtectedPages}}|{{int:protectedpages}}]].",
        "protectedtitlesempty": "Nema zaštićenih naslova s ovim parametrima.",
        "listusers": "Spisak korisnika",
        "listusers-editsonly": "Prikaži samo korisnike koji su uređivali",
        "listusers-blocked": "({{GENDER:$1|blokiran|blokirana|blokiran}})",
        "activeusers": "Spisak aktivnih korisnika",
        "activeusers-intro": "Ovo je spisak korisnika koji su bili aktivni {{PLURAL:$1|prethodni dan|u poslednja $1 dana|u poslednjih $1 dana}}.",
-       "activeusers-count": "$1 {{PLURAL:$1|izmena|izmene|izmena}} {{PLURAL:$3|prethodni dan|u poslednja $3 dana|u poslednjih $3 dana}}",
+       "activeusers-count": "$1 {{PLURAL:$1|radnja|radnje|radnji}} {{PLURAL:$3|prethodni dan|u poslednja $3 dana|u poslednjih $3 dana}}",
        "activeusers-from": "Prikaži korisnike počev od:",
        "activeusers-hidebots": "Sakrij botove",
        "activeusers-hidesysops": "Sakrij administratore",
        "listgrouprights-removegroup-self": "uklanjanje {{PLURAL:$2|grupe|grupa}} sa svog naloga: $1",
        "listgrouprights-addgroup-self-all": "Dodaj sve grupe na sopstveni nalog",
        "listgrouprights-removegroup-self-all": "Ukloni sve grupe sa sopstvenog naloga",
+       "listgrouprights-namespaceprotection-namespace": "Imenski prostor",
+       "trackingcategories-nodesc": "Opis nije dostupan.",
        "mailnologin": "Nema adrese za slanje",
        "mailnologintext": "Morate biti [[Special:UserLogin|prijavljeni]] i imati ispravnu e-adresu u [[Special:Preferences|podešavanjima]] da biste slali e-poruke drugim korisnicima.",
        "emailuser": "Pošalji e-poruku",
        "watchnologin": "Niste prijavljeni",
        "addwatch": "Dodaj na spisak nadgledanja",
        "addedwatchtext": "Stranica „[[:$1]]“ je dodata na vaš [[Special:Watchlist|spisak nadgledanja]].\nBuduće izmene ove stranice i njene stranice za razgovor biće navedene tamo.",
+       "addedwatchtext-short": "Stranica „$1“ je dodata na vaš spisak nadgledanja.",
        "removewatch": "Ukloni sa spiska nadgledanja",
        "removedwatchtext": "Stranica „[[:$1]]“ je uklonjena s vašeg [[Special:Watchlist|spiska nadgledanja]].",
+       "removedwatchtext-short": "Stranica „$1“ je uklonjena s vašeg spiska nadgledanja.",
        "watch": "Nadgledaj",
        "watchthispage": "Nadgledaj ovu stranicu",
        "unwatch": "Prekini nadgledanje",
        "contributions-title": "Doprinosi {{GENDER:$1|korisnika|korisnice}} $1",
        "mycontris": "Doprinosi",
        "contribsub2": "Za {{GENDER:$3|$1}} ($2)",
+       "contributions-userdoesnotexist": "Korisnički nalog „$1“ nije registrovan.",
        "nocontribs": "Nema izmena koje odgovaraju navedenim kriterijumima.",
        "uctop": "(poslednja)",
        "month": "od meseca (i ranije):",
        "range_block_disabled": "Administratorska mogućnost za blokiranje raspona IP adresa je onemogućena.",
        "ipb_expiry_invalid": "Vreme isteka je neispravno.",
        "ipb_expiry_temp": "Sakrivene blokade korisnika moraju biti trajne.",
-       "ipb_hide_invalid": "Ne mogu da potisnem ovaj nalog. Možda ima previše izmena.",
+       "ipb_hide_invalid": "Ne mogu da potisnem ovaj nalog; ima više od {{PLURAL:$1|jedne izmene|$1 izmena}}.",
        "ipb_already_blocked": "„$1“ je već blokiran",
        "ipb-needreblock": "$1 je već blokiran. Želite li da promenite podešavanja?",
        "ipb-otherblocks-header": "{{PLURAL:$1|Druga blokada|Druge blokade}}",
        "importuploaderrortemp": "Ne mogu da pošaljem datoteku za uvoz.\nNedostaje privremena fascikla.",
        "import-parse-failure": "Pogrešno raščlanjivanje XML-a.",
        "import-noarticle": "Nema stranice za uvoz!",
-       "import-nonewrevisions": "Sve izmene su prethodno uvezene.",
+       "import-nonewrevisions": "Izmene nisu uvezene (sve su već bile ili prisutne ili preskočene zbog greški).",
        "xml-error-string": "$1 u redu $2, kolona $3 (bajt $4): $5",
        "import-upload": "Otpremanje XML podataka",
        "import-token-mismatch": "Gubitak podataka o sesiji.\nPokušajte ponovo.",
        "just-now": "upravo sad",
        "hours-ago": "Pre $1 {{PLURAL:$1|sat|sata|sati}}",
        "minutes-ago": "Pre $1 {{PLURAL:$1|minut|minuta}}",
+       "seconds-ago": "Pre $1 {{PLURAL:$1|sekunda|sekundi}}",
+       "monday-at": "Ponedeljak u $1",
+       "tuesday-at": "Utorak u $1",
+       "wednesday-at": "Sreda u $1",
+       "thursday-at": "Četvrtak u $1",
+       "friday-at": "Petak u $1",
+       "saturday-at": "Subota u $1",
+       "sunday-at": "Nedelja u $1",
+       "yesterday-at": "Juče u $1",
        "bad_image_list": "Format je sledeći:\n\nRazmatraju se samo nabrajanja (redovi koji počinju sa zvezdicom).\nPrva veza u redu mora da bude veza do neispravne datoteke.\nSve daljnje veze u istom redu smatraju se izuzecima.",
        "variantname-zh-hans": "hans",
        "variantname-zh-hant": "hant",
        "imgmultipagenext": "sledeća stranica →",
        "imgmultigo": "Idi!",
        "imgmultigoto": "Idi na stranicu $1",
+       "img-lang-default": "(podrazumevani jezik)",
        "img-lang-go": "Idi",
        "ascending_abbrev": "rast.",
        "descending_abbrev": "opad.",
        "watchlistedit-raw-done": "Vaš spisak nadgledanja je ažuriran.",
        "watchlistedit-raw-added": "{{PLURAL:$1|Dodat je jedan naslov|Dodata su $1 naslova|Dodato je $1 naslova}}:",
        "watchlistedit-raw-removed": "{{PLURAL:$1|1 naslov je uklonjen|Uklonjena su $1 naslova|Uklonjeno je $1 naslova}}:",
+       "watchlistedit-clear-legend": "Isprazni spisak nadgledanja",
+       "watchlistedit-clear-explain": "Svi naslovi će biti uklonjeni iz vašeg spiska nadgledanja.",
+       "watchlistedit-clear-titles": "Naslovi:",
+       "watchlistedit-clear-submit": "Isprazni spisak nadgledanja (Ovo je trajno!)",
+       "watchlistedit-clear-done": "Vaš spisak nadgledanja je ispražnjen.",
+       "watchlistedit-clear-removed": "{{PLURAL:$1|1 naslov je uklonjen|$1 naslova je uklonjeno}}:",
+       "watchlisttools-clear": "isprazni spisak nadgledanja",
        "watchlisttools-view": "prikaži srodne izmene",
        "watchlisttools-edit": "prikaži i uredi spisak nadgledanja",
        "watchlisttools-raw": "izmeni sirov spisak nadgledanja",
        "version-hook-subscribedby": "Prijavljeno od",
        "version-version": "(izdanje $1)",
        "version-svn-revision": "(izm. $2)",
-       "version-license": "Licenca",
+       "version-license": "Medijaviki licenca",
        "version-ext-license": "Licenca",
+       "version-ext-colheader-name": "Ekstenzija",
        "version-ext-colheader-version": "Verzija",
        "version-ext-colheader-license": "Licenca",
        "version-ext-colheader-description": "Opis",
        "version-ext-colheader-credits": "Autori",
+       "version-license-title": "Licenca za $1",
        "version-poweredby-credits": "Ovaj viki pokreće '''[https://www.mediawiki.org/ Medijaviki]''', autorska prava © 2001-$1 $2.",
        "version-poweredby-others": "ostali",
+       "version-poweredby-translators": "translatewiki.net prevodioci",
        "version-credits-summary": "Želeli bismo da zahvalimo sledećim ljudima na njihovom doprinosu [[Special:Version|Medijavikiji]].",
        "version-license-info": "Medijaviki je slobodan softver možete ga redistribuirati i/ili modifikovati pod uslovima GNU-ove opšte javne licence verzija 2 ili svake sledeće koju objavi Zadužbina za slobodan softver.\n\nMedijaviki se redistribuirati u nadi da će biti od koristi, ali BEZ IKAKVE GARANCIJE čak i bez PODRAZUMEVANE GARANCIJE FUNKCIONALNOSTI ili PRIKLADNOSTI ZA ODREĐENEU NAMENU. Pogledajte GNU-ovu opštu javnu licencu za više informacija.\n\nTrebalo bi da ste primili [{{SERVER}}{{SCRIPTPATH}}/COPYING primerak GNU-ove opšte javne licence] zajedno s ovim programom. Ako niste, pišite na Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301, USA ili [//www.gnu.org/licenses/old-licenses/gpl-2.0.html pročitajte ovde].",
        "version-software": "Instalirani softver",
        "redirect-legend": "Preusmeri na datoteku ili stranicu",
        "redirect-submit": "Idi",
        "redirect-value": "Vrednost:",
+       "redirect-user": "Korisnički ID",
+       "redirect-page": "ID stranice",
        "redirect-file": "Naziv datoteke",
        "redirect-not-exists": "Vrednost nije pronađen",
        "fileduplicatesearch": "Pretraga duplikata",
        "logentry-newusers-create2": "$1 je {{GENDER:$2|otvorio|otvorila}} korisnički nalog $3",
        "logentry-newusers-byemail": "Korisnički nalog $3 je {{GENDER:$2|napravljen}} od strane $1 i lozinka je poslata na e-poštu",
        "logentry-newusers-autocreate": "Korisnički nalog $1 je automatski {{GENDER:$2|otvoren}}",
-       "logentry-rights-rights": "$1 je {{GENDER:$1|promenio|promenila}} članstvo grupe za $3 iz $4 u $5",
+       "logentry-rights-rights": "$1 je {{GENDER:$2|promenio|promenila}} članstvo grupe za $3 iz $4 u $5",
        "logentry-rights-rights-legacy": "$1 je {{GENDER:$2|promenio|promenila}} čalnstvo grupe za $3",
        "logentry-rights-autopromote": "$1 je automatski {{GENDER:$1|unapređen|unapređena}} iz $4 u $5",
        "rightsnone": "(nema)",
        "api-error-ok-but-empty": "Unutrašnja greška: server ne odgovara.",
        "api-error-overwrite": "Zamenjivanje postojeće datoteke je zabranjeno.",
        "api-error-stashfailed": "Unutrašnja greška: server ne može da sačuva privremenu datoteku.",
+       "api-error-publishfailed": "Unutrašnja greška: server nije uspeo da objavi privremenu datoteku.",
        "api-error-timeout": "Server nije odgovorio u očekivano vreme.",
        "api-error-unclassified": "Došlo je do nepoznate greške",
        "api-error-unknown-code": "Nepoznata greška: „$1“",
        "duration-centuries": "$1 {{PLURAL:$1|vek|veka|vekova}}",
        "duration-millennia": "$1 {{PLURAL:$1|milenijum|milenijuma|milenijuma}}",
        "rotate-comment": "Slika je rotirana za $1° u smeru kazaljke na satu",
+       "limitreport-cputime-value": "$1 {{PLURAL:$1|sekunda|sekund|sekundi}}",
+       "limitreport-walltime-value": "$1 {{PLURAL:$1|sekund|sekunde|sekundi}}",
+       "limitreport-postexpandincludesize-value": "$1/$2 {{PLURAL:$2|bajt|bajta|bajtova}}",
+       "limitreport-templateargumentsize-value": "$1/$2 {{PLURAL:$2|bajt|bajta|bajtova}}",
        "expandtemplates": "Zamena šablona",
        "expand_templates_intro": "Ova posebna stranica uzima tekst i menja sve šablone u njemu rekurzivno.\nTakođe menja funkcije parsera kao što je <code><nowiki>{{</nowiki>#language:…}}</code> i promenljive kao što je <code><nowiki>{{</nowiki>CURRENTDAY}}</code>.\nZapravo praktično sve što se nalazi između vitičastih zagrada.",
        "expand_templates_title": "Naziv konteksta; za {{STRANICA}} itd.:",
index 79c6d4c..ffd0c95 100644 (file)
@@ -38,7 +38,7 @@
        "tog-watchmoves": "เพิ่มและไฟล์ที่ฉันเปลี่ยนชื่อเข้ารายการเฝ้าดู",
        "tog-watchdeletion": "เพิ่มหน้าและไฟล์ที่ฉันลบเข้ารายการเฝ้าดู",
        "tog-minordefault": "กำหนดให้การแก้ไขทุกครั้งเป็นการแก้ไขเล็กน้อยโดยปริยาย",
-       "tog-previewontop": "à¹\81สà¸\94à¸\87à¸\95ัวอยà¹\88าà¸\87à¸\81ารà¹\81à¸\81à¹\89à¹\84à¸\82à¸\9aนกล่องแก้ไข",
+       "tog-previewontop": "à¹\83หà¹\89à¸\95ัวอยà¹\88าà¸\87à¸\81ารà¹\81à¸\81à¹\89à¹\84à¸\82à¹\81สà¸\94à¸\87à¸\81à¹\88อนกล่องแก้ไข",
        "tog-previewonfirst": "แสดงตัวอย่างการแก้ไขสำหรับการแก้ไขครั้งแรก",
        "tog-enotifwatchlistpages": "อีเมลหาเมื่อหน้าหรือไฟล์ในรายการเฝ้าดูมีการเปลี่ยนแปลง",
        "tog-enotifusertalkpages": "อีเมลหาเมื่อหน้าคุยกับผู้ใช้ของฉันมีการเปลี่ยนแปลง",
index 0c39b04..65c09af 100644 (file)
        "loginprompt": "Dapat na pinapahintulutan mo ang mga kuki (''cookie'') upang makalagda sa {{SITENAME}}.",
        "userlogin": "Lumagda / lumikha ng account",
        "userloginnocreate": "Lumagda",
-       "logout": "Umalis sa pagkakalagda",
-       "userlogout": "Umalis sa pagkakalagda",
+       "logout": "Umalis sa pagkaka-login",
+       "userlogout": "Umalis sa pagkaka-login",
        "notloggedin": "Hindi nakalagda",
        "userlogin-noaccount": "Wala ka pa bang account?",
        "userlogin-joinproject": "Sumali sa {{SITENAME}}",
        "passwordremindertext": "Mayroong (na maaaring ikaw, mula sa adres ng IP na $1) humiling ng isang bagong\npassword para sa {{SITENAME}} ($4). Isang pansamantalang password ang nilikha\npara sa tagagamit na \"$2\" at itinakda sa \"$3\".  Kung ito ang iyong pakay,\nkailangan mo na ngayong mag-login at pumili ng isang bagong password.\nMawawala/magtatapos ang bisa ang pansamantala mong password sa loob ng {{PLURAL:$5|isang araw|$5 araw}}.\n\nKung ibang tao ang humiling nito, o kung naalala mo na ang iyong password,\nat hindi mo na ibig pang baguhin ito, maaari mong huwag pansinin ang mensaheng ito at\nmagpatuloy sa paggamit ng iyong lumang password.",
        "noemail": "Walang nakatalang adres ng e-liham para sa tagagamit na \"$1\".",
        "noemailcreate": "Kailangan mong magbigay ng may-bisang direksiyong e-liham",
-       "passwordsent": "Isang bagong hudyat ang ipinadala sa adres ng e-liham na nakatala para kay \"$1\".\nLumagda/Tumala lang po muli pagkaraan mong matanggap ito.",
+       "passwordsent": "Isang bagong password ang ipinadala sa email address na nakatala para kay \"$1\".\nPaki login muli pagkaraan mong matanggap ito.",
        "blocked-mailpassword": "Hinarangan sa paggawa ng mga pagbabago ang iyong adres ng IP, at kaya hindi rin pinapahintulutang gumamit ng tungkuling makabawi ng hudyat para maiwasan ang pangaabuso.",
        "eauthentsent": "Nagpadala ng isang email na pangkompirmasyon doon sa tinukoy na email address.\nBago magpadala ng iba email sa account, kailangan mong sundin ang mga tagubiling nasa loob ng email, para mapatunayang iyo talaga ang account.",
        "throttled-mailpassword": "Nagpadala na ng isang paalalang pang-password, nitong huling {{PLURAL:$1|oras|$1 oras}}.\nPara maiwasin ang pangaabuso, isang paalalang pang-password lamang ang ipapadala bawat {{PLURAL:$1|oras|$1 oras}}.",
        "continue-editing": "Pumunta sa pook ng pamamatnugot",
        "previewconflict": "Ipinamamalas ng paunang tinging ito ang teksto sa loob ng pangitaas na pook-patnugutan ng teksto ayon sa lilitaw na anyo nito kapag pinili mo ang pagsagip.",
        "session_fail_preview": "'''Paumanhin! Hindi namin maproseso ang iyong pagbabago hinggil sa pagkawala ng datos ng sesyon.'''\nPakiulit muli.\nKung hindi ito gumana, subukang [[Special:UserLogout|umalis sa pagkalagda]] at bumalik muli.",
-       "session_fail_preview_html": "'''Paumanhin! Hindi namin maproseso ang iyong pagbabago hinggil sa pagkawala ng datos ng sesyon.'''\n\n''Dahil naka-andar ang hilaw na HTML sa {{SITENAME}}, nakatago ang paunang tingin bilang pag-iingat sa mga paglusob ng JavaScript.''\n\n'''Kung lehitimong pagbabago ito, paki-ulit muli.'''\nKung hindi pa rin ito gumagana, subukang [[Special:UserLogout|umalis sa pagkakalagda]] at lumagda muli.",
+       "session_fail_preview_html": "'''Paumanhin! Hindi namin maproseso ang iyong pagbabago hinggil sa pagkawala ng datos ng sesyon.'''\n\n''Dahil naka-andar ang hilaw na HTML sa {{SITENAME}}, nakatago ang paunang tingin bilang pag-iingat sa mga paglusob ng JavaScript.''\n\n'''Kung lehitimong pagbabago ito, paki-ulit muli.'''\nKung hindi pa rin ito gumagana, subukang [[Special:UserLogout|mag-logout]] at mag-login muli.",
        "token_suffix_mismatch": "'''Hindi tinanggap ang iyong pagbabago dahil sinira ng kliyente ang mga karakter na bantas sa ''token'' ng mamatnugot.\nTinanggihan ang pagbabago upang maiwasan ang korapsyon ng teksto ng artikulo.\nKadalasang nangyayari ito kapag gumagamit ka ng masurot na serbisyo ng hindi-nakikilalang apoderadong (''anonymous proxy'') nasa web.",
        "edit_form_incomplete": "'''Ilan sa mga bahagi ng pormularyong pampatnugot ay hindi nakarating sa tagapaghain; suriing muli na ang iyong mga pagbabago ay buo at subukang muli.'''",
        "editing": "Binabago ang $1",
        "listgrouprights-addgroup-self-all": "Idagdag ang lahat ng mga pangkat sa sariling account",
        "listgrouprights-removegroup-self-all": "Alisin ang lahat ng mga pangkat mula sa sariling account",
        "mailnologin": "Walang adres na mapagpapadalahan",
-       "mailnologintext": "Kailangan mong [[Special:UserLogin|lumagda]] at magkaroon ng tanggap na e-liham sa iyong [[Special:Preferences|mga kagustuhan]] para makapagpadala ng e-liham sa ibang mga tagagamit.",
+       "mailnologintext": "Kailangan mong [[Special:UserLogin|maglogin]] at magkaroon ng balidong email address sa iyong [[Special:Preferences|mga kagustuhan]] para makapagpadala ng e-mail sa ibang mga tagagamit.",
        "emailuser": "Padalhan ng e-liham ang tagagamit",
        "emailuser-title-target": "Padalhan ng elektronikong liham ang {{GENDER:$1|tagagamit}} na ito",
        "emailuser-title-notarget": "Padalhan ng e-liham ang tagagamit",
        "revertpage-nouser": "Ibinalik ang mga pagbabago ni (tinanggal ang bansag) patungo sa huling rebisyon ni [[User:$1|$1]]",
        "rollback-success": "Ibinalik ang mga pagbabago ni $1; ibinalik sa huling bersyon ni $2.",
        "sessionfailure-title": "Nabigong pulong",
-       "sessionfailure": "Tila mayroong suliraning may kaugnayan sa iyong sesyon/panahon ng pagkakalagda;\nKinansela ang galaw/gawaing ito bilang pagiingat laban sa pagnanakaw (panghahaydyak) ng sesyon/panahon.\nPakipindot ang pindutang \"ibalik\" (''back'') at ikarga uli ang pinanggalingan mong pahina, sumubok uli pagkaraan.",
+       "sessionfailure": "Tila mayroong suliraning may kaugnayan sa iyong sesyon ng login;\nKinansela ang gawaing ito bilang pag-iingat laban sa pagnanakaw ng sesyon.\nPakipindot ang pindutang \"ibalik\" Bumalik muli sa nakaraang pahina at ikarga uli (''reload'') ito at pagkatapos subukan muli.",
        "protectlogpage": "Talaan ng pagsasanggalang",
        "protectlogtext": "Nasa ibaba ang isang talaan ng mga pagbabago sa mga pruteksiyon ng pahina.\nTingnan ang [[Special:ProtectedPages|talaan ng pinuprutektahang mga pahina]] para sa talaan ng kasalukuyang gumaganang mga pagprutekta ng pahina.",
        "protectedarticle": "ipinagsanggalang ang \"[[$1]]\"",
        "tooltip-pt-watchlist": "Ang talaan ng mga pagbabago sa mga pahinang binabantayan mo",
        "tooltip-pt-mycontris": "Talaan ng mga ambag mo",
        "tooltip-pt-login": "Hinihimok kang lumagda, bagaman hindi ito kinakailangan.",
-       "tooltip-pt-logout": "Umalis sa pagkakalagda",
+       "tooltip-pt-logout": "Umalis sa pagkaka-login",
        "tooltip-ca-talk": "Usapan tungkol sa nilalaman ng pahinang ito",
        "tooltip-ca-edit": "Maaaring baguhin ang pahinang ito. Paki gamit ang buton ng paunang tingin bago itala.",
        "tooltip-ca-addsection": "Magsimula ng isang bagong seksiyon",
        "confirmemail_sendfailed": "Hindi maipadala ng {{SITENAME}} ang iyong liham ng pagpapatotoo (kumpirmasyon).\nPakisuri ang iyong adres ng e-liham kung may mga hindi tanggap na mga panitik/karakter.\n\nIbinalik ng tagapagpadala ang: $1",
        "confirmemail_invalid": "Hindi tamang kodigo ng kumpirmasyon.  Maaaring lumagpas na sa taning ang kodigo.",
        "confirmemail_needlogin": "Kailangan mong $1 upang kumpirmahin/mapatotohanan ang iyong adres ng e-liham.",
-       "confirmemail_success": "Nakumpirma/napatotohanan na ang adres ng e-liham mo. Maaari ka ng [[Special:UserLogin|lumagda]] at maglibang sa wiki.",
+       "confirmemail_success": "Napatotohanan na ang email address mo. Maaari ka ng [[Special:UserLogin|mag-login]] at ikalugod ang wiki.",
        "confirmemail_loggedin": "Natiyak na ngayon ang tirahan ng e-liham mo.",
        "confirmemail_subject": "Kumpirmasyon/pagpapatotoong pang-adres ng e-liham ng {{SITENAME}}",
        "confirmemail_body": "May isang tao, malamang ikaw, na mula sa IP address na $1,\nang nagtala ng isang account na \"$2\" na mayroong ganitong email address sa {{SITENAME}}.\n\nPara patotohanang ikaw nga ang may-ari ng account ito at para buhayin ang mga tampok (features) sa email sa {{SITENAME}}, buksan ang link na ito sa iyong browser:\n\n$3\n\nKung *hindi* mo itinala ang account, sundan mo ang link na ito\npara kanselahin o huwag nang ituloy ang pagpapatotoo ng email address:\n\n$5\n\nMagwawalang-saysay ang kodigo ng pagpapatotoong ito sa $4.",
index ff1c604..248b857 100644 (file)
        "category-empty": "''Ця категорія зараз порожня.''",
        "hidden-categories": "{{PLURAL:$1|1=Прихована категорія|Приховані категорії|Прихованих категорій}}",
        "hidden-category-category": "Приховані категорії",
-       "category-subcat-count": "Показано $1 {{PLURAL:$1|підкатегорію з|підкатегорії з|підкатегорій із}} $2.",
+       "category-subcat-count": "{{PLURAL:$2|Ця категорія має тільки таку підкатегорію.|Ця категорія має $1 {{PLURAL:$1|таку підкатегорію з|такі підкатегорії з|таких підкатегорій із}} $2.}}",
        "category-subcat-count-limited": "У цій категорії {{PLURAL:$1|$1 підкатегорія|$1 підкатегорії|$1 підкатегорій}}.",
        "category-article-count": "Показано $1 {{PLURAL:$1|сторінку|сторінки|сторінок}} цієї категорії (із $2).",
        "category-article-count-limited": "У цій категорії {{PLURAL:$1|$1 сторінка|$1 сторінки|$1 сторінок}}.",
        "movepagetalktext": "Приєднана сторінка обговорення також буде автоматично перейменована, '''окрім таких випадків:'''\n* Непорожня сторінка обговорення з такою назвою вже існує або\n* Ви не поставили галочку в полі нижче.\n\nУ цих випадках ви будете змушені перейменувати чи об'єднати сторінки вручну в разі необхідності",
        "movearticle": "Перейменувати сторінку",
        "moveuserpage-warning": "'''Увага:''' Ви збираєтеся перейменувати сторінку користувача. Будь ласка, зверніть увагу, що  буде перейменовано тільки сторінку, але користувача '''не''' буде перейменовано.",
+       "movecategorypage-warning": "<strong>Увага:</strong> Ви збираєтесь перейменувати сторінку категорії. Будь ласка, зауважте, що це перейменує лише цю сторінку, <em>не</em> перемістивши сторінки, що входять до категорії до категорії з новою назвою.",
        "movenologintext": "Ви повинні [[Special:UserLogin|ввійти до системи]], щоб перейменувати сторінку.",
        "movenotallowed": "У вас нема дозволу перейменовувати сторінки.",
        "movenotallowedfile": "У вас немає прав перейменовувати файли.",
        "cant-move-user-page": "У вас нема дозволу перейменовувати сторінки користувачів.",
        "cant-move-to-user-page": "У вас нема дозволу перейменовувати сторінки на сторінки простору «Користувач» (окрім підсторінок)",
+       "cant-move-category-page": "У вас немає прав перейменовувати сторінки категорій.",
+       "cant-move-to-category-page": "У вас немає дозволу перейменовувати сторінку на сторінку категорії.",
        "newtitle": "Нова назва:",
        "move-watch": "Спостерігати за цією сторінкою",
        "movepagebtn": "Перейменувати сторінку",
        "newimages-summary": "Ця спеціальна сторінка показує останні завантажені файли.",
        "newimages-legend": "Фільтр",
        "newimages-label": "Назва файлу (або її частина):",
+       "newimages-showbots": "Показати завантаження ботами",
        "noimages": "Файли відсутні.",
        "ilsubmit": "Шукати",
        "bydate": "за датою",
        "watchlistedit-raw-done": "Ваш список спостереження збережений.",
        "watchlistedit-raw-added": "{{PLURAL:$1|$1 заголовок був доданий|$1 заголовки були додані|$1 заголовків були додані}}:",
        "watchlistedit-raw-removed": "{{PLURAL:$1|$1 заголовок був вилучений|$1 заголовки були вилучені|$1 заголовків були вилучені}}:",
+       "watchlistedit-clear-title": "Список спостереження очищено",
+       "watchlistedit-clear-legend": "Очистити список спостереження",
+       "watchlistedit-clear-explain": "Усі сторінки буде вилучено з Вашого списку спостереження",
+       "watchlistedit-clear-titles": "Сторінки:",
+       "watchlistedit-clear-submit": "Очистити список спостереження (це безповоротньо!)",
+       "watchlistedit-clear-done": "Ваш список спостереження було очищено.",
+       "watchlistedit-too-many": "Забагато сторінок для відображення тут.",
+       "watchlisttools-clear": "Очистити список спостереження",
        "watchlisttools-view": "Зміни на сторінках зі списку",
        "watchlisttools-edit": "Переглянути/редагувати список",
        "watchlisttools-raw": "Редагувати як текст",
        "htmlform-no": "Ні",
        "htmlform-yes": "Так",
        "htmlform-chosen-placeholder": "Виберіть параметр",
+       "htmlform-cloner-create": "Додати більше",
+       "htmlform-cloner-delete": "Вилучити",
+       "htmlform-cloner-required": "Необхідно принаймні одне значення.",
        "sqlite-has-fts": "$1 з підтримкою повнотекстового пошуку",
        "sqlite-no-fts": "$1 без підтримки повнотекстового пошуку",
        "logentry-delete-delete": "$1 {{GENDER:$2|вилучив|вилучила}} сторінку $3",
index 8ab9b6e..855ebf7 100644 (file)
        "mostinterwikis": "Trang có nhiều liên kết liên wiki nhất",
        "mostrevisions": "Trang được sửa đổi nhiều lần nhất",
        "prefixindex": "Tất cả các trang trùng với tiền tố",
-       "prefixindex-namespace": "Tất cả các trang trùng với tiền tố (không gian $1)",
+       "prefixindex-namespace": "Tất cả các trang trùng với tiền tố (không gian tên $1)",
        "prefixindex-strip": "Ẩn tiền tố trong danh sách",
        "shortpages": "Trang ngắn nhất",
        "longpages": "Trang dài nhất",
index 599944f..d5ba19e 100644 (file)
@@ -74,7 +74,8 @@
                        "范",
                        "阿pp",
                        "Hudafu",
-                       "아라"
+                       "아라",
+                       "Mywood"
                ]
        },
        "tog-underline": "链接下划线:",
        "parser-template-loop-warning": "检查到模板循环:[[$1]]",
        "parser-template-recursion-depth-warning": "模板递归深度越限($1)",
        "language-converter-depth-warning": "字词转换器深度越限($1)",
-       "node-count-exceeded-category": "页面的节点数超出限制",
+       "node-count-exceeded-category": "节点数超限的页面",
        "node-count-exceeded-category-desc": "节点数溢出页面的分类。",
        "node-count-exceeded-warning": "页面超出了节点数",
-       "expansion-depth-exceeded-category": "扩展深度超出限制的页面",
+       "expansion-depth-exceeded-category": "展开深度超限的页面",
        "expansion-depth-exceeded-category-desc": "这是超出拓展深度页面的分类。",
        "expansion-depth-exceeded-warning": "页面超过了扩展深度",
        "parser-unstrip-loop-warning": "检测到回圈",
        "tooltip-pt-watchlist": "你正在监视更改的页面的列表",
        "tooltip-pt-mycontris": "你的贡献的列表",
        "tooltip-pt-login": "我们鼓励您登录,不过这不是强制的",
-       "tooltip-pt-logout": "退出",
+       "tooltip-pt-logout": "退出登录",
        "tooltip-ca-talk": "关于内容页面的讨论",
        "tooltip-ca-edit": "你可以编辑本页面。请在保存前使用预览按钮",
        "tooltip-ca-addsection": "开始新段落",
index eb30dc1..f26864c 100644 (file)
        "tog-hideminor": "隱藏最近變更中的小修訂",
        "tog-hidepatrolled": "隱藏最近更改中巡查過的編輯",
        "tog-newpageshidepatrolled": "隱藏新頁面清單中巡查過的頁面",
-       "tog-extendwatchlist": "展開監視列表以顯示所有變更,不只是最近的",
-       "tog-usenewrc": "依頁面分類最近變更和監視列表中的修改",
+       "tog-extendwatchlist": "展開監視列表以顯示含最近以外的所有變更",
+       "tog-usenewrc": "依頁面分類顯示最近變更和監視列表中的修改",
        "tog-numberheadings": "標題自動編號",
        "tog-showtoolbar": "顯示編輯工具列",
        "tog-editondblclick": "啟用滑鼠雙擊編輯頁面",
        "tog-editsectiononrightclick": "啟用滑鼠右鍵點選章節標題編輯",
        "tog-watchcreations": "將我建立的頁面和上傳的檔案加入監視列表",
-       "tog-watchdefault": "將我更改的頁面和檔案加入監視列表",
+       "tog-watchdefault": "將我編輯的頁面和檔案加入監視列表",
        "tog-watchmoves": "將我移動的頁面和檔案加入監視列表",
        "tog-watchdeletion": "將我刪除的頁面和檔案加入監視列表",
        "tog-minordefault": "預設標記所有的編輯為小修訂",
        "category-empty": "<em>此分類目前未包含頁面或媒體。</em>",
        "hidden-categories": "{{PLURAL:$1|隱藏分類}}",
        "hidden-category-category": "隱藏分類",
-       "category-subcat-count": "{{PLURAL:$2|此分類僅有以下 1 個子分類。|此分類有以下 $1 個字分類,共 $2 個。}}",
-       "category-subcat-count-limited": "此分類以下 $1 個子分類。",
-       "category-article-count": "{{PLURAL:$2|此分類有以下一個頁面。|此分類有 $2 個頁面,以下列出了 $1 個。}}",
-       "category-article-count-limited": "此分類以下 $1 個頁面。",
-       "category-file-count": "{{PLURAL:$2|此分類有以下一個檔案。|此分類有 $2 個檔案,以下列出了 $1 個。}}",
-       "category-file-count-limited": "此分類 $1 個檔案。",
+       "category-subcat-count": "{{PLURAL:$2|此分類僅包含以下 1 個子分類。|此分類包含以下 $1 個子分類,共 $2 個。}}",
+       "category-subcat-count-limited": "此分類包含以下 $1 個子分類。",
+       "category-article-count": "{{PLURAL:$2|此分類包含以下一個頁面。|此分類包含以下 $1 個頁面,共 $2 個。}}",
+       "category-article-count-limited": "此分類包含以下 $1 個頁面。",
+       "category-file-count": "{{PLURAL:$2|此分類僅包含以下一個檔案。|此分類包含以下 $1 個檔案,共 $2 個。}}",
+       "category-file-count-limited": "此分類包含 $1 個檔案。",
        "listingcontinuesabbrev": "續",
        "index-category": "已列索引的頁面",
        "noindex-category": "未列索引的頁面",
        "newwindow": "(以新視窗開啟)",
        "cancel": "取消",
        "moredotdotdot": "更多...",
-       "morenotlisted": "此列表不完整。",
+       "morenotlisted": "此清單尚未讀取完畢。",
        "mypage": "頁面",
        "mytalk": "對話",
        "anontalk": "此 IP 位址的對話頁面",
        "navigation": "導覽",
-       "and": "",
+       "and": "&#32;及&#32;",
        "qbfind": "尋找",
        "qbbrowse": "瀏覽",
        "qbedit": "編輯",
        "help": "說明",
        "search": "搜尋",
        "searchbutton": "搜尋",
-       "go": "進入",
-       "searcharticle": "進入",
+       "go": "前往",
+       "searcharticle": "執行",
        "history": "頁面歷史",
        "history_short": "歷史",
        "updatedmarker": "自我最後一次訪問以後的更新",
        "unprotect": "變更保護",
        "unprotectthispage": "變更此頁的保護",
        "newpage": "新頁面",
-       "talkpage": "討論此頁",
+       "talkpage": "討論此頁",
        "talkpagelinktext": "對話",
        "specialpage": "特殊頁面",
        "personaltools": "個人工具",
        "userpage": "檢視使用者頁面",
        "projectpage": "檢視專案頁面",
        "imagepage": "檢視檔案頁面",
-       "mediawikipage": "檢視使用者介面訊息",
+       "mediawikipage": "檢視訊息頁面",
        "templatepage": "檢視樣版頁面",
        "viewhelppage": "檢視說明頁面",
        "categorypage": "檢視分類頁面",
        "viewtalkpage": "檢視討論頁面",
        "otherlanguages": "其他語言",
-       "redirectedfrom": "(重定向自$1)",
+       "redirectedfrom": "(自 $1 重新導向)",
        "redirectpagesub": "重新導向頁面",
        "lastmodifiedat": "此頁面最後修訂於 $1 $2。",
        "viewcount": "此頁面已被檢視過 $1 次。",
        "toc": "目錄",
        "showtoc": "顯示",
        "hidetoc": "隱藏",
-       "collapsible-collapse": "摺疊",
+       "collapsible-collapse": "合併",
        "collapsible-expand": "展開",
        "thisisdeleted": "檢視或還原 $1 ?",
        "viewdeleted": "檢視 $1?",
        "feed-unavailable": "目前未提供 RSS 或 Atom",
        "site-rss-feed": "$1 的 RSS feed",
        "site-atom-feed": "$1 的 Atom feed",
-       "page-rss-feed": "訂閱 \"$1\" 的 RSS feed",
-       "page-atom-feed": "訂閱 \"$1\" 的 Atom feed",
+       "page-rss-feed": "訂閱 \"$1\" 的 RSS feed",
+       "page-atom-feed": "訂閱 \"$1\" 的 Atom feed",
        "red-link-title": "$1 (頁面不存在)",
        "sort-descending": "降冪排序",
        "sort-ascending": "昇冪排序",
        "enterlockreason": "請輸入鎖定的原因,包括估計重新開放的時間",
        "readonlytext": "資料庫目前已鎖定無法新增或修改資料,\n可能正在進行例行的資料庫維修作業,完成之後即可恢復正常。\n\n鎖定資料庫的管理員說明:$1",
        "missing-article": "資料庫查無預期的頁面文字,頁面 \"$1\" $2。\n\n通常是因您連結到了已過期(已被刪除)的差異或歷史頁面。\n\n若這不是您所遇到的情況,您可能找到了一個系統的問題。\n請記錄 URL 位址,並向 [[Special:ListUsers/sysop|管理員]] 報告此問題。",
-       "missingarticle-rev": "(修訂#$1)",
+       "missingarticle-rev": "(修訂#$1)",
        "missingarticle-diff": "(差異:$1, $2)",
        "readonly_lag": "資料庫已自動鎖定,正在等候次要資料庫同步資料到主要資料庫",
        "internalerror": "內部錯誤",
        "filedeleteerror": "無法刪除檔案 \"$1\"。",
        "directorycreateerror": "無法建立目錄 \"$1\"。",
        "filenotfound": "找不到檔案 \"$1\"。",
-       "unexpected": "未預期的資料:\"$1\"=\"$2\"。",
-       "formerror": "錯誤:無法送表單。",
+       "unexpected": "預期之外的資料:\"$1\"=\"$2\"。",
+       "formerror": "錯誤:無法送表單。",
        "badarticleerror": "無法在此頁進行該操作。",
        "cannotdelete": "無法刪除頁面或檔案 \"$1\"。\n它可能已經被其他人刪除。",
        "cannotdelete-title": "無法刪除頁面 \"$1\"",
        "viewsource": "檢視原始碼",
        "viewsource-title": "檢視 $1 的原始碼",
        "actionthrottled": "已限制動作",
-       "actionthrottledtext": "您在短時間內執行此動作太多次,已超出系統上限,基於反垃圾訊息的考量,將限制您的動作。\n請稍後數分鐘後再試。",
+       "actionthrottledtext": "您在短時間內執行此動作太多次,已超出系統上限,基於反濫用的考量,將限制您的動作。\n請稍後數分鐘後再試。",
        "protectedpagetext": "此頁面已設為保護防止編輯或其他操作。",
        "viewsourcetext": "您可以檢視並複製此頁面的原始碼。",
        "viewyourtext": "您可以檢視並複製此頁面中<strong>您編輯</strong>的原始碼:",
-       "protectedinterface": "本頁用來提供此 Wiki 軟體介面上的文字,並且已被保護以防止惡意修改。\n如欲增加或修改 Wiki 的翻譯,請至 [//translatewiki.net/ translatewiki.net] 上的MediaWiki 本地化專案。",
-       "editinginterface": "<strong>警告:</strong>您正在編輯的頁面是用來提供軟體介面上的文字。\n更改此頁將影響其他在此 Wiki 上的使用者介面外觀。\n如欲修改 Wiki 的翻譯,請至 [//translatewiki.net/ translatewiki.net]上的MediaWiki 本地化專案。",
+       "protectedinterface": "本頁用來提供此 Wiki 軟體介面上的文字,並且已被設為保護以防止惡意修改。\n如欲增加或修改 Wiki 的翻譯,請至 [//translatewiki.net/ translatewiki.net] 上的 MediaWiki 在地化專案。",
+       "editinginterface": "<strong>警告:</strong>您正在編輯的頁面是用來提供軟體介面上的文字。\n更改此頁將影響其他在此 Wiki 上的使用者介面外觀。\n如欲修改 Wiki 的翻譯,請至 [//translatewiki.net/ translatewiki.net]上的 MediaWiki 在地化專案。",
        "cascadeprotected": "此頁面被保護無法編輯,因為此頁面被以下開啟 \"連鎖保護\" 選項的{{PLURAL:$1|一頁|數頁}}保護頁面引用:\n$2",
        "namespaceprotected": "您沒有權限編輯 <strong>$1</strong> 命名空間的頁面。",
        "customcssprotected": "您並沒有權限編輯此 CSS 頁面,因為此頁面包含了其他使用者的個人設定。",
        "virus-scanfailed": "掃瞄失敗 (代碼 $1)",
        "virus-unknownscanner": "不明的防毒程式:",
        "logouttext": "<strong>您現在已登出。</strong>\n\n請注意,某些頁面會以登入的狀態持續顯示,直到您清除瀏覽器快取為止。",
-       "welcomeuser": "歡迎,$1!",
-       "welcomecreation-msg": "您的帳號已建立。\n不要忘記變更您的 {{SITENAME}} [[Special:Preferences|偏好設定]]。",
+       "welcomeuser": "歡迎光臨,$1!",
+       "welcomecreation-msg": "您的帳號已建立。\n可至 [[Special:Preferences|偏好設定]] 更新您在 {{SITENAME}} 的個人化設定。",
        "yourname": "使用者名稱:",
        "userlogin-yourname": "使用者名稱",
        "userlogin-yourname-ph": "輸入您的使用者名稱",
        "yourpasswordagain": "再次輸入密碼:",
        "createacct-yourpasswordagain": "確認密碼",
        "createacct-yourpasswordagain-ph": "再次輸入密碼",
-       "remembermypassword": "在瀏覽器上記住我的登入資訊 (最多 $1 {{PLURAL:$1|天}})",
+       "remembermypassword": "在瀏覽器上記住我的登入資訊 (上限 $1 {{PLURAL:$1|天}})",
        "userlogin-remembermypassword": "記住我的登入狀態",
        "userlogin-signwithsecure": "使用安全連線",
        "yourdomainname": "您的網域:",
        "createacct-imgcaptcha-ph": "輸入您在上方看到的文字",
        "createacct-submit": "建立您的帳號",
        "createacct-another-submit": "建立另一帳號",
-       "createacct-benefit-heading": "{{SITENAME}} 是由像您一樣的人建立。",
+       "createacct-benefit-heading": "{{SITENAME}} 是由像您一樣貢獻的人所建立的。",
        "createacct-benefit-body1": " {{PLURAL:$1|次編輯}}",
        "createacct-benefit-body2": " $1 頁",
        "createacct-benefit-body3": " 位最近的{{PLURAL:$1|貢獻者}}",
        "createacct-another-realname-tip": "真實姓名為選填欄位。\n若您提供真實姓名,它會用於使用者貢獻署名。",
        "pt-login": "登入",
        "pt-login-button": "登入",
-       "pt-createaccount": "建立帳",
+       "pt-createaccount": "建立帳",
        "pt-userlogout": "登出",
        "php-mail-error-unknown": "PHP 的 mail() 函數發生不明錯誤。",
        "user-mail-no-addy": "試圖發送沒有電子郵件地址的電子郵件。",
        "passwordreset-capture-help": "若您勾選此核選方塊,電子郵件 (包含臨時密碼) 將直接顯示,並發送給使用者。",
        "passwordreset-email": "電子郵件位址:",
        "passwordreset-emailtitle": "於 {{SITENAME}} 的帳號詳細資訊",
-       "passwordreset-emailtext-ip": "不明人士 (可能是您自己,來自 IP 位址 $1) 要求重設在 {{SITENAME}}($4)的密碼,下列是與此電子郵件地址有關的使用者{{PLURAL:$3|帳號}}:\n\n$2\n\n{{PLURAL:$3|這個臨時密碼|這些臨時密碼}}將會在{{PLURAL:$5|一天|$5 天}}內到期,\n您應立即登入並更改新的密碼。如果不是您要求重設密碼,或您已想起密碼,並不準備修改,\n您可以忽略此訊息並且繼續使用您原本的密碼。",
-       "passwordreset-emailtext-user": "使用者 $1 要求重設在 {{SITENAME}}($4)的密碼,下列是與此電子郵件地址有關的使用者{{PLURAL:$3|帳號}}:\n\n$2\n\n{{PLURAL:$3|這個臨時密碼|這些臨時密碼}}將會在{{PLURAL:$5|一天|$5 天}}內到期,\n您應立即登入並更改新的密碼。如果不是您要求重設密碼,或您已想起密碼,並不準備修改,\n您可以忽略此訊息並且繼續使用您原本的密碼。",
+       "passwordreset-emailtext-ip": "不明人士 (可能是您自己,來自 IP 位址 $1) 要求重設在 {{SITENAME}} ($4) 的密碼,下列是與此電子郵件地址有關的使用者{{PLURAL:$3|帳號}}:\n\n$2\n\n{{PLURAL:$3|這個臨時密碼|這些臨時密碼}}將會在{{PLURAL:$5|一天|$5 天}}內到期,\n您應立即登入並更改新的密碼。如果不是您要求重設密碼,或您已想起密碼,並不準備修改,\n您可以忽略此訊息並且繼續使用您原本的密碼。",
+       "passwordreset-emailtext-user": "使用者 $1 要求重設在 {{SITENAME}} ($4) 的密碼,下列是與此電子郵件地址有關的使用者{{PLURAL:$3|帳號}}:\n\n$2\n\n{{PLURAL:$3|這個臨時密碼|這些臨時密碼}}將會在{{PLURAL:$5|一天|$5 天}}內到期,\n您應立即登入並更改新的密碼。如果不是您要求重設密碼,或您已想起密碼,並不準備修改,\n您可以忽略此訊息並且繼續使用您原本的密碼。",
        "passwordreset-emailelement": "使用者名稱:$1\n臨時密碼:$2",
        "passwordreset-emailsent": "已發送重設密碼的電子郵件。",
        "passwordreset-emailsent-capture": "已發送重設密碼的電子郵件,並在下面顯示。",
        "changeemail-cancel": "取消",
        "changeemail-throttled": "您最近嘗試了太多次登入。\n請等待 $1 後再試。",
        "resettokens": "重設密鑰",
-       "resettokens-text": "你可以在這裡重設與您的帳戶私隱有關連的密鑰。\n\n如果您意外地與任何一個人分享這些密鑰,或者您的帳戶被入侵、受到破壞,您應該重設密鑰。",
+       "resettokens-text": "您可以在此重設用來存取您帳號相關隱私資料的密鑰。\n\n若您不小心將您的密鑰分享給其他人或您的帳號已遭到入侵、破壞,應該要重設此密鑰。",
        "resettokens-no-tokens": "沒有可重設的密鑰。",
-       "resettokens-legend": "重設密鑰",
+       "resettokens-legend": "重設密鑰",
        "resettokens-tokens": "密鑰:",
        "resettokens-token-label": "$1 (目前為 $2)",
-       "resettokens-watchlist-token": "用於訂閱 [[Special:Watchlist|監視列表]] 的 Atom/RSS 的密鑰",
+       "resettokens-watchlist-token": "用來訂閱 [[Special:Watchlist|監視列表]] Atom/RSS 的密鑰",
        "resettokens-done": "已重設密鑰。",
        "resettokens-resetbutton": "重設已選擇的密鑰",
        "bold_sample": "粗體文字",
        "link_tip": "內部連結",
        "extlink_sample": "http://www.example.com 連結標題",
        "extlink_tip": "外部連結 (記得以 http:// 開頭)",
-       "headline_sample": "1 級標題文字",
-       "headline_tip": "2 級標題文字",
+       "headline_sample": "第 1 層標題文字",
+       "headline_tip": "第 2 層標題文字",
        "nowiki_sample": "插入非格式化文字",
        "nowiki_tip": "忽略 Wiki 格式化語法",
        "image_tip": "附加檔案",
        "media_tip": "檔案連結",
        "sig_tip": "您的簽名與日期時間",
-       "hr_tip": "水平線 (用)",
+       "hr_tip": "水平線 (用)",
        "summary": "摘要:",
        "subject": "主題/標題:",
        "minoredit": "這是一個小修訂",
        "missingsummary": "<strong>提醒:</strong>您未填寫編輯摘要。\n若您再點選 \"{{int:savearticle}}\" 一次,將略過摘要直接儲存您的編輯。",
        "missingcommenttext": "請在下方輸入評論。",
        "missingcommentheader": "<strong>提醒:</strong>您未填寫此評論的主旨/標題。\n若您再點選 \"{{int:savearticle}}\" 一次,將略過主旨/標題直接儲存您的評論。",
-       "summary-preview": "摘要預覽:",
+       "summary-preview": "摘要預覽",
        "subject-preview": "主旨/標題預覽:",
        "blockedtitle": "使用者已被封鎖",
        "blockedtext": "<strong>您的使用者名稱或 IP 位址以被封鎖。</strong>\n\n您被 $1 封鎖,\n原因爲 <em>$2</em>。\n\n* 封鎖開始時間:$8\n* 封鎖結束時間:$6\n* 相關封鎖對象:$7\n\n您可以聯繫 $1 或其他的 [[{{MediaWiki:Grouppage-sysop}}|管理員]] 討論封鎖的相關問題。\n若您已在 [[Special:Preferences|偏好設定]] 中設定了一個有效的電子郵件地址,且尚未被封鎖郵件功能,則您可透過 \"發送電子郵件給這位使用者\" 的功能來聯絡相關管理員。\n您目刖的 IP 位址是 $3,此次封鎖的 ID 爲 #$5。\n請您在詢問時附註以上詳細訊息。",
        "accmailtitle": "密碼已寄出",
        "accmailtext": "[[User talk:$1|$1]] 的隨機密碼已經寄送至 $2,可登入後至 <em>[[Special:ChangePassword|變更密碼]] 頁面更改</em>。",
        "newarticle": "(新)",
-       "newarticletext": "您正連結至一頁不存在頁面。\n要建立該頁面,請在下方的編輯框中輸入內容(詳情請參考 [$1 説明頁面])。\n如果您是不小心來到此頁面,請點選瀏覽器的 <strong>返回</strong> 按鈕。",
+       "newarticletext": "您正連結至一頁不存在頁面。\n要建立該頁面,請在下方的編輯框中輸入內容 (詳情請參考 [$1 説明頁面])。\n如果您是不小心來到此頁面,請點選瀏覽器的 <strong>返回</strong> 按鈕。",
        "anontalkpagetext": "----\n<em>此討論頁面是給尚未建立帳號的匿名使用者使用</em>\n因此我們必須使用 IP 位址來辨識身份,但相同的 IP 位置可能由許多不同的使用者所共用。\n如果您是匿名使用者並且覺得評論的內容與您無關,請 [[Special:UserLogin/signup|建立新帳號]] 或 [[Special:UserLogin|登入]] 避免與其他匿名使用者混淆。",
        "noarticletext": "此頁面目前沒有內容,\n您可以在其它頁面中 [[Special:Search/{{PAGENAME}}|搜尋此頁面標題]],\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 搜尋相關日誌],\n或 [{{fullurl:{{FULLPAGENAME}}|action=edit}} 編輯此頁]</span>。",
        "noarticletext-nopermission": "此頁面目前沒有內容,\n您可以在其它頁面中 [[Special:Search/{{PAGENAME}}|搜尋此頁面標題]],或 <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 搜尋相關日誌]</span>,但您沒有權限建立此頁面。",
        "note": "</strong>注意:</strong>",
        "previewnote": "<strong>您目前正在預覽,您的變更還尚未儲存!</strong>",
        "continue-editing": "前往編輯框",
-       "previewconflict": "這個預覽顯示了上面文字編輯區中的內容。它將在{{GENDER:|你|妳|你}}選擇保存後出現。",
-       "session_fail_preview": "'''很抱歉!由於部份資料遺失,我們無法處理您的編輯。'''\n請再試一次。\n如果仍然失敗,請[[Special:UserLogout|登出]]後重新登入。",
-       "session_fail_preview_html": "'''抱歉!部份資料已遺失,我們無法處理您的編輯。'''\n\n''由於{{SITENAME}}已經開放原始 HTML 碼,預覽已經隱藏以預防 JavaScript 的攻擊。''\n\n'''如果這個編輯過程沒有問題,請再試一次。如果仍然有問題,請[[Special:UserLogout|登出]]後再重新登入一次。'''",
-       "token_suffix_mismatch": "<strong>由於您使用的客戶端軟體損壞了編輯標記中的符號,您的編輯已被拒絕接受。</strong>\n為了避免破壞頁面文字,已拒絕此編輯,\n這通常是因為您使用了有問題的網頁匿名代理伺服器。",
-       "edit_form_incomplete": "編輯表單的某些部分沒有到達伺服器 ;請檢查您的編輯內容是否完整並再試一次。",
+       "previewconflict": "此預覽顯示了您於上方文字編輯框中的內容儲存之後將會顯示的結果。",
+       "session_fail_preview": "<strong>很抱歉!由於連線階段的資料遺失,我們無法處理您的編輯動作。</strong>\n請再試一次。\n如果仍然失敗,請 [[Special:UserLogout|登出]] 後重新登入。",
+       "session_fail_preview_html": "<strong>很抱歉!由於連線階段的資料遺失,我們無法處理您的編輯動作。</strong>\n\n<em>由於 {{SITENAME}} 開啟了原始 HTML 模式,將不會顯示預覽畫面以避免 JavaScript 攻擊。</em>\n\n<strong>若這是符合規範的編輯動作,請再試一次。</strong>\n如果仍然有問題,請 [[Special:UserLogout|登出]] 後再重新登入一次。",
+       "token_suffix_mismatch": "<strong>您使用的瀏覽器刪除了編輯資訊中的特殊符號,已拒絕此編輯動作。</strong>\n為了避免破壞頁面內容,已拒絕此編輯動作,\n這通常是因為您使用了有問題的匿名網頁代理伺服器。",
+       "edit_form_incomplete": "<strong>部份編輯的內容未傳送至伺服器,請檢查您的編輯內容是否完整並再試一次。</strong>",
        "editing": "正在編輯 $1",
        "creating": "正在建立 $1",
        "editingsection": "正在編輯 $1 (章節)",
        "editingcomment": "正在編輯 $1 (新章節)",
        "editconflict": "編輯衝突:$1",
-       "explainconflict": "有人在{{GENDER:|你|妳|你}}開始編輯後更改了頁面。\n上面的文字框內顯示的是目前本頁的內容。\n{{GENDER:|你|妳|你}}所做的修改顯示在下面的文字框中。\n{{GENDER:|你|妳|你}}應當將{{GENDER:|你|妳|你}}所做的修改加入現有的內容中。\n'''只有'''在上面文字框中的內容會在{{GENDER:|你|妳|你}}點擊「{{int:savearticle}}」後被保存。",
+       "explainconflict": "在您開始編輯之後已有其他人儲存了此頁面。\n上方的文字框內顯示了目前頁面中的文字內容,\n您所變更的文字內容顯示在下方文字框中。\n您須要將您所變更的文字內容合併到已儲存的文字內容當中。\n若您直接點選 \"{{int:savearticle}}\" <strong>只有</strong> 上方文字框中的內容會被儲存。",
        "yourtext": "您的文字",
-       "storedversion": "已儲存修訂版本",
-       "nonunicodebrowser": "'''警告: 您的瀏覽器不兼容Unicode編碼。'''這裡有一個工作區將使您能安全地編輯頁面: 非ASCII字元將以十六進製編碼模式出現在編輯框中。",
-       "editingold": "'''警告:{{GENDER:|你|妳|你}}正在編輯的是本頁的舊版本。'''\n如果{{GENDER:|你|妳|你}}保存它的話,在本版本之後的任何修改都會遺失。",
+       "storedversion": "已儲存修訂",
+       "nonunicodebrowser": "<strong>警告:您的瀏覽器不相容 Unicode。</strong>\n暫時解決的方式是先在您可安全編輯頁面的地方編輯:非 ASCII 字元在編輯框中會以 16 進位編碼顯示。",
+       "editingold": "<strong>警告:您目前正編輯頁面的舊修訂版本。</strong>\n若您儲存,在此修訂之後變更的任何內容將會遺失。",
        "yourdiff": "差異",
-       "copyrightwarning": "請注意您對{{SITENAME}}的所有貢獻都被認為是在$2下發佈,請檢視在$1的細節。\n如果您不希望您的文字被任意修改和再散佈,請不要提交。<br />\n您同時也要向我們保證您所提交的內容是您自己所作,或得自一個不受版權保護或相似自由的來源。\n'''不要在未獲授權的情況下發表!'''<br />",
-       "copyrightwarning2": "請注意您對{{SITENAME}}的所有貢獻\n都可能被其他貢獻者編輯,修改或刪除。\n如果您不希望您的文字被任意修改和再散佈,請不要提交。<br />\n您同時也要向我們保證您所提交的內容是您自己所作,或得自一個不受版權保護或相似自由的來源(參閱$1的細節)。\n'''不要在未獲授權的情況下發表!'''",
-       "longpageerror": "'''錯誤:您所提交的文本長度有{{PLURAL:$1|1|$1}}KB,這大於{{PLURAL:$2|1|$2}}KB的最大值。 '''\n因此,該文本無法保存。",
-       "readonlywarning": "'''警告: 資料庫被鎖定以進行維護,所以您目前將無法保存您的修改。'''\n您可先複製您的文字並保存到文字檔案,然後等一會兒再修改。\n\n鎖定資料庫的管理員有如下解釋:$1",
+       "copyrightwarning": "請注意,所有於 {{SITENAME}} 所做的貢獻會依據 $2 授權條款發佈 (詳情請見 $1)。\n若您不希望您的著作被任意修改與散佈,請勿在此發表文章。<br />\n您同時向我們保証在此的著作內容是您自行撰寫,或是取自不受版權保護的公開領域或自由資源。\n<strong>請勿在未經授權的情況下發表文章!</strong>",
+       "copyrightwarning2": "請注意,所有於 {{SITENAME}} 所做的貢獻可能會被其他貢獻者編輯,修改或刪除。\n若您不希望您的著作被任意修改與散佈,請勿在此發表文章。<br />\n您同時向我們保証在此的著作內容是您自行撰寫,或是取自不受版權保護的公開領域或自由資源 (詳情請見 $1)。\n<strong>請勿在未經授權的情況下發表文章!</strong>",
+       "longpageerror": "<strong>錯誤:您所送出的文字內容共有 {{PLURAL:$1|1 KB|$1 KB}},已超出系統上限 {{PLURAL:$2|1 KB|$2 KB}}。</strong>\n\n無法儲存。",
+       "readonlywarning": "<strong>警告:資料庫已被鎖定以進行維護,因此無法儲存您目前所做的編輯動作。</strong>\n您可先複製您的文字並貼上到文字檔案中儲存,稍後再儲存您編輯。\n\n鎖定資料庫的管理員有以下說明:$1",
        "protectedpagewarning": "<strong>警告:本頁已經被保護,只有擁有管理員權限的使用者才可編輯。</strong>\n以下提供最近的日誌以便參考:",
        "semiprotectedpagewarning": "<strong>注意:</strong>本頁已經被保護,只有已註冊的使用者才可編輯。\n以下提供最近的日誌以便參考:",
        "cascadeprotectedwarning": "<strong>警告:</strong>本頁已經被保護,只有擁有管理員權限的使用者才可編輯,此頁面被下列頁面引用因此連鎖保護:",
        "permissionserrors": "權限錯誤",
        "permissionserrorstext": "由於下列{{PLURAL:$1|原因}},您沒有權限進行目前的動作:",
        "permissionserrorstext-withaction": "由於下列{{PLURAL:$1|原因}},您沒有權限進行 $2 的動作:",
-       "recreate-moveddeleted-warn": "'''警告: {{GENDER:|你|妳|你}}現在重新建立一個先前曾經刪除過的頁面。'''\n\n{{GENDER:|你|妳|你}}應該要考慮一下繼續編輯這一個頁面是否合適。\n為方便起見,這一個頁面的刪除記錄已經在下面提供:",
+       "recreate-moveddeleted-warn": "<strong>警告:您正重新建立先前已刪除的頁面。</strong>\n\n您應考慮是否繼續編輯此頁。\n在此提供刪除與移動日誌方便作為參考:",
        "moveddeleted-notice": "此頁面已刪除。\n下方提供此頁面的刪除和移動日誌以便參考。",
        "log-fulllog": "檢視完整日誌",
        "edit-hook-aborted": "編輯已被 Hook 中止。\n且未回應無任何說明。",
        "post-expand-template-argument-category": "樣版參數有部份被忽略的頁面",
        "parser-template-loop-warning": "偵測到樣版遞迴:[[$1]]",
        "parser-template-recursion-depth-warning": "超出樣版遞迴深度限制 ($1)",
-       "language-converter-depth-warning": "已超過語言轉換器深度限制($1)",
+       "language-converter-depth-warning": "已超出語言轉換器深度限制 ($1)",
        "node-count-exceeded-category": "節點數量超出限制的頁面",
        "node-count-exceeded-category-desc": "用來顯示超過節點數量頁面的分類。",
        "node-count-exceeded-warning": "頁面超出節點數量限制",
        "expansion-depth-exceeded-warning": "頁面超出展開深度限制",
        "parser-unstrip-loop-warning": "偵測到 Unstrip 迴圈",
        "parser-unstrip-recursion-limit": "Unstrip 遞迴超出限制 ($1)",
-       "converter-manual-rule-error": "æ\96¼æ\89\8bå\8b\95èª\9eè¨\80è½\89æ\8f\9bè¦\8få\89\87æ\99\82å\81µæ¸¬å\88°é\8c¯èª¤",
+       "converter-manual-rule-error": "手動語言轉換規則時偵測到錯誤",
        "undo-success": "此編輯可以被還原。\n請檢查以下比較表,確認您是否要還原,然後儲存以下變更以完成編輯還原。",
        "undo-failure": "由於編輯的修訂間有衝突,此編輯不能還原。",
        "undo-norev": "此編輯不存在或已被刪除,無法還原。",
        "rev-suppressed-unhide-diff": "檢視差異的其中一個修訂已被 <strong>禁止顯示</strong>。\n可至 [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} 禁止顯示日誌] 取得詳細資訊。\n若您要繼續,您仍可以 [$1 檢視此差異]。",
        "rev-deleted-diff-view": "檢視差異的其中一個修訂已被 <strong>刪除</strong>。\n您可繼續檢視差異,可至 [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} 刪除日誌] 取得詳細資訊。",
        "rev-suppressed-diff-view": "檢視差異的其中一個修訂已被 <strong>禁止顯示</strong>。\n您可繼續檢視差異,可至 [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} 禁止顯示日誌] 取得詳細資訊。",
-       "rev-delundel": "顯示/隱藏",
+       "rev-delundel": "更改顯示設定",
        "rev-showdeleted": "顯示",
        "revisiondelete": "刪除/取消刪除修訂",
        "revdelete-nooldid-title": "無效的目標修訂",
-       "revdelete-nooldid-text": "您尚未指定一個目標修訂去進行這個功能、\n所指定的修訂不存在,或者您嘗試去隱藏現時的修訂。",
+       "revdelete-nooldid-text": "您尚未指定目標修訂執行此動作、指定的修訂不存在,或您嘗試隱藏目前的修訂。",
        "revdelete-no-file": "指定的檔案不存在。",
-       "revdelete-show-file-confirm": "{{GENDER:|你|妳|你}}是否真的是想去檢視於$2 $3刪除「<nowiki>$1</nowiki>」的檔案修訂?",
+       "revdelete-show-file-confirm": "您是否要檢視檔案 \"<nowiki>$1</nowiki>\" 已刪除的修訂於 $2 $3?",
        "revdelete-show-file-submit": "是",
-       "revdelete-selected-text": "已選定[[:$2]]之$1個版本:",
-       "revdelete-selected-file": "已選定檔案[[:$2]]之$1個版本:",
-       "logdelete-selected": "{{PLURAL:$1|選取的日誌項目}}:",
-       "revdelete-text-text": "已刪除修訂版本仍將出現於頁面歷史中,唯將不公開內容訪問。",
-       "revdelete-text-file": "已刪除檔案版本仍將出現於檔案歷史中,唯將不公開內容訪問。",
-       "logdelete-text": "已刪除日誌活動仍將出現於日誌中,唯將不公開內容訪問。",
-       "revdelete-text-others": "æ\96¼{{SITENAME}}ä¹\8bå\85¶ä»\96管ç\90\86å\93¡ä»\8dæ\9c\89æ¬\8aé\99\90訪å\95\8fé\9a±è\97\8få\85§å®¹ï¼\8c亦å\8f¯æ\96¼å\90\8cä¸\80ç\95\8cé\9d¢æ\81¢å¾©å\88ªé\99¤ï¼\8cé\99¤é\9d\9e設å®\9aé¡\8då¤\96æ¢\9d件ã\80\82",
-       "revdelete-confirm": "請確認您肯定去做的話,您就要明白到後果,以及這個程序符合[[{{MediaWiki:Policy-url}}|政策]]。",
+       "revdelete-selected-text": "已選擇 [[:$2]] 中的{{PLURAL:$1|一筆|多筆}}修訂:",
+       "revdelete-selected-file": "已選擇 [[:$2]] 中的{{PLURAL:$1|一個|多個}}檔案版本:",
+       "logdelete-selected": "已選擇{{PLURAL:$1|一筆|多筆}}日誌活動:",
+       "revdelete-text-text": "已刪除的修訂仍會出現於頁面歷史中,但內容將不開放存取。",
+       "revdelete-text-file": "已刪除的檔案版本仍會出現於檔案歷史中,但內容將不開放存取。",
+       "logdelete-text": "已刪除的日誌活動仍會出現於日誌中,但內容將不開放存取。",
+       "revdelete-text-others": "å\9c¨ {{SITENAME}} ä¸\8aç\9a\84å\85¶ä»\96管ç\90\86å\93¡ä»\8dæ\9c\89æ¬\8aé\99\90å\8f¯ä»¥å­\98å\8f\96é\9a±è\97\8fç\9a\84å\85§å®¹ï¼\8cä¸\94è\83½å¤ å\8f\96æ¶\88å\88ªé\99¤ï¼\8cé\99¤é\9d\9eæ\9c\89é¡\8då¤\96ç\9a\84設å®\9aé\99\90å\88¶ã\80\82",
+       "revdelete-confirm": "請確認您是否明白此動作會造成的後果,\n以及您所做的動作是否符合 [[{{MediaWiki:Policy-url}}|政策]] 規範。",
        "revdelete-suppress-text": "禁制顯示應<strong>只有</strong>在下述情形時使用:\n* 潛在誹謗的資訊\n* 不合適個人資料\n*: <em>住家地址、電話號碼、身分證字號等。</em>",
-       "revdelete-legend": "設定可見性之限制",
+       "revdelete-legend": "設定顯示限制",
        "revdelete-hide-text": "修訂文字",
        "revdelete-hide-image": "隱藏檔案內容",
        "revdelete-hide-name": "隱藏動作和目標",
        "revdelete-hide-restricted": "禁止顯示資料給管理者及其他使用者",
        "revdelete-radio-same": "(請勿更改)",
        "revdelete-radio-set": "隱藏",
-       "revdelete-radio-unset": "可見",
+       "revdelete-radio-unset": "顯示",
        "revdelete-suppress": "禁止顯示資料給管理者及其他使用者",
-       "revdelete-unsuppress": "在已恢復的修訂中移除限制",
+       "revdelete-unsuppress": "移除已還原修訂上的顯示限制",
        "revdelete-log": "原因:",
-       "revdelete-submit": "應用於選取的{{PLURAL:$1|修訂}}",
-       "revdelete-success": "'''修訂的可見性已經成功更新。'''",
-       "revdelete-failure": "'''修訂的可見性無法更新:'''\n$1",
-       "logdelete-success": "'''事件的可見性已經成功設定。'''",
-       "logdelete-failure": "'''事件的可見性無法設定:'''\n$1",
-       "revdel-restore": "變更可見性",
+       "revdelete-submit": "套用至已選取的{{PLURAL:$1|一筆|多筆}}修訂",
+       "revdelete-success": "<strong>已成功更新修訂的顯示設定。</strong>",
+       "revdelete-failure": "<strong>無法更新修訂的顯示設定:</strong>\n$1",
+       "logdelete-success": "<strong>已成功更新日誌的顯示設定。</strong>",
+       "logdelete-failure": "<strong>無法更新日誌的顯示設定:</strong>\n$1",
+       "revdel-restore": "更改顯示設定",
        "pagehist": "頁面歷史",
-       "deletedhist": "已刪除歷史",
-       "revdelete-hide-current": "正在隱藏於$1 $2之項目錯誤:這個是現時的修訂,不可以隱藏。",
-       "revdelete-show-no-access": "æ­£å\9c¨é¡¯ç¤ºæ\96¼$1 $2ä¹\8bé \85ç\9b®é\8c¯èª¤ï¼\9aé\80\99å\80\8bé \85ç\9b®å·²ç¶\93æ¨\99示ç\82º\"å·²é\99\90å\88¶\"ï¼\8cæ\82¨å°\8då®\83並ç\84¡é\80\9aè¡\8cæ¬\8a。",
-       "revdelete-modify-no-access": "正在更改於$1 $2之項目錯誤:這個項目已經標示為\"已限制\",您對它並無通行權。",
-       "revdelete-modify-missing": "正在更改項目ID $1錯誤:它在資料庫中遺失!",
-       "revdelete-no-change": "警告:於$1 $2之項目已經請求了可見性的設定。",
-       "revdelete-concurrent-change": "正在更改於$1 $2之項目錯誤:當我們嘗試更改它的設定時,已經被另一些人更改過。請檢查紀錄。",
-       "revdelete-only-restricted": "在隱藏於 $1 $2 的項目時發生錯誤:您無法在未選擇任何能見性選項下禁止顯示項目。",
+       "deletedhist": "已刪除歷史",
+       "revdelete-hide-current": "隱藏於 $1 $2 的項目錯誤:此為目前的修訂,不可隱藏。",
+       "revdelete-show-no-access": "檢è¦\96æ\96¼ $1 $2 ç\9a\84é \85ç\9b®é\8c¯èª¤ï¼\9aæ­¤é \85ç\9b®å·²è¨­ç\82º \"å·²é\99\90å\88¶\"ã\80\82\næ\82¨æ²\92æ\9c\89æ¬\8aé\99\90å­\98å\8f\96。",
+       "revdelete-modify-no-access": "修改於 $1 $2 的項目錯誤:此項目已設為 \"已限制\"。\n您沒有權限存取。",
+       "revdelete-modify-missing": "修改項目 ID $1 錯誤:資料庫中無該資料!",
+       "revdelete-no-change": "<strong>警告:</strong>於 $1 $2 的項目已請求修改顯示設定。",
+       "revdelete-concurrent-change": "修改於 $1 $2 的項目錯誤:在您嘗試修改之前,狀態已被修改。\n請檢查日誌。",
+       "revdelete-only-restricted": "在隱藏於 $1 $2 的項目時發生錯誤:您不可在未選擇顯示設定的情況下禁止管理員檢視項目。",
        "revdelete-reason-dropdown": "*常見的刪除原因\n** 侵犯版權\n** 不合適的評論或個人資訊\n** 不當的使用者名稱\n** 隱含誹謗的資訊",
        "revdelete-otherreason": "其它/額外的原因:",
        "revdelete-reasonotherlist": "其它原因",
        "difference-multipage": "(頁面間的差異)",
        "lineno": "行 $1:",
        "compareselectedversions": "比較已選擇的修訂",
-       "showhideselectedversions": "顯示/隱藏已選擇的修訂",
+       "showhideselectedversions": "更改已選擇修訂的顯示設定",
        "editundo": "還原",
        "diff-empty": "(無差異)",
        "diff-multi-sameuser": "(未顯示相同使用者於中間所作的 $1 次修訂)",
        "diff-multi-manyusers": "(未顯示由超過 $2 位使用者於中間所作的 $1 次修訂)",
        "difference-missing-revision": "{{PLURAL:$2|1次修訂|$2 次修訂}}差異($1)不存在。\n\n這通常是因為過時的頁面修訂差異鏈接被刪除。\n詳情請閱[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} 刪除日誌]。",
        "searchresults": "搜尋結果",
-       "searchresults-title": "對「$1」的搜尋結果",
-       "toomanymatches": "過多的匹配已回應,請嘗試一個不同的查詢",
-       "titlematches": "é \81é\9d¢æ¨\99é¡\8cç\9b¸ç¬¦",
-       "textmatches": "é \81é\9d¢å\85§å®¹ç\9b¸ç¬¦",
-       "notextmatches": "沒有頁面內容匹配",
+       "searchresults-title": "\"$1\" 的搜尋結果",
+       "toomanymatches": "太多符合條件的結果,請嘗試使用較複雜的查詢",
+       "titlematches": "é \81é\9d¢æ¨\99é¡\8c符å\90\88",
+       "textmatches": "é \81é\9d¢å\85§å®¹ç¬¦å\90\88",
+       "notextmatches": "沒有符合的頁面內容",
        "prevn": "前 $1 筆",
        "nextn": "後 {{PLURAL:$1|$1}} 筆",
        "prevn-title": "前 $1 筆結果",
        "nextn-title": "後 $1 筆結果",
-       "shown-title": "每頁顯示 $1 結果",
+       "shown-title": "每頁顯示 $1 結果",
        "viewprevnext": "檢視 ($1 {{int:pipe-separator}} $2) ($3)",
-       "searchmenu-exists": "'''在這個 wiki 上已有一頁面叫做「[[:$1]]」。'''",
-       "searchmenu-new": "<strong>於此 Wiki 建立頁面 \"[[:$1]]\"!</strong>請參考您輸入的條件找到的搜尋結果。",
+       "searchmenu-exists": "<strong>此 Wiki 已有名稱為 \"[[:$1]]\" 的頁面。</strong> {{PLURAL:$2|0=|或請參考其他搜尋結果。}}",
+       "searchmenu-new": "<strong>於此 Wiki 建立頁面 \"[[:$1]]\"!</strong>{{PLURAL:$2|0=|或請參考您輸入的條件找到的搜尋結果。|或請參考其他搜尋結果。}}",
        "searchprofile-articles": "內容頁面",
        "searchprofile-project": "說明與專案頁面",
        "searchprofile-images": "多媒體",
        "searchprofile-advanced-tooltip": "搜尋自訂命名空間",
        "search-result-size": "$1 ($2 個字)",
        "search-result-category-size": "$1 位成員 ($2 個子分類,$3 個檔案)",
-       "search-result-score": "相關度$1%",
+       "search-result-score": "相關度$1%",
        "search-redirect": "(重新導向至 $1)",
        "search-section": "(章節 $1)",
        "search-file-match": "(符合檔案內容)",
-       "search-suggest": "{{GENDER:|你|妳|你}}是不是要找:$1",
-       "search-interwiki-caption": "å§\8a妹專案",
+       "search-suggest": "您指的是不是:$1",
+       "search-interwiki-caption": "å§\90妹專案",
        "search-interwiki-default": "來自 $1 的結果:",
        "search-interwiki-more": "(更多)",
        "search-relatedarticle": "相關",
        "searcheverything-enable": "搜尋所有命名空間",
        "searchrelated": "相關",
        "searchall": "全部",
-       "showingresults": "ä¸\8bé\9d¢é¡¯ç¤ºå¾\9e第 <b>$2</b> æ¢\9dé\96\8bå§\8bç\9a\84 <b>$1</b> æ¢\9dçµ\90æ\9e\9c:",
-       "showingresultsinrange": "以下顯示第 <strong>$2</strong> 筆至第 <strong>$3</strong> 筆,共 <strong>$1</strong> 筆搜尋結果。",
-       "showingresultsnum": "ä¸\8bé\9d¢é¡¯ç¤ºå¾\9e第 '''$2''' æ¢\9dé\96\8bå§\8bç\9a\84 '''{{PLURAL:$3|1|$3}}''' æ¢\9dçµ\90æ\9e\9cã\80\82",
-       "showingresultsheader": "對'''$4'''的{{PLURAL:$5|第 '''$1''' 至第 '''$3''' 項結果|第 '''$1 - $2''' 項,共 '''$3''' 項結果}}",
-       "search-nonefound": "在查詢中無結果相符。",
+       "showingresults": "以ä¸\8b顯示å¾\9e第 <strong>$2</strong> ç­\86é\96\8bå§\8bï¼\8cå\85± {{PLURAL:$1|<strong>1</strong> ç­\86çµ\90æ\9e\9c|<strong>$1</strong> ç­\86çµ\90æ\9e\9c}}:",
+       "showingresultsinrange": "以下顯示從第 <strong>$2</strong> 筆至第 <strong>$3</strong> 筆中的 {{PLURAL:$1|<strong>1</strong> 筆結果|<strong>$1</strong> 筆結果}}:",
+       "showingresultsnum": "以ä¸\8b顯示å¾\9e第 <strong>$2</strong> ç­\86é\96\8bå§\8bï¼\8cå\85± {{PLURAL:$3|<strong>1</strong> ç­\86çµ\90æ\9e\9c|<strong>$3</strong> ç­\86çµ\90æ\9e\9c}}ï¼\9a",
+       "showingresultsheader": "<strong>$4</strong> 的 {{PLURAL:$5|第 <strong>$1</strong> 筆結果,共 <strong>$3</strong> 筆|第 <strong>$1 - $2</strong>,共 <strong>$3</strong> 筆}}",
+       "search-nonefound": "無符合查詢條件的結果。",
        "powersearch-legend": "進階搜尋",
        "powersearch-ns": "搜尋以下命名空間:",
-       "powersearch-togglelabel": "勾選:",
+       "powersearch-togglelabel": "請選擇:",
        "powersearch-toggleall": "全部",
        "powersearch-togglenone": "無",
        "search-external": "外部搜尋",
-       "searchdisabled": "{{SITENAME}}由於性能方面的原因,全文搜索已被暫時停用。您可以暫時透過Google搜索。請留意他們的索引可能會過時。",
+       "searchdisabled": "{{SITENAME}} 已停用搜尋功能。\n您可以改透過 Google 搜尋。\n請注意,在 Google 中搜尋到的 {{SITENAME}} 頁面內容可能不是最新的。",
        "search-error": "搜尋時發生錯誤:$1",
        "preferences": "偏好設定",
        "mypreferences": "偏好設定",
        "prefs-watchlist": "監視列表",
        "prefs-watchlist-days": "監視列表中顯示的天數:",
        "prefs-watchlist-days-max": "最多 $1 {{PLURAL:$1|天}}",
-       "prefs-watchlist-edits": "å±\95é\96\8bç\9a\84ç\9b£è¦\96å\88\97表中顯示è®\8aæ\9b´æ¬¡æ\95¸上限:",
-       "prefs-watchlist-edits-max": "æ\9c\80大æ\95¸é\87\8f:1000",
+       "prefs-watchlist-edits": "å±\95é\96\8bç\9b£è¦\96å\88\97表中顯示ç\9a\84è®\8aæ\9b´æ\95¸é\87\8f上限:",
+       "prefs-watchlist-edits-max": "æ\95¸é\87\8fä¸\8aé\99\90:1000",
        "prefs-watchlist-token": "監視列表密鑰:",
-       "prefs-misc": "雜項",
+       "prefs-misc": "其他",
        "prefs-resetpass": "變更密碼",
        "prefs-changeemail": "變更電子郵件",
        "prefs-setemail": "設定電子郵件位址",
        "recentchangesdays-max": "最多 $1 {{PLURAL:$1|天}}",
        "recentchangescount": "預設顯示的編輯數:",
        "prefs-help-recentchangescount": "這包含最近變更、頁面歷史以及日誌。",
-       "prefs-help-watchlist-token2": "這是一個秘密的密鑰,用於訂源您的監視列表。\n知道它的人將能夠讀取您的監視列表,所以您不應該分享它。[[Special:ResetTokens|如有需要重設此密鑰,請點擊這裡]]。",
+       "prefs-help-watchlist-token2": "訂閱您的監視列表所需的密鑰。\n任何人只要知道密鑰就能夠讀取您的監視列表,所以請勿任意與它人共享。\n若有需要 [[Special:ResetTokens|您可重設密鑰]]。",
        "savedprefs": "您的偏好設定已儲存。",
        "timezonelegend": "時區:",
        "localtime": "當地時間:",
        "userrights-groups-help": "您可以更改此使用者所屬的群組:\n* 已勾選的核選方塊代表該使用者屬於該群組。\n* 未勾選的核選方塊代表該使用者不屬於該群組。\n* 有 * 號標示代表一旦加入該群組後便不能移除,反之亦然。",
        "userrights-reason": "原因:",
        "userrights-no-interwiki": "您沒有權限去編輯其它使用者在 Wiki 上的權限。",
-       "userrights-nodatabase": "資料庫$1不存在或並非為本地的。",
+       "userrights-nodatabase": "資料庫 $1 不存在或不在本地主機的。",
        "userrights-nologin": "您必須 [[Special:UserLogin|登入]] 管理員帳號以指定使用者權限。",
        "userrights-notallowed": "你無權加入或刪除使用者權限。",
        "userrights-changeable-col": "您可變更的群組",
        "right-suppressredirect": "移動頁面時不建立來源的重新導向頁面",
        "right-upload": "上傳檔案",
        "right-reupload": "覆蓋現有的檔案",
-       "right-reupload-own": "覆蓋由同一位上載的檔案",
-       "right-reupload-shared": "於本地無視共用媒體檔案庫上的檔案",
-       "right-upload_by_url": "由一個URL上載檔案",
-       "right-purge": "不確認清除網站快取",
-       "right-autoconfirmed": "不受以 IP 為基礎的註冊頻率限制",
-       "right-bot": "視為一個自動程序",
-       "right-nominornewtalk": "若討論頁面為小修訂,則不顯示新訊息提示",
-       "right-apihighlimits": "API 查詢中可使用較高上限值",
+       "right-reupload-own": "覆蓋自己上傳的檔案",
+       "right-reupload-shared": "覆蓋共用媒體檔案庫於本地的檔案",
+       "right-upload_by_url": "使用 URL 上傳檔案",
+       "right-purge": "不須確認即清除網站的頁面快取",
+       "right-autoconfirmed": "不受 IP-based 的註冊頻率限制",
+       "right-bot": "將其視為自動程序",
+       "right-nominornewtalk": "不顯示討論頁面中小修訂的新訊息提示",
+       "right-apihighlimits": "使用 API 查詢的最高上限值",
        "right-writeapi": "使用寫入 API",
        "right-delete": "刪除頁面",
-       "right-bigdelete": "刪除大量歷史之頁面",
-       "right-deletelogentry": "刪除及恢復特定的日誌項目",
-       "right-deleterevision": "å\88ªé\99¤å\8f\8aå\90\8cæ\81¢å¾©é \81é\9d¢ä¸­ç\9a\84æ\8c\87å®\9a修訂",
-       "right-deletedhistory": "檢視已刪除之歷史項目,不含關聯的文本",
-       "right-deletedtext": "檢視已刪除修訂中之已刪除的字以及更改",
-       "right-browsearchive": "搜尋已刪除頁面",
-       "right-undelete": "å\8f\8d刪除頁面",
-       "right-suppressrevision": "檢視及恢復由操作員隱藏之修訂",
+       "right-bigdelete": "刪除有大量歷史記錄的頁面",
+       "right-deletelogentry": "刪除及取消刪除指定的日誌項目",
+       "right-deleterevision": "å\88ªé\99¤å\8f\8aå\8f\96æ¶\88å\88ªé\99¤æ\8c\87å®\9aç\9a\84é \81é\9d¢修訂",
+       "right-deletedhistory": "檢視已刪除的歷史項目,不含關聯的文字",
+       "right-deletedtext": "檢視已刪除修訂中已刪除的文字及變更",
+       "right-browsearchive": "搜尋已刪除頁面",
+       "right-undelete": "å\8f\96æ¶\88刪除頁面",
+       "right-suppressrevision": "複查與還原由管理員隱藏的修訂",
        "right-suppressionlog": "檢視非公開的日誌",
        "right-block": "封鎖其他使用者的編輯權限",
        "right-blockemail": "封鎖使用者發送電子郵件的權限",
        "right-hideuser": "封鎖使用者名稱,避免公開顯示",
-       "right-ipblock-exempt": "略過 IP 封鎖、自動封鎖以及範圍封鎖",
-       "right-proxyunbannable": "略過 Proxy 自動封鎖",
+       "right-ipblock-exempt": "略過 IP 封鎖、自動封鎖及範圍封鎖檢查",
+       "right-proxyunbannable": "略過 Proxy 自動封鎖檢查",
        "right-unblockself": "解除封鎖自己",
-       "right-protect": "更改保護等級以及編輯被連鎖保護的頁面",
-       "right-editprotected": "編輯保護層級為「{{int:protect-level-sysop}}」的頁面",
-       "right-editsemiprotected": "編輯保護層級為「{{int:protect-level-autoconfirmed}}」的頁面",
+       "right-protect": "更改保護層級及編輯被連鎖保護的頁面",
+       "right-editprotected": "編輯保護層級為 \"{{int:protect-level-sysop}}\" 的頁面",
+       "right-editsemiprotected": "編輯保護層級為 \"{{int:protect-level-autoconfirmed}}\" 的頁面",
        "right-editinterface": "編輯使用者介面",
        "right-editusercssjs": "編輯其他使用者的 CSS 和 JavaScript 檔案",
        "right-editusercss": "編輯其他使用者的 CSS 檔案",
        "right-edituserjs": "編輯其他使用者的 JavaScript 檔案",
-       "right-editmyusercss": "編輯自己的使用者 CSS 檔",
-       "right-editmyuserjs": "編輯自己的使用者 JavaScript 檔",
-       "right-viewmywatchlist": "檢視的監視列表",
-       "right-editmywatchlist": "編輯您的監視列表。請注意即使沒有這種權利,某些操作仍將添加頁面。",
-       "right-viewmyprivateinfo": "檢視自己的私隱資料(如電郵地址及真實姓名)",
-       "right-editmyprivateinfo": "編輯自己的私隱資料(如電郵地址及真實姓名)",
-       "right-editmyoptions": "編輯的偏好設定",
+       "right-editmyusercss": "編輯自己的使用者 CSS 檔",
+       "right-editmyuserjs": "編輯自己的使用者 JavaScript 檔",
+       "right-viewmywatchlist": "檢視自己的監視列表",
+       "right-editmywatchlist": "編輯自己的監視列表。注意,即使無此權限,某些操作仍會新增頁面至監視列表。",
+       "right-viewmyprivateinfo": "檢視自己的私隱資料 (如:電子郵件地址及真實姓名)",
+       "right-editmyprivateinfo": "編輯自己的私隱資料 (如:電子郵件地址及真實姓名)",
+       "right-editmyoptions": "編輯自己的偏好設定",
        "right-rollback": "快速還原最後一位使用者對某一頁面的編輯",
-       "right-markbotedits": "標示復原編輯作機械人編輯",
-       "right-noratelimit": "沒有使用頻率限制",
-       "right-import": "由其它wiki中匯入頁面",
-       "right-importupload": "由檔案上載中匯入頁面",
-       "right-patrol": "標示他人的編輯爲已巡查",
+       "right-markbotedits": "標示還原編輯為機械人編輯",
+       "right-noratelimit": "不受使用頻率限制",
+       "right-import": "由其他 Wiki 匯入頁面",
+       "right-importupload": "由檔案上匯入頁面",
+       "right-patrol": "標示他人的編輯爲已巡查",
        "right-autopatrol": "將自己的編輯自動標示為已巡查的",
        "right-patrolmarks": "檢視最近變更的巡查標記",
-       "right-unwatchedpages": "檢視未監視頁面",
+       "right-unwatchedpages": "檢視未監視頁面",
        "right-mergehistory": "合併頁面歷史",
        "right-userrights": "編輯所有使用者的權限",
-       "right-userrights-interwiki": "編輯在其它 Wiki 上的使用者權限",
+       "right-userrights-interwiki": "編輯使用者在其它 Wiki 上的權限",
        "right-siteadmin": "鎖定和解除鎖定資料庫",
-       "right-override-export-depth": "匯出含有五層深度連結頁面之頁面",
+       "right-override-export-depth": "匯出頁面包含連結內容,深度上限為 5 層",
        "right-sendemail": "發送電子郵件給其他使用者",
-       "right-passwordreset": "æ\9f¥ç\9c\8bé\87\8dç½®å¯\86碼郵件",
+       "right-passwordreset": "檢è¦\96é\87\8d設å¯\86碼é\9b»å­\90郵件",
        "newuserlogpage": "建立使用者日誌",
        "newuserlogpagetext": "此為建立使用者的日誌。",
        "rightslog": "使用者權限日誌",
        "action-userrights-interwiki": "編輯在其它 Wiki 上的使用者權限",
        "action-siteadmin": "鎖定和解除鎖定資料庫",
        "action-sendemail": "發送電子郵件",
-       "action-editmywatchlist": "編輯您的監視列表",
+       "action-editmywatchlist": "編輯您的監視列表",
        "action-viewmywatchlist": "查看您的監視列表",
        "action-viewmyprivateinfo": "查看您的個人資料",
        "action-editmyprivateinfo": "編輯您的個人資料",
        "recentchanges-label-plusminus": "頁面更改的位元組大小",
        "recentchanges-legend-heading": "'''說明:'''",
        "recentchanges-legend-newpage": "(請參考 [[Special:NewPages|最新頁面]])",
-       "recentchanges-legend-plusminus": "(''±123'')",
+       "recentchanges-legend-plusminus": "(<em>±123</em>)",
        "rcnotefrom": "以下為自 <strong>$2</strong> 起的更改 (最多顯示<strong>$1</strong> 筆)。",
        "rclistfrom": "顯示自 $3 $2 以來的最近變更",
        "rcshowhideminor": "$1 小修訂",
        "newpageletter": "新",
        "boteditletter": "機",
        "number_of_watching_users_pageview": "[$1 位在監視的使用者]",
-       "rc_categories": "分類界限(以\"|\"分割)",
+       "rc_categories": "限制分類 (以 \"|\" 分隔)",
        "rc_categories_any": "任意",
        "rc-change-size-new": "更改後$1字節",
        "newsectionsummary": "/* $1 */ 新章節",
        "upload_directory_missing": "遺失上傳目錄($1)且網頁伺服器無權限建立。",
        "upload_directory_read_only": "上傳目錄($1)不存在或無寫權限。",
        "uploaderror": "上傳錯誤",
-       "upload-recreate-warning": "'''警告:一個相同名字的檔案曾經被刪除或者移動至別處。'''\n\n這個頁面的刪除和移動日誌在這裏提供以便參考:",
+       "upload-recreate-warning": "<strong>警告:曾有檔案使用此名稱已被刪除或者移動至它處。</strong>\n\n在此提供刪除與移動日誌方便作為參考:",
        "uploadtext": "使用下面的表單來上傳檔案。\n要檢視或搜尋以前上傳的檔案,可至 [[Special:FileList|檔案上傳清單]],(重新)上傳會在 [[Special:Log/upload|上傳日誌]] 中記錄,而刪除則會在 [[Special:Log/delete|刪除日誌]] 中記錄。\n\n要在頁面中引用檔案,可使用以下其中一種方式連結:\n* <strong><code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.jpg]]</nowiki></code></strong> 顯示完整尺吋的圖片\n* <strong><code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.png|200px|thumb|left|alt text]]</nowiki></code></strong> 會在左方放置一張 200 像素寬的圖片於框中,並顯示 \"alt text\" 作為描述\n* <strong><code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:File.ogg]]</nowiki></code></strong> 直接連結到圖片而不顯示預覽",
        "upload-permitted": "允許的檔案類型:$1。",
        "upload-preferred": "建議的檔案類型:$1。",
        "fileexists-forbidden": "已存在相同名稱的檔案,且不能覆蓋;請返回並用一個新的名稱來上傳此檔案。[[File:$1|thumb|center|$1]]",
        "fileexists-shared-forbidden": "在共享檔案庫中已存在此名稱的檔案。\n如果{{GENDER:|你|妳|你}}仍然想去上載它的話,請返回並用一個新的名稱來上傳此檔案。[[File:$1|thumb|center|$1]]",
        "file-exists-duplicate": "這個檔案是跟以下的{{PLURAL:$1|一|多}}個檔案重覆:",
-       "file-deleted-duplicate": "一個相同名稱的檔案 ([[:$1]]) 在先前刪除過。您應該在重新上傳之前檢查一下該檔案之刪除紀錄。",
+       "file-deleted-duplicate": "一個相同名稱的檔案 ([[:$1]]) 在先前刪除過。您應該在重新上傳之前檢查一下該檔案之刪除日誌。",
        "file-deleted-duplicate-notitle": "在此之前已有與此相同的檔案已被刪除,並且禁止顯示標題。\n您在重新上傳前,應請求有權力檢視隱藏檔案的使用者重新審查。",
        "uploadwarning": "上載警告",
        "uploadwarning-text": "請修改以下的檔案描述並重試。",
        "randomincategory-invalidcategory": "\"$1\" 不是一個有效的分類名稱。",
        "randomincategory-nopages": "[[:Category:$1]]中沒有頁面。",
        "randomincategory-selectcategory": "從分類中獲取隨機頁面:$1 $2",
-       "randomincategory-selectcategory-submit": "å\89\8då¾\80",
+       "randomincategory-selectcategory-submit": "å\9f·è¡\8c",
        "randomredirect": "隨機重新導向",
        "randomredirect-nopages": "在命名空間 \"$1\" 中沒有重新導向頁面。",
        "statistics": "統計",
        "statistics-mostpopular": "被查閱次數最多的頁面",
        "pageswithprop": "擁有屬性的頁面",
        "pageswithprop-legend": "有頁面屬性的頁面",
-       "pageswithprop-text": "此頁列出所有頁面使用了特定的頁面屬性。",
+       "pageswithprop-text": "此頁面用來查詢使用了指定屬性的頁面。",
        "pageswithprop-prop": "屬性名稱:",
-       "pageswithprop-submit": "進入",
-       "pageswithprop-prophidden-long": "長文本屬性值已被隱藏($1)",
-       "pageswithprop-prophidden-binary": "已隱藏二進位屬性值($1)",
+       "pageswithprop-submit": "執行",
+       "pageswithprop-prophidden-long": "已隱藏過長的屬性值 ($1)",
+       "pageswithprop-prophidden-binary": "已隱藏二進位屬性值 ($1)",
        "doubleredirects": "雙重的重新導向頁面",
        "doubleredirectstext": "這一頁列出所有重定向頁面重定向到另一個重定向頁的頁面。每一行都包含到第一和第二個重定向頁面的連結,以及第二個重定向頁面的目標,通常顯示的都會是\"真正\"的目標頁面,也就是第一個重定向頁面應該指向的頁面。\n<del>已劃去</del>的為已經解決之項目。",
        "double-redirect-fixed-move": "[[$1]] 已完成移動。\n此頁面已自動更新並重新導向至 [[$2]]。",
        "fewestrevisions": "最少修訂的頁面",
        "nbytes": "$1 個位元組",
        "ncategories": "$1 個分類",
-       "ninterwikis": "$1 個跨維基",
+       "ninterwikis": "$1 個跨維基連結",
        "nlinks": "$1 個連結",
-       "nmembers": "$1個成員",
-       "nmemberschanged": "$1 → $2個成員",
-       "nrevisions": "$1修訂",
-       "nviews": "$1次瀏覽",
-       "nimagelinks": "用於$1個頁面中",
-       "ntransclusions": "用於$1個頁面中",
-       "specialpage-empty": "這個報告的結果為空。",
+       "nmembers": "$1 個成員",
+       "nmemberschanged": "$1 → $2 個成員",
+       "nrevisions": "$1 次修訂",
+       "nviews": "$1 次檢視",
+       "nimagelinks": "被 $1 個頁面使用",
+       "ntransclusions": "被 $1 個頁面使用",
+       "specialpage-empty": "此報表無查無任何結果。",
        "lonelypages": "孤立頁面",
        "lonelypagestext": "下列頁面尚未被 {{SITENAME}} 中的其它頁面連結或引用。",
        "uncategorizedpages": "待分類頁面",
        "mostlinkedtemplates": "最多連結的樣版",
        "mostcategories": "最多分類頁面",
        "mostimages": "最多連結檔案",
-       "mostinterwikis": "最多跨維基頁面",
+       "mostinterwikis": "æ\9c\80å¤\9a跨維å\9fºé\80£çµ\90ç\9a\84é \81é\9d¢",
        "mostrevisions": "最多修訂頁面",
        "prefixindex": "所有頁面與字首",
        "prefixindex-namespace": "所有含字首的頁面 ($1 命名空間)",
        "booksources": "圖書資源",
        "booksources-search-legend": "尋找圖書資源",
        "booksources-isbn": "國際標準書號:",
-       "booksources-go": "送出",
+       "booksources-go": "執行",
        "booksources-text": "以下是一份銷售新書或二手書的列表,並可能有{{GENDER:|你|妳|你}}正尋找的書的進一步訊息:",
        "booksources-invalid-isbn": "提供的ISBN號碼並不正確,請檢查原始複製來源號碼是否有誤。",
        "specialloguserlabel": "操作者:",
        "speciallogtitlelabel": "目標 (標題或使用者):",
        "log": "日誌",
        "all-logs-page": "所有公開日誌",
-       "alllogstext": "綜合顯示 {{SITENAME}} 的上傳、刪除、保護、查封以及站務日誌。",
-       "logempty": "在日誌中不存在匹配項。",
-       "log-title-wildcard": "搜尋以這個文字開始的標題",
-       "showhideselectedlogentries": "顯示/隱藏所選的日誌項目",
+       "alllogstext": "合併顯示所有 {{SITENAME}} 中所有類型的日誌。\n您可以點選下拉式選單選擇日誌的類型,指定使用者名稱 (區分大小寫) 或影響的頁面 (區分大小寫)。",
+       "logempty": "無符合條件的日誌。",
+       "log-title-wildcard": "搜尋以此欄位文字為字首的標題",
+       "showhideselectedlogentries": "顯示/隱藏已選擇的日誌項目",
        "allpages": "所有頁面",
        "nextpage": "下一頁 ($1)",
        "prevpage": "上一頁 ($1)",
        "allpagesto": "顯示從此處結束的頁面:",
        "allarticles": "所有頁面",
        "allinnamespace": "所有頁面 ($1 命名空間)",
-       "allpagessubmit": "提交",
+       "allpagessubmit": "執行",
        "allpagesprefix": "顯示以此為字首頁面:",
        "allpagesbadtitle": "指定的頁面標題無效、包含內部語言或內部 Wiki 的字首。\n它可能包含一個或多個的不能用於標題的字元。",
        "allpages-bad-ns": "{{SITENAME}} 沒有 \"$1\" 命名空間。",
        "notvisiblerev": "最後一次由其他使用者所作的修訂已經被刪除",
        "watchlist-details": "您的監視列表上共有 $1 個頁面 (不包含對話頁面)。",
        "wlheader-enotif": "已經啟動電子郵件通知功能。",
-       "wlheader-showupdated": "在{{GENDER:|你|妳|你}}上次檢視後有被修改過的頁面會顯示為'''粗體'''。",
-       "wlnote2": "以下是新近<strong>$1</strong>小時的更改,截至$2 $3。",
-       "wlshowlast": "顯示最近$1小時;$2天;$3的修改。",
+       "wlheader-showupdated": "在您最後一次檢視過後修改的頁面會以 <strong>粗體</strong> 顯示。",
+       "wlnote2": "以下為截至 $2 $3 最近 <strong>$1</strong> 小時的變更。",
+       "wlshowlast": "顯示最近 $1 小時,$2 天,$3 的修改",
        "watchlist-options": "監視列表選項",
        "watching": "正在監視...",
        "unwatching": "正在停止監視...",
        "watcherrortext": "更改「$1」的監視列表設定時發生錯誤。",
-       "enotif_reset": "將所有頁面標為已閱讀",
+       "enotif_reset": "將所有頁面標為已檢視",
        "enotif_impersonal_salutation": "{{SITENAME}} 使用者",
-       "enotif_subject_deleted": "{{SITENAME}}的「$1」頁面被$2刪除",
-       "enotif_subject_created": "{{SITENAME}}  $2 已建立頁面 $1",
-       "enotif_subject_moved": "{{SITENAME}}的「$1」頁面被$2移動",
-       "enotif_subject_restored": "{{SITENAME}}的「$1」頁面被$2恢復",
-       "enotif_subject_changed": "{{SITENAME}}的「$1」頁面被$2修改",
-       "enotif_body_intro_deleted": "{{SITENAME}}的「$1」頁面於$PAGEEDITDATE被$2刪除,請見$3。",
-       "enotif_body_intro_created": "{{SITENAME}}  $2 已建立頁面 $1 於 $PAGEEDITDATE,請參考目前的版本 $3。",
-       "enotif_body_intro_moved": "{{SITENAME}}的「$1」頁面於$PAGEEDITDATE被$2移動,請見$3瀏覽當前版本。",
-       "enotif_body_intro_restored": "{{SITENAME}}的「$1」頁面於$PAGEEDITDATE被$2恢復,請見$3瀏覽當前版本。",
-       "enotif_body_intro_changed": "{{SITENAME}}的「$1」頁面於$PAGEEDITDATE被$2修改,請見 $3 瀏覽當前版本。",
-       "enotif_lastvisited": "請參閱 $1 檢視你上次訪問後的所有更改。",
-       "enotif_lastdiff": "請參閱 $1 檢視該更改。",
+       "enotif_subject_deleted": "{{SITENAME}} $2 已刪除頁面 $1",
+       "enotif_subject_created": "{{SITENAME}} $2 已建立頁面 $1",
+       "enotif_subject_moved": "{{SITENAME}} $2 已移動頁面 $1",
+       "enotif_subject_restored": "{{SITENAME}} $2 已還原頁面 $1",
+       "enotif_subject_changed": "{{SITENAME}} $2 已修改頁面 $1",
+       "enotif_body_intro_deleted": "{{SITENAME}} $2 已刪除頁面 $1 於 $PAGEEDITDATE,詳見 $3。",
+       "enotif_body_intro_created": "{{SITENAME}} $2 已建立頁面 $1 於 $PAGEEDITDATE,詳見目前的修訂 $3。",
+       "enotif_body_intro_moved": "{{SITENAME}} $2 已移動頁面 $1 於 $PAGEEDITDATE,詳見目前的修訂 $3。",
+       "enotif_body_intro_restored": "{{SITENAME}} $2 已還原頁面 $1 於 $PAGEEDITDATE,詳見目前的修訂 $3。",
+       "enotif_body_intro_changed": "{{SITENAME}} $2 已修改頁面 $1 於 $PAGEEDITDATE,詳見目前的修訂 $3。",
+       "enotif_lastvisited": "請參考 $1 檢視自您上次檢視後所有的變更。",
+       "enotif_lastdiff": "請參考 $1 檢視此變更。",
        "enotif_anon_editor": "匿名使用者 $1",
-       "enotif_body": "$WATCHINGUSERNAME 您好,\n\n$PAGEINTRO $NEWPAGE\n\n編輯摘要:$PAGESUMMARY $PAGEMINOREDIT\n\n聯絡此編輯者:\n\n信箱:$PAGEEDITOR_EMAIL\n本站:$PAGEEDITOR_WIKI\n\n在您檢視該頁面之前,接下來的變更系統不會再向您發出通知。您也可以在監視列表中重設您所有監視頁面的通知狀態。\n\n{{SITENAME}} 通知系統啟\n\n--\n更改您的電子郵件通知設定,請至:\n{{canonicalurl:{{#special:Preferences}}}}\n\n更改您的監視列表設定,請至:\n{{canonicalurl:{{#special:EditWatchlist}}}}\n\n從監視列表中刪除此頁面,請至:\n$UNWATCHURL\n\n回函並取得更多協助:\n$HELPPAGE",
+       "enotif_body": "$WATCHINGUSERNAME 您好,\n\n$PAGEINTRO $NEWPAGE\n\n編輯摘要:$PAGESUMMARY $PAGEMINOREDIT\n\n編輯者聯絡方式:\n信箱:$PAGEEDITOR_EMAIL\n本站:$PAGEEDITOR_WIKI\n\n在您檢視該頁面之前,接下來的變更系統不會再向您發出通知。您也可以在監視列表中重設您所有監視頁面的通知狀態。\n\n{{SITENAME}} 通知系統啟\n\n--\n更改您的電子郵件通知設定,請至:\n{{canonicalurl:{{#special:Preferences}}}}\n\n更改您的監視列表設定,請至:\n{{canonicalurl:{{#special:EditWatchlist}}}}\n\n從監視列表中刪除此頁面,請至:\n$UNWATCHURL\n\n回函並取得進一步協助:\n$HELPPAGE",
        "created": "建立了",
        "changed": "更改",
        "deletepage": "刪除頁面",
        "confirm": "確認",
-       "excontent": "內容為: 「$1」",
-       "excontentauthor": "內容為:「$1」(而且唯一貢獻者為「[[Special:Contributions/$2|$2]]」)",
-       "exbeforeblank": "被清空前的內容為:「$1」",
+       "excontent": "內容為:\"$1\"",
+       "excontentauthor": "內容為:\"$1\" (且僅有一位貢獻者 \"[[Special:Contributions/$2|$2]]\")",
+       "exbeforeblank": "被清空前的內容為:\"$1\"",
        "delete-confirm": "刪除「$1」",
        "delete-legend": "刪除",
-       "historywarning": "'''警告: '''您將要刪除的頁內含有約$1次{{PLURAL:$1|修訂}}的歷史:",
-       "confirmdeletetext": "您即將刪除一個頁面或圖片以及其歷史。\n請確定您要進行此項操作,並且了解其後果,同時您的行為符合[[{{MediaWiki:Policy-url}}]]。",
+       "historywarning": "<strong>警告:</strong>您正要刪除的頁面內含有約 $1 次{{PLURAL:$1|的修訂}}歷史:",
+       "confirmdeletetext": "您正要刪除一個頁面或圖片以及其所有歷史。\n請確定您了解要進行此項操作所造成的後果,同時確認您的行為符合[[{{MediaWiki:Policy-url}}]] 規範。",
        "actioncomplete": "操作完成",
        "actionfailed": "操作失敗",
-       "deletedtext": "「$1」已經被刪除。最近刪除的記錄請參見$2。",
-       "dellogpage": "刪除紀錄",
-       "dellogpagetext": "以下是最近的刪除的列表。",
-       "deletionlog": "刪除紀錄",
+       "deletedtext": "已刪除 \"$1\"。\n請參考 $2 檢視最近的刪除記錄。",
+       "dellogpage": "刪除日誌",
+       "dellogpagetext": "以下為最近刪除記錄的列表。",
+       "deletionlog": "刪除日誌",
        "reverted": "還原到較早的版本",
-       "deletecomment": "理由:",
-       "deleteotherreason": "其它/附加的理由:",
+       "deletecomment": "原因:",
+       "deleteotherreason": "其它/額外的原因:",
        "deletereasonotherlist": "其它理由",
        "deletereason-dropdown": "*常見的刪除原因\n** 濫發廣告訊息\n** 破壞資料\n** 侵犯版權\n** 作者請求\n** 損壞的重新導向頁面",
        "delete-edit-reasonlist": "編輯刪除理由",
        "delete-toobig": "這個頁面有一個十分大量的編輯歷史,超過$1次修訂。刪除此類頁面的動作已經被限制,以防止在{{SITENAME}}上的意外擾亂。",
        "delete-warning-toobig": "這個頁面有一個十分大量的編輯歷史,超過$1次修訂。刪除它可能會擾亂{{SITENAME}}的資料庫操作;在繼續此動作前請小心。",
-       "deleting-backlinks-warning": "'''警告:'''您要刪除的頁面有[[Special:WhatLinksHere/{{FULLPAGENAME}}|其他頁面]]連接至此或包含此頁面。",
+       "deleting-backlinks-warning": "<strong>警告:</strong>您正要刪除的頁面有[[Special:WhatLinksHere/{{FULLPAGENAME}}|其他頁面]]連結或引用。",
        "rollback": "還原編輯",
        "rollback_short": "還原",
        "rollbacklink": "還原",
        "sessionfailure-title": "登入資訊失敗",
        "sessionfailure": "似乎您的登錄會話有問題;\n為了防止會話劫持,這個操作已經被取消。\n請返回先前的頁面,重新載入該頁面,然後重試。",
        "protectlogpage": "保護日誌",
-       "protectlogtext": "ä¸\8bé\9d¢æ\98¯é \81é\9d¢ä¿\9dè­·ä¿®æ\94¹å\88\97表ã\80\82\nè«\8bå\8f\83è\80\83[[Special:ProtectedPages|ä¿\9dè­·é \81é\9d¢æ¸\85å\96®]]以檢è¦\96ç\9b®å\89\8dé\80²è¡\8cç\9a\84é \81é\9d¢ä¿\9dè­·。",
-       "protectedarticle": "已保護「[[$1]]」",
-       "modifiedarticleprotection": "已變更「[[$1]]」的保護等級",
-       "unprotectedarticle": "已解除「[[$1]]」的保護",
-       "movedarticleprotection": "已將「[[$2]]」的保護設定移動至「[[$1]]」",
-       "protect-title": "變更「$1」的保護等級",
-       "protect-title-notallowed": "檢視「$1」的保護等級",
-       "prot_1movedto2": "[[$1]]移動到[[$2]]",
+       "protectlogtext": "以ä¸\8bç\82ºè®\8aæ\9b´é \81é\9d¢ä¿\9dè­·ç\9a\84å\88\97表ã\80\82\nè«\8bå\8f\83è\80\83 [[Special:ProtectedPages|å\8f\97ä¿\9dè­·é \81é\9d¢å\88\97表]] æª¢è¦\96ç\9b®å\89\8då\8f\97ä¿\9dè­·é \81é\9d¢。",
+       "protectedarticle": "已保護 \"[[$1]]\"",
+       "modifiedarticleprotection": "已變更 \"[[$1]]\" 的保護層級",
+       "unprotectedarticle": "已解除 \"[[$1]]\" 的保護",
+       "movedarticleprotection": "已移動 \"[[$2]]\" 的保護設定至 \"[[$1]]\"",
+       "protect-title": "變更 \"$1\" 的保護層級",
+       "protect-title-notallowed": "檢視 \"$1\" 的保護層級",
+       "prot_1movedto2": "已移動 [[$1]] 至 [[$2]]",
        "protect-badnamespace-title": "不可保護的命名空間",
-       "protect-badnamespace-text": "這個命名空間內的頁面無法設為保護。",
-       "protect-norestrictiontypes-text": "此頁不可被保護因沒有任何限制可用。",
+       "protect-badnamespace-text": "命名空間內的頁面無法設為保護。",
+       "protect-norestrictiontypes-text": "無法保護此頁面,無可限制的項目。",
        "protect-norestrictiontypes-title": "不可保護的頁面",
        "protect-legend": "確認保護",
-       "protectcomment": "理由:",
-       "protectexpiry": "到期:",
-       "protect_expiry_invalid": "輸入的終止時間無效。",
-       "protect_expiry_old": "終止時間已過去。",
+       "protectcomment": "原因:",
+       "protectexpiry": "期限:",
+       "protect_expiry_invalid": "無效的期限。",
+       "protect_expiry_old": "期限已結束。",
        "protect-unchain-permissions": "解除鎖定更多的保護選項",
-       "protect-text": "{{GENDER:|你|妳|你}}可以在這裡瀏覽和修改對頁面'''$1'''的保護級別。",
-       "protect-locked-blocked": "您不能在被封鎖期間更改保護級別。\n以下為 <strong>$1</strong> 頁面目前的設定:",
-       "protect-locked-dblock": "在資料庫鎖定時無法更改保護級別。\n以下是'''$1'''現時的保護級別:",
-       "protect-locked-access": "您的賬戶權限不能修改保護級別。\n以下是'''$1'''現時的保護級別:",
-       "protect-cascadeon": "以下$1個頁面包含着本頁面的同時,啟動了連鎖保護,因此本頁面目前也被保護。您可以設定本頁面的保護級別,但這並不會對連鎖保護有所影響。",
+       "protect-text": "您可以在此檢視與修改頁面 <strong>$1</strong> 的保護層級。",
+       "protect-locked-blocked": "頁面被封鎖,無法更改保護層級。\n以下為頁面 <strong>$1</strong> 目前的設定:",
+       "protect-locked-dblock": "資料庫被鎖定,無法更改保護層級。\n以下為頁面 <strong>$1</strong> 目前的設定:",
+       "protect-locked-access": "您的帳號沒有權限更改保護層級。\n以下為頁面 <strong>$1</strong> 目前的設定:",
+       "protect-cascadeon": "此頁面目前受保護,因頁面被下列啟動連鎖保護的 $1 個頁面引用。\n更改此頁面的保護層級不會影響連鎖保護的作用。",
        "protect-default": "允許所有使用者",
        "protect-fallback": "僅允許有 \"$1\" 權限的使用者",
        "protect-level-autoconfirmed": "僅允許已自動確認的使用者",
        "protect-level-sysop": "僅允許管理員",
-       "protect-summary-desc": "[$1=$2]($3)",
+       "protect-summary-desc": "[$1=$2] ($3)",
        "protect-summary-cascade": "連鎖",
-       "protect-expiring": "期限至 $1 (UTC)",
-       "protect-expiring-local": "$1到期",
+       "protect-expiring": "期限至 $1 (UTC)",
+       "protect-expiring-local": "期限至 $1",
        "protect-expiry-indefinite": "無限期",
        "protect-cascade": "保護本頁中包含的頁面 (連鎖保護)",
-       "protect-cantedit": "您無法更改這個頁面的保護等級,因為您沒有權限去編輯它。",
+       "protect-cantedit": "您沒有編輯權限,無法更改此頁面的保護層級。",
        "protect-othertime": "其它時間:",
        "protect-othertime-op": "其它時間",
-       "protect-existing-expiry": "現時到期之時間: $2 $3",
-       "protect-otherreason": "其它/附加的理由:",
+       "protect-existing-expiry": "已設定期限:$2 $3",
+       "protect-otherreason": "其它/額外的原因:",
        "protect-otherreason-op": "其它理由",
-       "protect-dropdown": "*通用保護理由\n** 過量的破壞\n** 過量的灌水\n** 反生產性編輯戰\n** 高流量頁面",
-       "protect-edit-reasonlist": "編輯保護理由",
+       "protect-dropdown": "*常見的保護原因\n** 過度的破壞\n** 過多垃圾訊息\n** 反生產性的編輯戰\n** 高流量頁面",
+       "protect-edit-reasonlist": "編輯保護原因",
        "protect-expiry-options": "1 小時:1 hour,1 天:1 day,1 週:1 week,2 週:2 weeks,1 個月:1 month,3 個月:3 months,6 個月:6 months,1 年:1 year,不限期:infinite",
        "restriction-type": "權限:",
-       "restriction-level": "限制級別:",
+       "restriction-level": "限制層級:",
        "minimum-size": "大小下限",
        "maximum-size": "大小上限:",
        "pagesize": "(位元組)",
        "undeletelink": "檢視/還原",
        "undeleteviewlink": "檢視",
        "undeleteinvert": "反向選擇",
-       "undeletecomment": "理由:",
+       "undeletecomment": "原因:",
        "undeletedrevisions": "$1個修訂版本已經恢復",
        "undeletedrevisions-files": "$1 個版本和 $2 個檔案被恢復",
        "undeletedfiles": "$1 個檔案被恢復",
        "sp-contributions-newonly": "僅顯示建立頁面之編輯",
        "sp-contributions-submit": "搜尋",
        "whatlinkshere": "連入頁面",
-       "whatlinkshere-title": "連結到「$1」的頁面",
+       "whatlinkshere-title": "連結到 \"$1\" 的頁面",
        "whatlinkshere-page": "頁面:",
        "linkshere": "以下頁面連結到[[:$1]]:",
        "nolinkshere": "沒有頁面連結到[[:$1]]。",
        "nolinkshere-ns": "已選擇的命名空間中沒有頁面連結到 [[:$1]]。",
        "isredirect": "重新導向頁面",
-       "istemplate": "å\8c\85å\90«",
+       "istemplate": "å¼\95ç\94¨",
        "isimage": "檔案連結",
        "whatlinkshere-prev": "前 $1 筆",
        "whatlinkshere-next": "後 $1 筆",
        "whatlinkshere-links": "← 連入",
        "whatlinkshere-hideredirs": "$1 重新導向頁面",
-       "whatlinkshere-hidetrans": "$1嵌入",
-       "whatlinkshere-hidelinks": "$1連結",
-       "whatlinkshere-hideimages": "$1檔案連結",
+       "whatlinkshere-hidetrans": "$1 引用",
+       "whatlinkshere-hidelinks": "$1 連結",
+       "whatlinkshere-hideimages": "$1 檔案連結",
        "whatlinkshere-filters": "搜尋",
        "autoblockid": "自動查封 #$1",
        "block": "封鎖使用者",
        "moveuserpage-warning": "<strong>警告:</strong> 您正要移動使用者頁面,請注意只有使用者頁面會變更名稱,並<em>不會</em>重新命名使用者。",
        "movecategorypage-warning": "<strong>警告:</strong>您將要移動分類頁面。請注意此操作只頁面,舊分類中的頁面將<em>不會</em>移動到新的分類。",
        "movenologintext": "您必須是已註冊的使用者並且 [[Special:UserLogin|登入]] 才可移動頁面。",
-       "movenotallowed": "您並沒有許可權去移動頁面。",
-       "movenotallowedfile": "您並沒有許可權去移動檔案。",
-       "cant-move-user-page": "您沒有權限去移動使用者頁面 (除了它的子頁面)。",
-       "cant-move-to-user-page": "您沒有權限去移動頁面至使用者頁面 (除了使用者子頁面)。",
-       "cant-move-category-page": "您沒有移動分類頁面的權限。",
-       "cant-move-to-category-page": "您沒有權限移動頁面分類頁面。",
-       "newtitle": "新標題:",
-       "move-watch": "監視來源以及目標頁",
+       "movenotallowed": "您沒有權限移動頁面。",
+       "movenotallowedfile": "您沒有權限移動檔案。",
+       "cant-move-user-page": "您沒有權限移動使用者頁面 (除使用者子頁面外)。",
+       "cant-move-to-user-page": "您沒有權限移動頁面至使用者頁面 (除使用者子頁面外)。",
+       "cant-move-category-page": "您沒有權限移動分類頁面。",
+       "cant-move-to-category-page": "您沒有權限移動頁面分類頁面。",
+       "newtitle": "新標題",
+       "move-watch": "監視來源以及目標頁",
        "movepagebtn": "移動頁面",
        "pagemovedsub": "移動成功",
-       "movepage-moved": "'''「$1」已經移動到「$2」'''",
+       "movepage-moved": "<strong>已移動 \"$1\" 至 \"$2\"</strong>",
        "movepage-moved-redirect": "已建立重新導向頁面。",
-       "movepage-moved-noredirect": "建ç«\8bé\87\8dæ\96°å°\8eå\90\91é \81é\9d¢å\8a\9fè\83½å·²è¢«ç¦\81æ­¢ã\80\82",
+       "movepage-moved-noredirect": "å·²ç¦\81止建ç«\8bé\87\8dæ\96°å°\8eå\90\91é \81é\9d¢ã\80\82",
        "articleexists": "該名字的頁面已經存在,或者您選擇的名字無效。請再選一個名字。",
        "cantmove-titleprotected": "您不可以移動這個頁面到這個位置,因為該新標題已經被保護以防止建立。",
        "movetalk": "移動相關的對話頁面",
-       "move-subpages": "移動子頁面(上至$1頁)",
+       "move-subpages": "移動子頁面 (共 $1 頁)",
        "move-talk-subpages": "移動對話頁面的子頁面 (共 $1 頁)",
        "movepage-page-exists": "頁面 $1 已經存在,不可以自動地覆寫。",
        "movepage-page-moved": "頁面 $1 已經移動到 $2。",
        "allmessages-filter-modified": "曾修改",
        "allmessages-prefix": "以字首搜尋:",
        "allmessages-language": "語言:",
-       "allmessages-filter-submit": "å¾\80",
+       "allmessages-filter-submit": "å\9f·è¡\8c",
        "allmessages-filter-translate": "翻譯",
        "thumbnail-more": "放大",
        "filemissing": "無法找到檔案",
        "import-rootpage-nosubpage": "命名空間 \"$1\" 的根頁面不允許子頁面。",
        "importlogpage": "匯入日誌",
        "importlogpagetext": "來自其它 wiki 的行政性的帶編輯歷史匯入頁面。",
-       "import-logentry-upload": "透過檔案上傳匯入$1",
-       "import-logentry-upload-detail": "$1個修訂",
-       "import-logentry-interwiki": "跨wiki$1",
-       "import-logentry-interwiki-detail": "來自$2的$1個修訂",
-       "javascripttest": "JavaScript測試",
-       "javascripttest-title": "運行$1測試。",
-       "javascripttest-pagetext-noframework": "這個頁面預留了作JavaScript測試。",
-       "javascripttest-pagetext-unknownframework": "未知的測試框架「$1」。",
-       "javascripttest-pagetext-frameworks": "è«\8bé\81¸æ\93\87以ä¸\8bå\85¶ä¸­ä¸\80å\80\8b測試æ¡\86æ\9e:$1",
-       "javascripttest-pagetext-skins": "選擇行測試的外觀:",
-       "javascripttest-qunit-intro": "請看mediawiki.org的[$1 測試說明]",
-       "javascripttest-qunit-heading": "MediaWiki JavaScript QUnit æ¸¬è©¦å¥\97件",
+       "import-logentry-upload": "透過檔案上傳匯入 $1",
+       "import-logentry-upload-detail": "$1 個修訂",
+       "import-logentry-interwiki": "跨 Wiki $1",
+       "import-logentry-interwiki-detail": "來自 $2 的 $1 個修訂",
+       "javascripttest": "JavaScript 測試",
+       "javascripttest-title": "執行 $1 測試。",
+       "javascripttest-pagetext-noframework": "此頁面保留用來作為 JavaScript 測試使用。",
+       "javascripttest-pagetext-unknownframework": "不明的測試 Framework \"$1\"。",
+       "javascripttest-pagetext-frameworks": "è«\8bé\81¸æ\93\87ä¸\8bå\88\97ä¸\80種測試 Framework:$1",
+       "javascripttest-pagetext-skins": "選擇行測試的外觀:",
+       "javascripttest-qunit-intro": "請參考 mediawiki.org 的 [$1 測試說明文件]。",
+       "javascripttest-qunit-heading": "MediaWiki JavaScript QUnit æ¸¬è©¦å·¥å\85·",
        "tooltip-pt-userpage": "您的使用者頁面",
        "tooltip-pt-anonuserpage": "您編輯使用的 IP 位址所對應的使用者頁面",
        "tooltip-pt-mytalk": "您的對話頁面",
        "tooltip-pt-preferences": "您的偏好設定",
        "tooltip-pt-watchlist": "您所監視頁面的變更列表",
        "tooltip-pt-mycontris": "您的貢獻列表",
-       "tooltip-pt-login": "建議您登入,儘管並非必須。",
+       "tooltip-pt-login": "雖可不登入,但仍建議您登入。",
        "tooltip-pt-logout": "登出",
        "tooltip-ca-talk": "關於頁面正文的討論",
        "tooltip-ca-edit": "您可以編輯此頁,請在儲存之前先預覽一下。",
        "pageinfo-authors": "作者總數",
        "pageinfo-recent-edits": "最近編輯次數 (過去$1內)",
        "pageinfo-recent-authors": "最近作者數目",
-       "pageinfo-magic-words": "魔術{{PLURAL:$1|字}}($1)",
-       "pageinfo-hidden-categories": "隱藏{{PLURAL:$1|分類}}($1)",
-       "pageinfo-templates": "引用的樣版($1)",
-       "pageinfo-transclusions": "使用的頁面($1)",
+       "pageinfo-magic-words": "魔術{{PLURAL:$1|字}} ($1)",
+       "pageinfo-hidden-categories": "隱藏{{PLURAL:$1|分類}} ($1)",
+       "pageinfo-templates": "引用的樣版 ($1)",
+       "pageinfo-transclusions": "頁面被引用於 ($1)",
        "pageinfo-toolboxlink": "頁面資訊",
        "pageinfo-redirectsto": "重新導向至",
        "pageinfo-redirectsto-info": "資訊",
        "metadata-fields": "在本訊息中所列出的 EXIF 元數據域將包含在圖片顯示頁面,當元數據表損壞時只顯示以下訊息。\n其他的元數據預設為隱藏。\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude",
        "exif-imagewidth": "寬度",
        "exif-imagelength": "高度",
-       "exif-bitspersample": "每象素比特數",
-       "exif-compression": "壓縮方",
-       "exif-photometricinterpretation": "素合成",
+       "exif-bitspersample": "每像素位元",
+       "exif-compression": "壓縮方",
+       "exif-photometricinterpretation": "素合成",
        "exif-orientation": "方位",
-       "exif-samplesperpixel": "象素數",
-       "exif-planarconfiguration": "數據排列",
-       "exif-ycbcrsubsampling": "黃色洋紅二次抽樣比率",
+       "exif-samplesperpixel": "像素數量",
+       "exif-planarconfiguration": "資料排列",
+       "exif-ycbcrsubsampling": "黃色洋紅二次抽樣比率",
        "exif-ycbcrpositioning": "黃色和洋紅配置",
-       "exif-xresolution": "水準分辨率",
-       "exif-yresolution": "垂直分辨率",
-       "exif-stripoffsets": "å\9c\96ç\89\87æ\95¸æ\93\9aå\8d\80",
+       "exif-xresolution": "水平解析度",
+       "exif-yresolution": "垂直解析度",
+       "exif-stripoffsets": "å½±å\83\8fè³\87æ\96\99ä½\8dç½®",
        "exif-rowsperstrip": "每帶行數",
        "exif-stripbytecounts": "每壓縮帶位元組數",
        "exif-jpeginterchangeformat": "JPEG SOI 偏移",
-       "exif-jpeginterchangeformatlength": "JPEG 數據位元組",
+       "exif-jpeginterchangeformatlength": "JPEG 資料位元組",
        "exif-whitepoint": "白點色度",
        "exif-primarychromaticities": "主要色度",
-       "exif-ycbcrcoefficients": "顏色空間轉換矩陣系數",
-       "exif-referenceblackwhite": "黑白參照值對",
-       "exif-datetime": "檔案更改日期和時間",
-       "exif-imagedescription": "å\9c\96ç\89\87標題",
-       "exif-make": "ç\85§ç\9b¸æ©\9f製é\80 å\95\86",
-       "exif-model": "ç\85§ç\9b¸æ©\9få\9e\8bè\99\9f",
-       "exif-software": "用軟體",
+       "exif-ycbcrcoefficients": "色彩空間轉置矩陣系數",
+       "exif-referenceblackwhite": "黑白參考值",
+       "exif-datetime": "檔案修改日期時間",
+       "exif-imagedescription": "å½±å\83\8f標題",
+       "exif-make": "相機製造商",
+       "exif-model": "相機型號",
+       "exif-software": "使用軟體",
        "exif-artist": "作者",
-       "exif-copyright": "版權所有",
+       "exif-copyright": "版權所有",
        "exif-exifversion": "Exif 版本",
        "exif-flashpixversion": "支援的 Flashpix 版本",
-       "exif-colorspace": "顏色空間",
-       "exif-componentsconfiguration": "æ¯\8få\88\86é\87\8få\90«ç¾©",
-       "exif-compressedbitsperpixel": "å\9c\96ç\89\87壓縮模式",
+       "exif-colorspace": "色彩空間",
+       "exif-componentsconfiguration": "æ¯\8få\83\8fç´ å\85§å\90«",
+       "exif-compressedbitsperpixel": "å½±å\83\8f壓縮模式",
        "exif-pixelydimension": "圖片寬度",
        "exif-pixelxdimension": "圖片高度",
        "exif-usercomment": "使用者評論",
-       "exif-relatedsoundfile": "相關的音檔案",
-       "exif-datetimeoriginal": "æ\95¸æ\93\9aç\94¢ç\94\9fæ\99\82é\96\93",
-       "exif-datetimedigitized": "數字化處理時間",
-       "exif-subsectime": "日期時間秒",
-       "exif-subsectimeoriginal": "原始日期時間秒",
-       "exif-subsectimedigitized": "數字化日期時間秒",
+       "exif-relatedsoundfile": "相關的音檔案",
+       "exif-datetimeoriginal": "è³\87æ\96\99ç\94¢ç\94\9fç\9a\84æ\97¥æ\9c\9fæ\99\82é\96\93",
+       "exif-datetimedigitized": "數位化的日期時間",
+       "exif-subsectime": "DateTime 次秒",
+       "exif-subsectimeoriginal": "DateTimeOriginal 次秒",
+       "exif-subsectimedigitized": "DateTimeDigitized 次秒",
        "exif-exposuretime": "曝光時間",
        "exif-exposuretime-format": "$1 秒 ($2)",
-       "exif-fnumber": "光圈(F值)",
+       "exif-fnumber": "光圈",
        "exif-exposureprogram": "曝光模式",
-       "exif-spectralsensitivity": "感光",
+       "exif-spectralsensitivity": "光譜靈敏度",
        "exif-isospeedratings": "ISO 速率",
-       "exif-shutterspeedvalue": "APEX快門速度",
-       "exif-aperturevalue": "APEX光圈",
-       "exif-brightnessvalue": "APEX亮度",
-       "exif-exposurebiasvalue": "曝光補償",
+       "exif-shutterspeedvalue": "APEX 快門速度",
+       "exif-aperturevalue": "APEX 光圈",
+       "exif-brightnessvalue": "APEX 亮度",
+       "exif-exposurebiasvalue": "APEX 曝光補償",
        "exif-maxaperturevalue": "最大陸地光圈",
-       "exif-subjectdistance": "物距",
-       "exif-meteringmode": "測模式",
+       "exif-subjectdistance": "主體距離",
+       "exif-meteringmode": "測模式",
        "exif-lightsource": "光源",
        "exif-flash": "閃光燈",
        "exif-focallength": "焦距",
        "exif-subjectarea": "主體區域",
        "exif-flashenergy": "閃光燈強度",
-       "exif-focalplanexresolution": "X軸焦平面分辨率",
-       "exif-focalplaneyresolution": "Y軸焦平面分辨率",
-       "exif-focalplaneresolutionunit": "焦平面分辨率單位",
-       "exif-subjectlocation": "主é¡\8c位置",
+       "exif-focalplanexresolution": "X 軸焦平面解析度",
+       "exif-focalplaneyresolution": "Y 軸焦平面解析度",
+       "exif-focalplaneresolutionunit": "焦平面解析度單位",
+       "exif-subjectlocation": "主é«\94位置",
        "exif-exposureindex": "曝光指數",
        "exif-sensingmethod": "感光模式",
-       "exif-filesource": "檔案源",
+       "exif-filesource": "檔案源",
        "exif-scenetype": "場景類型",
-       "exif-customrendered": "è\87ªè¨\82å\9c\96ç\89\87處理",
+       "exif-customrendered": "è\87ªè¨\82å½±å\83\8f處理",
        "exif-exposuremode": "曝光模式",
        "exif-whitebalance": "白平衡",
-       "exif-digitalzoomratio": "數變焦比率",
-       "exif-focallengthin35mmfilm": "35毫米膠片焦距",
-       "exif-scenecapturetype": "景拍攝類型",
+       "exif-digitalzoomratio": "數變焦比率",
+       "exif-focallengthin35mmfilm": "35 毫米膠片焦距",
+       "exif-scenecapturetype": "景拍攝類型",
        "exif-gaincontrol": "場景控制",
        "exif-contrast": "對比度",
        "exif-saturation": "飽和度",
-       "exif-sharpness": "é\8a³å\8c\96",
+       "exif-sharpness": "é\8a³å\88©åº¦",
        "exif-devicesettingdescription": "設備設定描述",
        "exif-subjectdistancerange": "主體距離範圍",
-       "exif-imageuniqueid": "å\94¯ä¸\80å\9c\96ç\89\87ID",
-       "exif-gpsversionid": "GPS 標籤(tag)版本",
+       "exif-imageuniqueid": "å\94¯ä¸\80å½±å\83\8f ID",
+       "exif-gpsversionid": "GPS 標籤版本",
        "exif-gpslatituderef": "北緯或南緯",
        "exif-gpslatitude": "緯度",
        "exif-gpslongituderef": "東經或西經",
        "exif-gpslongitude": "經度",
-       "exif-gpsaltituderef": "海拔正負參照",
+       "exif-gpsaltituderef": "海拔參考值",
        "exif-gpsaltitude": "海拔",
-       "exif-gpstimestamp": "GPS 時間(原子時鐘)",
+       "exif-gpstimestamp": "GPS 時間 (原子鐘)",
        "exif-gpssatellites": "測量使用的衛星",
        "exif-gpsstatus": "接收器狀態",
        "exif-gpsmeasuremode": "測量模式",
        "exif-gpsdop": "測量精度",
        "exif-gpsspeedref": "速度單位",
        "exif-gpsspeed": "GPS 接收器速度",
-       "exif-gpstrackref": "運動方位參照",
-       "exif-gpstrack": "運動方位",
-       "exif-gpsimgdirectionref": "å\9c\96ç\89\87æ\96¹ä½\8då\8f\83ç\85§",
-       "exif-gpsimgdirection": "å\9c\96ç\89\87æ\96¹ä½\8d",
-       "exif-gpsmapdatum": "使ç\94¨å\9c°ç\90\86測繪æ\95¸æ\93\9a",
-       "exif-gpsdestlatituderef": "目標緯度參",
+       "exif-gpstrackref": "移動方向參考值",
+       "exif-gpstrack": "移動方向",
+       "exif-gpsimgdirectionref": "å½±å\83\8fæ\96¹å\90\91å\8f\83è\80\83å\80¼",
+       "exif-gpsimgdirection": "å½±å\83\8fæ\96¹å\90\91",
+       "exif-gpsmapdatum": "使ç\94¨å¤§å\9c°æ¸¬é\87\8fè³\87æ\96\99",
+       "exif-gpsdestlatituderef": "目標緯度參考值",
        "exif-gpsdestlatitude": "目標緯度",
-       "exif-gpsdestlongituderef": "目標經度的參照",
+       "exif-gpsdestlongituderef": "目標經度參考值",
        "exif-gpsdestlongitude": "目標經度",
-       "exif-gpsdestbearingref": "目標方位參",
+       "exif-gpsdestbearingref": "目標方位參考值",
        "exif-gpsdestbearing": "目標方位",
-       "exif-gpsdestdistanceref": "目標距離參",
+       "exif-gpsdestdistanceref": "目標距離參考值",
        "exif-gpsdestdistance": "目標距離",
-       "exif-gpsprocessingmethod": "GPS 處理方名稱",
+       "exif-gpsprocessingmethod": "GPS 處理方名稱",
        "exif-gpsareainformation": "GPS 區域名稱",
        "exif-gpsdatestamp": "GPS 日期",
-       "exif-gpsdifferential": "GPS å·®å\8b\95修正",
+       "exif-gpsdifferential": "GPS å·®å\88\86修正",
        "exif-jpegfilecomment": "JPEG 檔案備註",
        "exif-keywords": "關鍵字",
        "exif-worldregioncreated": "圖片拍攝地",
        "exif-countrycreated": "圖片拍攝國家",
-       "exif-countrycodecreated": "拍攝的國家代碼",
-       "exif-provinceorstatecreated": "省市",
-       "exif-citycreated": "照片中的城市",
-       "exif-sublocationcreated": "該城市的子地點",
-       "exif-worldregiondest": "世界區域顯示",
-       "exif-countrydest": "顯示國家",
-       "exif-countrycodedest": "顯示國家代碼",
-       "exif-provinceorstatedest": "省或狀態顯示",
+       "exif-countrycodecreated": "圖片拍攝國家代碼",
+       "exif-provinceorstatecreated": "圖片拍攝省市",
+       "exif-citycreated": "圖片拍攝城市",
+       "exif-sublocationcreated": "圖片拍攝城市詳細地點",
+       "exif-worldregiondest": "顯示世界區域",
+       "exif-countrydest": "顯示國家",
+       "exif-countrycodedest": "顯示國家代碼",
+       "exif-provinceorstatedest": "顯示省或州",
        "exif-citydest": "顯示城市",
-       "exif-sublocationdest": "城市的子地點",
+       "exif-sublocationdest": "顯示城市詳細地點",
        "exif-objectname": "簡稱",
        "exif-specialinstructions": "特別說明",
        "exif-headline": "標題",
-       "exif-credit": "署名/提供者",
+       "exif-credit": "製作/提供者",
        "exif-source": "來源",
        "exif-editstatus": "圖片編輯狀態",
        "exif-urgency": "緊急性",
        "exif-fixtureidentifier": "夾具名稱",
        "exif-locationdest": "位置描述",
-       "exif-locationdestcode": "位置所示的代碼",
+       "exif-locationdestcode": "位置代碼描述",
        "exif-objectcycle": "媒體的時間",
-       "exif-contact": "è\81¯ç¹«ä¿¡æ\81¯",
+       "exif-contact": "è\81¯çµ¡è³\87è¨\8a",
        "exif-writer": "作家",
        "exif-languagecode": "語言",
        "exif-iimversion": "IIM版本",
        "scarytranscludefailed": "[樣版 $1 讀取失敗]",
        "scarytranscludefailed-httpstatus": "[樣版 $1 讀取失敗:HTTP $2]",
        "scarytranscludetoolong": "[URL 地址太長]",
-       "deletedwhileediting": "'''警告:'''此頁在您開始編輯之後已經被刪除﹗",
+       "deletedwhileediting": "<strong>警告:</strong>此頁在您開始編輯之後已經被刪除﹗",
        "confirmrecreate": "在您編輯的同時,使用者 [[User:$1|$1]] ([[User talk:$1|對話]]) 刪除了此頁面,原因為:\n: <em>$2</em>\n請確認您是否真的要重新建立此頁面。",
        "confirmrecreate-noreason": "在您編輯的同時,使用者 [[User:$1|$1]] ([[User talk:$1|對話]]) 刪除了此頁面,請確認您是否真的要重新建立此頁面。",
        "recreate": "重建",
        "version-parser-function-hooks": "語法函數連結",
        "version-hook-name": "連結名稱",
        "version-hook-subscribedby": "署名",
-       "version-version": "(版本 $1)",
+       "version-version": "($1)",
        "version-license": "MediaWiki 授權條款",
        "version-ext-license": "授權條款",
        "version-ext-colheader-name": "擴充套件",
        "redirect": "依檔案、使用者、頁面或修訂 ID 重新導向",
        "redirect-legend": "重新導向至檔案或頁面",
        "redirect-summary": "此特殊頁面可用來重新導向至檔案 (指定檔案名稱)、頁面 (指定修訂 ID 或頁面 ID) 或使用者頁面 (指定使用者 ID)。用法:[[{{#Special:Redirect}}/file/Example.jpg]]、[[{{#Special:Redirect}}/page/64308]]、[[{{#Special:Redirect}}/revision/328429]] 或 [[{{#Special:Redirect}}/user/101]]。",
-       "redirect-submit": "提交",
+       "redirect-submit": "執行",
        "redirect-lookup": "尋找:",
        "redirect-value": "值:",
        "redirect-user": "使用者 ID",
index a751396..93507b3 100644 (file)
@@ -99,7 +99,7 @@ class DeleteBatch extends Maintenance {
                        $this->output( $title->getPrefixedText() );
                        $dbw->begin( __METHOD__ );
                        if ( $title->getNamespace() == NS_FILE ) {
-                               $img = wfFindFile( $title );
+                               $img = wfFindFile( $title, array( 'ignoreRedirect' => true ) );
                                if ( $img && $img->isLocal() && !$img->delete( $reason ) ) {
                                        $this->output( " FAILED to delete associated file... " );
                                }
index c30a86e..1a54df1 100644 (file)
@@ -172,7 +172,6 @@ class DeleteEqualMessages extends Maintenance {
                foreach ( $messageInfo['results'] as $result ) {
                        wfWaitForSlaves();
                        $dbw->ping();
-                       $dbw->begin( __METHOD__ );
                        $title = Title::makeTitle( NS_MEDIAWIKI, $result['title'] );
                        $this->output( "\n* [[$title]]" );
                        $page = WikiPage::factory( $title );
@@ -185,7 +184,6 @@ class DeleteEqualMessages extends Maintenance {
                                $error = ''; // Passed by ref
                                $page->doDeleteArticle( 'Orphaned talk page of no longer required message', false, 0, false, $error, $user );
                        }
-                       $dbw->commit( __METHOD__ );
                }
                $this->output( "\n\ndone!\n" );
        }
diff --git a/maintenance/language/countMessages.php b/maintenance/language/countMessages.php
deleted file mode 100644 (file)
index 1cb24ab..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-<?php
-/**
- * Count how many messages we have defined for each language.
- *
- * 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 MaintenanceLanguage
- */
-
-require_once __DIR__ . '/../Maintenance.php';
-
-/**
- * Maintenance script that counts how many messages we have defined
- * for each language.
- *
- * @ingroup MaintenanceLanguage
- */
-class CountMessages extends Maintenance {
-       public function __construct() {
-               parent::__construct();
-               $this->mDescription = "Count how many messages we have defined for each language";
-       }
-
-       public function execute() {
-               global $IP;
-               $dir = $this->getArg( 0, "$IP/languages/messages" );
-               $total = 0;
-               $nonZero = 0;
-               foreach ( glob( "$dir/*.php" ) as $file ) {
-                       $baseName = basename( $file );
-                       if ( !preg_match( '/Messages([A-Z][a-z_]+)\.php$/', $baseName, $m ) ) {
-                               continue;
-                       }
-
-                       $numMessages = $this->getNumMessages( $file );
-                       // print "$code: $numMessages\n";
-                       $total += $numMessages;
-                       if ( $numMessages > 0 ) {
-                               $nonZero++;
-                       }
-               }
-               $this->output( "\nTotal: $total\n" );
-               $this->output( "Languages: $nonZero\n" );
-       }
-
-       private function getNumMessages( $file ) {
-               // Separate function to limit scope
-               require $file;
-               if ( isset( $messages ) ) {
-                       return count( $messages );
-               } else {
-                       return 0;
-               }
-       }
-}
-
-$maintClass = "CountMessages";
-require_once RUN_MAINTENANCE_IF_MAIN;
diff --git a/maintenance/language/validate.php b/maintenance/language/validate.php
deleted file mode 100644 (file)
index f1b4079..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-/**
- * Check language files for unrecognised variables.
- *
- * 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 MaintenanceLanguage
- */
-
-if ( PHP_SAPI != 'cli' ) {
-       die( "Run me from the command line please.\n" );
-}
-
-if ( !isset( $argv[1] ) ) {
-       print "Usage: php {$argv[0]} <filename>\n";
-       exit( 1 );
-}
-array_shift( $argv );
-
-define( 'MEDIAWIKI', 1 );
-define( 'NOT_REALLY_MEDIAWIKI', 1 );
-
-$IP = __DIR__ . '/../..';
-
-require_once "$IP/includes/Defines.php";
-require_once "$IP/languages/Language.php";
-
-$files = array();
-foreach ( $argv as $arg ) {
-       $files = array_merge( $files, glob( $arg ) );
-}
-
-foreach ( $files as $filename ) {
-       print "$filename...";
-       $vars = getVars( $filename );
-       $keys = array_keys( $vars );
-       $diff = array_diff( $keys, Language::$mLocalisationKeys );
-       if ( $diff ) {
-               print "\nWarning: unrecognised variable(s): " . implode( ', ', $diff ) . "\n";
-       } else {
-               print " ok\n";
-       }
-}
-
-function getVars( $filename ) {
-       require $filename;
-       $vars = get_defined_vars();
-       unset( $vars['filename'] );
-
-       return $vars;
-}
index fc7eadb..d22454f 100644 (file)
@@ -36,6 +36,16 @@ function wfInstallerMain() {
        $installer = InstallerOverrides::getWebInstaller( $wgRequest );
 
        if ( !$installer->startSession() ) {
+
+               if( $installer->request->getVal( "css" ) ) {
+                       // Do not display errors on css pages
+                       $cssDir = $installer->request->getVal( "css" );
+                       $installer->outputCss( $cssDir );
+                       exit;
+               }
+
+               $errors = $installer->getPhpErrors();
+               $installer->showError( 'config-session-error', $errors[0] );
                $installer->finish();
                exit;
        }
index c2112ae..9a13423 100644 (file)
@@ -133,6 +133,14 @@ return array(
                'localBasePath' => $GLOBALS['wgStyleDirectory'],
        ),
 
+       'mediawiki.skinning.content.parsoid' => array(
+               // Style Parsoid HTML+RDFa output consistent with wikitext from PHP parser
+               // with the commonInterface.css styles; skinStyles should be used if your
+               // skin over-rides common content styling.
+               'skinStyles' => array(
+                       'default' => 'resources/src/mediawiki.skinning/content.parsoid.less',
+               ),
+       ),
 
        /**
         * Skins
index 03db1a8..164685c 100644 (file)
@@ -9,5 +9,9 @@
        "ooui-outline-control-move-down": "Liiguta üksust allapoole",
        "ooui-outline-control-move-up": "Liiguta üksust ülespoole",
        "ooui-outline-control-remove": "Eemalda üksus",
-       "ooui-toolbar-more": "Veel"
+       "ooui-toolbar-more": "Veel",
+       "ooui-dialog-confirm-title": "Kinnitus",
+       "ooui-dialog-confirm-default-prompt": "Kas oled kindel?",
+       "ooui-dialog-confirm-default-ok": "Sobib",
+       "ooui-dialog-confirm-default-cancel": "Loobu"
 }
index 3fcae2d..bea0c3a 100644 (file)
@@ -15,7 +15,8 @@
                        "Wpedzich",
                        "Jacenty359",
                        "Matik7",
-                       "Gloria sah"
+                       "Gloria sah",
+                       "Andrzej aa"
                ]
        },
        "ooui-dialog-action-close": "Zamknij",
@@ -25,6 +26,6 @@
        "ooui-toolbar-more": "Więcej",
        "ooui-dialog-confirm-title": "Potwierdź",
        "ooui-dialog-confirm-default-prompt": "Jesteś pewien?",
-       "ooui-dialog-confirm-default-ok": "Ok",
+       "ooui-dialog-confirm-default-ok": "OK",
        "ooui-dialog-confirm-default-cancel": "Anuluj"
 }
index 091dbaf..01a22d1 100644 (file)
@@ -10,5 +10,9 @@
        "ooui-outline-control-move-down": "רוקן עלעמענט אראפ",
        "ooui-outline-control-move-up": "רוקן עלעמענט ארויף",
        "ooui-outline-control-remove": "אַראָפנעמען איינס",
-       "ooui-toolbar-more": "נאך"
+       "ooui-toolbar-more": "נאך",
+       "ooui-dialog-confirm-title": "באַשטעטיקן",
+       "ooui-dialog-confirm-default-prompt": "איר זענט זיכער?",
+       "ooui-dialog-confirm-default-ok": "יאָ",
+       "ooui-dialog-confirm-default-cancel": "אַנולירן"
 }
index e1f321b..2edd389 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.1.0-pre (0fbf6bd14e)
+ * OOjs UI v0.1.0-pre (0436296667)
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2014 OOjs Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: Mon May 19 2014 14:09:28 GMT-0700 (PDT)
+ * Date: Wed May 21 2014 13:17:11 GMT-0700 (PDT)
  */
 ( function ( OO ) {
 
@@ -1982,12 +1982,12 @@ OO.ui.ConfirmationDialog.prototype.initialize = function () {
 /*
  * Open a confirmation dialog.
  *
- * @param {object} [data] Window opening data including text of the dialog and text for the buttons
- * @param {jQuery|string} [data.prompt] The text of the dialog.
- * @param {jQuery|string|Function|null} [data.okLabel] The text used on the OK button
- * @param {jQuery|string|Function|null} [data.cancelLabel] The text used on the cancel button
- * @param {string[]} [data.okFlags] Flags for the OK button
- * @param {string[]} [data.cancelFlags] Flags for the cancel button
+ * @param {Object} [data] Window opening data including text of the dialog and text for the buttons
+ * @param {jQuery|string} [data.prompt] Text to display or list of nodes to use as content of the dialog.
+ * @param {jQuery|string|Function|null} [data.okLabel] Label of the OK button
+ * @param {jQuery|string|Function|null} [data.cancelLabel] Label of the cancel button
+ * @param {string|string[]} [data.okFlags="constructive"] Flags for the OK button
+ * @param {string|string[]} [data.cancelFlags="destructive"] Flags for the cancel button
  */
 OO.ui.ConfirmationDialog.prototype.setup = function ( data ) {
        // Parent method
@@ -1996,8 +1996,8 @@ OO.ui.ConfirmationDialog.prototype.setup = function ( data ) {
        var prompt = data.prompt || OO.ui.deferMsg( 'ooui-dialog-confirm-default-prompt' ),
                okLabel = data.okLabel || OO.ui.deferMsg( 'ooui-dialog-confirm-default-ok' ),
                cancelLabel = data.cancelLabel || OO.ui.deferMsg( 'ooui-dialog-confirm-default-cancel' ),
-               okFlags = data.okFlags || [ 'constructive'],
-               cancelFlags = data.cancelFlags || [ 'destructive' ];
+               okFlags = data.okFlags || 'constructive',
+               cancelFlags = data.cancelFlags || 'destructive';
 
        if ( typeof prompt === 'string' ) {
                this.$promptContainer.text( prompt );
@@ -2299,15 +2299,19 @@ OO.ui.FlaggableElement.prototype.clearFlags = function () {
 /**
  * Add one or more flags.
  *
- * @param {string[]|Object.<string, boolean>} flags List of flags to add, or list of set/remove
- *  values, keyed by flag name
+ * @param {string|string[]|Object.<string, boolean>} flags One or more flags to add, or an object
+ *  keyed by flag name containing boolean set/remove instructions.
  * @chainable
  */
 OO.ui.FlaggableElement.prototype.setFlags = function ( flags ) {
        var i, len, flag,
                classPrefix = 'oo-ui-flaggableElement-';
 
-       if ( $.isArray( flags ) ) {
+       if ( typeof flags === 'string' ) {
+               // Set
+               this.flags[flags] = true;
+               this.$element.addClass( classPrefix + flags );
+       } else if ( $.isArray( flags ) ) {
                for ( i = 0, len = flags.length; i < len; i++ ) {
                        flag = flags[i];
                        // Set
@@ -4068,14 +4072,14 @@ OO.ui.GridLayout = function OoUiGridLayout( panels, config ) {
                this.$element.append( panels[i].$element );
        }
        if ( config.widths || config.heights ) {
-               this.layout( config.widths || [1], config.heights || [1] );
+               this.layout( config.widths || [ 1 ], config.heights || [ 1 ] );
        } else {
                // Arrange in columns by default
                widths = [];
                for ( i = 0, len = this.panels.length; i < len; i++ ) {
                        widths[i] = 1;
                }
-               this.layout( widths, [1] );
+               this.layout( widths, [ 1 ] );
        }
 };
 
@@ -4231,7 +4235,8 @@ OO.ui.BookletLayout = function OoUiBookletLayout( config ) {
                this.outlineWidget = new OO.ui.OutlineWidget( { '$': this.$ } );
                this.outlinePanel = new OO.ui.PanelLayout( { '$': this.$, 'scrollable': true } );
                this.gridLayout = new OO.ui.GridLayout(
-                       [this.outlinePanel, this.stackLayout], { '$': this.$, 'widths': [1, 2] }
+                       [ this.outlinePanel, this.stackLayout ],
+                       { '$': this.$, 'widths': [ 1, 2 ] }
                );
                this.outlineVisible = true;
                if ( this.editable ) {
@@ -7234,9 +7239,9 @@ OO.ui.OutlineControlsWidget = function OoUiOutlineControlsWidget( outline, confi
                'add': 'onOutlineChange',
                'remove': 'onOutlineChange'
        } );
-       this.upButton.connect( this, { 'click': ['emit', 'move', -1] } );
-       this.downButton.connect( this, { 'click': ['emit', 'move', 1] } );
-       this.removeButton.connect( this, { 'click': ['emit', 'remove'] } );
+       this.upButton.connect( this, { 'click': [ 'emit', 'move', -1 ] } );
+       this.downButton.connect( this, { 'click': [ 'emit', 'move', 1 ] } );
+       this.removeButton.connect( this, { 'click': [ 'emit', 'remove' ] } );
 
        // Initialization
        this.$element.addClass( 'oo-ui-outlineControlsWidget' );
index 5182356..7de5a84 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.1.0-pre (0fbf6bd14e)
+ * OOjs UI v0.1.0-pre (0436296667)
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2014 OOjs Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: Mon May 19 2014 14:09:28 GMT-0700 (PDT)
+ * Date: Wed May 21 2014 13:17:11 GMT-0700 (PDT)
  */
 
 /* Textures */
index 314d518..05745f8 100644 (file)
                                                // Make sure the numeral order doesn't get messed up, force the first (soon to be second) item
                                                // to be "1". Except if the value-attribute is already used.
                                                // If no value was set WebKit returns "", Mozilla returns '-1', others return 0, null or undefined.
-                                               firstval = $firstItem.attr( 'value' );
+                                               firstval = $firstItem.prop( 'value' );
                                                if ( firstval === undefined || !firstval || firstval === '-1' || firstval === -1 ) {
-                                                       $firstItem.attr( 'value', '1' );
+                                                       $firstItem.prop( 'value', '1' );
                                                }
                                                $toggleLink = buildDefaultToggleLink();
                                                $toggleLink.wrap( '<li class="mw-collapsible-toggle-li"></li>' ).parent().prependTo( $collapsible );
index 31ca107..afe9246 100644 (file)
@@ -46,12 +46,14 @@ td.diff-marker {
        text-align: right;
        font-weight: bold;
        font-size: 1.25em;
+       line-height: 1.2;
 }
 
 td.diff-addedline,
 td.diff-deletedline,
 td.diff-context {
        font-size: 88%;
+       line-height: 1.6;
        vertical-align: top;
        white-space: -moz-pre-wrap;
        white-space: pre-wrap;
diff --git a/resources/src/mediawiki.skinning/content.parsoid.less b/resources/src/mediawiki.skinning/content.parsoid.less
new file mode 100644 (file)
index 0000000..7bfb642
--- /dev/null
@@ -0,0 +1,76 @@
+/**
+ * Style Parsoid HTML+RDFa output consistent with wikitext from PHP parser.
+ */
+
+/**
+ * References
+ *
+ * Parser and Extension:Cite output reference numbers for <sup>[1]</sup> for <ref> tags.
+ *
+ * Markup:
+ * Cake is good<sup>[2]</sup>
+ * The cake is a lie<span class="reference">[1]</span>
+ *
+ * Styleguide 1.1.
+ */
+span.reference {
+       font-size: smaller;
+       line-height: normal;
+       vertical-align: super;
+}
+
+/**
+ * Block media items
+ */
+figure[typeof*='mw:Image'] {
+       margin: 0;
+
+       a {
+               border: 0;
+       }
+
+       &.mw-halign-right {
+               /* @noflip */
+               margin: .5em 0 1.3em 1.4em;
+               /* @noflip */
+               clear: right;
+               /* @noflip */
+               float: right;
+       }
+
+       /* @noflip */
+       &.mw-halign-left {
+               /* @noflip */
+               margin: .5em 1.4em 1.3em 0;
+               /* @noflip */
+               clear: left;
+               /* @noflip */
+               float: left;
+       }
+
+       &.mw-halign-center {
+               margin-left: auto;
+               margin-right: auto;
+       }
+
+       figcaption {
+               display: table-caption;
+               caption-side: bottom;
+               /* In mw-core the font-size is duplicated, 94% in thumbiner
+                  and again 94% in thumbcaption. 88% for font size of the
+                  caption results in the same behavior. */
+               font-size: 88%;
+               line-height: 1.4em;
+               text-align: left;
+
+               /* taken from .thumbcaption */
+               padding: 3px;
+       }
+}
+
+figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Image/Frame'] {
+       display: table;
+       overflow: hidden;
+       text-align: center;
+       padding: 3px;
+}
index b7eea54..61691c7 100644 (file)
@@ -1,26 +1,11 @@
-#Wikimedia projects
+#mediawiki.ui
 
-This is the living style guide for MediaWiki UI used in Wikimedia Projects. It is generated from existing CSS programmatically. Please use it as a reference when developing code for MediaWiki to ensure your design is consistent with others across the site. Note this document is a work in progress and subject to change.
-
-##Brand
-
-Imagine a world in which every single human being can freely share in the sum of all knowledge.
-
-Sharing knowledge is the heart of our movement. Specifically, we care about sharing the “… highest possible quality to every single person on the planet in their own language” (Jimmy Wales). The focus of our identity is being credible and is moving toward being more inviting. We want our contributors to keep contributing while our assuring our readers that the information on any of the Wikimedia projects is reliable and accurate. Our personality should embody both of those traits with a slight sense of rebellion. We are unlike traditional projects (for instance, Encyclopedias that are only created by a few select individuals). We are a global movement, and as Jimmy Wales puts it: “Wikipedia is like rock’n’roll; it’s a cultural shift."
+This is the living style guide for mediawiki.ui.  It is generated from the mediawiki.ui LESS source code programmatically. Please use it as a reference when developing code for MediaWiki to ensure your design is consistent with others across the site. Note this document is a work in progress and subject to change.
 
 ##Design Philosophy
 
-The Wikimedia movement is a global volunteer community that aims to collect and develop the world's knowledge and to make it available to everyone for free, for any purpose. “Imagine a world in which every single human being can freely share in the sum of all knowledge.” 
-
-###Credible
-We strive for the most accurate, high quality and neutral information on all Wikimedia projects. We are fact-based and honest. We do not take sides. We are fair and impartial. 
-
 ###Inviting
-We are geeky about collecting and developing knowledge. We invite and welcome every single human being to share their knowledge with us and the rest of the world. We are open-minded and have a strong sense of community. Our aesthetics should be clean and encourage interaction. 
+Our aesthetics should be clean and encourage interaction.
 
 ###Worldly
-We are thoughtful and are aware of cultural differences. We are careful about words, color usage, and images that might offend. We are also aware of limited connectivity in some areas of the world and are thoughtful of image sizes and loading speed. 
-
-###Humble
-We are respectful of contributors’ effort and knowledge. We have a wealth of knowledge on all projects and many people to thank for that. We are humble. We are helpful and welcome help to expand the sum of all knowledge. 
-
+We are thoughtful and are aware of cultural differences. We are careful about words, color usage, and images that might offend. We are also aware of limited connectivity in some areas of the world and are thoughtful of image sizes and loading speed.  We work to support accessibility.
index 08690a3..df51efc 100644 (file)
@@ -12,7 +12,7 @@
 //
 // Third choice: Arial
 //
-// Our content is predominantly text, hence visual hierarchy must be clear. Use these recommended type sizes to inform and establish information hierarchy and organization. 
+// Wiki content is often predominantly text; hence, visual hierarchy must be clear. Use these recommended type sizes to inform and establish information hierarchy and organization.
 //
 // Unless if you plan to put extra attention and manually adjust spacing, avoid justifying texts and paragraphs as they are harder to read and create unnecessary visual distractions. Along with centered text, they convey a formal and less friendly environment. 
 //
index cbdf666..c2c70b0 100644 (file)
@@ -3,7 +3,7 @@
  */
 ( function ( mw, $ ) {
        $( function () {
-               var map, resultRenderCache, searchboxesSelectors,
+               var api, map, resultRenderCache, searchboxesSelectors,
                        // Region where the suggestions box will appear directly below
                        // (using the same width). Can be a container element or the input
                        // itself, depending on what suits best in the environment.
                $( searchboxesSelectors.join( ', ' ) )
                        .suggestions( {
                                fetch: function ( query ) {
-                                       var $el;
-
-                                       if ( query.length !== 0 ) {
-                                               $el = $( this );
-                                               $el.data( 'request', ( new mw.Api() ).get( {
-                                                       action: 'opensearch',
-                                                       search: query,
-                                                       namespace: 0,
-                                                       suggest: ''
-                                               } ).done( function ( data ) {
-                                                       $el.suggestions( 'suggestions', data[1] );
-                                               } ) );
-                                       }
+                                       var $textbox = this,
+                                               node = this[0];
+
+                                       api = api || new mw.Api();
+
+                                       $.data( node, 'request', api.get( {
+                                               action: 'opensearch',
+                                               search: query,
+                                               namespace: 0,
+                                               suggest: ''
+                                       } ).done( function ( data ) {
+                                               $textbox.suggestions( 'suggestions', data[1] );
+                                       } ) );
                                },
                                cancel: function () {
-                                       var apiPromise = $( this ).data( 'request' );
-                                       // If the delay setting has caused the fetch to have not even happened
-                                       // yet, the apiPromise object will have never been set.
-                                       if ( apiPromise && $.isFunction( apiPromise.abort ) ) {
-                                               apiPromise.abort();
-                                               $( this ).removeData( 'request' );
+                                       var node = this[0],
+                                               request = $.data( node, 'request' );
+
+                                       if ( request ) {
+                                               request.abort();
+                                               $.removeData( node, 'request' );
                                        }
                                },
                                result: {
                                        render: renderFunction,
                                        select: function () {
-                                               return true; // allow the form to be submitted
+                                               // allow the form to be submitted
+                                               return true;
                                        }
                                },
                                delay: 120,
index fd9690b..c5694b7 100644 (file)
         * @inheritdoc #getName
         * @deprecated since 1.20 Use #getName instead
         */
-       mw.log.deprecate( user, 'name', user.getName );
+       mw.log.deprecate( user, 'name', user.getName, 'Use mw.user.getName instead.' );
 
        /**
         * @method anonymous
         * @inheritdoc #isAnon
         * @deprecated since 1.20 Use #isAnon instead
         */
-       mw.log.deprecate( user, 'anonymous', user.isAnon );
+       mw.log.deprecate( user, 'anonymous', user.isAnon, 'Use mw.user.isAnon instead.' );
 
 }( mediaWiki, jQuery ) );
index a5eb29b..37cf68f 100644 (file)
@@ -86,6 +86,7 @@ $wgAutoloadClasses += array(
 
        # tests/phpunit/media
        'FakeDimensionFile' => "$testDir/phpunit/includes/media/FakeDimensionFile.php",
+       'MediaWikiMediaTestCase' => "$testDir/phpunit/includes/media/MediaWikiMediaTestCase.php",
 
        # tests/phpunit/mocks
        'MockFSFile' => "$testDir/phpunit/mocks/filebackend/MockFSFile.php",
index 1875ac5..0bbee17 100644 (file)
@@ -1015,6 +1015,34 @@ class ParserTest {
                                'fileExists'  => true
                ), $this->db->timestamp( '20010115123500' ), $user );
 
+               $image = wfLocalFile( Title::makeTitle( NS_FILE, 'Portrait.png' ) );
+               # again, note that size/width/height below are ignored; see above.
+               $image->recordUpload2( '', 'Upload of tall bitmap', 'Some tall bitmap', array(
+                       'size'        => 12345,
+                       'width'       => 180,
+                       'height'      => 240,
+                       'bits'        => 8,
+                       'media_type'  => MEDIATYPE_BITMAP,
+                       'mime'        => 'image/png',
+                       'metadata'    => serialize( array() ),
+                       'sha1'        => wfBaseConvert( '', 16, 36, 31 ),
+                       'fileExists'  => true
+               ), $this->db->timestamp( '20140515134200' ), $user );
+
+               $image = wfLocalFile( Title::makeTitle( NS_FILE, 'Portrait.svg' ) );
+               # again, note that size/width/height below are ignored; see above.
+               $image->recordUpload2( '', 'Upload of tall SVG', 'Some tall SVG', array(
+                       'size'        => 12345,
+                       'width'       => 180,
+                       'height'      => 240,
+                       'bits'        => 24,
+                       'media_type'  => MEDIATYPE_DRAWING,
+                       'mime'        => 'image/svg+xml',
+                       'metadata'    => serialize( array() ),
+                       'sha1'        => wfBaseConvert( '', 16, 36, 31 ),
+                       'fileExists'  => true
+               ), $this->db->timestamp( '20140325124200' ), $user );
+
                # This image will be blacklisted in [[MediaWiki:Bad image list]]
                $image = wfLocalFile( Title::makeTitle( NS_FILE, 'Bad.jpg' ) );
                $image->recordUpload2( '', 'zomgnotcensored', 'Borderline image', array(
@@ -1144,6 +1172,13 @@ class ParserTest {
                        '<?xml version="1.0" encoding="utf-8"?>' .
                        '<svg xmlns="http://www.w3.org/2000/svg"' .
                        ' version="1.1" width="240" height="180"/>' );
+               wfMkdirParents( $dir . '/9/93', null, __METHOD__ );
+               copy( "$IP/tests/phpunit/data/media/Portrait.png", "$dir/9/93/Portrait.png" );
+               wfMkdirParents( $dir . '/f/fc', null, __METHOD__ );
+               file_put_contents( "$dir/f/fc/Portrait.svg",
+                       '<?xml version="1.0" encoding="utf-8"?>' .
+                       '<svg xmlns="http://www.w3.org/2000/svg"' .
+                       ' version="1.1" width="180" height="240"/>' );
                wfMkdirParents( $dir . '/5/5f', null, __METHOD__ );
                copy( "$IP/tests/phpunit/data/media/LoremIpsum.djvu", "$dir/5/5f/LoremIpsum.djvu" );
 
@@ -1230,6 +1265,17 @@ class ParserTest {
                                "$dir/thumb/f/ff/Foobar.svg/langde-270px-Foobar.svg.png",
                                "$dir/thumb/f/ff/Foobar.svg/langde-360px-Foobar.svg.png",
 
+                               "$dir/9/93/Portrait.png",
+                               "$dir/thumb/9/93/Portrait.png/165px-Portrait.png",
+
+                               "$dir/f/fc/Portrait.svg",
+                               "$dir/thumb/f/fc/Portrait.svg/165px-Portrait.svg.png",
+                               "$dir/thumb/f/fc/Portrait.svg/225px-Portrait.svg.png",
+                               "$dir/thumb/f/fc/Portrait.svg/247px-Portrait.svg.png",
+                               "$dir/thumb/f/fc/Portrait.svg/330px-Portrait.svg.png",
+                               "$dir/thumb/f/fc/Portrait.svg/337px-Portrait.svg.png",
+                               "$dir/thumb/f/fc/Portrait.svg/450px-Portrait.svg.png",
+
                                "$dir/math/f/a/5/fa50b8b616463173474302ca3e63586b.png",
                        )
                );
@@ -1241,10 +1287,18 @@ class ParserTest {
                                "$dir/thumb/3/3a/Foobar.jpg",
                                "$dir/thumb/3/3a",
                                "$dir/thumb/3",
+                               "$dir/9/93",
+                               "$dir/9",
+                               "$dir/thumb/9/93/Portrait.png",
+                               "$dir/thumb/9/93/",
+                               "$dir/thumb/9/",
                                "$dir/e/ea",
                                "$dir/e",
+                               "$dir/f/fc/",
                                "$dir/f/ff/",
                                "$dir/f/",
+                               "$dir/thumb/f/fc/Portrait.svg",
+                               "$dir/thumb/f/fc/",
                                "$dir/thumb/f/ff/Foobar.svg",
                                "$dir/thumb/f/ff/",
                                "$dir/thumb/f/",
index 569c165..55801aa 100644 (file)
@@ -7755,7 +7755,7 @@ Magic Word: {{NUMBEROFFILES}}
 !! wikitext
 {{NUMBEROFFILES}}
 !! html
-<p>5
+<p>7
 </p>
 !! end
 
@@ -10793,12 +10793,16 @@ parsoid=wt2html,wt2wt,html2html
 # Image sizing.
 # See https://www.mediawiki.org/wiki/Help:Images#Size_and_frame
 # and https://bugzilla.wikimedia.org/show_bug.cgi?id=62258
-# Foobar has actual size of 1941x220
+# Foobar.jpg has actual size of 1941x220
+# Portrait.svg has actual size of 180x240
+# Portrait.png has actual size of 180x240
 # 1. Thumbs & frameless always reduce, can't be enlarged unless it's
 #    a scalable format.
 # 2. Framed images always ignore size options; always render at default size.
 # 3. "Unspecified format" and border are the only types which can be
 #    enlarged.
+# 4. Without an explicit size specification, thumbnails are
+#    resized to a square bounding box.
 
 !! test
 Image: "unspecified format" and border enlarge
@@ -10916,6 +10920,55 @@ parsoid=wt2html,wt2wt,html2html
 <figure class="mw-default-size" typeof="mw:Image/Frame"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></figure><figure typeof="mw:Image/Frame"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></figure><figure typeof="mw:Image/Frame"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></figure><figure typeof="mw:Image/Frame"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></figure>
 !! end
 
+!! test
+Image: thumbnails of the default size use a square bounding box.
+!! options
+thumbsize=220
+!! wikitext
+[[File:Foobar.jpg|thumb|landscape thumb]]
+
+[[File:Foobar.jpg|frameless|landscape frameless]]
+
+[[File:Portrait.png|thumb|should use 220x220px bounding box]]
+
+[[File:Portrait.png|frameless|should use 220x220px bounding box]]
+
+[[File:Portrait.svg|thumb|should use 220x220px bounding box]]
+
+[[File:Portrait.svg|frameless|should use 220x220px bounding box]]
+!! html/php
+<div class="thumb tright"><div class="thumbinner" style="width:222px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" width="220" height="25" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/330px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/440px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>landscape thumb</div></div></div>
+<p><a href="/wiki/File:Foobar.jpg" class="image" title="landscape frameless"><img alt="landscape frameless" src="http://example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" width="220" height="25" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/330px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/440px-Foobar.jpg 2x" /></a>
+</p>
+<div class="thumb tright"><div class="thumbinner" style="width:167px;"><a href="/wiki/File:Portrait.png" class="image"><img alt="" src="http://example.com/images/thumb/9/93/Portrait.png/165px-Portrait.png" width="165" height="220" class="thumbimage" srcset="http://example.com/images/9/93/Portrait.png 1.5x, http://example.com/images/9/93/Portrait.png 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Portrait.png" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>should use 220x220px bounding box</div></div></div>
+<p><a href="/wiki/File:Portrait.png" class="image" title="should use 220x220px bounding box"><img alt="should use 220x220px bounding box" src="http://example.com/images/thumb/9/93/Portrait.png/165px-Portrait.png" width="165" height="220" srcset="http://example.com/images/9/93/Portrait.png 1.5x, http://example.com/images/9/93/Portrait.png 2x" /></a>
+</p>
+<div class="thumb tright"><div class="thumbinner" style="width:167px;"><a href="/wiki/File:Portrait.svg" class="image"><img alt="" src="http://example.com/images/thumb/f/fc/Portrait.svg/165px-Portrait.svg.png" width="165" height="220" class="thumbimage" srcset="http://example.com/images/thumb/f/fc/Portrait.svg/247px-Portrait.svg.png 1.5x, http://example.com/images/thumb/f/fc/Portrait.svg/330px-Portrait.svg.png 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Portrait.svg" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>should use 220x220px bounding box</div></div></div>
+<p><a href="/wiki/File:Portrait.svg" class="image" title="should use 220x220px bounding box"><img alt="should use 220x220px bounding box" src="http://example.com/images/thumb/f/fc/Portrait.svg/165px-Portrait.svg.png" width="165" height="220" srcset="http://example.com/images/thumb/f/fc/Portrait.svg/247px-Portrait.svg.png 1.5x, http://example.com/images/thumb/f/fc/Portrait.svg/330px-Portrait.svg.png 2x" /></a>
+</p>
+!! end
+
+!! test
+Image: bitmap thumbnails reduce only if thumb size is smaller than inherent size.
+!! options
+thumbsize=300
+!! wikitext
+[[File:Portrait.png|thumb|should use inherent 180x240px size]]
+
+[[File:Portrait.png|frameless|should use inherent 180x240px size]]
+
+[[File:Portrait.svg|thumb|will resize to 300x300px]]
+
+[[File:Portrait.svg|frameless|will resize to 300x300px]]
+!! html/php
+<div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Portrait.png" class="image"><img alt="" src="http://example.com/images/9/93/Portrait.png" width="180" height="240" class="thumbimage" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Portrait.png" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>should use inherent 180x240px size</div></div></div>
+<p><a href="/wiki/File:Portrait.png" class="image" title="should use inherent 180x240px size"><img alt="should use inherent 180x240px size" src="http://example.com/images/9/93/Portrait.png" width="180" height="240" /></a>
+</p>
+<div class="thumb tright"><div class="thumbinner" style="width:227px;"><a href="/wiki/File:Portrait.svg" class="image"><img alt="" src="http://example.com/images/thumb/f/fc/Portrait.svg/225px-Portrait.svg.png" width="225" height="300" class="thumbimage" srcset="http://example.com/images/thumb/f/fc/Portrait.svg/337px-Portrait.svg.png 1.5x, http://example.com/images/thumb/f/fc/Portrait.svg/450px-Portrait.svg.png 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Portrait.svg" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>will resize to 300x300px</div></div></div>
+<p><a href="/wiki/File:Portrait.svg" class="image" title="will resize to 300x300px"><img alt="will resize to 300x300px" src="http://example.com/images/thumb/f/fc/Portrait.svg/225px-Portrait.svg.png" width="225" height="300" srcset="http://example.com/images/thumb/f/fc/Portrait.svg/337px-Portrait.svg.png 1.5x, http://example.com/images/thumb/f/fc/Portrait.svg/450px-Portrait.svg.png 2x" /></a>
+</p>
+!! end
+
 ###################
 
 !! test
index b2fa7fb..cd9b9e2 100644 (file)
@@ -1,10 +1,20 @@
 == Things To Do ==
-* Most of the tests are named poorly; naming should describe a use case in story-like language, not simply identify the
-unit under test. An example would be the difference between testCalculate and testAddingIntegersTogetherWorks.
-* Many of the tests make multiple assertions, and are thus not unitary tests. By using data-providers and more use-case
-oriented test selection nearly all of these cases can be easily resolved.
-* Some of the test files are either incorrectly named or in the wrong folder. Tests should be organized in a mirrored
-structure to the source they are testing, and named the same, with the exception of the word "Test" at the end.
-* Shared set-up code or base classes are present, but usually named improperly or appear to be poorly factored. Support
-code should share as much of the same naming as the code it's supporting, and test and test-case depenencies should be
-considered to resolve other shared needs.
+
+* Most of the tests are named poorly;
+  naming should describe a use case in story-like language,
+  not simply identify the unit under test.
+  An example would be the difference between "testCalculate"
+  and "testAddingIntegersTogetherWorks".
+
+* Many of the tests make multiple assertions, and are thus not unitary tests.
+  By using data-providers and more use-case oriented test selection
+  nearly all of these cases can be easily resolved.
+
+* Some of the test files are either incorrectly named or in the wrong folder.
+  Tests should be organized in a mirrored structure to the source they are testing,
+  and named the same, with the exception of the word "Test" at the end.
+
+* Shared set-up code or base classes are present,
+  but usually named improperly or appear to be poorly factored.
+  Support code should share as much of the same naming  as the code it's supporting,
+  and test and test-case depenencies should be considered to resolve other shared needs.
diff --git a/tests/phpunit/data/media/Portrait.png b/tests/phpunit/data/media/Portrait.png
new file mode 100644 (file)
index 0000000..b5a92f6
Binary files /dev/null and b/tests/phpunit/data/media/Portrait.png differ
index 2e1c265..9f8c139 100644 (file)
@@ -274,6 +274,100 @@ class ApiEditPageTest extends ApiTestCase {
                $this->assertEquals( "== header ==\n\ntest\n\n== header ==\n\ntest", $text );
        }
 
+       /**
+        * Ensure we can edit through a redirect, if adding a section
+        */
+       public function testEdit_redirect() {
+               static $count = 0;
+               $count++;
+
+               // assume NS_HELP defaults to wikitext
+               $name = "Help:ApiEditPageTest_testEdit_redirect_$count";
+               $title = Title::newFromText( $name );
+               $page = WikiPage::factory( $title );
+
+               $rname = "Help:ApiEditPageTest_testEdit_redirect_r$count";
+               $rtitle = Title::newFromText( $rname );
+               $rpage = WikiPage::factory( $rtitle );
+
+               // base edit for content
+               $page->doEditContent( new WikitextContent( "Foo" ),
+                       "testing 1", EDIT_NEW, false, self::$users['sysop']->user );
+               $this->forceRevisionDate( $page, '20120101000000' );
+               $baseTime = $page->getRevision()->getTimestamp();
+
+               // base edit for redirect
+               $rpage->doEditContent( new WikitextContent( "#REDIRECT [[$name]]" ),
+                       "testing 1", EDIT_NEW, false, self::$users['sysop']->user );
+               $this->forceRevisionDate( $rpage, '20120101000000' );
+
+               // conflicting edit to redirect
+               $rpage->doEditContent( new WikitextContent( "#REDIRECT [[$name]]\n\n[[Category:Test]]" ),
+                       "testing 2", EDIT_UPDATE, $page->getLatest(), self::$users['uploader']->user );
+               $this->forceRevisionDate( $rpage, '20120101020202' );
+
+               // try to save edit, following the redirect
+               list( $re, , ) = $this->doApiRequestWithToken( array(
+                       'action' => 'edit',
+                       'title' => $rname,
+                       'text' => 'nix bar!',
+                       'basetimestamp' => $baseTime,
+                       'section' => 'new',
+                       'redirect' => true,
+               ), null, self::$users['sysop']->user );
+
+               $this->assertEquals( 'Success', $re['edit']['result'],
+                       "no problems expected when following redirect" );
+       }
+
+       /**
+        * Ensure we cannot edit through a redirect, if attempting to overwrite content
+        */
+       public function testEdit_redirectText() {
+               static $count = 0;
+               $count++;
+
+               // assume NS_HELP defaults to wikitext
+               $name = "Help:ApiEditPageTest_testEdit_redirectText_$count";
+               $title = Title::newFromText( $name );
+               $page = WikiPage::factory( $title );
+
+               $rname = "Help:ApiEditPageTest_testEdit_redirectText_r$count";
+               $rtitle = Title::newFromText( $rname );
+               $rpage = WikiPage::factory( $rtitle );
+
+               // base edit for content
+               $page->doEditContent( new WikitextContent( "Foo" ),
+                       "testing 1", EDIT_NEW, false, self::$users['sysop']->user );
+               $this->forceRevisionDate( $page, '20120101000000' );
+               $baseTime = $page->getRevision()->getTimestamp();
+
+               // base edit for redirect
+               $rpage->doEditContent( new WikitextContent( "#REDIRECT [[$name]]" ),
+                       "testing 1", EDIT_NEW, false, self::$users['sysop']->user );
+               $this->forceRevisionDate( $rpage, '20120101000000' );
+
+               // conflicting edit to redirect
+               $rpage->doEditContent( new WikitextContent( "#REDIRECT [[$name]]\n\n[[Category:Test]]" ),
+                       "testing 2", EDIT_UPDATE, $page->getLatest(), self::$users['uploader']->user );
+               $this->forceRevisionDate( $rpage, '20120101020202' );
+
+               // try to save edit, following the redirect but without creating a section
+               try {
+                       $this->doApiRequestWithToken( array(
+                               'action' => 'edit',
+                               'title' => $rname,
+                               'text' => 'nix bar!',
+                               'basetimestamp' => $baseTime,
+                               'redirect' => true,
+                       ), null, self::$users['sysop']->user );
+
+                       $this->fail( 'redirect-appendonly error expected' );
+               } catch ( UsageException $ex ) {
+                       $this->assertEquals( 'redirect-appendonly', $ex->getCodeString() );
+               }
+       }
+
        public function testEditConflict() {
                static $count = 0;
                $count++;
@@ -310,60 +404,41 @@ class ApiEditPageTest extends ApiTestCase {
                }
        }
 
-       public function testEditConflict_redirect() {
+       /**
+        * Ensure that editing using section=new will prevent simple conflicts
+        */
+       public function testEditConflict_newSection() {
                static $count = 0;
                $count++;
 
                // assume NS_HELP defaults to wikitext
-               $name = "Help:ApiEditPageTest_testEditConflict_redirect_$count";
+               $name = "Help:ApiEditPageTest_testEditConflict_newSection_$count";
                $title = Title::newFromText( $name );
-               $page = WikiPage::factory( $title );
 
-               $rname = "Help:ApiEditPageTest_testEditConflict_redirect_r$count";
-               $rtitle = Title::newFromText( $rname );
-               $rpage = WikiPage::factory( $rtitle );
+               $page = WikiPage::factory( $title );
 
-               // base edit for content
+               // base edit
                $page->doEditContent( new WikitextContent( "Foo" ),
                        "testing 1", EDIT_NEW, false, self::$users['sysop']->user );
                $this->forceRevisionDate( $page, '20120101000000' );
                $baseTime = $page->getRevision()->getTimestamp();
 
-               // base edit for redirect
-               $rpage->doEditContent( new WikitextContent( "#REDIRECT [[$name]]" ),
-                       "testing 1", EDIT_NEW, false, self::$users['sysop']->user );
-               $this->forceRevisionDate( $rpage, '20120101000000' );
-
-               // conflicting edit to redirect
-               $rpage->doEditContent( new WikitextContent( "#REDIRECT [[$name]]\n\n[[Category:Test]]" ),
+               // conflicting edit
+               $page->doEditContent( new WikitextContent( "Foo bar" ),
                        "testing 2", EDIT_UPDATE, $page->getLatest(), self::$users['uploader']->user );
-               $this->forceRevisionDate( $rpage, '20120101020202' );
+               $this->forceRevisionDate( $page, '20120101020202' );
 
-               // try to save edit; should work, because we follow the redirect
+               // try to save edit, expect no conflict
                list( $re, , ) = $this->doApiRequestWithToken( array(
                        'action' => 'edit',
-                       'title' => $rname,
+                       'title' => $name,
                        'text' => 'nix bar!',
                        'basetimestamp' => $baseTime,
-                       'redirect' => true,
+                       'section' => 'new',
                ), null, self::$users['sysop']->user );
 
                $this->assertEquals( 'Success', $re['edit']['result'],
-                       "no edit conflict expected when following redirect" );
-
-               // try again, without following the redirect. Should fail.
-               try {
-                       $this->doApiRequestWithToken( array(
-                               'action' => 'edit',
-                               'title' => $rname,
-                               'text' => 'nix bar!',
-                               'basetimestamp' => $baseTime,
-                       ), null, self::$users['sysop']->user );
-
-                       $this->fail( 'edit conflict expected' );
-               } catch ( UsageException $ex ) {
-                       $this->assertEquals( 'editconflict', $ex->getCodeString() );
-               }
+                       "no edit conflict expected here" );
        }
 
        public function testEditConflict_bug41990() {
@@ -405,6 +480,7 @@ class ApiEditPageTest extends ApiTestCase {
                        'action' => 'edit',
                        'title' => $rname,
                        'text' => 'nix bar!',
+                       'section' => 'new',
                        'redirect' => true,
                ), null, self::$users['sysop']->user );
 
diff --git a/tests/phpunit/includes/config/ConfigFactoryTest.php b/tests/phpunit/includes/config/ConfigFactoryTest.php
new file mode 100644 (file)
index 0000000..0a6bf72
--- /dev/null
@@ -0,0 +1,46 @@
+<?php
+
+class ConfigFactoryTest extends MediaWikiTestCase {
+
+       /**
+        * @covers ConfigFactory::register
+        */
+       public function testRegister() {
+               $factory = new ConfigFactory();
+               $factory->register( 'unittest', 'GlobalVarConfig::newInstance' );
+               $this->assertTrue( True ); // No exception thrown
+               $this->setExpectedException( 'InvalidArgumentException' );
+               $factory->register( 'invalid', 'Invalid callback' );
+       }
+
+       /**
+        * @covers ConfigFactory::makeConfig
+        */
+       public function testMakeConfig() {
+               $factory = new ConfigFactory();
+               $factory->register( 'unittest', 'GlobalVarConfig::newInstance' );
+               $conf = $factory->makeConfig( 'unittest' );
+               $this->assertInstanceOf( 'Config', $conf );
+       }
+
+       /**
+        * @covers ConfigFactory::makeConfig
+        */
+       public function testMakeConfigWithNoBuilders() {
+               $factory = new ConfigFactory();
+               $this->setExpectedException( 'ConfigException' );
+               $factory->makeConfig( 'nobuilderregistered' );
+       }
+
+       /**
+        * @covers ConfigFactory::makeConfig
+        */
+       public function testMakeConfigWithInvalidCallback() {
+               $factory = new ConfigFactory();
+               $factory->register( 'unittest', function() {
+                       return true; // Not a Config object
+               });
+               $this->setExpectedException( 'UnexpectedValueException' );
+               $factory->makeConfig( 'unittest' );
+       }
+}
diff --git a/tests/phpunit/includes/config/GlobalConfigTest.php b/tests/phpunit/includes/config/GlobalConfigTest.php
deleted file mode 100644 (file)
index b605a46..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-
-class GlobalConfigTest extends MediaWikiTestCase {
-
-       /** @var GlobalConfig $config */
-       protected $config;
-
-       protected function setUp() {
-               parent::setUp();
-               $this->config = new GlobalConfig;
-       }
-
-       public static function provideGet() {
-               return array(
-                       array( 'wgSitename', array( 'Sitename' ) ),
-                       array( 'wgFoo', array( 'Foo' ) ),
-                       array( 'efVariable', array( 'Variable', 'ef' ) ),
-                       array( 'Foo', array( 'Foo', '' ) ),
-               );
-       }
-
-       /**
-        * @param string $name
-        * @param array $params
-        * @dataProvider provideGet
-        * @covers GlobalConfig::get
-        */
-       public function testGet( $name, $params ) {
-               $rand = wfRandom();
-               $old = isset( $GLOBALS[$name] ) ? $GLOBALS[$name] : null;
-               $GLOBALS[$name] = $rand;
-               $out = call_user_func_array( array( $this->config, 'get' ), $params );
-               $this->assertEquals( $rand, $out );
-               if ( $old ) {
-                       $GLOBALS[$name] = $old;
-               }
-       }
-}
diff --git a/tests/phpunit/includes/config/GlobalVarConfigTest.php b/tests/phpunit/includes/config/GlobalVarConfigTest.php
new file mode 100644 (file)
index 0000000..7080b02
--- /dev/null
@@ -0,0 +1,36 @@
+<?php
+
+class GlobalVarConfigTest extends MediaWikiTestCase {
+
+       public function provideGet() {
+               $set = array(
+                       'wgSomething' => 'default1',
+                       'wgFoo' => 'default2',
+                       'efVariable' => 'default3',
+                       'BAR' => 'default4',
+               );
+
+               foreach ( $set as $var => $value ) {
+                       $GLOBALS[$var] = $value;
+               }
+
+               return array(
+                       array( 'Something', 'wg', 'default1' ),
+                       array( 'Foo', 'wg', 'default2' ),
+                       array( 'Variable', 'ef', 'default3' ),
+                       array( 'BAR', '', 'default4' ),
+               );
+       }
+
+       /**
+        * @param string $name
+        * @param string $prefix
+        * @param string $expected
+        * @dataProvider provideGet
+        * @covers GlobalVarConfig::get
+        */
+       public function testGet( $name, $prefix, $expected ) {
+               $config = new GlobalVarConfig( $prefix );
+               $this->assertEquals( $config->get( $name ), $expected );
+       }
+}
index b4c1953..88bf7d9 100644 (file)
@@ -431,4 +431,22 @@ class DatabaseSqliteTest extends MediaWikiTestCase {
                $row = $res->fetchRow();
                $this->assertFalse( (bool)$row['a'] );
        }
+
+       /**
+        * @covers DatabaseSqlite::numFields
+        */
+       public function testNumFields() {
+               $db = new DatabaseSqliteStandalone( ':memory:' );
+
+               $databaseCreation = $db->query( 'CREATE TABLE a ( a_1 )', __METHOD__ );
+               $this->assertInstanceOf( 'ResultWrapper', $databaseCreation, "Failed to create table a" );
+               $res = $db->select( 'a' , '*');
+               $this->assertEquals( 0,  $db->numFields($res), "expects to get 0 fields for an empty table" );
+               $insertion = $db->insert( 'a', array( 'a_1' => 10 ), __METHOD__ );
+               $this->assertTrue( $insertion, "Insertion failed" );
+               $res = $db->select( 'a' , '*');
+               $this->assertEquals( 1,  $db->numFields($res), "wrong number of fields" );
+
+               $this->assertTrue( $db->close(), "closing database" );
+       }
 }
index 537c124..76cefe5 100644 (file)
@@ -2,17 +2,7 @@
 /**
  * @covers DjVuHandler
  */
-class DjVuTest extends MediaWikiTestCase {
-
-       /**
-        * @var string the directory where test files are
-        */
-       protected $filePath;
-
-       /**
-        * @var FSRepo the repository to use
-        */
-       protected $repo;
+class DjVuTest extends MediaWikiMediaTestCase {
 
        /**
         * @var DjVuHandler
@@ -26,35 +16,13 @@ class DjVuTest extends MediaWikiTestCase {
                $djvuSupport = new DjVuSupport();
 
                if ( !$djvuSupport->isEnabled() ) {
-                       $this->markTestSkipped( 'This test needs the installation of the ddjvu, djvutoxml and djvudump tools' );
+                       $this->markTestSkipped(
+                       'This test needs the installation of the ddjvu, djvutoxml and djvudump tools' );
                }
 
-               //file repo setup
-               $this->filePath = __DIR__ . '/../../data/media/';
-               $backend = new FSFileBackend( array(
-                       'name' => 'localtesting',
-                       'wikiId' => wfWikiId(),
-                       'lockManager' => new NullLockManager( array() ),
-                       'containerPaths' => array( 'data' => $this->filePath )
-               ) );
-               $this->repo = new FSRepo( array(
-                       'name' => 'temp',
-                       'url' => 'http://localhost/thumbtest',
-                       'backend' => $backend
-               ) );
-
                $this->handler = new DjVuHandler();
        }
 
-       protected function dataFile( $name, $type ) {
-               return new UnregisteredLocalFile(
-                       false,
-                       $this->repo,
-                       'mwstore://localtesting/data/' . $name,
-                       $type
-               );
-       }
-
        public function testGetImageSize() {
                $this->assertArrayEquals(
                        array( 2480, 3508, 'DjVu', 'width="2480" height="3508"' ),
@@ -64,7 +32,8 @@ class DjVuTest extends MediaWikiTestCase {
        }
 
        public function testInvalidFile() {
-               $this->assertFalse(
+               $this->assertEquals(
+                       'a:1:{s:5:"error";s:25:"Error extracting metadata";}',
                        $this->handler->getMetadata( null, $this->filePath . '/README' ),
                        'Getting Metadata for an inexistent file should returns false'
                );
index 438dc79..6a1e422 100644 (file)
@@ -6,26 +6,13 @@
  *
  * @todo covers tags
  */
-class ExifRotationTest extends MediaWikiTestCase {
+class ExifRotationTest extends MediaWikiMediaTestCase {
 
        protected function setUp() {
                parent::setUp();
                $this->checkPHPExtension( 'exif' );
 
                $this->handler = new BitmapHandler();
-               $filePath = __DIR__ . '/../../data/media';
-
-               $tmpDir = $this->getNewTempDirectory();
-
-               $this->repo = new FSRepo( array(
-                       'name' => 'temp',
-                       'url' => 'http://localhost/thumbtest',
-                       'backend' => new FSFileBackend( array(
-                               'name' => 'localtesting',
-                               'wikiId' => wfWikiId(),
-                               'containerPaths' => array( 'temp-thumb' => $tmpDir, 'data' => $filePath )
-                       ) )
-               ) );
 
                $this->setMwGlobals( array(
                        'wgShowEXIF' => true,
@@ -33,6 +20,13 @@ class ExifRotationTest extends MediaWikiTestCase {
                ) );
        }
 
+       /**
+        * Mark this test as creating thumbnail files.
+        */
+       protected function createsThumbnails() {
+               return true;
+       }
+
        /**
         * @dataProvider provideFiles
         */
@@ -93,12 +87,6 @@ class ExifRotationTest extends MediaWikiTestCase {
                }
        }
 
-       /* Utility function */
-       private function dataFile( $name, $type ) {
-               return new UnregisteredLocalFile( false, $this->repo,
-                       "mwstore://localtesting/data/$name", $type );
-       }
-
        public static function provideFiles() {
                return array(
                        array(
index a0ab92c..daaefc0 100644 (file)
@@ -1,28 +1,11 @@
 <?php
 
-class FormatMetadataTest extends MediaWikiTestCase {
-
-       /** @var FSFileBackend */
-       protected $backend;
-       /** @var FSRepo */
-       protected $repo;
+class FormatMetadataTest extends MediaWikiMediaTestCase {
 
        protected function setUp() {
                parent::setUp();
 
                $this->checkPHPExtension( 'exif' );
-               $filePath = __DIR__ . '/../../data/media';
-               $this->backend = new FSFileBackend( array(
-                       'name' => 'localtesting',
-                       'wikiId' => wfWikiId(),
-                       'containerPaths' => array( 'data' => $filePath )
-               ) );
-               $this->repo = new FSRepo( array(
-                       'name' => 'temp',
-                       'url' => 'http://localhost/thumbtest',
-                       'backend' => $this->backend
-               ) );
-
                $this->setMwGlobals( 'wgShowEXIF', true );
        }
 
@@ -82,9 +65,4 @@ class FormatMetadataTest extends MediaWikiTestCase {
                        // TODO: more test cases
                );
        }
-
-       private function dataFile( $name, $type ) {
-               return new UnregisteredLocalFile( false, $this->repo,
-                       "mwstore://localtesting/data/$name", $type );
-       }
 }
index 7a7ed21..17b2964 100644 (file)
@@ -1,29 +1,12 @@
 <?php
-class GIFHandlerTest extends MediaWikiTestCase {
+class GIFHandlerTest extends MediaWikiMediaTestCase {
 
-       /** @var FSFileBackend */
-       protected $backend;
        /** @var GIFHandler */
        protected $handler;
-       /** @var FSRepo */
-       protected $repo;
-       /** @var string */
-       protected $filePath;
 
        protected function setUp() {
                parent::setUp();
 
-               $this->filePath = __DIR__ . '/../../data/media';
-               $this->backend = new FSFileBackend( array(
-                       'name' => 'localtesting',
-                       'wikiId' => wfWikiId(),
-                       'containerPaths' => array( 'data' => $this->filePath )
-               ) );
-               $this->repo = new FSRepo( array(
-                       'name' => 'temp',
-                       'url' => 'http://localhost/thumbtest',
-                       'backend' => $this->backend
-               ) );
                $this->handler = new GIFHandler();
        }
 
@@ -152,9 +135,4 @@ class GIFHandlerTest extends MediaWikiTestCase {
                        ),
                );
        }
-
-       private function dataFile( $name, $type ) {
-               return new UnregisteredLocalFile( false, $this->repo,
-                       "mwstore://localtesting/data/$name", $type );
-       }
 }
index b261137..c856b1c 100644 (file)
@@ -2,29 +2,14 @@
 /**
  * @covers JpegHandler
  */
-class JpegTest extends MediaWikiTestCase {
-
-       protected $filePath;
+class JpegTest extends MediaWikiMediaTestCase {
 
        protected function setUp() {
                parent::setUp();
                $this->checkPHPExtension( 'exif' );
 
-               $this->filePath = __DIR__ . '/../../data/media/';
-
                $this->setMwGlobals( 'wgShowEXIF', true );
 
-               $this->backend = new FSFileBackend( array(
-                       'name' => 'localtesting',
-                       'wikiId' => wfWikiId(),
-                       'containerPaths' => array( 'data' => $this->filePath )
-               ) );
-               $this->repo = new FSRepo( array(
-                       'name' => 'temp',
-                       'url' => 'http://localhost/thumbtest',
-                       'backend' => $this->backend
-               ) );
-
                $this->handler = new JpegHandler;
        }
 
@@ -64,9 +49,4 @@ class JpegTest extends MediaWikiTestCase {
 
                $this->assertEquals( $res, $expected );
        }
-
-       private function dataFile( $name, $type ) {
-               return new UnregisteredLocalFile( false, $this->repo,
-                       "mwstore://localtesting/data/$name", $type );
-       }
 }
diff --git a/tests/phpunit/includes/media/MediaWikiMediaTestCase.php b/tests/phpunit/includes/media/MediaWikiMediaTestCase.php
new file mode 100644 (file)
index 0000000..ebfcba9
--- /dev/null
@@ -0,0 +1,73 @@
+<?php
+/**
+ * Specificly for testing Media handlers. Sets up a FSFile backend
+ */
+abstract class MediaWikiMediaTestCase extends MediaWikiTestCase {
+
+       /** @var FSRepo */
+       protected $repo;
+       /** @var FSFileBackend */
+       protected $backend;
+       /** @var string */
+       protected $filePath;
+
+
+       protected function setUp() {
+               parent::setUp();
+
+               $this->filePath = $this->getFilePath();
+               $containers = array( 'data' => $this->filePath );
+               if ( $this->createsThumbnails() ) {
+                       // We need a temp directory for the thumbnails
+                       // the container is named 'temp-thumb' because it is the
+                       // thumb directory for a FSRepo named "temp".
+                       $containers['temp-thumb'] = $this->getNewTempDirectory();
+               }
+
+               $this->backend = new FSFileBackend( array(
+                       'name' => 'localtesting',
+                       'wikiId' => wfWikiId(),
+                       'containerPaths' => $containers
+               ) );
+               $this->repo = new FSRepo( array(
+                       'name' => 'temp',
+                       'url' => 'http://localhost/thumbtest',
+                       'backend' => $this->backend
+               ) );
+       }
+
+       /**
+        * The result of this method will set the file path to use,
+        * as well as the protected member $filePath
+        *
+        * @return String path where files are
+        */
+       protected function getFilePath() {
+               return __DIR__ . '/../../data/media/';
+       }
+
+       /**
+        * Will the test create thumbnails (and thus do we need to set aside
+        * a temporary directory for them?)
+        *
+        * Override this method if your test case creates thumbnails
+        *
+        * @return boolean
+        */
+       protected function createsThumbnails() {
+               return false;
+       }
+
+       /**
+        * Utility function: Get a new file object for a file on disk but not actually in db.
+        *
+        * File must be in the path returned by getFilePath()
+        * @param $name String File name
+        * @param $type String MIME type
+        * @return UnregisteredLocalFile
+        */
+       protected function dataFile( $name, $type ) {
+               return new UnregisteredLocalFile( false, $this->repo,
+                       "mwstore://localtesting/data/$name", $type );
+       }
+}
index 59d40de..14e4d57 100644 (file)
@@ -1,29 +1,11 @@
 <?php
-class PNGHandlerTest extends MediaWikiTestCase {
+class PNGHandlerTest extends MediaWikiMediaTestCase {
 
        /** @var PNGHandler */
        protected $handler;
-       /** @var FSRepo */
-       protected $repo;
-       /** @var FSFileBackend */
-       protected $backend;
-       /** @var string */
-       protected $filePath;
 
        protected function setUp() {
                parent::setUp();
-
-               $this->filePath = __DIR__ . '/../../data/media';
-               $this->backend = new FSFileBackend( array(
-                       'name' => 'localtesting',
-                       'wikiId' => wfWikiId(),
-                       'containerPaths' => array( 'data' => $this->filePath )
-               ) );
-               $this->repo = new FSRepo( array(
-                       'name' => 'temp',
-                       'url' => 'http://localhost/thumbtest',
-                       'backend' => $this->backend
-               ) );
                $this->handler = new PNGHandler();
        }
 
@@ -142,9 +124,4 @@ class PNGHandlerTest extends MediaWikiTestCase {
                        ),
                );
        }
-
-       private function dataFile( $name, $type ) {
-               return new UnregisteredLocalFile( false, $this->repo,
-                       "mwstore://localtesting/data/$name", $type );
-       }
 }
index 8a3d527..e3bb05e 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 
-class SvgTest extends MediaWikiTestCase {
+class SvgTest extends MediaWikiMediaTestCase {
 
        protected function setUp() {
                parent::setUp();
@@ -9,17 +9,6 @@ class SvgTest extends MediaWikiTestCase {
 
                $this->setMwGlobals( 'wgShowEXIF', true );
 
-               $this->backend = new FSFileBackend( array(
-                       'name' => 'localtesting',
-                       'wikiId' => wfWikiId(),
-                       'containerPaths' => array( 'data' => $this->filePath )
-               ) );
-               $this->repo = new FSRepo( array(
-                       'name' => 'temp',
-                       'url' => 'http://localhost/thumbtest',
-                       'backend' => $this->backend
-               ) );
-
                $this->handler = new SvgHandler;
        }
 
@@ -46,9 +35,4 @@ class SvgTest extends MediaWikiTestCase {
                        array( 'Wikimedia-logo.svg', array() )
                );
        }
-
-       private function dataFile( $name, $type ) {
-               return new UnregisteredLocalFile( false, $this->repo,
-                       "mwstore://localtesting/data/$name", $type );
-       }
 }
index 14bcac0..26efa4a 100644 (file)
@@ -285,6 +285,34 @@ class NewParserTest extends MediaWikiTestCase {
                                        'fileExists'  => true
                        ), $this->db->timestamp( '20010115123500' ), $user );
                }
+               $image = wfLocalFile( Title::makeTitle( NS_FILE, 'Portrait.png' ) );
+               if ( !$this->db->selectField( 'image', '1', array( 'img_name' => $image->getName() ) ) ) {
+                       $image->recordUpload2( '', 'Upload of tall bitmap', 'Some tall bitmap', array(
+                                       'size'        => 12345,
+                                       'width'       => 180,
+                                       'height'      => 240,
+                                       'bits'        => 8,
+                                       'media_type'  => MEDIATYPE_BITMAP,
+                                       'mime'        => 'image/png',
+                                       'metadata'    => serialize( array() ),
+                                       'sha1'        => wfBaseConvert( '', 16, 36, 31 ),
+                                       'fileExists'  => true
+                       ), $this->db->timestamp( '20140515134200' ), $user );
+               }
+               $image = wfLocalFile( Title::makeTitle( NS_FILE, 'Portrait.svg' ) );
+               if ( !$this->db->selectField( 'image', '1', array( 'img_name' => $image->getName() ) ) ) {
+                       $image->recordUpload2( '', 'Upload of tall SVG', 'Some tall SVG', array(
+                                       'size'        => 12345,
+                                       'width'       => 180,
+                                       'height'      => 240,
+                                       'bits'        => 24,
+                                       'media_type'  => MEDIATYPE_DRAWING,
+                                       'mime'        => 'image/svg+xml',
+                                       'metadata'    => serialize( array() ),
+                                       'sha1'        => wfBaseConvert( '', 16, 36, 31 ),
+                                       'fileExists'  => true
+                       ), $this->db->timestamp( '20140325124200' ), $user );
+               }
 
                # A DjVu file
                $image = wfLocalFile( Title::makeTitle( NS_FILE, 'LoremIpsum.djvu' ) );
@@ -499,6 +527,10 @@ class NewParserTest extends MediaWikiTestCase {
                $backend->store( array(
                        'src' => "$IP/skins/monobook/headbg.jpg", 'dst' => "$base/local-public/0/09/Bad.jpg"
                ) );
+               $backend->prepare( array( 'dir' => "$base/local-public/9/93" ) );
+               $backend->store( array(
+                       'src' => "$IP/tests/phpunit/data/media/Portrait.png", 'dst' => "$base/local-public/9/93/Portrait.png"
+               ) );
                $backend->prepare( array( 'dir' => "$base/local-public/5/5f" ) );
                $backend->store( array(
                        'src' => "$IP/tests/phpunit/data/media/LoremIpsum.djvu", 'dst' => "$base/local-public/5/5f/LoremIpsum.djvu"
@@ -513,6 +545,15 @@ class NewParserTest extends MediaWikiTestCase {
                $backend->quickCreate( array(
                        'content' => $data, 'dst' => "$base/local-public/f/ff/Foobar.svg"
                ) );
+
+               $data = '<?xml version="1.0" encoding="utf-8"?>' .
+                       '<svg xmlns="http://www.w3.org/2000/svg"' .
+                       ' version="1.1" width="180" height="240"/>';
+
+               $backend->prepare( array( 'dir' => "$base/local-public/f/fc" ) );
+               $backend->quickCreate( array(
+                       'content' => $data, 'dst' => "$base/local-public/f/fc/Portrait.svg"
+               ) );
        }
 
        /**
@@ -587,6 +628,9 @@ class NewParserTest extends MediaWikiTestCase {
                                "$base/local-thumb/5/5f/LoremIpsum.djvu/page2-3720px-LoremIpsum.djvu.jpg",
                                "$base/local-thumb/5/5f/LoremIpsum.djvu/page2-4960px-LoremIpsum.djvu.jpg",
 
+                               "$base/local-public/9/93/Portrait.png",
+                               "$base/local-thumb/9/93/Portrait.png/165px-Portrait.png",
+
                                "$base/local-public/f/ff/Foobar.svg",
                                "$base/local-thumb/f/ff/Foobar.svg/180px-Foobar.svg.png",
                                "$base/local-thumb/f/ff/Foobar.svg/2000px-Foobar.svg.png",
@@ -598,6 +642,14 @@ class NewParserTest extends MediaWikiTestCase {
                                "$base/local-thumb/f/ff/Foobar.svg/langde-270px-Foobar.svg.png",
                                "$base/local-thumb/f/ff/Foobar.svg/langde-360px-Foobar.svg.png",
 
+                               "$base/local-public/f/fc/Portrait.svg",
+                               "$base/local-thumb/f/fc/Portrait.svg/165px-Portrait.svg.png",
+                               "$base/local-thumb/f/fc/Portrait.svg/225px-Portrait.svg.png",
+                               "$base/local-thumb/f/fc/Portrait.svg/247px-Portrait.svg.png",
+                               "$base/local-thumb/f/fc/Portrait.svg/330px-Portrait.svg.png",
+                               "$base/local-thumb/f/fc/Portrait.svg/337px-Portrait.svg.png",
+                               "$base/local-thumb/f/fc/Portrait.svg/450px-Portrait.svg.png",
+
                                "$base/local-public/math/f/a/5/fa50b8b616463173474302ca3e63586b.png",
                        )
                );
index 2393299..f5cd892 100644 (file)
@@ -21,6 +21,7 @@ class StructureTest extends MediaWikiTestCase {
                        'ApiQueryTestBase',
                        'ApiQueryContinueTestBase',
                        'MediaWikiLangTestCase',
+                       'MediaWikiMediaTestCase',
                        'MediaWikiTestCase',
                        'ResourceLoaderTestCase',
                        'PHPUnit_Framework_TestCase',
index e189524..842817f 100644 (file)
@@ -48,7 +48,7 @@
                // Put this text in the span and verify it doesn't fit
                $span.text( spanTextNew );
                // In IE6 width works like min-width, allow IE6's width to be "equal to"
-               if ( $.browser.msie && Number( $.browser.version ) === 6 ) {
+               if ( $.client.test( { 'msie': 6 }, $.client.profile(), true ) ) {
                        assert.gtOrEq( $span.width(), $span.parent().width(), 'Fit is maximal (adding two characters makes it not fit any more) - IE6: Maybe equal to as well due to width behaving like min-width in IE6' );
                } else {
                        assert.gt( $span.width(), $span.parent().width(), 'Fit is maximal (adding two characters makes it not fit any more)' );
index 90700ca..0f6b445 100644 (file)
                assert.strictEqual( window.$j, window.jQuery, '$j alias to jQuery' );
                this.restoreWarnings();
 
+               // window.mw and window.mediaWiki are not deprecated, but for some reason
+               // PhantomJS is triggerring the accessors on all mw.* properties in this test,
+               // and with that lots of unrelated deprecation notices.
+               this.suppressWarnings();
                assert.ok( window.mediaWiki, 'mediaWiki defined' );
                assert.ok( window.mw, 'mw defined' );
                assert.strictEqual( window.mw, window.mediaWiki, 'mw alias to mediaWiki' );
+               this.restoreWarnings();
        } );
 
        QUnit.test( 'mw.Map', 28, function ( assert ) {
index 3f856b9..e43516b 100644 (file)
@@ -1,5 +1,10 @@
 ( function ( mw, $ ) {
-       QUnit.module( 'mediawiki.toc', QUnit.newMwEnvironment() );
+       QUnit.module( 'mediawiki.toc', QUnit.newMwEnvironment( {
+               setup: function () {
+                       // Prevent live cookies like mw_hidetoc=1 from interferring with the test
+                       this.stub( $, 'cookie' ).returns( null );
+               }
+       } ) );
 
        QUnit.asyncTest( 'toggleToc', 4, function ( assert ) {
                var tocHtml, $toggleLink, $tocList;