Merge "Allow to optionally set language in Message constructor"
authorParent5446 <tylerromeo@gmail.com>
Fri, 28 Mar 2014 21:39:59 +0000 (21:39 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Fri, 28 Mar 2014 21:39:59 +0000 (21:39 +0000)
57 files changed:
RELEASE-NOTES-1.23
includes/AutoLoader.php
includes/Linker.php
includes/Title.php
includes/exception/ThrottledError.php
includes/libs/HttpStatus.php
includes/resourceloader/ResourceLoaderStartUpModule.php
includes/specials/SpecialCategories.php
includes/specials/SpecialLinkSearch.php
includes/title/MalformedTitleException.php [new file with mode: 0644]
includes/title/MediaWikiPageLinkRenderer.php [new file with mode: 0644]
includes/title/MediaWikiTitleCodec.php [new file with mode: 0644]
includes/title/PageLinkRenderer.php [new file with mode: 0644]
includes/title/TitleFormatter.php [new file with mode: 0644]
includes/title/TitleParser.php [new file with mode: 0644]
includes/title/TitleValue.php [new file with mode: 0644]
languages/Names.php
languages/messages/MessagesArq.php [new file with mode: 0644]
languages/messages/MessagesBe_tarask.php
languages/messages/MessagesCo.php
languages/messages/MessagesEgl.php
languages/messages/MessagesFa.php
languages/messages/MessagesFi.php
languages/messages/MessagesHe.php
languages/messages/MessagesHi.php
languages/messages/MessagesHrx.php [new file with mode: 0644]
languages/messages/MessagesIt.php
languages/messages/MessagesKk_cyrl.php
languages/messages/MessagesLrc.php
languages/messages/MessagesMl.php
languages/messages/MessagesMzn.php
languages/messages/MessagesNap.php
languages/messages/MessagesNds_nl.php
languages/messages/MessagesNe.php
languages/messages/MessagesNn.php
languages/messages/MessagesPl.php
languages/messages/MessagesQqq.php
languages/messages/MessagesSa.php
languages/messages/MessagesSco.php
languages/messages/MessagesTet.php
languages/messages/MessagesZh_hans.php
languages/messages/MessagesZh_hant.php
resources/mediawiki.api/mediawiki.api.category.js
resources/mediawiki.api/mediawiki.api.parse.js
resources/mediawiki.api/mediawiki.api.watch.js
resources/mediawiki/mediawiki.util.js
resources/oojs-ui/i18n/es.json
resources/oojs-ui/i18n/et.json
resources/oojs-ui/i18n/kk-cyrl.json
resources/oojs-ui/i18n/qu.json
resources/oojs-ui/oojs-ui-apex.css
resources/oojs-ui/oojs-ui.js
resources/oojs-ui/oojs-ui.svg.css
tests/phpunit/includes/TitleTest.php
tests/phpunit/includes/exception/ThrottledErrorTest.php
tests/qunit/suites/resources/jquery/jquery.color.test.js
tests/qunit/suites/resources/jquery/jquery.makeCollapsible.test.js

index 92e94ed..cea7f69 100644 (file)
@@ -240,6 +240,8 @@ MediaWiki supports over 350 languages. Many localisations are updated
 regularly. Below only new and removed languages are listed, as well as
 changes to languages because of Bugzilla reports.
 
+* Support was added for Algerian Spoken Arabic (arq).
+* Support was added for Riograndenser Hunsrückisch (hrx).
 * Support was added for Northern Luri (lrc).
 
 === Other changes in 1.23 ===
index 0873d87..361ac9d 100644 (file)
@@ -1059,6 +1059,15 @@ $wgAutoloadLocalClasses = array(
        'UserloginTemplate' => 'includes/templates/Userlogin.php',
        'UsercreateTemplate' => 'includes/templates/Usercreate.php',
 
+       # includes/title
+       'PageLinkRenderer' => 'includes/title/PageLinkRenderer.php',
+       'TitleFormatter' => 'includes/title/TitleFormatter.php',
+       'TitleParser' => 'includes/title/TitleParser.php',
+       'TitleValue' => 'includes/title/TitleValue.php',
+       'MalformedTitleException' => 'includes/title/MalformedTitleException.php',
+       'MediaWikiPageLinkRenderer' => 'includes/title/MediaWikiPageLinkRenderer.php',
+       'MediaWikiTitleCodec' => 'includes/title/MediaWikiTitleCodec.php',
+
        # includes/upload
        'UploadBase' => 'includes/upload/UploadBase.php',
        'UploadFromFile' => 'includes/upload/UploadFromFile.php',
index 23bfd61..033926a 100644 (file)
@@ -25,6 +25,8 @@
  * for primarily page content: links, embedded images, table of contents. Links
  * are also used in the skin.
  *
+ * @todo: turn this into a legacy interface for HtmlPageLinkRenderer and similar services.
+ *
  * @ingroup Skins
  */
 class Linker {
index c85a006..995deeb 100644 (file)
@@ -27,6 +27,8 @@
  * Optionally may contain an interwiki designation or namespace.
  * @note This class can fetch various kinds of data from the database;
  *       however, it does so inefficiently.
+ * @note Consider using a TitleValue object instead. TitleValue is more lightweight
+ *       and does not rely on global state or the database.
  *
  * @internal documentation reviewed 15 Mar 2010
  */
@@ -85,8 +87,55 @@ class Title {
        var $mNotificationTimestamp = array(); // /< Associative array of user ID -> timestamp/false
        var $mHasSubpage;                 // /< Whether a page has any subpages
        private $mPageLanguage = false;   // /< The (string) language code of the page's language and content code.
+       private $mTitleValue = null;      // /< A corresponding TitleValue object
        // @}
 
+       /**
+        * B/C kludge: provide a TitleParser for use by Title.
+        * Ideally, Title would have no methods that need this.
+        * Avoid usage of this singleton by using TitleValue
+        * and the associated services when possible.
+        *
+        * @return TitleParser
+        */
+       private static function getTitleParser() {
+               global $wgContLang, $wgLocalInterwikis;
+
+               static $titleCodec = null;
+               static $titleCodecFingerprint = null;
+
+               // $wgContLang and $wgLocalInterwikis may change (especially while testing),
+               // make sure we are using the right one. To detect changes over the course
+               // of a request, we remember a fingerprint of the config used to create the
+               // codec singleton, and re-create it if the fingerprint doesn't match.
+               $fingerprint = spl_object_hash( $wgContLang ) . '|' . join( '+', $wgLocalInterwikis );
+
+               if ( $fingerprint !== $titleCodecFingerprint ) {
+                       $titleCodec = null;
+               }
+
+               if ( !$titleCodec ) {
+                       $titleCodec = new MediaWikiTitleCodec( $wgContLang, GenderCache::singleton(), $wgLocalInterwikis );
+                       $titleCodecFingerprint = $fingerprint;
+               }
+
+               return $titleCodec;
+       }
+
+       /**
+        * B/C kludge: provide a TitleParser for use by Title.
+        * Ideally, Title would have no methods that need this.
+        * Avoid usage of this singleton by using TitleValue
+        * and the associated services when possible.
+        *
+        * @return TitleFormatter
+        */
+       private static function getTitleFormatter() {
+               //NOTE: we know that getTitleParser() returns a MediaWikiTitleCodec,
+               //      which implements TitleFormatter.
+               return self::getTitleParser();
+       }
+
        /**
         * Constructor
         */
@@ -110,6 +159,20 @@ class Title {
                }
        }
 
+       /**
+        * Create a new Title from a TitleValue
+        *
+        * @param TitleValue $titleValue, assumed to be safe.
+        *
+        * @return Title
+        */
+       public static function newFromTitleValue( TitleValue $titleValue ) {
+               return self::makeTitle(
+                       $titleValue->getNamespace(),
+                       $titleValue->getText(),
+                       $titleValue->getFragment() );
+       }
+
        /**
         * Create a new Title from text, such as what one would find in a link. De-
         * codes any HTML entities in the text.
@@ -147,7 +210,7 @@ class Title {
 
                $t = new Title();
                $t->mDbkeyform = str_replace( ' ', '_', $filteredText );
-               $t->mDefaultNamespace = $defaultNamespace;
+               $t->mDefaultNamespace = intval( $defaultNamespace );
 
                if ( $t->secureAndSplit() ) {
                        if ( $defaultNamespace == NS_MAIN ) {
@@ -473,6 +536,8 @@ class Title {
         * Note that this doesn't pick up many things that could be wrong with titles, but that
         * replacing this regex with something valid will make many titles valid.
         *
+        * @todo: move this into MediaWikiTitleCodec
+        *
         * @return String regex string
         */
        static function getTitleInvalidRegex() {
@@ -741,6 +806,31 @@ class Title {
                return Interwiki::fetch( $this->mInterwiki )->getWikiID();
        }
 
+       /**
+        * Get a TitleValue object representing this Title.
+        *
+        * @note: Not all valid Titles have a corresponding valid TitleValue
+        * (e.g. TitleValues cannot represent page-local links that have a
+        * fragment but no title text).
+        *
+        * @return TitleValue|null
+        */
+       public function getTitleValue() {
+               if ( $this->mTitleValue === null ) {
+                       try {
+                               $this->mTitleValue = new TitleValue(
+                                       $this->getNamespace(),
+                                       $this->getDBkey(),
+                                       $this->getFragment() );
+                       } catch ( InvalidArgumentException $ex ) {
+                               wfDebug( __METHOD__ . ': Can\'t create a TitleValue for [[' .
+                                       $this->getPrefixedText() . ']]: ' . $ex->getMessage() . "\n" );
+                       }
+               }
+
+               return $this->mTitleValue;
+       }
+
        /**
         * Get the text form (spaces not underscores) of the main part
         *
@@ -830,8 +920,6 @@ class Title {
         * @return String: Namespace text
         */
        public function getNsText() {
-               global $wgContLang;
-
                if ( $this->isExternal() ) {
                        // This probably shouldn't even happen. ohh man, oh yuck.
                        // But for interwiki transclusion it sometimes does.
@@ -844,13 +932,13 @@ class Title {
                        }
                }
 
-               if ( $wgContLang->needsGenderDistinction() &&
-                               MWNamespace::hasGenderDistinction( $this->mNamespace ) ) {
-                       $gender = GenderCache::singleton()->getGenderOf( $this->getText(), __METHOD__ );
-                       return $wgContLang->getGenderNsText( $this->mNamespace, $gender );
+               try {
+                       $formatter = $this->getTitleFormatter();
+                       return $formatter->getNamespaceName( $this->mNamespace, $this->mDbkeyform );
+               } catch ( InvalidArgumentException $ex )  {
+                       wfDebug( __METHOD__ . ': ' . $ex->getMessage() . "\n" );
+                       return false;
                }
-
-               return $wgContLang->getNsText( $this->mNamespace );
        }
 
        /**
@@ -3200,8 +3288,6 @@ class Title {
         * @return Bool true on success
         */
        private function secureAndSplit() {
-               global $wgContLang, $wgLocalInterwikis;
-
                # Initialisation
                $this->mInterwiki = '';
                $this->mFragment = '';
@@ -3209,179 +3295,25 @@ class Title {
 
                $dbkey = $this->mDbkeyform;
 
-               # Strip Unicode bidi override characters.
-               # Sometimes they slip into cut-n-pasted page titles, where the
-               # override chars get included in list displays.
-               $dbkey = preg_replace( '/\xE2\x80[\x8E\x8F\xAA-\xAE]/S', '', $dbkey );
-
-               # Clean up whitespace
-               # Note: use of the /u option on preg_replace here will cause
-               # input with invalid UTF-8 sequences to be nullified out in PHP 5.2.x,
-               # conveniently disabling them.
-               $dbkey = preg_replace( '/[ _\xA0\x{1680}\x{180E}\x{2000}-\x{200A}\x{2028}\x{2029}\x{202F}\x{205F}\x{3000}]+/u', '_', $dbkey );
-               $dbkey = trim( $dbkey, '_' );
-
-               if ( strpos( $dbkey, UTF8_REPLACEMENT ) !== false ) {
-                       # Contained illegal UTF-8 sequences or forbidden Unicode chars.
-                       return false;
-               }
-
-               $this->mDbkeyform = $dbkey;
-
-               # Initial colon indicates main namespace rather than specified default
-               # but should not create invalid {ns,title} pairs such as {0,Project:Foo}
-               if ( $dbkey !== '' && ':' == $dbkey[0] ) {
-                       $this->mNamespace = NS_MAIN;
-                       $dbkey = substr( $dbkey, 1 ); # remove the colon but continue processing
-                       $dbkey = trim( $dbkey, '_' ); # remove any subsequent whitespace
-               }
-
-               if ( $dbkey == '' ) {
-                       return false;
-               }
-
-               # Namespace or interwiki prefix
-               $firstPass = true;
-               $prefixRegexp = "/^(.+?)_*:_*(.*)$/S";
-               do {
-                       $m = array();
-                       if ( preg_match( $prefixRegexp, $dbkey, $m ) ) {
-                               $p = $m[1];
-                               if ( ( $ns = $wgContLang->getNsIndex( $p ) ) !== false ) {
-                                       # Ordinary namespace
-                                       $dbkey = $m[2];
-                                       $this->mNamespace = $ns;
-                                       # For Talk:X pages, check if X has a "namespace" prefix
-                                       if ( $ns == NS_TALK && preg_match( $prefixRegexp, $dbkey, $x ) ) {
-                                               if ( $wgContLang->getNsIndex( $x[1] ) ) {
-                                                       # Disallow Talk:File:x type titles...
-                                                       return false;
-                                               } elseif ( Interwiki::isValidInterwiki( $x[1] ) ) {
-                                                       # Disallow Talk:Interwiki:x type titles...
-                                                       return false;
-                                               }
-                                       }
-                               } elseif ( Interwiki::isValidInterwiki( $p ) ) {
-                                       if ( !$firstPass ) {
-                                               # Can't make a local interwiki link to an interwiki link.
-                                               # That's just crazy!
-                                               return false;
-                                       }
-
-                                       # Interwiki link
-                                       $dbkey = $m[2];
-                                       $this->mInterwiki = $wgContLang->lc( $p );
-
-                                       # Redundant interwiki prefix to the local wiki
-                                       foreach ( $wgLocalInterwikis as $localIW ) {
-                                               if ( 0 == strcasecmp( $this->mInterwiki, $localIW ) ) {
-                                                       if ( $dbkey == '' ) {
-                                                               # Can't have an empty self-link
-                                                               return false;
-                                                       }
-                                                       $this->mInterwiki = '';
-                                                       $firstPass = false;
-                                                       # Do another namespace split...
-                                                       continue 2;
-                                               }
-                                       }
-
-                                       # If there's an initial colon after the interwiki, that also
-                                       # resets the default namespace
-                                       if ( $dbkey !== '' && $dbkey[0] == ':' ) {
-                                               $this->mNamespace = NS_MAIN;
-                                               $dbkey = substr( $dbkey, 1 );
-                                       }
-                               }
-                               # If there's no recognized interwiki or namespace,
-                               # then let the colon expression be part of the title.
-                       }
-                       break;
-               } while ( true );
-
-               $fragment = strstr( $dbkey, '#' );
-               if ( false !== $fragment ) {
-                       $this->setFragment( $fragment );
-                       $dbkey = substr( $dbkey, 0, strlen( $dbkey ) - strlen( $fragment ) );
-                       # remove whitespace again: prevents "Foo_bar_#"
-                       # becoming "Foo_bar_"
-                       $dbkey = preg_replace( '/_*$/', '', $dbkey );
-               }
-
-               # Reject illegal characters.
-               $rxTc = self::getTitleInvalidRegex();
-               if ( preg_match( $rxTc, $dbkey ) ) {
-                       return false;
-               }
-
-               # Pages with "/./" or "/../" appearing in the URLs will often be un-
-               # reachable due to the way web browsers deal with 'relative' URLs.
-               # Also, they conflict with subpage syntax.  Forbid them explicitly.
-               if (
-                       strpos( $dbkey, '.' ) !== false &&
-                       (
-                               $dbkey === '.' || $dbkey === '..' ||
-                               strpos( $dbkey, './' ) === 0 ||
-                               strpos( $dbkey, '../' ) === 0 ||
-                               strpos( $dbkey, '/./' ) !== false ||
-                               strpos( $dbkey, '/../' ) !== false ||
-                               substr( $dbkey, -2 ) == '/.' ||
-                               substr( $dbkey, -3 ) == '/..'
-                       )
-               ) {
-                       return false;
-               }
-
-               # Magic tilde sequences? Nu-uh!
-               if ( strpos( $dbkey, '~~~' ) !== false ) {
-                       return false;
-               }
-
-               # Limit the size of titles to 255 bytes. This is typically the size of the
-               # underlying database field. We make an exception for special pages, which
-               # don't need to be stored in the database, and may edge over 255 bytes due
-               # to subpage syntax for long titles, e.g. [[Special:Block/Long name]]
-               if (
-                       ( $this->mNamespace != NS_SPECIAL && strlen( $dbkey ) > 255 )
-                       || strlen( $dbkey ) > 512
-               ) {
-                       return false;
-               }
-
-               # Normally, all wiki links are forced to have an initial capital letter so [[foo]]
-               # and [[Foo]] point to the same place.  Don't force it for interwikis, since the
-               # other site might be case-sensitive.
-               $this->mUserCaseDBKey = $dbkey;
-               if ( !$this->isExternal() ) {
-                       $dbkey = self::capitalize( $dbkey, $this->mNamespace );
-               }
-
-               # Can't make a link to a namespace alone... "empty" local links can only be
-               # self-links with a fragment identifier.
-               if ( $dbkey == '' && !$this->isExternal() && $this->mNamespace != NS_MAIN ) {
-                       return false;
-               }
-
-               // Allow IPv6 usernames to start with '::' by canonicalizing IPv6 titles.
-               // IP names are not allowed for accounts, and can only be referring to
-               // edits from the IP. Given '::' abbreviations and caps/lowercaps,
-               // there are numerous ways to present the same IP. Having sp:contribs scan
-               // them all is silly and having some show the edits and others not is
-               // inconsistent. Same for talk/userpages. Keep them normalized instead.
-               if ( $this->mNamespace == NS_USER || $this->mNamespace == NS_USER_TALK ) {
-                       $dbkey = IP::sanitizeIP( $dbkey );
-               }
-
-               // Any remaining initial :s are illegal.
-               if ( $dbkey !== '' && ':' == $dbkey[0] ) {
+               try {
+                       // @note: splitTitleString() is a temporary hack to allow MediaWikiTitleCodec to share
+                       //        the parsing code with Title, while avoiding massive refactoring.
+                       // @todo: get rid of secureAndSplit, refactor parsing code.
+                       $parser = $this->getTitleParser();
+                       $parts = $parser->splitTitleString( $dbkey, $this->getDefaultNamespace() );
+               } catch ( MalformedTitleException $ex ) {
                        return false;
                }
 
                # Fill fields
-               $this->mDbkeyform = $dbkey;
-               $this->mUrlform = wfUrlencode( $dbkey );
-
-               $this->mTextform = str_replace( '_', ' ', $dbkey );
+               $this->setFragment( '#' . $parts['fragment'] );
+               $this->mInterwiki = $parts['interwiki'];
+               $this->mNamespace = $parts['namespace'];
+               $this->mUserCaseDBKey = $parts['user_case_dbkey'];
+
+               $this->mDbkeyform = $parts['dbkey'];
+               $this->mUrlform = wfUrlencode( $this->mDbkeyform );
+               $this->mTextform = str_replace( '_', ' ', $this->mDbkeyform );
 
                # We already know that some pages won't be in the database!
                if ( $this->isExternal() || $this->mNamespace == NS_SPECIAL ) {
index ce5d52e..bec0d90 100644 (file)
@@ -34,7 +34,7 @@ class ThrottledError extends ErrorPageError {
 
        public function report() {
                global $wgOut;
-               $wgOut->setStatusCode( 503 );
+               $wgOut->setStatusCode( 429 );
                parent::report();
        }
 }
index 4f626b2..d72ffca 100644 (file)
@@ -75,13 +75,17 @@ class HttpStatus {
                        422 => 'Unprocessable Entity',
                        423 => 'Locked',
                        424 => 'Failed Dependency',
+                       428 => 'Precondition Required',
+                       429 => 'Too Many Requests',
+                       431 => 'Request Header Fields Too Large',
                        500 => 'Internal Server Error',
                        501 => 'Not Implemented',
                        502 => 'Bad Gateway',
                        503 => 'Service Unavailable',
                        504 => 'Gateway Timeout',
                        505 => 'HTTP Version Not Supported',
-                       507 => 'Insufficient Storage'
+                       507 => 'Insufficient Storage',
+                       511 => 'Network Authentication Required',
                );
                return isset( $statusMessage[$code] ) ? $statusMessage[$code] : null;
        }
index b11d6c8..5ee6bd2 100644 (file)
@@ -33,7 +33,7 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
        /* Protected Methods */
 
        /**
-        * @param $context ResourceLoaderContext
+        * @param ResourceLoaderContext $context
         * @return array
         */
        protected function getConfig( $context ) {
@@ -118,66 +118,95 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
        }
 
        /**
-        * Gets registration code for all modules
+        * Get registration code for all modules.
         *
-        * @param $context ResourceLoaderContext object
-        * @return String: JavaScript code for registering all modules with the client loader
+        * @param ResourceLoaderContext $context object
+        * @return string JavaScript code for registering all modules with the client loader
         */
        public static function getModuleRegistrations( ResourceLoaderContext $context ) {
                global $wgCacheEpoch;
                wfProfileIn( __METHOD__ );
 
-               $out = '';
-               $registrations = array();
                $resourceLoader = $context->getResourceLoader();
                $target = $context->getRequest()->getVal( 'target', 'desktop' );
 
-               // Register sources
-               $out .= ResourceLoader::makeLoaderSourcesScript( $resourceLoader->getSources() );
+               $out = '';
+               $registryData = array();
 
-               // Register modules
+               // Get registry data
                foreach ( $resourceLoader->getModuleNames() as $name ) {
                        $module = $resourceLoader->getModule( $name );
                        $moduleTargets = $module->getTargets();
                        if ( !in_array( $target, $moduleTargets ) ) {
                                continue;
                        }
-                       $deps = $module->getDependencies();
-                       $group = $module->getGroup();
-                       $source = $module->getSource();
-                       // Support module loader scripts
-                       $loader = $module->getLoaderScript();
-                       if ( $loader !== false ) {
-                               $version = wfTimestamp( TS_ISO_8601_BASIC,
-                                       $module->getModifiedTime( $context ) );
-                               $out .= ResourceLoader::makeCustomLoaderScript( $name, $version, $deps, $group, $source, $loader );
-                               continue;
-                       }
 
-                       // Automatically register module
                        // getModifiedTime() is supposed to return a UNIX timestamp, but it doesn't always
                        // seem to do that, and custom implementations might forget. Coerce it to TS_UNIX
                        $moduleMtime = wfTimestamp( TS_UNIX, $module->getModifiedTime( $context ) );
                        $mtime = max( $moduleMtime, wfTimestamp( TS_UNIX, $wgCacheEpoch ) );
 
-                       if ( !count( $deps ) && $group === null && $source === 'local' ) {
-                               // Modules without dependencies, a group or a foreign source pass two arguments (name, timestamp) to
-                               // mw.loader.register()
-                               $registrations[] = array( $name, $mtime );
-                       } elseif ( $group === null && $source === 'local' ) {
-                               // Modules with dependencies but no group or foreign source pass three arguments
-                               // (name, timestamp, dependencies) to mw.loader.register()
-                               $registrations[] = array( $name, $mtime, $deps );
-                       } elseif ( $source === 'local' ) {
-                               // Modules with a group but no foreign source pass four arguments (name, timestamp, dependencies, group)
-                               // to mw.loader.register()
-                               $registrations[] = array( $name, $mtime, $deps, $group );
+                       // FIXME: Convert to numbers, wfTimestamp always gives us stings, even for TS_UNIX
+
+                       $registryData[ $name ] = array(
+                               'version' => $mtime,
+                               'dependencies' => $module->getDependencies(),
+                               'group' => $module->getGroup(),
+                               'source' => $module->getSource(),
+                               'loader' => $module->getLoaderScript(),
+                       );
+               }
+
+               // Register sources
+               $out .= ResourceLoader::makeLoaderSourcesScript( $resourceLoader->getSources() );
+
+               // Concatenate module loader scripts and figure out the different call
+               // signatures for mw.loader.register
+               $registrations = array();
+               foreach ( $registryData as $name => $data ) {
+                       if ( $data['loader'] !== false ) {
+                               $out .= ResourceLoader::makeCustomLoaderScript(
+                                       $name,
+                                       wfTimestamp( TS_ISO_8601_BASIC, $data['version'] ),
+                                       $data['dependencies'],
+                                       $data['group'],
+                                       $data['source'],
+                                       $data['loader']
+                               );
+                               continue;
+                       }
+
+                       if ( !count( $data['dependencies'] ) && $data['group'] === null && $data['source'] === 'local' ) {
+                               // Modules without dependencies, a group or a foreign source;
+                               // call mw.loader.register(name, timestamp)
+                               $registrations[] = array( $name, $data['version'] );
+                       } elseif ( $data['group'] === null && $data['source'] === 'local' ) {
+                               // Modules with dependencies but no group or foreign source;
+                               // call mw.loader.register(name, timestamp, dependencies)
+                               $registrations[] = array( $name, $data['version'], $data['dependencies'] );
+                       } elseif ( $data['source'] === 'local' ) {
+                               // Modules with a group but no foreign source;
+                               // call mw.loader.register(name, timestamp, dependencies, group)
+                               $registrations[] = array(
+                                       $name,
+                                       $data['version'],
+                                       $data['dependencies'],
+                                       $data['group']
+                               );
                        } else {
-                               // Modules with a foreign source pass five arguments (name, timestamp, dependencies, group, source)
-                               // to mw.loader.register()
-                               $registrations[] = array( $name, $mtime, $deps, $group, $source );
+                               // Modules with a foreign source;
+                               // call mw.loader.register(name, timestamp, dependencies, group, source)
+                               $registrations[] = array(
+                                       $name,
+                                       $data['version'],
+                                       $data['dependencies'],
+                                       $data['group'],
+                                       $data['source']
+                               );
                        }
                }
+
+               // Register modules
                $out .= ResourceLoader::makeLoaderRegisterScript( $registrations );
 
                wfProfileOut( __METHOD__ );
@@ -199,7 +228,7 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
         * This is a helper for getScript(), but can also be called standalone, such
         * as when generating an AppCache manifest.
         *
-        * @param $context ResourceLoaderContext
+        * @param ResourceLoaderContext $context
         * @return string
         */
        public static function getStartupModulesUrl( ResourceLoaderContext $context ) {
@@ -230,7 +259,7 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
        }
 
        /**
-        * @param $context ResourceLoaderContext
+        * @param ResourceLoaderContext $context
         * @return string
         */
        public function getScript( ResourceLoaderContext $context ) {
@@ -268,7 +297,7 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
        }
 
        /**
-        * @param $context ResourceLoaderContext
+        * @param ResourceLoaderContext $context
         * @return array|mixed
         */
        public function getModifiedTime( ResourceLoaderContext $context ) {
index d01bfd7..734544d 100644 (file)
  */
 class SpecialCategories extends SpecialPage {
 
-       function __construct() {
+       /**
+        * @var PageLinkRenderer
+        */
+       protected $linkRenderer = null;
+
+       public function __construct() {
                parent::__construct( 'Categories' );
+
+               // Since we don't control the constructor parameters, we can't inject services that way.
+               // Instead, we initialize services in the execute() method, and allow them to be overridden
+               // using the initServices() method.
+       }
+
+       /**
+        * Initialize or override the PageLinkRenderer SpecialCategories collaborates with.
+        * Useful mainly for testing.
+        *
+        * @todo: the pager should also be injected, and de-coupled from the rendering logic.
+        *
+        * @param PageLinkRenderer $linkRenderer
+        */
+       public function setPageLinkRenderer(
+               PageLinkRenderer $linkRenderer
+       ) {
+               $this->linkRenderer = $linkRenderer;
+       }
+
+       /**
+        * Initialize any services we'll need (unless it has already been provided via a setter).
+        * This allows for dependency injection even though we don't control object creation.
+        */
+       private function initServices() {
+               if ( !$this->linkRenderer ) {
+                       $lang = $this->getContext()->getLanguage();
+                       $titleFormatter = new MediaWikiTitleCodec( $lang, GenderCache::singleton() );
+                       $this->linkRenderer = new MediaWikiPageLinkRenderer( $titleFormatter );
+               }
        }
 
-       function execute( $par ) {
+       public function execute( $par ) {
+               $this->initServices();
+
                $this->setHeaders();
                $this->outputHeader();
                $this->getOutput()->allowClickjacking();
 
                $from = $this->getRequest()->getText( 'from', $par );
 
-               $cap = new CategoryPager( $this->getContext(), $from );
+               $cap = new CategoryPager( $this->getContext(), $from, $this->linkRenderer );
                $cap->doQuery();
 
                $this->getOutput()->addHTML(
@@ -63,7 +100,19 @@ class SpecialCategories extends SpecialPage {
  * @ingroup SpecialPage Pager
  */
 class CategoryPager extends AlphabeticPager {
-       function __construct( IContextSource $context, $from ) {
+
+       /**
+        * @var PageLinkRenderer
+        */
+       protected $linkRenderer;
+
+       /**
+        * @param IContextSource $context
+        * @param string $from
+        * @param PageLinkRenderer $linkRenderer
+        */
+       public function __construct( IContextSource $context, $from, PageLinkRenderer $linkRenderer
+       ) {
                parent::__construct( $context );
                $from = str_replace( ' ', '_', $from );
                if ( $from !== '' ) {
@@ -71,6 +120,8 @@ class CategoryPager extends AlphabeticPager {
                        $this->setOffset( $from );
                        $this->setIncludeOffset( true );
                }
+
+               $this->linkRenderer = $linkRenderer;
        }
 
        function getQueryInfo() {
@@ -120,11 +171,12 @@ class CategoryPager extends AlphabeticPager {
        }
 
        function formatRow( $result ) {
-               $title = Title::makeTitle( NS_CATEGORY, $result->cat_title );
-               $titleText = Linker::link( $title, htmlspecialchars( $title->getText() ) );
-               $count = $this->msg( 'nmembers' )->numParams( $result->cat_pages )->escaped();
+               $title = new TitleValue( NS_CATEGORY, $result->cat_title );
+               $text = $title->getText();
+               $link = $this->linkRenderer->renderHtmlLink( $title, $text );
 
-               return Xml::tags( 'li', null, $this->getLanguage()->specialList( $titleText, $count ) ) . "\n";
+               $count = $this->msg( 'nmembers' )->numParams( $result->cat_pages )->escaped();
+               return Html::rawElement( 'li', null, $this->getLanguage()->specialList( $link, $count ) ) . "\n";
        }
 
        public function getStartForm( $from ) {
index 0b5b825..5995347 100644 (file)
  * @ingroup SpecialPage
  */
 class LinkSearchPage extends QueryPage {
+
+       /**
+        * @var PageLinkRenderer
+        */
+       protected $linkRenderer = null;
+
        function setParams( $params ) {
                $this->mQuery = $params['query'];
                $this->mNs = $params['namespace'];
@@ -35,6 +41,36 @@ class LinkSearchPage extends QueryPage {
 
        function __construct( $name = 'LinkSearch' ) {
                parent::__construct( $name );
+
+               // Since we don't control the constructor parameters, we can't inject services that way.
+               // Instead, we initialize services in the execute() method, and allow them to be overridden
+               // using the setServices() method.
+       }
+
+       /**
+        * Initialize or override the PageLinkRenderer LinkSearchPage collaborates with.
+        * Useful mainly for testing.
+        *
+        * @todo: query logic and rendering logic should be split and also injected
+        *
+        * @param PageLinkRenderer $linkRenderer
+        */
+       public function setPageLinkRenderer(
+               PageLinkRenderer $linkRenderer
+       ) {
+               $this->linkRenderer = $linkRenderer;
+       }
+
+       /**
+        * Initialize any services we'll need (unless it has already been provided via a setter).
+        * This allows for dependency injection even though we don't control object creation.
+        */
+       private function initServices() {
+               if ( !$this->linkRenderer ) {
+                       $lang = $this->getContext()->getLanguage();
+                       $titleFormatter = new MediaWikiTitleCodec( $lang, GenderCache::singleton() );
+                       $this->linkRenderer = new MediaWikiPageLinkRenderer( $titleFormatter );
+               }
        }
 
        function isCacheable() {
@@ -44,6 +80,8 @@ class LinkSearchPage extends QueryPage {
        function execute( $par ) {
                global $wgUrlProtocols, $wgMiserMode, $wgScript;
 
+               $this->initServices();
+
                $this->setHeaders();
                $this->outputHeader();
 
@@ -219,9 +257,10 @@ class LinkSearchPage extends QueryPage {
         * @return string
         */
        function formatResult( $skin, $result ) {
-               $title = Title::makeTitle( $result->namespace, $result->title );
+               $title = new TitleValue( (int)$result->namespace, $result->title );
+               $pageLink = $this->linkRenderer->renderHtmlLink( $title );
+
                $url = $result->url;
-               $pageLink = Linker::linkKnown( $title );
                $urlLink = Linker::makeExternalLink( $url, $url );
 
                return $this->msg( 'linksearch-line' )->rawParams( $urlLink, $pageLink )->escaped();
diff --git a/includes/title/MalformedTitleException.php b/includes/title/MalformedTitleException.php
new file mode 100644 (file)
index 0000000..4b14a19
--- /dev/null
@@ -0,0 +1,33 @@
+<?php
+/**
+ * Representation of a page title within %MediaWiki.
+ *
+ * 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
+ * @license GPL 2+
+ * @author Daniel Kinzler
+ */
+
+/**
+ * MalformedTitleException is thrown when a TitleParser is unable to parse a title string.
+ *
+ * @license GPL 2+
+ * @author Daniel Kinzler
+ */
+class MalformedTitleException extends Exception {
+
+}
diff --git a/includes/title/MediaWikiPageLinkRenderer.php b/includes/title/MediaWikiPageLinkRenderer.php
new file mode 100644 (file)
index 0000000..62ed4c2
--- /dev/null
@@ -0,0 +1,131 @@
+<?php
+/**
+ * A service for generating links from page titles
+ *
+ * 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
+ * @license GPL 2+
+ * @author Daniel Kinzler
+ */
+
+/**
+ * A service for generating links from page titles.
+ *
+ * @see https://www.mediawiki.org/wiki/Requests_for_comment/TitleValue
+ */
+class MediaWikiPageLinkRenderer implements PageLinkRenderer {
+
+       /**
+        * @var TitleFormatter
+        */
+       protected $formatter;
+
+       /**
+        * @var string
+        */
+       protected $baseUrl;
+
+       /**
+        * @note $formatter and $baseUrl are currently not used for generating links,
+        * since we still rely on the Linker class to generate the actual HTML.
+        * Once this is reversed so that  Linker becomes a legacy interface to
+        * HtmlPageLinkRenderer, we will be using them, so it seems prudent to
+        * already declare the dependency and inject them.
+        *
+        * @param TitleFormatter $formatter formatter for generating the target title string
+        * @param string $baseUrl (currently unused, pending refactoring of Linker).
+        *        Defaults to $wgArticlePath.
+        */
+       public function __construct( TitleFormatter $formatter, $baseUrl = null ) {
+               if ( $baseUrl === null ) {
+                       $baseUrl = $GLOBALS['wgArticlePath'];
+               }
+
+               $this->formatter = $formatter;
+               $this->baseUrl = $baseUrl;
+       }
+
+       /**
+        * Returns the (partial) URL for the given page (including any section identifier).
+        *
+        * @param TitleValue $page The link's target
+        * @param array $params any additional URL parameters.
+        *
+        * @return string
+        */
+       public function getPageUrl( TitleValue $page, $params = array() ) {
+               //TODO: move the code from Linker::linkUrl here!
+               //The below is just a rough estimation!
+
+               $name = $this->formatter->getPrefixedText( $page );
+               $name = str_replace( ' ', '_', $name );
+               $name = wfUrlencode( $name );
+
+               $url = $this->baseUrl . $name;
+
+               if ( $params ) {
+                       $separator = ( strpos( $url, '?' ) ) ? '&' : '?';
+                       $url .= $separator . wfArrayToCgi( $params );
+               }
+
+               $fragment = $page->getFragment();
+               if ( $fragment !== '' ) {
+                       $url = $url . '#' . wfUrlencode( $fragment );
+               }
+
+               return $url;
+       }
+
+       /**
+        * Returns an HTML link to the given page, using the given surface text.
+        *
+        * @param TitleValue $page The link's target
+        * @param string $text The link's surface text (will be derived from $page if not given).
+        *
+        * @return string
+        */
+       public function renderHtmlLink( TitleValue $page, $text = null ) {
+               if ( $text === null ) {
+                       $text = $this->formatter->getFullText( $page );
+               }
+
+               // TODO: move the logic implemented by Linker here,
+               // using $this->formatter and $this->baseUrl, and
+               // re-implement Linker to use a HtmlPageLinkRenderer.
+               $title = Title::newFromTitleValue( $page );
+               $link = Linker::link( $title, htmlspecialchars( $text ) );
+               return $link;
+       }
+
+       /**
+        * Returns a wikitext link to the given page, using the given surface text.
+        *
+        * @param TitleValue $page The link's target
+        * @param string $text The link's surface text (will be derived from $page if not given).
+        *
+        * @return string
+        */
+       public function renderWikitextLink( TitleValue $page, $text = null ) {
+               if ( $text === null ) {
+                       $text = $this->formatter->getFullText( $page );
+               }
+
+               $name = $this->formatter->getFullText( $page );
+
+               return '[[:' . $name . '|' . wfEscapeWikiText( $text ) . ']]';
+       }
+}
diff --git a/includes/title/MediaWikiTitleCodec.php b/includes/title/MediaWikiTitleCodec.php
new file mode 100644 (file)
index 0000000..878f95d
--- /dev/null
@@ -0,0 +1,391 @@
+<?php
+/**
+ * A codec for %MediaWiki page titles.
+ *
+ * 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
+ * @license GPL 2+
+ * @author Daniel Kinzler
+ */
+
+/**
+ * A codec for %MediaWiki page titles.
+ *
+ * @note: Normalization and validation is applied while parsing, not when formatting.
+ * It's possible to construct a TitleValue with an invalid title, and use MediaWikiTitleCodec
+ * to generate an (invalid) title string from it. TitleValues should be constructed only
+ * via parseTitle() or from a (semi)trusted source, such as the database.
+ *
+ * @see https://www.mediawiki.org/wiki/Requests_for_comment/TitleValue
+ */
+class MediaWikiTitleCodec implements TitleFormatter, TitleParser {
+
+       /**
+        * @var Language
+        */
+       protected $language;
+
+       /**
+        * @var GenderCache
+        */
+       protected $genderCache;
+
+       /**
+        * @var string[]
+        */
+       protected $localInterwikis;
+
+       /**
+        * @param Language $language the language object to use for localizing namespace names.
+        * @param GenderCache $genderCache the gender cache for generating gendered namespace names
+        * @param string[]|string $localInterwikis
+        */
+       public function __construct( Language $language, GenderCache $genderCache, $localInterwikis = array() ) {
+               $this->language = $language;
+               $this->genderCache = $genderCache;
+               $this->localInterwikis = (array)$localInterwikis;
+       }
+
+       /**
+        * @see TitleFormatter::getNamespaceName()
+        *
+        * @param int $namespace
+        * @param string $text
+        *
+        * @throws InvalidArgumentException if the namespace is invalid
+        * @return String
+        */
+       public function getNamespaceName( $namespace, $text ) {
+               if ( $this->language->needsGenderDistinction() &&
+                       MWNamespace::hasGenderDistinction( $namespace ) ) {
+
+                       //NOTE: we are assuming here that the title text is a user name!
+                       $gender = $this->genderCache->getGenderOf( $text, __METHOD__ );
+                       $name = $this->language->getGenderNsText( $namespace, $gender );
+               } else {
+                       $name = $this->language->getNsText( $namespace );
+               }
+
+               if ( $name === false ) {
+                       throw new InvalidArgumentException( 'Unknown namespace ID: ' . $namespace );
+               }
+
+               return $name;
+       }
+
+       /**
+        * @see TitleFormatter::formatTitle()
+        *
+        * @param int|bool $namespace The namespace ID (or false, if the namespace should be ignored)
+        * @param string $text The page title. Should be valid. Only minimal normalization is applied.
+        *        Underscores will be replaced.
+        * @param string $fragment The fragment name (may be empty).
+        *
+        * @throws InvalidArgumentException if the namespace is invalid
+        * @return string
+        */
+       public function formatTitle( $namespace, $text, $fragment = '' ) {
+               if ( $namespace !== false ) {
+                       $namespace = $this->getNamespaceName( $namespace, $text );
+
+                       if ( $namespace !== '' ) {
+                               $text = $namespace . ':' . $text;
+                       }
+               }
+
+               if ( $fragment !== '' ) {
+                       $text = $text . '#' . $fragment;
+               }
+
+               $text = str_replace( '_', ' ', $text );
+
+               return $text;
+       }
+
+       /**
+        * Parses the given text and constructs a TitleValue. Normalization
+        * is applied according to the rules appropriate for the form specified by $form.
+        *
+        * @param string $text the text to parse
+        * @param int $defaultNamespace namespace to assume per default (usually NS_MAIN)
+        *
+        * @throws MalformedTitleException
+        * @return TitleValue
+        */
+       public function parseTitle( $text, $defaultNamespace ) {
+               // NOTE: this is an ugly cludge that allows this class to share the
+               // code for parsing with the old Title class. The parser code should
+               // be refactored to avoid this.
+               $parts = $this->splitTitleString( $text, $defaultNamespace );
+
+               // Interwiki links are not supported by TitleValue
+               if ( $parts['interwiki'] !== '' ) {
+                       throw new MalformedTitleException( 'Title must not contain an interwiki prefix: ' . $text );
+               }
+
+               // Relative fragment links are not supported by TitleValue
+               if ( $parts['dbkey'] === '' ) {
+                       throw new MalformedTitleException( 'Title must not be empty: ' . $text );
+               }
+
+               return new TitleValue( $parts['namespace'], $parts['dbkey'], $parts['fragment'] );
+       }
+
+       /**
+        * @see TitleFormatter::getText()
+        *
+        * @param TitleValue $title
+        *
+        * @return string $title->getText()
+        */
+       public function getText( TitleValue $title ) {
+               return $this->formatTitle( false, $title->getText(), '' );
+       }
+
+       /**
+        * @see TitleFormatter::getText()
+        *
+        * @param TitleValue $title
+        *
+        * @return string
+        */
+       public function getPrefixedText( TitleValue $title ) {
+               return $this->formatTitle( $title->getNamespace(), $title->getText(), '' );
+       }
+
+       /**
+        * @see TitleFormatter::getText()
+        *
+        * @param TitleValue $title
+        *
+        * @return string
+        */
+       public function getFullText( TitleValue $title ) {
+               return $this->formatTitle( $title->getNamespace(), $title->getText(), $title->getFragment() );
+       }
+
+       /**
+        * Normalizes and splits a title string.
+        *
+        * This function removes illegal characters, splits off the interwiki and
+        * namespace prefixes, sets the other forms, and canonicalizes
+        * everything.
+        *
+        * @todo: this method is only exposed as a temporary measure to ease refactoring.
+        * It was copied with minimal changes from Title::secureAndSplit().
+        *
+        * @todo: This method should be split up and an appropriate interface
+        * defined for use by the Title class.
+        *
+        * @param string $text
+        * @param int $defaultNamespace
+        *
+        * @throws MalformedTitleException If $text is not a valid title string.
+        * @return array A mapp with the fields 'interwiki', 'fragment', 'namespace',
+        *         'user_case_dbkey', and 'dbkey'.
+        */
+       public function splitTitleString( $text, $defaultNamespace = NS_MAIN ) {
+               $dbkey = str_replace( ' ', '_', $text );
+
+               # Initialisation
+               $parts = array(
+                       'interwiki' => '',
+                       'fragment' => '',
+                       'namespace' => $defaultNamespace,
+                       'dbkey' => $dbkey,
+                       'user_case_dbkey' => $dbkey,
+               );
+
+               # Strip Unicode bidi override characters.
+               # Sometimes they slip into cut-n-pasted page titles, where the
+               # override chars get included in list displays.
+               $dbkey = preg_replace( '/\xE2\x80[\x8E\x8F\xAA-\xAE]/S', '', $dbkey );
+
+               # Clean up whitespace
+               # Note: use of the /u option on preg_replace here will cause
+               # input with invalid UTF-8 sequences to be nullified out in PHP 5.2.x,
+               # conveniently disabling them.
+               $dbkey = preg_replace( '/[ _\xA0\x{1680}\x{180E}\x{2000}-\x{200A}\x{2028}\x{2029}\x{202F}\x{205F}\x{3000}]+/u', '_', $dbkey );
+               $dbkey = trim( $dbkey, '_' );
+
+               if ( strpos( $dbkey, UTF8_REPLACEMENT ) !== false ) {
+                       # Contained illegal UTF-8 sequences or forbidden Unicode chars.
+                       throw new MalformedTitleException( 'Bad UTF-8 sequences found in title: ' . $text );
+               }
+
+               $parts['dbkey'] = $dbkey;
+
+               # Initial colon indicates main namespace rather than specified default
+               # but should not create invalid {ns,title} pairs such as {0,Project:Foo}
+               if ( $dbkey !== '' && ':' == $dbkey[0] ) {
+                       $parts['namespace'] = NS_MAIN;
+                       $dbkey = substr( $dbkey, 1 ); # remove the colon but continue processing
+                       $dbkey = trim( $dbkey, '_' ); # remove any subsequent whitespace
+               }
+
+               if ( $dbkey == '' ) {
+                       throw new MalformedTitleException( 'Empty title: ' . $text );
+               }
+
+               # Namespace or interwiki prefix
+               $firstPass = true;
+               $prefixRegexp = "/^(.+?)_*:_*(.*)$/S";
+               do {
+                       $m = array();
+                       if ( preg_match( $prefixRegexp, $dbkey, $m ) ) {
+                               $p = $m[1];
+                               if ( ( $ns = $this->language->getNsIndex( $p ) ) !== false ) {
+                                       # Ordinary namespace
+                                       $dbkey = $m[2];
+                                       $parts['namespace'] = $ns;
+                                       # For Talk:X pages, check if X has a "namespace" prefix
+                                       if ( $ns == NS_TALK && preg_match( $prefixRegexp, $dbkey, $x ) ) {
+                                               if ( $this->language->getNsIndex( $x[1] ) ) {
+                                                       # Disallow Talk:File:x type titles...
+                                                       throw new MalformedTitleException( 'Bad namespace prefix: ' . $text );
+                                               } elseif ( Interwiki::isValidInterwiki( $x[1] ) ) {
+                                                       //TODO: get rid of global state!
+                                                       # Disallow Talk:Interwiki:x type titles...
+                                                       throw new MalformedTitleException( 'Interwiki prefix found in title: ' . $text );
+                                               }
+                                       }
+                               } elseif ( Interwiki::isValidInterwiki( $p ) ) {
+                                       if ( !$firstPass ) {
+                                               //TODO: get rid of global state!
+                                               # Can't make a local interwiki link to an interwiki link.
+                                               # That's just crazy!
+                                               throw new MalformedTitleException( 'Interwiki prefix found in title: ' . $text );
+                                       }
+
+                                       # Interwiki link
+                                       $dbkey = $m[2];
+                                       $parts['interwiki'] = $this->language->lc( $p );
+
+                                       # Redundant interwiki prefix to the local wiki
+                                       foreach ( $this->localInterwikis as $localIW ) {
+                                               if ( 0 == strcasecmp( $parts['interwiki'], $localIW ) ) {
+                                                       if ( $dbkey == '' ) {
+                                                               # Can't have an empty self-link
+                                                               throw new MalformedTitleException( 'Local interwiki with empty title: ' . $text );
+                                                       }
+                                                       $parts['interwiki'] = '';
+                                                       $firstPass = false;
+
+                                                       # Do another namespace split...
+                                                       continue 2;
+                                               }
+                                       }
+
+                                       # If there's an initial colon after the interwiki, that also
+                                       # resets the default namespace
+                                       if ( $dbkey !== '' && $dbkey[0] == ':' ) {
+                                               $parts['namespace'] = NS_MAIN;
+                                               $dbkey = substr( $dbkey, 1 );
+                                       }
+                               }
+                               # If there's no recognized interwiki or namespace,
+                               # then let the colon expression be part of the title.
+                       }
+                       break;
+               } while ( true );
+
+               $fragment = strstr( $dbkey, '#' );
+               if ( false !== $fragment ) {
+                       $parts['fragment'] = str_replace( '_', ' ', substr( $fragment, 1 ) );
+                       $dbkey = substr( $dbkey, 0, strlen( $dbkey ) - strlen( $fragment ) );
+                       # remove whitespace again: prevents "Foo_bar_#"
+                       # becoming "Foo_bar_"
+                       $dbkey = preg_replace( '/_*$/', '', $dbkey );
+               }
+
+               # Reject illegal characters.
+               $rxTc = Title::getTitleInvalidRegex();
+               if ( preg_match( $rxTc, $dbkey ) ) {
+                       throw new MalformedTitleException( 'Illegal characters found in title: ' . $text );
+               }
+
+               # Pages with "/./" or "/../" appearing in the URLs will often be un-
+               # reachable due to the way web browsers deal with 'relative' URLs.
+               # Also, they conflict with subpage syntax.  Forbid them explicitly.
+               if (
+                       strpos( $dbkey, '.' ) !== false &&
+                       (
+                               $dbkey === '.' || $dbkey === '..' ||
+                               strpos( $dbkey, './' ) === 0 ||
+                               strpos( $dbkey, '../' ) === 0 ||
+                               strpos( $dbkey, '/./' ) !== false ||
+                               strpos( $dbkey, '/../' ) !== false ||
+                               substr( $dbkey, -2 ) == '/.' ||
+                               substr( $dbkey, -3 ) == '/..'
+                       )
+               ) {
+                       throw new MalformedTitleException( 'Bad title: ' . $text );
+               }
+
+               # Magic tilde sequences? Nu-uh!
+               if ( strpos( $dbkey, '~~~' ) !== false ) {
+                       throw new MalformedTitleException( 'Bad title: ' . $text );
+               }
+
+               # Limit the size of titles to 255 bytes. This is typically the size of the
+               # underlying database field. We make an exception for special pages, which
+               # don't need to be stored in the database, and may edge over 255 bytes due
+               # to subpage syntax for long titles, e.g. [[Special:Block/Long name]]
+               if (
+                       ( $parts['namespace'] != NS_SPECIAL && strlen( $dbkey ) > 255 )
+                       || strlen( $dbkey ) > 512
+               ) {
+                       throw new MalformedTitleException( 'Title too long: ' . substr( $dbkey, 0, 255 ) . '...' );
+               }
+
+               # Normally, all wiki links are forced to have an initial capital letter so [[foo]]
+               # and [[Foo]] point to the same place.  Don't force it for interwikis, since the
+               # other site might be case-sensitive.
+               $parts['user_case_dbkey'] = $dbkey;
+               if ( $parts['interwiki'] === '' ) {
+                       $dbkey = Title::capitalize( $dbkey, $parts['namespace'] );
+               }
+
+               # Can't make a link to a namespace alone... "empty" local links can only be
+               # self-links with a fragment identifier.
+               if ( $dbkey == '' && $parts['interwiki'] === '' ) {
+                       if ( $parts['namespace'] != NS_MAIN ) {
+                               throw new MalformedTitleException( 'Empty title: ' . $text );
+                       }
+               }
+
+               // Allow IPv6 usernames to start with '::' by canonicalizing IPv6 titles.
+               // IP names are not allowed for accounts, and can only be referring to
+               // edits from the IP. Given '::' abbreviations and caps/lowercaps,
+               // there are numerous ways to present the same IP. Having sp:contribs scan
+               // them all is silly and having some show the edits and others not is
+               // inconsistent. Same for talk/userpages. Keep them normalized instead.
+               if ( $parts['namespace'] == NS_USER || $parts['namespace'] == NS_USER_TALK ) {
+                       $dbkey = IP::sanitizeIP( $dbkey );
+               }
+
+               // Any remaining initial :s are illegal.
+               if ( $dbkey !== '' && ':' == $dbkey[0] ) {
+                       throw new MalformedTitleException( 'Title must not start with a colon: ' . $text );
+               }
+
+               # Fill fields
+               $parts['dbkey'] = $dbkey;
+               return $parts;
+       }
+
+}
diff --git a/includes/title/PageLinkRenderer.php b/includes/title/PageLinkRenderer.php
new file mode 100644 (file)
index 0000000..240a961
--- /dev/null
@@ -0,0 +1,69 @@
+<?php
+/**
+ * Represents a link rendering service for %MediaWiki.
+ *
+ * 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
+ * @license GPL 2+
+ * @author Daniel Kinzler
+ */
+
+/**
+ * Represents a link rendering service for %MediaWiki.
+ *
+ * This is designed to encapsulate the knowledge about how page titles map to
+ * URLs, and how links are encoded in a given output format.
+ *
+ * @see https://www.mediawiki.org/wiki/Requests_for_comment/TitleValue
+ */
+interface PageLinkRenderer {
+
+       /**
+        * Returns the URL for the given page.
+        *
+        * @todo expand this to cover the functionality of Linker::linkUrl
+        *
+        * @param TitleValue $page The link's target
+        * @param array $params any additional URL parameters.
+        *
+        * @return string
+        */
+       public function getPageUrl( TitleValue $page, $params = array() );
+
+       /**
+        * Returns an HTML link to the given page, using the given surface text.
+        *
+        * @todo expand this to cover the functionality of Linker::link
+        *
+        * @param TitleValue $page The link's target
+        * @param string $text The link's surface text (will be derived from $page if not given).
+        *
+        * @return string
+        */
+       public function renderHtmlLink( TitleValue $page, $text = null );
+
+       /**
+        * Returns a wikitext link to the given page, using the given surface text.
+        *
+        * @param TitleValue $page The link's target
+        * @param string $text The link's surface text (will be derived from $page if not given).
+        *
+        * @return string
+        */
+       public function renderWikitextLink( TitleValue $page, $text = null );
+
+}
diff --git a/includes/title/TitleFormatter.php b/includes/title/TitleFormatter.php
new file mode 100644 (file)
index 0000000..f3822b6
--- /dev/null
@@ -0,0 +1,91 @@
+<?php
+/**
+ * A title formatter service for %MediaWiki.
+ *
+ * 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
+ * @license GPL 2+
+ * @author Daniel Kinzler
+ */
+
+/**
+ * A title formatter service for MediaWiki.
+ *
+ * This is designed to encapsulate knowledge about conventions for the title
+ * forms to be used in the database, in urls, in wikitext, etc.
+ *
+ * @see https://www.mediawiki.org/wiki/Requests_for_comment/TitleValue
+ */
+interface TitleFormatter {
+
+       /**
+        * Returns the title formatted for display.
+        * Per default, this includes the namespace but not the fragment.
+        *
+        * @note Normalization is applied if $title is not in TitleValue::TITLE_FORM.
+        *
+        * @param int|bool $namespace The namespace ID (or false, if the namespace should be ignored)
+        * @param string $text The page title
+        * @param string $fragment The fragment name (may be empty).
+        *
+        * @return string
+        */
+       public function formatTitle( $namespace, $text, $fragment = '' );
+
+       /**
+        * Returns the title text formatted for display, without namespace of fragment.
+        *
+        * @note: Only minimal normalization is applied. Consider using TitleValue::getText() directly.
+        *
+        * @param TitleValue $title the title to format
+        *
+        * @return string
+        */
+       public function getText( TitleValue $title );
+
+       /**
+        * Returns the title formatted for display, including the namespace name.
+        *
+        * @param TitleValue $title the title to format
+        *
+        * @return string
+        */
+       public function getPrefixedText( TitleValue $title );
+
+       /**
+        * Returns the title formatted for display, with namespace and fragment.
+        *
+        * @param TitleValue $title the title to format
+        *
+        * @return string
+        */
+       public function getFullText( TitleValue $title );
+
+       /**
+        * Returns the name of the namespace for the given title.
+        *
+        * @note This must take into account gender sensitive namespace names.
+        * @todo Move this to a separate interface
+        *
+        * @param int $namespace
+        * @param string $text
+        *
+        * @throws InvalidArgumentException
+        * @return String
+        */
+       public function getNamespaceName( $namespace, $text );
+}
diff --git a/includes/title/TitleParser.php b/includes/title/TitleParser.php
new file mode 100644 (file)
index 0000000..b3ef479
--- /dev/null
@@ -0,0 +1,48 @@
+<?php
+/**
+ * A title parser service for %MediaWiki.
+ *
+ * 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
+ * @license GPL 2+
+ * @author Daniel Kinzler
+ */
+
+/**
+ * A title parser service for %MediaWiki.
+ *
+ * This is designed to encapsulate knowledge about conventions for the title
+ * forms to be used in the database, in urls, in wikitext, etc.
+ *
+ * @see https://www.mediawiki.org/wiki/Requests_for_comment/TitleValue
+ */
+interface TitleParser {
+
+       /**
+        * Parses the given text and constructs a TitleValue. Normalization
+        * is applied according to the rules appropriate for the form specified by $form.
+        *
+        * @note this only parses local page links, interwiki-prefixes etc. are not considered!
+        *
+        * @param string $text the text to parse
+        * @param int $defaultNamespace namespace to assume per default (usually NS_MAIN)
+        *
+        * @throws MalformedTitleException If the text is not a valid representation of a page title.
+        * @return TitleValue
+        */
+       public function parseTitle( $text, $defaultNamespace );
+}
diff --git a/includes/title/TitleValue.php b/includes/title/TitleValue.php
new file mode 100644 (file)
index 0000000..06e9058
--- /dev/null
@@ -0,0 +1,162 @@
+<?php
+/**
+ * Representation of a page title within %MediaWiki.
+ *
+ * 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
+ * @license GPL 2+
+ * @author Daniel Kinzler
+ */
+
+/**
+ * Represents a page (or page fragment) title within %MediaWiki.
+ *
+ * @note In contrast to Title, this is designed to be a plain value object. That is,
+ * it is immutable, does not use global state, and causes no side effects.
+ *
+ * @note TitleValue represents the title of a local page (or fragment of a page).
+ * It does not represent a link, and does not support interwiki prefixes etc.
+ *
+ * @see https://www.mediawiki.org/wiki/Requests_for_comment/TitleValue
+ */
+class TitleValue {
+
+       /**
+        * @var int
+        */
+       protected $namespace;
+
+       /**
+        * @var string
+        */
+       protected $dbkey;
+
+       /**
+        * @var string
+        */
+       protected $fragment;
+
+       /**
+        * Constructs a TitleValue.
+        *
+        * @note: TitleValue expects a valid DB key; typically, a TitleValue is constructed either
+        * from a database entry, or by a TitleParser. We could apply "some" normalization here,
+        * such as substituting spaces by underscores, but that would encourage the use of
+        * un-normalized text when constructing TitleValues. For constructing a TitleValue from
+        * user input or external sources, use a TitleParser.
+        *
+        * @param $namespace int The namespace ID. This is not validated.
+        * @param $dbkey string The page title in valid DBkey form. No normalization is applied.
+        * @param $fragment string The fragment title. Use '' to represent the whole page.
+        *        No validation or normalization is applied.
+        *
+        * @throws InvalidArgumentException
+        */
+       public function __construct( $namespace, $dbkey, $fragment = '' ) {
+               if ( !is_int( $namespace ) ) {
+                       throw new InvalidArgumentException( '$namespace must be an integer' );
+               }
+
+               if ( !is_string( $dbkey ) ) {
+                       throw new InvalidArgumentException( '$dbkey must be a string' );
+               }
+
+               // Sanity check, no full validation or normalization applied here!
+               if ( preg_match( '/^_|[ \r\n\t]|_$/', $dbkey ) ) {
+                       throw new InvalidArgumentException( '$dbkey must be a valid DB key: ' . $dbkey );
+               }
+
+               if ( !is_string( $fragment ) ) {
+                       throw new InvalidArgumentException( '$fragment must be a string' );
+               }
+
+               if ( $dbkey === '' ) {
+                       throw new InvalidArgumentException( '$dbkey must not be empty' );
+               }
+
+               $this->namespace = $namespace;
+               $this->dbkey = $dbkey;
+               $this->fragment = $fragment;
+       }
+
+       /**
+        * @return int
+        */
+       public function getNamespace() {
+               return $this->namespace;
+       }
+
+       /**
+        * @return string
+        */
+       public function getFragment() {
+               return $this->fragment;
+       }
+
+       /**
+        * Returns the title's DB key, as supplied to the constructor,
+        * without namespace prefix or fragment.
+        *
+        * @return string
+        */
+       public function getDBkey() {
+               return $this->dbkey;
+       }
+
+       /**
+        * Returns the title in text form,
+        * without namespace prefix or fragment.
+        *
+        * This is computed from the DB key by replacing any underscores with spaces.
+        *
+        * @note: To get a title string that includes the namespace and/or fragment,
+        *        use a TitleFormatter.
+        *
+        * @return string
+        */
+       public function getText() {
+               return str_replace( '_', ' ', $this->getDBkey() );
+       }
+
+       /**
+        * Creates a new TitleValue for a different fragment of the same page.
+        *
+        * @param string $fragment The fragment name, or "" for the entire page.
+        *
+        * @return TitleValue
+        */
+       public function createFragmentTitle( $fragment ) {
+               return new TitleValue( $this->namespace, $this->dbkey, $fragment );
+       }
+
+       /**
+        * Returns a string representation of the title, for logging. This is purely informative
+        * and must not be used programmatically. Use the appropriate TitleFormatter to generate
+        * the correct string representation for a given use.
+        *
+        * @return string
+        */
+       public function __toString() {
+               $name = $this->namespace . ':' . $this->dbkey;
+
+               if ( $this->fragment !== '' )  {
+                       $name .= '#' . $this->fragment;
+               }
+
+               return  $name;
+       }
+}
index fa6e697..9c46ab1 100644 (file)
@@ -52,6 +52,7 @@
        'ar' => 'العربية',       # Arabic
        'arc' => 'ܐܪܡܝܐ',  # Aramaic
        'arn' => 'mapudungun',  # Mapuche, Mapudungu, Araucanian (Araucano)
+       'arq' => 'جزائري', # Algerian Spoken Arabic
        'ary' => 'Maġribi',    # Moroccan Spoken Arabic
        'arz' => 'مصرى',    # Egyptian Spoken Arabic
        'as' => 'অসমীয়া',        # Assamese
        'hil' => 'Ilonggo',     # Hiligaynon
        'ho' => 'Hiri Motu',    # Hiri Motu
        'hr' => 'hrvatski',             # Croatian
+       'hrx' => 'Hunsrik', # Riograndenser Hunsrückisch
        'hsb' => 'hornjoserbsce',       # Upper Sorbian
        'ht' => 'Kreyòl ayisyen',              # Haitian Creole French
        'hu' => 'magyar',               # Hungarian
diff --git a/languages/messages/MessagesArq.php b/languages/messages/MessagesArq.php
new file mode 100644 (file)
index 0000000..69dad23
--- /dev/null
@@ -0,0 +1,760 @@
+<?php
+/** Algerian Spoken Arabic (جزائري)
+ *
+ * See MessagesQqq.php for message documentation incl. usage of parameters
+ * To improve a translation please visit http://translatewiki.net
+ *
+ * @ingroup Language
+ * @file
+ *
+ * @author Bachounda
+ * @author Oldstoneage
+ */
+
+$fallback = 'ar';
+
+$messages = array(
+# User preference toggles
+'tog-underline' => 'تسطار الوصيلات:',
+'tog-hideminor' => 'خبي الكتيبات الصغيرة في التبديلات التوالا',
+'tog-hidepatrolled' => 'خبي الكتيبات المعسوسه في التبديلات التوالا',
+'tog-newpageshidepatrolled' => 'خبي الباجات المعسوسه اللي في ليستت الباجات الجدد',
+'tog-extendwatchlist' => 'دلي الليسته نتاع التبيعه باش تعرض كامل التبديلات و مشي برك التوالا',
+'tog-usenewrc' => 'اجمع الـتبدالات بل صفحات فل تبدالات الـتالية و الـليستة تاع الـمراقبة (تستحق الـ JavaScript)',
+'tog-numberheadings' => 'رقم اليا عناوين السكسيو',
+'tog-showtoolbar' => 'تبيان باره الكتيبات (يلزمها جافاسكريبت)',
+'tog-editondblclick' => 'كتيبت الباجات بالزوج دركات (يلزمها جافاسكربت)',
+'tog-editsectiononrightclick' => 'اكتيفي كتيبت السكسيوات بالدريك باليمين على العناوين نتاعهم(يتطلب جافاسكريبت)',
+'tog-rememberpassword' => 'اتفكر الدخول تاعي ب هاذ النافيكاتور (ب مدّة حدها{{PLURAL:$1||يوم واحد|يومين|$1 إيّام|$1 يوم}})',
+'tog-watchcreations' => 'زيد الـصفحات اللي نخلقها و الـفيشيّات فل قايمة تاع التتباع تاعي',
+'tog-watchdefault' => 'زيد الـصفحات و الـفيشيّات اللي نبدّلها فل قايمة تاع الـتتباع تاعي',
+'tog-watchmoves' => 'زيد الـصفحات و الـفيشيات اللي نحوّلها فل قايمة تاع الـتباع تاعي',
+'tog-watchdeletion' => 'زيد الـصفحات اللي نفصيها فل قايمة تاع التتباع تاعي',
+'tog-minordefault' => 'ماركي كل التبديلات بلي راهي خفيفه',
+'tog-previewontop' => 'وري شوفه-قبليه للكتبه فوق صندوق الكتيبه',
+'tog-previewonfirst' => 'بين شوفه-قبليه مع اول تبديله',
+'tog-enotifwatchlistpages' => 'ابحت لي إيمال كي تتبدّل صفحة ولا فيشي من الـليستة تاع الـتتباع تاعي',
+'tog-enotifusertalkpages' => 'ابعثلي بريه كل ما تبدلت باجت نقاش ديالي',
+'tog-enotifminoredits' => 'ابعت لي بريه حتا يلا كانت تبدالات صغيرة فلباجات و الـفيشيّات',
+'tog-enotifrevealaddr' => 'بين لادريستي إلكترونيك في براوات الاعلام',
+'tog-shownumberswatching' => 'بين شحال كاين من مستعمل يتبع الباجه',
+'tog-oldsig' => 'خطّ‘لـيدّ اللي كاين',
+'tog-fancysig' => 'اعتبر التوقيع كي كتيبه ويكي (بلا وصيله توماتيك)',
+'tog-uselivepreview' => 'استعمل الـنضرة الـقبلانيّة (تستحق الـ JavaScript) (تجرابيّة)',
+'tog-forceeditsummary' => 'نبّهني كي تندخل كاش صفحة خاوية',
+'tog-watchlisthideown' => 'خبّي الـتبدالات تاوعي فل ليستة تاع الـتتباع',
+'tog-watchlisthidebots' => 'خبّي الـتبدالات تاع الـروبويات فل ليستة تاع التتباع تاعي',
+'tog-watchlisthideminor' => 'خبّي الـتبدالات الـصغيرة من الـليستة تاعي تاع التتباع',
+'tog-watchlisthideliu' => 'خبّي فل قايمة تاع التتباع تاعي الـتبدالات الـمديورة من عند الـمستعمليين الـمتماركيين',
+'tog-watchlisthideanons' => 'خبّي فل قايمة تاع التتباع تاعي الـتبدالات الـمديورة من عند الـمستعمليين الـماشي متماركيين',
+'tog-watchlisthidepatrolled' => 'خبّي الـتبدالات تاع الـمتبّعة فل ليستة تاع التتباع تاعي',
+'tog-ccmeonemails' => 'ابعت لي نسخة تاع الـإيمالات الّي نبعتهم لل مستعمليين لخرين',
+'tog-diffonly' => 'ما تورّيش الـمضمون تاع الـصفحات تحت الـفروقات',
+'tog-showhiddencats' => 'ورّي الـفصلات الـمخبّيين',
+'tog-norollbackdiff' => 'ما تورّيش الـفروق كي تدير رجوع',
+'tog-useeditwarning' => 'نبّهني كي نخرج من صفحة كنت نكتب فيها بلا ما نعمّر الخدمة',
+'tog-prefershttps' => 'نستعمل دايمن توصال مأمون كي ندخل',
+
+'underline-always' => 'ديما',
+'underline-never' => 'ابدا',
+'underline-default' => 'الـقيمة الـعاديّة تاع الـواجهة و الـفلّاك',
+
+# Font style option in Special:Preferences
+'editfont-style' => 'بدّل الـستيل تاع الـكتبة فل قابسة تاع الـكتيبة',
+'editfont-default' => 'نوع‘ الـكتبة الـعادية فل فلّاك',
+'editfont-monospace' => 'الـعرض تاع الـحرف يكون تابت',
+'editfont-sansserif' => 'حروف بلا زوايد',
+'editfont-serif' => 'حروف بل زوايد',
+
+# Dates
+'sunday' => 'الحد',
+'monday' => 'لثنين',
+'tuesday' => 'التلاته',
+'wednesday' => 'لاربعه',
+'thursday' => 'الخميس',
+'friday' => 'الجمعه',
+'saturday' => 'السبت',
+'sun' => 'الحد',
+'mon' => 'لثنين',
+'tue' => 'الثلاثه',
+'wed' => 'لاربعه',
+'thu' => 'الخميس',
+'fri' => 'الجمعه',
+'sat' => 'السبت',
+'january' => 'جانفي',
+'february' => 'فيفري',
+'march' => 'مارس',
+'april' => 'أفريل',
+'may_long' => 'ماي',
+'june' => 'جوان',
+'july' => 'جويليي',
+'august' => 'أوت',
+'september' => 'سبتمبر',
+'october' => 'أكتوبر',
+'november' => 'نوفمبر',
+'december' => 'ديسمبر',
+'january-gen' => 'جانفي',
+'february-gen' => 'فيفري',
+'march-gen' => 'مارس',
+'april-gen' => 'أفريل',
+'may-gen' => 'ماي',
+'june-gen' => 'جوان',
+'july-gen' => 'جويليي',
+'august-gen' => 'أوت',
+'september-gen' => 'سبتمبر',
+'october-gen' => 'أكتوبر',
+'november-gen' => 'نوفمبر',
+'december-gen' => 'ديسمبر',
+'jan' => 'جانفي',
+'feb' => 'فيفري',
+'mar' => 'مارس',
+'apr' => 'أفريل',
+'may' => 'ماي',
+'jun' => 'جوان',
+'jul' => 'جويليي',
+'aug' => 'أوت',
+'sep' => 'سيبتمبر',
+'oct' => 'أوكتوبر',
+'nov' => 'نوفمبر',
+'dec' => 'ديسمبر',
+'january-date' => 'جانفيي $1',
+'february-date' => 'فيفريي $1',
+'march-date' => 'مارس $1',
+'april-date' => 'آفريل $1',
+'may-date' => 'ماي $1',
+'june-date' => 'جوان $1',
+'july-date' => 'جويليي$1',
+'august-date' => 'أوت $1',
+'september-date' => 'سبتامبر $1',
+'october-date' => 'اكتوبر $1',
+'november-date' => 'نوفامبر $1',
+'december-date' => 'ديسمبر $1',
+
+# Categories related messages
+'pagecategories' => '{{PLURAL:$1|فصيلة|فصيلات}}',
+'category_header' => 'الباجه في التصنيف "$1"',
+'subcategories' => 'تصنيفات تحتيه',
+'category-media-header' => 'فيشيي ميلتيميديا فالكاتيكورى  "$1"',
+'category-empty' => "''هاذ التصنيف ما فيهش لا باجات و لا ميلتيميديا.''",
+'hidden-categories' => '{{PLURAL:$1|تصنيف مدسوس|تصنيفات مدسوسة}}',
+'hidden-category-category' => 'تصنيفات مخبّية',
+'category-subcat-count' => '{{PLURAL:$2|هاذ التصنيف فيه التصنيف الفرعي التالي|هاذ التصنيف فيه{{PLURAL:$1||التصنيف الفرعي|$1 تصنيفات فرعية}}، من إجمالي $2.}}',
+'category-subcat-count-limited' => 'هاد الـتصنيف يسيع {{PLURAL:$1||التصنيف الفرعي التابع|التصنيفات الفرعية $1  التابعة}}.',
+'category-article-count' => 'هاذ الكاتيكورى فيها {{PLURAL:$2|هاذ الفيشيي|$2 الفيشيي, اللي{{PLURAL:$1|هاذ|نتع$1}} من تحتا}}.',
+'category-article-count-limited' => '{{PLURAL:$1||الصفحة التابعة|الـ $1 ‘ن صفحة التابعة}} مصنّفة ب هاذ التصنيف.',
+'category-file-count' => 'هاذ الكاتيكورى فيها {{PLURAL:$2|هاذ الفيشيي|$2 الفيشيي, اللي{{PLURAL:$1|هاذ|نتع$1}} من تحتا}}.',
+'category-file-count-limited' => '{{PLURAL:$1|الملف التابع مصنّف|الملفات الـ $1 التابعة مصنّفة}} ب هاذ التصنيف.',
+'listingcontinuesabbrev' => 'يُتبع',
+'index-category' => 'صفحات مفهّرسة',
+'noindex-category' => 'باجات مشي مفهرسه',
+'broken-file-category' => 'صفحات فيها وصيلات تاع ملفّات خاسرة',
+
+'about' => 'على هاذ الويكي',
+'article' => 'صفحة تاع محتوى',
+'newwindow' => '(حل في تاقة جديدة)',
+'cancel' => 'انيلي',
+'moredotdotdot' => 'كتر...',
+'morenotlisted' => 'كتر ماشي مليستي...',
+'mypage' => 'باجه',
+'mytalk' => 'نقاش',
+'anontalk' => 'تناقش على الـ ip هادي',
+'navigation' => 'تبحار',
+'and' => '&#32;و',
+
+# Cologne Blue skin
+'qbfind' => 'فتش',
+'qbbrowse' => 'اتجوّل فل مضمون',
+'qbedit' => 'اكتب',
+'qbpageoptions' => 'هاذ الباجه',
+'qbmyoptions' => 'الباجات نتاوعى',
+'faq' => 'المسقسية المتعاوده',
+'faqpage' => 'Project:سؤالات متكرره',
+
+# Vector skin
+'vector-action-addsection' => 'زيد موضوع',
+'vector-action-delete' => 'امحي',
+'vector-action-move' => 'حول',
+'vector-action-protect' => 'بروجي',
+'vector-action-undelete' => 'ردّ كيما كان',
+'vector-action-unprotect' => 'بدّل الـحماية',
+'vector-view-create' => 'أصنع',
+'vector-view-edit' => 'بدل',
+'vector-view-history' => 'روح للتاريخي',
+'vector-view-view' => 'أقرى',
+'vector-view-viewsource' => 'شوف المصدر',
+'actions' => 'أفعال',
+'namespaces' => 'بلاصه تع أسموات',
+'variants' => 'متغيرات',
+
+'navigation-heading' => 'القايمة تاع الـتبحار',
+'errorpagetitle' => 'غلطه',
+'returnto' => 'ولي إلى $1.',
+'tagline' => 'من{{SITENAME}}',
+'help' => 'معاونة',
+'search' => 'فتّش',
+'searchbutton' => 'فتش',
+'go' => 'شايع',
+'searcharticle' => 'روح',
+'history' => 'تاريخ الملف',
+'history_short' => 'تاريخ',
+'updatedmarker' => 'مبدّل منلي الزيارة تاعي الـتالية',
+'printableversion' => 'نسخه نتاع طبيع',
+'permalink' => 'وصيل دايم',
+'print' => 'امبريمي',
+'view' => 'اقرا',
+'edit' => 'بدل',
+'create' => 'أصنع',
+'editthispage' => 'بدّل هاد الـصفحة',
+'create-this-page' => 'خلّق صفحة ب هاد الـعلوان',
+'delete' => 'امحي',
+'deletethispage' => 'امحي هاد الـصفحة',
+'undeletethispage' => 'ردّ الصفحة الّي محيتها',
+'protect' => 'حمايه',
+'protect_change' => 'بدل',
+'newpage' => 'باجه جديده',
+'talkpagelinktext' => 'ناقش',
+'personaltools' => 'ادوالت شخصيه',
+'talk' => 'مناقشه',
+'views' => 'شوفات',
+'toolbox' => 'صندوق الادوات',
+'otherlanguages' => 'بلوغات وحد اوخره',
+'redirectedfrom' => '(محول من $1)',
+'lastmodifiedat' => 'هاد الباجه راهي تبدّلت نهار الـ $1, على الـساعة $2.',
+'jumpto' => 'اقفز ل:',
+'jumptonavigation' => 'تجوال',
+'jumptosearch' => 'تفتاش',
+
+# All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
+'aboutsite' => 'على{{SITENAME}}',
+'aboutpage' => 'Project:على',
+'copyrightpage' => '{{ns:project}}:حقوق النسخ',
+'currentevents' => 'الخبورات',
+'currentevents-url' => 'Project:خبورات',
+'disclaimers' => 'تنبيهات',
+'disclaimerpage' => 'Project:التحذيرات العامه',
+'edithelp' => 'معونة',
+'mainpage' => 'الباجة اللوله',
+'mainpage-description' => 'الباجة اللوله',
+'portal' => 'المجتمع',
+'portal-url' => 'Project:بورطاي المجتمع',
+'privacy' => 'السياسة تاع الخصوصيات (الدين الضيّق)',
+'privacypage' => 'Project:خصوصيه',
+
+'retrievedfrom' => 'جايبينه من "$1"',
+'youhavenewmessages' => 'عندك $1 ($2).',
+'editsection' => 'بدل',
+'editold' => 'بدل',
+'viewsourceold' => 'شوف الاصل',
+'editlink' => 'تبديل',
+'viewsourcelink' => 'شوف العين',
+'editsectionhint' => 'إيديتي الصنف:$1',
+'toc' => 'محتويات',
+'site-rss-feed' => 'تيار آر‌إس‌إس $1',
+'site-atom-feed' => '$1 تيار آتوم',
+'page-atom-feed' => '$1 تيار آتوم',
+'red-link-title' => '$1 (الباجه ما كاينش)',
+
+# Short words for each namespace, by default used in the namespace tab in monobook
+'nstab-main' => 'الباجة',
+'nstab-user' => 'باجة{{GENDER:{{BASEPAGENAME}}|المستخدم|المستخدمة}}',
+'nstab-special' => 'باجه خوصوصيّة',
+'nstab-project' => 'باجه مشروع',
+'nstab-image' => 'ملف',
+'nstab-template' => 'مودال',
+'nstab-category' => 'تصنيف',
+
+# General errors
+'missing-article' => 'الداتاباز ما صابتش باجه كان لازم تنصاب، الباجه هي "$1" $2.
+
+نورمالمو يصرا هذا مين اتبع فرق بيريمي والا وصيل تأريخ باجة ممحيه.
+
+إذا ما كانش هذا هو الحال همالا راك طحت في علة تاع البرمجية.
+من فضلك سينياليها لواحد من[[Special:ListUsers/sysop|الإداريين]]، و أعطه مسار هذه الباجه.',
+'missingarticle-rev' => '(رقم الفرسيون: $1)',
+'badtitle' => 'عنوان عيان',
+'badtitletext' => 'عنوان الباجه المطلوب إما ماشي صحيح والا فارغ، وبالاك الوصيل بين اللغات والا بين البروجيات ماشي صحيح.
+بالاك فيه حروف ما تصلحش  باس يستعملوها فالعناوين.',
+'viewsource' => 'شوف الاصل',
+
+# Login and logout pages
+'yourname' => 'اسم المستخدم:',
+'yourpassword' => 'كلمة السر:',
+'yourpasswordagain' => 'عاود كتبت كلمت السر:',
+'remembermypassword' => 'اتفكر الدخول تاعي ب هاذ النافيكاتور (ب مدّة حدها{{PLURAL:$1||يوم واحد|يومين|$1 إيّام|$1 يوم}})',
+'login' => 'كونكسيون',
+'nav-login-createaccount' => 'تسجل/ اصنع حساب',
+'loginprompt' => 'لازم تكون الكوكيز لديك ماكتيفيه باش تكونيكتي و تدخل ل{{SITENAME}}.',
+'userlogin' => 'تسجل/ اصنع حساب',
+'userlogout' => 'سجل خروج',
+'nologin' => "ما عندكش حساب مسجل؟ '''$1'''.",
+'nologinlink' => 'اصنع حساب',
+'createaccount' => 'اصنع حساب',
+'gotaccount' => "عندك حساب مسجل؟ '''$1'''.",
+'gotaccountlink' => 'كونكسيون',
+'userlogin-resetlink' => 'نسيت تفاصيل الدخول؟',
+'mailmypassword' => 'أرسل لي كلمة سر جديده',
+'loginlanguagelabel' => 'اللوغه: $1',
+
+# Edit page toolbar
+'bold_sample' => 'كتيبة غليظه',
+'bold_tip' => 'كتيبة غليظه',
+'italic_sample' => 'كتبة مايلة',
+'italic_tip' => 'نص مايل',
+'link_sample' => 'عنوان وصيلة',
+'link_tip' => 'وصيلة داخليه',
+'extlink_sample' => 'http://www.example.com اسم الوصيلة',
+'extlink_tip' => 'وصيلة برانية (ما تنساش البديةhttp://)',
+'headline_sample' => 'كتبة نتاع عنوان كبير',
+'headline_tip' => 'عنوان من المستوى الثاني',
+'nowiki_sample' => 'دخل الكتبة مشي مستفة هنا',
+'nowiki_tip' => 'اهمل طريقةالويكي',
+'image_tip' => 'ملف داخل',
+'media_tip' => 'وصيلة ملف',
+'sig_tip' => 'سنياتورتك بالساعة و التاريخ',
+'hr_tip' => 'خط أفقي (ما تستعملوش بزاف)',
+
+# Edit pages
+'summary' => 'ملخص:',
+'minoredit' => 'هذي تبديلة صغيرة',
+'watchthis' => 'تبع الباجة',
+'savearticle' => 'سجل الباجة',
+'preview' => 'شوفه-قبلي',
+'showpreview' => 'بين معاينة',
+'showdiff' => 'عرض التبديلات',
+'anoneditwarning' => "'''توله:''' راك ما دخلتش.
+غادي يتسجل لادراس آيبي نتاعك في تاريخ هذه الباجه.",
+'newarticle' => '(جديد)',
+'newarticletext' => "راك تبعت وصيلة لباجه لم ما تخدمتش بعد.
+باش تصنع هاذ الباجه ابدا الكتبه فالصندوق التحت (شوف في [$1  زياده باجه المساعده] لمعلومات).
+إذا كانت زيارتك لهاذ الباجه غلطه، ادرك على بوطون''ولى'' في نافيقاتور الإنترنت نتاعك.",
+'noarticletext' => 'لحد الساعه ما كانش حتى نص في هاذ الباجه.
+تقدرو [[Special:Search/{{PAGENAME}}|ترميو تفتيشه على هاذ العنوان]] فالباجات لخرين,
+<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} فتش فالعمليات المربوطه]
+و إلا[{{fullurl:{{FULLPAGENAME}}|action=edit}} أصنع هاذ الباجه]</span>.',
+'noarticletext-nopermission' => 'لحد الساعه ما كانش حتى نص في هاذ الباجه.
+تقدرو [[Special:Search/{{PAGENAME}}|ترميو تفتيشه على هاذ العنوان]] فالباجات لخرين,
+<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} فتش فالعمليات المربوطه]
+و إلا[{{fullurl:{{FULLPAGENAME}}|action=edit}} أصنع هاذ الباجه]</span>.',
+'previewnote' => "'''ما تنساش هذي معاينه قبليه.'''
+لدوك التبديلات دياولك ما تسجلوش!",
+'editing' => 'تحرير $1',
+'editingsection' => 'كتيبه $1 (قسم)',
+'templatesused' => '{{PLURAL:$1||القالب المستعمل|القوالب المستعمله}} في هذه الباجه:',
+'template-protected' => '(محميه)',
+'template-semiprotected' => '(نص حماية )',
+'hiddencategories' => '{{PLURAL:$1|هاد الصفحة ما كايناش فل تصانف المخبّييين|هاد الصفحة كاينة في تصنيف مخبّي واحد|هاد الصفحة كاينة في زوج تاع الـتصانف المخبّيين|هاد الصفحة كاينة في $1 تصنيف مخبّي|هاد الصفحة كاينة في $1 تصنيف مخفبّي|هذه الصفحة كاينة في $1 تصنيف مخبّي}}:',
+'permissionserrorstext-withaction' => 'ما راكش اوتوريزى ل$2، لل{{PLURAL:$1||سبب هاذا|اسباب هاذي}}:',
+'recreate-moveddeleted-warn' => "'''توليه: راك تعاود تصنع باحه اتمحات من قبل.'''
+
+لازم تتأكد بلى الباجه الا نصنعت ماهوش مشكل الا كملت الكتبه فبها.
+ريجيستر المحو و النقل معروض هنا باش تراقب :",
+'moveddeleted-notice' => 'هاذ الباجه تمحات .
+ريجيستر المحو والتنقال للباجه معروضين التحت كريفيرونس.',
+
+# Parser/template warnings
+'post-expand-template-inclusion-warning' => "'''توليه:''' الباجة داخل فيها قوالب بزاف.
+شي قوالب ما غاديش تدخل.",
+'post-expand-template-inclusion-category' => 'الباجات داخل فيها بزاف القوالب',
+'post-expand-template-argument-warning' => "'''توليه:''' هذه الباجه فيها عامل قالب واحد على الأقل عندو حجم تمدد كبير بزاف.
+هاذالعوامل اتمحات.",
+'post-expand-template-argument-category' => 'باجات فيها مدخلات القالب الممحي',
+
+# History pages
+'viewpagelogs' => 'بين العمليات على هاذ الباحه',
+'currentrev-asof' => 'النسخه نتاع دروك تاريجها $1',
+'revisionasof' => 'معاودة تاع الـ $1',
+'revision-info' => 'مراجعه $1 بواسطت $2',
+'previousrevision' => '← نسخة اللوله',
+'nextrevision' => 'فرسيون جايه←',
+'currentrevisionlink' => 'المراجعه الحاليه',
+'cur' => 'الحالي',
+'last' => 'السابق',
+'histlegend' => 'تخيار الفرق: علم على صناديق النسخ للمقارنه و ادرك قارن بين النسخ المختارة والا القفلة التحت .<br />
+مفتاح: (الحالي) = الفرق مع النسخة تع دروك
+(الفايته) = الفرق مع النسخة اللي فاتت، ط = تبديل خفيف',
+'history-fieldset-title' => 'نافيقي في التاريخ',
+'history-show-deleted' => 'المماسكيه برك',
+'histfirst' => 'اول باجه',
+'histlast' => 'باجه تاليه',
+
+# Revision feed
+'history-feed-item-nocomment' => '$1 إلى $2',
+
+# Revision deletion
+'rev-delundel' => 'بين/خبي',
+'revdel-restore' => 'غير كيف راهي تبان',
+
+# Merge log
+'revertmerge' => 'فرق',
+
+# Diffs
+'history-title' => ' «$1»: تاريخ المراجعات',
+'lineno' => 'سطر$1:',
+'compareselectedversions' => 'كومباري بين نسختين مخيرين',
+'editundo' => 'نحي',
+
+# Search results
+'searchresults' => 'ريزيلته نتاع التفتاش',
+'searchresults-title' => 'ريزيلته تاع التحواس "$1"',
+'prevn' => '{{PLURAL:$1|précédente|$1 اللولانيين}}',
+'nextn' => '{{PLURAL:$1|suivante|$1 التاليين}}',
+'prevn-title' => '$1 {{PLURAL:$1|النتيجة التالية|النتايج التواله}}',
+'nextn-title' => '$1 {{PLURAL:$1|النتيجة الجاية|النتايج الجايين}}',
+'shown-title' => 'آفيشي $1 {{PLURAL:$1|نتيجة}} فل صفحة',
+'viewprevnext' => 'شوف($1 {{int:pipe-separator}} $2) ($3).',
+'searchmenu-exists' => "'''كاين باجه اسمها « [[:$1]] » في هاذ الويكي'''",
+'searchmenu-new' => "'''أصنع الباجه « [[:$1|$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' => 'خير إسباسات الأسامي للتفتاش',
+'search-result-size' => '$1 ({{PLURAL:$2|1 كلمة|$2 كلمات}})',
+'search-result-category-size' => '$1 عضو{{PLURAL:$1||s}} ($2 كاتيكورى فرعيه{{PLURAL:$2||s}}, $3 فيشيي{{PLURAL:$3||يات}})',
+'search-redirect' => '(تحويل من $1)',
+'search-section' => '(قسمت‘ $1)',
+'search-suggest' => 'كنت باغي تقول: $1',
+'searchrelated' => 'مرتابطه',
+'searchall' => 'ألكل',
+'showingresultsheader' => "{{PLURAL:$5|نتيجه'''$1'''|نتايج'''$1–$2'''}} تع'''$3''' لـ'''$4'''",
+'search-nonefound' => 'ما كانش نتائج تطابق المسقسية.',
+
+# Preferences page
+'mypreferences' => 'إختيارات',
+'youremail' => 'البريه الالكترونيه:',
+'yourrealname' => 'الاسم الحقاني:',
+'prefs-help-email' => 'لادريس نتع البريه الإلكترونيه بالخاطر، ولكن هي لازمه في حال نسيت كلمت السر نتاعك.',
+'prefs-help-email-others' => 'تقدر تاني تخلي لوخرين يتاصلو بيك في باجت نقاشك ولا في وصيله في باجت مستخدم نتاعك, اذا ارسلك واحد ما يبانش لادريس نتاعك , حتى اذ رديت عليه باش يبان لادريس نتاعك.',
+
+# Special:Log/newusers
+'newuserlogpage' => 'ريجيستر صنعة حسابات المستخدمين',
+
+# Associated actions - in the sentence "You do not have permission to X"
+'action-edit' => 'عدل هاذ الباجه',
+
+# Recent changes
+'nchanges' => '$1 تبديله{{PLURAL:$1||s}}',
+'recentchanges' => 'تبديلات توالا',
+'recentchanges-legend' => 'ابسيون التبديلات التواله',
+'recentchanges-feed-description' => 'تبع التبديلات الجدد للويكي في هاذ التيار .',
+'recentchanges-label-newpage' => ' هاذ التبديل صنع باجه جديده',
+'recentchanges-label-minor' => 'هاذا تبديل صغير',
+'recentchanges-label-bot' => 'هاذ التبديل ندار بروبو',
+'recentchanges-label-unpatrolled' => 'ما تراجعتش هاذ التبديله للآن',
+'rcnotefrom' => "هاهي التبديلات  من'''$2''' (ل'''$1''' معروضه).",
+'rclistfrom' => 'بين التبديلات البديه من $1',
+'rcshowhideminor' => '$1 التبديلات الصغير',
+'rcshowhidebots' => '$1 البوتات',
+'rcshowhideliu' => '$1 المستخدمين المسجلين',
+'rcshowhideanons' => '$1 المستخدمين المجهولين',
+'rcshowhidepatr' => '$1 التبديلات المعسوسه',
+'rcshowhidemine' => '$1 تبديلات نتاعي',
+'rclinks' => 'بين آخر $1 تبديل في آخر $2 يوم<br />$3',
+'diff' => 'إختلاف',
+'hist' => 'تاريخ',
+'hide' => 'خبي',
+'show' => 'بين',
+'minoreditletter' => 'ط',
+'newpageletter' => 'ج‌',
+'boteditletter' => 'ب',
+'rc-enhanced-expand' => 'بين التفاصيل (يلزمها جافاسكريبت)',
+'rc-enhanced-hide' => 'خبي التفاصيل',
+
+# Recent changes linked
+'recentchangeslinked' => 'تبديلات مربوطه',
+'recentchangeslinked-toolbox' => 'تبديلات الباجات المرتبطه',
+'recentchangeslinked-title' => 'التبديلات المرتبطة ب "$1"',
+'recentchangeslinked-summary' => "هاذي ليستة تع التبديلات اللي تمت هاذ الخطرة للباجات الموصولة من باجة معينة (ولا للأعضاء الداخلين في تصنيف معين).
+الصفحات في [[Special:Watchlist|ليستت مراقبة نتاعك]] '''مغلظه'''",
+'recentchangeslinked-page' => 'اسم الباجه:',
+'recentchangeslinked-to' => 'بين التبديلات للباجات الموصولة للباجه المعطية عوضا العكس',
+
+# Upload
+'upload' => 'طلع فيشي',
+'uploadlogpage' => 'ريجيستر رفع الفيشيات',
+'filedesc' => 'ملخص',
+'uploadedimage' => 'راه طلع "[[$1]]"',
+
+'license' => 'ترخيص:',
+'license-header' => 'ترخيص:',
+
+# File description page
+'file-anchor-link' => 'ملف',
+'filehist' => 'تاريخ الفيشيي',
+'filehist-help' => 'ادرك على وقت و تاريخ/باش تشوف الملف كما بان  في هاذ الوقت.',
+'filehist-revert' => 'رجع',
+'filehist-current' => 'ذ الوقت',
+'filehist-datetime' => 'تاريخ و الوقت',
+'filehist-thumb' => 'تصويرة مصغرة',
+'filehist-thumbtext' => 'فينيات نتع النسخه $1',
+'filehist-user' => 'مستعمل',
+'filehist-dimensions' => 'القيس',
+'filehist-comment' => 'تعليق',
+'imagelinks' => 'إستعمال الملف',
+'linkstoimage' => '{{PLURAL:$1|الباجة توصل|ال$1 باجات يوصلو}} لهاذ الملف :',
+'nolinkstoimage' => 'ما كانش باجات موصوله لهاذ الفيشي.',
+'sharedupload-desc-here' => 'هاذ الملف جاي من $1. يمكن يكون مستعمل من بروجيات وحد أخرين.
+التوصيف نتاعو في [$2 باجت الصفات] محطوطه هنا لتحت.',
+
+# Random page
+'randompage' => 'باجة على الزهر',
+
+# Statistics
+'statistics' => 'إحصاويّات',
+
+# Miscellaneous special pages
+'nbytes' => '$1 اوكتي{{PLURAL:$1||s}}',
+'nmembers' => '$1 اعضاء{{PLURAL:$1||s}}',
+'prefixindex' => 'كامل الباجات الباديه ب',
+'usercreated' => '{{GENDER:$3|صنعه|صنعته}} في $1 الساعة $2',
+'newpages' => 'باجه جديده',
+'move' => 'عاود التسمية',
+'pager-newer-n' => '{{PLURAL:$1|جديد بزاف 1|جديد بزاف $1}}',
+'pager-older-n' => '{{PLURAL:$1|قديم بزاف 1|قديم بزاف $1}}',
+
+# Book sources
+'booksources' => 'مصادر كتاب',
+'booksources-search-legend' => 'حوس ما بين مصادر الكتب',
+'booksources-go' => 'اذهب',
+
+# Special:Log
+'log' => 'ريجيسترات العمليات',
+
+# Special:AllPages
+'allpages' => 'قاع الباجات',
+'alphaindexline' => '$1 إلى $2',
+'allarticles' => 'قاع الباجات',
+'allpagessubmit' => 'روح',
+
+# Special:Categories
+'categories' => 'تصنيفات',
+
+# Special:LinkSearch
+'linksearch-line' => '$1 موصولة من $2',
+
+# Special:ListGroupRights
+'listgrouprights-members' => '(ليسته الأعضاء)',
+
+# Email user
+'emailuser' => 'ابعث بريه لهاذ المستخدم',
+
+# Watchlist
+'watchlist' => 'ليستة نتاع التابعه',
+'mywatchlist' => 'ليستة نتاع التابعه',
+'watchlistfor2' => 'ل$1 ($2)',
+'watch' => 'تبع',
+'unwatch' => 'ما تزيدش تعس',
+'watchlist-details' => '{{PLURAL:$1||باجه وحده|زوج باجات|$1 باجات|$1 باجه }} في ليستت مراقبتك، بلا ما تعد باجات النقاش.',
+'wlshowlast' => 'بين آخر $1 سوايع $2 يامات$3',
+'watchlist-options' => 'ابسيون ليستت المراقبه',
+
+# Delete
+'actioncomplete' => 'العمليه اندارت',
+'actionfailed' => 'العمليه فشلت',
+'dellogpage' => 'ريجيستر محو الباجات',
+
+# Rollback
+'rollbacklink' => 'ولي',
+
+# Protect
+'protectlogpage' => 'ريجيستر الحمايه',
+'protectedarticle' => 'راه حمى "[[$1]]"',
+
+# Undelete
+'undeletelink' => 'شوف/رجع',
+'undeleteviewlink' => 'شوف',
+
+# Namespace form on various pages
+'namespace' => 'بلاصه تع أسموات',
+'invert' => 'اعكس التخيار',
+'blanknamespace' => 'أساسي',
+
+# Contributions
+'contributions' => 'مساهمات {{GENDER:$1|المستخدم|المستخدمه}}',
+'contributions-title' => 'مساهمات {{GENDER:$1|المستخدم|المستخدمه}} $1',
+'mycontris' => 'مساهماتي',
+'contribsub2' => 'ل$1 ($2)',
+'uctop' => 'ذ الوقت',
+'month' => 'من شهر (وأقدم):',
+'year' => 'من عام (وأقدم):',
+
+'sp-contributions-newbies' => 'اعرض مشاركات الحسابات الجديده برك',
+'sp-contributions-blocklog' => 'ريجيسترالمنع',
+'sp-contributions-uploads' => 'مرفوعات',
+'sp-contributions-logs' => 'ريجيسترات',
+'sp-contributions-talk' => 'نقاش',
+'sp-contributions-search' => 'تفتاش المشاركات',
+'sp-contributions-username' => 'عنوان أيبي والال اسم مستخدم:',
+'sp-contributions-toponly' => 'ما تبين غير المشاركات التوالا نتاع المقالات',
+'sp-contributions-submit' => 'تفتاش',
+
+# What links here
+'whatlinkshere' => 'واش يوصل هنا',
+'whatlinkshere-title' => 'الباجات اللي تقين في "$1"',
+'whatlinkshere-page' => 'الباجه:',
+'linkshere' => "هاذ الباجات يوصلو إلى '''[[:$1]]''':",
+'nolinkshere' => "ما كانش  باجه فيها وصيله ل'''[[:$1]]'''.",
+'isredirect' => 'باجت تحويل',
+'istemplate' => 'تضمين',
+'isimage' => 'وصيلة ملف',
+'whatlinkshere-prev' => '{{PLURAL:$1|التالي|ال$1 التاليه}}',
+'whatlinkshere-next' => '{{PLURAL:$1|الجايه|ال$1 الجايه}}',
+'whatlinkshere-links' => '← وصيلات',
+'whatlinkshere-hideredirs' => '$1 التحويلات',
+'whatlinkshere-hidetrans' => '$1 التضمينات',
+'whatlinkshere-hidelinks' => '$1 الوصيلات',
+'whatlinkshere-hideimages' => '$1 وصيلات الفيشيات',
+'whatlinkshere-filters' => 'صفايات',
+
+# Block/unblock
+'ipboptions' => 'ساعتين:2 hours,نهار واحد:1 day,3 نهارات:3 days,سيمانة وحدة:1 week,سيمانتين:2 weeks,شهر واحد:1 month,3 أشهر:3 months,6 أشهر:6 months,عام واحد:1 year,دايم:infinite',
+'ipblocklist' => 'المستخدمون الممنوعون',
+'blocklink' => 'حبس',
+'unblocklink' => 'ديبلوكي',
+'change-blocklink' => 'بدل البلوكاج',
+'contribslink' => 'المساهمات',
+'blocklogpage' => 'ريجيسترالمنع',
+'blocklogentry' => 'منع "[[$1]]" لفترة زمنية مدتها $2 $3',
+'block-log-flags-nocreate' => 'صنعت الحسابات ممنوعه',
+
+# Move page
+'movelogpage' => 'روجيستر التنقال',
+'revertmove' => 'رجع',
+
+# Export
+'export' => 'صدر الباجه',
+
+# Namespace 8 related
+'allmessagesname' => 'الاسم',
+'allmessagesdefault' => 'الكتبه الافتراضيه',
+
+# Thumbnails
+'thumbnail-more' => 'كبر',
+'thumbnail_error' => 'غلطه في خدمت صورة مصغرةالمينياتير: $1',
+
+# Tooltip help for the actions
+'tooltip-pt-userpage' => 'باجتك نتع مستعمل',
+'tooltip-pt-mytalk' => 'باجه نتع نقاشاتك',
+'tooltip-pt-preferences' => 'وش خيرت',
+'tooltip-pt-watchlist' => 'ليستت الباجات الي راك أتبع تبديلاتهم',
+'tooltip-pt-mycontris' => 'ليسته نتع مساهماتك',
+'tooltip-pt-login' => 'مادابيك تسجل الدخول تاعك، بصّح ماشي ملزوم عليك',
+'tooltip-pt-logout' => 'سجل خروج',
+'tooltip-ca-talk' => 'نقاش على باجت المحتوى',
+'tooltip-ca-edit' => 'تنجم تحرر هاذ الباجه ،ماذابيك تستعمل قفله المراجعه قبل ما تحفظ',
+'tooltip-ca-addsection' => 'ابدأ طرف جديد',
+'tooltip-ca-viewsource' => 'هاذ الباجه محميه. و شنو تقدرو تشوفو الأصلي نتاعها',
+'tooltip-ca-history' => 'المراجعات التوالى نتاع الباجه (مع المساهمين نتاوعها)',
+'tooltip-ca-protect' => 'بروتيجي هاذالباجه',
+'tooltip-ca-delete' => 'امحي هاذ الباجه',
+'tooltip-ca-move' => 'بدل أسم هذ الباجه',
+'tooltip-ca-watch' => 'زيد هذ الباجه لليستتك نتاع التتباع',
+'tooltip-ca-unwatch' => 'اقلع هاذ الباجه من الليسته نتاع التتباع',
+'tooltip-search' => ' فتّش في {{SITENAME}}',
+'tooltip-search-go' => 'روح الباجه عندها نفس الآسم إذا كانت كاينه',
+'tooltip-search-fulltext' => 'فتّش على باجه بهاد الكتبة',
+'tooltip-p-logo' => 'روح للباجه اللولانيّه',
+'tooltip-n-mainpage' => 'زور الباجه اللوله',
+'tooltip-n-mainpage-description' => 'زور الباجه لوله',
+'tooltip-n-portal' => 'على الپروجي،واش تنجم تدير، وين تصيب واش تحتاج',
+'tooltip-n-currentevents' => 'تحواس على معلومات أساسية لصوالح صراو ذروك',
+'tooltip-n-recentchanges' => 'الليستة تاع التبديلات التوالا فل ويكي',
+'tooltip-n-randompage' => 'طلّع باجه على الزهر',
+'tooltip-n-help' => 'بلاصة المعونة',
+'tooltip-t-whatlinkshere' => 'ليسته نتاع قاع باجات المحتوى الي توصل هنا',
+'tooltip-t-recentchangeslinked' => 'ليسته نتاع التبديلات التواله نتاع الباجات الي عندهم علاقه بهاذي',
+'tooltip-feed-atom' => 'سيلان آتوم نتاع الباجه',
+'tooltip-t-contributions' => 'شوفان ليسته مساهمات هاذا المستخدم',
+'tooltip-t-emailuser' => 'أرسل بريه لهاذ المستخدم',
+'tooltip-t-upload' => 'أرسل تصويرة و إلا أي ملف ميديا للسرفر',
+'tooltip-t-specialpages' => 'ليستة تاع كامل الباجات الخصوصيّة',
+'tooltip-t-print' => 'نسخه لهاذ الباجه قابله للطبيع',
+'tooltip-t-permalink' => 'توصيله دايمه رايحه لهاذ النسخة نتاع الباجة',
+'tooltip-ca-nstab-main' => 'شوف باجه المحتوى',
+'tooltip-ca-nstab-user' => 'شوف باجت المستعمل',
+'tooltip-ca-nstab-special' => 'هذه الباجه خصوصيه،ما تقدرش تبدل فيها',
+'tooltip-ca-nstab-project' => 'شوف باجت البروجي',
+'tooltip-ca-nstab-image' => 'شوف باجت الملف',
+'tooltip-ca-nstab-template' => 'شوفان القالب',
+'tooltip-ca-nstab-category' => 'شوفان باجة التصنيف',
+'tooltip-minoredit' => 'ماركي هاذا تبديل صغير',
+'tooltip-save' => 'سجل تبديلات نتاعك',
+'tooltip-preview' => 'بين التغييرات نتاعك، من فضلك استخدم هذا قبل ما تنشر!',
+'tooltip-diff' => 'تخلي الشوفان نتاع التبديلات اللي ندارو.',
+'tooltip-compareselectedversions' => 'شوف الفروق بين نسختين مخيرين من هاذ الباجه.',
+'tooltip-watch' => 'زيد هذ الباجه لليستتك نتاع التتباع',
+'tooltip-rollback' => 'يولي : بدركة وحده تآنيلي التبديله و إلا التبديلات نتاع المساهم التالي',
+'tooltip-undo' => '"نحّي" فاصي هاد الـمعاودة و حلّ تاقة تاع تبدال بشوفه قبلانيّه. تخلّي باش ترجع لل معاوده التاليه و تزيد الـسبّة علاش فل قابسه تاع الـحويصله.',
+'tooltip-summary' => 'دخل تلخيص صغير',
+
+# Browsing diffs
+'previousdiff' => '→ التعديل الي قبل',
+'nextdiff' => 'التبديل الجاي ←',
+
+# Media information
+'file-info-size' => '$1 × $2 بكسل حجم الملف: $3، نوع MIME: $4',
+'file-nohires' => 'ما كانش دقه اكثر من هاك',
+'svg-long-desc' => 'فيشيي SVG، أبعاده $1 × $2 بكسل، تاي الفيشي : $3',
+'show-big-image' => 'تصويرة دقة عالية',
+
+# Bad image list
+'bad_image_list' => 'الفورمه كيما التابعة:
+ما كاين غير السطور الّي باديين بل *، الّي يكونو معدودين
+الـوصيل الـلوّل نتاع سطر لازم تكون تاع تصويرة ضايعة.
+كامل الوصيلات لخرين الّي فل سطر، يكونو معدودين كلّي تتنيّات، بل كي الباجات وين الـفيشي يكون باين.',
+
+# Metadata
+'metadata' => 'بايان ميتا',
+'metadata-help' => 'هذا الملف راه فيه معلومات زيادة، بالاك تكون انزادت من عند صواره نيميريك ولا سكانر مين صنع الملف.
+الأصلي، شي تفاصيل بالاك ما تعبرش على الملف المعدل.',
+'metadata-fields' => 'غادي ينعرض الحقل نتاع معطيات الميتا الكاينه في هاذ البريه في باجه التصويرة منين يكون جدول معطيات الميتا مطوياً.
+الحقول لخره تكون مخبية بار ديفو.
+* make
+* model
+* datetimeoriginal
+* exposuretime
+* fnumber
+* isospeedratings
+* focallength
+* artist
+* copyright
+* imagedescription
+* gpslatitude
+* gpslongitude
+* gpsaltitude',
+
+# 'all' in various places, this might be different for inflected languages
+'watchlistall2' => 'لكل',
+'namespacesall' => 'لكل',
+'monthsall' => 'لكل',
+
+# Watchlist editing tools
+'watchlisttools-view' => 'اعرض التبديلات المرتابطه',
+'watchlisttools-edit' => 'اعرض قائمه المراقبه و عدلها',
+'watchlisttools-raw' => 'موديفي ليستت التبيعه الخام',
+
+# Core parser functions
+'duplicate-defaultsort' => '\'\'\'توليه:\'\'\' مفتاح التستيف الافتراضي "$2" ديباسا مفتاح التستيف الافتراضي التالي"$1".',
+
+# Special:SpecialPages
+'specialpages' => 'الباجات الخصوصيه',
+
+# External image whitelist
+'external_image_whitelist' => ' #<pre>خلى هاذ السطر كيما راه
+#حط منثورات التعبيرات المنتظمة (برك الجزء الي يروح بين //) بالتحت
+#هاذ يكون مطابقتها مع مسارات التصاوير البرانيه (الموصولة بصفه مباشره)
+#هاذي الي تشبهغادي تنعرض  كتصاور، خلاف هذا برك وصيلة للتصويرة غادي تنعرض
+#السطور اللي تبدأا ب# تعتبر تعليقات
+#هذا لا يتأثر بحالة الحروف
+
+#حط كامل منثورات التعبيرات المنتظمة فوق هذا السطر. خلي هاذ السطر سواسوا كيما هو</pre>',
+
+# Special:Tags
+'tag-filter' => 'صفاية[[Special:Tags|الوشام]]:',
+
+);
index 6484342..24b1757 100644 (file)
@@ -1214,6 +1214,7 @@ $2
 'revdelete-show-file-confirm' => 'Вы ўпэўненыя, што жадаеце паглядзець выдаленую вэрсію файла «<nowiki>$1</nowiki>» ад $2 $3?',
 'revdelete-show-file-submit' => 'Так',
 'revdelete-selected-text' => '{{PLURAL:$1|1=Абраная вэрсія|Абраныя вэрсіі}} [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|1=Абраная вэрсія файла|Абраныя вэрсіі файла}} [[:$2]]:',
 'logdelete-selected' => '{{PLURAL:$1|1=Выбраны запіс|Выбраныя запісы}} журнала:',
 'revdelete-text-text' => 'Выдаленыя вэрсіі будуць па-ранейшаму бачныя ў гісторыі старонкі, але некаторыя часткі іх зьместу будуць недаступныя для ўдзельнікаў.',
 'revdelete-text-file' => 'Выдаленыя вэрсіі файла будуць па-ранейшаму бачныя ў гісторыі старонкі, але часткі іх зьместу будуць недаступныя для ўдзельнікаў.',
index 173f523..cd498c3 100644 (file)
@@ -185,7 +185,6 @@ $messages = array(
 'currentevents-url' => 'Project:Ultimi evenimenti',
 'disclaimers' => 'Avvertimenti',
 'disclaimerpage' => 'Project:Avertimenti generali',
-'helppage' => 'Help:Cuntenutu',
 'mainpage' => 'Pagina maestra',
 'mainpage-description' => 'Pagina maestra',
 'portal' => 'Purtone di a cumunità',
index 80f0375..8a20709 100644 (file)
@@ -777,8 +777,19 @@ A sèmbra ch'la sìa stêda scanşlêda.",
 La ghé bèle.",
 'defaultmessagetext' => 'Tèst pre-stabilî',
 'content-failed-to-parse' => "L'é impusébil cunsidrêr $2 p'r al mudèl $1:$3",
+'invalid-content-data' => 'Al j infurmasiòn ché dèinter în mìa vâlidi.',
+'content-not-allowed-here' => 'Còl che gh\'é dèinter a"$1" an n\'é mìa permés int al pàgini [[$2]]',
+'editwarning-warning' => "Bandunêr cla pàgina ché a 's pré pêrder tóti 'l mudéfichi fâti. Se t'é fât l'ingrès, ét pō bluchêr cl' avîş ché int la sesiòun \"{{int:prefs-editing}}\" dal tō preferèinsi.",
+'editpage-notsupportedcontentformat-title' => "Cla fōrma ché an n'é mìa sostgnûda.",
+'editpage-notsupportedcontentformat-text' => 'La fōrma dal scrét in $1 la rispèta mìa al mudèl scrét in $2.',
+
+# Content models
+'content-model-wikitext' => 'wikitèst',
+'content-model-text' => 'tèst normêl',
 
 # Parser/template warnings
+'expensive-parserfunction-warning' => "'''Atensiòun:''' cla pàgina ché la gh'à trôpi ciamêdi ala funsiòun parse. A n' in duvré avèir mēno 'd $2, adèsa a {{PLURAL:$1|'gh n'é $1}}.",
+'expensive-parserfunction-category' => 'Pàgini cun trôpi ciamêdi a la funsiòun parser.',
 'post-expand-template-inclusion-warning' => "'''Atensiòun:''' la grandèsa di mudē més dèinter l'é trôp grôsa. Soquânt mudē gnirâ mìa més dèinter.",
 'post-expand-template-inclusion-category' => "Pàgini in dó la grandèsa di mudē més dèinter la và d'ed sōver dal lémit permés.",
 'post-expand-template-argument-warning' => "'''Atensiòun:''' cla pàgina ché la gh'à ûn o pió argumèint ed mudē trôp grôs per èser şlarghê. Chi argomèint ché a gnirân saltê.",
index 988f361..d44a2aa 100644 (file)
@@ -1198,11 +1198,11 @@ $2
 'userpage-userdoesnotexist-view' => 'حساب کاربری «$1» ثبت نشده‌است.',
 'blocked-notice-logextract' => 'دسترسی این کاربر در حال حاضر بسته است.
 آخرین مورد سیاهه قطع دسترسی در زیر آمده‌است:',
-'clearyourcache' => "'''نکته:''' پس از ذخیره‌کردن ممکن است برای دیدن تغییرات نیاز باشد که حافظهٔ نهانی مرورگر خود را پاک کنید.
-*'''فایرفاکس / سافاری:'''  کلید ''Shift'' را نگه دارید و روی دکمهٔ ''Reload'' کلیک کنید، یا کلید‌های ''Ctrl-F5'' یا ''Ctrl-R'' را با هم فشار دهید (در رایانه‌های اپل مکینتاش کلید‌های ''⌘-R'')
-*'''گوگل کروم:'''کلیدهای ''Ctrl+Shift+R'' را با هم فشار دهید. (در رایانه‌های اپل مکینتاش کلید‌های ''⌘-Shift-R'')
-*'''اینترنت اکسپلورر:''' کلید ''Ctrl'' را نگه‌دارید و روی دکمهٔ ''Refresh'' کلیک کنید، یا کلید‌های ''Ctrl-F5'' را با هم فشار دهید
-*'''اپرا:''' حافظهٔ نهانی مرورگر را از طریق منوی ''Tools &rarr; Preferences'' پاک کنید",
+'clearyourcache' => '<strong>نکته:</strong> پس از ذخیره‌کردن ممکن است برای دیدن تغییرات نیاز باشد که حافظهٔ نهانی مرورگر خود را پاک کنید.
+*<strong>فایرفاکس / سافاری:</strong> کلید <em>Shift</em> را نگه دارید و روی دکمهٔ <em>Reload</em> کلیک کنید، یا کلید‌های <em>Ctrl-F5</em> یا <em>Ctrl-R</em> را با هم فشار دهید (در رایانه‌های اپل مکینتاش کلید‌های <em>⌘-R</em>)
+*<strong>گوگل کروم:</strong> کلیدهای <em>Ctrl+Shift+R</em> را با هم فشار دهید (در رایانه‌های اپل مکینتاش کلید‌های <em>⌘-Shift-R</em>)
+*<strong>اینترنت اکسپلورر:</strong> کلید <em>Ctrl</em> را نگه‌دارید و روی دکمهٔ <em>Refresh</em> کلیک کنید، یا کلید‌های <em>Ctrl-F5</em> را با هم فشار دهید
+*<strong>اپرا:</strong> حافظهٔ نهانی مرورگر را از طریق منوی <em>Tools &rarr; Preferences</em> پاک کنید',
 'usercssyoucanpreview' => "'''نکته:''' پیش از ذخیره‌کردن پرونده سی‌اس‌اس خود، با دکمهٔ '''{{int:showpreview}}''' آن را آزمایش کنید.",
 'userjsyoucanpreview' => "'''نکته:''' پیش از ذخیره‌کردن پروندهٔ جاوااسکریپت خود، با دکمهٔ '''{{int:showpreview}}''' آن را آزمایش کنید.",
 'usercsspreview' => "'''فراموش مکنید که شما فقط دارید پیش‌نمایش سی‌اس‌اس کاربری‌تان را می‌بینید.'''
index 24754fa..7817029 100644 (file)
@@ -1262,7 +1262,7 @@ Voit silti nähdä tämän muutoksen. Lisätietoja löytyy [{{fullurl:{{#Special
 'revdelete-show-file-confirm' => 'Haluatko varmasti nähdä poistetun version tiedostosta <nowiki>$1</nowiki>, joka on tallennettu $2 kello $3?',
 'revdelete-show-file-submit' => 'Kyllä',
 'revdelete-selected-text' => '{{PLURAL:$1|Valittu versio|Valitut versiot}} kohteesta [[:$2]]:',
-'revdelete-selected-file' => '{{PLURAL:$1|Valittu tiedoton versio|Valitut tiedoston versiot}} kohteesta [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Valittu tiedoston versio|Valitut tiedoston versiot}} kohteesta [[:$2]]:',
 'logdelete-selected' => '{{PLURAL:$1|Valittu lokimerkintä|Valitut lokimerkinnät}}:',
 'revdelete-text-text' => 'Poistetut versiot näkyvät edelleen sivun historiassa, mutta osa niiden sisällöstä ei enää ole saatavilla julkisesti.',
 'revdelete-text-file' => 'Poistetut tiedostoversiot näkyvät yhä sivun historiassa, mutta osa niiden sisällöstä ei ole saatavilla julkisesti.',
index b7e4a8d..a9e7d45 100644 (file)
@@ -2382,7 +2382,7 @@ $1',
 # Book sources
 'booksources' => 'משאבי ספרות חיצוניים',
 'booksources-search-legend' => 'חיפוש משאבי ספרות חיצוניים',
-'booksources-isbn' => 'מסת"ב:',
+'booksources-isbn' => 'מסת"ב (ISBN):',
 'booksources-go' => 'הצגה',
 'booksources-text' => 'להלן רשימת קישורים לאתרים אחרים המוכרים ספרים חדשים ויד־שנייה, ושבהם עשוי להיות מידע נוסף לגבי ספרים שאתם מחפשים:',
 'booksources-invalid-isbn' => 'המסת"ב שניתן כנראה אינו תקין; אנא בדקו אם ביצעתם טעויות בהעתקה מהמידע המקורי.',
index 819d1d6..c1723a6 100644 (file)
@@ -2443,7 +2443,7 @@ $UNWATCHURL
 'delete-warning-toobig' => 'इस पृष्ठ का संपादन इतिहास $1 से अधिक {{PLURAL:$1|अवतरण}} होने की वजह से बहुत बड़ा है।
 इसे हटाने से {{SITENAME}} के डाटाबेस की गतिविधियों में व्यवधान आ सकता है;
 कृपया सोच समझ कर आगे बढ़ें।',
-'deleting-backlinks-warning' => "'''चेतावनी:''' जो पृष्ठ आप हटाने जा रहे हैं उससे [[विशेष:कड़ियाँ/{{FULLPAGENAME}}|अन्य पृष्ठ]] जुड़ते हैं अथवा उसे ट्रांसक्लूड करते हैं।",
+'deleting-backlinks-warning' => "'''चेतावनी:''' जो पृष्ठ आप हटाने जा रहे हैं उससे [[Special:WhatLinksHere/{{FULLPAGENAME}}|अन्य पृष्ठ]] जुड़ते हैं अथवा उसे ट्रांसक्लूड करते हैं।",
 
 # Rollback
 'rollback' => 'संपादन वापिस लें',
diff --git a/languages/messages/MessagesHrx.php b/languages/messages/MessagesHrx.php
new file mode 100644 (file)
index 0000000..8079fbd
--- /dev/null
@@ -0,0 +1,2625 @@
+<?php
+/** Hunsrik (Hunsrik)
+ *
+ * See MessagesQqq.php for message documentation incl. usage of parameters
+ * To improve a translation please visit http://translatewiki.net
+ *
+ * @ingroup Language
+ * @file
+ *
+ * @author Paul Beppler
+ */
+
+$fallback = 'de';
+
+$messages = array(
+# User preference toggles
+'tog-underline' => 'Links (Verbinnunge) unnerstreiche:',
+'tog-hideminor' => 'Klen Ännrunge in den "Letzte Ännrunge" ausblenne',
+'tog-hidepatrolled' => 'Kontrollierte Ännrunge in den "Letzte Ännrungen" ausblenne',
+'tog-newpageshidepatrolled' => 'Kontrollierte Seite bei den "Neie Seite" ausblenne',
+'tog-extendwatchlist' => 'Beobachtungslist erweitre, um statt nuer der letzte Ännrung alle Ännrunge oonzuzeiche.',
+'tog-usenewrc' => 'Ännrunge uff "Letzte Ännrunge" und Beobachtungslist noh Seit gruppiere',
+'tog-numberheadings' => 'Üwerschrifte automatisch nummeriere',
+'tog-showtoolbar' => 'Beoorbeite-Werrekzeichleiste oonzeiche',
+'tog-editondblclick' => 'Seite mit Doppelklick beoorbeite',
+'tog-editsectiononrightclick' => 'Einzelne Abschnitte per Rechtsklick beoorbeite',
+'tog-rememberpassword' => 'Mit dem Browser dauerhaft oongemeldet bleiwe (maximal $1 {{PLURAL:$1|Tooch|Tooche}})',
+'tog-watchcreations' => 'Sellebst erstellt Seite und hochgeloodne Dateie automatisch beobachte',
+'tog-watchdefault' => 'Sellebst geännert Seit und Dateie automatisch beobachte',
+'tog-watchmoves' => 'Sellebst verschobne Seite und Dateie automatisch beobachte',
+'tog-watchdeletion' => 'Sellebst gelöscht Seite und Dateie automatisch beobachte',
+'tog-minordefault' => 'Eichne Ännrunge standardmässich als geringfüchich markiere',
+'tog-previewontop' => 'Vorschau owerhalleb von der Beoorbeitungsfenster oonzeiche',
+'tog-previewonfirst' => 'Beim earscht Beoorbeit immer die Vorschau oonzeiche',
+'tog-enotifwatchlistpages' => 'Bei Ännrungen an beobachtete Seite orrer Dateie E-Mails schicke',
+'tog-enotifusertalkpages' => 'Bei Ännrunge an meiner Benutzer-Diskussionsseit E-Mails schicke',
+'tog-enotifminoredits' => 'Aooch bei klene Ännrunge an Seite und Dateie E-Mails schicke',
+'tog-enotifrevealaddr' => 'Mein E-Mail-Adress in Benachrichtichungs-E-Mails oonzeiche',
+'tog-shownumberswatching' => 'Oonzoohl der beobachtende Benutzer oonzeiche',
+'tog-oldsig' => 'Voarhandne Signatuar:',
+'tog-fancysig' => 'Signatuar als Wikitext behandle (ohne automatische Verlinkung)',
+'tog-uselivepreview' => 'Voarschau sofort oonzeiche (experimentell)',
+'tog-forceeditsummary' => 'Warne, soweit beim Speichre die Zusammerfassung fehlt',
+'tog-watchlisthideown' => 'Eigne Beoorbeitunge in der Beobachtungslist ausblenne',
+'tog-watchlisthidebots' => 'Beoorbeitunge doorrich Bots in der Beobachtungslist ausblenne',
+'tog-watchlisthideminor' => 'Klene Beoorbeitunge in der Beobachtungslist ausblenne',
+'tog-watchlisthideliu' => 'Beoorbeitunge oongemeldeter Benutzer in der Beobachtungslist ausblenne',
+'tog-watchlisthideanons' => 'Beoorbeitunge anonymer Benutzer (IP-Adresse) in der Beobachtungslist ausblennen',
+'tog-watchlisthidepatrolled' => 'Kontrollierte Ännrunge in der Beobachtungslist ausblenne',
+'tog-ccmeonemails' => 'Schick mir Kopiee von der E-Mails, wo ich annre Benutzer schicke',
+'tog-diffonly' => 'Beim Versionsvergleich nuar die Unnerschiede und net die vollständiche Seit oonzeiche',
+'tog-showhiddencats' => 'Oonzeiche versteckter Kategoriee',
+'tog-norollbackdiff' => 'Unnerschied noh dem Zurücksetze unnerdrücke',
+'tog-useeditwarning' => 'Warne, soweit en zur Beoorbeitung geöffnete Seit verloss weard, wo net gespeicherte Ännrunge enthält',
+'tog-prefershttps' => 'Wenn oongemeldet, immer en sichre Verbinnung benutze.',
+
+'underline-always' => 'immer',
+'underline-never' => 'nie',
+'underline-default' => 'abhängig von der Benutzerowerfläche orrer Browserinstellung (d.h. Navegationsprogramminstellung)',
+
+# Font style option in Special:Preferences
+'editfont-style' => 'Schriftoort für den Text im Beoorbeitungsfenster:',
+'editfont-default' => 'Browserstandard',
+'editfont-monospace' => 'Schriftoort (Fontetyp) mit fester Zeichebreit',
+'editfont-sansserif' => 'Serifelose Groteskschrift',
+'editfont-serif' => 'Schrift mit Serife',
+
+# Dates
+'sunday' => 'Sonntach',
+'monday' => 'Montach',
+'tuesday' => 'Dienstach',
+'wednesday' => 'Mittwoch',
+'thursday' => 'Donnerstooch',
+'friday' => 'Freitach',
+'saturday' => 'Samstach',
+'sun' => 'So',
+'mon' => 'Mo',
+'tue' => 'Di',
+'wed' => 'Mi',
+'thu' => 'Do',
+'fri' => 'Fr',
+'sat' => 'Sa',
+'january' => 'Januar',
+'february' => 'Februar',
+'march' => 'März',
+'april' => 'April',
+'may_long' => 'Mai',
+'june' => 'Juni',
+'july' => 'Juli',
+'august' => 'August',
+'september' => 'September',
+'october' => 'Oktober',
+'november' => 'November',
+'december' => 'Dezember',
+'january-gen' => 'Januars',
+'february-gen' => 'Februars',
+'march-gen' => 'Märzes',
+'april-gen' => 'Aprils',
+'may-gen' => 'Mais',
+'june-gen' => 'Junis',
+'july-gen' => 'Julis',
+'august-gen' => 'Augusts',
+'september-gen' => 'Septembers',
+'october-gen' => 'Oktobers',
+'november-gen' => 'Novembers',
+'december-gen' => 'Dezembers',
+'jan' => 'Jan.',
+'feb' => 'Feb.',
+'mar' => 'Mär.',
+'apr' => 'Apr.',
+'may' => 'Mai',
+'jun' => 'Jun.',
+'jul' => 'Jul.',
+'aug' => 'Aug.',
+'sep' => 'Sep.',
+'oct' => 'Okt.',
+'nov' => 'Nov.',
+'dec' => 'Dez.',
+'january-date' => '$1. Januar',
+'february-date' => '$1. Februar',
+'march-date' => '$1. März',
+'april-date' => '$1. April',
+'may-date' => '$1. Mai',
+'june-date' => '$1. Juni',
+'july-date' => '$1. Juli',
+'august-date' => '$1. August',
+'september-date' => '$1. September',
+'october-date' => '$1. Oktober',
+'november-date' => '$1. November',
+'december-date' => '$1. Dezember',
+
+# Categories related messages
+'pagecategories' => '{{PLURAL:$1|Kategorie|Kategoriee}}',
+'category_header' => 'Seite in der Kategorie "$1"',
+'subcategories' => 'Unnerkategoriee',
+'category-media-header' => 'Medie in der Kategorie "$1"',
+'category-empty' => "''Die Kategorie enthält zurzeit ken Seite orrer Medie.''",
+'hidden-categories' => '{{PLURAL:$1|Versteckte Kategorie|Versteckte Kategoriee}}',
+'hidden-category-category' => 'Versteckte Kategoriee',
+'category-subcat-count' => '{{PLURAL:$2|Die Kategorie enthält follichende Unnerkategorie:|{{PLURAL:$1|Follichende Unnerkategorie ist en von insgesamt $2 Unnerkategorie in der Kategorie:|Es werre $1 von insgesamt $2 Unnerkategorie in der Kategorie oongezeichtt:}}}}',
+'category-subcat-count-limited' => 'Die Kategorie enthält follichende {{PLURAL:$1|Unterkategorie|$1 Unnerkategoriee}}:',
+'category-article-count' => '{{PLURAL:$2|Die Kategorie enthält follichende Seit:|{{PLURAL:$1|Follichen Seit ist en von insgesamt $2 Seite in der Kategorie:|Es werre $1 von insgesamt $2 Seite in der Kategorie oongezeicht:}}}}',
+'category-article-count-limited' => 'Follichende {{PLURAL:$1|Seite ist|$1 Seite sind}} in der Kategorie enthalt:',
+'category-file-count' => '{{PLURAL:$2|Die Kategorie enthält follichende Seit:|{{PLURAL:$1|Follichen Seit ist en von insgesamt $2 Seite in der Kategorie:|Es werre $1 von insgesamt $2 Seite in der Kategorie oongezeicht:}}}}',
+'category-file-count-limited' => 'Follichende {{PLURAL:$1|Datei ist|$1 Dateie sind}} in der Kategorie enthalt:',
+'listingcontinuesabbrev' => '(Fortsetzung)',
+'index-category' => 'Indexierte Seite',
+'noindex-category' => 'Nichtindexierte Seite',
+'broken-file-category' => 'Seite mit defekte Dateilinks',
+
+'about' => 'Üwer',
+'article' => 'Seit',
+'newwindow' => '(weard in enem neie Fenster geöffnet)',
+'cancel' => 'Abbreche',
+'moredotdotdot' => 'Mehr …',
+'morenotlisted' => 'Dies List ist net vollständig.',
+'mypage' => 'Eichne Seit',
+'mytalk' => 'Diskussion',
+'anontalk' => 'Diskussionsseit für der IP',
+'navigation' => 'Navegation',
+'and' => '&#32;und',
+
+# Cologne Blue skin
+'qbfind' => 'Finne',
+'qbbrowse' => 'Doorrichsuche',
+'qbedit' => 'Beoorbeite',
+'qbpageoptions' => 'Seiteoptione',
+'qbmyoptions' => 'Meine Seite',
+'faq' => 'Häifich gestellte Froche',
+'faqpage' => 'Project:FAQ',
+
+# Vector skin
+'vector-action-addsection' => 'Abschnitt hinzufüche',
+'vector-action-delete' => 'Lösche',
+'vector-action-move' => 'Verschiebe',
+'vector-action-protect' => 'Schütz',
+'vector-action-undelete' => 'Wiederherstelle',
+'vector-action-unprotect' => 'Seiteschutz ännre',
+'vector-view-create' => 'Erstell',
+'vector-view-edit' => 'Beoorbeite',
+'vector-view-history' => 'Versionsgeschicht',
+'vector-view-view' => 'Lese',
+'vector-view-viewsource' => 'Quelltext oonzeiche',
+'actions' => 'Aktione',
+'namespaces' => 'Noomeräume',
+'variants' => 'Variante',
+
+'navigation-heading' => 'Navigationsmenü',
+'errorpagetitle' => 'Fehler',
+'returnto' => 'Retuar zur Seit $1.',
+'tagline' => 'Aus {{SITENAME}}',
+'help' => 'Hellef',
+'search' => 'Such',
+'searchbutton' => 'Suche',
+'go' => 'Ausführe',
+'searcharticle' => 'Such',
+'history' => 'Versione',
+'history_short' => 'Versionsgeschicht',
+'updatedmarker' => 'Ännrung seit deinem letzte Besuch',
+'printableversion' => 'Druckversion',
+'permalink' => 'Permanenter Link',
+'print' => 'Drucke',
+'view' => 'Lese',
+'edit' => 'Beoorbeite',
+'create' => 'Erstell',
+'editthispage' => 'Seit beoorbeite',
+'create-this-page' => 'Seit erstelle',
+'delete' => 'Lösche',
+'deletethispage' => 'Die Seit lösche',
+'undeletethispage' => 'Die Seit wiederherstelle',
+'undelete_short' => '{{PLURAL:$1|1 Version|$1 Versione}} wiederherstelle',
+'viewdeleted_short' => '{{PLURAL:$1|Ein gelöscht Version|$1 gelöschte Versione}} ansehen',
+'protect' => 'Schütz',
+'protect_change' => 'ännre',
+'protectthispage' => 'Seit schütze',
+'unprotect' => 'Seiteschutz ännre',
+'unprotectthispage' => 'Seitschutz ännre',
+'newpage' => 'Neie Seit',
+'talkpage' => 'Die Seit diskutiere',
+'talkpagelinktext' => 'Diskussion',
+'specialpage' => 'Spezialseit',
+'personaltools' => 'Meine Werkzeiche',
+'postcomment' => 'Neier Abschnitt',
+'articlepage' => 'Inhaltsseit oonzeiche',
+'talk' => 'Diskussion',
+'views' => 'Ansichte',
+'toolbox' => 'Werkzeich',
+'userpage' => 'Benutzerseit oonzeiche',
+'projectpage' => 'Projektseit oonzeiche',
+'imagepage' => 'Dateiseit oonzeiche',
+'mediawikipage' => 'Meldungsseit oonzeiche',
+'templatepage' => 'Voarloocheseit oonzeiche',
+'viewhelppage' => 'Hellefseit oonzeiche',
+'categorypage' => 'Kategorieseit oonzeiche',
+'viewtalkpage' => 'Diskussion',
+'otherlanguages' => 'In annre Sproche',
+'redirectedfrom' => '(Weitergeleitet von $1)',
+'redirectpagesub' => 'Weiterleitung',
+'lastmodifiedat' => 'Die Seit woor zuletzt am $1 um $2 Uhr geännert.',
+'viewcount' => 'Die Seit woard bisher {{PLURAL:$1|einmal|$1 mal}} abgeruff.',
+'protectedpage' => 'Geschützte Seit',
+'jumpto' => 'Wechsle zu:',
+'jumptonavigation' => 'Navigation',
+'jumptosearch' => 'Such',
+'view-pool-error' => 'Entschuldichung, die Server sind im Moment üwerlaschtet.
+Zu viele Benutzer versuche, die Seit zu besuche.
+Bitte woort en Poor Minute, bevoar du das noomo versuchst.
+
+$1',
+'pool-timeout' => 'Zeitablauf im Verloof von das Warte uff die Sperrung',
+'pool-queuefull' => 'Poolwoortschlang ist voll',
+'pool-errorunknown' => 'Unbekannter Fehler',
+
+# All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
+'aboutsite' => 'Üwer {{SITENAME}}',
+'aboutpage' => 'Project:Üwer_{{SITENAME}}',
+'copyright' => 'Der Inhalt ist verfüchbar unner der Lizenz $1, soweit nix anner oongeb ist.',
+'copyrightpage' => '{{ns:project}}:Urheberrechte',
+'currentevents' => 'Aktuelle Ereichnisse',
+'currentevents-url' => 'Project:Aktuelle Ereichnisse',
+'disclaimers' => 'Impressum',
+'disclaimerpage' => 'Project:Impressum',
+'edithelp' => 'Beoorbeitungshellef',
+'mainpage' => 'Hauptseit',
+'mainpage-description' => 'Hauptseit',
+'policy-url' => 'Project:Richtlinie',
+'portal' => 'Gemeinschaftsportal',
+'portal-url' => 'Project:Gemeinschaftsportal',
+'privacy' => 'Dateschutz',
+'privacypage' => 'Project:Dateschutz',
+
+'badaccess' => 'Ken ausreichende Benutzerrechte',
+'badaccess-group0' => 'Du hast net die erforderliche Benutzerrechte für die Aktion.',
+'badaccess-groups' => 'Die Aktion ist uff Benutzer beschränkt, die {{PLURAL:$2|der Grupp|ener der Gruppe}} „$1“ angehören.',
+
+'versionrequired' => 'Version $1 von MediaWiki ist erforderlich.',
+'versionrequiredtext' => 'Version $1 von MediaWiki ist erforderlich und nötich, um die Seit zu nutze.
+Sieh die [[Special:Version|Version sein Seit]]',
+
+'ok' => 'Okay',
+'retrievedfrom' => 'Von „$1“',
+'youhavenewmessages' => '{{PLURAL:$3|Du host}} $1 ($2).',
+'youhavenewmessagesfromusers' => '{{PLURAL:$4|Du host}} $1 von {{PLURAL:$3|en anner Benutzer|$3 annre Benutzer}} ($2).',
+'youhavenewmessagesmanyusers' => 'Du host $1 von viele Benutzre ($2).',
+'newmessageslinkplural' => '{{PLURAL:$1|en neie Nachricht|999=neie Nachrichte}}',
+'newmessagesdifflinkplural' => 'letzte {{PLURAL:$1|Ännrung|999=Ännrunge}}',
+'youhavenewmessagesmulti' => 'Du host neie Nachrichte: $1',
+'editsection' => 'Beoorbeite',
+'editold' => 'Beoorbeite',
+'viewsourceold' => 'Quelltext oonzeiche',
+'editlink' => 'Beoorbeite',
+'viewsourcelink' => 'Quelltext oonzeiche',
+'editsectionhint' => 'Abschnitt beoorbeite: $1',
+'toc' => 'Inhaltsverzeichnis',
+'showtoc' => 'Oonzeiche',
+'hidetoc' => 'Verberriche',
+'collapsible-collapse' => 'Inklappe',
+'collapsible-expand' => 'Ausklappe',
+'thisisdeleted' => '$1 oonsiehn orrer wiederherstelle?',
+'viewdeleted' => '$1 oonzeiche?',
+'restorelink' => '$1 {{PLURAL:$1|gelöschte Version|gelöschte Versione}}',
+'feedlinks' => 'Feed (das ist en Anglizismus, für das was regäb ist, die informatione ren getun sin):',
+'feed-invalid' => 'Ungülticher Feed-Abonnement-Typ.',
+'feed-unavailable' => 'Es stehn ken Feeds zur Verfüchung.',
+'site-rss-feed' => 'RSS-Feed für "$1"',
+'site-atom-feed' => 'Atom-Feed für „$1“',
+'page-rss-feed' => 'RSS-Feed für "$1"',
+'page-atom-feed' => 'Atom-Feed für „$1“',
+'red-link-title' => '$1 (Seit existiert net)',
+'sort-descending' => 'Absteichend sortiere',
+'sort-ascending' => 'Uffsteichend sortiere',
+
+# Short words for each namespace, by default used in the namespace tab in monobook
+'nstab-main' => 'Seit',
+'nstab-user' => 'Benutzerseit',
+'nstab-media' => 'Medieseit',
+'nstab-special' => 'Spezialseit',
+'nstab-project' => 'Projektseit',
+'nstab-image' => 'Datei',
+'nstab-mediawiki' => 'Systemnachricht',
+'nstab-template' => 'Vorlooche',
+'nstab-help' => 'Hellefseit',
+'nstab-category' => 'Kategorie',
+
+# Main script and global functions
+'nosuchaction' => 'Die Aktion gebt es net',
+'nosuchactiontext' => 'Die in der URL oongebne Aktion weard von MediaWiki net unnerstützt.
+Es kann en Schreibfehler in der URL voarliehn orrer es woard en fehlerhafter Link oongeklickt.
+Das kann sich ooch um en Programmierfehler in der Software, wo von {{SITENAME}} benutzt weard, handle.',
+'nosuchspecialpage' => 'Spezialseit net voarhand',
+'nospecialpagetext' => '<strong>Die uffgerufne Spezialseit ist net voarhand.</strong>
+
+All verfüchbare Spezialseite sind in der [[Special:SpecialPages|List von der Spezialseite]] zu finne.',
+
+# General errors
+'error' => 'Fehler',
+'databaseerror' => 'Datebankfehler',
+'databaseerror-text' => 'En Datebankabfrochfehler ist passiert.
+Das könnt uff en Fehler in der Software hindeite.',
+'databaseerror-textcl' => 'Do ist en Datenbankabfrochfehler uffgetret.',
+'databaseerror-query' => 'Abfroch: $1',
+'databaseerror-function' => 'Funktion: $1',
+'databaseerror-error' => 'Fehler: $1',
+'laggedslavemode' => "'''Achtung:''' Die oongezeicht Seit könnte unner Umstände net die letzte Beoorbeitunge enthalte.",
+'readonly' => 'Datebank gesperrt',
+'enterlockreason' => 'Bitte geb en Grund ren, waroom die Datebank gesperrt werre soll und en Abschätzung üwer die Dauer von der Sperrung',
+'readonlytext' => 'Die Datebank ist voarüwergehend für Neiinträche und Ännrunge gesperrt. Bitte versuche es später nochmo.
+
+Grund für der Sperrung: $1',
+'missing-article' => 'Der Text von „$1“ $2 woor net in der Datebank gefund.
+
+Die Seit ist möchlicherweis gelöscht orrer verschob woard.
+
+Falls das net zutrifft, host du eventuell en Fehler in der Software gefund. Bitte melde das enem [[Special:ListUsers/sysop|Administrator]] unner Nennung der URL.',
+'missingarticle-rev' => '(Versionsnummer: $1)',
+'missingarticle-diff' => '(Unnerschied zwischich Versione: $1, $2)',
+'readonly_lag' => 'Die Datebank woard automatisch für Schreibzugriffe gesperrt, domit sich die verteilte Datebankserver (Slaves/Skloove) mit dem Hauptdatebankserver (Master / Meister) abgegleicht sin könne.',
+'internalerror' => 'Interner Fehler',
+'internalerror_info' => 'Interner Fehler: $1',
+'fileappenderrorread' => '„$1“ konnt im Verloof von der Hinzufüche net geles sin.',
+'fileappenderror' => 'Konnt „$1“ net an "$2" oonhänge.',
+'filecopyerror' => 'Die Datei "$1" konnt net noh "$2" kopiert sin.',
+'filerenameerror' => 'Die Datei "$1" konnt net noh "$2" umbenannt sin.',
+'filedeleteerror' => 'Die Datei "$1" konnt net gelöscht sin.',
+'directorycreateerror' => 'Das Verzeichnis "$1" konnt net oongeleht sin.',
+'filenotfound' => 'Die Datei "$1" woard net gefund.',
+'fileexistserror' => 'In die Datei "$1" konnt net geschrieb sin, weil die Datei schon voarhand ist.',
+'unexpected' => 'Unerwoorteter Weart: „$1“ = „$2“',
+'formerror' => 'Fehler: Die Igäb konnte net veroorbeitet sin.',
+'badarticleerror' => 'Die Aktion kann uff die Seit net oongewendt sin.',
+'cannotdelete' => 'Die Seit orrer Datei "$1" kann net gelöscht sin.
+Möchlicherweis woard die bereits von jemand annrem gelöscht.',
+'cannotdelete-title' => 'Seit "$1" kann net gelöscht sin',
+'delete-hook-aborted' => 'Die Löschung woard von en Programmerweitrung zu MediaWiki verhinnert.
+Das ist hierzu ken Erklärung verfüchbar.',
+'no-null-revision' => 'Die neie Nullversion für die Seit "$1" konnt net erstellt sin',
+'badtitle' => 'Ungülticher Titel',
+'badtitletext' => 'Der Titel von der oongeforderte Seit ist ungültich, leer orrer en ungülticher Sprochlink von en anne Wiki.',
+'perfcached' => 'Die follichende Date stamme aus dem Cache und sind möchlicherweis net aktuell. Maximal {{PLURAL:$1|en Ergebnis ist|$1 Ergebnisse sind}} im Cache verfüchbar.',
+'perfcachedts' => 'Die Date stamme aus dem Cache. Der Zeitpunkt von der letzte Aktualisierung: $2, $3 Uhr. Maximal {{PLURAL:$4|en Ergebnis ist|$4 Ergebnisse sind}} im Cache verfüchbar.',
+'querypage-no-updates' => 'Die Aktualisierungsfunktion von der Seit ist zurzeit deaktiviert.
+Die Date werre bis uff Weitres net erneiert.',
+'viewsource' => 'Quelltext oonzeiche',
+'viewsource-title' => 'Der Seit sein Quelltext $1',
+'actionthrottled' => 'Aktionsoonzoohl limitiert',
+'actionthrottledtext' => 'Im Rahme von en Anti-Spam-Massnoohm kann die Aktion in en koorrze Zeitabstand nuar begrenzt oft ausgeführt sin. Die Grenze host du üwerschritt.
+Bittschön versuch es in en poor Minute nochmo.',
+'protectedpagetext' => 'Die Seit woard geschützt, um Beoorbeitunge sowie annre Aktione zu verhinnre.',
+'viewsourcetext' => 'Du kannst den Quelltext von der Seit betrachte und kopiere:',
+'viewyourtext' => "Du kannst den Quelltext '''deiner Beoorbeitung''' von der Seit betrachte und kopiere:",
+'protectedinterface' => 'Dies Seit enthält Text für die Benutzerowerfläch von der Software uff dem Wiki und ist geschützt, um Missbrauch voarzubeiche.
+Nutz bittschön [//translatewiki.net/ translatewiki.net], das Lokalisierungsprojekt von MediaWiki, um Üwersetzungen für alle Wikis hinzuzufüche orrer zu ännre.',
+'editinginterface' => "'''Warnung:''' Die Seit enthält von der MediaWiki-Software genutzte Text.
+Ännrunge uff der Seit wirreke sich uff die Benutzerowerfläch von das Wikis aus.
+Nutze bittschön [//translatewiki.net/ translatewiki.net], das Lokalisierungsprojekt von MediaWiki, um Üwersetzunge für all Wikis hinzuzufüche orrer zu ännre.",
+'cascadeprotected' => 'Die Seit ist zur Beoorbeitung gesperrt. Sie ist in die {{PLURAL:$1|follichende Seit|follichende Seite}} ingebundt, wo mittels von der Kaskadesperroption geschützt {{PLURAL:$1|ist|sind}}:
+$2',
+'namespaceprotected' => "Du host net die erforderliche Berechtichung, um Seite im Noomeraum '''$1''' beoorbeite zu könne.",
+'customcssprotected' => 'Du host net die Berechtichung, die CSS enthaltende Seite zu beoorbeite, weil sie die persönliche Einstellunge von en anner Benutzer enthält.',
+'customjsprotected' => 'Du host net die Berechtivhung, die JavaScript enthaltende Seit zu beoorbeite, weil das sich hierbei um die persönliche Einstellunge von en anner Benutzer handelt.',
+'mycustomcssprotected' => 'Du host ken Berechtichung, die CSS-Seit zu beoorbeite.',
+'mycustomjsprotected' => 'Du host kene Berechtichung, die JavaScript-Seit zu beoorbeit.',
+'myprivateinfoprotected' => 'Du host ken Berechtichung, dein private Informatione zu beoorbeite.',
+'mypreferencesprotected' => 'Du host ken Berechtichung, dein Einstellunge zu beoorbeite.',
+'ns-specialprotected' => 'Spezialseite könne net beoorbeitet sin.',
+'titleprotected' => 'En Seit mit dem Noome kann net oongelht sin.
+Die Sperre woare doorrich [[User:$1|$1]] mit der Begründung \'\'"$2"\'\' ingericht.',
+'filereadonlyerror' => 'Die Datei "$1" kann net verännert sin, weil uff das Dateirepositorium "$2" nuar Lesezugriff möchlich ist.
+
+Der Administrator, wo den Schreibzugriff gesperrt hot, hot der follichende Grund oongäb: "$3".',
+'invalidtitle-knownnamespace' => 'Ungülticher Titel mit Noomeraum "$2" und Text "$3"',
+'invalidtitle-unknownnamespace' => 'Ungülticher Titel mit unbekannter Noomeraumnummer $1 und Text "$2"',
+'exception-nologin' => 'Net oongemeldt',
+'exception-nologin-text' => 'Du musst dich [[Special:Userlogin|oonmelde]], um uff die Seit orrer Aktion zuzugreife se könne.',
+'exception-nologin-text-manual' => 'Du musst dich $1, um uff die Seit orrer Aktion zugreif ze können.',
+
+# Virus scanner
+'virus-badscanner' => "Fehlerhafte Konfiguration: unbekannter Virenscanner: ''$1''",
+'virus-scanfailed' => 'Scan fehlgeschloohn (code $1)',
+'virus-unknownscanner' => 'Unbekannter Virescanner:',
+
+# Login and logout pages
+'logouttext' => "'''Du bist jetzt abgemeldet.'''
+
+Beacht, dass etliche Seit noch oonzeiche könne, dass du oongemeldt bist, solang du net deine Browsercache geleert host.",
+'welcomeuser' => 'Wellkomm, $1!',
+'welcomecreation-msg' => 'Dein Benutzerkonto woard erstellt.
+Vergess net, deine [[Special:Preferences|{{SITENAME}}-Einstellunge]] zu ännre.',
+'yourname' => 'Benutzername:',
+'userlogin-yourname' => 'Benutzernoome',
+'userlogin-yourname-ph' => 'Geb dein Benutzernoome ren',
+'createacct-another-username-ph' => 'Benutzernoome',
+'yourpassword' => 'Passwort:',
+'userlogin-yourpassword' => 'Passwort',
+'userlogin-yourpassword-ph' => 'Geb dein Passwort ren',
+'createacct-yourpassword-ph' => 'Geb dein Passwort ren',
+'yourpasswordagain' => 'Passwort repetiere:',
+'createacct-yourpasswordagain' => 'Passwort bestätiche',
+'createacct-yourpasswordagain-ph' => 'Geb das Passwort erneit ren',
+'remembermypassword' => 'Mit dem Browser dauerhaft oongemeldet bleiwe (maximal $1 {{PLURAL:$1|Tooch|Tooche}})',
+'userlogin-remembermypassword' => 'Oongemeldt bleiwe',
+'userlogin-signwithsecure' => 'Sichre Verbinnung verwenne',
+'yourdomainname' => 'Dein Domain:',
+'password-change-forbidden' => 'Du kannst uff dem Wiki ken Passwörter ännre.',
+'externaldberror' => 'Entweder es lieht en Fehler bei der externe Authentifizierung voar orrer du därrefst dein externes Benutzerkonto net aktualisiere.',
+'login' => 'Oonmelde',
+'nav-login-createaccount' => 'Oonmelde / Benutzerkonto erstelle',
+'loginprompt' => 'Zur Oonmeldung müsse Cookies aktiviert sin.',
+'userlogin' => 'Oonmelde / Benutzerkonto erstelle',
+'userloginnocreate' => 'Oonmelde',
+'logout' => 'Abmelde',
+'userlogout' => 'Abmelde',
+'notloggedin' => 'Nicht oongemeldt',
+'userlogin-noaccount' => 'Du host noch ken Benutzerkonto?',
+'userlogin-joinproject' => '{{SITENAME}} beitrete',
+'nologin' => "Du host ken Benutzerkonto? '''$1'''.",
+'nologinlink' => 'En neie Benutzerkonto erstelle',
+'createaccount' => 'Benutzerkonto erstelle',
+'gotaccount' => "Du host schon en Benutzerkonto? '''$1'''.",
+'gotaccountlink' => 'Oonmelde',
+'userlogin-resetlink' => 'Die Oonmelddate vergess?',
+'userlogin-resetpassword-link' => 'Passwort vergesse?',
+'userlogin-helplink2' => 'Hellef bei der Oonmeldung',
+'userlogin-loggedin' => 'Du bist schon als {{GENDER:$1|$1}} oongemeldt.
+Benutz das unne stehnd Formular, um dich unner enem annren Benutzername oonzumelde.',
+'userlogin-createanother' => 'En weitres Benutzerkonto erstelle',
+'createacct-join' => 'Geb do unne deine Informatione ren.',
+'createacct-another-join' => 'Geb do unne die Informationen von der neie Benutzerkonto ren.',
+'createacct-emailrequired' => 'E-Mail-Adress',
+'createacct-emailoptional' => 'E-Mail-Adress (optional)',
+'createacct-email-ph' => 'Geb dein E-Mail-Adress ren',
+'createacct-another-email-ph' => 'E-Mail-Adress',
+'createaccountmail' => 'En temporäres Zufallspasswort verwenne und an die oongebne E-Mail-Adress verschicke',
+'createacct-realname' => 'Registrierte Noome (optional)',
+'createaccountreason' => 'Grund:',
+'createacct-reason' => 'Begründung',
+'createacct-reason-ph' => 'Waroom erstellst du en annres Benutzerkonto?',
+'createacct-captcha' => 'Sicherheitsprüfung',
+'createacct-imgcaptcha-ph' => 'Geb den Text ren, den wo du uwe siehst.',
+'createacct-submit' => 'Dein Benutzerkonto erstelle',
+'createacct-another-submit' => 'En anner Benutzerkonto erstelle',
+'createacct-benefit-heading' => '{{SITENAME}} weard von Mensche wie dir geschaff.',
+'createacct-benefit-body1' => '{{PLURAL:$1|Bearbeitung|Bearbeitunge}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|Seit|Seite}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|aktiver Autor|aktive Autore}}',
+'badretype' => 'Die beide Passwörter stimme net gleichoortich.',
+'userexists' => 'Der Benutzernoome ist schon vergeb.
+Bittschön wähl en annre.',
+'loginerror' => 'Fehler bei der Oonmeldung',
+'createacct-error' => 'Fehler beim Erstelle von der Benutzerkonto',
+'createaccounterror' => 'Benutzerkonto konnte net erstellt sin: $1',
+'nocookiesnew' => 'Der Benutzerzugang woard erstellt, awer du bist net oongemeldt. {{SITENAME}} benöticht für die Funktion Cookies, bitte aktivier die und meld dich dann mit deinem neie Benutzernoome und dem zugehöriche Passwort an.',
+'nocookieslogin' => '{{SITENAME}} benutzt Cookies zur Oonmeldung von der Benutzer. Du host Cookies deaktiviert, bitte aktivier se und versuch das noohmo.',
+'nocookiesfornew' => 'Das Benutzerkonto woard net erstellt, weil die Dateherkunft net ermittelt sin konnt.
+Das muss sichergestellt sin, dass Cookies aktiviert sind. Donoh die Seit erneut loode und es wieder versuche.',
+'noname' => 'Du musst en gültiche Benutzernoome oongewe.',
+'loginsuccesstitle' => 'Oonmeldung erfollichgreich',
+'loginsuccess' => 'Du bist jetzt als "$1" bei {{SITENAME}} oongemeldt.',
+'nosuchuser' => 'Der Benutzernoome „$1“ existiert net.
+Üwerprüf die Schreibweis (Gross-/Klenschreibung beachte) orrer [[Special:UserLogin/signup|meld dich als neier Benutzer an]].',
+'nosuchusershort' => 'Der Benutzernoome "$1" ist net voarhand. Bitte üwerprüf die Schreibweis.',
+'nouserspecified' => 'Bittschön geb en Benutzernoome an.',
+'login-userblocked' => '{{GENDER:$1|Der Benutzer|Die Benutzrin|Der Benutzer}} ist gesperrt. Die Oonmeldung ist net erlaubt.',
+'wrongpassword' => 'Das Passwort ist falsch. Bittschön versuch das erneit.',
+'wrongpasswordempty' => 'Do woard ken Passwort regeb. Bittschön versuch das erneit.',
+'passwordtooshort' => 'Passwörter müsse minnestens {{PLURAL:$1|1 Zeiche|$1 Zeiche}} lang sin.',
+'password-name-match' => 'Dein Passwort muss sich von deinem Benutzernoome unnerscheide.',
+'password-login-forbidden' => 'Die Verwennung von der Benutzernoome und das Passwort ist net erlaubt.',
+'mailmypassword' => 'Passwort zurücksetze',
+'passwordremindertitle' => 'Neies Passwort für en {{SITENAME}}-Benutzerkonto',
+'passwordremindertext' => 'Jemand mit der IP-Adress $1, wahrscheinlich du sellebst, hot en neies Passwort für die Oonmeldung bei {{SITENAME}} ($4) oongefordert.
+
+Das automatisch generierte Passwort für Benutzer "$2" lautet jetzt: $3
+
+Falls du das wirklich gewünscht host, sollst du dich jetzt oonmelde und das Passwort ännre.
+Das neie Passwort ist {{PLURAL:$5|1 Tooch|$5 Tooch}} gültich.
+
+Bittschön ignorier die E-Mail, falls du se net sellebst oongefordert host. Das alte Passwort bleibt weiterhin gültich.',
+'noemail' => '{{GENDER:$1|Benutzer|Benutzrin|Benutzer}} "$1" hot ken E-Mail-Adress angegeben.',
+'noemailcreate' => 'Du musst en gültiche E-Mail-Adress oongewe',
+'passwordsent' => 'En neies, temporäres Passwort woard an die E-Mail-Adress von Benutzer "$1" geschickt.
+Bittschön meld dich domit an, sobald du es krieht host. Das alte Passwort bleibt weiterhin gültich.',
+'blocked-mailpassword' => 'Die von dir verwennte IP-Adress ist für das Ännre von Seite gesperrt. Um en Missbrauch zu verhinnre, woard die Möchlichkeit zu der Oonfordrung von en neie Passworte ewenfalls ooch gesperrt.',
+'eauthentsent' => 'En Bestätichungs-E-Mail woard an die oongebne Adress verschickt.
+
+Bevoar en E-Mail von annre Benutzer üwer die E-Mail-Funktion empfang sin kann, muss die Adress und ehre tatsächliche Zugehörigkeit zu dem Benutzerkonto earscht bestäticht sin. Bittschön befolliche die Hinweis in der Bestätichungs-E-Mail.',
+'throttled-mailpassword' => 'Do woard innerhalb von der letzte {{PLURAL:$1|Stund|$1 Stunde}} schon en Passwortzurücksetzung-E-Mail oongefordert. Um en Missbrauch von der Funktion zu verhinnre, kann nuar {{PLURAL:$1|emol in jede Stund|alle $1 Stunde}} en Passwortzurücksetzung-E-Mail oongefordert sin.',
+'mailerror' => 'Fehler beim Sende von der E-Mail: $1',
+'acct_creation_throttle_hit' => 'Besucher von das Wiki, wo dein IP-Adress verwenne, honn innerhalleb von der letzte Tooche {{PLURAL:$1|1 Benutzerkonto|$1 Benutzerkonte}} erstellt, was die maximal erlaubte Oonzoohl in die Zeitperiode ist.
+
+Besucher, wo die IP-Adress verwenne, könne momentan ken Benutzerkonte mehr erstelle.',
+'emailauthenticated' => 'Dein E-Mail-Adress woard am $2 um $3 Uhr bestäticht.',
+'emailnotauthenticated' => 'Dein E-Mail-Adress ist noch net bestäticht.
+Die follichende E-Mail-Funktione stehn earst noh erfollichreicher Bestätichung zur Verfüchung.',
+'noemailprefs' => 'Geb en E-Mail-Adress in den Instellunge an, damit die nhfollichende Funktione zur Verfüchung stehn.',
+'emailconfirmlink' => 'E-Mail-Adress konfirmiere und bestätiche (authentifiziere).',
+'invalidemailaddress' => 'Die E-Mail-Adress weard net akzeptiert, weil die en ungültiches Format (eventuell ungültiche Zeiche) scheint zu honn. Bittschön geb en korrekte Adress ren orrer leer das Feld.',
+'cannotchangeemail' => 'E-Mail-Adresse könne in dem Wiki net geändert sin.',
+'emaildisabled' => 'Üwer die Website könne ken E-Mails versandt werre.',
+'accountcreated' => 'Benutzerkonto erstellt',
+'accountcreatedtext' => 'Das Benutzerkonto für [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|Diskussion]]) woard mit Erfolch ingerichtet.',
+'createaccount-title' => 'Erstellung von en Benutzerkonto für {{SITENAME}}',
+'createaccount-text' => 'Do woard für dich en Benutzerkonto "$2" uff {{SITENAME}} ($4) erstellt. Das automatisch generierte Passwort für "$2" ist "$3". Du sollst dich jetzt oonmelde und das Passwort ännre.
+
+Falls das Benutzerkonto irrtümlich oongeleht woard, kannst du die Nachricht ignoriere.',
+'usernamehasherror' => 'Benutzernoome deerfe ken Rautzeiche enthalte',
+'login-throttled' => 'Du host keerzlich zu viele Oonmeldversuche unnernomm.
+Bittachön woort $1, bevoar du das erneit versuchst.',
+'login-abort-generic' => 'Dein Oonmeldung woor net erfollichreich – Abgebroch',
+'loginlanguagelabel' => 'Sproch: $1',
+'suspicious-userlogout' => 'Dein Abmeldeoonfroch woard verweichert, weil die vermutlich von en defekte Browser orrer en Cache-Proxy gesendt woard.',
+'createacct-another-realname-tip' => 'Der bürcherliche registriert Noome ist optional.
+Wenn du ihn oongebst, weard ear für die Zuordnung von der Beiträche verwendt.',
+'pt-login' => 'Oonmelde',
+'pt-login-button' => 'Oonmelde',
+'pt-createaccount' => 'Benutzerkonto erstelle',
+'pt-userlogout' => 'Abmelde',
+
+# Email sending
+'php-mail-error-unknown' => 'Unbekannter Fehler mit der Funktion mail() von PHP',
+'user-mail-no-addy' => 'Versuchte, en E-Mail ohne Oongäb von en E-Mail-Adress zu versende.',
+'user-mail-no-body' => 'Do woard versucht, en E-Mail mit en leere orrer zu koorze Textkörper zu versende.',
+
+# Change password dialog
+'changepassword' => 'Passwort ännre',
+'resetpass_announce' => 'Um die Oonmeldung abzuschliesse, musst du en neies Passwort festlehn.',
+'resetpass_header' => 'Passwort ännre',
+'oldpassword' => 'Altes Passwort:',
+'newpassword' => 'Neies Passwort:',
+'retypenew' => 'Passwort repetiere:',
+'resetpass_submit' => 'Passwort üwermittle und oonmelde',
+'changepassword-success' => 'Dein Passwort woard erfollichreich geännert!',
+'changepassword-throttled' => 'Du host keerzlich zu viele Oonmeldversuche unnernomm.
+Bittachön woort $1, bevoar du das erneit versuchst.',
+'resetpass_forbidden' => 'Das Passwort kann net geännert werre.',
+'resetpass-no-info' => 'Du musst dich oonmelde, um uff die Seit direkt zuzugreife.',
+'resetpass-submit-loggedin' => 'Passwort ännre',
+'resetpass-submit-cancel' => 'Abbreche',
+'resetpass-wrong-oldpass' => 'Ungültiches temporäres orrer aktuelles Passwort.
+Möchlicherweis host du dein Passwort schon erfollichreich geännert orrer en neies temporäres Passwort beantroocht.',
+'resetpass-recycled' => 'Bittschön setz dein Passwort uff en annres Passwort als dein aktuelles wos do jetzt host.',
+'resetpass-temp-emailed' => 'Du host dich mit em temporäre E-Mail-Code oongemeldt.
+Um die Oonmeldung abzuschliesse, musst du jetzt en neies Passwort festlehn:',
+'resetpass-temp-password' => 'Temporäres Passwort:',
+'resetpass-abort-generic' => 'Die Passwortännrung woard doorrich en Erweitrung abgebroch.',
+'resetpass-expired' => 'Dein Passwort ist abgeloof. Bittschön leh en neies Passwort zur Oonmeldung fest.',
+'resetpass-expired-soft' => 'Dein Passwort ist abgeloof und muss zurückgesetzt sin. Bittschön wähl jetzt en neies Passwort aus orrer klick uff "{{int:resetpass-submit-cancel}}", um das später zurückzusetze.',
+'resetpass-validity-soft' => 'Dein Passwort ist net gültich: $1
+
+Bittschön wähl jetzt en neies Passwort orrer klick uff „{{int:resetpass-submit-cancel}}“, um das später zurückzusetze.',
+
+# Special:PasswordReset
+'passwordreset' => 'Passwort zurücksetze',
+'passwordreset-text-one' => 'Füll das Formular aus, um den Passwort zurückzusetze.',
+'passwordreset-text-many' => '{{PLURAL:$1|Füll en von der Felder aus, um en temporäres Passwort por E-Mail zugesandt zu bekomme.}}',
+'passwordreset-legend' => 'Passwort zurücksetze',
+'passwordreset-disabled' => 'Das Zurücksetze von Passwörter woard in dem Wiki deaktiviert.',
+'passwordreset-emaildisabled' => 'Die E-Mail-Funktione worre uff dem Wiki deaktiviert.',
+'passwordreset-username' => 'Benutzernoome:',
+'passwordreset-domain' => 'Domain:',
+'passwordreset-capture' => 'Die E-Mail-Nachricht oonsiehn?',
+'passwordreset-capture-help' => 'Wenn du das Kästche oonkreizt, weard die E-Mail-Nachricht mit dem temporäre Passwort sowohl dir oongezeicht als ooch dem Benutzer zugesandt.',
+'passwordreset-email' => 'E-Mail-Adress',
+'passwordreset-emailtitle' => 'Benutzerkontoinformatione uff {{SITENAME}}',
+'passwordreset-emailtext-ip' => 'Jemand mit der IP-Adress $1, wahrscheinlich du sellebst, hot en Zurücksetzung von dein Passworts bei {{SITENAME}} oongefordert ($4). {{PLURAL:$3|Das follichend Benutzerkonto ist|Die follichende Benutzerkonte sind}}
+mit der E-Mail-Adress verknüpft:
+
+$2
+
+{{PLURAL:$3|Das temporär Passwort looft|Die temporäre Passwörter loofe}} innerhalb von {{PLURAL:$5|em Tooch|$5 Tooche}} ab.
+Du sollst dich oonmelde und en neies Passwort vergewe. Falls jemand annres die Oonfroch getätigt hot orrer du dich wieder an dein ursprüngliches Passwort erinnre kannst und das netmeh
+ännre möchst, kannst du die Nachricht ignoriere und weiterhin dein altes
+Passwort benutze.',
+'passwordreset-emailtext-user' => 'Benutzer $1 bei {{SITENAME}} hot en Zurücksetzung von dein Passwort bei {{SITENAME}} oongefordert ($4). {{PLURAL:$3|Das follichend Benutzerkonto ist|Die follichend Benutzerkonte sind}} mit der E-Mail-Adress verknüpft:
+
+$2
+
+{{PLURAL:$3|Das temporär Passwort looft|Die temporäre Passwörter loofe}} innerhalb von {{PLURAL:$5|em Tooch|$5 Tooche}} ab. Du sollst dich oonmelde und en neies Passwort vergewe. Falls jemand annres die Oonfroch getäticht hot orrer du dich wieder an den ursprüngliches Passwort erinnre kannst und das net ännre möchst, kannst du die Nachricht ignoriere und weiterhin dein altes Passwort benutze.',
+'passwordreset-emailelement' => 'Benutzernoome: $1
+Temporäres Passwort: $2',
+'passwordreset-emailsent' => 'En Passwortzurücksetzung-E-Mail woard versandt.',
+'passwordreset-emailsent-capture' => 'En Passwortzurücksetzung-E-Mail woard versandt, die unne oongezeicht weard.',
+'passwordreset-emailerror-capture' => 'Die unne oongezeichte Passwortzurücksetzungs-E-Mail woard generiert, awer der Versand an {{GENDER:$2|den Benutzer|die Benutzrin}} ist gescheitert: $1',
+
+# Special:ChangeEmail
+'changeemail' => 'E-Mail-Adress ännre',
+'changeemail-header' => 'E-Mail-Adress ännre',
+'changeemail-text' => 'Füll das Formular vollständig aus, um dein E-Mail-Adress zu ännre. Du musst dein Passwort oongewe, um die Ännrung zu bestätiche.',
+'changeemail-no-info' => 'Du musst dich oonmelde, um uff die Seit direkt zuzugreife.',
+'changeemail-oldemail' => 'Aktuell E-Mail-Adress:',
+'changeemail-newemail' => 'Neie E-Mail-Adress:',
+'changeemail-none' => '(ken)',
+'changeemail-password' => 'Dein {{SITENAME}}-Passwort:',
+'changeemail-submit' => 'E-Mail-Adress ännre',
+'changeemail-cancel' => 'Abbreche',
+'changeemail-throttled' => 'Du host keerzlich zu viele Oonmeldversuche unnernomm.
+Bittachön woort $1, bevoar du das erneit versuchst.',
+
+# Special:ResetTokens
+'resettokens' => 'Tokens zurücksetze',
+'resettokens-text' => 'Du kannst Tokens zurücksetze, wo dir den Zugriff uff bestimmte private Date ermöchliche, wo mit deinem Benutzerkonto hier verknüpft sind.
+
+Du sollst das nuar mache, wenn du verguckt die Tokens versiehntlich mit jemandem geteilt host orrer dein Konto gefährdet ist.',
+'resettokens-no-tokens' => 'Do gebts ken Tokens zum Zurücksetze.',
+'resettokens-legend' => 'Tokens zurücksetze',
+'resettokens-tokens' => 'Tokens:',
+'resettokens-token-label' => '$1 (aktueller Weart: $2)',
+'resettokens-watchlist-token' => 'Token für den Webfeed (Atom/RSS) von der [[Special:Watchlist|Ännrunge an Seite uff deiner Beobachtungslist]]',
+'resettokens-done' => 'Tokens zurückgesetzt.',
+'resettokens-resetbutton' => 'Ausgewählte Token ännre',
+
+# Edit page toolbar
+'bold_sample' => 'Fetter Text',
+'bold_tip' => 'Fetter Text',
+'italic_sample' => 'Kursiver Text',
+'italic_tip' => 'Kursiver Text',
+'link_sample' => 'Link-Text',
+'link_tip' => 'Interner Link',
+'extlink_sample' => 'http://www.example.com Link-Text',
+'extlink_tip' => 'Externer Link (http:// beachte)',
+'headline_sample' => 'Ebene-2-Üwerschrift',
+'headline_tip' => 'Ebene-2-Üwerschrift',
+'nowiki_sample' => 'Unformatierte Text hie renfüche',
+'nowiki_tip' => 'Unformatierter Text',
+'image_tip' => 'Dateilink',
+'media_tip' => 'Mediedatei-Link',
+'sig_tip' => 'Dein Signatur mit Zeitstempel',
+'hr_tip' => 'Horizontoole Linie (spoorsam verwenne)',
+
+# Edit pages
+'summary' => 'Zusammerfassung:',
+'subject' => 'Betreff:',
+'minoredit' => 'Nuar Klenichkeite woore verännert',
+'watchthis' => 'Die Seit beobachte',
+'savearticle' => 'Seit speichre',
+'preview' => 'Voarschau',
+'showpreview' => 'Vorschau zeiche',
+'showlivepreview' => 'Sofortiche Voarschau',
+'showdiff' => 'Ändrunge zeiche',
+'anoneditwarning' => "Du beoorbeitest die Seit unoongemeldet. Wenn du sie abspeichre tust, weard dein aktuelle Komputador IP-Adress in der Versionsgeschicht uffgezeichnet und ist domit unwiderruflich und kann '''öffentlich''' gesiehn sind.",
+'anonpreviewwarning' => "''Du bist net oongemeldet. Beim Speichre weard dein IP-Adress in der Versionsgeschicht uffgezeichnet.''",
+'missingsummary' => "'''Hinweis:''' Du host ken Zusammerfassung oongeb. Wenn du erneit uff \"{{int:savearticle}}\" klicke tust, weard dein Ännrung ohne Zusammerfassung üwernomm.",
+'missingcommenttext' => 'Dein Abschnitt enthält ken Text.',
+'missingcommentheader' => "'''Achtung:''' Du host ken Betreff/Üwerschrift ingeb. Wenn du erneit uff \"{{int:savearticle}}\" klicke tust, weard dein Beoorbeitung ohne Üwerschrift gespeichert.",
+'summary-preview' => 'Voarschau von der Zusammerfassungszeil:',
+'subject-preview' => 'Voarschau von der Zusammerfassungszeil:',
+'blockedtitle' => 'Benutzer ist gesperrt',
+'blockedtext' => '\'\'\'Dein Benutzernoome orrer dein IP-Adress woard gesperrt.\'\'\'
+
+Die Sperrung woard vom Administrator $1 doorrichgeführt.
+Als Grund woard \'\'$2\'\' oongeb.
+
+* Die Sperr ehr Beginn: $8
+* Die Sperr ehr End: $6
+* Die Sperr ehr betrifft: $7
+
+Du kannst $1 orrer en von der annre [[{{MediaWiki:Grouppage-sysop}}|Administratoren]] kontaktiere, um üwer die Sperr zu diskutiere.
+Du kannst die "E-Mail an den Benutzer"-Funktion net nutze, solang ken gültige E-Mail-Adress in dein [[Special:Preferences|Benutzerkonto-Einstellunge]] ingetroohn ist orrer die Funktion für dich gesperrt woard.
+Dein aktuell IP-Adresse ist $3 und die Sperrkennung lautet $5.
+Bittschön füch alle Informatione jeder Oonfroche hinzu, wo du stellst.',
+'autoblockedtext' => 'Dein IP-Adress woard automatisch gesperrt, wiel die von em annre Benutzer genutzt woard, wo von $1 gesperrt woard.
+Als Grund wurde angegeben:
+
+:\'\'$2\'\'
+
+* Die Sperr ehr Beginn: $8
+* Die Sperr ehr End: $6
+* Die Sperr betrifft: $7
+
+Du kannst $1 orrer en von der annre [[{{MediaWiki:Grouppage-sysop}}|Administratore]] kontaktiere, um üwer die Sperr zu diskutiere.
+
+Du kannst die "E-Mail an den Benutzer"-Funktion net nutze, solang ken gültiche E-Mail-Adress in dein [[Special:Preferences|Benutzerkonto-Einstellunge]] ingetrooht ist orrer die Funktion für dich gesperrt woard.
+
+Dein aktuell IP-Adress ist $3, und die Sperr-ID ist $5.
+Bittschön füch alle Informatione von jeder Oonfroch hinzu, wo du stelle tust.',
+'blockednoreason' => 'ken Begründung oongeb',
+'whitelistedittext' => 'Du musst dich $1, um Seite beoorbeite zu könne.',
+'confirmedittext' => 'Du musst dein E-Mail-Adress earscht bestätiche, bevoar du Beoorbeitunge doorrichführe kannst. Bittschön ergänz und bestätich dein E-Mail in den [[Special:Preferences|Einstellunge]].',
+'nosuchsectiontitle' => 'Abschnitt net gefund',
+'nosuchsectiontext' => 'Du host versucht, en Abschnitt zu beoorbeite, wo net existiert.
+Vermutlich woard er verschub orrer gelöscht, nohdem du die Seit uffgeruf host.',
+'loginreqtitle' => 'Oonmeldung erforderlich',
+'loginreqlink' => 'Oonmelde',
+'loginreqpagetext' => 'Du musst dich $1, um Seite lese könne.',
+'accmailtitle' => 'Passwort woard verschickt',
+'accmailtext' => "En zufällich generiertes Passwort für [[User talk:$1|$1]] woard an $2 versandt. Es kann uff der Seit ''[[Special:ChangePassword|Passwort ännre]]'' noh der Oonmeldung geännert sin.",
+'newarticle' => '(Nei)',
+'newarticletext' => "Du bist en Link zu en Seit noh gang, wo net voarhand ist.
+Um die Seit oonzulehn, trooh dein Text in das unnestehend Beoorbeitungsfeld ren (weitre Informatione uff der [$1 Hellefseit]).
+Soweit du fälschlicherweise hier bist, klick uff dein Browser sein Schaltfläch '''Retuar'''.",
+'anontalkpagetext' => "----''Dies Seit dient dozu, enem net oongemeldete Benutzer Nachrichte zu hinnerlosse. Es weard sein IP-Adress zur Identifizierung verwenndt. IP-Adresse könne von mehrere Benutzer gemeinsam verwendt sin. Wenn du mit den Kommentare uff der Seit nix oonfänge kannst, richte die sich vermutlich an en frühre Inhaber von deiner IP-Adresse und du kannst se ignoriere. Du kannst dir ooch en [[Special:UserLogin/signup|Benutzerkonto erstelle]] orrer dich [[Special:UserLogin|oonmelde]], um künftich Verwechslunge mit annre anonyme Benutzer zu vermeide.''",
+'noarticletext' => 'Die Seit dohie enthält momentan noch ken Text.
+Du kannst sie <span class="plainlinks">[{{fullurl:{{FULLPAGENAME}}|action=edit}} beoorbeite]</span>,
+ehre Titel uff annre Seite [[Special:Search/{{PAGENAME}}|suche]]
+orrer die zugehöriche <span class="plainlinks">[{{fullurl:{{#special:Log}}|page={{FULLPAGENAMEE}}}} Logbücher betrachte]</span>.',
+'noarticletext-nopermission' => 'Die Seit dohie enthält momentan noch ken Text.
+Du kannst sie <span class="plainlinks">[{{fullurl:{{FULLPAGENAME}}|action=edit}} beoorbeite]</span>,
+ehre Titel uff annre Seite [[Special:Search/{{PAGENAME}}|suche]]
+orrer die zugehöriche <span class="plainlinks">[{{fullurl:{{#special:Log}}|page={{FULLPAGENAMEE}}}} Logbücher betrachte]</span>.',
+'missing-revision' => 'Die Version $1 von der Seit mit der noomen "{{FULLPAGENAME}}" ist net voarhand.
+
+Der Fehler weard normalerweis von enem veraltete Link zur Versionsgeschicht von en Seit verursacht, wo zwischichzeitlich gelöscht woard.
+Enzelheite sind im [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} Lösch-Logbuch] einsehbar (visibel).',
+'userpage-userdoesnotexist' => 'Das Benutzerkonto „<nowiki>$1</nowiki>“ ist net voarhand. Bittschön prüf, ob du die Seit werklich erstelle/beoorbeite willst.',
+'userpage-userdoesnotexist-view' => 'Das Benutzerkonto "$1" ist net voarhand.',
+'blocked-notice-logextract' => '{{GENDER:$1|Der Benutzer|Die Benutzrin|Der Benutzer}} ist zurzeit gesperrt.
+Zur Information follicht en aktueller Auszuch aus dem Benutzersperr-Logbuch:',
+'clearyourcache' => "'''Hinweis:''' Leer nh dem Speichre den Browser-Cache, so das du die Ännrunge für se siehn kriehst.
+* '''Firefox/Safari:''' ''Umschalttast'' drücke und gleichzeitich ''Aktualisiere'' oonklicke orrer entweder ''Strg+F5'' orrer ''Strg+R'' (''⌘+R'' uff dem Mac) drücke
+* '''Google Chrome:''' ''Umschalttast+Strg+R'' (''⌘+Umschalttast+R'' uff dem Mac) drücke
+* '''Internet Explorer:''' ''Strg+F5'' drücke orrer ''Strg'' drücke und gleichzeitich ''Aktualisiere'' oonklicke
+* '''Opera:''' ''Extras → Internetspure lösche … → Individuelle Auswahl → Den komplette Cache lösche''",
+'usercssyoucanpreview' => "'''Hinweis:''' Benutz den „{{int:showpreview}}“-Knopp, um dein neies CSS voar dem Speichre zu testiere.",
+'userjsyoucanpreview' => "'''Hinweis:''' Benutz den „{{int:showpreview}}“-Knopp, um dein neies JavaScript voar dem Speichre zu testiere.",
+'usercsspreview' => "'''Beacht, dass du nur en Voarschau von dein Benutzer-CSS betrachte tust.'''
+'''Das woor noch net gespeichert!'''",
+'userjspreview' => "'''Beacht, dass du nuar en Voarschau von dein Benutzer-JavaScripts betrachte tust.'''
+'''Das woor noch net gespeichert!'''",
+'sitecsspreview' => "'''Beachte, dass du nuar en Voarschau von das CSS betrachte tust.'''
+'''Das woard noch net gespeichert!'''",
+'sitejspreview' => "'''Beacht, dass du nuar en Vorschau von das JavaScript betrachte tust.'''
+'''Das woor noch net gespeichert!'''",
+'userinvalidcssjstitle' => "'''Achtung:''' Die Benutzerowerfläch \"\$1\" existiert net. Bedenke, dass benutzerspezifisch .css- und .js-Seite mit em Klenbuchstoob oonfänge müsse, also beispielsweis ''{{ns:user}}:Mustermann/vector.css'' an Stell von ''{{ns:user}}:Mustermann/Vector.css''.",
+'updated' => '(Geännert)',
+'note' => "'''Hinweis:'''",
+'previewnote' => "'''Dies ist nuar en Voarschau.'''
+Die Seit woard noch net gespeichert!",
+'continue-editing' => 'Zum Beoorbeitungsfeld gehn',
+'previewconflict' => 'Die Voarschau gebt den Inhalt von das Textfeld uwe, wieder. So weard die Seit aussiehn, wenn du jetzt speicherst.',
+'session_fail_preview' => "'''Dein Bearbeitung konnt net gespeichert sin, weil Setzungsdate verloar gan sind.
+Bittschön versuch das erneit, indem du unner der follichende Textvoarschau noomo uff \"Seit speichre\" klicke tust.
+Sollt das Problem bestehn bleiwe, [[Special:UserLogout|meld dich ab]] und donoh wieder an.'''",
+'session_fail_preview_html' => "'''Dein Beoorbeitung konnt net gespeichert sin, weil Sitzungsdate verloar gang sind.'''
+
+''Weil in {{SITENAME}} das Speichre von reinem HTML aktiviert ist, woard die Voarschau ausgeblendet, um JavaScript-Attacke voarzubeiche.''
+
+'''Bittschön versuch das erneit, indem du unner der follichende Textvoarschau nohmo uff \"Seit speichre\" klicke tust.
+Sollt das Problem bestehn bleiwe, [[Special:UserLogout|meld dich ab]] und donoh wieder an.'''",
+'token_suffix_mismatch' => "'''Dein Beoorbeitung woard zurückgewies, do dein Browser Zeiche im Beoorbeite-Token verstümmelt hot.
+En Speichrung kann den Seiteinhalt zerstöre. Das geschieht bisweil doorrich die Benutzung von en anonyme Proxy-Dienst, wo fehlerhaft oorbeitet.'''",
+'edit_form_incomplete' => "'''Der Inhalt von das Beoorbeitungsformular hot den Server net vollständich erreicht. Bittschön prüf deine Bearbeitunge uff Vollständigkeit und versuch das erneit.'''",
+'editing' => 'Beoorbeite von „$1“',
+'creating' => 'Erstelle von „$1“',
+'editingsection' => 'Beoorbeite von „$1“ (Abschnitt)',
+'editingcomment' => 'Beoorbeite von "$1" (Abschnitt)',
+'editconflict' => 'Beoorbeitungskonflikt: $1',
+'explainconflict' => "Jemand anners hot die Seit geännert, nohdem du oongefäng host, sie zu beoorbeite.
+Das Textfeld do uwe enthält den aktuell Beoorbeitungsstand von der Seit.
+Das unnre Textfeld enthält dein Ändrunge.
+Bittschön füch dein Ändrungen in das Textfeld do uwe ren.
+'''Nuar''' der Inhalt von dem Textfeld do uwe weard gespeichert, wenn du uff „{{int:savearticle}}“ klicke tust.",
+'yourtext' => 'Dein Text',
+'storedversion' => 'Gespeicherte Version',
+'nonunicodebrowser' => "'''Achtung: Dein Browser kann Unicode-Zeiche net richtich veroorbeite.''' Es weard en Hellefsroutin rengesetzt, um dich zu erlaube, Seite sicher zu beoorbeite: Nicht-ASCII-Zeiche werre dabei im Beoorbeitungsfenster als hexadezimale Codes oongezeicht.",
+'editingold' => "'''Achtung: Du beoorbeitest en alte Version von der Seit. Sofern du sie speicherst, werre all neiere Versionen üwerschrieb.'''",
+'yourdiff' => 'Unnerschiede',
+'copyrightwarning' => "'''Bittschön kopier ken Webseite, die net dein eichne sind, benutz ken urheberrechtlich geschützte Werke ohne Erlaubnis von dem Urheber!'''<br />
+Du gebst uns hiermit dein Zusooch und Versprechung, dass du den Text '''sellebst verfasst''' host, dass der Text Allgemeingut '''(domínio público / public domain)''' ist, orrer dass der '''Urheber''' seine '''Zustimmung''' geb hot. Falls der Text schon woanners veröffentlicht woard, weis bittschön uff der Diskussionsseit druf hin.
+<i>Bittschön beachte, dass alle {{SITENAME}}-Beiträche automatisch unner der \"\$2\" stehn (sieh \$1 für Einzelheite). Falls du net möchst, dass dein Oorweit hier von anre verännert und verbreitet weard, dann klick net uff \"Seite speichre\".</i>",
+'copyrightwarning2' => "Bittschön beacht, dass all Beiträch zu {{SITENAME}} von annre Mitwerrekend beoorbeitet, geännert orrer gelöscht werre könne.
+Reich hie ken Texte ren, falls du net willst, dass die ohne Einschränkung geännert sin könne.
+
+Du bestätichst hiermit ooch, dass du die Texte sellebst geschrieb host orrer die von en gemeinfreie Quell kopiert host
+(weitre Einzelheite unner $1). '''ÜWERTRÄH OHNE GENEHMICHUNG KEN URHEBERRECHTLICH GESCHÜTZTE INHALTE!'''",
+'longpageerror' => "'''Fehler: Der Text, wo du speichre versucht host, ist {{PLURAL:$1|en Kilobyte|$1 Kilobyte}} gross. Das ist grösser als das erlaubte Maximum von {{PLURAL:$2|en Kilobyte|$2 Kilobyte}}.'''
+Der kann net gespeichert sin.",
+'readonlywarning' => "'''Achtung: Die Datebank woard für Woortungsoorbeite gesperrt, so dass dein Ännrunge derzeit könne net gespeichert sin.
+Sichre den Text bittschön lokal uff deim Komputadoar und versuch zu en spätre Zeitpunkt, die Ännrunge zu üwertroon.'''
+
+Grund für die Sperre: $1",
+'protectedpagewarning' => "'''Achtung: Die Seit woard geschützt. Nuar Benutzer mit Administratoarrechte könne die Seit beoorbeite.'''
+Zu der Information follicht der aktuell Logbuchintrooch:",
+'semiprotectedpagewarning' => "'''Halbsperrung:''' Die Seit woard so geschützt, dass nuar registrierte Benutzer die ännre könne.
+Zu der Information follicht der aktuelle Logbuchintrooch:",
+'cascadeprotectedwarning' => "'''Achtung:''' Die Seit woard so geschützt, dass die norre doorrich Benutzer mit Administratoarrechte beoorbeitet werre kann. Sie ist in die {{PLURAL:$1|follichend Seit|follichende Seite}} ingebund, die mittels von der Kaskadesperroption geschützt {{PLURAL:$1|ist|sind}}:",
+'titleprotectedwarning' => "'''Achtung: Die Seiteerstellung woard so geschützt, dass norre Benutzer mit [[Special:ListGroupRights|spezielle Rechte]] die Seit erstelle könne.'''
+Zu der Information follicht der aktuelle Logbuchintrooch:",
+'templatesused' => '{{PLURAL:$1|Die folliched Voarlooche weard|Follichende Voarlooche werre}} uff die Seit verwenndt:',
+'templatesusedpreview' => '{{PLURAL:$1|Die follichend Voarlooche weard|Follichende Voarlooche werre}} von der Seitevoarschau verwendt:',
+'templatesusedsection' => '{{PLURAL:$1|Die follichend Voarlooche weard|Follichend Voarlooche werre}} in dem Abschnitt verwent:',
+'template-protected' => '(schreibgeschützt)',
+'template-semiprotected' => '(schreibgeschützt für unoongemeldete und neie Benutzer)',
+'hiddencategories' => 'Die Seit ist Mitglied von {{PLURAL:$1|1 versteckter Kategorie|$1 versteckte Kategoriee}}:',
+'nocreatetext' => 'Uff {{SITENAME}} woard das Erstelle von neier Seite ingeschränkt. Du kannst bestehnde Seite ännre orrer dich [[Special:UserLogin|oonmelde]].',
+'nocreate-loggedin' => 'Du host net die erforderliche Berechtichung, um neie Seite erstelle zu könne.',
+'sectioneditnotsupported-title' => 'Die Beoorbeitung von Abschnitte weard net unnerstützt',
+'sectioneditnotsupported-text' => 'Die Beoorbeitung von Abschnitte weard uff der Beoorbeitungsseit net unnerstützt.',
+'permissionserrors' => 'Berechtichungsfehler',
+'permissionserrorstext' => 'Du bist net berechticht, die Aktion auszuführe. {{PLURAL:$1|Grund|Gründe}}:',
+'permissionserrorstext-withaction' => 'Du bist aus {{PLURAL:$1|dem follichend Grund|den follichende Gründe}} net berechticht, $2:',
+'recreate-moveddeleted-warn' => "'''Achtung: Du erstellst en Seit, wo schon früher gelöscht woor.'''
+
+Bitte prüf sorrichfältich, ob die erneite Seiteerstellung den Richtlinie entsprecht.
+Zu deiner Information follicht das Lösch- und Verschiebungs-Logbuch mit der Begründung für die voarhergehnd Löschung:",
+'moveddeleted-notice' => 'Die Seit woard gelöscht. Zur Information follicht das Lösch- und Verschiebungs-Logbuch von der Seit.',
+'log-fulllog' => 'Alle Logbuchinträge ansiehn',
+'edit-hook-aborted' => 'Die Beoorbeitung woard ohne Erklärung doorrich en Schnittstell abgebroche.',
+'edit-gone-missing' => 'Die Seit konnt net aktualisiert sin.
+Die woard oonscheinend gelöscht.',
+'edit-conflict' => 'Beoorbeitungskonflikt.',
+'edit-no-change' => 'Dein Beoorbeitung woard ignoriert, do ken Ännrung an dem Text voargenomm  woard.',
+'postedit-confirmation' => 'Dein Beoorbeitung woard gespeichert.',
+'edit-already-exists' => 'Die neie Seit konnt net erstellt werre, do sie bereits voarhand ist.',
+'defaultmessagetext' => 'Standardtext',
+'content-failed-to-parse' => 'Parsierung von den Inhalt $2 für Modell $1 fehlgeschlohn: $3',
+'invalid-content-data' => 'Ungültiche Inhaltsdate',
+'content-not-allowed-here' => 'Der Inhalt "$1" ist uff der Seit [[$2]] net erlaubt',
+'editwarning-warning' => 'Das Verlosse von der Seit kann dozu führe, dass dein Ännrungen verloar gehn.
+Wenn du oongemeldt bist, kannst du das Oonzeiche von der Warnung im Bereich „{{int:prefs-editing}}“ deiner Instellunge abschalte.',
+'editpage-notsupportedcontentformat-title' => 'Das Inhaltsformat weard net unnerstützt',
+'editpage-notsupportedcontentformat-text' => 'Das Inhaltsformat $1 weard vom Inhaltsmodell $2 net unnerstützt.',
+
+# Content models
+'content-model-wikitext' => 'Wikitext',
+'content-model-text' => 'Klartext',
+'content-model-javascript' => 'JavaScript',
+'content-model-css' => 'CSS',
+
+# Parser/template warnings
+'expensive-parserfunction-warning' => "'''Achtung:''' Die Seit enthält zu viele Aufrufe uffwändicher Parserfunktione.
+
+Die därref nemehr als wie $2 {{PLURAL:$2|Uffruf|Uffrufe}} honn, do {{PLURAL:$1|ist aktuell $1 Uffruf|sind aktuell $1 Uffrufe}}.",
+'expensive-parserfunction-category' => 'Seite, wo uffwändiche Parserfunktione zu oft uffrufe',
+'post-expand-template-inclusion-warning' => 'Warnung: Die Gröss ingebundner Voarlooche ist zu gross, eniche Voarlooche könne net ingebund sin.',
+'post-expand-template-inclusion-category' => 'Seite, in denen die maximale Grösse ingebundner Voarlooche üwerschritt ist',
+'post-expand-template-argument-warning' => "'''Warnung:''' Die Seit enthält mindestens en Parameter in ener Voarlooche, wo expandiert zu gross ist. Die Parameter werre ignoriert.",
+'post-expand-template-argument-category' => 'Seite mit ignorierte Voarloocheparameter',
+'parser-template-loop-warning' => 'Voarloochschleif entdeckt: [[$1]]',
+'parser-template-recursion-depth-warning' => 'Voarloocherekursionstiefgrenz üwerschritt ($1)',
+'language-converter-depth-warning' => 'Sprochkonvertertieflimit üwerschritt ($1)',
+'node-count-exceeded-category' => 'Seite, wo die Knoteoonzoohl üwerschritt honn',
+'node-count-exceeded-warning' => 'Die Seit hot die Knotepunktoonzoohl üwerschritt.',
+'expansion-depth-exceeded-category' => 'Seite, wo die Expansionstiefe überschritt honn',
+'expansion-depth-exceeded-warning' => 'Die Seit hot die Expansionstiefe üwerschritt.',
+'parser-unstrip-loop-warning' => 'Zirkelbezuch festgestellt',
+'parser-unstrip-recursion-limit' => 'Rekursionsgrenz beim Ufflöse üwerschritt ($1)',
+'converter-manual-rule-error' => 'Bei der manuelle Sprochkonvertierungsrechel woard en Fehler entdeckt.',
+
+# "Undo" feature
+'undo-success' => 'Die Beoorbeitung kann rückgänchig gemacht werre.
+Bittschön prüf den Vergleich do unne, um sicherzustelle, dass du das tun möchst, und speichre dann do unne deine Ändrunge, um die Beoorbeitung rückgängig zu mache.',
+'undo-failure' => 'Die Ännrung konnt net rückgängich gemacht sin, weil der betroffne Abschnitt zwischenzeitlich verännert woard.',
+'undo-norev' => 'Die Beorbeitung konnt net rückgängich gemacht sin, wil die net voarhand ist orrer gelöscht woard.',
+'undo-nochange' => 'Anscheinnd woard die Beoorbeitung schon rückgängich gemacht.',
+'undo-summary' => 'Ändrung $1 von [[Special:Contributions/$2|$2]] ([[User talk:$2|Diskussion]]) rückgängich gemacht.',
+'undo-summary-username-hidden' => 'Ännrung $1 von en versteckte Benutzer rückgängich gemacht.',
+
+# Account creation failure
+'cantcreateaccounttitle' => 'Das Benutzerkonto kann net erstellt sin',
+'cantcreateaccount-text' => "Die Erstellung von en Benutzerkonto raus von der IP-Adresse '''($1)''' woor doorrich [[User:$3|$3]] gesperrt.
+
+Grund der Sperr: ''$2''",
+'cantcreateaccount-range-text' => "Das Erstell von Benutzerkonte von IP-Adressen im Bereich '''$1''', wo dein IP-Adress ('''$4''') enthält, woor von [[User:$3|$3]] gesperrt.
+
+Der oongebne Grund von $3 laut: ''$2''",
+
+# History pages
+'viewpagelogs' => 'Logbücher von der Seit oonzeiche',
+'nohistory' => 'Zu der Seit ist keh Versionsgeschicht voarhand.',
+'currentrev' => 'Aktuelle Version',
+'currentrev-asof' => 'Aktuelle Version vom $2, $3 Uhr',
+'revisionasof' => 'Version vom $2, $3 Uhr',
+'revision-info' => 'Version vom $4, $5 Uhr von $2',
+'previousrevision' => '← Nächstältre Version',
+'nextrevision' => 'Nächstjüngre Version →',
+'currentrevisionlink' => 'Aktuelle Version',
+'cur' => 'Aktuell',
+'next' => 'Nächste',
+'last' => 'Voarheriche',
+'page_first' => 'Oonfang',
+'page_last' => 'letzte',
+'histlegend' => 'Zur Oonzeiche von der Ännrunge enfach die zu vergleichende Versione auswähle und die Schaltfläche „{{int:compareselectedversions}}“ klicke.<br />
+* ({{int:cur}}) = Unnerschied zur aktuelle Version, ({{int:last}}) = Unnerschied zur voarheriche Version
+* Uhrzeit/Datum = Version zu der Zeit, Benutzernoome/der Beoorbeiter sein IP-Adress, {{int:minoreditletter}} = Klen Ännrung',
+'history-fieldset-title' => 'In der Versionsgeschicht suche',
+'history-show-deleted' => 'Nuar gelöschte Versione zeiche',
+'histfirst' => 'ältest',
+'histlast' => 'neiest',
+'historysize' => '({{PLURAL:$1|1 Byte|$1 Bytes}})',
+'historyempty' => '(leer)',
+
+# Revision feed
+'history-feed-title' => 'Versionsgeschicht',
+'history-feed-description' => 'Versionsgeschichte von der Seit in {{SITENAME}}',
+'history-feed-item-nocomment' => '$1 am $3 um $4 Uhr',
+'history-feed-empty' => 'Die verlangte Seit existiert net. Vielleicht woard se abgewischt orrer verschubt. [[Special:Search|Doorrichsuch]] {{SITENAME}} für passende neie Seite.',
+
+# Revision deletion
+'rev-deleted-comment' => '(Zusammerfassung entfernt)',
+'rev-deleted-user' => '(Benutzernoome entfernt)',
+'rev-deleted-event' => '(Logbuchaktion entfernt)',
+'rev-deleted-user-contribs' => '[Benutzernoome orrer IP-Adress entfernt – Beoorbeitung aus Beiträche versteckt]',
+'rev-deleted-text-permission' => "Die Version woard '''ausgewischt'''.
+Nähre Oongäb zum Auswischvoargang sowie en Begründung stehn im [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} Auswisch-Logbuch].",
+'rev-deleted-text-unhide' => "Die Version woard '''ausgewischt'''.
+Nähre Oongäb stehn im [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} Auswisch-Logbuch].
+Du kannst [$1 die Version einsiehn], insoweit du möchst.",
+'rev-suppressed-text-unhide' => "Die Version woard '''unnerdrückt'''.
+Nähre Oongäb stehn im [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Unnerdrückungs-Logbuch].
+Du kannst [$1 die Version einsiehn], insoweit du möchst.",
+'rev-deleted-text-view' => "Die Version woard '''abgewischt'''.
+Du kannst se einsiehn, insofern du möchst. Nähre Oongäb stehn im [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} Abwasch-Logbuch].",
+'rev-suppressed-text-view' => "Die Version woard '''unnerdrückt'''.
+Du kannst sie einsiehn, sofern du möchst. Nähre Oongäb stehn im [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Unnerdrückungs-Logbuch].",
+'rev-deleted-no-diff' => "Du kannst den Unnerschied net betrachte, weil ene von der Versione '''abgewischt''' woard.
+Details stehn im [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} Abwasch-Logbuch].",
+'rev-suppressed-no-diff' => "Du kannst den Versionsunnerschied net betrachte, weil ene von der Versione '''abgewischt''' woard.",
+'rev-deleted-unhide-diff' => "Ene von der Versione von das Versionsunnerschied woard '''abgewischt'''.
+Nähre Oongä stehn im [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} Abwäsch-Logbuch].
+Du kannst [$1 die Versionsunnerschied insiehn], soweit du möchst.",
+'rev-suppressed-unhide-diff' => "En von der Versione von das Versionsunnerschied woard '''unnerdrückt'''.
+Näehre Oongäb stehn im [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} Unnerdrückungs-Logbuch].
+Du kannst [$1 den Versionsunnerschied insiehn], soweit du möchst.",
+'rev-deleted-diff-view' => "En Version von das Versionsunnerschied woard '''abgewischt'''.
+Du kannst den Versionsunnerschied insiehn, soweit du möchst. Näehre Oongäb stehn im [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} Abwisch-Logbuch].",
+'rev-suppressed-diff-view' => "En von der Versione von das Versionsunnerschiede woard '''unnerdrückt'''.
+Du kannst die Versionsunnerschied insiehn, soweit du möchst. Näehre Oongäb stehn im [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Unnerdrückungs-Logbuch].",
+'rev-delundel' => 'zeiche/verstecke',
+'rev-showdeleted' => 'Zeich',
+'revisiondelete' => 'Versione abwische/wiederhearstelle',
+'revdelete-nooldid-title' => 'Kein Version oongeb',
+'revdelete-nooldid-text' => 'Du host entweder ken Version oongeb, uff die die Aktion ausgeführt win soll, die gewählte Version ist net voarhand orrer du versuchst, die aktuelle Version zu entferne.',
+'revdelete-no-file' => 'Die oongebne Datei ist net voarhand.',
+'revdelete-show-file-confirm' => 'Bist du sicher, dass du die gelöschte Version von der Datei "<nowiki>$1</nowiki>" vom $2 um $3 Uhr oonsiehn willst?',
+'revdelete-show-file-submit' => 'Jo',
+'revdelete-selected-text' => 'Ausgewählte {{PLURAL:$1|Version|Versione}} von [[:$2]]:',
+'revdelete-selected-file' => 'Ausgewählte {{PLURAL:$1|Dateiversion|Dateiversione}} von [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|Gewählter Logbucheintrooch|Gewählte Logbucheinträche}}:',
+'revdelete-text-text' => 'Gelöschte Versione verbleibe noch in der Versionsgeschicht, jedoch sind Tele von ihre Inhalt für die Öffentlichkeit net zugänglich.',
+'revdelete-text-file' => 'Gelöschte Dateiversione verbleibe noch in der Datei-Versionsgeschicht, jedoch sind Tele von ehre Inhalt für die Öffentlichkeit net zugänglich.',
+'logdelete-text' => 'Gelöschte Logbucheinträch verbleibe noch in den Logbücher, jedoch sind Tele von ehre Inhalts für die Öffentlichkeit net zugänglich.',
+'revdelete-text-others' => 'Annre Administratore uff {{SITENAME}} honn noch Zugriff uff den versteckte Inhalt und könne ehn ooch mithelfe um der Spezialseit wiederhearstelle, solang ken zusätzliche Beschränkunge festgeleht sin.',
+'revdelete-confirm' => 'Bittschön bestätich, dass du beabsichtichst, das zu tun, die Konsequenze verstehst und es in Üwereinstimmung mit den [[{{MediaWiki:Policy-url}}|Richtlinie]] tust.',
+'revdelete-suppress-text' => "Unnerdrückung sollte '''nuar''' in den follichende Fälle voargenomm sin:
+* Potentiell beleidichende Informatione
+* Unangebrachte persönliche Informatione
+*: ''Adresse, Telefonnummer, Sozialversichrungsnummer, und so weiter''",
+'revdelete-legend' => 'Setz der Sichtbarkeitseinschränkunge',
+'revdelete-hide-text' => 'Der Version sein Text',
+'revdelete-hide-image' => 'Dateiinhalt verstecke',
+'revdelete-hide-name' => 'Logbuchaktion und Ziel verstecke',
+'revdelete-hide-comment' => 'Beoorbeitungszusammerfassung',
+'revdelete-hide-user' => 'Benutzernoome/IP-Adress von der Beoorbeiter',
+'revdelete-hide-restricted' => 'Daten sowohl voar Administratore als wie ooch annre Benutzer unnerdrücke',
+'revdelete-radio-same' => '(nicht ännre)',
+'revdelete-radio-set' => 'Versteckt',
+'revdelete-radio-unset' => 'Sichtbar',
+'revdelete-suppress' => 'Grund von der Abwischung ooch voar Administratore verstecke',
+'revdelete-unsuppress' => 'Inschränkunge für wiederhergestellte Versione uffhebe',
+'revdelete-log' => 'Grund:',
+'revdelete-submit' => 'Uff gewählte {{PLURAL:$1|Version|Versione}} anwenne',
+'revdelete-success' => "'''Die Versionsoonsicht woard aktualisiert.'''",
+'revdelete-failure' => "'''Die Versionssichtbarkeit konnt net aktualisiert sin:'''
+$1",
+'logdelete-success' => "'''Logbuchoonsicht erfollichreich geännert.'''",
+'logdelete-failure' => "'''Logbuchsichtbarkeit kann net geännert sin:'''
+$1",
+'revdel-restore' => 'Sichtbarkeit ännre',
+'pagehist' => 'Versionsgeschicht',
+'deletedhist' => 'Ausgewischte Versione',
+'revdelete-hide-current' => 'Fehler beim Verstecke von der Eintrooch vom $1, $2 Uhr: Das ist die aktuelle Version.
+Sie kann net versteckt sin.',
+'revdelete-show-no-access' => 'Fehler beim Oonzeiche von der Eintrooch vom $1, $2 Uhr: Der Eintrooch woard als "eingeschränkt" markiert.
+Du host druf ken Zugriff.',
+'revdelete-modify-no-access' => 'Fehler beim Beoorbeite von der Eintroohc vom $1, $2 Uhr: Der Eintrooch woard als wie "eingeschränkt" markiert.
+Du host druf ken Zugriff.',
+'revdelete-modify-missing' => 'Fehler beim Beoorbeite von ID $1: Es fehlt in der Datebank!',
+'revdelete-no-change' => "'''Warnung:''' Der Eintrooch vom $1, $2 Uhr besitzt schon die gewünschte Sichtbarkeitseinstellunge.",
+'revdelete-concurrent-change' => 'Fehler beim Beoorbeite von der Eintrooch vom $1, $2 Uhr: Es scheint, als ob der Status von jemandem geännert woard, bevoar du voarhast, ihn zu beoorbeite.
+Bitte prüf die Logbücher.',
+'revdelete-only-restricted' => 'Fehler beim Verstecke von der Eintrooch vom $1, $2 Uhr: Du kannst ken Eintrooch voar Administratore verstecke, ohne en der annre Oonsichtsoptione gewählt zu hoon.',
+'revdelete-reason-dropdown' => '*Allgemeine Abwischgründe
+** Urheberrechtsverletzung
+** Unoongebrachte Kommentare orrer persönliche Informatione
+** Unoongebrachter Benutzernoome
+** Potentiell beleidichende Informatione',
+'revdelete-otherreason' => 'Annre/ergänzender Grund:',
+'revdelete-reasonotherlist' => 'Annrer Grund',
+'revdelete-edit-reasonlist' => 'Abwischgründe beoorbeite',
+'revdelete-offender' => 'Der Version sein Autor:',
+
+# Suppression log
+'suppressionlog' => 'Oversight-Logbuch',
+'suppressionlogtext' => 'Das ist das Logbuch der Oversight-Aktione (Ännrunge von der Sichtbarkeit von Versione, Beoorbeitungskommentare, Benutzernoome und Benutzersperre).
+Sieh die [[Special:BlockList|List von der gesperrte IP-Adresse und Benutzernoome]] für aktuelle Sperre.',
+
+# History merging
+'mergehistory' => 'Versionsgeschichte vereine',
+'mergehistory-header' => 'Mit der Spezialseit kannst du die Versionsgeschicht von en Ursprungsseit mit der Versionsgeschicht von en Zielseit vereine.
+Stell sicher, dass die Versionsgeschicht von en Seit historisch korrekt ist.',
+'mergehistory-box' => 'Versionsgeschichte zwooier Seite vereine',
+'mergehistory-from' => 'Uarsprungsseit:',
+'mergehistory-into' => 'Zielseit:',
+'mergehistory-list' => 'Versione, wo vereinigt sin könne',
+'mergehistory-merge' => 'Die follichende Versione von "[[:$1]]" könne noh "[[:$2]]" üwertroon sin. Markier die Version, bis zu der (einschliesslich) die Versione üwertroon sin solle. Bittschön beacht, dass die Nutzung von der Navigationslink die Auswahl zurücksetzt.',
+'mergehistory-go' => 'Zeich Versione, wo vereinicht sin könne',
+'mergehistory-submit' => 'Vereinich Versione',
+'mergehistory-empty' => 'Do könne ken Versione vereinicht sin.',
+'mergehistory-success' => '{{PLURAL:$3|1 Version|$3 Versione}} von "[[:$1]]" erfollichreich noh „[[:$2]]“ vereinicht.',
+'mergehistory-fail' => 'Versionsvereinichung net möchlich, bittschön prüf die Seit und die Zeitoongäb.',
+'mergehistory-no-source' => 'Uarsprungsseit "$1" ist net voarhand.',
+'mergehistory-no-destination' => 'Zielseit "$1" ist net voarhand.',
+'mergehistory-invalid-source' => 'Uarsprungsseit muss en gülticher Seitnoome sin.',
+'mergehistory-invalid-destination' => 'Zielseit muss en gülticher Seitnoome sin.',
+'mergehistory-autocomment' => '"[[:$1]]" vereinicht noh "[[:$2]]"',
+'mergehistory-comment' => '"[[:$1]]" vereinicht noh "[[:$2]]": $3',
+'mergehistory-same-destination' => 'Ausgangs- und Zielseit deerfe net identisch sin',
+'mergehistory-reason' => 'Grund:',
+
+# Merge log
+'mergelog' => 'Vereinichungs-Logbuch',
+'pagemerge-logentry' => 'vereinichte [[$1]] in [[$2]] (Versione bis $3)',
+'revertmerge' => 'Vereinichung rückgängich mache',
+'mergelogpagetext' => 'Das ist das Logbuch von der vereinichte Versionsgeschichte.',
+
+# Diffs
+'history-title' => '$1: Versionsgeschicht',
+'difference-title' => '$1: Unnerschied zwischich den Versione',
+'difference-title-multipage' => '$1 und $2: Unnerschied zwischich den Seite',
+'difference-multipage' => '(Unnerschied zwischich Seite)',
+'lineno' => 'Zeil $1:',
+'compareselectedversions' => 'Gewählte Versione vergleiche',
+'showhideselectedversions' => 'Gewählte Versione zeiche/verstecke',
+'editundo' => 'rückgängich mache',
+'diff-empty' => '(ken Unnerschied)',
+'diff-multi-sameuser' => '({{PLURAL:$1|En dozwischerlehnde Version|$1 dozwischerlehnde Versione}} von der selwiche Benutzer werre net oongezeicht)',
+'diff-multi-otherusers' => '({{PLURAL:$1|En dozwischerlehnd Version|$1 dozwischerlehnde Versione}} von {{PLURAL:$2|en annre Benutzer|$2 Benutzer}} werre net oongezeicht)',
+'diff-multi-manyusers' => '({{PLURAL:$1|$1 dozwischerlehnde Versione}} von meahr als {{PLURAL:$2|$2 Benutzer}}, die net oongezeicht sin)',
+'difference-missing-revision' => '{{PLURAL:$2|Ein Version|$2 Versione}} der Unnerschiedsoonzeich ($1) {{PLURAL:$2|woard|worre}} net gefund.
+
+Der Fehler weard normalerweis von en veraltete Link zur Versionsgeschicht von en Seit verursacht, wo zwischichzeitlich abgewischt woard.
+Einzelheite sind im [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} Abwasch-Logbuch] voarhand.',
+
+# Search results
+'searchresults' => 'Suchergebnisse',
+'searchresults-title' => 'Suchergebnisse für „$1“',
+'toomanymatches' => 'Die Oonzoohl von der Suchergebnisse ist zu gross, bittschön versuch en annre Abfroch.',
+'titlematches' => 'Üwereinstimmunge mit Seitetitle',
+'textmatches' => 'Üwereinstimmunge mit Inhalte',
+'notextmatches' => 'Ken Üwereinstimmunge mit Inhalte',
+'prevn' => '{{PLURAL:$1|voarhericher|vorheriche $1}}',
+'nextn' => '{{PLURAL:$1|nächster|nächste $1}}',
+'prevn-title' => '{{PLURAL:$1|Voarheriches Ergebnis|Vorherige $1 Ergebnisse}}',
+'nextn-title' => '{{PLURAL:$1|Voarheriches Ergebnis|Vorherige $1 Ergebnisse}}',
+'shown-title' => 'Zeiche $1 {{PLURAL:$1|Ergebnis|Ergebnisse}} pro Seit',
+'viewprevnext' => 'Zeiche ($1 {{int:pipe-separator}} $2) ($3)',
+'searchmenu-exists' => "'''Es gebt en Seit, wo den Noome \"[[:\$1]]\" hot.''' 
+{{PLURAL:\$2|0=|Sieh ooch die annre Suchresultate wo gefund woore.}}",
+'searchmenu-new' => '<strong>Erstell die Seit "[[:$1]]" in dem Wiki.</strong> {{PLURAL:$2|0=|Sieh ooch die üwer dein Such gefundne Seit.|Sieh ooch die gefundne Suchergebnisse.}}',
+'searchprofile-articles' => 'Inhaltsseite',
+'searchprofile-project' => 'Helleft - und Projektseite',
+'searchprofile-images' => 'Multimedia',
+'searchprofile-everything' => 'Alles',
+'searchprofile-advanced' => 'Erweitert',
+'searchprofile-articles-tooltip' => 'Suche in $1',
+'searchprofile-project-tooltip' => 'Such in $1',
+'searchprofile-images-tooltip' => 'Noh Dateie suche',
+'searchprofile-everything-tooltip' => 'Gesamte Inhalt doorrichsuche (inklusive Diskussionsseite)',
+'searchprofile-advanced-tooltip' => 'Such in weitre Noomeräume',
+'search-result-size' => '$1 ({{PLURAL:$2|1 Wort|$2 Wörter}})',
+'search-result-category-size' => '{{PLURAL:$1|1 Seit|$1 Seite}} ({{PLURAL:$2|1 Unnerkategorie|$2 Unnerkategorie}}, {{PLURAL:$3|1 Datei|$3 Dateie}})',
+'search-result-score' => 'Relevanz: $1 %',
+'search-redirect' => '(Weiterleitung von „$1“)',
+'search-section' => '(Abschnitt $1)',
+'search-file-match' => '(treffende Dateiinhalte)',
+'search-suggest' => 'Host du gemeent „$1“?',
+'search-interwiki-caption' => 'Schwesterprojekte',
+'search-interwiki-default' => 'Ergebnisse von $1:',
+'search-interwiki-more' => '(weitre)',
+'search-relatedarticle' => 'Verwandte',
+'searcheverything-enable' => 'In alle Noomeräume suche',
+'searchrelated' => 'verwandt',
+'searchall' => 'alle',
+'showingresults' => "Hier {{PLURAL:$1|ist '''1''' Ergebnis|sind '''$1''' Ergebnisse}}, beginnend mit Nummer '''$2.'''",
+'showingresultsinrange' => 'Unne {{PLURAL:$1|weard <strong>en</strong> Ergebnis|werre bis zu <strong>$1</strong> Ergebnisse}} im Bereich <strong>$2</strong> bis <strong>$3</strong> oongezeicht.',
+'showingresultsnum' => "Hier {{PLURAL:$3|ist '''1''' Ergebnis|sind '''$3''' Ergebnisse}}, beginnend mit Nummer '''$2.'''",
+'showingresultsheader' => "{{PLURAL:$5|Ergebnis '''$1''' von '''$3'''|Ergebnisse '''$1–$2''' von '''$3'''}} für '''$4'''",
+'search-nonefound' => 'Zu deiner Suchoonfroch wore ken Ergebnisse gefund.',
+'powersearch-legend' => 'Erweiterte Such',
+'powersearch-ns' => 'Such in Noomeräume:',
+'powersearch-redir' => 'Weiterleitunge oonzeiche',
+'powersearch-togglelabel' => 'Wähl aus:',
+'powersearch-toggleall' => 'All',
+'powersearch-togglenone' => 'Ken',
+'search-external' => 'Externe Such',
+'searchdisabled' => 'Die {{SITENAME}}-Such ist deaktiviert. Du kannst unnerdessen mit Google suche. Bittschön bedenke, dass der Suchindex von {{SITENAME}} veraltet sin kann.',
+'search-error' => 'Bei der Such ist en Fehler uffgetret: $1',
+
+# Preferences page
+'preferences' => 'Einstellunge',
+'mypreferences' => 'Instellunge',
+'prefs-edits' => 'Oonzoohl von der Bearbeitunge:',
+'prefsnologintext2' => 'Du musst dich $1, um Benutzereinstellunge festzulehn.',
+'prefs-skin' => 'Benutzerowerfläche',
+'skin-preview' => 'Vorschau',
+'datedefault' => 'Standard',
+'prefs-beta' => 'Beta-Funktione',
+'prefs-datetime' => 'Datum und Zeit',
+'prefs-labs' => 'Alpha-Funktione',
+'prefs-user-pages' => 'Benutzerseite',
+'prefs-personal' => 'Benutzerdate',
+'prefs-rc' => 'Letzte Ännrunge',
+'prefs-watchlist' => 'Beobachtungslist',
+'prefs-watchlist-days' => 'Maximale Oonzoohl von der inbezochne Tooche:',
+'prefs-watchlist-days-max' => 'Maximal {{PLURAL:$1|en Tooch|$1 Tooche}}',
+'prefs-watchlist-edits' => 'Maximal Oonzoohl von der oongezeichte Inträche:',
+'prefs-watchlist-edits-max' => 'Maximal 1.000 Inträche',
+'prefs-watchlist-token' => 'Token von der Beobachtungslist:',
+'prefs-misc' => 'Verschiednes',
+'prefs-resetpass' => 'Passwort ännre',
+'prefs-changeemail' => 'E-Mail-Adress ännre',
+'prefs-setemail' => 'E-Mail-Adress festlehn',
+'prefs-email' => 'E-Mail-Optione',
+'prefs-rendering' => 'Aussiehn',
+'saveprefs' => 'Instellunge speichre',
+'restoreprefs' => 'Alle Standardinstellunge wiederhearstelle (in alle Abschnitte)',
+'prefs-editing' => 'Beoorbeite',
+'rows' => 'Zeile:',
+'columns' => 'Spalte:',
+'searchresultshead' => 'Such',
+'stub-threshold' => 'Linkformatierung <a href="#" class="stub">klen Seite</a> (in Bytes):',
+'stub-threshold-disabled' => 'Deaktiviert',
+'recentchangesdays' => 'Oonzoohl von der standardmässich inbezochne Tooche:',
+'recentchangesdays-max' => 'Maximal $1 {{PLURAL:$1|Tooch|Tooche}}',
+'recentchangescount' => 'Oonzoohl von der standardmässich oongezeichte Beoorbeitunge:',
+'prefs-help-recentchangescount' => 'Das umfasst die List von der letzte Ännrunge, die Versionsgeschichte und die Logbücher.',
+'prefs-help-watchlist-token2' => 'Das ist der geheime Schlüssel zum Webfeed von deiner Beobachtungslist.
+Jeder, wo ihn kennt, kann dein Beobachtungslist lese. Tue ihn, dodrum, net teile.
+[[Special:ResetTokens|Klick hier, wenns du ihn zurücksetze musst]].',
+'savedprefs' => 'Dein Einstellunge woorre gespeichert.',
+'timezonelegend' => 'Zeitzone:',
+'localtime' => 'Platzzeit:',
+'timezoneuseserverdefault' => 'Standardzeit von das Wiki nutze ($1)',
+'timezoneuseoffset' => 'Annre (Unnerschied oongewe)',
+'servertime' => 'Aktuelle Zeit uff dem Server:',
+'guesstimezone' => 'Vom Browser üwernehme',
+'timezoneregion-africa' => 'Afrika',
+'timezoneregion-america' => 'Amerika',
+'timezoneregion-antarctica' => 'Antarktis',
+'timezoneregion-arctic' => 'Arktis',
+'timezoneregion-asia' => 'Asie',
+'timezoneregion-atlantic' => 'Atlantischer Ozean',
+'timezoneregion-australia' => 'Australie',
+'timezoneregion-europe' => 'Europa',
+'timezoneregion-indian' => 'Indischer Ozean',
+'timezoneregion-pacific' => 'Pazifischer Ozean',
+'allowemail' => 'E-Mail-Empfang von annre Benutzer ermöchliche',
+'prefs-searchoptions' => 'Such',
+'prefs-namespaces' => 'Noomeräume',
+'defaultns' => 'Annrenfalls in den Noomeräume suche:',
+'default' => 'Voareinstellung',
+'prefs-files' => 'Dateie',
+'prefs-custom-css' => 'Benutzerdefinierte CSS',
+'prefs-custom-js' => 'Benutzerdefiniertes JavaScript',
+'prefs-common-css-js' => 'Gemeinsames CSS/JavaScript von aller Benutzerowerfläche:',
+'prefs-reset-intro' => 'Du kannst die Seit verwenne, um die Einstellunge uff die Standards zurückzusetzen.
+Das kann net meh rückgängich gemacht sin.',
+'prefs-emailconfirm-label' => 'E-Mail-Bestätichung:',
+'youremail' => 'E-Mail-Adress:',
+'username' => '{{GENDER:$1|Benutzernoome}}:',
+'uid' => '{{GENDER:$1|Benutzerkennung}}:',
+'prefs-memberingroups' => '{{GENDER:$2|Mitglied}} von der {{PLURAL:$1|Benutzergrupp|Benutzergruppe}}:',
+'prefs-registration' => 'Oonmeldezeitpunkt:',
+'yourrealname' => 'Dein Noome wie registriert:',
+'yourlanguage' => 'Sproche von der Benutzerowerfläche:',
+'yourvariant' => 'Sprachvariante:',
+'prefs-help-variant' => 'Die bevoarzuchte Schreibvariante orrer Orthografie, in der die Wikiseite oongezeicht werre solle.',
+'yournick' => 'Signatur:',
+'prefs-help-signature' => 'Beiträche uff Diskussionsseite sollte mit „<nowiki>~~~~</nowiki>“ signiert sin, was dann in die Signatur mit Zeitstempel umgewandelt weard.',
+'badsig' => 'Die Syntax von der Signatur ist ungültich; bittschön HTML üwerprüfe.',
+'badsiglength' => 'Die Signatur därref maximal $1 {{PLURAL:$1|Zeiche}} lang sin.',
+'yourgender' => 'Mit was für Geschlecht tust du dich identifiziere?',
+'gender-unknown' => 'Ich möcht hierzu ken Oongäb mache',
+'gender-male' => 'Ich sin männlich',
+'gender-female' => 'Ich sin weiblich',
+'prefs-help-gender' => 'Das ist eine freiwilliche Oongäb.
+Die Software nutzt se, um dich oonzurede sowie als Hinweis für annre doorrich Verwennung von der zutreffende grammatikalische Geschlecht.
+Die Information ist öffentlich.',
+'email' => 'E-Mail',
+'prefs-help-realname' => 'Das ist en freiwilliche Oongäb. Domit kann dein bürgerlicher/registrierte Noome zu deine Beiträche zugeordnet sin.',
+'prefs-help-email' => 'Die oongäb von en E-Mail-Adress ist optional, ermöchlicht awer die Zusendung von en Ersatzpasswort, soweit du dein Passwort vergess host.',
+'prefs-help-email-others' => 'Mit annre Benutzer kannst du ooch üwer die Benutzerdiskussionsseit Kontakt uffnehme, ohne dass du dein Identität ufflehn musst.',
+'prefs-help-email-required' => 'Es weard en gültiche E-Mail-Adress benöticht.',
+'prefs-info' => 'Basisinformatione',
+'prefs-i18n' => 'Sproch',
+'prefs-signature' => 'Signatur',
+'prefs-dateformat' => 'Datumsformat',
+'prefs-timeoffset' => 'Zeitunnerschied',
+'prefs-advancedediting' => 'Allgemeine Optione',
+'prefs-editor' => 'Beoorbeitungsprogramm',
+'prefs-preview' => 'Vorschau',
+'prefs-advancedrc' => 'Erweiterte Optione',
+'prefs-advancedrendering' => 'Erweiterte Optione',
+'prefs-advancedsearchoptions' => 'Erweiterte Optione',
+'prefs-advancedwatchlist' => 'Erweiterte Optione',
+'prefs-displayrc' => 'Oonzeichoptione',
+'prefs-displaysearchoptions' => 'Oonzeichoptione',
+'prefs-displaywatchlist' => 'Oonzeichoptione',
+'prefs-tokenwatchlist' => 'Token',
+'prefs-diffs' => 'Versionsvergleich',
+'prefs-help-prefershttps' => 'Die Instellung weard bei deiner nächste Oonmeldung weerreksam.',
+'prefs-tabs-navigation-hint' => 'Tipp: Du kannst die linke und rechte Pfeiltaste benutze, um zwischich den Registerkoorter in der Reiterlist zu navigiere.',
+
+# User preference: email validation using jQuery
+'email-address-validity-valid' => 'Die E-Mail-Adress scheint gültich zu sin.',
+'email-address-validity-invalid' => 'En gültich E-Mail-Adress ist nötich.',
+
+# User rights
+'userrights' => 'Benutzerrechteverwaltung',
+'userrights-lookup-user' => 'Gruppezugehörigkeit verwalte',
+'userrights-user-editname' => 'Benutzernoome:',
+'editusergroup' => 'Gruppezugehörigkeit ännre',
+'editinguser' => "Ännre Benutzerrechte von '''[[User:$1|$1]]''' $2",
+'userrights-editusergroup' => 'Gruppezugehörigkeit verännre',
+'saveusergroups' => 'Gruppezugehörigkeit ännre',
+'userrights-groupsmember' => 'Mitglied von:',
+'userrights-groupsmember-auto' => 'Automatisch Mitglied von:',
+'userrights-groups-help' => 'Du kannst die Gruppezugehörigkeit {{GENDER:$1|von der Benutzer|die Benutzrin}} ännre:
+* En markierte Kästche bedeitet, dass {{GENDER:$1|der Benutzer|die Benutzrin}} der Grupp Mitglied ist.
+* En nichtmarkierte Kästche bedeitet, dass {{GENDER:$1|der Benutzer|die Benutzrin}} net Mitglied von der Grupp ist.
+* En * bedeitet, dass du das Benutzerrecht noh Erteilung net wieder zurücknehme kannst (orrer umgekeahrt).',
+'userrights-reason' => 'Grund:',
+'userrights-no-interwiki' => 'Du host net die nötiche Berechtichung, um Benutzerrechte in annre Wikis ännre  könne.',
+'userrights-nodatabase' => 'Die Datebank $1 ist net voarhand orrer net lokal.',
+'userrights-nologin' => 'Du musst dich mit en Administratoar-Benutzerkonto [[Special:UserLogin|oonmeld]], um Benutzerrechte ännre.',
+'userrights-notallowed' => 'Du verfüchst net üwer die erforderliche Berechtichunge, um Benutzerrechte vergebe orrer entziehe könne.',
+'userrights-changeable-col' => 'Gruppezugehörigkeit, die du ännre kannst',
+'userrights-unchangeable-col' => 'Gruppezugehörigkeit, die du net ännre kannst',
+'userrights-conflict' => 'Benutzerrechteännerungskonflikt! Bittschön üwerprüf und bestätich deine Ännrunge.',
+'userrights-removed-self' => 'Du host dein eichne Rechte erfollichreich entfernt. Du kannst net länger uff die Seit zugreife.',
+
+# Groups
+'group' => 'Grupp:',
+'group-user' => 'Benutzer',
+'group-autoconfirmed' => 'Automatisch bestätichte Benutzer',
+'group-bot' => 'Bots',
+'group-sysop' => 'Administratore',
+'group-bureaucrat' => 'Bürokrate',
+'group-suppress' => 'Oversighter (Üwerwächter)',
+'group-all' => '(alle)',
+
+'group-user-member' => 'Bot',
+'group-autoconfirmed-member' => '{{GENDER:$1|Automatisch bestätichter Benutzer|Automatisch bestätichte Benutzrin}}',
+'group-bot-member' => 'Bot',
+'group-sysop-member' => '{{GENDER:$1|Administratoar|Administratorin}}',
+'group-bureaucrat-member' => '{{GENDER:$1|Bürokrat|Bürokratin}}',
+'group-suppress-member' => '{{GENDER:$1|Oversighter|Oversightrin}} 
+(Üwerwächter|Üwerwächtrin)',
+
+'grouppage-user' => '{{ns:project}}:Benutzer',
+'grouppage-autoconfirmed' => '{{ns:project}}:Automatisch bestätichte Benutzer',
+'grouppage-bot' => '{{ns:project}}:Bots',
+'grouppage-sysop' => '{{ns:project}}:Administratore',
+'grouppage-bureaucrat' => '{{ns:project}}:Bürokrate',
+'grouppage-suppress' => '{{ns:project}}:Oversighter (Üwerwächter)',
+
+# Rights
+'right-read' => 'Seite lese',
+'right-edit' => 'Seite beoorbeite',
+'right-createpage' => 'Seite erstelle (ausser Diskussionsseite)',
+'right-createtalk' => 'Diskussionsseite erstelle',
+'right-createaccount' => 'Benutzerkonto erstelle',
+'right-minoredit' => 'Bearbeitunge wie klen markiere',
+'right-move' => 'Seite verschiebe',
+'right-move-subpages' => 'Seite inklusive Unnerseite verschiebe',
+'right-move-rootuserpages' => 'Haupt-Benutzerseite verschiebe',
+'right-movefile' => 'Dateie verschiebe',
+'right-suppressredirect' => 'Beim Verschiebe die Erstellung von en Weiterleitung unnerdrücke',
+'right-upload' => 'Dateie hochloode',
+'right-reupload' => 'Üwerschreibe en voarhandne Datei',
+'right-reupload-own' => 'Üwerschreibe von en zuvoar sellebst hochgeladne Datei',
+'right-reupload-shared' => 'Lokales Üwerschreibe von en in enem gemeinsam genutzte Repositorium voarhandne Datei',
+'right-upload_by_url' => 'Dateie von en URL-Adress hochloode',
+'right-purge' => 'Seitecache leere ohne Rückfroche',
+'right-autoconfirmed' => 'Ken Beschränkung doorrich IP-basiert Limits (limmitatione)',
+'right-bot' => 'Behandlung wie automatischer Prozess',
+'right-nominornewtalk' => 'Klene Beoorbeitunge an Diskussionsseite führe zu kenr "Neie Nachrichte"-Oonzeiche',
+'right-apihighlimits' => 'Höchre Limits (limmitatione) in API-Abfroche',
+'right-writeapi' => 'Benutzung von der writeAPI',
+'right-delete' => 'Seite lösche',
+'right-bigdelete' => 'Seite mit grosser Versionsgeschicht abwische',
+'right-deletelogentry' => 'Enzelne Logbuch-Einträche abwische und wiederherstelle',
+'right-deleterevision' => 'Einzelne Versione von en Seit abwische und wiederherstelle',
+'right-deletedhistory' => 'Abgewischte Versione in der Versionsgeschicht oonsiehn, ohne zugehöriche Text',
+'right-deletedtext' => 'Abgewischte Texte und Versionsunnerschiede zwischich abgewischte Versione oonsiehn',
+'right-browsearchive' => 'Noh abgewischte Seite suche',
+'right-undelete' => 'Seite wiederherstelle',
+'right-suppressrevision' => 'Versione oonsiehn und wiederherstelle, die ooch voar Administratore verborriche sind',
+'right-suppressionlog' => 'Private Logbücher oonsiehn',
+'right-block' => 'Benutzer sperre (Schreibrecht)',
+'right-blockemail' => 'Benutzer am Versende von E-Mails hinnre',
+'right-hideuser' => 'Benutzernoome sperre und verberrich.',
+'right-ipblock-exempt' => 'Ausnoohme von IP-Sperre, automatische Sperre und Rangesperre',
+'right-proxyunbannable' => 'Ausnoohme von automatische Proxysperre',
+'right-unblockself' => 'Sich entsperre',
+'right-protect' => 'Seitenschutzstatus ännre und kaskadengeschützte Seite beoorbeite',
+'right-editprotected' => 'Seite bearbeite, wo als "{{int:protect-level-sysop}}" geschützt sind',
+'right-editsemiprotected' => 'Seite beoorbeite, wo als "{{int:protect-level-autoconfirmed}}" geschützt sind',
+'right-editinterface' => 'Benutzeroberfläche beoorbeite',
+'right-editusercssjs' => 'Fremde CSS- und JavaScript-Dateie beoorbeite',
+'right-editusercss' => 'Fremde CSS-Dateie bearbeite',
+'right-edituserjs' => 'Fremde JavaScript-Dateie boobeite',
+'right-editmyusercss' => 'Eichne Benutzer-CSS-Dateie beoorbeite',
+'right-editmyuserjs' => 'Eichne Benutzer-JavaScript-Dateie beoorbeite',
+'right-viewmywatchlist' => 'Eichne Beobachtungsliste oonsiehn',
+'right-editmywatchlist' => 'Eichne Beobachtungslist beoorbeite. Eniche Aktione ermöchliche das Hinzufüche von Seite ohne das Recht.',
+'right-viewmyprivateinfo' => 'Eichne private Date oonsiehn (beispielsweis E-Mail-Adress, bürcherlicher / registrierte Noome)',
+'right-editmyprivateinfo' => 'Eichne private Date beoorbeite (beispielsweis E-Mail-Adress, bürcherlicher / registrierte Noome)',
+'right-editmyoptions' => 'Eichne Einstellunge beoorbeite',
+'right-rollback' => 'Schnelles Zurücksetze',
+'right-markbotedits' => 'Schnell zurückgesetzte Beoorbeitunge wie Bot-Bearbeitung markiere',
+'right-noratelimit' => 'Ken Beschränkung doorrich Limits',
+'right-import' => 'Seite aus annre Wikis importiere',
+'right-importupload' => 'Seite üwer Hochlade von Dateie importiere',
+'right-patrol' => 'Fremde Beoorbeitunge als kontrolliert markiere',
+'right-autopatrol' => 'Eichne Beoorbeitungen automatisch wie kontrolliert markiere',
+'right-patrolmarks' => 'Kontrollmarkierunge in den letzte Ändrunge siehn',
+'right-unwatchedpages' => 'List von der unbeobachtete Seite oonsiehn',
+'right-mergehistory' => 'Versionsgeschichte von Seite vereine',
+'right-userrights' => 'Benutzerrechte beoorbeite',
+'right-userrights-interwiki' => 'Benutzerrechte in annre Wikis beoorbeite',
+'right-siteadmin' => 'Datebank sperre und entsperre',
+'right-override-export-depth' => 'Exportier Seite einschliesslich verlinkter Seite bis zu en Tief von 5',
+'right-sendemail' => 'E-Mails an annre Benutzer sende',
+'right-passwordreset' => 'Passwort von en Benutzer zurücksetze und die dazu verschickte E-Mail einsiehn',
+
+# Special:Log/newusers
+'newuserlogpage' => 'Neioonmeldungs-Logbuch',
+'newuserlogpagetext' => 'Dies ist en Logbuch von der nei erstellte Benutzerkonte.',
+
+# User rights log
+'rightslog' => 'Rechte-Logbuch',
+'rightslogtext' => 'Das ist das Logbuch von der Ännrunge zu Benutzerrechte.',
+
+# Associated actions - in the sentence "You do not have permission to X"
+'action-read' => 'die Seit zu lese',
+'action-edit' => 'die Seit zu beoorbeite',
+'action-createpage' => 'Seite zu erstelle',
+'action-createtalk' => 'Diskussionsseite erstelle',
+'action-createaccount' => 'der Benutzerkonto erstelle',
+'action-minoredit' => 'die Beoorbeitung als klen markiere',
+'action-move' => 'die Seit verschiebe',
+'action-move-subpages' => 'die Seit und zugehöriche Unnerseite verschiebe',
+'action-move-rootuserpages' => 'Haupt-Benutzerseite verschiebe',
+'action-movefile' => 'Die Datei verschiebe',
+'action-upload' => 'Dateie hochoode',
+'action-reupload' => 'die voarhandne Datei zu üwerschreibe',
+'action-reupload-shared' => 'die Datei aus dem gemeinsam genutzte Repositorium üwerschreibe',
+'action-upload_by_url' => 'Dateie von en Webadress (URL) hochloode',
+'action-writeapi' => 'die API mit Schreibzugriffe verwenne',
+'action-delete' => 'Seite abwische',
+'action-deleterevision' => 'Versione abwische',
+'action-deletedhistory' => 'die List von der abgewischte Versione siehn',
+'action-browsearchive' => 'noh abgewischte Seite suche',
+'action-undelete' => 'die Seit wiederhearstelle',
+'action-suppressrevision' => 'die versteckte Versio einsiehn und wiederhearstelle',
+'action-suppressionlog' => 'das privat Logbuch einsiehn',
+'action-block' => 'den Benutzer sperre',
+'action-protect' => 'den Schutzstatus von Seite ännre',
+'action-rollback' => 'die Ännrunge von der letzte Beoorbeiter von en bestimmter Seit schnell zurücksetze',
+'action-import' => 'Seite aus en andre Wiki importiere',
+'action-importupload' => 'Seite üwer das Hochloode von en Datei importiere',
+'action-patrol' => 'Beoorbeitunge von anne Benutzer wie kontrolliert markiere',
+'action-autopatrol' => 'eichne Beoorbeitunge wie kontrolliert markiere',
+'action-unwatchedpages' => 'die List von der unbeobachtete Seite insiehn',
+'action-mergehistory' => 'die Versionegeschichte von Seite vereine',
+'action-userrights' => 'Benutzerrechte ännre',
+'action-userrights-interwiki' => 'die Rechte von Benutzer in annre Wikis ännre',
+'action-siteadmin' => 'die Datebank sperre orrer frei mache',
+'action-sendemail' => 'E-Mails sende',
+'action-editmywatchlist' => 'dein Beobachtungslist beoorbeite',
+'action-viewmywatchlist' => 'dein Beobachtungslist oonsiehn',
+'action-viewmyprivateinfo' => 'deine private Informatione gucke',
+'action-editmyprivateinfo' => 'deine private Informatione boorbeite',
+
+# Recent changes
+'nchanges' => '$1 {{PLURAL:$1|Ännrung|Ännrunge}}',
+'enhancedrc-since-last-visit' => '$1 {{PLURAL:$1|seit dem letzte Besuch}}',
+'enhancedrc-history' => 'Versionsgeschicht',
+'recentchanges' => 'Letzte Ändrunge',
+'recentchanges-legend' => 'Oonzeicheoptione',
+'recentchanges-summary' => 'Uff der Seit kannst du die letzte Ännrunge in dem Wiki nohverfolche.',
+'recentchanges-noresult' => 'Ken Ännrunge im Verloof von (während) vom dem oongebne Zeitraum entspreche die Kriterie.',
+'recentchanges-feed-description' => 'Verfolliche mit dem Feed die letzte Ännrunge in {{SITENAME}}.',
+'recentchanges-label-newpage' => 'Neie Seit',
+'recentchanges-label-minor' => 'Klen Ännrung',
+'recentchanges-label-bot' => 'Ännrung doorich en Bot',
+'recentchanges-label-unpatrolled' => 'Nicht-kontrollierte Ännrung',
+'recentchanges-label-plusminus' => 'Die Ännrung von der Seitengröss in Bytes',
+'recentchanges-legend-heading' => "'''Legende:'''",
+'recentchanges-legend-newpage' => '(sieh ooch die [[Special:NewPages|List von neier Seite]])',
+'rcnotefrom' => 'Oongezeicht sin die Ännrunge seit <strong>$2</strong> (max. <strong>$1</strong> Einträch).',
+'rclistfrom' => 'Nuar Ännrunge seit $3, $2 Uhr zeiche.',
+'rcshowhideminor' => 'Klene Ändrunge $1',
+'rcshowhideminor-show' => 'oonzeiche',
+'rcshowhideminor-hide' => 'versteck',
+'rcshowhidebots' => 'Bots $1',
+'rcshowhidebots-show' => 'Zeich',
+'rcshowhidebots-hide' => 'Versteck',
+'rcshowhideliu' => 'Registrierte Benutzer $1',
+'rcshowhideliu-show' => 'Zeich',
+'rcshowhideliu-hide' => 'Versteck',
+'rcshowhideanons' => 'Unoongemeldete Benutzer $1',
+'rcshowhideanons-show' => 'Zeich',
+'rcshowhideanons-hide' => 'Versteck',
+'rcshowhidepatr' => 'Kontrollierte Ännrunge $1',
+'rcshowhidepatr-show' => 'Zeich',
+'rcshowhidepatr-hide' => 'Versteck',
+'rcshowhidemine' => 'Eichne Beiträche $1',
+'rcshowhidemine-show' => 'Zeich',
+'rcshowhidemine-hide' => 'Versteck',
+'rclinks' => 'Zeich die letzte $1 Ännrunge von der letzte $2 Tooche.<br />$3',
+'diff' => 'Unnerschied',
+'hist' => 'Versione',
+'hide' => 'Versteck',
+'show' => 'Zeich',
+'minoreditletter' => 'K',
+'newpageletter' => 'N',
+'boteditletter' => 'B',
+'number_of_watching_users_pageview' => '[$1 {{PLURAL:$1|beobachtender|beobachtende}} Benutzer]',
+'rc_categories' => 'Nur Seite aus den Kategorie (getrennt mit „|“):',
+'rc_categories_any' => 'Alle',
+'rc-change-size-new' => '$1 {{PLURAL:$1|Byte|Bytes}} noh der Ännrung',
+'newsectionsummary' => 'Neier Abschnitt /* $1 */',
+'rc-enhanced-expand' => 'Einzelheite oonzeiche',
+'rc-enhanced-hide' => 'Einzelheite verstecke',
+'rc-old-title' => 'uarsprünglich erstellt wie "$1"',
+
+# Recent changes linked
+'recentchangeslinked' => 'Ändrungen an verlinkte Seite',
+'recentchangeslinked-feed' => 'Ännrunge an verlinkte Seite',
+'recentchangeslinked-toolbox' => 'Ändrungen an verlinkte Seite',
+'recentchangeslinked-title' => 'Ännrungen an Seite, die von „$1“ verlinkt sind',
+'recentchangeslinked-summary' => "Die Spezialseit listet die letzte Ändrunge an den verlinkte Seite uff (bzw. bei Kategorie an den Mitglieder von der Kategorie). Seite uff deiner [[Special:Watchlist|Beobachtungslist]] sind '''fett''' dorgestellt.",
+'recentchangeslinked-page' => 'Seit:',
+'recentchangeslinked-to' => 'Zeich Ännrunge uff Seite, wo hierher verlinke',
+
+# Upload
+'upload' => 'Dateie hochloode',
+'uploadbtn' => 'Dateie hochloode',
+'reuploaddesc' => 'Abbreche und zurück zur Hochloode-Seit',
+'upload-tryagain' => 'Geännerte Dateibeschreibung abschicke',
+'uploadnologin' => 'Net oongemeldt',
+'uploadnologintext' => 'Du musst dich $1, um Dateie hochloode könne.',
+'upload_directory_missing' => 'Das Upload-Verzeichnis ($1) fehlt und konnt doorrich den Webserver ooch net erstellt sin.',
+'upload_directory_read_only' => 'Der Webserver hot keh Schreibrechte für das Upload-Verzeichnis ($1).',
+'uploaderror' => 'Fehler beim Hochloode',
+'upload-recreate-warning' => "'''Achtung: En Datei mit dem Noome woard schon abgewischt orrer verschob.'''
+
+Es folcht en Auszuch aus dem Abwäsch- und Verschiebungs-Logbuch von er Datei.",
+'uploadtext' => "Benutz das Formular, für neie Dateie hochloode.
+
+Geh zu der [[Special:FileList|List hochgeloodner Dateie]], um voarhandne Dateie zu suche und oonzeiche. Sieh ooch das [[Special:Log/upload|Datei-]] und [[Special:Log/delete|Abwäsch-Logbuch]].
+
+Um en '''Bild''' in en Seit zu verwenne, nutz en Link in der follichend Form:
+* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:Datei.jpg]]</nowiki></code>''' – für en Vollbild
+* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:Datei.png|200px|thumb|left|Alternativer Text]]</nowiki></code>''' – für en 200px breites Bild innerhalleb von en Box, mit „Alternativer Text“ als Bildbeschreibung
+* '''<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:Datei.ogg]]</nowiki></code>''' – für en direkt Link uff die Datei, ohne Darstellung von der Datei",
+'upload-permitted' => 'Erlaubt Dateitype: $1.',
+'upload-preferred' => 'Bevoarzuchte Dateitype: $1.',
+'upload-prohibited' => 'Net erlaubte Dateitype: $1.',
+'uploadlog' => 'Datei-Logbuch',
+'uploadlogpage' => 'Datei-Logbuch',
+'uploadlogpagetext' => 'Das ist das Logbuch von der hochgeladne Dateie, sieh ooch die [[Special:NewFiles|Galerie von neier Dateie]] für en visuell Üwerblick.',
+'filename' => 'Dateinoome',
+'filedesc' => 'Beschreibung',
+'fileuploadsummary' => 'Beschreibung/Quell:',
+'filereuploadsummary' => 'Dateiännrunge:',
+'filestatus' => 'Copyright-Status:',
+'filesource' => 'Quell:',
+'uploadedfiles' => 'Hochloode',
+'ignorewarning' => 'Warnung ignoriere und Datei speichre',
+'ignorewarnings' => 'Warnunge ignoriere',
+'minlength1' => 'Dateinoome müsse mindestens en Buchstoob lang sin.',
+'illegalfilename' => 'Der Dateinoome "$1" enthält minschtens en net erlaubtes Zeiche. Bittschön benenn die Datei um und versuch, se wieder erneit hochloode.',
+'filename-toolong' => 'Dateinoome deerfe net grösser wie 240 Bytes sin.',
+'badfilename' => 'Der Dateinoome woard in "$1" geännert.',
+'filetype-mime-mismatch' => 'Dateierweitrung ".$1" stimmt net mit dem MIME-Typ ($2) üwerein.',
+'filetype-badmime' => 'Dateie mit dem MIME-Typ "$1" deerfe net hochgeloode sin.',
+'filetype-bad-ie-mime' => 'Die Datei kann net hochgelood sin, weil der Internet Explorer se wie "$1" erkennt, wo en net erlaubter potentiell gefährlicher Dateityp ist.',
+'filetype-unwanted-type' => "'''\".\$1\"''' ist en unerwünschtes Dateiformat. Erlaubt {{PLURAL:\$3|ist das Dateiformat|sind die Dateiformate}}: \$2.",
+'filetype-banned-type' => '\'\'\'".$1"\'\'\' {{PLURAL:$4|ist en net erlaubter Dateityp|sind net erlaubte Dateitype}}.
+{{PLURAL:$3|Erlaubter Dateityp ist|Erlaubte Dateitype sind}} $2.',
+'filetype-missing' => 'Die hochzuloodende Datei hot ken Erweitrung (z. B. ".jpg").',
+'empty-file' => 'Die von dir üwertraoohte Datei hot ken Inhalt.',
+'file-too-large' => 'Die hochgeloodne Datei woor zu gross.',
+'filename-tooshort' => 'Der Dateinoome ist zu koorz.',
+'filetype-banned' => 'Die Dateiendung ist gesperrt.',
+'verification-error' => 'Die Datei hot die Dateiprüfung net bestand.',
+'hookaborted' => 'Der Versuch, die Änrung doorrichzuführe, woard von en Parsererweitrung abgebroch.',
+'illegal-filename' => 'Der Dateinoome ist net zulässich.',
+'overwrite' => 'Das Üwerschreibe von en schon voarhandne Datei ist net erlaubt.',
+'unknown-error' => 'En unbekannter Fehler ist uffgetret.',
+'tmp-create-error' => 'Temporäre Datei konnte net erstellt sin',
+'tmp-write-error' => 'Fehler beim Schreibe von der temporäre Datei',
+'large-file' => 'Die Dateigröss sollt noh Möchlichkeit $1 net üwerschreite. Die Datei ist $2 gross.',
+'largefileserver' => 'Die Datei ist grösser wie die vom Server eingestellte Maximalgröss.',
+'emptyfile' => 'Die hochgeloodene Datei ist leer. Der Grund kann en Tippfehler (verkeahrt geschrieb) im Dateinoome sin. Bitte kontrollier, ob du die Datei weerklich hochloode willst.',
+'windows-nonascii-filename' => 'Das Wiki unnerstützt ken Dateinoome, wo Sonderzeich enthalte.',
+'fileexists' => 'So en Noome Datei is schon voarhand do. Bittschön prüf <strong>[[:$1]]</strong>, soweit wie du dir net sicher bist, obs du se ännre möchst.
+[[$1|thumb]]',
+'filepageexists' => 'En Beschreibungsseit woard bereits wie <strong>[[:$1]]</strong> erstellt, das ist awer ken Datei mit dem Noome voarhand.
+Die ingegebne Beschreibung weard net uff die Beschreibungsseit üwernomm.
+Die Beschreibungsseit musst du noh dem Hochloode von der Datei noch manuell beoorbeite.
+[[$1|thumb]]',
+'fileexists-extension' => 'En Datei mit en ähnlich Noome ist schon voarhand: [[$2|thumb]]
+* Noome von der hochzuloodenden Datei: <strong>[[:$1]]</strong>
+* Noome von der schon voarhandnen Datei: <strong>[[:$2]]</strong>
+Bittschön wähl en anre Noome.',
+'fileexists-thumbnail-yes' => "Bei der Datei scheint das sich um en Bild verringerter Gröss ''(Miniatur)'' zu handle. [[$1|thumb]]
+Bittschön prüf die Datei <strong>[[:$1]]</strong>.
+Wenn es sich um das Bild in Originalgröss handelt, so braucht ken separates Voarschaubild hochgelood sin.",
+'file-thumbnail-no' => "Der Dateinoome beginnt mit <strong>$1</strong>. Das deitet auf en Bild von verringerter Gröss ''(Minitatur)'' hin.
+Bittschön prüf, obs du das Bild in voller Auflösung voarliehen host und lood das unner dem Originalnoome hoch.",
+'fileexists-forbidden' => 'Unner dem Nome existiert schon en Datei und die kann net üwerschrieb sin. Bittschön geh zurück und lood die Datei unner en annre Noome hoch. [[File:$1|thumb|center|$1]]',
+'fileexists-shared-forbidden' => 'Unner dem Noome existiert schon en Datei im zentral Medienarchiv.
+Wenns du die Datei trotzdem hochloode möchst, geh bittschön zurück und änner den Noome.
+[[File:$1|thumb|center|$1]]',
+'file-exists-duplicate' => 'Die Datei ist en Duplikat von der follichende {{PLURAL:$1|Datei|$1 Dateie}}:',
+'file-deleted-duplicate' => 'En mit der identische Datei ([[:$1]]) woard früher abgewischt. Sieh das Abwäsch-Logbuch ein, bevoar du die hochloode tust.',
+'file-deleted-duplicate-notitle' => 'En identische Datei woard kürzlich abgewischt und der Titel woard unnerdrückt.
+Du sollst jemand froche, wo die Möchlichkeit hot, die unnerdrückte Dateidate oonzusiehn, um die Situation voar dem erneite Hochlood zu üwerprüfe.',
+'uploadwarning' => 'Hochloodewarnung',
+'uploadwarning-text' => 'Bittschön änner unner die Dateibeschreibung und versuch das nochmo erneit.',
+'savefile' => 'Datei speichre',
+'uploadedimage' => 'lud „[[$1]]“ hoch',
+'overwroteimage' => 'Hot en nei Version von "[[$1]]" hochgelood',
+'uploaddisabled' => 'Hochloode deaktiviert',
+'copyuploaddisabled' => 'Das Hochloode von URLs ist deaktiviert',
+'uploadfromurl-queued' => 'Dein Hochloode (Upload) befindt sich jetzt in der Woorteschlang.',
+'uploaddisabledtext' => 'Das Hochloode von Dateie ist deaktiviert.',
+'php-uploaddisabledtext' => 'Das Hochloode von Dateie woard in PHP deaktiviert.
+Bittschön üwerprüf die <code>file_uploads</code>-Einstellung.',
+'uploadscripted' => 'Die Datei enthält HTML- orrer Scriptcode, wo irrtümlich von enem Webbrowser ausgeführt werre könnt.',
+'uploadscriptednamespace' => 'Die SVG-Datei enthält den ungültiche Noomeraum „$1“.',
+'uploadinvalidxml' => 'Das XML in der hochgeladne Datei konnt net geparst werre.',
+'uploadvirus' => 'Die Datei enthält en Virus! Details: $1',
+'uploadjava' => 'Dies ist ein ZIP-Datei, wo en CLASS-Datei von Java enthält.
+Das Hochloode von Java-Dateie ist net gestattet, weil sie die Umgehung von Sicherheitseinschränkunge ermöchliche könnte.',
+'upload-source' => 'Quelldatei',
+'sourcefilename' => 'Quelldatei:',
+'sourceurl' => 'Quell-URL:',
+'destfilename' => 'Zielnoome:',
+'upload-maxfilesize' => 'Maximal Dateigröss: $1',
+'upload-description' => 'Dateibeschreibung',
+'upload-options' => 'Hochloodeoptione',
+'watchthisupload' => 'Die Datei beobacht',
+'filewasdeleted' => 'En Datei mit dem Noome woard schon emol hochgelood und zwischichzeitlich wieder abgewischt. Bittschön prüf zuearst den Eintrooch im $1, bevoar du die Datei weerklich speichre tust.',
+'filename-bad-prefix' => "Der Dateinoome beginnt mit '''\"\$1\"'''. Das ist im allgemein der von en Digitalkamera voargebne Dateinoome und doher net seahr aussoognkräftig.
+Bittschön geb der Datei en Noome, wo den Inhalt besser beschreibt.",
+'upload-success-subj' => 'Erfollichreich hochgelood',
+'upload-success-msg' => 'Das Hochloode von [$2] woor erfollichreich. Die ist hier verfüchbar: [[:{{ns:file}}:$1]]',
+'upload-failure-subj' => 'Hochloodfehler',
+'upload-failure-msg' => 'Do hot es en Problem geb - mit deiner hochgeloodne Datei von [$2]:
+
+$1',
+'upload-warning-subj' => 'Hochloodewarnung',
+'upload-warning-msg' => 'Do woor en Problem beim Hochloode von [$2]. Bittschön zum [[Special:Upload/stash/$1|Hochloodformular]] zurückkehre, um das Problem zu behebe.',
+
+'upload-proto-error' => 'Falsches Protokoll',
+'upload-proto-error-text' => 'Die URL muss mit <code>http://</code> orrer <code>ftp://</code> beginne.',
+'upload-file-error' => 'Interner Fehler',
+'upload-file-error-text' => 'Bei der Erstellung en temporäre Datei uff dem Server ist en interner Fehler uffgetret.
+Bittschön informier en [[Special:ListUsers/sysop|Administratoar]].',
+'upload-misc-error' => 'Unbekannter Fehler beim Hochloode',
+'upload-misc-error-text' => 'Beim Hochloode ist en unbekannter Fehler uffgetret.
+Prüf die URL uff Fehler, den Online-Status von der Seite und versuch das wieder erneit.
+Wenn das Problem weiter besteht, informier en [[Special:ListUsers/sysop|Administratoar]].',
+'upload-too-many-redirects' => 'Die URL beinhaltete zu viele Weiterleitunge',
+'upload-unknown-size' => 'Unbekannte Gröss',
+'upload-http-error' => 'En HTTP-Fehler ist uffgetret: $1',
+'upload-copy-upload-invalid-domain' => 'Als Kopie hochloodbare Dateie sind üwer die Domain net verfüchbar.',
+
+# File backend
+'backend-fail-stream' => 'Die Datei $1 konnt net üwertrooht sin.',
+'backend-fail-backup' => 'Die Datei $1 konnt net gesichert sin.',
+'backend-fail-notexists' => 'Die Datei $1 ist net voarhand.',
+'backend-fail-hashes' => 'Die Strohwearte von der Datei könnte net zum Vergleich abgeruf sin.',
+'backend-fail-notsame' => 'Es ist schon en Datei $1 voarhand, wo net identisch ist.',
+'backend-fail-invalidpath' => '$1 ist ken gülticher Pad zum Speichre.',
+'backend-fail-delete' => 'Die Datei $1 konnt net abgewischt sin.',
+'backend-fail-describe' => 'Die Metadate für die Datei "$1" konnte net geännert sin.',
+'backend-fail-alreadyexists' => 'Die Seit $1 ist schon voarhand',
+'backend-fail-store' => 'Die Datei $1 konnt net unner $2 gespeichert sin.',
+'backend-fail-copy' => 'Die Datei $1 konnt net noh $2 kopiert sin.',
+'backend-fail-move' => 'Die Datei $1 konnt net noh $2 verschob sin.',
+'backend-fail-opentemp' => 'Die temporäer Datei konnt nrt geöffnet sin.',
+'backend-fail-writetemp' => 'Die temporäer Datei konnt net geschrieb sin.',
+'backend-fail-closetemp' => 'Die temporäer Datei konnt net geschloss sin.',
+'backend-fail-read' => 'Die Datei $1 konnt net geles sin.',
+'backend-fail-create' => 'Die Datei $1 konnt net gespeichert sin.',
+'backend-fail-maxsize' => 'Die Datei $1 konnt net gespeichert sin, weil die grösser wie {{PLURAL:$2|en Byte|$2 Bytes}} ist.',
+
+# Special:UploadStash
+'uploadstash' => 'Vorabspeichrung beim Hochloode',
+'uploadstash-clear' => 'Die voarab gespeicherte Dateie entferne',
+'uploadstash-nofiles' => 'Do sind ken voarab gespeicherte Dateie voarhand.',
+'uploadstash-badtoken' => 'Das Entferne der voarab gespeicherte Dateie woor erfollichlos, vielleicht weil deine Sitzungsdate abgeloof sind. Bittschön versuch das nochmo erneit.',
+'uploadstash-errclear' => 'Das Entferne der voarab gespeicherte Dateie woo erfollichlos.',
+'uploadstash-refresh' => 'List von der Dateie aktualisiere',
+'invalid-chunk-offset' => 'Ungülticher Startpunkt',
+
+# img_auth script messages
+'img-auth-accessdenied' => 'Zugriff verweichert',
+
+# HTTP errors
+'http-read-error' => 'HTTP-Lesefehler.',
+
+# Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
+'upload-curl-error6' => 'URL ist net erreichbar',
+'upload-curl-error28' => 'Zeitüwerschreitung beim Hochloode',
+
+'license' => 'Lizenz:',
+'license-header' => 'Lizenz',
+'nolicense' => 'Ken Voarauswahl',
+
+# Special:ListFiles
+'listfiles_search_for' => 'Such noh Datei:',
+'imgfile' => 'Datei',
+'listfiles' => 'Dateilist',
+'listfiles_thumb' => 'Voarschaubild',
+'listfiles_date' => 'Datum',
+'listfiles_name' => 'Noome',
+'listfiles_user' => 'Benutzer',
+'listfiles_size' => 'Gröss',
+'listfiles_description' => 'Beschreibung',
+'listfiles_count' => 'Versione',
+'listfiles-show-all' => 'Alte Bildversione einschliesse',
+'listfiles-latestversion' => 'Aktuelle Version',
+'listfiles-latestversion-yes' => 'Jo',
+'listfiles-latestversion-no' => 'Nee',
+
+# File description page
+'file-anchor-link' => 'Datei',
+'filehist' => 'Dateiversione',
+'filehist-help' => 'Klick uff en Zeitpunkt, um die Version zu loode.',
+'filehist-deleteall' => 'Alle Versione abwische',
+'filehist-deleteone' => 'Die Version abwische',
+'filehist-revert' => 'zurücksetze',
+'filehist-current' => 'aktuell',
+'filehist-datetime' => 'Version vom',
+'filehist-thumb' => 'Voarschaubild',
+'filehist-thumbtext' => 'Vorschaubild von der Version vom $2, $3 Uhr',
+'filehist-nothumb' => 'Ken Voarschaubild voarhand',
+'filehist-user' => 'Benutzer',
+'filehist-dimensions' => 'Moss',
+'filehist-filesize' => 'Dateigröss',
+'filehist-comment' => 'Kommentar',
+'filehist-missing' => 'Datei fehlt',
+'imagelinks' => 'Dateiverwennung',
+'linkstoimage' => 'Die {{PLURAL:$1|folliche Seit verwenndt|folliche $1 Seite verwenne}} die Datei:',
+'linkstoimage-more' => 'Meahr als {{PLURAL:$1|en Seit verlinkt|$1 Seite verlinke}} uff dies= Datei.
+Die folliche List zeicht nuar {{PLURAL:$1|den ersten Link|die earschte $1 Links}} uff die Datei.
+En [[Special:WhatLinksHere/$2|vollständiche List]] ist verfüchbar.',
+'nolinkstoimage' => 'Ken Seit benutzt die Datei.',
+'morelinkstoimage' => '[[Special:WhatLinksHere/$1|Weitre Links]] uff die Datei.',
+'linkstoimage-redirect' => '$1 (Dateiweiterleitung) $2',
+'duplicatesoffile' => 'Die {{PLURAL:$1|follichend Datei ist en Duplikat|follichende $1 Dateie sind Duplikate}} von der Datei ([[Special:FileDuplicateSearch/$2|weitre Detalhes]]):',
+'sharedupload' => 'Die Datei stammt aus $1 und därreft von annre Projekte verwendt sin.',
+'sharedupload-desc-here' => 'Die Datei stammt aus $1 und kann von annre Projekte verwennet sin. Die Beschreibung von dene [$2 Dateibeschreibungsseit] weard unne oongezeicht.',
+'filepage-nofile' => 'Do gebts ken Datei mit dem Noome voarhand.',
+'filepage-nofile-link' => 'Do gebts ken Datei mit dem Noome voarhand. Du kannst jedoch [$1 die Datei hochloode].',
+'uploadnewversion-linktext' => 'En neie Version von der Datei hochloode',
+'shared-repo-from' => 'aus $1',
+'shared-repo' => 'en gemeinsam benutzte Medienarchiv',
+'upload-disallowed-here' => 'Du kannst die Datei net üwerschreibe.',
+
+# File reversion
+'filerevert' => 'Zurücksetze von „$1“',
+'filerevert-legend' => 'Datei zurücksetze',
+'filerevert-intro' => "Du setzt die Datei '''[[Media:$1|$1]]''' uff die [$4 Version vom $2, $3 Uhr] zurück.",
+'filerevert-comment' => 'Grund:',
+'filerevert-defaultcomment' => 'Zurückgesetzt uff die Version vom $1, $2 Uhr',
+'filerevert-submit' => 'Zurücksetze',
+'filerevert-success' => "'''[[Media:$1|$1]]''' woard uff die [$4 Version vom $2, $3 Uhr] zurückgesetzt.",
+'filerevert-badversion' => 'Do gebts ken Version von der Datei zu dem oongebne Zeitpunkt.',
+
+# File deletion
+'filedelete' => 'Abwisch $1',
+'filedelete-legend' => 'Abwisch Datei',
+'filedelete-intro' => "Du abwischst die Datei '''\"[[Media:\$1|\$1]]\"''' inklusive ehrer Versionsgeschicht.",
+'filedelete-intro-old' => 'Du abwischst von der Datei \'\'\'"[[Media:$1|$1]]"\'\'\' die [$4 Version vom $2, $3 Uhr].',
+'filedelete-comment' => 'Grund:',
+'filedelete-submit' => 'Abwische',
+'filedelete-success' => "'''\"\$1\"''' woard abgewischt.",
+'filedelete-success-old' => 'Von der Datei \'\'\'"[[Media:$1|$1]]"\'\'\' woard die Version vom $2, $3 Uhr abgewischt.',
+'filedelete-nofile' => "'''\"\$1'''' ist net voarhand.",
+'filedelete-nofile-old' => "Do gebts von '''\"\$1\"''' ken archiviert Version mit den oongebne Attribute.",
+'filedelete-otherreason' => 'Annrer/ergänzender Grund:',
+'filedelete-reason-otherlist' => 'Annrer Grund',
+'filedelete-reason-dropdown' => '* Allgemeine Abwischgründe
+** Uarheberrechtsverletzung
+** Duplikat',
+'filedelete-edit-reasonlist' => 'Abwischgründe beoorbeite',
+'filedelete-maintenance' => 'Das Abwische und Wiederhearstelle von Dateie ist uffgrund von Woortungsoorbeite voarüwergehnd deaktiviert.',
+'filedelete-maintenance-title' => 'Die Datei kann net abgewischt sin.',
+
+# MIME search
+'mimesearch' => 'Such noh MIME-Typ',
+'mimetype' => 'MIME-Typ:',
+'download' => 'Herunnerloode',
+
+# Unwatched pages
+'unwatchedpages' => 'Net beobachtete Seite',
+
+# List redirects
+'listredirects' => 'Weiterleitunge',
+
+# List duplicated files special page
+'listduplicatedfiles' => 'List von der Dateie mit Duplikate',
+
+# Unused templates
+'unusedtemplates' => 'Unbenutzte Vorlooche',
+'unusedtemplateswlh' => 'Annre Links',
+
+# Random page
+'randompage' => 'Zufälliche Seite',
+
+# Random page in category
+'randomincategory' => 'Zufälliche Seit von en Kategorie',
+'randomincategory-selectcategory-submit' => 'Geh, los',
+
+# Random redirect
+'randomredirect' => 'Zufällich Weiterleitung',
+'randomredirect-nopages' => 'Im Noomeraum „$1“ sind ken Weiterleitunge voarhand.',
+
+# Statistics
+'statistics' => 'Statistik',
+'statistics-header-pages' => 'Seitestatistik',
+'statistics-header-edits' => 'Bearbeitungsstatistik',
+'statistics-header-views' => 'Seitenuffrufstatistik',
+'statistics-header-users' => 'Benutzerstatistik',
+'statistics-header-hooks' => 'Annre Statistike',
+'statistics-articles' => 'Inhaltsseite',
+'statistics-pages' => 'Seite',
+'statistics-pages-desc' => 'Alle Seite in dem Wiki, inklusive Diskussionsseite, Weiterleitunge und so weiter',
+'statistics-files' => 'Hochgeloodne Dateie',
+'statistics-edits' => 'Seitebeoorbeitunge',
+'statistics-edits-average' => 'Beoorbeitunge pro Seit im Doorrichschnitt',
+'statistics-views-total' => 'Seitenuffrufe gesamt',
+'statistics-views-peredit' => 'Jede Beoorbeitung ehre Seiteuffrufe',
+'statistics-users' => 'Registrierte [[Special:ListUsers|Benutzer]]',
+'statistics-users-active' => 'Aktive Benutzer',
+'statistics-users-active-desc' => 'Benutzer mit Beoorbeitunge {{PLURAL:$1|während (im verloof von) der letzte 24 Stunde|während (im verloof von) der vergangne $1 Tooche}}',
+'statistics-mostpopular' => 'Meistbesuchte Seite',
+
+'pageswithprop' => 'Seite mit en Seiteneichenschaft',
+'pageswithprop-legend' => 'Seite mit en Seiteeichenschaft',
+'pageswithprop-text' => 'Die Spezialseit tut Seite ufflistiere, wo en bestimmte Seiteeichenschaft verwenne.',
+'pageswithprop-prop' => 'Eichenschaftsnoome:',
+'pageswithprop-submit' => 'Geh, los',
+'pageswithprop-prophidden-long' => 'Langtexteichenschaftsweart versteckt ($1)',
+'pageswithprop-prophidden-binary' => 'Binäreichenschaftsweart versteckt ($1)',
+
+'doubleredirects' => 'Doppelte Weiterleitunge',
+'double-redirect-fixer' => 'RedirectBot',
+
+'brokenredirects' => 'Defekte Weiterleitunge',
+'brokenredirectstext' => 'Die Spezialseit listiert Weiterleitung uff net existierende Seite uff.',
+'brokenredirects-edit' => 'Beoorbeite',
+'brokenredirects-delete' => 'abwische',
+
+'withoutinterwiki' => 'Net zu annre Sproche verlinkende Seite',
+'withoutinterwiki-summary' => 'Die follichende Seite verlinke net uff annre Sprochversione.',
+'withoutinterwiki-legend' => 'Präfix',
+'withoutinterwiki-submit' => 'Zeich',
+
+'fewestrevisions' => 'Seite mit den wenichste Versione',
+
+# Miscellaneous special pages
+'nbytes' => '$1 {{PLURAL:$1|Byte|Bytes}}',
+'ncategories' => '$1 {{PLURAL:$1|Kategorie|Kategoriee}}',
+'ninterwikis' => '{{PLURAL:$1|En Interwikilink|$1 Interwikilinks}}',
+'nlinks' => '{{PLURAL:$1|1 Link|$1 Links}}',
+'nmembers' => '{{PLURAL:$1|1 Eintrooch|$1 Einträche}}',
+'nmemberschanged' => '$1 → {{PLURAL:$2|En Mitglied|$2 Mitglieder}}',
+'nrevisions' => '{{PLURAL:$1|1 Beoorbeitung|$1 Beoorbeitunge}}',
+'nviews' => '{{PLURAL:$1|1 Abfroch|$1 Abfroche}}',
+'nimagelinks' => 'Verwendt uff {{PLURAL:$1|en Seit|$1 Seite}}',
+'ntransclusions' => 'Verwendt uff {{PLURAL:$1|en Seit|$1 Seite}}',
+'specialpage-empty' => 'Do sind aktuell ken zutreffende Einträche voarhand.',
+'lonelypages' => 'Verwaist Seite',
+'lonelypagestext' => 'Die follichenden Seite werre net eingebund orrer das weard net uff sie in {{SITENAME}} verwies.',
+'uncategorizedpages' => 'Net kategorisierte Seite',
+'uncategorizedcategories' => 'Net kategorisierte Kategorie',
+'uncategorizedimages' => 'Net kategorisierte Dateie',
+'uncategorizedtemplates' => 'Net kategorisierte Vorlage',
+'unusedcategories' => 'Verwaiste Kategorie',
+'unusedimages' => 'Verwaiste Dateie',
+'popularpages' => 'Beliebteste Seite',
+'wantedcategories' => 'Gewünschte Kategorie',
+'wantedpages' => 'Gewünschte Seite',
+'wantedpages-badtitle' => 'Ungülticher Titel im Ergebnis: $1',
+'wantedfiles' => 'Gewünschte Dateie',
+'wantedfiletext-cat' => 'Die follichende Dateie werre verwendt, sind jedoch net voarhand. Voarhandne Dateie aus fremde Repositorie könne dennoch hier uffgelistet sin und werre <del>doorrichgestrich</del> für se siehn dogestellt. Zusätzlich werre Seite, wo net voarhandne Dateie enthalle, in die [[:$1]] eingeordnet.',
+'wantedfiletext-nocat' => 'Die follichende Dateie werre verwendt, sind jedoch net voarhand. Voarhandne Dateie aus fremde Repositorie könne dennoch hier uffgelistet sin und werre <del>doorrichgestrich</del> dargestellt.',
+'wantedtemplates' => 'Gewünschte Voarlooche',
+'mostlinked' => 'Seite mit den meiste Links',
+'mostlinkedcategories' => 'Meistbenutzte Kategorie',
+'mostlinkedtemplates' => 'Meistbenutzte Voarlooche',
+'mostcategories' => 'Seiten mit den meiste Kategorie',
+'mostimages' => 'Meistbenutzte Dateie',
+'mostinterwikis' => 'Seite mit den meiste Interwikilinks',
+'mostrevisions' => 'Seite mit den meiste Versione',
+'prefixindex' => 'All Seite (mit Präfix)',
+'prefixindex-namespace' => 'Alle Seite mit Präfix (Nameraum $1)',
+'prefixindex-strip' => 'Präfix in der Liste abschneide',
+'shortpages' => 'Koorze Seite',
+'longpages' => 'Lange Seite',
+'deadendpages' => 'Net verlinkende Seite',
+'deadendpagestext' => 'Die follichende Seite verweise net uff annre Seite von {{SITENAME}}.',
+'protectedpages' => 'Geschützte Seite',
+'protectedpages-indef' => 'Nuar unbeschränkt geschützte Seite zeiche',
+'protectedpages-cascade' => 'Nuar Seite mit Kaskadeschutz',
+'protectedpages-noredirect' => 'Weiterleitunge ausblende',
+'protectedpagesempty' => 'Aktuell sind ken Seite mit den Parameter geschützt.',
+'protectedpages-timestamp' => 'Zeitstempel',
+'protectedpages-page' => 'Seit',
+'protectedpages-expiry' => 'Gültich bis',
+'protectedpages-performer' => 'Geschützt von',
+'protectedpages-params' => 'Schutzparameter',
+'protectedpages-reason' => 'Grund',
+'protectedpages-unknown-timestamp' => 'Unbekannt',
+'protectedpages-unknown-performer' => 'Unbekannter Benutzer',
+'protectedtitles' => 'Geschützte Seitenoome',
+'protectedtitlesempty' => 'Zurzeit sind mit den oongebne Parameter ken Seite zur Neierstellung gesperrt.',
+'listusers' => 'Benutzerverzeichnis',
+'listusers-editsonly' => 'Zeich nuar Benutzer mit Beiträche',
+'listusers-creationsort' => 'Noh Erstelldatum sortiere',
+'listusers-desc' => 'In absteichender Reihenfolche sortiere',
+'usereditcount' => '$1 {{PLURAL:$1|Beoorbeitung|Beoorbeitunge}}',
+'usercreated' => '{{GENDER:$3|Erstellt}} am $1 um $2 Uhr',
+'newpages' => 'Neie Seite',
+'newpages-username' => 'Benutzernoome:',
+'ancientpages' => 'Seit längrem unbeoorbeitete Seite',
+'move' => 'Verschiebe',
+'movethispage' => 'Seit verschiebe',
+'unusedimagestext' => 'Bittschön beacht, dass anre Webseite en Datei mit en direkte URL verlinke könne. Die könnte doher hier uffgelistet sin, obwohl die in aktiver Verwendung ist.',
+'unusedcategoriestext' => 'Die Spezialseit zeicht all Kategorie, wo leer sind, also sellebst ken Kategorie orrer Seite enthalle.',
+'notargettitle' => 'Ken Seit oongeb',
+'notargettext' => 'Du host net oongeb, uff was für Seit die Funktion oongewendt werre soll.',
+'nopagetitle' => 'Seit net voarhand',
+'nopagetext' => 'Die oongebne Seit ist net vorhand.',
+'pager-newer-n' => '{{PLURAL:$1|nächster|nächste $1}}',
+'pager-older-n' => '{{PLURAL:$1|voarhericher|voarheriche $1}}',
+'suppress' => 'Oversight (Üwerwächtung)',
+'querypage-disabled' => 'Die Spezialseit woard aus Gründe von der Leistungserhaltung deaktiviert.',
+
+# Book sources
+'booksources' => 'ISBN-Suche',
+'booksources-search-legend' => 'Such noh Bezugsquelle für Bücher',
+'booksources-go' => 'Suche',
+'booksources-text' => 'Dies ist en List mit Links zu Internetseite, wo neie und gebrauchte Bücher verkoofe. Dort kann das ooch weitre Informationen üwer die Bücher gebe. {{SITENAME}} ist mit kenem von der Oonbieter geschäftlich verbünd.',
+'booksources-invalid-isbn' => 'Vermutlich ist die ISBN ungültich.
+Bittschön prüf, ob die korrekt von der Quell üwertroohr woard.',
+
+# Special:Log
+'specialloguserlabel' => 'Ausführender Benutzer:',
+'speciallogtitlelabel' => 'Ziel (Titel orrer Benutzer):',
+'log' => 'Logbücher',
+'all-logs-page' => 'Alle öffentliche Logbücher',
+'alllogstext' => 'Das ist die kombinierte Oonzeich von all in {{SITENAME}} geführte Logbücher.
+Die Ausgäb kann doorrich die Auswahl von der Logbuchtyp, von der Benutzer orrer der Seitetitel ingeschränkt sin (Gross-/Klenschreibung muss beachtet sin).',
+'logempty' => 'Ken passende Einträch.',
+'log-title-wildcard' => 'Titel beginnt mit …',
+'showhideselectedlogentries' => 'Ausgewählte Logbucheinträch oonzeiche/verstecke',
+
+# Special:AllPages
+'allpages' => 'All Seite',
+'alphaindexline' => '$1 bis $2',
+'nextpage' => 'Nächste Seit ($1)',
+'prevpage' => 'Vorhrich Seit ($1)',
+'allpagesfrom' => 'Seite oonzeiche ab:',
+'allpagesto' => 'Seite oonzeiche bis:',
+'allarticles' => 'Alle Seite',
+'allinnamespace' => 'Alle Seite (Noomeraum: $1)',
+'allpagessubmit' => 'Oonwenne',
+'allpagesprefix' => 'Seite oonzeiche mit Präfix:',
+'allpagesbadtitle' => 'Der ingebne Seitenoome ist ungültich: Der hot entweder en voarangestelltes Sproch-, en Interwiki-Kürzel orrer enthält en orrer mehrre Zeiche, wo in Seitenoome net dürfe verwendt sin.',
+'allpages-bad-ns' => 'Der Noomeraum "$1" ist in {{SITENAME}} net voarhand.',
+'allpages-hide-redirects' => 'Weiterleitunge ausblende',
+
+# SpecialCachedPage
+'cachedspecial-viewing-cached-ttl' => 'Du siehst die gecachte Version (Englisch: "cached version") von der Seit, wo bis zu $1 alt sin kann.',
+'cachedspecial-viewing-cached-ts' => 'Du siehst die gecachte Version (Englisch: "cached version") von der Seit, die möglicherweis net aktuell ist.',
+'cachedspecial-refresh-now' => 'Aktuelle Version oonsiehn.',
+
+# Special:Categories
+'categories' => 'Kategoriee',
+'special-categories-sort-count' => 'Sortierung noh Oonzoohl',
+'special-categories-sort-abc' => 'Sortierung noh Alphabet',
+
+# Special:DeletedContributions
+'deletedcontributions' => 'Abgewischte Beiträch',
+'deletedcontributions-title' => 'Abgewischte Beiträch',
+'sp-deletedcontributions-contribs' => 'Benutzerbeiträche',
+
+# Special:LinkSearch
+'linksearch' => 'Weblinksuch',
+'linksearch-pat' => 'Suchmuster:',
+'linksearch-ns' => 'Noomeraum:',
+'linksearch-ok' => 'Suche',
+'linksearch-line' => '$1 ist verlinkt von $2',
+
+# Special:ListUsers
+'listusersfrom' => 'Zeich Benutzer ab:',
+'listusers-submit' => 'Zeich',
+'listusers-noresult' => 'Ken Benutzer gefund.',
+'listusers-blocked' => '(gesperrt)',
+
+# Special:ActiveUsers
+'activeusers' => 'Aktive Benutzer',
+'activeusers-from' => 'Zeich Benutzer ab:',
+'activeusers-hidebots' => 'Bots ausblende',
+'activeusers-hidesysops' => 'Administratore ausblende (verstecke)',
+'activeusers-noresult' => 'Kene Benutzer gefund.',
+
+# Special:ListGroupRights
+'listgrouprights' => 'Benutzergrupperechte',
+'listgrouprights-group' => 'Grupp:',
+'listgrouprights-rights' => 'Rechte',
+'listgrouprights-helppage' => 'Help:Grupperechte',
+'listgrouprights-members' => '(Mitgliederlist)',
+'listgrouprights-addgroup' => 'Benutzer zu {{PLURAL:$2|der Grupp|die Gruppe}} hinzufügen: $1',
+'listgrouprights-removegroup' => 'Benutzer aus {{PLURAL:$2|die Grupp|die Gruppe}} entferne: $1',
+'listgrouprights-addgroup-all' => 'Benutzer zu alle Gruppe hinzufüche',
+'listgrouprights-removegroup-all' => 'Benutzer aus alle Gruppe entferne',
+'listgrouprights-addgroup-self-all' => 'Kann alle Gruppe zum eichne Konto hinzufüche',
+'listgrouprights-removegroup-self-all' => 'Kann alle Gruppe vom eichne Konto entferne (removiere)',
+
+# Email user
+'mailnologin' => 'Fehler beim E-Mail-Versand',
+'emailuser' => 'E-Mail an den Benutzer',
+'emailuser-title-notarget' => 'E-Mail an Benutzer',
+'emailpage' => 'E-Mail an Benutzer',
+'usermailererror' => 'Das E-Mail-Objekt gab en Fehler zurück:',
+'defemailsubject' => '{{SITENAME}} – E-Mail von Benutzer "$1"',
+'usermaildisabled' => 'E-Mail-Empfang deaktiviert',
+'usermaildisabledtext' => 'Du kannst in dem Wiki keh E-Mails an annre Benutzer sende',
+'noemailtitle' => 'Ken E-Mail-Adress',
+'noemailtext' => 'Der Benutzer hot ken gültiche E-Mail-Adress oongeb.',
+'nowikiemailtitle' => 'E-Mail-Versand net möchlich',
+'nowikiemailtext' => 'Der Benutzer möcht ken E-Mails von annre Benutzer erhalle.',
+'emailnotarget' => 'Nicht vorhandner orrer ungülticher Benutzernoome für den Empfang von en E-Mail.',
+'emailtarget' => 'Benutzernoome von der Empfänger rengebe',
+'emailusername' => 'Benutzernoome:',
+'emailusernamesubmit' => 'Weiter',
+'email-legend' => 'E-Mail an en annre {{SITENAME}}-Benutzer sende',
+'emailfrom' => 'Von:',
+'emailto' => 'An:',
+'emailsubject' => 'Betreff:',
+'emailmessage' => 'Nachricht:',
+'emailsend' => 'Sende',
+'emailccme' => 'Sende en Kopie von der E-Mail an mich',
+'emailccsubject' => 'Kopie von deiner Nachricht an $1: $2',
+'emailsent' => 'E-Mail verschickt',
+'emailsenttext' => 'Dein E-Mail woard verschickt.',
+'emailuserfooter' => 'Die E-Mail woard von {{SITENAME}}-Benutzer "$1" an "$2" gesendt.',
+
+# User Messenger
+'usermessage-summary' => 'Systemnachricht gespeichert.',
+'usermessage-editor' => 'System-Messenger',
+
+# Watchlist
+'watchlist' => 'Beobachtungslist',
+'mywatchlist' => 'Beobachtungslist',
+'watchlistfor2' => 'Von $1 $2',
+'nowatchlist' => 'Do befind sich ken Einträch uff dein Beobachtungslist.',
+'watchlistanontext' => 'Du musst dich $1, um dein Beobachtungslist siehn orrer Einträch uff ihr beoorbeiteno könne.',
+'watchnologin' => 'Net oongemeldt',
+'watchnologintext' => 'Du musst [[Special:UserLogin|oongemeldt]] sin, um dein Beobachtungslist beoorbeite könne.',
+'addwatch' => 'Zur Beobachtungslist hinzufüche',
+'watch' => 'Beobachte',
+'watchthispage' => 'Die Seit beobachte',
+'unwatch' => 'Net mehr beobachte',
+'unwatchthispage' => 'Net meahr beobachte',
+'notanarticle' => 'Ken Seit',
+'notvisiblerev' => 'Versionur woard abgewischt',
+'watchlist-details' => 'Du beobachtest {{PLURAL:$1|en Seit|$1 Seite}}, ohne dass Diskussionsseit gezählt werre.',
+'wlheader-enotif' => 'Der E-Mail-Benachrichtigungsdienst ist aktiviert.',
+'wlheader-showupdated' => "Seite mit noch net gesiehne Ännrunge werre'''fett''' dorgestellt.",
+'watchmethod-recent' => 'Üwerprüfung von der letzte Beoorbeitungen für die Beobachtungslist (mit observierte Seite)',
+'watchmethod-list' => 'Üwerprüfung von der Beobachtungslist noh letzte Beoorbeitunge',
+'wlshowlast' => 'Zeich die Ännrunge von der letzte $1 Stunde, $2 Tooch orrer $3.',
+'watchlist-options' => 'Oonzeichoptione',
+
+# Displayed when you click the "watch" button and it is in the process of watching
+'watching' => 'Beobachte …',
+'unwatching' => 'Netmehr beobachte …',
+
+'enotif_reset' => 'Alle Seite wie besucht markiere',
+'enotif_impersonal_salutation' => '{{SITENAME}}-Benutzer',
+'enotif_subject_deleted' => '{{SITENAME}}-Seit $1 woard von {{GENDER:$2|$2}} abgewischt',
+'enotif_subject_created' => '{{SITENAME}}-Seit $1 woard von {{GENDER:$2|$2}} erstellt',
+'enotif_subject_moved' => '{{SITENAME}}-Seit $1 woard von {{GENDER:$2|$2}} verschob',
+'enotif_subject_restored' => '{{SITENAME}}-Seit $1 woard von {{GENDER:$2|$2}} wiederheargestellt',
+'enotif_subject_changed' => '{{SITENAME}}-Seit $1 woard von {{GENDER:$2|$2}} geännert',
+'enotif_body_intro_deleted' => 'Die {{SITENAME}}-Seit $1 woard am $PAGEEDITDATE von {{GENDER:$2|$2}} abgewischt. Sieh $3.',
+'enotif_body_intro_created' => 'Die {{SITENAME}}-Seit $1 woard am $PAGEEDITDATE von {{GENDER:$2|$2}} erstellt. Sieh $3 für die aktuelle Version.',
+'enotif_anon_editor' => 'Anonymer Benutzer $1',
+
+# Delete
+'deletepage' => 'Seite abwische',
+'confirm' => 'Bestätich',
+'excontent' => 'Inhalt woor: "$1"',
+'exblank' => 'Seit woor leer',
+'delete-confirm' => 'Abwische von „$1“',
+'delete-legend' => 'Abwische',
+'actioncomplete' => 'Aktion beennet',
+'actionfailed' => 'Aktion fehlgeschloohn',
+'dellogpage' => 'Lösch-Logbuch',
+'deletionlog' => 'Abwäsch-Logbuch',
+'reverted' => 'Uff en alte Version zurückgesetzt',
+'deletecomment' => 'Grund:',
+'deleteotherreason' => 'Annrer/ergänzender Grund:',
+'deletereasonotherlist' => 'Annrer Grund',
+'delete-edit-reasonlist' => 'Abwischgründe beoorbeite',
+
+# Rollback
+'rollback' => 'Zurücksetze von der Ännrunge',
+'rollback_short' => 'Zurücksetze',
+'rollbacklink' => 'Zurücksetze',
+'rollbackfailed' => 'Zurücksetze gescheitert',
+
+# Edit tokens
+'sessionfailure-title' => 'Sitzungsfehler',
+
+# Protect
+'protectlogpage' => 'Seiteschutz-Logbuch',
+'protectedarticle' => 'geschützt „[[$1]]“',
+'protect-badnamespace-title' => 'Net-schützbarer Noomeraum',
+'protect-badnamespace-text' => 'Seite von dem Noomeraums könne net geschützt sin.',
+'protect-norestrictiontypes-text' => 'Die Seit kann net geschützt sin, weil ken Beschränkungstype verfüchbar sind.',
+'protect-norestrictiontypes-title' => 'Seite net schützbar',
+'protect-legend' => 'Seiteschutzstatus ännre',
+'protectcomment' => 'Grund:',
+'protectexpiry' => 'Sperrdauer:',
+'protect_expiry_invalid' => 'Die ingebne Dauer ist ungültich.',
+'protect_expiry_old' => 'Die Sperrzeit lieht in der Vergangheit.',
+'protect-unchain-permissions' => 'Separate Sperroptione aktiviere',
+'protect-text' => 'Hier kannst du den Schutzstatus der Seite "$1" insiehn und ännre.',
+'protect-default' => 'Alle Benutzer',
+'protect-level-sysop' => 'Nuar Administratore erlaube',
+'protect-summary-cascade' => 'kaskadierend',
+'protect-expiring' => 'bis $2, $3 Uhr (UTC)',
+'protect-expiring-local' => 'bis $1',
+'protect-expiry-indefinite' => 'unbeschränkt',
+'protect-cascade' => 'Kaskadierende Sperre – alle in die Seite eingebundne Voarlooche werre ewefalls gesperrt.',
+'protect-cantedit' => 'Du kannst die Sperr von der Seit net ännre, weil du ken Berechtichung zum Beoorbeite von der Seit host.',
+'protect-othertime' => 'Anner Sperrdauer:',
+'protect-othertime-op' => 'anner Sperrdauer',
+'protect-existing-expiry' => 'Aktuelles Seiteschutzend: $2, $3 Uhr',
+'protect-otherreason' => 'Annre/ergänzender Grund:',
+'protect-otherreason-op' => 'Annrer Grund',
+'restriction-type' => 'Schutzstatus:',
+'restriction-level' => 'Schutzhöch:',
+'minimum-size' => 'Mindestgröss',
+'maximum-size' => 'Maximalgröss:',
+'pagesize' => '(Bytes)',
+
+# Restrictions (nouns)
+'restriction-edit' => 'Beoorbeite',
+'restriction-move' => 'Verschiebe',
+'restriction-create' => 'Erstell',
+'restriction-upload' => 'Hochlood',
+
+# Restriction levels
+'restriction-level-sysop' => 'geschützt (nuar Administratore)',
+'restriction-level-autoconfirmed' => 'geschützt (nuar oongemeldete, net neie Benutzer)',
+'restriction-level-all' => 'alle',
+
+# Undelete
+'undelete' => 'Abgewischte Seite oonzeiche',
+'undeletepage' => 'Abgewischte Seite oonzeichr und wiederhearstelle',
+'viewdeletedpage' => 'Abgewischte Seite oonzeiche',
+'undelete-fieldset-title' => 'Wiederhearstelle',
+'undelete-nodiff' => 'Ken voarhergehend Version voarhand.',
+'undeletebtn' => 'Wiederherstelle',
+'undeletelink' => 'oonsiehn/wiederherstelle',
+'undeleteviewlink' => 'oongucke',
+'undeleteinvert' => 'Auswahl umkehre',
+'undeletecomment' => 'Grund:',
+'cannotundelete' => 'Die Wiederhearstellung ist fehlgeschlooht:
+$1',
+'undelete-search-title' => 'Noh abgewischte Seite suche',
+'undelete-search-box' => 'Noh abgewischte Seite suche',
+'undelete-search-prefix' => 'Suchbegriff (Wortoonfang ohne Wildcards):',
+'undelete-search-submit' => 'Such',
+'undelete-no-results' => 'Do woard im Archiv ken zum Suchbegriff passend Seit gefund.',
+'undelete-error' => 'Beim Wiederhearstelle von der Seit ist en Fehler uffgetret.',
+'undelete-error-short' => 'Fehler beim Wiederhearstell von der Datei $1',
+'undelete-show-file-submit' => 'Jo',
+
+# Namespace form on various pages
+'namespace' => 'Noomeraum:',
+'invert' => 'Auswoohl umkehre',
+'namespace_association' => 'Zugehöricher Noomeraum',
+'blanknamespace' => '(Seite)',
+
+# Contributions
+'contributions' => '{{GENDER:$1|Benutzerbeiträche}}',
+'contributions-title' => 'Benutzerbeiträche von „$1“',
+'mycontris' => 'Beiträche',
+'contribsub2' => 'Von {{GENDER:$3|$1}} ($2)',
+'uctop' => '(aktuell)',
+'month' => 'und Monat:',
+'year' => 'bis Joahr (und früher):',
+
+'sp-contributions-newbies' => 'Zeich nuar Beiträche von neier Benutzer',
+'sp-contributions-newbies-sub' => 'Von neie Benutzer',
+'sp-contributions-newbies-title' => 'Benutzerbeiträch von neie Benutzer',
+'sp-contributions-blocklog' => 'Sperr-Logbuch',
+'sp-contributions-deleted' => 'Abgewischt Beiträch',
+'sp-contributions-uploads' => 'Hochgeloodne Dateie',
+'sp-contributions-logs' => 'Logbücher',
+'sp-contributions-talk' => 'Diskussion',
+'sp-contributions-userrights' => 'Benutzerrechteverwaltung',
+'sp-contributions-search' => 'Such noh Benutzerbeiträche',
+'sp-contributions-suppresslog' => 'Unnerdrückte Benutzerbeiträch',
+'sp-contributions-username' => 'IP-Adress orrer Benutzernoome:',
+'sp-contributions-toponly' => 'Nuar aktuelle Versione zeiche',
+'sp-contributions-submit' => 'Such',
+
+# What links here
+'whatlinkshere' => 'Links uff die Seit',
+'whatlinkshere-title' => 'Seite, die uff "$1" verlinke',
+'whatlinkshere-page' => 'Seit:',
+'linkshere' => "Die follichende Seite verlinke uff '''\"[[:\$1]]\"''':",
+'nolinkshere' => "Ken Seit verlinkt uff '''„[[:$1]]“'''.",
+'isredirect' => 'Weiterleitungsseit',
+'istemplate' => 'Voarlooche-einbinnunge (transclusões)',
+'isimage' => 'Dateilink',
+'whatlinkshere-prev' => '{{PLURAL:$1|voarhericher|voarheriche $1}}',
+'whatlinkshere-next' => '{{PLURAL:$1|nächster|nächste $1}}',
+'whatlinkshere-links' => '← Links',
+'whatlinkshere-hideredirs' => 'Weiterleitunge $1',
+'whatlinkshere-hidetrans' => 'Voarlooche-einbinnunge (transclusões) $1',
+'whatlinkshere-hidelinks' => 'Links $1',
+'whatlinkshere-hideimages' => 'Dateilinks $1',
+'whatlinkshere-filters' => 'Filter',
+
+# Block/unblock
+'autoblockid' => 'Automatisch Sperrung #$1',
+'block' => 'Benutzer sperre',
+'unblock' => 'Benutzer frei mache',
+'blockip' => 'IP-Adress/Benutzer sperre',
+'blockip-legend' => 'IP-Adress/Benutzer sperre',
+'ipadressorusername' => 'IP-Adress orrer Benutzernoome:',
+'ipbexpiry' => 'Sperrdauer:',
+'ipbreason' => 'Grund:',
+'ipbcreateaccount' => 'Erstellung von Benutzerkonte verhinnre',
+'ipbsubmit' => 'IP-Adress/Benutzer sperre',
+'ipbother' => 'Annr Dauer:',
+'ipboptions' => '2 Stunne:2 hours,1 Tooch:1 day,3 Tooch:3 days,1 Woch:1 week,2 Woche:2 weeks,1 Monat:1 month,3 Monate:3 months,6 Monate:6 months,1 Joahr:1 year,unbeschränkt:infinite',
+'ipb-confirm' => 'Sperrung bestätiche',
+'badipaddress' => 'Die IP-Adress hot en falsches Format.',
+'blockipsuccesssub' => 'Die Sperrung woor erfollichreich.',
+'ipb-edit-dropdown' => 'Sperrgründe beoorbeite',
+'ipb-unblock-addr' => '„$1“ freigebe (mache)',
+'ipb-blocklist' => 'Alle aktuelle Sperre oonzeiche',
+'ipb-blocklist-contribs' => 'Benutzerbeiträche von "$1"',
+'unblockip' => 'Benutzer frei mache',
+'ipusubmit' => 'Freigewe (frei mache)',
+'unblocked' => '[[User:$1|$1]] woard freigeb (gemacht)',
+'unblocked-range' => 'Sperr für $1 woard uffgehob',
+'blocklist' => 'Gesperrte Benutzer',
+'ipblocklist' => 'Gesperrte Benutzer',
+'ipblocklist-legend' => 'Such noh en gesperrte Benutzer',
+'blocklist-userblocks' => 'Benutzersperre ausblende (verstecke)',
+'blocklist-tempblocks' => 'Befristete Sperre ausblende (verstecke)',
+'blocklist-addressblocks' => 'Sperre einzelner IP-Adresse ausblende (verstecke)',
+'blocklist-rangeblocks' => 'Bereichssperre ausblende (verstecke)',
+'blocklist-timestamp' => 'Zeitstempel',
+'blocklist-target' => 'Ziel',
+'blocklist-expiry' => 'Sperrdauer bis',
+'blocklist-by' => 'Gesperrt von',
+'blocklist-params' => 'Sperrparameter',
+'blocklist-reason' => 'Grund',
+'ipblocklist-submit' => 'Suche',
+'ipblocklist-localblock' => 'Lokal Sperre',
+'ipblocklist-otherblocks' => 'Annrer {{PLURAL:$1|Sperr|Sperre}}',
+'infiniteblock' => 'unbegrenzt',
+'expiringblock' => 'tut enne am $1 um $2 Uhr',
+'anononlyblock' => 'nuar Anonyme',
+'noautoblockblock' => 'Autoblock deaktiviert',
+'createaccountblock' => 'Erstellung von Benutzerkonte gesperrt',
+'emailblock' => 'E-Mail-Versand gesperrt',
+'blocklist-nousertalk' => 'därref eichne Diskussionsseit net beoorbeite',
+'ipblocklist-empty' => 'Die List enthält ken Einträche.',
+'ipblocklist-no-results' => 'Die gesuchte IP-Adress/der Benutzernoome ist net gesperrt.',
+'blocklink' => 'Sperre',
+'unblocklink' => 'Freigewe',
+'change-blocklink' => 'Sperre ännre',
+'contribslink' => 'Beiträche',
+'emaillink' => 'E-Mail sende',
+'blocklogpage' => 'Benutzersperr-Logbuch',
+'blocklogentry' => 'sperrte „[[$1]]“ für den Zeitraum: $2 $3',
+'unblocklogentry' => 'hob die Sperr von "$1" uff',
+'block-log-flags-anononly' => 'nuar Anonyme',
+'block-log-flags-nocreate' => 'Erstellung von Benutzerkonte gesperrt',
+'block-log-flags-noautoblock' => 'Autoblock deaktiviert',
+'block-log-flags-noemail' => 'E-Mail-Versand gesperrt',
+'block-log-flags-nousertalk' => 'därref eichne Diskussionsseit net beoorbeite',
+'block-log-flags-angry-autoblock' => 'erweiterter Autoblock aktiviert',
+'block-log-flags-hiddenname' => 'Benutzernoome versteckt',
+'range_block_disabled' => 'Die Möchlichkeit, ganze Adressräume zu sperre, ist net aktiviert.',
+'ipb_expiry_invalid' => 'Die eingebne Dauer ist ungültich.',
+'ipb_expiry_temp' => 'Benutzernoome-Sperre mit der Verstecke-Option müsse permanent sin.',
+'ip_range_invalid' => 'Ungülticher IP-Adressbereich.',
+'proxyblocker' => 'Proxy blocker',
+
+# Developer tools
+'lockdb' => 'Datebank sperre',
+'unlockdb' => 'Datebank freigebe (mache)',
+'lockbtn' => 'Datebank sperre',
+'unlockbtn' => 'Datebank freigebe (mache)',
+
+# Move page
+'move-page' => 'Verschiebe von "$1"',
+'move-page-legend' => 'Seit verschiebe',
+'movearticle' => 'Seit verschiebe:',
+'newtitle' => 'Ziel (zu neie Titel):',
+'move-watch' => 'Quell- und Zielseit beobachte',
+'movepagebtn' => 'Seit verschiebe',
+'pagemovedsub' => 'Verschiebung erfollichreich',
+'movepage-moved-redirect' => 'En Weiterleitung woard erstellt.',
+'movepage-moved-noredirect' => 'Die Erstellung von en Weiterleitung woard unnerdrückt.',
+'articleexists' => 'Unner dem Noome existiert schon en Seit. Bittschön wähl en annre Noome.',
+'movelogpage' => 'Verschiebungs-Logbuch',
+'movereason' => 'Grund:',
+'revertmove' => 'zurück verschiebe',
+'delete_and_move' => 'Abwische und verschiebe',
+'delete_and_move_confirm' => 'Jo, Seit abwische',
+'immobile-source-page' => 'Die Seit ist net verschiebbar.',
+'immobile-target-page' => 'Es kann net uff die Zielseit verschob sin.',
+'move-leave-redirect' => 'Weiterleitung erstelle',
+
+# Export
+'export' => 'Seite exportiere',
+'exportall' => 'Alle Seite exportiere',
+'export-submit' => 'Seite exportiere',
+'export-addcattext' => 'Seite aus follichender Kategorie hinzufüche:',
+'export-addcat' => 'Hinzufüche',
+'export-addnstext' => 'Seite aus follichendem Noomeraum hinzufüche:',
+'export-addns' => 'Hinzufüche',
+'export-download' => 'Wie XML-Datei speichre',
+'export-templates' => 'Inklusive Vorlooche',
+'export-pagelinks' => 'Verlinkte Seite automatisch mit exportiere, bis zur Rekursionstiefe von:',
+
+# Namespace 8 related
+'allmessages' => 'MediaWiki-Systemnachrichte',
+'allmessagesname' => 'Noome',
+'allmessagesdefault' => 'Standardtext',
+'allmessagescurrent' => 'Aktueller Text',
+'allmessages-filter-legend' => 'Filter',
+'allmessages-filter-unmodified' => 'Unverännert',
+'allmessages-filter-all' => 'Alle',
+'allmessages-filter-modified' => 'Geännert',
+'allmessages-prefix' => 'Präfixfilter:',
+'allmessages-language' => 'Sproch:',
+'allmessages-filter-submit' => 'Geh, los',
+'allmessages-filter-translate' => 'Üwersetze',
+
+# Thumbnails
+'thumbnail-more' => 'vergrösser',
+'filemissing' => 'Datei fehlt',
+'thumbnail_error' => 'Fehler beim Erstelle von der Voarschaubild: $1',
+'thumbnail_error_remote' => 'Fehlermeldung von $1:
+$2',
+'djvu_page_error' => 'DjVu-Seit ausserhalleb von der Seitbereich',
+
+# Special:Import
+'import' => 'Seite importiere',
+'importinterwiki' => 'Transwiki-Import',
+'import-interwiki-templates' => 'Alle Vorlooche einschliesse',
+'import-interwiki-submit' => 'Importiere',
+'import-interwiki-namespace' => 'Zielnoomeraum:',
+'import-upload-filename' => 'Dateinoome:',
+'import-comment' => 'Grund:',
+'importstart' => 'Importiere Seite …',
+'importbadinterwiki' => 'Falscher Interwiki-Link',
+'importnotext' => 'Leer oder ken Text',
+'importsuccess' => 'Import abgeschloss.',
+'importnofile' => 'Es ist ken Importdatei ausgewählt worre.',
+'import-noarticle' => 'Do woard ken zu importierend Seit oongeb!',
+
+# Import log
+'importlogpage' => 'Import-Logbuch',
+
+# Tooltip help for the actions
+'tooltip-pt-userpage' => 'Dein Benutzerseit',
+'tooltip-pt-mytalk' => 'Dein Diskussionsseit',
+'tooltip-pt-preferences' => 'Eichne Instellunge',
+'tooltip-pt-watchlist' => 'List von der beobachtete Seite',
+'tooltip-pt-mycontris' => 'List eichner Beiträche',
+'tooltip-pt-login' => 'Sich oonzumelde weard zwoor gern gesiehn, ist awer ken Flicht.',
+'tooltip-pt-logout' => 'Abmelde',
+'tooltip-ca-talk' => 'Diskussion zum Seiteinhalt',
+'tooltip-ca-edit' => 'Seit beoorbeite. Bitte voar dem Speichre die Voarschaufunktion benutze.',
+'tooltip-ca-addsection' => 'Neie Abschnitt oonfänge',
+'tooltip-ca-viewsource' => 'Die Seit ist geschützt. Ehr Quelltext kann dennoch oongesiehn und kopiert sin.',
+'tooltip-ca-history' => 'Frühre Versione von der Seit',
+'tooltip-ca-protect' => 'Die Seit schütze',
+'tooltip-ca-delete' => 'Die Seit lösche',
+'tooltip-ca-move' => 'Die Seit verschiebe',
+'tooltip-ca-watch' => 'Die Seit zur persönliche Beobachtungslist hinzufüche',
+'tooltip-ca-unwatch' => 'Die Seit von persönliche Beobachtungslist entferne',
+'tooltip-search' => '{{SITENAME}} doorrichsuche',
+'tooltip-search-go' => 'Geh direkt zu der Seit, wo exakt dem ingebne Noome entsprecht.',
+'tooltip-search-fulltext' => 'Such noh Seite, wo den Text enthalle',
+'tooltip-p-logo' => 'Hauptseit',
+'tooltip-n-mainpage' => 'Hauptseit',
+'tooltip-n-mainpage-description' => 'Hauptseit',
+'tooltip-n-portal' => 'Üwer das Projekt, was du tun kannst, wo was zu finne ist',
+'tooltip-n-currentevents' => 'Hinnergrundinformatione zu aktuelle Ereichnisse',
+'tooltip-n-recentchanges' => 'List von der letzte Ändrunge in {{SITENAME}}',
+'tooltip-n-randompage' => 'Zufälliche Seit uffrufe',
+'tooltip-n-help' => 'Hellefseit oonzeiche',
+'tooltip-t-whatlinkshere' => 'List von aller Seite, wo hierher verlinken',
+'tooltip-t-recentchangeslinked' => 'Letzt Ännrunge an Seite, wo von hier verlinkt sind',
+'tooltip-feed-atom' => 'Atom-Feed die Seit',
+'tooltip-t-contributions' => 'List von dem Benutzer sein Beiträche oonsiehn',
+'tooltip-t-emailuser' => 'En E-Mail an den Benutzer sende',
+'tooltip-t-upload' => 'Dateie hochloode',
+'tooltip-t-specialpages' => 'List aller Spezialseite',
+'tooltip-t-print' => 'Druckoonsicht von der Seit',
+'tooltip-t-permalink' => 'Dauerhafter Link zu der Seiteversion',
+'tooltip-ca-nstab-main' => 'Seiteinhalt oonzeiche',
+'tooltip-ca-nstab-user' => 'Benutzerseite oonzeiche',
+'tooltip-ca-nstab-media' => 'Mediedateieseit oonzeiche',
+'tooltip-ca-nstab-special' => 'Das ist en Spezialseit. Die kann net beoorbeitet sin.',
+'tooltip-ca-nstab-project' => 'Portalseit oonzeiche',
+'tooltip-ca-nstab-image' => 'Dateiseit oonzeiche',
+'tooltip-ca-nstab-mediawiki' => 'MediaWiki-Systemtext oonzeiche',
+'tooltip-ca-nstab-template' => 'Voarlooche oonzeiche',
+'tooltip-ca-nstab-help' => 'Hellefseit oonzeiche',
+'tooltip-ca-nstab-category' => 'Kategorieseit oonzeiche',
+'tooltip-minoredit' => 'Die Ännrung als klen markiere.',
+'tooltip-save' => 'Ändrunge speichre',
+'tooltip-preview' => 'Voarschau von der Ändrunge an die Seit. Bitte voar dem Speichre benutze!',
+'tooltip-diff' => 'Ännrunge am Text zeiche',
+'tooltip-compareselectedversions' => 'Unnerschied zwischich zwooi ausgewählte Versione von der Seit oonzeiche',
+'tooltip-watch' => 'Die Seit zu deiner Beobachtungslist hinzufüche',
+'tooltip-watchlistedit-normal-submit' => 'Einträche entferne',
+'tooltip-watchlistedit-raw-submit' => 'Beobachtungsliste aktualisiere',
+'tooltip-recreate' => 'Seit nei erstelle, obwohl die abgewischt woard',
+'tooltip-upload' => 'Hochloode oonfänge',
+'tooltip-rollback' => '"Retuar" macht all die letzte Seit Ännrunge, wo vom letzte Benutzer gemach sind worre, nuar doorirch ene Klick komplet rückgängich.',
+'tooltip-undo' => '"Umwerfe" Macht ledichlich die en Ännrung rückgängich und zeicht das Resultoot in der Vorschau an, domit in der Zusammenfassungszeil, im Summarium, en Begründung oongeb sin kann.',
+'tooltip-preferences-save' => 'Einstellunge speichre',
+'tooltip-summary' => 'Tue en koorz Zusammerfassung ren gewe.',
+
+# Attribution
+'others' => 'annre',
+'creditspage' => 'Seiteinformatione',
+'nocredits' => 'Für die Seit sind ken Informatione voarhand.',
+
+# Spam protection
+'spamprotectiontitle' => 'Spamschutzfilter',
+
+# Info page
+'pageinfo-header-basic' => 'Basisinformatione',
+'pageinfo-header-edits' => 'Beoorbeitungsgeschicht',
+'pageinfo-header-restrictions' => 'Seiteschutz',
+'pageinfo-header-properties' => 'Seiteeigenschafte',
+'pageinfo-display-title' => 'Oonzeichtitel',
+'pageinfo-default-sort' => 'Standardsortierschlüssel',
+'pageinfo-length' => 'Seitelänge (in Bytes)',
+'pageinfo-article-id' => 'Seitekennnummer',
+'pageinfo-language' => 'Seiteinhaltssproch',
+'pageinfo-content-model' => 'Seiteinhaltsmodell',
+'pageinfo-robot-policy' => 'Indizierung doorrich Suchmaschine',
+'pageinfo-robot-index' => 'Erlaubt',
+'pageinfo-robot-noindex' => ' Net erlaubt',
+'pageinfo-views' => 'Oonzoohl von der Seiteuffrufe',
+'pageinfo-watchers' => 'Oonzoohl von der Seit ehr Beobachter',
+'pageinfo-few-watchers' => 'Wenicher wie {{PLURAL:$1|ein|$1}} Beobachter',
+'pageinfo-redirects-name' => 'Oonzoohl von der Weiterleitunge zu der Seit',
+'pageinfo-subpages-name' => 'Unnerseite von der Seit',
+'pageinfo-firstuser' => 'Seiteersteller',
+'pageinfo-firsttime' => 'Datum von der Seiteerstellung',
+'pageinfo-lastuser' => 'Letzter Bearbeiter',
+'pageinfo-lasttime' => 'Datum von der letzte Bearbeitung',
+'pageinfo-edits' => 'Gesamtzoohl von der Beoorbeitunge',
+'pageinfo-authors' => 'Gesamtzoohl unnerschiedlicher Autore',
+'pageinfo-recent-edits' => 'Anzoohl von der kürzlich erfollichte Beoorbeitung (innerhalleb von der letzte $1)',
+'pageinfo-toolboxlink' => 'Seiteinformatione',
+'pageinfo-redirectsto' => 'Weiterleitunge noh',
+'pageinfo-redirectsto-info' => 'Information',
+'pageinfo-contentpage' => 'Gezählt wie en Inhaltsseit',
+'pageinfo-contentpage-yes' => 'Jo',
+'pageinfo-protect-cascading' => 'Seite mit Kaskadeschutz von hier',
+'pageinfo-protect-cascading-yes' => 'Jo',
+'pageinfo-protect-cascading-from' => 'Seite mit Kaskadeschutz von',
+'pageinfo-category-info' => 'Kategorieinformatione',
+'pageinfo-category-pages' => 'Anzoohl  von der Seite',
+'pageinfo-category-subcats' => 'Anzoohl von der Unnerkategoriee',
+'pageinfo-category-files' => 'Oonzoohl von der Dateie',
+
+# Patrolling
+'markaspatrolleddiff' => 'Wie kontrolliert markiere',
+
+# Patrol log
+'patrol-log-page' => 'Kontroll-Logbuch',
+
+# Browsing diffs
+'previousdiff' => '← Zum voarherichen Versionsunnerschied',
+'nextdiff' => 'Zum nächste Versionsunnerschied →',
+
+# Media information
+'file-info-size' => '$1 × $2 Pixel, Dateigröss: $3, MIME-Typ: $4',
+'file-nohires' => 'Ken höchre Ufflösun voarhand.',
+'svg-long-desc' => 'SVG-Datei, Basisgröss: $1 × $2 Pixel, Dateigröss: $3',
+'show-big-image' => 'Originaldatei',
+'file-info-gif-looped' => 'Endlosschleif',
+
+# Video information, used by Language::formatTimePeriod() to format lengths in the above messages
+'ago' => 'vor $1',
+'just-now' => 'grood ewe',
+
+# Human-readable timestamps
+'monday-at' => 'Montach um $1',
+'tuesday-at' => 'Dienstach um $1',
+'wednesday-at' => 'Mittwoch um $1',
+'thursday-at' => 'Donnerstach um $1',
+'friday-at' => 'Freitach um $1',
+'saturday-at' => 'Samstach um $1',
+'sunday-at' => 'Sonntach um $1',
+'yesterday-at' => 'Gester um $1',
+
+# Bad image list
+'bad_image_list' => 'Format:
+
+Nuar Zeile, wo mit enem * oonfang, werre ausgewertet. Als earstes noh dem * muss en Link uff en unerwünschte Datei stehn.
+Druff follichende Seitelinks in derselwe Zeile definiere Ausnoohme, in dene ehre Kontext die Datei trotzdem erscheine därref.',
+
+# Metadata
+'metadata' => 'Metadate',
+'metadata-help' => 'Die Datei enthält weitre Informatione, wo in der Rechel von der Digitalkamera orrer dem verwennete Scanner stämme. Doorrich nohträchliche Beoorbeitung von der Originaldatei könne etliche Detalhes verännert gewes sin.',
+'metadata-expand' => 'Erweiterte Detalhes inblende  (zeiche)',
+'metadata-collapse' => 'Erweiterte Detalhes ausblende (verstecke)',
+'metadata-fields' => 'Die follichende Felder von der EXIF-Metadate, wo in dem MediaWiki-Systemtext oongeb sind, werre uff Bildbeschreibungsseite mit ingeklappter Metadatetabelle oongezeicht.
+Weitre werre standardmässich net oongezeicht.
+* make
+* model
+* datetimeoriginal
+* exposuretime
+* fnumber
+* isospeedratings
+* focallength
+* artist
+* copyright
+* imagedescription
+* gpslatitude
+* gpslongitude
+* gpsaltitude',
+
+# Exif tags
+'exif-imagewidth' => 'Breit',
+'exif-imagelength' => 'Höch',
+'exif-bitspersample' => 'Bits por Farrebkomponent',
+'exif-compression' => 'Oort von der Kompression',
+'exif-photometricinterpretation' => 'Pixelzusammersetzung',
+'exif-orientation' => 'Kameraausrichtung',
+'exif-samplesperpixel' => 'Oonzoohl von Komponente',
+'exif-planarconfiguration' => 'Dateausrichtung',
+'exif-ycbcrsubsampling' => 'Subsampling Rate von Y bis C',
+'exif-ycbcrpositioning' => 'Y und C Positionierung',
+'exif-xresolution' => 'Horizontale Auflösung',
+'exif-yresolution' => 'Vertikale Auflösung',
+'exif-stripoffsets' => 'Bilddate-Versatz',
+'exif-rowsperstrip' => 'Oonzoohl Zeile por Streife',
+'exif-stripbytecounts' => 'Bytes por komprimiertem Streif',
+'exif-jpeginterchangeformat' => 'Offset zu JPEG SOI',
+'exif-jpeginterchangeformatlength' => 'Gröss von der JPEG-Date in Bytes',
+'exif-whitepoint' => 'Manuell mit Messung',
+'exif-primarychromaticities' => 'Primäre Farreboort',
+'exif-ycbcrcoefficients' => 'YCbCr-Koeffiziente',
+'exif-referenceblackwhite' => 'Schwarz/Weiß-Referenzpunkte',
+'exif-datetime' => 'Speicherzeitpunkt',
+'exif-imagedescription' => 'Bildtitel',
+'exif-make' => 'Hearsteller',
+'exif-model' => 'Modell',
+'exif-software' => 'Software',
+'exif-artist' => 'Fotograf',
+'exif-copyright' => 'Uarheberrechte (Copyright halter)',
+'exif-exifversion' => 'Exif-Version',
+'exif-flashpixversion' => 'nterstützte Flashpix-Version',
+'exif-colorspace' => 'Farrebraum',
+'exif-componentsconfiguration' => 'Bedeitung einzelner Komponente',
+'exif-compressedbitsperpixel' => 'Komprimierte Bits por Pixel',
+'exif-pixelydimension' => 'Bildbreit',
+'exif-pixelxdimension' => 'Bildhöch',
+'exif-usercomment' => 'Benutzerkommentare',
+'exif-relatedsoundfile' => 'Zugehöriche Tondatei',
+'exif-datetimeoriginal' => 'Erfassungszeitpunkt',
+'exif-datetimedigitized' => 'Digitalisierungszeitpunkt',
+'exif-subsectime' => 'Speicherzeitpunkt (1/100 s)',
+'exif-subsectimeoriginal' => 'Erfassungszeitpunkt (1/100 s)',
+'exif-subsectimedigitized' => 'Digitalisierungszeitpunkt (1/100 s)',
+'exif-exposuretime' => 'Belichtungsdauer',
+'exif-exposuretime-format' => '$1 Sekunde ($2)',
+'exif-fnumber' => 'Blend (Englisch: F Number)',
+'exif-exposureprogram' => 'Belichtungsprogramm',
+'exif-spectralsensitivity' => 'Spectral Sensitivity',
+'exif-isospeedratings' => 'Film- orrer Sensoremfindlichkeit (ISO)',
+'exif-shutterspeedvalue' => 'APEX-Belichtungszeitwert',
+'exif-aperturevalue' => 'APEX-Blendenweart',
+'exif-brightnessvalue' => 'APEX-Helligkeitsweart',
+'exif-exposurebiasvalue' => 'Belichtungsvorgab',
+'exif-maxaperturevalue' => 'Grösste Blend',
+'exif-subjectdistance' => 'Entfernung',
+'exif-meteringmode' => 'Messverfoohre',
+'exif-lightsource' => 'Lichtquell',
+'exif-flash' => 'Blitz',
+'exif-focallength' => 'Brennweit',
+'exif-subjectarea' => 'Bereich',
+'exif-flashenergy' => 'Blitzstärrek',
+'exif-focalplanexresolution' => 'Sensorauflösung horizontal',
+'exif-focalplaneyresolution' => 'Sensorauflösung vertikal',
+'exif-focalplaneresolutionunit' => 'Einheit von der Sensorauflösung',
+'exif-subjectlocation' => 'Motivstandplatz',
+'exif-exposureindex' => 'Belichtungsindex',
+'exif-sensingmethod' => 'Messmethode',
+'exif-filesource' => 'Quell von der Datei',
+'exif-scenetype' => 'Szenetyp',
+'exif-customrendered' => 'Benutzerdefiniert Bildveroorbeitung',
+'exif-exposuremode' => 'Belichtungsmodus',
+'exif-whitebalance' => 'Weissabgleich',
+'exif-digitalzoomratio' => 'Digitalzoom',
+'exif-focallengthin35mmfilm' => 'Brennweite (Klenbildäquivalent)',
+'exif-scenecapturetype' => 'Uffnoohmoort',
+'exif-gaincontrol' => 'Verstärkung',
+'exif-contrast' => 'Kontrast',
+'exif-saturation' => 'Sättichung',
+'exif-sharpness' => 'Schärref',
+'exif-devicesettingdescription' => 'Geräteinstellung',
+'exif-subjectdistancerange' => 'Motiventfernung',
+'exif-imageuniqueid' => 'Bild-ID',
+'exif-gpsversionid' => 'GPS-Tag-Version',
+'exif-gpslatituderef' => 'nördl. orrer südl. Breit',
+'exif-gpslatitude' => 'Geografische Breit',
+'exif-gpslongituderef' => 'östl. orrer westl. Länge',
+'exif-gpslongitude' => 'Geografische Länge',
+'exif-gpsaltituderef' => 'Bezuchshöch',
+'exif-gpsaltitude' => 'Höch',
+'exif-gpstimestamp' => 'GPS-Zeit',
+'exif-gpssatellites' => 'Für die Messung benutzte Satellite',
+'exif-gpsstatus' => 'Emfängerstatus',
+'exif-gpsmeasuremode' => 'Messverfoohre',
+'exif-gpsdop' => 'Messgenauigkeit',
+'exif-gpsspeedref' => 'Geschwindichkeitseinheit',
+'exif-gpsspeed' => 'Geschwindichkeit von des GPS-Empfänger',
+'exif-gpstrackref' => 'Referenz für Bewechungsrichtung',
+
+# 'all' in various places, this might be different for inflected languages
+'watchlistall2' => 'all',
+'namespacesall' => 'all',
+'monthsall' => 'all',
+
+# Watchlist editing tools
+'watchlisttools-view' => 'Beobachtungslist: Ännrunge',
+'watchlisttools-edit' => 'normal beoorbeite',
+'watchlisttools-raw' => 'im Listeformat beoorbeite (Import/Export)',
+
+# Core parser functions
+'duplicate-defaultsort' => 'Achtung: Der Sortierungsschlüssel „$2“ üwerschreibt den voarher verwenndte Schlüssel „$1“.',
+
+# Special:SpecialPages
+'specialpages' => 'Spezialseite',
+
+# External image whitelist
+'external_image_whitelist' => ' #Die Zeil net verännre.<pre>
+#Unnestehend könne Fragmente regulärer Ausdrücke (der Tel zwischich den //) ingeb werre.
+#Die werre mit den URLs von Bilder aus externe Quelle vergleicht.
+#En positiver Vergleich führt zur Oonzeiche von das Bild, annerfoolls weard das Bild nuar als Link oongezeicht.
+#Zeile, wo mit en # oonfänge, sin als Kommentar behandelt.
+#Es weard net zwischich Gross- und Klenschreibung unnerschied.
+
+#Fragmente regulärer Ausdrücke noh der Zeile introohn. Die Zeile net verännre.</pre>',
+
+# Special:Tags
+'tag-filter' => '[[Special:Tags|Markierungs]]-Filter:',
+
+);
index 29b2959..3458030 100644 (file)
@@ -1238,8 +1238,8 @@ In quanto amministratore puoi visualizzare questo confronto di versioni; potrebb
 'revdelete-no-file' => 'Il file specificato non esiste.',
 'revdelete-show-file-confirm' => 'Si desidera visualizzare la versione cancellata del file "<nowiki>$1</nowiki>" del $2 alle $3?',
 'revdelete-show-file-submit' => 'Sì',
-'revdelete-selected-text' => '{{PLURAL:$2|Versione selezionata|Versioni selezionate}} di [[:$2]]:',
-'revdelete-selected-file' => '{{PLURAL:$2|Versione selezionata|Versioni selezionate}} del file di [[:$2]]:',
+'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-file' => 'Le versioni di file cancellati appariranno ancora nella cronologia del file, ma parti del loro contenuto sarà inaccessibile al pubblico.',
index 803a1b1..52fd4fa 100644 (file)
@@ -1349,7 +1349,7 @@ $1",
 'searchprofile-project-tooltip' => '$1 іздеу',
 'searchprofile-images-tooltip' => 'Файлдарды іздеу',
 'searchprofile-everything-tooltip' => 'Барлық беттерден іздеу (талқылау беттерін қоса)',
-'searchprofile-advanced-tooltip' => 'Белгіленген есім кеңістігінен іздеу',
+'searchprofile-advanced-tooltip' => 'Әдепкі есім кеңістігінен іздеу',
 'search-result-size' => '$1 ({{PLURAL:$2|1 сөз|$2 сөз}})',
 'search-result-category-size' => '{{PLURAL:$1|1 мүше|$1 мүше}} ({{PLURAL:$2|1 санатша|$2 санатша}}, {{PLURAL:$3|1 файл|$3 файл}})',
 'search-result-score' => 'Арақатынастылығы: $1 %',
@@ -1360,7 +1360,7 @@ $1",
 'search-interwiki-default' => '$1 нәтиже:',
 'search-interwiki-more' => '(көбірек)',
 'search-relatedarticle' => 'Қатысты',
-'searcheverything-enable' => 'Ð\91елгÑ\96ленген есім кеңістігінен іздеу',
+'searcheverything-enable' => 'Ð\91аÑ\80лÑ\8bÒ\9b есім кеңістігінен іздеу',
 'searchrelated' => 'қатысты',
 'searchall' => 'барлық',
 'showingresults' => "Төменде нөмір '''$2''' орнынан бастап барынша '''$1''' нәтиже көрсетіледі.",
index 3dfe540..faef643 100644 (file)
@@ -379,6 +379,8 @@ $1',
 'myprivateinfoprotected' => 'شما حق ناریت دونسمنیا خصوصی نه ویرایشت بکید',
 'mypreferencesprotected' => 'شما حق ناریت ویجگی یا هنی تونه ویرایشت بکید',
 'ns-specialprotected' => 'بلگیا ویجه نتونن ویرایشت بوئن',
+'invalidtitle-knownnamespace' => 'نوم نامعتور سی نوم جا "$2" و نیسه "$3"',
+'invalidtitle-unknownnamespace' => 'نوم نامعتور سی شماره نومجا ناشناس $1 و نیسه "$2"',
 'exception-nologin' => 'نبوئه وارد بوئيد',
 'exception-nologin-text-manual' => 'خواهشمنیدم که $1 تونسه بوئه د ای بلگه دسرسی داشتوه یا کاری انجوم بیئه.',
 
@@ -421,6 +423,9 @@ $1',
 'gotaccountlink' => 'اومائن',
 'userlogin-resetlink' => 'جزییات وامین اومائن تونه د ویر بردیته',
 'userlogin-resetpassword-link' => 'پاسورد د ویرتو رئته؟',
+'userlogin-helplink2' => 'هومیاری وا مین اومائن',
+'userlogin-loggedin' => 'شما ایسه د عنوان {{جنس:$1|$1}} اومایته وا مین.
+د فرم هاری سی وا مین اومائن وه عنوان کارور هنی استفاده بکیتو.',
 'userlogin-createanother' => 'يه گل حساوهنی راست بكيد',
 'createacct-join' => 'دونسمنيا دباره خوتونه د هار وارد بكيد',
 'createacct-another-join' => 'دونسمنیا یه گل حساو د هار وارد بکید',
@@ -484,13 +489,19 @@ $1',
 $1 لطفن سی تلاش هنی صبر بکید',
 'login-abort-generic' => 'اومائن وامین تو شکست حرد-شکست حرده',
 'loginlanguagelabel' => 'زون:$1',
+'pt-login' => 'وا مین اومائن',
+'pt-login-button' => 'وا مین اومائن',
+'pt-createaccount' => 'يه گل حساو راست بكيد',
+'pt-userlogout' => 'د سيستم دراومائن',
 
 # Email sending
 'php-mail-error-unknown' => "خطا ناشناس مئن تاوع  PHP's mail()",
 'user-mail-no-addy' => 'سی کل کردن ایمیل بی نشونه ایمیل صورت گرته',
+'user-mail-no-body' => 'سی کل کردن ایمیل وا مینونه حالی یا کؤچک بیئن سی دلیل غیر علقمنی تلاش بکید.',
 
 # Change password dialog
 'changepassword' => 'پاسورد نه آلشت بكيت',
+'resetpass_announce' => 'سی تموم کردن وا مین اومائن، شما باید یه گل پاسورد هنی وارد بکیتو.',
 'resetpass_header' => 'پاسورد حساوتونه آلشت بکید',
 'oldpassword' => 'پاسورد قدیمی:',
 'newpassword' => 'پاسورد تازه:',
@@ -699,8 +710,11 @@ $2',
 'rev-delundel' => 'آلشت وضئيت ديئن',
 'rev-showdeleted' => 'نشو دائن',
 'revisiondelete' => 'پاک کردن/زنه کردن وانئریا',
+'revdelete-nooldid-title' => 'وانیری تمارزی بیه نامعتوره',
 'revdelete-no-file' => 'فایل مشقص بیه وجود ناره.',
 'revdelete-show-file-submit' => 'هری',
+'revdelete-selected-text' => '{{جمی:$1|وانیری گل گر بیه|وانیری گل گر بیه}} د [[:$2]]:',
+'revdelete-selected-file' => '{{جمی:$1|وانیری گل گر بیه|وانیری گل گر بیه}} د [[:$2]]:',
 'revdelete-hide-text' => 'متن دوواره دیئن',
 'revdelete-hide-image' => 'چی یا مئن فایل قام کو',
 'revdelete-hide-name' => 'آرمون و انجوم گر نه قام بکید',
@@ -804,6 +818,7 @@ $2',
 'powersearch-toggleall' => 'همه',
 'powersearch-togglenone' => 'هيش كوم',
 'search-external' => 'پی جوری د در',
+'search-error' => 'یه گل خطا سی اوسنی که پی جوری می کردیت اتفاق افتائه:$1',
 
 # Preferences page
 'preferences' => 'خصوصيات هنی',
@@ -853,6 +868,7 @@ $2',
 'prefs-namespaces' => 'نوم جایا',
 'default' => 'پيش فرض',
 'prefs-files' => 'فايلا',
+'prefs-common-css-js' => ' سی اس اس/جاوا اسکریپت بهر بیه سی همه پوسه یا:',
 'prefs-emailconfirm-label' => 'مئکم کردن ایمیل:',
 'youremail' => 'ايميل:',
 'username' => '{{جنس:$1|نوم کاروری}}:',
@@ -893,6 +909,7 @@ $2',
 'email-address-validity-invalid' => 'یه گل نشونی ایمیل خو وارد بکید',
 
 # User rights
+'userrights-lookup-user' => 'دسه یا کاروری نه دیوون داری بکیت',
 'userrights-user-editname' => 'نوم كاروری ته وارد كو',
 'editusergroup' => 'ویرایشت گرویا کاروری',
 'userrights-editusergroup' => 'ویرایشت گرویا کاروری',
@@ -926,6 +943,8 @@ $2',
 # Rights
 'right-read' => 'حنن بلگیا',
 'right-edit' => 'ویرایشت بلگیا',
+'right-createtalk' => 'بلگه یا چک چنه نه راس بکید',
+'right-createaccount' => 'یه گل حساو کاروری تازه راس بکیت',
 'right-move' => 'بلگه یا جا وه جا کو',
 'right-move-subpages' => 'بلگه یا و زیر بلگه یا شونه جا وه جا کو',
 'right-move-rootuserpages' => 'بلگه یا ریشه ای کارور نه جا وه جا کو',
@@ -1007,11 +1026,23 @@ $2',
 'rcnotefrom' => 'د هار آلشتیا د $2 هیئن(د بال د $1 نشون دئه بیه)',
 'rclistfrom' => 'آلشتیا تازه ایی که وا $1 شرو بیه نشونش بئه',
 'rcshowhideminor' => 'ويرايشتيا کؤچک $1',
+'rcshowhideminor-show' => 'نشو دئن',
+'rcshowhideminor-hide' => 'قام کردن',
 'rcshowhidebots' => '$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' => 'آخرین آلشتیا $1 نشو بیه د اخرین روزیا $2',
 'diff' => 'فرخ',
 'hist' => 'ويرگار',
@@ -1054,6 +1085,7 @@ $2',
 'filereuploadsummary' => 'آلشتیا فایل:',
 'filesource' => 'سرچشمه:',
 'uploadedfiles' => 'جانیایا سواربیه',
+'ignorewarnings' => 'د هر زنهار تیه پوشی کو',
 'badfilename' => 'نوم جانیا د "$1" آلشت بیه.',
 'empty-file' => 'فایلی که دئی ته حالی بیه.',
 'file-too-large' => 'فایلی که دئی ته فره گپ بی.',
@@ -1110,6 +1142,7 @@ $2',
 'http-read-error' => 'خطا د حنن اچ تی تی پی.',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
+'upload-curl-error6' => 'نبوئه د یو آر ال برسیت',
 'upload-curl-error28' => 'تموم بیئن مئلت سی سوار کرد',
 
 'license' => 'ليانس دار بيئن',
@@ -1129,6 +1162,7 @@ $2',
 'listfiles_user' => 'كارور',
 'listfiles_size' => 'انازه',
 'listfiles_count' => 'نسقیا',
+'listfiles-show-all' => 'شومل نسقه یا نهاتری عسگیا',
 'listfiles-latestversion' => 'نسقه تازه',
 'listfiles-latestversion-yes' => 'هری',
 'listfiles-latestversion-no' => 'نه',
@@ -1207,6 +1241,7 @@ $2',
 'statistics-articles' => 'بلگه یا مینونه',
 'statistics-pages' => 'بلگیا',
 'statistics-files' => 'جانیا یا سوار بیه',
+'statistics-edits-average' => 'میانگین ویرایشت یا سی هر بلگه',
 'statistics-views-total' => 'همه نه بوینیت',
 'statistics-views-peredit' => 'هر ویرایشت نه بوینیت',
 'statistics-users' => 'ثوت نام بیه [[ویجه:نوم گه کاروریا|کاروریا]]',
@@ -1252,12 +1287,20 @@ $2',
 'prefixindex' => 'همه بلگيا وا پيشون',
 'shortpages' => 'بلگه یا کؤچک',
 'longpages' => 'بلگه یا گپ',
+'deadendpages' => 'بلگه یا نابود بیئنی',
 'protectedpages' => 'بلگه یا حفاظت بيه',
+'protectedpages-page' => 'بلگه',
+'protectedpages-expiry' => 'تموم بیه آ',
+'protectedpages-performer' => 'کارور حفاظت بیه',
+'protectedpages-reason' => 'دلیل',
+'protectedpages-unknown-timestamp' => 'ناشناس',
+'protectedpages-unknown-performer' => 'کارور ناشناس',
 'listusers' => 'نوم گه کارور',
 'listusers-editsonly' => 'فقط کاروریایی که ویرایشت می کن نشو بیه',
 'usercreated' => '{{جنسیت:$3|راس بیه}}د $1 at $2',
 'newpages' => 'بلگيا نو',
 'newpages-username' => 'نوم كاروری:',
+'ancientpages' => 'بلگه یا نهاتر',
 'move' => 'جاوه جا بوئيت',
 'movethispage' => 'ای بگله نه جا وه جا كو',
 'pager-newer-n' => '{{جمی:$1|وانها تر 1وانها تر $1}}',
@@ -1276,16 +1319,23 @@ $2',
 'allpages' => 'همه بلگيا',
 'alphaindexline' => '$1 د
 $2',
+'nextpage' => 'بلگه نهایی($1)',
+'prevpage' => 'بلگه دمایی($1)',
 'allarticles' => 'همه بلگيا',
 'allpagessubmit' => 'رو',
 'allpagesbadtitle' => 'عنوان بلگه حاسته بیه معتور نی،یا  یه گل مئن زونی یا مئن ویکی عنوان غلطه.
 یه شایت شومل یکی با یا بیشتر کاراکتریا نبوئه که سی ای موضوعیا استفاده بوئن',
 
+# SpecialCachedPage
+'cachedspecial-refresh-now' => 'دیئن آخری.',
+
 # Special:Categories
 'categories' => 'دسه يا',
 
 # Special:DeletedContributions
 'deletedcontributions' => 'هومیاریا پاک بیه کارور',
+'deletedcontributions-title' => 'هومیاریا پاک بیه کارور',
+'sp-deletedcontributions-contribs' => 'هومیاریا',
 
 # Special:LinkSearch
 'linksearch-ns' => 'نوم جا:',
@@ -1293,21 +1343,47 @@ $2',
 'linksearch-line' => '$1 داره د $2 هوم پیوند بوئه',
 
 # Special:ListUsers
+'listusers-submit' => 'نشو دئن',
 'listusers-noresult' => 'هیچ کاروری پیدا نبی',
+'listusers-blocked' => '(قلف بيه)',
 
 # Special:ActiveUsers
 'activeusers' => 'نوم گه کاروریا کارکو',
+'activeusers-hidebots' => 'بوتیا قام کو',
+'activeusers-hidesysops' => 'دیوون داریا نه قام کو',
 'activeusers-noresult' => 'هیچ کاروری پیدا نبی',
 
 # Special:ListGroupRights
+'listgrouprights-group' => 'دسه',
+'listgrouprights-rights' => 'حقوقیا',
 'listgrouprights-members' => '(نوم گه اندومیا)',
+'listgrouprights-addgroup-all' => 'همه گرویا نه اضاف کو',
+'listgrouprights-removegroup-all' => 'همه گرویا نه وردار',
+'listgrouprights-addgroup-self' => ' {{جمی:$2|گروه|گرویا}} نه د حساو: $1 اضاف کو',
 
 # Email user
+'mailnologin' => 'هیپچ نشونی یی کل نبیه',
 'emailuser' => 'ای كارور نه ايميل كو',
 'emailuser-title-target' => 'ایمیل سی ای {{جنس:$1|کارور}}',
+'emailuser-title-notarget' => 'ایمیل کارور',
 'emailpage' => 'ایمیل کارور',
 'defemailsubject' => '{{نوم سیل جا}} ایمیل د کارور "$1"',
+'usermaildisabled' => 'ایمیل کارور د کار افتائه',
+'noemailtitle' => 'هیچ نشونی ایمیلی نئ',
 'emailusername' => 'نوم كاروری:',
+'emailusernamesubmit' => 'دئن',
+'emailfrom' => 'د:',
+'emailto' => 'سی:',
+'emailsubject' => 'سرون:',
+'emailmessage' => 'پيغوم:',
+'emailsend' => 'كل بيه',
+'emailccme' => 'یه گل وردار د پیغوم مه نه سیم ایمیل کو.',
+'emailccsubject' => ' پیغومتو سی $1:$2 ورداشته بی',
+'emailsent' => 'ایمیل کل بیه',
+'emailsenttext' => 'پیغوم ایمیلی تو کل بیه.',
+
+# User Messenger
+'usermessage-editor' => 'پیغوم فرسن سیستم',
 
 # Watchlist
 'watchlist' => 'سیل برگ',
@@ -1316,7 +1392,9 @@ $2',
 'watchnologin' => 'وارد نبیه',
 'watchnologintext' => 'شما سی آلشت دئن سیل برگتو با [[ویجه:وامین اومائن کارور|وامین اومائه]]',
 'watch' => 'سيل كردن',
+'watchthispage' => 'ديئن ای بلگه',
 'unwatch' => 'ديه نبيه',
+'unwatchthispage' => 'واداشتن دیئن',
 'notanarticle' => 'مینونه هیچ بلگه ای نئ',
 'watchlist-details' => '{{جمی:$1|$1 بلگه|$1 بلگیا}} د سیل برگتو هیش بلگه قسه کردن نی .',
 'wlheader-enotif' => 'وارسیاری ایمیل فعال بیه.',
@@ -1324,18 +1402,37 @@ $2',
 'wlshowlast' => 'آخرین$1 ساعتیا $2و روزیا $3 نشو بیئه',
 'watchlist-options' => 'گزینیا سیل برگ',
 
+# Displayed when you click the "watch" button and it is in the process of watching
+'watching' => 'د حال دیئن...',
+'unwatching' => 'د حال ندیئن...',
+
 'enotif_mailer' => '{{نوم سیلجا}} وارسیاری ایمیل زننه',
 'enotif_reset' => 'همه بلگه یا دیئه بینه نشودار بکید',
 'enotif_impersonal_salutation' => '{{نوم سیلجا}} کارور',
 'enotif_lastvisited' => 'همه آلشتیا$1 د اوسه که شما د آخرین بار دیئته بوینیت.',
+'enotif_anon_editor' => 'کارو ناشناس$1',
 
 # Delete
+'deletepage' => 'پاک کردن بلگه',
+'confirm' => 'مئكم كردن',
 'excontent' => 'مینونه :"$1" بی',
 'exbeforeblank' => 'مینونه حالی دمایی:"$1" بی',
+'exblank' => 'بلگه حال بی',
+'delete-confirm' => 'پاک کردن"$1"',
+'delete-legend' => 'پاك كردن',
 'actioncomplete' => 'عملكرد كامل بيه',
 'actionfailed' => 'عملكرد شكست حرده',
 'dellogpage' => 'لاگ پاك كردن',
 'deletionlog' => 'پهرستنومه پاک بیئن',
+'deletecomment' => 'دليل:',
+'deleteotherreason' => 'دليليا هنی:',
+'deletereasonotherlist' => 'دلیل هنی',
+'deletereason-dropdown' => '* دلیلیا پاک کردن رسم بیه
+** اسپم
+** خراوکاری
+** رعایت نبین کپی رایت
+** درحاست نیسنه
+** نهاورگشت شکست حرده',
 
 # Rollback
 'rollbacklink' => 'ورگشتن',
@@ -1355,7 +1452,9 @@ $2',
 'restriction-type' => 'دسرسی:',
 
 # Restrictions (nouns)
+'restriction-edit' => 'ويرايشت',
 'restriction-move' => 'جاوه جا بوئيت',
+'restriction-create' => 'راس كردن',
 'restriction-upload' => 'سوار کرد',
 
 # Restriction levels
@@ -1364,10 +1463,12 @@ $2',
 # Undelete
 'undeletelink' => 'بوين/دوواره آماده با',
 'undeleteviewlink' => 'ديئن',
+'undeletecomment' => 'دليل:',
 'cannotundelete' => 'زنه کردن انجوم نبی:$1',
 'undelete-search-title' => 'بلگه یا پاک بیه نه پی جوری کو',
 'undelete-search-submit' => 'پی جوری',
 'undelete-error-short' => 'خطا پاک نبیئن جانیا:$1',
+'undelete-show-file-submit' => 'هری',
 
 # Namespace form on various pages
 'namespace' => 'نوم جا:',
@@ -1414,6 +1515,7 @@ $2',
 # Block/unblock
 'block' => 'منع کارور',
 'blockip' => 'منع کارور',
+'ipbreason' => 'دليل:',
 'ipbother' => 'وخت هنی:',
 'ipboptions' => '2 ساعتیا:2 ساعت,1 رو:1 رو,3 روزا:3 رو,1 هفته:1 هفته,2 هفته یا:2 هفته,1 ما:1 ما,3 ما:3 میا,6 ما:6 مایا,1 سال:1سال,بی حساو:بی حساو',
 'ipbhidename' => 'نوم کاروری نه سی ویرایشت یا و نوم گه یا قام کو',
index c898f1c..2ce31c8 100644 (file)
@@ -1293,6 +1293,8 @@ $3 നൽകിയിരിക്കുന്ന കാരണം ''$2'' എന
 'revdelete-no-file' => 'നിർദ്ദേശിച്ച പ്രമാണം നിലവിലില്ല.',
 'revdelete-show-file-confirm' => '"<nowiki>$1</nowiki>" പ്രമാണത്തിന്റെ $2 തീയതി $3 -യ്ക്കു നിലനിന്നിരുന്ന മായ്ക്കപ്പെട്ട പതിപ്പു  കാണണം എന്നു താങ്കൾക്ക് ഉറപ്പാണോ?',
 'revdelete-show-file-submit' => 'അതെ',
+'revdelete-selected-text' => '[[:$2]] എന്ന താളിന്റെ {{PLURAL:$1|തിരഞ്ഞെടുത്ത നാൾപ്പതിപ്പ്|തിരഞ്ഞെടുത്ത നാൾപ്പതിപ്പുകൾ}}:',
+'revdelete-selected-file' => '[[:$2]] എന്ന പ്രമാണത്തിന്റെ {{PLURAL:$1|തിരഞ്ഞെടുത്ത പതിപ്പ്|തിരഞ്ഞെടുത്ത പതിപ്പുകൾ}}:',
 'logdelete-selected' => '{{PLURAL:$1|തിരഞ്ഞെടുത്ത രേഖയിലുള്ളത്|തിരഞ്ഞെടുത്ത രേഖയിലുള്ളവ}}:',
 'revdelete-text-text' => 'മായ്ക്കപ്പെട്ട നാൾപ്പതിപ്പുകൾ താളിന്റെ നാൾവഴിയിൽ കാണാവുന്നതായിരിക്കുമെങ്കിലും, അവയുടെ ഉള്ളടക്കത്തിന്റെ ചില ഭാഗങ്ങൾ പൊതുജനങ്ങൾക്ക് ലഭ്യമായിരിക്കണമെന്നില്ല.',
 'revdelete-text-file' => 'പ്രമാണത്തിന്റെ മായ്ക്കപ്പെട്ട പതിപ്പുകൾ താളിന്റെ നാൾവഴിയിൽ കാണാവുന്നതായിരിക്കുമെങ്കിലും, അവയുടെ ഉള്ളടക്കത്തിന്റെ ചില ഭാഗങ്ങൾ പൊതുജനങ്ങൾക്ക് ലഭ്യമായിരിക്കണമെന്നില്ല.',
@@ -2151,6 +2153,11 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization കാണുക.',
 # List redirects
 'listredirects' => 'തിരിച്ചുവിടൽ താളുകളുടെ പട്ടിക കാണിക്കുക',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'പകർപ്പുകളുള്ള പ്രമാണങ്ങളുടെ പട്ടിക',
+'listduplicatedfiles-summary' => 'ഒരു പ്രമാണത്തിന്റെ ഏറ്റവും പുതിയ പതിപ്പ് മറ്റേതെങ്കിലും പ്രമാണത്തിന്റെ ഏറ്റവും പുതിയ പതിപ്പിന്റെ പകർപ്പ് ആണെങ്കിൽ, ഈ പട്ടികയിൽ കാണാവുന്നതാണ്. പ്രാദേശിക പ്രമാണങ്ങൾ മാത്രമാണ് കണക്കിലെടുത്തിരിക്കുന്നത്.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] എന്ന പ്രമാണത്തിന് [[$3|{{PLURAL:$2|ഒരു പകർപ്പ്|$2 പകർപ്പുകൾ}}]] ഉണ്ട്.',
+
 # Unused templates
 'unusedtemplates' => 'ഉപയോഗിക്കപ്പെടാത്ത ഫലകങ്ങൾ',
 'unusedtemplatestext' => '{{ns:template}} എന്ന നാമമേഖലയിൽ ഉള്ളതും ഒരു താളിലും ചേർത്തിട്ടുമില്ലാത്ത എല്ലാ ഫലകതാളുകളുടേയും പട്ടിക ഈ താളിൽ കാണാം. ഫലകങ്ങൾ മായ്ക്കുന്നതിനു മുൻപ് അതു മറ്റൊരു താളിലും ഉപയോഗിക്കുന്നില്ല എന്നുറപ്പാക്കുക.',
@@ -2600,7 +2607,7 @@ $UNWATCHURL
 '''$1''' എന്ന താളിന്റെ നിലവിലുള്ള ക്രമീകരണം ഇതാണ്‌:",
 'protect-locked-access' => "താളുകളുടെ സംരക്ഷണമാനത്തിൽ വ്യതിയാനം വരുത്തുവാനുള്ള അനുമതി താങ്കളുടെ അംഗത്വത്തിനില്ല.
 '''$1''' എന്ന താളിന്റെ നിലവിലുള്ള ക്രമീകരണങ്ങൾ ഇതാ:",
-'protect-cascadeon' => 'à´\88 à´¤à´¾àµ¾ à´¨à´¿àµ¼à´\9dരിതസà´\82à´°à´\95àµ\8dഷിതമായ (cascading protection) {{PLURAL:$1|à´\92à´°àµ\81 à´¤à´¾à´³à´¿àµ½|പല à´¤à´¾à´³àµ\81à´\95ളിൽ}} à´\89ൾപàµ\8dà´ªàµ\86à´\9fàµ\81à´¤àµ\8dതപàµ\8dà´ªàµ\86à´\9fàµ\81à´¤àµ\8dതപàµ\8dà´ªàµ\86à´\9fàµ\8dà´\9fà´¿à´°à´¿à´\95àµ\8dà´\95àµ\81à´¨àµ\8dനതിനാൽ à´\87à´¤àµ\8d à´¸à´\82à´°à´\95àµ\8dà´·à´¿à´¤ à´¤à´¾à´³à´¾à´£àµ\8d. à´\8eà´¨àµ\8dനാൽ à´¤à´¾à´\99àµ\8dà´\95ൾà´\95àµ\8dà´\95àµ\8d à´\88 à´¤à´¾à´³à´¿à´¨àµ\8dà´±àµ\86 à´¸à´\82à´°à´\95àµ\8dഷണമാനà´\82 à´®à´¾à´±àµ\8dà´±àµ\81വാൻ à´\95à´´à´¿à´¯àµ\81à´\82, à´\85à´\99àµ\8dà´\99à´¨àµ\86 à´\9aàµ\86à´¯àµ\8dതാൽ à´¨à´¿àµ¼à´\9dരിതസà´\82à´°à´\95àµ\8dഷണതàµ\8dതിനàµ\81 മാറ്റം വരികയില്ല.',
+'protect-cascadeon' => 'à´\88 à´¤à´¾àµ¾ à´¸à´\82à´°à´\95àµ\8dഷണപരമàµ\8dപരയിൽ à´\89ൾപàµ\8dà´ªàµ\86à´\9fàµ\8dà´\9f (cascading protection) {{PLURAL:$1| à´¤à´¾à´³à´¿àµ½| à´¤à´¾à´³àµ\81à´\95ളിൽ}} à´\89ൾപàµ\8dà´ªàµ\86à´\9fàµ\81à´¤àµ\8dതിയിരിà´\95àµ\8dà´\95àµ\81à´¨àµ\8dനതിനാൽ à´\87à´¤àµ\8d à´¸à´\82à´°à´\95àµ\8dà´·à´¿à´¤ à´¤à´¾à´³à´¾à´£àµ\8d. à´\8eà´¨àµ\8dനാൽ à´¤à´¾à´\99àµ\8dà´\95ൾà´\95àµ\8dà´\95àµ\8d à´\88 à´¤à´¾à´³à´¿à´¨àµ\8dà´±àµ\86 à´¸à´\82à´°à´\95àµ\8dഷണമാനà´\82 à´®à´¾à´±àµ\8dà´±àµ\81വാൻ à´\95à´´à´¿à´¯àµ\81à´\82, à´\85à´\99àµ\8dà´\99à´¨àµ\86 à´\9aàµ\86à´¯àµ\8dതാൽ à´¸à´\82à´°à´\95àµ\8dഷണപരമàµ\8dപരയിൽ മാറ്റം വരികയില്ല.',
 'protect-default' => 'എല്ലാ ഉപയോക്താക്കളെയും അനുവദിക്കുക',
 'protect-fallback' => '"$1" അനുവാദമുള്ള ഉപയോക്താക്കളെ മാത്രം അനുവദിക്കുന്നു',
 'protect-level-autoconfirmed' => 'സ്ഥിരീകരിക്കപ്പെട്ട ഉപയോക്താക്കളെ മാത്രം അനുവദിക്കുന്നു',
index 37046bf..203cd79 100644 (file)
@@ -352,7 +352,6 @@ $2، $1',
 'disclaimers' => 'تکذیب‌نومه‌ئون',
 'disclaimerpage' => 'Project:تکذیب‌نومه',
 'edithelp' => 'دچی‌ین رانما',
-'helppage' => 'Help:راهنما',
 'mainpage' => 'گت صفحه',
 'mainpage-description' => 'گت صفحه',
 'policy-url' => 'Project:سیاستون',
@@ -620,8 +619,6 @@ $2، $1',
 
 # Revision deletion
 'rev-delundel' => 'دیار بیّن/فرو بوردن',
-'revdelete-text' => "'''نسخه‌ئون و حذف بئی موارد ره بشنه سیاهه جا و صفحه تاریخچه دله بدین، ولی اتی قسمت از وشونه محتواره بقیه کارورون نتوننه بوینن.'''
-{{SITENAME}} بقیه مدیرون بتوننه اینتا پنهون بئیه محتوا ره هارشن و وشونه حذف بئیون ره احیاء هاکنن، مگر اینکه اتی سری محدودیت ونه رو اعمال بئی باشه.",
 'revdel-restore' => 'دیاری تغییر هدائن',
 
 # History merging
index d580427..886aefe 100644 (file)
@@ -252,7 +252,6 @@ $messages = array(
 'disclaimers' => 'Avvertimiènte',
 'disclaimerpage' => 'Project:Avvertimiènte generale',
 'edithelp' => 'Guida',
-'helppage' => 'Help:Ajùto',
 'mainpage' => 'Paggena prencepale',
 'mainpage-description' => 'Paggena prencepale',
 'policy-url' => 'Project:Policy',
index f1d8a96..52e659f 100644 (file)
@@ -15,6 +15,7 @@
  * @author Kaganer
  * @author Purodha
  * @author Servien
+ * @author Sjoerddebruin
  * @author Slomox
  * @author Urhixidur
  * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
index e550351..99e017e 100644 (file)
@@ -1073,7 +1073,7 @@ $1",
 'search-section' => '(खण्ड $1)',
 'search-suggest' => 'के तपाईको खोजाई : $1 हो?',
 'search-interwiki-caption' => 'भगिनी आयोजना',
-'search-interwiki-default' => '$1 नतिजाहरू:',
+'search-interwiki-default' => '$1देखिका नतिजाहरू:',
 'search-interwiki-more' => '(अझै)',
 'search-relatedarticle' => 'सम्बन्धित',
 'searcheverything-enable' => 'सबै नेमस्पेसेजहरुमा खोज्नुहोस्',
index bb0e3e4..9ecc40a 100644 (file)
@@ -1647,7 +1647,7 @@ Denne informasjonen vil vera offentleg.',
 'recentchanges-label-plusminus' => 'Storleiken til sida vart endra med så mange byte',
 'recentchanges-legend-heading' => "'''Tyding:'''",
 'recentchanges-legend-newpage' => '(sjå dessutan [[Special:NewPages|lista over nye sider]])',
-'rcnotefrom' => "Nedanfor vert opp til '''$1''' endringar sidan  ''' $2''' viste.",
+'rcnotefrom' => 'Nedanfor er endringane gjorde sidan <strong>$2</strong> viste (opp til <strong>$1</strong> stykke)',
 'rclistfrom' => 'Vis nye endringar sidan $1',
 'rcshowhideminor' => '$1 småplukk',
 'rcshowhidebots' => '$1 robotar',
index efd0d06..f4c0dd0 100644 (file)
@@ -1290,6 +1290,8 @@ wybrana wersja nie istnieje lub próbowano ukryć wersję bieżącą.',
 'revdelete-no-file' => 'Wybrany plik nie istnieje.',
 'revdelete-show-file-confirm' => 'Czy jesteś pewien, że chcesz zobaczyć usuniętą wersję pliku „<nowiki>$1</nowiki>” z $2 o $3?',
 'revdelete-show-file-submit' => 'Tak',
+'revdelete-selected-text' => '{{PLURAL:$1|Wybrana wersja|Wybrane wersje}} [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Wybrana wersja pliku|Wybrane wersje pliku}} [[:$2]]:',
 'logdelete-selected' => 'Zaznaczone {{PLURAL:$1|zdarzenie|zdarzenia}} z rejestru:',
 'revdelete-text-text' => 'Usunięte wersje będą nadal widoczne w historii strony, ale niektóre fragmenty ich treści nie będą dostępne dla wszystkich.',
 'revdelete-text-file' => 'Usunięte wersje pliku będą nadal widoczne w historii pliku, ale niektóre fragmenty ich treści nie będą dostępne dla wszystkich.',
index a933e66..aae2901 100644 (file)
@@ -5229,6 +5229,7 @@ See also:
 * {{msg-mw|Booksources-text|text}}",
 'booksources-search-legend' => 'Box heading on [[Special:BookSources|book sources]] special page. The box is for searching for places where a particular book can be bought or viewed.',
 'booksources-isbn' => '{{optional}}
+This is a label that appears before a text input field on the Special:BookSources page.
 {{Identical|ISBN}}',
 'booksources-go' => 'Name of button in [[Special:BookSources]]
 
index 9d86cda..fa89f2b 100644 (file)
@@ -673,7 +673,7 @@ $messages = array(
 
 # Login and logout pages
 'logouttext' => "'''भवान्/भवती अधुना बहिः अस्ति ।'''
-भवान्/भवती {{SITENAME}} इत्येतत् अनामतया प्रयोक्तुं शक्नोति, अथवा भवान्/भवती तेनैव प्रयोक्तृनाम्ना, भिन्नप्रयोक्तृनाम्ना वा पुनः प्रवेष्टुं शक्नोति ।
+भवान्/भवती {{SITENAME}} इत्येतत् अनामतया प्रयोक्तुं शक्नोति । अथवा तेनैव प्रयोक्तृनाम्ना, भिन्नप्रयोक्तृनाम्ना वा पुनः प्रवेष्टुं शक्नोति ।
 इदानीमपि कानिचन पृष्ठानि पूर्ववदेव दृश्येरन् । तत् वारयितुं गवाक्षस्य (browser) इतिहासः रिक्तीक्रियताम् ।",
 'welcomeuser' => 'स्वागतम्, $1!',
 'welcomecreation-msg' => 'भवता/भवत्या सदस्यता प्राप्ता ।
@@ -693,8 +693,8 @@ $messages = array(
 'userlogin-remembermypassword' => 'अहं प्रविष्टमेव तिष्ठेयम्',
 'userlogin-signwithsecure' => 'संरक्षितः सम्पर्कः (https) उपयुज्यताम्',
 'yourdomainname' => 'भवतः प्रदेशः (domain) :',
-'password-change-forbidden' => 'à¤\85सà¥\8dयाà¤\82 à¤µà¤¿à¤\95à¥\8dयाà¤\82 à¤¨à¤¿à¤\95à¥\81à¤\9eà¥\8dà¤\9aà¤\82 à¤ªà¤°à¤¿à¤µà¤°à¥\8dतयितुं न शक्नोति ।',
-'externaldberror' => 'ततà¥\8dर à¤ªà¥\8dरमाणà¥\80à¤\95रण à¤¸à¤®à¤\82à¤\95ाधारà¥\87 à¤¤à¥\8dरà¥\81à¤\9fिरà¥\8dà¤\9cाता, à¤\85थवा à¤­à¤µà¤¾à¤¨à¥\8d à¤¸à¥\8dवà¤\95à¥\80याà¤\82 à¤¬à¤¾à¤¹à¥\8dय-लà¥\87à¤\96ाà¤\82 à¤\85दà¥\8dयतनà¥\80à¤\95रà¥\8dतà¥\81à¤\82 à¤\85नà¥\81मतिà¤\82 à¤¨ à¤§à¤¾à¤°à¤¯à¤¤à¤¿।',
+'password-change-forbidden' => 'à¤\85सà¥\8dमिनà¥\8d à¤µà¤¿à¤\95ि-à¤\9cालसà¥\8dथानà¥\87 à¤­à¤µà¤¾à¤¨à¥\8d/भवतà¥\80 à¤\95à¥\82à¤\9fशबà¥\8dदानà¥\8d à¤ªà¤°à¤¿à¤°à¥\8dवतयितुं न शक्नोति ।',
+'externaldberror' => 'दतà¥\8dताà¤\82शà¥\87 à¤ªà¥\8dरामाणिà¤\95ताविषयà¤\95à¤\83 (authentication database) à¤¦à¥\8bषà¤\83  à¤¸à¥\8dयातà¥\8d à¥¤ à¤\85थवा à¤¸à¥\8dवसà¥\8dय à¤¬à¤¾à¤¹à¥\8dयसदसà¥\8dयतायाà¤\82  (external account) à¤ªà¤°à¤¿à¤µà¤°à¥\8dतनà¤\82 à¤\95रà¥\8dतà¥\81मà¥\8d à¤\85नà¥\81मतिà¤\83 à¤¨ à¤­à¤µà¥\87तà¥\8d ।',
 'login' => 'प्रविश्यताम्',
 'nav-login-createaccount' => 'प्रविश्यताम् / सदस्यता प्राप्यताम्',
 'loginprompt' => '{{SITENAME}} इत्यत्र प्रवेष्टुं ज्ञापकानि (cookies)  समर्थीकरणीयानि ।',
@@ -703,59 +703,84 @@ $messages = array(
 'logout' => 'निर्गमनम्',
 'userlogout' => 'निर्गमनम्',
 'notloggedin' => 'नैव प्रविष्टः',
-'userlogin-noaccount' => 'सदस्यता नास्ति किम्?',
+'userlogin-noaccount' => 'सदस्यता नास्ति किम् ?',
 'userlogin-joinproject' => '{{SITENAME}} सह योजनम्',
 'nologin' => 'सदस्यता नास्ति किम् ? $1',
 'nologinlink' => 'सदस्यता प्राप्यताम्',
 'createaccount' => 'सदस्यता प्राप्यताम्',
 'gotaccount' => 'पूर्वमेव योजकः अस्ति किम् ? $1',
 'gotaccountlink' => 'प्रविश्यताम्',
-'userlogin-resetlink' => 'प्रवेशविवरणानि विस्मृतानि किम् ?',
-'createacct-join' => 'स्वकीया सूचना अधस्तात् प्रवेश्यताम्।',
-'createaccountmail' => 'ईपत्रद्वारा',
-'createaccountreason' => 'कारणम्',
+'userlogin-resetlink' => 'स्वस्य प्रवेशविवरणानि विस्मृतानि किम् ?',
+'userlogin-resetpassword-link' => 'स्वस्य कूटशब्दः विस्मृतः किम् ?',
+'userlogin-helplink2' => 'प्रवेशविषयकं साहाय्यम्',
+'userlogin-loggedin' => 'भवाता/भवत्या पूर्वस्मादेव {{GENDER:$1|$1}} योजकत्वेन प्रवेशः प्राप्तः अस्ति । भिन्नयोजकत्वेन प्रवेष्टुं निम्नप्रपत्रं पूरयतु ।',
+'userlogin-createanother' => 'अन्यसदस्यता प्राप्यताम्',
+'createacct-join' => 'स्वविषये अधः लिख्यताम् ।',
+'createacct-another-join' => 'नवीनसदस्यतायाः विषये अधः लिख्यताम् ।',
+'createacct-emailrequired' => 'ई-पत्रसङ्केतः',
+'createacct-emailoptional' => 'ई-पत्रसङ्केतः (ऐच्छिकः)',
+'createacct-email-ph' => 'स्वस्य ई-पत्रसङ्केतं लिखतु',
+'createacct-another-email-ph' => 'ई-पत्रसङ्केतः लिख्यताम्',
+'createaccountmail' => 'अस्थायिनम् अशृङ्खलितं कूटशब्दम् उपयुज्य योग्याय ई-पत्रसङ्केताय प्रेश्यताम् ।',
+'createacct-realname' => 'वास्तविकं नाम (ऐच्छिकम्)',
+'createaccountreason' => 'कारणम् :',
 'createacct-reason' => 'कारणम्',
-'createacct-reason-ph' => 'भवान् अन्यां लेखां किमर्थं रचितुमिच्छसि?',
-'badretype' => 'भवता प्रदत्ते कूटशब्दे न खलु समाने स्तः। कृपया पुनः लिखतु।',
-'userexists' => 'भवतः प्रदत्तः प्रयोक्तृनाम अन्येन प्रयुज्यमानम् अस्ति। कृपया अन्यदेकं प्रयोक्तृनाम चिनोतु।',
-'loginerror' => 'प्रवेशने प्रमादः',
-'createaccounterror' => '$1 इति लेखां स्रष्टुं न अपारयत्',
-'nocookiesnew' => 'भवतः लेखा सृष्टाऽस्ति, परन्तु भवान् प्रविष्टो नासि।
-{{SITENAME}} इत्यनेन प्रवेशं कर्तुं कुकि इत्येते प्रयुज्यन्ते।
-भवतः पक्षे कुकि इत्येते असमर्थीकृतानि सन्ति।
-कृपया तानि समर्थानि करोतु, तथा स्वकीयेन सदस्यनाम्ना कूटशब्देन च प्रविशतु।',
-'nocookieslogin' => '{{SITENAME}} इत्यत्र प्रयोक्तृणां प्रवेशार्थं कुकि इत्येतेषां प्रयोगः क्रियते।
-भवता कुकि इत्येते असमर्थीकृतानि सन्ति।
-कृपया तानि समर्थीकरोतु पुनश्च प्रयततु।',
+'createacct-reason-ph' => 'भवतः/भवत्याः अन्यसदस्यतां प्राप्तुं किं प्रयोजनमस्ति ?',
+'createacct-captcha' => 'सुरक्षानिरीक्षणम्',
+'createacct-imgcaptcha-ph' => 'उपरि लिखिताः वर्णाः लिख्यताम्',
+'createacct-submit' => 'स्वसदस्यता प्राप्यताम्',
+'createacct-another-submit' => 'अन्यसदस्यता प्राप्यताम्',
+'createacct-benefit-heading' => '{{SITENAME}} इति भवत्सदृशैः जनैः रचितमस्ति ।',
+'createacct-benefit-body1' => '{{PLURAL:$1|सम्पादनम्|सम्पादनानि}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|पृष्ठम्|पृष्ठानि}}',
+'createacct-benefit-body3' => 'नवीन{{PLURAL:$1|योजकः|योजकाः}}',
+'badretype' => 'भवता/भवत्या लिखितौ कूटशब्दौ समानौ न स्तः ।',
+'userexists' => 'भवता/भवत्या ईप्सितं प्रयोक्तृनाम पूर्वस्मादेव विद्यते । 
+कृपया अपरं प्रयोक्तृनाम चिनोतु ।',
+'loginerror' => 'प्रवेशे दोषः',
+'createacct-error' => 'सदस्यताप्राप्तिकाले दोषः',
+'createaccounterror' => '$1 सदस्यता न प्राप्ता :',
+'nocookiesnew' => 'भवता/भवत्या सदस्यता प्राप्ता, परन्तु प्रवेशः न कृतः । {{SITENAME}} इत्यस्य कृते योजकज्ञापकम् (uses cookies) अनिवार्यम् अस्ति । 
+भवता/भवत्या ज्ञापकव्यवस्था असमर्थिता अस्ति ।
+कृपया सा समर्थ्यताम्, ततश्च नवीनसदस्यतायाः प्रयोक्तृनाम्ना प्रविश्यताम् ।',
+'nocookieslogin' => '{{SITENAME}} इत्यत्र ज्ञापकेन (cookies) विना प्रवेशः न शक्यः । 
+भवता/भवत्या ज्ञापकव्यवस्था असमर्थिता अस्ति ।
+कृपया सा समर्थ्यताम्, ततश्च पुनः प्रयासः क्रियताम् ।',
 'nocookiesfornew' => 'योजकसदस्यता न सिद्धा यतः स्रोतः प्रमाणीकृतं न जातम् । 
 भवता कुक्कीस् इत्येतत् समर्थीकृतानि किम् इति परिशील्य इदं पृष्ठं पुनरारोप्य प्रयतताम् ।',
-'noname' => 'भवता एकं मान्यं प्रयोक्तृ-नाम न प्रदत्तम्।',
-'loginsuccesstitle' => 'स्वागतम्‌। प्रवेशः सिद्धः।',
-'loginsuccess' => 'भवान् अधुना {{SITENAME}} इत्यत्र "$1" रूपेण प्रविष्टोऽस्ति।',
-'nosuchuser' => 'तत्र $1 इति नाम्ना न कोऽपि प्रयोक्ता विद्यते।
-प्रयोक्तृनाम्नि आंग्ललिपेः लघुभिः दीर्घैश्च अक्षरैः भिन्नता गण्यते।
-स्वकीयां वर्तनीं पुनरीक्षतां, अथवा [[Special:UserLogin/signup|नूतनसदस्यता प्राप्यताम्]]।',
-'nosuchusershort' => '"$1" इति नाम्ना न कोऽपि प्रयोक्ता विद्यते।
-स्वकीयां वर्तनीं पुनरीक्षताम्।',
-'nouserspecified' => 'भवता एकं प्रयोक्तृनाम अवश्यमेव दातव्यम्।',
-'login-userblocked' => 'एषः प्रयोक्ता प्रतिबन्धितः अस्ति। सत्रारम्भाय अनुमतिः नास्ति।',
-'wrongpassword' => 'भवता प्रदत्तः कूटशब्दः त्रुटिपूर्णः अस्ति। 
-कृपया पुनः लिख्यताम्।',
-'wrongpasswordempty' => 'लिखितः कूटशब्दः रिक्तः विद्यते।
-कृपया पुनः लिख्यताम्।',
-'passwordtooshort' => 'कूटशब्दः न्यूनातिन्यूनं {{PLURAL:$1| 1 अक्षरात्मकः|$1 अक्षरात्मकमः}} अवश्यमेव भवेत्।',
-'password-name-match' => 'भवतः कूटशब्दः भवतः प्रयोक्तृनामतः अवश्यम् भिन्नं  भवेत् ।',
-'password-login-forbidden' => 'अस्य प्रयोक्तृनाम्नः कूटशब्दस्य च प्रयोगः वर्जितोऽस्ति।',
+'noname' => 'भवता/भवत्या योग्यं प्रयोक्तृनाम न प्रदत्तम् ।',
+'loginsuccesstitle' => 'स्वागतं ! प्रवेशः सिद्धः ।',
+'loginsuccess' => 'भवता/भवत्या {{SITENAME}} इत्यत्र "$1"-योजकत्वेन प्रवेशः प्राप्तः ।',
+'nosuchuser' => "'''$1''' नाम्नः न कोऽपि योजकः विद्यते ।
+
+प्रयोक्तृनामानि पक्षानुगुणं (case sensitive) भवन्ति ।
+
+यत् टङ्कितं, तत् पश्यतु अथवा [[Special:UserLogin/signup|नूतनसदस्यता प्राप्यताम्]] ।",
+'nosuchusershort' => "'''$1''' नाम्नः न कोऽपि योजकः विद्यते ।
+
+यत् टङ्कितं, तत् पश्यतु ।",
+'nouserspecified' => 'भवता/भवत्या एकं योग्यं प्रयोक्तृनाम अवश्यमेव दातव्यम् ।',
+'login-userblocked' => 'एषः योजकः प्रतिबन्धितः । प्रविष्टुम् अनुमतिः नास्ति ।',
+'wrongpassword' => 'भवता/भवत्या लिखितः कूटशब्दः त्रुटियुक्तः । 
+कृपया पुनः लिख्यताम् ।',
+'wrongpasswordempty' => 'कूटशब्दपेटिकायां कूटशब्दः न लिखितः ।
+
+कृपया पुनः प्रयासः क्रियताम् ।',
+'passwordtooshort' => 'न्यूनातिन्यूनं {{PLURAL:$1| 1 अक्षरात्मकः|$1 अक्षरात्मकः}} कूटशब्दः भवेदेव ।',
+'password-name-match' => 'भवतः/भवत्याः प्रयोक्तृनाम, कूटशब्दः च समानः न भवेत् ।',
+'password-login-forbidden' => 'अस्य प्रयोक्तृनाम्नः कूटशब्दस्य च प्रयोगः वर्जितोऽस्ति ।',
 'mailmypassword' => 'कूटशब्दः परिवर्त्यताम्',
-'passwordremindertitle' => '{{SITENAME}} à¤\87तà¥\8dयà¥\87तदरà¥\8dथà¥\87 à¤¨à¥\82तनà¥\8d à¤\85सà¥\8dथायि à¤\95à¥\82à¤\9fशबà¥\8dदमà¥\8d।',
+'passwordremindertitle' => '{{SITENAME}} à¤\87तà¥\8dयसà¥\8dमà¥\88 à¤¨à¥\82तनà¤\83 à¤\85सà¥\8dथायà¥\80 à¤\95à¥\82à¤\9fशबà¥\8dदà¤\83 ।',
 'passwordremindertext' => 'कश्चित्  (भवान् अपि स्यात्,  $1 ऐ. पि. सङ्केतात् ) {{SITENAME}} ($4) इत्यस्य कृते नूतनं कूटशब्दं प्रार्थितवान् । तात्कालिकः कूटशब्दः "$2" इति उपयोक्तुः कृते निर्मितः "$3" कृते प्रेषितश्च । यदि अयं भवतः  आशयः, भवान् प्रविश्य नूतनं कूटशब्दम् इदानीं चिनोतु । भवतः तात्कालिकः कूटशब्दः  {{PLURAL:$5|दिनम्|$5 दिनानि}} यावत् सक्रियः भवति । 
 
 अन्यः कश्चित् एतां प्रार्थनां कृतवान्, अथवा भवानेव पूर्वतनं कृटशब्दं स्मृतवान्, इदानीं तस्य परिवर्तनं न् इच्छति चेत् एतां सूचनाम् अनङ्गीकृत्य पूर्वतनस्य कूटशब्दस्य एव उपयोगं करोतु ।',
-'noemail' => '"$1" इति प्रयोक्तुः कृते न कोऽपि विद्युत्सन्देशसंकेतः पञ्जीकृतोऽस्ति।',
-'noemailcreate' => 'भवता एकः मान्यः विद्युत्सन्देशसंकेतः दातव्यः।',
-'passwordsent' => '"$1" इत्येतस्य कृते पञ्जीकृते विद्युत्सन्देशसंकेते एकः नूतनः कूटशब्दः प्रेषितोऽस्ति।
-कृपया तस्य सम्प्राप्तिपश्चात् पुनः प्रविशतु।',
-'blocked-mailpassword' => 'भवतः आइपी-संकेतः सम्पादनात् प्रतिबन्धितः अस्ति, अतश्च कूटशब्द-पुनरवाप्ति-सुविधायाः प्रयोगादपि वर्जितः, येन हि दुष्प्रयोगः न स्यात्।',
+'noemail' => '"$1" प्रयोक्तुः न कोऽपि ई-पत्रसङ्केतः पञ्जीकृतः अभवत् ।',
+'noemailcreate' => 'भवता/भवत्या मान्यः ई-पत्रसङ्केतः दातव्यः ।',
+'passwordsent' => '"$1" इत्यस्य पञ्जीकृताय ई-पत्रसङ्केताय नवीनः कूटशब्दः प्रेषितः अस्ति । 
+
+कृपया तस्य कूटशब्दस्य उपयोगेन पुनः प्रविश्यताम् ।',
+'blocked-mailpassword' => 'भवतः/भवत्याः अन्तर्जालसंविद् (IP) प्रतिबन्धितः अस्ति । 
+सम्पादनाय अनुमतिः नास्ति, अतः कूटशब्दस्य पुनःप्राप्तिः भवितुं नार्हति ।',
 'eauthentsent' => 'भवता प्रदत्ते विद्युत्पत्र-संकेते एकः परिपुष्टिरूपः विद्युत्सन्देशः प्रेषितोऽस्ति।
 अन्यः कश्चिद् विद्युत्सन्देशः प्रेषितो भवेत् इत्येतदर्थं भवता तत्सन्देशे प्रदत्ताः निर्देशाः पालितव्याः, येन हि सा विद्युत्सन्देशलेखा भवदीया एव इति सत्यापितो भवेत्।',
 'throttled-mailpassword' => 'पूर्वतनायां {{PLURAL:$1|होरस्य|$1 होराणां}} अवधौ भवदर्थं एकः कूटशब्द-पुनःस्मारकम् प्रेषितोऽस्ति।
index a1d6bc0..383ac11 100644 (file)
@@ -975,6 +975,8 @@ Ye can view this diff; details can be foond in the [{{fullurl:{{#Special:Log}}/s
 'revdelete-no-file' => 'The file speceefied disna exeest.',
 'revdelete-show-file-confirm' => 'Ar ye sair ye wish tae see ae delytit reveesion o the file "<nowiki>$1</nowiki>" fae $2 at $3?',
 'revdelete-show-file-submit' => 'Ai',
+'revdelete-selected-text' => '{{PLURAL:$1|Selectit luikower|Selectit luikowers}} o [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Selectit file version|Selectit file versions}} o [[:$2]]:',
 'logdelete-selected' => '{{PLURAL:$1|Selectit log event|Selectit log events}}:',
 'revdelete-text-text' => 'Delytit reveesions will still kith in the page histerie, bit pairts o thair content will be onaccessible til the publeec.',
 'revdelete-text-file' => 'Delytit file versions will still kith in the file histerie, bit pairts o thair content will be onaccessible til the publeec.',
index 4ad46ab..2999a74 100644 (file)
@@ -236,7 +236,6 @@ $messages = array(
 'disclaimers' => 'Avisu legál',
 'disclaimerpage' => 'Project:Avisu legál',
 'edithelp' => 'Ajuda kona-ba edita',
-'helppage' => 'Help:Konteúdu',
 'mainpage' => 'Pájina Mahuluk',
 'mainpage-description' => 'Pájina Mahuluk',
 'portal' => 'Portál komunidade nian',
index dd46c67..336f9db 100644 (file)
@@ -796,7 +796,7 @@ $2',
 'yourpassword' => '密码:',
 'userlogin-yourpassword' => '密码',
 'userlogin-yourpassword-ph' => '请输入你的密码',
-'createacct-yourpassword-ph' => '请输入一个密码',
+'createacct-yourpassword-ph' => '请输入密码',
 'yourpasswordagain' => '请再次输入密码:',
 'createacct-yourpasswordagain' => '确认密码',
 'createacct-yourpasswordagain-ph' => '请再次输入密码',
@@ -830,7 +830,7 @@ $2',
 'createacct-another-join' => '在下方输入新帐户信息。',
 'createacct-emailrequired' => '电子邮件地址',
 'createacct-emailoptional' => '电子邮件地址(可选)',
-'createacct-email-ph' => '请输入的电子邮件地址',
+'createacct-email-ph' => '请输入的电子邮件地址',
 'createacct-another-email-ph' => '输入电子邮件地址',
 'createaccountmail' => '使用一个临时的随机密码并将其发送到指定的电子邮件地址中',
 'createacct-realname' => '真实姓名 (可选)',
@@ -839,9 +839,9 @@ $2',
 'createacct-reason-ph' => '你为什么要创建另一个账户',
 'createacct-captcha' => '安全检查',
 'createacct-imgcaptcha-ph' => '请输入上图中的文字',
-'createacct-submit' => '创建的账户',
+'createacct-submit' => '创建的账户',
 'createacct-another-submit' => '创建另一个账户',
-'createacct-benefit-heading' => '{{SITENAME}}æ\98¯ç\94±å\83\8fæ\82¨è¿\99æ ·ç\9a\84人建ç«\8b的。',
+'createacct-benefit-heading' => '{{SITENAME}}æ\98¯ç\94±å\90\8cä½ ä¸\80æ ·ç\9a\84人们æ\9e\84ç­\91的。',
 'createacct-benefit-body1' => '{{PLURAL:$1|次编辑}}',
 'createacct-benefit-body2' => '{{PLURAL:$1|个页面}}',
 'createacct-benefit-body3' => '位最近{{PLURAL:$1|贡献者}}',
@@ -1418,7 +1418,7 @@ $1",
 'showingresultsheader' => "关于'''$4'''的{{PLURAL:$5|第'''$1'''条结果,共'''$3'''条结果|第'''$1~$2'''条结果,共'''$3'''条结果}}",
 'search-nonefound' => '找不到和查询相匹配的结果。',
 'powersearch-legend' => '高级搜索',
-'powersearch-ns' => '在以下的名字空间中搜索:',
+'powersearch-ns' => '搜索名字空间:',
 'powersearch-redir' => '列出重定向',
 'powersearch-togglelabel' => '选择:',
 'powersearch-toggleall' => '全选',
@@ -1573,7 +1573,7 @@ $1",
 'group-sysop' => '管理员',
 'group-bureaucrat' => '行政员',
 'group-suppress' => '监督',
-'group-all' => '(全部)',
+'group-all' => '(所有)',
 
 'group-user-member' => '{{GENDER:$1|用户}}',
 'group-autoconfirmed-member' => '自动确认用户',
@@ -1745,7 +1745,7 @@ $1",
 'rcshowhidemine' => '$1我的编辑',
 'rcshowhidemine-show' => '显示',
 'rcshowhidemine-hide' => '隐藏',
-'rclinks' => '显示最后$2天的最后$1个更改<br />$3',
+'rclinks' => '显示过去$2天的最后$1个更改<br />$3',
 'diff' => '差异',
 'hist' => '历史',
 'hide' => '隐藏',
@@ -2013,7 +2013,7 @@ $1',
 'file-anchor-link' => '文件',
 'filehist' => '文件历史',
 'filehist-help' => '单击某个日期/时间查看对应时刻的文件。',
-'filehist-deleteall' => '删除全部',
+'filehist-deleteall' => '删除所有',
 'filehist-deleteone' => '删除',
 'filehist-revert' => '恢复',
 'filehist-current' => '当前',
@@ -2399,7 +2399,7 @@ $1',
 'watchmethod-list' => '查看监视页中的最新修改',
 'watchlistcontains' => '您的监视列表包含$1个页面。',
 'iteminvalidname' => "页面'$1'错误,无效命名...",
-'wlnote2' => '以ä¸\8bæ\98¯æ\9c\80è¿\91<strong>$1</strong>å°\8fæ\97¶ç\9a\84å\8f\98å\8c\96,截至$2 $3。',
+'wlnote2' => 'ä¸\8bé\9d¢æ\98¯è¿\87å\8e»{{PLURAL:$1|<strong>$1</strong>å°\8fæ\97¶}}ç\9a\84æ\9b´æ\94¹,截至$2 $3。',
 'wlshowlast' => '显示过去$1小时$2天$3',
 'watchlist-options' => '监视列表选项',
 
@@ -2909,7 +2909,7 @@ $1被封禁的理由是“$2”',
 
 此外您还可以利用链接导出文件,例如您可以使用[[{{#Special:Export}}/{{MediaWiki:Mainpage}}]]导出“[[{{MediaWiki:Mainpage}}]]”页面。',
 'exportall' => '导出所有页面',
-'exportcuronly' => 'ä»\85å\8c\85å\90«å½\93å\89\8dç\9a\84修订ï¼\8cè\80\8cä¸\8dæ\98¯å\85¨é\83¨ç\9a\84历史。',
+'exportcuronly' => 'ä»\85å\8c\85å\90«å½\93å\89\8dç\89\88æ\9c¬ï¼\8cè\80\8cä¸\8dæ\98¯å®\8cæ\95´历史。',
 'exportnohistory' => "----
 '''注意:'''由于性能原因,从此表单导出页面的全部历史已被禁用。",
 'exportlistauthors' => '为每个页面包含贡献者的完整列表',
@@ -2933,7 +2933,7 @@ $1被封禁的理由是“$2”',
 'allmessages-filter-legend' => '过滤',
 'allmessages-filter' => '按自定义状态过滤:',
 'allmessages-filter-unmodified' => '未修改',
-'allmessages-filter-all' => '全部',
+'allmessages-filter-all' => '所有',
 'allmessages-filter-modified' => '曾修改',
 'allmessages-prefix' => '以前缀过滤:',
 'allmessages-language' => '语言:',
@@ -3733,8 +3733,8 @@ Variants for Chinese language
 
 # 'all' in various places, this might be different for inflected languages
 'watchlistall2' => '所有',
-'namespacesall' => '全部',
-'monthsall' => '全部',
+'namespacesall' => '所有',
+'monthsall' => '所有',
 
 # Email address confirmation
 'confirmemail' => '确认邮箱地址',
@@ -3821,7 +3821,7 @@ $5
 # Separators for various lists, etc.
 'comma-separator' => '、',
 'colon-separator' => ':',
-'pipe-separator' => '|',
+'pipe-separator' => '&#32;|&#32;',
 'word-separator' => '',
 'parentheses' => '($1)',
 'quotation-marks' => '“$1”',
@@ -3888,7 +3888,7 @@ $5
 'watchlistedit-raw-removed' => '$1个标题被删除:',
 
 # Watchlist editing tools
-'watchlisttools-view' => '查看关更改',
+'watchlisttools-view' => '查看关更改',
 'watchlisttools-edit' => '查看并编辑监视列表',
 'watchlisttools-raw' => '编辑原始监视列表',
 
index 1894005..424a19e 100644 (file)
@@ -2598,8 +2598,8 @@ $1',
 'contribsub2' => '{{GENDER:$3|$1}} 的貢獻 ($2)',
 'nocontribs' => '沒有找到符合特徵的更改。',
 'uctop' => '(最新修改)',
-'month' => '從該月份 (或更早):',
-'year' => '從該年份 (或更早):',
+'month' => '截止月份:',
+'year' => '截止年份:',
 
 'sp-contributions-newbies' => '只顯示新建立之用戶的貢獻',
 'sp-contributions-newbies-sub' => '新手',
index 4321b1b..7435e04 100644 (file)
@@ -7,7 +7,8 @@
        $.extend( mw.Api.prototype, {
                /**
                 * Determine if a category exists.
-                * @param {mw.Title} title
+                *
+                * @param {mw.Title|string} title
                 * @param {Function} [ok] Success callback (deprecated)
                 * @param {Function} [err] Error callback (deprecated)
                 * @return {jQuery.Promise}
@@ -46,7 +47,7 @@
                /**
                 * Get a list of categories that match a certain prefix.
                 *
-                * E.g. given "Foo", return "Food", "Foolish people", "Foosball tables" ...
+                * E.g. given "Foo", return "Food", "Foolish people", "Foosball tables"...
                 *
                 * @param {string} prefix Prefix to match.
                 * @param {Function} [ok] Success callback (deprecated)
@@ -85,8 +86,9 @@
                },
 
                /**
-                * Get the categories that a particular page on the wiki belongs to
-                * @param {mw.Title} title
+                * Get the categories that a particular page on the wiki belongs to.
+                *
+                * @param {mw.Title|string} title
                 * @param {Function} [ok] Success callback (deprecated)
                 * @param {Function} [err] Error callback (deprecated)
                 * @param {boolean} [async=true] Asynchronousness
                                .fail( err )
                                .promise( { abort: apiPromise.abort } );
                }
-
        } );
 
        /**
index 952dea4..b1f1d2b 100644 (file)
@@ -5,7 +5,7 @@
 
        $.extend( mw.Api.prototype, {
                /**
-                * Convinience method for 'action=parse'.
+                * Convenience method for 'action=parse'.
                 *
                 * @param {string} wikitext
                 * @param {Function} [ok] Success callback (deprecated)
index 9d65e1f..aa33d86 100644 (file)
@@ -24,7 +24,7 @@
         */
        function doWatchInternal( pages, ok, err, addParams ) {
                // XXX: Parameter addParams is undocumented because we inherit this
-               // documentation in the public method..
+               // documentation in the public method...
                var apiPromise = this.post(
                        $.extend(
                                {
@@ -70,7 +70,6 @@
                unwatch: function ( pages, ok, err ) {
                        return doWatchInternal.call( this, pages, ok, err, { unwatch: 1 } );
                }
-
        } );
 
        /**
index 082f807..ffafd33 100644 (file)
                /**
                 * Get the link to a page name (relative to `wgServer`),
                 *
-                * @param {string} str Page name to get the link for.
+                * @param {string} str Page name
                 * @param {Object} [params] A mapping of query parameter names to values,
-                *     e.g. `{ action: 'edit' }`.
-                * @return {string} Location for a page with name of `str` or boolean false on error.
+                *  e.g. `{ action: 'edit' }`
+                * @return {string} Url of the page with name of `str`
                 */
                getUrl: function ( str, params ) {
-                       var url = mw.config.get( 'wgArticlePath' ).replace( '$1',
-                               util.wikiUrlencode( typeof str === 'string' ? str : mw.config.get( 'wgPageName' ) ) );
+                       var url = mw.config.get( 'wgArticlePath' ).replace(
+                               '$1',
+                               util.wikiUrlencode( typeof str === 'string' ? str : mw.config.get( 'wgPageName' ) )
+                       );
+
                        if ( params && !$.isEmptyObject( params ) ) {
-                               url += url.indexOf( '?' ) !== -1 ? '&' : '?';
-                               url += $.param( params );
+                               url += ( url.indexOf( '?' ) !== -1 ? '&' : '?' ) + $.param( params );
                        }
+
                        return url;
                },
 
index 0d822bc..eb53138 100644 (file)
@@ -19,5 +19,6 @@
     "ooui-dialog-action-close": "Cerrar",
     "ooui-outline-control-move-down": "Mover abajo",
     "ooui-outline-control-move-up": "Mover arriba",
+    "ooui-outline-control-remove": "Eliminar elemento",
     "ooui-toolbar-more": "Más"
 }
\ No newline at end of file
index 4af8dbe..aa780e4 100644 (file)
@@ -8,5 +8,6 @@
     "ooui-dialog-action-close": "Sule",
     "ooui-outline-control-move-down": "Liiguta üksust allapoole",
     "ooui-outline-control-move-up": "Liiguta üksust ülespoole",
+    "ooui-outline-control-remove": "Eemalda üksus",
     "ooui-toolbar-more": "Veel"
 }
\ No newline at end of file
index 4c27b07..df37fe3 100644 (file)
@@ -7,5 +7,6 @@
     "ooui-dialog-action-close": "Жабу",
     "ooui-outline-control-move-down": "Элементті төмен жылжыту",
     "ooui-outline-control-move-up": "Элементті жоғары жылжыту",
+    "ooui-outline-control-remove": "Элементті алып тастау",
     "ooui-toolbar-more": "толығырақ"
 }
\ No newline at end of file
index 9a412f5..d98b0e4 100644 (file)
@@ -1,11 +1,13 @@
 {
     "@metadata": {
         "authors": [
-            "AlimanRuna"
+            "AlimanRuna",
+            "Jduranboger"
         ]
     },
     "ooui-dialog-action-close": "Wichq'ay",
     "ooui-outline-control-move-down": "Qallawata uraykuchiy",
     "ooui-outline-control-move-up": "Qallawata huqariy",
+    "ooui-outline-control-remove": "P'anqa sutikunata qichuy",
     "ooui-toolbar-more": "Aswan"
 }
\ No newline at end of file
index 338edd3..091f4fc 100644 (file)
           transition: border-color 300ms ease-in-out;
 }
 
-.oo-ui-toolGroup:hover {
+.oo-ui-toolGroup.oo-ui-widget-enabled:hover {
   border-color: rgba(0, 0, 0, 0.1);
 }
 
-.oo-ui-toolGroup .oo-ui-tool-link .oo-ui-tool-title {
+.oo-ui-toolGroup.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title {
   color: #000;
 }
 
   border-bottom-right-radius: 0.25em;
 }
 
-.oo-ui-barToolGroup .oo-ui-tool.oo-ui-widget-enabled:hover {
+.oo-ui-barToolGroup .oo-ui-tool-link .oo-ui-iconedElement-icon {
+  opacity: 0.8;
+}
+
+.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool.oo-ui-widget-enabled:hover {
   border-color: rgba(0, 0, 0, 0.2);
 }
 
-.oo-ui-barToolGroup .oo-ui-tool-active.oo-ui-widget-enabled {
+.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool-active.oo-ui-widget-enabled {
   background: #f8fbfd;
   background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #f1f7fb), color-stop(100%, #ffffff));
   background-image: -webkit-linear-gradient(top, #f1f7fb 0%, #ffffff 100%);
   box-shadow: inset 0 0.07em 0.07em 0 rgba(0, 0, 0, 0.07);
 }
 
-.oo-ui-barToolGroup .oo-ui-tool-active.oo-ui-widget-enabled + .oo-ui-tool-active.oo-ui-widget-enabled {
+.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool-active.oo-ui-widget-enabled + .oo-ui-tool-active.oo-ui-widget-enabled {
   border-left-color: rgba(0, 0, 0, 0.1);
 }
 
-.oo-ui-barToolGroup .oo-ui-tool-link .oo-ui-iconedElement-icon {
-  opacity: 0.8;
-}
-
-.oo-ui-barToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-iconedElement-icon {
+.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-iconedElement-icon {
   opacity: 0.2;
 }
 
-.oo-ui-barToolGroup .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-iconedElement-icon {
+.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-iconedElement-icon {
   opacity: 0.8;
 }
 
-.oo-ui-barToolGroup .oo-ui-tool.oo-ui-widget-enabled:hover .oo-ui-tool-link .oo-ui-iconedElement-icon {
+.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool.oo-ui-widget-enabled:hover .oo-ui-tool-link .oo-ui-iconedElement-icon {
   opacity: 1;
 }
 
+.oo-ui-barToolGroup.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-iconedElement-icon {
+  opacity: 0.2;
+}
+
 .oo-ui-listToolGroup.oo-ui-popupToolGroup-active {
   border-color: rgba(0, 0, 0, 0.2);
 }
   opacity: 0.2;
 }
 
+.oo-ui-listToolGroup.oo-ui-widget-disabled .oo-ui-indicatedElement-indicator,
+.oo-ui-listToolGroup.oo-ui-widget-disabled .oo-ui-iconedElement-icon {
+  opacity: 0.2;
+}
+
 .oo-ui-menuToolGroup {
   border-color: rgba(0, 0, 0, 0.1);
 }
 
-.oo-ui-menuToolGroup:hover {
+.oo-ui-menuToolGroup.oo-ui-widget-enabled:hover {
   border-color: rgba(0, 0, 0, 0.2);
 }
 
   border-color: rgba(0, 0, 0, 0.25);
 }
 
-.oo-ui-menuToolGroup .oo-ui-tool:hover {
+.oo-ui-menuToolGroup .oo-ui-tool.oo-ui-widget-enabled:hover {
   background-color: #e1f3ff;
 }
 
+.oo-ui-menuToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-tool-title {
+  color: #ccc;
+}
+
+.oo-ui-menuToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-iconedElement-icon {
+  opacity: 0.2;
+}
+
+.oo-ui-menuToolGroup.oo-ui-widget-disabled {
+  color: #ccc;
+  text-shadow: 0 1px 1px #fff;
+  background-color: #f3f3f3;
+  border-color: #ddd;
+}
+
+.oo-ui-menuToolGroup.oo-ui-widget-disabled .oo-ui-indicatedElement-indicator,
+.oo-ui-menuToolGroup.oo-ui-widget-disabled .oo-ui-iconedElement-icon {
+  opacity: 0.2;
+}
+
 .oo-ui-popupToolGroup-handle .oo-ui-indicatedElement-indicator,
 .oo-ui-popupToolGroup-handle .oo-ui-iconedElement-icon {
   opacity: 0.8;
index b964a12..937ff33 100644 (file)
@@ -1,14 +1,14 @@
 /*!
- * OOjs UI v0.1.0-pre (e9e435be5e)
+ * OOjs UI v0.1.0-pre (23fb1b6144)
  * 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: Thu Mar 27 2014 11:42:46 GMT-0700 (PDT)
+ * Date: Thu Mar 27 2014 14:49:30 GMT-0700 (PDT)
  */
-( function () {
+( function ( OO ) {
 
 'use strict';
 /**
@@ -2932,11 +2932,12 @@ OO.ui.Tool.prototype.destroy = function () {
  *
  * @constructor
  * @param {OO.ui.ToolFactory} toolFactory Factory for creating tools
+ * @param {OO.ui.ToolGroupFactory} toolGroupFactory Factory for creating tool groups
  * @param {Object} [config] Configuration options
  * @cfg {boolean} [actions] Add an actions section opposite to the tools
  * @cfg {boolean} [shadow] Add a shadow below the toolbar
  */
-OO.ui.Toolbar = function OoUiToolbar( toolFactory, config ) {
+OO.ui.Toolbar = function OoUiToolbar( toolFactory, toolGroupFactory, config ) {
        // Configuration initialization
        config = config || {};
 
@@ -2949,6 +2950,7 @@ OO.ui.Toolbar = function OoUiToolbar( toolFactory, config ) {
 
        // Properties
        this.toolFactory = toolFactory;
+       this.toolGroupFactory = toolGroupFactory;
        this.groups = [];
        this.tools = {};
        this.$bar = this.$( '<div>' );
@@ -2992,6 +2994,15 @@ OO.ui.Toolbar.prototype.getToolFactory = function () {
        return this.toolFactory;
 };
 
+/**
+ * Get the tool group factory.
+ *
+ * @return {OO.Factory} Tool group factory
+ */
+OO.ui.Toolbar.prototype.getToolGroupFactory = function () {
+       return this.toolGroupFactory;
+};
+
 /**
  * Handles mouse down events.
  *
@@ -3031,13 +3042,7 @@ OO.ui.Toolbar.prototype.initialize = function () {
 OO.ui.Toolbar.prototype.setup = function ( groups ) {
        var i, len, type, group,
                items = [],
-               // TODO: Use a registry instead
-               defaultType = 'bar',
-               constructors = {
-                       'bar': OO.ui.BarToolGroup,
-                       'list': OO.ui.ListToolGroup,
-                       'menu': OO.ui.MenuToolGroup
-               };
+               defaultType = 'bar';
 
        // Cleanup previous groups
        this.reset();
@@ -3054,9 +3059,10 @@ OO.ui.Toolbar.prototype.setup = function ( groups ) {
                                group.label = 'ooui-toolbar-more';
                        }
                }
-               type = constructors[group.type] ? group.type : defaultType;
+               // Check type has been registered
+               type = this.getToolGroupFactory().lookup( group.type ) ? group.type : defaultType;
                items.push(
-                       new constructors[type]( this, $.extend( { '$': this.$ }, group ) )
+                       this.getToolGroupFactory().create( type, this, $.extend( { '$': this.$ }, group ) )
                );
        }
        this.addItems( items );
@@ -3517,6 +3523,43 @@ OO.ui.ToolGroup.prototype.destroy = function () {
        }
        this.$element.remove();
 };
+/**
+ * Factory for tools.
+ *
+ * @class
+ * @extends OO.Factory
+ * @constructor
+ */
+OO.ui.ToolGroupFactory = function OoUiToolGroupFactory() {
+       // Parent constructor
+       OO.Factory.call( this );
+
+       var i, l,
+               defaultClasses = this.constructor.static.getDefaultClasses();
+
+       // Register default toolgroups
+       for ( i = 0, l = defaultClasses.length; i < l; i++ ) {
+               this.register( defaultClasses[i] );
+       }
+};
+
+/* Inheritance */
+
+OO.inheritClass( OO.ui.ToolGroupFactory, OO.Factory );
+
+/* Static Methods */
+
+/**
+ * Get a default set of classes to be registered on construction
+ * @return {Function[]} Default classes
+ */
+OO.ui.ToolGroupFactory.static.getDefaultClasses = function () {
+       return [
+               OO.ui.BarToolGroup,
+               OO.ui.ListToolGroup,
+               OO.ui.MenuToolGroup
+       ];
+};
 /**
  * Layout made of a fieldset and optional legend.
  *
@@ -4558,6 +4601,8 @@ OO.inheritClass( OO.ui.BarToolGroup, OO.ui.ToolGroup );
 OO.ui.BarToolGroup.static.titleTooltips = true;
 
 OO.ui.BarToolGroup.static.accelTooltips = true;
+
+OO.ui.BarToolGroup.static.name = 'bar';
 /**
  * Popup list of tools with an icon and optional label.
  *
@@ -4719,6 +4764,8 @@ OO.inheritClass( OO.ui.ListToolGroup, OO.ui.PopupToolGroup );
 /* Static Properties */
 
 OO.ui.ListToolGroup.static.accelTooltips = true;
+
+OO.ui.ListToolGroup.static.name = 'list';
 /**
  * Drop down menu layout of tools as selectable menu items.
  *
@@ -4752,6 +4799,8 @@ OO.inheritClass( OO.ui.MenuToolGroup, OO.ui.PopupToolGroup );
 
 OO.ui.MenuToolGroup.static.accelTooltips = true;
 
+OO.ui.MenuToolGroup.static.name = 'menu';
+
 /* Methods */
 
 /**
@@ -4772,7 +4821,7 @@ OO.ui.MenuToolGroup.prototype.onUpdateState = function () {
                }
        }
 
-       this.setLabel( labelTexts.join( ', ' ) );
+       this.setLabel( labelTexts.join( ', ' ) || ' ' );
 };
 /**
  * UserInterface popup tool.
@@ -4835,6 +4884,8 @@ OO.ui.PopupTool.prototype.onUpdateState = function () {
 /**
  * Group widget.
  *
+ * Mixin for OO.ui.Widget subclasses.
+ *
  * Use together with OO.ui.ItemWidget to make disabled state inheritable.
  *
  * @class
@@ -4869,6 +4920,8 @@ OO.ui.GroupWidget.prototype.setDisabled = function ( disabled ) {
        var i, len;
 
        // Parent method
+       // Note this is calling OO.ui.Widget; we're assuming the class this is mixed into
+       // is a subclass of OO.ui.Widget.
        OO.ui.Widget.prototype.setDisabled.call( this, disabled );
 
        // During construction, #setDisabled is called before the OO.ui.GroupElement constructor
@@ -7982,4 +8035,4 @@ OO.ui.ToggleSwitchWidget.prototype.onClick = function ( e ) {
                this.setValue( !this.value );
        }
 };
-}() );
+}( OO ) );
index 1cc6189..887da4d 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.1.0-pre (e9e435be5e)
+ * OOjs UI v0.1.0-pre (23fb1b6144)
  * 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: Thu Mar 27 2014 11:42:46 GMT-0700 (PDT)
+ * Date: Thu Mar 27 2014 14:49:30 GMT-0700 (PDT)
  */
 
 /* Textures */
   display: block;
   height: 1.5em;
   padding: 0.25em;
-  cursor: pointer;
 }
 
 .oo-ui-barToolGroup .oo-ui-tool-link .oo-ui-iconedElement-icon {
   display: none;
 }
 
+.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool-link {
+  cursor: pointer;
+}
+
 .oo-ui-listToolGroup .oo-ui-toolGroup-tools {
   padding: 0.25em;
 }
   background-image: /* @embed */ url(images/icons/check.png);
 }
 
+.oo-ui-menuToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link {
+  cursor: default;
+}
+
 .oo-ui-popupToolGroup {
   position: relative;
   height: 2em;
   line-height: 2.6em;
 }
 
+.oo-ui-popupToolGroup.oo-ui-widget-disabled .oo-ui-popupToolGroup-handle {
+  cursor: default;
+}
+
 .oo-ui-popupToolGroup.oo-ui-iconedElement .oo-ui-popupToolGroup-handle .oo-ui-labeledElement-label {
   margin-left: 3em;
 }
index ba3c6c0..a332368 100644 (file)
@@ -3,6 +3,8 @@
 /**
  * @group Database
  *        ^--- needed for language cache stuff
+ *
+ * @group Title
  */
 class TitleTest extends MediaWikiTestCase {
        protected function setUp() {
@@ -38,6 +40,7 @@ class TitleTest extends MediaWikiTestCase {
         * See also mediawiki.Title.test.js
         * @covers Title::secureAndSplit
         * @todo This method should be split into 2 separate tests each with a provider
+        * @note: This mainly tests MediaWikiTitleCodec::parseTitle().
         */
        public function testSecureAndSplit() {
                $this->setMwGlobals( array(
@@ -62,6 +65,7 @@ class TitleTest extends MediaWikiTestCase {
                        'A \'B\'',
                        '.com',
                        '~',
+                       '#',
                        '"',
                        '\'',
                        'Talk:Sandbox',
@@ -130,6 +134,7 @@ class TitleTest extends MediaWikiTestCase {
                        str_repeat( 'x', 256 ),
                        // Namespace prefix without actual title
                        'Talk:',
+                       'Talk:#',
                        'Category: ',
                        'Category: #bar',
                        // interwiki prefix
index 8995a0d..bdb143f 100644 (file)
@@ -37,7 +37,7 @@ class ThrottledErrorTest extends MediaWikiTestCase {
                        ->getMock();
                $mock->expects( $this->once() )
                        ->method( 'setStatusCode' )
-                       ->with( 503 );
+                       ->with( 429 );
                return $mock;
        }
 
index 839c5d5..c8e8ac7 100644 (file)
@@ -1,15 +1,18 @@
 ( function ( $ ) {
-       QUnit.module( 'jquery.color', QUnit.newMwEnvironment() );
+       QUnit.module( 'jquery.color', QUnit.newMwEnvironment( {
+               setup: function () {
+                       this.clock = this.sandbox.useFakeTimers();
+               }
+       } ) );
 
-       QUnit.asyncTest( 'animate', 3, function ( assert ) {
+       QUnit.test( 'animate', 1, function ( assert ) {
                var $canvas = $( '<div>' ).css( 'background-color', '#fff' );
 
-               $canvas.animate( { backgroundColor: '#000' }, 4 ).promise().then( function () {
+               $canvas.animate( { backgroundColor: '#000' }, 10 ).promise().then( function () {
                        var endColors = $.colorUtil.getRGB( $canvas.css( 'background-color' ) );
-                       assert.strictEqual( endColors[0], 0 );
-                       assert.strictEqual( endColors[1], 0 );
-                       assert.strictEqual( endColors[2], 0 );
-                       QUnit.start();
+                       assert.deepEqual( endColors, [0, 0, 0], 'end state' );
                } );
+
+               this.clock.tick( 20 );
        } );
 }( jQuery ) );
index e6a6124..8040581 100644 (file)
@@ -1,7 +1,11 @@
 ( function ( mw, $ ) {
        var loremIpsum = 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit.';
 
-       QUnit.module( 'jquery.makeCollapsible', QUnit.newMwEnvironment() );
+       QUnit.module( 'jquery.makeCollapsible', QUnit.newMwEnvironment( {
+               setup: function () {
+                       this.clock = this.sandbox.useFakeTimers();
+               }
+       } ) );
 
        function prepareCollapsible( html, options ) {
                return $( $.parseHTML( html ) )
@@ -11,8 +15,9 @@
        }
 
        // This test is first because if it fails, then almost all of the latter tests are meaningless.
-       QUnit.asyncTest( 'testing hooks/triggers', 4, function ( assert ) {
-               var $collapsible = prepareCollapsible(
+       QUnit.test( 'testing hooks/triggers', 4, function ( assert ) {
+               var test = this,
+                       $collapsible = prepareCollapsible(
                                '<div class="mw-collapsible">' + loremIpsum + '</div>'
                        ),
                        $content = $collapsible.find( '.mw-collapsible-content' ),
                        } );
                        $collapsible.on( 'afterExpand.mw-collapsible', function () {
                                assert.assertTrue( $content.is( ':visible' ), 'second afterCollapseExpand: content is visible' );
-                               QUnit.start();
                        } );
 
                        // ...expanding happens here
                        $toggle.trigger( 'click' );
+                       test.clock.tick( 500 );
                } );
 
                // ...collapsing happens here
                $toggle.trigger( 'click' );
+               test.clock.tick( 500 );
        } );
 
-       QUnit.asyncTest( 'basic operation (<div>)', 5, function ( assert ) {
-               var $collapsible = prepareCollapsible(
+       QUnit.test( 'basic operation (<div>)', 5, function ( assert ) {
+               var test = this,
+                       $collapsible = prepareCollapsible(
                                '<div class="mw-collapsible">' + loremIpsum + '</div>'
                        ),
                        $content = $collapsible.find( '.mw-collapsible-content' ),
 
                        $collapsible.on( 'afterExpand.mw-collapsible', function () {
                                assert.assertTrue( $content.is( ':visible' ), 'after expanding: content is visible' );
-                               QUnit.start();
                        } );
 
                        $toggle.trigger( 'click' );
+                       test.clock.tick( 500 );
                } );
 
                $toggle.trigger( 'click' );
+               test.clock.tick( 500 );
        } );
 
-       QUnit.asyncTest( 'basic operation (<table>)', 7, function ( assert ) {
-               var $collapsible = prepareCollapsible(
+       QUnit.test( 'basic operation (<table>)', 7, function ( assert ) {
+               var test = this,
+                       $collapsible = prepareCollapsible(
                                '<table class="mw-collapsible">' +
                                        '<tr><td>' + loremIpsum + '</td><td>' + loremIpsum + '</td></tr>' +
                                        '<tr><td>' + loremIpsum + '</td><td>' + loremIpsum + '</td></tr>' +
                        $collapsible.on( 'afterExpand.mw-collapsible', function () {
                                assert.assertTrue( $headerRow.is( ':visible' ), 'after expanding: headerRow is still visible' );
                                assert.assertTrue( $contentRow.is( ':visible' ), 'after expanding: contentRow is visible' );
-                               QUnit.start();
                        } );
 
                        $toggle.trigger( 'click' );
+                       test.clock.tick( 500 );
                } );
 
                $toggle.trigger( 'click' );
+               test.clock.tick( 500 );
        } );
 
-       function tableWithCaptionTest( $collapsible, assert ) {
+       function tableWithCaptionTest( $collapsible, test, assert ) {
                var $caption = $collapsible.find( 'caption' ),
                        $headerRow = $collapsible.find( 'tr:first' ),
                        $contentRow = $collapsible.find( 'tr:last' ),
                                assert.assertTrue( $caption.is( ':visible' ), 'after expanding: caption is still visible' );
                                assert.assertTrue( $headerRow.is( ':visible' ), 'after expanding: headerRow is visible' );
                                assert.assertTrue( $contentRow.is( ':visible' ), 'after expanding: contentRow is visible' );
-                               QUnit.start();
                        } );
 
                        $toggle.trigger( 'click' );
+                       test.clock.tick( 500 );
                } );
 
                $toggle.trigger( 'click' );
+               test.clock.tick( 500 );
        }
 
-       QUnit.asyncTest( 'basic operation (<table> with caption)', 10, function ( assert ) {
+       QUnit.test( 'basic operation (<table> with caption)', 10, function ( assert ) {
                tableWithCaptionTest( prepareCollapsible(
                        '<table class="mw-collapsible">' +
                                '<caption>' + loremIpsum + '</caption>' +
                                '<tr><td>' + loremIpsum + '</td><td>' + loremIpsum + '</td></tr>' +
                                '<tr><td>' + loremIpsum + '</td><td>' + loremIpsum + '</td></tr>' +
                        '</table>'
-               ), assert );
+               ), this, assert );
        } );
 
-       QUnit.asyncTest( 'basic operation (<table> with caption and <thead>)', 10, function ( assert ) {
+       QUnit.test( 'basic operation (<table> with caption and <thead>)', 10, function ( assert ) {
                tableWithCaptionTest( prepareCollapsible(
                        '<table class="mw-collapsible">' +
                                '<caption>' + loremIpsum + '</caption>' +
                                '<tr><td>' + loremIpsum + '</td><td>' + loremIpsum + '</td></tr>' +
                                '<tr><td>' + loremIpsum + '</td><td>' + loremIpsum + '</td></tr>' +
                        '</table>'
-               ), assert );
+               ), this, assert );
        } );
 
-       function listTest( listType, assert ) {
+       function listTest( listType, test, assert ) {
                var $collapsible = prepareCollapsible(
                                '<' + listType + ' class="mw-collapsible">' +
                                        '<li>' + loremIpsum + '</li>' +
                        $collapsible.on( 'afterExpand.mw-collapsible', function () {
                                assert.assertTrue( $toggleItem.is( ':visible' ), 'after expanding: toggleItem is still visible' );
                                assert.assertTrue( $contentItem.is( ':visible' ), 'after expanding: contentItem is visible' );
-                               QUnit.start();
                        } );
 
                        $toggle.trigger( 'click' );
+                       test.clock.tick( 500 );
                } );
 
                $toggle.trigger( 'click' );
+               test.clock.tick( 500 );
        }
 
-       QUnit.asyncTest( 'basic operation (<ul>)', 7, function ( assert ) {
-               listTest( 'ul', assert );
+       QUnit.test( 'basic operation (<ul>)', 7, function ( assert ) {
+               listTest( 'ul', this, assert );
        } );
 
-       QUnit.asyncTest( 'basic operation (<ol>)', 7, function ( assert ) {
-               listTest( 'ol', assert );
+       QUnit.test( 'basic operation (<ol>)', 7, function ( assert ) {
+               listTest( 'ol', this, assert );
        } );
 
        QUnit.test( 'basic operation when synchronous (options.instantHide)', 2, function ( assert ) {
                assert.assertTrue( $collapsible.hasClass( 'mw-collapsed' ), 'mw-collapsed class present' );
        } );
 
-       QUnit.asyncTest( 'initial collapse (mw-collapsed class)', 2, function ( assert ) {
+       QUnit.test( 'initial collapse (mw-collapsed class)', 2, function ( assert ) {
                var $collapsible = prepareCollapsible(
                                '<div class="mw-collapsible mw-collapsed">' + loremIpsum + '</div>'
                        ),
 
                $collapsible.on( 'afterExpand.mw-collapsible', function () {
                        assert.assertTrue( $content.is( ':visible' ), 'after expanding: content is visible' );
-                       QUnit.start();
                } );
 
                $collapsible.find( '.mw-collapsible-toggle' ).trigger( 'click' );
+               this.clock.tick( 500 );
        } );
 
-       QUnit.asyncTest( 'initial collapse (options.collapsed)', 2, function ( assert ) {
+       QUnit.test( 'initial collapse (options.collapsed)', 2, function ( assert ) {
                var $collapsible = prepareCollapsible(
                                '<div class="mw-collapsible">' + loremIpsum + '</div>',
                                { collapsed: true }
 
                $collapsible.on( 'afterExpand.mw-collapsible', function () {
                        assert.assertTrue( $content.is( ':visible' ), 'after expanding: content is visible' );
-                       QUnit.start();
                } );
 
                $collapsible.find( '.mw-collapsible-toggle' ).trigger( 'click' );
+               this.clock.tick( 500 );
        } );
 
        QUnit.test( 'clicks on links inside toggler pass through (options.linksPassthru)', 2, function ( assert ) {
                assert.assertTrue( $content.is( ':hidden' ), 'click event on non-link inside toggle toggles content' );
        } );
 
-       QUnit.asyncTest( 'collapse/expand text (data-collapsetext, data-expandtext)', 2, function ( assert ) {
+       QUnit.test( 'collapse/expand text (data-collapsetext, data-expandtext)', 2, function ( assert ) {
                var $collapsible = prepareCollapsible(
                                '<div class="mw-collapsible" data-collapsetext="Collapse me!" data-expandtext="Expand me!">' +
                                        loremIpsum +
 
                $collapsible.on( 'afterCollapse.mw-collapsible', function () {
                        assert.equal( $toggleLink.text(), 'Expand me!', 'data-expandtext is respected' );
-                       QUnit.start();
                } );
 
                $collapsible.find( '.mw-collapsible-toggle' ).trigger( 'click' );
+               this.clock.tick( 500 );
        } );
 
-       QUnit.asyncTest( 'collapse/expand text (options.collapseText, options.expandText)', 2, function ( assert ) {
+       QUnit.test( 'collapse/expand text (options.collapseText, options.expandText)', 2, function ( assert ) {
                var $collapsible = prepareCollapsible(
                                '<div class="mw-collapsible">' + loremIpsum + '</div>',
                                { collapseText: 'Collapse me!', expandText: 'Expand me!' }
 
                $collapsible.on( 'afterCollapse.mw-collapsible', function () {
                        assert.equal( $toggleLink.text(), 'Expand me!', 'options.expandText is respected' );
-                       QUnit.start();
                } );
 
                $collapsible.find( '.mw-collapsible-toggle' ).trigger( 'click' );
+               this.clock.tick( 500 );
        } );
 
 }( mediaWiki, jQuery ) );