Merge "Implement section support for OOUIHTMLForm"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Fri, 6 Nov 2015 11:23:58 +0000 (11:23 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Fri, 6 Nov 2015 11:23:58 +0000 (11:23 +0000)
96 files changed:
RELEASE-NOTES-1.27
docs/hooks.txt
includes/GlobalFunctions.php
includes/Import.php
includes/Title.php
includes/api/ApiBase.php
includes/api/ApiHelp.php
includes/api/ApiQueryInfo.php
includes/api/ApiTokens.php
includes/api/ApiUpload.php
includes/api/i18n/de.json
includes/api/i18n/en.json
includes/api/i18n/fi.json
includes/api/i18n/he.json
includes/api/i18n/it.json
includes/api/i18n/ksh.json
includes/api/i18n/qqq.json
includes/api/i18n/sr-ec.json
includes/api/i18n/uk.json
includes/cache/LocalisationCache.php
includes/db/Database.php
includes/debug/logger/MonologSpi.php
includes/deferred/DeferredUpdates.php
includes/filerepo/file/LocalFile.php
includes/installer/i18n/sr-ec.json
includes/specials/SpecialTags.php
languages/i18n/af.json
languages/i18n/ar.json
languages/i18n/ast.json
languages/i18n/azb.json
languages/i18n/bcl.json
languages/i18n/be-tarask.json
languages/i18n/bn.json
languages/i18n/bs.json
languages/i18n/ca.json
languages/i18n/ckb.json
languages/i18n/cs.json
languages/i18n/de.json
languages/i18n/el.json
languages/i18n/en.json
languages/i18n/es.json
languages/i18n/et.json
languages/i18n/eu.json
languages/i18n/fa.json
languages/i18n/fi.json
languages/i18n/fr.json
languages/i18n/frr.json
languages/i18n/gl.json
languages/i18n/gom-deva.json
languages/i18n/gom-latn.json
languages/i18n/gsw.json
languages/i18n/he.json
languages/i18n/hu.json
languages/i18n/ia.json
languages/i18n/id.json
languages/i18n/ilo.json
languages/i18n/it.json
languages/i18n/ja.json
languages/i18n/ka.json
languages/i18n/kk-cyrl.json
languages/i18n/kn.json
languages/i18n/ko.json
languages/i18n/ksh.json
languages/i18n/lb.json
languages/i18n/lt.json
languages/i18n/lzh.json
languages/i18n/mk.json
languages/i18n/ml.json
languages/i18n/mr.json
languages/i18n/ms.json
languages/i18n/nap.json
languages/i18n/nb.json
languages/i18n/nl.json
languages/i18n/pl.json
languages/i18n/ps.json
languages/i18n/pt-br.json
languages/i18n/pt.json
languages/i18n/ro.json
languages/i18n/roa-tara.json
languages/i18n/ru.json
languages/i18n/sah.json
languages/i18n/scn.json
languages/i18n/sl.json
languages/i18n/sr-ec.json
languages/i18n/sv.json
languages/i18n/tr.json
languages/i18n/uk.json
languages/i18n/vi.json
languages/i18n/zh-hans.json
languages/i18n/zh-hant.json
maintenance/findOrphanedFiles.php
resources/src/mediawiki/mediawiki.ForeignStructuredUpload.BookletLayout.js
resources/src/mediawiki/mediawiki.ForeignStructuredUpload.js
resources/src/mediawiki/mediawiki.jqueryMsg.js
tests/qunit/suites/resources/mediawiki/mediawiki.jqueryMsg.test.js
thumb.php

index ec49ffb..13b9ba2 100644 (file)
@@ -64,6 +64,9 @@ production.
   setting in the relevant section of $wgLBFactoryConf.
 * User::newSystemUser() may be used to simplify the creation of passwordless
   "system" users for logged actions from scripts and extensions.
+* Extensions can now return detailed error information via the API when
+  preventing user actions using 'getUserPermissionsErrors' and similar hooks
+  by using ApiMessage instances instead of strings for the $result value.
 
 ==== External libraries ====
 
index 141a7e5..41cf488 100644 (file)
@@ -1521,7 +1521,9 @@ $lang: Language that will be used to render the timestamp
 'getUserPermissionsErrors': Add a permissions error when permissions errors are
 checked for. Use instead of userCan for most cases. Return false if the user
 can't do it, and populate $result with the reason in the form of
-array( messagename, param1, param2, ... ). For consistency, error messages
+array( messagename, param1, param2, ... ) or a MessageSpecifier instance (you
+might want to use ApiMessage to provide machine-readable details for the API).
+For consistency, error messages
 should be plain text with no special coloring, bolding, etc. to show that
 they're errors; presenting them properly to the user as errors is done by the
 caller.
@@ -1534,7 +1536,9 @@ $result: User permissions error to add. If none, return true.
 called only if expensive checks are enabled. Add a permissions error when
 permissions errors are checked for. Return false if the user can't do it, and
 populate $result with the reason in the form of array( messagename, param1,
-param2, ... ). For consistency, error messages should be plain text with no
+param2, ... ) or a MessageSpecifier instance (you might want to use ApiMessage
+to provide machine-readable details for the API). For consistency, error
+messages should be plain text with no
 special coloring, bolding, etc. to show that they're errors; presenting them
 properly to the user as errors is done by the caller.
 $title: Title object being checked against
index 3bc3a90..421cd90 100644 (file)
@@ -308,10 +308,15 @@ function wfMergeErrorArrays( /*...*/ ) {
        $out = array();
        foreach ( $args as $errors ) {
                foreach ( $errors as $params ) {
+                       $originalParams = $params;
+                       if ( $params[0] instanceof MessageSpecifier ) {
+                               $msg = $params[0];
+                               $params = array_merge( array( $msg->getKey() ), $msg->getParams() );
+                       }
                        # @todo FIXME: Sometimes get nested arrays for $params,
                        # which leads to E_NOTICEs
                        $spec = implode( "\t", $params );
-                       $out[$spec] = $params;
+                       $out[$spec] = $originalParams;
                }
        }
        return array_values( $out );
index 3d94c33..f0576d7 100644 (file)
@@ -1964,23 +1964,38 @@ class ImportStreamSource implements ImportSource {
                if ( $page == '' ) {
                        return Status::newFatal( 'import-noarticle' );
                }
-               $link = Title::newFromText( "$interwiki:Special:Export/$page" );
-               if ( is_null( $link ) || !$link->isExternal() ) {
+
+               # Look up the first interwiki prefix, and let the foreign site handle
+               # subsequent interwiki prefixes
+               $firstIwPrefix = strtok( $interwiki, ':' );
+               $firstIw = Interwiki::fetch( $firstIwPrefix );
+               if ( !$firstIw ) {
                        return Status::newFatal( 'importbadinterwiki' );
-               } else {
-                       $params = array();
-                       if ( $history ) {
-                               $params['history'] = 1;
-                       }
-                       if ( $templates ) {
-                               $params['templates'] = 1;
-                       }
-                       if ( $pageLinkDepth ) {
-                               $params['pagelink-depth'] = $pageLinkDepth;
-                       }
-                       $url = $link->getFullURL( $params );
-                       # For interwikis, use POST to avoid redirects.
-                       return ImportStreamSource::newFromURL( $url, "POST" );
                }
+
+               $additionalIwPrefixes = strtok( '' );
+               if ( $additionalIwPrefixes ) {
+                       $additionalIwPrefixes .= ':';
+               }
+               # Have to do a DB-key replacement ourselves; otherwise spaces get
+               # URL-encoded to +, which is wrong in this case. Similar to logic in
+               # Title::getLocalURL
+               $link = $firstIw->getURL( strtr( "${additionalIwPrefixes}Special:Export/$page",
+                       ' ', '_' ) );
+
+               $params = array();
+               if ( $history ) {
+                       $params['history'] = 1;
+               }
+               if ( $templates ) {
+                       $params['templates'] = 1;
+               }
+               if ( $pageLinkDepth ) {
+                       $params['pagelink-depth'] = $pageLinkDepth;
+               }
+
+               $url = wfAppendQuery( $link, $params );
+               # For interwikis, use POST to avoid redirects.
+               return ImportStreamSource::newFromURL( $url, "POST" );
        }
 }
index 9ada4f3..1fdeca8 100644 (file)
@@ -252,7 +252,7 @@ class Title {
         * Create a new Title from text, such as what one would find in a link. De-
         * codes any HTML entities in the text.
         *
-        * @param string $text The link text; spaces, prefixes, and an
+        * @param string|null $text The link text; spaces, prefixes, and an
         *   initial ':' indicating the main namespace are accepted.
         * @param int $defaultNamespace The namespace to use if none is specified
         *   by a prefix.  If you want to force a specific namespace even if
@@ -264,13 +264,13 @@ class Title {
        public static function newFromText( $text, $defaultNamespace = NS_MAIN ) {
                if ( is_object( $text ) ) {
                        throw new InvalidArgumentException( '$text must be a string.' );
-               } elseif ( !is_string( $text ) ) {
+               }
+               if ( $text !== null && !is_string( $text ) ) {
                        wfDebugLog( 'T76305', wfGetAllCallers( 5 ) );
-                       wfWarn(
-                               __METHOD__ . ': $text must be a string. ' .
-                                       'This will throw an InvalidArgumentException in future.',
-                               2
-                       );
+                       return null;
+               }
+               if ( $text === null ) {
+                       return null;
                }
 
                try {
@@ -296,7 +296,7 @@ class Title {
         */
        public static function newFromTextThrow( $text, $defaultNamespace = NS_MAIN ) {
                if ( is_object( $text ) ) {
-                       throw new MWException( 'Title::newFromTextThrow given an object' );
+                       throw new MWException( '$text must be a string, given an object' );
                }
 
                $cache = self::getTitleCache();
@@ -1944,7 +1944,7 @@ class Title {
         *   - secure : does cheap and expensive checks, using the master as needed
         * @param array $ignoreErrors Array of Strings Set this to a list of message keys
         *   whose corresponding errors may be ignored.
-        * @return array Array of arguments to wfMessage to explain permissions problems.
+        * @return array Array of arrays of the arguments to wfMessage to explain permissions problems.
         */
        public function getUserPermissionsErrors(
                $action, $user, $rigor = 'secure', $ignoreErrors = array()
@@ -1953,9 +1953,12 @@ class Title {
 
                // Remove the errors being ignored.
                foreach ( $errors as $index => $error ) {
-                       $error_key = is_array( $error ) ? $error[0] : $error;
+                       $errKey = is_array( $error ) ? $error[0] : $error;
 
-                       if ( in_array( $error_key, $ignoreErrors ) ) {
+                       if ( in_array( $errKey, $ignoreErrors ) ) {
+                               unset( $errors[$index] );
+                       }
+                       if ( $errKey instanceof MessageSpecifier && in_array( $errKey->getKey(), $ignoreErrors ) ) {
                                unset( $errors[$index] );
                        }
                }
@@ -2054,6 +2057,9 @@ class Title {
                } elseif ( $result !== '' && is_string( $result ) ) {
                        // A string representing a message-id
                        $errors[] = array( $result );
+               } elseif ( $result instanceof MessageSpecifier ) {
+                       // A message specifier representing an error
+                       $errors[] = array( $result );
                } elseif ( $result === false ) {
                        // a generic "We don't want them to do that"
                        $errors[] = array( 'badaccess-group0' );
index 4f9a94d..1227899 100644 (file)
@@ -1386,10 +1386,11 @@ abstract class ApiBase extends ContextSource {
         *
         * @since 1.23
         * @param Status $status
+        * @param array|null &$extraData Set if extra data from IApiMessage is available (since 1.27)
         * @return array Array of code and error string
         * @throws MWException
         */
-       public function getErrorFromStatus( $status ) {
+       public function getErrorFromStatus( $status, &$extraData = null ) {
                if ( $status->isGood() ) {
                        throw new MWException( 'Successful status passed to ApiBase::dieStatus' );
                }
@@ -1408,7 +1409,12 @@ abstract class ApiBase extends ContextSource {
                // error messages.
                if ( $errors[0] instanceof Message ) {
                        $msg = $errors[0];
-                       $code = $msg->getKey();
+                       if ( $msg instanceof IApiMessage ) {
+                               $extraData = $msg->getApiData();
+                               $code = $msg->getApiCode();
+                       } else {
+                               $code = $msg->getKey();
+                       }
                } else {
                        $code = array_shift( $errors[0] );
                        $msg = wfMessage( $code, $errors[0] );
@@ -1429,8 +1435,9 @@ abstract class ApiBase extends ContextSource {
         * @throws UsageException always
         */
        public function dieStatus( $status ) {
-               list( $code, $msg ) = $this->getErrorFromStatus( $status );
-               $this->dieUsage( $msg, $code );
+               $extraData = null;
+               list( $code, $msg ) = $this->getErrorFromStatus( $status, $extraData );
+               $this->dieUsage( $msg, $code, 0, $extraData );
        }
 
        // @codingStandardsIgnoreStart Allow long lines. Cannot split these.
@@ -1963,7 +1970,8 @@ abstract class ApiBase extends ContextSource {
                        $error = array( $error );
                }
                $parsed = $this->parseMsg( $error );
-               $this->dieUsage( $parsed['info'], $parsed['code'] );
+               $extraData = isset( $parsed['data'] ) ? $parsed['data'] : null;
+               $this->dieUsage( $parsed['info'], $parsed['code'], 0, $extraData );
        }
 
        /**
@@ -2016,6 +2024,14 @@ abstract class ApiBase extends ContextSource {
                        $key = array_shift( $error );
                }
 
+               if ( $key instanceof IApiMessage ) {
+                       return array(
+                               'code' => $key->getApiCode(),
+                               'info' => $key->inLanguage( 'en' )->useDatabase( false )->text(),
+                               'data' => $key->getApiData()
+                       );
+               }
+
                if ( isset( self::$messageMap[$key] ) ) {
                        return array(
                                'code' => wfMsgReplaceArgs( self::$messageMap[$key]['code'], $error ),
index c33b27b..db7c149 100644 (file)
@@ -759,6 +759,8 @@ class ApiHelp extends ApiBase {
                return array(
                        'action=help'
                                => 'apihelp-help-example-main',
+                       'action=help&modules=query&submodules=1'
+                               => 'apihelp-help-example-submodules',
                        'action=help&recursivesubmodules=1'
                                => 'apihelp-help-example-recursive',
                        'action=help&modules=help'
index 7967826..7dcf23a 100644 (file)
@@ -387,7 +387,11 @@ class ApiQueryInfo extends ApiQueryBase {
                $dbkey = $title->getDBkey();
 
                $pageInfo['contentmodel'] = $title->getContentModel();
-               $pageInfo['pagelanguage'] = $title->getPageLanguage()->getCode();
+
+               $pageLanguage = $title->getPageLanguage();
+               $pageInfo['pagelanguage'] = $pageLanguage->getCode();
+               $pageInfo['pagelanguagehtmlcode'] = $pageLanguage->getHtmlCode();
+               $pageInfo['pagelanguagedir'] = $pageLanguage->getDir();
 
                if ( $titleExists ) {
                        $pageInfo['touched'] = wfTimestamp( TS_ISO_8601, $this->pageTouched[$pageid] );
index 4d7fc5a..f92526d 100644 (file)
@@ -73,6 +73,19 @@ class ApiTokens extends ApiBase {
                        $types[$name] = array( 'ApiQueryInfo', 'get' . ucfirst( $name ) . 'Token' );
                }
                Hooks::run( 'ApiTokensGetTokenTypes', array( &$types ) );
+
+               // For forwards-compat, copy any token types from ApiQueryTokens that
+               // we don't already have something for.
+               $user = $this->getUser();
+               $request = $this->getRequest();
+               foreach ( ApiQueryTokens::getTokenTypeSalts() as $name => $salt ) {
+                       if ( !isset( $types[$name] ) ) {
+                               $types[$name] = function () use ( $salt, $user, $request ) {
+                                       return $user->getEditToken( $salt, $request );
+                               };
+                       }
+               }
+
                ksort( $types );
 
                return $types;
index 5f34701..f51b389 100644 (file)
@@ -362,6 +362,10 @@ class ApiUpload extends ApiBase {
                $data['invalidparameter'] = $parameter;
 
                $parsed = $this->parseMsg( $error );
+               if ( isset( $parsed['data'] ) ) {
+                       $data = array_merge( $data, $parsed['data'] );
+               }
+
                $this->dieUsage( $parsed['info'], $parsed['code'], 0, $data );
        }
 
index 35f296c..279e640 100644 (file)
@@ -88,6 +88,7 @@
        "apihelp-edit-param-sectiontitle": "Die Überschrift für einen neuen Abschnitt.",
        "apihelp-edit-param-text": "Seiteninhalt.",
        "apihelp-edit-param-summary": "Bearbeitungszusammenfassung. Auch Abschnittsüberschrift, wenn $1section=new und $1sectiontitle nicht festgelegt ist.",
+       "apihelp-edit-param-tags": "Auf die Version anzuwendende Änderungsmarkierungen.",
        "apihelp-edit-param-minor": "Kleine Bearbeitung.",
        "apihelp-edit-param-notminor": "Nicht-kleine Bearbeitung.",
        "apihelp-edit-param-bot": "Diese Bearbeitung als Bot-Bearbeitung markieren.",
        "apihelp-query+usercontribs-param-start": "Der zurückzugebende Start-Zeitstempel.",
        "apihelp-query+usercontribs-param-end": "Der zurückzugebende End-Zeitstempel.",
        "apihelp-query+usercontribs-param-user": "Die Benutzer, für die Beiträge abgerufen werden sollen.",
-       "apihelp-query+usercontribs-paramvalue-prop-ids": "Ergänzt die Seiten- und Versionskennung.",
+       "apihelp-query+usercontribs-paramvalue-prop-ids": "Fügt die Seiten- und Versionskennung hinzu.",
        "apihelp-query+usercontribs-paramvalue-prop-timestamp": "Ergänzt den Zeitstempel der Bearbeitung.",
-       "apihelp-query+usercontribs-paramvalue-prop-comment": "Ergänzt den Kommentar der Bearbeitung.",
+       "apihelp-query+usercontribs-paramvalue-prop-comment": "Fügt den Kommentar der Bearbeitung hinzu.",
        "apihelp-query+userinfo-paramvalue-prop-editcount": "Ergänzt den Bearbeitungszähler des aktuellen Benutzers.",
        "apihelp-query+userinfo-paramvalue-prop-realname": "Fügt den bürgerlichen Namen des Benutzers hinzu.",
        "apihelp-query+userinfo-example-simple": "Informationen über den aktuellen Benutzer abrufen",
index 450d83a..d4e5303 100644 (file)
        "apihelp-help-param-wrap": "Wrap the output in a standard API response structure.",
        "apihelp-help-param-toc": "Include a table of contents in the HTML output.",
        "apihelp-help-example-main": "Help for the main module.",
+       "apihelp-help-example-submodules": "Help for <kbd>action=query</kbd> and all its submodules.",
        "apihelp-help-example-recursive": "All help in one page.",
        "apihelp-help-example-help": "Help for the help module itself.",
        "apihelp-help-example-query": "Help for two query submodules.",
index ac46637..42b86d8 100644 (file)
@@ -9,6 +9,7 @@
        },
        "apihelp-block-description": "Estä käyttäjä.",
        "apihelp-block-param-reason": "Eston syy.",
+       "apihelp-delete-description": "Poista sivu.",
        "apihelp-emailuser-example-email": "Lähetä käyttäjälle <kbd>WikiSysop</kbd> sähköposti, jossa lukee <kbd>Content</kbd>.",
        "apihelp-query+linkshere-param-show": "Näytä vain kohteet, jotka täyttävät nämä kriteerit:\n;redirect:Näytä vain uudelleenohjaukset.\n;!redirect:Näytä vain ei-uudelleenohjaukset",
        "apihelp-tag-example-rev": "Lisää tunniste <kbd>vandalism</kbd> versioon 123 antamatta perustelua.",
index 37243af..310e2d0 100644 (file)
        "apihelp-help-param-wrap": "לעטוף את הפלט במבנה תשובת API תקני.",
        "apihelp-help-param-toc": "לכלול תוכן עניינים בפלט HTML.",
        "apihelp-help-example-main": "עזרה ליחידה הראשית.",
+       "apihelp-help-example-submodules": "עזרה עבור <kbd>action=query</kbd> וכל התת־מודולים שלו.",
        "apihelp-help-example-recursive": "כל העזרה בדף אחד.",
        "apihelp-help-example-help": "עזרה ליחידת העזרה עצמה.",
        "apihelp-help-example-query": "עזרה לשתי תת־יחידות של שאילתה.",
index 312e7ea..780d161 100644 (file)
        "apihelp-userrights-param-userid": "ID utente.",
        "apihelp-watch-description": "Aggiunge o rimuove pagine dagli osservati speciali dell'utente attuale.",
        "api-pageset-param-titles": "Un elenco di titoli su cui lavorare.",
+       "api-pageset-param-pageids": "Un elenco di ID pagina su cui lavorare.",
        "api-pageset-param-revids": "Un elenco di ID versioni su cui lavorare.",
        "api-pageset-param-redirects-generator": "Risolvi automaticamente redirect in <var>$1titles</var>, <var>$1pageids</var>, e <var>$1revids</var>, e nelle pagine restituite da <var>$1generator</var>.",
        "api-pageset-param-converttitles": "Converte i titoli in altre varianti, se necessario. Funziona solo se la lingua del contenuto del wiki supporta la conversione in varianti. Le lingue che supportano la conversione in varianti includono $1",
index d307fa7..c3197f8 100644 (file)
        "apihelp-help-param-wrap": "Donn de Ußjahbe en dem <i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"Application Programming Interface\">API</i> sing schtandattmähßejje Schtruktuhr vun de Antwood enschlehße.",
        "apihelp-help-param-toc": "Donn en Enhhaldserzeijschensß en de Ußjahbe vum <i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"HyperText Markup Language\">HTML</i> ennschlehße.",
        "apihelp-help-example-main": "Hölp för et Houpmoduhl.",
+       "apihelp-help-example-submodules": "Hölp för „<kbd lang=\"en\" xml:lang=\"en\" dir=\"ltr\">action=query</kbd>“ un alle Ongermoduhle.",
        "apihelp-help-example-recursive": "Alle Hölp en eine Sigg.",
        "apihelp-help-example-help": "Alle Hölp övver de Hölp säälver.",
        "apihelp-help-example-query": "Hölp för zwei Ongermoduhle för Frohre.",
        "apihelp-query+fileusage-param-prop": "Wat för en Eijeschaffte holle:",
        "apihelp-query+fileusage-paramvalue-prop-pageid": "De Kännong för jehde Sigg.",
        "apihelp-query+fileusage-paramvalue-prop-title": "De Övverschreff för jehde Sigg.",
-       "apihelp-query+fileusage-paramvalue-prop-redirect": "Zeijsch aan, wann di Sigge en Ömleijdong es.",
+       "apihelp-query+fileusage-paramvalue-prop-redirect": "Zeijsch aan, wann di Sigg en Ömleijdong es.",
        "apihelp-query+fileusage-param-namespace": "Donn blohß Sigge en heh dä Appachtemangs metnämme.",
        "apihelp-query+fileusage-param-limit": "Wi vill holle?",
        "apihelp-query+fileusage-example-simple": "Holl Aanjahbe övver Sigge, di de Dattei „<code lang=\"en\" xml:lang=\"en\" dir=\"ltr\">[[:File:Example.jpg]].</code>“ bruche.",
        "apihelp-query+recentchanges-param-user": "Donn blohß Änderonge vun heh däm Metmaacher opleßte.",
        "apihelp-query+recentchanges-param-excludeuser": "Donn kein Änderonge vun heh däm Metmaacher opleßte.",
        "apihelp-query+recentchanges-param-tag": "Donn blohß Änderonge met heh dä Makkehrong opleßte.",
+       "apihelp-query+recentchanges-paramvalue-prop-tags": "Donn de Makkehronge för dä Enndraach opleßte.",
+       "apihelp-query+recentchanges-paramvalue-prop-sha1": "Donn de Pröhvsom för di Enndrähsch oplesßte, di met enne Väsjohn zesamme hange.",
+       "apihelp-query+recentchanges-param-token": "Nemm „<kbd lang=\"en\" xml:lang=\"en\" dir=\"ltr\">[[Special:ApiHelp/query+tokens|action=query&meta=tokens]]</kbd>“ schtatt dämm.",
        "apihelp-query+recentchanges-param-limit": "Wi vill Änderonge ensjesammp zem aanzeije?",
        "apihelp-query+recentchanges-param-type": "Wat för en Zoot Änneronge aanzeije?",
        "apihelp-query+recentchanges-param-toponly": "Bloß Änderonge aanzeije, woh de neußte Väsjohn beij eruß kohm.",
        "apihelp-query+templates-example-generator": "Holl Ennfommazjuhneövver di Sigge met di Schablohne, di en dä Sigg „<kbd lang=\"en\" xml:lang=\"en\" dir=\"ltr\">Main Page</kbd>“ jebruch wähde.",
        "apihelp-query+templates-example-namespaces": "Holl Sigge uß de {{ns:user}} un {{ns:template}} Appachtemangs, di en di Sigg „<kbd lang=\"en\" xml:lang=\"en\" dir=\"ltr\">Main Page</kbd>“ enjeschloße wähde.",
        "apihelp-query+transcludedin-description": "Fengk alle Sigge, di di aanjejovve Sigge enneschlehße.",
+       "apihelp-query+transcludedin-param-prop": "Wat för en Eijeschaffte holle:",
+       "apihelp-query+transcludedin-paramvalue-prop-pageid": "De Kännong för jehde Sigg.",
+       "apihelp-query+transcludedin-paramvalue-prop-title": "De Övverschreff för jehde Sigg.",
+       "apihelp-query+transcludedin-paramvalue-prop-redirect": "Zeijsch aan, wann di Sigg en Ömleijdong es.",
        "apihelp-query+transcludedin-param-namespace": "Donn blohß Sigge en heh dä Appachtemangs ennschlehße.",
        "apihelp-query+transcludedin-param-limit": "Wi vill ußjävve.",
        "apihelp-query+transcludedin-example-simple": "Holl en Leß met Sigge, di en dä Sigg „<kbd lang=\"en\" xml:lang=\"en\" dir=\"ltr\">Main Page</kbd>“ ennjeschloße wähde.",
        "apihelp-query+usercontribs-param-userprefix": "Holl beijdrähsch för alle Metmaacher, dänne ier Nahme met heh däm Wääd aanfange. Övverschriehv „<code lang=\"en\" xml:lang=\"en\" dir=\"ltr\">$1user</code>“.",
        "apihelp-query+usercontribs-param-namespace": "Donn blohß Beijdrähsch en heh dä Appachtemangs opleßte.",
        "apihelp-query+usercontribs-param-prop": "Donn zohsäzlejje Aanjahbe ennschlehße:",
+       "apihelp-query+usercontribs-paramvalue-prop-ids": "Donn de Kännong för jehde Sigg un jehe Väsjohn derbei.",
+       "apihelp-query+usercontribs-paramvalue-prop-title": "Donn de Övverschrevv un de Kännong för et Appachtemang derbei.",
+       "apihelp-query+usercontribs-paramvalue-prop-timestamp": "Deihd et Dattom un de Uhrzigg vun dä Änderong derbei.",
+       "apihelp-query+usercontribs-paramvalue-prop-size": "Deihd de neuje Jrühße noh dä Änderong derbei.",
+       "apihelp-query+usercontribs-paramvalue-prop-sizediff": "Deihd de Änderong vun dä Jrühße vun dä Änderong derbei.",
+       "apihelp-query+usercontribs-paramvalue-prop-flags": "Deihd de Makkehronge vun dä Änderong derbei.",
+       "apihelp-query+usercontribs-paramvalue-prop-tags": "Donn de Makkehronge vun dä Änderong opleßte.",
        "apihelp-query+usercontribs-param-tag": "Donn blohß Väsjohne met heh dä Makehrong opleßte.",
        "apihelp-query+usercontribs-param-toponly": "Bloß Änderonge aanzeije, woh de neußte Väsjohn beij eruß kohm.",
        "apihelp-query+usercontribs-example-user": "Zeijsch dem Metmaacher „<kbd lang=\"en\" xml:lang=\"en\" dir=\"ltr\">Example</kbd>“ sing Beijdrähsch.",
        "apihelp-query+usercontribs-example-ipprefix": "Zeijsch de Beijdrähsch vun alle <i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"Internet Protocol\">IP</i>-Adräße, di met „<kbd lang=\"en\" xml:lang=\"en\" dir=\"ltr\">192.0.2.</kbd>“ bejenne.",
        "apihelp-query+userinfo-description": "Holl Aanjahbe övver dä aktoälle Metmaacher.",
        "apihelp-query+userinfo-param-prop": "Wat för en Aanjahbe med enzschlehße:",
+       "apihelp-query+userinfo-paramvalue-prop-groups": "Donn alle Jroppe opleßte, woh dä heh Metmaacher dren es.",
+       "apihelp-query+userinfo-paramvalue-prop-implicitgroups": "Donn alle Jroppe opleßte, woh dä heh Metmaacher aotomattesch dren es.",
+       "apihelp-query+userinfo-paramvalue-prop-rights": "Donn alle Rääschte opleßte, di dä Metmaacher hät.",
+       "apihelp-query+userinfo-paramvalue-prop-changeablegroups": "Donn alle Jroppe opleßte, woh dä heh Metmaacher eine bei donn udder eruß nämme kann.",
+       "apihelp-query+userinfo-paramvalue-prop-options": "Donn alle Enschtällonge opleßte, di dä heh Metmaacher jesaz hät.",
+       "apihelp-query+userinfo-paramvalue-prop-editcount": "Donn heh däm Metmaacher sing Aanzahl Ännderonge derbeij.",
+       "apihelp-query+userinfo-paramvalue-prop-ratelimits": "Donn alle Mängebeschrängkonge opleßte, di heh dä Metmaacer hät.",
        "apihelp-query+userinfo-paramvalue-prop-realname": "Deiht däm Metmaacher singe reeschtejje Nahme derbei.",
+       "apihelp-query+userinfo-paramvalue-prop-email": "Donn de <i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"„de eläktrohnesche Poß“\">e-mail</i>-Adräß vun heh däm Metmaacer opleßte, un et Dattom, wann di et läz beschtähtesch woode es.",
        "apihelp-query+userinfo-paramvalue-prop-registrationdate": "Donn et Dattom vun dämm Metmaacher singe eetze Aanmäldong derbei.",
        "apihelp-query+userinfo-example-simple": "Holl Aanjahbe övver dä aktoälle Metmaacher.",
        "apihelp-query+userinfo-example-data": "Holl zohsäzlejje Aanjahbe övver dä aktoälle Metmaacher.",
        "apihelp-query+users-description": "Holl Aanjahbe övver en Leß vun Metmaacher.",
+       "apihelp-query+users-param-prop": "Wat för en Aanjahbe med enzschlehße:",
+       "apihelp-query+users-paramvalue-prop-rights": "Donn alle Rääschte opleßte, di alle Metmaacher han.",
+       "apihelp-query+users-paramvalue-prop-editcount": "Donn däm Metmaacher sing Aanzahl Ännderonge derbeij.",
+       "apihelp-query+users-paramvalue-prop-registration": "Donn et Dattom vun dämm Metmaacher singe eetze Aanmäldong derbei.",
        "apihelp-query+users-param-users": "En Leß vun Metmaacher för Aanjahbe drövver ze holle.",
+       "apihelp-query+users-param-token": "Nemm „<kbd lang=\"en\" xml:lang=\"en\" dir=\"ltr\">[[Special:ApiHelp/query+tokens|action=query&meta=tokens]]</kbd>“ schtatt dämm.",
        "apihelp-query+users-example-simple": "Holl Aanjahbe för dä Metmaacher <kbd lang=\"en\" xml:lang=\"en\" dir=\"ltr\">Example</kbd>.",
        "apihelp-query+watchlist-param-start": "Et Dattom un de Zigg vun woh aff opjezallt wähde sull.",
        "apihelp-query+watchlist-param-end": "Et Dattum un Uhrzigg, bes wann opzälle.",
        "apihelp-query+watchlist-param-prop": "Wat för en zohsäzlejje Eijeschaffte holle:",
        "apihelp-query+watchlist-paramvalue-prop-ids": "Donn de Kännong vun de Väsohne un de Sigge derbei,",
        "apihelp-query+watchlist-paramvalue-prop-title": "Mähd en Övverschhreff övver di Sigg.",
+       "apihelp-query+watchlist-paramvalue-prop-flags": "Deihd de Makkehronge vun dä Änderong derbei.",
        "apihelp-query+watchlist-paramvalue-prop-user": "Deiht dä Metmaacher derbei, dä di Änderong jemaat hät.",
        "apihelp-query+watchlist-paramvalue-prop-userid": "Deiht de kännong vn äm Metmaacher derbei, dä di Änderong jemaat hät.",
        "apihelp-query+watchlist-paramvalue-prop-timestamp": "Deihd et Dattom un de Uhrzigg vun dä Änderong derbei.",
        "apihelp-query+watchlist-paramvalue-type-categorize": "Änderonge aan de Zohjehüreshkeit zoh Saachjroppe.",
        "apihelp-query+watchlistraw-description": "Donn alle Sigge uß dem aktälle Metmaacher sing Oppaßleß holle.",
        "apihelp-query+watchlistraw-param-namespace": "Donn blohß Sigge en heh däm Appachtemang opleßte.",
+       "apihelp-query+watchlistraw-param-limit": "Wi vell Äjehbneße ennsjesammp pro Oprohv ußjejovve wähde sulle.",
+       "apihelp-query+watchlistraw-param-prop": "Wat för en zohsäzlejje Eijeschaffte holle:",
        "apihelp-query+watchlistraw-example-simple": "Donn alle Sigge uß dem aktälle Metmaacher sing Oppaßleß opleßte.",
        "apihelp-revisiondelete-description": "Versione fottschmieße un widder zeröck holle.",
        "apihelp-revisiondelete-param-hide": "Wat för jehde Väsjohn ze veschteijsche.",
+       "apihelp-revisiondelete-param-show": "Wat för jehde Väsjohn zerökzeholle.",
        "apihelp-revisiondelete-param-suppress": "Ov dat och för de Wiki-Köbesse verschtoche wähde sull, wie för jede Andere.",
        "apihelp-rollback-param-title": "De Övverschreff vun dä Sigg för di_j_en vörrejje Väsjohn zeröckzeholle es. Kam_mer nit zersamme met „<var lang=\"en\" xml:lang=\"en\" dir=\"ltr\">$1pageid</var>“ bruche.",
        "apihelp-rollback-param-pageid": "De Kännong vun dä Sigg för di_j_en vörrejje Väsjohn zeröckzeholle es. Kam_mer nit zersamme met „<var lang=\"en\" xml:lang=\"en\" dir=\"ltr\">$1title</var>“ bruche.",
+       "apihelp-rollback-param-watchlist": "Donn di Sigg op däm aktoälle Metmaacher sing Oppaßleß udder nemm se druß fott, donn de Enschtällonge nämme, udder donn de Oppaßleß jaa nit verändere.",
        "apihelp-setnotificationtimestamp-param-entirewatchlist": "Donn alle Sigge beärbeide, di en Oppaßleßte dren sin.",
        "apihelp-stashedit-param-section": "Däm Affschnett sing Nommer. „<kbd lang=\"en\" xml:lang=\"en\" dir=\"ltr>0</kbd>“ brängk der eezde Affschnett, dä keijn Övverschreff hät, „<kbd lang=\"en\" xml:lang=\"en\" dir=\"ltr>new</kbd>“ brängg_ene neuje Affschnett.",
        "apihelp-stashedit-param-sectiontitle": "De Övverschreff för ene neuje Afschnett",
        "apihelp-stashedit-param-text": "Dä Sigg ehre Ennhalld.",
+       "apihelp-stashedit-param-contentmodel": "Et Enhalltsmodäll för dä neue Ennhalld.",
        "apihelp-tag-description": "Donn Makkehronge vun einzel Väsjohne udder Enndraähsch em Logbohch fott nämme udder se verjävve.",
        "apihelp-tag-param-rcid": "Ein udder mih Kännonge uß de neuste Ännderonge, woh di Makkehrong derbei jedonn udder fott jenumme wähde sull.",
        "apihelp-tag-param-revid": "Ein Kännong udder mih, woh di Makkehrong derbei jedonn udder fott jenumme wähde sull.",
        "apihelp-watch-description": "Donn di Sigg en däm aktoälle Metmaacher singe Oppaßless eren udder schmihß se erus.",
        "apihelp-watch-example-watch": "Don di Sigg „<kbd lang=\"en\" xml:lang=\"en\" dir=\"ltr\">Main Page</kbd>“ en de Oppaßleß.",
        "apihelp-watch-example-unwatch": "Schmiiß di Sigg „<kbd lang=\"en\" xml:lang=\"en\" dir=\"ltr\">Main Page</kbd>“ uß dä Oppaßleß erus.",
+       "apihelp-watch-example-generator": "Donn op de eezte paa Sigge em Schtanndadd_Appachtemang oppaße.",
        "apihelp-format-example-generic": "Jiff wadd_erus kohm em Fommaht $1 us.",
+       "apihelp-json-description": "Donn de Dahte em <i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"Extensible Markup Language\">XML</i>-Fommahd ußjävve.",
        "apihelp-json-param-ascii": "Wann aanjejovve, deiht alle nit-<i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"American Standard Code for Information Interchange\">ASCII</i>-Zeijsche met hexadezimahle !escape-Sequänze koddehre. Dadd es der Schtandatt, wann „<var lang=\"en\" xml:lang=\"en\" dir=\"ltr\">formatversion</var>“ <kbd>1</kbd> es.",
        "apihelp-jsonfm-description": "Dahte em <i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"JavaScript Object Notation\">JSON</i>-Fommaht ußjävve un för schöhn en et <i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"HyperText Markup Language\">HTML</i> wandele.",
        "apihelp-none-description": "Donn nix ußjävve.",
        "apihelp-php-description": "Dahte em hengernader jeschrevve <i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"PHP Hypertext Preprocessor\">PHP</i>-Fommaht ußjävve.",
+       "apihelp-phpfm-description": "Dahte em hengernannder jeschrevve <i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"PHP Hypertext Preprocessor\">PHP</i>-Fommaht ußjävve un för schöhn en et <i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"HyperText Markup Language\">HTML</i> wandele.",
+       "apihelp-rawfm-description": "Dahte, met de Aandeijle för et Fählersöhke, em <i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"JavaScript Object Notation\">JSON</i>-Fommaht ußjävve un för schöhn en et <i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"HyperText Markup Language\">HTML</i> wandele.",
        "apihelp-xml-description": "Donn de Dahte em <i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"Extensible Markup Language\">XML</i>-Fommahd ußjävve.",
        "apihelp-xml-param-includexmlnamespace": "Wann aanjejovve, deihd en <i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"Extensible Markup Language\">XML</i>-Appachtemand derbei.",
+       "apihelp-xmlfm-description": "Donn de Dahte em <i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"Extensible Markup Language\">XML</i>-Fommahd schöhn jemaht met <i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"HyperText Markup Language\">HTML</i> ußjävve.",
        "apihelp-yaml-description": "Donn de Dahte em <i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"YAML Ain't Markup Language\">YAML</i>-Fommahd ußjävve.",
        "apihelp-yamlfm-description": "Donn de Dahte em <i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"YAML Ain't Markup Language\">YAML</i>-Fommahd schöhn met <i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"HyperText Markup Language\">HTML</i> ußjävve.",
        "api-format-title": "Wat et <i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"Application Programming Interface\">API</i> ußjohv.",
index 947c89b..05b19f1 100644 (file)
        "apihelp-help-param-wrap": "{{doc-apihelp-param|help|wrap}}",
        "apihelp-help-param-toc": "{{doc-apihelp-param|help|toc}}",
        "apihelp-help-example-main": "{{doc-apihelp-example|help}}",
+       "apihelp-help-example-submodules": "{{doc-apihelp-example|help}}",
        "apihelp-help-example-recursive": "{{doc-apihelp-example|help}}",
        "apihelp-help-example-help": "{{doc-apihelp-example|help}}",
        "apihelp-help-example-query": "{{doc-apihelp-example|help}}",
index 3f4aa61..28e90de 100644 (file)
@@ -13,8 +13,8 @@
        "apihelp-edit-param-text": "Страница са садржајем.",
        "apihelp-edit-param-minor": "Мања измена.",
        "apihelp-edit-example-edit": "Уређивање странице.",
-       "apihelp-emailuser-description": "СлаÑ\9aе Ðµ-поÑ\80Ñ\83ке ÐºÐ¾Ñ\80иÑ\81никÑ\83",
-       "apihelp-emailuser-param-target": "Ð\9aоÑ\80иÑ\81ник Ñ\98е Ð¿Ð¾Ñ\81лао Ðµ-поÑ\80Ñ\83кÑ\83.",
+       "apihelp-emailuser-description": "СлаÑ\9aе Ð¸Ð¼ÐµÑ\98ла ÐºÐ¾Ñ\80иÑ\81никÑ\83.",
+       "apihelp-emailuser-param-target": "Ð\9aоÑ\80иÑ\81ник Ñ\98е Ð¿Ð¾Ñ\81лао Ð¸Ð¼ÐµÑ\98л.",
        "apihelp-feedcontributions-param-year": "Од године (и раније).",
        "apihelp-filerevert-description": "Вратити датотеку у ранију верзију.",
        "apihelp-help-example-recursive": "Сва помоћ у једној страници.",
index e195520..9068582 100644 (file)
@@ -7,7 +7,8 @@
                        "Base",
                        "Dars",
                        "Umherirrender",
-                       "Macofe"
+                       "Macofe",
+                       "Mix Gerder"
                ]
        },
        "apihelp-main-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:API:Main_page|Документація]]\n* [[mw:API:FAQ|FAQ]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Список розсилки]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce Оголошення API]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Баґи і запити]\n</div>\n<strong>Статус:</strong> Усі функції, вказані на цій сторінці, мають працювати, але API далі перебуває в активній розробці і може змінитися у будь-який момент. Підпишіться на [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ список розсилки mediawiki-api-announce], щоб помічати оновлення.\n\n<strong>Хибні запити:</strong> Коли до API надсилаються хибні запити, буде відіслано HTTP-шапку з ключем «MediaWiki-API-Error», а тоді і значення шапки, і код помилки, надіслані назад, будуть встановлені з тим же значенням. Більше інформації див. на [[mw:API:Errors_and_warnings|API: Errors and warnings]].",
        "apihelp-feedrecentchanges-param-hideliu": "Приховати редагування зареєстрованих користувачів.",
        "apihelp-feedrecentchanges-param-hidepatrolled": "Приховати відпатрульовані редагування.",
        "apihelp-feedrecentchanges-param-hidemyself": "Приховати редагування поточного користувача.",
+       "apihelp-feedrecentchanges-param-hidecategorization": "Приховати зміни в членстві в категорії.",
        "apihelp-feedrecentchanges-param-tagfilter": "Фільтрувати за теґом.",
        "apihelp-feedrecentchanges-param-target": "Показати лише зміни на сторінках, на які посилається ця сторінка.",
        "apihelp-feedrecentchanges-param-showlinkedto": "Показати натомість лише зміни на сторінках, які посилаються на цю сторінку.",
        "apihelp-query+watchlist-paramvalue-prop-loginfo": "Додає інформацію журналу, де це доречно.",
        "apihelp-query+watchlist-param-show": "Показати лише елементи, що задовільняють ці критерії. Наприклад, для перегляду лише незначних змін, здійснених користувачами, що увійшли до системи, вкажіть $1show=minor|!anon.",
        "apihelp-query+watchlist-param-type": "Які типи змін показувати:\n;edit:Звичайні редагування сторінки.\n;external:Зовнішні зміни.\n;new:Створення сторінок.\n;log:Записи журналу.",
+       "apihelp-query+watchlist-paramvalue-type-edit": "Регулярні сторінки правок.",
+       "apihelp-query+watchlist-paramvalue-type-external": "Зовнішні зміни.",
+       "apihelp-query+watchlist-paramvalue-type-new": "Сторінка створена.",
+       "apihelp-query+watchlist-paramvalue-type-log": "Записи в журналі.",
        "apihelp-query+watchlist-param-owner": "Використовується разом з $1token для доступу до списку спостереження різних користувачів.",
        "apihelp-query+watchlist-param-token": "Токен безпеки (доступний у [[Special:Preferences#mw-prefsection-watchlist|налаштуваннях]] користувача) для отримання доступу до списку спостереження іншого користувача.",
        "apihelp-query+watchlist-example-simple": "Перелічити верхні версії для нещодавно змінених сторінок у списку спостереження поточного користувача.",
index fa5e288..03841d6 100644 (file)
@@ -209,7 +209,17 @@ class LocalisationCache {
                                        $storeClass = 'LCStoreStaticArray';
                                        break;
                                case 'detect':
-                                       $storeClass = $wgCacheDirectory ? 'LCStoreCDB' : 'LCStoreDB';
+                                       if ( !empty( $conf['storeDirectory'] ) ) {
+                                               $storeClass = 'LCStoreCDB';
+                                       } else {
+                                               $cacheDir = $wgCacheDirectory ?: wfTempDir();
+                                               if ( $cacheDir ) {
+                                                       $storeConf['directory'] = $cacheDir;
+                                                       $storeClass = 'LCStoreCDB';
+                                               } else {
+                                                       $storeClass = 'LCStoreDB';
+                                               }
+                                       }
                                        break;
                                default:
                                        throw new MWException(
index 531086b..60cf0ec 100644 (file)
@@ -3438,7 +3438,7 @@ abstract class DatabaseBase implements IDatabase {
                                $levels = implode( ', ', $this->mTrxAtomicLevels );
                                throw new DBUnexpectedError(
                                        $this,
-                                       "Got explicit BEGIN while atomic sections $levels are still open."
+                                       "Got explicit BEGIN from $fname while atomic section(s) $levels are open."
                                );
                        } elseif ( !$this->mTrxAutomatic ) {
                                // We want to warn about inadvertently nested begin/commit pairs, but not about
index 274e18e..685abe0 100644 (file)
@@ -205,6 +205,12 @@ class MonologSpi implements Spi {
        protected function createLogger( $channel, $spec ) {
                $obj = new Logger( $channel );
 
+               if ( isset( $spec['calls'] ) ) {
+                       foreach ( $spec['calls'] as $method => $margs ) {
+                               call_user_func_array( array( $obj, $method ), $margs );
+                       }
+               }
+
                if ( isset( $spec['processors'] ) ) {
                        foreach ( $spec['processors'] as $processor ) {
                                $obj->pushProcessor( $this->getProcessor( $processor ) );
index 0194a61..8eec202 100644 (file)
@@ -130,11 +130,13 @@ class DeferredUpdates {
                                        wfGetLBFactory()->commitMasterChanges();
                                } catch ( Exception $e ) {
                                        // We don't want exceptions thrown during deferred updates to
-                                       // be reported to the user since the output is already sent.
-                                       // Instead we just log them.
+                                       // be reported to the user since the output is already sent
                                        if ( !$e instanceof ErrorPageError ) {
                                                MWExceptionHandler::logException( $e );
                                        }
+                                       // Make sure incomplete transactions are not committed and end any
+                                       // open atomic sections so that other DB updates have a chance to run
+                                       wfGetLBFactory()->rollbackMasterChanges();
                                }
                        }
 
index 390b7fe..cd64f0d 100644 (file)
@@ -316,7 +316,7 @@ class LocalFile extends File {
        /**
         * Purge the file object/metadata cache
         */
-       function invalidateCache() {
+       public function invalidateCache() {
                $key = $this->getCacheKey();
                if ( !$key ) {
                        return;
@@ -1209,21 +1209,15 @@ class LocalFile extends File {
         * @param null|User $user
         * @return bool
         */
-       function recordUpload2( $oldver, $comment, $pageText, $props = false, $timestamp = false,
-               $user = null
+       function recordUpload2(
+               $oldver, $comment, $pageText, $props = false, $timestamp = false, $user = null
        ) {
-
                if ( is_null( $user ) ) {
                        global $wgUser;
                        $user = $wgUser;
                }
 
                $dbw = $this->repo->getMasterDB();
-               $dbw->begin( __METHOD__ );
-
-               if ( !$props ) {
-                       $props = $this->repo->getFileProps( $this->getVirtualUrl() );
-               }
 
                # Imports or such might force a certain timestamp; otherwise we generate
                # it and can fudge it slightly to keep (name,timestamp) unique on re-upload.
@@ -1234,6 +1228,7 @@ class LocalFile extends File {
                        $allowTimeKludge = false;
                }
 
+               $props = $props ?: $this->repo->getFileProps( $this->getVirtualUrl() );
                $props['description'] = $comment;
                $props['user'] = $user->getId();
                $props['user_text'] = $user->getName();
@@ -1243,12 +1238,11 @@ class LocalFile extends File {
                # Fail now if the file isn't there
                if ( !$this->fileExists ) {
                        wfDebug( __METHOD__ . ": File " . $this->getRel() . " went missing!\n" );
-                       $dbw->rollback( __METHOD__ );
 
                        return false;
                }
 
-               $reupload = false;
+               $dbw->startAtomic( __METHOD__ );
 
                # Test to see if the row exists using INSERT IGNORE
                # This avoids race conditions by locking the row until the commit, and also
@@ -1273,13 +1267,18 @@ class LocalFile extends File {
                        __METHOD__,
                        'IGNORE'
                );
-               if ( $dbw->affectedRows() == 0 ) {
+
+               $reupload = ( $dbw->affectedRows() == 0 );
+               if ( $reupload ) {
                        if ( $allowTimeKludge ) {
                                # Use LOCK IN SHARE MODE to ignore any transaction snapshotting
-                               $ltimestamp = $dbw->selectField( 'image', 'img_timestamp',
+                               $ltimestamp = $dbw->selectField(
+                                       'image',
+                                       'img_timestamp',
                                        array( 'img_name' => $this->getName() ),
                                        __METHOD__,
-                                       array( 'LOCK IN SHARE MODE' ) );
+                                       array( 'LOCK IN SHARE MODE' )
+                               );
                                $lUnixtime = $ltimestamp ? wfTimestamp( TS_UNIX, $ltimestamp ) : false;
                                # Avoid a timestamp that is not newer than the last version
                                # TODO: the image/oldimage tables should be like page/revision with an ID field
@@ -1294,8 +1293,6 @@ class LocalFile extends File {
                        # version of the file was broken. Allow registration of the new
                        # version to continue anyway, because that's better than having
                        # an image that's not fixable by user operations.
-
-                       $reupload = true;
                        # Collision, this is an update of a file
                        # Insert previous contents into oldimage
                        $dbw->insertSelect( 'oldimage', 'image',
@@ -1322,7 +1319,7 @@ class LocalFile extends File {
 
                        # Update the current image row
                        $dbw->update( 'image',
-                               array( /* SET */
+                               array(
                                        'img_size' => $this->size,
                                        'img_width' => intval( $this->width ),
                                        'img_height' => intval( $this->height ),
@@ -1340,23 +1337,17 @@ class LocalFile extends File {
                                array( 'img_name' => $this->getName() ),
                                __METHOD__
                        );
-               } else {
-                       # This is a new file, so update the image count
-                       DeferredUpdates::addUpdate( SiteStatsUpdate::factory( array( 'images' => 1 ) ) );
                }
 
                $descTitle = $this->getTitle();
                $wikiPage = new WikiFilePage( $descTitle );
                $wikiPage->setFile( $this );
 
-               # Add the log entry
-               $action = $reupload ? 'overwrite' : 'upload';
-
-               $logEntry = new ManualLogEntry( 'upload', $action );
+               // Add the log entry...
+               $logEntry = new ManualLogEntry( 'upload', $reupload ? 'overwrite' : 'upload' );
                $logEntry->setPerformer( $user );
                $logEntry->setComment( $comment );
                $logEntry->setTarget( $descTitle );
-
                // Allow people using the api to associate log entries with the upload.
                // Log has a timestamp, but sometimes different from upload timestamp.
                $logEntry->setParameters(
@@ -1373,15 +1364,9 @@ class LocalFile extends File {
                // now and wait until the page exists.
                $logId = $logEntry->insert();
 
-               $exists = $descTitle->exists();
-               if ( $exists ) {
-                       // Page exists, do RC entry now (otherwise we wait for later).
+               if ( $descTitle->exists() ) {
+                       // Page exists, do RC entry now (otherwise we wait for later)
                        $logEntry->publish( $logId );
-               }
-
-               if ( $exists ) {
-                       # Create a null revision
-                       $latest = $descTitle->getLatestRevID();
                        // Use own context to get the action text in content language
                        $formatter = LogFormatter::newFromEntry( $logEntry );
                        $formatter->setContext( RequestContext::newExtraneousContext( $descTitle ) );
@@ -1394,60 +1379,69 @@ class LocalFile extends File {
                                false,
                                $user
                        );
-                       if ( !is_null( $nullRevision ) ) {
+                       if ( $nullRevision ) {
                                $nullRevision->insertOn( $dbw );
-
-                               Hooks::run( 'NewRevisionFromEditComplete', array( $wikiPage, $nullRevision, $latest, $user ) );
+                               Hooks::run(
+                                       'NewRevisionFromEditComplete',
+                                       array( $wikiPage, $nullRevision, $nullRevision->getParentId(), $user )
+                               );
                                $wikiPage->updateRevisionOn( $dbw, $nullRevision );
                        }
-               }
-
-               # Commit the transaction now, in case something goes wrong later
-               # The most important thing is that files don't get lost, especially archives
-               # NOTE: once we have support for nested transactions, the commit may be moved
-               #       to after $wikiPage->doEdit has been called.
-               $dbw->commit( __METHOD__ );
-
-               # Update memcache after the commit
-               $this->invalidateCache();
 
-               if ( $exists ) {
-                       # Invalidate the cache for the description page
-                       $descTitle->invalidateCache();
-                       $descTitle->purgeSquid();
+                       $newPageContent = null;
                } else {
-                       # New file; create the description page.
-                       # There's already a log entry, so don't make a second RC entry
-                       # Squid and file cache for the description page are purged by doEditContent.
-                       $content = ContentHandler::makeContent( $pageText, $descTitle );
-                       $status = $wikiPage->doEditContent(
-                               $content,
-                               $comment,
-                               EDIT_NEW | EDIT_SUPPRESS_RC,
-                               false,
-                               $user
-                       );
-
-                       // Now that the page exists, make an RC entry.
-                       // This relies on the resetArticleID() call in WikiPage::insertOn(),
-                       // which is triggered on $descTitle by doEditContent() above.
-                       $logEntry->publish( $logId );
-                       if ( isset( $status->value['revision'] ) ) {
-                               $dbw->update( 'logging',
-                                       array( 'log_page' => $status->value['revision']->getPage() ),
-                                       array( 'log_id' => $logId ),
-                                       __METHOD__
-                               );
-                       }
+                       // Make the description page and RC log entry post-commit
+                       $newPageContent = ContentHandler::makeContent( $pageText, $descTitle );
                }
 
+               # Defer purges, page creation, and link updates in case they error out.
+               # The most important thing is that files and the DB registry stay synced.
+               $dbw->endAtomic( __METHOD__ );
+
                # Do some cache purges after final commit so that:
                # a) Changes are more likely to be seen post-purge
                # b) They won't cause rollback of the log publish/update above
                $that = $this;
-               $dbw->onTransactionIdle( function () use ( $that, $reupload, $descTitle ) {
+               $dbw->onTransactionIdle( function () use (
+                       $that, $reupload, $wikiPage, $newPageContent, $comment, $user, $logEntry, $logId
+               ) {
+                       # Update memcache after the commit
+                       $that->invalidateCache();
+
+                       if ( $newPageContent ) {
+                               # New file page; create the description page.
+                               # There's already a log entry, so don't make a second RC entry
+                               # Squid and file cache for the description page are purged by doEditContent.
+                               $status = $wikiPage->doEditContent(
+                                       $newPageContent,
+                                       $comment,
+                                       EDIT_NEW | EDIT_SUPPRESS_RC,
+                                       false,
+                                       $user
+                               );
+
+                               // Now that the page exists, make an RC entry.
+                               // This relies on the resetArticleID() call in WikiPage::insertOn(),
+                               // which is triggered on $descTitle by doEditContent() above.
+                               $logEntry->publish( $logId );
+                               if ( isset( $status->value['revision'] ) ) {
+                                       /** @var $rev Revision */
+                                       $rev = $status->value['revision'];
+                                       $that->getRepo()->getMasterDB()->update(
+                                               'logging',
+                                               array( 'log_page' => $rev->getPage() ),
+                                               array( 'log_id' => $logId ),
+                                               __METHOD__
+                                       );
+                               }
+                       } else {
+                               # Existing file page: invalidate description page cache
+                               $wikiPage->getTitle()->invalidateCache();
+                               $wikiPage->getTitle()->purgeSquid();
+                       }
+
                        # Run hook for other updates (typically more cache purging)
-                       Hooks::run( 'FileUpload', array( $that, $reupload, $descTitle->exists() ) );
+                       Hooks::run( 'FileUpload', array( $that, $reupload, !$newPageContent ) );
 
                        if ( $reupload ) {
                                # Delete old thumbnails
@@ -1460,6 +1454,11 @@ class LocalFile extends File {
                        }
                } );
 
+               if ( !$reupload ) {
+                       # This is a new file, so update the image count
+                       DeferredUpdates::addUpdate( SiteStatsUpdate::factory( array( 'images' => 1 ) ) );
+               }
+
                # Invalidate cache for all pages using this file
                DeferredUpdates::addUpdate( new HTMLCacheUpdate( $this->getTitle(), 'imagelinks' ) );
 
index 95dad25..5ba505e 100644 (file)
@@ -64,7 +64,7 @@
        "config-site-name": "Име викија:",
        "config-admin-name": "Корисничко име:",
        "config-admin-password": "Лозинка:",
-       "config-admin-email": "Ð\90дÑ\80еÑ\81а Ðµ-поÑ\88Ñ\82е:",
+       "config-admin-email": "Ð\98меÑ\98л Ð°Ð´Ñ\80еÑ\81а:",
        "config-optional-skip": "Досадно ми је, хајде да инсталирамо вики.",
        "config-profile-no-anon": "Неопходно је отворити налог",
        "config-profile-fishbowl": "Само овлашћени корисници",
@@ -77,7 +77,7 @@
        "config-license-cc-0": "Creative Commons Zero (јавно власништво)",
        "config-license-gfdl": "ГНУ-ова лиценца за слободну документацију верзија 1.3 или новија верзија",
        "config-license-pd": "Јавно власништво",
-       "config-email-settings": "Ð\9fодеÑ\88аваÑ\9aа Ðµ-поÑ\88Ñ\82е",
+       "config-email-settings": "Ð\9fодеÑ\88аваÑ\9aа Ð¸Ð¼ÐµÑ\98ла",
        "config-cc-not-chosen": "Одаберите која Кријејтив комонс лиценца вам одговара и потврдите.",
        "config-skins": "Теме",
        "config-install-step-done": "готово",
@@ -85,5 +85,5 @@
        "config-help": "помоћ",
        "config-help-tooltip": "кликните да проширите",
        "mainpagetext": "'''Медијавики је успешно инсталиран.'''",
-       "mainpagedocfooter": "Погледајте [//meta.wikimedia.org/wiki/Help:Contents кориснички водич] за коришћење програма.\n\n== Увод ==\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Помоћ у вези са подешавањима]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Често постављена питања]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Дописна листа о издањима Медијавикија]"
+       "mainpagedocfooter": "Погледајте [//meta.wikimedia.org/wiki/Help:Contents кориснички водич] за коришћење програма.\n\n== Увод ==\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Помоћ у вези са подешавањима]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Често постављена питања]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Дописна листа о издањима Медијавикија]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Научите како да се борете против спама на Вашој вики]"
 }
index 70eee9f..71f387b 100644 (file)
@@ -100,7 +100,7 @@ class SpecialTags extends SpecialPage {
                        $form = new HTMLForm( $fields, $this->getContext() );
                        $form->setAction( $this->getPageTitle( 'create' )->getLocalURL() );
                        $form->setWrapperLegendMsg( 'tags-create-heading' );
-                       $form->setHeaderText( $this->msg( 'tags-create-explanation' )->plain() );
+                       $form->setHeaderText( $this->msg( 'tags-create-explanation' )->parseAsBlock() );
                        $form->setSubmitCallback( array( $this, 'processCreateTagForm' ) );
                        $form->setSubmitTextMsg( 'tags-create-submit' );
                        $form->show();
index 2499aee..dfa17aa 100644 (file)
        "createaccountreason": "Rede:",
        "createacct-reason": "Rede",
        "createacct-reason-ph": "Hoekom u nog 'n rekening skep",
-       "createacct-captcha": "Veiligheidskontrole",
-       "createacct-imgcaptcha-ph": "Sleutel die teks hierbo in",
        "createacct-submit": "Skep u rekening",
        "createacct-another-submit": "Skep nog 'n rekening",
        "createacct-benefit-heading": "{{SITENAME}} word deur mense soos u geskep.",
        "htmlform-cloner-required": "Ten minste één waarde verwag.",
        "htmlform-title-badnamespace": "[[:$1]] is nie in die \"{{ns:$2}}\" naamspasie nie.",
        "htmlform-title-not-creatable": "\"$1\" is nie 'n aanvaarbare blad titel nie",
-       "htmlform-title-not-exists": "[[:$1]] bestaan nie.",
+       "htmlform-title-not-exists": "$1 bestaan nie.",
        "sqlite-has-fts": "Weergawe $1 met ondersteuning vir vol-teks soektogte (\"full-text search\")",
        "sqlite-no-fts": "Weergawe $1 sonder ondersteuning vir vol-teks soektogte (\"full-text search\")",
        "logentry-delete-delete": "$1 {{GENDER:$2|het}} bladsy $3 verwyder",
index 9f50058..0f80cd1 100644 (file)
        "htmlform-cloner-required": "مطلوب قيمة واحدة على الأقل.",
        "htmlform-title-badnamespace": "[[:$1]] ليس في نطاق \"{{ns:$2}}\".",
        "htmlform-title-not-creatable": "\"$1\" ليس عنوان صفحة يمكن إنشاؤه",
-       "htmlform-title-not-exists": "[[:$1]] غير موجود.",
+       "htmlform-title-not-exists": "$1 غير موجود.",
        "htmlform-user-not-exists": "<strong>$1</strong> غير موجود",
        "htmlform-user-not-valid": "اسم المستخدم <strong>$1</strong> غير صالح.",
        "sqlite-has-fts": "$1 بدعم البحث في كامل النص",
index 9374954..09cdc9c 100644 (file)
        "htmlform-cloner-required": "Necesítase polo menos un valor.",
        "htmlform-title-badnamespace": "[[:$1]] nun ta nel espaciu de nomes \"{{ns:$2}}\".",
        "htmlform-title-not-creatable": "«$1» nun ye un títulu de páxina que pueda crease",
-       "htmlform-title-not-exists": "[[:$1]] nun esiste.",
+       "htmlform-title-not-exists": "$1 nun esiste.",
        "htmlform-user-not-exists": "<strong>$1</strong> nun esiste.",
        "htmlform-user-not-valid": "<strong>$1</strong> nun ye un nome d'usuariu válidu.",
        "sqlite-has-fts": "$1 con sofitu pa busca de testu completu",
index 72f5377..27b2b69 100644 (file)
        "htmlform-cloner-required": "ان آزی بیر دیَر گرکلیدیر.",
        "htmlform-title-badnamespace": "[[:$1]]، «{{ns:$2}}» آدفضاسیندا دئییل.",
        "htmlform-title-not-creatable": "«$1» بیر یارانا بیلن صفحه آدی دئییل",
-       "htmlform-title-not-exists": "[[:$1]] یوخدور.",
+       "htmlform-title-not-exists": "$1 یوخدور.",
        "htmlform-user-not-exists": "<strong>$1</strong> یوخدور.",
        "htmlform-user-not-valid": "<strong>$1</strong> بیر دوزگون ایشلدن آدی دئییل.",
        "sqlite-has-fts": "$1 بوتون یازی آختارما دستگی‌له",
index 9a1c8fb..8d1abd7 100644 (file)
        "createaccountreason": "Rason:",
        "createacct-reason": "Rason",
        "createacct-reason-ph": "Tadaw ta ika magmumukna nin ibang panindog",
-       "createacct-captcha": "Rikisang panseguridad",
-       "createacct-imgcaptcha-ph": "Pakikaag an tekstong nahihiling mo sa ibabaw",
        "createacct-submit": "Muknaon an saimong panindog",
        "createacct-another-submit": "Magmukna nin ibang panindog",
        "createacct-benefit-heading": "{{SITENAME}} pinaghimo kan mga tawong siring mo.",
        "htmlform-yes": "Iyo",
        "htmlform-chosen-placeholder": "Magpili nin sarong opsyon",
        "htmlform-title-not-creatable": "\"$1\" bako sarong maimumuknang titulo kan pahina",
-       "htmlform-title-not-exists": "[[:$1]] bakong eksistido.",
+       "htmlform-title-not-exists": "$1 bakong eksistido.",
        "sqlite-has-fts": "$1 na igwang suporta sa kabilogang-teksto nin paghahanap",
        "sqlite-no-fts": "$1 na mayong suporta sa kabilogang-teksto nin paghahanap",
        "logentry-delete-delete": "$1 {{GENDER:$2|pinagpura na}} pahina $3",
index 812b7f9..f69020b 100644 (file)
        "htmlform-cloner-required": "Патрабуецца як мінімум яшчэ адно значэньне.",
        "htmlform-title-badnamespace": "[[:$1]] знаходзіцца не ў прасторы назваў «{{ns:$2}}».",
        "htmlform-title-not-creatable": "«$1» — немагчымы загаловак для старонкі",
+       "htmlform-title-not-exists": "$1 не існуе.",
        "htmlform-user-not-exists": "<strong>$1</strong> не існуе.",
        "htmlform-user-not-valid": "<strong>$1</strong> — некарэктнае імя карыстальніка.",
        "sqlite-has-fts": "$1 з падтрымкай поўнатэкстнага пошуку",
        "revdelete-unrestricted": "зьнятыя абмежаваньні для адміністратараў",
        "logentry-block-block": "$1 {{GENDER:$2|заблякаваў|заблякавала}} {{GENDER:$4|$3}} на тэрмін $5 $6",
        "logentry-block-unblock": "$1 {{GENDER:$2|разблякаваў|разблякавала}} {{GENDER:$4|$3}}",
+       "logentry-block-reblock": "$1 {{GENDER:$2|зьмяніў|зьмяніла}} тэрмін блякаваньня {{GENDER:$4|$3}} на пэрыяд $5 $6",
        "logentry-suppress-block": "$1 {{GENDER:$2|заблякаваў|заблякавала}} {{GENDER:$4|$3}} на тэрмін $5 $6",
        "logentry-merge-merge": "$1 {{GENDER:$2|аб’яднаў|аб’яднала}} $3 у $4 (вэрсіі да $5)",
        "logentry-move-move": "$1 {{GENDER:$2|перанёс|перанесла}} старонку $3 у $4",
index 96cc12c..ecf26db 100644 (file)
        "htmlform-cloner-required": "অন্তত একটি মূল্য আবশ্যক।",
        "htmlform-title-badnamespace": "[[:$1]] \"{{ns:$2}}\" নামস্থানে খুঁজে পাওয়া যায়নি।",
        "htmlform-title-not-creatable": "\"$1\" সৃষ্টিযোগ্য পাতার শিরোনাম নয়",
-       "htmlform-title-not-exists": "[[:$1]]-এর অস্তিত্ব নেই।",
+       "htmlform-title-not-exists": "$1-এর অস্তিত্ব নেই।",
        "htmlform-user-not-exists": "<strong>$1</strong>-এর অস্তিত্ব নেই।",
        "htmlform-user-not-valid": "<strong>$1</strong> একটি বৈধ ব্যবহারকারীর নাম নয়।",
        "sqlite-has-fts": "$1 সহ পূর্ণ টেক্সট সার্চ সমর্থন",
index ad4463b..5efe4df 100644 (file)
        "viewsourceold": "pogledaj izvor",
        "editlink": "uredi",
        "viewsourcelink": "pogledaj izvor",
-       "editsectionhint": "Uredi sekciju: $1",
+       "editsectionhint": "Uredi odlomak \"$1\"",
        "toc": "Sadržaj",
        "showtoc": "prikaži",
        "hidetoc": "sakrij",
        "cantcreateaccount-range-text": "Pravljenje računa sa IP adresa u rasponu '''$1''', koji uključuje i vašu IP adresu ('''$4'''), je blokirao korisnik [[User:$3|$3]].\n\nNavedeni razlog korisnika $3 je ''$2''",
        "viewpagelogs": "Pogledaj zapisnike ove stranice",
        "nohistory": "Ne postoji historija izmjena za ovu stranicu.",
-       "currentrev": "Trenutna revizija",
-       "currentrev-asof": "Trenutna revizija na dan $1",
+       "currentrev": "Trenutna verzija",
+       "currentrev-asof": "Trenutna verzija na dan $1",
        "revisionasof": "Verzija od $1",
        "revision-info": "Izmjena od $1 od {{GENDER:$6|$2}}$7",
        "previousrevision": "← Starija izmjena",
        "revdel-restore": "Promijeni dostupnost",
        "pagehist": "Historija stranice",
        "deletedhist": "Izbrisana historija",
-       "revdelete-hide-current": "Greška pri sakrivanju stavke od $2, $1: ovo je trenutna revizija.\nNe može biti sakrivena.",
+       "revdelete-hide-current": "Greška pri sakrivanju stavke od $2, $1: ovo je trenutna verzija.\nNe može biti sakrivena.",
        "revdelete-show-no-access": "Greška pri prikazivanju stavke od $2, $1: ova stavka je označena kao \"zaštićena\".\nNemate pristup do ove stavke.",
        "revdelete-modify-no-access": "Greška pri izmjeni stavke od $2, $1: ova stavka je označena kao \"zaštićena\".\nNemate pristup ovoj stavci.",
        "revdelete-modify-missing": "Greška pri mijenjanju stavke ID $1: nedostaje u bazi podataka!",
        "rc_categories": "Ograniči na kategorije (razdvoji sa \"|\"):",
        "rc_categories_any": "Bilo koju odabranu",
        "rc-change-size-new": "$1 {{PLURAL:$1|bajt|bajta|bajtova}} poslije izmjene",
-       "newsectionsummary": "/* $1 */ novi odjeljak",
+       "newsectionsummary": "/* $1 */ novi odlomak",
        "rc-enhanced-expand": "Pokaži detalje",
        "rc-enhanced-hide": "Sakrij detalje",
        "rc-old-title": "prvobitno kreirano kao \"$1\"",
        "filehist-deleteone": "obriši",
        "filehist-revert": "vrati",
        "filehist-current": "trenutno",
-       "filehist-datetime": "Datum/Vrijeme",
+       "filehist-datetime": "Datum/vrijeme",
        "filehist-thumb": "Smanjeni pregled",
        "filehist-thumbtext": "Smanjeni pregled verzije na dan $1",
        "filehist-nothumb": "Bez smanjenog pregleda",
        "nopagetitle": "Ne postoji takva stranica",
        "nopagetext": "Ciljna stranica koju ste naveli ne postoji.",
        "pager-newer-n": "{{PLURAL:$1|novija 1|novije $1}}",
-       "pager-older-n": "{{PLURAL:$1|starija 1|starije $1}}",
+       "pager-older-n": "{{PLURAL:$1|starija $1|starijih $1}}",
        "suppress": "Sakrij",
        "querypage-disabled": "Ova posebna stranica je onemogućena jer smanjuje performanse.",
        "apihelp": "API pomoć",
        "watch": "Prati članak",
        "watchthispage": "Prati ovu stranicu",
        "unwatch": "Prestani pratiti",
-       "unwatchthispage": "Ukinite praćenje",
+       "unwatchthispage": "Prestani pratiti",
        "notanarticle": "Nije članak",
        "notvisiblerev": "Revizija je obrisana",
        "watchlist-details": "{{PLURAL:$1|$1 stranica|$1 stranice|$1 stranica }} na vašem spisku praćenja, ne računajući posebno stranice za razgovor.",
        "undelete-show-file-confirm": "Da li ste sigurni da želite pogledati obrisanu reviziju datoteke \"<nowiki>$1</nowiki>\" od $2 u $3?",
        "undelete-show-file-submit": "Da",
        "namespace": "Imenski prostor:",
-       "invert": "Sve osim odabranog",
+       "invert": "Obrni izbor",
        "tooltip-invert": "Označite ovu kutiju za sakrivanje promjena na stranicama u odabranom imenskom prostoru (i povezanim imenskim prostorima ako je označeno)",
        "tooltip-whatlinkshere-invert": "Označite ovu kutiju za sakrivanje linkova sa stranica u izabranom imenskom prostoru.",
        "namespace_association": "Povezan imenski prostor",
        "intentionallyblankpage": "Ova stranica je namjerno ostavljena prazna",
        "external_image_whitelist": " #Ostavite ovu liniju onakva kakva je<pre>\n#Stavite obične fragmente opisa (samo dio koji ide između //) ispod\n#Ovi će biti spojeni sa URLovima sa vanjskih (eksternih) slika\n#One koji se spoje biće prikazane kao slike, u suprotnom će se prikazati samo link\n#Linije koje počinju sa # se tretiraju kao komentari\n#Ovo ne razlikuje velika i mala slova\n\n#Stavite sve regex fragmente iznad ove linije. Ostavite ovu liniju onakvu kakva je</pre>",
        "tags": "Oznake valjane izmjene",
-       "tag-filter": "Filter [[Special:Tags|oznaka]]:",
+       "tag-filter": "Filter za [[Special:Tags|oznake]]:",
        "tag-filter-submit": "Filter",
        "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|Oznaka|Oznake}}]]: $2)",
        "tags-title": "Oznake",
        "tags-intro": "Ova stranica prikazuje spisak oznaka koje softver može staviti na svaku izmjenu i njihovo značenje.",
        "tags-tag": "Naziv oznake",
-       "tags-display-header": "Vidljivost na spisku izmjena",
+       "tags-display-header": "Izgled na spiskovima izmjena",
        "tags-description-header": "Puni opis značenja",
        "tags-source-header": "Izvor",
        "tags-active-header": "Aktivna?",
        "htmlform-cloner-required": "Potrebna je barem jedna vrijednost.",
        "htmlform-title-badnamespace": "[[:$1]] nije u imenskom prostoru \"{{ns:$2}}\".",
        "htmlform-title-not-creatable": "Stranica \"$1\" se ne može napraviti",
-       "htmlform-title-not-exists": "[[:$1]] ne postoji.",
+       "htmlform-title-not-exists": "$1 ne postoji.",
        "htmlform-user-not-exists": "<strong>$1</strong> ne postoji.",
        "htmlform-user-not-valid": "<strong>$1</strong> nije ispravno korisničko ime.",
        "sqlite-has-fts": "$1 sa podrškom pretrage cijelog teksta",
        "json-error-inf-or-nan": "Jedna ili više NAN ili INF vrijednosti u iznosu koga treba enkodirati",
        "json-error-unsupported-type": "Data je vrijednost vrste koja se ne može enkodirati",
        "headline-anchor-title": "Veza do ovog odjeljka",
-       "special-characters-group-latin": "Latinica",
-       "special-characters-group-latinextended": "Prošireni latinski",
+       "special-characters-group-latin": "latinica",
+       "special-characters-group-latinextended": "proširena latinica",
        "special-characters-group-ipa": "IPA",
-       "special-characters-group-symbols": "Simboli",
-       "special-characters-group-greek": "Grčki",
-       "special-characters-group-cyrillic": "Ä\86irilica",
-       "special-characters-group-arabic": "Arapski",
-       "special-characters-group-arabicextended": "Prošireni arapski",
+       "special-characters-group-symbols": "simboli",
+       "special-characters-group-greek": "grčki",
+       "special-characters-group-cyrillic": "Ä\87irilica",
+       "special-characters-group-arabic": "arapski",
+       "special-characters-group-arabicextended": "prošireni arapski",
        "special-characters-group-persian": "Perzijski",
-       "special-characters-group-hebrew": "Hebrejski",
-       "special-characters-group-bangla": "Bangladeški",
-       "special-characters-group-tamil": "Tamilski",
-       "special-characters-group-telugu": "Telugu",
-       "special-characters-group-sinhala": "Sinhala",
-       "special-characters-group-gujarati": "Gujarati",
-       "special-characters-group-devanagari": "Devanagari",
-       "special-characters-group-thai": "Tajlandski",
-       "special-characters-group-lao": "Laoški",
-       "special-characters-group-khmer": "Kmerski",
+       "special-characters-group-hebrew": "hebrejski",
+       "special-characters-group-bangla": "bangladeški",
+       "special-characters-group-tamil": "tamilski",
+       "special-characters-group-telugu": "telugu",
+       "special-characters-group-sinhala": "sinhalski",
+       "special-characters-group-gujarati": "gujarati",
+       "special-characters-group-devanagari": "devanagari",
+       "special-characters-group-thai": "tajlandski",
+       "special-characters-group-lao": "laoski",
+       "special-characters-group-khmer": "kmerski",
        "special-characters-title-endash": "crtica",
        "special-characters-title-emdash": "duga crta",
        "special-characters-title-minus": "minus",
index 5bb73f2..bac086c 100644 (file)
        "htmlform-cloner-required": "Cal com a mínim un valor.",
        "htmlform-title-badnamespace": "[[:$1]] no es troba en l'espai de noms \"{{ns:$2}}\".",
        "htmlform-title-not-creatable": "\"$1\" és un títol de pàgina no editable",
-       "htmlform-title-not-exists": "[[:$1]] no existeix.",
+       "htmlform-title-not-exists": "$1 no existeix.",
        "htmlform-user-not-exists": "<strong>$1</strong> no existeix.",
        "htmlform-user-not-valid": "<strong>$1</strong> no és nom d'usuari vàlid.",
        "sqlite-has-fts": "$1, amb suport de búsqueda de text íntegre",
index ccf161b..7c97514 100644 (file)
        "nstab-template": "داڕێژە",
        "nstab-help": "پەڕەی یارمەتی",
        "nstab-category": "پۆل",
+       "mainpage-nstab": "دەستپێک",
        "nosuchaction": "کردارێک بەم شێوە نییە",
        "nosuchactiontext": "ئەو چالاکییەی لە لایەن بەستەرەوە دیاریکراوە ناتەواوە.\nلەوانەیە بە هەڵە بەستەرەکەت نووسیبێت، یان بەستەرێکی هەڵەی بە دواوە بێت.\nلەوانەیە ئەمە نیشانەی هەڵەیەک بێت لەو نەرمەکاڵایەی کە بەکاردێت لە لایەن {{SITENAME}}.",
        "nosuchspecialpage": "پەڕەی تایبەتی ئاوا بوونی نییە",
        "htmlform-no": "نا",
        "htmlform-yes": "بەڵێ",
        "htmlform-title-not-creatable": "پەڕە بە سەردێڕی \"$1\" دروست ناکرێت",
-       "htmlform-title-not-exists": "[[$1]] بوونی نیە.",
+       "htmlform-title-not-exists": "$1 بوونی نیە.",
        "logentry-delete-delete": "$1 پەڕەی $3ی {{GENDER:$2|سڕییەوە}}",
        "logentry-delete-restore": "$1 پەڕەی $3ی {{GENDER:$2|ھێنایەوە}}",
        "logentry-delete-revision": "$1 دەرکەوتنی {{PLURAL:$5|پێداچوونەوەیەکی|$5 پێداچوونەوەی}} پەڕەی $3ی {{GENDER:$2|گۆڕیی}}: $4",
index 845338e..5f82e89 100644 (file)
        "showingresultsinrange": "Níže zobrazuji nejvýše <strong>$1</strong> {{PLURAL:$1|výsledek|výsledky|výsledků}} v rozsahu #<strong>$2</strong>–#<strong>$3</strong>.",
        "search-showingresults": "{{PLURAL:$4|Výsledek <strong>$1</strong> z <strong>$3</strong>|Výsledky <strong>$1–$2</strong> z <strong>$3</strong>}}",
        "search-nonefound": "Na váš dotaz nebyly nalezeny žádné výsledky.",
+       "search-nonefound-thiswiki": "Pro tento dotaz nebyly nalezeny žádné odpovídající výsledky na této wiki.",
        "powersearch-legend": "Rozšířené vyhledávání",
        "powersearch-ns": "Hledat ve jmenných prostorech:",
        "powersearch-togglelabel": "Zaškrtnout:",
        "htmlform-cloner-required": "Je povinná nejméně jedna hodnota.",
        "htmlform-title-badnamespace": "Stránka [[:$1]] není ve jmenném prostoru „{{ns:$2}}“.",
        "htmlform-title-not-creatable": "Pod názvem „$1“ nelze vytvořit stránku",
-       "htmlform-title-not-exists": "Stránka [[:$1]] neexistuje.",
+       "htmlform-title-not-exists": "Stránka $1 neexistuje.",
        "htmlform-user-not-exists": "Uživatel <strong>$1</strong> neexistuje.",
        "htmlform-user-not-valid": "<strong>$1</strong> není platné uživatelské jméno.",
        "sqlite-has-fts": "$1 s podporou plnotextového vyhledávání",
index 99fc15b..1f60fa1 100644 (file)
        "htmlform-cloner-required": "Es ist mindestens ein Wert erforderlich.",
        "htmlform-title-badnamespace": "[[:$1]] ist nicht im Namensraum „{{ns:$2}}“.",
        "htmlform-title-not-creatable": "„$1“ ist kein erstellbarer Seitentitel",
-       "htmlform-title-not-exists": "[[:$1]] ist nicht vorhanden.",
+       "htmlform-title-not-exists": "$1 ist nicht vorhanden.",
        "htmlform-user-not-exists": "<strong>$1</strong> ist nicht vorhanden.",
        "htmlform-user-not-valid": "<strong>$1</strong> ist kein gültiger Benutzername.",
        "sqlite-has-fts": "Version $1 mit Unterstützung für die Volltextsuche",
index 41bea49..06f82ad 100644 (file)
        "htmlform-cloner-create": "Προσθήκη περισσοτέρων",
        "htmlform-cloner-delete": "Αφαίρεση",
        "htmlform-cloner-required": "Απαιτείται τουλάχιστον μία τιμή.",
-       "htmlform-title-not-exists": "Ο τίτλος [[:$1]] δεν υπάρχει.",
+       "htmlform-title-not-exists": "Ο τίτλος $1 δεν υπάρχει.",
        "htmlform-user-not-exists": "Δεν υπάρχει χρήστης με όνομα <strong>$1</strong>.",
        "htmlform-user-not-valid": "Το <strong>$1</strong> δεν είναι έγκυρο όνομα χρήστη.",
        "sqlite-has-fts": "$1 με υποστήριξη αναζήτησης πλήρους κειμένου",
index c97b08e..d62913a 100644 (file)
        "htmlform-cloner-required": "At least one value is required.",
        "htmlform-title-badnamespace": "[[:$1]] is not in the \"{{ns:$2}}\" namespace.",
        "htmlform-title-not-creatable": "\"$1\" is not a creatable page title",
-       "htmlform-title-not-exists": "[[:$1]] does not exist.",
+       "htmlform-title-not-exists": "$1 does not exist.",
        "htmlform-user-not-exists": "<strong>$1</strong> does not exist.",
        "htmlform-user-not-valid": "<strong>$1</strong> isn't a valid username.",
        "rawmessage": "$1",
index 2fce30d..b8992af 100644 (file)
        "htmlform-cloner-required": "Se requiere al menos un valor.",
        "htmlform-title-badnamespace": "[[:$1]] no está en el espacio de nombres \"{{ns:$2}}\".",
        "htmlform-title-not-creatable": "\"$1\" no es un título de página que se pueda crear",
-       "htmlform-title-not-exists": "[[:$1]] no existe.",
+       "htmlform-title-not-exists": "$1 no existe.",
        "htmlform-user-not-exists": "<strong>$1</strong> no existe.",
        "htmlform-user-not-valid": "<strong>$1</strong> no es un nombre de usuario válido.",
        "sqlite-has-fts": "$1 con soporte para búsqueda de texto completo",
index ba42a7f..93f58c0 100644 (file)
        "htmlform-cloner-required": "Vähemalt üks väärtus on nõutav.",
        "htmlform-title-badnamespace": "[[:$1]] pole nimeruumis \"{{ns:$2}}\".",
        "htmlform-title-not-creatable": "Pealkirja \"$1\" all ei saa lehekülge alustada.",
-       "htmlform-title-not-exists": "Lehekülge [[:$1]] pole olemas.",
+       "htmlform-title-not-exists": "Lehekülge $1 pole olemas.",
        "htmlform-user-not-exists": "Kasutajat <strong>$1</strong> pole olemas.",
        "htmlform-user-not-valid": "<strong>$1</strong> pole sobiv kasutajanimi.",
        "sqlite-has-fts": "$1 koos täistekstiotsingu toega",
index 630bea2..7661675 100644 (file)
        "createaccountreason": "Arrazoia:",
        "createacct-reason": "Arrazoia",
        "createacct-reason-ph": "Zergatik ari zaren beste erabiltzaile kontu bat",
-       "createacct-captcha": "Segurtasun froga",
-       "createacct-imgcaptcha-ph": "Sartu gainean ikusten duzun testua",
        "createacct-submit": "Kontua sortu",
        "createacct-another-submit": "Kontu bat sortu",
        "createacct-benefit-heading": "{{SITENAME}} zu bezalako pertsonek egiten dute.",
        "htmlform-chosen-placeholder": "Aukeratu",
        "htmlform-cloner-create": "Gehitu gehiago",
        "htmlform-cloner-delete": "Kendu",
-       "htmlform-title-not-exists": "[[:$1]] ez da existitzen.",
+       "htmlform-title-not-exists": "$1 ez da existitzen.",
        "sqlite-has-fts": "$1 testu osoan bilatzeko laguntzarekin",
        "sqlite-no-fts": "$1 testu osoan bilatzeko laguntzarik gabe",
        "logentry-delete-delete": "$1 {{GENDER:$2|wikilariak}} «$3» orria ezabatu du",
index 4313261..39bdce7 100644 (file)
        "right-editmywatchlist": "فهرست پیگیری‌های خود را ویرایش کنید. توجه داشته باشید برخی از اقدامات حتی بدون این دسترسی هم صفحات را اضافه می‌کنند.",
        "right-viewmyprivateinfo": "داده‌های خصوصی خود را ببینید (مانند آدرس ایمیل و نام واقعی)",
        "right-editmyprivateinfo": "داده‌های خصوصی خود را ویرایش کنید (مانند آدرس ایمیل و نام واقعی)",
-       "right-editmyoptions": "ترجیحات خود را ویرایش",
+       "right-editmyoptions": "ویرایش ترجیحات خود",
        "right-rollback": "واگردانی سریع ویرایش‌های آخرین کاربری که یک صفحه را ویرایش کرده‌است",
        "right-markbotedits": "علامت زدن ویرایش‌های واگردانی‌شده به عنوان ویرایش ربات",
        "right-noratelimit": "تاثیر نپذیرفتن از محدودیت سرعت",
        "htmlform-cloner-required": "حداقل یک مقدار مورد نیاز است.",
        "htmlform-title-badnamespace": "[[:$1]] در فضای نام \"{{ns:$2}}\"  موجود نیست.",
        "htmlform-title-not-creatable": "\"$1\" عنوان قابل ایجاد نیست",
-       "htmlform-title-not-exists": "[[:$1]] وجود ندارد.",
+       "htmlform-title-not-exists": "$1 وجود ندارد.",
        "htmlform-user-not-exists": "<strong>$1</strong> وجود ندارد.",
        "htmlform-user-not-valid": "حساب کاربری <strong>$1</strong> معتبر نیست.",
        "sqlite-has-fts": "$1 با پشتیبانی از جستجو در متن کامل",
index de13ad1..e4348b6 100644 (file)
        "mergehistory-into": "Kohdesivu:",
        "mergehistory-list": "Sivuhistoria, joka voidaan yhdistää",
        "mergehistory-merge": "Seuraavat versiot sivusta [[:$1]] voidaan yhdistää sivuun [[:$2]]. \n\nValintamerkin sijoituksella voit yhdistää vain ne versiot, jotka on luotu valittuna ajankohtana tai sitä ennen (listassa alaspäin). \nOta huomioon, että jos käytät navigaatiolinkkejä, tekemäsi valinta poistuu.",
-       "mergehistory-go": "Etsi muokkaukset, jotka voidaan yhdistää",
+       "mergehistory-go": "Näytä muokkaukset, jotka voidaan yhdistää",
        "mergehistory-submit": "Yhdistä versiot",
        "mergehistory-empty": "Mitään versioita ei voida yhdistää.",
        "mergehistory-done": "$3 {{PLURAL:$3|versio|versiota}} sivusta $1 yhdistettiin onnistuneesti sivuun [[:$2]].",
        "htmlform-cloner-required": "Vähintään yksi arvo on pakollinen.",
        "htmlform-title-badnamespace": "Sivu [[:$1]] ei ole nimiavaruudessa ”{{ns:$2}}”.",
        "htmlform-title-not-creatable": "”$1” ei kelpaa sivun nimeksi.",
-       "htmlform-title-not-exists": "Sivua [[:$1]] ei ole olemassa.",
+       "htmlform-title-not-exists": "Sivua $1 ei ole olemassa.",
        "htmlform-user-not-exists": "Käyttäjää <strong>$1</strong> ei ole olemassa.",
        "htmlform-user-not-valid": "<strong>$1</strong> ei ole kelvollinen käyttäjänimi.",
        "sqlite-has-fts": "$1, jossa on tuki kokotekstihaulle",
index 0f268be..3bc0344 100644 (file)
        "nstab-category": "Catégorie",
        "mainpage-nstab": "Accueil",
        "nosuchaction": "Action inconnue",
-       "nosuchactiontext": "L'action spécifiée dans l'URL est invalide.\nVous avez peut-être mal entré l'URL ou suivi un lien erroné.\nIl peut également s'agir d'un bug dans le logiciel utilisé par {{SITENAME}}.",
+       "nosuchactiontext": "L’action spécifiée dans l’URL est invalide.\nVous avez peut-être mal entré l’URL ou suivi un lien erroné.\nIl peut également s’agir d’un bogue dans le logiciel utilisé par {{SITENAME}}.",
        "nosuchspecialpage": "Page spéciale inexistante",
        "nospecialpagetext": "<strong>Vous avez demandé une page spéciale qui n'existe pas.</strong>\n\nUne liste des pages spéciales valides se trouve sur [[Special:SpecialPages|{{int:specialpages}}]].",
        "error": "Erreur",
        "htmlform-cloner-required": "Une valeur au moins est obligatoire.",
        "htmlform-title-badnamespace": "[[:$1]] n'est pas dans l'espace de noms \"{{ns:$2}}\" .",
        "htmlform-title-not-creatable": "\"$1\" n'est pas un titre de page réalisable",
-       "htmlform-title-not-exists": "[[:$1]] n’existe pas",
+       "htmlform-title-not-exists": "$1 n’existe pas",
        "htmlform-user-not-exists": "<strong>$1</strong> n’existe pas.",
        "htmlform-user-not-valid": "<strong>$1</strong> n’est pas un nom d’utilisateur valide.",
        "sqlite-has-fts": "$1 avec recherche en texte intégral supportée",
        "feedback-bugornote": "Si vous êtes prêt à décrire un problème technique en détail, veuillez [$1 signaler un bogue].\nSinon, vous pouvez utiliser le formulaire simplifié ci-dessous. Votre commentaire sera ajouté à la page « [$3 $2] », avec votre nom d'utilisateur.",
        "feedback-cancel": "Annuler",
        "feedback-close": "Fait",
-       "feedback-external-bug-report-button": "Signaler un bug technique",
+       "feedback-external-bug-report-button": "Signaler un bogue technique",
        "feedback-dialog-title": "Soumettre un commentaire",
        "feedback-dialog-intro": "Vous pouvez utiliser le simple formulaire ci-dessous pour faire parvenir vos commentaires. Votre commentaire sera ajouté à la page « $1 », ainsi que votre nom d’utilisateur.",
        "feedback-error-title": "Erreur",
index 1bf2083..598e5d4 100644 (file)
@@ -17,6 +17,7 @@
        "tog-hideminor": "Letj anrangen fersteeg",
        "tog-hidepatrolled": "Letj anrangen fersteeg",
        "tog-newpageshidepatrolled": "Kontroliaret sidjen bi a \"Nei sidjen\" fersteeg",
+       "tog-hidecategorization": "Kategorisiarang faan sidjen fersteeg",
        "tog-extendwatchlist": "Ütjwidjet list faan sidjen, diar dü uun't uug behual wel",
        "tog-usenewrc": "Ütjwidjet uunwisin faan a ''Leetst feranrangen'' an bi a sidjen, diar dü ''Uun't uug behual'' wel",
        "tog-numberheadings": "Auerskraften automaatisk numeriare",
@@ -46,6 +47,7 @@
        "tog-watchlisthideliu": "Feranrangen faan uunmeldet brükern bi sidjen, diar ik uun't uug behual wal, fersteeg",
        "tog-watchlisthideanons": "Feranrangen faan anonüüm brükern (IPs) bi sidjen, diar ik uun't uug behual wal, fersteeg",
        "tog-watchlisthidepatrolled": "Kontroliaret feranrangen bi a sidjen, diar ik uun't uug behual wal, fersteeg",
+       "tog-watchlisthidecategorization": "Kategorisiarang faan sidjen fersteeg",
        "tog-ccmeonemails": "Schüür mi kopiin faan e-mails, diar ik tu ööder brükern schüür",
        "tog-diffonly": "Bi en werjuunsferglik bluas di ferskeel uunwise, ei det hialer sidj",
        "tog-showhiddencats": "Ferbürgen kategoriin uunwise",
        "createaccountreason": "Grünj:",
        "createacct-reason": "Grünj",
        "createacct-reason-ph": "Huaram dü en ööder brükerkonto iinrachtst",
-       "createacct-captcha": "Seekerhaidspreew",
-       "createacct-imgcaptcha-ph": "Skriiw di tekst, diar dü boowen schochst",
        "createacct-submit": "Din brükerkonto iinracht",
        "createacct-another-submit": "En ööder brükerkonto iinracht",
        "createacct-benefit-heading": "{{SITENAME}} woort faan lidj üs di maaget.",
        "rcshowhidemine": "$1 min bidracher",
        "rcshowhidemine-show": "Wise",
        "rcshowhidemine-hide": "Fersteeg",
+       "rcshowhidecategorization": "$1 kategorisiarang faan sidjen",
+       "rcshowhidecategorization-show": "Wise",
+       "rcshowhidecategorization-hide": "Fersteeg",
        "rclinks": "Wise a leetst $1 feranrangen faan a leetst $2 daar.<br />$3",
        "diff": "ferskeel",
        "hist": "werjuunen",
        "upload-dialog-button-done": "Klaar",
        "upload-dialog-button-save": "Seekre",
        "upload-dialog-button-upload": "Huuchschüür",
-       "upload-process-error": "Diar as wat skiaf gingen",
-       "upload-process-warning": "Diar as en wäärnang kimen",
        "upload-form-label-select-file": "Datei ütjschük",
        "upload-form-label-infoform-title": "Enkelthaiden",
        "upload-form-label-infoform-name": "Nööm",
        "htmlform-cloner-create": "Muar diartudu",
        "htmlform-cloner-delete": "Wechnem",
        "htmlform-cloner-required": "Dü skel tumanst ään wäärs uundu.",
-       "htmlform-title-not-exists": "[[:$1]] jaft at ei.",
+       "htmlform-title-not-exists": "$1 jaft at ei.",
        "htmlform-user-not-exists": "<strong>$1</strong> jaft at ei.",
        "htmlform-user-not-valid": "<strong>$1</strong> as nään tuläät brükernööm",
        "sqlite-has-fts": "Werjuun $1 mä halep för't schüken uun di hialer tekst.",
index 3e3d27d..68cd9f6 100644 (file)
        "htmlform-cloner-required": "Necesítase, polo menos, un valor.",
        "htmlform-title-badnamespace": "\"[[:$1]]\" non está no espazo de nomes \"{{ns:$2}}\".",
        "htmlform-title-not-creatable": "\"$1\" non é un título de páxina que se poida crear",
-       "htmlform-title-not-exists": "\"[[:$1]]\" non existe.",
+       "htmlform-title-not-exists": "\"$1\" non existe.",
        "htmlform-user-not-exists": "\"<strong>$1</strong>\" non existe.",
        "htmlform-user-not-valid": "\"<strong>$1</strong>\" non é un nome de usuario válido.",
        "sqlite-has-fts": "$1 con soporte para procuras de texto completo",
index 15b9156..25bab2f 100644 (file)
        "createaccountreason": "कारण:",
        "createacct-reason": "कारण",
        "createacct-reason-ph": "तूं दुसरें खातें कित्याक उगडटात",
-       "createacct-captcha": "सुरक्षा तपासणी",
-       "createacct-imgcaptcha-ph": "वयर दिसता तो मजकूर बरय",
        "createacct-submit": "तुमचे खातें रोचात",
        "createacct-another-submit": "दुसरें खातें तयार कर",
        "createacct-benefit-heading": "{{SITENAME}} तुमच्या सारख्या लोकांनी केल्लो",
        "specialpages": "खाशेलीं पानां",
        "tag-filter": "[[Special:Tags|कुर्वेचीट]] गाळणो:",
        "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|कुरवेचीट|कुरवेचीटी}}]]: $2)",
-       "htmlform-title-not-exists": "[[:$1]] अस्तित्वांत ना.",
+       "htmlform-title-not-exists": "$1 अस्तित्वांत ना.",
        "logentry-delete-delete": "$1 {{GENDER:$2|काडून उडयल्ले पान}} $3",
        "logentry-move-move": "$1 हाणें $3 पानाक $4 {{GENDER:$2|हालयला}}",
        "logentry-newusers-create": "उपयोगकत्याचें $1 {{GENDER:$2|तयार केलें}}",
index b30c69e..0b7417d 100644 (file)
        "createaccountreason": "Karonn:",
        "createacct-reason": "Karonn",
        "createacct-reason-ph": "Tum dusrem khatem kiteak rochtai",
-       "createacct-captcha": "Suraksha topasni",
-       "createacct-imgcaptcha-ph": "Voir dixta to mozkur boroi",
        "createacct-submit": "Tujem khatem roch",
        "createacct-another-submit": "Dusrem khatem roch",
        "createacct-benefit-heading": "{{SITENAME}} tujea bhaxen lokani kel'la",
        "external_image_whitelist": " #Hi voll asa toxich dovor<pre>\n#Khala sodpache sache (''regular expressions'') ghal (fokot // modem voita poi tem bhag)\n#Hanche borobor bhaile zodlele murt comparar kel'le zatele\n#Mell khatat tim murt koxeo distele, na zalear fokot mortek ek zodd distele\n#Jeo voll #-an suru zatele tem vivek mhunn manlele zatele\n#Hanga vhodle and dhakte okxora modem forok podona\n\n#Soglle sodpache sache hea volla voir ghal. Hi voll asa toxich dovor</pre>",
        "tag-filter": "[[Special:Tags|Kurvechit]] challni:",
        "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|Kurvechit|Kurvechiti}}]]: $2)",
-       "htmlform-title-not-exists": "[[:$1]] ostitvant na.",
+       "htmlform-title-not-exists": "$1 ostitvant na.",
        "logentry-delete-delete": "$1-an {{GENDER:$2|kadun udoile}} pan $3",
        "logentry-move-move": "$1-an $3 panak $4 {{GENDER:$2|haloilea}}",
        "logentry-newusers-create": "Vapurpeacho kont $1 {{GENDER:$2|rochlam}}",
index 1e6f40f..2b137a1 100644 (file)
        "htmlform-cloner-required": "Es bruucht mindistens ei Wärt.",
        "htmlform-title-badnamespace": "[[:$1]] isch nid im Namensruum «{{ns:$2}}».",
        "htmlform-title-not-creatable": "«$1» isch kei Sytename, wo sech lat la alege",
-       "htmlform-title-not-exists": "[[:$1]] git’s nid.",
+       "htmlform-title-not-exists": "$1 git’s nid.",
        "htmlform-user-not-exists": "<strong>$1</strong> git’s nid.",
        "htmlform-user-not-valid": "<strong>$1</strong> isch ke gültige Name.",
        "sqlite-has-fts": "$1 mit Unterstitzig vu dr Volltextsuechi",
index c6aa30b..1e3a3ef 100644 (file)
        "htmlform-cloner-required": "דרוש לפחות ערך אחד.",
        "htmlform-title-badnamespace": "[[:$1]] אינו במרחב השם \"{{ns:$2}}\".",
        "htmlform-title-not-creatable": "\"$1\" אינו שם של דף שאפשר ליצור",
-       "htmlform-title-not-exists": "[[:$1]] אינו קיים.",
+       "htmlform-title-not-exists": "$1 אינו קיים.",
        "htmlform-user-not-exists": "<strong>$1</strong> אינו קיים.",
        "htmlform-user-not-valid": "<strong>$1</strong> אינו שם משתמש תקין.",
        "sqlite-has-fts": "$1 עם תמיכה בחיפוש בטקסט מלא",
index 2b42a24..66fddb0 100644 (file)
        "htmlform-cloner-required": "Legalább egy érték szükséges.",
        "htmlform-title-badnamespace": "[[:$1]] nem a(z) „{{ns:$2}}” névtérben található.",
        "htmlform-title-not-creatable": "„$1” nem egy létrehozható lapcím",
-       "htmlform-title-not-exists": "[[:$1]] nem létezik.",
+       "htmlform-title-not-exists": "$1 nem létezik.",
        "htmlform-user-not-exists": "<strong>$1</strong> nem létezik.",
        "htmlform-user-not-valid": "<strong>$1</strong> nem egy érvényes felhasználónév.",
        "sqlite-has-fts": "$1 teljes szöveges keresés támogatással",
index 4effd6e..32d7733 100644 (file)
        "htmlform-cloner-required": "Al minus un valor es requirite.",
        "htmlform-title-badnamespace": "[[:$1]] non es in le spatio de nomines \"{{ns:$2}}\".",
        "htmlform-title-not-creatable": "\"$1\" non es un titulo de pagina creabile",
-       "htmlform-title-not-exists": "[[:$1]] non existe.",
+       "htmlform-title-not-exists": "$1 non existe.",
        "htmlform-user-not-exists": "<strong>$1</strong> non existe.",
        "htmlform-user-not-valid": "<strong>$1</strong> non es un nomine de usator valide.",
        "sqlite-has-fts": "$1 con supporto de recerca de texto integre",
index 67c616b..d7f6b86 100644 (file)
        "htmlform-cloner-create": "Tambahkan lebih banyak",
        "htmlform-cloner-delete": "Hapus",
        "htmlform-cloner-required": "Paling sedikit satu nilai diperlukan.",
-       "htmlform-title-not-exists": "[[:$1]] tidak ada.",
+       "htmlform-title-not-exists": "$1 tidak ada.",
        "sqlite-has-fts": "$1 dengan dukungan pencarian teks lengkap",
        "sqlite-no-fts": "$1 tanpa dukungan pencarian teks lengkap",
        "logentry-delete-delete": "$1 {{GENDER:$2|menghapus}} halaman $3",
index 68b8cd6..73cfdb4 100644 (file)
@@ -15,6 +15,7 @@
        "tog-hideminor": "Ilemmeng dagiti bassit nga inurnos manipud iti kaudian a balbaliw",
        "tog-hidepatrolled": "Ilemmeng dagiti napatruliaan nga inurnos manipud iti kaudian a balbaliw",
        "tog-newpageshidepatrolled": "Ilemmeng dagiti napatruliaan a panid manipud iti baro a listaan ti panid",
+       "tog-hidecategorization": "Ilemmeng ti pannakaikategoria dagiti panid",
        "tog-extendwatchlist": "Ipalawa ti listaan ti bambantayan tapno maipakita amin a nasukatan, saan laeng a ti kabiitan",
        "tog-usenewrc": "Dagiti grupo a panagbaliw babaen ti panid ti kaudian a balbaliw ken listaan ti bambantayan",
        "tog-numberheadings": "Automatiko a pabilangan dagiti paulo",
@@ -44,6 +45,7 @@
        "tog-watchlisthideliu": "Ilemmeng dagiti inurnos babaen dagiti nakastrek nga agar-aramat manipud iti listaan ti bambantayan",
        "tog-watchlisthideanons": "Ilemmeng dagiti inurnos babaen dagiti di ammo nga agar-aramat manipud iti listaan ti bambantayan",
        "tog-watchlisthidepatrolled": "Ilemmeng dagiti napatruliaan nga inurnos manipud iti listaan ti bambantayan",
+       "tog-watchlisthidecategorization": "Ilemmeng ti pannakaikategoria dagiti panid",
        "tog-ccmeonemails": "Patulodandak kadagiti kopia ti esurat nga ipatulodko kadagiti sabali nga agar-aramat",
        "tog-diffonly": "Saan nga iparang ti linaon ti panid dita baba dagiti pagiddiatan",
        "tog-showhiddencats": "Ipakita dagiti nailemmeng a kategoria",
        "createaccountreason": "Rason:",
        "createacct-reason": "Rason",
        "createacct-reason-ph": "Apay nga agparpartuatka manen iti sabali a pakabilangan",
-       "createacct-captcha": "Panagpatalged ti seguridad",
-       "createacct-imgcaptcha-ph": "Ikabil ti teksto a makitam dita ngato",
        "createacct-submit": "Partuatem ti pakabilangam",
        "createacct-another-submit": "Agpartuat iti pakabilangan",
        "createacct-benefit-heading": "Ti {{SITENAME}} ket inar-aramid babaen ti tattao a kasla kenka.",
        "rcshowhidemine": "$1 dagiti inurnosko",
        "rcshowhidemine-show": "Ipakita",
        "rcshowhidemine-hide": "Ilemmeng",
+       "rcshowhidecategorization": "$1 a pannakaikategoria ti panid",
+       "rcshowhidecategorization-show": "Ipakita",
+       "rcshowhidecategorization-hide": "Ilemmeng",
        "rclinks": "Ipakita dagiti naudi a $1 a sinukatan iti kallabes a $2 nga al-aldaw<br />$3",
        "diff": "dip",
        "hist": "hist",
        "htmlform-cloner-required": "Saan a basbassit ngem maysa a pateg ti masapul.",
        "htmlform-title-badnamespace": "Ti [[:$1]] ket awan iti nagan ti espasio ti \"{{ns:$2}}\".",
        "htmlform-title-not-creatable": "Saan a mabalin a mapartuat a titulo ti panid ti \"$1\"",
-       "htmlform-title-not-exists": "Awan ti [[:$1]].",
+       "htmlform-title-not-exists": "Awan ti $1.",
        "htmlform-user-not-exists": "Awan ti <strong>$1</strong>.",
        "htmlform-user-not-valid": "Saan nga umiso a nagan ti agar-aramat ti <strong>$1</strong>.",
        "sqlite-has-fts": "Ti $1 nga addaan iti suporta ti panagbiruk ti napno a teksto",
index cfd4844..6e882aa 100644 (file)
        "htmlform-cloner-required": "È necessario almeno un valore.",
        "htmlform-title-badnamespace": "[[:$1]] non si trova nel namespace \"{{ns:$2}}\".",
        "htmlform-title-not-creatable": "\"$1\" è il titolo di una pagina non creabile",
-       "htmlform-title-not-exists": "[[:$1]] non esiste.",
+       "htmlform-title-not-exists": "$1 non esiste.",
        "htmlform-user-not-exists": "<strong>$1</strong> non esiste.",
        "htmlform-user-not-valid": "<strong>$1</strong> non è un nome utente valido.",
        "sqlite-has-fts": "$1 con la possibilità di ricerca completa nel testo",
index f209c00..dc72199 100644 (file)
        "htmlform-cloner-required": "少なくとも 1 つの値が必要です。",
        "htmlform-title-badnamespace": "[[:$1]]は、\"{{ns:$2}}\"名前空間にありません。",
        "htmlform-title-not-creatable": "\"$1\" は、作成可能なページ名では、ありません。",
-       "htmlform-title-not-exists": "[[:$1]] は存在しません。",
+       "htmlform-title-not-exists": "$1 は存在しません。",
        "htmlform-user-not-exists": "<strong>$1</strong>は存在しません。",
        "htmlform-user-not-valid": "<strong>$1</strong>は有効な利用者名ではありません。",
        "sqlite-has-fts": "$1 (全文検索あり)",
index c693f22..faf9205 100644 (file)
        "htmlform-cloner-create": "მეტის დამატება",
        "htmlform-cloner-delete": "წაშლა",
        "htmlform-cloner-required": "აუცილებელია სულ მცირე ერთი მნიშვნელობა.",
-       "htmlform-title-not-exists": "[[:$1]] არ არსებობს.",
+       "htmlform-title-not-exists": "$1 არ არსებობს.",
        "htmlform-user-not-exists": "<strong>$1</strong> არ არსებობს.",
        "htmlform-user-not-valid": "<strong>$1</strong> არ არის სწორი მომხმარებლის სახელი.",
        "sqlite-has-fts": "$1 სრული ტექსტის ძიების მხარდაჭერით",
index 610c9c2..95f90f5 100644 (file)
        "htmlform-cloner-required": "Кемінде бір мән қажет етеді.",
        "htmlform-title-badnamespace": "[[:$1]] беті «{{ns:$2}}» есім кеңістігінде емес.",
        "htmlform-title-not-creatable": "«$1» беті бастауға болатын бет атауы емес",
-       "htmlform-title-not-exists": "[[:$1]] беті жоқ.",
+       "htmlform-title-not-exists": "$1 беті жоқ.",
        "htmlform-user-not-exists": "<strong>$1</strong> есімді қатысушы жоқ.",
        "htmlform-user-not-valid": "<strong>$1</strong> жарамды қатысушы есімі емес.",
        "sqlite-has-fts": "$1 дегенмен барлық мәтінде іздеуді қолдайды",
index f809817..6c3687f 100644 (file)
        "createaccountreason": "ಕಾರಣ:",
        "createacct-reason": "ಕಾರಣ",
        "createacct-reason-ph": "ನೀವು ಯಾಕೆ ಇನ್ನು ಒಂದು ಖಾತ ಮಾಡುತ ಇದ್ದೀರಿ ?",
-       "createacct-captcha": "ಸುರಕ್ಷೆ ನಿಗ್ರಹಿಸು.",
-       "createacct-imgcaptcha-ph": "ಮೇಲೆ ಕಾಣುವಂತ ಶಬ್ದಗಳು ಮತ್ತು ಅಂಕಗಳನ್ನು ಬರೆಯಿರಿ.",
        "createacct-submit": "ಖಾತೆಯನ್ನು ಸೃಷ್ಟಿಸಿ",
        "createacct-another-submit": "ಇನ್ನು ಒಂದು ಖಾತ ಮಾಡಿ",
        "createacct-benefit-heading": "{{SITENAME}} ನಿಮ್ಮನ್ತವೆ ಜನರಿಂದ ಮಾಡಿದು",
        "htmlform-selectorother-other": "ಇತರ",
        "htmlform-no": "ಇಲ್ಲ",
        "htmlform-yes": "ಹೌದು",
-       "htmlform-title-not-exists": "[[:$1]] ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ.",
+       "htmlform-title-not-exists": "$1 ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ.",
        "logentry-delete-delete": "$1 {{GENDER:$2|ಅಳಿಸಲಾಯಿತು}} ಪುಟ $3",
        "revdelete-restricted": "ನಿರ್ವಾಹಕರಿಗೆ ನಿಬಂಧನೆಗಳನ್ನು ಅನ್ವಯಿಸಲಾಯಿತು",
        "revdelete-unrestricted": "ನಿರ್ವಾಹಕರ ನಿಬಂಧನೆಗಳನ್ನು ತೆಗೆಯಲಾಯಿತು",
index 042f8c6..405a255 100644 (file)
        "htmlform-cloner-required": "적어도 하나의 값이 필요합니다.",
        "htmlform-title-badnamespace": "[[:$1]] 문서는 \"{{ns:$2}}\" 이름공간에 없습니다.",
        "htmlform-title-not-creatable": "\"$1\"은 만들 수 없는 문서 제목입니다.",
-       "htmlform-title-not-exists": "[[:$1]] 문서는 존재하지 않습니다.",
+       "htmlform-title-not-exists": "$1 문서는 존재하지 않습니다.",
        "htmlform-user-not-exists": "<strong>$1</strong> 문서는 존재하지 않습니다.",
        "htmlform-user-not-valid": "<strong>$1</strong>은 올바른 사용자 이름이 아닙니다.",
        "sqlite-has-fts": "$1 (본문 전체 검색 지원)",
index 7fbbd03..5cd1b63 100644 (file)
        "yourdiff": "Ungerscheide",
        "copyrightwarning": "Ding Beijdrähsch schtonn onger de $2, süch $1. Wann De nit han wells, dat Dinge Täx ömjemohdelt weed, un söns wohin verdeilt, dun en heh nit schpeischere. Mem Avspeischere sähs De och zo, dat et vun Dir selvs es, un/udder Do dat Rääch häs, en heh zo verbreide. Wann et nit schtemmp, udder Do kanns et nit nohwiese, kann Desch dat en dr Bau bränge!",
        "copyrightwarning2": "De Beijdrähsch {{GRAMMAR:en|{{SITENAME}}}} künne vun andere Metmaacher ömjemodelt\nudder fottjeschmeße wähde. Wann Der dat nit rääch es, schriiv nix. Et es och nühdesch, dat et vun Der selvs es, oder dat Do dat Rääsch häs, et heh öffentlich wigger ze jävve. Süch $1. Wann et nit schtemmp, oder Do kanns et nit nohwihse, künnt Desch dat en der Bou bränge!",
+       "editpage-cannot-use-custom-model": "Et Ennhalldsmodäll för heh di Sigg km_mer nit veränndere.",
        "longpageerror": "'''Janz schlemme Fähler:'''\nDä Tex, dä De heh jescheck häs, dä es {{PLURAL:$1|ein|$1|kei}} Kilobyte jruuß.\nDat {{PLURAL:$2|es mieh wie ei|sin mieh wie $2|es kei}} Kilobyte. Dat künne mer nit speichere!",
        "readonlywarning": "<strong>Opjepass:<strong>\nDe Daatebank es jesperrt woode, wo Do ald am Ändere wohs.\nDä.\nJetz kanns De Ding Änderunge nit mih faßhallde lohße.\nDun se bei Dir om Rechner faßhalde un versöhg et schpäder noch ens.\n\nNävvebei, dä Datenbank-Köbes hät för et Sperre och ene Jrund aanjejovve: $1",
        "protectedpagewarning": "<strong>Opjepass: Di Sigg heh es jähje Veränderonge jeschöz. Blohß de Wikki-Köbeße künne se änndere.</strong>\nHeh kütt der neuste Enndraach em Logbohch för di Sigg:",
        "showingresultsinrange": "{{PLURAL:$1|<strong>Ein</strong> Saachjropp|<strong>$1</strong> Saachjroppe|Kein Saachjropp}}, vun Nommer <strong>$2</strong> bes Nommer <strong>$3</strong> {{PLURAL:$1|weed|wääde|weed}} heh opjeleß.",
        "search-showingresults": "{{PLURAL:$4|Heh es dä <strong>$1</strong>-te vun <strong>$3</strong> Träffere.|Träffer Nommero <strong>$1 bes $2</strong> vun <strong>$3</strong> Träffer.|Jevonge woodt woodt nix.}}",
        "search-nonefound": "Mer han nix zopaß jefonge för Ding Aanfrohch.",
+       "search-nonefound-thiswiki": "Mer han en heh dä ẞait nix zopaß jefonge för Ding Aanfrohch.",
        "powersearch-legend": "Extra Söhke",
        "powersearch-ns": "Söök en de Apachtemangs:",
        "powersearch-togglelabel": "&nbsp;",
        "rcshowhidemine": "ming eije Änderonge $1",
        "rcshowhidemine-show": "aanzeije",
        "rcshowhidemine-hide": "verschteihsche",
+       "rcshowhidecategorization-show": "Aanzeije!",
+       "rcshowhidecategorization-hide": "Verschteische!",
        "rclinks": "Zeisch de läzde {{int:pipe-separator}}$1{{int:pipe-separator}} Änderonge us de läzde {{int:pipe-separator}}$2{{int:pipe-separator}} Däch, un dun {{int:pipe-separator}} $3.",
        "diff": "Ongerscheid",
        "hist": "Väsjohne",
        "foreign-structured-upload-form-label-own-work": "dat es ming eije Wärk",
        "foreign-structured-upload-form-label-infoform-categories": "Saachjroppe",
        "foreign-structured-upload-form-label-infoform-date": "Dattum",
+       "foreign-structured-upload-form-label-not-own-work-message-local": "Wann De di Dattei nit en de jemeinsamme Sammlong vun Datteule huh lahde kanns un derbei de Rähjelle {{ucfirst:{{GRAMMAR:vun|{{ucfirst:{{SITENAME}}}}}}}} ennhalde, dann maach heh nit wigger, un probehr ene anndere Wähsch.",
        "foreign-structured-upload-form-label-not-own-work-local-local": "Do künnts edd och ens met dä [[Special:Upload|Schtandatt-Sigg zom Huhlahde]] versöhke welle.",
        "foreign-structured-upload-form-label-own-work-message-default": "Esch verschtonn, dadd esch en en jemeinsamme Sammlong huh aam lahde ben un dadd sesch dat met dä Bedengonge un de Lezänzbedengonge heh verdräht.",
        "foreign-structured-upload-form-label-not-own-work-message-default": "Wann De di Dattei nit en de jemeinsamme Sammlong vun Datteule huh lahde kanns un derbei de Rähjelle ennhalde, dann maach heh nit wigger, un probehr ene anndere Wähsch.",
        "rollback-success": "De Änderungen vum $1 zeröckjenumme, un dobei de letzte Version vum $2 widder jehollt.",
        "sessionfailure-title": "Fähler met dä Daate vum Enlogge",
        "sessionfailure": "Et jov wall e täschnesch Problehm met Dingem Login. Dröm ham_mer dat us Vörseesch jäz nix jemaht, domet mer nit velleich Ding Änderong däm verkihrte Metmaacher ongerjubele. Jangk zeröck un versöhk et noch ens.",
+       "changecontentmodel": "Et Modäll vum Ennhald vun ene Sigg verändere",
+       "changecontentmodel-legend": "Et Modäll vum Ennhald",
        "changecontentmodel-title-label": "Dä Sigg ier Övverschreff",
+       "changecontentmodel-model-label": "Et neuje Modäll för der Enhalld",
        "changecontentmodel-reason-label": "Der Jrond:",
+       "changecontentmodel-success-title": "Et Modäll för der Enhalld wohd veränndert",
+       "changecontentmodel-success-text": "Et Modäll för der Enhalld vun dä Sigg „[[:$1]]“ wohd veränndert",
        "logentry-contentmodel-change-revertlink": "retuhr_nämme",
        "logentry-contentmodel-change-revert": "retuhr_nämme",
        "protectlogpage": "Logbohch vum Sigge Schötze",
        "htmlform-cloner-required": "Winnischsdens eine Wääd es nühdesch.",
        "htmlform-title-badnamespace": "[[:$1]] es nit em Appachetmang „{{ns:$2}}“.",
        "htmlform-title-not-creatable": "„$1“ en kein Övverschreff, för di me en Sigg aanlähje künnt",
-       "htmlform-title-not-exists": "[[:$1]] jidd_et nit.",
+       "htmlform-title-not-exists": "$1 jidd_et nit.",
        "htmlform-user-not-exists": "<strong>$1</strong> jidd_et nit.",
        "htmlform-user-not-valid": "<strong>$1</strong> es keine jöltejje Nahme för ene Metmaacher.",
        "sqlite-has-fts": "Version $1 (un kann en janze Täxte söhke)",
index 48526c8..c78b721 100644 (file)
        "htmlform-cloner-delete": "Ewechhuelen",
        "htmlform-cloner-required": "Mindestens ee Wäert ass obligatoresch.",
        "htmlform-title-badnamespace": "[[:$1]] ass net am Nummraum \"{{ns:$2}}\".",
-       "htmlform-title-not-exists": "[[:$1]] gëtt et net.",
+       "htmlform-title-not-exists": "$1 gëtt et net.",
        "htmlform-user-not-exists": "<strong>$1</strong> gëtt et net.",
        "htmlform-user-not-valid": "<strong>$1</strong> ass kee valabele Benotzernumm.",
        "sqlite-has-fts": "$1 ënnerstëtzt d'Volltextsich",
index a64e379..e66b3f6 100644 (file)
        "htmlform-cloner-required": "Bent viena reikšmė būtina.",
        "htmlform-title-badnamespace": "[[:$1]] nėra \"{{ns:$2}}\" vardų srityje.",
        "htmlform-title-not-creatable": "\"$1\" nėra tinkamas sukūrimui puslapio pavadinimas",
-       "htmlform-title-not-exists": "[[:$1]] neegzistuoja.",
+       "htmlform-title-not-exists": "$1 neegzistuoja.",
        "htmlform-user-not-exists": "<strong>$1</strong> neegzistuoja.",
        "htmlform-user-not-valid": "<strong>$1</strong> nėra tinkamas naudotojo vardas.",
        "sqlite-has-fts": "$1 su visatekstės paieškos palaikymu",
index d1e3010..623ab53 100644 (file)
        "nstab-template": "模",
        "nstab-help": "助",
        "nstab-category": "類",
+       "mainpage-nstab": "卷首",
        "nosuchaction": "無可為",
        "nosuchactiontext": "此址也無",
        "nosuchspecialpage": "無此特查",
        "createaccountreason": "因:",
        "createacct-reason": "因:",
        "createacct-reason-ph": "汝另立一簿者何哉?",
-       "createacct-captcha": "安檢",
-       "createacct-imgcaptcha-ph": "輸上方文字",
        "createacct-submit": "增簿",
        "createacct-another-submit": "復立一簿",
        "createacct-benefit-heading": "吾等立{{SITENAME}}者,或黔首,或專戶。",
index 4dd3759..b0bdfa1 100644 (file)
        "htmlform-cloner-required": "Се бара барем една вредност.",
        "htmlform-title-badnamespace": "[[:$1]] не се наоѓа во именскиот простор „{{ns:$2}}“.",
        "htmlform-title-not-creatable": "Насловот „$1“ не може да се создава",
-       "htmlform-title-not-exists": "[[:$1]] не постои.",
+       "htmlform-title-not-exists": "$1 не постои.",
        "htmlform-user-not-exists": "<strong>$1</strong> не постои.",
        "htmlform-user-not-valid": "<strong>$1</strong> не претставува важечко корисничко име.",
        "sqlite-has-fts": "$1 со поддршка за пребарување по цели текстови",
index dfdcc75..e39477f 100644 (file)
        "showingresultsinrange": "#<strong>$2</strong> മുതൽ #<strong>$3</strong> വരെയുള്ള പരിധിയിലെ {{PLURAL:$1|<strong>ഒരു</strong> ഫലം|<strong>$1</strong> ഫലങ്ങൾ}} താഴെ പ്രദർശിപിക്കുന്നു.",
        "search-showingresults": "{{PLURAL:$4|<strong>$3</strong> ഫലത്തിൽ<strong>$1</strong>|<strong>$3</strong> ഫലത്തിൽ <strong>$1 മുതൽ $2</strong> വരെയുള്ളവ}}",
        "search-nonefound": "താങ്കൾ തിരഞ്ഞ പദത്തിനു യോജിച്ച ഫലങ്ങളൊന്നും ലഭിച്ചില്ല.",
+       "search-nonefound-thiswiki": "ഈ അന്വേഷണത്തിനു യോജിച്ച ഫലങ്ങളൊന്നും ഈ സൈറ്റിൽ നിന്നും ലഭിച്ചില്ല.",
        "powersearch-legend": "വിപുലീകൃത തിരച്ചിൽ",
        "powersearch-ns": "തിരയേണ്ട നാമമേഖലകൾ",
        "powersearch-togglelabel": "അടയാളപ്പെടുത്തുക:",
        "htmlform-cloner-required": "കുറഞ്ഞത് ഒരു വിലയെങ്കിലും നൽകിയിരിക്കണം.",
        "htmlform-title-badnamespace": "[[:$1]] ഉള്ളത് \"{{ns:$2}}\" നാമമേഖലയിലല്ല.",
        "htmlform-title-not-creatable": "\"$1\" സൃഷ്ടിക്കാനാവുന്ന തലക്കെട്ടല്ല.",
-       "htmlform-title-not-exists": "[[:$1]] നിലവിലില്ല.",
+       "htmlform-title-not-exists": "$1 നിലവിലില്ല.",
        "htmlform-user-not-exists": "<strong>$1</strong> നിലവിലില്ല.",
        "htmlform-user-not-valid": "<strong>$1</strong> സാധുതയുള്ള ഉപയോക്തൃനാമമല്ല.",
        "sqlite-has-fts": "പൂർണ്ണ-എഴുത്ത് തിരച്ചിൽ പിന്തുണയുള്ള $1",
        "logentry-newusers-byemail": "$3 എന്ന ഉപയോക്തൃ അംഗത്വം $1 {{GENDER:$2|സൃഷ്ടിച്ചിരിക്കുന്നു}}, രഹസ്യവാക്ക് ഇമെയിൽ വഴി അയച്ചു",
        "logentry-newusers-autocreate": "$1 എന്ന ഉപയോക്തൃ അംഗത്വം സ്വയം {{GENDER:$2|സൃഷ്ടിക്കപ്പെട്ടിരിക്കുന്നു}}",
        "logentry-protect-move_prot": "സംരക്ഷണ സജ്ജീകരണങ്ങൾ $4  എന്നതിൽ നിന്ന് $3 എന്നതിലേക്ക് $1 {{GENDER:$2|മാറ്റി}}",
+       "logentry-protect-unprotect": "$3 താളിലെ സംരക്ഷണം $1 {{GENDER:$2|നീക്കി}}",
+       "logentry-protect-protect": "$3 താൾ $1 {{GENDER:$2|സംരക്ഷിച്ചു}} $4",
+       "logentry-protect-protect-cascade": "$3 താൾ $1 {{GENDER:$2|സംരക്ഷിച്ചു}} $4 [നിർഝരിതം]",
        "logentry-rights-rights": "$3 എന്ന ഉപയോക്താവിന്റെ സംഘ അംഗത്വം, $4 എന്നതിൽ നിന്നു $5 എന്നതിലേക്ക്, $1 {{GENDER:$2|മാറ്റിയിരിക്കുന്നു}}",
        "logentry-rights-rights-legacy": "$3 എന്ന ഉപയോക്താവിന്റെ സംഘ അംഗത്വം $1 {{GENDER:$2|മാറ്റിയിരിക്കുന്നു}}",
        "logentry-rights-autopromote": "$1 എന്ന ഉപയോക്താവ് $4 എന്നതിൽ നിന്നും $5 എന്നതിലേയ്ക്ക് സ്വയമേവ {{GENDER:$2|ഉയർത്തപ്പെട്ടിരിക്കുന്നു}}",
index f927cfc..55c298b 100644 (file)
        "htmlform-cloner-create": "अधिक जोडा",
        "htmlform-cloner-delete": "हटवा",
        "htmlform-cloner-required": "किमान एक किंमत हवी",
-       "htmlform-title-not-exists": "[[:$1]] अस्तीत्वात नाही.",
+       "htmlform-title-not-exists": "$1 अस्तीत्वात नाही.",
        "htmlform-user-not-exists": "<strong>$1</strong> अस्तीत्वात नाही.",
        "htmlform-user-not-valid": "<strong>$1</strong> हे वैध सदस्यनाम नाही.",
        "sqlite-has-fts": "पूर्ण-मजकूर शोध समर्थनासहित $1",
        "logentry-rights-rights-legacy": "$1 ने $3 साठी गट सदस्यता {{GENDER:$2|बदलली}}",
        "logentry-rights-autopromote": "$1 ला स्वयंचलितरित्या $4 वरुन $5 ला {{GENDER:$2|बढती दिल्या गेली}}",
        "logentry-upload-upload": "$1 {{GENDER:$2|अपभारीत केली}} $3",
+       "logentry-upload-overwrite": "$1 ने  $3 ची एक नविन आवृत्ती {{GENDER:$2|अपभारीत केली}}",
+       "log-name-tag": "खूणपताका नोंदी",
        "rightsnone": "(काहीही नाही)",
        "revdelete-summary": "संपादन माहिती",
        "feedback-adding": "आपला पश्चप्रदाय (फिडबॅक)  जोडत आहोत या पानास.......",
index 1109eef..05fb355 100644 (file)
        "viewsource": "Lihat sumber",
        "viewsource-title": "Lihat sumber bagi $1",
        "actionthrottled": "Tindakan didikitkan",
-       "actionthrottledtext": "Untuk mencegah spam, anda dihadkan daripada melakukan tindakan ini berulang kali dalam ruang waktu yang singkat, dan anda telah melebihi had tersebut. Sila cuba lagi selepas beberapa minit.",
+       "actionthrottledtext": "Untuk mencegah penyalahgunaan, anda dihadkan daripada melakukan tindakan ini berulang kali dalam ruang waktu yang singkat, dan anda telah melebihi had tersebut. Sila cuba lagi selepas beberapa minit.",
        "protectedpagetext": "Laman ini telah dikunci untuk melarang penyuntingan atau sebarang tindakan yang lain.",
-       "viewsourcetext": "Anda boleh melihat dan menyalin sumber bagi laman ini:",
-       "viewyourtext": "Anda boleh melihat dan menyalin sumber '''suntingan anda''' kepada laman ini:",
+       "viewsourcetext": "Anda boleh melihat dan menyalin sumber bagi laman ini.",
+       "viewyourtext": "Anda boleh melihat dan menyalin sumber <strong>suntingan anda</strong> pada laman ini.",
        "protectedinterface": "Laman ini menyediakan teks antara muka bagi perisian ini, akan tetapi dikunci untuk menghalang penyalahgunaan.\nUntuk menambah atau menyunting terjemahan untuk semua wiki, sila gunakan projek penyetempatan MediaWiki, [//translatewiki.net/ translatewiki.net].",
        "editinginterface": "<strong>Amaran:</strong> Anda sedang menyunting halaman yang digunakan untuk menyediakan teks antaramuka untuk perisian berkenaan.\nSebarang suntingan ke atas halaman ini akan memberikan kesan kepada penampilan antaramuka pengguna bagi pengguna-pengguna lain wiki ini.",
        "translateinterface": "Untuk menambah atau menyunting terjemahan untuk kesemua wiki, sila gunakan [//translatewiki.net/ translatewiki.net], iaitu projek penyetempatan MediaWiki.",
-       "cascadeprotected": "Laman ini telah dilindungi daripada penyuntingan oleh pengguna selain penyelia, kerana ia termasuk dalam {{PLURAL:$1|laman|laman-laman}} berikut, yang dilindungi dengan secara \"melata\": $2",
+       "cascadeprotected": "Laman ini telah dilindungi daripada disunting kerana ia termasuk dalam {{PLURAL:$1|laman|laman-laman}} berikut, yang dilindungi dengan opsyen \"melata\" dipasang:\n$2",
        "namespaceprotected": "Anda tidak mempunyai keizinan untuk menyunting laman dalam ruang nama '''$1'''.",
        "customcssprotected": "Anda tidak dibenarkan menyunting laman JavaScript ini kerana ia mengandungi tetapan peribadi pengguna lain.",
        "customjsprotected": "Anda tidak dibenarkan menyunting laman JavaScript ini kerana ia mengandungi tetapan peribadi pengguna lain.",
        "createacct-reason": "Sebab",
        "createacct-reason-ph": "Mengapa anda membuka satu lagi akaun",
        "createacct-submit": "Wujudkan akaun anda",
-       "createacct-another-submit": "Buka akaun baru",
+       "createacct-another-submit": "Buka akaun",
        "createacct-benefit-heading": "{{SITENAME}} dijayakan oleh orang ramai seperti anda.",
        "createacct-benefit-body1": "{{PLURAL:$1|suntingan}}",
        "createacct-benefit-body2": "{{PLURAL:$1|halaman}}",
        "createacct-benefit-body3": "{{PLURAL:$1|penyumbang}} terkini",
        "badretype": "Sila ulangi kata laluan dengan betul.",
+       "usernameinprogress": "Pembukaan akaun untuk nama pengguna ini sudah sedang dijalankan. Sila tunggu.",
        "userexists": "Nama pengguna yang diisikan telah pun digunakan.\nSila pilih nama yang lain.",
        "loginerror": "Ralat log masuk",
        "createacct-error": "Ralat pembukaan akaun",
        "passwordreset-emailtext-ip": "Seseorang (mungkin anda, dari alamat IP $1) telah memohon supaya kata laluan diset semula untuk {{SITENAME}} anda ($4). {{PLURAL:$3|Akaun|Akaun-akaun}} pengguna yang berikut\ndikaitkan dengan alamat e-mel ini:\n\n$2\n\n{{PLURAL:$3|Kata|Kata-kata}} laluan sementara ini akan luput dalam masa $5 hari. Anda harus log masuk dan membuat kata laluan yang baru sekarang. Jika permohonan ini dibuat oleh orang lain, atau jika anda teringat kembali kata laluan asal anda dan anda tidak lagi berhasrat untuk mengubahnya, anda boleh mengabaikan pesanan ini dan terus menggunakan kata laluan lama anda.",
        "passwordreset-emailtext-user": "Pengguna $1 telah memohon supaya kata laluan diset semula untuk {{SITENAME}} anda ($4). {{PLURAL:$3|Akaun|Akaun-akaun}} pengguna yang berikut\ndikaitkan dengan alamat e-mel ini:\n\n$2\n\n{{PLURAL:$3|Kata|Kata-kata}} laluan sementara ini akan luput dalam masa $5 hari. Anda harus log masuk dan membuat kata laluan yang baru sekarang. Jika permohonan ini dibuat oleh orang lain, atau jika anda teringat kembali kata laluan asal anda dan anda tidak lagi berhasrat untuk mengubahnya, anda boleh mengabaikan pesanan ini dan terus menggunakan kata laluan lama anda.",
        "passwordreset-emailelement": "Nama pengguna: \n$1\n\nKata laluan sementara: \n$2",
-       "passwordreset-emailsent": "E-mel set semula kata laluan telah dihantar.",
+       "passwordreset-emailsent": "Jika ini ialah alamat e-mel yang terdaftar untuk akaun anda, maka e-mel set semula kata laluan akan dihantar.",
        "passwordreset-emailsent-capture": "E-mel set semula kata laluan telah dihantar, seperti yang dipaparkan di bawah.",
        "passwordreset-emailerror-capture": "E-mel set semula kata laluan telah dihasilkan, seperti yang dipaparkan di bawah, tetapi tidak berjaya dihantar kepada {{GENDER:$2|pengguna}} berkenaan: $1",
-       "changeemail": "Tukar alamat e-mel",
-       "changeemail-header": "Tukar alamat e-mel akaun",
+       "changeemail": "Tukar atau padamkan alamat e-mel",
+       "changeemail-header": "Lengkapkan borang ini untuk menukar alamat e-mel anda. Jika anda ingin memutuskan sebarang hubungan alamat e-mel daripada akaun anda, biarkan ruangan alamat e-mel kosong ketika menghantar borang.",
+       "changeemail-passwordrequired": "Anda akan dikehendaki memasukkan kata laluan untuk mengesahkan perubahan ini.",
        "changeemail-no-info": "Anda hendaklah log masuk terlebih dahulu untuk mencapai laman ini secara terus.",
        "changeemail-oldemail": "Alamat e-mel sekarang:",
        "changeemail-newemail": "Alamat e-mel baru:",
+       "changeemail-newemail-help": "Ruangan ini harus dibiarkan kosong jika anda mahu menggugurkan alamat e-mel anda. Anda tidak akan dapat mengeset semula kata laluan yang terlupa, bahkan tidak akan menerima e-mel daripada wiki ini jika alamat e-mel itu dipadamkan.",
        "changeemail-none": "(tiada)",
        "changeemail-password": "Kata laluan anda di {{SITENAME}}:",
        "changeemail-submit": "Tukar E-mel",
        "changeemail-throttled": "Anda telah melakukan terlalu banyak cubaan log masuk.\nSila tunggu $1 dan cuba lagi.",
+       "changeemail-nochange": "Sila taipkan alamat e-mel baru yang lain.",
        "resettokens": "Set semula token",
        "resettokens-text": "Anda boleh mengeset semula token yang membolehkan akses kepada data peribadi tertentu yang berkaitan dengan akaun anda di sini.\n\nAnda harus melakukannya jika anda tanpa sengaja mengongsinya dengan sesiapa ataupun akaun anda telah dikompromi.",
        "resettokens-no-tokens": "Tiada token untuk diset semula.",
        "sig_tip": "Tandatangan dengan cap waktu",
        "hr_tip": "Garis melintang (gunakan dengan hemat)",
        "summary": "Ringkasan:",
-       "subject": "Tajuk:",
+       "subject": "Perkara:",
        "minoredit": "Ini adalah suntingan kecil",
        "watchthis": "Pantau laman ini",
        "savearticle": "Simpan",
        "missingsummary": "'''Peringatan:''' Anda tidak menyatakan ringkasan suntingan. Klik '''Simpan''' sekali lagi untuk menyimpan suntingan ini tanpa ringkasan.",
        "selfredirect": "<strong>Amaran:</strong> Anda sedang melencongkan laman ini kepada dirinya sendiri.\nMungkin anda telah menyatakan sasaran yang salah untuk lencongan ini ataupun sedang tersalah menyunting halaman.\nJika anda mengklik \"{{int:savearticle}}\" semula, maka lencongan tetap akan dihasilkan.",
        "missingcommenttext": "Sila masukkan komen dalam ruangan di bawah.",
-       "missingcommentheader": "'''Peringatan:''' Anda tidak menyatakan tajuk bagi komen ini. Klik '''{{int:savearticle}}''' sekali lagi untuk menyimpan suntingan ini tanpa tajuk.",
+       "missingcommentheader": "<strong>Peringatan:</strong> Anda belum menyatakan tajuk perkara bagi komen ini.\nJika anda klik '''{{int:savearticle}}''' sekali lagi, suntingan anda akan tersimpan tanpa tajuk.",
        "summary-preview": "Pralihat ringkasan:",
-       "subject-preview": "Pralihat tajuk:",
+       "subject-preview": "Pralihat perkara:",
        "previewerrortext": "Ralat berlaku ketika cuba mempratayangkan hasil suntingan anda.",
        "blockedtitle": "Pengguna disekat",
        "blockedtext": "<strong>Nama pengguna atau alamat IP anda telah disekat.</strong>\n\nSekatan ini dilakukan oleh $1.\nSebab yang telah diberikan ialah <em>$2</em>.\n\n* Sekatan mula: $8\n* Sekatan tamat: $6\n* Pengguna sasaran: $7\n\nAnda boleh hubungi $1 atau [[{{MediaWiki:Grouppage-sysop}}|penyelia]] yang lain untuk membincangkan sekatan ini.\n\nSila ambil perhatian bahawa anda tidak boleh menggunakan ciri \"kirim e-mel kepada pengguna ini\" kecuali sekiranya anda telah menetapkan alamat e-mel yang sah dalam [[Special:Preferences|keutamaan pengguna]] anda dan anda tidak disekat daripada menggunakannya.\n\nAlamat IP semasa anda ialah $3, dan ID sekatan ialah #$5.\nSila sertakan maklumat-maklumat di atas dalam sebarang pertanyaan yang anda membuat.",
        "yourdiff": "Perbezaan",
        "copyrightwarning": "Sila ambil perhatian bahawa semua sumbangan kepada {{SITENAME}} akan dikeluarkan di bawah $2 (lihat $1 untuk butiran lanjut). Jika anda tidak mahu tulisan anda disunting sewenang-wenangnya oleh orang lain dan diedarkan secara bebas, maka jangan kirim di sini.<br />\nAnda juga berjanji bahawa ini adalah hasil kerja tangan anda sendiri, atau disalin daripada domain awam atau mana-mana sumber bebas lain.\n'''JANGAN KIRIM KARYA HAK CIPTA ORANG LAIN TANPA KEBENARAN!'''",
        "copyrightwarning2": "Sila ambil perhatian bahawa semua sumbangan terhadap {{SITENAME}} boleh disunting, diubah, atau dipadam oleh penyumbang lain. Jika anda tidak mahu tulisan anda disunting sewenang-wenangnya, maka jangan kirim di sini.<br />\nAnda juga berjanji bahawa ini adalah hasil kerja tangan anda sendiri, atau\ndisalin daripada domain awam atau mana-mana sumber bebas lain (lihat $1 untuk butiran lanjut).\n'''JANGAN KIRIM KARYA HAK CIPTA ORANG LAIN TANPA KEBENARAN!'''",
+       "editpage-cannot-use-custom-model": "Model kandungan laman ini tidak boleh diubah.",
        "longpageerror": "'''Ralat: Teks yang anda serahkan itu panjangnya {{PLURAL:$1|1|$1}} kilobait, iaitu lebih panjang daripada had maksimum {{PLURAL:$2|1|$2}} kilobait.'''\nOleh itu, ia tidak boleh disimpan.",
        "readonlywarning": "'''Amaran: Pangkalan data ini dikunci untuk tujuan penyelenggaraan , maka anda tidak akan dapat menyimpan suntingan anda buat sekarang.'''\nAnda boleh menyalin tampal teks anda pada fail teks dan menyimpannya untuk lain kali.\n\nPenyelia yang menguncinya memberikan penjelasan ini: $1",
        "protectedpagewarning": "'''Amaran: Laman ini telah dikunci supaya hanya mereka yang mempunyai keistimewaan penyelia boleh menyuntingnya.'''\nMasukan log terakhir ditunjukkan di bawah untuk rujukan:",
        "semiprotectedpagewarning": "'''Nota:''' Laman ini telah dikunci agar hanya pengguna berdaftar sahaja boleh menyuntingnya.\nMasukan log terakhir ditunjukkan di bawah untuk rujukan:",
-       "cascadeprotectedwarning": "'''Amaran:''' Laman ini telah dikunci, oleh itu hanya penyelia boleh menyuntingnya. Ini kerana ia termasuk dalam {{PLURAL:$1|laman|laman-laman}} berikut yang dilindungi secara melata:",
+       "cascadeprotectedwarning": "<strong>Amaran:</strong> Laman ini telah dikunci supaya hanya pengguna bertaraf penyelia boleh menyuntingnya kerana ia termasuk dalam {{PLURAL:$1|laman|laman-laman}} berikut yang dilindungi secara melata:",
        "titleprotectedwarning": "'''Amaran: Laman ini telah dikunci hingga [[Special:ListGroupRights|hak-hak tertentu]] diperlukan untuk menciptanya.'''\nMasukan log terakhir ditunjukkan di bawah untuk rujukan:",
        "templatesused": "{{PLURAL:$1|Templat|Templat}} yang digunakan dalam laman ini:",
        "templatesusedpreview": "{{PLURAL:$1|Templat|Templat}} yang digunakan dalam pralihat ini:",
        "permissionserrors": "Ralat kebenaran",
        "permissionserrorstext": "Anda tidak mempunyai keizinan untuk berbuat demikian atas {{PLURAL:$1|sebab|sebab-sebab}} berikut:",
        "permissionserrorstext-withaction": "Anda tidak mempunyai keizinan untuk $2, atas {{PLURAL:$1|sebab|sebab-sebab}} berikut:",
+       "contentmodelediterror": "Anda tidak boleh menyunting semakan ini kerana model kandungannya ialah <code>$1</code> padahal model kandungan semasa laman ini ialah <code>$2</code>.",
        "recreate-moveddeleted-warn": "'''Amaran: Anda sedang mencipta semula sebuah laman yang pernah dihapuskan.'''\n\nAnda harus mempertimbangkan perlunya menyunting laman ini.\nUntuk rujukan, yang berikut ialah log penghapusan bagi laman ini:",
        "moveddeleted-notice": "Laman ini telah dihapuskan.\nLog penghapusan bagi laman ini dilampirkan di bawah untuk rujukan.",
+       "moveddeleted-notice-recent": "Maaf, laman ini baru-baru sahaja dihapuskan (dalam 24 jam yang lepas).\nLog penghapusan dan pemindahan untuk laman ini dinyatakan di bawah sebagai rujukan.",
        "log-fulllog": "Lihat log lengkap",
        "edit-hook-aborted": "Suntingan anda telah dibatalkan oleh penyangkuk. Tiada sebab diberikan.",
        "edit-gone-missing": "Laman tersebut telah dihapuskan dan tidak dapat dikemaskinikan.",
        "content-model-css": "CSS",
        "content-json-empty-object": "Objek kosong",
        "content-json-empty-array": "Tatasusunan kosong",
+       "duplicate-args-warning": "<strong>Amaran:</strong> [[:$1]] sedang memanggil [[:$2]] dengan lebih daripada satu nilai untuk parameter \"$3\". Hanya nilai terakhir yang diberikan akan digunakan.",
        "duplicate-args-category": "Laman yang menggunakan argumen pendua dalam panggilan templat",
        "duplicate-args-category-desc": "Laman ini mengandungi panggilan templat yang menggunakan pendua argumen seperti <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> atau <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>.",
        "expensive-parserfunction-warning": "Amaran: Laman ini mengandungi terlalu banyak panggilan fungsi penghurai yang intensif.\n\nHad panggilan ialah $2, sekarang terdapat $1 panggilan.",
        "search-category": "(kategori $1)",
        "search-file-match": "(sepadan dengan kandungan fail)",
        "search-suggest": "Maksud anda, $1?",
+       "search-rewritten": "Memaparkan hasil untuk $1. Cari $2 pula.",
        "search-interwiki-caption": "Projek-projek lain",
        "search-interwiki-default": "Hasil dari $1:",
        "search-interwiki-more": "(lagi)",
        "showingresultsinrange": "Yang berikut adalah {{PLURAL:$1|<strong>satu</strong> hasil|sebanyak <strong>$1</strong> hasil}} dalam julat #<strong>$2</strong> hingga #<strong>$3</strong>.",
        "search-showingresults": "{{PLURAL:$4|Hasil <strong>$1</strong> / <strong>$3</strong>|Hasil <strong>$1 - $2</strong> / <strong>$3</strong>}}",
        "search-nonefound": "Tiada hasil yang sepadan dengan pertanyaan.",
+       "search-nonefound-thiswiki": "Tiada hasil yang sepadan dengan pertanyaan di tapak ini.",
        "powersearch-legend": "Carian lanjutan",
        "powersearch-ns": "Cari dalam ruang nama:",
        "powersearch-togglelabel": "Pilih:",
        "rows": "Baris:",
        "columns": "Lajur:",
        "searchresultshead": "Cari",
-       "stub-threshold": "Ambang bagi pemformatan <a href=\"#\" class=\"stub\">pautan ke rencana ringkas</a> (bait):",
+       "stub-threshold": "Ambang untuk pemformatan pautan tunas ($1):",
        "stub-threshold-sample-link": "contoh",
        "stub-threshold-disabled": "Dimatikan",
        "recentchangesdays": "Bilangan hari dalam perubahan terkini:",
        "prefs-help-recentchangescount": "Ini termasuklah perubahan terkini, sejarah laman dan log.",
        "prefs-help-watchlist-token2": "Inilah kunci rahsia kepada suapan web senarai pantau anda.\nSesiapa yang mengetahuinya akan boleh membaca senarai pantau anda, jadi jangan kongsinya.\n[[Special:ResetTokens|Klik di sini jika anda perlu mengesetnya semula]].",
        "savedprefs": "Keutamaan anda disimpan.",
+       "savedrights": "Hak pengguna {{GENDER:$1|$1}} telah disimpan.",
        "timezonelegend": "Zon waktu:",
        "localtime": "Waktu tempatan:",
        "timezoneuseserverdefault": "Gunakan tetapan sediaan wiki ($1)",
        "badsig": "Tandatangan mentah tidak sah; sila semak tag HTML.",
        "badsiglength": "Tandatangan anda tidak boleh melebihi $1 aksara.",
        "yourgender": "Jantina anda?",
-       "gender-unknown": "Tidak dinyatakan",
+       "gender-unknown": "Apabila menyebut anda, perisian anakn menggunakan kata-kata yang neutral jantina seboleh-bolehnya",
        "gender-male": "Lelaki",
        "gender-female": "Perempuan",
        "prefs-help-gender": "Pilihan: Digunakan oleh perisian ini untuk merujuk jantina anda dengan betul. Maklumat ini akan didedahkan kepada awam.",
        "rcshowhidemine": "$1 suntingan saya",
        "rcshowhidemine-show": "Paparkan",
        "rcshowhidemine-hide": "Sorokkan",
+       "rcshowhidecategorization": "$1 pengkategorian laman",
        "rcshowhidecategorization-show": "Paparkan",
        "rcshowhidecategorization-hide": "Sorokkan",
        "rclinks": "Paparkan $1 perubahan terakhir sejak $2 hari yang lalu<br />$3",
        "uploaddisabledtext": "Ciri muat naik fail dimatikan.",
        "php-uploaddisabledtext": "Pemuatnaikan fail PHP dilumpuhkan. Sila semak tetapan file_uploads.",
        "uploadscripted": "Fail ini mengandungi kod HTML atau skrip yang boleh disalahtafsirkan oleh pelayar web.",
-       "upload-scripted-pi-callback": "Tidak dapat memuat naik fail yang mengandungi arahan pemprosesan hamparan xml.",
+       "upload-scripted-pi-callback": "Tidak dapat memuat naik fail yang mengandungi arahan pemprosesan hamparan XML.",
        "uploaded-script-svg": "Terdapat elemen terskrip \"$1\" dalam fail SVG yang dimuat naik.",
        "uploaded-hostile-svg": "Terdapat CSS yang tidak selamat dalam elemen stail fail SVG yang dimuat naik.",
        "uploaded-event-handler-on-svg": "Penetapan atribut <i>event-handler</i> <code>$1=\"$2\"</code> tidak dibenarkan dalam fail SVG.",
        "uploaded-setting-event-handler-svg": "Dilarang menetapkan atribut <i>event-handler</i>, terdapat <code>&lt;$1 $2=\"$3\"&gt;</code> dalam fail SVG yang dimuat naik.",
        "uploaded-setting-href-svg": "Dilarang menggunakan teg \"set\" untuk menambahkan atribut \"href\" kepada elemen induk.",
        "uploaded-wrong-setting-svg": "Dilarang menggunakan teg \"set\" untuk menambah sasaran jauh/data/skrip ke sebarang atribut. Terdapat <code>&lt;set to=\"$1\"&gt;</code> dalam fail SVG yang dimuat naik.",
+       "uploaded-setting-handler-svg": "SVG yang menentukan atribut \"handler\" dengan remote/data/script disekat. Terdapat <code>$1=\"$2\"</code> dalam fail SVG yang dimuat naik.",
        "uploaded-image-filter-svg": "Terdapat penapis imej dengan URL: <code>&lt;$1 $2=\"$3\"&gt;</code> dalam fail SVG yang dimuat naik.",
        "uploadscriptednamespace": "Fail SVG ini mengandungi ruang nama terlarang \"$1\"",
        "uploadinvalidxml": "XML dalam fail yang dimuat naik ini tidak dapat dihuraikan.",
        "upload-too-many-redirects": "URL ini mengandungi terlalu banyak lencongan",
        "upload-http-error": "Berlaku ralat HTTP: $1",
        "upload-copy-upload-invalid-domain": "Muat naik salin tidak terdapat dari domain ini.",
+       "upload-dialog-title": "Muat naik fail",
+       "upload-dialog-button-cancel": "Batalkan",
+       "upload-dialog-button-done": "Siap",
+       "upload-dialog-button-save": "Simpan",
+       "upload-dialog-button-upload": "Muat naik",
+       "upload-form-label-select-file": "Pilih fail",
+       "upload-form-label-infoform-title": "Butiran",
+       "upload-form-label-infoform-name": "Nama",
+       "upload-form-label-infoform-description": "Keterangan",
+       "upload-form-label-usage-title": "Penggunaan",
+       "upload-form-label-usage-filename": "Nama fail",
        "foreign-structured-upload-form-label-own-work": "Ini ialah karya saya sendiri",
        "foreign-structured-upload-form-label-infoform-categories": "Kategori",
        "foreign-structured-upload-form-label-infoform-date": "Tarikh",
        "special-characters-title-endash": "sengkang en",
        "special-characters-title-emdash": "sengkang em",
        "special-characters-title-minus": "tanda tolak",
+       "mw-widgets-dateinput-no-date": "Tarik belum dipilih",
+       "mw-widgets-titleinput-description-new-page": "laman belum wujud",
+       "mw-widgets-titleinput-description-redirect": "melencong ke $1",
        "api-error-blacklisted": "Sila pilih tajuk yang berbeza dan deskriptif."
 }
index 266cbb1..58255f3 100644 (file)
        "htmlform-cloner-required": "Servesse al minimo nu valore.",
        "htmlform-title-badnamespace": "[[:$1]] nun è dint'a lu namespace \"{{ns:$2}}\".",
        "htmlform-title-not-creatable": "\"$1\" nun è nu titolo criabbele 'e paggena",
-       "htmlform-title-not-exists": "[[:$1]] nun esiste.",
+       "htmlform-title-not-exists": "$1 nun esiste.",
        "htmlform-user-not-exists": "<strong>$1</strong> nun esiste.",
        "htmlform-user-not-valid": "<strong>$1</strong> nun è nu nomme buono.",
        "sqlite-has-fts": "$1 cu supporto 'e ricerche full-text",
index 4adc0c0..fcfd56d 100644 (file)
        "htmlform-cloner-required": "Minst én verdi kreves.",
        "htmlform-title-badnamespace": "[[:$1]] er ikke i «{{ns:$2}}»-navnerommet",
        "htmlform-title-not-creatable": "«$1» er ikke en opprettbar sidetittel",
-       "htmlform-title-not-exists": "[[:$1]] forefinnes ikke.",
+       "htmlform-title-not-exists": "$1 forefinnes ikke.",
        "htmlform-user-not-exists": "<strong>$1</strong> eksisterer ikke.",
        "htmlform-user-not-valid": "<strong>$1</strong> er ikke et gyldig brukernavn.",
        "sqlite-has-fts": "$1 med støtte for fulltekstsøk",
index df18827..ba141d5 100644 (file)
        "htmlform-cloner-required": "Ten minste één waarde is vereist.",
        "htmlform-title-badnamespace": "[[:$1]] bevindt zich niet in de naamruimte \"{{ns:$2}}\".",
        "htmlform-title-not-creatable": "\"$1\" is geen paginanaam die aangemaakt kan worden",
-       "htmlform-title-not-exists": "[[:$1]] bestaat niet.",
+       "htmlform-title-not-exists": "$1 bestaat niet.",
        "htmlform-user-not-exists": "<strong>$1</strong> bestaat niet.",
        "htmlform-user-not-valid": "<strong>$1</strong> is geen geldige gebruikersnaam.",
        "sqlite-has-fts": "Versie $1 met ondersteuning voor \"full-text\" zoeken",
index f1c204c..f960f6c 100644 (file)
        "title-invalid-talk-namespace": "Żądany tytuł strony dotyczy strony dyskusji, która nie istnieje.",
        "title-invalid-characters": "Żądany tytuł strony zawiera błędne znaki: „$1”.",
        "title-invalid-magic-tilde": "Żądany tytuł strony zawiera błędną, magiczną sekwencję tyld (<nowiki>~~~</nowiki>)",
-       "title-invalid-too-long": "Podany tytuł strony jest zbyt długi. Nie może mieć więcej niż  {{PLURAL:$1|bajt|bajty|bajtów}} w kodowaniu UTF-8.",
+       "title-invalid-too-long": "Podany tytuł strony jest zbyt długi. Nie może mieć więcej niż $1 {{PLURAL:$1|bajt|bajty|bajtów}} w kodowaniu UTF-8.",
        "title-invalid-leading-colon": "Podany tytuł strony zawiera na początku nieprawidłowy dwukropek.",
        "perfcached": "Poniższe dane są kopią z pamięci podręcznej i mogą być nieaktualne. W pamięci podręcznej {{PLURAL:$1|znajduje|znajdują|znajduje}} się maksymalnie {{PLURAL:$1|jeden wynik|$1 wyniki|$1 wyników}}.",
        "perfcachedts": "Poniższe dane są kopią z pamięci podręcznej. Ostatnia aktualizacja odbyła się $1. W pamięci podręcznej {{PLURAL:$4|znajduje|znajdują|znajduje}} się maksymalnie {{PLURAL:$4|jeden wynik|$4 wyniki|$4 wyników}}.",
        "allpages": "Wszystkie strony",
        "nextpage": "Następna strona ($1)",
        "prevpage": "Poprzednia strona ($1)",
-       "allpagesfrom": "Strony o tytułach rozpoczynających się od:",
-       "allpagesto": "Strony o tytułach kończących się na:",
+       "allpagesfrom": "Wyświetl strony, zaczynając od:",
+       "allpagesto": "Wyświetl strony, kończąc na:",
        "allarticles": "Wszystkie artykuły",
        "allinnamespace": "Wszystkie strony (w przestrzeni nazw $1)",
        "allpagessubmit": "Pokaż",
        "htmlform-cloner-required": "Wymagana jest co najmniej jedna wartość.",
        "htmlform-title-badnamespace": "[[:$1]] nie znajduje się w przestrzeni nazw „{{ns:$2}}”.",
        "htmlform-title-not-creatable": "Nie można użyć „$1” do utworzenia tytułu strony",
-       "htmlform-title-not-exists": "[[:$1]] nie istnieje.",
+       "htmlform-title-not-exists": "$1 nie istnieje.",
        "htmlform-user-not-exists": "<strong>$1</strong> nie istnieje.",
        "htmlform-user-not-valid": "<strong>$1</strong> nie jest prawidłową nazwą użytkownika.",
        "sqlite-has-fts": "$1 z obsługą pełnotekstowego wyszukiwania",
index 51ebe45..2b1ba0e 100644 (file)
        "htmlform-cloner-create": "نور ورگډول",
        "htmlform-cloner-delete": "غورځول",
        "htmlform-cloner-required": "لږ تر لږه يو ارزښت ته اړتيا شته.",
-       "htmlform-title-not-exists": "[[:$1]] نشته.",
+       "htmlform-title-not-exists": "$1 نشته.",
        "htmlform-user-not-exists": "<strong>$1</strong> نشته.",
        "logentry-delete-delete": "$1 د $3 مخ {{GENDER:$2|ړنگ کړ}}",
        "revdelete-content-hid": "مېنځپانگه پټېدلې",
index 192b927..6b83c4b 100644 (file)
        "htmlform-cloner-delete": "Remover",
        "htmlform-cloner-required": "Pelo menos um valor é requerido",
        "htmlform-title-not-creatable": "\"$1\" não é um título que possa ser atribuído a uma página",
-       "htmlform-title-not-exists": "[[:$1]] não existe.",
+       "htmlform-title-not-exists": "$1 não existe.",
        "htmlform-user-not-exists": "<strong>$1</strong> não existe.",
        "htmlform-user-not-valid": "<strong>$1</strong> não é um nome de usuário válido.",
        "sqlite-has-fts": "$1 com suporte de pesquisa de texto completo",
index 486ad66..5a908d0 100644 (file)
        "htmlform-cloner-required": "Pelo menos um valor é necessário.",
        "htmlform-title-badnamespace": "[[:$1]] não se encontra no domínio \"{{ns:$2}}\".",
        "htmlform-title-not-creatable": "\"$1\" não é um título que possa ser atribuído a uma página",
-       "htmlform-title-not-exists": "[[:$1]] não existe.",
+       "htmlform-title-not-exists": "$1 não existe.",
        "htmlform-user-not-exists": "<strong>$1</strong> não existe.",
        "htmlform-user-not-valid": "<strong>$1</strong> não é um nome de utilizador válido.",
        "sqlite-has-fts": "$1 com suporte de pesquisa de texto completo",
index 6703c51..14da08c 100644 (file)
        "htmlform-cloner-required": "Este necesară cel puțin o valoare.",
        "htmlform-title-badnamespace": "[[:$1]] nu se află în spațiul de nume „{{ns:$2}}”.",
        "htmlform-title-not-creatable": "„$1” este un titlu de pagină inutilizabil",
-       "htmlform-title-not-exists": "[[:$1]] nu există.",
+       "htmlform-title-not-exists": "$1 nu există.",
        "htmlform-user-not-exists": "<strong>$1</strong> nu există.",
        "htmlform-user-not-valid": "<strong>$1</strong> nu este un nume de utilizator valid.",
        "sqlite-has-fts": "$1 cu suport de căutare în tot textul",
index 38f16df..343052f 100644 (file)
        "htmlform-cloner-delete": "Live",
        "htmlform-cloner-required": "Almene 'nu valore l'a mettere.",
        "htmlform-title-badnamespace": "[[:$1]] non ge stè jndr'à 'u namespace \"{{ns:$2}}\".",
-       "htmlform-title-not-exists": "[[:$1]] non g'esiste.",
+       "htmlform-title-not-exists": "$1 non g'esiste.",
        "htmlform-user-not-exists": "<strong>$1</strong> non g'esiste.",
        "htmlform-user-not-valid": "<strong>$1</strong> non g'è 'nu nome utende valide.",
        "sqlite-has-fts": "$1 cu 'u supporte d'a ricerche full-text",
index 9108a2c..101ac64 100644 (file)
        "htmlform-cloner-required": "Требуется по крайней мере одно значение.",
        "htmlform-title-badnamespace": "[[:$1]] находится не в пространстве имён «{{ns:$2}}».",
        "htmlform-title-not-creatable": "«$1» — заголовок страницы, которая не может быть создана",
-       "htmlform-title-not-exists": "[[:$1]] не существует.",
+       "htmlform-title-not-exists": "$1 не существует.",
        "htmlform-user-not-exists": "<strong>$1</strong> не существует.",
        "htmlform-user-not-valid": "<strong>$1</strong> — недопустимое имя учётной записи.",
        "sqlite-has-fts": "$1 с поддержкой полнотекстового поиска",
index aefe408..347e5cb 100644 (file)
        "svg-long-error": "Алҕастаах SVG-билэ: $1",
        "show-big-image": "Билэ бэйэтэ",
        "show-big-image-preview": "Бигэргэтиэх иннинэ көрүү улахана: $1.",
+       "show-big-image-preview-differ": "Бу $3-превью $2-билэҕэ анаммыт кээмэйэ: $1.",
        "show-big-image-other": "Атын {{PLURAL:$2|түмүк|түмүктэр}}: $1.",
        "show-big-image-size": "$1 × $2 пииксэл",
        "file-info-gif-looped": "хатаммыт (бобуллубут)",
        "tags-create-warnings-below": "Тиэги салгыы оҥоруоххун баҕараҕын дуо?",
        "tags-delete-title": "Тиэги сот",
        "tags-delete-explanation-initial": "«$1» тиэги билии олоҕуттан сотон эрэҕин.",
+       "tags-delete-explanation-in-use": "Кини билигин туттуллар {{PLURAL:$2|$2 барылыттан биитэр сурунаалыттан|бары $2 барылларыттан уонна/биитэр сурунаалга суруллубуттартан}} сотуллуо.",
+       "tags-delete-explanation-warning": "Бу дьайыыны <strong>төннөрөр кыаҕыҥ суох</strong> буолуо, оннооҕор дьаһабыл <strong>төннөрөр кыаҕа суох</strong> буолуо. Сөпкө сотобун диэн эрэллээх буолуохтааххын.",
+       "tags-delete-explanation-active": "<strong>«$1» тиэк билигин да туттуллар.</strong> Ону хааччахтыыр туһуттан тиэк туттуллар сиригэр тиийэн онно бэйэтигэр араарыахтааххын.",
        "tags-delete-reason": "Төрүөтэ:",
        "tags-delete-submit": "Бу тиэги букатыннаахтык сот",
+       "tags-delete-not-allowed": "Кэҥэтии (расширение) бэлиэтээбит тикэтэрин сотор кыах суох, арай кэҥэтии бэйэтэ көҥүллүүр эрэ буоллаҕына ол сатаныа.",
        "tags-delete-not-found": "Маннык $1 бэлиэ суох эбит.",
        "tags-delete-too-many-uses": "«$1» тиэк $2 торумтан ордукка туттуллар, ол аата сотуллар кыаҕа суох.",
        "tags-delete-warnings-after-delete": "«$1» тиэк сотулунна, ол эрээри {{PLURAL:$2|маннык сэрэтии|маннык сэрэтиилэр}} көһүннүлэр:",
        "tags-apply-no-permission": "Бэйэҥ уларытыыгар уларытыы тиэгин туруорар кыаҕыҥ суох эбит.",
        "tags-apply-not-allowed-one": "«$1» тиэги илииннэн туруорар табыллыбат эбит.",
        "tags-apply-not-allowed-multi": "Маннык {{PLURAL:$2|тиэк илиинэн угуллубат|тиэктэр илиинэн угуллубаттар}}: $1",
+       "tags-update-no-permission": "Сурунаал тус-туспа торумнарын уонна суруктарын тиэгин эбэр уонна уларытар кыаҕыҥ суох эбит.",
        "tags-update-add-not-allowed-one": "«$1» тиэги илииннэн туруорар табыллыбат эбит.",
        "tags-update-add-not-allowed-multi": "Маннык {{PLURAL:$2|тиэк илиинэн угуллубат|тиэктэр илиинэн угуллубаттар}}: $1",
        "tags-update-remove-not-allowed-one": "«$1» тиэги сотор табыллыбат эбит.",
        "htmlform-cloner-required": "Саатар биирин толоруохтаах эбиккин.",
        "htmlform-title-badnamespace": "[[:$1]] бу аат далыгар киирбэт эбит «{{ns:$2}}».",
        "htmlform-title-not-creatable": "«$1» оҥоһуллар сирэй аата буолбатах",
-       "htmlform-title-not-exists": "[[:$1]] суох.",
+       "htmlform-title-not-exists": "$1 суох.",
        "htmlform-user-not-exists": "<strong>$1</strong> суох.",
        "htmlform-user-not-valid": "<strong>$1</strong> — маннык аат сатаммат.",
        "sqlite-has-fts": "$1 толору тиэкистээх көрдөөһүнү өйүүр",
        "api-error-stashfailed": "Ис алҕас: сиэрбэр быстах кэмҥэ оҥоһуллубут билэни кыайан бигэргэппэтэх.",
        "api-error-publishfailed": "Ис алҕас: сиэрбэр быстах билэни кыайан бигэргэппэтэх.",
        "api-error-stasherror": "Билэни угарга алҕас таҕыста.",
+       "api-error-stashedfilenotfound": "Хачайданыахтаах билэ быстах уурар сиргэ көстүбэтэ.",
+       "api-error-stashpathinvalid": "Билэ сытыахтаах быстах уурар сирин суола алҕастаах.",
+       "api-error-stashfilestorage": "Билэни быстах угар сиргэ угарга алҕас таҕыста.",
+       "api-error-stashzerolength": "Сиэрбэр билэни быстах угар сиргэ харайар кыаҕа суох, тоҕо диэтэххэ уһуна нуул.",
+       "api-error-stashnotloggedin": "Билэни быстах сиргэ харайарга бастаан ааккынан киириэхтээххин.",
+       "api-error-stashwrongowner": "Арыйа сатаабыт билэҥ эйиэнэ буолбатах эбит.",
+       "api-error-stashnosuchfilekey": "Быстах уурар сиргэ сытар билэҕэ киирэ сатаабыт күлүүһүҥ суох эбит.",
        "api-error-timeout": "Сиэрбэр кэтэһэр кэмҥэ хоруйдаабата.",
        "api-error-unclassified": "Биллибэт алҕас таҕыста",
        "api-error-unknown-code": "Биллибэт алҕас: «$1»",
        "limitreport-title": "Анализатор дааннайдара:",
        "limitreport-cputime": "Процессору туһаныы",
        "limitreport-cputime-value": "$1 сөкүүндэ",
+       "limitreport-walltime": "Тута көрдөрөр эрэсиим",
        "limitreport-walltime-value": "$1 {{PLURAL:$1|сөкүүндэ|сөкүүндэ}}",
        "limitreport-ppvisitednodes": "Препроцессор көрбүт сирдэрин ахсаана",
        "limitreport-ppgeneratednodes": "Препроцессор оҥорбут түмүктэрин (node) ахсаана",
        "expand_templates_generate_xml": "XML-ы мас курдук көрдөр",
        "expand_templates_generate_rawhtml": "HTML-ы көрдөр",
        "expand_templates_preview": "Холоон көрүү",
+       "expand_templates_preview_fail_html": "<em>raw HTML холбоно сылдьар {{SITENAME}} ситим-сир сиэссийэтин сүтэрэн кэбиспит буолан, эрдэ көрүү сатаммат, бу JavaScript-атаакаттан көмүскэнэр ньыма.</em>\n\n<strong>Эрдэ көрөрүҥ буортуну аҕалбат буоллаҕына хатылаан көр.</strong>\nСин биир сатамматаҕына [[Special:UserLogout|үлэҕин түмүктээ]] уонна хат киирэн көр.",
+       "pagelanguage": "Сирэй тылын талыы",
        "pagelang-name": "Сирэй",
        "pagelang-language": "Омугун тыла",
        "pagelang-use-default": "Сүрүн тылы тутун",
        "right-pagelang": "Сирэй тылын уларыт",
        "action-pagelang": "сирэй тылын уларытар буол",
        "log-name-pagelang": "Тылы уларытыы сурунаала",
+       "log-description-pagelang": "Сирэй тылын талыы сурунаала.",
+       "logentry-pagelang-pagelang": "$1 кыттааччы $3 сирэй тылын мантан $4 манныкка $5 {{GENDER:$2|уларыппыт}}.",
        "default-skin-not-found-row-enabled": "* <code>$1</code> / $2 (холбоммут)",
        "default-skin-not-found-row-disabled": "* <code>$1</code> / $2 ('''арахсыбыт''')",
        "mediastatistics": "Миэдьийэ ыстатыыстыката",
+       "mediastatistics-summary": "Киирбит билэ көрүҥүн ыстатыыстыката. Билэ тиһэх эрэ торумун көрдөрөр. Урукку уонна сотуллубут билэлэр ааҕыллыбаттар.",
        "mediastatistics-nbytes": "$1 баайт ($2; $3%)",
        "mediastatistics-table-mimetype": "MIME көрүҥэ",
        "mediastatistics-table-extensions": "Туһаныллыан сөптөөх кэҥэтиилэр",
        "special-characters-title-minus": "минус бэлиэтэ",
        "mw-widgets-dateinput-no-date": "Күнэ-дьыла ыйыллыбатах",
        "mw-widgets-titleinput-description-new-page": "сирэй суох эбит",
-       "mw-widgets-titleinput-description-redirect": "манна $1 утаарыы"
+       "mw-widgets-titleinput-description-redirect": "манна $1 утаарыы",
+       "api-error-blacklisted": "Бука диэн өйдөнөр аатта тал дуу."
 }
index cc47cc0..f31c4c6 100644 (file)
        "createaccountreason": "Mutivu:",
        "createacct-reason": "Mutivu",
        "createacct-reason-ph": "Pirchì stai criannu n'àutru cuntu",
-       "createacct-captcha": "Cuntrollu di sicurizza",
-       "createacct-imgcaptcha-ph": "Nzirìsci lu testu ca vidi ccassupra",
        "createacct-submit": "Crea lu tò cuntu",
        "createacct-another-submit": "Crea un cuntu",
        "createacct-benefit-heading": "{{SITENAME}} è fatta di pirsuni comu a tìa.",
        "passwordreset-emailsent-capture": "Nu missaggiu di posta elittrònica d'azziramentu dâ password fu mannatu, cû cuntinutu chi si pò taliari ccassutta.",
        "passwordreset-emailerror-capture": "Nu missaggiu di posta elittrònica d'azziramentu dâ password fu cumpilatu, cû cuntinutu chi si pò taliari ccassutta, pirò la sò spidizzioni a l'utenti {{GENDER:$2|user}} nun arriniscìu: $1",
        "changeemail": "Canciu dû nnirizzu di posta elittrònica",
-       "changeemail-text": "Jinchi stu mòdulu pi canciari lu tò nnirizzu di posta elittrònica. Hai a nziriri la tò password pi cunfirmari stu canciamentu.",
+       "changeemail-header": "Jinchi stu mòdulu pi canciari lu tò nnirizzu di posta elittrònica. Hai a nziriri la tò password pi cunfirmari stu canciamentu.",
        "changeemail-no-info": "Hai a aviri trasutu p'aviri accessu direttu a sta pàggina.",
        "changeemail-oldemail": "Nnirizzu di posta elittrònica attuali:",
        "changeemail-newemail": "Nnirizzu di posta elittrònica novu:",
        "upload-dialog-button-done": "Finutu",
        "upload-dialog-button-save": "Sarva",
        "upload-dialog-button-upload": "Càrrica",
-       "upload-process-error": "Ammattìu n'erruri",
-       "upload-process-warning": "Ammattìu n'avvisu",
        "upload-form-label-select-file": "Scegghi lu file",
        "upload-form-label-infoform-title": "Dittagghî",
        "upload-form-label-infoform-name": "Nomu",
        "htmlform-cloner-required": "Ci voli armenu nu valuri.",
        "htmlform-title-badnamespace": "[[:$1]] nun sta ntô namespace «{{ns:$2}}».",
        "htmlform-title-not-creatable": "«$1» nun è lu tìtulu di na pàggina ca si pò criari",
-       "htmlform-title-not-exists": "[[:$1]] nun esisti.",
+       "htmlform-title-not-exists": "$1 nun esisti.",
        "htmlform-user-not-exists": "<strong>$1</strong> nun esisti.",
        "htmlform-user-not-valid": "<strong>$1</strong> nun è vàlidu comu nomu utenti.",
        "sqlite-has-fts": "$1 cu capacità d'arricerca a tuttu testu",
index 51d00dc..5b4393f 100644 (file)
        "htmlform-cloner-required": "Zahtevana je vsaj ena vrednost.",
        "htmlform-title-badnamespace": "[[:$1]] ni v imenskem prostoru »{{ns:$2}}«.",
        "htmlform-title-not-creatable": "»$1« je naslov strani, ki ga ni mogoče ustvariti",
-       "htmlform-title-not-exists": "[[:$1]] ne obstaja.",
+       "htmlform-title-not-exists": "$1 ne obstaja.",
        "htmlform-user-not-exists": "<strong>$1</strong> ne obstaja.",
        "htmlform-user-not-valid": "<strong>$1</strong> ni veljavno uporabniško ime.",
        "sqlite-has-fts": "$1 s podporo iskanju polnih besedil",
index 9243be5..62cf97e 100644 (file)
        "tog-minordefault": "Означавај све измене као мање",
        "tog-previewontop": "Прикажи преглед пре оквира за уређивање",
        "tog-previewonfirst": "Прикажи преглед на првој измени",
-       "tog-enotifwatchlistpages": "Ð\9fоÑ\88аÑ\99и Ð¼Ð¸ Ðµ-поÑ\80Ñ\83кÑ\83 када се промени страница или датотека коју надгледам",
-       "tog-enotifusertalkpages": "Ð\9fоÑ\88аÑ\99и Ð¼Ð¸ Ðµ-поÑ\80Ñ\83кÑ\83 када се промени моја страница за разговор",
-       "tog-enotifminoredits": "Ð\9fоÑ\88аÑ\99и Ð¼Ð¸ Ðµ-поÑ\80Ñ\83кÑ\83 и за мање измене у страницама и датотекама",
-       "tog-enotifrevealaddr": "Ð\9fÑ\80икажи Ð¼Ð¾Ñ\98Ñ\83 Ðµ-адресу у порукама обавештења",
+       "tog-enotifwatchlistpages": "Ð\9fоÑ\88аÑ\99и Ð¼Ð¸ Ð¸Ð¼ÐµÑ\98л када се промени страница или датотека коју надгледам",
+       "tog-enotifusertalkpages": "Ð\9fоÑ\88аÑ\99и Ð¼Ð¸ Ð¸Ð¼ÐµÑ\98л када се промени моја страница за разговор",
+       "tog-enotifminoredits": "Ð\9fоÑ\88аÑ\99и Ð¼Ð¸ Ð¸Ð¼ÐµÑ\98л и за мање измене у страницама и датотекама",
+       "tog-enotifrevealaddr": "Ð\9fÑ\80икажи Ð¼Ð¾Ñ\98Ñ\83 Ð¸Ð¼ÐµÑ\98л адресу у порукама обавештења",
        "tog-shownumberswatching": "Прикажи број корисника који надгледају",
        "tog-oldsig": "Текући потпис:",
        "tog-fancysig": "Сматрај потпис као викитекст (без самоповезивања)",
-       "tog-uselivepreview": "Ð\9aоÑ\80иÑ\81Ñ\82и Ñ\82Ñ\80енÑ\83Ñ\82ан преглед",
+       "tog-uselivepreview": "Ð\9aоÑ\80иÑ\81Ñ\82и Ñ\82Ñ\80енÑ\83Ñ\82ни преглед",
        "tog-forceeditsummary": "Упозори ме када не унесем опис измене",
        "tog-watchlisthideown": "Сакриј моје измене са списка надгледања",
        "tog-watchlisthidebots": "Сакриј измене ботова са списка надгледања",
@@ -67,7 +67,7 @@
        "tog-watchlisthideanons": "Сакриј измене анонимних корисника са списка надгледања",
        "tog-watchlisthidepatrolled": "Сакриј патролиране измене са списка надгледања",
        "tog-watchlisthidecategorization": "Сакриј категоризацију страница",
-       "tog-ccmeonemails": "Ð\9fоÑ\88аÑ\99и Ð¼Ð¸ ÐºÐ¾Ð¿Ð¸Ñ\98е Ðµ-поÑ\80Ñ\83ка које пошаљем другим корисницима",
+       "tog-ccmeonemails": "Ð\9fоÑ\88аÑ\99и Ð¼Ð¸ ÐºÐ¾Ð¿Ð¸Ñ\98е Ð¸Ð¼ÐµÑ\98лова које пошаљем другим корисницима",
        "tog-diffonly": "Не приказуј садржај странице испод разлика",
        "tog-showhiddencats": "Прикажи скривене категорије",
        "tog-norollbackdiff": "Изостави разлику након извршеног враћања",
        "viewhelppage": "Погледај страницу помоћи",
        "categorypage": "Погледај страницу категорија",
        "viewtalkpage": "Погледај разговор",
-       "otherlanguages": "Ð\94Ñ\80Ñ\83ги Ñ\98езиÑ\86и",
+       "otherlanguages": "Ð\9dа Ð¾Ñ\81Ñ\82алим Ñ\98езиÑ\86има",
        "redirectedfrom": "(преусмерено са $1)",
        "redirectpagesub": "Преусмерење",
        "redirectto": "Преусмерава на:",
        "userlogin-helplink2": "Помоћ при пријављивању",
        "userlogin-loggedin": "Већ сте пријављени као {{GENDER:$1|$1}}.\nКористите доњи образац да бисте се пријавили као други корисник.",
        "userlogin-createanother": "Отвори још један налог",
-       "createacct-emailrequired": "Ð\90дÑ\80еÑ\81а Ðµ-поÑ\88Ñ\82е",
-       "createacct-emailoptional": "Ð\90дÑ\80еÑ\81а Ðµ-поÑ\88Ñ\82е (опционо)",
-       "createacct-email-ph": "УнеÑ\81иÑ\82е Ð²Ð°Ñ\88Ñ\83 Ð°Ð´Ñ\80еÑ\81Ñ\83 Ðµ-поÑ\88Ñ\82е",
-       "createacct-another-email-ph": "УнеÑ\81иÑ\82е Ð°Ð´Ñ\80еÑ\81Ñ\83 Ðµ-поÑ\88Ñ\82е",
-       "createaccountmail": "Ð\9aоÑ\80иÑ\81Ñ\82иÑ\82е Ð¿Ñ\80ивÑ\80еменÑ\83, Ñ\81лÑ\83Ñ\87аÑ\98но Ñ\81Ñ\82воÑ\80енÑ\83 Ð»Ð¾Ð·Ð¸Ð½ÐºÑ\83 Ð¸ Ð¿Ð¾Ñ\88аÑ\99иÑ\82е Ð½Ð° Ð½Ð°Ð²ÐµÐ´ÐµÐ½Ñ\83 Ð°Ð´Ñ\80еÑ\81Ñ\83 ÐµÐ»ÐµÐºÑ\82Ñ\80онÑ\81ке Ð¿Ð¾Ñ\88Ñ\82е",
+       "createacct-emailrequired": "Ð\98меÑ\98л Ð°Ð´Ñ\80еÑ\81а",
+       "createacct-emailoptional": "Ð\98меÑ\98л Ð°Ð´Ñ\80еÑ\81а (опционо)",
+       "createacct-email-ph": "УнеÑ\81иÑ\82е Ð\92аÑ\88Ñ\83 Ð¸Ð¼ÐµÑ\98л Ð°Ð´Ñ\80еÑ\81Ñ\83",
+       "createacct-another-email-ph": "УнеÑ\81иÑ\82е Ð¸Ð¼ÐµÑ\98л Ð°Ð´Ñ\80еÑ\81Ñ\83",
+       "createaccountmail": "Ð\9aоÑ\80иÑ\81Ñ\82иÑ\82е Ð¿Ñ\80ивÑ\80еменÑ\83, Ñ\81лÑ\83Ñ\87аÑ\98но Ñ\81Ñ\82воÑ\80енÑ\83 Ð»Ð¾Ð·Ð¸Ð½ÐºÑ\83 Ð¸ Ð¿Ð¾Ñ\88аÑ\99иÑ\82е Ð½Ð° Ð½Ð°Ð²ÐµÐ´ÐµÐ½Ñ\83 Ð¸Ð¼ÐµÑ\98л Ð°Ð´Ñ\80еÑ\81Ñ\83",
        "createacct-realname": "Право име (опционо)",
        "createaccountreason": "Разлог:",
        "createacct-reason": "Разлог",
        "mailmypassword": "Ресетуј лозинку",
        "passwordremindertitle": "{{SITENAME}} — привремена лозинка",
        "passwordremindertext": "Неко, вероватно ви, са ИП адресе $1 је затражио нову лозинку на викију {{SITENAME}} ($4).\nСтворена је привремена лозинка за {{GENDER:$2|корисника|корисницу|корисника}} $2 која гласи $3.\nУколико је ово ваш захтев, сада се пријавите и поставите нову лозинку.\nПривремена лозинка истиче за {{PLURAL:$5|један дан|$5 дана|$5 дана}}.\n\nАко је неко други затражио промену лозинке, или сте се сетили ваше лозинке и не желите да је мењате, занемарите ову поруку.",
-       "noemail": "Ð\9dе Ð¿Ð¾Ñ\81Ñ\82оÑ\98и Ðµ-адреса за {{GENDER:$1|корисника|корисницу}} $1.",
-       "noemailcreate": "Ð\9cоÑ\80аÑ\82е Ð½Ð°Ð²ÐµÑ\81Ñ\82и Ð¸Ñ\81пÑ\80авнÑ\83 Ðµ-адÑ\80еÑ\81Ñ\83",
-       "passwordsent": "Ð\9dова Ð»Ð¾Ð·Ð¸Ð½ÐºÐ° Ñ\98е Ð¿Ð¾Ñ\81лаÑ\82а Ð½Ð° Ðµ-адресу {{GENDER:$1|корисника|кориснице|корисника}} $1.\nПријавите се пошто је примите.",
+       "noemail": "Ð\9dе Ð¿Ð¾Ñ\81Ñ\82оÑ\98и Ð¸Ð¼ÐµÑ\98л адреса за {{GENDER:$1|корисника|корисницу}} $1.",
+       "noemailcreate": "Ð\9cоÑ\80аÑ\82е Ð½Ð°Ð²ÐµÑ\81Ñ\82и Ð¸Ñ\81пÑ\80авнÑ\83 Ð¸Ð¼ÐµÑ\98л Ð°Ð´Ñ\80еÑ\81Ñ\83.",
+       "passwordsent": "Ð\9dова Ð»Ð¾Ð·Ð¸Ð½ÐºÐ° Ñ\98е Ð¿Ð¾Ñ\81лаÑ\82а Ð½Ð° Ð¸Ð¼ÐµÑ\98л адресу {{GENDER:$1|корисника|кориснице|корисника}} $1.\nПријавите се пошто је примите.",
        "blocked-mailpassword": "Вашој ИП адреси је онемогућено уређивање страница, као и могућност захтевања нове лозинке.",
-       "eauthentsent": "Ð\9dа Ð½Ð°Ð²ÐµÐ´ÐµÐ½Ñ\83 Ðµ-адÑ\80еÑ\81Ñ\83 Ñ\98е Ð¿Ð¾Ñ\81лаÑ\82 Ð¿Ð¾Ñ\82вÑ\80дни ÐºÐ¾Ð´.\nÐ\9fÑ\80е Ð½ÐµÐ³Ð¾ Ñ\88Ñ\82о Ð¿Ð¾Ñ\88аÑ\99емо Ð´Ð°Ñ\99Ñ\9aе Ð¿Ð¾Ñ\80Ñ\83ке, Ð¿Ñ\80аÑ\82иÑ\82е Ñ\83пÑ\83Ñ\82Ñ\81Ñ\82ва Ñ\81 Ðµ-поÑ\88Ñ\82е да бисте потврдили да сте ви отворили налог.",
+       "eauthentsent": "Ð\9dа Ð½Ð°Ð²ÐµÐ´ÐµÐ½Ñ\83 Ð¸Ð¼ÐµÑ\98л Ð°Ð´Ñ\80еÑ\81Ñ\83 Ñ\98е Ð¿Ð¾Ñ\81лаÑ\82 Ð¿Ð¾Ñ\82вÑ\80дни ÐºÐ¾Ð´.\nÐ\9fÑ\80е Ð½ÐµÐ³Ð¾ Ñ\88Ñ\82о Ð¿Ð¾Ñ\88аÑ\99емо Ð´Ð°Ñ\99Ñ\9aе Ð¿Ð¾Ñ\80Ñ\83ке, Ð¿Ñ\80аÑ\82иÑ\82е Ñ\83пÑ\83Ñ\82Ñ\81Ñ\82ва Ñ\81 Ð¸Ð¼ÐµÑ\98ла да бисте потврдили да сте ви отворили налог.",
        "throttled-mailpassword": "Порука за промену лозинке је послата у {{PLURAL:$1|1=последњих сат времена|последња $1 сата|последњих $1 сати}}.\nДа бисмо спречили злоупотребу, подсетник шаљемо само једном у року од {{PLURAL:$1|1=сат времена|$1 сата|$1 сати}}.",
        "mailerror": "Грешка при слању поруке: $1",
        "acct_creation_throttle_hit": "Посетиоци овог викија који користе вашу ИП адресу су већ отворили {{PLURAL:$1|1=један налог|$1 налога|$1 налога}} претходни дан, што је највећи дозвољени број у том временском периоду.\nЗбог тога посетиоци с ове ИП адресе тренутно не могу отворити више налога.",
-       "emailauthenticated": "Ð\92аÑ\88а Ðµ-адреса је потврђена $2 у $3.",
-       "emailnotauthenticated": "Ð\92аÑ\88а Ðµ-адреса још није потврђена.\nПоруке неће бити послате ни у једном од следећих случајева.",
-       "noemailprefs": "УнеÑ\81иÑ\82е Ðµ-адресу како би ове могућности радиле.",
-       "emailconfirmlink": "Ð\9fоÑ\82вÑ\80диÑ\82е Ñ\81воÑ\98Ñ\83 Ðµ-адресу",
-       "invalidemailaddress": "Ð\95-адреса не може бити прихваћена јер је неисправног облика.\nУнесите исправну адресу или оставите празно поље.",
-       "cannotchangeemail": "Ð\9dа Ð¾Ð²Ð¾Ð¼ Ð²Ð¸ÐºÐ¸Ñ\98Ñ\83 Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ\82е Ð¿Ñ\80омениÑ\82и Ðµ-адресу налога.",
-       "emaildisabled": "Ð\9eваÑ\98 Ñ\81аÑ\98Ñ\82 Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ñ\88аÑ\99е Ðµ-поÑ\80Ñ\83ке.",
+       "emailauthenticated": "Ð\92аÑ\88а Ð¸Ð¼ÐµÑ\98л адреса је потврђена $2 у $3.",
+       "emailnotauthenticated": "Ð\92аÑ\88а Ð¸Ð¼ÐµÑ\98л адреса још није потврђена.\nПоруке неће бити послате ни у једном од следећих случајева.",
+       "noemailprefs": "УнеÑ\81иÑ\82е Ð¸Ð¼ÐµÑ\98л адресу како би ове могућности радиле.",
+       "emailconfirmlink": "Ð\9fоÑ\82вÑ\80диÑ\82е Ñ\81воÑ\98Ñ\83 Ð¸Ð¼ÐµÑ\98л адресу",
+       "invalidemailaddress": "Ð\98меÑ\98л адреса не може бити прихваћена јер је неисправног облика.\nУнесите исправну адресу или оставите празно поље.",
+       "cannotchangeemail": "Ð\9dа Ð¾Ð²Ð¾Ð¼ Ð²Ð¸ÐºÐ¸Ñ\98Ñ\83 Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ\82е Ð¿Ñ\80омениÑ\82и Ð¸Ð¼ÐµÑ\98л адресу налога.",
+       "emaildisabled": "Ð\9eваÑ\98 Ñ\81аÑ\98Ñ\82 Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ñ\88аÑ\99е Ð¸Ð¼ÐµÑ\98лове.",
        "accountcreated": "Налог је отворен",
        "accountcreatedtext": "Кориснички налог [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|talk]]) је отворен.",
        "createaccount-title": "Отварање корисничког налога за {{SITENAME}}",
-       "createaccount-text": "Ð\9dеко Ñ\98е Ð¾Ñ\82воÑ\80ио Ð½Ð°Ð»Ð¾Ð³ Ñ\81 Ð²Ð°Ñ\88ом Ðµ-адресом на {{SITENAME}} ($4) под именом $2 и лозинком $3.\nПријавите се и промените своју лозинку.\n\nАко је ово грешка, занемарите ову поруку.",
+       "createaccount-text": "Ð\9dеко Ñ\98е Ð¾Ñ\82воÑ\80ио Ð½Ð°Ð»Ð¾Ð³ Ñ\81 Ð²Ð°Ñ\88ом Ð¸Ð¼ÐµÑ\98л адресом на {{SITENAME}} ($4) под именом $2 и лозинком $3.\nПријавите се и промените своју лозинку.\n\nАко је ово грешка, занемарите ову поруку.",
        "login-throttled": "Превише пута сте покушали да се пријавите.\nМолимо вас да сачекате $1 пре него што покушате поново.",
        "login-abort-generic": "Неуспешна пријава – прекинуто",
        "login-migrated-generic": "Ваш налог је мигриран и ваше корисничко више не постоји на овом викију.",
        "pt-createaccount": "Отвори налог",
        "pt-userlogout": "Одјави ме",
        "php-mail-error-unknown": "Непозната грешка у функцији PHP mail().",
-       "user-mail-no-addy": "Ð\9fокÑ\83Ñ\88али Ñ\81Ñ\82е Ð´Ð° Ð¿Ð¾Ñ\88аÑ\99еÑ\82е Ð¿Ð¾Ñ\80Ñ\83кÑ\83 Ð±ÐµÐ· Ðµ-адресе.",
-       "user-mail-no-body": "Ð\9fокÑ\83Ñ\88ано Ñ\81лаÑ\9aе ÐµÐ»ÐµÐºÑ\82Ñ\80онÑ\81ке Ð¿Ð¾Ñ\80Ñ\83ке с празним или неразумно кратким садржајем.",
+       "user-mail-no-addy": "Ð\9fокÑ\83Ñ\88али Ñ\81Ñ\82е Ð´Ð° Ð¿Ð¾Ñ\88аÑ\99еÑ\82е Ð¿Ð¾Ñ\80Ñ\83кÑ\83 Ð±ÐµÐ· Ð¸Ð¼ÐµÑ\98л адресе.",
+       "user-mail-no-body": "Ð\9fокÑ\83Ñ\88ано Ñ\81лаÑ\9aе Ð¸Ð¼ÐµÑ\98ла с празним или неразумно кратким садржајем.",
        "changepassword": "Промени лозинку",
        "resetpass_announce": "Да бисте завршили пријаву, подесите нову лозинку овде.",
        "resetpass_text": "<!-- Овде унесите текст -->",
        "resetpass-expired-soft": "Ваша лозинка је истекла и морате поставити нову. Поставите нову лозинку или кликните „{{int:resetpass-submit-cancel}}“ да је поставите касније.",
        "resetpass-validity-soft": "Ваша лозинка није ваљана: $1\n\nМолимо изаберите нову или кликните „{{int:resetpass-submit-cancel}}“ да ресетујете касније.",
        "passwordreset": "Обнављање лозинке",
-       "passwordreset-text-one": "Ð\9fопÑ\83ниÑ\82е Ð¾Ð²Ð°Ñ\98 Ð¾Ð±Ñ\80азаÑ\86 Ð´Ð° Ð±Ð¸Ñ\81Ñ\82е Ð´Ð¾Ð±Ð¸Ð»Ð¸ Ð¿Ñ\80ивÑ\80еменÑ\83 Ð»Ð¾Ð·Ð¸Ð½ÐºÑ\83 Ð½Ð° Ðµ-поÑ\88Ñ\82Ñ\83.",
-       "passwordreset-text-many": "{{PLURAL:$1|Ð\98Ñ\81пÑ\83ниÑ\82е Ñ\98едно Ð¾Ð´ Ð¿Ð¾Ñ\99а ÐºÐ°ÐºÐ¾ Ð±Ð¸Ñ\81Ñ\82е Ð´Ð¾Ð±Ð¸Ð»Ð¸ Ð¿Ñ\80ивÑ\80еменÑ\83 Ð»Ð¾Ð·Ð¸Ð½ÐºÑ\83 Ð½Ð° Ðµ-поÑ\88Ñ\82Ñ\83.}}",
+       "passwordreset-text-one": "Ð\9fопÑ\83ниÑ\82е Ð¾Ð²Ð°Ñ\98 Ð¾Ð±Ñ\80азаÑ\86 Ð´Ð° Ð±Ð¸Ñ\81Ñ\82е Ð´Ð¾Ð±Ð¸Ð»Ð¸ Ð¿Ñ\80ивÑ\80еменÑ\83 Ð»Ð¾Ð·Ð¸Ð½ÐºÑ\83 Ð½Ð° Ð¸Ð¼ÐµÑ\98л.",
+       "passwordreset-text-many": "{{PLURAL:$1|Ð\98Ñ\81пÑ\83ниÑ\82е Ñ\98едно Ð¾Ð´ Ð¿Ð¾Ñ\99а ÐºÐ°ÐºÐ¾ Ð±Ð¸Ñ\81Ñ\82е Ð´Ð¾Ð±Ð¸Ð»Ð¸ Ð¿Ñ\80ивÑ\80еменÑ\83 Ð»Ð¾Ð·Ð¸Ð½ÐºÑ\83 Ð½Ð° Ð¸Ð¼ÐµÑ\98л.}}",
        "passwordreset-disabled": "Обнављање лозинке је онемогућено на овом викију.",
-       "passwordreset-emaildisabled": "Ð\95-поÑ\88Ñ\82а Ñ\98е Ð¾Ð½ÐµÐ¼Ð¾Ð³Ñ\83Ñ\9bена на овом викију.",
+       "passwordreset-emaildisabled": "Ð\98меÑ\98л Ñ\98е Ð¾Ð½ÐµÐ¼Ð¾Ð³Ñ\83Ñ\9bен на овом викију.",
        "passwordreset-username": "Корисничко име:",
        "passwordreset-domain": "Домен:",
        "passwordreset-capture": "Погледати крајњу поруку?",
-       "passwordreset-capture-help": "Ð\90ко Ð¾Ð·Ð½Ð°Ñ\87иÑ\82е Ð¾Ð²Ñ\83 ÐºÑ\83Ñ\9bиÑ\86Ñ\83, Ðµ-поÑ\80Ñ\83ка Ñ\81 Ð¿Ñ\80ивÑ\80еменом Ð»Ð¾Ð·Ð¸Ð½ÐºÐ¾Ð¼ Ñ\9bе Ð±Ð¸Ñ\82и Ð¿Ñ\80иказана Ð¸ Ð¿Ð¾Ñ\81лаÑ\82а кориснику.",
-       "passwordreset-email": "Ð\95-адреса:",
+       "passwordreset-capture-help": "Ð\90ко Ð¾Ð·Ð½Ð°Ñ\87иÑ\82е Ð¾Ð²Ñ\83 ÐºÑ\83Ñ\9bиÑ\86Ñ\83, Ð¸Ð¼ÐµÑ\98л Ñ\81 Ð¿Ñ\80ивÑ\80еменом Ð»Ð¾Ð·Ð¸Ð½ÐºÐ¾Ð¼ Ñ\9bе Ð±Ð¸Ñ\82и Ð¿Ñ\80иказан Ð¸ Ð¿Ð¾Ñ\81лаÑ\82 кориснику.",
+       "passwordreset-email": "Ð\98меÑ\98л адреса:",
        "passwordreset-emailtitle": "Детаљи налога на викију {{SITENAME}}",
-       "passwordreset-emailtext-ip": "Неко, вероватно Ви, са ИП адресе $1 је затражио нову лозинку на викију {{SITENAME}} ($4).\nСледећи {{PLURAL:$3|кориснички налог је повезан|кориснички налози су повезани}} с овом е-адресом:\n\n$2\n\n{{PLURAL:$3|Привремена лозинка истиче|Привремене лозинке истичу}} за {{PLURAL:$5|један дан|$5 дана}}.\nПријавите се и изаберите нову лозинку. Ако је неко други захтевао ову радњу или сте се сетили лозинке и не желите да је мењате, занемарите ову поруку и наставите користити стару лозинку.",
-       "passwordreset-emailtext-user": "{{GENDER:$1|Ð\9aоÑ\80иÑ\81ник Ñ\98е Ð·Ð°Ñ\82Ñ\80ажио|Ð\9aоÑ\80иÑ\81ниÑ\86а Ñ\98е Ð·Ð°Ñ\82Ñ\80ажила}} Ð¿Ð¾Ð´Ñ\81еÑ\82ник Ð¾ Ð¿Ð¾Ð´Ð°Ñ\86има Ð·Ð° Ð¿Ñ\80иÑ\98авÑ\83 Ð½Ð° Ð²Ð¸ÐºÐ¸Ñ\98Ñ\83 {{SITENAME}} ($4).\nСледеÑ\9bи {{PLURAL:$3|коÑ\80иÑ\81ниÑ\87ки Ð½Ð°Ð»Ð¾Ð³ Ñ\98е Ð¿Ð¾Ð²ÐµÐ·Ð°Ð½|коÑ\80иÑ\81ниÑ\87ки Ð½Ð°Ð»Ð¾Ð·Ð¸ Ñ\81Ñ\83 Ð¿Ð¾Ð²ÐµÐ·Ð°Ð½Ð¸}} Ñ\81 Ð¾Ð²Ð¾Ð¼ Ðµ-адресом:\n\n$2\n\n{{PLURAL:$3|Привремена лозинка истиче|Привремене лозинке истичу}} за {{PLURAL:$5|један дан|$5 дана}}.\nПријавите се и изаберите нову лозинку. Ако је неко други захтевао ову радњу или сте се сетили лозинке и не желите да је мењате, занемарите ову поруку.",
+       "passwordreset-emailtext-ip": "Неко (вероватно Ви, са ИП адресе $1) је затражио нову лозинку на викију {{SITENAME}} ($4).\nСледећи {{PLURAL:$3|кориснички налог је повезан|кориснички налози су повезани}} с овом имејл адресом:\n\n$2\n\n{{PLURAL:$3|Привремена лозинка истиче|Привремене лозинке истичу}} за {{PLURAL:$5|један дан|$5 дана}}.\nПријавите се и изаберите нову лозинку. Ако је неко други захтевао ову радњу или сте се сетили лозинке и не желите да је мењате, занемарите ову поруку и наставите користити стару лозинку.",
+       "passwordreset-emailtext-user": "{{GENDER:$1|Ð\9aоÑ\80иÑ\81ник Ñ\98е Ð·Ð°Ñ\82Ñ\80ажио|Ð\9aоÑ\80иÑ\81ниÑ\86а Ñ\98е Ð·Ð°Ñ\82Ñ\80ажила}} Ð¿Ð¾Ð´Ñ\81еÑ\82ник Ð¾ Ð¿Ð¾Ð´Ð°Ñ\86има Ð·Ð° Ð¿Ñ\80иÑ\98авÑ\83 Ð½Ð° Ð²Ð¸ÐºÐ¸Ñ\98Ñ\83 {{SITENAME}} ($4).\nСледеÑ\9bи {{PLURAL:$3|коÑ\80иÑ\81ниÑ\87ки Ð½Ð°Ð»Ð¾Ð³ Ñ\98е Ð¿Ð¾Ð²ÐµÐ·Ð°Ð½|коÑ\80иÑ\81ниÑ\87ки Ð½Ð°Ð»Ð¾Ð·Ð¸ Ñ\81Ñ\83 Ð¿Ð¾Ð²ÐµÐ·Ð°Ð½Ð¸}} Ñ\81 Ð¾Ð²Ð¾Ð¼ Ð¸Ð¼ÐµÑ\98л адресом:\n\n$2\n\n{{PLURAL:$3|Привремена лозинка истиче|Привремене лозинке истичу}} за {{PLURAL:$5|један дан|$5 дана}}.\nПријавите се и изаберите нову лозинку. Ако је неко други захтевао ову радњу или сте се сетили лозинке и не желите да је мењате, занемарите ову поруку.",
        "passwordreset-emailelement": "Корисничко име: \n$1\n\nПривремена лозинка: \n$2",
-       "passwordreset-emailsent": "Ð\9fодÑ\81еÑ\82ник Ð¾ Ð»Ð¾Ð·Ð¸Ð½Ñ\86и Ñ\98е Ð¿Ð¾Ñ\81лаÑ\82 Ð½Ð° Ð²Ð°Ñ\88Ñ\83 Ð°Ð´Ñ\80еÑ\81Ñ\83.",
-       "passwordreset-emailsent-capture": "Ð\9fоÑ\81лаÑ\82 Ñ\98е Ð¿Ð¾Ð´Ñ\81еÑ\82ник Ð¿Ñ\80еко Ðµ-поÑ\88Ñ\82е (пÑ\80иказан Ð´Ð¾Ð»Ðµ).",
-       "passwordreset-emailerror-capture": "Ð\95-поÑ\80Ñ\83ка Ð·Ð° Ñ\80еÑ\81еÑ\82оваÑ\9aе Ð»Ð¾Ð·Ð¸Ð½ÐºÐµ, Ð¿Ñ\80иказана Ð¸Ñ\81под Ñ\98е Ð¿Ð¾Ñ\81лаÑ\82а, али слање {{GENDER:$2|кориснику|корисници}} није успело: $1",
-       "changeemail": "Ð\9fÑ\80омени Ð¸Ð»Ð¸ Ñ\83клони Ðµ-адресу",
-       "changeemail-header": "Промените е-адресу налога",
+       "passwordreset-emailsent": "Ð\90ко Ñ\98е Ð¾Ð²Ð¾ Ð¸Ð¼ÐµÑ\98л Ð°Ð´Ñ\80еÑ\81а Ñ\80егиÑ\81Ñ\82ована Ð½Ð° Ð\92аÑ\88ем Ð½Ð°Ð»Ð¾Ð³Ñ\83, Ð¿Ð¾Ð´Ñ\81еÑ\82ник Ð¾ Ð»Ð¾Ð·Ð¸Ð½Ñ\86и Ñ\9bе Ð±Ð¸Ñ\82и Ð¿Ð¾Ñ\81лаÑ\82 Ð½Ð° Ð¸Ð¼ÐµÑ\98л.",
+       "passwordreset-emailsent-capture": "Ð\9fоÑ\81лаÑ\82 Ñ\98е Ð¿Ð¾Ð´Ñ\81еÑ\82ник Ð¿Ñ\80еко Ð¸Ð¼ÐµÑ\98ла, ÐºÐ¾Ñ\98и Ñ\98е Ð¿Ñ\80иказан Ð´Ð¾Ð»Ðµ.",
+       "passwordreset-emailerror-capture": "Ð\98меÑ\98л Ð·Ð° Ñ\80еÑ\81еÑ\82оваÑ\9aе Ð»Ð¾Ð·Ð¸Ð½ÐºÐµ, Ð¿Ñ\80иказан Ð¸Ñ\81под Ñ\98е Ð¿Ð¾Ñ\81лаÑ\82, али слање {{GENDER:$2|кориснику|корисници}} није успело: $1",
+       "changeemail": "Ð\9fÑ\80омени Ð¸Ð»Ð¸ Ñ\83клони Ð¸Ð¼ÐµÑ\98л адресу",
+       "changeemail-header": "Попуните овај образац да би сте променили Вашу имејл адресу. Ако жели да ускратите приступ било којој имејл адреси Вашем налогу, оставите празно поље за нову имејл адресу приликом попуњавање обрасца.",
        "changeemail-passwordrequired": "Морате унети лозинку да би потврдили ову измену.",
        "changeemail-no-info": "Морате бити пријављени да бисте приступили овој страници.",
-       "changeemail-oldemail": "ТÑ\80енÑ\83Ñ\82на Ðµ-адреса:",
-       "changeemail-newemail": "Ð\9dова Ðµ-адреса:",
+       "changeemail-oldemail": "ТÑ\80енÑ\83Ñ\82на Ð¸Ð¼ÐµÑ\98л адреса:",
+       "changeemail-newemail": "Ð\9dова Ð¸Ð¼ÐµÑ\98л адреса:",
        "changeemail-none": "(ништа)",
        "changeemail-password": "Ваша лозинка:",
        "changeemail-submit": "Промени",
        "nowiki_sample": "Убаците необликован текст овде",
        "nowiki_tip": "Занемари вики обликовање",
        "image_sample": "Пример.jpg",
-       "image_tip": "УгÑ\80аÑ\92ена Ð´Ð°Ñ\82оÑ\82ека",
+       "image_tip": "УбаÑ\86иваÑ\9aе Ð´Ð°Ñ\82оÑ\82еке",
        "media_sample": "Пример.ogg",
        "media_tip": "Веза",
        "sig_tip": "Ваш потпис са тренутним временом",
        "subject-preview": "Преглед теме:",
        "previewerrortext": "Догодила се грешка приликом приказивања ваших измена.",
        "blockedtitle": "Корисник је блокиран",
-       "blockedtext": "<strong>Ð\92аÑ\88е ÐºÐ¾Ñ\80иÑ\81ниÑ\87ко Ð¸Ð¼Ðµ Ð¸Ð»Ð¸ Ð\98Ð\9f Ð°Ð´Ñ\80еÑ\81а Ñ\98е Ð±Ð»Ð¾ÐºÐ¸Ñ\80ана.</strong>\n\nÐ\91локиÑ\80аÑ\9aе Ñ\98е {{GENDER:$4|извÑ\80Ñ\88ио|извÑ\80Ñ\88ила}} $1.\nРазлог: <em>$2</em>.\n\n* Ð\94аÑ\82Ñ\83м Ð±Ð»Ð¾ÐºÐ¸Ñ\80аÑ\9aа: $8\n* Ð\91локиÑ\80аÑ\9aе Ð¸Ñ\81Ñ\82иÑ\87е: $6\n* Ð\98ме ÐºÐ¾Ñ\80иÑ\81ника: $7\n\nÐ\9eбÑ\80аÑ\82иÑ\82е Ñ\81е {{GENDER:$4|коÑ\80иÑ\81никÑ\83|коÑ\80иÑ\81ниÑ\86и}} $1 Ð¸Ð»Ð¸ [[{{MediaWiki:Grouppage-sysop}}|админиÑ\81Ñ\82Ñ\80аÑ\82оÑ\80Ñ\83]] Ð´Ð° Ñ\80азÑ\98аÑ\81ниÑ\82е Ñ\81Ñ\82ваÑ\80.\nÐ\9dе Ð¼Ð¾Ð¶ÐµÑ\82е ÐºÐ¾Ñ\80иÑ\81Ñ\82иÑ\82и Ð¼Ð¾Ð³Ñ\83Ñ\9bноÑ\81Ñ\82 â\80\9eÐ\9fоÑ\88аÑ\99и Ð¿Ð¾Ñ\80Ñ\83кÑ\83 Ð¾Ð²Ð¾Ð¼ ÐºÐ¾Ñ\80иÑ\81никÑ\83â\80\9c Ð°ÐºÐ¾ Ð½Ð¸Ñ\81Ñ\82е Ñ\83нели Ð¸Ñ\81пÑ\80авнÑ\83 Ðµ-адресу у [[Special:Preferences|подешавањима]].\nВаша блокирана ИП адреса је $3, а ID блокирања $5.\nНаведите све податке изнад при стварању било каквих упита.",
-       "autoblockedtext": "Ð\92аÑ\88а Ð\98Ð\9f Ð°Ð´Ñ\80еÑ\81а Ñ\98е Ð±Ð»Ð¾ÐºÐ¸Ñ\80ана Ñ\98еÑ\80 Ñ\98Ñ\83 Ñ\98е Ñ\83поÑ\82Ñ\80ебÑ\99авао Ð´Ñ\80Ñ\83ги ÐºÐ¾Ñ\80иÑ\81ник, ÐºÐ¾Ð³Ð° Ñ\98е {{GENDER:$4|блокиÑ\80ао|блокиÑ\80ала}} $1.\nРазлог:\n\n:<em>$2</em>\n\n* Ð\94аÑ\82Ñ\83м Ð±Ð»Ð¾ÐºÐ¸Ñ\80аÑ\9aа: $8\n* Ð\91локиÑ\80аÑ\9aе Ð¸Ñ\81Ñ\82иÑ\87е: $6\n* Ð\98ме ÐºÐ¾Ñ\80иÑ\81ника: $7\n\nÐ\9eбÑ\80аÑ\82иÑ\82е Ñ\81е {{GENDER:$4|коÑ\80иÑ\81никÑ\83|коÑ\80иÑ\81ниÑ\86и}} $1 Ð¸Ð»Ð¸ [[{{MediaWiki:Grouppage-sysop}}|админиÑ\81Ñ\82Ñ\80аÑ\82оÑ\80Ñ\83]] Ð´Ð° Ñ\80азÑ\98аÑ\81ниÑ\82е Ñ\81Ñ\82ваÑ\80.\n\nÐ\9dе Ð¼Ð¾Ð¶ÐµÑ\82е ÐºÐ¾Ñ\80иÑ\81Ñ\82иÑ\82и Ð¼Ð¾Ð³Ñ\83Ñ\9bноÑ\81Ñ\82 â\80\9eÐ\9fоÑ\88аÑ\99и Ð¿Ð¾Ñ\80Ñ\83кÑ\83 Ð¾Ð²Ð¾Ð¼ ÐºÐ¾Ñ\80иÑ\81никÑ\83â\80\9c Ð°ÐºÐ¾ Ð½Ð¸Ñ\81Ñ\82е Ñ\83нели Ð¸Ñ\81пÑ\80авнÑ\83 Ðµ-адресу у [[Special:Preferences|подешавањима]].\n\nВаша блокирана ИП адреса је $3, а ID $5.\nНаведите све податке изнад при стварању било каквих упита.",
+       "blockedtext": "<strong>Ð\92аÑ\88е ÐºÐ¾Ñ\80иÑ\81ниÑ\87ко Ð¸Ð¼Ðµ Ð¸Ð»Ð¸ Ð\98Ð\9f Ð°Ð´Ñ\80еÑ\81а Ñ\98е Ð±Ð»Ð¾ÐºÐ¸Ñ\80ана.</strong>\n\nÐ\91локиÑ\80аÑ\9aе Ñ\98е {{GENDER:$4|извÑ\80Ñ\88ио|извÑ\80Ñ\88ила}} $1.\nРазлог: <em>$2</em>.\n\n* Ð\94аÑ\82Ñ\83м Ð±Ð»Ð¾ÐºÐ¸Ñ\80аÑ\9aа: $8\n* Ð\91локиÑ\80аÑ\9aе Ð¸Ñ\81Ñ\82иÑ\87е: $6\n* Ð\98ме ÐºÐ¾Ñ\80иÑ\81ника: $7\n\nÐ\9eбÑ\80аÑ\82иÑ\82е Ñ\81е {{GENDER:$4|коÑ\80иÑ\81никÑ\83|коÑ\80иÑ\81ниÑ\86и}} $1 Ð¸Ð»Ð¸ [[{{MediaWiki:Grouppage-sysop}}|админиÑ\81Ñ\82Ñ\80аÑ\82оÑ\80Ñ\83]] Ð´Ð° Ñ\80азÑ\98аÑ\81ниÑ\82е Ñ\81Ñ\82ваÑ\80.\nÐ\9dе Ð¼Ð¾Ð¶ÐµÑ\82е ÐºÐ¾Ñ\80иÑ\81Ñ\82иÑ\82и Ð¼Ð¾Ð³Ñ\83Ñ\9bноÑ\81Ñ\82 â\80\9eÐ\9fоÑ\88аÑ\99и Ð¸Ð¼ÐµÑ\98л Ð¾Ð²Ð¾Ð¼ ÐºÐ¾Ñ\80иÑ\81никÑ\83â\80\9c Ð°ÐºÐ¾ Ð½Ð¸Ñ\81Ñ\82е Ñ\83нели Ð¸Ñ\81пÑ\80авнÑ\83 Ð¸Ð¼ÐµÑ\98л адресу у [[Special:Preferences|подешавањима]].\nВаша блокирана ИП адреса је $3, а ID блокирања $5.\nНаведите све податке изнад при стварању било каквих упита.",
+       "autoblockedtext": "Ð\92аÑ\88а Ð\98Ð\9f Ð°Ð´Ñ\80еÑ\81а Ñ\98е Ð±Ð»Ð¾ÐºÐ¸Ñ\80ана Ñ\98еÑ\80 Ñ\98Ñ\83 Ñ\98е Ñ\83поÑ\82Ñ\80ебÑ\99авао Ð´Ñ\80Ñ\83ги ÐºÐ¾Ñ\80иÑ\81ник, ÐºÐ¾Ð³Ð° Ñ\98е {{GENDER:$4|блокиÑ\80ао|блокиÑ\80ала}} $1.\nРазлог:\n\n:<em>$2</em>\n\n* Ð\94аÑ\82Ñ\83м Ð±Ð»Ð¾ÐºÐ¸Ñ\80аÑ\9aа: $8\n* Ð\91локиÑ\80аÑ\9aе Ð¸Ñ\81Ñ\82иÑ\87е: $6\n* Ð\98ме ÐºÐ¾Ñ\80иÑ\81ника: $7\n\nÐ\9eбÑ\80аÑ\82иÑ\82е Ñ\81е {{GENDER:$4|коÑ\80иÑ\81никÑ\83|коÑ\80иÑ\81ниÑ\86и}} $1 Ð¸Ð»Ð¸ [[{{MediaWiki:Grouppage-sysop}}|админиÑ\81Ñ\82Ñ\80аÑ\82оÑ\80Ñ\83]] Ð´Ð° Ñ\80азÑ\98аÑ\81ниÑ\82е Ñ\81Ñ\82ваÑ\80.\n\nÐ\9dе Ð¼Ð¾Ð¶ÐµÑ\82е ÐºÐ¾Ñ\80иÑ\81Ñ\82иÑ\82и Ð¼Ð¾Ð³Ñ\83Ñ\9bноÑ\81Ñ\82 â\80\9eÐ\9fоÑ\88аÑ\99и Ð¸Ð¼ÐµÑ\98л Ð¾Ð²Ð¾Ð¼ ÐºÐ¾Ñ\80иÑ\81никÑ\83â\80\9c Ð°ÐºÐ¾ Ð½Ð¸Ñ\81Ñ\82е Ñ\83нели Ð¸Ñ\81пÑ\80авнÑ\83 Ð¸Ð¼ÐµÑ\98л адресу у [[Special:Preferences|подешавањима]].\n\nВаша блокирана ИП адреса је $3, а ID $5.\nНаведите све податке изнад при стварању било каквих упита.",
        "blockednoreason": "разлог није наведен",
        "whitelistedittext": "За уређивање странице је потребно да будете $1.",
-       "confirmedittext": "Ð\9cоÑ\80аÑ\82е Ð´Ð° Ð¿Ð¾Ñ\82вÑ\80диÑ\82е Ñ\81воÑ\98Ñ\83 Ðµ-адÑ\80еÑ\81Ñ\83 Ð¿Ñ\80е Ñ\83Ñ\80еÑ\92иваÑ\9aа Ñ\81Ñ\82Ñ\80аниÑ\86а.\nÐ\9fоÑ\81Ñ\82авиÑ\82е Ð¸ Ð¿Ð¾Ñ\82вÑ\80диÑ\82е адресу преко [[Special:Preferences|подешавања]].",
+       "confirmedittext": "Ð\9cоÑ\80аÑ\82е Ð´Ð° Ð¿Ð¾Ñ\82вÑ\80диÑ\82е Ñ\81воÑ\98Ñ\83 Ð¸Ð¼ÐµÑ\98л Ð°Ð´Ñ\80еÑ\81Ñ\83 Ð¿Ñ\80е Ñ\83Ñ\80еÑ\92иваÑ\9aа Ñ\81Ñ\82Ñ\80аниÑ\86а.\nÐ\9fоÑ\81Ñ\82авиÑ\82е Ð¸ Ð¿Ð¾Ñ\82вÑ\80диÑ\82е Ð¸Ð¼ÐµÑ\98л адресу преко [[Special:Preferences|подешавања]].",
        "nosuchsectiontitle": "Не могу да пронађем одељак",
        "nosuchsectiontext": "Покушали сте да уредите одељак који не постоји.\nМожда је премештен или обрисан док сте прегледали страницу.",
        "loginreqtitle": "Потребна је пријава",
        "prefs-watchlist-token": "Жетон списка надгледања:",
        "prefs-misc": "Друга подешавања",
        "prefs-resetpass": "Промени лозинку",
-       "prefs-changeemail": "Ð\9fÑ\80омени Ð¸Ð»Ð¸ Ñ\83клони Ðµ-адресу",
-       "prefs-setemail": "Ð\9fоÑ\81Ñ\82ави Ðµ-адресу",
-       "prefs-email": "Ð\9fоÑ\81Ñ\82авке Ðµ-поÑ\88Ñ\82е",
+       "prefs-changeemail": "Ð\9fÑ\80омени Ð¸Ð»Ð¸ Ñ\83клони Ð¸Ð¼ÐµÑ\98л адресу",
+       "prefs-setemail": "Ð\9fоÑ\81Ñ\82ави Ð¸Ð¼ÐµÑ\98л адресу",
+       "prefs-email": "Ð\9fоÑ\81Ñ\82авке Ð¸Ð¼ÐµÑ\98ла",
        "prefs-rendering": "Изглед",
        "saveprefs": "Сачувај",
        "restoreprefs": "Врати све на подразумевано (у свим одељцима)",
        "timezoneregion-europe": "Европа",
        "timezoneregion-indian": "Индијски океан",
        "timezoneregion-pacific": "Тихи океан",
-       "allowemail": "Ð\9eмогÑ\83Ñ\9bи Ð¿Ñ\80имаÑ\9aе Ðµ-поÑ\80Ñ\83ка од других корисника",
+       "allowemail": "Ð\9eмогÑ\83Ñ\9bи Ð¿Ñ\80имаÑ\9aе Ð¸Ð¼ÐµÑ\98ла од других корисника",
        "prefs-searchoptions": "Претрага",
        "prefs-namespaces": "Именски простори",
        "default": "подразумевано",
        "prefs-files": "Датотеке",
        "prefs-custom-css": "Прилагођени CSS",
        "prefs-custom-js": "Прилагођени јаваскрипт",
-       "prefs-common-css-js": "Дељени CSS/јаваскрипт за све теме:",
+       "prefs-common-css-js": "Дељени CSS/Јаваскрипт за све теме:",
        "prefs-reset-intro": "Можете користити ову страницу да поништите своје поставке на подразумеване вредности.\nОва радња се не може вратити.",
-       "prefs-emailconfirm-label": "Ð\9fоÑ\82вÑ\80да Ðµ-адÑ\80еÑ\81е:",
-       "youremail": "Ð\95-адÑ\80еÑ\81а:",
+       "prefs-emailconfirm-label": "Ð\9fоÑ\82вÑ\80да Ð¸Ð¼ÐµÑ\98ла:",
+       "youremail": "Ð\98меÑ\98л:",
        "username": "{{GENDER:$1|Корисничко име}}:",
        "prefs-memberingroups": "{{PLURAL:$1|Група|Групе}}:",
        "prefs-memberingroups-type": "$1",
-       "prefs-registration": "Ð\92Ñ\80еме Ñ\83пиÑ\81а:",
+       "prefs-registration": "Ð\92Ñ\80еме Ñ\80егиÑ\81Ñ\82Ñ\80аÑ\86иÑ\98е:",
        "prefs-registration-date-time": "$1",
        "yourrealname": "Право име:",
        "yourlanguage": "Језик:",
        "gender-male": "Он уређује вики странице",
        "gender-female": "Она уређује вики странице",
        "prefs-help-gender": "Необавезно: користи се за исправно обраћање софтвера корисницима, зависно од њиховог пола.\nОвај податак ће бити јаван.",
-       "email": "Ð\95-адÑ\80еÑ\81а",
+       "email": "Ð\98меÑ\98л",
        "prefs-help-realname": "Право име није обавезно.\nАко изаберете да га унесете, оно ће бити коришћено за приписивање вашег рада.",
-       "prefs-help-email": "Ð\95-адреса није обавезна, али је потребна у случају да заборавите лозинку.",
+       "prefs-help-email": "Ð\98меÑ\98л адреса није обавезна, али је потребна у случају да заборавите лозинку.",
        "prefs-help-email-others": "Можете је користити и да омогућите другима да вас контактирају преко корисничке странице или странице за разговор, без откривања свог идентитета.",
-       "prefs-help-email-required": "Ð\9fоÑ\82Ñ\80ебна Ñ\98е Ðµ-адреса.",
+       "prefs-help-email-required": "Ð\9fоÑ\82Ñ\80ебна Ñ\98е Ð¸Ð¼ÐµÑ\98л адреса.",
        "prefs-info": "Основни подаци",
        "prefs-i18n": "Интернационализација",
        "prefs-signature": "Потпис",
        "prefs-help-prefershttps": "Ова подешавања ће ступити на снагу при следећој пријави.",
        "prefswarning-warning": "Променили сте ваша подешавања али нисте их још сачували.\nАко не притиснете „$1“ ваша подешавања ће бити изгубљена.",
        "prefs-tabs-navigation-hint": "Савет: можете користити типке са левом и десном стрелицом за кретање кроз картице.",
-       "email-address-validity-valid": "Ð\95-адреса је исправна",
-       "email-address-validity-invalid": "УнеÑ\81иÑ\82е Ð¸Ñ\81пÑ\80авнÑ\83 Ðµ-адресу",
+       "email-address-validity-valid": "Ð\98меÑ\98л адреса је исправна",
+       "email-address-validity-invalid": "УнеÑ\81иÑ\82е Ð¸Ñ\81пÑ\80авнÑ\83 Ð¸Ð¼ÐµÑ\98л адресу",
        "userrights": "Управљање корисничким правима",
        "userrights-lookup-user": "Управљање корисничким групама",
        "userrights-user-editname": "Корисничко име:",
        "right-viewsuppressed": "прегледање измена скривених од свих корисника",
        "right-suppressionlog": "прегледање приватних дневника",
        "right-block": "блокирање даљих измена других корисника",
-       "right-blockemail": "онемогÑ\83Ñ\9bаваÑ\9aе ÐºÐ¾Ñ\80иÑ\81ниÑ\86има Ð´Ð° Ñ\88аÑ\99Ñ\83 Ðµ-поÑ\80Ñ\83ке",
+       "right-blockemail": "онемогÑ\83Ñ\9bаваÑ\9aе ÐºÐ¾Ñ\80иÑ\81ниÑ\86има Ð´Ð° Ñ\88аÑ\99Ñ\83 Ð¸Ð¼ÐµÑ\98лове",
        "right-hideuser": "блокирање корисничког имена и његово сакривање од јавности",
        "right-ipblock-exempt": "заобилажење блокирања ИП адресе, аутоматска блокирања и блокирања опсега",
        "right-proxyunbannable": "заобилажење аутоматских блокирања посредника",
        "right-viewmywatchlist": "види сопствени списак надгледања",
        "right-editmywatchlist": "уређивање сопственог списка надгледања; неке предузете радње ће свеједно додати странице на списак и без овог права",
        "right-viewmyprivateinfo": "видите своје личне податке (нпр. адресу е-поште, право име)",
-       "right-editmyprivateinfo": "Ñ\83Ñ\80еÑ\92иваÑ\9aе Ñ\81опÑ\81Ñ\82вениÑ\85 Ð»Ð¸Ñ\87ниÑ\85 Ð¿Ð¾Ð´Ð°Ñ\82ака (нпÑ\80. Ð°Ð´Ñ\80еÑ\81Ñ\83 Ðµ-поÑ\88Ñ\82е, право име)",
+       "right-editmyprivateinfo": "Ñ\83Ñ\80еÑ\92иваÑ\9aе Ñ\81опÑ\81Ñ\82вениÑ\85 Ð»Ð¸Ñ\87ниÑ\85 Ð¿Ð¾Ð´Ð°Ñ\82ака (нпÑ\80. Ð¸Ð¼ÐµÑ\98л Ð°Ð´Ñ\80еÑ\81а, право име)",
        "right-editmyoptions": "уређивање сопствених подешавања",
        "right-rollback": "брзо враћање измена последњег корисника који је мењао одређену страницу",
        "right-markbotedits": "означавање враћених измена као измене бота",
        "right-userrights-interwiki": "уређивање корисничких права на другим викијима",
        "right-siteadmin": "закључавање и откључавање базе података",
        "right-override-export-depth": "извоз страница укључујући и повазене странице до дубине од пет веза",
-       "right-sendemail": "Ñ\81лаÑ\9aе Ðµ-поÑ\80Ñ\83ка другим корисницима",
+       "right-sendemail": "Ñ\81лаÑ\9aе Ð¸Ð¼ÐµÑ\98ла другим корисницима",
        "right-passwordreset": "прегледање порука за обнављање лозинке",
        "right-managechangetags": "прављење и/или брисање [[Special:Tags|ознака]] из базе података",
        "right-applychangetags": "примењивање [[Special:Tags|ознака]] на нечије измене",
        "action-userrights": "уређивање свих корисничких права",
        "action-userrights-interwiki": "уређивање корисничких права на другим викијима",
        "action-siteadmin": "закључавање или откључавање базе података",
-       "action-sendemail": "Ñ\81лаÑ\9aе Ðµ-поÑ\80Ñ\83ка",
+       "action-sendemail": "Ñ\81лаÑ\9aе Ð¸Ð¼ÐµÑ\98лова",
        "action-editmywatchlist": "измену сопственог списак надгледања",
        "action-viewmywatchlist": "преглед вашег списак надгледања",
        "action-viewmyprivateinfo": "прегледање ваших личних података",
        "unpatrolledletter": "!",
        "number_of_watching_users_pageview": "[$1 {{PLURAL:$1|корисник надгледа|корисника надгледају|корисника надгледају}}]",
        "rc_categories": "Ограничи на категорије (раздвоји с усправном цртом):",
-       "rc_categories_any": "Све",
+       "rc_categories_any": "Сви Ð¸Ð·Ð°Ð±Ñ\80ани",
        "rc-change-size": "$1",
        "rc-change-size-new": "$1 {{PLURAL:$1|бајт|бајта|бајтова}} после измене",
        "newsectionsummary": "/* $1 */ нови одељак",
        "nopagetext": "Тражена страница не постоји.",
        "pager-newer-n": "{{PLURAL:$1|новији 1|новија $1|новијих $1}}",
        "pager-older-n": "{{PLURAL:$1|старији 1|старијих $1}}",
-       "suppress": "Ð\9dадзоÑ\80",
+       "suppress": "РевизиÑ\98а",
        "querypage-disabled": "Ова посебна страница је онемогућена ради побољшања перформанси.",
        "apihelp": "API помоћ",
        "apihelp-no-such-module": "Модул „$1“ није пронађен.",
        "trackingcategories-nodesc": "Опис није доступан.",
        "trackingcategories-disabled": "Категорија је онемогућена",
        "mailnologin": "Нема адресе за слање",
-       "mailnologintext": "Ð\9cоÑ\80аÑ\82е Ð±Ð¸Ñ\82и [[Special:UserLogin|пÑ\80иÑ\98авÑ\99ени]] Ð¸ Ð¸Ð¼Ð°Ñ\82и Ð¸Ñ\81пÑ\80авнÑ\83 Ðµ-адÑ\80еÑ\81Ñ\83 Ñ\83 [[Special:Preferences|подеÑ\88аваÑ\9aима]] Ð´Ð° Ð±Ð¸Ñ\81Ñ\82е Ñ\81лали Ðµ-поÑ\80Ñ\83ке другим корисницима.",
-       "emailuser": "Ð\9fоÑ\88аÑ\99и Ðµ-поÑ\80Ñ\83кÑ\83",
-       "emailuser-title-target": "СлаÑ\9aе Ðµ-поÑ\80Ñ\83ке {{GENDER:$1|коÑ\80иÑ\81никÑ\83|коÑ\80иÑ\81ниÑ\86и|коÑ\80иÑ\81никÑ\83}}",
-       "emailuser-title-notarget": "СлаÑ\9aе Ðµ-поÑ\80Ñ\83ке кориснику",
-       "emailpagetext": "Ð\9cожеÑ\82е Ð´Ð° ÐºÐ¾Ñ\80иÑ\81Ñ\82иÑ\82е Ð´Ð¾Ñ\9aи Ð¾Ð±Ñ\80азаÑ\86 Ð´Ð° Ð¿Ð¾Ñ\88аÑ\99еÑ\82е Ðµ-поÑ\80Ñ\83кÑ\83 {{GENDER:$1|овом ÐºÐ¾Ñ\80иÑ\81никÑ\83|овоÑ\98 ÐºÐ¾Ñ\80иÑ\81ниÑ\86и}}.\nÐ\95-адÑ\80еÑ\81а ÐºÐ¾Ñ\98Ñ\83 сте унели у вашим [[Special:Preferences|подешавањима]] ће се приказати у пољу „Од“, тако да ће прималац моћи да вам одговори директно.",
-       "defemailsubject": "{{SITENAME}} â\80\94 Ð\95-поÑ\88Ñ\82а од {{GENDER:$1|корисника|кориснице}} $1",
+       "mailnologintext": "Ð\9cоÑ\80аÑ\82е Ð±Ð¸Ñ\82и [[Special:UserLogin|пÑ\80иÑ\98авÑ\99ени]] Ð¸ Ð¸Ð¼Ð°Ñ\82и Ð¸Ñ\81пÑ\80аван Ð¸Ð¼ÐµÑ\98л Ñ\83 [[Special:Preferences|подеÑ\88аваÑ\9aима]] Ð´Ð° Ð±Ð¸Ñ\81Ñ\82е Ñ\81лали Ð¸Ð¼ÐµÑ\98лове другим корисницима.",
+       "emailuser": "Ð\9fоÑ\88аÑ\99и Ð¸Ð¼ÐµÑ\98л",
+       "emailuser-title-target": "СлаÑ\9aе Ð¸Ð¼ÐµÑ\98ла {{GENDER:$1|коÑ\80иÑ\81никÑ\83|коÑ\80иÑ\81ниÑ\86и}}",
+       "emailuser-title-notarget": "СлаÑ\9aе Ð¸Ð¼ÐµÑ\98ла кориснику",
+       "emailpagetext": "Ð\9cожеÑ\82е Ð´Ð° ÐºÐ¾Ñ\80иÑ\81Ñ\82иÑ\82е Ð´Ð¾Ñ\9aи Ð¾Ð±Ñ\80азаÑ\86 Ð´Ð° Ð¿Ð¾Ñ\88аÑ\99еÑ\82е Ð¸Ð¼ÐµÑ\98л {{GENDER:$1|овом ÐºÐ¾Ñ\80иÑ\81никÑ\83|овоÑ\98 ÐºÐ¾Ñ\80иÑ\81ниÑ\86и}}.\nÐ\98меÑ\98л ÐºÐ¾Ñ\98и сте унели у вашим [[Special:Preferences|подешавањима]] ће се приказати у пољу „Од“, тако да ће прималац моћи да вам одговори директно.",
+       "defemailsubject": "{{SITENAME}} â\80\94 Ð\98меÑ\98л од {{GENDER:$1|корисника|кориснице}} $1",
        "usermaildisabled": "Корисничка е-пошта је онемогућена",
-       "usermaildisabledtext": "Ð\9dе Ð¼Ð¾Ð¶ÐµÑ\82е Ð´Ð° Ñ\88аÑ\99еÑ\82е Ðµ-поÑ\80Ñ\83ке другим корисницима на овом викију",
-       "noemailtitle": "Ð\9dема Ðµ-адресе",
-       "noemailtext": "Ð\9eваÑ\98 ÐºÐ¾Ñ\80иÑ\81ник Ð½Ð¸Ñ\98е Ð½Ð°Ð²ÐµÐ¾ Ð¸Ñ\81пÑ\80авнÑ\83 Ðµ-адресу.",
-       "nowikiemailtext": "Ð\9eваÑ\98 ÐºÐ¾Ñ\80иÑ\81ник Ñ\98е Ð¾Ð´Ð»Ñ\83Ñ\87ио Ð´Ð° Ð½Ðµ Ð¿Ñ\80има Ðµ-поÑ\80Ñ\83ке од других корисника.",
+       "usermaildisabledtext": "Ð\9dе Ð¼Ð¾Ð¶ÐµÑ\82е Ð´Ð° Ñ\88аÑ\99еÑ\82е Ð¸Ð¼ÐµÑ\98лове другим корисницима на овом викију",
+       "noemailtitle": "Ð\9dема Ð¸Ð¼ÐµÑ\98л адресе",
+       "noemailtext": "Ð\9eваÑ\98 ÐºÐ¾Ñ\80иÑ\81ник Ð½Ð¸Ñ\98е Ð½Ð°Ð²ÐµÐ¾ Ð¸Ñ\81пÑ\80авнÑ\83 Ð¸Ð¼ÐµÑ\98л адресу.",
+       "nowikiemailtext": "Ð\9eваÑ\98 ÐºÐ¾Ñ\80иÑ\81ник Ñ\98е Ð¾Ð´Ð»Ñ\83Ñ\87ио Ð´Ð° Ð½Ðµ Ð¿Ñ\80има Ð¸Ð¼ÐµÑ\98лове од других корисника.",
        "emailnotarget": "Непостојеће или неисправно корисничко име примаоца.",
        "emailtarget": "Унос корисничког имена примаоца",
        "emailusername": "Корисничко име:",
        "emailusernamesubmit": "Пошаљи",
-       "email-legend": "СлаÑ\9aе Ðµ-поÑ\80Ñ\83ка другом кориснику",
+       "email-legend": "СлаÑ\9aе Ð¸Ð¼ÐµÑ\98ла другом кориснику",
        "emailfrom": "Од:",
        "emailto": "За:",
        "emailsubject": "Наслов:",
        "emailmessage": "Порука:",
        "emailsend": "Пошаљи",
-       "emailccme": "Пошаљи ми копију поруке на моју е-пошту.",
+       "emailccme": "Пошаљи ми копију поруке на мој имејл.",
        "emailccsubject": "Копија ваше поруке кориснику $1: $2",
        "emailsent": "Порука је послата",
-       "emailsenttext": "Ваша е-порука је послата.",
-       "emailuserfooter": "Ову е-поруку је {{GENDER:$1|послао|послала}} $1 {{GENDER:$2|кориснику|корисници}} $2 помоћу „{{int:emailuser}}“ с викија {{SITENAME}}.",
+       "emailsenttext": "Ваш имејл је послат.",
+       "emailuserfooter": "Овај имејл је {{GENDER:$1|послао|послала}} $1 {{GENDER:$2|кориснику|корисници}} $2 помоћу „{{int:emailuser}}“ с викија {{SITENAME}}.",
        "usermessage-summary": "Слање системске поруке.",
        "usermessage-editor": "Уређивач системских порука",
        "usermessage-template": "MediaWiki:UserMessage",
        "notanarticle": "Није страница са садржајем",
        "notvisiblerev": "Измена је обрисана",
        "watchlist-details": "Имате {{PLURAL:$1|$1 страница|$1 странице|$1 страница}} на вашем списку надгледања, не рачунајући странице за разговор.",
-       "wlheader-enotif": "Ð\9eбавеÑ\88Ñ\82еÑ\9aе Ðµ-поÑ\80Ñ\83ком је омогућено.",
+       "wlheader-enotif": "Ð\9eбавеÑ\88Ñ\82еÑ\9aе Ð¸Ð¼ÐµÑ\98лом је омогућено.",
        "wlheader-showupdated": "Странице које су измењене откад сте их последњи пут посетили су '''подебљане'''.",
        "wlnote": "Испод {{PLURAL:$1|је последња измена|су последње <strong>$1</strong> измене|је последњих <strong>$1</strong> измена}} у {{PLURAL:$2|претходном сату|претходна <strong>$2</strong> сата|претходних <strong>$2</strong> сати}}, закључно са $3, $4.",
        "wlshowlast": "Прикажи последњих $1 сати, $2 дана",
        "ipbreason-dropdown": "*Најчешћи разлози за блокирање\n** Уношење лажних информација\n** Уклањање садржаја са страница\n** Постављање веза до спољашњих сајтова\n** Уношење бесмислица у странице\n** Непристојно понашање\n** Употреба више налога\n** Неприхватљиво корисничко име",
        "ipb-hardblock": "Онемогући пријављеним корисницима да уређују с ове ИП адресе",
        "ipbcreateaccount": "Онемогући отварање налога",
-       "ipbemailban": "Ð\9eнемогÑ\83Ñ\9bи ÐºÐ¾Ñ\80иÑ\81никÑ\83 Ð´Ð° Ñ\88аÑ\99е Ðµ-поÑ\80Ñ\83ке",
+       "ipbemailban": "Ð\9eнемогÑ\83Ñ\9bи ÐºÐ¾Ñ\80иÑ\81никÑ\83 Ð´Ð° Ñ\88аÑ\99е Ð¸Ð¼ÐµÑ\98лове",
        "ipbenableautoblock": "Аутоматски блокирај последњу ИП адресу овог корисника и све даљње адресе с којих покуша да уређује",
        "ipbsubmit": "Блокирај овог корисника",
        "ipbother": "Друго време:",
        "unblocklink": "деблокирај",
        "change-blocklink": "промени блокирање",
        "contribslink": "доприноси",
-       "emaillink": "поÑ\88аÑ\99и Ðµ-поÑ\80Ñ\83кÑ\83",
+       "emaillink": "поÑ\88аÑ\99и Ð¸Ð¼ÐµÑ\98л",
        "autoblocker": "Аутоматски сте блокирани јер делите ИП адресу с корисником/цом [[User:$1|$1]].\nРазлог блокирања: „$2“",
        "blocklogpage": "Дневник блокирања",
        "blocklog-showlog": "{{GENDER:$1|Овај корисник је раније блокиран|Ова корисница је раније блокирана}}.\nИсторија блокирања се налази испод:",
        "move-page-legend": "Премештање странице",
        "movepagetext": "Доњи образац ће преименовати страницу, премештајући целу историју на ново име.\nСтари наслов постаће преусмерење на нови наслов.\nМожете аутоматски изменити преусмерење до изворног наслова.\nПогледајте [[Special:DoubleRedirects|двострука]] или [[Special:BrokenRedirects|покварена]] преусмерења.\nНа вама је одговорност да везе и даље иду тамо где би требало да иду.\n\nСтраница '''неће''' бити премештена ако већ постоји страница с тим именом, осим ако је она празна, садржи преусмерење или нема историју измена.\nТо значи да можете вратити страницу на претходно место ако погрешите, али не можете заменити постојећу страницу.\n\n'''Пажња!'''\nОво може представљати драстичну и неочекивану измену за популарну страницу;\nдобро размислите о последицама пре него што наставите.",
        "movepagetext-noredirectfixer": "Доњи образац ће преименовати страницу, премештајући целу историју на ново име.\nСтари наслов постаће преусмерење на нови наслов.\nПогледајте [[Special:DoubleRedirects|двострука]] или [[Special:BrokenRedirects|покварена]] преусмерења.\nНа вама је одговорност да везе и даље иду тамо где би требало да иду.\n\nСтраница '''неће''' бити премештена ако већ постоји страница с тим именом, осим ако је она празна, садржи преусмерење или нема историју измена.\nТо значи да можете вратити страницу на претходно место ако погрешите, али не можете заменити постојећу страницу.\n\n'''Пажња!'''\nОво може представљати драстичну и неочекивану измену за популарну страницу;\nдобро размислите о последицама пре него што наставите.",
-       "movepagetalktext": "Ð\9eдговаÑ\80аÑ\98Ñ\83Ñ\9bа Ñ\81Ñ\82Ñ\80аниÑ\86а Ð·Ð° Ñ\80азговоÑ\80, Ð°ÐºÐ¾ Ð¿Ð¾Ñ\81Ñ\82оÑ\98и, Ð±Ð¸Ñ\9bе Ð°Ñ\83Ñ\82омаÑ\82Ñ\81ки Ð¿Ñ\80емеÑ\88Ñ\82ена Ð·Ð°Ñ\98едно Ñ\81 Ñ\9aом, Ð¾Ñ\81им Ð°ÐºÐ¾:\n*Ð\92еÑ\9b Ð¿Ð¾Ñ\81Ñ\82оÑ\98и Ñ\81Ñ\82Ñ\80аниÑ\86а Ð·Ð° Ñ\80азговоÑ\80 Ñ\81 Ð½Ð¾Ð²Ð¸Ð¼ Ð½Ð°Ñ\81ловом, Ð¸Ð»Ð¸\n*Ð\90ко Ñ\98е Ð¾Ð·Ð½Ð°Ñ\87ено Ð´Ð¾Ð»ÐµÐ½Ð°Ð²ÐµÐ´ÐµÐ½Ð¾ Ð¿Ð¾Ñ\99е.\n\nУ Ð¾Ð²Ð¾Ð¼ Ñ\81лÑ\83Ñ\87аÑ\98Ñ\83 мора ручно да се премести или споји, ако има потребе за тим.",
+       "movepagetalktext": "Ð\90ко Ñ\81Ñ\82е Ð¿Ñ\80овеÑ\80или Ð¾Ð²Ñ\83 ÐºÑ\83Ñ\82иÑ\98Ñ\83, Ð¾Ð´Ð³Ð¾Ð²Ð°Ñ\80аÑ\98Ñ\83Ñ\9bа Ñ\81Ñ\82Ñ\80аниÑ\86а Ð·Ð° Ñ\80азговоÑ\80 Ð±Ð¸Ñ\9bе Ð°Ñ\83Ñ\82омаÑ\82Ñ\81ки Ð¿Ñ\80емеÑ\88Ñ\82ена Ð½Ð° Ð½Ð¾Ð²Ð¸ Ð½Ð°Ñ\81лов, Ð¾Ñ\81им Ð°ÐºÐ¾ Ð²ÐµÑ\9b Ð¿Ð¾Ñ\81Ñ\82оÑ\98и Ñ\81Ñ\82Ñ\80аниÑ\86а Ð·Ð° Ñ\80азговоÑ\80.\n\nУ Ñ\82ом Ñ\81лÑ\83Ñ\87аÑ\98Ñ\83, мора ручно да се премести или споји, ако има потребе за тим.",
        "moveuserpage-warning": "'''Упозорење:''' на путу сте да преместите корисничку страницу. Имајте у виду да ће само страница бити премештена, а сам корисник ''неће'' бити преименован.",
        "movecategorypage-warning": "<strong>Упозорење:</strong> премештате страницу категорије. Имајте на уму да ће само страница бити премештена и да све странице у старој категорији <em>неће</em> бити рекатегорисане у нову категорију.",
        "movenologintext": "Морате да будете регистровани и [[Special:UserLogin|пријављени]] да бисте премештали странице.",
        "tooltip-feed-rss": "RSS довод ове странице",
        "tooltip-feed-atom": "Атом довод ове странице",
        "tooltip-t-contributions": "Погледајте списак доприноса овог корисника",
-       "tooltip-t-emailuser": "Ð\9fоÑ\88аÑ\99иÑ\82е Ðµ-поÑ\80Ñ\83кÑ\83 овом кориснику",
+       "tooltip-t-emailuser": "Ð\9fоÑ\88аÑ\99иÑ\82е Ð¸Ð¼ÐµÑ\98л овом кориснику",
        "tooltip-t-info": "Више информација о овој страници",
        "tooltip-t-upload": "Пошаљите датотеке",
        "tooltip-t-specialpages": "Списак свих посебних страница",
        "exif-urgency-other": "Прилагођени приоритет ($1)",
        "namespacesall": "сви",
        "monthsall": "све",
-       "confirmemail": "Ð\9fоÑ\82вÑ\80да Ðµ-адресе",
-       "confirmemail_noemail": "Ð\9dиÑ\81Ñ\82е Ñ\83нели Ð¸Ñ\81пÑ\80авнÑ\83 Ðµ-адресу у [[Special:Preferences|подешавањима]].",
-       "confirmemail_text": "{{SITENAME}} Ð·Ð°Ñ\85Ñ\82ева Ð´Ð° Ð¿Ð¾Ñ\82вÑ\80диÑ\82е Ðµ-адÑ\80еÑ\81Ñ\83 Ð¿Ñ\80е Ð½ÐµÐ³Ð¾ Ñ\88Ñ\82о Ð¿Ð¾Ñ\87неÑ\82е Ð´Ð° ÐºÐ¾Ñ\80иÑ\81Ñ\82иÑ\82е Ð¼Ð¾Ð³Ñ\83Ñ\9bноÑ\81Ñ\82и Ðµ-поÑ\88Ñ\82е.\nÐ\9aликниÑ\82е Ð½Ð° Ð´Ñ\83гме Ð¸Ñ\81под Ð·Ð° Ñ\81лаÑ\9aе Ð¿Ð¾Ñ\80Ñ\83ке Ð½Ð° Ð²Ð°Ñ\88Ñ\83 Ðµ-адÑ\80еÑ\81Ñ\83.\nУ Ð¿Ð¾Ñ\80Ñ\83Ñ\86и Ñ\9bе Ñ\81е Ð½Ð°Ð»Ð°Ð·Ð¸Ñ\82и Ð²ÐµÐ·Ð° Ñ\81 Ð¿Ð¾Ñ\82вÑ\80дним ÐºÐ¾Ð´Ð¾Ð¼;\nÑ\83неÑ\81иÑ\82е Ñ\98е Ñ\83 Ð¿Ñ\80егледаÑ\87 Ð´Ð° Ð±Ð¸Ñ\81Ñ\82е Ð¿Ð¾Ñ\82вÑ\80дили Ð´Ð° Ñ\98е Ð²Ð°Ñ\88а Ðµ-адреса исправна.",
+       "confirmemail": "Ð\9fоÑ\82вÑ\80да Ð¸Ð¼ÐµÑ\98л адресе",
+       "confirmemail_noemail": "Ð\9dиÑ\81Ñ\82е Ñ\83нели Ð¸Ñ\81пÑ\80авнÑ\83 Ð¸Ð¼ÐµÑ\98л адресу у [[Special:Preferences|подешавањима]].",
+       "confirmemail_text": "{{SITENAME}} Ð·Ð°Ñ\85Ñ\82ева Ð´Ð° Ð¿Ð¾Ñ\82вÑ\80диÑ\82е Ð¸Ð¼ÐµÑ\98л Ð°Ð´Ñ\80еÑ\81Ñ\83 Ð¿Ñ\80е Ð½ÐµÐ³Ð¾ Ñ\88Ñ\82о Ð¿Ð¾Ñ\87неÑ\82е Ð´Ð° ÐºÐ¾Ñ\80иÑ\81Ñ\82иÑ\82е Ð¼Ð¾Ð³Ñ\83Ñ\9bноÑ\81Ñ\82и Ð¸Ð¼ÐµÑ\98ла.\nÐ\9aликниÑ\82е Ð½Ð° Ð´Ñ\83гме Ð¸Ñ\81под Ð·Ð° Ñ\81лаÑ\9aе Ð¿Ð¾Ñ\80Ñ\83ке Ð½Ð° Ð²Ð°Ñ\88Ñ\83 Ð°Ð´Ñ\80еÑ\81Ñ\83.\nУ Ð¿Ð¾Ñ\80Ñ\83Ñ\86и Ñ\9bе Ñ\81е Ð½Ð°Ð»Ð°Ð·Ð¸Ñ\82и Ð²ÐµÐ·Ð° Ñ\81 Ð¿Ð¾Ñ\82вÑ\80дним ÐºÐ¾Ð´Ð¾Ð¼;\nÑ\83неÑ\81иÑ\82е Ñ\98е Ñ\83 Ð¿Ñ\80егледаÑ\87 Ð´Ð° Ð±Ð¸Ñ\81Ñ\82е Ð¿Ð¾Ñ\82вÑ\80дили Ð´Ð° Ñ\98е Ð²Ð°Ñ\88а Ð¸Ð¼ÐµÑ\98л адреса исправна.",
        "confirmemail_pending": "Потврдни код вам је већ послат. Ако сте управо отворили налог, онда вероватно треба да сачекате неколико минута да пристигне, пре него што поново затражите нови код.",
        "confirmemail_send": "Пошаљи потврдни код",
        "confirmemail_sent": "Потврдна порука је послата.",
-       "confirmemail_oncreate": "Ð\9fоÑ\81лаÑ\82 Ñ\98е Ð¿Ð¾Ñ\82вÑ\80дни ÐºÐ¾Ð´ Ð½Ð° Ð²Ð°Ñ\88Ñ\83 Ðµ-адÑ\80еÑ\81Ñ\83.\nÐ\9eваÑ\98 ÐºÐ¾Ð´ Ð½Ð¸Ñ\98е Ð¿Ð¾Ñ\82Ñ\80ебан Ð·Ð° Ð¿Ñ\80иÑ\98авÑ\99иваÑ\9aе, Ð°Ð»Ð¸ Ð²Ð°Ð¼ Ñ\82Ñ\80еба Ð´Ð° Ð±Ð¸Ñ\81Ñ\82е Ñ\83кÑ\99Ñ\83Ñ\87или Ð¼Ð¾Ð³Ñ\83Ñ\9bноÑ\81Ñ\82и Ðµ-поÑ\88Ñ\82е на викију.",
-       "confirmemail_sendfailed": "{{SITENAME}} Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ð¿Ð¾Ñ\88аÑ\99е Ð¿Ð¾Ñ\80Ñ\83кÑ\83.\nÐ\9fÑ\80овеÑ\80иÑ\82е Ð´Ð° Ð»Ð¸ Ñ\98е Ðµ-адреса правилно написана.\n\nГрешка: $1",
+       "confirmemail_oncreate": "Ð\9fоÑ\81лаÑ\82 Ñ\98е Ð¿Ð¾Ñ\82вÑ\80дни ÐºÐ¾Ð´ Ð½Ð° Ð²Ð°Ñ\88Ñ\83 Ð¸Ð¼ÐµÑ\98л Ð°Ð´Ñ\80еÑ\81Ñ\83.\nÐ\9eваÑ\98 ÐºÐ¾Ð´ Ð½Ð¸Ñ\98е Ð¿Ð¾Ñ\82Ñ\80ебан Ð·Ð° Ð¿Ñ\80иÑ\98авÑ\99иваÑ\9aе, Ð°Ð»Ð¸ Ð²Ð°Ð¼ Ñ\82Ñ\80еба Ð´Ð° Ð±Ð¸Ñ\81Ñ\82е Ñ\83кÑ\99Ñ\83Ñ\87или Ð¼Ð¾Ð³Ñ\83Ñ\9bноÑ\81Ñ\82и Ð¸Ð¼ÐµÑ\98ла на викију.",
+       "confirmemail_sendfailed": "{{SITENAME}} Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ð¿Ð¾Ñ\88аÑ\99е Ð¸Ð¼ÐµÑ\98л Ð¿Ð¾Ñ\82вÑ\80дÑ\83.\nÐ\9fÑ\80овеÑ\80иÑ\82е Ð´Ð° Ð»Ð¸ Ñ\98е Ð¸Ð¼ÐµÑ\98л адреса правилно написана.\n\nГрешка: $1",
        "confirmemail_invalid": "Потврдни код је неисправан. Вероватно је истекао.",
-       "confirmemail_needlogin": "Ð\9cоÑ\80аÑ\82е Ð±Ð¸Ñ\82и $1 Ð´Ð° Ð±Ð¸Ñ\81Ñ\82е Ð¿Ð¾Ñ\82вÑ\80дили Ðµ-адресу.",
-       "confirmemail_success": "Ð\92аÑ\88а Ðµ-адреса је потврђена.\nСада можете да се [[Special:UserLogin|пријавите]]. Желимо вам пријатан боравак на викију.",
-       "confirmemail_loggedin": "Ð\92аÑ\88а Ðµ-адреса је сада потврђена.",
-       "confirmemail_subject": "{{SITENAME}} â\80\93 Ð¿Ð¾Ñ\82вÑ\80да Ðµ-адресе",
-       "confirmemail_body": "Неко, вероватно ви, са ИП адресе $1 је отворио налог „$2“ на викију {{SITENAME}}, наводећи ову е-адресу.\n\nДа потврдите да овај налог стварно припада вама, као и да\nомогућите могућности е-поште, отворите ову везу у прегледачу:\n\n$3\n\nУколико нисте отворили налог, пратите везу\nиспод како бисте прекинули поступак уписа:\n\n$5\n\nОвај потврдни код истиче $6 у $5.",
-       "confirmemail_body_changed": "Ð\9dеко, Ð²ÐµÑ\80оваÑ\82но Ð²Ð¸, Ñ\81а Ð\98Ð\9f Ð°Ð´Ñ\80еÑ\81е $1 Ñ\98е Ð¿Ñ\80оменио Ðµ-адÑ\80еÑ\81Ñ\83 Ð½Ð°Ð»Ð¾Ð³Ð° â\80\9e$2â\80\9c Ñ\83 Ð¾Ð²Ñ\83 Ð°Ð´Ñ\80еÑ\81Ñ\83 Ð½Ð° Ð²Ð¸ÐºÐ¸Ñ\98Ñ\83 {{SITENAME}}.\n\nÐ\94а Ð±Ð¸Ñ\81Ñ\82е Ð¿Ð¾Ñ\82вÑ\80дили Ð´Ð° Ð¾Ð²Ð°Ñ\98 Ð½Ð°Ð»Ð¾Ð³ Ñ\81Ñ\82ваÑ\80но Ð¿Ñ\80ипада Ð²Ð°Ð¼Ð° Ð¸ Ð¿Ð¾Ð½Ð¾Ð²Ð¾ Ð°ÐºÑ\82ивиÑ\80али Ð¼Ð¾Ð³Ñ\83Ñ\9bноÑ\81Ñ\82и Ðµ-поÑ\88Ñ\82е, Ð¾Ñ\82воÑ\80иÑ\82е Ñ\81ледеÑ\9bÑ\83 Ð²ÐµÐ·Ñ\83 Ñ\83 Ð¿Ñ\80егледаÑ\87Ñ\83:\n\n$3\n\nÐ\90ко Ð½Ð°Ð»Ð¾Ð³ *не* Ð¿Ñ\80ипада Ð²Ð°Ð¼Ð°, Ð¿Ñ\80аÑ\82иÑ\82е Ñ\81ледеÑ\9bÑ\83 Ð²ÐµÐ·Ñ\83 Ð´Ð° Ð¾Ñ\82кажеÑ\82е Ð¿Ð¾Ñ\82вÑ\80дÑ\83 Ðµ-адресе:\n\n$5\n\nОвај потврдни код истиче $6 у $7",
-       "confirmemail_body_set": "Ð\9dеко, Ð²ÐµÑ\80оваÑ\82но Ð²Ð¸, Ñ\81а Ð\98Ð\9f Ð°Ð´Ñ\80еÑ\81е $1 \nÑ\98е Ð¿Ñ\80оменио Ðµ-адÑ\80еÑ\81Ñ\83 Ð½Ð°Ð»Ð¾Ð³Ð° â\80\9e$2â\80\9c Ñ\83 Ð¾Ð²Ñ\83 Ð°Ð´Ñ\80еÑ\81Ñ\83 Ð½Ð° {{SITENAME}}.\n\nÐ\94а Ð±Ð¸Ñ\81мо Ð¿Ð¾Ñ\82вÑ\80дили Ð´Ð° Ð¾Ð²Ð°Ñ\98 Ð½Ð°Ð»Ð¾Ð³ Ñ\81Ñ\82ваÑ\80но Ð¿Ñ\80ипада Ð²Ð°Ð¼Ð° Ð¸ Ð¿Ð¾Ð½Ð¾Ð²Ð¾ Ð°ÐºÑ\82ивиÑ\80али Ð¼Ð¾Ð³Ñ\83Ñ\9bноÑ\81Ñ\82и Ðµ-поÑ\88Ñ\82е Ð½Ð° {{SITENAME}}, Ð¾Ñ\82воÑ\80иÑ\82е Ñ\81ледеÑ\9bÑ\83 Ð²ÐµÐ·Ñ\83 Ñ\83 Ð¿Ñ\80егледаÑ\87Ñ\83:\n\n$3\n\nÐ\90ко Ð½Ð°Ð»Ð¾Ð³ *не* Ð¿Ñ\80ипада Ð²Ð°Ð¼Ð°, Ð¿Ñ\80аÑ\82иÑ\82е Ñ\81ледеÑ\9bÑ\83 Ð²ÐµÐ·Ñ\83 Ð´Ð° Ð¾Ñ\82кажеÑ\82е Ð¿Ð¾Ñ\82вÑ\80дÑ\83 Ðµ-адресе:\n\n$5\n\nОвај потврдни код истиче $4.",
-       "confirmemail_invalidated": "Ð\9fоÑ\82вÑ\80да Ðµ-поÑ\88Ñ\82е је отказана",
-       "invalidateemail": "Ð\9eÑ\82казиваÑ\9aе Ð¿Ð¾Ñ\82вÑ\80де Ðµ-поÑ\88Ñ\82е",
+       "confirmemail_needlogin": "Ð\9cоÑ\80аÑ\82е Ð±Ð¸Ñ\82и $1 Ð´Ð° Ð±Ð¸Ñ\81Ñ\82е Ð¿Ð¾Ñ\82вÑ\80дили Ð¸Ð¼ÐµÑ\98л адресу.",
+       "confirmemail_success": "Ð\92аÑ\88а Ð¸Ð¼ÐµÑ\98л адреса је потврђена.\nСада можете да се [[Special:UserLogin|пријавите]]. Желимо вам пријатан боравак на викију.",
+       "confirmemail_loggedin": "Ð\92аÑ\88а Ð¸Ð¼ÐµÑ\98л адреса је сада потврђена.",
+       "confirmemail_subject": "{{SITENAME}} â\80\93 Ð¿Ð¾Ñ\82вÑ\80да Ð¸Ð¼ÐµÑ\98л адресе",
+       "confirmemail_body": "Неко, вероватно ви, са ИП адресе $1 \nје променио имејл адресу налога „$2“ у ову адресу на {{SITENAME}}.\n\nДа бисмо потврдили да овај налог стварно припада вама и поново активирали могућности имејла на {{SITENAME}}, отворите следећу везу у прегледачу:\n\n$3\n\nАко налог *не* припада вама, пратите следећу везу да откажете потврду имејл адресе:\n\n$5\n\nОвај потврдни код истиче $4.",
+       "confirmemail_body_changed": "Ð\9dеко, Ð²ÐµÑ\80оваÑ\82но Ð²Ð¸, Ñ\81а Ð\98Ð\9f Ð°Ð´Ñ\80еÑ\81е $1 Ñ\98е Ð¿Ñ\80оменио Ð¸Ð¼ÐµÑ\98л Ð°Ð´Ñ\80еÑ\81Ñ\83 Ð½Ð°Ð»Ð¾Ð³Ð° â\80\9e$2â\80\9c Ñ\83 Ð¾Ð²Ñ\83 Ð°Ð´Ñ\80еÑ\81Ñ\83 Ð½Ð° Ð²Ð¸ÐºÐ¸Ñ\98Ñ\83 {{SITENAME}}.\n\nÐ\94а Ð±Ð¸Ñ\81Ñ\82е Ð¿Ð¾Ñ\82вÑ\80дили Ð´Ð° Ð¾Ð²Ð°Ñ\98 Ð½Ð°Ð»Ð¾Ð³ Ñ\81Ñ\82ваÑ\80но Ð¿Ñ\80ипада Ð²Ð°Ð¼Ð° Ð¸ Ð¿Ð¾Ð½Ð¾Ð²Ð¾ Ð°ÐºÑ\82ивиÑ\80али Ð¼Ð¾Ð³Ñ\83Ñ\9bноÑ\81Ñ\82и Ð¸Ð¼ÐµÑ\98ла, Ð¾Ñ\82воÑ\80иÑ\82е Ñ\81ледеÑ\9bÑ\83 Ð²ÐµÐ·Ñ\83 Ñ\83 Ð¿Ñ\80егледаÑ\87Ñ\83:\n\n$3\n\nÐ\90ко Ð½Ð°Ð»Ð¾Ð³ *не* Ð¿Ñ\80ипада Ð²Ð°Ð¼Ð°, Ð¿Ñ\80аÑ\82иÑ\82е Ñ\81ледеÑ\9bÑ\83 Ð²ÐµÐ·Ñ\83 Ð´Ð° Ð¾Ñ\82кажеÑ\82е Ð¿Ð¾Ñ\82вÑ\80дÑ\83 Ð¸Ð¼ÐµÑ\98л адресе:\n\n$5\n\nОвај потврдни код истиче $6 у $7",
+       "confirmemail_body_set": "Ð\9dеко, Ð²ÐµÑ\80оваÑ\82но Ð²Ð¸, Ñ\81а Ð\98Ð\9f Ð°Ð´Ñ\80еÑ\81е $1 \nÑ\98е Ð¿Ñ\80оменио Ð¸Ð¼ÐµÑ\98л Ð°Ð´Ñ\80еÑ\81Ñ\83 Ð½Ð°Ð»Ð¾Ð³Ð° â\80\9e$2â\80\9c Ñ\83 Ð¾Ð²Ñ\83 Ð°Ð´Ñ\80еÑ\81Ñ\83 Ð½Ð° {{SITENAME}}.\n\nÐ\94а Ð±Ð¸Ñ\81мо Ð¿Ð¾Ñ\82вÑ\80дили Ð´Ð° Ð¾Ð²Ð°Ñ\98 Ð½Ð°Ð»Ð¾Ð³ Ñ\81Ñ\82ваÑ\80но Ð¿Ñ\80ипада Ð²Ð°Ð¼Ð° Ð¸ Ð¿Ð¾Ð½Ð¾Ð²Ð¾ Ð°ÐºÑ\82ивиÑ\80али Ð¼Ð¾Ð³Ñ\83Ñ\9bноÑ\81Ñ\82и Ð¸Ð¼ÐµÑ\98ла Ð½Ð° {{SITENAME}}, Ð¾Ñ\82воÑ\80иÑ\82е Ñ\81ледеÑ\9bÑ\83 Ð²ÐµÐ·Ñ\83 Ñ\83 Ð¿Ñ\80егледаÑ\87Ñ\83:\n\n$3\n\nÐ\90ко Ð½Ð°Ð»Ð¾Ð³ *не* Ð¿Ñ\80ипада Ð²Ð°Ð¼Ð°, Ð¿Ñ\80аÑ\82иÑ\82е Ñ\81ледеÑ\9bÑ\83 Ð²ÐµÐ·Ñ\83 Ð´Ð° Ð¾Ñ\82кажеÑ\82е Ð¿Ð¾Ñ\82вÑ\80дÑ\83 Ð¸Ð¼ÐµÑ\98л адресе:\n\n$5\n\nОвај потврдни код истиче $4.",
+       "confirmemail_invalidated": "Ð\9fоÑ\82вÑ\80да Ð¸Ð¼ÐµÑ\98л Ð°Ð´Ñ\80еÑ\81е је отказана",
+       "invalidateemail": "Ð\9eÑ\82казиваÑ\9aе Ð¿Ð¾Ñ\82вÑ\80де Ð¸Ð¼ÐµÑ\98ла",
        "scarytranscludedisabled": "[Међувики укључивање шаблона је онемогућено]",
        "scarytranscludefailed": "[Добављање шаблона за $1 није успело]",
        "scarytranscludefailed-httpstatus": "[Не могу да преузмем шаблон $1: HTTP $2]",
        "htmlform-cloner-create": "Додај још",
        "htmlform-cloner-delete": "Уклони",
        "htmlform-cloner-required": "Бар једна вредност је потребна.",
-       "htmlform-title-not-exists": "[[:$1]] не постоји.",
+       "htmlform-title-not-exists": "$1 не постоји.",
        "htmlform-user-not-exists": "<strong>$1</strong> не постоји.",
        "htmlform-user-not-valid": "<strong>$1</strong> није исправно корисничко име.",
        "sqlite-has-fts": "$1 с подршком претраге целог текста",
        "logentry-newusers-newusers": "$1 је {{GENDER:$2|отворио|отворила}} кориснички налог",
        "logentry-newusers-create": "$1 је {{GENDER:$2|отворио|отворила}} кориснички налог",
        "logentry-newusers-create2": "$1 је {{GENDER:$2|отворио|отворила}} кориснички налог $3",
-       "logentry-newusers-byemail": "$1 Ñ\98е {{GENDER:$2|оÑ\82воÑ\80ио|оÑ\82воÑ\80ила}} ÐºÐ¾Ñ\80иÑ\81ниÑ\87ки Ð½Ð°Ð»Ð¾Ð³ $3 Ð¸ Ð»Ð¾Ð·Ð¸Ð½ÐºÐ° Ñ\98е Ð¿Ð¾Ñ\81лаÑ\82а Ð½Ð° Ðµ-поÑ\88Ñ\82Ñ\83",
+       "logentry-newusers-byemail": "$1 Ñ\98е {{GENDER:$2|оÑ\82воÑ\80ио|оÑ\82воÑ\80ила}} ÐºÐ¾Ñ\80иÑ\81ниÑ\87ки Ð½Ð°Ð»Ð¾Ð³ $3 Ð¸ Ð»Ð¾Ð·Ð¸Ð½ÐºÐ° Ñ\98е Ð¿Ð¾Ñ\81лаÑ\82а Ð½Ð° Ð¸Ð¼ÐµÑ\98л",
        "logentry-newusers-autocreate": "Кориснички налог $1 је аутоматски {{GENDER:$2|отворен}}",
        "logentry-protect-move_prot": "$1 је {{GENDER:$2|преместио|преместила}} поставке заштите са $4 на $3",
        "logentry-protect-unprotect": "$1 je {{GENDER:$2|скинуо|скинула}} заштиту са странице $3",
index 033a66c..9fc9329 100644 (file)
        "htmlform-cloner-required": "Det krävs minst ett värde.",
        "htmlform-title-badnamespace": "[[:$1]] är inte i \"{{ns:$2}}\"-namnrymden.",
        "htmlform-title-not-creatable": "\"$1\" är inte en sidtitel som kan skapas",
-       "htmlform-title-not-exists": "[[:$1]] finns inte.",
+       "htmlform-title-not-exists": "$1 finns inte.",
        "htmlform-user-not-exists": "<strong>$1</strong> finns inte.",
        "htmlform-user-not-valid": "<strong>$1</strong> är inte ett giltigt användarnamn.",
        "sqlite-has-fts": "$1 med stöd för fulltextsökning",
index 44d65fb..20a6f01 100644 (file)
        "htmlform-cloner-delete": "Sil",
        "htmlform-cloner-required": "En az bir değer gereklidir.",
        "htmlform-title-not-creatable": "\"$1\"oluşturulabilir bir sayfa ismi değil.",
-       "htmlform-title-not-exists": "[[:$1]] mevcut değil",
+       "htmlform-title-not-exists": "$1 mevcut değil",
        "htmlform-user-not-exists": "<strong>$1</strong> mevcut değil.",
        "htmlform-user-not-valid": "<strong>$1</strong> geçerli bir kullanıcı ismi değildir.",
        "sqlite-has-fts": "$1 tam-metin arama desteği ile",
index a623dcb..fd25872 100644 (file)
                        "Lxlalexlxl",
                        "Капитан Джон Шепард",
                        "Translatemyname",
-                       "Dars"
+                       "Dars",
+                       "Mix Gerder"
                ]
        },
        "tog-underline": "Підкреслювання посилань:",
        "tog-hideminor": "Приховати незначні редагування у списку останніх змін",
        "tog-hidepatrolled": "Приховувати патрульовані редагування у списку нових редагувань",
        "tog-newpageshidepatrolled": "Приховувати патрульовані сторінки у списку нових сторінок",
+       "tog-hidecategorization": "Приховати категоризацію сторінок",
        "tog-extendwatchlist": "Розгорнути список спостереження, щоб показати всі зміни, а не лише останні",
        "tog-usenewrc": "Групувати редагування на сторінках останніх змін та списку спостереження",
        "tog-numberheadings": "Автоматично нумерувати заголовки",
        "tog-watchlisthideliu": "Приховати редагування зареєстрованих дописувачів у списку спостереження",
        "tog-watchlisthideanons": "Приховати редагування анонімних користувачів у списку спостереження",
        "tog-watchlisthidepatrolled": "Приховати відпатрульовані редагування у списку спостереження",
+       "tog-watchlisthidecategorization": "Приховати категоризацію сторінок",
        "tog-ccmeonemails": "Надсилати мені копії листів, які я надсилаю іншим користувачам",
        "tog-diffonly": "Не показувати вміст сторінки під різницею версій",
        "tog-showhiddencats": "Показувати приховані категорії",
        "createaccountreason": "Причина:",
        "createacct-reason": "Причина",
        "createacct-reason-ph": "Чому ви створюєте інший обліковий запис",
-       "createacct-captcha": "Перевірка безпеки",
-       "createacct-imgcaptcha-ph": "Введіть текст, який ви бачите вище",
        "createacct-submit": "Створіть ваш обліковий запис",
        "createacct-another-submit": "Створити обліковий запис",
        "createacct-benefit-heading": "{{SITENAME}} створюється такими самими людьми, як і ви.",
        "permissionserrors": "Помилка доступу",
        "permissionserrorstext": "У вас нема прав на виконання цієї операції з {{PLURAL:$1|1=наступної причини|наступних причин}}:",
        "permissionserrorstext-withaction": "У вас нема дозволу на $2 з {{PLURAL:$1|1=такої причини|таких причин}}:",
+       "contentmodelediterror": "Ви не можете редагувати це доопрацювання, оскільки його зміст моделі становить <code>$1</code>, і в поточній моделі вмісту сторінки становить <code>$2</code>.",
        "recreate-moveddeleted-warn": "'''Попередження: ви намагаєтеся створити сторінку, яка раніше вже була вилучена.'''\n\nПеревірте, чи справді вам справді потрібно створювати цю сторінку.\nНижче, для зручності, наведений журнал вилучень і перейменувань:",
        "moveddeleted-notice": "Ця сторінка була вилучена.\nДля довідки нижче наведені відповідні записи з журналів вилучень і перейменувань.",
        "moveddeleted-notice-recent": "На жаль, ця сторінка нещодавно була вилучена (протягом останніх 24 годин). Для довідки нижче наведені відповідні записи з журналів вилучень і перейменувань.",
        "showingresultsinrange": "Нижче показано до {{PLURAL:$1|<strong>1</strong> результату|<strong>$1</strong> результатів}} у діапазоні від #<strong>$2</strong> до #<strong>$3</strong>.",
        "search-showingresults": "{{PLURAL:$4|Результат <strong>$1</strong> із <strong>$3</strong>|Результати <strong>$1 — $2</strong> із <strong>$3</strong>}}",
        "search-nonefound": "Не знайдено результатів, що відповідають запиту.",
+       "search-nonefound-thiswiki": "Немає результатів, що відповідають запиту на цьому сайті.",
        "powersearch-legend": "Розширений пошук",
        "powersearch-ns": "Пошук у просторах назв:",
        "powersearch-togglelabel": "Позначити:",
        "prefs-help-recentchangescount": "Це стосується нових редагувань, історій сторінок і журналів.",
        "prefs-help-watchlist-token2": "Це секретний ключ до веб-каналу вашого списку спостереження.\nБудь-хто, хто його знає, матиме можливість читати ваш список спостереження, тому не поширюйте його.\n[[Special:ResetTokens|Натисніть тут, якщо вам потрібно скинути його]].",
        "savedprefs": "Ваші налаштування збережено.",
+       "savedrights": "Права користувача {{GENDER:$1|$1}} були збережені.",
        "timezonelegend": "Часовий пояс:",
        "localtime": "Місцевий час:",
        "timezoneuseserverdefault": "Використовувати стандартне налаштування вікі ($1)",
        "rcshowhidemine": "$1 мої редагування",
        "rcshowhidemine-show": "показати",
        "rcshowhidemine-hide": "приховати",
+       "rcshowhidecategorization": "$1 категоризацію сторінок",
+       "rcshowhidecategorization-show": "Показати",
+       "rcshowhidecategorization-hide": "Приховати",
        "rclinks": "Показати останні $1 редагувань за $2 днів<br />$3",
        "diff": "різн.",
        "hist": "історія",
        "svg-long-error": "неправильний SVG-файл: $1",
        "show-big-image": "Повна роздільність",
        "show-big-image-preview": "Розмір при попередньому перегляді: $1.",
+       "show-big-image-preview-differ": "Розмір цього $3-превью для вихідного $2-файлу: $1.",
        "show-big-image-other": "{{PLURAL:$2|1=Інша роздільність|Інші роздільності}}: $1.",
        "show-big-image-size": "$1 × $2 пікселів",
        "file-info-gif-looped": "кільцеве",
        "htmlform-cloner-required": "Необхідно принаймні одне значення.",
        "htmlform-title-badnamespace": "[[:$1]] не в просторі назв «{{ns:$2}}».",
        "htmlform-title-not-creatable": "«$1» — назва сторінки, яку не можна створити",
-       "htmlform-title-not-exists": "[[:$1]] не існує.",
+       "htmlform-title-not-exists": "$1 не існує.",
        "htmlform-user-not-exists": "<strong>$1</strong> не існує.",
        "htmlform-user-not-valid": "<strong>$1</strong> не є дійсним іменем користувача.",
        "sqlite-has-fts": "$1 з підтримкою повнотекстового пошуку",
index 8703ea8..21cb4b2 100644 (file)
@@ -39,6 +39,7 @@
        "tog-hideminor": "Ẩn sửa đổi nhỏ trong thay đổi gần đây",
        "tog-hidepatrolled": "Ẩn sửa đổi đã tuần tra trong trang thay đổi gần đây",
        "tog-newpageshidepatrolled": "Ẩn trang đã tuần tra trong danh sách các trang mới",
+       "tog-hidecategorization": "Ẩn việc xếp thể loại",
        "tog-extendwatchlist": "Mở rộng danh sách theo dõi để hiển thị tất cả các thay đổi, chứ không chỉ các thay đổi gần đây",
        "tog-usenewrc": "Thu gọn các thay đổi theo trang trong thay đổi gần đây và danh sách theo dõi",
        "tog-numberheadings": "Tự động đánh số các đề mục",
@@ -68,6 +69,7 @@
        "tog-watchlisthideliu": "Ẩn sửa đổi của thành viên đã đăng nhập khỏi danh sách theo dõi",
        "tog-watchlisthideanons": "Ẩn sửa đổi của người dùng vô danh khỏi danh sách theo dõi",
        "tog-watchlisthidepatrolled": "Ẩn sửa đổi đã tuần tra trong danh sách theo dõi",
+       "tog-watchlisthidecategorization": "Ẩn việc xếp thể loại",
        "tog-ccmeonemails": "Gửi bản sao cho tôi khi gửi thư điện tử cho người khác",
        "tog-diffonly": "Không hiển thị nội dung trang dưới phần so sánh phiên bản",
        "tog-showhiddencats": "Hiển thị thể loại ẩn",
        "createaccountreason": "Lý do:",
        "createacct-reason": "Lý do",
        "createacct-reason-ph": "Nhập lý do tạo một tài khoản khác",
-       "createacct-captcha": "Kiểm tra an toàn",
-       "createacct-imgcaptcha-ph": "Nhập dòng chữ bạn thấy bên dưới",
        "createacct-submit": "Tạo tài khoản",
        "createacct-another-submit": "Mở tài khoản",
        "createacct-benefit-heading": "{{SITENAME}} được xây dựng bởi những người như bạn.",
        "rcshowhidemine": "$1 sửa đổi của tôi",
        "rcshowhidemine-show": "Hiện",
        "rcshowhidemine-hide": "Ẩn",
+       "rcshowhidecategorization": "$1 việc xếp thể loại",
+       "rcshowhidecategorization-show": "Hiện",
+       "rcshowhidecategorization-hide": "Ẩn",
        "rclinks": "Xem $1 sửa đổi gần đây nhất trong $2 ngày qua; $3.",
        "diff": "khác",
        "hist": "sử",
        "htmlform-cloner-required": "Cần ít nhất một giá trị.",
        "htmlform-title-badnamespace": "[[:$1]] không phải trong không gian tên “{{ns:$2}}”.",
        "htmlform-title-not-creatable": "Không cho phép tạo ra trang với tên “$1”",
-       "htmlform-title-not-exists": "[[:$1]] không tồn tại.",
+       "htmlform-title-not-exists": "$1 không tồn tại.",
        "htmlform-user-not-exists": "<strong>$1</strong> không tồn tại.",
        "htmlform-user-not-valid": "<strong>$1</strong> không phải là tên người dùng.",
        "sqlite-has-fts": "$1 với sự hỗ trợ tìm kiếm toàn văn",
index 8ef6803..2a5a3c9 100644 (file)
        "htmlform-cloner-required": "至少一个值是必需的。",
        "htmlform-title-badnamespace": "[[:$1]]不在“{{ns:$2}}”名字空间中。",
        "htmlform-title-not-creatable": "“$1”不是一个可创建的页面标题",
-       "htmlform-title-not-exists": "[[:$1]]不存在",
+       "htmlform-title-not-exists": "$1不存在",
        "htmlform-user-not-exists": "<strong>$1</strong>不存在。",
        "htmlform-user-not-valid": "<strong>$1</strong>不是一个有效的用户名。",
        "sqlite-has-fts": "带全文搜索的版本$1",
index fa14510..bf54690 100644 (file)
        "htmlform-cloner-required": "至少必須填寫一筆資料。",
        "htmlform-title-badnamespace": "[[:$1]] 不在 \"{{ns:$2}}\" 命名空間中。",
        "htmlform-title-not-creatable": "\"$1\" 並非可用來建立頁面的標題",
-       "htmlform-title-not-exists": "[[:$1]] 並不存在。",
+       "htmlform-title-not-exists": "$1 並不存在。",
        "htmlform-user-not-exists": "<strong>$1</strong> 並不存在。",
        "htmlform-user-not-valid": "<strong>$1</strong> 不是有效的使用者名稱。",
        "sqlite-has-fts": "$1 且支援全文搜索",
index 2ee406f..eac277a 100644 (file)
@@ -105,12 +105,12 @@ class FindOrphanedFiles extends Maintenance {
                                        $dbr->selectSQLText(
                                                'image',
                                                array( 'name' => 'img_name' ),
-                                               array( 'img_name' => $imgIN )
+                                               $imgIN ? array( 'img_name' => $imgIN ) : '1=0'
                                        ),
                                        $dbr->selectSQLText(
                                                'oldimage',
                                                array( 'name' => 'oi_archive_name' ),
-                                               $dbr->makeList( $oiWheres, LIST_OR )
+                                               $oiWheres ? $dbr->makeList( $oiWheres, LIST_OR ) : '1=0'
                                        )
                                ),
                                true // UNION ALL (performance)
@@ -132,7 +132,7 @@ class FindOrphanedFiles extends Maintenance {
                        } else {
                                $file = $repo->newFile( $name );
                        }
-                       $this->output( $name . "\n" . $file->getUrl() . "\n\n" );
+                       $this->output( $name . "\n" . $file->getCanonicalUrl() . "\n\n" );
                }
        }
 }
index 717e2ec..8595386 100644 (file)
         */
        mw.ForeignStructuredUpload.BookletLayout.prototype.getText = function () {
                var language = mw.config.get( 'wgContentLanguage' );
+               this.upload.clearDescriptions();
                this.upload.addDescription( language, this.descriptionWidget.getValue() );
                this.upload.setDate( this.dateWidget.getValue() );
+               this.upload.clearCategories();
                this.upload.addCategories( this.categoriesWidget.getItemsData() );
                return this.upload.getText();
        };
index dd28ddd..c336676 100644 (file)
                }
        };
 
+       /**
+        * Empty the list of categories for the upload.
+        */
+       ForeignStructuredUpload.prototype.clearCategories = function () {
+               this.categories = [];
+       };
+
        /**
         * Add a description to the upload.
         *
                } );
        };
 
+       /**
+        * Empty the list of descriptions for the upload.
+        */
+       ForeignStructuredUpload.prototype.clearDescriptions = function () {
+               this.descriptions = [];
+       };
+
        /**
         * Set the date of creation for the upload.
         *
@@ -70,6 +84,7 @@
         */
        ForeignStructuredUpload.prototype.getText = function () {
                return (
+                       '== {{int:filedesc}} ==\n' +
                        '{{' +
                        this.getTemplateName() +
                        '\n|description=' +
@@ -81,6 +96,7 @@
                        '\n|author=' +
                        this.getUser() +
                        '\n}}\n\n' +
+                       '== {{int:license-header}} ==\n' +
                        this.getLicense() +
                        '\n\n' +
                        this.getCategories()
         * @return {string}
         */
        ForeignStructuredUpload.prototype.getUser = function () {
-               return mw.config.get( 'wgUserName' );
+               var username = mw.config.get( 'wgUserName' );
+               // Do not localise 'User:', we don't know the language of target wiki
+               return '[[User:' + username + '|' + username + ']]';
        };
 
        mw.ForeignStructuredUpload = ForeignStructuredUpload;
index 2e89f6b..bf0884b 100644 (file)
                                        $el.attr( 'href', textify( arg ) );
                                }
                        }
-                       return appendWithoutParsing( $el, contents );
+                       return appendWithoutParsing( $el.empty(), contents );
                },
 
                /**
index 24528bb..f65ff16 100644 (file)
                assert.equal( logSpy.callCount, 2, 'mw.log.warn calls' );
        } );
 
-       QUnit.test( 'Integration', 4, function ( assert ) {
-               var expected, logSpy;
+       QUnit.test( 'Integration', 5, function ( assert ) {
+               var expected, logSpy, msg;
 
                expected = '<b><a title="Bold" href="/wiki/Bold">Bold</a>!</b>';
                mw.messages.set( 'integration-test', '<b>[[Bold]]!</b>' );
                        expected,
                        'jQuery plugin $.fn.msg() works correctly'
                );
+
+               mw.messages.set( 'integration-test-extlink', '[$1 Link]' );
+               msg = mw.message(
+                       'integration-test-extlink',
+                       $( '<a>' ).attr( 'href', 'http://example.com/' )
+               );
+               msg.parse(); // Not a no-op
+               assert.equal(
+                       msg.parse(),
+                       '<a href="http://example.com/">Link</a>',
+                       'Calling .parse() multiple times does not duplicate link contents'
+               );
        } );
 
 }( mediaWiki, jQuery ) );
index c699bb1..34f641d 100644 (file)
--- a/thumb.php
+++ b/thumb.php
@@ -420,18 +420,15 @@ function wfGenerateThumbnail( File $file, array $params, $thumbName, $thumbPath
                                'doWork' => function () use ( $file, $params ) {
                                        return $file->transform( $params, File::RENDER_NOW );
                                },
-                               'getCachedWork' => function () use ( $file, $params, $thumbPath ) {
+                               'doCachedWork' => function () use ( $file, $params, $thumbPath ) {
                                        // If the worker that finished made this thumbnail then use it.
                                        // Otherwise, it probably made a different thumbnail for this file.
                                        return $file->getRepo()->fileExists( $thumbPath )
                                                ? $file->transform( $params, File::RENDER_NOW )
                                                : false; // retry once more in exclusive mode
                                },
-                               'fallback' => function () {
-                                       return wfMessage( 'generic-pool-error' )->parse();
-                               },
                                'error' => function ( Status $status ) {
-                                       return $status->getHTML();
+                                       return wfMessage( 'generic-pool-error' )->parse() . '<hr>' . $status->getHTML();
                                }
                        )
                );