Merge "Add hash_equals() fallback and use it"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Thu, 29 May 2014 17:29:08 +0000 (17:29 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Thu, 29 May 2014 17:29:08 +0000 (17:29 +0000)
162 files changed:
RELEASE-NOTES-1.24
composer.json
docs/hooks.txt
includes/AutoLoader.php
includes/DefaultSettings.php
includes/DeprecatedGlobal.php
includes/Export.php
includes/HistoryBlob.php
includes/ImagePage.php
includes/Import.php
includes/Linker.php
includes/Revision.php
includes/Skin.php
includes/StubObject.php
includes/Title.php
includes/Wiki.php
includes/api/ApiQueryLogEvents.php
includes/api/ApiRollback.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/ContentHandler.php
includes/content/TextContent.php
includes/context/DerivativeContext.php
includes/context/RequestContext.php
includes/db/Database.php
includes/db/DatabaseError.php
includes/deferred/HTMLCacheUpdate.php
includes/filerepo/file/File.php
includes/installer/LocalSettingsGenerator.php
includes/installer/WebInstaller.php
includes/installer/i18n/it.json
includes/installer/i18n/pt-br.json
includes/installer/i18n/uk.json
includes/media/MediaHandler.php
includes/media/Tiff.php
includes/revisiondelete/RevisionDelete.php
includes/revisiondelete/RevisionDeleteAbstracts.php
includes/search/SearchEngine.php
includes/specials/SpecialAllpages.php
includes/specials/SpecialChangePassword.php
includes/specials/SpecialFileDuplicateSearch.php
includes/specials/SpecialLinkSearch.php
includes/specials/SpecialPrefixindex.php
includes/specials/SpecialRevisiondelete.php
includes/specials/SpecialSearch.php
includes/specials/SpecialWhatlinkshere.php
languages/i18n/az.json
languages/i18n/bar.json
languages/i18n/bcl.json
languages/i18n/be-tarask.json
languages/i18n/be.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/en.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/gd.json
languages/i18n/he.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/krc.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/yi.json
languages/i18n/zh-hans.json
languages/i18n/zh-hant.json
maintenance/dictionary/mediawiki.dic
mw-config/index.php
resources/Resources.php
resources/lib/oojs-ui/i18n/bn.json
resources/lib/oojs-ui/i18n/ce.json
resources/lib/oojs-ui/i18n/ilo.json
resources/lib/oojs-ui/i18n/lzh.json [new file with mode: 0644]
resources/lib/oojs-ui/i18n/ro.json
resources/lib/oojs-ui/i18n/sq.json
resources/lib/oojs-ui/i18n/tl.json
resources/lib/oojs-ui/oojs-ui-agora.css
resources/lib/oojs-ui/oojs-ui-apex.css
resources/lib/oojs-ui/oojs-ui.js
resources/lib/oojs-ui/oojs-ui.svg.css
resources/lib/oojs-ui/themes/agora/images/icons/check.svg [new file with mode: 0644]
resources/src/mediawiki.skinning/content.parsoid.less
resources/src/mediawiki/mediawiki.searchSuggest.js
skins/.gitignore
skins/CologneBlue.php [deleted file]
skins/Modern.php [deleted file]
skins/cologneblue/print.css [deleted file]
skins/cologneblue/screen.css [deleted file]
skins/common/commonPrint.css
skins/modern/audio.png [deleted file]
skins/modern/bullet.gif [deleted file]
skins/modern/discussionitem_icon.gif [deleted file]
skins/modern/document.png [deleted file]
skins/modern/external.png [deleted file]
skins/modern/file_icon.gif [deleted file]
skins/modern/footer-grad.png [deleted file]
skins/modern/link_icon.gif [deleted file]
skins/modern/lock_icon.gif [deleted file]
skins/modern/mail_icon.gif [deleted file]
skins/modern/main.css [deleted file]
skins/modern/news_icon.png [deleted file]
skins/modern/print.css [deleted file]
skins/modern/video.png [deleted file]
skins/vector/vector.js
tests/TestsAutoLoader.php
tests/phpunit/includes/ImportTest.php [new file with mode: 0644]
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/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/structure/StructureTest.php

index 36efccc..ba9dbad 100644 (file)
@@ -38,9 +38,15 @@ production.
 * 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.
+* Header font set to a serif font stack. See
+  https://www.mediawiki.org/wiki/Typography_refresh for further information.
 * (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 65567) Added a new hook, "BeforeHttpsRedirect", to allow cancellation of the HTTP
+  to HTTPS redirect due to forceHTTPS cookie, userRequires, etc.  This is only for page views,
+  since this hook doesn't affect UserLogin, OAuth, CentralAuth, etc.
+  ATTENTION: This hook is likely to be removed soon due to overall design of the system.
 
 === Bug fixes in 1.24 ===
 * (bug 49116) Footer copyright notice is now always displayed in user language
@@ -71,6 +77,13 @@ production.
   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.
+* action=edit now requires that appendtext, prependtext, or section=new be used
+  when using the 'redirect' parameter, to prevent clients accidentally
+  overwriting the target page with the content of the redirect.
+* action=logevents will now return an error if both letitle and leprefix are
+  specified.
+* action=logevents has a new parameter, lenamespace, to allow filtering by
+  namespace.
 
 === Languages updated in 1.24 ===
 
@@ -91,6 +104,10 @@ changes to languages because of Bugzilla reports.
 * 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.
+* BREAKING CHANGE: The Modern and Cologne Blue skins were moved out of MediaWiki
+  core to their own respective repositories. See also
+  https://www.mediawiki.org/wiki/Skin:Modern and
+  https://www.mediawiki.org/wiki/Skin:CologneBlue.
 
 ==== Renamed classes ====
 * CLDRPluralRuleConverter_Expression to CLDRPluralRuleConverterExpression
index ded3365..8389f00 100644 (file)
@@ -16,7 +16,8 @@
                "wiki": "https://www.mediawiki.org/"
        },
        "require": {
-               "php": ">=5.3.2"
+               "php": ">=5.3.2",
+               "psr/log": "1.0.0"
        },
        "require-dev": {
                "phpunit/phpunit": "*"
@@ -25,6 +26,7 @@
                "ext-fileinfo": "*",
                "ext-mbstring": "*",
                "ext-wikidiff2": "*",
-               "ext-apc": "*"
+               "ext-apc": "*",
+               "monolog/monolog": "*"
        }
 }
index e1c9ec6..e91f437 100644 (file)
@@ -728,6 +728,13 @@ $mediaWiki: Mediawiki object
 &$out: OutputPage object
 &$skin: Skin object
 
+'BeforeHttpsRedirect': Prior to forcing HTTP->HTTPS redirect. Gives a chance to
+override how the redirect is output by modifying, or by returning false, and
+letting standard HTTP rendering take place.
+ATTENTION: This hook is likely to be removed soon due to overall design of the system.
+$context: IContextSource object
+&$redirect: string URL, modifiable
+
 'BeforePageRedirect': Prior to sending an HTTP redirect. Gives a chance to
 override how the redirect is output by modifying, or by returning false and
 taking over the output.
@@ -2179,6 +2186,14 @@ $title : Current Title object being displayed in search results.
 'SearchableNamespaces': An option to modify which namespaces are searchable.
 &$arr : Array of namespaces ($nsId => $name) which will be used.
 
+'SelfLinkBegin': Called before a link to the current article is displayed to
+allow the display of the link to be customized.
+$nt: the Title object
+&$html: html to display for the link
+&$trail: optional text to display before $html
+&$prefix: optional text to display after $html
+&$ret: the value to return if your hook returns false
+
 'SetupAfterCache': Called in Setup.php, after cache objects are set
 
 'ShowMissingArticle': Called when generating the output for a non-existent page.
index 338274c..69f0e2f 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',
@@ -1177,11 +1179,7 @@ $wgAutoloadLocalClasses = array(
        'MyLocalSettingsGenerator' => 'mw-config/overrides.php',
 
        # skins
-       'CologneBlueTemplate' => 'skins/CologneBlue.php',
-       'ModernTemplate' => 'skins/Modern.php',
        'MonoBookTemplate' => 'skins/MonoBook.php',
-       'SkinCologneBlue' => 'skins/CologneBlue.php',
-       'SkinModern' => 'skins/Modern.php',
        'SkinMonoBook' => 'skins/MonoBook.php',
        'SkinVector' => 'skins/Vector.php',
        'VectorTemplate' => 'skins/Vector.php',
index 796e0c0..16c0187 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
@@ -3357,7 +3360,6 @@ $wgResourceLoaderLESSFunctions = array(
  */
 $wgResourceLoaderLESSImportPaths = array(
        "$IP/resources/src/mediawiki.less/",
-       "$IP/skins/vector/",
 );
 
 /**
@@ -5320,17 +5322,6 @@ $wgNamespacesToBeSearchedDefault = array(
        NS_MAIN => true,
 );
 
-/**
- * Namespaces to be searched when user clicks the "Help" tab
- * on Special:Search.
- *
- * Same format as $wgNamespacesToBeSearchedDefault.
- */
-$wgNamespacesToBeSearchedHelp = array(
-       NS_PROJECT => true,
-       NS_HELP => true,
-);
-
 /**
  * If set to true the 'searcheverything' preference will be effective only for
  * logged-in users.
@@ -5608,7 +5599,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
index d1fda2e..14329d3 100644 (file)
  */
 
 class DeprecatedGlobal extends StubObject {
-       // The m's are to stay consistent with parent class.
-       protected $mRealValue, $mVersion;
+       protected $realValue, $version;
 
        function __construct( $name, $realValue, $version = false ) {
                parent::__construct( $name );
-               $this->mRealValue = $realValue;
-               $this->mVersion = $version;
+               $this->realValue = $realValue;
+               $this->version = $version;
        }
 
        // @codingStandardsIgnoreStart
@@ -52,8 +51,8 @@ class DeprecatedGlobal extends StubObject {
                 * sequences for this method, but that seems to be
                 * rather unlikely.
                 */
-               wfDeprecated( '$' . $this->mGlobal, $this->mVersion, false, 6 );
-               return $this->mRealValue;
+               wfDeprecated( '$' . $this->global, $this->version, false, 6 );
+               return $this->realValue;
        }
        // @codingStandardsIgnoreEnd
 }
index 4c71eb9..21fcd5a 100644 (file)
@@ -670,12 +670,30 @@ class XmlDumpWriter {
                        $out .= "      " . Xml::elementClean( 'comment', array(), strval( $row->rev_comment ) ) . "\n";
                }
 
+               if ( isset( $row->rev_content_model ) && !is_null( $row->rev_content_model ) ) {
+                       $content_model = strval( $row->rev_content_model );
+               } else {
+                       // probably using $wgContentHandlerUseDB = false;
+                       $title = Title::makeTitle( $row->page_namespace, $row->page_title );
+                       $content_model = ContentHandler::getDefaultModelFor( $title );
+               }
+
+               $content_handler = ContentHandler::getForModelID( $content_model );
+
+               if ( isset( $row->rev_content_format ) && !is_null( $row->rev_content_format ) ) {
+                       $content_format = strval( $row->rev_content_format );
+               } else {
+                       // probably using $wgContentHandlerUseDB = false;
+                       $content_format = $content_handler->getDefaultFormat();
+               }
+
                $text = '';
                if ( isset( $row->rev_deleted ) && ( $row->rev_deleted & Revision::DELETED_TEXT ) ) {
                        $out .= "      " . Xml::element( 'text', array( 'deleted' => 'deleted' ) ) . "\n";
                } elseif ( isset( $row->old_text ) ) {
                        // Raw text from the database may have invalid chars
                        $text = strval( Revision::getRevisionText( $row ) );
+                       $text = $content_handler->exportTransform( $text, $content_format );
                        $out .= "      " . Xml::elementClean( 'text',
                                array( 'xml:space' => 'preserve', 'bytes' => intval( $row->rev_len ) ),
                                strval( $text ) ) . "\n";
@@ -695,26 +713,7 @@ class XmlDumpWriter {
                        $out .= "      <sha1/>\n";
                }
 
-               if ( isset( $row->rev_content_model ) && !is_null( $row->rev_content_model ) ) {
-                       $content_model = strval( $row->rev_content_model );
-               } else {
-                       // probably using $wgContentHandlerUseDB = false;
-                       // @todo test!
-                       $title = Title::makeTitle( $row->page_namespace, $row->page_title );
-                       $content_model = ContentHandler::getDefaultModelFor( $title );
-               }
-
                $out .= "      " . Xml::element( 'model', null, strval( $content_model ) ) . "\n";
-
-               if ( isset( $row->rev_content_format ) && !is_null( $row->rev_content_format ) ) {
-                       $content_format = strval( $row->rev_content_format );
-               } else {
-                       // probably using $wgContentHandlerUseDB = false;
-                       // @todo test!
-                       $content_handler = ContentHandler::getForModelID( $content_model );
-                       $content_format = $content_handler->getDefaultFormat();
-               }
-
                $out .= "      " . Xml::element( 'format', null, strval( $content_format ) ) . "\n";
 
                wfRunHooks( 'XmlDumpWriterWriteRevision', array( &$this, &$out, $row, $text ) );
index 06e5ecc..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
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 4940c19..79df693 100644 (file)
@@ -265,7 +265,7 @@ class WikiImporter {
         * @return bool
         */
        public function importRevision( $revision ) {
-               if ( !$revision->getContent()->getContentHandler()->canBeUsedOn( $revision->getTitle() ) ) {
+               if ( !$revision->getContentHandler()->canBeUsedOn( $revision->getTitle() ) ) {
                        $this->notice( 'import-error-bad-location',
                                $revision->getTitle()->getPrefixedText(),
                                $revision->getID(),
@@ -393,6 +393,15 @@ class WikiImporter {
                }
        }
 
+       /**
+        * Retrieves the contents of the named attribute of the current element.
+        * @param string $attr the name of the attribute
+        * @return string the value of the attribute or an empty string if it is not set in the current element.
+        */
+       public function nodeAttribute( $attr ) {
+               return $this->reader->getAttribute( $attr );
+       }
+
        /**
         * Shouldn't something like this be built-in to XMLReader?
         * Fetches text contents of the current element, assuming
@@ -618,17 +627,28 @@ class WikiImporter {
                                                &$pageInfo ) ) ) {
                                // Do nothing
                        } elseif ( in_array( $tag, $normalFields ) ) {
-                               $pageInfo[$tag] = $this->nodeContents();
-                               if ( $tag == 'title' ) {
-                                       $title = $this->processTitle( $pageInfo['title'] );
+                               // An XML snippet:
+                               // <page>
+                               //     <id>123</id>
+                               //     <title>Page</title>
+                               //     <redirect title="NewTitle"/>
+                               //     ...
+                               // Because the redirect tag is built differently, we need special handling for that case.
+                               if ( $tag == 'redirect' ) {
+                                       $pageInfo[$tag] = $this->nodeAttribute( 'title' );
+                               } else {
+                                       $pageInfo[$tag] = $this->nodeContents();
+                                       if ( $tag == 'title' ) {
+                                               $title = $this->processTitle( $pageInfo['title'] );
 
-                                       if ( !$title ) {
-                                               $badTitle = true;
-                                               $skip = true;
-                                       }
+                                               if ( !$title ) {
+                                                       $badTitle = true;
+                                                       $skip = true;
+                                               }
 
-                                       $this->pageCallback( $title );
-                                       list( $pageInfo['_title'], $origTitle ) = $title;
+                                               $this->pageCallback( $title );
+                                               list( $pageInfo['_title'], $origTitle ) = $title;
+                                       }
                                }
                        } elseif ( $tag == 'revision' ) {
                                $this->handleRevision( $pageInfo );
@@ -696,9 +716,6 @@ class WikiImporter {
                if ( isset( $revisionInfo['id'] ) ) {
                        $revision->setID( $revisionInfo['id'] );
                }
-               if ( isset( $revisionInfo['text'] ) ) {
-                       $revision->setText( $revisionInfo['text'] );
-               }
                if ( isset( $revisionInfo['model'] ) ) {
                        $revision->setModel( $revisionInfo['model'] );
                }
@@ -707,6 +724,14 @@ class WikiImporter {
                }
                $revision->setTitle( $pageInfo['_title'] );
 
+               if ( isset( $revisionInfo['text'] ) ) {
+                       $handler = $revision->getContentHandler();
+                       $text = $handler->importTransform(
+                               $revisionInfo['text'],
+                               $revision->getFormat() );
+
+                       $revision->setText( $text );
+               }
                if ( isset( $revisionInfo['timestamp'] ) ) {
                        $revision->setTimestamp( $revisionInfo['timestamp'] );
                } else {
@@ -1089,6 +1114,9 @@ class WikiRevision {
        /** @var Content */
        protected $content = null;
 
+       /** @var ContentHandler */
+       protected $contentHandler = null;
+
        /** @var string */
        public $comment = "";
 
@@ -1320,18 +1348,24 @@ class WikiRevision {
                return $this->text;
        }
 
+       /**
+        * @return ContentHandler
+        */
+       function getContentHandler() {
+               if ( is_null( $this->contentHandler ) ) {
+                       $this->contentHandler = ContentHandler::getForModelID( $this->getModel() );
+               }
+
+               return $this->contentHandler;
+       }
+
        /**
         * @return Content
         */
        function getContent() {
                if ( is_null( $this->content ) ) {
-                       $this->content =
-                               ContentHandler::makeContent(
-                                       $this->text,
-                                       $this->getTitle(),
-                                       $this->getModel(),
-                                       $this->getFormat()
-                               );
+                       $handler = $this->getContentHandler();
+                       $this->content = $handler->unserializeContent( $this->text, $this->getFormat() );
                }
 
                return $this->content;
@@ -1352,8 +1386,8 @@ class WikiRevision {
         * @return string
         */
        function getFormat() {
-               if ( is_null( $this->model ) ) {
-                       $this->format = ContentHandler::getForTitle( $this->getTitle() )->getDefaultFormat();
+               if ( is_null( $this->format ) ) {
+                       $this->format = $this->getContentHandler()->getDefaultFormat();
                }
 
                return $this->format;
index 7724548..b6e6657 100644 (file)
@@ -408,6 +408,11 @@ class Linker {
         * @return string
         */
        public static function makeSelfLinkObj( $nt, $html = '', $query = '', $trail = '', $prefix = '' ) {
+               $ret = "<strong class=\"selflink\">{$prefix}{$html}</strong>{$trail}";
+               if ( !wfRunHooks( 'SelfLinkBegin', array( $nt, &$html, &$trail, &$prefix, &$ret ) ) ) {
+                       return $ret;
+               }
+
                if ( $html == '' ) {
                        $html = htmlspecialchars( $nt->getPrefixedText() );
                }
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..06f39b1 100644 (file)
 
 /**
  * The main skin class which provides methods and properties for all other skins.
- * This base class is also the "Standard" skin.
  *
  * See docs/skin.txt for more information.
  *
  * @ingroup Skins
  */
 abstract class Skin extends ContextSource {
-       protected $skinname = 'standard';
+       protected $skinname = null;
        protected $mRelevantTitle = null;
        protected $mRelevantUser = null;
 
@@ -82,7 +81,7 @@ abstract class Skin extends ContextSource {
        static function getSkinNameMessages() {
                $messages = array();
                foreach ( self::getSkinNames() as $skinKey => $skinName ) {
-                       // Messages: skinname-cologneblue, skinname-monobook, skinname-modern, skinname-vector
+                       // Messages: skinname-vector, skinname-monobook
                        $messages[] = "skinname-$skinKey";
                }
                return $messages;
@@ -119,8 +118,8 @@ abstract class Skin extends ContextSource {
        /**
         * Normalize a skin preference value to a form that can be loaded.
         * If a skin can't be found, it will fall back to the configured
-        * default (or the old 'Classic' skin if that's broken).
-        * @param string $key 'monobook', 'standard', etc.
+        * default, or the hardcoded default if that's broken.
+        * @param string $key 'monobook', 'vector', etc.
         * @return string
         */
        static function normalizeKey( $key ) {
@@ -160,7 +159,7 @@ abstract class Skin extends ContextSource {
 
        /**
         * Factory method for loading a skin of a given type
-        * @param string $key 'monobook', 'standard', etc.
+        * @param string $key 'monobook', 'vector', etc.
         * @return Skin
         */
        static function &newFromKey( $key ) {
@@ -721,7 +720,6 @@ abstract class Skin extends ContextSource {
         * @return string
         */
        function subPageSubtitle() {
-               global $wgLang;
                $out = $this->getOutput();
                $subpages = '';
 
@@ -737,6 +735,7 @@ abstract class Skin extends ContextSource {
                                $c = 0;
                                $growinglink = '';
                                $display = '';
+                               $lang = $this->getLanguage();
 
                                foreach ( $links as $link ) {
                                        $growinglink .= $link;
@@ -752,7 +751,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 64df81b..6508bce 100644 (file)
  */
 class StubObject {
        /** @var null|string */
-       protected $mGlobal;
+       protected $global;
 
        /** @var null|string */
-       protected $mClass;
+       protected $class;
 
        /** @var array */
-       protected $mParams;
+       protected $params;
 
        /**
         * Constructor.
@@ -59,9 +59,9 @@ class StubObject {
         * @param array $params Parameters to pass to constructor of the real object.
         */
        function __construct( $global = null, $class = null, $params = array() ) {
-               $this->mGlobal = $global;
-               $this->mClass = $class;
-               $this->mParams = $params;
+               $this->global = $global;
+               $this->class = $class;
+               $this->params = $params;
        }
 
        /**
@@ -102,7 +102,7 @@ class StubObject {
         */
        function _call( $name, $args ) {
                $this->_unstub( $name, 5 );
-               return call_user_func_array( array( $GLOBALS[$this->mGlobal], $name ), $args );
+               return call_user_func_array( array( $GLOBALS[$this->global], $name ), $args );
        }
 
        /**
@@ -110,7 +110,7 @@ class StubObject {
         * @return object
         */
        function _newObject() {
-               return MWFunction::newObj( $this->mClass, $this->mParams );
+               return MWFunction::newObj( $this->class, $this->params );
        }
 
        /**
@@ -139,22 +139,22 @@ class StubObject {
        function _unstub( $name = '_unstub', $level = 2 ) {
                static $recursionLevel = 0;
 
-               if ( !$GLOBALS[$this->mGlobal] instanceof StubObject ) {
-                       return $GLOBALS[$this->mGlobal]; // already unstubbed.
+               if ( !$GLOBALS[$this->global] instanceof StubObject ) {
+                       return $GLOBALS[$this->global]; // already unstubbed.
                }
 
-               if ( get_class( $GLOBALS[$this->mGlobal] ) != $this->mClass ) {
-                       $fname = __METHOD__ . '-' . $this->mGlobal;
+               if ( get_class( $GLOBALS[$this->global] ) != $this->class ) {
+                       $fname = __METHOD__ . '-' . $this->global;
                        wfProfileIn( $fname );
                        $caller = wfGetCaller( $level );
                        if ( ++$recursionLevel > 2 ) {
                                wfProfileOut( $fname );
                                throw new MWException( "Unstub loop detected on call of "
-                                       . "\${$this->mGlobal}->$name from $caller\n" );
+                                       . "\${$this->global}->$name from $caller\n" );
                        }
-                       wfDebug( "Unstubbing \${$this->mGlobal} on call of "
-                               . "\${$this->mGlobal}::$name from $caller\n" );
-                       $GLOBALS[$this->mGlobal] = $this->_newObject();
+                       wfDebug( "Unstubbing \${$this->global} on call of "
+                               . "\${$this->global}::$name from $caller\n" );
+                       $GLOBALS[$this->global] = $this->_newObject();
                        --$recursionLevel;
                        wfProfileOut( $fname );
                }
index ea4a1b2..d8f6b75 100644 (file)
@@ -4728,6 +4728,10 @@ class Title {
                        return false;
                }
 
+               if ( $this->mArticleID === 0 ) {
+                       return true; // avoid gap locking if we know it's not there
+               }
+
                $method = __METHOD__;
                $dbw = wfGetDB( DB_MASTER );
                $conds = $this->pageCond();
index 555813d..a8bafa3 100644 (file)
@@ -533,6 +533,7 @@ class MediaWiki {
                // Note: Do this after $wgTitle is setup, otherwise the hooks run from
                // isLoggedIn() will do all sorts of weird stuff.
                if (
+                       $request->getProtocol() == 'http' &&
                        (
                                $request->getCookie( 'forceHTTPS', '' ) ||
                                // check for prefixed version for currently logged in users
@@ -542,34 +543,36 @@ class MediaWiki {
                                        $this->context->getUser()->isLoggedIn()
                                        && $this->context->getUser()->requiresHTTPS()
                                )
-                       ) &&
-                       $request->getProtocol() == 'http'
+                       )
                ) {
                        $oldUrl = $request->getFullRequestURL();
                        $redirUrl = preg_replace( '#^http://#', 'https://', $oldUrl );
 
-                       if ( $request->wasPosted() ) {
-                               // This is weird and we'd hope it almost never happens. This
-                               // means that a POST came in via HTTP and policy requires us
-                               // redirecting to HTTPS. It's likely such a request is going
-                               // to fail due to post data being lost, but let's try anyway
-                               // and just log the instance.
-                               //
-                               // @todo @fixme See if we could issue a 307 or 308 here, need
-                               // to see how clients (automated & browser) behave when we do
-                               wfDebugLog( 'RedirectedPosts', "Redirected from HTTP to HTTPS: $oldUrl" );
+                       // ATTENTION: This hook is likely to be removed soon due to overall design of the system.
+                       if ( wfRunHooks( 'BeforeHttpsRedirect', array( $this->context, &$redirUrl ) ) ) {
+
+                               if ( $request->wasPosted() ) {
+                                       // This is weird and we'd hope it almost never happens. This
+                                       // means that a POST came in via HTTP and policy requires us
+                                       // redirecting to HTTPS. It's likely such a request is going
+                                       // to fail due to post data being lost, but let's try anyway
+                                       // and just log the instance.
+                                       //
+                                       // @todo @fixme See if we could issue a 307 or 308 here, need
+                                       // to see how clients (automated & browser) behave when we do
+                                       wfDebugLog( 'RedirectedPosts', "Redirected from HTTP to HTTPS: $oldUrl" );
+                               }
+                               // Setup dummy Title, otherwise OutputPage::redirect will fail
+                               $title = Title::newFromText( NS_MAIN, 'REDIR' );
+                               $this->context->setTitle( $title );
+                               $output = $this->context->getOutput();
+                               // Since we only do this redir to change proto, always send a vary header
+                               $output->addVaryHeader( 'X-Forwarded-Proto' );
+                               $output->redirect( $redirUrl );
+                               $output->output();
+                               wfProfileOut( __METHOD__ );
+                               return;
                        }
-
-                       // Setup dummy Title, otherwise OutputPage::redirect will fail
-                       $title = Title::newFromText( NS_MAIN, 'REDIR' );
-                       $this->context->setTitle( $title );
-                       $output = $this->context->getOutput();
-                       // Since we only do this redir to change proto, always send a vary header
-                       $output->addVaryHeader( 'X-Forwarded-Proto' );
-                       $output->redirect( $redirUrl );
-                       $output->output();
-                       wfProfileOut( __METHOD__ );
-                       return;
                }
 
                if ( $wgUseFileCache && $title->getNamespace() >= 0 ) {
index 0977439..2d9d710 100644 (file)
@@ -43,6 +43,7 @@ class ApiQueryLogEvents extends ApiQueryBase {
        public function execute() {
                $params = $this->extractRequestParams();
                $db = $this->getDB();
+               $this->requireMaxOneParameter( $params, 'title', 'prefix', 'namespace' );
 
                $prop = array_flip( $params['prop'] );
 
@@ -179,6 +180,10 @@ class ApiQueryLogEvents extends ApiQueryBase {
                        $this->addWhereFld( 'log_title', $titleObj->getDBkey() );
                }
 
+               if ( $params['namespace'] !== null ) {
+                       $this->addWhereFld( 'log_namespace', $params['namespace'] );
+               }
+
                $prefix = $params['prefix'];
 
                if ( !is_null( $prefix ) ) {
@@ -196,7 +201,7 @@ class ApiQueryLogEvents extends ApiQueryBase {
                }
 
                // Paranoia: avoid brute force searches (bug 17342)
-               if ( !is_null( $title ) || !is_null( $user ) ) {
+               if ( $params['namespace'] !== null || !is_null( $title ) || !is_null( $user ) ) {
                        if ( !$this->getUser()->isAllowed( 'deletedhistory' ) ) {
                                $titleBits = LogPage::DELETED_ACTION;
                                $userBits = LogPage::DELETED_USER;
@@ -207,7 +212,7 @@ class ApiQueryLogEvents extends ApiQueryBase {
                                $titleBits = 0;
                                $userBits = 0;
                        }
-                       if ( !is_null( $title ) && $titleBits ) {
+                       if ( ( $params['namespace'] !== null || !is_null( $title ) ) && $titleBits ) {
                                $this->addWhere( $db->bitAnd( 'log_deleted', $titleBits ) . " != $titleBits" );
                        }
                        if ( !is_null( $user ) && $userBits ) {
@@ -510,6 +515,9 @@ class ApiQueryLogEvents extends ApiQueryBase {
                        ),
                        'user' => null,
                        'title' => null,
+                       'namespace' => array(
+                               ApiBase::PARAM_TYPE => 'namespace'
+                       ),
                        'prefix' => null,
                        'tag' => null,
                        'limit' => array(
@@ -550,6 +558,7 @@ class ApiQueryLogEvents extends ApiQueryBase {
                        'dir' => $this->getDirectionDescription( $p ),
                        'user' => 'Filter entries to those made by the given user',
                        'title' => 'Filter entries to those related to a page',
+                       'namespace' => 'Filter entries to those in the given namespace',
                        'prefix' => 'Filter entries that start with this prefix. Disabled in Miser Mode',
                        'limit' => 'How many total event entries to return',
                        'tag' => 'Only list event entries tagged with this tag',
index fbe87d2..d0ce6d7 100644 (file)
@@ -149,12 +149,16 @@ class ApiRollback extends ApiBase {
        }
 
        public function getPossibleErrors() {
-               return array_merge( parent::getPossibleErrors(), array(
-                       array( 'invalidtitle', 'title' ),
-                       array( 'notanarticle' ),
-                       array( 'nosuchpageid', 'pageid' ),
-                       array( 'invaliduser', 'user' ),
-               ) );
+               return array_merge(
+                       parent::getPossibleErrors(),
+                       $this->getRequireOnlyOneParameterErrorMessages( array( 'title', 'pageid' ) ),
+                       array(
+                               array( 'invalidtitle', 'title' ),
+                               array( 'notanarticle' ),
+                               array( 'nosuchpageid', 'pageid' ),
+                               array( 'invaliduser', 'user' ),
+                       )
+               );
        }
 
        public function needsToken() {
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 dd7e27d..b5b4d13 100644 (file)
@@ -430,6 +430,20 @@ abstract class ContentHandler {
         */
        abstract public function serializeContent( Content $content, $format = null );
 
+       /**
+        * Applies transformations on export (returns the blob unchanged per default).
+        * Subclasses may override this to perform transformations such as conversion
+        * of legacy formats or filtering of internal meta-data.
+        *
+        * @param string $blob The blob to be exported
+        * @param string|null $format The blob's serialization format
+        *
+        * @return string
+        */
+       public function exportTransform( $blob, $format = null ) {
+               return $blob;
+       }
+
        /**
         * Unserializes a Content object of the type supported by this ContentHandler.
         *
@@ -442,6 +456,21 @@ abstract class ContentHandler {
         */
        abstract public function unserializeContent( $blob, $format = null );
 
+       /**
+        * Apply import transformation (per default, returns $blob unchanged).
+        * This gives subclasses an opportunity to transform data blobs on import.
+        *
+        * @singe 1.24
+        *
+        * @param string $blob
+        * @param string|null $format
+        *
+        * @return string
+        */
+       public function importTransform( $blob, $format = null ) {
+               return $blob;
+       }
+
        /**
         * Creates an empty Content object of the type supported by this
         * ContentHandler.
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 0713a05..54fa594 100644 (file)
@@ -54,8 +54,8 @@ class HTMLCacheUpdate implements DeferrableUpdate {
                        )
                );
 
-               $count = $this->mTitle->getBacklinkCache()->getNumLinks( $this->mTable, 200 );
-               if ( $count >= 200 ) { // many backlinks
+               $count = $this->mTitle->getBacklinkCache()->getNumLinks( $this->mTable, 100 );
+               if ( $count >= 100 ) { // many backlinks
                        JobQueueGroup::singleton()->push( $job );
                        JobQueueGroup::singleton()->deduplicateRootJob( $job );
                } else { // few backlinks ($count might be off even if 0)
index 5895dda..1103e38 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 );
        }
 
        /**
@@ -2015,4 +2018,13 @@ abstract class File {
                        throw new MWException( "A Title object is not set for this File.\n" );
                }
        }
+
+       /**
+        * True if creating thumbnails from the file is large or otherwise resource-intensive.
+        * @return bool
+        */
+       public function isExpensiveToThumbnail() {
+               $handler = $this->getHandler();
+               return $handler ? $handler->isExpensiveToThumbnail( $this ) : false;
+       }
 }
index 4416aff..5e89ca4 100644 (file)
@@ -351,7 +351,7 @@ ${serverSetting}
 \$wgUpgradeKey = \"{$this->values['wgUpgradeKey']}\";
 
 ## Default skin: you can change the default skin. Use the internal symbolic
-## names, ie 'cologneblue', 'monobook', 'vector':
+## names, ie 'vector', 'monobook':
 \$wgDefaultSkin = \"{$this->values['wgDefaultSkin']}\";
 
 ## For attaching licensing metadata to pages, and displaying an
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 f774aea..e0b9c11 100644 (file)
@@ -9,7 +9,8 @@
                        "아라",
                        "Lucas2",
                        "Ontsed",
-                       "Seb35"
+                       "Seb35",
+                       "Nemo bis"
                ]
        },
        "config-desc": "Il programma di installazione per MediaWiki",
        "config-db-schema-help": "Questo schema in genere andrà bene.\nDa cambiare solamente se si è sicuri di averne bisogno.",
        "config-pg-test-error": "Impossibile connettersi al database '''$1''': $2",
        "config-sqlite-dir": "Directory data di SQLite:",
-       "config-sqlite-dir-help": "SQLite memorizza tutti i dati in un unico file.\n\nLa directory che indicherai deve essere scrivibile dal server web durante l'installazione.\n\nDovrebbe essere <strong>non accessibile via web</strong>, è per questo che non la stiamo mettendo dove ci sono i file PHP.\n\nL'installatore scriverà insieme ad essa un file <code>.htaccess</code>, ma se il tentativo fallisse qualcuno potrebbe avere accesso al database grezzo.\nQuesto include dati utente grezzi (indirizzi, password cifrate) così come revisioni eliminate e altri dati ad accesso limitato del wiki.\n\nConsidera l'opportunità di sistemare allo stesso tempo il database da qualche altra parte, per esempio in <code>/var/lib/mediawiki/tuowiki</code>.",
+       "config-sqlite-dir-help": "SQLite memorizza tutti i dati in un unico file.\n\nLa directory che indicherai deve essere scrivibile dal server web durante l'installazione.\n\nDovrebbe essere <strong>non accessibile via web</strong>, è per questo che non la stiamo mettendo dove ci sono i file PHP.\n\nL'installatore scriverà insieme ad essa un file <code>.htaccess</code>, ma se il tentativo fallisse qualcuno potrebbe avere accesso al database grezzo.\nQuesto include dati utente grezzi (indirizzi, password cifrate) così come versioni eliminate e altri dati ad accesso limitato del wiki.\n\nConsidera l'opportunità di sistemare allo stesso tempo il database da qualche altra parte, per esempio in <code>/var/lib/mediawiki/tuowiki</code>.",
        "config-oracle-def-ts": "Tablespace di default:",
        "config-oracle-temp-ts": "Tablespace temporaneo:",
        "config-type-mysql": "MySQL (o compatibile)",
index 2790f6c..6da4caf 100644 (file)
@@ -11,7 +11,8 @@
                        "Anaclaudiaml",
                        "Cybermandrake",
                        "Fabsouza1",
-                       "Rodrigo codignoli"
+                       "Rodrigo codignoli",
+                       "Tuliouel"
                ]
        },
        "config-desc": "O instalador do MediaWiki",
        "config-missing-db-name": "Você deve inserir um valor para \"{{int:config-db-name}}\".",
        "config-missing-db-host": "Você deve inserir um valor para \"{{int:config-db-host}}\".",
        "config-missing-db-server-oracle": "Você deve inserir um valor para \"{{int:config-db-host-oracle}}\".",
-       "config-connection-error": "$1\n\nVerifique o servidor hospedeiro, nome de usuário e senha e tente novamente.",
+       "config-connection-error": "$1\n\nVerifique o servidor, nome de usuário e senha e tente novamente.",
        "config-db-sys-user-exists-oracle": "A conta de usuário $1 já existe. SYSDBA somente pode ser utilizado na criação de uma nova conta!",
        "config-postgres-old": "PostgreSQL $1 ou posterior é necessário. Você tem $2.",
        "config-mssql-old": "Microsoft SQL Server $1 ou posterior é necessário.Você tem $2.",
        "config-install-done": "<strong>Parabéns!</strong>\nVocê concluiu a instalação do MediaWiki.\n\nO instalador gerou um arquivo <code>LocalSettings.php</code>.\nEste arquivo contém todas as suas configurações.\n\nVocê precisa fazer o download desse arquivo e colocá-lo na raiz da sua instalação (o mesmo diretório onde está o arquivo <code>index.php</code>). Este download deve ter sido iniciado automaticamente.\n\nSe o download não foi iniciado, ou se ele foi cancelado, pode recomeçá-lo clicando no link abaixo:\n\n$3\n\n<strong>Nota</strong>: Se não fizer isto agora, o arquivo que foi gerado não estará disponível depois que você sair do processo de instalação sem baixá-lo.\n\nQuando isso tiver sido feito, pode <strong>[$2 entrar na sua wiki]</strong>.",
        "config-download-localsettings": "Baixar <code>LocalSettings.php</code>",
        "config-help": "ajuda",
-       "config-nofile": "O arquivo \"$1\" não pode ser encontrado. Este arquivo foi apagado?",
+       "config-nofile": "O arquivo \"$1\" não foi encontrado. Ele foi apagado?",
        "config-extension-link": "Você sabia que sua wiki suporta [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions extensões]?\n\nVocê pode explorar as  [//www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category extensões por categoria] ou visitar a [//www.mediawiki.org/wiki/Extension_Matrix Matriz de Extensões] para ver a lista completa.",
        "mainpagetext": "<strong>O MediaWiki foi instalado com sucesso.</strong>",
        "mainpagedocfooter": "Consulte o [//meta.wikimedia.org/wiki/Help:Contents Manual de Usuário] para informações de como usar o software wiki.\n\n== Começando ==\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Lista de opções de configuração]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ FAQ do MediaWiki]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista de discussão com avisos de novas versões do MediaWiki]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Traduza o MediaWiki para seu idioma]"
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 ab8fa14..b9a8ab7 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
@@ -812,4 +812,13 @@ abstract class MediaHandler {
        public function getLength( $file ) {
                return 0.0;
        }
+
+       /**
+        * True if creating thumbnails from the file is large or otherwise resource-intensive.
+        * @param File $file
+        * @return bool
+        */
+       public function isExpensiveToThumbnail( $file ) {
+               return false;
+       }
 }
index 6964170..bea6cab 100644 (file)
@@ -27,6 +27,8 @@
  * @ingroup Media
  */
 class TiffHandler extends ExifBitmapHandler {
+       const EXPENSIVE_SIZE_LIMIT = 10485760; // TIFF files over 10M are considered expensive to thumbnail
+
        /**
         * Conversion to PNG for inline display can be disabled here...
         * Note scaling should work with ImageMagick, but may not with GD scaling.
@@ -97,4 +99,8 @@ class TiffHandler extends ExifBitmapHandler {
                        return '';
                }
        }
+
+       public function isExpensiveToThumbnail( $file ) {
+               return $file->getSize() > static::EXPENSIVE_SIZE_LIMIT;
+       }
 }
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 907047e..3d0655b 100644 (file)
@@ -431,17 +431,6 @@ class SearchEngine {
                return $formatted;
        }
 
-       /**
-        * Return the help namespaces to be shown on Special:Search
-        *
-        * @return array
-        */
-       public static function helpNamespaces() {
-               global $wgNamespacesToBeSearchedHelp;
-
-               return array_keys( $wgNamespacesToBeSearchedHelp, true );
-       }
-
        /**
         * Return a 'cleaned up' search string
         *
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 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 2713a5f..33bd87f 100644 (file)
@@ -30,7 +30,7 @@
 class SpecialSearch extends SpecialPage {
        /**
         * Current search profile. Search profile is just a name that identifies
-        * the active search tab on the search page (content, help, discussions...)
+        * the active search tab on the search page (content, discussions...)
         * For users tt replaces the set of enabled namespaces from the query
         * string when applicable. Extensions can add new profiles with hooks
         * with custom search options just for that profile.
@@ -975,14 +975,6 @@ class SpecialSearch extends SpecialPage {
                                'tooltip' => 'searchprofile-images-tooltip',
                                'namespaces' => array( NS_FILE ),
                        ),
-                       'help' => array(
-                               'message' => 'searchprofile-project',
-                               'tooltip' => 'searchprofile-project-tooltip',
-                               'namespaces' => SearchEngine::helpNamespaces(),
-                               'namespace-messages' => SearchEngine::namespacesAsText(
-                                       SearchEngine::helpNamespaces()
-                               ),
-                       ),
                        'all' => array(
                                'message' => 'searchprofile-everything',
                                'tooltip' => 'searchprofile-everything-tooltip',
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 50f5d7c..6290b74 100644 (file)
        "searchmenu-exists": "'''Bu vikidə \"[[:$1]]\" adında səhifə mövcuddur'''",
        "searchmenu-new": "<strong>Bu vikidə \"[[:$1]]\" səhifəsini yarat!</strong> {{PLURAL:$2|0=|Həmçinin, axtarışınız əsasında çıxan səhifəyə baxın.|Həmçinin, axtarışınız əsasında çıxan nəticələrə baxın.}}",
        "searchprofile-articles": "Məqalələr",
-       "searchprofile-project": "Kömək və Layihə səhifələri",
        "searchprofile-images": "Multimedia",
        "searchprofile-everything": "Hər şey",
        "searchprofile-advanced": "Ətraflı",
        "searchprofile-articles-tooltip": "Axtarış $1",
-       "searchprofile-project-tooltip": "Axtarış $1",
        "searchprofile-images-tooltip": "Fayllar üçün axtarış",
        "searchprofile-everything-tooltip": "Bütün daxili axtar (müzakirə səhifəsi daxil olmaqla)",
        "searchprofile-advanced-tooltip": "Ad aralığında axtar",
        "tooltip-preferences-save": "Nizamlamaları saxla",
        "tooltip-summary": "Qısa rezyume daxil edin",
        "common.css": "/* Burada yerləşən CSS bütün skinlərə tətbiq olunur */",
-       "cologneblue.css": "/* Burada yerləşən CSS Cologne Blue skin istifadəçilərinə tətbiq olunur */",
        "monobook.css": "/* Burada yerləşən CSS Monobook skin istifadəçilərinə tətbiq olunur */",
-       "modern.css": "/* Burada yerləşən CSS Modern skin istifadəçilərinə tətbiq olunur */",
        "vector.css": "/* Burada yerləşən CSS Vector istifadəçilərinə tətbiq olunur */",
        "group-autoconfirmed.css": "/* Burada yerləşən CSS yalnız avtotəsdiqlənmiş istifadəçilərə şamil olunur */",
        "group-bot.css": "/* Burada yerləşən CSS yalnız botlara şamil olunur */",
        "group-sysop.css": "/* Burada yerləşən CSS yalnız idarəçilərə şamil olunur */",
        "group-bureaucrat.css": "/* Burada yerləşən CSS yalnız bürokratlara şamil olunur */",
        "common.js": "/* Burada istifadəçilərin hamısı üçün bütün səhifələrdə istənilən JavaScript yüklənəcək */",
-       "cologneblue.js": "/* Burada Cologne Blue skin istifadəçiləri üçün istənilən JavaScript yüklənəcək */",
        "monobook.js": "/* Burada MonoBook skin istifadəçiləri üçün istənilən JavaScript yüklənəcək */",
-       "modern.js": "/* Burada Modern skin istifadəçiləri üçün istənilən JavaScript yüklənəcək */",
        "vector.js": "/* Burada Vector skin istifadəçiləri üçün istənilən JavaScript yüklənəcək */",
        "group-autoconfirmed.js": "/* Burada istənilən JavaScript yalnız avtotəsdiqlənmiş istifadəçilər üçün yüklənəcək */",
        "group-bot.js": "/* Burada istənilən JavaScript yalnız botlar üçün yüklənəcək */",
        "pageinfo-redirectsto": "İstiqamətləndirmə",
        "pageinfo-redirectsto-info": "məlumat",
        "pageinfo-contentpage-yes": "Bəli",
-       "skinname-cologneblue": "Cologne Blue",
        "skinname-monobook": "MonoBook",
-       "skinname-modern": "Modern",
        "skinname-vector": "Vector",
        "markaspatrolleddiff": "Yoxlanıldı",
        "markaspatrolledtext": "Səhifəni patrullanmış kimi işarələ",
index 3ad3ca9..bbe10e3 100644 (file)
        "searchmenu-exists": "'''Es gibt a Seiten, wo „[[:$1]]“ hoasst.'''",
        "searchmenu-new": "'''De Seitn „[[:$1]]“ in em Wiki eastejn.'''",
        "searchprofile-articles": "Inhoidsseitn",
-       "searchprofile-project": "Huif- und Projektseitn",
        "searchprofile-images": "Muitimedia",
        "searchprofile-everything": "Ollas",
        "searchprofile-advanced": "Daweitad",
        "searchprofile-articles-tooltip": "Suacha in $1",
-       "searchprofile-project-tooltip": "Suacha in $1",
        "searchprofile-images-tooltip": "Noch Datein suacha",
        "searchprofile-everything-tooltip": "In gsamtn Inhoid duachsuacha (inkl. Dischkriaseitn)",
        "searchprofile-advanced-tooltip": "Suach in weidna Namasramm",
index 60eca76..7b3e12e 100644 (file)
        "jumptonavigation": "nabigasyon",
        "jumptosearch": "hanapon",
        "view-pool-error": "Sori tabi, an mga server kargado sa oras na ini.\nGrabe kadakol an mga paragamit na pinagprubaran mahiling an pahinang ini.\nMakihalat tabi nin kadikit na panahon bago ka magprubara na makapaglaog sa pahinang ini.\n\n$1",
+       "generic-pool-error": "Sori tabi, an mga serbidor grabe kakargado sa oras na ini. Kadakulon na gayo an mga paragamit na minaprubar na hilngon ining kaggikanan. Tabi pakihalat kadikit bago ka magprubar otro na makapaglaog sa kaggikanang ini.",
        "pool-timeout": "Timeout naghahalat para makapanugpon",
        "pool-queuefull": "An grupong panproseso panoon",
        "pool-errorunknown": "Bakong bistadong sala",
        "edit-gone-missing": "Dae makakapagdagdag sa pahina.\nIni minapahiwatig tabi na pinagpura na.",
        "edit-conflict": "Igwang iregularidad sa pagliwat.",
        "edit-no-change": "An saimong pagliwat pinagbalewala, nin huli ta mayong pagbabago an pinaghimo sa teksto.",
+       "postedit-confirmation-created": "An pahina nakamukna na.",
+       "postedit-confirmation-restored": "An pahina naibalik na otro.",
        "postedit-confirmation-saved": "An saimong niliwat ipinagtagama na.",
        "edit-already-exists": "Dai maggibo an bàgong pahina.\nIgwa na kaini.",
        "defaultmessagetext": "Tugmadong mensahe sa teksto",
        "content-failed-to-parse": "Nagpalya sa paglunhay an $2 na laman para sa $1 na modelo: $3",
        "invalid-content-data": "Imbalidong datos nin laman",
        "content-not-allowed-here": "\"$1\" na laman dae pinagtutugutan sa pahina [[$2]]",
-       "editwarning-warning": "Sa pagbaya kaining pahina magkakausa saimo na mawara an anuman na mga kaliwatan na saimong ginibo. Kun ika maglaog, mapuwede mong untukon ining patanid sa \"Pagliliwat\" na seksyon kan saimong mga kamuyahan.",
+       "editwarning-warning": "Sa pagbaya kaining pahina magkakausa saimo na mawara an anuman na mga kaliwatan na saimong pinaghimo. Kun ika nakapaglaog na, ika puwedeng makapagpauntok kaining patanid sa \"{{int:prefs-editing}}\" na seksyon kan saimong mga kamuyahan.",
        "editpage-notsupportedcontentformat-title": "Kalamnan nin pormat bakong suportado",
        "editpage-notsupportedcontentformat-text": "An pormat nin kalamnan na $1 bakong suportado kan modelong kalamnan na $2.",
        "content-model-wikitext": "wiki-teksto",
        "searchmenu-exists": "'''Igwa nin sarong pahina na pinagngaranan na \"[[:$1]]\" sa wiking ini.'''",
        "searchmenu-new": "'''Muknaon an pahina \"[[:$1]]\" sa wiking ini!'''",
        "searchprofile-articles": "Mga pahina nin laog",
-       "searchprofile-project": "Mga pahina nin Tabang asin Proyekto",
        "searchprofile-images": "Multimidya",
        "searchprofile-everything": "Gabós na bagay",
        "searchprofile-advanced": "Adbansiyado",
        "searchprofile-articles-tooltip": "Hanapon sa $1",
-       "searchprofile-project-tooltip": "Maghanap sa $1",
        "searchprofile-images-tooltip": "Maghanap nin mga sagunson",
        "searchprofile-everything-tooltip": "Maghanap nin gabos na laog (kabali an mga pahina nin olay)",
        "searchprofile-advanced-tooltip": "Maghanap nin pankustombreng espasyong-ngaran",
        "rcnotefrom": "Sa ibaba iyo an mga kaliwatan poon kan '''$2''' (sagkod sa '''$1''' na ipinapahiling).",
        "rclistfrom": "Ipahiling an baguhon na mga kaliwatan magpoon kan $3 $2",
        "rcshowhideminor": "$1 saradit na mga pagliwat",
+       "rcshowhideminor-show": "Ipatanaw",
+       "rcshowhideminor-hide": "Tagoa",
        "rcshowhidebots": "$1 mga gantaw",
+       "rcshowhidebots-show": "Ipatanaw",
+       "rcshowhidebots-hide": "Tagoa",
        "rcshowhideliu": "$1 rehistradong mga paragamit",
+       "rcshowhideliu-show": "Ipatanaw",
+       "rcshowhideliu-hide": "Tagoa",
        "rcshowhideanons": "$1 mga dae bistong paragamit",
+       "rcshowhideanons-show": "Ipatanaw",
+       "rcshowhideanons-hide": "Tagoa",
        "rcshowhidepatr": "$1 patrolyadong mga pagliwat",
+       "rcshowhidepatr-show": "Ipatanaw",
+       "rcshowhidepatr-hide": "Tagoa",
        "rcshowhidemine": "$1 sakong mga pagliliwat",
+       "rcshowhidemine-show": "Ipatanaw",
+       "rcshowhidemine-hide": "Tagoa",
        "rclinks": "Ipahilíng an $1 huring mga kaliwatan sa laog nin huring $2 na mga aldaw<br />$3",
        "diff": "kalaenan",
        "hist": "sagaysay",
        "pageinfo-category-pages": "Bilang nin mga pahina",
        "pageinfo-category-subcats": "Bilang nin mga sub-kategorya",
        "pageinfo-category-files": "Bilang nin mga sagunson",
-       "skinname-modern": "Bago",
        "markaspatrolleddiff": "Markahan bilang pigpapatrolya",
        "markaspatrolledtext": "Markahan iníng pahina na pigpapatrolya",
        "markedaspatrolled": "Minarkahan na pigpapatrolya",
index 59a667f..f515637 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»",
-       "category-empty": "''Гэтая катэгорыя ня ўтрымлівае ні старонак, ні файлаў.''",
+       "category-empty": "<em>Гэтая катэгорыя ня ўтрымлівае ні старонак, ні файлаў.</em>",
        "hidden-categories": "{{PLURAL:$1|1=Схаваная катэгорыя|Схаваныя катэгорыі}}",
        "hidden-category-category": "Схаваныя катэгорыі",
        "category-subcat-count": "{{PLURAL:$2|1=Гэтая катэгорыя зьмяшчае наступную падкатэгорыю.|Гэтая катэгорыя зьмяшчае {{PLURAL:$1|наступную $1 падкатэгорыю|наступныя $1 падкатэгорыі|наступныя $1 падкатэгорыяў}} з $2 агулам.}}",
        "searchmenu-exists": "* Старонка '''[[$1]]'''",
        "searchmenu-new": "<strong>Стварыць старонку «[[:$1]]» у {{GRAMMAR:месны|{{SITENAME}}}}!</strong> {{PLURAL:$2|0=|Глядзіце таксама старонку, знойдзеную ў выніку пошуку.|Глядзіце таксама вынікі пошуку.}}",
        "searchprofile-articles": "Старонкі са зьместам",
-       "searchprofile-project": "Старонкі дапамогі і праекту",
        "searchprofile-images": "Мультымэдыя",
        "searchprofile-everything": "Усё",
        "searchprofile-advanced": "Пашыраны",
        "searchprofile-articles-tooltip": "Пошук у $1",
-       "searchprofile-project-tooltip": "Пошук у $1",
        "searchprofile-images-tooltip": "Пошук файлаў",
        "searchprofile-everything-tooltip": "Шукаць усюды (уключна са старонкамі абмеркаваньня)",
        "searchprofile-advanced-tooltip": "Шукаць у дадатковых прасторах назваў",
        "pageinfo-category-pages": "Колькасьць старонак",
        "pageinfo-category-subcats": "Колькасьць падкатэгорыяў",
        "pageinfo-category-files": "Колькасьць файлаў",
-       "skinname-cologneblue": "Кёльнскі смутак",
        "skinname-monobook": "Монакніга",
-       "skinname-modern": "Сучаснае",
        "skinname-vector": "Вэктар",
        "markaspatrolleddiff": "Пазначыць як «патруляваную»",
        "markaspatrolledtext": "Пазначыць гэтую старонку як «патруляваную»",
        "watchlistedit-raw-done": "Ваш сьпіс назіраньня быў абноўлены.",
        "watchlistedit-raw-added": "$1 {{PLURAL:$1|запіс быў дададзены|запісы былі дададзеныя|запісаў былі дададзеныя}}:",
        "watchlistedit-raw-removed": "$1 {{PLURAL:$1|запіс быў выдалены|запісы былі выдаленыя|запісаў былі выдаленыя}}:",
+       "watchlistedit-clear-title": "Чыстка сьпісу назіраньня",
+       "watchlistedit-clear-legend": "Ачысьціць сьпіс назіраньня",
+       "watchlistedit-clear-explain": "Усе старонкі будуць выдаленыя з вашага сьпісу назіраньня",
+       "watchlistedit-clear-titles": "Старонкі:",
+       "watchlistedit-clear-submit": "Ачысьціць сьпіс назіраньня (гэта незваротна!)",
        "watchlisttools-view": "Паказаць зьмены ў старонках зь сьпісу",
        "watchlisttools-edit": "Праглядзець альбо рэдагаваць сьпіс назіраньня",
        "watchlisttools-raw": "Рэдагаваць як тэкст",
index 3cfc599..6b26651 100644 (file)
@@ -20,7 +20,8 @@
                        "Чаховіч Уладзіслаў",
                        "לערי ריינהארט",
                        "아라",
-                       "Unomano"
+                       "Unomano",
+                       "Mikalai Udodau"
                ]
        },
        "tog-underline": "Падкрэсліваць спасылкі:",
        "searchmenu-exists": "'''На вікі ёсць старонка \"[[:$1]]\"'''",
        "searchmenu-new": "'''Стварыць на гэтай вікі старонку \"[[:$1]]\"'''",
        "searchprofile-articles": "Артыкулы",
-       "searchprofile-project": "Старонкі даведкі і праекта",
        "searchprofile-images": "Мультымедыя",
        "searchprofile-everything": "Усё",
        "searchprofile-advanced": "Складана",
        "searchprofile-articles-tooltip": "Шукаць у $1",
-       "searchprofile-project-tooltip": "Шукаць у $1",
        "searchprofile-images-tooltip": "Шукаць файлы",
        "searchprofile-everything-tooltip": "Шукаць паўсюль (таксама ў размовах)",
        "searchprofile-advanced-tooltip": "Шукаць у дадатковых прасторах назваў",
        "watchlist-details": "Назіраю {{PLURAL:$1|$1 старонку|$1 старонак}} без уліку размоўных.",
        "wlheader-enotif": "Працуе апавяшчанне праз эл.пошту.",
        "wlheader-showupdated": "Старонкі, якія былі зменены пасля вашага апошняга іх наведвання, паказаны '''абрысам шрыфту'''.",
+       "wlnote2": "Ніжэй паказаны змены за апошнія {{PLURAL:$1|гадзіну|<strong>$1</strong> гадзіны}}, па стане на $2, $3.",
        "wlshowlast": "Паказваць апошнія $1 гадз. $2 дзён $3",
        "watchlist-options": "Магчымасці назірання",
        "watching": "Дапісваецца ў спіс назірання...",
        "pageinfo-lasttime": "Дата апошняй праўкі",
        "pageinfo-edits": "Агульная колькасць правак",
        "pageinfo-authors": "Агульная колькасць розных аўтараў",
-       "skinname-cologneblue": "Сіні Кёльн",
        "skinname-monobook": "Манабук",
-       "skinname-modern": "Сучаснасць",
        "markaspatrolleddiff": "Пазначыць як ухваленае",
        "markaspatrolledtext": "Пазначыць старонку як ухваленую",
        "markedaspatrolled": "Пазначана як ухваленае",
        "watchlistedit-raw-done": "Спіс назірання абноўлены.",
        "watchlistedit-raw-added": "Дапісаны{{PLURAL:$1| 1 складнік|я $1 складнікаў}}:",
        "watchlistedit-raw-removed": "Выняты{{PLURAL:$1| 1 складнік|я $1 складнікаў}}:",
+       "watchlistedit-clear-done": "Ваш спіс назірання ачышчаны.",
+       "watchlisttools-clear": "Ачысціць спіс назірання",
        "watchlisttools-view": "Паказаць змяненні",
        "watchlisttools-edit": "Паказаць спіс назірання",
        "watchlisttools-raw": "Паказаць нефарматаваны спіс назірання",
index 8985e7b..e5b4d77 100644 (file)
        "searchmenu-exists": "'''এই উইকিতে \"[[:$1]]\" নামে একটি পাতা রয়েছে'''",
        "searchmenu-new": "<strong>\"[[:$1]]\" পাতাটি এই উইকিতে তৈরি করুন!</strong> {{PLURAL:$2|0=|এছাড়া আপনার অনুসন্ধানের সাথে পাওয়া পাতা দেখুন।|এছাড়া অনুসন্ধানে পাওয়া ফলাফলগুলি দেখুন।}}",
        "searchprofile-articles": "বিষয়বস্তুর পাতা",
-       "searchprofile-project": "সহায়িকা এবং প্রকল্প পাতা",
        "searchprofile-images": "মাল্টিমিডিয়া",
        "searchprofile-everything": "সমস্তকিছু",
        "searchprofile-advanced": "উচ্চতর",
        "searchprofile-articles-tooltip": "$1 এ অনুসন্ধান",
-       "searchprofile-project-tooltip": "$1 এ অনুসন্ধান",
        "searchprofile-images-tooltip": "ফাইলের জন্য অনুসন্ধান",
        "searchprofile-everything-tooltip": "সকল বিষয়বস্তু অনুসন্ধান করো (আলাপের পাতা সহ)",
        "searchprofile-advanced-tooltip": "স্বনির্ধারিত নামস্থানে অনুসন্ধান করো",
        "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": "নিচের পুনর্নির্দেশনাগুলো অস্তিত্বহীন পাতাকে নির্দেশ করছে:",
        "imagetypemismatch": "নতুন ফাইল এক্সটেনশনটি ফাইলের ধরনের সাথে মিলছে না",
        "imageinvalidfilename": "ফাইল নামটি সঠিক নয়",
        "fix-double-redirects": "মূল শিরনামকে নির্দেশ করে এমন সকল রিডাইরেক্ট আপডেট করুন",
-       "move-leave-redirect": "রিডাà¦\87রà§\87à¦\95à§\8dà¦\9f à¦\89পà§\87à¦\95à§\8dষা à¦\95রà§\81ন",
+       "move-leave-redirect": "পà§\81নরà§\8dনিরà§\8dদà§\87শ à¦°à§\87à¦\96à§\87 à¦¦à¦¿ন",
        "protectedpagemovewarning": "'''সতর্কীকরণ:''' এই পাতাটি বন্ধ করা হয়েছে; কেবলমাত্র প্রশাসক মর্যাদার ব্যবহারকারীরাই এটি স্থানান্তর করতে পারবেন।\nআপনার সুবিধার্থে পাতাটির সাম্প্রতিক সংরক্ষণ লগের বিবরণ নিচে দেওয়া হলো।",
        "semiprotectedpagemovewarning": "'''নোট:''' এই পাতাটির ব্যবহার নিয়ন্ত্রণ করা হয়েছে তাই নিবন্ধনকৃত ব্যবহারকারী এটি স্থানান্তর করতে পারবেন।\nআপনার সুবিধার্থে পাতাটির সাম্প্রতিক সংরক্ষণ লগের বিবরণ নিচে দেওয়া হলো:",
        "move-over-sharedrepo": "== এই নামের ফাইল রয়েছে ==\n[[:$1]] নামের ফাইলটি শেয়ার্ড রিপোজিটরীতে রয়েছে। একই নামের একটি ফাইল এখানে স্থানান্তর করা হলে পূর্বের ফাইলটি প্রতিস্থাপিত হবে।",
        "pageinfo-category-pages": "পাতার সংখ্যা",
        "pageinfo-category-subcats": "উপবিষয়শ্রেণীর সংখ্যা",
        "pageinfo-category-files": "ফাইলের সংখ্যা",
-       "skinname-cologneblue": "কলোন ব্লু",
        "skinname-monobook": "মনোবুক",
-       "skinname-modern": "মডার্ন",
        "skinname-vector": "ভেক্টর",
        "markaspatrolleddiff": "পরীক্ষিত বলে চিহ্নিত করুন",
        "markaspatrolledtext": "এই নিবন্ধটিকে পরীক্ষিত বলে চিহ্নিত করুন",
        "watchlistedit-clear-legend": "নজরতালিকা পরিস্কার",
        "watchlistedit-clear-explain": "সকল শিরোনামসমূহ আপনার নজরতালিকা থেকে সরিয়ে নেয়া হয়েছে।",
        "watchlistedit-clear-titles": "শিরোনামসমূহ:",
+       "watchlistedit-clear-submit": "নজরতালিকা পরিষ্কার করুন (এটি স্থায়ী!)",
        "watchlistedit-clear-done": "আপনার নজরতালিকা পরিষ্কার করা হয়েছে।",
        "watchlistedit-clear-removed": "{{PLURAL:$1|১টি শিরোনাম|$1টি শিরোনাম}} সরিয়ে ফেলা হয়েছে:",
        "watchlistedit-too-many": "এখানে প্রদর্শনের জন্য অনেক পাতা রয়েছে।",
index 2f288d7..34952fb 100644 (file)
        "searchmenu-exists": "'''ХӀокху вики чохь йолуш ю ишта агӀо «[[:$1]]»'''",
        "searchmenu-new": "'''Кхолла ишта агӀо «[[:$1]]» хӀокху {{PLURAL:$2|0=|вики-проектехь.}}'''",
        "searchprofile-articles": "Къаьстина агlонаш",
-       "searchprofile-project": "ГӀона а проектан а агӀонаш",
        "searchprofile-images": "Мультимедиа",
        "searchprofile-everything": "Массанхьа",
        "searchprofile-advanced": "Шуьйра",
        "searchprofile-articles-tooltip": "Лаха оцу $1",
-       "searchprofile-project-tooltip": "Лаха оцу $1",
        "searchprofile-images-tooltip": "Файлаш лахар",
        "searchprofile-everything-tooltip": "Лаха массо агlонашкахь (дийцаре агlонашцани)",
        "searchprofile-advanced-tooltip": "Лаха дехарца хlокху ана цlерашкахь",
        "ntransclusions": "лелош ю $1 {{PLURAL:$1|агӀонгахь|агӀонашкахь}}",
        "specialpage-empty": "Дехаро хӀумма ца елла.",
        "lonelypages": "Байлахь йисина агIонаш",
-       "lonelypagestext": "Ð\9aÑ\85Ñ\83заÑ\85Ñ\8c Ñ\8e {{grammar:genitive|{{SITENAME}}}} ÐºÑ\85еÑ\87Ñ\83 Ð°Ð³Ó\80онаÑ\88каÑ\85Ñ\8c Ñ\82Ó\80е Ñ\85Ñ\8cажийна Ñ\85Ñ\8cажоÑ\80агаÑ\88 Ð¹Ð¾Ñ\86Ñ\83 Ð°Ð³Ó\80онаÑ\88.",
+       "lonelypagestext": "Кхузахь ю {{grammar:genitive|{{SITENAME}}}} кхечу агӀонашкахь тӀе хьажийна хьажоргаш йоцу агӀонаш.",
        "uncategorizedpages": "Категореш йоцу агIонаш",
        "uncategorizedcategories": "Категореш йоцу категореш",
        "uncategorizedimages": "Категореш йоцу файлаш",
        "ipaddressorusername": "IP-адрес я декъашхочун цӀе:",
        "ipbexpiry": "Хан чекхйолу:",
        "ipbreason": "Бахьна:",
-       "ipbreason-dropdown": "* Ð\91елÑ\85ан Ð½ÐµÐºÑ\8a Ð´Ó\80акÑ\8aовлаÑ\80 Ð±Ð°Ñ\85Ñ\8cанаÑ\88:\n** Ð¥Ð°Ñ\80Ñ\86а Ñ\85аам Ð±Ð°Ñ\80\n** Ð\90гÓ\80онан Ñ\87Ñ\83Ñ\80аниг Ð´Ó\80аÑ\8fккÑ\85аÑ\80\n** Ð¡Ð¿Ð°Ð¼-Ñ\85Ñ\8cажоÑ\80агаÑ\88 Ð°Ñ\80аÑ\85Ñ\8cаÑ\80а Ñ\81айÑ\82аÑ\88на\n** Ð\9cаÑ\8cÓ\80на Ð´Ð¾Ñ\86Ñ\83 Ñ\82екÑ\81Ñ\82 Ñ\82Ó\80еÑ\82оÑ\85аÑ\80\n** Ð\94екÑ\8aаÑ\88Ñ\85ой Ñ\85Ñ\8cийзабаÑ\80, ÐºÑ\85еÑ\80амаÑ\88 Ñ\82иÑ\81Ñ\81аÑ\80\n** Ð\9cаÑ\81ийÑ\82Ñ\82а Ð»Ð°Ñ\80аман Ñ\8fздаÑ\80 Ð·Ñ\83ламан Ð»ÐµÐ»Ð°Ñ\8fÑ\80\n** Ð\9cагитина йоцу декъашхочун цӀе",
+       "ipbreason-dropdown": "* Ð\91елÑ\85ан Ð½ÐµÐºÑ\8a Ð´Ó\80акÑ\8aовлаÑ\80 Ð±Ð°Ñ\85Ñ\8cанаÑ\88:\n** Ð¥Ð°Ñ\80Ñ\86а Ñ\85аам Ð±Ð°Ñ\80\n** Ð\90гÓ\80онан Ñ\87Ñ\83Ñ\80аниг Ð´Ó\80аÑ\8fккÑ\85аÑ\80\n** Ð¡Ð¿Ð°Ð¼-Ñ\85Ñ\8cажоÑ\80гаÑ\88 Ð°Ñ\80аÑ\85Ñ\8cаÑ\80а Ñ\81айÑ\82аÑ\88на\n** Ð\9cаÑ\8cÓ\80на Ð´Ð¾Ñ\86Ñ\83 Ñ\82екÑ\81Ñ\82 Ñ\82Ó\80еÑ\82оÑ\85аÑ\80\n** Ð\94екÑ\8aаÑ\88Ñ\85ой Ñ\85Ñ\8cийзабаÑ\80, ÐºÑ\85еÑ\80амаÑ\88 Ñ\82ийÑ\81аÑ\80\n** Ð\9cаÑ\81ийÑ\82Ñ\82а Ð»Ð°Ñ\80аман Ñ\8fздаÑ\80 Ð·Ñ\83ламан Ð»ÐµÐ»Ð°Ñ\8fÑ\80\n** Ð\9cагийтина йоцу декъашхочун цӀе",
        "ipb-hardblock": "Шаш довзийтина болу декъашхошна бехкам бе хӀокху IP-адресца тадарш дан",
        "ipbcreateaccount": "Цамаго керла декъашхочун дӀаяздарш кхолла",
        "ipbemailban": "Цамагдо декъашхошка хааман кехаташ кхехьийта",
        "ip_range_invalid": "IP-адресийн магийна йоцу диапазон.",
        "move-page": "$1 — цӀе хийцар",
        "move-page-legend": "ЦӀe хийца яр",
-       "movepagetext": "Ð\91Ñ\83Ñ\85аÑ\85Ñ\8c Ð¹Ð¾Ð»Ñ\83 Ñ\84оÑ\80манÑ\86а Ð°Ð³Ó\80он Ñ\86Ó\80е Ñ\85ийÑ\86ало. Ð¦Ñ\83л Ñ\81овнаÑ\85 Ñ\86Ñ\83Ñ\8cна Ñ\85ийÑ\86аман Ð¶Ñ\83Ñ\80нал ÐºÑ\85оÑ\8cÑ\87Ñ\83 Ð¼ÐµÑ\82Ñ\82е Ð´Ð¾ÐºÐºÑ\85а. Ð¥Ñ\8cалÑ\85алеÑ\80а Ñ\86Ó\80аÑ\80аÑ\85Ñ\8c Ñ\85иÑ\80Ñ\8aÑ\8e ÐºÐµÑ\80ла ÐºÑ\85оÑ\8cллина Ð°Ð³Ó\80онан Ñ\85Ñ\8cажоÑ\80аг.\n\nÐ¥Ñ\8cовÑ\81алаÑ\88 [[Special:DoubleRedirects|Ñ\88алÑ\85а]] Ð° [[Special:BrokenRedirects|йоÑ\85на Ñ\85Ñ\8cажоÑ\80агаÑ\88]] Ñ\8eй Ñ\82еÑ\85Ñ\8c Ð°Ñ\8cлла.\n\nШÑ\83 Ð¶Ð¾Ñ\8cпеÑ\85Ñ\8c Ð´Ñ\83 Ñ\85Ñ\8cажоÑ\80агаш нийса некъ гойтуш хиларан.\n\nТидам бе хьалхалера агӀон цӀе ‘’’хийцалур яц’’’ иштта цӀе йолу агӀо йолуш елахь. Юкъардаккхар: йолуш йолу агӀо кхоьчухьа хьажораг елахь, я еса елахь а, цуьна хьийцаме истори яцахь а.\n\nИ бохург ду шун агӀонан цӀе юха а хьалха хилларгчунтӀе хийца йиш ю, амма йолуш йолу агӀо дӀаяккха йиш яц.\n\n'''ДӀАХЬЕДАР!'''\n\nЦӀе хийцар бахьнехь гӀаръяьлла агӀонашна дукха дагахь боцу хийцамаш хила тарло. Цундела цӀе хийцале шеш хила тарлучу тӀехьонашах кхета аьлла тешна хила.",
-       "movepagetext-noredirectfixer": "Ð\91Ñ\83Ñ\85аÑ\85Ñ\8c Ð¹Ð¾Ð»Ñ\83 Ñ\84оÑ\80манÑ\86а Ð°Ð³Ó\80он Ñ\86Ó\80е Ñ\85ийÑ\86ало. Ð¦Ñ\83л Ñ\81овнаÑ\85 Ñ\86Ñ\83Ñ\8cна Ñ\85ийÑ\86аман Ð¶Ñ\83Ñ\80нал ÐºÑ\85оÑ\8cÑ\87Ñ\83 Ð¼ÐµÑ\82Ñ\82е Ð´Ð¾ÐºÐºÑ\85а. Ð¥Ñ\8cалÑ\85алеÑ\80а Ñ\86Ó\80аÑ\80аÑ\85Ñ\8c Ñ\85иÑ\80Ñ\8aÑ\8e ÐºÐµÑ\80ла ÐºÑ\85оÑ\8cллина Ð°Ð³Ó\80онан Ñ\85Ñ\8cажоÑ\80аг.\n\nÐ¥Ñ\8cовÑ\81алаÑ\88 [[Special:DoubleRedirects|Ñ\88алÑ\85а]] Ð° [[Special:BrokenRedirects|йоÑ\85на Ñ\85Ñ\8cажоÑ\80агаÑ\88]] Ñ\8eй Ñ\82еÑ\85Ñ\8c Ð°Ñ\8cлла.\n\nШÑ\83 Ð¶Ð¾Ñ\8cпеÑ\85Ñ\8c Ð´Ñ\83 Ñ\85Ñ\8cажоÑ\80агаÑ\88 Ð½Ð¸Ð¹Ñ\81а Ð½ÐµÐºÑ\8a Ð³Ð¾Ð¹Ñ\82Ñ\83Ñ\88 Ñ\85илаÑ\80ан.\n\nТидам Ð±Ðµ Ñ\85Ñ\8cалÑ\85алеÑ\80а Ð°Ð³Ó\80он Ñ\86Ó\80е â\80\98â\80\99â\80\99Ñ\85ийÑ\86алÑ\83Ñ\80 Ñ\8fÑ\86â\80\99â\80\99â\80\99 Ð¸Ñ\88Ñ\82Ñ\82а Ñ\86Ó\80е Ð¹Ð¾Ð»Ñ\83 Ð°Ð³Ó\80о Ð¹Ð¾Ð»Ñ\83Ñ\88 ÐµÐ»Ð°Ñ\85Ñ\8c. Ð®ÐºÑ\8aаÑ\80даккÑ\85аÑ\80: Ð¹Ð¾Ð»Ñ\83Ñ\88 Ð¹Ð¾Ð»Ñ\83 Ð°Ð³Ó\80о ÐºÑ\85оÑ\8cÑ\87Ñ\83Ñ\85Ñ\8cа Ñ\85Ñ\8cажоÑ\80аг ÐµÐ»Ð°Ñ\85Ñ\8c, Ñ\8f ÐµÑ\81а ÐµÐ»Ð°Ñ\85Ñ\8c Ð°, Ñ\86Ñ\83Ñ\8cна Ñ\85Ñ\8cийÑ\86аме Ð¸Ñ\81Ñ\82оÑ\80и Ñ\8fÑ\86аÑ\85Ñ\8c Ð°.\n\nÐ\98 Ð±Ð¾Ñ\85Ñ\83Ñ\80г Ð´Ñ\83 Ñ\88Ñ\83н Ð°Ð³Ó\80онан Ñ\86Ó\80е Ñ\8eÑ\85а Ð° Ñ\85Ñ\8cалÑ\85а Ñ\85иллаÑ\80гÑ\87Ñ\83нÑ\82Ó\80е Ñ\85ийÑ\86а Ð¹Ð¸Ñ\88 Ñ\8e, Ð°Ð¼Ð¼Ð° Ð¹Ð¾Ð»Ñ\83Ñ\88 Ð¹Ð¾Ð»Ñ\83 Ð°Ð³Ó\80о Ð´Ó\80аÑ\8fккÑ\85а Ð¹Ð¸Ñ\88 Ñ\8fÑ\86.\n\n'''Ð\94Ó\80Ð\90ХЬÐ\95Ð\94Ð\90Р!'''\n\nЦÓ\80е Ñ\85ийÑ\86аÑ\80 Ð±Ð°Ñ\85Ñ\8cнеÑ\85Ñ\8c Ð³Ó\80аÑ\80Ñ\8aÑ\8fлла агӀонашна дукха дагахь боцу хийцамаш хила тарло. Цундела цӀе хийцале шеш хила тарлучу тӀехьонашах кхета аьлла тешна хила.",
+       "movepagetext": "Ð\91Ñ\83Ñ\85аÑ\85Ñ\8c Ð¹Ð¾Ð»Ñ\83 Ñ\84оÑ\80манÑ\86а Ð°Ð³Ó\80он Ñ\86Ó\80е Ñ\85ийÑ\86ало. Ð¦Ñ\83л Ñ\81овнаÑ\85 Ñ\86Ñ\83Ñ\8cна Ñ\85ийÑ\86аман Ð¶Ñ\83Ñ\80нал ÐºÑ\85оÑ\8cÑ\87Ñ\83 Ð¼ÐµÑ\82Ñ\82е Ð´Ð¾ÐºÐºÑ\85а. Ð¥Ñ\8cалÑ\85алеÑ\80а Ñ\86Ó\80аÑ\80аÑ\85Ñ\8c Ñ\85иÑ\80Ñ\8aÑ\8e ÐºÐµÑ\80ла ÐºÑ\85оÑ\8cллина Ð°Ð³Ó\80онан Ñ\85Ñ\8cажоÑ\80аг.\n\nÐ¥Ñ\8cовÑ\81алаÑ\88 [[Special:DoubleRedirects|Ñ\88алÑ\85а]] Ð° [[Special:BrokenRedirects|йоÑ\85на Ñ\85Ñ\8cажоÑ\80гаÑ\88]] Ñ\8eй Ñ\82еÑ\85Ñ\8c Ð°Ñ\8cлла.\n\nШÑ\83 Ð¶Ð¾Ñ\8cпеÑ\85Ñ\8c Ð´Ñ\83 Ñ\85Ñ\8cажоÑ\80гаш нийса некъ гойтуш хиларан.\n\nТидам бе хьалхалера агӀон цӀе ‘’’хийцалур яц’’’ иштта цӀе йолу агӀо йолуш елахь. Юкъардаккхар: йолуш йолу агӀо кхоьчухьа хьажораг елахь, я еса елахь а, цуьна хьийцаме истори яцахь а.\n\nИ бохург ду шун агӀонан цӀе юха а хьалха хилларгчунтӀе хийца йиш ю, амма йолуш йолу агӀо дӀаяккха йиш яц.\n\n'''ДӀАХЬЕДАР!'''\n\nЦӀе хийцар бахьнехь гӀаръяьлла агӀонашна дукха дагахь боцу хийцамаш хила тарло. Цундела цӀе хийцале шеш хила тарлучу тӀехьонашах кхета аьлла тешна хила.",
+       "movepagetext-noredirectfixer": "Ð\91Ñ\83Ñ\85аÑ\85Ñ\8c Ð¹Ð¾Ð»Ñ\83 Ñ\84оÑ\80манÑ\86а Ð°Ð³Ó\80он Ñ\86Ó\80е Ñ\85ийÑ\86ало. Ð¦Ñ\83л Ñ\81овнаÑ\85 Ñ\86Ñ\83Ñ\8cна Ñ\85ийÑ\86аман Ð¶Ñ\83Ñ\80нал ÐºÑ\85оÑ\8cÑ\87Ñ\83 Ð¼ÐµÑ\82Ñ\82е Ð´Ð¾ÐºÐºÑ\85а. Ð¥Ñ\8cалÑ\85алеÑ\80а Ñ\86Ó\80аÑ\80аÑ\85Ñ\8c Ñ\85иÑ\80Ñ\8aÑ\8e ÐºÐµÑ\80ла ÐºÑ\85оÑ\8cллина Ð°Ð³Ó\80онан Ñ\85Ñ\8cажоÑ\80аг.\n\nÐ¥Ñ\8cовÑ\81алаÑ\88 [[Special:DoubleRedirects|Ñ\88алÑ\85а]] Ð° [[Special:BrokenRedirects|йоÑ\85на Ñ\85Ñ\8cажоÑ\80гаÑ\88]] Ñ\8eй Ñ\82еÑ\85Ñ\8c Ð°Ñ\8cлла.\n\nШÑ\83 Ð¶Ð¾Ñ\8cпеÑ\85Ñ\8c Ð´Ñ\83 Ñ\85Ñ\8cажоÑ\80гаÑ\88 Ð½Ð¸Ð¹Ñ\81а Ð½ÐµÐºÑ\8a Ð³Ð¾Ð¹Ñ\82Ñ\83Ñ\88 Ñ\85илаÑ\80ан.\n\nТидам Ð±Ðµ Ñ\85Ñ\8cалÑ\85алеÑ\80а Ð°Ð³Ó\80он Ñ\86Ó\80е â\80\98â\80\99â\80\99Ñ\85ийÑ\86алÑ\83Ñ\80 Ñ\8fÑ\86â\80\99â\80\99â\80\99 Ð¸Ñ\88Ñ\82Ñ\82а Ñ\86Ó\80е Ð¹Ð¾Ð»Ñ\83 Ð°Ð³Ó\80о Ð¹Ð¾Ð»Ñ\83Ñ\88 ÐµÐ»Ð°Ñ\85Ñ\8c. Ð®ÐºÑ\8aаÑ\80даккÑ\85аÑ\80: Ð¹Ð¾Ð»Ñ\83Ñ\88 Ð¹Ð¾Ð»Ñ\83 Ð°Ð³Ó\80о ÐºÑ\85оÑ\8cÑ\87Ñ\83Ñ\85Ñ\8cа Ñ\85Ñ\8cажоÑ\80аг ÐµÐ»Ð°Ñ\85Ñ\8c, Ñ\8f ÐµÑ\81а ÐµÐ»Ð°Ñ\85Ñ\8c Ð°, Ñ\86Ñ\83Ñ\8cна Ñ\85Ñ\8cийÑ\86аме Ð¸Ñ\81Ñ\82оÑ\80и Ñ\8fÑ\86аÑ\85Ñ\8c Ð°.\n\nÐ\98 Ð±Ð¾Ñ\85Ñ\83Ñ\80г Ð´Ñ\83 Ñ\88Ñ\83н Ð°Ð³Ó\80онан Ñ\86Ó\80е Ñ\8eÑ\85а Ð° Ñ\85Ñ\8cалÑ\85а Ñ\85иллаÑ\80гÑ\87Ñ\83нÑ\82Ó\80е Ñ\85ийÑ\86а Ð¹Ð¸Ñ\88 Ñ\8e, Ð°Ð¼Ð¼Ð° Ð¹Ð¾Ð»Ñ\83Ñ\88 Ð¹Ð¾Ð»Ñ\83 Ð°Ð³Ó\80о Ð´Ó\80аÑ\8fккÑ\85а Ð¹Ð¸Ñ\88 Ñ\8fÑ\86.\n\n'''Ð\94Ó\80Ð\90ХЬÐ\95Ð\94Ð\90Р!'''\n\nЦÓ\80е Ñ\85ийÑ\86аÑ\80 Ð±Ð°Ñ\85Ñ\8cнеÑ\85Ñ\8c Ð³Ó\80аÑ\80Ñ\8aÑ\8fÑ\8cлла агӀонашна дукха дагахь боцу хийцамаш хила тарло. Цундела цӀе хийцале шеш хила тарлучу тӀехьонашах кхета аьлла тешна хила.",
        "movepagetalktext": "ТӀе хӀоьттина йолу дийцаре агӀо ишта цӀе хийцина хира ю, '''цхьа йолу ханчохь, маца:'''\n\n*Йаьсса йоцу дийцаре агӀо йолуш ю оцу цӀарца йа\n*Ахьа къастаман харжам цабиняхь а къастам хӀотточехь.\n\nИшта чу ханчохь, ахьа дехьа яккха йезар ю йа куьйга хӀоттайар, нагахь иза хьашт йалахь.",
        "movearticle": "Цle хийца хlокху агlон",
        "moveuserpage-warning": "'''Тергам бе.''' Хьо декъашхочун агӀона цӀе хийца гӀерта. Дехар до, тергам бе, декъашхочун агӀона цӀе бен хийца лур яц, декъашхочун дӀаяздаран цӀе хийца лур яц.",
        "pageinfo-category-pages": "АгӀонийн дукхалла",
        "pageinfo-category-subcats": "Бухара категорийн дукхалла",
        "pageinfo-category-files": "Файлийн дукхалла",
-       "skinname-cologneblue": "Кёльнин сингаттам",
-       "skinname-modern": "Кхузаманан",
        "skinname-vector": "Векторни",
        "markaspatrolleddiff": "Билгалйе теллина санна",
        "markaspatrolledtext": "Билгала йе хӀара агӀо хьаьжна сана",
        "watchlistedit-raw-submit": "МогӀам Ӏалашбар",
        "watchlistedit-raw-added": "{{PLURAL:$1|ТӀетоьхна}} $1 {{PLURAL:$1|дӀаяздар|дӀаяздарш}}:",
        "watchlistedit-raw-removed": "{{PLURAL:$1|ДӀаяьккхина|ДӀаяьхна}} $1 {{PLURAL:$1|дӀаяздар|дӀаяздарш}}:",
+       "watchlistedit-clear-titles": "Корта:",
+       "watchlistedit-clear-removed": "{{PLURAL:$1|ДӀаяьккхина|ДӀаяьхна}} $1 {{PLURAL:$1|дӀаяздар|дӀаяздарш}}:",
        "watchlisttools-view": "МогӀам чура агӀонашан хийцамаш",
        "watchlisttools-edit": "Хьажа/нисбé могlам",
        "watchlisttools-raw": "Йоза санна нисдé",
index c2e6374..5e2b77e 100644 (file)
        "searchmenu-exists": "'''پەڕەیەک بە ناوی «[[:$1]]» لەم ویکییەدا ھەیە.'''",
        "searchmenu-new": "<strong>لەم ویکییەدا پەڕەی « [[:$1]] » دروست بکە!</strong> {{PLURAL:$2|0=|ھەروەھا بڕوانە پەڕەی دۆزراوەی گەڕانەکەت.|ھەروەھا بڕوانە ئاکامە دۆزراوەکانی گەڕانەکە.}}",
        "searchprofile-articles": "پەڕە بە ناوەڕۆکەکان",
-       "searchprofile-project": "پەڕەکانی یارمەتی و پرۆژە",
        "searchprofile-images": "ڕەنگاڵە",
        "searchprofile-everything": "ھەموو شتێک",
        "searchprofile-advanced": "پێشکەوتوو",
        "searchprofile-articles-tooltip": "بگەڕێ لە $1",
-       "searchprofile-project-tooltip": "بگەڕێ لە $1",
        "searchprofile-images-tooltip": "بگەڕێ بۆ پەڕگەکان",
        "searchprofile-everything-tooltip": "لە ھەموو ناوەرۆکێکدا بگەڕێ (تەنانەت پەڕەکانی وتووێژیش)",
        "searchprofile-advanced-tooltip": "گەڕان لەناو بۆشایی‌ناوە دڵخوازەکان",
        "pageinfo-category-pages": "ژمارەی پەڕەکان",
        "pageinfo-category-subcats": "ژمارەی ژێرپەڕەکان",
        "pageinfo-category-files": "ژمارەی پەڕگەکان",
-       "skinname-cologneblue": "شینی کۆلۆن",
        "skinname-monobook": "مۆنۆ",
-       "skinname-modern": "مۆدێڕن",
        "skinname-vector": "ڤێکتۆر",
        "markaspatrolleddiff": "وەک پاس دراو نیشان بکە",
        "markaspatrolledtext": "ئەم پەڕەیە وەک پاس دراو نیشان بکە",
index f3eb3bc..5f27285 100644 (file)
        "searchmenu-exists": "'''Бу викиде \"[[:$1]]\" адлы бир саифе бар'''",
        "searchmenu-new": "'''Бу викиде \"[[:$1]]\" саифесини ярат!'''",
        "searchprofile-articles": "Малюмат саифелери",
-       "searchprofile-project": "Ярдым ве лейха саифелери",
        "searchprofile-images": "Мультимедиа",
        "searchprofile-everything": "Эр шей",
        "searchprofile-advanced": "Тафсилятлы",
        "searchprofile-articles-tooltip": "$1 ичинде къыдыр",
-       "searchprofile-project-tooltip": "$1 ичинде къыдыр",
        "searchprofile-images-tooltip": "Файлларны къыдыр",
        "searchprofile-everything-tooltip": "Бутюн саифелерде (музакере саифелеринде де) къыдыр",
        "searchprofile-advanced-tooltip": "Бельгиленген исим фезаларында къыдыр",
        "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": "Джедвельге чекмеге башланыладжакъ арифлер:",
        "spambot_username": "Спамдан темизлев",
        "spam_reverting": "$1 сайтына багълантысы олмагъан сонъки версиягъа кери кетирюв",
        "spam_blanking": "Бар олгъан версияларда $1 сайтына багълантылар бар, темизлев",
-       "skinname-cologneblue": "Кёльн асретлиги",
        "skinname-monobook": "MonoBook",
        "patrol-log-page": "Тешкерюв журналы",
        "log-show-hide-patrol": "Тешкерюв журналыны $1",
index 1bc4ccf..b27cb20 100644 (file)
        "searchmenu-exists": "'''Bu vikide \"[[:$1]]\" adlı bir saife bar'''",
        "searchmenu-new": "'''Bu vikide \"[[:$1]]\" saifesini yarat!'''",
        "searchprofile-articles": "Malümat saifeleri",
-       "searchprofile-project": "Yardım ve leyha saifeleri",
        "searchprofile-images": "Multimedia",
        "searchprofile-everything": "Er şey",
        "searchprofile-advanced": "Tafsilâtlı",
        "searchprofile-articles-tooltip": "$1 içinde qıdır",
-       "searchprofile-project-tooltip": "$1 içinde qıdır",
        "searchprofile-images-tooltip": "Fayllarnı qıdır",
        "searchprofile-everything-tooltip": "Bütün saifelerde (muzakere saifelerinde de) qıdır",
        "searchprofile-advanced-tooltip": "Belgilengen isim fezalarında qıdır",
        "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:",
        "spambot_username": "Spamdan temizlev",
        "spam_reverting": "$1 saytına bağlantısı olmağan soñki versiyağa keri ketirüv",
        "spam_blanking": "Bar olğan versiyalarda $1 saytına bağlantılar bar, temizlev",
-       "skinname-cologneblue": "Köln asretligi",
        "skinname-monobook": "MonoBook",
        "patrol-log-page": "Teşkerüv jurnalı",
        "log-show-hide-patrol": "Teşkerüv jurnalını $1",
index dd4be26..cb3d5a9 100644 (file)
        "searchmenu-exists": "'''Na této wiki existuje stránka nazvaná „[[:$1]]“.'''",
        "searchmenu-new": "<strong>Vytvořte na této wiki stránku „[[:$1]]“!</strong> {{PLURAL:$2|0=|Prohlédněte si také stránku nalezenou vaším hledáním.|Prohlédněte si také stránky nalezené vaším hledáním.}}",
        "searchprofile-articles": "Články",
-       "searchprofile-project": "Nápověda a projektové stránky",
        "searchprofile-images": "Multimédia",
        "searchprofile-everything": "Všechno",
        "searchprofile-advanced": "Rozšířené",
        "searchprofile-articles-tooltip": "Prohledávat: $1",
-       "searchprofile-project-tooltip": "Prohledávat: $1",
        "searchprofile-images-tooltip": "Hledat obrázky a další soubory",
        "searchprofile-everything-tooltip": "Prohledávat veškerý obsah (včetně diskusních stránek)",
        "searchprofile-advanced-tooltip": "Nastavit jmenné prostory, ve kterých se má hledat",
        "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",
        "tooltip-summary": "Zadejte stručné shrnutí",
        "interlanguage-link-title": "$1 – $2",
        "common.css": "/* Zde uvedené CSS bude ovlivňovat všechny styly */",
-       "cologneblue.css": "/* Zde uvedené CSS bude ovlivňovat pouze styl „Kolínská modř“  */",
        "monobook.css": "/* Zde uvedené CSS bude ovlivňovat pouze styl „Monobook“ */",
-       "modern.css": "/* Zde uvedené CSS bude ovlivňovat pouze styl „Moderní“ */",
        "vector.css": "/* Zde uvedené CSS bude ovlivňovat pouze styl „Vektor“ */",
        "print.css": "/* Zde uvedené CSS bude ovlivňovat tiskový výstup */",
        "noscript.css": "/* Zde uvedené CSS bude ovlivňovat uživatele s vypnutým JavaScriptem */",
        "group-sysop.css": "/* Zde uvedené CSS bude ovlivňovat pouze správce */",
        "group-bureaucrat.css": "/* Zde uvedené CSS bude ovlivňovat pouze byrokraty */",
        "common.js": "/* Zde uvedený JavaScript bude použit pro všechny uživatele při načtení každé stránky. */",
-       "cologneblue.js": "/* JavaScript pro uživatele používající vzhled „Kolínská modř“  */",
        "monobook.js": "/* JavaScript pro uživatele používající vzhled MonoBook */",
-       "modern.js": "/* JavaScript pro uživatele používající vzhled „Moderní“ */",
        "vector.js": "/* JavaScript pro uživatele používající vzhled „Vektor“ */",
        "group-autoconfirmed.js": "/* Zde uvedený JavaScript bude použit pouze pro automaticky schválené uživatele */",
        "group-user.js": "/* Zde uvedený JavaScript bude použit pouze pro registrované uživatele */",
        "pageinfo-category-pages": "Počet stránek",
        "pageinfo-category-subcats": "Počet podkategorií",
        "pageinfo-category-files": "Počet souborů",
-       "skinname-cologneblue": "Kolínská modř",
-       "skinname-modern": "Moderní",
        "skinname-vector": "Vektor",
        "markaspatrolleddiff": "Označit jako prověřené",
        "markaspatrolledtext": "Označit tuto stránku jako prověřenou",
        "sqlite-no-fts": "$1 bez podpory plnotextového vyhledávání",
        "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ů}} stránky $3: $4",
+       "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í}} stránky $3: $4",
-       "logentry-delete-event-legacy": "$1 {{GENDER:$2|změnil|změnila}} viditelnost protokolovacích záznamů stránky $3",
-       "logentry-delete-revision-legacy": "$1 {{GENDER:$2|změnil|změnila}} viditelnost revizí na stránky $3",
+       "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í 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ů}} stránky $3: $4",
+       "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í}} stránky $3: $4",
-       "logentry-suppress-event-legacy": "$1 utajeně {{GENDER:$2|změnil|změnila}} viditelnost protokolovacích záznamů stránky $3",
+       "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í stránky $3",
        "revdelete-content-hid": "skryt obsah",
        "revdelete-summary-hid": "skryto shrnutí editace",
index 21c09f9..7a6b218 100644 (file)
        "searcharticle": "Seite",
        "history": "Versionen",
        "history_short": "Versionsgeschichte",
-       "updatedmarker": "geändert seit deinem letzten Besuch",
+       "updatedmarker": "Änderung seit deinem letzten Besuch",
        "printableversion": "Druckversion",
        "permalink": "Permanenter Link",
        "print": "Drucken",
        "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",
        "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.\nBitte stelle sicher, dass du Cookies aktiviert hast, lade diese Seite erneut und versuche es nochmal.",
+       "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": "<strong>Du bist jetzt als „$1“ bei {{SITENAME}} angemeldet.</strong>",
        "searchmenu-exists": "'''Es gibt eine Seite, die den Namen „[[:$1]]“ hat.'''",
        "searchmenu-new": "<strong>Erstelle die Seite „[[:$1]]“ in diesem Wiki.</strong> {{PLURAL:$2|0=|Siehe auch die über deine Suche gefundene Seite.|Siehe auch die gefundenen Suchergebnisse.}}",
        "searchprofile-articles": "Inhaltsseiten",
-       "searchprofile-project": "Hilfe- und Projektseiten",
        "searchprofile-images": "Multimedia",
        "searchprofile-everything": "Alles",
        "searchprofile-advanced": "Erweitert",
        "searchprofile-articles-tooltip": "Suchen in $1",
-       "searchprofile-project-tooltip": "Suchen in $1",
        "searchprofile-images-tooltip": "Nach Dateien suchen",
        "searchprofile-everything-tooltip": "Gesamten Inhalt durchsuchen (inklusive Diskussionsseiten)",
        "searchprofile-advanced-tooltip": "Suche in weiteren Namensräumen",
        "tooltip-summary": "Gib eine kurze Zusammenfassung ein.",
        "interlanguage-link-title": "$1 – $2",
        "common.css": "/* Das folgende CSS wird für alle Benutzeroberflächen geladen. */",
-       "cologneblue.css": "/* Das folgende CSS wird für Benutzer der Kölnisch-Blau-Benutzeroberfläche geladen. Für allgemeingültige Benutzeroberflächen-Anpassungen bitte [[MediaWiki:Common.css]] bearbeiten. */",
        "monobook.css": "/* Das folgende CSS wird für Benutzer der MonoBook-Benutzeroberfläche geladen */",
-       "modern.css": "/* Das folgende CSS wird für Benutzer der Modern-Benutzeroberfläche geladen. Für allgemeingültige Benutzeroberflächen-Anpassungen bitte MediaWiki:Common.css bearbeiten. */",
        "vector.css": "/* Das folgende CSS wird für Benutzer der Vector-Benutzeroberfläche geladen. Für allgemeingültige Benutzeroberflächen-Anpassungen bitte [[MediaWiki:Common.css]] bearbeiten. */",
        "print.css": "/* Das folgende CSS wird in der Druckausgabe geladen. */",
        "noscript.css": "/* Das folgende CSS wirkt sich für Benutzer aus, die JavaScript deaktiviert haben */",
        "group-sysop.css": "/* CSS an dieser Stelle wirkt sich nur auf Administratoren aus */",
        "group-bureaucrat.css": "/* Das folgende CSS wird nur für Bürokraten geladen. */",
        "common.js": "/* Das folgende JavaScript wird für alle Benutzer geladen. */",
-       "cologneblue.js": "/* Das folgende JavaScript wird für Benutzer der Kölnisch-Blau-Benutzeroberfläche geladen. Allgemeingültiges JavaScript bitte in [[MediaWiki:Common.js]] eintragen. */",
        "monobook.js": "/* Das folgende JavaScript wird für Benutzer der Monobook-Benutzeroberfläche geladen. */",
-       "modern.js": "/* Das folgende JavaScript wird für Benutzer der Modern-Benutzeroberfläche geladen. Allgemeingültiges JavaScript bitte in [[MediaWiki:Common.js]] eintragen. */",
        "vector.js": "/* Das folgende JavaScript wird für Benutzer der Vector-Benutzeroberfläche geladen. Allgemeingültiges JavaScript bitte in [[MediaWiki:Common.js]] eintragen. */",
        "group-autoconfirmed.js": "/* Das folgende JavaScript wird nur für automatisch bestätigte Benutzer geladen. */",
        "group-user.js": "/* Das folgende JavaScript wird nur für angemeldete Benutzer geladen. */",
        "pageinfo-category-pages": "Anzahl der Seiten",
        "pageinfo-category-subcats": "Anzahl der Unterkategorien",
        "pageinfo-category-files": "Anzahl der Dateien",
-       "skinname-cologneblue": "Kölnisch Blau",
        "skinname-monobook": "MonoBook",
-       "skinname-modern": "Modern",
        "skinname-vector": "Vector",
        "markaspatrolleddiff": "Als kontrolliert markieren",
        "markaspatrolledtext": "Diese Seite als kontrolliert markieren",
index 21e3fec..80ee57c 100644 (file)
        "searchmenu-exists": "''Ena 'Wikipediya de ser \"[[:$1]]\" yew pel esto'''",
        "searchmenu-new": "<strong>Na wiki de pela \"[[:$1]]\" vıraze!</strong> {{PLURAL:$2|0=|Sewbina pela ke şıma geyrayê cı aye bıvênê.|Yew zi neticanê cıgeyrayışê xo bıvênê.}}",
        "searchprofile-articles": "Pelê tedeestey",
-       "searchprofile-project": "Pelê peşti û procey",
        "searchprofile-images": "Multimedya",
        "searchprofile-everything": "Heme çi",
        "searchprofile-advanced": "Raverşiyaye",
        "searchprofile-articles-tooltip": "$1 de cı geyré",
-       "searchprofile-project-tooltip": "$1 de bigêre",
        "searchprofile-images-tooltip": "Dosya cı geyr",
        "searchprofile-everything-tooltip": "Tedeestey hemine cı geyre (pelanê mınaqeşey zi tey)",
        "searchprofile-advanced-tooltip": "qe cayê nimeyî bigêre",
        "pageinfo-category-pages": "Amarê pelan",
        "pageinfo-category-subcats": "Amarê bınkategoriyan",
        "pageinfo-category-files": "Amarê dosyeyan",
-       "skinname-cologneblue": "Cologne Blue",
        "skinname-monobook": "MonoBook",
-       "skinname-modern": "Modern",
        "skinname-vector": "Vektor",
        "markaspatrolleddiff": "Nişan bıke ke dewriya biyo",
        "markaspatrolledtext": "Ena pele nişan bike ke devriye biyo",
        "exif-gpslongituderef": "meridyenê rocvetış û rocawavi",
        "exif-gpslongitude": "Lemen",
        "exif-gpsaltituderef": "çımeyê berziyi",
-       "exif-gpsaltitude": "berzî",
+       "exif-gpsaltitude": "Berziye",
        "exif-gpstimestamp": "Wextê GPSyi (se'eta atomiki)",
        "exif-gpssatellites": "Qandê peymıtışi antenê ke vıstê kar",
        "exif-gpsstatus": "cayê gırewtoxi",
index 13a520d..938621b 100644 (file)
        "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:",
        "searchmenu-exists": "'''Int al sît a gh'é 'na pàgina cun al nòm [[:$1]].'''\n{{PLURAL:$2|0=|Guêrda ânca chiêter ch'în stê catê.}}",
        "searchmenu-new": "<strong>Şvilópa la pàgina \"[[:$1]]\" insém a cól sît ché!</strong> {{PLURAL:$2|0=|Guêrda ânch la pàgina che t'é serchê|Guêrda ânch i rişultêt catê}}.",
        "searchprofile-articles": "Pàgini 'd j argumèint",
-       "searchprofile-project": "Pàgini 'd ajót e relatîvi al prugèt.",
        "searchprofile-images": "Multimèdia",
        "searchprofile-everything": "Tót",
        "searchprofile-advanced": "Specêla",
        "searchprofile-articles-tooltip": "Sèirca in $1",
-       "searchprofile-project-tooltip": "Sèirca in $1",
        "searchprofile-images-tooltip": "Sèirca 'file'",
        "searchprofile-everything-tooltip": "Sērca dapertót (ânch int al pàgini 'd discusuòun).",
        "searchprofile-advanced-tooltip": "Sērca int i spâsi di nòm fât só mzûra.",
index 27a08c4..85e1bdc 100644 (file)
        "searchmenu-new": "<strong>Create the page \"[[:$1]]\" on this wiki!</strong> {{PLURAL:$2|0=|See also the page found with your search.|See also the search results found.}}",
        "searchmenu-new-nocreate": "",
        "searchprofile-articles": "Content pages",
-       "searchprofile-project": "Help and Project pages",
        "searchprofile-images": "Multimedia",
        "searchprofile-everything": "Everything",
        "searchprofile-advanced": "Advanced",
        "searchprofile-articles-tooltip": "Search in $1",
-       "searchprofile-project-tooltip": "Search in $1",
        "searchprofile-images-tooltip": "Search for files",
        "searchprofile-everything-tooltip": "Search all of content (including talk pages)",
        "searchprofile-advanced-tooltip": "Search in custom namespaces",
        "interlanguage-link-title": "$1 – $2",
        "interlanguage-link-title-langonly": "$1",
        "common.css": "/* CSS placed here will be applied to all skins */",
-       "cologneblue.css": "/* CSS placed here will affect users of the Cologne Blue skin */",
        "monobook.css": "/* CSS placed here will affect users of the MonoBook skin */",
-       "modern.css": "/* CSS placed here will affect users of the Modern skin */",
        "vector.css": "/* CSS placed here will affect users of the Vector skin */",
        "print.css": "/* CSS placed here will affect the print output */",
        "noscript.css": "/* CSS placed here will affect users with JavaScript disabled */",
        "group-sysop.css": "/* CSS placed here will affect sysops only */",
        "group-bureaucrat.css": "/* CSS placed here will affect bureaucrats only */",
        "common.js": "/* Any JavaScript here will be loaded for all users on every page load. */",
-       "cologneblue.js": "/* Any JavaScript here will be loaded for users using the Cologne Blue skin */",
        "monobook.js": "/* Any JavaScript here will be loaded for users using the MonoBook skin */",
-       "modern.js": "/* Any JavaScript here will be loaded for users using the Modern skin */",
        "vector.js": "/* Any JavaScript here will be loaded for users using the Vector skin */",
        "group-autoconfirmed.js": "/* Any JavaScript here will be loaded for autoconfirmed users only */",
        "group-user.js": "/* Any JavaScript here will be loaded for registered users only */",
        "pageinfo-category-pages": "Number of pages",
        "pageinfo-category-subcats": "Number of subcategories",
        "pageinfo-category-files": "Number of files",
-       "skinname-cologneblue": "Cologne Blue",
        "skinname-monobook": "MonoBook",
-       "skinname-modern": "Modern",
        "skinname-vector": "Vector",
        "markaspatrolleddiff": "Mark as patrolled",
        "markaspatrolledlink": "[$1]",
index 5587f82..780cbfa 100644 (file)
        "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": "Ya iniciaste sesión",
+       "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.",
        "searchmenu-exists": "'''Hay una página llamada «[[:$1]]» en este wiki.'''",
        "searchmenu-new": "<strong>Crear la página «[[:$1]]» en este wiki.</strong> {{PLURAL:$2|0=|Véase también la página encontrada con la búsqueda.|Véanse también los resultados de la búsqueda.}}",
        "searchprofile-articles": "Páginas de contenido",
-       "searchprofile-project": "Páginas de ayuda y de proyecto",
        "searchprofile-images": "Multimedia",
        "searchprofile-everything": "Todo",
        "searchprofile-advanced": "Avanzado",
        "searchprofile-articles-tooltip": "Buscar en $1",
-       "searchprofile-project-tooltip": "Buscar en $1",
        "searchprofile-images-tooltip": "Buscar archivos",
        "searchprofile-everything-tooltip": "Buscar en todo el contenido (incluyendo páginas de discusión)",
        "searchprofile-advanced-tooltip": "Buscar en espacios de nombres personalizados",
        "tooltip-summary": "Introduce un breve resumen",
        "interlanguage-link-title": "$1 ($2)",
        "common.css": "/* El CSS colocado en esta página será aplicado a todas las apariencias */",
-       "cologneblue.css": "/* El CSS colocado en esta página afectará a los usuarios que usen la apariencia Cologne Blue */",
        "monobook.css": "/* El CSS colocado en esta página afectará a los usuarios que usen la apariencia \"MonoBook\" */",
-       "modern.css": "/* El CSS colocado en esta página afectará a los usuarios que usen la apariencia Moderna */",
        "vector.css": "/* El CSS colocado en esta página afectará a los usuarios que usen la apariencia \"Vector\" */",
        "print.css": "/* Los estilos CSS colocados aquí afectarán la impresión */",
        "noscript.css": "/* Los estilos CSS colocados aquí se aplicarán a los usuarios que hayan desactivado el JavaScript en su navegador */",
        "group-sysop.css": "/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios del grupo Administradores */",
        "group-bureaucrat.css": "/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios del grupo Burócratas */",
        "common.js": "/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios en cada carga de página */",
-       "cologneblue.js": "/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la piel Colonia azul */",
        "monobook.js": "/* El código JavaScript que se ponga aquí será cargado por los usuarios de la apariencia MonoBook */",
-       "modern.js": "/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la apariencia Moderna */",
        "vector.js": "/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la apariencia Vector */",
        "group-autoconfirmed.js": "/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios del grupo Usuarios autoconfirmados */",
        "group-bot.js": "/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios del grupo Bots */",
        "pageinfo-category-pages": "Número de páginas",
        "pageinfo-category-subcats": "Número de subcategorías",
        "pageinfo-category-files": "Número de archivos",
-       "skinname-cologneblue": "Colonia azul",
        "skinname-monobook": "MonoBook",
-       "skinname-modern": "Moderna",
        "skinname-vector": "Vector",
        "markaspatrolleddiff": "Marcar como revisado",
        "markaspatrolledtext": "Marcar este artículo como revisado",
index 49f5033..d311c95 100644 (file)
        "searchmenu-exists": "'''Lehekülg pealkirjaga \"[[:$1]]\" on olemas.'''",
        "searchmenu-new": "<strong>Loo lehekülg pealkirjaga \"[[:$1]]\".</strong> {{PLURAL:$2|0=|Vaata ka leitud lehekülge.|Vaata ka leitud otsitulemusi.}}",
        "searchprofile-articles": "Sisuleheküljed",
-       "searchprofile-project": "Abi- ja projektilehed",
        "searchprofile-images": "Multimeedia",
        "searchprofile-everything": "Kõik",
        "searchprofile-advanced": "Täpsem otsing",
        "searchprofile-articles-tooltip": "Otsi nimeruumist $1",
-       "searchprofile-project-tooltip": "Otsi nimeruumidest $1",
        "searchprofile-images-tooltip": "Failiotsing",
        "searchprofile-everything-tooltip": "Otsi kogu sisust (k.a aruteluleheküljed)",
        "searchprofile-advanced-tooltip": "Otsi kohandatud nimeruumidest",
        "pageinfo-category-pages": "Lehekülgede arv",
        "pageinfo-category-subcats": "Alamkategooriate arv",
        "pageinfo-category-files": "Failide arv",
-       "skinname-cologneblue": "Kölni sinine",
        "skinname-monobook": "MonoBook",
-       "skinname-modern": "Uudne",
        "skinname-vector": "Vektor",
        "markaspatrolleddiff": "Märgi kontrollituks",
        "markaspatrolledtext": "Märgi see leht kontrollituks",
index 11eb6ab..d4b7d19 100644 (file)
        "revdelete-hide-user": "Egilearen erabiltzaile izena/IPa ezkutatu",
        "revdelete-hide-restricted": "Mugapen hauek administratzaileei zein besteei aplikatu",
        "revdelete-radio-same": "(ez aldatu)",
-       "revdelete-radio-set": "Izkutua",
+       "revdelete-radio-set": "Ezkutua",
        "revdelete-radio-unset": "Ikusgarria",
        "revdelete-suppress": "Administratzaileen eta bestelakoen datuak kendu",
        "revdelete-unsuppress": "Berrezarritako aldaketen mugak kendu",
        "searchmenu-exists": "'''«[[:$1]]» izena duen orri bat bada wiki honetan.''' {{PLURAL:$2|0=|Ikus, gainera, aurkitutako beste bilaketa emaitzak.}}",
        "searchmenu-new": "'''Sortu «[[:$1]]» orria wiki honetan!''' {{PLURAL:$2|0=|Ikus, gainera, zure bilaketarekin aurkitutako orria.|Ikus, gainera, bilaketaren emaitzak.}}",
        "searchprofile-articles": "Eduki-orriak",
-       "searchprofile-project": "Laguntza eta Proiektu-orriak",
        "searchprofile-images": "Multimedia",
        "searchprofile-everything": "Guztia",
        "searchprofile-advanced": "Aurreratua",
        "searchprofile-articles-tooltip": "$1(e)n bilatu",
-       "searchprofile-project-tooltip": "$1(e)n bilatu",
        "searchprofile-images-tooltip": "Fitxategiak bilatu",
        "searchprofile-everything-tooltip": "Bilatu eduki guztian (lankide orrialdeak barne)",
        "searchprofile-advanced-tooltip": "Lankideen izen zehatzetan bilatu",
        "pageinfo-category-pages": "Orrialde kopurua",
        "pageinfo-category-subcats": "Azpikategorien zenbakia",
        "pageinfo-category-files": "Fitxategi kopurua",
-       "skinname-cologneblue": "Cologne Blue",
-       "skinname-modern": "Modernoa",
        "markaspatrolleddiff": "Patruilatutzat markatu",
        "markaspatrolledtext": "Artikulu hau patruilatutzat markatu",
        "markedaspatrolled": "Patruilatutzat markatu da",
index a65c9cf..a206e08 100644 (file)
        "searchmenu-exists": "'''صفحه‌ای با عنوان «[[:$1]]» در این ویکی وجود دارد.'''",
        "searchmenu-new": "<strong>ایجاد صفحهٔ «[[:$1]]» در این ویکی!</strong> {{PLURAL:$2|0=|همچنین مشاهدهٔ صفحهٔ پیدا شده با جستجوی شما.|همچنین مشاهدهٔ جستجوی نتایج پیدا شده.}}",
        "searchprofile-articles": "صفحه‌های محتوایی",
-       "searchprofile-project": "صفحه‌های راهنما و پروژه",
        "searchprofile-images": "چندرسانه‌ای",
        "searchprofile-everything": "همه‌چیز",
        "searchprofile-advanced": "پیشرفته",
        "searchprofile-articles-tooltip": "جستجو در $1",
-       "searchprofile-project-tooltip": "جستجو در $1",
        "searchprofile-images-tooltip": "جستجو برای پرونده‌ها",
        "searchprofile-everything-tooltip": "جستجوی تمام محتوا (شامل صفحه‌های بحث)",
        "searchprofile-advanced-tooltip": "جستجو در فضاهای نام دلخواه",
        "pageinfo-category-pages": "تعداد صفحه‌ها",
        "pageinfo-category-subcats": "تعداد زیررده‌ها",
        "pageinfo-category-files": "تعداد پرونده‌ها",
-       "skinname-cologneblue": "آبی کلن",
        "skinname-monobook": "مونوبوک",
-       "skinname-modern": "مدرن",
        "skinname-vector": "برداری",
        "markaspatrolleddiff": "برچسب گشت بزن",
        "markaspatrolledtext": "به این صفحه برچسب گشت بزن",
index 38437a7..69f021f 100644 (file)
        "searchmenu-exists": "'''Tässä wikissä on sivu nimellä [[:$1]].'''",
        "searchmenu-new": "<strong>Luo sivu \"[[:$1]]\" tähän wikiin.</strong> {{PLURAL:$2|0=|Katso myös sivua, joka löytyi hakutoiminnolla.\n|Katso myös hakutuloksia.}}",
        "searchprofile-articles": "Sisältösivut",
-       "searchprofile-project": "Ohje- ja projektisivut",
        "searchprofile-images": "Kuvat ja tiedostot",
        "searchprofile-everything": "Kaikki",
        "searchprofile-advanced": "Laajennettu",
        "searchprofile-articles-tooltip": "Hae nimiavaruuksista $1",
-       "searchprofile-project-tooltip": "Hae nimiavaruuksista $1",
        "searchprofile-images-tooltip": "Etsi tiedostoja",
        "searchprofile-everything-tooltip": "Etsi kaikkialta (myös keskustelusivut)",
        "searchprofile-advanced-tooltip": "Etsi määritellyistä nimiavaruuksista",
        "tooltip-summary": "Kirjoita lyhyt yhteenveto",
        "interlanguage-link-title": "$1 — $2",
        "common.css": "/* Tämä sivu sisältää koko sivustoa muuttavia tyylejä. */",
-       "cologneblue.css": "/* Tämä sivu sisältää Kölnin sininen -ulkoasua muuttavia tyylejä. */",
        "monobook.css": "/* Tämä sivu sisältää Monobook-ulkoasua muuttavia tyylejä. */",
-       "modern.css": "/* Tämä sivu sisältää Moderni-ulkoasua muuttavia tyylejä. */",
        "vector.css": "/* Tämä sivu sisältää Vector-ulkoasua muuttavia tyylejä. */",
        "print.css": "/* Tämä sivu sisältää tulostettua sivua muuttavia tyylejä */",
        "noscript.css": "/* Tämä sivun tyylit muuttavat niiden käyttäjien tyylejä, joilla JavaScript ei ole käytössä */",
        "group-sysop.css": "/* Tämä sivun tyylit muuttavat ylläpitäjien tyylejä */",
        "group-bureaucrat.css": "/* Tämä sivun tyylit muuttavat byrokraattien tyylejä */",
        "common.js": "/* Tämän sivun JavaScript-koodi liitetään jokaiseen sivulataukseen */",
-       "cologneblue.js": "/* Tämän sivun JavaScript-koodi liitetään Kölnin sininen -tyyliin */",
        "monobook.js": "/* Tämän sivun JavaScript-koodi liitetään Monobook-tyyliin */",
-       "modern.js": "/* Tämän sivun JavaScript-koodi liitetään Moderni-tyyliin */",
        "vector.js": "/* Tämän sivun JavaScript-koodi liitetään Vector-tyyliin */",
        "group-autoconfirmed.js": "/* Tämän sivun JavaScript-koodi liitetään vain automaattisesti hyväksytyille käyttäjille */",
        "group-bot.js": "/* Tämän sivun JavaScript-koodi liitetään vain boteille */",
        "pageinfo-category-pages": "Sivujen määrä",
        "pageinfo-category-subcats": "Alaluokkien määrä",
        "pageinfo-category-files": "Tiedostojen määrä",
-       "skinname-cologneblue": "Kölnin sininen",
        "skinname-monobook": "Monobook",
-       "skinname-modern": "Moderni",
        "markaspatrolleddiff": "Merkitse tarkastetuksi",
        "markaspatrolledtext": "Merkitse muutos tarkastetuksi",
        "markedaspatrolled": "Muutos on tarkastettu",
index d889f26..8d195e5 100644 (file)
        "searchmenu-exists": "'''Il existe une page nommée « [[:$1]] » sur ce wiki.''' {{PLURAL:$2|0=|Voyez également les autres résultats de votre recherche.}}",
        "searchmenu-new": "<strong>Créer la page « [[:$1|$1]] » sur ce wiki !</strong> {{PLURAL:$2|0=|Voyez également la page trouvée avec votre recherche.|Voyez également les résultats de votre recherche.}}",
        "searchprofile-articles": "Pages de contenu",
-       "searchprofile-project": "Pages d'aide et de projet",
        "searchprofile-images": "Multimédia",
        "searchprofile-everything": "Tout",
        "searchprofile-advanced": "Recherche avancée",
        "searchprofile-articles-tooltip": "Rechercher dans $1",
-       "searchprofile-project-tooltip": "Rechercher dans $1",
        "searchprofile-images-tooltip": "Rechercher des fichiers multimédias",
        "searchprofile-everything-tooltip": "Rechercher dans tout le site (y compris dans les pages de discussion)",
        "searchprofile-advanced-tooltip": "Choisir les espaces de noms pour la recherche",
        "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.",
        "tooltip-summary": "Entrez un bref résumé",
        "interlanguage-link-title": "$1 — $2",
        "common.css": "/* Le CSS placé ici sera appliqué à tous les habillages. */",
-       "cologneblue.css": "/* Le CSS placé ici affectera les utilisateurs de l’habillage Cologne Blue. */",
        "monobook.css": "/* Le CSS placé ici affectera les utilisateurs de l’habillage Monobook. */",
-       "modern.css": "/* Le CSS placé ici affectera les utilisateurs de l’habillage Modern. */",
        "vector.css": "/* Le CSS placé ici affectera les utilisateurs de l’habillage Vector. */",
        "print.css": "/* Le CSS placé ici affectera les impressions */",
        "noscript.css": "/* Le CSS placé ici affectera les utilisateurs ayant désactivé Javascript. */",
        "group-sysop.css": "/* Le CSS inclus ici n’affectera que les administrateurs */",
        "group-bureaucrat.css": "/* Le CSS inclus ici n’affectera que les bureaucrates */",
        "common.js": "/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */",
-       "cologneblue.js": "/* Tout JavaScript ici sera chargé avec les pages accédées par les utilisateurs de l’habillage Bleu de cologne uniquement */",
        "monobook.js": "/* Tout JavaScript ici sera chargé avec les pages accédées par les utilisateurs de l’habillage MonoBook uniquement. */",
-       "modern.js": "/* Tout JavaScript ici sera chargé avec les pages accédées par les utilisateurs de l’habillage Moderne uniquement */",
        "vector.js": "/* Tout code JavaScript placé ici sera chargé pour les utilisateurs de l’habillage Vector */",
        "group-autoconfirmed.js": "/* Le JavaScript inclus ici n’affectera que les utilisateurs auto-confirmés */",
        "group-user.js": "/* Le JavaScript placé ici ne sera chargé que pour les utilisateurs enregistrés. */",
        "pageinfo-category-pages": "Nombre de pages",
        "pageinfo-category-subcats": "Nombre de sous-catégories",
        "pageinfo-category-files": "Nombre de fichiers",
-       "skinname-cologneblue": "Bleu de Cologne",
        "skinname-monobook": "Monobook",
-       "skinname-modern": "Moderne",
        "skinname-vector": "Vector",
        "markaspatrolleddiff": "Marquer comme relue",
        "markaspatrolledtext": "Marquer cette page comme relue",
index 10908ff..faa032d 100644 (file)
        "jumptonavigation": "seòladh",
        "jumptosearch": "lorg",
        "view-pool-error": "Duilich, tha na frithealaichean ro thrang an-dràsta.\nTha cus chleachdaichean a' feuchainn ris an duilleag seo fhaicinn.\nFuirich ort greis mus feuch thu ris an duilleag seo fhaicinn a-rithist.\n\n$1",
+       "generic-pool-error": "Tha sinn duilich ach tha na frithealaichean ro thrang an-dràsta.\nTha cus dhaoine a' toirt sùil air a' ghoireas seo.\nFuirich ort mus feuch thu an goireas seo a-rithist.",
        "pool-timeout": "Dh'fhalbh an ùine air 's tu a' feitheamh ris a ghlas",
        "pool-queuefull": "Tha ciutha nam pròiseasan làn",
        "pool-errorunknown": "Mearachd neo-aithnichte",
+       "pool-servererror": "Chan eil seirbheis cunntadh nan amar ri fhaighinn ($1).",
        "aboutsite": "Mu dhèidhinn {{SITENAME}}",
        "aboutpage": "Project:Mu dhèidhinn",
        "copyright": "Tha susbaint ri làimh fo $1 mur eil an caochladh 'ga innse.",
        "invalidtitle-unknownnamespace": "Tiotal mì-dhligheach leis an àireamh namespace $1 agus an teacsa \"$2\"",
        "exception-nologin": "Chan eil thu air clàradh a-steach",
        "exception-nologin-text": "Feumaidh tu [[Special:Userlogin|clàradh a-steach]] mus fhaic thu an duilleag seo no mus urrainn dhut seo a dhèanamh.",
+       "exception-nologin-text-manual": "Ma tha thu ag iarraidh cothrom air an duilleag no air a' ghnìomh seo, $1.",
        "virus-badscanner": "Droch cho-dhealbhachd: sganair bhìorasan neo-aithnichte: ''$1''",
        "virus-scanfailed": "dh'fhàillig an sganadh (còd $1)",
        "virus-unknownscanner": "sganair bhìorasan neo-aithnichte:",
        "gotaccountlink": "Log a-steach",
        "userlogin-resetlink": "Na dhìochuimhnich thu d' ainm is facal-faire?",
        "userlogin-resetpassword-link": "Na dhìochuimhnich thu am facal-faire agad?",
+       "userlogin-helplink2": "Taic le clàradh a-steach",
        "userlogin-loggedin": "Chaidh do chlàradh mar {{GENDER:$1|$1}} mu thràth.\nCleachd am foirm gu h-ìosal airson clàradh a-steach mar chleachdaiche eile.",
        "userlogin-createanother": "Cruthaich cunntas eile",
        "createacct-emailrequired": "Seòladh puist-d",
        "resetpass-submit-loggedin": "Atharraich am facal-faire",
        "resetpass-submit-cancel": "Sguir dheth",
        "resetpass-wrong-oldpass": "Tha am facal-faire sealach no làithreach mì-dhligheach.\nSaoil an do dh'atharraich thu am facal-faire agad mu thràth no an do dh'iarr thu facal-faire sealach ùr?",
+       "resetpass-recycled": "Tagh facal-faire ùr nach eil co-ionnann ris an fhacal-fhaire a tha agad an-dràsta.",
+       "resetpass-temp-emailed": "Rinn thu clàradh a-steach le còd sealach a fhuair thu air a' phost-d.\nAirson clàradh a-steach slàn a dhèanamh, feumaidh tu facal-faire ùr a shuidheachadh an-seo:",
        "resetpass-temp-password": "Facal-faire sealach:",
        "resetpass-abort-generic": "Chuir leudachan crìoch air atharrachadh an fhacail-fhaire.",
+       "resetpass-expired": "Dh'fhalbh an ùine air an fhacal-fhaire agad. Suidhich facal-faire ùr airson clàradh a-steach.",
+       "resetpass-expired-soft": "Dh'fhalbh an ùine air an fhacal-fhaire agad is feumaidh tu ath-shuidheachadh. Tagh fear ùr no briog air \"{{int:resetpass-submit-cancel}}\" gus ath-shuidheachadh às a dhèidh seo.",
+       "resetpass-validity-soft": "Chan eil am facal-faire seo dligheach: $1\n\nTagh facal-faire ùr an-dràsta no briog air \"{{int:resetpass-submit-cancel}}\" gus ath-shuidheachadh às a dhèidh seo.",
        "passwordreset": "Ath-shuidhich am facal-faire",
        "passwordreset-text-one": "Lìon am foirm seo gus am facal-faire agad ath-shuidheachadh.",
        "passwordreset-text-many": "{{PLURAL:$1|Lìon aon dhe na raointean gus facal-faire sealach fhaighinn ann am post-d.}}",
        "changeemail-password": "Am facal-faire agad air {{SITENAME}}:",
        "changeemail-submit": "Atharraich am post-d",
        "changeemail-cancel": "Sguir dheth",
+       "changeemail-throttled": "Dh'fheuch thu ri clàradh a-steach ro thric.\nFuirich ort $1 mus feuch thu ris a-rithist.",
        "resettokens": "Ath-shuidhich na tòcanan",
        "resettokens-text": "'S urrainn dhut tòcanan ath-shuidheachadh a bheir cothrom dhut air cuid a dhàta prìobhaideach a tha co-cheangailte ris a' chunntas agad.\n\nBu chòir dhut seo a dhèanamh ma thug thu do chuideigin e air mhearachd no ma bhris cuideigin a-steach air a' chunntas agad.",
        "resettokens-no-tokens": "Chan eil tòcan ann a ghabhas ath-shuidheachadh.",
        "edit-gone-missing": "Cha b' urrainn dhuinn an duilleag ath-nuadhachadh.\nTha coltas gun deach a sguabadh às.",
        "edit-conflict": "Còmhstri deasachaidh.",
        "edit-no-change": "Chaidh an obair-dheasachaidh agad a leigeil seachad a chionn 's nach do dh'atharraich thu dad.",
+       "postedit-confirmation-created": "Chaidh an duilleag a chruthachadh.",
+       "postedit-confirmation-restored": "Chaidh an duilleag aiseag.",
        "postedit-confirmation-saved": "Chaidh na dheasaich thu a shàbhaladh.",
        "edit-already-exists": "Cha b' urrainn dhuinn an duilleag ùr a chruthachadh.\nTha e ann mu thràth.",
        "defaultmessagetext": "Teacsa bunaiteach na teachdaireachd",
        "content-failed-to-parse": "Dh'fhàillig parsadh susbaint $2 airson modail $1: $3",
        "invalid-content-data": "Dàta susbaint a tha mì-dhligheach",
        "content-not-allowed-here": "Chan eil susbaint \"$1\" ceadaichte air an duilleag [[$2]]",
-       "editwarning-warning": "Ma dh'fhàgas tu an duilleag seo, faodaidh gun caill thu mùthadh sam bith a rinn thu.\nMa tha thu air logadh a-steach, 's urrainn dhut an rabhadh seo a chur dheth san roinn \"Deasachadh\" sna roghainnean agad.",
+       "editwarning-warning": "Ma dh'fhàgas tu an duilleag seo, faodaidh gun caill thu mùthadh sam bith a rinn thu.\nMa tha thu air logadh a-steach, 's urrainn dhut an rabhadh seo a chur dheth san earrann \"{{int:prefs-editing}}\" anns na roghainnean agad.",
+       "editpage-notsupportedcontentformat-title": "Chan eil taic ri fòrmat na susbaint",
+       "editpage-notsupportedcontentformat-text": "Chan eil modail na susbaint \"$2\" a' cur taic ri fòrmat na susbaint \"$1\".",
        "content-model-wikitext": "wikitext",
        "content-model-text": "teacsa lom",
        "content-model-javascript": "JavaScript",
        "parser-template-recursion-depth-warning": "Chaidh thu thairis air crìoch doimhne nan ath-chùrsaidhean teamplaid ($1)",
        "language-converter-depth-warning": "Chaidh thu thairis air crìoch doimhne an iompachair chànain ($1)",
        "node-count-exceeded-category": "Duilleagan far an deachas thairis air cunntas nan nòdan",
+       "node-count-exceeded-category-desc": "Roinn-seòrsa airson duilleagan far a bheilear thairis air crìoch nan nòdan.",
        "node-count-exceeded-warning": "Chaidh an duilleag thairis air cunntas nan nòdan",
        "expansion-depth-exceeded-category": "Duilleagan far an deachas thairis air a' chrìoch leudachaidh",
+       "expansion-depth-exceeded-category-desc": "Seo roinn-seòrsa airson duilleagan far a bheilear thairis air doimhne an leudachaidh.",
        "expansion-depth-exceeded-warning": "Chaidh an duilleag thairis air an doimhne leudachaidh",
        "parser-unstrip-loop-warning": "Mhothaich sinn do lùb unstrip",
        "parser-unstrip-recursion-limit": "Chaidheas thairis air crìoch unstrip recursion ($1)",
        "undo-success": "Gabhaidh an deasachadh seo a neo-dhèanamh.\nThoir sùil air a' choimeas gu h-ìosal is dearbh gur e sin a tha fa-near dhut agus sàbhail na h-atharraichean gu h-ìosal gus neo-dhèanamh an deasachaidh a choileanadh.",
        "undo-failure": "Cha b' urrainn dhuinn an deasachadh a neo-dhèanamh air sgàth 's gun robh deasachaidhean eile sa mheadhan.",
        "undo-norev": "Cha b' urrainn dhuinn an deasachadh a neo-dhèanamh a chionn 's nach robh e ann no gun deach a sguabadh às.",
+       "undo-nochange": "Tha coltas gun deach am mùthadh seo a neo-dhèanamh mu thràth.",
        "undo-summary": "Neo-dhèan mùthadh $1 le [[Special:Contributions/$2|$2]] ([[User talk:$2|Deasbaireachd]])",
        "undo-summary-username-hidden": "Neo-dhèan am mùthadh $1 le cleachdaiche falaichte",
        "cantcreateaccounttitle": "Cha ghabh an cunntas a chruthachadh",
        "cantcreateaccount-text": "Chuir [[User:$3|$3]] bacadh air cruthachadh chunntasan on t-seòladh IP seo ('''$1''').\n\nDh'innise $3 gun do rinn iad seo air sgàth: ''$2''",
+       "cantcreateaccount-range-text": "Chuir [[User:$3|$3]] casg air daoine a tha airson cunntasan a chruthachadh on sheòlaidhean IP taobh a-staigh na rainse '''$1''' agus tha sin a' gabhail a-steach an t-seòlaidh IP agad-sa ('''$4''').\n\nThuir $3 gun do rinn iad seo air sgàth an adhbhair seo: ''$2''",
        "viewpagelogs": "Seall logaichean na duilleige seo",
        "nohistory": "Chan eil eachdraidh deasachaidh aig an duilleag seo.",
        "currentrev": "Lethbhreac làithreach",
        "revdelete-no-file": "Chan eil am faidhle a shònraich thu ann.",
        "revdelete-show-file-confirm": "A bheil thu cinnteach gu bheil thu airson coimhead air mùthadh an fhaidhle \"<nowiki>$1</nowiki>\" a chaidh a sguabadh às $2 aig $3?",
        "revdelete-show-file-submit": "Tha",
+       "revdelete-selected-text": "{{PLURAL:$1|Lèirmheas|Lèirmheas|Lèirmheas|Lèirmheas|Lèirmheasan|Lèirmheas}} de [[:$2]] a thagh thu:",
+       "revdelete-selected-file": "{{PLURAL:$1|Tionndadh an fhaidhle|Tionndadh nam faidhlichean|Tionndadh nam faidhlichean|Tionndadh nam faidhlichean|Tionndadh nam faidhlichean|Tionndadh nam faidhlichean}} a thagh thu à [[:$2]]:",
        "logdelete-selected": "{{PLURAL:$1|An tachartas loga|Na tachartasan loga}} a thagh thu:",
+       "revdelete-text-text": "Nochdaidh mùthaidhean a chaidh a sguabadh às ann an eachdraidh na duilleige fhathast ach chan fhaic buill a' phobaill cuid dhen t-susbaint aca.",
+       "revdelete-text-file": "Nochdaidh tionndaidhean dhen fhaidhle a chaidh a sguabadh às ann an eachdraidh na duilleige fhathast ach chan fhaic buill a' phobaill cuid dhen t-susbaint aca.",
+       "logdelete-text": "Nochdaidh tachartasan san loga a chaidh a sguabadh às ann an eachdraidh na duilleige fhathast ach chan fhaic buill a' phobaill cuid dhen t-susbaint aca.",
+       "revdelete-text-others": "Gheibh rianairean eile air {{SITENAME}} cothrom air an t-susbaint fhalaichte fhathast agus is urrainn dhaibh an sguabadh às a neo-dhèanamh san dearbh eadar-aghaidh mur an deach cuingeachaidhean a bharrachd a chur orra.",
        "revdelete-confirm": "Dearbh gu bheil thu airson seo a dhèanamh, gu bheil thu a' tuigsinn na thachras ri linn agus gu bheil thu a' dèanamh seo a-rèir [[{{MediaWiki:Policy-url}}|a' phoileasaidh]].",
        "revdelete-suppress-text": "Cha bu chòir dhut mùchadh a chleachdadh '''ach''' ann an suidheachaidhean mar seo:\n* Fiosrachadh a dh'fhaodadh a bhith dìteachail\n* Fiosrachadh pearsanta a tha cearr\n*: ''seòladh taige, àireamhan fòn, àireamhan NI is msaa.''",
        "revdelete-legend": "Suidhich cuingeachaidhean na faicsinneachd",
        "mergelog": "Loga a' cho-aonaidh",
        "pagemerge-logentry": "chaidh [[$1]] a cho-aonadh dha [[$2]] (lèirmheasan suas ri $3)",
        "revertmerge": "Dì-aontaich",
+       "mergelogpagetext": "Chì thu liosta nan co-aonaidhean as ùire eadar eachdraidh dhuilleagan gu h-ìosail.",
        "history-title": "Eachdraidh nam mùthaidhean aig \"$1\"",
+       "difference-title": "An diofar eadar na lèirmheasan a rinneadh air \"$1\"",
+       "difference-title-multipage": "An diofar eadar an dà dhuilleag \"$1\" agus \"$2\"",
        "difference-multipage": "(An diofar eadar na duilleagan)",
        "lineno": "Loidhne $1:",
        "compareselectedversions": "Dèan coimeas eadar na mùthaidhean a thagh thu",
        "showhideselectedversions": "Seall/Falaich na lèirmheasan a thagh thu",
        "editundo": "neo-dhèan",
        "diff-empty": "(Gun diofar eatarra)",
+       "diff-multi-sameuser": "(Rinn an cleachdaiche {{PLURAL:$1|$1 lèirmheas eadar-mheadhanach|$1 lèirmheas eadar-mheadhanach|$1 lèirmheas eadar-mheadhanach|$1 lèirmheas eadar-mheadhanach|$1 lèirmheasan eadar-mheadhanach|$1 lèirmheas eadar-mheadhanach}}nach eil 'gan sealltainn)",
+       "diff-multi-otherusers": "({{PLURAL:$1|$1 lèirmheas eadar-mheadhanach|$1 lèirmheas eadar-mheadhanach|$1 lèirmheas eadar-mheadhanach|$1 lèirmheas eadar-mheadhanach|$1 lèirmheasan eadar-mheadhanach|$1 lèirmheas eadar-mheadhanach}} le {{PLURAL:$2|$2 chleachdaiche|$2 chleachdaiche|$2 chleachdaiche|$2 chleachdaiche|$2 cleachdaichean|$2 cleachdaiche}} eile nach eil 'gan sealltainn)",
        "diff-multi-manyusers": "({{PLURAL:$1|Aon lèirmheas eadar-mheadhanach||$1 lèirmheasan eadar-mheadhanach|$1 lèirmheas eadar-mheadhanach}} le {{PLURAL:$2|aon chleachdaiche|$2 chleachdaiche|$2 cleachdaichean|$2 cleachdaiche}} gun sealltainn)",
+       "difference-missing-revision": "Cha deach {{PLURAL:$2|$2 lèirmheas|$2 lèirmheas|$2 lèirmheas|$2 lèirmheas|$2 lèirmheasan|$2 lèirmheas}} dhen diofar seo ($1) a lorg.\n\nMar is trice, tachraidh seo ma leanas tu ceangal gu diff air duilleag a chaidh a sguabadh às.\nGheibh thu mion-fhiosrachadh ann an [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} loga nan duilleagan a chaidh a sguabadh às].",
        "searchresults": "Toraidhean rannsachaidh",
        "searchresults-title": "Lorg \"$1\" am broinn nan toraidhean",
        "toomanymatches": "Fhuaras cus thoraidhean, feuch ceist eile",
        "titlematches": "Tiotalan dhuilleagan a tha a' maidseadh",
+       "textmatches": "Teacsa sna duilleagan a tha co-ionnann",
        "notextmatches": "Chan eil tiotal de dhuilleag sam bith a' freagairt ris",
        "prevn": "an {{PLURAL:$1|$1}} roimhe",
        "nextn": "an ath {{PLURAL:$1|$1}}",
        "shown-title": "Seall $1 {{PLURAL:$1|toradh|thoradh|toraidhean|toradh}} air gach duilleag",
        "viewprevnext": "Seall ($1 {{int:pipe-separator}} $2) ($3).",
        "searchmenu-exists": "'''Tha duilleag air a bheil \"[[:$1]]\" air an uicipeid seo.'''",
-       "searchmenu-new": "'''Cruthaich an duilleag \"[[:$1]]\" air an uicipeid seo!'''",
+       "searchmenu-new": "<strong>Cruthaich an duilleag \"[[:$1]]\" air an uicipeid seo!</strong> {{PLURAL:$2|0=|Seall an duilleag a chaidh a lorg ri linn na lorg thu.|Seall na duilleagan a chaidh a lorg ri linn na lorg thu.|Seall na duilleagan a chaidh a lorg ri linn na lorg thu.|Seall na duilleagan a chaidh a lorg ri linn na lorg thu.|Seall na duilleagan a chaidh a lorg ri linn na lorg thu.|Seall na duilleagan a chaidh a lorg ri linn na lorg thu.}}'",
        "searchprofile-articles": "Duilleagan susbainte",
-       "searchprofile-project": "Duilleagan nan cobharach 's nam pròiseactan",
        "searchprofile-images": "Ioma-mheadhanan",
        "searchprofile-everything": "Gach rud",
        "searchprofile-advanced": "Adhartach",
        "searchprofile-articles-tooltip": "Lorg ann an $1",
-       "searchprofile-project-tooltip": "Lorg ann an $1",
        "searchprofile-images-tooltip": "Lorg faidhlichean",
        "searchprofile-everything-tooltip": "Lorg am broinn susbaint sam bith (a' gabhail a-steach nan duilleagan deasbaireachd)",
        "searchprofile-advanced-tooltip": "Lorg am broinn ainm-spàsan gnàthaichte",
        "search-result-score": "Buntainneas: $1%",
        "search-redirect": "(ag ath-sheòladh $1)",
        "search-section": "(earrann $1)",
+       "search-file-match": "{a' freagairt ri susbaint an fhaidhle)",
        "search-suggest": "An e na leanas a bha fa-near dhut: $1",
        "search-interwiki-caption": "Pròiseactan co-cheangailte",
-       "search-interwiki-default": "Toraidhean $1:",
+       "search-interwiki-default": "Toraidhean $1:",
        "search-interwiki-more": "(barrachd)",
        "search-relatedarticle": "Co-cheangailte",
        "searcheverything-enable": "Seall anns na namespaces air fad",
        "searchrelated": "co-cheangailte",
        "searchall": "a h-uile",
        "showingresults": "A' nochdadh suas gu $1 {{PLURAL:$1|$1 toradh|$1 thoradh|$1 toraidhean|$1 toradh}} gu h-ìosal a' tòiseachadh le #'''$2'''.",
+       "showingresultsinrange": "A' sealltainn suas ri {{PLURAL:$1|<strong>$1</strong> toradh|<strong>$1</strong> toradh|<strong>$1</strong> toradh|<strong>$1</strong> toradh|<strong>$1</strong> toraidhean|<strong>$1</strong> toradh}} san rainse eadar #<strong>$2</strong> is #<strong>$3</strong>.",
        "showingresultsnum": "A' nochdadh '''$3''' {{PLURAL:$3|$3 toradh|$3 thoradh|$3 toraidhean|$3 toradh}} gu h-ìosal a' tòiseachadh le #'''$2'''.",
        "showingresultsheader": "{{PLURAL:$5|Toradh '''$1''' à '''$3'''|Toraidhean '''$1 - $2''' of '''$3'''}} airson '''$4'''",
        "search-nonefound": "Cha do fhreagair toradh sam bith ri d' iarrtas.",
        "powersearch-togglenone": "Chan eil gin",
        "search-external": "Lorg air an taobh a-muigh",
        "searchdisabled": "Tha lorg air {{SITENAME}} à comas.\n'S urrainn dhut lorg a dhèanamh air Google san eadar-àm.\nFaodaidh gum bi inneacsan susbaint {{SITENAME}} tuilleadh 's sean ge-tà.",
+       "search-error": "Thachair mearachd fhad 's a bha sinn a' lorg an-seo: $1",
        "preferences": "Roghainnean",
        "mypreferences": "Na roghainnean agam",
        "prefs-edits": "Co mheud deasachadh:",
+       "prefsnologintext2": "Ma tha thu airson na roghainnean agad atharrachadh, $1.",
        "prefs-skin": "Bian",
        "skin-preview": "Ro-shealladh",
        "datedefault": "Gun roghainnean",
        "prefs-watchlist": "An clàr-faire",
        "prefs-watchlist-days": "Co mheud latha a sheallar air a' chlàr-fhaire:",
        "prefs-watchlist-days-max": "{{PLURAL:$1|latha|latha|làithean|latha}} air a' char as motha",
+       "prefs-watchlist-edits": "An àireamh as motha de mhùthaidhean a thèid a shealltainn air a' chlàr-fhaire leudaichte:",
        "prefs-watchlist-edits-max": "Àireamh as motha: 1000",
        "prefs-watchlist-token": "Tòcan a' chlàir-fhaire:",
        "prefs-misc": "Measgachadh",
        "rows": "Sreathan",
        "columns": "Colbhan",
        "searchresultshead": "Lorg",
+       "stub-threshold": "An stairsneach airson fòrmatadh <a href=\"#\" class=\"stub\">cheanglaichean nam bun</a> (bytes):",
        "stub-threshold-disabled": "À comas",
+       "recentchangesdays": "Co mheud latha a thèid a shealltainn sna mùthaidhean ùra:",
        "recentchangesdays-max": "{{PLURAL:$1|latha|latha|làithean|latha}} air a' char as motha",
        "recentchangescount": "Uiread a dheasachaidhean a thèid a shealltainn a ghnàth:",
+       "prefs-help-recentchangescount": "Tha seo a' gabhail a-steach mùthaidhean ùra, eachdraidhean nan duilleagan is logaichean.",
        "savedprefs": "Tha na roghainnean agad air an sàbhaladh.",
        "timezonelegend": "Roinn-tìde:",
        "localtime": "An t-àm ionadail:",
        "prefs-emailconfirm-label": "Dearbhadh puist-d:",
        "youremail": "Post-dealain:",
        "username": "{{GENDER:$1|Ainm-cleachdaiche}}:",
-       "uid": "ID {{GENDER:$1|a' chleachdaiche}}:",
        "prefs-memberingroups": "{{GENDER:$2|Ball}} ann an {{PLURAL:$1|bhuidheann|bhuidheann|buidhnean|buidheann}}:",
        "prefs-registration": "Àm clàraidh:",
        "yourrealname": "An dearbh ainm a th' ort:",
        "recentchanges-label-unpatrolled": "Cha deach freiceadan tron deasachadh seo fhathast",
        "recentchanges-label-plusminus": "Seo meud atharrachadh na duilleige ann am byte",
        "recentchanges-legend-newpage": "(faic [[Special:NewPages|liosta nan duilleagan ùra]] cuideachd)",
-       "rcnotefrom": "Gheibhear na mùthaidhean a-mach o '''$2''' (gu ruige '''$1''') gu h-ìosal.",
+       "rcnotefrom": "Gheibhear na mùthaidhean a-mach o <strong>$2</strong> (gu ruige <strong>$1</strong>) gu h-ìosal.",
        "rclistfrom": "Seall na mùthaidhean ùra a-mach o $3 $2",
        "rcshowhideminor": "$1 mùthaidhean beaga",
        "rcshowhidebots": "$1 botaichean",
        "logempty": "Chan eil rud sam bith san loga a tha 'ga mhaidseadh.",
        "showhideselectedlogentries": "Seall/Falaich innteartan an loga a thagh thu",
        "allpages": "A h-uile duilleag",
-       "alphaindexline": "$1 gu $2",
        "nextpage": "An ath dhuilleag ($1)",
        "prevpage": "An duilleag roimhe ($1)",
        "allpagesfrom": "Seall duilleagan a tha a' tòiseachadh aig:",
        "unwatch": "Na cum sùil tuilleadh",
        "unwatchthispage": "Na cum sùil tuilleadh",
        "notanarticle": "Chan e duilleag susbaint a tha ann",
-       "watchlist-details": "Tha {{PLURAL:$1|$1 duilleag|$1 dhuilleag|$1 duilleagan|$1 duilleag}} air do chlàr-faire, gun luaidh air na duilleagan deasbaireachd.",
+       "watchlist-details": "Tha {{PLURAL:$1|$1 duilleag|$1 dhuilleag|$1 duilleagan|$1 duilleag}} air a' chlàr-fhaire agad, gun luaidh air na duilleagan deasbaireachd.",
        "wlheader-showupdated": "Tha clò '''trom''' air duilleagan a chaidh atharrachadh on turas mu dheireadh a thadhail thu orra.",
        "wlnote2": "Chì thu na h-atharraichean {{PLURAL:$1|san uair|san <strong>$1</strong> uair|san <strong>$1</strong> uair|san <strong>$1</strong> uair|sna <strong>$1</strong> uairean|sna <strong>$1</strong> uair}} a thìde seo chaidh aig $3 air $2.",
        "wlshowlast": "Seall na $1 uairean a thìde mu dheireadh $2 làithean mu dheireadh $3",
index d0e05ee..ebf5c18 100644 (file)
        "searchmenu-exists": "'''קיים דף בשם \"[[:$1]]\" באתר זה.'''",
        "searchmenu-new": "<strong>'''יצירת הדף \"[[:$1]]\" באתר זה.'''</strong> \n{{PLURAL:$2|0=|ראו גם את הדף שנמצא בחיפוש שלכם.|ראו גם את תוצאות החיפוש שלכם.}}",
        "searchprofile-articles": "דפי תוכן",
-       "searchprofile-project": "עזרה ודפי המיזם",
        "searchprofile-images": "מולטימדיה",
        "searchprofile-everything": "הכול",
        "searchprofile-advanced": "מתקדם",
        "searchprofile-articles-tooltip": "חיפוש $1",
-       "searchprofile-project-tooltip": "חיפוש $1",
        "searchprofile-images-tooltip": "חיפוש קבצים",
        "searchprofile-everything-tooltip": "חיפוש בכל התוכן (למעט דפי השיחה)",
        "searchprofile-advanced-tooltip": "חיפוש במרחבי שם מותאמים אישית",
        "tooltip-preferences-save": "שמירת ההעדפות",
        "tooltip-summary": "להכנסת תקציר קצר",
        "common.css": "/* הסגנונות הנכתבים כאן ישפיעו על כל העיצובים */",
-       "cologneblue.css": "/* הסגנונות הנכתבים כאן ישפיעו על העיצוב CologneBlue בלבד */",
        "monobook.css": "/* הסגנונות הנכתבים כאן ישפיעו על העיצוב MonoBook בלבד */",
-       "modern.css": "/* הסגנונות הנכתבים כאן ישפיעו על העיצוב Modern בלבד */",
        "vector.css": "/* הסגנונות הנכתבים כאן ישפיעו על העיצוב Vector בלבד */",
        "print.css": "/* הסגנונות הנכתבים כאן ישפיעו על הפלט בהדפסה בלבד */",
        "noscript.css": "/* הסגנונות הנכתבים כאן ישפיעו על משתמשים עם JavaScript מבוטל */",
        "group-sysop.css": "/* הסגנונות הנכתבים כאן ישפיעו על מפעילי מערכת בלבד */",
        "group-bureaucrat.css": "/* הסגנונות הנכתבים כאן ישפיעו על ביורוקרטים בלבד */",
        "common.js": "/* כל סקריפט JavaScript שנכתב כאן ירוץ עבור כל המשתמשים בכל טעינת עמוד */",
-       "cologneblue.js": "/* כל סקריפט JavaScript שנכתב כאן ירוץ רק עבור המשתמשים בעיצוב CologneBlue */",
        "monobook.js": "/* כל סקריפט JavaScript שנכתב כאן ירוץ רק עבור המשתמשים בעיצוב Monobook */",
-       "modern.js": "/* כל סקריפט JavaScript שנכתב כאן ירוץ רק עבור המשתמשים בעיצוב Modern */",
        "vector.js": "/* כל סקריפט JavaScript שנכתב כאן ירוץ רק עבור המשתמשים בעיצוב Vector */",
        "group-autoconfirmed.js": "/* כל סקריפט JavaScript שנכתב כאן ירוץ עבור משתמשים ותיקים בלבד */",
        "group-user.js": "/* כל סקריפט JavaScript שנכתב כאן ירוץ עבור משתמשים רשומים בלבד */",
        "pageinfo-category-pages": "מספר הדפים",
        "pageinfo-category-subcats": "מספר קטגוריות המשנה",
        "pageinfo-category-files": "מספר הקבצים",
-       "skinname-cologneblue": "מים כחולים",
        "skinname-monobook": "מונובוק",
-       "skinname-modern": "מודרני",
        "skinname-vector": "וקטור",
        "markaspatrolleddiff": "סימון השינוי כבדוק",
        "markaspatrolledtext": "סימון דף זה כבדוק",
index f7e5801..d0e5a97 100644 (file)
        "permalink": "Trajna poveznica",
        "print": "Ispiši",
        "view": "Vidi",
+       "view-foreign": "vidi na projektu $1",
        "edit": "uredi",
        "create": "Započni",
+       "create-local": "dodaj lokalni opis",
        "editthispage": "Uredi ovu stranicu",
        "create-this-page": "Započni ovu stranicu",
        "delete": "Izbriši",
        "searchmenu-exists": "* Stranica '''[[$1]]'''",
        "searchmenu-new": "'''Stvori stranicu \"[[:$1]]\" na ovoj wiki!'''",
        "searchprofile-articles": "Stranice sa sadržajem",
-       "searchprofile-project": "Pomoć i stranice projekta",
        "searchprofile-images": "Multimedija",
        "searchprofile-everything": "Sve",
        "searchprofile-advanced": "Napredno",
        "searchprofile-articles-tooltip": "Traži u $1",
-       "searchprofile-project-tooltip": "Traži u $1",
        "searchprofile-images-tooltip": "Traži datoteke",
        "searchprofile-everything-tooltip": "Pretraži sav sadržaj (uključujući i stranice za razgovor)",
        "searchprofile-advanced-tooltip": "Traži u zadanom imenskom prostoru",
        "pageinfo-category-pages": "Broj stranica",
        "pageinfo-category-subcats": "Broj podkategorija",
        "pageinfo-category-files": "Broj datoteka",
-       "skinname-cologneblue": "Kölnska plava",
        "skinname-monobook": "MonoBook",
        "markaspatrolleddiff": "Označi za pregledano",
        "markaspatrolledtext": "Označi ovaj članak pregledanim",
index b258bea..db936b1 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.",
        "searchmenu-exists": "* Halaman '''[[$1]]'''",
        "searchmenu-new": "<strong>Buat halaman \"[[:$1]]\" di wiki ini!</strong> {{PLURAL:$2|0=|Lihat pula halaman yang ditemukan dari pencarian Anda.|Lihat pula hasil pencarian yang ditemukan.}}",
        "searchprofile-articles": "Halaman isi",
-       "searchprofile-project": "Halaman Bantuan dan Proyek",
        "searchprofile-images": "Berkas Multimedia",
        "searchprofile-everything": "Semua",
        "searchprofile-advanced": "Lanjutan",
        "searchprofile-articles-tooltip": "Pencarian di $1",
-       "searchprofile-project-tooltip": "Pencarian di $1",
        "searchprofile-images-tooltip": "Pencarian berkas",
        "searchprofile-everything-tooltip": "Pencarian di seluruh situs (termasuk halaman pembicaraan)",
        "searchprofile-advanced-tooltip": "Pencarian di ruang nama tertentu",
        "tooltip-preferences-save": "Simpan preferensi",
        "tooltip-summary": "Masukkan sebuah ringkasan pendek",
        "common.css": "/* CSS yang ada di sini akan diterapkan pada semua kulit. */",
-       "cologneblue.css": "/* CSS yang ada di sini akan diterapkan pada kulit Cologne Blue. */",
        "monobook.css": "/* CSS yang ada di sini akan diterapkan pada kulit Monobook. */",
-       "modern.css": "/* CSS yang ada di sini akan diterapkan pada kulit Modern. */",
        "vector.css": "/* CSS nan ado di siko diterapkan pado kulik Vektor. */",
        "print.css": "/* CSS yang ada di sini akan diterapkan pada tampilan cetak. */",
        "noscript.css": "/* CSS di sini akan mempengaruhi pengguna dengan skrip Java non-aktif */",
        "group-sysop.css": "/* CSS di sini hanya mempengaruhi pengurus */",
        "group-bureaucrat.css": "/* CSS di sini hanya mempengaruhi birokrat */",
        "common.js": "/* JavaScript yang ada di sini akan diterapkan untuk semua kulit. */",
-       "cologneblue.js": "/* Semua JavaScript di sini akan dimuatkan untuk para pengguna yang menggunakan kulit Cologne Blue */",
        "monobook.js": "/* Semua JavaScript di sini akan dimuatkan untuk para pengguna yang menggunakan kulit MonoBook */",
-       "modern.js": "/* Semua JavaScript di sini akan dimuatkan untuk para pengguna yang menggunakan kulit Modern */",
        "vector.js": "/* Semua JavaScript di sini akan dimuatkan untuk para pengguna yang menggunakan kulit Vector */",
        "group-autoconfirmed.js": "/* Semua JavaScript di sini hanya dimuatkan untuk pengguna terkonfirmasi otomatis */",
        "group-bot.js": "/* Semua JavaScript di sini hanya dimuatkan untuk bot */",
        "pageinfo-category-pages": "Jumlah halaman",
        "pageinfo-category-subcats": "Jumlah subkategori",
        "pageinfo-category-files": "Jumlah berkas",
-       "skinname-cologneblue": "Biru Köln",
        "skinname-monobook": "MonoBook",
-       "skinname-modern": "Modern",
        "skinname-vector": "Vektor",
        "markaspatrolleddiff": "Tandai telah dipatroli",
        "markaspatrolledtext": "Tandai halaman ini telah dipatroli",
index 7551192..2fc82c4 100644 (file)
        "searchmenu-exists": "'''Adda panid a nanaganan ti \"[[:$1]]\" iti daytoy a wiki.'''",
        "searchmenu-new": "<strong>Partuaten ti panid ti \"[[:$1]]\" iti daytoy a wiki!</strong> {{PLURAL:$2|0=|Kitaen pay ti panid a nabirukan ti panagbirukmo.|Kitaen pay dagiti resulta a nabirukan ti panagbiruk.}}",
        "searchprofile-articles": "Dagiti naglaon a panid",
-       "searchprofile-project": "Tulong ken Gandat a pampanid",
        "searchprofile-images": "Sabsabali a midia",
        "searchprofile-everything": "Amin amin",
        "searchprofile-advanced": "Napasayaat",
        "searchprofile-articles-tooltip": "Agbirukka idiay $1",
-       "searchprofile-project-tooltip": "Agbirukka idiay $1",
        "searchprofile-images-tooltip": "Agbirukka para iti papeles",
        "searchprofile-everything-tooltip": "Birukem amin a linaon (uray dagiti makipatangan a panid)",
        "searchprofile-advanced-tooltip": "Agbirukka kadagiti naiduma a \"nagan ti espasio\"",
index 91336b0..fb5739b 100644 (file)
        "delete": "Cancella",
        "deletethispage": "Cancella questa pagina",
        "undeletethispage": "Recupera questa pagina",
-       "undelete_short": "Recupera {{PLURAL:$1|una revisione|$1 revisioni}}",
+       "undelete_short": "Recupera {{PLURAL:$1|una versione|$1 versioni}}",
        "viewdeleted_short": "Vedi {{PLURAL:$1|una modifica cancellata|$1 modifiche cancellate}}",
        "protect": "Proteggi",
        "protect_change": "cambia",
        "anontalkpagetext": "----\n''Questa è la pagina di discussione di un utente anonimo, che non ha ancora creato un'utenza o comunque non la sta usando. Per identificarlo è quindi necessario usare il numero del suo indirizzo IP. Gli indirizzi IP possono però essere condivisi da più utenti. Se sei un utente anonimo e ritieni che i commenti presenti in questa pagina non si riferiscano a te, [[Special:UserLogin/signup|crea una nuova utenza]] o [[Special:UserLogin|entra con quella che già hai]] per evitare di essere confuso con altri utenti anonimi in futuro.''",
        "noarticletext": "In questo momento la pagina richiesta è vuota. È possibile [[Special:Search/{{PAGENAME}}|cercare questo titolo]] nelle altre pagine del sito, <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} cercare nei registri correlati] oppure [{{fullurl:{{FULLPAGENAME}}|action=edit}} modificare la pagina ora]</span>.",
        "noarticletext-nopermission": "In questo momento la pagina richiesta è vuota. È possibile [[Special:Search/{{PAGENAME}}|cercare questo titolo]] nelle altre pagine del sito o <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} cercare nei registri correlati]</span>, ma non hai i permessi per creare questa pagina.",
-       "missing-revision": "La revisione #$1 della pagina \"{{FULLPAGENAME}}\" non esiste.\n\nQuesto si verifica solitamente seguendo un collegamento a una pagina cancellata, in una cronologia non aggiornata.\nI dettagli possono essere trovati nel [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro delle cancellazioni].",
+       "missing-revision": "La versione #$1 della pagina \"{{FULLPAGENAME}}\" non esiste.\n\nQuesto si verifica solitamente seguendo un collegamento a una pagina cancellata, in una cronologia non aggiornata.\nI dettagli possono essere trovati nel [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro delle cancellazioni].",
        "userpage-userdoesnotexist": "L'account \"<nowiki>$1</nowiki>\" non corrisponde a un utente registrato. Verificare che si intenda davvero creare o modificare questa pagina.",
        "userpage-userdoesnotexist-view": "L'account utente \"$1\" non è registrato.",
        "blocked-notice-logextract": "Questo utente è attualmente bloccato.\nL'ultimo elemento del registro dei blocchi è riportato di seguito per informazione:",
        "yourtext": "Il tuo testo",
        "storedversion": "La versione memorizzata",
        "nonunicodebrowser": "'''Attenzione: si sta utilizzando un browser non compatibile con i caratteri Unicode. Per consentire la modifica delle pagine senza creare inconvenienti, i caratteri non ASCII vengono visualizzati nella casella di modifica sotto forma di codici esadecimali.'''",
-       "editingold": "'''ATTENZIONE: si sta modificando una versione non aggiornata della pagina. Salvandola così, tutti i cambiamenti apportati dopo questa revisione saranno sovrascritti.'''",
+       "editingold": "'''ATTENZIONE: si sta modificando una versione non aggiornata della pagina. Salvandola così, tutti i cambiamenti apportati dopo questa versione saranno sovrascritti.'''",
        "yourdiff": "Differenze",
        "copyrightwarning": "Per favore tieni presente che tutti i contributi a {{SITENAME}} si considerano pubblicati nei termini d'uso della licenza $2 (vedi $1 per maggiori dettagli).\nSe non desideri che i tuoi testi possano essere modificati e ridistribuiti da chiunque senza alcuna limitazione, non inviarli qui.<br />\nInviando il testo dichiari inoltre, sotto tua responsabilità, che è stato scritto da te personalmente oppure è stato copiato da una fonte di pubblico dominio o similarmente libera.\n'''Non inviare materiale protetto da copyright senza autorizzazione!'''",
        "copyrightwarning2": "Per favore tieni presente che tutti i contributi a {{SITENAME}} possono essere modificati, stravolti o cancellati da altri contributori.\nSe non vuoi che i tuoi testi possano essere alterati, allora non inserirli.<br />\nInviando il testo dichiari inoltre, sotto tua responsabilità, che è stato scritto da te personalmente oppure è stato copiato da una fonte di pubblico dominio o similarmente libera (vedi $1 per maggiori dettagli).\n'''Non inviare materiale protetto da copyright senza autorizzazione!'''",
        "rev-suppressed-text-unhide": "Questa versione della pagina è stata '''rimossa'''.\nConsultare il [{{fullurl:{{#Special:Log}}/suppress|page={{PAGENAMEE}}}} log di rimozione] per ulteriori dettagli.\nAgli amministratori è ancora consentito [$1 visualizzare questa versione] se necessario.",
        "rev-deleted-text-view": "Questa versione della pagina è stata '''cancellata'''.\nGli amministratori possono ancora visualizzarla; consultare il [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} log delle cancellazioni] per ulteriori dettagli.",
        "rev-suppressed-text-view": "Questa versione della pagina è stata '''rimossa'''.\nGli amministratori possono ancora visualizzarla; consultare il [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} log di rimozione] per ulteriori dettagli.",
-       "rev-deleted-no-diff": "Non è possibile visualizzare questo confronto tra versioni perché una delle revisioni è stata '''cancellata'''.\nConsultare il [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} log delle cancellazioni] per ulteriori dettagli.",
-       "rev-suppressed-no-diff": "Non è possibile visualizzare questo confronto tra versioni perché una delle revisioni è stata '''cancellata'''.",
-       "rev-deleted-unhide-diff": "Una delle revisioni di questo confronto tra versioni è stata '''cancellata'''.\nConsultare il [{{fullurl:{{#Special:Log}}/delete|page={{PAGENAMEE}}}} log delle cancellazioni] per ulteriori dettagli.\nAgli amministratori è ancora consentito [$1 visualizzare il confronto] se necessario.",
-       "rev-suppressed-unhide-diff": "Una delle revisioni di questo confronto di versioni è stata '''rimossa'''.\nPotrebbero esserci dettagli nel [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} log delle rimozioni].\nIn quanto amministratore puoi ancora [$1 visualizzare questo confronto di versioni], se vuoi procedere.",
-       "rev-deleted-diff-view": "Una delle revisioni di questo confronto di versioni è stata '''cancellata'''.\nIn quanto amministratore, puoi visualizzare questo confronto di versioni; potrebbero esserci dettagli nel [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} log delle cancellazioni].",
-       "rev-suppressed-diff-view": "Una delle revisioni di questo confronto di versioni è stata '''rimossa'''.\nIn quanto amministratore puoi visualizzare questo confronto di versioni; potrebbero esserci dettagli nel [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} log delle rimozioni].",
+       "rev-deleted-no-diff": "Non è possibile visualizzare questo confronto tra versioni perché una delle versioni è stata '''cancellata'''.\nConsultare il [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} log delle cancellazioni] per ulteriori dettagli.",
+       "rev-suppressed-no-diff": "Non è possibile visualizzare questo confronto tra versioni perché una delle versioni è stata '''cancellata'''.",
+       "rev-deleted-unhide-diff": "Una delle versioni di questo confronto tra versioni è stata '''cancellata'''.\nConsultare il [{{fullurl:{{#Special:Log}}/delete|page={{PAGENAMEE}}}} log delle cancellazioni] per ulteriori dettagli.\nAgli amministratori è ancora consentito [$1 visualizzare il confronto] se necessario.",
+       "rev-suppressed-unhide-diff": "Una delle versioni di questo confronto di versioni è stata '''rimossa'''.\nPotrebbero esserci dettagli nel [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} log delle rimozioni].\nIn quanto amministratore puoi ancora [$1 visualizzare questo confronto di versioni], se vuoi procedere.",
+       "rev-deleted-diff-view": "Una delle versioni di questo confronto di versioni è stata '''cancellata'''.\nIn quanto amministratore, puoi visualizzare questo confronto di versioni; potrebbero esserci dettagli nel [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} log delle cancellazioni].",
+       "rev-suppressed-diff-view": "Una delle versioni di questo confronto di versioni è stata '''rimossa'''.\nIn quanto amministratore puoi visualizzare questo confronto di versioni; potrebbero esserci dettagli nel [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} log delle rimozioni].",
        "rev-delundel": "mostra/nascondi",
        "rev-showdeleted": "mostra",
        "revisiondelete": "Cancella o ripristina versioni",
        "revdelete-selected-text": "{{PLURAL:$1|Versione selezionata|Versioni selezionate}} di [[:$2]]:",
        "revdelete-selected-file": "{{PLURAL:$1|Versione selezionata|Versioni selezionate}} del file di [[:$2]]:",
        "logdelete-selected": "{{PLURAL:$1|Evento del registro selezionato|Eventi del registro selezionati}}:",
-       "revdelete-text-text": "Le versioni cancellate appariranno ancora nella cronologia della pagina, ma parti del loro contenuto sarà inaccessibile al pubblico.",
+       "revdelete-text-text": "Le versioni cancellate appariranno ancora nella cronologia della pagina, ma parte del loro contenuto sarà inaccessibile al pubblico.",
        "revdelete-text-file": "Le versioni di file cancellati appariranno ancora nella cronologia del file, ma parti del loro contenuto sarà inaccessibile al pubblico.",
        "logdelete-text": "Gli eventi cancellati appariranno ancora nei registri, ma parti del loro contenuto sarà inaccessibile al pubblico.",
        "revdelete-text-others": "Altri amministratori di {{SITENAME}} saranno ancora in grado di accedere ai contenuti nascosti e potranno ripristinarli nuovamente attraverso questa stessa interfaccia, se non sono state impostate restrizioni aggiuntive.",
        "revdelete-radio-set": "Nascondi",
        "revdelete-radio-unset": "Mostra",
        "revdelete-suppress": "Nascondi le informazioni anche agli amministratori",
-       "revdelete-unsuppress": "Elimina le limitazioni sulle revisioni ripristinate",
+       "revdelete-unsuppress": "Elimina le limitazioni sulle versioni ripristinate",
        "revdelete-log": "Motivo:",
-       "revdelete-submit": "Applica {{PLURAL:$1|alla revisione selezionata|alle revisioni selezionate}}",
-       "revdelete-success": "'''Visibilità della revisione aggiornata correttamente.'''",
+       "revdelete-submit": "Applica {{PLURAL:$1|alla versione selezionata|alle versioni selezionate}}",
+       "revdelete-success": "'''Visibilità della versione aggiornata correttamente.'''",
        "revdelete-failure": "'''La visibilità della versione non può essere aggiornata:'''\n$1",
        "logdelete-success": "'''Visibilità dell'evento impostata correttamente.'''",
        "logdelete-failure": "'''La visibilità dell'evento non può essere impostata:'''\n$1",
        "revdel-restore": "cambia la visibilità",
        "pagehist": "Cronologia della pagina",
        "deletedhist": "Cronologia cancellata",
-       "revdelete-hide-current": "Impossibile nascondere l'oggetto con data $1 $2 in quanto è la revisione attuale.",
+       "revdelete-hide-current": "Impossibile nascondere l'oggetto con data $1 $2 in quanto è la versione attuale.",
        "revdelete-show-no-access": "Impossibile mostrare l'oggetto con data $1 $2 in quanto è stato identificato come \"riservato\" e non si dispone del relativo accesso.",
        "revdelete-modify-no-access": "Impossibile modificare l'oggetto con data $1 $2 in quanto è stato identificato come \"riservato\" e non si dispone del relativo accesso.",
        "revdelete-modify-missing": "Impossibile modificare l'oggetto con ID $1 in quanto non è presente nel database.",
        "suppressionlog": "Soppressioni",
        "suppressionlogtext": "Di seguito sono elencate le cancellazioni e i blocchi con del contenuto nascosto agli amministratori.\nVedi l'[[Special:BlockList|elenco dei blocchi]] per l'elenco dei bandi e dei blocchi attivi al momento.",
        "mergehistory": "Unione cronologie",
-       "mergehistory-header": "Questa pagina consente di unire le revisioni appartenenti alla cronologia di una pagina (detta pagina di origine) alla cronologia di una pagina più recente.\nÈ necessario accertarsi che la continuità storica della pagina non venga alterata.",
+       "mergehistory-header": "Questa pagina consente di unire le versioni appartenenti alla cronologia di una pagina (detta pagina di origine) alla cronologia di una pagina più recente.\nÈ necessario accertarsi che la continuità storica della pagina non venga alterata.",
        "mergehistory-box": "Unisci la cronologia di due pagine:",
        "mergehistory-from": "Pagina di origine:",
        "mergehistory-into": "Pagina di destinazione:",
        "mergehistory-list": "Cronologia cui è applicabile l'unione",
-       "mergehistory-merge": "È possibile unire le revisioni di [[:$1]] indicate di seguito alla cronologia di [[:$2]]. Usare la colonna con i pulsanti di opzione per unire tutte le revisioni fino alla data e ora indicate. Si noti che se vengono usati i pulsanti di navigazione, la colonna con i pulsanti di opzione viene azzerata.",
+       "mergehistory-merge": "È possibile unire le versioni di [[:$1]] indicate di seguito alla cronologia di [[:$2]]. Usare la colonna con i pulsanti di opzione per unire tutte le versioni fino alla data e ora indicate. Si noti che se vengono usati i pulsanti di navigazione, la colonna con i pulsanti di opzione viene azzerata.",
        "mergehistory-go": "Mostra le modifiche che possono essere unite",
-       "mergehistory-submit": "Unisci le revisioni",
-       "mergehistory-empty": "Nessuna revisione da unire.",
-       "mergehistory-success": "{{PLURAL:$3|Una revisione di [[:$1]] è stata unita|$3 revisioni di [[:$1]] sono state unite}} alla cronologia di [[:$2]].",
+       "mergehistory-submit": "Unisci le versioni",
+       "mergehistory-empty": "Nessuna versione da unire.",
+       "mergehistory-success": "{{PLURAL:$3|Una versione di [[:$1]] è stata unita|$3 versioni di [[:$1]] sono state unite}} alla cronologia di [[:$2]].",
        "mergehistory-fail": "Impossibile unire le cronologie. Verificare la pagina e i parametri temporali.",
        "mergehistory-no-source": "La pagina di origine $1 non esiste.",
        "mergehistory-no-destination": "La pagina di destinazione $1 non esiste.",
        "mergehistory-same-destination": "Le pagine di origine e di destinazione non possono coincidere",
        "mergehistory-reason": "Motivo:",
        "mergelog": "Unioni",
-       "pagemerge-logentry": "ha unito [[$1]] a [[$2]] (revisioni fino a $3)",
+       "pagemerge-logentry": "ha unito [[$1]] a [[$2]] (versioni fino a $3)",
        "revertmerge": "Annulla unioni",
        "mergelogpagetext": "Di seguito sono elencate le ultime operazioni di unione della cronologia di due pagine.",
        "history-title": "$1: cronologia delle modifiche",
        "searchmenu-exists": "'''Sul sito esiste una pagina il cui nome è \"[[:$1]]\"'''",
        "searchmenu-new": "<strong>Crea la pagina \"[[:$1]]\" su questo wiki!</strong> {{PLURAL:$2|0=|Vedi anche la pagina trovata con la tua ricerca|Vedi anche i risultati della ricerca}}",
        "searchprofile-articles": "Pagine di contenuti",
-       "searchprofile-project": "Pagine di aiuto e relative al progetto",
        "searchprofile-images": "Multimedia",
        "searchprofile-everything": "Tutto",
        "searchprofile-advanced": "Avanzata",
        "searchprofile-articles-tooltip": "Cerca in $1",
-       "searchprofile-project-tooltip": "Cerca in $1",
        "searchprofile-images-tooltip": "Cerca file",
        "searchprofile-everything-tooltip": "Cerca ovunque (incluse le pagine di discussione)",
        "searchprofile-advanced-tooltip": "Cerca nei namespace personalizzati",
        "right-delete": "Cancella pagine",
        "right-bigdelete": "Cancella pagine con cronologie lunghe",
        "right-deletelogentry": "Cancella e ripristina voci di registro specifiche",
-       "right-deleterevision": "Nasconde revisioni specifiche delle pagine",
-       "right-deletedhistory": "Visualizza le revisioni della cronologia cancellate senza il testo associato",
-       "right-deletedtext": "Visualizza testo cancellato e modifiche fra revisioni cancellate",
+       "right-deleterevision": "Nasconde versioni specifiche delle pagine",
+       "right-deletedhistory": "Visualizza le versioni della cronologia cancellate senza il testo associato",
+       "right-deletedtext": "Visualizza testo cancellato e modifiche fra versioni cancellate",
        "right-browsearchive": "Ricerca nelle pagine cancellate",
        "right-undelete": "Recupera una pagina",
-       "right-suppressrevision": "Rivede e recupera revisioni nascoste agli amministratori",
+       "right-suppressrevision": "Rivede e recupera versioni nascoste agli amministratori",
        "right-suppressionlog": "Visualizza i registri privati",
        "right-block": "Blocca le modifiche da parte di altri utenti",
        "right-blockemail": "Impedisce a un utente di inviare email",
        "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",
        "withoutinterwiki-summary": "Le pagine indicate di seguito sono prive di collegamenti alle versioni in altre lingue:",
        "withoutinterwiki-legend": "Prefisso",
        "withoutinterwiki-submit": "Mostra",
-       "fewestrevisions": "Pagine con meno revisioni",
+       "fewestrevisions": "Pagine con meno versioni",
        "nbytes": "$1 {{PLURAL:$1|byte}}",
        "ncategories": "$1 {{PLURAL:$1|categoria|categorie}}",
        "ninterwikis": "$1 {{PLURAL:$1|interwiki}}",
        "nlinks": "$1 {{PLURAL:$1|collegamento|collegamenti}}",
        "nmembers": "$1 {{PLURAL:$1|elemento|elementi}}",
        "nmemberschanged": "$1 → $2 {{PLURAL:$2|elemento|elementi}}",
-       "nrevisions": "$1 {{PLURAL:$1|revisione|revisioni}}",
+       "nrevisions": "$1 {{PLURAL:$1|versione|versioni}}",
        "nviews": "$1 {{PLURAL:$1|visita|visite}}",
        "nimagelinks": "Utilizzato su $1 {{PLURAL:$1|pagina|pagine}}",
        "ntransclusions": "usato in $1 {{PLURAL:$1|pagina|pagine}}",
        "unwatch": "Non seguire",
        "unwatchthispage": "Smetti di seguire",
        "notanarticle": "Questa pagina non è una voce",
-       "notvisiblerev": "La revisione è stata cancellata",
+       "notvisiblerev": "La versione è stata cancellata",
        "watchlist-details": "La lista degli osservati speciali contiene {{PLURAL:$1|una pagina (e la rispettiva pagina di discussione)|$1 pagine (e le rispettive pagine di discussione)}}.",
        "wlheader-enotif": "La notifica via email è attiva.",
        "wlheader-showupdated": "Le pagine che sono state modificate dopo l'ultima visita sono evidenziate in '''grassetto'''.",
        "exbeforeblank": "Il contenuto prima dello svuotamento era: '$1'",
        "delete-confirm": "Cancella \"$1\"",
        "delete-legend": "Cancella",
-       "historywarning": "'''Attenzione:''' La pagina che stai per cancellare ha una cronologia con approssimativamente $1 {{PLURAL:$1|revisione|revisioni}}:",
+       "historywarning": "'''Attenzione:''' La pagina che stai per cancellare ha una cronologia con approssimativamente $1 {{PLURAL:$1|versione|versioni}}:",
        "confirmdeletetext": "Stai per cancellare una pagina con tutta la sua cronologia. Per cortesia, conferma che è tua intenzione procedere a tale cancellazione, che hai piena consapevolezza delle conseguenze della tua azione e che essa è conforme alle linee guida stabilite in [[{{MediaWiki:Policy-url}}]].",
        "actioncomplete": "Azione completata",
        "actionfailed": "Azione fallita",
        "deletereasonotherlist": "Altra motivazione",
        "deletereason-dropdown": "* Motivazioni più comuni per la cancellazione\n** Spam\n** Vandalismo\n** Violazione di copyright\n** Richiesta dell'autore\n** Redirect rotto",
        "delete-edit-reasonlist": "Modifica i motivi di cancellazione",
-       "delete-toobig": "La cronologia di questa pagina è molto lunga (oltre $1 {{PLURAL:$1|revisione|revisioni}}). La sua cancellazione è stata limitata per evitare di creare accidentalmente dei problemi di funzionamento al database di {{SITENAME}}.",
-       "delete-warning-toobig": "La cronologia di questa pagina è molto lunga (oltre $1 {{PLURAL:$1|revisione|revisioni}}). La sua cancellazione può creare dei problemi di funzionamento al database di {{SITENAME}}; procedere con cautela.",
+       "delete-toobig": "La cronologia di questa pagina è molto lunga (oltre $1 {{PLURAL:$1|versione|versioni}}). La sua cancellazione è stata limitata per evitare di creare accidentalmente dei problemi di funzionamento al database di {{SITENAME}}.",
+       "delete-warning-toobig": "La cronologia di questa pagina è molto lunga (oltre $1 {{PLURAL:$1|versione|versioni}}). La sua cancellazione può creare dei problemi di funzionamento al database di {{SITENAME}}; procedere con cautela.",
        "deleting-backlinks-warning": "'''Attenzione:''' [[Special:WhatLinksHere/{{FULLPAGENAME}}|altre pagine]] contengono collegamenti o inclusioni alla pagina che stai per cancellare.",
        "rollback": "Annulla le modifiche",
        "rollback_short": "Rollback",
        "restriction-level-all": "tutti i livelli",
        "undelete": "Visualizza pagine cancellate",
        "undeletepage": "Visualizza e recupera le pagine cancellate",
-       "undeletepagetitle": "'''Quanto segue è composto da revisioni cancellate di [[:$1|$1]]'''.",
+       "undeletepagetitle": "'''Quanto segue è composto da versioni cancellate di [[:$1|$1]]'''.",
        "viewdeletedpage": "Visualizza le pagine cancellate",
        "undeletepagetext": "{{PLURAL:$1|La pagina indicata di seguito è stata cancellata, ma è ancora in archivio e pertanto può essere recuperata|Le pagine indicate di seguito sono state cancellate, ma sono ancora in archivio e pertanto possono essere recuperate}}. L'archivio può essere svuotato periodicamente.",
        "undelete-fieldset-title": "Ripristina versioni",
-       "undeleteextrahelp": "Per recuperare l'intera cronologia della pagina, lasciare tutte le caselle deselezionate e fare clic su '''''{{int:undeletebtn}}'''''.\nPer effettuare un ripristino selettivo, selezionare le caselle corrispondenti alle revisioni da ripristinare e fare clic su '''''{{int:undeletebtn}}'''''.",
-       "undeleterevisions": "{{PLURAL:$1|Una revisione|$1 revisioni}} in archivio",
-       "undeletehistory": "Recuperando questa pagina, tutte le sue versioni saranno ripristinate nella relativa cronologia.\nSe dopo la cancellazione è stata creata una nuova pagina con lo stesso titolo, le revisioni recuperate saranno inserite nella cronologia precedente.",
-       "undeleterevdel": "Il ripristino non verrà effettuato se determina la cancellazione parziale della versione attuale della pagina o del file interessato. In tal caso, è necessario rimuovere il segno di spunta o l'oscuramento dalle revisioni cancellate più recenti.",
-       "undeletehistorynoadmin": "Questa pagina è stata cancellata.\nIl motivo della cancellazione è mostrato qui sotto, assieme ai dettagli dell'utente che ha modificato questa pagina prima della cancellazione.\nIl testo contenuto nelle revisioni cancellate è disponibile solo agli amministratori.",
-       "undelete-revision": "Revisione cancellata della pagina $1, inserita il $4 alle $5 da $3:",
-       "undeleterevision-missing": "Revisione errata o mancante. Il collegamento è errato oppure la revisione è stata già ripristinata o eliminata dall'archivio.",
-       "undelete-nodiff": "Non è stata trovata nessuna revisione precedente.",
+       "undeleteextrahelp": "Per recuperare l'intera cronologia della pagina, lasciare tutte le caselle deselezionate e fare clic su '''''{{int:undeletebtn}}'''''.\nPer effettuare un ripristino selettivo, selezionare le caselle corrispondenti alle versioni da ripristinare e fare clic su '''''{{int:undeletebtn}}'''''.",
+       "undeleterevisions": "{{PLURAL:$1|Una versione|$1 versioni}} in archivio",
+       "undeletehistory": "Recuperando questa pagina, tutte le sue versioni saranno ripristinate nella relativa cronologia.\nSe dopo la cancellazione è stata creata una nuova pagina con lo stesso titolo, le versioni recuperate saranno inserite nella cronologia precedente.",
+       "undeleterevdel": "Il ripristino non verrà effettuato se determina la cancellazione parziale della versione attuale della pagina o del file interessato. In tal caso, è necessario rimuovere il segno di spunta o l'oscuramento dalle versioni cancellate più recenti.",
+       "undeletehistorynoadmin": "Questa pagina è stata cancellata.\nIl motivo della cancellazione è mostrato qui sotto, assieme ai dettagli dell'utente che ha modificato questa pagina prima della cancellazione.\nIl testo contenuto nelle versioni cancellate è disponibile solo agli amministratori.",
+       "undelete-revision": "Versione cancellata della pagina $1, inserita il $4 alle $5 da $3:",
+       "undeleterevision-missing": "Versione errata o mancante. Il collegamento è errato oppure la versione è stata già ripristinata o eliminata dall'archivio.",
+       "undelete-nodiff": "Non è stata trovata nessuna versione precedente.",
        "undeletebtn": "Ripristina",
        "undeletelink": "visualizza/ripristina",
        "undeleteviewlink": "visualizza",
        "undeleteinvert": "Inverti selezione",
        "undeletecomment": "Motivo:",
-       "undeletedrevisions": "{{PLURAL:$1|Una revisione recuperata|$1 revisioni recuperate}}",
-       "undeletedrevisions-files": "{{PLURAL:$1|Una revisione|$1 revisioni}} e $2 file recuperati",
+       "undeletedrevisions": "{{PLURAL:$1|Una versione recuperata|$1 versioni recuperate}}",
+       "undeletedrevisions-files": "{{PLURAL:$1|Una versione|$1 versioni}} e $2 file recuperati",
        "undeletedfiles": "{{PLURAL:$1|Un file recuperato|$1 file recuperati}}",
        "cannotundelete": "Ripristino non riuscito:\n$1",
        "undeletedpage": "'''La pagina $1 è stata recuperata'''\n\nConsultare il [[Special:Log/delete|log delle cancellazioni]] per vedere le cancellazioni e i recuperi più recenti.",
        "undelete-search-prefix": "Mostra le pagine il cui titolo inizia con:",
        "undelete-search-submit": "Cerca",
        "undelete-no-results": "Nessuna pagina corrispondente nell'archivio delle cancellazioni.",
-       "undelete-filename-mismatch": "Impossibile annullare la cancellazione della revisione del file con timestamp $1: nome file non corrispondente.",
-       "undelete-bad-store-key": "Impossibile annullare la cancellazione della revisione del file con timestamp $1: file non disponibile prima della cancellazione.",
+       "undelete-filename-mismatch": "Impossibile annullare la cancellazione della versione del file con timestamp $1: nome file non corrispondente.",
+       "undelete-bad-store-key": "Impossibile annullare la cancellazione della versione del file con timestamp $1: file non disponibile prima della cancellazione.",
        "undelete-cleanup-error": "Errore nella cancellazione del file di archivio non utilizzato \"$1\".",
        "undelete-missing-filearchive": "Impossibile ripristinare l'ID $1 dell'archivio file in quanto non è presente nel database. Potrebbe essere stato già ripristinato.",
        "undelete-error": "Errore nel ripristino della pagina",
        "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",
+       "sp-contributions-toponly": "Mostra solo i contributi che sono le ultime versioni per la pagina",
        "sp-contributions-newonly": "Visualizza solo le modifiche che sono creazioni di pagina",
        "sp-contributions-submit": "Ricerca",
        "whatlinkshere": "Puntano qui",
        "export": "Esporta pagine",
        "exporttext": "È possibile esportare il testo e la cronologia delle modifiche di una pagina o di un gruppo di pagine in formato XML per importarle in altri siti che utilizzano il software MediaWiki, attraverso la [[Special:Import|pagina delle importazioni]].\n\nPer esportare le pagine indicare i titoli nella casella di testo sottostante, uno per riga, e specificare se si desidera ottenere l'ultima versione e tutte le versioni precedenti, con i dati della cronologia della pagina, oppure soltanto l'ultima versione e i dati corrispondenti all'ultima modifica.\n\nIn quest'ultimo caso si può anche utilizzare un collegamento, ad esempio [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]] per esportare \"[[{{MediaWiki:Mainpage}}]]\".",
        "exportall": "Esporta tutte le pagine",
-       "exportcuronly": "Includi solo la revisione attuale, non l'intera cronologia",
+       "exportcuronly": "Includi solo la versione attuale, non l'intera cronologia",
        "exportnohistory": "----\n'''Nota:''' l'esportazione dell'intera cronologia delle pagine attraverso questa interfaccia è stata disattivata per motivi legati alle prestazioni del sistema.",
        "exportlistauthors": "Includi l'elenco completo dei contributori per ogni pagina",
        "export-submit": "Esporta",
        "import-comment": "Oggetto:",
        "importtext": "Si prega di esportare il file dal sito wiki di origine con la [[Special:Export|funzione di esportazione]], salvarlo sul proprio disco e poi caricarlo qui.",
        "importstart": "Importazione delle pagine in corso...",
-       "import-revision-count": "{{PLURAL:$1|una revisione importata|$1 revisioni importate}}",
+       "import-revision-count": "{{PLURAL:$1|una versione importata|$1 versioni importate}}",
        "importnopages": "Nessuna pagina da importare.",
        "imported-log-entries": "Importat{{PLURAL:$1|o|i}} $1 {{PLURAL:$1|evento|eventi}} di log.",
        "importfailed": "Importazione non riuscita: <nowiki>$1</nowiki>",
        "importlogpage": "Importazioni",
        "importlogpagetext": "Di seguito sono elencate le importazioni di pagine provenienti da altre wiki, complete di cronologia.",
        "import-logentry-upload": "ha importato [[$1]] tramite upload",
-       "import-logentry-upload-detail": "{{PLURAL:$1|una revisione importata|$1 revisioni importate}}",
+       "import-logentry-upload-detail": "{{PLURAL:$1|una versione importata|$1 versioni importate}}",
        "import-logentry-interwiki": "ha trasferito da altra wiki la pagina $1",
-       "import-logentry-interwiki-detail": "{{PLURAL:$1|una revisione importata|$1 revisioni importate}} da $2",
+       "import-logentry-interwiki-detail": "{{PLURAL:$1|una versione importata|$1 versioni importate}} da $2",
        "javascripttest": "Sperimentazione JavaScript",
        "javascripttest-title": "In esecuzione test per $1",
        "javascripttest-pagetext-noframework": "Questa pagina è riservata all'esecuzione di test di JavaScript.",
        "tooltip-summary": "Inserire una breve sintesi",
        "interlanguage-link-title": "$1 - $2",
        "common.css": "/* Gli stili CSS inseriti qui si applicano a tutte le skin */",
-       "cologneblue.css": "/* Gli stili CSS inseriti qui si applicano agli utenti che usano la skin Cologne Blue */",
        "monobook.css": "/* Gli stili CSS inseriti qui si applicano agli utenti che usano la skin Monobook */",
-       "modern.css": "/* Gli stili CSS inseriti qui si applicano agli utenti che usano la skin Modern */",
        "vector.css": "/* Gli stili CSS inseriti qui si applicano agli utenti che usano la skin Vector */",
        "print.css": "/* Gli stili CSS inseriti qui si applicano all'output in stampa */",
        "noscript.css": "/ * Gli stili CSS inseriti qui si applicano agli utenti che hanno JavaScript disabilitato * /",
        "group-sysop.css": "/ * Gli stili CSS inseriti qui si applicheranno solo agli amministratori/sysop * /",
        "group-bureaucrat.css": "/ * Gli stili CSS inseriti qui si applicheranno solo ai burocrati * /",
        "common.js": "/* Il codice JavaScript inserito qui viene caricato da ciascuna pagina, per tutti gli utenti. */",
-       "cologneblue.js": "/* Il codice JavaScript inserito qui viene caricato dagli utenti che usano la skin Cologne Blue */",
        "monobook.js": "/* Il codice JavaScript inserito qui viene caricato dagli utenti che usano la skin MonoBook */",
-       "modern.js": "/* Il codice JavaScript inserito qui viene caricato dagli utenti che usano la skin Modern */",
        "vector.js": "/* Il codice JavaScript inserito qui viene caricato dagli utenti che usano la skin Vector */",
        "group-autoconfirmed.js": "/ * Il codice JavaScript inserito qui viene caricato solo per gli utenti autoconvalidati * /",
        "group-user.js": "/ * Il codice JavaScript inserito qui viene caricato solo per gli utenti registrati * /",
        "patrol-log-page": "Modifiche verificate",
        "patrol-log-header": "Di seguito sono elencate le verifiche delle modifiche.",
        "log-show-hide-patrol": "$1 registro delle modifiche verificate",
-       "deletedrevision": "Cancellata la vecchia revisione di $1.",
+       "deletedrevision": "Cancellata la vecchia versione di $1.",
        "filedeleteerror-short": "Errore nella cancellazione del file: $1",
        "filedeleteerror-long": "Si sono verificati degli errori nel tentativo di cancellare il file:\n\n$1",
        "filedelete-missing": "Impossibile cancellare il file \"$1\" in quanto non esiste.",
-       "filedelete-old-unregistered": "La revisione del file indicata, \"$1\", non è contenuta nel database.",
+       "filedelete-old-unregistered": "La versione del file indicata, \"$1\", non è contenuta nel database.",
        "filedelete-current-unregistered": "Il file specificato, \"$1\", non è contenuto nel database.",
        "filedelete-archive-read-only": "Il server Web non è in grado di scrivere nella directory di archivio \"$1\".",
        "previousdiff": "← Differenza precedente",
        "comparepages": "Confronta le pagine",
        "compare-page1": "Pagina 1",
        "compare-page2": "Pagina 2",
-       "compare-rev1": "Revisione 1",
-       "compare-rev2": "Revisione 2",
+       "compare-rev1": "Versione 1",
+       "compare-rev2": "Versione 2",
        "compare-submit": "Confronta",
        "compare-invalid-title": "Il titolo che hai specificato non è valido.",
        "compare-title-not-exists": "Il titolo che hai specificato non esiste.",
index d83db33..e98596e 100644 (file)
        "searchmenu-exists": "<strong>このウィキには「[[:$1]]」という名前のページがあります。</strong>{{PLURAL:$2|0=|検索で見つかった他のページも参照してください。}}",
        "searchmenu-new": "<strong>このウィキでページ「[[:$1]]」を新規作成しましょう。</strong>{{PLURAL:$2|0=|検索で見つかった他のページも参照してください。}}",
        "searchprofile-articles": "本文ページ",
-       "searchprofile-project": "ヘルプとプロジェクトページ",
        "searchprofile-images": "マルチメディア",
        "searchprofile-everything": "すべて",
        "searchprofile-advanced": "詳細",
        "searchprofile-articles-tooltip": "$1内を検索",
-       "searchprofile-project-tooltip": "$1内を検索",
        "searchprofile-images-tooltip": "ファイルを検索",
        "searchprofile-everything-tooltip": "全本文ページ (トークページを含む) 内を検索",
        "searchprofile-advanced-tooltip": "特定の名前空間内を検索",
        "tooltip-summary": "短い要約を入力してください",
        "interlanguage-link-title": "$2: $1",
        "common.css": "/* ここに記述したCSSはすべての外装に反映されます */",
-       "cologneblue.css": "/* ここに記述したCSSはケルンブルー外装の利用者に影響します */",
        "monobook.css": "/* ここに記述したCSSはモノブック外装の利用者に影響します */",
-       "modern.css": "/* ここに記述したCSSはモダン外装の利用者に影響します */",
        "vector.css": "/* ここに記述したCSSはベクター外装の利用者に影響します */",
        "print.css": "/* ここに記述したCSSは印刷出力に影響します */",
        "noscript.css": "/* ここに記述したCSSはJavaScriptを無効にしている利用者に影響します */",
        "group-sysop.css": "/* ここに記述したCSSは管理者のみに影響します */",
        "group-bureaucrat.css": "/* ここに記述したCSSはビューロクラットのみに影響します */",
        "common.js": "/* ここにあるすべてのJavaScriptは、すべてのページ読み込みですべての利用者に対して読み込まれます */",
-       "cologneblue.js": "/* ここにあるすべてのJavaScriptは、ケルンブルー外装を使用している利用者に対して読み込まれます */",
        "monobook.js": "/* ここにあるすべてのJavaScriptは、モノブック外装を使用している利用者に対して読み込まれます */",
-       "modern.js": "/* ここにあるすべてのJavaScriptは、モダン外装を使用している利用者に対して読み込まれます */",
        "vector.js": "/* ここにあるすべてのJavaScriptは、ベクター外装を使用している利用者に対して読み込まれます */",
        "group-autoconfirmed.js": "/* ここにあるすべてのJavaScriptは、自動承認された利用者のみに読み込まれます */",
        "group-user.js": "/* ここにあるすべてのJavaScriptは、登録利用者のみに読み込まれます */",
        "pageinfo-category-pages": "ページ数",
        "pageinfo-category-subcats": "下位カテゴリ数",
        "pageinfo-category-files": "ファイル数",
-       "skinname-cologneblue": "ケルンブルー",
        "skinname-monobook": "モノブック",
-       "skinname-modern": "モダン",
        "skinname-vector": "ベクター",
        "markaspatrolleddiff": "巡回済みにする",
        "markaspatrolledtext": "このページを巡回済みにする",
index cbc1c6c..b562bd2 100644 (file)
        "searchmenu-exists": "'''Бұл жобада «[[:$1]]» деген бет бар.'''",
        "searchmenu-new": "<strong>«[[:$1]]» осындай атпен бұл уикиде бетті бастау!</strong> {{PLURAL:$2|0=|Іздегеніңіз бойынша табылған беттер:|Табылған іздеу нәтижелері:}}",
        "searchprofile-articles": "Негізгі беттер",
-       "searchprofile-project": "Анықтама және жоба беттері",
        "searchprofile-images": "Мультимедиа",
        "searchprofile-everything": "Барлық жерде",
        "searchprofile-advanced": "Кеңейтілген",
        "searchprofile-articles-tooltip": "$1 іздеу",
-       "searchprofile-project-tooltip": "$1 іздеу",
        "searchprofile-images-tooltip": "Файлдарды іздеу",
        "searchprofile-everything-tooltip": "Барлық беттерден іздеу (талқылау беттерін қоса)",
        "searchprofile-advanced-tooltip": "Әдепкі есім кеңістігінен іздеу",
        "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": "Сүзгілер",
        "tooltip-preferences-save": "Бапталымдарыңызды сақтау",
        "tooltip-summary": "Қысқаша түйіндемесін енгізіңіз",
        "common.css": "/* Мында орналастырылған CSS барлық мәнерлерде қолданылады */",
-       "cologneblue.css": "/* Мында орналастырылған CSS тек «Көлн зеңгірлігі» (cologneblue) мәнерін пайдаланушыларына ықпал етеді skin */",
        "monobook.css": "/* Мында орналастырылған CSS тек «Дара кітап» (monobook) мәнерін пайдаланушыларына ықпал етеді */",
-       "modern.css": "/* Мында орналастырылған CSS тек «Заманауи» (modern) мәнерін пайдаланушыларына ықпал етеді */",
        "common.js": "/* Мындағы әртүрлі JavaScript кез келген бет қотарылғанда барлық пайдаланушылар үшін жегіледі. */",
-       "cologneblue.js": "/* Мындағы JavaScript тек «Көлн зеңгірлігі» (cologneblue) мәнерін пайдаланушылар үшін жегіледі */",
        "monobook.js": "/* Мындағы JavaScript тек «Дара кітап» (monobook) мәнерін пайдаланушылар үшін жегіледі */",
-       "modern.js": "/* Мындағы JavaScript тек «Заманауи» (modern) мәнерін пайдаланушылар үшін жегіледі */",
        "anonymous": "{{SITENAME}} тіркелгісіз {{PLURAL:$1|қатысушысы|қатысушылары}}",
        "siteuser": "{{SITENAME}} қатысушы $1",
        "anonuser": "{{SITENAME}} анонимді қатысушы: $1",
        "pageinfo-category-pages": "Беттер саны",
        "pageinfo-category-subcats": "Санатшалар саны",
        "pageinfo-category-files": "Файлдар саны",
-       "skinname-cologneblue": "Көк зеңгірлігі (cologneblue)",
        "skinname-monobook": "Жеке кітап (monobook)",
-       "skinname-modern": "Заманауи (modern)",
        "markaspatrolleddiff": "Зерттелді деп белгілеу",
        "markaspatrolledtext": "Бұл бетті тексерілді деп белгілеу",
        "markedaspatrolled": "Тексерілді деп белгіленді",
index 75b6e15..a2e70a9 100644 (file)
        "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": "ಈ ಬಳಕೆದಾರರನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ. ಲಾಗಿನ್ ಆಗಲು ಸಾದ್ಯವಿಲ್ಲ.",
        "searchmenu-exists": "'''\"[[:$1]]\" ಹೆಸರಿನ ಪುಟ ಈ ವಿಕಿಯಲ್ಲಿದೆ.'''",
        "searchmenu-new": "'''''[[:$1]]'' ಪುಟವನ್ನು ಈ ವಿಕಿಯಲ್ಲಿ ಸೃಷ್ಟಿಸಿ!'''",
        "searchprofile-articles": "ಲೇಖನ ಪುಟ",
-       "searchprofile-project": "ಸಹಾಯ ಮತ್ತು ಯೋಜನೆ ಪುಟಗಳು",
        "searchprofile-images": "ಬಹುಮಾಧ್ಯಮ",
        "searchprofile-everything": "ಪ್ರತಿಯೊಂದು",
        "searchprofile-advanced": "ಪರಿಣತ",
        "searchprofile-articles-tooltip": "$1 ನಲ್ಲಿ ಹುಡುಕಿ",
-       "searchprofile-project-tooltip": "$1 ನಲ್ಲಿ ಹುಡುಕಿ",
        "searchprofile-images-tooltip": "ಹುದುಕಿ  ಹಲೆಯನು",
        "searchprofile-everything-tooltip": "ಹುದುಕಿ ಯಲ ಸುಮನು (ಇಥಿಯದಿ ಮಾಥು ಹಲೆ)",
        "searchprofile-advanced-tooltip": "ಹುಧುಕಿ ನಮ ಜಾಗ ಹೆಸರುಸ್ತಲ್ಲ",
        "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": "ಇ-ಅಂಚೆ ವಿಳಾಸ ಕಡ್ಡಾಯವಲ್ಲ, ಆದರೆ ನೀವು ಅದನ್ನು ನೀಡಿದರೆ ನೀವು ನಿಮ್ಮ ಪ್ರವೇಶ ಪದವನ್ನು ಮರೆತರೆ ಅದನ್ನು ನಿಮಗೆ ಇ-ಅಂಚೆಯಿಂದ ಕಳುಹಿಸಿಬಹುದು.",
index d9149c3..bda0f5b 100644 (file)
        "searchmenu-exists": "'''이 위키에 \"[[:$1]]\"의 이름을 가진 문서가 있습니다.'''",
        "searchmenu-new": "<strong>이 위키에 \"[[:$1]]\" 문서를 만드세요!</strong> {{PLURAL:$2|0=|검색으로 찾은 문서도 보세요.|찾은 검색 결과도 보세요.}}",
        "searchprofile-articles": "본문",
-       "searchprofile-project": "도움말 및 프로젝트 문서",
        "searchprofile-images": "멀티미디어",
        "searchprofile-everything": "모든 문서",
        "searchprofile-advanced": "고급",
        "searchprofile-articles-tooltip": "$1에서 검색",
-       "searchprofile-project-tooltip": "$1에서 검색",
        "searchprofile-images-tooltip": "파일 검색",
        "searchprofile-everything-tooltip": "모든 내용 (토론 문서를 포함) 검색",
        "searchprofile-advanced-tooltip": "다음 설정한 이름공간에서 검색",
        "tooltip-summary": "짧은 요약을 적어주세요",
        "interlanguage-link-title": "$1 – $2",
        "common.css": "/* 이 CSS 설정은 모든 스킨에 동일하게 적용됩니다 */",
-       "cologneblue.css": "/* 이 CSS 설정은 쾰른 블루 스킨을 사용하는 사용자에게 적용됩니다 */",
        "monobook.css": "/* 이 CSS 설정은 모노북 스킨을 사용하는 사용자에게 적용됩니다 */",
-       "modern.css": "/* 이 CSS 설정은 모던 스킨을 사용하는 사용자에게 적용됩니다 */",
        "vector.css": "/* 이 CSS 설정은 벡터 스킨을 사용하는 사용자에게 적용됩니다 */",
        "print.css": "/* 이 CSS 설정은 인쇄 출력 화면에 적용됩니다 */",
        "noscript.css": "/* 이 CSS 설정은 자바스크립트를 비활성화한 사용자에 적용됩니다 */",
        "group-sysop.css": "/* 이 CSS 설정은 관리자에만 적용됩니다 */",
        "group-bureaucrat.css": "/* 이 CSS 설정은 사무관에만 적용됩니다 */",
        "common.js": "/* 이 자바스크립트 설정은 모든 문서, 모든 사용자에게 적용됩니다. */",
-       "cologneblue.js": "/* 이 자바스크립트 설정은 쾰른 블루 스킨을 사용하는 사용자에게 적용됩니다 */",
        "monobook.js": "/* 이 자바스크립트 설정은 모노북 스킨을 사용하는 사용자에게 적용됩니다 */",
-       "modern.js": "/* 이 자바스크립트 설정은 모던 스킨을 사용하는 사용자에게 적용됩니다 */",
        "vector.js": "/* 이 자바스크립트 설정은 벡터 스킨을 사용하는 사용자에게 적용됩니다 */",
        "group-autoconfirmed.js": "/* 이 자바스크립트 설정은 자동 인증된 사용자에만 적용됩니다 */",
        "group-bot.js": "/* 이 자바스크립트 설정은 봇에만 적용됩니다 */",
        "pageinfo-category-pages": "문서 수",
        "pageinfo-category-subcats": "하위 분류 수",
        "pageinfo-category-files": "파일 수",
-       "skinname-cologneblue": "쾰른 블루",
        "skinname-monobook": "모노북",
-       "skinname-modern": "모던",
        "skinname-vector": "벡터",
        "markaspatrolleddiff": "검토한 문서로 표시",
        "markaspatrolledtext": "이 문서를 검토한 것으로 표시",
index 157fd68..eaed4ff 100644 (file)
        "searchmenu-exists": "'''Бу викиде «[[:$1]]» бет барды'''",
        "searchmenu-new": "<strong>Бу вики-проектде «[[:$1]]» бетни къура!</strong>\n{{PLURAL:$2|0=|Дагъыда табылгъан излеу эсебге къарагъыз.|Дагъыда табылгъан излеу эсеблеге къарагъыз.}}",
        "searchprofile-articles": "Баш бетле",
-       "searchprofile-project": "Болушлукъ эм проект бетле",
        "searchprofile-images": "Мультимедия",
        "searchprofile-everything": "Хар къайда",
        "searchprofile-advanced": "Кенгерген",
        "searchprofile-articles-tooltip": "$1 ичинде изле",
-       "searchprofile-project-tooltip": "$1 ичинде изле",
        "searchprofile-images-tooltip": "Файлланы изле",
        "searchprofile-everything-tooltip": "Бютеу бетледе изле (сюзюу бетледе да)",
        "searchprofile-advanced-tooltip": "Энчи ат аланладада изле",
        "recentchanges-label-unpatrolled": "Бу тюрлендириу алкъын патруль этилинмегенди",
        "recentchanges-label-plusminus": "Бетни ёлчеми быллай бир байтха тюрленнгенди",
        "recentchanges-legend-newpage": "(къарагъыз: [[Special:NewPages|джангы бетлени тизмеси]])",
+       "recentchanges-legend-plusminus": "(''±123'')",
        "rcnotefrom": "Тюбюрекде <strong>$2</strong> башлаб (<strong>$1</strong> дери) тюрлендириуле кёрюнедиле",
        "rclistfrom": "$3 $2 башлаб джангы тюрлениулени кёргюз",
        "rcshowhideminor": "гитче тюрлениулени $1",
        "lastmodifiedatby": "Бет эм ахыр $3 джанындан $2, $1 заманда тюрлендирилгенди.",
        "othercontribs": "$1 джанындан этилген ишге тамалланады.",
        "others": "башхала",
-       "siteusers": "{{SITENAME}} {{PLURAL:$2|1=къошулуучу|къошулуучула}} $1",
+       "siteusers": "{{SITENAME}} {{PLURAL:$2|къошулуучусу|къошулуучулары}} $1",
        "anonusers": "{{SITENAME}} аноним {{PLURAL:$2|къошулуучусу|къошулуучулары}} $1",
        "creditspage": "Бетни кредитлери",
        "nocredits": "Бу къошулуучу ючюн кредит билги джокъду.",
        "pageinfo-category-pages": "Бетлени саны",
        "pageinfo-category-subcats": "Тюбкатегорияланы саны",
        "pageinfo-category-files": "Файлланы саны",
-       "skinname-cologneblue": "Кёльн такъылыкъ",
        "skinname-monobook": "Моно-китаб",
-       "skinname-modern": "Бусагъатдагъы",
        "skinname-vector": "Вектор",
        "markaspatrolleddiff": "Контроль этилгенин белгиле",
        "markaspatrolledtext": "Сыналгъан статья кибик белгиле",
index 557ecc9..42633ac 100644 (file)
        "searchmenu-exists": "* Säit '''[[$1]]'''",
        "searchmenu-new": "<strong>Opmaache vun der Säit ''[[:$1]]'' op dëser Wiki!</strong> {{PLURAL:$2|0=|Kuckt och d'Säit déi Dir beim siche fonnt hutt.|Kuckt och d'Resultater déi Dir beim siche fonnt hutt.}}",
        "searchprofile-articles": "Säite mat Inhalt",
-       "searchprofile-project": "Hëllef a Projetssäiten",
        "searchprofile-images": "Multimedia",
        "searchprofile-everything": "Alles",
        "searchprofile-advanced": "Erweidert",
        "searchprofile-articles-tooltip": "Sichen a(n) $1",
-       "searchprofile-project-tooltip": "Sichen a(n) $1",
        "searchprofile-images-tooltip": "No Fichiere sichen",
        "searchprofile-everything-tooltip": "Op alle Säiten nom Inhalt sichen  (inklusiv Diskussiounssäiten)",
        "searchprofile-advanced-tooltip": "Sich an den Nummraim déi an de perséinlichen Astellungen festgeluecht sinn",
        "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 zréckgesat ginn;\neen Aneren huet dat 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]]}}",
        "tooltip-summary": "Gitt e kuerze Resumé an",
        "interlanguage-link-title": "$1 - $2",
        "common.css": "/* Dës CSS huet nëmmen Afloss op de Skin ''Chick''  */",
-       "cologneblue.css": "/* Dës CSS huet nëmmen Afloss op de Skin ''Köln Blo''  */",
        "monobook.css": "/* Dës CSS huet nëmmen Afloss op de Skin ''Monobook''  */",
-       "modern.css": "/* Dës CSS huet nëmmen Afloss op de Skin ''Modern''  */",
        "common.js": "/* All JavaScript hei gëtt fir all Benotzer beim Luede vun all Säit gelueden. */",
        "anonymous": "{{PLURAL:$1|Anonyme Benotzer|Anonym Benotzer}} op {{SITENAME}}",
        "siteuser": "{{SITENAME}}-Benotzer $1",
        "pageinfo-category-pages": "Zuel vun de Säiten",
        "pageinfo-category-subcats": "Zuel vun den Ënnerkategorien",
        "pageinfo-category-files": "Zuel vun de Fichieren",
-       "skinname-cologneblue": "Köln Blo",
        "skinname-monobook": "MonoBook",
-       "skinname-modern": "Modern",
        "markaspatrolleddiff": "Als nogekuckt markéieren",
        "markaspatrolledtext": "Dës Säit als nogekuckt markéieren",
        "markedaspatrolled": "ass als nogekuckt markéiert",
index 0cbc6c4..c6244cd 100644 (file)
        "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-project": "Paginn de jüt e de pruget",
        "searchprofile-images": "Multimedia",
        "searchprofile-everything": "Tüt",
        "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",
index bc2ad0f..bea4e6f 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)",
        "searchmenu-exists": "'''Misy pejy mitondra anarana « [[:$1]] » eto amin'ity wiki ity'''",
        "searchmenu-new": "<strong>Hamorona ny pejy \"[[:$1]]\" eto amin'ity wiki ity!</strong> {{PLURAL:$2|0=|Jereo koa ny pejy hita tamin'ny karokao.|Jereo koa ny valim-pikarohana hita.}}",
        "searchprofile-articles": "Pejy misy votoatiny",
-       "searchprofile-project": "Pejy fanampiana sy pejy tetikasa",
        "searchprofile-images": "Multimedia",
        "searchprofile-everything": "Izy Rehetra",
        "searchprofile-advanced": "Fikarohana antsipirihany",
        "searchprofile-articles-tooltip": "Hikaroka ao amin'ny $1",
-       "searchprofile-project-tooltip": "Hikaroka ao amin'ny $1",
        "searchprofile-images-tooltip": "Hikaroka rakitra multimedia",
        "searchprofile-everything-tooltip": "Hitady eraky ny tranonkala (miaraka amin'ny pejin-dresaka)",
        "searchprofile-advanced-tooltip": "Hitady ny anaran-tsehatra ho an'ny fikarohana",
        "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 eba4c27..9c59c20 100644 (file)
        "searchmenu-exists": "'''\"[[:$1]]\" എന്ന തലക്കെട്ടിൽ ഒരു താൾ ഈ വിക്കിയിൽ നിലവിലുണ്ട്'''",
        "searchmenu-new": "<strong>ഈ വിക്കിയിൽ \"[[:$1]]\" എന്ന താൾ സൃഷ്ടിക്കുക!</strong> {{PLURAL:$2|0=|ഒപ്പം താങ്കളുടെ തിരയലിനു ലഭിച്ച ഫലമായ ഈ താൾ കാണുക.|ഒപ്പം താങ്കളുടെ തിരയലിനു ലഭിച്ച ഫലങ്ങൾ കാണുക.}}",
        "searchprofile-articles": "ലേഖനങ്ങളിൽ",
-       "searchprofile-project": "സഹായം, പദ്ധതി താളുകളിൽ",
        "searchprofile-images": "പ്രമാണങ്ങളിൽ",
        "searchprofile-everything": "എല്ലാം",
        "searchprofile-advanced": "വിപുലമായ വിധം",
        "searchprofile-articles-tooltip": "$1 മേഖലയിൽ തിരയുക",
-       "searchprofile-project-tooltip": "$1 മേഖലകളിൽ തിരയുക",
        "searchprofile-images-tooltip": "പ്രമാണങ്ങൾക്ക് വേണ്ടി തിരയുക",
        "searchprofile-everything-tooltip": "എല്ലാ ഉള്ളടക്കവും തിരയുക (സംവാദത്താളുകൾ ഉൾപ്പെടെ)",
        "searchprofile-advanced-tooltip": "തിരഞ്ഞെടുത്ത നാമമേഖലകളിൽ തിരച്ചിൽ നടത്തുവാൻ",
        "tooltip-summary": "ചെറിയൊരു ചുരുക്കം ചേർക്കുക",
        "common.css": "/* ഇവിടെ നൽകുന്ന സി.എസ്.എസ്. എല്ലാ ദൃശ്യരൂപങ്ങൾക്കും ബാധകമായിരിക്കും */",
        "monobook.css": "/* ഇവിടെ നൽകുന്ന സി.എസ്.എസ്. മോണോബുക്ക് ദൃശ്യരൂപം ഉപയോഗിക്കുന്നവർക്ക് ബാധകമായിരിക്കും */",
-       "modern.css": "/* ഇവിടെ നൽകുന്ന സി.എസ്.എസ്. നവീനം ദൃശ്യരൂപം ഉപയോഗിക്കുന്നവർക്ക് ബാധകമായിരിക്കും */",
        "vector.css": "/* ഇവിടെ നൽകുന്ന സി.എസ്.എസ്. വെക്റ്റർ ദൃശ്യരൂപത്തിനു ബാധകമായിരിക്കും*/",
        "noscript.css": "/* ഇവിടെ നൽകുന്ന സി.എസ്.എസ്., ജാവാസ്ക്രിപ്റ്റ് സജ്ജമാക്കിയിട്ടില്ലാത്ത ഉപയോക്താക്കൾക്ക് ബാധകമായിരിക്കും */",
        "group-autoconfirmed.css": "/* ഇവിടെ നൽകുന്ന സി.എസ്.എസ്. യാന്ത്രികമായി സ്ഥിരീകരിച്ച ഉപയോക്താക്കൾക്ക് ബാധകമായിരിക്കും */",
        "group-bureaucrat.css": "/* ഇവിടെ നൽകുന്ന സി.എസ്.എസ്. ബ്യൂറോക്രാറ്റുകൾക്ക് ബാധകമായിരിക്കും */",
        "common.js": "/* ഇവിടെ നൽകുന്ന ജാവാസ്ക്രിപ്റ്റ് എല്ലാ ഉപയോക്താക്കൾക്കും, എല്ലാ താളുകളിലും പ്രവർത്തിക്കുന്നതായിരിക്കും */",
        "monobook.js": "/* ഇവിടെ നൽകുന്ന ജാവാസ്ക്രിപ്റ്റ് മോണോബുക്ക് ദൃശ്യരൂപം ഉപയോഗിക്കുന്നവർക്ക് ബാധകമായിരിക്കും */",
-       "modern.js": "/* ഇവിടെ നൽകുന്ന ജാവാസ്ക്രിപ്റ്റ് നവീനം ദൃശ്യരൂപം ഉപയോഗിക്കുന്നവർക്ക് ബാധകമായിരിക്കും */",
        "vector.js": "/*ഇവിടെ നൽകുന്ന ജാവാസ്ക്രിപ്റ്റ് വെക്റ്റർ ദൃശ്യരൂപം ഉപയോഗിക്കുന്ന ഉപയോക്താക്കൾക്ക് ബാധകമായിരിക്കും*/",
        "group-autoconfirmed.js": "/* ഇവിടെ നൽകുന്ന ജാവാസ്ക്രിപ്റ്റ് യാന്ത്രികമായി സ്ഥിരീകരിക്കപ്പെട്ട ഉപയോക്താക്കൾക്ക് ബാധകമായിരിക്കും */",
        "group-bot.js": "/* ഇവിടെ നൽകുന്ന ജാവാസ്ക്രിപ്റ്റ് ബോട്ടുകൾക്ക് ബാധകമായിരിക്കും */",
        "pageinfo-category-pages": "താളുകളുടെ എണ്ണം",
        "pageinfo-category-subcats": "ഉപവർഗ്ഗങ്ങളുടെ എണ്ണം",
        "pageinfo-category-files": "പ്രമാണങ്ങളുടെ എണ്ണം",
-       "skinname-cologneblue": "ക്ലോൺ നീല",
        "skinname-monobook": "മോണോബുക്ക്",
-       "skinname-modern": "നവീനം",
        "skinname-vector": "വെക്റ്റർ",
        "markaspatrolleddiff": "റോന്തുചുറ്റിയതായി അടയാളപ്പെടുത്തുക",
        "markaspatrolledtext": "ഈ താളിൽ റോന്തുചുറ്റിയതായി രേഖപ്പെടുത്തുക",
        "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 4ba7af1..328e7c2 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",
        "searchmenu-exists": "'''Hemm paġna bl-isem ta' \"[[:$1]]\" fuq din il-wiki'''",
        "searchmenu-new": "'''Oħloq il-paġna \"[[:$1]]\" fuq din il-wiki!'''",
        "searchprofile-articles": "Paġni ta' kontenut",
-       "searchprofile-project": "Paġni ta' għajnuna u ta' proġett",
        "searchprofile-images": "Multimedja",
        "searchprofile-everything": "Kollox",
        "searchprofile-advanced": "Avvanzata",
        "searchprofile-articles-tooltip": "Fittex f'$1",
-       "searchprofile-project-tooltip": "Fittex f'$1",
        "searchprofile-images-tooltip": "Fittex għal fajls",
        "searchprofile-everything-tooltip": "Fittex kullimkien (inklużi l-paġni ta' diskussjoni)",
        "searchprofile-advanced-tooltip": "Fittex fi spazji tal-isem personalizzati",
        "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.",
        "tooltip-preferences-save": "Salva l-preferenzi",
        "tooltip-summary": "Daħħal taqsira żgħira",
        "common.css": "/* CSS li tpoġġa hawnhekk irrid jiġi applikat fl-iskins kollha */",
-       "cologneblue.css": "/* CSS li tpoġġa hawnhekk se jaffetwa dawk l-utenti li jagħmlu użu mill-aspett grafiku Cologne Blue */",
        "monobook.css": "/* CSS li tpoġġa hawnhekk se jaffetwa dawk l-utenti li jagħmlu użu mill-iskin ''Monobook'' */",
-       "modern.css": "/* CSS li tpoġġa hawnhekk se jaffetwa dawk l-utenti li jagħmlu użu mill-aspett grafiku Modern */",
        "common.js": "/* Kull ''JavaScript'' hawnhekk jiġi mniżżel għal kull utent f'kull tniżżil ta' paġna. */",
-       "cologneblue.js": "/* Kull ''JavaScript'' hawnhekk jiġi mniżżel għal dawk l-utenti li qegħdin jagħmlu użu mill-iskin ''Cologne Blue'' */",
        "monobook.js": "/* Kull ''JavaScript'' hawnhekk jiġi mniżżel għal dawk l-utenti li qegħdin jagħmlu użu mill-iskin ''Monobook'' */",
-       "modern.js": "/* Kull ''JavaScript'' hawnhekk jiġi mniżżel għal dawk l-utenti li qegħdin jagħmlu użu mill-iskin ''Modern''*/",
        "anonymous": "{{PLURAL:$1|Utent anonimu|Utenti anonimi}} ta' {{SITENAME}}",
        "siteuser": "$1, utent tal-{{SITENAME}}",
        "anonuser": "$1, utent anonimu ta' {{SITENAME}}",
        "pageinfo-protect-cascading": "Protezzjoni li tintiret minn hawnhekk",
        "pageinfo-protect-cascading-yes": "Iva",
        "pageinfo-protect-cascading-from": "Protezzjoni li tintiret minn",
-       "skinname-cologneblue": "Cologne Blue",
        "skinname-monobook": "Monobook",
-       "skinname-modern": "Modern",
        "markaspatrolleddiff": "Marka l-modifiki bħalha verifikati",
        "markaspatrolledtext": "Immarka din il-paġna bħala verifikata",
        "markedaspatrolled": "Markat bħalha verifikat",
index 33814aa..e49fb90 100644 (file)
        "searchmenu-exists": "* Siden '''[[$1]]'''",
        "searchmenu-new": "'''Opprett siden ''[[:$1]]'' på denne wikien.'''\n<strong>Opprett siden \"[[:$1]]\" på denne wikien!</strong> {{PLURAL:$2|0=|Se også siden oppnådd gjennom søket ditt.|Se også de oppnådde søkeresultatene.}}",
        "searchprofile-articles": "Innholdssider",
-       "searchprofile-project": "Hjelp- og prosjektsider",
        "searchprofile-images": "Multimedia",
        "searchprofile-everything": "Alt",
        "searchprofile-advanced": "Avansert",
        "searchprofile-articles-tooltip": "Søk i $1",
-       "searchprofile-project-tooltip": "Søk i $1",
        "searchprofile-images-tooltip": "Søk etter filer",
        "searchprofile-everything-tooltip": "Søk i alt innhold (inkldert diskusjonssider)",
        "searchprofile-advanced-tooltip": "Søk i visse navnerom",
        "tooltip-summary": "Skriv et kort sammendrag",
        "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 */",
-       "modern.css": "/* CSS i denne fila vil gjelde alle som bruker drakta Modern */",
        "common.js": "/* Javascript i denne fila vil gjelde for alle drakter. */",
-       "cologneblue.js": "/* Javascript i denne fila vil gjelde for brukere av drakta Kølnerblå */",
        "monobook.js": "/* Javascript i denne fila vil gjelde for brukere av drakta Monobook */",
-       "modern.js": "/* Javascript i denne fila vil gjelde for brukere av drakta Modern */",
        "anonymous": "{{PLURAL:$1|Anonym bruker|Anonyme brukere}} av {{SITENAME}}",
        "siteuser": "{{SITENAME}}-bruker $1",
        "anonuser": "{{SITENAME}}s anonyme bruker $1",
        "pageinfo-category-pages": "Antall sider",
        "pageinfo-category-subcats": "Antall underkategorier",
        "pageinfo-category-files": "Antall filer",
-       "skinname-cologneblue": "Kølnerblå",
        "skinname-monobook": "Monobook",
-       "skinname-modern": "Moderne",
        "markaspatrolleddiff": "Merk som patruljert",
        "markaspatrolledtext": "Merk denne siden som patruljert",
        "markedaspatrolled": "Merket som patruljert",
index 29c48aa..2620837 100644 (file)
        "virus-unknownscanner": "onbekend antivirusprogramma:",
        "logouttext": "'''U bent nu afgemeld.'''\n\nSommige pagina's kunnen blijven weergegeven alsof u nog aangemeld bent, totdat u uw browsercache leegt.",
        "welcomeuser": "Welkom, $1!",
-       "welcomecreation-msg": "Uw gebruiker is aangemaakt.\nVergeet niet uw [[Special:Preferences|voorkeuren voor {{SITENAME}}]] aan te passen.",
+       "welcomecreation-msg": "Uw account is aangemaakt.\nIndien gewenst kunt u uw [[Special:Preferences|voorkeuren]] voor {{SITENAME}} aanpassen.",
        "yourname": "Gebruikersnaam:",
        "userlogin-yourname": "Gebruikersnaam",
        "userlogin-yourname-ph": "Geef uw gebruikersnaam op",
        "userlogin-signwithsecure": "Beveiligde verbinding gebruiken",
        "yourdomainname": "Uw domein:",
        "password-change-forbidden": "U kunt uw wachtwoord niet wijzigen in deze wiki.",
-       "externaldberror": "Er is een fout opgetreden bij het aanmelden bij de database of u hebt geen toestemming uw externe gebruiker bij te werken.",
+       "externaldberror": "Er is een fout opgetreden bij het aanmelden bij de database of u hebt geen toestemming uw externe account bij te werken.",
        "login": "Aanmelden",
        "nav-login-createaccount": "Aanmelden / registreren",
        "loginprompt": "U moet cookies ingeschakeld hebben om u te kunnen aanmelden bij {{SITENAME}}.",
        "logout": "Afmelden",
        "userlogout": "Afmelden",
        "notloggedin": "Niet aangemeld",
-       "userlogin-noaccount": "Hebt u geen gebruiker?",
+       "userlogin-noaccount": "Hebt u geen account?",
        "userlogin-joinproject": "Word lid van {{SITENAME}}",
-       "nologin": "Nog geen gebruikersnaam? $1.",
+       "nologin": "Hebt u geen account? $1.",
        "nologinlink": "Registreren",
        "createaccount": "Registreren",
-       "gotaccount": "Hebt u al een gebruikersnaam? $1.",
+       "gotaccount": "Hebt u al een account? $1.",
        "gotaccountlink": "Aanmelden",
        "userlogin-resetlink": "Bent u uw aanmeldgegevens vergeten?",
        "userlogin-resetpassword-link": "Wachtwoord vergeten?",
        "userlogin-helplink2": "Hulp bij aanmelden",
        "userlogin-loggedin": "U bent al aangemeld als {{GENDER:$1|$1}}.\nGebruik het onderstaande formulier om aan te melden als een andere gebruiker.",
-       "userlogin-createanother": "Gebruiker aanmaken",
+       "userlogin-createanother": "Een andere account aanmaken",
        "createacct-emailrequired": "E-mailadres",
        "createacct-emailoptional": "E-mailadres (optioneel)",
        "createacct-email-ph": "Geef uw e-mailadres op",
        "invalidemailaddress": "Het e-mailadres is niet aanvaard, omdat het een ongeldige opmaak heeft.\nGeef een geldig e-mailadres op of laat het veld leeg.",
        "cannotchangeemail": "Het e-mailadres voor een gebruiker kan op deze wiki niet gewijzigd worden.",
        "emaildisabled": "Deze site kan geen e-mails verzenden.",
-       "accountcreated": "Gebruiker aangemaakt",
-       "accountcreatedtext": "De gebruiker [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|overleg]]) is aangemaakt.",
+       "accountcreated": "Account aangemaakt",
+       "accountcreatedtext": "Het gebruikersaccount voor [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|overleg]]) is aangemaakt.",
        "createaccount-title": "Gebruikers registreren voor {{SITENAME}}",
        "createaccount-text": "Iemand heeft een gebruiker op {{SITENAME}} ($4) aangemaakt met de naam \"$2\" en uw e-mailadres.\nHet wachtwoord voor \"$2\" is \"$3\".\nMeld u aan en wijzig uw wachtwoord.\n\nNegeer dit bericht als deze gebruiker zonder uw medeweten is aangemaakt.",
        "login-throttled": "U heeft recentelijk te veel mislukte aanmeldpogingen gedaan.\nWacht alstublieft $1 voordat u het opnieuw probeert.",
        "searchmenu-exists": "* Pagina '''[[$1]]'''",
        "searchmenu-new": "<strong>Maak de pagina \"[[:$1]]\" op deze wiki!</strong> {{PLURAL:$2|0=|Zie ook de pagina met uw zoekresultaat. |Zie ook de lijst met gevonden zoekresultaten}}",
        "searchprofile-articles": "Inhoudelijke pagina's",
-       "searchprofile-project": "Hulp- en projectpagina's",
        "searchprofile-images": "Multimedia",
        "searchprofile-everything": "Alles",
        "searchprofile-advanced": "Uitgebreid",
        "searchprofile-articles-tooltip": "Zoeken in $1",
-       "searchprofile-project-tooltip": "Zoeken in $1",
        "searchprofile-images-tooltip": "Zoeken naar bestanden",
        "searchprofile-everything-tooltip": "Alle inhoud doorzoeken (inclusief overlegpagina's)",
        "searchprofile-advanced-tooltip": "Zoeken in opgegeven naamruimten",
        "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 toegevoegd aan uw volglijst.",
+       "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 verwijderd van uw volglijst.",
+       "removedwatchtext-short": "De pagina \"$1\" is van uw volglijst verwijderd.",
        "watch": "Volgen",
        "watchthispage": "Pagina volgen",
        "unwatch": "Niet volgen",
        "tooltip-summary": "Voer een korte samenvatting in",
        "interlanguage-link-title": "$1 – $2",
        "common.css": "/** CSS die hier wordt geplaatst heeft invloed op alle skins */",
-       "cologneblue.css": "/* CSS die hier wordt geplaatst heeft alleen invloed op de skin Keuls blauw */",
        "monobook.css": "/* CSS die hier wordt geplaatst heeft alleen invloed op de skin Monobook */",
-       "modern.css": "/* CSS die hier wordt geplaatst heeft alleen invloed op de skin Modern */",
        "vector.css": "/* CSS die hier wordt geplaatst heeft alleen invloed op de skin Vector */",
        "print.css": "/* CSS die hier wordt geplaatst heeft alleen invloed op de printuitvoer */",
        "noscript.css": "/ * CSS die hier wordt geplaatst heeft invloed voor gebruikers die JavaScript hebben uitgeschakeld * /",
        "group-sysop.css": "/* CSS die hier wordt geplaatst heeft alleen invloed op beheerders */",
        "group-bureaucrat.css": "/* CSS die hier wordt geplaatst heeft alleen invloed op bureaucraten */",
        "common.js": "/* JavaScript die hier wordt geplaatst heeft invloed op alle pagina's voor alle gebruikers */",
-       "cologneblue.js": "/* JavaScript die hier wordt geplaatst heeft alleen invloed op gebruikers die de skin Keuls blauw gebruiken */",
        "monobook.js": "/* JavaScript die hier wordt geplaatst heeft alleen invloed op gebruikers die de skin Monobook gebruiken */",
-       "modern.js": "/* JavaScript die hier wordt geplaatst heeft alleen invloed op gebruikers die de skin Modern gebruiken */",
        "vector.js": "/* JavaScript die hier wordt geplaatst heeft alleen invloed op gebruikers die de skin Vector gebruiken */",
        "group-autoconfirmed.js": "/* JavaScript die hier wordt geplaatst heeft alleen invloed op automatisch bevestigde gebruikers */",
        "group-user.js": "/* JavaScript die hier wordt geplaatst heeft alleen invloed op geregistreerde gebruikers */",
        "pageinfo-category-pages": "Aantal pagina's",
        "pageinfo-category-subcats": "Aantal subcategorieën",
        "pageinfo-category-files": "Aantal bestanden",
-       "skinname-cologneblue": "Keuls blauw",
        "skinname-monobook": "Monobook",
-       "skinname-modern": "Modern",
        "skinname-vector": "Vector",
        "markaspatrolleddiff": "Als gecontroleerd markeren",
        "markaspatrolledtext": "Deze pagina als gecontroleerd markeren",
        "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",
        "logentry-patrol-patrol": "$1 {{GENDER:$2|heeft}} versie $4 van pagina $3 gemarkeerd als gecontroleerd",
        "logentry-patrol-patrol-auto": "$1 {{GENDER:$2|heeft}} versie $4 van pagina $3 automatisch gemarkeerd als gecontroleerd",
        "logentry-newusers-newusers": "Gebruiker $1 {{GENDER:$2|is}} aangemaakt",
-       "logentry-newusers-create": "Gebruiker $1 {{GENDER:$2|is}} aangemaakt",
+       "logentry-newusers-create": "Gebruikersaccount $1 {{GENDER:$2|is}} aangemaakt",
        "logentry-newusers-create2": "Gebruiker $3 {{GENDER:$2|is}} aangemaakt door $1",
        "logentry-newusers-byemail": "Gebruiker $3 {{GENDER:$2|is}} aangemaakt door $1 en het wachtwoord is per e-mail verzonden",
-       "logentry-newusers-autocreate": "De gebruiker $1 {{GENDER:$2|is}} automatisch aangemaakt",
+       "logentry-newusers-autocreate": "Gebruikersaccount $1 {{GENDER:$2|is}} automatisch aangemaakt",
        "logentry-rights-rights": "$1 {{GENDER:$2|heeft}} groepslidmaatschap voor $3 gewijzigd van $4 naar $5",
        "logentry-rights-rights-legacy": "$1 {{GENDER:$2|heeft}} het groepslidmaatschap gewijzigd voor $3",
        "logentry-rights-autopromote": "$1 {{GENDER:$2|is}} automatisch gepromoveerd van $4 naar $5",
index d8db86b..15f95f9 100644 (file)
        "searchmenu-exists": "'''ଏହି ଉଇକିରେ \"[[:$1]]\" ନାଆଁରେ ପୃଷ୍ଠାଟିଏ ଅଛି ।'''",
        "searchmenu-new": "'''ଏହି ପ୍ରସଙ୍ଗଟି ଆଗରୁ ନାହିଁ, ତେଣୁ ''[[:$1]]'' ନାମରେ ପ୍ରସଙ୍ଗଟିଏ ଏଠାରେ ଗଢ଼ନ୍ତୁ!'''",
        "searchprofile-articles": "ସୂଚୀ ପୃଷ୍ଠା",
-       "searchprofile-project": "ସାହାଯ୍ୟ ଓ ପ୍ରକଳ୍ପ ପୃଷ୍ଠା",
        "searchprofile-images": "ମଲ୍ଟିମିଡ଼ିଆ",
        "searchprofile-everything": "ସବୁକିଛି",
        "searchprofile-advanced": "ଉନ୍ନତ",
        "searchprofile-articles-tooltip": "$1ରେ ଖୋଜିବେ",
-       "searchprofile-project-tooltip": "$1ରେ ଖୋଜିବେ",
        "searchprofile-images-tooltip": "ଫାଇଲ ସବୁ ପାଇଁ ଖୋଜିବେ",
        "searchprofile-everything-tooltip": "ପ୍ରସଙ୍ଗ ସବୁକୁ ଖୋଜିବେ (ଆଲୋଚନା ସହ)",
        "searchprofile-advanced-tooltip": "ନିଜେ ତିଆରିକରିହେବା ଭଳି ନେମସ୍ପେସରେ ଖୋଜିବେ",
        "exif-locationdest": "ଅବସ୍ଥିତି ଅଙ୍କାଯାଇଛି",
        "exif-locationdestcode": "ଅଙ୍କାଯାଇଥିବା ସ୍ଥାନର କୋଡ଼",
        "exif-objectcycle": "ମାଧ୍ୟମଟି ଦିନର କେତେ ବେଳେ ରଖିବାକୁ ସ୍ଥିର କରାଯାଇଛି",
-       "exif-contact": "ଯୋଗାଯୋଗ ସୂଚନାବଳି",
+       "exif-contact": "ଯୋଗାଯୋଗ ସୂଚନା",
        "exif-writer": "ଲେଖକ",
        "exif-languagecode": "ଭାଷା",
        "exif-iimversion": "IIM ସଂସ୍କରଣ",
index 405c9c0..4a7cb6d 100644 (file)
        "searchmenu-exists": "'''Dohods ä Said \"[[:$1]]\".'''",
        "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",
        "searchprofile-everything": "Alles",
        "searchprofile-advanced": "Foadgschridde",
        "searchprofile-articles-tooltip": "In $1 gugge",
-       "searchprofile-project-tooltip": "In $1 gugge",
        "searchprofile-images-tooltip": "Gugg noch Bilda",
        "searchprofile-everything-tooltip": "Such iwwaraal (a wuma dischbedierd)",
        "searchprofile-advanced-tooltip": "Gugg in õnnare Nõmensreum",
index 77db06f..e9f3e3f 100644 (file)
        "searchmenu-exists": "* Strona '''[[$1]]'''",
        "searchmenu-new": "<strong>Utwórz stronę „[[:$1]]” na tej wiki!</strong> {{PLURAL:$2|0=|Zobacz też stronę z wynikami wyszukiwania.|Zobacz też wyniki wyszukiwania.}}",
        "searchprofile-articles": "Strony",
-       "searchprofile-project": "Strony pomocy i projektu",
        "searchprofile-images": "Multimedia",
        "searchprofile-everything": "Wszystko",
        "searchprofile-advanced": "Zaawansowane",
        "searchprofile-articles-tooltip": "Szukanie w przestrzeni nazw $1",
-       "searchprofile-project-tooltip": "Szukanie w przestrzeniach nazw $1",
        "searchprofile-images-tooltip": "Szukanie plików",
        "searchprofile-everything-tooltip": "Szukanie w całej zawartości (także strony dyskusji)",
        "searchprofile-advanced-tooltip": "Szukanie w wybranych przestrzeniach nazw",
        "tooltip-summary": "Wpisz krótki opis",
        "interlanguage-link-title": "$1 – $2",
        "common.css": "/* Umieszczony tutaj kod CSS zostanie zastosowany we wszystkich skórkach */",
-       "cologneblue.css": "/* Umieszczony tutaj kod CSS wpłynie na wygląd skórki Błękit */",
        "monobook.css": "/* Umieszczony tutaj kod CSS wpłynie na wygląd skórki Książka */",
-       "modern.css": "/* Umieszczony tutaj kod CSS wpłynie na wygląd skórki Nowoczesna */",
        "vector.css": "/* Umieszczony tutaj kod CSS wpłynie na wygląd skórki Wektor */",
        "print.css": "/* Umieszczony tutaj kod CSS wpłynie na wygląd wydruku */",
        "noscript.css": "/* Umieszczony tu arkusz stylów CSS będzie wykorzystywany dla użytkowników z wyłączoną obsługą JavaScript */",
        "group-sysop.css": "/* Umieszczony tutaj kod CSS dotyczyć będzie tylko administratorów */",
        "group-bureaucrat.css": "/* Umieszczony tutaj kod CSS dotyczyć będzie tylko biurokratów */",
        "common.js": "/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */",
-       "cologneblue.js": "/* Umieszczony tutaj kod JavaScript zostanie załadowany wyłącznie przez użytkowników korzystających ze skórki Błękit */",
        "monobook.js": "/* Umieszczony tutaj kod JavaScript zostanie załadowany wyłącznie przez użytkowników korzystających ze skórki Książka */",
-       "modern.js": "/* Umieszczony tutaj kod JavaScript zostanie załadowany wyłącznie przez użytkowników korzystających ze skórki Nowoczesna */",
        "vector.js": "/* Umieszczony tutaj kod JavaScript zostanie załadowany wyłącznie przez użytkowników korzystających ze skórki Wektor */",
        "anonymous": "{{PLURAL:$1|Anonimowy użytkownik|Anonimowi użytkownicy}} {{GRAMMAR:D.lp|{{SITENAME}}}}",
        "siteuser": "{{GENDER:$2|użytkownik|użytkowniczka}} {{GRAMMAR:D.lp|{{SITENAME}}}} – $1",
        "pageinfo-category-pages": "Liczba stron",
        "pageinfo-category-subcats": "Liczba podkategorii",
        "pageinfo-category-files": "Liczba plików",
-       "skinname-cologneblue": "Błękit",
        "skinname-monobook": "Książka",
-       "skinname-modern": "Nowoczesna",
        "skinname-vector": "Wektor",
        "markaspatrolleddiff": "oznacz edycję jako „sprawdzoną”",
        "markaspatrolledtext": "Oznacz tę stronę jako „sprawdzoną”",
index aab1129..9593b2b 100644 (file)
        "searchmenu-exists": "<strong>Há uma página com o nome \"[[:$1]]\" neste wiki.</strong> {{PLURAL:$2|0=|Veja também os outros resultados da pesquisa encontrados.}}",
        "searchmenu-new": "<strong>Criar a página \"[[:$1]]\" nesta wiki!</strong>{{PLURAL:$2|0=| Veja também a página encontrada com sua pesquisa.|Veja também os resultados das pesquisas encontradas.}}",
        "searchprofile-articles": "Páginas de conteúdo",
-       "searchprofile-project": "Ajuda e páginas de projeto",
        "searchprofile-images": "Multimídia",
        "searchprofile-everything": "Tudo",
        "searchprofile-advanced": "Avançado",
        "searchprofile-articles-tooltip": "Pesquisar em $1",
-       "searchprofile-project-tooltip": "Pesquisar em $1",
        "searchprofile-images-tooltip": "Pesquisar arquivos",
        "searchprofile-everything-tooltip": "Pesquisar em todo o conteúdo (incluindo páginas de discussão)",
        "searchprofile-advanced-tooltip": "Personalizar os espaços nominais onde pesquisar",
        "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.",
        "common.css": "/** o código CSS colocado aqui será aplicado a todos os temas */",
        "monobook.css": "/* o código CSS colocado aqui terá efeito nos usuários do tema Monobook */",
        "common.js": "/* Códigos JavaScript aqui colocados serão carregados por todos aqueles que acessarem alguma página deste wiki */",
-       "cologneblue.js": "/* Qualquer JavaScript aqui colocado afetará os usuários do skin Azul colonial */",
        "monobook.js": "/* Qualquer JavaScript aqui colocado afetará os usuários do skin MonoBook */",
-       "modern.js": "/* Qualquer JavaScript aqui colocado afetará os usuários do skin Moderno */",
        "vector.js": "/* Qualquer JavaScript aqui colocado afetará os usuários do skin Vector */",
        "anonymous": "{{PLURAL:$1|Usuário anônimo|Usuários anônimos}} da {{SITENAME}}",
        "siteuser": "{{GENDER:$2|um usuário|uma usuária|um usuário}} da {{SITENAME}} ($1)",
        "pageinfo-category-pages": "Número de páginas",
        "pageinfo-category-subcats": "Número de subcategorias",
        "pageinfo-category-files": "Número de arquivos",
-       "skinname-cologneblue": "Azul colonial",
        "skinname-monobook": "MonoBook",
-       "skinname-modern": "Moderno",
        "markaspatrolleddiff": "Marcar como patrulhada",
        "markaspatrolledtext": "Marcar esta página como patrulhada",
        "markedaspatrolled": "Marcado como verificado",
index c8bafd3..663a782 100644 (file)
        "pool-timeout": "Tempo limite de espera para o bloqueio excedido",
        "pool-queuefull": "A fila de processos está cheia",
        "pool-errorunknown": "Erro desconhecido",
+       "pool-servererror": "O serviço ''pool counter'' não está disponível ($1).",
        "aboutsite": "Sobre a {{SITENAME}}",
        "aboutpage": "Project:Sobre",
        "copyright": "Conteúdo disponibilizado nos termos da $1, salvo indicação em contrário.",
        "searchmenu-exists": "<strong>Há uma página com o nome \"[[:$1]]\" nesta wiki.</strong> {{PLURAL:$2|0=|Veja também os outros resultados encontrados.}}",
        "searchmenu-new": "<strong>Crie a página \"[[:$1]]\" nesta wiki!</strong> {{PLURAL:$2|0=|Veja também a página encontrada na pesquisa.|Veja também os resultados da pesquisa.}}",
        "searchprofile-articles": "Páginas de conteúdo",
-       "searchprofile-project": "Páginas de ajuda e de projeto",
        "searchprofile-images": "Multimédia",
        "searchprofile-everything": "Todas",
        "searchprofile-advanced": "Personalizar",
        "searchprofile-articles-tooltip": "Pesquisar em $1",
-       "searchprofile-project-tooltip": "Pesquisar em $1",
        "searchprofile-images-tooltip": "Pesquisar ficheiros",
        "searchprofile-everything-tooltip": "Pesquisar em todo o conteúdo (incluindo páginas de discussão)",
        "searchprofile-advanced-tooltip": "Personalizar os espaços nominais onde pesquisar",
        "trackingcategories-name": "Nome da mensagem",
        "trackingcategories-desc": "Critérios de inclusão",
        "noindex-category-desc": "A página não é indexada por robôs porque contém a palavra mágica <code><nowiki>__NOINDEX__</nowiki></code> e está num domínio onde o estatuto é permitido.",
+       "index-category-desc": "A página contém a palavra mágica <code><nowiki>__INDEX__</nowiki></code> (e está num espaço nominal em que essa marca é permitida) e, portanto, será indexada pelos bots mesmo quando normalmente não o seria.",
+       "post-expand-template-inclusion-category-desc": "A expansão de todas as predefinições faria com que o tamanho da página ultrapassasse <code>$wgMaxArticleSize</code>, pelo que algumas predefinições não foram expandidas.",
+       "post-expand-template-argument-category-desc": "A expansão de um argumento de prefefinição (algo em chavetas triplas, como <code>{{{Foo}}}</code> ) torna a página maior do que <code>$wgMaxArticleSize</code>.",
+       "expensive-parserfunction-category-desc": "Demasiadas funções do analisador custosas (como <code>#ifexist</code>) incluídas numa página. Consulte [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgExpensiveParserFunctionLimit Manual:$wgExpensiveParserFunctionLimit].",
+       "broken-file-category-desc": "Categoria adicionada se a página contém um link quebrado para um ficheiro (um link para incorporar um ficheiro que não existe).",
+       "hidden-category-category-desc": "Esta é uma categoria com a marca <code><nowiki>__HIDDENCAT__</nowiki></code>, que faz com que ela não apareça na caixa de links de categoria nas páginas, por omissão.",
        "trackingcategories-nodesc": "Nenhuma descrição disponível.",
        "trackingcategories-disabled": "A categoria está desactivada.",
        "mailnologin": "Não existe endereço de envio",
        "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.",
        "tooltip-summary": "Introduza um resumo breve",
        "interlanguage-link-title": "$1 — $2",
        "common.css": "/* Código CSS colocado aqui será aplicado a todos os temas */",
-       "cologneblue.css": "/* Código CSS colocado aqui afectará os utilizadores do tema Azul colonial */",
        "monobook.css": "/* Código CSS colocado aqui afectará os utilizadores do tema Monobook */",
-       "modern.css": "/* Código CSS colocado aqui afectará os utilizadores do tema Moderno */",
        "vector.css": "/* Código CSS colocado aqui afectará os utilizadores do tema Vector */",
        "print.css": "/* Código CSS colocado aqui afectará as impressões */",
        "noscript.css": "/* Os estilos CSS colocados aqui afetarão os utilizadores que tenham o JavaScript desativado em seus navegadores */",
        "common.js": "/* Código Javascript colocado aqui será carregado para todos os utilizadores em cada carregamento de página */",
-       "cologneblue.js": "/* Código Javascript colocado aqui será carregado para utilizadores do tema Azul colonial */",
        "monobook.js": "/* Código Javascript colocado aqui será carregado para utilizadores do tema Monobook */",
-       "modern.js": "/* Código Javascript colocado aqui será carregado para utilizadores do tema Moderno */",
        "vector.js": "/* Código Javascript colocado aqui será carregado para utilizadores do tema Vector */",
        "anonymous": "{{PLURAL:$1|Utilizador anónimo|Utilizadores anónimos}} da {{SITENAME}}",
        "siteuser": "$1 da {{SITENAME}}",
        "pageinfo-category-pages": "Número de páginas",
        "pageinfo-category-subcats": "Número de subcategorias",
        "pageinfo-category-files": "Número de ficheiros",
-       "skinname-cologneblue": "Azul colonial",
        "skinname-monobook": "MonoBook",
-       "skinname-modern": "Moderno",
        "skinname-vector": "Vector",
        "markaspatrolleddiff": "Marcar como patrulhada",
        "markaspatrolledtext": "Marcar esta página como patrulhada",
index d0b5e25..e8173ea 100644 (file)
        "searchmenu-new": "An option shown in a menu beside search form offering a red link to the not yet existing page having the specified title (when using the default MediaWiki search engine).\n\nParameters:\n* $1 - page title\n* $2 - the number of search results found",
        "searchmenu-new-nocreate": "{{notranslate}}",
        "searchprofile-articles": "A quick link in the advanced search box on [[Special:Search]]. Clicking on this link starts a search in the content pages of the wiki.\n\nA 'content page' is a page that forms part of the purpose of the wiki. It includes the main page and pages in the main namespace and any other namespaces that are included when the wiki is customised. For example on Wikimedia Commons 'content pages' include pages in the file and category namespaces. On Wikinews 'content pages' include pages in the Portal namespace. For technical definition of 'content namespaces' see [[mw:Manual:Using_custom_namespaces#Content_namespaces|MediaWiki]].\n\nPossible alternatives to the word 'content' are 'subject matter' or 'wiki subject' or 'wiki purpose'.\n\n{{Identical|Content page}}",
-       "searchprofile-project": "Used as an option in [[Special:Search]].\n\nSee also:\n* {{msg-mw|Searchprofile-project|message}}\n* {{msg-mw|Searchprofile-project-tooltip|tooltip}}",
        "searchprofile-images": "An option in the [[Special:Search]].\n\nSee also:\n* {{msg-mw|Searchprofile-images|message}}\n* {{msg-mw|Searchprofile-images-tooltip|tooltip}}\n{{Identical|Muitimedia}}",
        "searchprofile-everything": "Used as an option in [[Special:Search]].\n\nSee also:\n* {{msg-mw|Searchprofile-everything|message}}\n* {{msg-mw|Searchprofile-everything-tooltip|tooltip}}",
        "searchprofile-advanced": "Used as an option in [[Special:Search]].\n\nSee also:\n* {{msg-mw|Searchprofile-advanced|message}}\n* {{msg-mw|Searchprofile-advanced-tooltip|tooltip}}\n{{Identical|Advanced}}",
        "searchprofile-articles-tooltip": "Used as tooltip for the option {{msg-mw|Searchprofile-articles}} in [[Special:Search]].\n* $1 - list of namespaces\nSee also:\n* {{msg-mw|Searchprofile-articles|message}}\n* {{msg-mw|Searchprofile-articles-tooltip|tooltip}}\n{{Identical|Search in $1}}",
-       "searchprofile-project-tooltip": "Used as tooltip for the option {{msg-mw|Searchprofile-project}} in [[Special:Search]].\n* $1 - list of namespaces\nSee also:\n* {{msg-mw|Searchprofile-project|message}}\n* {{msg-mw|Searchprofile-project-tooltip|tooltip}}\n{{Identical|Search in $1}}",
        "searchprofile-images-tooltip": "Used as tooltip for the option {{msg-mw|Searchprofile-images}} in the [[Special:Search]].\nSee also:\n* {{msg-mw|Searchprofile-images|message}}\n* {{msg-mw|Searchprofile-images-tooltip|tooltip}}",
        "searchprofile-everything-tooltip": "Used as tooltip for the option {{msg-mw|Searchprofile-everything}} in [[Special:Search]].\n\nSee also:\n* {{msg-mw|Searchprofile-everything|message}}\n* {{msg-mw|Searchprofile-everything-tooltip|tooltip}}",
        "searchprofile-advanced-tooltip": "Used as tooltip for the option {{msg-mw|Searchprofile-advanced}} in [[Special:Search]].\n\nSee also:\n* {{msg-mw|Searchprofile-advanced|message}}\n* {{msg-mw|Searchprofile-advanced-tooltip|tooltip}}",
        "interlanguage-link-title": "{{Optional}}\nFormat of a sidebar interwiki link tooltip. Parameters:\n* $1 - page name in the target wiki\n* $2 - target wiki language autonym",
        "interlanguage-link-title-langonly": "{{ignored}}Interlanguage link title. Parameters: $1 replaced with a language name.",
        "common.css": "{{optional}}\nCSS applied to all users.",
-       "cologneblue.css": "{{optional}}",
        "monobook.css": "{{optional}}\nCSS applied to users using Monobook skin.",
-       "modern.css": "{{optional}}",
        "vector.css": "{{optional}}",
        "print.css": "{{optional}}",
        "noscript.css": "{{optional}}",
        "group-sysop.css": "{{doc-group|sysop|css}}",
        "group-bureaucrat.css": "{{doc-group|bureaucrat|css}}",
        "common.js": "{{optional}}\nJS for all users.",
-       "cologneblue.js": "{{optional}}",
        "monobook.js": "{{optional}}\nJS for users using Monobook skin.",
-       "modern.js": "{{optional}}",
        "vector.js": "{{optional}}",
        "group-autoconfirmed.js": "{{doc-group|autoconfirmed|js}}",
        "group-user.js": "{{doc-group|user|js}}",
        "pageinfo-category-pages": "See also:\n* {{msg-mw|Pageinfo-category-subcats}}\n* {{msg-mw|Pageinfo-category-files}}",
        "pageinfo-category-subcats": "See also:\n* {{msg-mw|Pageinfo-category-pages}}\n* {{msg-mw|Pageinfo-category-files}}",
        "pageinfo-category-files": "See also:\n* {{msg-mw|Pageinfo-category-pages}}\n* {{msg-mw|Pageinfo-category-subcats}}",
-       "skinname-cologneblue": "{{optional}}",
        "skinname-monobook": "{{optional}}",
-       "skinname-modern": "{{optional}}\n{{Identical|Modern}}",
        "skinname-vector": "{{optional}}",
        "markaspatrolleddiff": "{{doc-actionlink}}\nSee also:\n* {{msg-mw|Markaspatrolledtext}}",
        "markaspatrolledlink": "{{notranslate}}\nParameters:\n* $1 - link which has text {{msg-mw|Markaspatrolledtext}}",
        "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 257018d..912777f 100644 (file)
        "category-empty": "''Эта категория в данный момент пуста.''",
        "hidden-categories": "{{PLURAL:$1|1=Скрытая категория|Скрытые категории}}",
        "hidden-category-category": "Скрытые категории",
-       "category-subcat-count": "{{PLURAL:$2|1=ЭÑ\82а ÐºÐ°Ñ\82егоÑ\80иÑ\8f Ñ\81одеÑ\80жиÑ\82 Ñ\82олÑ\8cко Ñ\81ледÑ\83Ñ\8eÑ\89Ñ\83Ñ\8e Ð¿Ð¾Ð´ÐºÐ°Ñ\82егоÑ\80иÑ\8e.|ЭÑ\82а ÐºÐ°Ñ\82егоÑ\80иÑ\8f Ñ\81одеÑ\80жиÑ\82 $1 {{PLURAL:$1|подкаÑ\82егоÑ\80иÑ\8e|подкаÑ\82егоÑ\80ий|подкаÑ\82егоÑ\80ии}} Ð¸Ð· $2 Ð²Ñ\81его.}}",
+       "category-subcat-count": "{{PLURAL:$2|1=ЭÑ\82а ÐºÐ°Ñ\82егоÑ\80иÑ\8f Ñ\81одеÑ\80жиÑ\82 Ñ\82олÑ\8cко Ñ\81ледÑ\83Ñ\8eÑ\89Ñ\83Ñ\8e Ð¿Ð¾Ð´ÐºÐ°Ñ\82егоÑ\80иÑ\8e.|Ð\92 Ñ\8dÑ\82ой ÐºÐ°Ñ\82егоÑ\80ии Ð¾Ñ\82обÑ\80ажаеÑ\82Ñ\81Ñ\8f $1 {{PLURAL:$1|подкаÑ\82егоÑ\80иÑ\8f|подкаÑ\82егоÑ\80ий|подкаÑ\82егоÑ\80ии}} Ð¸Ð· Ð¸Ð¼ÐµÑ\8eÑ\89иÑ\85Ñ\81Ñ\8f $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=только одна страница}}.",
        "searchmenu-exists": "'''В этой вики есть страница «[[:$1]]»'''",
        "searchmenu-new": "<strong>Создать страницу «[[:$1]]» в этом вики-проекте!</strong>\n{{PLURAL:$2|0=|См. также страницу, найденную по результатами вашего поиска.|См. также найденные результаты поиска.}}",
        "searchprofile-articles": "Основные страницы",
-       "searchprofile-project": "Страницы справки и проекта",
        "searchprofile-images": "Мультимедиа",
        "searchprofile-everything": "Везде",
        "searchprofile-advanced": "Расширенный",
        "searchprofile-articles-tooltip": "Поиск в $1",
-       "searchprofile-project-tooltip": "Поиск в $1",
        "searchprofile-images-tooltip": "Поиск файлов",
        "searchprofile-everything-tooltip": "Поиск на всех страницах (включая страницы обсуждений)",
        "searchprofile-advanced-tooltip": "Искать в заданных пространствах имён",
        "tooltip-summary": "Введите краткое описание",
        "interlanguage-link-title": "$1 — $2",
        "common.css": "/* Размещённый здесь CSS будет применяться ко всем темам оформления */",
-       "cologneblue.css": "/* Размещённый здесь CSS будет применяться к теме оформления Cologne Blue */",
        "monobook.css": "/* Размещённый здесь CSS будет применяться к теме оформления Monobook */",
-       "modern.css": "/* Размещённый здесь CSS будет применяться к теме оформления Modern */",
        "vector.css": "/* Размещённый здесь CSS будет применяться к векторной теме оформления  */",
        "print.css": "/* Размещённый здесь CSS будет применяться к версии для печати */",
        "noscript.css": "/* Размещённый здесь CSS будет применяться для участников с отключенным JavaScript  */",
        "group-sysop.css": "/* Размещённый здесь CSS будет применяться только для администраторов */",
        "group-bureaucrat.css": "/* Размещённый здесь CSS будет применяться только для бюрократов */",
        "common.js": "/* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */",
-       "cologneblue.js": "/* Размещённый здесь код JavaScript будет загружаться пользователям, использующим тему оформления Cologne Blue */",
        "monobook.js": "/* Размещённый здесь код JavaScript будет загружаться пользователям, использующим тему оформления MonoBook */",
-       "modern.js": "/* Размещённый здесь код JavaScript будет загружаться пользователям, использующим тему оформления Modern */",
        "vector.js": "/* Размещённый здесь код JavaScript будет загружаться пользователям, использующим тему оформления Vector */",
        "group-autoconfirmed.js": "/* Размещённый здесь код JavaScript будет загружаться только участникам, имеющим статус автоподтверждённых (autoconfirmed) */",
        "group-bot.js": "/* Размещённый здесь код JavaScript будет загружаться только участникам, имеющим статус ботов (bots) */",
        "pageinfo-category-pages": "Количество страниц",
        "pageinfo-category-subcats": "Количество подкатегорий",
        "pageinfo-category-files": "Количество файлов",
-       "skinname-cologneblue": "Кёльнская тоска",
-       "skinname-modern": "Современное",
        "skinname-vector": "Векторное",
        "markaspatrolleddiff": "Отметить как проверенную",
        "markaspatrolledtext": "Отметить эту статью как проверенную",
index 40defaf..a7784c1 100644 (file)
        "searchmenu-exists": "<strong>अस्मिन् विकि-जालस्थाने \"[[:$1]]\" नामकं पृष्ठं विद्यते ।</strong> {{PLURAL:$2|0=|अन्यपरिणामाः दृश्यन्ताम्}}",
        "searchmenu-new": "<strong> अस्मिन् विकि-जालस्थाने \"[[:$1]]\" इदं पृष्ठं सृज्यताम् ।\n</strong>\n{{PLURAL:$2|0=|तव अन्वेषणस्य परिणामोऽपि दृश्यताम् ।|तव अन्वेषणस्य परिणामाः अपि दृश्यन्ताम्}}",
        "searchprofile-articles": "विषयसहितानि पृष्ठानि",
-       "searchprofile-project": "साहाय्यं, प्रकल्पपृष्ठानि च",
        "searchprofile-images": "माध्यमसमुच्चयः",
        "searchprofile-everything": "सर्वम्",
        "searchprofile-advanced": "प्रगतम्",
        "searchprofile-articles-tooltip": "$1 स्थले अन्विष्यताम्",
-       "searchprofile-project-tooltip": "$1 स्थले अन्विष्यताम्",
        "searchprofile-images-tooltip": "सञ्चिकाः अन्विष्यन्ताम्",
        "searchprofile-everything-tooltip": "सर्वत्र अन्विष्यताम् (चर्चापृष्ठानि अपि)",
        "searchprofile-advanced-tooltip": "नामाकाशेषु अन्विष्यताम्",
        "pageinfo-category-pages": "पृष्ठानां सङ्ख्या",
        "pageinfo-category-subcats": "उपवर्गानां सङ्ख्या",
        "pageinfo-category-files": "सञ्चिकानां सङ्ख्या",
-       "skinname-cologneblue": "नील",
        "skinname-monobook": "पुस्तक",
        "markaspatrolleddiff": "आरक्षितमिति अङ्कयतु ।",
        "markaspatrolledtext": "एतपुटम् आरक्षितमिति अङ्कयतु ।",
index d179005..6452b2b 100644 (file)
        "searchmenu-exists": "'''Бу биикигэ бу сирэй маннык ааттаах \"[[$1]]\"'''",
        "searchmenu-new": "<strong>Бу биикигэ \"[[:$1]]\" сирэйи айарга!</strong>{{PLURAL:$2|0=|Эбии көрдөөһүн түмүгэр көстүбүт сирэйи көр.|Эбии көрдөөһүн түмүктэрин көр.}}",
        "searchprofile-articles": "Ыстатыйалар истэрэ",
-       "searchprofile-project": "Көмө уонна Бырайыак сирэйдэрэ",
        "searchprofile-images": "Мультимедиа",
        "searchprofile-everything": "Барыта",
        "searchprofile-advanced": "Дириҥэтиллибит",
        "searchprofile-articles-tooltip": "Манна $1 көрдөөһүн",
-       "searchprofile-project-tooltip": "Манна $1 көрдөөһүн",
        "searchprofile-images-tooltip": "Билэлэри көрдөөһүн",
        "searchprofile-everything-tooltip": "Сирэйдэргэ барытыгар (ырытыы гиэннэригэр эмиэ) көрдөөһүн",
        "searchprofile-advanced-tooltip": "Этиллибит аат далларыгар көрдөөһүн",
        "pageinfo-category-pages": "Сирэй ахсаана",
        "pageinfo-category-subcats": "Субкатегория ахсаана",
        "pageinfo-category-files": "Билэ ахсаана",
-       "skinname-modern": "Билиҥҥи",
        "markaspatrolleddiff": "Бэрэбиэркэлэммит курдук бэлиэтээ",
        "markaspatrolledtext": "Бу ыстатыйаны бэрэбиэркэлэммит курдук бэлиэтээ",
        "markedaspatrolled": "Бэрэбиэркэлэммит курдук бэлиэтэннэ",
index 3cbd84d..d9f2b27 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",
        "searchmenu-exists": "* Pàggina '''[[$1]]'''",
        "searchmenu-new": "'''Crea la pàggina \"[[:$1]]\" supra sta wiki!'''",
        "searchprofile-articles": "Pàggini di cuntinutu",
-       "searchprofile-project": "Pàggini d'ajutu e dô pruggettu",
        "searchprofile-images": "Multimedia",
        "searchprofile-everything": "Tuttu",
        "searchprofile-advanced": "Avanzata",
        "searchprofile-articles-tooltip": "Cerca nti $1",
-       "searchprofile-project-tooltip": "Cerca nti $1",
        "searchprofile-images-tooltip": "Cerca file",
        "searchprofile-everything-tooltip": "Cerca unnegghiè (puru ntî pàggini di discussioni)",
        "searchprofile-advanced-tooltip": "Cerca ntê namespace pirsunalizzati",
        "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:",
        "spam_reverting": "Ripristinata l'ùrtima virsioni priva di culligamenti a $1",
        "spam_blanking": "Pàggina svacantata, tutti li virsioni cuntinìanu culligamenti a $1",
        "pageinfo-toolboxlink": "Nfurmazzioni ncapu la pàggina",
-       "skinname-cologneblue": "Cologne Blu",
        "skinname-monobook": "MonoBook",
-       "skinname-modern": "Mudernu",
        "markaspatrolleddiff": "Segna lu canciamentu comu virificatu",
        "markaspatrolledtext": "Segna sta pàggina comu virificata",
        "markedaspatrolled": "Canciamentu virificatu",
index eaaf241..bc2de72 100644 (file)
@@ -8,7 +8,8 @@
                        "Smihael",
                        "Vadgt",
                        "Yerpo",
-                       "아라"
+                       "아라",
+                       "MaGa"
                ]
        },
        "tog-underline": "Podčrtavanje povezav:",
        "searchmenu-exists": "'''Na tem wikiju obstaja stran »[[:$1]]«'''",
        "searchmenu-new": "<strong>Ustvari stran »[[:$1]]« na tem wikiju!</strong> {{PLURAL:$2|0=|Oglejte si tudi rezultate iskanja.}}",
        "searchprofile-articles": "Članki",
-       "searchprofile-project": "Pomoč in projektne strani",
        "searchprofile-images": "Večpredstavnost",
        "searchprofile-everything": "Vse",
        "searchprofile-advanced": "Napredni pogled",
        "searchprofile-articles-tooltip": "Išči v $1",
-       "searchprofile-project-tooltip": "Išči v $1",
        "searchprofile-images-tooltip": "Išči datoteke",
        "searchprofile-everything-tooltip": "Išči po vsej vsebini (vključno s pogovornimi stranmi)",
        "searchprofile-advanced-tooltip": "Iskanje v imenskih prostorih po meri",
index 9e523ba..f90910e 100644 (file)
        "searchmenu-exists": "'''Wikigaan wuu ku jiraa bog la dhoho  \"[[:$1]]\" .'''",
        "searchmenu-new": "'''Ku sameey bogga  \"[[:$1]]\" wikigaan!'''",
        "searchprofile-articles": "Maqaalada kooban",
-       "searchprofile-project": "Caawin iyo Bogga mashruuca",
        "searchprofile-images": "Multimedia-ha",
        "searchprofile-everything": "Wax kasto",
        "searchprofile-advanced": "La talin",
        "searchprofile-articles-tooltip": "Ka raadi $1",
-       "searchprofile-project-tooltip": "Ka raadi $1",
        "searchprofile-images-tooltip": "Raadi faylyada",
        "searchprofile-everything-tooltip": "Raadi wax kasto oo kooban ( xattaa bogga wadahadalka)",
        "searchprofile-advanced-tooltip": "Ka raadi qeybta isticmaalada",
index e5aaba0..aa6d614 100644 (file)
        "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|разговор]])",
        "searchmenu-exists": "'''Постоји и чланак под називом „[[:$1]]“.'''",
        "searchmenu-new": "<strong>Направите страницу „[[:$1]]“!</strong> {{PLURAL:$2|0=|Види такође разултате претраге.}}",
        "searchprofile-articles": "Чланци",
-       "searchprofile-project": "Странице помоћи и пројеката",
        "searchprofile-images": "Датотеке",
        "searchprofile-everything": "Све",
        "searchprofile-advanced": "Напредно",
        "searchprofile-articles-tooltip": "Претражите: $1",
-       "searchprofile-project-tooltip": "Претражите: $1",
        "searchprofile-images-tooltip": "Претражите датотеке",
        "searchprofile-everything-tooltip": "Претражите сав садржај (укључујући странице за разговор)",
        "searchprofile-advanced-tooltip": "Претражите прилагођене именске просторе",
        "tooltip-preferences-save": "Сачувај поставке",
        "tooltip-summary": "Унесите кратак опис",
        "common.css": "/** CSS постављен овде ће се одразити на све теме */",
-       "cologneblue.css": "/* CSS постављен овде ће утицати на све кориснике теме „Келнско плава“ */",
        "monobook.css": "/* CSS постављен овде ће утицати на све кориснике теме „Монобук“ */",
-       "modern.css": "/* CSS постављен овде ће утицати на све кориснике теме „Савремено“ */",
        "vector.css": "/* CSS постављен овде ће утицати на све кориснике теме „Векторско“ */",
        "print.css": "/* CSS постављен овде ће утицати на издање за штампу */",
        "noscript.css": "/* CSS постављен овде ће утицати на све кориснике којима је онемогућен јаваскрипт */",
        "group-sysop.css": "/* CSS постављен овде ће утицати само на системске операторе */",
        "group-bureaucrat.css": "/* CSS постављен овде ће утицати само на бирократе */",
        "common.js": "/* Јаваскрипт постављен овде ће се користити за све кориснике при отварању сваке странице. */",
-       "cologneblue.js": "/* Јаваскрипт постављен овде ће се учитати за све оне који користе тему „Келнско плава“ */",
        "monobook.js": "/* Јаваскрипт постављен овде ће се учитати за све оне који користе тему „Монобук“ */",
-       "modern.js": "/* Јаваскрипт постављен овде ће се учитати за све оне који користе тему „Савремено“ */",
        "vector.js": "/* Јаваскрипт постављен овде ће се учитати за све оне који користе тему „Векторско“ */",
        "group-autoconfirmed.js": "/* Јаваскрипт постављен овде ће се учитати за самопотврђене кориснике */",
        "group-bot.js": "/* Јаваскрипт постављен овде ће се учитати само за ботове */",
        "pageinfo-category-pages": "Број страница",
        "pageinfo-category-subcats": "Број поткатегорија",
        "pageinfo-category-files": "Број датотека",
-       "skinname-cologneblue": "Келнско плава",
        "skinname-monobook": "Монобук",
-       "skinname-modern": "Савремено",
        "skinname-vector": "Векторско",
        "markaspatrolleddiff": "Означи као патролирано",
        "markaspatrolledtext": "Означи страницу као патролирану",
        "version-entrypoints": "Адресе улазне тачке",
        "version-entrypoints-header-entrypoint": "Улазна тачка",
        "version-entrypoints-header-url": "Адреса",
+       "redirect": "Преусмерење на датотеку, корисника, страницу или измену",
        "redirect-legend": "Преусмери на датотеку или страницу",
        "redirect-submit": "Иди",
+       "redirect-lookup": "Тип вредности:",
        "redirect-value": "Вредност:",
        "redirect-user": "Кориснички ID",
        "redirect-page": "ID странице",
+       "redirect-revision": "Верзија странице",
        "redirect-file": "Назив датотеке",
        "redirect-not-exists": "Вредност није пронађена",
        "fileduplicatesearch": "Претрага дупликата",
index ff15dd1..843ac2f 100644 (file)
        "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]])",
        "searchmenu-exists": "'''Postoji i članak pod nazivom „[[:$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",
        "searchprofile-everything": "Sve",
        "searchprofile-advanced": "Napredno",
        "searchprofile-articles-tooltip": "Pretražite: $1",
-       "searchprofile-project-tooltip": "Pretražite: $1",
        "searchprofile-images-tooltip": "Pretražite datoteke",
        "searchprofile-everything-tooltip": "Pretražite sav sadržaj (uključujući stranice za razgovor)",
        "searchprofile-advanced-tooltip": "Pretražite prilagođene imenske prostore",
        "tooltip-preferences-save": "Sačuvaj postavke",
        "tooltip-summary": "Unesite kratak opis",
        "common.css": "/** CSS postavljen ovde će se odraziti na sve teme */",
-       "cologneblue.css": "/* CSS postavljen ovde će uticati na sve korisnike teme „Kelnsko plava“ */",
        "monobook.css": "/* CSS postavljen ovde će uticati na sve korisnike teme „Monobuk“ */",
-       "modern.css": "/* CSS postavljen ovde će uticati na sve korisnike teme „Savremeno“ */",
        "vector.css": "/* CSS postavljen ovde će uticati na sve korisnike teme „Vektorsko“ */",
        "print.css": "/* CSS postavljen ovde će uticati na izdanje za štampu */",
        "noscript.css": "/* CSS postavljen ovde će uticati na sve korisnike kojima je onemogućen javaskript */",
        "group-sysop.css": "/* CSS postavljen ovde će uticati samo na sistemske operatore */",
        "group-bureaucrat.css": "/* CSS postavljen ovde će uticati samo na birokrate */",
        "common.js": "/* Javaskript postavljen ovde će se koristiti za sve korisnike pri otvaranju svake stranice. */",
-       "cologneblue.js": "/* Javaskript postavljen ovde će se učitati za sve one koji koriste temu „Kelnsko plava“ */",
        "monobook.js": "/* Javaskript postavljen ovde će se učitati za sve one koji koriste temu „Monobuk“ */",
-       "modern.js": "/* Javaskript postavljen ovde će se učitati za sve one koji koriste temu „Savremeno“ */",
        "vector.js": "/* Javaskript postavljen ovde će se učitati za sve one koji koriste temu „Vektorsko“ */",
        "group-autoconfirmed.js": "/* Javaskript postavljen ovde će se učitati za samopotvrđene korisnike */",
        "group-bot.js": "/* Javaskript postavljen ovde će se učitati samo za botove */",
        "pageinfo-category-pages": "Broj stranica",
        "pageinfo-category-subcats": "Broj potkategorija",
        "pageinfo-category-files": "Broj datoteka",
-       "skinname-cologneblue": "Kelnsko plava",
        "skinname-monobook": "Monobuk",
-       "skinname-modern": "Savremeno",
        "skinname-vector": "Vektorsko",
        "markaspatrolleddiff": "Označi kao patrolirano",
        "markaspatrolledtext": "Označi stranicu kao patroliranu",
        "version-entrypoints": "Adrese ulazne tačke",
        "version-entrypoints-header-entrypoint": "Ulazna tačka",
        "version-entrypoints-header-url": "Adresa",
+       "redirect": "Preusmerenje na datoteku, korisnika, stranicu ili izmenu",
        "redirect-legend": "Preusmeri na datoteku ili stranicu",
        "redirect-submit": "Idi",
+       "redirect-lookup": "Tip vrednosti:",
        "redirect-value": "Vrednost:",
        "redirect-user": "Korisnički ID",
        "redirect-page": "ID stranice",
        "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)",
index ffd0c95..98c4e37 100644 (file)
        "searchmenu-exists": "<strong>มีหน้าชื่อ \"[[:$1]]\" บนวิกินี้</strong>\n{{PLURAL:$2|0=|ดูผลการค้นหาอื่นที่พบเพิ่มเติม}}",
        "searchmenu-new": "<strong>สร้างหน้า \"[[:$1]]\" บนวิกินี้!</strong> {{PLURAL:$2|0=|ดูหน้าที่พบด้วยการค้นหาของคุณ|ดูผลการค้นหาที่พบเพิ่มเติม}}",
        "searchprofile-articles": "หน้าเนื้อหา",
-       "searchprofile-project": "คำอธิบายและหน้าโครงการ",
        "searchprofile-images": "มัลติมีเดีย",
        "searchprofile-everything": "ทุกอย่าง",
        "searchprofile-advanced": "ชั้นสูง",
        "searchprofile-articles-tooltip": "ค้นหาใน $1",
-       "searchprofile-project-tooltip": "ค้นหาใน $1",
        "searchprofile-images-tooltip": "ค้นหาไฟล์",
        "searchprofile-everything-tooltip": "ค้นเนื้อหาทั้งหมด (รวมหน้าอภิปราย)",
        "searchprofile-advanced-tooltip": "ค้นหาในเนมสเปซที่เลือกเอง",
        "tooltip-preferences-save": "บันทึกการตั้งค่า",
        "tooltip-summary": "ใส่คำอธิบายอย่างย่อสั้น ๆ",
        "common.css": "/* สไตล์ชีตในหน้านี้จะส่งผลแก่ผู้ใช้ทุกสกิน */",
-       "cologneblue.css": "/* สไตล์ชีตในหน้านี้จะส่งผลแก่ผู้ใช้ที่ใช้สกินโคโลญจ์บลู */",
        "monobook.css": "/* สไตล์ชีตในหน้านี้จะส่งผลแก่ผู้ใช้ที่ใช้สกินโมโนบุ๊ก */",
-       "modern.css": "/* สไตล์ชีตในหน้านี้จะส่งผลแก่ผู้ใช้ที่ใช้สกินโมเดิร์น */",
        "vector.css": "/* สไตล์ชีตในหน้านี้จะส่งผลแก่ผู้ใช้ที่ใช้สกินเวกเตอร์ */",
        "print.css": "/* สไตล์ชีตในหน้านี้จะส่งผลแก่ข้อมูลส่งออกเป็นสิ่งพิมพ์ */",
        "noscript.css": "/* สไตล์ชีตในหน้านี้จะส่งผลแก่ผู้ใช้ที่ปิดการใช้งานจาวาสคริปต์ */",
        "group-sysop.css": "/* สไตล์ชีตในหน้านี้จะส่งผลแก่ผู้ดูแลเท่านั้น */",
        "group-bureaucrat.css": "/* สไตล์ชีตในหน้านี้จะส่งผลแก่ผู้ดูแลสิทธิแต่งตั้งเท่านั้น */",
        "common.js": "/* จาวาสคริปต์ใด ๆ ในหน้านี้จะถูกโหลดให้แก่ผู้ใช้ทุกคนในทุกหน้า */",
-       "cologneblue.js": "/* จาวาสคริปต์ใด ๆ ในหน้านี้จะถูกโหลดให้แก่ผู้ใช้ที่ใช้สกินโคโลญจ์บลู */",
        "monobook.js": "/* จาวาสคริปต์ใด ๆ ในหน้านี้จะถูกโหลดให้แก่ผู้ใช้ที่ใช้สกินโมโนบุ๊ก */",
-       "modern.js": "/* จาวาสคริปต์ใด ๆ ในหน้านี้จะถูกโหลดให้แก่ผู้ใช้ที่ใช้สกินโมเดิร์น */",
        "vector.js": "/* จาวาสคริปต์ใด ๆ ในหน้านี้จะถูกโหลดให้แก่ผู้ใช้ที่ใช้สกินเวกเตอร์ */",
        "group-autoconfirmed.js": "/* จาวาสคริปต์ใด ๆ ในหน้านี้จะถูกโหลดให้แก่ผู้ใช้ทั่วไปเท่านั้น */",
        "group-bot.js": "/* จาวาสคริปต์ใด ๆ ในหน้านี้จะถูกโหลดให้แก่บอตเท่านั้น */",
        "pageinfo-category-pages": "จำนวนหน้า",
        "pageinfo-category-subcats": "จำนวนหมวดหมู่ย่อย",
        "pageinfo-category-files": "จำนวนไฟล์",
-       "skinname-cologneblue": "โคโลญจ์บลู",
        "skinname-monobook": "โมโนบุ๊ก",
-       "skinname-modern": "โมเดิร์น",
        "skinname-vector": "เวกเตอร์",
        "markaspatrolleddiff": "ทำเครื่องหมายว่าตรวจสอบแล้ว",
        "markaspatrolledtext": "ทำเครื่องหมายว่าหน้านี้ถูกตรวจสอบแล้ว",
index 65c09af..395ba26 100644 (file)
        "searchmenu-exists": "'''Mayroong pahinang may pangalang \"[[:$1]]\" dito sa wiking ito'''",
        "searchmenu-new": "'''Likhain ang pahinang \"[[:$1]]\" sa wiking ito!'''",
        "searchprofile-articles": "Mga pahina ng nilalaman",
-       "searchprofile-project": "Mga pahina ng Tulong at Proyekto",
        "searchprofile-images": "Multimidya",
        "searchprofile-everything": "Lahat ng bagay",
        "searchprofile-advanced": "Mas mataas na antas",
        "searchprofile-articles-tooltip": "Hanapin sa $1",
-       "searchprofile-project-tooltip": "Hanapin sa $1",
        "searchprofile-images-tooltip": "Maghanap ng mga talaksan",
        "searchprofile-everything-tooltip": "Hanapin ang lahat ng nilalaman (kabilang ang mga pahina ng usapan)",
        "searchprofile-advanced-tooltip": "Hanapin sa pinasadyang mga espasyo ng pangalan",
        "tooltip-preferences-save": "Sagipin ang mga nais",
        "tooltip-summary": "Magbigay ng maikling buod",
        "common.css": "/* Ang inilagay na CSS dito ay gagamitin para sa lahat ng mga pabalat */",
-       "cologneblue.css": "/* Ang Cascading Style Sheets na inilagay dito ay makakaapekto sa mga tagagamit ng pabalat na Cologne Blue */",
        "monobook.css": "/* Ang CSS na inilagay dito ay makakaapekto sa mga tagagamit ng pabalat na Monobook */",
-       "modern.css": "/* Ang CSS na iniligay dito ay makakaapekto sa tagagamit ng Makabagong (''Modern'') pabalat */",
        "vector.css": "/* Ang inilagay na CSS dito ay makakaapekto sa mga tagagamit ng pabalat na Vector */",
        "print.css": "/* Ang CSS na inilagay dito ay makakaapekto sa kalalabasan o resulta ng paglilimbag */",
        "noscript.css": "/* Ang inilagay na Cascading Style Sheets dito ay makakaapekto sa mga tagagamit na hindi nagpapagana ng JavaScript */",
        "group-sysop.css": "/* Ang inilagay na Mga Pilas ng Estilong Lumalagaslas (Cascading Style Sheets) dito ay makakaapekto lamang sa mga tagapagpaandar ng sistema */",
        "group-bureaucrat.css": "/* Ang inilagay na Mga Pilas ng Estilong Lumalagaslas (Cascading Style Sheets o CSS) dito ay makakaapekto lamang sa mga burokrata */",
        "common.js": "/* Ang anumang JavaScript dito ay ikakarga para sa lahat ng mga tagagamit ng bawat pahinang ikinarga. */",
-       "cologneblue.js": "/* Ang anumang JavaScript dito ay ikakarga para sa mga tagagamit ng pabalat na Cologne Blue */",
        "monobook.js": "/* Ang anumang JavaScript dito ay ikakarga para sa mga tagagamit na gumagamit ng pabalat na MonoBook */",
-       "modern.js": "/* Ang anumang JavaScript dito ay ikakarga para sa mga tagagamit na gumagamit ng Modernong pabalat */",
        "vector.js": "/* Ang anumang JavaScript dito ay ikakarga para sa mga tagagamit na gumagamit ng pabalat na Vector */",
        "group-autoconfirmed.js": "/* Ang anumang JavaScript dito ay ikakarga para sa mga tagagamit na kusang natiyak lamang */",
        "group-bot.js": "/* Ang anumang JavaScript dito ay ikakarga para sa mga bot lamang */",
        "pageinfo-magic-words": "{{PLURAL:$1|Salita|Mga salita}}ng mahiwaga ($1)",
        "pageinfo-hidden-categories": "Nakatagong {{PLURAL:$1|kategorya|mga kategorya}} ($1)",
        "pageinfo-templates": "{{PLURAL:$1|Suleras|Mga suleras}} ($1) na nasa transklusyon (kasama sa maraming mga lugar)",
-       "skinname-cologneblue": "Cologne Blue",
        "skinname-monobook": "MonoBook",
-       "skinname-modern": "Makabago (Moderno)",
        "skinname-vector": "Vector",
        "markaspatrolleddiff": "Tatakan bilang napatrolya na",
        "markaspatrolledtext": "Tatakan ang pahinang ito bilang napatrolya na",
index ff1c604..89ee4eb 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 сторінок}}.",
        "searchmenu-exists": "'''У цій вікі є сторінка з назвою «[[:$1]]»'''",
        "searchmenu-new": "<strong>Створити сторінку «[[:$1]]» у цьому вікі-проекті!</strong>\n{{PLURAL:$2|0=|Див. також сторінку, знайдену по результатами вашого пошуку.|Див. також знайдені результати пошуку.}}",
        "searchprofile-articles": "Статті",
-       "searchprofile-project": "Сторінки довідки і проекту",
        "searchprofile-images": "Мультимедіа",
        "searchprofile-everything": "Усюди",
        "searchprofile-advanced": "Вибірково",
        "searchprofile-articles-tooltip": "Пошук у $1",
-       "searchprofile-project-tooltip": "Пошук у $1",
        "searchprofile-images-tooltip": "Пошук файлів",
        "searchprofile-everything-tooltip": "Пошук на всіх сторінках (включаючи сторінки обговорення)",
        "searchprofile-advanced-tooltip": "Шукати в заданих просторах назв",
        "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": "Перейменувати сторінку",
        "tooltip-summary": "Введіть короткий опис",
        "interlanguage-link-title": "$1 — $2",
        "common.css": "/** Розміщений тут CSS буде застосовуватися до всіх тем оформлення */",
-       "cologneblue.css": "/* Розміщений тут CSS-код буде використаний для користувачів з налаштованою темою оформлення Кельнське блакитне */",
        "monobook.css": "/* Розміщений тут CSS буде застосовуватися до всіх тем оформлення Monobook */",
-       "modern.css": "/* Розміщений тут CSS-код буде використаний в темі оформлення Сучасне */",
        "vector.css": "/* Розміщений тут CSS-код буде використаний в темі оформлення Векторне */",
        "print.css": "/* Розміщений тут CSS-код буде використаний для друкованої версії */",
        "noscript.css": "/* Розміщений тут CSS-код буде використаний для користувачів у яких вимкнено JavaScript */",
        "group-sysop.css": "/* Розміщений тут CSS-код буде використаний тільки для адміністраторів */",
        "group-bureaucrat.css": "/* Розміщений тут CSS-код буде використаний тільки для бюрократів */",
        "common.js": "/* Розміщений тут код JavaScript буде завантажений всім користувачам при зверненні до будь-якої сторінки */",
-       "cologneblue.js": "/* Розміщений тут код JavaScript буде завантажений для всіх користувачів, що використовують тему оформлення Кельнське синє */",
        "monobook.js": "/* Розміщений тут код JavaScript буде завантажений для всіх користувачів, що використовують тему оформлення Моно-книга */",
-       "modern.js": "/* Розміщений тут код JavaScript буде завантажений для всіх користувачів, що використовують тему оформлення Сучасне */",
        "vector.js": "/* Розміщений тут код JavaScript буде завантажений для всіх користувачів, що використовують векторну тему оформлення */",
        "group-autoconfirmed.js": "/* Розміщений тут код JavaScript буде завантажений тільки для автопідтверджених користувачів */",
        "group-bot.js": "/* Розміщений тут код JavaScript буде завантажений тільки для ботів */",
        "pageinfo-category-pages": "Кількість сторінок",
        "pageinfo-category-subcats": "Кількість підкатегорій",
        "pageinfo-category-files": "Кількість файлів",
-       "skinname-cologneblue": "Кельнське синє",
        "skinname-monobook": "Моно-книга",
-       "skinname-modern": "Сучасне",
        "skinname-vector": "Векторне",
        "markaspatrolleddiff": "Позначити як перевірену",
        "markaspatrolledtext": "Позначити цю сторінку як перевірену",
        "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..c9c3699 100644 (file)
        "searchmenu-exists": "* Trang '''[[$1]]'''",
        "searchmenu-new": "'''Tạo trang “[[:$1]]” trên wiki này!''' {{PLURAL:$2|0=|Hãy xem {{PLURAL:$2|kết quả|các kết quả}} tìm kiếm:}}",
        "searchprofile-articles": "Trang nội dung",
-       "searchprofile-project": "Trang trợ giúp và trang dự án",
        "searchprofile-images": "Đa phương tiện",
        "searchprofile-everything": "Tất cả",
        "searchprofile-advanced": "Nâng cao",
        "searchprofile-articles-tooltip": "Tìm trong $1",
-       "searchprofile-project-tooltip": "Tìm trong $1",
        "searchprofile-images-tooltip": "Tìm tập tin",
        "searchprofile-everything-tooltip": "Tìm tất cả nội dung (gồm cả các trang thảo luận)",
        "searchprofile-advanced-tooltip": "Tìm trong không gian tên tùy chọn",
        "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",
        "tooltip-summary": "Hãy nhập câu tóm lược",
        "interlanguage-link-title": "$1 – $2",
        "common.css": "/* Mã CSS đặt ở đây sẽ áp dụng cho mọi hình dạng */",
-       "cologneblue.css": "/* Mã CSS tại đây sẽ ảnh hưởng đến những người dùng sử dụng hình dạng Xanh Cologne */",
        "monobook.css": "/* Mã CSS đặt ở đây sẽ ảnh hưởng đến thành viên sử dụng hình dạng MonoBook */",
-       "modern.css": "/* Mã CSS tại đây sẽ ảnh hưởng đến những người dùng sử dụng hình dạng Hiện đại */",
        "vector.css": "/* Mã CSS đặt ở đây sẽ ảnh hưởng đến thành viên sử dụng hình dạng Vectơ */",
        "print.css": "/* Mã CSS tại đây sẽ ảnh hưởng đến bản để in */",
        "noscript.css": "/* Mã CSS tại đây sẽ ảnh hưởng đến những người dùng tắt JavaScript */",
        "group-sysop.css": "/* Mã CSS tại đây sẽ chỉ ảnh hưởng đến các bảo quản viên */",
        "group-bureaucrat.css": "/* Mã CSS tại đây sẽ chỉ ảnh hưởng đến các hành chính viên */",
        "common.js": "/* Bất kỳ mã JavaScript ở đây sẽ được tải cho tất cả các thành viên khi tải một trang nào đó lên. */",
-       "cologneblue.js": "/* Mã JavaScript tại đây sẽ được tải khi người dùng sử dụng hình dạng Xanh Cologne */",
        "monobook.js": "/* Mã JavaScript tại đây sẽ được tải khi người dùng sử dụng bề ngoài MonoBook */",
-       "modern.js": "/* Mã JavaScript tại đây sẽ được tải khi người dùng sử dụng bề ngoài Hiện đại */",
        "vector.js": "/* Mã JavaScript tại đây sẽ được tải khi người dùng sử dụng bề ngoài Vectơ */",
        "group-autoconfirmed.js": "/* Mã JavaScript tại đây sẽ chỉ được tải cho các thành viên tự động xác nhận */",
        "group-user.js": "/* Mã JavaScript tại đây sẽ chỉ được tải cho các thành viên có tài khoản */",
        "pageinfo-category-pages": "Số trang",
        "pageinfo-category-subcats": "Số thể loại con",
        "pageinfo-category-files": "Số tập tin",
-       "skinname-cologneblue": "Xanh Cologne",
-       "skinname-modern": "Hiện đại",
        "skinname-vector": "Vectơ",
        "markaspatrolleddiff": "Đánh dấu tuần tra",
        "markaspatrolledtext": "Đánh dấu tuần tra trang này",
index 8978542..55e7fd2 100644 (file)
        "searchmenu-exists": "'''ס'איז פֿאַראַן א בלאַט מיטן נאמען \"[[:$1]]\" אין דער וויקי'''",
        "searchmenu-new": "<strong>באַשאַפֿן דעם בלאַט \"[[:$1]]\" אויף דער וויקי!</strong> {{PLURAL:$2|0=|זעט אויך דעם בלאט געפֿונען מיט אײַער זוך.|זעט אויך די זוך רעזולטאטן געפֿונען.}}",
        "searchprofile-articles": "אינהאלט בלעטער",
-       "searchprofile-project": "הילף און פראיעקט בלעטער",
        "searchprofile-images": "מולטימעדיע",
        "searchprofile-everything": "אלץ",
        "searchprofile-advanced": "פֿארגעשריטן",
        "searchprofile-articles-tooltip": "זוכן אין $1",
-       "searchprofile-project-tooltip": "זוכן אין $1",
        "searchprofile-images-tooltip": "זוכן טעקעס",
        "searchprofile-everything-tooltip": "זוך אינעם גאנצען אינהאלט (אריינגערעכנט רעדן בלעטער)",
        "searchprofile-advanced-tooltip": "זוכן אין צוגעשטעלטע ָנאָמענטיילן",
        "tooltip-preferences-save": "היטן פרעפֿערענצן",
        "tooltip-summary": "אײַנגעבן א קורצע רעזומע",
        "common.css": "/* CSS געשריבן דא וועט אפילירן און באיינפלוסן אלע סקינס */",
-       "cologneblue.css": "/* CSS געשטעלט דא ווירקט נאר אויפן קעלנישן־בלוי סקין */",
        "monobook.css": "/* סטייל דא געלייגט וועט באאיינפלוסן דעם Monobook סקין */",
-       "modern.css": "/* CSS געשטעלט דא ווירקט אויפן מאדערנעם סקין */",
        "vector.css": "/* CSS געשטעלט דא ווירקט נאר אויפן וועקטאר סקין */",
        "common.js": "/* אלע סקריפטן פון JavaScript דא געשריבן וועט לויפן פאר אלע באנוצער ווען זיי וועלן לאדירן דעם בלאט */",
        "anonymous": "{{PLURAL:$1|אַנאנימער באַניצער| אַנאנימע באַניצערס}} פֿון {{SITENAME}}",
        "pageinfo-category-pages": "צאָל בלעטער",
        "pageinfo-category-subcats": "צאָל אונטערקאטעגאריעס",
        "pageinfo-category-files": "צאָל טעקעס",
-       "skinname-cologneblue": "קעלניש בלוי",
        "skinname-monobook": "מאנאבוק",
-       "skinname-modern": "מאדערן",
        "skinname-vector": "וועקטאר",
        "markaspatrolleddiff": "באצייכענען אלס פאטראלירט",
        "markaspatrolledtext": "באצייכענען בלאט אלס פאטראלירט",
index 1678907..16c064a 100644 (file)
        "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": "检测到回圈",
        "searchmenu-exists": "'''本wiki上有名为“[[:$1]]”的页面。'''",
        "searchmenu-new": "<strong>在本Wiki上新建名为“[[:$1]]”的页面!</strong>{{PLURAL:$2|0=|另请查看您的搜索找的结果。|另请查看搜索结果。}}",
        "searchprofile-articles": "内容页面",
-       "searchprofile-project": "帮助和项目页面",
        "searchprofile-images": "多媒体",
        "searchprofile-everything": "全部",
        "searchprofile-advanced": "高级",
        "searchprofile-articles-tooltip": "在$1中搜索",
-       "searchprofile-project-tooltip": "在$1中搜索",
        "searchprofile-images-tooltip": "搜索文件",
        "searchprofile-everything-tooltip": "搜索所有内容(包括讨论页面)",
        "searchprofile-advanced-tooltip": "在自定义名字空间中搜索",
        "tooltip-summary": "请输入简短的摘要",
        "interlanguage-link-title": "$1 – $2",
        "common.css": "/* 放置于这里的CSS将应用于所有皮肤 */",
-       "cologneblue.css": "/* 放置于这里的CSS将影响使用科隆香水蓝皮肤的用户 */",
        "monobook.css": "/* 放置于这里的CSS将影响使用MonoBook皮肤的用户 */",
-       "modern.css": "/* 放置于这里的CSS将影响使用现代皮肤的用户 */",
        "vector.css": "/* 放置于这里的CSS将影响使用Vector皮肤的用户 */",
        "print.css": "/* 放置于这里的CSS将影响打印输出 */",
        "noscript.css": "/* 放置于这里的CSS将影响停用JavaScript的用户 */",
        "group-sysop.css": "/* 放置于这里的CSS将只影响管理员 */",
        "group-bureaucrat.css": "/* 放置于这里的CSS将只影响机行政员 */",
        "common.js": "/* 这里的任何JavaScript将为所有用户在每次页面载入时加载。 */",
-       "cologneblue.js": "/* 这里的任何JavaScript将为使用科隆香水蓝皮肤的用户加载 */",
        "monobook.js": "/* 这里的任何JavaScript将为使用MonoBook皮肤的用户加载 */",
-       "modern.js": "/* 这里的任何JavaScript将为使用现代皮肤的用户加载 */",
        "vector.js": "/* 这里的任何JavaScript将为使用Vector皮肤的用户加载 */",
        "group-autoconfirmed.js": "/* 这里的任何JavaScript将只为自动确认用户加载 */",
        "group-bot.js": "/* 这里的任何JavaScript将只为机器人加载 */",
        "pageinfo-category-pages": "页面数",
        "pageinfo-category-subcats": "子分类数",
        "pageinfo-category-files": "文件数",
-       "skinname-cologneblue": "科隆香水蓝",
-       "skinname-modern": "现代",
        "markaspatrolleddiff": "标记为已巡查",
        "markaspatrolledtext": "标记此页面为已巡查",
        "markedaspatrolled": "标记为已检查",
index 73dfeb4..d4f20e0 100644 (file)
@@ -58,8 +58,8 @@
        "tog-hideminor": "隱藏最近變更中的小修訂",
        "tog-hidepatrolled": "隱藏最近更改中巡查過的編輯",
        "tog-newpageshidepatrolled": "隱藏新頁面清單中巡查過的頁面",
-       "tog-extendwatchlist": "展開監視列表以顯示所有變更,不只是最近的",
-       "tog-usenewrc": "依頁面分類最近變更和監視列表中的修改",
+       "tog-extendwatchlist": "展開監視列表以顯示含最近以外的所有變更",
+       "tog-usenewrc": "依頁面分類顯示最近變更和監視列表中的修改",
        "tog-numberheadings": "標題自動編號",
        "tog-showtoolbar": "顯示編輯工具列",
        "tog-editondblclick": "啟用滑鼠雙擊編輯頁面",
        "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": "編輯",
        "search": "搜尋",
        "searchbutton": "搜尋",
        "go": "前往",
-       "searcharticle": "進入",
+       "searcharticle": "執行",
        "history": "頁面歷史",
        "history_short": "歷史",
        "updatedmarker": "自我最後一次訪問以後的更新",
        "unprotect": "變更保護",
        "unprotectthispage": "變更此頁的保護",
        "newpage": "新頁面",
-       "talkpage": "討論此頁",
+       "talkpage": "討論此頁",
        "talkpagelinktext": "對話",
        "specialpage": "特殊頁面",
        "personaltools": "個人工具",
        "userpage": "檢視使用者頁面",
        "projectpage": "檢視專案頁面",
        "imagepage": "檢視檔案頁面",
-       "mediawikipage": "檢視使用者介面訊息",
+       "mediawikipage": "檢視訊息頁面",
        "templatepage": "檢視樣版頁面",
        "viewhelppage": "檢視說明頁面",
        "categorypage": "檢視分類頁面",
        "copyright": "除非額外說明,否則本站內容均使用 $1 授權條款。",
        "copyrightpage": "{{ns:project}}:Copyrights",
        "currentevents": "新聞動態",
-       "currentevents-url": "Project:Current events",
+       "currentevents-url": "Project:新聞動態",
        "disclaimers": "免責聲明",
        "disclaimerpage": "Project:General disclaimer",
        "edithelp": "編輯説明",
        "mainpage": "首頁",
        "mainpage-description": "首頁",
-       "policy-url": "Project:Policy",
+       "policy-url": "Project:方針",
        "portal": "社群主頁",
-       "portal-url": "Project:Community portal",
+       "portal-url": "Project:社區專頁",
        "privacy": "隱私政策",
        "privacypage": "Project:Privacy policy",
        "badaccess": "權限錯誤",
        "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": "試圖發送沒有電子郵件地址的電子郵件。",
        "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請您在詢問時附註以上詳細訊息。",
        "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": "已儲存修訂版本",
+       "storedversion": "已儲存修訂",
        "nonunicodebrowser": "<strong>警告:您的瀏覽器不相容 Unicode。</strong>\n暫時解決的方式是先在您可安全編輯頁面的地方編輯:非 ASCII 字元在編輯框中會以 16 進位編碼顯示。",
-       "editingold": "'''警告:{{GENDER:|你|妳|你}}正在編輯的是本頁的舊版本。'''\n如果{{GENDER:|你|妳|你}}保存它的話,在本版本之後的任何修改都會遺失。",
+       "editingold": "<strong>警告:您目前正編輯頁面的舊修訂版本。</strong>\n若您儲存,在此修訂之後變更的任何內容將會遺失。",
        "yourdiff": "差異",
-       "copyrightwarning": "請注意,所有於 {{SITENAME}} 所作的貢獻會依據 $2 授權條款發佈 (詳情請見 $1)。\n若您不希望您的著作被任意修改與散佈,請勿在此發表文章。\n您同時向我們保証在此的著作內容是您自行撰寫,或是取自不受版權保護的公開領域或自由資源。\n<strong>請勿在未經授權的情況下發表文章!</strong>",
-       "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>本頁已經被保護,只有擁有管理員權限的使用者才可編輯,此頁面被下列頁面引用因此連鎖保護:",
        "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-everything": "全部",
        "searchprofile-advanced": "進階",
        "searchprofile-articles-tooltip": "在 $1 中搜尋",
-       "searchprofile-project-tooltip": "在 $1 中搜尋",
        "searchprofile-images-tooltip": "搜尋檔案",
        "searchprofile-everything-tooltip": "搜尋所有內容 (包含對話頁面)",
        "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-edits": "展開監視列表中顯示的變更數量上限:",
        "prefs-watchlist-edits-max": "數量上限:1000",
        "prefs-watchlist-token": "監視列表密鑰:",
-       "prefs-misc": "雜項",
+       "prefs-misc": "其他",
        "prefs-resetpass": "變更密碼",
        "prefs-changeemail": "變更電子郵件",
        "prefs-setemail": "設定電子郵件位址",
        "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-suppressionlog": "檢視非公開日誌",
+       "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-editmyusercss": "編輯自己的使用者 CSS 檔",
+       "right-editmyuserjs": "編輯自己的使用者 JavaScript 檔",
+       "right-viewmywatchlist": "檢視自己的監視列表",
+       "right-editmywatchlist": "編輯自己的監視列表。注意,即使無此權限,某些操作仍會新增頁面至監視列表。",
        "right-viewmyprivateinfo": "檢視自己的私隱資料 (如:電子郵件地址及真實姓名)",
        "right-editmyprivateinfo": "編輯自己的私隱資料 (如:電子郵件地址及真實姓名)",
-       "right-editmyoptions": "編輯的偏好設定",
+       "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": "使用者權限日誌",
        "rightslogtext": "此為更改使用者權限的日誌。",
-       "action-read": "閱讀這個頁面",
-       "action-edit": "編輯這個頁面",
-       "action-createpage": "建ç«\8bé\80\99å\80\8bé \81é\9d¢",
+       "action-read": "閱讀頁面",
+       "action-edit": "編輯頁面",
+       "action-createpage": "建立頁面",
        "action-createtalk": "建立討論頁面",
-       "action-createaccount": "建立這個使用者帳號",
-       "action-history": "æ\9f¥é\96±此頁面歷史",
+       "action-createaccount": "建立使用者帳號",
+       "action-history": "檢è¦\96此頁面歷史",
        "action-minoredit": "標示此編輯為小修訂",
-       "action-move": "移動這個頁面",
-       "action-move-subpages": "移動這個頁面跟它的子頁面",
+       "action-move": "移動頁面",
+       "action-move-subpages": "移動此頁面與它的子頁面",
        "action-move-rootuserpages": "移動使用者根頁面",
        "action-move-categorypages": "移動分類頁面",
-       "action-movefile": "移動這個檔案",
-       "action-upload": "上載這個檔案",
-       "action-reupload": "覆蓋這個現有的檔案",
-       "action-reupload-shared": "覆蓋共用檔案庫上的檔案",
-       "action-upload_by_url": "由一個URL中上載檔案",
-       "action-writeapi": "用來寫API",
-       "action-delete": "刪除這個頁面",
-       "action-deleterevision": "刪除這次修訂",
-       "action-deletedhistory": "檢視這個頁面的刪除歷史",
-       "action-browsearchive": "搜尋已刪除頁面",
-       "action-undelete": "å\8f\8då\88ªé\99¤é\80\99å\80\8b頁面",
-       "action-suppressrevision": "翻查和恢復這次隱藏修訂",
-       "action-suppressionlog": "檢視這個私有日誌",
+       "action-movefile": "移動檔案",
+       "action-upload": "上傳此檔案",
+       "action-reupload": "覆蓋現有的檔案",
+       "action-reupload-shared": "覆蓋共用檔案庫上的檔案",
+       "action-upload_by_url": "使用 URL 上傳此檔案",
+       "action-writeapi": "使用寫入 API",
+       "action-delete": "刪除頁面",
+       "action-deleterevision": "刪除修訂",
+       "action-deletedhistory": "檢視頁面的刪除歷史",
+       "action-browsearchive": "搜尋已刪除頁面",
+       "action-undelete": "å\8f\96æ¶\88å\88ªé\99¤æ­¤頁面",
+       "action-suppressrevision": "複查與還原此隱藏修訂",
+       "action-suppressionlog": "檢視此非公開日誌",
        "action-block": "封鎖此使用者的編輯權限",
-       "action-protect": "更改這個頁面的保護等級",
+       "action-protect": "變更此頁面的保護層級",
        "action-rollback": "快速還原最後一位使用者對某一頁面的編輯",
        "action-import": "由其他 Wiki 匯入頁面",
        "action-importupload": "由檔案上傳匯入頁面",
-       "action-patrol": "標示其它的編輯為已巡查的",
-       "action-autopatrol": "將您的編輯標示為已巡查的",
-       "action-unwatchedpages": "檢視未被監視的頁面",
-       "action-mergehistory": "合併這個頁面的歷史",
+       "action-patrol": "標示其它人的編輯為已巡查",
+       "action-autopatrol": "標示您的編輯為已巡查",
+       "action-unwatchedpages": "檢視未監視的頁面列表",
+       "action-mergehistory": "合併頁面的歷史",
        "action-userrights": "編輯所有使用者的權限",
        "action-userrights-interwiki": "編輯在其它 Wiki 上的使用者權限",
        "action-siteadmin": "鎖定和解除鎖定資料庫",
        "action-sendemail": "發送電子郵件",
-       "action-editmywatchlist": "編輯您的監視列表",
+       "action-editmywatchlist": "編輯您的監視列表",
        "action-viewmywatchlist": "查看您的監視列表",
        "action-viewmyprivateinfo": "查看您的個人資料",
        "action-editmyprivateinfo": "編輯您的個人資料",
-       "nchanges": "$1次更改",
-       "enhancedrc-since-last-visit": "自上次訪問已有$1",
+       "nchanges": "$1 次變更",
+       "enhancedrc-since-last-visit": "自上次訪問已有 $1",
        "enhancedrc-history": "歷史",
        "recentchanges": "最近變更",
        "recentchanges-legend": "最近變更選項",
        "recentchanges-summary": "追蹤 Wiki 中此頁面的最近變更。",
-       "recentchanges-noresult": "在所選擇的時間裡沒有任何更改與所給條件吻合。",
-       "recentchanges-feed-description": "追蹤該 Wiki 在此頁面的最近變更。",
-       "recentchanges-label-newpage": "該次編輯建立了新頁面",
-       "recentchanges-label-minor": "該編輯是一個小修訂",
-       "recentchanges-label-bot": "該次編輯為機器人所執行",
-       "recentchanges-label-unpatrolled": "這次編輯尚未巡查過",
-       "recentchanges-label-plusminus": "頁面更改的位元組大小",
+       "recentchanges-noresult": "於指定時間內沒有符合條件的變更。",
+       "recentchanges-feed-description": "追蹤此訂閱中該 Wiki 的最近變更。",
+       "recentchanges-label-newpage": "該編輯建立新頁面",
+       "recentchanges-label-minor": "該編輯是一個小修訂",
+       "recentchanges-label-bot": "該編輯由機器人執行",
+       "recentchanges-label-unpatrolled": "該編輯尚未巡查",
+       "recentchanges-label-plusminus": "該頁面變更的大小 (位元組)",
        "recentchanges-legend-heading": "'''說明:'''",
        "recentchanges-legend-newpage": "(請參考 [[Special:NewPages|最新頁面]])",
        "recentchanges-legend-plusminus": "(<em>±123</em>)",
-       "rcnotefrom": "以下為自 <strong>$2</strong> 起的更改 (最多顯示<strong>$1</strong> 筆)。",
+       "rcnotefrom": "以下為自 <strong>$2</strong> 以來的變更 (最多顯示 <strong>$1</strong> 筆)。",
        "rclistfrom": "顯示自 $3 $2 以來的最近變更",
        "rcshowhideminor": "$1 小修訂",
        "rcshowhideminor-show": "顯示",
        "rcshowhideminor-hide": "隱藏",
-       "rcshowhidebots": "$1 機器人的編輯",
+       "rcshowhidebots": "$1 機器人",
        "rcshowhidebots-show": "顯示",
        "rcshowhidebots-hide": "隱藏",
        "rcshowhideliu": "$1 已註冊的使用者",
        "minoreditletter": "小",
        "newpageletter": "新",
        "boteditletter": "機",
-       "number_of_watching_users_pageview": "[$1 位在監視的使用者]",
-       "rc_categories": "限制分類 (以 \"|\" 分隔)",
+       "number_of_watching_users_pageview": "[$1 位在監視的使用者]",
+       "rc_categories": "分類限制 (以 \"|\" 分隔)",
        "rc_categories_any": "任意",
-       "rc-change-size-new": "更改後$1字節",
+       "rc-change-size-new": "變更後為 $1 位元組",
        "newsectionsummary": "/* $1 */ 新章節",
-       "rc-enhanced-expand": "顯示細節",
-       "rc-enhanced-hide": "隱藏細節",
-       "rc-old-title": "最初建立為 \"$1\"",
+       "rc-enhanced-expand": "顯示詳細資訊",
+       "rc-enhanced-hide": "隱藏詳細資訊",
+       "rc-old-title": "æ\9c\80å\88\9d建ç«\8bç\9a\84å\90\8d稱ç\82º \"$1\"",
        "recentchangeslinked": "相關變更",
        "recentchangeslinked-feed": "相關變更",
        "recentchangeslinked-toolbox": "相關變更",
-       "recentchangeslinked-title": "與「$1」有關的變更",
-       "recentchangeslinked-summary": "這一個特殊頁面列示''由''所給出的一個頁面之連結到頁面的最近更改(或者是對於指定分類的成員)。\n在[[Special:Watchlist|您的監視列表]]中的頁面會以'''粗體'''顯示。",
-       "recentchangeslinked-page": "頁面名稱:",
-       "recentchangeslinked-to": "顯示連到所給出的頁面",
+       "recentchangeslinked-title": "與 \"$1\" 相關的變更",
+       "recentchangeslinked-summary": "此頁面列出指定頁面連結到的所有頁面中 (或指定分類中的所有成員) 有做變更的頁面清單。\n有在 [[Special:Watchlist|您的監視列表]] 中的頁面會以 <strong>粗體</strong> 標示。",
+       "recentchangeslinked-page": "頁面名稱",
+       "recentchangeslinked-to": "改顯示連結至指定頁面的變更",
        "upload": "上傳檔案",
        "uploadbtn": "上傳檔案",
-       "reuploaddesc": "取消上載並返回上載表單",
-       "upload-tryagain": "提交修改後的檔案描述",
+       "reuploaddesc": "取消上傳並返回上傳表單",
+       "upload-tryagain": "送出修改後的檔案描述",
        "uploadnologin": "未登入",
-       "uploadnologintext": "您必須先$1才能上載檔案。",
-       "upload_directory_missing": "遺失上傳目錄($1)且網頁伺服器無權限建立。",
-       "upload_directory_read_only": "上傳目錄($1)不存在或無寫權限。",
+       "uploadnologintext": "您必須先 $1 才能上傳檔案。",
+       "upload_directory_missing": "缺少上傳目錄 ($1) 且網頁伺服器沒有權限建立。",
+       "upload_directory_read_only": "網頁伺服器沒有上傳目錄 ($1) 的寫入權限。",
        "uploaderror": "上傳錯誤",
        "upload-recreate-warning": "<strong>警告:曾有檔案使用此名稱已被刪除或者移動至它處。</strong>\n\n在此提供刪除與移動日誌方便作為參考:",
-       "uploadtext": "使ç\94¨ä¸\8bé\9d¢ç\9a\84表å\96®ä¾\86ä¸\8aå\82³æª\94æ¡\88ã\80\82\nè¦\81檢è¦\96æ\88\96æ\90\9cå°\8b以å\89\8dä¸\8aå\82³ç\9a\84æª\94æ¡\88ï¼\8cå\8f¯è\87³ [[Special:FileList|æª\94æ¡\88ä¸\8aå\82³æ¸\85å\96®]]ï¼\8c\87\8dæ\96°)ä¸\8aå\82³æ\9c\83å\9c¨ [[Special:Log/upload|ä¸\8aå\82³æ\97¥èª\8c]] ä¸­è¨\98é\8c\84ï¼\8cè\80\8cå\88ªé\99¤å\89\87æ\9c\83å\9c¨ [[Special:Log/delete|å\88ªé\99¤æ\97¥èª\8c]] ä¸­è¨\98é\8c\84ã\80\82\n\nè¦\81å\9c¨é \81é\9d¢ä¸­å¼\95ç\94¨æª\94æ¡\88ï¼\8cå\8f¯ä½¿ç\94¨ä»¥ä¸\8bå\85¶ä¸­ä¸\80種æ\96¹å¼\8fé\80£çµ\90ï¼\9a\n* <strong><code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.jpg]]</nowiki></code></strong> é¡¯ç¤ºå®\8cæ\95´å°ºå\90\8b的圖片\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> 直接連結到圖片而不顯示預覽",
+       "uploadtext": "使ç\94¨ä¸\8bé\9d¢ç\9a\84表å\96®ä¾\86ä¸\8aå\82³æª\94æ¡\88ã\80\82\nè¦\81檢è¦\96æ\88\96æ\90\9cå°\8b以å\89\8dä¸\8aå\82³ç\9a\84æª\94æ¡\88ï¼\8cå\8f¯è\87³ [[Special:FileList|æª\94æ¡\88ä¸\8aå\82³æ¸\85å\96®]]ï¼\8c\87\8dæ\96°)ä¸\8aå\82³æ\9c\83å\9c¨ [[Special:Log/upload|ä¸\8aå\82³æ\97¥èª\8c]] ä¸­è¨\98é\8c\84ï¼\8cè\80\8cå\88ªé\99¤å\89\87æ\9c\83å\9c¨ [[Special:Log/delete|å\88ªé\99¤æ\97¥èª\8c]] ä¸­è¨\98é\8c\84ã\80\82\n\nè¦\81å\9c¨é \81é\9d¢ä¸­å¼\95ç\94¨æª\94æ¡\88ï¼\8cå\8f¯ä½¿ç\94¨ä»¥ä¸\8bå\85¶ä¸­ä¸\80種æ\96¹å¼\8fé\80£çµ\90ï¼\9a\n* <strong><code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.jpg]]</nowiki></code></strong> é¡¯ç¤ºå®\8cæ\95´å°ºå¯¸的圖片\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。",
        "upload-prohibited": "禁止的檔案類型:$1。",
        "filesource": "來源:",
        "ignorewarning": "忽略警告並儲存檔案",
        "ignorewarnings": "忽略所有警告",
-       "minlength1": "檔案名字必須至少有一個字母。",
-       "illegalfilename": "檔案名「$1」包含有頁面標題所禁止的字符。請改名後重新上傳。",
-       "filename-toolong": "æ\96\87件å\90\8dä¸\8dè\83½è¶\85é\81\8e240å­\97ç¯\80。",
-       "badfilename": "檔案名已被改為「$1」。",
-       "filetype-mime-mismatch": "檔案擴展名 \".$1\" 不配所偵測檔案的MIME類型 ($2)。",
-       "filetype-badmime": "MIME類別「$1」不是容許的檔案格式。",
-       "filetype-bad-ie-mime": "不可以上傳這個檔案,因為 Internet Explorer 會將它偵測為「$1」,它是一種不容許以及有潛在危險性之檔案類型。",
-       "filetype-unwanted-type": "'''\".$1\"'''是一種不需要的檔案類型。\n建議的{{PLURAL:$3|一種|多種}}檔案類型有$2。",
-       "filetype-banned-type": "'''「.$1」'''{{PLURAL:$4|不是允許的檔案類型|是不允許的檔案類型}}。 \n允許的{{PLURAL:$3|檔案類型|檔案類型}} $2。",
-       "filetype-missing": "該檔案名稱並沒有副檔名 (像 \".jpg\")。",
-       "empty-file": "您所提交的檔案為空檔案。",
-       "file-too-large": "您所提交的檔案過大。",
-       "filename-tooshort": "檔案名過短。",
-       "filetype-banned": "此類檔案被禁止。",
-       "verification-error": "檔案未通過驗證。",
-       "hookaborted": "您所嘗試的修改被擴展鈎捨棄。",
-       "illegal-filename": "檔案名非法。",
+       "minlength1": "檔案名稱必須至少一個字元。",
+       "illegalfilename": "檔案名稱 \"$1\" 包含頁面標題所禁止使用的字元。\n請重新命名後再上傳。",
+       "filename-toolong": "æª\94æ¡\88å\90\8d稱ä¸\8då\8f¯è¶\85é\81\8e 240 å\80\8bä½\8då\85\83çµ\84。",
+       "badfilename": "已變更檔案名稱為 \"$1\"。",
+       "filetype-mime-mismatch": "檔案副檔名 \".$1\" 不符合偵測到的檔案 MIME 類型 ($2)。",
+       "filetype-badmime": "不允許上傳 MIME 類型為 \"$1\" 的檔案。",
+       "filetype-bad-ie-mime": "Internet Explorer 會將此檔案類型誤判為 \"$1\",可能造成潛在問題,不允許上傳此類型檔案。",
+       "filetype-unwanted-type": "不建議使用檔案類型 <strong>\".$1\"</strong>。\n建議的檔案類型有 $2。",
+       "filetype-banned-type": "不允許使用檔案類型 <strong>\".$1\"</strong>。\n允許的{{PLURAL:$3|檔案類型|檔案類型}}為 $2。",
+       "filetype-missing": "該檔案沒有副檔名 (如 \".jpg\")。",
+       "empty-file": "您所送出的檔案為空的。",
+       "file-too-large": "您所送出的檔案過大。",
+       "filename-tooshort": "檔案名過短。",
+       "filetype-banned": "此類型檔案已禁止使用。",
+       "verification-error": "æ­¤æª\94æ¡\88æ\9cªé\80\9aé\81\8eé©\97è­\89ã\80\82",
+       "hookaborted": "您所嘗試的修改被擴展套件中止。",
+       "illegal-filename": "不允許使用的檔案名稱。",
        "overwrite": "不允許覆蓋現有檔案。",
-       "unknown-error": "發生未知錯誤。",
+       "unknown-error": "發生不明錯誤。",
        "tmp-create-error": "無法建立臨時檔案。",
-       "tmp-write-error": "臨時檔案寫入發生錯誤。",
-       "large-file": "建議檔案大小不能超過 $1;本檔案大小為 $2。",
-       "largefileserver": "這個檔案的大小比伺服器配置允許的大小還要大。",
-       "emptyfile": "您所上傳的檔案不存在。這可能是由於檔案名鍵入錯誤。請檢查您是否真的要上傳此檔案。",
-       "windows-nonascii-filename": "本維基不支持帶特殊字符的檔案名。",
-       "fileexists": "已存在相同名稱的檔案,如果您無法確定您是否要改變它,請檢查<strong>[[:$1]]</strong>。 [[$1|thumb]]",
-       "filepageexists": "æª\94æ¡\88ç\9a\84æ\8f\8fè¿°é \81é\9d¢  <strong>[[:$1]]</strong> æ\97©å·²å»ºç«\8bï¼\8cä½\86ç\9b®å\89\8d並ç\84¡è\88\87æ­¤ç\9b¸å\90\8cå\90\8d稱ç\9a\84æª\94æ¡\88ã\80\82\næ\82¨è¼¸å\85¥ç\9a\84æ\91\98è¦\81å°\87ä¸\8dæ\9c\83æ\96°å¢\9eè\87³è©²æ\8f\8fè¿°é \81é\9d¢ä¸­ï¼\8c\næ\82¨å¿\85é \88æ\89\8bå\8b\95編輯æ\96°å¢\9eæ\91\98è¦\81è\87³å·²å­\98å\9c¨æ\8f\8fè¿°é \81é\9d¢ä¸­。\n[[$1|thumb]]",
-       "fileexists-extension": "一個相似檔名的檔案已經存在: [[$2|thumb]]\n* 上載檔案的檔名: <strong>[[:$1]]</strong>\n* 現有檔案的檔名: <strong>[[:$2]]</strong>\n請選擇一個不同的名字。",
-       "fileexists-thumbnail-yes": "這個檔案好像是一幅圖片的縮圖版本''(縮圖)''。 [[$1|thumb]]\n請檢查清楚該檔案<strong>[[:$1]]</strong>。\n如果檢查後的檔案是同原本圖片的大小是一樣的話,就不用再上載多一幅縮圖。",
-       "file-thumbnail-no": "æ­¤å\9c\96ç\89\87ç\9a\84æª\94æ¡\88å\90\8d稱以<strong>$1</strong>é\96\8bå§\8bã\80\82å®\83好å\83\8fæ\9f\90å¹\85å\9c\96ç\89\87ç\9a\84縮å°\8fç\89\88æ\9c¬''ï¼\88縮å\9c\96ï¼\89''ã\80\82\nå¦\82æ\9e\9c{{GENDER:|ä½ |妳|ä½ }}æ\9c\89該å\9c\96ç\89\87ç\9a\84å®\8cæ\95´å¤§å°\8fç\89\88æ\9c¬ï¼\8cè«\8bä¸\8aè¼\89å®\83ï¼\9bå\90¦å\89\87è«\8bä¿®æ\94¹æª\94å\90\8d。",
-       "fileexists-forbidden": "已存在相同名稱的檔案,且不能覆蓋;請返回並用一個新的名稱來上傳此檔案。[[File:$1|thumb|center|$1]]",
-       "fileexists-shared-forbidden": "å\9c¨å\85±äº«æª\94æ¡\88庫中已å­\98å\9c¨æ­¤å\90\8d稱ç\9a\84æª\94æ¡\88ã\80\82\nå¦\82æ\9e\9c{{GENDER:|ä½ |妳|ä½ }}ä»\8dç\84¶æ\83³å\8e»ä¸\8aè¼\89å®\83ç\9a\84話ï¼\8cè«\8bè¿\94å\9b\9e並ç\94¨ä¸\80å\80\8bæ\96°ç\9a\84å\90\8d稱ä¾\86ä¸\8aå\82³æ­¤æª\94æ¡\88ã\80\82[[File:$1|thumb|center|$1]]",
-       "file-exists-duplicate": "這個檔案是跟以下的{{PLURAL:$1|一|多}}個檔案重覆:",
-       "file-deleted-duplicate": "一個相同名稱的檔案 ([[:$1]]) 在先前刪除過。您應該在重新上傳之前檢查一下該檔案之刪除日誌。",
-       "file-deleted-duplicate-notitle": "在此之前已有與此相同的檔案已被刪除,並且禁止顯示標題。\n您在重新上傳前,應請求有權力檢視隱藏檔案的使用者重新審查。",
-       "uploadwarning": "上警告",
+       "tmp-write-error": "寫入臨時檔案發生錯誤。",
+       "large-file": "建議的檔案大小上限為 $1;\n此檔案為 $2。",
+       "largefileserver": "此檔案大小超出伺服器設定的允許範圍。",
+       "emptyfile": "您上傳的檔案為空的。\n可能是檔案名輸入錯誤。\n請檢查您是否真的要上傳空檔案。",
+       "windows-nonascii-filename": "本 Wiki 不支援使用特殊符號的檔案名稱。",
+       "fileexists": "已存在相同名稱的檔案,若您不確定是否要變更它,請檢查 <strong>[[:$1]]</strong>。\n[[$1|thumb]]",
+       "filepageexists": "æ­¤æª\94æ¡\88ç\9a\84æ\8f\8fè¿°é \81é\9d¢ <strong>[[:$1]]</strong> å·²å­\98å\9c¨ï¼\8cä½\86ç\9b®å\89\8dæ²\92æ\9c\89使ç\94¨æ­¤å\90\8d稱ç\9a\84æª\94æ¡\88ã\80\82\næ\82¨å\9c¨æ­¤è¼¸å\85¥ç\9a\84æ\91\98è¦\81ä¸\8dæ\9c\83å\84²å­\98å\88°è©²æ\8f\8fè¿°é \81é\9d¢ï¼\8c\næ\82¨å¿\85é \88æ\89\8bå\8b\95編輯該æ\8f\8fè¿°é \81é\9d¢。\n[[$1|thumb]]",
+       "fileexists-extension": "類似的檔案名稱已存在:[[$2|thumb]]\n* 上傳中的檔案名稱:<strong>[[:$1]]</strong>\n* 已存在的檔案名稱:<strong>[[:$2]]</strong>\n請選擇使用其他名稱。",
+       "fileexists-thumbnail-yes": "此檔案似乎已為縮小的圖片 <em>(縮圖)</em>。\n[[$1|thumb]]\n請檢查檔案 <strong>[[:$1]]</strong>。\n若原始圖片確實為此尺寸,則無須另外上傳縮圖。",
+       "file-thumbnail-no": "æª\94æ¡\88å\90\8d稱以 <strong>$1</strong> ç\82ºé\96\8bé ­ã\80\82\nä¼¼ä¹\8eå·²ç\82ºç¸®å°\8fç\9a\84å\9c\96ç\89\87 <em>(縮å\9c\96)</em>ã\80\82\nè\8b¥æ\82¨æ\9c\89å\8e\9få§\8b大å°\8fç\9a\84å\9c\96ç\89\87ï¼\8cæ\87\89ä¸\8aå\82³å\8e\9få§\8bå\9c\96ç\89\87ï¼\8cå\90¦å\89\87è«\8bè®\8aæ\9b´æª\94å\90\8d稱。",
+       "fileexists-forbidden": "已存在相同名稱的檔案,且無法覆蓋。\n若您仍要上傳此檔案,請返回上一頁並使用其他名稱。\n[[File:$1|thumb|center|$1]]",
+       "fileexists-shared-forbidden": "å\85±ç\94¨æª\94æ¡\88庫中已å­\98å\9c¨æ­¤å\90\8d稱ç\9a\84æª\94æ¡\88ã\80\82\nè\8b¥æ\82¨ä»\8dè¦\81ä¸\8aå\82³æ­¤æª\94æ¡\88ï¼\8cè«\8bè¿\94å\9b\9eä¸\8aä¸\80é \81並使ç\94¨å\85¶ä»\96å\90\8d稱ã\80\82\n[[File:$1|thumb|center|$1]]",
+       "file-exists-duplicate": "此檔案與下列{{PLURAL:$1|一|多}}個檔案重複:",
+       "file-deleted-duplicate": "與此檔案完全相同的檔案 ([[:$1]]) 在先前已被刪除。\n您應在重新上傳之前確認該檔案的刪除日誌。",
+       "file-deleted-duplicate-notitle": "與此檔案完全相同的檔案在先前已被刪除,且禁止顯示該標題。\n您在重新上傳前,應請求有權力檢視隱藏檔案的使用者重新審查。",
+       "uploadwarning": "上警告",
        "uploadwarning-text": "請修改以下的檔案描述並重試。",
        "savefile": "儲存檔案",
-       "uploadedimage": "已上載「[[$1]]」",
-       "overwroteimage": "已經上傳「[[$1]]」的新版本",
-       "uploaddisabled": "上傳己停用。",
-       "copyuploaddisabled": "通過網址上傳功能未開通。",
-       "uploaddisabledtext": "檔案上傳不可用。",
-       "php-uploaddisabledtext": "PHP 檔案上載已經停用。請檢查 file_uploads 設定。",
-       "uploadscripted": "該檔案包含可能被網路瀏覽器錯誤解釋的 HTML 或腳本代碼。",
-       "uploadscriptednamespace": "此 SVG 檔案使用了非法的命名空間 \"$1\"",
-       "uploadinvalidxml": "上載檔案中的XML無法解析。",
-       "uploadvirus": "該æª\94æ¡\88å\8c\85å\90«æ\9c\89ç\97\85æ¯\92ï¼\81\n詳æ\83\85:$1",
-       "uploadjava": "該檔案是 ZIP 檔案,其中包含 Java 的.class 檔案。\n不允許上傳 Java 檔案,是因為他們可能會跳過安全限制。",
+       "uploadedimage": "已上傳 \"[[$1]]\"",
+       "overwroteimage": "已上傳新版本的 \"[[$1]]\"",
+       "uploaddisabled": "己停用上傳。",
+       "copyuploaddisabled": "己停用使用 URL 上傳。",
+       "uploaddisabledtext": "已停用檔案上傳。",
+       "php-uploaddisabledtext": "PHP 已停用檔案上傳。\n請檢查 file_uploads 設定。",
+       "uploadscripted": "此檔案包含可能會被網頁瀏覽器錯誤執行的 HTML 或 Script。",
+       "uploadscriptednamespace": "此 SVG 檔案使用了非法的命名空間 \"$1\"",
+       "uploadinvalidxml": "無法解析已上傳檔案中的 XML。",
+       "uploadvirus": "該æª\94æ¡\88å\90«æ\9c\89ç\97\85æ¯\92ï¼\81\n詳細è³\87è¨\8a:$1",
+       "uploadjava": "該檔案為包含 Java .class 檔案的 ZIP 檔案。\n因 Java 檔案可能跳過安全檢查造成安全性問題,不允許上傳 Java 檔案。",
        "upload-source": "來源檔案",
        "sourcefilename": "來源檔案名稱:",
-       "sourceurl": "來源網址:",
+       "sourceurl": "來源 URL:",
        "destfilename": "目標檔案名稱:",
        "upload-maxfilesize": "檔案大小限制:$1",
        "upload-description": "檔案描述",
        "upload-options": "上傳選項",
-       "watchthisupload": "監視這個檔案",
-       "filewasdeleted": "之前已經有一個同名檔案被上傳後又被刪除了。在上傳此檔案之前您需要檢查$1。",
-       "filename-bad-prefix": "您上傳的檔案名稱是以'''「$1」'''作為開頭,通常這種沒有含意的檔案名稱是由數碼相機中自動編排。請在您的檔案中重新選擇一個更加有意義的檔案名稱。",
+       "watchthisupload": "監視檔案",
+       "filewasdeleted": "先前已有同樣名稱的檔案上傳,後來被刪除。\n您應在上傳此檔案前檢查 $1。",
+       "filename-bad-prefix": "您上傳的檔案名稱以 <strong>\"$1\"</strong> 開頭,是不具任何描述意義的名稱,通常由數位相機自動產生。\n請替您的檔案使用一個更具描述意義的名稱。",
        "upload-success-subj": "上傳成功",
-       "upload-success-msg": "æ\82¨å\9c¨[$2]ç\9a\84ä¸\8aä¼ å·²ç»\8fæ\88\90å\8a\9fï¼\8cå\8f¯ä»¥å\9c¨è¿\99é\87\8cæ\89¾å\88°:[[:{{ns:file}}:$1]]",
+       "upload-success-msg": "æ\82¨å·²æ\88\90å\8a\9f使ç\94¨ [$2] ä¸\8aå\82³æª\94æ¡\88ï¼\8cå\8f¯æ\96¼æ­¤è\99\95å\8f\96å¾\97æª\94æ¡\88:[[:{{ns:file}}:$1]]",
        "upload-failure-subj": "上傳問題",
-       "upload-failure-msg": "您在[$2]的上傳出現了問題:\n\n$1",
+       "upload-failure-msg": "您使用 [$2] 上傳的檔案發生問題:\n\n$1",
        "upload-warning-subj": "上傳警告",
-       "upload-warning-msg": "您自[$2]的上傳出錯。您可以返回[[Special:Upload/stash/$1|上傳表單]]並更正問題。",
-       "upload-proto-error": "協議錯誤",
-       "upload-proto-error-text": "é\81 ç¨\8bä¸\8aå\82³è¦\81æ±\82 URL ä»¥ <code>http://</code> æ\88\96 <code>ftp://</code> é\96\8bé ­。",
+       "upload-warning-msg": "您使用 [$2] 上傳的檔案發生問題。 您可以返回 [[Special:Upload/stash/$1|上傳表單]] 更正此問題。",
+       "upload-proto-error": "通訊協定不正確",
+       "upload-proto-error-text": "é\81 ç«¯ä¸\8aå\82³æª\94æ¡\88é\9c\80è¦\81使ç\94¨ä»¥ <code>http://</code> æ\88\96 <code>ftp://</code> é\96\8bé ­ç\9a\84 URL。",
        "upload-file-error": "內部錯誤",
        "upload-file-error-text": "嘗試在伺服器上建立臨時檔案時發生內部錯誤。\n請連絡 [[Special:ListUsers/sysop|管理員]]。",
-       "upload-misc-error": "未知的上傳錯誤",
-       "upload-misc-error-text": "上傳時發生不明錯誤。\n請檢查您的 URL 位置是否有效且可存取,然後再重試一次。\n如果仍有問題,請聯絡 [[Special:ListUsers/sysop|管理員]]。",
+       "upload-misc-error": "不明的上傳錯誤",
+       "upload-misc-error-text": "上傳時發生不明錯誤。\n請檢查您的 URL 是否有效且可存取,然後再重試一次。\n如果仍有問題,請聯絡 [[Special:ListUsers/sysop|管理員]]。",
        "upload-too-many-redirects": "URL 中包含太多重新導向資訊",
        "upload-http-error": "發生 HTTP 錯誤:$1",
-       "upload-copy-upload-invalid-domain": "不允許此網域複製上傳的檔案。",
+       "upload-copy-upload-invalid-domain": "此網域不允許複製上傳的檔案。",
        "backend-fail-stream": "無法傳輸檔案 \"$1\"。",
        "backend-fail-backup": "無法備份檔案 \"$1\"。",
        "backend-fail-notexists": "檔案 $1 不存在。",
        "uploadstash": "上傳儲藏庫",
        "uploadstash-summary": "此頁面可存取已上傳或還在上傳程序但尚未在 Wiki 公開的檔案,這些檔案除了上傳的使用者本身外,其他人尚無法查看。",
        "uploadstash-clear": "清除儲藏庫檔案",
-       "uploadstash-nofiles": "{{GENDER:|你|妳|你}}沒有儲藏的檔案。",
-       "uploadstash-badtoken": "執行動作失敗,{{GENDER:|你|妳|你}}的編輯資訊可能已經過期,請重新再試。",
+       "uploadstash-nofiles": "沒有儲藏的檔案。",
+       "uploadstash-badtoken": "執行動作失敗,的編輯資訊可能已經過期,請重新再試。",
        "uploadstash-errclear": "清除檔案失敗。",
        "uploadstash-refresh": "更新檔案清單",
-       "invalid-chunk-offset": "無效區塊偏移量",
+       "invalid-chunk-offset": "無效區塊位置",
        "img-auth-accessdenied": "拒絕存取",
-       "img-auth-nopathinfo": "缺少 PATH_INFO。\n您的伺服器環境未傳遞此資訊,\n可能為以 CGI 為基礎並不支持 img_auth。\n詳情請參考 https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization。",
-       "img-auth-notindir": "所指定的路徑不在已設定的上傳目錄清單。",
-       "img-auth-badtitle": "無法 \"$1\" 建立有效的標題。",
+       "img-auth-nopathinfo": "缺少 PATH_INFO 參少。\n您的伺服器環境未傳遞此資訊,\n您可能使用 CGI-based 的伺服器,不支援 img_auth。\n請參考 https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization。",
+       "img-auth-notindir": "已設定的上傳目錄清單中不存在您指定的路徑。",
+       "img-auth-badtitle": "無法使用 \"$1\" 建立有效的標題。",
        "img-auth-nologinnWL": "您尚未登入,且 \"$1\" 並未在允許清單上。",
        "img-auth-nofile": "檔案 \"$1\" 不存在。",
        "img-auth-isdir": "您正嘗試存取目錄 \"$1\",\n僅允許存取檔案。",
        "filehist-current": "目前",
        "filehist-datetime": "日期/時間",
        "filehist-thumb": "縮圖",
-       "filehist-thumbtext": "於$1的縮圖版本",
+       "filehist-thumbtext": "於 $1 版本的縮圖",
        "filehist-nothumb": "沒有縮圖",
        "filehist-user": "使用者",
        "filehist-dimensions": "尺寸",
        "filepage-nofile-link": "不存在此名稱的檔案,您可以 [$1 上傳]。",
        "uploadnewversion-linktext": "上傳此檔案的新版本",
        "shared-repo-from": "來自 $1",
-       "shared-repo": "一個共用檔案庫",
+       "shared-repo": "共用檔案庫",
        "shared-repo-name-wikimediacommons": "維基共享資源",
-       "upload-disallowed-here": "您不可以覆蓋此檔案。",
+       "upload-disallowed-here": "您無法覆蓋此檔案。",
        "filerevert": "還原 $1",
        "filerevert-legend": "還原檔案",
        "filerevert-intro": "您現正在還原檔案 <strong>[[Media:$1|$1]]</strong> 至 [$4 於 $2 $3 的版本]。",
        "mimesearch-summary": "本頁面可搜尋檔案的 MIME 類型。\n輸入格式:內容類型/子類型,如 <code>image/jpeg</code>。",
        "mimetype": "MIME 類型:",
        "download": "下載",
-       "unwatchedpages": "未監視的頁面",
+       "unwatchedpages": "未監視的頁面",
        "listredirects": "重新導向頁面清單",
        "listduplicatedfiles": "重複檔案列表",
        "listduplicatedfiles-summary": "以下列表中某檔案之最新版本與其他檔案之最新版本重複。進包含本地檔案",
        "statistics-pages": "頁面",
        "statistics-pages-desc": "在 Wiki 上所有的頁面,包含對話頁面、重新導向頁面...等。",
        "statistics-files": "已經上傳的檔案",
-       "statistics-edits": "自從{{SITENAME}}設定的頁面編輯數",
-       "statistics-edits-average": "每一頁面的平均編輯數",
+       "statistics-edits": "自 {{SITENAME}} 成立以來的頁面編輯數",
+       "statistics-edits-average": "每平均編輯數",
        "statistics-views-total": "檢視總數",
        "statistics-views-total-desc": "不存在頁面和特殊頁面的查看數未計入",
        "statistics-views-peredit": "每次編輯檢視數",
        "fewestrevisions": "最少修訂的頁面",
        "nbytes": "$1 個位元組",
        "ncategories": "$1 個分類",
-       "ninterwikis": "$1 個跨維基連結",
+       "ninterwikis": "$1 個 Interwiki 連結",
        "nlinks": "$1 個連結",
        "nmembers": "$1 個成員",
        "nmemberschanged": "$1 → $2 個成員",
        "mostlinkedtemplates": "最多連結的樣版",
        "mostcategories": "最多分類頁面",
        "mostimages": "最多連結檔案",
-       "mostinterwikis": "最多跨維基連結的頁面",
+       "mostinterwikis": "最多 Interwiki 連結的頁面",
        "mostrevisions": "最多修訂頁面",
        "prefixindex": "所有頁面與字首",
        "prefixindex-namespace": "所有含字首的頁面 ($1 命名空間)",
        "emailnotarget": "收件人不存在或無效的使用者名稱。",
        "emailtarget": "輸入收件人使用者名稱",
        "emailusername": "使用者名稱:",
-       "emailusernamesubmit": "提交",
+       "emailusernamesubmit": "送出",
        "email-legend": "發送電子郵件給另一位 {{SITENAME}} 使用者",
        "emailfrom": "寄件人:",
        "emailto": "收件人:",
        "selfmove": "原始標題與目標標題相同,您不能移動一頁覆蓋本身。",
        "immobile-source-namespace": "無法移動在命名空間 \"$1\" 中的頁面",
        "immobile-target-namespace": "不可以將頁面移動到「$1」空間名中",
-       "immobile-target-namespace-iw": "垮維基連結在移動頁面中是無效的目標。",
+       "immobile-target-namespace-iw": "Interwiki 連結在移動頁面中是無效的目標。",
        "immobile-source-page": "這個頁面不能移動。",
        "immobile-target-page": "無法移動至目標標題中。",
        "bad-target-model": "所需的目的地使用不同的內容模式。不可以從$1轉換到 $2 。",
        "importfailed": "匯入失敗: <nowiki>$1</nowiki>",
        "importunknownsource": "未知的源匯入類型",
        "importcantopen": "無法打開匯入檔案",
-       "importbadinterwiki": "損壞的內部 wiki 連結",
+       "importbadinterwiki": "損壞的 Interwiki 連結",
        "importsuccess": "匯入完成!",
        "importnosources": "跨Wiki匯入源沒有定義,同時不允許直接的歷史上傳。",
        "importnofile": "沒有上傳匯入檔案。",
        "import-invalid-interwiki": "不能在指定的wiki匯入。",
        "import-error-edit": "「$1」無法導入,因為您不准編輯它。",
        "import-error-create": "您沒有建立頁面的權限,無法匯入頁面 \"$1\"。",
-       "import-error-interwiki": "頁面\"$1\"未能導入,這是因為他的頁面名稱預留了供跨維基連結使用。",
+       "import-error-interwiki": "頁面\"$1\"未能導入,這是因為他的頁面名稱預留了供跨維基連結( Interwiki)使用。",
        "import-error-special": "無法匯入頁面 \"$1\",匯入的頁面屬於不允許頁面的特殊命名空間。",
        "import-error-invalid": "「$1」不能導入,因為名字無效。",
        "import-error-unserialize": "頁面「$1」的修訂版本「$2」不能反序列。該修訂版本是以$3內容模式序列為$4。",
        "tooltip-summary": "輸入一個簡短的摘要",
        "interlanguage-link-title": "$1 – $2",
        "common.css": "/* 此 CSS 會套用至所有的介面外觀 */",
-       "cologneblue.css": "/* 此 CSS 會影響使用 Cologne Blue 介面外觀的使用者 */",
        "monobook.css": "/* 此 CSS 會影響使用 Monobook 介面外觀的使用者 */",
-       "modern.css": "/* 此 CSS 會影響使用 Modern 介面外觀的使用者 */",
        "vector.css": "/* 此 CSS 會影響使用 Vector 介面外觀的使用者 */",
        "print.css": "/* 此 CSS 會影響列印版輸出 */",
        "noscript.css": "/* 此 CSS 會影響沒有啓用 JavaScript 的使用者 */",
        "group-sysop.css": "/* 此 CSS 會影響管理員 */",
        "group-bureaucrat.css": "/* 此 CSS 會影響行政員 */",
        "common.js": "/* 此 JavaScript 會用於使用者載入的每一個頁面。 */",
-       "cologneblue.js": "/* 此 JavaScript 會用於使用 Cologne Blue 介面外觀使用者 */",
        "monobook.js": "/* 此 JavaScript 會用於使用 Monobook 介面外觀使用者 */",
-       "modern.js": "/* 此 JavaScript 會用於使用 Modern 介面外觀使用者 */",
        "vector.js": "/* 此 JavaScript 會用於使用 Vector 介面外觀使用者 */",
        "anonymous": "{{SITENAME}} 的匿名{{PLURAL:$1|使用者}}",
        "siteuser": "{{SITENAME}} 使用者 $1",
        "pageinfo-category-pages": "頁面數量",
        "pageinfo-category-subcats": "子分類數量",
        "pageinfo-category-files": "編輯數量",
-       "skinname-cologneblue": "科隆香水藍",
-       "skinname-modern": "現代",
        "markaspatrolleddiff": "標記為已巡查",
        "markaspatrolledtext": "標記此頁面為已巡查",
        "markedaspatrolled": "標記為已檢查",
        "confirmemail_body_set": "不明人士 (可能是您自己,來自 IP 位址 $1)  已將在 {{SITENAME}} 帳號 \"$2\" 的電子郵件地址設定至此。\n\n請確認這個帳號是屬於您的,並使用瀏覽器開啟下方連結以啟用在 {{SITENAME}} 上的電子郵件功能:\n\n$3\n\n若您 *未* 註冊此帳號,\n請開啟下方連結取消電子郵件確認:\n\n$5\n\n此確認代碼會於 $4 過期。",
        "confirmemail_invalidated": "電郵地址確認已取消",
        "invalidateemail": "取消電郵確認",
-       "scarytranscludedisabled": "[跨wiki轉換代碼不可用]",
+       "scarytranscludedisabled": "[Interwiki 轉換代碼不可用]",
        "scarytranscludefailed": "[樣版 $1 讀取失敗]",
        "scarytranscludefailed-httpstatus": "[樣版 $1 讀取失敗:HTTP $2]",
        "scarytranscludetoolong": "[URL 地址太長]",
index bf13c38..f555113 100644 (file)
@@ -939,7 +939,6 @@ collapsable
 collectionsaveascommunitypage
 collectionsaveasuserpage
 colname
-cologneblue
 colonseparator
 colorer
 colspan
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 9a13423..a9208db 100644 (file)
@@ -140,6 +140,7 @@ return array(
                'skinStyles' => array(
                        'default' => 'resources/src/mediawiki.skinning/content.parsoid.less',
                ),
+               'targets' => array( 'desktop', 'mobile' ),
        ),
 
        /**
@@ -152,22 +153,6 @@ return array(
         *
         * See Vector for an example.
         */
-       'skins.cologneblue' => array(
-               'styles' => array(
-                       'cologneblue/screen.css' => array( 'media' => 'screen' ),
-                       'cologneblue/print.css' => array( 'media' => 'print' ),
-               ),
-               'remoteBasePath' => $GLOBALS['wgStylePath'],
-               'localBasePath' => $GLOBALS['wgStyleDirectory'],
-       ),
-       'skins.modern' => array(
-               'styles' => array(
-                       'modern/main.css' => array( 'media' => 'screen' ),
-                       'modern/print.css' => array( 'media' => 'print' ),
-               ),
-               'remoteBasePath' => $GLOBALS['wgStylePath'],
-               'localBasePath' => $GLOBALS['wgStyleDirectory'],
-       ),
        'skins.vector.styles' => array(
                // Used in the web installer. Test it after modifying this definition!
                'styles' => array(
@@ -190,7 +175,10 @@ return array(
                        'vector/vector.js',
                ),
                'position' => 'top',
-               'dependencies' => 'jquery.throttle-debounce',
+               'dependencies' => array(
+                       'jquery.throttle-debounce',
+                       'jquery.tabIndex',
+               ),
                'remoteBasePath' => $GLOBALS['wgStylePath'],
                'localBasePath' => $GLOBALS['wgStyleDirectory'],
        ),
index a7b9d9d..f7105ce 100644 (file)
@@ -13,5 +13,8 @@
        "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-ok": "ঠিক আছে",
+       "ooui-dialog-confirm-default-cancel": "বাতিল"
 }
index 1ef2731..122be19 100644 (file)
@@ -9,5 +9,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 b0a717a..5d9e3bb 100644 (file)
@@ -8,5 +8,9 @@
        "ooui-outline-control-move-down": "Ipababa ti banag",
        "ooui-outline-control-move-up": "Ipangato ti banag",
        "ooui-outline-control-remove": "Ikkaten ti banag",
-       "ooui-toolbar-more": "Adu pay"
+       "ooui-toolbar-more": "Adu pay",
+       "ooui-dialog-confirm-title": "Pasingkedan",
+       "ooui-dialog-confirm-default-prompt": "Siguradoka kadi?",
+       "ooui-dialog-confirm-default-ok": "Sige",
+       "ooui-dialog-confirm-default-cancel": "Ukasen"
 }
diff --git a/resources/lib/oojs-ui/i18n/lzh.json b/resources/lib/oojs-ui/i18n/lzh.json
new file mode 100644 (file)
index 0000000..f296c3a
--- /dev/null
@@ -0,0 +1,8 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Joe young yu"
+               ]
+       },
+       "ooui-dialog-confirm-default-ok": "可"
+}
index 4f379e4..0181514 100644 (file)
@@ -13,8 +13,8 @@
        "ooui-outline-control-move-up": "Mută elementul mai sus",
        "ooui-outline-control-remove": "Elimină elementul",
        "ooui-toolbar-more": "Mai mult",
-       "ooui-dialog-confirm-title": "Confirmă",
-       "ooui-dialog-confirm-default-prompt": "Ești sigur?",
+       "ooui-dialog-confirm-title": "Confirmare",
+       "ooui-dialog-confirm-default-prompt": "Sunteți sigur(ă)?",
        "ooui-dialog-confirm-default-ok": "OK",
-       "ooui-dialog-confirm-default-cancel": "Renunță"
+       "ooui-dialog-confirm-default-cancel": "Revocare"
 }
index 5e46ab6..44dfd60 100644 (file)
@@ -3,12 +3,17 @@
                "authors": [
                        "Euriditi",
                        "Kushtrim",
-                       "Elioqoshi"
+                       "Elioqoshi",
+                       "GretaDoci"
                ]
        },
        "ooui-dialog-action-close": "Mbylle",
        "ooui-outline-control-move-down": "Zhvendose artikullin më poshtë",
        "ooui-outline-control-move-up": "Zhvendose artikullin më lart",
        "ooui-outline-control-remove": "Hiq artikullin",
-       "ooui-toolbar-more": "Më tepër..."
+       "ooui-toolbar-more": "Më tepër...",
+       "ooui-dialog-confirm-title": "Konfirmo",
+       "ooui-dialog-confirm-default-prompt": "A jeni i sigurt?",
+       "ooui-dialog-confirm-default-ok": "Në rregull",
+       "ooui-dialog-confirm-default-cancel": "Anullo"
 }
index 8a295f4..178384c 100644 (file)
@@ -8,5 +8,10 @@
        "ooui-dialog-action-close": "Isara",
        "ooui-outline-control-move-down": "Ilipat ang aytem pababa",
        "ooui-outline-control-move-up": "Ilipat ang aytem pataas",
-       "ooui-toolbar-more": "Marami pa"
+       "ooui-outline-control-remove": "Tanggalin ang aytem",
+       "ooui-toolbar-more": "Marami pa",
+       "ooui-dialog-confirm-title": "Tiyakin",
+       "ooui-dialog-confirm-default-prompt": "Nakatitiyak ka ba?",
+       "ooui-dialog-confirm-default-ok": "Sige",
+       "ooui-dialog-confirm-default-cancel": "Huwag ituloy"
 }
index 5a69a2c..47fce7a 100644 (file)
@@ -9,7 +9,29 @@
 }
 
 .oo-ui-dialog-content .oo-ui-window-body {
-  position: relative;
+  position: absolute;
+  top: 3.35em;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  overflow-y: auto;
+}
+
+.oo-ui-dialog-content .oo-ui-window-foot {
+  position: absolute;
+  top: 0;
+  right: 0;
+  height: 3.35em;
+}
+
+.oo-ui-dialog-content .oo-ui-window-foot .oo-ui-buttonedElement-button {
+  height: 100%;
+}
+
+.oo-ui-dialog-content .oo-ui-window-foot .oo-ui-buttonedElement-button .oo-ui-labeledElement-label {
+  display: inline-block;
+  width: 0;
+  text-indent: -9999px;
 }
 
 .oo-ui-dialog-medium .oo-ui-window-frame {
@@ -21,6 +43,9 @@
 .oo-ui-window-head {
   height: 3.35em;
   border-bottom: 1px solid #dddddd;
+  -webkit-box-sizing: border-box;
+     -moz-box-sizing: border-box;
+          box-sizing: border-box;
 }
 
 .oo-ui-window-body {
   background-size: 2em auto;
 }
 
+.oo-ui-bookletLayout-stackLayout .oo-ui-panelLayout {
+  padding: 0 0 1em;
+}
+
 .oo-ui-optionWidget {
   padding: 0.8em 1em 0.8em 3.35em;
   font-weight: bold;
 .oo-ui-textInputWidget input,
 .oo-ui-textInputWidget textarea {
   padding: .8em 1em;
+}
+
+/* Icons */
+
+.oo-ui-icon-check {
+  background: #347bff;
+  background-image: /* @embed */ url(themes/agora/images/icons/check.svg);
 }
\ No newline at end of file
index 63a66fb..e915ee8 100644 (file)
   box-shadow: 0 0 0.66em rgba(0, 0, 0, 0.25);
 }
 
+.oo-ui-dialog-content .oo-ui-window-foot {
+  bottom: 0;
+  height: 4.8em;
+  padding: 1em;
+}
+
+.oo-ui-dialog-content .oo-ui-window-foot .oo-ui-buttonedElement-framed {
+  margin: 0.125em 0.25em;
+}
+
 .oo-ui-dialog-content .oo-ui-window-overlay {
   z-index: 3;
 }
 }
 
 .oo-ui-buttonedElement-framed .oo-ui-buttonedElement-button {
+  padding: 0.2em 0.8em;
+  margin: 0.1em 0;
   text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5);
   background: #eeeeee;
   background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #ffffff), color-stop(100%, #dddddd));
   box-shadow: inset 0 1px 4px 0 rgba(0, 0, 0, 0.07);
 }
 
+.oo-ui-buttonedElement-framed.oo-ui-iconedElement .oo-ui-buttonedElement-button > .oo-ui-iconedElement-icon {
+  margin-right: -0.5em;
+  margin-left: -0.5em;
+}
+
+.oo-ui-buttonedElement-framed.oo-ui-iconedElement.oo-ui-labeledElement .oo-ui-buttonedElement-button > .oo-ui-iconedElement-icon {
+  margin-right: 0.3em;
+  margin-left: -0.5em;
+}
+
 .oo-ui-buttonedElement-framed.oo-ui-flaggableElement-primary .oo-ui-buttonedElement-button {
   background: #cde7f4;
   background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #eaf4fa), color-stop(100%, #b0d9ee));
   box-shadow: none;
 }
 
+.oo-ui-bookletLayout-stackLayout .oo-ui-panelLayout {
+  padding: 1.5em;
+}
+
 .oo-ui-bookletLayout-outlinePanel {
   border-right: solid 1px #ddd;
 }
index 2edd389..b75b172 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.1.0-pre (0436296667)
+ * OOjs UI v0.1.0-pre (09b223d279)
  * 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: Wed May 21 2014 13:17:11 GMT-0700 (PDT)
+ * Date: Wed May 28 2014 18:37:12 GMT-0700 (PDT)
  */
 ( function ( OO ) {
 
@@ -905,7 +905,7 @@ OO.ui.Frame.prototype.load = function () {
        this.loading = true;
 
        // Figure out directionality:
-       this.dir = this.$element.closest( '[dir]' ).prop( 'dir' ) || 'ltr';
+       this.dir = OO.ui.Element.getDir( this.$element ) || 'ltr';
 
        // Initialize contents
        doc.open();
@@ -4791,7 +4791,7 @@ OO.mixinClass( OO.ui.StackLayout, OO.ui.GroupElement );
 
 /**
  * @event set
- * @param {OO.ui.Layout|null} [item] Current item
+ * @param {OO.ui.Layout|null} item Current item or null if there is no longer a layout shown
  */
 
 /* Methods */
@@ -4799,12 +4799,29 @@ OO.mixinClass( OO.ui.StackLayout, OO.ui.GroupElement );
 /**
  * Get the current item.
  *
- * @return {OO.ui.Layout|null} [description]
+ * @return {OO.ui.Layout|null}
  */
 OO.ui.StackLayout.prototype.getCurrentItem = function () {
        return this.currentItem;
 };
 
+/**
+ * Unset the current item.
+ *
+ * @private
+ * @param {OO.ui.StackLayout} layout
+ * @fires set
+ */
+OO.ui.StackLayout.prototype.unsetCurrentItem = function () {
+       var prevItem = this.currentItem;
+       if ( prevItem === null ) {
+               return;
+       }
+
+       this.currentItem = null;
+       this.emit( 'set', null );
+};
+
 /**
  * Add items.
  *
@@ -4831,13 +4848,16 @@ OO.ui.StackLayout.prototype.addItems = function ( items, index ) {
  *
  * @param {OO.ui.Layout[]} items Items to remove
  * @chainable
+ * @fires set
  */
 OO.ui.StackLayout.prototype.removeItems = function ( items ) {
        OO.ui.GroupElement.prototype.removeItems.call( this, items );
+
        if ( $.inArray( this.currentItem, items  ) !== -1 ) {
-               this.currentItem = null;
-               if ( !this.currentItem && this.items.length ) {
+               if ( this.items.length ) {
                        this.setItem( this.items[0] );
+               } else {
+                       this.unsetCurrentItem();
                }
        }
 
@@ -4850,9 +4870,10 @@ OO.ui.StackLayout.prototype.removeItems = function ( items ) {
  * Items will be detached, not removed, so they can be used later.
  *
  * @chainable
+ * @fires set
  */
 OO.ui.StackLayout.prototype.clearItems = function () {
-       this.currentItem = null;
+       this.unsetCurrentItem();
        OO.ui.GroupElement.prototype.clearItems.call( this );
 
        return this;
@@ -4863,8 +4884,12 @@ OO.ui.StackLayout.prototype.clearItems = function () {
  *
  * Any currently shown item will be hidden.
  *
+ * FIXME: If the passed item to show has not been added in the items list, then
+ * this method drops it and unsets the current item.
+ *
  * @param {OO.ui.Layout} item Item to show
  * @chainable
+ * @fires set
  */
 OO.ui.StackLayout.prototype.setItem = function ( item ) {
        if ( item !== this.currentItem ) {
@@ -4875,11 +4900,11 @@ OO.ui.StackLayout.prototype.setItem = function ( item ) {
                        if ( !this.continuous ) {
                                item.$element.css( 'display', 'block' );
                        }
+                       this.currentItem = item;
+                       this.emit( 'set', item );
                } else {
-                       item = null;
+                       this.unsetCurrentItem();
                }
-               this.currentItem = item;
-               this.emit( 'set', item );
        }
 
        return this;
@@ -4928,6 +4953,7 @@ OO.ui.BarToolGroup.static.name = 'bar';
  * @constructor
  * @param {OO.ui.Toolbar} toolbar
  * @param {Object} [config] Configuration options
+ * @cfg {string} [header] Text to display at the top of the pop-up
  */
 OO.ui.PopupToolGroup = function OoUiPopupToolGroup( toolbar, config ) {
        // Configuration initialization
@@ -4959,6 +4985,16 @@ OO.ui.PopupToolGroup = function OoUiPopupToolGroup( toolbar, config ) {
        this.$handle
                .addClass( 'oo-ui-popupToolGroup-handle' )
                .append( this.$icon, this.$label, this.$indicator );
+       // If the pop-up should have a header, add it to the top of the toolGroup.
+       // Note: If this feature is useful for other widgets, we could abstract it into an
+       // OO.ui.HeaderedElement mixin constructor.
+       if ( config.header !== undefined ) {
+               this.$group
+                       .prepend( this.$( '<span>' )
+                               .addClass( 'oo-ui-popupToolGroup-header' )
+                               .text( config.header )
+                       );
+       }
        this.$element
                .addClass( 'oo-ui-popupToolGroup' )
                .prepend( this.$handle );
index 7de5a84..74073a0 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.1.0-pre (0436296667)
+ * OOjs UI v0.1.0-pre (09b223d279)
  * 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: Wed May 21 2014 13:17:11 GMT-0700 (PDT)
+ * Date: Wed May 28 2014 18:37:12 GMT-0700 (PDT)
  */
 
 /* Textures */
   height: 100%;
 }
 
-.oo-ui-dialog-content .oo-ui-window-foot {
-  bottom: 0;
-  height: 4.8em;
-  padding: 1em;
-}
-
 .oo-ui-dialog-content .oo-ui-window-foot .oo-ui-buttonedElement-framed {
   float: left;
-  margin: 0.125em 0.25em;
 }
 
 .oo-ui-dialog-content .oo-ui-window-foot .oo-ui-flaggableElement-primary,
 
 .oo-ui-buttonedElement-framed .oo-ui-buttonedElement-button {
   display: inline-block;
-  padding: 0.2em 0.8em;
-  margin: 0.1em 0;
   text-align: center;
   vertical-align: top;
 }
   vertical-align: middle;
 }
 
-.oo-ui-buttonedElement-framed.oo-ui-iconedElement .oo-ui-buttonedElement-button > .oo-ui-iconedElement-icon {
-  margin-right: -0.5em;
-  margin-left: -0.5em;
-}
-
-.oo-ui-buttonedElement-framed.oo-ui-iconedElement.oo-ui-labeledElement .oo-ui-buttonedElement-button > .oo-ui-iconedElement-icon {
-  margin-right: 0.3em;
-  margin-left: -0.5em;
-}
-
 .oo-ui-buttonedElement-framed.oo-ui-widget-disabled .oo-ui-buttonedElement-button,
 .oo-ui-buttonedElement-framed.oo-ui-widget-disabled .oo-ui-buttonedElement-button.oo-ui-buttonedElement-active,
 .oo-ui-buttonedElement-framed.oo-ui-widget-disabled .oo-ui-buttonedElement-button.oo-ui-buttonedElement-pressed {
 
 .oo-ui-bookletLayout-stackLayout .oo-ui-panelLayout {
   width: 100%;
-  padding: 1.5em;
   -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
           box-sizing: border-box;
   line-height: 2.6em;
 }
 
+.oo-ui-popupToolGroup-header {
+  margin: 0 0.6em;
+  font-size: 0.8em;
+  font-weight: bold;
+  line-height: 2.6em;
+}
+
 .oo-ui-popupToolGroup.oo-ui-widget-disabled .oo-ui-popupToolGroup-handle {
   cursor: default;
 }
diff --git a/resources/lib/oojs-ui/themes/agora/images/icons/check.svg b/resources/lib/oojs-ui/themes/agora/images/icons/check.svg
new file mode 100644 (file)
index 0000000..6a91939
--- /dev/null
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!-- Generator: Adobe Illustrator 16.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\r
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\r
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"\r
+        width="44.075px" height="44.076px" viewBox="0 0 44.075 44.076" enable-background="new 0 0 44.075 44.076" xml:space="preserve">\r
+<polygon fill="#FFFFFF" points="41.673,12.657 15.385,37.159 15.201,36.961 10.037,31.424 2.402,23.239 8.057,17.962 15.693,26.157 \r
+       36.319,6.917 "/>\r
+</svg>\r
index 7bfb642..081524a 100644 (file)
@@ -38,7 +38,6 @@ figure[typeof*='mw:Image'] {
                float: right;
        }
 
-       /* @noflip */
        &.mw-halign-left {
                /* @noflip */
                margin: .5em 1.4em 1.3em 0;
@@ -68,9 +67,17 @@ figure[typeof*='mw:Image'] {
        }
 }
 
-figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Image/Frame'] {
+figure[typeof~='mw:Image/Thumb'],
+figure[typeof~='mw:Image/Frame'] {
        display: table;
        overflow: hidden;
        text-align: center;
        padding: 3px;
+       border: 1px solid #ccc;
+       background-color: #f9f9f9;
 }
+
+figure[typeof~='mw:Image/Thumb'] img,
+.mw-image-border img {
+       border: 1px solid #cccccc;
+}
\ No newline at end of file
index c2c70b0..282cf6f 100644 (file)
@@ -66,6 +66,7 @@
                                .wrap(
                                        $( '<a>' )
                                                .attr( 'href', resultRenderCache.baseHref + $.param( resultRenderCache.linkParams ) )
+                                               .attr( 'title', text )
                                                .addClass( 'mw-searchSuggest-link' )
                                );
                }
index 967fd9f..3ab8af2 100644 (file)
@@ -1,17 +1,11 @@
 */
-!cologneblue/
-!cologneblue/*
 !common/
 !common/*
-!modern/
-!modern/*
 !monobook/
 !monobook/*
 !vector/
 !vector/*
 
 *.php
-!CologneBlue.php
-!Modern.php
 !MonoBook.php
 !Vector.php
diff --git a/skins/CologneBlue.php b/skins/CologneBlue.php
deleted file mode 100644 (file)
index ad500ea..0000000
+++ /dev/null
@@ -1,650 +0,0 @@
-<?php
-/**
- * Cologne Blue: A nicer-looking alternative to Standard.
- *
- * 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
- *
- * @todo document
- * @file
- * @ingroup Skins
- */
-
-if ( !defined( 'MEDIAWIKI' ) ) {
-       die( -1 );
-}
-
-/**
- * @todo document
- * @ingroup Skins
- */
-class SkinCologneBlue extends SkinTemplate {
-       public $skinname = 'cologneblue';
-       public $stylename = 'cologneblue';
-       public $template = 'CologneBlueTemplate';
-       public $useHeadElement = true;
-
-       /**
-        * @param OutputPage $out
-        */
-       function setupSkinUserCss( OutputPage $out ) {
-               parent::setupSkinUserCss( $out );
-               $out->addModuleStyles( 'mediawiki.legacy.oldshared' );
-               $out->addModuleStyles( 'skins.cologneblue' );
-       }
-
-       /**
-        * Override langlink formatting behavior not to uppercase the language names.
-        * See otherLanguages() in CologneBlueTemplate.
-        * @param string $name
-        * @return string
-        */
-       function formatLanguageName( $name ) {
-               return $name;
-       }
-}
-
-class CologneBlueTemplate extends BaseTemplate {
-       function execute() {
-               // Suppress warnings to prevent notices about missing indexes in $this->data
-               wfSuppressWarnings();
-               $this->html( 'headelement' );
-               echo $this->beforeContent();
-               $this->html( 'bodytext' );
-               echo "\n";
-               echo $this->afterContent();
-               $this->html( 'dataAfterContent' );
-               $this->printTrail();
-               echo "\n</body></html>";
-               wfRestoreWarnings();
-       }
-
-       /**
-        * Language/charset variant links for classic-style skins
-        * @return string
-        */
-       function variantLinks() {
-               $s = array();
-
-               $variants = $this->data['content_navigation']['variants'];
-
-               foreach ( $variants as $key => $link ) {
-                       $s[] = $this->makeListItem( $key, $link, array( 'tag' => 'span' ) );
-               }
-
-               return $this->getSkin()->getLanguage()->pipeList( $s );
-       }
-
-       function otherLanguages() {
-               global $wgHideInterlanguageLinks;
-               if ( $wgHideInterlanguageLinks ) {
-                       return "";
-               }
-
-               $html = '';
-
-               // We override SkinTemplate->formatLanguageName() in SkinCologneBlue
-               // not to capitalize the language names.
-               $language_urls = $this->data['language_urls'];
-               if ( !empty( $language_urls ) ) {
-                       $s = array();
-                       foreach ( $language_urls as $key => $data ) {
-                               $s[] = $this->makeListItem( $key, $data, array( 'tag' => 'span' ) );
-                       }
-
-                       $html = wfMessage( 'otherlanguages' )->text()
-                               . wfMessage( 'colon-separator' )->text()
-                               . $this->getSkin()->getLanguage()->pipeList( $s );
-               }
-
-               $html .= $this->renderAfterPortlet( 'lang' );
-
-               return $html;
-       }
-
-       /**
-        * @param string $name
-        */
-       protected function renderAfterPortlet( $name ) {
-               $content = '';
-               wfRunHooks( 'BaseTemplateAfterPortlet', array( $this, $name, &$content ) );
-
-               $html = $content !== '' ? "<div class='after-portlet after-portlet-$name'>$content</div>" : '';
-
-               return $html;
-       }
-
-       function pageTitleLinks() {
-               $s = array();
-               $footlinks = $this->getFooterLinks();
-
-               foreach ( $footlinks['places'] as $item ) {
-                       $s[] = $this->data[$item];
-               }
-
-               return $this->getSkin()->getLanguage()->pipeList( $s );
-       }
-
-       /**
-        * Used in bottomLinks() to eliminate repetitive code.
-        *
-        * @param string $key Key to be passed to makeListItem()
-        * @param array $navlink Navlink suitable for processNavlinkForDocument()
-        * @param string $message Key of the message to use in place of standard text
-        *
-        * @return string
-        */
-       function processBottomLink( $key, $navlink, $message = null ) {
-               if ( !$navlink ) {
-                       // Empty navlinks might be passed.
-                       return null;
-               }
-
-               if ( $message ) {
-                       $navlink['text'] = wfMessage( $message )->escaped();
-               }
-
-               return $this->makeListItem(
-                       $key,
-                       $this->processNavlinkForDocument( $navlink ),
-                       array( 'tag' => 'span' )
-               );
-       }
-
-       function bottomLinks() {
-               $toolbox = $this->getToolbox();
-               $content_nav = $this->data['content_navigation'];
-
-               $lines = array();
-
-               if ( $this->getSkin()->getOutput()->isArticleRelated() ) {
-                       // First row. Regular actions.
-                       $element = array();
-
-                       $editLinkMessage = $this->getSkin()->getTitle()->exists() ? 'editthispage' : 'create-this-page';
-                       $element[] = $this->processBottomLink( 'edit', $content_nav['views']['edit'], $editLinkMessage );
-                       $element[] = $this->processBottomLink(
-                               'viewsource',
-                               $content_nav['views']['viewsource'],
-                               'viewsource'
-                       );
-
-                       $element[] = $this->processBottomLink(
-                               'watch',
-                               $content_nav['actions']['watch'],
-                               'watchthispage'
-                       );
-                       $element[] = $this->processBottomLink(
-                               'unwatch',
-                               $content_nav['actions']['unwatch'],
-                               'unwatchthispage'
-                       );
-
-                       $element[] = $this->talkLink();
-
-                       $element[] = $this->processBottomLink( 'history', $content_nav['views']['history'], 'history' );
-                       $element[] = $this->processBottomLink( 'info', $toolbox['info'] );
-                       $element[] = $this->processBottomLink( 'whatlinkshere', $toolbox['whatlinkshere'] );
-                       $element[] = $this->processBottomLink( 'recentchangeslinked', $toolbox['recentchangeslinked'] );
-
-                       $element[] = $this->processBottomLink( 'contributions', $toolbox['contributions'] );
-                       $element[] = $this->processBottomLink( 'emailuser', $toolbox['emailuser'] );
-
-                       $lines[] = $this->getSkin()->getLanguage()->pipeList( array_filter( $element ) );
-
-                       // Second row. Privileged actions.
-                       $element = array();
-
-                       $element[] = $this->processBottomLink(
-                               'delete',
-                               $content_nav['actions']['delete'],
-                               'deletethispage'
-                       );
-                       $element[] = $this->processBottomLink(
-                               'undelete',
-                               $content_nav['actions']['undelete'],
-                               'undeletethispage'
-                       );
-
-                       $element[] = $this->processBottomLink(
-                               'protect',
-                               $content_nav['actions']['protect'],
-                               'protectthispage'
-                       );
-                       $element[] = $this->processBottomLink(
-                               'unprotect',
-                               $content_nav['actions']['unprotect'],
-                               'unprotectthispage'
-                       );
-
-                       $element[] = $this->processBottomLink( 'move', $content_nav['actions']['move'], 'movethispage' );
-
-                       $lines[] = $this->getSkin()->getLanguage()->pipeList( array_filter( $element ) );
-
-                       // Third row. Language links.
-                       $lines[] = $this->otherLanguages();
-               }
-
-               return implode( array_filter( $lines ), "<br />\n" ) . "<br />\n";
-       }
-
-       function talkLink() {
-               $title = $this->getSkin()->getTitle();
-
-               if ( $title->getNamespace() == NS_SPECIAL ) {
-                       // No discussion links for special pages
-                       return "";
-               }
-
-               $companionTitle = $title->isTalkPage() ? $title->getSubjectPage() : $title->getTalkPage();
-               $companionNamespace = $companionTitle->getNamespace();
-
-               // TODO these messages are only be used by CologneBlue,
-               // kill and replace with something more sensibly named?
-               $nsToMessage = array(
-                       NS_MAIN => 'articlepage',
-                       NS_USER => 'userpage',
-                       NS_PROJECT => 'projectpage',
-                       NS_FILE => 'imagepage',
-                       NS_MEDIAWIKI => 'mediawikipage',
-                       NS_TEMPLATE => 'templatepage',
-                       NS_HELP => 'viewhelppage',
-                       NS_CATEGORY => 'categorypage',
-                       NS_FILE => 'imagepage',
-               );
-
-               // Find out the message to use for link text. Use either the array above or,
-               // for non-talk pages, a generic "discuss this" message.
-               // Default is the same as for main namespace.
-               if ( isset( $nsToMessage[$companionNamespace] ) ) {
-                       $message = $nsToMessage[$companionNamespace];
-               } else {
-                       $message = $companionTitle->isTalkPage() ? 'talkpage' : 'articlepage';
-               }
-
-               // Obviously this can't be reasonable and just return the key for talk
-               // namespace, only for content ones. Thus we have to mangle it in
-               // exactly the same way SkinTemplate does. (bug 40805)
-               $key = $companionTitle->getNamespaceKey( '' );
-               if ( $companionTitle->isTalkPage() ) {
-                       $key = ( $key == 'main' ? 'talk' : $key . "_talk" );
-               }
-
-               // Use the regular navigational link, but replace its text. Everything else stays unmodified.
-               $namespacesLinks = $this->data['content_navigation']['namespaces'];
-
-               return $this->processBottomLink( $message, $namespacesLinks[$key], $message );
-       }
-
-       /**
-        * Takes a navigational link generated by SkinTemplate in whichever way
-        * and mangles attributes unsuitable for repeated use. In particular, this
-        * modifies the ids and removes the accesskeys. This is necessary to be
-        * able to use the same navlink twice, e.g. in sidebar and in footer.
-        *
-        * @param array $navlink Navigational link generated by SkinTemplate
-        * @param mixed $idPrefix Prefix to add to id of this navlink. If false, id
-        *   is removed entirely. Default is 'cb-'.
-        */
-       function processNavlinkForDocument( $navlink, $idPrefix = 'cb-' ) {
-               if ( $navlink['id'] ) {
-                       $navlink['single-id'] = $navlink['id']; // to allow for tooltip generation
-                       $navlink['tooltiponly'] = true; // but no accesskeys
-
-                       // mangle or remove the id
-                       if ( $idPrefix === false ) {
-                               unset( $navlink['id'] );
-                       } else {
-                               $navlink['id'] = $idPrefix . $navlink['id'];
-                       }
-               }
-
-               return $navlink;
-       }
-
-       /**
-        * @return string
-        */
-       function beforeContent() {
-               ob_start();
-               ?>
-               <div id="content">
-               <div id="topbar">
-                       <p id="sitetitle" role="banner">
-                               <a href="<?php echo htmlspecialchars( $this->data['nav_urls']['mainpage']['href'] ) ?>">
-                                       <?php echo wfMessage( 'sitetitle' )->escaped() ?>
-                               </a>
-                       </p>
-
-                       <p id="sitesub"><?php echo wfMessage( 'sitesubtitle' )->escaped() ?></p>
-
-                       <div id="linkcollection" role="navigation">
-                               <div id="langlinks"><?php echo str_replace( '<br />', '', $this->otherLanguages() ) ?></div>
-                               <?php echo $this->getSkin()->getCategories() ?>
-                               <div id="titlelinks"><?php echo $this->pageTitleLinks() ?></div>
-                               <?php
-                               if ( $this->data['newtalk'] ) {
-                                       ?>
-                                       <div class="usermessage"><strong><?php echo $this->data['newtalk'] ?></strong></div>
-                               <?php
-                               }
-                               ?>
-                       </div>
-               </div>
-               <div id="article" class="mw-body" role="main">
-               <?php
-               if ( $this->getSkin()->getSiteNotice() ) {
-                       ?>
-                       <div id="siteNotice"><?php echo $this->getSkin()->getSiteNotice() ?></div>
-               <?php
-               }
-               ?>
-               <h1 id="firstHeading" lang="<?php
-               $this->data['pageLanguage'] = $this->getSkin()->getTitle()->getPageViewLanguage()->getHtmlCode();
-               $this->text( 'pageLanguage' );
-               ?>"><span dir="auto"><?php echo $this->data['title'] ?></span></h1>
-               <?php
-               if ( $this->translator->translate( 'tagline' ) ) {
-                       ?>
-                       <p class="tagline"><?php
-                               echo htmlspecialchars( $this->translator->translate( 'tagline' ) )
-                               ?></p>
-               <?php
-               }
-               ?>
-               <?php
-               if ( $this->getSkin()->getOutput()->getSubtitle() ) {
-                       ?>
-                       <p class="subtitle"><?php echo $this->getSkin()->getOutput()->getSubtitle() ?></p>
-               <?php
-               }
-               ?>
-               <?php
-               if ( $this->getSkin()->subPageSubtitle() ) {
-                       ?>
-                       <p class="subpages"><?php echo $this->getSkin()->subPageSubtitle() ?></p>
-               <?php
-               }
-               ?>
-               <?php
-               $s = ob_get_contents();
-               ob_end_clean();
-
-               return $s;
-       }
-
-       /**
-        * @return string
-        */
-       function afterContent() {
-               ob_start();
-               ?>
-               </div>
-               <div id="footer">
-                       <div id="footer-navigation" role="navigation">
-                               <?php
-                               // Page-related links
-                               echo $this->bottomLinks();
-                               echo "\n<br />";
-
-                               // Footer and second searchbox
-                               echo $this->getSkin()->getLanguage()->pipeList( array(
-                                       $this->getSkin()->mainPageLink(),
-                                       $this->getSkin()->aboutLink(),
-                                       $this->searchForm( 'footer' )
-                               ) );
-                               ?>
-                       </div>
-                       <div id="footer-info" role="contentinfo">
-                               <?php
-                               // Standard footer info
-                               $footlinks = $this->getFooterLinks();
-                               if ( $footlinks['info'] ) {
-                                       foreach ( $footlinks['info'] as $item ) {
-                                               echo $this->data[$item] . ' ';
-                                       }
-                               }
-                               ?>
-                       </div>
-               </div>
-               </div>
-               <div id="mw-navigation">
-                       <h2><?php echo wfMessage( 'navigation-heading' )->escaped() ?></h2>
-
-                       <div id="toplinks" role="navigation">
-                               <p id="syslinks"><?php echo $this->sysLinks() ?></p>
-
-                               <p id="variantlinks"><?php echo $this->variantLinks() ?></p>
-                       </div>
-                       <?php echo $this->quickBar() ?>
-               </div>
-               <?php
-               $s = ob_get_contents();
-               ob_end_clean();
-
-               return $s;
-       }
-
-       /**
-        * @return string
-        */
-       function sysLinks() {
-               $s = array(
-                       $this->getSkin()->mainPageLink(),
-                       Linker::linkKnown(
-                               Title::newFromText( wfMessage( 'aboutpage' )->inContentLanguage()->text() ),
-                               wfMessage( 'about' )->text()
-                       ),
-                       Linker::makeExternalLink(
-                               Skin::makeInternalOrExternalUrl( wfMessage( 'helppage' )->inContentLanguage()->text() ),
-                               wfMessage( 'help' )->text(),
-                               false
-                       ),
-                       Linker::linkKnown(
-                               Title::newFromText( wfMessage( 'faqpage' )->inContentLanguage()->text() ),
-                               wfMessage( 'faq' )->text()
-                       ),
-               );
-
-               $personalUrls = $this->getPersonalTools();
-               foreach ( array( 'logout', 'createaccount', 'login' ) as $key ) {
-                       if ( $personalUrls[$key] ) {
-                               $s[] = $this->makeListItem( $key, $personalUrls[$key], array( 'tag' => 'span' ) );
-                       }
-               }
-
-               return $this->getSkin()->getLanguage()->pipeList( $s );
-       }
-
-       /**
-        * Adds CologneBlue-specific items to the sidebar: qbedit, qbpageoptions and qbmyoptions menus.
-        *
-        * @param array $bar Sidebar data
-        * @return array Modified sidebar data
-        */
-       function sidebarAdditions( $bar ) {
-               // "This page" and "Edit" menus
-               // We need to do some massaging here... we reuse all of the items,
-               // except for $...['views']['view'], as $...['namespaces']['main'] and
-               // $...['namespaces']['talk'] together serve the same purpose. We also
-               // don't use $...['variants'], these are displayed in the top menu.
-               $content_navigation = $this->data['content_navigation'];
-               $qbpageoptions = array_merge(
-                       $content_navigation['namespaces'],
-                       array(
-                               'history' => $content_navigation['views']['history'],
-                               'watch' => $content_navigation['actions']['watch'],
-                               'unwatch' => $content_navigation['actions']['unwatch'],
-                       )
-               );
-               $content_navigation['actions']['watch'] = null;
-               $content_navigation['actions']['unwatch'] = null;
-               $qbedit = array_merge(
-                       array(
-                               'edit' => $content_navigation['views']['edit'],
-                               'addsection' => $content_navigation['views']['addsection'],
-                       ),
-                       $content_navigation['actions']
-               );
-
-               // Personal tools ("My pages")
-               $qbmyoptions = $this->getPersonalTools();
-               foreach ( array( 'logout', 'createaccount', 'login', ) as $key ) {
-                       $qbmyoptions[$key] = null;
-               }
-
-               // Use the closest reasonable name
-               $bar['cactions'] = $qbedit;
-               $bar['pageoptions'] = $qbpageoptions; // this is a non-standard portlet name, but nothing fits
-               $bar['personal'] = $qbmyoptions;
-
-               return $bar;
-       }
-
-       /**
-        * Compute the sidebar
-        * @access private
-        *
-        * @return string
-        */
-       function quickBar() {
-               // Massage the sidebar. We want to:
-               // * place SEARCH at the beginning
-               // * add new portlets before TOOLBOX (or at the end, if it's missing)
-               // * remove LANGUAGES (langlinks are displayed elsewhere)
-               $orig_bar = $this->data['sidebar'];
-               $bar = array();
-               $hasToolbox = false;
-
-               // Always display search first
-               $bar['SEARCH'] = true;
-               // Copy everything except for langlinks, inserting new items before toolbox
-               foreach ( $orig_bar as $heading => $data ) {
-                       if ( $heading == 'TOOLBOX' ) {
-                               // Insert the stuff
-                               $bar = $this->sidebarAdditions( $bar );
-                               $hasToolbox = true;
-                       }
-
-                       if ( $heading != 'LANGUAGES' ) {
-                               $bar[$heading] = $data;
-                       }
-               }
-               // If toolbox is missing, add our items at the end
-               if ( !$hasToolbox ) {
-                       $bar = $this->sidebarAdditions( $bar );
-               }
-
-               // Fill out special sidebar items with content
-               $orig_bar = $bar;
-               $bar = array();
-               foreach ( $orig_bar as $heading => $data ) {
-                       if ( $heading == 'SEARCH' ) {
-                               $bar['search'] = $this->searchForm( 'sidebar' );
-                       } elseif ( $heading == 'TOOLBOX' ) {
-                               $bar['tb'] = $this->getToolbox();
-                       } else {
-                               $bar[$heading] = $data;
-                       }
-               }
-
-               // Output the sidebar
-               // CologneBlue uses custom messages for some portlets, but we should keep the ids for consistency
-               $idToMessage = array(
-                       'search' => 'qbfind',
-                       'navigation' => 'qbbrowse',
-                       'tb' => 'toolbox',
-                       'cactions' => 'qbedit',
-                       'personal' => 'qbmyoptions',
-                       'pageoptions' => 'qbpageoptions',
-               );
-
-               $s = "<div id='quickbar'>\n";
-
-               foreach ( $bar as $heading => $data ) {
-                       $portletId = Sanitizer::escapeId( "p-$heading" );
-                       $headingMsg = wfMessage( $idToMessage[$heading] ? $idToMessage[$heading] : $heading );
-                       $headingHTML = "<h3>";
-                       $headingHTML .= $headingMsg->exists()
-                               ? $headingMsg->escaped()
-                               : htmlspecialchars( $heading );
-                       $headingHTML .= "</h3>";
-                       $listHTML = "";
-
-                       if ( is_array( $data ) ) {
-                               // $data is an array of links
-                               foreach ( $data as $key => $link ) {
-                                       // Can be empty due to how the sidebar additions are done
-                                       if ( $link ) {
-                                               $listHTML .= $this->makeListItem( $key, $link );
-                                       }
-                               }
-                               if ( $listHTML ) {
-                                       $listHTML = "<ul>$listHTML</ul>";
-                               }
-                       } else {
-                               // $data is a HTML <ul>-list string
-                               $listHTML = $data;
-                       }
-
-                       if ( $listHTML ) {
-                               $role = ( $heading == 'search' ) ? 'search' : 'navigation';
-                               $s .= "<div class=\"portlet\" id=\"$portletId\" "
-                                       . "role=\"$role\">\n$headingHTML\n$listHTML\n</div>\n";
-                       }
-
-                       $s .= $this->renderAfterPortlet( $heading );
-               }
-
-               $s .= "</div>\n";
-
-               return $s;
-       }
-
-       /**
-        * @param string $label
-        * @return string
-        */
-       function searchForm( $which ) {
-               global $wgUseTwoButtonsSearchForm;
-
-               $search = $this->getSkin()->getRequest()->getText( 'search' );
-               $action = $this->data['searchaction'];
-               $s = "<form id=\"searchform-" . htmlspecialchars( $which )
-                       . "\" method=\"get\" class=\"inline\" action=\"$action\">";
-               if ( $which == 'footer' ) {
-                       $s .= wfMessage( 'qbfind' )->text() . ": ";
-               }
-
-               $s .= $this->makeSearchInput( array(
-                       'class' => 'mw-searchInput',
-                       'type' => 'text',
-                       'size' => '14'
-               ) );
-               $s .= ( $which == 'footer' ? " " : "<br />" );
-               $s .= $this->makeSearchButton( 'go', array( 'class' => 'searchButton' ) );
-
-               if ( $wgUseTwoButtonsSearchForm ) {
-                       $s .= $this->makeSearchButton( 'fulltext', array( 'class' => 'searchButton' ) );
-               } else {
-                       $s .= '<div><a href="' . $action . '" rel="search">'
-                               . wfMessage( 'powersearch-legend' )->escaped() . "</a></div>\n";
-               }
-
-               $s .= '</form>';
-
-               return $s;
-       }
-}
diff --git a/skins/Modern.php b/skins/Modern.php
deleted file mode 100644 (file)
index d1d11c3..0000000
+++ /dev/null
@@ -1,207 +0,0 @@
-<?php
-/**
- * Modern skin, derived from monobook template.
- *
- * 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
- *
- * @todo document
- * @file
- * @ingroup Skins
- */
-
-if ( !defined( 'MEDIAWIKI' ) ) {
-       die( -1 );
-}
-
-/**
- * Inherit main code from SkinTemplate, set the CSS and template filter.
- * @todo document
- * @ingroup Skins
- */
-class SkinModern extends SkinTemplate {
-       public $skinname = 'modern';
-       public $stylename = 'modern';
-       public $template = 'ModernTemplate';
-       public $useHeadElement = true;
-
-       /**
-        * @param OutputPage $out
-        */
-       function setupSkinUserCss( OutputPage $out ) {
-               parent::setupSkinUserCss( $out );
-               $out->addModuleStyles( 'skins.modern' );
-       }
-}
-
-/**
- * @todo document
- * @ingroup Skins
- */
-class ModernTemplate extends MonoBookTemplate {
-
-       /**
-        * Template filter callback for Modern skin.
-        * Takes an associative array of data set from a SkinTemplate-based
-        * class, and a wrapper for MediaWiki's localization database, and
-        * outputs a formatted page.
-        *
-        * @access private
-        */
-       function execute() {
-               // Suppress warnings to prevent notices about missing indexes in $this->data
-               wfSuppressWarnings();
-
-               $this->html( 'headelement' );
-               ?>
-
-               <!-- heading -->
-               <div id="mw_header"><h1 id="firstHeading" lang="<?php
-                       $this->data['pageLanguage'] = $this->getSkin()->getTitle()->getPageViewLanguage()->getHtmlCode();
-                       $this->text( 'pageLanguage' );
-                       ?>"><span dir="auto"><?php $this->html( 'title' ) ?></span></h1></div>
-
-               <div id="mw_main">
-                       <div id="mw_contentwrapper">
-                               <!-- navigation portlet -->
-                               <?php $this->cactions(); ?>
-
-                               <!-- content -->
-                               <div id="mw_content" role="main">
-                                       <!-- contentholder does nothing by default, but it allows users to style the text inside
-                                                the content area without affecting the meaning of 'em' in #mw_content, which is used
-                                                for the margins -->
-                                       <div id="mw_contentholder" class="mw-body">
-                                               <div class='mw-topboxes'>
-                                                       <div id="mw-js-message"
-                                                               style="display:none;"<?php $this->html( 'userlangattributes' ) ?>></div>
-                                                       <div class="mw-topbox" id="siteSub"><?php $this->msg( 'tagline' ) ?></div>
-                                                       <?php
-                                                       if ( $this->data['newtalk'] ) {
-                                                               ?>
-                                                               <div class="usermessage mw-topbox"><?php $this->html( 'newtalk' ) ?></div>
-                                                       <?php
-                                                       }
-                                                       ?>
-                                                       <?php
-                                                       if ( $this->data['sitenotice'] ) {
-                                                               ?>
-                                                               <div class="mw-topbox" id="siteNotice"><?php $this->html( 'sitenotice' ) ?></div>
-                                                       <?php
-                                                       }
-                                                       ?>
-                                               </div>
-
-                                               <div id="contentSub"<?php
-                                               $this->html( 'userlangattributes' )
-                                               ?>><?php
-                                                       $this->html( 'subtitle' )
-                                                       ?></div>
-
-                                               <?php
-                                               if ( $this->data['undelete'] ) {
-                                                       ?>
-                                                       <div id="contentSub2"><?php $this->html( 'undelete' ) ?></div><?php
-                                               }
-                                               ?>
-                                               <div id="jump-to-nav"><?php $this->msg( 'jumpto' ) ?>
-                                                       <a href="#mw_portlets"><?php
-                                                               $this->msg( 'jumptonavigation' ) ?></a><?php $this->msg( 'comma-separator' )
-                                                       ?>
-                                                       <a href="#searchInput"><?php $this->msg( 'jumptosearch' ) ?></a>
-                                               </div>
-
-                                               <?php $this->html( 'bodytext' ) ?>
-                                               <div class='mw_clear'></div>
-                                               <?php
-                                               if ( $this->data['catlinks'] ) {
-                                                       $this->html( 'catlinks' );
-                                               }
-                                               ?>
-                                               <?php $this->html( 'dataAfterContent' ) ?>
-                                       </div><!-- mw_contentholder -->
-                               </div><!-- mw_content -->
-                       </div><!-- mw_contentwrapper -->
-
-                       <div id="mw_portlets"<?php $this->html( "userlangattributes" ) ?>>
-                               <h2><?php $this->msg( 'navigation-heading' ) ?></h2>
-
-                               <!-- portlets -->
-                               <?php $this->renderPortals( $this->data['sidebar'] ); ?>
-
-                       </div><!-- mw_portlets -->
-
-
-               </div><!-- main -->
-
-               <div class="mw_clear"></div>
-
-               <!-- personal portlet -->
-               <div class="portlet" id="p-personal" role="navigation">
-                       <h3><?php $this->msg( 'personaltools' ) ?></h3>
-
-                       <div class="pBody">
-                               <ul>
-                                       <?php
-                                       foreach ( $this->getPersonalTools() as $key => $item ) {
-                                               ?>
-                                               <?php echo $this->makeListItem( $key, $item ); ?>
-
-                                       <?php
-                                       }
-                                       ?>
-                               </ul>
-                       </div>
-               </div>
-
-
-               <!-- footer -->
-               <div id="footer" role="contentinfo"<?php $this->html( 'userlangattributes' ) ?>>
-                       <ul id="f-list">
-                               <?php
-                               foreach ( $this->getFooterLinks( "flat" ) as $aLink ) {
-                                       if ( isset( $this->data[$aLink] ) && $this->data[$aLink] ) {
-                                               ?>
-                                               <li id="<?php echo $aLink ?>"><?php $this->html( $aLink ) ?></li>
-                                       <?php
-                                       }
-                               }
-                               ?>
-                       </ul>
-                       <?php
-                       foreach ( $this->getFooterIcons( "nocopyright" ) as $blockName => $footerIcons ) {
-                               ?>
-                               <div id="mw_<?php echo htmlspecialchars( $blockName ); ?>">
-                                       <?php
-                                       foreach ( $footerIcons as $icon ) {
-                                               ?>
-                                               <?php echo $this->getSkin()->makeFooterIcon( $icon, 'withoutImage' ); ?>
-
-                                       <?php
-                                       } ?>
-                               </div>
-                       <?php
-                       }
-                       ?>
-               </div>
-
-               <?php $this->printTrail(); ?>
-
-       </body>
-</html>
-               <?php
-               wfRestoreWarnings();
-       } // end of execute() method
-} // end of class
diff --git a/skins/cologneblue/print.css b/skins/cologneblue/print.css
deleted file mode 100644 (file)
index d4b0551..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-#sitetitle,
-#sitesub,
-#titlelinks,
-#footer-navigation {
-       display: none;
-}
diff --git a/skins/cologneblue/screen.css b/skins/cologneblue/screen.css
deleted file mode 100644 (file)
index 5882396..0000000
+++ /dev/null
@@ -1,292 +0,0 @@
-body {
-       margin: 0;
-       padding: 0;
-       color: black;
-       font-family: serif;
-}
-
-#specialform {
-       display: inline;
-}
-
-#content {
-       top: 0;
-       margin: 0;
-       padding: 0;
-}
-
-#mw-data-after-content {
-       font-family: Verdana, Arial, sans-serif;
-       color: black;
-       font-size: 8pt;
-}
-
-#powersearch {
-       background: #DDEEFF;
-       border-style: solid;
-       border-width: 1px;
-       padding: 2px;
-}
-
-#quickbar {
-       width: 140px;
-       top: 18ex;
-       padding: 2px;
-       visibility: visible;
-       z-index: 99;
-}
-
-#article, #article td, #article th, #article p {
-       font-family: Verdana, Arial, sans-serif;
-       font-size: 10pt;
-       color: black;
-}
-
-#article p {
-       padding-top: 0;
-       padding-bottom: 0;
-       margin-top: 1ex;
-       margin-bottom: 0;
-}
-
-p, pre, .mw-code, td, th, li, dd, dt {
-       line-height: 12pt;
-}
-
-textarea {
-       overflow: auto;
-       width: 100%;
-       display: block;
-       -moz-box-sizing: border-box;
-       -webkit-box-sizing: border-box;
-       box-sizing: border-box;
-}
-
-#footer {
-       margin-right: 2%;
-       margin-top: 1em;
-       padding: 4px;
-       font-family: verdana, arial, sans-serif;
-       font-size: 10pt;
-       text-align: center;
-}
-
-#footer form {
-       display: inline;
-}
-
-#cb-ca-edit {
-       font-weight: bold;
-}
-
-#pagestats {
-       font-family: Verdana, Arial, sans-serif;
-       color: black;
-       font-size: 9pt;
-}
-
-#quickbar {
-       font-family: Verdana, Arial, sans-serif;
-       font-size: 8pt;
-       font-weight: bold;
-       line-height: 9.5pt;
-       text-decoration: none;
-       color: black;
-       padding: 0;
-       margin-top: 0;
-}
-
-#quickbar a {
-       color: #446688;
-}
-
-/* Hide, but keep accessible for screen-readers */
-#mw-navigation h2 {
-       position: absolute;
-       top: -9999px;
-}
-
-#quickbar h3 {
-       font-family: Verdana, Arial, sans-serif;
-       font-size: 10pt;
-       font-weight: bold;
-       line-height: 12pt;
-       text-decoration: none;
-       color: #666666;
-       padding: 0;
-       margin-bottom: 2px;
-       margin-top: 6px;
-}
-
-#quickbar form {
-       padding: 0;
-       margin-top: 0;
-}
-
-#quickbar .portlet ul,
-#quickbar .portlet li {
-       list-style-type: none;
-       margin: 0;
-       padding: 0;
-       line-height: inherit;
-}
-
-div.after-portlet {
-       display: inline;
-       padding-left: .5em;
-}
-
-h1 {
-       color: #666666;
-       font-family: Verdana, Arial, sans-serif;
-       font-size: 180%;
-       line-height: 21pt;
-}
-
-h1#firstHeading {
-       padding-bottom: 0;
-       margin-bottom: 0;
-}
-
-#article p.subtitle, #article p.subpages, #article p.tagline {
-       color: #666666;
-       font-size: 11pt;
-       font-weight: bold;
-       padding-top: 0;
-       margin-top: 0;
-       padding-bottom: 1ex;
-}
-
-a {
-       color: #223366;
-}
-
-a.external {
-       color: #336644;
-}
-
-a:visited {
-       color: #8D0749;
-}
-
-a.printable {
-       text-decoration: underline;
-}
-
-a.stub, #quickbar a.stub {
-       color: #772233;
-       text-decoration: none;
-}
-
-a.new, #quickbar span.new a, #footer span.new a {
-       color: #CC2200;
-}
-
-h2, h3, h4, h5, h6 {
-       margin-bottom: 0;
-}
-
-small {
-       font-size: 75%;
-}
-
-input.mw-searchInput {
-       width: 106px;
-}
-
-/* Directionality-specific styles */
-#quickbar {
-       position: absolute;
-       left: 4px;
-}
-
-#article {
-       margin-left: 148px;
-       margin-right: 4px;
-}
-
-#footer {
-       margin-left: 152px;
-}
-
-#sitetitle, #sitesub, #toplinks, #linkcollection {
-       margin-top: 0;
-       margin-bottom: 0;
-}
-
-#sitetitle, #toplinks {
-       color: white;
-       text-transform: uppercase;
-       height: 32pt;
-}
-
-#sitetitle {
-       padding-left: 8px;
-       font-family: Times, serif;
-       font-weight: normal;
-       font-size: 32pt;
-       line-height: 32pt;
-       background-color: #6688AA;
-}
-
-#sitetitle a, #toplinks a {
-       color: white;
-       text-decoration: none;
-}
-
-/* Bring #sitetitle to top. Otherwise #toplinks is overlaid over it, making the link unclickable. */
-#sitetitle a {
-       position: relative;
-       z-index: 10;
-}
-
-#toplinks {
-       font-family: Verdana, Arial, sans-serif;
-       position: absolute;
-       top: 0;
-       right: 8px;
-       width: 100%;
-       font-size: 8pt;
-}
-
-#toplinks a {
-       font-size: 10pt;
-}
-
-#toplinks p {
-       position: absolute;
-       right: 0;
-       margin: 0;
-       width: 100%;
-       text-align: right;
-}
-
-#toplinks #syslinks {
-       bottom: 0;
-}
-
-#toplinks #variantlinks {
-       bottom: 12pt;
-}
-
-#sitesub {
-       float: left;
-       margin-left: 8px;
-       font-family: Verdana, Arial, sans-serif;
-       font-size: 9pt;
-       font-weight: bold;
-       color: black;
-}
-
-#linkcollection {
-       margin-top: 0.5em;
-       font-size: small;
-       margin-right: 8px;
-       text-align: right;
-       padding-left: 140px;
-}
-
-/* Override text justification (user preference), see bug 31990 */
-#linkcollection * {
-       text-align: right;
-}
index a6d3b55..31267e9 100644 (file)
  */
 
 /* Thanks to A List Apart (http://alistapart.com/) for useful extras */
-a.stub,
-a.new {
-       color: #ba0000;
-       text-decoration: none;
-}
-
-#toc {
-       border: 1px solid #aaaaaa;
-       background-color: #f9f9f9;
-       padding: 5px;
-       display: -moz-inline-block;
-       display: inline-block;
-       display: table;
-       /* IE7 and earlier */
-       zoom: 1;
-       *display: inline;
-}
-
-/* images */
-div.floatright {
-       float: right;
-       clear: right;
-       position: relative;
-       margin: 0.5em 0 0.8em 1.4em;
-}
-
-div.floatright p {
-       font-style: italic;
-}
-
-div.floatleft {
-       float: left;
-       clear: left;
-       position: relative;
-       margin: 0.5em 1.4em 0.8em 0;
-}
-
-div.floatleft p {
-       font-style: italic;
-}
-
-div.center {
-       text-align: center;
-}
-
-/* thumbnails */
-div.thumb {
-       border: none;
-       width: auto;
-       margin-top: 0.5em;
-       margin-bottom: 0.8em;
-       background-color: transparent;
-}
-
-div.thumbinner {
-       border: 1px solid #cccccc;
-       padding: 3px !important;
-       background-color: White;
-       font-size: 94%;
-       text-align: center;
-       overflow: hidden;
-}
-
-html .thumbimage {
-       border: 1px solid #cccccc;
-}
-
-html .thumbcaption {
-       border: none;
-       text-align: left;
-       line-height: 1.4em;
-       padding: 3px !important;
-       font-size: 94%;
-}
-
-div.magnify {
-       display: none;
-}
-
-/* @noflip */
-div.tright {
-       float: right;
-       clear: right;
-       margin: 0.5em 0 0.8em 1.4em;
-}
-
-/* @noflip */
-div.tleft {
-       float: left;
-       clear: left;
-       margin: 0.5em 1.4em 0.8em 0;
-}
-
-img.thumbborder {
-       border: 1px solid #dddddd;
-}
-
-body {
-       background: white;
-       color: black;
-       margin: 0;
-       padding: 0;
-}
 
+/**
+ * Hide all the elements irrelevant for printing
+ */
 .noprint,
 div#jump-to-nav,
 .mw-jump,
@@ -135,29 +35,39 @@ span.mw-filepage-other-resolutions,
 #filetoc,
 .usermessage,
 .patrollink,
-#mw-navigation {
-       /* Hides all the elements irrelevant for printing */
+#mw-navigation,
+#siteNotice {
        display: none;
 }
 
-ul {
-       list-style-type: square;
+/**
+ * Pagination
+ */
+.wikitable, .thumb, img {
+       page-break-inside: avoid;
 }
 
-#content {
-       background: none;
-       border: none !important;
-       padding: 0 !important;
-       margin: 0 !important;
-       direction: ltr;
+h2, h3, h4, h5, h6 {
+       page-break-after: avoid;
 }
 
-#footer {
+p {
+       widows: 3;
+       orphans: 3;
+}
+
+/**
+ * Generic HTML elements
+ */
+body {
        background: white;
        color: black;
-       margin-top: 1em;
-       border-top: 1px solid #AAA;
-       direction: ltr;
+       margin: 0;
+       padding: 0;
+}
+
+ul {
+       list-style-type: square;
 }
 
 h1, h2, h3, h4, h5, h6 {
@@ -183,10 +93,69 @@ pre, .mw-code {
        color: black;
 }
 
-table.listing,
-table.listing td {
-       border: 1pt solid black;
-       border-collapse: collapse;
+/**
+ * MediaWiki-specific elements
+ */
+#globalWrapper {
+       width: 100% !important;
+       min-width: 0 !important;
+}
+
+#content {
+       background: white;
+       border: none !important;
+       padding: 0 !important;
+       margin: 0 !important;
+       direction: ltr;
+       color: black;
+}
+
+#column-content {
+       margin: 0 !important;
+}
+
+#column-content #content {
+       padding: 1em;
+       margin: 0 !important;
+}
+
+#toc {
+       border: 1px solid #aaaaaa;
+       background-color: #f9f9f9;
+       padding: 5px;
+       display: -moz-inline-block;
+       display: inline-block;
+       display: table;
+       /* IE7 and earlier */
+       zoom: 1;
+       *display: inline;
+}
+
+#footer {
+       background: white;
+       color: black;
+       margin-top: 1em;
+       border-top: 1px solid #AAA;
+       direction: ltr;
+}
+
+img {
+       border: none;
+       vertical-align: middle;
+}
+
+/* math */
+span.texhtml {
+       font-family: serif;
+}
+
+/**
+ * Links
+ */
+a.stub,
+a.new {
+       color: #ba0000;
+       text-decoration: none;
 }
 
 a {
@@ -201,37 +170,18 @@ a:link, a:visited {
        text-decoration: underline;
 }
 
+/* Expand URLs for printing */
 #content a.external.text:after,
 #content a.external.autonumber:after {
-       /* Expand URLs for printing */
        content: " (" attr(href) ")";
 }
 
+/* Expand protocol-relative URLs for printing */
 #content a.external.text[href^='//']:after,
 #content a.external.autonumber[href^='//']:after {
-       /* Expand protocol-relative URLs for printing */
        content: " (https:" attr(href) ")";
 }
 
-#globalWrapper {
-       width: 100% !important;
-       min-width: 0 !important;
-}
-
-#content {
-       background: white;
-       color: black;
-}
-
-#column-content {
-       margin: 0 !important;
-}
-
-#column-content #content {
-       padding: 1em;
-       margin: 0 !important;
-}
-
 /* MSIE/Win doesn't understand 'inherit' */
 a,
 a.external,
@@ -250,21 +200,92 @@ a.stub {
        text-decoration: inherit !important;
 }
 
-img {
+/**
+ * Floating divs
+ */
+div.floatright {
+       float: right;
+       clear: right;
+       position: relative;
+       margin: 0.5em 0 0.8em 1.4em;
+}
+
+div.floatright p {
+       font-style: italic;
+}
+
+div.floatleft {
+       float: left;
+       clear: left;
+       position: relative;
+       margin: 0.5em 1.4em 0.8em 0;
+}
+
+div.floatleft p {
+       font-style: italic;
+}
+
+div.center {
+       text-align: center;
+}
+
+/**
+ * Thumbnails
+ */
+div.thumb {
        border: none;
-       vertical-align: middle;
+       width: auto;
+       margin-top: 0.5em;
+       margin-bottom: 0.8em;
+       background-color: transparent;
 }
 
-/* math */
-span.texhtml {
-       font-family: serif;
+div.thumbinner {
+       border: 1px solid #cccccc;
+       padding: 3px !important;
+       background-color: White;
+       font-size: 94%;
+       text-align: center;
+       overflow: hidden;
 }
 
-#siteNotice {
+html .thumbimage {
+       border: 1px solid #cccccc;
+}
+
+html .thumbcaption {
+       border: none;
+       text-align: left;
+       line-height: 1.4em;
+       padding: 3px !important;
+       font-size: 94%;
+}
+
+div.magnify {
        display: none;
 }
 
-/* Galleries (see shared.css for more info) */
+/* @noflip */
+div.tright {
+       float: right;
+       clear: right;
+       margin: 0.5em 0 0.8em 1.4em;
+}
+
+/* @noflip */
+div.tleft {
+       float: left;
+       clear: left;
+       margin: 0.5em 1.4em 0.8em 0;
+}
+
+img.thumbborder {
+       border: 1px solid #dddddd;
+}
+
+/**
+ * Galleries (see shared.css for more info)
+ */
 li.gallerybox {
        vertical-align: top;
        display: inline-block;
@@ -371,22 +392,14 @@ table.wikitable > caption,
        font-weight: bold;
 }
 
-a.sortheader {
-       margin: 0 0.3em;
-}
-
-/* Some pagination options */
-.wikitable, .thumb, img {
-       page-break-inside: avoid;
-}
-
-h2, h3, h4, h5, h6 {
-       page-break-after: avoid;
+table.listing,
+table.listing td {
+       border: 1pt solid black;
+       border-collapse: collapse;
 }
 
-p {
-       widows: 3;
-       orphans: 3;
+a.sortheader {
+       margin: 0 0.3em;
 }
 
 /**
diff --git a/skins/modern/audio.png b/skins/modern/audio.png
deleted file mode 100644 (file)
index 68c8768..0000000
Binary files a/skins/modern/audio.png and /dev/null differ
diff --git a/skins/modern/bullet.gif b/skins/modern/bullet.gif
deleted file mode 100644 (file)
index b43de48..0000000
Binary files a/skins/modern/bullet.gif and /dev/null differ
diff --git a/skins/modern/discussionitem_icon.gif b/skins/modern/discussionitem_icon.gif
deleted file mode 100644 (file)
index e3ca6d9..0000000
Binary files a/skins/modern/discussionitem_icon.gif and /dev/null differ
diff --git a/skins/modern/document.png b/skins/modern/document.png
deleted file mode 100644 (file)
index ee46a50..0000000
Binary files a/skins/modern/document.png and /dev/null differ
diff --git a/skins/modern/external.png b/skins/modern/external.png
deleted file mode 100644 (file)
index 6308383..0000000
Binary files a/skins/modern/external.png and /dev/null differ
diff --git a/skins/modern/file_icon.gif b/skins/modern/file_icon.gif
deleted file mode 100644 (file)
index 69dbeaf..0000000
Binary files a/skins/modern/file_icon.gif and /dev/null differ
diff --git a/skins/modern/footer-grad.png b/skins/modern/footer-grad.png
deleted file mode 100644 (file)
index 72b8724..0000000
Binary files a/skins/modern/footer-grad.png and /dev/null differ
diff --git a/skins/modern/link_icon.gif b/skins/modern/link_icon.gif
deleted file mode 100644 (file)
index 168c1a2..0000000
Binary files a/skins/modern/link_icon.gif and /dev/null differ
diff --git a/skins/modern/lock_icon.gif b/skins/modern/lock_icon.gif
deleted file mode 100644 (file)
index 8284403..0000000
Binary files a/skins/modern/lock_icon.gif and /dev/null differ
diff --git a/skins/modern/mail_icon.gif b/skins/modern/mail_icon.gif
deleted file mode 100644 (file)
index cf5680d..0000000
Binary files a/skins/modern/mail_icon.gif and /dev/null differ
diff --git a/skins/modern/main.css b/skins/modern/main.css
deleted file mode 100644 (file)
index 93f9fbb..0000000
+++ /dev/null
@@ -1,948 +0,0 @@
-body {
-       margin: 0 0 0 0;
-       padding: 0 0 0 0;
-       font-size: x-small;
-
-       font-family: sans-serif;
-       color: black;
-       background-color: #f0f0f0;
-
-       direction: ltr;
-       unicode-bidi: embed;
-}
-
-#mw_main,
-#p-personal,
-#mw_header,
-.os-suggest {
-       font-size: 130%;
-}
-
-#mw_header {
-       position: absolute;
-       top: 0;
-       left: 0;
-       margin: 0 0 0 0;
-       padding: 0 0em 0 0em;
-       border: none;
-       height: 2em;
-       width: 100%;
-
-       background-color: #003366;
-       color: white;
-}
-
-#mw_header h1 {
-       margin: 0 0 0 0.5em;
-       padding: 0 0 0 0;
-       text-decoration: none;
-       font-size: 150%;
-}
-
-#p-personal {
-       position: absolute;
-       top: 2em;
-       left: 0;
-       height: 1.5em;
-       margin: 0 0 0 0;
-       padding: 0 0 0 0;
-       width: 100%;
-
-}
-
-#p-personal div.pBody {
-       margin: 0 0 0 0;
-       padding: 0 0 0 0;
-       height: 1.5em;
-       font-variant: small-caps;
-}
-
-#p-personal h3 {
-       display: none;
-}
-
-#p-personal ul {
-       margin: 0 0 0 0;
-       padding: 0 0 0 0;
-       display: block;
-       height: 1.5em;
-       background-color: #3c78b5;
-}
-
-#p-personal li {
-       display: block;
-       float: left;
-       height: 1.5em;
-       margin: 0 0 0 0;
-       vertical-align: middle;
-
-       font-weight: bold;
-       text-transform: lowercase;
-}
-
-#p-personal li a {
-       text-decoration: none;
-       color: white;
-       padding: 0 1em 0 1em;
-}
-
-#p-personal li a:hover {
-       text-decoration: none;
-       color: white;
-}
-
-#p-personal li:hover {
-       background-color: #003366;
-}
-
-#jump-to-nav {
-       display: none;
-}
-
-#mw_contentwrapper {
-       width: 100%;
-       margin: 0 0 0 -15em;
-       float: right;
-}
-
-#mw_content {
-       margin: 0 0 0 14em;
-
-       background-color: white;
-       border-top: solid 1px #bbbbbb;
-       border-left: solid 1px #bbbbbb;
-       border-bottom: solid 1px #bbbbbb;
-
-       line-height: 1.5em;
-       padding: 0 1em 1em 1em;
-}
-
-#mw_portlets {
-       width: 14em;
-
-       border-right: solid 1px #bbbbbb;
-       background-color: #f0f0f0;
-}
-
-/* Hide, but keep accessible for screen-readers */
-#mw_portlets h2 {
-       position: absolute;
-       top: -9999px;
-}
-
-#mw_main {
-       padding: 0 0 0 0;
-       margin: 0 0 0 0;
-       margin-top: 3.5em;
-}
-
-div.mw_clear {
-       margin: 0 0 0 0;
-       padding: 0 0 0 0;
-       clear: both;
-}
-
-.portlet {
-       padding: 0 0 0 0;
-       margin: 0 0 0 0;
-}
-
-.portlet div.pBody {
-       padding: 0em 0 0.5em 0;
-}
-
-textarea {
-       width: 100%;
-       padding: .1em;
-       display: block;
-       -moz-box-sizing: border-box;
-       -webkit-box-sizing: border-box;
-       box-sizing: border-box;
-}
-
-#searchBody {
-       text-align: center;
-}
-
-#searchInput {
-       width: 85%;
-       margin-left: auto;
-       margin-right: auto;
-}
-
-#p-search #searchform div div {
-       margin-top: .4em;
-}
-
-.portlet h3 {
-       padding: 0.1em 0 0.3em 1em;
-       margin: 0 0 0 0;
-       background-color: #dddddd;
-       font-weight: bold;
-       font-size: 0.83em;
-       border-bottom: solid 1px #3c78b5;
-       height: 1.1em;
-}
-
-.portlet ul {
-       margin: 0 0 0 1.5em;
-       padding: 0 0 0 0;
-}
-
-#mw_portlets .portlet ul {
-       line-height: 1.4em;
-}
-
-ul {
-       /* @embed */
-       list-style-image: url(bullet.gif);
-}
-
-#p-cactions {
-       height: 1.5em;
-       padding: 0 0 0 0;
-       margin: 0 0 0 14em;
-}
-
-#p-cactions div.pBody {
-       margin: 0 0 0 0;
-       padding: 0 0 0 0;
-}
-
-#p-cactions a,
-#p-cactions a:hover {
-       color: black;
-       text-decoration: none;
-}
-
-#p-cactions ul {
-       display: inline;
-       margin: 0 0 0 0;
-       padding: 0 0 0 0;
-}
-
-#p-cactions li {
-       margin: 0 0.5em 0 0.5em;
-       padding: 0 0.2em 0 0.2em;
-       display: block;
-       float: left;
-       height: 1.5em;
-       text-transform: lowercase;
-}
-
-#p-cactions li.selected {
-       background-color: #bbbbbb;
-}
-
-#p-cactions li a,
-#p-cactions li a:hover,
-#p-cactions li a:visited {
-       text-decoration: underline;
-       color: #003366;
-}
-
-#p-cactions li.selected a,
-#p-cactions li.selected a:hover,
-#p-cactions li.selected a:visited {
-       text-decoration: none;
-       color: white;
-}
-
-#p-cactions h3 {
-       display: none;
-}
-
-#siteSub {
-       display: none;
-}
-
-#footer {
-       background-color: #f0f0f0;
-       /* @embed */
-       background: url(footer-grad.png) repeat-x 0 0;
-       padding: 10px 1em 1em 1em;
-       clear: both;
-       color: #444444;
-}
-
-#footer a,
-#footer a:hover,
-#footer a:visited {
-       color: #444444;
-       text-decoration: underline;
-}
-
-img {
-       border: none;
-}
-
-#footer li {
-       display: inline;
-       list-style-type: none;
-       padding: 0 0 0 0;
-       margin: 0 0 0 0;
-}
-
-#footer ul {
-       padding: 0 0 0 0;
-       margin: 0 0 0 0;
-}
-
-p {
-       margin: 1em 0 1em 0;
-}
-
-hr {
-       height: 1px;
-       color: #aaa;
-       background-color: #aaa;
-       border: 0;
-       margin: .2em 0 .2em 0;
-}
-
-#contentSub {
-       color: #545454;
-       font-size: small;
-       padding-left: 2em;
-}
-
-#mw_portlets form {
-       margin: 0 0 0 0;
-       padding: 0 0 0 0;
-}
-
-a {
-       text-decoration: none;
-       color: #003366;
-       background: none;
-}
-
-a:visited {
-       color: #5a3696;
-}
-
-a:active {
-       color: #faa700;
-}
-
-a:hover {
-       text-decoration: underline;
-}
-
-a.stub {
-       color: #772233;
-}
-
-a.new {
-       color: #ba0000;
-}
-
-a.new:visited {
-       color: #a55858;
-}
-
-h1, h2 {
-       border-bottom: solid 1px #003366;
-}
-
-h1, h2, h3, h4, h5, h6 {
-       overflow: hidden;
-}
-
-#preftoc {
-       width: 100%;
-       margin: 0 0 0 0;
-       padding: 0 0 0 0;
-       height: 1.5em;
-       clear: right;
-}
-
-#preftoc li {
-       margin: 0 0.5em 0 0.5em;
-       padding: 0 0.2em 0 0.2em;
-       display: block;
-       float: left;
-       height: 1.5em;
-       text-transform: lowercase;
-}
-
-#preferences {
-       margin: 0 0 0 0;
-       padding: 0em 1em 1em 1em;
-       border: solid 1px #bbbbbb;
-       clear: left; /* Multi-line toc should not push data to horizontally */
-}
-
-#preferences fieldset {
-       margin-top: 0;
-       border: none;
-}
-
-.mainLegend {
-       display: none;
-}
-
-.htmlform-tip {
-       font-size: x-small;
-       padding: .2em 2em;
-       color: #666;
-}
-
-.prefsection legend {
-       font-weight: bold;
-}
-
-#preftoc li.selected {
-       background-color: #bbbbbb;
-}
-
-#preftoc li a,
-#preftoc li a:hover,
-#preftoc li a:visited {
-       text-decoration: underline;
-       color: #003366;
-}
-
-#preftoc li.selected a,
-#preftoc li.selected a:hover,
-#preftoc li.selected a:visited {
-       text-decoration: none;
-       color: white;
-}
-
-#mw_content a.external {
-       /* @embed */
-       background: url(external.png) center right no-repeat;
-       padding-right: 13px;
-}
-
-#mw_content a.external[href ^="https://"],
-.link-https {
-       /* @embed */
-       background: url(lock_icon.gif) center right no-repeat;
-       padding-right: 16px;
-}
-
-#mw_content a.external[href ^="mailto:"],
-.link-mailto {
-       /* @embed */
-       background: url(mail_icon.gif) center right no-repeat;
-       padding-right: 18px;
-}
-
-#mw_content a.external[href ^="news:"] {
-       /* @embed */
-       background: url(news_icon.png) center right no-repeat;
-       padding-right: 18px;
-}
-
-#mw_content a.external[href ^="ftp://"],
-.link-ftp {
-       /* @embed */
-       background: url(file_icon.gif) center right no-repeat;
-       padding-right: 18px;
-}
-
-#mw_content a.external[href ^="irc://"],
-#mw_content a.external[href ^="ircs://"],
-.link-irc {
-       /* @embed */
-       background: url(discussionitem_icon.gif) center right no-repeat;
-       padding-right: 18px;
-}
-
-#mw_content a.external[href $=".ogg"], #mw_content a.external[href $=".OGG"],
-#mw_content a.external[href $=".mid"], #mw_content a.external[href $=".MID"],
-#mw_content a.external[href $=".midi"], #mw_content a.external[href $=".MIDI"],
-#mw_content a.external[href $=".mp3"], #mw_content a.external[href $=".MP3"],
-#mw_content a.external[href $=".wav"], #mw_content a.external[href $=".WAV"],
-#mw_content a.external[href $=".wma"], #mw_content a.external[href $=".WMA"],
-.link-audio {
-       /* @embed */
-       background: url(audio.png) center right no-repeat;
-       padding-right: 13px;
-}
-
-#mw_content a.external[href $=".ogm"], #mw_content a.external[href $=".OGM"],
-#mw_content a.external[href $=".avi"], #mw_content a.external[href $=".AVI"],
-#mw_content a.external[href $=".mpeg"], #mw_content a.external[href $=".MPEG"],
-#mw_content a.external[href $=".mpg"], #mw_content a.external[href $=".MPG"],
-.link-video {
-       /* @embed */
-       background: url(video.png) center right no-repeat;
-       padding-right: 13px;
-}
-
-#mw_content a.external[href $=".pdf"], #mw_content a.external[href $=".PDF"],
-#mw_content a.external[href *=".pdf#"], #mw_content a.external[href *=".PDF#"],
-#mw_content a.external[href *=".pdf?"], #mw_content a.external[href *=".PDF?"],
-.link-document {
-       /* @embed */
-       background: url(document.png) center right no-repeat;
-       padding-right: 12px;
-}
-
-/* images */
-/* @noflip */div.floatright, table.floatright {
-       margin: 0 0 .5em .5em;
-       border: 0;
-}
-
-div.floatright p {
-       font-style: italic;
-}
-
-/* @noflip */div.floatleft, table.floatleft {
-       margin: 0 .5em .5em 0;
-       border: 0;
-}
-
-div.floatleft p {
-       font-style: italic;
-}
-
-/* thumbnails */
-div.thumb {
-       margin-bottom: .5em;
-       width: auto;
-}
-
-div.thumbinner {
-       border: 1px solid #ccc;
-       padding: 3px !important;
-       background-color: #f9f9f9;
-       font-size: 94%;
-       text-align: center;
-       overflow: hidden;
-}
-
-html .thumbimage {
-       border: 1px solid #ccc;
-}
-
-html .thumbcaption {
-       border: none;
-       text-align: left;
-       line-height: 1.4em;
-       padding: 3px !important;
-       font-size: 94%;
-}
-
-div.magnify {
-       float: right;
-       border: none !important;
-       background: none !important;
-       margin-left: 3px;
-}
-
-div.magnify a, div.magnify img {
-       display: block;
-       border: none !important;
-       background: none !important;
-}
-
-/* @noflip */div.tright {
-       margin: .5em 0 .8em 1.4em;
-}
-
-/* @noflip */div.tleft {
-       margin: .5em 1.4em .8em 0;
-}
-
-img.thumbborder {
-       border: 1px solid #dddddd;
-}
-
-.mw-warning {
-       border: 1px solid #aaa;
-       background-color: #f9f9f9;
-       padding: 5px;
-       font-size: 95%;
-}
-
-#toc,
-.toc {
-       margin: 0 0 0 0;
-       padding: 0 0 0 0;
-       border-spacing: 0;
-       background-color: #f0f0f0;
-       border: solid 1px #bbbbbb;
-       display: -moz-inline-block;
-       display: inline-block;
-       display: table;
-
-       /* IE7 and earliers */
-       zoom: 1;
-       *display: inline;
-
-       padding: 7px;
-}
-
-/* CSS for backwards-compatibility with cached page renders and creative uses in wikitext */
-table#toc,
-table.toc {
-       border-collapse: collapse;
-}
-
-/* Remove additional paddings inside table-cells that are not present in <div>s */
-table#toc td,
-table.toc td {
-       padding: 0;
-}
-
-#toc tr, #toc td {
-       margin: 0 0 0 0;
-       padding: 0 0 0 0;
-}
-
-#toctitle {
-       border-bottom: solid 1px #3c78b5;
-       background-color: #dddddd;
-       margin: 0 0 0 0;
-}
-
-#toc h2,
-.toc h2 {
-       display: inline;
-       border: none;
-       padding: 0;
-       font-size: 100%;
-       font-weight: bold;
-}
-
-#toc #toctitle,
-.toc #toctitle,
-#toc .toctitle,
-.toc .toctitle {
-       text-align: center;
-}
-
-#toc ul,
-.toc ul {
-       list-style-type: none;
-       list-style-image: none;
-       margin: 0 1em 0 1em;
-       padding: 0;
-       text-align: left;
-}
-
-#toc ul ul,
-.toc ul ul {
-       margin: 0 0 0 2em;
-}
-
-#toc .toctoggle,
-.toc .toctoggle {
-       font-size: 94%;
-}
-
-.mw-warning {
-       margin-left: 50px;
-       margin-right: 50px;
-       text-align: center;
-}
-
-.catlinks {
-       border: solid 1px #bbbbbb;
-       background-color: #f0f0f0;
-       padding: 0.1em 0.3em 0.1em 0.3em;
-       margin: 0 0 0 0;
-}
-
-#mw_header h1,
-#p-personal,
-#p-cactions {
-       overflow: hidden;
-}
-
-/* disable interwiki styling */
-#mw_content a.extiw,
-#mw_content a.extiw:active {
-       color: #36b;
-}
-
-#mw_content a.external {
-       color: #36b;
-}
-
-.redirectText {
-       font-size: 150%;
-       margin: 5px;
-}
-
-.printfooter {
-       display: none;
-}
-
-.sharedUploadNotice {
-       font-style: italic;
-}
-
-span.updatedmarker {
-       color: black;
-       background-color: #0f0;
-}
-
-.previewnote {
-       text-indent: 3em;
-       color: #c00;
-       border-bottom: 1px solid #aaa;
-       padding-bottom: 1em;
-       margin-bottom: 1em;
-}
-
-.previewnote p {
-       margin: 0;
-       padding: 0;
-}
-
-.editExternally {
-       border: 1px solid gray;
-       background-color: #ffffff;
-       padding: 3px;
-       margin-top: 0.5em;
-       float: left;
-       font-size: small;
-       text-align: center;
-}
-
-.editExternallyHelp {
-       font-style: italic;
-       color: gray;
-}
-
-.toggle {
-       margin-left: 2em;
-       text-indent: -2em;
-}
-
-table.collapsed tr.collapsable {
-       display: none;
-}
-
-input#wpSummary {
-       width: 80%;
-}
-
-/* @bug 1714 */
-input#wpSave, input#wpDiff {
-       margin-right: 0.33em;
-}
-
-#wpSave {
-       font-weight: bold;
-}
-
-/* noarticletext */
-div.noarticletext {
-       border: 1px solid #ccc;
-       background: #fff;
-       padding: .2em 1em;
-       color: #000;
-}
-
-div#searchTargetContainer {
-       left: 10px;
-       top: 10px;
-       width: 90%;
-       background: white;
-}
-
-div#searchTarget {
-       padding: 3px;
-       margin: 5px;
-       background: #F0F0F0;
-       border: solid 1px blue;
-}
-
-div#searchTarget ul li {
-       list-style: none;
-}
-
-div#searchTarget ul li:before {
-       color: orange;
-       content: "\00BB \0020";
-}
-
-div#searchTargetHide {
-       float: right;
-       border: solid 1px black;
-       background: #DCDCDC;
-       padding: 2px;
-}
-
-div.multipageimagenavbox {
-       border: solid 1px silver;
-       padding: 4px;
-       margin: 1em;
-       background: #f0f0f0;
-}
-
-div.multipageimagenavbox div.thumb {
-       border: none;
-       margin-left: 2em;
-       margin-right: 2em;
-}
-
-div.multipageimagenavbox hr {
-       margin: 6px;
-}
-
-table.multipageimage td {
-       text-align: center;
-}
-
-.templatesUsed {
-       margin-top: 1.5em;
-}
-
-.mw-summary-preview {
-       margin: 0.1em 0;
-}
-
-/* Friendlier slave lag warnings */
-div.mw-lag-warn-normal,
-div.mw-lag-warn-high {
-       padding: 3px;
-       text-align: center;
-       margin: 3px auto;
-}
-
-div.mw-lag-warn-normal {
-       border: 1px solid #FFCC66;
-       background-color: #FFFFCC;
-}
-
-div.mw-lag-warn-high {
-       font-weight: bold;
-       border: 2px solid #FF0033;
-       background-color: #FFCCCC;
-}
-
-.MediaTransformError {
-       background-color: #ccc;
-       padding: 0.1em;
-}
-
-.MediaTransformError td {
-       text-align: center;
-       vertical-align: middle;
-       font-size: 90%;
-}
-
-ul {
-       line-height: 1.5em;
-       list-style-type: square;
-       margin: .3em 0 0 1.5em;
-       padding: 0;
-       /* @embed */
-       list-style-image: url(bullet.gif);
-}
-
-ol {
-       line-height: 1.5em;
-       margin: .3em 0 0 3.2em;
-       padding: 0;
-       list-style-image: none;
-}
-
-li {
-       margin-bottom: .1em;
-}
-
-dt {
-       font-weight: bold;
-       margin-bottom: .1em;
-}
-
-dl {
-       margin-top: .2em;
-       margin-bottom: .5em;
-}
-
-#p-cactions li.new a {
-       color: #cc2200;
-}
-
-span.subpages {
-       font-size: 80%;
-       display: block;
-}
-
-pre, .mw-code {
-       border: solid 1px #3c78b5;
-       padding: 0.4em;
-       background-color: #f0f0f0;
-}
-
-.usermessage {
-       background-color: #dadaff;
-}
-
-.mw-topboxes {
-       border-collapse: collapse;
-       margin: 0 -1em 1em -1em;
-       padding: 0 0 8px 0;
-       /* @embed */
-       background: url(footer-grad.png) repeat-x bottom left;
-}
-
-.mw-topbox p {
-       padding: 0 0 0 0;
-       margin: 0 0 0 0;
-}
-
-.mw-topbox {
-       color: black;
-       font-weight: bold;
-       margin: 0 0 0 0;
-       padding: 0 1em 0 1em;
-       vertical-align: middle;
-       border-collapse: collapse;
-       border-bottom: solid 1px #bbbbbb;
-}
-
-#siteSub {
-       background-color: #dddddd;
-}
-
-/* emulate center */
-.center {
-       width: 100%;
-       text-align: center;
-}
-
-*.center * {
-       margin-left: auto;
-       margin-right: auto;
-}
-
-/* table standards */
-.toccolours {
-       border: 1px solid #bbbbbb;
-       background-color: #f0f0f0;
-       border-spacing: 0pt;
-       margin: 0pt;
-       padding: 0pt;
-}
-
-/* Tooltips are outside of the normal body code, so this helps make the size of the text sensible */
-.tipsy {
-       font-size: 130%;
-}
-
-/**
- * Lists:
- * The following lines don't have a visible effect on non-Gecko browsers
- * They fix a problem ith Gecko browsers rendering lists to the right of
- * left-floated objects in an RTL layout.
- */
-/* @noflip */
-html > body.rtl div#mw_contentholder ul {
-       display: table;
-}
-
-/* @noflip */
-html > body.rtl div#mw_contentholder ul#filetoc {
-       display: block;
-}
diff --git a/skins/modern/news_icon.png b/skins/modern/news_icon.png
deleted file mode 100644 (file)
index 4d3cb47..0000000
Binary files a/skins/modern/news_icon.png and /dev/null differ
diff --git a/skins/modern/print.css b/skins/modern/print.css
deleted file mode 100644 (file)
index 150d2d2..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-#mw_portlets,
-#p-cactions,
-#p-personal,
-#jump-to-nav,
-#footer,
-.mw-editsection,
-.mw-editsection-like,
-.noprint {
-       display: none;
-}
diff --git a/skins/modern/video.png b/skins/modern/video.png
deleted file mode 100644 (file)
index e535c0c..0000000
Binary files a/skins/modern/video.png and /dev/null differ
index d8ac3c8..58ba2af 100644 (file)
@@ -2,6 +2,8 @@
  * Vector-specific scripts
  */
 jQuery( function ( $ ) {
+       $( '#searchInput' ).attr( 'tabindex', $( document ).lastTabIndex() + 1 );
+
        $( 'div.vectorMenu' ).each( function () {
                var $el = $( this );
                $el.find( '> h3 > a' ).parent()
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",
diff --git a/tests/phpunit/includes/ImportTest.php b/tests/phpunit/includes/ImportTest.php
new file mode 100644 (file)
index 0000000..8895403
--- /dev/null
@@ -0,0 +1,100 @@
+<?php
+
+/**
+ * Test class for Import methods.
+ *
+ * @group Database
+ *
+ * @author Sebastian Brückner < sebastian.brueckner@student.hpi.uni-potsdam.de >
+ */
+class ImportTest extends MediaWikiLangTestCase {
+
+       private function getInputStreamSource( $xml ) {
+               $file = 'data:application/xml,' . $xml;
+               $status = ImportStreamSource::newFromFile( $file );
+               if ( !$status->isGood() ) {
+                       throw new MWException( "Cannot create InputStreamSource." );
+               }
+               return $status->value;
+       }
+
+       /**
+        * @covers WikiImporter::handlePage
+        * @dataProvider getRedirectXML
+        * @param string $xml
+        */
+       public function testHandlePageContainsRedirect( $xml, $redirectTitle ) {
+               $source = $this->getInputStreamSource( $xml );
+
+               $redirect = NULL;
+               $callback = function( $title, $origTitle, $revCount, $sRevCount, $pageInfo ) use ( &$redirect ) {
+                       if ( array_key_exists( 'redirect', $pageInfo ) ) {
+                               $redirect = $pageInfo['redirect'];
+                       }
+               };
+
+               $importer = new WikiImporter( $source );
+               $importer->setPageOutCallback( $callback );
+               $importer->doImport();
+
+               $this->assertEquals( $redirectTitle, $redirect );
+       }
+
+       public function getRedirectXML() {
+               return array(
+                       array(
+                               <<< EOF
+<mediawiki>
+       <page>
+               <title>Test</title>
+               <ns>0</ns>
+               <id>21</id>
+               <redirect title="Test22"/>
+               <revision>
+                       <id>20</id>
+                       <timestamp>2014-05-27T10:00:00Z</timestamp>
+                       <contributor>
+                               <username>Admin</username>
+                               <id>10</id>
+                       </contributor>
+                       <comment>Admin moved page [[Test]] to [[Test22]]</comment>
+                       <text xml:space="preserve" bytes="20">#REDIRECT [[Test22]]</text>
+                       <sha1>tq456o9x3abm7r9ozi6km8yrbbc56o6</sha1>
+                       <model>wikitext</model>
+                       <format>text/x-wiki</format>
+               </revision>
+       </page>
+</mediawiki>
+EOF
+                       ,
+                               'Test22'
+                       ),
+                       array(
+                               <<< EOF
+<mediawiki>
+       <page>
+               <title>Test</title>
+               <ns>0</ns>
+               <id>42</id>
+               <revision>
+                       <id>421</id>
+                       <timestamp>2014-05-27T11:00:00Z</timestamp>
+                       <contributor>
+                               <username>Admin</username>
+                               <id>10</id>
+                       </contributor>
+                       <text xml:space="preserve" bytes="4">Abcd</text>
+                       <sha1>n7uomjq96szt60fy5w3x7ahf7q8m8rh</sha1>
+                       <model>wikitext</model>
+                       <format>text/x-wiki</format>
+               </revision>
+       </page>
+</mediawiki>
+EOF
+                       ,
+                               NULL
+                       ),
+               );
+       }
+
+}
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 5657a5a..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"' ),
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 2393299..f5cd892 100644 (file)
@@ -21,6 +21,7 @@ class StructureTest extends MediaWikiTestCase {
                        'ApiQueryTestBase',
                        'ApiQueryContinueTestBase',
                        'MediaWikiLangTestCase',
+                       'MediaWikiMediaTestCase',
                        'MediaWikiTestCase',
                        'ResourceLoaderTestCase',
                        'PHPUnit_Framework_TestCase',