Merge "API: Update query modules for MCR"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Mon, 30 Jul 2018 22:40:40 +0000 (22:40 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Mon, 30 Jul 2018 22:40:40 +0000 (22:40 +0000)
103 files changed:
RELEASE-NOTES-1.32
docs/hooks.txt
includes/DefaultSettings.php
includes/GlobalFunctions.php
includes/MWGrants.php
includes/MediaWikiServices.php
includes/OutputPage.php
includes/Title.php
includes/actions/HistoryAction.php
includes/api/ApiQueryLogEvents.php
includes/api/i18n/es.json
includes/api/i18n/fr.json
includes/api/i18n/pt.json
includes/api/i18n/sv.json
includes/api/i18n/zh-hans.json
includes/api/i18n/zh-hant.json
includes/cache/CacheHelper.php
includes/cache/localisation/LocalisationCache.php
includes/installer/Installer.php
includes/installer/MssqlUpdater.php
includes/installer/WebInstallerName.php
includes/installer/i18n/fa.json
includes/installer/i18n/gl.json
includes/installer/i18n/tl.json
includes/libs/lockmanager/LockManager.php
includes/media/Exif.php
includes/specials/SpecialLog.php
includes/specials/SpecialNewpages.php
includes/specials/SpecialWatchlist.php
includes/user/User.php
languages/i18n/ami.json [new file with mode: 0644]
languages/i18n/ar.json
languages/i18n/be-tarask.json
languages/i18n/bg.json
languages/i18n/bqi.json
languages/i18n/bs.json
languages/i18n/ca.json
languages/i18n/ckb.json
languages/i18n/cs.json
languages/i18n/da.json
languages/i18n/de.json
languages/i18n/el.json
languages/i18n/en.json
languages/i18n/et.json
languages/i18n/eu.json
languages/i18n/fa.json
languages/i18n/fi.json
languages/i18n/fr.json
languages/i18n/gl.json
languages/i18n/got.json
languages/i18n/gu.json
languages/i18n/he.json
languages/i18n/hi.json
languages/i18n/hu.json
languages/i18n/hyw.json [new file with mode: 0644]
languages/i18n/it.json
languages/i18n/ka.json
languages/i18n/ko.json
languages/i18n/lb.json
languages/i18n/mk.json
languages/i18n/ml.json
languages/i18n/nb.json
languages/i18n/nl.json
languages/i18n/nn.json
languages/i18n/or.json
languages/i18n/pl.json
languages/i18n/ps.json
languages/i18n/pt.json
languages/i18n/qqq.json
languages/i18n/ru.json
languages/i18n/sat.json
languages/i18n/sd.json
languages/i18n/shi.json
languages/i18n/sl.json
languages/i18n/sr-ec.json
languages/i18n/sr-el.json
languages/i18n/sv.json
languages/i18n/te.json
languages/i18n/tl.json
languages/i18n/uk.json
languages/i18n/ur.json
languages/i18n/zh-hans.json
languages/i18n/zh-hant.json
maintenance/createAndPromote.php
maintenance/mssql/archives/patch-actor-table.sql
maintenance/mssql/archives/patch-comment-table.sql
maintenance/mssql/archives/patch-content.sql
maintenance/mssql/archives/patch-slots.sql
maintenance/mssql/tables.sql
maintenance/oracle/archives/patch-actor-table.sql
maintenance/oracle/archives/patch-comment-table.sql
maintenance/oracle/tables.sql
maintenance/rebuildrecentchanges.php
resources/Resources.php
resources/src/mediawiki.special/newpages.less [new file with mode: 0644]
tests/phpunit/MediaWikiTestCase.php
tests/phpunit/includes/OutputPageTest.php
tests/phpunit/includes/api/ApiTestCase.php
tests/phpunit/includes/filebackend/FileBackendTest.php
tests/phpunit/includes/search/SearchEngineTest.php
tests/phpunit/includes/user/UserTest.php
tests/phpunit/structure/AvailableRightsTest.php
tests/phpunit/suites/ParserTestTopLevelSuite.php

index ce0b5c5..9c6609b 100644 (file)
@@ -29,6 +29,14 @@ production.
 * The archive table's ar_rev_id field is now unique.
 * Special:BotPasswords now requires reauthentication.
 * (T194414) The default watchlist view time has been increased from 3 to 7 days.
+* The right to edit sitewide Javascript (e.g. MediaWiki:Common.js), CSS or JSON
+  was separated from 'editinterface' and is available under
+  'editsitejs'/'editsitecss'/'editsitejson'. Having 'editinterface' is still
+  necessary to edit such pages.
+* A new user group, 'interface-admin', is added for controlling access to
+  sitewide CSS/JS (and editing other users' CSS/JS). No other group has
+  'editsitecss', 'editusercss', 'editsitejs' or 'edituserjs' by default.
+* A new grant group, 'editsiteconfig', is added for granting the above rights.
 
 === New features in 1.32 ===
 * (T112474) Generalized the ResourceLoader mechanism for overriding modules
@@ -56,6 +64,8 @@ production.
 * Added new 'OutputPageAfterGetHeadLinksArray' hook, allowing extensions to
   modify the return value of OutputPage#getHeadLinksArray in order to add,
   remove or otherwise alter the elements to be output in the page <head>.
+* (T28934) The 'HistoryPageToolLinks' hook allows extensions to append
+  additional links to the subtitle of a history page.
 
 === External library changes in 1.32 ===
 * …
@@ -217,6 +227,8 @@ because of Phabricator reports.
   CapsuleMultiselectWidget. The following methods may no longer be used:
   * setItemsFromData: Use setValue instead
   * getItemsData: Use getItems instead and get the data property
+* Two OutputPage methods, addMetadataLink() and getMetadataAttribute(), were
+  removed.  Use addLink() instead.
 
 === Deprecations in 1.32 ===
 * Use of a StartProfiler.php file is deprecated in favour of placing
@@ -311,6 +323,7 @@ because of Phabricator reports.
   do your own lookup for page/content. mNewRev / mOldRev remains public.
 * The $wgExternalDiffEngine value 'wikidiff2' is deprecated. To use wikidiff2
   just enable the PHP extension, and it will be autodetected.
+* The wfUseMW function, soft-deprecated in 1.26, is now hard deprecated.
 
 === Other changes in 1.32 ===
 * (T198811) The following tables have had their UNIQUE indexes turned into
index 40777da..251bea6 100644 (file)
@@ -1823,6 +1823,11 @@ $rev: Revision object
 $prevRev: Revision object, next in line in page history, or null
 $user: Current user object
 
+'HistoryPageToolLinks': Add one or more links to revision history page subtitle.
+$context: IContextSource (object)
+$linkRenderer: LinkRenderer instance
+&$links: Array of HTML strings
+
 'HTMLFileCache::useFileCache': Override whether a page should be cached in file
 cache.
 $context: An IContextSource object with information about the request being
index 13d5368..03dbfb9 100644 (file)
@@ -4548,6 +4548,12 @@ $wgPasswordPolicy = [
                        'PasswordCannotMatchUsername' => true,
                        'PasswordCannotBePopular' => 25,
                ],
+               'interface-admin' => [
+                       'MinimalPasswordLength' => 8,
+                       'MinimumPasswordLengthToLogin' => 1,
+                       'PasswordCannotMatchUsername' => true,
+                       'PasswordCannotBePopular' => 25,
+               ],
                'bot' => [
                        'MinimalPasswordLength' => 8,
                        'MinimumPasswordLengthToLogin' => 1,
@@ -5217,9 +5223,8 @@ $wgGroupPermissions['sysop']['deletedhistory'] = true;
 $wgGroupPermissions['sysop']['deletedtext'] = true;
 $wgGroupPermissions['sysop']['undelete'] = true;
 $wgGroupPermissions['sysop']['editinterface'] = true;
-$wgGroupPermissions['sysop']['editusercss'] = true;
+$wgGroupPermissions['sysop']['editsitejson'] = true;
 $wgGroupPermissions['sysop']['edituserjson'] = true;
-$wgGroupPermissions['sysop']['edituserjs'] = true;
 $wgGroupPermissions['sysop']['import'] = true;
 $wgGroupPermissions['sysop']['importupload'] = true;
 $wgGroupPermissions['sysop']['move'] = true;
@@ -5252,6 +5257,14 @@ $wgGroupPermissions['sysop']['mergehistory'] = true;
 $wgGroupPermissions['sysop']['managechangetags'] = true;
 $wgGroupPermissions['sysop']['deletechangetags'] = true;
 
+$wgGroupPermissions['interface-admin']['editinterface'] = true;
+$wgGroupPermissions['interface-admin']['editsitecss'] = true;
+$wgGroupPermissions['interface-admin']['editsitejson'] = true;
+$wgGroupPermissions['interface-admin']['editsitejs'] = true;
+$wgGroupPermissions['interface-admin']['editusercss'] = true;
+$wgGroupPermissions['interface-admin']['edituserjson'] = true;
+$wgGroupPermissions['interface-admin']['edituserjs'] = true;
+
 // Permission to change users' group assignments
 $wgGroupPermissions['bureaucrat']['userrights'] = true;
 $wgGroupPermissions['bureaucrat']['noratelimit'] = true;
@@ -5858,9 +5871,14 @@ $wgGrantPermissions['editmyoptions']['editmyoptions'] = true;
 
 $wgGrantPermissions['editinterface'] = $wgGrantPermissions['editpage'];
 $wgGrantPermissions['editinterface']['editinterface'] = true;
-$wgGrantPermissions['editinterface']['editusercss'] = true;
 $wgGrantPermissions['editinterface']['edituserjson'] = true;
-$wgGrantPermissions['editinterface']['edituserjs'] = true;
+$wgGrantPermissions['editinterface']['editsitejson'] = true;
+
+$wgGrantPermissions['editsiteconfig'] = $wgGrantPermissions['editinterface'];
+$wgGrantPermissions['editsiteconfig']['editusercss'] = true;
+$wgGrantPermissions['editsiteconfig']['edituserjs'] = true;
+$wgGrantPermissions['editsiteconfig']['editsitecss'] = true;
+$wgGrantPermissions['editsiteconfig']['editsitejs'] = true;
 
 $wgGrantPermissions['createeditmovepage'] = $wgGrantPermissions['editpage'];
 $wgGrantPermissions['createeditmovepage']['createpage'] = true;
@@ -5939,6 +5957,7 @@ $wgGrantPermissionGroups = [
        'editmyoptions'       => 'customization',
 
        'editinterface'       => 'administration',
+       'editsiteconfig'      => 'administration',
        'rollback'            => 'administration',
        'blockusers'          => 'administration',
        'delete'              => 'administration',
@@ -7726,6 +7745,9 @@ $wgCategoryCollation = 'uppercase';
  * general category and can be viewed as a named subset of all logs; and
  * an action, which is a specific kind of event that can exist in that
  * log type.
+ *
+ * Note that code should call LogPage::validTypes() to get a list of valid
+ * log types instead of checking the global variable.
  */
 $wgLogTypes = [
        '',
index aa8aee5..4a09b9c 100644 (file)
@@ -2529,6 +2529,8 @@ function wfUsePHP( $req_ver ) {
 function wfUseMW( $req_ver ) {
        global $wgVersion;
 
+       wfDeprecated( __FUNCTION__, '1.26' );
+
        if ( version_compare( $wgVersion, (string)$req_ver, '<' ) ) {
                throw new MWException( "MediaWiki $req_ver required--this is only $wgVersion" );
        }
index ba22590..769e5b4 100644 (file)
@@ -58,11 +58,11 @@ class MWGrants {
                // Give grep a chance to find the usages:
                // grant-blockusers, grant-createeditmovepage, grant-delete,
                // grant-editinterface, grant-editmycssjs, grant-editmywatchlist,
-               // grant-editpage, grant-editprotected, grant-highvolume,
-               // grant-oversight, grant-patrol, grant-protect, grant-rollback,
-               // grant-sendemail, grant-uploadeditmovefile, grant-uploadfile,
-               // grant-basic, grant-viewdeleted, grant-viewmywatchlist,
-               // grant-createaccount
+               // grant-editsiteconfig, grant-editpage, grant-editprotected,
+               // grant-highvolume, grant-oversight, grant-patrol, grant-protect,
+               // grant-rollback, grant-sendemail, grant-uploadeditmovefile,
+               // grant-uploadfile, grant-basic, grant-viewdeleted,
+               // grant-viewmywatchlist, grant-createaccount
                $msg = wfMessage( "grant-$grant" );
                if ( $lang !== null ) {
                        if ( is_string( $lang ) ) {
index 7a4c2df..fba15c1 100644 (file)
@@ -857,6 +857,7 @@ class MediaWikiServices extends ServiceContainer {
        }
 
        /**
+        * @since 1.32
         * @return ConfigRepository
         */
        public function getConfigRepository() {
index 4e7c0bb..19810fc 100644 (file)
@@ -403,18 +403,6 @@ class OutputPage extends ContextSource {
                return $this->mLinktags;
        }
 
-       /**
-        * Add a new \<link\> with "rel" attribute set to "meta"
-        *
-        * @param array $linkarr Associative array mapping attribute names to their
-        *                 values, both keys and values will be escaped, and the
-        *                 "rel" attribute will be automatically added
-        */
-       function addMetadataLink( array $linkarr ) {
-               $linkarr['rel'] = $this->getMetadataAttribute();
-               $this->addLink( $linkarr );
-       }
-
        /**
         * Set the URL to be used for the <link rel=canonical>. This should be used
         * in preference to addLink(), to avoid duplicate link tags.
@@ -435,22 +423,6 @@ class OutputPage extends ContextSource {
                return $this->mCanonicalUrl;
        }
 
-       /**
-        * Get the value of the "rel" attribute for metadata links
-        *
-        * @return string
-        */
-       public function getMetadataAttribute() {
-               # note: buggy CC software only reads first "meta" link
-               static $haveMeta = false;
-               if ( $haveMeta ) {
-                       return 'alternate meta';
-               } else {
-                       $haveMeta = true;
-                       return 'meta';
-               }
-       }
-
        /**
         * Add raw HTML to the list of scripts (including \<script\> tag, etc.)
         * Internal use only. Use OutputPage::addModules() or OutputPage::addJsConfigVars()
@@ -808,7 +780,7 @@ class OutputPage extends ContextSource {
                # this breaks strtotime().
                $clientHeader = preg_replace( '/;.*$/', '', $clientHeader );
 
-               Wikimedia\suppressWarnings(); // E_STRICT system time bitching
+               Wikimedia\suppressWarnings(); // E_STRICT system time warnings
                $clientHeaderTime = strtotime( $clientHeader );
                Wikimedia\restoreWarnings();
                if ( !$clientHeaderTime ) {
@@ -1262,7 +1234,7 @@ class OutputPage extends ContextSource {
         *                               (e.g. 'fr:Test page')
         */
        public function addLanguageLinks( array $newLinkArray ) {
-               $this->mLanguageLinks += $newLinkArray;
+               $this->mLanguageLinks = array_merge( $this->mLanguageLinks, $newLinkArray );
        }
 
        /**
@@ -1800,7 +1772,8 @@ class OutputPage extends ContextSource {
         * @param ParserOutput $parserOutput
         */
        public function addParserOutputMetadata( $parserOutput ) {
-               $this->mLanguageLinks += $parserOutput->getLanguageLinks();
+               $this->mLanguageLinks =
+                       array_merge( $this->mLanguageLinks, $parserOutput->getLanguageLinks() );
                $this->addCategoryLinks( $parserOutput->getCategories() );
                $this->setIndicators( $parserOutput->getIndicators() );
                $this->mNewSectionLink = $parserOutput->getNewSection();
index f6bc947..d3e0622 100644 (file)
@@ -1293,12 +1293,9 @@ class Title implements LinkTarget {
         */
        public function isSiteConfigPage() {
                return (
-                       NS_MEDIAWIKI == $this->mNamespace
-                       && (
-                               $this->hasContentModel( CONTENT_MODEL_CSS )
-                               || $this->hasContentModel( CONTENT_MODEL_JSON )
-                               || $this->hasContentModel( CONTENT_MODEL_JAVASCRIPT )
-                       )
+                       $this->isSiteCssConfigPage()
+                       || $this->isSiteJsonConfigPage()
+                       || $this->isSiteJsConfigPage()
                );
        }
 
@@ -1321,13 +1318,9 @@ class Title implements LinkTarget {
         */
        public function isUserConfigPage() {
                return (
-                       NS_USER == $this->mNamespace
-                       && $this->isSubpage()
-                       && (
-                               $this->hasContentModel( CONTENT_MODEL_CSS )
-                               || $this->hasContentModel( CONTENT_MODEL_JSON )
-                               || $this->hasContentModel( CONTENT_MODEL_JAVASCRIPT )
-                       )
+                       $this->isUserCssConfigPage()
+                       || $this->isUserJsonConfigPage()
+                       || $this->isUserJsConfigPage()
                );
        }
 
@@ -1427,6 +1420,60 @@ class Title implements LinkTarget {
                return $this->isUserJsConfigPage();
        }
 
+       /**
+        * Is this a sitewide CSS "config" page?
+        *
+        * @return bool
+        * @since 1.32
+        */
+       public function isSiteCssConfigPage() {
+               return (
+                       NS_MEDIAWIKI == $this->mNamespace
+                       && (
+                               $this->hasContentModel( CONTENT_MODEL_CSS )
+                               // paranoia - a MediaWiki: namespace page with mismatching extension and content
+                               // model is probably by mistake and might get handled incorrectly (see e.g. T112937)
+                               || substr( $this->getDBkey(), -4 ) === '.css'
+                       )
+               );
+       }
+
+       /**
+        * Is this a sitewide JSON "config" page?
+        *
+        * @return bool
+        * @since 1.32
+        */
+       public function isSiteJsonConfigPage() {
+               return (
+                       NS_MEDIAWIKI == $this->mNamespace
+                       && (
+                               $this->hasContentModel( CONTENT_MODEL_JSON )
+                               // paranoia - a MediaWiki: namespace page with mismatching extension and content
+                               // model is probably by mistake and might get handled incorrectly (see e.g. T112937)
+                               || substr( $this->getDBkey(), -5 ) === '.json'
+                       )
+               );
+       }
+
+       /**
+        * Is this a sitewide JS "config" page?
+        *
+        * @return bool
+        * @since 1.31
+        */
+       public function isSiteJsConfigPage() {
+               return (
+                       NS_MEDIAWIKI == $this->mNamespace
+                       && (
+                               $this->hasContentModel( CONTENT_MODEL_JAVASCRIPT )
+                               // paranoia - a MediaWiki: namespace page with mismatching extension and content
+                               // model is probably by mistake and might get handled incorrectly (see e.g. T112937)
+                               || substr( $this->getDBkey(), -3 ) === '.js'
+                       )
+               );
+       }
+
        /**
         * Is this a talk page of some sort?
         *
@@ -2317,6 +2364,33 @@ class Title implements LinkTarget {
                return $errors;
        }
 
+       /**
+        * Check sitewide CSS/JSON/JS permissions
+        *
+        * @param string $action The action to check
+        * @param User $user User to check
+        * @param array $errors List of current errors
+        * @param string $rigor Same format as Title::getUserPermissionsErrors()
+        * @param bool $short Short circuit on first error
+        *
+        * @return array List of errors
+        */
+       private function checkSiteConfigPermissions( $action, $user, $errors, $rigor, $short ) {
+               if ( $action != 'patrol' ) {
+                       // Sitewide CSS/JSON/JS changes, like all NS_MEDIAWIKI changes, also require the
+                       // editinterface right. That's implemented as a restriction so no check needed here.
+                       if ( $this->isSiteCssConfigPage() && !$user->isAllowed( 'editsitecss' ) ) {
+                               $errors[] = [ 'sitecssprotected', $action ];
+                       } elseif ( $this->isSiteJsonConfigPage() && !$user->isAllowed( 'editsitejson' ) ) {
+                               $errors[] = [ 'sitejsonprotected', $action ];
+                       } elseif ( $this->isSiteJsConfigPage() && !$user->isAllowed( 'editsitejs' ) ) {
+                               $errors[] = [ 'sitejsprotected', $action ];
+                       }
+               }
+
+               return $errors;
+       }
+
        /**
         * Check CSS/JSON/JS sub-page permissions
         *
@@ -2705,10 +2779,10 @@ class Title implements LinkTarget {
                                'checkReadPermissions',
                                'checkUserBlock', // for wgBlockDisablesLogin
                        ];
-               # Don't call checkSpecialsAndNSPermissions or checkUserConfigPermissions
-               # here as it will lead to duplicate error messages. This is okay to do
-               # since anywhere that checks for create will also check for edit, and
-               # those checks are called for edit.
+               # Don't call checkSpecialsAndNSPermissions, checkSiteConfigPermissions
+               # or checkUserConfigPermissions here as it will lead to duplicate
+               # error messages. This is okay to do since anywhere that checks for
+               # create will also check for edit, and those checks are called for edit.
                } elseif ( $action == 'create' ) {
                        $checks = [
                                'checkQuickPermissions',
@@ -2723,6 +2797,7 @@ class Title implements LinkTarget {
                                'checkQuickPermissions',
                                'checkPermissionHooks',
                                'checkSpecialsAndNSPermissions',
+                               'checkSiteConfigPermissions',
                                'checkUserConfigPermissions',
                                'checkPageRestrictions',
                                'checkCascadingSourcesRestrictions',
index 20637fc..1a15fc0 100644 (file)
@@ -62,12 +62,25 @@ class HistoryAction extends FormlessAction {
 
        protected function getDescription() {
                // Creation of a subtitle link pointing to [[Special:Log]]
-               return MediaWikiServices::getInstance()->getLinkRenderer()->makeKnownLink(
+               $linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer();
+               $subtitle = $linkRenderer->makeKnownLink(
                        SpecialPage::getTitleFor( 'Log' ),
                        $this->msg( 'viewpagelogs' )->text(),
                        [],
                        [ 'page' => $this->getTitle()->getPrefixedText() ]
                );
+
+               $links = [];
+               // Allow extensions to add more links
+               Hooks::run( 'HistoryPageToolLinks', [ $this->getContext(), $linkRenderer, &$links ] );
+               if ( $links ) {
+                       $subtitle .= ''
+                               . $this->msg( 'word-separator' )->escaped()
+                               . $this->msg( 'parentheses' )
+                                       ->rawParams( $this->getLanguage()->pipeList( $links ) )
+                                       ->escaped();
+               }
+               return $subtitle;
        }
 
        /**
index 8fd1ed5..a6b97dd 100644 (file)
@@ -418,7 +418,7 @@ class ApiQueryLogEvents extends ApiQueryBase {
                                ApiBase::PARAM_HELP_MSG_PER_VALUE => [],
                        ],
                        'type' => [
-                               ApiBase::PARAM_TYPE => $config->get( 'LogTypes' )
+                               ApiBase::PARAM_TYPE => LogPage::validTypes(),
                        ],
                        'action' => [
                                // validation on request is done in execute()
index 00759e8..b23a5f8 100644 (file)
        "apiwarn-invalidxmlstylesheetns": "La hoja de estilos debería estar en el espacio de nombres {{ns:MediaWiki}}.",
        "apiwarn-moduleswithoutvars": "La propiedad <kbd>modules</kbd> está definida, pero no lo está <kbd>jsconfigvars</kbd> ni <kbd>encodedjsconfigvars</kbd>. Las variables de configuración son necesarias para el correcto uso del módulo.",
        "apiwarn-notfile": "\"$1\" no es un archivo.",
+       "apiwarn-nothumb-noimagehandler": "No se pudo crear la miniatura porque «$1» no tiene ningún manipulador de imágenes asociado.",
        "apiwarn-parse-nocontentmodel": "No se proporcionó <var>title</var> ni <var>contentmodel</var>. Se asume $1.",
        "apiwarn-tokennotallowed": "La acción «$1» no está permitida para el usuario actual.",
        "apiwarn-truncatedresult": "Se ha truncado este resultado porque de otra manera sobrepasaría el límite de $1 bytes.",
index 9f2a06f..32c0192 100644 (file)
        "apierror-emptynewsection": "Il n'est pas possible de créer de nouvelles sections vides.",
        "apierror-emptypage": "Il n'est pas possible de créer de nouvelles pages vides.",
        "apierror-exceptioncaught": "[$1] Exception interceptée: $2",
+       "apierror-exceptioncaughttype": "[$1] Exception interceptée de type $2",
        "apierror-filedoesnotexist": "Le fichier n’existe pas.",
        "apierror-fileexists-sharedrepo-perm": "Le fichier cible existe dans un dépôt partagé. Utilisr le paramètre <var>ignorewarnings</var> pour l’écraser.",
        "apierror-filenopath": "Il n'est pas possible de récupérer le chemin du fichier local.",
index a58dec1..49b66a7 100644 (file)
        "apierror-deletedrevs-param-not-3": "O parâmetro <var>$1</var> não pode ser usado no modo 3.",
        "apierror-emptynewsection": "Não é possível criar secções novas vazias.",
        "apierror-emptypage": "Não é permitido criar páginas novas vazias.",
-       "apierror-exceptioncaught": "[$1] Exceção intercetada: $2",
+       "apierror-exceptioncaught": "[$1] Exceção capturada: $2",
+       "apierror-exceptioncaughttype": "[$1] Foi capturada uma exceção do tipo $2",
        "apierror-filedoesnotexist": "O ficheiro não existe.",
        "apierror-fileexists-sharedrepo-perm": "O ficheiro de destino já existe num repositório partilhado. Use o parâmetro <var>ignorewarnings</var> para substituí-lo.",
        "apierror-filenopath": "Não é possível obter o caminho local do ficheiro.",
index 5c0a12e..20dc919 100644 (file)
        "api-help-param-maxchars": "Kan inte vara längre än $1 {{PLURAL:$1|tecken}}.",
        "apierror-articleexists": "Artikeln du försökte skapa har redan skapats.",
        "apierror-baddiff": "Diff kan inte hämtas. En eller båda sidversioner finns inte eller du har inte behörighet för att visa dem.",
+       "apierror-exceptioncaughttype": "[$1] Fångade undantag av typen $2",
        "apierror-invalidoldimage": "Parametern <var>oldimage</var> har ett ogiltigt format.",
        "apierror-invalidsection": "Parametern <var>section</var> måste vara ett giltigt avsnitts-ID eller <kbd>new</kbd>.",
        "apierror-maxbytes": "Parametern <var>$1</var> kan inte var längre än $2 {{PLURAL:$2|byte}}",
index 5b9c2e4..2509d8d 100644 (file)
@@ -24,7 +24,8 @@
                        "D41D8CD98F",
                        "Umherirrender",
                        "NeverBehave",
-                       "Wbxshiori"
+                       "Wbxshiori",
+                       "Wxyveronica"
                ]
        },
        "apihelp-main-extended-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:Special:MyLanguage/API:Main_page|文档]]\n* [[mw:Special:MyLanguage/API: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>MediaWiki API是一个成熟稳定的,不断受到支持和改进的界面。尽管我们尽力避免,但偶尔也需要作出重大更新;请订阅[https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ mediawiki-api-announce 邮件列表]以便获得更新通知。\n\n<strong>错误请求:</strong>当API收到错误请求时,HTTP header将会返回一个包含\"MediaWiki-API-Error\"的值,随后header的值与error code将会送回并设置为相同的值。详细信息请参阅[[mw:Special:MyLanguage/API:Errors_and_warnings|API:错误与警告]]。\n\n<p class=\"mw-apisandbox-link\"><strong>测试中:</strong>测试API请求的易用性,请参见[[Special:ApiSandbox]]。</p>",
        "apierror-emptynewsection": "无法创建空白新章节。",
        "apierror-emptypage": "不允许创建新的,空白的页面。",
        "apierror-exceptioncaught": "[$1]捕获异常:$2",
+       "apierror-exceptioncaughttype": "[$1]发现$2类型异常",
        "apierror-filedoesnotexist": "文件不存在。",
        "apierror-fileexists-sharedrepo-perm": "目标文件存在于共享存储库。使用<var>ignorewarnings</var>参数覆盖它。",
        "apierror-filenopath": "不能获取本地文件路径。",
index 8e96b31..9f101b6 100644 (file)
@@ -18,7 +18,7 @@
                        "Sanmosa"
                ]
        },
-       "apihelp-main-extended-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:Special:MyLanguage/API:Main_page|說明文件]]\n* [[mw:Special:MyLanguage/API: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收到錯誤的請求,會發出以「MediaWiki-API-Error」為鍵的HTTP標頭欄位,隨後標頭欄位的值,以及傳回的錯誤碼會設為相同值。詳細資訊請參閱[[mw:Special:MyLanguage/API:Errors_and_warnings|API: 錯誤與警告]]。\n\n<strong>測試:</strong>要簡化API請求的測試過程,請見[[Special:ApiSandbox]]。",
+       "apihelp-main-extended-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:Special:MyLanguage/API:Main_page|說明文件]]\n* [[mw:Special:MyLanguage/API: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收到錯誤的請求,會發出以「MediaWiki-API-Error」為鍵的HTTP標頭欄位,隨後標頭欄位的值,以及傳回的錯誤碼會設為相同值。詳細資訊請參閱[[mw:Special:MyLanguage/API:Errors_and_warnings|API: 錯誤與警告]]。\n\n<strong>測試:</strong>要簡化API請求的測試過程,請見[[Special:ApiSandbox]]。",
        "apihelp-main-param-action": "要執行的動作。",
        "apihelp-main-param-format": "輸出的格式。",
        "apihelp-main-param-smaxage": "將HTTP緩存控制頭欄位設為<code>s-maxage</code>秒。錯誤不會做緩存。",
index 9db8166..6c6b184 100644 (file)
@@ -350,7 +350,7 @@ class CacheHelper implements ICacheHelper {
                        throw new MWException( 'No cache key set, so cannot obtain or save the CacheHelper values.' );
                }
 
-               return wfMemcKey( ...$this->cacheKey );
+               return wfMemcKey( ...array_values( $this->cacheKey ) );
        }
 
        /**
index 90108eb..9e2a2fd 100644 (file)
@@ -524,7 +524,12 @@ class LocalisationCache {
                Wikimedia\restoreWarnings();
 
                if ( $_fileType == 'core' || $_fileType == 'extension' ) {
+
+                       // Lnguage files aren't required to contain all the possible variables, so suppress warnings
+                       // when variables don't exist in tests
+                       Wikimedia\suppressWarnings();
                        $data = compact( self::$allKeys );
+                       Wikimedia\restoreWarnings();
                } elseif ( $_fileType == 'aliases' ) {
                        $data = compact( 'aliases' );
                } else {
index e7ee95c..367149d 100644 (file)
@@ -1606,7 +1606,7 @@ abstract class Installer {
        }
 
        /**
-        * Create the first user account, grant it sysop and bureaucrat rights
+        * Create the first user account, grant it sysop, bureaucrat and interface-admin rights
         *
         * @return Status
         */
@@ -1630,6 +1630,7 @@ abstract class Installer {
 
                        $user->addGroup( 'sysop' );
                        $user->addGroup( 'bureaucrat' );
+                       $user->addGroup( 'interface-admin' );
                        if ( $this->getVar( '_AdminEmail' ) ) {
                                $user->setEmail( $this->getVar( '_AdminEmail' ) );
                        }
index 0a66b9a..50c4517 100644 (file)
@@ -114,11 +114,11 @@ class MssqlUpdater extends DatabaseUpdater {
                        [ 'migrateComments' ],
 
                        // 1.31
-                       [ 'addTable', 'slots', 'patch-slots.sql' ],
-                       [ 'addField', 'slots', 'slot_origin', 'patch-slot-origin.sql' ],
-                       [ 'addTable', 'content', 'patch-content.sql' ],
                        [ 'addTable', 'slot_roles', 'patch-slot_roles.sql' ],
                        [ 'addTable', 'content_models', 'patch-content_models.sql' ],
+                       [ 'addTable', 'content', 'patch-content.sql' ],
+                       [ 'addTable', 'slots', 'patch-slots.sql' ],
+                       [ 'addField', 'slots', 'slot_origin', 'patch-slot-origin.sql' ],
                        [ 'migrateArchiveText' ],
                        [ 'addTable', 'actor', 'patch-actor-table.sql' ],
                        [ 'migrateActors' ],
index 50c88ae..09fc0f3 100644 (file)
@@ -223,7 +223,7 @@ class WebInstallerName extends WebInstallerPage {
                        $status = $upp->checkUserPasswordForGroups(
                                $user,
                                $pwd,
-                               [ 'bureaucrat', 'sysop' ]  // per Installer::createSysop()
+                               [ 'bureaucrat', 'sysop', 'interface-admin' ]  // per Installer::createSysop()
                        );
                        $valid = $status->isGood() ? true : $status->getMessage();
                } else {
index 31febc0..3102bfb 100644 (file)
        "config-sqlite-dir-help": "اس‌کیولایت همهٔ اطلاعات را در یک پوشهٔ جداگانه ذخیره می‌کند.\nفهرستی را که به وجود‌ آوردید باید در طی نصب به‌ وسیلهٔ وب‌سرور قابل نوشتن باشد.\n<strong>نباید</strong> از طریق وب در دسترس باشد، به همین دلیل ما آن را در جایی که پوشه‌های پی‌اچ‌پی شما هست، قرار نمی‌دهیم.\nنصب کننده یک پوشهٔ <code>.htaccess</code> همراه آن خواهدآورد،اما اگر این کار را انجام ندهد،کسی می‌تواند به پایگاه اطلاعاتی شما دسترسی پیدا کند.\nاطلاعات خام کاربر شامل (آدرس‌های ایمیل، علامت‌‌ها با شماره‌های رمز عبور) به خوبی پاک کردن تغییرات و دیگر اطلاعات محرمانه در ویکی.\nقرار دادن پایگاه اطلاعاتی باهم را در جایی دیگر در نظر بگیرید، برای مثال در <code>/var/lib/mediawiki/yourwiki</code>.",
        "config-oracle-def-ts": "جدول پیش فرض:",
        "config-oracle-temp-ts": "جدول موقت:",
-       "config-type-mysql": "مای‌اس‌کیو‌ال (یا سازگار)",
+       "config-type-mysql": "MariaDB، مای‌اس‌کیو‌ال (یا سازگار)",
        "config-type-mssql": "سرور مایکروسافت اس‌کیو‌ال",
        "config-support-info": "مدیاویکی سامانه‌های پایگاه اطلاعاتی زیر را حمایت می‌کند:\n$1\nاگر متوجه سامانه پایگاه اطلاعاتی که سعی دارید از فهرست زیر استفاده کنید، نمی‌شوید، بنابراین دستورالعمل‌های مرتبط در بالا را برای فعال کردن پشتیبانی دنبال کنید.",
-       "config-dbsupport-mysql": "*[{{int:version-db-mysql-url}} MySQL] مهم‌ترین هدف برای مدیاویکی است و بهترین پشتیبانی. مدیاویکی همچنین کار می‌کند با [{{int:version-db-mariadb-url}} MariaDB] و [{{int:version-db-percona-url}} Percona Server] که با MySQL سازگار هستند.([https://secure.php.net/manual/en/mysqli.installation.php چگونه php را با MySQL کامپایل کنیم])",
+       "config-dbsupport-mysql": "*[{{int:version-db-mariadb-url}} MariaDB] مهم‌ترین هدف برای مدیاویکی است و بهترین پشتیبانی. مدیاویکی همچنین کار می‌کند با [{{int:version-db-mysql-url}} MariaDB] و [{{int:version-db-percona-url}} Percona Server] که با MariaDB سازگار هستند.([https://secure.php.net/manual/en/mysqli.installation.php چگونه php را با MariaDB کامپایل کنیم])",
        "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} پستگرس‌کیوال] یک سامانه پایگاه اطلاعات متن‌باز پر‌طرفدار است که جایگزینی برای مای‌اس‌کیوال است. ([https://secure.php.net/manual/en/pgsql.installation.php راهنمای تنظیم کردن پی‌اچ‌پی به همراه پستگرس‌کیوال])",
-       "config-dbsupport-sqlite": "*[{{int:version-db-sqlite-url}} اس‌کیولایت] یک سامانه پایگاه اطلاعاتی کم حجمی است که بسیار خوب پشتیبانی شده‌است.\n([http://www.php.net/manual/en/pdo.installation.php چگونگی کامپایل پی‌اچ‌پی با اس‌کیولایت]، از PDO استفاده می‌کند)",
-       "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] یک پایگاه اطلاعاتی کار تبلیغاتی است.\n([http://www.php.net/manual/en/oci8.installation.php How to compile PHP with OCI8 support])",
+       "config-dbsupport-sqlite": "*[{{int:version-db-sqlite-url}} اس‌کیولایت] یک سامانه پایگاه اطلاعاتی کم حجمی است که بسیار خوب پشتیبانی شده‌است.\n([https://secure.php.net/manual/en/pdo.installation.php چگونگی کامپایل پی‌اچ‌پی با اس‌کیولایت]، از PDO استفاده می‌کند)",
+       "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] یک پایگاه اطلاعاتی کار تبلیغاتی است.\n([https://secure.php.net/manual/en/oci8.installation.php How to compile PHP with OCI8 support])",
        "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] یک پایگاه اطلاعاتی موسسهٔ تبلیغاتی برای وینذوز است. ([https://secure.php.net/manual/en/sqlsrv.installation.php How to compile PHP with SQLSRV support])",
-       "config-header-mysql": "تنظیمات مای‌اس‌کیو‌ال",
+       "config-header-mysql": "تنظیمات MariaDB/مای‌اس‌کیو‌ال",
        "config-header-postgres": "تنظیمات پست‌گر‌اس‌کیو‌ال",
        "config-header-sqlite": "تنظیمات اس‌کیو‌لایت",
        "config-header-oracle": "تنظیمات اوراکل",
        "config-db-web-create": "اگر در حال‌حاضر وجود ندارد،حساب ایجاد کنید",
        "config-db-web-no-create-privs": "حسابی که شما برای نصب تعیین کردید،مزایای کافی برای ایجاد یک حساب را ندارد.\nحسابی که شما اینجا تعیین کرده‌اید باید در حال حاضر وجود داشته باشد.",
        "config-mysql-engine": "موتور ذخیره سازی:",
-       "config-mysql-innodb": "اینودی‌بی",
+       "config-mysql-innodb": "اینودی‌بی (پیشنهاد می‌شود)",
        "config-mysql-myisam": "می‌ای‌سم",
        "config-mysql-myisam-dep": "'''هشدار:''' شما مای‌آی‌اس‌ای‌ام را به عنوان موتور ذخیره برای مای‌آی‌اس‌ای‌ام انتخاب کرده‌اید، که برای استفاده با مدیاویکی توصیه نمی‌شود زیرا:\n* به‌علت قفل شدن جدول اجمالاً به طور همزمان پشتیبانی می کند\n* بیشتر از دیگر موتورها برای از بین‌ رفتن مستعد است.\n* مبنای رمز مدیاویکی همیشه مای‌آی‌اس‌ای‌ام را همان طور که باید باشد،کنترل نمی‌کند\nاگر نصب مای‌اس‌کیو‌ال شما اینودی‌بی را پشتیبانی می‌کند،بسیار توصیه می‌شود  که در عوض ،آن را انتخاب کنید.\nاگر نصب مای‌اس‌کیو‌ال شما، اینودی‌بی را پشتیبانی نمی‌کند، ممکن است زمان ارتقاء رسیده باشد.",
        "config-mysql-only-myisam-dep": "'''هشدار:''' مای‌آی‌اس‌ای‌ام تنها موتور ذخیره‌سازی اطلاعات برای مای‌اس‌کیو‌ال در این دستگاه است، و برای استفاده با مدیاویکی توصیه نمی‌شود، زیرا:\n* به‌علت قفل شدن جدول اجمالاً به طور همزمان پشتیبانی می کند\n* بیشتر از دیگر موتورها برای از بین‌ رفتن مستعد است.\n* مبنای رمز مدیاویکی همیشه مای‌آی‌اس‌ای‌ام را همان طور که باید باشد،کنترل نمی‌کند\nنصب مای‌اس‌کیو‌ال شما اینودی‌بی را پشتیبانی نمی‌کند،ممکن است زمان یک ارتقاء رسیده باشد.",
        "config-license-help": "بسیاری از وبگاه‌ها ویرایش‌های ها را با  [https://freedomdefined.org/Definition اجازه‌نامهٔ آزاد] منتشر می‌کنند.\nاین کار به داشتن حس مالکیت جمعی کمک می‌کند و ویرایش‌های طولانی مدت را اشاعه می‌دهد.\nاین برای ویکی‌های خصوصی یا سازمانی الزامی نیست.\n\nاگر شما می‌خواهید از متون ویکی‌پدیا استفاده کنید، یا اینکه به ویکی‌پدیا اجازه دهید از متون شما استفاده کند باید متون خود را با <strong>{{int:config-license-cc-by-sa}}</strong> منتشر کنید.\n\nویکی‌پدیا در گذشته از اجازه‌نامهٔ داده‌های آزاد گنو استفاده می‌کرد.\nاین اجازه‌نامه مورد قبول است، ولی فهم آن آسان نیست.\nهمچنین استفادهٔ دوباره از متون تحت اجازه‌نامهٔ داده‌های آزاد گنو به سختی انجام می‌گیرد.",
        "config-email-settings": "تنظیمات ایمیل",
        "config-enable-email": "فعال‌سازی ایمیل خروجی",
-       "config-enable-email-help": "اگر می‌خواهید ارسال ایمیل کار کند، [Config-dbsupport-oracle/manual/en/mail.configuration.php PHP's mail settings] نیازمند پیکربندی صحیح است.\nاگر هیچ قابلیت ایمیلی نمی‌خواهید، می‌توانید آنها را اینجا غیر‌فعال کنید.",
+       "config-enable-email-help": "اگر می‌خواهید ارسال ایمیل کار کند، [https://secure.php.net/manual/en/mail.configuration.php PHP's mail settings] نیازمند پیکربندی صحیح است.\nاگر هیچ قابلیت ایمیلی نمی‌خواهید، می‌توانید آنها را اینجا غیر‌فعال کنید.",
        "config-email-user": "فعال کردن ایمیل کاربر به کاربر",
        "config-email-user-help": "به همهٔ کاربرانی که ارسال ایمیل را در ترجیحات خود فعال کرده‌اند، اجازه داده خواهد شد که به یکدیگر ایمیل ارسال کنند.",
        "config-email-usertalk": "فعال کردن اطلاع‌رسانی صفحهٔ بحث کاربر",
        "config-nofile": "پروندهٔ «$1» یافت نشد. آیا حذف شده‌است؟",
        "config-extension-link": "آیا می‌دانستید که ویکی شما [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions extensions] را پشتیبانی می‌کند؟\nشما می‌توانید [https://www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category extensions by category]",
        "config-skins-screenshots": "$1 (تصاویر: $2)",
+       "config-extensions-requires": "$1 (نیازمند $2)",
        "config-screenshot": "تصویر",
        "mainpagetext": "'''مدیاویکی با موفقیت نصب شد.'''",
        "mainpagedocfooter": "از [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents راهنمای کاربری]\nبرای اطلاعات بیشتر در مورد به‌کارگیری نرم‌افزار ویکی استفاده کنید.\n\n== آغاز به کار ==\n\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings فهرست تنظیمات پیکربندی]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ پرسش‌های متداول مدیاویکی]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce فهرست ایمیلی نسخه‌های مدیاویکی]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources محلی‌سازی مدیاویکی به زبان شما]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam یادگیری روش‌های مقابله با هرزنگاری در ویکی]"
index b4658b6..67c1543 100644 (file)
        "config-type-oracle": "Oracle",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "MediaWiki soporta os seguintes sistemas de bases de datos:\n\n$1\n\nSe non ve listado a continuación o sistema de base de datos que intenta usar, siga as instrucións ligadas enriba para activar o soporte.",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] é o obxectivo principal para MediaWiki e está mellor soportado. MediaWiki tamén funciona con [{{int:version-db-mariadb-url}} MariaDB] e [{{int:version-db-percona-url}} Percona Server], que son compatibles con MySQL. ([https://secure.php.net/manual/en/mysqli.installation.php  Como compilar PHP con compatibilidade MySQL])",
+       "config-dbsupport-mysql": "* [{{int:version-db-mariadb-url}} MariaDB] é o obxectivo principal para MediaWiki e é o que mellor soportado está. MediaWiki tamén funciona con [{{int:version-db-mysql-url}} MySQL] e [{{int:version-db-percona-url}} Percona Server], que son compatibles con MariaDB. ([https://secure.php.net/manual/en/mysqli.installation.php Como compilar PHP con compatibilidade MySQL])",
        "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] é un sistema de base de datos popular e de código aberto como alternativa a MySQL. ([https://secure.php.net/manual/en/pgsql.installation.php Como compilar PHP con compatibilidade PostgreSQL])",
-       "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] é un sistema de base de datos lixeiro moi ben soportado. ([http://www.php.net/manual/en/pdo.installation.php Como compilar o PHP con soporte SQLite], emprega PDO)",
-       "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] é un sistema comercial de xestión de base de datos de nivel empresarial. ([http://www.php.net/manual/en/oci8.installation.php Como compilar o PHP con compatibilidade OCI8])",
+       "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] é un sistema de base de datos lixeiro moi ben soportado. ([https://secure.php.net/manual/en/pdo.installation.php Como compilar o PHP con soporte SQLite], emprega PDO)",
+       "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] é un sistema comercial de xestión de base de datos a nivel empresarial. ([https://secure.php.net/manual/en/oci8.installation.php Como compilar PHP con soporte OCI8])",
        "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] é un sistema comercial de xestión de base de datos de nivel empresarial para Windows. ([https://secure.php.net/manual/en/sqlsrv.installation.php Como compilar o PHP con compatibilidade SQLSRV])",
        "config-header-mysql": "Configuración MariaDB/MySQL",
        "config-header-postgres": "Configuración do PostgreSQL",
        "config-license-help": "Moitos wikis públicos liberan todas as súas contribucións baixo unha [https://freedomdefined.org/Definition/Gl licenza libre].\nIsto axuda a crear un sentido de propiedade comunitaria e anima a seguir contribuíndo durante moito tempo.\nXeralmente, non é necesario nos wikis privados ou de empresas.\n\nSe quere poder empregar textos da Wikipedia, así como que a Wikipedia poida aceptar textos copiados do seu wiki, escolla a licenza <strong>{{int:config-license-cc-by-sa}}</strong>.\n\nA licenza de documentación libre de GNU era a licenza anterior da Wikipedia.\nMalia aínda ser unha licenza válida, é difícil de entender.\nTamén é difícil reusar contidos baixo esta licenza.",
        "config-email-settings": "Configuración do correo electrónico",
        "config-enable-email": "Activar os correos electrónicos de saída",
-       "config-enable-email-help": "Se quere que o correo electrónico funcione, cómpre configurar os [Config-dbsupport-oracle/manual/en/mail.configuration.php parámetros PHP] correctamente.\nSe non quere ningunha característica no correo, pode desactivalas aquí.",
+       "config-enable-email-help": "Se quere que o correo electrónico funcione, cómpre configurar os [https://secure.php.net/manual/en/mail.configuration.php parámetros PHP de correo] correctamente.\nSe non quere ningunha característica de correo electrónico, pode desactivalas aquí.",
        "config-email-user": "Activar o intercambio de correos electrónicos entre usuarios",
        "config-email-user-help": "Permitir que todos os usuarios intercambien correos electrónicos, se o teñen activado nas súas preferencias.",
        "config-email-usertalk": "Activar a notificación da páxina de conversa de usuario",
        "config-cache-options": "Configuración da caché de obxectos:",
        "config-cache-help": "A caché de obxectos emprégase para mellorar a velocidade de MediaWiki mediante a memorización de datos usados con frecuencia.\nÉ amplamente recomendable a súa activación nos sitios de tamaño medio e grande; os sitios pequenos obterán tamén beneficios.",
        "config-cache-none": "Sen caché (non se elimina ningunha funcionalidade, pero pode afectar á velocidade en wikis grandes)",
-       "config-cache-accel": "Caché de obxectos do PHP (APC, APCu, XCache ou WinCache)",
+       "config-cache-accel": "Caché de obxectos PHP (APC, APCu ou WinCache)",
        "config-cache-memcached": "Empregar o Memcached (necesita unha instalación e configuración adicional)",
        "config-memcached-servers": "Servidores da memoria caché:",
        "config-memcached-help": "Lista de enderezos IP para Memcached.\nDebe especificarse un por liña, así como o porto a usar. Por exemplo:\n 127.0.0.1:11211\n 192.168.1.25:1234",
index 9db0003..3614333 100644 (file)
        "config-sqlite-dir-help": "Iniimbak ng SQLite ang lahat ng dato sa loob ng isang nag-iisang file.\n\nAng ibibigay mong directory ay dapat na maging masusulatan ng tagapaghain ng kasaputan habang nag-i-install.\n\n'''Hindi''' ito dapat na mapuntahan sa pamamagitan ng web server, ito ang dahilan kung bakit hindi namin ito inilalagay sa kung nasaan ang iyong mga file ng PHP.\n\nAng installer ay magsusulat ng isang file na <code>.htaccess</code> na kasama ito, subalit kapag nabigo iyon mayroong isang tao na maaaring makakuha ng pagka nakakapunta sa iyong hilaw na database.\nKasama riyan ang hilaw na dato ng tagagamit (mga email address, pinaghalong mga password) pati na ang nabura nang mga pagbabago at iba pang may pagbabawal na dato ng wiki.\n\nIsaalang-alang ang paglalagay na magkakasama ang database sa ibang lugar, halimbawa na ang sa loob ng <code>/var/lib/mediawiki/yourwiki</code>.",
        "config-oracle-def-ts": "Likas na nakatakdang puwang ng talahanayan:",
        "config-oracle-temp-ts": "Pansamantalang puwang ng talahanayan:",
-       "config-type-mysql": "MySQL (o katugma)",
+       "config-type-mysql": "MariaDB, MySQL, o katugma",
        "config-type-postgres": "PostgreSQL",
        "config-type-sqlite": "SQLite",
        "config-type-oracle": "Oracle",
        "config-dbsupport-postgres": "* Ang [{{int:version-db-postgres-url}} PostgreSQL] ay isang bantog na sistema ng kalipunan ng dato na bukas ang pinagmulan na panghalili sa MySQL. ([https://secure.php.net/manual/en/pgsql.installation.php Paano magtipon ng PHP na mayroong suporta ng PostgreSQL]).",
        "config-dbsupport-sqlite": "* Ang [{{int:version-db-sqlite-url}} SQLite] ay isang magaan ang timbang na sistema ng kalipunan ng dato na sinusuportahan nang napaka mainam. ([http://www.php.net/manual/en/pdo.installation.php Paano magtipon ng PHP na mayroong suporta ng SQLite], gumagamit ng PDO)",
        "config-dbsupport-oracle": "* Ang [{{int:version-db-oracle-url}} Oracle] ay isang kalipunan ng dato ng kasigasigang pangkalakal. ([http://www.php.net/manual/en/oci8.installation.php Paano magtipunan ng PHP na mayroong suporta ng OCI8])",
-       "config-header-mysql": "Mga katakdaan ng MySQL",
+       "config-header-mysql": "Mga katakdaan ng MariaDB/MySQL",
        "config-header-postgres": "Mga katakdaan ng PostgreSQL",
        "config-header-sqlite": "Mga katakdaan ng SQLite",
        "config-header-oracle": "Mga katakdaan ng Oracle",
index e310768..d152c65 100644 (file)
@@ -201,6 +201,11 @@ abstract class LockManager {
        final protected function normalizePathsByType( array $pathsByType ) {
                $res = [];
                foreach ( $pathsByType as $type => $paths ) {
+                       foreach ( $paths as $path ) {
+                               if ( (string)$path === '' ) {
+                                       throw new InvalidArgumentException( __METHOD__ . ": got empty path." );
+                               }
+                       }
                        $res[$this->lockTypeMap[$type]] = array_unique( $paths );
                }
 
index e4de0a1..9977f45 100644 (file)
@@ -742,12 +742,16 @@ class Exif {
                                $ecount = 1; // checking individual elements
                        }
                }
-               $count = count( $val );
-               if ( $ecount != $count ) {
-                       $this->debug( $val, __FUNCTION__, "Expected $ecount elements for $tag but got $count" );
 
-                       return false;
+               $count = 1;
+               if ( is_array( $val ) ) {
+                       $count = count( $val );
+                       if ( $ecount != $count ) {
+                               $this->debug( $val, __FUNCTION__, "Expected $ecount elements for $tag but got $count" );
+                               return false;
+                       }
                }
+               // If there are multiple values, recursively validate each of them.
                if ( $count > 1 ) {
                        foreach ( $val as $v ) {
                                if ( !$this->validate( $section, $tag, $v, true ) ) {
index 359eede..2160312 100644 (file)
@@ -176,7 +176,7 @@ class SpecialLog extends SpecialPage {
         * @return string[] subpages
         */
        public function getSubpagesForPrefixSearch() {
-               $subpages = $this->getConfig()->get( 'LogTypes' );
+               $subpages = LogPage::validTypes();
                $subpages[] = 'all';
                sort( $subpages );
                return $subpages;
@@ -198,7 +198,7 @@ class SpecialLog extends SpecialPage {
                $parms = explode( '/', $par );
                $symsForAll = [ '*', 'all' ];
                if ( $parms[0] != '' &&
-                       ( in_array( $par, $this->getConfig()->get( 'LogTypes' ) ) || in_array( $par, $symsForAll ) )
+                       ( in_array( $par, LogPage::validTypes() ) || in_array( $par, $symsForAll ) )
                ) {
                        $opts->setValue( 'type', $par );
                } elseif ( count( $parms ) == 2 ) {
index da2b688..ddf52f1 100644 (file)
@@ -229,7 +229,7 @@ class SpecialNewpages extends IncludableSpecialPage {
                }
                $hidden = implode( "\n", $hidden );
 
-               $form = [
+               $formDescriptor = [
                        'namespace' => [
                                'type' => 'namespaceselect',
                                'name' => 'namespace',
@@ -264,25 +264,26 @@ class SpecialNewpages extends IncludableSpecialPage {
                        ],
                ];
 
-               $htmlForm = new HTMLForm( $form, $this->getContext() );
-
-               $htmlForm->setSubmitText( $this->msg( 'newpages-submit' )->text() );
-               // The form should be visible on each request (inclusive requests with submitted forms), so
-               // return always false here.
-               $htmlForm->setSubmitCallback(
-                       function () {
-                               return false;
-                       }
-               );
-               $htmlForm->setMethod( 'get' );
-               $htmlForm->setWrapperLegend( true );
-               $htmlForm->setWrapperLegendMsg( 'newpages' );
-               $htmlForm->addFooterText( Html::rawElement(
-                       'div',
-                       null,
-                       $this->filterLinks()
-               ) );
-               $htmlForm->show();
+               $htmlForm = HTMLForm::factory( 'ooui', $formDescriptor, $this->getContext() );
+               $htmlForm
+                       ->setMethod( 'get' )
+                       ->setFormIdentifier( 'newpagesform' )
+                       // The form should be visible on each request (inclusive requests with submitted forms), so
+                       // return always false here.
+                       ->setSubmitCallback(
+                               function () {
+                                       return false;
+                               }
+                       )
+                       ->setSubmitText( $this->msg( 'newpages-submit' )->text() )
+                       ->setWrapperLegend( $this->msg( 'newpages' )->text() )
+                       ->addFooterText( Html::rawElement(
+                               'div',
+                               null,
+                               $this->filterLinks()
+                       ) )
+                       ->show();
+               $out->addModuleStyles( 'mediawiki.special' );
        }
 
        /**
index 41a059f..5b48f4e 100644 (file)
@@ -777,7 +777,7 @@ class SpecialWatchlist extends ChangesListSpecialPage {
                ] ) );
                asort( $hours );
 
-               $select = new XmlSelect( 'days', 'days', $selectedHours / 24 );
+               $select = new XmlSelect( 'days', 'days', (float)( $selectedHours / 24 ) );
 
                foreach ( $hours as $value ) {
                        if ( $value < 24 ) {
@@ -785,7 +785,7 @@ class SpecialWatchlist extends ChangesListSpecialPage {
                        } else {
                                $name = $this->msg( 'days' )->numParams( $value / 24 )->text();
                        }
-                       $select->addOption( $name, $value / 24 );
+                       $select->addOption( $name, (float)( $value / 24 ) );
                }
 
                return $select->getHTML() . "\n<br />\n";
index 2ba01ff..8ebd2d2 100644 (file)
@@ -147,6 +147,9 @@ class User implements IDBAccessObject, UserIdentity {
                'editmyuserjs',
                'editmywatchlist',
                'editsemiprotected',
+               'editsitecss',
+               'editsitejson',
+               'editsitejs',
                'editusercss',
                'edituserjson',
                'edituserjs',
diff --git a/languages/i18n/ami.json b/languages/i18n/ami.json
new file mode 100644 (file)
index 0000000..0f91c77
--- /dev/null
@@ -0,0 +1,670 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Vickylin77s"
+               ]
+       },
+       "sunday": "週日",
+       "monday": "tinocay",
+       "tuesday": "tinosa",
+       "wednesday": "tinolo",
+       "thursday": "週四",
+       "friday": "週五",
+       "saturday": "週六",
+       "sun": "週日",
+       "mon": "tinocay",
+       "tue": "tinosa",
+       "wed": "tinolo",
+       "thu": "週四",
+       "fri": "週五",
+       "sat": "週六",
+       "january": "Saka cecay folad",
+       "february": "Saka tosa^ folad",
+       "march": "Saka tolo^ folad",
+       "april": "Saka sepat a folad",
+       "may_long": "Saka lima^ a folad",
+       "june": "Saka enem a folad",
+       "july": "Saka pito^ folad",
+       "august": "Saka falo^ folad",
+       "september": "Saka sowa^ folad",
+       "october": "Saka ngetep folad",
+       "november": "Saka safaw cecay folad",
+       "december": "Saka safaw tosa^ folad",
+       "january-gen": " Saka cecay folad",
+       "february-gen": "Saka tosa^ folad",
+       "march-gen": "Saka tolo^ folad",
+       "april-gen": " Saka sepat a folad",
+       "may-gen": "Saka lima^ a folad",
+       "july-gen": "Saka pito^ folad",
+       "august-gen": "Saka falo^ folad",
+       "september-gen": "Saka sowa^ folad",
+       "october-gen": "Saka ngetep folad",
+       "november-gen": "Saka safaw cecay folad",
+       "december-gen": "Saka safaw tosa^ folad",
+       "jan": " Saka cecay folad",
+       "feb": "Saka tosa^ folad",
+       "mar": "Saka tolo^ folad",
+       "apr": " Saka sepat a folad",
+       "may": "Saka lima^ a folad",
+       "jun": " Saka enem a folad",
+       "jul": "Saka pito^ folad",
+       "aug": "Saka falo^ folad",
+       "sep": "Saka sowa^ folad",
+       "oct": "Saka ngetep folad",
+       "nov": "Saka safaw cecay folad",
+       "dec": "Saka safaw tosa^ folad",
+       "pagecategories": "{{PLURAL:$1|kasakilac|$1 pisakilac}}",
+       "category_header": " O felih i laloma’ no kasakilac \"$1\"",
+       "subcategories": "i reremay a silsil",
+       "category-media-header": " O mitiya i laloma’ no kasakilac \"$1\"",
+       "category-empty": "<em>onini kasakilac imatini caay ho ka paroko i laloma’ ko ’a’arawen a felih ano eca o mitiya。</em>",
+       "hidden-categories": "{{PLURAL:$1|masimeday pisakilac/kasakilac}}",
+       "category-subcat-count": "{{PLURAL:$2|onini kasakilac matafo ko cecay i kalaenoay/kaikoray a wawaay a silsil 。|onini kasakilac matafoay ko i kalaenoay/kaikoray $1 a wawaay a silsil, $2 mapo:long。}}",
+       "category-article-count": "{{PLURAL:$2|onini kasakilac maala halo i kalaenoay/kaikoray a felih。|onini a kasakilac matafo ko i kalaenoay/kaikoray  $1 a felih, $2 mapo:long.}}",
+       "category-file-count": "{{PLURAL:$2|onini kasakilac matafoay ko cecay i kalaenoay/kaikoray a tang^an。|onini kasakilac matafoay ko i kalaenoay/kaikoray  $1 a tang^an, $2 mapo:long.}}",
+       "listingcontinuesabbrev": "milingato",
+       "noindex-category": "Awaayay a masorit i pikiliman a felih i kaikor",
+       "broken-file-category": "o matastasay a felih to pipatatongodan",
+       "cancel": "Sawaden miforic",
+       "moredotdotdot": "matongal ko adihay",
+       "mypage": " o felih",
+       "mytalk": " kalalicay",
+       "navigation": " pakerid a mi’araw",
+       "and": "&#32;ato&#32;",
+       "namespaces": "O pipanganganan",
+       "variants": "namafalican",
+       "navigation-heading": " sapipili’ a tilid to pakerid a mi’araw",
+       "returnto": "Panokasen tayra i $1.",
+       "tagline": "nani… a masadak {{SITENAME}}",
+       "help": "o pakafana’",
+       "search": " saoo’",
+       "searchbutton": " saoo’",
+       "go": " pidemak",
+       "history": " o likisi no felih",
+       "history_short": " likisi",
+       "printableversion": "Manga’ayay a lyi-inen a rorong",
+       "permalink": "tomerepay tongod",
+       "view": "misongila’ a minengneng",
+       "view-foreign": "misongila’ a minengneng i $1",
+       "edit": "misinanot",
+       "create": " misanga’",
+       "create-local": " mitongal to sowal to itiniay",
+       "newpage": " faelohy a felih",
+       "talkpagelinktext": " kalalicay",
+       "specialpage": " micidekay a felih",
+       "personaltools": " no cecayay tamdaw sakatayal",
+       "talk": " malalicay",
+       "views": "misongila’ a minengneng",
+       "toolbox": "sakatayal",
+       "otherlanguages": "O no roma a sowal",
+       "redirectedfrom": "(masafaeloh to misiyor nani $1)",
+       "redirectpagesub": " misafaeloh misiyor i felih",
+       "redirectto": " misafaeloh misiyor i",
+       "lastmodifiedat": "Inian a felih i, o sarikoray a mikawitan i $1 $2。",
+       "jumpto": "tayra",
+       "jumptonavigation": " pakerid a mi’araw",
+       "jumptosearch": " saoo’",
+       "aboutsite": "ora {{SITENAME}}",
+       "aboutpage": "Project: oya pakayniay i",
+       "copyright": "ano awa sa ko roma a sowal i, o $1 sarocek a tilid ko sapipatorod tona maemin",
+       "copyrightpage": "{{ns:project}}:pan-cyin",
+       "currentevents": " o lihaf no sinpon",
+       "currentevents-url": "Project: Aniniay masadak a demak",
+       "disclaimers": "o king-li to sakacaaw ka toro’ i ka’ayaw no holic",
+       "disclaimerpage": "Project: caayay ka palit no holic a sapatangasa a sowal",
+       "edithelp": "  o pakafana’ no pisinanot",
+       "mainpage": "‎ sa’ayayaw pising no tyin-naw",
+       "mainpage-description": "‎ sa’ayayaw pising no tyin-naw",
+       "portal": "O pinaro no tamdaw i cecayay no kasaniyaro’",
+       "portal-url": "Project: o ’adawang no niyaro’",
+       "privacy": " o dapongan a nisahalakaan",
+       "privacypage": "Project: dadapongen a demak",
+       "retrievedfrom": "Nicaliwan niala nani \"$1\"",
+       "youhavenewmessages": "ira ko $1 ($2) no miso",
+       "youhavenewmessagesfromusers": "{{PLURAL:$4|Ira ko no miso}}nani---ay {{PLURAL:$3|roma a micokaymasay |$3 micokaymasay }}a $1 ($2)。",
+       "newmessagesdifflinkplural": "ngata {{PLURAL:$1| falic }}",
+       "editsection": "misinanot",
+       "editold": "misinanot",
+       "viewsourceold": "misongila’ a minengneng to yin-se-ma",
+       "editlink": "misinanot",
+       "viewsourcelink": "misongila’ a minengneng to yin-se-ma",
+       "editsectionhint": "   misinanot to rekad:$1",
+       "toc": "tanenengan",
+       "showtoc": "pahapinang",
+       "hidetoc": " himed",
+       "collapsible-expand": " misatapang",
+       "site-atom-feed": "kasadakan no Atom ko $1",
+       "page-atom-feed": "kasadakan no Atom ko $1",
+       "red-link-title": "$1 (awaayay a felih)",
+       "nstab-main": " o felih",
+       "nstab-user": "O ta’arawan a felih no micokaymasay",
+       "nstab-special": " micidekay a felih",
+       "nstab-project": " halaka felih",
+       "nstab-image": " tang’an",
+       "nstab-template": " sampolo",
+       "nstab-category": "pisakilac",
+       "mainpage-nstab": "‎ sa’ayayaw pising no tyin-naw",
+       "nospecialpagetext": "<strong> awaay ko epoc noya milongocan iso a feli. </strong> Ano mangalay kiso milongoc to ciepocay micidekay a felih i, manga’ay tayra i [[Special:SpecialPages|{{int:specialpages}}]]。",
+       "badtitle": "awa ko epoc a sakacipinang a sowal",
+       "badtitletext": "awaay kora nitolo’an a feli, anoca caay katatodong ko piliting \npiteked 的 o felih sakacipinang a sowal是 awa ko epoc、o ’orac,或未 materongay\nliting的跨 sowal或跨 Wiki 的 sakacipinang a sowal。\nsakacipinang a sowal中 alatekhalo- awa ko pinangmicokaymas在 sakacipinang a sowal的 sorit。",
+       "viewsource": "misongila’ a minengneng to yin-se-ma",
+       "viewsource-title": "misongila’ a manengneng to yin-se-m no $1",
+       "viewsourcetext": "manga’ay misongila’ kiso a minengneng ato mirorod to yin-se-ma nona felih",
+       "yourname": "o ngangan no micokaymasay",
+       "userlogin-yourname-ph": " pacomden ko ngangan no picokaymas no miso",
+       "yourpassword": " mima’",
+       "userlogin-yourpassword": " mima’",
+       "userlogin-yourpassword-ph": " pacomden ko mima’ no miso",
+       "createacct-yourpassword-ph": " pacomden ko mima’",
+       "createacct-yourpasswordagain": "pihayda to mima’",
+       "createacct-yourpasswordagain-ph": "Tiyolen mipacomd ko mima^",
+       "userlogin-remembermypassword": "haratengen ko picomod no mako",
+       "login": " micomod",
+       "logout": "  mahadak",
+       "userlogin-noaccount": "Awaay ko cang-haw hay?",
+       "userlogin-joinproject": "Mikapot a micomod {{SITENAME}}",
+       "createaccount": "misanga’ to cang-haw",
+       "userlogin-resetpassword-link": "mapawan/matawal mi-ma^?",
+       "userlogin-helplink2": " padama to picomod",
+       "createacct-emailoptional": "i-miyo kahaceraan no tikami (mipili’ ato misorit)",
+       "createacct-email-ph": " pacomden ko i-miyo kahaceraan no tikami no miso",
+       "createacct-submit": "misanga’ to cang-haw no miso",
+       "createacct-another-submit": "misanga’ to cang-haw",
+       "createacct-benefit-heading": "{{SITENAME}} o nisanga’an no malecaday kiso a nipaini / nipafeli a tamdaw.",
+       "createacct-benefit-body1": "{{PLURAL:$1|a mikawit}}",
+       "createacct-benefit-body2": "$1 a felih",
+       "createacct-benefit-body3": "O samangataay no {{PLURAL:$1|painiay palada’}}",
+       "mailmypassword": " misafaeloh patonek to mima’",
+       "loginlanguagelabel": " sowal:$1",
+       "pt-login": " micomod",
+       "pt-login-button": " micomod",
+       "pt-createaccount": "misanga’ to cang-haw",
+       "pt-userlogout": "  mahadak",
+       "botpasswords-label-create": " misanga’",
+       "botpasswords-label-cancel": "Sawaden miforic",
+       "resetpass-submit-cancel": "Sawaden miforic",
+       "passwordreset": " misafaeloh patonek to mima’",
+       "passwordreset-username": "o ngangan no micokaymasay",
+       "bold_sample": "kifetolay a tilid",
+       "bold_tip": "kifetolay a tilid",
+       "italic_sample": "matokenihay a tilid",
+       "italic_tip": "matokenihay a tilid",
+       "link_sample": "matongoday a sakacipinang a sowal",
+       "link_tip": "I laloma’ay a makakafit",
+       "extlink_sample": "http://www.example.com  mipakakafit to   sakacipinang a sowal",
+       "extlink_tip": "Makakafitay i papotal (aka kapawan a http:// a misatapang)",
+       "headline_sample": "o sakacipinang a sowal sorit i sakacecay a cakat",
+       "headline_tip": "o sakacipinang a sowal sorit i sakatosa a cakat",
+       "nowiki_sample": " co’eneken ko caay ko masalalekoay a sorit",
+       "nowiki_tip": "Kapawanan ko masalalekoay a sowal no Wiki",
+       "image_tip": "Sapakemel a tang^an",
+       "media_tip": " patatongod to tang’an",
+       "sig_tip": "o pisorit iso to ngangan ato romi’ad toki",
+       "hr_tip": "O rimadac no nanom\n(caay ka rarid a micokaymas)",
+       "summary": " o nisa’amotoan a pakimad",
+       "minoredit": "O sapado^do^ a mikawitan",
+       "watchthis": "mitapal to inian a felih",
+       "savearticle": "mina’ang to felih",
+       "savearticle-start": "mina’ang to felih",
+       "showpreview": "pahapinang to pa’ayaw a minengneng",
+       "showdiff": "pahapinang to nifalican",
+       "anoneditwarning": "<strong> ’arawen :</strong> caayay ho  picomod kiso. Ano mikawit kiso to maamaan i, o mamapahapinang ko IP no miso i ’alomanay. Ano <strong>[$1  micomod kiso]</strong> ano eca <strong>[$2  misanga’ kiso to cang-haw]</strong>,o mikawitan iso i, oya ngangan iso o micokaymasay ko mapasapinangay, matira i, aira ko roma o kanga’ayan a demak.",
+       "blockedtext": "<strong>o ngangan no miso o micokaymasay ano eca o kaitiraan no IP no miso macekeray ito. </strong> maceker no  $1 kiso, enaw han i <em>$2</em>。 *  o toki miteka to picikeran :$8 *  maherek to ko picikeran a toki:$6 *  pakayniay cacikeren a tamdaw:$7 manga’ay kiso a nipakakafit/patongod  $1 ano eca o roma a  [[{{MediaWiki:Grouppage-sysop}}|mikowanay]] maaini to pakayniay i piciker a montay. Ano ira to kiso itira i [[Special:Preferences| o kakaolahan a pipatonek]] mipatonek to cecay o ciepocay    kahaceraan no tikami a i-miyo, ato caay ho kaciker koya sakatayal a i-miyo i, manga’ay kiso a pakayni i \"Email a pakakafit/patongod tonini micokaymasay \" sanay a sakatayal a mitongod to mikowanay. O kaitiraan no IP no miso anini i  $3,anini o macikeray a ID i o #$5. Ano mangalay kiso a mipolita i, patoroden koya i faleday masongila’ay a lihaf.",
+       "loginreqlink": " micomod",
+       "newarticletext": "militingay kiso to cecay awaayay a felih\nano mamisanga’ to cecay a felih,itira i nisinanotan a ’apelad a pacomd to sowal ( nengnengen ko [ sakadademak a tilid no $1]) 。\nano o caay ko pina’on iso ko sakatayni i, mi^mien ko <strong> minokas</strong>   tami^mian no sakipinengnengan",
+       "anontalkpagetext": "----<em>onini ka ainian a felih, o sakitini caayay ho pisanga’ to cang-haw a tamdaw, ano eca, yo misakaniway ho ko pipangangan a micokaymasay</em> oarasaka pakayni i kaitiraan no IP ko pisapinang to tireng, nika oya kaitiraan no malecaday a IP, alatek ’aloman ko micokaymasay. Ano o misakaniway ho ko pipangangan iso, ato ano caay ko sakitini i tisowanan koya mipo’elacay a sowal i, ka o [[Special:CreateAccount|pisanga’ o faelohay a cang-haw]] ano eca [[Special:UserLogin|sacomod]] ta caay ka sasifod to no roma oya misakaniway ko pipangangan a tamdaw.",
+       "noarticletext": " Awaay ko sorit i laloma’ nonini a felih, manga’ay kiso a mikilim i roma a felih i [[Special:Search/{{PAGENAME}}| misolap to sakacipinang a sowal nonini a felih]]、<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}}  misolap to nikilokan a sorit to romi’ami’ad , ano eca [{{fullurl:{{FULLPAGENAME}}|action=edit}}  itini misanga’ tonini a felih]</span>。",
+       "noarticletext-nopermission": "Awaay ko sorit i laloma’ nonini a felih, manga’ay kiso a mikilim i roma a felih i [[Special:Search/{{PAGENAME}}| misolap to sakacipinang a sowal nonini a felih]],ano eca <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}}  misolap to nikilokan a sorit to romi’ami’ad]</span>, nika awaay ko kingli no miso a misanga’ tonini a felih.",
+       "userpage-userdoesnotexist-view": "Caay ho ka hayda ko pipangangan a cang-haw no micokaymasay \"$1\".",
+       "clearyourcache": "<strong>’arawen :</strong>i ikor no pi’anang iso i ’ariri, panengen koya mata sapinengneng to codad ta manga’ay maneneng ko faelohay a nikafalic. \n* <strong>Firefox / Safari:</strong>penecen <em>Shift</em> itiya ta mitoro’ mikilim <em> misafaeloh  misolimet </em>,ano eca penecen <em>Ctrl-F5</em> ano eca <em>Ctrl-R</em> (Mac matira ta  <em>⌘-R</em>) * <strong>Google Chrome:</strong>rekenen <em>Ctrl-Shift-R</em> (Mac matira ta  <em>⌘-Shift-R</em>) * <strong>Internet Explorer:</strong>penecen <em>Ctrl</em> itiya t rekenen a mipili’ <em> misafaeloh  misolimet </em>,ano eca rekenen <em>Ctrl-F5</em> * <strong>Opera:</strong> tayra  <em> sapipili’ a tilid  →  patonek </em> (itira i Mac a <em>Opera →   patonek to kakaolahan </em>) herek i, ta tayra i <em> caayay ka ’araw no tao a dapong  &  an-cyin-sin  → sisiten ko nanengnengan a lakaw → mapatayraay i ’ariri a conga ato tang^an </em>。",
+       "previewnote": "<strong>mineneng kiso to ’a’arawen imatini, caay ho ka ’aneng iso i ’ariri koya nifalican no miso!</strong>",
+       "editing": "O mamikawit to $1",
+       "creating": "O mamisanga’ to $1",
+       "editingsection": "O mamikawit to $1(cefang tosir)",
+       "templatesused": "Macokaymas to ninian a felih i kalaenoay/kaikoray {{PLURAL:$1| ko sampolo}}:",
+       "templatesusedpreview": "Mipa’ayaw a minengneng i, macokaymas i kalaenoay/kaikoray ko {{PLURAL:$1| dado^doan a sampolo }}:",
+       "template-protected": "(madipotay/ma’adipelay)",
+       "template-semiprotected": "(mapangkiway ko pi’adipel)",
+       "hiddencategories": "O no {{PLURAL:$1| a felih konini, cecay ko masimeday to nisilsilan a kasakilac |$cecay ko masimeday to nisilsilan a kasakilac }} i salaoma’ no no tamdaw.",
+       "permissionserrorstext-withaction": "Itini i kalaeno{{PLURAL:$1| o lalangatan}},awaay ko king-li no miso a midemak to  $2 a demak:",
+       "recreate-moveddeleted-warn": "<strong>pi’arawi:O misafaelohay kiso a misanga’ toya masopitay to a felih. </strong> O haharatengen iso ko pilingato haca a mikawit tonini a felih. Itini mapatorod kiso to sapisopit ato sapilinah to codad, o sakacaloway iso a mineneng to sapatinako to ’a’arawen.",
+       "moveddeleted-notice": "Masopitay to konini a felih.\ni kalaeno, o sapaneneng toya nisopitan ato ya nilinahan a kilok.",
+       "undo-failure": "Iraay ko nikafafelih no nisalofan ato nikawitan i laloma’, orasaka caay ka nga’ay a minokas a patiko",
+       "viewpagelogs": " misongila’ a minengneng to kilok ninian a felih",
+       "currentrev": "safaelohay a pisalof",
+       "currentrev-asof": "Nani tiniay i $1 safaelohay a nisalofan",
+       "revisionasof": "Nani tiniay i $1 a nisalofan",
+       "revision-info": "O po:long no nisalofan i $7 nani tiniay i {{GENDER:$6|$2}} ko $1",
+       "previousrevision": "←i ka’ayaway nisalofan",
+       "nextrevision": "Pado^do^ misalof→",
+       "currentrevisionlink": "safaelohay a pisalof",
+       "cur": " Aniniay/imatiniay",
+       "last": "ka’ayaway",
+       "histlegend": "O kasasiroma no pasirini’ to nipili’an: ano mipli’ i, pasasirini’en koya misalofan toya masa’apeladay ato pili’en koya i kalaenoay a pipenecan mifhat to dingki a pasasirini’.  <br />  misapinang paini to silosi:<strong>({{int:cur}})</strong> = pasasirini’ toya safaelohay a nisalofan a rorong<strong>({{int:last}})</strong> = pasasirini’ toya sa’ayaway misalofan <strong>{{int:minoreditletter}}</strong> =  sapado^do^ a misalof.",
+       "history-feed-description": "Pakayni tonini a Wiki a tayra i nisalofan to a kilok",
+       "history-feed-item-nocomment": "$1 i laloma’ no  $2",
+       "rev-delundel": "o nika’araw to nanofalicen",
+       "rev-showdeleted": "pahapinang",
+       "revdel-restore": "o nika’araw to nanofalicen",
+       "pagehist": " o likisi no felih",
+       "history-title": "Masalofay a caway no \"$1\"",
+       "difference-title": "O kasasiroma no nisalofan no \"$1\"",
+       "lineno": "$1 tosir",
+       "compareselectedversions": "masasirini’ to mipili’an a misalof",
+       "editundo": " patikor",
+       "diff-multi-sameuser": "(caay pasapinang to nidemakan noya micokaymasaya tamdaw a kina  $1 a misalof)",
+       "diff-multi-otherusers": "(caay pahapinang to $2 nidemakan no i laloma’ay noya micokaymasay  saka $1 a misalof )",
+       "searchresults": " nasaoo’an",
+       "searchresults-title": "Nisolapan a cepo’/heci no $1",
+       "prevn": "ya ka’ayaway to $1",
+       "nextn": "o rarikoray a {{PLURAL:$1|$1}}",
+       "prevn-title": "o nalahecian no ka’ayaway nira to cecay",
+       "nextn-title": "o nikalahecian no rarikoray a $1",
+       "shown-title": "Pahapinangen ko pinaay a $1 i kahacecay a felih",
+       "viewprevnext": " misongila’ a minengneng to ($1 {{int:pipe-separator}} $2) ($3)",
+       "searchmenu-exists": "<strong>onini a Wiki iraayto ko ngangan  \"[[:$1]]\" no felih 。</strong> {{PLURAL:$2|0=|ano eca ’araw hato i roma a misolapan a codad. }}",
+       "searchmenu-new": "<strong>itini i Wiki  misanga’ to pi’arawan a felih \"[[:$1]]\"!</strong>{{PLURAL:$2|0=|ano eca, ’araw hato ko makeraay toya nipacomdaniso a codad, |ano eca, ’araw hato ko roma a makeraay tona nisolapan.}}",
+       "searchprofile-articles": " Matiliday a sowal itenok no felih",
+       "searchprofile-images": "Macacamolay a mi-ti-ya",
+       "searchprofile-advanced": " cakat",
+       "searchprofile-articles-tooltip": "Misolap mikilim i  $1",
+       "searchprofile-images-tooltip": " saoo’an a tang’an",
+       "searchprofile-everything-tooltip": " saoo’en maemin ko sowal (halo- kalalicay a felih)",
+       "searchprofile-advanced-tooltip": " saoo’ to pipanganganan no piketon no tireng",
+       "search-result-size": "$1 ({{PLURAL:$2|1 ko sorit|$2 ko sorit}})",
+       "search-result-category-size": "$1 ko salaloma’ay a tamdaw ($2 ko laenoay kasakilac ,$3 ko tang-an )",
+       "search-redirect": "(misafaeloh misiyor nani $1)",
+       "search-section": "(saka $1 a rekad )",
+       "search-file-match": "( matatodongay a sowal i laloma’ no tang^an )",
+       "search-suggest": "o nini $1 ko nitoro’an iso haw",
+       "searchall": "Maemin/po:long",
+       "search-showingresults": "{{PLURAL:$4|saka <strong>$1</strong> codad, <strong>$3</strong> mapo:long|saka <strong>$1 - $2</strong> codad,<strong>$3</strong> mapo:long  koya codad}}",
+       "search-nonefound": "awaay ko matatodongay to sakarocek a nikaherek",
+       "powersearch-toggleall": " Maemin/po:long",
+       "preferences": "o kananaman a pinangan",
+       "mypreferences": "o kananaman a pinangan",
+       "prefs-rc": "I ngataay nipifalic",
+       "prefs-watchlist": " o pirorodan to tatapalen a tilid",
+       "prefs-editwatchlist-raw": " misinanot to satapangan no pirorodan to tatapalen a tilid",
+       "searchresultshead": " saoo’",
+       "prefs-searchoptions": " saoo’",
+       "prefs-namespaces": "O pipanganganan",
+       "prefs-files": " tang’an",
+       "prefs-diffs": " o kasasiroma",
+       "right-upload": " mipaefer to tang^an",
+       "right-writeapi": "Sakatayal a misorit to API",
+       "grant-createaccount": "misanga’ to cang-haw",
+       "newuserlogpage": " misanga’ to pikilokan to micokaymasay",
+       "rightslog": "O king-li no nikilokan no micokaymasay",
+       "action-edit": "misinanot to inian a felih",
+       "action-createaccount": " misanga’ tona cang-haw no micokaymasay",
+       "action-move": "linahen kona felih",
+       "enhancedrc-history": " likisi",
+       "recentchanges": "I ngataay nipifalic",
+       "recentchanges-legend": "I ngataay nipifalic a kamok.",
+       "recentchanges-summary": "dapdapen i Wiki ko nikafalic nonini a felih",
+       "recentchanges-noresult": "Awaay ko matatodongay a sapifalih i salaloma’ no nipatonekay a romi’ad",
+       "recentchanges-feed-description": "dapdapen i Wiki ko nikafalic nonini a  nisa’amotoan a kimad",
+       "recentchanges-label-newpage": " masanga’ay to nona misinanotay ko faelohay a felih",
+       "recentchanges-label-minor": "O sapado^do^ a mikawitan",
+       "recentchanges-label-bot": "palatamdawan a kikay ko mamidemak tona pisinanot",
+       "recentchanges-label-unpatrolled": "caayay ho misolap kona pisinanot",
+       "recentchanges-label-plusminus": "o kafalic nona felih ( makakafitay a wey-yin)",
+       "recentchanges-legend-heading": "<strong> sapatiri’ a coka^:</strong>",
+       "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (’araw hato[[Special:NewPages|faelohay a felih]])",
+       "recentchanges-submit": "pahapinang",
+       "rcfilters-activefilters-hide": " himed",
+       "rcfilters-activefilters-show": "pahapinang",
+       "rcfilters-days-show-days": "$1 romi’ad",
+       "rcfilters-savedqueries-cancel-label": "Sawaden miforic",
+       "rcfilters-filtergroup-lastRevision": "safaelohay a pisalof",
+       "rcnotefrom": " i kalaenoay{{PLURAL:$5|為}}nani  <strong>$3 $4</strong> nifalican tangasa anini (saadihayay mipahapinangan i<strong>$1</strong> ko nisadakan a codad).",
+       "rclistfrom": "pahapinang to faelohay a falic nano $3 $2",
+       "rcshowhideminor": "$1 sapado^do^ a mikawit",
+       "rcshowhideminor-show": "pahapinang",
+       "rcshowhideminor-hide": " himed",
+       "rcshowhidebots": "$1 palatamdawan a kikay",
+       "rcshowhidebots-show": "pahapinang",
+       "rcshowhidebots-hide": " himed",
+       "rcshowhideliu": "$1 mapanganganay to a micokaymasay",
+       "rcshowhideliu-show": "pahapinang",
+       "rcshowhideliu-hide": " himed",
+       "rcshowhideanons": "$1 misakaniway a ngangan",
+       "rcshowhideanons-show": "pahapinang",
+       "rcshowhideanons-hide": " himed",
+       "rcshowhidepatr": "$1 masolapay to a mikawitan",
+       "rcshowhidepatr-show": "pahapinang",
+       "rcshowhidepatr-hide": " himed",
+       "rcshowhidemine": "$1 no mako a mikawitan",
+       "rcshowhidemine-show": "pahapinang",
+       "rcshowhidemine-hide": " himed",
+       "rcshowhidecategorization-show": "pahapinang",
+       "rcshowhidecategorization-hide": " himed",
+       "rclinks": "pahapinang to ngata $2 a romi’adan to $1 a nifalican",
+       "diff": " o kasasiroma",
+       "hist": " likisi",
+       "hide": " himed",
+       "show": "pahapinang",
+       "minoreditletter": "mamangay",
+       "newpageletter": " faelohay",
+       "boteditletter": "palatamdawan a kikay",
+       "rc-change-size-new": "nanofalicen i, o $1 makakafitay a wey-yin",
+       "rc-old-title": "o sa’ayaway a nisanga’an a ngangan i, o \"$1\"",
+       "recentchangeslinked": " pakayniay i pifalic",
+       "recentchangeslinked-feed": " pakayniay i pifalic",
+       "recentchangeslinked-toolbox": " pakayniay i pifalic",
+       "recentchangeslinked-title": "o kafafalic no pakayniay i \"$1\"",
+       "recentchangeslinked-page": " o ngangan no felih:",
+       "recentchangeslinked-to": "Pahapinangen ko nifalican a felih a itira toya nipatonekan nifalic a felih.",
+       "upload": " mipaefer to tang^an",
+       "filedesc": " o nisa’amotoan a pakimad",
+       "filesource": "lalengatan",
+       "upload-dialog-title": " mipaefer to tang^an",
+       "upload-dialog-button-cancel": "Sawaden miforic",
+       "upload-form-label-infoform-description": " kimad",
+       "upload-form-label-infoform-categories": " pisakilac",
+       "upload-form-label-infoform-date": "O romi’ad",
+       "license": "o sakipatorod a tilid",
+       "license-header": "o sakipatorod a tilid",
+       "listfiles-userdoesnotexist": "Caay ho ka hayda ko pipangangan a cang-haw no micokaymasay \"$1\".",
+       "imgfile": " tang’an",
+       "listfiles_thumb": " nisamamangan a conga",
+       "listfiles_date": "O romi’ad",
+       "listfiles_user": "micokaymasay",
+       "listfiles_description": " kimad",
+       "file-anchor-link": " tang’an",
+       "filehist": "o likisi no tang’an",
+       "filehist-help": " pili’en a mimi^mi ko romi’ad/ tok, ta misongila’ a minengneng to tang’an rorong nora tatokian",
+       "filehist-current": "Aniniay/imatinaay",
+       "filehist-datetime": "O romi’ad/ toki",
+       "filehist-thumb": " nisamamangan a conga",
+       "filehist-thumbtext": "Nani tiniay i $1 a rorong no nisamamangan a coka",
+       "filehist-user": "micokaymasay",
+       "filehist-dimensions": "o tata’ak ato karaya’",
+       "filehist-comment": "pipatongalan to sowal",
+       "imagelinks": " sakatayal no tang’an",
+       "linkstoimage": "Onini laenoay {{PLURAL:$1| makakafit ko felih  |$1 ko felih makakafit}}tayi tonini a tang^an:",
+       "linkstoimage-more": "mata’elifay ko $1 o {{PLURAL:$1| o felih  tongod| o felih  tongod}} a tayni tona tang’an. ona kamok deng o  {{PLURAL:$1|1 ko pitongod to |$1 tongod}} tayni tona tang’an a feli. Manga’ay misongila’ kiso a manengneng to [[Special:WhatLinksHere/$2| masongila’ay a kamok ]]。",
+       "nolinkstoimage": "Awaay ko felih to sapakakafit tonini a tang^an.",
+       "linkstoimage-redirect": "$1 (misafaeloh misiyor to tang^an ) $2",
+       "sharedupload-desc-here": "Nani tiniay i $1konini a tang^an, alatek macokaymas no roma a masatataday a tang^an. Ikalaeno i [ masongila’ay a sowal toya felih ] a mapahapinang ko i tenokay a sowal.",
+       "filepage-nofile": "Awaayay ko ngangan a tang^an.",
+       "upload-disallowed-here": "cowa ko mamatahepo iso kona tang’an。",
+       "randompage": "away ko pitooran a felih",
+       "randomincategory-submit": " pidemak",
+       "statistics-articles": " Matiliday a sowal itenok no felih",
+       "statistics-pages": " o felih",
+       "pageswithprop-submit": " pidemak",
+       "double-redirect-fixer": " misafaeloh misiyor i nisalofay",
+       "brokenredirects-edit": "misinanot",
+       "withoutinterwiki-submit": "pahapinang",
+       "nbytes": "$1 ko makakafitay a wey-yin",
+       "nmembers": "$1 ko salaloma’ay no …a tamdaw",
+       "prefixindex": "do^doen ko tatapangan no sowal a mikilim to felih",
+       "prefixindex-submit": "pahapinang",
+       "protectedpages-filters": " saoo’:",
+       "protectedpages-noredirect": "mihimed a misafaeloh misiyor a felih",
+       "protectedpages-page": " o felih",
+       "newpages": " faelohay a felih",
+       "newpages-submit": "pahapinang",
+       "newpages-username": "o ngangan no micokaymasay",
+       "move": "malinah",
+       "movethispage": "linahen kona felih",
+       "pager-newer-n": "{{PLURAL:$1|faelo:hay  $1 a codad}}",
+       "pager-older-n": "o matelangay a nisinanotan $1",
+       "apisandbox-add-multi": "mitongal",
+       "booksources": " pikinairaan no nina’angan a tilid",
+       "booksources-search-legend": "mikilim to pina’angan to tilid",
+       "booksources-search": " saoo’",
+       "speciallogtitlelabel": "O patosokan (sakacipinang a sorit ano eca o… {{ns:user}}: o ngangan no micokaymasay):",
+       "log": "nisoritan to romi’ami’ad",
+       "alllogstext": "Pararapiten a maemin mahapinang ko  {{SITENAME}} no kahirahira a nikilokan. Manga’ay kiso a talalaeno a mipili’ to nikilokan, miteked pangangan to micokaymasay (ta’akay sorit ano eca mamangay sorit no padaka) ano eca oya ngangan o madafitay a felif(ta’akay sorit ano eca mamangay sorit no padaka)",
+       "logempty": "awaay ko matatodongay to sakarocek a kilok",
+       "checkbox-all": " Maemin/po:long",
+       "allpages": "O po:long no felih",
+       "allarticles": "O po:long no felih",
+       "allpagessubmit": " pidemak",
+       "allpages-hide-redirects": "mihimed a misafaeloh misiyor a felih",
+       "categories": " pisakilac",
+       "categories-submit": "pahapinang",
+       "sp-deletedcontributions-contribs": " nipafelian",
+       "linksearch-ns": "O pipanganganan",
+       "linksearch-ok": " saoo’",
+       "listusers-submit": "pahapinang",
+       "emailuser": "Pa-Email-en a pacodad konini micokaymasay",
+       "emailusername": "o ngangan no micokaymasay",
+       "watchlist": " o pirorodan to tatapalen a tilid",
+       "mywatchlist": " o pirorodan to tatapalen a tilid",
+       "watchlistfor2": "$2 pisimawan to ’a’arawen a tilid no $1",
+       "watch": "mitapal",
+       "watchthispage": "mitapal to inian a felih",
+       "watchlist-details": "o pirorodan to ’a’arawen a tilid iso i, $1 ko felih (halo- kalalicay a felih )。",
+       "wlheader-showupdated": "O pakarikoray nisongila’an a minengneng ato nisalofan a felih i, oya <strong>kifetolay sorit </strong> ko sapasapinang.",
+       "wlnote": " i kalaenoay nani $3 $4 i ka’ayaway i <strong>$2</strong> mihalakaan i ’ayaw no pinapina a tatokian  <strong>$1</strong> kina--- a mifalic.",
+       "wlshowlast": "pahapinang to ngata $1 a tatokian $2 a romi’ad",
+       "watchlist-hide": " himed",
+       "watchlist-submit": "pahapinang",
+       "enotif_reset": " pahapinangen kona felih a maemin o matiri’ay to",
+       "enotif_minoredit": "O sapado^do^ a mikawitan",
+       "historyaction-submit": "pahapinang",
+       "dellogpage": "falah/ foric nisoritan to romi’ami’ad",
+       "deletionlog": "falah/ foric nisoritan to romi’ami’ad",
+       "rollbacklink": " patatikol",
+       "rollbacklinkcount": "{{PLURAL:$1|a mikawit}}",
+       "protectlogpage": "Sapi’adipel to nisoritan to romi’ami’ad",
+       "protectedarticle": "Mapa’esay to ko \"[[$1]]\"",
+       "modifiedarticleprotection": "Mafalicay to \"[[$1]]\" koya sapi’adipel",
+       "protect-default": " mahayda ko po:long ano micokaymasay",
+       "restriction-type": " o sakatonek a patorod :",
+       "restriction-edit": "misinanot",
+       "restriction-move": "malinah",
+       "restriction-create": " misanga’",
+       "undeleteinvert": "Macaco’isay ko pipili’",
+       "undelete-search-submit": " saoo’",
+       "namespace": "O pipanganganan",
+       "invert": "Macaco’isay ko pipili’",
+       "tooltip-invert": " Mikawit tonini a masa’apeladay, o sapisimed a mipili’ a mipangangan to nifalican a felih(ano mikawit to sapipangangan i, o mamalecad a masimed ko nipanganganan)",
+       "namespace_association": "  pakayniay i pipanganganan",
+       "tooltip-namespace_association": " Mikawit tonini a masa’apelada, o pahapinang to masaloma’ay to ko nikalalicay ato patosokan to sapangangan",
+       "blanknamespace": "(kalimelaan)",
+       "contributions": "{{GENDER:$1| micokaymasay}} nipaini/ nipafeli",
+       "contributions-title": "nipaini/ nipafeli no micokaymasay a $1",
+       "mycontris": " nipafelian",
+       "contribsub2": "{{GENDER:$3|$1}} nipainian/ nipafelian no ($2)",
+       "contributions-userdoesnotexist": "Caay ho ka hayda ko pipangangan a cang-haw no micokaymasay \"$1\".",
+       "nocontribs": "Awaay matama^ ko matatodongay a sapifalih",
+       "month": "paherekan safoladan:",
+       "year": "paherekan mihecaan:",
+       "sp-contributions-newbies": "o nipafelian aca no faelohay cang-haw ko pahapinangen",
+       "sp-contributions-blocklog": " pikilokan to kalonicikeran",
+       "sp-contributions-logs": "nisoritan to romi’ami’ad",
+       "sp-contributions-talk": " kalalicay",
+       "sp-contributions-username": "kaitiraan no IP ano ecangangan no micokaymasay:",
+       "sp-contributions-toponly": "Edeng o safaelohay misanga’an a mikawit ko mapahapinangay",
+       "sp-contributions-newonly": "Edeng o masanga’ay to a felih no nikawitan ko mapahapinangay",
+       "sp-contributions-submit": " saoo’",
+       "whatlinkshere": "militingay tonian a felih",
+       "whatlinkshere-title": "militingay i \"$1\" a felih",
+       "isredirect": " misafaeloh misiyor i felih",
+       "istemplate": "Micaliw micokaymas",
+       "isimage": "patatongod to tang’an",
+       "whatlinkshere-prev": "ya ka’ayaway to $1",
+       "whatlinkshere-next": "{{PLURAL:$1|i kalaeno $1 ko codad}}",
+       "whatlinkshere-links": "makakaffit/matatongod",
+       "whatlinkshere-hideredirs": "$1  misafaeloh misiyor",
+       "whatlinkshere-hidetrans": "$1 micaliw",
+       "whatlinkshere-hidelinks": "$1 kakafit",
+       "whatlinkshere-hideimages": "$1 tang^an makakafit",
+       "whatlinkshere-filters": " saoo’",
+       "whatlinkshere-submit": " pidemak",
+       "ipaddressorusername": "kaitiraan no IP ano ecangangan no micokaymasay:",
+       "ipboptions": "2 tatokian:2 hours,1 romi’ad:1 day,3 romi’ad:3 days,1 lipay:1 week,2 lipay:2 weeks,1 folad:1 month,3 folad:3 months,6 folad:6 months,1 miheca:1 year,awaayay ko tolas no romi’ad:infinite",
+       "autoblocklist-submit": " saoo’",
+       "ipblocklist-submit": " saoo’",
+       "createaccountblock": " materepay  cang-haw  misanga’",
+       "blocklink": " ciker/maciker/cikeren",
+       "contribslink": "nipafelian",
+       "blocklogpage": " pikilokan to kalonicikeran",
+       "blocklogentry": "Maciker to ko [[$1]] paherekan no romi’adtangasa i $2 $3",
+       "reblock-logentry": "Somaden koya nicikeran a paherekan a romi’ad i [[$1]] tangasa i $2 $3",
+       "block-log-flags-nocreate": " materepay  cang-haw  misanga’",
+       "proxyblocker": " Saciker no micaliway a matayalay no tyin-naw",
+       "movelogpage": "o nisoritan pakayni i linah to romi’ami’ad",
+       "export": "pahadaken ko felih",
+       "allmessages-filter-all": " Maemin/po:long",
+       "allmessages-filter-submit": " pidemak",
+       "thumbnail-more": "satata’aken",
+       "import-comment": "pipatongalan to sowal",
+       "tooltip-pt-userpage": "{{GENDER:|no miso micokaymasay}} a felih",
+       "tooltip-pt-mytalk": "{{GENDER:|no miso}} kalalicayan a felih",
+       "tooltip-pt-preferences": "{{GENDER:|no miso}} o kakaolahan",
+       "tooltip-pt-watchlist": "mihinengay kiso to kafafakic nno felih imatini",
+       "tooltip-pt-mycontris": "{{GENDER:|no miso }} nipainian/ nipafelian a kamok",
+       "tooltip-pt-login": "picomod ko sanga’ayay, nika ca katoor",
+       "tooltip-pt-logout": "  mahadak",
+       "tooltip-pt-createaccount": "Miipa’icel kami i tisowanan a misanga’ to cecay a cang-haw ato micomod, ano caacaay ko tadamanay a pidemak koni.",
+       "tooltip-ca-talk": "O nikaaini to i laloma’ay a sowal no felih",
+       "tooltip-ca-edit": "misinanot to inian a felih",
+       "tooltip-ca-addsection": "miteka to faelohay a rekad",
+       "tooltip-ca-viewsource": "Ma’adipelay to konini a felih. Manga’ay kiso a songila’ a mineneng to yin-se-ma nonini a felih.",
+       "tooltip-ca-history": "O nisalofan i ka’ayaw itini tona felih",
+       "tooltip-ca-move": "linahen kona felih",
+       "tooltip-ca-watch": "patongalen i pirorodan to ’a’arawen a tilid iso kona felih",
+       "tooltip-ca-unwatch": "falahen kona felih nani pirorodan to ’a’arawen a tilid",
+       "tooltip-search": " saoo’ {{SITENAME}}",
+       "tooltip-search-go": "ano malecaday to ngangan nona felih, tayra tora felih",
+       "tooltip-search-fulltext": " saoo’ to micokaymasay tona sorit a felih",
+       "tooltip-p-logo": "tayra sa’ayayaw a felih",
+       "tooltip-n-mainpage": "tayra sa’ayayaw a felih",
+       "tooltip-n-mainpage-description": "tayra sa’ayayaw a felih",
+       "tooltip-n-portal": "ona halaka, mimaan kiso, icowa mikerato kanikawan no miso",
+       "tooltip-n-currentevents": "Itini i salaoma’ no nipainian a demak no sinpong a makera ko makakafitay malecaday a tatiri’en a demak.",
+       "tooltip-n-recentchanges": "Silsilenko ko nifalican a kamok koya itiniay i Wiki",
+       "tooltip-n-randompage": "away ko pitooran micomod sa to cecay a felih",
+       "tooltip-n-help": " pilongocan to sakidama",
+       "tooltip-t-whatlinkshere": "silsilen a maemin koya felif makakafitay tonini a felif",
+       "tooltip-t-recentchangeslinked": "Inian a felih i, makakafitay to to nifalican to no romaay o felih i mangataay a romi’ad.",
+       "tooltip-feed-atom": "O lalengatan ninian Atom a feli",
+       "tooltip-t-contributions": "{{GENDER:$1|onini micokaymasay}}to  nipainian/ nipafelian a kamok",
+       "tooltip-t-emailuser": "paefer i-miyo patongod tona {{GENDER:$1| o micokaymasay }}",
+       "tooltip-t-upload": " mipaefer to tang^an",
+       "tooltip-t-specialpages": "O kamok no po:long no ta’arawan i tyin-naw",
+       "tooltip-t-print": "Manga’ayay a lyi-inen a rorong ninian a felih.",
+       "tooltip-t-permalink": "Inian a felih i, o masalofay to a tomerepay/mada’ocay a nikakafit",
+       "tooltip-ca-nstab-main": "misongila’ a minengneng to sowal no felih",
+       "tooltip-ca-nstab-user": " misongila’ a minengneng to micokaymasay a felih",
+       "tooltip-ca-nstab-special": "O micidekay a felih no tyin-naw konini, caay ka nga’ay a mikawit.",
+       "tooltip-ca-nstab-project": "misongila’ a minengneng to halakaan a felih",
+       "tooltip-ca-nstab-image": " misongila’ a minengneng to tang’an no felih",
+       "tooltip-ca-nstab-mediawiki": " misongila’ a minengneng to si-tong no lihaf",
+       "tooltip-ca-nstab-template": " misongila’ a minengneng to sampolo",
+       "tooltip-ca-nstab-category": " misongila’ a minengneng to pisakilac/kasakilac o felih",
+       "tooltip-minoredit": " pahapinangen kona nisinanotan o sapado^do^",
+       "tooltip-save": " mina’ang to nifalican no miso",
+       "tooltip-preview": "ano mamina’ang i, ka’ayawen ho a manengneng ko nifalican iso!",
+       "tooltip-diff": "ahapinang to nifalican no miso a sowal",
+       "tooltip-compareselectedversions": "kilimen kona felih to kasasiroma no namipili’an a nisalofan",
+       "tooltip-watch": "patongalen i pirorodan to ’a’arawen a tilid iso kona felih",
+       "tooltip-rollback": " pili’en a mimi^mi ko \" patikor\" liting, ta patikor tayra i pisinanot no ka’ayaway a painiay to inian a felih",
+       "tooltip-undo": "“patiko”manga’ay patiko toya mikawitan a misorit, ato manga’ay oya sapali’ayaw a mineneng ko sapifohat toya mikawitan a misorit, ta manga’ay kiso a mitongal to lalangatan no demak i sapali’ayaw a sowal.",
+       "tooltip-summary": "pacomden ko nisa’amotoan a pakimad",
+       "simpleantispam-label": "Sapikin-sa to sata’ed to matolakaway a lihaf.\nAkaa <strong>pisorit kiso itini tona  </strong> sanay a pisoritan.",
+       "pageinfo-title": "Lihaf o \"$1\"",
+       "pageinfo-default-sort": "nipatalaan a nitonekan to sakasilsil:",
+       "pageinfo-length": " o raraya’ no felih (makakafitay a wey-yin)",
+       "pageinfo-robot-policy": "O kikay mato o tamdaw ko fana’ ko misanga’ay to tanenengan ato pikiliman",
+       "pageinfo-few-watchers": "Kisafaan ko ’aloman $1 no mikacaway",
+       "pageinfo-redirects-name": "pasayniay tona felih i, miliyaw pasayra to kahakowa no feli",
+       "pageinfo-subpages-name": "Pinaay a felih ko i kalaenoay ninian a felih",
+       "pageinfo-subpages-value": "$1 ($2 ko {{PLURAL:$2|misafaelof a misiyar palalan}};$3 ko {{PLURAL:$3|caayay ko nisafaelohan misiyor palalan}})",
+       "pageinfo-recent-edits": "o misinanotan (tona $1 a romi’ad)",
+       "pageinfo-magic-words": "ma-cit{{PLURAL:$1|sorit}} ($1)",
+       "pageinfo-hidden-categories": "o nihimedan a kasakilac ($1)",
+       "pageinfo-templates": "Micaliw micokaymas to pitodongan a sampolo  ($1)",
+       "pageinfo-toolboxlink": " o lihaf no felih",
+       "pageinfo-contentpage": "O pisa’osian to laloma’ay a sowal a felih",
+       "previousdiff": "← matela:ngay a mikawitan",
+       "nextdiff": "o faelohay a nisinanotan →",
+       "widthheightpage": "$1 × $2,$3 felih",
+       "file-info-size": "$1 × $2 ko kasapinang no siyang-su, o tata’ang no pinaro:$3,MIME kassiroma a:$4",
+       "file-info-size-pages": "$1 × $2 ko kasapinang no siyang-su, o tata’ang no pinaro:$3,MIME kassiroma a:$4,$5 {{PLURAL:$5|felih}}",
+       "file-nohires": "awaayto ko sanga’ayay a cey-si-tu malo sapafeli。",
+       "svg-long-desc": "SVG  tang^an,tata’ak no laleko:$1 × $2  syang-su no sya-sing, o tata’ak no tang^an:$3",
+       "show-big-image": " satapangan tang’an",
+       "show-big-image-preview": " o tata’ak no pa’ayaw a minengneng:$1。",
+       "show-big-image-other": " o romaay a {{PLURAL:$2||}} cyi-si-tu:$1。",
+       "show-big-image-size": "$1 × $2 ko kasapinang no siyang-su",
+       "newimages-newbies": "o nipafelian aca no faelohay cang-haw ko pahapinangen",
+       "ilsubmit": " saoo’",
+       "metadata": "mikitedal to tatiri’en",
+       "metadata-help": "Onini a tang^ani, masalaloma’ ko no roma^  a lihaf, onini a lihaf i, latek o matongalay yo mipalowaday to su-wey ka-mi-la ano eca yo  mipalowad to sapise-ken a kikay. Ano masomad ko satapangay a tang^an i, latek oya masongila’ay a tili, caay to kapasapingan itira toya masomaday to a tang^an.",
+       "metadata-fields": "Oya misilsilan pasadak a lihaf i EXIF nitadtadan a codad, maparo itira cisysingay a felih, ano ira ko nikacicih noya nitadtadan a felih i, edeng oya i kalaenoay ko mamapa’araw. O roma a nitadtadan a codad i, masimed. Caay pasadaken. \n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude",
+       "exif-orientation": "O pasayraan",
+       "exif-xresolution": "cyi-si-tu no rimadac no nanom",
+       "exif-yresolution": "mecel nani faled cey-si-tu",
+       "exif-datetime": " pisalof to tang’an a romi’ad toki",
+       "exif-make": "misanga’ay to kamila a kosi",
+       "exif-model": " fangko no kamila to kasasiroma no lalosidan",
+       "exif-software": "Luwan-ti to sakatayal",
+       "exif-artist": "O misoritay",
+       "exif-exifversion": "Exif rorong no codad",
+       "exif-colorspace": "o lahad pitilidan",
+       "exif-datetimeoriginal": "o kairaan no tatiri’en a romi’ad toki",
+       "exif-datetimedigitized": " so romi’ad toki no u-wey-hwa",
+       "exif-source": "lalengatan",
+       "exif-iimcategory": "pisakilac",
+       "exif-orientation-1": " salongan",
+       "exif-contrast-0": " salongan",
+       "exif-saturation-0": " salongan",
+       "exif-sharpness-0": " salongan",
+       "namespacesall": " Maemin/po:long",
+       "monthsall": " Maemin/po:long",
+       "confirm-watch-top": "patongalen i pirorodan to ’a’arawen a tilid iso kona felih?",
+       "confirm-unwatch-top": "falahen kona felih nani pirorodan to ’a’arawen a tilid?",
+       "imgmultigo": " pidemak",
+       "imgmultigoto": "tayra i saka $1 a felih",
+       "img-lang-go": " pidemak",
+       "table_pager_limit_submit": " pidemak",
+       "watchlistedit-raw-title": " misinanot to satapangan no pirorodan to tatapalen a tilid",
+       "watchlisttools-view": "misongila’ a minengneng to pakayniay i   falic",
+       "watchlisttools-edit": " misongila’ a minengneng ato misinanot  to pirorodan to tatapalen a tilid",
+       "watchlisttools-raw": " misinanot to satapangan no pirorodan to tatapalen a tilid",
+       "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1| kalalicay]])",
+       "version-specialpages": " micidekay a felih",
+       "version-ext-colheader-description": " kimad",
+       "version-libraries-description": " kimad",
+       "redirect": "Do^doen ko tang^an, o micokaymasay, o felih, o pisalof ato ID no nikilokan a misafaeloh misiyor",
+       "redirect-summary": "Onini micidekay a pi’arawan i tyin-naw manga’ay a misafaeloh misiyor patayra i tang^an (nipatonekan a ngangan no tang^an), o felih ( nipatonekan misalof a ID ano eca o ID no felih), macokaymasay a felih ( mapatonekay a ID no micokaymasay)、ano eca o kasasiroma no nikilokan( nipatonekan a ID no nikilokan)。O sapilaheci a micokaymas: [[{{#Special:Redirect}}/file/Example.jpg]]、[[{{#Special:Redirect}}/page/64308]]、[[{{#Special:Redirect}}/revision/328429]]、[[{{#Special:Redirect}}/user/101]] ano eca [[{{#Special:Redirect}}/logid/186]]。",
+       "redirect-submit": " pidemak",
+       "redirect-revision": " o pisalof ID no felih",
+       "fileduplicatesearch-submit": " saoo’",
+       "specialpages": " micidekay a felih",
+       "tag-filter": "[[Special:Tags|sakacipinang a ’otoc]] misolap:",
+       "tag-list-wrapper": "([[Special:Tags|$1 sakacipinang a ’otoc]]:$2)",
+       "tag-mw-rollback": " patatikol",
+       "tag-mw-undo": " patikor",
+       "tags-source-header": "lalengatan",
+       "tags-edit": "misinanot",
+       "tags-create-submit": " misanga’",
+       "permanentlink": "tomerepay tongod",
+       "htmlform-cloner-delete": "falah",
+       "logentry-delete-delete": "$1 masopitay to a felih $3",
+       "logentry-delete-restore": "$1{{GENDER:$2| patiko }} o felih  $3($4)",
+       "logentry-delete-revision": "$1 {{GENDER:$2|masomaday to }} ko felih no $3 ilaloma’ {{PLURAL:$5|1 nisalofan |$5 nisalofan }}i felih no:$4",
+       "logentry-move-move": "$1 {{GENDER:$2|malinah to}} ko felih nani $3 tangasa i $4",
+       "logentry-move-move-noredirect": "$1 {{GENDER:$2|malinah to }} ko felih nani  $3 tangsa i $4,caay safaelohen misiyor",
+       "logentry-move-move_redir": "$1 malinah to kona felih nani $3 tangsa $4 oroma sato matahepo koya nisafaelohan misiyor",
+       "logentry-patrol-patrol-auto": "$1 milonok to {{GENDER:$2| sapahapinang }} a felih  $3 to nisalofan i  $4 o masolapay to",
+       "logentry-newusers-newusers": "Ma-{{GENDER:$2| sanga’ay to }} ko cang-haw no micokaymasay $1",
+       "logentry-newusers-create": "Ma-{{GENDER:$2| sanga’ay to }} ko cang-haw no micokaymasay $1",
+       "logentry-newusers-autocreate": "Lonok sanay to {{GENDER:$2| misanga’ }} ko cang-haw no micokaymasay $1",
+       "logentry-upload-upload": "$1 {{GENDER:$2|mapaefer to}} $3",
+       "logentry-upload-overwrite": "$1 {{GENDER:$2|mapaefer to}} faelohay\n rorong no $3",
+       "logentry-upload-revert": "$1 {{GENDER:$2|mapaefer to}} $3",
+       "feedback-cancel": "Sawaden miforic",
+       "searchsuggest-search": " saoo’ {{SITENAME}}",
+       "duration-days": "$1 romi’ad",
+       "log-action-filter-all": " Maemin/po:long",
+       "log-action-filter-block-block": " ciker/maciker/cikeren",
+       "authmanager-userdoesnotexist": "Caay ho ka hayda ko pipangangan a cang-haw no micokaymasay \"$1\"."
+}
index 5f04e02..a6273c5 100644 (file)
@@ -74,7 +74,8 @@
                        "Aboulouei1",
                        "سامي الرحيلي",
                        "Azouz.anis",
-                       "Elbasyouny"
+                       "Elbasyouny",
+                       "Omar Ghrida"
                ]
        },
        "tog-underline": "سطر تحت الوصلات:",
        "group-autoconfirmed": "مستخدمون مؤكدون تلقائيا",
        "group-bot": "بوتات",
        "group-sysop": "إداريون",
+       "group-interface-admin": "إداريو الواجهة",
        "group-bureaucrat": "بيروقراطيون",
        "group-suppress": "مزيلون",
        "group-all": "(الكل)",
        "group-autoconfirmed-member": "{{GENDER:$1|مستخدم مؤكد تلقائيًا|مستخدمة مؤكدة تلقائيًا}}",
        "group-bot-member": "{{GENDER:$1|بوت}}",
        "group-sysop-member": "{{GENDER:$1|إداري|إدارية}}",
+       "group-interface-admin-member": "{{GENDER:$1|إداري الواجهة}}",
        "group-bureaucrat-member": "{{GENDER:$1|بيروقراط}}",
        "group-suppress-member": "{{GENDER:$1|مزيل|مزيلة}}",
        "grouppage-user": "{{ns:project}}:مستخدمون",
        "grouppage-autoconfirmed": "{{ns:project}}:مستخدمون مؤكدون تلقائيا",
        "grouppage-bot": "{{ns:project}}:بوتات",
        "grouppage-sysop": "{{ns:project}}:إداريون",
+       "grouppage-interface-admin": "{{ns:project}}:إداريو الواجهة",
        "grouppage-bureaucrat": "{{ns:project}}:بيروقراطيون",
        "grouppage-suppress": "{{ns:project}}:خاصية الإزالة",
        "right-read": "قراءة الصفحات",
        "right-editusercss": "تعديل ملفات CSS للمستخدمين الآخرين",
        "right-edituserjson": "تعديل ملفات جسون للمستخدمين الآخرين",
        "right-edituserjs": "تعديل ملفات جافاسكريبت للمستخدمين الآخرين",
+       "right-editsitecss": "تعديل CSS على مستوى الموقع",
+       "right-editsitejson": "تعديل جسون على مستوى الموقع",
+       "right-editsitejs": "تعديل جافاسكريبت على مستوى الموقع",
        "right-editmyusercss": "تعديل ملفات CSS للمستخدم نفسه",
        "right-editmyuserjson": "تعديل ملفات جسون للمستخدم نفسه",
        "right-editmyuserjs": "تعديل ملفات جافاسكربت للمستخدم نفسه",
index dbbffdc..15c6487 100644 (file)
        "customcssprotected": "Вы ня маеце правоў на рэдагаваньне гэтай CSS-старонкі, таму што яна ўтрымлівае пэрсанальныя налады іншага ўдзельніка.",
        "customjsonprotected": "Вы ня маеце дазволу на рэдагаваньне гэтай JSON-старонкі, таму што яна ўтрымлівае пэрсанальныя налады іншага ўдзельніка.",
        "customjsprotected": "Вы ня маеце правоў на рэдагаваньне гэтай старонкі JavaScript, таму што яна ўтрымлівае пэрсанальныя налады іншага ўдзельніка.",
+       "sitecssprotected": "Вы ня маеце дазволу на рэдагаваньне гэтай CSS-старонкі, бо гэта можа паўплываць на ўсіх удзельнікаў",
+       "sitejsonprotected": "Вы ня маеце дазволу на рэдагаваньне гэтай JSON-старонкі, бо гэта можа паўплываць на ўсіх удзельнікаў",
        "mycustomcssprotected": "Вы ня маеце дазволу рэдагаваць гэтую CSS-старонку.",
        "mycustomjsonprotected": "Вы ня маеце дазволу на рэдагаваньне гэтай JSON-старонкі.",
        "mycustomjsprotected": "Вы ня маеце дазволу рэдагаваць гэтую JavaScript-старонку.",
        "grant-createaccount": "Стварэньне рахункаў",
        "grant-createeditmovepage": "Стварэньне, рэдагаваньне і перанос старонак",
        "grant-delete": "Выдаленьне старонак, вэрсіяў і запісаў журналаў",
-       "grant-editinterface": "Рэдагаваньне прасторы назваў MediaWiki і CSS/JSON/JavaScript удзельніка",
+       "grant-editinterface": "Рэдагаваньне прасторы назваў MediaWiki і JSON сайту/удзельнікаў",
        "grant-editmycssjs": "Рэдагаваньне вашага CSS/JSON/JavaScript",
        "grant-editmyoptions": "Рэдагаваньне вашых наладаў удзельніка",
        "grant-editmywatchlist": "Рэдагаваньне вашага сьпісу назіраньня",
        "watchthisupload": "Назіраць за гэтым файлам",
        "filewasdeleted": "Файл з такой назвай загружаўся, але быў выдалены.\nВам трэба праверыць $1 перад новай загрузкай.",
        "filename-thumb-name": "Гэта выглядае як назва мініятуры. Калі ласка, не загружайце мініятуры назад у тую ж вікі. Калі вам неабходны гэты файл, выпраўце назву на больш зразумелую, каб яна ня ўтрымлівала прэфікс мініятуры.",
-       "filename-bad-prefix": "Назва файла, які Вы загружаеце, пачынаецца з '''«$1»'''. Падобныя бессэнсоўныя назвы звычайна ствараюцца аўтаматычна лічбавымі фотаапаратамі. Калі ласка, абярыце больш зразумелую назву для Вашага файла.",
+       "filename-bad-prefix": "Назва файлу, які вы загружаеце, пачынаецца з <strong>«$1»</strong>, што зьяўляецца неапісальнай назвай, якія звычайна ствараюцца аўтаматычна лічбавымі фотаапаратамі. Калі ласка, абярыце больш зразумелую назву для вашага файлу.",
        "upload-proto-error": "Няслушны пратакол",
        "upload-proto-error-text": "Аддаленая загрузка файлаў патрабуе URL-адрас, які пачынаецца з <code>http://</code> альбо <code>ftp://</code>.",
        "upload-file-error": "Унутраная памылка",
        "uploadstash-zero-length": "Файл мае нулявую даўжыню.",
        "invalid-chunk-offset": "Няслушнае зрушэньне фрагмэнту",
        "img-auth-accessdenied": "Доступ забаронены",
-       "img-auth-nopathinfo": "Адсутнічае PATH_INFO.\nВаш сэрвэр не ўстаноўлены на пропуск гэтай інфармацыі.\nМагчма, ён працуе праз CGI і не падтрымлівае img_auth.\nГлядзіце https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization.",
+       "img-auth-nopathinfo": "Адсутнічаюць зьвесткі пра шлях.\nВаш сэрвэр мусіць быць наладжаны на пропуск зьменных REQUEST_URI і/ці PATH_INFO.\nКалі гэта так, паспрабуйце ўключыць $wgUsePathInfo.\nГлядзіце https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization.",
        "img-auth-notindir": "Неабходнага шляху няма ў дырэкторыі загрузкі, пазначанай у канфігурацыі.",
        "img-auth-badtitle": "Немагчыма стварыць слушную назву з «$1».",
        "img-auth-nologinnWL": "Вы не ўвайшлі ў сыстэму, а «$1» не знаходзіцца ў белым сьпісе.",
index af77e32..505af10 100644 (file)
        "group-autoconfirmed": "Автоматично одобрени потребители",
        "group-bot": "Ботове",
        "group-sysop": "Администратори",
+       "group-interface-admin": "Интерфейсни администратори",
        "group-bureaucrat": "Бюрократи",
        "group-suppress": "Ревизори",
        "group-all": "(всички)",
        "group-autoconfirmed-member": "{{GENDER:$1|автоматично одобрен потребител}}",
        "group-bot-member": "{{GENDER:$1|бот}}",
        "group-sysop-member": "{{GENDER:$1|администратор}}",
+       "group-interface-admin-member": "{{GENDER:$1|интерфейсен администратор|интерфейсна администраторка}}",
        "group-bureaucrat-member": "{{GENDER:$1|бюрократ}}",
        "group-suppress-member": "{{GENDER:$1|ревизор}}",
        "grouppage-user": "{{ns:project}}:Потребители",
        "grouppage-autoconfirmed": "{{ns:project}}:Автоматично одобрени потребители",
        "grouppage-bot": "{{ns:project}}:Ботове",
        "grouppage-sysop": "{{ns:project}}:Администратори",
+       "grouppage-interface-admin": "{{ns:project}}:Интерфейсни администратори",
        "grouppage-bureaucrat": "{{ns:project}}:Бюрократи",
        "grouppage-suppress": "{{ns:project}}:Ревизори",
        "right-read": "Четене на страници",
        "uctop": "(текуща)",
        "month": "От месец (и по-рано):",
        "year": "От година (и по-рано):",
+       "date": "От дата (и по-рано):",
        "sp-contributions-newbies": "Показване само на приносите на нови потребители",
        "sp-contributions-newbies-sub": "на нови потребители",
        "sp-contributions-newbies-title": "Потребителски приноси за нови сметки",
index f9474c3..8e9e882 100644 (file)
@@ -64,7 +64,7 @@
        "fri": "جمعه",
        "sat": "شنبه",
        "january": "جانڤیە",
-       "february": "فئڤریە",
+       "february": "فڤریٱ",
        "march": "مارس",
        "april": "آڤریل",
        "may_long": "مە",
        "copyrightpage": "{{ns:project}}:کپی رایت",
        "currentevents": "اتفاقات جاری",
        "currentevents-url": "Project:اتفاقات جاری",
-       "disclaimers": "تیە پوٙشنا",
+       "disclaimers": "تی پۊشنیڌنیا",
        "disclaimerpage": "Project: تیە پوشنیدٙئنئ کولی",
        "edithelp": "کمک برای اصلاح",
        "helppage-top-gethelp": "هومیاري",
index 8249df5..822a79f 100644 (file)
@@ -28,7 +28,8 @@
                        "Asmen",
                        "Obsuser",
                        "Fitoschido",
-                       "BadDog"
+                       "BadDog",
+                       "Vlad5250"
                ]
        },
        "tog-underline": "Podvlačenje linkova:",
        "right-editcontentmodel": "Uređivanje modela sadržaja stranice",
        "right-editinterface": "Uređivanje korisničkog interfejsa",
        "right-editusercss": "Uređivanje tuđih CSS datoteka",
+       "right-edituserjson": "Uređivanje tuđih JSON datoteka",
        "right-edituserjs": "Uređivanje tuđih JavaScript datoteka",
        "right-editmyusercss": "Uređivanje vlastitih CSS datoteka",
+       "right-editmyuserjson": "Uređivanje vlastitih JSON datoteka",
        "right-editmyuserjs": "Uređivanje vlastitih JavaScript datoteka",
        "right-viewmywatchlist": "Pregledanje vlastitog spiska praćenja",
        "right-editmywatchlist": "Uređivanje vlastitog spiska praćenja. Važno je spomenuti da će neke radnje dodati stranice na spisak, čak i bez ovog prava.",
index 3cd1b13..38f6b80 100644 (file)
        "group-autoconfirmed": "Usuaris autoconfirmats",
        "group-bot": "Bots",
        "group-sysop": "Administradors",
+       "group-interface-admin": "Administradors de la interfície",
        "group-bureaucrat": "Buròcrates",
        "group-suppress": "Supressors de Flow",
        "group-all": "(tots)",
        "group-autoconfirmed-member": "{{GENDER:$1|usuari autoconfirmat|usuària autoconfirmada}}",
        "group-bot-member": "{{GENDER:$1|bot}}",
        "group-sysop-member": "{{GENDER:$1|administrador|administradora}}",
+       "group-interface-admin-member": "{{GENDER:$1|administrador|administradora}} de la interfície",
        "group-bureaucrat-member": "{{GENDER:$1|buròcrata}}",
        "group-suppress-member": "{{GENDER:$1|supressor|supressora}} de Flow",
        "grouppage-user": "{{ns:project}}:Usuaris",
        "grouppage-autoconfirmed": "{{ns:project}}:Usuaris autoconfirmats",
        "grouppage-bot": "{{ns:project}}:Bots",
        "grouppage-sysop": "{{ns:project}}:Administradors",
+       "grouppage-interface-admin": "{{ns:project}}:Administradors de la interfície",
        "grouppage-bureaucrat": "{{ns:project}}:Buròcrates",
        "grouppage-suppress": "{{ns:project}}:Supressors de Flow",
        "right-read": "Llegir pàgines",
        "recentchanges-noresult": "Cap canvi corresponent a aquests criteris en el període indicat.",
        "recentchanges-timeout": "Aquesta cerca ha temporitzat. Podeu provar amb paràmetres de cerca diferents.",
        "recentchanges-network": "A causa d'un error tècnic no s'ha pogut recuperar cap resultat. Intenteu refrescar la pàgina.",
+       "recentchanges-notargetpage": "Introduïu un nom de pàgina a dalt per veure els canvis relacionats amb aquesta pàgina.",
        "recentchanges-feed-description": "Segueix en aquest canal els canvis més recents del wiki.",
        "recentchanges-label-newpage": "Aquesta modificació creà una pàgina",
        "recentchanges-label-minor": "Aquesta és una modificació menor",
index 4d64e06..cf485b7 100644 (file)
        "group-autoconfirmed-member": "{{GENDER:$1|بەکارھێنەرە خۆبەخۆ پەسندکراوەکان}}",
        "group-bot-member": "بۆت",
        "group-sysop-member": "{{GENDER:$1|بەڕێوەبەر}}",
+       "group-interface-admin-member": "{{GENDER:$1|بەڕێوەبەری ڕووکار}}",
        "group-bureaucrat-member": "{{GENDER:$1|بیوروکرات}}",
        "group-suppress-member": "{{GENDER:$1|چاودێر}}",
        "grouppage-user": "{{ns:project}}:بەکارھێنەران",
index e3cf411..eee6de0 100644 (file)
        "customcssprotected": "Nemáte povoleno editovat tuto stránku s CSS, protože obsahuje osobní nastavení jiného uživatele.",
        "customjsonprotected": "Nemáte povoleno editovat tuto stránku s JSONem, protože obsahuje osobní nastavení jiného uživatele.",
        "customjsprotected": "Nemáte povoleno editovat tuto stránku s JavaScriptem, protože obsahuje osobní nastavení jiného uživatele.",
+       "sitecssprotected": "Nemáte oprávnění editovat tuto stránku s CSS, protože to může mít dopad na všechny návštěvníky",
+       "sitejsonprotected": "Nemáte oprávnění editovat tuto stránku s JSONem, protože to může mít dopad na všechny návštěvníky",
+       "sitejsprotected": "Nemáte oprávnění editovat tuto stránku s JavaScriptem, protože to může mít dopad na všechny návštěvníky",
        "mycustomcssprotected": "Nemáte oprávnění editovat tuto stránku s CSS.",
        "mycustomjsonprotected": "Nemáte oprávnění editovat tuto stránku s JSONem.",
        "mycustomjsprotected": "Nemáte oprávnění editovat tuto stránku s JavaScriptem.",
        "group-autoconfirmed": "Automaticky schválení uživatelé",
        "group-bot": "Roboti",
        "group-sysop": "Správci",
+       "group-interface-admin": "Správci rozhraní",
        "group-bureaucrat": "Byrokraté",
        "group-suppress": "Utajovatelé",
        "group-all": "(všichni)",
        "group-autoconfirmed-member": "automaticky {{GENDER:$1|schválený uživatel|schválená uživatelka|schválený uživatel}}",
        "group-bot-member": "{{GENDER:$1|robot|robotka}}",
        "group-sysop-member": "{{GENDER:$1|správce|správkyně|správce}}",
+       "group-interface-admin-member": "{{GENDER:$1|správce|správkyně}} rozhraní",
        "group-bureaucrat-member": "{{GENDER:$1|byrokrat|byrokratka|byrokrat}}",
        "group-suppress-member": "{{GENDER:$1|utajovatel|utajovatelka|utajovatel}}",
        "grouppage-user": "{{ns:project}}:Uživatelé",
        "grouppage-autoconfirmed": "{{ns:project}}:Automaticky schválení uživatelé",
        "grouppage-bot": "{{ns:project}}:Roboti",
        "grouppage-sysop": "{{ns:project}}:Správci",
+       "grouppage-interface-admin": "{{ns:project}}:Správci rozhraní",
        "grouppage-bureaucrat": "{{ns:project}}:Byrokraté",
        "grouppage-suppress": "{{ns:project}}:Utajovatelé",
        "right-read": "Čtení stránek",
        "right-editusercss": "Editace CSS souborů jiných uživatelů",
        "right-edituserjson": "Editace souborů s JSONem jiných uživatelů",
        "right-edituserjs": "Editace JavaScriptových souborů jiných uživatelů",
+       "right-editsitecss": "Editovat celoprojektové CSS",
+       "right-editsitejson": "Editovat celoprojektový JSON",
+       "right-editsitejs": "Editovat celoprojektový JavaScript",
        "right-editmyusercss": "Editace vlastních uživatelských CSS souborů",
-       "right-editmyuserjson": "Editace vlastní uživatelských souborů s JSONem",
+       "right-editmyuserjson": "Editace vlastních uživatelských souborů s JSONem",
        "right-editmyuserjs": "Editace vlastních uživatelských JavaScriptových souborů",
        "right-viewmywatchlist": "Prohlížení vlastního seznamu sledovaných stránek",
        "right-editmywatchlist": "Editace vlastního seznamu sledovaných stránek. Uvědomte si, že některé akce do něj mohou přidat stránky i bez tohoto oprávnění.",
        "grant-createaccount": "Zakládat účty",
        "grant-createeditmovepage": "Vytvářet, editovat a přesouvat stránky",
        "grant-delete": "Mazat stránky, revize a protokolovací záznamy",
-       "grant-editinterface": "Editovat jmenný prostor MediaWiki a uživatelské CSS/JSON/JavaScript",
+       "grant-editinterface": "Editovat jmenný prostor MediaWiki a celoprojektový/uživatelský JSON",
        "grant-editmycssjs": "Editovat váš uživatelský CSS/JSON/JavaScript",
        "grant-editmyoptions": "Změna vašich uživatelských nastavení",
        "grant-editmywatchlist": "Upravovat váš seznam sledovaných stránek",
+       "grant-editsiteconfig": "Editovat celoprojektové a uživatelské CSS/JS",
        "grant-editpage": "Editovat existující stránky",
        "grant-editprotected": "Editovat zamčené stránky",
        "grant-highvolume": "Hromadné editace",
index a7dd8c0..ef2234c 100644 (file)
        "uctop": "(seneste)",
        "month": "Fra måned (og tidligere):",
        "year": "Fra år (og tidligere):",
+       "date": "Fra dato (og tidligere):",
        "sp-contributions-newbies": "Vis kun bidrag fra nye brugere",
        "sp-contributions-newbies-sub": "Fra nye kontoer",
        "sp-contributions-newbies-title": "Brugerbidrag fra nye konti",
index 7fb78b2..c139ebb 100644 (file)
@@ -93,7 +93,8 @@
                        "Suriyaa Kudo",
                        "KPFC",
                        "ToBeFree",
-                       "PerfektesChaos"
+                       "PerfektesChaos",
+                       "Kurt Jansson"
                ]
        },
        "tog-underline": "Links unterstreichen:",
        "customcssprotected": "Du hast nicht die Berechtigung, diese CSS enthaltende Seite zu bearbeiten, da sie die persönlichen Einstellungen eines anderen Benutzers enthält.",
        "customjsonprotected": "Du hast keine Berechtigung, diese JSON-Seite zu bearbeiten, da sie persönliche Einstellungen eines anderen Benutzers enthält.",
        "customjsprotected": "Du hast nicht die Berechtigung, diese JavaScript enthaltende Seite zu bearbeiten, da es sich hierbei um die persönlichen Einstellungen eines anderen Benutzers handelt.",
+       "sitecssprotected": "Du hast keine Berechtigung, diese CSS-Seite zu bearbeiten, da sie alle Besucher betreffen könnte.",
+       "sitejsonprotected": "Du hast keine Berechtigung, diese JSON-Seite zu bearbeiten, da sie alle Besucher betreffen könnte.",
+       "sitejsprotected": "Du hast keine Berechtigung, diese JavaScript-Seite zu bearbeiten, da sie alle Besucher betreffen könnte.",
        "mycustomcssprotected": "Du hast keine Berechtigung, diese CSS-Seite zu bearbeiten.",
        "mycustomjsonprotected": "Du hast keine Berechtigung, diese JSON-Seite zu bearbeiten.",
        "mycustomjsprotected": "Du hast keine Berechtigung, diese JavaScript-Seite zu bearbeiten.",
        "showpreview": "Vorschau zeigen",
        "showdiff": "Änderungen zeigen",
        "blankarticle": "<strong>Warnung:</strong> Die Seite, die du erstellst, ist leer.\nWenn du erneut auf „$1“ klickst, wird die Seite ohne Inhalt erstellt.",
-       "anoneditwarning": "<strong>Warnung:</strong> Du bist nicht angemeldet. Deine IP-Adresse wird öffentlich sichtbar, falls du Bearbeitungen durchführst. Sofern du dich <strong>[$1 anmeldest]</strong> oder <strong>[$2 ein Benutzerkonto erstellst]</strong>, werden deine Bearbeitungen zusammen mit anderen Beiträgen deinem Benutzernamen zugeordnet.",
+       "anoneditwarning": "<strong>Warnung:</strong> Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. <strong>[$1 Melde dich an]</strong> oder <strong>[$2 erstelle ein Benutzerkonto]</strong>, damit Bearbeitungen deinem Benutzernamen zugeordnet werden.",
        "anonpreviewwarning": "''Du bist nicht angemeldet. Beim Speichern wird deine IP-Adresse in der Versionsgeschichte aufgezeichnet.''",
        "missingsummary": "<strong>Hinweis:</strong> Du hast keine Zusammenfassung angegeben. Wenn du erneut auf „$1“ klickst, wird deine Änderung ohne Zusammenfassung übernommen.",
        "selfredirect": "<strong>Warnung:</strong> Du leitest auf diese Seite selbst weiter.\nDu hast vermutlich das falsche Weiterleitungsziel angegeben oder du bearbeitest die falsche Seite.\nWenn du erneut auf „$1“ klickst, wird die Weiterleitung dennoch erstellt.",
        "group-autoconfirmed": "Automatisch bestätigte Benutzer",
        "group-bot": "Bots",
        "group-sysop": "Administratoren",
+       "group-interface-admin": "Oberflächenadministratoren",
        "group-bureaucrat": "Bürokraten",
        "group-suppress": "Unterdrücker",
        "group-all": "(alle)",
        "group-autoconfirmed-member": "{{GENDER:$1|Automatisch bestätigter Benutzer|Automatisch bestätigte Benutzerin}}",
        "group-bot-member": "Bot",
        "group-sysop-member": "{{GENDER:$1|Administrator|Administratorin}}",
+       "group-interface-admin-member": "{{GENDER:$1|Oberflächenadministrator|Oberflächenadministratorin}}",
        "group-bureaucrat-member": "{{GENDER:$1|Bürokrat|Bürokratin}}",
        "group-suppress-member": "{{GENDER:$1|Unterdrücker|Unterdrückerin}}",
        "grouppage-user": "{{ns:project}}:Benutzer",
        "grouppage-autoconfirmed": "{{ns:project}}:Automatisch bestätigte Benutzer",
        "grouppage-bot": "{{ns:project}}:Bots",
        "grouppage-sysop": "{{ns:project}}:Administratoren",
+       "grouppage-interface-admin": "{{ns:project}}:Oberflächenadministratoren",
        "grouppage-bureaucrat": "{{ns:project}}:Bürokraten",
        "grouppage-suppress": "{{ns:project}}:Unterdrücker",
        "right-read": "Seiten lesen",
        "right-editusercss": "Fremde CSS-Dateien bearbeiten",
        "right-edituserjson": "JSON-Dateien anderer Benutzer bearbeiten",
        "right-edituserjs": "Fremde JavaScript-Dateien bearbeiten",
+       "right-editsitecss": "Wikiweit CSS bearbeiten",
+       "right-editsitejson": "Wikiweites JSON bearbeiten",
+       "right-editsitejs": "Wikiweites JavaScript bearbeiten",
        "right-editmyusercss": "Eigene Benutzer-CSS-Dateien bearbeiten",
        "right-editmyuserjson": "Eigene Benutzer-JSON-Dateien bearbeiten",
        "right-editmyuserjs": "Eigene Benutzer-JavaScript-Dateien bearbeiten",
        "grant-createaccount": "Benutzerkonten erstellen",
        "grant-createeditmovepage": "Seiten erstellen, bearbeiten und verschieben",
        "grant-delete": "Seiten, Versionen und Logbucheinträge löschen",
-       "grant-editinterface": "MediaWiki-Namensraum und Benutzer-CSS/JSON/JavaScript bearbeiten",
+       "grant-editinterface": "Den MediaWiki-Namensraum und wikiweites/Benutzer-JSON bearbeiten",
        "grant-editmycssjs": "Dein Benutzer-CSS/JSON/JavaScript bearbeiten",
        "grant-editmyoptions": "Deine Benutzereinstellungen bearbeiten",
        "grant-editmywatchlist": "Deine Beobachtungsliste bearbeiten",
+       "grant-editsiteconfig": "Wikiweites und Benutzer-CSS/JS bearbeiten",
        "grant-editpage": "Vorhandene Seiten bearbeiten",
        "grant-editprotected": "Geschützte Seiten bearbeiten",
        "grant-highvolume": "Massenbearbeitungen",
        "uploadstash-zero-length": "Die Datei hat eine Größe von null.",
        "invalid-chunk-offset": "Ungültiger Startpunkt",
        "img-auth-accessdenied": "Zugriff verweigert",
-       "img-auth-nopathinfo": "Die Angabe PATH_INFO fehlt.\nDer Server ist nicht dafür eingerichtet, diese Information weiterzugeben.\nSie könnte CGI-gestützt sein und kann daher „img_auth“ (Authentifizierung des Dateiaufrufs) nicht unterstützen.\nSiehe auch https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization (englisch).",
+       "img-auth-nopathinfo": "Fehlende Pfadinformationen.\nDein Server muss so aufgesetzt sein, dass die Variablen REQUEST_URI und/oder PATH_INFO übergeben werden.\nFalls zutreffend, versuche, $wgUsePathInfo zu aktivieren.\nSiehe https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization.",
        "img-auth-notindir": "Der gewünschte Pfad ist nicht im konfigurierten Uploadverzeichnis.",
        "img-auth-badtitle": "Aus „$1“ kann kein gültiger Titel erstellt werden.",
        "img-auth-nologinnWL": "Du bist nicht angemeldet und „$1“ ist nicht in der weißen Liste.",
        "passwordpolicies-policy-passwordcannotmatchusername": "Ein Passwort kann nicht mit dem Benutzernamen identisch sein",
        "passwordpolicies-policy-passwordcannotmatchblacklist": "Ein Passwort kann nicht mit speziellen schwarzgelisteten Passwörtern übereinstimmen",
        "passwordpolicies-policy-maximalpasswordlength": "Ein Passwort muss weniger als {{PLURAL:$1|ein|$1}} Zeichen lang sein",
-       "passwordpolicies-policy-passwordcannotbepopular": "Ein Passwort kann nicht {{PLURAL:$1|das beliebteste Passwort|in der Liste der $1 beliebtesten Passwörter}} sein"
+       "passwordpolicies-policy-passwordcannotbepopular": "Ein Passwort kann nicht {{PLURAL:$1|das beliebteste Passwort|in der Liste der $1 beliebtesten Passwörter}} sein",
+       "easydeflate-invaliddeflate": "Der angegebene Inhalt ist nicht ordnungsgemäß komprimiert"
 }
index a0e9bca..a199a90 100644 (file)
        "group-autoconfirmed": "Αυτοεπιβεβαιωμένοι χρήστες",
        "group-bot": "Ρομπότ",
        "group-sysop": "Διαχειριστές",
+       "group-interface-admin": "Διαχειριστές διεπαφής",
        "group-bureaucrat": "Γραφειοκράτες",
        "group-suppress": "Παρατηρητές",
        "group-all": "(όλοι)",
        "group-autoconfirmed-member": "{{GENDER:$1|αυτοεπιβεβαιωμένος χρήστης|αυτοεπιβεβαιωμένη χρήστρια}}",
        "group-bot-member": "ρομπότ",
        "group-sysop-member": "{{GENDER:$1|διαχειριστής|διαχειρίστρια}}",
+       "group-interface-admin-member": "{{GENDER:$1|διαχειριστής διεπαφής}}",
        "group-bureaucrat-member": "{{GENDER:$1|γραφειοκράτης|γραφειοκράτις}}",
        "group-suppress-member": "{{GENDER:$1|επιτηρητής|επιτηρήτρια}}",
        "grouppage-user": "{{ns:project}}:Χρήστες",
        "grouppage-autoconfirmed": "{{ns:project}}:Αυτόματα επιβεβαιωμένοι χρήστες",
        "grouppage-bot": "{{ns:project}}:Bots",
        "grouppage-sysop": "{{ns:project}}:Διαχειριστές",
+       "grouppage-interface-admin": "{{ns:project}}:Διαχειριστές διεπαφής",
        "grouppage-bureaucrat": "{{ns:project}}:Γραφειοκράτες",
        "grouppage-suppress": "{{ns:project}}:Παρόραμα",
        "right-read": "Ανάγνωση σελίδων",
index 2210195..a9bd1f5 100644 (file)
        "customcssprotected": "You do not have permission to edit this CSS page because it contains another user's personal settings.",
        "customjsonprotected": "You do not have permission to edit this JSON page because it contains another user's personal settings.",
        "customjsprotected": "You do not have permission to edit this JavaScript page because it contains another user's personal settings.",
+       "sitecssprotected": "You do not have permission to edit this CSS page because it may affect all visitors",
+       "sitejsonprotected": "You do not have permission to edit this JSON page because it may affect all visitors",
+       "sitejsprotected": "You do not have permission to edit this JavaScript page because it may affect all visitors",
        "mycustomcssprotected": "You do not have permission to edit this CSS page.",
        "mycustomjsonprotected": "You do not have permission to edit this JSON page.",
        "mycustomjsprotected": "You do not have permission to edit this JavaScript page.",
        "group-autoconfirmed": "Autoconfirmed users",
        "group-bot": "Bots",
        "group-sysop": "Administrators",
+       "group-interface-admin": "Interface administrators",
        "group-bureaucrat": "Bureaucrats",
        "group-suppress": "Suppressors",
        "group-all": "(all)",
        "group-autoconfirmed-member": "{{GENDER:$1|autoconfirmed user}}",
        "group-bot-member": "{{GENDER:$1|bot}}",
        "group-sysop-member": "{{GENDER:$1|administrator}}",
+       "group-interface-admin-member": "{{GENDER:$1|interface administrator}}",
        "group-bureaucrat-member": "{{GENDER:$1|bureaucrat}}",
        "group-suppress-member": "{{GENDER:$1|suppressor}}",
        "grouppage-user": "{{ns:project}}:Users",
        "grouppage-autoconfirmed": "{{ns:project}}:Autoconfirmed users",
        "grouppage-bot": "{{ns:project}}:Bots",
        "grouppage-sysop": "{{ns:project}}:Administrators",
+       "grouppage-interface-admin": "{{ns:project}}:Interface administrators",
        "grouppage-bureaucrat": "{{ns:project}}:Bureaucrats",
        "grouppage-suppress": "{{ns:project}}:Suppress",
        "right-read": "Read pages",
        "right-editusercss": "Edit other users' CSS files",
        "right-edituserjson": "Edit other users' JSON files",
        "right-edituserjs": "Edit other users' JavaScript files",
+       "right-editsitecss": "Edit sitewide CSS",
+       "right-editsitejson": "Edit sitewide JSON",
+       "right-editsitejs": "Edit sitewide JavaScript",
        "right-editmyusercss": "Edit your own user CSS files",
        "right-editmyuserjson": "Edit your own user JSON files",
        "right-editmyuserjs": "Edit your own user JavaScript files",
        "grant-createaccount": "Create accounts",
        "grant-createeditmovepage": "Create, edit, and move pages",
        "grant-delete": "Delete pages, revisions, and log entries",
-       "grant-editinterface": "Edit the MediaWiki namespace and user CSS/JSON/JavaScript",
+       "grant-editinterface": "Edit the MediaWiki namespace and sitewide/user JSON",
        "grant-editmycssjs": "Edit your user CSS/JSON/JavaScript",
        "grant-editmyoptions": "Edit your user preferences",
        "grant-editmywatchlist": "Edit your watchlist",
+       "grant-editsiteconfig": "Edit sitewide and user CSS/JS",
        "grant-editpage": "Edit existing pages",
        "grant-editprotected": "Edit protected pages",
        "grant-highvolume": "High-volume editing",
index a4ff0fb..a67c238 100644 (file)
        "customcssprotected": "Sul pole õigust seda CSS-lehekülge redigeerida, sest see sisaldab teise kasutaja isiklikke sätteid.",
        "customjsonprotected": "Sul pole lubatud redigeerida seda JSON-lehekülge, sest see sisaldab teise kasutaja isiklikke eelistusi.",
        "customjsprotected": "Sul pole õigust seda JavaScripti lehekülge redigeerida, sest see sisaldab teise kasutaja isiklikke sätteid.",
+       "sitecssprotected": "Sul pole lubatud seda CSS-lehekülge muuta, sest see võib mõjutada kõiki külastajaid.",
+       "sitejsonprotected": "Sul pole lubatud seda JSON-lehekülge muuta, sest see võib mõjutada kõiki külastajaid.",
+       "sitejsprotected": "Sul pole lubatud seda JavaScripti lehekülge muuta, sest see võib mõjutada kõiki külastajaid.",
        "mycustomcssprotected": "Sul pole õigust redigeerida seda CSS-lehekülge.",
        "mycustomjsonprotected": "Sul pole lubatud seda JSON-lehekülge redigeerida.",
        "mycustomjsprotected": "Sul pole õigust redigeerida seda JavaScript-lehekülge.",
        "diff-paragraph-moved-toold": "Lõik teisaldati. Klõpsa, et minna vanasse asukohta.",
        "difference-missing-revision": "Selle erinevuste vaate {{PLURAL:$2|üht|$2}} redaktsiooni ($1) ei leitud.\n\nHarilikult tähendab see seda, et sind siia juhatanud link on vananenud ja siin asunud lehekülg on kustutatud.\nÜksikasjad leiad [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} kustutamislogist].",
        "searchresults": "Otsingu tulemused",
+       "search-filter-title-prefix": "Otsitakse ainult lehekülgedelt, mille pealkirja alguses on \"$1\".",
+       "search-filter-title-prefix-reset": "Otsi kõigilt lehekülgedelt",
        "searchresults-title": "Otsingu \"$1\" tulemused",
        "titlematches": "Vasted lehekülje pealkirjades",
        "textmatches": "Vasted lehekülje tekstides",
        "group-autoconfirmed": "Automaatselt kinnitatud kasutajad",
        "group-bot": "Robotid",
        "group-sysop": "Administraatorid",
+       "group-interface-admin": "Liidese administraatorid",
        "group-bureaucrat": "Bürokraadid",
        "group-suppress": "Varjajad",
        "group-all": "(kõik)",
        "group-autoconfirmed-member": "automaatselt kinnitatud kasutaja",
        "group-bot-member": "robot",
        "group-sysop-member": "administraator",
+       "group-interface-admin-member": "{{GENDER:$1|liidese administraator}}",
        "group-bureaucrat-member": "bürokraat",
        "group-suppress-member": "varjaja",
        "grouppage-user": "{{ns:project}}:Kasutajad",
        "grouppage-autoconfirmed": "{{ns:project}}:Automaatselt kinnitatud kasutajad",
        "grouppage-bot": "{{ns:project}}:Robotid",
        "grouppage-sysop": "{{ns:project}}:Administraatorid",
+       "grouppage-interface-admin": "{{ns:project}}:Liidese administraatorid",
        "grouppage-bureaucrat": "{{ns:project}}:Bürokraadid",
        "grouppage-suppress": "{{ns:project}}:Varjaja",
        "right-read": "Lugeda lehekülgi",
        "right-editusercss": "Redigeerida teiste kasutajate CSS-faile",
        "right-edituserjson": "Redigeerida teiste kasutajate JSON-faile",
        "right-edituserjs": "Redigeerida teiste kasutajate JS-faile",
+       "right-editsitecss": "Redigeerida saidiülest CSS-i",
+       "right-editsitejson": "Redigeerida saidiülest JSON-i",
+       "right-editsitejs": "Redigeerida saidiülest JavaScripti",
        "right-editmyusercss": "Redigeerida oma CSS-kasutajafaile",
        "right-editmyuserjson": "Redigeerida oma JSON-kasutajafaile",
        "right-editmyuserjs": "Redigeerida oma JavaScript-kasutajafaile",
        "grant-createaccount": "Kontode loomine",
        "grant-createeditmovepage": "Lehekülgede alustamine, muutmine ja teisaldamine",
        "grant-delete": "Lehekülgede, redaktsioonide ja logisissekannete kustutamine",
-       "grant-editinterface": "MediaWiki nimeruumi ning kasutaja CSSi, JSONi ja JavaScripti redigeerimine",
+       "grant-editinterface": "MediaWiki nimeruumi ning saidiülese ja kasutaja JSONi redigeerimine",
        "grant-editmycssjs": "Oma CSSi, JSONi või JavaScripti muutmine",
        "grant-editmyoptions": "Enda eelistuste muutmine",
        "grant-editmywatchlist": "Oma jälgimisloendi muutmine",
+       "grant-editsiteconfig": "Saidiülese ning kasutaja CSSi ja JavaScripti muutmine",
        "grant-editpage": "Olemasolevate lehekülgede redigeerimine",
        "grant-editprotected": "Kaitstud lehekülgede redigeerimine",
        "grant-highvolume": "Suuremahuline redigeerimine",
        "rcfilters-highlighted-filters-list": "Esile tõstetud: $1",
        "rcfilters-quickfilters": "Salvestatud filtrid",
        "rcfilters-quickfilters-placeholder-title": "Filtreid pole veel salvestatud",
-       "rcfilters-quickfilters-placeholder-description": "Filtri sätete salvestamiseks (et neid hiljem uuesti kasutada) klõpsa alloleva aktiivsete filtrite loendi juures järjehoidjaikooni.",
+       "rcfilters-quickfilters-placeholder-description": "Salvestamaks filtri sätted, et neid hiljem uuesti kasutada, klõpsa alloleva aktiivsete filtrite loendi juures järjehoidjaikooni.",
        "rcfilters-savedqueries-defaultlabel": "Salvestatud filtrid",
        "rcfilters-savedqueries-rename": "Nimeta ümber",
        "rcfilters-savedqueries-setdefault": "Määra vaikefiltriks",
        "rcfilters-savedqueries-unsetdefault": "Tühista vaikevalik",
-       "rcfilters-savedqueries-remove": "Eemalda",
+       "rcfilters-savedqueries-remove": "Kustuta",
        "rcfilters-savedqueries-new-name-label": "Nimi",
        "rcfilters-savedqueries-new-name-placeholder": "Kirjelda filtri otstarvet",
        "rcfilters-savedqueries-apply-label": "Koosta filter",
        "rcfilters-empty-filter": "Aktiivsed filtrid puuduvad. Näidatakse kogu kaastööd.",
        "rcfilters-filterlist-title": "Filtrid",
        "rcfilters-filterlist-whatsthis": "Kuidas see töötab?",
-       "rcfilters-filterlist-feedbacklink": "Ütle meile, mida arvad neist uutest filtririistadest.",
+       "rcfilters-filterlist-feedbacklink": "Ütle meile, mida arvad neist filtririistadest.",
        "rcfilters-highlightbutton-title": "Tulemuste esiletõst",
        "rcfilters-highlightmenu-title": "Vali värvus",
        "rcfilters-highlightmenu-help": "Vali värvus, et see atribuut esile tõsta",
        "rcfilters-watchlist-showupdated": "Muudatused lehekülgedel, mida sa pole pärast muudatuste tegemist külastanud, on <strong>rasvases</strong> kirjas ja tähistatud täidetud punktiga.",
        "rcfilters-preference-label": "Peida viimaste muudatuste täiustatud versioon",
        "rcfilters-preference-help": "Pöörab tagasi 2017. aastast alates tehtud muudatused kujunduses ja lisatud tööriistad.",
+       "rcfilters-watchlist-preference-label": "Peida jälgimisloendi täiustatud versioon",
+       "rcfilters-watchlist-preference-help": "Pöörab tagasi 2017. aastast alates tehtud muudatused kujunduses ja lisatud tööriistad.",
        "rcfilters-filter-showlinkedfrom-label": "Näita muudatusi lehekülgedel, millele viidatakse leheküljelt:",
        "rcfilters-filter-showlinkedfrom-option-label": "<strong>Leheküljed, millele viidatakse</strong> valitud leheküljel",
        "rcfilters-filter-showlinkedto-label": "Näita muudatusi lehekülgedel, millel viidatakse leheküljele",
        "uploadstash-zero-length": "Faili suurus on tühiväärtusega.",
        "invalid-chunk-offset": "Tüki vigane nihe",
        "img-auth-accessdenied": "Juurdepääs keelatud",
-       "img-auth-nopathinfo": "PATH_INFO puudub.\nSinu server pole seadistatud seda teavet edastama.\nSee võib olla CGI-põhine ja ei toeta img_auth-i.\nVaata lehekülge https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization.",
+       "img-auth-nopathinfo": "Puudub teave tee kohta.\nServer peab olema seadistatud edastama muutujaid REQUEST_URI ja/või PATH_INFO.\nKui on, siis proovi lubada säte $wgUsePathInfo.\nVaata lehekülge https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization.",
        "img-auth-notindir": "Soovitud salvestuskoht pole üleslaadimiskataloogi all.",
        "img-auth-badtitle": "Väljendist \"$1\" ei saa sobivat pealkirja moodustada.",
        "img-auth-nologinnWL": "Sa pole sisselogitud ja \"$1\" pole valges nimekirjas.",
        "http-timed-out": "HTTP-päring aegus.",
        "http-curl-error": "Tõrge URL-i $1 lugemisel",
        "http-bad-status": "HTTP-päringu ajal ilmnes tõrge: $1 $2",
+       "http-internal-error": "HTTP sisetõrge.",
        "upload-curl-error6": "Internetiaadress pole kättesaadav",
        "upload-curl-error6-text": "Etteantud internetiaadress ei ole kättesaadav.\nPalun kontrolli, kas aadress on õige ja kas võrgukoht on üleval.",
        "upload-curl-error28": "Üleslaadimise ajalimiit",
        "speciallogtitlelabel": "Objekt (pealkiri või {{ns:user}}:kasutajanimi):",
        "log": "Logid",
        "logeventslist-submit": "Näita",
+       "logeventslist-more-filters": "Näita lisalogisid:",
+       "logeventslist-patrol-log": "Kontrollimislogi",
+       "logeventslist-tag-log": "Märgiste logi",
        "all-logs-page": "Kõik avalikud logid",
        "alllogstext": "See on {{GRAMMAR:genitive|{{SITENAME}}}} kõigi olemasolevate logide ühendkuva.\nValiku kitsendamiseks vali logitüüp, sisesta kasutajanimi (tõstutundlik) või huvipakkuva lehekülje pealkiri (samuti tõstutundlik).",
        "logempty": "Logis puuduvad vastavad kirjed.",
        "dellogpage": "Kustutamislogi",
        "dellogpagetext": "Allpool on viimaste kustutamiste loend.",
        "deletionlog": "kustutamislogi",
+       "log-name-create": "Lehekülgede alustamise logi",
+       "log-description-create": "Allpool on loetelu viimati alustatud lehekülgedest.",
+       "logentry-create-create": "$1 {{GENDER:$2|alustas}} lehekülge $3",
        "reverted": "Pöörduti tagasi varasemale versioonile",
        "deletecomment": "Põhjus:",
        "deleteotherreason": "Muu või täiendav põhjus:",
        "uctop": "(praegune)",
        "month": "Alates kuust (ja varasemad):",
        "year": "Alates aastast (ja varasemad):",
+       "date": "Alates kuupäevast (ja varasemad):",
        "sp-contributions-newbies": "Näita ainult uute kasutajate kaastööd",
        "sp-contributions-newbies-sub": "Uute kontode kaastöö",
        "sp-contributions-newbies-title": "Uute kasutajate kaastöö",
        "passwordpolicies-policy-passwordcannotmatchusername": "Parool ei tohi olla sama mis kasutajanimi.",
        "passwordpolicies-policy-passwordcannotmatchblacklist": "Parool ei tohi olla kantud musta nimekirja.",
        "passwordpolicies-policy-maximalpasswordlength": "Parool peab olema $1 {{PLURAL:$1|märgist}} lühem.",
-       "passwordpolicies-policy-passwordcannotbepopular": "Parool ei tohi olla {{PLURAL:$1|populaarne parool|$1 populaarse parooli loendis}}."
+       "passwordpolicies-policy-passwordcannotbepopular": "Parool ei tohi olla {{PLURAL:$1|populaarne parool|$1 populaarse parooli loendis}}.",
+       "easydeflate-invaliddeflate": "Ette antud sisu ei ole õigesti vähendatud"
 }
index 97ce51e..5b31d45 100644 (file)
        "showhideselectedversions": "Erakutsi/ezkutatu aukeratutako berrikuspenak",
        "editundo": "desegin",
        "diff-empty": "(Ez dago alderik)",
-       "diff-multi-sameuser": "(Erabiltzaile berdinaren {{PLURAL:$1|erdiko ekarpen bat ez da|$1 erdiko ekarpen ez dira}} erakusten)",
-       "diff-multi-otherusers": "({{PLURAL:$1|Tarteko berrikusketa bat|$1 tarteko berrikusketak}}  {{PLURAL:$2|beste erabiltzaile bat|$2 erabiltzaileak}} egina ez da erakusten)",
-       "diff-multi-manyusers": "({{PLURAL:$1|Tarteko berrikusketa bat|$1 tarteko berrikusketak}} by more than $2 {{PLURAL:$2|erabiltzaile batek|erabiltzaile batzuek}} baino gehiagok egina ez erakutsia)",
+       "diff-multi-sameuser": "(Erabiltzaile berak tartean egindako {{PLURAL:$1|ekarpen bat ez da|$1 ekarpen ez dira}} erakusten)",
+       "diff-multi-otherusers": "({{PLURAL:$2|Beste erabiltzaile batek|$2 erabiltzailek}} tartean egindako {{PLURAL:$1|berrikusketa bat ez da erakusten|$1 berrikusketa ez dira erakusten}})",
+       "diff-multi-manyusers": "({{PLURAL:$2|Erabiltzaile batek|$2 erabiltzailek}} baino gehiagok tartean egindako {{PLURAL:$1|berrikusketa bat ez da erakusten|$1 berrikusketa ez dira erakusten}})",
        "diff-paragraph-moved-tonew": "Paragrafoa mugitu egin da. Egin klik beste kokaleku batera salto egiteko.",
        "diff-paragraph-moved-toold": "Paragrafoa mugitu egin da. Egin klik aurretiko kokalekura salto egiteko.",
        "difference-missing-revision": " ($1) ezberdinatasunaren  {{PLURAL:$2|Berrikusketa bat|$2 berrikusketa}} ez {{PLURAL:$2|da|dira}} aurkitu.\n\nHau, orokorrean ezabatu egin den orri batera deskonektatua dagoen esteka desegonkor baten ondorioz gertatzen da.\n\nHemen xehetasunak aurki daitezke: [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].",
        "tags-delete-submit": "Betirako ezabatu etiketa hau",
        "tags-delete-not-allowed": "Luzapen batek definitutako etiketak ezin dira ezabatu, luzapenak bereziki baimendu ezean.",
        "tags-delete-not-found": "\"$1\" etiketa  ez da existitzen.",
-       "tags-delete-too-many-uses": "\"$1\" etiketa $2 {{PLURAL:$2|berrikusketa bat|berrikusketa}} baino gehiagotan aplikatu egin denez ezingo da ezabatu",
+       "tags-delete-too-many-uses": "«$1» etiketa $2 {{PLURAL:$2|berrikusketa batean|berrikusketatan}} baino gehiagotan aplikatu denez, ezingo da ezabatu.",
        "tags-delete-warnings-after-delete": "\"$1\" etiketa ezabatu egin da, baina hurrengo {{PLURAL:$2|abisua|abisuak}} aurkitu d(ir)a:",
        "tags-delete-no-permission": "Ez daukazu baimenik etiketa aldaketak ezabatzeko.",
        "tags-activate-title": "Etiketa aktibatu",
        "logentry-delete-delete_redir": "$1 wikilariak {{GENDER:$2|}} «$3» birbideraketa ezabatu du, gainidatzita",
        "logentry-delete-restore": "$1 administratzaileak «$3» orria {{GENDER:$2|lehengoratu}} du",
        "logentry-delete-restore-nocount": "$1-k {{GENDER:$2|leheneratutako}} $3 orria.",
-       "restore-count-revisions": "{{PLURAL:$1|berrikusketa 1|$1 berrikusketa}}",
+       "restore-count-revisions": "{{PLURAL:$1|1 berrikusketa|$1 berrikusketa}}",
        "restore-count-files": "{{PLURAL:$1|Fitxategi 1|$1 fitxategi}}",
        "logentry-delete-event": "$1 wikilariak ikusgaitasuna {{GENDER:$2|aldatu}} {{PLURAL:$5|dio erregistroko sarrera bati|die erregistroko $5 sarrerari}}, $3 orrian: $4",
        "logentry-delete-revision": "$1 wikilariak ikusgaitasuna {{GENDER:$2|aldatu}} {{PLURAL:$5|dio erregistroko sarrera bati|die erregistroko $5 sarrerari}}, $3 orrian: $4",
index 329a19c..e853143 100644 (file)
        "tog-watchlisthideminor": "ویرایش‌های جزئی در فهرست پی‌گیری‌ها پنهان شود",
        "tog-watchlisthideliu": "ویرایش‌های کاربران وارد شده به سامانه در فهرست پی‌گیری‌ها پنهان شود",
        "tog-watchlistreloadautomatically": "زمانی که یک پالایه تغییر کرد فهرست پیگیری به صورت خودکار به روز شود (نیازمند جاوااسکریپت)",
-       "tog-watchlistunwatchlinks": "اÙ\81زÙ\88دÙ\86 Ù¾Û\8cÙ\88Ù\86دÙ\87اÛ\8c Ù\85ستÙ\82Û\8cÙ\85 Ø®Ø±Ù\88ج Ø§Ø² Ù¾Û\8câ\80\8cÚ¯Û\8cرÛ\8c Ø¨Ù\87 Ù\81Ù\87رست Ù¾Û\8câ\80\8cÚ¯Û\8cرÛ\8c (جاواسکریپت ممکن است نیاز شود)",
+       "tog-watchlistunwatchlinks": "اÙ\81زÙ\88دÙ\86 Ù\85شخصâ\80\8cÚ©Ù\86Ù\86دÙ\87اÛ\8c Ø¹Ø¯Ù\85 Ù¾Û\8cÚ¯Û\8cرÛ\8c/Ù¾Û\8cÚ¯Û\8cرÛ\8c ({{int:Watchlist-unwatch}}/{{int:Watchlist-unwatch-undo}}) Ø¨Ù\87 ØµÙ\81حات Ù¾Û\8cÚ¯Û\8cرÛ\8c Ø¯Ø§Ø±Ø§Û\8c ØªØºÛ\8cÛ\8cرات (جاواسکریپت ممکن است نیاز شود)",
        "tog-watchlisthideanons": "ویرایش‌های کاربران ناشناس در فهرست پی‌گیری‌ها پنهان شود",
        "tog-watchlisthidepatrolled": "ویرایش‌های گشت‌خورده در فهرست پی‌گیری‌ها پنهان شود",
        "tog-watchlisthidecategorization": "نهفتن رده‌بندی صفحه‌ها",
        "customcssprotected": "شما اجازهٔ ویرایش این صفحهٔ سی‌اس‌اس را ندارید، زیرا حاوی تنظیم‌های شخصی یک کاربر دیگر است.",
        "customjsonprotected": "شما اجازهٔ ویرایش در این صفحهٔ JSON را ندارید چون دارای تنظیمات شخصی کاربران است.",
        "customjsprotected": "شما اجازهٔ ویرایش این صفحهٔ جاوااسکریپت را ندارید، زیرا حاوی تنظیم‌های شخصی یک کاربر دیگر است.",
+       "sitecssprotected": "به دلیل تاثیر سراسری بر روی همه بازدیدکنندگان،امکان ویرایش این صفحه css برای شما نیست.",
+       "sitejsonprotected": "به دلیل تاثیر سراسری بر روی همه بازدیدکنندگان،امکان ویرایش این صفحه JSON برای شما نیست.",
+       "sitejsprotected": "به دلیل تاثیر سراسری بر روی همه بازدیدکنندگان،امکان ویرایش این صفحه جاوااسکریپت برای شما نیست.",
        "mycustomcssprotected": "شما دارای مجوز ویرایش این صفحهٔ سی‌اس‌اس نیستید.",
+       "mycustomjsonprotected": "شما اجازه ویرایش این صفحه JSON را ندارید.",
        "mycustomjsprotected": "شما دارای مجوز ویرایش این صفحهٔ جاوااسکریپت نیستید.",
        "myprivateinfoprotected": "شما دارای مجوز ویرایش اطلاعات شخصی خود نیستید.",
        "mypreferencesprotected": "شما دارای مجوز ویرایش تنظیمات خود نیستید.",
        "password-login-forbidden": "استفاده از این نام کاربری و گذرواژه ممنوع است.",
        "mailmypassword": "بازنشانی گذرواژه",
        "passwordremindertitle": "یادآور گذرواژهٔ {{SITENAME}}",
-       "passwordremindertext": "Û\8cÚ© Ù\86Ù\81ر (احتÙ\85اÙ\84اÙ\8b Ø®Ù\88د Ø´Ù\85اØ\8c Ø¨Ø§ Ù\86شاÙ\86Û\8c Ø¢Û\8câ\80\8cÙ¾Û\8c $1) Ú¯Ø°Ø±Ù\88اÚ\98Ù\87Ù\94 Ø¬Ø¯Û\8cدÛ\8c Ø¨Ø±Ø§Û\8c Ø­Ø³Ø§Ø¨ Ú©Ø§Ø±Ø¨Ø±Û\8c Ø´Ù\85ا Ø¯Ø± {{SITENAME}} Ø¯Ø±Ø®Ù\88است Ú©Ø±Ø¯Ù\87â\80\8cاست ($4). \nÛ\8cÚ© Ú¯Ø°Ø±Ù\88اÚ\98Ù\87Ù\94 Ù\85Ù\88Ù\82ت Ø¨Ø±Ø§Û\8c Ú©Ø§Ø±Ø¨Ø± Â«$2» Ø³Ø§Ø®ØªÙ\87 Ø´Ø¯Ù\87 Ù\88 Ø¨Ø±Ø§Ø¨Ø± Ø¨Ø§ Â«$3» Ù\82رار Ø¯Ø§Ø¯Ù\87 Ø´Ø¯Ù\87â\80\8cاست.\nاگر Ù\87دÙ\81تاÙ\86 Ù\87Ù\85Û\8cÙ\86 Ø¨Ù\88دÙ\87â\80\8cاستØ\8c Ø§Ú©Ù\86Ù\88Ù\86 Ø¨Ø§Û\8cد Ù\88ارد Ø³Ø§Ù\85اÙ\86Ù\87 Ø´Ù\88Û\8cد Ù\88 Ú¯Ø°Ø±Ù\88اÚ\98Ù\87Ù\94 Ø¬Ø¯Û\8cدÛ\8c Ø¨Ø±Ú¯Ø²Û\8cÙ\86Û\8cد.\nگذرÙ\88اÚ\98Ù\87Ù\94 Ù\85Ù\88Ù\82ت Ø´Ù\85ا Ø¸Ø±Ù\81 {{PLURAL:$5|Û\8cÚ© Ø±Ù\88ز|$5 Ø±Ù\88ز}} Ø¨Ø§Ø·Ù\84 Ù\85Û\8câ\80\8cØ´Ù\88د.\n\nاگر Ú©Ø³ Ø¯Û\8cگرÛ\8c Ø§Û\8cÙ\86 Ø¯Ø±Ø®Ù\88است Ø±Ø§ Ú©Ø±Ø¯Ù\87â\80\8cاست Û\8cا Ø§Û\8cÙ\86Ú©Ù\87 Ø´Ù\85ا Ú¯Ø°Ø±Ù\88اÚ\98Ù\87Ù\94 Ù¾Û\8cØ´Û\8cÙ\86 Ø®Ù\88د Ø±Ø§ Ø¨Ù\87 Û\8cاد Ø¢Ù\88ردÙ\87â\80\8cاÛ\8cد Ù\88 Ø¯Û\8cگر ØªÙ\85اÛ\8cÙ\84Û\8c Ø¨Ù\87 ØªØºÛ\8cÛ\8cر Ø¢Ù\86 Ù\86دارÛ\8cدØ\8c Ù\85Û\8câ\80\8cتÙ\88اÙ\86Û\8cد Ø§Û\8cÙ\86 Ù¾Û\8cغاÙ\85 Ø±Ø§ Ù\86ادÛ\8cدÙ\87 Ø¨Ú¯Û\8cرÛ\8cد Ù\88 Ù\87Ù\85اÙ\86 Ú¯Ø°Ø±Ù\88اÚ\98Ù\87Ù\94 Ù¾Û\8cØ´Û\8cÙ\86 Ø±Ø§ Ø¨Ù\87 Ú©Ø§Ø± Ø¨Ø±Û\8cد.",
+       "passwordremindertext": "یک نفر (با نشانی آی‌پی $1) گذرواژهٔ جدیدی برای حساب کاربری شما در {{SITENAME}} درخواست کرده‌است ($4). \nیک گذرواژهٔ موقت برای کاربر «$2» ساخته شده و برابر با «$3» قرار داده شده‌است.\nاگر هدفتان همین بوده‌است، اکنون باید وارد سامانه شوید و گذرواژهٔ جدیدی برگزینید.\nگذرواژهٔ موقت شما ظرف {{PLURAL:$5|یک روز|$5 روز}} باطل می‌شود.\n\nاگر کس دیگری این درخواست را کرده‌است یا اینکه شما گذرواژهٔ پیشین خود را به یاد آورده‌اید و دیگر تمایلی به تغییر آن ندارید، می‌توانید این پیغام را نادیده بگیرید و همان گذرواژهٔ پیشین را به کار برید.",
        "noemail": "هیچ آدرس ایمیلی برای کاربر «$1» ثبت نشده است.",
        "noemailcreate": "شما باید یک آدرس ایمیل درست فراهم کنید",
        "passwordsent": "گذرواژه‌ای جدید به آدرس ایمیل ثبت شده برای «$1» ارسال شد.\nلطفاً پس از دریافت آن، دوباره به سیستم وارد شوید.",
        "botpasswords-existing": "گذرواژه‌های موجود ربات",
        "botpasswords-createnew": "ایجاد گذرواژه ربات",
        "botpasswords-editexisting": "ویرایش گذرواژه موجود ربات",
+       "botpasswords-label-needsreset": "(نیاز به تنظیم مجدد گذرواژه)",
        "botpasswords-label-appid": "نام ربات:",
        "botpasswords-label-create": "ایجاد",
        "botpasswords-label-update": "به‌روز رسانی",
        "botpasswords-restriction-failed": "محدودیت‌های گذرواژهٔ ربات از این ورود جلوگیری می‌کند.",
        "botpasswords-invalid-name": "نام کاربری مشخص شده دارای جداکنندهٔ گذرواژهٔ رباتی نیست («$1»).",
        "botpasswords-not-exist": "کاربر «$1» گذرواژهٔ رباتی نام‌دهی شدهٔ «$2» ندارد.",
+       "botpasswords-needs-reset": "گذرواژهٔ رباتی برای ربات «$2» و {{GENDER:$1|کاربر}} «$1» باید از نو تنظیم شود.",
        "resetpass_forbidden": "نمی‌توان گذرواژه‌ها را تغییر داد",
        "resetpass_forbidden-reason": "نمی‌توانید گذرواژه‌ها را تغییر داد: $1",
        "resetpass-no-info": "برای دسترسی مستقیم به این صفحه شما باید به سامانه وارد شده باشید.",
        "resetpass-temp-password": "گذرواژهٔ موقت:",
        "resetpass-abort-generic": "تغییر گذرواژه به دست یکی از افزونه‌ها لغو شده است.",
        "resetpass-expired": "رمز عبور شما منقضی شده‌است. لطفاً برای ورود رمز عبور جدیدی را تنظیم کنید.",
-       "resetpass-expired-soft": "رمز عبور شما منقضی شده‌است و نیاز به تنظیم مجدد دارد. لطفاً اکنون رمز عبور جدیدی را انتخاب کنید، یا برای تنظیم مجدد آن در آینده، دکمهٔ «{{int:authprovider-resetpass-skip-label}}» را کلیک کنید.",
-       "resetpass-validity-soft": "گذرÙ\88اÙ\87Ù\94 Ø´Ù\85ا ØµØ­Û\8cØ­ Ù\86Û\8cست: $1\n\nÙ\84Ø·Ù\81اÙ\8b Û\8cÚ© Ú¯Ø°Ø±Ù\88اÚ\98Ù\87Ù\94 ØªØ§Ø²Ù\87 Ø§Ù\84Ø¢Ù\86 Ø§Ù\86تخاب Ú©Ù\86Û\8cد Û\8cا Ø¨Ø± Â«{{int:authprovider-resetpass-skip-label}}» Ú©Ù\84Û\8cÚ© Ú©Ù\86Û\8cد Ú©Ù\87 Ø¯Ù\88بارÙ\87 Ø¢Ù\86 Ø±Ø§ Ø¨Ø¹Ø¯Ø§Ù\8b Ø§Ù\86تخاب Ú©Ù\86ید.",
+       "resetpass-expired-soft": "رمز عبور شما منقضی شده‌است و نیاز به تغییر دارد. لطفاً اکنون رمز عبور جدیدی را انتخاب کنید، یا برای تغییر آن در آینده، دکمهٔ «{{int:authprovider-resetpass-skip-label}}» را کلیک کنید.",
+       "resetpass-validity-soft": "گذرÙ\88اÙ\87Ù\94 Ø´Ù\85ا ØµØ­Û\8cØ­ Ù\86Û\8cست: $1\n\nÙ\84Ø·Ù\81اÙ\8b Û\8cÚ© Ú¯Ø°Ø±Ù\88اÚ\98Ù\87Ù\94 ØªØ§Ø²Ù\87 Ø§Ù\84Ø¢Ù\86 Ø§Ù\86تخاب Ú©Ù\86Û\8cد Û\8cا Ø¨Ø± Â«{{int:authprovider-resetpass-skip-label}}» Ú©Ù\84Û\8cÚ© Ú©Ù\86Û\8cد Ú©Ù\87 Ø¯Ù\88بارÙ\87 Ø¢Ù\86 Ø±Ø§ Ø¨Ø¹Ø¯Ø§Ù\8b ØªØºÛ\8cÛ\8cر Ø¯Ù\87ید.",
        "passwordreset": "بازنشانی گذرواژه",
        "passwordreset-text-one": "برای بازنشانی گذرواژه‌تان این فرم را کامل کنید.",
        "passwordreset-text-many": "{{PLURAL:$1|برای دریافت یک گذرواژهٔ موقت از طریق ایمیل، یکی از خانه‌ها را پر کنید.}}",
        "subject-preview": "پیش‌نمایش موضوع:",
        "previewerrortext": "در زمان تلاش برای نمایش دادن تغییرات شما، خطایی رخ داد.",
        "blockedtitle": "کاربر بسته شده‌است",
-       "blockedtext": "<strong>دسترسی حساب کاربری یا نشانی آی‌پی شما بسته شده‌است.</strong>\n\nاین قطع دسترسی توسط $1 انجام شده است.\nدلیل ارائه‌شده چنین است: <em>$2</em>\n\n* شروع قطع دسترسی: $8\n* پایان قطع دسترسی: $6\n* کاربری هدف قطع دسترسی: $7\n\nشما می‌توانید با $1 یا [[{{MediaWiki:Grouppage-sysop}}|مدیری]] دیگر تماس بگیرید و در این باره صحبت کنید.\nتوجه کنید که شما نمی‌توانید از قابلیت «ایمیل به این کاربر» استفاده کنید مگر آنکه آدرس ایمیل معتبری در [[Special:Preferences|ترجیحات کاربری]] خودتان ثبت کرده باشید و نیز باید امکان استفاده از این قابلیت برای شما قطع نشده باشد.\nنشانی آی‌پی فعلی شما $3 و شمارهٔ قطع دسترسی شما $5 است.\nلطفاً تمامی جزئیات فوق را در کلیهٔ درخواست‌هایی که در این باره مطرح می‌کنید ذکر کنید.",
-       "autoblockedtext": "دسترسی نشانی آی‌پی شما قطع شده‌است، زیرا این نشانی آی‌پی توسط کاربر دیگری استفاده شده که دسترسی او توسط $1 قطع شده‌است.\nدلیل ارائه‌شده چنین است:\n\n:''$2''\n\n* شروع قطع دسترسی: $8\n* پایان قطع دسترسی: $6\n* کاربری هدف قطع دسترسی: $7\n\nشما می‌توانید با $1 یا [[{{MediaWiki:Grouppage-sysop}}|مدیری]] دیگر تماس بگیرید و در این باره صحبت کنید.\nتوجه کنید که شما نمی‌توانید از قابلیت «ایمیل به این کاربر» استفاده کنید مگر آنکه نشانی ایمیل معتبری در [[Special:Preferences|ترجیحات کاربری]] خودتان ثبت کرده باشید و نیز باید امکان استفاده از این قابلیت برای شما قطع نشده باشد.\nنشانی آی‌پی فعلی شما $3 و شمارهٔ قطع دسترسی شما $5 است.\nلطفاً تمامی جزئیات فوق را در کلیهٔ درخواست‌هایی که در این باره مطرح می‌کنید ذکر کنید.",
+       "blockedtext": "<strong>دسترسی حساب کاربری یا نشانی آی‌پی شما بسته شده‌است.</strong>\n\nاین قطع دسترسی توسط $1 انجام شده است.\nدلیل ارائه‌شده چنین است: <em>$2</em>\n\n* شروع قطع دسترسی: $8\n* پایان قطع دسترسی: $6\n* کاربری هدف قطع دسترسی: $7\n\nشما می‌توانید با $1 یا [[{{MediaWiki:Grouppage-sysop}}|مدیری]] دیگر تماس بگیرید و در این باره صحبت کنید.\nتوجه کنید که شما نمی‌توانید از قابلیت «{{int:emailuser}}» استفاده کنید مگر آنکه آدرس ایمیل معتبری در [[Special:Preferences|ترجیحات کاربری]] خودتان ثبت کرده باشید و نیز باید امکان استفاده از این قابلیت برای شما قطع نشده باشد.\nنشانی آی‌پی فعلی شما $3 و شمارهٔ قطع دسترسی شما $5 است.\nلطفاً تمامی جزئیات فوق را در کلیهٔ درخواست‌هایی که در این باره مطرح می‌کنید ذکر کنید.",
+       "autoblockedtext": "دسترسی نشانی آی‌پی شما قطع شده‌است، زیرا این نشانی آی‌پی توسط کاربر دیگری استفاده شده که دسترسی او توسط $1 قطع شده‌است.\nدلیل ارائه‌شده چنین است:\n\n:''$2''\n\n* شروع قطع دسترسی: $8\n* پایان قطع دسترسی: $6\n* کاربری هدف قطع دسترسی: $7\n\nشما می‌توانید با $1 یا [[{{MediaWiki:Grouppage-sysop}}|مدیری]] دیگر تماس بگیرید و در این باره صحبت کنید.\nتوجه کنید که شما نمی‌توانید از قابلیت «{{int:emailuser}}» استفاده کنید مگر آنکه نشانی ایمیل معتبری در [[Special:Preferences|ترجیحات کاربری]] خودتان ثبت کرده باشید و نیز باید امکان استفاده از این قابلیت برای شما قطع نشده باشد.\nنشانی آی‌پی فعلی شما $3 و شمارهٔ قطع دسترسی شما $5 است.\nلطفاً تمامی جزئیات فوق را در کلیهٔ درخواست‌هایی که در این باره مطرح می‌کنید ذکر کنید.",
        "systemblockedtext": "نام کاربری یا نشانی آی‌پی شما خودکار توسط مدیاویکی مسدود شده‌است.\nدلیل ارائه‌شده:\n\n:<em>$2</em>\n\n* آغاز بلاک: $8\n* پایان بلاک: $6\n* قطع دسترسی‌شده مورد نظر: $7\n\nنشانی آی‌پی کنونی شما $3 است.\nخواهشمند است تمام جزئیات بالا را در هر پرس‌وجویی که انجام می‌دهید قرار دهید.",
        "blockednoreason": "دلیلی مشخص نشده‌است",
        "whitelistedittext": "برای ویرایش مقاله‌ها باید $1.",
        "blocked-notice-logextract": "دسترسی این کاربر در حال حاضر بسته است.\nآخرین مورد سیاهه قطع دسترسی در زیر آمده‌است:",
        "clearyourcache": "<strong>نکته:</strong> پس از ذخیره کردن ممکن است برای دیدن تغییرات نیاز باشد که حافظهٔ نهانی مرورگر خود را پاک کنید.\n*<strong>فایرفاکس / سافاری:</strong> کلید <em>Shift</em> را نگه دارید و روی دکمهٔ <em>Reload</em> کلیک کنید، یا کلید‌های <em>Ctrl-F5</em> یا <em>Ctrl-R</em> را با هم فشار دهید (در رایانه‌های اپل مکینتاش کلید‌های <em>⌘-R</em>)\n*<strong>گوگل کروم:</strong> کلیدهای <em>Ctrl+Shift+R</em> را با هم فشار دهید (در رایانه‌های اپل مکینتاش کلید‌های <em>⌘-Shift-R</em>)\n*<strong>اینترنت اکسپلورر:</strong> کلید <em>Ctrl</em> را نگه‌دارید و روی دکمهٔ <em>Refresh</em> کلیک کنید، یا کلید‌های <em>Ctrl-F5</em> را با هم فشار دهید\n*<strong>اپرا:</strong> بروید به <em>Menu → Settings</em> (<em>Opera → Preferences</em> on a Mac) and then to <em>Privacy & security → Clear browsing data → Cached images and files</em>.",
        "usercssyoucanpreview": "'''نکته:''' پیش از ذخیره کردن پرونده سی‌اس‌اس خود، با دکمهٔ '''{{int:showpreview}}''' آن را آزمایش کنید.",
+       "userjsonyoucanpreview": "<strong>نکته:</strong> از دکمه \"{{int:showpreview}}\" برای آزمودن JSON پیش از ذخیره استفاده کنید.",
        "userjsyoucanpreview": "'''نکته:''' پیش از ذخیره کردن پروندهٔ جاوااسکریپت خود، با دکمهٔ '''{{int:showpreview}}''' آن را آزمایش کنید.",
        "usercsspreview": "'''فراموش مکنید که شما فقط دارید پیش‌نمایش سی‌اس‌اس کاربری‌تان را می‌بینید.'''\n'''این سی‌اس‌اس هنوز ذخیره نشده‌است!'''",
+       "userjsonpreview": "<strong>توجه داشته باشید که شما در حال آزمودن و پیش نمایش گرفتن از تنظیمات JSON هستید و هنوز آن را ذخیره نکردید!</strong>",
        "userjspreview": "'''به یاد داشته باشید که شما فقط دارید جاوااسکریپت کاربری‌تان را امتحان می‌کنید/پیش‌نمایش آن را می‌بینید.'''\n'''این جاوااسکریپت هنوز ذخیره نشده‌است!'''",
        "sitecsspreview": "'''به یاد داشته باشید که شما فقط دارید پیش‌نمایش این سی‌اس‌اس را می‌بینید.'''\n'''این سی‌اس‌اس هنوز ذخیره نشده‌است!'''",
+       "sitejsonpreview": "<strong>توجه داشته باشید که شما در حال آزمودن و پیش نمایش گرفتن از تنظیمات JSON هستید و هنوز آن را ذخیره نکردید!</strong>",
        "sitejspreview": "'''به یاد داشته باشید که شما فقط دارید پیش‌نمایش این جاوااسکریپت را می‌بینید.'''\n'''این جاوااسکریپت هنوز ذخیره نشده‌است!'''",
-       "userinvalidconfigtitle": "'''هشدار:''' پوسته‌ای به نام «$1» وجود ندارد.\nبه یاد داشته باشید که صفحه‌های شخصی ‎.css و ‎.js باید عنوانی با حروف کوچک داشته باشند؛ نمونه: {{ns:user}}:فو/vector.css در مقابل {{ns:user}}:فو/Vector.css.",
+       "userinvalidconfigtitle": "<strong>هشدار:</strong> پوسته‌ای به نام «$1» وجود ندارد.\nبه یاد داشته باشید که صفحه‌های شخصی ‎.css ،.json و ‎.js باید عنوانی با حروف کوچک داشته باشند؛ نمونه: {{ns:user}}:فو/vector.css در مقابل {{ns:user}}:فو/Vector.css.",
        "updated": "(به‌روز شد)",
        "note": "'''نکته:'''",
        "previewnote": "'''به یاد داشته باشید که این فقط پیش‌نمایش است.'''\nتغییرات شما هنوز ذخیره نشده‌است!",
        "longpageerror": "'''خطا: متنی که ارسال کرده‌اید {{PLURAL:$1|یک کیلوبایت|$1 کیلوبایت}} طول دارد. این مقدار از مقدار بیشینهٔ {{PLURAL:$2|یک کیلوبایت|$2 کیلوبایت}} بیشتر است.'''\nنمی‌توان آن را ذخیره کرد.",
        "readonlywarning": "<strong>هشدار: پایگاه داده برای نگهداری قفل شده‌است، به همین علت هم‌اکنون نمی‌توانید ویرایش‌هایتان را ذخیره کنید.</strong>\nاگر می‌خواهید متن را در یک پروندهٔ متنی کپی کنید و برای آینده ذخیره‌اش کنید.\n\nمدیری که آن را قفل کرده این توضیح را ارائه کرده‌است: $1",
        "protectedpagewarning": "'''هشدار: این صفحه قفل شده‌است تا فقط کاربران با دسترسی مدیریت بتوانند ویرایشش کنند.'''\nآخرین موارد سیاهه در زیر آمده‌است:",
-       "semiprotectedpagewarning": "'''توجه:''' این صفحه قفل شده‌است تا تنها کاربران ثبت‌نام‌کرده قادر به ویرایش آن باشند.\nآخرین موارد سیاهه در زیر آمده‌است:",
+       "semiprotectedpagewarning": "<strong>توجه:</strong>این صفحه قفل شده‌است تا تنها کاربران ثبت‌نام‌کرده قادر به ویرایش آن باشند.\nآخرین موارد سیاهه در زیر آمده‌است:",
        "cascadeprotectedwarning": "<strong>هشدار:</strong> این صفحه به علت قرارگرفتن در {{PLURAL:$1|صفحهٔ|صفحه‌های}} آبشاری-محافظت‌شدهٔ زیر قفل شده‌است تا فقط [[Special:ListGroupRights|گروه خاصی از کاربران]] بتوانند ویرایشش کنند.",
        "titleprotectedwarning": "'''هشدار: این صفحه به شکلی قفل شده‌است که برای ایجاد آن [[Special:ListGroupRights|اختیارات خاصی]] لازم است.'''\nآخرین موارد سیاهه در زیر آمده است:",
        "templatesused": "{{PLURAL:$1|الگوی|الگوهای}} به‌کاررفته در این صفحه:",
        "diff-paragraph-moved-toold": "پاراگراف جابه‌جا شده بود. کلیک کنید تا به جای قدیمش بروید.",
        "difference-missing-revision": "{{PLURAL:$2|یک ویرایش|$2 ویرایش}}  از تفاوت نسخه‌ها ($1) {{PLURAL:$2|یافت|یافت}}  نشد.\n\nاین اتفاق معمولاً در اثر دنبال کردن پیوند تفاوتی به یک صفحهٔ حذف‌شده پیش می‌آید.\nمی‌توانید جزئیات بیشتر را در [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} سیاههٔ حذف] بیابید.",
        "searchresults": "نتایج جستجو",
+       "search-filter-title-prefix-reset": "جستجوی همه صفحات",
        "searchresults-title": "نتایج جستجو برای «$1»",
        "titlematches": "تطبیق عنوان مقاله",
        "textmatches": "تطبیق متن مقاله",
        "prefs-dateformat": "آرایش تاریخ",
        "prefs-timeoffset": "فاصلهٔ زمانی",
        "prefs-advancedediting": "تنظیمات عمومی",
+       "prefs-developertools": "ابزارهای توسعه‌دهندگان",
        "prefs-editor": "ویرایشگر",
        "prefs-preview": "پیش‌نمایش",
        "prefs-advancedrc": "گزینه‌های پیشرفته",
        "group-autoconfirmed": "کاربران تأییدشدهٔ خودکار",
        "group-bot": "ربات‌ها",
        "group-sysop": "مدیران",
+       "group-interface-admin": "مدیران رابط کاربری",
        "group-bureaucrat": "دیوان‌سالاران",
        "group-suppress": "فرونشانندگان",
        "group-all": "(همه)",
        "group-autoconfirmed-member": "{{GENDER:$1|کاربر تأییدشده}}",
        "group-bot-member": "ربات",
        "group-sysop-member": "{{GENDER:$1|مدیر}}",
+       "group-interface-admin-member": "مدیر رابط کاربری",
        "group-bureaucrat-member": "{{GENDER:$1|دیوان‌سالار}}",
        "group-suppress-member": "{{GENDER:$1|فرونشاننده}}",
        "grouppage-user": "{{ns:project}}:کاربران",
        "rcfilters-other-review-tools": "دیگر ابزارهای بازبینی",
        "rcfilters-group-results-by-page": "گروه‌بندی نتایج بر اساس صفحه",
        "rcfilters-activefilters": "پالایه‌های فعال",
+       "rcfilters-activefilters-hide": "نهفتن",
+       "rcfilters-activefilters-show": "نمایش",
        "rcfilters-advancedfilters": "پالایه‌‌های پیشرفته",
        "rcfilters-limit-title": "تعداد تغییرات برای نمایش",
        "rcfilters-limit-and-date-label": "$1 {{PLURAL:$1|تغییر|تغییر}}, $2",
        "rcfilters-empty-filter": "پالایه‌ای فعال نیست. همهٔ مشارکت‌های دیده می‌شوند.",
        "rcfilters-filterlist-title": "پالایه‌ها",
        "rcfilters-filterlist-whatsthis": "این چطور کار می‌کند؟",
-       "rcfilters-filterlist-feedbacklink": "به ما در مورد این پالایه‌های جدید بازخورد دهید",
+       "rcfilters-filterlist-feedbacklink": "به ما در مورد این پالایه‌ها بازخورد دهید",
        "rcfilters-highlightbutton-title": "پررنگ کردن نتایج",
        "rcfilters-highlightmenu-title": "انتخاب رنگ",
        "rcfilters-highlightmenu-help": "یک رنگ انتخاب کنید تا این خصوصیت پر رنگ شود",
        "recentchangeslinked-feed": "تغییرات مرتبط",
        "recentchangeslinked-toolbox": "تغییرات مرتبط",
        "recentchangeslinked-title": "تغییرات مرتبط با $1",
-       "recentchangeslinked-summary": "نام یک صفحه را وارد کنید تا تغییرات صفحه‌هایی که به آن پیوند داده‌اند یا از آن پیوند گرفته‌اند را ببینید. (برای مشاهدهٔ اعضای یک رده، ورودی را به صورت رده:نام رده وارد کنید). تغییرات در صفحه‌هایی که در  [[Special:Watchlist|فهرست پی‌گیری‌های شما]] هستند <strong>ضخیم</strong> نمای می‌یابند.",
+       "recentchangeslinked-summary": "نام یک صفحه را وارد کنید تا تغییرات صفحه‌هایی که به آن پیوند داده‌اند یا از آن پیوند گرفته‌اند را ببینید. (برای مشاهدهٔ اعضای یک رده، ورودی را به صورت {{ns:category}}:نام رده وارد کنید). تغییرات در صفحه‌هایی که در  [[Special:Watchlist|فهرست پی‌گیری‌های شما]] هستند <strong>ضخیم</strong> نمای می‌یابند.",
        "recentchangeslinked-page": "نام صفحه:",
        "recentchangeslinked-to": "نمایش تغییرات صفحه‌هایی که به صفحهٔ داده‌شده پیوند دارند",
        "recentchanges-page-added-to-category": "[[:$1]] به رده اضافه شد",
        "deadendpages": "صفحه‌های بن‌بست",
        "deadendpagestext": "صفحه‌های زیر به هیچ صفحهٔ دیگری در {{SITENAME}} پیوند ندارند.",
        "protectedpages": "صفحه‌های محافظت‌شده",
+       "protectedpages-filters": "پالایه‌ها:",
        "protectedpages-indef": "فقط محافظت‌های بی‌پایان",
        "protectedpages-summary": "در این صفحه فهرست صفحات موجود است که در حال حاضر محافظت شده اند. برای فهرست عنوان‌هایی که از ایجاد محافظت شده‌اند، به [[{{#special:ProtectedTitles}}|{{int:protectedtitles}}]] مراجعه کنید.",
        "protectedpages-cascade": "فقط محافظت‌های آبشاری",
        "apisandbox-dynamic-error-exists": "پارامتری به نام \"$1\"هم اکنون وجود دارد.",
        "apisandbox-deprecated-parameters": "پارامتر های نامناسب",
        "apisandbox-fetch-token": "پرکردن خودکار توکن",
+       "apisandbox-add-multi": "افزودن",
        "apisandbox-submit-invalid-fields-title": "بعضی از بخش‌ها نامعتبر هستند.",
        "apisandbox-submit-invalid-fields-message": "لطفا موارد مشخص شده را اصلاح کرده و دوباره امتحان کنید.",
        "apisandbox-results": "نتیجه‌ها",
        "speciallogtitlelabel": "هدف (عنوان یا {{ns:user}}:نام کاربر برای کاربر):",
        "log": "سیاهه‌ها",
        "logeventslist-submit": "نمایش",
+       "logeventslist-patrol-log": "سیاههٔ گشت",
+       "logeventslist-tag-log": "سیاهه برچسب",
        "all-logs-page": "تمام سیاهه‌های عمومی",
        "alllogstext": "نمایش یک‌جای تمام سیاهه‌های موجود در {{SITENAME}}.\nمی‌توانید با انتخاب نوع سیاهه، نام کاربری (حساس به کوچکی و بزرگی حروف) و صفحه‌های تغییریافته (حساس به بزرگی و کوچکی حروف)، نمایش را محدودتر سازید.",
        "logempty": "مورد منطبق با منظور شما در سیاهه یافت نشد.",
        "version-specialpages": "صفحه‌های ویژه",
        "version-parserhooks": "قلاب‌های تجزیه‌گر",
        "version-variables": "متغیرها",
+       "version-editors": "ویرایشگران",
        "version-antispam": "جلوگیری از هرزنامه",
        "version-other": "غیره",
        "version-mediahandlers": "به‌دست‌گیرنده‌های رسانه‌ها",
        "pagedata-title": "اطلاعات صفحه",
        "pagedata-text": "این صفحه یک رابط داده به صفحات است. لطفا نام صفحه را در آدرس به شکل زیرصفحه وارد کنید.\n* مذاکره محتوا با استفاده از هدر Accept ممکن است. این به این معنی است که داده‌ّای صفحه در قالبی که ترجیح دهید باز خواهد شد.",
        "pagedata-not-acceptable": "هیچ قالب تطبیقی یافت نشد. انواع MIME پشتیبانی شده: $1",
-       "pagedata-bad-title": "عنوان نامعتبر: «$1»."
+       "pagedata-bad-title": "عنوان نامعتبر: «$1».",
+       "passwordpolicies": "سیاست‌های گذرواژه",
+       "passwordpolicies-group": "گروه",
+       "passwordpolicies-policies": "سیاست‌ها"
 }
index 57a0bd0..bd1e00a 100644 (file)
@@ -58,7 +58,8 @@
                        "Pahkiqaz",
                        "Rueter",
                        "Kyykaarme",
-                       "Surjection"
+                       "Surjection",
+                       "OneMember"
                ]
        },
        "tog-underline": "Linkkien alleviivaus:",
        "customcssprotected": "Sinulla ei ole oikeutta muuttaa tätä CSS-sivua, koska se sisältää toisen käyttäjän henkilökohtaisia asetuksia.",
        "customjsonprotected": "Sinulla ei ole oikeutta muuttaa tätä JSON-sivua, koska se sisältää toisen käyttäjän henkilökohtaisia asetuksia.",
        "customjsprotected": "Sinulla ei ole oikeutta muuttaa tätä JavaScript-sivua, koska se sisältää toisen käyttäjän henkilökohtaisia asetuksia.",
+       "sitecssprotected": "Sinulla ei ole oikeutta muokata tätä CSS-sivua, koska se saattaa vaikuttaa kaikkiin sivuston käyttäjiin",
+       "sitejsonprotected": "Sinulla ei ole oikeutta muokata tätä JSON-sivua, koska se saattaa vaikuttaa kaikkiin sivuston käyttäjiin",
+       "sitejsprotected": "Sinulla ei ole oikeutta muokata tätä JavaScript-sivua, koska se saattaa vaikuttaa kaikkiin sivuston käyttäjiin",
        "mycustomcssprotected": "Sinulla ei ole oikeutta muokata tätä CSS-sivua.",
        "mycustomjsonprotected": "Sinulla ei ole oikeutta muokata tätä JSON-sivua.",
        "mycustomjsprotected": "Sinulla ei ole oikeutta muokata tätä JavaScript-sivua.",
        "group-autoconfirmed": "automaattisesti hyväksytyt käyttäjät",
        "group-bot": "botit",
        "group-sysop": "ylläpitäjät",
+       "group-interface-admin": "käyttöliittymän ylläpitäjät",
        "group-bureaucrat": "byrokraatit",
        "group-suppress": "häivyttäjät (suppressors)",
        "group-all": "(kaikki)",
        "group-autoconfirmed-member": "{{GENDER:$1|automaattisesti hyväksytty käyttäjä}}",
        "group-bot-member": "{{GENDER:$1|botti}}",
        "group-sysop-member": "{{GENDER:$1|ylläpitäjä}}",
+       "group-interface-admin-member": "{{GENDER:$1|käyttöliittymän ylläpitäjä}}",
        "group-bureaucrat-member": "{{GENDER:$1|byrokraatti}}",
        "group-suppress-member": "{{GENDER:$1|häivyttäjä (suppressor)}}",
        "grouppage-user": "{{ns:project}}:Käyttäjät",
        "grouppage-autoconfirmed": "{{ns:project}}:Automaattisesti hyväksytyt käyttäjät",
        "grouppage-bot": "{{ns:project}}:Botit",
        "grouppage-sysop": "{{ns:project}}:Ylläpitäjät",
+       "grouppage-interface-admin": "{{ns:project}}:Käyttöliittymän ylläpitäjät",
        "grouppage-bureaucrat": "{{ns:project}}:Byrokraatit",
        "grouppage-suppress": "{{ns:project}}:Häivytysoikeudet",
        "right-read": "Lukea sivuja",
        "right-editcontentmodel": "Muokata sivun sisältömallia (content model)",
        "right-editinterface": "Muokata käyttöliittymätekstejä",
        "right-editusercss": "Muokata toisten käyttäjien CSS-tiedostoja",
-       "right-edituserjson": "Muokkaa toisten käyttäjien JSON-tiedostoja",
+       "right-edituserjson": "Muokata toisten käyttäjien JSON-tiedostoja",
        "right-edituserjs": "Muokata toisten käyttäjien JavaScript-tiedostoja",
+       "right-editsitecss": "muokata CSS-koodia koko sivustolla",
+       "right-editsitejson": "muokata JSON-koodia koko sivustolla",
+       "right-editsitejs": "muokata JavaScriptiä koko sivustolla",
        "right-editmyusercss": "Muokata omia CSS-tiedostoja",
        "right-editmyuserjson": "Muokkaa omia JSON-tiedostoja",
        "right-editmyuserjs": "Muokata omia JavaScript-tiedostoja",
        "grant-createaccount": "Luoda käyttäjätunnuksia",
        "grant-createeditmovepage": "Luoda, muokata ja siirtää sivuja",
        "grant-delete": "Poistaa sivuja, yksittäisiä versioita ja lokimerkintöjä",
-       "grant-editinterface": "Muokata järjestelmäviesti-nimiavaruutta ja käyttäjien CSS/JSON/JavaScript-sivuja",
+       "grant-editinterface": "Muokata järjestelmäviesti-nimiavaruutta sekä CSS-/JSON-/JavaScript-sivuja sivustonlaajuisesti ja myös käyttäjäkohtaisesti",
        "grant-editmycssjs": "Muokata käyttäjän omia CSS/JSON/JavaScript-sivuja",
        "grant-editmyoptions": "Muokata käyttäjän omia asetuksia",
        "grant-editmywatchlist": "Muokata tarkkailulistaasi",
+       "grant-editsiteconfig": "muokata CSS-/JS-sivuja sivustonlaajuisesti ja käyttäjäkohtaisesti",
        "grant-editpage": "Muokata olemassa olevia sivuja",
        "grant-editprotected": "Muokata suojattuja sivuja",
        "grant-highvolume": "Suorittaa paljon muokkauksia",
        "http-timed-out": "HTTP-pyyntö aikakatkaistiin.",
        "http-curl-error": "Virhe noudettaessa verkko-osoitetta: $1",
        "http-bad-status": "HTTP-pyynnön aikana oli ongelma: $1 $2",
+       "http-internal-error": "HTTP: sisäinen virhe.",
        "upload-curl-error6": "Toimimaton osoite",
        "upload-curl-error6-text": "Antamaasi osoitteeseen ei saatu yhteyttä. Varmista, että osoite on oikein ja että sivusto on saavutettavissa.",
        "upload-curl-error28": "Etälähetyksen aikakatkaisu",
index f7baf07..199787d 100644 (file)
                        "Pols12",
                        "KATRINE1992",
                        "Friday83260",
-                       "Niridya"
+                       "Niridya",
+                       "Pamputt"
                ]
        },
        "tog-underline": "Soulignement des liens :",
        "customcssprotected": "Vous n’avez pas la permission de modifier cette feuille de style CSS, car elle contient les paramètres personnels d’un autre utilisateur.",
        "customjsonprotected": "Vous n’avez pas le droit de modifier cette page JSON parce qu’elle contient les paramètres personnels d’un autre utilisateur.",
        "customjsprotected": "Vous n’avez pas la permission de modifier cette page de JavaScript, car elle contient les paramètres personnels d’un autre utilisateur.",
+       "sitecssprotected": "Vous n’avez pas le droit de modifier cette page CSS parce que cela peut affecter tous les visiteurs",
+       "sitejsonprotected": "Vous n’avez pas le droit de modifier cette page JSON parce que cela peut affecter tous les visiteurs",
+       "sitejsprotected": "Vous n’avez pas le droit de modifier cette page JavaScript parce que cela peut affecter tous les visiteurs",
        "mycustomcssprotected": "Vous n’avez pas le droit de modifier cette page CSS.",
        "mycustomjsonprotected": "Vous n’avez pas le droit de modifier cette page JSON.",
        "mycustomjsprotected": "Vous n’avez pas le droit de modifier cette page JavaScript.",
        "group-autoconfirmed": "Utilisateurs autoconfirmés",
        "group-bot": "Robots",
        "group-sysop": "Administrateurs",
+       "group-interface-admin": "Administrateurs d'interfaces",
        "group-bureaucrat": "Bureaucrates",
        "group-suppress": "Limitateurs",
        "group-all": "(tous)",
        "group-autoconfirmed-member": "{{GENDER:$1|utilisateur autoconfirmé|utilisatrice autoconfirmée}}",
        "group-bot-member": "{{GENDER:$1|robot}}",
        "group-sysop-member": "{{GENDER:$1|administrateur|administratrice}}",
+       "group-interface-admin-member": "{{GENDER:$1|administrateur d’interface}}",
        "group-bureaucrat-member": "{{GENDER:$1|bureaucrate}}",
        "group-suppress-member": "{{GENDER:$1|limitateur|limitatrice}}",
        "grouppage-user": "{{ns:project}}:Utilisateurs",
        "grouppage-autoconfirmed": "{{ns:project}}:Utilisateurs autoconfirmés",
        "grouppage-bot": "{{ns:project}}:Robots",
        "grouppage-sysop": "{{ns:project}}:Administrateurs",
+       "grouppage-interface-admin": "{{ns:project}}:Administrateurs d'interface",
        "grouppage-bureaucrat": "{{ns:project}}:Bureaucrates",
        "grouppage-suppress": "{{ns:project}}:Suppress",
        "right-read": "Lire les pages",
        "right-editusercss": "Modifier les fichiers CSS d'autres utilisateurs",
        "right-edituserjson": "Modifier les fichiers JSON d’un autre utilisateur",
        "right-edituserjs": "Modifier les fichiers JavaScript d'autres utilisateurs",
+       "right-editsitecss": "Modifier le CSS du site",
+       "right-editsitejson": "Modifier le JSON du site",
+       "right-editsitejs": "Modifier le JavaScript du site",
        "right-editmyusercss": "Modifier vos propres fichiers CSS utilisateur",
        "right-editmyuserjson": "Modifier vos propres fichiers utilisateur JSON",
        "right-editmyuserjs": "Modifier vos propres fichiers JavaScript utilisateur",
        "grant-createaccount": "Créer des comptes",
        "grant-createeditmovepage": "Créer, modifier et déplacer des pages",
        "grant-delete": "Supprimer les pages, les révisions et les entrées du journal",
-       "grant-editinterface": "Modifier l’espace de noms MediaWiki et le CSS/JSON/JavaScript utilisateur",
+       "grant-editinterface": "Modifier l’espace de noms MediaWiki et le JSON du site/utilisateur",
        "grant-editmycssjs": "Modifier votre CSS/JSON/JavaScript utilisateur",
        "grant-editmyoptions": "Modifier vos préférences utilisateur",
        "grant-editmywatchlist": "Modifier votre liste de suivi",
+       "grant-editsiteconfig": "Modifier les CSS/JS du site et ceux de l'utilisateur",
        "grant-editpage": "Modifier des pages existantes",
        "grant-editprotected": "Modifier des pages protégées",
        "grant-highvolume": "Modification de gros volumes",
        "uploadstash-zero-length": "La taille du fichier est zéro.",
        "invalid-chunk-offset": "Offset de segment non valide",
        "img-auth-accessdenied": "Accès refusé",
-       "img-auth-nopathinfo": "PATH_INFO manquant.\nVotre serveur n’est pas paramétré pour transmettre cette information.\nIl fonctionne peut-être en CGI et ne prend pas en charge img_auth.\nVoir : https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization.",
+       "img-auth-nopathinfo": "Manque l'information de chemin.\nVotre serveur doit être paramétré pour transmettre la variable REQUEST_URI et/ou PATH_INFO .\nSi c'est le cas, essayez d'activer $wgUsePathInfo.\nVoir https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization.",
        "img-auth-notindir": "Le chemin demandé n'est pas le répertoire d'import configuré.",
        "img-auth-badtitle": "Impossible de construire un titre valide à partir de « $1 ».",
        "img-auth-nologinnWL": "Vous n'êtes pas connecté et « $1 » n'est pas dans la liste blanche.",
        "passwordpolicies-policy-passwordcannotmatchusername": "Le mot de passe ne peut pas être le même que le nom d'utilisateur",
        "passwordpolicies-policy-passwordcannotmatchblacklist": "Les mots de passe ne peuvent pas être identiques à ceux qui sont dans la liste noire.",
        "passwordpolicies-policy-maximalpasswordlength": "Les mots de passe doivent avoir moins de $1 caractère{{PLURAL:$1||s}} de long",
-       "passwordpolicies-policy-passwordcannotbepopular": "Le mot de passe ne peut pas être {{PLURAL:$1|le mot de passe populaire|dans la liste des $1 mots de passe populaires}}"
+       "passwordpolicies-policy-passwordcannotbepopular": "Le mot de passe ne peut pas être {{PLURAL:$1|le mot de passe populaire|dans la liste des $1 mots de passe populaires}}",
+       "easydeflate-invaliddeflate": "Le contenu fourni n'est pas correctement développé"
 }
index 13e7581..3af4877 100644 (file)
        "customcssprotected": "Non ten os permisos necesarios para modificar esta páxina de CSS, dado que contén a configuración persoal doutro usuario.",
        "customjsonprotected": "Non ten os permisos necesarios para modificar esta páxina JSON xa que contén a configuración persoal doutro usuario.",
        "customjsprotected": "Non ten os permisos necesarios para modificar esta páxina de JavaScript, dado que contén a configuración persoal doutro usuario.",
+       "sitecssprotected": "Non ten permiso para editar esta páxina CSS xa que pode afectar a tódolos visitantes",
+       "sitejsonprotected": "Non ten permiso para editar esta páxina JSON xa que pode afectar a tódolos visitantes",
+       "sitejsprotected": "Non ten permiso para editar esta páxina JavaScript xa que pode afectar a tódolos visitantes",
        "mycustomcssprotected": "Non ten os permisos necesarios para editar esta páxina de CSS.",
        "mycustomjsonprotected": "Non ten permisos para editar esta páxina JSON.",
        "mycustomjsprotected": "Non ten os permisos necesarios para editar esta páxina de JavaScript.",
        "converter-manual-rule-error": "Detectouse un erro na regra manual de conversión da lingua",
        "undo-success": "A edición pódese desfacer.\nComprobe a comparación que aparece a continuación para confirmar que isto é o que desexa facer; despois, garde os cambios para desfacer a edición.",
        "undo-failure": "Non se pode desfacer a edición debido a un conflito con algunha das edicións intermedias.",
+       "undo-main-slot-only": "A edición non puido desfacerse xa que implica contido que se atopa fóra da posición principal.",
        "undo-norev": "A edición non se pode desfacer porque non existe ou foi eliminada.",
        "undo-nochange": "Semella que alguén xa desfixo a edición.",
        "undo-summary": "Desfíxose a edición $1 de [[Special:Contributions/$2|$2]] ([[User talk:$2|conversa]])",
        "diff-paragraph-moved-toold": "Moveuse o parágrafo. Prema para saltar para á localización anterior.",
        "difference-missing-revision": "Non se {{PLURAL:$2|atopou revisión ningunha|atoparon $2 revisións}} desta diferenza ($1).\n\nA miúdo, isto está provocado por seguir unha ligazón de diferenzas obsoleta cara a unha páxina que foi borrada.\nO [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} rexistro de borrados] contén máis detalles.",
        "searchresults": "Resultados da procura",
+       "search-filter-title-prefix": "Procurando só nas páxinas cuxo título comeza con \"$1\"",
+       "search-filter-title-prefix-reset": "Procurar en tódalas páxinas",
        "searchresults-title": "Resultados da procura de \"$1\"",
        "titlematches": "O título da páxina coincide",
        "textmatches": "O texto da páxina coincide",
        "recentchangescount": "Número de edicións a amosar por defecto nos cambios recentes, nos historiais de páxina e nos rexistrosː",
        "prefs-help-recentchangescount": "Número máximo: 1000",
        "prefs-help-watchlist-token2": "Esta é a clave secreta da fonte de novas web para a súa lista de vixilancia.\nCalquera persoa que a saiba poderá ler a súa lista de vixilancia; non comparta esta clave.\nSe o precisa, [[Special:ResetTokens|pode restablecela]].",
-       "prefs-help-tokenmanagement": "Podes ver e restaurar a chave secreta para a túa conta que pode acceder á fonte web da túa lista de vixiancia. Calquera que coñeza a chave poderá leer a túa lista de vixiancia.",
+       "prefs-help-tokenmanagement": "Podes ver e restaurar a chave secreta para a túa conta que pode acceder á fonte web da túa lista de vixiancia. Calquera que coñeza a chave poderá leer a túa lista de vixiancia, non a comparta.",
        "savedprefs": "Gardáronse as súas preferencias.",
        "savedrights": "Gardáronse os grupos de {{GENDER:$1|usuario|usuaria}} de $1.",
        "timezonelegend": "Fuso horario:",
        "group-autoconfirmed": "Usuarios autoconfirmados",
        "group-bot": "Bots",
        "group-sysop": "Administradores",
+       "group-interface-admin": "Administradores da interface",
        "group-bureaucrat": "Burócratas",
        "group-suppress": "Supresores",
        "group-all": "(todos)",
        "group-autoconfirmed-member": "{{GENDER:$1|usuario autoconfirmado|usuaria autoconfirmada}}",
        "group-bot-member": "{{GENDER:$1|bot}}",
        "group-sysop-member": "{{GENDER:$1|administrador|administradora}}",
+       "group-interface-admin-member": "{{GENDER:$1|administrador|administradora}} da interface",
        "group-bureaucrat-member": "{{GENDER:$1|burócrata}}",
        "group-suppress-member": "{{GENDER:$1|supresor|supresora}}",
        "grouppage-user": "{{ns:project}}:Usuarios",
        "grouppage-autoconfirmed": "{{ns:project}}:Usuarios autoconfirmados",
        "grouppage-bot": "{{ns:project}}:Bots",
        "grouppage-sysop": "{{ns:project}}:Administradores",
+       "grouppage-interface-admin": "{{ns:project}}:Administradores da interface",
        "grouppage-bureaucrat": "{{ns:project}}:Burócratas",
        "grouppage-suppress": "{{ns:project}}:Supresores",
        "right-read": "Ler páxinas",
        "right-editusercss": "Editar os ficheiros CSS doutros usuarios",
        "right-edituserjson": "Editar ficheiros JSON doutros usuarios",
        "right-edituserjs": "Editar os ficheiros JavaScript doutros usuarios",
+       "right-editsitecss": "Editar CSS global do sitio",
+       "right-editsitejson": "Editar JSON global do sitio",
+       "right-editsitejs": "Editar JavaScript global do sitio",
        "right-editmyusercss": "Editar os ficheiros CSS propios",
        "right-editmyuserjson": "Editar os ficheiros JSON do propio usuario",
        "right-editmyuserjs": "Editar os ficheiros JavaScript propios",
        "grant-createaccount": "Crear contas",
        "grant-createeditmovepage": "Crear, editar e mover páxinas",
        "grant-delete": "Borrar páxinas, revisións e entradas de rexistro",
-       "grant-editinterface": "Editar o espazo de nomes MediaWiki e o CSS/JSON/JavaScript de usuario",
+       "grant-editinterface": "Editar o espazo de nomes MediaWiki e o JSON de usuario e global do sitio",
        "grant-editmycssjs": "Editar o seu CSS/JSON/JavaScript de usuario",
        "grant-editmyoptions": "Editar as súas preferencias de usuario",
        "grant-editmywatchlist": "Editar a súa lista de vixilancia",
+       "grant-editsiteconfig": "Editar o CSS/JS de usuario e global do sitio",
        "grant-editpage": "Editar páxinas existentes",
        "grant-editprotected": "Editar páxinas protexidas",
        "grant-highvolume": "Edicións de gran volume",
        "rcfilters-activefilters": "Filtros activos",
        "rcfilters-activefilters-hide": "Agochar",
        "rcfilters-activefilters-show": "Mostrar",
+       "rcfilters-activefilters-hide-tooltip": "Agochar a zona de filtros activos",
+       "rcfilters-activefilters-show-tooltip": "Amosar a zona de filtros activos",
        "rcfilters-advancedfilters": "Filtros avanzados",
        "rcfilters-limit-title": "Resultados a amosar",
        "rcfilters-limit-and-date-label": "$1 {{PLURAL:$1|cambio|cambios}}, $2",
        "rcfilters-empty-filter": "Non hai filtros activos. Móstranse tódalas contribucións.",
        "rcfilters-filterlist-title": "Filtros",
        "rcfilters-filterlist-whatsthis": "Como funciona isto?",
-       "rcfilters-filterlist-feedbacklink": "Coméntenos o que pensa sobre estas (novas) ferramentas de filtrado",
+       "rcfilters-filterlist-feedbacklink": "Coméntenos o que pensa sobre estas ferramentas de filtrado",
        "rcfilters-highlightbutton-title": "Resaltar resultados",
        "rcfilters-highlightmenu-title": "Seleccione unha cor",
        "rcfilters-highlightmenu-help": "Seleccione unha cor para resaltar esta propiedade",
        "rcfilters-filter-humans-label": "Humano (non bot)",
        "rcfilters-filter-humans-description": "Edicións realizadas por editores humanos.",
        "rcfilters-filtergroup-reviewstatus": "Estado de revisión",
+       "rcfilters-filter-reviewstatus-unpatrolled-description": "Edicións non marcadas como patrulladas nin manual nin automaticamente.",
        "rcfilters-filter-reviewstatus-unpatrolled-label": "Sen patrullar",
        "rcfilters-filter-reviewstatus-manual-description": "Edicións marcadas manualmente como vixiadas.",
        "rcfilters-filter-reviewstatus-manual-label": "Vixiadas manualmente",
        "rcfilters-preference-label": "Ocultar a versión mellorada de cambios recentes",
        "rcfilters-preference-help": "Reverte o redeseño da interface de 2017 e tódalas ferramentas engadidas dende entón.",
        "rcfilters-watchlist-preference-label": "Agochar a versión mellorada da lista de vixiancia",
+       "rcfilters-watchlist-preference-help": "Revirte o redeseño da interface de 2017 e tódalas ferramentas engadidas dende entón.",
        "rcfilters-filter-showlinkedfrom-label": "Amosar os cambios en páxinas ligadas desde",
        "rcfilters-filter-showlinkedfrom-option-label": "<strong>Páxinas ligadas desde</strong> a páxina seleccionada",
        "rcfilters-filter-showlinkedto-label": "Amosar os cambios en páxinas que ligan con",
        "uploadstash-zero-length": "O ficheiro ten tamaño cero.",
        "invalid-chunk-offset": "Desprazamento inválido do fragmento",
        "img-auth-accessdenied": "Acceso rexeitado",
-       "img-auth-nopathinfo": "Falta a PATH_INFO.\nO seu servidor non está configurado para pasar esta información.\nPode ser que estea baseado en CGI e non soporte img_auth.\nVéxase https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization.",
+       "img-auth-nopathinfo": "Falta a información da ruta.\nO seu servidor debe configurarse para pasar as variables REQUEST_URI e/ou PATH_INFO.\nSe o está, ténteo de novo activando $wgUsePathInfo.\nVexa https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization.",
        "img-auth-notindir": "A ruta solicitada non está no directorio de carga configurado.",
        "img-auth-badtitle": "Non é posible construír un título válido a partir de \"$1\".",
        "img-auth-nologinnWL": "Non accedeu ao sistema e \"$1\" non está na lista de branca.",
        "http-timed-out": "O pedido HTTP expirou.",
        "http-curl-error": "Ocorreu un erro ao acceder ao URL: $1",
        "http-bad-status": "Houbo un problema durante a solicitude HTTP: $1 $2",
+       "http-internal-error": "Erro interno do HTTP.",
        "upload-curl-error6": "Non se puido acceder ao enderezo URL",
        "upload-curl-error6-text": "Non se puido acceder ao enderezo URL especificado.\nComprobe que ese enderezo URL é correcto e que o sitio está activo.",
        "upload-curl-error28": "Rematou o tempo de espera da subida",
        "apisandbox-dynamic-parameters-add-label": "Engadir un parámetro:",
        "apisandbox-dynamic-parameters-add-placeholder": "Nome do parámetro",
        "apisandbox-dynamic-error-exists": "Xa existe un parámetro co nome \"$1\".",
+       "apisandbox-templated-parameter-reason": "Este [[Special:ApiHelp/main#main/templatedparams|parámetro modelado]] ofrécese en base {{PLURAL:$1|ó valor|ós valores}} de $2.",
        "apisandbox-deprecated-parameters": "Parámetros obsoletos",
        "apisandbox-fetch-token": "Encher automaticamente o identificador",
        "apisandbox-add-multi": "Engadir",
        "speciallogtitlelabel": "Obxectivo (título ou \"{{ns:user}}:nome de usuario\" para un usuario):",
        "log": "Rexistros",
        "logeventslist-submit": "Amosar",
-       "logeventslist-more-filters": "Máis filtros:",
+       "logeventslist-more-filters": "Amosar rexistros adicionais:",
        "logeventslist-patrol-log": "Rexistro de patrullas",
        "logeventslist-tag-log": "Rexistro de etiquetas",
        "all-logs-page": "Todos os rexistros públicos",
        "limitreport-templateargumentsize-value": "$1/$2 {{PLURAL:$2|byte|bytes}}",
        "limitreport-expansiondepth": "Máxima profundidade de expansión",
        "limitreport-expensivefunctioncount": "Número de funcións analíticas custosas",
+       "limitreport-unstrip-depth": "Profundidade da recursividade de eliminación de etiquetas",
+       "limitreport-unstrip-size": "Tamaño trala expansión da eliminación de etiquetas",
        "limitreport-unstrip-size-value": "$1/$2 {{PLURAL:$2|byte|bytes}}",
        "expandtemplates": "Expandir os modelos",
        "expand_templates_intro": "Esta páxina especial toma texto wiki e expande todos os modelos dentro del recursivamente.\nTamén expande as funcións de análise como\n<code><nowiki>{{</nowiki>#language:…}}</code> e variables como\n<code><nowiki>{{</nowiki>CURRENTDAY}}</code>.\nDe feito, expande case calquera cousa entre dúas chaves.",
        "pagedata-text": "Esta páxina porporciona unha interface de datos para páxinas. Por favor, proporcione o título da páxina na URL, usando a sintaxe de subpáxinas.\n* A negociación de contido aplícase baseándose na cabeceira Accept do seu cliente. Isto significa que os datos da páxina serán proporcionados no formato preferido polo seu cliente.",
        "pagedata-not-acceptable": "Non se atopou ningún formato correspondente. Tipos MIME soportadosː $1",
        "pagedata-bad-title": "Título non válido: $1.",
+       "unregistered-user-config": "Por motivos de seguridade as subpáxinas de usuario JavaScript, CSS e JSON non se poden cargar para usuarios non rexistrados.",
        "passwordpolicies": "Políticas de contrasinais",
+       "passwordpolicies-summary": "Esta é unha lista das políticas de contrasinais efectivas para os grupos de usuarios definidos nesta wiki.",
        "passwordpolicies-group": "Grupo",
        "passwordpolicies-policies": "Políticas",
        "passwordpolicies-policy-minimalpasswordlength": "O contrasinal debe conter como mínimo $1 {{PLURAL:$1|carácter|caracteres}}",
        "passwordpolicies-policy-minimumpasswordlengthtologin": "O contrasinal debe conter como mínimo $1 {{PLURAL:$1|carácter|caracteres}} para poder iniciar a sesión",
        "passwordpolicies-policy-passwordcannotmatchusername": "O contrasinal non pode coincidir co nome de usuario",
        "passwordpolicies-policy-passwordcannotmatchblacklist": "O contrasinal non pode coincidir con contrasinais incluidos na lista negra",
-       "passwordpolicies-policy-maximalpasswordlength": "O contrasinal debe conter menos de $1 {{PLURAL:$1|carácter|caracteres}}"
+       "passwordpolicies-policy-maximalpasswordlength": "O contrasinal debe conter menos de $1 {{PLURAL:$1|carácter|caracteres}}",
+       "passwordpolicies-policy-passwordcannotbepopular": "O contrasinal non pode {{PLURAL:$1|ser o contrasinal máis habitual|estar na lista dos $1 máis habituais}}",
+       "easydeflate-invaliddeflate": "O contido fornecido non está debidamente comprimido"
 }
index 53e2ef5..ca7c9e2 100644 (file)
        "viewsourcetext": "𐌼𐌰𐌲𐍄 𐌱𐌰𐌽𐌳𐍅𐌾𐌰𐌽 𐌾𐌰𐌷 𐌺𐌰𐌿𐍀𐌾𐌰 𐍃𐌺𐌰𐍀𐌾𐌰𐌽 𐌸𐌹𐍃 𐌻𐌰𐌿𐌱𐌹𐍃.",
        "viewyourtext": "𐌼𐌰𐌲𐍄 𐍃𐌰𐌹𐍈𐌰𐌽 𐌾𐌰𐌷 𐌲𐌰𐌻𐌴𐌹𐌺𐍉𐌽 𐌹𐌽𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐍉𐍃 <strong>𐌸𐌴𐌹𐌽𐌰𐌹𐌶𐍉 𐌹𐌽𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐍉</strong> 𐌳𐌿 𐌸𐌰𐌼𐌼𐌰 𐌻𐌰𐌿𐌱𐌰.",
        "namespaceprotected": "𐌽𐌹 𐌷𐌰𐌱𐌰𐌹𐍃 𐌰𐌽𐌳𐌻𐌴𐍄 𐌳𐌿 𐌹𐌽𐌼𐌰𐌹𐌳𐌾𐌰𐌽 𐌻𐌰𐌿𐌱𐌰𐌽𐍃 𐌹𐌽 <strong>$1</strong> 𐌽𐌰𐌼𐌰𐍂𐌿𐌼𐌰.",
+       "customcssprotected": "𐌽𐌹 𐌷𐌰𐌱𐌰𐌹𐍃 𐌰𐍄𐌲𐌰𐌲𐌲 𐌳𐌿 𐌹𐌽𐌼𐌰𐌹𐌳𐌾𐌰𐌽 𐌸𐌰𐌽𐌰 CSS 𐌻𐌰𐌿𐍆 𐌿𐌽𐍄𐌴 𐌷𐌰𐌱𐌰𐌹𐌸 𐌻𐌰𐌲𐌴𐌹𐌽𐌹𐌽𐍃 𐌰𐌽𐌸𐌰𐍂𐌹𐍃 𐌱𐍂𐌿𐌺𐌾𐌹𐌽𐍃.",
+       "customjsonprotected": "𐌽𐌹 𐌷𐌰𐌱𐌰𐌹𐍃 𐌰𐍄𐌲𐌰𐌲𐌲 𐌳𐌿 𐌹𐌽𐌼𐌰𐌹𐌳𐌾𐌰𐌽 𐌸𐌰𐌽𐌰 JSON 𐌻𐌰𐌿𐍆 𐌿𐌽𐍄𐌴 𐌷𐌰𐌱𐌰𐌹𐌸 𐌻𐌰𐌲𐌴𐌹𐌽𐌹𐌽𐍃 𐌰𐌽𐌸𐌰𐍂𐌹𐍃 𐌱𐍂𐌿𐌺𐌾𐌹𐌽𐍃.",
+       "customjsprotected": "𐌽𐌹 𐌷𐌰𐌱𐌰𐌹𐍃 𐌰𐍄𐌲𐌰𐌲𐌲 𐌳𐌿 𐌹𐌽𐌼𐌰𐌹𐌳𐌾𐌰𐌽 𐌸𐌰𐌽𐌰 JavaScript 𐌻𐌰𐌿𐍆 𐌿𐌽𐍄𐌴 𐌷𐌰𐌱𐌰𐌹𐌸 𐌻𐌰𐌲𐌴𐌹𐌽𐌹𐌽𐍃 𐌰𐌽𐌸𐌰𐍂𐌹𐍃 𐌱𐍂𐌿𐌺𐌾𐌹𐌽𐍃.",
        "mycustomcssprotected": "𐌽𐌹 𐌷𐌰𐌱𐌰𐌹𐍃 𐌰𐌽𐌳𐌻𐌴𐍄 𐌳𐌿 𐌹𐌽𐌼𐌰𐌹𐌳𐌾𐌰𐌽 𐌸𐌰𐌽𐌰 CSS 𐌻𐌰𐌿𐍆.",
        "mycustomjsonprotected": "𐌽𐌹 𐌷𐌰𐌱𐌰𐌹𐍃 𐌰𐌽𐌳𐌻𐌴𐍄 𐌳𐌿 𐌹𐌽𐌼𐌰𐌹𐌳𐌾𐌰𐌽 𐌸𐌰𐌽𐌰 JSON 𐌻𐌰𐌿𐍆.",
        "mycustomjsprotected": "𐌽𐌹 𐌷𐌰𐌱𐌰𐌹𐍃 𐌰𐌽𐌳𐌻𐌴𐍄 𐌳𐌿 𐌹𐌽𐌼𐌰𐌹𐌳𐌾𐌰𐌽 𐌸𐌰𐌽𐌰 JavaScript 𐌻𐌰𐌿𐍆.",
        "nocookiesfornew": "𐌱𐍂𐌿𐌺𐌾𐌰𐍂𐌰𐌷𐌽𐌴𐌹𐌽𐍃 𐌽𐌹 𐌲𐌰𐍃𐌺𐌰𐍀𐌰𐌽𐌰 𐌿𐌽𐍄𐌴 𐍅𐌴𐌹𐍃 𐌽𐌹 𐌼𐌰𐌷𐍄𐌴𐌳𐌿𐌼 𐌱𐍂𐌿𐌽𐌽𐌰𐌽 𐌲𐌰𐍃𐌹𐌲𐌻𐌾𐌰𐌽. 𐍅𐌹𐍃 𐌰𐍂𐌽𐌹𐌱𐌰 𐌸𐌰𐍄𐌴𐌹 𐌸𐌿 𐌰𐌽𐌳𐌻𐌴𐍄𐌹𐍃 𐌺𐍉𐌺𐍉𐍃, 𐌰𐍆𐍄𐍂𐌰𐌰𐌽𐌰𐌽𐌹𐌿𐌴𐌹 𐌻𐌰𐌿𐍆 𐌾𐌰𐌷 𐍃𐍉𐌺𐌴𐌹 𐌰𐍆𐍄𐍂𐌰.",
        "nosuchuser": "𐌽𐌹𐍃𐍄 𐌱𐍂𐌿𐌺𐌾𐌰𐌽𐌳𐍃 𐌼𐌹𐌸 𐌽𐌰𐌼𐌹𐌽 \"$1\".\n𐌽𐌰𐌼𐌽𐌰 𐌱𐍂𐌿𐌺𐌾𐌰𐌽𐌳𐌴 𐌼𐌰𐌲𐌿𐌽 𐌷𐌰𐌱𐌰𐌽 𐌷𐌰𐌿𐌱𐌹𐌳𐌹𐍃 𐌱𐍉𐌺𐍉𐍃.\n𐍃𐌰𐌹𐍈 𐌰𐍆𐍄𐍂𐌰 𐌸𐌴𐌹𐌽𐌰 𐌼𐌴𐌻𐌴𐌹𐌽𐍃, 𐌸𐌰𐌿 [[Special:CreateAccount|𐍃𐌺𐌰𐍀𐌴𐌹 𐍂𐌰𐌷𐌽𐌴𐌹𐌽]].",
        "nouserspecified": "𐍃𐌺𐌰𐌻𐍄 𐌲𐌹𐌱𐌰𐌽 𐌰𐍄𐌲𐌰𐌲𐌲𐌰𐌽𐌰𐌼𐍉.",
+       "wrongpasswordempty": "𐌲𐌰𐌼𐌴𐌻𐌹𐌸 𐌲𐌰𐌼𐍉𐍄𐌰𐍅𐌰𐌿𐍂𐌳 𐍅𐌰𐍃 𐌻𐌰𐌿𐍃.\n𐌱𐌹𐌳𐌾𐌰𐌼 𐌸𐌿𐌺, 𐍃𐍉𐌺𐌴𐌹 𐌰𐍆𐍄𐍂𐌰.",
        "passwordtooshort": "𐌲𐌰𐌼𐍉𐍄𐌰𐍅𐌰𐌿𐍂𐌳𐌰 𐍃𐌺𐌿𐌻𐌿𐌽 𐌼𐌰𐌹𐍃 𐌸𐌰𐌿 {{PLURAL:$1|•𐌰• 𐌱𐍉𐌺𐌰|$1 𐌱𐍉𐌺𐍉𐍃}} 𐍅𐌹𐍃𐌰𐌽.",
        "passwordtoolong": "𐌲𐌰𐌼𐍉𐍄𐌰𐍅𐌰𐌿𐍂𐌳𐌰 𐌽𐌹 𐌼𐌰𐌲𐌿𐌽 𐍅𐌹𐍃𐌰𐌽 𐌻𐌰𐌲𐌲𐌹𐌶𐍉𐌽𐌰 𐌸𐌰𐌿 {{PLURAL:$1|•𐌰• 𐌱𐍉𐌺𐌰|$1 𐌱𐍉𐌺𐍉𐍃}}.",
+       "passwordtoopopular": "𐍆𐌹𐌻𐌿 𐌲𐌰𐍅𐌰𐌻𐌹𐌳𐌰 𐌲𐌰𐌼𐍉𐍄𐌰𐍅𐌰𐌿𐍂𐌳𐌰 𐍅𐌰𐌻𐌾𐌰𐌽 𐌼𐌰𐌷𐍄𐍃 𐌽𐌹𐍃𐍄. 𐌱𐌹𐌳𐌾𐌰𐌼 𐌸𐌿𐌺, 𐍅𐌰𐌻𐌴𐌹 𐌰𐌽𐌸𐌰𐍂 𐌲𐌰𐌼𐍉𐍄𐌰𐍅𐌰𐌿𐍂𐌳 𐌸𐌰𐍄𐌴𐌹 𐌰𐌲𐌻𐌿 𐌹𐍃𐍄 𐌳𐌿 𐌱𐌹𐌲𐌹𐍄𐌰𐌽.",
+       "password-name-match": "𐌸𐌴𐌹𐌽 𐌲𐌰𐌼𐍉𐍄𐌰𐍅𐌰𐌿𐍂𐌳 𐌽𐌹 𐍃𐌺𐌰𐌻 𐍃𐌰𐌼𐌰𐌻𐌴𐌹𐌺 𐍅𐌹𐍃𐌰𐌽 𐍃𐍅𐌰𐍃𐍅𐌴 𐌸𐌴𐌹𐌽 𐌰𐍄𐌲𐌰𐌲𐌲𐌰𐌽𐌰𐌼𐍉.",
        "password-login-forbidden": "𐌱𐍂𐌿𐌺𐌴𐌹𐌽𐍃 𐌸𐌹𐍃 𐌰𐍄𐌲𐌰𐌲𐌲𐌰𐌽𐌰𐌼𐌹𐌽𐍃 𐌾𐌰𐌷 𐌸𐌹𐍃 𐌲𐌰𐌼𐍉𐍄𐌰𐍅𐌰𐌿𐍂𐌳𐌹𐍃 𐍆𐌰𐌿𐍂𐌱𐌹𐌿𐌳𐌰𐌽𐌰 𐌹𐍃𐍄.",
        "mailmypassword": "𐌰𐍆𐍄𐍂𐌰 𐍃𐌰𐍄𐌴𐌹 𐌲𐌰𐌼𐍉𐍄𐌰𐍅𐌰𐌿𐍂𐌳",
        "noemailcreate": "𐍃𐌺𐌰𐌻𐍄 𐍂𐌰𐌹𐌷𐍄𐍉𐍃 𐌴-𐌱𐍉𐌺𐍉𐍃 𐌲𐌹𐌱𐌰𐌽.",
        "emailconfirmlink": "𐌲𐌰𐍃𐌹𐌲𐌻𐌴𐌹 𐌸𐌴𐌹𐌽𐍉𐍃 𐌴-𐌱𐍉𐌺𐍉𐍃",
        "emaildisabled": "𐍃𐌰 𐌽𐌰𐍄𐌾𐌰𐍃𐍄𐌰𐌸𐍃 𐌽𐌹 𐌼𐌰𐌲 𐍃𐌰𐌽𐌳𐌾𐌰𐌽 𐌴-𐌱𐍉𐌺𐍉𐍃.",
+       "accountcreated": "𐍂𐌰𐌷𐌽𐌴𐌹𐌽𐍃 𐌲𐌰𐍃𐌺𐌰𐍀𐌰𐌽𐌰",
        "accountcreatedtext": "𐌱𐍂𐌿𐌺𐌾𐌰𐍂𐌰𐌷𐌽𐌴𐌹𐌽𐍃 [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|𐌲𐌰𐍅𐌰𐌿𐍂𐌳𐌹]]) 𐌲𐌰𐍃𐌺𐌰𐍀𐌰𐌽𐌰 𐌹𐍃𐍄.",
+       "createaccount-title": "𐌲𐌰𐍃𐌺𐌰𐍆𐍄𐍃 𐍂𐌰𐌷𐌽𐌴𐌹𐌽𐌰𐌹𐍃 𐍆𐌰𐌿𐍂 {{SITENAME}}",
        "loginlanguagelabel": "𐍂𐌰𐌶𐌳𐌰: $1",
        "pt-login": "𐌰𐍄𐌲𐌰𐌲𐌲",
        "pt-login-button": "𐌰𐍄𐌲𐌰𐌲𐌲",
        "pt-login-continue-button": "𐌸𐌰𐌹𐍂𐌷𐍅𐌹𐍃 𐌰𐍄𐌲𐌰𐌲𐌲𐌰𐌽",
        "pt-createaccount": "𐍃𐌺𐌰𐍀𐌴𐌹 𐍂𐌰𐌷𐌽𐌴𐌹𐌽",
        "pt-userlogout": "𐌰𐍆𐌻𐌴𐌹𐌸",
+       "changepassword": "𐌹𐌽𐌼𐌰𐌹𐌳𐌴𐌹 𐌲𐌰𐌼𐍉𐍄𐌰𐍅𐌰𐌿𐍂𐌳",
+       "resetpass_announce": "𐌳𐌿 𐌿𐍃𐍄𐌹𐌿𐌷𐌰𐌽 𐌰𐍄𐌲𐌰𐌲𐌲, 𐍃𐌺𐌰𐌻𐍄 𐌽𐌹𐍅𐌹 𐌲𐌰𐌼𐍉𐍄𐌰𐍅𐌰𐌿𐍂𐌳 𐍅𐌰𐌻𐌾𐌰𐌽.",
        "resetpass_header": "𐌹𐌽𐌼𐌰𐌹𐌳𐌴𐌹 𐌲𐌰𐌼𐍉𐍄𐌰𐍅𐌰𐌿𐍂𐌳 𐍂𐌰𐌷𐌽𐌴𐌹𐌽𐌰𐌹𐍃",
        "oldpassword": "𐍆𐌰𐌹𐍂𐌽𐌹 𐌲𐌰𐌼𐍉𐍄𐌰𐍅𐌰𐌿𐍂𐌳:",
+       "newpassword": "𐌽𐌹𐍅𐌹 𐌲𐌰𐌼𐍉𐍄𐌰𐍅𐌰𐌿𐍂𐌳:",
+       "retypenew": "𐌰𐍆𐍄𐍂𐌰 𐌼𐌴𐌻𐌴𐌹 𐌽𐌹𐍅𐌹 𐌲𐌰𐌼𐍉𐍄𐌰𐍅𐌰𐌿𐍂𐌳:",
+       "resetpass_submit": "𐌻𐌰𐌲𐌴𐌹 𐌲𐌰𐌼𐍉𐍄𐌰𐍅𐌰𐌿𐍂𐌳 𐌾𐌰𐌷 𐌰𐍄𐌲𐌰𐌲𐌲",
+       "changepassword-success": "𐌸𐌴𐌹𐌽 𐌲𐌰𐌼𐍉𐍄𐌰𐍅𐌰𐌿𐍂𐌳 𐌹𐌽𐌼𐌰𐌹𐌳𐌴𐌹𐌸 𐌹𐍃𐍄!",
        "botpasswords": "𐌱𐌰𐌿𐍄𐌹𐍃 𐌲𐌰𐌼𐍉𐍄𐌰𐍅𐌰𐌿𐍂𐌳𐌰",
        "botpasswords-existing": "𐍅𐌹𐍃𐌰𐌽𐌳𐍉𐌽𐌳𐌰 𐌱𐌰𐌿𐍄𐌹𐍃 𐌲𐌰𐌼𐍉𐍄𐌰𐍅𐌰𐌿𐍂𐌳𐌰",
        "botpasswords-label-appid": "𐌽𐌰𐌼𐍉 𐌱𐌰𐌿𐍄𐌹𐍃:",
index d5d9435..7efe8d2 100644 (file)
        "imported-log-entries": "આયાતી $1 {{PLURAL:$1|log entry|log entries}}.",
        "importfailed": "આયાત નિષ્ફળ: <nowiki>$1</nowiki>",
        "importunknownsource": "અજ્ઞાત આયાતી સ્રોત પ્રકાર",
-       "importcantopen": "આયાતી ફાઈલ નખોલી શકાઈ",
+       "importcantopen": "આયાતી ફાઈલ ન ખોલી શકાઈ",
        "importbadinterwiki": "ખરાબ આંતરીકા વિકિ કડી",
        "importsuccess": "આયાત સંપૂર્ણ",
        "importnosources": "કોઇ પણ આંતર વિકિ સ્રોત જણાવાયા નથી અને સીધા ઇતિહાસ ફાઇલ ચડાવવા પર રોક લાગેલી છે.",
index 0dd4a49..5b124c7 100644 (file)
        "customcssprotected": "אין לך הרשאה לערוך את דף ה־CSS הזה, משום שהוא מכיל הגדרות אישיות של משתמש אחר.",
        "customjsonprotected": "אין לך הרשאה לערוך את דף ה־JSON הזה, משום שהוא מכיל הגדרות אישיות של משתמש אחר.",
        "customjsprotected": "אין לך הרשאה לערוך את דף ה־JavaScript הזה, משום שהוא מכיל הגדרות אישיות של משתמש אחר.",
+       "sitecssprotected": "אין לך הרשאה לערוך את דף ה־CSS הזה, משום שהוא עשוי להשפיע על כל המבקרים באתר.",
+       "sitejsonprotected": "אין לך הרשאה לערוך את דף ה־JSON הזה, משום שהוא עשוי להשפיע על כל המבקרים באתר.",
+       "sitejsprotected": "אין לך הרשאה לערוך את דף ה־JavaScript הזה, משום שהוא עשוי להשפיע על כל המבקרים באתר.",
        "mycustomcssprotected": "אין לך הרשאה לערוך את דף ה־CSS הזה.",
        "mycustomjsonprotected": "אין לך הרשאה לערוך את דף ה־JSON הזה.",
        "mycustomjsprotected": "אין לך הרשאה לערוך את דף ה־JavaScript הזה.",
        "group-autoconfirmed": "משתמשים ותיקים",
        "group-bot": "בוטים",
        "group-sysop": "מפעילי מערכת",
+       "group-interface-admin": "מנהלי ממשק",
        "group-bureaucrat": "ביורוקרטים",
        "group-suppress": "מעלימים",
        "group-all": "(הכול)",
        "group-autoconfirmed-member": "{{GENDER:$1|משתמש ותיק|משתמשת ותיקה}}",
        "group-bot-member": "{{GENDER:$1|בוט}}",
        "group-sysop-member": "{{GENDER:$1|מפעיל מערכת|מפעילת מערכת}}",
+       "group-interface-admin-member": "{{GENDER:$1|מנהל ממשק|מנהלת ממשק}}",
        "group-bureaucrat-member": "{{GENDER:$1|ביורוקרט|ביורוקרטית}}",
        "group-suppress-member": "{{GENDER:$1|מעלים|מעלימה}}",
        "grouppage-user": "{{ns:project}}:משתמש רשום",
        "grouppage-autoconfirmed": "{{ns:project}}:משתמש ותיק",
        "grouppage-bot": "{{ns:project}}:בוט",
        "grouppage-sysop": "{{ns:project}}:מפעיל מערכת",
+       "grouppage-interface-admin": "{{ns:project}}:מנהל ממשק",
        "grouppage-bureaucrat": "{{ns:project}}:ביורוקרט",
        "grouppage-suppress": "{{ns:project}}:מעלים",
        "right-read": "קריאת דפים",
        "right-editusercss": "עריכת קובצי CSS של משתמשים אחרים",
        "right-edituserjson": "עריכת קובצי JSON של משתמשים אחרים",
        "right-edituserjs": "עריכת קובצי JavaScript של משתמשים אחרים",
+       "right-editsitecss": "עריכת קובצי CSS של האתר כולו",
+       "right-editsitejson": "עריכת קובצי JSON של האתר כולו",
+       "right-editsitejs": "עריכת קובצי JavaScript של האתר כולו",
        "right-editmyusercss": "עריכת קובצי CSS של המשתמש עצמו",
        "right-editmyuserjson": "עריכת קובצי JSON של המשתמש עצמו",
        "right-editmyuserjs": "עריכת קובצי JavaScript של המשתמש עצמו",
        "grant-createaccount": "יצירת חשבונות",
        "grant-createeditmovepage": "יצירה, עריכה והעברה של דפים",
        "grant-delete": "מחיקת דפים, גרסאות ורשומות יומן",
-       "grant-editinterface": "עריכת מרחב השם מדיה ויקי ו־CSS/JSON/JavaScript של משתמשים",
+       "grant-editinterface": "עריכת מרחב השם מדיה ויקי וקובצי JSON של האתר כולו ושל משתמשים",
        "grant-editmycssjs": "עריכת CSS/JSON/JavaScript שלך",
        "grant-editmyoptions": "עריכת העדפות המשתמש שלך",
        "grant-editmywatchlist": "עריכת רשימת המעקב שלך",
+       "grant-editsiteconfig": "עריכת קובצי CSS/JS של האתר כולו ושל משתמשים",
        "grant-editpage": "עריכת דפים קיימים",
        "grant-editprotected": "עריכת דפים מוגנים",
        "grant-highvolume": "ביצוע עריכות מרובות",
        "uploadstash-zero-length": "הקובץ באורך אפס.",
        "invalid-chunk-offset": "היסט גוש לא תקין",
        "img-auth-accessdenied": "הגישה נדחתה",
-       "img-auth-nopathinfo": "PATH_INFO חסר.\nהשרת אינו מוגדר להעברת מידע זה.\nייתכן שהוא מבוסס על CGI ולכן אינו יכול לתמוך ב־img_auth.\nלמידע נוסף: https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization.",
+       "img-auth-nopathinfo": "חסר מידע על הנתיב.\nהשרת חייב להיות מוגדר להעברת המשתנים REQUEST_URI ו/או PATH_INFO.\nאם הוא אכן מוגדר כך, ניתן לנסות להפעיל את ‎$wgUsePathInfo.\nלמידע נוסף: https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization",
        "img-auth-notindir": "הנתיב המבוקש אינו בתיקיית ההעלאות שהוגדרה.",
        "img-auth-badtitle": "לא ניתן ליצור כותרת תקינה מתוך \"$1\".",
        "img-auth-nologinnWL": "לא נכנסת לחשבון, והדף \"$1\" אינו ברשימה המותרת.",
        "http-timed-out": "עבר זמן ההמתנה של בקשת ה־HTTP.",
        "http-curl-error": "שגיאה בקבלת כתובת ה־URL‏: $1",
        "http-bad-status": "הייתה בעיה בשליחת בקשת ה־HTTP‏: $1 $2",
+       "http-internal-error": "שגיאת HTTP פנימית.",
        "upload-curl-error6": "לא ניתן להגיע ל־URL",
        "upload-curl-error6-text": "לא ניתן להגיע לכתובת ה־URL שנכתבה.\nיש לבדוק אם כתובת זו נכונה ואם האתר זמין.",
        "upload-curl-error28": "הסתיים זמן ההמתנה להעלאה",
        "passwordpolicies-policy-passwordcannotmatchusername": "הסיסמה לא יכולה להיות זהה לשם המשתמש",
        "passwordpolicies-policy-passwordcannotmatchblacklist": "הסיסמה לא יכולה להתאים לסיסמאות מסוימות שנמצאות ברשימה השחורה",
        "passwordpolicies-policy-maximalpasswordlength": "הסיסמה חייבת להיות קצרה יותר {{PLURAL:$1|מתו אחד|מ־$1 תווים}}",
-       "passwordpolicies-policy-passwordcannotbepopular": "הסיסמה לא יכולה להיות זהה {{PLURAL:$1|לסיסמה נפוצה|לאחת הסיסמאות שנמצאות ברשימה של $1 הסיסמאות הנפוצות}}"
+       "passwordpolicies-policy-passwordcannotbepopular": "הסיסמה לא יכולה להיות זהה {{PLURAL:$1|לסיסמה נפוצה|לאחת הסיסמאות שנמצאות ברשימה של $1 הסיסמאות הנפוצות}}",
+       "easydeflate-invaliddeflate": "התוכן שהועבר אינו דחוס כנדרש"
 }
index d290292..5d11142 100644 (file)
        "customcssprotected": "आपको इस CSS पृष्ठ को संपादित करने की अनुमति नहीं है, क्योंकि इसमें अन्य सदस्य की व्यक्तिगत सेटिंग्स शामिल हैं।",
        "customjsonprotected": "आपको इस JSON पृष्ठ को संपादित करने की अनुमति नहीं है, क्योंकि इसमें अन्य सदस्य की व्यक्तिगत सेटिंग्स शामिल हैं।",
        "customjsprotected": "आपको इस जावास्क्रिप्ट पृष्ठ को संपादित करने की अनुमति नहीं है, क्योंकि इसमें अन्य सदस्य की व्यक्तिगत सेटिंग्स शामिल हैं।",
+       "sitecssprotected": "आपको इस सी.एस.एस पृष्ठ को सम्पादित करने की अनुमति नहीं है क्योंकि यह सभी प्रयोक्ताओं को प्रभावित कर सकता है।",
+       "sitejsonprotected": "आपको इस JSON पृष्ठ को सम्पादित करने की अनुमति नहीं है क्योंकि यह सभी प्रयोक्ताओं को प्रभावित कर सकता है।",
+       "sitejsprotected": "आपको इस जावास्क्रिप्ट पृष्ठ को सम्पादित करने की अनुमति नहीं है क्योंकि यह सभी प्रयोक्ताओं को प्रभावित कर सकता है।",
        "mycustomcssprotected": "आपके पास इस CSS पृष्ठ को सम्पादित करने का अधिकार नहीं है।",
        "mycustomjsonprotected": "आपके पास इस JSON पृष्ठ को सम्पादित करने का अधिकार नहीं है।",
        "mycustomjsprotected": "आपके पास इस जावास्क्रिप्ट पृष्ठ को सम्पादित करने का अधिकार नहीं है।",
        "password-login-forbidden": "इस सदस्यनाम और कूटशब्द का उपयोग वर्जित है।",
        "mailmypassword": "कूटशब्द पुनःस्थापित करें",
        "passwordremindertitle": "{{SITENAME}} के लिये नया अस्थायी कूटशब्द",
-       "passwordremindertext": "किसी ने (शायद आपने ही, $1 आइ॰पी पते से) {{SITENAME}} ($4) पर इस्तेमाल के लिये नया कूटशब्द मँगाया है। सदस्य \"$2\" के लिए एक अस्थायी कूटशब्द बना दिया गया है, और यह अभी \"$3\" है। यदि यह आपकी ही मंशा थी, तो अब आपको सत्रारंभ करके एक नया कूटशब्द चुनना होगा।\nआपके अस्थायी कूटशब्द की अवधि {{PLURAL:$5|एक दिन|$5 दिनों}} में समाप्त हो जाएगी।\n\nयदि यह अनुरोध किसी और ने किया था, या आप अपना पुराना कूटशब्द अब नहीं बदलना चाहते क्योंकि आपको अपना पुराना कूटशब्द याद आ गया है, तो आप इस संदेश को नज़रंदाज़ कर सकते हैं, और अपने पुराने कूटशब्द का पहले की तरह इस्तेमाल करते रह सकते हैं।",
+       "passwordremindertext": "किसी ने ($1 आइ॰पी पते से) {{SITENAME}} ($4) पर इस्तेमाल के लिये नया कूटशब्द मँगाया है। सदस्य \"$2\" के लिए एक अस्थायी कूटशब्द बना दिया गया है, और यह अभी \"$3\" है। यदि यह आपकी ही मंशा थी, तो अब आपको लॉग इन करके एक नया कूटशब्द चुनना होगा।\nआपके अस्थायी कूटशब्द की अवधि {{PLURAL:$5|एक दिन|$5 दिनों}} में समाप्त हो जाएगी।\n\nयदि यह अनुरोध किसी और ने किया था, या आप अपना पुराना कूटशब्द अब नहीं बदलना चाहते क्योंकि आपको अपना पुराना कूटशब्द याद आ गया है, तो आप इस संदेश को नज़रंदाज़ कर सकते हैं, और अपने पुराने कूटशब्द का पहले की तरह इस्तेमाल करते रह सकते हैं।",
        "noemail": "\"$1\" सदस्य के लिये कोई भी ई-मेल पता दर्ज नहीं किया गया है।",
        "noemailcreate": "आपको वैध ई-मेल पता देने होगा।",
        "passwordsent": "\"$1\" के ई-मेल पते पर एक नया कूटशब्द भेज दिया गया है।\nई-मेल पाने बाद कृपया दुबारा लॉग इन करें।",
        "botpasswords-existing": "वर्तमान बॉट पासवर्ड",
        "botpasswords-createnew": "बॉट के लिए नया पासवर्ड बनाएँ",
        "botpasswords-editexisting": "बॉट के वर्तमान पासवर्ड को बदलें",
+       "botpasswords-label-needsreset": "(कूटशब्द रीसेट करने की आवश्यकता है)",
        "botpasswords-label-appid": "बॉट नाम:",
        "botpasswords-label-create": "बनाएँ",
        "botpasswords-label-update": "अद्यतन",
        "botpasswords-restriction-failed": "इस प्रवेश में बॉट पासवर्ड रुकावट डाल रहा है।",
        "botpasswords-invalid-name": "जो सदस्य नाम आप बता रहे हो, उसमें बॉट पासवर्ड अलग करने वाला (\"$1\") नहीं है।",
        "botpasswords-not-exist": "सदस्य \"$1\" के आप बॉट पासवर्ड नहीं है, जिसका नाम \"$2\" है।",
+       "botpasswords-needs-reset": "{{GENDER:$1|सदस्य}} ''$1'' के बॉट नाम ''$2'' का कूटशब्द रीसेट करना पड़ेगा।",
        "resetpass_forbidden": "कूटशब्द बदले नहीं जा सकते",
        "resetpass_forbidden-reason": "पासवर्ड नहीं बदला : $1",
        "resetpass-no-info": "इस पृष्ठ का सीधे प्रयोग करने के लिए आपको लॉग इन करना होगा।",
        "resetpass-submit-loggedin": "कूटशब्द बदलें",
        "resetpass-submit-cancel": "रद्द करें",
        "resetpass-wrong-oldpass": "अस्थायी या वर्तमान कूटशब्द अवैध है।\nसंभव है कि या तो आपने पहले ही सफलतापूर्वक अपना कूटशब्द बदल लिया हो, या आपने एक नए अस्थायी कूटशब्द का अनुरोध किया हो।",
-       "resetpass-recycled": "रà¥\80सà¥\87à¤\9f à¤\95रनà¥\87 à¤\95à¥\87 à¤²à¤¿à¤\8f à¤¨à¤¯à¥\87 à¤ªà¤¾à¤¸à¤µà¤°à¥\8dड à¤®à¥\87à¤\82 à¤\95à¥\83पया à¤\85पनà¥\87 à¤µà¤°à¥\8dतमान à¤ªà¤¾à¤¸à¤µà¤°à¥\8dड à¤\95à¥\87 à¤\85लावा à¤\95िसà¥\80 à¤\85नà¥\8dय à¤ªà¤¾à¤¸à¤µà¤°à¥\8dड à¤\95ा à¤ªà¥\8dरयà¥\8bà¤\97 à¤\95रà¥\87à¤\82।",
+       "resetpass-recycled": "अपने वर्तमान पासवर्ड के अलावा किसी अन्य पासवर्ड का प्रयोग करें।",
        "resetpass-temp-emailed": "आपने एक अस्थायी ईमेल किये गये कोड के साथ लॉग इन किया।\nलॉग इन सम्पूर्ण करने के लिए आपको यहाँ एक नया पासवर्ड सेट करना होगा:",
        "resetpass-temp-password": "अस्थायी कूटशब्द:",
        "resetpass-abort-generic": "कूटशब्द में बदलाव किसी एक्सटेंशन द्वारा रोक दिया गया है।",
        "resetpass-expired": "आपके पासवर्ड की वैधता अवधि समाप्त हो चुकी है। कृपया लॉग इन करने के लिए एक नया पासवर्ड सेट करें।",
-       "resetpass-expired-soft": "à¤\86पà¤\95ा à¤ªà¤¾à¤¸à¤µà¤°à¥\8dड à¤\95à¥\80 à¤µà¥\88धता à¤\85वधि à¤¸à¤®à¤¾à¤ªà¥\8dत à¤¹à¥\8b à¤\97यà¥\80 à¤¹à¥\88 à¤\94र à¤\89सà¥\87 à¤°à¥\80सà¥\87à¤\9f à¤\95रनà¥\87 à¤\95à¥\80 à¤\9c़रà¥\82रत à¤¹à¥\88। à¤\95à¥\83पया à¤\8fà¤\95 à¤¨à¤¯à¤¾ à¤ªà¤¾à¤¸à¤µà¤°à¥\8dड à¤\9aà¥\81नà¥\87à¤\82, à¤¯à¤¾ à¤¬à¤¾à¤¦ à¤®à¥\87à¤\82 à¤°à¥\80सà¥\87à¤\9f à¤\95रने के लिए \"{{int:authprovider-resetpass-skip-label}}\" पर क्लिक करें।",
-       "resetpass-validity-soft": "à¤\86पà¤\95ा à¤ªà¤¾à¤¸à¤µà¤°à¥\8dड à¤®à¤¾à¤¨à¥\8dय à¤¨à¤¹à¥\80à¤\82 à¤¹à¥\88: $1 \n\nà¤\95à¥\83पया à¤\85ब à¤\8fà¤\95 à¤¨à¤¯à¤¾ à¤ªà¤¾à¤¸à¤µà¤°à¥\8dड à¤\9aà¥\81नà¥\87à¤\82, à¤¯à¤¾ à¤\89सà¥\87 à¤¬à¤¾à¤¦ à¤®à¥\87à¤\82 à¤ªà¥\81नरà¥\8dसà¥\8dथापित à¤\95रने के लिए \"{{int:authprovider-resetpass-skip-label}}\" पर क्लिक करें।",
+       "resetpass-expired-soft": "à¤\86पà¤\95ा à¤ªà¤¾à¤¸à¤µà¤°à¥\8dड à¤\95à¥\80 à¤µà¥\88धता à¤\85वधि à¤¸à¤®à¤¾à¤ªà¥\8dत à¤¹à¥\8b à¤\97यà¥\80 à¤¹à¥\88 à¤\94र à¤\89सà¥\87 à¤¬à¤¦à¤²à¤¨à¥\87 à¤\95à¥\80 à¤\9c़रà¥\82रत à¤¹à¥\88। à¤\95à¥\83पया à¤\8fà¤\95 à¤¨à¤¯à¤¾ à¤ªà¤¾à¤¸à¤µà¤°à¥\8dड à¤\9aà¥\81नà¥\87à¤\82, à¤¯à¤¾ à¤¬à¤¾à¤¦ à¤®à¥\87à¤\82 à¤¬à¤¦à¤²ने के लिए \"{{int:authprovider-resetpass-skip-label}}\" पर क्लिक करें।",
+       "resetpass-validity-soft": "à¤\86पà¤\95ा à¤ªà¤¾à¤¸à¤µà¤°à¥\8dड à¤®à¤¾à¤¨à¥\8dय à¤¨à¤¹à¥\80à¤\82 à¤¹à¥\88: $1 \n\nà¤\95à¥\83पया à¤¨à¤¯à¤¾ à¤ªà¤¾à¤¸à¤µà¤°à¥\8dड à¤\9aà¥\81नà¥\87à¤\82, à¤¯à¤¾ à¤¬à¤¾à¤¦ à¤®à¥\87à¤\82 à¤¬à¤¦à¤²ने के लिए \"{{int:authprovider-resetpass-skip-label}}\" पर क्लिक करें।",
        "passwordreset": "कूटशब्द रीसेट",
        "passwordreset-text-one": "अपना कूटशब्द रीसेट करने के लिए यह फ़ॉर्म भरें।",
        "passwordreset-text-many": "{{PLURAL:$1|ईमेल के माध्यम से एक अस्थायी पासवर्ड प्राप्त करने के लिए कोई एक डिब्बा भरें।}}",
        "subject-preview": "विषय की झलक:",
        "previewerrortext": "आपके परिवर्तनों का पूर्वावलोकन करने का प्रयास करते समय एक त्रुटि हुई।",
        "blockedtitle": "सदस्य अवरुद्ध है",
-       "blockedtext": "'''आपका सदस्यनाम अथवा आइ॰पी पता अवरोधित कर दिया गया हैं ।'''\n\nअवरोध $1 द्वारा किया गया था।\nअवरोध का कारण है ''$2''\n\n* अवरोध का आरंभ: $8\n* अवरोध की समाप्ति: $6\n* अवरोधित इकाई: $7\n\nइस अवरोध के बारे में चर्चा करने के लिए आप $1 या किसी अन्य [[{{MediaWiki:Grouppage-sysop}}|प्रबन्धक]] से संपर्क कर सकते हैं।\nअगर आपने [[Special:Preferences|अपनी वरीयताओं]] में वैध ई-मेल पता प्रविष्ट किया है तो ही आप 'इस प्रयोक्ता को ई-मेल भेजें' वाली सुविधा का इस्तेमाल कर सकते हैं और आपको इसका इस्तेमाल करने से नहीं रोका गया है।\nआपका मौजूदा आइ॰पी पता $3 है और अवरोध क्रमांक #$5 है।\nअपने किसी भी प्रश्न में कृपया यह सभी जानकारी भी शामिल करें।",
-       "autoblockedtext": "एक और सदस्य आपके ही आइ॰पी का प्रयोग कर रहे थे और उन्हें $1 द्वारा अवरोधित कर दिया गया था। फलस्वरूप आपका आइ॰पी पता भी स्वचालित रूप से अवरोधित हो गया है।\nअवरोध करने का कारण है:\n\n:''$2''\n\n* अवरोध प्रारंभ: $8\n* अवरोध समाप्ति: $6\n* अवरोधित सदस्य: $7\n\nअवरोध की चर्चा करने के लिए आप $1 या किसी अन्य [[{{MediaWiki:Grouppage-sysop}}|प्रबंधक]] से संपर्क कर सकते हैं।\n\nकृपया ध्यान दें कि यदि आपक \"इस सदस्य को ई-मेल भेजें\" वाली सुविधा का प्रयोग करना चाहते हैं तो आपकी [[Special:Preferences|वरीयताओं]] में वैध ई-मेल पता होना चाहिए और इसका प्रयोग आपके लिए अवरोधित नहीं होना चाहिए।\n\nआपका मौजूदा आइ॰पी पता $3 है और अवरोध क्रमांक #$5 है।\nअपने किसी भी प्रश्न में कृपया यह सभी जानकारी भी शामिल करें।",
+       "blockedtext": "<strong>आपका सदस्यनाम अथवा आइ॰पी पता अवरोधित कर दिया गया हैं ।</strong>\n\nअवरोध $1 द्वारा किया गया था।\nअवरोध का कारण है <em>$2</em>\n\n* अवरोध का आरंभ: $8\n* अवरोध की समाप्ति: $6\n* अवरोधित इकाई: $7\n\nइस अवरोध के बारे में चर्चा करने के लिए आप $1 या किसी अन्य [[{{MediaWiki:Grouppage-sysop}}|प्रबन्धक]] से संपर्क कर सकते हैं।\nअगर आपने [[Special:Preferences|अपनी वरीयताओं]] में वैध ई-मेल पता प्रविष्ट किया है तो ही आप {{int:emailuser}} सुविधा का इस्तेमाल कर सकते हैं और आपको इसका इस्तेमाल करने से नहीं रोका गया है।\nआपका मौजूदा आइ॰पी पता $3 है और अवरोध क्रमांक #$5 है।\nअपने किसी भी प्रश्न में कृपया यह सभी जानकारी भी शामिल करें।",
+       "autoblockedtext": "एक और सदस्य आपके ही आइ॰पी का प्रयोग कर रहे थे और उन्हें $1 द्वारा अवरोधित कर दिया गया था। फलस्वरूप आपका आइ॰पी पता भी स्वचालित रूप से अवरोधित हो गया है।\nअवरोध करने का कारण है:\n\n:<em>$2</em>\n\n* अवरोध प्रारंभ: $8\n* अवरोध समाप्ति: $6\n* अवरोधित सदस्य: $7\n\nअवरोध की चर्चा करने के लिए आप $1 या किसी अन्य [[{{MediaWiki:Grouppage-sysop}}|प्रबंधक]] से संपर्क कर सकते हैं।\n\nकृपया ध्यान दें कि यदि आपक \"{{int:emailuser}}\" सुविधा का प्रयोग करना चाहते हैं तो आपकी [[Special:Preferences|वरीयताओं]] में वैध ई-मेल पता होना चाहिए और इसका प्रयोग आपके लिए अवरोधित नहीं होना चाहिए।\n\nआपका मौजूदा आइ॰पी पता $3 है और अवरोध क्रमांक #$5 है।\nअपने किसी भी प्रश्न में कृपया यह सभी जानकारी भी शामिल करें।",
        "systemblockedtext": "आपका यूज़र नेम या आईपी का पता स्वचालित रूप से MediaWiki द्वारा अवरुद्ध कर दिया गया है।\nकारण दिया है:\n:<em>$2</em>\n\n* ब्लॉक का प्रारंभ: $8\n* ब्लॉक की समय सीमा समाप्त: $6\n* इरादा : $7\n\nआपका वर्तमान आईपी पता $3 है।\nआप किसी भी प्रश्न में सभी जानकारी भी शामिल करें।",
        "blockednoreason": "कोई कारण नहीं दिया है",
        "whitelistedittext": "पृष्ठ संपादित करने के लिये आपको $1 करना होगा।",
        "userjsonyoucanpreview": "<strong>टिप:</strong> संजोने से पहले अपनी नई JSON को जाँचने के लिये \"{{int:showpreview}}\" बटन का प्रयोग करें।",
        "userjsyoucanpreview": "'''टिप''': संजोने से पहले अपनी नई जावास्क्रिप्ट को जाँचने के लिये \"{{int:showpreview}}\" बटन का प्रयोग करें।",
        "usercsspreview": "'''ध्यान दें कि आप अपनी सी॰एस॰एस की झलक देख रहे हैं।'''\n'''यह अभी तक संजोई नहीं गई है!'''",
+       "userjsonpreview": "<strong>ध्यान दें कि आप अपनी सदस्य JSON कॉन्फिग की झलक देख रहे हैं।\nयह अभी तक संजोई नहीं गई है!</strong>",
        "userjspreview": "'''ध्यान दें कि आप अपनी जावास्क्रिप्ट की झलक देख रहे हैं।'''\n'''यह अभी तक संजोई नहीं गई है!'''",
        "sitecsspreview": "''''ध्यान दें कि आप इस सी॰एस॰एस की झलक देख रहे हैं।'''\n'''यह अभी तक संजोई नहीं गई है!'''",
+       "sitejsonpreview": "<strong>ध्यान दें कि आप इस JSON कॉन्फिग की झलक देख रहे हैं।\nयह अभी तक संजोई नहीं गई है!</strong>",
        "sitejspreview": "'''ध्यान दें कि आप इस जावास्क्रिप्ट कोड की झलक देख रहे हैं।'''\n'''यह अभी तक संजोया नहीं गया है!'''",
        "userinvalidconfigtitle": "'''चेतावनी:''' \"$1\" नाम की कोई त्वचा नहीं है।\nबदले हुए .css और .js पृष्ठों के शीर्षक नीचे स्तर की लिपि (lowercase) का प्रयोग करते हैं। उदाहरण: {{ns:user}}:Foo/vector.css न की {{ns:user}}:Foo/Vector.css",
        "updated": "(अद्यतनीत)",
        "pagedata-title": "पृष्ठ आँकड़े",
        "pagedata-text": "यह पृष्ठ पृष्ठों के लिए एक डेटा इंटरफ़ेस प्रदान करता है। कृपया उपपृष्ठ सिंटैक्स का उपयोग करके यूआरएल में पेज शीर्षक प्रदान करें।\n* कन्टैंट वार्ता आपके क्लाइंट के एसेडर हेडर के आधार पर लागू होती है। इसका मतलब यह है कि पेज डेटा को आपके क्लाइंट द्वारा पसंदीदा प्रारूप में प्रदान किया जाएगा।",
        "pagedata-not-acceptable": "कोई अनुकूल प्रारूप नहीं मिला। सुमेलित ऍमआइऍमई प्रकार: $1",
-       "pagedata-bad-title": "अमान्य शीर्षक: $1"
+       "pagedata-bad-title": "अमान्य शीर्षक: $1",
+       "passwordpolicies-group": "समूह",
+       "passwordpolicies-policies": "पॉलिसी",
+       "passwordpolicies-policy-minimalpasswordlength": "आपका कूटशब्द कम से कम {{PLURAL:$1|1 कैरेक्टर|$1 कैरेक्टरों}} का होना चाहिये।"
 }
index 8552dfc..ed27e30 100644 (file)
        "customcssprotected": "Nem szerkesztheted ezt a CSS-lapot, mert egy másik felhasználó személyes beállításait tartalmazza.",
        "customjsonprotected": "Nem szerkesztheted ezt a JSON-lapot, mert egy másik felhasználó személyes beállításait tartalmazza.",
        "customjsprotected": "Nem szerkesztheted ezt a JavaScript-lapot, mert egy másik felhasználó személyes beállításait tartalmazza.",
+       "sitecssprotected": "Nincs jogosultságod szerkeszteni ezt a CSS lapot, mert az érintene minden látogatót.",
+       "sitejsonprotected": "Nincs jogosultságod szerkeszteni ezt a JSON lapot, mert az érintene minden látogatót.",
+       "sitejsprotected": "Nincs jogosultságod szerkeszteni ezt a JavaScript lapot, mert az érintene minden látogatót.",
        "mycustomcssprotected": "Nincs jogod szerkeszteni ezt a CSS-lapot.",
        "mycustomjsonprotected": "Nincs jogod szerkeszteni ezt a JSON-lapot.",
        "mycustomjsprotected": "Nincs jogod szerkeszteni ezt a JavaScript-lapot.",
        "action-viewmywatchlist": "saját figyelőlista megtekintése",
        "action-viewmyprivateinfo": "személyes adatok megtekintése",
        "action-editmyprivateinfo": "személyes adatok szerkesztése",
-       "action-editcontentmodel": "a lap tartalom modelljének szerkesztése",
+       "action-editcontentmodel": "a lap tartalommodelljének szerkesztése",
        "action-managechangetags": "címkék létrehozása és (de)aktiválása",
        "action-applychangetags": "változtatások címkézése",
        "action-changetags": "egyedi változtatások és napló bejegyzések tetszőleges címkével való ellátása és törlése",
diff --git a/languages/i18n/hyw.json b/languages/i18n/hyw.json
new file mode 100644 (file)
index 0000000..90cbf86
--- /dev/null
@@ -0,0 +1,702 @@
+{
+       "@metadata": {
+               "authors": [
+                       "ArmenBakkalian",
+                       "Armeniki",
+                       "Azniv Stepanian",
+                       "Rajemian",
+                       "Դավիթ Սարոյան"
+               ]
+       },
+       "underline-always": "Միշտ",
+       "underline-never": "Երբեք",
+       "sunday": "Կիրակի",
+       "monday": "Երկուշաբթի",
+       "tuesday": "Երեքշաբթի",
+       "wednesday": "Չորեքշաբթի",
+       "thursday": "Հինգշաբթի",
+       "friday": "Ուրբաթ",
+       "saturday": "Շաբաթ",
+       "sun": "Կիր.",
+       "mon": "Բշ.",
+       "tue": "Գշ.",
+       "wed": "Դշ.",
+       "thu": "Եշ.",
+       "fri": "Ուրբ.",
+       "sat": "Շաբ.",
+       "january": "Յունուար",
+       "february": "Փետրուար",
+       "march": "Մարտ",
+       "april": "Ապրիլ",
+       "may_long": "Մայիս",
+       "june": "Յունիս",
+       "july": "Յուլիս",
+       "august": "Օգոստոս",
+       "september": "Սեպտեմբեր",
+       "october": "Հոկտեմբեր",
+       "november": "Նոյեմբեր",
+       "december": "Դեկտեմբեր",
+       "january-gen": "Յունուար",
+       "february-gen": "Փետրուար",
+       "march-gen": "Մարտ",
+       "april-gen": "Ապրիլ",
+       "may-gen": "Մայիս",
+       "june-gen": "Յունիս",
+       "july-gen": "Յուլիս",
+       "august-gen": "Օգոստոս",
+       "september-gen": "Սեպտեմբեր",
+       "october-gen": "Հոկտեմբեր",
+       "november-gen": "Նոյեմբեր",
+       "december-gen": "Դեկտեմբեր",
+       "jan": "Յունր․",
+       "feb": "Փետր․",
+       "mar": "Մարտ",
+       "apr": "Ապր․",
+       "may": "Մայ․",
+       "jun": "Յնս․",
+       "jul": "Յլս․",
+       "aug": "Օգստ․",
+       "sep": "Սեպտ․",
+       "oct": "Հոկտ․",
+       "nov": "Նոյ․",
+       "dec": "Դեկտ․",
+       "january-date": "$1 Յունուար",
+       "february-date": "$1 Փետրուար",
+       "march-date": "$1 Մարտ",
+       "april-date": "$1 Ապրիլ",
+       "may-date": "$1 Մայիս",
+       "june-date": "$1 Յունիս",
+       "july-date": "$1 Յուլիս",
+       "august-date": "$1 Օգոստոս",
+       "september-date": "$1 Սեպտեմբեր",
+       "october-date": "$1 Հոկտեմբեր",
+       "november-date": "$1 Նոյեմբեր",
+       "december-date": "$1 Դեկտեմբեր",
+       "pagecategories": "{{PLURAL:$1|Ստորոգութիւն|Ստորոգութիւններ}}",
+       "category_header": "«$1» ստորոգութեան մէջ էջեր",
+       "subcategories": "Ենթաստորոգութիւններ",
+       "category-media-header": "\"$1\" ստորոգութեան հաղորդամիջոց",
+       "category-empty": "<em>Այս ստորոգութիւնը ներկայիս դատարկ է։<em>",
+       "hidden-categories": "{{PLURAL:$1|Թաքուն ստորոգութիւն|Թաքուն ստորոգութիւններ}}",
+       "category-subcat-count": "{{PLURAL:$2|Այս ստորոգութիւնը ունի միայն հետեւեալ ենթաստորոգութիւնը։|Այս ստորոգութիւնը ունի հետեւեալ {{PLURAL:$1|ենթաստորոգութիւն|ենթաստորոգութիւններ}}ը՝ ընդհանուր $2էն։}}",
+       "category-article-count": "{{PLURAL:$2|Այս ստորոգութիւնը կը պարունակէ միայն հետեւեալ էջը։|Ստորեւ այս ստորոգութեան ընդհանուր $2էն {{PLURAL:$1|էջը|$1 էջերը}}։}}",
+       "category-file-count": "{{PLURAL:$2|Այս ստորոգութիւնը կը պարունակէ միայն հետեւեալ էջը։|Ստորեւ այս ստորոգութեան ընդհանուր $2-էն {{PLURAL:$1|էջը|$1 էջերը}}։}}",
+       "listingcontinuesabbrev": "շար.",
+       "noindex-category": "Չցուցակագրուած էջեր",
+       "broken-file-category": "Հասցէազուրկ նիշքի յղումներով էջեր",
+       "about": "Նախագիծին մասին",
+       "newwindow": "(Նոր պատուհանի մէջ կը բացուի)",
+       "cancel": "Չեղարկել",
+       "mypage": "Էջ",
+       "mytalk": "Քննարկում",
+       "anontalk": "Քննարկել",
+       "navigation": "Նաւարկութիւն",
+       "and": "&#32;եւ",
+       "namespaces": "Անուանատարածքներ",
+       "variants": "Տարբերակներ",
+       "navigation-heading": "Նաւարկութեան ցուցակ",
+       "returnto": "Վերադարնալ դէպի $1։",
+       "tagline": "{{SITENAME}}էն",
+       "help": "Օգնութիւն",
+       "search": "Որոնել",
+       "searchbutton": "Որոնել",
+       "searcharticle": "‎Յառաջանալ",
+       "history": "Էջի պատմութիւն",
+       "history_short": "Պատմութիւն",
+       "history_small": "պատմութիւն",
+       "updatedmarker": "փոփոխուած իմ վերջին այցելութեան ի վեր",
+       "printableversion": "Տպագրելի տարբերակ",
+       "permalink": "Մնայուն յղում",
+       "print": "Տպել",
+       "view": "‎Տեսնել",
+       "view-foreign": "Դիտել $1ին վրայ",
+       "edit": "Խմբագրել",
+       "edit-local": "Խմբագրել տեղային նկարագրութիւնը",
+       "create": "Ստեղծել",
+       "create-local": "Աւելցնել տեղական նկարագրութիւն",
+       "delete": "Ջնջել",
+       "undelete_short": "Ստորագծել {{PLURAL:$1|մէկ խմբագրութիւն|$1 խմբագրութիւններ}}",
+       "viewdeleted_short": "Դիտել {{PLURAL:$1|ջնջուած խմբագրութիւն}}",
+       "protect": "Առաջարկ",
+       "protect_change": "փոխել",
+       "unprotect": "Փոխել պաշտպանութիւնը",
+       "newpage": "Նոր էջ",
+       "talkpagelinktext": "Քննարկել",
+       "specialpage": "Յատուկ էջ",
+       "personaltools": "Անձնական գործիքներ",
+       "talk": "Քննարկում",
+       "views": "Տեսնուած",
+       "toolbox": "Գործիքներ",
+       "tool-link-userrights": "Փոխել {{GENDER:$1|գործածող}} խումբեր",
+       "tool-link-userrights-readonly": "Տեսնալ {{GENDER:$1|գործածող}} խումբեր",
+       "tool-link-emailuser": "Ղրկել ասիկա էլ-նամակով {{GENDER:$1|գործածողին}}",
+       "imagepage": "Դիտել նիշքի էջը",
+       "mediawikipage": "Դիտել հաղորդագրութեան էջը",
+       "viewhelppage": "Դիտել օգնութեան էջը",
+       "viewtalkpage": "Դիտել քննարկումը",
+       "otherlanguages": "Այլ լեզուներով",
+       "redirectedfrom": "(Վերայղուած է $1-էն)",
+       "redirectpagesub": "վերայղման էջ",
+       "redirectto": "Վերայղել դէպի՝",
+       "lastmodifiedat": "Այս էջը վերջին անգամ խմբագրուած է $1 թուականի ժամը $2ին:",
+       "protectedpage": "Պաշտպանուած էջ",
+       "jumpto": "Ցատկել դէպի",
+       "jumptonavigation": "նաւարկութիւն",
+       "jumptosearch": "որոնել",
+       "view-pool-error": "Կը ներէք, բայց ծարյաղ-համակարքիչները այս ժամանակին գերբեռնուած են:\nՇատ գործածողներ այս էջը կը փորձէն դիտել:\nՀաճեցէք սպասել որոշ ժամանակ եւ փորձել նորէն դիտել էջը:\n$1",
+       "generic-pool-error": "Կը ներէք, բայց ծարյաղ-համակարքիչները այս ժամանակին գերբեռնուած են:\nՇատ գործածողներ այս աղբիւրը կը փորձէն դիտել:\nՀաճեցէք սպասել որոշ ժամանակ եւ փորձել նորէն դիտել աղբիւրը:",
+       "pool-timeout": "Արգելափակման ժամկէտը սպառուած է",
+       "pool-errorunknown": "Անյայտ սխալ",
+       "poolcounter-usage-error": "Օգտագործման սխալ. $1",
+       "aboutsite": "{{SITENAME}}-ի մասին",
+       "aboutpage": "Project:Ուիքիփետիայի Մասին",
+       "copyright": "Բովանդակութիւնը առկայ է $1 ներքոյ, եթէ այլ բան նշուած չէ։",
+       "copyrightpage": "{{ns:project}}:Հեղինակային իրաւունքներ",
+       "currentevents": "Ընթացիկ իրադարձութիւններ",
+       "currentevents-url": "Project:Ընթացիկ իրադարձութիւններ",
+       "disclaimers": "Պատասխանատուութենէ Հրաժարում",
+       "disclaimerpage": "Project:Պատասխանատուութեան ընդհանուր բացասում",
+       "edithelp": "Խմբագրութեան ուղեցոյց",
+       "helppage-top-gethelp": "Օգնութիւն",
+       "mainpage": "Գլխաւոր էջ",
+       "mainpage-description": "Գլխաւոր էջ",
+       "portal": "Համայնքային դարպաս",
+       "portal-url": "Project:Համայնքային դարպաս",
+       "privacy": "Սեփական տուեալներու պահպանման քաղաքականութիւն",
+       "privacypage": "Project:Սեփական տուեալներու պահպանման քաղաքականութիւն",
+       "ok": "Լաւ",
+       "retrievedfrom": "Վերցուած է «$1» էջէն",
+       "youhavenewmessages": "{{PLURAL:$3|Դուք ունիք}} $1 ($2)։",
+       "youhavenewmessagesfromusers": "{{PLURAL:$4|Դուք ունիք}} $1 {{PLURAL:$3|այլ մասնակից|$3 մասնակիցէն}} ($2):",
+       "youhavenewmessagesmanyusers": "Դուք ունիք $1 քանի մը գործածողներէն ($2)։",
+       "newmessageslinkplural": "{{PLURAL:$1|Նոր հաղորդագրութիւն|999=Նոր հաղորդագրութիւններ}}",
+       "newmessagesdifflinkplural": "վերջին {{PLURAL:$1|փոփոխութիւն|999=փոփոխութիւններ}}",
+       "youhavenewmessagesmulti": "Դուք նոր հաղորդագրութիւններ ունիք $1-ին վրայ",
+       "editsection": "Խմբագրել",
+       "editold": "խմբագրել",
+       "viewsourceold": "Տեսնել աղբիւրը",
+       "editlink": "Խմբագրել",
+       "viewsourcelink": "Տեսնել աղբիւրը",
+       "editsectionhint": " Խմբագրել <$1> բաժինը",
+       "toc": "Բովանդակութիւն",
+       "showtoc": "Ցուցադրել",
+       "hidetoc": "թաքցնել",
+       "collapsible-collapse": "Ծալել",
+       "collapsible-expand": "Տարածել",
+       "confirmable-confirm": "Վստա՞հ էք {{GENDER:$1|դուք}} ։",
+       "confirmable-yes": "Այո",
+       "confirmable-no": "Ոչ",
+       "thisisdeleted": "Դիտե՞լ կամ վերականգնե՞լ $1։",
+       "viewdeleted": "Դիտե՞լ $1։",
+       "restorelink": "{{PLURAL:$1|մէկ ջնջուած խմբագրութիւն|$1 ջնջուած խմբագրութիւններ}}",
+       "feedlinks": "Սնուցման.",
+       "feed-invalid": "Սխալ բաժանորդագրթեան սնուցմանի տեսակ։",
+       "site-rss-feed": "$1 RSS սնուցում",
+       "site-atom-feed": "$1 Atom սնուցում",
+       "page-rss-feed": "«$1» RSS սնուցում",
+       "page-atom-feed": "«$1» Atom սնուցում",
+       "red-link-title": "$1 (էջը գոյութիւն չունի)",
+       "sort-descending": "Դասաւորէ՛ մեծէն-փոքրիկ",
+       "sort-ascending": "Դասաւորէ՛ փոքրիկէն-մեծ",
+       "nstab-main": "Էջ",
+       "nstab-user": "Մասնակիցի էջ",
+       "nstab-media": "Մետիայի էջ",
+       "nstab-special": "Յատուկ էջ",
+       "nstab-project": "Նախագիծի էջ",
+       "nstab-image": "Նիշք",
+       "nstab-mediawiki": "Հաղորդագրութիւն",
+       "nstab-template": "Կաղապար",
+       "nstab-help": "Օգնութեան էջ",
+       "nstab-category": "Ստորոգութիւն",
+       "mainpage-nstab": "Գլխաւոր էջ",
+       "nosuchaction": "Այս գործողութիւնը չկայ",
+       "nosuchspecialpage": "Այդպիսի յատուկ էջ չկայ",
+       "nospecialpagetext": "<strong> Ձեր խնդրած յատուկ էջը անվաւեր է։</strong>\n\nՎաւերական յատուկ էջերու ցանկը կը գտնէք այստեղ՝ [[Special:SpecialPages|{{int:յատուկէջեր}}]].",
+       "databaseerror-query": "Հարցակէտ. $1",
+       "databaseerror-function": "Գործառնութիւն. $1",
+       "databaseerror-error": "Սխալ. $1",
+       "internalerror": "Ներքին սխալ",
+       "internalerror_info": "Ներքին սխալ. $1",
+       "internalerror-fatal-exception": "Ճակատագրական բացառութիւն «$1» տեսակի",
+       "badtitle": "Անընդունելի խորագիր",
+       "badtitletext": "Խնդրուած էջի վերնագիրը անվաւեր էր, պարապ էր, կամ կը պարունակէր միջլեզուական կամ միջուիքիի սխալ ներյղում մը։ \nՀնարաւոր է որ ան կը պարունակէ մէկ կամ աւելի գիրեր, որոնց վերնագիրներու մէջ օգտագործումը արտօնուած չէ։",
+       "viewsource": "Տեսնել աղբիւրը",
+       "viewsource-title": "Տեսնել $1 էջի աղբիւրը",
+       "viewsourcetext": "Կրնաք այս էջին աղբիւրը տեսնել ու ընդօրինակել։",
+       "yourname": "Գործածողի անուն.",
+       "userlogin-yourname": "Մասնակցային անուն",
+       "userlogin-yourname-ph": "Մուտքագրեցէ'ք ձեր մասնակցային անունը",
+       "createacct-another-username-ph": "Մուտքագրէք գործածողի անունը",
+       "yourpassword": "Գաղտնաբառ.",
+       "userlogin-yourpassword": "Անցաբառ",
+       "userlogin-yourpassword-ph": "Մուտքագրեցէ'ք ձեր անցաբառը",
+       "createacct-yourpassword-ph": "Մուտքագրեցէ'ք անցաբառ մը",
+       "yourpasswordagain": "Նորէն մուտքագրէք գաղտնաբառը",
+       "createacct-yourpasswordagain": "Հաստատեցէ'ք անցաբառը",
+       "createacct-yourpasswordagain-ph": "Դարձեալ մուտքագրեցէ'ք անցաբառը",
+       "userlogin-remembermypassword": "Մնալ համակարգին մէջ",
+       "login": "Մուտք գործել",
+       "userlogin-noaccount": "Հաշիւ չունի՞ք։",
+       "userlogin-joinproject": "Միացէ՛ք {{SITENAME}} նախագիծին",
+       "createaccount": "Հաշիւ ստեղծել",
+       "userlogin-resetpassword-link": "Անցաբառը մոռցա՞ծ էք",
+       "userlogin-helplink2": "Մուտք գործելու օգնութիւն",
+       "createacct-emailoptional": "Իմակահասցէ (ոչ պարտադիր)",
+       "createacct-email-ph": "Մուտքագրեցէ՛ք ձեր իմակահասցէն",
+       "createacct-reason": "Պատճառ",
+       "createacct-submit": "Ստեղծել ձեր հաշիւը",
+       "createacct-benefit-heading": "{{SITENAME}}՝ ստեղծուած է ձեզի պէս մարդոց կողմէ։",
+       "createacct-benefit-body1": "{{PLURAL:$1|խմբագրում}}",
+       "createacct-benefit-body2": "$1 {{PLURAL:$1|էջ}}",
+       "createacct-benefit-body3": "վերջին {{PLURAL:$1|մասնակից}}",
+       "loginlanguagelabel": "Լեզու՝ $1",
+       "pt-login": "Մուտք գործել",
+       "pt-login-button": "Մուտք գործել",
+       "pt-createaccount": "Հաշիւ ստեղծել",
+       "pt-userlogout": "Դուրս գալ",
+       "passwordreset": "Վերականգնել անցաբառը",
+       "bold_sample": "Շեշտուած տառերով գրութիւն",
+       "bold_tip": "Շեշտուած տառերով գրութիւն",
+       "italic_sample": "Շեղատառ գրութիւն",
+       "italic_tip": "Շեղատառ գրութիւն",
+       "link_sample": "Յղման վերնագիր",
+       "link_tip": "Ներքին յղում",
+       "extlink_sample": "http://www.example.com յղման վերնագիրը",
+       "extlink_tip": "Արտաքին յղում (յիշել http:// նախածանց)",
+       "headline_sample": "Վերնագրի գրութիւն",
+       "headline_tip": "Երկրորդ մակարդակի վերնագիր",
+       "nowiki_sample": "Մուտքագրեցէ՛ք չձեւաւորուած գրութիւնը այստեղ",
+       "nowiki_tip": "Անտեսել ուիքի ձեւաւորումը",
+       "image_tip": "Ներփակ նիշք",
+       "media_tip": "Նիշքին յղումը",
+       "sig_tip": "Ձեր ստորագրութիւնը ժամակնիքով",
+       "hr_tip": "Հորիզոնական գիծ (գործածել խնայողաբար)",
+       "summary": "Ամփոփում՝",
+       "minoredit": "Ասիկա մանր խմբագրում է",
+       "watchthis": "Հսկել այս էջը",
+       "savearticle": "Էջը պահել",
+       "preview": "Կանխաստուգել",
+       "showpreview": "Կանխաստուգել",
+       "showdiff": "Ցուցնել փոփոխութիւնները",
+       "anoneditwarning": "<strong>Զգուշացում։</strong> Մուտք գործած չէք համակարգ։ Որեւէ խմբագրումի պարագային ձեր IP հասցէն տեսանելի կը դառնայ բոլորին։ Եթե <strong>[$1 մուտք գործէք]</strong> կամ <strong>[$2 ստեղծէք մասնակցային հաշիւ]</strong>, ձեր կատարած խմբագրումները կը կապուին ձեր մասնակցային անունին հետ, ինչպէս նաեւ կ՚ունենաք այլ առաւելութիւններ։",
+       "blockedtext": "<strong>Ձեր մասնակցային անոիւնը կամ IP հասցէն արգելակուած է։</strong>\n\nԱրգելակումը կատարուած է $1ի կողմէ.\nՊարտճառը՝ <em>$2</em>.\n\n* Արգելակման սկիբժ՝ $8\n* Արգելակման աւարտ՝ $6\n* արգելակուած առարկայ՝ $7\n\nԿրնաք կապուիլ $1ի կամ այլ անդատներու հետ [[{{MediaWiki:Grouppage-sysop}}|վարիչ]] արգելակման մասին զրուցելու համար.\nՉէք կրնար օգտագործել \"{{int:emailuser}}\" հնարաւորութիւնը բացի եթէ նշած էք իմակի վաւերական հասցէ մը ձեր [[Special:Նախասիրութիւններ|մասնակիցի նախասիրութիւններուն մէջ]] եւ արգելակուած չէ վեր անոր օգտագործումը.\nՁեր ընթացիկ IP հասցէն է $3, եւ արգելակման ինքնութեան համարն է #$5.\nԿը շնդրենք որ այս մանրամասնութիւնները նշէք ձեր բոլոր թղթակցութիւններուն մէջ։",
+       "loginreqlink": "մուտք գործել",
+       "newarticletext": "Դուք յղուած էք տակաւին գոյութիւն չունեցող էջի մը։\nԷջը ստեղծելու համար, մեքենագրեցէք ներքեւի տուփիկին մէջ (յաւելեալ տեղեկութեանց համար տե՛ս [$1 օգնութեան ցուցմունքներու էջը])։\nԵթէ սխալմամբ հոս հասած էք, սեղմել դիտարկիչի <strong>ետ</strong> կոճակը։",
+       "anontalkpagetext": "<em> Այս էջը առայժմ հաշիւ չստեղծած, կամ հաշիւ չօգտագործող, անանուն մասնակիցներու քննարկման էջն է։</em>\nՈւրեմն որպէս ինքնութիւն ստիպուած ենք օգտագործել անոնց IP հասցէն։\nԱյսպիսի IP հասցէ կրնան ունենալ մէկէ աւելի մասնակիցներ։\nԵթէ դուք անանուն մասնակից էք եւ կը խորհիք որ անկապ դիտողութիւններու թիրախ դարձած էք, կը խնդրուի [[Special:CreateAccount|Հաշիւ ստեղծել]] կամ [[Special:UserLogin|մուտք գործել]] խուսափելու համար ապագային այլ անդանուն մասնակիցներու հետ շփոթուելու հնարաւորութենէն։",
+       "noarticletext": "Ներկայիս այս էջին վրայ որեւէ գրութիւն չկայ։\nԴուք կրնաք [[Special:Search/{{PAGENAME}}|որոնել այս անուանումը]] այլ էջերու մէջ, <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} որոնել համապատասխան տեղեկամատեանները] կամ [{{fullurl:{{FULLPAGENAME}}|action=edit}} ստեղծել նոր էջ այս անուանումով]</span>։",
+       "noarticletext-nopermission": "Ներկայիս այս էջին վրայ որեւէ գրութիւն չկայ։\nԿրնաք [[Special:Search/{{PAGENAME}}|այս վերնագիրով էջը որոնել]] այլ էջերու մէջ, կամ <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} որոնել համապատասխան տեղեկատետրերը], սակայն իրաւունք չունիք այս էջը ստեղծելու։",
+       "userpage-userdoesnotexist-view": "«$1» անունով գրանցուած մասնակից չկայ։",
+       "clearyourcache": "<strong>Նշում՝</strong> Պահելէ ետք կրնայ ըլլալ որ պէտք ունենաք մաքրելու դիտարկիչին պաշարը (cache) փոփոխութիւնները կարենալ տեսնելու համար։\n* <strong>Firefox / Safari:</strong> Սեղմած պահել <em>Shiftը</em> մինչ կը սեղմէք  <em>Reload</em>, կամ ալ սեղմել <em>Ctrl-F5</em> կամ <em>Ctrl-R</em> (<em>⌘-R</em> Macի վրայ)\n* <strong>Google Chrome:</strong> Սեղմել <em>Ctrl-Shift-R</em> (<em>⌘-Shift-R</em> Macի վրայ)\n* <strong>Internet Explorer:</strong> Սեղմած պահել <em>Ctrl</em> մինչ կը սեղմէք  <em>Refresh</em>, կամ ալ սեղմել <em>Ctrl-F5</em>\n* <strong>Opera:</strong> Երթալ <em>Menu → Settings</em> (<em>Opera → Preferences</em> Macի վրայ) եւ ապա <em>Privacy & security → մաքրել թերթատման տեղեկութիւնները → Պաշարի մէջ դրուած նկարներ եւ նիշքեր</em>.",
+       "previewnote": "<strong>Յիշել որ ասիկա միայն կանխաստուգում է. ձեր կատարած փոփոխութիւնները տակաւին չեն պահուած։<strong>",
+       "continue-editing": "Շարունակել խմբագրել",
+       "editing": "Կը խմբագրուի՝ $1 էջը",
+       "creating": "«$1» էջի ստեղծում",
+       "editingsection": "$1 բաժինի խմբագրում",
+       "templatesused": "Այս էջին մէջ օգտագործուած {{PLURAL:$1|կաղապարը|կաղապարները}}.",
+       "templatesusedpreview": "{{PLURAL:$1|Կաղապար}} օգտագործուած այս կանխաստուգումին մէջ՝",
+       "template-protected": "(պահպանուած)",
+       "template-semiprotected": "(մասամբ պահպանուած է)",
+       "hiddencategories": "Այս էջը կը պատկանի հետեւեալ {{PLURAL:$1|1 թաքուն ստորոգութեան|$1 թաքուն ստորոգութիւնններուն}}.",
+       "permissionserrors": "Արտօնութեան սխալ",
+       "permissionserrorstext-withaction": "Արտօնութիւն չունիք $2 հետեւեալ {{PLURAL:$1|պատճառով|պատճառներով}}.",
+       "recreate-moveddeleted-warn": "<strong>Զգուշացում. Նախապէս ջնջուած էջ մը պիտի վերստեղծուի։<strong>\n\nԿը խնդրուի մտածել այս էջի խմբագրման նպատակայարմարութեան մասին։ \nՁեր դիւրութեան համար ներքեւ կը գտնէք այս էջի ջնջումին և տեղափոխումին տեղեկատետրերը։",
+       "moveddeleted-notice": "Այս էջը ջնջուած է։\nԷջին ջնջումի, պահպանումի եւ փոխադրումի տեղեկատետրը տրամադրելի է ներքեւ որպէս տեղեկութիւն։",
+       "content-model-wikitext": "ուիքիթէքսթ",
+       "undo-failure": "Խմբագրումը կարելի չեղաւ ետ ընել միջանկեալ խմբագրումներու հետ ընդհարումի պատճառով։",
+       "viewpagelogs": "Տեսնել այս էջին տեղեկատետրերը",
+       "currentrev-asof": "Ընթացիկ տարբերակը $1ի դրութեամբ",
+       "revisionasof": "$1-ի տարբերակ",
+       "revision-info": "$1ի տարբերակ, $2ի կողմէ",
+       "previousrevision": "←Նախորդ տարբերակ",
+       "nextrevision": "Յաջորդ տարբերակ→",
+       "currentrevisionlink": "Վերջին տարբերակ",
+       "cur": "ընթ.",
+       "last": "նախ.",
+       "histlegend": "Տարբերութիւններու համեմատում. դրէ՛ք նշման կէտեր այն տարբերակներու կողքին, որոնք կ՚ուզէք համեմատել եւ սեղմեցէ՛ք ներքեւ գտնուող կոճակը։<br />\nԾանօթ.՝ <strong>({{int:cur}})</strong> = ընթացիկ տարբերակի հետ համեմատած տարբերութիւններ,\n<strong>({{int:last}})</strong> = նախորդ տարբերակի հետ համեմատած տարբերութիւններ,<br />'''չ''' = չնչին խմբագրում",
+       "history-fieldset-title": "Որոնել տարբերակներ",
+       "histfirst": "հնագոյն",
+       "histlast": "նորագոյն",
+       "history-feed-title": "Վերանայումներու ցուցակ",
+       "history-feed-description": "Ուիքիի այս էջին վերանայումներու ցուցակը",
+       "history-feed-item-nocomment": "$1՝ $2",
+       "rev-delundel": "ցուցնել/թաքցնել",
+       "mergelog": "Ձուլման տեղեկատետր",
+       "history-title": "«$1»ի վերանայումներու ցուցակ",
+       "difference-title": "«$1»ի խմբագրումներու միջեւ տարբերութիւն",
+       "lineno": "Տող $1.",
+       "compareselectedversions": "Համեմատել ընտրուած տարբերակները",
+       "editundo": "Յետարկել",
+       "diff-empty": "(Տարբերութիւն չկայ)",
+       "diff-multi-sameuser": "(նոյն մասնակիցի ցոյց չտրուած {{PLURAL:$1|մէկ միջանկեալ խմբագրում|$1 միջանկեալ խմբագրումներ}})",
+       "diff-multi-otherusers": "(նոյն մասնակիցի ցոյց չտրուած {{PLURAL:$1|մէկ միջանկեալ վերանայում|$1 միջանկեալ վերանայումներ}})",
+       "searchresults": "Որոնման արդիւնքներ",
+       "searchresults-title": "«$1»-ի որոնման արդիւնքները",
+       "prevn": "նախորդ {{PLURAL:$1|$1}}",
+       "nextn": "յաջորդ {{PLURAL:$1|$1}}",
+       "prevn-title": "Նախորդ $1 {{PLURAL:$1|արդիւնքը|արդիւնքները}}",
+       "nextn-title": "Յաջորդ $1 {{PLURAL:$1|արդիւնքը|արդիւնքները}}",
+       "shown-title": "Իւրաքանչիւր էջի վրայ ցոյց տալ $1 {{PLURAL:$1|արդիւնք|արդիւնքներ}}",
+       "viewprevnext": "Տեսնել ($1 {{int:pipe-separator}} $2) ($3)",
+       "searchmenu-exists": "<strong>\"[[:$1]]\" անունով էջ կայ այս ուիքիին մէջ։</strong> {{PLURAL:$2|0=|Տե՛ս նաեւ որոնումին բերած միւս արդիւնքները.}}",
+       "searchmenu-new": "<strong>Ստեղծել «[[:$1]]» էջը այս ուիքիին մէջ։</strong> {{PLURAL:$2|0=|Տե՛ս նաեւ որոնումով գտած էջդ։| Տե՛ս նաեւ որոնումին բերած արդիւնքները։}}",
+       "searchprofile-articles": "Բովանդակութեան էջեր",
+       "searchprofile-images": "Բազմահաղորդամիջոցներ",
+       "searchprofile-everything": "Ամէն ինչ",
+       "searchprofile-advanced": "Յառաջացած",
+       "searchprofile-articles-tooltip": "Որոնել $1-ին մէջ",
+       "searchprofile-images-tooltip": "Որոնել նիշքեր",
+       "searchprofile-everything-tooltip": "Որոնել բոլոր էջերուն մէջ (ներառեալ քննարկման էջերը)",
+       "searchprofile-advanced-tooltip": "Որոնել յատուկ անուանատարածքներու մէջ",
+       "search-result-size": "$1 ({{PLURAL:$2|1 բառ|$2 բառեր}})",
+       "search-result-category-size": "{{PLURAL:$1|1 անդամ|$1 անդամներ}} ({{PLURAL:$2|1 ենթաստորոգութիւն|$2 ենթաստորոգութիւններ}}, {{PLURAL:$3|1 նիշք|$3 նիշքեր}})",
+       "search-redirect": "(Վերայղուած է $1-էն)",
+       "search-section": "(բաժին $1)",
+       "search-file-match": "(համապատասխան է նիշքի բովանդակութեան)",
+       "search-suggest": "$1 Նկատի ունի՞ք",
+       "searchall": "բոլոր",
+       "search-showingresults": "{{PLURAL:$4|<strong>$1</strong> արդիւնք <strong>$3</strong>-էն|<strong>$1 - $2</strong> արդիւնքներ <strong>$3</strong>-էն}}",
+       "search-nonefound": "Որոնումին համապատասխանող արդիւնքներ չգտնուեցան",
+       "mypreferences": "Նախընտրութիւններ",
+       "group-bot": "Մեքենայիկներ",
+       "group-sysop": "Վարիչներ",
+       "grouppage-bot": "{{ns:project}}:Մեքենայիկներ",
+       "grouppage-sysop": "{{ns:project}}:Վարիչներ",
+       "right-writeapi": "API գիրի օգտագործումը",
+       "newuserlogpage": "Մասնակիցներու գրանցման տեղեկատետր",
+       "rightslog": "Մասնակիցի իրաւունքներու տեղեկատետր",
+       "action-edit": "խմբագրել այս էջը",
+       "action-createaccount": "Այս մասնակիցին հաշիւը ստեղծել",
+       "enhancedrc-history": "պատմութիւն",
+       "recentchanges": "Վերջին փոփոխութիւնները",
+       "recentchanges-legend": "Վերջին փոփոխութիւններու նախընտրութիւններ",
+       "recentchanges-summary": "Հետեւեցէ՛ք ուիքիին մէջ կատարուած վերջին փոփոխութիւններուն՝ այստեղ։",
+       "recentchanges-noresult": "Տուեալ ժամանակահատուածի ընթացքին կատարուած որեւէ փոփոխութիւն չի համապատասխաներ այս պայմաններուն։",
+       "recentchanges-feed-description": "Հետեւեցէ՛ք ուիքիի այս հոսքին մէջ կատարուած վերջին փոփոխութիւններուն։",
+       "recentchanges-label-newpage": "Այս խմբագրումը նոր էջ ստեղծեց",
+       "recentchanges-label-minor": "Ասիկա մանր խմբագրում է",
+       "recentchanges-label-bot": "Այս խմբագրումը իրականացուած է մեքենայիկի մը կողմէ",
+       "recentchanges-label-unpatrolled": "Այս խմբագրումը տակաւին ստուգուած չէ",
+       "recentchanges-label-plusminus": "Էջին ծաւալը փոխուեցաւ այսքան պայթով",
+       "recentchanges-legend-heading": "<strong>Ծանօթ.՝</strong>",
+       "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (տե՛ս նաեւ՝  [[Special:NewPages|նոր էջերու ցանկ]])",
+       "rcnotefrom": "Ներքեւ {{PLURAL:$5|փոփոխութիւնն է|փոփոխութիւններն են}} սկսեալ <strong>$3, $4</strong> (մինչեւ <strong>$1</strong> ցոյց տրուած).",
+       "rclistfrom": "Ցոյց տալ նոր փոփոխութիւնները սկսած $3 $2",
+       "rcshowhideminor": "$1 չնչին խմբագրումներ",
+       "rcshowhideminor-show": "Ցուցնել",
+       "rcshowhideminor-hide": "Թաքցնել",
+       "rcshowhidebots": "$1 մեքենայիկներ",
+       "rcshowhidebots-show": "Ցուցնել",
+       "rcshowhidebots-hide": "Թաքցնել",
+       "rcshowhideliu": "$1 գրանցուած մասնակիցները",
+       "rcshowhideliu-show": "Ցուցնել",
+       "rcshowhideliu-hide": "Թաքցնել",
+       "rcshowhideanons": "$1 անանուն մասնակիցները",
+       "rcshowhideanons-show": "Ցուցնել",
+       "rcshowhideanons-hide": "Թաքցնել",
+       "rcshowhidepatr": "$1 ստուգուած խմբագրումները",
+       "rcshowhidemine": "$1 իմ խմբագրումներս",
+       "rcshowhidemine-show": "Ցուցնել",
+       "rcshowhidemine-hide": "Թաքցնել",
+       "rclinks": "Ցոյց տալ վերջին $1 փոփոխութիւնները վերջին $2 օրուան ընթացքին",
+       "diff": "տարբ.",
+       "hist": "պատմ.",
+       "hide": "Թաքցնել",
+       "show": "Ցուցնել",
+       "minoreditletter": "Չ",
+       "newpageletter": "Ն",
+       "boteditletter": "Մ",
+       "rc-change-size-new": "$1{{PLURAL:$1|պայթ}}փոփոխութենէն ետք",
+       "rc-old-title": "Սկիզբը ստեղծուած էր որպէս «$1»",
+       "recentchangeslinked": "Առնչուած փոփոխութիւններ",
+       "recentchangeslinked-feed": "Առնչուած փոփոխութիւններ",
+       "recentchangeslinked-toolbox": "Առնչուող փոփոխութիւններ",
+       "recentchangeslinked-title": "«$1» էջին առնչուած փոփոխութիւնները",
+       "recentchangeslinked-summary": "Նշել Էջի թիւը տեսնելու համար այդ էջին կամ էջէն յղուող փոփոխութիւնները։ (Ստորոգութեան մը անդամները տեսնելու համար, նշել {{ns:category}}:Ստորոգութեան անունը))։\n[[Special:Հսկողութեան ցանկ|ձեր հսկողութեան ցանկ]]ի էջին վրայ գտնուող փոփոխութիւնները <strong>շեշտուած տառերով</strong> են։",
+       "recentchangeslinked-page": "Էջին անունը՝",
+       "recentchangeslinked-to": "Փոխարէնը ցոյց տալ տուեալ էջին առնչուած էջերուն մէջ կատարուած փոփոխութիւնները։",
+       "upload": "Վերբեռնել նիշք",
+       "uploadlogpage": "Վերբեռնումի տեղեկատետր",
+       "filedesc": "Ամփոփում",
+       "license": "Արտօնագրութիւն՝",
+       "license-header": "Արտօնագրում",
+       "imgfile": "Նիշք",
+       "listfiles": "Նիշքերու ցանկ",
+       "file-anchor-link": "Նիշք",
+       "filehist": "Նիշքի պատմութիւն",
+       "filehist-help": "‎Սեղմել օրուան/ժամին վրայ նիշքի այդ պահուն ունեցած վիճակը տեսնելու համար",
+       "filehist-revert": "յետարկել",
+       "filehist-current": "ընթացիկ",
+       "filehist-datetime": "Օր/Ժամ",
+       "filehist-thumb": "Մանրապատկեր",
+       "filehist-thumbtext": "$1 տարբերակի մանրապատկերը",
+       "filehist-nothumb": "Մանրապատկեր չկայ",
+       "filehist-user": "Մասնակից",
+       "filehist-dimensions": "Ծաւալ",
+       "filehist-comment": "Մեկնաբանութիւն",
+       "imagelinks": "Նիշքի գործածութիւն",
+       "linkstoimage": "Հետեւեալ {{PLURAL:$1|էջը կը յղուի|$1 էջերը կը յղուին}} այս նիշքին՝",
+       "linkstoimage-more": "$1է աւելի {{PLURAL:$1|էջի յղում|էջի յղումներ}} կան այս նիշքին։\nՀետեւեալ ցանկը ցոյց կու տայ {{PLURAL:$1|առաջին էջի յղում|առաջին $1 էջի յղումներ}} այս նիշքին միայն։\n[[Special:WhatLinksHere/$2|ամբողջական ցանկ]] մը տրամադրելի է։",
+       "nolinkstoimage": "Այս նիշքին յղուող էջեր չկան։",
+       "linkstoimage-redirect": "$1 (նիշքի վերայղում) $2",
+       "sharedupload-desc-here": "Այս նիշքը առնուած է $1-էն եւ կրնայ օգտագործուիլ այլ նախագիծերու մէջ։ $1-ի մէջ անոր [$2 նիշքը նկարագրող էջի]ի նկարագրութիւնը ներկայացուած է ստորեւ։",
+       "filepage-nofile": "Այս անունով նիշք մը գոյութիւն չունի։",
+       "upload-disallowed-here": "Այս նիշքը կարելի չէ ջնջել ու փոխարինել։",
+       "randompage": "Պատահական էջ",
+       "statistics": "Վիճակագրութիւն",
+       "double-redirect-fixer": "Վերայղումներու շտկիչ",
+       "nbytes": "$1 {{PLURAL:$1|պայթ}}",
+       "nmembers": "$1 {{PLURAL:$1|անդամ|անդամներ}}",
+       "prefixindex": "Բոլոր նախածանցներով էջերը",
+       "listusers": "Մասնակիցներու ցանկ",
+       "newpages": "Նոր էջեր",
+       "move": "Տեղափոխել այս էջը",
+       "pager-newer-n": "{{PLURAL:$1|նոր 1|աւելի նոր $1}}",
+       "pager-older-n": "{{PLURAL:$1|աւելի հին 1|աւելի հին $1}}",
+       "booksources": "Գիրքի աղբիւրներ",
+       "booksources-search-legend": "Որոնել գիրքի մասին",
+       "booksources-search": "Որոնել",
+       "specialloguserlabel": "Կատարող․",
+       "speciallogtitlelabel": "Թիրախ (վերնագիր կամ {{ns:user}}:մասնակիցի մասնակցային անուն)՝",
+       "log": "Տեղեկատետրեր",
+       "all-logs-page": "Բոլոր հանրային տեղեկատետրերը",
+       "alllogstext": "{{SITENAME}} կայքի տեղեկատետրերու միացեալ ցանկ։\nԿրնաք արդիւնքները սահմանափակել ըստ տեղեկատետրի տեսակին, մասնակիցի անունին կամ համապատասխան էջին։",
+       "logempty": "Համապատասխան տարրեր չկան տեղեկատետերին մէջ։",
+       "allpages": "Բոլոր էջերը",
+       "allarticles": "Բոլոր էջերը",
+       "allpagessubmit": "‎Յառաջանալ",
+       "allpages-hide-redirects": "Թաքցնել վերայղումները",
+       "categories": "Ստորոգութիւններ",
+       "listgrouprights-members": "(անդամներու ցանկ)",
+       "emailuser": "էլ-նամակ ուղարկել այս մասնակիցին",
+       "usermessage-editor": "Համակարգային սուրհանդակի անուն",
+       "watchlist": "Հսկողութեան ցանկ",
+       "mywatchlist": "Հսկողութեան ցանկ",
+       "watchlistfor2": "$1 $2-ի համար",
+       "watch": "Հսկել",
+       "unwatch": "Հանել հսկումէն",
+       "watchlist-details": "Ձեր հսկողութեան ցանկը ունի {{PLURAL:$1|$1 էջ}}` (առաւել քննարկման էջեր)։",
+       "wlheader-showupdated": "Ձեր վերջին այցելութենէն ետք փոփոխուած Էջերը տրուած են <strong>շեշտուած տառերով<strong>։",
+       "wlnote": "Ներքեւ տրուած {{PLURAL:$1|է վերջին փոփոխութիւնը|են վերջին '''$1''' փոփոխութիւնները}} վերջին <strong>$2</strong> ժամուան ընթացքին՝ $3, $4ի դրութեամբ։",
+       "wlshowlast": "Ցոյց տալ վերջին $1 ժամերը $2 օրերը",
+       "watchlist-options": "Հսկողութեան ացանկի նախընտրութիւններ",
+       "enotif_reset": "Նշել բոլոր  այցելուած էջերը",
+       "dellogpage": "Ջնջումներու տեղեկատետր",
+       "rollbacklink": "Նախորդ տարբերակը ետ բերել",
+       "rollbacklinkcount": "Յետարկում $1 {{PLURAL:$1|խմբագրում|խմբագրումներ}}",
+       "protectlogpage": "Պահպանման տեղեկատետր",
+       "protectedarticle": "պահպանուեցաւ «[[$1]]» էջը",
+       "modifiedarticleprotection": "պահպանութեան մակարդակը փոխուեցաւ «[[$1]]» էջին համար",
+       "protect-default": "Թոյլատրել բոլոր մասնակիցներուն",
+       "restriction-edit": "Խմբագրել",
+       "restriction-move": "Տեղափոխել այս էջը",
+       "namespace": "Անուանատարածք՝",
+       "invert": "Ընտրութիւնը շրջել",
+       "tooltip-invert": "Նշեցէ՛ք տուփիկը թաքցնելու համար տուեալ անուանատարածքի եւ կից անուանատարածքներու (եթէ նշուած է) էջերու վրայի փոփոխութիւնները ։",
+       "namespace_association": "Առնչուած անուանատարածք",
+       "tooltip-namespace_association": "Նշեցէ՛ք տուփիկը՝ ներառնելու համար տուեալ անուանատարածքին հետ կապուած քննարկումները կամ նիւթերու անուանատարածքը նոյնպէս։",
+       "blanknamespace": "(Գլխաւոր)",
+       "contributions": "{{GENDER:$1|Մասնակիցի}} ներդրումները",
+       "contributions-title": "$1 մասնակիցի ներդրումը",
+       "mycontris": "Ներդրումներ",
+       "anoncontribs": "Ներդրումներ",
+       "contribsub2": "{{GENDER:$3|$1}}ի ներդրումները ($2)",
+       "nocontribs": "Այս չափանիշներուն համապատասխանող փոփոխութիւններ չգտնուեցան։",
+       "uctop": "(ընթացիկ)",
+       "month": "Սկսած ամիսէն (եւ աւելի վաղ)՝",
+       "year": "Սկսեալ տարիէն (եւ աւելի վաղ)՝",
+       "sp-contributions-newbies": "Ցոյց տալ միայն նոր հաշիւներէ եղած ներդրումները",
+       "sp-contributions-blocklog": "արգելակումներու տեղեկատետր",
+       "sp-contributions-uploads": "վերբեռնումներ",
+       "sp-contributions-logs": "Տեղեկատետրեր",
+       "sp-contributions-talk": "Քննարկում",
+       "sp-contributions-search": "Որոնել ներդրումները",
+       "sp-contributions-username": "IP-հասցէ կամ մասնակիցի անուն.",
+       "sp-contributions-toponly": "Ցոյց տալ միայն վերջին տարբերակի խմբագրումները",
+       "sp-contributions-newonly": "Ցոյց տալ միայն էջ ստեղծող խմբագրումները",
+       "sp-contributions-submit": "Որոնել",
+       "whatlinkshere": "Այստեղ յղող էջեր",
+       "whatlinkshere-title": "Էջեր որոնք կը յղեն դէպի «$1»",
+       "whatlinkshere-page": "Էջ",
+       "linkshere": "Հետևեալ էջերը կը յղուին  <strong>$2</strong> էջին՝",
+       "nolinkshere": "<strong>$2</strong>ին յղուող էջեր չկան։",
+       "isredirect": "վերայղման էջ",
+       "istemplate": "ներառում",
+       "isimage": "Նիշքի յղում",
+       "whatlinkshere-prev": "{{PLURAL:$1|նախորդ|նախորդ $1}}",
+       "whatlinkshere-next": "{{PLURAL:$1|յաջորդ|յաջորդ $1}}",
+       "whatlinkshere-links": "← յղումներ",
+       "whatlinkshere-hideredirs": "$1 վերայղումները",
+       "whatlinkshere-hidetrans": "$1 ներառումները",
+       "whatlinkshere-hidelinks": "$1 յղումները",
+       "whatlinkshere-hideimages": "$1 նիշքի յղումները",
+       "whatlinkshere-filters": "Զտիչներ",
+       "ipboptions": "2 ժամ:2 hours,1 օր:1 day,3 օր:3 days,1 շաբաթ:1 week,2 շաբաթ:2 weeks,1 ամիս:1 month,3 ամիս:3 months,6 ամիս:6 months,1 տարի:1 year,անժամկէտ:infinite",
+       "infiniteblock": "Միշտ",
+       "blocklink": "‎Արգելակել",
+       "contribslink": "Ներդրումներ",
+       "blocklogpage": "արգելակումներու տեղեկատետր",
+       "blocklogentry": "արգելակուած [[$1]] մասնակից $2 տեւողութեամբ (Պատճառը՝ $3)",
+       "reblock-logentry": "փոխեց [[$1]] մասնակիցի արգելակումը՝ աւարտման $2 $3 ժամով",
+       "block-log-flags-nocreate": "մասնակցային հաշիւի ստեղծումը արգիլուած է",
+       "proxyblocker": "Փոխանորդի արգելակում",
+       "movelogpage": "Տեղափոխութիւններու տեղեկատետր",
+       "export": "Արտածել էջերը",
+       "thumbnail-more": "Մեծցնել",
+       "importlogpage": "Ներմուծման տեղեկատետր",
+       "tooltip-pt-userpage": "{{GENDER:|Ձեր մասնակիցի}} էջը",
+       "tooltip-pt-mytalk": "{{GENDER:|Ձեր}} քննարկման էջը",
+       "tooltip-pt-preferences": "{{GENDER:|Ձեր}} նախընտրութիւնները",
+       "tooltip-pt-watchlist": "Ձեր հսկողութեան տակ գտնուող էջերու ցանկը",
+       "tooltip-pt-mycontris": "{{GENDER:|ձեր}} ներդրումներու ցանկը",
+       "tooltip-pt-login": "Կը քաջալերենք մուտք գործել համակարգ, թէեւ պարտադիր չէ",
+       "tooltip-pt-logout": "Դուրս գալ",
+       "tooltip-pt-createaccount": "Կը քաջալերենք հաշիւ ստեղծել եւ անով մուտք գործել համակարգ, թէեւ պարտադիր չէ",
+       "tooltip-ca-talk": "Բովանդակութեան էջի քննարկում",
+       "tooltip-ca-edit": "Խմբագրէ՛ այս էջը",
+       "tooltip-ca-addsection": "Ստեղծել նոր բաժին",
+       "tooltip-ca-viewsource": "Այս էջը պահպանուած է։ \nԿրնաք տեսնել անոր աղբիւրը",
+       "tooltip-ca-history": "Այս էջի նախորդ խմբագրումները",
+       "tooltip-ca-protect": "Պահպանել այս էջը",
+       "tooltip-ca-delete": "Ջնջել այս էջը",
+       "tooltip-ca-move": "Տեղափոխել այս էջը",
+       "tooltip-ca-watch": "Այս էջը աւելցնել հսկողութեան ցանկիդ վրան",
+       "tooltip-ca-unwatch": "Հանել այս էջը ձեր հսկողութեան ցանկէն",
+       "tooltip-search": "Որոնել {{SITENAME}} կայքին մէջ",
+       "tooltip-search-go": "Անցնիլ դէպի նոյնանուն էջ, եթէ գոյութիւն ունի",
+       "tooltip-search-fulltext": "Որոնել այս գրութիւնը պարունակող էջերը",
+       "tooltip-p-logo": "Այցելել գլխաւոր էջը",
+       "tooltip-n-mainpage": "Այցելել գլխաւոր էջը",
+       "tooltip-n-mainpage-description": "Այցելել գլխաւոր էջը",
+       "tooltip-n-portal": "Նախագիծին մասին. ինչ կրնաս ընել, ուր կրնաս գտնել",
+       "tooltip-n-currentevents": "Տեղեկութիւններ ընթացիկ իրադարձութիւններու մասին",
+       "tooltip-n-recentchanges": "Ուիքիին մէջ կատարուած վերջին փոփոխութիւններու ցանկը",
+       "tooltip-n-randompage": "Այցելել պատահական էջ մը",
+       "tooltip-n-help": "Գտնելու տեղը",
+       "tooltip-t-whatlinkshere": "Այս էջին յղուող բոլոր ուիքի էջերու ցանկը",
+       "tooltip-t-recentchangeslinked": "Այս էջին կապուած էջերուն վերջին փոփոխութիւնները",
+       "tooltip-feed-atom": "Այս էջին Աթոմ սնուցումը",
+       "tooltip-t-contributions": "{{GENDER:$1|այս մասնակիցին}} ներդրումներուն ցանկը",
+       "tooltip-t-emailuser": "Իմակ ուղարկել {{GENDER:$1|այս մասնակիցին}}",
+       "tooltip-t-upload": "Վերբեռնել նիշքեր",
+       "tooltip-t-specialpages": "Բոլոր յատուկ էջերու ցանկ",
+       "tooltip-t-print": "Այս էջին տպագրելի տարբերակը",
+       "tooltip-t-permalink": "Էջի այս տարբերակին մնայուն յղումը",
+       "tooltip-ca-nstab-main": "Տեսնել բովանդակութեան էջը",
+       "tooltip-ca-nstab-user": "Տեսնել մասնակիցին էջը",
+       "tooltip-ca-nstab-special": "Ասիկա յատուկ էջ է եւ կարելի չէ խմբագրել",
+       "tooltip-ca-nstab-project": "Տեսնել նախագիծի էջը",
+       "tooltip-ca-nstab-image": "Տեսնել նիշքի էջը",
+       "tooltip-ca-nstab-mediawiki": "Տեսնել համակարգային հաղորդագրութիւնը",
+       "tooltip-ca-nstab-template": "Տեսնել կաղապարը",
+       "tooltip-ca-nstab-category": "Տեսնել ստորոգութեան էջը",
+       "tooltip-minoredit": "Նշել որպէս չնչին խմբագրում",
+       "tooltip-save": "Պահել ձեր փոփոխութիւնները",
+       "tooltip-preview": "Կանխաստուգել ձեր կատարած փոխոխութիւնները։  Կը խնդրուի օգտուիլ անկէ նախքան պահելը։",
+       "tooltip-diff": "Ցոյց տալ ձեր կատարած փոփոխութիւնները գրութեան մէջ",
+       "tooltip-compareselectedversions": "Տեսնել այս էջին ընտրուած երկու տարբերակներուն միջեւ տարբերութիւնները",
+       "tooltip-watch": "Աւելցնել այս էջը ձեր հսկողութեան ցանկին վրայ",
+       "tooltip-rollback": "«Յետարկում»ը մէկ սեղմումով վերջին մասնակիցին կատարած բոլոր խմբագրումները ետ կ՚ընէ",
+       "tooltip-undo": "«Յետարկել»ը կը շրջէ կատարուած փոփոխութիւնը եւ խմբագրումը կը տրամադրէ կանխաստուգման վիճակով, թոյլ տալով նշել պատճառը ամփոփումին մէջ։",
+       "tooltip-summary": "Մուտքագրեցէ՛ք հակիրճ ամփոփում մը",
+       "simpleantispam-label": "Հակա–լցոնային ստուգում։\n<strong>Մի՛</strong> ամբողջացնէք ասիկա։",
+       "pageinfo-title": "$1-ի տուեալները",
+       "pageinfo-header-basic": "Հիմնական տուեալներ",
+       "pageinfo-header-edits": "Խմբագրել պատմութիւնը",
+       "pageinfo-header-restrictions": "Էջի պահպանութիւն",
+       "pageinfo-header-properties": "Էջի յատկանիշներ",
+       "pageinfo-display-title": "Վերնագիր",
+       "pageinfo-default-sort": "Միախմբումի ակամայ բանալի",
+       "pageinfo-length": "էջի երկայնք (պայթերով)",
+       "pageinfo-article-id": "Էջի ինքնութեան համար",
+       "pageinfo-language": "Բովանդակութեան լեզու",
+       "pageinfo-content-model": "Էջի պարունակութեան բնատիպ",
+       "pageinfo-robot-policy": "Մեքենայական ցուցակագրում",
+       "pageinfo-robot-index": "Արտօնուած",
+       "pageinfo-robot-noindex": "Էջը կարելի չէ ցուցակագրել",
+       "pageinfo-watchers": "Էջը նայողներու թիւը",
+       "pageinfo-few-watchers": "$1էն պակաս {{PLURAL:$1|հսկող|հսկողներ}}",
+       "pageinfo-redirects-name": "Դէպի այս էջ վերայղումներու թիւ",
+       "pageinfo-subpages-name": "Ենթաէջերու թիւը",
+       "pageinfo-subpages-value": "$1 ($2 {{PLURAL:$2|վերայղում}}; $3 {{PLURAL:$3|ոչ-վերայղում}})",
+       "pageinfo-firstuser": "Էջը ստեղծողը",
+       "pageinfo-firsttime": "Էջի ստեղծման թուականը",
+       "pageinfo-lastuser": "Վերջին խմբագրող",
+       "pageinfo-lasttime": "Վերջին խմբագրման թուական",
+       "pageinfo-edits": "Խմբագրումներու ընդհանուր գումար",
+       "pageinfo-authors": "Անջատ հեղինակներու ընդհանուր գումար",
+       "pageinfo-recent-edits": "Վերջին խմբագրումներու գումարը (վերջին $1)",
+       "pageinfo-recent-authors": "Անջատ հեղինակներու վերջին գումարը",
+       "pageinfo-magic-words": "Կախարդական {{PLURAL:$1|բառ|բառեր}} ($1)",
+       "pageinfo-hidden-categories": "Թաքուն {{PLURAL:$1|խմբաւորում|խմբաւորումներ}} ($1)",
+       "pageinfo-templates": "Օգտագործուած {{PLURAL:$1|կաղապար|կաղապարներ}} ($1)",
+       "pageinfo-toolboxlink": "‎Էջի մասին տեղեկութիւն",
+       "pageinfo-contentpage": "Իբրեւ բովանդակութեան էջ հաշուըւած",
+       "pageinfo-contentpage-yes": "Այո",
+       "patrol-log-page": "Հսկողութեան տեղեկատետր",
+       "previousdiff": "← Նախորդ խմբագրում",
+       "nextdiff": "Յաջորդ խմբագրում →",
+       "widthheightpage": "$1 × $2, $3 {{PLURAL:$3|էջ}}",
+       "file-info-size": "$1 × $2 կէտիկներ, նիշքի չափը՝ $3, MIME-տեսակը՝ $4",
+       "file-info-size-pages": "$1 × $2 կէտիկ, նիշքի չափը՝ $3, MIME տեսակը՝ $4, $5 {{PLURAL:$5|էջ}}",
+       "file-nohires": "Աւելի բարձր կէտաչափով տարբերակ չկայ։",
+       "svg-long-desc": "SVG նիշք, անուանապէս $1 × $2 կէտիկ, նիշքի չափը՝ $3",
+       "show-big-image": "Սկզբնական նիշք",
+       "show-big-image-preview": "Կանխաստուգման չափը՝ $1։",
+       "show-big-image-other": "Այլ {{PLURAL:$2|1=չափ|չափեր}}: $1.",
+       "show-big-image-size": "$1 × $2 կէտիկ",
+       "metadata": "Անդրտուեալներ",
+       "metadata-help": "Նիշքը յաւելեալ տեղեկութիւններ կը պարունակէ, հաւանաբար աւելցուած թուային լուսանկարչական գործիքէն կամ հպահանէն, զանոնք ստեղծելու կամ թուայնացնելու ծառայող։\nԵթէ նիշքը ձեւափոխուած է իր սկզբնական վիճակէն, ապա որոշ մանրամասնութիւններ կրնան չհամապատասխանել ձեւափոխուած նիշքին։",
+       "metadata-fields": "Այս գիրին մէջ նշուած պատկերի անդրտուեալներու դաշտերը պիտի երեւին պատկերի էջին վրայ երբ անդրտուեալներու աղիւսակը ծալլուի։\nՄիւսները ակամայ կը մնան թաքուն։\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude",
+       "exif-orientation": "Արեւելում",
+       "exif-xresolution": "Հորիզոնական կէտաչափ",
+       "exif-yresolution": "Ուղղահայեաց կէտաչափ",
+       "exif-datetime": "Նիշքի փոփոխութեան թուական եւ ժամանակ",
+       "exif-make": "Լուսանկարչական գործիքի արտադրող",
+       "exif-model": "Լուսանկարչական գործիքի տիպ",
+       "exif-software": "Օգտագործուած ծրագիր",
+       "exif-exifversion": "Exifի տարբերակ",
+       "exif-colorspace": "գունատարածք",
+       "exif-datetimeoriginal": "Տուեալի արտադրման թուական եւ ժամանակ",
+       "exif-datetimedigitized": "Թուայնացման թուականը եւ ժամը",
+       "exif-orientation-1": "Բնական",
+       "namespacesall": "բոլոր",
+       "monthsall": "բոլոր",
+       "imgmultipagenext": "յաջորդ էջը →",
+       "imgmultigo": "Անցնի՛լ",
+       "imgmultigoto": "Անցնիլ $1 էջը",
+       "watchlisttools-clear": "Մաքրել հսկողութեան ցանկը",
+       "watchlisttools-view": "Ցուցադրել փոփոխութիւնները",
+       "watchlisttools-edit": "Տեսնել եւ խմբագրել հսկողութեան ցանկը",
+       "watchlisttools-raw": "Խմբագրել հում հսկողութեան ցանկը",
+       "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|քննարկում]])",
+       "redirect": "Վերայղում նիշքի, մասնակիցի, էջի, տարբերակի կամ տեղեկատետրի ինքնութեան համարէն",
+       "redirect-summary": "Այս յատուկ էջը կը վերայղուի նիշքի մը (տրուած ըլլալով նիշքին անունը), էջի մը (տրուած ըլլալով վերանայման կամ էջի ինքնութեան համարը), մասնակիցի էջի մը .տրուած ըլլալով մասնակիցի մը թուային ինքնութեան համարը), եւ կամ տեղեկատետրի մը մէջ տողի մը, (տրուած ըլլալով տեղեկատետրի ինքնութեան համարը)։ Գործածութիւն՝  [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], [[{{#Special:Redirect}}/user/101]], or [[{{#Special:Redirect}}/logid/186]].",
+       "redirect-submit": "Յառաջ",
+       "redirect-lookup": "Որոնում՝",
+       "redirect-value": "Արժէք՝",
+       "redirect-user": "Մասնակիցի ինքնութեան համար",
+       "redirect-page": "Էջի ինքնութեան համար",
+       "redirect-revision": "Էջի տարբերակներ",
+       "redirect-file": "Նիշքի անունը",
+       "specialpages": "Յատուկ էջեր",
+       "tag-filter": "[[Special:Tags|Պիտակներու]] զտիչ՝",
+       "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|Պիտակ}}]]: $2)",
+       "tags-active-yes": "Այո",
+       "tags-active-no": "Ոչ",
+       "tags-hitcount": "{{PLURAL:$1|փոփոխութիւն}}",
+       "logentry-delete-delete": "$1 {{GENDER:$2|ջնջեց}} $3 էջը",
+       "logentry-delete-restore": "$1 {{GENDER:$2|վերականգնեց}} $3 ($4) էջը",
+       "logentry-delete-revision": "$1 {{GENDER:$2|փոխեց}} {{PLURAL:$5|1 խմբագրման|$5 խմբագրումներու}} տեսանելիութիւնը $3 էջին վրայ՝ $4",
+       "revdelete-content-hid": "բովանդակութիւնը թաքնուած",
+       "logentry-move-move": "$1 տեղափոխեց էջը «$3»-էն «$4»",
+       "logentry-move-move-noredirect": "$1ը {{GENDER:$2|տեղափոխեց}} էջ $3էն էջ $4 առանց վերայղում ձգելու",
+       "logentry-move-move_redir": "$1 {{GENDER:$2|տեղափոխեց}} էջ $3ը վերայղելով դէպի էջ $4",
+       "logentry-patrol-patrol-auto": "$1 ինքնաշխատ ձեւով {{GENDER:$2|ստուգուած նշեց}} $3 էջի $4 տարբերակը",
+       "logentry-newusers-create": "$1 մասնակիցին հաշիւը {{GENDER:$2|ստեղծուեցաւ}}",
+       "logentry-newusers-autocreate": "$1 մասնակցային հաշիւը {{GENDER:$2|ստեղծուած է}} ինքնաբերաբար",
+       "logentry-upload-upload": "$1 {{GENDER:$2|ներբեռնուած է}} $3",
+       "logentry-upload-overwrite": "$1 {{GENDER:$2|վերբեռնեց}} $3ի նոր տարբերակ",
+       "searchsuggest-search": "Որոնել {{SITENAME}} կայքին մէջ",
+       "duration-days": "$1 {{PLURAL:$1|օր}}",
+       "randomrootpage": "Պատահական արմատ էջ"
+}
index 153d249..1babfda 100644 (file)
        "group-autoconfirmed": "Utenti autoconvalidati",
        "group-bot": "Bot",
        "group-sysop": "Amministratori",
+       "group-interface-admin": "Amministratori dell'interfaccia",
        "group-bureaucrat": "Burocrati",
        "group-suppress": "Soppressori",
        "group-all": "(tutti)",
        "group-autoconfirmed-member": "{{GENDER:$1|utente autoconvalidato|utente autoconvalidata|utente autoconvalidato/a}}",
        "group-bot-member": "{{GENDER:$1|bot}}",
        "group-sysop-member": "{{GENDER:$1|amministratore|amministratrice|amministratore/trice}}",
+       "group-interface-admin-member": "{{GENDER:$1|amministratore|amministratrice|amministratore/trice}} dell'interfaccia",
        "group-bureaucrat-member": "{{GENDER:$1|burocrate}}",
        "group-suppress-member": "{{GENDER:$1|soppressore|sopprimitrice}}",
        "grouppage-user": "{{ns:project}}:Utenti",
        "grouppage-autoconfirmed": "{{ns:project}}:Utenti autoconvalidati",
        "grouppage-bot": "{{ns:project}}:Bot",
        "grouppage-sysop": "{{ns:project}}:Amministratori",
+       "grouppage-interface-admin": "{{ns:project}}:Amministratori dell'interfaccia",
        "grouppage-bureaucrat": "{{ns:project}}:Burocrati",
        "grouppage-suppress": "{{ns:project}}:Soppressori",
        "right-read": "Legge pagine",
        "grant-createaccount": "Crea un'utenza",
        "grant-createeditmovepage": "Crea, modifica e sposta le pagine",
        "grant-delete": "Cancella pagine, versioni, e voci di registro",
-       "grant-editinterface": "Modifica il namespace MediaWiki e i CSS/JSON/JavaScript degli utenti",
+       "grant-editinterface": "Modifica il namespace MediaWiki e i JSON del sito/utenti",
        "grant-editmycssjs": "Modifica i CSS/JSON/JavaScript della tua utenza",
        "grant-editmyoptions": "Modifica le preferenze della tua utenza",
        "grant-editmywatchlist": "Modifica i tuoi osservati speciali",
        "uploadstash-zero-length": "Il file ha lunghezza zero.",
        "invalid-chunk-offset": "Offset della parte non valido.",
        "img-auth-accessdenied": "Accesso negato",
-       "img-auth-nopathinfo": "PATH_INFO mancante.\nIl server non è impostato per passare questa informazione.\nPotrebbe essere basato su CGI e non può supportare img_auth.\nVedi https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization",
+       "img-auth-nopathinfo": "Informazioni mancanti sul percorso.\nIl server deve essere è impostato per passare le variabili REQUEST_URI e/o PATH_INFO.\nSe è così, abilita $wgUsePathInfo.\nVedi https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization",
        "img-auth-notindir": "Il percorso richiesto non si trova nella directory di upload configurata.",
        "img-auth-badtitle": "Impossibile costruire un titolo valido da \"$1\".",
        "img-auth-nologinnWL": "Non si è effettuato l'accesso e \"$1\" non è nella whitelist.",
index 2982e73..ef0f171 100644 (file)
        "group-autoconfirmed-member": "{{GENDER:$1|ავტომატურად დადასტურებული მომხმარებელი}}",
        "group-bot-member": "{{GENDER:$1|ბოტი}}",
        "group-sysop-member": "{{GENDER:$1|ადმინისტრატორი}}",
+       "group-interface-admin-member": "{{GENDER:$1|ინტერფეისის ადმინისტრატორი}}",
        "group-bureaucrat-member": "{{GENDER:$1|ბიუროკრატი}}",
        "group-suppress-member": "{{GENDER:$1|რევიზორები}}",
        "grouppage-user": "{{ns:project}}:მომხმარებლები",
        "log-action-filter-delete-delete": "გვერდის წაშლა",
        "log-action-filter-delete-delete_redir": "გადამისამართების გადაწერა",
        "log-action-filter-delete-restore": "გვერდის აღდგენა",
-       "log-action-filter-delete-event": "á\83¯ურნალის ჩანაწერის წაშლა",
+       "log-action-filter-delete-event": "á\83\9fურნალის ჩანაწერის წაშლა",
        "log-action-filter-delete-revision": "ვერსიის წაშლა",
        "log-action-filter-import-interwiki": "Transwiki-ს იმპორტი",
        "log-action-filter-import-upload": "XML ატვირთვიდან იმპორტი",
index e87831c..9230c36 100644 (file)
        "customcssprotected": "여기에는 다른 사용자의 개인 설정이 포함되어 있기 때문에 이 CSS 문서를 편집할 수 없습니다.",
        "customjsonprotected": "다른 사용자의 개인 설정이 포함되어 있기 때문에 이 JSON 문서를 편집할 권한이 없습니다.",
        "customjsprotected": "여기에는 다른 사용자의 개인 설정이 포함되어 있기 때문에 이 자바스크립트 문서를 편집할 수 없습니다.",
+       "sitecssprotected": "모든 방문자에 영향을 미칠 수 있기 때문에 이 CSS를 편집할 권한이 없습니다",
+       "sitejsonprotected": "모든 방문자에게 영향을 미칠 수 있기 때문에 이 JSON 문서를 편집할 권한이 없습니다",
+       "sitejsprotected": "모든 방문자에게 영향을 미칠 수 있기 때문에 이 자바스크립트 문서의 편집 권한이 없습니다",
        "mycustomcssprotected": "이 CSS 문서를 편집할 권한이 없습니다.",
        "mycustomjsonprotected": "이 JSON 문서를 편집할 권한이 없습니다.",
        "mycustomjsprotected": "이 자바스크립트 문서를 편집할 권한이 없습니다.",
        "diff-paragraph-moved-toold": "문단이 이동되었습니다. 오래된 위치로 이동하려면 클릭하십시오.",
        "difference-missing-revision": "문서 비교에서 {{PLURAL:$2|하나|$2개}}의 판($1)을 찾을 수 {{PLURAL:$2|없습니다}}.\n\n이 문제는 주로 삭제된 문서를 가리키는 오래된 문서 비교 링크로 인해 발생합니다.\n자세한 내용은 [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} 삭제 기록]에서 확인할 수 있습니다.",
        "searchresults": "검색 결과",
+       "search-filter-title-prefix": "제목이 \"$1\"로 시작하는 문서만 검색합니다",
        "search-filter-title-prefix-reset": "모든 문서 검색",
        "searchresults-title": "\"$1\"에 대한 검색 결과",
        "titlematches": "문서 제목 일치",
        "group-autoconfirmed": "자동 인증된 사용자",
        "group-bot": "봇",
        "group-sysop": "관리자",
+       "group-interface-admin": "인터페이스 관리자",
        "group-bureaucrat": "사무관",
        "group-suppress": "기록보호자",
        "group-all": "(모두)",
        "group-autoconfirmed-member": "{{GENDER:$1|자동 인증된 사용자}}",
        "group-bot-member": "{{GENDER:$1|봇}}",
        "group-sysop-member": "{{GENDER:$1|관리자}}",
+       "group-interface-admin-member": "{{GENDER:$1|인터페이스 관리자}}",
        "group-bureaucrat-member": "{{GENDER:$1|사무관}}",
        "group-suppress-member": "{{GENDER:$1|기록보호자}}",
        "grouppage-user": "{{ns:project}}:일반 사용자",
        "grouppage-autoconfirmed": "{{ns:project}}:자동 인증된 사용자",
        "grouppage-bot": "{{ns:project}}:봇",
        "grouppage-sysop": "{{ns:project}}:관리자",
+       "grouppage-interface-admin": "{{ns:project}}:인터페이스 관리자",
        "grouppage-bureaucrat": "{{ns:project}}:사무관",
        "grouppage-suppress": "{{ns:project}}:기록보호자",
        "right-read": "문서 읽기",
        "right-editusercss": "다른 사용자의 CSS 문서를 편집",
        "right-edituserjson": "다른 사용자의 JSON 파일을 편집",
        "right-edituserjs": "다른 사용자의 자바스크립트 문서를 편집",
+       "right-editsitecss": "사이트 CSS 편집",
+       "right-editsitejson": "사이트 JSON 편집",
+       "right-editsitejs": "사이트 자바스크립트 편집",
        "right-editmyusercss": "자신의 사용자 CSS 파일 편집하기",
        "right-editmyuserjson": "자신의 사용자 JSON 파일 편집하기",
        "right-editmyuserjs": "자신의 사용자 자바스크립트 파일 편집하기",
        "grant-createaccount": "계정 만들기",
        "grant-createeditmovepage": "문서 만들기, 편집 및 이동",
        "grant-delete": "문서, 판 및 기록 항목 삭제",
-       "grant-editinterface": "미ë\94\94ì\96´ì\9c\84í\82¤ ì\9d´ë¦\84ê³µê°\84ê³¼ ì\82¬ì\9a©ì\9e\90 CSS/JSON/ì\9e\90ë°\94ì\8a¤í\81¬ë¦½í\8a¸ 편집",
+       "grant-editinterface": "미ë\94\94ì\96´ì\9c\84í\82¤ ì\9d´ë¦\84ê³µê°\84ê³¼ ì\82¬ì\9d´í\8a¸/ì\82¬ì\9a©ì\9e\90 JSON 편집",
        "grant-editmycssjs": "자신의 사용자 CSS/JSON/자바스크립트 편집하기",
        "grant-editmyoptions": "사용자 환경 설정 편집하기",
        "grant-editmywatchlist": "내 주시문서 목록 편집하기",
+       "grant-editsiteconfig": "사이트 및 사용자 CSS/JS 편집",
        "grant-editpage": "기존 문서 편집하기",
        "grant-editprotected": "보호된 문서 편집하기",
        "grant-highvolume": "대용량 편집",
index 7d5ea83..817e647 100644 (file)
        "http-timed-out": "HTTP-Ufro huet ze laang gebraucht (time out).",
        "http-curl-error": "Feeler beim Ofruff vun der URL: $1",
        "http-bad-status": "Et gouf e Problem bei der HTTP-Ufro: $1 $2",
+       "http-internal-error": "Internen HTTP-Feeler.",
        "upload-curl-error6": "URL ass net z'erreechen",
        "upload-curl-error6-text": "Déi URL déi Dir uginn hutt kann net erreecht ginn.\nKuckt w.e.g. no op kee Feeler an der URL ass an op de Site och online ass.",
        "upload-curl-error28": "D'Eroplueden huet ze laang gedauert (timeout)",
index 4580593..fb304eb 100644 (file)
@@ -22,7 +22,8 @@
                        "Kaldari",
                        "Xð",
                        "Srdjan m",
-                       "Acamicamacaraca"
+                       "Acamicamacaraca",
+                       "Vlad5250"
                ]
        },
        "tog-underline": "Потцртување на врски:",
        "customcssprotected": "Немате дозвола да ја менувате оваа страница со CSS бидејќи содржи туѓи лични нагодувања.",
        "customjsonprotected": "Немате дозвола да ја менувате оваа страница со JSON бидејќи содржи туѓи лични нагодувања.",
        "customjsprotected": "Немате дозвола да ја менувате оваа страница со JavaScript  бидејќи содржи туѓи лични нагодувања.",
+       "sitecssprotected": "Немате дозвола да ја менувате оваа страница со CSS бидејќи може да ги засегне сите посетители",
+       "sitejsonprotected": "Немате дозвола да ја менувате оваа страница со JSON бидејќи може да ги засегне сите посетители",
+       "sitejsprotected": "Немате дозвола да ја менувате оваа страница со JavaScript бидејќи може да ги засегне сите посетители",
        "mycustomcssprotected": "Немате дозвола да ја уредувате оваа каскадна стилска страница (CSS).",
        "mycustomjsonprotected": "Немате дозвола да ја уредувате оваа страница со JSON.",
        "mycustomjsprotected": "Немате дозвола да ја уредувате оваа страница со JavaScript.",
        "group-autoconfirmed": "Автопотврдени корисници",
        "group-bot": "Ботови",
        "group-sysop": "Администратори",
+       "group-interface-admin": "Администратори на посредникот",
        "group-bureaucrat": "Бирократи",
        "group-suppress": "Притајувачи",
        "group-all": "(сите)",
        "group-autoconfirmed-member": "автопотврден корисник",
        "group-bot-member": "бот",
        "group-sysop-member": "администратор",
+       "group-interface-admin-member": "{{GENDER:$1|администратор на посредникот}}",
        "group-bureaucrat-member": "бирократ",
        "group-suppress-member": "{{GENDER:$1|притајувач}}",
        "grouppage-user": "{{ns:project}}:Корисници",
        "grouppage-autoconfirmed": "{{ns:project}}:Автопотврдени корисници",
        "grouppage-bot": "{{ns:project}}:Ботови",
        "grouppage-sysop": "{{ns:project}}:Администратори",
+       "grouppage-interface-admin": "{{ns:project}}:Администратори на посредникот",
        "grouppage-bureaucrat": "{{ns:project}}:Бирократи",
        "grouppage-suppress": "{{ns:project}}:Притајување",
        "right-read": "Читање страници",
        "right-editusercss": "Уредување на CSS податотеки на други корисници",
        "right-edituserjson": "Уредување на JSON-податотеките на други корисници",
        "right-edituserjs": "Уредување на JS податотеки на други корисници",
+       "right-editsitecss": "Уредување на CSS за цело вики",
+       "right-editsitejson": "Уредување на JSON за цело вики",
+       "right-editsitejs": "Уредување на JavaScript за цело вики",
        "right-editmyusercss": "Уредување на сопствени кориснички каскадни стилски податотеки (CSS)",
        "right-editmyuserjson": "Уредување на сопствените кориснички JSON-податотеки",
        "right-editmyuserjs": "Уредување на сопствени кориснички податотеки со JavaScript",
        "grant-createaccount": "Правење сметки",
        "grant-createeditmovepage": "Создавање, уредување и преместување страници",
        "grant-delete": "Бришење страници, преработки и дневнички записи",
-       "grant-editinterface": "Измена на именскиот простор „МедијаВики“ и кориснички  CSS/JSON/JavaScript",
+       "grant-editinterface": "Измена на именскиот простор „МедијаВики“ и JSON за цело вики/за корисник",
        "grant-editmycssjs": "Уредување на вашиот кориснички CSS/JSON/JavaScript",
        "grant-editmyoptions": "Уредување на вашите кориснички нагодувања",
        "grant-editmywatchlist": "Уредување на вашите набљудувани",
+       "grant-editsiteconfig": "Измена на CSS/JS за цело вики и за корисник",
        "grant-editpage": "Менување постоечки страници",
        "grant-editprotected": "Уредување на заштитени страници",
        "grant-highvolume": "Високообемно уредување",
        "uploadstash-zero-length": "Податотеката има нулта должина.",
        "invalid-chunk-offset": "Неважечка појдовна точка",
        "img-auth-accessdenied": "Оневозможен пристап",
-       "img-auth-nopathinfo": "Недостасува PATH_INFO.\nВашиот опслужувач не е нагоден за да ја предаде оваа информација.\nМожеби се заснова на CGI, и така не подржува img_auth.\nПогл. https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization.",
+       "img-auth-nopathinfo": "Недостасува информација за патеката.\nВашиот опслужувач мора да е наместен да ги дава променливите REQUEST_URI и/или PATH_INFO.\nАко е веќе наместен, овозможете го $wgUsePathInfo.\nПогл. https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization.",
        "img-auth-notindir": "Бараниот пат не води кон зададената папка за подигање.",
        "img-auth-badtitle": "Не може да се конструира важечки наслов од „$1“.",
        "img-auth-nologinnWL": "Не сте најавени и „$1“ не е на списокот на допуштени.",
        "passwordpolicies-policy-passwordcannotmatchusername": "Лозинката не може да биде иста што и корисничкото име",
        "passwordpolicies-policy-passwordcannotmatchblacklist": "Лозинката не смее да биде од оние на црниот список",
        "passwordpolicies-policy-maximalpasswordlength": "Лозинката не треба да има повеќе од $1 {{PLURAL:$1|знак|знаци}}",
-       "passwordpolicies-policy-passwordcannotbepopular": "Лозинката не треба да биде {{PLURAL:$1|најзастапената|од списокот на $1 најзастапени лозинки}}"
+       "passwordpolicies-policy-passwordcannotbepopular": "Лозинката не треба да биде {{PLURAL:$1|најзастапената|од списокот на $1 најзастапени лозинки}}",
+       "easydeflate-invaliddeflate": "Содржината не е соодветно прочистена"
 }
index de580c9..98c7062 100644 (file)
        "edit-conflict": "തിരുത്തൽ സമരസപ്പെടായ്ക.",
        "edit-no-change": "ഇപ്പോഴുള്ള സ്ഥിതിയിൽ നിന്നു യാതൊരു മാറ്റവും ഇല്ലാത്തതിനാൽ താങ്കളുടെ തിരുത്തലുകൾ തിരസ്കരിക്കപ്പെട്ടിരിക്കുന്നു.",
        "postedit-confirmation-created": "താൾ സൃഷ്ടിച്ചിരിക്കുന്നു.",
-       "postedit-confirmation-restored": "താൾ à´ªàµ\81ൻഃസ്ഥാപിച്ചിരിക്കുന്നു.",
+       "postedit-confirmation-restored": "താൾ à´ªàµ\81à´¨ഃസ്ഥാപിച്ചിരിക്കുന്നു.",
        "postedit-confirmation-saved": "താങ്കളുടെ തിരുത്ത് സേവ് ചെയ്തിരിക്കുന്നു.",
        "postedit-confirmation-published": "താങ്കളുടെ തിരുത്ത് പ്രസിദ്ധീകരിച്ചിരിക്കുന്നു.",
        "edit-already-exists": "പുതിയ താൾ സൃഷ്ടിക്കാൻ കഴിഞ്ഞില്ല.\nതാൾ ഇപ്പോൾ തന്നെ നിലവിലുണ്ട്.",
        "diff-multi-manyusers": "(ഇടയ്ക്ക് {{PLURAL:$2|ഒന്നിലധികം|$2 എണ്ണത്തിലധികം}} ഉപയോക്താക്കൾ ചെയ്തിട്ടുള്ള {{PLURAL:$1|ഒരു പതിപ്പ്|$1 പതിപ്പുകൾ}} പ്രദർശിപ്പിക്കുന്നില്ല.)",
        "difference-missing-revision": "ഈ വ്യത്യാസത്തിൽ ($1) {{PLURAL:$2|ഒരു നാൾപ്പതിപ്പ്|$2 നാൾപ്പതിപ്പുകൾ}} കാണാനായില്ല.\n\nമായ്ക്കപ്പെട്ട താളിന്റെ കാലഹരണപ്പെട്ട നാൾവഴി കണ്ണി ഉപയോഗിച്ചാലാണ് സാധാരണ ഇങ്ങനെ സംഭവിക്കുക.\nകൂടുതൽ വിവരങ്ങൾ [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} മായ്ക്കൽ രേഖയിൽ] കാണാവുന്നതാണ്.",
        "searchresults": "തിരച്ചിലിന്റെ ഫലം",
+       "search-filter-title-prefix-reset": "എല്ലാ താളുകളും തിരയുക",
        "searchresults-title": "\"$1\" എന്നു തിരഞ്ഞതിനു ലഭ്യമായ ഫലങ്ങൾ",
        "titlematches": "താളിന്റെ തലക്കെട്ടുമായി യോജിക്കുന്ന ഫലങ്ങൾ",
        "textmatches": "താങ്കൾ തിരഞ്ഞ വാക്കുകൾ ഉള്ള താളുകൾ",
index 857f8b0..0b30dfe 100644 (file)
        "http-timed-out": "Tidsavbrudd på HTTP-forespørsel.",
        "http-curl-error": "Feil under henting av adresse: $1",
        "http-bad-status": "Det var et problem under HTTP-forespørselen: $1 $2",
+       "http-internal-error": "Intern HTTP-feil.",
        "upload-curl-error6": "Klarte ikke nå adressen",
        "upload-curl-error6-text": "Adressen kunne ikke nås. Vennligst dobbelsjekk at adressen er korrekt og at siden er oppe.",
        "upload-curl-error28": "Opplastingstimeout",
index 297b2bb..d8e0678 100644 (file)
        "customcssprotected": "U kunt deze CSS-pagina niet bewerken, omdat die persoonlijke instellingen van een andere gebruiker bevat.",
        "customjsonprotected": "U kunt deze JSONpagina niet bewerken, omdat die persoonlijke instellingen van een andere gebruiker bevat.",
        "customjsprotected": "U kunt deze JavaScriptpagina niet bewerken, omdat die persoonlijke instellingen van een andere gebruiker bevat.",
+       "sitecssprotected": "U hebt geen toestemming om deze CSS-pagina te bewerken omdat het invloed kan hebben op alle bezoekers",
+       "sitejsonprotected": "U hebt geen toestemming om deze JSON-pagina te bewerken omdat het invloed kan hebben op alle bezoekers",
+       "sitejsprotected": "U hebt geen toestemming om deze JavaScript-pagina te bewerken omdat het invloed kan hebben op alle bezoekers",
        "mycustomcssprotected": "U hebt geen rechten om deze CSS-pagina te bewerken.",
        "mycustomjsonprotected": "U hebt geen rechten om deze JSONpagina te bewerken.",
        "mycustomjsprotected": "U hebt geen rechten om deze JavaScriptpagina te bewerken.",
        "group-autoconfirmed": "autobevestigde gebruikers",
        "group-bot": "bots",
        "group-sysop": "beheerders",
+       "group-interface-admin": "Interfacemoderator",
        "group-bureaucrat": "bureaucraten",
        "group-suppress": "toezichthouders",
        "group-all": "(iedereen)",
        "group-autoconfirmed-member": "{{GENDER:$1|autobevestigde gebruiker}}",
        "group-bot-member": "{{GENDER:$1|bot}}",
        "group-sysop-member": "{{GENDER:$1|beheerder}}",
+       "group-interface-admin-member": "{{GENDER:$1|interfacemoderator}}",
        "group-bureaucrat-member": "{{GENDER:$1|bureaucraat}}",
        "group-suppress-member": "{{GENDER:$1|toezichthouder}}",
        "grouppage-user": "{{ns:project}}:Gebruikers",
        "grouppage-autoconfirmed": "{{ns:project}}:Geregistreerde gebruikers",
        "grouppage-bot": "{{ns:project}}:Bots",
        "grouppage-sysop": "{{ns:project}}:Beheerders",
+       "grouppage-interface-admin": "{{ns:project}}:Interfacemoderator",
        "grouppage-bureaucrat": "{{ns:project}}:Bureaucraten",
        "grouppage-suppress": "{{ns:project}}:Toezicht",
        "right-read": "Pagina's bekijken",
        "right-editusercss": "De CSS-bestanden van andere gebruikers bewerken",
        "right-edituserjson": "De JSONbestanden van andere gebruikers bewerken",
        "right-edituserjs": "De JavaScriptbestanden van andere gebruikers bewerken",
+       "right-editsitecss": "Wikibrede CSS bewerken",
+       "right-editsitejson": "Wikibrede JSON bewerken",
+       "right-editsitejs": "Wikibrede JavaScript bewerken",
        "right-editmyusercss": "Uw eigen CSS-pagina's bewerken",
-       "right-editmyuserjson": "Uw eigen JSonpagina's bewerken",
+       "right-editmyuserjson": "Uw eigen JSON-pagina's bewerken",
        "right-editmyuserjs": "Uw eigen JavaScriptpagina's bewerken",
        "right-viewmywatchlist": "Uw eigen volglijst bekijken",
        "right-editmywatchlist": "Uw eigen volglijst bewerken. Via sommige handelingen kunnen nog steeds pagina's toegevoegd worden, zelfs zonder deze bevoegdheid",
        "grant-createaccount": "Accounts aanmaken",
        "grant-createeditmovepage": "Pagina's aanmaken, bewerken en hernoemen",
        "grant-delete": "Pagina's, wijzigingen en logboekregels verwijderen",
-       "grant-editinterface": "De naamruimte MediaWiki en CSS, JSON en JavaScript van gebruikers bewerken",
+       "grant-editinterface": "De MediaWiki-naamruimte en JSON van de wiki en gebruikers bewerken",
        "grant-editmycssjs": "Eigen CSS, JSON en JavaScript bewerken",
        "grant-editmyoptions": "Eigen voorkeuren instellen",
        "grant-editmywatchlist": "Eigen volglijst bewerken",
+       "grant-editsiteconfig": "CSS/JS van de wiki en gebruikers bewerken",
        "grant-editpage": "Bestaande pagina's bewerken",
        "grant-editprotected": "Beveiligde pagina's bewerken",
        "grant-highvolume": "Veel bewerkingen in korte tijd maken",
        "uploadstash-zero-length": "Bestandsgrootte is nul.",
        "invalid-chunk-offset": "Ongeldige chunkoffset",
        "img-auth-accessdenied": "Toegang geweigerd",
-       "img-auth-nopathinfo": "PATH_INFO ontbreekt.\nUw server is niet ingesteld om deze gegevens door te geven.\nMisschien gebruikt deze CGI, en dan wordt img_auth niet ondersteund.\nZie https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization voor meer informatie.",
+       "img-auth-nopathinfo": "Padinformatie ontbreekt.\nUw server moet ingesteld zijn om de REQUEST_URI en/of PATH_INFO variabelen door te geven.\nAls de server juist ingesteld is, kunt u proberen $wgUsePathInfo aan te zetten.\nZie https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization voor meer informatie.",
        "img-auth-notindir": "Het opgegeven pad is niet de ingestelde uploadmap.",
        "img-auth-badtitle": "Het was niet mogelijk een geldige paginanaam te maken van \"$1\".",
        "img-auth-nologinnWL": "U bent niet aangemeld en \"$1\" staat niet op de witte lijst.",
index 4b5d69f..3dd1344 100644 (file)
        "revdelete-show-file-submit": "Ja",
        "revdelete-selected-text": "{{PLURAL:$1|Vald versjon|Valde versjonar}} av [[:$2]]:",
        "logdelete-selected": "{{PLURAL:$1|Vald loggoppføring|Valde loggoppføringar}}:",
+       "revdelete-text-text": "Sletta versjonar vil framleis syna i historikken til sida, men delar av innhaldet deira vil vera utilgjengeleg for ålmenta.",
+       "revdelete-text-others": "Andre administratorar vil framleis ha tilgang til det løynde innhaldet og kan attoppretta det, minder vidare avgrensingar er sette.",
        "revdelete-confirm": "Stadfest at du ynskjer å gjera dette, at du skjønar konsekvensane, og at du gjer det i samsvar med [[{{MediaWiki:Policy-url}}|retningslinene]].",
        "revdelete-suppress-text": "Løyning av sideversjonar bør '''berre''' nyttast i desse tilfella:\n* Mogeleg ærekrenkjande informasjon\n* Upassanda personleg informasjon\n*: ''heimeadresser og -telefonnummer,  personnummer, osb.''",
        "revdelete-legend": "Set avgrensing av synlegdom",
index 602eaa4..7da0f30 100644 (file)
        "mostimages": "ଫାଇଲରେ ବେଶି ଯୋଡ଼ାଯାଇଥିବା ଥିବା",
        "mostinterwikis": "ସବୁଠାରୁ ଅଧିକ ଉଇକିଥିବା ପୃଷ୍ଠାଗୁଡିକ",
        "mostrevisions": "ସବୁଠାରୁ ଅଧିକ ସଙ୍କଳନ ଥିବା ପୃଷ୍ଠାସମୂହ",
-       "prefixindex": "à¬\86à¬\97ରà­\81 à¬\95ିà¬\9bି à¬¯à­\8bଡ଼ା à¬¸à¬¹ à¬¥à¬¿à¬¬à¬¾ à¬¸à¬¬à­\81 à¬«à¬°à¬¦ସବୁ",
+       "prefixindex": "à¬\86à¬\97ରà­\81 à¬\95ିà¬\9bି à¬¯à­\8bଡ଼ା à¬¸à¬¹ à¬¥à¬¿à¬¬à¬¾ à¬¸à¬¬à­\81 à¬ªà­\83ଷà­\8dଠାସବୁ",
        "prefixindex-namespace": "ଉପସର୍ଗ ଲାଗିଥିବା ସବୁଯାକ ପୃଷ୍ଠା ($1 ଗୋଟି ନେମସ୍ପେସ)",
        "prefixindex-strip": "ତାଲିକାରୁ ନାମ ଆଗରୁ ଲାଗୁଥିବା ଶବ୍ଦ ହଟାନ୍ତୁ",
        "shortpages": "ଛୋଟ ପୃଷ୍ଠାସମୂହ",
        "allpagesprefix": "ଉପସର୍ଗ ଥିବା ପୃଷ୍ଠାସମୂହର ଦେଖଣା:",
        "allpagesbadtitle": "ଆପଣ ଅନୁରୋଧ କରିଥିବା ପୃଷ୍ଠାଟି ଭୁଲ, ଅଲଗା ଭାଷାର ବ୍ୟବହାର କରାଯାଇଛି ବା ଭୁଲ ଇଣ୍ଟର ଉଇକି ଉପସର୍ଗ ଦିଆଯାଇଛି ।\nଏଥିରେ ଥିବା ଗୋଟିଏ ବା ଦୁଇଟି ଅକ୍ଷର ଶିରୋନାମା ଭାବରେ ବ୍ୟବହାର କରାଯାଇ ପାରିବ ନାହିଁ ।",
        "allpages-bad-ns": "{{SITENAME}}ରେ \"$1\" ନେମସ୍ପେସଟିଏ ନାହିଁ ।",
-       "allpages-hide-redirects": "ପà­\81ନà¬\83ପà­\8dରà­\87ରଣସମà­\82ହକୁ ଲୁଚାଇବେ",
+       "allpages-hide-redirects": "ଲà­\87à¬\89à¬\9fାଣିସବà­\81କୁ ଲୁଚାଇବେ",
        "cachedspecial-viewing-cached-ttl": "ଆପଣ ଏହି ପୃଷ୍ଠାର ଏକ ପୁରୁଣା ସଂସ୍କରଣ ଦେଖୁଛନ୍ତି, ଯାହାକି $1 ପୁରୁଣା ହୋଇଥାଇପାରେ ।",
        "cachedspecial-viewing-cached-ts": "ଆପଣ ଏହି ପୃଷ୍ଠାର ଏକ ପୁରୁଣା ସଂସ୍କରଣ ଦେଖୁଛନ୍ତି, ଯାହାକି ପ୍ରକୃତରେ ସଂପୂର୍ଣ ନ ହୋଇଥାଇପାରେ ।",
        "cachedspecial-refresh-now": "ନୂତନତମ ଦେଖନ୍ତୁ ।",
index ecfb2e5..3e5b262 100644 (file)
        "customcssprotected": "Nie jesteś uprawniony do edytowania tej strony CSS, ponieważ zawiera ona ustawienia osobiste innego użytkownika.",
        "customjsonprotected": "Nie jesteś uprawniony do edytowania tej strony JSON, ponieważ zawiera ona ustawienia osobiste innego użytkownika.",
        "customjsprotected": "Nie jesteś uprawniony do edytowania tej strony JavaScript, ponieważ zawiera ona ustawienia osobiste innego użytkownika.",
+       "sitejsprotected": "Nie masz uprawnień do edytowania tej strony JavaScript, ponieważ może to wpłynąć na wszystkich odwiedzających",
        "mycustomcssprotected": "Nie masz uprawnień do edytowania tej strony CSS.",
        "mycustomjsonprotected": "Nie masz uprawnień do edytowania tej strony JSON.",
        "mycustomjsprotected": "Nie masz uprawnień do edytowania tej strony JavaScript.",
        "difference-missing-revision": "{{PLURAL:$2|Wersja|$2 wersje|$2 wersji}} #$1 strony \"{{PAGENAME}}\" nie {{PLURAL:$2|została znaleziona|zostały znalezione|zostało znalezionych}}.\n\nZazwyczaj jest to spowodowane przestarzałym linkiem do usuniętej strony. Powód usunięcia znajduje się w [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} rejestrze].",
        "searchresults": "Wyniki wyszukiwania",
        "search-filter-title-prefix": "Wyszukiwanie tylko na stronach, których tytuł zaczyna się od „$1”",
+       "search-filter-title-prefix-reset": "Przeszukaj wszystkie strony",
        "searchresults-title": "Wyniki wyszukiwania „$1”",
        "titlematches": "Znaleziono w tytułach",
        "textmatches": "Znaleziono w treści stron",
        "group-autoconfirmed": "Automatycznie zatwierdzeni użytkownicy",
        "group-bot": "Boty",
        "group-sysop": "Administratorzy",
+       "group-interface-admin": "Administratorzy interfejsu",
        "group-bureaucrat": "Biurokraci",
        "group-suppress": "Rewizorzy",
        "group-all": "(wszyscy)",
        "group-autoconfirmed-member": "{{GENDER:$1|automatycznie zatwierdzony użytkownik|automatycznie zatwierdzona użytkowniczka}}",
        "group-bot-member": "{{GENDER:$1|bot}}",
        "group-sysop-member": "{{GENDER:$1|administrator|administratorka}}",
+       "group-interface-admin-member": "{{GENDER:$1|administrator|administratorka}} interfejsu",
        "group-bureaucrat-member": "{{GENDER:$1|biurokrata|biurokratka}}",
        "group-suppress-member": "{{GENDER:$1|rewizor|rewizorka}}",
        "grouppage-user": "{{ns:project}}:Użytkownicy",
        "grouppage-autoconfirmed": "{{ns:project}}:Automatycznie zatwierdzeni użytkownicy",
        "grouppage-bot": "{{ns:project}}:Boty",
        "grouppage-sysop": "{{ns:project}}:Administratorzy",
+       "grouppage-interface-admin": "{{ns:project}}:Administratorzy interfejsu",
        "grouppage-bureaucrat": "{{ns:project}}:Biurokraci",
        "grouppage-suppress": "{{ns:project}}:Rewizorzy",
        "right-read": "Czytanie treści stron",
        "logentry-protect-modify-cascade": "$1 {{GENDER:$2|zmienił|zmieniła|zmienił(a)}} poziom zabezpieczenia dla $3 $4 [kaskadowo]",
        "logentry-rights-rights": "$1 {{GENDER:$2|zmienił|zmieniła|zmienił(a)}} przynależność {{GENDER:$6|$3}} do grupy z $4 do $5",
        "logentry-rights-rights-legacy": "$1 {{GENDER:$2|zmienił|zmieniła}} przynależność $3 do grup",
-       "logentry-rights-autopromote": "$1 automatycznie {{GENDER:$2|zmienił|zmieniła}} przynależność ($4 → $5)",
+       "logentry-rights-autopromote": "$1 automatycznie {{GENDER:$2|zmienił|zmieniła}} przynależność z $4 do $5",
        "logentry-upload-upload": "$1 {{GENDER:$2|przesłał|przesłała}} $3",
        "logentry-upload-overwrite": "$1 {{GENDER:$2|przesłał|przesłała}} nową wersję $3",
        "logentry-upload-revert": "$1 {{GENDER:$2|przesłał|przesłała}} $3",
        "logentry-tag-update-remove-logentry": "$1 {{GENDER:$2|usunął|usunęła}} {{PLURAL:$9|znacznik|znaczniki}} $8 z wpisu w rejestrze $5 strony $3",
        "logentry-tag-update-revision": "$1 {{GENDER:$2|zmienił|zmieniła}} znaczniki w wersji $4 strony $3 ({{PLURAL:$7|dodano}} $6; {{PLURAL:$9|usunięto}} $8)",
        "logentry-tag-update-logentry": "$1 {{GENDER:$2|zmienił|zmieniła}} znaczniki we wpisie w rejestrze $5 strony $3 ({{PLURAL:$7|dodano}} $6; {{PLURAL:$9|usunięto}} $8)",
-       "rightsnone": "brak",
+       "rightsnone": "(brak)",
        "rightslogentry-temporary-group": "$1 (tymczasowo, do $2)",
        "feedback-adding": "Dodawanie opinii do strony...",
        "feedback-back": "Wstecz",
index 210aebe..2b5b10e 100644 (file)
        "template-loop-category": "مخونه له کينډۍ پته ترلاسه شوو سره",
        "undo-failure": "د منازعې منځنۍ برخې د بدلونونو له امله دا سمون ندی رد شوی.",
        "undo-norev": "دا سمون ناکړل کېدای نه شي دا ځکه چې دا سمون نشته او يا هم ړنگ شوی.",
+       "undo-summary": "د [[Special:Contributions/$2|$2]] سمونه $1 ([[User talk:$2|خبرې اترې]]) بيرته پر شا کړي",
        "viewpagelogs": "د دې مخ يادښتونه کتل",
        "nohistory": "ددې مخ د سمون کوم پېښليک نه شته.",
        "currentrev": "اوسنۍ بڼه",
index 87f4f61..dca810c 100644 (file)
        "customcssprotected": "Não tem permissão para editar esta página de CSS porque a página contém as configurações pessoais de outro utilizador.",
        "customjsonprotected": "Não tem permissão para editar esta página de JSON porque a página contém as configurações pessoais de outro utilizador.",
        "customjsprotected": "Não tem permissão para editar esta página de JavaScript porque a página contém as configurações pessoais de outro utilizador.",
+       "sitecssprotected": "Não tem permissão para editar esta página de CSS porque ela pode afetar todos os visitantes",
+       "sitejsonprotected": "Não tem permissão para editar esta página de JSON porque ela pode afetar todos os visitantes",
+       "sitejsprotected": "Não tem permissão para editar esta página de JavaScript porque ela pode afetar todos os visitantes",
        "mycustomcssprotected": "Não tem permissão para editar esta página de CSS.",
        "mycustomjsonprotected": "Não tem permissão para editar esta página de JSON.",
        "mycustomjsprotected": "Não tem permissão para editar esta página de JavaScript.",
        "group-autoconfirmed": "Utilizadores autoconfirmados",
        "group-bot": "Robôs",
        "group-sysop": "Administradores",
+       "group-interface-admin": "Administradores da interface",
        "group-bureaucrat": "Burocratas",
        "group-suppress": "Supressores",
        "group-all": "(todos)",
        "group-autoconfirmed-member": "{{GENDER:$1|utilizador autoconfirmado|utilizadora autoconfirmada}}",
        "group-bot-member": "{{GENDER:$1|robô}}",
        "group-sysop-member": "{{GENDER:$1|administrador|administradora}}",
+       "group-interface-admin-member": "{{GENDER:$1|administrador|administradora}} da interface",
        "group-bureaucrat-member": "{{GENDER:$1|burocrata}}",
        "group-suppress-member": "{{GENDER:$1|supressor|supressora}}",
        "grouppage-user": "{{ns:project}}:Utilizadores",
        "grouppage-autoconfirmed": "{{ns:project}}:Autoconfirmados",
        "grouppage-bot": "{{ns:project}}:Robôs",
        "grouppage-sysop": "{{ns:project}}:Administradores",
+       "grouppage-interface-admin": "{{ns:project}}:Administradores da interface",
        "grouppage-bureaucrat": "{{ns:project}}:Burocratas",
        "grouppage-suppress": "{{ns:project}}:Suprimir",
        "right-read": "Ler páginas",
        "right-editusercss": "Editar os ficheiros CSS de outros utilizadores",
        "right-edituserjson": "Editar os ficheiros JSON de outros utilizadores",
        "right-edituserjs": "Editar os ficheiros JS de outros utilizadores",
+       "right-editsitecss": "Editar CSS global do ''site''",
+       "right-editsitejson": "Editar JSON global do ''site''",
+       "right-editsitejs": "Editar JavaScript global do ''site''",
        "right-editmyusercss": "Editar os seus próprios ficheiros CSS de utilizador",
        "right-editmyuserjson": "Editar os ficheiros JSON do próprio utilizador",
        "right-editmyuserjs": "Editar os seus próprios ficheiros JavaScript de utilizador",
        "grant-createaccount": "Criar contas",
        "grant-createeditmovepage": "Criar, editar e mover páginas",
        "grant-delete": "Eliminar páginas, revisões e entradas de registo",
-       "grant-editinterface": "Editar o domínio MediaWiki e o CSS/JSON/JavaScript do utilizador",
+       "grant-editinterface": "Editar o espaço nominal/domínio MediaWiki e o JSON dos utilizadores ou global do ''site''",
        "grant-editmycssjs": "Editar o seu CSS/JSON/JavaScript personalizado",
        "grant-editmyoptions": "Editar as suas preferências de utilizador",
        "grant-editmywatchlist": "Editar a sua lista de páginas vigiadas",
+       "grant-editsiteconfig": "Editar o CSS e JS dos utilizadores ou global do ''site''",
        "grant-editpage": "Editar páginas existentes",
        "grant-editprotected": "Editar páginas protegidas",
        "grant-highvolume": "Alta quantidade de edições",
        "uploadstash-zero-length": "O ficheiro tem tamanho zero.",
        "invalid-chunk-offset": "Deslocamento de fragmento inválido",
        "img-auth-accessdenied": "Acesso negado",
-       "img-auth-nopathinfo": "PATH_INFO em falta.\nO seu servidor não está configurado para passar esta informação.\nPode ser baseado em CGI e não consegue suportar img_auth.\nConsulte a documentação em https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization.",
+       "img-auth-nopathinfo": "Informação do caminho em falta.\nO seu servidor tem de estar configurado para passar as variáveis REQUEST_URI e/ou PATH_INFO.\nSe já está, tente ativar $wgUsePathInfo.\nConsulte https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization.",
        "img-auth-notindir": "O endereço especificado não conduz ao diretório de carregamento de ficheiros configurado.",
        "img-auth-badtitle": "Não é possível construir um título válido a partir de \"$1\".",
        "img-auth-nologinnWL": "Não tem a sessão iniciada e o ficheiro \"$1\" não está na lista branca.",
        "passwordpolicies-policy-passwordcannotmatchusername": "A palavra-passe não pode ser igual ao nome de utilizador",
        "passwordpolicies-policy-passwordcannotmatchblacklist": "A palavra-passe não pode corresponder às especificamente bloqueadas pela lista negra",
        "passwordpolicies-policy-maximalpasswordlength": "A palavra-passe tem de ter menos de $1 {{PLURAL:$1|carácter|caracteres}}",
-       "passwordpolicies-policy-passwordcannotbepopular": "A palavra-passe não pode {{PLURAL:$1|ser a mais popular|estar na lista das $1 palavras-passe mais populares}}"
+       "passwordpolicies-policy-passwordcannotbepopular": "A palavra-passe não pode {{PLURAL:$1|ser a mais popular|estar na lista das $1 palavras-passe mais populares}}",
+       "easydeflate-invaliddeflate": "O conteúdo fornecido não está devidamente comprimido"
 }
index f7a91d1..e8740e6 100644 (file)
        "customcssprotected": "Used as error message. Parameters:\n* $1 - (Unused) the action the user attempted to perform",
        "customjsonprotected": "Used as error message. Parameters:\n* $1 - (Unused) the action the user attempted to perform",
        "customjsprotected": "Used as error message. Parameters:\n* $1 - (Unused) the action the user attempted to perform",
+       "sitecssprotected": "Used as error message. Parameters:\n* $1 - (Unused) the action the user attempted to perform",
+       "sitejsonprotected": "Used as error message. Parameters:\n* $1 - (Unused) the action the user attempted to perform",
+       "sitejsprotected": "Used as error message. Parameters:\n* $1 - (Unused) the action the user attempted to perform",
        "mycustomcssprotected": "Used as error message. Parameters:\n* $1 - (Unused) the action the user attempted to perform",
        "mycustomjsonprotected": "Used as error message. Parameters:\n* $1 - (Unused) the action the user attempted to perform",
        "mycustomjsprotected": "Used as error message. Parameters:\n* $1 - (Unused) the action the user attempted to perform",
        "group-autoconfirmed": "{{doc-group|autoconfirmed}}\nOn Wikimedia sites autoconfirmed users are users which are older than 4 days. After those 4 days, they have more rights.",
        "group-bot": "{{doc-group|bot}}\n{{Identical|Bot}}",
        "group-sysop": "{{doc-group|sysop}}\n{{Identical|Administrator}}",
+       "group-interface-admin": "{{doc-group|interface-admin}}",
        "group-bureaucrat": "{{doc-group|bureaucrat}}",
        "group-suppress": "{{doc-group|suppress}}\nThis is an optional (disabled by default) user group, meant for the suppression feature in [[mw:Flow|Flow]]. It is not to be confused with the Oversighters group, which also has access to the [[mw:RevisionDelete|RevisionDelete]] feature, to change the visibility of revisions through [[Special:RevisionDelete]].\n\n{{Identical|Suppress}}",
        "group-all": "The name of the user group that contains all users, including anonymous users\n\n{{Identical|All}}",
        "group-autoconfirmed-member": "{{doc-group|autoconfirmed|member}}",
        "group-bot-member": "{{doc-group|bot|member}}",
        "group-sysop-member": "{{doc-group|sysop|member}}\n{{Identical|Administrator}}",
+       "group-interface-admin-member": "{{doc-group|interface-admin|member}}",
        "group-bureaucrat-member": "{{doc-group|bureaucrat|member}}",
        "group-suppress-member": "{{doc-group|suppress|member}}\nThis is a member of the optional (disabled by default) user group, meant for the [[mw:RevisionDelete|RevisionDelete]] feature, to change the visibility of revisions through [[Special:RevisionDelete]].\n\n{{Identical|Suppress}}",
        "grouppage-user": "{{doc-group|user|page}}\n{{Identical|User}}",
        "grouppage-autoconfirmed": "{{doc-group|autoconfirmed|page}}",
        "grouppage-bot": "{{doc-group|bot|page}}\n{{Identical|Bot}}",
        "grouppage-sysop": "{{doc-group|sysop|page}}",
+       "grouppage-interface-admin": "{{doc-group|interface-admin|page}}",
        "grouppage-bureaucrat": "{{doc-group|bureaucrat|page}}",
        "grouppage-suppress": "{{doc-group|suppress|page}}\n{{Identical|Suppress}}",
        "right-read": "{{doc-right|read}}\nBasic right to read any page.",
-       "right-edit": "{{doc-right|edit}}\nBasic right to edit pages that are not protected.\n{{Identical|Edit page}}",
+       "right-edit": "Description of edit right",
        "right-createpage": "{{doc-right|createpage}}\nBasic right to create pages. The right to edit discussion/talk pages is {{msg-mw|right-createtalk}}.",
        "right-createtalk": "{{doc-right|createtalk}}\nBasic right to create discussion/talk pages. The right to edit other pages is {{msg-mw|right-createpage}}.",
        "right-createaccount": "{{doc-right|createaccount}}\nThe right to [[Special:CreateAccount|create a user account]].",
        "right-editusercss": "{{doc-right|editusercss}}\nSee also:\n* {{msg-mw|Right-editmyusercss}}",
        "right-edituserjson": "{{doc-right|edituserjson}}\nSee also:\n* {{msg-mw|Right-editmyuserjson}}",
        "right-edituserjs": "{{doc-right|edituserjs}}\nSee also:\n* {{msg-mw|Right-editmyuserjs}}",
+       "right-editsitecss": "{{doc-right|editsitecss}}",
+       "right-editsitejson": "{{doc-right|editsitejson}}",
+       "right-editsitejs": "{{doc-right|editsitejs}}",
        "right-editmyusercss": "{{doc-right|editmyusercss}}\nSee also:\n* {{msg-mw|Right-editusercss}}",
        "right-editmyuserjson": "{{doc-right|editmyuserjson}}\nSee also:\n* {{msg-mw|Right-edituserjson}}",
        "right-editmyuserjs": "{{doc-right|editmyuserjs}}\nSee also:\n* {{msg-mw|Right-edituserjs}}",
        "right-applychangetags": "{{doc-right|applychangetags}}",
        "right-changetags": "{{doc-right|changetags}}",
        "right-deletechangetags": "{{doc-right|deletechangetags}}",
-       "grant-generic": "Used if the grant name is not defined. Parameters:\n* $1 - grant name\n\nDefined grants (grant name refers: blockusers, createeditmovepage, ...):\n* {{msg-mw|grant-checkuser}}\n* {{msg-mw|grant-blockusers}}\n* {{msg-mw|grant-createaccount}}\n* {{msg-mw|grant-createeditmovepage}}\n* {{msg-mw|grant-delete}}\n* {{msg-mw|grant-editinterface}}\n* {{msg-mw|grant-editmycssjs}}\n* {{msg-mw|grant-editmyoptions}}\n* {{msg-mw|grant-editmywatchlist}}\n* {{msg-mw|grant-editpage}}\n* {{msg-mw|grant-editprotected}}\n* {{msg-mw|grant-highvolume}}\n* {{msg-mw|grant-oversight}}\n* {{msg-mw|grant-patrol}}\n* {{msg-mw|grant-privateinfo}}\n* {{msg-mw|grant-protect}}\n* {{msg-mw|grant-rollback}}\n* {{msg-mw|grant-sendemail}}\n* {{msg-mw|grant-uploadeditmovefile}}\n* {{msg-mw|grant-uploadfile}}\n* {{msg-mw|grant-basic}}\n* {{msg-mw|grant-viewdeleted}}\n* {{msg-mw|grant-viewmywatchlist}}",
+       "grant-generic": "Used if the grant name is not defined. Parameters:\n* $1 - grant name\n\nDefined grants (grant name refers: blockusers, createeditmovepage, ...):\n* {{msg-mw|grant-checkuser}}\n* {{msg-mw|grant-blockusers}}\n* {{msg-mw|grant-createaccount}}\n* {{msg-mw|grant-createeditmovepage}}\n* {{msg-mw|grant-delete}}\n* {{msg-mw|grant-editinterface}}\n* {{msg-mw|grant-editmycssjs}}\n* {{msg-mw|grant-editmyoptions}}\n* {{msg-mw|grant-editmywatchlist}}\n* {{msg-mw|grant-editsiteconfig}}\n* {{msg-mw|grant-editpage}}\n* {{msg-mw|grant-editprotected}}\n* {{msg-mw|grant-highvolume}}\n* {{msg-mw|grant-oversight}}\n* {{msg-mw|grant-patrol}}\n* {{msg-mw|grant-privateinfo}}\n* {{msg-mw|grant-protect}}\n* {{msg-mw|grant-rollback}}\n* {{msg-mw|grant-sendemail}}\n* {{msg-mw|grant-uploadeditmovefile}}\n* {{msg-mw|grant-uploadfile}}\n* {{msg-mw|grant-basic}}\n* {{msg-mw|grant-viewdeleted}}\n* {{msg-mw|grant-viewmywatchlist}}",
        "grant-group-page-interaction": "{{Related|Grant-group}}",
        "grant-group-file-interaction": "{{Related|Grant-group}}",
        "grant-group-watchlist-interaction": "{{Related|Grant-group}}",
        "grant-createaccount": "Name for grant \"createaccount\".\n{{Related|Grant}}\n{{Identical|Create account}}",
        "grant-createeditmovepage": "Name for grant \"createeditmovepage\".\n{{Related|Grant}}",
        "grant-delete": "Name for grant \"delete\".\n{{Related|Grant}}",
-       "grant-editinterface": "Name for grant \"editinterface\".\n\n\"JS\" stands for \"JavaScript\".\n{{Related|Grant}}",
+       "grant-editinterface": "Name for grant \"editinterface\".\n{{Related|Grant}}",
        "grant-editmycssjs": "Name for grant \"editmycssjs\".\n\n\"JS\" stands for \"JavaScript\".\n{{Related|Grant}}",
        "grant-editmyoptions": "Name for grant \"editmyoptions\".\n{{Related|Grant}}",
        "grant-editmywatchlist": "Name for grant \"editmywatchlist\".\n{{Related|Grant}}\n{{Identical|Edit your watchlist}}",
+       "grant-editsiteconfig": "Name for grant \"editsiteconfig\".\n{{Related|Grant}}",
        "grant-editpage": "Name for grant \"editpage\".\n{{Related|Grant}}",
        "grant-editprotected": "Name for grant \"editprotected\".\n{{Related|Grant}}",
        "grant-highvolume": "Name for grant \"highvolume\".\n{{Related|Grant}}",
index bd66ad8..12408f4 100644 (file)
        "customcssprotected": "У вас нет разрешения редактировать эту CSS-страницу, так как она содержит личные настройки другого участника.",
        "customjsonprotected": "У вас нет разрешения редактировать эту JSON-страницу, так как она содержит личные настройки другого участника.",
        "customjsprotected": "У вас нет разрешения редактировать эту JavaScript-страницу, так как она содержит личные настройки другого участника.",
+       "sitecssprotected": "У вас нет разрешения редактировать эту CSS-страницу, поскольку её изменение может повлиять на всех посетителей.",
+       "sitejsonprotected": "У вас нет разрешения для редактирования этой JSON-страницы, поскольку её изменение может повлиять на всех посетителей.",
+       "sitejsprotected": "У вас нет разрешения редактировать эту JavaScript страницу, поскольку её изменение может повлиять на всех посетителей.",
        "mycustomcssprotected": "У вас нет прав для редактирования этого CSS страницы.",
        "mycustomjsonprotected": "У вас нет прав для редактирования этой JSON-страницы.",
        "mycustomjsprotected": "У вас нет прав для редактирования JavaScript на странице.",
        "group-autoconfirmed": "Автоподтверждённые участники",
        "group-bot": "Боты",
        "group-sysop": "Администраторы",
+       "group-interface-admin": "Администраторы интерфейса",
        "group-bureaucrat": "Бюрократы",
        "group-suppress": "Скрывающие",
        "group-all": "(все)",
        "group-autoconfirmed-member": "{{GENDER:$1|автоподтверждённый участник|автоподтверждённая участница}}",
        "group-bot-member": "{{GENDER:$1|бот}}",
        "group-sysop-member": "{{GENDER:$1|администратор}}",
+       "group-interface-admin-member": "{{GENDER:$1|администратор интерфейса}}",
        "group-bureaucrat-member": "{{GENDER:$1|бюрократ}}",
        "group-suppress-member": "{{GENDER:$1|скрывающий|скрывающая}}",
        "grouppage-user": "{{ns:project}}:Участники",
        "grouppage-autoconfirmed": "{{ns:project}}:Автоподтверждённые участники",
        "grouppage-bot": "{{ns:project}}:Боты",
        "grouppage-sysop": "{{ns:project}}:Администраторы",
+       "grouppage-interface-admin": "{{ns:project}}:Администраторы интерфейса",
        "grouppage-bureaucrat": "{{ns:project}}:Бюрократы",
        "grouppage-suppress": "{{ns:project}}:Скрывающие",
        "right-read": "просмотр страниц",
        "right-editusercss": "правка CSS-файлов других участников",
        "right-edituserjson": "правка JSON-файлов других участников",
        "right-edituserjs": "правка JavaScript-файлов других участников",
+       "right-editsitecss": "редактирование общесайтовых CSS-страниц",
+       "right-editsitejson": "редактирование общесайтовых JSON-страниц",
+       "right-editsitejs": "редактирование общесайтовых JavaScript-страниц",
        "right-editmyusercss": "редактирование своих пользовательских CSS-файлов",
        "right-editmyuserjson": "редактирование своих пользовательских JSON-файлов",
        "right-editmyuserjs": "редактирование своих пользовательских JavaScript-файлов",
        "grant-createaccount": "Создание учётных записей",
        "grant-createeditmovepage": "Создание, редактирование и переименование страниц",
        "grant-delete": "Удаление страниц, правок и записей журнала",
-       "grant-editinterface": "Правка пространства имён MediaWiki и пользовательских CSS/JSON/JavaScript",
+       "grant-editinterface": "Правка пространства имён MediaWiki и пользовательских JSON",
        "grant-editmycssjs": "Правка ваших пользовательских CSS/JSON/JavaScript",
        "grant-editmyoptions": "Редактирование ваших персональных настроек",
        "grant-editmywatchlist": "Редактирование вашего списка наблюдения",
+       "grant-editsiteconfig": "Правка CSS/JavaScript сайта и пользователя",
        "grant-editpage": "Редактирование существующих страниц",
        "grant-editprotected": "Редактирование защищённых страниц",
        "grant-highvolume": "Редактирование с высокой интенсивностью",
        "passwordpolicies-policy-passwordcannotmatchusername": "Пароль не может совпадать с названием учётной записи",
        "passwordpolicies-policy-passwordcannotmatchblacklist": "Пароль не может совпадать ни с одним паролем, внесённым в чёрный список",
        "passwordpolicies-policy-maximalpasswordlength": "Пароль должен быть короче $1 {{PLURAL:$1|символа|символов}}",
-       "passwordpolicies-policy-passwordcannotbepopular": "Пароль не может соответствовать {{PLURAL:$1|самому часто используемому паролю|какому-либо из $1 самых часто используемых паролей}}"
+       "passwordpolicies-policy-passwordcannotbepopular": "Пароль не может соответствовать {{PLURAL:$1|самому часто используемому паролю|какому-либо из $1 самых часто используемых паролей}}",
+       "easydeflate-invaliddeflate": "Предоставленное содержимое не спущено надлежащим образом"
 }
index 3f62e10..282761a 100644 (file)
        "jumpto": "ᱫᱚᱱᱢᱮ :",
        "jumptonavigation": "ᱟᱹᱪᱩᱨᱵᱟᱲᱟ",
        "jumptosearch": "ᱥᱮᱸᱫᱽᱨᱟ",
-       "view-pool-error": "Ikạkańmẽ, sarvarre nitoḱ do aḍi cap menaḱa.\nẠḍi aema beoharko noa sakam ńel lạgit́ko kurumuṭueda.\nNãwate noa sakam ńel kurumuṭuy lạgit́te dayakate mit́ghạṛi tạṅgiymẽ.\n$1",
+       "view-pool-error": "ᱤᱠᱟᱹᱠᱟᱹᱧᱢᱮ, ᱥᱟᱨᱵᱷᱟᱨ ᱨᱮ ᱱᱮᱛᱚᱜ ᱫᱚ ᱟᱹᱰᱤ ᱪᱟᱯ ᱢᱮᱱᱟᱜ-ᱟ᱾\nᱟᱹᱰᱤ ᱟᱭᱢᱟ ᱵᱮᱵᱷᱟᱨᱤᱭᱟᱹᱠᱩ ᱱᱚᱣᱟ ᱥᱟᱦᱴᱟ ᱧᱮᱞ ᱞᱟᱹᱜᱤᱛᱠᱩ ᱠᱩᱨᱩᱢᱩᱴᱩᱭᱮᱫᱟ᱾\nᱱᱟᱣᱟᱛᱮ ᱱᱚᱣᱟ ᱥᱟᱦᱴᱟ ᱧᱮᱞ ᱠᱩᱨᱩᱢᱩᱴᱩ ᱞᱟᱹᱜᱤᱛᱛᱮ ᱫᱟᱭᱟᱠᱟᱛᱮ ᱢᱤᱫᱜᱷᱟᱹᱲᱤ ᱛᱟᱺᱜᱤᱭᱢᱮ᱾\n\n$1",
        "generic-pool-error": "ᱤᱠᱟᱹᱠᱟᱹᱧᱢᱮ, ᱱᱚᱶᱟ ᱥᱚᱨᱵᱷᱚᱨ ᱨᱮ ᱱᱤᱛ ᱟᱹᱰᱤᱜᱟᱱ ᱪᱟᱯ ᱢᱮᱱᱟᱜᱼᱟ ᱾\nᱟᱹᱰᱤ ᱟᱭᱢᱟ ᱵᱮᱵᱷᱟᱨᱤᱭᱟᱹ ᱱᱚᱶᱟ ᱥᱟᱠᱟᱢ ᱧᱮᱞ ᱞᱟᱹᱜᱤᱫ ᱠᱚ ᱨᱤᱠᱟᱹᱭᱮᱫᱼᱟ ᱾\nᱱᱚᱶᱟ ᱥᱟᱠᱟᱢ ᱧᱮᱞ ᱞᱟᱹᱜᱤᱰ ᱱᱟᱥᱮ ᱛᱟᱺᱜᱤ ᱢᱮ ᱾",
-       "pool-timeout": "Somoy paromena cạbi lạgit́te tạṅgi hoyoḱkana",
-       "pool-queuefull": "Pool queue is full",
+       "pool-timeout": "ᱚᱠᱛᱚ ᱯᱟᱨᱚᱢᱮᱱᱟ ᱪᱟᱹᱵᱤ ᱞᱟᱹᱜᱤᱛᱛᱮ ᱛᱟᱸᱜᱤ ᱦᱩᱭᱩᱜ ᱠᱟᱱᱟ",
+       "pool-queuefull": "Pool queue ᱫᱚ ᱯᱮᱨᱮᱡᱽ ᱟᱠᱟᱱᱟ",
        "pool-errorunknown": "ᱵᱟᱝ ᱵᱟᱰᱟᱭ ᱦᱩᱲᱟᱹᱜ",
        "poolcounter-usage-error": "ᱵᱮᱵᱷᱟᱨᱟᱜ ᱦᱩᱲᱟᱹᱜᱺ $1",
        "aboutsite": "{{SITENAME}} ᱵᱟᱵᱚᱛ",
        "privacy": "ᱩᱠᱩ ᱮᱠᱛᱤᱭᱟᱨ",
        "privacypage": "Project: ᱩᱠᱩ ᱮᱠᱛᱤᱭᱟᱨ",
        "badaccess": "ᱟᱹᱭᱫᱟᱹᱨᱤ ᱦᱩᱲᱟᱹᱜ",
-       "badaccess-group0": "Am do oka kạmi lạgit́em aroj akat́, ona kạmi purạo lạgit́te ạidạri do bạnuḱa.",
-       "badaccess-groups": "Am do oka kạmim menjoṅkan ona do khạli {{PLURAL:$2 rạsiạkore noa rạsiạreaḱ mit́ṭenre}} mitṭen beoharić sompadon daṛeyaḱa: $1.",
+       "badaccess-group0": "ᱟᱢ ᱫᱚ ᱚᱠᱟ ᱠᱟᱹᱢᱤ ᱞᱟᱹᱜᱤᱛ ᱮᱢ ᱟᱨᱚᱡᱽ ᱟᱠᱟᱛ, ᱚᱱᱟ ᱠᱟᱹᱢᱤ ᱯᱩᱨᱟᱹᱣ ᱞᱟᱹᱜᱤᱛᱛᱮ ᱟᱹᱭᱫᱟᱹᱨᱤ ᱫᱚ ᱵᱟᱹᱱᱩᱜ-ᱟ᱾",
+       "badaccess-groups": "ᱟᱢ ᱫᱚ ᱚᱠᱟ ᱠᱟᱹᱢᱤᱢ ᱢᱮᱱᱡᱚᱝᱠᱟᱱ ᱚᱱᱟ ᱫᱚ ᱠᱷᱟᱹᱞᱤ {{PLURAL:$2 ᱨᱟᱹᱥᱤᱭᱟᱹᱠᱚᱨᱮ ᱱᱚᱣᱟ ᱨᱟᱹᱥᱤᱭᱟᱹ ᱨᱮᱭᱟᱜ ᱢᱤᱫᱴᱮᱱ ᱨᱮ}} ᱢᱤᱫᱴᱮᱱ ᱵᱮᱵᱷᱟᱨᱤᱡ ᱥᱟᱯᱲᱟᱣ ᱫᱟᱲᱮᱭᱟᱜ-ᱟ: $1᱾",
        "versionrequired": "ᱢᱤᱰᱤᱭᱟ ᱩᱭᱠᱤ ᱨᱮᱭᱟᱜ $1 ᱱᱟᱣᱟ ᱵᱷᱟᱨᱥᱚᱱ ᱡᱟᱹᱨᱩᱲᱟ",
-       "versionrequiredtext": "Version $1 of MediaWiki is required to use this page.\nSee [[Special:Version|version page]].",
+       "versionrequiredtext": "Version $1 of ᱢᱤᱰᱤᱭᱟ ᱣᱤᱠᱤ ᱫᱚ ᱱᱚᱣᱟ ᱥᱟᱦᱴᱟ ᱵᱮᱵᱷᱟᱨ ᱞᱟᱜᱟᱣᱭᱟ᱾\nᱧᱮᱞᱢᱮ [[Special:Version|version page]]᱾",
        "ok": "ᱴᱷᱤᱠ ᱜᱮᱭᱟ",
        "retrievedfrom": "\"$1\" ᱠᱷᱚᱱ ᱧᱟᱢ ᱟᱹᱜᱩᱭ",
        "youhavenewmessages": "{{PLURAL:$3|ᱟᱢᱟᱜ ᱢᱮᱱᱟᱜ-ᱟ}} $1 ($2)᱾",
        "confirmable-no": "ᱵᱟᱝ",
        "thisisdeleted": "ᱧᱮᱞ ᱥᱮ ᱨᱩᱭᱟᱹᱲ ᱫᱚᱲᱦᱟ $1?",
        "viewdeleted": "$1 ᱧᱮᱞᱢᱮ",
-       "restorelink": "{{PLURAL:$1 mit́ṭen ocoḱgiḍi sompadon $1 gan udug giḍi sompadon}}",
+       "restorelink": "{{PLURAL:$1 ᱢᱤᱫᱴᱮᱱ ᱚᱪᱚᱜ ᱜᱤᱰᱤ ᱥᱟᱯᱲᱟᱣ $1 ᱜᱟᱱ ᱩᱫᱩᱜᱽ ᱜᱤᱰᱤ ᱥᱟᱯᱲᱟᱣ}}",
        "feedlinks": "ᱟᱡᱚ:",
-       "feed-invalid": "Garhak feed reaḱ rokom do ạnlekate baṅkana",
+       "feed-invalid": "ᱜᱟᱨᱦᱟᱠ feed ᱨᱮᱭᱟᱜ ᱨᱚᱠᱚᱢ ᱫᱚ ᱚᱝᱞᱮᱠᱟᱛᱮ ᱵᱟᱝᱠᱟᱱᱟ᱾",
        "feed-unavailable": "ᱥᱤᱱᱰᱤᱠᱮᱥᱚᱱ ᱟᱡᱚ ᱠᱩᱫᱚ ᱵᱟᱝ ᱧᱟᱢᱚᱜ ᱠᱟᱱᱟ",
        "site-rss-feed": "$1 RSS feed",
        "site-atom-feed": " $1 ᱡᱚᱢ ᱚᱪᱚ",
        "page-rss-feed": "\"$1\" RSS feed",
        "page-atom-feed": " $1 ᱡᱚᱢ ᱚᱪᱚ",
        "red-link-title": "$1 (ᱱᱤᱭᱟᱹ ᱥᱟᱦᱴᱟ ᱫᱚ ᱵᱟᱹᱱᱩᱜ-ᱟ)",
-       "sort-descending": "Ulṭạo horop lekate sajao",
+       "sort-descending": "ᱩᱞᱴᱟᱹᱣᱛᱮ ᱥᱟᱡᱟᱣ",
        "sort-ascending": "ᱥᱟᱢᱴᱟᱣ ᱛᱮ",
        "nstab-main": "ᱥᱟᱦᱴᱟ",
        "nstab-user": "ᱵᱮᱵᱦᱟᱹᱨᱤᱭᱟᱹᱜ ᱥᱟᱦᱴᱟ",
        "nstab-category": "ᱛᱷᱚᱠ",
        "mainpage-nstab": "ᱢᱩᱬᱩᱛ ᱥᱟᱦᱴᱟ",
        "nosuchaction": "ᱱᱚᱝᱠᱟᱱ ᱠᱟᱹᱢᱤ ᱵᱟᱹᱱᱩᱜ-ᱟ",
-       "nosuchactiontext": "Noa URL re goṭa akan kạmi do ạnlekate baṅkana.\nAm do paseć mit́ṭen vul joṛaoem emakada se URL oltem vul akada.\nNoa do noṅkanaḱ menkana je {{SITENAME}} sayeṭre beoharen sofṭower re mit́ṭen vul menaḱa.",
+       "nosuchactiontext": "ᱱᱚᱣᱟ URL ᱨᱮ ᱜᱚᱴᱟ ᱟᱠᱟᱱ ᱠᱟᱹᱢᱤ ᱫᱚ ᱟᱹᱱᱞᱮᱠᱟᱛᱮ ᱵᱟᱝᱠᱟᱱᱟ᱾\nᱟᱢ ᱫᱚ ᱯᱟᱥᱮᱡ ᱢᱤᱫᱴᱮᱱ ᱵᱷᱩᱞ ᱡᱚᱱᱚᱲᱮᱢ ᱮᱢᱠᱟᱫᱟ ᱥᱮ URL ᱚᱞᱛᱮᱢ ᱵᱷᱩᱞ ᱟᱠᱟᱫᱟ᱾\nᱱᱚᱣᱟ ᱫᱚ ᱱᱚᱝᱠᱟᱱᱟᱜ ᱢᱮᱱᱠᱟᱱᱟ ᱡᱮ {{SITENAME}} ᱥᱟᱭᱮᱴᱨᱮ ᱵᱮᱵᱷᱟᱨᱮᱱ ᱥᱚᱯᱷᱴᱚᱭᱟᱨ ᱨᱮ ᱢᱤᱫᱴᱮᱱ ᱵᱷᱩᱞ ᱢᱮᱱᱟᱜ-ᱟ᱾",
        "nosuchspecialpage": "ᱱᱚᱝᱠᱟᱱᱟ ᱟᱥᱚᱠᱟᱭ ᱥᱟᱦᱴᱟ ᱫᱚ ᱵᱟᱹᱱᱩᱜ-ᱟ",
        "nospecialpagetext": "<strong>ᱟᱢ ᱫᱚ ᱡᱟᱦᱟᱸ ᱥᱟᱦᱴᱟ ᱞᱟᱹᱜᱤᱫ ᱮᱢ ᱱᱮᱦᱚᱨ ᱟᱠᱟᱫᱟ ᱚᱱᱟᱫᱚ ᱵᱟᱹᱱᱩᱜ-ᱟ </strong>\nᱡᱟᱦᱟᱸ ᱥᱟᱦᱴᱟᱠᱩ ᱱᱚᱸᱰᱮ ᱢᱮᱱᱟᱜ-ᱟ ᱚᱱᱟᱨᱮᱱᱟᱜ ᱛᱟᱹᱞᱠᱟᱹ ᱱᱚᱸᱰᱮᱢ ᱧᱟᱢᱟ [[Special:SpecialPages|{{int:specialpages}}]]᱾",
        "error": "ᱦᱩᱲᱟᱹᱜ",
        "databaseerror-query": "ᱠᱩᱠᱞᱤ: $1",
        "databaseerror-function": "ᱠᱟᱹᱢᱤ: $1",
        "databaseerror-error": "ᱦᱩᱲᱟᱹᱜ: $1",
-       "laggedslavemode": "'''Sontoroḱme:''' sakamre do nahaḱ nãwãnaḱko paseć bạnuḱa.",
+       "laggedslavemode": "<strong>'''ᱥᱚᱱᱛᱚᱨᱚᱜᱢᱮ:</strong>''' ᱥᱟᱦᱴᱟᱨᱮ ᱫᱚ ᱱᱟᱦᱟᱜ ᱱᱟᱣᱟᱱᱟᱜᱠᱩ ᱯᱟᱥᱮᱡ ᱵᱟᱹᱱᱩᱜ-ᱟ᱾",
        "readonly": "ᱰᱟᱴᱟᱵᱮᱡᱽ ᱛᱟᱞᱟᱜᱮᱭᱟ",
-       "enterlockreason": "Cạbie reaḱ karon do cet́kana ma lạimẽ, Saõte tinre tala cạbim jhija ona okte hõ lạimẽ",
+       "enterlockreason": "ᱪᱟᱹᱵᱤ ᱨᱮᱭᱟᱜ ᱠᱟᱨᱚᱱ ᱫᱚ ᱪᱮᱫᱠᱟᱱᱟ ᱢᱟ ᱞᱟᱹᱭᱢᱮ, ᱥᱟᱶᱛᱮ ᱛᱤᱱᱨᱮ ᱛᱟᱞᱟᱢ ᱡᱷᱤᱡᱟ ᱚᱱᱟ ᱚᱠᱛᱮ ᱦᱚᱸ ᱞᱟᱹᱭᱢᱮ",
        "readonlytext": "ᱱᱟᱣᱟ ᱦᱟᱹᱴᱤᱧ ᱟᱨ ᱮᱴᱟᱜᱟᱜ ᱥᱟᱯᱲᱟᱣ ᱞᱟᱹᱜᱤᱛᱛᱮ ᱰᱟᱴᱟᱵᱮᱡᱽ ᱫᱚ ᱱᱤᱛ ᱵᱚᱱᱰᱷᱚ ᱜᱮᱭᱟ᱾ ᱯᱟᱥᱮᱡ ᱰᱟᱴᱟᱵᱮᱡ ᱨᱩᱠᱷᱤᱭᱟᱨᱮ ᱱᱤᱭᱚᱢ ᱞᱮᱠᱟᱛᱮ ᱠᱟᱹᱢᱤ ᱪᱟᱞᱟᱜ ᱠᱟᱱᱟ᱾ ᱛᱷᱚᱲᱟ ᱜᱷᱟᱹᱲᱤᱡ ᱯᱚᱨ ᱞᱟᱦᱟᱛᱮ ᱞᱮᱠᱟ ᱟᱹᱪᱩᱨ ᱦᱟᱹᱡᱩᱜ-ᱟ᱾\nᱥᱟᱥᱮᱛᱤᱪ ᱫᱚ ᱱᱚᱣᱟ ᱠᱟᱛᱷᱟᱭ ᱨᱚᱲ ᱠᱮᱫᱟ: $1",
-       "missing-article": "\"$1\" $2 noa ńutumanaḱ sakhiyạ̣t sakamre olakanaḱ do bań ṅamoka.\nNoa hoy renaḱ karon do hoyoḱkana cabak tạrik pharak se noare joṛao sakam do get́ giḍi akana.\nJudi noa do karon bań hoylen khan, noa do am sopṭoyer re kạtićtem ńam daṛeyaḱa.\nDaya katet́ noa do nonde [[Special:ListUsers/sysop|administrator]],  ṭhen lạime, URL hotete.",
+       "missing-article": "\"$1\" $2 ᱱᱚᱣᱟ ᱧᱩᱛᱩᱢᱟᱱᱟᱜ ᱥᱟᱹᱠᱷᱭᱟᱹᱛ ᱥᱟᱦᱴᱟᱨᱮ ᱚᱞ ᱟᱠᱟᱱᱟᱜ ᱫᱚ ᱵᱟᱝ ᱧᱟᱢᱚG-ᱟ᱾\nᱱᱚᱣᱟ ᱦᱩᱭ ᱨᱮᱱᱟᱜ ᱠᱟᱨᱚᱱ ᱫᱚ ᱦᱩᱭᱩᱜᱠᱟᱱᱟ ᱪᱟᱵᱟᱜ ᱛᱟᱹᱨᱤᱠ ᱯᱷᱟᱨᱟᱠ ᱥᱮ ᱱᱚᱣᱟᱨᱮ ᱡᱚᱱᱚᱲ ᱥᱟᱦᱴᱟ ᱫᱚ ᱜᱮᱫ ᱜᱤᱰᱤ ᱟᱠᱟᱱᱟ᱾\nᱡᱩᱫᱤ ᱱᱚᱣᱟ ᱫᱚ ᱠᱟᱨᱚᱱ ᱵᱟᱝ ᱦᱩᱭᱞᱮᱱ ᱠᱷᱟᱱ, ᱱᱚᱣᱟ ᱫᱚ ᱟᱢ ᱥᱚᱯᱷᱴᱚᱭᱟᱨ ᱨᱮ ᱠᱟᱹᱴᱤᱡᱛᱮᱢ ᱧᱟᱢ ᱫᱟᱲᱮᱭᱟᱜ-ᱟ᱾\nᱫᱟᱭᱟᱠᱟᱛᱮ ᱱᱚᱣᱟ ᱫᱚ ᱱᱚᱸᱰᱮ [[Special:ListUsers/sysop|administrator]], ᱴᱷᱮᱱ ᱞᱟᱹᱭᱢᱮ, URL ᱦᱚᱛᱮᱛᱮ᱾",
        "missingarticle-rev": "(ᱥᱩᱫᱷᱨᱟᱹᱣ#:$1)",
        "missingarticle-diff": "(ᱯᱷᱟᱨᱟᱠ: $1, $2)",
-       "readonly_lag": "á¸\8caá¹­abes do aÄ\87hote tege bondo hoe akana, je lekate udhin reaḱ á¸\8daá¹­abes sarvarkor mukhiạ á¸\8daá¹­abes sarvar lekate heÄ\87 daá¹\9beaḱ.",
+       "readonly_lag": "á±°á±\9fá±´á±\9fᱵᱮᱥ á±«á±\9a á±\9fᱪá±\9bá±® á±µá±\9aᱱᱫá±\9a á±¦á±©á±­ á±\9fá± á±\9fá±±á±\9f, á±¡á±® á±\9eᱮᱠá±\9fá±\9bá±® á±©á±«á±·á±¤á±± á±¨á±®á±­á±\9fá±\9c á±«á±\9fá±´á±\9fᱵᱮᱥ á±¥á±\9fᱨᱵᱷá±\9fᱨᱠᱳ á±¢á±©á±¬á±©á±\9b á±«á±\9fá±´á±\9fᱵᱮᱥ á±¥á±\9fᱨᱵᱷá±\9fᱨ á±\9eᱮᱠá±\9fá±\9bá±® á±¦á±®á±¡ á±«á±\9fᱲᱮᱭá±\9fá±\9c",
        "internalerror": "ᱵᱷᱤᱛᱨᱤ ᱦᱩᱲᱟᱹᱜ",
        "internalerror_info": "ᱵᱷᱤᱛᱨᱤ ᱦᱩᱲᱟᱹᱜ: $1",
        "filecopyerror": "\"$1\" ᱨᱮᱫ ᱠᱷᱚᱱ \"$2\" ᱨᱮᱫ ᱵᱟᱝ ᱠᱚᱯᱤᱞᱮᱱᱟ᱾",
        "unexpected": "ᱵᱟᱝ ᱟᱥᱟᱜ ᱠᱟᱱ ᱢᱟᱹᱱ: \"$1\"=\"$2\".",
        "formerror": "ᱦᱩᱲᱟᱹᱜ: ᱯᱷᱚᱨᱚᱢ ᱫᱚ ᱵᱟᱝ ᱡᱤᱢᱟᱹᱞᱮᱱᱟ᱾",
        "badarticleerror": "ᱱᱚᱣᱟ ᱠᱟᱹᱢᱤ ᱫᱚ ᱱᱚᱣᱟ ᱥᱟᱦᱴᱟᱨᱮ ᱵᱟᱝ ᱦᱩᱭᱞᱮᱱᱟ᱾",
-       "cannotdelete": "$1 sakam se rẽt do baṅ get giḍilena.\nPasec eṭaḱ hoṛ noa do lahareko get giḍi akada.",
+       "cannotdelete": "$1 ᱥᱟᱦᱴᱟ ᱥᱮ ᱨᱮᱫ ᱫᱚ ᱵᱟᱝ ᱜᱮᱫ ᱜᱤᱰᱤᱞᱮᱱᱟ᱾\nᱯᱟᱥᱮᱡ ᱮᱴᱟᱜ ᱦᱚᱲ ᱱᱚᱣᱟ ᱫᱚ ᱞᱟᱦᱟᱨᱮᱜᱮ ᱜᱮᱫ ᱜᱤᱰᱤ ᱟᱠᱟᱫᱟ᱾",
        "cannotdelete-title": "\"$1\" ᱥᱟᱦᱴᱟ ᱫᱚ ᱵᱟᱝ ᱜᱮᱫ ᱜᱤᱰᱤ ᱟᱠᱟᱱᱟ",
        "badtitle": "ᱵᱟᱹᱨᱤᱡ ᱴᱟᱭᱴᱮᱞ",
        "badtitletext": "ᱟᱢᱮᱢ ᱱᱮᱦᱚᱨᱟᱠᱟᱱ ᱥᱟᱦᱴᱟ ᱧᱤᱛᱩᱢ ᱫᱚ ᱵᱟᱝ ᱴᱷᱤᱠᱟ, ᱠᱷᱟᱹᱞᱤ ᱥᱮ ᱵᱷᱩᱞᱜᱮ ᱵᱷᱤᱛᱨᱤ ᱯᱟᱹᱨᱥᱤᱛᱮ ᱥᱮ ᱩᱭᱠᱤ ᱴᱟᱭᱴᱮᱞ ᱛᱮ ᱡᱚᱱᱚᱲ ᱜᱮᱭᱟ᱾\nᱱᱚᱣᱟᱨᱮ ᱫᱚ ᱢᱤᱫ ᱥᱮ ᱟᱭᱢᱟ ᱩᱱᱩᱫᱩᱜ ᱢᱮᱱᱟᱜ ᱚᱠᱟ ᱫᱚ ᱧᱤᱛᱩᱢᱨᱮ ᱵᱟᱝ ᱵᱮᱵᱦᱟᱨᱚᱜ᱾",
-       "querypage-no-updates": "Noa sakam reaḱ nahaḱ halot bondo gea. Nonḍe doho akana ḍaṭako do baṅ saphaḱa.",
+       "querypage-no-updates": "ᱱᱚᱣᱟ ᱥᱟᱦᱴᱟ ᱨᱮᱭᱟᱜ ᱱᱟᱦᱟᱜ ᱦᱟᱞᱚᱛ ᱵᱚᱱᱫᱽ ᱜᱮᱭᱟ᱾\nᱱᱚᱸᱰᱮ ᱫᱚᱦᱚ ᱟᱠᱟᱱ ᱰᱟᱴᱟᱠᱳ ᱫᱚ ᱵᱟᱝ ᱥᱟᱯᱷᱟᱜ-ᱟ᱾",
        "viewsource": "ᱯᱷᱮᱰᱟᱛ ᱧᱮᱞ",
        "viewsource-title": "$1 ᱨᱮᱱᱟᱜ ᱯᱷᱮᱰᱟᱛ ᱧᱮᱞᱢᱮ",
        "actionthrottled": "ᱠᱟᱹᱢᱤ ᱨᱮᱭᱟᱜ ᱫᱷᱟᱨᱟ ᱵᱟᱹᱭ",
        "protectedpagetext": "ᱱᱚᱣᱟ ᱥᱟᱦᱴᱟ ᱫᱚ ᱚᱞ ᱥᱟᱯᱲᱟᱣ ᱞᱟᱹᱜᱤᱛᱛᱮ ᱫᱚ ᱵᱟᱸᱪᱟᱣ ᱜᱮᱭᱟ᱾",
        "viewsourcetext": "ᱱᱚᱭᱟ ᱥᱟᱦᱴᱟᱢ ᱧᱮᱞ ᱫᱟᱲᱮᱭᱟᱜ-ᱟ ᱟᱨᱮᱢ ᱠᱚᱯᱤ ᱫᱟᱲᱮᱭᱟᱜ-ᱟ᱾",
-       "viewyourtext": "ᱟᱢ ᱫᱚ '''ᱟᱢᱟᱜ ᱥᱟᱯᱲᱟᱣ''' ᱥᱟᱦᱴᱟ ᱧᱮᱞ ᱟᱨ ᱮᱢ ᱠᱚᱯᱤ ᱦᱟᱛᱟᱣ ᱫᱟᱲᱮᱭᱟᱜ-ᱟ:",
+       "viewyourtext": "ᱟᱢ ᱫᱚ <strong>'''ᱟᱢᱟᱜ ᱥᱟᱯᱲᱟᱣ</strong>''' ᱥᱟᱦᱴᱟ ᱧᱮᱞ ᱟᱨ ᱮᱢ ᱠᱚᱯᱤ ᱦᱟᱛᱟᱣ ᱫᱟᱲᱮᱭᱟᱜ-ᱟ:",
        "protectedinterface": "ᱱᱚᱣᱟ ᱥᱟᱦᱴᱟ ᱨᱮᱭᱟᱜ ᱵᱟᱵᱚᱛᱠᱚ ᱫᱚ ᱣᱤᱠᱤ ᱥᱚᱯᱷᱴᱚᱭᱟᱨ ᱨᱮᱭᱟᱜ ᱢᱤᱫᱴᱮᱱ ᱤᱱᱴᱟᱨᱯᱷᱮᱥ ᱠᱷᱚᱵᱚᱨᱮ ᱮᱢᱟ, ᱚᱱᱟᱛᱮ ᱱᱚᱣᱟ ᱫᱟ ᱨᱩᱠᱷᱤᱭᱟᱹ ᱫᱚᱦᱚ ᱦᱩᱭᱠᱟᱱᱟ᱾",
        "cascadeprotected": "ᱱᱚᱣᱟ ᱥᱟᱦᱴᱟ ᱫᱚ ᱥᱟᱯᱲᱟᱣ ᱠᱷᱚᱱ ᱨᱩᱠᱷᱤᱭᱟᱹᱨᱮ ᱢᱮᱱᱟᱜ-ᱟ, ᱠᱟᱨᱚᱱ ᱱᱚᱣᱟ ᱥᱟᱦᱴᱟ ᱫᱚ ᱞᱟᱛᱟᱨ ᱨᱮᱭᱟᱜ {{PLURAL:$1 ᱜᱟᱱ ᱥᱟᱦᱴᱟ ᱨᱮᱭᱟᱜ ᱜᱟᱱ ᱥᱟᱦᱴᱟ ᱨᱮᱭᱟᱜ}} ᱵᱷᱤᱛᱨᱤᱨᱮ, ᱚᱠᱟ ᱥᱟᱦᱴᱟ ᱫᱚ (cascading) ᱛᱮ ᱨᱩᱠᱷᱤᱭᱟᱹ ᱢᱮᱱᱟᱜ-ᱟ:\n$2",
-       "namespaceprotected": "Amaḱ do sakamko joṛao lạgit́te ạidạri banuḱ tama '''$1''' ńutumjayga.",
-       "ns-specialprotected": "Asokay teaḱ sakamkodo baṅ oltoṅgea.",
+       "namespaceprotected": "ᱥᱟᱦᱴᱟ ᱡᱚᱱᱚᱲ ᱞᱟᱹᱜᱤᱛ ᱟᱢᱟᱜ ᱟᱹᱭᱫᱟᱹᱨᱤ ᱫᱚ ᱵᱟᱹᱱᱩᱜ ᱛᱟᱢᱟ '''$1''' ᱧᱩᱛᱩᱢ ᱡᱟᱭᱜᱟ᱾",
+       "ns-specialprotected": "ᱟᱥᱚᱠᱟᱭ ᱛᱮᱭᱟᱜ ᱥᱟᱦᱴᱟᱠᱚ ᱥᱟᱯᱲᱟᱣ ᱨᱮᱭᱟᱜ ᱟᱹᱭᱫᱟᱹᱨᱤ ᱫᱚ ᱟᱢᱟᱜ ᱵᱟᱹᱱᱩᱜ-ᱟ᱾",
        "exception-nologin": "ᱵᱟᱢ ᱵᱚᱞᱚ ᱟᱠᱟᱱᱟ",
        "exception-nologin-text": "ᱫᱟᱭᱟᱠᱟᱛᱮ ᱵᱚᱞᱚᱱ ᱢᱮ ᱱᱚᱶᱟ ᱥᱟᱦᱴᱟ ᱨᱮ ᱡᱟᱦᱟᱸᱱ ᱠᱟᱹᱢᱤ ᱞᱟᱹᱜᱤᱫ",
        "virus-badscanner": "Vul konfigareson: baṅ orom vairas skenar: \"$1\"",
        "noname": "Am do asol beoharićaḱ ńutum ṭhikte bam emakada.",
        "loginsuccesstitle": "ᱵᱷᱤᱛᱨᱤ ᱵᱚᱠᱟᱜ ᱫᱚ ᱢᱚᱡᱽᱛᱮᱜᱮ ᱯᱩᱨᱟᱹᱣᱱᱟ",
        "loginsuccess": "'''Am do nitge \"$1\" ńutumte {{SITENAME}} rem bolo akana.'''",
-       "nosuchuser": "\"$1\" á±§á±©á±\9bᱩᱢá±\9fá±± á±¡á±\9fᱸᱦá±\9fá±± á±µá±®á±µá±·á±\9fᱨᱤᱡ á±µá±\9fᱹᱱᱩᱭá±\9fá±¾ á±µá±®á±µá±·á±\9fᱨᱤᱡ á±§á±©á±\9bᱩᱢ á±«á±\9a á±µá±©á± á±¨á±©á±\9cᱮᱭá±\9fá±¾ á±\9fá±¢á±\9fá±\9c á±µá±\9fá±±á±\9fᱱᱠᱩ  á±§á±®á±\9eᱢᱮ, á±¥á±® [[Special:CreateAccount|á±±á±\9fá±£á±\9f á±¢á±¤á±«á±´á±®á±± á±¦á±¤á±«á±\9fᱹᱵ á± á±·á±\9fá±\9bá±\9f ᱛᱮᱭᱟᱨᱢᱮ]]᱾",
+       "nosuchuser": "\"$1\" á±§á±©á±\9bᱩᱢá±\9fá±± á±¡á±\9fᱸᱦá±\9fá±± á±µá±®á±µá±·á±\9fᱨᱤᱡ á±µá±\9fᱹᱱᱩᱭá±\9fá±¾ á±µá±®á±µá±·á±\9fᱨᱤᱡ á±§á±©á±\9bᱩᱢ á±«á±\9a á±µá±©á± á±¨á±©á±\9cᱮᱭá±\9fá±¾ á±\9fá±¢á±\9fá±\9c á±µá±\9fá±±á±\9fᱱᱠᱩ  á±§á±®á±\9eᱢᱮ, á±¥á±® [[Special:CreateAccount|á±±á±\9fá±£á±\9f á±¢á±¤á±«á±´á±®á±± á±®á± á±\9fᱶᱩᱴ ᱛᱮᱭᱟᱨᱢᱮ]]᱾",
        "nosuchusershort": "\"$1\" ńutuman jahãe beoharko do banuḱkoa. Ńutum reaḱ banan biḍaomẽ.",
        "nouserspecified": "Am do pusṭaote laṛcaṛićaḱ ńutum em hoyoḱtama.",
        "login-userblocked": "Nui laṛcaṛic doe esetgea. bhitri boloḱ ạidạri bań emoḱ kana.",
        "noemail": "\"$1\" beoharić lạgit́te do jahan e-mail ṭhikana rukhiyạ doho bạnuḱa.",
        "noemailcreate": "Am do mitṭen jewet e-mail ṭhikạna em jaruṛ menaḱtama.",
        "passwordsent": "\"$1\" ṭhikạnate resṭariyen e-mail lạgit́te mitṭen oku nambar em hoyena.\nDaya kate ńam porte arhõ bhitri boloḱme.",
-       "blocked-mailpassword": "á±\9fá±¢á±\9fá±\9c IP á±´á±·á±¤á± á±\9fᱹᱱá±\9f á± á±·á±\9aá±± á±¥á±\9fᱯᱲá±\9fá±£ á±°á±\9aᱱᱫᱷ ᱜᱮᱭᱟ᱾ ᱚᱱᱟᱛᱮ ᱱᱚᱣᱟ ᱴᱷᱤᱠᱟᱹᱱᱟ ᱵᱟᱝ ᱵᱮᱵᱷᱟᱨ ᱠᱟᱛᱮ ᱩᱠᱩ ᱱᱟᱢᱵᱟᱨ ᱨᱩᱣᱟᱹᱲ ᱵᱟᱝ ᱦᱩᱭᱩᱜ-ᱟ᱾",
+       "blocked-mailpassword": "á±\9fá±¢á±\9fá±\9c IP á±´á±·á±¤á± á±\9fᱹᱱá±\9f á± á±·á±\9aá±± á±¥á±\9fᱯᱲá±\9fá±£ á±°á±\9aᱱᱫᱽ ᱜᱮᱭᱟ᱾ ᱚᱱᱟᱛᱮ ᱱᱚᱣᱟ ᱴᱷᱤᱠᱟᱹᱱᱟ ᱵᱟᱝ ᱵᱮᱵᱷᱟᱨ ᱠᱟᱛᱮ ᱩᱠᱩ ᱱᱟᱢᱵᱟᱨ ᱨᱩᱣᱟᱹᱲ ᱵᱟᱝ ᱦᱩᱭᱩᱜ-ᱟ᱾",
        "mailerror": "E-mail kulte eṭkẽṭõrẽ: $1",
-       "emailauthenticated": "ᱟᱢᱟᱜ e-mail ᱴᱷᱤᱠᱟᱹᱱᱟ ᱫᱚ $2 ᱛᱟᱹᱨᱤᱠᱷ ᱨᱮᱭᱟᱜ $3 ᱨᱮ ᱡᱟᱹᱦᱤᱨᱮᱱᱟ᱾",
-       "emailnotauthenticated": "Amaḱ e-mail reaḱ ṭhikạna do <strong> nit hõ baṅ jacay akana</strong> latar reaḱ features lạgit́te jahan e-mail do baṅkuloḱa.",
+       "emailauthenticated": "ᱟᱢᱟᱜ ᱤ-ᱢᱮᱞ ᱴᱷᱤᱠᱟᱹᱱᱟ ᱫᱚ $2 ᱛᱟᱹᱨᱤᱠᱷ ᱨᱮᱭᱟᱜ $3 ᱨᱮ ᱡᱟᱹᱦᱤᱨᱮᱱᱟ᱾",
+       "emailnotauthenticated": "ᱟᱢᱟᱜ e-mail ᱨᱮᱭᱟᱜ ᱴᱷᱤᱠᱟᱹᱱᱟ ᱫᱚ <strong> ᱱᱤᱛ ᱦᱚᱸ ᱵᱟᱝ ᱡᱟᱹᱪᱟᱹᱭ ᱟᱠᱟᱱᱟ </strong> ᱞᱟᱛᱟᱨ ᱨᱮᱭᱟᱜ features ᱞᱟᱹᱜᱤᱛᱛᱮ ᱡᱟᱸᱦᱟᱸᱱ e-mail ᱫᱚ ᱵᱟᱝᱠᱩᱞᱟᱠᱳ᱾",
        "noemailprefs": "Noa features ko kạmie ocoy lạgit́te mit́ṭen e-mail ṭhikạna dohoe hoyoḱa.",
        "emailconfirmlink": "Amaḱ e-mail ṭhikana do sạriyme.",
        "invalidemailaddress": "Noa e-mail ṭhikạna do baṅ hataoa, karon noa formeṭ do pusṭạote baṅ em akana. Dayakate pusṭao formeṭte ṭhikạna emmẽ, se khet do khạliemẽ.",
        "cannotchangeemail": "Ekaunṭ e-mail ṭhikạnakodo noa wiki re baṅ bodoloḱ kana.",
        "emaildisabled": "Noa sayeṭre do e-mail em subita bạnuḱa.",
        "accountcreated": "ᱦᱤᱥᱟᱹᱵ ᱠᱷᱟᱛᱟ ᱛᱮᱭᱟᱨᱱᱟ",
-       "accountcreatedtext": "$1 lạgit́te ekaunṭ do benaoena.",
+       "accountcreatedtext": "$1 ᱞᱟᱹᱜᱤᱛᱛᱮ ᱮᱠᱟᱣᱱᱴ ᱫᱚ ᱵᱮᱱᱟᱣᱮᱱᱟ᱾",
        "createaccount-title": "{{SITENAME}} ᱞᱟᱹᱜᱤᱛᱛᱮ ᱦᱤᱥᱟᱹᱵ ᱠᱷᱟᱛᱟ ᱛᱮᱭᱟᱨ",
        "createaccount-text": "Okoe co am lạgit́te mitṭen ekaunṭko amaḱ e-mail ṭhikạna lạgit {{SITENAME}} re ($4) ńutum \"$2\", oku nambar \"$3\".\nAm do mesagem baṅ daṛeyaḱa, judi noa ekaunṭ do vulge benaolen khan.",
-       "login-throttled": "Am do mitghạri lahare por por aema dhao boloḱem kurumuṭu keda.\nArhõ kurumuṭue lahare dayakate thoṛagan tạṅgiemẽ.",
-       "login-abort-generic": "Amaḱ bhitri boloḱ do baṅ hoylena - batena.",
+       "login-throttled": "ᱟᱢ ᱫᱚ ᱢᱤᱫᱜᱷᱟᱹᱲᱤ ᱞᱟᱦᱟᱨᱮ ᱟᱭᱢᱟ ᱫᱷᱟᱣ ᱵᱚᱞᱚᱜᱮᱢ ᱠᱩᱨᱩᱢᱩᱴᱩ ᱠᱮᱫᱟ᱾ \nᱟᱨᱦᱚᱸ ᱠᱩᱨᱩᱢᱩᱴᱩᱭ ᱞᱟᱦᱟᱨᱮ ᱫᱟᱭᱟᱠᱟᱛᱮ ᱛᱷᱟᱲᱟᱜᱟᱱ ᱛᱟᱸᱜᱤᱭᱢᱮ᱾",
+       "login-abort-generic": "ᱟᱢᱟᱜ ᱵᱷᱤᱛᱨᱤ ᱵᱚᱠᱟᱜ ᱫᱚ ᱵᱟᱝ ᱦᱩᱭᱞᱮᱱᱟ - ᱵᱟᱫᱽᱱᱟ",
        "loginlanguagelabel": "ᱯᱟᱹᱨᱥᱤ: $1",
        "pt-login": "ᱵᱚᱞᱚᱜ ᱫᱩᱭᱟᱹᱨ",
        "pt-login-button": "ᱵᱚᱞᱚᱜ ᱢᱮ",
        "newpassword": "ᱱᱟᱶᱟ ᱫᱟᱱᱟᱝᱥᱟᱵᱟᱫᱽᱺ",
        "retypenew": "ᱫᱚᱲᱦᱟᱛᱮ ᱫᱟᱱᱟᱝ ᱥᱟᱵᱟᱫᱽ ᱚᱞᱢᱮ:",
        "resetpass_submit": "ᱫᱟᱱᱟᱝ ᱥᱟᱵᱟᱫᱽ ᱮᱢᱢᱮ ᱟᱨ ᱵᱚᱞᱚᱜ ᱢᱮ",
-       "changepassword-success": "Amaḱ oku namber do napayte bodolena!\nNitoḱ do am bhitritem boloḱkana...",
+       "changepassword-success": "ᱟᱢᱟᱜ ᱫᱟᱱᱟᱝ ᱥᱟᱵᱟᱫᱽ ᱫᱚ ᱵᱚᱫᱚᱞᱮᱱᱟ!",
        "botpasswords": "ᱵᱚᱴ ᱫᱟᱱᱟᱝ ᱥᱟᱵᱟᱫᱽ",
        "botpasswords-createnew": "ᱱᱟᱶᱟ ᱵᱚᱴ ᱫᱟᱱᱟᱝ ᱥᱟᱵᱟᱫᱽ ᱛᱮᱭᱟᱨᱢᱮ",
        "botpasswords-label-appid": "ᱵᱚᱴ ᱧᱩᱛᱩᱢ:",
        "passwordreset-email": "ᱤᱢᱮᱞ ᱵᱩᱴᱟᱹ:",
        "passwordreset-emailtitle": "{{SITENAME}} sayeṭre beoharićaḱ purạo thutiko",
        "passwordreset-emailelement": "ᱵᱮᱵᱦᱟᱨᱤᱭᱟᱜ ᱧᱩᱛᱩᱢ: \n$1\n\nᱢᱤᱫ ᱜᱷᱟᱹᱲᱤ ᱞᱟᱹᱜᱤᱛ ᱫᱟᱱᱟᱝ ᱱᱟᱵᱟᱫᱽ: \n$2",
-       "passwordreset-emailsentemail": "Mitṭen disạ ruaṛ e-mail do kulena.",
+       "passwordreset-emailsentemail": "ᱱᱚᱣᱟ ᱤᱢᱮᱞ ᱴᱷᱤᱠᱟᱹᱱᱟ ᱦᱤᱥᱟᱹᱵ ᱠᱷᱟᱛᱟ ᱥᱟᱶᱛᱮ ᱢᱮᱥᱟ ᱢᱮᱱᱟᱜ ᱠᱷᱟᱡ ᱩᱠᱩ ᱱᱚᱢᱵᱚᱨ ᱫᱤᱥᱟᱹ ᱨᱩᱣᱟᱹᱲ  ᱤᱢᱮᱞ ᱫᱚ ᱠᱩᱞᱮᱱᱟ᱾",
        "changeemail": "ᱤᱢᱮᱞ ᱴᱷᱤᱠᱱᱟ ᱵᱚᱫᱚᱞ ᱢᱮ ᱥᱮ ᱚᱪᱚᱜᱽ ᱢᱮ",
-       "changeemail-header": "Ekaunṭ e-mail ṭhikạna do bodolme",
+       "changeemail-header": "e-mail ᱴᱷᱤᱠᱟᱹᱱᱟ ᱵᱚᱫᱚᱞ ᱞᱟᱹᱜᱤᱛᱛᱮ ᱱᱤᱭᱟᱹ ᱯᱷᱚᱨᱢ ᱯᱩᱨᱳᱱᱢᱮ᱾ ᱡᱟᱸᱦᱟᱸᱱ email ᱡᱩ ᱦᱤᱥᱟᱹᱵ ᱠᱷᱟᱛᱟ ᱨᱮ ᱢᱮᱥᱟ ᱢᱮᱱᱟᱜ-ᱟ ᱚᱱᱟᱠᱩ ᱚᱪᱚᱜ ᱞᱟᱹᱜᱤᱛ email ᱴᱷᱤᱠᱟᱹᱱᱟ ᱚᱞ ᱡᱟᱜᱟ ᱫᱚ ᱯᱷᱟᱠᱟ ᱫᱚᱦᱚᱭᱢᱮ᱾",
        "changeemail-no-info": "Noa sakam sojhete laṛcaṛ lạgit́te am do bhitri boloḱ hoyoḱtama.",
        "changeemail-oldemail": "ᱱᱮᱛᱚᱜ-ᱟᱜ ᱤᱢᱮᱞ ᱴᱷᱤᱠᱟᱹᱱᱟ",
        "changeemail-newemail": "ᱱᱟᱣᱟ ᱤᱢᱮᱞ ᱵᱩᱴᱟᱹ:",
        "loginreqlink": "ᱵᱚᱞᱚᱜ ᱢᱮ",
        "loginreqpagetext": "Eṭagaḱ sakamko ńel lạgit́te do am $1 hoyoḱ jạruṛtama.",
        "accmailtitle": "ᱫᱟᱱᱟᱝ ᱥᱟᱵᱟᱫᱽ ᱠᱩᱞ ᱦᱩᱭᱱᱟ",
-       "accmailtext": "[[User talk:$1 $1]] lạgit́te aćte benaoen uku nambar do $2 kul hoena.\nBhitri bolo kateḱ noa nãwã ekaunṭ lạgit uku nambar \"[[Special:ChangePassword Change password]]\" sakam khonem bodol daṛyakya.",
+       "accmailtext": "[[User talk:$1 $1]] ᱞᱟᱹᱜᱤᱛᱛᱮ ᱟᱪᱛᱮ ᱵᱮᱱᱟᱣᱮᱱ ᱩᱠᱩ ᱱᱚᱢᱵᱚᱨ ᱫᱚ $2 ᱠᱩᱞ  ᱦᱩᱭᱮᱱᱟ᱾\nᱵᱷᱤᱛᱨᱤ ᱵᱚᱞᱚ ᱠᱟᱛᱮ ᱱᱚᱣᱟ ᱱᱟᱣᱟ ᱦᱤᱥᱟᱹᱵ ᱠᱷᱟᱛᱟ ᱞᱟᱹᱜᱤᱛ ᱩᱠᱩ ᱱᱚᱢᱵᱚᱨ \"[[Special:ChangePassword Change password]]\" ᱥᱟᱦᱴᱟ ᱠᱷᱚᱱᱮᱢ ᱵᱚᱫᱚᱞ ᱫᱟᱲᱮᱭᱟᱜ-ᱟ᱾",
        "newarticle": "(ᱱᱟᱣᱟᱱᱟᱜ)",
        "newarticletext": "ᱟᱢ ᱚᱠᱟ ᱥᱟᱦᱴᱟ ᱨᱮᱱᱟᱜ ᱡᱚᱱᱟᱲᱮᱢ ᱯᱟᱸᱡᱟᱸ ᱟᱹᱜᱩᱭᱫᱟ ᱚᱱᱚ ᱫᱚ ᱵᱟᱱᱩᱜ-ᱟ᱾\nᱚᱱᱟ ᱥᱟᱦᱴᱟ ᱛᱮᱭᱟᱨ ᱞᱟᱹᱜᱤᱛ ᱛᱮ, ᱞᱟᱛᱟᱨ ᱵᱟᱠᱥᱚ ᱵᱷᱤᱛᱨᱤᱨᱮ ᱚᱞ ᱮᱦᱚᱵ ᱢᱮ (ᱟᱨᱦᱚᱸ ᱡᱟᱹᱥᱛᱤ ᱵᱟᱰᱟᱭ ᱞᱟᱹᱜᱤᱛᱴᱮ [$1 ᱜᱚᱸᱲᱚᱸ ᱥᱟᱦᱴᱟ] ᱯᱟᱸᱡᱚᱸᱭᱢᱮ)᱾\nᱟᱢ ᱵᱷᱩᱞᱛᱮ ᱱᱚᱸᱰᱮᱢ ᱦᱮᱡ ᱟᱠᱟᱱ ᱠᱷᱟᱡ, ᱟᱢᱟᱜ ᱵᱨᱟᱣᱡᱟᱨ ᱨᱮᱱᱟᱜ '''ᱛᱟᱭᱚᱢ''' ᱵᱟᱴᱚᱱ ᱞᱤᱱᱢᱮ᱾",
        "anontalkpagetext": "----\n\n<em>ᱱᱚᱶᱟ ᱫᱚ ᱜᱟᱞᱚᱪ ᱥᱟᱦᱴᱟ ᱠᱟᱱᱟ ᱩᱠᱩᱧᱩᱛᱩᱢ ᱵᱮᱵᱷᱟᱨᱤᱭᱟᱹ ᱠᱚᱣᱟᱜ ᱡᱟᱦᱟᱸᱭ ᱫᱚ ᱠᱷᱟᱛᱟ ᱵᱟᱭ ᱛᱮᱭᱟᱨ ᱟᱠᱟᱫᱟ ᱱᱤᱛ ᱦᱟᱹᱵᱤᱡ, ᱟᱨᱵᱟᱝ ᱡᱟᱦᱟᱸᱭ ᱵᱮᱵᱷᱟᱨ ᱟᱠᱟᱫᱟ ᱱᱚᱶᱟ ᱾</em>\nᱚᱱᱟᱛᱮ ᱟᱞᱮ ᱮᱞᱮᱞ IP ᱞᱮ ᱵᱮᱵᱷᱟᱨᱮᱜ-ᱟ ᱩᱱᱤ ᱪᱤᱱᱦᱟᱹᱣ ᱞᱟᱹᱜᱤᱫ ᱾\nᱚᱱᱠᱟᱱ IP ᱵᱩᱴᱟᱹ ᱫᱚ ᱦᱟᱹᱴᱤᱧ ᱫᱟᱲᱮᱭᱟᱜ-ᱟ ᱛᱤᱢᱤᱱ ᱵᱮᱵᱷᱟᱨᱤᱭᱟᱹ ᱫᱟᱨᱟᱭᱛᱮ ᱾\nᱡᱩᱫᱤ ᱟᱢ ᱩᱠᱩᱧᱩᱛᱩᱢ ᱵᱮᱵᱷᱟᱨᱤᱭᱟᱹ ᱠᱟᱱᱟᱢ ᱟᱨ ᱵᱷᱟᱹᱵᱤᱭᱮᱜ-ᱟᱢ ᱵᱟᱝ ᱡᱚᱲᱟᱣᱟᱱ ᱠᱟᱛᱷᱟ ᱟᱢᱮ ᱩᱫᱩᱜᱢᱮ ᱠᱟᱱᱟ, ᱮᱱᱠᱷᱟᱱ  [[Special:CreateAccount|ᱠᱷᱟᱛᱟ ᱛᱮᱭᱟᱨᱢᱮ]] ᱟᱨᱵᱟᱝ [[Special:UserLogin|ᱞᱚᱜᱤᱱ]] ᱢᱮ ᱫᱟᱨᱟᱭ ᱵᱷᱮᱣᱱᱟ ᱠᱚ ᱥᱟᱦᱟᱭ ᱞᱟᱹᱜᱤᱫ ᱮᱴᱟᱜ ᱩᱠᱩᱧᱩᱛᱩᱢ ᱵᱮᱵᱷᱟᱨᱤᱭᱟᱹ ᱠᱚ ᱥᱟᱶ ᱾",
        "rev-showdeleted": "ᱥᱚᱫᱚᱨ",
        "revisiondelete": "ᱜᱮᱫ ᱜᱤᱰᱤ/ᱵᱟᱝ ᱜᱮᱫ ᱜᱤᱰᱤ ᱥᱩᱫᱷᱨᱟᱹᱣᱠᱚ",
        "revdelete-show-file-submit": "ᱦᱮᱸ",
-       "revdelete-hide-text": "Nãwã aroe olko ukuemẽ",
+       "revdelete-hide-text": "ᱚᱞᱠᱩ ᱧᱮᱞ ᱨᱩᱣᱟᱹᱲ ᱢᱮ",
        "revdelete-hide-image": "ᱨᱮᱫ ᱥᱟᱛᱚᱢᱠᱩ ᱩᱠᱩᱭᱢᱮ",
        "revdelete-hide-name": "ᱠᱟᱹᱢᱤ ᱟᱨ ᱵᱮᱡᱷᱟ ᱩᱠᱩᱭᱢᱮ",
        "revdelete-hide-comment": "ᱥᱟᱯᱲᱟᱣ ᱜᱩᱴᱠᱟᱛᱷᱟ",
        "datedefault": "ᱠᱩᱥᱤ ᱵᱟᱹᱱᱩᱜ-ᱟ",
        "prefs-user-pages": "ᱵᱮᱵᱦᱟᱨᱤᱭᱟᱜ ᱥᱟᱦᱴᱟᱠᱚ",
        "prefs-resetpass": "ᱫᱟᱱᱟᱝ ᱥᱟᱵᱟᱫᱽ ᱵᱚᱫᱚᱞ",
-       "prefs-changeemail": "E-mail ᱴᱷᱤᱠᱟᱱᱟ ᱵᱚᱫᱚᱞ ᱥᱮ ᱜᱮᱫ ᱜᱤᱰᱤᱭᱢᱮ",
+       "prefs-changeemail": "ᱤᱢᱮᱞ ᱴᱷᱤᱠᱟᱱᱟ ᱵᱚᱫᱚᱞ ᱥᱮ ᱜᱮᱫ ᱜᱤᱰᱤᱭᱢᱮ",
        "prefs-setemail": "ᱤᱢᱮᱞ ᱵᱩᱴᱟᱹ ᱡᱚᱲᱟᱣᱢᱮ",
        "saveprefs": "ᱨᱩᱠᱷᱤᱭᱟᱹᱭᱢᱮ",
        "searchresultshead": "ᱥᱮᱸᱫᱽᱨᱟ",
        "right-writeapi": "ᱚᱞ API ᱨᱮᱱᱟᱜ ᱵᱮᱵᱷᱟᱨ",
        "right-delete": "ᱥᱟᱦᱴᱟᱠᱚ ᱜᱮᱫᱽ ᱢᱮ",
        "right-browsearchive": "ᱥᱮᱸᱫᱽᱨᱟᱭ ᱢᱮ ᱜᱮᱫ ᱟᱠᱟᱱᱟ ᱥᱟᱦᱴᱟᱠᱚ",
-       "newuserlogpage": "ᱵᱮᱵᱦᱟᱨᱤᱭᱟᱜ ᱛᱮᱭᱟᱨ ᱪᱟᱹᱵᱤ",
+       "newuserlogpage": "ᱵᱮᱵᱷᱟᱨᱤᱭᱟᱜ ᱛᱮᱭᱟᱨ ᱪᱟᱹᱵᱤ",
        "rightslog": "ᱵᱮᱵᱷᱟᱨᱤᱭᱟᱹ ᱟᱹᱭᱫᱟᱹᱨ ᱞᱚᱜᱽ",
        "action-edit": "ᱱᱚᱭᱟ ᱥᱟᱦᱴᱟ ᱥᱟᱯᱲᱟᱣᱢᱮ",
        "action-createaccount": "ᱱᱚᱶᱟ ᱵᱮᱵᱷᱟᱨᱤᱭᱟᱹ ᱠᱷᱟᱛᱟ ᱵᱮᱱᱟᱣ",
index 6bd59b7..07cf146 100644 (file)
        "prefs-namespaces": "نانءُپولار",
        "default": "ڏنل",
        "prefs-files": "فائيلس",
+       "prefs-reset-intro": "اوهان هن صفحي جي مدد سان مرتب ڪيل ترجيحات کي اصل ترجيحات ۾ بدلائي سگھو ٿا.\nياد رکو، هي عمل واپس نٿو ٿي سگھي.",
        "prefs-emailconfirm-label": "برقٽپال خاطري:",
        "youremail": "برقٽپال:",
        "username": "{{GENDER:$1|واپرائيندڙ-نانءُ}}",
        "uploadnologin": "داخل ٿيل ناھيو",
        "uploadnologintext": "فائيل چاڙهڻ لاءِ $1.",
        "uploaderror": "چاڙھ چُڪَ",
+       "uploadtext": "فائل چاڙهڻ لاءِ هيٺيون فارم استعمال ڪيو.\nپراڻا چاڙهيل فائل ڏسڻ يا ڳولڻ لاءِ [[Special:FileList|چاڙهيل فائلن جي فهرست]] تي وڃو، ٻهير چاڙهيل فائل [[Special:Log/upload|چاڙهيل لاگ]] ۽ ختم ڪيل [[Special:Log/delete|ڊاٺ لاگ]] تي ڏسي سگھجن ٿا.\n\nفائل جي استعمال لاءِ هيٺ ڏيکاريل طريقو استعمال ڪري سگھجي ٿو:\n* <strong><code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:فائل جو نالو.jpg]]</nowiki></code></strong> فائل جي مڪمل استعمال لاءِ\n* <strong><code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:فائل جو نالو.png|200px|thumb|left|متبادل اکر]]</nowiki></code></strong> هن جي مدد سان تصوير جي سائيز ڏئي سگھجي ٿي جيئن 200 پگزل\n* <strong><code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:File.ogg]]</nowiki></code></strong> فائل کي ڏيکارڻ کان بغير شامل ڪرڻ",
        "uploadlogpage": "چاڙھ لاگ",
        "filename": "فائيل نانءُ",
        "filedesc": "خلاصو",
        "movepagebtn": "صفحو چوريو",
        "pagemovedsub": "چورڻ جو عمل ڪامياب ٿيو",
        "movepage-moved": "'''\"$1\" کي چوري \"$2\" تي رکيو ويو آهي'''",
+       "movepage-moved-redirect": "چورڻو مڪمل ٿيو.",
        "articleexists": "ان نالي سان صفحو اڳي ئي وجود رکي ٿو، يا ته توهان جو ڏنل نالو ناقابلڪار آهي.",
        "movetalk": "لاڳاپيل مباحثي صفحو چوريو",
        "movelogpage": "چورڻ لاگ",
index ff5e393..1e285b5 100644 (file)
        "minutes-ago": "$1 {{PLURAL:$1|ⵜⵓⵙⴷⵉⴷⵜ|ⵜⵓⵙⴷⵉⴷⵉⵏ}} ⴰⵢⴰ",
        "seconds-ago": "$1 {{PLURAL:$1|ⵜⵙⵉⵏⵜ|ⵜⵙⵉⵏⵉⵏ}} ⴰⵢⴰ",
        "bad_image_list": "zud ghikad :\n\nghir lhwayj n lista (stour libdounin s *) karaytyo7asab",
-       "variantname-shi-tfng": "ⵜⴰⵛⵍⵃⵉⵜ",
-       "variantname-shi-latn": "Tašlḥiyt",
-       "variantname-shi": "disable",
+       "variantname-shi-tfng": "",
+       "variantname-shi-latn": "Tacelḥiyt",
+       "variantname-shi": "Tacelḥiyt",
        "metadata": "ⵎⵉⵜⴰⴷⴰⵜⴰ",
        "metadata-help": "ⵢⵓⵙⵢ ⵓⴼⴰⵢⵍⵓ ⴰⴷ ⵓⵎⵍⴰⵏ , lli tfl lkamira tuṭunit niɣd aṣfḍ n uxddam lliɣ ay sgadda asdaw ad.\nⵉⵖ ⵉⵏⴼⵍ ⵓⴼⴰⵢⵍⵓ ⵣⵖ ⴰⴷⴷⴰⴷ ⵏⵏⵙ ⴰⵏⵚⵍⵉ, .",
        "metadata-expand": "Ml ifruriyn lluzzanin",
index f30b990..a0d4524 100644 (file)
        "customcssprotected": "Nimate pravice urejati te strani CSS, ker vsebuje osebne nastavitve drugega uporabnika.",
        "customjsonprotected": "Nimate pravice urejati te strani JSON, ker vsebuje osebne nastavitve drugega uporabnika.",
        "customjsprotected": "Nimate pravice urejati te strani JavaScript, ker vsebuje osebne nastavitve drugega uporabnika.",
+       "sitecssprotected": "Nimate dovoljenja urejati te strani CSS, saj lahko vpliva na vse obiskovalce",
+       "sitejsonprotected": "Nimate dovoljenja urejati te strani JSON, saj lahko vpliva na vse obiskovalce",
+       "sitejsprotected": "Nimate dovoljenja urejati te strani JavaScript, saj lahko vpliva na vse obiskovalce",
        "mycustomcssprotected": "Nimate pravic za urejanje te strani s CSS.",
        "mycustomjsonprotected": "Nimate pravic za urejanje te strani z JSON.",
        "mycustomjsprotected": "Nimate pravic za urejanje te strani z JavaScriptom.",
        "createacct-another-username-ph": "Vnesite uporabniško ime",
        "yourpassword": "Geslo:",
        "userlogin-yourpassword": "Geslo",
-       "userlogin-yourpassword-ph": "Vnesite svoje geslo",
+       "userlogin-yourpassword-ph": "Vnesi svoje geslo",
        "createacct-yourpassword-ph": "Vnesite geslo",
        "yourpasswordagain": "Ponovno vpišite geslo",
        "createacct-yourpasswordagain": "Potrdite geslo",
        "userlogin-resetpassword-link": "Ste pozabili svoje geslo?",
        "userlogin-helplink2": "Pomoč pri prijavi",
        "userlogin-loggedin": "Prijavljeni ste že kot {{GENDER:$1|$1}}.\nUporabite spodnji obrazec, da se prijavite kot drug uporabnik.",
-       "userlogin-reauth": "Ponovno se morate prijaviti, da potrditev, da ste {{GENDER:$1|$1}}.",
+       "userlogin-reauth": "Za potrditev, da si res {{GENDER:$1|$1}}, se moraš ponovno prijaviti.",
        "userlogin-createanother": "Ustvari drug račun",
        "createacct-emailrequired": "E-poštni naslov",
        "createacct-emailoptional": "E-poštni naslov (izbirno)",
        "prefs-watchlist": "Spisek nadzorov",
        "prefs-editwatchlist": "Uredi spisek nadzorov",
        "prefs-editwatchlist-label": "Uredi vnose na svojem spisku nadzorov:",
-       "prefs-editwatchlist-edit": "Preglejte in odstranite naslove s svojega spiska nadzorov",
-       "prefs-editwatchlist-raw": "Uredite gol spisek nadzorov",
-       "prefs-editwatchlist-clear": "Počistite svoj spisek nadzorov",
+       "prefs-editwatchlist-edit": "Preglej in odstrani naslove s svojega spiska nadzorov",
+       "prefs-editwatchlist-raw": "Uredi gol spisek nadzorov",
+       "prefs-editwatchlist-clear": "Počisti svoj spisek nadzorov",
        "prefs-watchlist-days": "Število dni za prikaz na spisku nadzorov:",
        "prefs-watchlist-days-max": "Največ $1 {{PLURAL:$1|dan|dneva|dni}}",
        "prefs-watchlist-edits": "Največje število sprememb za prikaz na spisku nadzorov:",
        "recentchangesdays-max": "Največ $1 {{PLURAL:$1|dan|dneva|dnevi|dni}}",
        "recentchangescount": "Število urejanj v zadnjih spremembah, zgodovinah strani in dnevnikih, privzeto:",
        "prefs-help-recentchangescount": "Največje število: 1000",
-       "prefs-help-watchlist-token2": "To je skrivni ključ do spletnega vira vašega spiska nadzorov.\nKdor ve zanj, lahko bere vaš spisek nadzorov, zato ključa ne delite.\nČe želite, [[Special:ResetTokens|ga lahko ponastavite]].",
+       "prefs-help-watchlist-token2": "To je skrivni ključ do spletnega vira tvojega spiska nadzorov.\nKdor ga pozna, lahko bere tvoj spisek nadzorov, zato ključa ne deli z drugimi.\nČe želiš, [[Special:ResetTokens|ga lahko ponastaviš]].",
        "prefs-help-tokenmanagement": "Lahko si ogledate ali ponastavite skrivni ključ vašega računa, s katerim lahko dostopate do spletnega vira vašega spiska nadzorov. Vsak, ki pozna vaš ključ, lahko bere vaš spisek nadzorov, zato ga ne delite.",
        "savedprefs": "Spremembe smo uspešno shranili.",
        "savedrights": "Uporabniške skupine {{GENDER:$1|$1}} smo shranili.",
        "group-autoconfirmed": "Samodejno potrjeni uporabniki",
        "group-bot": "Boti",
        "group-sysop": "Administratorji",
+       "group-interface-admin": "Administratorji vmesnika",
        "group-bureaucrat": "Birokrati",
        "group-suppress": "Ukinjevalci",
        "group-all": "(vsi)",
        "group-autoconfirmed-member": "{{GENDER:$1|samodejno potrjen uporabnik|samodejno potrjena uporabnica}}",
        "group-bot-member": "{{GENDER:$1|bot}}",
        "group-sysop-member": "{{GENDER:$1|administrator|administratorka}}",
+       "group-interface-admin-member": "{{GENDER:$1|administrator vmesnika|administratorka vmesnika}}",
        "group-bureaucrat-member": "{{GENDER:$1|birokrat|birokratinja}}",
        "group-suppress-member": "{{GENDER:$1|ukinjevalec|ukinjevalka}}",
        "grouppage-user": "{{ns:project}}:Uporabniki",
        "grouppage-autoconfirmed": "{{ns:project}}:Samodejno potrjeni uporabniki",
        "grouppage-bot": "{{ns:project}}:Boti",
        "grouppage-sysop": "{{ns:project}}:Administratorji",
+       "grouppage-interface-admin": "{{ns:project}}:Administratorji vmesnika",
        "grouppage-bureaucrat": "{{ns:project}}:Birokrati",
        "grouppage-suppress": "{{ns:project}}:Ukinjevalci",
        "right-read": "Branje strani",
        "right-editusercss": "Uredi CSS datotek drugih uporabnikov",
        "right-edituserjson": "Urejanje JSON-datotek drugih uporabnikov",
        "right-edituserjs": "Uredi JS datotek drugih uporabnikov",
+       "right-editsitecss": "Urejanje CSS spletišča",
+       "right-editsitejson": "Urejanje JSON spletišča",
+       "right-editsitejs": "Urejanje JavaScripta spletišča",
        "right-editmyusercss": "Uredite svoje uporabniške datoteke CSS",
        "right-editmyuserjson": "Urejanje svojih uporabniških datotek JSON",
        "right-editmyuserjs": "Uredite svoje uporabniške datoteke JavaScript",
        "grant-createaccount": "Ustvarjanje računov",
        "grant-createeditmovepage": "Ustvarjanje, urejanje in prestavljanje strani",
        "grant-delete": "Brisanje strani, redakcij in dnevniških vnosov",
-       "grant-editinterface": "Urejanje imenskega prostora MediaWiki in uporabniškega CSS/JSON/JavaScripta",
+       "grant-editinterface": "Urejanje imenskega prostora MediaWiki in JSON spletišča/uporabnika",
        "grant-editmycssjs": "Urejanje svojega uporabniškega CSS/JSON/JavaScripta",
        "grant-editmyoptions": "Urejanje svojih uporabniških nastavitev",
        "grant-editmywatchlist": "Urejanje svojega spiska nadzorov",
+       "grant-editsiteconfig": "Urejanje CSS/JS spletišča in uporabnika",
        "grant-editpage": "Urejanje obstoječih strani",
        "grant-editprotected": "Urejanje zaščitenih strani",
        "grant-highvolume": "Visokoobsežno urejanje",
        "uploadstash-zero-length": "Datoteka ima nično dolžino.",
        "invalid-chunk-offset": "Neveljaven odmik delčka",
        "img-auth-accessdenied": "Dostop zavrnjen",
-       "img-auth-nopathinfo": "Manjka PATH_INFO.\nVaš strežnik ne poda te informacije.\nMorda temelji na CGI in ne more podpirati img_auth.\nOglejte si  https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization.",
+       "img-auth-nopathinfo": "Manjka informacija o poti.\nVaš strežnik mora biti nastavljen tako, da posreduje spremenljivki REQUEST_URI in/ali PATH_INFO.\nČe je, poskusite omogočiti $wgUsePathInfo.\nOglejte si  https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization.",
        "img-auth-notindir": "Zahtevana pot ni v konfigurirani mapi za nalaganje.",
        "img-auth-badtitle": "Ni mogoče sestaviti veljavnega naslova iz »$1«.",
        "img-auth-nologinnWL": "Niste prijavljeni in »$1« ni na seznamu dovoljenih datotek.",
        "watchlistedit-raw-added": "{{PLURAL:$1|Dodana je bila $1 stran|Dodani sta bili $1 strani|Dodane so bile $1 strani|Dodanih je bilo $1 strani}}:",
        "watchlistedit-raw-removed": "{{PLURAL:$1|Odstranjena je bila $1 stran|Odstranjeni sta bili 2 strani|Odstranjene so bile $1 strani|Odstranjenih je bilo $1 strani}}:",
        "watchlistedit-clear-title": "Počisti spisek nadzorov",
-       "watchlistedit-clear-legend": "Počistite spisek nadzorov",
+       "watchlistedit-clear-legend": "Počisti spisek nadzorov",
        "watchlistedit-clear-explain": "Vse naslove bomo odstranili z vašega spiska nadzorov",
        "watchlistedit-clear-titles": "Naslovi:",
        "watchlistedit-clear-submit": "Počisti spisek nadzorov (To je trajno!)",
        "passwordpolicies-policy-passwordcannotmatchusername": "Geslo ne more biti enako kot uporabniško ime",
        "passwordpolicies-policy-passwordcannotmatchblacklist": "Geslo se ne sme ujemati s posebej prepovedanimi gesli",
        "passwordpolicies-policy-maximalpasswordlength": "Geslo ne sme biti daljše od $1 {{PLURAL:$1|znak|znaka|znake|znakov}}",
-       "passwordpolicies-policy-passwordcannotbepopular": "Geslo ne sme biti {{PLURAL:$1|1=popularno geslo|na seznamu $1 popularnih gesel}}"
+       "passwordpolicies-policy-passwordcannotbepopular": "Geslo ne sme biti {{PLURAL:$1|1=popularno geslo|na seznamu $1 popularnih gesel}}",
+       "easydeflate-invaliddeflate": "Dana vsebina ni pravilno stisnjena"
 }
index 03df866..963b58e 100644 (file)
        "noemailcreate": "Морате навести исправну имејл адресу.",
        "passwordsent": "Нова лозинка је послата на имејл адресу {{GENDER:$1|корисника|кориснице|корисника}} $1.\nПријавите се пошто је примите.",
        "blocked-mailpassword": "Ваша IP адреса има забрану уређивања. Ради спречавања злоупотребе, није дозвољено враћање лозинке са ње.",
-       "eauthentsent": "На наведену имејл адресу је послат потврдни кôд.\nПре него што пошаљемо даљње поруке, пратите упутства с имејла да бисте потврдили да сте Ви отворили налог.",
+       "eauthentsent": "На наведену имејл адресу је послат потврдни код.\nПре него што пошаљемо даљње поруке, пратите упутства с имејла да бисте потврдили да сте Ви отворили налог.",
        "throttled-mailpassword": "Порука за промену лозинке је послата у {{PLURAL:$1|1=последњих сат времена|последња $1 сата|последњих $1 сати}}.\nДа бисмо спречили злоупотребу, подсетник шаљемо само једном у року од {{PLURAL:$1|1=сат времена|$1 сата|$1 сати}}.",
        "mailerror": "Грешка при слању поруке: $1",
        "acct_creation_throttle_hit": "Посетиоци овог викија који користе вашу IP адресу су већ отворили {{PLURAL:$1|1=један налог|$1 налога}} претходни $2, што је највећи дозвољени број у том временском периоду.\nЗбог тога посетиоци с ове IP адресе тренутно не могу отворити више налога.",
        "resetpass-submit-cancel": "Откажи",
        "resetpass-wrong-oldpass": "Неисправна привремена или тренутна лозинка.\nМожда сте већ променили лозинку или сте затражили нову привремену лозинку.",
        "resetpass-recycled": "Унели сте садашњу лозинку, да бисте променили лозинку морате унети нову.",
-       "resetpass-temp-emailed": "Пријавили сте се са привременим кôдом из имејла.\nДа бисте завршили пријављивање морате поставити нову лозинку овде:",
+       "resetpass-temp-emailed": "Пријавили сте се са привременим кодом из имејла.\nДа бисте завршили пријављивање морате поставити нову лозинку овде:",
        "resetpass-temp-password": "Привремена лозинка:",
        "resetpass-abort-generic": "Промену лозинке је спречио додатак.",
        "resetpass-expired": "Ваша лозинка је истекла. Поставите нову лозинку да бисте се пријавили.",
        "editpage-cannot-use-custom-model": "Модел садржаја ове странице се не може променити.",
        "longpageerror": "<strong>Грешка: текст који сте унели је величине {{PLURAL:$1|један килобајт|$1 килобајта}}, што је веће од {{PLURAL:$2|дозвољеног једног килобајта|дозвољена $2 килобајта|дозвољених $2 килобајта}}.</strong>\nСтраница не може бити сачувана.",
        "readonlywarning": "<strong>Упозорење: база података је закључана ради одржавања, тако да тренутно нећете моћи да сачувате измене.</strong>\nМожда бисте желели сачувати текст за касније у некој текстуалној датотеци.\n\nСистемски администратор је навео следеће објашњење: $1",
-       "protectedpagewarning": "<strong>УпозоÑ\80еÑ\9aе: Ð¾Ð²Ð° Ñ\81Ñ\82Ñ\80аниÑ\86а Ñ\98е Ð·Ð°Ñ\88Ñ\82иÑ\9bена, Ñ\82ако Ð´Ð° Ñ\81амо Ð°Ð´Ð¼Ð¸Ð½Ð¸Ñ\81Ñ\82Ñ\80аÑ\82оÑ\80и Ð¼Ð¾Ð³Ñ\83 Ð´Ð° Ñ\98е Ð¼ÐµÑ\9aаÑ\98Ñ\83.</strong>\nÐ\9fоÑ\81ледÑ\9aи Ð·Ð°Ð¿Ð¸Ñ\81 Ñ\83 Ð´Ð½ÐµÐ²Ð½Ð¸ÐºÑ\83 Ñ\98е Ð¿Ñ\80иказан Ð¸Ñ\81под:",
-       "semiprotectedpagewarning": "<strong>Напомена:</strong> ова страница је заштићена, тако да само регистровани корисници могу да је уређују.\nПоследњи запис у дневнику је приказан испод као референца:",
+       "protectedpagewarning": "<strong>УпозоÑ\80еÑ\9aе: Ð¾Ð²Ð° Ñ\81Ñ\82Ñ\80аниÑ\86а Ñ\98е Ð·Ð°Ñ\88Ñ\82иÑ\9bена, Ñ\82ако Ð´Ð° Ñ\81амо ÐºÐ¾Ñ\80иÑ\81ниÑ\86и Ñ\81 Ð°Ð´Ð¼Ð¸Ð½Ð¸Ñ\81Ñ\82Ñ\80аÑ\82оÑ\80Ñ\81ким Ð¾Ð²Ð»Ð°Ñ\88Ñ\9bеÑ\9aима Ð¼Ð¾Ð³Ñ\83 Ð´Ð° Ñ\98е Ð¼ÐµÑ\9aаÑ\98Ñ\83.</strong>\nÐ\9fоÑ\81ледÑ\9aи Ð·Ð°Ð¿Ð¸Ñ\81 Ñ\83 Ð´Ð½ÐµÐ²Ð½Ð¸ÐºÑ\83 Ñ\98е Ð¿Ñ\80иказан Ð¸Ñ\81под ÐºÐ°Ð¾ Ñ\80еÑ\84еÑ\80енÑ\86а:",
+       "semiprotectedpagewarning": "<strong>Напомена:</strong> ова страница је заштићена, тако да само аутоматски потврђени корисници могу да је уређују.\nПоследњи запис у дневнику је приказан испод као референца:",
        "cascadeprotectedwarning": "<strong>Упозорење:</strong> Ова страница је заштићена тако да је могу уређивати само корисници са [[Special:ListGroupRights|одређеним правима]] (администратори), јер је иста укључена у {{PLURAL:$1|следећу страницу која је заштићена|следеће странице које су заштићене}} „преносивом” заштитом:",
-       "titleprotectedwarning": "<strong>Упозорење: ову страницу могу направити само корисници [[Special:ListGroupRights|с одређеним правима]].</strong>\nПоследњи запис у дневнику је приказан испод:",
+       "titleprotectedwarning": "<strong>Упозорење: ова страница је заштићена, тако да су потребна [[Special:ListGroupRights|посебна правима]] да се она направи.</strong>\nПоследњи запис у дневнику је приказан испод као референца:",
        "templatesused": "{{PLURAL:$1|Шаблон који се користи|Шаблони који се користе}} на овој страници:",
        "templatesusedpreview": "{{PLURAL:$1|Шаблон|Шаблони}} у овом претпрегледу:",
        "templatesusedsection": "{{PLURAL:$1|Шаблон|Шаблони}} у овом одељку:",
        "rev-suppressed-diff-view": "Једна од измена ове разлике је '''сакривена'''.\nИпак можете да видите ову разлику; више детаља можете наћи у [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} историји сакривања].",
        "rev-delundel": "промени видљивост",
        "rev-showdeleted": "прикажи",
-       "revisiondelete": "Ð\9eбÑ\80иÑ\88и/вÑ\80аÑ\82и Ð¸Ð·Ð¼ÐµÐ½Ðµ",
+       "revisiondelete": "Ð\91Ñ\80иÑ\81аÑ\9aе/вÑ\80аÑ\9bаÑ\9aе Ð¸Ð·Ð¼ÐµÐ½Ð°",
        "revdelete-nooldid-title": "Нема тражене измене",
        "revdelete-nooldid-text": "Нисте изабрали одредишну измену на којој треба да се изврши ова функција, та измена не постоји, или покушавате сакрити тренутну измену.",
        "revdelete-no-file": "Тражена датотека не постоји.",
        "prefs-emailconfirm-label": "Потврда имејла:",
        "youremail": "Имејл:",
        "username": "{{GENDER:$1|Корисничко име}}:",
-       "prefs-memberingroups": "{{GENDER:$2|Члан|Чланица}} {{PLURAL:$1|групе|групâ}}:",
+       "prefs-memberingroups": "{{GENDER:$2|Члан|Чланица}} {{PLURAL:$1|групе|група}}:",
        "prefs-memberingroups-type": "$1",
        "group-membership-link-with-expiry": "$1 (до $2)",
        "prefs-registration": "Време регистрације:",
        "group-user-member": "{{GENDER:$1|корисник|корисница|корисник}}",
        "group-autoconfirmed-member": "{{GENDER:$1|аутоматски потврђен корисник|аутоматски потврђена корисница}}",
        "group-bot-member": "{{GENDER:$1|бот}}",
-       "group-sysop-member": "{{GENDER:$1|администратор|администраторка|администратор}}",
+       "group-sysop-member": "{{GENDER:$1|администратор|администраторка}}",
        "group-bureaucrat-member": "{{GENDER:$1|бирократа|бирократкиња}}",
        "group-suppress-member": "{{GENDER:$1|брисач измена}}",
        "grouppage-user": "{{ns:project}}:Корисници",
        "recentchanges": "Скорашње измене",
        "recentchanges-legend": "Опције скорашњих измена",
        "recentchanges-summary": "Пратите скорашње измене на овој страници.",
-       "recentchanges-noresult": "Ð\9dема Ð¸Ð·Ð¼ÐµÐ½Ð° Ñ\83 Ð·Ð°Ð´Ð°Ñ\82ом Ð¿ÐµÑ\80иодÑ\83 ÐºÐ¾Ñ\98и одговарају овим критеријумима.",
+       "recentchanges-noresult": "Ð\9dема Ð¸Ð·Ð¼ÐµÐ½Ð° Ñ\82оком Ð´Ð°Ñ\82ог Ð¿ÐµÑ\80иода Ð° ÐºÐ¾Ñ\98е одговарају овим критеријумима.",
        "recentchanges-timeout": "Ова претрага је истекла. Можда желите да покушате другачије параметре претраге.",
        "recentchanges-network": "Због техничког проблема не могу да учитам резултате. Покушајте да освежите страницу.",
        "recentchanges-notargetpage": "Унесите назив странице како бисте видели сродне измене.",
        "copyuploaddisabled": "Отпремање путем веб-адресе је онемогућено.",
        "uploaddisabledtext": "Отпремање датотека је онемогућено.",
        "php-uploaddisabledtext": "Отпремање датотека је онемогућено у PHP-у.\nПроверите подешавања file_uploads.",
-       "uploadscripted": "Датотека садржи HTML или скриптни кôд који може бити погрешно протумачен од стране прегледача.",
+       "uploadscripted": "Датотека садржи HTML или скриптни код који може бити погрешно протумачен од стране прегледача.",
        "upload-scripted-pi-callback": "Датотека која садржи инструкције за обраду XML стилског облика се не може отпремити.",
        "upload-scripted-dtd": "Није могуће отпремање SVG датотека које садрже нестандардну DTD декларацију.",
        "uploaded-script-svg": "Пронађен скриптни елеменат „$1“ у постављеној SVG датотеци.",
        "img-auth-accessdenied": "Приступ је одбијен",
        "img-auth-nopathinfo": "Недостаје PATH_INFO.\nВаш сервер није подешен да прослеђује овакве податке.\nМожда је заснован на CGI-ју који не подржава img_auth.\nПогледајте https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization?uselang=sr-ec.",
        "img-auth-notindir": "Захтевана путања није у подешеној фасцикли за отпремање.",
-       "img-auth-badtitle": "Не могу да направим ваљан наслов за „$1“.",
+       "img-auth-badtitle": "Не могу да направим валидан наслов за „$1“.",
        "img-auth-nologinnWL": "Нисте пријављени и „$1” није на списку дозвољених.",
        "img-auth-nofile": "Датотека „$1“ не постоји.",
        "img-auth-isdir": "Покушавате да приступите фасцикли „$1“.\nДозвољен је само приступ датотекама.",
        "speciallogtitlelabel": "Циљ (наслов или {{ns:user}}:корисничко име):",
        "log": "Дневници",
        "logeventslist-submit": "Прикажи",
+       "logeventslist-more-filters": "Прикажи додатне дневнике:",
        "logeventslist-patrol-log": "Дневник патролирања",
        "logeventslist-tag-log": "Дневник ознака",
        "all-logs-page": "Сви јавни дневници",
        "allinnamespace": "Све странице (именски простор $1)",
        "allpagessubmit": "Иди",
        "allpagesprefix": "Прикажи странице с префиксом:",
-       "allpagesbadtitle": "Наведени назив странице није ваљан или садржи међујезички или међувики префикс.\nМожда садржи један или више знакова који се не могу користити у насловима.",
+       "allpagesbadtitle": "Наведени назив странице није валидан или садржи међујезички или међувики префикс.\nМожда садржи један или више знакова који се не могу користити у насловима.",
        "allpages-bad-ns": "{{SITENAME}} нема именски простор „$1“.",
        "allpages-hide-redirects": "Сакриј преусмерења",
        "cachedspecial-viewing-cached-ttl": "Гледате кеширану верзију ове странице, која може бити стара и до $1.",
        "excontentauthor": "садржај је био: „$1“, а једини уредник „[[Special:Contributions/$2|$2]]“ ([[User talk:$2|разговор]])",
        "exbeforeblank": "садржај пре брисања је био: „$1“",
        "delete-confirm": "Брисање странице „$1“",
-       "delete-legend": "Ð\9eбÑ\80иÑ\88и",
+       "delete-legend": "Ð\91Ñ\80иÑ\81аÑ\9aе",
        "historywarning": "<strong>Упозорење:</strong> страница коју желите да обришете има историју са $1 {{PLURAL:$1|изменом|измене|измена}}:",
        "historyaction-submit": "Прикажи",
        "confirmdeletetext": "Управо ћете обрисати страницу, укључујући и њену историју.\nПотврдите своју намеру, да разумете последице и да ово радите у складу с [[{{MediaWiki:Policy-url}}|правилима]].",
        "imageinvalidfilename": "Циљани назив датотеке је неисправан",
        "fix-double-redirects": "Ажурирајте сва преусмерења која воде до првобитног наслова",
        "move-leave-redirect": "Остави преусмерење",
-       "protectedpagemovewarning": "'''УпозоÑ\80еÑ\9aе:''' Ð¾Ð²Ð° Ñ\81Ñ\82Ñ\80аниÑ\86а Ñ\98е Ð·Ð°Ñ\88Ñ\82иÑ\9bена, Ñ\82ако Ð´Ð° Ñ\81амо ÐºÐ¾Ñ\80иÑ\81ниÑ\86и Ñ\81 Ð°Ð´Ð¼Ð¸Ð½Ð¸Ñ\81Ñ\82Ñ\80аÑ\82оÑ\80Ñ\81ким Ð¾Ð²Ð»Ð°Ñ\88Ñ\9bеÑ\9aима Ð¼Ð¾Ð³Ñ\83 Ð´Ð° Ñ\98е Ð¿Ñ\80емеÑ\81Ñ\82е.\nÐ\97а Ð²Ð¸Ñ\88е Ð¸Ð½Ñ\84оÑ\80маÑ\86иÑ\98а, Ð¿Ð¾Ñ\81ледÑ\9aи Ð·Ð°Ð¿Ð¸Ñ\81 Ñ\83 Ð´Ð½ÐµÐ²Ð½Ð¸ÐºÑ\83 Ð¸Ð·Ð¼ÐµÐ½Ð° Ñ\98е Ð¿Ñ\80иказан Ð¸Ñ\81под:",
-       "semiprotectedpagemovewarning": "<strong>Ð\9dапомена:</strong> Ð\9eва Ñ\81Ñ\82Ñ\80аниÑ\86а Ñ\98е Ð·Ð°Ñ\88Ñ\82иÑ\9bена, Ñ\82ако Ð´Ð° Ñ\81амо Ñ\80егиÑ\81Ñ\82Ñ\80овани ÐºÐ¾Ñ\80иÑ\81ниÑ\86и Ð¼Ð¾Ð³Ñ\83 Ð´Ð° Ñ\98е Ð¿Ñ\80емеÑ\81Ñ\82е.\nÐ\9fоÑ\81ледÑ\9aи Ð·Ð°Ð¿Ð¸Ñ\81 Ñ\83 Ð´Ð½ÐµÐ²Ð½Ð¸ÐºÑ\83 Ð¸Ð·Ð¼ÐµÐ½Ð° Ð¿Ñ\80иказан Ñ\98е испод као референца:",
+       "protectedpagemovewarning": "'''УпозоÑ\80еÑ\9aе:''' Ð¾Ð²Ð° Ñ\81Ñ\82Ñ\80аниÑ\86а Ñ\98е Ð·Ð°Ñ\88Ñ\82иÑ\9bена, Ñ\82ако Ð´Ð° Ñ\81амо ÐºÐ¾Ñ\80иÑ\81ниÑ\86и Ñ\81 Ð°Ð´Ð¼Ð¸Ð½Ð¸Ñ\81Ñ\82Ñ\80аÑ\82оÑ\80Ñ\81ким Ð¾Ð²Ð»Ð°Ñ\88Ñ\9bеÑ\9aима Ð¼Ð¾Ð³Ñ\83 Ð´Ð° Ñ\98е Ð¿Ñ\80емеÑ\81Ñ\82е.\nÐ\9fоÑ\81ледÑ\9aи Ð·Ð°Ð¿Ð¸Ñ\81 Ñ\83 Ð´Ð½ÐµÐ²Ð½Ð¸ÐºÑ\83 Ñ\98е Ð¿Ñ\80иказан Ð¸Ñ\81под ÐºÐ°Ð¾ Ñ\80еÑ\84еÑ\80енÑ\86а:",
+       "semiprotectedpagemovewarning": "<strong>Ð\9dапомена:</strong> Ð¾Ð²Ð° Ñ\81Ñ\82Ñ\80аниÑ\86а Ñ\98е Ð·Ð°Ñ\88Ñ\82иÑ\9bена, Ñ\82ако Ð´Ð° Ñ\81амо Ð°Ñ\83Ñ\82омаÑ\82Ñ\81ки Ð¿Ð¾Ñ\82вÑ\80Ñ\92ени ÐºÐ¾Ñ\80иÑ\81ниÑ\86и Ð¼Ð¾Ð³Ñ\83 Ð´Ð° Ñ\98е Ð¿Ñ\80емеÑ\81Ñ\82е.\nÐ\9fоÑ\81ледÑ\9aи Ð·Ð°Ð¿Ð¸Ñ\81 Ñ\83 Ð´Ð½ÐµÐ²Ð½Ð¸ÐºÑ\83 Ñ\98е Ð¿Ñ\80иказан испод као референца:",
        "move-over-sharedrepo": "[[:$1]] се налази на дељеном складишту. Ако преместите датотеку на овај наслов, то ће заменити дељену датотеку.",
        "file-exists-sharedrepo": "Наведени назив датотеке се већ користи у дељеном складишту.\nИзаберите други назив.",
        "export": "Извоз страница",
        "filedelete-archive-read-only": "Сервер не може да пише по складишној фасцикли ($1).",
        "previousdiff": "← Старија измена",
        "nextdiff": "Новија измена →",
-       "mediawarning": "<strong>Упозорење:</strong> ова врста датотеке може садржати штетан кôд.\nАко га покренете, Ваш рачунар може бити угрожен.",
+       "mediawarning": "<strong>Упозорење:</strong> ова врста датотеке може садржати штетан код.\nАко га покренете, Ваш рачунар може бити угрожен.",
        "imagemaxsize": "Ограничење величине слике:<br /><em>(на страницама за опис датотека)</em>",
        "thumbsize": "Величина минијатуре:",
        "widthheight": "$1 × $2",
        "exif-sublocationcreated": "Област града где је сликана фотографија",
        "exif-worldregiondest": "Приказана област света",
        "exif-countrydest": "Приказана земља",
-       "exif-countrycodedest": "Кôд приказане земље",
+       "exif-countrycodedest": "Код приказане земље",
        "exif-provinceorstatedest": "Приказана покрајина или држава",
        "exif-citydest": "Приказани град",
        "exif-sublocationdest": "Приказана област града",
        "exif-urgency": "Хитност",
        "exif-fixtureidentifier": "Назив рубрике",
        "exif-locationdest": "Приказана локација",
-       "exif-locationdestcode": "Кôд приказаног места",
+       "exif-locationdestcode": "Код приказаног места",
        "exif-objectcycle": "Доба дана за који је медиј намењен",
        "exif-contact": "Подаци за контакт",
        "exif-writer": "Писац",
        "exif-iimsupplementalcategory": "Допунске категорије",
        "exif-datetimeexpires": "Не користи након",
        "exif-datetimereleased": "Објављено",
-       "exif-originaltransmissionref": "Изворни пренос кôда локације",
+       "exif-originaltransmissionref": "Изворни пренос кода локације",
        "exif-identifier": "Назнака",
        "exif-lens": "Коришћени објектив",
        "exif-serialnumber": "Серијски број камере",
        "exif-contentwarning": "Упозорење о садржају",
        "exif-giffilecomment": "Коментар на датотеку GIF",
        "exif-intellectualgenre": "Врста ставке",
-       "exif-subjectnewscode": "Кôд предмета",
-       "exif-scenecode": "IPTC кôд сцене",
+       "exif-subjectnewscode": "Код предмета",
+       "exif-scenecode": "IPTC код сцене",
        "exif-event": "Приказани догађај",
        "exif-organisationinimage": "Приказана организација",
        "exif-personinimage": "Приказана особа",
        "monthsall": "све",
        "confirmemail": "Потврда имејл адресе",
        "confirmemail_noemail": "Нисте унели исправну имејл адресу у [[Special:Preferences|подешавањима]].",
-       "confirmemail_text": "{{SITENAME}} захтева да потврдите имејл адресу пре него што почнете да користите могућности имејла.\nКликните на дугме испод за слање поруке на вашу адресу.\nУ поруци ће се налазити веза с потврдним кôдом;\nунесите је у прегледач да бисте потврдили да је ваша имејл адреса исправна.",
-       "confirmemail_pending": "Потврдни кôд вам је већ послат. Ако сте управо отворили налог, онда вероватно треба да сачекате неколико минута да пристигне, пре него што поново затражите нови кôд.",
-       "confirmemail_send": "Пошаљи потврдни кôд",
+       "confirmemail_text": "{{SITENAME}} захтева да потврдите имејл адресу пре него што почнете да користите могућности имејла.\nКликните на дугме испод за слање поруке на вашу адресу.\nУ поруци ће се налазити веза с потврдним кодом;\nунесите је у прегледач да бисте потврдили да је ваша имејл адреса исправна.",
+       "confirmemail_pending": "Потврдни код вам је већ послат. Ако сте управо отворили налог, онда вероватно треба да сачекате неколико минута да пристигне, пре него што поново затражите нови код.",
+       "confirmemail_send": "Пошаљи потврдни код",
        "confirmemail_sent": "Потврдна порука је послата.",
-       "confirmemail_oncreate": "Послат је потврдни кôд на вашу имејл адресу.\nОвај кôд није потребан за пријављивање, али вам треба да бисте укључили могућности имејла на викију.",
+       "confirmemail_oncreate": "Послат је потврдни код на вашу имејл адресу.\nОвај код није потребан за пријављивање, али вам треба да бисте укључили могућности имејла на викију.",
        "confirmemail_sendfailed": "{{SITENAME}} не може да пошаље имејл потврду.\nПроверите да ли је имејл адреса правилно написана.\n\nГрешка: $1",
        "confirmemail_invalid": "Потврдни код је неисправан. Вероватно је истекао.",
        "confirmemail_needlogin": "Морате бити $1 да бисте потврдили имејл адресу.",
index 7d879a1..8f4753c 100644 (file)
        "recentchanges": "Skorašnje izmene",
        "recentchanges-legend": "Opcije skorašnjih izmena",
        "recentchanges-summary": "Pratite skorašnje izmene na ovoj stranici.",
-       "recentchanges-noresult": "Nema izmena u zadatom periodu koji odgovaraju ovim kriterijumima.",
+       "recentchanges-noresult": "Nema izmena tokom datog perioda a koje odgovaraju ovim kriterijumima.",
        "recentchanges-timeout": "Ova pretraga je istekla. Možda želite da pokušate drugačije parametre pretrage.",
        "recentchanges-network": "Zbog tehničkog problema ne mogu da učitam rezultate. Pokušajte da osvežite stranicu.",
        "recentchanges-notargetpage": "Unesite naziv stranice kako biste videli srodne izmene.",
        "speciallogtitlelabel": "Cilj (naslov ili {{ns:user}}:korisničko ime):",
        "log": "Dnevnici",
        "logeventslist-submit": "Prikaži",
+       "logeventslist-more-filters": "Prikaz dodatnih dnevnika:",
        "all-logs-page": "Svi javni dnevnici",
        "alllogstext": "Skupni prikaz svih dostupnih istorija ovog vikija.\nMožete suziti prikaz odabirući vrstu istorije, korisničkog imena ili tražene stranice.",
        "logempty": "Nema pronađenih unosa u dnevniku.",
index 57b789a..27fc910 100644 (file)
        "customcssprotected": "Du har inte behörighet att redigera denna CSS-sida eftersom den innehåller en annan användares personliga inställningar.",
        "customjsonprotected": "Du har inte behörighet att redigera denna JSON-sida eftersom den innehåller en annan användares personliga inställningar.",
        "customjsprotected": "Du har inte behörighet att redigera denna JavaScript-sida eftersom den innehåller en annan användares personliga inställningar.",
+       "sitecssprotected": "Du har inte behörighet att redigera denna CSS-sida eftersom den kan påverka alla besökare",
+       "sitejsonprotected": "Du har inte behörighet att redigera denna JSON-sida eftersom den kan påverka alla besökare",
+       "sitejsprotected": "Du har inte behörighet att redigera denna JavaScript-sida eftersom den kan påverka alla besökare",
        "mycustomcssprotected": "Du har inte behörighet att redigera denna CSS-sida.",
        "mycustomjsonprotected": "Du har inte behörighet att redigera denna JSON-sida.",
        "mycustomjsprotected": "Du har inte behörighet att redigera denna JavaScript-sida.",
        "group-autoconfirmed": "Automatiskt bekräftade användare",
        "group-bot": "Robotar",
        "group-sysop": "Administratörer",
+       "group-interface-admin": "Gränssnittsadministratörer",
        "group-bureaucrat": "Byråkrater",
        "group-suppress": "Censorer",
        "group-all": "(alla)",
        "group-autoconfirmed-member": "{{GENDER:$1|bekräftad användare}}",
        "group-bot-member": "{{GENDER:$1|robot}}",
        "group-sysop-member": "{{GENDER:$1|administratör}}",
+       "group-interface-admin-member": "{{GENDER:$1|gränssnittsadministratörer}}",
        "group-bureaucrat-member": "{{GENDER:$1|byråkrat}}",
        "group-suppress-member": "{{GENDER:$1|censor}}",
        "grouppage-user": "{{ns:project}}:Användare",
        "grouppage-autoconfirmed": "{{ns:project}}:Bekräftade användare",
        "grouppage-bot": "{{ns:project}}:Robotar",
        "grouppage-sysop": "{{ns:project}}:Administratörer",
+       "grouppage-interface-admin": "{{ns:project}}:Gränssnittsadministratörer",
        "grouppage-bureaucrat": "{{ns:project}}:Byråkrater",
        "grouppage-suppress": "{{ns:project}}:Censur",
        "right-read": "Se sidor",
        "right-editusercss": "Redigera andra användares CSS-filer",
        "right-edituserjson": "Redigera andra användares JSON-filer",
        "right-edituserjs": "Redigera andra användares JavaScript-filer",
+       "right-editsitecss": "Redigera CSS för hela webbplatsen",
+       "right-editsitejson": "Redigera JSON för hela webbplatsen",
+       "right-editsitejs": "Redigera JavaScript för hela webbplatsen",
        "right-editmyusercss": "Redigera din egen användares CSS-filer",
        "right-editmyuserjson": "Redigera dina egna JSON-filer",
        "right-editmyuserjs": "Redigera din egen användares JavaScript-filer",
        "grant-createaccount": "Skapa konton",
        "grant-createeditmovepage": "Skapa, redigera och flytta sidor",
        "grant-delete": "Radera sidor, revideringar och loggposter",
-       "grant-editinterface": "Redigera CSS/JSON/Javascript för MediaWiki-namnrymden och -användare",
+       "grant-editinterface": "Redigera JSON för MediaWiki-namnrymden och hela webbplatsen/användare",
        "grant-editmycssjs": "Redigera din egen CSS/JSON/JavaScript",
        "grant-editmyoptions": "Redigera dina användarinställningar",
        "grant-editmywatchlist": "Redigera din bevakningslista",
+       "grant-editsiteconfig": "Redigera CSS/JS för hela webbplatsen och användare",
        "grant-editpage": "Redigera befintliga sidor",
        "grant-editprotected": "Redigera skyddade sidor",
        "grant-highvolume": "Hög volymsredigering",
        "uploadstash-zero-length": "Filens längd är noll.",
        "invalid-chunk-offset": "Ogiltig segmentsförskjutning",
        "img-auth-accessdenied": "Åtkomst nekad",
-       "img-auth-nopathinfo": "PATH_INFO saknas.\nDin server är inte inställd för att ge denna information.\nDen kan vara CGI-baserad och stöder inte img_auth.\n[https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization Se bildbehörighet.]",
+       "img-auth-nopathinfo": "Sökvägsinformation saknas.\nDin server måste vara inställd för att ge variablerna REQUEST_URI och/eller PATH_INFO.\nOm den är det, försök att aktivera $wgUsePathInfo.\n[https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization Se bildbehörighet.]",
        "img-auth-notindir": "Den önskade sökvägen finns inte i den inställda uppladdningskatalogen.",
        "img-auth-badtitle": "Kan inte skapa en giltig titel från \"$1\"",
        "img-auth-nologinnWL": "Du är inte inloggad och \"$1\" finns inte i vitlistan.",
        "http-timed-out": "HTTP-begäran avbröts.",
        "http-curl-error": "Fel vid hämtning av URL: $1",
        "http-bad-status": "Det uppstod ett problem under HTTP-begäran: $1 $2",
+       "http-internal-error": "Internt HTTP-fel.",
        "upload-curl-error6": "URL:en kunde inte nås",
        "upload-curl-error6-text": "Den angivna URL:en kunde inte nås. Kontrollera att den är korrekt och att webbplatsern fungerar.",
        "upload-curl-error28": "Timeout för uppladdningen",
        "passwordpolicies-policy-passwordcannotmatchusername": "Lösenordet kan inte vara likadant som användarnamnet",
        "passwordpolicies-policy-passwordcannotmatchblacklist": "Lösenordet kan inte matcha specifikt svartlistade lösenord",
        "passwordpolicies-policy-maximalpasswordlength": "Lösenordet måste vara högst $1 {{PLURAL:$1|tecken}} långt",
-       "passwordpolicies-policy-passwordcannotbepopular": "Lösenordet kan inte vara {{PLURAL:$1|det populäraste lösenordet|i listan över de $1 populäraste lösenorden}}"
+       "passwordpolicies-policy-passwordcannotbepopular": "Lösenordet kan inte vara {{PLURAL:$1|det populäraste lösenordet|i listan över de $1 populäraste lösenorden}}",
+       "easydeflate-invaliddeflate": "Innehåll som tillhandahålls är inte helt komprimerat"
 }
index 7542577..92c9f29 100644 (file)
        "tog-newpageshidepatrolled": "కొత్త పేజీల జాబితా నుంచి నిఘా ఉన్న పేజీలను దాచు",
        "tog-hidecategorization": "పేజీ వర్గీకరణను దాచు",
        "tog-extendwatchlist": "కేవలం ఇటీవలి మార్పులే కాక, మార్పులన్నీ చూపించటానికి నా వీక్షణా జాబితాను పెద్దది చేయి",
-       "tog-usenewrc": "ఇటీవలి మార్పులు మరియు వీక్షణ జాబితాలలో మార్పులను పేజీ వారీగా చూపించు",
+       "tog-usenewrc": "ఇటీవలి మార్పులు, వీక్షణ జాబితాలలో మార్పులను పేజీ వారీగా చూపించు",
        "tog-numberheadings": "శీర్షికలకు అప్రమేయంగా వరుస సంఖ్యలు చేర్చు",
        "tog-showtoolbar": "దిద్దుబాటు పనిముట్ల పట్టీని చూపించు",
        "tog-editondblclick": "డబుల్‌ క్లిక్కు చేసినప్పుడు పేజీని మార్చు",
        "tog-editsectiononrightclick": "విభాగాల శీర్షికల మీద కుడినొక్కుతో విభాగపు దిద్దుబాటును చేతనం చేయి",
-       "tog-watchcreations": "నేను సృష్టించే పేజీలను మరియు దస్త్రాలను నా వీక్షణ జాబితాకు చేర్చు",
-       "tog-watchdefault": "నేను మార్చే పేజీలను మరియు దస్త్రాలను నా వీక్షణ జాబితాకు చేర్చు",
-       "tog-watchmoves": "నేను తరలించిన పేజీలను మరియు దస్త్రాలను నా వీక్షణ జాబితాకు చేర్చు",
-       "tog-watchdeletion": "నేను తొలగించిన పేజీలను మరియు దస్త్రాలను నా వీక్షణ జాబితాకు చేర్చు",
+       "tog-watchcreations": "నేను సృష్టించే పేజీలను, దస్త్రాలనూ నా వీక్షణ జాబితాకు చేర్చు",
+       "tog-watchdefault": "నేను మార్చే పేజీలను, దస్త్రాలనూ నా వీక్షణ జాబితాకు చేర్చు",
+       "tog-watchmoves": "నేను తరలించిన పేజీలను, దస్త్రాలనూ నా వీక్షణ జాబితాకు చేర్చు",
+       "tog-watchdeletion": "నేను తొలగించిన పేజీలను, దస్త్రాలనూ నా వీక్షణ జాబితాకు చేర్చు",
        "tog-watchuploads": "నేను ఎక్కించే కొత్త దస్త్రాలను నా వీక్షణ జాబితాకు చేర్చు",
        "tog-watchrollback": "నేను పునస్స్థాపించిన పేజీలను నా వీక్షణ జాబితాకు జోడించు",
        "tog-minordefault": "అప్రమేయంగా నా మార్పులను చిన్న మార్పులుగా గుర్తించు",
@@ -51,7 +51,7 @@
        "tog-previewonfirst": "మొదటి  దిద్దుబాటు చేసినపుడు వ్యాసపు మునుచూపు చూపించు",
        "tog-enotifwatchlistpages": "నా వీక్షణాజాబితా లోని పేజీ లేదా దస్త్రం మారినపుడు నాకు ఈ-మెయిలు పంపు",
        "tog-enotifusertalkpages": "నా చర్చా పేజీలో మార్పులు జరిగినపుడు నాకు ఈ-మెయిలు పంపు",
-       "tog-enotifminoredits": "పేజీలు మరియు దస్త్రాలలో జరిగే చిన్న మార్పులకు కూడా నాకు ఈ-మెయిలును పంపు",
+       "tog-enotifminoredits": "పేజీలు, దస్త్రాలలో జరిగే చిన్న మార్పులకు కూడా నాకు ఈ-మెయిలును పంపు",
        "tog-enotifrevealaddr": "గమనింపు మెయిళ్ళలో నా ఈ-మెయిలు చిరునామాను చూపించు",
        "tog-shownumberswatching": "వీక్షకుల సంఖ్యను చూపు",
        "tog-oldsig": "మీ ప్రస్తుత సంతకం:",
        "views": "చూపులు",
        "toolbox": "పనిముట్లు",
        "tool-link-userrights": "{{GENDER:$1|వాడుకరి}} గుంపులను మార్చు",
-       "tool-link-userrights-readonly": "{{GENDER:$1|వాడà±\81à°\95à°°à°¿}} à°\97à±\81à°\82à°ªà±\81లనà±\81 à°\9aà±\82à°¡à°\82à°¡à°¿",
+       "tool-link-userrights-readonly": "{{GENDER:$1|వాడà±\81à°\95à°°à°¿}} à°\97à±\81à°\82à°ªà±\81లనà±\81 à°\9aà±\82à°¡à°¡à°\82",
        "tool-link-emailuser": "ఈ {{GENDER:$1|వాడుకరికి}} ఈమెయిలు పంపు",
        "imagepage": "ఫైలు పేజీని చూడండి",
        "mediawikipage": "సందేశం పేజీని చూడండి",
        "nospecialpagetext": "<strong>మీరు అడిగిన ప్రత్యేకపేజీ సరైనది కాదు.</strong>\n\nసరైన ప్రత్యేకపేజీల జాబితా [[Special:SpecialPages|{{int:specialpages}}]] వద్ద ఉంది.",
        "error": "లోపం",
        "databaseerror": "డేటాబేసు లోపం",
-       "databaseerror-text": "డేటాబేసు క్వెరీ లోపం దొర్లింది.\nసాఫ్టువేరులోని ఉన్న దోషానికి ఇది సూచిక కావచ్చు.",
+       "databaseerror-text": "డేటాబేసు క్వెరీ లోపం దొర్లింది.\nసాఫ్టువేరులో ఉన్న దోషానికి ఇది సూచిక కావచ్చు.",
        "databaseerror-textcl": "డేటాబేసు క్వెరీ లోపం దొర్లింది.",
        "databaseerror-query": "క్వెరీ: $1",
        "databaseerror-function": "ఫంక్షన్: $1",
        "readonly": "డేటాబేసు లాక్‌చెయ్యబడింది",
        "enterlockreason": "డేటాబేసుకు వేయబోతున్న లాకుకు కారణం తెలుపండి, దానితోపాటే ఎంతసమయం తరువాత ఆ లాకు తీసేస్తారో కూడా తెలుపండి",
        "readonlytext": "ప్రస్తుతం కొత్త ఎంట్రీలు, మార్పుచేర్పులు చెయ్యకుండా డేటాబేసు లాకు చేయబడింది. మామూలుగా జరిగే నిర్వహణ కొరకు ఇది జరిగి ఉండవచ్చు. అది పూర్తి కాగానే తిరిగి మామూలుగా పనిచేస్తుంది.\n\nదీనిని లాకు చేసిన నిర్వాహకుడు ఇలా తెలియజేస్తున్నాడు: $1",
-       "missing-article": "\"$1\" $2 à°\85à°¨à±\87 à°ªà±\87à°\9cà±\80 à°¯à±\8aà°\95à±\8dà°\95 à°ªà°¾à° à±\8dà°¯à°\82 à°¡à±\87à°\9fాబà±\87à°¸à±\81à°²à±\8b à°¦à±\8aà°°à°\95à°²à±\87à°¦à±\81.\n\nà°\95ాలà°\82 à°\9aà±\86à°²à±\8dలిన à°¤à±\87à°¡à°¾ à°\95à±\8bà°¸à°\82 à°\9aà±\82సినపà±\81à°¡à±\81à°\97ానà±\80, à°¤à±\8aà°²à°\97à°¿à°\82à°\9aà°¿à°¨ à°ªà±\87à°\9cà±\80 à°\9aà°°à°¿à°¤à°\82 à°\95à±\8bà°¸à°\82 à°\9aà±\82సినపà±\81à°¡à±\81à°\97ానà±\80 à°\87ది à°¸à°¾à°§à°¾à°°à°£à°\82à°\97à°¾ à°\9cà°°à±\81à°\97à±\81à°¤à±\81à°\82ది.\n\nà°\92à°\95à°µà±\87à°³ à°\85లా à°\95à°¾à°\95à°ªà±\8bà°¤à±\87, à°®à±\80à°°à±\8b à°¬à°\97à±\8dâ\80\8cà°¨à±\81 à°\95à°¨à±\81à°\95à±\8dà°\95à±\81à°¨à±\8dà°¨à°\9fà±\8dà°\9fà±\87.\nà°\88 URLà°¨à±\81 à°¸à±\82à°\9aà°¿à°¸à±\8dà°¤à±\82, à°¦à±\80à°¨à±\8dని à°\93 [[Special:ListUsers/sysop|నిరà±\8dవాహà°\95à±\81నిà°\95à°¿]] à°¤à±\86లియà°\9cà±\87à°¯à°\82à°¡à°¿.",
+       "missing-article": "\"$1\" $2 అనే పేజీ పాఠ్యం డేటాబేసులో దొరకలేదు.\n\nకాలం చెల్లిన తేడా కోసం చూసినపుడుగానీ, తొలగించిన పేజీ చరితం కోసం చూసినపుడుగానీ ఇది సాధారణంగా జరుగుతుంది.\n\nఒకవేళ అలా కాకపోతే, మీరో బగ్‌ను కనుక్కున్నట్టే.\nఈ URLను సూచిస్తూ, దీన్ని ఓ [[Special:ListUsers/sysop|నిర్వాహకునికి]] తెలియజేయండి.",
        "missingarticle-rev": "(కూర్పు#: $1)",
        "missingarticle-diff": "(తేడా: $1, $2)",
        "readonly_lag": "అనుచర (స్లేవ్) డేటాబేసు సర్వర్లు, ప్రధాన (మాస్టరు) సర్వరును అందుకునేందుకుగాను, డేటాబేసు ఆటోమాటిక్‌గా లాకు అయింది.",
        "delete-hook-aborted": "తొలగింపును హుక్ ఆపేసింది.\nవివరణ ఏమీ ఇవ్వలేదు.",
        "no-null-revision": "\"$1\" పేజీకి కొత్త శూన్య కూర్పు (నల్ రివిజన్) ను సృష్టించలేకపోయాం",
        "badtitle": "తప్పు శీర్షిక",
-       "badtitletext": "à°®à±\80à°°à±\81 à°\95à±\8bà°°à°¿à°¨ à°ªà±\87à°\9cà±\80 à°¯à±\8aà°\95à±\8dà°\95 à°ªà±\87à°°à±\81 à°\9aà±\86à°²à±\8dలనిది, à°\96ాళà±\80à°\97à°¾ à°\89à°\82ది, à°²à±\87దా à°¤à°ªà±\8dà°ªà±\81 à°²à°¿à°\82à°\95à±\81à°¤à±\8b à°\95à±\82à°¡à°¿à°¨ à°\85à°\82తరà±\8dవిà°\95à±\80 à°²à±\87దా à°\85à°\82తర-భాషా à°¶à±\80à°°à±\8dà°·à°¿à°\95 à°\85యివà±\81à°\82డాలి.\nà°¶à±\80à°°à±\8dà°·à°¿à°\95లలà±\8b à°\89పయà±\8bà°\97à°¿à°\82à°\9aà°\95à±\82డని à°\85à°\95à±\8dషరాలà±\81 à°¦à°¾à°¨à°¿à°²à±\8b à°\89à°\82à°¡à°¿à°µà±\81à°\82à°¡à±\8aà°\9aà±\8dà°\9aà±\81.",
+       "badtitletext": "మీరు కోరిన పేజీ పేరు చెల్లనిది, ఖాళీగా ఉంది, లేదా తప్పు లింకుతో కూడిన అంతర్వికీ లేదా అంతర-భాషా శీర్షిక అయివుండాలి.\nశీర్షికలలో ఉపయోగించకూడని అక్షరాలు దానిలో ఉండివుండొచ్చు.",
        "title-invalid-empty": "కోరబడిన పేజీ శీర్షిక ఖాళీగా ఉంది లేదా కేవలం పేరుబరి పేరు కలిగి ఉంది.",
        "title-invalid-utf8": "కోరిన పేజీ శీర్షికలో చెల్లని UTF-8 అక్షరాలున్నాయి.",
        "title-invalid-interwiki": "మీరడిగిన పేజీ శీర్షికలో అంతర వికీ లంకె ఉంది, కానీ అది నిషిద్ధం.",
        "perfcachedts": "కింది సమాచారం ముందే సేకరించి పెట్టుకున్నది. దీన్ని $1న చివరిసారిగా తాజాకరించారు. ఈ కాషెలో గరిష్టంగా {{PLURAL:$4|ఒక్క ఫలితం ఉంది|$4 ఫలితాలు ఉన్నాయి}}.",
        "querypage-no-updates": "ప్రస్తుతం ఈ పేజీకి తాజాకరణలని అచేతనం చేసారు.\nఇక్కడున్న డేటా కూడా ప్రస్తుతం తాజాకరించబడదు.",
        "viewsource": "మూలాన్ని చూపించు",
-       "viewsource-title": "$1 à°¯à±\8aà°\95à±\8dà°\95 సోర్సు చూడండి",
+       "viewsource-title": "$1 à°ªà±\87à°\9cà±\80 సోర్సు చూడండి",
        "actionthrottled": "కార్యాన్ని ఆపేసారు",
        "actionthrottledtext": "దుశ్చర్యను నిరోధించేందుకు గాను, తక్కువ సమయంలో మరీ ఎక్కువ సార్లు ఈ పని చేయకుండా పరిమితి విధించాం. మీరు దాన్ని అధిగమించారు. కొద్ది నిమిషాలు ఆగి మరలా ప్రయత్నించండి.",
        "protectedpagetext": "ఈ పేజీలో మార్పులు వగైరాలు చెయ్యకుండా ఉండేందుకు గాను, సంరక్షించబడింది.",
        "viewsourcetext": "మీరీ పేజీ సోర్సును చూడవచ్చు, కాపీ చేసుకోవచ్చు.",
-       "viewyourtext": "à°\88 à°ªà±\87à°\9cà±\80à°²à±\8b <strong>à°®à±\80à°°à±\81 à°\9aà±\87సిన à°®à°¾à°°à±\8dà°ªà±\81à°²</strong> à°¯à±\8aà°\95à±\8dà°\95 à°®à±\82లానà±\8dని à°\9aà±\82à°¡à°µà°\9aà±\8dà°\9aà±\81, à°\95ాపà±\80చేసుకోవచ్చు.",
+       "viewyourtext": "à°\88 à°ªà±\87à°\9cà±\80à°²à±\8b <strong>à°®à±\80à°°à±\81 à°\9aà±\87సిన à°®à°¾à°°à±\8dà°ªà±\81à°²</strong> à°®à±\82లానà±\8dని à°\9aà±\82à°¡à°µà°\9aà±\8dà°\9aà±\81, à°\95ాపà±\80 చేసుకోవచ్చు.",
        "protectedinterface": "ఈ పేజీ, ఈ వికీ యొక్క సాఫ్టువేరు ఇంటరుఫేసుకు చెందిన టెక్స్టును అందిస్తుంది. దుశ్చర్యల నివారణ కోసమై దీన్ని సంరక్షించాం. వికీలన్నిటిలోను అనువాదాలను చేర్చాలన్నా, మార్చాలన్నా మీడియావికీ స్థానికీకరణ ప్రాజెక్టైన [https://translatewiki.net/ translatewiki.net] ను వాడండి.",
        "editinginterface": "<strong>హెచ్చరిక:</strong> సాఫ్టువేరుకు ఇంటరుఫేసు టెక్స్టును అందించేందుకు పనికొచ్చే పేజీని మీరు సరిదిద్దుతున్నారు.\nఈ పేజీలో చేసే మార్పుల వల్ల ఇతర వాడుకరులకు కనబడే ఇంటరుఫేసు ప్రభావితమౌతుంది.",
        "translateinterface": "అన్ని వికీలలో కనిపించేలా అనువాదాలు చేర్చాలన్నా, మార్చాలన్నా, దయచేసి [https://translatewiki.net/ translatewiki.net] ను వాడండి. ఇది మీడియావికీ స్థానికీకరణ ప్రాజెక్టు.",
        "namespaceprotected": "'''$1''' నేంస్పేసులో మార్పులు చేయటానికి మీకు అనుమతి లేదు.",
        "customcssprotected": "ఈ CSS పేజీని మార్చేందుకు మీకు అనుమతి లేదు. ఎందుకంటే వేరే వాడుకరి యొక్క వ్యక్తిగత సెట్టింగులు అందులో ఉన్నాయి.",
        "customjsprotected": "ఈ JavaScript పేజీని మార్చేందుకు మీకు అనుమతి లేదు. ఎందుకంటే వేరే వాడుకరి యొక్క వ్యక్తిగత సెట్టింగులు అందులో ఉన్నాయి.",
+       "sitecssprotected": "ఈ CSS లో మీరు చేసే మార్పు మొత్తం సందర్శకులందరినీ ప్రభావితం చేసే అవకాశం ఉంది కాబట్టి ఆ అనుమతి మీకు లేదు.",
+       "sitejsonprotected": "ఈ JSON లో మీరు చేసే మార్పు మొత్తం సందర్శకులందరినీ ప్రభావితం చేసే అవకాశం ఉంది కాబట్టి ఆ అనుమతి మీకు లేదు.",
+       "sitejsprotected": "ఈ JavaScript లో మీరు చేసే మార్పు మొత్తం సందర్శకులందరినీ ప్రభావితం చేసే అవకాశం ఉంది కాబట్టి ఆ అనుమతి మీకు లేదు.",
        "mycustomcssprotected": "ఈ CSS పేజీని సవరించేందుకు మీకు అనుమతి లేదు.",
        "mycustomjsonprotected": "ఈ JSON పేజీని సవరించేందుకు మీకు అనుమతి లేదు.",
        "mycustomjsprotected": "ఈ జావాస్క్రిప్టు పేజీని సవరించేందుకు మీకు అనుమతి లేదు.",
        "loginerror": "లాగిన్ లోపం",
        "createacct-error": "ఖాతా సృష్టించడంలో లోపం",
        "createaccounterror": "ఖాతాను సృష్టించలేకపోయాం: $1",
-       "nocookiesnew": "ఖాతాని సృష్టించాం, కానీ మీరు ఇంకా లోనికి ప్రవేశించలేదు.\nవాడుకరుల ప్రవేశానికి {{SITENAME}} కూకీలను వాడుతుంది.\nమీరు కూకీలని అచేతనం చేసివున్నారు.\nదయచేసి వాటిని చేతనంచేసి, మీ కొత్త వాడుకరి పేరు మరియు సంకేతపదాలతో లోనికి ప్రవేశించండి.",
+       "nocookiesnew": "ఖాతాని సృష్టించాం, కానీ మీరు ఇంకా లోనికి ప్రవేశించలేదు.\nవాడుకరుల ప్రవేశానికి {{SITENAME}} కూకీలను వాడుతుంది.\nమీరు కూకీలని అచేతనం చేసివున్నారు.\nదయచేసి వాటిని చేతనంచేసి, మీ కొత్త వాడుకరి పేరు, సంకేతపదాలతో లోనికి ప్రవేశించండి.",
        "nocookieslogin": "వాడుకరుల ప్రవేశానికై {{SITENAME}} కూకీలను వాడుతుంది.\nమీరు కుకీలని అచేతనం చేసివున్నారు.\nవాటిని చేతనంచేసి ప్రయత్నించండి.",
        "nocookiesfornew": "మూలాన్ని కనుక్కోలేకపోయాం కాబట్టి, ఈ వాడుకరి ఖాతాను సృష్టించలేకపోయాం.\nమీ కంప్యూటర్లో కూకీలు చేతనమై ఉన్నాయని నిశ్చయించుకొని, ఈ పేజీని తిరిగి లోడు చేసి, మళ్ళీ ప్రయత్నించండి.",
        "createacct-loginerror": "ఖాతా విజయవంతంగా సృష్టించబడింది, కానీ ఆటోమాటిగ్గా లాగిన్ అవలేరు.  స్వయంగా మీరే [[Special:UserLogin|లాగినవండి]].",
        "passwordtoolong": "సంకేతపదం పొడవు {{PLURAL:$1|1 అక్షరం|$1 అక్షరాల}} కన్నా ఎక్కువ ఉండకూడదు.",
        "passwordtoopopular": "సాధారణంగా వాడే సంకేతపదాలను వాడే వీల్లేదు. ఊహించడానికి కష్టమైన సంకేతపదాన్ని ఎంచుకోండి.",
        "password-name-match": "మీ సంకేతపదం మీ వాడుకరిపేరుకి భిన్నంగా ఉండాలి.",
-       "password-login-forbidden": "ఈ వాడుకరిపేరు మరియు సంకేతపదాలను ఉపయోగించడం నిషిద్ధం.",
+       "password-login-forbidden": "ఈ వాడుకరిపేరు, సంకేతపదాలను ఉపయోగించడం నిషిద్ధం.",
        "mailmypassword": "సంకేతపదాన్ని మార్చు",
        "passwordremindertitle": "{{SITENAME}} కోసం కొత్త తాత్కాలిక సంకేతపదం",
-       "passwordremindertext": "{{SITENAME}} ($4) à°²à±\8b à°\95à±\8aà°¤à±\8dà°¤ à°¸à°\82à°\95à±\87తపదà°\82 à°ªà°\82పిà°\82à°\9aమని à°\8eవరà±\8b (బహà±\81à°¶ à°®à±\80à°°à±\87, à°\90.à°ªà±\80. à°\9aà°¿à°°à±\81నామా $1 à°¨à±\81à°\82à°¡à°¿) à°\85à°¡à°¿à°\97ారà±\81. à°µà°¾à°¡à±\81à°\95à°°à°¿ \"$2\" à°\95à±\8aà°°à°\95à±\81 \"$3\" à°\85à°¨à±\87 à°¤à°¾à°¤à±\8dà°\95ాలిà°\95 à°¸à°\82à°\95à±\87తపదà°\82 à°¸à°¿à°¦à±\8dà°§à°\82à°\9aà±\87సి à°\89à°\82à°\9aà°¾à°\82. à°®à±\80 à°\89à°¦à±\8dà°¦à±\87à°¶à°\82 à°\85à°¦à±\87 à°\85యితà±\87, à°\87à°ªà±\8dà°ªà±\81à°¡à±\81 à°®à±\80à°°à±\81 à°¸à±\88à°\9fà±\81à°²à±\8bనిà°\95à°¿ à°ªà±\8dà°°à°µà±\87శిà°\82à°\9aà°¿ à°\95à±\8aà°¤à±\8dà°¤ à°¸à°\82à°\95à±\87తపదానà±\8dని à°\8eà°\82à°\9aà±\81à°\95à±\8bà°µà°\9aà±\8dà°\9aà±\81. à°®à±\80 à°¤à°¾à°¤à±\8dà°\95ాలిà°\95 à°¸à°\82à°\95à±\87తపదà°\82 {{PLURAL:$5|ఒక రోజు|$5 రోజుల}}లో కాలంచెల్లుతుంది.\n\nఒకవేళ ఈ అభ్యర్థన మీరుకాక మరెవరో చేసారనుకున్నా లేదా మీ సంకేతపదం మీకు గుర్తుకువచ్చి దాన్ని మార్చకూడదు అనుకుంటున్నా, ఈ సందేశాన్ని విస్మరించి మీ పాత సంకేతపదాన్ని వాడడం కొనసాగించవచ్చు.",
+       "passwordremindertext": "{{SITENAME}} ($4) à°\95à±\8bà°¸à°\82 à°\95à±\8aà°¤à±\8dà°¤ à°¸à°\82à°\95à±\87తపదà°\82 à°ªà°\82పిà°\82à°\9aమని à°\8eవరà±\8b (à°\90.à°ªà±\80. à°\9aà°¿à°°à±\81నామా $1 à°¨à±\81à°\82à°¡à°¿) à°\85à°¡à°¿à°\97ారà±\81. à°µà°¾à°¡à±\81à°\95à°°à°¿ \"$2\" à°\95à±\8aà°°à°\95à±\81 \"$3\" à°\85à°¨à±\87 à°¤à°¾à°¤à±\8dà°\95ాలిà°\95 à°¸à°\82à°\95à±\87తపదà°\82 à°¸à°¿à°¦à±\8dà°§à°\82à°\9aà±\87సి à°\89à°\82à°\9aà°¾à°\82. à°®à±\80 à°\89à°¦à±\8dà°¦à±\87à°¶à°\82 à°\85à°¦à±\87 à°\85యితà±\87, à°\87à°ªà±\8dà°ªà±\81à°¡à±\81 à°®à±\80à°°à±\81 à°¸à±\88à°\9fà±\81à°²à±\8bనిà°\95à°¿ à°ªà±\8dà°°à°µà±\87శిà°\82à°\9aà°¿ à°\95à±\8aà°¤à±\8dà°¤ à°¸à°\82à°\95à±\87తపదానà±\8dని à°\8eà°\82à°\9aà±\81à°\95à±\8bవాలి. à°®à±\80 à°¤à°¾à°¤à±\8dà°\95ాలిà°\95 à°¸à°\82à°\95à±\87తపదానిà°\95à°¿ {{PLURAL:$5|ఒక రోజు|$5 రోజుల}}లో కాలంచెల్లుతుంది.\n\nఒకవేళ ఈ అభ్యర్థన మీరుకాక మరెవరో చేసారనుకున్నా లేదా మీ సంకేతపదం మీకు గుర్తుకువచ్చి దాన్ని మార్చకూడదు అనుకుంటున్నా, ఈ సందేశాన్ని విస్మరించి మీ పాత సంకేతపదాన్ని వాడడం కొనసాగించవచ్చు.",
        "noemail": "వాడుకరి \"$1\" కు ఈమెయిలు చిరునామా నమోదయి లేదు.",
        "noemailcreate": "మీరు సరైన ఈమెయిల్ చిరునామాని ఇవ్వాలి",
        "passwordsent": "\"$1\" కొరకు నమోదైన ఈ-మెయిలు చిరునామాకి కొత్త సంకేతపదాన్ని పంపించాం.\nఅది అందిన తర్వాత ప్రవేశించి చూడండి.",
        "botpasswords-insert-failed": "బాట్ పేరు \"$1\"ను చేర్చలేకపోయాం. దీన్ని ఇంతకు ముందే చేర్చారా ఏంటి?",
        "botpasswords-update-failed": "బాట్ పేరు \"$1\" ను తాజాకరించలేకపోయాం. దీన్ని తొలగించారా?",
        "botpasswords-created-title": "బాట్ సంకేతపదాన్ని సృష్టించాం",
-       "botpasswords-created-body": "వాడుకరి \"$2\" కు చెందిన \"$1\" అనే బాట్‌కు బాట్ సంకేతపదాన్ని సృష్టించాం.",
+       "botpasswords-created-body": "{{GENDER:$2|వాడుకరి}} \"$2\" కు చెందిన \"$1\" అనే బాట్‌కు బాట్ సంకేతపదాన్ని సృష్టించాం.",
        "botpasswords-updated-title": "బాట్ సంకేతపదాన్ని తాజాకరించాం",
-       "botpasswords-updated-body": "వాడుకరి \"$2\" కు చెందిన \"$1\" అనే బాట్‌ యొక్క బాట్ సంకేతపదాన్ని తాజాకరించాం.",
+       "botpasswords-updated-body": "{{GENDER:$2|వాడుకరి}} \"$2\" కు చెందిన \"$1\" అనే బాట్‌ యొక్క బాట్ సంకేతపదాన్ని తాజాకరించాం.",
        "botpasswords-deleted-title": "బాట్ సంకేతపదాన్ని తొలగించాం",
-       "botpasswords-deleted-body": "వాడుకరి \"$2\" కు చెందిన \"$1\" అనే బాట్‌ యొక్క బాట్ సంకేతపదాన్ని తొలగించాం.",
+       "botpasswords-deleted-body": "{{GENDER:$2|వాడుకరి}} \"$2\" కు చెందిన \"$1\" అనే బాట్‌ యొక్క బాట్ సంకేతపదాన్ని తొలగించాం.",
        "botpasswords-newpassword": "<strong>$1</strong> తో లాగినయేందుకు కొత్త సంకేతపదం <strong>$2</strong>. <em>భావి ఉపయోగం కోసం దీన్ని జాగ్రత్త చేసుకోండి.</em><br> (లాగిన్ పేరుగా వాడుకరిపేరే ఉండాల్సిన పాత బాట్‌ల విషయంలో <strong>$3</strong> ను వాడుకరిపేరుగాను, <strong>$4</strong> ను సంకేతపదంగానూ వాడుకోవచ్చు.)",
+       "botpasswords-invalid-name": "ఇచ్చిన వాడుకరిపేరులో బాట్ సంకేతపదం సెపరేటరు (\"$1\") లేదు.",
        "botpasswords-not-exist": "వాడుకరి \"$1\" కి \"$2\" అనే బాట్ సంకేతపదం లేదు.",
+       "botpasswords-needs-reset": "{{GENDER:$1|వాడుకరి}}కి చెందిన బాట్ పేరు, \"$2\", యొక్క బాట్ సంకేతపదాన్ని- \"$1\" - మార్చాలి.",
        "resetpass_forbidden": "సంకేతపదాలను మార్చటం కుదరదు",
        "resetpass_forbidden-reason": "సంకేతపదాలు మార్చజాలరు: $1",
        "resetpass-no-info": "ఈ పేజీని నేరుగా చూడటానికి మీరు లాగినయి వుండాలి.",
        "subject-preview": "విషయపు మునుజూపు:",
        "previewerrortext": "మీ మార్పులు మునుజూపు చూపడంలో లోపం దొర్లింది.",
        "blockedtitle": "వాడుకరి నిరోధించబడ్డారు",
-       "blockedtext": "<strong>మీ వాడుకరిపేరును లేదా ఐ.పి. చిరునామాను నిరోధించారు.</strong>\n\nనిరోధించినవారు $1.\nఅందుకు వారు ఇచ్చిన కారణం: <em>$2</em>.\n\n* నిరోధం మొదలైన సమయం: $8\n* నిరోధించిన కాలం: $6\n* నిరోధానికి గురైనవారు: $7\n\nఈ నిరోధంపై చర్చించేందుకు మీరు $1 ను గాని, మరెవరైనా [[{{MediaWiki:Grouppage-sysop}}|నిర్వాహకుని]] గాని సంప్రదించవచ్చు.\nమీ [[Special:Preferences|ఖాతా అభిరుచులలో]] సరైన ఈ-మెయిలు చిరునామా ఇచ్చివుండకపోయినా లేదా మిమ్మల్ని  'ఈ వాడుకరికి ఈ-మెయిలు పంపు' సౌలభ్యాన్ని వాడుకోవడం నుండి నిరోధించివున్నా మీరు ఈమెయిలు ద్వారా సంప్రదించలేరు.\nమీ ప్రస్తుత ఐ.పీ. చిరునామా $3, మరియు నిరోధపు ID #$5.\nమీ సంప్రదింపులన్నిటిలోనూ పై వివరాలను పేర్కొనండి.",
-       "autoblockedtext": "à°®à±\80 à°\90à°ªà±\80 à°\9aà°¿à°°à±\81నామా à°\86à°\9fà±\8bమాà°\9fà°¿à°\97à±\8dà°\97à°¾ à°¨à°¿à°°à±\8bధిà°\82à°\9aబడిà°\82ది. à°\8eà°\82à°¦à±\81à°\95à°\82à°\9fà±\87 à°\87à°¦à±\87 à°\90à°ªà±\80 à°\9aà°¿à°°à±\81నామాని à°\93 à°¨à°¿à°°à±\8bధిత à°µà°¾à°¡à±\81à°\95à°°à°¿ à°\89పయà±\8bà°\97à°¿à°\82à°\9aారà±\81. à°\86 à°µà°¾à°¡à±\81à°\95రిని $1 à°¨à°¿à°°à±\8bధిà°\82à°\9aారà±\81.\nà°\85à°\82à°¦à±\81à°\95à±\81 à°\87à°\9aà±\8dà°\9aà°¿à°¨ à°\95ారణà°\82 à°\87à°¦à±\80:\n\n:<em>$2</em>\n\n* à°¨à°¿à°°à±\8bà°§à°\82 à°®à±\8aదలà±\88à°¨ à°¸à°®à°¯à°\82: $8\n* à°¨à°¿à°°à±\8bధిà°\82à°\9aà°¿à°¨ à°\95ాలà°\82: $6\n* à°\89à°¦à±\8dà°¦à±\87శిà°\82à°\9aà°¿à°¨ à°¨à°¿à°°à±\8bధిత à°µà°¾à°¡à±\81à°\95à°°à°¿: $7\n\nà°\88 à°¨à°¿à°°à±\8bà°§à°\82 à°\97à±\81à°°à°¿à°\82à°\9aà°¿ à°\9aà°°à±\8dà°\9aà°¿à°\82à°\9aà±\87à°\82à°¦à±\81à°\95à±\81 à°®à±\80à°°à±\81 $1 à°¨à±\81 à°\97ానà±\80, à°²à±\87దా à°\87తర [[{{MediaWiki:Grouppage-sysop}}|నిరà±\8dవాహà°\95à±\81లనà±\81]] à°\97ానà±\80 à°¸à°\82à°ªà±\8dరదిà°\82à°\9aà°\82à°¡à°¿.\n\nà°®à±\80 [[Special:Preferences|à°\85à°­à°¿à°°à±\81à°\9aà±\81లలà±\8b]] à°¸à°°à±\88à°¨ à°\88à°®à±\86యిలà±\81 à°\90à°¡à±\80ని à°\87à°\9aà±\8dà°\9aà°¿ à°\89à°\82à°\9fà±\87 à°¤à°ªà±\8dà°ª, à°®à±\80à°°à±\81 \"à°\88 à°µà°¾à°¡à±\81à°\95à°°à°¿à°\95à°¿ à°\88à°®à±\86యిలà±\81 à°ªà°\82à°ªà±\81\" à°\85à°¨à±\87 à°\85à°\82శానà±\8dని à°µà°¾à°¡à°\9cాలరని à°\97మనిà°\82à°\9aà°\82à°¡à°¿. à°\86 à°¸à±\8cలభà±\8dయానà±\8dని à°µà°¾à°¡à°\9fà°\82 à°¨à±\81à°\82à°¡à°¿ à°®à°¿à°®à±\8dమలà±\8dని à°¨à°¿à°°à±\8bధిà°\82à°\9aà°²à±\87à°¦à±\81.\n\nà°®à±\80 à°ªà±\8dà°°à°¸à±\8dà°¤à±\81à°¤ à°\90à°ªà±\80 à°\9aà°¿à°°à±\81నామా $3, à°®à°°à°¿à°¯à±\81 à°¨à°¿à°°à±\8bధపà±\81 à°\90à°¡à±\80: $5.\nà°®à±\80 à°¸à°\82à°ªà±\8dరదిà°\82à°ªà±\81లనà±\8dనిà°\9fà°¿à°²à±\8bà°¨à±\81 à°\85à°¨à±\8dని à°ªà±\88 à°µà°¿à°µà°°à°¾à°²à°¨à±\81 à°\89దహరిà°\82à°\9aà°\82à°¡à°¿.",
+       "blockedtext": "<strong>మీ వాడుకరిపేరును లేదా ఐ.పి. చిరునామాను నిరోధించారు.</strong>\n\nనిరోధించినవారు $1.\nఅందుకు వారు ఇచ్చిన కారణం: <em>$2</em>.\n\n* నిరోధం మొదలైన సమయం: $8\n* నిరోధించిన కాలం: $6\n* నిరోధానికి గురైనవారు: $7\n\nఈ నిరోధంపై చర్చించేందుకు మీరు $1 ను గాని, మరెవరైనా [[{{MediaWiki:Grouppage-sysop}}|నిర్వాహకుని]] గాని సంప్రదించవచ్చు.\nమీ [[Special:Preferences|ఖాతా అభిరుచులలో]] సరైన ఈ-మెయిలు చిరునామా ఇచ్చివుండకపోయినా లేదా మిమ్మల్ని 'ఈ వాడుకరికి ఈ-మెయిలు పంపు' సౌలభ్యాన్ని వాడుకోవడం నుండి నిరోధించివున్నా మీరు ఈమెయిలు ద్వారా సంప్రదించలేరు.\nమీ ప్రస్తుత ఐ.పీ. చిరునామా $3, నిరోధపు ID #$5.\nమీ సంప్రదింపులన్నిటిలోనూ పై వివరాలను పేర్కొనండి.",
+       "autoblockedtext": "మీ ఐపీ చిరునామా ఆటోమాటిగ్గా నిరోధించబడింది. ఎందుకంటే ఇదే ఐపీ చిరునామాని ఓ నిరోధిత వాడుకరి ఉపయోగించారు. ఆ వాడుకరిని $1 నిరోధించారు.\nఅందుకు ఇచ్చిన కారణం ఇదీ:\n\n:<em>$2</em>\n\n* నిరోధం మొదలైన సమయం: $8\n* నిరోధించిన కాలం: $6\n* ఉద్దేశించిన నిరోధిత వాడుకరి: $7\n\nఈ నిరోధం గురించి చర్చించేందుకు మీరు $1 ను గానీ, లేదా ఇతర [[{{MediaWiki:Grouppage-sysop}}|నిర్వాహకులను]] గానీ సంప్రదించండి.\n\nమీ [[Special:Preferences|అభిరుచులలో]] సరైన ఈమెయిలు ఐడీని ఇచ్చి ఉంటే తప్ప, మీరు \"ఈ వాడుకరికి ఈమెయిలు పంపు\" అనే అంశాన్ని వాడజాలరని గమనించండి. ఆ సౌలభ్యాన్ని వాడటం నుండి మిమ్మల్ని నిరోధించలేదు.\n\nమీ ప్రస్తుత ఐపీ చిరునామా $3, నిరోధపు ఐడీ: $5.\nమీ సంప్రదింపులన్నిటిలోను అన్ని పై వివరాలను ఉదహరించండి.",
        "systemblockedtext": "మీడియావికీ మీ వాడుకరిపేరు లేదా ఐపీ అడ్రసును ఆటోమాటిగ్గా నిరోధించింది.\nఅందుకు ఇచ్చిన కారణం:\n\n:<em>$2</em>\n\n* నిరోధం మొదలైన సమయం: $8\n* నిరోధం ముగిసే సమయం: $6\n* నిరోధానికి గురైనవారు: $7\n\nమీ ప్రస్తుత ఐపీ అడ్రసు $3.\nమీ సంప్రదింపులన్నిటిలోనూ పై వివరాలను పేర్కొనండి.",
        "blockednoreason": "కారణమేమీ ఇవ్వలేదు",
        "whitelistedittext": "పుటలలో మార్పులు చెయ్యడానికి $1.",
        "userjspreview": "<strong>గుర్తుంచుకోండి, మీరింకా మీ వాడుకరి జావాస్క్రిప్ట్&zwnj;ను భద్రపరచలేదు, కేవలం పరీక్షిస్తున్నారు/సరిచూస్తున్నారు!</strong>",
        "sitecsspreview": "'''మీరు చూస్తున్నది ఈ CSS మునుజూపును మాత్రమేనని గుర్తుంచుకోండి.'''\n'''దీన్నింకా భద్రపరచలేదు!'''",
        "sitejspreview": "'''మీరు చూస్తున్నది ఈ JavaScript మునుజూపును మాత్రమేనని గుర్తుంచుకోండి.''' \n'''దీన్నింకా భద్రపరచలేదు!'''",
-       "userinvalidconfigtitle": "<strong>హెచ్చరిక:</strong> \"$1\" అనే రూపు లేదు.\nఅభిమత .css మరియు .js పుటల శీర్షికలు ఇంగ్లీషు చిన్నబడి అక్షరాల లోనే ఉండాలని గుర్తుంచుకోండి, ఉదాహరణకు ఇలా {{ns:user}}:Foo/vector.css అంతేగానీ, {{ns:user}}:Foo/Vector.css ఇలా కాదు.",
+       "userinvalidconfigtitle": "<strong>హెచ్చరిక:</strong> \"$1\" అనే రూపు లేదు.\nఅభిమత .css, .js పుటల శీర్షికలు ఇంగ్లీషు చిన్నబడి అక్షరాల లోనే ఉంటాయి. ఉదాహరణ: {{ns:user}}:Foo/vector.css. అంతేగానీ, {{ns:user}}:Foo/Vector.css ఇలా కాదు.",
        "updated": "(నవీకరించబడింది)",
        "note": "<strong>గమనిక:</strong>",
        "previewnote": "<strong>ఇది మునుజూపు మాత్రమేనని గుర్తుంచుకోండి.</strong>\nమీ మార్పులు ఇంకా భద్రమవ్వలేదు!",
        "permissionserrors": "అనుమతి లోపం",
        "permissionserrorstext": "కింద పేర్కొన్న {{PLURAL:$1|కారణం|కారణాల}} మూలంగా, ఆ పని చెయ్యడానికి మీకు అనుమతిలేదు:",
        "permissionserrorstext-withaction": "ఈ క్రింది {{PLURAL:$1|కారణం|కారణాల}} వల్ల, $2 అనుమతి మీకు లేదు:",
-       "recreate-moveddeleted-warn": "<strong>హెచ్చరిక: ఇంతకు మునుపు ఒకసారి తొలగించిన పేజీని మళ్లీ సృష్టిద్దామని మీరు ప్రయత్నిస్తున్నారు.</strong>\n\nఈ పేజీపై మార్పులు చేసేముందు, అవి ఇక్కడ ఉండతగినవేనా కాదా అని ఒకసారి ఆలోచించండి.\nమీ సౌలభ్యం కొరకు ఈ పేజీ యొక్క తొలగింపు మరియు తరలింపు చిట్టా ఇక్కడ ఇచ్చాము:",
+       "recreate-moveddeleted-warn": "<strong>హెచ్చరిక: ఇంతకు మునుపు ఒకసారి తొలగించిన పేజీని మళ్లీ సృష్టిద్దామని మీరు ప్రయత్నిస్తున్నారు.</strong>\n\nఈ పేజీపై మార్పులు చేసేముందు, అవి ఇక్కడ ఉండతగినవేనా కాదా అని ఒకసారి ఆలోచించండి.\nమీ సౌలభ్యం కొరకు ఈ పేజీ యొక్క తొలగింపు, తరలింపు చిట్టాలను ఇక్కడ ఇచ్చాం:",
        "moveddeleted-notice": "ఈ పేజీని తొలగించారు.\nఈ పేజీ యొక్క తొలగింపు, సంరక్షణ, తరలింపు చిట్టాను క్రింద ఇచ్చాం.",
        "moveddeleted-notice-recent": "సారీ, ఈ పేజీని ఈమధ్యే తొలగించారు (గత 24 గంటల్లో).\nఈ పేజీకి సంబంధించిన తొలగింపు, సంరక్షణ, తరలింపు లాగ్‌లను కింద ఇచ్చాం.",
        "log-fulllog": "పూర్తి చిట్టాని చూడండి",
        "post-expand-template-argument-warning": "<strong>హెచ్చరిక:</strong> చాల పెద్ద సైజున్న మూస ఆర్గ్యుమెంటు, కనీసం ఒకటి, ఈ పేజీలో ఉంది.\nఈ ఆర్గ్యుమెంట్లను వదలివేసాం.",
        "post-expand-template-argument-category": "తొలగించిన మూస ఆర్గ్యుమెంట్లు ఉన్న పేజీలు",
        "parser-template-loop-warning": "మూస లూపు కనబడింది: [[$1]]",
+       "template-loop-category": "మూస లూపులు కలిగి ఉన్న పేజీలు",
+       "template-loop-category-desc": "ఈ పేజీలో ఓ మూస లూపులో ఉంది. అంటే మూస తనను తానే పిలుస్తూ ఉంటుంది.",
+       "template-loop-warning": "<strong>హెచ్చరిక:</strong> ఈ పేజీ [[:$1]] ను పిలుస్తోంది. అది మూస లూపుకు కారణమౌతోంది. (అనంతమైన పిలుపులు).",
        "parser-template-recursion-depth-warning": "మూస రికర్షను లోతు అధిగమించబడింది ($1)",
        "language-converter-depth-warning": "భాషా మార్పిడి లోతు పరిమితిని అధిగమించారు ($1)",
        "node-count-exceeded-category": "నోడ్-కౌంటును మించిన పేజీలు",
        "rev-showdeleted": "చూపించు",
        "revisiondelete": "కూర్పులను తొలగించు/తొలగింపును రద్దుచెయ్యి",
        "revdelete-nooldid-title": "తప్పుడు లక్ష్యపు కూర్పు",
-       "revdelete-nooldid-text": "à°\88 à°ªà°¨à°¿ à°\8f à°\95à±\82à°°à±\8dà°ªà±\81 à°²à±\87దా à°\95à±\82à°°à±\8dà°ªà±\81à°² à°®à±\80à°¦ à°\9aà±\86à°¯à±\8dయాలà±\8b à°®à±\80à°°à±\81 à°¸à±\82à°\9aà°¿à°\82à°\9aà°²à±\87à°¦à±\81, à°²à±\87దా à°®à±\80à°°à±\81 à°¸à±\82à°\9aà°¿à°\82à°\9aà°¿à°¨ à°\95à±\82à°°à±\8dà°ªà±\81 à°²à±\87à°¦à±\81, లేదా ప్రస్తుత కూర్పునే దాచాలని ప్రయత్నిస్తున్నారు.",
+       "revdelete-nooldid-text": "à°\88 à°ªà°¨à°¿ à°\8f à°\95à±\82à°°à±\8dà°ªà±\81 à°®à±\80à°¦ à°\9aà±\86à°¯à±\8dయాలà±\8b à°®à±\80à°°à±\81 à°¸à±\82à°\9aà°¿à°\82à°\9aà°²à±\87à°¦à±\81. à°²à±\87దా à°®à±\80à°°à±\81 à°¸à±\82à°\9aà°¿à°\82à°\9aà°¿à°¨ à°\95à±\82à°°à±\8dà°ªà±\81 à°\89నిà°\95à°¿à°²à±\8bà°¨à±\87 à°²à±\87à°¦à±\81. లేదా ప్రస్తుత కూర్పునే దాచాలని ప్రయత్నిస్తున్నారు.",
        "revdelete-no-file": "పేర్కొన్న ఫైలు ఉనికిలో లేదు.",
        "revdelete-show-file-confirm": "మీరు నిజంగానే \"<nowiki>$1</nowiki>\"  ఫైలు యొక్క $2 $3 నాటి తొలగించిన కూర్పుని చూడాలనుకుంటున్నారా?",
        "revdelete-show-file-submit": "అవును",
        "revdelete-text-text": "తొలగించిన కూర్పులు పేజీ చరిత్రలో కనిపిస్తూనే ఉంటాయి. కానీ వాటి విషయసంగ్రహంలోని భాగాలు అందరికీ కనిపించవు.",
        "revdelete-text-file": "తొలగించిన ఫైలు కూర్పులు పేజీ చరిత్రలో కనిపిస్తూనే ఉంటాయి. కానీ వాటి విషయసంగ్రహంలోని భాగాలు అందరికీ కనిపించవు.",
        "logdelete-text": "తొలగించిన ఘటనలు లాగ్‍లో కనిపిస్తూనే ఉంటాయి. కానీ వాటి విషయసంగ్రహంలోని భాగాలు అందరికీ కనిపించవు.",
-       "revdelete-text-others": "{{SITENAME}} లోని ఇతర నిర్వాహకులు దాచిన విషయాన్ని చూడగలరు. వేరే నిబంధనలేమీ విధించకపోతే, ఇదే ఇంటరుఫేసు ద్వారా వారు ఈ తొలగింపును రద్దు చేయనూ గలరు.",
+       "revdelete-text-others": "ఇతర నిర్వాహకులు దాచిన పాఠ్యాన్ని చూడగలరు. వేరే నిబంధనలేమీ విధించకపోతే, ఇదే ఇంటరుఫేసు ద్వారా వారు ఈ తొలగింపును రద్దు చేయనూ గలరు.",
        "revdelete-confirm": "మీరు దీన్ని చేయగోరుతున్నారనీ, దీని పర్యవసానాలు మీకు తెలుసుననీ, దీన్ని సంబంధిత [[{{MediaWiki:Policy-url}}|విధానం]] ప్రకారమే చేస్తున్నారనీ నిర్ధారించండి.",
        "revdelete-suppress-text": "అణచివేతను కింది సందర్భాలలో <strong>మాత్రమే</strong> వాడాలి:\n* బురదజల్లే ధోరణిలో ఉన్న సమాచారం\n* అనుచితమైన వ్యక్తిగత సమాచారం\n*<em>ఇంటి చిరునామాలు, టెలిఫోను నంబర్లు, జాతీయ ఐడీ నంబర్లు, వగైరాలు</em>",
        "revdelete-legend": "సందర్శక నిబంధనలు అమర్చు",
        "revdelete-unsuppress": "పునస్థాపిత కూర్పులపై నిబంధనలను తీసివెయ్యి",
        "revdelete-log": "కారణం:",
        "revdelete-submit": "ఎంచుకున్న {{PLURAL:$1|కూర్పుకు|కూర్పులకు}} ఆపాదించు",
-       "revdelete-success": "à°\95à±\82à°°à±\8dà°ªà±\81 à°\95నబడà±\87 à°µà°¿à°§à°¾à°¨à°¾à°¨à±\8dని à°\9cయపà±\8dà°°à°¦à°\82à°\97à°¾ à°¤à°¾à°\9cà°¾à°\95à°°à°¿à°\82à°\9aà°¾à°\82.",
+       "revdelete-success": "కూర్పు కనబడే విధానాన్ని తాజాకరించాం.",
        "revdelete-failure": "కూర్పు కనబడే పద్ధతిని తాజాపరచలేకపోయాం:\n$1",
        "logdelete-success": "లాగ్ కనబడే విధానాన్ని సెట్ చేసాం.",
        "logdelete-failure": "'''చిట్టా కనబడే పద్ధతిని అమర్చలేకపోయాం:'''\n$1",
        "mergehistory-go": "విలీనం చెయ్యదగ్గ దిద్దుబాట్లను చూపించు",
        "mergehistory-submit": "కూర్పులను విలీనం చెయ్యి",
        "mergehistory-empty": "ఏ కూర్పులనూ విలీనం చెయ్యలేము.",
-       "mergehistory-done": "$1 యొక్క $3 {{PLURAL:$3|కూర్పును|కూర్పులను}} [[:$2]] లోనికి విలీనం {{PLURAL:$3|చేసాం|చేసాం}}.",
+       "mergehistory-done": "$1 యొక్క $3 {{PLURAL:$3|కూర్పును|కూర్పులను}} [[:$2]] లోనికి విలీనం {{PLURAL:$3|చేసాం}}.",
        "mergehistory-fail": "చరితాన్ని విలీనం చెయ్యలేకపోయాం. పేజీని, సమయాలను సరిచూసుకోండి.",
        "mergehistory-fail-bad-timestamp": "కాలముద్ర చెల్లదు.",
        "mergehistory-fail-invalid-source": "మూలపు పేజీ సరైనది కాదు.",
        "mergehistory-fail-invalid-dest": "లక్ష్యిత పేజీ సరైనది కాదు.",
        "mergehistory-fail-permission": "చరిత్ర విలీనానికి సరిపడా అనుమతులు లేవు.",
        "mergehistory-fail-self-merge": "మూలం, లక్ష్యం పేజీలు ఒకటే.",
+       "mergehistory-fail-toobig": "తరలింపు పరిమితి ఐన $1 {{PLURAL:$1|కూర్పు|కూర్పుల}}కు మించిన సంఖ్యలో  తరలించాల్సి వస్తోంది కాబట్టి, చరిత్ర విలీనాన్ని చెయ్యలేకున్నాం.",
        "mergehistory-no-source": "మూలం పేజీ, $1 లేదు.",
        "mergehistory-no-destination": "గమ్యం పేజీ, $1 లేదు.",
        "mergehistory-invalid-source": "మూలం పేజీకి సరైన పేరు ఉండాలి.",
        "mergehistory-invalid-destination": "గమ్యం పేజీకి సరైన పేరు ఉండాలి.",
        "mergehistory-autocomment": "[[:$1]]ని [[:$2]] లోనికి విలీనం చేసారు",
        "mergehistory-comment": "[[:$1]]ని [[:$2]] లోనికి విలీనం చేసారు: $3",
-       "mergehistory-same-destination": "మూల మరియు గమ్యస్థాన పేజీలు ఒకటే కాకూడదు",
+       "mergehistory-same-destination": "మూల, గమ్యస్థాన పేజీలు ఒకటే కాకూడదు",
        "mergehistory-reason": "కారణం:",
        "mergelog": "విలీనాల చిట్టా",
        "revertmerge": "విలీనాన్ని రద్దుచెయ్యి",
        "mergelogpagetext": "ఒక పేజీ చరితాన్ని మరో పేజీ చరితం లోకి ఇటీవల చేసిన విలీనాల జాబితా ఇది.",
        "history-title": "\"$1\" యొక్క కూర్పుల చరిత్ర",
        "difference-title": "\"$1\" యొక్క కూర్పుల మధ్య తేడాలు",
-       "difference-title-multipage": "\"$1\" మరియు \"$2\" పేజీల మధ్య తేడా",
+       "difference-title-multipage": "\"$1\", \"$2\" పేజీల మధ్య తేడా",
        "difference-multipage": "(పేజీల మధ్య తేడా)",
        "lineno": "పంక్తి $1:",
        "compareselectedversions": "ఎంచుకున్న సంచికలను పోల్చిచూడు",
        "diff-multi-sameuser": "(ఇదే వాడుకరి యొక్క {{PLURAL:$1|ఒక మధ్యంతర కూర్పును|$1 మధ్యంతర కూర్పులను}} చూపించలేదు)",
        "diff-multi-otherusers": "({{PLURAL:$2|మరో వాడుకరి|$2 వాడుకరుల}} యొక్క {{PLURAL:$1|ఒక మధ్యంతర కూర్పును|$1 మధ్యంతర కూర్పులను}} చూపించలేదు)",
        "diff-multi-manyusers": "$2 కంటే ఎక్కువ ({{PLURAL:$2|ఒక వాడుకరి|వాడుకరుల}} యొక్క {{PLURAL:$1|ఒక మధ్యంతర కూర్పును|$1 మధ్యంతర కూర్పులను}} చూపించట్లేదు)",
+       "diff-paragraph-moved-tonew": "పేరాగ్రాఫును తరలించాం. కొత్త స్థానానికి వెళ్ళేందుకు నొక్కండి.",
+       "diff-paragraph-moved-toold": "పేరాగ్రాఫును తరలించాం. పాత స్థానానికి వెళ్ళేందుకు నొక్కండి.",
        "difference-missing-revision": "ఈ తేడా ($1) యొక్క {{PLURAL:$2|ఒక కూర్పు|$2 కూర్పులు}} {{PLURAL:$2|కనబడలేదు}}.\n\nసాధారణంగా, తొలగించబడిన పేజీ యొక్క కాలం చెల్లిన ’తేడా’ లింకును నొక్కినపుడు ఇది జరుగుతుంది. \n[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} తొలగింపు లాగ్] లో వివరాలు ఉంటాయి.",
        "searchresults": "వెతుకులాట ఫలితాలు",
+       "search-filter-title-prefix": "\"$1\" తో మొదలయ్యే శీర్షిక గల పేజీలలో మాత్రమే వెతుకుతున్నారు",
+       "search-filter-title-prefix-reset": "అన్ని పేజీల్లోనూ వెతుకు",
        "searchresults-title": "\"$1\" కి వెతుకులాట ఫలితాలు",
        "titlematches": "వ్యాస శీర్షిక సరిపోయింది",
        "textmatches": "పేజిలోని పాఠం సరిపోలింది",
        "showingresultsinrange": "#<strong>$2</strong> నుండి  #<strong>$3</strong> వరకు ఉన్న ఫలితాల శ్రేణి నుండి {{PLURAL:$1|<strong>ఒక్క</strong> ఫలితం|<strong>$1</strong> ఫలితాల}} వరకు కింద చూపించాం.",
        "search-showingresults": "{{PLURAL:$4|<strong>$3</strong>{{PLURAL:$3|కి|లో}} <strong>$1</strong> ఫలితం|<strong>$3</strong>లో <strong>$1 - $2</strong> ఫలితాలు}}",
        "search-nonefound": "మీ ప్రశ్నకి సరిపోలిన ఫలితాలేమీ లేవు.",
+       "search-nonefound-thiswiki": "మీ అన్విష్టానికి (అన్వేషక పదం) సరిపడే ఫలితాలు ఈ సైటులో లేవు.",
        "powersearch-legend": "నిశితమైన అన్వేషణ",
        "powersearch-ns": "ఈ పేరుబరుల్లో వెతుకు:",
        "powersearch-togglelabel": "ఎంచుకోండి:",
        "timezoneregion-europe": "ఐరోపా",
        "timezoneregion-indian": "హిందూ మహాసముద్రం",
        "timezoneregion-pacific": "పసిఫిక్ మహాసముద్రం",
-       "allowemail": "ఇతర వాడుకరుల నుండి ఈ-మెయిళ్ళను రానివ్వు",
+       "allowemail": "ఇతర వాడుకరులను నాకు ఈ-మెయిలు చెయ్యనివ్వు",
+       "email-allow-new-users-label": "సరికొత్త వాడుకరుల నుండి ఈమెయిళ్ళను రానివ్వు",
+       "email-blacklist-label": "ఈ వాడుకరుల నుండి ఈమెయిళ్ళను రానీయకు:",
        "prefs-searchoptions": "వెతుకులాట",
        "prefs-namespaces": "పేరుబరులు",
        "default": "అప్రమేయం",
        "prefs-files": "ఫైళ్ళు",
        "prefs-custom-css": "ప్రత్యేక CSS",
        "prefs-custom-js": "ప్రత్యేక JS",
-       "prefs-common-config": "అన్ని రూపులలోనూ ఉన్న CSS/JS:",
+       "prefs-common-config": "అన్ని రూపులలోనూ ఉన్న CSS/JSON/JavaScript:",
        "prefs-reset-intro": "ఈ పేజీలో, మీ అభిరుచులను సైటు డిఫాల్టు విలువలకు మార్చుకోవచ్చు. మళ్ళీ వెనక్కి తీసుకుపోలేరు.",
        "prefs-emailconfirm-label": "ఈ-మెయిల్ నిర్ధారణ:",
        "youremail": "ఈమెయిలు:",
        "yourvariant": "విషయపు భాషా వైవిధ్యం:",
        "prefs-help-variant": "ఈ వికీ లోని విషయపు పేజీలను చూపించడానికి మీ అభిమత వైవిధ్యం లేదా ఆర్ధోగ్రఫీ.",
        "yournick": "కొత్త సంతకం:",
-       "prefs-help-signature": "చర్చా పేజీల లోని వ్యాఖ్యలకు \"<nowiki>~~~~</nowiki>\"తో సంతకం చేస్తే అది మీ సంతకం మరియు కాలముద్రగా మారుతుంది.",
+       "prefs-help-signature": "చర్చా పేజీల లోని వ్యాఖ్యలకు \"<nowiki>~~~~</nowiki>\"తో సంతకం చేస్తే అది మీ సంతకం, కాలముద్రగా మారుతుంది.",
        "badsig": "సంతకం చెల్లనిది.\nHTML ట్యాగులను ఒకసారి సరిచూసుకోండి.",
        "badsiglength": "మీ సంతకం చాలా పెద్దగా ఉంది.\nఇది తప్పనిసరిగా $1 {{PLURAL:$1|అక్షరం|అక్షరాల}} లోపులోనే ఉండాలి.",
        "yourgender": "మిమ్మల్ని మీరు ఎలా వర్ణించుకుంటారు?",
        "prefs-editor": "రచయిత",
        "prefs-preview": "మునుజూపు",
        "prefs-advancedrc": "ఉన్నత ఎంపికలు",
+       "prefs-opt-out": "మెరుగుదలల నుండి తప్పుకోండి",
        "prefs-advancedrendering": "ఉన్నత ఎంపికలు",
        "prefs-advancedsearchoptions": "ఉన్నత ఎంపికలు",
        "prefs-advancedwatchlist": "ఉన్నత ఎంపికలు",
        "editinguser": "{{GENDER:$1|user}} వాడుకరి హక్కులను మారుస్తున్నారు <strong>[[User:$1|$1]]</strong> $2",
        "viewinguserrights": "{{GENDER:$1|వాడుకరి}} <strong>[[User:$1|$1]]</strong> హక్కులను చూస్తున్నారు $2",
        "userrights-editusergroup": "{{GENDER:$1|వాడుకరి}} సమూహాలను మార్చండి",
-       "userrights-viewusergroup": "{{GENDER:$1|వాడà±\81à°\95à°°à°¿}} à°\97à±\81à°\82à°ªà±\81లనà±\81 à°\9aà±\82à°¡à°\82à°¡à°¿",
+       "userrights-viewusergroup": "{{GENDER:$1|వాడà±\81à°\95à°°à°¿}} à°\97à±\81à°\82à°ªà±\81లనà±\81 à°\9aà±\82à°¡à°¡à°\82",
        "saveusergroups": "{{GENDER:$1|వాడుకరి}} గుంపులను భద్రపరచు",
        "userrights-groupsmember": "సభ్యులు:",
        "userrights-groupsmember-auto": "సంభావిత సభ్యులు:",
        "userrights-expiry-options": "1 రోజు:1 day,1 వారం:1 week,1 నెల:1 month,3 నెలలు:3 months,6 నెలలు:6 months,1 సంవత్సరం:1 year",
        "userrights-invalid-expiry": "\"$1\" గుంపుకు ఇచ్చిన కాలం తీరిపోయే వ్యవధి సరైనది కాదు.",
        "userrights-expiry-in-past": "\"$1\" గుంపుకు ఇచ్చిన కాలం తీరిపోయే వ్యవధి గతకాలంలో ఉంది.",
+       "userrights-cannot-shorten-expiry": "\"$1\" గుంపులో సభ్యత్వాన్ని మీరు ముందుకు జరపజాలరు. ఈ గుంపును చేర్చే తీసివేసే అనుమతులు గల వాడుకరులు మాత్రమే ముగింపు కాలాలను ముందుకు జరపగలరు.",
        "userrights-conflict": "వాడుకరి హక్కుల మార్పులలో ఘర్షణ! మీ మార్పులను సమీక్షించి, నిర్ధారించండి.",
        "group": "గుంపు:",
        "group-user": "వాడుకరులు",
        "group-autoconfirmed": "ఆటోమాటిగ్గా నిర్ధారించబడిన వాడుకరులు",
        "group-bot": "బాట్‌లు",
        "group-sysop": "నిర్వాహకులు",
+       "group-interface-admin": "ఇంటర్‌ఫేసు నిర్వాహకులు",
        "group-bureaucrat": "అధికారులు",
-       "group-suppress": " పూర్తి తొలగింపుదారులు",
+       "group-suppress": "సప్రెసర్లు",
        "group-all": "(అందరూ)",
        "group-user-member": "{{GENDER:$1|వాడుకరి}}",
        "group-autoconfirmed-member": "{{GENDER:$1|ఆటోమాటిగ్గా నిర్ధారించబడిన వాడుకరి}}",
        "group-bot-member": "{{GENDER:$1|బాట్}}",
        "group-sysop-member": "{{GENDER:$1|నిర్వాహకుడు|నిర్వాహకురాలు}}",
+       "group-interface-admin-member": "{{GENDER:$1|ఇంటర్‌ఫేసు నిర్వాహకుడు}}",
        "group-bureaucrat-member": "{{GENDER:$1|అధికారి|అధికారిణి}}",
-       "group-suppress-member": "పూర్తి   తొలగింపు",
+       "group-suppress-member": "{{GENDER:$1|సప్రెసరు}}",
        "grouppage-user": "{{ns:project}}:వాడుకరులు",
        "grouppage-autoconfirmed": "{{ns:project}}:ఆటోమాటిగ్గా నిర్ధారించబడిన వాడుకరులు",
        "grouppage-bot": "{{ns:project}}:బాట్లు",
        "grouppage-sysop": "{{ns:project}}:నిర్వాహకులు",
+       "grouppage-interface-admin": "{{ns:project}}:ఇంటర్‌ఫేసు నిర్వాహకులు",
        "grouppage-bureaucrat": "{{ns:project}}:అధికారులు",
        "grouppage-suppress": "{{ns:project}}:పూర్తి తొలగింపు",
        "right-read": "పేజీలు చదవడం",
        "right-deletelogentry": "లాగ్ ఎంట్రీలను తొలగించడం, తొలగింపులను రద్దు చెయ్యడం",
        "right-deleterevision": "పేజీల ప్రత్యేకించిన కూర్పులను తొలగించు, తొలగింపును నివారించు",
        "right-deletedhistory": "తొలగింపులను, వాటి పాఠ్యం లేకుండా, చరితంలో చూడు",
-       "right-deletedtext": "తొలగించిన పాఠ్యాన్ని మరియు తొలగించిన కూర్పుల మధ్య మార్పలని చూడగలగడం",
+       "right-deletedtext": "తొలగించిన పాఠ్యాన్ని, తొలగించిన కూర్పుల మధ్య మార్పులనూ చూడగలగడం",
        "right-browsearchive": "తొలగించిన పేజీల్లో వెతకడం",
        "right-undelete": "పేజీ తొలగింపును రద్దు చెయ్యి",
-       "right-suppressrevision": "నిరà±\8dవాహà°\95à±\81à°²à°\95à±\81 à°\95నబడà°\95à±\81à°\82à°¡à°¾ à°\89à°¨à±\8dà°¨ à°\95à±\82à°°à±\8dà°ªà±\81లనà±\81 à°¸à°®à±\80à°\95à±\8dà°·à°¿à°\82à°\9aà°¿ à°ªà±\81నసà±\8dథాపిà°\82à°\9aడం",
+       "right-suppressrevision": "à°ªà±\87à°\9cà±\80à°\95à°¿ à°\9aà±\86à°\82దిన à°¨à°¿à°°à±\8dà°£à±\80à°¤ à°\95à±\82à°°à±\8dà°ªà±\81లనà±\81 à°\8eవరà±\88నా à°µà°¾à°¡à±\81à°\95à°°à°¿à°\95à°¿ à°\95నబడà±\87లా à°\9aà±\86à°¯à±\8dయడà°\82, à°¦à°¾à°\9aà°¡à°\82, à°¬à°¯à°\9fà°ªà±\86à°\9fà±\8dà°\9fడం",
        "right-viewsuppressed": "ఏ వాడుకరి నుండైనా వీక్షణ సంస్కరణలు దాయబడ్డాయి",
        "right-suppressionlog": "గోప్యంగా ఉన్న లాగ్‌లను చూడడం",
        "right-block": "దిద్దుబాటు చెయ్యకుండా ఇతర వాడుకరులను నిరోధించగలగడం",
        "right-editcontentmodel": "పేజీ యొక్క కంటెంటు మోడలును సవరించు",
        "right-editinterface": "యూజరు ఇంటరుఫేసులో దిద్దుబాటు చెయ్యి",
        "right-editusercss": "ఇతర వాడుకరుల CSS ఫైళ్ళలో దిద్దుబాటు చెయ్యడం",
+       "right-edituserjson": "ఇతర వాడుకరుల JSON ఫైళ్ళను దిద్దడం",
        "right-edituserjs": "ఇతర వాడుకరుల JS ఫైళ్ళలో దిద్దుబాటు చెయ్యడం",
+       "right-editsitecss": "సైటువ్యాప్త CSS ను దిద్దడం",
+       "right-editsitejson": "సైటువ్యాప్త JSON ను దిద్దడం",
+       "right-editsitejs": "సైటువ్యాప్త JavaScript ను దిద్దడం",
        "right-editmyusercss": "మీ స్వంత వాడుకరి CSS ఫైళ్ళను సరిదిద్దండి",
+       "right-editmyuserjson": "మీ స్వంత JSON ను దిద్దడం",
        "right-editmyuserjs": "మీ స్వంత JavaScript దస్త్రాలను మార్చండి",
-       "right-viewmywatchlist": "à°®à±\80 à°¸à±\8dà°µà°\82à°¤ à°µà±\80à°\95à±\8dà°·à°£à°\9cాబితానà±\81 à°\9aà±\82à°¡à°\82à°¡à°¿",
-       "right-editmywatchlist": "à°®à±\80 à°¸à±\8dà°µà°\82à°¤ à°µà±\80à°\95à±\8dà°·à°£à°\9cాబితానà±\81 à°®à°¾à°°à±\8dà°\9aà±\81à°\95à±\8bà°\82à°¡à°¿. ఈ హక్కు లేకపోయినా, కొన్ని చర్యల ద్వారా పేజీలు జాబితాకు చేరుతాయని గమనించండి.",
+       "right-viewmywatchlist": "à°®à±\80 à°¸à±\8dà°µà°\82à°¤ à°µà±\80à°\95à±\8dà°·à°£à°\9cాబితానà±\81 à°\9aà±\82à°¡à°¡à°\82",
+       "right-editmywatchlist": "à°®à±\80 à°¸à±\8dà°µà°\82à°¤ à°µà±\80à°\95à±\8dà°·à°£à°\9cాబితానà±\81 à°®à°¾à°°à±\8dà°\9aà±\81à°\95à±\8bవడà°\82. ఈ హక్కు లేకపోయినా, కొన్ని చర్యల ద్వారా పేజీలు జాబితాకు చేరుతాయని గమనించండి.",
        "right-viewmyprivateinfo": "మీ స్వంత గోపనీయ డేటాను చూడండి (ఉదా: ఈమెయిలు చిరునామా, అసలు పేరు)",
-       "right-editmyprivateinfo": "à°®à±\80 à°¸à±\8dà°µà°\82à°¤ à°\97à±\8bపనà±\80à°¯ à°¡à±\87à°\9fానà±\81 à°®à°¾à°°à±\8dà°\9aà±\81à°\95à±\8bà°\82à°¡à°¿ (ఉదా: ఈమెయిలు చిరునామా, అసలు పేరు)",
-       "right-editmyoptions": "à°®à±\80 à°¸à±\8dà°µà°\82à°¤ à°\85à°­à°¿à°°à±\81à°\9aà±\81లనà±\81 à°®à°¾à°°à±\8dà°\9aà±\81à°\95à±\8bà°\82à°¡à°¿",
+       "right-editmyprivateinfo": "à°®à±\80 à°¸à±\8dà°µà°\82à°¤ à°\97à±\8bపనà±\80à°¯ à°¡à±\87à°\9fానà±\81 à°®à°¾à°°à±\8dà°\9aà±\81à°\95à±\8bవడà°\82 (ఉదా: ఈమెయిలు చిరునామా, అసలు పేరు)",
+       "right-editmyoptions": "à°®à±\80 à°¸à±\8dà°µà°\82à°¤ à°\85à°­à°¿à°°à±\81à°\9aà±\81లనà±\81 à°®à°¾à°°à±\8dà°\9aà±\81à°\95à±\8bవడà°\82",
        "right-rollback": "ఒకానొక పేజీలో చివరి దిద్దుబాటు చేసిన వాడుకరి చేసిన దిద్దుబాట్లను రద్దుచేయడం",
        "right-markbotedits": "వెనక్కి తెచ్చిన దిద్దుబాట్లను బాట్ దిద్దుబాట్లుగా గుర్తించు",
        "right-noratelimit": "రేటు పరిమితులు ప్రభావం చూపవు",
        "right-changetags": "విడి కూర్పులకు, చిట్టా పద్దులకు ఏవైనా [[Special:Tags|ట్యాగుల]]ను చేర్చడం, తొలగించడం",
        "right-deletechangetags": "[[Special:Tags|ట్యాగులను]] డేటాబేసు నుండి తొలగించు",
        "grant-generic": "\"$1\" హక్కుల కట్ట",
+       "grant-group-page-interaction": "పేజీలతో సంప్రదించడం",
+       "grant-group-file-interaction": "మీడియాతో సంప్రదించడం",
+       "grant-group-watchlist-interaction": "మీ వీక్షణ జాబితాతో సంప్రదించడం",
        "grant-group-email": "ఈమెయిలు పంపించడం",
+       "grant-group-high-volume": "అధిక మొత్తంలో పనులను చెయ్యడం",
+       "grant-group-customization": "కస్టమైజేషన్, అభిరుచులు",
        "grant-group-administration": "నిర్వాహక చర్యలు చేపట్టడం",
        "grant-group-private-information": "మీ గోపనీయ డేటాను చూడడం",
+       "grant-group-other": "ఇతరత్రా కార్యకలాపం",
+       "grant-blockusers": "వాడుకరుల నిరోధం, విడుదల",
        "grant-createaccount": "ఖాతాల సృష్టి",
        "grant-createeditmovepage": "పేజీల సృష్టి, దిద్దుబాటు, తరలింపు",
        "grant-delete": "పేజీలు, కూర్పులు, లాగ్ ఎంట్రీల తొలగింపు",
-       "grant-editinterface": "MediaWiki à°ªà±\87à°°à±\81బరిలà±\8bà°¨à±\81, à°µà°¾à°¡à±\81à°\95à°°à°¿ CSS/JavaScript à°\95à±\82 à°¦à°¿à°¦à±\8dà°¦à±\81బాà°\9fà±\8dà°²à±\81.",
-       "grant-editmycssjs": "వాడà±\81à°\95à°°à°¿ CSS/JavaScript à°¦à°¿à°¦à±\8dà°¦à±\81బాà°\9fà±\81",
+       "grant-editinterface": "MediaWiki à°ªà±\87à°°à±\81బరిలà±\8bà°¨à±\81, à°¸à±\88à°\9fà±\81à°µà±\8dయాపà±\8dà°¤/వాడà±\81à°\95à°°à°¿ JSON à°\95à±\82 à°¦à°¿à°¦à±\8dà°¦à±\81బాà°\9fà±\8dà°²à±\81 à°\9aà±\86à°¯à±\8dయడà°\82",
+       "grant-editmycssjs": "à°®à±\80 à°µà°¾à°¡à±\81à°\95à°°à°¿ CSS/JSON/JavaScript à°¦à°¿à°¦à±\8dదడà°\82",
        "grant-editmyoptions": "మీ అభిరుచుల దిద్దుబాటు",
        "grant-editmywatchlist": "మీ వీక్షణజాబితా దిద్దుబాటు",
+       "grant-editsiteconfig": "సైటువ్యాప్త/వాడుకరి CSS/JS దిద్దడం",
        "grant-editpage": "ఉనికిలో ఉన్న పేజీల దిద్దుబాటు",
        "grant-editprotected": "సంరక్షిత పేజీల్లో దిద్దుబాట్లు",
        "grant-highvolume": "అధిక మొత్తంలో దిద్దుబాట్లు",
        "grant-basic": "ప్రాథమిక హక్కులు",
        "grant-viewdeleted": "తొలగించిన దస్త్రాలు, పేజీలను చూడడం",
        "grant-viewmywatchlist": "మీ వీక్షణజాబితాను చూడడం",
+       "grant-viewrestrictedlogs": "నిరోధిత చిట్టా పద్దులను చూపించు",
        "newuserlogpage": "కొత్త వాడుకరుల చిట్టా",
        "newuserlogpagetext": "ఇది వాడుకరి నమోదుల చిట్టా.",
        "rightslog": "వాడుకరుల హక్కుల మార్పుల చిట్టా",
        "action-createtalk": "ఈ చర్చాపేజీని సృష్టించే",
        "action-createaccount": "ఈ వాడుకరి ఖాతాని సృష్టించే",
        "action-autocreateaccount": "ఈ బయటి వాడుకరి ఖాతాను ఆటోమాటిగ్గా సృష్టించే",
-       "action-history": "à°\88 à°ªà±\87à°\9cà±\80 à°¯à±\8aà°\95à±\8dà°\95 à°\9aà°°à°¿à°¤à±\8dరని à°\9aà±\82à°¡à°\82à°¡à°¿",
+       "action-history": "à°\88 à°ªà±\87à°\9cà±\80 à°¯à±\8aà°\95à±\8dà°\95 à°\9aà°°à°¿à°¤à±\8dరని à°\9aà±\82à°¸à±\87",
        "action-minoredit": "ఈ మార్పుని చిన్నదిగా గుర్తించే",
        "action-move": "ఈ పేజీని తరలించే",
        "action-move-subpages": "ఈ పేజీని, దీని ఉపపేజీలనూ తరలించే",
        "action-sendemail": "ఈమెయిళ్ళు పంపించే",
        "action-editmyoptions": "మీ అభిరుచులను మార్చుకునే",
        "action-editmywatchlist": "మీ వీక్షణ జాబితాను సరిదిద్దండి",
-       "action-viewmywatchlist": "à°®à±\80 à°µà±\80à°\95à±\8dà°·à°£ à°\9cాబితానà±\81 à°\9aà±\82à°¡à°\82à°¡à°¿",
-       "action-viewmyprivateinfo": "à°®à±\80 à°\97à±\8bపనà±\80à°¯ à°¸à°®à°¾à°\9aారానà±\8dని à°\9aà±\82à°¡à°\82à°¡à°¿",
+       "action-viewmywatchlist": "à°®à±\80 à°µà±\80à°\95à±\8dà°·à°£ à°\9cాబితానà±\81 à°\9aà±\82à°¸à±\87",
+       "action-viewmyprivateinfo": "à°®à±\80 à°\97à±\8bపనà±\80à°¯ à°¸à°®à°¾à°\9aారానà±\8dని à°\9aà±\82à°¸à±\87",
        "action-editmyprivateinfo": "మీ గోపనీయ సమాచారాన్ని సరిదిద్దండి",
        "action-editcontentmodel": "పేజీ యొక్క కంటెంటు మోడలును సవరించే",
        "action-managechangetags": "ట్యాగులను చేర్చే, (అ)చేతనం చేసే",
        "recentchanges-legend": "ఇటీవలి మార్పుల ఎంపికలు",
        "recentchanges-summary": "వికీలో ఇటీవలే జరిగిన మార్పులను ఈ పేజీలో గమనించవచ్చు.",
        "recentchanges-noresult": "ఈ నియమాలకు సరిపోలే మార్పులు ఇచ్చిన కాలంలో లేవు.",
+       "recentchanges-timeout": "వెతుకులాట సమయం అయిపోయింది. వేరే వెతుకులాట పరామితులతో తిరిగి ప్రయత్నించండి.",
+       "recentchanges-network": "సాంకేతిక లోపం కారణంగా, ఫలితాలనేమీ తేలేకపోయాం. పేజీని రిఫ్రెష్ చేసి చూడండి.",
+       "recentchanges-notargetpage": "పైన ఒక పేజీ పేరు ఏదైనా ఇచ్చి, ఆ పేజీకి సంబంధించిన మార్పులను చూడండి.",
        "recentchanges-feed-description": "ఈ ఫీడు ద్వారా వికీలో జరుగుతున్న మార్పుల గురించి ఎప్పటికప్పుడు సమాచారాన్ని పొందండి.",
        "recentchanges-label-newpage": "ఈ మార్పు కొత్త పేజీని సృష్టించింది",
        "recentchanges-label-minor": "ఇది ఒక చిన్న మార్పు",
        "rcfilters-activefilters": "సచేతనమైన వడపోతలు",
        "rcfilters-activefilters-hide": "దాచు",
        "rcfilters-activefilters-show": "చూపించు",
+       "rcfilters-activefilters-hide-tooltip": "సచేతన వడపోతల స్థలాన్ని దాచు",
+       "rcfilters-activefilters-show-tooltip": "సచేతన వడపోతల స్థలాన్ని చూపించు",
        "rcfilters-advancedfilters": "ఉన్నత వడపోతలు",
        "rcfilters-limit-title": "చూపించాల్సిన ఫలితాలు",
+       "rcfilters-limit-and-date-label": "$1 {{PLURAL:$1|మార్పు|మార్పులు}}, $2",
+       "rcfilters-date-popup-title": "వెతకాల్సిన కాల వ్యవధి",
        "rcfilters-days-title": "ఇటీవలి రోజులు",
        "rcfilters-hours-title": "ఇటీవలి గంటలు",
        "rcfilters-days-show-days": "$1 {{PLURAL:$1|రోజు|రోజులు}}",
        "rcfilters-filter-user-experience-level-unregistered-label": "నమోదు కానివారు",
        "rcfilters-filter-user-experience-level-unregistered-description": "లాగినై లేని వాడుకరులు.",
        "rcfilters-filter-user-experience-level-newcomer-label": "కొత్తవారు",
-       "rcfilters-filter-user-experience-level-newcomer-description": "10 కంటే తక్కువ దిద్దుబాట్లు, 4 రోజుల కంటే తక్కువ పని చేసిన నమోదైన వాడుకరులు.",
+       "rcfilters-filter-user-experience-level-newcomer-description": "10 కంటే తక్కువ దిద్దుబాట్లు లేదా 4 రోజుల కంటే తక్కువ పని చేసిన నమోదైన వాడుకరులు.",
        "rcfilters-filter-user-experience-level-learner-label": "నేర్చుకుంటున్నవారు",
        "rcfilters-filter-user-experience-level-learner-description": "అనుభవ స్థాయి \"కొత్తవారి\"కి, \"అనుభవజ్ఞులైన వాడుకరుల\"కూ మధ్యలో ఉన్న వాడుకరులు.",
        "rcfilters-filter-user-experience-level-experienced-label": "అనుభవజ్ఞులైన వాడుకరులు",
        "rcfilters-filter-humans-label": "మనిషి (బాట్ కాదు)",
        "rcfilters-filter-humans-description": "మనుష్యులు చేసిన మార్పులు.",
        "rcfilters-filtergroup-reviewstatus": "సమీక్ష స్థాయి",
+       "rcfilters-filter-reviewstatus-unpatrolled-description": "ఆటోమాటిగ్గా గాని, మానవికంగా గానీ నిఘాలో ఉన్నట్టుగా గుర్తించని దిద్దుబాట్లు.",
        "rcfilters-filter-reviewstatus-unpatrolled-label": "నిఘాలో లేనివి",
+       "rcfilters-filter-reviewstatus-manual-description": "నిఘాలో ఉన్నట్లు గుర్తించని మార్పులు.",
+       "rcfilters-filter-reviewstatus-manual-label": "మనవికంగా నిఘాలో ఉన్నవి",
        "rcfilters-filtergroup-significance": "ప్రాముఖ్యం",
        "rcfilters-filter-minor-label": "చిన్న మార్పులు",
        "rcfilters-filter-minor-description": "రచయిత చిన్నవిగా గుర్తు పెట్టిన దిద్దుబాట్లు.",
        "upload_directory_missing": "ఎక్కింపు డైరెక్టరీ ($1) కనబడలేదు. పైగా వెబ్ సర్వర్ దాన్ని సృష్టించలేకపోయింది.",
        "upload_directory_read_only": "ఎక్కింపు డైరెక్టరీ ($1), వెబ్‌సర్వరు రాసేందుకు అనుకూలంగా లేదు.",
        "uploaderror": "ఎక్కింపు లోపం",
-       "upload-recreate-warning": "<strong>హెచ్చరిక: ఆ పేరుతో ఉన్న దస్త్రాన్ని తరలించడం లేదా తొలగించడం జరిగింది.</strong>\n\nమీ సౌకర్యం కోసం ఈ పేజీ యొక్క తొలగింపు మరియు తరలింపు చిట్టాని ఇక్కడ ఇస్తున్నాం:",
-       "uploadtext": "దస్త్రాలను ఎక్కించడానికి ఈ కింది ఫారాన్ని ఉపయోగించండి.\nగతంలో ఎక్కించిన దస్త్రాలను చూడడానికి లేదా వెతకడానికి [[Special:FileList|ఎక్కించిన దస్త్రాల యొక్క జాబితా]]కు వెళ్ళండి, (పునః)ఎక్కింపులు [[Special:Log/upload|ఎక్కింపుల చిట్టా]] లోనూ తొలగింపులు [[Special:Log/delete|తొలగింపుల చిట్టా]] లోనూ కూడా నమోదవుతాయి.\n\nఒక దస్త్రాన్ని ఏదైనా పుటలో చేర్చడానికి, కింద చూపిన వాటిలో ఏదేనీ విధంగా లింకుని వాడండి:\n* దస్త్రపు పూర్తి కూర్పుని వాడడానికి '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.jpg]]</nowiki></code>'''\n* ఎడమ వైపు మార్జినులో 200 పిక్సెళ్ళ వెడల్పుగల బొమ్మ  మరియు 'ప్రత్యామ్నాయ పాఠ్యం' అన్న వివరణతో గల పెట్టె కోసం  '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.png|200px|thumb|left|ప్రత్యామ్నాయ పాఠ్యం]]</nowiki></code>'''\n* దస్త్రాన్ని చూపించకుండా నేరుగా లింకు ఇవ్వడానికి '''<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:File.ogg]]</nowiki></code>'''",
+       "upload-recreate-warning": "<strong>హెచ్చరిక: ఆ పేరుతో ఉన్న దస్త్రాన్ని తరలించడం లేదా తొలగించడం జరిగింది.</strong>\n\nమీ సౌకర్యం కోసం ఈ పేజీకి చెందిన తొలగింపు, తరలింపు చిట్టాలను ఇక్కడ ఇస్తున్నాం:",
+       "uploadtext": "దస్త్రాలను ఎక్కించడానికి ఈ కింది ఫారాన్ని ఉపయోగించండి.\nగతంలో ఎక్కించిన దస్త్రాలను చూడడానికి లేదా వెతకడానికి [[Special:FileList|ఎక్కించిన దస్త్రాల యొక్క జాబితా]]కు వెళ్ళండి, (పునః)ఎక్కింపులు [[Special:Log/upload|ఎక్కింపుల చిట్టా]] లోనూ తొలగింపులు [[Special:Log/delete|తొలగింపుల చిట్టా]] లోనూ కూడా నమోదవుతాయి.\n\nఒక దస్త్రాన్ని ఏదైనా పుటలో చేర్చడానికి, కింద చూపిన వాటిలో ఏదేనీ విధంగా లింకుని వాడండి:\n* దస్త్రపు పూర్తి కూర్పుని వాడడానికి '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.jpg]]</nowiki></code>'''\n* ఎడమ వైపు మార్జినులో 200 పిక్సెళ్ళ వెడల్పుగల బొమ్మ, 'ప్రత్యామ్నాయ పాఠ్యం' అన్న వివరణతో గల పెట్టె కోసం '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.png|200px|thumb|left|ప్రత్యామ్నాయ పాఠ్యం]]</nowiki></code>'''\n* దస్త్రాన్ని చూపించకుండా నేరుగా లింకు ఇవ్వడానికి '''<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:File.ogg]]</nowiki></code>'''",
        "upload-permitted": "అనుమతించబడిన ఫైలు {{PLURAL:$2|రకం|రకాలు}}: $1.",
        "upload-preferred": "అనుమతించే ఫైలు {{PLURAL:$2|రకం|రకాలు}}: $1.",
        "upload-prohibited": "నిషేధించబడిన ఫైలు {{PLURAL:$2|రకం|రకాలు}}: $1.",
        "badfilename": "ఫైలు పేరు \"$1\"కి మార్చబడినది.",
        "filetype-mime-mismatch": "దస్త్రపు ఎక్స్టెన్షను \".$1\", ఆ దస్త్రం యొక్క MIME రకం ($2) తో సరిపోలలేదు.",
        "filetype-badmime": "\"$1\" MIME రకం ఉన్న ఫైళ్ళను ఎగుమతికి అనుమతించం.",
-       "filetype-bad-ie-mime": "à°\88 à°«à±\88à°²à±\81ని à°\8eà°\97à±\81మతి à°\9aà±\87యలà±\87à°°à±\81. à°\8eà°\82à°¦à±\81à°\95à°\82à°\9fà±\87 à°\87à°\82à°\9fà°°à±\8dà°¨à±\86à°\9fà±\8d à°\8eà°\95à±\8dà°¸à±\8dâ\80\8cà°ªà±\8dà°²à±\8bà°°à°°à±\8d à°¦à±\80à°¨à±\8dని \"$1\" à°\97à°¾ à°\9aà±\82పిసà±\8dà°¤à±\81à°\82ది. à°\87ది à°\85à°¨à±\81మతి à°²à±\87ని à°®à°°à°¿à°¯à±\81 à°ªà±\8dరమాదà°\95à°°à°®à±\88à°¨ à°«à±\88à°²à±\81 à°°à°\95à°\82.",
+       "filetype-bad-ie-mime": "à°\88 à°«à±\88à°²à±\81ని à°\8eà°\97à±\81మతి à°\9aà±\87యలà±\87à°°à±\81. à°\8eà°\82à°¦à±\81à°\95à°\82à°\9fà±\87 à°\87à°\82à°\9fà°°à±\8dà°¨à±\86à°\9fà±\8d à°\8eà°\95à±\8dà°¸à±\8dâ\80\8cà°ªà±\8dà°²à±\8bà°°à°°à±\8d à°¦à±\80à°¨à±\8dని \"$1\" à°\97à°¾ à°\9aà±\82పిసà±\8dà°¤à±\81à°\82ది. à°\88 à°«à±\88à°²à±\81 à°°à°\95à°\82 à°\85à°¨à±\81మతి à°²à±\87నిది, à°ªà±\8dరమాదà°\95à°°à°®à±\88నదà±\80à°¨à±\81.",
        "filetype-unwanted-type": "<strong>\".$1\"</strong> అనేది అవాంఛిత ఫైలు రకం.\n$2 {{PLURAL:$3|అనేది వాడదగ్గ ఫైలు రకం|అనేవి వాడదగ్గ ఫైలు రకాలు}}.",
        "filetype-banned-type": "'''\".$1\"''' {{PLURAL:$4|అనేది అనుమతించబడిన ఫైలు రకం కాదు|అనేవి అనుమతించబడిన ఫైలు రకాలు కాదు}}.\nఅనుమతించబడిన {{PLURAL:$3|ఫైలు రకం|ఫైలు రకాలు}} $2.",
        "filetype-missing": "ఫైలుకి ఎక్స్టెన్షను (\".jpg\" లాంటిది) లేదు.",
        "uploadstash-errclear": "ఫైళ్ళ తీసివేత విఫలమైంది.",
        "uploadstash-refresh": "దస్త్రాల జాబిజాను తాజాకరించు",
        "uploadstash-thumbnail": "నఖచిత్రం చూడండి",
+       "uploadstash-file-too-large": "$1 బైట్ల కంటే పెద్ద ఫైలును భద్రపరచలేం.",
+       "uploadstash-not-logged-in": "వాడుకరి ఎవరూ లాగినై లేరు. దస్త్రాలు వాడుకరులకు చెంది ఉండాలి",
+       "uploadstash-wrong-owner": "ఈ దస్త్రం ($1) ప్రస్తుత వాడుకరికి చెందినది కాదు.",
+       "uploadstash-no-such-key": "అలాంటి కీ ($1) లేనే లేదు. కాబట్టి తీసెయ్యలేం.",
+       "uploadstash-zero-length": "దస్త్రం పొడవు సున్నా.",
        "invalid-chunk-offset": "చెల్లని చంక్ ఆఫ్‍సెట్",
        "img-auth-accessdenied": "అనుమతిని నిరాకరించారు",
        "img-auth-nopathinfo": "PATH_INFO లేదు.\nమీ సర్వరు ఈ సమాచారాన్ని పంపించేందుకు అనువుగా అమర్చి లేదు.\nఅది CGI ఆధారితమై ఉండొచ్చు. అంచేత img_auth కు అనుకూలంగా లేదు.\nhttps://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization చూడండి.",
        "http-timed-out": "HTTP అభ్యర్థనకి కాలం చెల్లింది.",
        "http-curl-error": "URLని తేవడంలో లోపం: $1",
        "http-bad-status": "HTTP అభ్యర్ధన చేస్తున్నప్పుడు సమస్య ఉంది: $1 $2",
+       "http-internal-error": "HTTP అంతర్గత లోపం.",
        "upload-curl-error6": "URL కు వెళ్ళలేకపోయాం",
        "upload-curl-error6-text": "ఇచ్చిన URL కు వెళ్ళలేకపోయాం. URL సరైనదేనని, సైటు పనిచేస్తూనే ఉన్నదనీ నిర్ధారించుకోండి.",
        "upload-curl-error28": "ఎక్కింపు కాలాతీతం",
        "listfiles_size": "పరిమాణం",
        "listfiles_description": "వివరణ",
        "listfiles_count": "కూర్పులు",
-       "listfiles-show-all": "à°¬à±\8aà°®à±\8dమల à°ªà°¾à°¤ à°\95à±\82à°°à±\8dà°ªà±\81లనà±\81 à°\95à°²à±\81à°ªà±\81",
+       "listfiles-show-all": "à°¬à±\8aà°®à±\8dమల à°ªà°¾à°¤ à°\95à±\82à°°à±\8dà°ªà±\81లతà±\8b à°¸à°¹à°¾",
        "listfiles-latestversion": "ప్రస్తుత కూర్పు",
        "listfiles-latestversion-yes": "అవును",
        "listfiles-latestversion-no": "కాదు",
        "filerevert-submit": "వెనక్కు తీసుకువెళ్ళు",
        "filerevert-success": "<strong>[[Media:$1|$1]]</strong> ను  [$4 $2 $3 నాటి కూర్పు]కు తీసుకువెళ్ళాం.",
        "filerevert-badversion": "మీరిచ్చిన టైముస్టాంపుతో ఈ ఫైలుకు స్థానిక కూర్పేమీ లేదు.",
+       "filerevert-identical": "దస్రపు ప్రస్తుత కూర్పు, ఎంచుకున్నదీ రెండూ సరిగ్గా ఒకేలా ఉన్నాయి.",
        "filedelete": "$1ని తొలగించు",
        "filedelete-legend": "ఫైలుని తొలగించు",
        "filedelete-intro": "మీరు <strong>[[Media:$1|$1]]</strong> ఫైలును దాని చరిత్రతో సహా తొలగించబోతున్నారు.",
        "filedelete-maintenance": "నిర్వహణ సందర్భంగా ఫైళ్ళ తొలగింపు, పునస్థాపనలను తాత్కాలికంగా అచేతనం చేసాం.",
        "filedelete-maintenance-title": "దస్త్రాన్ని తొలగించలేకపోయాం",
        "mimesearch": "బొమ్మల మెటాడేటా(MIME)ను వెతకండి",
-       "mimesearch-summary": "ఈ పేజీ MIME-రకాన్ననుసరించి ఫైళ్ళను వడగట్టేందుకు దోహదం చేస్తుంది. Input: contenttype/subtype, ఉదా. <code>బొమ్మ/jpeg</code>.",
+       "mimesearch-summary": "ఈ పేజీ MIME-రకాన్ననుసరించి ఫైళ్ళను వడగట్టేందుకు దోహదం చేస్తుంది. Input: contenttype/subtype or contenttype/* ఉదా. <code>బొమ్మ/jpeg</code>.",
        "mimetype": "MIME రకం:",
        "download": "డౌన్‌లోడు",
        "unwatchedpages": "వీక్షణలో లేని పేజీలు",
        "pageswithprop-legend": "ఒక పేజీ లక్షణం కలిగిన పేజీలు",
        "pageswithprop-text": "ఫలానా పేజీ లక్షణం కలిగిన పేజీల జాబితాను ఈ పేజీలో చూడవచ్చు.",
        "pageswithprop-prop": "లక్షణం పేరు:",
+       "pageswithprop-reverse": "విలోమంగా పేర్చు",
        "pageswithprop-submit": "వెళ్ళు",
        "pageswithprop-prophidden-long": "long text లక్షణం విలువ దాచబడింది ($1)",
        "pageswithprop-prophidden-binary": "binary లక్షణం విలువ దాచబడింది ($1)",
        "doubleredirects": "జంట దారిమార్పులు",
-       "doubleredirectstext": "ఇతర దారిమార్పు పుటలకి తీసుకెళ్ళే దారిమార్పులని ఈ పుట చూపిస్తుంది.\nప్రతీ వరుసలో మొదటి మరియు రెండవ దారిమార్పులకు లంకెలు, ఆలానే రెండవ దారిమార్పు పుట యొక్క లక్ష్యం ఉన్నాయి. సాధారణంగా ఈ రెండవ దారిమార్పు యొక్క లక్ష్యమే \"అసలైనది\", అదే మొదటి దారిమార్పు యొక్క లక్ష్యంగా ఉండాలి.\n<del>కొట్టివేయబడిన</del> పద్దులు పరిష్కరించబడ్డవి.",
+       "doubleredirectstext": "ఇతర దారిమార్పు పుటలకి తీసుకెళ్ళే దారిమార్పులని ఈ పుట చూపిస్తుంది.\nప్రతీ వరుసలో మొదటి, రెండవ దారిమార్పులకు లంకెలు, ఆలానే రెండవ దారిమార్పు పుట యొక్క లక్ష్యం ఉన్నాయి. సాధారణంగా ఈ రెండవ దారిమార్పు యొక్క లక్ష్యమే \"అసలైనది\", అదే మొదటి దారిమార్పు యొక్క లక్ష్యంగా ఉండాలి.\n<del>కొట్టివేయబడిన</del> పద్దులు పరిష్కరించబడ్డవి.",
        "double-redirect-fixed-move": "[[$1]]ని తరలించారు.\nదాన్ని ఆటోమేటిగ్గా తాజాకరించాం. ప్రస్తుతం అది [[$2]]కి దారిమార్పు చేస్తోంది.",
-       "double-redirect-fixed-maintenance": "[[$1]] à°\95à±\81 à°\9cమిలి à°¦à°¾à°°à°¿à°®à°¾à°°à±\8dà°ªà±\81à°¨à±\81 [[$2]] à°\95à±\81 à°\85à°ªà±\8dà°°à°®à±\87à°¯ంగా సరిచేస్తున్నాం.",
+       "double-redirect-fixed-maintenance": "[[$1]] à°¨à±\81à°\82à°¡à°¿ [[$2]] à°\95à±\81 à°\9cమిలి à°¦à°¾à°°à°¿à°®à°¾à°°à±\8dà°ªà±\81à°¨à±\81 à°\86à°\9fà±\8bమాà°\9fà°¿à°\97à±\8dà°\97à°¾ à°¨à°¿à°°à±\8dవహణలà±\8b à°­à°¾à°\97ంగా సరిచేస్తున్నాం.",
        "double-redirect-fixer": "దారిమార్పు సరిద్దువారు",
        "brokenredirects": "తెగిపోయిన దారిమార్పులు",
        "brokenredirectstext": "కింది దారిమార్పులు ఉనికిలోనే లేని పేజీలకు వెళ్తున్నాయి:",
        "ancientpages": "పాత పేజీలు",
        "move": "తరలించు",
        "movethispage": "ఈ పేజీని తరలించు",
-       "unusedimagestext": "ఈ క్రింది ఫైళ్ళు ఉన్నాయి కానీ వాటిని ఏ పేజీలోనూ ఉపయోగించట్లేదు.\nఇతర వెబ్ సైట్లు సూటి URL ద్వారా ఇక్కడి ఫైళ్ళకు లింకు ఇవ్వవచ్చు, మరియు ఆవిధంగా క్రియాశీలంగా వాడుకలో ఉన్నప్పటికీ అటువంటివి ఈ జాబితాలో చేరి ఉండవచ్చునని గమనించండి.",
+       "unusedimagestext": "ఈ క్రింది ఫైళ్ళు ఉన్నాయి కానీ వాటిని ఏ పేజీలోనూ ఉపయోగించట్లేదు.\nఇతర వెబ్ సైట్లు సూటి URL ద్వారా ఇక్కడి ఫైళ్ళకు లింకు ఇవ్వవచ్చు. ఆ విధంగా క్రియాశీలంగా వాడుకలో ఉన్నప్పటికీ, అటువంటివి ఈ జాబితాలో చేరి ఉండవచ్చునని గమనించండి.",
        "unusedcategoriestext": "కింది వర్గాలకు పేజీలైతే ఉన్నాయి గానీ, వీటిని వ్యాసాలు గానీ, ఇతర వర్గాలు గానీ ఉపయోగించడం లేదు.",
        "notargettitle": "గమ్యం లేదు",
        "notargettext": "ఈ పని ఏ పేజీ లేదా వాడుకరిపై జరగాలనే గమ్యాన్ని మీరు సూచించలేదు.",
        "trackingcategories-nodesc": "వివరణ లేదు.",
        "trackingcategories-disabled": "వర్గం అచేతనమై ఉంది",
        "mailnologin": "పంపించవలసిన చిరునామా లేదు",
-       "mailnologintext": "à°\87తరà±\81à°²à°\95à±\81 à°\88-à°®à±\86యిలà±\81 à°ªà°\82పిà°\82à°\9aాలà°\82à°\9fà±\87, à°®à±\80à°°à±\81 [[Special:UserLogin|లాà°\97à°¿à°¨à±\8dâ\80\8c]] à°\85యి à°\89à°\82డాలి, à°®à°°à°¿à°¯à±\81 à°®à±\80 [[Special:Preferences|à°\85à°­à°¿à°°à±\81à°\9aà±\81à°²]]à°²à±\8b à°¸à°°à±\88à°¨ à°\88-à°®à±\86యిలà±\81 à°\9aà°¿à°°à±\81నామా à°\87à°\9aà±\8dà°\9aà°¿ à°\89à°\82డాలి.",
+       "mailnologintext": "ఇతరులకు ఈ-మెయిలు పంపించాలంటే, మీరు [[Special:UserLogin|లాగిన్‌]] అయి ఉండాలి, మీ [[Special:Preferences|అభిరుచుల]]లో సరైన ఈ-మెయిలు చిరునామా ఇచ్చి ఉండాలి.",
        "emailuser": "ఈ వాడుకరికి ఈ-మెయిలుని పంపించండి",
        "emailuser-title-target": "ఈ {{GENDER:$1|వాడుకరికి}} ఈమెయిలు పంపించండి",
        "emailuser-title-notarget": "వాడుకరికి ఈమెయిలు పంపించండి",
        "cantrollback": "రచనను వెనక్కి తీసుకువెళ్ళలేము; ఈ పేజీకి ఇదొక్కటే రచన.",
        "alreadyrolled": "[[:$1]]లో [[User:$2|$2]] ([[User talk:$2|చర్చ]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]) చేసిన చివరి మార్పును రద్దు చెయ్యలేము;\nమరెవరో ఆ పేజీని వెనక్కి మళ్ళించారు, లేదా మార్చారు.\n\nచివరి మార్పులు చేసినవారు: [[User:$3|$3]] ([[User talk:$3|చర్చ]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).",
        "editcomment": "దిద్దుబాటు సారాశం: <em>$1</em>.",
-       "revertpage": "[[Special:Contributions/$2|$2]] ([[User talk:$2|à°\9aà°°à±\8dà°\9a]]) à°\9aà±\87సిన à°®à°¾à°°à±\8dà°ªà±\81లనà±\81 [[User:$1|$1]] à°¯à±\8aà°\95à±\8dà°\95 à°\9aివరి à°\95à±\82à°°à±\8dà°ªà±\81 à°µà°°à°\95à±\81 à°¤à°¿à°ªà±\8dపిà°\95à±\8aà°\9fà±\8dà°\9fారà±\81.",
-       "revertpage-nouser": "దాà°\9aబడిన à°µà°¾à°¡à±\81à°\95à°°à°¿ à°\9aà±\87సిన à°®à°¾à°°à±\8dà°ªà±\81లనà±\81 [[User:$1|$1]] à°¯à±\8aà°\95à±\8dà°\95 à°\9aివరి à°\95à±\82à°°à±\8dà°ªà±\81à°\95à°¿ తిప్పికొట్టారు",
+       "revertpage": "[[Special:Contributions/$2|$2]] ([[User talk:$2|చర్చ]]) చేసిన మార్పులను [[User:$1|$1]] చివరి కూర్పు వరకు తిప్పికొట్టారు.",
+       "revertpage-nouser": "దాà°\97à°¿ à°\89à°¨à±\8dà°¨ à°µà°¾à°¡à±\81à°\95à°°à°¿ à°\9aà±\87సిన à°®à°¾à°°à±\8dà°ªà±\81లనà±\81 [[User:$1|$1]] à°\9aివరి à°\95à±\82à°°à±\8dà°ªà±\81 à°µà°°à°\95à±\81 తిప్పికొట్టారు",
        "rollback-success": "$1 చేసిన దిద్దుబాట్లను వెనక్కు తీసుకెళ్ళాం; తిరిగి $2 చేసిన చివరి కూర్పుకు మార్చాం.",
        "sessionfailure-title": "సెషను వైఫల్యం",
        "sessionfailure": "మీ లాగిన్ సెషనుతో ఏదో సమస్య ఉన్నట్లుంది;\nసెషను హైజాకు కాకుండా ఈ చర్యను రద్దు చేసాం.\nఫారమును తిరిగి సమర్పించండి.",
        "tooltip-namespace_association": "ఎంచుకున్న పేరుబరికి చెందిన చర్చ లేదా విషయం పేరుబరిని కూడా ఎంచుకునేందుకు ఈ పెట్టెను చెక్ చెయ్యండి.",
        "blanknamespace": "(మొదటి)",
        "contributions": "{{GENDER:$1|వాడుకరి}} రచనలు",
-       "contributions-title": "$1 à°¯à±\8aà°\95à±\8dà°\95 à°®à°¾à°°à±\8dà°ªà±\81à°²à±\81-చేర్పులు",
+       "contributions-title": "$1 à°®à°¾à°°à±\8dà°ªà±\81చేర్పులు",
        "mycontris": "నా మార్పులు",
        "anoncontribs": "మార్పుచేర్పులు",
        "contribsub2": "{{GENDER:$3|$1}} ($2) కొరకు",
        "ipbsubmit": "ఈ వాడుకరిని నిరోధించు",
        "ipbother": "వేరే గడువు",
        "ipboptions": "2 గంటలు:2 hours,ఒక రోజు:1 day,3 రోజులు:3 days,ఒక వారం:1 week,2 వారాలు:2 weeks,ఒక నెల:1 month,3 నెలలు:3 months,6 నెలలు:6 months,ఒక సంవత్సరం:1 year,ఎప్పటికీ:infinite",
-       "ipbhidename": "మార్పులు మరియు జాబితాల నుండి ఈ వాడుకరిపేరుని దాచు",
+       "ipbhidename": "మార్పులు, జాబితాల నుండి ఈ వాడుకరిపేరుని దాచు",
        "ipbwatchuser": "ఈ వాడుకరి వాడుకరి పేజీ, చర్చాపేజీలను వీక్షణలో ఉంచు",
        "ipb-disableusertalk": "నిరోధంలో ఉండగా ఈ వాడుకరి తన స్వంత చర్చ పేజీలో మార్పుచేర్పులు చెయ్యకుండా నిరోధించు",
        "ipb-change-block": "ఈ అమరికలతో వాడుకరిని పునర్నిరోధించు",
        "lockdbsuccesstext": "డాటాబేసు లాకయింది.<br />పని పూర్తి కాగానే లాకు తియ్యడం మర్చిపోకండి.",
        "unlockdbsuccesstext": "డాటాబేసుకి తాళం తీసాం.",
        "lockfilenotwritable": "డేటాబేసుకు తాళంవేయగల ఫైలులో రాయలేకపోతున్నాను.  డేటాబేసుకు తాళంవేయటానికిగానీ లేదా తీసేయటానికిగానీ, వెబ్‌సర్వరులో ఉన్న ఈ ఫైలులో రాయగలగాలి.",
+       "databaselocked": "డేటాబేసుకు ఈసరికే తాళం వేసి ఉంది.",
        "databasenotlocked": "డేటాబేసు లాకవలేదు.",
        "lockedbyandtime": "($2 న $3 వద్ద {{GENDER:$1|$1}} ద్వారా)",
        "move-page": "$1 తరలింపు",
        "movetalk": "కూడా వున్న చర్చ పేజీని తరలించు",
        "move-subpages": "ఉపపేజీలను ($1 వరకు) తరలించు",
        "move-talk-subpages": "చర్చా పేజీ యొక్క ఉపపేజీలను ($1 వరకు) తరలించు",
-       "movepage-page-exists": "$1 అనే పేజీ ఈపాటికే ఉంది మరియు దాన్ని ఆటోమెటిగ్గా ఈ పేజీతో మార్చివేయలేరు.",
+       "movepage-page-exists": "$1 అనే పేజీ ఈపాటికే ఉంది. దాన్ని ఆటోమెటిగ్గా ఈ పేజీతో తిరగ రాయలేరు.",
        "movepage-page-moved": "$1 అనే పేజీని $2 కి తరలించాం.",
        "movepage-page-unmoved": "$1 అనే పేజీని $2 కి తరలించలేకపోయాము.",
        "movepage-max-pages": "$1 యొక్క గరిష్ఠ పరిమితి {{PLURAL:$1|పేజీ|పేజీలు}} వరకు తరలించడమైనది. ఇక ఆటోమాటిగ్గా తరలించము.",
        "move-over-sharedrepo": "[[:$1]] సామూహిక నిక్షేపంలో ఉంది. ఈ పేరుకు మరొక ఫైలును తరలిస్తే అది ఆ సామూహిక ఫైలును ఓవర్‌రైడు చేస్తుంది.",
        "file-exists-sharedrepo": "ఎంచుకున్న ఫైలు పేరు ఇప్పటికే సామాన్య భాండాగారంలో వాడుకలో ఉంది.\nదయచేసి మరొక పేరుని ఎంచుకోండి.",
        "export": "పేజీల ఎగుమతి",
-       "exporttext": "ఎంచుకున్న పేజీ లేదా పేజీలలోని వ్యాసం మరియు పేజీ చరితం లను XML లో ఎగుమతి చేసుకోవచ్చు. MediaWiki ని ఉపయోగించి Special:Import page ద్వారా దీన్ని వేరే వికీ లోకి దిగుమతి చేసుకోవచ్చు.\n\nపేజీలను ఎగుమతి చేసందుకు, కింద ఇచ్చిన టెక్స్టు బాక్సులో పేజీ పేర్లను లైనుకో పేరు చొప్పున ఇవ్వండి. ప్రస్తుత కూర్పుతో పాటు పాత కూర్పులు కూడా కావాలా, లేక ప్రస్తుత కూర్పు మాత్రమే చాలా అనే విషయం కూడా ఇవ్వవచ్చు.\n\nరెండో పద్ధతిలో అయితే, పేజీ యొక్క లింకును కూడా వాడవచ్చు. ఉదాహరణకు, \"[[{{MediaWiki:Mainpage}}]]\" కోసమైతే [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]] అని ఇవ్వవచ్చు.",
+       "exporttext": "ఎంచుకున్న పేజీ లేదా పేజీలలోని వ్యాసం, పేజీ చరితాలను XML లో ఎగుమతి చేసుకోవచ్చు. MediaWiki ని ఉపయోగించి [[Special:Import|Import page]] ద్వారా దీన్ని వేరే వికీలోకి దిగుమతి చేసుకోవచ్చు.\n\nపేజీలను ఎగుమతి చేసేందుకు, కింద ఇచ్చిన టెక్స్టు బాక్సులో పేజీ పేర్లను లైనుకో పేరు చొప్పున ఇవ్వండి. ప్రస్తుత కూర్పుతో పాటు పాత కూర్పులు కూడా కావాలా, లేక ప్రస్తుత కూర్పు మాత్రమే చాలా అనే విషయం కూడా ఇవ్వవచ్చు.\n\nరెండో పద్ధతిలో అయితే, పేజీ లింకును కూడా వాడవచ్చు. ఉదాహరణకు, \"[[{{MediaWiki:Mainpage}}]]\" కోసమైతే [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]] అని ఇవ్వవచ్చు.",
        "exportall": "పేజీలన్నిటినీ ఎగుమతి చెయ్యి",
        "exportcuronly": "ప్రస్తుత కూర్పు మాత్రమే, పూర్తి చరితం వద్దు",
        "exportnohistory": "----\n'''గమనిక:''' ఈ ఫారాన్ని ఉపయోగించి పేజీలయొక్క పూర్తి చరిత్రను ఎగుమతి చేయడాన్ని సర్వరుపై వత్తిడి పెరిగిన కారణంగా ప్రస్తుతం నిలిపివేశారు.",
        "thumbnail_dest_directory": "గమ్యస్థానంలో డైరెక్టరీని సృష్టించలేకపోయాం",
        "thumbnail_image-type": "ఈ బొమ్మ రకానికి మద్దతు లేదు",
        "thumbnail_gd-library": "అసంపూర్ణ GD సంచయపు ఏర్పాటు: $1 ఫంక్షను లేదు.",
+       "thumbnail_image-size-zero": "బొమ్మ దస్త్రపు పరిమాణం సున్నా అనుకుంటాను.",
        "thumbnail_image-missing": "ఫైలు తప్పిపోయినట్లున్నది: $1",
        "thumbnail_image-failure-limit": "ఈ థంబ్‍నెయిల్‍ను రెండరు చెయ్యడానికి చాలా ఎక్కువ విఫలయత్నాలు ($1 లేదా అంతకంటే ఎక్కువ) జరిగాయి. కాస్తాగి మళ్ళీ ప్రయత్నించండి.",
        "import": "పేజీలను దిగుమతి చేసుకోండి",
        "import-mapping-namespace": "పేరుబరికి దిగుమతించు:",
        "import-mapping-subpage": "దిగువ పేర్కొన్న పేజీ యొక్క ఉప పేజీలుగా దిగుమతించు:",
        "import-upload-filename": "పైలుపేరు:",
+       "import-upload-username-prefix": "అంతర్వికీ ఆదిపదం:",
+       "import-assign-known-users": "సూచించిన వాడుకరి స్థానికంగా ఉంటే దిద్దుబాట్లను ఆ వాడుకరికే ఆపాదించు",
        "import-comment": "వ్యాఖ్య:",
        "importtext": "[[Special:Export|ఎగుమతి ఉపకరణాన్ని]] ఉపయోగించి, ఈ ఫైలుని  మూల వికీ నుంచి ఎగుమతి చెయ్యండి.\nదాన్ని మీ కంప్యూటర్లో భద్రపరచి, ఆపై ఇక్కడికి ఎక్కించండి.",
        "importstart": "పేజీలను దిగుమతి చేస్తున్నాం...",
        "svg-long-error": "చెల్లని SVG దస్త్రం: $1",
        "show-big-image": "అసలు దస్త్రం",
        "show-big-image-preview": "ఈ మునుజూపు పరిమాణం: $1.",
+       "show-big-image-preview-differ": "ఈ ఫైలు $2 కు చెందిన ఈ మునుజూపు $3 పరిమాణం: $1.",
        "show-big-image-other": "ఇతర {{PLURAL:$2|వైశాల్యం|వైశాల్యాలు}}: $1.",
        "show-big-image-size": "$1 × $2 పిక్సెళ్ళు",
        "file-info-gif-looped": "లూపులో పడింది",
        "exif-samplesperpixel": "కాంపొనెంట్ల సంఖ్య",
        "exif-planarconfiguration": "డాటా అమరిక",
        "exif-ycbcrsubsampling": "Y, C ల ఉప నమూనా నిష్పత్తి",
-       "exif-ycbcrpositioning": "Y మరియు C స్థానాలు",
+       "exif-ycbcrpositioning": "Y, C స్థానాలు",
        "exif-xresolution": "క్షితిజసమాంతర స్పష్టత",
        "exif-yresolution": "లంబ స్పష్టత",
        "exif-stripoffsets": "బొమ్మ డేటా ఉన్న స్థలం",
        "exif-whitepoint": "శ్వేతబిందు వర్ణోగ్రత (క్రొమాటిసిటీ)",
        "exif-primarychromaticities": "ప్రైమారిటీల వర్ణోగ్రతలు",
        "exif-ycbcrcoefficients": "వర్ణస్థల మార్పు మాత్రిక స్థానసూచికలు",
-       "exif-referenceblackwhite": "నలుపు మరియు తెలుపు సూచీ విలువల యొక్క జత",
-       "exif-datetime": "ఫైలు మార్చిన తేదీ మరియు సమయం",
+       "exif-referenceblackwhite": "నలుపు, తెలుపు సూచీ విలువల జత",
+       "exif-datetime": "ఫైలు మార్చిన తేదీ, సమయం",
        "exif-imagedescription": "బొమ్మ శీర్షిక",
        "exif-make": "కేమెరా తయారీదారు",
        "exif-model": "కేమెరా మోడల్",
        "exif-compression-1": "కుదించని",
        "exif-copyrighted-true": "నకలుహక్కులుకలది",
        "exif-copyrighted-false": "కాపీహక్కుల స్థితి అమర్చలేదు",
-       "exif-photometricinterpretation-1": "నలà±\81à°ªà±\81 à°®à°°à°¿à°¯à±\81 à°¤à±\86à°²à±\81à°\97à±\81 (నలà±\81à°ªà±\81à°\95à°¿ 0)",
+       "exif-photometricinterpretation-1": "నలుపు తెలుగు (నలుపుకి 0)",
        "exif-unknowndate": "అజ్ఞాత తేదీ",
        "exif-orientation-1": "సాధారణ",
        "exif-orientation-2": "క్షితిజ సమాంతరంగా తిరగేసాం",
        "exif-gpsdop-poor": "బాగా లేదు ($1)",
        "exif-objectcycle-a": "ఉదయం మాత్రమే",
        "exif-objectcycle-p": "సాయంత్రం మాత్రమే",
-       "exif-objectcycle-b": "à°\89దయమà±\82 à°®à°°à°¿à°¯à±\81 à°¸à°¾à°¯à°\82à°¤à±\8dà°°à°®à±\82",
+       "exif-objectcycle-b": "ఉదయము సాయంత్రమూ",
        "exif-gpsdirection-t": "వాస్తవ దిశ",
        "exif-gpsdirection-m": "అయస్కాంత దిశ",
        "exif-ycbcrpositioning-1": "మధ్యగతం చేయబడిన",
        "exif-dc-type": "మీడియా యొక్క రకము",
        "exif-rating-rejected": "తిరస్కరించబడింది",
        "exif-isospeedratings-overflow": "65535 కంటే ఎక్కువ",
-       "exif-iimcategory-ace": "కళలు, సంస్కృతి మరియు వినోదం",
-       "exif-iimcategory-clj": "నేరము మరియు చట్టము",
-       "exif-iimcategory-dis": "విపత్తులు మరియు ప్రమాదాలు",
-       "exif-iimcategory-fin": "ఆర్ధికం మరియు వ్యాపారం",
+       "exif-iimcategory-ace": "కళలు, సంస్కృతి, వినోదం",
+       "exif-iimcategory-clj": "నేరము, చట్టమూ",
+       "exif-iimcategory-dis": "విపత్తులు, ప్రమాదాలు",
+       "exif-iimcategory-fin": "ఆర్ధికం, వాణిజ్యం",
        "exif-iimcategory-edu": "విద్య",
        "exif-iimcategory-evn": "పర్యావరణం",
        "exif-iimcategory-hth": "ఆరోగ్యం",
        "exif-iimcategory-hum": "మానవీయ ఆసక్తి",
        "exif-iimcategory-lab": "కృషి",
-       "exif-iimcategory-lif": "జీవనశైలి మరియు కాలక్షేపం",
+       "exif-iimcategory-lif": "జీవనశైలి, కాలక్షేపం",
        "exif-iimcategory-pol": "రాజకీయాలు",
-       "exif-iimcategory-rel": "మతం మరియు విశ్వాసం",
-       "exif-iimcategory-sci": "వైజ్ఞానికం మరియు సాంకేతికం",
+       "exif-iimcategory-rel": "మతం, విశ్వాసం",
+       "exif-iimcategory-sci": "వైజ్ఞానికం, సాంకేతికం",
        "exif-iimcategory-soi": "సాంఘిక సమస్యలు",
        "exif-iimcategory-spo": "క్రీడలు",
-       "exif-iimcategory-war": "యుద్ధం, సంఘర్షణలు మరియు అనిశ్చితి",
+       "exif-iimcategory-war": "యుద్ధం, సంఘర్షణ, అల్లర్లు",
        "exif-iimcategory-wea": "వాతావరణం",
        "exif-urgency-normal": "సాధారణం ($1)",
        "exif-urgency-low": "తక్కువ ($1)",
        "confirmemail_success": "మీ ఈ-మెయిలు చిరునామా ధృవీకరించబడింది.\nఇక [[Special:UserLogin|లోనికి ప్రవేశించి]] వికీని అస్వాదించండి.",
        "confirmemail_loggedin": "మీ ఈ-మెయిలు చిరునామా ఇప్పుడు రూఢి అయింది.",
        "confirmemail_subject": "{{SITENAME}} ఈ-మెయిలు చిరునామా ధృవీకరణ",
-       "confirmemail_body": "$1 ఐపీ చిరునామా నుండి ఎవరో, బహుశా మీరే,\n{{SITENAME}}లో \"$2\" అనే ఖాతాని ఈ ఈ-మెయిలు చిరునామాతో నమోదుచేసుకున్నారు.\n\nఆ ఖాతా నిజంగా మీదే అని నిర్ధారించేందుకు మరియు {{SITENAME}}లో ఈ-మెయిలు సౌలభ్యాలని\nచేతనం చేసుకునేందుకు, ఈ లంకెని మీ విహారిణిలో తెరవండి:\n\n$3\n\nఒకవేళ ఆ ఖాతా మీది *కాకపోతే*, ఈ-మెయిలు చిరునామా నిర్ధారణని రద్దుచేసేందుకు ఈ లంకెని అనుసరించండి:\n\n$5\n\nఈ నిర్ధారణా సంకేతం $4కి కాలంచెల్లుతుంది.",
+       "confirmemail_body": "$1 ఐపీ చిరునామా నుండి ఎవరో, బహుశా మీరే,\n{{SITENAME}}లో \"$2\" అనే ఖాతాని ఈ ఈమెయిలు చిరునామాతో నమోదుచేసుకున్నారు.\n\nఆ ఖాతా నిజంగా మీదే అని నిర్ధారించేందుకు మరియు {{SITENAME}}లో ఈమెయిలు సౌలభ్యాలని చేతనం చేసుకునేందుకు, ఈ లంకెని మీ విహారిణిలో తెరవండి:\n\n$3\n\nఒకవేళ ఆ ఖాతా మీది *కాకపోతే*, ఈమెయిలు చిరునామా నిర్ధారణని రద్దుచేసేందుకు ఈ లంకెని అనుసరించండి:\n\n$5\n\nఈ నిర్ధారణా సంకేతం $4కి కాలంచెల్లుతుంది.",
        "confirmemail_body_changed": "$1 ఐపీ చిరునామా నుండి ఎవరో, బహుశా మీరే,\n{{SITENAME}}లో \"$2\" అనే ఖాతా యొక్క ఈ-మెయిలు చిరునామాని ఈ చిరునామాకి మార్చారు.\n\nఆ ఖాతా నిజంగా మీదే అని నిర్ధారించేందుకు మరియు {{SITENAME}}లో\nఈ-మెయిలు సౌలభ్యాలని పునఃచేతనం చేసుకునేందుకు, ఈ లంకెని మీ విహారిణిలో తెరవండి:\n\n$3\n\nఒకవేళ ఆ ఖాతా మీది *కాకపోతే*, ఈ-మెయిలు చిరునామా నిర్ధారణని రద్దుచేసేందుకు\nఈ లంకెని అనుసరించండి:\n\n$5\n\nఈ నిర్ధారణా సంకేతం $4కి కాలంచెల్లుతుంది.",
        "confirmemail_invalidated": "ఈ-మెయిలు చిరునామా నిర్ధారణని రద్దుచేసాం",
        "invalidateemail": "ఈ-మెయిలు నిర్ధారణని రద్దుచేయండి",
        "version-poweredby-others": "ఇతరులు",
        "version-poweredby-translators": "translatewiki.net అనువాదకులు",
        "version-credits-summary": "కింది వ్యక్తులు [[Special:Version|MediaWiki]] కి చేసిన సేవకుగాను, వారిని గుర్తించదలచాం.",
-       "version-license-info": "à°®à±\80డియావిà°\95à±\80 à°\85à°¨à±\8dనది à°¸à±\8dà°µà±\87à°\9aà±\8dà°\9bà°¾ à°®à±\83à°¦à±\82à°ªà°\95à°°à°£à°\82; మీరు దీన్ని పునఃపంపిణీ చేయవచ్చు మరియు/లేదా ఫ్రీ సాఫ్ట్&zwnj;వేర్ ఫౌండేషన్ ప్రచురించిన గ్నూ జనరల్ పబ్లిక్ లైసెస్సు వెర్షను 2 లేదా (మీ ఎంపిక ప్రకారం) అంతకంటే కొత్త వెర్షను యొక్క నియమాలకు లోబడి మార్చుకోవచ్చు.\n\nమీడియావికీ ప్రజోపయోగ ఆకాంక్షతో పంపిణీ చేయబడుతుంది, కానీ ఎటువంటి వారంటీ లేకుండా; కనీసం ఏదైనా ప్రత్యేక ఉద్దేశానికి సరిపడుతుందని గానీ లేదా వస్తుత్వం యొక్క అంతర్నిహిత వారంటీ లేకుండా. మరిన్ని వివరాలకు గ్నూ జనరల్ పబ్లిక్ లైసెన్సుని చూడండి.\n\nఈ ఉపకరణంతో పాటు మీకు [{{SERVER}}{{SCRIPTPATH}}/COPYING గ్నూ జనరల్ పబ్లిక్ లైసెన్సు  యొక్క ఒక కాపీ] అందివుండాలి; లేకపోతే, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA అన్న చిరునామాకి వ్రాయండి లేదా [//www.gnu.org/licenses/old-licenses/gpl-2.0.html జాలం లోనే చదవండి].",
+       "version-license-info": "à°®à±\80డియావిà°\95à±\80 à°\85à°¨à±\8dనది à°¸à±\8dà°µà±\87à°\9aà±\8dà°\9bà°¾ à°¸à°¾à°«à±\8dà°\9fà±\81à°µà±\87à°°à±\81; మీరు దీన్ని పునఃపంపిణీ చేయవచ్చు మరియు/లేదా ఫ్రీ సాఫ్ట్&zwnj;వేర్ ఫౌండేషన్ ప్రచురించిన గ్నూ జనరల్ పబ్లిక్ లైసెస్సు వెర్షను 2 లేదా (మీ ఎంపిక ప్రకారం) అంతకంటే కొత్త వెర్షను యొక్క నియమాలకు లోబడి మార్చుకోవచ్చు.\n\nమీడియావికీ ప్రజోపయోగ ఆకాంక్షతో పంపిణీ చేయబడుతుంది, కానీ ఎటువంటి వారంటీ లేకుండా; కనీసం ఏదైనా ప్రత్యేక ఉద్దేశానికి సరిపడుతుందని గానీ లేదా వస్తుత్వం యొక్క అంతర్నిహిత వారంటీ లేకుండా. మరిన్ని వివరాలకు గ్నూ జనరల్ పబ్లిక్ లైసెన్సుని చూడండి.\n\nఈ ఉపకరణంతో పాటు మీకు [{{SERVER}}{{SCRIPTPATH}}/COPYING గ్నూ జనరల్ పబ్లిక్ లైసెన్సు  యొక్క ఒక కాపీ] అందివుండాలి; లేకపోతే, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA అన్న చిరునామాకి వ్రాయండి లేదా [//www.gnu.org/licenses/old-licenses/gpl-2.0.html జాలం లోనే చదవండి].",
        "version-software": "స్థాపిత మృదూపకరణాలు",
        "version-software-product": "ప్రోడక్టు",
        "version-software-version": "వెర్షను",
        "specialpages-group-maintenance": "నిర్వహణా నివేదికలు",
        "specialpages-group-other": "ఇతర ప్రత్యేక పేజీలు",
        "specialpages-group-login": "లాగినవండి / ఖాతా సృష్టించుకోండి",
-       "specialpages-group-changes": "ఇటీవలి మార్పులు మరియు దినచర్యలు",
-       "specialpages-group-media": "మాధà±\8dయమ à°¨à°¿à°µà±\87దిà°\95à°²à±\81 à°®à°°à°¿à°¯à±\81 à°\8eà°\97à±\81మతులు",
+       "specialpages-group-changes": "ఇటీవలి మార్పులు, చిట్టాలు",
+       "specialpages-group-media": "à°®à±\80డియా à°¨à°¿à°µà±\87దిà°\95à°²à±\81, à°\8eà°\95à±\8dà°\95à°¿à°\82à°ªులు",
        "specialpages-group-users": "వాడుకరులు, హక్కులు",
        "specialpages-group-highuse": "అధిక వాడుక పేజీలు",
        "specialpages-group-pages": "పేజీల జాబితాలు",
        "specialpages-group-pagetools": "పేజీ పనిముట్లు",
-       "specialpages-group-wiki": "డాటా మరియు పనిముట్లు",
+       "specialpages-group-wiki": "డాటా, పనిముట్లు",
        "specialpages-group-redirects": "ప్రత్యేక పేజీల దారిమార్పులు",
        "specialpages-group-spam": "స్పామ్ పనిముట్లు",
        "specialpages-group-developer": "వికాసకుల పనిముట్లు",
        "tag-mw-blank": "తుడిచివేత",
        "tag-mw-blank-description": "పేజీని తుడిచివేసే దిద్దుబాట్లు",
        "tags-title": "టాగులు",
-       "tags-intro": "à°\88 à°ªà±\87à°\9cà±\80 à°®à±\83à°¦à±\82à°ªà°\95à°°à°£à°\82 à°®à°¾à°°à±\8dà°ªà±\81à°²à°\95à±\81 à°\87à°\9aà±\8dà°\9aà±\87 à°\9fà±\8dయాà°\97à±\81లనà±\81, à°®à°°à°¿à°¯à±\81 à°µà°¾à°\9fà°¿ à°\85à°°à±\8dధాలనà±\81 చూపిస్తుంది.",
+       "tags-intro": "మారà±\8dà°ªà±\81à°\9aà±\87à°°à±\8dà°ªà±\81à°²à°\95à±\81 à°¸à°¾à°«à±\8dà°\9fà±\81à°µà±\87à°°à±\81 à°\87à°\9aà±\8dà°\9aà±\87 à°\9fà±\8dయాà°\97à±\81లనà±\81, à°µà°¾à°\9fà°¿ à°\85à°°à±\8dధాలనà±\82 à°\88 à°ªà±\87à°\9cà±\80 చూపిస్తుంది.",
        "tags-tag": "ట్యాగు పేరు",
        "tags-display-header": "మార్పుల జాబితాలో కనపించు రీతి",
        "tags-description-header": "అర్థం యొక్క పూర్తి వివరణ",
        "tags-create-reason": "కారణం:",
        "tags-create-submit": "సృష్టించు",
        "tags-create-no-name": "ట్యాగు పేరును తప్పకుండా ఇవ్వాలి.",
+       "tags-create-invalid-chars": "ట్యాగు పేర్లలో కామాలు (<code>,</code>), పైపులు (<code>|</code>), ఫార్వర్డ్ స్లాషులూ (<code>/</code>) ఉండకూడదు.",
+       "tags-create-invalid-title-chars": "పేజీ శీర్షికల్లో వాడకూడని క్యారెక్టర్లను ట్యాగు పేర్లలోనూ ఉండకూడదు.",
        "tags-create-already-exists": "\"$1\" ట్యాగు ఇప్పటికే ఉంది.",
+       "tags-create-warnings-above": "\"$1\" ట్యాగును సృష్టించబోగా కింది {{PLURAL:$2|హెచ్చరిక ఎదురైంది|హెచ్చరికలు ఎదురయ్యాయి}}:",
+       "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 కంటే ఎక్కువ {{PLURAL:$2|కూర్పుకు|కూర్పులకు}} వర్తింపజేసి ఉంది. అంటే దాన్ని తొలగించలేరని అర్థం.",
+       "tags-delete-warnings-after-delete": "\"$1\" ట్యాగును ను తొలగించాం. కానీ కింది {{PLURAL:$2|హెచ్చరిక ఎదురైంది|హెచ్చరికలు ఎదురయ్యాయి}}:",
+       "tags-delete-no-permission": "మార్పు ట్యాగులను తొలగించే అనుమతి మీకు లేదు.",
+       "tags-activate-title": "ట్యాగును చేతనం చేయి",
        "tags-activate-question": "\"$1\" ట్యాగును మీరు చేతనం చెయ్యబోతున్నారు.",
        "tags-activate-reason": "కారణం:",
        "tags-activate-not-allowed": "\"$1\" ట్యాగును చేతనం చెయ్యడం కుదరలేదు.",
        "tags-edit-title": "ట్యాగులను సవరించు",
        "tags-edit-manage-link": "ట్యాగులను నిర్వహించండి",
        "tags-edit-revision-selected": "[[:$2]] కు చెందిన {{PLURAL:$1|ఎంచుకున్న కూర్పు|ఎంచుకున్న కూర్పులు}}:",
+       "tags-edit-logentry-selected": "{{PLURAL:$1|ఎంచుకున్న చిట్టా ఘటన|ఎంచుకున్న చిట్టా ఘటనలు}}:",
+       "tags-edit-revision-legend": "{{PLURAL:$1|ఈ కూర్పు|మొత్తం $1 కూర్పుల}}కు ట్యాగులను చేర్చడం/తొలగించడం",
+       "tags-edit-logentry-legend": "ఈ {{PLURAL:$1|ఈ చిట్టా పద్దు|మొత్తం $1 చిట్టా పద్దుల}}కు ట్యాగులను చేర్చడం/తొలగించడం",
        "tags-edit-existing-tags": "ప్రస్తుత ట్యాగులు:",
        "tags-edit-existing-tags-none": "<em>ఏమీలేవు</em>",
        "tags-edit-new-tags": "కొత్త ట్యాగులు:",
        "tags-edit-add": "ఈ ట్యాగులను చేర్చు:",
        "tags-edit-remove": "ఈ ట్యాగులను తొలగించు:",
+       "tags-edit-remove-all-tags": "(ట్యాగులన్నిటినీ తొలగించు)",
+       "tags-edit-chosen-placeholder": "కొన్ని ట్యాగులను ఎంచుకోండి",
+       "tags-edit-chosen-no-results": "దానికి సరిపడే ట్యాగులేమీ కనబడలేదు",
        "tags-edit-reason": "కారణం:",
+       "tags-edit-revision-submit": "{{PLURAL:$1|ఈ కూర్పుకు|$1 కూర్పులకు}} మార్పులను వర్తింపజేయి",
+       "tags-edit-logentry-submit": "{{PLURAL:$1|ఈ చిట్టా పద్దుకు|$1 చిట్టా పద్దులకు}} మార్పులను వర్తింపజేయి",
        "tags-edit-success": "మార్పులు ఆపాదించబడ్డాయి.",
+       "tags-edit-failure": "మార్పులను వర్తింపజేయలేక పోయాం:\n$1",
+       "tags-edit-none-selected": "చేర్చడానికి/తీసెయ్యడానికి కనీసం ఒక్క ట్యాగునైనా ఎంచుకోండి",
        "comparepages": "పుటల పోలిక",
        "compare-page1": "పుట 1",
        "compare-page2": "పుట 2",
        "compare-title-not-exists": "మీరు పేర్కొన్న శీర్షిక లేనే లేదు.",
        "compare-revision-not-exists": "మీరు పేర్కొన్న కూర్పు లేనే లేదు.",
        "diff-form": "తేడాలు",
+       "diff-form-oldid": "పాత కూర్పు ID (ఐచ్ఛికం)",
+       "diff-form-submit": "తేడాలను చూపించు",
        "permanentlink": "స్థిర లంకె",
+       "permanentlink-revid": "కూర్పు ID",
+       "permanentlink-submit": "కూర్పుకు వెళ్ళు",
        "dberr-problems": "క్షమించండి! ఈ సైటు సాంకేతిక సమస్యలని ఎదుర్కొంటుంది.",
        "dberr-again": "కొన్ని నిమిషాలాగి మళ్ళీ ప్రయత్నించండి.",
        "dberr-info": "(డేటాబేసును చేరలేకున్నాం: $1)",
        "htmlform-date-invalid": "మీరిచ్చిన విలువ ఆమోదిత తేదీ రూపంలో లేదు. YYYY-MM-DD ఆకృతిని వాడి చూడండి.",
        "htmlform-time-invalid": "మీరిచ్చిన విలువ ఆమోదిత సమయం రూపంలో లేదు. HH:MM:SS ఆకృతిని వాడి చూడండి.",
        "htmlform-datetime-invalid": "మీరిచ్చిన విలువ ఆమోదిత తేదీ, సమయం రూపంలో లేదు. YYYY-MM-DD HH:MM:SS ఆకృతిని వాడి చూడండి.",
+       "htmlform-date-toolow": "మీరిచ్చిన విలువ అత్యంత పాత తేదీ, $1 కన్నా ముందుది.",
+       "htmlform-date-toohigh": "మీరిచ్చిన విలువ అత్యంత ఇటీవలి తేదీ, $1 కన్నా తరువాతది.",
+       "htmlform-time-toolow": "మీరిచ్చిన విలువ అత్యంత పాత సమయం, $1 కన్నా ముందుది.",
+       "htmlform-time-toohigh": "మీరిచ్చిన విలువ అత్యంత ఇటీవలి సమయం, $1 కన్నా తరువాతది.",
+       "htmlform-datetime-toolow": "మీరిచ్చిన విలువ అత్యంత పాత తేదీ, సమయం - $1 - కన్నా ముందుది.",
+       "htmlform-datetime-toohigh": "మీరిచ్చిన విలువ అత్యంత ఇటీవలి తేదీ, సమయం - $1 - కన్నా తరువాతది.",
        "htmlform-title-badnamespace": "[[:$1]], \"{{ns:$2}}\" పేరుబరిలో లేదు.",
        "htmlform-title-not-creatable": "\"$1\" అనే పేజీ పేరు సృష్టించదగ్గది కాదు",
        "htmlform-title-not-exists": "$1 ఉనికిలో లేదు.",
        "log-name-managetags": "ట్యాగు నిర్వహణ చిట్టా",
        "log-description-managetags": "ఈ పేజీ [[Special:Tags|ట్యాగులకు]] సంబంధించిన నిర్వహణ పనులను చూపిస్తుంది. నిర్వాహకులు మానవికంగా చేసిన పనులు మాత్రమే ఈ లాగ్‌లో ఉంటాయి; వికీ సాఫ్టువేరు, ఈ లాగ్‌లో నమోదు కాకుండానే కొత్త ట్యాగులను సృష్టించడం, తొలగించడం చేయవచ్చు.",
        "logentry-managetags-create": "\"$4\" ట్యాగును $1 {{GENDER:$2|సృష్టించారు}}",
+       "logentry-managetags-delete": "\"$4\" ట్యాగును $1 {{GENDER:$2|తొలగించారు}} ($5 {{PLURAL:$5|కూర్పు లేదా చిట్టా పద్దు|కూర్పులు లేదా చిట్టా పద్దుల}} నుండి తీసివేసారు)",
+       "logentry-managetags-activate": "\"$4\" ట్యాగును $1, వాడుకరులు, బాట్‌ల వాడుక కొరకు {{GENDER:$2|చేతనం చేసారు}}",
+       "logentry-managetags-deactivate": "\"$4\" ట్యాగును $1, వాడుకరులు, బాట్‌ల వాడుక కొరకు {{GENDER:$2|అచేతనం చేసారు}}",
        "log-name-tag": "ట్యాగుల చిట్టా",
+       "log-description-tag": "వాడుకరులు కూర్పులకు, చిట్టా పద్దులకూ [[Special:Tags|ట్యాగులను]] ఎప్పుడు చేర్చారో, తీసివేసారో ఈ పేజీలో చూడవచ్చు. పేజీలో దిద్దుబాట్లు, తొలగింపులు వగైరా చర్యలు జరిగినపుడు జరిగే ట్యాగు చర్యలను ఇది చూపించదు.",
+       "logentry-tag-update-add-revision": "$1, $3 పేజీకి చెందిన $4 కూర్పుకు $6 {{PLURAL:$7|ట్యాగు|ట్యాగుల}}ను {{GENDER:$2|చేర్చారు}}",
+       "logentry-tag-update-add-logentry": "$1, $3 పేజీకి చెందిన $5 చిట్టా పద్దుకు $6 {{PLURAL:$7|ట్యాగు|ట్యాగుల}}ను {{GENDER:$2|చేర్చారు}}",
+       "logentry-tag-update-remove-revision": "$1, $3 పేజీకి చెందిన $4 కూర్పు నుండి $8 {{PLURAL:$9|ట్యాగు|ట్యాగుల}}ను {{GENDER:$2|తీసివేసారు}}",
+       "logentry-tag-update-remove-logentry": "$1, $3 పేజీకి చెందిన $5 చిట్టా పద్దు నుండి $8 {{PLURAL:$9|ట్యాగు|ట్యాగుల}}ను {{GENDER:$2|తీసివేసారు}}",
+       "logentry-tag-update-revision": "$1 $3 పేజీకి చెందిన $4 కూర్పు ట్యాగులను {{GENDER:$2|తాజాకరించారు}}; ($6 ను {{PLURAL:$7|చేర్చారు}}; $8 ను {{PLURAL:$9|తీసివేసారు}})",
+       "logentry-tag-update-logentry": "$1, $3 పేజీకి చెందిన $5 చిట్టా పద్దు ట్యాగులను {{GENDER:$2|తాజాకరించారు}} ($6 ను {{PLURAL:$7|చేర్చారు}}; $8 ను {{PLURAL:$9|తీసివేసారు}})",
        "rightsnone": "(ఏమీలేవు)",
        "rightslogentry-temporary-group": "$1 (తాత్కాలికం, $2 వరకు)",
        "feedback-adding": "ఫీడ్‍బ్యాకును పేజీలోకి చేరుస్తున్నాం...",
        "searchsuggest-search": "{{SITENAME}}‌లో వెతకండి",
        "searchsuggest-containing": "కలిగియున్న...",
        "api-error-badtoken": "అంతర్గత లోపం: చెడు టోకెన్.",
-       "api-error-emptypage": "à°\95à±\8aà°¤à±\8dà°¤ à°®à°°à°¿à°¯à±\81 à°\96ాళà±\80 పేజీలను సృష్టించడానికి అనుమతి లేదు.",
+       "api-error-emptypage": "à°\96ాళà±\80 à°\95à±\8aà°¤à±\8dà°¤పేజీలను సృష్టించడానికి అనుమతి లేదు.",
        "api-error-publishfailed": "అంతర్గత లోపం: తాత్కాలిక ఫైలును ప్రచురించడంలో సర్వరు విఫలమైంది.",
        "api-error-stashfailed": "అంతర్గత లోపం: తాత్కాలిక దస్త్రాన్ని భద్రపరచడంలో సేవకి విఫలమైంది.",
        "api-error-unknown-warning": "తెలియని హెచ్చరిక: \"$1\".",
        "authprovider-resetpass-skip-label": "దాటవేయి",
        "cannotauth-not-allowed-title": "అనుమతి నిరాకరించబడింది",
        "cannotauth-not-allowed": "ఈ పేజీ వాడుకునే అనుమతి మీకు లేదు",
+       "changecredentials": "యోగ్యతలను మార్చుకోవడం",
+       "changecredentials-submit": "యోగ్యతలను మార్చుకోవడం",
        "changecredentials-invalidsubpage": "$1 సరైన అర్హత కాదు",
        "changecredentials-success": "మీ అర్హతలను మార్చాం.",
        "removecredentials": "అర్హతలను తీసివెయ్యి",
index a5ef7a7..f8d296b 100644 (file)
        "redirectedfrom": "(Nakaturo mula sa $1)",
        "redirectpagesub": "Pahinang panuro",
        "redirectto": "Papuntahin sa:",
-       "lastmodifiedat": "Huling binago ang pahinang ito noong $1 ng $2.",
+       "lastmodifiedat": "Huling binago ang pahinang ito noong $1, noong $2.",
        "viewcount": "Namataan ang pahinang ito nang {{PLURAL:$1|isang|$1}} beses.",
        "protectedpage": "Pahinang nakasanggalang",
        "jumpto": "Tumalon sa:",
        "nstab-media": "Pahina ng midya",
        "nstab-special": "Natatanging pahina",
        "nstab-project": "Pahina ng proyekto",
-       "nstab-image": "File",
+       "nstab-image": "Talaksan",
        "nstab-mediawiki": "Mensahe",
        "nstab-template": "Padron",
        "nstab-help": "Pahina ng tulong",
        "createacct-another-username-ph": "Ilagay ang Pangalan",
        "yourpassword": "Password:",
        "userlogin-yourpassword": "Password",
-       "userlogin-yourpassword-ph": "Ipasok ang iyong password",
-       "createacct-yourpassword-ph": "Ilagay ang password",
+       "userlogin-yourpassword-ph": "Ipasok ang iyong hudyat",
+       "createacct-yourpassword-ph": "Ilagay ang hudyat",
        "yourpasswordagain": "Password mo uli:",
-       "createacct-yourpasswordagain": "Tiyakin ang password",
-       "createacct-yourpasswordagain-ph": "Muling ilagay ang password",
-       "userlogin-remembermypassword": "Panatilihin akong naka-login",
+       "createacct-yourpasswordagain": "Tiyakin ang hudyat",
+       "createacct-yourpasswordagain-ph": "Muling ilagay ang hudyat",
+       "userlogin-remembermypassword": "Panatilihin akong nakalagda",
        "userlogin-signwithsecure": "Gumamit ng ligtas na koneksyon",
        "cannotlogin-title": "Hindi maka-log in",
        "cannotlogin-text": "Imposible and pag-log in.",
        "logout": "Umalis sa pagkaka-login",
        "userlogout": "Umalis sa pagkaka-login",
        "notloggedin": "Hindi naka-login",
-       "userlogin-noaccount": "Wala ka pa bang account?",
+       "userlogin-noaccount": "Wala ka pa bang kuwenta?",
        "userlogin-joinproject": "Sumali sa {{SITENAME}}",
        "createaccount": "Lumikha ng account",
-       "userlogin-resetpassword-link": "Nakalimutan ba ang iyong password?",
-       "userlogin-helplink2": "Tulong sa pag-login",
+       "userlogin-resetpassword-link": "Nakalimutan ba ang iyong hudyat?",
+       "userlogin-helplink2": "Tulong sa paglagda",
        "userlogin-loggedin": "Naka-login ka na bilang {{GENDER:$1|$1}}. Gamitin ang form sa ibaba upang maka-login bilang ibang tagagamit o user.",
        "userlogin-reauth": "Kailangan mong mag-log in muli para mapatunayan na ikaw si {{GENDER:$1|$1}}.",
        "userlogin-createanother": "Lumikha ng iba pang account",
        "createacct-emailrequired": "Direksiyong e-liham:",
-       "createacct-emailoptional": "Email (hindi kailangan)",
-       "createacct-email-ph": "Ipasok ang iyong email address",
+       "createacct-emailoptional": "Direksiyong e-liham (hindi kailangan)",
+       "createacct-email-ph": "Ipasok ang iyong direksiyong e-liham",
        "createacct-another-email-ph": "Ipasok ang email address",
        "createaccountmail": "Gumamit ng pansamantalang random na password at ipadala ito sa email na nakasaad sa ibaba",
        "createaccountmail-help": "Maaaring magamit para gumawa ng account para sa isang tao ng hindi nalalaman ang password.",
        "createacct-reason": "Dahilan",
        "createacct-reason-ph": "Bakit ka gagawa ng isa pang account?",
        "createacct-reason-help": "Mensaheng ipinapakita sa listahan ng paggawa ng account",
-       "createacct-submit": "Likhain ang iyong account",
+       "createacct-submit": "Likhain ang iyong kuwenta",
        "createacct-another-submit": "Lumikha ng account",
        "createacct-continue-submit": "Ituloy ang paggawa ng account",
        "createacct-another-continue-submit": "Ituloy ang paggawa ng account",
        "loginlanguagelabel": "Wika: $1",
        "suspicious-userlogout": "Tinanggihan ang inyong kahilingang umalis sa pagkalagda dahil tila ito ay ipinadala ng sirang pambasa-basa o apoderadong pambaon (''caching proxy'')",
        "createacct-another-realname-tip": "Hindi kinakailangan ang tunay na pangalan.\nKung nais mo na ibigay ito, gagamitin ito para sa pagbibigay ng atribusyon para sa kanilang gawa.",
-       "pt-login": "Mag-login",
-       "pt-login-button": "Mag-login",
+       "pt-login": "Lumagda",
+       "pt-login-button": "Lumagda",
        "pt-login-continue-button": "Magpatuloy sa paglagda",
-       "pt-createaccount": "Lumikha ng account",
+       "pt-createaccount": "Lumikha ng kuwenta",
        "pt-userlogout": "Umalis sa pagkakatala",
        "php-mail-error-unknown": "Hindi malamang kamalian sa tungkulin ng liham ng PHP ()",
        "user-mail-no-addy": "Sinubukang magpadala ng e-liham na walang tirahan na para sa e-liham.",
        "resetpass-expired": "Paso na ang iyong password. Pakipalit ng bagong password upang maka-login.",
        "resetpass-expired-soft": "Napaso na ang iyong password at kailangan i-reset. Pumili ng bagong password o i-klik ang \"{{int:authprovider-resetpass-skip-label}}\" upang i-reset sa ibang pagkakataon.",
        "resetpass-validity-soft": "Hindi matanggap ang iyong password: $1\n\nPumili ng bagong password ngayon, o i-klik ang \"{{int:authprovider-resetpass-skip-label}}\" para i-reset ito sa ibang pagkakataon.",
-       "passwordreset": "Muling pagtatakda ng password",
+       "passwordreset": "Muling pagtatakda ng hudyat",
        "passwordreset-text-one": "Ikumpleto ang form na ito upang makatanggap ng pansamantalang password sa pamamagitan ng email.",
        "passwordreset-text-many": "{{PLURAL:$1|Ipasok sa isa sa mga field upang makatanggap ng isang pansamantalang password sa pamamagitan ng email.}}",
        "passwordreset-disabled": "Hindi pinagagana sa wiking ito ang muling mga pagtatakda ng password.",
        "nowiki_sample": "Isingit ang hindi nakapormat na teksto dito",
        "nowiki_tip": "Balewalain ang pormat na pangwiki",
        "image_sample": "Halimbawa.jpg",
-       "image_tip": "File na naka-embed",
+       "image_tip": "Talaksang nakabaon",
        "media_sample": "Halimbawa.ogg",
-       "media_tip": "Link ng file",
+       "media_tip": "Kawing ng talaksan",
        "sig_tip": "Lagda mo na may tatak ng oras",
        "hr_tip": "Pahalagang na guhit (gamitin nang madalang)",
        "summary": "Buod:",
        "summary-preview": "Paunang tingin sa buod:",
        "subject-preview": "Paunang tingin sa paksa:",
        "blockedtitle": "Hinarang ang tagagamit",
-       "blockedtext": "'''Hinarang/hinadlangan ang iyong pangalan ng tagagamit o direksiyong IP.'''\n\nGinawa ni $1 ang pagharang/paghadlang.\nIto ang ibinigay na dahilan: ''$2''.\n\n* Simula ng pagharang/paghadlang: $8\n* Katapusan ng pagharang/paghadlang: $6\n* Ang hinarang/hinadlangan ay si: $7\n\nMaaari kang makipag-ugnayan kay $1 o sa ibang [[{{MediaWiki:Grouppage-sysop}}|tagapangasiwa]] upang pagusapan ang pagharang/paghadlang na ito.\nHindi mo magagamit ang kasangkapang-katangiang 'magpadala ng e-liham sa tagagamit' hangga't hindi tinutukoy ang isang tanggap na direksiyong e-liham sa iyong [[Special:Preferences|mga kagustuhan]] at hindi ka pa hinaharangan/hinahadlangan sa paggamit nito.\nAng kasalukuyan mong direksiyong IP ay $3, at ang ID ng pagharang/paghadlang ay #$5.\nPakisama ang lahat ng mga detalye sa anumang mga pagtatanong na ginagawa/gagawin mo.",
+       "blockedtext": "<strong>Hinarang ang iyong pangalan ng tagagamit o direksiyong IP.</strong>\n\nGinawa ni $1 ang pagharang.\nIto ang ibinigay na dahilan: ''<em>$2</em>''.\n\n* Simula ng pagharang: $8\n* Katapusan ng pagharang: $6\n* Ang balak iharang: $7\n\nMaaari kang makipag-ugnayan kay $1 o sa ibang [[{{MediaWiki:Grouppage-sysop}}|tagapangasiwa]] upang pagusapan ang pagharang na ito.\nHindi mo magagamit ang kagamitang \"{{int:emailuser}}\" maliban kung may isang tanggap na direksiyong e-liham na nakatukoy sa iyong [[Special:Preferences|mga kagustuhan]] at hindi ka pa hinaharangan sa paggamit nito.\nAng kasalukuyan mong direksiyong IP ay $3, at ang ID ng pagharang ay #$5.\nPakisama ang lahat ng mga detalye sa anumang mga pagtatanong na ginagawa o gagawin mo.",
        "autoblockedtext": "Kusang hinadlangan/hinarang ang direksiyong IP mo dahil ginamit ito ng ibang tagagamit, na hinadlangan/hinarang ni $1.\nAng ibinigay na dahilan ay:\n\n:''$2''\n\n* Simula ng pagharang: $8\n* Katapusan ng pagharang: $6\n* Ang hinadlangang ay si: $7\n\nMaaari kang makipagugnayan kay $1 o sa isa sa iba pang [[{{MediaWiki:Grouppage-sysop}}|mga tagapangasiwa]] para pagusapan ang paghadlang/pagharang.\n\nPakitandaang hindi mo maaaring gamitin ang kasangkapang-katangiang \"padalhan ng e-liham ang tagagamit na ito\" maliban na lamang kung mayroon kang nakatalang tanggap na direksiyong e-liham sa iyong [[Special:Preferences|mga kagustuhan]] at hindi ka hinadlangan sa paggamit nito.\n\nAng kasalukuyan mong direksiyong IP ay $3, at ang ID ng pagharang ay #$5.\nPakisama ang lahat ng mga detalyeng nasa itaas sa anumang pagtatanong na gagawin mo.",
        "blockednoreason": "walang binigay na dahilan",
        "whitelistedittext": "Kailangan mong $1 para makapagbago ng mga pahina.",
        "semiprotectedpagewarning": "'''Paunawa: Ikinandado ang pahinang ito upang mga nakatalang tagagamit lamang ang makakapagbago nito.'''\nAng pinakahuling entrada sa talaan ay ibinigay sa baba para sa iyong pagsasangguni:",
        "cascadeprotectedwarning": "'''Babala:''' Ikinandado ang pahinang ito upang tanging mga tagagamit na may mga karapatang pang-''sysop'' lamang ang makapagbago nito, dahil kabilang ito sa sumusunod na mga {{PLURAL:$1|pahinang|mga pahinang}} may baita-baitang na panananggalang:",
        "titleprotectedwarning": "'''Babala:  Ikinandado ang pahinang ito upang [[Special:ListGroupRights|partikular na mga karapatan]] ang kakailanganin upang mailikha ito.'''\nAng pinakahuling entrada sa talaan ay ibinigay sa baba para sa inyong pagsasangguni:",
-       "templatesused": "{{PLURAL:$1|Padron|Mga padron}} na ginagamit sa pahinang ito:",
+       "templatesused": "{{PLURAL:$1|Padrong|Mga padrong}} ginagamit sa pahinang ito:",
        "templatesusedpreview": "{{PLURAL:$1|Padrong|Mga padrong}} ginagamit sa paunang-tinging ito:",
        "templatesusedsection": "{{PLURAL:$1|Suleras|Mga suleras}} na ginamit sa seksyong ito:",
        "template-protected": "(nakasanggalang)",
        "nocreate-loggedin": "Wala kang pahintulot para lumikha ng bagong mga pahina.",
        "sectioneditnotsupported-title": "Hindi sinusuportahan ang pagpapatnugot ng seksyon",
        "sectioneditnotsupported-text": "Hindi sinusuportahan ang pagpapatnugot ng seksyon sa pahinang ito.",
-       "permissionserrors": "Mga kamalian sa mga pahintulot",
+       "permissionserrors": "Kamalian sa pahintulot",
        "permissionserrorstext": "Wala kang pahintulot na gawin iyan, dahil sa sumusunod na {{PLURAL:$1|dahilan|mga dahilan}}:",
        "permissionserrorstext-withaction": "Wala kang pahintulot na $2, dahil sa sumusunod na {{PLURAL:$1|dahilan|mga dahilan}}:",
        "recreate-moveddeleted-warn": "'''Babala: Muli mong nililikha ang isang pahinang binura na dati.'''\n\nDapat mong isaalang-alang kung nararapat bang ipagpatuloy ang pagbago sa pahinang ito.\nAng tala ng pagbubura at paglilipat para sa pahinang ito ay ibinigay dito para sa kaginhawaan:",
        "searchprofile-advanced-tooltip": "Hanapin sa pinasadyang mga espasyo ng pangalan",
        "search-result-size": "$1 ({{PLURAL:$2|1 salita|$2 salita}})",
        "search-result-category-size": "{{PLURAL:$1|isang kasapi|$1 mga kasapi}} ({{PLURAL:$2|isang subkategorya|$2 mga subkategorya}}, {{PLURAL:$3|isang talaksan|$3 mga talaksan}})",
-       "search-redirect": "(Nakaturo mula sa $1)",
+       "search-redirect": "(pagkarga mula sa $1)",
        "search-section": "(seksyong $1)",
+       "search-file-match": "(tugma sa nilalaman ng talaksan)",
        "search-suggest": "Ito ba ang ibig mong sabihin: $1",
        "search-interwiki-caption": "Kapatid na mga proyekto",
        "search-interwiki-default": "$1 mga resulta:",
        "recentchangeslinked-summary": "Ito ang tala ng mga pagbabagong ginawa kamakailan sa mga pahinang naka-link mula sa isang tinukoy na pahina (o sa mga kasapi ng isang tinukoy na kategorya). <strong>Makapal na teksto</strong> ang mga pahinang [[Special:Watchlist|iyong mga binabantayan]].",
        "recentchangeslinked-page": "Pangalan ng pahina:",
        "recentchangeslinked-to": "Ipakita ang mga pagbabago sa mga pahinang nakaugnay sa isang binigay na pahina sa halip",
-       "upload": "Mag-upload ng file",
+       "upload": "Magkarga ng talaksan",
        "uploadbtn": "Mag-upload ng file",
        "reuploaddesc": "Kanselahin/Iurong ang pagkarga at magbalik sa pormularyo ng pagkakarga",
        "upload-tryagain": "Ipasa ang binagong paglalarawan ng talaksan",
        "http-timed-out": "Huminto ang kahilingang HTTP.",
        "http-curl-error": "Kamalian sa pagsalok ng URL: $1",
        "http-bad-status": "Nagkaroon ng suliranin habang hinihiling ang HTTP na: $1 $2",
+       "http-internal-error": "Kamaliang panloob ng HTTP.",
        "upload-curl-error6": "Hindi marating ang URL",
        "upload-curl-error6-text": "Hindi marating ang ibinigay na URL.\nPakisuring muli kung tama ang URL at kung buhay ang sityo/sayt.",
        "upload-curl-error28": "Pahinga sa pagkakarga",
        "upload_source_file": " (isang talaksan sa iyong kompyuter)",
        "listfiles-summary": "Ipinapakita ng natatanging pahinang ito ang lahat ng naikargang mga talaksan.\nKapag sinala ng tagagamit, tanging mga talaksan lang kung saan nagkarga ang tagagamit na iyan ng pinaka kamakailang bersiyon ng talaksan ang ipinapakita.",
        "listfiles_search_for": "Hanapin ang pangalan ng midya:",
-       "imgfile": "file",
+       "imgfile": "talaksan",
        "listfiles": "Talaan ng file",
        "listfiles_thumb": "Kagyat",
        "listfiles_date": "Petsa",
        "listfiles_count": "Mga bersiyon",
        "listfiles-latestversion-yes": "Oo",
        "listfiles-latestversion-no": "Hindi",
-       "file-anchor-link": "File",
-       "filehist": "Kasaysayan ng file",
+       "file-anchor-link": "Talaksan",
+       "filehist": "Kasaysayan ng talaksan",
        "filehist-help": "Pindutin ang isang petsa/oras para makita ang anyo ng talaksan noong panahong iyon.",
        "filehist-deleteall": "burahin lahat",
        "filehist-deleteone": "burahin",
        "filehist-revert": "ibalik",
        "filehist-current": "kasalukuyan",
        "filehist-datetime": "Petsa/Oras",
-       "filehist-thumb": "Thumbnail",
+       "filehist-thumb": "Kagyat",
        "filehist-thumbtext": "Kagyat (''thumbnail'') para sa bersyon mula noong $1",
        "filehist-nothumb": "Walang kagyat (''thumbnail'')",
        "filehist-user": "Tagagamit",
-       "filehist-dimensions": "Mga sukat",
+       "filehist-dimensions": "Sukat",
        "filehist-filesize": "Sukat ng talaksan",
        "filehist-comment": "Komento",
-       "imagelinks": "Paggamit ng file",
+       "imagelinks": "Paggamit ng talaksan",
        "linkstoimage": "Nakakawing ang sumusunod na {{PLURAL:$1|pahina|$1 pahina}} sa talaksang ito:",
        "linkstoimage-more": "Mahigit sa $1 {{PLURAL:$1|pahina|mga pahina}} ang nakakawing sa talaksang ito.\nIpinapakita sa sumusunod na talaan ang {{PLURAL:$1|unang pahina lamang|unang $1 mga pahina lamang}} na nakakawing sa talaksang ito.\nMayroong makukuhang [[Special:WhatLinksHere/$2|buong talaan]].",
        "nolinkstoimage": "Walang pahinang nakakawing sa talaksang ito.",
        "watchlist-details": "{{PLURAL:$1|$1 pahinang|$1 mga pahinang}} nasa iyong talaan ng mga binabantayan, hindi binibilang ang mga pahina ng usapan.",
        "wlheader-enotif": "Umiiral ang pagpapahayag sa pamamagitan ng e-liham.",
        "wlheader-showupdated": "Ipinapakitang may '''makakapal na mga panitik''' ang nabagong/binagong mga pahina mula pa noong huli mong pagdalaw sa kanila",
-       "wlnote": "Nasa ibaba ang {{PLURAL:$1|pinakahuling pagbabago|pinakahuling '''$1''' mga pagbabago}} sa loob ng huling {{PLURAL:$2|oras|'''$2''' mga oras}}, magmula noong $3 sa ganap na ika-$4.",
-       "wlshowlast": "Ipakita ang huling $1 mga oras $2 mga araw",
+       "wlnote": "Nasa ibaba ang {{PLURAL:$1|pinakahuling pagbabago|pinakahuling <strong>$1</strong> pagbabago}} sa loob ng huling {{PLURAL:$2|oras|<strong>$2</strong> oras}}, magmula noong $3 sa ganap na $4.",
+       "wlshowlast": "Ipakita ang huling $1 oras, $2 araw",
        "watchlist-hide": "Itago",
        "wlshowhideminor": "mga maliliit na edit",
        "wlshowhidebots": "mga bot",
        "actioncomplete": "Naisakatuparan na ang gawain",
        "actionfailed": "Hindi nagtagumpay ang galaw",
        "deletedtext": "Nabura na ang \"$1\".  Tingnan ang $2 para sa talaan ng kamakailan lamang na mga pagbubura.",
-       "dellogpage": "Talaan ng pagbubura",
+       "dellogpage": "Talaan ng pagbura",
        "dellogpagetext": "Nasa ibaba ang isang talaan ng pinakakamailan lamang na mga pagbubura.",
        "deletionlog": "tala ng pagbubura",
        "reverted": "Ibinalik sa mas sinaunang pagbabago",
        "minimum-size": "Pinakamaliit na sukat",
        "maximum-size": "Pinakamalaking sukat",
        "pagesize": "(mga byte)",
-       "restriction-edit": "Pagpatnugot",
+       "restriction-edit": "Pagbabago",
        "restriction-move": "Ilipat",
        "restriction-create": "Likhain",
        "restriction-upload": "Magkarga",
        "namespace": "Ngalan-espasyo:",
        "invert": "Baligtarin and pinili",
        "tooltip-invert": "Tsekan ang kahong ito upang ikubli ang mga pagbabago sa mga pahina sa loob ng napiling mga puwang ng pangalan (at ang kaugnay na puwang ng pangalan kung may tsek)",
-       "namespace_association": "Kaugnay na mga puwang na pampangalan",
+       "namespace_association": "Kaugnay na ngalan-espasyo",
        "tooltip-namespace_association": "Tsekan ang kahong ito upang maisama ang puwang na pampangalan ng usapan o paksa na may kaugnayan sa napiling puwang na pampangalan",
        "blanknamespace": "(Pangunahin)",
        "contributions": "Mga ambag ng {{GENDER:$1|tagagamit}}",
        "sp-contributions-blocked-notice": "Kasalukuyang hinarang ang tagagamit na ito.\nAng pinakahuling entrada sa talaan  ng pagharang ay ibinigay sa ibaba para sa pagsangguni:",
        "sp-contributions-blocked-notice-anon": "Kasalukuyang hinarang ang adres ng IP na ito.\nAng pinakahuling entrada sa talaan  ng pagharang ay ibinigay sa ibaba para sa pagsangguni:",
        "sp-contributions-search": "Maghanap ng ambag",
-       "sp-contributions-username": "IP Address o bansag:",
+       "sp-contributions-username": "Direksyong IP o pangalan ng tagagamit:",
        "sp-contributions-toponly": "Ipakita lang ang mga pamamatnugot na mga huling rebisyon",
        "sp-contributions-newonly": "Ipakita lang ang mga pamamatnugot na mga nalikhang pahina",
        "sp-contributions-submit": "Hanapin",
        "tooltip-pt-anoncontribs": "Mga tala ng binago ng IP address na ito",
        "tooltip-pt-login": "Hinihikayat kang lumagda; gayunpaman, hindi ito kinakailangan.",
        "tooltip-pt-logout": "Umalis sa pagkaka-login",
-       "tooltip-pt-createaccount": "Hinihikayat kang lumikha ng kuwenta at lumigda; gayunpaman, hindi ito kinakailangan",
+       "tooltip-pt-createaccount": "Hinihikayat kang lumikha ng kuwenta at lumagda; gayunpaman, hindi ito kinakailangan",
        "tooltip-ca-talk": "Usapan tungkol sa nilalaman ng pahinang ito",
        "tooltip-ca-edit": "Baguhin ang pahinang ito",
        "tooltip-ca-addsection": "Magsimula ng bagong seksiyon",
        "tooltip-search": "Maghanap sa {{SITENAME}}",
        "tooltip-search-go": "Puntahan ang isang pahina na may ganitong tumpak na pangalan",
        "tooltip-search-fulltext": "Hanapin ang mga pahina para sa tekstong ito",
-       "tooltip-p-logo": "Unang Pahina",
+       "tooltip-p-logo": "Dalawin ang unang pahina",
        "tooltip-n-mainpage": "Dalawin ang Unang Pahina",
        "tooltip-n-mainpage-description": "Dalawin ang unang pahina",
        "tooltip-n-portal": "Hinggil sa proyekto, ano ang magagawa mo, saan matatagpuan ang mga bagay-bagay",
-       "tooltip-n-currentevents": "Maghanap ng sanligang impormasyon hinggil sa mga kasalukuyang kaganapan",
-       "tooltip-n-recentchanges": "Ang tala ng mga kamakailang pagbabago sa loob ng wiki.",
+       "tooltip-n-currentevents": "Maghanap ng saligang impormasyon hinggil sa mga kasalukuyang kaganapan",
+       "tooltip-n-recentchanges": "Isang tala ng mga kamakailang pagbabago sa loob ng wiki.",
        "tooltip-n-randompage": "Magkarga ng anumang pahina",
-       "tooltip-n-help": "Pook kung saan ito matutuklasan.",
+       "tooltip-n-help": "Pook kung saan ito matutuklasan",
        "tooltip-t-whatlinkshere": "Tala ng lahat ng pahina ng mga wiking nakakawing dito",
        "tooltip-t-recentchangeslinked": "Kamakailang mga pagbabago na nakakawing mula sa pahinang ito",
        "tooltip-feed-rss": "Subo/Kargang RSS para sa pahinang ito",
        "tooltip-feed-atom": "Sindikasyong Atom para sa pahinang ito",
        "tooltip-t-contributions": "Listahan ng mga ambag ng {{GENDER:$1|tagagamit na ito}}",
-       "tooltip-t-emailuser": "Magpadala ng isang e-liham sa tagagamit na ito",
-       "tooltip-t-upload": "Mag-upload ng mga file",
+       "tooltip-t-emailuser": "Magpadala ng e-liham sa {{GENDER:$1|tagagamit na ito}}",
+       "tooltip-t-upload": "Magkarga ng mga talaksan",
        "tooltip-t-specialpages": "Tala ng lahat ng mga natatanging pahina",
        "tooltip-t-print": "Bersiyong maililimbag ng pahinang ito",
        "tooltip-t-permalink": "Palagiang link sa bersyong ito ng pahina",
        "pageinfo-title": "Kabatiran para sa \"$1\"",
        "pageinfo-not-current": "Maaari lamang ipakita ang impormasyon para sa kasalukuyang rebisyon.",
        "pageinfo-header-basic": "Saligang kabatiran",
-       "pageinfo-header-edits": "Kasaysayan ng pamamatnugot",
-       "pageinfo-header-restrictions": "Pruteksiyon ng pahina",
+       "pageinfo-header-edits": "Kasaysayan ng pagbabago",
+       "pageinfo-header-restrictions": "Pagsanggalang ng pahina",
        "pageinfo-header-properties": "Mga kaarian ng pahina",
        "pageinfo-display-title": "Pamagat na ipinapakita",
        "pageinfo-default-sort": "Likas na nakatakdang susi ng pag-uuri",
        "pageinfo-firstuser": "Tagapaglikha ng pahina",
        "pageinfo-firsttime": "Petsa ng paglikha ng pahina",
        "pageinfo-lastuser": "Pinakahuling patnugot",
-       "pageinfo-lasttime": "Petsa ng pinakahuling pagpatnugot",
-       "pageinfo-edits": "Kabuuang bilang ng mga pamamatnugot",
+       "pageinfo-lasttime": "Petsa ng pinakahuling pagbabago",
+       "pageinfo-edits": "Kabuuang bilang ng mga pagbabago",
        "pageinfo-authors": "Kabuuang bilang ng magkakabukod na mga may-akda",
-       "pageinfo-recent-edits": "Kamakailang bilang ng mga pamamatnugot (sa loob ng huling $1)",
+       "pageinfo-recent-edits": "Kamakailang bilang ng mga pagbabago (sa loob ng huling $1)",
        "pageinfo-recent-authors": "Kamakailang bilang ng magkakabukod na mga may-akda",
        "pageinfo-magic-words": "{{PLURAL:$1|Salitang|Mga salitang}} mahiwaga ($1)",
        "pageinfo-hidden-categories": "Nakatagong {{PLURAL:$1|kategorya|mga kategorya}} ($1)",
        "markedaspatrollederror": "Hindi matatakan bilang napatrolya na",
        "markedaspatrollederrortext": "Kailangang tukuyin mo ang isang pagbabago para matatakan ito bilang napatrolya na.",
        "markedaspatrollederror-noautopatrol": "Wala kang pahintulot para tatakan ang ginawa mong mga pagbabago bilang napatrolya na.",
-       "patrol-log-page": "Tala ng Pagpapatrolya",
+       "patrol-log-page": "Tala ng pagpapatrolya",
        "patrol-log-header": "Tala ito ng mga pagbabagong napatrolya na.",
        "deletedrevision": "Binurang lumang pagbabago $1",
        "filedeleteerror-short": "Kamalian sa pagbubura ng talaksan: $1",
        "file-nohires": "Walang makuhang mas mataas na resolusyon (kalinawan).",
        "svg-long-desc": "Talaksang SVG, nasa mga bilang na $1 × $2 mga piksel, sukat ng talaksan: $3",
        "svg-long-desc-animated": "Animadong talaksang SVG, nasa mga bilang na $1 × $2 mga piksel, sukat ng talaksan: $3",
-       "show-big-image": "Orihinal na file",
+       "show-big-image": "Orihinal na talaksan",
        "show-big-image-preview": "Sukat ng paunang-tingin na ito: $1.",
        "show-big-image-other": "Ibang {{PLURAL:$2|resolusyon|mga resolusyon}}: $1.",
        "show-big-image-size": "$1 x $2 mga piksel",
        "metadata-help": "Naglalaman ang talaksang ito ng karagdagang kabatiran na maaaring idinagdag mula sa isang kamerang dihital o iskaner na ginamit para likhain o para maging dihital ito.\nKapag nabago ang talaksan mula sa anyong orihinal nito, may ilang detalyeng hindi ganap na maipapakita ang nabagong talaksan.",
        "metadata-expand": "Ipakita ang karugtong na mga detalye",
        "metadata-collapse": "Itago ang karugtong na mga detalye",
-       "metadata-fields": "Ang mga hanay ng pook ng metadato ng larawan na nakatala sa mensaheng ito ay masasama sa ipinapakitang pahina ng larawan kapag tumiklop ang tabla ng metadato.\nLikas na nakatakdang itago ang iba pa.\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude",
+       "metadata-fields": "Ang mga hanay ng pook ng metadatos ng larawan na nakatala sa mensaheng ito ay masasama sa ipinapakitang pahina ng larawan kapag tumiklop ang tabla ng metadatos.\nLikas na nakatakdang itago ang iba pa.\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude",
        "metadata-langitem": "'''$2:''' $1",
        "metadata-langitem-default": "$1",
        "exif-imagewidth": "Lapad",
        "exif-ycbcrsubsampling": "Halimbawang bahagi ng rata (''ratio'') ng Y sa C",
        "exif-ycbcrpositioning": "Pagkakaposisyon ng Y at C",
        "exif-xresolution": "Pahalang na resolusyon (kalinawan)",
-       "exif-yresolution": "Bertikal (patayo) na resolusyon/kalinawan",
+       "exif-yresolution": "Patayo na resolusyon (kalinawan)",
        "exif-stripoffsets": "Lokasyon ng dato ng larawan",
        "exif-rowsperstrip": "Bilang ng pahalang na hanay bawat manipis na piraso",
        "exif-stripbytecounts": "Mga byte ng bawat siniksik na piraso",
        "exif-software": "Ginamit na sopwer",
        "exif-artist": "May-akda",
        "exif-copyright": "May-hawak ng karapatang-ari (kopirayt)",
-       "exif-exifversion": "Bersyong Exif",
+       "exif-exifversion": "Bersiyong Exif",
        "exif-flashpixversion": "Bersyon ng sinusuportahang Flashpix",
        "exif-colorspace": "Espasyo ng kulay",
        "exif-componentsconfiguration": "Kahulugan ng bawat komponente",
        "version-entrypoints-header-url": "URL",
        "version-entrypoints-articlepath": "[https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgArticlePath Landas ng artikulo]",
        "version-entrypoints-scriptpath": "[https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgScriptPath Landas ng panitik]",
+       "redirect-submit": "Pumunta",
+       "redirect-value": "Halaga:",
+       "redirect-user": "ID ng tagagamit",
+       "redirect-page": "ID ng pahina",
        "redirect-revision": "Rebisyon ng pahina",
        "redirect-file": "Pangalan ng talaksan",
        "fileduplicatesearch": "Maghanap ng kaparehong mga talaksan",
        "intentionallyblankpage": "Sinadyang walang laman ang pahinang ito",
        "external_image_whitelist": "  #Pabayaang talagang ganito lang ang hanay na ito<pre>\n#Ilagay ang mga piraso ng karaniwang pagpapahayag (ang bahagi lang na napupunta sa pagitan ng //) sa ibaba\n#Tutugmaan ang mga ito ng mga URL ng panlabas (mainit na kawing) na mga larawan\n#Ang mga magtutugma ay ipapakita bilang mga larawan, kung hindi bilang isang kawing lamang patungo sa larawan ang ipapakita\n#Ituturing bilang mga kumento ang mga hanay na nagsisimula sa #\n\n#Ilagay sa ibabaw ng hanay na ito ang mga piraso ng karaniwang pagpapahayag.  Pabayaang ganito lang talaga ang hanay na ito</pre>",
        "tags": "Tanggap na mga tatak ng pagbabago",
-       "tag-filter": "Pansala ng [[Special:Tags|tatak]]:",
+       "tag-filter": "Pansala ng [[Special:Tags|etiketa]]:",
        "tag-filter-submit": "Pansala",
        "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|Tatak|Mga tatak}}]]: $2)",
        "tags-title": "Mga tatak",
        "htmlform-selectorother-other": "Iba pa",
        "htmlform-title-not-exists": "Hindi nairal ang $1.",
        "logentry-delete-delete": "{{GENDER:$2|Binura}} ni $1 ang pahinang $3",
-       "logentry-delete-restore": "Ibinalik ni $1 ang pahinang $3",
+       "logentry-delete-restore": "{{GENDER:$2|Ibinalik}} ni $1 ang pahinang \"$3\" ($4)",
        "logentry-delete-event": "Binago ni $1 ang antas ng pagkanatatanaw ng {{PLURAL:$5|isang pangyayari sa talaan|$5 mga pangyayari sa talaan}} sa $3: $4",
-       "logentry-delete-revision": "Binago ni $1 ang antas ng pagtanaw sa {{PLURAL:$5|isang rebisyon|$5 mga rebisyon}} sa pahinang $3: $4",
+       "logentry-delete-revision": "{{GENDER:$2|Binago}} ni $1 ang antas ng pagtanaw sa {{PLURAL:$5|isang rebisyon|$5 mga rebisyon}} sa pahinang \"$3\": $4",
        "logentry-delete-event-legacy": "Binago ni $1 ang antas ng pagtanaw sa mga pangyayari sa talaan sa $3",
        "logentry-delete-revision-legacy": "Binago ni $1 ang antas ng pagtanaw sa mga rebisyong nasa pahinang $3",
        "logentry-suppress-delete": "Sinupil ni $1 ang pahinang $3",
index e43963d..c8e05b7 100644 (file)
        "customcssprotected": "У вас немає дозволу на редагування цієї CSS-сторінки, бо вона містить особисті налаштування іншого користувача.",
        "customjsonprotected": "У Вас немає прав на редагування цієї JSON-сторінки, оскільки вона містить персональні налаштування іншого користувача.",
        "customjsprotected": "У вас немає дозволу на редагування цієї JavaScript-сторінки, бо вона містить особисті налаштування іншого користувача.",
+       "sitecssprotected": "У вас немає дозволу на редагування цієї CSS-сторінки, оскільки її зміни можуть вплинути на всіх відвідувачів цієї вікі.",
+       "sitejsonprotected": "У Вас немає прав на редагування цієї JSON-сторінки, оскільки її зміни можуть вплинути на всіх відвідувачів цієї вікі.",
+       "sitejsprotected": "У вас немає дозволу на редагування цієї JavaScript-сторінки, оскільки її зміни можуть вплинути на всіх відвідувачів цієї вікі.",
        "mycustomcssprotected": "У вас немає дозволу для редагування цієї CSS сторінки.",
        "mycustomjsonprotected": "У Вас немає прав на редагування цієї JSON-сторінки.",
        "mycustomjsprotected": "Ви не маєте дозволу для редагування цієї сторінки JavaScript.",
        "group-autoconfirmed": "Автопідтверджені користувачі",
        "group-bot": "Боти",
        "group-sysop": "Адміністратори",
+       "group-interface-admin": "Адміністратори інтерфейсу",
        "group-bureaucrat": "Бюрократи",
        "group-suppress": "Подавлювачі",
        "group-all": "(всі)",
        "group-autoconfirmed-member": "{{GENDER:$1|автопідтверджений користувач|автопідтверджена користувачка}}",
        "group-bot-member": "{{GENDER:$1|бот}}",
        "group-sysop-member": "{{GENDER:$1|адміністратор|адміністраторка}}",
+       "group-interface-admin-member": "{{GENDER:$1|адміністратор інтерфейсу}}",
        "group-bureaucrat-member": "{{GENDER:$1|бюрократ|бюрократка}}",
        "group-suppress-member": "{{GENDER:$1|подавлювач|подавлювачка}}",
        "grouppage-user": "{{ns:project}}:Користувачі",
        "grouppage-autoconfirmed": "{{ns:project}}:Автопідтверджені користувачі",
        "grouppage-bot": "{{ns:project}}:Боти",
        "grouppage-sysop": "{{ns:project}}:Адміністратори",
+       "grouppage-interface-admin": "{{ns:project}}:Адміністратори інтерфейсу",
        "grouppage-bureaucrat": "{{ns:project}}:Бюрократи",
        "grouppage-suppress": "{{ns:project}}:Подавлювачі",
        "right-read": "перегляд сторінок",
index 20af4c0..8bc3135 100644 (file)
        "uctop": "(موجودہ نسخہ)",
        "month": "مہینہ (اور اُس سے قبل):",
        "year": "سال (اور اُس سے قبل):",
+       "date": "تاریخ سے (اور اس سے قبل)",
        "sp-contributions-newbies": "محض جدید صارفین کی شراکتیں دکھائیں",
        "sp-contributions-newbies-sub": "جدید صارفین کے",
        "sp-contributions-newbies-title": "جدید صارفین کی شراکتیں",
index 1d2dad0..3f2dbc6 100644 (file)
                        "EagerLin",
                        "Deathkon",
                        "RyRubyy",
-                       "Wxyveronica"
+                       "Wxyveronica",
+                       "夢蝶葬花"
                ]
        },
        "tog-underline": "链接下划线:",
        "customcssprotected": "您没有权限编辑此CSS页面,因为它包含另一位用户的个人设置。",
        "customjsonprotected": "您没有权限编辑此JSON页面,因为它包含另一位用户的个人设置。",
        "customjsprotected": "您没有权限编辑此JavaScript页面,因为它包含另一位用户的个人设置。",
+       "sitecssprotected": "您无权编辑此CSS页面,因为它可能会影响所有访问者",
+       "sitejsonprotected": "您无权编辑此JSON页面,因为它可能会影响所有访问者",
+       "sitejsprotected": "您无权编辑此JavaScript页面,因为它可能会影响所有访问者",
        "mycustomcssprotected": "您没有权限编辑这个 CSS 页面。",
        "mycustomjsonprotected": "您没有权限编辑这个JSON页面。",
        "mycustomjsprotected": "您没有权限编辑这个 JavaScript 页面。",
        "group-autoconfirmed": "自动确认用户",
        "group-bot": "机器人",
        "group-sysop": "管理员",
+       "group-interface-admin": "界面管理员",
        "group-bureaucrat": "行政员",
        "group-suppress": "Flow监督员",
        "group-all": "(所有)",
        "group-autoconfirmed-member": "{{GENDER:$1|自动确认用户}}",
        "group-bot-member": "{{GENDER:$1|机器人}}",
        "group-sysop-member": "{{GENDER:$1|管理员}}",
+       "group-interface-admin-member": "{{GENDER:$1|界面编辑者}}",
        "group-bureaucrat-member": "{{GENDER:$1|行政员}}",
        "group-suppress-member": "{{GENDER:$1|Flow监督员}}",
        "grouppage-user": "{{ns:project}}:用户",
        "grouppage-autoconfirmed": "{{ns:project}}:自动确认用户",
        "grouppage-bot": "{{ns:project}}:机器人",
        "grouppage-sysop": "{{ns:project}}:管理员",
+       "grouppage-interface-admin": "{{ns:project}}:界面编辑者",
        "grouppage-bureaucrat": "{{ns:project}}:行政员",
        "grouppage-suppress": "{{ns:project}}:监督",
        "right-read": "阅读页面",
        "right-editusercss": "编辑其他用户的CSS文件",
        "right-edituserjson": "编辑其他用户的JSON文件",
        "right-edituserjs": "编辑其他用户的JavaScript文件",
+       "right-editsitecss": "编辑全站CSS",
+       "right-editsitejson": "编辑全站JSON",
+       "right-editsitejs": "编辑全站JavaScript",
        "right-editmyusercss": "编辑您的用户CSS文件",
        "right-editmyuserjson": "编辑您的用户JSON文件",
        "right-editmyuserjs": "编辑您的用户JavaScript文件",
index b649940..beaab45 100644 (file)
        "customcssprotected": "您並沒有權限編輯此 CSS 頁面,因為此頁面包含了其他使用者的個人設定。",
        "customjsonprotected": "您沒有權限編輯此JSON頁面,因為此頁面包含了其他使用者的個人設定。",
        "customjsprotected": "您並沒有權限編輯此 JavaScript 頁面,因為此頁面包含了其他使用者的個人設定。",
+       "sitecssprotected": "您沒有權限來編輯此 CSS 頁面,因為這會影響到所有的網站訪客",
+       "sitejsonprotected": "您沒有權限來編輯此 JSON 頁面,因為這會影響到所有的網站訪客",
+       "sitejsprotected": "您沒有權限來編輯此 JavaScript 頁面,因為這會影響到所有的網站訪客",
        "mycustomcssprotected": "您沒有權限編輯此 CSS 頁面。",
        "mycustomjsonprotected": "您沒有權限編輯此 JSON 頁面。",
        "mycustomjsprotected": "您沒有權限編輯此 JavaScript 頁面。",
        "group-autoconfirmed": "自動確認的使用者",
        "group-bot": "機器人",
        "group-sysop": "管理員",
+       "group-interface-admin": "介面管理員",
        "group-bureaucrat": "行政員",
        "group-suppress": "監督員",
        "group-all": "(全部)",
        "group-autoconfirmed-member": "自動確認使用者",
        "group-bot-member": "機器人",
        "group-sysop-member": "{{GENDER:$1|管理員}}",
+       "group-interface-admin-member": "{{GENDER:$1|介面管理員}}",
        "group-bureaucrat-member": "行政員",
        "group-suppress-member": "{{GENDER:$1|監督員}}",
        "grouppage-user": "{{ns:project}}:使用者",
        "grouppage-autoconfirmed": "{{ns:project}}:自動確認使用者",
        "grouppage-bot": "{{ns:project}}:機器人",
        "grouppage-sysop": "{{ns:project}}:管理員",
+       "grouppage-interface-admin": "{{ns:project}}:介面管理員",
        "grouppage-bureaucrat": "{{ns:project}}:行政員",
        "grouppage-suppress": "{{ns:project}}:監督員",
        "right-read": "閱讀頁面",
        "right-editusercss": "編輯其他使用者的 CSS 檔",
        "right-edituserjson": "編輯其他使用者的 JSON 檔",
        "right-edituserjs": "編輯其他使用者的 JavaScript 檔",
+       "right-editsitecss": "編輯站台範圍 CSS",
+       "right-editsitejson": "編輯站台範圍 JSON",
+       "right-editsitejs": "編輯站台範圍 JavaScript",
        "right-editmyusercss": "編輯自己的使用者 CSS 檔",
        "right-editmyuserjson": "編輯您自己的使用者 JSON 檔",
        "right-editmyuserjs": "編輯自己的使用者 JavaScript 檔",
        "grant-createaccount": "建立帳號",
        "grant-createeditmovepage": "建立、編輯與移動頁面",
        "grant-delete": "刪除頁面、修訂與日誌記錄",
-       "grant-editinterface": "編輯 MediaWiki 命名空間與使用者 CSS/JSON/JavaScript",
+       "grant-editinterface": "編輯 MediaWiki 命名空間與站台範圍/使用者 JSON",
        "grant-editmycssjs": "編輯您的使用者 CSS/JSON/JavaScript",
        "grant-editmyoptions": "編輯您的使用者偏好設定",
        "grant-editmywatchlist": "編輯您的監視清單",
+       "grant-editsiteconfig": "編輯站台範圍與使用者 CSS/JS",
        "grant-editpage": "編輯現有的頁面",
        "grant-editprotected": "編輯受保護的頁面",
        "grant-highvolume": "大量編輯",
        "uploadstash-zero-length": "檔案長度為零。",
        "invalid-chunk-offset": "無效區塊位置",
        "img-auth-accessdenied": "拒絕存取",
-       "img-auth-nopathinfo": "缺少 PATH_INFO 參數。\n您安裝的伺服器未傳遞此資訊,\n您可能使用 CGI 為基礎的伺服器,且不支援 img_auth 功能。\n請參考 https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization。",
+       "img-auth-nopathinfo": "缺少路徑資訊。\n您的伺服器必須設定來傳遞 REQUEST_URI 以及/或 PATH_INFO 變數。\n若已如此,請嘗試啟動 $wgUsePathInfo。\n請參考 https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization。",
        "img-auth-notindir": "已設定的上傳目錄清單中不存在您指定的路徑。",
        "img-auth-badtitle": "無法使用 \"$1\" 建立有效的標題。",
        "img-auth-nologinnWL": "您尚未登入,且 \"$1\" 並未在允許清單上。",
        "passwordpolicies-policy-passwordcannotmatchusername": "密碼不可以和使用者名稱相同",
        "passwordpolicies-policy-passwordcannotmatchblacklist": "密碼不可以同於被列入黑名單的特定密碼",
        "passwordpolicies-policy-maximalpasswordlength": "密碼必須小於 $1 個{{PLURAL:$1|字元|字元}}長度",
-       "passwordpolicies-policy-passwordcannotbepopular": "密碼不可以是{{PLURAL:$1|常用密碼內容|在清單中的編號 $1 常用密碼}}"
+       "passwordpolicies-policy-passwordcannotbepopular": "密碼不可以是{{PLURAL:$1|常用密碼內容|在清單中的編號 $1 常用密碼}}",
+       "easydeflate-invaliddeflate": "提供的內容未被正常的壓縮"
 }
index d3efca6..2072d7b 100644 (file)
@@ -31,7 +31,7 @@ require_once __DIR__ . '/Maintenance.php';
  * @ingroup Maintenance
  */
 class CreateAndPromote extends Maintenance {
-       private static $permitRoles = [ 'sysop', 'bureaucrat', 'bot' ];
+       private static $permitRoles = [ 'sysop', 'bureaucrat', 'interface-admin', 'bot' ];
 
        public function __construct() {
                parent::__construct();
index b26ad44..ad524a7 100644 (file)
@@ -4,8 +4,8 @@
 -- T167246. Add an `actor` table and various columns (and temporary tables) to reference it.
 
 CREATE TABLE /*_*/actor (
-  actor_id bigint unsigned NOT NULL CONSTRAINT PK_actor PRIMARY KEY IDENTITY(0,1),
-  actor_user int unsigned,
+  actor_id bigint NOT NULL CONSTRAINT PK_actor PRIMARY KEY IDENTITY(0,1),
+  actor_user int,
   actor_name nvarchar(255) NOT NULL
 );
 CREATE UNIQUE INDEX /*i*/actor_user ON /*_*/actor (actor_user);
@@ -15,10 +15,10 @@ CREATE UNIQUE INDEX /*i*/actor_name ON /*_*/actor (actor_name);
 INSERT INTO /*_*/actor (actor_name) VALUES ('##Anonymous##');
 
 CREATE TABLE /*_*/revision_actor_temp (
-  revactor_rev int unsigned NOT NULL CONSTRAINT FK_revactor_rev FOREIGN KEY REFERENCES /*_*/revision(rev_id) ON DELETE CASCADE,
-  revactor_actor bigint unsigned NOT NULL,
+  revactor_rev int NOT NULL CONSTRAINT FK_revactor_rev FOREIGN KEY REFERENCES /*_*/revision(rev_id) ON DELETE CASCADE,
+  revactor_actor bigint NOT NULL,
   revactor_timestamp varchar(14) NOT NULL CONSTRAINT DF_revactor_timestamp DEFAULT '',
-  revactor_page int unsigned NOT NULL,
+  revactor_page int NOT NULL,
   CONSTRAINT PK_revision_actor_temp PRIMARY KEY (revactor_rev, revactor_actor)
 );
 CREATE UNIQUE INDEX /*i*/revactor_rev ON /*_*/revision_actor_temp (revactor_rev);
@@ -26,28 +26,28 @@ CREATE INDEX /*i*/actor_timestamp ON /*_*/revision_actor_temp (revactor_actor,re
 CREATE INDEX /*i*/page_actor_timestamp ON /*_*/revision_actor_temp (revactor_page,revactor_actor,revactor_timestamp);
 
 ALTER TABLE /*_*/archive ADD CONSTRAINT DF_ar_user_text DEFAULT '' FOR ar_user_text;
-ALTER TABLE /*_*/archive ADD ar_actor bigint unsigned NOT NULL CONSTRAINT DF_ar_actor DEFAULT 0;
+ALTER TABLE /*_*/archive ADD ar_actor bigint NOT NULL CONSTRAINT DF_ar_actor DEFAULT 0;
 CREATE INDEX /*i*/ar_actor_timestamp ON /*_*/archive (ar_actor,ar_timestamp);
 
-ALTER TABLE /*_*/ipblocks ADD ipb_by_actor bigint unsigned NOT NULL CONSTRAINT DF_ipb_by_actor DEFAULT 0;
+ALTER TABLE /*_*/ipblocks ADD ipb_by_actor bigint NOT NULL CONSTRAINT DF_ipb_by_actor DEFAULT 0;
 
 ALTER TABLE /*_*/image ADD CONSTRAINT DF_img_user_text DEFAULT '' FOR img_user_text;
-ALTER TABLE /*_*/image ADD img_actor bigint unsigned NOT NULL CONSTRAINT DF_img_actor DEFAULT 0;
+ALTER TABLE /*_*/image ADD img_actor bigint NOT NULL CONSTRAINT DF_img_actor DEFAULT 0;
 CREATE INDEX /*i*/img_actor_timestamp ON /*_*/image (img_actor, img_timestamp);
 
 ALTER TABLE /*_*/oldimage ADD CONSTRAINT DF_oi_user_text DEFAULT '' FOR oi_user_text;
-ALTER TABLE /*_*/oldimage ADD oi_actor bigint unsigned NOT NULL CONSTRAINT DF_oi_actor DEFAULT 0;
+ALTER TABLE /*_*/oldimage ADD oi_actor bigint NOT NULL CONSTRAINT DF_oi_actor DEFAULT 0;
 CREATE INDEX /*i*/oi_actor_timestamp ON /*_*/oldimage (oi_actor,oi_timestamp);
 
 ALTER TABLE /*_*/filearchive ADD CONSTRAINT DF_fa_user_text DEFAULT '' FOR fa_user_text;
-ALTER TABLE /*_*/filearchive ADD fa_actor bigint unsigned NOT NULL CONSTRAINT DF_fa_actor DEFAULT 0;
+ALTER TABLE /*_*/filearchive ADD fa_actor bigint NOT NULL CONSTRAINT DF_fa_actor DEFAULT 0;
 CREATE INDEX /*i*/fa_actor_timestamp ON /*_*/filearchive (fa_actor,fa_timestamp);
 
 ALTER TABLE /*_*/recentchanges ADD CONSTRAINT DF_rc_user_text DEFAULT '' FOR rc_user_text;
-ALTER TABLE /*_*/recentchanges ADD rc_actor bigint unsigned NOT NULL CONSTRAINT DF_rc_actor DEFAULT 0;
+ALTER TABLE /*_*/recentchanges ADD rc_actor bigint NOT NULL CONSTRAINT DF_rc_actor DEFAULT 0;
 CREATE INDEX /*i*/rc_ns_actor ON /*_*/recentchanges (rc_namespace, rc_actor);
 CREATE INDEX /*i*/rc_actor ON /*_*/recentchanges (rc_actor, rc_timestamp);
 
-ALTER TABLE /*_*/logging ADD log_actor bigint unsigned NOT NULL CONSTRAINT DF_log_actor DEFAULT 0;
+ALTER TABLE /*_*/logging ADD log_actor bigint NOT NULL CONSTRAINT DF_log_actor DEFAULT 0;
 CREATE INDEX /*i*/actor_time ON /*_*/logging (log_actor, log_timestamp);
 CREATE INDEX /*i*/log_actor_type_time ON /*_*/logging (log_actor, log_type, log_timestamp);
index f4c2a90..c532082 100644 (file)
@@ -4,7 +4,7 @@
 -- T166732. Add a `comment` table and various columns (and temporary tables) to reference it.
 
 CREATE TABLE /*_*/comment (
-  comment_id bigint unsigned NOT NULL PRIMARY KEY IDENTITY(0,1),
+  comment_id bigint NOT NULL PRIMARY KEY IDENTITY(0,1),
   comment_hash INT NOT NULL,
   comment_text nvarchar(max) NOT NULL,
   comment_data nvarchar(max)
@@ -17,15 +17,15 @@ INSERT INTO /*_*/comment (comment_hash, comment_text) VALUES (-1, '** dummy **')
 
 CREATE TABLE /*_*/revision_comment_temp (
   revcomment_rev INT NOT NULL CONSTRAINT FK_revcomment_rev FOREIGN KEY REFERENCES /*_*/revision(rev_id) ON DELETE CASCADE,
-  revcomment_comment_id bigint unsigned NOT NULL CONSTRAINT FK_revcomment_comment_id FOREIGN KEY REFERENCES /*_*/comment(comment_id),
+  revcomment_comment_id bigint NOT NULL CONSTRAINT FK_revcomment_comment_id FOREIGN KEY REFERENCES /*_*/comment(comment_id),
   CONSTRAINT PK_revision_comment_temp PRIMARY KEY (revcomment_rev, revcomment_comment_id)
 );
 CREATE UNIQUE INDEX /*i*/revcomment_rev ON /*_*/revision_comment_temp (revcomment_rev);
 
 
 CREATE TABLE /*_*/image_comment_temp (
-  imgcomment_name nvarchar(255) NOT NULL CONSTRAINT FK_imgcomment_name FOREIGN KEY REFERENCES /*_*/image(imgcomment_name) ON DELETE CASCADE,
-  imgcomment_description_id bigint unsigned NOT NULL CONSTRAINT FK_imgcomment_description_id FOREIGN KEY REFERENCES /*_*/comment(comment_id),
+  imgcomment_name nvarchar(255) NOT NULL CONSTRAINT FK_imgcomment_name FOREIGN KEY REFERENCES /*_*/image(img_name) ON DELETE CASCADE,
+  imgcomment_description_id bigint NOT NULL CONSTRAINT FK_imgcomment_description_id FOREIGN KEY REFERENCES /*_*/comment(comment_id),
   CONSTRAINT PK_image_comment_temp PRIMARY KEY (imgcomment_name, imgcomment_description_id)
 );
 CREATE UNIQUE INDEX /*i*/imgcomment_name ON /*_*/image_comment_temp (imgcomment_name);
@@ -34,24 +34,24 @@ CREATE UNIQUE INDEX /*i*/imgcomment_name ON /*_*/image_comment_temp (imgcomment_
 ALTER TABLE /*_*/revision ADD CONSTRAINT DF_rev_comment DEFAULT '' FOR rev_comment;
 
 ALTER TABLE /*_*/archive ADD CONSTRAINT DF_ar_comment DEFAULT '' FOR ar_comment;
-ALTER TABLE /*_*/archive ADD ar_comment_id bigint unsigned NOT NULL CONSTRAINT DF_ar_comment_id DEFAULT 0 CONSTRAINT FK_ar_comment_id FOREIGN KEY REFERENCES /*_*/comment(comment_id);
+ALTER TABLE /*_*/archive ADD ar_comment_id bigint NOT NULL CONSTRAINT DF_ar_comment_id DEFAULT 0 CONSTRAINT FK_ar_comment_id FOREIGN KEY REFERENCES /*_*/comment(comment_id);
 
 ALTER TABLE /*_*/ipblocks ADD CONSTRAINT DF_ipb_reason DEFAULT '' FOR ipb_reason;
-ALTER TABLE /*_*/ipblocks ADD ipb_reason_id bigint unsigned NOT NULL CONSTRAINT DF_ipb_reason_id DEFAULT 0 CONSTRAINT FK_ipb_reason_id FOREIGN KEY REFERENCES /*_*/comment(comment_id);
+ALTER TABLE /*_*/ipblocks ADD ipb_reason_id bigint NOT NULL CONSTRAINT DF_ipb_reason_id DEFAULT 0 CONSTRAINT FK_ipb_reason_id FOREIGN KEY REFERENCES /*_*/comment(comment_id);
 
 ALTER TABLE /*_*/image ADD CONSTRAINT DF_img_description DEFAULT '' FOR img_description;
 
 ALTER TABLE /*_*/oldimage ADD CONSTRAINT DF_oi_description DEFAULT '' FOR oi_description;
-ALTER TABLE /*_*/oldimage ADD oi_description_id bigint unsigned NOT NULL CONSTRAINT DF_oi_description_id DEFAULT 0 CONSTRAINT FK_oi_description_id FOREIGN KEY REFERENCES /*_*/comment(comment_id);
+ALTER TABLE /*_*/oldimage ADD oi_description_id bigint NOT NULL CONSTRAINT DF_oi_description_id DEFAULT 0 CONSTRAINT FK_oi_description_id FOREIGN KEY REFERENCES /*_*/comment(comment_id);
 
 ALTER TABLE /*_*/filearchive ADD CONSTRAINT DF_fa_deleted_reason DEFAULT '' FOR fa_deleted_reason;
-ALTER TABLE /*_*/filearchive ADD fa_deleted_reason_id bigint unsigned NOT NULL CONSTRAINT DF_fa_deleted_reason_id DEFAULT 0 CONSTRAINT FK_fa_deleted_reason_id FOREIGN KEY REFERENCES /*_*/comment(comment_id);
+ALTER TABLE /*_*/filearchive ADD fa_deleted_reason_id bigint NOT NULL CONSTRAINT DF_fa_deleted_reason_id DEFAULT 0 CONSTRAINT FK_fa_deleted_reason_id FOREIGN KEY REFERENCES /*_*/comment(comment_id);
 ALTER TABLE /*_*/filearchive ADD CONSTRAINT DF_fa_description DEFAULT '' FOR fa_description;
-ALTER TABLE /*_*/filearchive ADD fa_description_id bigint unsigned NOT NULL CONSTRAINT DF_fa_description_id DEFAULT 0 CONSTRAINT FK_fa_description_id FOREIGN KEY REFERENCES /*_*/comment(comment_id);
+ALTER TABLE /*_*/filearchive ADD fa_description_id bigint NOT NULL CONSTRAINT DF_fa_description_id DEFAULT 0 CONSTRAINT FK_fa_description_id FOREIGN KEY REFERENCES /*_*/comment(comment_id);
 
-ALTER TABLE /*_*/recentchanges ADD rc_comment_id bigint unsigned NOT NULL CONSTRAINT DF_rc_comment_id DEFAULT 0 CONSTRAINT FK_rc_comment_id FOREIGN KEY REFERENCES /*_*/comment(comment_id);
+ALTER TABLE /*_*/recentchanges ADD rc_comment_id bigint NOT NULL CONSTRAINT DF_rc_comment_id DEFAULT 0 CONSTRAINT FK_rc_comment_id FOREIGN KEY REFERENCES /*_*/comment(comment_id);
 
-ALTER TABLE /*_*/logging ADD log_comment_id bigint unsigned NOT NULL CONSTRAINT DF_log_comment_id DEFAULT 0 CONSTRAINT FK_log_comment_id FOREIGN KEY REFERENCES /*_*/comment(comment_id);
+ALTER TABLE /*_*/logging ADD log_comment_id bigint NOT NULL CONSTRAINT DF_log_comment_id DEFAULT 0 CONSTRAINT FK_log_comment_id FOREIGN KEY REFERENCES /*_*/comment(comment_id);
 
 ALTER TABLE /*_*/protected_titles ADD CONSTRAINT DF_pt_reason DEFAULT '' FOR pt_reason;
-ALTER TABLE /*_*/protected_titles ADD pt_reason_id bigint unsigned NOT NULL CONSTRAINT DF_pt_reason_id DEFAULT 0 CONSTRAINT FK_pt_reason_id FOREIGN KEY REFERENCES /*_*/comment(comment_id);
+ALTER TABLE /*_*/protected_titles ADD pt_reason_id bigint NOT NULL CONSTRAINT DF_pt_reason_id DEFAULT 0 CONSTRAINT FK_pt_reason_id FOREIGN KEY REFERENCES /*_*/comment(comment_id);
index c5b079a..a899f27 100644 (file)
@@ -5,17 +5,17 @@
 CREATE TABLE /*_*/content (
 
   -- ID of the content object
-  content_id bigint unsigned NOT NULL CONSTRAINT PK_content PRIMARY KEY IDENTITY,
+  content_id bigint NOT NULL CONSTRAINT PK_content PRIMARY KEY IDENTITY,
 
   -- Nominal size of the content object (not necessarily of the serialized blob)
-  content_size int unsigned NOT NULL,
+  content_size int NOT NULL,
 
   -- Nominal hash of the content object (not necessarily of the serialized blob)
   content_sha1 varchar(32) NOT NULL,
 
   -- reference to model_id
-  content_model smallint unsigned NOT NULL CONSTRAINT FK_content_content_models FOREIGN KEY REFERENCES /*_*/content_models(model_id),
+  content_model smallint NOT NULL CONSTRAINT FK_content_content_models FOREIGN KEY REFERENCES /*_*/content_models(model_id),
 
   -- URL-like address of the content blob
   content_address nvarchar(255) NOT NULL
-);
\ No newline at end of file
+);
index e9ec7c3..2fc615e 100644 (file)
@@ -6,17 +6,17 @@
 CREATE TABLE /*_*/slots (
 
   -- reference to rev_id
-  slot_revision_id bigint unsigned NOT NULL,
+  slot_revision_id bigint NOT NULL,
 
   -- reference to role_id
-  slot_role_id smallint unsigned NOT NULL CONSTRAINT FK_slots_slot_role FOREIGN KEY REFERENCES slot_roles(role_id),
+  slot_role_id smallint NOT NULL CONSTRAINT FK_slots_slot_role FOREIGN KEY REFERENCES slot_roles(role_id),
 
   -- reference to content_id
-  slot_content_id bigint unsigned NOT NULL CONSTRAINT FK_slots_content_id FOREIGN KEY REFERENCES content(content_id),
+  slot_content_id bigint NOT NULL CONSTRAINT FK_slots_content_id FOREIGN KEY REFERENCES content(content_id),
 
   -- The revision ID of the revision that originated the slot's content.
   -- To find revisions that changed slots, look for slot_origin = slot_revision_id.
-  slot_origin bigint unsigned NOT NULL,
+  slot_origin bigint NOT NULL,
 
   CONSTRAINT PK_slots PRIMARY KEY (slot_revision_id, slot_role_id)
 );
index 8f30e80..f040c15 100644 (file)
@@ -61,8 +61,8 @@ INSERT INTO /*_*/mwuser (user_name) VALUES ('##Anonymous##');
 -- can refer to the user table directly.
 --
 CREATE TABLE /*_*/actor (
-  actor_id bigint unsigned NOT NULL CONSTRAINT PK_actor PRIMARY KEY IDENTITY(0,1),
-  actor_user int unsigned,
+  actor_id bigint NOT NULL CONSTRAINT PK_actor PRIMARY KEY IDENTITY(0,1),
+  actor_user int,
   actor_name nvarchar(255) NOT NULL
 );
 CREATE UNIQUE INDEX /*i*/actor_user ON /*_*/actor (actor_user);
@@ -144,7 +144,7 @@ CREATE TABLE /*_*/bot_passwords (
 -- the same comment_text and comment_data.
 --
 CREATE TABLE /*_*/comment (
-  comment_id bigint unsigned NOT NULL PRIMARY KEY IDENTITY(0,1),
+  comment_id bigint NOT NULL PRIMARY KEY IDENTITY(0,1),
   comment_hash INT NOT NULL,
   comment_text nvarchar(max) NOT NULL,
   comment_data nvarchar(max)
@@ -225,16 +225,16 @@ ALTER TABLE /*_*/page ADD CONSTRAINT FK_page_latest_page_id FOREIGN KEY (page_la
 --
 CREATE TABLE /*_*/revision_comment_temp (
   revcomment_rev INT NOT NULL CONSTRAINT FK_revcomment_rev FOREIGN KEY REFERENCES /*_*/revision(rev_id) ON DELETE CASCADE,
-  revcomment_comment_id bigint unsigned NOT NULL CONSTRAINT FK_revcomment_comment_id FOREIGN KEY REFERENCES /*_*/comment(comment_id),
+  revcomment_comment_id bigint NOT NULL CONSTRAINT FK_revcomment_comment_id FOREIGN KEY REFERENCES /*_*/comment(comment_id),
   CONSTRAINT PK_revision_comment_temp PRIMARY KEY (revcomment_rev, revcomment_comment_id)
 );
 CREATE UNIQUE INDEX /*i*/revcomment_rev ON /*_*/revision_comment_temp (revcomment_rev);
 
 CREATE TABLE /*_*/revision_actor_temp (
-  revactor_rev int unsigned NOT NULL CONSTRAINT FK_revactor_rev FOREIGN KEY REFERENCES /*_*/revision(rev_id) ON DELETE CASCADE,
-  revactor_actor bigint unsigned NOT NULL,
+  revactor_rev int NOT NULL CONSTRAINT FK_revactor_rev FOREIGN KEY REFERENCES /*_*/revision(rev_id) ON DELETE CASCADE,
+  revactor_actor bigint NOT NULL,
   revactor_timestamp varchar(14) NOT NULL CONSTRAINT DF_revactor_timestamp DEFAULT '',
-  revactor_page int unsigned NOT NULL,
+  revactor_page int NOT NULL,
   CONSTRAINT PK_revision_actor_temp PRIMARY KEY (revactor_rev, revactor_actor)
 );
 CREATE UNIQUE INDEX /*i*/revactor_rev ON /*_*/revision_actor_temp (revactor_rev);
@@ -271,10 +271,10 @@ CREATE TABLE /*_*/archive (
    ar_namespace SMALLINT NOT NULL DEFAULT 0,
    ar_title NVARCHAR(255) NOT NULL DEFAULT '',
    ar_comment NVARCHAR(255) NOT NULL CONSTRAINT DF_ar_comment DEFAULT '',
-   ar_comment_id bigint unsigned NOT NULL CONSTRAINT DF_ar_comment_id DEFAULT 0 CONSTRAINT FK_ar_comment_id FOREIGN KEY REFERENCES /*_*/comment(comment_id),
+   ar_comment_id bigint NOT NULL CONSTRAINT DF_ar_comment_id DEFAULT 0 CONSTRAINT FK_ar_comment_id FOREIGN KEY REFERENCES /*_*/comment(comment_id),
    ar_user INT CONSTRAINT ar_user__user_id__fk FOREIGN KEY REFERENCES /*_*/mwuser(user_id),
    ar_user_text NVARCHAR(255) NOT NULL CONSTRAINT DF_ar_user_text DEFAULT '',
-   ar_actor bigint unsigned NOT NULL CONSTRAINT DF_ar_actor DEFAULT 0,
+   ar_actor bigint NOT NULL CONSTRAINT DF_ar_actor DEFAULT 0,
    ar_timestamp varchar(14) NOT NULL default '',
    ar_minor_edit BIT NOT NULL DEFAULT 0,
    ar_rev_id INT NOT NULL, -- NOT a FK, the row gets deleted from revision and moved here
@@ -294,30 +294,26 @@ CREATE UNIQUE INDEX /*i*/ar_revid_uniq ON /*_*/archive (ar_rev_id);
 
 
 --
--- Slots represent an n:m relation between revisions and content objects.
--- A content object can have a specific "role" in one or more revisions.
--- Each revision can have multiple content objects, each having a different role.
+-- Normalization table for role names
 --
-CREATE TABLE /*_*/slots (
-
-  -- reference to rev_id
-  slot_revision_id bigint unsigned NOT NULL,
-
-  -- reference to role_id
-  slot_role_id smallint unsigned NOT NULL CONSTRAINT FK_slots_slot_role FOREIGN KEY REFERENCES slot_roles(role_id),
-
-  -- reference to content_id
-  slot_content_id bigint unsigned NOT NULL CONSTRAINT FK_slots_content_id FOREIGN KEY REFERENCES content(content_id),
+CREATE TABLE /*_*/slot_roles (
+  role_id smallint NOT NULL CONSTRAINT PK_slot_roles PRIMARY KEY IDENTITY,
+  role_name nvarchar(64) NOT NULL
+);
 
-  -- The revision ID of the revision that originated the slot's content.
-  -- To find revisions that changed slots, look for slot_origin = slot_revision_id.
-  slot_origin bigint NOT NULL,
+-- Index for looking of the internal ID of for a name
+CREATE UNIQUE INDEX /*i*/role_name ON /*_*/slot_roles (role_name);
 
-  CONSTRAINT PK_slots PRIMARY KEY (slot_revision_id, slot_role_id)
+--
+-- Normalization table for content model names
+--
+CREATE TABLE /*_*/content_models (
+  model_id smallint NOT NULL CONSTRAINT PK_content_models PRIMARY KEY IDENTITY,
+  model_name nvarchar(64) NOT NULL
 );
 
--- Index for finding revisions that modified a specific slot
-CREATE INDEX /*i*/slot_revision_origin_role ON /*_*/slots (slot_revision_id, slot_origin, slot_role_id);
+-- Index for looking of the internal ID of for a name
+CREATE UNIQUE INDEX /*i*/model_name ON /*_*/content_models (model_name);
 
 --
 -- The content table represents content objects. It's primary purpose is to provide the necessary
@@ -326,42 +322,46 @@ CREATE INDEX /*i*/slot_revision_origin_role ON /*_*/slots (slot_revision_id, slo
 CREATE TABLE /*_*/content (
 
   -- ID of the content object
-  content_id bigint unsigned NOT NULL CONSTRAINT PK_content PRIMARY KEY IDENTITY,
+  content_id bigint NOT NULL CONSTRAINT PK_content PRIMARY KEY IDENTITY,
 
   -- Nominal size of the content object (not necessarily of the serialized blob)
-  content_size int unsigned NOT NULL,
+  content_size int NOT NULL,
 
   -- Nominal hash of the content object (not necessarily of the serialized blob)
   content_sha1 varchar(32) NOT NULL,
 
   -- reference to model_id
-  content_model smallint unsigned NOT NULL CONSTRAINT FK_content_content_models FOREIGN KEY REFERENCES /*_*/content_models(model_id),
+  content_model smallint NOT NULL CONSTRAINT FK_content_content_models FOREIGN KEY REFERENCES /*_*/content_models(model_id),
 
   -- URL-like address of the content blob
   content_address nvarchar(255) NOT NULL
 );
 
 --
--- Normalization table for role names
+-- Slots represent an n:m relation between revisions and content objects.
+-- A content object can have a specific "role" in one or more revisions.
+-- Each revision can have multiple content objects, each having a different role.
 --
-CREATE TABLE /*_*/slot_roles (
-  role_id smallint NOT NULL CONSTRAINT PK_slot_roles PRIMARY KEY IDENTITY,
-  role_name nvarchar(64) NOT NULL
-);
+CREATE TABLE /*_*/slots (
 
--- Index for looking of the internal ID of for a name
-CREATE UNIQUE INDEX /*i*/role_name ON /*_*/slot_roles (role_name);
+  -- reference to rev_id
+  slot_revision_id bigint NOT NULL,
 
---
--- Normalization table for content model names
---
-CREATE TABLE /*_*/content_models (
-  model_id smallint NOT NULL CONSTRAINT PK_content_models PRIMARY KEY IDENTITY,
-  model_name nvarchar(64) NOT NULL
+  -- reference to role_id
+  slot_role_id smallint NOT NULL CONSTRAINT FK_slots_slot_role FOREIGN KEY REFERENCES slot_roles(role_id),
+
+  -- reference to content_id
+  slot_content_id bigint NOT NULL CONSTRAINT FK_slots_content_id FOREIGN KEY REFERENCES content(content_id),
+
+  -- The revision ID of the revision that originated the slot's content.
+  -- To find revisions that changed slots, look for slot_origin = slot_revision_id.
+  slot_origin bigint NOT NULL,
+
+  CONSTRAINT PK_slots PRIMARY KEY (slot_revision_id, slot_role_id)
 );
 
--- Index for looking of the internal ID of for a name
-CREATE UNIQUE INDEX /*i*/model_name ON /*_*/content_models (model_name);
+-- Index for finding revisions that modified a specific slot
+CREATE INDEX /*i*/slot_revision_origin_role ON /*_*/slots (slot_revision_id, slot_origin, slot_role_id);
 
 
 --
@@ -643,7 +643,7 @@ CREATE TABLE /*_*/ipblocks (
   ipb_by int REFERENCES /*_*/mwuser(user_id) ON DELETE CASCADE,
 
   -- Actor ID who made the block.
-  ipb_by_actor bigint unsigned NOT NULL CONSTRAINT DF_ipb_by_actor DEFAULT 0,
+  ipb_by_actor bigint NOT NULL CONSTRAINT DF_ipb_by_actor DEFAULT 0,
 
   -- User name of blocker
   ipb_by_text nvarchar(255) NOT NULL default '',
@@ -653,7 +653,7 @@ CREATE TABLE /*_*/ipblocks (
 
   -- Key to comment_id. Text comment made by blocker.
   -- ("DEFAULT 0" is temporary, signaling that ipb_reason should be used)
-  ipb_reason_id bigint unsigned NOT NULL CONSTRAINT DF_ipb_reason_id DEFAULT 0 CONSTRAINT FK_ipb_reason_id FOREIGN KEY REFERENCES /*_*/comment(comment_id),
+  ipb_reason_id bigint NOT NULL CONSTRAINT DF_ipb_reason_id DEFAULT 0 CONSTRAINT FK_ipb_reason_id FOREIGN KEY REFERENCES /*_*/comment(comment_id),
 
   -- Creation (or refresh) date in standard YMDHMS form.
   -- IP blocks expire automatically.
@@ -756,7 +756,7 @@ CREATE TABLE /*_*/image (
   -- user_id and user_name of uploader.
   img_user int REFERENCES /*_*/mwuser(user_id) ON DELETE SET NULL,
   img_user_text nvarchar(255) NOT NULL CONSTRAINT DF_img_user_text DEFAULT '',
-  img_actor bigint unsigned NOT NULL CONSTRAINT DF_img_actor DEFAULT 0,
+  img_actor bigint NOT NULL CONSTRAINT DF_img_actor DEFAULT 0,
 
   -- Time of the upload.
   img_timestamp nvarchar(14) NOT NULL default '',
@@ -787,8 +787,8 @@ CREATE INDEX /*i*/img_media_mime ON /*_*/image (img_media_type,img_major_mime,im
 -- will be merged back into image in the future.
 --
 CREATE TABLE /*_*/image_comment_temp (
-  imgcomment_name nvarchar(255) NOT NULL CONSTRAINT FK_imgcomment_name FOREIGN KEY REFERENCES /*_*/image(imgcomment_name) ON DELETE CASCADE,
-  imgcomment_description_id bigint unsigned NOT NULL CONSTRAINT FK_imgcomment_description_id FOREIGN KEY REFERENCES /*_*/comment(comment_id),
+  imgcomment_name nvarchar(255) NOT NULL CONSTRAINT FK_imgcomment_name FOREIGN KEY REFERENCES /*_*/image(img_name) ON DELETE CASCADE,
+  imgcomment_description_id bigint NOT NULL CONSTRAINT FK_imgcomment_description_id FOREIGN KEY REFERENCES /*_*/comment(comment_id),
   CONSTRAINT PK_image_comment_temp PRIMARY KEY (imgcomment_name, imgcomment_description_id)
 );
 CREATE UNIQUE INDEX /*i*/imgcomment_name ON /*_*/image_comment_temp (imgcomment_name);
@@ -814,10 +814,10 @@ CREATE TABLE /*_*/oldimage (
   oi_height int NOT NULL default 0,
   oi_bits int NOT NULL default 0,
   oi_description nvarchar(255) NOT NULL CONSTRAINT DF_oi_description DEFAULT '',
-  oi_description_id bigint unsigned NOT NULL CONSTRAINT DF_oi_description_id DEFAULT 0 CONSTRAINT FK_oi_description_id FOREIGN KEY REFERENCES /*_*/comment(comment_id),
+  oi_description_id bigint NOT NULL CONSTRAINT DF_oi_description_id DEFAULT 0 CONSTRAINT FK_oi_description_id FOREIGN KEY REFERENCES /*_*/comment(comment_id),
   oi_user int REFERENCES /*_*/mwuser(user_id),
   oi_user_text nvarchar(255) NOT NULL CONSTRAINT DF_oi_user_text DEFAULT '',
-  oi_actor bigint unsigned NOT NULL CONSTRAINT DF_oi_actor DEFAULT 0,
+  oi_actor bigint NOT NULL CONSTRAINT DF_oi_actor DEFAULT 0,
   oi_timestamp varchar(14) NOT NULL default '',
 
   oi_metadata varbinary(max) NOT NULL,
@@ -866,7 +866,7 @@ CREATE TABLE /*_*/filearchive (
   fa_deleted_user int,
   fa_deleted_timestamp varchar(14) default '',
   fa_deleted_reason nvarchar(max) CONSTRAINT DF_fa_deleted_reason DEFAULT '',
-  fa_deleted_reason_id bigint unsigned NOT NULL CONSTRAINT DF_fa_deleted_reason_id DEFAULT 0 CONSTRAINT FK_fa_deleted_reason_id FOREIGN KEY REFERENCES /*_*/comment(comment_id),
+  fa_deleted_reason_id bigint NOT NULL CONSTRAINT DF_fa_deleted_reason_id DEFAULT 0 CONSTRAINT FK_fa_deleted_reason_id FOREIGN KEY REFERENCES /*_*/comment(comment_id),
 
   -- Duped fields from image
   fa_size int default 0,
@@ -878,10 +878,10 @@ CREATE TABLE /*_*/filearchive (
   fa_major_mime varchar(16) not null default 'unknown',
   fa_minor_mime nvarchar(100) default 'unknown',
   fa_description nvarchar(255) CONSTRAINT DF_fa_description DEFAULT '',
-  fa_description_id bigint unsigned NOT NULL CONSTRAINT DF_fa_description DEFAULT 0 CONSTRAINT FK_fa_description FOREIGN KEY REFERENCES /*_*/comment(comment_id),
+  fa_description_id bigint NOT NULL CONSTRAINT DF_fa_description_id DEFAULT 0 CONSTRAINT FK_fa_description_id FOREIGN KEY REFERENCES /*_*/comment(comment_id),
   fa_user int default 0 REFERENCES /*_*/mwuser(user_id) ON DELETE SET NULL,
   fa_user_text nvarchar(255) CONSTRAINT DF_fa_user_text DEFAULT '',
-  fa_actor bigint unsigned NOT NULL CONSTRAINT DF_fa_actor DEFAULT 0,
+  fa_actor bigint NOT NULL CONSTRAINT DF_fa_actor DEFAULT 0,
   fa_timestamp varchar(14) default '',
 
   -- Visibility of deleted revisions, bitfield
@@ -976,7 +976,7 @@ CREATE TABLE /*_*/recentchanges (
   -- As in revision
   rc_user int NOT NULL default 0 CONSTRAINT rc_user__user_id__fk FOREIGN KEY REFERENCES /*_*/mwuser(user_id),
   rc_user_text nvarchar(255) NOT NULL CONSTRAINT DF_rc_user_text DEFAULT '',
-  rc_actor bigint unsigned NOT NULL CONSTRAINT DF_rc_actor DEFAULT 0,
+  rc_actor bigint NOT NULL CONSTRAINT DF_rc_actor DEFAULT 0,
 
   -- When pages are renamed, their RC entries do _not_ change.
   rc_namespace int NOT NULL default 0,
@@ -984,7 +984,7 @@ CREATE TABLE /*_*/recentchanges (
 
   -- as in revision...
   rc_comment nvarchar(255) NOT NULL default '',
-  rc_comment_id bigint unsigned NOT NULL CONSTRAINT DF_rc_comment_id DEFAULT 0 CONSTRAINT FK_rc_comment_id FOREIGN KEY REFERENCES /*_*/comment(comment_id),
+  rc_comment_id bigint NOT NULL CONSTRAINT DF_rc_comment_id DEFAULT 0 CONSTRAINT FK_rc_comment_id FOREIGN KEY REFERENCES /*_*/comment(comment_id),
   rc_minor bit NOT NULL default 0,
 
   -- Edits by user accounts with the 'bot' rights key are
@@ -1180,7 +1180,7 @@ CREATE TABLE /*_*/logging (
   log_user_text nvarchar(255) NOT NULL default '',
 
   -- The actor who performed this action
-  log_actor bigint unsigned NOT NULL CONSTRAINT DF_log_actor DEFAULT 0,
+  log_actor bigint NOT NULL CONSTRAINT DF_log_actor DEFAULT 0,
 
   -- Key to the page affected. Where a user is the target,
   -- this will point to the user page.
@@ -1193,7 +1193,7 @@ CREATE TABLE /*_*/logging (
 
   -- Key to comment_id. Comment summarizing the change.
   -- ("DEFAULT 0" is temporary, signaling that log_comment should be used)
-  log_comment_id bigint unsigned NOT NULL CONSTRAINT DF_log_comment_id DEFAULT 0 CONSTRAINT FK_log_comment_id FOREIGN KEY REFERENCES /*_*/comment(comment_id),
+  log_comment_id bigint NOT NULL CONSTRAINT DF_log_comment_id DEFAULT 0 CONSTRAINT FK_log_comment_id FOREIGN KEY REFERENCES /*_*/comment(comment_id),
 
   -- miscellaneous parameters:
   -- LF separated list (old system) or serialized PHP array (new system)
@@ -1358,7 +1358,7 @@ CREATE TABLE /*_*/protected_titles (
   pt_title nvarchar(255) NOT NULL,
   pt_user int REFERENCES /*_*/mwuser(user_id) ON DELETE SET NULL,
   pt_reason nvarchar(255) CONSTRAINT DF_pt_reason DEFAULT '',
-  pt_reason_id bigint unsigned NOT NULL CONSTRAINT DF_pt_reason_id DEFAULT 0 CONSTRAINT FK_pt_reason_id FOREIGN KEY REFERENCES /*_*/comment(comment_id),
+  pt_reason_id bigint NOT NULL CONSTRAINT DF_pt_reason_id DEFAULT 0 CONSTRAINT FK_pt_reason_id FOREIGN KEY REFERENCES /*_*/comment(comment_id),
   pt_timestamp varchar(14) NOT NULL,
   pt_expiry varchar(14) NOT NULL,
   pt_create_perm nvarchar(60) NOT NULL,
index 93c7531..8a33888 100644 (file)
@@ -36,29 +36,29 @@ CREATE UNIQUE INDEX &mw_prefix.revactor_rev ON &mw_prefix.revision_actor_temp (r
 CREATE INDEX &mw_prefix.actor_timestamp ON &mw_prefix.revision_actor_temp (revactor_actor,revactor_timestamp);
 CREATE INDEX &mw_prefix.page_actor_timestamp ON &mw_prefix.revision_actor_temp (revactor_page,revactor_actor,revactor_timestamp);
 
-ALTER TABLE &mw_prefix.archive ALTER COLUMN ar_user_text VARCHAR2(255) NULL;
-ALTER TABLE &mw_prefix.archive ADD COLUMN ar_actor NUMBER DEFAULT 0 NOT NULL;
+ALTER TABLE &mw_prefix.archive MODIFY ( ar_user_text NULL );
+ALTER TABLE &mw_prefix.archive ADD ( ar_actor NUMBER DEFAULT 0 NOT NULL );
 CREATE INDEX &mw_prefix.ar_actor_timestamp ON &mw_prefix.archive (ar_actor,ar_timestamp);
 
-ALTER TABLE &mw_prefix.ipblocks ADD COLUMN ipb_by_actor NUMBER DEFUALT 0 NOT NULL;
+ALTER TABLE &mw_prefix.ipblocks ADD ( ipb_by_actor NUMBER DEFAULT 0 NOT NULL );
 
-ALTER TABLE &mw_prefix.image ALTER COLUMN img_user_text VARCHAR2(255) NULL;
-ALTER TABLE &mw_prefix.image ADD COLUMN img_actor NUMBER DEFAULT 0 NOT NULL;
+ALTER TABLE &mw_prefix.image MODIFY ( img_user_text NULL );
+ALTER TABLE &mw_prefix.image ADD ( img_actor NUMBER DEFAULT 0 NOT NULL );
 CREATE INDEX &mw_prefix.img_actor_timestamp ON &mw_prefix.image (img_actor, img_timestamp);
 
-ALTER TABLE &mw_prefix.oldimage ALTER COLUMN oi_user_text VARCHAR2(255) NULL;
-ALTER TABLE &mw_prefix.oldimage ADD COLUMN oi_actor NUMBER DEFAULT 0 NOT NULL;
+ALTER TABLE &mw_prefix.oldimage MODIFY ( oi_user_text NULL );
+ALTER TABLE &mw_prefix.oldimage ADD ( oi_actor NUMBER DEFAULT 0 NOT NULL );
 CREATE INDEX &mw_prefix.oi_actor_timestamp ON &mw_prefix.oldimage (oi_actor,oi_timestamp);
 
-ALTER TABLE &mw_prefix.filearchive ALTER COLUMN fa_user_text VARCHAR2(255) NULL;
-ALTER TABLE &mw_prefix.filearchive ADD COLUMN fa_actor NUMBER DEFAULT 0 NOT NULL;
+ALTER TABLE &mw_prefix.filearchive MODIFY ( fa_user_text NULL );
+ALTER TABLE &mw_prefix.filearchive ADD ( fa_actor NUMBER DEFAULT 0 NOT NULL );
 CREATE INDEX &mw_prefix.fa_actor_timestamp ON &mw_prefix.filearchive (fa_actor,fa_timestamp);
 
-ALTER TABLE &mw_prefix.recentchanges ALTER COLUMN rc_user_text VARCHAR2(255) NULL;
-ALTER TABLE &mw_prefix.recentchanges ADD COLUMN rc_actor NUMBER DEFAULT 0 NOT NULL;
+ALTER TABLE &mw_prefix.recentchanges MODIFY ( rc_user_text NULL );
+ALTER TABLE &mw_prefix.recentchanges ADD ( rc_actor NUMBER DEFAULT 0 NOT NULL );
 CREATE INDEX &mw_prefix.rc_ns_actor ON &mw_prefix.recentchanges (rc_namespace, rc_actor);
 CREATE INDEX &mw_prefix.rc_actor ON &mw_prefix.recentchanges (rc_actor, rc_timestamp);
 
-ALTER TABLE &mw_prefix.logging ADD COLUMN log_actor NUMBER DEFAULT 0 NOT NULL;
+ALTER TABLE &mw_prefix.logging ADD ( log_actor NUMBER DEFAULT 0 NOT NULL );
 CREATE INDEX &mw_prefix.actor_time ON &mw_prefix.logging (log_actor, log_timestamp);
 CREATE INDEX &mw_prefix.log_actor_type_time ON &mw_prefix.logging (log_actor, log_type, log_timestamp);
index cfe944f..cdab291 100644 (file)
@@ -43,26 +43,26 @@ ALTER TABLE &mw_prefix.image_comment_temp ADD CONSTRAINT &mw_prefix.image_commen
 CREATE UNIQUE INDEX &mw_prefix.imgcomment_name ON &mw_prefix.image_comment_temp (imgcomment_name);
 
 
-ALTER TABLE &mw_prefix.archive ADD COLUMN ar_comment_id NUMBER DEFAULT 0 NOT NULL;
+ALTER TABLE &mw_prefix.archive ADD ( ar_comment_id NUMBER DEFAULT 0 NOT NULL );
 ALTER TABLE &mw_prefix.archive ADD CONSTRAINT &mw_prefix.archive_fk2 FOREIGN KEY (ar_comment_id) REFERENCES &mw_prefix."COMMENT"(comment_id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED;
 
-ALTER TABLE &mw_prefix.ipblocks ALTER COLUMN ipb_reason VARCHAR2(255) NULL;
-ALTER TABLE &mw_prefix.ipblocks ADD COLUMN ipb_reason_id NUMBER DEFAULT 0 NOT NULL;
+ALTER TABLE &mw_prefix.ipblocks MODIFY ( ipb_reason NULL );
+ALTER TABLE &mw_prefix.ipblocks ADD ( ipb_reason_id NUMBER DEFAULT 0 NOT NULL );
 ALTER TABLE &mw_prefix.ipblocks ADD CONSTRAINT &mw_prefix.ipblocks_fk3 FOREIGN KEY (ipb_reason_id) REFERENCES &mw_prefix."COMMENT"(comment_id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED;
 
-ALTER TABLE &mw_prefix.oldimage ADD COLUMN oi_description_id NUMBER DEFAULT 0 NOT NULL;
+ALTER TABLE &mw_prefix.oldimage ADD ( oi_description_id NUMBER DEFAULT 0 NOT NULL );
 ALTER TABLE &mw_prefix.oldimage ADD CONSTRAINT &mw_prefix.oldimage_fk3 FOREIGN KEY (oi_description_id) REFERENCES &mw_prefix."COMMENT"(comment_id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED;
 
-ALTER TABLE &mw_prefix.filearchive ADD COLUMN fa_deleted_reason_id NUMBER DEFAULT 0 NOT NULL;
-ALTER TABLE &mw_prefix.filearchive ADD COLUMN fa_description_id NUMBER DEFAULT 0 NOT NULL;
+ALTER TABLE &mw_prefix.filearchive ADD ( fa_deleted_reason_id NUMBER DEFAULT 0 NOT NULL );
+ALTER TABLE &mw_prefix.filearchive ADD ( fa_description_id NUMBER DEFAULT 0 NOT NULL );
 ALTER TABLE &mw_prefix.filearchive ADD CONSTRAINT &mw_prefix.filearchive_fk3 FOREIGN KEY (fa_deleted_reason_id) REFERENCES &mw_prefix."COMMENT"(comment_id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED;
 ALTER TABLE &mw_prefix.filearchive ADD CONSTRAINT &mw_prefix.filearchive_fk4 FOREIGN KEY (fa_description_id) REFERENCES &mw_prefix."COMMENT"(comment_id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED;
 
-ALTER TABLE &mw_prefix.recentchanges ADD COLUMN rc_comment_id NUMBER DEFAULT 0 NOT NULL;
+ALTER TABLE &mw_prefix.recentchanges ADD ( rc_comment_id NUMBER DEFAULT 0 NOT NULL );
 ALTER TABLE &mw_prefix.recentchanges ADD CONSTRAINT &mw_prefix.recentchanges_fk3 FOREIGN KEY (rc_comment_id) REFERENCES &mw_prefix."COMMENT"(comment_id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED;
 
-ALTER TABLE &mw_prefix.logging ADD COLUMN log_comment_id NUMBER DEFAULT 0 NOT NULL;
+ALTER TABLE &mw_prefix.logging ADD ( log_comment_id NUMBER DEFAULT 0 NOT NULL );
 ALTER TABLE &mw_prefix.logging ADD CONSTRAINT &mw_prefix.logging_fk2 FOREIGN KEY (log_comment_id) REFERENCES &mw_prefix."COMMENT"(comment_id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED;
 
-ALTER TABLE &mw_prefix.protected_titles ADD COLUMN pt_reason_id NUMBER DEFAULT 0 NOT NULL;
+ALTER TABLE &mw_prefix.protected_titles ADD ( pt_reason_id NUMBER DEFAULT 0 NOT NULL );
 ALTER TABLE &mw_prefix.protected_titles ADD CONSTRAINT &mw_prefix.protected_titles_fk1 FOREIGN KEY (pt_reason_id) REFERENCES &mw_prefix."COMMENT"(comment_id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED;
index 612f089..b5e423d 100644 (file)
@@ -496,7 +496,7 @@ CREATE TABLE &mw_prefix.ipblocks (
   ipb_user              NUMBER      DEFAULT 0 NOT  NULL,
   ipb_by                NUMBER      DEFAULT 0 NOT NULL,
   ipb_by_text           VARCHAR2(255)      NULL,
-  ipb_by_actor          NUMBER      DEFUALT 0 NOT NULL,
+  ipb_by_actor          NUMBER      DEFAULT 0 NOT NULL,
   ipb_reason            VARCHAR2(255)      NULL,
   ipb_reason_id         NUMBER DEFAULT 0 NOT NULL,
   ipb_timestamp         TIMESTAMP(6) WITH TIME ZONE  NOT NULL,
index a259484..d86c8ed 100644 (file)
@@ -269,7 +269,7 @@ class RebuildRecentchanges extends Maintenance {
         * Rebuild pass 3: Insert `recentchanges` entries for action logs.
         */
        private function rebuildRecentChangesTablePass3( ILBFactory $lbFactory ) {
-               global $wgLogTypes, $wgLogRestrictions;
+               global $wgLogRestrictions;
 
                $dbw = $this->getDB( DB_MASTER );
                $commentStore = CommentStore::getStore();
@@ -296,7 +296,7 @@ class RebuildRecentchanges extends Maintenance {
                                'log_timestamp < ' . $dbw->addQuotes( $dbw->timestamp( $this->cutoffTo ) ),
                                // Some logs don't go in RC since they are private.
                                // @FIXME: core/extensions also have spammy logs that don't go in RC.
-                               'log_type' => array_diff( $wgLogTypes, array_keys( $wgLogRestrictions ) ),
+                               'log_type' => array_diff( LogPage::validTypes(), array_keys( $wgLogRestrictions ) ),
                        ],
                        __METHOD__,
                        [ 'ORDER BY' => 'log_timestamp DESC' ],
index c591c7c..92cbdfc 100644 (file)
@@ -1979,6 +1979,7 @@ return [
                        'resources/src/mediawiki.special/comparepages.less',
                        'resources/src/mediawiki.special/edittags.css',
                        'resources/src/mediawiki.special/movePage.css',
+                       'resources/src/mediawiki.special/newpages.less',
                        'resources/src/mediawiki.special/pagesWithProp.css',
                        'resources/src/mediawiki.special/upload.css',
                        'resources/src/mediawiki.special/userrights.css',
diff --git a/resources/src/mediawiki.special/newpages.less b/resources/src/mediawiki.special/newpages.less
new file mode 100644 (file)
index 0000000..bac0846
--- /dev/null
@@ -0,0 +1,15 @@
+/*!
+ * Styling for Special:NewPages
+ */
+
+// OOUIHTMLForm styles
+@ooui-font-size-browser: 16; // assumed browser default of `16px`
+@ooui-font-size-base: 0.875em; // equals `14px` at browser default of `16px`
+
+@ooui-spacing-medium: 12 / @ooui-font-size-browser / @ooui-font-size-base; // equals `0.8571429em`≈`12px`
+@ooui-spacing-large: 16 / @ooui-font-size-browser / @ooui-font-size-base; // equals `1.1428571em`≈`16px`
+
+.mw-htmlform-ooui .mw-htmlform-field-HTMLSizeFilterField,
+.mw-htmlform-ooui .mw-htmlform-submit-buttons + div {
+       margin-top: @ooui-spacing-medium;
+}
index 82739a7..db75bc0 100644 (file)
@@ -2215,4 +2215,41 @@ abstract class MediaWikiTestCase extends PHPUnit\Framework\TestCase {
                }
                self::assertEquals( file_get_contents( $fileName ), $actualData, $msg );
        }
+
+       /**
+        * Edits or creates a page/revision
+        * @param string $pageName Page title
+        * @param string $text Content of the page
+        * @param string $summary Optional summary string for the revision
+        * @param int $defaultNs Optional namespace id
+        * @return array Array as returned by WikiPage::doEditContent()
+        */
+       protected function editPage( $pageName, $text, $summary = '', $defaultNs = NS_MAIN ) {
+               $title = Title::newFromText( $pageName, $defaultNs );
+               $page = WikiPage::factory( $title );
+
+               return $page->doEditContent( ContentHandler::makeContent( $text, $title ), $summary );
+       }
+
+       /**
+        * Revision-deletes a revision.
+        *
+        * @param Revision|int $rev Revision to delete
+        * @param array $value Keys are Revision::DELETED_* flags.  Values are 1 to set the bit, 0 to
+        *   clear, -1 to leave alone.  (All other values also clear the bit.)
+        * @param string $comment Deletion comment
+        */
+       protected function revisionDelete(
+               $rev, array $value = [ Revision::DELETED_TEXT => 1 ], $comment = ''
+       ) {
+               if ( is_int( $rev ) ) {
+                       $rev = Revision::newFromId( $rev );
+               }
+               RevisionDeleter::createList(
+                       'revision', RequestContext::getMain(), $rev->getTitle(), [ $rev->getId() ]
+               )->setVisibility( [
+                       'value' => $value,
+                       'comment' => $comment,
+               ] );
+       }
 }
index 73447c9..d3c7af5 100644 (file)
@@ -3,29 +3,71 @@
 use Wikimedia\TestingAccessWrapper;
 
 /**
- *
  * @author Matthew Flaschen
  *
  * @group Database
  * @group Output
- *
- * @todo factor tests in this class into providers and test methods
  */
 class OutputPageTest extends MediaWikiTestCase {
        const SCREEN_MEDIA_QUERY = 'screen and (min-width: 982px)';
        const SCREEN_ONLY_MEDIA_QUERY = 'only screen and (min-width: 982px)';
 
+       /**
+        * @dataProvider provideRedirect
+        *
+        * @covers OutputPage::__construct
+        * @covers OutputPage::redirect
+        * @covers OutputPage::getRedirect
+        */
+       public function testRedirect( $url, $code = null ) {
+               $op = $this->newInstance();
+               if ( isset( $code ) ) {
+                       $op->redirect( $url, $code );
+               } else {
+                       $op->redirect( $url );
+               }
+               $expectedUrl = str_replace( "\n", '', $url );
+               $this->assertSame( $expectedUrl, $op->getRedirect() );
+               $this->assertSame( $expectedUrl, $op->mRedirect );
+               $this->assertSame( $code ?? '302', $op->mRedirectCode );
+       }
+
+       public function provideRedirect() {
+               return [
+                       [ 'http://example.com' ],
+                       [ 'http://example.com', '400' ],
+                       [ 'http://example.com', 'squirrels!!!' ],
+                       [ "a\nb" ],
+               ];
+       }
+
+       /**
+        * @covers OutputPage::setCopyrightUrl
+        * @covers OutputPage::getHeadLinksArray
+        */
+       public function testSetCopyrightUrl() {
+               $op = $this->newInstance();
+               $op->setCopyrightUrl( 'http://example.com' );
+
+               $this->assertSame(
+                       Html::element( 'link', [ 'rel' => 'license', 'href' => 'http://example.com' ] ),
+                       $op->getHeadLinksArray()['copyright']
+               );
+       }
+
+       // @todo How to test setStatusCode?
+
        /**
         * @covers OutputPage::addMeta
         * @covers OutputPage::getMetaTags
         * @covers OutputPage::getHeadLinksArray
         */
        public function testMetaTags() {
-               $outputPage = $this->newInstance();
-               $outputPage->addMeta( 'http:expires', '0' );
-               $outputPage->addMeta( 'keywords', 'first' );
-               $outputPage->addMeta( 'keywords', 'second' );
-               $outputPage->addMeta( 'og:title', 'Ta-duh' );
+               $op = $this->newInstance();
+               $op->addMeta( 'http:expires', '0' );
+               $op->addMeta( 'keywords', 'first' );
+               $op->addMeta( 'keywords', 'second' );
+               $op->addMeta( 'og:title', 'Ta-duh' );
 
                $expected = [
                        [ 'http:expires', '0' ],
@@ -33,9 +75,9 @@ class OutputPageTest extends MediaWikiTestCase {
                        [ 'keywords', 'second' ],
                        [ 'og:title', 'Ta-duh' ],
                ];
-               $this->assertSame( $expected, $outputPage->getMetaTags() );
+               $this->assertSame( $expected, $op->getMetaTags() );
 
-               $links = $outputPage->getHeadLinksArray();
+               $links = $op->getHeadLinksArray();
                $this->assertContains( '<meta http-equiv="expires" content="0"/>', $links );
                $this->assertContains( '<meta name="keywords" content="first"/>', $links );
                $this->assertContains( '<meta name="keywords" content="second"/>', $links );
@@ -44,84 +86,317 @@ class OutputPageTest extends MediaWikiTestCase {
        }
 
        /**
-        * @covers OutputPage::setIndexPolicy
-        * @covers OutputPage::setFollowPolicy
+        * @covers OutputPage::addLink
+        * @covers OutputPage::getLinkTags
         * @covers OutputPage::getHeadLinksArray
         */
-       public function testRobotsPolicies() {
-               $outputPage = $this->newInstance();
-               $outputPage->setIndexPolicy( 'noindex' );
-               $outputPage->setFollowPolicy( 'nofollow' );
+       public function testAddLink() {
+               $op = $this->newInstance();
 
-               $links = $outputPage->getHeadLinksArray();
-               $this->assertContains( '<meta name="robots" content="noindex,nofollow"/>', $links );
+               $links = [
+                       [],
+                       [ 'rel' => 'foo', 'href' => 'http://example.com' ],
+               ];
+
+               foreach ( $links as $link ) {
+                       $op->addLink( $link );
+               }
+
+               $this->assertSame( $links, $op->getLinkTags() );
+
+               $result = $op->getHeadLinksArray();
+
+               foreach ( $links as $link ) {
+                       $this->assertContains( Html::element( 'link', $link ), $result );
+               }
        }
 
        /**
-        * Tests a particular case of transformCssMedia, using the given input, globals,
-        * expected return, and message
+        * @covers OutputPage::setCanonicalUrl
+        * @covers OutputPage::getCanonicalUrl
+        * @covers OutputPage::getHeadLinksArray
+        */
+       public function testSetCanonicalUrl() {
+               $op = $this->newInstance();
+               $op->setCanonicalUrl( 'http://example.comm' );
+               $op->setCanonicalUrl( 'http://example.com' );
+
+               $this->assertSame( 'http://example.com', $op->getCanonicalUrl() );
+
+               $headLinks = $op->getHeadLinksArray();
+
+               $this->assertContains( Html::element( 'link', [
+                       'rel' => 'canonical', 'href' => 'http://example.com'
+               ] ), $headLinks );
+
+               $this->assertNotContains( Html::element( 'link', [
+                       'rel' => 'canonical', 'href' => 'http://example.comm'
+               ] ), $headLinks );
+       }
+
+       /**
+        * @covers OutputPage::addScript
+        */
+       public function testAddScript() {
+               $op = $this->newInstance();
+               $op->addScript( 'some random string' );
+
+               $this->assertContains( "\nsome random string\n", "\n" . $op->getBottomScripts() . "\n" );
+       }
+
+       /**
+        * @covers OutputPage::addScriptFile
+        */
+       public function testAddScriptFile() {
+               $op = $this->newInstance();
+               $op->addScriptFile( '/somescript.js' );
+               $op->addScriptFile( '//example.com/somescript.js' );
+
+               $this->assertContains(
+                       "\n" . Html::linkedScript( '/somescript.js', $op->getCSPNonce() ) .
+                               Html::linkedScript( '//example.com/somescript.js', $op->getCSPNonce() ) . "\n",
+                       "\n" . $op->getBottomScripts() . "\n"
+               );
+       }
+
+       /**
+        * Test that addScriptFile() throws due to deprecation.
         *
-        * Asserts that $expectedReturn is returned.
+        * @covers OutputPage::addScriptFile
+        */
+       public function testAddDeprecatedScriptFileWarning() {
+               $this->setExpectedException( PHPUnit_Framework_Error_Deprecated::class,
+                       'Use of OutputPage::addScriptFile was deprecated in MediaWiki 1.24.' );
+
+               $op = $this->newInstance();
+               $op->addScriptFile( 'ignored-script.js' );
+       }
+
+       /**
+        * Test the actual behavior of the method (in the case where it doesn't throw, e.g., in
+        * production).  Since it threw an exception once in this file, it won't when we call it again.
         *
-        * options['printableQuery'] - value of query string for printable, or omitted for none
-        * options['handheldQuery'] - value of query string for handheld, or omitted for none
-        * options['media'] - passed into the method under the same name
-        * options['expectedReturn'] - expected return value
-        * options['message'] - PHPUnit message for assertion
+        * @covers OutputPage::addScriptFile
+        */
+       public function testAddDeprecatedScriptFileNoOp() {
+               $op = $this->newInstance();
+               $op->addScriptFile( 'ignored-script.js' );
+
+               $this->assertNotContains( 'ignored-script.js', '' . $op->getBottomScripts() );
+       }
+
+       /**
+        * @covers OutputPage::addInlineScript
+        */
+       public function testAddInlineScript() {
+               $op = $this->newInstance();
+               $op->addInlineScript( 'let foo = "bar";' );
+               $op->addInlineScript( 'alert( foo );' );
+
+               $this->assertContains(
+                       "\n" . Html::inlineScript( "\nlet foo = \"bar\";\n", $op->getCSPNonce() ) . "\n" .
+                               Html::inlineScript( "\nalert( foo );\n", $op->getCSPNonce() ) . "\n",
+                       "\n" . $op->getBottomScripts() . "\n"
+               );
+       }
+
+       // @todo How to test filterModules(), warnModuleTargetFilter(), getModules(), etc.?
+
+       /**
+        * @covers OutputPage::getTarget
+        * @covers OutputPage::setTarget
+        */
+       public function testSetTarget() {
+               $op = $this->newInstance();
+               $op->setTarget( 'foo' );
+
+               $this->assertSame( 'foo', $op->getTarget() );
+               // @todo What else?  Test some actual effect?
+       }
+
+       // @todo How to test addContentOverride(Callback)?
+
+       /**
+        * @covers OutputPage::getHeadItemsArray
+        * @covers OutputPage::addHeadItem
+        * @covers OutputPage::addHeadItems
+        * @covers OutputPage::hasHeadItem
+        */
+       public function testHeadItems() {
+               $op = $this->newInstance();
+               $op->addHeadItem( 'a', 'b' );
+               $op->addHeadItems( [ 'c' => '<d>&amp;', 'e' => 'f', 'a' => 'q' ] );
+               $op->addHeadItem( 'e', 'g' );
+               $op->addHeadItems( 'x' );
+
+               $this->assertSame( [ 'a' => 'q', 'c' => '<d>&amp;', 'e' => 'g', 'x' ],
+                       $op->getHeadItemsArray() );
+
+               $this->assertTrue( $op->hasHeadItem( 'a' ) );
+               $this->assertTrue( $op->hasHeadItem( 'c' ) );
+               $this->assertTrue( $op->hasHeadItem( 'e' ) );
+               $this->assertTrue( $op->hasHeadItem( '0' ) );
+
+               $this->assertContains( "\nq\n<d>&amp;\ng\nx\n",
+                       '' . $op->headElement( $op->getContext()->getSkin() ) );
+       }
+
+       /**
+        * @covers OutputPage::addBodyClasses
+        */
+       public function testAddBodyClasses() {
+               $op = $this->newInstance();
+               $op->addBodyClasses( 'a' );
+               $op->addBodyClasses( 'mediawiki' );
+               $op->addBodyClasses( 'b c' );
+               $op->addBodyClasses( [ 'd', 'e' ] );
+               $op->addBodyClasses( 'a' );
+
+               $this->assertContains( '"a mediawiki b c d e ltr',
+                       '' . $op->headElement( $op->getContext()->getSkin() ) );
+       }
+
+       /**
+        * @covers OutputPage::setArticleBodyOnly
+        * @covers OutputPage::getArticleBodyOnly
+        */
+       public function testArticleBodyOnly() {
+               $op = $this->newInstance();
+               $this->assertFalse( $op->getArticleBodyOnly() );
+
+               $op->setArticleBodyOnly( true );
+               $this->assertTrue( $op->getArticleBodyOnly() );
+
+               $op->addHTML( '<b>a</b>' );
+
+               $this->assertSame( '<b>a</b>', $op->output( true ) );
+       }
+
+       /**
+        * @covers OutputPage::setProperty
+        * @covers OutputPage::getProperty
+        */
+       public function testProperties() {
+               $op = $this->newInstance();
+
+               $this->assertNull( $op->getProperty( 'foo' ) );
+
+               $op->setProperty( 'foo', 'bar' );
+               $op->setProperty( 'baz', 'quz' );
+
+               $this->assertSame( 'bar', $op->getProperty( 'foo' ) );
+               $this->assertSame( 'quz', $op->getProperty( 'baz' ) );
+       }
+
+       /**
+        * @dataProvider provideCheckLastModified
         *
-        * @param array $args Key-value array of arguments as shown above
+        * @covers OutputPage::checkLastModified
+        * @covers OutputPage::getCdnCacheEpoch
         */
-       protected function assertTransformCssMediaCase( $args ) {
-               $queryData = [];
-               if ( isset( $args['printableQuery'] ) ) {
-                       $queryData['printable'] = $args['printableQuery'];
+       public function testCheckLastModified(
+               $timestamp, $ifModifiedSince, $expected, $config = [], $callback = null
+       ) {
+               $request = new FauxRequest();
+               if ( $ifModifiedSince ) {
+                       if ( is_numeric( $ifModifiedSince ) ) {
+                               // Unix timestamp
+                               $ifModifiedSince = date( 'D, d M Y H:i:s', $ifModifiedSince ) . ' GMT';
+                       }
+                       $request->setHeader( 'If-Modified-Since', $ifModifiedSince );
                }
 
-               if ( isset( $args['handheldQuery'] ) ) {
-                       $queryData['handheld'] = $args['handheldQuery'];
+               if ( !isset( $config['CacheEpoch'] ) ) {
+                       // Make sure it's not too recent
+                       $config['CacheEpoch'] = '20000101000000';
                }
 
-               $fauxRequest = new FauxRequest( $queryData, false );
-               $this->setMwGlobals( [
-                       'wgRequest' => $fauxRequest,
-               ] );
+               $op = $this->newInstance( $config, $request );
 
-               $actualReturn = OutputPage::transformCssMedia( $args['media'] );
-               $this->assertSame( $args['expectedReturn'], $actualReturn, $args['message'] );
+               if ( $callback ) {
+                       $callback( $op, $this );
+               }
+
+               // Avoid a complaint about not being able to disable compression
+               Wikimedia\suppressWarnings();
+               try {
+                       $this->assertEquals( $expected, $op->checkLastModified( $timestamp ) );
+               } finally {
+                       Wikimedia\restoreWarnings();
+               }
+       }
+
+       public function provideCheckLastModified() {
+               $lastModified = time() - 3600;
+               return [
+                       'Timestamp 0' =>
+                               [ '0', $lastModified, false ],
+                       'Timestamp Unix epoch' =>
+                               [ '19700101000000', $lastModified, false ],
+                       'Timestamp same as If-Modified-Since' =>
+                               [ $lastModified, $lastModified, true ],
+                       'Timestamp one second after If-Modified-Since' =>
+                               [ $lastModified + 1, $lastModified, false ],
+                       'No If-Modified-Since' =>
+                               [ $lastModified + 1, null, false ],
+                       'Malformed If-Modified-Since' =>
+                               [ $lastModified + 1, 'GIBBERING WOMBATS !!!', false ],
+                       'Non-standard IE-style If-Modified-Since' =>
+                               [ $lastModified, date( 'D, d M Y H:i:s', $lastModified ) . ' GMT; length=5202',
+                                       true ],
+                       // @todo Should we fix this behavior to match the spec?  Probably no reason to.
+                       'If-Modified-Since not per spec but we accept it anyway because strtotime does' =>
+                               [ $lastModified, "@$lastModified", true ],
+                       '$wgCachePages = false' =>
+                               [ $lastModified, $lastModified, false, [ 'CachePages' => false ] ],
+                       '$wgCacheEpoch' =>
+                               [ $lastModified, $lastModified, false,
+                                       [ 'CacheEpoch' => wfTimestamp( TS_MW, $lastModified + 1 ) ] ],
+                       'Recently-touched user' =>
+                               [ $lastModified, $lastModified, false, [],
+                               function ( $op ) {
+                                       $op->getContext()->setUser( $this->getTestUser()->getUser() );
+                               } ],
+                       'After Squid expiry' =>
+                               [ $lastModified, $lastModified, false,
+                                       [ 'UseSquid' => true, 'SquidMaxage' => 3599 ] ],
+                       'Hook allows cache use' =>
+                               [ $lastModified + 1, $lastModified, true, [],
+                               function ( $op, $that ) {
+                                       $that->setTemporaryHook( 'OutputPageCheckLastModified',
+                                               function ( &$modifiedTimes ) {
+                                                       $modifiedTimes = [ 1 ];
+                                               }
+                                       );
+                               } ],
+                       'Hooks prohibits cache use' =>
+                               [ $lastModified, $lastModified, false, [],
+                               function ( $op, $that ) {
+                                       $that->setTemporaryHook( 'OutputPageCheckLastModified',
+                                               function ( &$modifiedTimes ) {
+                                                       $modifiedTimes = [ max( $modifiedTimes ) + 1 ];
+                                               }
+                                       );
+                               } ],
+               ];
        }
 
        /**
-        * Tests print requests
-        * @covers OutputPage::transformCssMedia
+        * @dataProvider provideCdnCacheEpoch
+        *
+        * @covers OutputPage::getCdnCacheEpoch
         */
-       public function testPrintRequests() {
-               $this->assertTransformCssMediaCase( [
-                       'printableQuery' => '1',
-                       'media' => 'screen',
-                       'expectedReturn' => null,
-                       'message' => 'On printable request, screen returns null'
-               ] );
-
-               $this->assertTransformCssMediaCase( [
-                       'printableQuery' => '1',
-                       'media' => self::SCREEN_MEDIA_QUERY,
-                       'expectedReturn' => null,
-                       'message' => 'On printable request, screen media query returns null'
-               ] );
-
-               $this->assertTransformCssMediaCase( [
-                       'printableQuery' => '1',
-                       'media' => self::SCREEN_ONLY_MEDIA_QUERY,
-                       'expectedReturn' => null,
-                       'message' => 'On printable request, screen media query with only returns null'
-               ] );
+       public function testCdnCacheEpoch( $params ) {
+               $out = TestingAccessWrapper::newFromObject( $this->newInstance() );
+               $reqTime = strtotime( $params['reqTime'] );
+               $pageTime = strtotime( $params['pageTime'] );
+               $actual = max( $pageTime, $out->getCdnCacheEpoch( $reqTime, $params['maxAge'] ) );
 
-               $this->assertTransformCssMediaCase( [
-                       'printableQuery' => '1',
-                       'media' => 'print',
-                       'expectedReturn' => '',
-                       'message' => 'On printable request, media print returns empty string'
-               ] );
+               $this->assertEquals(
+                       $params['expect'],
+                       gmdate( DateTime::ATOM, $actual ),
+                       'cdn epoch'
+               );
        }
 
        public static function provideCdnCacheEpoch() {
@@ -149,229 +424,418 @@ class OutputPageTest extends MediaWikiTestCase {
                ];
        }
 
+       // @todo How to test setLastModified?
+
        /**
-        * @dataProvider provideCdnCacheEpoch
-        * @covers OutputPage::getCdnCacheEpoch
+        * @covers OutputPage::setRobotPolicy
+        * @covers OutputPage::getHeadLinksArray
         */
-       public function testCdnCacheEpoch( $params ) {
-               $out = TestingAccessWrapper::newFromObject( $this->newInstance() );
-               $reqTime = strtotime( $params['reqTime'] );
-               $pageTime = strtotime( $params['pageTime'] );
-               $actual = max( $pageTime, $out->getCdnCacheEpoch( $reqTime, $params['maxAge'] ) );
+       public function testSetRobotPolicy() {
+               $op = $this->newInstance();
+               $op->setRobotPolicy( 'noindex, nofollow' );
 
-               $this->assertEquals(
-                       $params['expect'],
-                       gmdate( DateTime::ATOM, $actual ),
-                       'cdn epoch'
+               $links = $op->getHeadLinksArray();
+               $this->assertContains( '<meta name="robots" content="noindex,nofollow"/>', $links );
+       }
+
+       /**
+        * @covers OutputPage::setIndexPolicy
+        * @covers OutputPage::setFollowPolicy
+        * @covers OutputPage::getHeadLinksArray
+        */
+       public function testSetIndexFollowPolicies() {
+               $op = $this->newInstance();
+               $op->setIndexPolicy( 'noindex' );
+               $op->setFollowPolicy( 'nofollow' );
+
+               $links = $op->getHeadLinksArray();
+               $this->assertContains( '<meta name="robots" content="noindex,nofollow"/>', $links );
+       }
+
+       // @todo mPageTitleActionText has done nothing and has no callers for a long time:
+       //
+       //   * e4d21170 inadvertently made it do nothing (Apr 2009)
+       //   * 10ecfcb0/cadc951d removed the dead code that would have at least indicated what it was
+       //   supposed to do (Nov 2010)
+       //   * 9e230f30/2d045fa1 removed from history pages because it did nothing (Oct/Aug 2011)
+       //   * e275ea28 removed from articles (Oct 2011)
+       //   * ae45908c removed from EditPage (Oct 2011)
+       //
+       // Nice if we had had tests so these things couldn't happen by mistake, right?!
+       //
+       // https://phabricator.wikimedia.org/T200643
+
+       private function extractHTMLTitle( OutputPage $op ) {
+               $html = $op->headElement( $op->getContext()->getSkin() );
+
+               // OutputPage should always output the title in a nice format such that regexes will work
+               // fine.  If it doesn't, we'll fail the tests.
+               preg_match_all( '!<title>(.*?)</title>!', $html, $matches );
+
+               $this->assertLessThanOrEqual( 1, count( $matches[1] ), 'More than one <title>!' );
+
+               if ( !count( $matches[1] ) ) {
+                       return null;
+               }
+
+               return $matches[1][0];
+       }
+
+       /**
+        * Shorthand for getting the text of a message, in content language.
+        */
+       private static function getMsgText( $op, ...$msgParams ) {
+               return $op->msg( ...$msgParams )->inContentLanguage()->text();
+       }
+
+       /**
+        * @covers OutputPage::setHTMLTitle
+        * @covers OutputPage::getHTMLTitle
+        */
+       public function testHTMLTitle() {
+               $op = $this->newInstance();
+
+               // Default
+               $this->assertSame( '', $op->getHTMLTitle() );
+               $this->assertSame( '', $op->getPageTitle() );
+               $this->assertSame(
+                       $this->getMsgText( $op, 'pagetitle', '' ),
+                       $this->extractHTMLTitle( $op )
                );
+
+               // Set to string
+               $op->setHTMLTitle( 'Potatoes will eat me' );
+
+               $this->assertSame( 'Potatoes will eat me', $op->getHTMLTitle() );
+               $this->assertSame( 'Potatoes will eat me', $this->extractHTMLTitle( $op ) );
+               // Shouldn't have changed the page title
+               $this->assertSame( '', $op->getPageTitle() );
+
+               // Set to message
+               $msg = $op->msg( 'mainpage' );
+
+               $op->setHTMLTitle( $msg );
+               $this->assertSame( $msg->text(), $op->getHTMLTitle() );
+               $this->assertSame( $msg->text(), $this->extractHTMLTitle( $op ) );
+               $this->assertSame( '', $op->getPageTitle() );
        }
 
        /**
-        * Tests screen requests, without either query parameter set
-        * @covers OutputPage::transformCssMedia
+        * @covers OutputPage::setRedirectedFrom
         */
-       public function testScreenRequests() {
-               $this->assertTransformCssMediaCase( [
-                       'media' => 'screen',
-                       'expectedReturn' => 'screen',
-                       'message' => 'On screen request, screen media type is preserved'
-               ] );
+       public function testSetRedirectedFrom() {
+               $op = $this->newInstance();
 
-               $this->assertTransformCssMediaCase( [
-                       'media' => 'handheld',
-                       'expectedReturn' => 'handheld',
-                       'message' => 'On screen request, handheld media type is preserved'
-               ] );
+               $op->setRedirectedFrom( Title::newFromText( 'Talk:Some page' ) );
+               $this->assertSame( 'Talk:Some_page', $op->getJSVars()['wgRedirectedFrom'] );
+       }
 
-               $this->assertTransformCssMediaCase( [
-                       'media' => self::SCREEN_MEDIA_QUERY,
-                       'expectedReturn' => self::SCREEN_MEDIA_QUERY,
-                       'message' => 'On screen request, screen media query is preserved.'
-               ] );
+       /**
+        * @covers OutputPage::setPageTitle
+        * @covers OutputPage::getPageTitle
+        */
+       public function testPageTitle() {
+               // We don't test the actual HTML output anywhere, because that's up to the skin.
+               $op = $this->newInstance();
 
-               $this->assertTransformCssMediaCase( [
-                       'media' => self::SCREEN_ONLY_MEDIA_QUERY,
-                       'expectedReturn' => self::SCREEN_ONLY_MEDIA_QUERY,
-                       'message' => 'On screen request, screen media query with only is preserved.'
-               ] );
+               // Test default
+               $this->assertSame( '', $op->getPageTitle() );
+               $this->assertSame( '', $op->getHTMLTitle() );
 
-               $this->assertTransformCssMediaCase( [
-                       'media' => 'print',
-                       'expectedReturn' => 'print',
-                       'message' => 'On screen request, print media type is preserved'
-               ] );
+               // Test set to plain text
+               $op->setPageTitle( 'foobar' );
+
+               $this->assertSame( 'foobar', $op->getPageTitle() );
+               // HTML title should change as well
+               $this->assertSame( $this->getMsgText( $op, 'pagetitle', 'foobar' ), $op->getHTMLTitle() );
+
+               // Test set to text with good and bad HTML.  We don't try to be comprehensive here, that
+               // belongs in Sanitizer tests.
+               $op->setPageTitle( '<script>a</script>&amp;<i>b</i>' );
+
+               $this->assertSame( '&lt;script&gt;a&lt;/script&gt;&amp;<i>b</i>', $op->getPageTitle() );
+               $this->assertSame(
+                       $this->getMsgText( $op, 'pagetitle', '<script>a</script>&b' ),
+                       $op->getHTMLTitle()
+               );
+
+               // Test set to message
+               $text = $this->getMsgText( $op, 'mainpage' );
+
+               $op->setPageTitle( $op->msg( 'mainpage' )->inContentLanguage() );
+               $this->assertSame( $text, $op->getPageTitle() );
+               $this->assertSame( $this->getMsgText( $op, 'pagetitle', $text ), $op->getHTMLTitle() );
        }
 
        /**
-        * Tests handheld behavior
-        * @covers OutputPage::transformCssMedia
+        * @covers OutputPage::setTitle
         */
-       public function testHandheld() {
-               $this->assertTransformCssMediaCase( [
-                       'handheldQuery' => '1',
-                       'media' => 'handheld',
-                       'expectedReturn' => '',
-                       'message' => 'On request with handheld querystring and media is handheld, returns empty string'
+       public function testSetTitle() {
+               $op = $this->newInstance();
+
+               $this->assertSame( 'My test page', $op->getTitle()->getPrefixedText() );
+
+               $op->setTitle( Title::newFromText( 'Another test page' ) );
+
+               $this->assertSame( 'Another test page', $op->getTitle()->getPrefixedText() );
+       }
+
+       /**
+        * @covers OutputPage::setSubtitle
+        * @covers OutputPage::clearSubtitle
+        * @covers OutputPage::addSubtitle
+        * @covers OutputPage::getSubtitle
+        */
+       public function testSubtitle() {
+               $op = $this->newInstance();
+
+               $this->assertSame( '', $op->getSubtitle() );
+
+               $op->addSubtitle( '<b>foo</b>' );
+
+               $this->assertSame( '<b>foo</b>', $op->getSubtitle() );
+
+               $op->addSubtitle( $op->msg( 'mainpage' )->inContentLanguage() );
+
+               $this->assertSame(
+                       "<b>foo</b><br />\n\t\t\t\t" . $this->getMsgText( $op, 'mainpage' ),
+                       $op->getSubtitle()
+               );
+
+               $op->setSubtitle( 'There can be only one' );
+
+               $this->assertSame( 'There can be only one', $op->getSubtitle() );
+
+               $op->clearSubtitle();
+
+               $this->assertSame( '', $op->getSubtitle() );
+       }
+
+       /**
+        * @dataProvider provideBacklinkSubtitle
+        *
+        * @covers OutputPage::buildBacklinkSubtitle
+        */
+       public function testBuildBacklinkSubtitle( Title $title, $query, $contains, $notContains ) {
+               $this->editPage( 'Page 1', '' );
+               $this->editPage( 'Page 2', '#REDIRECT [[Page 1]]' );
+
+               $str = OutputPage::buildBacklinkSubtitle( $title, $query )->text();
+
+               foreach ( $contains as $substr ) {
+                       $this->assertContains( $substr, $str );
+               }
+
+               foreach ( $notContains as $substr ) {
+                       $this->assertNotContains( $substr, $str );
+               }
+       }
+
+       /**
+        * @dataProvider provideBacklinkSubtitle
+        *
+        * @covers OutputPage::addBacklinkSubtitle
+        * @covers OutputPage::getSubtitle
+        */
+       public function testAddBacklinkSubtitle( Title $title, $query, $contains, $notContains ) {
+               $this->editPage( 'Page 1', '' );
+               $this->editPage( 'Page 2', '#REDIRECT [[Page 1]]' );
+
+               $op = $this->newInstance();
+               $op->addBacklinkSubtitle( $title, $query );
+
+               $str = $op->getSubtitle();
+
+               foreach ( $contains as $substr ) {
+                       $this->assertContains( $substr, $str );
+               }
+
+               foreach ( $notContains as $substr ) {
+                       $this->assertNotContains( $substr, $str );
+               }
+       }
+
+       public function provideBacklinkSubtitle() {
+               $page1 = Title::newFromText( 'Page 1' );
+               $page2 = Title::newFromText( 'Page 2' );
+
+               return [
+                       [ $page1, [], [ 'Page 1' ], [ 'redirect', 'Page 2' ] ],
+                       [ $page2, [], [ 'redirect=no' ], [ 'Page 1' ] ],
+                       [ $page1, [ 'action' => 'edit' ], [ 'action=edit' ], [] ],
+                       // @todo Anything else to test?
+               ];
+       }
+
+       /**
+        * @covers OutputPage::addCategoryLinks
+        * @covers OutputPage::getCategories
+        */
+       public function testGetCategories() {
+               $fakeResultWrapper = new FakeResultWrapper( [
+                       (object)[
+                               'pp_value' => 1,
+                               'page_title' => 'Test'
+                       ],
+                       (object)[
+                               'page_title' => 'Test2'
+                       ]
                ] );
+               $op = $this->getMockBuilder( OutputPage::class )
+                       ->setConstructorArgs( [ new RequestContext() ] )
+                       ->setMethods( [ 'addCategoryLinksToLBAndGetResult' ] )
+                       ->getMock();
+               $op->expects( $this->any() )
+                       ->method( 'addCategoryLinksToLBAndGetResult' )
+                       ->will( $this->returnValue( $fakeResultWrapper ) );
 
-               $this->assertTransformCssMediaCase( [
-                       'handheldQuery' => '1',
-                       'media' => 'screen',
-                       'expectedReturn' => null,
-                       'message' => 'On request with handheld querystring and media is screen, returns null'
+               $op->addCategoryLinks( [
+                       'Test' => 'Test',
+                       'Test2' => 'Test2',
                ] );
+               $this->assertEquals( [ 0 => 'Test', '1' => 'Test2' ], $op->getCategories() );
+               $this->assertEquals( [ 0 => 'Test2' ], $op->getCategories( 'normal' ) );
+               $this->assertEquals( [ 0 => 'Test' ], $op->getCategories( 'hidden' ) );
        }
 
-       public static function provideTransformFilePath() {
-               $baseDir = dirname( __DIR__ ) . '/data/media';
+       /**
+        * @covers OutputPage::haveCacheVaryCookies
+        */
+       public function testHaveCacheVaryCookies() {
+               $request = new FauxRequest();
+               $context = new RequestContext();
+               $context->setRequest( $request );
+               $op = new OutputPage( $context );
+
+               // No cookies are set.
+               $this->assertFalse( $op->haveCacheVaryCookies() );
+
+               // 'Token' is present but empty, so it shouldn't count.
+               $request->setCookie( 'Token', '' );
+               $this->assertFalse( $op->haveCacheVaryCookies() );
+
+               // 'Token' present and nonempty.
+               $request->setCookie( 'Token', '123' );
+               $this->assertTrue( $op->haveCacheVaryCookies() );
+       }
+
+       /**
+        * @dataProvider provideVaryHeaders
+        *
+        * @covers OutputPage::addVaryHeader
+        * @covers OutputPage::getVaryHeader
+        * @covers OutputPage::getKeyHeader
+        */
+       public function testVaryHeaders( $calls, $vary, $key ) {
+               // get rid of default Vary fields
+               $op = $this->getMockBuilder( OutputPage::class )
+                       ->setConstructorArgs( [ new RequestContext() ] )
+                       ->setMethods( [ 'getCacheVaryCookies' ] )
+                       ->getMock();
+               $op->expects( $this->any() )
+                       ->method( 'getCacheVaryCookies' )
+                       ->will( $this->returnValue( [] ) );
+               TestingAccessWrapper::newFromObject( $op )->mVaryHeader = [];
+
+               foreach ( $calls as $call ) {
+                       call_user_func_array( [ $op, 'addVaryHeader' ], $call );
+               }
+               $this->assertEquals( $vary, $op->getVaryHeader(), 'Vary:' );
+               $this->assertEquals( $key, $op->getKeyHeader(), 'Key:' );
+       }
+
+       public function provideVaryHeaders() {
+               // note: getKeyHeader() automatically adds Vary: Cookie
                return [
-                       // File that matches basePath, and exists. Hash found and appended.
-                       [
-                               'baseDir' => $baseDir, 'basePath' => '/w',
-                               '/w/test.jpg',
-                               '/w/test.jpg?edcf2'
-                       ],
-                       // File that matches basePath, but not found on disk. Empty query.
-                       [
-                               'baseDir' => $baseDir, 'basePath' => '/w',
-                               '/w/unknown.png',
-                               '/w/unknown.png?'
-                       ],
-                       // File not matching basePath. Ignored.
-                       [
-                               'baseDir' => $baseDir, 'basePath' => '/w',
-                               '/files/test.jpg'
-                       ],
-                       // Empty string. Ignored.
-                       [
-                               'baseDir' => $baseDir, 'basePath' => '/w',
-                               '',
-                               ''
-                       ],
-                       // Similar path, but with domain component. Ignored.
-                       [
-                               'baseDir' => $baseDir, 'basePath' => '/w',
-                               '//example.org/w/test.jpg'
-                       ],
-                       [
-                               'baseDir' => $baseDir, 'basePath' => '/w',
-                               'https://example.org/w/test.jpg'
-                       ],
-                       // Unrelated path with domain component. Ignored.
-                       [
-                               'baseDir' => $baseDir, 'basePath' => '/w',
-                               'https://example.org/files/test.jpg'
+                       [ // single header
+                               [
+                                       [ 'Cookie' ],
+                               ],
+                               'Vary: Cookie',
+                               'Key: Cookie',
                        ],
-                       [
-                               'baseDir' => $baseDir, 'basePath' => '/w',
-                               '//example.org/files/test.jpg'
+                       [ // non-unique headers
+                               [
+                                       [ 'Cookie' ],
+                                       [ 'Accept-Language' ],
+                                       [ 'Cookie' ],
+                               ],
+                               'Vary: Cookie, Accept-Language',
+                               'Key: Cookie,Accept-Language',
                        ],
-                       // Unrelated path with domain, and empty base path (root mw install). Ignored.
-                       [
-                               'baseDir' => $baseDir, 'basePath' => '',
-                               'https://example.org/files/test.jpg'
+                       [ // two headers with single options
+                               [
+                                       [ 'Cookie', [ 'param=phpsessid' ] ],
+                                       [ 'Accept-Language', [ 'substr=en' ] ],
+                               ],
+                               'Vary: Cookie, Accept-Language',
+                               'Key: Cookie;param=phpsessid,Accept-Language;substr=en',
                        ],
-                       [
-                               'baseDir' => $baseDir, 'basePath' => '',
-                               // T155310
-                               '//example.org/files/test.jpg'
+                       [ // one header with multiple options
+                               [
+                                       [ 'Cookie', [ 'param=phpsessid', 'param=userId' ] ],
+                               ],
+                               'Vary: Cookie',
+                               'Key: Cookie;param=phpsessid;param=userId',
                        ],
-                       // Check UploadPath before ResourceBasePath (T155146)
-                       [
-                               'baseDir' => dirname( $baseDir ), 'basePath' => '',
-                               'uploadDir' => $baseDir, 'uploadPath' => '/images',
-                               '/images/test.jpg',
-                               '/images/test.jpg?edcf2'
+                       [ // Duplicate option
+                               [
+                                       [ 'Cookie', [ 'param=phpsessid' ] ],
+                                       [ 'Cookie', [ 'param=phpsessid' ] ],
+                                       [ 'Accept-Language', [ 'substr=en', 'substr=en' ] ],
+                               ],
+                               'Vary: Cookie, Accept-Language',
+                               'Key: Cookie;param=phpsessid,Accept-Language;substr=en',
+                       ],
+                       [ // Same header, different options
+                               [
+                                       [ 'Cookie', [ 'param=phpsessid' ] ],
+                                       [ 'Cookie', [ 'param=userId' ] ],
+                               ],
+                               'Vary: Cookie',
+                               'Key: Cookie;param=phpsessid;param=userId',
                        ],
                ];
        }
 
        /**
-        * @dataProvider provideTransformFilePath
-        * @covers OutputPage::transformFilePath
-        * @covers OutputPage::transformResourcePath
+        * @dataProvider provideLinkHeaders
+        *
+        * @covers OutputPage::addLinkHeader
+        * @covers OutputPage::getLinkHeader
         */
-       public function testTransformResourcePath( $baseDir, $basePath, $uploadDir = null,
-               $uploadPath = null, $path = null, $expected = null
-       ) {
-               if ( $path === null ) {
-                       // Skip optional $uploadDir and $uploadPath
-                       $path = $uploadDir;
-                       $expected = $uploadPath;
-                       $uploadDir = "$baseDir/images";
-                       $uploadPath = "$basePath/images";
-               }
-               $this->setMwGlobals( 'IP', $baseDir );
-               $conf = new HashConfig( [
-                       'ResourceBasePath' => $basePath,
-                       'UploadDirectory' => $uploadDir,
-                       'UploadPath' => $uploadPath,
-               ] );
+       public function testLinkHeaders( $headers, $result ) {
+               $op = $this->newInstance();
 
-               Wikimedia\suppressWarnings();
-               $actual = OutputPage::transformResourcePath( $conf, $path );
-               Wikimedia\restoreWarnings();
+               foreach ( $headers as $header ) {
+                       $op->addLinkHeader( $header );
+               }
 
-               $this->assertEquals( $expected ?: $path, $actual );
+               $this->assertEquals( $result, $op->getLinkHeader() );
        }
 
-       public static function provideMakeResourceLoaderLink() {
-               // phpcs:disable Generic.Files.LineLength
+       public function provideLinkHeaders() {
                return [
-                       // Single only=scripts load
-                       [
-                               [ 'test.foo', ResourceLoaderModule::TYPE_SCRIPTS ],
-                               "<script nonce=\"secret\">(window.RLQ=window.RLQ||[]).push(function(){"
-                                       . 'mw.loader.load("http://127.0.0.1:8080/w/load.php?debug=false\u0026lang=en\u0026modules=test.foo\u0026only=scripts\u0026skin=fallback");'
-                                       . "});</script>"
-                       ],
-                       // Multiple only=styles load
-                       [
-                               [ [ 'test.baz', 'test.foo', 'test.bar' ], ResourceLoaderModule::TYPE_STYLES ],
-
-                               '<link rel="stylesheet" href="http://127.0.0.1:8080/w/load.php?debug=false&amp;lang=en&amp;modules=test.bar%2Cbaz%2Cfoo&amp;only=styles&amp;skin=fallback"/>'
-                       ],
-                       // Private embed (only=scripts)
                        [
-                               [ 'test.quux', ResourceLoaderModule::TYPE_SCRIPTS ],
-                               "<script nonce=\"secret\">(window.RLQ=window.RLQ||[]).push(function(){"
-                                       . "mw.test.baz({token:123});\nmw.loader.state({\"test.quux\":\"ready\"});"
-                                       . "});</script>"
-                       ],
-                       // Load private module (combined)
-                       [
-                               [ 'test.quux', ResourceLoaderModule::TYPE_COMBINED ],
-                               "<script nonce=\"secret\">(window.RLQ=window.RLQ||[]).push(function(){"
-                                       . "mw.loader.implement(\"test.quux@1ev0ijv\",function($,jQuery,require,module){"
-                                       . "mw.test.baz({token:123});},{\"css\":[\".mw-icon{transition:none}"
-                                       . "\"]});});</script>"
-                       ],
-                       // Load no modules
-                       [
-                               [ [], ResourceLoaderModule::TYPE_COMBINED ],
-                               '',
+                               [],
+                               false
                        ],
-                       // noscript group
                        [
-                               [ 'test.noscript', ResourceLoaderModule::TYPE_STYLES ],
-                               '<noscript><link rel="stylesheet" href="http://127.0.0.1:8080/w/load.php?debug=false&amp;lang=en&amp;modules=test.noscript&amp;only=styles&amp;skin=fallback"/></noscript>'
+                               [ '<https://foo/bar.jpg>;rel=preload;as=image' ],
+                               'Link: <https://foo/bar.jpg>;rel=preload;as=image',
                        ],
-                       // Load two modules in separate groups
                        [
-                               [ [ 'test.group.foo', 'test.group.bar' ], ResourceLoaderModule::TYPE_COMBINED ],
-                               "<script nonce=\"secret\">(window.RLQ=window.RLQ||[]).push(function(){"
-                                       . 'mw.loader.load("http://127.0.0.1:8080/w/load.php?debug=false\u0026lang=en\u0026modules=test.group.bar\u0026skin=fallback");'
-                                       . 'mw.loader.load("http://127.0.0.1:8080/w/load.php?debug=false\u0026lang=en\u0026modules=test.group.foo\u0026skin=fallback");'
-                                       . "});</script>"
+                               [ '<https://foo/bar.jpg>;rel=preload;as=image','<https://foo/baz.jpg>;rel=preload;as=image' ],
+                               'Link: <https://foo/bar.jpg>;rel=preload;as=image,<https://foo/baz.jpg>;rel=preload;as=image',
                        ],
                ];
-               // phpcs:enable
        }
 
        /**
         * See ResourceLoaderClientHtmlTest for full coverage.
         *
         * @dataProvider provideMakeResourceLoaderLink
+        *
         * @covers OutputPage::makeResourceLoaderLink
         */
        public function testMakeResourceLoaderLink( $args, $expectedHtml ) {
@@ -428,38 +892,54 @@ class OutputPageTest extends MediaWikiTestCase {
                $this->assertEquals( $expectedHtml, $actualHtml );
        }
 
-       public static function provideBuildExemptModules() {
+       public static function provideMakeResourceLoaderLink() {
                // phpcs:disable Generic.Files.LineLength
                return [
-                       'empty' => [
-                               'exemptStyleModules' => [],
-                               '<meta name="ResourceLoaderDynamicStyles" content=""/>',
+                       // Single only=scripts load
+                       [
+                               [ 'test.foo', ResourceLoaderModule::TYPE_SCRIPTS ],
+                               "<script nonce=\"secret\">(window.RLQ=window.RLQ||[]).push(function(){"
+                                       . 'mw.loader.load("http://127.0.0.1:8080/w/load.php?debug=false\u0026lang=en\u0026modules=test.foo\u0026only=scripts\u0026skin=fallback");'
+                                       . "});</script>"
                        ],
-                       'empty sets' => [
-                               'exemptStyleModules' => [ 'site' => [], 'noscript' => [], 'private' => [], 'user' => [] ],
-                               '<meta name="ResourceLoaderDynamicStyles" content=""/>',
+                       // Multiple only=styles load
+                       [
+                               [ [ 'test.baz', 'test.foo', 'test.bar' ], ResourceLoaderModule::TYPE_STYLES ],
+
+                               '<link rel="stylesheet" href="http://127.0.0.1:8080/w/load.php?debug=false&amp;lang=en&amp;modules=test.bar%2Cbaz%2Cfoo&amp;only=styles&amp;skin=fallback"/>'
                        ],
-                       'default logged-out' => [
-                               'exemptStyleModules' => [ 'site' => [ 'site.styles' ] ],
-                               '<meta name="ResourceLoaderDynamicStyles" content=""/>' . "\n" .
-                               '<link rel="stylesheet" href="/w/load.php?debug=false&amp;lang=en&amp;modules=site.styles&amp;only=styles&amp;skin=fallback"/>',
+                       // Private embed (only=scripts)
+                       [
+                               [ 'test.quux', ResourceLoaderModule::TYPE_SCRIPTS ],
+                               "<script nonce=\"secret\">(window.RLQ=window.RLQ||[]).push(function(){"
+                                       . "mw.test.baz({token:123});\nmw.loader.state({\"test.quux\":\"ready\"});"
+                                       . "});</script>"
                        ],
-                       'default logged-in' => [
-                               'exemptStyleModules' => [ 'site' => [ 'site.styles' ], 'user' => [ 'user.styles' ] ],
-                               '<meta name="ResourceLoaderDynamicStyles" content=""/>' . "\n" .
-                               '<link rel="stylesheet" href="/w/load.php?debug=false&amp;lang=en&amp;modules=site.styles&amp;only=styles&amp;skin=fallback"/>' . "\n" .
-                               '<link rel="stylesheet" href="/w/load.php?debug=false&amp;lang=en&amp;modules=user.styles&amp;only=styles&amp;skin=fallback&amp;version=1e9z0ox"/>',
+                       // Load private module (combined)
+                       [
+                               [ 'test.quux', ResourceLoaderModule::TYPE_COMBINED ],
+                               "<script nonce=\"secret\">(window.RLQ=window.RLQ||[]).push(function(){"
+                                       . "mw.loader.implement(\"test.quux@1ev0ijv\",function($,jQuery,require,module){"
+                                       . "mw.test.baz({token:123});},{\"css\":[\".mw-icon{transition:none}"
+                                       . "\"]});});</script>"
                        ],
-                       'custom modules' => [
-                               'exemptStyleModules' => [
-                                       'site' => [ 'site.styles', 'example.site.a', 'example.site.b' ],
-                                       'user' => [ 'user.styles', 'example.user' ],
-                               ],
-                               '<meta name="ResourceLoaderDynamicStyles" content=""/>' . "\n" .
-                               '<link rel="stylesheet" href="/w/load.php?debug=false&amp;lang=en&amp;modules=example.site.a%2Cb&amp;only=styles&amp;skin=fallback"/>' . "\n" .
-                               '<link rel="stylesheet" href="/w/load.php?debug=false&amp;lang=en&amp;modules=site.styles&amp;only=styles&amp;skin=fallback"/>' . "\n" .
-                               '<link rel="stylesheet" href="/w/load.php?debug=false&amp;lang=en&amp;modules=example.user&amp;only=styles&amp;skin=fallback&amp;version=0a56zyi"/>' . "\n" .
-                               '<link rel="stylesheet" href="/w/load.php?debug=false&amp;lang=en&amp;modules=user.styles&amp;only=styles&amp;skin=fallback&amp;version=1e9z0ox"/>',
+                       // Load no modules
+                       [
+                               [ [], ResourceLoaderModule::TYPE_COMBINED ],
+                               '',
+                       ],
+                       // noscript group
+                       [
+                               [ 'test.noscript', ResourceLoaderModule::TYPE_STYLES ],
+                               '<noscript><link rel="stylesheet" href="http://127.0.0.1:8080/w/load.php?debug=false&amp;lang=en&amp;modules=test.noscript&amp;only=styles&amp;skin=fallback"/></noscript>'
+                       ],
+                       // Load two modules in separate groups
+                       [
+                               [ [ 'test.group.foo', 'test.group.bar' ], ResourceLoaderModule::TYPE_COMBINED ],
+                               "<script nonce=\"secret\">(window.RLQ=window.RLQ||[]).push(function(){"
+                                       . 'mw.loader.load("http://127.0.0.1:8080/w/load.php?debug=false\u0026lang=en\u0026modules=test.group.bar\u0026skin=fallback");'
+                                       . 'mw.loader.load("http://127.0.0.1:8080/w/load.php?debug=false\u0026lang=en\u0026modules=test.group.foo\u0026skin=fallback");'
+                                       . "});</script>"
                        ],
                ];
                // phpcs:enable
@@ -467,6 +947,7 @@ class OutputPageTest extends MediaWikiTestCase {
 
        /**
         * @dataProvider provideBuildExemptModules
+        *
         * @covers OutputPage::buildExemptModules
         */
        public function testBuildExemptModules( array $exemptStyleModules, $expect ) {
@@ -482,14 +963,14 @@ class OutputPageTest extends MediaWikiTestCase {
                $ctx = new RequestContext();
                $ctx->setSkin( SkinFactory::getDefaultInstance()->makeSkin( 'fallback' ) );
                $ctx->setLanguage( 'en' );
-               $outputPage = $this->getMockBuilder( OutputPage::class )
+               $op = $this->getMockBuilder( OutputPage::class )
                        ->setConstructorArgs( [ $ctx ] )
                        ->setMethods( [ 'buildCssLinksArray' ] )
                        ->getMock();
-               $outputPage->expects( $this->any() )
+               $op->expects( $this->any() )
                        ->method( 'buildCssLinksArray' )
                        ->willReturn( [] );
-               $rl = $outputPage->getResourceLoader();
+               $rl = $op->getResourceLoader();
                $rl->setMessageBlobStore( new NullMessageBlobStore() );
 
                // Register custom modules
@@ -499,174 +980,269 @@ class OutputPageTest extends MediaWikiTestCase {
                        'example.user' => new ResourceLoaderTestModule( [ 'group' => 'user' ] ),
                ] );
 
-               $outputPage = TestingAccessWrapper::newFromObject( $outputPage );
-               $outputPage->rlExemptStyleModules = $exemptStyleModules;
+               $op = TestingAccessWrapper::newFromObject( $op );
+               $op->rlExemptStyleModules = $exemptStyleModules;
                $this->assertEquals(
                        $expect,
-                       strval( $outputPage->buildExemptModules() )
+                       strval( $op->buildExemptModules() )
                );
        }
 
+       public static function provideBuildExemptModules() {
+               // phpcs:disable Generic.Files.LineLength
+               return [
+                       'empty' => [
+                               'exemptStyleModules' => [],
+                               '<meta name="ResourceLoaderDynamicStyles" content=""/>',
+                       ],
+                       'empty sets' => [
+                               'exemptStyleModules' => [ 'site' => [], 'noscript' => [], 'private' => [], 'user' => [] ],
+                               '<meta name="ResourceLoaderDynamicStyles" content=""/>',
+                       ],
+                       'default logged-out' => [
+                               'exemptStyleModules' => [ 'site' => [ 'site.styles' ] ],
+                               '<meta name="ResourceLoaderDynamicStyles" content=""/>' . "\n" .
+                               '<link rel="stylesheet" href="/w/load.php?debug=false&amp;lang=en&amp;modules=site.styles&amp;only=styles&amp;skin=fallback"/>',
+                       ],
+                       'default logged-in' => [
+                               'exemptStyleModules' => [ 'site' => [ 'site.styles' ], 'user' => [ 'user.styles' ] ],
+                               '<meta name="ResourceLoaderDynamicStyles" content=""/>' . "\n" .
+                               '<link rel="stylesheet" href="/w/load.php?debug=false&amp;lang=en&amp;modules=site.styles&amp;only=styles&amp;skin=fallback"/>' . "\n" .
+                               '<link rel="stylesheet" href="/w/load.php?debug=false&amp;lang=en&amp;modules=user.styles&amp;only=styles&amp;skin=fallback&amp;version=1e9z0ox"/>',
+                       ],
+                       'custom modules' => [
+                               'exemptStyleModules' => [
+                                       'site' => [ 'site.styles', 'example.site.a', 'example.site.b' ],
+                                       'user' => [ 'user.styles', 'example.user' ],
+                               ],
+                               '<meta name="ResourceLoaderDynamicStyles" content=""/>' . "\n" .
+                               '<link rel="stylesheet" href="/w/load.php?debug=false&amp;lang=en&amp;modules=example.site.a%2Cb&amp;only=styles&amp;skin=fallback"/>' . "\n" .
+                               '<link rel="stylesheet" href="/w/load.php?debug=false&amp;lang=en&amp;modules=site.styles&amp;only=styles&amp;skin=fallback"/>' . "\n" .
+                               '<link rel="stylesheet" href="/w/load.php?debug=false&amp;lang=en&amp;modules=example.user&amp;only=styles&amp;skin=fallback&amp;version=0a56zyi"/>' . "\n" .
+                               '<link rel="stylesheet" href="/w/load.php?debug=false&amp;lang=en&amp;modules=user.styles&amp;only=styles&amp;skin=fallback&amp;version=1e9z0ox"/>',
+                       ],
+               ];
+               // phpcs:enable
+       }
+
        /**
-        * @dataProvider provideVaryHeaders
-        * @covers OutputPage::addVaryHeader
-        * @covers OutputPage::getVaryHeader
-        * @covers OutputPage::getKeyHeader
+        * @dataProvider provideTransformFilePath
+        * @covers OutputPage::transformFilePath
+        * @covers OutputPage::transformResourcePath
         */
-       public function testVaryHeaders( $calls, $vary, $key ) {
-               // get rid of default Vary fields
-               $outputPage = $this->getMockBuilder( OutputPage::class )
-                       ->setConstructorArgs( [ new RequestContext() ] )
-                       ->setMethods( [ 'getCacheVaryCookies' ] )
-                       ->getMock();
-               $outputPage->expects( $this->any() )
-                       ->method( 'getCacheVaryCookies' )
-                       ->will( $this->returnValue( [] ) );
-               TestingAccessWrapper::newFromObject( $outputPage )->mVaryHeader = [];
-
-               foreach ( $calls as $call ) {
-                       call_user_func_array( [ $outputPage, 'addVaryHeader' ], $call );
+       public function testTransformResourcePath( $baseDir, $basePath, $uploadDir = null,
+               $uploadPath = null, $path = null, $expected = null
+       ) {
+               if ( $path === null ) {
+                       // Skip optional $uploadDir and $uploadPath
+                       $path = $uploadDir;
+                       $expected = $uploadPath;
+                       $uploadDir = "$baseDir/images";
+                       $uploadPath = "$basePath/images";
                }
-               $this->assertEquals( $vary, $outputPage->getVaryHeader(), 'Vary:' );
-               $this->assertEquals( $key, $outputPage->getKeyHeader(), 'Key:' );
+               $this->setMwGlobals( 'IP', $baseDir );
+               $conf = new HashConfig( [
+                       'ResourceBasePath' => $basePath,
+                       'UploadDirectory' => $uploadDir,
+                       'UploadPath' => $uploadPath,
+               ] );
+
+               // Some of these paths don't exist and will cause warnings
+               Wikimedia\suppressWarnings();
+               $actual = OutputPage::transformResourcePath( $conf, $path );
+               Wikimedia\restoreWarnings();
+
+               $this->assertEquals( $expected ?: $path, $actual );
        }
 
-       public function provideVaryHeaders() {
-               // note: getKeyHeader() automatically adds Vary: Cookie
+       public static function provideTransformFilePath() {
+               $baseDir = dirname( __DIR__ ) . '/data/media';
                return [
-                       [ // single header
-                               [
-                                       [ 'Cookie' ],
-                               ],
-                               'Vary: Cookie',
-                               'Key: Cookie',
+                       // File that matches basePath, and exists. Hash found and appended.
+                       [
+                               'baseDir' => $baseDir, 'basePath' => '/w',
+                               '/w/test.jpg',
+                               '/w/test.jpg?edcf2'
                        ],
-                       [ // non-unique headers
-                               [
-                                       [ 'Cookie' ],
-                                       [ 'Accept-Language' ],
-                                       [ 'Cookie' ],
-                               ],
-                               'Vary: Cookie, Accept-Language',
-                               'Key: Cookie,Accept-Language',
+                       // File that matches basePath, but not found on disk. Empty query.
+                       [
+                               'baseDir' => $baseDir, 'basePath' => '/w',
+                               '/w/unknown.png',
+                               '/w/unknown.png?'
                        ],
-                       [ // two headers with single options
-                               [
-                                       [ 'Cookie', [ 'param=phpsessid' ] ],
-                                       [ 'Accept-Language', [ 'substr=en' ] ],
-                               ],
-                               'Vary: Cookie, Accept-Language',
-                               'Key: Cookie;param=phpsessid,Accept-Language;substr=en',
+                       // File not matching basePath. Ignored.
+                       [
+                               'baseDir' => $baseDir, 'basePath' => '/w',
+                               '/files/test.jpg'
                        ],
-                       [ // one header with multiple options
-                               [
-                                       [ 'Cookie', [ 'param=phpsessid', 'param=userId' ] ],
-                               ],
-                               'Vary: Cookie',
-                               'Key: Cookie;param=phpsessid;param=userId',
+                       // Empty string. Ignored.
+                       [
+                               'baseDir' => $baseDir, 'basePath' => '/w',
+                               '',
+                               ''
                        ],
-                       [ // Duplicate option
-                               [
-                                       [ 'Cookie', [ 'param=phpsessid' ] ],
-                                       [ 'Cookie', [ 'param=phpsessid' ] ],
-                                       [ 'Accept-Language', [ 'substr=en', 'substr=en' ] ],
-                               ],
-                               'Vary: Cookie, Accept-Language',
-                               'Key: Cookie;param=phpsessid,Accept-Language;substr=en',
+                       // Similar path, but with domain component. Ignored.
+                       [
+                               'baseDir' => $baseDir, 'basePath' => '/w',
+                               '//example.org/w/test.jpg'
                        ],
-                       [ // Same header, different options
-                               [
-                                       [ 'Cookie', [ 'param=phpsessid' ] ],
-                                       [ 'Cookie', [ 'param=userId' ] ],
-                               ],
-                               'Vary: Cookie',
-                               'Key: Cookie;param=phpsessid;param=userId',
+                       [
+                               'baseDir' => $baseDir, 'basePath' => '/w',
+                               'https://example.org/w/test.jpg'
+                       ],
+                       // Unrelated path with domain component. Ignored.
+                       [
+                               'baseDir' => $baseDir, 'basePath' => '/w',
+                               'https://example.org/files/test.jpg'
+                       ],
+                       [
+                               'baseDir' => $baseDir, 'basePath' => '/w',
+                               '//example.org/files/test.jpg'
+                       ],
+                       // Unrelated path with domain, and empty base path (root mw install). Ignored.
+                       [
+                               'baseDir' => $baseDir, 'basePath' => '',
+                               'https://example.org/files/test.jpg'
+                       ],
+                       [
+                               'baseDir' => $baseDir, 'basePath' => '',
+                               // T155310
+                               '//example.org/files/test.jpg'
+                       ],
+                       // Check UploadPath before ResourceBasePath (T155146)
+                       [
+                               'baseDir' => dirname( $baseDir ), 'basePath' => '',
+                               'uploadDir' => $baseDir, 'uploadPath' => '/images',
+                               '/images/test.jpg',
+                               '/images/test.jpg?edcf2'
                        ],
                ];
        }
 
        /**
-        * @covers OutputPage::haveCacheVaryCookies
+        * Tests a particular case of transformCssMedia, using the given input, globals,
+        * expected return, and message
+        *
+        * Asserts that $expectedReturn is returned.
+        *
+        * options['printableQuery'] - value of query string for printable, or omitted for none
+        * options['handheldQuery'] - value of query string for handheld, or omitted for none
+        * options['media'] - passed into the method under the same name
+        * options['expectedReturn'] - expected return value
+        * options['message'] - PHPUnit message for assertion
+        *
+        * @param array $args Key-value array of arguments as shown above
         */
-       public function testHaveCacheVaryCookies() {
-               $request = new FauxRequest();
-               $context = new RequestContext();
-               $context->setRequest( $request );
-               $outputPage = new OutputPage( $context );
+       protected function assertTransformCssMediaCase( $args ) {
+               $queryData = [];
+               if ( isset( $args['printableQuery'] ) ) {
+                       $queryData['printable'] = $args['printableQuery'];
+               }
 
-               // No cookies are set.
-               $this->assertFalse( $outputPage->haveCacheVaryCookies() );
+               if ( isset( $args['handheldQuery'] ) ) {
+                       $queryData['handheld'] = $args['handheldQuery'];
+               }
 
-               // 'Token' is present but empty, so it shouldn't count.
-               $request->setCookie( 'Token', '' );
-               $this->assertFalse( $outputPage->haveCacheVaryCookies() );
+               $fauxRequest = new FauxRequest( $queryData, false );
+               $this->setMwGlobals( [
+                       'wgRequest' => $fauxRequest,
+               ] );
 
-               // 'Token' present and nonempty.
-               $request->setCookie( 'Token', '123' );
-               $this->assertTrue( $outputPage->haveCacheVaryCookies() );
+               $actualReturn = OutputPage::transformCssMedia( $args['media'] );
+               $this->assertSame( $args['expectedReturn'], $actualReturn, $args['message'] );
        }
 
        /**
-        * @covers OutputPage::addCategoryLinks
-        * @covers OutputPage::getCategories
+        * Tests print requests
+        *
+        * @covers OutputPage::transformCssMedia
         */
-       public function testGetCategories() {
-               $fakeResultWrapper = new FakeResultWrapper( [
-                       (object)[
-                               'pp_value' => 1,
-                               'page_title' => 'Test'
-                       ],
-                       (object)[
-                               'page_title' => 'Test2'
-                       ]
+       public function testPrintRequests() {
+               $this->assertTransformCssMediaCase( [
+                       'printableQuery' => '1',
+                       'media' => 'screen',
+                       'expectedReturn' => null,
+                       'message' => 'On printable request, screen returns null'
                ] );
-               $outputPage = $this->getMockBuilder( OutputPage::class )
-                       ->setConstructorArgs( [ new RequestContext() ] )
-                       ->setMethods( [ 'addCategoryLinksToLBAndGetResult' ] )
-                       ->getMock();
-               $outputPage->expects( $this->any() )
-                       ->method( 'addCategoryLinksToLBAndGetResult' )
-                       ->will( $this->returnValue( $fakeResultWrapper ) );
 
-               $outputPage->addCategoryLinks( [
-                       'Test' => 'Test',
-                       'Test2' => 'Test2',
+               $this->assertTransformCssMediaCase( [
+                       'printableQuery' => '1',
+                       'media' => self::SCREEN_MEDIA_QUERY,
+                       'expectedReturn' => null,
+                       'message' => 'On printable request, screen media query returns null'
+               ] );
+
+               $this->assertTransformCssMediaCase( [
+                       'printableQuery' => '1',
+                       'media' => self::SCREEN_ONLY_MEDIA_QUERY,
+                       'expectedReturn' => null,
+                       'message' => 'On printable request, screen media query with only returns null'
+               ] );
+
+               $this->assertTransformCssMediaCase( [
+                       'printableQuery' => '1',
+                       'media' => 'print',
+                       'expectedReturn' => '',
+                       'message' => 'On printable request, media print returns empty string'
                ] );
-               $this->assertEquals( [ 0 => 'Test', '1' => 'Test2' ], $outputPage->getCategories() );
-               $this->assertEquals( [ 0 => 'Test2' ], $outputPage->getCategories( 'normal' ) );
-               $this->assertEquals( [ 0 => 'Test' ], $outputPage->getCategories( 'hidden' ) );
        }
 
        /**
-        * @dataProvider provideLinkHeaders
-        * @covers OutputPage::addLinkHeader
-        * @covers OutputPage::getLinkHeader
+        * Tests screen requests, without either query parameter set
+        *
+        * @covers OutputPage::transformCssMedia
         */
-       public function testLinkHeaders( $headers, $result ) {
-               $outputPage = $this->newInstance();
+       public function testScreenRequests() {
+               $this->assertTransformCssMediaCase( [
+                       'media' => 'screen',
+                       'expectedReturn' => 'screen',
+                       'message' => 'On screen request, screen media type is preserved'
+               ] );
 
-               foreach ( $headers as $header ) {
-                       $outputPage->addLinkHeader( $header );
-               }
+               $this->assertTransformCssMediaCase( [
+                       'media' => 'handheld',
+                       'expectedReturn' => 'handheld',
+                       'message' => 'On screen request, handheld media type is preserved'
+               ] );
+
+               $this->assertTransformCssMediaCase( [
+                       'media' => self::SCREEN_MEDIA_QUERY,
+                       'expectedReturn' => self::SCREEN_MEDIA_QUERY,
+                       'message' => 'On screen request, screen media query is preserved.'
+               ] );
+
+               $this->assertTransformCssMediaCase( [
+                       'media' => self::SCREEN_ONLY_MEDIA_QUERY,
+                       'expectedReturn' => self::SCREEN_ONLY_MEDIA_QUERY,
+                       'message' => 'On screen request, screen media query with only is preserved.'
+               ] );
 
-               $this->assertEquals( $result, $outputPage->getLinkHeader() );
+               $this->assertTransformCssMediaCase( [
+                       'media' => 'print',
+                       'expectedReturn' => 'print',
+                       'message' => 'On screen request, print media type is preserved'
+               ] );
        }
 
-       public function provideLinkHeaders() {
-               return [
-                       [
-                               [],
-                               false
-                       ],
-                       [
-                               [ '<https://foo/bar.jpg>;rel=preload;as=image' ],
-                               'Link: <https://foo/bar.jpg>;rel=preload;as=image',
-                       ],
-                       [
-                               [ '<https://foo/bar.jpg>;rel=preload;as=image','<https://foo/baz.jpg>;rel=preload;as=image' ],
-                               'Link: <https://foo/bar.jpg>;rel=preload;as=image,<https://foo/baz.jpg>;rel=preload;as=image',
-                       ],
-               ];
+       /**
+        * Tests handheld behavior
+        *
+        * @covers OutputPage::transformCssMedia
+        */
+       public function testHandheld() {
+               $this->assertTransformCssMediaCase( [
+                       'handheldQuery' => '1',
+                       'media' => 'handheld',
+                       'expectedReturn' => '',
+                       'message' => 'On request with handheld querystring and media is handheld, returns empty string'
+               ] );
+
+               $this->assertTransformCssMediaCase( [
+                       'handheldQuery' => '1',
+                       'media' => 'screen',
+                       'expectedReturn' => null,
+                       'message' => 'On request with handheld querystring and media is screen, returns null'
+               ] );
        }
 
        /**
@@ -748,22 +1324,31 @@ class OutputPageTest extends MediaWikiTestCase {
        /**
         * @return OutputPage
         */
-       private function newInstance( $config = [] ) {
+       private function newInstance( $config = [], WebRequest $request = null ) {
                $context = new RequestContext();
 
-               $context->setConfig( new HashConfig( $config + [
-                       'AppleTouchIcon' => false,
-                       'DisableLangConversion' => true,
-                       'EnableCanonicalServerLink' => false,
-                       'Favicon' => false,
-                       'Feed' => false,
-                       'LanguageCode' => false,
-                       'ReferrerPolicy' => false,
-                       'RightsPage' => false,
-                       'RightsUrl' => false,
-                       'UniversalEditButton' => false,
+               $context->setConfig( new MultiConfig( [
+                       new HashConfig( $config + [
+                               'AppleTouchIcon' => false,
+                               'DisableLangConversion' => true,
+                               'EnableCanonicalServerLink' => false,
+                               'Favicon' => false,
+                               'Feed' => false,
+                               'LanguageCode' => false,
+                               'ReferrerPolicy' => false,
+                               'RightsPage' => false,
+                               'RightsUrl' => false,
+                               'UniversalEditButton' => false,
+                       ] ),
+                       $context->getConfig()
                ] ) );
 
+               $context->setTitle( Title::newFromText( 'My test page' ) );
+
+               if ( $request ) {
+                       $context->setRequest( $request );
+               }
+
                return new OutputPage( $context );
        }
 }
index a5ee7dd..0fce35a 100644 (file)
@@ -41,43 +41,6 @@ abstract class ApiTestCase extends MediaWikiLangTestCase {
                parent::tearDown();
        }
 
-       /**
-        * Edits or creates a page/revision
-        * @param string $pageName Page title
-        * @param string $text Content of the page
-        * @param string $summary Optional summary string for the revision
-        * @param int $defaultNs Optional namespace id
-        * @return array Array as returned by WikiPage::doEditContent()
-        */
-       protected function editPage( $pageName, $text, $summary = '', $defaultNs = NS_MAIN ) {
-               $title = Title::newFromText( $pageName, $defaultNs );
-               $page = WikiPage::factory( $title );
-
-               return $page->doEditContent( ContentHandler::makeContent( $text, $title ), $summary );
-       }
-
-       /**
-        * Revision-deletes a revision.
-        *
-        * @param Revision|int $rev Revision to delete
-        * @param array $value Keys are Revision::DELETED_* flags.  Values are 1 to set the bit, 0 to
-        *   clear, -1 to leave alone.  (All other values also clear the bit.)
-        * @param string $comment Deletion comment
-        */
-       protected function revisionDelete(
-               $rev, array $value = [ Revision::DELETED_TEXT => 1 ], $comment = ''
-       ) {
-               if ( is_int( $rev ) ) {
-                       $rev = Revision::newFromId( $rev );
-               }
-               RevisionDeleter::createList(
-                       'revision', RequestContext::getMain(), $rev->getTitle(), [ $rev->getId() ]
-               )->setVisibility( [
-                       'value' => $value,
-                       'comment' => $comment,
-               ] );
-       }
-
        /**
         * Does the API request and returns the result.
         *
index 2cd4ba6..f570f55 100644 (file)
@@ -2333,28 +2333,29 @@ class FileBackendTest extends MediaWikiTestCase {
 
        private function doTestLockCalls() {
                $backendName = $this->backendClass();
+               $base = $this->backend->getContainerStoragePath( 'test' );
 
                $paths = [
-                       "test1.txt",
-                       "test2.txt",
-                       "test3.txt",
-                       "subdir1",
-                       "subdir1", // duplicate
-                       "subdir1/test1.txt",
-                       "subdir1/test2.txt",
-                       "subdir2",
-                       "subdir2", // duplicate
-                       "subdir2/test3.txt",
-                       "subdir2/test4.txt",
-                       "subdir2/subdir",
-                       "subdir2/subdir/test1.txt",
-                       "subdir2/subdir/test2.txt",
-                       "subdir2/subdir/test3.txt",
-                       "subdir2/subdir/test4.txt",
-                       "subdir2/subdir/test5.txt",
-                       "subdir2/subdir/sub",
-                       "subdir2/subdir/sub/test0.txt",
-                       "subdir2/subdir/sub/120-px-file.txt",
+                       "$base/test1.txt",
+                       "$base/test2.txt",
+                       "$base/test3.txt",
+                       "$base/subdir1",
+                       "$base/subdir1", // duplicate
+                       "$base/subdir1/test1.txt",
+                       "$base/subdir1/test2.txt",
+                       "$base/subdir2",
+                       "$base/subdir2", // duplicate
+                       "$base/subdir2/test3.txt",
+                       "$base/subdir2/test4.txt",
+                       "$base/subdir2/subdir",
+                       "$base/subdir2/subdir/test1.txt",
+                       "$base/subdir2/subdir/test2.txt",
+                       "$base/subdir2/subdir/test3.txt",
+                       "$base/subdir2/subdir/test4.txt",
+                       "$base/subdir2/subdir/test5.txt",
+                       "$base/subdir2/subdir/sub",
+                       "$base/subdir2/subdir/sub/test0.txt",
+                       "$base/subdir2/subdir/sub/120-px-file.txt",
                ];
 
                for ( $i = 0; $i < 25; $i++ ) {
index c1f5cf8..2b27571 100644 (file)
@@ -315,7 +315,7 @@ class SearchEngineTest extends MediaWikiLangTestCase {
                        $availableResults[] = $title;
                        // pages not created must be filtered
                        if ( $i % 2 == 0 ) {
-                               $this->editPage( $title );
+                               $this->editSearchResultPage( $title );
                        }
                }
                MockCompletionSearchEngine::addMockResults( 'foo', $availableResults );
@@ -332,7 +332,7 @@ class SearchEngineTest extends MediaWikiLangTestCase {
                $this->assertFalse( $results->hasMoreResults() );
        }
 
-       private function editPage( $title ) {
+       private function editSearchResultPage( $title ) {
                $page = WikiPage::factory( Title::newFromText( $title ) );
                $page->doEditContent(
                        new WikitextContent( 'UTContent' ),
index 294bd80..169a7c5 100644 (file)
@@ -235,36 +235,6 @@ class UserTest extends MediaWikiTestCase {
                ];
        }
 
-       /**
-        * Test, if for all rights a right- message exist,
-        * which is used on Special:ListGroupRights as help text
-        * Extensions and core
-        *
-        * @coversNothing
-        */
-       public function testAllRightsWithMessage() {
-               // Getting all user rights, for core: User::$mCoreRights, for extensions: $wgAvailableRights
-               $allRights = User::getAllRights();
-               $allMessageKeys = Language::getMessageKeysFor( 'en' );
-
-               $rightsWithMessage = [];
-               foreach ( $allMessageKeys as $message ) {
-                       // === 0: must be at beginning of string (position 0)
-                       if ( strpos( $message, 'right-' ) === 0 ) {
-                               $rightsWithMessage[] = substr( $message, strlen( 'right-' ) );
-                       }
-               }
-
-               sort( $allRights );
-               sort( $rightsWithMessage );
-
-               $this->assertEquals(
-                       $allRights,
-                       $rightsWithMessage,
-                       'Each user rights (core/extensions) has a corresponding right- message.'
-               );
-       }
-
        /**
         * Test User::editCount
         * @group medium
index ea132e9..a7d947e 100644 (file)
@@ -53,4 +53,36 @@ class AvailableRightsTest extends PHPUnit\Framework\TestCase {
                        'https://www.mediawiki.org/wiki/Manual:User_rights#Adding_new_rights'
                );
        }
+
+       /**
+        * Test, if for all rights a right- message exist,
+        * which is used on Special:ListGroupRights as help text
+        * Extensions and core
+        *
+        * @coversNothing
+        */
+       public function testAllRightsWithMessage() {
+               // Getting all user rights, for core: User::$mCoreRights, for extensions: $wgAvailableRights
+               $allRights = User::getAllRights();
+               $allMessageKeys = Language::getMessageKeysFor( 'en' );
+
+               $rightsWithMessage = [];
+               foreach ( $allMessageKeys as $message ) {
+                       // === 0: must be at beginning of string (position 0)
+                       if ( strpos( $message, 'right-' ) === 0 ) {
+                               $rightsWithMessage[] = substr( $message, strlen( 'right-' ) );
+                       }
+               }
+
+               $missing = array_diff(
+                       $allRights,
+                       $rightsWithMessage
+               );
+
+               $this->assertEquals(
+                       [],
+                       $missing,
+                       'Each user rights (core/extensions) has a corresponding right- message.'
+               );
+       }
 }
index fe38a98..1ea5853 100644 (file)
@@ -17,6 +17,8 @@ class ParserTestTopLevelSuite extends PHPUnit_Framework_TestSuite {
        /** @var ScopedCallback */
        private $ptTeardownScope;
 
+       private $oldTablePrefix = '';
+
        /**
         * @defgroup filtering_constants Filtering constants
         *
@@ -137,7 +139,9 @@ class ParserTestTopLevelSuite extends PHPUnit_Framework_TestSuite {
                $type = $db->getType();
                $prefix = $type === 'oracle' ?
                        MediaWikiTestCase::ORA_DB_PREFIX : MediaWikiTestCase::DB_PREFIX;
+               $this->oldTablePrefix = $db->tablePrefix();
                MediaWikiTestCase::setupTestDB( $db, $prefix );
+               CloneDatabase::changePrefix( $prefix );
                $teardown = $this->ptRunner->setDatabase( $db );
                $teardown = $this->ptRunner->setupUploads( $teardown );
                $this->ptTeardownScope = $teardown;
@@ -148,6 +152,7 @@ class ParserTestTopLevelSuite extends PHPUnit_Framework_TestSuite {
                if ( $this->ptTeardownScope ) {
                        ScopedCallback::consume( $this->ptTeardownScope );
                }
+               CloneDatabase::changePrefix( $this->oldTablePrefix );
        }
 
        /**