Merge "Revert "DefaultSettings.php: Remove $wgPasswordSenderName""
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Wed, 26 Feb 2014 09:40:51 +0000 (09:40 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Wed, 26 Feb 2014 09:40:51 +0000 (09:40 +0000)
175 files changed:
RELEASE-NOTES-1.23
docs/hooks.txt
includes/AutoLoader.php
includes/DefaultSettings.php
includes/Exception.php [deleted file]
includes/SiteStats.php
includes/UserMailer.php
includes/api/ApiQuery.php
includes/api/ApiQueryAllLinks.php
includes/api/ApiQueryLogEvents.php
includes/api/ApiQueryRedirects.php [new file with mode: 0644]
includes/db/DatabaseOracle.php
includes/exception/BadTitleError.php [new file with mode: 0644]
includes/exception/ErrorPageError.php [new file with mode: 0644]
includes/exception/FatalError.php [new file with mode: 0644]
includes/exception/HttpError.php [new file with mode: 0644]
includes/exception/MWException.php [new file with mode: 0644]
includes/exception/MWExceptionHandler.php [new file with mode: 0644]
includes/exception/PermissionsError.php [new file with mode: 0644]
includes/exception/ReadOnlyError.php [new file with mode: 0644]
includes/exception/ThrottledError.php [new file with mode: 0644]
includes/exception/UserBlockedError.php [new file with mode: 0644]
includes/exception/UserNotLoggedIn.php [new file with mode: 0644]
includes/filebackend/FileBackendStore.php
includes/filebackend/SwiftFileBackend.php
includes/filerepo/ForeignDBViaLBRepo.php
languages/Language.php
languages/messages/MessagesAb.php
languages/messages/MessagesAk.php
languages/messages/MessagesAnp.php
languages/messages/MessagesAr.php
languages/messages/MessagesAs.php
languages/messages/MessagesAy.php
languages/messages/MessagesBar.php
languages/messages/MessagesBbc_latn.php
languages/messages/MessagesBe_tarask.php
languages/messages/MessagesBqi.php
languages/messages/MessagesBrh.php
languages/messages/MessagesBxr.php
languages/messages/MessagesCdo.php
languages/messages/MessagesCe.php
languages/messages/MessagesCeb.php
languages/messages/MessagesCh.php
languages/messages/MessagesCps.php
languages/messages/MessagesCs.php
languages/messages/MessagesCsb.php
languages/messages/MessagesCv.php
languages/messages/MessagesCy.php
languages/messages/MessagesDe.php
languages/messages/MessagesDe_ch.php
languages/messages/MessagesDe_formal.php
languages/messages/MessagesDiq.php
languages/messages/MessagesDsb.php
languages/messages/MessagesDz.php
languages/messages/MessagesEe.php
languages/messages/MessagesEml.php
languages/messages/MessagesEn_ca.php
languages/messages/MessagesEn_gb.php
languages/messages/MessagesEs.php
languages/messages/MessagesFf.php
languages/messages/MessagesFi.php
languages/messages/MessagesFit.php
languages/messages/MessagesFr.php
languages/messages/MessagesFrc.php
languages/messages/MessagesFur.php
languages/messages/MessagesGag.php
languages/messages/MessagesGan.php
languages/messages/MessagesGn.php
languages/messages/MessagesGot.php
languages/messages/MessagesHa.php
languages/messages/MessagesHak.php
languages/messages/MessagesHaw.php
languages/messages/MessagesHe.php
languages/messages/MessagesHi.php
languages/messages/MessagesIa.php
languages/messages/MessagesIe.php
languages/messages/MessagesIg.php
languages/messages/MessagesIke_cans.php
languages/messages/MessagesIke_latn.php
languages/messages/MessagesInh.php
languages/messages/MessagesIt.php
languages/messages/MessagesJa.php
languages/messages/MessagesJbo.php
languages/messages/MessagesJut.php
languages/messages/MessagesKa.php
languages/messages/MessagesKk.php
languages/messages/MessagesKoi.php
languages/messages/MessagesKri.php
languages/messages/MessagesKrj.php
languages/messages/MessagesKsh.php
languages/messages/MessagesKu_arab.php
languages/messages/MessagesKv.php
languages/messages/MessagesKy.php
languages/messages/MessagesLad.php
languages/messages/MessagesLb.php
languages/messages/MessagesLez.php
languages/messages/MessagesLfn.php
languages/messages/MessagesLiv.php
languages/messages/MessagesLn.php
languages/messages/MessagesLoz.php
languages/messages/MessagesLrc.php
languages/messages/MessagesLus.php
languages/messages/MessagesLv.php
languages/messages/MessagesLzz.php
languages/messages/MessagesMg.php
languages/messages/MessagesMk.php
languages/messages/MessagesMl.php
languages/messages/MessagesMrj.php
languages/messages/MessagesMwl.php
languages/messages/MessagesMzn.php
languages/messages/MessagesNan.php
languages/messages/MessagesNew.php
languages/messages/MessagesNl.php
languages/messages/MessagesNl_informal.php
languages/messages/MessagesNn.php
languages/messages/MessagesNov.php
languages/messages/MessagesNv.php
languages/messages/MessagesPag.php
languages/messages/MessagesPcd.php
languages/messages/MessagesPdt.php
languages/messages/MessagesPms.php
languages/messages/MessagesPnt.php
languages/messages/MessagesPt.php
languages/messages/MessagesQqq.php
languages/messages/MessagesQu.php
languages/messages/MessagesQug.php
languages/messages/MessagesRgn.php
languages/messages/MessagesRif.php
languages/messages/MessagesRmy.php
languages/messages/MessagesRo.php
languages/messages/MessagesRu.php
languages/messages/MessagesRup.php
languages/messages/MessagesRuq_cyrl.php
languages/messages/MessagesRuq_latn.php
languages/messages/MessagesSat.php
languages/messages/MessagesSc.php
languages/messages/MessagesSco.php
languages/messages/MessagesSd.php
languages/messages/MessagesSg.php
languages/messages/MessagesSi.php
languages/messages/MessagesSl.php
languages/messages/MessagesSma.php
languages/messages/MessagesSr.php
languages/messages/MessagesSrn.php
languages/messages/MessagesSv.php
languages/messages/MessagesTcy.php
languages/messages/MessagesTe.php
languages/messages/MessagesTl.php
languages/messages/MessagesTpi.php
languages/messages/MessagesTt.php
languages/messages/MessagesUdm.php
languages/messages/MessagesVi.php
languages/messages/MessagesXal.php
languages/messages/MessagesZh.php
languages/messages/MessagesZh_cn.php
languages/messages/MessagesZh_hans.php
languages/messages/MessagesZh_hant.php
languages/messages/MessagesZh_hk.php
languages/messages/MessagesZh_mo.php
languages/messages/MessagesZh_sg.php
languages/messages/MessagesZh_tw.php
resources/Resources.php
resources/jquery/jquery.delayedBind.js
resources/jquery/jquery.expandableField.js
resources/mediawiki.api/mediawiki.api.js
resources/mediawiki.special/mediawiki.special.preferences.js
resources/mediawiki/mediawiki.notification.js
skins/vector/collapsibleTabs.js
skins/vector/images/edit-icon.png [deleted file]
tests/phpunit/includes/ExceptionTest.php [deleted file]
tests/phpunit/includes/MWExceptionHandlerTest.php [deleted file]
tests/phpunit/includes/exception/BadTitleErrorTest.php [new file with mode: 0644]
tests/phpunit/includes/exception/MWExceptionHandlerTest.php [new file with mode: 0644]
tests/phpunit/includes/exception/MWExceptionTest.php [new file with mode: 0644]
tests/phpunit/includes/exception/ThrottledErrorTest.php [new file with mode: 0644]

index 2350b8e..4f29097 100644 (file)
@@ -107,6 +107,8 @@ production.
   parameter, which overrides the 'options' parameter.
 * Admins can expire users users passwords manually, or on a schedule using the
   $wgPasswordExpirationDays configuration setting.
+* Add new hook SendWatchlistEmailNotification, this will be used to determine
+  whether to send a watchlist email notification.
 
 === Bug fixes in 1.23 ===
 * (bug 41759) The "updated since last visit" markers (on history pages, recent
@@ -142,6 +144,8 @@ production.
 * (bug 60543) Special:PrefixIndex forgot stripprefix=1 for "Next page" link
 * (bug 29762) Undoing an already-undone edit will now display an appropriate
   message instead of leading the user to make a null edit.
+* (bug 52659) mediawiki.notification: Notification area remained visible when
+  empty and thus was stealing pointer events from links on the page.
 
 === Web API changes in 1.23 ===
 * (bug 54884) action=parse&prop=categories now indicates hidden and missing
@@ -187,6 +191,8 @@ production.
 * (bug 58627) Provide language names on action=parse&prop=langlinks.
 * Deprecated llurl= in favour of llprop=url for action=query&prop=langlinks.
 * Added llprop=langname and llprop=autonym for action=query&prop=langlinks.
+* prop=redirects is added, to return redirects to the pages in the query.
+* list=allredirects is added, to list all redirects pointing to a namespace.
 
 === Languages updated in 1.23 ===
 
@@ -248,6 +254,8 @@ changes to languages because of Bugzilla reports.
   was removed.
 * A user_password_expires column has been added to the user table. The User
   object expects this column to exist. Use update.php to create this new field.
+* The jquery.delayedBind ResourceLoader module was deprecated in favor of the
+  jquery.throttle-debounce module. It will be removed in MediaWiki 1.24.
 
 ==== Removed classes ====
 * FakeMemCachedClient (deprecated in 1.18)
index b9423a8..e7fa89b 100644 (file)
@@ -277,6 +277,11 @@ $user: the User object about to be created (read-only, incomplete)
 $targetUser: the user whom to send talk page email notification
 $title: the page title
 
+'SendWatchlistEmailNotification': Return true to send watchlist email notification
+$targetUser: the user whom to send watchlist email notification
+$title: the page title
+$this: EmailNotification object
+
 'AbortChangePassword': Return false to cancel password change.
 $user: the User object to which the password change is occuring
 $mOldpass: the old password provided by the user
index 54635e9..359fd8b 100644 (file)
@@ -38,7 +38,6 @@ $wgAutoloadLocalClasses = array(
        'AuthPlugin' => 'includes/AuthPlugin.php',
        'AuthPluginUser' => 'includes/AuthPlugin.php',
        'Autopromote' => 'includes/Autopromote.php',
-       'BadTitleError' => 'includes/Exception.php',
        'BaseTemplate' => 'includes/SkinTemplate.php',
        'Block' => 'includes/Block.php',
        'CacheHelper' => 'includes/CacheHelper.php',
@@ -73,10 +72,8 @@ $wgAutoloadLocalClasses = array(
        'DumpPipeOutput' => 'includes/Export.php',
        'EditPage' => 'includes/EditPage.php',
        'EmailNotification' => 'includes/UserMailer.php',
-       'ErrorPageError' => 'includes/Exception.php',
        'FakeTitle' => 'includes/FakeTitle.php',
        'Fallback' => 'includes/Fallback.php',
-       'FatalError' => 'includes/Exception.php',
        'FauxRequest' => 'includes/WebRequest.php',
        'FauxResponse' => 'includes/WebResponse.php',
        'FeedItem' => 'includes/Feed.php',
@@ -116,7 +113,6 @@ $wgAutoloadLocalClasses = array(
        'HTMLTextAreaField' => 'includes/htmlform/HTMLTextAreaField.php',
        'HTMLTextField' => 'includes/htmlform/HTMLTextField.php',
        'Http' => 'includes/HttpFunctions.php',
-       'HttpError' => 'includes/Exception.php',
        'ICacheHelper' => 'includes/CacheHelper.php',
        'IcuCollation' => 'includes/Collation.php',
        'IdentityCollation' => 'includes/Collation.php',
@@ -148,8 +144,6 @@ $wgAutoloadLocalClasses = array(
        'Message' => 'includes/Message.php',
        'MessageBlobStore' => 'includes/MessageBlobStore.php',
        'MimeMagic' => 'includes/MimeMagic.php',
-       'MWException' => 'includes/Exception.php',
-       'MWExceptionHandler' => 'includes/Exception.php',
        'MWHookException' => 'includes/Hooks.php',
        'MWHttpRequest' => 'includes/HttpFunctions.php',
        'MWInit' => 'includes/Init.php',
@@ -161,7 +155,6 @@ $wgAutoloadLocalClasses = array(
        'PasswordError' => 'includes/User.php',
        'PathRouter' => 'includes/PathRouter.php',
        'PathRouterPatternReplacer' => 'includes/PathRouter.php',
-       'PermissionsError' => 'includes/Exception.php',
        'PhpHttpRequest' => 'includes/HttpFunctions.php',
        'PoolCounter' => 'includes/PoolCounter.php',
        'PoolCounter_Stub' => 'includes/PoolCounter.php',
@@ -175,7 +168,6 @@ $wgAutoloadLocalClasses = array(
        'QueryPage' => 'includes/QueryPage.php',
        'QuickTemplate' => 'includes/SkinTemplate.php',
        'RawMessage' => 'includes/Message.php',
-       'ReadOnlyError' => 'includes/Exception.php',
        'RedirectSpecialArticle' => 'includes/specialpage/RedirectSpecialPage.php',
        'RedirectSpecialPage' => 'includes/specialpage/RedirectSpecialPage.php',
        'ReverseChronologicalPager' => 'includes/Pager.php',
@@ -216,15 +208,12 @@ $wgAutoloadLocalClasses = array(
        'Title' => 'includes/Title.php',
        'TitleArray' => 'includes/TitleArray.php',
        'TitleArrayFromResult' => 'includes/TitleArrayFromResult.php',
-       'ThrottledError' => 'includes/Exception.php',
        'UnlistedSpecialPage' => 'includes/specialpage/UnlistedSpecialPage.php',
        'UploadSourceAdapter' => 'includes/Import.php',
        'UppercaseCollation' => 'includes/Collation.php',
        'User' => 'includes/User.php',
        'UserArray' => 'includes/UserArray.php',
        'UserArrayFromResult' => 'includes/UserArrayFromResult.php',
-       'UserBlockedError' => 'includes/Exception.php',
-       'UserNotLoggedIn' => 'includes/Exception.php',
        'UserCache' => 'includes/cache/UserCache.php',
        'UserMailer' => 'includes/UserMailer.php',
        'UserRightsProxy' => 'includes/UserRightsProxy.php',
@@ -355,6 +344,7 @@ $wgAutoloadLocalClasses = array(
        'ApiQueryRandom' => 'includes/api/ApiQueryRandom.php',
        'ApiQueryRecentChanges' => 'includes/api/ApiQueryRecentChanges.php',
        'ApiQueryFileRepoInfo' => 'includes/api/ApiQueryFileRepoInfo.php',
+       'ApiQueryRedirects' => 'includes/api/ApiQueryRedirects.php',
        'ApiQueryRevisions' => 'includes/api/ApiQueryRevisions.php',
        'ApiQuerySearch' => 'includes/api/ApiQuerySearch.php',
        'ApiQuerySiteinfo' => 'includes/api/ApiQuerySiteinfo.php',
@@ -526,6 +516,19 @@ $wgAutoloadLocalClasses = array(
        'WikiDiff3' => 'includes/diff/WikiDiff3.php',
        'WordLevelDiff' => 'includes/diff/DairikiDiff.php',
 
+       # includes/exception
+       'UserBlockedError' => 'includes/exception/UserBlockedError.php',
+       'UserNotLoggedIn' => 'includes/exception/UserNotLoggedIn.php',
+       'ThrottledError' => 'includes/exception/ThrottledError.php',
+       'ReadOnlyError' => 'includes/exception/ReadOnlyError.php',
+       'PermissionsError' => 'includes/exception/PermissionsError.php',
+       'MWException' => 'includes/exception/MWException.php',
+       'MWExceptionHandler' => 'includes/exception/MWExceptionHandler.php',
+       'HttpError' => 'includes/exception/HttpError.php',
+       'BadTitleError' => 'includes/exception/BadTitleError.php',
+       'ErrorPageError' => 'includes/exception/ErrorPageError.php',
+       'FatalError' => 'includes/exception/FatalError.php',
+
        # includes/externalstore
        'ExternalStore' => 'includes/externalstore/ExternalStore.php',
        'ExternalStoreDB' => 'includes/externalstore/ExternalStoreDB.php',
index 3526c96..716baef 100644 (file)
@@ -3166,14 +3166,23 @@ $wgResourceBasePath = null;
 
 /**
  * Maximum time in seconds to cache resources served by the resource loader.
+ * Used to set last modified headers (max-age/s-maxage).
  *
- * @todo Document array structure
+ * Following options to distinguish:
+ * - versioned: Used for modules with a version, because changing version
+ *   numbers causes cache misses. This normally has a long expiry time.
+ * - unversioned: Used for modules without a version to propagate changes
+ *   quickly to clients. Also used for modules with errors to recover quickly.
+ *   This normally has a short expiry time.
+ *
+ * Expiry time for the options to distinguish:
+ * - server: Squid/Varnish but also any other public proxy cache between the
+ *   client and MediaWiki.
+ * - client: On the client side (e.g. in the browser cache).
  */
 $wgResourceLoaderMaxage = array(
        'versioned' => array(
-               // Squid/Varnish but also any other public proxy cache between the client and MediaWiki
                'server' => 30 * 24 * 60 * 60, // 30 days
-               // On the client side (e.g. in the browser cache).
                'client' => 30 * 24 * 60 * 60, // 30 days
        ),
        'unversioned' => array(
diff --git a/includes/Exception.php b/includes/Exception.php
deleted file mode 100644 (file)
index e91a178..0000000
+++ /dev/null
@@ -1,918 +0,0 @@
-<?php
-/**
- * Exception class and handler.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- *
- * @file
- */
-
-/**
- * @defgroup Exception Exception
- */
-
-/**
- * MediaWiki exception
- *
- * @ingroup Exception
- */
-class MWException extends Exception {
-       /**
-        * Should the exception use $wgOut to output the error?
-        *
-        * @return bool
-        */
-       function useOutputPage() {
-               return $this->useMessageCache() &&
-                       !empty( $GLOBALS['wgFullyInitialised'] ) &&
-                       !empty( $GLOBALS['wgOut'] ) &&
-                       !defined( 'MEDIAWIKI_INSTALL' );
-       }
-
-       /**
-        * Whether to log this exception in the exception debug log.
-        *
-        * @since 1.23
-        * @return boolean
-        */
-       function isLoggable() {
-               return true;
-       }
-
-       /**
-        * Can the extension use the Message class/wfMessage to get i18n-ed messages?
-        *
-        * @return bool
-        */
-       function useMessageCache() {
-               global $wgLang;
-
-               foreach ( $this->getTrace() as $frame ) {
-                       if ( isset( $frame['class'] ) && $frame['class'] === 'LocalisationCache' ) {
-                               return false;
-                       }
-               }
-
-               return $wgLang instanceof Language;
-       }
-
-       /**
-        * Run hook to allow extensions to modify the text of the exception
-        *
-        * @param string $name class name of the exception
-        * @param array $args arguments to pass to the callback functions
-        * @return string|null string to output or null if any hook has been called
-        */
-       function runHooks( $name, $args = array() ) {
-               global $wgExceptionHooks;
-
-               if ( !isset( $wgExceptionHooks ) || !is_array( $wgExceptionHooks ) ) {
-                       return null; // Just silently ignore
-               }
-
-               if ( !array_key_exists( $name, $wgExceptionHooks ) ||
-                       !is_array( $wgExceptionHooks[$name] )
-               ) {
-                       return null;
-               }
-
-               $hooks = $wgExceptionHooks[$name];
-               $callargs = array_merge( array( $this ), $args );
-
-               foreach ( $hooks as $hook ) {
-                       if (
-                               is_string( $hook ) ||
-                               ( is_array( $hook ) && count( $hook ) >= 2 && is_string( $hook[0] ) )
-                       ) {
-                               // 'function' or array( 'class', hook' )
-                               $result = call_user_func_array( $hook, $callargs );
-                       } else {
-                               $result = null;
-                       }
-
-                       if ( is_string( $result ) ) {
-                               return $result;
-                       }
-               }
-               return null;
-       }
-
-       /**
-        * Get a message from i18n
-        *
-        * @param string $key message name
-        * @param string $fallback default message if the message cache can't be
-        *                  called by the exception
-        * The function also has other parameters that are arguments for the message
-        * @return string message with arguments replaced
-        */
-       function msg( $key, $fallback /*[, params...] */ ) {
-               $args = array_slice( func_get_args(), 2 );
-
-               if ( $this->useMessageCache() ) {
-                       return wfMessage( $key, $args )->plain();
-               } else {
-                       return wfMsgReplaceArgs( $fallback, $args );
-               }
-       }
-
-       /**
-        * If $wgShowExceptionDetails is true, return a HTML message with a
-        * backtrace to the error, otherwise show a message to ask to set it to true
-        * to show that information.
-        *
-        * @return string html to output
-        */
-       function getHTML() {
-               global $wgShowExceptionDetails;
-
-               if ( $wgShowExceptionDetails ) {
-                       return '<p>' . nl2br( htmlspecialchars( MWExceptionHandler::getLogMessage( $this ) ) ) .
-                               '</p><p>Backtrace:</p><p>' . nl2br( htmlspecialchars( MWExceptionHandler::getRedactedTraceAsString( $this ) ) ) .
-                               "</p>\n";
-               } else {
-                       return "<div class=\"errorbox\">" .
-                               '[' . MWExceptionHandler::getLogId( $this ) . '] ' .
-                               gmdate( 'Y-m-d H:i:s' ) .
-                               ": Fatal exception of type " . get_class( $this ) . "</div>\n" .
-                               "<!-- Set \$wgShowExceptionDetails = true; " .
-                               "at the bottom of LocalSettings.php to show detailed " .
-                               "debugging information. -->";
-               }
-       }
-
-       /**
-        * Get the text to display when reporting the error on the command line.
-        * If $wgShowExceptionDetails is true, return a text message with a
-        * backtrace to the error.
-        *
-        * @return string
-        */
-       function getText() {
-               global $wgShowExceptionDetails;
-
-               if ( $wgShowExceptionDetails ) {
-                       return MWExceptionHandler::getLogMessage( $this ) .
-                               "\nBacktrace:\n" . MWExceptionHandler::getRedactedTraceAsString( $this ) . "\n";
-               } else {
-                       return "Set \$wgShowExceptionDetails = true; " .
-                               "in LocalSettings.php to show detailed debugging information.\n";
-               }
-       }
-
-       /**
-        * Return the title of the page when reporting this error in a HTTP response.
-        *
-        * @return string
-        */
-       function getPageTitle() {
-               global $wgSitename;
-               return $this->msg( 'pagetitle', "$1 - $wgSitename", $this->msg( 'internalerror', 'Internal error' ) );
-       }
-
-       /**
-        * Get a the ID for this error.
-        *
-        * @since 1.20
-        * @deprecated since 1.22 Use MWExceptionHandler::getLogId instead.
-        * @return string
-        */
-       function getLogId() {
-               wfDeprecated( __METHOD__, '1.22' );
-               return MWExceptionHandler::getLogId( $this );
-       }
-
-       /**
-        * Return the requested URL and point to file and line number from which the
-        * exception occurred
-        *
-        * @since 1.8
-        * @deprecated since 1.22 Use MWExceptionHandler::getLogMessage instead.
-        * @return string
-        */
-       function getLogMessage() {
-               wfDeprecated( __METHOD__, '1.22' );
-               return MWExceptionHandler::getLogMessage( $this );
-       }
-
-       /**
-        * Output the exception report using HTML.
-        */
-       function reportHTML() {
-               global $wgOut;
-               if ( $this->useOutputPage() ) {
-                       $wgOut->prepareErrorPage( $this->getPageTitle() );
-
-                       $hookResult = $this->runHooks( get_class( $this ) );
-                       if ( $hookResult ) {
-                               $wgOut->addHTML( $hookResult );
-                       } else {
-                               $wgOut->addHTML( $this->getHTML() );
-                       }
-
-                       $wgOut->output();
-               } else {
-                       header( 'Content-Type: text/html; charset=utf-8' );
-                       echo "<!DOCTYPE html>\n" .
-                               '<html><head>' .
-                               '<title>' . htmlspecialchars( $this->getPageTitle() ) . '</title>' .
-                               '<style>body { font-family: sans-serif; margin: 0; padding: 0.5em 2em; }</style>' .
-                               "</head><body>\n";
-
-                       $hookResult = $this->runHooks( get_class( $this ) . 'Raw' );
-                       if ( $hookResult ) {
-                               echo $hookResult;
-                       } else {
-                               echo $this->getHTML();
-                       }
-
-                       echo "</body></html>\n";
-               }
-       }
-
-       /**
-        * Output a report about the exception and takes care of formatting.
-        * It will be either HTML or plain text based on isCommandLine().
-        */
-       function report() {
-               global $wgMimeType;
-
-               MWExceptionHandler::logException( $this );
-
-               if ( defined( 'MW_API' ) ) {
-                       // Unhandled API exception, we can't be sure that format printer is alive
-                       header( 'MediaWiki-API-Error: internal_api_error_' . get_class( $this ) );
-                       wfHttpError( 500, 'Internal Server Error', $this->getText() );
-               } elseif ( self::isCommandLine() ) {
-                       MWExceptionHandler::printError( $this->getText() );
-               } else {
-                       header( 'HTTP/1.1 500 MediaWiki exception' );
-                       header( 'Status: 500 MediaWiki exception', true );
-                       header( "Content-Type: $wgMimeType; charset=utf-8", true );
-
-                       $this->reportHTML();
-               }
-       }
-
-       /**
-        * Check whether we are in command line mode or not to report the exception
-        * in the correct format.
-        *
-        * @return bool
-        */
-       static function isCommandLine() {
-               return !empty( $GLOBALS['wgCommandLineMode'] );
-       }
-}
-
-/**
- * Exception class which takes an HTML error message, and does not
- * produce a backtrace. Replacement for OutputPage::fatalError().
- *
- * @since 1.7
- * @ingroup Exception
- */
-class FatalError extends MWException {
-
-       /**
-        * @return string
-        */
-       function getHTML() {
-               return $this->getMessage();
-       }
-
-       /**
-        * @return string
-        */
-       function getText() {
-               return $this->getMessage();
-       }
-}
-
-/**
- * An error page which can definitely be safely rendered using the OutputPage.
- *
- * @since 1.7
- * @ingroup Exception
- */
-class ErrorPageError extends MWException {
-       public $title, $msg, $params;
-
-       /**
-        * Note: these arguments are keys into wfMessage(), not text!
-        *
-        * @param string|Message $title Message key (string) for page title, or a Message object
-        * @param string|Message $msg Message key (string) for error text, or a Message object
-        * @param array $params with parameters to wfMessage()
-        */
-       function __construct( $title, $msg, $params = array() ) {
-               $this->title = $title;
-               $this->msg = $msg;
-               $this->params = $params;
-
-               // Bug 44111: Messages in the log files should be in English and not
-               // customized by the local wiki. So get the default English version for
-               // passing to the parent constructor. Our overridden report() below
-               // makes sure that the page shown to the user is not forced to English.
-               if ( $msg instanceof Message ) {
-                       $enMsg = clone( $msg );
-               } else {
-                       $enMsg = wfMessage( $msg, $params );
-               }
-               $enMsg->inLanguage( 'en' )->useDatabase( false );
-               parent::__construct( $enMsg->text() );
-       }
-
-       function report() {
-               global $wgOut;
-
-               $wgOut->showErrorPage( $this->title, $this->msg, $this->params );
-               $wgOut->output();
-       }
-}
-
-/**
- * Show an error page on a badtitle.
- * Similar to ErrorPage, but emit a 400 HTTP error code to let mobile
- * browser it is not really a valid content.
- *
- * @since 1.19
- * @ingroup Exception
- */
-class BadTitleError extends ErrorPageError {
-       /**
-        * @param string|Message $msg A message key (default: 'badtitletext')
-        * @param array $params parameter to wfMessage()
-        */
-       function __construct( $msg = 'badtitletext', $params = array() ) {
-               parent::__construct( 'badtitle', $msg, $params );
-       }
-
-       /**
-        * Just like ErrorPageError::report() but additionally set
-        * a 400 HTTP status code (bug 33646).
-        */
-       function report() {
-               global $wgOut;
-
-               // bug 33646: a badtitle error page need to return an error code
-               // to let mobile browser now that it is not a normal page.
-               $wgOut->setStatusCode( 400 );
-               parent::report();
-       }
-
-}
-
-/**
- * Show an error when a user tries to do something they do not have the necessary
- * permissions for.
- *
- * @since 1.18
- * @ingroup Exception
- */
-class PermissionsError extends ErrorPageError {
-       public $permission, $errors;
-
-       function __construct( $permission, $errors = array() ) {
-               global $wgLang;
-
-               $this->permission = $permission;
-
-               if ( !count( $errors ) ) {
-                       $groups = array_map(
-                               array( 'User', 'makeGroupLinkWiki' ),
-                               User::getGroupsWithPermission( $this->permission )
-                       );
-
-                       if ( $groups ) {
-                               $errors[] = array( 'badaccess-groups', $wgLang->commaList( $groups ), count( $groups ) );
-                       } else {
-                               $errors[] = array( 'badaccess-group0' );
-                       }
-               }
-
-               $this->errors = $errors;
-       }
-
-       function report() {
-               global $wgOut;
-
-               $wgOut->showPermissionsErrorPage( $this->errors, $this->permission );
-               $wgOut->output();
-       }
-}
-
-/**
- * Show an error when the wiki is locked/read-only and the user tries to do
- * something that requires write access.
- *
- * @since 1.18
- * @ingroup Exception
- */
-class ReadOnlyError extends ErrorPageError {
-       public function __construct() {
-               parent::__construct(
-                       'readonly',
-                       'readonlytext',
-                       wfReadOnlyReason() ?: array()
-               );
-       }
-}
-
-/**
- * Show an error when the user hits a rate limit.
- *
- * @since 1.18
- * @ingroup Exception
- */
-class ThrottledError extends ErrorPageError {
-       public function __construct() {
-               parent::__construct(
-                       'actionthrottled',
-                       'actionthrottledtext'
-               );
-       }
-
-       public function report() {
-               global $wgOut;
-               $wgOut->setStatusCode( 503 );
-               parent::report();
-       }
-}
-
-/**
- * Show an error when the user tries to do something whilst blocked.
- *
- * @since 1.18
- * @ingroup Exception
- */
-class UserBlockedError extends ErrorPageError {
-       public function __construct( Block $block ) {
-               // @todo FIXME: Implement a more proper way to get context here.
-               $params = $block->getPermissionsError( RequestContext::getMain() );
-               parent::__construct( 'blockedtitle', array_shift( $params ), $params );
-       }
-}
-
-/**
- * Shows a generic "user is not logged in" error page.
- *
- * This is essentially an ErrorPageError exception which by default uses the
- * 'exception-nologin' as a title and 'exception-nologin-text' for the message.
- * @see bug 37627
- * @since 1.20
- *
- * @par Example:
- * @code
- * if( $user->isAnon() ) {
- *     throw new UserNotLoggedIn();
- * }
- * @endcode
- *
- * Note the parameter order differs from ErrorPageError, this allows you to
- * simply specify a reason without overriding the default title.
- *
- * @par Example:
- * @code
- * if( $user->isAnon() ) {
- *     throw new UserNotLoggedIn( 'action-require-loggedin' );
- * }
- * @endcode
- *
- * @ingroup Exception
- */
-class UserNotLoggedIn extends ErrorPageError {
-
-       /**
-        * @param string $reasonMsg A message key containing the reason for the error.
-        *        Optional, default: 'exception-nologin-text'
-        * @param string $titleMsg A message key to set the page title.
-        *        Optional, default: 'exception-nologin'
-        * @param array $params Parameters to wfMessage().
-        *        Optional, default: array()
-        */
-       public function __construct(
-               $reasonMsg = 'exception-nologin-text',
-               $titleMsg = 'exception-nologin',
-               $params = array()
-       ) {
-               parent::__construct( $titleMsg, $reasonMsg, $params );
-       }
-}
-
-/**
- * Show an error that looks like an HTTP server error.
- * Replacement for wfHttpError().
- *
- * @since 1.19
- * @ingroup Exception
- */
-class HttpError extends MWException {
-       private $httpCode, $header, $content;
-
-       /**
-        * Constructor
-        *
-        * @param $httpCode Integer: HTTP status code to send to the client
-        * @param string|Message $content content of the message
-        * @param string|Message $header content of the header (\<title\> and \<h1\>)
-        */
-       public function __construct( $httpCode, $content, $header = null ) {
-               parent::__construct( $content );
-               $this->httpCode = (int)$httpCode;
-               $this->header = $header;
-               $this->content = $content;
-       }
-
-       /**
-        * Returns the HTTP status code supplied to the constructor.
-        *
-        * @return int
-        */
-       public function getStatusCode() {
-               return $this->httpCode;
-       }
-
-       /**
-        * Report the HTTP error.
-        * Sends the appropriate HTTP status code and outputs an
-        * HTML page with an error message.
-        */
-       public function report() {
-               $httpMessage = HttpStatus::getMessage( $this->httpCode );
-
-               header( "Status: {$this->httpCode} {$httpMessage}", true, $this->httpCode );
-               header( 'Content-type: text/html; charset=utf-8' );
-
-               print $this->getHTML();
-       }
-
-       /**
-        * Returns HTML for reporting the HTTP error.
-        * This will be a minimal but complete HTML document.
-        *
-        * @return string HTML
-        */
-       public function getHTML() {
-               if ( $this->header === null ) {
-                       $header = HttpStatus::getMessage( $this->httpCode );
-               } elseif ( $this->header instanceof Message ) {
-                       $header = $this->header->escaped();
-               } else {
-                       $header = htmlspecialchars( $this->header );
-               }
-
-               if ( $this->content instanceof Message ) {
-                       $content = $this->content->escaped();
-               } else {
-                       $content = htmlspecialchars( $this->content );
-               }
-
-               return "<!DOCTYPE html>\n" .
-                       "<html><head><title>$header</title></head>\n" .
-                       "<body><h1>$header</h1><p>$content</p></body></html>\n";
-       }
-}
-
-/**
- * Handler class for MWExceptions
- * @ingroup Exception
- */
-class MWExceptionHandler {
-       /**
-        * Install an exception handler for MediaWiki exception types.
-        */
-       public static function installHandler() {
-               set_exception_handler( array( 'MWExceptionHandler', 'handle' ) );
-       }
-
-       /**
-        * Report an exception to the user
-        */
-       protected static function report( Exception $e ) {
-               global $wgShowExceptionDetails;
-
-               $cmdLine = MWException::isCommandLine();
-
-               if ( $e instanceof MWException ) {
-                       try {
-                               // Try and show the exception prettily, with the normal skin infrastructure
-                               $e->report();
-                       } catch ( Exception $e2 ) {
-                               // Exception occurred from within exception handler
-                               // Show a simpler error message for the original exception,
-                               // don't try to invoke report()
-                               $message = "MediaWiki internal error.\n\n";
-
-                               if ( $wgShowExceptionDetails ) {
-                                       $message .= 'Original exception: ' . self::getLogMessage( $e ) .
-                                               "\nBacktrace:\n" . self::getRedactedTraceAsString( $e ) .
-                                               "\n\nException caught inside exception handler: " . self::getLogMessage( $e2 ) .
-                                               "\nBacktrace:\n" . self::getRedactedTraceAsString( $e2 );
-                               } else {
-                                       $message .= "Exception caught inside exception handler.\n\n" .
-                                               "Set \$wgShowExceptionDetails = true; at the bottom of LocalSettings.php " .
-                                               "to show detailed debugging information.";
-                               }
-
-                               $message .= "\n";
-
-                               if ( $cmdLine ) {
-                                       self::printError( $message );
-                               } else {
-                                       echo nl2br( htmlspecialchars( $message ) ) . "\n";
-                               }
-                       }
-               } else {
-                       $message = "Unexpected non-MediaWiki exception encountered, of type \"" .
-                               get_class( $e ) . "\"";
-
-                       if ( $wgShowExceptionDetails ) {
-                               $message .= "\n" . MWExceptionHandler::getLogMessage( $e ) . "\nBacktrace:\n" .
-                                       self::getRedactedTraceAsString( $e ) . "\n";
-                       }
-
-                       if ( $cmdLine ) {
-                               self::printError( $message );
-                       } else {
-                               echo nl2br( htmlspecialchars( $message ) ) . "\n";
-                       }
-               }
-       }
-
-       /**
-        * Print a message, if possible to STDERR.
-        * Use this in command line mode only (see isCommandLine)
-        *
-        * @param string $message Failure text
-        */
-       public static function printError( $message ) {
-               # NOTE: STDERR may not be available, especially if php-cgi is used from the
-               # command line (bug #15602). Try to produce meaningful output anyway. Using
-               # echo may corrupt output to STDOUT though.
-               if ( defined( 'STDERR' ) ) {
-                       fwrite( STDERR, $message );
-               } else {
-                       echo $message;
-               }
-       }
-
-       /**
-        * Exception handler which simulates the appropriate catch() handling:
-        *
-        *   try {
-        *       ...
-        *   } catch ( MWException $e ) {
-        *       $e->report();
-        *   } catch ( Exception $e ) {
-        *       echo $e->__toString();
-        *   }
-        */
-       public static function handle( $e ) {
-               global $wgFullyInitialised;
-
-               self::report( $e );
-
-               // Final cleanup
-               if ( $wgFullyInitialised ) {
-                       try {
-                               // uses $wgRequest, hence the $wgFullyInitialised condition
-                               wfLogProfilingData();
-                       } catch ( Exception $e ) {
-                       }
-               }
-
-               // Exit value should be nonzero for the benefit of shell jobs
-               exit( 1 );
-       }
-
-       /**
-        * Generate a string representation of an exception's stack trace
-        *
-        * Like Exception::getTraceAsString, but replaces argument values with
-        * argument type or class name.
-        *
-        * @param Exception $e
-        * @return string
-        */
-       public static function getRedactedTraceAsString( Exception $e ) {
-               $text = '';
-
-               foreach ( self::getRedactedTrace( $e ) as $level => $frame ) {
-                       if ( isset( $frame['file'] ) && isset( $frame['line'] ) ) {
-                               $text .= "#{$level} {$frame['file']}({$frame['line']}): ";
-                       } else {
-                               // 'file' and 'line' are unset for calls via call_user_func (bug 55634)
-                               // This matches behaviour of Exception::getTraceAsString to instead
-                               // display "[internal function]".
-                               $text .= "#{$level} [internal function]: ";
-                       }
-
-                       if ( isset( $frame['class'] ) ) {
-                               $text .= $frame['class'] . $frame['type'] . $frame['function'];
-                       } else {
-                               $text .= $frame['function'];
-                       }
-
-                       if ( isset( $frame['args'] ) ) {
-                               $text .= '(' . implode( ', ', $frame['args'] ) . ")\n";
-                       } else {
-                               $text .= "()\n";
-                       }
-               }
-
-               $level = $level + 1;
-               $text .= "#{$level} {main}";
-
-               return $text;
-       }
-
-       /**
-        * Return a copy of an exception's backtrace as an array.
-        *
-        * Like Exception::getTrace, but replaces each element in each frame's
-        * argument array with the name of its class (if the element is an object)
-        * or its type (if the element is a PHP primitive).
-        *
-        * @since 1.22
-        * @param Exception $e
-        * @return array
-        */
-       public static function getRedactedTrace( Exception $e ) {
-               return array_map( function ( $frame ) {
-                       if ( isset( $frame['args'] ) ) {
-                               $frame['args'] = array_map( function ( $arg ) {
-                                       return is_object( $arg ) ? get_class( $arg ) : gettype( $arg );
-                               }, $frame['args'] );
-                       }
-                       return $frame;
-               }, $e->getTrace() );
-       }
-
-       /**
-        * Get the ID for this error.
-        *
-        * The ID is saved so that one can match the one output to the user (when
-        * $wgShowExceptionDetails is set to false), to the entry in the debug log.
-        *
-        * @since 1.22
-        * @param Exception $e
-        * @return string
-        */
-       public static function getLogId( Exception $e ) {
-               if ( !isset( $e->_mwLogId ) ) {
-                       $e->_mwLogId = wfRandomString( 8 );
-               }
-               return $e->_mwLogId;
-       }
-
-       /**
-        * If the exception occurred in the course of responding to a request,
-        * returns the requested URL. Otherwise, returns false.
-        *
-        * @since 1.23
-        * @return string|bool
-        */
-       public static function getURL() {
-               global $wgRequest;
-               if ( !isset( $wgRequest ) || $wgRequest instanceof FauxRequest ) {
-                       return false;
-               }
-               return $wgRequest->getRequestURL();
-       }
-
-       /**
-        * Return the requested URL and point to file and line number from which the
-        * exception occurred.
-        *
-        * @since 1.22
-        * @param Exception $e
-        * @return string
-        */
-       public static function getLogMessage( Exception $e ) {
-               $id = self::getLogId( $e );
-               $file = $e->getFile();
-               $line = $e->getLine();
-               $message = $e->getMessage();
-               $url = self::getURL() ?: '[no req]';
-
-               return "[$id] $url   Exception from line $line of $file: $message";
-       }
-
-       /**
-        * Serialize an Exception object to JSON.
-        *
-        * The JSON object will have keys 'id', 'file', 'line', 'message', and
-        * 'url'. These keys map to string values, with the exception of 'line',
-        * which is a number, and 'url', which may be either a string URL or or
-        * null if the exception did not occur in the context of serving a web
-        * request.
-        *
-        * If $wgLogExceptionBacktrace is true, it will also have a 'backtrace'
-        * key, mapped to the array return value of Exception::getTrace, but with
-        * each element in each frame's "args" array (if set) replaced with the
-        * argument's class name (if the argument is an object) or type name (if
-        * the argument is a PHP primitive).
-        *
-        * @par Sample JSON record ($wgLogExceptionBacktrace = false):
-        * @code
-        *  {
-        *    "id": "c41fb419",
-        *    "file": "/var/www/mediawiki/includes/cache/MessageCache.php",
-        *    "line": 704,
-        *    "message": "Non-string key given",
-        *    "url": "/wiki/Main_Page"
-        *  }
-        * @endcode
-        *
-        * @par Sample JSON record ($wgLogExceptionBacktrace = true):
-        * @code
-        *  {
-        *    "id": "dc457938",
-        *    "file": "/vagrant/mediawiki/includes/cache/MessageCache.php",
-        *    "line": 704,
-        *    "message": "Non-string key given",
-        *    "url": "/wiki/Main_Page",
-        *    "backtrace": [{
-        *      "file": "/vagrant/mediawiki/extensions/VisualEditor/VisualEditor.hooks.php",
-        *      "line": 80,
-        *      "function": "get",
-        *      "class": "MessageCache",
-        *      "type": "->",
-        *      "args": ["array"]
-        *    }]
-        *  }
-        * @endcode
-        *
-        * @since 1.23
-        * @param Exception $e
-        * @param bool $pretty Add non-significant whitespace to improve readability (default: false).
-        * @param int $escaping Bitfield consisting of FormatJson::.*_OK class constants.
-        * @return string|bool: JSON string if successful; false upon failure
-        */
-       public static function jsonSerializeException( Exception $e, $pretty = false, $escaping = 0 ) {
-               global $wgLogExceptionBacktrace;
-
-               $exceptionData = array(
-                       'id' => self::getLogId( $e ),
-                       'file' => $e->getFile(),
-                       'line' => $e->getLine(),
-                       'message' => $e->getMessage(),
-               );
-
-               // Because MediaWiki is first and foremost a web application, we set a
-               // 'url' key unconditionally, but set it to null if the exception does
-               // not occur in the context of a web request, as a way of making that
-               // fact visible and explicit.
-               $exceptionData['url'] = self::getURL() ?: null;
-
-               if ( $wgLogExceptionBacktrace ) {
-                       // Argument values may not be serializable, so redact them.
-                       $exceptionData['backtrace'] = self::getRedactedTrace( $e );
-               }
-
-               return FormatJson::encode( $exceptionData, $pretty, $escaping );
-       }
-
-       /**
-        * Log an exception to the exception log (if enabled).
-        *
-        * This method must not assume the exception is an MWException,
-        * it is also used to handle PHP errors or errors from other libraries.
-        *
-        * @since 1.22
-        * @param Exception $e
-        */
-       public static function logException( Exception $e ) {
-               global $wgLogExceptionBacktrace;
-
-               if ( !( $e instanceof MWException ) || $e->isLoggable() ) {
-                       $log = self::getLogMessage( $e );
-                       if ( $wgLogExceptionBacktrace ) {
-                               wfDebugLog( 'exception', $log . "\n" . $e->getTraceAsString() );
-                       } else {
-                               wfDebugLog( 'exception', $log );
-                       }
-
-                       $json = self::jsonSerializeException( $e, false, FormatJson::ALL_OK );
-                       if ( $json !== false ) {
-                               wfDebugLog( 'exception-json', $json, 'private' );
-                       }
-               }
-
-       }
-
-}
index 6e2b5fa..7169b2e 100644 (file)
@@ -221,6 +221,8 @@ class SiteStats {
        /**
         * Is the provided row of site stats sane, or should it be regenerated?
         *
+        * Checks only fields which are filled by SiteStatsInit::refresh.
+        *
         * @param $row
         *
         * @return bool
@@ -229,7 +231,6 @@ class SiteStats {
                if ( $row === false
                        || $row->ss_total_pages < $row->ss_good_articles
                        || $row->ss_total_edits < $row->ss_total_pages
-                       || $row->ss_users < $row->ss_active_users
                ) {
                        return false;
                }
index e1d00d3..fe80929 100644 (file)
@@ -649,7 +649,9 @@ class EmailNotification {
                                                && $watchingUser->isEmailConfirmed()
                                                && $watchingUser->getID() != $userTalkId
                                        ) {
-                                               $this->compose( $watchingUser );
+                                               if ( wfRunHooks( 'SendWatchlistEmailNotification', array( $watchingUser, $title, $this ) ) ) {
+                                                       $this->compose( $watchingUser );
+                                               }
                                        }
                                }
                        }
index c054bc1..49ab591 100644 (file)
@@ -54,6 +54,7 @@ class ApiQuery extends ApiBase {
                'iwlinks' => 'ApiQueryIWLinks',
                'langlinks' => 'ApiQueryLangLinks',
                'pageprops' => 'ApiQueryPageProps',
+               'redirects' => 'ApiQueryRedirects',
                'revisions' => 'ApiQueryRevisions',
                'stashimageinfo' => 'ApiQueryStashImageInfo',
                'templates' => 'ApiQueryLinks',
@@ -69,6 +70,7 @@ class ApiQuery extends ApiBase {
                'allimages' => 'ApiQueryAllImages',
                'alllinks' => 'ApiQueryAllLinks',
                'allpages' => 'ApiQueryAllPages',
+               'allredirects' => 'ApiQueryAllLinks',
                'alltransclusions' => 'ApiQueryAllLinks',
                'allusers' => 'ApiQueryAllUsers',
                'backlinks' => 'ApiQueryBacklinks',
index bccc25f..7b5123d 100644 (file)
  */
 class ApiQueryAllLinks extends ApiQueryGeneratorBase {
 
+       private $table, $tablePrefix, $indexTag,
+               $description, $descriptionWhat, $descriptionTargets, $descriptionLinking;
+       private $fieldTitle = 'title';
+       private $dfltNamespace = NS_MAIN;
+       private $hasNamespace = true;
+       private $useIndex = null;
+       private $props = array(), $propHelp = array();
+
        public function __construct( $query, $moduleName ) {
                switch ( $moduleName ) {
                        case 'alllinks':
                                $prefix = 'al';
                                $this->table = 'pagelinks';
                                $this->tablePrefix = 'pl_';
-                               $this->fieldTitle = 'title';
-                               $this->dfltNamespace = NS_MAIN;
-                               $this->hasNamespace = true;
+                               $this->useIndex = 'pl_namespace';
                                $this->indexTag = 'l';
                                $this->description = 'Enumerate all links that point to a given namespace';
                                $this->descriptionWhat = 'link';
@@ -50,9 +56,8 @@ class ApiQueryAllLinks extends ApiQueryGeneratorBase {
                                $prefix = 'at';
                                $this->table = 'templatelinks';
                                $this->tablePrefix = 'tl_';
-                               $this->fieldTitle = 'title';
                                $this->dfltNamespace = NS_TEMPLATE;
-                               $this->hasNamespace = true;
+                               $this->useIndex = 'tl_namespace';
                                $this->indexTag = 't';
                                $this->description =
                                        'List all transclusions (pages embedded using {{x}}), including non-existing';
@@ -73,6 +78,24 @@ class ApiQueryAllLinks extends ApiQueryGeneratorBase {
                                $this->descriptionTargets = 'file titles';
                                $this->descriptionLinking = 'using';
                                break;
+                       case 'allredirects':
+                               $prefix = 'ar';
+                               $this->table = 'redirect';
+                               $this->tablePrefix = 'rd_';
+                               $this->indexTag = 'r';
+                               $this->description = 'List all redirects to a namespace';
+                               $this->descriptionWhat = 'redirect';
+                               $this->descriptionTargets = 'target pages';
+                               $this->descriptionLinking = 'redirecting';
+                               $this->props = array(
+                                       'fragment' => 'rd_fragment',
+                                       'interwiki' => 'rd_interwiki',
+                               );
+                               $this->propHelp = array(
+                                       ' fragment - Adds the fragment from the redirect, if any',
+                                       ' interwiki - Adds the interwiki prefix from the redirect, if any',
+                               );
+                               break;
                        default:
                                ApiBase::dieDebug( __METHOD__, 'Unknown module name' );
                }
@@ -112,10 +135,11 @@ class ApiQueryAllLinks extends ApiQueryGeneratorBase {
                }
 
                if ( $params['unique'] ) {
-                       if ( $fld_ids ) {
+                       $matches = array_intersect_key( $prop, $this->props + array( 'ids' => 1 ) );
+                       if ( $matches ) {
+                               $p = $this->getModulePrefix();
                                $this->dieUsage(
-                                       "{$this->getModuleName()} cannot return corresponding page " .
-                                               "ids in unique {$this->descriptionWhat}s mode",
+                                       "Cannot use {$p}prop=" . join( '|', array_keys( $matches ) ) . " with {$p}unique",
                                        'params'
                                );
                        }
@@ -161,9 +185,12 @@ class ApiQueryAllLinks extends ApiQueryGeneratorBase {
 
                $this->addFields( array( 'pl_title' => $pfx . $fieldTitle ) );
                $this->addFieldsIf( array( 'pl_from' => $pfx . 'from' ), !$params['unique'] );
+               foreach ( $this->props as $name => $field ) {
+                       $this->addFieldsIf( $field, isset( $prop[$name] ) );
+               }
 
-               if ( $this->hasNamespace ) {
-                       $this->addOption( 'USE INDEX', $pfx . 'namespace' );
+               if ( $this->useIndex ) {
+                       $this->addOption( 'USE INDEX', $this->useIndex );
                }
                $limit = $params['limit'];
                $this->addOption( 'LIMIT', $limit + 1 );
@@ -203,6 +230,11 @@ class ApiQueryAllLinks extends ApiQueryGeneratorBase {
                                        $title = Title::makeTitle( $namespace, $row->pl_title );
                                        ApiQueryBase::addTitleInfo( $vals, $title );
                                }
+                               foreach ( $this->props as $name => $field ) {
+                                       if ( isset( $prop[$name] ) && $row->$field !== null && $row->$field !== '' ) {
+                                               $vals[$name] = $row->$field;
+                                       }
+                               }
                                $fit = $result->addValue( array( 'query', $this->getModuleName() ), null, $vals );
                                if ( !$fit ) {
                                        if ( $params['unique'] ) {
@@ -238,10 +270,9 @@ class ApiQueryAllLinks extends ApiQueryGeneratorBase {
                        'prop' => array(
                                ApiBase::PARAM_ISMULTI => true,
                                ApiBase::PARAM_DFLT => 'title',
-                               ApiBase::PARAM_TYPE => array(
-                                       'ids',
-                                       'title'
-                               )
+                               ApiBase::PARAM_TYPE => array_merge(
+                                       array( 'ids', 'title' ), array_keys( $this->props )
+                               ),
                        ),
                        'namespace' => array(
                                ApiBase::PARAM_DFLT => $this->dfltNamespace,
@@ -279,19 +310,23 @@ class ApiQueryAllLinks extends ApiQueryGeneratorBase {
                        'to' => "The title of the $what to stop enumerating at",
                        'prefix' => "Search for all $targets that begin with this value",
                        'unique' => array(
-                               "Only show distinct $targets. Cannot be used with {$p}prop=ids.",
+                               "Only show distinct $targets. Cannot be used with {$p}prop=" .
+                                       join( '|', array_keys( array( 'ids' => 1 ) + $this->props ) ) . '.',
                                'When used as a generator, yields target pages instead of source pages.',
                        ),
                        'prop' => array(
                                'What pieces of information to include',
-                               " ids    - Adds the pageid of the $linking page (Cannot be used with {$p}unique)",
-                               " title  - Adds the title of the $what",
+                               " ids      - Adds the pageid of the $linking page (Cannot be used with {$p}unique)",
+                               " title    - Adds the title of the $what",
                        ),
                        'namespace' => 'The namespace to enumerate',
                        'limit' => 'How many total items to return',
                        'continue' => 'When more results are available, use this to continue',
                        'dir' => 'The direction in which to list',
                );
+               foreach ( $this->propHelp as $help ) {
+                       $paramDescription['prop'][] = "$help (Cannot be used with {$p}unique)";
+               }
                if ( !$this->hasNamespace ) {
                        unset( $paramDescription['namespace'] );
                }
index 1578775..848c6ce 100644 (file)
@@ -65,7 +65,6 @@ class ApiQueryLogEvents extends ApiQueryBase {
 
                // Order is significant here
                $this->addTables( array( 'logging', 'user', 'page' ) );
-               $this->addOption( 'STRAIGHT_JOIN' );
                $this->addJoinConds( array(
                        'user' => array( 'LEFT JOIN',
                                'user_id=log_user' ),
diff --git a/includes/api/ApiQueryRedirects.php b/includes/api/ApiQueryRedirects.php
new file mode 100644 (file)
index 0000000..c046109
--- /dev/null
@@ -0,0 +1,267 @@
+<?php
+/**
+ * API module to return redirects to a page
+ *
+ * Created on Dec 30, 2013
+ *
+ * Copyright © 2013 Brad Jorsch <bjorsch@wikimedia.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @since 1.23
+ */
+
+/**
+ * This query lists redirects to the given pages.
+ *
+ * @ingroup API
+ */
+class ApiQueryRedirects extends ApiQueryGeneratorBase {
+
+       public function __construct( $query, $moduleName ) {
+               parent::__construct( $query, $moduleName, 'rd' );
+       }
+
+       public function execute() {
+               $this->run();
+       }
+
+       public function executeGenerator( $resultPageSet ) {
+               $this->run( $resultPageSet );
+       }
+
+       /**
+        * @param $resultPageSet ApiPageSet
+        */
+       private function run( ApiPageSet $resultPageSet = null ) {
+               $db = $this->getDB();
+               $params = $this->extractRequestParams();
+               $emptyString = $db->addQuotes( '' );
+
+               $pageSet = $this->getPageSet();
+               $titles = $pageSet->getGoodTitles() + $pageSet->getMissingTitles();
+
+               if ( !is_null( $params['continue'] ) ) {
+                       $cont = explode( '|', $params['continue'] );
+                       $this->dieContinueUsageIf( count( $cont ) != 3 );
+                       $rd_namespace = (int)$cont[0];
+                       $this->dieContinueUsageIf( $rd_namespace != $cont[0] );
+                       $rd_title = $db->addQuotes( $cont[1] );
+                       $rd_from = (int)$cont[2];
+                       $this->dieContinueUsageIf( $rd_from != $cont[2] );
+                       $this->addWhere(
+                               "rd_namespace > $rd_namespace OR " .
+                               "(rd_namespace = $rd_namespace AND " .
+                               "(rd_title > $rd_title OR " .
+                               "(rd_title = $rd_title AND " .
+                               "rd_from >= $rd_from)))"
+                       );
+
+                       // Remove titles that we're past already
+                       $titles = array_filter( $titles, function ( $t ) use ( $rd_namespace, $rd_title ) {
+                               $ns = $t->getNamespace();
+                               return ( $ns > $rd_namespace ||
+                                       $ns == $rd_namespace && $t->getDBKey() >= $rd_title
+                               );
+                       } );
+               }
+
+               if ( !$titles ) {
+                       return; // nothing to do
+               }
+
+               $this->addTables( array( 'redirect', 'page' ) );
+               $this->addFields( array(
+                       'rd_from',
+                       'rd_namespace',
+                       'rd_title',
+               ) );
+
+               if ( is_null( $resultPageSet ) ) {
+                       $prop = array_flip( $params['prop'] );
+                       $fld_pageid = isset( $prop['pageid'] );
+                       $fld_title = isset( $prop['title'] );
+                       $fld_fragment = isset( $prop['fragment'] );
+
+                       $this->addFieldsIf( 'rd_fragment', $fld_fragment );
+                       $this->addFieldsIf( array( 'page_namespace', 'page_title' ), $fld_title );
+               } else {
+                       $this->addFields( array( 'page_namespace', 'page_title' ) );
+               }
+
+               $lb = new LinkBatch( $titles );
+               $this->addWhere( array(
+                       'rd_from = page_id',
+                       "rd_interwiki = $emptyString OR rd_interwiki IS NULL",
+                       $lb->constructSet( 'rd', $db ),
+               ) );
+
+               if ( $params['show'] !== null ) {
+                       $show = array_flip( $params['show'] );
+                       if ( isset( $show['fragment'] ) && isset( $show['!fragment'] ) ) {
+                               $this->dieUsageMsg( 'show' );
+                       }
+                       $this->addWhereIf( "rd_fragment != $emptyString", isset( $show['fragment'] ) );
+                       $this->addWhereIf( "rd_fragment = $emptyString OR rd_fragment IS NULL", isset( $show['!fragment'] ) );
+               }
+
+               $map = $pageSet->getAllTitlesByNamespace();
+
+               // Why, MySQL? Why do you do this to us?
+               $sortby = array();
+               if ( count( $map ) > 1 ) {
+                       $sortby[] = 'rd_namespace';
+               }
+               $theTitle = null;
+               foreach ( $map as $nsTitles ) {
+                       reset( $nsTitles );
+                       $key = key( $nsTitles );
+                       if ( $theTitle === null ) {
+                               $theTitle = $key;
+                       }
+                       if ( count( $nsTitles ) > 1 || $key !== $theTitle ) {
+                               $sortby[] = 'rd_title';
+                               break;
+                       }
+               }
+               $sortby[] = 'rd_from';
+               $this->addOption( 'ORDER BY', $sortby );
+
+               $this->addOption( 'LIMIT', $params['limit'] + 1 );
+
+               $res = $this->select( __METHOD__ );
+
+               if ( is_null( $resultPageSet ) ) {
+                       $count = 0;
+                       foreach ( $res as $row ) {
+                               if ( ++$count > $params['limit'] ) {
+                                       // We've reached the one extra which shows that
+                                       // there are additional pages to be had. Stop here...
+                                       $this->setContinueEnumParameter( 'continue',
+                                               "$row->rd_namespace|$row->rd_title|$row->rd_from"
+                                       );
+                                       break;
+                               }
+
+                               # Get the ID of the current page
+                               $id = $map[$row->rd_namespace][$row->rd_title];
+
+                               $vals = array();
+                               if ( $fld_pageid ) {
+                                       $vals['pageid'] = $row->rd_from;
+                               }
+                               if ( $fld_title ) {
+                                       ApiQueryBase::addTitleInfo( $vals,
+                                               Title::makeTitle( $row->page_namespace, $row->page_title )
+                                       );
+                               }
+                               if ( $fld_fragment && $row->rd_fragment !== null && $row->rd_fragment !== '' ) {
+                                       $vals['fragment'] = $row->rd_fragment;
+                               }
+                               $fit = $this->addPageSubItem( $id, $vals );
+                               if ( !$fit ) {
+                                       $this->setContinueEnumParameter( 'continue',
+                                               "$row->rd_namespace|$row->rd_title|$row->rd_from"
+                                       );
+                                       break;
+                               }
+                       }
+               } else {
+                       $titles = array();
+                       $count = 0;
+                       foreach ( $res as $row ) {
+                               if ( ++$count > $params['limit'] ) {
+                                       // We've reached the one extra which shows that
+                                       // there are additional pages to be had. Stop here...
+                                       $this->setContinueEnumParameter( 'continue',
+                                               "$row->rd_namespace|$row->rd_title|$row->rd_from"
+                                       );
+                                       break;
+                               }
+                               $titles[] = Title::makeTitle( $row->page_namespace, $row->page_title );
+                       }
+                       $resultPageSet->populateFromTitles( $titles );
+               }
+       }
+
+       public function getCacheMode( $params ) {
+               return 'public';
+       }
+
+       public function getAllowedParams() {
+               return array(
+                       'prop' => array(
+                               ApiBase::PARAM_TYPE => array(
+                                       'pageid',
+                                       'title',
+                                       'fragment',
+                               ),
+                               ApiBase::PARAM_ISMULTI => true,
+                               ApiBase::PARAM_DFLT => 'pageid|title',
+                       ),
+                       'show' => array(
+                               ApiBase::PARAM_TYPE => array(
+                                       'fragment', '!fragment',
+                               ),
+                               ApiBase::PARAM_ISMULTI => true,
+                       ),
+                       'limit' => array(
+                               ApiBase::PARAM_DFLT => 10,
+                               ApiBase::PARAM_TYPE => 'limit',
+                               ApiBase::PARAM_MIN => 1,
+                               ApiBase::PARAM_MAX => ApiBase::LIMIT_BIG1,
+                               ApiBase::PARAM_MAX2 => ApiBase::LIMIT_BIG2
+                       ),
+                       'continue' => null,
+               );
+       }
+
+       public function getParamDescription() {
+               return array(
+                       'prop' => array(
+                               'Which properties to get:',
+                               ' pageid   - Page id of each redirect',
+                               ' title    - Title of each redirect',
+                               ' fragment - Fragment of each redirect, if any',
+                       ),
+                       'show' => array(
+                               'Show only items that meet this criteria.',
+                               ' fragment  - Only show redirects with a fragment',
+                               ' !fragment - Only show redirects without a fragment',
+                       ),
+                       'limit' => 'How many redirects to return',
+                       'continue' => 'When more results are available, use this to continue',
+               );
+       }
+
+       public function getDescription() {
+               return 'Returns all redirects to the given page(s)';
+       }
+
+       public function getExamples() {
+               return array(
+                       'api.php?action=query&prop=redirects&titles=Main%20Page'
+                               => 'Get a list of redirects to the [[Main Page]]',
+                       'api.php?action=query&generator=redirects&titles=Main%20Page&prop=info'
+                               => 'Get information about all redirects to the [[Main Page]]',
+               );
+       }
+
+       public function getHelpUrls() {
+               return 'https://www.mediawiki.org/wiki/API:Properties#redirects_.2F_rd';
+       }
+}
index f8751a0..cad7caf 100644 (file)
@@ -642,8 +642,12 @@ class DatabaseOracle extends DatabaseBase {
                        } else {
                                $first = false;
                        }
-
-                       $sql .= $this->fieldBindStatement( $table, $col, $val );
+                       if ( $this->isQuotedIdentifier( $val ) ) {
+                               $sql .= $this->removeIdentifierQuotes( $val );
+                               unset( $row[$col] );
+                       } else {
+                               $sql .= $this->fieldBindStatement( $table, $col, $val );
+                       }
                }
                $sql .= ')';
 
@@ -774,6 +778,30 @@ class DatabaseOracle extends DatabaseBase {
                return $retval;
        }
 
+       public function upsert( $table, array $rows, array $uniqueIndexes, array $set,
+               $fname = __METHOD__
+       ) {
+               if ( !count( $rows ) ) {
+                       return true; // nothing to do
+               }
+
+               if ( !is_array( reset( $rows ) ) ) {
+                       $rows = array( $rows );
+               }
+
+               $sequenceData = $this->getSequenceData( $table );
+               if ( $sequenceData !== false ) {
+                       // add sequence column to each list of columns, when not set
+                       foreach ( $rows as &$row ) {
+                               if ( !isset( $row[$sequenceData['column']] ) ) {
+                                       $row[$sequenceData['column']] = $this->addIdentifierQuotes('GET_SEQUENCE_VALUE(\'' . $sequenceData['sequence'] . '\')');
+                               }
+                       }
+               }
+
+               return parent::upsert( $table, $rows, $uniqueIndexes, $set, $fname );
+       }
+
        function tableName( $name, $format = 'quoted' ) {
                /*
                Replace reserved words with better ones
diff --git a/includes/exception/BadTitleError.php b/includes/exception/BadTitleError.php
new file mode 100644 (file)
index 0000000..2da3775
--- /dev/null
@@ -0,0 +1,51 @@
+<?php
+/**
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ */
+
+/**
+ * Show an error page on a badtitle.
+ * Similar to ErrorPage, but emit a 400 HTTP error code to let mobile
+ * browser it is not really a valid content.
+ *
+ * @since 1.19
+ * @ingroup Exception
+ */
+class BadTitleError extends ErrorPageError {
+       /**
+        * @param string|Message $msg A message key (default: 'badtitletext')
+        * @param array $params parameter to wfMessage()
+        */
+       public function __construct( $msg = 'badtitletext', $params = array() ) {
+               parent::__construct( 'badtitle', $msg, $params );
+       }
+
+       /**
+        * Just like ErrorPageError::report() but additionally set
+        * a 400 HTTP status code (bug 33646).
+        */
+       public function report() {
+               global $wgOut;
+
+               // bug 33646: a badtitle error page need to return an error code
+               // to let mobile browser now that it is not a normal page.
+               $wgOut->setStatusCode( 400 );
+               parent::report();
+       }
+
+}
diff --git a/includes/exception/ErrorPageError.php b/includes/exception/ErrorPageError.php
new file mode 100644 (file)
index 0000000..7cd198b
--- /dev/null
@@ -0,0 +1,61 @@
+<?php
+/**
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ */
+
+/**
+ * An error page which can definitely be safely rendered using the OutputPage.
+ *
+ * @since 1.7
+ * @ingroup Exception
+ */
+class ErrorPageError extends MWException {
+       public $title, $msg, $params;
+
+       /**
+        * Note: these arguments are keys into wfMessage(), not text!
+        *
+        * @param string|Message $title Message key (string) for page title, or a Message object
+        * @param string|Message $msg Message key (string) for error text, or a Message object
+        * @param array $params with parameters to wfMessage()
+        */
+       public function __construct( $title, $msg, $params = array() ) {
+               $this->title = $title;
+               $this->msg = $msg;
+               $this->params = $params;
+
+               // Bug 44111: Messages in the log files should be in English and not
+               // customized by the local wiki. So get the default English version for
+               // passing to the parent constructor. Our overridden report() below
+               // makes sure that the page shown to the user is not forced to English.
+               if ( $msg instanceof Message ) {
+                       $enMsg = clone( $msg );
+               } else {
+                       $enMsg = wfMessage( $msg, $params );
+               }
+               $enMsg->inLanguage( 'en' )->useDatabase( false );
+               parent::__construct( $enMsg->text() );
+       }
+
+       public function report() {
+               global $wgOut;
+
+               $wgOut->showErrorPage( $this->title, $this->msg, $this->params );
+               $wgOut->output();
+       }
+}
diff --git a/includes/exception/FatalError.php b/includes/exception/FatalError.php
new file mode 100644 (file)
index 0000000..a7d672f
--- /dev/null
@@ -0,0 +1,43 @@
+<?php
+/**
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ */
+
+/**
+ * Exception class which takes an HTML error message, and does not
+ * produce a backtrace. Replacement for OutputPage::fatalError().
+ *
+ * @since 1.7
+ * @ingroup Exception
+ */
+class FatalError extends MWException {
+
+       /**
+        * @return string
+        */
+       public function getHTML() {
+               return $this->getMessage();
+       }
+
+       /**
+        * @return string
+        */
+       public function getText() {
+               return $this->getMessage();
+       }
+}
diff --git a/includes/exception/HttpError.php b/includes/exception/HttpError.php
new file mode 100644 (file)
index 0000000..f955f06
--- /dev/null
@@ -0,0 +1,93 @@
+<?php
+/**
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ */
+
+/**
+ * Show an error that looks like an HTTP server error.
+ * Replacement for wfHttpError().
+ *
+ * @since 1.19
+ * @ingroup Exception
+ */
+class HttpError extends MWException {
+       private $httpCode, $header, $content;
+
+       /**
+        * Constructor
+        *
+        * @param $httpCode Integer: HTTP status code to send to the client
+        * @param string|Message $content content of the message
+        * @param string|Message $header content of the header (\<title\> and \<h1\>)
+        */
+       public function __construct( $httpCode, $content, $header = null ) {
+               parent::__construct( $content );
+               $this->httpCode = (int)$httpCode;
+               $this->header = $header;
+               $this->content = $content;
+       }
+
+       /**
+        * Returns the HTTP status code supplied to the constructor.
+        *
+        * @return int
+        */
+       public function getStatusCode() {
+               return $this->httpCode;
+       }
+
+       /**
+        * Report the HTTP error.
+        * Sends the appropriate HTTP status code and outputs an
+        * HTML page with an error message.
+        */
+       public function report() {
+               $httpMessage = HttpStatus::getMessage( $this->httpCode );
+
+               header( "Status: {$this->httpCode} {$httpMessage}", true, $this->httpCode );
+               header( 'Content-type: text/html; charset=utf-8' );
+
+               print $this->getHTML();
+       }
+
+       /**
+        * Returns HTML for reporting the HTTP error.
+        * This will be a minimal but complete HTML document.
+        *
+        * @return string HTML
+        */
+       public function getHTML() {
+               if ( $this->header === null ) {
+                       $header = HttpStatus::getMessage( $this->httpCode );
+               } elseif ( $this->header instanceof Message ) {
+                       $header = $this->header->escaped();
+               } else {
+                       $header = htmlspecialchars( $this->header );
+               }
+
+               if ( $this->content instanceof Message ) {
+                       $content = $this->content->escaped();
+               } else {
+                       $content = htmlspecialchars( $this->content );
+               }
+
+               return "<!DOCTYPE html>\n" .
+               "<html><head><title>$header</title></head>\n" .
+               "<body><h1>$header</h1><p>$content</p></body></html>\n";
+       }
+}
diff --git a/includes/exception/MWException.php b/includes/exception/MWException.php
new file mode 100644 (file)
index 0000000..f344938
--- /dev/null
@@ -0,0 +1,273 @@
+<?php
+/**
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ */
+
+/**
+ * MediaWiki exception
+ *
+ * @ingroup Exception
+ */
+class MWException extends Exception {
+       /**
+        * Should the exception use $wgOut to output the error?
+        *
+        * @return bool
+        */
+       public function useOutputPage() {
+               return $this->useMessageCache() &&
+               !empty( $GLOBALS['wgFullyInitialised'] ) &&
+               !empty( $GLOBALS['wgOut'] ) &&
+               !defined( 'MEDIAWIKI_INSTALL' );
+       }
+
+       /**
+        * Whether to log this exception in the exception debug log.
+        *
+        * @since 1.23
+        * @return boolean
+        */
+       public function isLoggable() {
+               return true;
+       }
+
+       /**
+        * Can the extension use the Message class/wfMessage to get i18n-ed messages?
+        *
+        * @return bool
+        */
+       public function useMessageCache() {
+               global $wgLang;
+
+               foreach ( $this->getTrace() as $frame ) {
+                       if ( isset( $frame['class'] ) && $frame['class'] === 'LocalisationCache' ) {
+                               return false;
+                       }
+               }
+
+               return $wgLang instanceof Language;
+       }
+
+       /**
+        * Run hook to allow extensions to modify the text of the exception
+        *
+        * @param string $name class name of the exception
+        * @param array $args arguments to pass to the callback functions
+        * @return string|null string to output or null if any hook has been called
+        */
+       public function runHooks( $name, $args = array() ) {
+               global $wgExceptionHooks;
+
+               if ( !isset( $wgExceptionHooks ) || !is_array( $wgExceptionHooks ) ) {
+                       return null; // Just silently ignore
+               }
+
+               if ( !array_key_exists( $name, $wgExceptionHooks ) ||
+                       !is_array( $wgExceptionHooks[$name] )
+               ) {
+                       return null;
+               }
+
+               $hooks = $wgExceptionHooks[$name];
+               $callargs = array_merge( array( $this ), $args );
+
+               foreach ( $hooks as $hook ) {
+                       if (
+                               is_string( $hook ) ||
+                               ( is_array( $hook ) && count( $hook ) >= 2 && is_string( $hook[0] ) )
+                       ) {
+                               // 'function' or array( 'class', hook' )
+                               $result = call_user_func_array( $hook, $callargs );
+                       } else {
+                               $result = null;
+                       }
+
+                       if ( is_string( $result ) ) {
+                               return $result;
+                       }
+               }
+               return null;
+       }
+
+       /**
+        * Get a message from i18n
+        *
+        * @param string $key message name
+        * @param string $fallback default message if the message cache can't be
+        *                  called by the exception
+        * The function also has other parameters that are arguments for the message
+        * @return string message with arguments replaced
+        */
+       public function msg( $key, $fallback /*[, params...] */ ) {
+               $args = array_slice( func_get_args(), 2 );
+
+               if ( $this->useMessageCache() ) {
+                       return wfMessage( $key, $args )->plain();
+               } else {
+                       return wfMsgReplaceArgs( $fallback, $args );
+               }
+       }
+
+       /**
+        * If $wgShowExceptionDetails is true, return a HTML message with a
+        * backtrace to the error, otherwise show a message to ask to set it to true
+        * to show that information.
+        *
+        * @return string html to output
+        */
+       public function getHTML() {
+               global $wgShowExceptionDetails;
+
+               if ( $wgShowExceptionDetails ) {
+                       return '<p>' . nl2br( htmlspecialchars( MWExceptionHandler::getLogMessage( $this ) ) ) .
+                       '</p><p>Backtrace:</p><p>' . nl2br( htmlspecialchars( MWExceptionHandler::getRedactedTraceAsString( $this ) ) ) .
+                       "</p>\n";
+               } else {
+                       return "<div class=\"errorbox\">" .
+                       '[' . MWExceptionHandler::getLogId( $this ) . '] ' .
+                       gmdate( 'Y-m-d H:i:s' ) .
+                       ": Fatal exception of type " . get_class( $this ) . "</div>\n" .
+                       "<!-- Set \$wgShowExceptionDetails = true; " .
+                       "at the bottom of LocalSettings.php to show detailed " .
+                       "debugging information. -->";
+               }
+       }
+
+       /**
+        * Get the text to display when reporting the error on the command line.
+        * If $wgShowExceptionDetails is true, return a text message with a
+        * backtrace to the error.
+        *
+        * @return string
+        */
+       public function getText() {
+               global $wgShowExceptionDetails;
+
+               if ( $wgShowExceptionDetails ) {
+                       return MWExceptionHandler::getLogMessage( $this ) .
+                       "\nBacktrace:\n" . MWExceptionHandler::getRedactedTraceAsString( $this ) . "\n";
+               } else {
+                       return "Set \$wgShowExceptionDetails = true; " .
+                       "in LocalSettings.php to show detailed debugging information.\n";
+               }
+       }
+
+       /**
+        * Return the title of the page when reporting this error in a HTTP response.
+        *
+        * @return string
+        */
+       public function getPageTitle() {
+               global $wgSitename;
+               return $this->msg( 'pagetitle', "$1 - $wgSitename", $this->msg( 'internalerror', 'Internal error' ) );
+       }
+
+       /**
+        * Get a the ID for this error.
+        *
+        * @since 1.20
+        * @deprecated since 1.22 Use MWExceptionHandler::getLogId instead.
+        * @return string
+        */
+       public function getLogId() {
+               wfDeprecated( __METHOD__, '1.22' );
+               return MWExceptionHandler::getLogId( $this );
+       }
+
+       /**
+        * Return the requested URL and point to file and line number from which the
+        * exception occurred
+        *
+        * @since 1.8
+        * @deprecated since 1.22 Use MWExceptionHandler::getLogMessage instead.
+        * @return string
+        */
+       public function getLogMessage() {
+               wfDeprecated( __METHOD__, '1.22' );
+               return MWExceptionHandler::getLogMessage( $this );
+       }
+
+       /**
+        * Output the exception report using HTML.
+        */
+       public function reportHTML() {
+               global $wgOut;
+               if ( $this->useOutputPage() ) {
+                       $wgOut->prepareErrorPage( $this->getPageTitle() );
+
+                       $hookResult = $this->runHooks( get_class( $this ) );
+                       if ( $hookResult ) {
+                               $wgOut->addHTML( $hookResult );
+                       } else {
+                               $wgOut->addHTML( $this->getHTML() );
+                       }
+
+                       $wgOut->output();
+               } else {
+                       header( 'Content-Type: text/html; charset=utf-8' );
+                       echo "<!DOCTYPE html>\n" .
+                               '<html><head>' .
+                               '<title>' . htmlspecialchars( $this->getPageTitle() ) . '</title>' .
+                               '<style>body { font-family: sans-serif; margin: 0; padding: 0.5em 2em; }</style>' .
+                               "</head><body>\n";
+
+                       $hookResult = $this->runHooks( get_class( $this ) . 'Raw' );
+                       if ( $hookResult ) {
+                               echo $hookResult;
+                       } else {
+                               echo $this->getHTML();
+                       }
+
+                       echo "</body></html>\n";
+               }
+       }
+
+       /**
+        * Output a report about the exception and takes care of formatting.
+        * It will be either HTML or plain text based on isCommandLine().
+        */
+       public function report() {
+               global $wgMimeType;
+
+               MWExceptionHandler::logException( $this );
+
+               if ( defined( 'MW_API' ) ) {
+                       // Unhandled API exception, we can't be sure that format printer is alive
+                       header( 'MediaWiki-API-Error: internal_api_error_' . get_class( $this ) );
+                       wfHttpError( 500, 'Internal Server Error', $this->getText() );
+               } elseif ( self::isCommandLine() ) {
+                       MWExceptionHandler::printError( $this->getText() );
+               } else {
+                       header( 'HTTP/1.1 500 MediaWiki exception' );
+                       header( 'Status: 500 MediaWiki exception', true );
+                       header( "Content-Type: $wgMimeType; charset=utf-8", true );
+
+                       $this->reportHTML();
+               }
+       }
+
+       /**
+        * Check whether we are in command line mode or not to report the exception
+        * in the correct format.
+        *
+        * @return bool
+        */
+       public static function isCommandLine() {
+               return !empty( $GLOBALS['wgCommandLineMode'] );
+       }
+}
diff --git a/includes/exception/MWExceptionHandler.php b/includes/exception/MWExceptionHandler.php
new file mode 100644 (file)
index 0000000..64e8999
--- /dev/null
@@ -0,0 +1,349 @@
+<?php
+/**
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ */
+
+/**
+ * Handler class for MWExceptions
+ * @ingroup Exception
+ */
+class MWExceptionHandler {
+       /**
+        * Install an exception handler for MediaWiki exception types.
+        */
+       public static function installHandler() {
+               set_exception_handler( array( 'MWExceptionHandler', 'handle' ) );
+       }
+
+       /**
+        * Report an exception to the user
+        */
+       protected static function report( Exception $e ) {
+               global $wgShowExceptionDetails;
+
+               $cmdLine = MWException::isCommandLine();
+
+               if ( $e instanceof MWException ) {
+                       try {
+                               // Try and show the exception prettily, with the normal skin infrastructure
+                               $e->report();
+                       } catch ( Exception $e2 ) {
+                               // Exception occurred from within exception handler
+                               // Show a simpler error message for the original exception,
+                               // don't try to invoke report()
+                               $message = "MediaWiki internal error.\n\n";
+
+                               if ( $wgShowExceptionDetails ) {
+                                       $message .= 'Original exception: ' . self::getLogMessage( $e ) .
+                                               "\nBacktrace:\n" . self::getRedactedTraceAsString( $e ) .
+                                               "\n\nException caught inside exception handler: " . self::getLogMessage( $e2 ) .
+                                               "\nBacktrace:\n" . self::getRedactedTraceAsString( $e2 );
+                               } else {
+                                       $message .= "Exception caught inside exception handler.\n\n" .
+                                               "Set \$wgShowExceptionDetails = true; at the bottom of LocalSettings.php " .
+                                               "to show detailed debugging information.";
+                               }
+
+                               $message .= "\n";
+
+                               if ( $cmdLine ) {
+                                       self::printError( $message );
+                               } else {
+                                       echo nl2br( htmlspecialchars( $message ) ) . "\n";
+                               }
+                       }
+               } else {
+                       $message = "Unexpected non-MediaWiki exception encountered, of type \"" .
+                               get_class( $e ) . "\"";
+
+                       if ( $wgShowExceptionDetails ) {
+                               $message .= "\n" . MWExceptionHandler::getLogMessage( $e ) . "\nBacktrace:\n" .
+                                       self::getRedactedTraceAsString( $e ) . "\n";
+                       }
+
+                       if ( $cmdLine ) {
+                               self::printError( $message );
+                       } else {
+                               echo nl2br( htmlspecialchars( $message ) ) . "\n";
+                       }
+               }
+       }
+
+       /**
+        * Print a message, if possible to STDERR.
+        * Use this in command line mode only (see isCommandLine)
+        *
+        * @param string $message Failure text
+        */
+       public static function printError( $message ) {
+               # NOTE: STDERR may not be available, especially if php-cgi is used from the
+               # command line (bug #15602). Try to produce meaningful output anyway. Using
+               # echo may corrupt output to STDOUT though.
+               if ( defined( 'STDERR' ) ) {
+                       fwrite( STDERR, $message );
+               } else {
+                       echo $message;
+               }
+       }
+
+       /**
+        * Exception handler which simulates the appropriate catch() handling:
+        *
+        *   try {
+        *       ...
+        *   } catch ( MWException $e ) {
+        *       $e->report();
+        *   } catch ( Exception $e ) {
+        *       echo $e->__toString();
+        *   }
+        */
+       public static function handle( $e ) {
+               global $wgFullyInitialised;
+
+               self::report( $e );
+
+               // Final cleanup
+               if ( $wgFullyInitialised ) {
+                       try {
+                               // uses $wgRequest, hence the $wgFullyInitialised condition
+                               wfLogProfilingData();
+                       } catch ( Exception $e ) {
+                       }
+               }
+
+               // Exit value should be nonzero for the benefit of shell jobs
+               exit( 1 );
+       }
+
+       /**
+        * Generate a string representation of an exception's stack trace
+        *
+        * Like Exception::getTraceAsString, but replaces argument values with
+        * argument type or class name.
+        *
+        * @param Exception $e
+        * @return string
+        */
+       public static function getRedactedTraceAsString( Exception $e ) {
+               $text = '';
+
+               foreach ( self::getRedactedTrace( $e ) as $level => $frame ) {
+                       if ( isset( $frame['file'] ) && isset( $frame['line'] ) ) {
+                               $text .= "#{$level} {$frame['file']}({$frame['line']}): ";
+                       } else {
+                               // 'file' and 'line' are unset for calls via call_user_func (bug 55634)
+                               // This matches behaviour of Exception::getTraceAsString to instead
+                               // display "[internal function]".
+                               $text .= "#{$level} [internal function]: ";
+                       }
+
+                       if ( isset( $frame['class'] ) ) {
+                               $text .= $frame['class'] . $frame['type'] . $frame['function'];
+                       } else {
+                               $text .= $frame['function'];
+                       }
+
+                       if ( isset( $frame['args'] ) ) {
+                               $text .= '(' . implode( ', ', $frame['args'] ) . ")\n";
+                       } else {
+                               $text .= "()\n";
+                       }
+               }
+
+               $level = $level + 1;
+               $text .= "#{$level} {main}";
+
+               return $text;
+       }
+
+       /**
+        * Return a copy of an exception's backtrace as an array.
+        *
+        * Like Exception::getTrace, but replaces each element in each frame's
+        * argument array with the name of its class (if the element is an object)
+        * or its type (if the element is a PHP primitive).
+        *
+        * @since 1.22
+        * @param Exception $e
+        * @return array
+        */
+       public static function getRedactedTrace( Exception $e ) {
+               return array_map( function ( $frame ) {
+                       if ( isset( $frame['args'] ) ) {
+                               $frame['args'] = array_map( function ( $arg ) {
+                                       return is_object( $arg ) ? get_class( $arg ) : gettype( $arg );
+                               }, $frame['args'] );
+                       }
+                       return $frame;
+               }, $e->getTrace() );
+       }
+
+       /**
+        * Get the ID for this error.
+        *
+        * The ID is saved so that one can match the one output to the user (when
+        * $wgShowExceptionDetails is set to false), to the entry in the debug log.
+        *
+        * @since 1.22
+        * @param Exception $e
+        * @return string
+        */
+       public static function getLogId( Exception $e ) {
+               if ( !isset( $e->_mwLogId ) ) {
+                       $e->_mwLogId = wfRandomString( 8 );
+               }
+               return $e->_mwLogId;
+       }
+
+       /**
+        * If the exception occurred in the course of responding to a request,
+        * returns the requested URL. Otherwise, returns false.
+        *
+        * @since 1.23
+        * @return string|bool
+        */
+       public static function getURL() {
+               global $wgRequest;
+               if ( !isset( $wgRequest ) || $wgRequest instanceof FauxRequest ) {
+                       return false;
+               }
+               return $wgRequest->getRequestURL();
+       }
+
+       /**
+        * Return the requested URL and point to file and line number from which the
+        * exception occurred.
+        *
+        * @since 1.22
+        * @param Exception $e
+        * @return string
+        */
+       public static function getLogMessage( Exception $e ) {
+               $id = self::getLogId( $e );
+               $file = $e->getFile();
+               $line = $e->getLine();
+               $message = $e->getMessage();
+               $url = self::getURL() ?: '[no req]';
+
+               return "[$id] $url   Exception from line $line of $file: $message";
+       }
+
+       /**
+        * Serialize an Exception object to JSON.
+        *
+        * The JSON object will have keys 'id', 'file', 'line', 'message', and
+        * 'url'. These keys map to string values, with the exception of 'line',
+        * which is a number, and 'url', which may be either a string URL or or
+        * null if the exception did not occur in the context of serving a web
+        * request.
+        *
+        * If $wgLogExceptionBacktrace is true, it will also have a 'backtrace'
+        * key, mapped to the array return value of Exception::getTrace, but with
+        * each element in each frame's "args" array (if set) replaced with the
+        * argument's class name (if the argument is an object) or type name (if
+        * the argument is a PHP primitive).
+        *
+        * @par Sample JSON record ($wgLogExceptionBacktrace = false):
+        * @code
+        *  {
+        *    "id": "c41fb419",
+        *    "file": "/var/www/mediawiki/includes/cache/MessageCache.php",
+        *    "line": 704,
+        *    "message": "Non-string key given",
+        *    "url": "/wiki/Main_Page"
+        *  }
+        * @endcode
+        *
+        * @par Sample JSON record ($wgLogExceptionBacktrace = true):
+        * @code
+        *  {
+        *    "id": "dc457938",
+        *    "file": "/vagrant/mediawiki/includes/cache/MessageCache.php",
+        *    "line": 704,
+        *    "message": "Non-string key given",
+        *    "url": "/wiki/Main_Page",
+        *    "backtrace": [{
+        *      "file": "/vagrant/mediawiki/extensions/VisualEditor/VisualEditor.hooks.php",
+        *      "line": 80,
+        *      "function": "get",
+        *      "class": "MessageCache",
+        *      "type": "->",
+        *      "args": ["array"]
+        *    }]
+        *  }
+        * @endcode
+        *
+        * @since 1.23
+        * @param Exception $e
+        * @param bool $pretty Add non-significant whitespace to improve readability (default: false).
+        * @param int $escaping Bitfield consisting of FormatJson::.*_OK class constants.
+        * @return string|bool: JSON string if successful; false upon failure
+        */
+       public static function jsonSerializeException( Exception $e, $pretty = false, $escaping = 0 ) {
+               global $wgLogExceptionBacktrace;
+
+               $exceptionData = array(
+                       'id' => self::getLogId( $e ),
+                       'file' => $e->getFile(),
+                       'line' => $e->getLine(),
+                       'message' => $e->getMessage(),
+               );
+
+               // Because MediaWiki is first and foremost a web application, we set a
+               // 'url' key unconditionally, but set it to null if the exception does
+               // not occur in the context of a web request, as a way of making that
+               // fact visible and explicit.
+               $exceptionData['url'] = self::getURL() ?: null;
+
+               if ( $wgLogExceptionBacktrace ) {
+                       // Argument values may not be serializable, so redact them.
+                       $exceptionData['backtrace'] = self::getRedactedTrace( $e );
+               }
+
+               return FormatJson::encode( $exceptionData, $pretty, $escaping );
+       }
+
+       /**
+        * Log an exception to the exception log (if enabled).
+        *
+        * This method must not assume the exception is an MWException,
+        * it is also used to handle PHP errors or errors from other libraries.
+        *
+        * @since 1.22
+        * @param Exception $e
+        */
+       public static function logException( Exception $e ) {
+               global $wgLogExceptionBacktrace;
+
+               if ( !( $e instanceof MWException ) || $e->isLoggable() ) {
+                       $log = self::getLogMessage( $e );
+                       if ( $wgLogExceptionBacktrace ) {
+                               wfDebugLog( 'exception', $log . "\n" . $e->getTraceAsString() );
+                       } else {
+                               wfDebugLog( 'exception', $log );
+                       }
+
+                       $json = self::jsonSerializeException( $e, false, FormatJson::ALL_OK );
+                       if ( $json !== false ) {
+                               wfDebugLog( 'exception-json', $json, 'private' );
+                       }
+               }
+
+       }
+
+}
diff --git a/includes/exception/PermissionsError.php b/includes/exception/PermissionsError.php
new file mode 100644 (file)
index 0000000..bfba7b2
--- /dev/null
@@ -0,0 +1,58 @@
+<?php
+/**
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ */
+
+/**
+ * Show an error when a user tries to do something they do not have the necessary
+ * permissions for.
+ *
+ * @since 1.18
+ * @ingroup Exception
+ */
+class PermissionsError extends ErrorPageError {
+       public $permission, $errors;
+
+       public function __construct( $permission, $errors = array() ) {
+               global $wgLang;
+
+               $this->permission = $permission;
+
+               if ( !count( $errors ) ) {
+                       $groups = array_map(
+                               array( 'User', 'makeGroupLinkWiki' ),
+                               User::getGroupsWithPermission( $this->permission )
+                       );
+
+                       if ( $groups ) {
+                               $errors[] = array( 'badaccess-groups', $wgLang->commaList( $groups ), count( $groups ) );
+                       } else {
+                               $errors[] = array( 'badaccess-group0' );
+                       }
+               }
+
+               $this->errors = $errors;
+       }
+
+       public function report() {
+               global $wgOut;
+
+               $wgOut->showPermissionsErrorPage( $this->errors, $this->permission );
+               $wgOut->output();
+       }
+}
diff --git a/includes/exception/ReadOnlyError.php b/includes/exception/ReadOnlyError.php
new file mode 100644 (file)
index 0000000..cebeb1c
--- /dev/null
@@ -0,0 +1,36 @@
+<?php
+/**
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ */
+
+/**
+ * Show an error when the wiki is locked/read-only and the user tries to do
+ * something that requires write access.
+ *
+ * @since 1.18
+ * @ingroup Exception
+ */
+class ReadOnlyError extends ErrorPageError {
+       public function __construct() {
+               parent::__construct(
+                       'readonly',
+                       'readonlytext',
+                       wfReadOnlyReason() ?: array()
+               );
+       }
+}
diff --git a/includes/exception/ThrottledError.php b/includes/exception/ThrottledError.php
new file mode 100644 (file)
index 0000000..ce5d52e
--- /dev/null
@@ -0,0 +1,40 @@
+<?php
+/**
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ */
+
+/**
+ * Show an error when the user hits a rate limit.
+ *
+ * @since 1.18
+ * @ingroup Exception
+ */
+class ThrottledError extends ErrorPageError {
+       public function __construct() {
+               parent::__construct(
+                       'actionthrottled',
+                       'actionthrottledtext'
+               );
+       }
+
+       public function report() {
+               global $wgOut;
+               $wgOut->setStatusCode( 503 );
+               parent::report();
+       }
+}
diff --git a/includes/exception/UserBlockedError.php b/includes/exception/UserBlockedError.php
new file mode 100644 (file)
index 0000000..9d19f8b
--- /dev/null
@@ -0,0 +1,33 @@
+<?php
+/**
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ */
+
+/**
+ * Show an error when the user tries to do something whilst blocked.
+ *
+ * @since 1.18
+ * @ingroup Exception
+ */
+class UserBlockedError extends ErrorPageError {
+       public function __construct( Block $block ) {
+               // @todo FIXME: Implement a more proper way to get context here.
+               $params = $block->getPermissionsError( RequestContext::getMain() );
+               parent::__construct( 'blockedtitle', array_shift( $params ), $params );
+       }
+}
diff --git a/includes/exception/UserNotLoggedIn.php b/includes/exception/UserNotLoggedIn.php
new file mode 100644 (file)
index 0000000..9d89009
--- /dev/null
@@ -0,0 +1,65 @@
+<?php
+/**
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ */
+
+/**
+ * Shows a generic "user is not logged in" error page.
+ *
+ * This is essentially an ErrorPageError exception which by default uses the
+ * 'exception-nologin' as a title and 'exception-nologin-text' for the message.
+ * @see bug 37627
+ * @since 1.20
+ *
+ * @par Example:
+ * @code
+ * if( $user->isAnon() ) {
+ *     throw new UserNotLoggedIn();
+ * }
+ * @endcode
+ *
+ * Note the parameter order differs from ErrorPageError, this allows you to
+ * simply specify a reason without overriding the default title.
+ *
+ * @par Example:
+ * @code
+ * if( $user->isAnon() ) {
+ *     throw new UserNotLoggedIn( 'action-require-loggedin' );
+ * }
+ * @endcode
+ *
+ * @ingroup Exception
+ */
+class UserNotLoggedIn extends ErrorPageError {
+
+       /**
+        * @param string $reasonMsg A message key containing the reason for the error.
+        *        Optional, default: 'exception-nologin-text'
+        * @param string $titleMsg A message key to set the page title.
+        *        Optional, default: 'exception-nologin'
+        * @param array $params Parameters to wfMessage().
+        *        Optional, default: array()
+        */
+       public function __construct(
+               $reasonMsg = 'exception-nologin-text',
+               $titleMsg = 'exception-nologin',
+               $params = array()
+       ) {
+               parent::__construct( $titleMsg, $reasonMsg, $params );
+       }
+}
index 9a2ebb7..16300af 100644 (file)
@@ -1565,7 +1565,7 @@ abstract class FileBackendStore extends FileBackend {
         * @return string
         */
        private function containerCacheKey( $container ) {
-               return wfMemcKey( 'backend', $this->getName(), 'container', $container );
+               return "filebackend:{$this->name}:{$this->wikiId}:container:{$container}";
        }
 
        /**
@@ -1646,7 +1646,7 @@ abstract class FileBackendStore extends FileBackend {
         * @return string
         */
        private function fileCacheKey( $path ) {
-               return wfMemcKey( 'backend', $this->getName(), 'file', sha1( $path ) );
+               return "filebackend:{$this->name}:{$this->wikiId}:file:" . sha1( $path );
        }
 
        /**
index dea1666..a5c835e 100644 (file)
@@ -744,7 +744,7 @@ class SwiftFileBackend extends FileBackendStore {
                $prefix = ( $dir == '' ) ? null : "{$dir}/";
                $status = $this->objectListing( $fullCont, 'names', 1, null, $prefix );
                if ( $status->isOk() ) {
-                       return ( count( $status->value ) );
+                       return ( count( $status->value ) ) > 0;
                }
 
                return null; // error
@@ -1470,7 +1470,7 @@ class SwiftFileBackend extends FileBackendStore {
                        }
 
                        // (a) Check the container
-                       $cstat = $this->getContainerStat( $srcCont, true );
+                       $cstat = $this->getContainerStat( $srcCont );
                        if ( $cstat === false ) {
                                $stats[$path] = false;
                                continue; // ok, nothing to do
index 18f8d5d..8153ffb 100644 (file)
@@ -90,4 +90,8 @@ class ForeignDBViaLBRepo extends LocalRepo {
        protected function assertWritableRepo() {
                throw new MWException( get_class( $this ) . ': write operations are not supported.' );
        }
+
+       public function getInfo() {
+               return FileRepo::getInfo();
+       }
 }
index 320688a..fcb0f09 100644 (file)
@@ -3075,8 +3075,7 @@ class Language {
         * wfMessage( 'message' )->numParams( $num )->text()
         * </code>
         *
-        * See LanguageGu.php for the Gujarati implementation and
-        * $separatorTransformTable on MessageIs.php for
+        * See $separatorTransformTable on MessageIs.php for
         * the , => . and . => , implementation.
         *
         * @todo check if it's viable to use localeconv() for the decimal
index cb68eaa..98e7691 100644 (file)
@@ -126,7 +126,7 @@ $messages = array(
 'dec' => 'ҧхҷ',
 
 # Categories related messages
-'pagecategories' => '{{PLURAL:$1|Акатегориа|Акатегориақәа}}',
+'pagecategories' => '{{PLURAL:$1|1=Акатегориа|Акатегориақәа}}',
 
 'article' => 'Адаҟьа',
 'mytalk' => 'Сахцәажәара',
index d9b6d96..d7cb38f 100644 (file)
@@ -35,7 +35,6 @@ $namespaceNames = array(
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Twa lenk nyina ase:',
-'tog-justify' => 'Gyastefae mparagraf',
 'tog-hideminor' => 'Suma nsesae a wɔakɔ so a wɔnnkyɛree koraa',
 'tog-hidepatrolled' => 'Suma nsesae a wɔapatrole wɔn ndansa yi ara',
 'tog-newpageshidepatrolled' => 'Suma nkrataafa a wɔapatrole wɔn fi krataafa-foforo lest no so',
index a51ca8c..8f1cf66 100644 (file)
@@ -16,7 +16,6 @@ $fallback = 'hi';
 $messages = array(
 # User preference toggles
 'tog-underline' => ' कड़ी अधोरेखित करना:',
-'tog-justify' => 'परिच्छेद समान करॊ',
 'tog-hideminor' => 'हाल के बदलाव सॆं छोटॊ बदलाव छुपाबॊ',
 'tog-hidepatrolled' => 'निगरानी मॆं करलॊ गेलॊ संपादनॊ कॆ हाल के बदलावॊ मॆं नै देखाबॊ',
 'tog-newpageshidepatrolled' => 'निगरानी वाला पन्ना कॆ नया पन्ने वाला सूची मॆं नै देखाबॊ',
@@ -25,9 +24,7 @@ $messages = array(
 'tog-numberheadings' => 'शीर्षक स्वयं-क्रमांकित करॊ',
 'tog-showtoolbar' => 'एडिट टूलबार दर्शाबॊ (जावास्क्रीप्ट)',
 'tog-editondblclick' => 'दू-बार क्लीक करी कॆ पन्ना संपादित करॊ (जावास्क्रीप्ट)',
-'tog-editsection' => '[संपादित करॊ] कड़ी द्वारा विभाग संपादन करै के अनुमती दहॊ',
 'tog-editsectiononrightclick' => 'विभाग शीर्षक पर दायाँ क्लीक करीकॆ संपादन करै के अनुमती दॆ (जावास्क्रीप्ट)',
-'tog-showtoc' => 'अनुक्रम दर्शाबॊ (जोन पन्ना पर तीन सॆं ज्यादा विभाग छै)',
 'tog-rememberpassword' => 'इ कंप्यूटर पर हमरॊ लॉग-इन सूचना याद रखॊ (अधिकतम $1 {{PLURAL:$1|दिन|दिन}} लेली)',
 'tog-watchcreations' => 'हमरॊ तैयार करलॊ पन्ना हमरॊ ध्यानसूचीमॆं रखियै',
 'tog-watchdefault' => 'हमरॊ संपादित करलॊ पन्ना हमरॊ ध्यानसूचीमॆं रखियै',
@@ -35,7 +32,6 @@ $messages = array(
 'tog-watchdeletion' => 'हमरॊ हटैलॊ पन्ना हमरॊ ध्यानसूचीमॆं रखियै',
 'tog-previewontop' => 'एडिट बॉक्स के उपर झलक दिखाबॊ',
 'tog-previewonfirst' => 'पहलॊ सम्पादन पर पूर्वावलोकन देखॊ',
-'tog-nocache' => 'ब्राउजर पन्ना केचिंग अक्षम करॊ',
 'tog-enotifwatchlistpages' => 'हमरॊ ध्यानसूची मॆं दर्ज़ पन्ना बदलला के बाद हमरा इ-मेल करॊ',
 'tog-enotifusertalkpages' => 'हमरॊ सदस्य वार्ता पृष्ठ पर बदलाव होला सॆं हमरा इ-मेल करॊ',
 'tog-enotifminoredits' => 'तनी-मनी बदलावॊ लेली भी हमरा इ-मेल भेजॊ',
@@ -320,7 +316,6 @@ Hindi (hi)फ़िलहाल इस पन्ने पर कोई सा
 'recentchanges' => 'हाल मॆं होलॊ बदलाव',
 'recentchanges-legend' => 'हाल केरॊ परिवर्तन संबंधी विकल्प',
 'recentchanges-feed-description' => 'इ फ़ीड मॆ होय वाला विकि पर हाल मॆ होलॊ बदलाव देखियै.',
-'rcnote' => "$5, $4 के पहले के {{PLURAL:$2|'''१''' दिन|'''$2''' दिनों}} मॆं  {{PLURAL:$1|होलॊ '''१''' बदलाव इ प्रकार छै.| होलॊ '''$1''' बदलाव इ प्रकार छै}}",
 'rclistfrom' => '$1 सॆं नया बदलाव देखलाबॊ',
 'rcshowhideminor' => 'छोटॊ बदलाव $1',
 'rcshowhidebots' => 'बोट सीनी $1',
index 259e290..71e8d90 100644 (file)
@@ -1037,6 +1037,9 @@ $2',
 'suspicious-userlogout' => 'رفض طلب خروجك لأنه يبدو كأنه أرسل عن طريق متصفح معطوب أو وسيط تخزين.',
 'createacct-another-realname-tip' => 'الاسم الحقيقي اختياري.
 إذا اخترت توفيره فسيستخدم لنسبة عمل المستخدم إليه.',
+'pt-login' => 'تسجيل الدخول',
+'pt-createaccount' => 'أنشئ حساباً',
+'pt-userlogout' => 'تسجيل الخروج',
 
 # Email sending
 'php-mail-error-unknown' => "خطأ غير معروف في وظيفة البريد PHP's mail()",
@@ -1045,8 +1048,7 @@ $2',
 
 # Change password dialog
 'changepassword' => 'غير كلمة السر',
-'resetpass_announce' => 'تم تسجيل دخولك بكلمة سر مؤقتة.
-للدخول بشكل نهائي، يجب عليك ضبط كلمة سر جديدة هنا:',
+'resetpass_announce' => 'لإنهاء عملية تسجيل الدخول، يجب تعيين كلمة سر جديدة.',
 'resetpass_text' => '<!-- أضف نصا هنا -->',
 'resetpass_header' => 'غير كلمة سر الحساب',
 'oldpassword' => 'كلمة السر القديمة:',
@@ -1061,8 +1063,12 @@ $2',
 'resetpass-submit-cancel' => 'إلغاء',
 'resetpass-wrong-oldpass' => 'كلمة سر حالية أو مؤقتة غير صحيحة.
 ربما تكون غيرت كلمة السر الخاصة بك بنجاح أو طلبت كلمة سر مؤقتة جديدة.',
+'resetpass-recycled' => 'الرجاء إعادة تعيين كلمة السر الخاصة بك إلى تركيبة أخرى غير كلمة السر الحالية.',
+'resetpass-temp-emailed' => 'أنت مسجل الدخول حالياً بتركيبة مرسلة عبر البريد الإلكتروني. لإكمال عملية تسجيل الدخول‘ يجب إعادة تعيين كلمة السر هنا:',
 'resetpass-temp-password' => 'كلمة سر مؤقتة:',
 'resetpass-abort-generic' => 'منعت مُلحقة إتمام صيرورة تغيير كلمة السّر.',
+'resetpass-expired' => 'انتهت مدة صلاحية كلمة السر الخاصة بك. الرجاء تعيين كلمة سر جديدة لتسجيل الدخول.',
+'resetpass-expired-soft' => 'انتهت مدة صلاحية كلمة السر الخاصة بك. الرجاء تعيين كلمة سر جديدة الآن أو النقر على زر إلغاء لإعادة تعيين كلمة السر لاحقاً.',
 
 # Special:PasswordReset
 'passwordreset' => 'إعادة ضبط كلمة السر',
@@ -1260,7 +1266,7 @@ $2
 في نص التعديل. تم رفض التعديل لمنع فساد نص المقالة.
 هذا يحدث أحيانا عندما تستخدم خدمة بروكسي مجهول معيبة مبنية على الوب.'''",
 'edit_form_incomplete' => "'''بعض أجزاء من نموذج التعديل لم تصل إلى الخادم؛ تأكد من أن تعديلاتك لم تمس وحاول مجددا.'''",
-'editing' => 'تحرÙ\8aر $1',
+'editing' => 'تعدÙ\8aÙ\84 Â«$1»',
 'creating' => 'إنشاء «$1»',
 'editingsection' => 'تحرير $1 (قسم)',
 'editingcomment' => 'تعديل $1 (قسم جديد)',
@@ -1545,7 +1551,7 @@ $1",
 'mergelogpagetext' => 'بالأسفل قائمة بأحدث عمليات الدمج لتاريخ صفحة ما إلى أخرى.',
 
 # Diffs
-'history-title' => ' «$1»: تاريخ المراجعة',
+'history-title' => 'تاريخ «$1»',
 'difference-title' => '«$1»: الفرق بين المراجعتين',
 'difference-title-multipage' => '«$1» و«$2»: الفرق بين الصفحتين',
 'difference-multipage' => '(الفرق بين الصفحتين)',
@@ -2434,10 +2440,20 @@ $1',
 'deadendpagestext' => 'الصفحات التالية لا تصل إلى صفحات أخرى في {{SITENAME}}.',
 'protectedpages' => 'صفحات محمية',
 'protectedpages-indef' => 'عمليات الحماية غير المحددة فقط',
+'protectedpages-summary' => 'تحتوي هذه الصفحة على أسماء العناوين المحمية حالياً. لمطالعة قائمة الصفحات التي تم فرض حماية على إنشائها انظر [[{{#special:ProtectedTitles}}]].',
 'protectedpages-cascade' => 'الحماية المضمنة فقط',
 'protectedpages-noredirect' => 'أخفِ التحويلات',
 'protectedpagesempty' => 'لا توجد صفحات محمية حاليا بهذه المحددات.',
+'protectedpages-timestamp' => 'ختم زمني',
+'protectedpages-page' => 'الصفحة',
+'protectedpages-expiry' => 'ينتهي في',
+'protectedpages-performer' => 'حماية مستخدم',
+'protectedpages-params' => 'معاملات الحماية',
+'protectedpages-reason' => 'السبب',
+'protectedpages-unknown-timestamp' => 'غير معروف',
+'protectedpages-unknown-performer' => 'مستخدم غير معروف',
 'protectedtitles' => 'عناوين محمية',
+'protectedtitles-summary' => 'تحتوي هذه الصفحة على أسماء العناوين المحمية حالياً من الإنشاء. لمطالعة قائمة الصفحات التي تم إنشائها وحمايتها انظر [[{{#special:ProtectedPages}}]].',
 'protectedtitlesempty' => 'لا توجد عناوين محمية حاليا بهذه المحددات.',
 'listusers' => 'قائمة الأعضاء',
 'listusers-editsonly' => 'اعرض المستخدمين الذين أجروا تعديلات فقط',
@@ -2686,7 +2702,7 @@ $UNWATCHURL
 'excontentauthor' => "المحتوى كان: '$1' (والمساهم الوحيد كان '[[Special:Contributions/$2|$2]]')",
 'exbeforeblank' => "المحتوى قبل الإفراغ كان: '$1'",
 'exblank' => 'الصفحة كانت فارغة',
-'delete-confirm' => 'حذف "$1"',
+'delete-confirm' => 'حذف «$1»',
 'delete-legend' => 'حذف',
 'historywarning' => "'''تحذير:''' الصفحة التي توشك على حذفها لها تاريخ فيه {{PLURAL:$1||مراجعة واحدة|مراجعتان|$1 مراجعات|$1 مراجعة}} تقريبا:",
 'confirmdeletetext' => 'أنت على وشك أن تقوم بحذف صفحة بالإضافة إلى كل تاريخها.
@@ -2749,7 +2765,7 @@ $UNWATCHURL
 'modifiedarticleprotection' => 'غير مستوى حماية "[[$1]]"',
 'unprotectedarticle' => 'أزال الحماية من "[[$1]]"',
 'movedarticleprotection' => 'نقل إعدادات الحماية من "[[$2]]" إلى "[[$1]]"',
-'protect-title' => 'ضبط مستوى حماية "$1"',
+'protect-title' => 'ضبط حماية «$1»',
 'protect-title-notallowed' => 'عرض مستوى حماية "$1"',
 'prot_1movedto2' => 'نُقلت [[$1]] إلى [[$2]]',
 'protect-badnamespace-title' => 'نطاق لا يحمى',
@@ -3066,7 +3082,7 @@ $1',
 'lockedbyandtime' => '(من $1 على $2 في $3 )',
 
 # Move page
-'move-page' => 'نقل $1',
+'move-page' => 'نقل «$1»',
 'move-page-legend' => 'نقل صفحة',
 'movepagetext' => "باستخدام  الاستمارة بالأسفل بإمكانك أن تغير اسم الصفحة، وأن تنقل تاريخها إلى الاسم الجديد.
 العنوان القديم سيصبح تحويلة للعنوان الجديد.
@@ -3212,6 +3228,7 @@ $2',
 'thumbnail_image-type' => 'نوع الصورة غير مدعوم',
 'thumbnail_gd-library' => 'ضبط مكتبة GD غير مكتمل: دالة مفقودة $1',
 'thumbnail_image-missing' => 'الملف يبدو أنه مفقود: $1',
+'thumbnail_image-failure-limit' => 'هناك الكثير من المحاولات الفاشلة مؤخراً ($1 أو أكثر) لتَصْيير هذه الصورة المصغرة. الرجاء المحاولة مرة أخرى لاحقاً.',
 
 # Special:Import
 'import' => 'استيراد صفحات',
@@ -4555,9 +4572,7 @@ $5
 'expandtemplates' => 'فرد القوالب',
 'expand_templates_intro' => 'تتعامل هذه الصفحة الخاصة مع نصوص الويكي وتقوم بفرد كل القوالب الموجودة به.
 وتقوم أيضا بفرد دوال القوالب مثل
-<nowiki>{{</nowiki>#language:...}}، والمتغيرات مثل
-<nowiki>{{</nowiki>يوم}}-- وتقوم التعامل مع كل ما بين الأقواس المزدوجة.
-تقوم بفعل هذا عن طريق استدعاء المعالج المناسب من الميدياويكي.',
+<code><nowiki>{{</nowiki>#language:…}}</code> and variables like <code><nowiki>{{</nowiki>CURRENTDAY}}</code>. حقيقةً، تقوم التعامل مع كل ما بين الأقواس المزدوجة.',
 'expand_templates_title' => 'عنوان صفحة هذا النص، لأجل معالجة {{FULLPAGENAME}} إلخ.:',
 'expand_templates_input' => 'النص المدخل:',
 'expand_templates_output' => 'النتيجة',
index 76772f8..811ae87 100644 (file)
@@ -553,7 +553,7 @@ $1',
 'actionthrottled' => 'কাৰ্য লেহেম কৰা হৈছে',
 'actionthrottledtext' => 'স্পাম ৰোধ কৰিবলৈ এই ক্ৰিয়াতো কম সময়ৰ ভিতৰত বহু বেছি বাৰ কৰাতো ৰোধ কৰা হৈছে, আৰু আপুনি ইতিমধ্যে সেই সীমা অতিক্ৰম কৰিলে।
 অনুগ্ৰহ কৰি কিছু সময় পাছত চেষ্টা কৰক।',
-'protectedpagetext' => 'সমà§\8dপাদনা à§°à§\8bধ à¦\95ৰিবলà§\88 à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\96ন সুৰক্ষিত কৰা হৈছে।',
+'protectedpagetext' => 'সমà§\8dপাদনা à§°à§\8bধ à¦\95ৰিবলà§\88 à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b সুৰক্ষিত কৰা হৈছে।',
 'viewsourcetext' => 'আপুনি এই পৃষ্ঠাটোৰ উৎস চাব আৰু নকল কৰিব পাৰে',
 'viewyourtext' => "আপুনি '''আপোনাৰ সম্পাদনাসমূহ'''ৰ উৎস চাব আৰু এই পৃষ্ঠালৈ নকল কৰিব পাৰে:",
 'protectedinterface' => 'এই পৃষ্ঠাই ৱিকি ছফ্টৱেৰৰ ইণ্টাৰফে’চ বাৰ্তা প্ৰদান কৰে আৰু ইয়াক সুৰক্ষিত কৰি ৰখা হৈছে।
@@ -561,7 +561,7 @@ $1',
 'editinginterface' => "'''সাৱধানবাণী:''' আপুনি যিখন পৃষ্ঠা সম্পাদনা কৰিছে সেইখন এই ছফ্টৱেৰৰ ইণ্টাৰফে’চ বাৰ্তা দিবলৈ ব্যৱহাৰ হয়।
 এই পৃষ্ঠাৰ সাল-সলনিয়ে আন ব্যৱহাৰকাৰীৰ বাবে ইণ্টাৰফে’চত প্ৰভাৱ পেলাব।
 সকলো ৱিকিৰ বাবে অনুবাদৰ বাবে অনুগ্ৰহ কৰি মিডিয়াৱিকি স্থানীয়কৰণ প্ৰকল্প [//translatewiki.net/ translatewiki.net] ব্যৱহাৰ কৰক ।",
-'cascadeprotected' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\96ন সম্পাদনাৰ পৰা সুৰক্ষিত কাৰণ এই {{PLURAL:$1|পৃষ্ঠা, যিটো|পৃষ্ঠা, যিবোৰ}} "প্ৰপাতাকাৰ" (cascading) বিকল্পৰ সহযোগত সুৰক্ষিত কৰা হৈছে: 
+'cascadeprotected' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b সম্পাদনাৰ পৰা সুৰক্ষিত কাৰণ এই {{PLURAL:$1|পৃষ্ঠা, যিটো|পৃষ্ঠা, যিবোৰ}} "প্ৰপাতাকাৰ" (cascading) বিকল্পৰ সহযোগত সুৰক্ষিত কৰা হৈছে: 
 $2',
 'namespaceprotected' => "আপোনাৰ '''$1''' নামস্থানৰ পৃষ্ঠাসমূহ সম্পাদনা কৰাৰ অধিকাৰ নাই।",
 'customcssprotected' => 'এই CSS পৃষ্ঠা সম্পাদনা কৰাৰ অধিকাৰ আপোনাৰ নাই, কাৰণ ইয়াত আন সদস্যৰ ব্যক্তিগত পছন্দসমূহত আছে ।',
@@ -948,11 +948,11 @@ $1ৰ দ্বাৰা এই অৱৰোধ কৰা হৈছে ।
 কোনো আসোঁৱাহপূৰ্ণ ৱেব-ভিত্তিক বেনামী প্ৰক্সী সেৱা ব্যৱহাৰ কৰিলে এনে হ’ব পাৰে ।",
 'edit_form_incomplete' => "'''এই সম্পাদনাৰ কিছু অংশ চাৰ্ভাৰলৈ নগ’ল; আপোনাৰ সম্পাদনা ঠিকে আছেনে পৰীক্ষা কৰি পুনৰ চেষ্টা কৰক ।'''",
 'editing' => '$1 সম্পাদনা',
-'creating' => '$1 à¦ªà§\83ষà§\8dঠাà¦\96ন আপুনি সৃষ্টি কৰি আছে',
+'creating' => '$1 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b আপুনি সৃষ্টি কৰি আছে',
 'editingsection' => '$1 (অনুচ্ছেদ) সম্পাদনা কৰি আছে',
 'editingcomment' => '$1 (নতুন অনুচ্ছেদ) সম্পাদনা কৰি আছে',
 'editconflict' => 'সম্পাদনা দ্বন্দ্ব: $1',
-'explainconflict' => "à¦\86পà§\81নি à¦¸à¦®à§\8dপাদনা à¦\86ৰমà§\8dভ à¦\95ৰাৰ à¦ªà¦¾à¦\9bত à¦\86ন à¦\95à§\8bনà§\8bবাà¦\87 à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\96ন সলনি কৰিলে।
+'explainconflict' => "à¦\86পà§\81নি à¦¸à¦®à§\8dপাদনা à¦\86ৰমà§\8dভ à¦\95ৰাৰ à¦ªà¦¾à¦\9bত à¦\86ন à¦\95à§\8bনà§\8bবাà¦\87 à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b সলনি কৰিলে।
 পাঠ্য-স্থানৰ উপৰ ভাগত এই পৃষ্ঠাৰ প্ৰচলিত পাঠ্য দিয়া হৈছে।
 আপোনাৰ সলনিসমূহ পাঠ্য-স্থানৰ তলৰ ভাগত দেখুওৱা হৈছে।
 আপুনি আপোনাৰ সালসলনিসমূহ প্ৰচলিত পাঠ্যত অন্তৰ্ভুক্ত কৰিব পাৰে।
@@ -984,9 +984,9 @@ $1ৰ দ্বাৰা এই অৱৰোধ কৰা হৈছে ।
 আপোনাৰ সুবিধাৰ বাবে পৃষ্ঠাৰ সাম্প্ৰতিক ল'গ সংৰক্ষণ তলত দিয়া হ'ল ।",
 'semiprotectedpagewarning' => "টোকা: এই পৃষ্ঠা বন্ধ ৰখা হৈছে; কেৱল পঞ্জীভূত সদস্যই হে সম্পাদনা কৰিব পাৰিব ।
 আপোনাৰ সুবিধাৰ বাবে পৃষ্ঠাৰ সাম্প্ৰতিক ল'গ সংৰক্ষণ তলত দিয়া হ'ল ।",
-'cascadeprotectedwarning' => "'''সতৰà§\8dà¦\95বাণà§\80:''' à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\96ন à¦¸à§\81ৰà¦\95à§\8dষিত à¦\95ৰি à§°à¦\96া à¦¹à§\88à¦\9bà§\87 à¦¯à¦¾à¦¤à§\87 à¦\95à§\87ৱল à¦ªà§\8dৰশাসনিà¦\95 à¦\95à§\8dষমতা à¦¥à¦\95া à¦¸à¦¦à¦¸à§\8dযà¦\87 à¦\87য়াà¦\95 à¦¸à¦®à§\8dপাদনা à¦\95ৰিব à¦ªà¦¾à§°à§\87, à¦\95াৰণ à¦\87 à¦ªà§\8dৰপাতাà¦\95াৰ-সà§\81ৰà¦\95à§\8dষিত  {{PLURAL:$1|পà§\83ষà§\8dঠাà¦\96নৰ|পৃষ্ঠাবোৰৰ}} অন্তৰ্ভুক্ত:",
-'titleprotectedwarning' => "'''সতৰà§\8dà¦\95বাণà§\80: à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\96ন সুৰক্ষিত কৰা হৈছে যাতে কেৱল [[Special:ListGroupRights|specific rights]] সদস্যই ইয়াক তৈয়াৰ কৰিব পাৰে ।'''
-à¦\86পà§\8bনাৰ à¦¸à§\81বিধাৰà§\8dথà§\87 à¦²à¦\97ৰ à¦¶à§\87হতà§\80য়া à¦­à§°à§\8dতি à¦¤à¦²à¦¤ à¦¦à¦¿à¦¯à¦¼à¦¾ à¦¹â\80\99ল ।",
+'cascadeprotectedwarning' => "'''সতৰà§\8dà¦\95বাণà§\80:''' à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b à¦¸à§\81ৰà¦\95à§\8dষিত à¦\95ৰি à§°à¦\96া à¦¹à§\88à¦\9bà§\87 à¦¯à¦¾à¦¤à§\87 à¦\95à§\87ৱল à¦ªà§\8dৰশাসনিà¦\95 à¦\95à§\8dষমতা à¦¥à¦\95া à¦¸à¦¦à¦¸à§\8dযà¦\87 à¦\87য়াà¦\95 à¦¸à¦®à§\8dপাদনা à¦\95ৰিব à¦ªà¦¾à§°à§\87, à¦\95াৰণ à¦\87 à¦ªà§\8dৰপাতাà¦\95াৰ-সà§\81ৰà¦\95à§\8dষিত  {{PLURAL:$1|পà§\83ষà§\8dঠাà¦\9fà§\8bৰ|পৃষ্ঠাবোৰৰ}} অন্তৰ্ভুক্ত:",
+'titleprotectedwarning' => "'''সতৰà§\8dà¦\95বাণà§\80: à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b সুৰক্ষিত কৰা হৈছে যাতে কেৱল [[Special:ListGroupRights|specific rights]] সদস্যই ইয়াক তৈয়াৰ কৰিব পাৰে ।'''
+à¦\86পà§\8bনাৰ à¦¸à§\81বিধাৰà§\8dথà§\87 à¦\85ভিলà§\87à¦\96ৰ à¦¶à§\87হতà§\80য়া à¦­à§°à§\8dতি à¦¤à¦²à¦¤ à¦¦à¦¿à¦¯à¦¼à¦¾ à¦¹â\80\99ল।",
 'templatesused' => 'এই পৃষ্ঠাত ব্যৱহৃত {{PLURAL:$1|সাঁচ|সাঁচ সমূহ}}:',
 'templatesusedpreview' => 'এই খচৰাত ব্যৱহৃত {{PLURAL:$1|সাঁচ|সাঁচ সমূহ}}:',
 'templatesusedsection' => 'এই দফাত ব্যৱহৃত {{PLURAL:$1|সাঁচ|সাঁচ সমূহ}}:',
@@ -1214,7 +1214,7 @@ $1",
 'mergehistory-submit' => 'সংস্কৰণসমূহ মিলাই দিয়ক',
 'mergehistory-empty' => 'কোনো সংস্কৰণ একত্ৰিত কৰিব নোৱাৰি ।',
 'mergehistory-success' => '[[:$1]] ৰ $3 {{PLURAL:$3| টা সংশোধন|টা সংশোধন}}  [[:$2]] ৰ লগত সফলতাৰে একত্ৰিত কৰা হ’ল ।',
-'mergehistory-fail' => 'ইতিহাস একত্ৰিত কৰিব পৰা নগ’ল । অনুগ্ৰহ কৰি পৃষ্ঠাখন আৰু সময়ৰ পাৰামিটাৰ পুনৰ পৰীক্ষা কৰক ।',
+'mergehistory-fail' => 'ইতিহাস একত্ৰিত কৰিব পৰা নগ’ল। অনুগ্ৰহ কৰি পৃষ্ঠাটো আৰু সময়ৰ পাৰামিটাৰ পুনৰ পৰীক্ষা কৰক।',
 'mergehistory-no-source' => '$1 নামৰ কোনো উৎস পৃষ্ঠৰ অস্তিত্ব নাই ।',
 'mergehistory-no-destination' => '$1 নামৰ কোনো গন্তব্য পৃষ্ঠাৰ অস্তিত্ব নাই ।',
 'mergehistory-invalid-source' => 'উৎস পৃষ্ঠাৰ অৱশ্যেই বৈধ শিৰোনামা থাকিব লাগিব ।',
@@ -1264,7 +1264,7 @@ $1",
 'viewprevnext' => '($1 {{int:pipe-separator}} $2) ($3) চাওক।',
 'searchmenu-exists' => "'''এই ৱিকিত \"[[:\$1]]\" নামৰ এটা পৃষ্ঠা আছে।'''
 {{PLURAL:\$2|0=|আন সন্ধান ফলাফলবোৰ চাওক।}}",
-'searchmenu-new' => '<strong>à¦\8fà¦\87 à§±à¦¿à¦\95িত "[[:$1]]" à¦ªà§\83ষà§\8dঠাà¦\96ন সৃষ্টি কৰক!</strong> 
+'searchmenu-new' => '<strong>à¦\8fà¦\87 à§±à¦¿à¦\95িত "[[:$1]]" à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b সৃষ্টি কৰক!</strong> 
 {{PLURAL:$2|0=|আপোনাৰ সন্ধানত পোৱা পৃষ্ঠাবোৰো চাওক।|সন্ধান ফলাফলসমূহো চাওক।}}',
 'searchprofile-articles' => 'বিষয়বস্তুৰ পৃষ্ঠা',
 'searchprofile-project' => 'সহায় আৰু প্ৰকল্প পৃষ্ঠাসমূহ',
@@ -1504,7 +1504,7 @@ $1",
 'right-deletedhistory' => 'বিলোপ কৰা ইতিহাসৰ ভৰ্তি সংশ্লিষ্ট লেখা অবিহনে চাওক',
 'right-deletedtext' => 'বিলোপ কৰা লেখা আৰু বিলোপ কৰা সংশোধনসমূহৰ মাজত হোৱা সালসলনি চাওক',
 'right-browsearchive' => 'বিলোপ কৰা পৃষ্ঠা অনুসন্ধান কৰক',
-'right-undelete' => 'পà§\83ষà§\8dঠাà¦\96ন পুনৰুদ্ধাৰ কৰক',
+'right-undelete' => 'পà§\83ষà§\8dঠাà¦\9fà§\8b পুনৰুদ্ধাৰ কৰক',
 'right-suppressrevision' => 'প্ৰশাসকৰ পৰা লুকুৱাই ৰখা সংশোধনসমূহ পুনৰ্নিৰীক্ষণ কৰি আগৰ ঠাইলৈ পঠিয়াওক',
 'right-suppressionlog' => "ব্যক্তিগত ল'গবোৰ চাওক",
 'right-block' => 'আন সদস্যক সম্পাদনা কৰাৰ পৰা বাৰণ কৰক',
@@ -2077,8 +2077,8 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization চাওক।",
 'nmemberschanged' => '$1 → $2 {{PLURAL:$2|জন সদস্য}}',
 'nrevisions' => '$1টা {{PLURAL:$1|সংশোধন|সংশোধন}}',
 'nviews' => '$1 {{PLURAL:$1|টা দৰ্শন|টা দৰ্শন}}',
-'nimagelinks' => '$1 {{PLURAL:$1|à¦\96ন à¦ªà§\83ষà§\8dঠাত|à¦\96ন পৃষ্ঠাত}} ব্যৱহৃত',
-'ntransclusions' => '$1 {{PLURAL:$1|à¦\96ন à¦ªà§\83ষà§\8dঠাত|à¦\96ন পৃষ্ঠাত}} ব্যৱহৃত',
+'nimagelinks' => '$1 {{PLURAL:$1|à¦\9fা পৃষ্ঠাত}} ব্যৱহৃত',
+'ntransclusions' => '$1 {{PLURAL:$1|à¦\9fা পৃষ্ঠাত}} ব্যৱহৃত',
 'specialpage-empty' => 'এই বিৱৰণৰ কোনো ফলাফল নাই ।',
 'lonelypages' => 'অনাথ পৃষ্ঠা',
 'lonelypagestext' => 'তলৰ পৃষ্ঠাসমূহ {{SITENAME}}ৰ কোনো পৃষ্ঠাৰ লগত সংযোগকৃত নহয় ।',
@@ -2138,7 +2138,7 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization চাওক।",
 'pager-newer-n' => '{{PLURAL:$1|নতুনতৰ ১টি|নতুনতৰ $1টি}}',
 'pager-older-n' => '{{PLURAL:$1|পুৰণতৰ ১|পুৰণতৰ $1}}',
 'suppress' => 'অমনোযোগ',
-'querypage-disabled' => 'à¦\95াৰà§\8dযà§\8dযà¦\97ত à¦\95াৰণত à¦\8fà¦\87 à¦¬à¦¿à¦¶à§\87ষ à¦ªà§\83ষà§\8dঠাà¦\96ন à¦¨à¦¿à¦·à§\8dà¦\95à§\8dৰিয় à¦\95ৰা à¦¹à§\88à¦\9bà§\87 ।',
+'querypage-disabled' => 'à¦\95াৰà§\8dযà§\8dযà¦\97ত à¦\95াৰণত à¦\8fà¦\87 à¦¬à¦¿à¦¶à§\87ষ à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b à¦¨à¦¿à¦·à§\8dà¦\95à§\8dৰিয় à¦\95ৰা à¦¹à§\88à¦\9bà§\87।',
 
 # Book sources
 'booksources' => 'গ্ৰন্থৰ উৎস সমূহ',
@@ -2284,7 +2284,7 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization চাওক।",
 'watchnologin' => 'প্ৰৱেশ কৰা নাই',
 'watchnologintext' => 'নিৰীক্ষণ তালিকা পৰিৱৰ্তন কৰিবলৈ আপুনি আগতে [[Special:UserLogin|প্ৰৱেশ]] কৰিব লাগিব ।',
 'addwatch' => 'লক্ষ্য-তালিকাত অন্তৰ্ভুক্ত কৰক',
-'addedwatchtext' => 'à¦\86পà§\8bনাৰ [[Special:Watchlist|লà¦\95à§\8dষà§\8dয à¦¤à¦¾à¦²à¦¿à¦\95াত ]] "[[:$1]]" à¦ªà§\83ষà§\8dঠাà¦\96ন অন্তৰ্ভুক্ত কৰা হ\'ল।
+'addedwatchtext' => 'à¦\86পà§\8bনাৰ [[Special:Watchlist|লà¦\95à§\8dষà§\8dয à¦¤à¦¾à¦²à¦¿à¦\95াত ]] "[[:$1]]" à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b অন্তৰ্ভুক্ত কৰা হ\'ল।
 ভৱিষ্যতে এই পৃষ্ঠা বা ইয়াৰ আলোচনা পৃষ্ঠাত হোৱা সাল-সলনি আপুনি আপোনাৰ লক্ষ্য তালিকাত দেখিব।',
 'removewatch' => 'লক্ষ্য-তালিকাৰ পৰা আঁতৰাওক',
 'removedwatchtext' => '"[[:$1]]" পৃষ্ঠাটো [[Special:Watchlist|আপোনাৰ লক্ষ্য-তালিকা]]ৰ পৰা আঁতৰোৱা হৈছে ।',
@@ -2299,7 +2299,7 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization চাওক।",
 'wlheader-showupdated' => "আপোনাৰ শেষ পৰিদৰ্শনৰ পিছত সলনি হোৱা পৃষ্ঠাসমূহ '''গাঢ়''' আখৰত দেখুওৱা হৈছে।",
 'watchmethod-recent' => 'লক্ষ্য কৰা পৃষ্ঠাসমূহ শেহতীয়া সম্পাদনাৰ বাবে পৰীক্ষা কৰা হৈছে',
 'watchmethod-list' => 'লক্ষ্য কৰা পৃষ্ঠাসমূহ শেহতীয়া সম্পাদনাৰ বাবে পৰীক্ষা কৰা হৈছে',
-'watchlistcontains' => 'আপোনাৰ লক্ষ্য-তালিকাত $1 খন {{PLURAL:$1|পৃষ্ঠা|পৃষ্ঠা}} আছে ।',
+'watchlistcontains' => 'আপোনাৰ লক্ষ্য-তালিকাত $1টা {{PLURAL:$1|পৃষ্ঠা}} আছে ।',
 'iteminvalidname' => "'$1' আইটেমটোৰ লগত সমস্যা হৈছে, অবৈধ নাম...",
 'wlshowlast' => 'যোৱা $1 ঘণ্টা $2 দিন $3 চাওক',
 'watchlist-options' => 'লক্ষ্য-তালিকা পছন্দসমূহ',
@@ -2399,14 +2399,14 @@ $UNWATCHURL
 'rollbackfailed' => 'পূৰ্ববৎ ব্যৰ্থ',
 'cantrollback' => 'পূৰ্বৰ অৱস্থালৈ ঘূৰাই নিব নোৱাৰি;
 শেষৰ সম্পাদকজন এই পৃষ্ঠাৰ একমাত্ৰ লেখক ।',
-'alreadyrolled' => "[[User:$2|$2]] ([[User talk:$2|à¦\86লà§\8bà¦\9aনা]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]])à¦\8f à¦\95ৰা [[:$1]]ৰ à¦¶à§\87ষ à¦¸à¦®à§\8dপাদনা à¦ªà§\82ৰà§\8dবাৱসà§\8dথালà§\88 à¦\98à§\82ৰাà¦\87 à¦¨à¦¿à¦¬ à¦¨à§\8bৱাৰি; à¦\95à§\8bনà§\8bবাà¦\87 à¦\87তিমধà§\8dযà§\87 à¦ªà§\83ষà§\8dঠাà¦\96ন সম্পাদনা বা ৰ'লবেক কৰিছে ।
+'alreadyrolled' => "[[User:$2|$2]] ([[User talk:$2|à¦\86লà§\8bà¦\9aনা]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]])à¦\8f à¦\95ৰা [[:$1]]ৰ à¦¶à§\87ষ à¦¸à¦®à§\8dপাদনা à¦ªà§\82ৰà§\8dবাৱসà§\8dথালà§\88 à¦\98à§\82ৰাà¦\87 à¦¨à¦¿à¦¬ à¦¨à§\8bৱাৰি; à¦\95à§\8bনà§\8bবাà¦\87 à¦\87তিমধà§\8dযà§\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b সম্পাদনা বা ৰ'লবেক কৰিছে ।
 
 [[User:$3|$3]] ([[User talk:$3|আলোচনা]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]])ই এই পৃষ্ঠাৰ শেষ সম্পাদনা কৰিছিল ।",
 'editcomment' => "সম্পাদনাৰ সাৰাংশ আছিল: \"''\$1''\"।",
 'revertpage' => '[[Special:Contributions/$2|$2]] ([[User talk:$2|কথা-বতৰা]])ৰ সম্পাদনাসমূহ [[User:$1|$1]]য়ে কৰা শেষ সংশোধনলৈ ঘূৰাই নিয়া হৈছে ।',
 'revertpage-nouser' => 'এজন গোপন ব্যৱহাৰকাৰীয়ে কৰা সম্পাদনা {{GENDER:$1|[[User:$1|$1]]}}-য়ে কৰা শেষ সংশোধনীলৈ ঘূৰাই নিয়া হৈছে।',
 'rollback-success' => '$1 ৰ সম্পাদনাসমূহ পূৰ্বৰ অৱস্থালৈ ঘূৰাই নিয়া হৈছে;
-পà§\83ষà§\8dঠাà¦\96ন $2 য়ে কৰা শেষ সংশোধনীলৈ ঘূৰাই নিয়া হৈছে ।',
+পà§\83ষà§\8dঠাà¦\9fà§\8b $2 য়ে কৰা শেষ সংশোধনীলৈ ঘূৰাই নিয়া হৈছে ।',
 
 # Edit tokens
 'sessionfailure-title' => 'ছেছন বিফল',
@@ -2427,7 +2427,7 @@ $UNWATCHURL
 'prot_1movedto2' => '$1 ক $2 লৈ স্থানান্তৰিত কৰা হল',
 'protect-badnamespace-title' => 'অসুৰক্ষিত নামস্থান',
 'protect-badnamespace-text' => 'এই নামস্থানৰ পৃষ্ঠাসমূহ সুৰক্ষিত কৰিব নোৱাৰি।',
-'protect-norestrictiontypes-text' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\96ন সুৰক্ষিত কৰিব নোৱাৰি কাৰণ কোনো বাধা প্ৰকাৰ নাই।',
+'protect-norestrictiontypes-text' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b সুৰক্ষিত কৰিব নোৱাৰি কাৰণ কোনো বাধা প্ৰকাৰ নাই।',
 'protect-norestrictiontypes-title' => 'সুৰক্ষা প্ৰযোজ্য নোহোৱা পৃষ্ঠা',
 'protect-legend' => 'সুৰক্ষা নিশ্চিত কৰক',
 'protectcomment' => 'কাৰণ:',
@@ -2442,7 +2442,7 @@ $UNWATCHURL
 '''$1''' পৃষ্ঠাৰ বৰ্তমান ছেটিং সমূহ ইয়াত দিয়া হ’ল:",
 'protect-locked-access' => "এই পৃষ্ঠাটোৰ সুৰক্ষা-স্তৰ সলনি কৰাৰ অনুমতি আপোনাক দিয়া হোৱা নাই ।
 '''$1''' পৃষ্ঠাখনৰ সুৰক্ষা-স্তৰৰ গাঁথনি ইয়াত আছে:",
-'protect-cascadeon' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\96ন বৰ্তমান সুৰক্ষিত কাৰণ ই {{PLURAL:$1|খন পৃষ্ঠাৰ|খন পৃষ্ঠাৰ}} অন্তৰ্গত য’ত প্ৰপাতাকাৰ সুৰক্ষা সক্ৰিয় ।
+'protect-cascadeon' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b বৰ্তমান সুৰক্ষিত কাৰণ ই {{PLURAL:$1|খন পৃষ্ঠাৰ|খন পৃষ্ঠাৰ}} অন্তৰ্গত য’ত প্ৰপাতাকাৰ সুৰক্ষা সক্ৰিয় ।
 আপুনি এই পৃষ্ঠাৰ সুৰক্ষা স্তৰ সলাব পাৰে কিন্তু সি প্ৰপাতাকাৰ সুৰক্ষাত কোনো প্ৰভাৱ নেপেলায ।',
 'protect-default' => 'সকলো ব্যৱহাৰকাৰীৰ বাবে',
 'protect-fallback' => 'কেৱল "$1" অনুমতি থকা ব্যৱহাৰকাৰীকহে সুযোগ দিয়া হয়',
@@ -2488,17 +2488,17 @@ $UNWATCHURL
 'undeletepage' => 'বিলোপ কৰা পৃষ্ঠাসমূহ চাওক আৰু পুনৰুদ্ধাৰ কৰক',
 'undeletepagetitle' => "'''ইয়াত [[:$1|$1]]ৰ বিলোপ কৰা সংশোধনসমূহ পাব''' ।",
 'viewdeletedpage' => 'বিলোপ কৰা পৃষ্ঠাসমূহ চাওক',
-'undeletepagetext' => 'তলৰ {{PLURAL:$1|পà§\83ষà§\8dঠাà¦\96ন বিলোপ কৰা হৈছে কিন্তু সেয়া|$1 পৃষ্ঠাসমূহ বিলোপ কৰা হৈছে কিন্তু সেয়া}} এতিয়াও আৰ্কাইভত আছে আৰু পুনৰুদ্ধাৰ সম্ভৱ ।
+'undeletepagetext' => 'তলৰ {{PLURAL:$1|পà§\83ষà§\8dঠাà¦\9fà§\8b বিলোপ কৰা হৈছে কিন্তু সেয়া|$1 পৃষ্ঠাসমূহ বিলোপ কৰা হৈছে কিন্তু সেয়া}} এতিয়াও আৰ্কাইভত আছে আৰু পুনৰুদ্ধাৰ সম্ভৱ ।
 আৰ্কাইভটো সময়ে সময়ে পৰিষ্কাৰ কৰা হ’ব পাৰে ।',
 'undelete-fieldset-title' => 'সংশোধনসমূহ পুনৰুদ্ধাৰ কৰক',
 'undeleteextrahelp' => "পৃষ্ঠাখনৰ সম্পূৰ্ণ ইতিহাস পুনৰুদ্ধাৰ কৰিবলৈ সকলো ঘৰ টিক দিয়ক ৰাখক আৰু '''''{{int:undeletebtn}}'''''ত ক্লিক কৰক ।
 নিৰ্বাচিত পুনৰুদ্ধাৰ কৰিবলৈ বাছি লোৱা সংশোধনসমূহৰ কাষত থকা ঘৰবোৰত টিক দিয়ক আৰু '''''{{int:undeletebtn}}'''''ত ক্লিক কৰক ।",
 'undeleterevisions' => '$1 {{PLURAL:$1|টা সংশোধন|টা সংশোধন}} আৰ্কাইভত আছে',
-'undeletehistory' => 'যদি à¦\86পà§\81নি à¦ªà§\83ষà§\8dঠাà¦\96ন পুনৰুদ্ধাৰ কৰে, তাৰ সকলো সংশোধন ইতিহাসলৈ ঘূৰি যাব ।
+'undeletehistory' => 'যদি à¦\86পà§\81নি à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b পুনৰুদ্ধাৰ কৰে, তাৰ সকলো সংশোধন ইতিহাসলৈ ঘূৰি যাব ।
 যদি বিলোপৰ পিছত একে নামৰ নতুন পৃষ্ঠা সৃষ্টি কৰা হৈছে, তেন্তে পুনৰুদ্ধাৰ হোৱা সংশোধনসমূহ পূৰ্বৰ ইতিহাসত দেখা যাব ।',
 'undeleterevdel' => 'শীৰ্ষ পৃষ্ঠা বা ফাইল সংশোধন আংশিকভাৱে বিলোপ হোৱাৰ সম্ভাৱনা থাকিলে বিলোপ বাতিল কৰা নহ’ব ।
 তেনে ক্ষেত্ৰত আপুনি নতুনকৈ বিলোপ কৰা সংশোধন অনিৰ্বাচিত আৰু অগোপন কৰক ।',
-'undeletehistorynoadmin' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\96ন বিলোপ কৰা হৈছে ।
+'undeletehistorynoadmin' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b বিলোপ কৰা হৈছে ।
 অৱলুপিৰ কাৰণ তলত দিয়া হ’ল । অৱলুপ্তিৰ আগতে যিজন সদস্যই ইয়াৰ সম্পাদনা কৰিছিল তেওঁৰো সবিশেষ তলত দিয়া হ’ল ।
 বিলোপ কৰা সংশোধনসমূহৰ প্ৰকৃত পাঠ কেৱল প্ৰশাসকেহে দেখা পাব ।',
 'undelete-revision' => '$3-এ কৰা $1ৰ সংশোধন ($4 তাৰিখ, $5 সময়ৰ) বিলোপ কৰা হৈছে:',
@@ -2739,7 +2739,7 @@ $1ৰ অৱৰোধৰ কাৰণ: "$2"',
 
 # Move page
 'move-page' => '$1 স্থানান্তৰ কৰক',
-'move-page-legend' => 'পà§\83ষà§\8dঠাà¦\96ন স্থানান্তৰ কৰক',
+'move-page-legend' => 'পà§\83ষà§\8dঠাà¦\9fà§\8b স্থানান্তৰ কৰক',
 'movepagetext' => "তলৰ প্ৰপত্ৰ ব্যৱহাৰ কৰিলে এই পৃষ্ঠাৰ শিৰোনাম সলনি হ'ব, লগতে সমগ্ৰ ইতিহাস নতুন শিৰোনামলৈ স্থানান্তৰ কৰা হ'ব।
 পুৰণা শিৰোনামটো নতুন শিৰোনামালৈ এটা পুনৰ্নিৰ্দেশনা হৈ ৰ'ব।
 পুৰণা শিৰোনামলৈ পোনাৱা পুনৰ্নিৰ্দেশনাসমূহ আপুনি স্বয়ংক্ৰিয়ভাৱে আপডে'ট কৰিব পাৰিব।
@@ -2776,8 +2776,8 @@ $1ৰ অৱৰোধৰ কাৰণ: "$2"',
 'cant-move-user-page' => 'সদস্য পৃষ্ঠা স্থানান্তৰ কৰিবলৈ আপুনাৰ অনুমতি নাই (উপ-পৃষ্ঠাৰ বাহিৰে)।',
 'cant-move-to-user-page' => 'সদস্যপৃষ্ঠালৈ কোনো পৃষ্ঠা স্থানান্তৰ কৰাৰ অনুমতি আপোনাৰ নাই (কেৱল সদস্য উপপৃষ্ঠাৰ বাহিৰে ) ।',
 'newtitle' => 'নতুন শিৰোনামালৈ:',
-'move-watch' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\96ন লক্ষ্য কৰক',
-'movepagebtn' => 'পà§\83ষà§\8dঠাà¦\96ন স্থানান্তৰ কৰক',
+'move-watch' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b লক্ষ্য কৰক',
+'movepagebtn' => 'পà§\83ষà§\8dঠাà¦\9fà§\8b স্থানান্তৰ কৰক',
 'pagemovedsub' => 'স্থানান্তৰ সফল হ’ল',
 'movepage-moved' => "'''“$1”ক “$2”লৈ স্থানান্তৰ কৰা হৈছে'''",
 'movepage-moved-redirect' => 'এটি পুনৰ্নিদেশনা সৃষ্টি কৰা হৈছে',
@@ -2789,13 +2789,13 @@ $1ৰ অৱৰোধৰ কাৰণ: "$2"',
 'move-subpages' => 'উপ-পৃষ্ঠাসমূহ স্থানান্তৰ কৰক ($1লৈ)',
 'move-talk-subpages' => 'আলোচনা পৃষ্ঠাৰ উপ-পৃষ্ঠাসমূহ স্থানান্তৰ কৰক ($1-লৈ)',
 'movepage-page-exists' => '$1 পৃষ্ঠাখন ইতিমধ্যেই আছে আৰু তাৰ ওপৰত স্বয়ংক্ৰিয়ভাৱে লিখিব নোৱাৰি ।',
-'movepage-page-moved' => "$1 à¦ªà§\83ষà§\8dঠাà¦\96ন $2লৈ স্থানান্তৰ কৰা হ'ল।",
-'movepage-page-unmoved' => '$1 à¦ªà§\83ষà§\8dঠাà¦\96ন $2লৈ স্থানান্তৰ কৰা সম্ভৱ নহয়',
+'movepage-page-moved' => "$1 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b $2লৈ স্থানান্তৰ কৰা হ'ল।",
+'movepage-page-unmoved' => '$1 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b $2লৈ স্থানান্তৰ কৰা সম্ভৱ নহয়',
 'movepage-max-pages' => 'সৰ্বোচ্চ $1 {{PLURAL:$1|পৃষ্ঠা|পৃষ্ঠা}} স্থানান্তৰ কৰা হৈছে আৰু ইয়াতকৈ অধিক স্বয়ংক্ৰিয়ভাৱে স্থানান্তৰ নহ’ব ।',
 'movelogpage' => 'স্থানান্তৰন অভিলেখ',
 'movelogpagetext' => 'সকলো পৃষ্ঠা স্থানান্তৰৰ এখন তালিকা তলত দিয়া হৈছে ।',
-'movesubpage' => '{{PLURAL:$1|à¦\96ন à¦\89পপà§\83ষà§\8dঠা|à¦\96ন উপপৃষ্ঠা}}',
-'movesubpagetext' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\96নৰ à¦¤à¦²à¦¤ à¦¦à¦¿à¦¯à¦¼à¦¾ {{PLURAL:$1|à¦\96ন à¦\89পপà§\83ষà§\8dঠা|à¦\96ন উপপৃষ্ঠা}} আছে ।',
+'movesubpage' => '{{PLURAL:$1|à¦\9fা উপপৃষ্ঠা}}',
+'movesubpagetext' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\96নৰ à¦¤à¦²à¦¤ à¦¦à¦¿à¦¯à¦¼à¦¾ {{PLURAL:$1|à¦\9fা উপপৃষ্ঠা}} আছে ।',
 'movenosubpage' => 'এই পৃষ্ঠাৰ কোনো উপপৃষ্ঠা নাই ।',
 'movereason' => 'কাৰণ:',
 'revertmove' => 'আগৰ অৱস্থালৈ ঘূৰি যাওক',
@@ -2803,14 +2803,14 @@ $1ৰ অৱৰোধৰ কাৰণ: "$2"',
 'delete_and_move_text' => '== বিলোপন আৱশ্যক ==
 লক্ষ্য পৃষ্ঠা "[[:$1]]" ইতিমেধ্যে আছেই ।
 আপুনি স্থানান্তৰ কৰিবলৈ এইখন বিলোপ কৰিব খুজিছে নেকি ?',
-'delete_and_move_confirm' => 'হয়, à¦ªà§\83ষà§\8dঠাà¦\96ন বিলোপ কৰক',
+'delete_and_move_confirm' => 'হয়, à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b বিলোপ কৰক',
 'delete_and_move_reason' => '"[[$1]]"ৰ পৰা স্থানান্তৰৰ স্বাৰ্থত বিলোপ কৰা হৈছে',
 'selfmove' => 'উৎস আৰু লক্ষ্য শিৰোনামা একেই;
 কোনো পৃষ্ঠাক একেখন পৃষ্ঠালৈ স্থানান্তৰ কৰিব নোৱাৰি ।',
 'immobile-source-namespace' => '"$1" নামস্থানত পৃষ্ঠা স্থানান্তৰ কৰিব নোৱাৰি',
 'immobile-target-namespace' => '"$1" নামস্থানলৈ পৃষ্ঠা স্থানান্তৰ কৰিব নোৱাৰি',
 'immobile-target-namespace-iw' => 'পৃষ্ঠা স্থানান্তৰৰ বাবে আন্তঃৱিকি সংযোগ বৈধ গন্তব্যস্থল নহয় ।',
-'immobile-source-page' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\96ন স্থানান্তৰ কৰিব নোৱাৰি ।',
+'immobile-source-page' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b স্থানান্তৰ কৰিব নোৱাৰি ।',
 'immobile-target-page' => 'গন্তব্য শিৰোনামালৈ স্থানান্তৰ কৰিব পৰা নাযাব ।',
 'bad-target-model' => 'কাংক্ষিত লক্ষ্যস্থানৰ সমলৰ মডেলৰ সতে মিলা নাই।   $1ৰ পৰা $2লৈ সলনি কৰিব পৰা নগ’ল।',
 'imagenocrossnamespace' => 'অনা-ফাইল নামস্থানলৈ ফাইল স্থানান্তৰ কৰিব নোৱাৰি',
@@ -2928,10 +2928,10 @@ $2',
 'import-token-mismatch' => 'ছেছন তথ্য হেৰাই গৈছে ।
 অনুগ্ৰহ কৰি পুনৰ চেষ্টা কৰক ।',
 'import-invalid-interwiki' => 'নিৰ্ধাৰিত ৱিকিৰ পৰা আমদানি কৰিব নোৱাৰি ।',
-'import-error-edit' => '"$1" à¦ªà§\83ষà§\8dঠাà¦\96ন আমদানি কৰা নহ\'ল কাৰণ ইয়াক সম্পাদনা কৰিবলৈ আপোনাৰ অনুমতি নাই।',
-'import-error-create' => '"$1" à¦ªà§\83ষà§\8dঠাà¦\96ন আমদানি কৰা নহ\'ল কাৰণ ইয়াক সৃষ্টি কৰিবলৈ আপোনাৰ অনুমতি নাই।',
-'import-error-interwiki' => '"$1" à¦ªà§\83ষà§\8dঠাà¦\96ন আমদানি কৰা নহ\'ল কাৰণ ইয়াৰ নামটো বাহিৰা সংযোগৰ (আন্তঃৱিকি) বাবে সংৰক্ষিত।',
-'import-error-special' => '"$1" à¦ªà§\83ষà§\8dঠাà¦\96ন আমদানি কৰা নহ\'ল কাৰণ ই পৃষ্ঠা অনুমোদন নকৰা এটা বিশেষ নামস্থানৰ অন্তৰ্গত।',
+'import-error-edit' => '"$1" à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b আমদানি কৰা নহ\'ল কাৰণ ইয়াক সম্পাদনা কৰিবলৈ আপোনাৰ অনুমতি নাই।',
+'import-error-create' => '"$1" à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b আমদানি কৰা নহ\'ল কাৰণ ইয়াক সৃষ্টি কৰিবলৈ আপোনাৰ অনুমতি নাই।',
+'import-error-interwiki' => '"$1" à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b আমদানি কৰা নহ\'ল কাৰণ ইয়াৰ নামটো বাহিৰা সংযোগৰ (আন্তঃৱিকি) বাবে সংৰক্ষিত।',
+'import-error-special' => '"$1" à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b আমদানি কৰা নহ\'ল কাৰণ ই পৃষ্ঠা অনুমোদন নকৰা এটা বিশেষ নামস্থানৰ অন্তৰ্গত।',
 'import-error-invalid' => '"$1" পৃষ্ঠাখন আমদানি কৰা নহ\'ল কাৰণ ইয়াৰ নামটো অবৈধ।',
 'import-error-unserialize' => ' "$1" পৃষ্ঠাৰ $2 সংশোধনৰ ক্ৰম আঁতৰ কৰিব পৰা নগ\'ল। এই সংশোধনে $4 ক্ৰমৰ সমল মডেল $3 ব্যৱহাৰ কৰা বুলি জনোৱা হৈছিল।',
 'import-options-wrong' => 'ভুল {{PLURAL:$2|বিকল্প|বিকল্পসমূহ}}: <nowiki>$1</nowiki>',
@@ -2949,7 +2949,7 @@ $2',
 # JavaScriptTest
 'javascripttest' => 'জাভাস্ক্ৰিপ্ট পৰীক্ষা।',
 'javascripttest-title' => '$1 পৰীক্ষাসমূহ চলোৱা হৈছে',
-'javascripttest-pagetext-noframework' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\96ন à¦\9cাভালিপি পৰীক্ষা চলোৱাৰ বাবে সংৰক্ষিত।',
+'javascripttest-pagetext-noframework' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b à¦\9cাভাসà§\8dà¦\95à§\8dৰিপà§\8dà¦\9f পৰীক্ষা চলোৱাৰ বাবে সংৰক্ষিত।',
 'javascripttest-pagetext-unknownframework' => 'অজ্ঞাত সম্পৰীক্ষা ফ্ৰেমৱৰ্ক "$1"।',
 'javascripttest-pagetext-frameworks' => 'অনুগ্ৰহ কৰি তলৰ যিকোনো এটা সম্পৰীক্ষা ফ্ৰেমৱৰ্ক বাছনি কৰক: $1',
 'javascripttest-pagetext-skins' => 'পৰীক্ষা কৰিবলৈ আৱৰণ এখন বাছনি কৰক:',
@@ -2969,15 +2969,15 @@ $2',
 'tooltip-ca-talk' => 'সংশ্লিষ্ট প্ৰবন্ধ সম্পৰ্কীয় আলোচনা',
 'tooltip-ca-edit' => 'আপুনি এই পৃষ্ঠাটো সালসলনি কৰিব পাৰে, অনুগ্ৰহ কৰি সালসলনি সাচী থোৱাৰ আগতে খচৰা চাই লব',
 'tooltip-ca-addsection' => 'নতুন অনুচ্ছেদ আৰম্ভ কৰক',
-'tooltip-ca-viewsource' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\96ন সুৰক্ষিত কৰা হৈছে, আপুনি ইয়াৰ উৎস চাব পাৰে।',
+'tooltip-ca-viewsource' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b সুৰক্ষিত কৰা হৈছে, আপুনি ইয়াৰ উৎস চাব পাৰে।',
 'tooltip-ca-history' => 'এই পৃষ্ঠাৰ যোৱা সংস্কৰণসমূহ',
-'tooltip-ca-protect' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\96ন সুৰক্ষিত কৰক',
+'tooltip-ca-protect' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b সুৰক্ষিত কৰক',
 'tooltip-ca-unprotect' => 'এই পৃষ্ঠাৰ সুৰক্ষা সলনি কৰক',
-'tooltip-ca-delete' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\96ন বিলোপ কৰক',
+'tooltip-ca-delete' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b বিলোপ কৰক',
 'tooltip-ca-undelete' => 'বিলোপ কৰাৰ আগেয়ে কৰা পৃষ্ঠাখনৰ সালসলনিসমূহ পুনঃসংস্থাপন কৰক',
-'tooltip-ca-move' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\96ন স্থানান্তৰিত কৰক',
-'tooltip-ca-watch' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\96ন আপোনাৰ লক্ষ্য-তালিকাত যোগ কৰক',
-'tooltip-ca-unwatch' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\96ন আপোনাৰ লক্ষ্য-তালিকাৰ পৰা আঁতৰাওক',
+'tooltip-ca-move' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b স্থানান্তৰিত কৰক',
+'tooltip-ca-watch' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b আপোনাৰ লক্ষ্য-তালিকাত যোগ কৰক',
+'tooltip-ca-unwatch' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b আপোনাৰ লক্ষ্য-তালিকাৰ পৰা আঁতৰাওক',
 'tooltip-search' => '{{SITENAME}} -ত সন্ধানাৰ্থে',
 'tooltip-search-go' => 'যদি আছে, তেহে ঠিক সেই নামৰ পৃষ্ঠালৈ যাওক',
 'tooltip-search-fulltext' => 'এই পাঠ পৃষ্ঠাসমূহত বিচাৰক',
@@ -3001,7 +3001,7 @@ $2',
 'tooltip-t-permalink' => 'পৃষ্ঠাৰ এই সংস্কৰণৰ স্থায়ী সংযোগ',
 'tooltip-ca-nstab-main' => 'এই ৱিকিৰ সূচী চাওক',
 'tooltip-ca-nstab-user' => 'সভ্যৰ ব্যক্তিগত পৃষ্ঠালৈ',
-'tooltip-ca-nstab-media' => 'মিডিয়া à¦ªà§\83ষà§\8dঠাà¦\96ন চাওক',
+'tooltip-ca-nstab-media' => 'মিডিয়া à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b চাওক',
 'tooltip-ca-nstab-special' => 'এইটো এটা বিশেষ পৃষ্ঠা, আপুনি সম্পাদনা কৰিব নোৱাৰে',
 'tooltip-ca-nstab-project' => 'প্ৰকল্প পৃষ্ঠা চাওক',
 'tooltip-ca-nstab-image' => 'নথিৰ পৃষ্ঠা চাওক',
@@ -3014,10 +3014,10 @@ $2',
 'tooltip-preview' => 'আপুনি কৰা সালসলনিবোৰৰ খচৰা চাওক, অনুগ্ৰহ কৰি সালসলনি সাঁচি থোৱাৰ আগতে ব্যৱহাৰ কৰক!',
 'tooltip-diff' => 'ইয়াত আপুনি কৰা সালসলনিবোৰ দেখুৱাওক',
 'tooltip-compareselectedversions' => 'এই পৃষ্ঠাত নিৰ্বাচিত দুটা সংশোধনৰ মাজত পাৰ্থক্য দেখুৱাওক',
-'tooltip-watch' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\96ন আপোনাৰ লক্ষ্য-তালিকাভুক্ত কৰক',
+'tooltip-watch' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b আপোনাৰ লক্ষ্য-তালিকাভুক্ত কৰক',
 'tooltip-watchlistedit-normal-submit' => 'শিৰোনামা আঁতৰাওক',
 'tooltip-watchlistedit-raw-submit' => 'লক্ষ্য-তালিকা আপডেট কৰক',
-'tooltip-recreate' => 'বিলà§\8bপ à¦\95ৰা à¦¸à¦¤à§\8dবà§\87à¦\93 à¦ªà§\83ষà§\8dঠাà¦\96ন পুনৰ সৃষ্টি কৰক',
+'tooltip-recreate' => 'বিলà§\8bপ à¦\95ৰা à¦¸à¦¤à§\8dবà§\87à¦\93 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b পুনৰ সৃষ্টি কৰক',
 'tooltip-upload' => "আপল'ড আৰম্ভ কৰক",
 'tooltip-rollback' => '"পূৰ্ববত" কৰিলে এটা ক্লিকত এই পৃষ্ঠাৰ শেষ অৱদানকাৰীৰ সম্পাদনা বাতিল কৰি ইয়াক পূৰ্বাৱস্থালৈ ঘূৰাই নিব।',
 'tooltip-undo' => '"বাতিল"এ এই সম্পাদনাক পূৰ্বাৱস্থালৈ ঘূৰাই নিব আৰু প্ৰাক্‌দৰ্শনৰ বাবে সম্পাদনাটো খুলিব। ই সম্পাদনা সাৰাংশত কাৰণ এটা লিখিবলৈ সুযোগ দিব।',
@@ -3031,7 +3031,7 @@ $2',
 'anonymous' => '{{SITENAME}}ৰ বেনামী {{PLURAL:$1|সদস্য|সদস্যসকল}}',
 'siteuser' => '{{SITENAME}} সদস্য $1',
 'anonuser' => '{{SITENAME}} বেনামী সদস্য $1',
-'lastmodifiedatby' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\96ন শেষবাৰৰ কাৰণে $1 তাৰিখে $2 বজাত $3ৰ দ্বাৰা সলনি কৰা হৈছিল',
+'lastmodifiedatby' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b শেষবাৰৰ কাৰণে $1 তাৰিখে $2 বজাত $3ৰ দ্বাৰা সলনি কৰা হৈছিল',
 'othercontribs' => '$1ৰ কাৰ্যৰ ওপৰত ভিত্তি কৰি',
 'others' => 'অন্যান্য',
 'siteusers' => '{{SITENAME}} {{PLURAL:$2|সদস্য|সদস্যসমূহ}} $1',
@@ -3100,7 +3100,7 @@ $2',
 
 # Patrolling
 'markaspatrolleddiff' => 'নিৰীক্ষিত বুলি চিহ্নিত কৰক',
-'markaspatrolledtext' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\96ন নিৰীক্ষিত বুলি চিহ্নিত কৰক',
+'markaspatrolledtext' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b নিৰীক্ষিত বুলি চিহ্নিত কৰক',
 'markedaspatrolled' => 'নিৰীক্ষিত বুলি চিহ্নিত কৰা হ’ল',
 'markedaspatrolledtext' => '[[:$1]] ৰ নিৰ্বাচিত সংশোধনীসমূহ নিৰীক্ষিত বুলি চিহ্নিত কৰা হৈছে ।',
 'rcpatroldisabled' => 'শেহতীয়া সালসলনিৰ নিৰীক্ষণ নিষ্ক্ৰিয় কৰা হৈছে',
@@ -3690,10 +3690,10 @@ $5
 'scarytranscludetoolong' => '[URL অত্যাধিক দীঘল]',
 
 # Delete conflict
-'deletedwhileediting' => "'''সতৰà§\8dà¦\95বাণà§\80''': à¦\86পà§\81নি à¦¸à¦®à§\8dপাদনা à¦\86ৰমà§\8dভ à¦\95ৰাৰ à¦ªà¦¿à¦\9bত à¦ªà§\83ষà§\8dঠাà¦\96ন বিলোপ কৰা হৈছে !",
-'confirmrecreate' => "à¦\86পà§\81নি à¦¸à¦®à§\8dপাদনা à¦\86ৰমà§\8dভ à¦\95ৰাৰ à¦ªà¦¿à¦\9bত à¦¸à¦¦à¦¸à§\8dয [[User:$1|$1]] ([[User talk:$1|à¦\86লà§\8bà¦\9aনা]])য়à§\87 à¦ªà§\83ষà§\8dঠাà¦\96ন বিলোপ কৰিছে, তাৰ কাৰণ:
+'deletedwhileediting' => "'''সতৰà§\8dà¦\95বাণà§\80''': à¦\86পà§\81নি à¦¸à¦®à§\8dপাদনা à¦\86ৰমà§\8dভ à¦\95ৰাৰ à¦ªà¦¾à¦\9bত à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b বিলোপ কৰা হৈছে !",
+'confirmrecreate' => "à¦\86পà§\81নি à¦¸à¦®à§\8dপাদনা à¦\86ৰমà§\8dভ à¦\95ৰাৰ à¦ªà¦¿à¦\9bত à¦¸à¦¦à¦¸à§\8dয [[User:$1|$1]] ([[User talk:$1|à¦\86লà§\8bà¦\9aনা]])য়à§\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b বিলোপ কৰিছে, তাৰ কাৰণ:
 : ''$2''
-à¦\86পà§\81নি à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\96ন আকৌ সৃষ্টি কৰিব খোজাটো নিশ্চিত কৰক ।",
+à¦\86পà§\81নি à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b আকৌ সৃষ্টি কৰিব খোজাটো নিশ্চিত কৰক ।",
 'confirmrecreate-noreason' => 'আপুনি সম্পাদনা আৰম্ভ কৰাৰ পিছত সদস্য [[User:$1|$1]] ([[User talk:$1|আলোচনা]])য়ে পৃষ্ঠাখন বিলোপ কৰিছে । আপুনি এই পৃষ্ঠাখন আকৌ সৃষ্টি কৰিব খোজাটো অনুগ্ৰহ কৰি নিশ্চিত কৰক ।',
 'recreate' => 'পুনৰ সৃষ্টি কৰক',
 
@@ -3704,9 +3704,9 @@ $5
 
 # action=watch/unwatch
 'confirm-watch-button' => 'শুদ্ধ',
-'confirm-watch-top' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\96ন à¦\86পà§\8bনাৰ à¦²à¦\95à§\8dষà§\8dয-তালিà¦\95াত à¦¯à§\8bà¦\97 à¦\95ৰà¦\95',
+'confirm-watch-top' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b à¦\86পà§\8bনাৰ à¦²à¦\95à§\8dষà§\8dয-তালিà¦\95াত à¦¯à§\8bà¦\97 à¦\95ৰিব?',
 'confirm-unwatch-button' => 'শুদ্ধ',
-'confirm-unwatch-top' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\96ন à¦\86পà§\8bনাৰ à¦²à¦\95à§\8dষà§\8dয-তালিà¦\95াৰ à¦ªà§°à¦¾ à¦\86à¦\81তৰাà¦\93à¦\95',
+'confirm-unwatch-top' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b à¦\86পà§\8bনাৰ à¦²à¦\95à§\8dষà§\8dয-তালিà¦\95াৰ à¦ªà§°à¦¾ à¦\86à¦\81তৰাব?',
 
 # Multipage image navigation
 'imgmultipageprev' => '← পূৰ্বৱৰ্তী পৃষ্ঠা',
@@ -3731,7 +3731,7 @@ $5
 'table_pager_empty' => 'ফলাফল নাই',
 
 # Auto-summaries
-'autosumm-blank' => "পà§\83ষà§\8dঠাà¦\96ন খালী কৰা হ'ল",
+'autosumm-blank' => "পà§\83ষà§\8dঠাà¦\9fà§\8b খালী কৰা হ'ল",
 'autosumm-replace' => 'পৄষ্ঠাখনক "$1"ৰে সলনি কৰা হ\'ল',
 'autoredircomment' => "[[$1]]-ক পুনৰ্নিৰ্দেশ কৰা হ'ল",
 'autosumm-new' => '"$1" দি পৃষ্ঠা সৃষ্টি কৰা হ\'ল',
@@ -3938,7 +3938,7 @@ $5
 'sqlite-no-fts' => '$1 সম্পূৰ্ণ-পাঠ অনুসন্ধান সমৰ্থন অবিহনে',
 
 # New logging system
-'logentry-delete-delete' => " $3 পৃষ্ঠাখন $1ৰদ্বাৰা {{GENDER:$2|বিলোপ কৰা হ'ল}}",
+'logentry-delete-delete' => "$3 পৃষ্ঠাটো $1ৰদ্বাৰা {{GENDER:$2|বিলোপ কৰা হ'ল}}",
 'logentry-delete-restore' => "$3 পৃষ্ঠাখন $1 ৰদ্বাৰা {{GENDER:$2|পুনৰ্সংৰক্ষণ কৰা হ'ল}}",
 'logentry-delete-event' => '$3: $4 -ত {{PLURAL:$5|এটা লগ ঘটনা|$5 লগ ঘটনাসমূহ}} -ৰ $1 পৰিৱৰ্তন কৰা দৃশ্যমানতা',
 'logentry-delete-revision' => 'পৃষ্ঠা $3ত {{PLURAL:$5|এটা সংশোধন|$5 সংশোধনসমূহ}}ৰ দৃশ্যমানতা $1 {{GENDER:$2|য়ে সলালে}}: $4',
index d3bc7b5..9252687 100644 (file)
@@ -18,7 +18,6 @@ $fallback = 'es';
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Sipita siqiraña',
-'tog-justify' => "Tanta amuyanak purapt'ayaña",
 'tog-hideminor' => 'Jichha jaqukipawina sullka askiptawix imantaña',
 'tog-hidepatrolled' => "Jichhnaki jaqukipawina askiptawix unch'ukita imantaña",
 'tog-newpageshidepatrolled' => "Machaqa uñstawix waruchatat uñstawix unch'ukita imantaña",
@@ -27,9 +26,7 @@ $messages = array(
 'tog-numberheadings' => 'Titulun chinu achuraña',
 'tog-showtoolbar' => 'Turkawit irnaqañ täta tisi uñachayaña (JavaScript munawiwa)',
 'tog-editondblclick' => 'Uñstawi turkayaña päsuxuqiña (JavaScript munawiwa)',
-'tog-editsection' => '[Turkaña] sipitampi tuqitaki turkawi luräña',
 'tog-editsectiononrightclick' => '(JavaScript munawiwa) titulxat tuqina kupi suxuqiñampi tuqitaki turkawi luräña',
-'tog-showtoc' => 'Waruchataw uñachayaña (kimsa tituljampi uñstawitaki)',
 'tog-rememberpassword' => "Akax jasanchirin imt'awija amtaña (for a maximum of $1 {{PLURAL:$1|day|days}})",
 'tog-watchcreations' => "Unch'ukit waruchatajana nayaxa uñstawix uñstayawajata yapxataña",
 'tog-watchdefault' => "Unch'ukit waruchatajana nayaxa uñstawix turkajata yapxataña",
@@ -38,7 +35,6 @@ $messages = array(
 'tog-minordefault' => 'Sullka askiptawpacha chimpuriña',
 'tog-previewontop' => 'Askiptawit llataxa nayraxa uñtawikar uñachayaña',
 'tog-previewonfirst' => 'Mayïri askiptawina uñtawikar uñachayaña',
-'tog-nocache' => "Uñstawita kachiñar jark'aña",
 'tog-enotifwatchlistpages' => "Nayaru chaski jalayiriña ukja unch'ukit waruchatana mäuñstawi turkañäna",
 'tog-enotifusertalkpages' => 'Nayaru chaski jalayiriña ukja tuqisiwit uñstawija turkañäna',
 'tog-enotifminoredits' => 'Nayaru chaski jalayiriña uñstawina sullka askiptawimpiraki',
index 9df2e4d..15c9513 100644 (file)
@@ -208,7 +208,6 @@ $messages = array(
 'vector-action-protect' => 'Schitzn',
 'vector-action-undelete' => 'Wiederherstön',
 'vector-action-unprotect' => 'freigeem',
-'vector-simplesearch-preference' => 'Daweiterte Suachvurschläg aktivirn (netter Vector)',
 'vector-view-create' => 'Aufbaun',
 'vector-view-edit' => 'Werkln',
 'vector-view-history' => 'Gschicht oschaugn',
index 4d671d7..719816b 100644 (file)
@@ -8,6 +8,7 @@
  * @file
  *
  * @author Daniel Harahap
+ * @author John Vandenberg
  * @author Marvel manalu
  * @author Naval Scene
  * @author Stephensuleeman
@@ -23,7 +24,6 @@ $fallback = 'id';
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Ondolhon panait',
-'tog-justify' => 'Padasip paragrap',
 'tog-hideminor' => 'Tabunihon editing na metmet di parubaan na imbaru',
 'tog-hidepatrolled' => 'Bunihon panotaan na metmet di parubaan na imbaru',
 'tog-numberheadings' => 'Bahen nomor judul otomatis',
@@ -238,7 +238,7 @@ $messages = array(
 'nstab-mediawiki' => 'Tona',
 'nstab-template' => 'Templat',
 'nstab-help' => 'Alaman pangurupion',
-'nstab-category' => 'Hategori',
+'nstab-category' => 'Kategori',
 
 # General errors
 'error' => 'Hasesega',
@@ -438,7 +438,6 @@ Parubaan na binahenmu dang di simpan dope!",
 'recentchanges-label-minor' => 'Sada panotaan na metmet',
 'recentchanges-label-bot' => 'Panotaan on diulahon bot',
 'recentchanges-label-unpatrolled' => 'Panotaan on ndang dipamanat dope',
-'rcnote' => "Na di toru on ima {{PLURAL:$1|'''1'''|'''$1'''}} perubaan  di bagasan {{PLURAL:$2|'''1''' ari|'''$2''' ari}} na parpudi, olat ni $4 pukul $5.",
 'rclistfrom' => 'Patuduhon parubaan na imbaru mamungka sian $1',
 'rcshowhideminor' => '$1 panotaan na metmet',
 'rcshowhidebots' => '$1 bot',
index 1cf5df1..928d7c2 100644 (file)
@@ -801,6 +801,8 @@ $2',
 'suspicious-userlogout' => 'Ваш запыт на выхад з сыстэмы быў адхілены, таму што выглядае, што ён быў дасланы пашкоджаным браўзэрам альбо кэшаваным проксі-сэрвэрам.',
 'createacct-another-realname-tip' => 'Сапраўднае імя паведамляць неабавязкова.
 Калі Вы яго пазначыце, яно будзе выкарыстоўвацца для пазначэньня Вашай працы.',
+'pt-login' => 'Увайсьці',
+'pt-createaccount' => 'Стварыць рахунак',
 
 # Email sending
 'php-mail-error-unknown' => 'Узьнікла невядомая памылка ў функцыі PHP mail()',
@@ -3886,9 +3888,9 @@ MediaWiki распаўсюджваецца з надзеяй, што будзе
 'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath Пуць да скрыпту]',
 
 # Special:Redirect
-'redirect' => 'Перанакіраваньне да файла, удзельніка або вэрсіі старонкі',
+'redirect' => 'Перанакіраваньне да файла, удзельніка, старонкі або вэрсіі старонкі',
 'redirect-legend' => 'Перанакіраваньне да файла або старонкі',
-'redirect-summary' => 'Гэтая спэцыяльная старонка перанакіруе да файла (паводле імя файла), старонкі (паводле нумара вэрсіі) або старонкі ўдзельніка (паводле нумара ўдзельніка). Ужываньне: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]] або [[{{#Special:Redirect}}/user/101]].',
+'redirect-summary' => 'Гэтая спэцыяльная старонка перанакіруе да файла (паводле імя файла), старонкі (паводле нумару вэрсіі або старонкі) або старонкі ўдзельніка (паводле нумару ўдзельніка). Ужываньне: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]] або [[{{#Special:Redirect}}/user/101]].',
 'redirect-submit' => 'Перайсьці',
 'redirect-lookup' => 'Шукаць паводле:',
 'redirect-value' => 'Значэньне:',
index 16ef6ec..a015772 100644 (file)
@@ -22,16 +22,13 @@ $rtl = true;
 $messages = array(
 # User preference toggles
 'tog-underline' => 'لینکهای خط به زیر',
-'tog-justify' => 'فاصله نهادن سی پاراگرافها',
 'tog-hideminor' => 'من ته نبیدن تغییرات کوچیک',
 'tog-extendwatchlist' => 'گپ کردن لیستهای من ته سی دیدن همه تغییراتی که ابوه',
 'tog-usenewrc' => 'گپ کردن تغییرات آخری - جاوااسکریپت',
 'tog-numberheadings' => 'شماره وندن خودکار سی سرخط ها',
 'tog-showtoolbar' => 'نشو دادن تغییرات  تولبار  یا   جای نشودادن ابزارها- جاوااسکریپت',
 'tog-editondblclick' => 'اصلاح صفحات با دوبار کلیک - جاوااسکریپت',
-'tog-editsection' => 'امکان اصلاح یه قسمت زه راه لینکها',
 'tog-editsectiononrightclick' => 'امکان اصلاح یه قسمت زه راه راست کلیک کردن رو عنوان  اوقسمت- جاوااسکریپت',
-'tog-showtoc' => 'نشودادن فهرست محتوا سی صفحاتی که بیشتر زه سه سرخط دارن',
 'tog-rememberpassword' => 'به حافظه کامپیوتر دادن نحوه ورودی خوم (for a maximum of $1 {{PLURAL:$1|day|days}})',
 'tog-watchcreations' => 'اضاف کردن اوصفحاتی که خوم درست کردم به فهرست نمایشی',
 'tog-watchdefault' => 'اضاف کردن اوصفحاتی که خوم اصلاح کردم به فهرست نمایشی',
@@ -40,7 +37,6 @@ $messages = array(
 'tog-minordefault' => 'علامت نهادن به اصلاحات ناقص',
 'tog-previewontop' => 'نشودادن پیش نمایش قبل از یوکه جعبه یا کادر اصلاح بوه',
 'tog-previewonfirst' => 'نشو دادن پیش نمایش  دراصلاح اول',
-'tog-nocache' => 'ناتوان کردن صفحه  درحال کچ',
 'tog-enotifwatchlistpages' => 'امیل به مو وقتی که  صفحه ای که منه فهرست نمایش مونه تغییر کرد',
 'tog-enotifusertalkpages' => 'امیل به مو وقتی که صفحه گفتگوی مو تغییر کرد',
 'tog-enotifminoredits' => 'امیل به مو سی صفحات ناقص اصلاح شده',
@@ -386,7 +382,6 @@ $1',
 'lineno' => 'سطر $1:',
 'compareselectedversions' => 'مقایسه نسخه‌های انتخاب‌ وابیده',
 'editundo' => 'لغو اصلاح آخر',
-'diff-multi' => '({{PLURAL:$1|یه اصلاح میانی|$1 اصلاحات میانی}} نشو داده نوابیده.)',
 
 # Search results
 'prevn' => 'قبلی {{PLURAL:$1|$1}}',
@@ -408,7 +403,6 @@ $1',
 'nchanges' => '$1 {{PLURAL:$1|تغییر|تغییرات}}',
 'recentchanges' => 'تغییرات اخیر',
 'recentchanges-feed-description' => 'ردیابی آخرین تغییرات  ویکی در ای خورد',
-'rcnote' => "در زیر {{PLURAL:$1|'''۱''' تغییر|آخرین '''$1''' تغییر}} در آخرین {{PLURAL:$2|روز|'''$2''' روز}} را، تا $5، $4 ابینین.",
 'rcnotefrom' => 'در زیر تغییرات زه تاریخ <b>$2</b> آمده‌اند (تا <b>$1</b> مورد نشو داده ابوه).',
 'rclistfrom' => 'نشودادن تغییرات تازه با شروع زه $1',
 'rcshowhideminor' => 'اصلاحات کوچیک $1',
index 8c5cfcc..80d1f47 100644 (file)
@@ -335,7 +335,6 @@ Ná radbadal ák deskáne atíko matano.",
 'recentchanges-label-newpage' => 'Dá radbadal aŧ panna sená biná mass',
 'recentchanges-label-minor' => 'Dá cunko radbadal as e',
 'recentchanges-label-bot' => 'Dá xudkár asená dú án maroko radbadal as e',
-'rcnote' => "Şefko {{PLURAL:$1|'''1''' radbadal e|guđđíko '''$1''' radbadal áko}}, gidrengoká {{PLURAL:$2|de aŧí|'''$2''' de teŧí}}, $5, $4 ná hisáb aŧ.",
 'rcnotefrom' => "Şefko raddobadal ák '''$2''' án maroko ('''$1''' iskán páş o)",
 'rclistfrom' => '$1 án púskuná radbadal áke nişán et',
 'rcshowhideminor' => 'Cunká radbadal áte $1',
index 536d199..4217418 100644 (file)
@@ -9,6 +9,7 @@
  *
  * @author Amire80
  * @author Bjargal
+ * @author Elvonudinium
  * @author Korol Bumi
  * @author Soul Train
  * @author Губин Михаил
@@ -78,8 +79,7 @@ $specialPageAliases = array(
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Холбооһо доогуурнь зураха:',
-'tog-justify' => 'Мүр тэгшэлхэ',
-'tog-watchcreations' => 'Минии үүсхэһэн хуудаһа болон ашаалһан файлыем хинаха жагсаалтада оруула',
+'tog-watchcreations' => 'Минии үүдхэһэн хуудаһа болон ашаалһан файлыем хинаха жагсаалтада оруула',
 'tog-watchdefault' => 'Минии заһаһан хуудаһа болон файлыем хинаха жагсаалтада оруула',
 'tog-watchmoves' => 'Минии зөөһэн хуудаһа болон файлыем хинаха жагсаалтада оруула',
 'tog-watchdeletion' => 'Минии усадхаһан хуудаһа болон файлыем хинаха жагсаалтада оруула',
@@ -87,6 +87,9 @@ $messages = array(
 'tog-previewontop' => 'Уридшалан харахые заһабарилха талбарай урда үзүүлэ',
 'tog-previewonfirst' => 'Уридшалан харахые эхилжэ заһаха үедэ үзүүлэ',
 
+'underline-always' => 'хододоол',
+'underline-never' => 'хэзээшье',
+
 # Dates
 'sunday' => 'Няма',
 'monday' => 'Дабаа',
@@ -138,32 +141,64 @@ $messages = array(
 'oct' => '10 һара',
 'nov' => '11 һара',
 'dec' => '12 һара',
+'january-date' => '1 һарын $1',
+'february-date' => '2 һарын $1',
+'march-date' => '3 һарын $1',
+'april-date' => '4 һарын $1',
+'may-date' => '5 һарын $1',
+'june-date' => '6 һарын $1',
+'july-date' => '7 һарын $1',
+'august-date' => '8 һарын $1',
+'september-date' => '9 һарын $1',
+'october-date' => '10 һарын $1',
+'november-date' => '11 һарын $1',
+'december-date' => '12 һарын $1',
 
 # Categories related messages
-'category_header' => 'Категори "$1" үгүүллүүд',
+'category_header' => '"$1" категориин үгүүлэлнүүд',
 
 'cancel' => 'Болихо',
-'mytalk' => 'Минии хэлэлсэл',
-'navigation' => 'Залуур',
+'moredotdotdot' => 'Үшөө...',
+'morenotlisted' => 'Энэ жагсаалта дүүргэһэнгүй.',
+'mypage' => 'Хуудаһан',
+'mytalk' => 'Хэлэлсэл',
+'anontalk' => 'Энэ IP адресаарнь хэлэхэ',
+'navigation' => 'Залуурдалга',
+'and' => '&#32;ба',
+
+# Cologne Blue skin
+'qbfind' => 'Хайха',
+'qbedit' => 'Заһабарилха',
 
 # Vector skin
-'vector-action-addsection' => 'Шэнэ хэсэг',
+'vector-action-addsection' => 'Һэдэб нэмэхэ',
 'vector-action-delete' => 'Усадхаха',
-'vector-view-create' => 'Үүсхэхэ',
-'vector-view-edit' => 'Заһаха',
-'vector-view-history' => 'ТүүÑ\85Ñ\8d',
+'vector-view-create' => 'Үүдхэхэ',
+'vector-view-edit' => 'Заһабарилха',
+'vector-view-history' => 'ТүүÑ\85Ñ\8bе Ñ\85аÑ\80аÑ\85а',
 'vector-view-view' => 'Уншаха',
+'vector-view-viewsource' => 'эшэ үндэһэндэнь хандаха',
 'actions' => 'γйлэ',
+'variants' => 'Хубилбари',
 
-'navigation-heading' => 'Ð\97алÑ\83Ñ\83Ñ\80',
+'navigation-heading' => 'ТамаÑ\80алгÑ\8bн Ð¼ÐµÐ½Ñ\8e',
 'errorpagetitle' => 'Алдуу',
+'tagline' => '{{SITENAME}} сайтһаа мэдээлэл',
 'help' => 'Туһаламжа',
-'search' => 'Бэдэрхэ',
-'searchbutton' => 'Бэдэрхэ',
+'search' => 'Хайха',
+'searchbutton' => 'Хайлта',
+'go' => 'Ябаха',
+'searcharticle' => 'Ябаха',
+'history' => 'Хуудаһанай түүхэ',
 'history_short' => 'Түүхэ',
-'edit' => 'Заһаха',
-'create' => 'Үүсхэхэ',
-'protect' => 'Түһэл',
+'printableversion' => 'Хэблэхэ хубилбари',
+'permalink' => 'Үргэлжын холбооһон',
+'print' => 'Хэблэхэ',
+'view' => 'Харуулха',
+'edit' => 'Заһабарилха',
+'create' => 'Үүдхэхэ',
+'delete' => 'Усадхаха',
+'protect' => 'Хамгаалха',
 'protect_change' => 'Хубилалга',
 'newpage' => 'Шэнэ хуудаһан',
 'talkpage' => 'Тус хуудаһа хэлэлсэхэ',
@@ -173,90 +208,121 @@ $messages = array(
 'postcomment' => 'Шэнэ бүлэг',
 'talk' => 'Хэлэлсэхэ',
 'views' => 'Үзэһэн',
-'toolbox' => 'Багажын хайрсаг',
-'projectpage' => 'Түһэлэй хуудаһан',
+'toolbox' => 'Багажа зэбсэг',
+'projectpage' => 'Түлэблэлгын хуудаһые хараха',
 'otherlanguages' => 'Бусад хэлээр',
-'jumptosearch' => 'бэдэрхэ',
+'jumpto' => 'Шууд ошохо:',
+'jumptonavigation' => 'тамаралга',
+'jumptosearch' => 'хайха',
 'pool-errorunknown' => 'Танигдаагүй алдуу',
 
 # All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
 'aboutsite' => '{{SITENAME}} тухай',
-'aboutpage' => 'Project:Түһэл тухай',
+'aboutpage' => 'Project:Түлэблэлгын тухай',
 'currentevents' => 'Мүнөө боложо байгаа үйлэ ябадал',
 'currentevents-url' => 'Project:Һонин мэдээн',
+'disclaimers' => 'Татагалзалнууд',
+'disclaimerpage' => 'Project:Ниитэ татагалзал',
 'helppage' => 'Help:Агуулга',
 'mainpage' => 'Нюур хуудаһан',
 'mainpage-description' => 'Нюур хуудаһан',
 'portal' => 'Хурал',
 'portal-url' => 'Project:Хурал',
+'privacy' => 'Хубиин мэдээлэлэй талаар баримталал',
+'privacypage' => 'Project:Хубиин мэдээлэлэй талаар баримталал',
 
 'ok' => 'За',
-'editsection' => 'заһаха',
-'editold' => 'заһаха',
-'viewsourcelink' => 'эхэ үүсэбэрииень үзэхэ',
+'retrievedfrom' => '"$1" холбооһоо абагдаһан',
+'editsection' => 'заһабарилха',
+'editold' => 'заһабарилха',
+'viewsourceold' => 'эшэ үндэһэндэнь хандаха',
+'editlink' => 'заһабарилха',
+'viewsourcelink' => 'эшэ үндэһэндэнь хандаха',
 'editsectionhint' => '$1 гэһэн бүлэг заһаха',
 'toc' => 'Агуулга',
+'showtoc' => 'харуулха',
+'hidetoc' => 'нюуха',
+'collapsible-collapse' => 'Нюуха',
+'collapsible-expand' => 'Дэлгээхэ',
+'site-atom-feed' => '$1 Атом фиид',
 'red-link-title' => '$1 (хуудаһан үгы байна)',
 
 # Short words for each namespace, by default used in the namespace tab in monobook
 'nstab-main' => 'Хуудаһан',
+'nstab-user' => 'Хэрэглэгшын хуудаһан',
+'nstab-media' => 'Медиагай хуудаһан',
 'nstab-special' => 'Тусхай хуудаһан',
-'nstab-project' => 'Түһэлэй хуудаһан',
+'nstab-project' => 'Түлэблэлгын хуудаһан',
 'nstab-image' => 'Файл',
 'nstab-mediawiki' => 'Бэшэг',
-'nstab-template' => 'Загвар',
-'nstab-category' => 'Ангилал',
+'nstab-template' => 'Загбар',
+'nstab-help' => 'Туһаламжын хуудаһан',
+'nstab-category' => 'Категори',
+
+# General errors
+'error' => 'Алдуу',
+'internalerror' => 'Доторой алдуу',
+'internalerror_info' => 'Доторой алдуу: $1',
 
 # Login and logout pages
-'login' => 'Орохо',
-'nav-login-createaccount' => 'Нэбтэржэ орохо / дансатай болохо',
-'userlogin' => 'Нэбтэржэ орохо / дансатай болохо',
+'welcomeuser' => 'Морилжо хайрлыт, $1!',
+'welcomecreation-msg' => 'Танай данса үүдхэһэн байна.
+Та танай {{SITENAME}} [[Special:Preferences|preferences]]-ые өөршэлхэ боломжотойт.',
+'yourname' => 'Хэрэглэгшын нэрэ:',
+'userlogin-yourname' => 'Хэрэглэгшын нэрэ:',
+'userlogin-yourname-ph' => 'Танай хэрэглэгшын нэрые оруулагты',
+'createacct-another-username-ph' => 'Хэрэглэгшын нэрые оруулагты',
+'yourpassword' => 'Нюуса үгэ:',
+'login' => 'Нэбтэрхэ',
+'nav-login-createaccount' => 'Нэбтэрхэ / данса үүдхэхэ',
+'userlogin' => 'Нэбтэрхэ / данса үүдхэхэ',
 'logout' => 'Гараха',
 'userlogout' => 'Гараха',
-'createaccount' => 'Данса үүсхэхэ',
-'gotaccountlink' => 'Нэбтэржэ орохо',
+'createaccount' => 'Данса үүдхэхэ',
+'gotaccountlink' => 'Нэбтэрхэ',
 'loginlanguagelabel' => 'Хэлэн: $1',
 
 # Edit pages
-'savearticle' => 'Хуудаһа хадагалха',
-'showpreview' => 'Уридшалан үзүүлхэ',
-'showdiff' => 'Хубилалта харуулха',
+'savearticle' => 'Хуудаһые хадагалха',
+'showpreview' => 'Уридшалан хараха',
+'showdiff' => 'Хубилалтые харуул',
 'newarticle' => '(Шэнэ)',
 'template-protected' => '(хамгаалалтатай)',
 'permissionserrorstext-withaction' => 'Та доро тодорхойлһон $1 ушар шалтагаанһаа боложо, $2 эрхэгүйт.',
 
 # Revision deletion
 'rev-delundel' => 'харуулха/нюуха',
-'revdel-restore' => 'Ñ\85аÑ\80агдаÑ\85Ñ\8bенÑ\8c Ð¾Ð½Ð´Ð¾Ð¾ Ð±Ð¾Ð»Ð³Ð¾Ñ\85о',
+'revdel-restore' => 'Ñ\85аÑ\80агдаÑ\81Ñ\8bенÑ\8c Ñ\85Ñ\83билгаÑ\85а',
 
 # Diffs
 'editundo' => 'болюулха',
 
 # Search results
-'searchmenu-new' => "'''Ð\91айгÑ\83Ñ\83лÑ\85а Ò¯Ð³Ò¯Ò¯Ð»Ñ\8dл \"[[:\$1]]\"!'''",
-'searchprofile-articles' => 'Үгүүллүүд',
-'searchprofile-images-tooltip' => 'Файл бэдэрхэ',
-'search-result-size' => '$1 ({{PLURAL:$2|1 word|$2 words}})',
+'searchmenu-new' => "'''ЭнÑ\8d Ð²Ð¸ÐºÐ¸Ð´Ñ\8d \"[[:\$1]]\" Ð³Ñ\8dÒ»Ñ\8dн Ñ\85Ñ\83Ñ\83даһа Ò¯Ò¯Ñ\81Ñ\85Ñ\8dÑ\85Ñ\8d!''' Ð\9cүн Ð¾Ð»Ð´Ð¾Ò»Ð¾Ð½ Ð¾Ð½Ð´Ð¾Ð¾ Ñ\85Ñ\83Ñ\83даһа Ñ\85аÑ\80агÑ\82Ñ\8b.\"",
+'searchprofile-articles' => 'Агуулгын хуудаһанууд',
+'searchprofile-images-tooltip' => 'Файл хайха',
+'search-result-size' => '$1 (ниитэ $2 үгэ�)',
 
 # Preferences page
-'mypreferences' => 'Ð\9cинии Ñ\82ааруулга',
-'prefs-datetime' => 'Ð\9eгноо Ð±Ð¾Ð»Ð¾Ð½ саг',
+'mypreferences' => 'Тааруулга',
+'prefs-datetime' => 'Ð\9eгноо Ð±Ð° саг',
 'youremail' => 'Сахим шуудан:',
 'yourrealname' => 'Бодото нэрэ:',
 'yourlanguage' => 'Хэлэн:',
-'yourgender' => 'ХүйһÑ\8dн:',
-'gender-male' => 'Эрэ',
+'yourgender' => 'ХүйһÑ\8bеÑ\82най Ñ\85Ñ\8dн Ð³Ñ\8dжÑ\8d Ð·Ð°Ð°Ð±Ð°Ð» Ð±Ð¾Ð»Ð¾Ñ\85об?',
+'gender-male' => 'Эрэ хүн',
 
 # Associated actions - in the sentence "You do not have permission to X"
-'action-edit' => 'Хубилалга энэ үгүүлэл',
+'action-edit' => 'энэ хуудаһа заһабарилха',
 
 # Recent changes
 'recentchanges' => 'Һүүлшын хубилалта',
-'diff' => 'хубилалга',
-'hist' => 'Түүхэ',
+'diff' => 'илгаа',
+'hist' => 'түүхэ',
 'hide' => 'Нюуха',
 
 # Recent changes linked
+'recentchangeslinked' => 'Холбогдохо хубилалта',
 'recentchangeslinked-toolbox' => 'Холбогдохо хубилалта',
 
 # Upload
@@ -271,39 +337,44 @@ $messages = array(
 'filehist-user' => 'Хэрэглэгшэ',
 
 # Random page
-'randompage' => 'Санамсаргүй хуудас',
+'randompage' => 'Һанамсаргүй хуудаһан',
 
 # Statistics
 'statistics' => 'Тоо бүридхэл',
 
 # Miscellaneous special pages
-'newpages' => 'Шэнэ үгүүллүүд',
+'nbytes' => '$1 {{PLURAL:$1|байт|байтууд}}',
+'newpages' => 'Шэнэ хуудаһанууд',
 'ancientpages' => 'Хуушарһан хуудаһан',
-'move' => 'Ð\9dÑ\8dÑ\80Ñ\8dмжэ',
+'move' => 'ШÑ\8dлжүүлÑ\85э',
 
 # Special:Log
-'log' => 'Логууд',
+'log' => 'Логнууд',
 
 # Special:AllPages
-'allpages' => 'СооÑ\85и Ð±үхы хуудаһан',
-'allarticles' => 'Үгүүллүүд',
+'allpages' => 'Ð\91үхы хуудаһан',
+'allarticles' => 'Бүхы хуудаһан',
 
 # Special:Categories
-'categories' => 'Категори',
+'categories' => 'Категоринууд',
 
 # Watchlist
 'mywatchlist' => 'Ажаглаха зүйл',
-'watch' => 'ХаÑ\80ажа Ð±Ð°Ð¹ха',
+'watch' => 'Ð\90жаглаха',
 
 # Undelete
 'undeletelink' => 'хараха/һэргээхэ',
 
+# Namespace form on various pages
+'blanknamespace' => '(Гол)',
+
 # Contributions
 'mycontris' => 'Минии оруулһан зүйл',
 
 'sp-contributions-talk' => 'Хэлэлсэл',
 
 # What links here
+'whatlinkshere' => 'Эндэ холбогдоһон хуудаһанууд',
 'whatlinkshere-page' => 'Хуудаһан:',
 
 # Block/unblock
@@ -323,18 +394,30 @@ $messages = array(
 'thumbnail-more' => 'Томоруулха',
 
 # Tooltip help for the actions
+'tooltip-pt-login' => 'Бидэ та нэбтэрхые хүсэнэбди; гэбэшье, та заататай байна.',
 'tooltip-pt-logout' => 'Гараха',
-'tooltip-ca-talk' => 'Үгүүлэлынь хэлэлсэл',
-'tooltip-ca-addsection' => 'Шэнэ хэсэг',
-'tooltip-search' => 'Бэдэрхэ {{SITENAME}}',
-'tooltip-search-fulltext' => 'Бэдэрхэ үгүүллүүд',
-'tooltip-p-logo' => 'Нюур хуудаһан',
-'tooltip-n-mainpage' => 'Нюур хуудаһа руу шэлжэхэ',
-'tooltip-n-mainpage-description' => 'Нюур хуудаһа руу шэлжэхэ',
-'tooltip-n-recentchanges' => 'Энэ Википеэдийн сайтдахи хубилалтанууд',
-'tooltip-feed-atom' => 'Атом',
+'tooltip-ca-talk' => 'Агуулгын хуудаһанай хэлэлсэл',
+'tooltip-ca-edit' => 'Та энэ хуудаһа заһабарилжа боломжотой. "Уридшалан үзэлхэ" гэһэн тобшые хэрэглээрэй.',
+'tooltip-ca-addsection' => 'Шэнэ хэһэг эхилүүлхэ',
+'tooltip-ca-history' => 'Энэ хуудаһанай үмэнэхи заһабаринууд',
+'tooltip-ca-delete' => 'энэ хуудаһые усадхаха',
+'tooltip-search' => '{{SITENAME}} сайтһаа бэдэрхэ',
+'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-upload' => 'Файл ашаалха',
 'tooltip-t-specialpages' => 'Бүхы тусхай хуудаһанай жагсаалта',
+'tooltip-t-print' => 'Энэ хуудаһанай хэблэхэ хубилбари',
+'tooltip-ca-nstab-main' => 'Үгүүлэлэй хуудаһые үзэхэ',
 
 # Exif tags
 'exif-languagecode' => 'Хэлэн',
index a7e553a..b9ed1ea 100644 (file)
@@ -145,7 +145,6 @@ $dateFormats = array(
 $messages = array(
 # User preference toggles
 'tog-underline' => '下劃綫鏈接',
-'tog-justify' => '調蜀調幾段',
 'tog-hideminor' => '藏起最近改變其過要修改',
 'tog-hidepatrolled' => '藏起最近改變其巡邏修改',
 'tog-numberheadings' => '自動編號其標題',
@@ -299,7 +298,6 @@ $messages = array(
 'vector-action-protect' => '保護',
 'vector-action-undelete' => '取消刪除',
 'vector-action-unprotect' => '改變保護',
-'vector-simplesearch-preference' => '允許簡化其搜索欄(儷有矢量皮膚才有)',
 'vector-view-create' => '創建',
 'vector-view-edit' => '修改',
 'vector-view-history' => '看歷史',
@@ -774,7 +772,6 @@ Sō̤ kī só-gé̤ṳ-kó gì guāng-lī-uòng cūng-kuāng gāi-sék: $1',
 'compareselectedversions' => '比並揀選版本',
 'showhideselectedversions' => '顯/藏揀選其調整',
 'editundo' => '取消',
-'diff-multi' => '{{PLURAL:$1}}(臺中有$2寫其$1萆版本無顯示)',
 
 # Search results
 'searchresults' => '討結果',
@@ -811,7 +808,6 @@ Sō̤ kī só-gé̤ṳ-kó gì guāng-lī-uòng cūng-kuāng gāi-sék: $1',
 'prefs-misc' => '其它',
 'saveprefs' => '保存',
 'searchresultshead' => '尋討',
-'resultsperpage' => '每頁訪問量:',
 'recentchangescount' => '這般改變其條目:',
 'savedprefs' => '汝其設定已經乞保存了。',
 'timezonelegend' => '時區:',
index 846b2eb..7fc2dd8 100644 (file)
@@ -827,6 +827,9 @@ URL язъеш гӀалат даьлла хила мега.
 Дехар до, собар де $1 юха гӀортале.',
 'login-abort-generic' => 'Сестемин довзийта тарцаделира',
 'loginlanguagelabel' => 'Мотт: $1',
+'pt-login' => 'ЧугӀо',
+'pt-createaccount' => 'Кхолла декъашхочун дӀаяздар',
+'pt-userlogout' => 'Болх дӀаберзор',
 
 # Change password dialog
 'changepassword' => 'Хийца пароль',
@@ -2137,7 +2140,7 @@ PICT # тайп тайпан
 'linkshere' => "ТӀаьхьайогӀу агӀонаш оцу '''[[:$1]]''': хьажорагца ю",
 'nolinkshere' => "ХӀокху '''[[:$1]]''' агӀона тӀе кхечу агӀонашкахь хьажорагаш яц.",
 'nolinkshere-ns' => "Хаьржинчу анахь яц '''[[:$1]]''' цӀе йолу агӀонаш",
-'isredirect' => 'агlо-дlасахьажайар',
+'isredirect' => 'агӀо-дӀасахьажайар',
 'istemplate' => 'лата йe',
 'isimage' => 'Файлан хьажораг',
 'whatlinkshere-prev' => '{{PLURAL:$1|1=хьалхайодарг|хьалхайодарш}} $1',
index 8a7067e..0c0b317 100644 (file)
@@ -68,7 +68,6 @@ $specialPageAliases = array(
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Binadlisan nga mga sumpay:',
-'tog-justify' => 'Ihusto ang mga parapo',
 'tog-hideminor' => 'Ipakita ang gamayng pag-usab sa mga bag-ong giusab',
 'tog-hidepatrolled' => 'Tagoa ang mga napatrol nga pag-usab sa mga bag-ong giusab',
 'tog-newpageshidepatrolled' => 'Tagoa ang napatrol nga mga panid gikan sa talaan sa mga bag-ong panid',
@@ -77,9 +76,7 @@ $messages = array(
 'tog-numberheadings' => 'Awtomatiko ang pagnumero sa mga heading',
 'tog-showtoolbar' => 'Ipakita ang toolbar sa pag-edit (JavaScript)',
 'tog-editondblclick' => 'I-edit ang panid inig dobol-klik (JavaScript)',
-'tog-editsection' => 'Mausab ang mga seksiyon gamit ang [usba] nga sumpay',
 'tog-editsectiononrightclick' => 'Mahimo ang pag-usab sa seksyon pinaagi sa pag-right click sa titulo sa seksyon (JavaScript kinahanglan)',
-'tog-showtoc' => 'Ipakita ang talaan sa sulod (alang sa mga panid nga may daghan pa sa 3 ka heading)',
 'tog-rememberpassword' => 'Hinumdomi ako sa kining kompyuter (for a maximum of $1 {{PLURAL:$1|day|days}})',
 'tog-watchcreations' => 'Bantayi ang akong gisugdang mga panid',
 'tog-watchdefault' => 'Bantayi ang akong giusab nga mga panid',
@@ -729,7 +726,6 @@ Hinumdomi nga ang ilang indeks sa sulod sa {{SITENAME}} mahimong dugay-dugay na.
 'rows' => 'Mga row:',
 'columns' => 'Mga kolum:',
 'searchresultshead' => 'Pangitaa',
-'resultsperpage' => 'Mga hit matag panid:',
 'stub-threshold' => 'Threshold para sa <a href="#" class="stub">stub link</a> formatting (bytes):',
 'recentchangesdays' => 'Mga adlaw nga ipakita sa bag-ong giusab:',
 'recentchangesdays-max' => 'Maximum $1 {{PLURAL:$1|ka adlaw|ka mga adlaw}}',
index 165e8bb..0a95d28 100644 (file)
@@ -36,7 +36,6 @@ $messages = array(
 'tog-hideminor' => "Nå'na' i mandikike' na tinilaika siha gi påhinan tinilaika gi halacha",
 'tog-extendwatchlist' => "Na'ladångkolu i listan pinilan para u na'annok i manaplikayon na tinilaika siha",
 'tog-usenewrc' => "I manmana'lamaolek na tinilaika (JavaScript)",
-'tog-showtoc' => "Na'annok i fañodda'an (annai guåha mas ki 3 na titulo gi påhina)",
 'tog-rememberpassword' => 'Hasso iyo-ku login gi este na komputadora (for a maximum of $1 {{PLURAL:$1|day|days}})',
 'tog-watchcreations' => "Po'lo i påhina siha ni fina'tinas-hu gi iyo-ku listan pinilan.",
 'tog-watchdefault' => "Po'lo i påhina siha ni hu tulaika gi iyo-ku listan pinilan.",
@@ -612,7 +611,6 @@ Fanapunta na para u na'nuebu i kolumna anggen un usa i inachetton nabegasion.",
 'lineno' => 'Liña $1:',
 'compareselectedversions' => "Akompara i tinilaika siha ma'ayek",
 'editundo' => 'funas',
-'diff-multi' => "({{PLURAL:$1|Ti mana'a'annok unu na tinilaika gi talo'|Ti manmana'a'annok $1 na tinilaika siha gi talo'}}.)",
 
 # Search results
 'searchresults' => 'Humuyongña i inaligao',
@@ -664,7 +662,6 @@ Fanapunta na fana'an ti gus nuebu i listan-ñiha i guinahan {{SITENAME}}.",
 'rows' => 'Fila siha:',
 'columns' => 'Kolumna siha:',
 'searchresultshead' => 'Aligao',
-'resultsperpage' => 'Dinanche siha kada påhina:',
 'recentchangesdays' => "Diha siha na para u na'annok gi i tinilaika gi halacha:",
 'recentchangescount' => "Kunatu na tinilaika para u na'annok gi i tinilaika gi halacha:",
 'savedprefs' => "Manmaasåtba i ga'ña-mu siha.",
index 1a71328..bca887e 100644 (file)
@@ -161,7 +161,6 @@ $messages = array(
 'vector-action-protect' => 'Protektahan',
 'vector-action-undelete' => 'Indi pag panason',
 'vector-action-unprotect' => 'Islan ang proteksyon',
-'vector-simplesearch-preference' => 'Paganahon ang ginpanami nga mga suhestiyon sa pagpangita (panit nga Vector lang)',
 'vector-view-create' => 'Ubrahon',
 'vector-view-edit' => 'Bag-uhon',
 'vector-view-history' => 'Ipakita ang kasaysayan',
index ca9ae6a..6ac7edd 100644 (file)
@@ -904,6 +904,9 @@ Než to zkusíte znovu, musíte počkat na vypršení lhůty $1.',
 'suspicious-userlogout' => 'Váš požadavek na odhlášení byl odmítnut, neboť to vypadá, že ho poslal rozbitý prohlížeč nebo cachující proxy.',
 'createacct-another-realname-tip' => 'Skutečné jméno je nepovinné.
 Pokud se ho rozhodnete uvést, bude použito pro označení autorství vaší práce.',
+'pt-login' => 'Přihlášení',
+'pt-createaccount' => 'Vytvoření účtu',
+'pt-userlogout' => 'Odhlásit se',
 
 # Email sending
 'php-mail-error-unknown' => 'Neznámá chyba v PHP funkci mail()',
@@ -912,7 +915,7 @@ Pokud se ho rozhodnete uvést, bude použito pro označení autorství vaší pr
 
 # Change password dialog
 'changepassword' => 'Změna hesla',
-'resetpass_announce' => 'Přihlašujete se dočasným heslem zaslaným e-mailem. Přihlášení lze dokončit po nastavení nového trvalého hesla.',
+'resetpass_announce' => 'Abyste dokončili přihlášení, musíte si nastavit nové heslo.',
 'resetpass_text' => '<!-- Sem přidejte text -->',
 'resetpass_header' => 'Změna hesla',
 'oldpassword' => 'Staré heslo:',
@@ -928,8 +931,13 @@ Pokud se ho rozhodnete uvést, bude použito pro označení autorství vaší pr
 'resetpass-submit-cancel' => 'Storno',
 'resetpass-wrong-oldpass' => 'Nesprávné dočasné nebo aktuální heslo.
 Možná jste si již úspěšně heslo změnili, nebo jste si vyžádali nové dočasné heslo.',
+'resetpass-recycled' => 'Jako nové heslo si prosím nastavte něco jiného než stávající heslo.',
+'resetpass-temp-emailed' => 'Přihlašujete se dočasným heslem zaslaným e-mailem.
+Abyste dokončili přihlášení, nastavte si zde nové heslo:',
 'resetpass-temp-password' => 'Dočasné heslo:',
 'resetpass-abort-generic' => 'Změna hesla byla zablokována rozšířením.',
+'resetpass-expired' => 'Platnost vašeho hesla vypršela. Pro přihlášení si nastavte nové heslo.',
+'resetpass-expired-soft' => 'Platnost vašeho hesla vypršela, musíte si nastavit nové. Zvolte si nové heslo nebo klikněte na storno a nastavte si ho později.',
 
 # Special:PasswordReset
 'passwordreset' => 'Reset hesla',
@@ -2279,7 +2287,7 @@ Každý řádek obsahuje odkaz na první a druhé přesměrování a k tomu cíl
 'protectedpages-unknown-timestamp' => 'Neznámé',
 'protectedpages-unknown-performer' => 'Neznámý uživatel',
 'protectedtitles' => 'Zamčené názvy stránek',
-'protectedtitles-summary' => 'Tato stránka obsahuje seznam názvů, které jsou momentálně zamčeny proti založení. Seznam existujících zamčených stránek najdete na [[{{#special:ProtectedTitles}}]].',
+'protectedtitles-summary' => 'Tato stránka obsahuje seznam názvů, které jsou momentálně zamčeny proti založení. Seznam existujících zamčených stránek najdete na [[{{#special:ProtectedPages}}]].',
 'protectedtitlesempty' => 'S těmito parametry nejsou zamčeny žádné názvy.',
 'listusers' => 'Uživatelé',
 'listusers-editsonly' => 'Zobrazit pouze uživatele s editacemi',
@@ -3171,6 +3179,7 @@ Uložte jej na svůj disk a nahrajte ho sem.',
 'print.css' => '/* Zde uvedené CSS bude ovlivňovat tiskový výstup */',
 'noscript.css' => '/* Zde uvedené CSS bude ovlivňovat uživatele s vypnutým JavaScriptem */',
 'group-autoconfirmed.css' => '/* Zde uvedené CSS bude ovlivňovat pouze automaticky schválené uživatele */',
+'group-user.css' => '/* Zde uvedené CSS bude ovlivňovat pouze registrované uživatele */',
 'group-bot.css' => '/* Zde uvedené CSS bude ovlivňovat pouze boty */',
 'group-sysop.css' => '/* Zde uvedené CSS bude ovlivňovat pouze správce */',
 'group-bureaucrat.css' => '/* Zde uvedené CSS bude ovlivňovat pouze byrokraty */',
@@ -3182,6 +3191,7 @@ Uložte jej na svůj disk a nahrajte ho sem.',
 'modern.js' => '/* JavaScript pro uživatele používající vzhled „Moderní“ */',
 'vector.js' => '/* JavaScript pro uživatele používající vzhled „Vektor“ */',
 'group-autoconfirmed.js' => '/* Zde uvedený JavaScript bude použit pouze pro automaticky schválené uživatele */',
+'group-user.js' => '/* Zde uvedený JavaScript bude použit pouze pro registrované uživatele */',
 'group-bot.js' => '/* Zde uvedený JavaScript bude použit pouze pro boty */',
 'group-sysop.js' => '/* Zde uvedený JavaScript bude použit pouze pro správce */',
 'group-bureaucrat.js' => '/* Zde uvedený JavaScript bude použit pouze pro byrokraty */',
@@ -3567,6 +3577,7 @@ Obsahuje pouze seznam s odrážkami (řádka začíná s *). První odkaz na ř
 'exif-compression-2' => '1-rozměrné modifikované Huffmanovo kódování délky běhu CCITT Group 3',
 'exif-compression-3' => 'Kódování faxů CCITT Group 3',
 'exif-compression-4' => 'Kódování faxů CCITT Group 4',
+'exif-compression-6' => 'JPEG (starý)',
 
 'exif-copyrighted-true' => 'Chráněno autorským právem',
 'exif-copyrighted-false' => 'Bez informací o autorských právech',
index 47b2968..f4fe54c 100644 (file)
@@ -181,7 +181,6 @@ $messages = array(
 'vector-action-protect' => 'Zazychrëjë',
 'vector-action-undelete' => 'Doprowôdzë nazôd',
 'vector-action-unprotect' => 'Òdzychrëjë',
-'vector-simplesearch-preference' => 'Włączë awansowóné pòdpòwiescë szëkbë (blós dlô skórczi Wektor)',
 'vector-view-create' => 'Ùsôdzë',
 'vector-view-edit' => 'Edicëjô',
 'vector-view-history' => 'Historëjô lopka',
index 4d52199..f97aec1 100644 (file)
@@ -47,16 +47,13 @@ $linkPrefixCharset = 'a-zA-Z"\\x{80}-\\x{10ffff}';
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Ссылкăсене аялтан туртса палармалла:',
-'tog-justify' => 'Страницăри текста сарлакăшĕпе вырнаçтармалла',
 'tog-hideminor' => 'Юлашки улшăнусене кăтарнă страницăра пĕчĕк тӳрлетӳ çеç кĕртнисене кăтартмалла мар',
 'tog-extendwatchlist' => 'Пĕтĕм улшăнусене кăтартакан анлă сăнав списокĕ',
 'tog-usenewrc' => 'Юлашки улшăнусен лайăхлатнă списокĕ (JavaScript)',
 'tog-numberheadings' => 'Заголовоксене хăй тĕллĕн номерлесе пымалла.',
 'tog-showtoolbar' => 'Тӳрлетнĕ чухне çӳлти хатĕрсен хăмине кăтартмалла (JavaScript)',
 'tog-editondblclick' => 'Иккĕ пуссан статьяна тӳрлетмелле (JavaScript)',
-'tog-editsection' => '«Тӳрлет» ссылкăна кашни пайра кăтартмалла',
 'tog-editsectiononrightclick' => 'Шăшин сылтăм пускăчне пуссан статья пайне тӳрлетмелле (JavaScript)',
-'tog-showtoc' => 'Тупмаллине кăтартмалла (3, е ытларах заголовок пулсан)',
 'tog-rememberpassword' => 'Мана ку компьютер çинче астуса хăвармалла (for a maximum of $1 {{PLURAL:$1|1=day|days}})',
 'tog-watchcreations' => 'Эпĕ тунă страницăсене сăнав списокне кĕртмелле',
 'tog-watchdefault' => 'Тӳрлетнĕ страницăсене сăнав списокне кĕртмелле',
index 5b194d8..9cf9ab9 100644 (file)
@@ -647,6 +647,9 @@ Oedwch $1 cyn mentro eto.',
 'suspicious-userlogout' => 'Gwrthodwyd eich cais i allgofnodi oherwydd ei fod yn ymddangos mai gweinydd wedi torri neu ddirprwy gelc a anfonodd y cais.',
 'createacct-another-realname-tip' => "Gallwch ddewis roi eich enw go iawn.
 Os y gwnewch, fe gaiff yr enw go iawn ei defnyddio wrth dadogi'ch gwaith.",
+'pt-login' => 'Mewngofnodwch',
+'pt-createaccount' => 'Creu cyfri',
+'pt-userlogout' => 'Allgofnodi',
 
 # Email sending
 'php-mail-error-unknown' => 'Gwall anhysbys yng ngweithrediad post() PHP',
@@ -655,22 +658,27 @@ Os y gwnewch, fe gaiff yr enw go iawn ei defnyddio wrth dadogi'ch gwaith.",
 
 # Change password dialog
 'changepassword' => 'Newid y cyfrinair',
-'resetpass_announce' => "Fe wnaethoch fewngofnodi gyda chôd dros dro oddi ar e-bost.
-Er mwyn cwblhau'r mewngofnodi, rhaid i chi osod cyfrinair newydd fel hyn:",
+'resetpass_announce' => 'I orffen mewngofnodi, rhaid i chi bennu cyfrinair newydd.',
 'resetpass_header' => 'Newid cyfrinair y cyfrif',
 'oldpassword' => 'Hen gyfrinair:',
 'newpassword' => 'Cyfrinair newydd:',
 'retypenew' => 'Ail-deipiwch y cyfrinair newydd:',
 'resetpass_submit' => 'Gosod y cyfrinair a mewngofnodi',
 'changepassword-success' => "Llwyddodd y newid i'ch cyfrinair!",
+'changepassword-throttled' => 'Rydych wedi ceisio logio mewn yn rhy aml.
+Arhoswch am $1 cyn trio eto.',
 'resetpass_forbidden' => 'Ni ellir newid cyfrineiriau',
 'resetpass-no-info' => 'Ni allwch fynd at y dudalen hon yn uniongyrchol heblaw eich bod wedi mewngofnodi.',
 'resetpass-submit-loggedin' => 'Newidier y cyfrinair',
 'resetpass-submit-cancel' => 'Diddymu',
 'resetpass-wrong-oldpass' => "Mae'r cyfrinair dros dro neu gyfredol yn annilys.
 Gall fod eich bod wedi llwyddo newid eich cyfrinair eisoes neu eich bod wedi gofyn am gyfrinair dros dro newydd.",
+'resetpass-recycled' => 'Ailosodwch eich cyfrinair os gwelwch yn dda i rywbeth heblaw eich cyfrinair cyfredol.',
+'resetpass-temp-emailed' => "Rydych wedi mewngofnodi gyda chod dros dro. I gwbwlhau hyn, mae'n rhaid i chi ailosod eich cyfrinair yma:",
 'resetpass-temp-password' => 'Cyfrinair dros dro:',
 'resetpass-abort-generic' => 'Mae estyniad wedi atal newid y cyfrinair.',
+'resetpass-expired' => 'Mae oes eich cyfrinair wedi dod i ben. Gosodwch gyfrinair newydd i fewngofnodi.',
+'resetpass-expired-soft' => "Mae eich cyfrinair wedi dod i ben ac mae'n rhaid ei ailosod. Dewisiwch gyfrinair newydd sbon nawr, neu ailosodwch ef rywdro eto.",
 
 # Special:PasswordReset
 'passwordreset' => 'Ailosod cyfrinair',
@@ -714,6 +722,8 @@ Y cyfrinair dros dro: $2",
 'changeemail-password' => 'Eich cyfrinair ar {{SITENAME}}:',
 'changeemail-submit' => 'Newidier y cyfeiriad e-bost',
 'changeemail-cancel' => 'Diddymer',
+'changeemail-throttled' => "'Da chi wedi trio mewngofnodi gormod o weithiau.
+Daliwch eich gafael am $1 cyn ceisio eto.",
 
 # Special:ResetTokens
 'resettokens' => 'Ailosod tocynnau',
@@ -927,6 +937,8 @@ Mae ar gael yn barod.',
 'content-not-allowed-here' => 'Nid yw cynnwys ar ffurf "$1" yn cael ei ganiatau ar y dudalen [[$2]]',
 'editwarning-warning' => 'Os y gadewch y dudalen hon mae\'n bosib y collwch eich newidiadau iddi.
 Os ydych wedi mewngofnodi gallwch ddiddymu\'r rhybudd hwn yn yr adran "{{int:prefs-editing}}" yn eich dewisiadau.',
+'editpage-notsupportedcontentformat-title' => 'Dydy fformat y cynnwys hwn ddim yn cael ei gefnogi gennym.',
+'editpage-notsupportedcontentformat-text' => 'Dydy fformat y cynnwys ddim yn cael ei gefnogi gan gynnwys model $2.',
 
 # Content models
 'content-model-wikitext' => 'cystrawen wici',
@@ -960,6 +972,7 @@ Cafodd yr argiau hyn eu hepgor.",
 'undo-success' => "Gellir dadwneud y golygiad. Byddwch gystal â gwirio'r gymhariaeth isod i sicrhau mai dyma sydd arnoch eisiau gwneud, ac yna rhowch y newidiadau ar gadw i gwblhau'r gwaith o ddadwneud y golygiad.",
 'undo-failure' => 'Methwyd a dadwneud y golygiad oherwydd gwrthdaro â golygiadau cyfamserol.',
 'undo-norev' => "Ni ellid dadwneud y golygiad oherwydd nad yw'n bod neu iddo gael ei ddileu.",
+'undo-nochange' => 'Ymddengys fod y golygiad wedi ei ddadwneud yn barod.',
 'undo-summary' => 'Dadwneud y golygiad $1 gan [[Special:Contributions/$2|$2]] ([[User talk:$2|Sgwrs]] | [[Special:Contributions/$2|{{MediaWiki:Contribslink}}]])',
 'undo-summary-username-hidden' => 'Dadwneud y golygiad $1 gan ddefnyddiwr cudd',
 
@@ -1140,6 +1153,7 @@ Pan yn gwneud hyn dylid sicrhau nad yw dilyniant hanes tudalennau yn cael ei ddi
 'showhideselectedversions' => 'Dangos/cuddio y diwygiadau dewisedig',
 'editundo' => 'dadwneud',
 'diff-empty' => '(Dim gwahaniaeth)',
+'diff-multi-sameuser' => 'Mae ({{PLURAL:$1|un golygiad|$1 golygiadau}} gan yr un defnyddiwr heb ei ddangos.',
 'diff-multi-manyusers' => '(Ni ddangosir {{PLURAL:$1|yr $1 diwygiad|yr $1 diwygiad|y $1 ddiwygiad|y $1 diwygiad|y $1 diwygiad|y $1 diwygiad}} rhyngol gan mwy na $2 {{PLURAL:$2|o ddefnyddwyr}}.)',
 'difference-missing-revision' => "Ni chafwyd hyd i $1 {{PLURAL:$2|diwygiad|diwygiad|ddiwygiad|diwygiad}} o'r gwahaniaeth ($1) {{PLURAL:$2|hwn}}.
 
@@ -1185,6 +1199,7 @@ Mae manylion pellach i'w cael yn [{{fullurl:{{#Special:Log}}/delete|page={{FULLP
 'searchrelated' => 'erthyglau eraill tebyg',
 'searchall' => 'oll',
 'showingresults' => "Yn dangos $1 {{PLURAL:$1|canlyniad|canlyniad|ganlyniad|chanlyniad|chanlyniad|canlyniad}} isod gan ddechrau gyda rhif '''$2'''.",
+'showingresultsinrange' => 'Yn cael ei ddangos isod yn y rhediad Showing below up to {{PLURAL:$1|<strong>1</strong> result|<strong>$1</strong> results}} #<strong>$2</strong> i #<strong>$3</strong>.',
 'showingresultsnum' => "Yn dangos $3 {{PLURAL:$3|canlyniad|canlyniad|ganlyniad|chanlyniad|chanlyniad|canlyniad}} isod gan ddechrau gyda rhif '''$2'''.",
 'showingresultsheader' => "{{PLURAL:$5||Canlyniad '''$1''' o blith '''$3'''|Canlyniadau '''$1 - $2''' o blith '''$3'''|Canlyniadau '''$1 - $2''' o blith '''$3'''|Canlyniadau '''$1 - $2''' o blith '''$3'''|Canlyniadau '''$1 - $2''' o blith '''$3'''}} ar gyfer '''$4'''",
 'search-nonefound' => "Ni chafwyd dim canlyniadau i'r ymholiad.",
@@ -2194,6 +2209,7 @@ Pan fydd y dudalen hon, neu ei thudalen sgwrs, yn newid, fe fyddant yn ymddangos
 'watchmethod-list' => "yn chwilio'r tudalennau ar y rhestr wylio am ddiwygiadau diweddar",
 'watchlistcontains' => '{{PLURAL:$1|Nid oes dim tudalennau|Mae $1 dudalen|Mae $1 dudalen|Mae $1 tudalen|Mae $1 thudalen|Mae $1 o dudalennau}} ar eich rhestr wylio.',
 'iteminvalidname' => "Problem gyda'r eitem '$1', enw annilys...",
+'wlnote2' => 'Isod, fe welwch y newidiadau yn yr  {{PLURAL:$1|hour|<strong>$1</strong> awr diwethaf}}, a hynny ar $2, $3.',
 'wlshowlast' => "Dangoser newidiadau'r $1 awr ddiwethaf neu'r $2 {{PLURAL:$2|diwrnod|diwrnod|ddiwrnod|diwrnod|diwrnod|diwrnod}} diwethaf neu'r $3 newidiadau.",
 'watchlist-options' => 'Dewisiadau ar gyfer y rhestr wylio',
 
@@ -2769,6 +2785,7 @@ $2',
 'thumbnail_image-type' => "Nid yw'r math hwn o ddelwedd yn cael ei gynnal",
 'thumbnail_gd-library' => 'Mae ffurfwedd y llyfrgell GD yn anghyflawn: y ffwythiant $1 yn eisiau',
 'thumbnail_image-missing' => "Mae'n debyg bod y ffeil yn eisiau: $1",
+'thumbnail_image-failure-limit' => "'Da chi 'di methu gormod o weithiau (\$ neu fwy) i rendro'r ciplun. Ceisiwch eto nes ymlaen.",
 
 # Special:Import
 'import' => 'Mewnforio tudalennau',
index b25d2b9..1adc184 100644 (file)
@@ -966,6 +966,9 @@ Bitte warte $1, bevor du es erneut probierst.',
 'suspicious-userlogout' => 'Deine Abmeldeanfrage wurde verweigert, da sie vermutlich von einem defekten Browser oder einem Cache-Proxy gesendet wurde.',
 'createacct-another-realname-tip' => 'Der bürgerliche Name ist optional.
 Wenn du ihn angibst, wird er für die Zuordnung der Beiträge verwendet.',
+'pt-login' => 'Anmelden',
+'pt-createaccount' => 'Benutzerkonto erstellen',
+'pt-userlogout' => 'Abmelden',
 
 # Email sending
 'php-mail-error-unknown' => 'Unbekannter Fehler mit der Funktion mail() von PHP',
index 6937ba7..eb6852e 100644 (file)
@@ -214,6 +214,7 @@ Du hast darauf keinen Zugriff.',
 'right-passwordreset' => 'Passwort eines Benutzers zurücksetzen und das dazu verschickte E-Mail einsehen',
 
 # Recent changes
+'recentchanges-label-plusminus' => 'Die Änderung der Seitengrösse in Bytes',
 'rc_categories' => 'Nur Seiten aus den Kategorien (getrennt mit «|»):',
 'rc-old-title' => 'ursprünglich erstellt als «$1»',
 
index 5ff6250..7299a59 100644 (file)
@@ -9,6 +9,8 @@
  *
  * @author *Surak*
  * @author ChrisiPK
+ * @author Das Schäfchen
+ * @author Filzstift
  * @author Geitost
  * @author Imre
  * @author Jimmy Collins <jimmy.collins@web.de>
@@ -35,7 +37,7 @@ $messages = array(
 'tog-enotifrevealaddr' => 'Ihre E-Mail-Adresse in Benachrichtigungs-E-Mails anzeigen',
 
 'view-pool-error' => 'Entschuldigung, die Server sind im Moment überlastet.
-Zu viele Benutzer versuchen diese Seite zu besuchen.
+Zu viele Benutzer versuchen, diese Seite zu besuchen.
 Bitte warten Sie einige Minuten, bevor Sie es noch einmal versuchen.
 
 $1',
@@ -74,12 +76,14 @@ Nutzen Sie bitte [//translatewiki.net/ translatewiki.net], das Lokalisierungspro
 
 Beachten Sie, dass einige Seiten noch anzeigen können, dass Sie angemeldet sind, solange Sie nicht Ihren Browsercache geleert haben.",
 'welcomecreation-msg' => 'Ihr Benutzerkonto wurde erstellt.
-Vergissen Sie nicht, Ihre [[Special:Preferences|{{SITENAME}}-Einstellungen]] zu ändern.',
+Vergessen Sie nicht, Ihre [[Special:Preferences|{{SITENAME}}-Einstellungen]] zu ändern.',
 'yourdomainname' => 'Ihre Domain:',
 'password-change-forbidden' => 'Sie können auf diesem Wiki keine Passwörter ändern.',
 'externaldberror' => 'Entweder es liegt ein Fehler bei der externen Authentifizierung vor oder Sie dürfen Ihr externes Benutzerkonto nicht aktualisieren.',
 'nologin' => 'Sie haben kein Benutzerkonto? $1.',
 'gotaccount' => "Haben Sie bereits ein Benutzerkonto? '''$1'''.",
+'userlogin-loggedin' => 'Sie sind bereits als {{GENDER:$1|$1}} angemeldet.
+Benutzen Sie das unten stehende Formular, um sich unter einem anderen Benutzernamen anzumelden.',
 'userexists' => 'Dieser Benutzername ist schon vergeben.
 Bitte wählen Sie einen anderen.',
 'nocookiesnew' => 'Der Benutzerzugang wurde erstellt, aber Sie sind nicht angemeldet.
@@ -541,7 +545,6 @@ Bitte geben Sie den Grund für die Sperre an.',
 'autoblocker' => 'Automatische Sperre, da Sie eine gemeinsame IP-Adresse mit [[User:$1|$1]] benutzen. Grund der Benutzersperre: „$2“.',
 'ipb-needreblock' => '„$1“ ist bereits gesperrt. Möchten Sie die Sperrparameter ändern?',
 'proxyblockreason' => 'Ihre IP-Adresse wurde gesperrt, da sie ein offener Proxy ist. Bitte kontaktieren Sie Ihren Internet-Provider oder Ihre Systemadministratoren und informieren Sie sie über dieses mögliche Sicherheitsproblem.',
-'cant-block-while-blocked' => 'Sie können keine anderen Benutzer sperren, während Sie selbst gesperrt sind.',
 'cant-see-hidden-user' => 'Der Benutzer, den Sie versuchen zu sperren, wurde bereits gesperrt und verborgen. Da Sie das „hideuser“-Recht nicht haben, können Sie die Benutzersperre nicht sehen und nicht bearbeiten.',
 'ipbblocked' => 'Sie können keine anderen Benutzer sperren oder entsperren, da Sie selbst gesperrt sind',
 'ipbnounblockself' => 'Sie haben nicht die Berechtigung, sich selbst zu entsperren',
@@ -657,7 +660,6 @@ Rückmeldung des Mailservers: $1',
 'confirmemail_needlogin' => 'Sie müssen sich $1, um Ihre E-Mail-Adresse zu bestätigen.',
 'confirmemail_success' => 'Ihre E-Mail-Adresse wurde erfolgreich bestätigt. Sie können sich jetzt [[Special:UserLogin|anmelden]].',
 'confirmemail_loggedin' => 'Ihre E-Mail-Adresse wurde erfolgreich bestätigt.',
-'confirmemail_error' => 'Es gab einen Fehler bei der Bestätigung Ihrer E-Mail-Adresse.',
 'confirmemail_body' => 'Hallo,
 
 jemand mit der IP-Adresse $1, wahrscheinlich Sie selbst, hat das Benutzerkonto „$2“ bei {{SITENAME}} registriert.
index d6c1cbf..7df29e4 100644 (file)
@@ -400,7 +400,7 @@ $messages = array(
 'sat' => 'Şem',
 'january' => 'Çele',
 'february' => 'Sıbate',
-'march' => 'Adar (Mart)',
+'march' => 'Adar',
 'april' => 'Nisane',
 'may_long' => 'Gulane',
 'june' => 'Heziran',
@@ -482,10 +482,10 @@ $messages = array(
 
 # Cologne Blue skin
 'qbfind' => 'Bıvêne',
-'qbbrowse' => 'Rovete',
+'qbbrowse' => 'Çım ra viyarne',
 'qbedit' => 'Bıvurne',
-'qbpageoptions' => 'Na per',
-'qbmyoptions' => 'Pe mı',
+'qbpageoptions' => 'Ena pele',
+'qbmyoptions' => 'Pe mı',
 'faq' => 'PZP (Persê ke zehf persiyenê)',
 'faqpage' => 'Project: PZP',
 
@@ -505,8 +505,8 @@ $messages = array(
 'namespaces' => 'Cayê namey',
 'variants' => 'Varyanti',
 
-'navigation-heading' => 'Menuya Navigasyoni',
-'errorpagetitle' => 'Ğeta',
+'navigation-heading' => 'Menuyê navigasyoni',
+'errorpagetitle' => 'Xeta',
 'returnto' => 'Peyser şo $1.',
 'tagline' => '{{SITENAME}} ra',
 'help' => 'Peşti',
@@ -515,12 +515,12 @@ $messages = array(
 'go' => 'Şo',
 'searcharticle' => 'Şo',
 'history' => 'Tarixê pele',
-'history_short' => 'Verén',
+'history_short' => 'Tarix',
 'updatedmarker' => 'cıkewtena mına peyêne ra dıme biyo rocane',
 'printableversion' => 'Asayışê çapkerdışi',
 'permalink' => 'Gıreyo jûqere',
-'print' => 'Nusten ke',
-'view' => 'Bıvin',
+'print' => 'Çap ke',
+'view' => 'Bıvêne',
 'edit' => 'Bıvurne',
 'create' => 'Vıraze',
 'editthispage' => 'Ena pele bıvurne',
index c22d192..3b076f1 100644 (file)
@@ -682,6 +682,9 @@ Móžoš toś te zdźělenje ignorowaś, jolic toś te konto jo se jano zamólnj
 'suspicious-userlogout' => 'Twójo póžedanje za wótzjawjenim jo se wótpokazało, dokulaž zda se, až jo se pósłało pśez wobškóźony wobglědowak abo pufrowański proksy',
 'createacct-another-realname-tip' => 'Napšawdne mě jo opcionalne.
 Jolic jo pódajoš, buźo se to wužywaś, aby pśinoski pśirědowało.',
+'pt-login' => 'Pśizjawiś',
+'pt-createaccount' => 'Konto załožyś',
+'pt-userlogout' => 'Wótzjawiś',
 
 # Email sending
 'php-mail-error-unknown' => 'Njeznata zmólka w PHP-funkciji mail()',
index 36ae3ea..16a1e62 100644 (file)
@@ -297,7 +297,6 @@ $messages = array(
 'lineno' => 'གྲལ་ཐིག་ $1:',
 'compareselectedversions' => 'སེལ་འཐུ་འབད་ཡོད་པའི་ཐོན་རིམ་ཚུ་ ག་བསྡུར་རྐྱབས།',
 'editundo' => 'འབད་བཤོལ།',
-'diff-multi' => '({{PLURAL:$1|བར་ནའི་བསྐྱར་ཞིབ་གཅིག་|$1 བར་ནའི་བསྐྱར་ཞིབ་ཚུ་}} མ་སྟོན་པས།)',
 
 # Search results
 'prevn' => 'ཧེ་མའི་ {{PLURAL:$1|$1}}',
@@ -319,7 +318,6 @@ $messages = array(
 'nchanges' => '$1 {{PLURAL:$1|བསྒྱུར་བཅོས་|བསྒྱུར་བཅོས་ཚུ}}',
 'recentchanges' => 'འཕྲལ་གྱི་བསྒྱུར་བཅོས',
 'recentchanges-feed-description' => 'འབྱུང་སའི་ནང་ ཝི་ཀི་ལུ་འཕྲལ་གྱི་བསྒྱུར་བཅོས་འབད་མི་འདི་ རྗེས་འཚོལ་འབད།',
-'rcnote' => "གཤམ་འཁོད་ཚུ་ $3 ཚུན་ཚོད་ཀྱི་ མཇུག་མཐའ {{PLURAL:$2|ཉིནམ་|'''$2''' ཉིནམ་}} གྱི་ {{PLURAL:$1|བསྒྱུར་བཅོས་ | '''$1''' བསྒྱུར་བཅོས་ཚུ་ }} ཨིན།",
 'rcnotefrom' => "འོག་གི་ཚུ་ '''$2''' (up to '''$1''' shown) ལས་ཚུར་གྱི་བསྒྱུར་བཅོས་ཨིན།",
 'rclistfrom' => '$1 ལས་ འགོ་བཟུང་སྟེ་ བསྒྱུར་བཅོས་གསརཔ་ཚུ་སྟོན་',
 'rcshowhideminor' => '$1 གལ་གནད་ཆུང་བའི་ཞུན་དག།',
index e3dbaab..191157f 100644 (file)
@@ -322,7 +322,6 @@ Zã [[Special:Search|nuwo didi le wiki sia dzi]] kpɔ na axa yeyeawo.',
 # Recent changes
 'recentchanges' => 'Tɔtrɔ yeyewo',
 'recentchanges-legend' => 'Tatiawo na tɔtrɔ yeyewo',
-'rcnote' => "Afisia wofia {{PLURAL:$1|tɔtrɔ '''1''' susue|tɔtrɔ '''$1''' susuewo}} le {{PLURAL:$2|ŋkeke si|ŋkeke '''$2''' mamleawo siwo}} vayi la me, le $5, $4.",
 'rcnotefrom' => "Tɔtrɔwo siwo wowɔ tso '''$2''' (wofia vaseɖe '''$1''') le afii.",
 'rclistfrom' => 'Fia tɔtrɔ yeyewo tso $1',
 'rcshowhideminor' => '$1 tɔtrɔ suewo',
@@ -421,7 +420,6 @@ Zã [[Special:Search|nuwo didi le wiki sia dzi]] kpɔ na axa yeyeawo.',
 # Watchlist
 'watch' => 'Le ŋku ɖe eŋu',
 'watchthispage' => 'Le ŋku ɖe axa sia ŋu',
-'wlnote' => "Afisia wofia {{PLURAL:$1|tɔtrɔ '''1''' mamlea|tɔtrɔ '''$1''' mamleawo}} le {{PLURAL:$2|gaƒoƒo mamlea si|gaƒoƒo '''$2''' mamleawo siwo}} vayi la me.",
 'wlshowlast' => 'Fia gaƒoƒo $1 ŋkeke $2 mamleawo. $3',
 
 # Delete
index ee84b91..ddff3ed 100644 (file)
@@ -7,6 +7,7 @@
  * @ingroup Language
  * @file
  *
+ * @author Lévi
  * @author Ottaviano II
  * @author Timichal
  * @author Tèstaquêdra
@@ -23,141 +24,141 @@ $messages = array(
 'thursday' => 'Giuvidè',
 'friday' => 'Venerdè',
 'saturday' => 'Sâbet',
-'january' => 'Znèr',
-'february' => 'Febrèr',
-'march' => 'Mèrz',
+'january' => 'Znêr',
+'february' => 'Fervêr',
+'march' => 'Mêrs',
 'april' => 'Avrîl',
 'june' => 'Zógn',
 'july' => 'Lój',
 'august' => 'Agòst',
-'september' => 'Setàmber',
-'october' => 'Utóber',
-'november' => 'Nuvàmber',
-'december' => 'Dzèmber',
-'may' => 'Mâz',
+'september' => 'Setèmber',
+'october' => 'Utòber',
+'november' => 'Nuvèmber',
+'december' => 'Dicèmber',
+'may' => 'Mâg',
 
-'mytalk' => 'I mê discussiòun',
+'mytalk' => 'Al mē discusiòun',
 
-'returnto' => 'Tórna a $1.',
+'returnto' => 'Tōrna a $1.',
 'help' => 'Per quî rivê da pôch',
 'history_short' => 'Stôria',
-'printableversion' => 'Versiòun stampàbil',
-'permalink' => 'Link permanèint',
-'edit' => 'Mudifichèr',
-'delete' => 'Dscanzèla',
-'protect' => 'Prutèzz',
-'specialpage' => 'Pàgina specla',
-'talk' => 'Discussiòun',
-'jumptosearch' => 'Zerca',
+'printableversion' => "Versiòun ch'la 's pōl stampêr",
+'permalink' => 'Colegamèint fés',
+'edit' => 'Mudéfica',
+'delete' => 'Scanşèla',
+'protect' => 'Prutēz',
+'specialpage' => 'Pàgina specêla',
+'talk' => 'Discusiòun',
+'jumptosearch' => 'Sèirca',
 
 # All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
 'currentevents' => 'Fât e prugèt ed tót',
 'currentevents-url' => 'Project:Prugèt_ed_tót',
-'helppage' => 'Help:Introduzione',
+'helppage' => 'Help:Introdusiòun',
 'portal' => 'Discóter e quistiunêr',
 'portal-url' => 'Project:Bar',
 
 # Short words for each namespace, by default used in the namespace tab in monobook
-'nstab-main' => 'Artéccol',
-'nstab-template' => 'Modèl',
+'nstab-main' => 'Artécol',
+'nstab-template' => 'Mudèl',
 
 # Login and logout pages
-'logouttext' => "'''Adèsa s'et discunnês.'''
-
-Putiv cuntinuèr ad usèr {{SITENAME}} anonimamèint, o putiv cunnètterv dòp cun al stèss nàmm o cun un èter.
-Nutêv ca alcuni pàgini i putrèbber cuntinuèr a cràdder ca vueter a-sîv discunnès, finchè non purghê la cache dal vòster browser.",
-'userlogin' => 'Entrèr / Argistrères',
-'logout' => 'va fôra',
-'userlogout' => 'Va fôra',
-'userexists' => "Al nòmm ch'èt scélt l'è stê bèle usê: càten un èter, per piasêr.",
-'loginsuccess' => "'''Adèsa sèt cunês in {{SITENAME}} cun al nàmm d'utèint \"\$1\".'''",
-'wrongpassword' => "La password ch'et méss l'è sbajèda. Pròva ancàrra.",
-'blocked-mailpassword' => "Al tô indirézz IP l'an pôl più feèr di cambiamèint, e l'en brisa abilitê par user la funziòun ed recópper ed password par evitèr di abûs.",
-'accountcreated' => 'Et criê un nôv account',
+'logouttext' => "''An té pió coleghê''
+Ét pō cuntinvêr a druvêr {{SITENAME}} sèina nòm, o ét pō coleghêret dôp cun l'istès nòm o cun 'n êter.
+Guêrda che soquânti pàgini a 's prén vèder incòra cme s'ét fós coleghê fîn a che an vîn mia pulî la 'cache' dal tó  'browser'.",
+'userlogin' => 'Ingrès / regéstret',
+'logout' => 'Và fōra',
+'userlogout' => 'Và fōra',
+'userexists' => "Al nòm utèint ch'èt siēlt l'è bèle stê druvê.
+Câten un èter, per piaşèir.",
+'loginsuccess' => "'''Adèsa t'é coleghê in {{SITENAME}} cun al nòm utèint \"\$1\".'''",
+'wrongpassword' => "La 'password' che t'é més l'è sbaliêda. Prōva incòra.",
+'blocked-mailpassword' => "Per anticipêr abûş, an n'é mía permès druvêr  'n' êtra 'password' da 'n indirés 'IP' bluchê.",
+'accountcreated' => "T'é fât un nōv 'account'.",
 
 # Edit pages
 'summary' => "Mutîv d'al cambiamèint:",
-'minoredit' => "Còst cambiamèint ché l'é un gnînt in tót",
-'watchthis' => "Tîn a drê a c'la pàgina chè",
-'savearticle' => 'Salva',
-'showpreview' => 'Anteprémma',
-'showdiff' => 'Guèrda al differèinzi',
-'anoneditwarning' => "'''Attenziòun:''' An sîv ménga vgnû dèinter. Al vòster indirézz IP al vrà signê in d'la stòria d'i cambiamèint ed sta pagina chè..",
-'anontalkpagetext' => "----''Sta chè l'éla pàgina ed discussiòun d'un utèint anònim c'al n'à brisa criê un sô account o c'an l'usa ménga. Bsògna quindi usêr al sô indirézz IP par identifichèrel. L'istèss indirézz IP al pôl èsser usê da di mòndi utèint. Se sèt un utèint anònim e pèinset c'a-t in sun stèdi fâti di cummèint irrilevànt, per piasér [[Special:UserLogin|criêt un account o fê al log-in]] par evitèr confusiòuni futuri cun di èter utèint anònim.''",
+'minoredit' => "Cól cambiamèint ché l'é un gnînt in tót",
+'watchthis' => 'Tîn a drē a cla pàgina chè',
+'savearticle' => 'Sêlva la pàgina',
+'showpreview' => "Guêrda préma 'd salvêr",
+'showdiff' => 'Guêrda al diferèinsi',
+'anoneditwarning' => "'''Atensiòun''': l'ingrès an n'é mía stê fât. Al tó indirés 'IP' al gnirà scrét int la stòria di cambiamèint ed cla pàgina ché.",
+'anontalkpagetext' => "''Còsta  l'é la pàgina 'd discusiòun 'd un utèint sèinsa nòm  ch' an n'à mìa incòra fât un utèinsa o che in tót al manēri l' al drōva mìa.''
+Per arcgnòsrel l'é dòunca necesâri druvêr al nómer dal só indirés IP. J indirés IP a pōlen èser spartî da pió utèint. Se  t'é un utèint sèinsa nòm e 't pèins che i cumèint preşèint in cla pàgina ché an 't riguêrden mìa [[Special:UserLogin/signup|fà 'na nōva utèinsa]] o [[Special:UserLogin|vîn dèinter cun còla ch' ét gh' ê bèle]] per fêr in môd 'd an èser mìa cunfûş in futûr cun êter utèint sèinsa nòm.",
 'editing' => 'Cambiamèint ed $1',
-'yourdiff' => 'Differèinzi',
-'templatesused' => '{{PLURAL:$1|Modêl|Modêl}} usèdi in sta pàgina:',
+'yourdiff' => 'Diferèinsi',
+'templatesused' => '{{PLURAL:$1|Modèl druvê|ModÄ\93 druvê}} in cla pàgina ché:',
 
 # Preferences page
-'mypreferences' => 'AL mê preferèinzi',
-'yourrealname' => 'Al tô vér nàmm:',
+'mypreferences' => 'preferèinzi',
+'yourrealname' => 'Al tō nòm vèira:',
 'yourlanguage' => 'Léngua:',
 
 # Special:Log/newusers
-'newuserlogpage' => 'Regestér di nōv utèint',
+'newuserlogpage' => 'Regéster di nōv utèint',
 
 # Recent changes
 'recentchanges' => 'Ûltem cambiamèint',
-'diff' => 'diferèinzi',
+'diff' => 'diferèinsi',
 'hist' => 'stôria',
 
 # Recent changes linked
-'recentchangeslinked' => 'Mudéffic curelèdi',
-'recentchangeslinked-feed' => 'Mudéffic curelèdi',
-'recentchangeslinked-toolbox' => 'Mudéffic curelèdi',
+'recentchangeslinked' => 'Mudéfichi coleghêdi',
+'recentchangeslinked-feed' => 'Mudéfichi coleghêdi',
+'recentchangeslinked-toolbox' => 'Mudéfichi coleghêdi',
 
 # Upload
-'upload' => 'Carghèr un file',
-'filedesc' => "Ugêt d'al cambiamèint",
-'fileuploadsummary' => "Ugêt d'al cambiamèint:",
+'upload' => "Carghèr un 'file'",
+'filedesc' => 'Sûnt',
+'fileuploadsummary' => "Sûnt dal 'file':",
 
 # Special:ListFiles
-'listfiles_size' => 'Dimensiòun (bytes)',
+'listfiles_size' => "Dimensiòun in 'bytes'",
 
 # Random page
-'randompage' => 'Una pàgina a chès',
+'randompage' => "'Na pàgina a chêş",
 
 # Miscellaneous special pages
-'move' => 'Môv',
+'move' => 'Spôsta',
 
 # Special:Log
-'specialloguserlabel' => 'Utèint:',
+'specialloguserlabel' => 'Asiòun fâta da:',
 
 # Special:AllPages
-'allpages' => 'Tôt al pàgin',
+'allpages' => 'Tót al pàgini',
 
 # Watchlist
-'watchlist' => 'Al còsi ca guèrd',
-'watch' => 'Tîn a drê',
-'watchthispage' => "Tîn a drê a c'la pàgina chè",
+'watchlist' => 'I lavōr che guêrd',
+'watch' => 'Tîn a drē',
+'watchthispage' => 'Tîn a drē  a cla pàgina ché',
 
 # Delete
-'excontent' => "al cointgnû l'éra: '$1'",
-'excontentauthor' => "al cointgnû l'éra: '$1' (e l'ónic cuntribudôr l'éra '[[Special:Contributions/$2|$2]]')",
-'confirmdeletetext' => "Stèt per scanzlèr 'na pàgina o n'imàgin, insìmma a tòt la sô crunolugî dal database.
-Cunfermèr per piasèr ca saîv quàl che stèv par fêr, ca capîv al pussìbil counseguèinzi e ca stèv facènd quàst in confurmitê cun [[{{MediaWiki:Policy-url}}]].",
-'deletedtext' => '"$1" l\'è stê scanzlê.
-Guèrda $2 par vèdder la lésta d\'al pàgin ch\'i sun stèdi scanzlèdi di recèint.',
-'dellogpage' => 'Regestér dal scanzladûri',
-'deletionlog' => 'regéster dal scanzladûri',
+'excontent' => "al contgnû l'ēra: '$1'",
+'excontentauthor' => "al cuntgnû l'ēra: '$1' (e l'ónich avtōr l'ēra '[[Special:Contributions/$2|$2]]')",
+'confirmdeletetext' => "T'é drē scanşlêr 'na pàgina o na figûra, insèm a tóta la só stòria dal 'database'. Per piaşèir cunfērma ch'ét vō scanşlêrla, ch'ét sê j efèt ed la tó decişiòun e ch' la cumbîna cun al léni guîda dal [[{{MediaWiki:Policy-url}}]].",
+'deletedtext' => '"$1" l\'é stê scanşlê.
+Guèrda $2 per vèder la lésta d\'al pàgini ch\' în stèdi scanşlèdi da pôch tèimp.',
+'dellogpage' => 'Regéster dal scanşladûri',
+'deletionlog' => 'regéster dal scanşladûri',
 
 # Contributions
-'mycontris' => 'I mê cuntribùdi',
+'mycontris' => 'i mē lavōr',
 
 # What links here
-'whatlinkshere' => 'I pùnten chè',
+'whatlinkshere' => 'A pûnten ché',
 
 # Block/unblock
-'blocklink' => 'blòchel',
+'blocklink' => 'blôca',
 'contribslink' => "còl ch'l'à scrét",
 
 # Move page
-'movelogpage' => 'Regestér di muvimèint',
+'movelogpage' => 'Regéster di muvimèint',
 
 # Special:NewFiles
-'ilsubmit' => 'Zerca',
+'ilsubmit' => 'rca',
 
 # Special:SpecialPages
-'specialpages' => 'Pàgin specièli',
+'specialpages' => 'Pàgini specêli',
 
 );
index 78fcac1..c741f02 100644 (file)
@@ -9,6 +9,7 @@
  *
  * @author Dantman
  * @author FrigidNinja
+ * @author Nemo bis
  * @author Shirayuki
  * @author Techman224
  * @author គីមស៊្រុន
@@ -19,7 +20,7 @@ $messages = array(
 'talk' => 'Discussion',
 
 # All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
-'aboutsite' => 'អំពី {{SITENAME}}',
+'aboutsite' => 'About {{SITENAME}}',
 'mainpage' => 'Main Page',
 
 'editsection' => 'edit',
index 34713f8..ff6b02c 100644 (file)
@@ -152,7 +152,11 @@ If the file has been modified from its original state, some details may not full
 'confirmemail_invalidated' => 'Email address confirmation cancelled',
 
 # Special:Version
-'version-license' => 'Licence',
+'version-license' => 'MediaWiki Licence',
+'version-ext-license' => 'Licence',
+'version-ext-colheader-license' => 'Licence',
+'version-license-title' => 'Licence for $1',
+'version-license-not-found' => 'No detailed licence information was found for this extension.',
 'version-credits-summary' => 'We would like to recognise the following persons for their contribution to [[Special:Version|MediaWiki]].',
 'version-license-info' => 'MediaWiki is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as published by the Free Software Foundation; either version 2 of the Licence, or (at your option) any later version.
 
index 5dce044..21d63d7 100644 (file)
@@ -925,6 +925,9 @@ Puedes ignorar este mensaje si esta cuenta fue creada por error.',
 'suspicious-userlogout' => 'Tu solicitud de desconexión ha sido denegada, pues parece haber sido enviada desde un navegador defectuoso o un proxy caché.',
 'createacct-another-realname-tip' => 'El nombre real es opcional.
 Si se proporciona, se usará para dar al usuario la atribución de su trabajo.',
+'pt-login' => 'Iniciar sesión',
+'pt-createaccount' => 'Crear una cuenta',
+'pt-userlogout' => 'Cerrar sesión',
 
 # Email sending
 'php-mail-error-unknown' => 'Error desconocido en la función mail() de PHP.',
@@ -949,8 +952,13 @@ Espera $1 antes de intentarlo de nuevo.',
 'resetpass-submit-cancel' => 'Cancelar',
 'resetpass-wrong-oldpass' => 'La contraseña antigua no es correcta.
 Puede que ya hayas cambiado la contraseña o que hayas pedido una temporal.',
+'resetpass-recycled' => 'Por favor, restablece tu contraseña a algo distinto de tu contraseña actual.',
+'resetpass-temp-emailed' => 'Has iniciado sesión con un código temporal por correo electrónico.
+Para terminar la sesión, debes establecer una nueva contraseña aquí:',
 'resetpass-temp-password' => 'Contraseña temporal:',
 'resetpass-abort-generic' => 'Una extensión ha cancelado el cambio de la contraseña.',
+'resetpass-expired' => 'Tu contraseña ha caducado. Por favor, establece una nueva contraseña para iniciar sesión.',
+'resetpass-expired-soft' => 'Tu contraseña ha expirado y necesita ser restablecida. Elije una nueva contraseña ahora, o haz clic en cancelar para restablecerla más tarde.',
 
 # Special:PasswordReset
 'passwordreset' => 'Restablecimiento de contraseña',
@@ -1438,6 +1446,7 @@ Nota que usar los enlaces de navegación borrará las selecciones de esta column
 'editundo' => 'deshacer',
 'diff-empty' => '(Sin diferencias)',
 'diff-multi-sameuser' => '({{PLURAL:$1|Una revisión intermedia|$1 revisiones intermedias}} por el mismo usuario no mostrado)',
+'diff-multi-otherusers' => '(No se {{PLURAL:$1|muestra una edición intermedia|muestran $1 ediciones intermedias}} de {{PLURAL:$2|un usuario|$2 usuarios}})',
 'diff-multi-manyusers' => '(No se {{PLURAL:$1|muestra una edición intermedia|muestran $1 ediciones intermedias}} de {{PLURAL:$2|un usuario|$2 usuarios}})',
 'difference-missing-revision' => 'No {{PLURAL:$2|se ha encontrado|se han encontrado}} {{PLURAL:$2|una revisión|$2 revisiones}} de esta diferencia ($1).
 
@@ -1484,6 +1493,7 @@ Los detalles pueden encontrarse en el [{{fullurl:{{#Special:Log}}/delete|page={{
 'searchrelated' => 'relacionado',
 'searchall' => 'todos',
 'showingresults' => "Abajo se {{PLURAL:$1|muestra '''1''' resultado|muestran hasta '''$1''' resultados}} comenzando por el n.º '''$2'''.",
+'showingresultsinrange' => 'Abajo se muestran hasta {{PLURAL:$1|<strong>1</strong> resultado|<strong>$1</strong> resultados}} en el rango #<strong>$2</strong> hasta #<strong>$3</strong>.',
 'showingresultsnum' => "Abajo se {{PLURAL:$3|muestra '''1''' resultado|muestran los '''$3''' resultados}} comenzando por el n.º '''$2'''.",
 'showingresultsheader' => "{{PLURAL:$5|Resultado '''$1''' de '''$3'''|Resultados '''$1-$2''' de '''$3'''}} para '''$4'''",
 'search-nonefound' => 'No hay resultados que cumplan los criterios de búsqueda.',
@@ -2301,10 +2311,20 @@ Las entradas <del>tachadas</del> han sido resueltas.',
 'deadendpagestext' => 'Las siguientes páginas no enlazan a otras páginas de {{SITENAME}}.',
 'protectedpages' => 'Páginas protegidas',
 'protectedpages-indef' => 'Sólo protecciones indefinidas',
+'protectedpages-summary' => 'Esta página enumera las páginas existentes que actualmente están protegidas. Para obtener una lista de títulos que están protegidos desde su creación, véase [[{{#special: ProtectedTitles}}]].',
 'protectedpages-cascade' => 'Sólo protecciones en cascada',
 'protectedpages-noredirect' => 'Ocultar redirecciones',
 'protectedpagesempty' => 'Actualmente no hay ninguna página protegida con esos parámetros.',
+'protectedpages-timestamp' => 'Fecha y hora',
+'protectedpages-page' => 'Página',
+'protectedpages-expiry' => 'Expira',
+'protectedpages-performer' => 'Protección de usuario',
+'protectedpages-params' => 'Parámetros de protección',
+'protectedpages-reason' => 'Motivo',
+'protectedpages-unknown-timestamp' => 'Desconocido',
+'protectedpages-unknown-performer' => 'Usuario desconocido',
 'protectedtitles' => 'Títulos protegidos',
+'protectedtitles-summary' => 'Esta página enumera títulos que actualmente están protegidos desde su creación. Para una lista de las páginas existentes que están protegidos, véase [[{{#special: ProtectedPages}}]].',
 'protectedtitlesempty' => 'Actualmente no existen entradas protegidas con esos parámetros.',
 'listusers' => 'Lista de usuarios',
 'listusers-editsonly' => 'Muestra sólo usuarios con ediciones',
@@ -3058,6 +3078,7 @@ $2',
 'thumbnail_image-type' => 'Tipo de imagen no contemplado',
 'thumbnail_gd-library' => 'Configuración de la librería GD incompleta: falta la función $1',
 'thumbnail_image-missing' => 'El fichero parece no existir: $1',
+'thumbnail_image-failure-limit' => 'Ha habido muchos intentos recientes ($1 o más) para representar esta miniatura. Inténtalo de nuevo más tarde.',
 
 # Special:Import
 'import' => 'Importar páginas',
@@ -3106,6 +3127,7 @@ No hay un directorio temporal.',
 'import-error-special' => 'La página "$1" no se ha importado porque pertenece a un espacio de nombres especial que no admite páginas.',
 'import-error-invalid' => 'La página "$1" no se ha importado porque su nombre no es válido.',
 'import-error-unserialize' => 'La revisión $2 de la página "$1" no pudo dejar de hacerse en serie. Se informó de la revisión para utilizar el modelo de contenidos $3 ejecutado en serie como $4.',
+'import-error-bad-location' => 'La revisión $2 utilizando el modelo de contenido $3 no se pueden almacenar en "$1" en este wiki, ya que ese modelo no es compatible en esa página.',
 'import-options-wrong' => '{{PLURAL:$2|Opción errónea|Opciones erróneas}}: <nowiki>$1</nowiki>',
 'import-rootpage-invalid' => 'La página raíz dada es un título inválido.',
 'import-rootpage-nosubpage' => 'El espacio de nombres "$1" de la página raíz no permite subpáginas.',
index 034cc40..29cf006 100644 (file)
@@ -21,7 +21,6 @@ $namespaceGenderAliases = array();
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Diidtol jokke',
-'tog-justify' => 'Fonndito lelnanɗe',
 'tog-hideminor' => 'Duuɗ taƴtanɗe pamare e bayle cakkitiiɗe',
 'tog-hidepatrolled' => 'Suuɗ taƴtanɗe deenaaɗe ɗee e bayle cakkitiiɗe',
 'tog-newpageshidepatrolled' => 'Suuɗ kelle deenaaɗe e doggol kelle kese',
index 4854f0a..88a2d18 100644 (file)
@@ -445,7 +445,7 @@ $messages = array(
 'hidden-categories' => '{{PLURAL:$1|Piilotettu luokka|Piilotetut luokat}}',
 'hidden-category-category' => 'Piilotetut luokat',
 'category-subcat-count' => '{{PLURAL:$2|Tässä luokassa on seuraava alaluokka.|{{PLURAL:$1|Seuraava alaluokka kuuluu|Seuraavat $1 alaluokkaa kuuluvat}} tähän luokkaan. Alaluokkien kokonaismäärä luokassa on $2.}}',
-'category-subcat-count-limited' => 'Tässä luokassa on {{PLURAL:$1|yksi alaluokka|$1 alaluokkaa}}.',
+'category-subcat-count-limited' => 'Tässä luokassa on {{PLURAL:$1|yksi alaluokka|seuraavat $1 alaluokkaa}}.',
 'category-article-count' => '{{PLURAL:$2|Tässä luokassa on seuraava sivu.|{{PLURAL:$1|Seuraava sivu kuuluu|Seuraavat $1 sivua kuuluvat}} tähän luokkaan. Sivujen kokonaismäärä luokassa on $2.}}',
 'category-article-count-limited' => '{{PLURAL:$1|Tämä sivu kuuluu|Nämä $1 sivua kuuluvat}} nykyiseen luokkaan.',
 'category-file-count' => '{{PLURAL:$2|Tässä luokassa on seuraava tiedosto.|{{PLURAL:$1|Seuraava tiedosto kuuluu|Seuraavat $1 tiedostoa kuuluvat}} tähän luokkaan. Tiedostoja luokassa on yhteensä $2.}}',
@@ -853,6 +853,9 @@ Odota $1 ennen kuin yrität uudelleen.',
 'suspicious-userlogout' => 'Pyyntösi kirjautua ulos evättiin, koska se näytti rikkinäisen selaimen tai välimuistipalvelimen lähettämältä.',
 'createacct-another-realname-tip' => 'Vapaaehtoinen.
 Nimesi näytetään käyttäjätunnuksesi sijasta sivun tekijäluettelossa.',
+'pt-login' => 'Kirjaudu sisään',
+'pt-createaccount' => 'Luo tunnus',
+'pt-userlogout' => 'Kirjaudu ulos',
 
 # Email sending
 'php-mail-error-unknown' => 'Tuntematon virhe PHP:n mail()-funktiossa',
@@ -1405,7 +1408,7 @@ $1 {{int:pipe-separator}} $2',
 'searchrelated' => 'samankaltainen',
 'searchall' => 'kaikki',
 'showingresults' => '{{PLURAL:$1|<strong>Yksi</strong> tulos|<strong>$1</strong> tulosta}} tuloksesta <strong>$2</strong> alkaen.',
-'showingresultsinrange' => 'Alla näytetään enintään {{PLURAL:$1|<strong>1</strong> tulos|<strong>$1</strong> tulosta}} väliltä <strong>$2</strong> – <strong>$3</strong>.',
+'showingresultsinrange' => 'Alla näytetään {{PLURAL:$1|<strong>1</strong> tulos|<strong>$1</strong> tulosta}} väliltä <strong>$2</strong> – <strong>$3</strong>.',
 'showingresultsnum' => "Alla on {{PLURAL:$3|'''Yksi''' hakutulos|'''$3''' hakutulosta}} alkaen '''$2.''' tuloksesta.",
 'showingresultsheader' => "{{PLURAL:$5|Tulokset '''$1'''–'''$3'''|Tulokset '''$1'''–'''$2''' kaikkiaan '''$3''' osuman joukosta}} haulle '''$4'''",
 'search-nonefound' => 'Hakusi ei tuottanut tulosta.',
@@ -4086,7 +4089,7 @@ Muussa tapauksessa voit käyttää alla olevaa helpompaa lomaketta. Kommenttisi
 'feedback-error3' => 'Virhe: Ohjelmointirajapinta ei vastaa',
 'feedback-thanks' => 'Kiitos. Palautteesi on jätetty sivulle [$2 $1].',
 'feedback-close' => 'Valmis',
-'feedback-bugcheck' => 'Hyvä! Varmista, että ohjelmointivirhe ei vielä löydy [$1 tästä listasta].',
+'feedback-bugcheck' => 'Hyvä! Varmista vielä, että ohjelmointivirhettä ei löydy [$1 tunnettujen virheiden luettelosta].',
 'feedback-bugnew' => 'Olen varmistanut. Ilmoitan uuden ohjelmointivirheen',
 
 # Search suggestions
@@ -4130,7 +4133,7 @@ Muussa tapauksessa voit käyttää alla olevaa helpompaa lomaketta. Kommenttisi
 'api-error-timeout' => 'Palvelin ei vastannut odotetun ajan kuluessa.',
 'api-error-unclassified' => 'Tapahtui tuntematon virhe.',
 'api-error-unknown-code' => 'Tuntematon virhe: $1.',
-'api-error-unknown-error' => 'Sisäinen virhe: Jotain meni vikaan kun tiedostosi yritettiin tallentaa.',
+'api-error-unknown-error' => 'Sisäinen virhe: Jotain meni vikaan kun tiedostoasi yritettiin tallentaa.',
 'api-error-unknown-warning' => 'Tuntematon varoitus: $1.',
 'api-error-unknownerror' => 'Tuntematon virhe: $1.',
 'api-error-uploaddisabled' => 'Tiedostojen tallentaminen ei ole käytössä.',
@@ -4165,10 +4168,11 @@ Muussa tapauksessa voit käyttää alla olevaa helpompaa lomaketta. Kommenttisi
 
 # Special:ExpandTemplates
 'expandtemplates' => 'Mallineiden laajennus',
-'expand_templates_intro' => 'Tämä toimintosivu ottaa syötteekseen tekstiä ja laajentaa kaikki mallineet rekursiivisesti sekä jäsenninfunktiot, kuten
-<code><nowiki>{{</nowiki>#language:...}}</code>, ja -muuttujat, kuten
+'expand_templates_intro' => 'Tämä toimintosivu ottaa syötteeksi tekstiä ja laajentaa kaikki siinä olevat mallineet rekursiivisesti.
+Se myös laajentaa tuetut parserifunktiot kuten
+<code><nowiki>{{</nowiki>#language:...}}</code> ja -muuttujat kuten
 <code><nowiki>{{</nowiki>CURRENTDAY}}</code>.
-Toisin sanoen melkein kaiken, joka on kaksoisaaltosulkeiden sisällä.',
+Käytännössä se laajentaa melkein kaiken, joka on kaksoisaaltosulkeiden sisällä.',
 'expand_templates_title' => 'Otsikko (esimerkiksi muuttujaa {{FULLPAGENAME}} varten)',
 'expand_templates_input' => 'Teksti',
 'expand_templates_output' => 'Tulos',
index 2d43914..643b357 100644 (file)
@@ -16,7 +16,6 @@ $fallback = 'fi';
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Linkitten alleviivaus',
-'tog-justify' => 'Tassaa kappalheet',
 'tog-hideminor' => 'Piilota pienet muutokset vereksen muutoksitten listasta',
 'tog-hidepatrolled' => 'Piilota tarkastetut muutokset vereksen muutoksitten listasta',
 'tog-newpageshidepatrolled' => 'Piilota tarkastetut sivut uusitten sivuitten listalta',
@@ -25,9 +24,7 @@ $messages = array(
 'tog-numberheadings' => 'Nymreeraa rypriikit',
 'tog-showtoolbar' => 'Näytä työneuvopalkki (JavaScript)',
 'tog-editondblclick' => 'Mookkaa sivuja kaksoisknapituksella (JavaScript)',
-'tog-editsection' => 'Aktiveeraa seksuuni mookkaus [mookkaus]-linkilä',
 'tog-editsectiononrightclick' => 'Aktiveeraa seksuuni mookkaus oikeapuolen klikkauksella seksuuni tittelhiin (JavaScript)',
-'tog-showtoc' => 'Näytä sisältölista (sivuile, joila on yli 3 rypriikkiä)',
 'tog-rememberpassword' => 'Muista minun lokkauksen tässä weppilukijassa (eninthään $1 {{PLURAL:$1|päivä|päivää}})',
 'tog-watchcreations' => 'Lissää sivut mitä luon valvontasivule',
 'tog-watchdefault' => 'Lissää sivut mitä mie mookkaan valvontasivule',
@@ -36,7 +33,6 @@ $messages = array(
 'tog-minordefault' => 'Markeeraa auttomaattisesti kaikki muutokset pieneks',
 'tog-previewontop' => 'Näytä esitarkastelu mookkauspaikan yläpuolela',
 'tog-previewonfirst' => 'Näytä esitarkastelu kun mookkaus alethaan',
-'tog-nocache' => 'Älä säästä sivuja weppilukijan välimuisthiin',
 'tog-enotifwatchlistpages' => 'Lähätä e-postipreivi mulle kun sivu minun valvontalistala on muutettu',
 'tog-enotifusertalkpages' => 'Lähätä sähköposti, kun käyttäjäsivun keskustelusivu muuttuu',
 'tog-enotifminoredits' => 'Lähätä epostieto pienistäki muutoksista',
@@ -130,7 +126,6 @@ $messages = array(
 'vector-action-protect' => 'Suojaa',
 'vector-action-undelete' => 'Pane takashiin',
 'vector-action-unprotect' => 'Muuta suojaa',
-'vector-simplesearch-preference' => 'Ota käythöön paranetut hakuehotukset (vain Vector-ulkoasu)',
 'vector-view-create' => 'Luo',
 'vector-view-edit' => 'Mookkaa',
 'vector-view-history' => 'Näytä histuuria',
@@ -331,7 +326,6 @@ Merkinät: (nyk.) = eroavaisuuet nykyisheen versuunhiin, (eel.) = eroavaisuuet e
 'lineno' => 'Rivi $1:',
 'compareselectedversions' => 'Vertaile valittuja sivu versuunia',
 'editundo' => 'kumota',
-'diff-multi' => '(Näytetyitten versuunitten välissä on {{PLURAL:$1|yks mookkaus|$1 versuunit, jokka on {{PLURAL:$2|yhen käyttäjän tekemiä|$2 eri käyttäjän tekemiä}}}}.)',
 
 # Search results
 'searchresults' => 'Hakutulokset',
@@ -387,7 +381,6 @@ Merkinät: (nyk.) = eroavaisuuet nykyisheen versuunhiin, (eel.) = eroavaisuuet e
 'recentchanges-label-minor' => 'Tämä on pieni muutos',
 'recentchanges-label-bot' => 'Tämän muutoksen teki botti',
 'recentchanges-label-unpatrolled' => 'Tätä muutosta ei ole vielä tarkistettu',
-'rcnote' => 'Alla on {{PLURAL:$1|yks muutos|$1 vereksimät muutokset}} {{PLURAL:$2|yhen päivän|$2 viimi päivän}} ajalta $4 kello $5 asti.',
 'rcnotefrom' => "Alla on muutokset '''$2'''lähtien. (korkeinthaans '''$1''' näytethään).",
 'rclistfrom' => 'Näytä uuet muutokset jälkhiin $1',
 'rcshowhideminor' => '$1 pienet muutokset',
index 124fcea..a90a14a 100644 (file)
@@ -66,6 +66,7 @@
  * @author Lucyin
  * @author Manohisoa
  * @author Mattho69
+ * @author Maxime Corbin
  * @author McDutchie
  * @author Meithal
  * @author Metroitendo
@@ -957,6 +958,9 @@ Veuillez attendre $1 avant d'essayer à nouveau.",
 'suspicious-userlogout' => "Votre demande de déconnexion a été refusée car il semble qu'elle a été envoyée par un navigateur cassé ou la mise en cache d'un proxy.",
 'createacct-another-realname-tip' => 'Le vrai nom est optionnel.
 Si vous décidez de le fournir, il sera utilisé pour attribuer à l’utilisateur ses travaux.',
+'pt-login' => 'Se connecter',
+'pt-createaccount' => 'Créer un compte',
+'pt-userlogout' => 'Se déconnecter',
 
 # Email sending
 'php-mail-error-unknown' => 'Erreur inconnue dans la fonction mail() de PHP.',
@@ -965,7 +969,7 @@ Si vous décidez de le fournir, il sera utilisé pour attribuer à l’utilisate
 
 # Change password dialog
 'changepassword' => 'Changer de mot de passe',
-'resetpass_announce' => "Vous vous êtes enregistré{{GENDER:||e|(e)}} avec un mot de passe temporaire envoyé par courriel. Pour terminer l'enregistrement, vous devez entrer un nouveau mot de passe ici :",
+'resetpass_announce' => "Pour terminer l'enregistrement, vous devez fournir un nouveau mot de passe.",
 'resetpass_text' => '<!-- Ajoutez le texte ici -->',
 'resetpass_header' => 'Changer le mot de passe du compte',
 'oldpassword' => 'Ancien mot de passe :',
@@ -981,8 +985,13 @@ Veuillez attendre $1 avant de réessayer.',
 'resetpass-submit-cancel' => 'Annuler',
 'resetpass-wrong-oldpass' => 'Mot de passe actuel ou temporaire invalide.
 Vous avez peut-être déjà changé votre mot de passe ou demandé un nouveau mot de passe temporaire.',
+'resetpass-recycled' => 'Veuillez réinitialiser votre mot de passe à quelque chose d’autre que l’actuel.',
+'resetpass-temp-emailed' => 'Vous êtes connecté avec un code temporaire fourni par courriel.
+Pour terminer la connexion, vous devez fournir un nouveau mot de passe ici :',
 'resetpass-temp-password' => 'Mot de passe temporaire :',
 'resetpass-abort-generic' => 'La modification du mot de passe a été annulée par une extension.',
+'resetpass-expired' => 'Votre mot de passe a expiré. Veuillez en fournir un nouveau pour vous connecter.',
+'resetpass-expired-soft' => 'Votre mot de passe a expiré, et doit être réinitialisé. Veuillez en choisir un nouveau maintenant, ou cliquer sur annuler pour le faire plus tard.',
 
 # Special:PasswordReset
 'passwordreset' => 'Remise à zéro du mot de passe',
index 2f80584..7e7c262 100644 (file)
@@ -21,7 +21,6 @@ $fallback = 'fr';
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Souligner les liens:',
-'tog-justify' => 'Égalisez les paragraphes',
 'tog-hideminor' => 'Cachez les petits changements dans la liste des derniers changements',
 'tog-hidepatrolled' => '↓ Cachez les petits changements dans la liste des derniers changements',
 'tog-newpageshidepatrolled' => '↓Cache pages patrollés de la list des pages nouveau',
@@ -30,9 +29,7 @@ $messages = array(
 'tog-numberheadings' => 'Mettre les numéros sus les en-têtes',
 'tog-showtoolbar' => "Montrer la barre d'outils des changements (JavaScript)",
 'tog-editondblclick' => 'Faire un clic-double pour changer la page (JavaScript)',
-'tog-editsection' => 'Changer une section avec les liens [changer]',
 'tog-editsectiononrightclick' => 'Changer une section en faisant un clic droit sus son nom (JavaScript)',
-'tog-showtoc' => 'Montrer la table des matières (pour les pages avec plus que 3 têtes)',
 'tog-rememberpassword' => 'Garder mon mot de passe (for a maximum of $1 {{PLURAL:$1|day|days}})',
 'tog-watchcreations' => 'Additionner les pages que je crée à ma liste des pages guettées',
 'tog-watchdefault' => 'Additionner les pages que je change à ma liste des pages guettées',
@@ -41,7 +38,6 @@ $messages = array(
 'tog-minordefault' => "Marquer tous les petits changements d'après le réglage",
 'tog-previewontop' => "Montrer la vue d'avance au-dessus la boëte de changement",
 'tog-previewonfirst' => "Montrer la vue d'avance au temps du premier changement",
-'tog-nocache' => 'Arrêter le cache des pages',
 'tog-enotifwatchlistpages' => 'Envoyer un e-mail quand une de mes pages guettées est changée',
 'tog-enotifusertalkpages' => 'Envoyer un e-mail quand ma page de discussion est changée',
 'tog-enotifminoredits' => 'Envoyer un e-mail même pour les petits changements',
@@ -567,7 +563,6 @@ Des autres administrateurs sus ce wiki ont la permission de voir et de rétablir
 'lineno' => 'Ligne $1:',
 'compareselectedversions' => 'Comparer les versions choisies',
 'editundo' => 'renverser',
-'diff-multi' => '({{PLURAL:$1|Un changement moyen caché|$1 changements moyens cachés}})',
 
 # Search results
 'searchresults' => 'Résultats de la charche',
index c26557c..1bfd79a 100644 (file)
@@ -281,7 +281,6 @@ $messages = array(
 'vector-action-protect' => 'Protêç',
 'vector-action-undelete' => 'Recupere',
 'vector-action-unprotect' => 'Gambie la protezion',
-'vector-simplesearch-preference' => 'Abilite la bare di ricjerche semplificade (dome pe Vector Skin)',
 'vector-view-create' => 'Cree',
 'vector-view-edit' => 'Cambie',
 'vector-view-history' => 'Cjale il storic',
index 26c001d..0b11a8f 100644 (file)
@@ -98,16 +98,13 @@ $magicWords = array(
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Baalantıların altını çiz',
-'tog-justify' => 'Paragrafları düz',
 'tog-hideminor' => 'Küçük diişmäkleri "Bitki diişmäkler" sayfasında sakla',
 'tog-extendwatchlist' => 'İlerlemiş bakmaa listası',
 'tog-usenewrc' => 'İlerlemiş bitki diişmäkler listası (JavaScript uymêêr)',
 'tog-numberheadings' => 'Başlıklara avtomatik nomer yaz',
 'tog-showtoolbar' => 'Diişmäk yapar känä yardımcı tuşları göster. (JavaScript)',
 'tog-editondblclick' => 'Sayfayı çift tuşlayarak diiştirmää başla (JavaScript)',
-'tog-editsection' => 'Bölümleri [diiştir] baalantılarılan diiştirmää hakkı ver',
 'tog-editsectiononrightclick' => 'Bölüm başlıına saa tuşla basarak bölümü düzmää izin ver.(JavaScript)',
-'tog-showtoc' => 'İçindäkiler tablițasını düz<br />(3-tän çok başlıı olan sayfalar için)',
 'tog-rememberpassword' => 'Parolu hatırla (en fazla $1 {{PLURAL:$1|gün|gün}})',
 'tog-watchcreations' => 'Yarattıım sayfaları bakmaa listama ekle',
 'tog-watchdefault' => 'Diişmäk yapılan sayfayı bakmaa listasına ekle',
@@ -554,7 +551,6 @@ Nışannar: (bitki) = şindiki versiyalan aradaki fark,
 'lineno' => '$1. liniya:',
 'compareselectedversions' => 'Karşılaştır versiyaları ani seçildi',
 'editundo' => 'geeri al',
-'diff-multi' => '({{PLURAL:$1|Ara versiya|$1 ara versiyalar}} gösterilmedi.)',
 
 # Search results
 'searchresults' => 'Aaramak rezultatları',
index 778b3f6..afc7c85 100644 (file)
@@ -40,6 +40,6 @@ $messages = array(
 # Variants for Gan language
 'variantname-gan-hans' => '简体',
 'variantname-gan-hant' => '繁體',
-'variantname-gan'      => '贛語原文',
+'variantname-gan' => '贛語原文',
 
 );
index 7de827d..8865d9b 100644 (file)
@@ -38,7 +38,6 @@ $namespaceGenderAliases = array();
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Haiguy joajuha',
-'tog-justify' => 'embojoja haipyvo',
 'tog-hideminor' => 'Eñomi ñemyatyrõ michĩva «ñemoambue pyahúpe»',
 'tog-extendwatchlist' => 'Eipyso tembiapo rapykueho rysýi opaite ñemoambue ikatúvape',
 'tog-usenewrc' => "Ñemoambue ojejapo ramóva (ndoikói opaite 'navegador'-pe)",
@@ -247,7 +246,6 @@ Reikotevẽvérõ marandu, emoñe'ẽ kuatiarogue ñepytyvõ rehegua. Oiméramo
 # Diffs
 'lineno' => 'Jehai $1:',
 'editundo' => 'embyai',
-'diff-multi' => '($1 ediciones intermedias no se muestran.)',
 
 # Search results
 'searchresults' => 'Ojejuhúva jeheka',
@@ -283,7 +281,6 @@ Reikotevẽvérõ marandu, emoñe'ẽ kuatiarogue ñepytyvõ rehegua. Oiméramo
 # Recent changes
 'nchanges' => '$1 ñemoambue',
 'recentchanges' => 'Oñemoambue pyahúva',
-'rcnote' => "Iguýpe oĩ umi {{PLURAL:$1|'''1'''|$1}} oñemoambue pyahúva ko ara{{PLURAL:$2|'''1'''|$2}}ndýpe, hekopyahúva $5, $4.",
 'rclistfrom' => 'Tojehechauka oñemoambue pyahúva $1 guive',
 'rcshowhideminor' => '$1 jehaijey michĩva',
 'rcshowhideliu' => '$1 puruhára ohejáva teraguapy',
index ea1c5b5..6c71d69 100644 (file)
@@ -7,6 +7,7 @@
  * @ingroup Language
  * @file
  *
+ * @author Bleakgh
  * @author Jocke Pirat
  * @author Michawiki
  * @author Node ue
@@ -35,306 +36,363 @@ $specialPageAliases = array(
 
 $messages = array(
 'underline-always' => 'Sinteino',
-'underline-never'  => 'Niu',
+'underline-never' => 'Niu',
 
 # Dates
-'sunday'        => 'Sunnonsdags',
-'monday'        => 'Meninsdags',
-'tuesday'       => 'Tiwisdags',
-'wednesday'     => 'Midiwiko',
-'thursday'      => 'Þeiƕonsdags',
-'friday'        => 'Fraujonsdags',
-'saturday'      => '𐌸𐍅𐌰𐌷𐌻𐌹𐍃𐌳𐌰𐌲𐍃',
-'sun'           => 'Sun',
-'mon'           => 'Men',
-'tue'           => 'Tiw',
-'wed'           => 'Mid',
-'thu'           => 'Þei',
-'fri'           => 'Fra',
-'sat'           => 'Þwa',
-'january'       => '𐌰𐍆𐍄𐌿𐌼𐌰 𐌾𐌹𐌿𐌻𐌴𐌹𐍃',
-'february'      => '𐍆𐌰𐌽𐌹𐌼𐌴𐌽𐍉𐌸𐍃',
-'march'         => '𐌺𐌰𐌻𐌳𐌼𐌴𐌽𐍉𐌸𐍃',
-'april'         => '𐌲𐍂𐌰𐍃𐌼𐌴𐌽𐍉𐌸𐍃',
-'may_long'      => '𐌱𐌻𐍉𐌼𐌰𐌼𐌴𐌽𐍉𐌸𐍃',
-'june'          => '𐍅𐌰𐍂𐌼𐌼𐌴𐌽𐍉𐌸𐍃',
-'july'          => '𐌷𐌰𐍅𐌹𐌼𐌴𐌽𐍉𐌸𐍃',
-'august'        => '𐌰𐍃𐌰𐌽𐌼𐌴𐌽𐍉𐌸𐍃',
-'september'     => '𐌰𐌺𐍂𐌰𐌽𐌼𐌴𐌽𐍉𐌸𐍃',
-'october'       => '𐍅𐌴𐌹𐌽𐌼𐌴𐌽𐍉𐌸𐍃',
-'november'      => '𐍆𐍂𐌿𐌼𐌰 𐌾𐌹𐌿𐌻𐌴𐌹𐍃',
-'december'      => '𐌾𐌹𐌿𐌻𐌴𐌹𐍃',
-'january-gen'   => '𐌰𐍆𐍄𐌿𐌼𐌹𐌽𐍃 𐌾𐌹𐌿𐌻𐌴𐌹𐍃',
-'february-gen'  => '𐍆𐌰𐌽𐌹𐌼𐌴𐌽𐍉𐌸𐌹𐍃',
-'march-gen'     => 'Kaldmenoþis',
-'april-gen'     => '𐌲𐍂𐌰𐍃𐌼𐌴𐌽𐍉𐌸𐌹𐍃',
-'may-gen'       => '𐌱𐌻𐍉𐌼𐌰𐌼𐌴𐌽𐍉𐌸𐌹𐍃',
-'june-gen'      => 'Warmmenoþis',
-'july-gen'      => 'Hawimenoþis',
-'august-gen'    => '𐌰𐍃𐌰𐌽𐌼𐌴𐌽𐍉𐌸𐌹𐍃',
+'sunday' => 'Sunnonsdags',
+'monday' => 'Meninsdags',
+'tuesday' => 'Tiwisdags',
+'wednesday' => 'Midiwiko',
+'thursday' => 'Þeiƕonsdags',
+'friday' => 'Fraujonsdags',
+'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'           => 'Fan',
-'mar'           => 'Kal',
-'apr'           => '𐌲𐍂𐌰',
-'may'           => '𐌱𐌻𐍉',
-'jun'           => 'War',
-'jul'           => 'Haw',
-'aug'           => '𐌰𐍃𐌰',
-'sep'           => '𐌰𐌺𐍂',
-'oct'           => '𐍅𐌴𐌹',
-'nov'           => '𐍆𐍂𐌿',
-'dec'           => '𐌾𐌹𐌿',
+'october-gen' => '𐍅𐌴𐌹𐌽𐌼𐌴𐌽𐍉𐌸𐌹𐍃',
+'november-gen' => '𐍆𐍂𐌿𐌼𐌹𐌽𐍃 𐌾𐌹𐌿𐌻𐌴𐌹𐍃',
+'december-gen' => '𐌾𐌹𐌿𐌻𐌴𐌹𐍃',
+'jan' => '𐌰𐍆𐍄',
+'feb' => '𐍆𐌰𐌽',
+'mar' => '𐌺𐌰𐌻',
+'apr' => '𐌲𐍂𐌰',
+'may' => '𐌱𐌻𐍉',
+'jun' => '𐍅𐌰𐍂',
+'jul' => '𐌷𐌰𐍅',
+'aug' => '𐌰𐍃𐌰',
+'sep' => '𐌰𐌺𐍂',
+'oct' => '𐍅𐌴𐌹',
+'nov' => '𐍆𐍂𐌿',
+'dec' => '𐌾𐌹𐌿',
 
 # Categories related messages
-'pagecategories'        => '{{PLURAL:$1|𐌺𐌿𐌽𐌾𐌰|𐌺𐌿𐌽𐌾𐍉𐍃}}',
-'category_header'       => '𐍃𐌴𐌹𐌳𐍉𐍃 𐌹𐌽𐌽 𐌺𐌿𐌽𐌾𐌰 "$1"',
-'subcategories'         => 'Dalaþkunjos',
+'pagecategories' => '{{PLURAL:$1|𐌷𐌰𐌽𐍃𐌰|𐌷𐌰𐌽𐍃𐍉𐍃}}',
+'category_header' => '𐍃𐌴𐌹𐌳𐍉𐍃 𐌹𐌽𐌽 𐌺𐌿𐌽𐌾𐌰 "$1"',
+'subcategories' => 'Dalaþkunjos',
 'category-media-header' => '𐌼𐌴𐌳𐌾𐌰 𐌹𐌽𐌽 𐌺𐌿𐌽𐌾𐌰 "$1"',
+'hidden-categories' => '{{PLURAL:$1|𐍆𐌿𐌻𐌲𐌹𐌽𐍃 𐌺𐌰𐍄𐌴𐌲𐍉𐍂𐌹|𐍆𐌿𐌻𐌲𐌹𐌽𐌰𐌹 𐌺𐌰𐍄𐌴𐌲𐍉𐍂𐌾𐍉𐍃}}',
 
-'about'         => '𐌿𐍆𐌰𐍂',
-'article'       => '𐍃𐌰𐌸𐍃𐍃𐌴𐌹𐌳𐍉',
-'newwindow'     => '(𐌰𐌽𐌳𐌷𐌿𐌻𐌾𐌹𐌸 𐌹𐌽𐌽 𐌽𐌹𐌿𐌾𐌰 𐌰𐌿𐌲𐌰𐌳𐌰𐌿𐍂𐍉)',
-'cancel'        => '𐌷𐌰𐌻𐍄𐍃',
+'about' => '𐌿𐍆𐌰𐍂',
+'article' => '𐍃𐌰𐌸𐍃𐍃𐌴𐌹𐌳𐍉',
+'newwindow' => '(𐌰𐌽𐌳𐌷𐌿𐌻𐌾𐌹𐌸 𐌹𐌽𐌽 𐌽𐌹𐌿𐌾𐌰 𐌰𐌿𐌲𐌰𐌳𐌰𐌿𐍂𐍉)',
+'cancel' => '𐌷𐌰𐌻𐍄𐍃',
 'moredotdotdot' => '𐌼𐌰𐌹𐍃...',
-'mypage'        => '𐌼𐌴𐌹𐌽 𐍃𐌴𐌹𐌳𐍉',
-'mytalk'        => '𐌼𐌴𐌹𐌽𐌰 𐌼𐌰𐌸𐌻𐌴𐌹',
-'navigation'    => '𐍃𐌴𐌹𐌳𐍉𐌲𐌰𐍅𐌹𐍃𐍃',
-'and'           => '𐌾𐌰𐌷',
+'mypage' => '𐌼𐌴𐌹𐌽 𐍃𐌴𐌹𐌳𐍉',
+'mytalk' => '𐌼𐌴𐌹𐌽𐌰 𐌼𐌰𐌸𐌻𐌴𐌹',
+'navigation' => '𐍅𐌹𐌲𐌰𐍄𐌰𐌿𐌷𐍄𐍃',
+'and' => '𐌾𐌰𐌷',
 
 # Cologne Blue skin
-'qbfind'         => '𐍃𐍉𐌺𐌴𐌹𐌸',
-'qbedit'         => '𐌼𐌰𐌹𐌳𐌾𐌰𐌽',
-'qbmyoptions'    => '𐌼𐌴𐌹𐌽𐌰 𐍃𐌴𐌹𐌳𐍉𐍃',
-'qbspecialpages' => '𐌿𐍃𐍃𐌹𐌽𐌳𐍃𐌴𐌹𐌳𐍉𐍃',
+'qbfind' => '𐍃𐍉𐌺𐌴𐌹𐌸',
+'qbedit' => '𐌼𐌰𐌹𐌳𐌾𐌰𐌽',
+'qbmyoptions' => '𐌼𐌴𐌹𐌽𐌰 𐍃𐌴𐌹𐌳𐍉𐍃',
 
 # Vector skin
 'vector-action-delete' => '𐍄𐌰𐌹𐍂𐌰𐌽',
-'vector-view-create'   => 'Skapjan',
-'vector-view-edit'     => 'Máidjan',
-'vector-view-view'     => 'Lisan',
-
-'errorpagetitle'    => '𐍆𐌰𐌹𐍂𐌹𐌽𐌰 𐌳𐍅𐌰𐌻𐌹𐍃',
-'returnto'          => '𐌲𐌰𐍅𐌰𐌽𐌳𐌾𐌰𐌽 𐌰𐍄 $1.',
-'tagline'           => 'Fram {{SITENAME}}',
-'help'              => '𐌷𐌹𐌻𐍀𐌰',
-'search'            => '𐍃𐍉𐌺𐌴𐌹𐌸',
-'searchbutton'      => '𐍃𐍉𐌺𐌴𐌹𐌸',
-'go'                => '𐌲𐌰𐌲𐌲𐌰',
-'searcharticle'     => '𐌰𐍆𐌲𐌰𐌲𐌲𐌰𐌽',
-'history'           => '𐌰𐌹𐍂𐌹𐍃 𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐍃 𐌰𐌽𐌰 𐍃𐌴𐌹𐌳𐍉',
-'history_short'     => '𐌰𐌹𐍂𐌹𐍃 𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐍃',
-'printableversion'  => '𐌳𐍂𐌹𐌿𐍃𐌰𐌽 𐍃𐌴𐌹𐌳𐍉',
-'permalink'         => '𐌰𐍅𐌴𐌹𐌽𐍃 𐍄𐌰𐌹𐌺𐌽𐌾𐌰𐌱𐌰𐌽𐌳𐌹',
-'view'              => 'Saíhvan',
-'edit'              => '𐌼𐌰𐌹𐌳𐌾𐌰𐌽',
-'create'            => 'Skapjan',
-'editthispage'      => '𐌼𐌰𐌹𐌳𐌾𐌰 𐌸𐍉 𐍃𐌴𐌹𐌳𐍉',
-'create-this-page'  => 'Skapja þo seido',
-'delete'            => '𐍄𐌰𐌹𐍂𐌰𐌽',
-'deletethispage'    => '𐍄𐌰𐌹𐍂𐌰 𐌸𐍉 𐍃𐌴𐌹𐌳𐍉',
-'protect'           => '𐌱𐌰𐌹𐍂𐌲𐌰𐌽',
-'protectthispage'   => 'Baírga þo siedo',
-'unprotect'         => '𐌽𐌹𐌱𐌰𐌹𐍂𐌲𐌰',
+'vector-view-create' => '𐍃𐌺𐌰𐍀𐌾𐌰𐌽',
+'vector-view-edit' => '𐌼𐌰𐌹𐌳𐌾𐌰𐌽',
+'vector-view-history' => '𐍃𐌰𐌹𐍈𐌰𐌽 𐍅𐌰𐌿𐍂𐌸𐌰𐌽𐌽𐌰',
+'vector-view-view' => '𐌰𐌽𐌰𐌺𐌿𐌽𐌽𐌰𐌹𐍃',
+'vector-view-viewsource' => '𐍃𐌰𐌹𐍈𐌹𐍃 𐌱𐍂𐌿𐌽𐌽𐌰𐌽',
+'actions' => '𐍅𐌰𐌿𐍂𐍃𐍄𐍅𐌴𐌹𐌽𐍃',
+'namespaces' => '𐍃𐌴𐌹𐌳𐍉𐍃𐍄𐌰𐌸𐌴𐌹𐍃',
+'variants' => '𐌼𐌹𐍃𐍃𐌰𐌻𐌴𐌹𐌽𐍃',
+
+'errorpagetitle' => '𐍆𐌰𐌹𐍂𐌹𐌽𐌰 𐌳𐍅𐌰𐌻𐌹𐍃',
+'returnto' => '𐌲𐌰𐍅𐌰𐌽𐌳𐌾𐌰𐌽 𐌰𐍄 $1.',
+'tagline' => '𐍆𐍂𐌰𐌼 {{SITENAME}}',
+'help' => '𐌷𐌹𐌻𐍀𐌰',
+'search' => '𐍃𐍉𐌺𐌾𐌰𐌽',
+'searchbutton' => '𐍃𐍉𐌺𐌾𐌰𐌽',
+'go' => '𐌲𐌰𐌲𐌲𐌰',
+'searcharticle' => '𐌰𐍆𐌲𐌰𐌲𐌲𐌰𐌽',
+'history' => '𐌰𐌹𐍂𐌹𐍃 𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐍃 𐌰𐌽𐌰 𐍃𐌴𐌹𐌳𐍉',
+'history_short' => '𐌰𐌹𐍂𐌹𐍃 𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐍃',
+'printableversion' => '𐍅𐍂𐌴𐌹𐍄𐌼𐌰𐌷𐍄𐌴𐌹𐌲 𐍃𐌴𐌹𐌳𐍉',
+'permalink' => '𐍃𐌹𐌽𐍄𐌴𐌹𐌽𐍉 𐍃𐍄𐌰𐌽𐌳𐌰𐌽𐍃 𐌻𐌴𐌹𐌽𐌺𐌰',
+'view' => 'Saíhvan',
+'edit' => '𐌼𐌰𐌹𐌳𐌾𐌰𐌽',
+'create' => '𐍃𐌺𐌰𐍀𐌾𐌰𐌽',
+'editthispage' => '𐌼𐌰𐌹𐌳𐌾𐌰 𐌸𐍉 𐍃𐌴𐌹𐌳𐍉',
+'create-this-page' => 'Skapja þo seido',
+'delete' => '𐍄𐌰𐌹𐍂𐌰𐌽',
+'deletethispage' => '𐍄𐌰𐌹𐍂𐌰 𐌸𐍉 𐍃𐌴𐌹𐌳𐍉',
+'protect' => '𐌱𐌰𐌹𐍂𐌲𐌰𐌽',
+'protect_change' => '𐌼𐌰𐌹𐌳𐌾𐌰𐌽',
+'protectthispage' => 'Baírga þo siedo',
+'unprotect' => '𐌽𐌹𐌱𐌰𐌹𐍂𐌲𐌰',
 'unprotectthispage' => 'Nibaírga þo siedo',
-'newpage'           => '𐌽𐌹𐌿𐌾𐌰 𐍃𐌴𐌹𐌳𐍉',
-'talkpage'          => '𐌼𐌰𐌸𐌻𐌴𐌹𐍃𐌴𐌹𐌳𐍉',
-'talkpagelinktext'  => '𐌼𐌰𐌸𐌻𐌴𐌹𐍃𐌴𐌹𐌳𐍉',
-'specialpage'       => '𐌿𐍃𐍃𐌹𐌽𐌳𐍃𐌴𐌹𐌳𐍉𐍃',
-'personaltools'     => '𐍅𐌰𐌹𐍂𐌻𐌴𐌹𐌺𐍃 𐌱𐍂𐌿𐌺𐍅𐌰𐌹𐌷𐍄𐍃',
-'talk'              => '𐌲𐌰𐍅𐌰𐌿𐍂𐌳𐌾𐌰',
-'views'             => '𐍃𐌹𐌿𐌽𐌴𐌹𐍃',
-'toolbox'           => '𐍄𐌰𐌿𐌹 𐌰𐍂𐌺𐌰',
-'otherlanguages'    => '𐌰𐌽𐌸𐌰𐍂 𐍂𐌰𐌶𐌳𐍉𐍃',
-'redirectedfrom'    => '(Náuþjan framis $1)',
-'redirectpagesub'   => '𐍄𐌰𐌹𐌺𐌾𐌰𐍃𐌴𐌹𐌳𐍉',
-'jumpto'            => 'Gaggan at:',
-'jumptonavigation'  => '𐍃𐌴𐌹𐌳𐍉𐌲𐌰𐍅𐌹𐍃𐍃',
-'jumptosearch'      => 'sokeiþ',
-
-# All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage) and the disambiguation template definition (see disambiguations).
-'aboutsite'            => '𐍆𐍂𐌰𐌼 {{SITENAME}}',
-'aboutpage'            => 'Project:𐌿𐍆𐌰𐍂',
-'copyrightpage'        => '{{ns:project}}:Manleikawitoþa',
-'currentevents'        => 'Niuja waíhts',
-'currentevents-url'    => 'Project:𐌽𐌹𐌿𐌾𐌰 𐍅𐌰𐌹𐌷𐍄𐍃',
-'disclaimers'          => '𐌰𐍆𐌰𐌹𐌺𐌰𐌽 𐍅𐌹𐍄𐍉𐌸',
-'disclaimerpage'       => 'Project:𐌰𐍆𐌰𐌹𐌺𐌰𐌽 𐍅𐌹𐍄𐍉𐌸',
-'edithelp'             => '𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐌹𐌷𐌹𐌻𐍀𐌰',
-'edithelppage'         => 'Help:𐌼𐌰𐌹𐌳𐌾𐌰',
-'helppage'             => 'Hilpa:Háubidaseido',
-'mainpage'             => '𐌷𐌰𐌿𐌱𐌹𐌳𐌰𐍃𐌴𐌹𐌳𐍉',
+'newpage' => '𐌽𐌹𐌿𐌾𐌰 𐍃𐌴𐌹𐌳𐍉',
+'talkpage' => '𐌼𐌰𐌸𐌻𐌴𐌹𐍃𐌴𐌹𐌳𐍉',
+'talkpagelinktext' => '𐌲𐌰𐍅𐌰𐌿𐍂𐌳𐌾𐌰',
+'specialpage' => '𐌿𐍃𐍃𐌹𐌽𐌳𐍃𐌴𐌹𐌳𐍉𐍃',
+'personaltools' => '𐍅𐌰𐌹𐍂𐌻𐌴𐌹𐌺𐍃 𐌱𐍂𐌿𐌺𐍅𐌰𐌹𐌷𐍄𐍃',
+'talk' => '𐌲𐌰𐍅𐌰𐌿𐍂𐌳𐌾𐌰',
+'views' => '𐌷𐌹𐍅𐌾𐍉𐍃',
+'toolbox' => '𐍄𐌰𐌿𐌹 𐌰𐍂𐌺𐌰',
+'otherlanguages' => '𐌰𐌽𐌸𐌰𐍂 𐍂𐌰𐌶𐌳𐍉𐍃',
+'redirectedfrom' => '(𐌽𐌰𐌿𐌸𐌾𐌰𐌽 𐍆𐍂𐌰𐌼𐌹𐍃 $1)',
+'redirectpagesub' => '𐍄𐌰𐌹𐌺𐌾𐌰𐍃𐌴𐌹𐌳𐍉',
+'lastmodifiedat' => '𐌸𐌰𐍄𐌰 𐍃𐌴𐌹𐌳𐍉 𐍃𐌹𐌽𐌳 𐌼𐌰𐌽𐌰𐌲𐌹𐍃𐍄𐍃 𐌽𐌹𐌿𐌾𐌰 𐌼𐌰𐌹𐌳𐌾𐌹𐌸𐍃 ($2) ($1)',
+'jumpto' => '𐌲𐌰𐌲𐌲𐌰𐌽 𐌰𐍄:',
+'jumptonavigation' => '𐍃𐌴𐌹𐌳𐍉𐌲𐌰𐍅𐌹𐍃𐍃',
+'jumptosearch' => '𐍃𐍉𐌺𐌴𐌹𐌸',
+
+# All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
+'aboutsite' => '𐍆𐍂𐌰𐌼 {{SITENAME}}',
+'aboutpage' => 'Project:𐌿𐍆𐌰𐍂',
+'copyrightpage' => '{{ns:project}}:𐌼𐌰𐌽𐌻𐌴𐌹𐌺𐌰𐍅𐌹𐍄𐍉𐌸𐌰',
+'currentevents' => '𐌽𐌹𐌿𐌾𐌰 𐍅𐌰𐌹𐌷𐍄𐍃',
+'currentevents-url' => 'Project:𐌽𐌹𐌿𐌾𐌰 𐍅𐌰𐌹𐌷𐍄𐍃',
+'disclaimers' => '𐍅𐌰𐌳𐌾𐍉𐌱𐌹𐌻𐌰𐌲𐌴𐌹𐌽𐍃',
+'disclaimerpage' => 'Project:𐍅𐌰𐌳𐌾𐌹𐍃 𐌱𐌹𐌻𐌰𐌲𐌴𐌹𐌽𐍃',
+'edithelp' => '𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐌹𐌷𐌹𐌻𐍀𐌰',
+'helppage' => 'Help:𐌷𐌰𐌿𐌱𐌹𐌳𐌰𐍃𐌴𐌹𐌳𐍉',
+'mainpage' => '𐌷𐌰𐌿𐌱𐌹𐌳𐌰𐍃𐌴𐌹𐌳𐍉',
 'mainpage-description' => '𐌷𐌰𐌿𐌱𐌹𐌳𐌰𐍃𐌴𐌹𐌳𐍉',
-'portal'               => '𐌱𐌰𐌿𐍂𐌲𐍃 𐌲𐌰𐍅𐌹',
-'portal-url'           => 'Project:𐌱𐌰𐌿𐍂𐌲𐍃 𐌲𐌰𐍅𐌹',
-'privacy'              => '𐌰𐌽𐌰𐍃𐌹𐌻𐌰 𐍅𐌹𐍄𐍉𐌸',
-'privacypage'          => 'Project:𐌰𐌽𐌰𐍃𐌹𐌻𐌰 𐍅𐌹𐍄𐍉𐌸',
-
-'retrievedfrom'       => 'Niman fram "$1"',
-'youhavenewmessages'  => '𐌸𐌿 𐌷𐌰𐌱𐌹𐍃 $1 ($2).',
-'newmessageslink'     => '𐌽𐌹𐌿𐌾𐍉 𐌼𐌰𐌸𐌻𐌴𐌹',
-'newmessagesdifflink' => '𐍃𐍀𐌴𐌳𐌿𐌼𐌹𐍃𐍄𐍃 𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐍃',
-'editsection'         => '𐌼𐌰𐌹𐌳𐌾𐌰𐌽',
-'editold'             => '𐌼𐌰𐌹𐌳𐌾𐌰𐌽',
-'editlink'            => 'máidjan',
-'editsectionhint'     => '𐌼𐌰𐌹𐌳𐌾𐌰𐌽 𐌰𐍆 𐍆𐌴𐍂𐌰: $1',
-'toc'                 => '𐌹𐌽𐌽𐌰𐌽𐌰',
-'showtoc'             => '𐌰𐌿𐌲𐌾𐌰',
-'hidetoc'             => '𐍆𐌹𐌻𐌷𐌰𐌽',
-'site-rss-feed'       => '$1 RSS Miþnatifodjan',
-'site-atom-feed'      => '$1 Atom Miþnatifodjan',
+'portal' => '𐌱𐌰𐌿𐍂𐌲𐌹𐍃 𐌲𐌰𐍅𐌹',
+'portal-url' => 'Project:𐌱𐌰𐌿𐍂𐌲𐌹𐍃 𐌲𐌰𐍅𐌹',
+'privacy' => '𐍃𐌿𐌽𐌳𐍂𐌰𐍅𐌿𐍃 𐌱𐌹𐌻𐌰𐌲𐌴𐌹𐌽𐍃',
+'privacypage' => 'Project:𐍃𐌿𐌽𐌳𐍂𐌰𐍅𐌴𐌹𐌽𐍃 𐌱𐌹𐌻𐌰𐌲𐌴𐌹𐌽𐍃',
+
+'retrievedfrom' => '𐌲𐌰𐌽𐌰𐌼 𐍆𐍂𐌰𐌼 "$1"',
+'youhavenewmessages' => '𐌸𐌿 𐌷𐌰𐌱𐌹𐍃 $1 ($2).',
+'editsection' => '𐌼𐌰𐌹𐌳𐌾𐌰𐌽',
+'editold' => '𐌼𐌰𐌹𐌳𐌾𐌰𐌽',
+'editlink' => '𐌼𐌰𐌹𐌳𐌾𐌰𐌽',
+'viewsourcelink' => '𐍃𐌰𐌹𐍈𐌹𐍃 𐌱𐍂𐌿𐌽𐌽𐌰𐌽',
+'editsectionhint' => '𐌼𐌰𐌹𐌳𐌾𐌰𐌽 𐌳𐌰𐌹𐌻: $1',
+'toc' => '𐌹𐌽𐌽𐌰𐌽𐌰',
+'showtoc' => '𐌰𐌿𐌲𐌾𐌰',
+'hidetoc' => '𐍆𐌹𐌻𐌷𐌰𐌽',
+'site-rss-feed' => '$1 RSS Miþnatifodjan',
+'site-atom-feed' => '$1 𐌰𐍄𐍉𐌼 𐌼𐌹𐌸𐌽𐌰𐍄𐌹𐍆𐍉𐌳𐌾𐌰𐌽',
+'page-atom-feed' => '"$1" 𐌰𐍄𐍉𐌼 𐍂𐌹𐌽𐌽𐍉',
+'red-link-title' => '$1 (𐍃𐌴𐌹𐌳𐍉 𐍃𐌹𐌽𐌳 𐌽𐌹𐍃𐍄)',
 
 # Short words for each namespace, by default used in the namespace tab in monobook
-'nstab-main'     => '𐍃𐌴𐌹𐌳𐍉',
-'nstab-user'     => '𐌽𐌹𐌿𐍄𐌰𐌽𐌳𐌹𐍃𐍃𐌴𐌹𐌳𐍉',
-'nstab-special'  => '𐌿𐍃𐍃𐌹𐌽𐌳𐍃𐌴𐌹𐌳𐍉',
-'nstab-project'  => '𐍂𐌴𐌹𐌺𐌹𐍃𐌴𐌹𐌳𐍉',
-'nstab-image'    => '𐌼𐌰𐌽𐌻𐌴𐌹𐌺𐌰',
-'nstab-template' => 'ð\90\8c¼ð\90\8c°ð\90\8d\82ð\90\8cºð\90\8c°',
-'nstab-help'     => '𐌷𐌹𐌻𐍀𐌰',
-'nstab-category' => 'ð\90\8cºð\90\8c¿ð\90\8c½ð\90\8c¾𐌰',
+'nstab-main' => '𐍃𐌴𐌹𐌳𐍉',
+'nstab-user' => '𐌽𐌹𐌿𐍄𐌰𐌽𐌳𐌹𐍃𐍃𐌴𐌹𐌳𐍉',
+'nstab-special' => '𐌿𐍃𐍃𐌹𐌽𐌳𐍃𐌴𐌹𐌳𐍉',
+'nstab-project' => '𐍂𐌴𐌹𐌺𐌹𐍃𐌴𐌹𐌳𐍉',
+'nstab-image' => '𐍆𐌴𐌹𐌻𐌰',
+'nstab-template' => 'ð\90\8d\86ð\90\8c°ð\90\8c¿ð\90\8d\82ð\90\8c°ð\90\8c¼ð\90\8c´ð\90\8c»ð\90\8c´ð\90\8c¹ð\90\8c½ð\90\8d\83',
+'nstab-help' => '𐌷𐌹𐌻𐍀𐌰',
+'nstab-category' => 'ð\90\8c·ð\90\8c°ð\90\8c½ð\90\8d\83𐌰',
 
 # General errors
-'viewsource' => '𐍃𐌰𐌹𐍈𐌰 𐌹𐌽𐌽𐌰𐌽𐌰',
+'missing-article' => '𐍃𐌰 𐌳𐌰𐍄𐌰𐌱𐌿𐍃 𐌽𐌹 𐌲𐌰𐌽𐌰𐌼 𐌸𐌰𐌽𐌰 𐌱𐍉𐌺𐌰𐍅𐌰𐌿𐍂𐌳𐌰𐌽 𐌴𐌹 𐌹𐍄𐌰 𐍃𐌺𐌰𐌻 𐌱𐌹𐌲𐌹𐍄𐌰𐌽: "$1" $2
+
+(The data base did not find the text of a page that it should have found, named "$1" $2.
+
+This is usually caused by following an outdated diff or history link to a page that has been deleted.
+
+If this is not the case, you may have found a bug in the software.
+Please report this to an [[Special:ListUsers/sysop|administrator]], making note of the URL.)',
+'viewsource' => '𐍃𐌰𐌹𐍈𐌹𐍃 𐌱𐍂𐌿𐌽𐌽𐌰𐌽',
 
 # Login and logout pages
-'yourname'                => '𐌽𐌹𐌿𐍄𐌰𐌽𐌳𐌹𐍃𐌽𐌰𐌼𐍉:',
-'yourpassword'            => '𐌰𐌽𐌰𐌻𐌰𐌿𐌲𐌽𐍃 𐍅𐌰𐌿𐍂𐌳𐌰:',
-'login'                   => 'Atgaggan',
+'yourname' => '𐌽𐌹𐌿𐍄𐌰𐌽𐌳𐌹𐍃𐌽𐌰𐌼𐍉:',
+'yourpassword' => '𐌰𐌽𐌰𐌻𐌰𐌿𐌲𐌽𐍃 𐍅𐌰𐌿𐍂𐌳𐌰:',
+'login' => 'Atgaggan',
 'nav-login-createaccount' => '𐌰𐍄𐌲𐌰𐌲𐌲𐌰𐌽 / 𐌲𐌰𐌻𐌰𐌽𐌲𐌾𐌰𐌽 𐌽𐌹𐌿𐍄𐌰𐌽𐌳𐌹𐍃',
-'userlogin'               => 'Atgaggan / gaskapjan niutandis',
-'logout'                  => '𐌻𐌴𐌹𐌸𐌰𐌽',
-'userlogout'              => '𐌻𐌴𐌹𐌸𐌰𐌽',
-'nologinlink'             => 'Gaskapjan þein niutandis',
-'createaccount'           => '𐌲𐌰𐌻𐌰𐌲𐌾𐌰𐌽 𐌽𐌹𐌿𐍄𐌰𐌽𐌳𐌹𐍃',
-'gotaccount'              => "Habiþ þu niutandis? '''$1'''",
-'gotaccountlink'          => 'Atgaggan',
-'loginlanguagelabel'      => 'Razda: $1',
+'userlogin' => 'Atgaggan / gaskapjan niutandis',
+'logout' => '𐌻𐌴𐌹𐌸𐌰𐌽',
+'userlogout' => '𐌻𐌴𐌹𐌸𐌰𐌽',
+'nologinlink' => 'Gaskapjan þein niutandis',
+'createaccount' => '𐌲𐌰𐌻𐌰𐌲𐌾𐌰𐌽 𐌽𐌹𐌿𐍄𐌰𐌽𐌳𐌹𐍃',
+'gotaccount' => "Habiþ þu niutandis? '''$1'''",
+'gotaccountlink' => 'Atgaggan',
+'loginlanguagelabel' => 'Razda: $1',
 
 # Edit page toolbar
-'bold_sample'     => '𐌰𐌱𐍂𐍃 𐌱𐍉𐌺𐌰',
-'bold_tip'        => '𐌰𐌱𐍂 𐍅𐌰𐌿𐍂𐌳𐌰',
-'italic_sample'   => 'Wráiqs waúrda',
-'italic_tip'      => 'Driuso boka',
-'link_sample'     => 'Táikjanbandi namo',
-'link_tip'        => 'táikjanbandi innana',
-'extlink_sample'  => 'http://www.example.com Táikjandandi namo',
-'extlink_tip'     => 'Uta táikjabandi (maúdjan http://)',
-'headline_sample' => 'Háubidawaúrda',
-'headline_tip'    => 'Háuhs háubidaboka 2',
-'media_tip'       => 'Táikjabandjis feilanis',
-'hr_tip'          => 'Ráihtsbáurd (brukjan miþ niufarussus)',
+'bold_sample' => '𐌰𐌱𐍂𐍃 𐌱𐍉𐌺𐌰',
+'bold_tip' => '𐌰𐌱𐍂 𐍅𐌰𐌿𐍂𐌳𐌰',
+'italic_sample' => '𐍅𐍂𐌰𐌹𐌵𐍃 𐍅𐌰𐌿𐍂𐌳𐌰',
+'italic_tip' => '𐌳𐍂𐌹𐌿𐍃𐍉 𐌱𐍉𐌺𐌰',
+'link_sample' => '𐍄𐌰𐌹𐌺𐌾𐌰𐌽𐌱𐌰𐌽𐌳𐌹 𐌽𐌰𐌼𐍉',
+'link_tip' => '𐍄𐌰𐌹𐌺𐌾𐌰𐌽𐌱𐌰𐌽𐌳𐌹 𐌹𐌽𐌽𐌰𐌽𐌰',
+'extlink_sample' => 'http://www.example.com 𐍄𐌰𐌹𐌺𐌾𐌰𐌽𐌳𐌰𐌽𐌳𐌹 𐌽𐌰𐌼𐍉',
+'extlink_tip' => 'Uta táikjabandi (maúdjan http://)',
+'headline_sample' => '𐌷𐌰𐌿𐌱𐌹𐌳𐌰𐍅𐌰𐌿𐍂𐌳𐌰',
+'headline_tip' => '𐌷𐌰𐌿𐌷𐍃 𐌷𐌰𐌿𐌱𐌹𐌳𐌰𐌱𐍉𐌺𐌰 •𐌱•',
+'nowiki_sample' => '𐍃𐌰𐍄𐌾𐌴𐌹 𐌿𐌽𐍃𐌽𐌴𐌹𐌸𐌾𐌰𐌽𐌳𐍃 𐍄𐌴𐌺𐍃𐍄 𐌱𐍉𐌺𐌰𐍅𐌰𐌿𐍂𐌳𐌰𐌼 𐌷𐌹𐍄',
+'nowiki_tip' => '𐌿𐌽𐍅𐌹𐍄𐌾𐌹𐍃 𐍅𐌹𐌺𐌹𐍃𐌽𐌴𐌹𐌸𐌾𐌰𐌽𐌳𐍃',
+'image_tip' => '𐌹𐌽𐌽𐌱𐍉𐌳𐌰𐌽𐍃 𐍆𐌴𐌹𐌻𐌰',
+'media_tip' => '𐍄𐌰𐌹𐌺𐌾𐌰𐌱𐌰𐌽𐌳𐌾𐌹𐍃 𐍆𐌴𐌹𐌻𐌰𐌽𐌹𐍃',
+'sig_tip' => '𐌿𐌽𐌳𐌰𐍂𐌼𐌴𐌻 𐌸𐌴𐌹𐌽𐌰 𐌼𐌹𐌸 𐍃𐍄𐌿𐌽𐌳𐌰𐌼𐌴𐌻𐌰',
+'hr_tip' => '𐍂𐌰𐌹𐌷𐍄𐍃𐌱𐌰𐌿𐍂𐌳 (𐌱𐍂𐌿𐌺𐌾𐌰𐌽 𐌼𐌹𐌸 𐌽𐌹𐌿𐍆𐌰𐍂𐌿𐍃𐍃𐌿𐍃)',
 
 # Edit pages
-'summary'                => '𐌼𐌰𐌹𐌳𐌾𐌰𐌽𐍃𐍀𐌹𐌻𐌻𐍉𐌽:',
-'subject'                => '𐌷𐌰𐌿𐌱𐌹𐌳𐌰𐌱𐍉𐌺𐌰:',
-'minoredit'              => '𐍃𐌰 𐌹𐍃𐍄 𐌻𐌴𐌹𐍄𐌹𐌻𐌰 𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐍃',
-'watchthis'              => '𐍅𐌰𐍂𐌰𐌽 𐍃𐌴𐌹𐌳𐍉',
-'savearticle'            => '𐌼𐌴𐌻𐌾𐌰 𐍃𐌴𐌹𐌳𐍉',
-'preview'                => '𐍆𐌰𐌿𐍂𐍃𐌰𐌹𐍈𐌰 𐍃𐌴𐌹𐌳𐍉',
-'showpreview'            => '𐍅𐌹𐍄𐌰𐌽 𐍆𐌰𐌿𐍂𐍃𐌰𐌹𐍈𐌰',
-'showdiff'               => '𐍅𐌹𐍄𐌰𐌽 𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐍃',
-'newarticle'             => '(Niu)',
-'updated'                => '(Nuwisan)',
-'previewnote'            => "'''𐍃𐌰𐌷 𐌹𐍃𐍄 𐍆𐌰𐌿𐍂𐍃𐌰𐌹𐍈𐌰. 𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐍃 𐌲𐌰𐌼𐌴𐌻𐌾𐌹𐌸 𐌽𐌹 𐌰𐍆 𐌸𐌹𐌶𐍉𐍃 𐍃𐌴𐌹𐌳𐍉𐍃!'''",
-'editing'                => '𐌼𐌰𐌹𐌳𐌾𐌰𐌽 𐌰𐍆 $1',
-'editingsection'         => '𐌼𐌰𐌹𐌳𐌾𐌰𐌽 𐌰𐍆 $1 (𐍆𐌴𐍂𐌰)',
-'editingcomment'         => '𐌼𐌰𐌹𐌳𐌾𐌰𐌽 𐌰𐍆 $1 (𐍂𐍉𐌳𐌾𐌰𐍆𐌴𐍂𐌰)',
-'yourdiff'               => 'Missalieks',
-'template-protected'     => '(gabaírgan)',
+'summary' => '𐌼𐌰𐌹𐌳𐌾𐌰𐌽𐍃𐍀𐌹𐌻𐌻𐍉𐌽:',
+'subject' => '𐌷𐌰𐌿𐌱𐌹𐌳𐌰𐌱𐍉𐌺𐌰:',
+'minoredit' => '𐍃𐌰 𐌹𐍃𐍄 𐌻𐌴𐌹𐍄𐌹𐌻𐌰 𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐍃',
+'watchthis' => '𐍅𐌰𐍂𐌰𐌽 𐍃𐌴𐌹𐌳𐍉',
+'savearticle' => '𐌼𐌴𐌻𐌾𐌰 𐍃𐌴𐌹𐌳𐍉',
+'preview' => '𐍆𐌰𐌿𐍂𐍃𐌰𐌹𐍈𐌰 𐍃𐌴𐌹𐌳𐍉',
+'showpreview' => '𐍅𐌹𐍄𐌰𐌽 𐍆𐌰𐌿𐍂𐍃𐌰𐌹𐍈𐌰',
+'showdiff' => '𐍅𐌹𐍄𐌰𐌽 𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐍃',
+'newarticle' => '(Niu)',
+'updated' => '(Nuwisan)',
+'previewnote' => "'''𐍃𐌰𐌷 𐌹𐍃𐍄 𐍆𐌰𐌿𐍂𐍃𐌰𐌹𐍈𐌰. 𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐍃 𐌲𐌰𐌼𐌴𐌻𐌾𐌹𐌸 𐌽𐌹 𐌰𐍆 𐌸𐌹𐌶𐍉𐍃 𐍃𐌴𐌹𐌳𐍉𐍃!'''",
+'editing' => '𐌼𐌰𐌹𐌳𐌾𐌰𐌽 𐌰𐍆 $1',
+'editingsection' => '𐌼𐌰𐌹𐌳𐌾𐌰𐌽 𐌰𐍆 $1 (𐍆𐌴𐍂𐌰)',
+'editingcomment' => '𐌼𐌰𐌹𐌳𐌾𐌰𐌽 𐌰𐍆 $1 (𐍂𐍉𐌳𐌾𐌰𐍆𐌴𐍂𐌰)',
+'yourdiff' => 'Missalieks',
+'template-protected' => '(𐌲𐌰𐌱𐌰𐌹𐍂𐌲𐌾𐌰𐌽)',
 'template-semiprotected' => '(halb-gabaírgjan)',
 
+# Parser/template warnings
+'post-expand-template-inclusion-warning' => "'''𐌷𐍅𐍉𐍄𐌾𐌰𐌽𐌳𐍃:''' 𐍆𐌰𐌿𐍂𐌰𐌼𐌴𐌻𐌴𐌹𐌽𐍃 𐍃𐌹𐌽𐌳 𐌿𐍆𐌰𐍂𐌼𐌹𐌺𐌹𐌻𐍃. 𐍃𐌿𐌼𐍃 𐍆𐌰𐌿𐍂𐌴𐌼𐌴𐌻𐌴𐌹𐌽𐍉𐍃 𐌽𐌹 𐌼𐌰𐌲 𐍅𐌹𐍃𐌰𐌽 𐌸𐌰𐍂",
+'post-expand-template-inclusion-category' => '𐍃𐌴𐌹𐌳𐍉𐌽𐍃 𐌸𐌰𐍂 𐍆𐌰𐌿𐍂𐌰𐌼𐌴𐌻𐌴𐌹𐌽𐍃 𐍃𐌹𐌽𐌳 𐌿𐍆𐌰𐍂𐌼𐌹𐌺𐌹𐌻𐍃',
+
 # History pages
-'currentrev'          => '𐌽𐌿 𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐍃',
-'revisionasof'        => '𐌲𐌰𐌼𐌴𐌻𐌹𐌳𐍉 𐌿𐍃 $1',
-'revision-info'       => 'Máideins fram $1 bi $2',
-'previousrevision'    => '←𐌰𐌹𐍂𐌹𐍃 𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐍃',
-'nextrevision'        => 'Iftuma máideins→',
+'currentrev' => '𐌽𐌿 𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐍃',
+'currentrev-asof' => '𐌰𐍆𐍄𐌿𐌼𐍃𐍄𐍃 𐌲𐌰𐌼𐌰𐌹𐌳𐌾𐌴𐌹𐌽𐍃 𐍆𐍂𐌰𐌼 $1',
+'revisionasof' => '𐌲𐌰𐌼𐌰𐌳𐌾𐌴𐌹 𐍆𐍂𐌰𐌼 $1',
+'revision-info' => 'Máideins fram $1 bi $2',
+'previousrevision' => '←𐌰𐌹𐍂𐌹𐍃 𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐍃',
+'nextrevision' => 'Iftuma máideins→',
 'currentrevisionlink' => '𐌽𐌿𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐍃',
-'cur'                 => '𐌽𐌿',
-'next'                => '𐌹𐍆𐍄𐌿𐌼𐌰',
-'last'                => '𐌰𐍆𐍄𐌿𐌼𐌹𐍃𐍄𐍃',
-'page_first'          => 'frumists',
-'page_last'           => '𐍃𐍀𐌴𐌳𐌿𐌼𐌹𐍃𐍄𐍃',
-'histfirst'           => '𐍆𐌰𐌿𐍂𐌸𐌹𐍃',
-'histlast'            => '𐍃𐍀𐌴𐌳𐌿𐌼𐌹𐍃𐍄𐍃',
+'cur' => '𐌽𐌿',
+'next' => '𐌹𐍆𐍄𐌿𐌼𐌰',
+'last' => '𐌰𐍆𐍄𐌿𐌼𐌹𐍃𐍄𐍃',
+'page_first' => 'frumists',
+'page_last' => '𐍃𐍀𐌴𐌳𐌿𐌼𐌹𐍃𐍄𐍃',
+'histfirst' => '𐍆𐌰𐌿𐍂𐌸𐌹𐍃',
+'histlast' => '𐍃𐍀𐌴𐌳𐌿𐌼𐌹𐍃𐍄𐍃',
 
 # Revision feed
 'history-feed-item-nocomment' => '$1 at $2',
 
+# Revision deletion
+'revdel-restore' => '𐌹𐌽𐌼𐌰𐌹𐌳𐌾𐌹𐍃 𐌰𐌽𐌰𐍃𐌹𐌿𐌽𐌼𐌰𐌷𐍄𐌴𐌹𐌲𐍃',
+
+# Merge log
+'revertmerge' => '𐌿𐌽𐌲𐌰𐍄𐌹𐌻𐍉𐍃',
+
 # Diffs
 'history-title' => '𐌰𐍂𐌹𐍃𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐍃 𐌰𐍆 "$1"',
-'lineno'        => '𐌱𐍉𐌺𐌰𐍂𐌹𐌲𐌹𐌻𐍉 $1:',
-'editundo'      => '𐌽𐌹𐌿𐍃𐌺𐌰𐍀𐌾𐌰𐌽',
+'lineno' => '𐌱𐍉𐌺𐌰𐍂𐌹𐌲𐌹𐌻𐍉 $1:',
+'editundo' => '𐌽𐌹𐌿𐍃𐌺𐌰𐍀𐌾𐌰𐌽',
 
 # Search results
-'prevn'              => 'aftuma {{PLURAL:$1|$1}}',
-'nextn'              => 'iftuma {{PLURAL:$1|$1}}',
-'viewprevnext'       => '𐍃𐌹𐌿𐌽𐌴𐌹𐍃 ($1 {{int:pipe-separator}} $2) ($3)',
-'searchhelp-url'     => 'Hilpa:Háubidaseido',
-'powersearch'        => 'Sokeiþ',
+'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-new' => "'''𐍃𐌺𐌰𐍀𐌾𐌹𐍃 𐌸𐍉 𐍃𐌴𐌹𐌳𐍉𐌽 \"[[:\$1]]\" 𐌸𐌹𐌶𐍉𐍃 𐍅𐌹𐌺𐌾𐍉𐍃!'''",
+'searchprofile-articles' => '𐌲𐌰𐌷𐌰𐌱𐌾𐍉𐍃 𐍃𐌴𐌹𐌳𐍉𐌽𐍃',
+'searchprofile-project' => '𐌷𐌹𐌻𐍀𐍉𐍃 𐌾𐌰𐌷 𐍀𐍂𐍉𐍃𐌾𐌴𐌺𐍄𐌹𐍃 𐍃𐌴𐌹𐌳𐍉𐌽𐍃',
+'searchprofile-images' => '𐌼𐌰𐌽𐌰𐌲𐍃𐌼𐌴𐌳𐌹𐌰',
+'searchprofile-everything' => '𐌰𐌻𐌻',
+'searchprofile-advanced' => '𐍆𐌰𐌹𐍂𐍂𐌰𐍆𐍂𐌰𐌼𐌰',
+'searchprofile-articles-tooltip' => '𐍃𐍉𐌺 𐌹𐌽𐌽𐌰 $1',
+'searchprofile-project-tooltip' => '𐍃𐍉𐌺𐌾𐌹𐍃 𐌹𐌽𐌽𐌰 $1',
+'searchprofile-images-tooltip' => '𐍃𐍉𐌺𐌾𐌹𐍃 𐍆𐌴𐌹𐌻𐌰𐌽𐍃',
+'searchprofile-everything-tooltip' => '𐍃𐍉𐌺𐌾𐌹𐍃 𐌰𐌻𐌻 𐌲𐌰𐌷𐌰𐌱𐌾𐍉𐍃 (𐌸𐌹𐌶𐌴𐌴𐌹 𐌹𐍃𐍄 𐍃𐌴𐌹𐌳𐍉𐌽𐍃 𐌲𐌰𐍅𐌰𐌿𐍂𐌳𐌾𐌹𐍃)',
+'searchprofile-advanced-tooltip' => '𐍃𐌺𐍉𐌾𐌹𐍃 𐌹𐌽𐌽𐌰 𐍃𐌹𐌻𐌱𐌰𐍃𐌺𐌰𐍀𐌹𐌸𐍃 𐌽𐌰𐌼𐌰𐌽𐍃𐍄𐌰𐌸',
+'search-result-size' => '$1 ({{PLURAL:$2|•𐌰• 𐍅𐌰𐌿𐍂𐌳|•$2• 𐍅𐌰𐌿𐍂𐌳𐌰}})',
+'search-redirect' => '(𐌰𐍆𐍄𐍂𐌰𐍅𐌴𐌹𐍄𐍃 𐍆𐍂𐌰𐌼 𐌸𐌰𐌼𐌼𐌰 $1)',
+'search-section' => '(𐍆𐌴𐍂𐌰 $1)',
+'search-suggest' => '𐍄𐌰𐌹𐌺𐌽𐌹𐌳𐌰 𐌸𐌿: $1',
+'searchall' => '𐌰𐌻𐌻𐍃',
+'showingresultsheader' => "{{PLURAL:$5|𐍄𐌰𐌿𐌹 '''$1''' 𐌸𐌹𐍃 '''$3'''|𐍄𐌰𐌿𐌾𐍉𐍃 '''$1 - $2''' 𐌸𐌹𐍃 '''$3'''}} 𐌱𐌹 𐌸𐌰𐌼𐌼𐌰 '''$4'''",
+'search-nonefound' => '𐌽𐌹 𐌰𐌹𐌽𐌷𐌿𐌽 𐌲𐌰𐌲𐌹𐌱𐌾𐍉 𐍆𐌿𐌻𐌻𐌾𐌹𐌸 𐍃𐍉𐌺𐌴𐌹𐌽',
 'powersearch-legend' => '𐍃𐍉𐌺𐌴𐌹𐌸',
-'powersearch-redir'  => '𐍄𐌰𐌻𐌰 𐌰𐍆 𐍄𐌰𐌹𐌺𐌾𐌰𐌽𐍃𐌴𐌹𐌳𐍉𐍃',
+'powersearch-redir' => '𐍄𐌰𐌻𐌰 𐌰𐍆 𐍄𐌰𐌹𐌺𐌾𐌰𐌽𐍃𐌴𐌹𐌳𐍉𐍃',
 
 # Preferences page
-'preferences'       => '𐌼𐌴𐌹𐌽𐍉𐍃 𐌱𐍂𐌿𐌺𐌾𐌰𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐌴𐌹𐍃',
-'mypreferences'     => '𐌼𐌴𐌹𐌽𐍉𐍃 𐌱𐍂𐌿𐌺𐌾𐌰',
-'prefs-skin'        => 'Seidofill',
-'skin-preview'      => 'Faúrsaiƕa',
-'saveprefs'         => 'Melja',
+'preferences' => '𐌼𐌴𐌹𐌽𐍉𐍃 𐌱𐍂𐌿𐌺𐌾𐌰𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐌴𐌹𐍃',
+'mypreferences' => '𐌼𐌴𐌹𐌽𐍉𐍃 𐌱𐍂𐌿𐌺𐌾𐌰',
+'prefs-skin' => 'Seidofill',
+'skin-preview' => 'Faúrsaiƕa',
+'saveprefs' => 'Melja',
 'searchresultshead' => 'Sokeiþ',
 
 'grouppage-sysop' => '{{ns:project}}:𐍃𐌴𐌹𐌳𐍉𐍆𐌰𐌸𐍃',
 
 # User rights log
-'rightslog'  => 'Niutandis stutjanlog',
-'rightsnone' => '(ni áinshun)',
+'rightslog' => 'Niutandis stutjanlog',
 
 # Recent changes
-'nchanges'        => '$1 {{PLURAL:$1|máidein|máideins}}',
-'recentchanges'   => '𐌰𐍆𐍄𐌿𐌼𐌹𐍃𐍄𐍉𐍃 𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐌴𐌹𐍃',
+'nchanges' => '$1 {{PLURAL:$1|máidein|máideins}}',
+'recentchanges' => '𐌰𐍆𐍄𐌿𐌼𐌹𐍃𐍄𐍉𐍃 𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐌴𐌹𐍃',
 'rcshowhideminor' => '$1 lietila máideins',
-'rcshowhidebots'  => '$1 bota',
-'rcshowhideliu'   => '$1 niutandis',
+'rcshowhidebots' => '$1 bota',
+'rcshowhideliu' => '$1 niutandis',
 'rcshowhideanons' => '$1 gasteis',
-'rcshowhidemine'  => '$1 mein máideins',
-'diff'            => '𐌻𐌴𐌹𐌺𐍃',
-'hist'            => '𐌰𐌹𐍂𐌹𐍃',
-'hide'            => 'Filhan',
-'show'            => 'Huljan',
+'rcshowhidemine' => '$1 mein máideins',
+'diff' => '𐌻𐌴𐌹𐌺𐍃',
+'hist' => '𐍆𐍂𐌼𐌵',
+'hide' => '𐍆𐌹𐌻𐌷𐌰𐌽',
+'show' => '𐌷𐌿𐌻𐌾𐌰𐌽',
 'minoreditletter' => 'l',
-'newpageletter'   => 'N',
-'boteditletter'   => 'b',
+'newpageletter' => 'N',
+'boteditletter' => 'b',
 
 # Recent changes linked
-'recentchangeslinked'         => '𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐌻𐌹𐌴𐌺𐍃',
-'recentchangeslinked-feed'    => 'Máideinlieks',
+'recentchangeslinked' => '𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐌻𐌹𐌴𐌺𐍃',
+'recentchangeslinked-feed' => 'Máideinlieks',
 'recentchangeslinked-toolbox' => '𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐌻𐌹𐌴𐌺𐍃',
+'recentchangeslinked-summary' => "𐍃𐍉 𐌹𐍃𐍄 𐌻𐌴𐌹𐍃𐍄𐌰 𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐌴 𐌰𐍆𐍄𐌿𐌼𐌹𐍃𐍄𐍃 𐍃𐌺𐍉𐍀 𐌰𐌽𐌰 𐍃𐌴𐌹𐌳𐍉𐌽𐍃 𐌻𐌴𐌹𐌽𐌺𐍉𐌽𐌳 𐌿𐍃 𐌿𐍃𐍃𐌹𐌽𐌳𐌰𐌹 𐍃𐌴𐌹𐌳𐍉𐌽 (𐌰𐌹𐌸𐌸𐌰𐌿 𐌻𐌹𐌸𐌰𐌿𐍃 𐌿𐍃𐍃𐌹𐌽𐌳𐌰𐌹𐌶𐍉𐍃 𐌷𐌰𐌽𐍃𐍉𐍃). 𐍃𐌴𐌹𐌳𐍉𐌽𐍃 [[Special:Watchlist|𐍅𐌹𐍄𐌰𐌽𐌳𐌻𐌴𐌹𐍃𐍄𐍉𐍃 𐌸𐌴𐌹𐌽𐍉𐍃]] 𐍃𐌹𐌽𐌳 '''𐌳𐌹𐌲𐍂𐍃𐍄𐌰𐍆𐍃'''.",
 
 # Upload
-'upload'          => '𐌿𐍃𐌷𐌻𐌰𐌸𐌰𐌹𐌸 𐍆𐌴𐌹𐌻𐌰𐌽𐍃',
-'uploadbtn'       => 'Ushlaþaiþ Feilans',
-'uploadlogpage'   => 'Log af Ushlaþan',
-'uploadedimage'   => 'ushlaþiþ "[[$1]]"',
+'upload' => '𐌿𐍃𐌷𐌻𐌰𐌸𐌰𐌽 𐍆𐌴𐌹𐌻𐌰𐌽𐍃',
+'uploadbtn' => 'Ushlaþaiþ Feilans',
+'uploadlogpage' => 'Log af Ushlaþan',
+'uploadedimage' => 'ushlaþiþ "[[$1]]"',
 'watchthisupload' => 'Witan so seido',
 
 # Special:ListFiles
-'imgfile'   => 'Feilans',
+'imgfile' => 'Feilans',
 'listfiles' => 'Feilans tala',
 
 # File description page
-'file-anchor-link'    => 'Feilans',
-'filehist'            => 'Feilans áiris',
-'filehist-current'    => 'nu',
-'filehist-datetime'   => 'Ƕeila',
-'filehist-user'       => 'Niutandis',
-'filehist-dimensions' => 'Wahstus',
-'filehist-filesize'   => 'Feilans wahstus',
-'filehist-comment'    => 'Leitilaspillon',
-'imagelinks'          => 'Táiknjabandja',
+'file-anchor-link' => '𐍆𐌴𐌹𐌻𐌰𐌽𐍃',
+'filehist' => '𐍆𐌴𐌹𐌻𐌰𐌽𐍃 𐌰𐌹𐍂𐌹𐍃',
+'filehist-help' => '𐌺𐌻𐌹𐌺𐍉𐍃 𐌰𐌽𐌰 𐌳𐌰𐍄𐌰𐌹/𐍈𐌴𐌹𐌻𐌰𐌹 𐍃𐌰𐌹𐍈𐌰𐌽 𐍆𐌴𐌹𐌻𐌰𐌽 𐍃𐍅𐌴 𐌰𐍄𐌰𐌿𐌲𐌾𐌹𐌳𐌰 𐍃𐌹𐌺 𐌸𐌰𐌽.',
+'filehist-current' => '𐌽𐌿',
+'filehist-datetime' => '𐍈𐌴𐌹𐌻𐌰',
+'filehist-thumb' => '𐍆𐍉𐍂𐍃𐌾𐌰𐌿',
+'filehist-thumbtext' => '𐍆𐍉𐍂𐍃𐌾𐌰𐌿 𐍆𐌰𐌿𐍂 𐌿𐍃𐌲𐌰𐌱𐌰 𐍆𐍂𐌰𐌼 $1',
+'filehist-user' => '𐌽𐌹𐌿𐍄𐌰𐌽𐌳𐌹𐍃',
+'filehist-dimensions' => '𐍅𐌰𐌷𐍃𐍄𐌿𐍃',
+'filehist-filesize' => 'Feilans wahstus',
+'filehist-comment' => '𐌻𐌴𐌹𐍄𐌻𐌰𐍃𐍀𐌹𐌻𐌻𐍉𐌽',
+'imagelinks' => '𐍆𐌴𐌹𐌻𐌹𐌽𐍃 𐌱𐍂𐌿𐌺𐌹𐍃',
+'linkstoimage' => '𐌰𐍆𐍄𐌿𐌼𐌰 {{PLURAL:$1|𐍃𐍉 𐍃𐌴𐌹𐌳𐍉 𐌻𐌴𐌹𐌽𐌺𐍉𐌸|𐌸𐍉𐍃 𐍃𐌴𐌹𐌳𐍉𐌽𐍃 𐌻𐌴𐌹𐌽𐌺𐍉𐌽𐌳}} 𐌸𐌹𐌶𐍉𐌶𐌿𐌷 𐍆𐌴𐌹𐌻𐍉𐍃',
+'sharedupload-desc-here' => '𐍃𐌰 𐍆𐌴𐌹𐌻𐌰 𐌹𐍃𐍄 𐍆𐍂𐌰𐌼 $1 𐌾𐌰𐌷 𐌼𐌰𐌲 𐍅𐌹𐍃𐌰𐌽 𐌱𐍂𐌿𐌺𐌾𐌰𐌽𐍃 𐍆𐍂𐌰𐌼 𐌰𐌻𐌾𐌰𐌹𐌼 𐍆𐌰𐌿𐍂𐌰𐍅𐌰𐌿𐍂𐍀𐍉𐌼.
+𐍆𐌰𐌿𐍂𐌰𐌼𐌴𐌻𐌾𐌰𐌽𐌳𐍃 𐌰𐌽𐌰 𐍃𐌴𐌹𐌳𐌰𐌹 𐍆𐌴𐌹𐌻𐌰𐌽𐍃𐍆𐌰𐌿𐍂𐌰𐌼𐌴𐌻𐌾𐌰𐌽𐌳𐌹𐍃 𐌸𐌰𐍂 𐌹𐍃𐍄 𐌳𐌰𐌻𐌰𐌸𐌰 𐌿𐍃𐌲𐌹𐌱𐌰𐌽𐍃.',
 
 # File deletion
 'filedelete-submit' => 'Taíran',
@@ -351,34 +409,34 @@ $messages = array(
 # Statistics
 'statistics' => '𐍃𐌴𐌹𐌳𐍉𐍃𐍄𐌰𐍄𐌹𐍃𐍄𐌹𐌺',
 
-'brokenredirects-edit'   => '(𐌼𐌰𐌹𐌳𐌾𐌰𐌽)',
+'brokenredirects-edit' => '(𐌼𐌰𐌹𐌳𐌾𐌰𐌽)',
 'brokenredirects-delete' => '(𐍄𐌰𐌹𐍂𐌰𐌽)',
 
 # Miscellaneous special pages
-'nbytes'       => '$1 {{PLURAL:$1|𐌱𐌰𐌹𐍄|𐌱𐌰𐌹𐍄𐌰}}',
-'ncategories'  => '$1 {{PLURAL:$1|𐌺𐌿𐌽𐌾𐌰|𐌺𐌿𐌽𐌾𐍉𐍃}}',
-'nlinks'       => '$1 {{PLURAL:$1|táikjanbandi|táikjanbandja}}',
-'nmembers'     => '$1 {{PLURAL:$1|niutand|niutanda}}',
-'wantedpages'  => 'Gaírnedum seidam',
-'shortpages'   => '𐌻𐌴𐌹𐍄𐌹𐌻𐌰 𐍃𐌴𐌹𐌳𐍉𐍃',
-'longpages'    => '𐌻𐌰𐌲𐌲𐌰 𐍃𐌴𐌹𐌳𐍉𐍃',
-'listusers'    => '𐍂𐌴𐌲𐌹𐍃𐍄𐍂𐌴𐍂𐌰𐌳𐌴 𐌱𐍂𐌿𐌺𐌾𐌰𐌽𐌳𐍃',
-'newpages'     => '𐌽𐌹𐌿𐌾𐌰 𐍃𐌴𐌹𐌳𐍉𐍃',
-'move'         => '𐌽𐌰𐌼𐌾𐌰𐌽 𐌰𐍆𐍄𐍂𐌰',
+'nbytes' => '$1 {{PLURAL:$1|𐌱𐌰𐌹𐍄|𐌱𐌰𐌹𐍄𐌰}}',
+'ncategories' => '$1 {{PLURAL:$1|𐌺𐌿𐌽𐌾𐌰|𐌺𐌿𐌽𐌾𐍉𐍃}}',
+'nlinks' => '$1 {{PLURAL:$1|táikjanbandi|táikjanbandja}}',
+'nmembers' => '$1 {{PLURAL:$1|niutand|niutanda}}',
+'wantedpages' => 'Gaírnedum seidam',
+'shortpages' => '𐌻𐌴𐌹𐍄𐌹𐌻𐌰 𐍃𐌴𐌹𐌳𐍉𐍃',
+'longpages' => '𐌻𐌰𐌲𐌲𐌰 𐍃𐌴𐌹𐌳𐍉𐍃',
+'listusers' => '𐍂𐌴𐌲𐌹𐍃𐍄𐍂𐌴𐍂𐌰𐌳𐌴 𐌱𐍂𐌿𐌺𐌾𐌰𐌽𐌳𐍃',
+'newpages' => '𐌽𐌹𐌿𐌾𐌰 𐍃𐌴𐌹𐌳𐍉𐍃',
+'move' => '𐌽𐌰𐌼𐌾𐌰𐌽 𐌰𐍆𐍄𐍂𐌰',
 'movethispage' => '𐍃𐌺𐌹𐌿𐌱𐌰𐌽 𐍃𐌰 𐍃𐌴𐌹𐌳𐍉',
 
 # Special:Log
-'specialloguserlabel'  => 'Niutand:',
+'specialloguserlabel' => 'Niutand:',
 'speciallogtitlelabel' => 'Namo:',
-'log'                  => '𐌻𐍉𐌲𐌱𐍉𐌺𐍉𐍃',
-'all-logs-page'        => '𐌰𐌻𐌻𐌰 𐌻𐍉𐌲𐍉𐍃',
+'log' => '𐌻𐍉𐌲𐌱𐍉𐌺𐍉𐍃',
+'all-logs-page' => '𐌰𐌻𐌻𐌰 𐌻𐍉𐌲𐍉𐍃',
 
 # Special:AllPages
-'allpages'       => '𐌰𐌻𐌻𐌹𐍃 𐍃𐌴𐌹𐌳𐍉𐍃',
+'allpages' => '𐌰𐌻𐌻𐌹𐍃 𐍃𐌴𐌹𐌳𐍉𐍃',
 'alphaindexline' => '$1 du $2',
-'nextpage'       => '𐌹𐍆𐍄𐌿𐌼𐌰 𐍃𐌴𐌹𐌳𐍉 ($1)',
-'prevpage'       => '𐌰𐍆𐍄𐌿𐌼𐌰 𐍃𐌴𐌹𐌳𐍉 ($1)',
-'allarticles'    => '𐌰𐌻𐌾𐌰 𐍃𐌴𐌹𐌳𐍉𐍃',
+'nextpage' => '𐌹𐍆𐍄𐌿𐌼𐌰 𐍃𐌴𐌹𐌳𐍉 ($1)',
+'prevpage' => '𐌰𐍆𐍄𐌿𐌼𐌰 𐍃𐌴𐌹𐌳𐍉 ($1)',
+'allarticles' => '𐌰𐌻𐌾𐌰 𐍃𐌴𐌹𐌳𐍉𐍃',
 'allpagessubmit' => '𐌰𐍆𐌲𐌰𐌲𐌲𐌰𐌽',
 
 # Special:Categories
@@ -387,135 +445,171 @@ $messages = array(
 # Special:LinkSearch
 'linksearch-ns' => '𐍃𐌴𐌹𐌳𐍉𐍆𐌴𐍂𐌰:',
 
-# E-mail user
+# Email user
 'emailuser' => '𐍃𐌰𐌽𐌳𐌾𐌰𐌽 𐌸𐍉 𐌽𐌹𐌿𐍄𐌰𐌽𐌳 𐌱𐍉𐌺𐍉𐌼',
 
 # Watchlist
-'watchlist'         => '𐌼𐌴𐌹𐌽𐍉𐍃 𐍅𐌹𐍄𐌰𐌽𐌳𐍃𐌻𐌴𐌹𐍃𐍄𐌰',
-'mywatchlist'       => '𐌼𐌴𐌹𐌽𐍉𐍃 𐍅𐌹𐍄𐌰𐌽𐌳𐍃𐌻𐌴𐌹𐍃𐍄𐌰',
-'watch'             => '𐍅𐌰𐍂𐌰𐌽',
-'watchthispage'     => '𐍅𐌰𐍂𐌰𐌽 𐍃𐌴𐌹𐌳𐍉',
-'unwatch'           => '𐌽𐌹𐍅𐌰𐍂𐌰𐌽',
+'watchlist' => '𐌼𐌴𐌹𐌽𐍉𐍃 𐍅𐌹𐍄𐌰𐌽𐌳𐍃𐌻𐌴𐌹𐍃𐍄𐌰',
+'mywatchlist' => '𐌼𐌴𐌹𐌽𐍉𐍃 𐍅𐌹𐍄𐌰𐌽𐌳𐍃𐌻𐌴𐌹𐍃𐍄𐌰',
+'watch' => '𐍅𐌰𐍂𐌰𐌽',
+'watchthispage' => '𐍅𐌰𐍂𐌰𐌽 𐍃𐌴𐌹𐌳𐍉',
+'unwatch' => '𐌽𐌹𐍅𐌰𐍂𐌰𐌽',
 'watchlist-details' => '{{PLURAL:$1|$1 seido|$1 seidona}} witáiþs inu maþleiseidam.',
 
 # Displayed when you click the "watch" button and it is in the process of watching
-'watching'   => 'Wita...',
+'watching' => 'Wita...',
 'unwatching' => 'Niwita...',
 
 'created' => '𐌲𐌰𐍃𐌺𐌰𐍀𐌾𐌰𐌽',
 
 # Delete
-'deletepage'            => '𐍄𐌰𐌹𐍂𐌰 𐍃𐌴𐌹𐌳𐍉',
-'delete-legend'         => '𐍄𐌰𐌹𐍂𐌰𐌽',
-'actioncomplete'        => '𐍅𐌰𐍃𐌿𐌷 𐌹𐍄𐌰 𐌲𐌰𐌿𐍃𐍄𐌹𐌿𐌷𐌰𐌽',
-'dellogpage'            => '𐍄𐌰𐌹𐍂𐌰 𐌰𐌹𐍂𐍅𐌱𐍉𐌺𐌰',
-'deleteotherreason'     => '𐌰𐌽𐌸𐌰𐍂/𐌼𐌰𐌹𐍃 𐌼𐌹𐍄𐍉𐌽𐍃:',
+'deletepage' => '𐍄𐌰𐌹𐍂𐌰 𐍃𐌴𐌹𐌳𐍉',
+'delete-legend' => '𐍄𐌰𐌹𐍂𐌰𐌽',
+'actioncomplete' => '𐍅𐌰𐍃𐌿𐌷 𐌹𐍄𐌰 𐌲𐌰𐌿𐍃𐍄𐌹𐌿𐌷𐌰𐌽',
+'dellogpage' => '𐍄𐌰𐌹𐍂𐌰 𐌰𐌹𐍂𐍅𐌱𐍉𐌺𐌰',
+'deleteotherreason' => '𐌰𐌽𐌸𐌰𐍂/𐌼𐌰𐌹𐍃 𐌼𐌹𐍄𐍉𐌽𐍃:',
 'deletereasonotherlist' => '𐌰𐌽𐌸𐌰𐍂 𐌼𐌹𐍄𐍉𐌽𐍃',
 
 # Rollback
 'rollbacklink' => '𐌰𐍆𐍅𐌰𐌻𐍅𐌾𐌰𐌽',
 
 # Protect
-'protectlogpage'      => 'Log af Baírgjan',
-'prot_1movedto2'      => '[[$1]] skiubiþ du [[$2]]',
+'protectlogpage' => 'Log af Baírgjan',
+'prot_1movedto2' => '[[$1]] skiubiþ du [[$2]]',
 'protect-level-sysop' => '𐍃𐌴𐌹𐌳𐍉𐍆𐌰𐌸𐍃 𐌰𐌹𐌽𐌰𐌷𐌰',
-'protect-expiring'    => 'bláuþiþ $1 (UTC)',
-'restriction-type'    => 'Freihals:',
+'protect-expiring' => 'bláuþiþ $1 (UTC)',
+'restriction-type' => 'Freihals:',
 
 # Restrictions (nouns)
 'restriction-edit' => '𐌼𐌰𐌹𐌳𐌾𐌰𐌽',
 'restriction-move' => '𐍃𐌺𐌹𐌿𐌱𐌰𐌽',
 
 # Undelete
-'undeletebtn'            => '𐌰𐍆𐍄𐍂𐌰 𐌲𐌰𐌱𐍉𐍄𐌾𐌰𐌽',
+'undeletebtn' => '𐌰𐍆𐍄𐍂𐌰 𐌲𐌰𐌱𐍉𐍄𐌾𐌰𐌽',
+'undeletelink' => '𐍃𐌰𐌹𐍈𐌰𐌽/𐌰𐍆𐍄𐍂𐌰𐌲𐌰𐍃𐌰𐍄𐌾𐌰𐌽',
+'undeleteviewlink' => '𐍃𐌰𐌹𐍈𐌹𐍃',
 'undelete-search-submit' => 'Sokeiþ',
 
 # Namespace form on various pages
-'namespace'      => '𐍃𐌴𐌹𐌳𐍉𐍆𐌴𐍂𐌰:',
-'invert'         => 'Afwandjan kustus',
+'namespace' => '𐍃𐌴𐌹𐌳𐍉𐍆𐌴𐍂𐌰:',
+'invert' => 'Afwandjan kustus',
 'blanknamespace' => '(𐍆𐍂𐌿𐌼𐌹𐍃𐍄𐍃)',
 
 # Contributions
 'contributions' => '𐌽𐌹𐌿𐍄𐌰𐌽𐌳𐌹𐍃 𐌰𐌹𐍅𐌻𐌰𐌲𐌹𐍉𐍃',
-'mycontris'     => '𐌼𐌴𐌹𐌽𐍉𐍃 𐌰𐌹𐍅𐌻𐌰𐌲𐌹𐍉𐍃',
-'contribsub2'   => '𐍆𐌰𐌿𐍂 $1 ($2)',
-'uctop'         => '(háubiþ)',
-'month'         => '𐍆𐍂𐌰𐌼 𐌼𐌴𐌽𐍉𐌸𐍃 (𐌾𐌰𐌷 𐌰𐍆𐍄𐌿𐌼𐌰):',
-'year'          => '𐍆𐍂𐌰𐌼 𐌾𐌴𐍂𐌰 (𐌾𐌰𐌷 𐌰𐍆𐍄𐌿𐌼𐌰):',
+'mycontris' => '𐌼𐌴𐌹𐌽𐍉𐍃 𐌰𐌹𐍅𐌻𐌰𐌲𐌹𐍉𐍃',
+'contribsub2' => '𐍆𐌰𐌿𐍂 $1 ($2)',
+'uctop' => '(háubiþ)',
+'month' => '𐍆𐍂𐌰𐌼 𐌼𐌴𐌽𐍉𐌸𐍃 (𐌾𐌰𐌷 𐌰𐍆𐍄𐌿𐌼𐌰):',
+'year' => '𐍆𐍂𐌰𐌼 𐌾𐌴𐍂𐌰 (𐌾𐌰𐌷 𐌰𐍆𐍄𐌿𐌼𐌰):',
 
 'sp-contributions-newbies-sub' => 'Faúr niujis niutandis',
-'sp-contributions-blocklog'    => 'Logboka af afdraúsjan',
-'sp-contributions-talk'        => 'Maþleiseido',
+'sp-contributions-blocklog' => 'Logboka af afdraúsjan',
+'sp-contributions-talk' => 'Maþleiseido',
 
 # What links here
-'whatlinkshere'       => '𐍈𐌰𐍂𐌾𐌹𐍃 𐍃𐌴𐌹𐌳𐍉𐌽𐌰 𐌷𐌻𐌰𐌲𐌺𐌾𐌰𐌽𐌳 𐌷𐌹𐌳𐍂𐌴',
+'whatlinkshere' => '𐍈𐌰𐍂𐌾𐌹𐍃 𐍃𐌴𐌹𐌳𐍉𐌽𐍃 𐌷𐌻𐌰𐌲𐌺𐌾𐌰𐌽𐌳 𐌷𐌹𐌳𐍂𐌴',
 'whatlinkshere-title' => 'Seidos hwarjis du $1 táiknjan',
-'isredirect'          => '𐍄𐌰𐌹𐌺𐌾𐌰𐍃𐌴𐌹𐌳𐍉',
-'istemplate'          => 'ináukan',
-'whatlinkshere-prev'  => '{{PLURAL:$1|aftuma|aftumans $1}}',
-'whatlinkshere-next'  => '{{PLURAL:$1|iftuma|iftumans $1}}',
+'isredirect' => '𐍄𐌰𐌹𐌺𐌾𐌰𐍃𐌴𐌹𐌳𐍉',
+'istemplate' => 'ináukan',
+'whatlinkshere-prev' => '{{PLURAL:$1|aftuma|aftumans $1}}',
+'whatlinkshere-next' => '{{PLURAL:$1|iftuma|iftumans $1}}',
 'whatlinkshere-links' => '← táikajanbandja',
 
 # Block/unblock
-'blockip'            => '𐌰𐍆𐌳𐍂𐌰𐌿𐍃𐌾𐌰𐌽 𐌽𐌹𐌿𐍄𐌰𐌽𐌳𐌹𐍃',
-'ipbreason'          => '𐍆𐌰𐌹𐍂𐌹𐌽𐌰:',
-'ipbotheroption'     => 'anþar',
+'blockip' => '𐌰𐍆𐌳𐍂𐌰𐌿𐍃𐌾𐌰𐌽 𐌽𐌹𐌿𐍄𐌰𐌽𐌳𐌹𐍃',
+'ipbreason' => '𐍆𐌰𐌹𐍂𐌹𐌽𐌰:',
+'ipboptions' => '𐌱 𐌰𐍅𐍂𐌰:2 hours, 𐌰 𐌳𐌰𐌲𐍃:1 day, 𐌲 𐌳𐌰𐌲𐍉𐍃:3 days, 𐌰 𐍅𐌹𐌺𐍉:1 week, 𐌱 𐍅𐌹𐌺𐍉𐌽𐍃:2 weeks, 𐌰 𐌼𐌴𐌽𐍉𐌸𐍃:1 month, 𐌲 𐌼𐌴𐌽𐍉𐌸𐍉𐍃:3 months, 𐌵 𐌼𐌴𐌽𐍉𐌸𐍉𐍃:6 months, 𐌰 𐌾𐌴𐍂:1 year, 𐌹𐌽𐌿𐍄𐍂𐌹𐌲𐌲𐌴𐌽𐌳𐌴𐌹𐍃:infinite',
 'ipblocklist-submit' => 'Sokeiþ',
-'infiniteblock'      => 'ajukduþs',
-'blocklink'          => '𐍅𐌰𐍂𐌲𐌾𐌰𐌽',
-'unblocklink'        => '𐍅𐌰𐌽𐌳𐌾𐌰𐌽',
-'contribslink'       => '𐌲𐌹𐌱𐍉𐍃',
-'blocklogpage'       => '𐌻𐍉𐌲𐌱𐍉𐌺𐌰 𐌰𐍆 𐌰𐍆𐌳𐍂𐌰𐌿𐍃𐌾𐌰𐌽',
-'blocklogentry'      => '𐌰𐍆𐌳𐍂𐌰𐌿𐍃𐌹𐌸 [[$1]] 𐍆𐌰𐌿𐍂 $2 $3',
+'infiniteblock' => 'ajukduþs',
+'blocklink' => '𐍅𐌰𐍂𐌲𐌾𐌰𐌽',
+'unblocklink' => '𐍅𐌰𐌽𐌳𐌾𐌰𐌽',
+'change-blocklink' => '𐌲𐌰𐌼𐌰𐌹𐌳𐌾𐌰𐌽 𐍅𐌰𐌿𐍂𐌾𐌰𐍅𐌰𐌳𐌳𐌾𐌿𐍃',
+'contribslink' => '𐌲𐌹𐌱𐍉𐍃',
+'blocklogpage' => '𐌻𐍉𐌲𐌱𐍉𐌺𐌰 𐌰𐍆 𐌰𐍆𐌳𐍂𐌰𐌿𐍃𐌾𐌰𐌽',
+'blocklogentry' => '𐌰𐍆𐌳𐍂𐌰𐌿𐍃𐌹𐌸 [[$1]] 𐍆𐌰𐌿𐍂 $2 $3',
 
 # Move page
 'movearticle' => '𐍃𐌺𐌹𐌿𐌱𐌰 𐍃𐌴𐌹𐌳𐍉:',
-'newtitle'    => '𐌳𐌿 𐌽𐌹𐌿𐌾𐌹𐍃 𐌽𐌰𐌼𐍉𐍃:',
-'move-watch'  => '𐍅𐌹𐍄𐌰𐌽 𐍃𐍉 𐍃𐌴𐌹𐌳𐍉',
+'newtitle' => '𐌳𐌿 𐌽𐌹𐌿𐌾𐌹𐍃 𐌽𐌰𐌼𐍉𐍃:',
+'move-watch' => '𐍅𐌹𐍄𐌰𐌽 𐍃𐍉 𐍃𐌴𐌹𐌳𐍉',
 'movepagebtn' => '𐍃𐌺𐌹𐌿𐌱𐌰 𐍃𐌴𐌹𐌳𐍉',
-'movedto'     => 'skiubiþ du',
 'movelogpage' => 'Log af skiubans',
-'movereason'  => '𐍆𐌰𐌹𐍂𐌹𐌽𐌰:',
-'revertmove'  => 'ráidjan',
+'movereason' => '𐍆𐌰𐌹𐍂𐌹𐌽𐌰:',
+'revertmove' => '𐍂𐌰𐌹𐌳𐌾𐌰𐌽',
+
+# Export
+'export' => '𐌿𐍄𐌼𐌹𐌸𐍃𐌰𐍄𐌾𐌹𐍃 𐍃𐌴𐌹𐌳𐍉𐌽𐍃',
 
 # Thumbnails
-'thumbnail-more' => 'Biáuknan',
+'thumbnail-more' => '𐌱𐌹𐌰𐌿𐌺𐌰𐌽',
 
 # Tooltip help for the actions
-'tooltip-pt-userpage'            => 'Meina niutandisseido',
-'tooltip-pt-mytalk'              => 'Meina maþleiseido',
-'tooltip-pt-preferences'         => 'Meinos brukjamaideineis',
-'tooltip-pt-mycontris'           => 'Tala af meina gibom',
-'tooltip-pt-logout'              => 'leiþan',
-'tooltip-ca-protect'             => '𐌱𐌰𐌹𐍂𐌲𐌰 𐌸𐍉 𐍃𐌴𐌹𐌳𐍉',
-'tooltip-ca-delete'              => '𐍄𐌰𐌹𐍂𐌰𐌽 𐍃𐍉 𐍃𐌴𐌹𐌳𐍉',
-'tooltip-ca-move'                => 'Skiuban so seido',
-'tooltip-search'                 => '𐍃𐍉𐌺𐌴𐌹𐌸 {{SITENAME}}',
-'tooltip-p-logo'                 => 'Háubidaseido',
-'tooltip-n-mainpage'             => '𐍃𐌰𐌹𐍈𐌰𐌽 𐍃𐌰 𐌷𐌰𐌿𐌱𐌹𐌳𐌰𐍃𐌴𐌹𐌳𐍉',
-'tooltip-n-mainpage-description' => '𐍃𐌰𐌹𐍈𐌰𐌽 𐍃𐌰 𐌷𐌰𐌿𐌱𐌹𐌳𐌰𐍃𐌴𐌹𐌳𐍉',
-'tooltip-t-upload'               => '𐌿𐍃𐌷𐌻𐌰𐌸𐌰𐌹𐌸 𐍆𐌴𐌹𐌻𐌰𐌽𐍃',
-'tooltip-t-specialpages'         => 'Findiþ alla ussindseidos',
-'tooltip-ca-nstab-user'          => '𐍃𐌰𐌹𐍈𐌰𐌽 𐍃𐌰 𐌽𐌹𐌿𐍄𐌰𐌽𐌳𐌹𐍃𐍃𐌴𐌹𐌳𐍉',
-'tooltip-save'                   => 'Skreiban þein máideins',
+'tooltip-pt-userpage' => '𐌸𐌴𐌹𐌽𐌰 𐌽𐌹𐌿𐍄𐌰𐌽𐌳𐌹𐍃𐍃𐌴𐌹𐌳𐍉',
+'tooltip-pt-mytalk' => '𐌸𐌴𐌹𐌽𐌰 𐌲𐌰𐍅𐌰𐌿𐍂𐌳𐌾𐌰𐍃𐌴𐌹𐌳𐍉',
+'tooltip-pt-preferences' => '𐌼𐌴𐌹𐌽𐍉𐍃 𐌱𐍂𐌿𐌺𐌾𐌰𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐌴𐌹𐍃',
+'tooltip-pt-watchlist' => '𐌻𐌴𐌹𐍃𐍄𐌰 𐍃𐌴𐌹𐌳𐍉𐌽𐍃 𐌴𐌹 𐌸𐌿 𐌰𐍄𐍅𐌹𐍄𐌰𐌹𐍃 𐍆𐌰𐌿𐍂 𐌹𐌽𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐌹𐌽𐍃',
+'tooltip-pt-mycontris' => '𐍄𐌰𐌻𐌰 𐌰𐍆 𐌸𐌴𐌹𐌽 𐌲𐌹𐌱𐍉𐌽𐍃',
+'tooltip-pt-login' => '𐌸𐌿 𐌹𐍃 𐌲𐌰𐍈𐌰𐍄𐌾𐌰𐌽𐌳𐍃 𐌰𐍄𐌲𐌰𐌲𐌲𐌰𐌽; 𐌰𐌸𐌸𐌰𐌽, 𐌽𐌹𐍃𐍄 𐌸𐌰𐌿𐍂𐌱𐌰𐌽𐍃',
+'tooltip-pt-logout' => '𐌻𐌴𐌹𐌸𐌰𐌽',
+'tooltip-ca-talk' => '𐌲𐌰𐍅𐌰𐌿𐍂𐌳𐌹 𐌱𐌹 𐌲𐌰𐌷𐌰𐌱𐌾𐌰 𐍃𐌴𐌹𐌳𐍉',
+'tooltip-ca-edit' => '𐌸𐌿 𐌼𐌰𐌲𐍄 𐌼𐌰𐌹𐌳𐌾𐌹𐍃 𐌸𐌰𐍄𐌰 𐍃𐌴𐌹𐌳𐍉. 𐌾𐌰𐌱𐌰𐌹 𐍅𐌹𐌻𐌴𐌹𐍃, 𐌱𐍂𐌿𐌺𐌾𐌹𐍃 𐍆𐌰𐌿𐍂𐍃𐌰𐌹𐍈𐌰𐌹𐍃 𐍆𐍂𐌿𐌼𐌰.',
+'tooltip-ca-addsection' => '𐌰𐌽𐌰𐍃𐍄𐍉𐌳𐌾𐌹𐍃 𐌽𐌹𐌿𐌾𐌰 𐌳𐌰𐌹𐌻',
+'tooltip-ca-viewsource' => '𐍃𐍉 𐍃𐌴𐌹𐌳𐍉 𐌹𐍃𐍄 𐌷𐌻𐌴𐌹𐌱𐌾𐌰𐌽𐌳𐍃
+𐌸𐌿 𐌼𐌰𐌲𐍄 𐍃𐌰𐌹𐍈𐌹𐍃 𐌹𐌶𐍉𐍃 𐌱𐍂𐌿𐌽𐌽𐌰𐌽',
+'tooltip-ca-history' => '𐍆𐌰𐌿𐍂𐌲𐌰𐌼𐌰𐌹𐌳𐌾𐌴𐌹𐌽𐍃 𐌸𐌹𐌶𐌿𐌷 𐍃𐌴𐌹𐌳𐍉𐌽𐍃',
+'tooltip-ca-protect' => '𐌱𐌰𐌹𐍂𐌲𐌰 𐌸𐍉 𐍃𐌴𐌹𐌳𐍉',
+'tooltip-ca-delete' => '𐍄𐌰𐌹𐍂𐌰𐌽 𐍃𐍉 𐍃𐌴𐌹𐌳𐍉',
+'tooltip-ca-move' => '𐍃𐌺𐌹𐌿𐌱𐌰𐌽 𐍃𐍉 𐍃𐌴𐌹𐌳𐍉',
+'tooltip-ca-watch' => '𐌰𐌽𐌰𐌰𐌿𐌺𐌹𐍃 𐌸𐌹𐌶𐌰𐌹 𐍃𐌴𐌹𐌳𐍉𐌽 𐌰𐌽𐌰 𐌸𐌴𐌹𐌽𐌰 𐍅𐌹𐍄𐌰𐌽𐌳𐌻𐌴𐌹𐍃𐍄𐌰',
+'tooltip-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-upload' => '𐌿𐍃𐌷𐌻𐌰𐌸𐌰𐌽 𐍆𐌴𐌹𐌻𐌰𐌽𐍃',
+'tooltip-t-specialpages' => '𐌻𐌴𐌹𐍃𐍄𐌰 𐌸𐌹𐌶𐍉 𐌿𐍃𐍃𐌹𐌽𐌳𐍃𐌴𐌹𐌳𐍉𐌽𐍉',
+'tooltip-t-print' => '𐍅𐍂𐌴𐌹𐍄𐌼𐌰𐌷𐍄𐌴𐌹𐌲 𐌿𐍃𐌲𐌰𐌱𐍉𐍃 𐌸𐌹𐌶𐍉𐍃 𐍃𐌴𐌹𐌳𐍉𐌽𐍃',
+'tooltip-t-permalink' => '𐍃𐌹𐌽𐍄𐌴𐌹𐌽𐍉 𐍃𐍄𐌰𐌽𐌳𐌰𐌽𐍃 𐌻𐌴𐌹𐌽𐌺𐌰 𐍅𐌹𐌸𐍂𐌰 𐌲𐌰𐌼𐌰𐌹𐌳𐌾𐌴𐌹𐌽 𐌸𐌹𐌶𐍉𐍃 𐍃𐌴𐌹𐌳𐍉𐌽𐍃',
+'tooltip-ca-nstab-main' => '𐍃𐌰𐌹𐍈𐌰𐌹𐍃 𐌸𐌰𐍄𐌰 𐌲𐌰𐌷𐌰𐌱𐌾𐌰 𐍃𐌴𐌹𐌳𐍉',
+'tooltip-ca-nstab-user' => '𐍃𐌰𐌹𐍈𐌰𐌽 𐍃𐌰 𐌽𐌹𐌿𐍄𐌰𐌽𐌳𐌹𐍃𐍃𐌴𐌹𐌳𐍉',
+'tooltip-ca-nstab-image' => '𐍃𐌰𐌹𐍈𐌰𐌽 𐌸𐍉 𐍆𐌴𐌹𐌻𐌰𐍃𐌴𐌹𐌳𐍉𐌽',
+'tooltip-ca-nstab-template' => '𐍃𐌰𐌹𐍈𐌹𐍃 𐍆𐌰𐌿𐍂𐌰𐌼𐌴𐌻𐌴𐌹𐌽',
+'tooltip-ca-nstab-category' => '𐍃𐌰𐌹𐍈𐌹𐍃 𐍃𐌴𐌹𐌳𐍉𐌽 𐌷𐌰𐌽𐍃𐍉',
+'tooltip-save' => '𐍃𐌺𐍂𐌴𐌹𐌱𐌰𐌹𐌽 𐌸𐌴𐌹𐌽 𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐍃',
+'tooltip-preview' => '𐍆𐌰𐌿𐍂𐍃𐌰𐍈𐌹𐍃 𐌹𐌽𐌼𐌰𐌹𐌳𐌾𐌴𐌹𐌽𐍉𐍃 𐌸𐌴𐌹𐌽𐌰, 𐌱𐌹𐌳𐌾𐌰 𐌸𐌿𐌺 𐌱𐍂𐌿𐌺𐌾𐌰𐌽 𐌸𐌰𐍄𐌰 𐍆𐌰𐌿𐍂𐌰 𐌼𐌴𐌻𐌾𐌹𐍃!',
+'tooltip-diff' => '𐍃𐌰𐌹𐍈𐌹𐌸 𐌸𐌰𐌽𐌶𐌴𐌹 𐌹𐌽𐌼𐌰𐌹𐌳𐌾𐌴𐌹𐌽𐍉𐍃 𐌸𐌰𐍄𐌴𐌹 𐌱𐍂𐌿𐌺𐌾𐌹𐍃 𐌱𐍉𐌺𐌰𐍅𐌰𐌿𐍂𐌳𐌹𐌽𐍃',
+'tooltip-rollback' => '"𐌰𐍆𐍅𐌰𐌻𐍅𐌾𐌰𐌽" 𐌱𐌰𐌺𐌼𐌰𐌹𐌳𐌾𐌹𐌸 𐌹𐌽𐌼𐌰𐌹𐌳𐌾𐌴𐌹𐌽𐍃 𐌱𐌹 𐌸𐌹𐌶𐌰𐌹 𐍃𐌴𐌹𐌳𐍉𐌽 𐍅𐌹𐍃𐌰𐌽 𐍃𐍉 𐌲𐌰𐌼𐌰𐌳𐌾𐌴𐌹 𐌼𐌰𐌽𐌰𐌲𐌹𐍃𐍄𐍃 𐌽𐌹𐌿𐌾𐌰 𐌲𐌹𐌱𐌰𐌾𐌹𐌽𐍃 𐍆𐍂𐌰𐌼 𐌰𐌹𐌽𐍃 𐌺𐌻𐌹𐌺',
+'tooltip-undo' => '"𐌽𐌹𐌿𐍃𐌺𐌰𐍀𐌾𐌰𐌽" 𐌱𐌰𐌺𐌼𐌰𐌹𐌳𐌾𐌹𐌸 𐌹𐌽𐌼𐌰𐌹𐌳𐌲𐌴𐌹𐌽𐍃 𐌾𐌰𐌷 𐌿𐍃𐌻𐌿𐌺𐍉𐌸 𐌼𐌰𐌹𐌳𐌾𐌰𐍆𐍉𐍂𐌼𐍉𐌽 𐍃𐍅𐌴 𐍆𐌰𐌿𐍂𐍃𐌰𐌹𐍈𐌰 𐌷𐌹𐍅𐌾𐌰. 𐌸𐌰𐍄𐌰 𐌻𐌴𐍄 𐌰𐌽𐌰𐌿𐌺𐌰𐌽𐌰𐌽 𐍃𐌰𐌿𐌸𐌰 𐌹𐌽 𐌹𐌽𐌽𐌰𐌷𐌰𐌻𐌳𐌰𐌰𐌽𐌲𐌰𐌱𐌰.',
+'tooltip-summary' => '𐌰𐍄𐌲𐌰𐌲𐌲𐌹𐍃 𐌹𐌽𐌽𐌰𐌷𐌰𐌻𐌳𐌰𐌰𐌽𐌲𐌰𐌱𐌰 𐌼𐌰𐌿𐍂𐌲𐌾𐌰',
 
 # Browsing diffs
 'previousdiff' => '← 𐌰𐍆𐍄𐌿𐌼𐌰 𐌰𐌹𐍂𐌹𐍃',
-'nextdiff'     => 'Iftuma áiris →',
+'nextdiff' => 'Iftuma áiris →',
 
 # Media information
+'file-info-size' => '$1 × $2 𐍀𐌹𐌺𐍃𐌴𐌻𐌰, 𐍆𐌴𐌹𐌻𐍅𐌰𐌷𐍃𐍄𐌿𐍃: $3, 𐌼𐌹𐌼𐌴 𐌺𐌿𐌽𐌹: $4',
 'show-big-image' => 'Fullis wahstus',
 
 # Special:NewFiles
 'ilsubmit' => 'Sokeiþ',
 
 # Metadata
-'metadata' => 'Ufardata',
+'metadata' => '𐌿𐍆𐌰𐍂𐌳𐌰𐍄𐌰',
 
 # 'all' in various places, this might be different for inflected languages
 'watchlistall2' => 'allis',
-'namespacesall' => 'allis',
-'monthsall'     => '𐌰𐌻𐌻𐌹𐍃',
+'namespacesall' => '𐌰𐌻𐌻𐌹𐍃',
+'monthsall' => '𐌰𐌻𐌻𐌹𐍃',
 
 # Multipage image navigation
 'imgmultigo' => 'Afgaggan!',
@@ -526,10 +620,13 @@ $messages = array(
 # Special:Version
 'version-other' => 'Anþar',
 
-# Special:FilePath
-'filepath-page' => 'Feilans:',
-
 # Special:SpecialPages
 'specialpages' => '𐌿𐍃𐍃𐌹𐌽𐌳𐍃𐌴𐌹𐌳𐍉𐍃',
 
+# Special:Tags
+'tag-filter' => '[[Special:Tags|𐍄𐌰𐌹𐌺𐌽𐍉𐍃]] 𐍆𐌹𐌻𐌷𐌰',
+
+# New logging system
+'rightsnone' => '(ni áinshun)',
+
 );
index 653336c..462462c 100644 (file)
@@ -13,7 +13,6 @@
 $messages = array(
 # User preference toggles
 'tog-underline' => 'A shaya zaruruwa',
-'tog-justify' => 'A daidaita sakin layuka',
 'tog-hideminor' => 'A ɓoye ƙananan gyare-gyare na baya-bayan nan',
 'tog-hidepatrolled' => 'A ɓoye gyare-gyaren kan ido a cikin gyare-gyare bayan-bayan nan',
 'tog-newpageshidepatrolled' => 'A ɓoye shafuna kan ido a cikin sabbin shafuna',
@@ -22,9 +21,7 @@ $messages = array(
 'tog-numberheadings' => 'A lambace kanun matani kai tsaye',
 'tog-showtoolbar' => 'A nuna sandar kayan aiki ta gyarawa (ana buƙatar JavaScript)',
 'tog-editondblclick' => 'A gyara shafuna da dabar-kiliki (ana buƙatar JavaScript)',
-'tog-editsection' => 'A lamunta gyara sashe ta hanyar zaruruwan [gyarawa]',
 'tog-editsectiononrightclick' => 'A lamunta gyara shashe da kilikin dama a kan kanun shashe (ana buƙatar JavaScript)',
-'tog-showtoc' => 'A nuna jadawalin kanu (cikin shafuna masu fiye da kanu 3)',
 'tog-rememberpassword' => 'A adana bayanan loginkina a wannan kwamfyuta (for a maximum of $1 {{PLURAL:$1|day|days}})',
 'tog-watchcreations' => 'A daɗa shafunan da na ƙirƙira a cikin jerina na kan ido',
 'tog-watchdefault' => 'A daɗa shafunan da na gyara a cikin jerina na kan ido',
@@ -33,7 +30,6 @@ $messages = array(
 'tog-minordefault' => 'A alamta gyare-gyarena a matsayin ƙanana bisa manufa',
 'tog-previewontop' => 'A nuna filin rigya-gani sama ga filin gyare-gyare',
 'tog-previewonfirst' => 'A nuna rigya-gani tun gyaran farin',
-'tog-nocache' => 'A tsayar da kacin shafi',
 'tog-enotifwatchlistpages' => 'A shaida mani ta Imel idan wani shafin jeerina na bin-sau ya sauya',
 'tog-enotifusertalkpages' => 'A shaida mani ta Imel idan shafina na muhawara ya sauya',
 'tog-enotifminoredits' => 'A shaida mani ta Imel game da ko da ƙaramin gyara ne',
@@ -373,7 +369,6 @@ Fasali: '''({{int:cur}})''' = bambanci da zubi na yanzu, '''({{int:last}})''' =
 'recentchanges' => 'Sauye-sauyen baya-bayan nan',
 'recentchanges-legend' => 'Zaɓi na sauye-sauyen baya-bayan nan',
 'recentchanges-feed-description' => 'Bi sawun sauye-sauyen ƙarshe na wikin da ke cikin wannan kwarare',
-'rcnote' => "A nan ƙasa an nuna {{PLURAL:$1|sauyi '''1'''|sauye-sauyen ƙarshe '''$1'''}} a cikin {{PLURAL:$2|awowi 24 da suka shige|'''$2''' kwanaki}}, har zuwa $5, $4.",
 'rclistfrom' => 'Nuna sabbin sauye-sauye tun daga $1',
 'rcshowhideminor' => '$1 ƙananen sauye-sauye',
 'rcshowhidebots' => 'Rabuwat $1',
@@ -582,7 +577,6 @@ Kuna iya sake wa wannan shafi matakin kariya, amma hakan ba zai yi tasiri ga kar
 # Block/unblock
 'blockip' => "Hana ma'aikaci",
 'ipbreason' => 'Dalili:',
-'ipbreasonotherlist' => 'Wani dalili',
 'ipboptions' => 'awa 2:2 hours,kwana 1:1 day,kwana 3:3 days,mako 1:1 week,mako 2:2 weeks,wata 1:1 month,wata 3:3 months,wata 6:6 months,shekara 1:1 year,illa masha allahu:infinite',
 'ipblocklist' => "Adireshin IP da ma'aikatan da aka hana",
 'ipblocklist-submit' => 'Nema',
index b0ce5f2..4ddfee1 100644 (file)
@@ -215,8 +215,8 @@ $messages = array(
 'delete' => '刪除',
 'deletethispage' => '刪除本頁',
 'undeletethispage' => '取消刪除邇頁',
-'undelete_short' => '恢復$1隻分删除编寫',
-'viewdeleted_short' => '查看$1項已刪除修訂',
+'undelete_short' => '恢復$1隻分删除编寫',
+'viewdeleted_short' => '查看$1項已刪除修訂',
 'protect' => '保護',
 'protect_change' => '更改',
 'protectthispage' => '保護本頁',
index 7ba43b1..29c6d92 100644 (file)
@@ -89,10 +89,8 @@ $magicWords = array(
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Kahalalo i nā loulou:',
-'tog-justify' => 'Ho‘okaulihi i nā paukū',
 'tog-hideminor' => 'E hūnā i nā ho‘opololei iki ma nā loli hou',
 'tog-editondblclick' => 'Ho‘opololei i nā ‘ao‘ao ma ke kōmi pālua (JavaScript)',
-'tog-showtoc' => 'Hō‘ike i ka papa kuhikuhi',
 'tog-rememberpassword' => 'Hoʻomanaʻo iaʻu ma kēia lolo uila (no ka palena nui o $1 {{PLURAL:$1|lā|mau lā}})',
 'tog-watchcreations' => 'Ho‘ohui i nā ‘ao‘ao i hana ai au i ka‘u papa nānā pono',
 'tog-watchdefault' => 'Ho‘ohui i nā ‘ao‘ao i ho‘opololei ai au i ka‘u papa nānā pono',
index 5204e17..0501a60 100644 (file)
@@ -493,11 +493,11 @@ $messages = array(
 'category-empty' => "'''קטגוריה זו אינה כוללת דפים או קובצי מדיה.'''",
 'hidden-categories' => '{{PLURAL:$1|קטגוריה מוסתרת|קטגוריות מוסתרות}}',
 'hidden-category-category' => 'קטגוריות מוסתרות',
-'category-subcat-count' => '{{PLURAL:$2|קטגוריה זו כוללת את קטגוריית המשנה הבאה בלבד|דף קטגוריה זה כולל את {{PLURAL:$1|קטגוריית המשנה הבאה|$1 קטגוריות המשנה הבאות}}, מתוך $2 בקטגוריה כולה}}.',
+'category-subcat-count' => '{{PLURAL:$2|קטגוריה זו כוללת את קטגוריית המשנה הבאה בלבד.|קטגוריה זו כוללת את {{PLURAL:$1|קטגוריית המשנה המוצגת להלן|$1 קטגוריות המשנה המוצגות להלן}}, וכוללת בסך הכול $2 קטגוריות משנה.}}',
 'category-subcat-count-limited' => 'קטגוריה זו כוללת את {{PLURAL:$1|קטגוריית המשנה הבאה|$1 קטגוריות המשנה הבאות}}.',
-'category-article-count' => '{{PLURAL:$2|קטגוריה זו כוללת את הדף הבא בלבד|דף קטגוריה זה כולל את {{PLURAL:$1|הדף הבא|$1 הדפים הבאים}}, מתוך $2 בקטגוריה כולה}}.',
+'category-article-count' => '{{PLURAL:$2|קטגוריה זו כוללת את הדף הבא בלבד.|קטגוריה זו כוללת את {{PLURAL:$1|הדף המוצג להלן|$1 הדפים המוצגים להלן}}, וכוללת בסך הכול $2 דפים.}}',
 'category-article-count-limited' => 'קטגוריה זו כוללת את {{PLURAL:$1|הדף הבא|$1 הדפים הבאים}}.',
-'category-file-count' => '{{PLURAL:$2|קטגוריה זו כוללת את הקובץ הבא בלבד|קטגוריה זו כוללת את {{PLURAL:$1|הקובץ הבא|$1 הקבצים הבאים}}, מתוך $2 בקטגוריה כולה}}.',
+'category-file-count' => '{{PLURAL:$2|קטגוריה זו כוללת את הקובץ הבא בלבד.|קטגוריה זו כוללת את {{PLURAL:$1|הקובץ המוצג להלן|$1 הקבצים המוצגים להלן}}, וכוללת בסך הכול $2 קבצים.}}',
 'category-file-count-limited' => 'קטגוריה זו כוללת את {{PLURAL:$1|הקובץ הבא|$1 הקבצים הבאים}}.',
 'listingcontinuesabbrev' => '(המשך)',
 'index-category' => 'דפים המופיעים במנועי חיפוש',
@@ -917,6 +917,9 @@ $2',
 'suspicious-userlogout' => 'בקשתך לצאת מהחשבון נדחתה כיוון שנראה שהיא נשלחה על־ידי דפדפן שבור או שרת פרוקסי עם זיכרון מטמון.',
 'createacct-another-realname-tip' => 'השם האמיתי הוא אופציונאלי.
 אם תבחרו לספקו, הוא ישמש לייחוס עבודת המשתמש אליו.',
+'pt-login' => 'כניסה לחשבון',
+'pt-createaccount' => 'יצירת חשבון',
+'pt-userlogout' => 'יציאה מהחשבון',
 
 # Email sending
 'php-mail-error-unknown' => 'שגיאה לא ידועה בפונקציה mail()‎ של PHP',
@@ -925,8 +928,7 @@ $2',
 
 # Change password dialog
 'changepassword' => 'שינוי סיסמה',
-'resetpass_announce' => 'נכנסתם באמצעות סיסמה זמנית שנשלחה אליכם בדוא"ל.
-כדי לסיים את הכניסה, עליכם לקבוע כאן סיסמה חדשה:',
+'resetpass_announce' => 'כדי לסיים את הכניסה, עליכם להגדיר סיסמה חדשה.',
 'resetpass_text' => '<!-- הוסיפו טקסט כאן -->',
 'resetpass_header' => 'שינוי סיסמת החשבון',
 'oldpassword' => 'סיסמה ישנה:',
@@ -942,8 +944,13 @@ $2',
 'resetpass-submit-cancel' => 'ביטול',
 'resetpass-wrong-oldpass' => 'הסיסמה הזמנית או הנוכחית אינה תקינה.
 ייתכן שכבר שינית את סיסמתך או שכבר ביקשת סיסמה זמנית חדשה.',
+'resetpass-recycled' => 'אנא אפסו את הסיסמה לסיסמה שונה מסיסמתכם הנוכחית.',
+'resetpass-temp-emailed' => 'נכנסתם באמצעות סיסמה זמנית שנשלחה אליכם בדוא"ל.
+כדי לסיים את הכניסה, עליכם להגדיר כאן סיסמה חדשה:',
 'resetpass-temp-password' => 'סיסמה זמנית:',
 'resetpass-abort-generic' => 'שינוי הסיסמה בוטל על־ידי הרחבה.',
+'resetpass-expired' => 'סיסמתכם פקעה. אנא הגדירו סיסמה חדשה כדי להיכנס.',
+'resetpass-expired-soft' => 'סיסמתכם פקעה, ויש לאפס אותה. אנא בחרו סיסמה חדשה כעת, או לחצו על "ביטול" כדי לאפס אותה מאוחר יותר.',
 
 # Special:PasswordReset
 'passwordreset' => 'איפוס סיסמה',
@@ -1432,8 +1439,8 @@ $1",
 'showhideselectedversions' => 'הצגת/הסתרת הגרסאות שנבחרו',
 'editundo' => 'ביטול',
 'diff-empty' => '(אין הבדלים)',
-'diff-multi-sameuser' => '({{PLURAL:$1|×\92רסת ×\91×\99× ×\99×\99×\9d ×\90×\97ת|$1 ×\92רס×\90×\95ת ×\91×\99× ×\99×\99×\9d}} ×\9e×\9eשת×\9eש ×\90×\97×\93 ×\90×\99× ×\9f ×\9e×\95צ×\92×\95ת)',
-'diff-multi-otherusers' => '({{PLURAL:$1|גרסת ביניים אחת|$1 גרסאות ביניים}}  {{PLURAL:$2|ממשתמש אחד|מ-$2 משתמשים}}  אינן מוצגות)',
+'diff-multi-sameuser' => '({{PLURAL:$1|×\92רסת ×\91×\99× ×\99×\99×\9d ×\90×\97ת|$1 ×\92רס×\90×\95ת ×\91×\99× ×\99×\99×\9d}} ×©×\9c ×\90×\95ת×\95 ×\9eשת×\9eש {{PLURAL:$1|×\90×\99× ×\94 ×\9e×\95צ×\92ת|×\90×\99× ×\9f ×\9e×\95צ×\92×\95ת}})',
+'diff-multi-otherusers' => '({{PLURAL:$1|גרסת ביניים אחת|$1 גרסאות ביניים}} של {{PLURAL:$2|משתמש אחר אחד|$2 משתמשים}} {{PLURAL:$1|אינה מוצגת|אינן מוצגות}})',
 'diff-multi-manyusers' => '({{PLURAL:$1|גרסת ביניים אחת|$1 גרסאות ביניים}} של יותר {{PLURAL:$2|ממשתמש אחד|מ־$2 משתמשים}} {{PLURAL:$1|אינה מוצגת|אינן מוצגות}})',
 'difference-missing-revision' => '{{PLURAL:$2|גרסה אחת|$2 גרסאות}} של ההבדל הזה בין שתי גרסאות ($1) {{PLURAL:$2|לא נמצאה|לא נמצאו}}.
 
@@ -1480,8 +1487,8 @@ $1",
 'searcheverything-enable' => 'חיפוש בכל מרחבי השם',
 'searchrelated' => 'קשור',
 'searchall' => 'הכול',
-'showingresults' => "{{PLURAL:$1|מוצגת תוצאה '''אחת'''|מוצגות עד '''$1''' תוצאות}} החל ממספר '''$2''':",
-'showingresultsinrange' => 'מוצגים להלן עד {{PLURAL:$1|תוצאה <strong>בודדת</strong>|<strong>$1</strong> תוצאות}} בטווח שבין #<strong>$2</strong> לבין #<strong>$3</strong>.',
+'showingresults' => '{{PLURAL:$1|מוצגת תוצאה <strong>אחת</strong>|מוצגות עד <strong>$1</strong> תוצאות}} החל ממספר <strong>$2</strong>:',
+'showingresultsinrange' => '{{PLURAL:$1|מוצגת תוצאה <strong>אחת</strong>|מוצגות עד <strong>$1</strong> תוצאות}} בין המספרים <strong>$2</strong> ו‏‏־<strong>$3</strong>:',
 'showingresultsnum' => "{{PLURAL:$3|מוצגת תוצאה '''אחת'''|מוצגות '''$3''' תוצאות}} החל ממספר '''$2''':",
 'showingresultsheader' => "{{PLURAL:$5|תוצאה '''$1''' מתוך '''$3'''|תוצאות '''$1 - $2''' מתוך '''$3'''}} עבור '''$4'''",
 'search-nonefound' => 'לא נמצאו תוצאות המתאימות לחיפוש.',
@@ -2311,10 +2318,11 @@ $1',
 'deadendpagestext' => 'הדפים הבאים אינם מקשרים לדפים אחרים באתר {{SITENAME}}.',
 'protectedpages' => 'דפים מוגנים',
 'protectedpages-indef' => 'הגנות לזמן בלתי מוגבל בלבד',
+'protectedpages-summary' => 'בדף זה רשומים הדפים הקיימים שמוגנים כרגע. לרשימת הכותרות שמוגנות מפני יצירה, ראו את [[{{#special:ProtectedTitles}}|דף הכותרות המוגנות]].',
 'protectedpages-cascade' => 'הגנות מדורגות בלבד',
 'protectedpages-noredirect' => 'הסתרת הפניות',
 'protectedpagesempty' => 'אין כרגע דפים מוגנים עם הפרמטרים הללו.',
-'protectedpages-timestamp' => '×\97×\95ת×\9d ×\96×\9e×\9f',
+'protectedpages-timestamp' => 'ת×\90ר×\99×\9a ×\95שע×\94',
 'protectedpages-page' => 'דף',
 'protectedpages-expiry' => 'זמן פקיעה',
 'protectedpages-performer' => 'הוגן על ידי',
@@ -2323,6 +2331,7 @@ $1',
 'protectedpages-unknown-timestamp' => 'לא ידוע',
 'protectedpages-unknown-performer' => 'משתמש לא ידוע',
 'protectedtitles' => 'כותרות מוגנות',
+'protectedtitles-summary' => 'בדף זה רשומות הכותרות שמוגנות כעת מפני יצירה. לרשימת הדפים הקיימים שמוגנים, ראו את [[{{#special:ProtectedPages}}|דף הדפים המוגנים]].',
 'protectedtitlesempty' => 'אין כרגע כותרות מוגנות עם הפרמטרים האלה.',
 'listusers' => 'רשימת משתמשים',
 'listusers-editsonly' => 'הצגת משתמשים עם עריכות בלבד',
@@ -2510,7 +2519,7 @@ $1',
 'watchmethod-list' => 'בודק את העריכות האחרונות בדפים שברשימת המעקב',
 'watchlistcontains' => 'רשימת המעקב כוללת {{PLURAL:$1|דף אחד|$1 דפים}}.',
 'iteminvalidname' => 'בעיה עם $1, שם שגוי…',
-'wlnote2' => 'להלן השינויים האחרונים ב{{PLURAL:$1|שעה האחרונה|-<strong> $1 </strong> שעות האחרונות}}, מ-$2, $3.',
+'wlnote2' => 'להלן השינויים האחרונים {{PLURAL:$1|בשעה האחרונה|בשעתיים האחרונות|ב‏‏֫־<strong>$1</strong> השעות האחרונות}}, עד $3, $2.',
 'wlshowlast' => '(הצגת $1 שעות אחרונות | $2 ימים אחרונים | $3)',
 'watchlist-options' => 'אפשרויות ברשימת המעקב',
 
@@ -2876,7 +2885,7 @@ $1',
 'contribslink' => 'תרומות',
 'emaillink' => 'שליחת דוא"ל',
 'autoblocker' => 'נחסמתם באופן אוטומטי משום שאתם חולקים את כתובת ה־IP שלכם עם [[User:$1|$1]].
-הסיבה שניתנה לחסימת $1 היא "\'\'\'$2\'\'\'"',
+הסיבה שניתנה לחסימת $1 היא "$2"',
 'blocklogpage' => 'יומן חסימות',
 'blocklog-showlog' => 'משתמש זה נחסם בעבר.
 יומן החסימות מוצג להלן:',
@@ -3086,6 +3095,7 @@ $2',
 'thumbnail_image-type' => 'סוג התמונה אינו נתמך',
 'thumbnail_gd-library' => 'הגדרת הספריה GD אינה שלמה: חסרה הפונקציה $1',
 'thumbnail_image-missing' => 'נראה שהקובץ הבא חסר: $1',
+'thumbnail_image-failure-limit' => 'היו לאחרונה ניסיונות רבים מדי ($1 או יותר) ליצור את התמונה הממוזערת הזו. אנו נסו שוב מאוחר יותר.',
 
 # Special:Import
 'import' => 'ייבוא דפים',
@@ -3133,6 +3143,7 @@ $2',
 'import-error-special' => 'לא ניתן לייבא את הדף "$1" כיוון שהוא שייך למרחב שם מיוחד שלא יכול להכיל דפים.',
 'import-error-invalid' => 'לא ניתן לייבא את הדף "$1" כיוון ששמו אינו תקין.',
 'import-error-unserialize' => 'לא ניתן היה לפענח את הגרסה $2 של הדף "$1". הגרסה מסומנת כאילו היא משתמשת במודל התוכן $3, אך קודדה כ{{GRAMMAR:תחילית|$4}}.',
+'import-error-bad-location' => 'גרסה $2 המשתמשת במודל התוכן $3 אינה ניתנת לשמירה ב‏‏֫דף "$1" באתר ויקי זה, כיוון שהמודל אינו נתמך בדף זה.',
 'import-options-wrong' => '{{PLURAL:$2|אפשרות שגויה|אפשרויות שגויות}}: <nowiki>$1</nowiki>',
 'import-rootpage-invalid' => 'לדף הבסיס שניתן יש כותרת לא תקינה.',
 'import-rootpage-nosubpage' => 'מרחב השם "$1" של דף הבסיס אינו מאפשר דפי־משנה.',
index 650e594..04d4b58 100644 (file)
@@ -53,6 +53,7 @@
  * @author Taxman
  * @author Venky2834
  * @author Vibhijain
+ * @author Vivek Rai
  * @author Wikiconference
  * @author לערי ריינהארט
  * @author आलोक
@@ -738,6 +739,9 @@ $2',
 'suspicious-userlogout' => 'अपका लॉग आउट करने का अनुरोध अस्वीकृत कर दिया गया है क्योंकि ऐसा प्रतीत होता है कि यह किसी खराब ब्राउज़र या कैश करने वाली प्रॉक्सी द्वारा भेजा गया था।',
 'createacct-another-realname-tip' => 'असली नाम देना आवश्यक नहीं है।
 यदि आप प्रदान करते हैं तो इसका प्रयोग सदस्य के योगदानों के लिये उनको श्रेय (attribution) देने के लिये किया जायेगा।',
+'pt-login' => 'लॉग इन',
+'pt-createaccount' => 'खाता बनाएँ',
+'pt-userlogout' => 'लॉगआउट',
 
 # Email sending
 'php-mail-error-unknown' => 'PHP के mail() फ़ंक्शन में अज्ञात त्रुटि हुई।',
@@ -746,8 +750,7 @@ $2',
 
 # Change password dialog
 'changepassword' => 'कूटशब्द बदलें',
-'resetpass_announce' => 'आप ई-मेल से प्राप्त अस्थायी कोड से लॉग इन हुए हैं।
-लॉग इन को पूरा करने के लिये आपको यहाँ एक नया कूटशब्द देना होगा:',
+'resetpass_announce' => 'लॉग इन को पूरा करने के लिये आपको यहाँ एक नया कूटशब्द देना होगा:',
 'resetpass_text' => '<!-- पाठ यहाँ लिखें -->',
 'resetpass_header' => 'खाते का कूटशब्द बदलें',
 'oldpassword' => 'पुराना कूटशब्द:',
@@ -763,8 +766,13 @@ $2',
 'resetpass-submit-cancel' => 'रद्द करें',
 'resetpass-wrong-oldpass' => 'अवैध अस्थायी या वर्तमान कूटशब्द।
 संभव है कि या तो आपने पहले ही सफलतापूर्वक अपना कूटशब्द बदल लिया हो, या आपने एक नए अस्थायी कूटशब्द का अनुरोध किया हो।',
+'resetpass-recycled' => 'कृपया अपना वर्तमान पासवर्ड के अलावा किसी अन्य में रिसेट करें।',
+'resetpass-temp-emailed' => 'आपने एक अस्थायी कोड ईमेल के साथ लॉग इन किया.
+लॉगिंग पूरा करने के लिए, आपको यहाँ एक नया पासवर्ड सेट करना होगा:',
 'resetpass-temp-password' => 'अस्थायी कूटशब्द:',
 'resetpass-abort-generic' => 'कूटशब्द में बदलाव किसी एक्सटेंशन द्वारा रोक दिया गया है।',
+'resetpass-expired' => 'आपके पासवर्ड की समय सीमा समाप्त हो चुकी है। कृपया लॉगइन करने के लिए एक नया पासवर्ड सेट करें।',
+'resetpass-expired-soft' => "आपका पासवर्ड समाप्त हो गया है, और रीसेट किये जाने की जरूरत है। कृपया अब एक नया पासवर्ड चुनें, या बाद में पुनर्स्थापित करने के लिए ' रद्द करें ' क्लिक करें।",
 
 # Special:PasswordReset
 'passwordreset' => 'कूटशब्द रीसेट',
@@ -2137,6 +2145,12 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization देखें।',
 'protectedpages-cascade' => 'केवल सोपानी सुरक्षा',
 'protectedpages-noredirect' => 'पुनर्निर्देश छुपाएँ',
 'protectedpagesempty' => 'इस समय इन नियमों द्वारा कोई पृष्ठ सुरक्षित नहीं हैं।',
+'protectedpages-timestamp' => 'टाइम मोहर',
+'protectedpages-page' => 'पृष्ठ',
+'protectedpages-expiry' => 'समाप्ति:',
+'protectedpages-performer' => 'उपयोगकर्ता की सुरक्षा',
+'protectedpages-params' => 'संरक्षण पैरामीटर्स',
+'protectedpages-reason' => 'कारण',
 'protectedtitles' => 'सुरक्षित शीर्षक',
 'protectedtitlesempty' => 'इन नियमों द्वारा कोई भी शीर्षक सुरक्षित नहीं हैं।',
 'listusers' => 'सदस्यसूची',
index 228c77b..4213e01 100644 (file)
@@ -696,6 +696,9 @@ Per favor attende $1 ante de probar lo novemente.',
 'suspicious-userlogout' => 'Le requesta de clauder le session ha essite refusate proque illo pare haber essite inviate per un navigator o proxy de cache defectuose.',
 'createacct-another-realname-tip' => 'Le nomine real es optional.
 Si tu opta pro dar lo, isto essera usate pro dar al usator attribution pro su contributiones.',
+'pt-login' => 'Aperir session',
+'pt-createaccount' => 'Crear conto',
+'pt-userlogout' => 'Clauder session',
 
 # Email sending
 'php-mail-error-unknown' => 'Error incognite in le function mail() de PHP',
index e84cf6b..bb04575 100644 (file)
@@ -296,7 +296,6 @@ $messages = array(
 'vector-action-protect' => 'Gardar',
 'vector-action-undelete' => 'Restituer',
 'vector-action-unprotect' => 'Desgardar',
-'vector-simplesearch-preference' => 'Simplificat serch-liste (solmen Vector)',
 'vector-view-create' => 'Crear',
 'vector-view-edit' => 'Redacter',
 'vector-view-history' => 'Historie de versiones',
index 4d39d69..f626f54 100644 (file)
@@ -222,7 +222,6 @@ $messages = array(
 'vector-action-protect' => 'Cẹdolu',
 'vector-action-undelete' => 'Á gbàkashikwà',
 'vector-action-unprotect' => 'Nchẹdo mgbanwe',
-'vector-simplesearch-preference' => 'Kwe okwu ụmá nchöwa di (akpụkpọ Vector náni)',
 'vector-view-create' => 'Ké',
 'vector-view-edit' => 'Mèzi',
 'vector-view-history' => 'Zí ịta',
index 39705c5..db4744d 100644 (file)
@@ -190,7 +190,6 @@ $messages = array(
 'history-title' => 'ᑎᑎᕋᖅᑕᐅᒋᐊᕐᖓᕈᑦ ᒪᑉᐱᑕᖅ ᑭᖑᓂᑦᑎᓐᓂ "$1"',
 'lineno' => 'ᑐᑭᖅᓯᖅ $1:',
 'editundo' => 'ᐃᐱᐅᑦᔮᐹ',
-'diff-multi' => '({{PLURAL:$1|ᐊᑕᐅᓯᖅ ᑭᒻᒥᐅᕗᖅ ᑎᑎᕋᖅᑕᐅᒋᐊᕐᖓᕈᑦ|$1 ᑭᒻᒥᐅᕗᖅ ᑎᑎᕋᖅᑕᐅᒋᐊᕐᖓᕈᑦ}} ᐊᔪᖅᑐᖅ ᐅᕝᕙ.)',
 
 # Search results
 'nextn' => 'ᑕᒡᒐ {{PLURAL:$1|$1}}',
index a884787..02fb562 100644 (file)
@@ -169,7 +169,6 @@ $messages = array(
 'history-title' => 'titiraqtaugiarngarut mappitaq kingunittinni "$1"',
 'lineno' => 'tukiqsiq $1:',
 'editundo' => 'ipiutjaapaa',
-'diff-multi' => '({{PLURAL:$1|atausiq kimmiuvuq titiraqtaugiarngarut|$1 kimmiuvuq titiraqtaugiarngarut}} ajuqtuq uvva.)',
 
 # Search results
 'nextn' => 'tagga {{PLURAL:$1|$1}}',
index 64194fe..428f654 100644 (file)
@@ -161,7 +161,6 @@ $messages = array(
 'vector-action-protect' => 'Лораде',
 'vector-action-undelete' => 'Юхаоттаде',
 'vector-action-unprotect' => 'Лорам хувца',
-'vector-simplesearch-preference' => 'Яьржа лахарий довзамаш чуяьккха (Vector skin only)',
 'vector-view-create' => 'Кхолларле',
 'vector-view-edit' => 'Хувцам',
 'vector-view-history' => 'Искар',
index fd7d8df..aa3fc3c 100644 (file)
@@ -27,6 +27,7 @@
  * @author Danmaz74
  * @author Darth Kule
  * @author DexterMorgan
+ * @author Diana
  * @author F. Cosoleto
  * @author FRacco
  * @author Felis
@@ -828,6 +829,9 @@ Attendi $1 e riprova in seguito.',
 'loginlanguagelabel' => 'Lingua: $1',
 'suspicious-userlogout' => 'La tua richiesta di disconnessione è stata negata perché sembra inviata da un browser non funzionante o un proxy di caching.',
 'createacct-another-realname-tip' => "L'indicazione del proprio nome vero è opzionale; se si sceglie di inserirlo, verrà utilizzato per attribuire la paternità dei contenuti inviati.",
+'pt-login' => 'Entra',
+'pt-createaccount' => 'Registrati',
+'pt-userlogout' => 'Esci',
 
 # Email sending
 'php-mail-error-unknown' => 'Errore sconosciuto nella funzione PHP mail()',
@@ -836,7 +840,7 @@ Attendi $1 e riprova in seguito.',
 
 # Change password dialog
 'changepassword' => 'Cambia password',
-'resetpass_announce' => "L'accesso è stato effettuato con un codice temporaneo, inviato via e-mail. Per completare l'accesso è necessario impostare una nuova password:",
+'resetpass_announce' => 'Per completare la registrazione, è necessario impostare una nuova password.',
 'resetpass_text' => '<!-- Aggiungere il testo qui -->',
 'resetpass_header' => "Cambia la password dell'account",
 'oldpassword' => 'Vecchia password:',
@@ -852,8 +856,12 @@ Attendi $1 e riprova in seguito.',
 'resetpass-submit-cancel' => 'Annulla',
 'resetpass-wrong-oldpass' => 'Password temporanea o attuale non valida.
 La password potrebbe essere stata già cambiata, oppure potrebbe essere stata richiesta una nuova password temporanea.',
+'resetpass-recycled' => 'Si prega di reimpostare con una password diversa dalla password attuale.',
+'resetpass-temp-emailed' => "L'accesso è stato effettuato con un codice temporaneo, inviato via email. Per completare la registrazione, è necessario impostare una nuova password:",
 'resetpass-temp-password' => 'Password temporanea:',
 'resetpass-abort-generic' => "La modifica della password è stata interrotta da un'estensione.",
+'resetpass-expired' => "La password è scaduta. Si prega di impostare una nuova password per effettuare l'accesso.",
+'resetpass-expired-soft' => 'La tua password è scaduta e deve essere reimpostata. Si prega di scegliere una nuova password o fare clic su annulla per reimpostarla successivamente.',
 
 # Special:PasswordReset
 'passwordreset' => 'Reimposta password',
index 204d758..4782f9f 100644 (file)
@@ -925,6 +925,9 @@ $1待ってから再度試してください。',
 'suspicious-userlogout' => '壊れたブラウザーまたはキャッシュプロキシによって送信された可能性があるため、ログアウト要求は拒否されました。',
 'createacct-another-realname-tip' => '本名は省略できます。
 入力すると、その利用者の著作物の帰属表示に使われます。',
+'pt-login' => 'ログイン',
+'pt-createaccount' => 'アカウント作成',
+'pt-userlogout' => 'ログアウト',
 
 # Email sending
 'php-mail-error-unknown' => 'PHPのmail()関数での不明なエラーです。',
index a0968b9..887d06a 100644 (file)
@@ -18,9 +18,6 @@
  */
 
 $messages = array(
-# User preference toggles
-'tog-justify' => 'jufmei co mulno selkuspe',
-
 'underline-always' => 'roroi',
 'underline-never' => 'noroi',
 
@@ -85,6 +82,7 @@ $messages = array(
 'listingcontinuesabbrev' => "co'unai",
 
 'about' => 've skicu',
+'cancel' => 'naljetnygau',
 'moredotdotdot' => '.au zmadu',
 'mytalk' => 'lo casnu be mi',
 'navigation' => 'ckupau',
@@ -112,6 +110,7 @@ $messages = array(
 'variants' => 'loi jutsi',
 
 'errorpagetitle' => 'fliba',
+'returnto' => "xrugau fi la'e zoi gy. $1 .gy",
 'tagline' => "ra'i {{SITENAME}}",
 'help' => 'sidju ckupau',
 'search' => 'sisku',
@@ -146,7 +145,7 @@ $messages = array(
 'jumptosearch' => 'sisku',
 
 # All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
-'aboutsite' => 'អំពី {{SITENAME}}',
+'aboutsite' => "skicu la'e zoi gy.{{SITENAME}}.gy",
 'aboutpage' => "Project:sera'a",
 'copyright' => "lo selvau cu gubni ja'i la'o gy. $1 .gy.",
 'copyrightpage' => "{{ns:project}}:fukyzifpo'e",
@@ -173,7 +172,7 @@ $messages = array(
 'editsectionhint' => "stika lo te fendi noi du la'oi $1",
 'toc' => 'ckupau pagbu',
 'showtoc' => 'jarco',
-'hidetoc' => 'toljarco',
+'hidetoc' => 'cancygau',
 'thisisdeleted' => 'View or restore $1?',
 'viewdeleted' => 'View $1?',
 'restorelink' => '{{PLURAL:$1|one deleted edit|$1 deleted edits}}',
@@ -186,7 +185,7 @@ $messages = array(
 
 # Short words for each namespace, by default used in the namespace tab in monobook
 'nstab-main' => 'lo ckupau',
-'nstab-user' => 'pilno kibypapri',
+'nstab-user' => 'lo pilno kibypapri',
 'nstab-media' => 'Media page',
 'nstab-special' => 'steci ckupau',
 'nstab-project' => 'gungunma ckupau',
@@ -212,10 +211,17 @@ $messages = array(
 'gotaccountlink' => "co'a se jaspu",
 'loginlanguagelabel' => 'to bangu toi $1',
 
+# Change password dialog
+'resetpass-submit-cancel' => 'naljetnygau',
+
 # Special:PasswordReset
 'passwordreset-username' => 'to pilno cmene toi',
 
+# Special:ChangeEmail
+'changeemail-cancel' => 'naljetnygau',
+
 # Edit page toolbar
+'link_tip' => 'lo nenri judri',
 'extlink_sample' => 'http://www.example.com link title',
 'media_tip' => 'judri lo vreji',
 
@@ -225,7 +231,7 @@ $messages = array(
 'watchthis' => 'zgana ti',
 'savearticle' => 'stogau lo ckupau',
 'showpreview' => 'zganygau lo jai se troci',
-'showdiff' => 'jarco lo te frica',
+'showdiff' => 'catlu lo jai te frica',
 'loginreqlink' => "co'a se jaspu",
 'newarticle' => 'to cnino toi',
 'previewnote' => "'''do o'i morji lo du'u di'e jai se troci se zgana po'o'''
@@ -237,6 +243,7 @@ $messages = array(
 
 # History pages
 'revisionasof' => "ve farvi soi se detri la'oi $1",
+'previousrevision' => 'lo laldo zmadu versio',
 'cur' => 'cab',
 'last' => "prula'i",
 'page_first' => 'pamoi',
@@ -258,7 +265,9 @@ $messages = array(
 'prevn' => 'lo lidne {{PLURAL:$1|$1}}',
 'nextn' => 'lo se lidne {{PLURAL:$1|$1}}',
 'prevn-title' => 'lo lidne $1 {{PLURAL:$1|result|results}}',
+'shown-title' => 'zganygau $1 lo {{PLURAL:$1|danfu}} fau ro papri',
 'searchprofile-articles' => 'lo se vasru papri',
+'searchprofile-images' => 'tarti vreji',
 'searchprofile-everything' => "ro co'e",
 'searchprofile-advanced' => 'lo tcila',
 'searchprofile-articles-tooltip' => "sisku fi la'oi $1",
@@ -272,7 +281,7 @@ $messages = array(
 # Preferences page
 'preferences' => 'lo se nelci',
 'mypreferences' => 'lo se nelci',
-'prefs-rc' => 'puzi nu stika',
+'prefs-rc' => 'lo nu puzi stika',
 'prefs-editing' => "ca'o stika",
 'searchresultshead' => "tu'a le se sisku",
 'savedprefs' => 'le do zmaselnei pu vreji',
@@ -282,17 +291,18 @@ $messages = array(
 'action-edit' => 'stika lo vi ckupau',
 
 # Recent changes
-'recentchanges' => 'puzi nunstika',
+'recentchanges' => 'lo nu puzi stika',
 'recentchanges-summary' => 'liste loi nu puzi galfi la .uikis.',
 'rcshowhidebots' => '$1 lo zmiku',
-'rcshowhideliu' => '$1 lo samyzva',
+'rcshowhideliu' => '$1 lo se jaspu pilno',
 'diff' => 'te frica',
 'hist' => 'galfi plivei',
-'hide' => 'Toljarco',
+'hide' => 'cancygau',
 'show' => 'Jarco',
 'minoreditletter' => 'm',
 'newpageletter' => 'n',
 'boteditletter' => 'z',
+'rc-enhanced-expand' => 'zganygau lo tcila',
 
 # Recent changes linked
 'recentchangeslinked' => 'lo srana nu gasnu',
@@ -300,8 +310,8 @@ $messages = array(
 'recentchangeslinked-page' => 'to ckupau cmene toi',
 
 # Upload
-'upload' => 'benji pa vreji',
-'uploadbtn' => 'benji pa vreji',
+'upload' => 'benji lo pa vreji',
+'uploadbtn' => 'benji lo pa vreji',
 'filedesc' => 'to ve skicu toi',
 
 # File description page
@@ -401,6 +411,8 @@ $messages = array(
 'tooltip-pt-login' => "e'u do co'a pilno lo jaspu ije ku'i do na bilga",
 'tooltip-pt-logout' => "co'u se jaspu",
 'tooltip-ca-talk' => 'lo nu casnu lo se vasru be lo dei ckupau',
+'tooltip-ca-history' => 'lo purci versio be lo dei papri',
+'tooltip-ca-protect' => 'bandu lo dei papri',
 'tooltip-ca-delete' => 'vimcu lo vi ckupau',
 'tooltip-ca-move' => 'ko galfi lo cmene be lo vi ckupau',
 'tooltip-ca-watch' => 'jmive lo dei ckupau lo se zgana liste pe do',
@@ -411,14 +423,15 @@ $messages = array(
 'tooltip-n-mainpage' => 'vitke lo ralju ckupau',
 'tooltip-n-mainpage-description' => 'vitke lo ralju ckupau',
 'tooltip-n-portal' => "srana lo dei proiekto je zo'e noi ka'e se zukte do vau je lo stuzi be lo plixau info",
-'tooltip-n-recentchanges' => "liste lo puzi nunstika vreji be bu'u lo vi uitke",
+'tooltip-n-recentchanges' => "liste lo vreji be lo nu puzi stika bu'u lo dei uitki",
 'tooltip-n-randompage' => 'jarco lo cunso ckupau',
 'tooltip-n-help' => 'sidju kibypapri',
 'tooltip-t-whatlinkshere' => "nu liste lo zifyga'ikibjudri poi ke'a kibjorne le vi ckupau",
 'tooltip-t-recentchangeslinked' => "lo puzi nunga'i pe lo kibypapri poi kibjorne le vi ckupau",
-'tooltip-t-upload' => 'benji lo vreji',
+'tooltip-t-upload' => 'benji lo pa vreji',
 'tooltip-t-specialpages' => 'liste ro steci ckupau',
 'tooltip-t-print' => 'lo prina versio be lo dei ckupau',
+'tooltip-t-permalink' => 'lo stodi judri be lo dei versio be lo dei papri',
 'tooltip-ca-nstab-main' => 'catlu lo se vasru ckupau',
 'tooltip-ca-nstab-project' => 'cpacu lo gungunma ckupau',
 'tooltip-ca-nstab-image' => 'catlu lo ckupau pe lo vreji',
@@ -429,6 +442,13 @@ $messages = array(
 # Info page
 'pageinfo-toolboxlink' => 'lo info be lo ckupau',
 
+# Bad image list
+'bad_image_list' => "lo formate cu jai ve ciksi do'e di'e
+
+i lo po'o liste cmima (to lo linji poi zo'oi * cu pamoi lerfu ke'a) cu se pilno
+i lo pamoi ke linji judrysni cu ei judrysni lo jai se curmi nai fail
+i ro lo se lidne judrysni pe lo bi'unai linji cu nai jai se javni vau je va'i me lo papri poi lo fail sinxa ka'e zvati lo bi'unai linji",
+
 # 'all' in various places, this might be different for inflected languages
 'watchlistall2' => "ro co'e",
 'namespacesall' => "ro co'e",
@@ -437,4 +457,7 @@ $messages = array(
 # Special:SpecialPages
 'specialpages' => 'steci ckupau',
 
+# Feedback
+'feedback-cancel' => 'naljetnygau',
+
 );
index ad51c0e..9b61005 100644 (file)
@@ -19,16 +19,13 @@ $fallback = 'da';
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Understreg henvesnenger',
-'tog-justify' => 'Ves ertikler ve lege margener',
 'tog-hideminor' => "Skjul mendre ændrenger i'n liste åver seneste ændrenger",
 'tog-extendwatchlist' => 'Udvedet liste ve seneste ændrenger',
 'tog-usenewrc' => 'Førbedret liste åver seneste ændrenger (JavaScript)',
 'tog-numberheadings' => 'Åtåmatisk nåmererenge åf åverskrefter',
 'tog-showtoolbar' => 'Ves værktøjslenje til redigærenge (JavaScript)',
 'tog-editondblclick' => 'Redigær sider ve dåbeltklik (JavaScript)',
-'tog-editsection' => 'Redigær åfsnet ve hjælp åf [redigær]-henvesnenger',
 'tog-editsectiononrightclick' => 'Redigær åfsnet ve at klikke på deres titler (JavaScript)',
-'tog-showtoc' => 'Ves endholtsførtegnelse (i artikler ve mære end tre åfsnet)',
 'tog-rememberpassword' => 'Husk adgengskode til næste besøĝ frå denne kompjuter (for a maximum of $1 {{PLURAL:$1|day|days}})',
 'tog-watchcreations' => 'Tilføj sider a åpretter til miin åvervågnengsliste',
 'tog-watchdefault' => 'Tilføj sider a redigærer til miin åvervågnengsliste',
@@ -37,7 +34,6 @@ $messages = array(
 'tog-minordefault' => 'Markær søm standård ål redigærenge søm mendre',
 'tog-previewontop' => 'Ves førhåndsvesnenge åver æ rædigerengsboks',
 'tog-previewonfirst' => 'Ves førhåndsvesnenge når du stårtst ve at redigære',
-'tog-nocache' => 'Slå caching åf sider frå',
 'tog-enotifwatchlistpages' => 'Send mig en e-mail ve sideændrenger',
 'tog-enotifusertalkpages' => 'Send mig en e-mail når miin brugerdiskusjeside ændres',
 'tog-enotifminoredits' => 'Send mig også en e-mail ve mendre ændrenger åf åvervågede sider',
@@ -416,7 +412,6 @@ hersenenge, (førge) = førskel til den førge hersenenge, l = lile til mendre 
 'lineno' => 'Lenje $1:',
 'compareselectedversions' => 'Sammenlign valgte hersenenger',
 'editundo' => 'baĝgøt',
-'diff-multi' => '(Æ hersenengssammenlegnenge vetåger {{PLURAL:$1|en mellemleggende hersenenge|$1 mellemleggende hersenenger}}.)',
 
 # Search results
 'prevn' => 'førge {{PLURAL:$1|$1}}',
@@ -445,7 +440,6 @@ hersenenge, (førge) = førskel til den førge hersenenge, l = lile til mendre 
 'nchanges' => '$1 {{PLURAL:$1|ændrenge|ændrenger}}',
 'recentchanges' => 'Seneste ændrenger',
 'recentchanges-feed-description' => 'Ve dette fiid ken du følge de seneste ændrenger på {{SITENAME}}.',
-'rcnote' => "Herunder ses {{PLURAL:$1|'''1''' ændrenge|de sedste '''$1''' ændrenger}} frå {{PLURAL:$2|i dåg|de sedste '''$2''' dåg}}, søm i $3.",
 'rcnotefrom' => "Nedenfør ses ændrengerne frå '''$2''' til '''$1''' vest.",
 'rclistfrom' => 'Ves nye ændrenger startende frå $1',
 'rcshowhideminor' => '$1 lile ændrenger',
index e1bdf8a..670622c 100644 (file)
@@ -706,6 +706,9 @@ Please wait $1 before trying again.',
 'login-abort-generic' => 'თქვენი ავტორიზაცია წარუმატებელია – გაუქმდა',
 'loginlanguagelabel' => 'ენა: $1',
 'suspicious-userlogout' => 'თქვენი მოთხოვნა გასვლის შესახებ გაუქმებულია, რადგანაც იგი გავს ქეშირებადი პროქსის ან არაკორექტული ბრაუზერის მოთხოვნას.',
+'pt-login' => 'შესვლა',
+'pt-createaccount' => 'ანგარიშის შექმნა',
+'pt-userlogout' => 'გასვლა',
 
 # Email sending
 'php-mail-error-unknown' => 'ამოუცნობი შეცდომა PHP-ის mail() ფუნქციაში',
@@ -722,6 +725,7 @@ Please wait $1 before trying again.',
 'retypenew' => 'ახალი პაროლი განმეორებით:',
 'resetpass_submit' => 'მიუთითეთ პაროლი და დარეგისტრირდით',
 'changepassword-success' => 'თქვენი პაროლი წარმატებით შეიცვალა!',
+'changepassword-throttled' => 'თქვენ განახორციელეთ ანგარიშში შესვლის ზედმეტად ბევრი მცდელობა. გამორებით შეყვანამდე გთხოვთ დაიცადოთ $1.',
 'resetpass_forbidden' => 'პაროლის შეცვლა შეუძლებელია',
 'resetpass-no-info' => 'კონკრეტულად ამ გვერდთან სამუშაოდ თქვენ უნდა წარადგინოთ თავი სისტემისადმი.',
 'resetpass-submit-loggedin' => 'პაროლის შეცვლა',
index f76e23d..2ca7a4e 100644 (file)
@@ -1,5 +1,5 @@
 <?php
-/** Kazakh (Ò\9aазақша)
+/** Kazakh (Ò\9bазақша)
  *
  * See MessagesQqq.php for message documentation incl. usage of parameters
  * To improve a translation please visit http://translatewiki.net
@@ -19,31 +19,36 @@ $messages = array(
 'nstab-main' => 'Мақала',
 
 # Edit pages
-'edittools' => '<!-- Мындағы мәтін өңдеу және қотару пішіндердің астында көрсетіледі. -->',
+'edittools' => '<!-- Мындағы мәтін өңдеу және жүктеу пішіндердің астында көрсетіледі. -->',
+'editwarning-warning' => 'Басқа бетке өтсеңіз сіздің жазған соңғы өңдемелеріңіз жойылуы мүмкін. 
+Егер сiз жүйеде тiркелсеңiз, онда сiз баптауларыңыздағы «{{int:prefs-editing}}» бөлігіне кіріп, бұл ескертуді өшіре аласыз.',
 
 # Search results
 'searchmenu-new' => "'''\"[[:\$1]]\" осындай атпен бетті бастау'''",
 
 # Statistics
-'statistics-header-pages'      => 'Беттер бойынша статистика',
-'statistics-header-edits'      => 'Өңдеулер статистикасы',
-'statistics-articles'          => 'Мақалалар саны',
-'statistics-pages'             => 'Беттер',
-'statistics-pages-desc'        => 'Уикидегі барлық беттер, талқылау беттерді, айдатқыштарды қосқандағы және тағы басқалары.',
-'statistics-files'             => 'Жүктелген файлдар',
-'statistics-edits'             => 'Барлық өңдеулер саны',
-'statistics-edits-average'     => 'Әр бетке шаққанда өңдеулердің орташа саны',
-'statistics-users'             => 'Тіркелген қатысушылар',
-'statistics-users-active'      => 'Белсенді қатысушылар',
+'statistics-header-pages' => 'Беттер бойынша статистика',
+'statistics-header-edits' => 'Өңдеулер статистикасы',
+'statistics-articles' => 'Мақалалар саны',
+'statistics-pages' => 'Беттер',
+'statistics-pages-desc' => 'Уикидегі барлық беттер, талқылау беттерді, айдатқыштарды қосқандағы және тағы басқалары.',
+'statistics-files' => 'Жүктелген файлдар',
+'statistics-edits' => 'Барлық өңдеулер саны',
+'statistics-edits-average' => 'Әр бетке шаққанда өңдеулердің орташа саны',
+'statistics-users' => 'Тіркелген қатысушылар',
+'statistics-users-active' => 'Белсенді қатысушылар',
 'statistics-users-active-desc' => 'Соңғы {{PLURAL:$1|күнде|$1 күнде}} қандай да бір іс-әрекет жасаған қатысушылар',
 
 # Variants for Kazakh language
-'variantname-kk-kz'   => 'disable',
-'variantname-kk-tr'   => 'disable',
-'variantname-kk-cn'   => 'disable',
+'variantname-kk-kz' => 'disable',
+'variantname-kk-tr' => 'disable',
+'variantname-kk-cn' => 'disable',
 'variantname-kk-cyrl' => 'Кирил',
 'variantname-kk-latn' => 'Latın',
 'variantname-kk-arab' => 'توتە',
-'variantname-kk'      => 'disable',
+'variantname-kk' => 'disable',
+
+# New logging system
+'logentry-delete-delete' => '$1 $3 бетін жойды',
 
 );
index aeffcb8..777ac81 100644 (file)
@@ -70,12 +70,12 @@ $messages = array(
 'dec' => 'дек',
 
 # Categories related messages
-'pagecategories' => '{{PLURAL:$1|Категория|Категория}}',
+'pagecategories' => '{{PLURAL:$1|1=Категория|Категория}}',
 'category_header' => '"$1" категорияын листбоккез',
 'subcategories' => 'Поснитжык категорияэз',
 'category-media-header' => '"$1" категорияись файллэз',
 'category-empty' => 'Этiя категорияын öнi нем абу',
-'hidden-categories' => '{{PLURAL:$1|Сайöвтöм категория|Сайöвтöм категорияэз}}',
+'hidden-categories' => '{{PLURAL:$1|1=Сайöвтöм категория|Сайöвтöм категорияэз}}',
 'hidden-category-category' => 'Сайöвтöм категорияэз',
 'category-subcat-count' => '{{PLURAL:$2|Этiя категорияын дзир öтiк субкатегория.|{{PLURAL:$1|Мыччалöма $1 субкатегория}}  $2-ись.}}',
 'category-subcat-count-limited' => 'Этiя категорияын {{PLURAL:$1|$1 субкатегория|$1 субкатегория|$1 субкатегория}}',
@@ -206,7 +206,7 @@ $messages = array(
 'yourname' => 'Уджкерисьлöн пыран ним:',
 'yourpassword' => 'Пароль:',
 'yourpasswordagain' => 'Мöдпöвсьöтны пароль',
-'remembermypassword' => 'Видзны менчим пыран ним этiя компьютер тöдвылын (не дыржык {{PLURAL:$1| лунся|лунся}})',
+'remembermypassword' => 'Видзны менчим пыран ним этiя компьютер тöдвылын (не дыржык {{PLURAL:$1|1= лунся|лунся}})',
 'login' => 'Пырны ним увтын',
 'nav-login-createaccount' => 'Пыран / гижöтчан',
 'userlogin' => 'Висьтасьны нето гижöтчыны',
@@ -274,12 +274,12 @@ $messages = array(
 'yourtext' => 'Текстыт',
 'yourdiff' => 'Неöткодьыс',
 'copyrightwarning' => "Тöд: текстас быдöс содтöттэз нето мöдкодьсьöтöммез  йöзöтсьöны лэдзöг $2 под вылын (видзöт $1). Он ко мöд,  медбы тексттэтö унаöтлiсö нето мöдкодьсьöтлiсö йöзыс,  эн и пукты нiйö татчö.   <br /> Этася тэ кыв сетан миянлö,  ачым пö лоа авторöн пыртан содтöттэзлiсь, нето босьта пö нiйö öшмöсiсь, кöда оз öв пытшкöссö одзлань йöзöтöмись да мöдкодьсьöтöмись.  <br /> '''ЭН ПУКТЫ ЮАСЬТÖГ ТАТЧÖ  АВТОРЛÖ ПОЗЬÖМ СЬÖРТI ДОРЙÖМ МАТЕРИАЛЛЭЗ!'''",
-'templatesused' => 'Этiя листбок вылiсь {{PLURAL:$1|шаблон|шаблоннэз}}:',
-'templatesusedpreview' => 'Одзвыв нёджалан листбок вылiсь {{PLURAL:$1|шаблон|шаблоннэз}}:',
+'templatesused' => 'Этiя листбок вылiсь {{PLURAL:$1|1=шаблон|шаблоннэз}}:',
+'templatesusedpreview' => 'Одзвыв нёджалан листбок вылiсь {{PLURAL:$1|1=шаблон|шаблоннэз}}:',
 'template-protected' => '(дорйöм)',
 'template-semiprotected' => '(мымдакö дорйöм)',
-'hiddencategories' => 'Этiя листбок пырö $1 {{PLURAL:$1|сайöвтöм категория|сайöвтöм категория|сайöвтöм категорияэз}} коласö:',
-'permissionserrorstext-withaction' => 'Тэныт оз позь керны $2 то {{PLURAL:$1|мыля|мыля}}:',
+'hiddencategories' => 'Этiя листбок пырö $1 {{PLURAL:$1|сайöвтöм категория|сайöвтöм категорияэз|сайöвтöм категория}} коласö:',
+'permissionserrorstext-withaction' => 'Тэныт оз позь керны $2 то {{PLURAL:$1|1=мыля|мыля}}:',
 
 # History pages
 'viewpagelogs' => 'Мыччавны журналлэз этiя листбок понда',
@@ -327,7 +327,7 @@ $messages = array(
 'searchprofile-everything' => 'Быдлаись',
 'searchprofile-articles-tooltip' => 'Кошшан $1ын',
 'searchprofile-project-tooltip' => 'Кошшан $1ын',
-'search-result-size' => '$1 ({{PLURAL:$2|1 кыв|$2 кыв}})',
+'search-result-size' => '$1 ({{PLURAL:$2|1=1 кыв|$2 кыв}})',
 'search-redirect' => '(иньдöтöм $1 вылiсь)',
 'search-section' => '(юкöт № $1)',
 'search-suggest' => 'Поди  колö $1',
@@ -361,7 +361,7 @@ $messages = array(
 'yourlanguage' => 'Кыв:',
 'yournick' => 'Виль кырымпас:',
 'badsiglength' => 'Кырымпасыт кузьöв.
-Сылö оз туй лоны $1 {{PLURAL:$1|шыпасся|шыпасся}} кузьжык.',
+Сылö оз туй лоны $1 {{PLURAL:$1|1=шыпасся|шыпасся}} кузьжык.',
 'gender-unknown' => 'Мыччавтöм',
 'gender-male' => 'Айка',
 'gender-female' => 'Инька',
@@ -427,7 +427,7 @@ $messages = array(
 'filehist-dimensions' => 'Ыжда',
 'filehist-comment' => 'Пасйöт',
 'imagelinks' => 'Файл дынö ыстöттэз',
-'linkstoimage' => '{{PLURAL:$1|Сэтшöм листбок|$1 Сэтшöм листбоккез}} ыстiсьö(ны) этiя файл вылö:',
+'linkstoimage' => '{{PLURAL:$1|1=Сэтшöм листбок|$1 Сэтшöм листбоккез}} ыстiсьö(ны) этiя файл вылö:',
 'sharedupload' => 'Этiя файл $1-ись да вермас овны и мöдiк проекттэзын',
 'uploadnewversion-linktext' => 'Кышавны этiя файллiсь виль версия',
 
@@ -443,7 +443,7 @@ $messages = array(
 'brokenredirects-delete' => 'чышкыны',
 
 # Miscellaneous special pages
-'nbytes' => '$1 {{PLURAL:$1|байт|байт}}',
+'nbytes' => '$1 {{PLURAL:$1|1=байт|байт}}',
 'nmembers' => '$1 {{PLURAL:$1|объект|объект|объект}}',
 'prefixindex' => 'Листбок ниммезлiсь пондöтчаннэз мыччалан',
 'shortpages' => 'Дженыт листбоккез',
@@ -453,8 +453,8 @@ $messages = array(
 'ancientpages' => 'Медваж листбоккез',
 'move' => 'Вежны ним',
 'movethispage' => 'Вежны листбокыслiсь ним',
-'pager-newer-n' => '{{PLURAL:$1|вильжык 1|вильжык $1}}',
-'pager-older-n' => '{{PLURAL:$1|важжык 1|важжык $1}}',
+'pager-newer-n' => '{{PLURAL:$1|1=вильжык 1|вильжык $1}}',
+'pager-older-n' => '{{PLURAL:$1|1=важжык 1|важжык $1}}',
 
 # Book sources
 'booksources' => 'Небöггез-öшмöссэз',
@@ -531,7 +531,7 @@ $messages = array(
 'protect-text' => "Татöн тэ верман видзöтны да вежны '''$1''' листбок понда дорьян тшупöт.",
 'protect-locked-access' => "Уджкерисьлöн нимыт оз тырмы, мед вежны листбокыслiсь дорьян тшупöт.
 Öння лöсьöтаннэз '''$1''' листбок понда:",
-'protect-cascadeon' => 'Этiя листбокыс дорйöм, мыля сiя пыртöм улынжык висьталöм {{PLURAL:$1|листбокö|листбокö}}, кытчö лöсьöтöм каскад нёж дорьян.
+'protect-cascadeon' => 'Этiя листбокыс дорйöм, мыля сiя пыртöм улынжык висьталöм {{PLURAL:$1|1=листбокö|листбокö}}, кытчö лöсьöтöм каскад нёж дорьян.
 Тэ верман вежны этiя листбоклiсь дорьян тшупöт, но каскад нёж дорьян сысянь оз вежсьы.',
 'protect-default' => 'Дорйытöм',
 'protect-fallback' => 'Колö мед лэдзис «$1»',
index 7911f3e..6e1eba9 100644 (file)
 
 $messages = array(
 # User preference toggles
-'tog-justify' => 'jostifai di paragraf-dem',
-'tog-hideminor' => 'Haid di lili chenj-dem na di risent chenj list',
-'tog-extendwatchlist' => 'Big di wachlist fo sho ol di chenj-dem,  pas di risent chenj-dem nomo',
+'tog-hideminor' => 'Haid dhi lili chenjdèm na dhi risent chenj list',
+'tog-extendwatchlist' => 'Big dhi wachlist fòrsho òll dhi chenjdèm,  pas dhi risènt chenjdèm nòmòr',
 
 # Dates
-'sunday' => 'Sonde',
-'monday' => 'Monde',
-'tuesday' => 'Tyuzde',
-'wednesday' => 'Wenzde',
-'thursday' => 'Tozde',
-'friday' => 'Fraide',
-'saturday' => 'Satide',
-'sun' => 'Son',
-'mon' => 'Mon',
-'tue' => 'Tyu',
-'wed' => 'Wen',
-'thu' => 'Toz',
-'fri' => 'Frai',
+'sunday' => 'Sandey',
+'monday' => 'Mundey',
+'tuesday' => 'Tyrdey',
+'wednesday' => 'Wodèndey',
+'thursday' => 'Thòrdey',
+'friday' => 'Freyadey',
+'saturday' => 'Satùrndey',
+'sun' => 'San',
+'mon' => 'Mun',
+'tue' => 'Tyr',
+'wed' => 'Wod',
+'thu' => 'T',
+'fri' => 'Fre',
 'sat' => 'Sat',
-'january' => 'Janyuari',
-'february' => 'Febyuari',
-'march' => 'Mach',
-'april' => 'Epril',
+'january' => 'Januari',
+'february' => 'Februari',
+'march' => 'March',
+'april' => 'April',
 'may_long' => 'Mey',
 'june' => 'Jun',
-'july' => 'Julai',
-'august' => 'Ogost',
-'september' => 'Septemba',
-'october' => 'Oktoba',
-'november' => 'Novemba',
-'december' => 'Disemba',
-'january-gen' => 'Janyuari',
-'february-gen' => 'Febyuari',
-'march-gen' => 'Mach',
-'april-gen' => 'Epril',
+'july' => 'Julay',
+'august' => 'Augùst',
+'september' => 'Sèptèmbar',
+'october' => 'Òktobar',
+'november' => 'Novèmbar',
+'december' => 'Dèsèmbar',
+'january-gen' => 'Januari',
+'february-gen' => 'Fèbruari',
+'march-gen' => 'March',
+'april-gen' => 'April',
 'may-gen' => 'Mey',
 'june-gen' => 'Jun',
-'july-gen' => 'Julai',
-'august-gen' => 'Ogost',
-'september-gen' => 'Septemba',
-'october-gen' => 'Oktoba',
-'november-gen' => 'Novemba',
-'december-gen' => 'Disemba',
+'july-gen' => 'Julay',
+'august-gen' => 'Augùst',
+'september-gen' => 'Sèptèmbar',
+'october-gen' => 'Òktobar',
+'november-gen' => 'Novèmbar',
+'december-gen' => 'Dèsèmbar',
 'jan' => 'Jan',
-'feb' => 'Feb',
-'mar' => 'Mach',
-'apr' => 'Epr',
+'feb' => 'Fèb',
+'mar' => 'Mar',
+'apr' => 'Apr',
 'may' => 'Mey',
 'jun' => 'Jun',
 'jul' => 'Jul',
-'aug' => 'Og',
-'sep' => 'Sep',
-'oct' => 'Okt',
+'aug' => 'Aug',
+'sep' => 'Sèp',
+'oct' => 'Òkt',
 'nov' => 'Nov',
-'dec' => 'Dis',
+'dec' => 'Dès',
 
 # Categories related messages
-'pagecategories' => '{{PLURAL:$1|Katigori|Katigori-dem}}',
-'category_header' => 'Pej-dehm we de na katigori "$1"',
-'subcategories' => 'Sobkatigori-dem',
-'category-media-header' => 'Midya we de na katigori "$1"',
-'category-empty' => "''Dis katigori-ya no get no pej o midya fo naw.''",
-'hidden-categories' => '{{PLURAL:$1|Katigori we dem don haid|Katigori-dem we dehm don haid}}',
+'pagecategories' => '{{PLURAL:$1|Katigori|Katigorim}}',
+'category_header' => 'Pejdèm we de na katègòri "$1"',
+'subcategories' => 'Ùndarkatègòridèm',
+'category-media-header' => 'Media na katègòri "$1"',
+'category-empty' => "''Dhis katègòri hyar nò gèt nò pej òr media fòr naw.''",
+'hidden-categories' => '{{PLURAL:$1|Katègòri dèndònhaid|Katègòridèm dèndònhaid}}',
 
 'cancel' => 'Kansul',
 'mytalk' => 'Mi Tok',
-'navigation' => 'Navigeshon',
+'navigation' => 'Navigatio',
 
 # Cologne Blue skin
-'qbedit' => 'Edit',
-'faq' => 'Kwestyon we dem de aks boku',
-'faqpage' => 'Project:Kwehstyohn-dehm we ohlman de aks',
+'qbedit' => 'Èdit',
+'faq' => 'Kwèstiòn dèndeaks bòku',
+'faqpage' => 'Projèkt:Kuèstiòndèm we òllman de ask',
 
 # Vector skin
 'vector-action-move' => 'Muf',
 'vector-view-edit' => 'Chenj',
-'vector-view-history' => 'Luk histri',
+'vector-view-history' => 'Luk historia',
 'vector-view-view' => 'Rid',
-'vector-view-viewsource' => 'Luk di sos',
-'actions' => 'Akshon-dem',
-'namespaces' => 'Nemspes-dem',
-
-'errorpagetitle' => 'Problem',
-'returnto' => 'Go bak tu $1.',
-'tagline' => 'Dis komot {{SITENAME}}',
-'help' => 'Hep',
-'search' => 'Luk fo',
-'searchbutton' => 'Luk fo',
+'vector-view-viewsource' => 'Luk dhi sòrs',
+'actions' => 'Actiòndèm',
+'namespaces' => 'Nemspasiodèm',
+
+'errorpagetitle' => 'Èrròr',
+'returnto' => 'Go bak $1.',
+'tagline' => 'Dhis kòmòt {{SITENAME}}',
+'help' => 'Hèp',
+'search' => 'Luk fòr',
+'searchbutton' => 'Luk fòr',
 'go' => 'Go',
 'searcharticle' => 'Go',
-'history' => 'Pej-im histri',
-'history_short' => 'Histri',
-'updatedmarker' => 'wetin dem don opdet from we A las vizit',
-'printableversion' => 'Vazhon fo Print',
-'permalink' => 'Pamanent link',
+'history' => 'Pejim historia',
+'history_short' => 'Historia',
+'updatedmarker' => 'wethin dèndònùpdat fròm we a las visit',
+'printableversion' => 'Printebul versiòn',
+'permalink' => 'Pèrmanènt link',
 'print' => 'Print',
-'edit' => 'Edit',
-'create' => 'Mek',
-'editthispage' => 'Edit dis pej-ya',
-'create-this-page' => 'Mek dis pej-ya',
-'delete' => 'Dilit',
-'deletethispage' => 'Dilit dis pej-ya',
-'protect' => 'Protekt',
+'edit' => 'Èdit',
+'create' => 'Kreat',
+'editthispage' => 'Èdit dhis pej',
+'create-this-page' => 'Mek dhis pej',
+'delete' => 'Dèlet',
+'deletethispage' => 'Dèlet dhis pej hyar',
+'protect' => 'Protèkt',
 'protect_change' => 'chenj',
-'protectthispage' => 'Protekt dis pej-ya',
-'talkpagelinktext' => 'Tok',
-'specialpage' => 'Speshal Pej',
-'personaltools' => 'Pasonal tul-dèm',
-'postcomment' => 'Nyu sekshon',
-'articlepage' => 'Luk kontent pej',
-'talk' => 'Diskoshon',
-'views' => 'Vyu-dem',
+'protectthispage' => 'Protèkt dhis pej',
+'talkpagelinktext' => 'Tòk',
+'specialpage' => 'Spèsial Pej',
+'personaltools' => 'Pèrsònal tuldèm',
+'postcomment' => 'Nyu sèktiòn',
+'articlepage' => 'Luk kòntènt pej',
+'talk' => 'Diskùssiòn',
+'views' => 'Vyum',
 'toolbox' => 'Tulboks',
-'userpage' => 'Luk dis yuza-im pej',
-'otherlanguages' => 'Na oda langwej-dem',
-'jumpto' => 'Jomp go:',
-'jumptonavigation' => 'navigeshon',
-'jumptosearch' => 'Luk fo',
+'userpage' => 'Luk dhis yuzmanim pej',
+'otherlanguages' => 'Na òdhar Tòkdèm',
+'jumpto' => 'Jùmp go:',
+'jumptonavigation' => 'Navigatio',
+'jumptosearch' => 'Luk fòr',
 
 # All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
-'aboutsite' => 'Na bot {{SITENAME}}',
-'aboutpage' => 'Project:Na bot',
+'aboutsite' => 'Na bòt {{SITENAME}}',
+'aboutpage' => 'Project:Na bòt',
 'copyright' => 'Dis kontent de onda $1 .',
-'currentevents' => 'Korent ivent-dem',
-'currentevents-url' => 'Project:Korent ivent-dem',
-'disclaimers' => 'Disklema-dem',
-'disclaimerpage' => 'Project:Jeneral disklema',
-'edithelp' => 'Advais foh we yu wan fo edit',
-'helppage' => 'Help:Kontent-dem',
+'currentevents' => 'Kùrrènt evèntdèm',
+'currentevents-url' => 'Projèkt:Kùrrènt evèntdèm',
+'disclaimers' => 'Disklamardèm',
+'disclaimerpage' => 'Projèkt:Jènèral disklamar',
+'edithelp' => 'Èdithèp',
+'helppage' => 'Help:Kòntèntdèm',
 'mainpage' => 'Men Pej',
 'mainpage-description' => 'Men Pej',
-'policy-url' => 'Project:Polisi',
-'portal' => 'Mitin-ples fo yuza-dem',
-'portal-url' => 'Project:Mitin-ples fo yuza-dem',
-'privacy' => 'Polisi fo Praivesi',
-'privacypage' => 'Project:Polisi fo praivesi',
-
-'badaccess' => 'Pamishon problem',
-'badaccess-group0' => 'Yu no get pamishon foh du wetin yu jos chuz',
-'badaccess-groups' => 'Na di yuza-dem we don join {{PLURAL:$2|di grup|wan pa di grup-dem}}: $1 nomo ebul du wetin yu jos chuz.',
-
-'versionrequired' => 'Yu nid MediaWiki Vazhon $1',
-'versionrequiredtext' => 'Yu nid MediaWiki Vazhon $1 foh yuz dis pej-ya.
+'policy-url' => 'Project:Pòlisia',
+'portal' => 'Kòmmunitaspòrtal',
+'portal-url' => 'Project:Kòmmunitaspòrtal',
+'privacy' => 'Privasiapòlisia',
+'privacypage' => 'Project:Privasiapòlisia',
+
+'badaccess' => 'Permisshòn problèm',
+'badaccess-group0' => 'Yu nò gèt permisshòn fòdu wetin yu jùs chuz',
+'badaccess-groups' => 'Na dhi yuzmandèm we dònjoin {{PLURAL:$2|dhi grup|wan pan dhi grupdèm}}: $1 nòmòr ebul du wetin yu jùs chuz.',
+
+'versionrequired' => 'Yu nid MediaWiki Version $1',
+'versionrequiredtext' => 'Yu nid MediaWiki Versiòn $1 fòyuz dhis pej.
 Luk [[Special:Version|version page]].',
 
 'ok' => 'OK',
 'pagetitle-view-mainpage' => ' 
 {{SAITNEM}}',
-'retrievedfrom' => 'Dem ritriv am na"$1"',
-'youhavenewmessages' => 'Yu get $1 ($2).',
-'editsection' => 'edit',
-'editold' => 'chenj',
-'viewsourceold' => 'Luk di sos',
-'editlink' => 'edit',
-'viewsourcelink' => 'luk di sos',
-'editsectionhint' => 'edit sekshon: $1',
-'toc' => 'Kontent-dem',
+'retrievedfrom' => 'Dèndònritriv am na"$1"',
+'youhavenewmessages' => 'Yu gèt $1 ($2).',
+'editsection' => 'èdit',
+'editold' => 'èdit',
+'viewsourceold' => 'Luk dhi sòrs',
+'editlink' => 'èdit',
+'viewsourcelink' => 'luk dhi sòrs',
+'editsectionhint' => 'Èditsektiòn: $1',
+'toc' => 'Kòntèntdèm',
 'showtoc' => 'sho',
 'hidetoc' => 'haid',
-'thisisdeleted' => 'Luk wetin i bi naw o tohn am bak tu wetin i bin bi bifo $1?',
+'thisisdeleted' => 'Luk wetin i bi naw òr tùrn am bak tu wetin i binbi bifor $1?',
 'viewdeleted' => 'Luk am $1?',
-'restorelink' => '{{PLURAL:$1|wan chenj we dehm dohn ires|$1 chenj-dehm we dehm dohn ires}}',
-'feedlinks' => 'Feed:',
+'restorelink' => '{{PLURAL:$1|wan chenj we dèndònires|$1 chenjdèm we dèndònires}}',
+'feedlinks' => 'Fid:',
 'site-rss-feed' => '$1 RSS Fid',
 'site-atom-feed' => '$1 Atom Fid',
-'red-link-title' => '$1 (pej no de)',
+'red-link-title' => '$1 (pej nò de)',
 
 # Short words for each namespace, by default used in the namespace tab in monobook
 'nstab-main' => 'Pej',
-'nstab-user' => 'Yuza-im Pej',
-'nstab-media' => 'Midya Pej',
-'nstab-special' => 'Speshal Pej',
-'nstab-project' => 'Projekt Pej',
+'nstab-user' => 'Yuzmanim Pej',
+'nstab-media' => 'Media Pej',
+'nstab-special' => 'Speshial Pej',
+'nstab-project' => 'Projèkt Pej',
 'nstab-image' => 'Fail',
-'nstab-mediawiki' => 'Mesej',
-'nstab-template' => 'Templet',
-'nstab-help' => 'Advais pej',
-'nstab-category' => 'Katigori',
+'nstab-mediawiki' => 'Mèssej',
+'nstab-template' => 'Tèmplat',
+'nstab-help' => 'Hèppej',
+'nstab-category' => 'Katègòri',
 
 # Main script and global functions
-'nosuchaction' => 'Da kain akshon no de',
-'nosuchactiontext' => 'Di wiki no de ondastan di akshon we di URL tel am fo du',
-'nosuchspecialpage' => 'Da kain spehshal pej noh de',
+'nosuchaction' => 'Dha kain aktiòn nò de',
+'nosuchactiontext' => 'Dhi wiki nò de ùndarstan dhi aktiòn we dhi URL tèll am fòdu',
+'nosuchspecialpage' => 'Dha kain spèshial pej nò de',
 
 # General errors
-'viewsource' => 'Luk di sos',
+'viewsource' => 'Luk dhi sòrs',
 
 # Login and logout pages
-'yourname' => 'Yuzanem:',
-'login' => 'Login',
-'nav-login-createaccount' => 'Login / Mek yu-yon akaunt',
-'loginprompt' => 'Yu get fo de yuz kuki-dem foh ebul fo login {{SITENAME}}.',
-'userlogin' => 'Login / Mek yu-yon akaunt',
-'logout' => 'Komot na di sait',
-'userlogout' => 'Komot na di sait',
-'notloggedin' => 'Yu no login yet',
-'nologin' => "Yu don mek yu akaunt? '''$1'''.",
-'nologinlink' => 'Mek yu-yon akaunt',
-'createaccount' => 'Mek yu-yon akaunt',
-'gotaccount' => "Yu dohn mek yu yuza login? '''$1'''.",
-'gotaccountlink' => 'Login',
+'yourname' => 'Yuzmannem:',
+'login' => 'Lògin',
+'nav-login-createaccount' => 'Lògin / Mek yu yon akkaunt',
+'loginprompt' => 'Yu gèt fòde yuz kukidèm fòr ebul fòrlogin {{SITENAME}}.',
+'userlogin' => 'Lògin / Mek yu yon akkaunt',
+'logout' => 'Lòg-kòmòt',
+'userlogout' => 'Lòg-kòmòt',
+'notloggedin' => 'Yu nò lògin yet',
+'nologin' => "Yu dònmek yu akkaunt? '''$1'''.",
+'nologinlink' => 'Mek yu yon akkaunt',
+'createaccount' => 'Mek yu yon akkaunt',
+'gotaccount' => "Yu dònmek yu akkaunt? '''$1'''.",
+'gotaccountlink' => 'Lògin',
 'createaccountmail' => 'wit imel',
-'badretype' => 'Di paswohd-dehm we yu taip mach.',
-'userexists' => 'Oda pohsin de yuz da yuzanem de.
-Yu go geht fo pik difren wan.',
+'badretype' => 'Dhi passwòrddèm we yu taip nò mach.',
+'userexists' => 'Odhar pòrsin de yuz da yuzmannem.
+Yu gogèt fòrpik differènt wan.',
 
 # Edit pages
-'summary' => 'Somari:',
-'minoredit' => 'Dis na lili edit',
-'watchthis' => 'Wach dis pej-ya',
-'savearticle' => 'Sev dis pej-ya',
-'preview' => 'Privyu',
-'showpreview' => 'Luk di privyu',
-'showlivepreview' => 'Luk di laiv privyu',
-'showdiff' => 'Sho wetin don chenj',
-'anoneditwarning' => "'''Tek tem:''' Yu noh login yet.
-So dem go sev yu IP address na di pej-im editin histri",
-'missingsummary' => "'''Mehmba se:''' yu noh mek editin somari.
-If yu pres Sev bak, dem go sev yu edit nomo.",
-'missingcommenttext' => 'Rait yu koment onda ya',
+'summary' => 'Sùmmari:',
+'minoredit' => 'Dhis na lili èdit',
+'watchthis' => 'Wach dis pej',
+'savearticle' => 'Sev dis pej',
+'preview' => 'Prevyu',
+'showpreview' => 'Luk dhi prevyu',
+'showlivepreview' => 'Luk dhi laiv prevyu',
+'showdiff' => 'Sho wetin dònchenj',
+'anoneditwarning' => "'''Tek tèm o:''' Yu nò lògin yet.
+So dhèm go sev yu IP addrèss na dhi pejim èdithistoria",
+'missingsummary' => "'''Mèmbar se:''' yu nò mek èditsùmmari.
+If yu prèss sev bak, dhèm go sev yu èdit nòmor.",
+'missingcommenttext' => 'Rait yu kòmmènt ùndar hyar',
 'permissionserrorstext-withaction' => 'Yu no get pamishon fo $2, bikoz {{PLURAL:$1|rizin|rizin-dem}}:',
-'recreate-moveddeleted-warn' => "'''Tek tem!!: Yu de mek bak wan pej we dehm bin dohn ires.'''
+'recreate-moveddeleted-warn' => "'''Tek tèm o!!: Yu de mek bak wan pej we dhèm bin dòn ires.'''
 
-Yu sabi if yu foh wok pan dis pej-ya.
-Di log we dem kip foh dis pej-in dilishon de ya:",
+Yu sabi if yu fò work pan dhis pej ya.
+Dhi lòg we kip fòr dhis pejim delet de hyar:",
 'moveddeleted-notice' => 'Dehm dohn ires dis pej-ya.
 Di log we dehm kip foh dis pej-in dilishohn de ya:',
 'edit-hook-aborted' => 'Wan Hook don blok yu Edit.
@@ -247,6 +246,7 @@ I no eksplen wetin-mek.',
 Somtem dem don dilit am.',
 'edit-conflict' => 'Edit konflikt',
 'edit-no-change' => 'Wi no luk wetin yu chenj, bicoh yu no chenj wetin rait de.',
+'editwarning-warning' => 'If yu lèf dhis pej hyar sòmtèm yu go lòss òll dhi chenjdèm we yu dòn mek. If yu dòn lògin yu kin disebul dhis wòrnthin hyar na dhi "{{int:prefss-editing}}" sèkshòn na yu prèfèrèntiadèm',
 
 # History pages
 'last' => 'prev',
@@ -262,7 +262,6 @@ Somtem dem don dilit am.',
 
 # Diffs
 'editundo' => 'rivas wetin yu jos do',
-'diff-multi' => '({{PLURAL:$1|Wan intamidyet vazhon|$1 intamidyet vazhon-dem}} no de sho)',
 
 # Search results
 'searchresults' => 'Sach rizolt-dem',
@@ -423,7 +422,6 @@ Di [[Special:WhatLinksHere/$2|ful list]] de yah.',
 'tooltip-pt-preferences' => 'Yu prefrens-dem',
 'tooltip-pt-mycontris' => 'List ov yu kontribyushon-dem',
 'tooltip-pt-login' => 'I go bete if yu login, bot noto obligeshon',
-'tooltip-pt-anonlogin' => 'I go bete if yu login, bot noto obligeshon',
 'tooltip-pt-logout' => 'Log komot',
 'tooltip-ca-talk' => 'Diskoshon bot kontent pej',
 'tooltip-ca-edit' => 'Yu ebul fo edit dis pej-ya
index 263a6a0..f9219ee 100644 (file)
@@ -17,7 +17,6 @@
 $messages = array(
 # User preference toggles
 'tog-underline' => "Koritan ang dalum kang manga ''link'':",
-'tog-justify' => 'Tururupungun ang kilid kang manga paragraph',
 'tog-hideminor' => "Tagoon ang gagmay nga ''edit'' sa mga bag-o nga ilis",
 'tog-extendwatchlist' => "Palapadun ang ''watchlist'' agud nga mapakita ang tanan nga ginasogtan nga pag-ilis",
 'tog-numberheadings' => "Automatiko nga togroan kang nomero ang manga ''heading''",
@@ -28,7 +27,6 @@ $messages = array(
 'tog-watchmoves' => "Idogang sa akun nga ''watchlist'' ang manga pahina nga ginpanghalin ko",
 'tog-watchdeletion' => "Idogang sa akun nga ''watchlist'' ang manga pahina nga ginpamara ko",
 'tog-previewonfirst' => 'Ipakita ang preview sa ona nga ilis',
-'tog-nocache' => "Ontatun ang ''page caching''",
 'tog-enotifwatchlistpages' => 'Padarhan ako kang e-mail kon may nag-ilis kang pahina nga akun ginabantayan',
 'tog-enotifminoredits' => "Padarhan man ako kang ''e-mail'' tohay sa manga gagmay nga pag-ilis sa manga pahina",
 'tog-shownumberswatching' => "Ipakita ang karakuun kang manga ''user'' nga galantaw",
index 689a7ce..4523832 100644 (file)
@@ -801,6 +801,9 @@ Et süht us, wi wann ene kappodde Brauser udder <i lang=\"en\">proxy</i>ẞööv
 'createacct-another-realname-tip' => 'Dä reschteje Nahme kam_mer fott lohße.
 
 Wann dä aanjejovve es, weet_e jebruch, öm öffentlesch de Schriiver för Beidrääsch ze nänne.',
+'pt-login' => 'Enlogge',
+'pt-createaccount' => 'Ene neue Zohjang aanmälde',
+'pt-userlogout' => 'Ußlogge',
 
 # Email sending
 'php-mail-error-unknown' => 'Nit bekannte Fähler met dä Funxjohn <code lang="en">mail()</code> vum PHP',
index 9680f2a..04be9de 100644 (file)
@@ -1,5 +1,5 @@
 <?php
-/** ‫كوردي (عەرەبی)‬ (‫كوردي (عەرەبی)‬)
+/** كوردي (عەرەبی)‏ (كوردي (عەرەبی)‏)
  *
  * See MessagesQqq.php for message documentation incl. usage of parameters
  * To improve a translation please visit http://translatewiki.net
@@ -9,8 +9,10 @@
  *
  * @author Arastein
  * @author Asoxor
+ * @author Bonevarluri
  * @author George Animal
  * @author Marmzok
+ * @author Muhammed taha
  */
 
 $fallback = 'ckb';
@@ -37,16 +39,19 @@ $messages = array(
 
 # Dates
 'january' => 'کانوونی دووەم',
+'january-gen' => 'کانوونی دووەم',
 
 # Categories related messages
 'hidden-category-category' => 'هاوپۆلە شاردراوەکان',
 
 'talkpagelinktext' => 'لێدوان',
 
-# All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage) and the disambiguation template definition (see disambiguations).
+# All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
 'aboutsite' => 'دەربارەی {{SITENAME}}',
-'mainpage'  => 'دەستپێک',
+'mainpage' => 'دەستپێک',
+'mainpage-description' => 'دەستپێک',
 
+'youhavenewmessagesmulti' => 'شما یه گل پیغوم تازه د $1 داریتو',
 'red-link-title' => '$1 (پەڕە بوونی نییە)',
 
 );
index f204e22..6c4c8f6 100644 (file)
@@ -81,7 +81,7 @@ $messages = array(
 'december-gen' => 'ӧшым',
 
 # Categories related messages
-'pagecategories' => '{{PLURAL:$1|Категория|Категория}}',
+'pagecategories' => '{{PLURAL:$1|1=Категория|Категория}}',
 
 'article' => 'Гижӧд',
 'cancel' => 'Дугӧдны',
index 6ce7abd..7e35cdd 100644 (file)
@@ -188,7 +188,6 @@ $messages = array(
 'vector-action-protect' => 'Коргоо',
 'vector-action-undelete' => 'Калыбына келтирүү',
 'vector-action-unprotect' => 'Коргоону өзгөртүү',
-'vector-simplesearch-preference' => 'Жөнөкөйлөтүлгөн издөө сабын жандыруу («Вектор» темасында гана)',
 'vector-view-create' => 'Түзүү',
 'vector-view-edit' => 'Оңдоо',
 'vector-view-history' => 'Тарыхын кароо',
index 3305cc7..82907f0 100644 (file)
@@ -344,7 +344,6 @@ $messages = array(
 'vector-action-protect' => 'Guadrar',
 'vector-action-undelete' => 'Traer atrás',
 'vector-action-unprotect' => 'Trocar proteksyon',
-'vector-simplesearch-preference' => 'Aktivar barra de buskida simplifikada (solamente kon aspekto Vector)',
 'vector-view-create' => 'Criar',
 'vector-view-edit' => 'Trocar',
 'vector-view-history' => 'Ver la istoria',
index 4bc6051..99e63d7 100644 (file)
@@ -730,6 +730,9 @@ Waart w.e.g. $1 ier Dir et nach eng Kéier probéiert.',
 'createacct-another-realname-tip' => "De richtegen Numm ass fakultativ.
 
 Wann Dir en ugitt, gëtt e benotzt fir d'Benotzerattributiounen fir Är Aarbecht zouzeuerdnen.",
+'pt-login' => 'Aloggen',
+'pt-createaccount' => 'Benotzerkont opmaachen',
+'pt-userlogout' => 'Ausloggen',
 
 # Email sending
 'php-mail-error-unknown' => 'Onbekannte Feeler an der PHP-Mail-Funktioun',
index abf4cfc..0e6e2e8 100644 (file)
@@ -146,12 +146,12 @@ $messages = array(
 'dec' => 'дек',
 
 # Categories related messages
-'pagecategories' => '{{PLURAL:$1|1=Категория|Категорияр}}',
+'pagecategories' => '{{PLURAL:$1|1=Категори|Категорияр}}',
 'category_header' => '«$1» категориядин ччинар',
 'subcategories' => 'агъакатегорияр',
 'category-media-header' => '"$1" категориядин медиа',
 'category-empty' => "''Алай чӀава и категория ичӀи я.\"",
-'hidden-categories' => '{{PLURAL:$1|1=Чуьнуьхай категория|Чуьнуьхай категорияр}}',
+'hidden-categories' => '{{PLURAL:$1|1=Чуьнуьхай категори|Чуьнуьхай категорияр}}',
 'hidden-category-category' => 'Чуьнуьхай категорияр',
 'category-subcat-count' => '{{PLURAL:$2|И категорияда анжах гуьгъуьна авай подкатегория ава.|$2-кай {{PLURAL:$1|1=агъакатегория|$1 агъакатегорияр}} къалурнава }}',
 'category-subcat-count-limited' => 'И категорияда {{PLURAL:$1|1=агъакатегория|$1 агъакатегорияр}} ава.',
@@ -191,7 +191,6 @@ $messages = array(
 'vector-action-protect' => 'Хуьн',
 'vector-action-undelete' => 'ТуькӀуьр хъувун',
 'vector-action-unprotect' => 'Хуьн дегишарун',
-'vector-simplesearch-preference' => 'Гегьенш жагъурунин рикӀел гъун кутун (кьилди «Вектор» акунар патал)',
 'vector-view-create' => 'ТуькӀуьрун',
 'vector-view-edit' => 'Дуьзарин',
 'vector-view-history' => 'Тарихдиз килигун',
@@ -238,7 +237,7 @@ $messages = array(
 'articlepage' => 'Къене авайбурун ччиндиз килигун',
 'talk' => 'Веревирд авун',
 'views' => 'Килигунар',
-'toolbox' => 'Алатрин кьвати',
+'toolbox' => 'Алатар',
 'userpage' => 'Уртахдин ччиниз килигун',
 'projectpage' => 'Проектдин ччиниз килигун',
 'imagepage' => 'Файлдин ччиниз килигун',
@@ -509,7 +508,7 @@ $messages = array(
 'history-fieldset-title' => 'Тарихдиз килигун',
 'history-show-deleted' => 'Анжах алуднавайбур',
 'histfirst' => 'Виридалайни цIуру',
-'histlast' => 'Ð\9cÑ\83кÑ\8cваÑ\80а Ñ\85Ñ\8cайи',
+'histlast' => 'Ð\93илан Ñ\86lийига',
 'historyempty' => '(ичIи)',
 
 # Revision feed
@@ -565,7 +564,7 @@ $messages = array(
 'nextn' => 'Гуьгъуьнин {{PLURAL:$1|$1}}',
 'prevn-title' => 'Вилик фейи  $1 {{PLURAL:$1|1=нетижа|нетижаяр}}',
 'nextn-title' => 'КЪведай $1 {{PLURAL:$1|1=нетижа|нетижаяр}}',
-'shown-title' => 'ЧÑ\87ина $1 {{PLURAL:$1|1=неÑ\82ижа|неÑ\82ижа}} ÐºÑ\8aалÑ\83Ñ\80Ñ\83н',
+'shown-title' => 'Ð\9aÑ\8aалÑ\83Ñ\80ин $1 {{PLURAL:$1|1=неÑ\82ижа|неÑ\82ижаÑ\8fÑ\80}} Ñ\87Ñ\8aина',
 'viewprevnext' => 'Килигун ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-exists' => "'''И вики-проектда \"[[:\$1]]\" тlвар алай ччин ава.'''",
 'searchmenu-new' => "'''И вики-проектда «[[:$1]]» ччин туькӀуьрун!'''",
@@ -579,7 +578,7 @@ $messages = array(
 'searchprofile-images-tooltip' => 'Файлар жугъура',
 'searchprofile-everything-tooltip' => 'Вири ччинра къекъуьгъ (веревирдрин ччинар кваз)',
 'searchprofile-advanced-tooltip' => 'Ганвай тlварарин генгвилера къекъуьгъ',
-'search-result-size' => '$1 ({{PLURAL:$2|1=1 гаф|$2 гаф}})',
+'search-result-size' => '$1 ({{PLURAL:$2|1=1 гаф|$2 гафap}})',
 'search-result-category-size' => '{{PLURAL:$1|1=1 элемент|$1 элементар}} ({{PLURAL:$2|1=1 агъакатегория|$2 агъакатегорияр}}, {{PLURAL:$3|1=1 файл|$3 файлар}})',
 'search-redirect' => '(рахкъурун $1)',
 'search-section' => '(пай $1)',
@@ -867,7 +866,7 @@ $messages = array(
 'withoutinterwiki-submit' => 'Къалурун',
 
 # Miscellaneous special pages
-'nbytes' => '$1 {{PLURAL:$1|1=байт|байтар}}',
+'nbytes' => '$1 {{PLURAL:$1|баjт|баjтар}}',
 'nmembers' => '$1 {{PLURAL:$1|1=уьзви|уьзвияр}}',
 'lonelypages' => 'Eтим xъувун',
 'prefixindex' => 'Префикс галай вири ччинар',
index d527c94..27e4dc2 100644 (file)
@@ -38,16 +38,13 @@ $specialPageAliases = array(
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Sulinia lias:',
-'tog-justify' => 'Ajusta paragrafes',
 'tog-hideminor' => 'Asconda editas minor en cambias resente',
 'tog-extendwatchlist' => 'Grandi la lista oservada per mostra tota cambias aplicable',
 'tog-usenewrc' => 'Aumenta cambias resente (JavaScript)',
 'tog-numberheadings' => 'Dona automatica numeros a titula',
 'tog-showtoolbar' => 'Mostra la bara de utiles per edita (JavaScript)',
 'tog-editondblclick' => 'Edita pajes a du clicas (JavaScript)',
-'tog-editsection' => 'Engrana la edita de sesion via lias de {edita}.',
 'tog-editsectiononrightclick' => 'Engrana la edita de sesion par clica a la destra a titulos de sesion (JavaScript)',
-'tog-showtoc' => 'Mostra la table de contenis (per pajes con plu ce tre titulos)',
 'tog-rememberpassword' => 'Memora me sinia per entra a esta computador (for a maximum of $1 {{PLURAL:$1|day|days}})',
 'tog-watchcreations' => 'Junta la pajes ce me ia creada a me lista de pajes oservada',
 'tog-watchdefault' => 'Junta pajes ce me ia edita a me lista de pajes oservada',
@@ -424,7 +421,6 @@ La arcivo de sutraes per esta paje es asi per conveni:",
 'lineno' => 'Linia $1:',
 'compareselectedversions' => 'Compare varias elejeda',
 'editundo' => 'desfa',
-'diff-multi' => '({{PLURAL:$1|$1 revise|$1 revises}} medial no mostrada.)',
 
 # Search results
 'searchresults' => 'Resultas de xerca',
index 81afd0f..0c839f6 100644 (file)
@@ -307,7 +307,6 @@ Legend: '''({{int:cur}})''' = vaiţīd līdzinţõmizõks lǟndz redaktsijõks,,
 'lineno' => 'Rīnda $1:',
 'compareselectedversions' => 'Līdzinţ vēļdõt redaktsijḑi',
 'editundo' => 'kištānt jarā',
-'diff-multi' => '({{PLURAL:$1|Īdtõ|$1}} vail-vȯlbizt {{PLURAL:$2|īd|$2}} kȭlbatijiz redaktsijõ äb nägţõbõd.)',
 
 # Search results
 'searchresults' => 'Vȯtšimiz rezultātõd',
index ee15cd9..4e66e64 100644 (file)
@@ -114,7 +114,6 @@ $messages = array(
 'vector-action-protect' => 'Kobátela',
 'vector-action-undelete' => 'Kolímwisa tɛ̂',
 'vector-action-unprotect' => ' Kobátela tɛ̂',
-'vector-simplesearch-preference' => 'Kolamusa bokáni bwa boluki bobakísámí (káka na Vector)',
 'vector-view-create' => 'Kokela',
 'vector-view-edit' => 'Kobɔngisa',
 'vector-view-history' => 'Komɔ́nisa mokóló',
@@ -416,7 +415,6 @@ Ezalí listɛ́ ya nkásá gudi bizalí  na [[Special:SpecialPages|{{int:special
 'recentchanges-legend' => 'Mapɔni ma mbóngwana ya nsúka',
 'recentchanges-feed-description' => 'Kolanda mbóngwana ya nsúka ya wiki o ebale eye.',
 'recentchanges-label-minor' => 'Ezalí mbóngwana ya mokɛ́',
-'rcnote' => "Áwa o nsé {{PLURAL:$1|ezalí mbóngwana '''1''' ya nsúka|izalí mbóngwana '''$1''' ya nsúka}} o {{PLURAL:$2|mokɔlɔ|mikɔlɔ '''$2'''}} ya nsúka, o ntángo $5 o mokɔlɔ $4.",
 'rcshowhideminor' => '$1 mbóngwana ya mokɛ́',
 'rcshowhidebots' => '$1 barobot',
 'rcshowhideliu' => '$1 basáleli bamíkitólí',
@@ -529,7 +527,6 @@ Ezalí listɛ́ ya nkásá gudi bizalí  na [[Special:SpecialPages|{{int:special
 'watchthispage' => 'Kolanda lonkásá óyo',
 'unwatch' => 'Kolanda tɛ́',
 'watchlist-details' => '{{PLURAL:$1|Lonkásá $1 elandámí|Nkásá $1 bilandámí}}, longola nkásá ya ntembe.',
-'wlnote' => "Áwa o nsé {{PLURAL:$1|ezalí mbóngwana ya nsúka|izalí mbóngwana '''$1''' ya nsúka}} o {{PLURAL:$2|ngonga|ngonga '''$2'''}} ya nsúka.",
 'wlshowlast' => 'Komɔ́nisa ngónga $1 ya nsúka, mikɔlɔ $2 mya nsúka tǒ $3',
 
 # Displayed when you click the "watch" button and it is in the process of watching
index 10a15a4..324eb4f 100644 (file)
 $messages = array(
 # User preference toggles
 'tog-underline' => "Tumana ling'ko:",
-'tog-justify' => 'Singanyekile silamina',
 'tog-usenewrc' => 'Inenset petuho nca (JavaScript)',
 'tog-numberheadings' => 'Auto-palo mukunguna',
 'tog-showtoolbar' => "Kamukile hloli ye ng'i toolbar (bulukezi JavaScript)",
 'tog-editondblclick' => "Hloli ye ng'i petulo di 'klik' dubo (JavaScript)",
-'tog-editsection' => "Nyembulisize [hloli ye ng'i] di akes di lyangutukezi ling'ki",
 'tog-rememberpassword' => 'Askevusize zwa menuhile kwa bye kompyuta (for a maximum of $1 {{PLURAL:$1|day|days}})',
 'tog-watchcreations' => 'Pusize petulo a hloli di zwa mukoloko di kentezi',
 'tog-watchdefault' => "Pusize petulo a hloli ye ng'i di zwa mukoloko di kentezi",
@@ -429,7 +427,6 @@ Informasi: (bye) = petuho a nca selt,
 'lineno' => 'Lani $1:',
 'compareselectedversions' => 'Bapisize',
 'editundo' => "afi hloli ye ng'i",
-'diff-multi' => '({{PLURAL:$1|1 selt amebusilize|$1 selt amebusilize}} ni kamukile.)',
 
 # Search results
 'searchresults' => 'Fatukile kamukile',
@@ -458,7 +455,6 @@ Informasi: (bye) = petuho a nca selt,
 'rows' => 'Roo:',
 'columns' => 'Kalom:',
 'searchresultshead' => 'Fatukile',
-'resultsperpage' => 'Hit di petulo:',
 'default' => 'auto',
 'prefs-files' => 'Imegini',
 'youremail' => 'Imeli:',
index cd6c0af..4bd2353 100644 (file)
@@ -261,8 +261,8 @@ $messages = array(
 'mainpage' => 'سرآسونه',
 'mainpage-description' => 'سرآسونه',
 'policy-url' => 'پروجه:خط و مش',
-'portal' => 'تÙ\84Ú¯Ù\87 Ø¬Ù\85ی',
-'portal-url' => 'پروجه:تلگه جمی',
+'portal' => 'درآسÙ\88Ù\86Ù\87 Ú©Ù\88Ù\85Ù\84Ù\87 Û\8cÚ©ی',
+'portal-url' => 'پروجه:تلگه کومله یکی',
 'privacy' => 'رهبرد رازداری',
 'privacypage' => 'پروجه: خط مشی راز واداشتن',
 
index 835d153..1e51344 100644 (file)
@@ -162,7 +162,6 @@ $messages = array(
 'vector-action-protect' => 'Venhimna',
 'vector-action-undelete' => 'Lak kir lehna',
 'vector-action-unprotect' => 'Venhimna dinhmun tidanglam rawh',
-'vector-simplesearch-preference' => 'Zawn awlsam lehzualna rawtna awmtir rawh (Vektawr vun tan chauh)',
 'vector-view-create' => 'Siamna',
 'vector-view-edit' => 'Siamţhatna',
 'vector-view-history' => 'Hunhlui-chanchin',
index 4bdcf8c..4f78d3d 100644 (file)
@@ -216,7 +216,6 @@ $messages = array(
 'vector-action-protect' => 'Aizsargāt',
 'vector-action-undelete' => 'Atjaunot',
 'vector-action-unprotect' => 'Mainīt aizsardzību',
-'vector-simplesearch-preference' => 'Ieslēgt vienkāršoto meklēšanas joslu (tikai Vector apdarē)',
 'vector-view-create' => 'Izveidot',
 'vector-view-edit' => 'Labot',
 'vector-view-history' => 'Hronoloģija',
index 737ea88..f013289 100644 (file)
@@ -8,6 +8,7 @@
  * @file
  *
  * @author Bombola
+ * @author Ceas08
  * @author Dato deutschland
  * @author Dawid Deutschland
  * @author Erdemaslancan
@@ -150,9 +151,11 @@ $messages = array(
 
 # Vector skin
 'vector-action-delete' => 'Jili',
+'vector-action-move' => 'Tori',
 'vector-action-protect' => 'İçvi',
 'vector-view-create' => 'dokʼidi',
 'vector-view-edit' => 'Doktiri',
+'vector-view-view' => 'İǩitxi',
 'variants' => "Variant'epe",
 
 'errorpagetitle' => 'Çilata',
@@ -242,6 +245,7 @@ Muşeni? Çunki am butʼkʼa, jileri na ren a butʼkʼaşi golaxteri versiyoni r
 Eger sebebi aya na va renna, pʼrogramis ar çilata z*irit.
 Mu iqʼven! Aya, a [[Special:ListUsers/sysop|adminis]], URL-ti çʼareli şekʼilite rapʼortʼi doçʼarit.',
 'missingarticle-rev' => '(revizyoni#: $1)',
+'badtitle' => 'Varixmarinen boxoxia',
 'badtitletext' => 'Na içʼaren butʼkʼaşi coxo ya çilatoni ren ya boşi ren varna inter-nena do inter-vikʼişi kʼontʼaktʼis na uğutʼu şeni mtini varen.
 Dudicoxopes oxmaruşi yasaği na ren ar, varna daha dido kʼarakʼtʼeri uğun.',
 'viewsource' => 'Odudes o3ʼkʼedi',
@@ -257,8 +261,10 @@ Dudicoxopes oxmaruşi yasaği na ren ar, varna daha dido kʼarakʼtʼeri uğun.'
 'userlogout' => 'Siteşen Kogamaxti',
 'nologin' => "Hesabi va giğuni? '''$1'''",
 'nologinlink' => 'Hesabi dokʼidi.',
+'createaccount' => 'Hesabi dokʼidi',
 'gotaccountlink' => 'Sitʼeşa amaxti',
 'mailmypassword' => 'Ağne pʼarola-çkimi moncğoni',
+'loginlanguagelabel' => 'Nena: $1',
 
 # Change password dialog
 'oldpassword' => "Mcveşi p'arola:",
@@ -328,6 +334,7 @@ Edo amuş metʼi, ak mxuciş meçamu ginonna, meşvelape ti-skani kʼala oçʼar
 Oxo3ʼonapape: (a3ʼineri) = a3ʼineri versiyoni kʼala na ren farkʼi,
 (iptineri) = iptineri versiyoni kʼala na ren farkʼi, Çʼ = çʼitʼa oktiroba.',
 'history-fieldset-title' => 'Golaxteris o3ʼkʼedi',
+'history-show-deleted' => 'Xvala nijilenepe',
 'histfirst' => 'irişen mcveşi',
 'histlast' => 'irişen ağani',
 
@@ -405,7 +412,6 @@ Oxo3ʼonapape: (a3ʼineri) = a3ʼineri versiyoni kʼala na ren farkʼi,
 'recentchanges' => 'Çodinaşi oktirobape',
 'recentchanges-legend' => 'Çodinaşi oktirobape tercihepe',
 'recentchanges-feed-description' => 'Am feedis vikiʼs na ixvenu irişen sonni oktirobape gatxozi.',
-'rcnote' => "$4 tarixi do saatʼi $5 şakis, çodinaşi {{PLURAL:$2|1 ndğas|'''$2''' ndğas}} na ixvenu, {{PLURAL:$1|'''1''' oktiroba|'''$1''' oktiroba}}, tude ren.",
 'rclistfrom' => '$1 tarixişen doni na ixvenu oktirobape ko3ʼiri',
 'rcshowhideminor' => 'çʼitʼa oktirobape $1',
 'rcshowhidebots' => 'botʼepe $1',
@@ -445,6 +451,7 @@ Oxo3ʼonapape: (a3ʼineri) = a3ʼineri versiyoni kʼala na ren farkʼi,
 'filehist-help' => 'Dosyaşi tarixi oz*iru şeni Ndğa/Ora burme-muşis na renan tarixepes o3ʼkʼedi.',
 'filehist-deleteall' => 'mteli jili',
 'filehist-deleteone' => 'jili',
+'filehist-revert' => 'komoiği',
 'filehist-current' => 'A3ʼineri',
 'filehist-datetime' => 'Dğa/Ora',
 'filehist-thumb' => 'Mçʼitʼa sureti',
@@ -571,10 +578,10 @@ Am butʼkʼaşi oçvuşi sinori gaktirinen; ama am oktiroba, kʼademoni oçvalu
 'blanknamespace' => '(Dudi)',
 
 # Contributions
-'contributions' => 'Maxmareşi meşvelape',
+'contributions' => '{{GENDER:$1|User}} işi meşvelape',
 'contributions-title' => '$1 şeni maxmareş meşvelape',
 'mycontris' => 'Çkimi meşvelape',
-'contribsub2' => '$1 ($2)',
+'contribsub2' => '{{GENDER:$3|$1}} ($2) işen',
 'uctop' => '(dudi)',
 'month' => 'Tuta:',
 'year' => '3ʼana:',
@@ -674,6 +681,7 @@ Mu iqʼven başka coxo doçʼari.',
 'tooltip-search' => '{{SITENAME}}-iş doloxe mgori',
 'tooltip-search-go' => 'Eger korenna, am coxos na uğun ar butʼkʼaşa idi',
 'tooltip-search-fulltext' => 'Am nçʼara şeni butʼkʼape mgori',
+'tooltip-p-logo' => 'Dudi but̆ǩaşa idi',
 'tooltip-n-mainpage' => 'Dudi butʼkʼaşa idi',
 'tooltip-n-mainpage-description' => 'Dudi butʼkʼaşa idi',
 'tooltip-n-portal' => 'Proje şeni, şeyepe so gaz*iren, mu gaxvenen',
index 7239d01..012ddd9 100644 (file)
@@ -1265,6 +1265,9 @@ Marino raha manohy ny tantaram-pejy ity asa ity.",
 'editundo' => 'esory',
 'diff-empty' => '(Tsy misy mahasamihafa)',
 'diff-multi-manyusers' => "Tsy naseho ny antiôna $1{{PLURAL:}} nataon'ny mpikambana $2.",
+'difference-missing-revision' => "Tsy hita ny versiona $2{{PLURAL:$2||}} ny fahasamihafanna ($1) an'ity pejy ity.
+
+Vokatry ny fanarahana rohy fampitahana lany daty mankany amy pejy efa voafafa izan . Ho hita eo amin'ny [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} laogim-pamafàna] ny antsipirihany.",
 
 # Search results
 'searchresults' => 'Valim-pikarohana',
@@ -1280,7 +1283,7 @@ Marino raha manohy ny tantaram-pejy ity asa ity.",
 'shown-title' => 'Aseho valiny $1 isaky ny pejy iray{{PLURAL:}}',
 'viewprevnext' => 'Hijery ($1 {{int:pipe-separator}} $2) ($3).',
 'searchmenu-exists' => "'''Misy pejy mitondra anarana « [[:$1]] » eto amin'ity wiki ity'''",
-'searchmenu-new' => "'''Hamorona ny pejy \"[[:\$1]]\" eto amin'ity wiki ity!'''",
+'searchmenu-new' => '<strong>Hamorona ny pejy "[[:$1]]" eto amin\'ity wiki ity!</strong> {{PLURAL:$2|0=|Jereo koa ny pejy hita tamin\'ny karokao.|Jereo koa ny valim-pikarohana hita.}}',
 'searchprofile-articles' => 'Pejy misy votoatiny',
 'searchprofile-project' => 'Pejy fanampiana sy pejy tetikasa',
 'searchprofile-images' => 'Multimedia',
@@ -1881,8 +1884,7 @@ ity wiki ity dia no-regler-na ho sarababem-bahoaka.",
 'upload_source_file' => " (rakitra eo amin'ny milinao)",
 
 # Special:ListFiles
-'listfiles-summary' => "Ahitana ny rakitra rehetra nampidirina ity pejy manokana ity.
-Rehefa sivanin'ny mpikambana iray izy ity, ny rakitra izay ahitana santiôna vaovao indrindra izay nalefan'io mpikamana io no aseho.",
+'listfiles-summary' => 'Ahitana ny rakitra rehetra nampidirina ity pejy manokana ity.',
 'listfiles_search_for' => 'Hitady anarana media :',
 'imgfile' => 'rakitra',
 'listfiles' => "Lisitran'ny rakitra",
@@ -2342,10 +2344,12 @@ Jereo amin\'ny $2 ny lisitry ny famafana pejy faramparany.',
 'deletecomment' => 'Antony :',
 'deleteotherreason' => 'antony hafa miampyy:',
 'deletereasonotherlist' => 'antony',
-'deletereason-dropdown' => "* Antom-pamafana matetika miasa
+'deletereason-dropdown' => "* Antom-pamafàna miverimberina matetika
+** Rohy fandotoana
+** Fanimbana pejy
+** Tsy fanajana zom-pamorona
 ** Hataka avy amin'ny tompony
-** Tsi-fanajana ny zom-pamorona
-** Fandotoana",
+** Fihodinana tapaka",
 'delete-edit-reasonlist' => 'Hanova ny antony amafana pejy',
 'delete-toobig' => "Ity pejy ity dia manana tantaram-panovana lava be, izany hoe manana versiona {{PLURAL:$1}} $1.
 Noferana mba tsy hikorontana ny fandehanan'i {{SITENAME}} ny famafana ireo pejy ireo.{{PLURAL:$1|}}",
@@ -3190,12 +3194,14 @@ Tokony sary tsy misy na sary tsy izy ny rohy voalohany anaty andalana iray .
 'exif-gpsaltituderef' => 'Haambo tsiahy',
 'exif-gpsaltitude' => 'Haambo',
 'exif-gpstimestamp' => 'Ora GPS (famantaranandro atômika)',
+'exif-gpssatellites' => "Zanabolana mampiasaina ho an'ilay refy",
 'exif-gpsmeasuremode' => 'Fomba fandrefesana',
 'exif-gpsdop' => 'Hatsiko ny fandrefesana',
 'exif-gpsspeedref' => 'Mari-drefi-kafainganana',
 'exif-gpsspeed' => 'Hafaingam-pandray GPS',
 'exif-gpsimgdirection' => "Fitodihan'ny sary",
 'exif-gpsdestlatitude' => 'Laharam-pehintany tanjona',
+'exif-gpsdestlongitude' => 'Laharan-jarahasina tanjona',
 'exif-gpsareainformation' => 'Anaram-paritra GPS',
 'exif-gpsdatestamp' => 'Daty GPS',
 'exif-worldregioncreated' => 'Faritany nangalana ity ilay sary',
@@ -3305,12 +3311,34 @@ Tokony sary tsy misy na sary tsy izy ny rohy voalohany anaty andalana iray .
 'exif-flash-fired-1' => 'Nirehitra ny flash',
 'exif-flash-return-0' => 'Tsy misy stirôbôskôpy mamerina lefa fahitana',
 'exif-flash-mode-3' => 'Toetra aotômatika',
+'exif-flash-function-1' => "Tsy misy lefan'ny flash",
+'exif-flash-redeye-1' => 'Fanoherana ny fisiana maso mena',
 
 'exif-focalplaneresolutionunit-2' => 'Posy',
 
 'exif-sensingmethod-1' => 'Tsy voafaritra',
 
+'exif-gaincontrol-0' => 'Tsy misy',
+'exif-gaincontrol-1' => 'Fahazoana miabo kely',
+'exif-gaincontrol-2' => 'Fitomboana miabo be',
+'exif-gaincontrol-3' => 'Fitomboana miiba kely',
+'exif-gaincontrol-4' => 'Fitomboana miiba be',
+
+'exif-contrast-0' => 'Tsotra',
+'exif-contrast-1' => 'Kely',
+'exif-contrast-2' => 'Ambony',
+
+'exif-saturation-0' => 'Tsotra',
+'exif-saturation-1' => 'Ambany',
+'exif-saturation-2' => 'Ambony',
+
+'exif-sharpness-0' => 'Tsotra',
+'exif-sharpness-1' => 'Malefaka',
+
+'exif-subjectdistancerange-0' => 'Tsy fantatra',
 'exif-subjectdistancerange-1' => 'Makrô',
+'exif-subjectdistancerange-2' => 'Fijerena akaiky',
+'exif-subjectdistancerange-3' => 'Fijerena lavitra',
 
 # Pseudotags used for GPSLatitudeRef and GPSDestLatitudeRef
 'exif-gpslatitude-n' => 'Avaratra',
@@ -3330,9 +3358,57 @@ Tokony sary tsy misy na sary tsy izy ny rohy voalohany anaty andalana iray .
 'exif-gpsspeed-m' => "Maily isak'ora",
 'exif-gpsspeed-n' => 'Knot',
 
+# Pseudotags used for GPSDestDistanceRef
+'exif-gpsdestdistance-k' => 'Kilometatra',
+'exif-gpsdestdistance-m' => 'Mile',
+'exif-gpsdestdistance-n' => 'Mile naotika',
+
+'exif-gpsdop-excellent' => 'Tena tsara ($1)',
+'exif-gpsdop-good' => 'Tsara ($1)',
+'exif-gpsdop-moderate' => 'Eo ho eo ihany ($1)',
+'exif-gpsdop-fair' => 'Tsara ihany ($1)',
+'exif-gpsdop-poor' => 'Kely ($1)',
+
+'exif-objectcycle-a' => 'Maraina ihany',
+'exif-objectcycle-p' => 'Hariva ihany',
+'exif-objectcycle-b' => 'Sady maraina no hariva',
+
 # Pseudotags used for GPSTrackRef, GPSImgDirectionRef and GPSDestBearingRef
+'exif-gpsdirection-t' => 'Tena avaratra',
 'exif-gpsdirection-m' => "Avaratra arak'andriamby",
 
+'exif-dc-contributor' => 'Mpandray anjara',
+'exif-dc-date' => 'Daty',
+'exif-dc-publisher' => 'Mpamoaka',
+'exif-dc-rights' => 'Zo',
+'exif-dc-source' => 'Haino aman-jery niaviana',
+'exif-dc-type' => 'Karazana baino aman-jery',
+
+'exif-rating-rejected' => 'Nolavina',
+
+'exif-isospeedratings-overflow' => 'Mahery ny 65535',
+
+'exif-iimcategory-ace' => 'Kanto, kolontsaina ary fialam-boly',
+'exif-iimcategory-clj' => 'Heloka aman-jo',
+'exif-iimcategory-dis' => 'Voina aman-doza',
+'exif-iimcategory-fin' => 'Toe-karena',
+'exif-iimcategory-edu' => 'Fanabeazana',
+'exif-iimcategory-evn' => 'Tontolo iainana',
+'exif-iimcategory-hth' => 'Fahasalamana',
+'exif-iimcategory-lab' => 'Asa',
+'exif-iimcategory-lif' => 'Fomba fiainana sy fialam-boly',
+'exif-iimcategory-pol' => 'Politika',
+'exif-iimcategory-rel' => 'Finoana',
+'exif-iimcategory-sci' => 'Siansa sy teknôlôjia',
+'exif-iimcategory-soi' => 'Olana ara-tsosialy',
+'exif-iimcategory-spo' => 'Fanatanjahan-tena',
+'exif-iimcategory-war' => 'Ady, tsy fandriampahalemana',
+'exif-iimcategory-wea' => "Toetr'andro",
+
+'exif-urgency-normal' => 'Tsotra ($1)',
+'exif-urgency-low' => 'Ambany ($1)',
+'exif-urgency-high' => 'Ambony ($1)',
+
 # 'all' in various places, this might be different for inflected languages
 'watchlistall2' => 'rehetra',
 'namespacesall' => 'rehetra',
@@ -3391,6 +3467,7 @@ Azafady hamafiso fa tena irinao averina hoforonina tokoa ity lahatsoratra ity.",
 'confirm-purge-top' => "Fafana ve ny cache-n'ity pejy ity?",
 
 # action=watch/unwatch
+'confirm-watch-button' => 'OK',
 'confirm-watch-top' => 'Hanaraka ity pejy ity?',
 'confirm-unwatch-button' => 'OK',
 'confirm-unwatch-top' => "Hanala ity pejy ity amin'ny lisitry ny pejy arahinao?",
@@ -3463,8 +3540,8 @@ Azonao atao ihany koa ny [[Special:EditWatchlist/raw|manova ilay lisitra amin'ny
 'version-variables' => 'Miova',
 'version-other' => 'Samihafa',
 'version-hook-subscribedby' => "Nalefan'i",
-'version-version' => '(Santiôna $1)',
-'version-license' => 'Lisansy',
+'version-version' => '($1)',
+'version-license' => 'Lisansa Mediawiki',
 'version-poweredby-others' => 'hafa',
 'version-software' => 'Rindrankahy voapetraka',
 'version-software-product' => 'Vokatra',
@@ -3552,7 +3629,13 @@ Azonao atao ihany koa ny [[Special:EditWatchlist/raw|manova ilay lisitra amin'ny
 
 # New logging system
 'logentry-delete-delete' => "nofafan'i $1 ny pejy $3",
-'logentry-suppress-delete' => "nofafan'i $1 ny pejy $3",
+'logentry-suppress-delete' => "{{GENDER:$2|nofafan'i}} $1 ny pejy $3",
+'revdelete-content-hid' => 'votoatiny nafenina',
+'revdelete-summary-hid' => 'ambangovangom-panovana nafenina',
+'revdelete-uname-hid' => 'anaram-pikambana nafenina',
+'revdelete-content-unhid' => 'votoatiny naseho',
+'revdelete-summary-unhid' => 'ambangovangom-panovana naseho',
+'revdelete-uname-unhid' => 'anaram-pikambana naseho',
 'revdelete-restricted' => "nametraka fanerena ho an'ny mpandrindra",
 'revdelete-unrestricted' => "fanerena nesorina tamin'ny mpandrindra",
 'logentry-move-move' => "nanova ny anaran'i $3 ho $4 i $1",
@@ -3576,8 +3659,16 @@ Azonao atao ihany koa ny [[Special:EditWatchlist/raw|manova ilay lisitra amin'ny
 'feedback-error3' => "Hadisoana: Tsy nisy valiny avy amin'ny API",
 'feedback-thanks' => "Misaotra! lanefa tany amin'ilay pejy ''[$2 $1]'' ilay fanehoan-kevitrao.",
 'feedback-close' => 'Vita',
+'feedback-bugnew' => 'Efa nomariniko. Hitory baogy iray',
+
+# Search suggestions
+'searchsuggest-search' => 'Karohy',
+'searchsuggest-containing' => 'misy...',
 
 # API errors
+'api-error-badaccess-groups' => "Tsy afaka mampiditra rakitra eto amin'ity wiki ity ianao.",
+'api-error-badtoken' => 'Hadisoana anaty : "token" diso.',
+'api-error-copyuploaddisabled' => "Tsy avela atao eto amin'ity lohamilina ity ny fampidiran-drakitra amin'ny alalan'ny URL.",
 'api-error-empty-file' => 'Tsy misy na inona na inna ilay rakitra nalefanao.',
 'api-error-emptypage' => 'Tsy azo atao ny mamorona pejy vaovao tsy misy votoatiny.',
 'api-error-fetchfileerror' => 'Hadisoana naaty : misy hadisoana nitranga teo am-pangalana ilay rakitra.',
@@ -3608,4 +3699,6 @@ Azonao atao ihany koa ny [[Special:EditWatchlist/raw|manova ilay lisitra amin'ny
 'api-error-uploaddisabled' => "Tsy alefa eto amin'ity wiki ity ny fandefasan-drakita.",
 'api-error-verification-error' => 'Mety tapaka ity rakitra ity, na diso tovan-drakitra.',
 
+# Unknown messages
+'uploadinvalidxml' => "Tsy afaka vakiana ny XML tao anatin'ilay rakitra nafaranao.",
 );
index 34dc3fb..bb67543 100644 (file)
@@ -905,6 +905,9 @@ $2',
 'suspicious-userlogout' => 'Вашето барање за одјава е одбиено бидејќи се чини дека е испратено од расипан прелистувач или кеширачки застапник (proxy).',
 'createacct-another-realname-tip' => 'Вистинското име е незадолжително.
 Доколку изберете да го внесете, тоа може да се искористи за оддавање на заслуги за Вашата работа.',
+'pt-login' => 'Најава',
+'pt-createaccount' => 'Направи сметка',
+'pt-userlogout' => 'Одјава',
 
 # Email sending
 'php-mail-error-unknown' => 'Непозната грешка во функцијата mail() на PHP',
@@ -1461,7 +1464,7 @@ $1",
 'searchprofile-images-tooltip' => 'Пребарување на податотеки',
 'searchprofile-everything-tooltip' => 'Пребарување по сета содржина (вклучувајќи страници за разговор)',
 'searchprofile-advanced-tooltip' => 'Пребарување во именски простори по избор',
-'search-result-size' => '$1 ({{PLURAL:$2|1 збор|$2 збора}})',
+'search-result-size' => '$1 ({{PLURAL:$2|еден збор|$2 збора}})',
 'search-result-category-size' => '{{PLURAL:$1|1 член|$1 члена}} ({{PLURAL:$2|1 поткатегорија|$2 поткатегории}}, {{PLURAL:$3|1 податотека|$3 податотеки}})',
 'search-result-score' => 'Релевантност: $1%',
 'search-redirect' => '(пренасочување $1)',
index 7ce622f..69cffc7 100644 (file)
@@ -886,6 +886,9 @@ $2',
 'createacct-another-realname-tip' => 'താങ്കളുടെ യഥാർത്ഥ പേര്‌ നൽകണമെന്നു നിർബന്ധമില്ല.
 
 എങ്കിലും അങ്ങനെ ചെയ്താൽ, ഉപയോക്താക്കൾക്ക് അവരരവരുടെ പേരിൽ തന്നെ തങ്ങളുടെ സൃഷ്ടിക്ക് കടപ്പാട് ലഭിക്കുന്നതാണ്.',
+'pt-login' => 'പ്രവേശിക്കുക',
+'pt-createaccount' => 'അംഗത്വമെടുക്കുക',
+'pt-userlogout' => 'ലോഗൗട്ട്',
 
 # Email sending
 'php-mail-error-unknown' => 'പി.എച്ച്.പി.യുടെ main() ഫങ്ഷനിൽ അപരിചിതമായ പിഴവ്',
@@ -894,7 +897,7 @@ $2',
 
 # Change password dialog
 'changepassword' => 'രഹസ്യവാക്ക് മാറ്റുക',
-'resetpass_announce' => 'താà´\99àµ\8dà´\95ൾà´\95àµ\8dà´\95àµ\8d à´\87à´®àµ\86യിൽ à´\86യി à´\95à´¿à´\9fàµ\8dà´\9fà´¿à´¯ à´¤à´¾àµ½à´\95àµ\8dà´\95ാലിà´\95 à´\95àµ\8bà´¡àµ\8d à´\89പയàµ\8bà´\97à´¿à´\9aàµ\8dà´\9aാണàµ\8dâ\80\8c à´\87à´ªàµ\8dà´ªàµ\8bൾ à´²àµ\8bà´\97ിൻ à´\9aàµ\86à´¯àµ\8dതിരിà´\95àµ\8dà´\95àµ\81à´¨àµ\8dനതàµ\81àµ\8dâ\80\8c. à´²àµ\8bà´\97ിൻ à´ªàµ\8dà´°à´\95àµ\8dà´°à´¿à´¯ à´ªàµ\82ർതàµ\8dതിയാà´\95àµ\81വാൻ à´ªàµ\81തിയàµ\8aà´°àµ\81 à´°à´¹à´¸àµ\8dയവാà´\95àµ\8dà´\95àµ\8d à´\87വിà´\9fàµ\86 à´\95àµ\8aà´\9fàµ\81à´\95àµ\8dà´\95àµ\81à´\95:',
+'resetpass_announce' => 'à´ªàµ\8dà´°à´µàµ\87ശിà´\95àµ\8dà´\95ൽ à´ªàµ\82ർതàµ\8dതിയാà´\95àµ\8dà´\95ാൻ, à´ªàµ\81തിയàµ\8aà´°àµ\81 à´°à´¹à´¸àµ\8dയവാà´\95àµ\8dà´\95àµ\8d à´¸à´\9càµ\8dà´\9cമാà´\95àµ\8dà´\95ിയിരിà´\95àµ\8dà´\95à´£à´\82.',
 'resetpass_text' => '<!-- എഴുത്ത് ഇവിടെ ചേർക്കുക -->',
 'resetpass_header' => 'അംഗത്വത്തിന്റെ രഹസ്യവാക്ക് മാറ്റുക',
 'oldpassword' => 'പഴയ രഹസ്യവാക്ക്:',
@@ -910,8 +913,13 @@ $2',
 'resetpass-submit-cancel' => 'റദ്ദാക്കുക',
 'resetpass-wrong-oldpass' => 'താത്കാലികമായി ലഭിച്ച അല്ലെങ്കിൽ നിലവിലുള്ളതായി നൽകിയ രഹസ്യവാക്ക് അസാധുവാണ്.
 താങ്കൾ രഹസ്യവാക്ക് വിജയകരമായി മാറ്റിയിട്ടുണ്ടാകാം അല്ലെങ്കിൽ പുതിയ താത്കാലിക രഹസ്യവാക്ക് അഭ്യർത്ഥിച്ചിട്ടുണ്ടാകാം.',
+'resetpass-recycled' => 'താങ്കളുടെ രഹസ്യവാക്ക് നിലവിലുള്ളതിൽ നിന്നും വ്യത്യസ്തമായതാക്കുക.',
+'resetpass-temp-emailed' => 'ഇമെയിൽ വഴി ലഭിച്ച താൽക്കാലിക കോഡ് ഉപയോഗിച്ചാണ് താങ്കൾ പ്രവേശിച്ചിരിക്കുന്നത്.
+പ്രവേശനം പൂർത്തിയാക്കാൻ, ഇവിടെ പുതിയ രഹസ്യവാക്ക് സജ്ജമാക്കുക:',
 'resetpass-temp-password' => 'താത്കാലിക രഹസ്യവാക്ക്:',
 'resetpass-abort-generic' => 'രഹസ്യവാക്ക് മാറ്റുന്നത് ഒരു അനുബന്ധം തടഞ്ഞിരിക്കുന്നു.',
+'resetpass-expired' => 'താങ്കളുടെ രഹസ്യവാക്ക് കാലഹരണപ്പെട്ടിരിക്കുന്നു. പ്രവേശിക്കാനായി പുതിയ രഹസ്യവാക്ക് സജ്ജമാക്കുക.',
+'resetpass-expired-soft' => 'താങ്കളുടെ രഹസ്യവാക്ക് കാലഹരണപ്പെട്ടിരിക്കുന്നതിനാൽ പുനഃസജ്ജീകരിക്കേണ്ടതുണ്ട്. ഇപ്പോൾ തന്നെ പുതിയ രഹസ്യവാക്ക് തിരഞ്ഞെടുക്കുക അല്ലെങ്കിൽ പിന്നീട് പുനഃസജ്ജീകരിക്കാനായി റദ്ദാക്കുക ഞെക്കുക.',
 
 # Special:PasswordReset
 'passwordreset' => 'രഹസ്യവാക്ക് പുനഃക്രമീകരിക്കുക',
index 0e9b35d..f44bb0a 100644 (file)
@@ -47,7 +47,6 @@ $namespaceGenderAliases = array();
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Ажедмӓшвлӓм ыдыралаш',
-'tog-justify' => 'Текстӹм ӹлӹштӓш кымдык тӧрлӓш',
 'tog-hideminor' => 'Изи тӧрлӹмӓшвлӓм у вашталтымашвлӓ лошты шӹлташ, анжыкташ агыл',
 'tog-hidepatrolled' => 'Патрулируйымы тӧрлӹмӓшвлӓм у вашталтымашвлӓ лошты шӹлташ, анжыкташ агыл',
 'tog-newpageshidepatrolled' => 'Патрулирыйымы ӹлӹшташвлӓм у вашталтымашвлӓ лошты шӹлташ, анжыкташ агыл',
@@ -56,10 +55,8 @@ $messages = array(
 'tog-numberheadings' => 'Артикль лӹмвлӓм автоматически нумеруяш',
 'tog-showtoolbar' => 'Текстӹм тӧрлӹмӹ годым кӱшӹл панельӹм анжыкташ (JavaScript)',
 'tog-editondblclick' => 'Ӹлӹшташвлӓм кок гӓнӓ темдӓл, тӧрлӓш (JavaScript)',
-'tog-editsection' => '«Тӧрлӓш» ажедмӓшӹм м цилӓ секцилӓнок анжыкташ',
 'tog-editsectiononrightclick' => 'Секцим тӧрлӹмӹ годым артикль лӹмӹм каля доно вургымлашты темдӓлӓш (JavaScript)',
-'tog-showtoc' => 'Кӧргӹштӹш лӹмвлӓм анжыкташ (3 гӹц шукырак артикль лӹмӓн ӹлӹштӓшвлӓштӹ)',
-'tog-rememberpassword' => 'Мӹньӹн шотыш нӓлмӹ сирмӓшем ти компьютерӹштӹ ӓштӓш (максимум $1 {{PLURAL:$1|кечы|кечы}})',
+'tog-rememberpassword' => 'Мӹньӹн шотыш нӓлмӹ сирмӓшем ти компьютерӹштӹ ӓштӓш (максимум $1 {{PLURAL:$1|1=кечы|кечы}})',
 'tog-watchcreations' => 'Мӹньӹн ӹштӹмӹ ӹлӹштӓшвлӓэм вӓнгӹмӹ списокыш пырташ',
 'tog-watchdefault' => 'Мӹньӹн вашталтымы ӹлӹштӓшвлӓэм вӓнгӹмӹ списокыш пырташ',
 'tog-watchmoves' => 'Мӹньӹн лӹмӹм вашталтымы ӹлӹштӓшвлӓэм вӓнгӹмӹ списокыш пырташ',
@@ -67,7 +64,6 @@ $messages = array(
 'tog-minordefault' => 'Пäлдӹртӹмӹ агыл тöрлӹмäшвлäм когонжок керäлеш шотлаш агыл',
 'tog-previewontop' => 'Текстӹм анзыц анжен лӓкмӹм тӧрлӹмӹ окня анзыкы шӹндӓш',
 'tog-previewonfirst' => 'Текстӹм анзыц анжен лӓкмӹм тӧрлӓш тӹнгӓлмӹ анзыц анжыкташ',
-'tog-nocache' => 'Ӹлӹштӓшвлӓн кешированим цӓрӓш',
 'tog-enotifwatchlistpages' => 'Мам вӓнгӹмӹ списокын ӹлӹштӓшӹштӹ вашталтымы, тӹдӹм эл. почта доно увертӓрӓш',
 'tog-enotifusertalkpages' => 'Мам персональный ӹлӹштӓшӹштӹ дискуссилӓн пачмы, тӹ вашталтмашым эл. почта доно увертӓрӓш',
 'tog-enotifminoredits' => 'Изи вашталтымашвлӓ гишӓнӓт эл. почта доно увертӓрӓш',
@@ -151,12 +147,12 @@ $messages = array(
 'dec' => 'дек',
 
 # Categories related messages
-'pagecategories' => '{{PLURAL:$1|Категори|Категоривлӓ}}',
+'pagecategories' => '{{PLURAL:$1|1=Категори|Категоривлӓ}}',
 'category_header' => 'Категори «$1» ӹлӹштӓшвлӓ',
 'subcategories' => 'Лӹвӓл категоривлӓ',
-'hidden-categories' => '{{PLURAL:$1|Шӹлтӹмӹ категори| Шӹлтӹмӹ категоривлӓ}}',
-'category-subcat-count' => '{{PLURAL:$2|Ти ÐºÐ°Ñ\82егоÑ\80иÑ\88Ñ\82Ó¹ Ð»Ð°Ñ\87 Ñ\82и Ð»Ó¹Ð²Ó\93л ÐºÐ°Ñ\82егоÑ\80и Ð²ÐµÐ»Ðµ.|{{PLURAL:$1|Ð\9bӹвÓ\93л ÐºÐ°Ñ\82егоÑ\80им $1 Ð°Ð½Ð¶Ñ\8bкÑ\82Ñ\8bмÑ\8b\9bӹвÓ\93л ÐºÐ°Ñ\82егоÑ\80ивлÓ\93м $1 Ð°Ð½Ð¶Ñ\8bкÑ\82Ñ\8bмÑ\8b\9bӹвÓ\93л ÐºÐ°Ñ\82егоÑ\80им $1}} анжыктымы $2.}}',
-'category-article-count' => '{{PLURAL:$2|Ти категориштӹ ик ӹлыштӓш веле. |{{PLURAL:$1|Анжыктымы$1 ӹлӹшташ|Анжыктымы$1 ӹлӹштӓшӹм|Анжыктымы$1 ӹлыштӓшвлӓм}}ти категори гӹц$2.}}',
+'hidden-categories' => '{{PLURAL:$1|1=Шӹлтӹмӹ категори| Шӹлтӹмӹ категоривлӓ}}',
+'category-subcat-count' => '{{PLURAL:$2|Ти ÐºÐ°Ñ\82егоÑ\80иÑ\88Ñ\82Ó¹ Ð»Ð°Ñ\87 Ñ\82и Ð»Ó¹Ð²Ó\93л ÐºÐ°Ñ\82егоÑ\80и Ð²ÐµÐ»Ðµ.|{{PLURAL:$1|Ð\9bӹвÓ\93л ÐºÐ°Ñ\82егоÑ\80им $1 Ð°Ð½Ð¶Ñ\8bкÑ\82Ñ\8bмÑ\8b\9bӹвÓ\93л ÐºÐ°Ñ\82егоÑ\80им $1|Ð\9bӹвÓ\93л ÐºÐ°Ñ\82егоÑ\80ивлÓ\93м $1 Ð°Ð½Ð¶Ñ\8bкÑ\82Ñ\8bмÑ\8b}} анжыктымы $2.}}',
+'category-article-count' => '{{PLURAL:$2|Ти категориштӹ ик ӹлыштӓш веле.|{{PLURAL:$1|Анжыктымы$1 ӹлӹшташ|Анжыктымы$1 ӹлыштӓшвлӓм|Анжыктымы$1 ӹлӹштӓшӹм}}ти категори гӹц$2.}}',
 'listingcontinuesabbrev' => '(пакыла)',
 
 'newwindow' => '(у окняшты)',
@@ -264,7 +260,7 @@ $messages = array(
 # Login and logout pages
 'yourname' => 'Сирӹшӹн лӹмжӹ:',
 'yourpassword' => 'Пароль:',
-'remembermypassword' => 'Ти компьютерӹштӹ мӹньӹн учетный сирмӓшем ӓштӓш (максимум $1 {{PLURAL:$1|кечы|кечы}})',
+'remembermypassword' => 'Ти компьютерӹштӹ мӹньӹн учетный сирмӓшем ӓштӓш (максимум $1 {{PLURAL:$1|1=кечы|кечы}})',
 'login' => 'Системыш сирӓлтдӓ',
 'nav-login-createaccount' => 'Коргӹшкӹ сирӓлтдӓ/регистрируялтда',
 'userlogin' => 'Кӧргӹшкӹ сирӓлтдӓ ӓль регистрируялтда',
@@ -313,12 +309,12 @@ $messages = array(
 'copyrightwarning' => 'Пуры лидӓ, ӓшӹшкӹдӓ пиштӹда! Цилӓ мам тӧрлӹмӹ, ушештӹмӹ дӓ вашталтымы, $2 (см. $1) негӹцеш ӹштӹмы семӹнь анжымы лиэш. Мам сиредӓ, тӹдӹм кычылтмы  дӓ тӧрлӹмӹ ваштареш ылыда гӹнь пуры лидӓ, тишӓк идӓ сирӹ.<br /> Тенгеок мам сиредӓ  тӹдӹн авторжы ылыда дӓ мам копируедӓ, тидӹ ирӹкӓн кычылтмашты лишӓшлык<br />.
 
 Автор пӓшӓлӓнжӹ публикаяш разрешеним пуде гӹнь, тишӓк идӓ сирӹ!!!',
-'templatesused' => '{{PLURAL:$1|Кычылтмы шаблон|Кычылтмы шаблонвлӓ}} ӹлӹштӓшӹн ти версиштӹжӹ:',
-'templatesusedpreview' => '{{PLURAL:$1|Кычылтмы шаблон|Кычылтмы шаблонвлӓ }} анзыц анжымы ӹлӹштӓшӹштӹ:',
+'templatesused' => '{{PLURAL:$1|1=Кычылтмы шаблон|Кычылтмы шаблонвлӓ}} ӹлӹштӓшӹн ти версиштӹжӹ:',
+'templatesusedpreview' => '{{PLURAL:$1|1=Кычылтмы шаблон|Кычылтмы шаблонвлӓ }} анзыц анжымы ӹлӹштӓшӹштӹ:',
 'template-protected' => '(ӹшӹклӓлтеш, перегӓлтеш)',
 'template-semiprotected' => '(лаштыкын-лыштыкын ӹшӹклӓлтеш)',
-'hiddencategories' => 'Ти ӹлӹштӓш $1 {{PLURAL:$1|шӹлтӹмӹ категориш|шӹлтӹмӹ  категоривлӓш|шӹлтӹмӹ категориш пыра}}:',
-'permissionserrorstext-withaction' => "Тидӹм (действим) ӹштӓш манын  тӓмдӓн разрешенидӓ уке«'''$2'''» семеш {{PLURAL:$1|ти ӓмӓл|ӓмӓлвлӓ доно}}:",
+'hiddencategories' => 'Ти ӹлӹштӓш $1 {{PLURAL:$1|шӹлтӹмӹ категориш|шӹлтӹмӹ категориш пыра|шӹлтӹмӹ  категоривлӓш}}:',
+'permissionserrorstext-withaction' => "Тидӹм (действим) ӹштӓш манын  тӓмдӓн разрешенидӓ уке«'''$2'''» семеш {{PLURAL:$1|1=ти ӓмӓл|ӓмӓлвлӓ доно}}:",
 
 # History pages
 'viewpagelogs' => 'Ти ӹлӹштӓшлӓн журналвлӓм анжыкташ',
@@ -354,7 +350,7 @@ $messages = array(
 'prevn' => '{{PLURAL:$1|анзылнышы $1|анзылнышывлӓ $1|анзылнышывлӓ $1}}',
 'nextn' => '{{PLURAL:$1|паштек кешӹ $1|паштек кешӹвлӓ $1|паштек кешӹвлӓ $1}}',
 'viewprevnext' => 'Анжен лӓктӓш ($1 {{int:pipe-separator}} $2) ($3)',
-'search-result-size' => '$1 ({{PLURAL:$2|$2 шамак|$2 шамаквлӓ|$2 шамак}})',
+'search-result-size' => '$1 ({{PLURAL:$2|$2 шамак|$2 шамак|$2 шамаквлӓ}})',
 'search-redirect' => '(вес вӓрӹш ажед колташ $1)',
 'search-section' => '(кӹдеж $1)',
 'search-suggest' => 'Анят тӓ $1 шанендӓ:',
@@ -384,11 +380,10 @@ $messages = array(
 'action-edit' => 'ти ӹлӹштӓшӹм тӧрлӹмӓш',
 
 # Recent changes
-'nchanges' => '$1 {{PLURAL:$1|вашталтымаш|вашталтымашвлӓ|вашталтымаш}}',
+'nchanges' => '$1 {{PLURAL:$1|вашталтымаш|вашталтымаш|вашталтымашвлӓ}}',
 'recentchanges' => 'У тӧрлӹмӓшвлӓ',
 'recentchanges-legend' => 'У тӧрлӹмашвлӓн настройкышты',
 'recentchanges-feed-description' => 'Ти лиништӹ Викиштӹш вашталтмашвлӓм анжалаш.',
-'rcnote' => "{{PLURAL:$1|Пӹтӓртӹш вашталтымаш'''$1''' вашталтымаш|Пӹтӓртыш '''$1''' вашталтымашвлӓ|Пӹтӓртӹш '''$1''' вашталтымашвлӓ}}  '''$2''' {{PLURAL:$2|кечӹштӹ|кечӹштӹ|кечӹвлӓштӹ}}, ти моментеш $5 $4.",
 'rclistfrom' => '$1 доно вашталтмашвлӓм анжыкташ',
 'rcshowhideminor' => '$1 изи тӧрлӹмаш',
 'rcshowhidebots' => '$1 бот',
@@ -430,7 +425,7 @@ $messages = array(
 'filehist-dimensions' => 'Объектӹн размержӹ',
 'filehist-comment' => 'Пӓлӹквлӓ',
 'imagelinks' => 'Файлышкы ажедмӓшвлӓ',
-'linkstoimage' => '{{PLURAL:$1|Паштек $1 вес ӹлӹштӓш ажедеш| $1 вес ӹлӹштӓшвлӓ ажедӹт|Вес  $1 ӹлӹштӓшвлӓ ти файлыш}} ажедӹт:',
+'linkstoimage' => '{{PLURAL:$1|Паштек $1 вес ӹлӹштӓш ажедеш|Вес  $1 ӹлӹштӓшвлӓ ти файлыш| $1 вес ӹлӹштӓшвлӓ ажедӹт}} ажедӹт:',
 'sharedupload' => 'Ти $1 файлым вес проектвлӓштӹ кычылташ лиэш',
 'uploadnewversion-linktext' => 'Файлын у версижӹм темӓш',
 
@@ -441,14 +436,14 @@ $messages = array(
 'statistics' => 'Статистика',
 
 # Miscellaneous special pages
-'nbytes' => '$1 {{PLURAL:$1|байÑ\82|байÑ\82ан|байÑ\82влÓ\93}}',
-'nmembers' => '$1 {{PLURAL:$1|объект|объектӹн|объект}}',
+'nbytes' => '$1 {{PLURAL:$1|байÑ\82|байÑ\82влÓ\93|байÑ\82ан}}',
+'nmembers' => '$1 {{PLURAL:$1|объект|объект|объектӹн}}',
 'prefixindex' => 'Ӹлыштӓшвлӓн лӹмӹштӹн тӹнгӓлтӹш доно анжыктымы',
 'newpages' => 'У ӹлӹштӓшвлӓ',
 'move' => 'Вес лӹмӹм пуаш',
 'movethispage' => 'Ти ӹлыштӓшӹн лӹмжӹм вашталташ',
-'pager-newer-n' => '{{PLURAL:$1|урак|ураквлӓ|ураквлӓ гӹц}} $1',
-'pager-older-n' => '{{PLURAL:$1|тоштырак|тоштыраквлӓ|тоштыраквлӓ гӹц}} $1',
+'pager-newer-n' => '{{PLURAL:$1|урак|ураквлӓ гӹц|ураквлӓ}} $1',
+'pager-older-n' => '{{PLURAL:$1|тоштырак|тоштыраквлӓ гӹц|тоштыраквлӓ}} $1',
 
 # Book sources
 'booksources' => 'Книгӓн кӹлвлӓжӹ (источник)',
@@ -484,7 +479,7 @@ $messages = array(
 'watch' => 'Вӓнгӓш',
 'watchthispage' => 'Ти ӹлӹштӓшӹм вӓнгӓш',
 'unwatch' => 'Вӓнгӓш агыл',
-'watchlist-details' => 'Тӓмдӓн вӓнгӹмӹ списокыштыда $1 {{PLURAL:$1|ӹлӹштӓш|ӹлӹштӓшвлӓ|ӹлӹштӓш}}, Кӓнгӓшӹмӓш ӹлыштӓшвлӓ гӹц пасна.',
+'watchlist-details' => 'Тӓмдӓн вӓнгӹмӹ списокыштыда $1 {{PLURAL:$1|ӹлӹштӓш|ӹлӹштӓш|ӹлӹштӓшвлӓ}}, Кӓнгӓшӹмӓш ӹлыштӓшвлӓ гӹц пасна.',
 'wlshowlast' => 'Анжыкташ эртӹш  $1 час $2 кечӹвлӓн $3',
 'watchlist-options' => 'Вӓнгӹмӹ списокын настройкыжы',
 
@@ -516,7 +511,7 @@ $messages = array(
 'protect_expiry_old' => 'Пӹтӹм жепшӹ эртен',
 'protect-text' => "Тиштӹ тӓ ӹлӹштӓшӹн ӹшӹклӹмӹ кӱкшӹцшӹм анжал дӓ вашталтен кердӹдӓ'''$1'''.",
 'protect-locked-access' => "Тӓмдӓн учетный карточкыдан ӹшӹклӹмӓш кӱкшӹцӹм вашталташ манын ситӓлык праважы уке. Ти ӹлӹштӓшӹм шӹндӹдӓ'''$1''':",
-'protect-cascadeon' => 'Ти ӹлӹштӓшӹм {{PLURAL:$1|-шкы пыртымат, ӹшӹклӓлтеш, кыды ӱлнӹрӓк ылшы ӹлӹштӓшӹш|ӹлӹштӓшвлӓшкӹ ажедеш, кышкы }} каскадан ӹшӹклӹмашӹм шӹндӹмӹ. Тӓ ти ӹлӹштӓшӹн ӹшӹклӹмӹ кӱкшӹцшӹм вашталтен кердӹдӓ, но тидӹ каскадан ӹшӹклӹмашӹм ак тӹкӓл лиэш.',
+'protect-cascadeon' => 'Ти ӹлӹштӓшӹм {{PLURAL:$1|1=-шкы пыртымат, ӹшӹклӓлтеш, кыды ӱлнӹрӓк ылшы ӹлӹштӓшӹш|ӹлӹштӓшвлӓшкӹ ажедеш, кышкы }} каскадан ӹшӹклӹмашӹм шӹндӹмӹ. Тӓ ти ӹлӹштӓшӹн ӹшӹклӹмӹ кӱкшӹцшӹм вашталтен кердӹдӓ, но тидӹ каскадан ӹшӹклӹмашӹм ак тӹкӓл лиэш.',
 'protect-default' => 'Ӹшӹклӹмӹ агыл',
 'protect-fallback' => 'Разрешени келеш «$1»',
 'protect-level-autoconfirmed' => 'У дӓ регистрируялтшы агыл сирӹшӹвла гӹц ӹшӹклӓш',
@@ -559,7 +554,7 @@ $messages = array(
 'isredirect' => 'вес вӓре колтымым анжыктышы ӹлӹштӓш',
 'istemplate' => 'кӧргӹш пыртымы',
 'isimage' => 'изображени докы ажедмӓш',
-'whatlinkshere-prev' => '{{PLURAL:$1|анзылнышы|анзылнышывлӓ|анзылнышывла}} $1',
+'whatlinkshere-prev' => '{{PLURAL:$1|анзылнышы|анзылнышывла|анзылнышывлӓ}} $1',
 'whatlinkshere-next' => '{{PLURAL:$1|пакылашы|пакылашывлӓ|пакылашывлӓ}} $1',
 'whatlinkshere-links' => '← ажедмӓшвлӓ',
 'whatlinkshere-hideredirs' => '$1 вес вӓрӹш колтымаш',
index f6f056a..4cd2a50 100644 (file)
@@ -80,7 +80,6 @@ $magicWords = array(
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Sublinhar lhigaçones:',
-'tog-justify' => 'Justeficar parágrafos',
 'tog-hideminor' => 'Scunder eidiçones mais pequeinhas nas redadeiras altaraçones',
 'tog-hidepatrolled' => 'Scunder eidiçones patrulhadas nas redadeiras altaraçones',
 'tog-newpageshidepatrolled' => 'Scunder  páiginas patrulhadas na lhista de páiginas nuobas',
@@ -89,9 +88,7 @@ $messages = array(
 'tog-numberheadings' => 'Outo-numerar cabeçalhos',
 'tog-showtoolbar' => "Amostrar barra d'eidiçon (JavaScrit)",
 'tog-editondblclick' => 'Eiditar páiginas quando houbir un clique duplo (JavaScrit)',
-'tog-editsection' => "Possiblitar l'eidiçon de cachos cun lhigaçones [eiditar]",
 'tog-editsectiononrightclick' => "Posseblitar l'eidiçon de cachos por clique cul boton dreito ne l títalo de la seçon (JavaScrit)",
-'tog-showtoc' => 'Amostrar índice (para páiginas cun mais de trés cachos)',
 'tog-rememberpassword' => 'Recordar la mie palabra-chabe antre sessones (for a maximum of $1 {{PLURAL:$1|day|days}})',
 'tog-watchcreations' => 'Ajuntar las páiginas que you criar a las minhas páiginas begiadas',
 'tog-watchdefault' => 'Ajuntar las páiginas que you eiditar a las minhas páiginas begiadas',
@@ -533,7 +530,6 @@ Legenda: (atu) = defrénças de la berson atual,
 'compareselectedversions' => 'Cumparar las bersones marcadas',
 'showhideselectedversions' => 'Amostrar/ocultar bersones selecionadas',
 'editundo' => 'çfazer',
-'diff-multi' => '({{PLURAL:$1|ua eidiçon antermédia nun stá a ser amostrada|$1 eidiçones antermédias nun stan a ser amostradas}}.)',
 
 # Search results
 'searchresults' => 'Resultados de la percura',
index 83fafcb..37046bf 100644 (file)
@@ -274,7 +274,6 @@ $messages = array(
 'vector-action-protect' => 'زلفن بزوئن',
 'vector-action-undelete' => 'دباره بنویشته بیّن',
 'vector-action-unprotect' => 'زلفن عوض هاکردن',
-'vector-simplesearch-preference' => 'فعال هاکردن پیشنهادون بگردستن پیشرفته (فقط پوسته برداری دله)',
 'vector-view-create' => 'بساتن',
 'vector-view-edit' => 'دچی‌ین',
 'vector-view-history' => 'تاریخچه ره بَدی‌ین',
index 80c990f..2d4662a 100644 (file)
@@ -174,7 +174,6 @@ $messages = array(
 'vector-action-protect' => 'Pó-hō·',
 'vector-action-undelete' => 'chhú-siau thâi tiàu',
 'vector-action-unprotect' => 'Chhú-siau pó-hō·',
-'vector-simplesearch-preference' => 'Chhái-iōng ka-kiông-pán ê chhiau-soh kiàn-gī ( chí hān tī Vector bīn-phoê)',
 'vector-view-create' => 'Khai-sí siá',
 'vector-view-edit' => 'Siu-kái',
 'vector-view-history' => 'khoàⁿ le̍k-sú',
index 0e7dfad..18d53ff 100644 (file)
@@ -44,16 +44,13 @@ $digitTransformTable = array(
 $messages = array(
 # User preference toggles
 'tog-underline' => 'लिङ्कतेत अन्दरलाइन यानादिसँ:',
-'tog-justify' => 'अनुच्छेद धंकादिसँ',
 'tog-hideminor' => 'न्हुगु हिलेज्याय् चिधंगु सम्पादन सुचुकादिसँ',
 'tog-extendwatchlist' => 'वाचलिस्टयात परिमार्जित याना सकल स्वेज्युगु हिलेज्या क्यनादिसँ, दकले लिपाया जक्क मखु',
 'tog-usenewrc' => 'एन्ह्यान्स्ड् न्हुगु हिलेज्या (जाभास्क्रिप्ट)',
 'tog-numberheadings' => 'अटो-ल्याखँ हेडिङ',
 'tog-showtoolbar' => 'सम्पादन टुलबार क्यनादिसँ (जाभास्क्रिप्ट)',
 'tog-editondblclick' => 'दबल क्लिकय् पौ सम्पादन यानादिसँ (जाभास्क्रिप्ट)',
-'tog-editsection' => '[सम्पादन] लिङ्कं सेक्सन सम्पादन यायेज्युगु यानादिसँ',
 'tog-editsectiononrightclick' => 'सेक्सनया छ्यँआखले राइट क्लिक याना सेक्सन सम्पादन यायेज्युगु यानादिसँ (जाभास्क्रिप्ट)',
-'tog-showtoc' => 'कन्टेण्टया धलः क्यनादिसँ (३गु स्वया अप्व शिर्षक दुगु पौया निंति)',
 'tog-rememberpassword' => 'जिगु लग इन थ्व कम्प्युतरय् लुमंकादिसँ (for a maximum of $1 {{PLURAL:$1|day|days}})',
 'tog-watchcreations' => 'जिं देकागु / न्ह्यथनागु पौयात जिगु दृष्टिधलः(watchlist)य् तयादिसँ',
 'tog-watchdefault' => 'जिं सम्पादन यानागु पौयात जिगु वाचलिस्टय् तयादिसँ',
@@ -62,7 +59,6 @@ $messages = array(
 'tog-minordefault' => 'सकल सम्पादनतेत डिफल्टं चीधंगु यानादिसँ',
 'tog-previewontop' => 'सम्पादन सन्दुक स्वया न्ह्यः प्रिभ्यु क्यनादिसँ',
 'tog-previewonfirst' => 'न्हापाँगु सम्पादन स्वया न्ह्यः प्रिभ्यु क्यनादिसँ',
-'tog-nocache' => 'पौ क्याशिङ (caching) डिजेबल यानादिसँ',
 'tog-enotifwatchlistpages' => 'जिगु वाचलिस्टया पौ सम्पादन जुइबिले जितः इ-मेल यानादिसँ',
 'tog-enotifusertalkpages' => 'जिगु खँल्हाबल्हा पौ सम्पादन जुइबिले जितः इ-मेल यानादिसँ',
 'tog-enotifminoredits' => 'पौया चीधंगु सम्पादनया निंतिं नं जितः इ-मेल यानादिसँ',
index eb0bd0e..9a7b3b0 100644 (file)
@@ -938,6 +938,9 @@ Wacht alstublieft $1 voordat u het opnieuw probeert.',
 'suspicious-userlogout' => 'Uw verzoek om af te melden is genegeerd, omdat het lijkt alsof het verzoek is verzonden door een browser of cacheproxy die stuk is.',
 'createacct-another-realname-tip' => 'Echte naam is optioneel.
 Als u deze opgeeft, wordt deze naam gebruikt worden om u erkenning te geven voor uw werk.',
+'pt-login' => 'Aanmelden',
+'pt-createaccount' => 'Registreren',
+'pt-userlogout' => 'Afmelden',
 
 # Email sending
 'php-mail-error-unknown' => 'Er is een onbekende fout opgetreden in de mail()-functie van PHP',
index ef11ac5..ec6fdce 100644 (file)
@@ -525,7 +525,6 @@ Neem contact op met je internetprovider of je helpdesk en stel die op de hoogte
 'sorbsreason' => 'Je IP-adres staat bekend als open proxyserver in de DNS-blacklist die {{SITENAME}} gebruikt.',
 'sorbs_create_account_reason' => 'Je IP-adres staat bekend als open proxyserver in de DNS-blacklist die {{SITENAME}} gebruikt.
 Je kunt geen gebruiker registreren.',
-'cant-block-while-blocked' => 'Je kunt andere gebruikers niet blokkeren terwijl je zelf geblokkeerd bent.',
 'cant-see-hidden-user' => 'De gebruiker die je probeert te blokken is al geblokkeerd en verborgen.
 Omdat je het recht "hideuser" niet hebt, kun je de blokkade van de gebruiker niet bekijken of bewerken.',
 'ipbblocked' => 'Je kunt geen andere gebruikers (de)blokkeren, omdat je zelf geblokkeerd bent',
@@ -604,7 +603,6 @@ Sla de uitvoer op je eigen computer op, en voeg die daarna hier toe.',
 'tooltip-pt-watchlist' => "Overzicht van pagina's die je volgt",
 'tooltip-pt-mycontris' => 'Overzicht van je bijdragen',
 'tooltip-pt-login' => 'Je wordt van harte uitgenodigd om je aan te melden als gebruiker, maar dit is niet verplicht',
-'tooltip-pt-anonlogin' => 'Je wordt van harte uitgenodigd om je aan te melden als gebruiker, maar dit is niet verplicht',
 'tooltip-ca-edit' => 'Je kunt deze pagina bewerken.
 Gebruik de voorbeeldweergaveknop alvorens te bewaren.',
 'tooltip-ca-viewsource' => 'Deze pagina is beveiligd.
@@ -645,7 +643,6 @@ Het e-mailprogramma meldde: $1',
 'confirmemail_success' => 'Je e-mailadres is bevestigd.
 Je kunt jezelf nu [[Special:UserLogin|aanmelden]] en {{SITENAME}} gebruiken.',
 'confirmemail_loggedin' => 'Je e-mailadres is nu bevestigd.',
-'confirmemail_error' => 'Er is iets verkeerd gegaan tijdens het opslaan van je bevestiging.',
 'confirmemail_body' => 'Iemand, waarschijnlijk jijzelf, met het IP-adres $1,
 heeft zich met dit e-mailadres geregistreerd als gebruiker "$2" op {{SITENAME}}.
 
index 16f2f17..0371b7b 100644 (file)
@@ -460,7 +460,7 @@ $messages = array(
 'newwindow' => '(vert opna i eit nytt vindauge)',
 'cancel' => 'Avbryt',
 'moredotdotdot' => 'Meir …',
-'morenotlisted' => 'Meir som ikkje er lista opp …',
+'morenotlisted' => 'Lista er ikkje heil.',
 'mypage' => 'Sida mi',
 'mytalk' => 'Diskusjon',
 'anontalk' => 'Diskusjonside for denne IP-adressa',
@@ -561,7 +561,7 @@ $1',
 # All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
 'aboutsite' => 'Om {{SITENAME}}',
 'aboutpage' => 'Project:Om',
-'copyright' => 'Innhaldet er utgjeve under $1.',
+'copyright' => 'Innhaldet er utgjeve under $1 minder anna er oppgjeve.',
 'copyrightpage' => '{{ns:project}}:Opphavsrett',
 'currentevents' => 'Aktuelt',
 'currentevents-url' => 'Project:Aktuelt',
@@ -1471,6 +1471,7 @@ Denne informasjonen vil vera offentleg.',
 'prefs-displaysearchoptions' => 'Val for vising',
 'prefs-displaywatchlist' => 'Val for vising',
 'prefs-diffs' => 'Skilnader',
+'prefs-help-prefershttps' => 'Denne innstillinga vil verta verksam neste gongen du loggar inn.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'E-postadressa ser ut til å vera gyldig',
index c5a6f89..1e20a2a 100644 (file)
@@ -245,7 +245,6 @@ Proba [[Special:Search|sercho sur li wiki]] por relatet pagines.',
 # Recent changes
 'nchanges' => '$1 {{PLURAL:$1|chanjo|chanjos}}',
 'recentchanges' => 'Resenti chanjos',
-'rcnote' => "Subu es {{PLURAL:$1| '''1''' chanje|li lasti '''$1''' chanjes}} in li lasti {{PLURAL:$2|die|'''$2''' dies}}, fro $4, $5.",
 'rcshowhideminor' => '$1 minori modifikos',
 'rcshowhideanons' => '$1 anonimi useres',
 'rcshowhidemine' => '$1 men modifikos',
index 11c0709..fbd899e 100644 (file)
@@ -226,7 +226,6 @@ $messages = array(
 'nchanges' => '$1 {{PLURAL:$1|łahgo ályaaígíí|łahgo ályaaígíí}}',
 'recentchanges' => 'Áníídí łahgo ályaaígíí',
 'recentchanges-feed-description' => 'áníídí łahgo ályaaígíí',
-'rcnote' => "{{PLURAL:$2|jį́į́dą́ą́ʼ |}} {{PLURAL:$1|'''1''' łahgo ályaaígíí tʼéiyá|'''$1''' łahgo ályaaígíí}}, {{PLURAL:$2||'''$2di''' yiskánídą́ą́ʼ kojįʼ, }} ($5, $4)",
 'rcshowhideminor' => 'naaltsoos tʼáá áłtsʼíísígo łahgo ályaaígíí $1',
 'rcshowhidebots' => "''bots''ígíí $1",
 'rcshowhideliu' => 'chodayoołʼįįhí ééhozinígíí $1',
index 223994d..9a405f2 100644 (file)
@@ -287,7 +287,6 @@ Pinengneng so $2 para ed listaan na saray abural ran balo.',
 # Block/unblock
 'blockip' => 'Isara ed para ayan manag-usar',
 'ipbreason' => 'Katonongan',
-'ipbreasonotherlist' => 'Arom ya katonongan',
 'ipbsubmit' => 'Isebel ed sayan manag-usar',
 'badipaddress' => 'Aga nayarin IP address',
 'ipusubmit' => 'Aga la isebel so ayan address',
index b7303ae..19d8430 100644 (file)
@@ -151,7 +151,6 @@ $messages = array(
 'vector-action-protect' => 'Garantir',
 'vector-action-undelete' => "N'poin défacher",
 'vector-action-unprotect' => "Canger l'garantie",
-'vector-simplesearch-preference' => "Actionner l'barette pour chés traches simpes (seulemint pour l'habillure Vector)",
 'vector-view-create' => 'Créer',
 'vector-view-edit' => 'Éditer',
 'vector-view-history' => "Vir l'histoère",
index fe31813..841b9b8 100644 (file)
@@ -20,16 +20,13 @@ $fallback = 'de';
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Links unjastritje:',
-'tog-justify' => 'Tatjst em Blocksautz',
 'tog-hideminor' => 'Tjliene Endarunge ute latste Tiet nich wiese',
 'tog-extendwatchlist' => 'Moak dee Oppaussied-List jrata en wies aula Endarunge',
 'tog-usenewrc' => 'Betre Doastalinj (JavaScript es needich)',
 'tog-numberheadings' => 'Ewaschrefte automatisch numerere',
 'tog-showtoolbar' => 'Instrumente-Leist wiese (JavaScript)',
 'tog-editondblclick' => 'Siede mett Dobbeltklick beoabeide (JavaScript)',
-'tog-editsection' => 'Links tom Beoabeide von eenzelne Aufschnette wiese',
 'tog-editsectiononrightclick' => 'Eenzelne Aufschnette mett eenem Rajsch-Klick beoabeide (JavaScript)',
-'tog-showtoc' => 'Wies dee List mettem Enhault (fe Siede mett meea aus dree Ewaschrefte)',
 'tog-rememberpassword' => 'Login bewoare, dee Brucka blift aun disem Computer aunjemaldt',
 'tog-previewontop' => 'Wies Preview bowe em Beoabeide-Fensta',
 'tog-showhiddencats' => "Wies fe'stoakne Kategorien",
@@ -479,7 +476,6 @@ Dee Grunt es: "$2"',
 'tooltip-pt-watchlist' => 'List fonn Siede, op de du oppausst, waut sikj endat',
 'tooltip-pt-mycontris' => 'List fonn diene Biedroage',
 'tooltip-pt-login' => 'Aunmalde wudd scheen senne, es oba nich onbedinjt needich.',
-'tooltip-pt-anonlogin' => 'Aunmalde wudd scheen senne, es oba nich onbedinjt needich.',
 'tooltip-pt-logout' => 'Rut hia',
 'tooltip-ca-talk' => 'Diskussioon ewa dem Ennhault vonne Sied',
 'tooltip-ca-edit' => 'Du kaunst dise Sied beoabeide. Bitte verrem Bewoare dee Eschtmolseene-Funktioon brucke.',
index 2e176a3..7ca9697 100644 (file)
@@ -582,6 +582,9 @@ Për piasì, ch'a speta $1 prima ëd prové torna.",
 'suspicious-userlogout' => "Soa arcesta ëd seurte dal sistema a l'é stàita arfudà përchè a smija com s'a fussa stàita mandà da 'n navigador rot o da l'archiviassion an local d'un prëstanòm.",
 'createacct-another-realname-tip' => "Ël nòm ver a l'é opsional.
 S'a decid ëd butelo, a sarà dovrà për dé a l'utent ël mérit ëd sò travaj.",
+'pt-login' => 'Rintré ant ël sistema',
+'pt-createaccount' => 'Creé un cont',
+'pt-userlogout' => 'Seurte dal sistema',
 
 # Email sending
 'php-mail-error-unknown' => 'Eror pa conossù ant la funsion mail() ëd PHP.',
index 1a9aa80..253e579 100644 (file)
@@ -60,7 +60,6 @@ $dateFormats = array(
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Υπογράμμιση συνδεσμίων:',
-'tog-justify' => 'Στοίχισην παραγραφίων',
 'tog-editondblclick' => 'Άλλαγμαν σελιδίων με διπλόν κλικ (JavaScript)',
 'tog-previewonfirst' => 'Δείξον πρώτον τέρεμαν σο πρώτον άλλαγμαν',
 'tog-shownumberswatching' => "Δείξον τοι χρήστς π' δεαβάζνε",
@@ -576,7 +575,6 @@ $messages = array(
 'lineno' => 'Γραμμή $1:',
 'compareselectedversions' => 'Γαρσουλαεύτε...',
 'editundo' => 'αναίρεση',
-'diff-multi' => "({{PLURAL:$1|Μίαν αλλαγήν|$1 αλλαγάς}} 'κ δεκνίζκουνταν.)",
 
 # Search results
 'searchresults' => 'Εύρον αποτελέσματα',
index c60aff3..1bd8be8 100644 (file)
@@ -867,6 +867,9 @@ Aguarde $1 antes de tentar novamente, por favor.',
 'suspicious-userlogout' => 'O seu pedido para sair foi negado porque parece ter sido enviado por um browser danificado ou por um proxy com cache.',
 'createacct-another-realname-tip' => 'O fornecimento do nome verdadeiro é opcional.
 Se optar por revelá-lo, ele será utilizado para atribuir-lhe crédito pelo seu trabalho.',
+'pt-login' => 'Autenticação',
+'pt-createaccount' => 'Criar uma conta',
+'pt-userlogout' => 'Sair',
 
 # Email sending
 'php-mail-error-unknown' => 'Erro desconhecido na função mail() do PHP',
@@ -1431,6 +1434,7 @@ Os detalhes podem ser encontrados no [{{fullurl:{{#Special:Log}}/delete|page={{F
 'search-result-score' => 'Relevancia: $1%',
 'search-redirect' => '(redirecionamento de $1)',
 'search-section' => '(seção $1)',
+'search-file-match' => '(coincide com o conteúdo do ficheiro)',
 'search-suggest' => 'Será que queria dizer: $1',
 'search-interwiki-caption' => 'Projetos irmãos',
 'search-interwiki-default' => 'Resultados de $1:',
@@ -1440,7 +1444,7 @@ Os detalhes podem ser encontrados no [{{fullurl:{{#Special:Log}}/delete|page={{F
 'searchrelated' => 'relacionados',
 'searchall' => 'todos',
 'showingresults' => "{{PLURAL:$1|É apresentado '''um''' resultado|São apresentados até '''$1''' resultados}} abaixo{{PLURAL:$1||, começando pelo '''$2'''º}}.",
-'showingresultsinrange' => 'Mostrando abaixo até {{PLURAL:$1|strong>1</strong>resultado|strong>$1</strong> resultados}} entre #<strong>$2</strong> e #<strong>$3</strong>.',
+'showingresultsinrange' => 'Mostrando abaixo até {{PLURAL:$1|<strong>1</strong> resultado|<strong>$1</strong> resultados}} entre #<strong>$2</strong> e #<strong>$3</strong>.',
 'showingresultsnum' => "{{PLURAL:$3|É apresentado '''um''' resultado|São apresentados '''$3''' resultados}} abaixo{{PLURAL:$3||, começando pelo '''$2'''º}}.",
 'showingresultsheader' => "{{PLURAL:$5|Resultado '''$1''' de '''$3'''|Resultados '''$1–$2''' de '''$3'''}} para '''$4'''",
 'search-nonefound' => 'A pesquisa não produziu resultados.',
@@ -1888,6 +1892,7 @@ Caso deseje, mesmo assim, carregar o seu ficheiro, volte atrás e envie-o com um
 'file-exists-duplicate' => 'Este ficheiro é um duplicado {{PLURAL:$1|do seguinte|dos seguintes}}:',
 'file-deleted-duplicate' => 'Um ficheiro idêntico a este ([[:$1]]) foi eliminado anteriormente.
 Verifique o motivo da eliminação do ficheiro antes de prosseguir com o re-envio.',
+'file-deleted-duplicate-notitle' => 'Um ficheiro idêntico a este foi eliminado anteriormente, e o título foi suprimido. Você deve pedir a alguém capaz de ver os dados de ficheiros eliminados para que revise a situação antes de carregar novamente este ficheiro.',
 'uploadwarning' => 'Aviso de envio',
 'uploadwarning-text' => 'Modifique a descrição do ficheiro abaixo e tente novamente, por favor.',
 'savefile' => 'Gravar ficheiro',
@@ -2271,6 +2276,10 @@ Agora redirecciona para [[$2]].',
 'protectedpages-cascade' => 'Apenas proteções em cascata',
 'protectedpages-noredirect' => 'Esconder redirecionamentos',
 'protectedpagesempty' => 'Neste momento, nenhuma das páginas está protegida com estes parâmetros.',
+'protectedpages-timestamp' => 'Timestamp',
+'protectedpages-expiry' => 'Expira em',
+'protectedpages-params' => 'Parâmetros de protecção',
+'protectedpages-unknown-performer' => 'Utilizador desconhecido',
 'protectedtitles' => 'Títulos protegidos',
 'protectedtitles-summary' => 'Esta página lista os títulos protegidos, cuja criação está impossibilitada. Para ver as páginas protegidas consulte [[{{#special:ProtectedPages}}]].',
 'protectedtitlesempty' => 'Neste momento, nenhum dos títulos está protegido com estes parâmetros.',
@@ -2459,6 +2468,7 @@ Modificações futuras desta página e da respetiva página de discussão serão
 'watchmethod-list' => 'a procurar mudanças recentes nas páginas vigiadas',
 'watchlistcontains' => 'A sua lista de páginas vigiadas contém $1 {{PLURAL:$1|página|páginas}}.',
 'iteminvalidname' => "Problema com item '$1', nome inválido...",
+'wlnote2' => 'Estão listadas abaixo as mudanças realizadas {{PLURAL:$1|na última hora|nas últimas <strong>$1</strong> horas}}, a partir de $2, $3.',
 'wlshowlast' => 'Ver últimas $1 horas $2 dias $3',
 'watchlist-options' => 'Opções da lista de páginas vigiadas',
 
@@ -2778,11 +2788,12 @@ Isto só deve ser feito para prevenir vandalismo e de acordo com a [[{{MediaWiki
 'ipb-change-block' => 'Voltar a bloquear o utilizador com estes parâmetros',
 'ipb-confirm' => 'Confirmar o bloqueio',
 'badipaddress' => 'Endereço IP inválido',
-'blockipsuccesssub' => 'Bloqueio bem sucedido',
+'blockipsuccesssub' => 'Bloqueio efetuado',
 'blockipsuccesstext' => '[[Special:Contributions/$1|$1]] foi {{GENDER:$1|bloqueado|bloqueada}}.<br />
 Consulte a [[Special:BlockList|lista de bloqueios]] para rever os bloqueios.',
 'ipb-blockingself' => 'Está prestes a bloquear-se a si próprio. Tem a certeza de que pretende fazê-lo?',
 'ipb-confirmhideuser' => 'Está prestes a bloquear um utilizador com "Ocultar nome de utilizador/IP" ativado. Isto irá suprimir o nome do utilizador de todas as listas e entradas dos registros. Tem a certeza de que pretende fazê-lo?',
+'ipb-confirmaction' => 'Se tem a certeza de que quer fazê-lo, marque o campo "{{int:ipb-confirm}}" ao fundo.',
 'ipb-edit-dropdown' => 'Editar motivos de bloqueio',
 'ipb-unblock-addr' => 'Desbloquear $1',
 'ipb-unblock' => 'Desbloquear um utilizador ou endereço IP',
@@ -3015,6 +3026,7 @@ Se deseja colaborar na localização genérica do MediaWiki, visite [https://www
 'allmessages-prefix' => 'Filtrar pelos caracteres iniciais:',
 'allmessages-language' => 'Língua:',
 'allmessages-filter-submit' => 'Filtrar',
+'allmessages-filter-translate' => 'Traduzir',
 
 # Thumbnails
 'thumbnail-more' => 'Ampliar',
@@ -3031,6 +3043,7 @@ $2',
 'thumbnail_image-type' => 'Tipo de imagem não suportado',
 'thumbnail_gd-library' => 'Configuração da biblioteca GD incompleta: função $1 em falta',
 'thumbnail_image-missing' => 'Ficheiro em falta: $1',
+'thumbnail_image-failure-limit' => 'Ocorreram demasiadas tentativas recentes ($1 ou mais) de criação desta miniatura. Tente novamente mais tarde, por favor.',
 
 # Special:Import
 'import' => 'Importar páginas',
@@ -3096,7 +3109,7 @@ Não há um diretório temporário.',
 'javascripttest' => 'Teste de JavaScript',
 'javascripttest-title' => 'Executando os testes $1',
 'javascripttest-pagetext-noframework' => 'Esta página é reservada para a execução de testes de JavaScript.',
-'javascripttest-pagetext-unknownframework' => 'Estrutura de testes "$1" desconhecido.',
+'javascripttest-pagetext-unknownframework' => 'Estrutura de testes "$1" desconhecida.',
 'javascripttest-pagetext-frameworks' => 'Escolha, por favor, uma das seguintes estruturas de teste: $1',
 'javascripttest-pagetext-skins' => 'Escolher um tema para executar os testes com:',
 'javascripttest-qunit-intro' => 'Consulte a [ $1 documentação de testes] no mediawiki.org.',
@@ -3889,7 +3902,7 @@ Por favor, confirme que você quer realmente recriar esta página.',
 
 # Language selector for translatable SVGs
 'img-lang-default' => '(língua padrão)',
-'img-lang-info' => 'Renderizar essa imagem em $1. $2',
+'img-lang-info' => 'Compor esta imagem em $1. $2',
 'img-lang-go' => 'Ir',
 
 # Table pager
@@ -3912,7 +3925,7 @@ Por favor, confirme que você quer realmente recriar esta página.',
 
 # Live preview
 'livepreview-loading' => 'A carregar…',
-'livepreview-ready' => 'A carregando… Terminado!',
+'livepreview-ready' => 'A carregar... Terminado!',
 'livepreview-failed' => 'A antevisão instantânea falhou!
 Tente a antevisão normal.',
 'livepreview-error' => 'Falha ao ligar: $1 "$2"
@@ -3974,9 +3987,18 @@ Também pode [[Special:EditWatchlist|editar a lista da maneira convencional]].',
 'version-hook-subscribedby' => 'Subscrito por',
 'version-version' => '(Versão $1)',
 'version-license' => 'Licença do MediaWiki',
-'version-credits-not-found' => 'Nenhuma informação detalhada acerca dos créditos foi encontrada para esta extensão.',
+'version-ext-license' => 'Licença',
+'version-ext-colheader-name' => 'Extensão',
+'version-ext-colheader-version' => 'Versão',
+'version-ext-colheader-license' => 'Licença',
+'version-ext-colheader-description' => 'Descrição',
+'version-ext-colheader-credits' => 'Autores',
+'version-license-title' => 'Licença para $1',
+'version-license-not-found' => 'Não foi encontrada informação detalhada da licença para esta extensão.',
+'version-credits-not-found' => 'Não foi encontrada informação detalhada dos créditos para esta extensão.',
 'version-poweredby-credits' => 'Esta wiki é potenciada por <strong>[https://www.mediawiki.org/ MediaWiki]</strong>, copyright © 2001-$1 $2.',
 'version-poweredby-others' => 'outros',
+'version-poweredby-translators' => 'os tradutores da translatewiki.net',
 'version-credits-summary' => 'Gostaríamos de reconhecer as seguintes pessoas pela sua contribuição para o [[Special:Version|MediaWiki]].',
 'version-license-info' => 'O MediaWiki é software livre; pode redistribuí-lo e/ou modificá-lo nos termos da licença GNU General Public License, tal como publicada pela Free Software Foundation; tanto a versão 2 da Licença, como (por opção sua) qualquer versão posterior.
 
@@ -3991,13 +4013,14 @@ Em conjunto com este programa deve ter recebido [{{SERVER}}{{SCRIPTPATH}}/COPYIN
 'version-entrypoints-header-url' => 'URL',
 
 # Special:Redirect
-'redirect' => 'Redireccionar pelo ID do ficheiro, utilizador ou revisão',
+'redirect' => 'Redireccionar pelo ID do ficheiro, do utilizador ou da revisão',
 'redirect-legend' => 'Redirecionar para um ficheiro ou página',
-'redirect-summary' => 'Esta página especial redirecciona a um ficheiro (dado o nome do ficheiro), a uma página (dado um ID de revisão) ou a uma página de utilizador (dado o ID do utilizador). Utilização: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]] ou [[{{#Special:Redirect}}/user/101]].',
+'redirect-summary' => 'Esta página especial redirecciona para um ficheiro (dado o nome do ficheiro), para uma página (dado um ID de revisão ou página) ou para uma página de utilizador (dado um ID numérico do utilizador). Utilização: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]] ou [[{{#Special:Redirect}}/user/101]].',
 'redirect-submit' => 'Ir',
 'redirect-lookup' => 'Pesquisa:',
 'redirect-value' => 'Valor:',
 'redirect-user' => 'Identificador do utilizador',
+'redirect-page' => 'Identificador (ID) da página',
 'redirect-revision' => 'Revisão da página',
 'redirect-file' => 'Nome do ficheiro',
 'redirect-not-exists' => 'Valor não encontrado',
@@ -4191,6 +4214,7 @@ Caso contrário, pode facilmente usar o formulário abaixo. O seu comentário se
 'api-error-overwrite' => 'Não é permitido sobrescrever um ficheiro existente.',
 'api-error-stashfailed' => 'Erro interno: O servidor não conseguiu armazenar o ficheiro temporário.',
 'api-error-publishfailed' => 'Erro interno: Servidor não conseguiu publicar ficheiro temporário.',
+'api-error-stasherror' => 'Ocorreu um erro no upload do ficheiro escondido.',
 'api-error-timeout' => 'O servidor não respondeu no prazo esperado.',
 'api-error-unclassified' => 'Ocorreu um erro desconhecido',
 'api-error-unknown-code' => 'Erro desconhecido: "$1"',
@@ -4220,26 +4244,32 @@ Caso contrário, pode facilmente usar o formulário abaixo. O seu comentário se
 'limitreport-cputime-value' => '$1 {{PLURAL:$1|segundo|segundos}}',
 'limitreport-walltime' => 'Tempo real de utilização',
 'limitreport-walltime-value' => '$1 {{PLURAL:$1|segundo|segundos}}',
+'limitreport-ppvisitednodes' => 'Número de nós visitados pelo pré-processador',
+'limitreport-ppgeneratednodes' => 'Número de nós gerados pelo pré-processador',
+'limitreport-postexpandincludesize' => 'Tamanho de inclusão após expansão',
 'limitreport-postexpandincludesize-value' => '$1/$2 {{PLURAL:$2|byte|bytes}}',
 'limitreport-templateargumentsize' => 'Tamanho dos argumentos da predefinição',
 'limitreport-templateargumentsize-value' => '$1/$2 {{PLURAL:$2|byte|bytes}}',
+'limitreport-expansiondepth' => 'Profundidade máxima de expansão',
 'limitreport-expensivefunctioncount' => 'Número de funções do analisador custosas',
 
 # Special:ExpandTemplates
 'expandtemplates' => 'Expandir predefinições',
 'expand_templates_intro' => "Esta página especial recebe um texto e expande recursivamente todas as predefinições nele existentes.
 Também expande funções do analisador sintático ''(parser)'', tais como
-<nowiki>{{</nowiki>#language:...}}, e variáveis, tais como
+<nowiki>{{</nowiki>#language:...}}, e variáveis, como
 <nowiki>{{</nowiki>CURRENTDAY}}.
-De fato, expande tudo o que estiver entre chaves duplas.",
+Na verdade, expande tudo o que estiver entre chavetas duplas.",
 'expand_templates_title' => 'Título de contexto para {{FULLPAGENAME}} etc.:',
 'expand_templates_input' => 'Texto a expandir:',
 'expand_templates_output' => 'Resultado',
 'expand_templates_xml_output' => 'Resultado XML',
+'expand_templates_html_output' => 'Resultado HTML puro',
 'expand_templates_ok' => 'Expandir',
 'expand_templates_remove_comments' => 'Remover comentários',
 'expand_templates_remove_nowiki' => "Suprimir ''tags'' <nowiki> no resultado",
 'expand_templates_generate_xml' => 'Mostrar a árvore de análise sintáctica do XML',
+'expand_templates_generate_rawhtml' => 'Mostrar o HTML puro',
 'expand_templates_preview' => 'Antevisão do resultado',
 
 # Unknown messages
index f4dbfdd..345bcd9 100644 (file)
@@ -399,6 +399,7 @@ Parameters:
 'category-subcat-count' => 'This message is displayed at the top of a category page showing the number of pages in the category.
 
 Parameters:
+* $1 - number of subcategories shown
 * $2 - total number of subcategories in category',
 'category-subcat-count-limited' => 'This message is displayed at the top of a category page showing the number of pages in the category when not all pages in a category are counted.
 
@@ -1324,7 +1325,7 @@ See example: [[Special:UserLogin]]',
 * $1 - a link to the account creation form, and the text of it is {{msg-mw|Nologinlink}}
 {{Identical|Do not have an account}}',
 'nologinlink' => 'Since 1.22 no longer used in core, but may be used by some extensions. DEPRECATED.
-{{Identical|Create an account}}',
+{{Identical|Create account}}',
 'createaccount' => '{{doc-special|CreateAccount|unlisted=1}}
 {{Identical|Create account}}',
 'gotaccount' => 'Since 1.22 no longer used in core, but may be used by some extensions. DEPRECATED. Parameter:
index 6c04416..f37147d 100644 (file)
@@ -788,6 +788,9 @@ Kay willay pantasqa kaptinqa, qhawarparillay.',
 'loginlanguagelabel' => 'Rimay: $1',
 'suspicious-userlogout' => "Lluqsiy mañakuyniykiqa mananchasqam karqan, waqllisqa wamp'unamanta icha pakaq proksimanta kachasqa kaspanchá.",
 'createacct-another-realname-tip' => "* Chiqap sutiqa munanallapaqmi. Quwaptiykiqa, llamk'apusqakunam paywan sananchasqa kanqa.",
+'pt-login' => 'Yaykuy',
+'pt-createaccount' => 'Musuq rakiqunata kichariy',
+'pt-userlogout' => 'Lluqsiy',
 
 # Email sending
 'php-mail-error-unknown' => 'Mana riqsisqa pantasqa PHP mail() rurananpi',
@@ -796,7 +799,7 @@ Kay willay pantasqa kaptinqa, qhawarparillay.',
 
 # Change password dialog
 'changepassword' => 'Yaykuna rimata hukchay',
-'resetpass_announce' => "E-chaskiwan kachasqa mit'alla yaykuna rimawanmi yaykurqunki. Ama hina kaspa, musuq yaykuna rimaykita qillqamuy:",
+'resetpass_announce' => "E-chaskiwan kachasqa mit'alla yaykuna rimawanmi yaykurqunki. Yaykunaykita tukunaykipaqqa, musuq yaykuna rimaykita churay:",
 'resetpass_text' => '<!-- Añada texto aquí -->',
 'resetpass_header' => 'Yaykuna rimata hukchay',
 'oldpassword' => "Mawk'a yaykuna rima:",
@@ -1619,6 +1622,7 @@ $1 {{PLURAL:$1|sanampamanta|sanampakunamanta}} aswan pisi kananmi.',
 'recentchanges-label-minor' => "Kayqa aslla llamk'apuymi",
 'recentchanges-label-bot' => "Kayqa rurana antachap llamk'apusqanmi",
 'recentchanges-label-unpatrolled' => "Kay llamk'apusqaqa manaraqmi patrullasqachu",
+'recentchanges-legend-heading' => "'''Sut'ichana:'''",
 'recentchanges-legend-newpage' => "([[Special:NewPages|musuq p'anqakunatapas]] qhaway)",
 'rcnotefrom' => "Kay qatiqpiqa '''$2'''-mantapacha ('''$1'''-kama) hukchasqakunatam rikunki.",
 'rclistfrom' => '$1-manta musuq hukchasqakunata rikuchiy',
@@ -2088,7 +2092,16 @@ Ama hina kaspa, [$2 willañiqi ch'uyanchana p'anqata] qhaway astawan willachikun
 'protectedpages' => "Amachasqa p'anqakuna",
 'protectedpages-indef' => 'Wiñaypaq amachasqakuna chaylla',
 'protectedpages-cascade' => 'Phaqchallallapi amachay',
+'protectedpages-noredirect' => 'Pusapunakunata pakay',
 'protectedpagesempty' => "Kay kuskanachina tupukunawan amachasqa p'anqakunaqa manam kachkanchu.",
+'protectedpages-timestamp' => "Pacha q'illpay",
+'protectedpages-page' => "P'anqa",
+'protectedpages-expiry' => 'Puchukan',
+'protectedpages-performer' => 'Amachaq ruraq',
+'protectedpages-params' => 'Amachanapaq kuskanachina tupukuna',
+'protectedpages-reason' => 'Kayrayku',
+'protectedpages-unknown-timestamp' => 'Mana riqsisqa',
+'protectedpages-unknown-performer' => 'Mana riqsisqa ruraq',
 'protectedtitles' => "Amachasqa p'anqa sutikuna",
 'protectedtitlesempty' => "Manam kachkanchu kay kuskanachina tupukunawan amachasqa p'anqakuna.",
 'listusers' => 'Tukuy ruraqkuna',
@@ -2802,6 +2815,7 @@ Ama hina kaspa, [https://www.mediawiki.org/wiki/Localisation MediaWiki Localisat
 'allmessages-prefix' => "Ch'illchina, ñawpaq k'askaqkama:",
 'allmessages-language' => 'Rimay:',
 'allmessages-filter-submit' => 'Riy',
+'allmessages-filter-translate' => "T'ikray",
 
 # Thumbnails
 'thumbnail-more' => 'Hatunchay',
@@ -3635,6 +3649,10 @@ Ama hina kaspa, chiqapta kay p'anqatam musuqmanta kamayta munani nispa takyachiy
 'imgmultigo' => 'Riy!',
 'imgmultigoto' => "$1 sutiyuq p'anqaman riy",
 
+# Language selector for translatable SVGs
+'img-lang-default' => '(kikinmanta rimay)',
+'img-lang-go' => 'Riy',
+
 # Table pager
 'ascending_abbrev' => 'wich',
 'descending_abbrev' => 'uray',
@@ -3711,8 +3729,17 @@ Sapsilla ñawpaq qhawariyta tukuykachay.',
 'version-hook-subscribedby' => 'Kay runap mañaykusqan:',
 'version-version' => '(Musuqchasqa $1)',
 'version-license' => 'Saqillay',
+'version-ext-license' => 'Saqillay',
+'version-ext-colheader-name' => "Mast'ariy",
+'version-ext-colheader-version' => 'Musuqchasqa',
+'version-ext-colheader-license' => 'Saqillay',
+'version-ext-colheader-description' => "T'iktuna",
+'version-ext-colheader-credits' => 'Ruraqkuna',
+'version-license-title' => '$1-paq saqillay',
+'version-credits-title' => '$1-paq añayniy',
 'version-poweredby-credits' => "Kay wikitaqa '''[https://www.mediawiki.org/ MediaWiki-m]''' atichin, copyright © 2001-$1 $2.",
 'version-poweredby-others' => 'hukkuna',
+'version-poweredby-translators' => "translatewiki.net t'ikraqkuna",
 'version-credits-summary' => "Kay qatiqpi runakunatam [[Special:Version|MediaWiki]] nisqapaq llamk'apusqankunapaq riqsichiyta munayku.",
 'version-license-info' => "MediaWiki llamp'u kaqqa qispim; mast'ariytam icha wakinchaytam atinki GNU General Public License nisqa saqillaypa kamachisqankama, Free Software Foundation nisqap uyaychasqan; saqillaypa iskay ñiqin musuqchasqan, munaspaykiqa aswan musuq musuqchasqan.
 
@@ -3733,6 +3760,7 @@ MediaWikitaqa mast'ariyku runakunata yanapanapaqmi, ichataq MANAM FIYAKUYTA ATIY
 'redirect-lookup' => 'Maskay:',
 'redirect-value' => 'Chani:',
 'redirect-user' => 'Ruraqpa kikin kaynin',
+'redirect-page' => "P'anqap ID-nin",
 'redirect-revision' => "P'anqamanta musuqchasqa",
 'redirect-file' => 'Willañiqip sutin',
 'redirect-not-exists' => 'Chaniqa manam tarisqachu',
@@ -3750,6 +3778,7 @@ MediaWikitaqa mast'ariyku runakunata yanapanapaqmi, ichataq MANAM FIYAKUYTA ATIY
 
 # Special:SpecialPages
 'specialpages' => "Sapaq p'anqakuna",
+'specialpages-note-top' => "Sut'ichana",
 'specialpages-note' => '* Sapsipaq sapaq p\'anqakuna.
 * <span class="mw-specialpagerestricted">Sapaqkunallapaq sapaq p\'anqakuna.</span>',
 'specialpages-group-maintenance' => 'Hatalliy willaykuna',
@@ -3956,7 +3985,11 @@ Mana chayqa, kay qatiqpi kaq hunt'ana p'anqatam llamk'achiyta atinki. Willapuyni
 'expandtemplates' => "Plantillakunata mast'ariy",
 'expand_templates_input' => 'Yaykuchina qillqa:',
 'expand_templates_output' => 'Lluqsiynin:',
+'expand_templates_xml_output' => 'XML lluqsichiy',
+'expand_templates_html_output' => 'Chawa HTML lluqsichiy',
+'expand_templates_ok' => 'Arí niy',
 'expand_templates_remove_comments' => 'Willapusqakunata qichuy',
+'expand_templates_generate_rawhtml' => 'Chawa HTML-ta rikuchiy',
 'expand_templates_preview' => 'Ñawpaqta qhawallay',
 
 # Unknown messages
index cc2ce29..453ff7d 100644 (file)
@@ -170,7 +170,6 @@ $messages = array(
 'vector-action-protect' => 'Harkana',
 'vector-action-undelete' => 'Kutin wacharichina',
 'vector-action-unprotect' => 'Harkayta shukchina',
-'vector-simplesearch-preference' => 'Ashtawan alli maskankapak imakunata arinina (Vectorwanlla)',
 'vector-view-create' => 'Kamarina',
 'vector-view-edit' => 'Killkana',
 'vector-view-history' => 'Wiñay kawsayta rikuna',
index bb496be..bd7e0eb 100644 (file)
@@ -16,7 +16,6 @@ $fallback = 'it';
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Link cun la sotliniadura',
-'tog-justify' => 'Paràgraf: giustifiché',
 'tog-hideminor' => 'Nascond al mudefghi znini int la pàgina "Ultum mudèfghi"',
 'tog-hidepatrolled' => "Nascònd j cambiamént verifichèdi int'aglj ultum mudèfigh",
 'tog-newpageshidepatrolled' => 'Nascònd al pàgin verifichèdi da la lèsta dal pàgin növi',
@@ -25,9 +24,7 @@ $messages = array(
 'tog-numberheadings' => "Titul d'un paràgraf ch'l'à un nòmar daparlò",
 'tog-showtoolbar' => "Fam avdé la bara d'j strumént (u j vó JavaScript)",
 'tog-editondblclick' => 'Mudèfiga al pàgin scjazènd do volt (u j vò JavaScript)',
-'tog-editsection' => "S't'vù l'abilitaziòn ad'cambié al seziòn cum e' link [mudèfica]",
 'tog-editsectiononrightclick' => "S't'vù l'abilitaziòn ad cambié al seziòn <br />scjazénd e tast a dèstra sora e titul (u j vò JavaScript)",
-'tog-showtoc' => "Fam avdé l'indiz (sol par al pàgin cun piò d'3 seziòn)",
 'tog-rememberpassword' => "Arcurdam la parola d'ordin, par piasé (fèn a un masum $1 {{PLURAL:$1|dè|dè}})",
 'tog-watchcreations' => "Mett insèn al pàgin ch't'e' fat adès, intla lèsta da tní sot'occ",
 'tog-watchdefault' => "Mett insèn al pàgin ch'a j ò lavurè sora int la lèsta dal pàgin da tnì sot'òcc",
@@ -36,7 +33,6 @@ $messages = array(
 'tog-minordefault' => 'Ségna tot al mudèfic coma "zníni" s\'l\'utent làsa la casèla vuta',
 'tog-previewontop' => "Fam avdé l'anteprèma sora casèla d'mudèfica invezi che dciotta",
 'tog-previewonfirst' => "Fa' avdé l'anteprèma dop c'u's fa la prèma mudèfica",
-'tog-nocache' => "T'an stêga a tní in tla memoria al pàgin",
 'tog-enotifwatchlistpages' => "Fam' save' par e-mail quènd una pàgina dal mij l'è steda modifichèda",
 'tog-enotifusertalkpages' => "Fam' save' par e-mail quènd la mi pàgina dal discusiòn l'è steda modifichèda",
 'tog-enotifminoredits' => "Fam' save' par e-mail tòt al mudefchi, neca al znini",
@@ -379,7 +375,6 @@ Lezenda: '''({{int:cur}})''' = difarenzi cun la versiòn d'adès; '''({{int:last
 'recentchanges' => 'I ultum cambiamént',
 'recentchanges-legend' => "Upziòn d'j ultum cambiamént",
 'recentchanges-feed-description' => "Ste canël e' fa avdè i cambiamént piò rezent aj artècul d'sta wiki.",
-'rcnote' => "A què sota t'pù truvé {{PLURAL:$1|l'ultum cambiamént|j ultum '''$1''' cambiamént in st'artècul}} int j ultum {{PLURAL:$2|dè|'''$2''' dè}}; agl'infurmaziòn j è agiurnèdi a e' $4 al $5.",
 'rclistfrom' => 'Fam avdè i cambiamént növ a cminzipiè da $1',
 'rcshowhideminor' => '$1 al mudèfghi znini',
 'rcshowhidebots' => '$1 i bot',
index 74e9a20..9d55fdd 100644 (file)
@@ -11,6 +11,7 @@
  * @author Aryaz
  * @author Dalinanir
  * @author Jose77
+ * @author Mmistmurt
  * @author MoubarikBelkasim
  * @author Urhixidur
  */
@@ -55,7 +56,7 @@ $messages = array(
 'october-gen' => 'Ktubar',
 'november-gen' => 'Nuwanbir',
 'december-gen' => 'Dujanbir',
-'jan' => 'Yennayer',
+'jan' => 'Yen',
 'feb' => 'Yebrayer',
 'mar' => 'Mars',
 'apr' => 'Abrir',
@@ -316,7 +317,6 @@ Tasarut: (cur) = imṣebḍiyen ag tunɣilt n ruxa,
 'lineno' => 'Tabrit $1:',
 'compareselectedversions' => 'Smequdda tunɣilin a',
 'editundo' => 'kkes min ggiɣ',
-'diff-multi' => '({{PLURAL:$1|ijj n ufegged|$1 ifeggiden}} war ad twamlen ca.)',
 
 # Search results
 'searchresults' => 'Tifellawin n tarezzut',
@@ -356,7 +356,6 @@ mala tucit-id, ataf Lxdant inec a tetwassan ila inec.',
 'nchanges' => '$1 {{PLURAL:$1|tiẓṛegt|tiẓṛigin}}',
 'recentchanges' => 'Tiẓṛigin tineggura',
 'recentchanges-feed-description' => 'Bbar tiẓṛigin timayutin n wiki deg usudem(feed) a .',
-'rcnote' => "Awadday {{PLURAL:$1|d '''1''' taẓṛigt|d '''$1''' tiẓṛigin tinggura}} deg {{PLURAL:$2|ass anggaru |'''$2''' ussan inggura}}, am di $5, $4.",
 'rcnotefrom' => "ɣar wadday d tiẓṛigin zi '''$2''' (ar '''$1''' ).",
 'rclistfrom' => 'Ẓar tiẓṛigin timaynutin ig ibeddan zi $1',
 'rcshowhideminor' => '$1 tiẓṛigin d-timeẓyanin',
index 4aa2c0d..82d4865 100644 (file)
@@ -297,7 +297,6 @@ Kana avilyan kathe doshatar, ja palpale.',
 # Recent changes
 'recentchanges' => 'Neve paruvimata',
 'recentchanges-summary' => 'Andi kadaya patrin shai te dikhes le neve paruvimata andi romani {{SITENAME}}.',
-'rcnote' => 'Tele si le palutne <strong>$1</strong> paruvimata andar le palutne <strong>$2</strong> divesa.',
 'rcnotefrom' => "Tele si le averutnimata katar '''$2''' (inklen '''$1''' averutnimata, shai te paruves o gin alosarindoi aver tele).",
 'rclistfrom' => 'Dikh le paruvimata ji kai $1',
 'rcshowhideminor' => '$1 tikne editisaripena',
@@ -377,7 +376,6 @@ Kana kamesa te khoses kadaya patrin andar tiri lista le patryange so arakhes len
 'watch' => 'Dikh la',
 'unwatch' => 'Na mai dikh',
 'unwatchthispage' => 'Na mai dikh',
-'wlnote' => 'Tele si le palutne $1 paruvimata ande palutne <b>$2</b> ore.',
 
 'enotif_reset' => 'Thov semno kai patrya so dikhlem',
 
@@ -403,7 +401,6 @@ Dikh ando $2 ek patrinipen le palutne butyange khosle.',
 # Undelete
 'undelete' => 'Dikh le khosle patrya',
 'undeletebtn' => 'Le palpale',
-'undeletereset' => 'Khos le paruvimata',
 
 # Namespace form on various pages
 'namespace' => 'Rig:',
@@ -454,7 +451,6 @@ Dikh ando $2 ek patrinipen le palutne butyange khosle.',
 'tooltip-pt-watchlist' => 'I lista le pajinenge so dikhav lendar (monitorizav).',
 'tooltip-pt-mycontris' => 'Le mire editisarimata',
 'tooltip-pt-login' => 'Mishto si te identifikares tut, pale na si musai.',
-'tooltip-pt-anonlogin' => 'Mishto si te identifikares tut, pale na si musai.',
 'tooltip-pt-logout' => 'Kathe aćhaves i sesiyunya',
 'tooltip-ca-talk' => 'Diskuciya le artikoleske',
 'tooltip-ca-edit' => 'Shai te editisares kadaya pajina. Mangas te paledikhes o teksto anglal te uxtaves les.',
index cff6b9d..13e0f83 100644 (file)
@@ -837,6 +837,9 @@ Vă rugăm să așteptați $1 până să reîncercați.',
 'suspicious-userlogout' => 'Cererea dumneavoastră de a închide sesiunea a fost refuzată întrucât pare că a fost trimisă printr-o eroare a navigatorului sau de un proxy memorat în cache.',
 'createacct-another-realname-tip' => 'Numele real este opțional.
 Dacă decideți furnizarea sa, acesta va fi folosit pentru a atribui utilizatorului munca sa.',
+'pt-login' => 'Autentificare',
+'pt-createaccount' => 'Creare cont',
+'pt-userlogout' => 'Închide sesiunea',
 
 # Email sending
 'php-mail-error-unknown' => 'Eroare necunoscută în funcția PHP mail()',
index e4e2fbb..626286c 100644 (file)
@@ -987,6 +987,9 @@ $2',
 'suspicious-userlogout' => 'Ваш запрос на завершение сеанса отклонён, так как он похож на запрос, отправленный некорректным браузером или кэширующим прокси.',
 'createacct-another-realname-tip' => 'Настоящее имя (необязательное поле).
 Если вы укажете его, то оно будет использовано для того, чтобы показать, кем была внесена правка страницы.',
+'pt-login' => 'Войти',
+'pt-createaccount' => 'Создать учётную запись',
+'pt-userlogout' => 'Выйти',
 
 # Email sending
 'php-mail-error-unknown' => 'Неизвестная ошибка в PHP-функции mail()',
index 30bbcc3..e39cf04 100644 (file)
 
 $messages = array(
 # User preference toggles
-'tog-underline' => 'Subliniadză ligâturâ:',
-'tog-hideminor' => 'Ascundi alâxirile ńici.',
-'tog-numberheadings' => 'Numără automat secțiunili.',
+'tog-underline' => 'Subliniaḑă ligâtura:',
+'tog-hideminor' => 'Ascundeari a alâxiriloru ńiți di-tu nalili alâxiri',
+'tog-numberheadings' => 'Numirari automatâ a secțiuniloru',
 'tog-editondblclick' => "Aravdă alâxirea frundzâl'ei ti dublu click (caftă JavaScript)",
 
-'underline-always' => 'Dipriunâ',
+'underline-always' => 'Totna',
 'underline-never' => 'Vârâoarâ',
 
 # Dates
-'sunday' => 'Dumãnicã',
-'monday' => 'Lune',
-'tuesday' => 'Martsã',
-'wednesday' => 'Njercure',
-'thursday' => 'Gioia',
-'friday' => 'Vinirã',
-'saturday' => 'Sãmbãtã',
-'january' => 'yinar',
-'february' => 'È\99curtu',
-'march' => 'marțu',
-'april' => 'aprir',
-'may_long' => 'maiu',
-'june' => 'cirișar',
-'july' => 'alunar',
-'august' => 'avgustu',
-'september' => 'yizmăciun',
-'october' => 'xumedru',
-'november' => 'brumar',
-'december' => 'andreu',
-'january-gen' => 'Yinar',
-'february-gen' => 'Shcurtu',
-'march-gen' => 'Martsu',
-'april-gen' => 'Aprir',
-'may-gen' => 'Mailu',
-'june-gen' => 'Cirishar',
-'july-gen' => 'Alunar',
+'sunday' => 'dumânicâ',
+'monday' => 'luni',
+'tuesday' => 'marțâ',
+'wednesday' => 'ńiercuri',
+'thursday' => 'gioi',
+'friday' => 'viniri',
+'saturday' => 'sâmbâtâ',
+'january' => 'Yinaru',
+'february' => 'È\98curtu',
+'march' => 'Marțu',
+'april' => 'Apriiru',
+'may_long' => 'Maiu',
+'june' => 'Cirișaru',
+'july' => 'Alunaru',
+'august' => 'Avgustu',
+'september' => 'Yizmâciunu',
+'october' => 'Sumedru',
+'november' => 'Brumaru',
+'december' => 'Andreu',
+'january-gen' => 'Yinaru',
+'february-gen' => 'Șcurtu',
+'march-gen' => 'Marțu',
+'april-gen' => 'Apriiru',
+'may-gen' => 'Maiu',
+'june-gen' => 'Cirișaru',
+'july-gen' => 'Alunaru',
 'august-gen' => 'Avgustu',
-'september-gen' => 'Yizmaciunjle',
-'october-gen' => 'Xumedru',
-'november-gen' => 'Brumar',
-'december-gen' => 'Andreulu',
-'jan' => 'yinar',
-'feb' => 'șcurtu',
-'mar' => 'marțu',
-'apr' => 'aprir',
-'may' => 'maiu',
-'jun' => 'cirișar',
-'jul' => 'alunar',
-'aug' => 'avgustu',
-'sep' => 'yizmăciun',
-'oct' => 'xumedru',
-'nov' => 'brumar',
-'dec' => 'andreu',
+'september-gen' => 'Yizmâciunu',
+'october-gen' => 'Sumedru',
+'november-gen' => 'Brumaru',
+'december-gen' => 'Andreu',
+'jan' => 'yin',
+'feb' => 'șcur',
+'mar' => 'mar',
+'apr' => 'apr',
+'may' => 'mai',
+'jun' => 'cir',
+'jul' => 'alun',
+'aug' => 'avg',
+'sep' => 'yiz',
+'oct' => 'sum',
+'nov' => 'brum',
+'dec' => 'andr',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Categorie|Categorii}}',
-'category_header' => 'Frândzâ ti categoria "$1"',
+'category_header' => 'Frânḑâ tu categoria "$1"',
 'hidden-categories' => '{{PLURAL:$1|Categorie ascumsâ|Categorii ascumsi}}',
 
-'article' => 'Articlu',
-'newwindow' => "(discl'idi tu nauâ fereastă)",
+'article' => 'Articolu',
+'newwindow' => '(si discľidi tu unâ nauâ fireastrâ)',
 'cancel' => 'Alasã',
 'moredotdotdot' => 'Ma multu...',
 'mytalk' => 'Zburare-a mea',
 'navigation' => 'Navigație',
 
 # Cologne Blue skin
-'qbfind' => 'Caftă',
-'qbedit' => 'Alãxiri',
-'qbpageoptions' => 'Aestă frândză',
-'qbmyoptions' => 'Frândzili a meali',
+'qbfind' => 'Caftâ',
+'qbedit' => 'Alâxiri',
+'qbpageoptions' => 'Aestă frână',
+'qbmyoptions' => 'Frânili a meali',
 
 # Vector skin
 'vector-action-addsection' => 'Dimândari nauâ',
-'vector-view-history' => 'Vedz istoric',
+'vector-view-history' => 'Veḑ istoricu',
 'namespaces' => 'Spațiu di numi',
-'variants' => 'Variante',
-
-'tagline' => 'Dit {{SITENAME}}',
-'help' => 'Agiutor',
-'search' => 'Câftare',
-'searchbutton' => 'Caftã',
-'go' => 'Du-vã',
-'searcharticle' => 'Du-vã',
-'history_short' => 'Istoric',
+'variants' => 'Varianti',
+
+'tagline' => 'Di-tu {{SITENAME}}',
+'help' => 'Agiutoru',
+'search' => 'Câftari',
+'searchbutton' => 'Câftari',
+'go' => 'Du-vâ',
+'searcharticle' => 'Du-vâ',
+'history_short' => 'Istoricu',
 'printableversion' => 'Verzia ti tipuseare',
-'permalink' => 'Legătură permanentă',
+'permalink' => 'Ligâturâ permanentâ',
 'edit' => 'Alâxire',
-'delete' => 'Ashcirdzire',
+'delete' => 'Așcirḑire',
 'protect' => 'Apurã',
-'newpage' => 'Frândzâ nauă',
+'newpage' => 'Frânḑâ nauâ',
 'talkpagelinktext' => 'Zburari',
 'talk' => 'Discusiur',
 'views' => 'Videri',
@@ -118,30 +118,30 @@ $messages = array(
 'disclaimers' => 'Nipricunuschire',
 'edithelp' => 'Agiutor ti alãxire',
 'helppage' => 'Help:Conținut',
-'mainpage' => 'Prota frândză',
-'mainpage-description' => 'Prota frãndzã',
-'portal' => 'Portal-a comunitatiľei',
-'portal-url' => 'Project:Portal-a comunitatiľei',
+'mainpage' => 'Prota frânḑâ',
+'mainpage-description' => 'Prota frâná¸\91â',
+'portal' => 'Portala comunitatiľei',
+'portal-url' => 'Proiectu:Portalu a comunitatiľei',
 'privacy' => 'Politică di confidențialitate',
 
-'youhavenewmessagesmulti' => 'Avets nãi dimãndãri pi $1',
+'youhavenewmessagesmulti' => 'Aveț năi dimândări pi $1',
 'editsection' => 'alâxire',
 'editold' => 'Alâxiri',
 'viewsourceold' => 'videari izvor',
 'viewsourcelink' => 'videari izvor',
 'editsectionhint' => 'Alâxire parti: $1',
 'site-atom-feed' => '$1 Atom feed',
-'red-link-title' => '$1 (frândza nu easti)',
+'red-link-title' => '$1 (frâna nu easti)',
 
 # Short words for each namespace, by default used in the namespace tab in monobook
-'nstab-main' => 'Articlu',
-'nstab-user' => 'Frãndza-a ufilizitirolui',
-'nstab-special' => 'Frândzâ specială',
-'nstab-template' => 'Format',
+'nstab-main' => 'Frânḑâ',
+'nstab-user' => 'Frâná¸\91â a utilizatorului',
+'nstab-special' => 'Frândzâ specialâ',
+'nstab-template' => 'Formatu',
 'nstab-category' => 'Categorie',
 
 # General errors
-'viewsource' => 'Videts-u fãntãnã',
+'viewsource' => 'Videț-u fântânâ',
 
 # Login and logout pages
 'yourname' => 'Numa di ufilizitor:',
@@ -278,10 +278,10 @@ $messages = array(
 'tooltip-p-logo' => 'Prota frãndzã',
 'tooltip-n-mainpage' => 'Vedz prota frândză',
 'tooltip-t-specialpages' => 'Unâ listâ di tuti frândzele',
-'tooltip-ca-nstab-category' => 'Vedz frândza di categorie',
+'tooltip-ca-nstab-category' => 'Veḑ categoria',
 
 # Special:NewFiles
-'ilsubmit' => 'Caftã',
+'ilsubmit' => 'Caftâ',
 
 # Multipage image navigation
 'imgmultigo' => 'Du-vã!',
index 600196b..a7a3a04 100644 (file)
@@ -195,7 +195,6 @@ $messages = array(
 
 # Recent changes
 'recentchanges' => 'шумбајрае рецентае',
-'rcnote' => "Маи хос се флај {{PLURAL:\$|ултима модификаре|ултимеле '''\$1''' модификајри}} дин {{PLURAL:\$2|ултима зи|ултимеле '''\$2''' зиле}}, енцепонд цу \$5, \$4.",
 'rcshowhideminor' => '$1 модификајриле миноре',
 'rcshowhidebots' => '$1 роботи',
 'rcshowhideliu' => '$1 утилизатори приласнаери',
index d1c1c5c..6cb7107 100644 (file)
@@ -195,7 +195,6 @@ Te rog notari la din kontribuţi al {{SITENAME}} sunt konsideraere relesavat sup
 
 # Recent changes
 'recentchanges' => 'şumbărae recentae',
-'rcnote' => "Mai hos se flă {{PLURAL:\$|ultima modifikare|ultimele '''\$1''' modifikări}} din {{PLURAL:\$2|ultima zi|ultimele '''\$2''' zile}}, encepând cu \$5, \$4.",
 'rcshowhideminor' => '$1 modifikările minore',
 'rcshowhidebots' => '$1 roboti',
 'rcshowhideliu' => '$1 utilizatori prilasnaeri',
index 16d8241..89616cf 100644 (file)
@@ -168,7 +168,6 @@ $messages = array(
 'vector-action-protect' => 'Bańcao',
 'vector-action-undelete' => 'Bań getgiḍi',
 'vector-action-unprotect' => 'Bodol rukhiyạ',
-'vector-simplesearch-preference' => 'Arhõ jạsti sendra poramorso keṭećmẽ (khali vecṭor skinre lạgit)',
 'vector-view-create' => 'Tearme',
 'vector-view-edit' => 'So̠mpado̠n',
 'vector-view-history' => 'Jạṛ ńelme',
index a486599..3b869bf 100644 (file)
@@ -58,7 +58,6 @@ $linkTrail = "/^([a-z]+)(.*)$/sD";
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Sutalìnea is cullegamentos',
-'tog-justify' => 'Alliniamentu paràgrafos giustificados',
 'tog-hideminor' => 'Cua is acontzos minores in sa pàgina de is ùrtimas mudàntzias',
 'tog-hidepatrolled' => 'Cua is acontzos verificados in is ùrtimas mudàntzias',
 'tog-newpageshidepatrolled' => 'Cua is pàginas verificadas dae sa lista de is pàginas noas',
@@ -67,9 +66,7 @@ $messages = array(
 'tog-numberheadings' => 'Auto-numeratzione de is tìtulos',
 'tog-showtoolbar' => "Ammustra s'amusta de is ainas pro is acontzos (esigit JavaScript)",
 'tog-editondblclick' => 'Acontza pàginas cun dòpiu click (esigit JavaScript)',
-'tog-editsection' => 'Acontza setziones dae su butone [acontza]',
 'tog-editsectiononrightclick' => "Abilita s'acontzu de is setziones cun dòpiu click in is tìtulos de is setziones (esigit JavaScript)",
-'tog-showtoc' => "Ammustra s'ìndixe de is cuntènnidos (pro pàginas cun prus de 3 setziones)",
 'tog-rememberpassword' => 'Ammenta sa sessione in custu navigadore (pro unu màssimu de $1 {{PLURAL:$1|die|dies}})',
 'tog-watchcreations' => 'Aciungi is pàginas chi apo creadu a sa watchlist mea',
 'tog-watchdefault' => 'Aciungi is pàginas chi apo acontzadu a sa watchlist mea',
index f4b3213..80af240 100644 (file)
@@ -194,6 +194,7 @@ $messages = array(
 'namespaces' => 'Namespaces',
 'variants' => 'Variants',
 
+'navigation-heading' => 'Navigâtion menu',
 'errorpagetitle' => 'Error',
 'returnto' => 'Return tae $1.',
 'tagline' => 'Frae {{SITENAME}}',
@@ -217,6 +218,7 @@ $messages = array(
 'deletethispage' => 'Delete this page',
 'undeletethispage' => 'Ondelete this page',
 'undelete_short' => 'Undelete {{PLURAL:$1|ane edit|$1 edits}}',
+'viewdeleted_short' => 'View {{PLURAL:$1|yin deletit eidit|$1 deletit eidits}}',
 'protect' => 'Fend',
 'protect_change' => 'chynge',
 'protectthispage' => 'Fend this page',
@@ -346,6 +348,7 @@ A leet o valid byordinar pages can be funnd at [[Special:SpecialPages|{{int:spec
 This micht be cause o ae bug in the saffware.',
 'databaseerror-textcl' => 'Ae database speirin mistak has occurred.',
 'databaseerror-query' => 'Speirin: $1',
+'databaseerror-function' => 'Fwnction: $1',
 'databaseerror-error' => 'Mistake: $1',
 'laggedslavemode' => 'Warning: Page micht nae contain recent updates',
 'readonly' => 'Database lockit',
@@ -557,6 +560,9 @@ Please wait $1 afore trying again.",
 'suspicious-userlogout' => 'Yer request tae log oot wis denied cause it luiks like it wis sent bi ae broken brouser or caching proxy.',
 'createacct-another-realname-tip' => 'Real name is aen optie.
 Gif ye chuise tae provide it, this will be uised fer giein the uiser attreebution fer their wark.',
+'pt-login' => 'Log in',
+'pt-createaccount' => 'Create accoont',
+'pt-userlogout' => 'Log oot',
 
 # Email sending
 'php-mail-error-unknown' => "Onken't mistak in PHP's mail() function.",
@@ -580,6 +586,74 @@ Please wait $1 afore trying again.",
 'resetpass-submit-cancel' => 'Cancel',
 'resetpass-wrong-oldpass' => 'Onvalid temporarie or current passwaird.
 Ye micht hae awreadie been successful in chyngin yer passwaird or requested ae new temporarie passwaird.',
+'resetpass-recycled' => 'Please reset yerr passwaird til sommit ither than yer current passwaird.',
+'resetpass-temp-emailed' => 'Ye loggit in wi ae temperie mailed code.
+Tae finish loggin in, ye maun set ae new passwaird here:',
+'resetpass-temp-password' => 'Temperie passwaird:',
+'resetpass-abort-generic' => 'Passwaird chynge haes been aborted bi aen extension.',
+'resetpass-expired' => 'Yer passwaird haes expired. Please set ae new passwaird tae log-in.',
+'resetpass-expired-soft' => 'Yer passwaird haes expired, an needs tae be reset. Please chuise ae new passwaird nou, or clap oan cancel tae reset it later.',
+
+# Special:PasswordReset
+'passwordreset' => 'Reset passwaird',
+'passwordreset-text-one' => 'Compleate this form tae receive ae temperie passwaird via wab-mail.',
+'passwordreset-text-many' => '{{PLURAL:$1|Fill in yin o the fields tae receive ae temperie passwaird via wab-mail.}}',
+'passwordreset-legend' => 'Reset passwaird',
+'passwordreset-disabled' => 'Passwaird resets hae been disabled oan this wiki.',
+'passwordreset-emaildisabled' => 'Wab-mail features hae been disabled oan this wiki.',
+'passwordreset-username' => 'Uisername:',
+'passwordreset-capture' => 'View the resultin wab-mail?',
+'passwordreset-capture-help' => 'Gif ye check this box, the wab-mail (wi the temperie passwaird) will be shawn til ye an be sent til the uiser ava.',
+'passwordreset-email' => 'Wab-mail address:',
+'passwordreset-emailtitle' => 'Accoont details oan {{SITENAME}}',
+'passwordreset-emailtext-ip' => "Somebodie (likely ye, fae IP address $1) requested ae reset o yer passwaird fer {{SITENAME}} ($4). The follaein uiser {{PLURAL:$3|accoont is|accoonts ar}}
+associated wi this wab-mail address:
+
+$2
+
+{{PLURAL:$3|This temperie passwaird|These temperie passwairds}} will expire in {{PLURAL:$5|yin day|$5 days}}.
+Ye shid log in an chuise ae new passwaird nou. Gif some ither bodie made this request, or gif ye'v mynded yer oreeginal passwaird, an ye nae longer
+wish tae chynge it, ye can ignore this message an continue uising yer auld passwaird.",
+'passwordreset-emailtext-user' => "Uiser $1 oan {{SITENAME}} requested ae reset o yer passwaird fer {{SITENAME}}
+($4). The follaein uiser {{PLURAL:$3|accoont is|accoonts ar}} associated wi this wab-mail address:
+
+$2
+
+{{PLURAL:$3|This temperie passwaird|These temperie passwairds}} will expire in {{PLURAL:$5|yin day|$5 days}}.
+Ye shid log in an chuise ae new password nou. Gif some ither bodie made this request, or gif ye'v mynded yer oreeginal passwaird, an ye nae longer wish tae chynge it, ye can ignore this message an continue uisin yer auld
+passwaird.",
+'passwordreset-emailelement' => 'Uisername: $1
+Temperie passwaird: $2',
+'passwordreset-emailsent' => 'Ae passwaird reset wab-mail haes been sent.',
+'passwordreset-emailsent-capture' => 'Ae passwaird reset wab-mail haas been sent, this is shawn ablow.',
+'passwordreset-emailerror-capture' => 'Ae passwaird reset wab-mail wis generated, (this is shawn ablow), but sendin it til the {{GENDER:$2|uiser}} failed: $1',
+
+# Special:ChangeEmail
+'changeemail' => 'Chynge wab-mail address',
+'changeemail-header' => 'Chynge accoont wab-mail address',
+'changeemail-text' => 'Compleate this form tae chynge yer wab-mail address. Ye will need tae enter yer passwaird tae confirm this chynge.',
+'changeemail-no-info' => 'Ye maun be loggit in tae access this page directly.',
+'changeemail-oldemail' => 'Current wab-mail address:',
+'changeemail-newemail' => 'New wab-mail address:',
+'changeemail-none' => '(nane)',
+'changeemail-password' => 'Yer {{SITENAME}} passwaird:',
+'changeemail-submit' => 'Chynge wab-mail',
+'changeemail-cancel' => 'Cancel.',
+'changeemail-throttled' => "Ye'v made ower moni recent login attempts.
+Please wait $1 afore trying again.",
+
+# Special:ResetTokens
+'resettokens' => 'Reset tokens.',
+'resettokens-text' => 'Ye can reset tokens that permit ye access til certain private data associated wi yer accoont here.
+
+Ye shid dae it gif ye accidentally shaired theim wi somebodie or gif yer accoont haes been compromised.',
+'resettokens-no-tokens' => 'Thaur ar nae tokens tae reset.',
+'resettokens-legend' => 'Reset tokens.',
+'resettokens-tokens' => "Tokens':",
+'resettokens-token-label' => '$1 (value the nou: $2)',
+'resettokens-watchlist-token' => 'Token fer the wab feed (Atom/RSS) o [[Special:Watchlist|chynges til pages oan yer watchleet]]',
+'resettokens-done' => "Tokens' reset.",
+'resettokens-resetbutton' => 'Reset selected tokens.',
 
 # Edit page toolbar
 'bold_sample' => 'Bauld text',
@@ -612,6 +686,7 @@ Ye micht hae awreadie been successful in chyngin yer passwaird or requested ae n
 'showlivepreview' => 'Live leuk ower',
 'showdiff' => 'Shaw chynges',
 'anoneditwarning' => "Ye arna loggit in. Yer IP address will be recordit in this page's edit history.",
+'anonpreviewwarning' => "<em>Ye'r no loggit in. hainin will record yer IP address in this page's eidit history.</em>",
 'missingsummary' => "'''Mynd:''' Ye hivna gien an edit summary. Gin ye dab on Hain again, yer edit will be haint athoot ane.",
 'missingcommenttext' => 'Please enter a comment ablo.',
 'missingcommentheader' => '<strong>Mynd:</strong> Ye\'v no provided ae subject/headline fer this comment.
@@ -671,7 +746,14 @@ Ye can [[Special:Search/{{PAGENAME}}|rake for this page teitle]] in ither pages,
  or [{{fullurl:{{FULLPAGENAME}}|action=edit}} edit this page].</span>',
 'noarticletext-nopermission' => 'There isna oni tex in this page the nou.
 Ye can [[Special:Search/{{PAGENAME}}|rake fer this page title]] in ither pages, or <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} rake the relatit logs]</span>, but ye dina hae permeession tae create this page.',
+'missing-revision' => 'The revision #$1 o the page named "{{PAGENAME}}" disna exist.
+
+This is usually caused bi follaein aen ootdated histerie link til ae page that haes been deletit.
+Details can be foond in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].',
 'userpage-userdoesnotexist' => 'Uiser accoont "<nowiki>$1</nowiki>" hasnae been registerit. Please check gin ye wint tae mak or edit this page.',
+'userpage-userdoesnotexist-view' => 'Uiser accoont "$1" isna registered.',
+'blocked-notice-logextract' => 'This uiser is currently blockit.
+The latest block log entry is provided ablow fer reference:',
 'clearyourcache' => "<strong>Tak tent:</strong> Efter hainin, ye micht hae tae bypass yer brouser's cache tae see the chynges.
 * <strong>Firefox / Safari:</strong> Hold <em>Shift</em> while clapin <em>Relaid</em>, or press either <em>Ctrl-F5</em> or <em>Ctrl-R</em> (<em>⌘-R</em> on a Mac)
 * <strong>Google Chrome:</strong> Press <em>Ctrl-Shift-R</em> (<em>⌘-Shift-R</em> on a Mac)
@@ -682,11 +764,16 @@ Ye can [[Special:Search/{{PAGENAME}}|rake fer this page title]] in ither pages,
 'usercsspreview' => "<strong>Mynd that ye'r yinly previewing yer uiser CSS.
 It haesna been hained yet!</strong>",
 'userjspreview' => "'''Mynd that ye're juist testin/previewing yer uiser JavaScript; it haesna been hained yet!'''",
+'sitecsspreview' => "<strong>Mynd that ye'r yinly previewing this CSS.
+It's no been hained yet!</strong>",
+'sitejspreview' => "<strong>Mynd that ye'r yinly previewing this JavaScript code.
+It's no been hained yet!</strong>",
 'userinvalidcssjstitle' => "'''Warnin:''' There isnae a skin \"\$1\". Mynd that yer ain .css an .js pages uise a lowercase teetle, e.g. {{ns:user}}:Foo/vector.css instead o {{ns:user}}:Foo/Vector.css.",
 'updated' => '(Updatit)',
 'note' => "'''Mynd:'''",
 'previewnote' => '<strong>Mynd that this is yinly ae scænce-ower.</strong>
 Yer chynges hae no been hained yet!',
+'continue-editing' => 'Gae til eiditing area',
 'previewconflict' => 'This scance reflects the text in the upper text editin area like it will kythe gin ye chuise tae save.',
 'session_fail_preview' => "'''Sairy! We culdnae process yer edit acause o a loss o term data.
 Please try again. Gin it disnae wairk still, try loggin oot an loggin in again.'''",
@@ -699,7 +786,9 @@ Gif it still disna wairk, try [[Special:UserLogout|loggin oot]] an loggin back i
 'token_suffix_mismatch' => "'''Yer edit haes been rejectit acause yer client made a richt mess o the punctuation characters
 in the edit token. The edit haes been rejectit tae hinder corruption o the page text.
 This whiles happens when ye are uisin a bruken web-based anonymous proxy service.'''",
+'edit_form_incomplete' => '<strong>Some pairts o the eidit form didna reach the server; dooble-check that yer eidits ar intact an try again.</strong>',
 'editing' => 'Editin $1',
+'creating' => 'Makin $1',
 'editingsection' => 'Editin $1 (section)',
 'editingcomment' => 'Editin $1 (new section)',
 'editconflict' => 'Edit conflict: $1',
@@ -730,6 +819,8 @@ The latest log entry is provided ablow fer reference:',
 'semiprotectedpagewarning' => '<strong>Note:</strong> This page haes been protected sae that yinly registered uisers can eidit it.
 The latest log entry is provided ablow fer reference:',
 'cascadeprotectedwarning' => "'''Warnin:''' This page haes been lockit sae that only uisers wi sysop richts can edit it, acause it is includit in the followin cascade-protectit {{PLURAL:$1|page|pages}}:",
+'titleprotectedwarning' => '<strong>Warnishment: This page haes been protected sae that [[Special:ListGroupRights|speecific richts]] ar needed tae create it.</strong>
+The latest log entry is provided ablow fer reference:',
 'templatesused' => '{{PLURAL:$1|Template|Templates}} used on this page:',
 'templatesusedpreview' => '{{PLURAL:$1|Template|Templates}} uised in this scænce-ower:',
 'templatesusedsection' => '{{PLURAL:$1|Template|Templates}} uised in this section:',
@@ -739,6 +830,8 @@ The latest log entry is provided ablow fer reference:',
 'nocreatetext' => '{{SITENAME}} haes restricted the ability tae mak new pages.
 Ye can gae back an edit aen existing page, or [[Special:UserLogin|log in or mak aen accoont]].',
 'nocreate-loggedin' => 'Ye dinnae hae the richts tae mak new pages.',
+'sectioneditnotsupported-title' => 'Section eiditin isna supported',
+'sectioneditnotsupported-text' => 'Section eiditing isna supported in this page.',
 'permissionserrors' => 'Permission mistak',
 'permissionserrorstext' => 'Ye dinnae hae the richts tae dae that, acause o the followin {{PLURAL:$1|grund|grunds}}:',
 'permissionserrorstext-withaction' => 'Ye dinna hae the richts tae $2, for the follaein {{PLURAL:$1|reason|reasons}}:',
@@ -748,28 +841,67 @@ Ye shuld check that it is guid tae keep editin this page.
 The deletion and flit log for this page is providit here:",
 'moveddeleted-notice' => 'This page haes bin deletit. 
 The deletion and flit log fur the page are provided below fur reference.',
+'log-fulllog' => 'View ful log',
+'edit-hook-aborted' => 'Eidit aborted bi huik.
+It gae naw explanation.',
+'edit-gone-missing' => 'Coudna update the page.
+It appears tae hae been deletit.',
+'edit-conflict' => 'Eidit conflict.',
+'edit-no-change' => 'Yer eidit wis ignored cause nae chynge wis made til the tex.',
+'postedit-confirmation' => 'Yer eidit wis hained.',
+'edit-already-exists' => 'Coudna mak ae new page.
+It awreadie exists.',
+'defaultmessagetext' => 'Defaut message tex',
+'content-failed-to-parse' => 'Failed tae parse $2 content fer $1 model: $3',
+'invalid-content-data' => 'Onvalid content data',
+'content-not-allowed-here' => '"$1" content isna permited oan the page [[$2]]',
 'editwarning-warning' => 'Leain this page micht cause ye tae lose oni chynges ye\'v made.
 Gif ye\'r loggit in, ye can disable this warning in the "{{int:prefs-editing}}" section o yer preferences.',
+'editpage-notsupportedcontentformat-title' => 'Content format isna supported',
+'editpage-notsupportedcontentformat-text' => 'The content format $1 isna supported bi the content model $2.',
+
+# Content models
+'content-model-wikitext' => 'wikitex',
+'content-model-text' => 'plain tex',
 
 # Parser/template warnings
+'expensive-parserfunction-warning' => '<strong>Warnishment:</strong> This page contains ower moni expensive parser function caws.
+
+It shid hae less than $2 {{PLURAL:$2|caw|caws}}, thaur {{PLURAL:$1|is nou $1 caw|ar noo $1 caws}}.',
+'expensive-parserfunction-category' => 'Pages wi ower moni expensive parser function caws',
 'post-expand-template-inclusion-warning' => "'''Wairnin:''' Template include size is tae lairge. 
 Some templates wull nae be included.",
 'post-expand-template-inclusion-category' => 'Pages whaur template include size is exceeded',
 'post-expand-template-argument-warning' => 'Tak tent: This page hauds at least the ae template argument that haes an ower muckle expansion size.
 Thir arguments hae been left oot.',
 'post-expand-template-argument-category' => 'Pages containing omitted template arguments',
+'parser-template-loop-warning' => 'Template luip detected: [[$1]]',
+'parser-template-recursion-depth-warning' => 'Template recursion depth limit owershote ($1)',
+'language-converter-depth-warning' => 'Leid converter depth limit owershote ($1)',
+'node-count-exceeded-category' => 'Pages whaur node-coont is owershote',
+'node-count-exceeded-warning' => 'Page owershote the node-coont',
+'expansion-depth-exceeded-category' => 'Pages whaur expansion depth is owershote',
+'expansion-depth-exceeded-warning' => 'Page owershote the expansion depth',
+'parser-unstrip-loop-warning' => 'Unstrip luip detected',
+'parser-unstrip-recursion-limit' => 'Unstrip recursion limit owershote ($1)',
+'converter-manual-rule-error' => 'mistak detected in manual leid conversion rule',
 
 # "Undo" feature
 'undo-success' => 'The edit can be undone. Please check the chynges albo tae check that this is whit ye wint tae dae, an then hain the chynges albo tae be duin undooin the edit.',
 'undo-failure' => 'The edit culdnae be undone acause o conflictin edits inatween.',
+'undo-norev' => 'The eidit coudna be ondone cause it disna exist or wis deletit.',
 'undo-nochange' => 'The edit appears tae hae awready been ondone.',
 'undo-summary' => 'Undo reveision $1 by [[Special:Contributions/$2|$2]] ([[User talk:$2|Talk]])',
+'undo-summary-username-hidden' => 'Ondae revision $1 bi ae hidden uiser',
 
 # Account creation failure
 'cantcreateaccounttitle' => 'Canna mak accoont',
 'cantcreateaccount-text' => "Accoont makkin frae this IP address ('''$1''') haes been blockit by [[User:$3|$3]].
 
 The grund for this, given by $3 is ''$2''",
+'cantcreateaccount-range-text' => "Accoont creation fae IP addresses in the range '''$1''', that inclædes yer IP address ('''$4'''), haes been blockit bi [[User:$3|$3]].
+
+The raison gien bi $3 is ''$2''",
 
 # History pages
 'viewpagelogs' => 'Leuk at logs for this page',
@@ -806,37 +938,150 @@ Try [[Special:Search|rakin on the wiki]] for new pages ye micht be interestit in
 'rev-deleted-comment' => '(eidit summarie remuived)',
 'rev-deleted-user' => '(uisername removit)',
 'rev-deleted-event' => '(log action remuived)',
+'rev-deleted-user-contribs' => '[uisername or IP address remuived - eidit hidden fae contreebutions]',
 'rev-deleted-text-permission' => 'This page revision haes been <strong>deletit</strong>.
 Details can be foond in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].',
+'rev-deleted-text-unhide' => 'This page revision haes been <strong>deletit</strong>.
+Details can be foond in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].
+Ye can still [$1 view this revision] gif ye wish tae proceed.',
+'rev-suppressed-text-unhide' => 'This page revision haes been <strong>suppressed</strong>.
+Details can be foond in the [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} suppression log].
+Ye can still [$1 view this revision] gif ye wish tae proceed.',
 'rev-deleted-text-view' => 'This page revision haes been <strong>deletit</strong>.
 You can view it; details can be foond in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].',
+'rev-suppressed-text-view' => 'This page revision haes been <strong>suppressed</strong>.
+Ye can view it; details can be foond in the [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} suppression log].',
+'rev-deleted-no-diff' => 'Ye canna view this diff cause yin o the revisions haes been <strong>deletit</strong>.
+Details can be foond in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].',
+'rev-suppressed-no-diff' => 'Ye cannae view this diff cause yin o the revisions haes been <strong>deletit</strong>.',
+'rev-deleted-unhide-diff' => 'Yin o the revisions o this diff haes been <strong>deletit</strong>.
+Details can be foond in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].
+Ye can still [$1 view this diff] gif ye wish tae proceed.',
+'rev-suppressed-unhide-diff' => 'Yin o the revisions o this diff haes been <strong>suppressed</strong>.
+Details can be foond in the [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} suppression log].
+Ye can still [$1 view this diff] gif you wish to proceed.',
+'rev-suppressed-diff-view' => 'Yin o the revisions o this diff haes been <strong>suppressed</strong>.
+Ye can view this diff; details can be foond in the [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} suppression log].',
 'rev-delundel' => 'shaw/scug',
+'rev-showdeleted' => 'shaw',
 'revisiondelete' => 'Delete/undelete revisions',
 'revdelete-nooldid-title' => 'Onvalid target revision',
+'revdelete-nooldid-text' => "Ye'v either no speecified ae target reveesion(s) tae perform this function, the speecified revision disna exist, or ye'r attempting te hide the current reveesion.",
+'revdelete-no-file' => 'The file speecified disna exist.',
+'revdelete-show-file-confirm' => 'Ar ye sair ye wish tae view ae deletit reveesion o the file "<nowiki>$1</nowiki>" fae $2 at $3?',
+'revdelete-show-file-submit' => 'Ai',
+'revdelete-selected' => '<strong>{{PLURAL:$2|Selected reveesion|Selected reveesions}} o [[:$1]]:</strong>',
+'revdelete-text' => '<strong>Deletit revisions an events will still appear in the page histerie an logs, but pairts o their content will be onaccessible til the public.</strong>
+Ither admeenistraters oan {{SITENAME}} will still be able tae access the hidden content an can ondelete it again through this same interface, onless addeetional restrictions ar set.',
+'revdelete-confirm' => "Please confirm that ye'r ettlin tae dae this, that ye unnerstaunn the consequences, an that ye'r daein this in accordance wi [[{{MediaWiki:Policy-url}}|the policie]].",
+'revdelete-suppress-text' => 'Suppression shid <strong>yinly</strong> be uised fer the follaein cases:
+* poteentially libeloos information
+* onappropriate personal information
+*: <em>hame addresses an telephane nummers, national ideentification nummers, etc.</em>',
+'revdelete-legend' => 'Set visibeelitie restreections',
+'revdelete-hide-text' => 'Reveesion tex',
+'revdelete-hide-image' => 'Hide file content.',
+'revdelete-hide-name' => 'Hide aiction an target',
+'revdelete-hide-comment' => 'Eidit summarie',
+'revdelete-hide-user' => "Eiditor's uisername/IP address",
+'revdelete-hide-restricted' => 'Suppress data fae admeenistraters aes weel aes ithers',
+'revdelete-radio-same' => '(dinna chynge)',
 'revdelete-radio-set' => 'Hidden',
 'revdelete-radio-unset' => 'Visible',
+'revdelete-suppress' => 'Suppress data fae admeenistraters aes weel aes ithers',
+'revdelete-unsuppress' => 'Remuiv restreections oan restored reveesions',
+'revdelete-log' => 'Raison:',
+'revdelete-submit' => 'Applie til selected {{PLURAL:$1|reveesion|reveesions}}',
+'revdelete-success' => '<strong>Reveesion veesibeelitie successfully updated.</strong>',
+'revdelete-failure' => '<strong>Reveesion veesibeelitie coudna be updated:</strong>
+$1',
+'logdelete-success' => '<strong>Log veesibeelitie successfully set.</strong>',
+'logdelete-failure' => '<strong>Log veesibddlitie coudna be set:</strong>
+$1',
 'revdel-restore' => 'change visibility',
 'pagehist' => 'Page history',
+'deletedhist' => 'Deletit histerie',
+'revdelete-hide-current' => 'Mistak hidin the item dated $2, $1: This is the current reveesion.
+It cannna be hidden.',
+'revdelete-show-no-access' => 'Mistak shawin the eitem dated $2, $1: This eitem haes been maurked "restreected".
+Ye dinna hae access til it.',
+'revdelete-modify-no-access' => 'Mistak modifiein the eitem dated $2, $1: This eitem haes been maurked "restreected".
+Ye dinna hae access til it.',
+'revdelete-modify-missing' => 'Mistak modifiein item ID $1: It is missing fae the database!',
+'revdelete-no-change' => '<strong>Warnishment:</strong> The eitem dated $2, $1 awreadie haed the requested veesibeelitie settins.',
+'revdelete-concurrent-change' => "Mistak modifiein the eitem dated $2, $1: Its status appears tae'v been chynged bi some ither bodie while ye attempted tae modifie it.
+Please check the logs.",
+'revdelete-only-restricted' => 'Mistak hidin the item dated $2, $1: Ye canna suppress eitems fae view bi admeenistraters wioot selectin yin o the ither veesibeelitie opties ava.',
+'revdelete-reason-dropdown' => '*Commyn delete raisons
+** Copiericht violation
+** Onappropriate comment or personal information
+** Onappropriate username
+** Potentially libelous information',
+'revdelete-otherreason' => 'Ither/addeetional raison:',
+'revdelete-reasonotherlist' => 'Ither raison',
+'revdelete-edit-reasonlist' => 'Eidit delete raisons',
+'revdelete-offender' => 'Reveesion author:',
+
+# Suppression log
+'suppressionlog' => 'Suppreession log',
+'suppressionlogtext' => 'Ablow is ae leet o deletions an blocks involvin content hidden fae admeenistraters.
+See the [[Special:BlockList|block leet]] fer the leet o currentlie operational bans an blocks.',
 
 # History merging
+'mergehistory' => 'Merge page histeries',
+'mergehistory-header' => 'This page lets ye merge reveesions o the histerie o yin source page intil ae newer page.
+Mak sair that this chynge will maintain historical page conteenuitie.',
+'mergehistory-box' => 'Merge reveesions o twa pages:',
 'mergehistory-from' => 'Soorce page:',
+'mergehistory-into' => 'Destinâtion page:',
+'mergehistory-list' => 'Mergeable eidit history',
+'mergehistory-merge' => 'The follaein revisions o [[:$1]] can be merged intil [[:$2]].
+Uise the radio button column tae merge in yinly the reveesions maed at an afore the speecified time.
+Note that uising the navigâtion links will reset this column.',
+'mergehistory-go' => 'Shaw mergeable eidits',
+'mergehistory-submit' => 'Merge reveesions',
+'mergehistory-empty' => 'Naw reveesions can be merged.',
+'mergehistory-success' => '$3 {{PLURAL:$3|reveesion|reveesions}} o [[:$1]] successfully merged intil [[:$2]].',
+'mergehistory-fail' => 'Onable tae perform histerie merge, please recheck the page an time parameters.',
+'mergehistory-no-source' => 'Source page $1 disna exist.',
+'mergehistory-no-destination' => 'Destinâtion page $1 disna exist.',
+'mergehistory-invalid-source' => 'Source page maun be ae valid title.',
+'mergehistory-invalid-destination' => 'Destinâtion page maun be ae valid title.',
+'mergehistory-autocomment' => 'Merged [[:$1]] intil [[:$2]]',
+'mergehistory-comment' => 'Merged [[:$1]] intil [[:$2]]: $3',
+'mergehistory-same-destination' => 'Soorce an destinâtion pages canna be the same',
 'mergehistory-reason' => 'Raeson:',
 
 # Merge log
+'mergelog' => 'Merge log.',
+'pagemerge-logentry' => 'merged [[$1]] intil [[$2]] (reveesions up til $3)',
 'revertmerge' => 'Unmerge',
+'mergelogpagetext' => 'Ablow is ae leet o the maist recent merges o yin page histerie intil anither.',
 
 # Diffs
 'history-title' => 'Revision histerie o "$1"',
+'difference-title' => 'Difference atween reveesions of "$1"',
+'difference-title-multipage' => 'Difference atween pages "$1" an "$2"',
+'difference-multipage' => '(Difference atween pages)',
 'lineno' => 'Line $1:',
 'compareselectedversions' => 'Compare selectit versions',
+'showhideselectedversions' => 'Chynge veesibeelitie o selected reveesions',
 'editundo' => 'undo',
+'diff-empty' => '(Naw difference)',
 'diff-multi-sameuser' => '({{PLURAL:$1|One intermediate revision|$1 intermediate revisions}} bi the same uiser no shown)',
 'diff-multi-otherusers' => '({{PLURAL:$1|One intermediate revision|$1 intermediate revisions}} bi {{PLURAL:$2|one other user|$2 users}} not shown)',
+'diff-multi-manyusers' => '({{PLURAL:$1|Yin intermeediate reveesion|$1 intermeediate reveesions}} bi mair than $2 {{PLURAL:$2|uiser|uisers}} no shawn)',
+'difference-missing-revision' => '{{PLURAL:$2|Yin reveesion|$2 reveesions}} o this difference ($1) {{PLURAL:$2|was|were}} na fond.
+
+This is usually caused bi follaein aen ootdated diff link til ae page that haes been deletit.
+Details can be foond in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].',
 
 # Search results
 'searchresults' => 'Rake results',
 'searchresults-title' => 'Rake affcome for "$1"',
+'toomanymatches' => 'Ower moni matches were returned, please try ae different speirin',
 'titlematches' => 'Airticle teitle matches',
+'textmatches' => 'Page tex matches',
 'notextmatches' => 'Nae page text matches',
 'prevn' => 'foregaun {{PLURAL:$1|$1}}',
 'nextn' => 'neist {{PLURAL:$1|$1}}',
@@ -858,10 +1103,16 @@ You can view it; details can be foond in the [{{fullurl:{{#Special:Log}}/delete|
 'searchprofile-advanced-tooltip' => 'Rake in custom namespaces',
 'search-result-size' => '$1 ({{PLURAL:$2|1 word|$2 words}})',
 'search-result-category-size' => '{{PLURAL:$1|1 member|$1 members}} ({{PLURAL:$2|1 subcategory|$2 subcategories}}, {{PLURAL:$3|1 file|$3 files}})',
+'search-result-score' => 'Relevanc: $1%',
 'search-redirect' => '(redirect $1)',
 'search-section' => '(section $1)',
+'search-file-match' => '(matches file content.)',
 'search-suggest' => 'Did ye mean: $1',
+'search-interwiki-caption' => "Sister projec's",
+'search-interwiki-default' => "$1 results':",
 'search-interwiki-more' => '(more)',
+'search-relatedarticle' => 'Relatit',
+'searcheverything-enable' => 'Rake in aw namespaces',
 'searchrelated' => 'related',
 'searchall' => 'aw',
 'showingresults' => "Shawin ablo up tae {{PLURAL:$1|'''1''' result|'''$1''' results}} stertin wi #'''$2'''.",
@@ -869,19 +1120,36 @@ You can view it; details can be foond in the [{{fullurl:{{#Special:Log}}/delete|
 'showingresultsnum' => "Shawin ablo {{PLURAL:$3|'''1''' result|'''$3''' results}} stertin wi #'''$2'''.",
 'showingresultsheader' => "{{PLURAL:$5|Ootcome '''$1''' of '''$3'''|Ootcomes '''$1 - $2''' of '''$3'''}} for '''$4'''",
 'search-nonefound' => "Thare wur na ootcomes matching th' query.",
+'powersearch-legend' => 'Advanced rake',
+'powersearch-ns' => 'Rake in namespaces:',
 'powersearch-redir' => 'Leet redirects',
+'powersearch-togglelabel' => "Chec':",
 'powersearch-toggleall' => 'Aw',
+'powersearch-togglenone' => 'Nane',
+'search-external' => 'Eixternal rake',
 'searchdisabled' => 'Rakin throu {{SITENAME}} is disabled for performance raesons. Ye can rake via Google juist nou. Mynd that thair indexes o {{SITENAME}} content micht be oot o date.',
+'search-error' => 'Ae mistak haes occurred while rakin: $1',
 
 # Preferences page
+'preferences' => 'Ma preferences',
 'mypreferences' => 'Ma preferences',
+'prefs-edits' => 'Nummer o eidits:',
+'prefsnologintext2' => 'Please $1 tae chynge yer preferences.',
 'prefs-skin' => 'Huil',
 'skin-preview' => 'First Leuk',
 'datedefault' => 'Nae preference',
+'prefs-beta' => 'Beta features.',
 'prefs-datetime' => 'Date an time',
+'prefs-labs' => 'Labs featurs',
+'prefs-user-pages' => 'Uiser pages',
 'prefs-personal' => 'Uiser data',
 'prefs-rc' => 'Recent chynges an shawin stubs',
 'prefs-watchlist' => 'Watchleet',
+'prefs-watchlist-days' => 'Days tae shaw in watchleet:',
+'prefs-watchlist-days-max' => 'Mucklest $1 {{PLURAL:$1|day|days}}',
+'prefs-watchlist-edits' => 'Mucklest nummer o chynges tae shaw in expanded watchleet:',
+'prefs-watchlist-edits-max' => 'Mucklest nummer: 1000',
+'prefs-watchlist-token' => 'Watchleet token:',
 'prefs-misc' => 'Antrin settins',
 'prefs-resetpass' => 'Chynge passwaird',
 'saveprefs' => 'Hain preferences',
index f1dc240..f93acd2 100644 (file)
@@ -513,7 +513,6 @@ You cannot use the 'e-mail this user' feature unless a valid e-mail address is s
 'lineno' => 'سِٽَ $1:',
 'compareselectedversions' => 'چونڊيل پرت ڀيٽيو',
 'editundo' => 'اڻڪريو',
-'diff-multi' => '({{PLURAL:$1|هڪ وسطي مسودو|$1 وسطي مسودا}} لڪايل.)',
 
 # Search results
 'prevn' => 'پويان {{PLURAL:$1|$1}}',
index 61856d8..401b9b1 100644 (file)
@@ -19,7 +19,6 @@ $namespaceGenderAliases = array();
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Gbënëngö-gbê',
-'tog-justify' => 'Lôngbi yângâ tî âsurä',
 'tog-hideminor' => 'Hônde âkêtê lönzïngö-sû sô asï fadê na yâ tî gbâsû',
 'tog-hidepatrolled' => 'Hônde âlönzïngö-sû sô asï  na hönngö na yâ tî gbâsû',
 'tog-newpageshidepatrolled' => 'Na pöpö tî âlêmbëtï nî, hônde âla sô a yeke bâa ndo daä.',
@@ -28,9 +27,7 @@ $messages = array(
 'tog-numberheadings' => 'Sû nömörö bîakü bîakü na terê tî âlisurä',
 'tog-showtoolbar' => 'Fa motarâka tî sepesû (ahûnda Javascript)',
 'tog-editondblclick' => 'Pîka kpêkê ûse tî sepe lêmbëtï (ahûnda Javascript)',
-'tog-editsection' => 'Zîngo sëpengö surä na gbê "[Sepe]"',
 'tog-editsectiononrightclick' => 'Pîka kötï kpêkê na ndö tî lisurä sï mo sepe nî (ahûnda Javascript)',
-'tog-showtoc' => 'Fa molongö tî münä (tî âlêmbëtï sô ayeke na surä otâ)',
 'tog-rememberpassword' => 'Da bê na sênyîmbâ tî mbï (asï {{PLURAL:$1|längö|längö}}) $1',
 'tog-watchcreations' => 'Âlêmbëtï sô mbï sâra, zîa nî kûê na yâ tî molongö tî mbï tî bängö-pekô.',
 'tog-watchdefault' => 'Âlêmbëtï sô mbï sepe, zîa nî kûê na yâ tî molongö tî mbï tî bängö-pekô.',
@@ -39,7 +36,6 @@ $messages = array(
 'tog-minordefault' => 'Tî sêtîa nî, sûngi âsepesû kûê töngana kêtê sepesû',
 'tog-previewontop' => 'Tanda piabängö-nî na ndöbê tî zuka tî sepesû',
 'tog-previewonfirst' => 'Fa piabängö kôzo sepesû',
-'tog-nocache' => 'Zî höndëngö-lêmbëtï na kpëlidimbä',
 'tog-enotifwatchlistpages' => '¨To na mbï mbëtïsînga töngana mbênî lêmbetï asanzêe na yâ tî molongö tî mbï tî bängö-pekô.',
 'tog-enotifusertalkpages' => 'To na mbï mbëtïsînga töngana mbênî lêmbëtë asanzêe na yâ tî dalisoro tî mbï',
 'tog-enotifminoredits' => 'To na mbï mbëtïsînga lâkûê sô mbênî kêtê sänzëmä asï na yâ tî âlêmbëtï tî mbï.',
index eadf497..0803427 100644 (file)
@@ -16,6 +16,7 @@
  * @author Meno25
  * @author Pasanbhathiya2
  * @author Romaine
+ * @author Sahan.ssw
  * @author Singhalawap
  * @author Thushara
  * @author චතුනි අලහප්පෙරුම
@@ -231,6 +232,7 @@ $messages = array(
 'tog-noconvertlink' => 'සබැඳියන්ගේ ශීර්ෂ පෙරැළීම අක්‍රීය කරන්න',
 'tog-norollbackdiff' => 'පුනරාවර්තනයක් කිරීමෙන් පසු වෙනස්වීම් අත්හරින්න',
 'tog-useeditwarning' => 'මා සංස්කරණ පිටුවක් සුරකිනු නොලැබූ වෙනස්කිරීම් සමඟ අතහැර යන විට අවවාද කරන්න',
+'tog-prefershttps' => 'සැම විටම ඇතුළු වීමේදී ආරක්ෂාකාරී ජාලයක් භාවිතා කරන්න',
 
 'underline-always' => 'සැමවිටම කරන්න',
 'underline-never' => 'කිසිවිටෙක නොකරන්න',
@@ -516,6 +518,8 @@ $1",
 # General errors
 'error' => 'දෝෂය',
 'databaseerror' => 'දත්ත-ගබඩා දෝෂය',
+'databaseerror-function' => 'ශ්‍රිතය:$1',
+'databaseerror-error' => 'දෝෂය: $1',
 'laggedslavemode' => "'''අවවාදයයි:''' මෑත යාවත්කාලීන කිරීම් මෙම පිටුවෙහි අඩංගු නොවීමට ඉඩ ඇත.",
 'readonly' => 'දත්තසංචිතය අගුළුලා ඇත',
 'enterlockreason' => 'අවුරා දැමීමට හේතුවක් සපයන අතරතුර, ඇවිරීම මුදාහැරීමට බලාපොරොත්තු වන කාලසීමාව නිමානය කර දක්වන්න',
@@ -627,9 +631,12 @@ $2',
 'gotaccount' => 'දැනටමත් ගිණුමක් තිබේද? $1.',
 'gotaccountlink' => 'පිවිසෙන්න',
 'userlogin-resetlink' => 'ඔබේ පිවිසුම් තොරතුරු අමතකද?',
+'userlogin-resetpassword-link' => 'ඔබේ මුරපදය නැති වුනාද?',
 'helplogin-url' => 'Help:ප්‍රවිෂ්ට වීම',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|ප්‍රවිෂ්ට වීමට උදවු වන්න]]',
+'userlogin-createanother' => 'තවත් ගිණුමක් ආරම්භ කරන්න',
 'createacct-join' => 'ඔබගේ තොරතුරු පහත ඇතුළු කරන්න.',
+'createacct-another-join' => 'නව ගිණුමේ දත්ත පහත ඇතුළු කරන්න.',
 'createacct-emailrequired' => 'වි-තැපෑල ලිපිනය',
 'createacct-emailoptional' => 'වි-තැපෑල ලිපිනය (විකල්ප)',
 'createacct-email-ph' => 'ඔබගේ වි-තැපෑල ලිපිනය ඇතුළු කරන්න',
@@ -718,6 +725,11 @@ $2',
 'login-abort-generic' => 'ඔබගේ පිවිසීම අසාර්ථකයි - අතහැර දමනලදී',
 'loginlanguagelabel' => 'භාෂාව: $1',
 'suspicious-userlogout' => 'නිෂ්ක්‍රමණය සඳහා ඔබගේ අයැදුම නිෂ්ප්‍රභා කෙරුනේ එය යොමු කොට ඇත්තේ භින්න(කැඩුනු) බ්‍රවුසරයකින් හෝ නිවේෂණය කෙරෙමින් පවතින ප්‍රොක්සියක් වෙතින් යැයි බැලූ බැල්මට පෙනෙන බැවිනි.',
+'createacct-another-realname-tip' => 'සැබෑ නාමය හෙළි කිරීම වෛකල්පිකයි.
+ඔබ විසින් එය හෙළි කල හොත්, ඔබගේ කෘතීන් සඳහා ඔබහට කතෘ-බුහුමන් පිරිනැමීමට එය භාවිතා කරනු ඇත.',
+'pt-login' => 'පිවිසෙන්න',
+'pt-createaccount' => 'ගිණුමක් තනන්න',
+'pt-userlogout' => 'නික්මීම',
 
 # Email sending
 'php-mail-error-unknown' => 'php mail() ශ්‍රිතයේ හඳුනානොගත් ගැටළුවකි',
@@ -734,6 +746,8 @@ $2',
 'retypenew' => 'නව මුර-පදය නැවත ඇතුළු කරන්න:',
 'resetpass_submit' => 'මුර-පදය පූරණය කොට ඉන් පසු ප්‍රවිෂ්ට වන්න',
 'changepassword-success' => 'ඔබගේ මුර-පදය සාර්ථක ලෙස වෙනස් කරන ලදී!',
+'changepassword-throttled' => 'ඔබ විසින් මෑතදී  පමණට වඩා වාර ගණනක් පිවිසීමෙහි උත්සාහයන් දරා ඇත.
+යළි උත්සාහ කිරීමට පෙර $1 වේලාවක් රැඳී සිටින්න.',
 'resetpass_forbidden' => 'මුර-පදයන් වෙනස් කිරීම  සිදු කල නොහැක',
 'resetpass-no-info' => 'මෙම පිටුව සෘජු ලෙස පරිශීලනය කෙරුමට ඔබ පළමු ප්‍රවිෂ්ට විය යුතුය.',
 'resetpass-submit-loggedin' => 'මුර-පදය වෙනස්කරන්න',
@@ -741,6 +755,7 @@ $2',
 'resetpass-wrong-oldpass' => 'තාවකාලික හෝ වත්මන් මුර-පදය අනීතිකයි.
 ඔබ දැනටමත් සාර්ථක ලෙස ඔබගේ මුර-පදය වෙනස් කොට හෝ නව තාවකාලික මුර-පදයක් ඉල්ලා සිට හෝ ඇතිවා විය හැක.',
 'resetpass-temp-password' => 'තාවකාලික මුර-පදය:',
+'resetpass-expired' => 'ඔබගේ මුරපදය කල් ඉකුත්වී ඇත.කරුණාකර නව මුරපදයක් සකස් කරන්න.',
 
 # Special:PasswordReset
 'passwordreset' => 'මුරපදය වෙනස් කරන්න',
@@ -778,6 +793,8 @@ $2
 'changeemail-password' => 'ඔබේ {{SITENAME}} මුරපදය:',
 'changeemail-submit' => 'විද්‍යුත් තැපෑල  වෙනස් කරන්න',
 'changeemail-cancel' => 'අවලංගු කරන්න',
+'changeemail-throttled' => 'ඔබ විසින් මෑතදී  පමණට වඩා වාර ගණනක් පිවිසීමෙහි උත්සාහයන් දරා ඇත.
+යළි උත්සාහ කිරීමට පෙර $1 වේලාවක් රැඳී සිටින්න.',
 
 # Edit page toolbar
 'bold_sample' => 'තදකුරු පෙළ',
@@ -987,6 +1004,7 @@ $2
 'invalid-content-data' => 'වලංගු නොවන අන්තර්ගත දත්ත',
 'editwarning-warning' => 'අවධානයට: මෙම පිටුවෙන් නික්ම යාම ඔබ සිදු කළ වෙනස්කම් නැතිවී යෑමට හේතු විය හැක.
 ඔබ ප්‍රවිෂ්ටවී ඇත්නම්, ඔබගේ වරණයන්වල "සංසකරණය කිරීම්" කොටසේ ඇති මෙම අනතුරු ඇඟවීම අක්‍රීය කළ හැක.',
+'editpage-notsupportedcontentformat-title' => 'අන්තර්ගත සකැස්ම ක්‍රියා නොකරයි',
 
 # Content models
 'content-model-wikitext' => 'විකිපෙළ',
@@ -1183,11 +1201,13 @@ $1",
 
 # Diffs
 'history-title' => '$1:  සංශෝධන ඉතිහාසය',
+'difference-title-multipage' => '"$1" හා "$2" පිටු අතර වෙනස',
 'difference-multipage' => 'පිටු අතර වෙනස',
 'lineno' => '$1 පේළිය:',
 'compareselectedversions' => 'තෝරාගත් සංශෝධන සසඳන්න',
 'showhideselectedversions' => 'තෝරාගත් සංශෝධන පෙන්වන්න/සඟවන්න',
 'editundo' => 'අහෝසිය',
+'diff-empty' => '(වෙනසක් නොමැත)',
 'diff-multi-manyusers' => '(පරිශීලකයන් $2 කට වඩා වැඩි ගණනකගේ ආසන්න පුනරීක්‍ෂණ $1ක් පෙන්වා නොමැත)',
 
 # Search results
@@ -1220,6 +1240,7 @@ $1",
 'search-result-score' => 'අදාළතාව: $1%',
 'search-redirect' => '($1 යළි-යොමු කරන්න)',
 'search-section' => '($1 ඡේදය)',
+'search-file-match' => '(ගොනු දත්ත සැසදේ)',
 'search-suggest' => 'ඔබ අදහස් කළේ මෙයද: $1',
 'search-interwiki-caption' => 'සොයුරු ව්‍යාපෘති',
 'search-interwiki-default' => '$1 වෙතින් ප්‍රතිඵල:',
@@ -1342,6 +1363,8 @@ HTML ටැගයන් පිරික්සන්න.',
 'prefs-dateformat' => 'දින ආකෘතිය',
 'prefs-timeoffset' => 'වේලා හිලව්ව',
 'prefs-advancedediting' => 'ප්‍රධාන විකල්පයන්',
+'prefs-editor' => 'සංස්කාරක',
+'prefs-preview' => 'පෙරදසුන',
 'prefs-advancedrc' => 'වැඩිදුර සැකසුම් තෝරාගැනීම',
 'prefs-advancedrendering' => 'වැඩිදුර සැකසුම් තෝරාගැනීම',
 'prefs-advancedsearchoptions' => 'ප්‍රගත විකල්පයන්',
@@ -1349,7 +1372,9 @@ HTML ටැගයන් පිරික්සන්න.',
 'prefs-displayrc' => 'දර්ශන සැකසුම් තෝරාගැනීම',
 'prefs-displaysearchoptions' => 'විකල්ප පෙන්වන්න',
 'prefs-displaywatchlist' => 'විකල්ප පෙන්වන්න',
+'prefs-tokenwatchlist' => 'ටෝකනය',
 'prefs-diffs' => 'වෙනස',
+'prefs-help-prefershttps' => 'ඔබගේ අභිරුචිය මීළඟ ඇතුළු වීමේ සිට ක්‍රියාත්මක වනු ඇත.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'විද්‍යුත්-තැපැල් ලිපිනය අනීතික බවක් පෙනෙයි.',
@@ -1509,6 +1534,7 @@ HTML ටැගයන් පිරික්සන්න.',
 
 # Recent changes
 'nchanges' => '$1 {{PLURAL:$1|වෙනස්වීම|වෙනස්වීම්}}',
+'enhancedrc-history' => 'ඉතිහාසය',
 'recentchanges' => 'මෑත වෙනස්කිරීම්',
 'recentchanges-legend' => '‍නව වෙනස්වීම් සැකසුම් තෝරාගැනීම',
 'recentchanges-summary' => 'මෙම පිටුවේ විකියට සිදුකල ඉතා මෑත වෙනස්වීම් පසුහඹන්න.',
@@ -1811,6 +1837,8 @@ When filtered by user, only files where that user uploaded the most recent versi
 'listfiles_size' => 'විශාලත්වය',
 'listfiles_description' => 'විස්තරය',
 'listfiles_count' => 'සංස්කරනය',
+'listfiles-latestversion-yes' => 'ඔව්',
+'listfiles-latestversion-no' => 'නැත',
 
 # File description page
 'file-anchor-link' => 'ගොනුව',
@@ -1848,6 +1876,7 @@ When filtered by user, only files where that user uploaded the most recent versi
 'uploadnewversion-linktext' => 'මෙම ගොනුවෙහි නව අනුවාදයක් උඩුගත කරන්න',
 'shared-repo-from' => '$1 වෙතින්',
 'shared-repo' => 'හවුල් සුරක්ෂිතාගාරයකි',
+'upload-disallowed-here' => 'ඔබට මෙම ගොනුව උඩින් ලිවිය නොහැක.',
 
 # File reversion
 'filerevert' => '$1 ප්‍රතිවර්තනය කරන්න',
@@ -1902,6 +1931,12 @@ When filtered by user, only files where that user uploaded the most recent versi
 'randompage' => 'අහඹු පිටුව',
 'randompage-nopages' => 'පහත {{PLURAL:$2|නාමඅවකාශය|නාමඅවකාශ}}:$1 හි කිසිදු පිටුවක් නොමැත.',
 
+# Random page in category
+'randomincategory' => 'ප්‍රවර්ගයේ අහඹු පිටු',
+'randomincategory-invalidcategory' => '"$1" වලංගු ප්‍රවර්ග නාමයක් නොවේ.',
+'randomincategory-nopages' => ' [[:ප්‍රවර්ගය:$1|$1]] ප්‍රවර්ගයේ පිටු නොමැත.',
+'randomincategory-selectcategory-submit' => 'යන්න',
+
 # Random redirect
 'randomredirect' => 'අහුඹු යළි-යොමුකිරීම',
 'randomredirect-nopages' => '"$1" නාම-අවකාශයෙහි යළි-යොමුවීම් නොමැත.',
@@ -1927,6 +1962,10 @@ When filtered by user, only files where that user uploaded the most recent versi
 'statistics-users-active-desc' => 'පසුගිය {{PLURAL:$1|දිනය|දින $1}} තුලදී කිසියම් ක්‍රියාවක් සිදු කල පරිශීලකයන්',
 'statistics-mostpopular' => 'බෙහෙවින් නරඹනු ලබන පිටු',
 
+'pageswithprop-prop' => 'ගුණ නාමය:',
+'pageswithprop-submit' => 'යන්න',
+'pageswithprop-prophidden-binary' => 'ද්විමය ගුණ අගය සැඟවී ($1)',
+
 'doubleredirects' => 'ද්විත්ව යළි-යොමුකිරීම්',
 'doubleredirectstext' => 'අනෙකුත් යළි-යොමුවීම් පිටුවලට යළි-යොමුවන පිටුවල ලැයිස්තුවක් මෙම පිටුවේ දැක්වේ.
 එක් එක් පේළියක අඩංගු වන්නේ පළමු හා දෙවන යළි-යොමුවීම් වලට සබැඳි හා ඒ සමග පළමු යළි-යොමුව එල්ල වන්නාවූ, සාමාන්‍යයෙන් "සත්‍ය" ඉලක්ක පිටුව වන, දෙවන යළි-යොමුවේ ඉලක්කයයි.<del>කපා හැරි</del> නිවේශිතයන් පිලිබඳ ගැටළු විසඳා ඇත.',
@@ -1987,11 +2026,19 @@ When filtered by user, only files where that user uploaded the most recent versi
 'protectedpages-indef' => 'අනිශ්චිත ආරක්ෂණයන් පමණයි',
 'protectedpages-cascade' => 'තීරු-දර්ශන ආරක්ෂණයන් පමණයි',
 'protectedpagesempty' => 'මෙම පරාමිතීන් හා සමග සැලකූ කල,  කිසිදු පිටුවක් දැනට ආරක්ෂිත වී නොමැත.',
+'protectedpages-page' => 'පිටුව',
+'protectedpages-expiry' => 'ඉකුත් වන්නේ',
+'protectedpages-performer' => 'පරිශීලකයා සුරැකීම',
+'protectedpages-params' => 'ආරක්ෂා පරාමිතිය',
+'protectedpages-reason' => 'හේතුව',
+'protectedpages-unknown-timestamp' => 'අඥාත',
+'protectedpages-unknown-performer' => 'නොදන්නා පරිශීලක',
 'protectedtitles' => 'ආරක්‍ෂිත ශීර්ෂයන්',
 'protectedtitlesempty' => 'මෙම පරාමිතීන් හා සමග සැලකූ කල, කිසිදු ශීර්ෂයක් දැනට ආරක්ෂිත වී නොමැත.',
 'listusers' => 'පරිශීලක ලැයිස්තුව',
 'listusers-editsonly' => 'සංස්කරණයන් සිදුකර ඇති පරිශීලකයන් පමණක් පෙන්වන්න',
 'listusers-creationsort' => 'තැනූ දින අනුව සුබෙදන්න',
+'listusers-desc' => 'අවරෝහණ පිළිවෙලට සකස් කරන්න',
 'usereditcount' => ' {{PLURAL:$1|සංස්කරණ එකකි|සංස්කරණ $1 කි}}',
 'usercreated' => '$1 දින $2 වේලාවේදී {{GENDER:$3|තනන ලදි}}',
 'newpages' => 'නව පිටු',
@@ -2111,6 +2158,7 @@ When filtered by user, only files where that user uploaded the most recent versi
 'mailnologin' => 'යායුතු ලිපිනය නොමැත',
 'mailnologintext' => 'අනෙකුත් පරිශීලකයන්හට  විද්‍යුත්-තැපැල් යැවුමට පෙරාතුව, ඔබ [[Special:UserLogin|ප්‍රවිෂ්ට වී]], ඔබගේ  [[Special:Preferences|අභිරුචියන්හි]]  නීතික විද්‍යුත්-තැපැල් ලිපිනයක් සඳහන් කර තිබිය යුතුය.',
 'emailuser' => 'මෙම පරිශීලක වෙත විද්‍යුත්-ලිපියක් යවන්න',
+'emailuser-title-notarget' => ' පරිශීලකට විද්‍යුත්-ලිපියක් යවන්න',
 'emailpage' => ' පරිශීලකට විද්‍යුත්-ලිපියක් යවන්න',
 'emailpagetext' => 'මෙම පරිශීලකයා හට විද්‍යුත්-තැපෑල් පණිවුඩයක් යැවීම සඳහා මෙම ආකෘති පත්‍රය භාවිතා කිරීමට ඔබ හට හැක.
 ලබන්නා විසින් සෘජු ලෙස ඔබ හට පිළිතුරු එවනු හැකි වන පරිදි, ඔබ විසින් [[Special:Preferences|ඔබගේ පරිශීලක අභිරුචියන්]] හි ඇතුළත් කල විද්‍යුත්-තැපැල් ලිපිනය,  විද්‍යුත්-තැපෑලෙහි "වෙතින්" ලිපිනයෙහි පෙන්නුම් කරනු ඇත.',
index c5321aa..9130076 100644 (file)
@@ -737,6 +737,9 @@ Prosimo, počakajte $1, preden poskusite znova.',
 'suspicious-userlogout' => 'Vaša zahteva za odjavo je bila zavrnjena, saj kaže, da je bila poslana iz pokvarjenega brskalnika ali proxyja s predpomnilnikom.',
 'createacct-another-realname-tip' => 'Pravo ime ni obvezno.
 Če se ga odločite navesti, bo uporabljeno za priznavanje uporabnikovega dela.',
+'pt-login' => 'Prijava',
+'pt-createaccount' => 'Ustvari račun',
+'pt-userlogout' => 'Odjava',
 
 # Email sending
 'php-mail-error-unknown' => 'Neznana napaka v funkciji PHP mail()',
index d017102..d8d2c35 100644 (file)
@@ -319,7 +319,6 @@ Dov dorje värrhtoedimmie gååvnese bielieh, jallh [[Special:UserLogin|logge s
 'lineno' => 'Sïeve $1:',
 'compareselectedversions' => 'Mohtedidh veeljeme låhkoeh',
 'editundo' => 'ov-darjodh',
-'diff-multi' => '({{PLURAL:$1|Akte gaskese gïehtjedamme|$1 gaskese gïehtjedammeh}} vuesehte ijje.)',
 
 # Search results
 'searchresults' => 'Ohtsedh resultaateh',
@@ -364,7 +363,6 @@ Dov dorje värrhtoedimmie gååvnese bielieh, jallh [[Special:UserLogin|logge s
 'nchanges' => '$1 {{PLURAL:$1|värrhtoedimmie|värrhtoedimmieh}}',
 'recentchanges' => 'Männgan värrhtoedimmieh',
 'recentchanges-feed-description' => 'Dåeriedidh männgan värrhtoedimmie sïjse wiki meatan dïhte feed.',
-'rcnote' => "Vuelen vuesehte {{PLURAL:$1|dïhte männgan värrhtoedimmie|dah männgan '''$1''' värrhtoedimmieh}} nuelesne dah {{PLURAL:$2|männgan biejjie|männgan '''$2''' biejjieh}}, ihke $5, $4.",
 'rcnotefrom' => "Vuelelen vuesehte dah männgan '''$1''' värrhtoedimmieh männgan '''$2'''.",
 'rclistfrom' => 'Vuesehte orre värrhtoedimmieh aelkedh raejeste $1',
 'rcshowhideminor' => '$1 ohtje värrhtoedimmie',
@@ -634,7 +632,6 @@ Daaletje tjaeleste-vaarjelidh sïjsestäälninge ihke bielie '''$1''' lea:",
 'ipadressorusername' => 'IP Tjaalesijjie jallh nuhtjiennomme:',
 'ipbother' => 'Jeatjebh tïjje:',
 'ipboptions' => '2 täjmoe:2 hours,1 biejjie:1 day,3 biejjie:3 days,1 våhkoe:1 week,2 våhkoe:2 weeks,1 aske:1 month,3 aske:3 months,6 aske:6 months,1 jaepie:1 year,gietjieloeves:infinite',
-'ipbotheroption' => 'jeatjebh',
 'ipblocklist' => 'Lästoe bijjelen tjöödtjehtidh IP tjaalesijjieh jih nuhtjiennommeh',
 'ipblocklist-submit' => 'Ohtsedh',
 'blocklink' => 'tjöödtjehtidh',
index fa0af78..3600d9c 100644 (file)
@@ -1,5 +1,5 @@
 <?php
-/** Serbian (Српски / Srpski)
+/** Serbian (српски / srpski)
  *
  * See MessagesQqq.php for message documentation incl. usage of parameters
  * To improve a translation please visit http://translatewiki.net
@@ -7,6 +7,7 @@
  * @ingroup Language
  * @file
  *
+ * @author Milicevic01
  * @author Misos
  * @author Terik
  * @author Жељко Тодоровић
 
 $fallback = 'sr-ec';
 $linkTrail = '/^([abvgdđežzijklljmnnjoprstćufhcčdžšабвгдђежзијклљмнњопрстћуфхцчџш]+)(.*)$/usD';
+
+$messages = array(
+# Vector skin
+'vector-view-viewsource' => '#REDIRECT[[MediaWiki:Vector-view-viewsource/sr-ec]]',
+
+# Edit pages
+'postedit-confirmation' => '',
+
+# Special:Log/newusers
+'newuserlogpage' => 'историја креирања корисника',
+'newuserlogpagetext' => 'Ово је историја скорашњих креирања корисника.',
+
+# Special:LinkSearch
+'linksearch' => '#REDIRECT[[MediaWiki:Linksearch/sr-ec]]',
+'linksearch-text' => '#REDIRECT[[MediaWiki:Linksearch-text/sr-ec]]',
+'linksearch-line' => '$1 повезана са $2',
+'linksearch-error' => 'Џокери могу да се појављују само на почетку домена.',
+
+# Contributions
+'uctop' => '‎',
+
+);
index 84f0a55..a7cde7e 100644 (file)
@@ -153,16 +153,13 @@ $magicWords = array(
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Poti strepi ondro den miti:',
-'tog-justify' => 'Fiti na ala tu sey',
 'tog-hideminor' => 'Kibri pikin kenki ini laste kenki',
 'tog-extendwatchlist' => 'Moro langa "Tan luku" réy',
 'tog-usenewrc' => 'Moro betre Laste Kenki (JavaScript)',
 'tog-numberheadings' => 'Gi den ede wan nomru sondro fu yepi',
 'tog-showtoolbar' => 'Sori Kenki-Wrokosani-barki (JavaScript)',
 'tog-editondblclick' => 'Naki tu tron fu kenki (JavaScript)',
-'tog-editsection' => 'Gi primisi fu kenki pisi-papira nanga [kenki]-miti',
 'tog-editsectiononrightclick' => "Gi primisi fu kenki pisi-papira nanga wan naki n'a leti-anu sey na tapu wan pisi-ede (JavaScript)",
-'tog-showtoc' => 'Sori san de (gi papira nanga moro leki 3 pisi-ede)',
 'tog-rememberpassword' => 'Memre mi psawortu (for a maximum of $1 {{PLURAL:$1|day|days}})',
 'tog-watchcreations' => 'Tan luku den papira di mi meki',
 'tog-watchdefault' => 'Tan luku den papira di mi kenki',
@@ -618,7 +615,6 @@ A kan ben trowe efu dribi.
 'lineno' => 'Lini $1:',
 'compareselectedversions' => 'Luku den difrenti fu den versi di teki',
 'editundo' => "drai pot' baka",
-'diff-multi' => '(No e sori {{PLURAL:$1|wan versi|$1 versi}} na mindrisey.)',
 
 # Search results
 'searchresults' => 'Sukuleysi',
@@ -645,7 +641,6 @@ A kan ben trowe efu dribi.
 'rows' => 'Rei:',
 'columns' => 'Kolum:',
 'searchresultshead' => 'Suku',
-'resultsperpage' => 'Ris ies papira:',
 'stub-threshold' => 'Dupolo fu seti <a href="#" class="stub">stub</a>:',
 'recentchangesdays' => 'Teki fu dey tu libi si ini bakaseywan kenki:',
 'recentchangescount' => 'Teki fu peprewoysi ini bakaseywan kenki:',
index a51d384..94430e3 100644 (file)
@@ -864,6 +864,9 @@ Vänta $1 innan du försöker igen.',
 'suspicious-userlogout' => 'Din begäran om att logga ut nekades eftersom det ser ut som det skickades av en trasig webbläsare eller cachande proxy.',
 'createacct-another-realname-tip' => 'Riktiga namnet är valfritt.
 Om du väljer att ange det, kommer det användas för att tillskriva användaren för sitt arbete.',
+'pt-login' => 'Logga in',
+'pt-createaccount' => 'Skapa konto',
+'pt-userlogout' => 'Logga ut',
 
 # Email sending
 'php-mail-error-unknown' => 'Okänt fel i PHP:s mail()-funktion',
@@ -872,7 +875,7 @@ Om du väljer att ange det, kommer det användas för att tillskriva användaren
 
 # Change password dialog
 'changepassword' => 'Byt lösenord',
-'resetpass_announce' => 'Du loggade in med ett temporärt lösenord. För att slutföra inloggningen måste du välja ett nytt lösenord.',
+'resetpass_announce' => 'För att slutföra inloggningen måste du välja ett nytt lösenord.',
 'resetpass_text' => '<!-- Lägg till text här -->',
 'resetpass_header' => 'Ändra lösenord för konto',
 'oldpassword' => 'Gammalt lösenord:',
@@ -888,8 +891,13 @@ Vänta $1 innan du försöker igen.',
 'resetpass-submit-cancel' => 'Avbryt',
 'resetpass-wrong-oldpass' => 'Ogiltigt tillfälligt eller nuvarande lösenord.
 Du kanske redan har lyckats ändra ditt lösenord eller begärt ett nytt tillfälligt lösenord.',
+'resetpass-recycled' => 'Var god återställ ditt lösenord till någonting annat än ditt aktuella lösenord.',
+'resetpass-temp-emailed' => 'Du loggade in med en temporär kod som skickats via e-post.
+För att slutföra inloggningen måste du välja ett nytt lösenord här:',
 'resetpass-temp-password' => 'Tillfälligt lösenord:',
 'resetpass-abort-generic' => 'Lösenordsändring av har avbrutits av ett tillägg.',
+'resetpass-expired' => 'Ditt lösenord har gått ut. Var god välj ett nytt lösenord för att logga in.',
+'resetpass-expired-soft' => 'Ditt lösenord har gått ut och behöver återställas. Var god välj ett nytt lösenord nu eller klicka på avbryt för att återställa det senare.',
 
 # Special:PasswordReset
 'passwordreset' => 'Återställ lösenord',
index 8009328..6027b74 100644 (file)
@@ -17,16 +17,13 @@ $fallback = 'kn';
 $messages = array(
 # User preference toggles
 'tog-underline' => 'ಲಿಂಕ್’ಲೆದ ತಿರ್ತ್ ಗೆರೆ(ಅಂಡರ್ ಲೈನ್) ಪಾಡ್’ಲೆ',
-'tog-justify' => 'ಪಾರಗ್ರಾಫ್’ದ ಕಡೆನ್ ಸರಿ ಮಲ್ಪುಲೆ',
 'tog-hideminor' => 'ಎಲ್ಯೆಲ್ಯ ಬದಲಾವಣೆಲೆನ್ ದೆಂಗಾಲೆ',
 'tog-extendwatchlist' => 'ಅನ್ವಯಿಸುನಂಚಿನ ಪೂರಾ ಬದಲಾವಣೆಲೆನ್ ತೊಜ್ಪಾಯೆರೆ ಪಟ್ಟಿನ್(ವಾಚ್ ಲಿಸ್ಟ್) ಬುಡ್ಪಾಲೆ.',
 'tog-usenewrc' => 'ಪರಿಷ್ಕರಿಸ್ ನ ಬದಲಾವಣೆಲು (JavaScript)',
 'tog-numberheadings' => 'ಹೆಡ್ಡಿಂಗ್’ಲೆಗ್ ಸಂಖ್ಯೆಲೆನ್ ತೊಜ್ಪಾಲೆ',
 'tog-showtoolbar' => 'ಸಂಪಾದನೆದ ಉಪಕರಣನ್(ಎಡಿಟ್ ಟೂಲ್ ಬಾರ್) ತೊಜ್ಪಾಲೆ (JavaScript)',
 'tog-editondblclick' => 'ರಡ್ಡ್ ಸರಿ ಕ್ಲಿಕ್ ಮಲ್ತ್’ದ್ ಪುಟೊನು ಸಂಪಾದನೆ ಮಲ್ಪುಲೆ (JavaScript)',
-'tog-editsection' => 'ಪುಟೊತ ಭಾಗಲೊನ್ [ಸಂಪಾದನೆ] ಲಿಂಕ್’ಲೆನ್ ಒತ್ತ್’ದ್ ಬದಲ್ ಮನ್ಪುಲೆಕ ಉಪ್ಪಡ್',
 'tog-editsectiononrightclick' => 'ಪುಟೊತ ವಿಭಾಗೊಲೆನ್ ಐತ ಹೆಡ್ಡಿಂಗ್’ನ್ ರೈಟ್ ಕ್ಲಿಕ್ ಮಲ್ತ್’ದ್ ಸಂಪಾದನೆ ಮಲ್ಪುಲೆಕ ಉಪ್ಪಡ್ (JavaScript)',
-'tog-showtoc' => 'ಪರಿವಿಡಿನ್(ಟೇಬಲ್ ಆಫ್ ಕಂಟೆಂಟ್ಸ್) ತೊಜ್ಪಾಲೆ (ಮೂಜೆರ್ದ್ ಜಾಸ್ತಿ ಹೆಡ್ಡಿಂಗ್ ಉಪ್ಪುನಂಚಿನ ಪುಟೊಲೆಗ್)',
 'tog-rememberpassword' => 'ಈ ಕಂಪ್ಯೂಟರ್’ಡ್ ಎನ್ನ ಲಾಗಿನ್ನ್ ನೆನಪುಡು ದೀಲ (for a maximum of $1 {{PLURAL:$1|day|days}})',
 'tog-watchcreations' => 'ಯಾನ್ ಶುರು ಮಲ್ತಿನ ಪುಟೊಲೆನ್ ಯೆನ್ನ ವೀಕ್ಷಣಾಪಟ್ಟಿಗ್ ಸೇರ್ಪಾಲೆ',
 'tog-watchdefault' => 'ಯಾನ್ ಸಂಪಾದನೆ ಮನ್ಪುನಂಚಿನ ಪುಟೊಲೆನ್ ವೀಕ್ಷಣಾಪಟ್ಟಿಗ್ ಸೇರ್ಪಾಲೆ',
@@ -162,7 +159,6 @@ $messages = array(
 'vector-action-protect' => 'ಸ೦ರಕ್ಷಿಸಾಲೆ',
 'vector-action-undelete' => 'ಮಾಜಾವಡೆ',
 'vector-action-unprotect' => 'ಬದಲಾವಣೆನ್ ರಕ್ಷಿಸಾಲೆ',
-'vector-simplesearch-preference' => 'ಬಲಗೊಳಿಸಾನ ಹುಡುಕು ಸಲಹೆಲೆನ್ ಸಕ್ರಿಯಗೊಳಿಸಾಲೆ',
 'vector-view-create' => ' ಸುರು ಮಲ್ಪುಲೆ',
 'vector-view-edit' => 'ಸಂಪಾದನೆ ಮಲ್ಪುಲೆ',
 'vector-view-history' => 'ಇತಿಹಾಸೊನು ತೂಲೆ',
index 3748655..4dc4ca2 100644 (file)
@@ -159,12 +159,12 @@ $messages = array(
 'tog-watchdefault' => 'నేను మార్చే పేజీలను మరియు దస్త్రాలను నా వీక్షణ జాబితాకు చేర్చు',
 'tog-watchmoves' => 'నేను తరలించిన పేజీలను మరియు దస్త్రాలను నా వీక్షణ జాబితాకు చేర్చు',
 'tog-watchdeletion' => 'నేను తొలగించిన పేజీలను మరియు దస్త్రాలను నా వీక్షణ జాబితాకు చేర్చు',
-'tog-minordefault' => 'à°ªà±\8dà°°à°¤à±\8dà°¯à±\87à°\95à°\82à°\97à°¾ à°¤à±\86à°²à±\81పనà°\82తవరà°\95à±\82 నా మార్పులను చిన్న మార్పులుగా గుర్తించు',
-'tog-previewontop' => 'వ్యాసం మార్పుల మునుచూపు సవరించు పెట్టె పైన చూపు',
+'tog-minordefault' => 'డిఫాలà±\8dà°\9fà±\81à°\97à°¾ నా మార్పులను చిన్న మార్పులుగా గుర్తించు',
+'tog-previewontop' => 'వ్యాసం మార్పుల మునుచూపును ఎడిట్ పెట్టె పైన చూపు',
 'tog-previewonfirst' => 'మొదటి  దిద్దుబాటు చేసినపుడు వ్యాసపు మునుచూపు చూపించు',
 'tog-enotifwatchlistpages' => 'నా వీక్షణాజాబితా లోని పేజీ లేదా దస్త్రం మారినపుడు నాకు ఈ-మెయిలు పంపు',
 'tog-enotifusertalkpages' => 'నా చర్చా పేజీలో మార్పులు జరిగినపుడు నాకు ఈ-మెయిలు పంపు',
-'tog-enotifminoredits' => 'à°ªà±\87à°\9cà±\80à°²à±\81 à°®à°°à°¿à°¯à±\81 à°¦à°¸à±\8dà°¤à±\8dరాలà°\95à±\81 జరిగే చిన్న మార్పులకు కూడా నాకు ఈ-మెయిలును పంపు',
+'tog-enotifminoredits' => 'à°ªà±\87à°\9cà±\80à°²à±\81 à°®à°°à°¿à°¯à±\81 à°¦à°¸à±\8dà°¤à±\8dరాలలà±\8b జరిగే చిన్న మార్పులకు కూడా నాకు ఈ-మెయిలును పంపు',
 'tog-enotifrevealaddr' => 'గమనింపు మెయిళ్ళలో నా ఈ-మెయిలు చిరునామాను చూపించు',
 'tog-shownumberswatching' => 'వీక్షకుల సంఖ్యను చూపు',
 'tog-oldsig' => 'ప్రస్తుత సంతకం:',
@@ -174,8 +174,8 @@ $messages = array(
 'tog-watchlisthideown' => 'నా మార్పులను వీక్షణా జాబితాలో చూపించొద్దు',
 'tog-watchlisthidebots' => 'బాట్లు చేసిన మార్పులను నా వీక్షణా జాబితాలో చూపించొద్దు',
 'tog-watchlisthideminor' => 'చిన్న మార్పులను నా వీక్షణా జాబితాలో చూపించొద్దు',
-'tog-watchlisthideliu' => 'à°ªà±\8dà°°à°µà±\87శిà°\82à°\9aà°¿à°¨ à°µà°¾à°¡à±\81à°\95à°°à±\81à°² మార్పులను వీక్షణా జాబితాలో చూపించకు',
-'tog-watchlisthideanons' => 'à°\85à°\9cà±\8dà°\9eాత à°µà°¾à°¡à±\81à°\95à°°à±\81à°² à°®à°¾à°°à±\8dà°ªà±\81లనà±\81 à°µà°¿క్షణా జాబితాలో చూపించకు',
+'tog-watchlisthideliu' => 'లాà°\97à°¿à°¨à±\8d à°\90à°¨ à°µà°¾à°¡à±\81à°\95à°°à±\81à°²à±\81 à°\9aà±\87à°¸à±\87 మార్పులను వీక్షణా జాబితాలో చూపించకు',
+'tog-watchlisthideanons' => 'à°\85à°\9cà±\8dà°\9eాత à°µà°¾à°¡à±\81à°\95à°°à±\81à°² à°®à°¾à°°à±\8dà°ªà±\81లనà±\81 à°µà±\80క్షణా జాబితాలో చూపించకు',
 'tog-watchlisthidepatrolled' => 'నిఘా ఉన్న మార్పులను వీక్షణజాబితా నుంచి దాచిపెట్టు',
 'tog-ccmeonemails' => 'నేను ఇతర వాడుకరులకు పంపించే ఈ-మెయిళ్ల కాపీలను నాకు కూడా పంపు',
 'tog-diffonly' => 'తేడాల కింద, పేజీలోని సమాచారాన్ని చూపించొద్దు',
@@ -186,12 +186,12 @@ $messages = array(
 
 'underline-always' => 'ఎల్లప్పుడూ',
 'underline-never' => 'ఎప్పటికీ వద్దు',
-'underline-default' => 'à°\85à°²à°\82à°\95ారపà±\81 à°²à±\87దా à°µà°¿à°¹à°¾à°°à°¿à°£à°¿ అప్రమేయం',
+'underline-default' => 'à°°à±\82à°ªà±\81 à°¯à±\8aà°\95à±\8dà°\95 à°²à±\87దా à°µà°¿à°¹à°¾à°°à°¿à°£à°¿ à°¯à±\8aà°\95à±\8dà°\95 అప్రమేయం',
 
 # Font style option in Special:Preferences
 'editfont-style' => 'దిద్దుబాటు పెట్టె ఫాంటు శైలి:',
 'editfont-default' => 'విహరిణి అప్రమేయం',
-'editfont-monospace' => 'à°®à±\8bà°¨à±\8bà°¸à±\8dà°ªà±\87à°¸à±\81డ్ ఫాంట్',
+'editfont-monospace' => 'à°®à±\8bà°¨à±\8bà°¸à±\8dà°ªà±\87à°¸à±\8dâ\80\8dడ్ ఫాంట్',
 'editfont-sansserif' => 'సాన్స్-సెరిఫ్ ఫాంటు',
 'editfont-serif' => 'సెరిఫ్ ఫాంటు',
 
@@ -272,7 +272,7 @@ $messages = array(
 'category-article-count' => '{{PLURAL:$2|ఈ వర్గంలో కింది పేజీ ఒకటే ఉంది.|ఈ వర్గంలో కింది {{PLURAL:$1|పేజీ ఉంది|$1 పేజీలున్నాయి}}, మొత్తం $2 పేజీలలో.}}',
 'category-article-count-limited' => 'ప్రస్తుత వర్గంలో కింది {{PLURAL:$1|పేజీ ఉంది|$1 పేజీలున్నాయి}}.',
 'category-file-count' => '{{PLURAL:$2|ఈ వర్గంలో క్రింద చూపిస్తున్న ఒకే ఫైలు ఉంది.|ఈ వర్గంలో ఉన్న మొత్తం $2 పేజీలలో ప్రస్తుతం {{PLURAL:$1|ఒక ఫైలును|$1 ఫైళ్లను}} చూపిస్తున్నాము.}}',
-'category-file-count-limited' => 'ఈ వర్గం క్రింద చూపిస్తున్న {{PLURAL:$1|ఒక ఫైలు ఉంది|$1 ఫైళ్లు ఉన్నాయి}}.',
+'category-file-count-limited' => 'ఈ వర్గంలో కింద చూపిన {{PLURAL:$1|ఒక ఫైలు ఉంది|$1 ఫైళ్లు ఉన్నాయి}}.',
 'listingcontinuesabbrev' => '(కొనసాగింపు)',
 'index-category' => 'సూచీకరించిన పేజీలు',
 'noindex-category' => 'సూచీకరించని పేజీలు',
@@ -310,13 +310,13 @@ $messages = array(
 'vector-view-edit' => 'సవరించు',
 'vector-view-history' => 'చరిత్రను చూడండి',
 'vector-view-view' => 'చదువు',
-'vector-view-viewsource' => 'à°®à±\82లానà±\8dని à°\9aà±\82à°¡à°\82à°¡à°¿',
+'vector-view-viewsource' => 'à°®à±\82లానà±\8dని à°\9aà±\82పిà°\82à°\9aà±\81',
 'actions' => 'పనులు',
 'namespaces' => 'పేరుబరులు',
 'variants' => 'రకరకాలు',
 
 'navigation-heading' => 'మార్గదర్శకపు మెనూ',
-'errorpagetitle' => 'à°ªà±\8aరపాà°\9fà±\81',
+'errorpagetitle' => 'à°²à±\8bà°ªà°\82',
 'returnto' => 'తిరిగి $1కి.',
 'tagline' => '{{SITENAME}} నుండి',
 'help' => 'సహాయం',
@@ -689,6 +689,9 @@ $2',
 'suspicious-userlogout' => 'సరిగా పనిచేయని విహారిణి లేదా కాషింగ్ ప్రాక్సీ వల్ల పంపబడడం చేత, నిష్క్రమించాలనే మీ అభ్యర్థనని నిరాకరించారు.',
 'createacct-another-realname-tip' => 'అసలు పేరు ఐచ్ఛికం.
 మీరు దాన్ని ఇస్తే, వాడుకరి పనుల శ్రేయస్సు ఆ పేరుకు ఆపాదించబడుతుంది.',
+'pt-login' => 'ప్రవేశించండి',
+'pt-createaccount' => 'ఖాతా సృష్టించు',
+'pt-userlogout' => 'నిష్క్రమించు',
 
 # Email sending
 'php-mail-error-unknown' => 'PHP యొక్క mail() ఫంక్షన్‍లో ఏదో తెలియని లోపం దొర్లింది',
@@ -716,6 +719,8 @@ $2',
 'resetpass-temp-emailed' => 'మీరు మీ ఈమెయిలుకు పంపించిన తాత్కాలిక కోడుతో లోపలికి వచ్చారు. ప్రవేశం పూర్తి కావడానికి, ఇక్కడ మీరు తప్పనిసరిగా కొత్త సంకేతపదం ఇవ్వాలి:',
 'resetpass-temp-password' => 'తాత్కాలిక సంకేతపదం:',
 'resetpass-abort-generic' => 'ఓ పొడిగింత (ఎక్స్టెన్‍షన్) సంకేతపదం మార్పిడిని ఆపేసింది.',
+'resetpass-expired' => 'మీ సంకేతపదం కాలం చెల్లినది. దయచేసి కొత్త పదం ఇచ్చి ప్రవేశించండి.',
+'resetpass-expired-soft' => 'మీ సంకేతపదం కాలం చెల్లినది, కాబట్టి కొత్తది ఇవ్వాలి. కొత్తది ఇప్పుడే ఇవ్వండి లేదా రద్దుచేసి తరువాత రీసెట్ చేయండి.',
 
 # Special:PasswordReset
 'passwordreset' => 'సంకేతపదాన్ని మార్చుకోండి',
@@ -3422,6 +3427,12 @@ $1',
 'exif-gpsdestdistance-m' => 'మైళ్ళు',
 'exif-gpsdestdistance-n' => 'నాటికల్ మైళ్ళు',
 
+'exif-gpsdop-excellent' => 'శ్రేష్ఠం ($1)',
+'exif-gpsdop-good' => 'ఉత్తమం ($1)',
+'exif-gpsdop-moderate' => 'మధ్యమం ($1)',
+'exif-gpsdop-fair' => 'పర్లేదు ($1)',
+'exif-gpsdop-poor' => 'బాగా లేదు ($1)',
+
 'exif-objectcycle-a' => 'ఉదయం మాత్రమే',
 'exif-objectcycle-p' => 'సాయంత్రం మాత్రమే',
 'exif-objectcycle-b' => 'ఉదయమూ మరియు సాయంత్రమూ',
@@ -3663,6 +3674,7 @@ $5
 'redirect-submit' => 'వెళ్ళు',
 'redirect-value' => 'విలువ:',
 'redirect-user' => 'వాడుకరి ID',
+'redirect-page' => 'పుట ఐడీ',
 'redirect-revision' => 'పేజీ కూర్పు',
 'redirect-file' => 'దస్త్రపు పేరు',
 'redirect-not-exists' => 'విలువ కనబడలేదు',
index 4499b9f..d59ae10 100644 (file)
@@ -681,6 +681,8 @@ Maghintay po muna bago subukan uli.',
 'login-abort-generic' => 'Bigo ang paglagda mo - Pinigil',
 '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'')",
+'pt-createaccount' => 'Lumikha ng akawnt',
+'pt-userlogout' => 'Umalis sa pagkakatala',
 
 # Email sending
 'php-mail-error-unknown' => 'Hindi malamang kamalian sa tungkulin ng liham ng PHP ()',
@@ -688,8 +690,7 @@ Maghintay po muna bago subukan uli.',
 
 # Change password dialog
 'changepassword' => 'Baguhin ang hudyat',
-'resetpass_announce' => 'Lumagda ka sa pamamagitan ng isang pansamantalang ini-e-liham na kodigo.
-Para tapusin ang paglagda, dapat kang magtakda ng isang bagong hudyat dito:',
+'resetpass_announce' => 'Para sa ganap na pagtala, magtalaga ng panibagong password.',
 'resetpass_text' => '<!-- Magdagdag ng teksto rito -->',
 'resetpass_header' => 'Baguhin ang hudyat ng kuwenta',
 'oldpassword' => 'Lumang hudyat:',
@@ -703,7 +704,11 @@ Para tapusin ang paglagda, dapat kang magtakda ng isang bagong hudyat dito:',
 'resetpass-submit-cancel' => 'Kanselahin',
 'resetpass-wrong-oldpass' => 'Hindi tanggap na pansamantala o pangkasalukuyang hudyat.
 Maaaring matagumpay mo nang nabago ang iyong hudyat o nakahiling na ng isang bagong pansamantalang hudyat.',
+'resetpass-recycled' => 'Ireset ang iyong password sa pamamagitan ng paggamit ng iba pa maliban sa iyong ginagamit sa kasalukuyan.',
+'resetpass-temp-emailed' => 'Nakapagtala sa pamamagitan ng pansamantalang email code.
+Para sa ganap na pagtatala, magtakda ng panibagong password dito:',
 'resetpass-temp-password' => 'Pansamantalang hudyat:',
+'resetpass-expired-soft' => 'Napaso na ang iyong password at kailangan ireset. Pumili ng bagong password o iklik ang cancel upang i-reset sa ibang pagkakataon.',
 
 # Special:PasswordReset
 'passwordreset' => 'Muling pagtatakda ng hudyat',
index 7f47b88..2b4d928 100644 (file)
@@ -52,7 +52,6 @@ $specialPageAliases = array(
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Putim lain ananit long ol link:',
-'tog-justify' => "Soim ol paragraf i pulmapim sipes long lephan i go long raithan (''justify'')",
 'tog-hideminor' => 'Noken soim ol liklik senis insait long ol nupela senis',
 'tog-hidepatrolled' => 'Noken soim ol lukluk senis insait long ol nupela senis',
 'tog-newpageshidepatrolled' => 'Noken soim ol lukluk senis insait long ol nupela pes',
@@ -61,9 +60,7 @@ $messages = array(
 'tog-numberheadings' => 'Putim ol namba i go long wanwan hap bilong pes',
 'tog-showtoolbar' => 'Soim ol liklik link long wokim senis kwiktaim (i nidim JavaScript)',
 'tog-editondblclick' => 'Senisim pes taim yu paitim tupela taim kwiktaim (i nidim JavaScript)',
-'tog-editsection' => 'Soim ol [senisim] link long wanwan hap bilong ol pes',
 'tog-editsectiononrightclick' => 'Senisim ol hap bilong pes taim yu paitim nem bilong hap<br />wantaim raithan-klik (i nidim Javascript)',
-'tog-showtoc' => 'Soim ol nem bilong hap insait long liklik bokis, taim igat antap long 3 hap long pes',
 'tog-rememberpassword' => 'Holim yusanem bilong mi long dispela komputa (holim pas longpela taim $1 {{PLURAL:$1|de|de}})',
 'tog-watchcreations' => 'Putim ol nupela pes mi wokim na fail mi salim long lukautbuk',
 'tog-watchdefault' => 'Putim ol pes na fail mi senisim long lukautbuk bilong mi',
index 6851d4b..ea628b1 100644 (file)
@@ -1,5 +1,5 @@
 <?php
-/** Tatar (Татарча/Tatarça)
+/** Tatar (татарча/tatarça)
  *
  * See MessagesQqq.php for message documentation incl. usage of parameters
  * To improve a translation please visit http://translatewiki.net
@@ -7,8 +7,12 @@
  * @ingroup Language
  * @file
  *
- * @comment Placeholder for Tatar. Falls back to Tatar in Cyrillic script.
  */
 
 $fallback = 'tt-cyrl, ru';
 
+$messages = array(
+# Delete
+'excontentauthor' => '',
+
+);
index 46c76dc..dcdd5f3 100644 (file)
@@ -55,25 +55,23 @@ $messages = array(
 'tog-hidepatrolled' => 'Берпуметӥ тупатонъёслэн списоксэс партрулировать каремын воштонъёстэк возьматыны',
 'tog-newpageshidepatrolled' => 'Выль бамъёслэн списоксэс партрулировать каремын бамъёстэк возьматыны',
 'tog-extendwatchlist' => 'Чаклан списокын вань тупатонъёсты возьматыны (озьытэк берпуметӥоссэс гинэ)',
-'tog-usenewrc' => 'Выль тупатонъёслэн списоксэс умояллям сямен возьматыны (JavsScript кулэ)',
+'tog-usenewrc' => 'Выль тупатонъёслэсь списоксэс умояллям сямен возьматыны (JavsScript кулэ)',
 'tog-numberheadings' => 'Заголовокъёсты автоматически нумеровать карыны',
 'tog-showtoolbar' => 'Тупатон тӥрлыкъёслэн панельзэс возьматыны (JavaScript кулэ)',
-'tog-editondblclick' => 'Бамъёсты шырлэн валтӥсь зӥбонэз кык пол ӝог зӥбиськыкуз тупатыны (JavaScript кулэ)',
-'tog-editsection' => 'Котькуд секциез [тапатоно] чӧлсконэн возьматыны',
-'tog-editsectiononrightclick' => 'Cекциосты шырлэн бур кнопкаез заголовок вылын зӥбиськыкуз тупатыны (JavaScript кулэ)',
-'tog-showtoc' => 'Пуштросэз возьматоно (2-лэсь трос заголовокъем бамъёс понна)',
-'tog-rememberpassword' => 'Мынам пыроннимме та браузерлэн тодаз возьыны ($1 яке $1-лэсь ӧжытгес нунал ӵоже гинэ)',
+'tog-editondblclick' => 'Бамъёсты шырлэсь зӥбонзэ кык пол зӥбыса тупатыны (JavaScript кулэ)',
+'tog-editsectiononrightclick' => 'Cекциолэсь заголовок вылазы шырлэн бур кнопкаеныз зӥбыса тупатонзэс лэзьыны (JavaScript кулэ)',
+'tog-rememberpassword' => 'Мынэсьтым пыроннимме та браузерын возьыны ($1 нуналлэсь кемагес ӧвӧл)',
 'tog-watchcreations' => 'Мынэсьтым кылдытэм бамъёсме но ӝуткам файлъёсме чаклан списокам пыртыны',
-'tog-watchdefault' => 'Ð\91амÑ\8aÑ\91Ñ\81Ñ\82Ñ\8b, ÐºÑ\83дÑ\8aÑ\91Ñ\81Ñ\82Ñ\8dÑ\81 Ð¼Ð¾Ð½ Ñ\82Ñ\83паÑ\82Ó¥Ñ\81Ñ\8cко, Ð¼Ñ\8bнам Ñ\87аклкан списокам пыртыны',
-'tog-watchmoves' => 'Ð\91амÑ\8aÑ\91Ñ\81Ñ\82Ñ\8b, ÐºÑ\83дÑ\8aÑ\91Ñ\81Ñ\82Ñ\8dÑ\81 Ð¼Ð¾Ð½ Ð¼Ñ\83кеÑ\82 Ð¸Ð½Ñ\82Ñ\8bе Ð²Ñ\8bжÑ\82Ó¥Ñ\81Ñ\8cко, Ð¼Ñ\8bнам Ñ\87аклкан списокам пыртыны',
-'tog-watchdeletion' => 'Ð\91амÑ\8aÑ\91Ñ\81Ñ\82Ñ\8b, ÐºÑ\83дÑ\8aÑ\91Ñ\81Ñ\82Ñ\8dÑ\81 Ð¼Ð¾Ð½ ÓµÑ\83Ñ\88иÑ\81Ñ\8cко, Ð¼Ñ\8bнам Ñ\87аклкан списоке пыртыны',
+'tog-watchdefault' => 'Ð\9cÑ\8bнÑ\8dÑ\81Ñ\8cÑ\82Ñ\8bм Ñ\82Ñ\83паÑ\82Ñ\8dм Ð±Ð°Ð¼Ñ\8aÑ\91Ñ\81ме Ð½Ð¾ Ñ\84айлÑ\8aÑ\91Ñ\81ме Ñ\87аклан списокам пыртыны',
+'tog-watchmoves' => 'Ð\9cÑ\8bнÑ\8dÑ\81Ñ\8cÑ\82Ñ\8bм Ð¼Ñ\83кеÑ\82 Ð¸Ð½Ñ\82Ñ\8bе Ð²Ñ\8bжÑ\82Ñ\8dм Ð±Ð°Ð¼Ñ\8aÑ\91Ñ\81ме Ð½Ð¾ Ñ\84айлÑ\8aÑ\91Ñ\81ме Ñ\87аклан списокам пыртыны',
+'tog-watchdeletion' => 'Ð\9cÑ\8bнÑ\8dÑ\81Ñ\8cÑ\82Ñ\8bм ÓµÑ\83Ñ\88Ñ\8bÑ\81а Ð±Ñ\8bдÑ\82Ñ\8dм Ð±Ð°Ð¼Ñ\8aÑ\91Ñ\81ме Ð½Ð¾ Ñ\84айлÑ\8aÑ\91Ñ\81ме Ñ\87аклан списоке пыртыны',
 'tog-minordefault' => 'Вань воштонъёсты «ичи воштон» пусэн пусйыны',
 'tog-previewontop' => 'Утён азьвыл учконлэсь укнозэ тупатон укнолэсь азьвылгес возьматыны',
 'tog-previewonfirst' => 'Бам нырысьсэ утиськыкуз уётн азьвыл учконэз возьматыны',
 
 'underline-always' => 'Котьку',
 'underline-never' => 'Ноку',
-'underline-default' => 'Браузерысь настройкаосты уже кутоно',
+'underline-default' => 'Браузерлэсь настройкаоссэ уже кутоно',
 
 # Font style option in Special:Preferences
 'editfont-style' => 'Тупатон бусыысь шрифтлэн стилез',
@@ -135,18 +133,18 @@ $messages = array(
 'dec' => 'тст',
 
 # Categories related messages
-'pagecategories' => '{{PLURAL:$1|Категория|Категориос}}',
+'pagecategories' => '{{PLURAL:$1|1=Категория|Категориос}}',
 'category_header' => '«$1» категориысь бамъёс',
 'subcategories' => 'Подкатегориос',
 'category-media-header' => '«$1» категориысь файлъёс',
 'category-empty' => "''Та категориын али бамъёс но, файлъёс но ӧвӧл.''",
-'hidden-categories' => '{{PLURAL:$1|Ватэм категория|Ватэм категориос}}',
+'hidden-categories' => '{{PLURAL:$1|1=Ватэм категория|Ватэм категориос}}',
 'hidden-category-category' => 'Ватэм категориос',
-'category-subcat-count' => '{{PLURAL:$2|Со категориын одӥг подкатегория гинэ.|Возьматэмын $1 подкатегория $2 пӧлысь.}}',
+'category-subcat-count' => '{{PLURAL:$2|1=Со категориын одӥг подкатегория гинэ.|Возьматэмын $1 подкатегория $2 пӧлысь.}}',
 'category-subcat-count-limited' => 'Со категориын $1 подкатегория.',
-'category-article-count' => '{{PLURAL:$2|Со категориын одӥг бам гинэ.|Возьматэмын $1 бам $2 пӧлысь.}}',
+'category-article-count' => '{{PLURAL:$2|1=Со категориын одӥг бам гинэ.|Возьматэмын $1 бам $2 пӧлысь.}}',
 'category-article-count-limited' => 'Со категориын $1 бам.',
-'category-file-count' => '{{PLURAL:$2|Со категориын одӥг файл гинэ.|Возьматэмын $1 файл $2 пӧлысь.}}',
+'category-file-count' => '{{PLURAL:$2|1=Со категориын одӥг файл гинэ.|Возьматэмын $1 файл $2 пӧлысь.}}',
 'category-file-count-limited' => 'Со категориын $1 файл.',
 'listingcontinuesabbrev' => 'азьлань',
 'index-category' => 'Индексировать кароно бамъёс',
@@ -155,7 +153,7 @@ $messages = array(
 'about' => 'Та сярысь',
 'article' => 'Статья',
 'mypage' => 'Ас бам',
-'mytalk' => 'викиавтор сярысь вераськон',
+'mytalk' => 'Ð\92икиавтор сярысь вераськон',
 'anontalk' => 'Со IP-адрес сярысь вераськон',
 'navigation' => 'Навигация',
 
@@ -191,7 +189,7 @@ $messages = array(
 'protect' => 'Утьыны',
 'talkpagelinktext' => 'Вераськон',
 'talk' => 'Вераськон',
-'toolbox' => 'Ð\98нÑ\81Ñ\82Ñ\80Ñ\83менÑ\82Ñ\8aÑ\91Ñ\81',
+'toolbox' => 'ТӥÑ\80лÑ\8bк',
 'jumptonavigation' => 'навигация',
 'jumptosearch' => 'утчан',
 
@@ -238,12 +236,12 @@ $messages = array(
 или '''[{{fullurl:{{FULLPAGENAME}}|action=edit}} создать страницу с таким названием]'''</span>.",
 
 # Revision deletion
-'revdelete-radio-set' => 'Ð\91ен',
-'revdelete-radio-unset' => 'Ӧвӧл',
+'revdelete-radio-set' => 'Ð\92аÑ\82Ñ\8dм',
+'revdelete-radio-unset' => 'Адӟымон',
 
 # Search results
 'searchresults' => 'Шедьтэмын',
-'search-result-size' => '$1 кыл({{PLURAL:$2|1 word|$2 words}})',
+'search-result-size' => '$1 кыл({{PLURAL:$2|1=1 word|$2 words}})',
 
 # Preferences page
 'preferences' => 'настройкаос',
index 423c1c4..b2179c9 100644 (file)
@@ -18,6 +18,7 @@
  * @author Neoneurone
  * @author Nguyễn Thanh Quang
  * @author Prenn
+ * @author Skye Darcy
  * @author Thaisk
  * @author Thanhtai2009
  * @author Tmct
@@ -864,6 +865,9 @@ Xin hãy bỏ qua thông điệp này nếu tài khoản này không phải do b
 'createacct-another-realname-tip' => 'Tên thật là không bắt buộc. 
 
 Nếu bạn đồng ý cung cấp, nó sẽ dùng để ghi nhận công lao của bạn.',
+'pt-login' => 'Đăng nhập',
+'pt-createaccount' => 'Tạo tài khoản',
+'pt-userlogout' => 'Đăng xuất',
 
 # Email sending
 'php-mail-error-unknown' => 'Lỗi không rõ trong hàm PHP mail()',
index efac44d..f9972ee 100644 (file)
@@ -58,7 +58,6 @@ $namespaceGenderAliases = array();
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Заалһиг татас татх:',
-'tog-justify' => 'Зүүл тегшлтн',
 'tog-hideminor' => 'Шидрә сольлһна сеткүлд баһ хүврлһиг бултулх',
 'tog-hidepatrolled' => 'Шидрә сольлһна сеткүлд шүүсн хүврлһиг бултулх',
 'tog-newpageshidepatrolled' => 'Шин халхна сеткүләс шүүсн хүврлһиг бултулх',
@@ -67,9 +66,7 @@ $messages = array(
 'tog-numberheadings' => 'То-диг чикән даах',
 'tog-showtoolbar' => 'Ора зер-зев үзлх (JavaScript кергтә)',
 'tog-editondblclick' => 'Давхр индстлһар чиклх (JavaScript кергтә)',
-'tog-editsection' => '«Чиклх» заавр болвчн хүвд үзүлх',
 'tog-editsectiononrightclick' => 'Һарчига барун индстлһар хүвиг чиклх (JavaScript кергтә)',
-'tog-showtoc' => 'Һарг үзүлх (3 икәр толһата халхсд)',
 'tog-rememberpassword' => 'Намаг эн тоолдврт тодлх ($1 {{PLURAL:$1|1=өдрт|өдрмүдт}} икәр биш)',
 'tog-watchcreations' => 'Би эврәннь немгдсн халхс шинҗллһнә сеткүлд немх',
 'tog-watchdefault' => 'Би эврәннь чиклсн халхс шинҗллһнә сеткүлд немх',
index 6e6ad18..ed1ee3a 100644 (file)
@@ -7,10 +7,16 @@
  * @ingroup Language
  * @file
  *
+ * @author Cwek
+ * @author Gakmo
  * @author Kuailong
+ * @author Li3939108
  * @author PhiLiP
+ * @author Qiyue2001
  * @author Shizhao
+ * @author StephDC
  * @author Wong128hk
+ * @author Xiaomingyan
  */
 
 # Stub message file for converter code "zh"
@@ -173,18 +179,84 @@ $specialPageAliases = array(
 );
 
 $messages = array(
+# User preference toggles
+'tog-underline' => '鏈接下劃線:',
+'tog-hideminor' => '于最近更改列表中隱藏小編輯',
+'tog-showtoolbar' => '顯示編輯工具欄(需要 JavaScript)',
+'tog-editondblclick' => '双击以编辑页面',
+'tog-editsectiononrightclick' => '允许通过右击章节标题来编辑章节',
+'tog-rememberpassword' => '让浏览器记住我的登录(最大记录为$1天)',
+'tog-watchcreations' => '将我创建的页面和上传的文件添加到监视列表',
+'tog-watchdefault' => '将我编辑过的页面和上传的文件添加到监视列表',
+'tog-watchmoves' => '将我移动过的页面和上传的文件添加到监视列表',
+'tog-watchdeletion' => '将我删除的页面和文件添加到监视列表',
+'tog-minordefault' => '默认所有编辑为小编辑',
+'tog-previewontop' => '在编辑框前显示预览',
+'tog-previewonfirst' => '在第一次编辑时显示预览',
+'tog-enotifwatchlistpages' => '当在我监视列表的页面或文件发生更改时以电子邮件通知我',
+'tog-enotifusertalkpages' => '当我的用户讨论页发生更改时以电子邮件通知我',
+'tog-watchlisthideown' => '从监视列表隐藏我的编辑',
+'tog-watchlisthidebots' => '在监视列表中隐藏機器人用戶的修改',
+'tog-watchlisthideminor' => '在监视列表中隐藏小修改',
+'tog-norollbackdiff' => '進行回退後略過差異比較',
+
+# Font style option in Special:Preferences
+'editfont-monospace' => '等寬字體',
+
+# Categories related messages
+'category_header' => '分类“$1”中的页面',
+'subcategories' => '子分类',
+'hidden-category-category' => '隐藏的分类',
+
+'about' => '关于',
+'cancel' => '取消',
+'moredotdotdot' => '更多……',
+'mypage' => '页面',
+'mytalk' => '讨论',
+'anontalk' => '这个IP地址的讨论页',
+'navigation' => '导航',
+
+# Cologne Blue skin
+'qbbrowse' => '浏览',
+'qbedit' => '编辑',
+'qbpageoptions' => '该页',
+'faq' => '常见问题',
+'faqpage' => 'Project:常见问题',
+
+# Vector skin
+'vector-action-delete' => '删除',
+'vector-action-move' => '移动',
+'vector-view-create' => '创建',
+'vector-view-edit' => '编辑',
+'vector-view-history' => '查看历史',
+
+'newpage' => '最新页面',
+
+# Login and logout pages
+'userlogin-noaccount' => '没有账户?',
+'createacct-join' => '请在下面输入您的资料',
+
+# Edit pages
+'editing' => '编辑“$1”',
+
+# Miscellaneous special pages
+'newpages' => '最新页面',
+
+# Tooltip help for the actions
+'interlanguage-link-title' => '$1 – $2',
+
 /*
 Short names for language variants used for language conversion links.
 Variants for Chinese language
 */
 'variantname-zh-hans' => '简体',
 'variantname-zh-hant' => '繁體',
-'variantname-zh-cn'   => '大陆简体',
-'variantname-zh-tw'   => '台灣正體',
-'variantname-zh-hk'   => '香港繁體',
-'variantname-zh-mo'   => '澳門繁體',
-'variantname-zh-sg'   => '新加坡简体',
-'variantname-zh-my'   => '大马简体',
-'variantname-zh'      => '不转换',
+'variantname-zh-cn' => '大陆简体',
+'variantname-zh-tw' => '台灣正體',
+'variantname-zh-hk' => '香港繁體',
+'variantname-zh-mo' => '澳門繁體',
+'variantname-zh-sg' => '新加坡简体',
+'variantname-zh-my' => '大马简体',
+'variantname-zh' => '不转换',
 
 );
index 6e72e36..cd395bb 100644 (file)
@@ -1,5 +1,5 @@
 <?php
-/** Chinese (China) (‪中文(中国大陆)‬)
+/** Chinese (China) (中文(中国大陆)‎)
  *
  * See MessagesQqq.php for message documentation incl. usage of parameters
  * To improve a translation please visit http://translatewiki.net
@@ -12,6 +12,7 @@
  * @author Shizhao
  * @author Wong128hk
  * @author Xiaomingyan
+ * @author 范
  */
 
 # Inherit everything for now
@@ -21,12 +22,21 @@ $messages = array(
 # User preference toggles
 'tog-norollbackdiff' => '进行回退后略过差异比较',
 
-'mytalk' => '我的讨论页',
+'mytalk' => '讨论',
 
-# All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage) and the disambiguation template definition (see disambiguations).
+# All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
 'portal' => '社区专页',
 
+# Login and logout pages
+'createacct-benefit-body1' => '{{PLURAL:$1|次编辑}}',
+'createacct-benefit-body2' => '
+{{PLURAL:$1|个页面}}',
+'createacct-benefit-body3' => '位最近{{PLURAL:$1|贡献者}}',
+
 # Edit pages
-'editing' => '正在编辑 $1',
+'editing' => '编辑“$1”',
+
+# Tooltip help for the actions
+'interlanguage-link-title' => '$1 – $2',
 
 );
index 642a013..ecb074d 100644 (file)
@@ -907,6 +907,9 @@ $2',
 'suspicious-userlogout' => '注销请求被拒绝,因为它似乎是由有设计缺陷的浏览器或缓存代理发出的。',
 'createacct-another-realname-tip' => '真实姓名是选填项目。
 如果你选择提供它,它将会用于贡献署名。',
+'pt-login' => '登录',
+'pt-createaccount' => '创建账户',
+'pt-userlogout' => '退出',
 
 # Email sending
 'php-mail-error-unknown' => '在 PHP 的 mail() 函数中的未知错误',
index f5f714c..fe218bb 100644 (file)
@@ -806,6 +806,9 @@ $2',
 'suspicious-userlogout' => '您登出的要求已經被拒絕,因為它可能是由已損壞的瀏覽器或者快取代理傳送。',
 'createacct-another-realname-tip' => '真實姓名為選填。
 如果您選擇提供,它將用於貢獻署名。',
+'pt-login' => '登入',
+'pt-createaccount' => '建立帳戶',
+'pt-userlogout' => '登出',
 
 # Email sending
 'php-mail-error-unknown' => '在 PHP 的 mail() 參數中的未知錯誤',
index dc28646..de09791 100644 (file)
@@ -1,5 +1,5 @@
 <?php
-/** Chinese (Hong Kong) (‪中文(香港)‬)
+/** Chinese (Hong Kong) (中文(香港)‎)
  *
  * See MessagesQqq.php for message documentation incl. usage of parameters
  * To improve a translation please visit http://translatewiki.net
@@ -7,11 +7,16 @@
  * @ingroup Language
  * @file
  *
+ * @author Gakmo
  * @author Horacewai2
+ * @author Justincheng12345
  * @author Kayau
+ * @author Liflon
  * @author Mark85296341
+ * @author Openerror
  * @author PhiLiP
  * @author Shizhao
+ * @author Simon Shek
  * @author Waihorace
  * @author Wong128hk
  * @author Yukiseaside
@@ -29,38 +34,235 @@ $specialPageAliases = array(
 
 $messages = array(
 # User preference toggles
+'tog-underline' => '連結加底線:',
+'tog-hideminor' => '近期變動中隱藏細微修改',
+'tog-hidepatrolled' => '於近期變動中隱藏巡查過的編輯',
+'tog-newpageshidepatrolled' => '於新頁面清單中隱藏巡查過的頁面',
+'tog-extendwatchlist' => '展開監視清單以顯示所有更改',
+'tog-usenewrc' => '在最近更改和監視列表中整合同一頁的修改',
+'tog-numberheadings' => '標題自動編號',
+'tog-showtoolbar' => '顯示編輯工具欄',
+'tog-editondblclick' => '雙擊編輯頁面',
+'tog-editsectiononrightclick' => '允許右擊標題編輯段落',
+'tog-rememberpassword' => '在這個瀏覽器上記住我的登入資訊(可維持 $1 {{PLURAL:$1|天|天}})',
+'tog-watchcreations' => '將我建立的頁面及檔案添加到我的監視列表中',
+'tog-watchdefault' => '將我更改的頁面及檔案添加到我的監視列表中',
+'tog-watchmoves' => '將我移動的頁面及檔案添加到我的監視列表',
+'tog-watchdeletion' => '將我刪除的頁面及檔案添加到我的監視列表',
+'tog-minordefault' => '預設將編輯設定為小編輯',
+'tog-previewontop' => '在編輯框上方顯示預覽',
+'tog-previewonfirst' => '首次編輯時顯示原文內容預覽',
+'tog-enotifwatchlistpages' => '當監視列表中的頁面或檔案改變時發電子郵件給我',
+'tog-enotifusertalkpages' => '當我的對話頁有更改時發電子郵件通知我',
+'tog-enotifminoredits' => '即使是頁面或檔案的小修改也向我發電子郵件',
+'tog-enotifrevealaddr' => '在通知電子郵件中顯示我的電子郵件位址',
+'tog-shownumberswatching' => '顯示監視用戶的數目',
+'tog-oldsig' => '原有簽名:',
+'tog-fancysig' => '將簽名以維基文字對待 (不產生自動連結)',
+'tog-uselivepreview' => '使用實時預覽(試驗中)',
+'tog-forceeditsummary' => '當沒有輸入摘要時提醒我',
+'tog-watchlisthideown' => '監視列表中隱藏我的編輯',
 'tog-watchlisthidebots' => '監視列表中隱藏機械人的編輯',
+'tog-watchlisthideminor' => '監視列表中隱藏小修改',
+'tog-watchlisthideliu' => '監視列表中隱藏登入用戶',
+'tog-watchlisthideanons' => '監視列表中隱藏匿名用戶',
+'tog-watchlisthidepatrolled' => '監視清單中隱藏已巡查的編輯',
+'tog-ccmeonemails' => '當我寄電子郵件給其他用戶時,寄一份複本到我的信箱。',
+'tog-diffonly' => '在比較兩個修訂版本差異時不顯示頁面內容',
+'tog-showhiddencats' => '顯示隱藏分類',
+'tog-norollbackdiff' => '回退後略過差異比較',
+'tog-useeditwarning' => '當離開頁面時編輯仍未儲存,請提醒我',
+'tog-prefershttps' => '登入時永遠使用安全連線',
+
+'underline-always' => '總是使用',
+'underline-never' => '從不使用',
+'underline-default' => '面板或瀏覽器預設',
+
+# Font style option in Special:Preferences
+'editfont-style' => '編輯區字型樣式:',
+'editfont-default' => '瀏覽器預設',
+'editfont-monospace' => '固定間距字型',
+'editfont-sansserif' => '無襯線字型',
+'editfont-serif' => '襯線字型',
 
 # Dates
-'january'   => '一月',
-'february'  => '二月',
-'march'     => '三月',
-'april'     => '四月',
-'may_long'  => '五月',
-'june'      => '六月',
-'july'      => '七月',
-'august'    => '八月',
+'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'  => '十二月',
+'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' => '1月',
+'feb' => '2月',
+'mar' => '3月',
+'apr' => '4月',
+'may' => '5月',
+'jun' => '6月',
+'jul' => '7月',
+'aug' => '8月',
+'sep' => '9月',
+'oct' => '10月',
+'nov' => '11月',
+'dec' => '12月',
+'january-date' => '1月$1日',
+'february-date' => '2月$1日',
+'march-date' => '三月$1日',
+'april-date' => '四月$1日',
+'may-date' => '五月$1日',
+'june-date' => '六月$1日',
+'july-date' => '七月$1日',
+'august-date' => '八月$1日',
+'september-date' => '九月$1日',
+'october-date' => '十月$1日',
+'november-date' => '十一月$1日',
+'december-date' => '十二月$1日',
+
+# Categories related messages
+'pagecategories' => '$1個分類',
+'category_header' => '分類中的頁面「$1」',
+'subcategories' => '子分類',
+'category-media-header' => '「$1」分類中的媒體',
+'category-empty' => "''這個分類中尚未包含任何頁面或媒體。''",
+'hidden-categories' => '$1個隱藏分類',
+'hidden-category-category' => '隱藏分類',
+'category-subcat-count' => '{{PLURAL:$2|這個分類中只有以下的子分類。|這個分類中有以下的$1個子分類,共有$2個子分類。}}',
+'category-subcat-count-limited' => '這個分類下有$1個子分類。',
+'category-article-count' => '{{PLURAL:$2|這個分類中只有以下的頁面。|這個分類中有以下的$1個頁面,共有$2個頁面。}}',
+'category-article-count-limited' => '這個分類下有$1個頁面。',
+'category-file-count' => '{{PLURAL:$2|這個分類中只有以下的檔案。|這個分類中有以下的$1個檔案,共有$2個檔案。}}',
+'category-file-count-limited' => '這個分類下有$1個檔案。',
+'listingcontinuesabbrev' => '續',
+'index-category' => '已索引的頁面',
+'noindex-category' => '未索引的頁面',
+'broken-file-category' => '包含損壞檔案連結的頁面',
 
-'mytalk' => '我的討論頁',
+'about' => '關於',
+'article' => '內容頁面',
+'newwindow' => '(於新視窗開啟)',
+'cancel' => '取消',
+'moredotdotdot' => '更多...',
+'morenotlisted' => '這不是完整的列表。',
+'mytalk' => '討論頁',
+'anontalk' => '此IP位址的討論頁',
+'navigation' => '導航',
+'and' => '和',
 
-'tagline'          => '從 {{SITENAME}}',
-'search'           => '搜尋',
+# Cologne Blue skin
+'qbfind' => '搜尋',
+'qbbrowse' => '瀏覽',
+'qbedit' => '編輯',
+'qbpageoptions' => '本頁',
+'qbmyoptions' => '我的用戶頁面',
+'faq' => '常見問題',
+'faqpage' => 'Project:常見問題',
+
+# Vector skin
+'vector-action-addsection' => '新增主題',
+'vector-action-delete' => '刪除',
+'vector-action-undelete' => '恢復',
+'vector-action-unprotect' => '修改保護狀態',
+'vector-view-history' => '歷史',
+'vector-view-view' => '閱覽',
+'vector-view-viewsource' => '查看原始碼',
+'variants' => '變體',
+
+'navigation-heading' => '導航菜單',
+'returnto' => '回到$1。',
+'tagline' => '從 {{SITENAME}}',
+'help' => '幫助',
+'search' => '搜尋',
+'searcharticle' => '提交',
+'updatedmarker' => '自從我上次查看後已更新',
 'printableversion' => '可打印版',
-'permalink'        => '永久連接',
-'print'            => '打印',
-'specialpage'      => '特殊頁面',
-'jumpto'           => '跳到:',
-'jumptosearch'     => '搜尋',
-
-# All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage) and the disambiguation template definition (see disambiguations).
-'aboutpage'   => 'Project:關於我們',
-'privacy'     => '私隱政策',
+'permalink' => '永久連接',
+'print' => '打印',
+'undeletethispage' => '恢復本頁',
+'undelete_short' => '恢復{{PLURAL:$1|1次編輯|$1次編輯}}',
+'viewdeleted_short' => '查看{{PLURAL:$1|1次已刪的編輯|$1次已刪的編輯}}',
+'protect_change' => '修改',
+'unprotect' => '修改保護狀態',
+'unprotectthispage' => '修改本頁的保護狀態',
+'talkpage' => '對本頁進行討論',
+'talkpagelinktext' => '討論頁',
+'specialpage' => '特殊頁面',
+'postcomment' => '新章節',
+'articlepage' => '查看內容頁面',
+'views' => '外觀',
+'userpage' => '查看用戶頁',
+'projectpage' => '查看計劃頁面',
+'imagepage' => '查看檔案頁面',
+'mediawikipage' => '查看訊息頁面',
+'templatepage' => '查看模板頁',
+'viewhelppage' => '查看幫助頁面',
+'categorypage' => '查看分類頁面',
+'viewtalkpage' => '查看討論頁',
+'redirectpagesub' => '重定向頁',
+'lastmodifiedat' => '本頁最後更改於$1$2。',
+'viewcount' => '本頁的瀏覽次數為{{PLURAL:$1|1次|$1次}}。',
+'protectedpage' => '受保護的頁面',
+'jumpto' => '跳到:',
+'jumptonavigation' => '導航',
+'jumptosearch' => '搜尋',
+'view-pool-error' => '抱歉,伺服器現時超出負荷。
+有太多用戶想要查看本頁。
+請先稍候片刻才再嘗試查看本頁。
+
+$1',
+'pool-timeout' => '等待鎖時超出了時限',
+
+# All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
+'aboutsite' => '關於{{SITENAME}}',
+'aboutpage' => 'Project:關於我們',
+'copyright' => '除非另外註明,否則內容以$1提供。',
+'copyrightpage' => '{{ns:project}}:版權',
+'edithelp' => '編輯方面的幫助',
+'mainpage' => '主頁',
+'mainpage-description' => '主頁',
+'portal' => '社群區入口',
+'portal-url' => 'Project:社群入口',
+'privacy' => '私隱政策',
 'privacypage' => 'Project:私隱政策',
 
+'badaccess-group0' => '您無權執行您所提出的行動。',
+'badaccess-groups' => '您所提出的行動只有{{PLURAL:$2|此群組|以下群組之一}}才可執行:$1。',
+
+'versionrequired' => '需要$1版本的MediaWiki',
+'versionrequiredtext' => '要使用本頁的話需要$1版本的MediaWiki。
+請見[[Special:版本|版本頁面]]。',
+
+'retrievedfrom' => '擷取自$1',
 'red-link-title' => '$1 (頁面不存在)',
 
 # Short words for each namespace, by default used in the namespace tab in monobook
@@ -68,14 +270,14 @@ $messages = array(
 
 # Login and logout pages
 'nav-login-createaccount' => '登入/創造帳戶',
-'userlogin'               => '登入/創造帳戶',
+'userlogin' => '登入/創造帳戶',
 
 # Edit pages
-'editing' => '正在編輯 $1',
+'editing' => '正在編輯「$1」',
 
 # Revision deletion
-'rev-deleted-comment'     => '(註釋已除)',
-'rev-deleted-event'       => '(日誌已除)',
+'rev-deleted-comment' => '(註釋已除)',
+'rev-deleted-event' => '(日誌已除)',
 'revdelete-suppress-text' => "壓制'''只'''應用於以下的情況:
 * 不合適的個人資料
 *: ''地址、電話號碼、身份證號碼等。''",
@@ -83,9 +285,6 @@ $messages = array(
 # Diffs
 'editundo' => '撤銷',
 
-# Search results
-'search-mwsuggest-disabled' => '沒有意見',
-
 # Preferences page
 'prefs-help-gender' => '可選:用於軟件中的性別指定。此項資料將會被公開。',
 
@@ -98,7 +297,7 @@ $messages = array(
 
 # Recent changes
 'recentchanges-label-bot' => '這次編輯是由機械人進行',
-'rcshowhidebots'          => '$1機械人的編輯',
+'rcshowhidebots' => '$1機械人的編輯',
 
 # Special:ActiveUsers
 'activeusers-hidebots' => '隱藏機械人',
@@ -107,17 +306,24 @@ $messages = array(
 'contribslink' => '貢獻',
 
 # Tooltip help for the actions
-'tooltip-search'                 => '搜尋 {{SITENAME}}',
-'tooltip-search-go'              => '若是真有其頁,則進入相同名字的頁面',
-'tooltip-search-fulltext'        => '在此頁面內搜尋此文字',
-'tooltip-n-mainpage'             => '回到首頁',
+'tooltip-search' => '搜尋 {{SITENAME}}',
+'tooltip-search-go' => '若是真有其頁,則進入相同名字的頁面',
+'tooltip-search-fulltext' => '在此頁面內搜尋此文字',
+'tooltip-n-mainpage' => '回到首頁',
 'tooltip-n-mainpage-description' => '回到首頁',
-'tooltip-n-randompage'           => '跳到一個隨機抽取的頁面',
-'tooltip-t-print'                => '這個頁面的可打印版本',
+'tooltip-n-randompage' => '跳到一個隨機抽取的頁面',
+'tooltip-t-print' => '這個頁面的可打印版本',
+'interlanguage-link-title' => '$1 – $2',
 
 # Special:NewFiles
 'showhidebots' => '($1機械人)',
 
+/*
+Short names for language variants used for language conversion links.
+Variants for Chinese language
+*/
+'variantname-zh-hant' => '‪繁體中文',
+
 # Special:SpecialPages
 'specialpages' => '特殊頁面',
 
index 37be152..fc87626 100644 (file)
@@ -1,5 +1,5 @@
 <?php
-/** ‪Chinese (Macau) (‪中文(澳門)‬)
+/** 中文(澳門)‎ (中文(澳門)‎)
  *
  * See MessagesQqq.php for message documentation incl. usage of parameters
  * To improve a translation please visit http://translatewiki.net
@@ -11,3 +11,9 @@
 
 # Inherit everything for now
 $fallback = 'zh-hk, zh-hant, zh-hans';
+
+$messages = array(
+# Tooltip help for the actions
+'interlanguage-link-title' => '$1 – $2',
+
+);
index ccf8371..f4aa157 100644 (file)
@@ -1,5 +1,5 @@
 <?php
-/** Chinese (Singapore) (‪中文(新加坡)‬)
+/** Chinese (Singapore) (中文(新加坡)‎)
  *
  * See MessagesQqq.php for message documentation incl. usage of parameters
  * To improve a translation please visit http://translatewiki.net
@@ -7,9 +7,11 @@
  * @ingroup Language
  * @file
  *
+ * @author Liuxinyu970226
  * @author PhiLiP
  * @author Shizhao
  * @author Wong128hk
+ * @author Xiaomingyan
  */
 
 # Inherit everything for now
@@ -19,10 +21,15 @@ $messages = array(
 # User preference toggles
 'tog-norollbackdiff' => '进行回退后略过差异比较',
 
-# All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage) and the disambiguation template definition (see disambiguations).
+'talkpagelinktext' => '讨论页',
+
+# All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
 'portal' => '社区入口',
 
 # Edit pages
-'editing' => '正在编辑 $1',
+'editing' => '编辑“$1”',
+
+# Tooltip help for the actions
+'interlanguage-link-title' => '$1 – $2',
 
 );
index d28642e..3c21302 100644 (file)
@@ -1,5 +1,5 @@
 <?php
-/** Chinese (Taiwan) (‪中文(台灣)‬)
+/** Chinese (Taiwan) (中文(台灣)‎)
  *
  * See MessagesQqq.php for message documentation incl. usage of parameters
  * To improve a translation please visit http://translatewiki.net
@@ -10,6 +10,7 @@
  * @author Alexsh
  * @author Andrew971218
  * @author BobChao
+ * @author Danny0838
  * @author Ianbu
  * @author Jidanni
  * @author Mark85296341
  * @author PhiLiP
  * @author Roc michael
  * @author Shizhao
+ * @author Simon Shek
  * @author Urhixidur
+ * @author Waihorace
  * @author Wong128hk
+ * @author Xiaomingyan
  * @author Zerng07
  * @author לערי ריינהארט
  */
@@ -103,66 +107,65 @@ $dateFormats = array(
 
 $messages = array(
 # User preference toggles
-'tog-underline'            => '連結標注底線',
-'tog-justify'              => '段落對齊',
-'tog-hideminor'            => '近期變動中隱藏細微修改',
-'tog-usenewrc'             => '使用強化的近期變動 (需要JavaScript)',
-'tog-numberheadings'       => '自動編號標題',
-'tog-showtoolbar'          => '顯示編輯工具欄 (需要JavaScript)',
-'tog-watchcreations'       => '將我建立的頁面加進我的監視列表',
-'tog-watchdefault'         => '將我更改的頁面添加到我的監視列表中',
-'tog-minordefault'         => '預設將編輯設定為細微修改',
+'tog-underline' => '連結標注底線',
+'tog-hideminor' => '近期變動中隱藏小修改',
+'tog-usenewrc' => '使用強化的近期變動 (需要JavaScript)',
+'tog-numberheadings' => '自動編號標題',
+'tog-showtoolbar' => '顯示編輯工具欄 (需要JavaScript)',
+'tog-watchcreations' => '將我建立的頁面加進我的監視列表',
+'tog-watchdefault' => '將我更改的頁面添加到我的監視列表中',
+'tog-minordefault' => '預設將編輯設定為細微修改',
 'tog-enotifwatchlistpages' => '當我監視的頁面改變時發電子郵件給我',
-'tog-enotifusertalkpages'  => '當我的對話頁有更動時發電子郵件通知我',
-'tog-shownumberswatching'  => '顯示監視數目',
-'tog-uselivepreview'       => '使用即時預覽 (JavaScript) (試驗中)',
-'tog-watchlisthideminor'   => '監視列表中隱藏細微修改',
-'tog-ccmeonemails'         => '當我寄電子郵件給其他使用者時,也寄一份複本到我的信箱。',
+'tog-enotifusertalkpages' => '當我的對話頁有更動時發電子郵件通知我',
+'tog-shownumberswatching' => '顯示監視數目',
+'tog-uselivepreview' => '使用即時預覽 (JavaScript) (試驗中)',
+'tog-watchlisthideminor' => '監視列表中隱藏細微修改',
+'tog-ccmeonemails' => '當我寄電子郵件給其他使用者時,也寄一份複本到我的信箱。',
 
 # Dates
-'saturday'      => '星期六',
-'sun'           => '日',
-'mon'           => '一',
-'tue'           => '二',
-'wed'           => '三',
-'thu'           => '四',
-'fri'           => '五',
-'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'    => '八月',
+'saturday' => '星期六',
+'sun' => '日',
+'mon' => '一',
+'tue' => '二',
+'wed' => '三',
+'thu' => '四',
+'fri' => '五',
+'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'           => '1月',
-'feb'           => '2月',
-'mar'           => '3月',
-'apr'           => '4月',
-'may'           => '5月',
-'jun'           => '6月',
-'jul'           => '7月',
-'aug'           => '8月',
-'sep'           => '9月',
-'oct'           => '10月',
-'nov'           => '11月',
-'dec'           => '12月',
+'october-gen' => '十月',
+'november-gen' => '十一月',
+'december-gen' => '十二月',
+'jan' => '1月',
+'feb' => '2月',
+'mar' => '3月',
+'apr' => '4月',
+'may' => '5月',
+'jun' => '6月',
+'jul' => '7月',
+'aug' => '8月',
+'sep' => '9月',
+'oct' => '10月',
+'nov' => '11月',
+'dec' => '12月',
 
 # Categories related messages
 'subcategories' => '子分類',
@@ -172,54 +175,54 @@ $messages = array(
 
 # Vector skin
 'vector-action-protect' => '保護',
-'vector-view-create'    => '建立',
-'vector-view-view'      => '閱讀',
-
-'help'           => '使用說明',
-'search'         => '搜尋',
-'searchbutton'   => '搜尋',
-'history'        => '修訂記錄',
-'history_short'  => '歷史',
-'edit'           => '編輯',
-'create'         => '建立',
-'delete'         => '刪除',
+'vector-view-create' => '建立',
+'vector-view-view' => '閱讀',
+
+'help' => '使用說明',
+'search' => '搜尋',
+'searchbutton' => '搜尋',
+'history' => '修訂記錄',
+'history_short' => '歷史',
+'edit' => '編輯',
+'create' => '建立',
+'delete' => '刪除',
 'protect_change' => '更改',
-'postcomment'    => '新段落',
-'toolbox'        => '工具箱',
-'userpage'       => '檢視使用者頁面',
-'projectpage'    => '檢視計畫頁面',
+'postcomment' => '新段落',
+'toolbox' => '工具箱',
+'userpage' => '檢視使用者頁面',
+'projectpage' => '檢視計畫頁面',
 'lastmodifiedat' => '本頁最後更動時間在 $1 $2。',
-'jumptosearch'   => '搜尋',
+'jumptosearch' => '搜尋',
 
-# All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage) and the disambiguation template definition (see disambiguations).
-'aboutsite'   => '關於 {{SITENAME}}',
-'copyright'   => '本站的文字內容除另有聲明外,全部以 $1 條款授權使用。',
+# All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
+'aboutsite' => '關於 {{SITENAME}}',
+'copyright' => '本站的文字內容除另有聲明外,全部以 $1 條款授權使用。',
 'disclaimers' => '免責聲明',
-'edithelp'    => '編輯說明',
-'mainpage'    => '首頁',
-'portal'      => '社群入口',
-'portal-url'  => 'Project:社群入口',
+'edithelp' => '編輯說明',
+'mainpage' => '首頁',
+'portal' => '社群入口',
+'portal-url' => 'Project:社群入口',
 
 'badaccess-groups' => '您剛才的請求只有{{PLURAL:$2|這個|這些}}使用者組的使用者才能使用: $1',
 
-'editold'         => '編輯',
-'editsectionhint' => 'ç¼\96è¾\91段è\90½:$1',
-'showtoc'         => '顯示',
-'hidetoc'         => '隱藏',
-'thisisdeleted'   => '檢視或復原$1?',
-'site-rss-feed'   => '訂閱 $1 的 RSS 資料來源',
-'site-atom-feed'  => '訂閱 $1 的 Atom 資料來源',
-'page-rss-feed'   => '訂閱「$1」的 RSS 資料來源',
-'page-atom-feed'  => '訂閱「$1」的 Atom 資料來源',
-'red-link-title'  => '$1 (頁面不存在)',
+'editold' => '編輯',
+'editsectionhint' => '編輯章ç¯\80:$1',
+'showtoc' => '顯示',
+'hidetoc' => '隱藏',
+'thisisdeleted' => '檢視或復原$1?',
+'site-rss-feed' => '訂閱 $1 的 RSS 資料來源',
+'site-atom-feed' => '訂閱 $1 的 Atom 資料來源',
+'page-rss-feed' => '訂閱「$1」的 RSS 資料來源',
+'page-atom-feed' => '訂閱「$1」的 Atom 資料來源',
+'red-link-title' => '$1 (頁面不存在)',
 
 # Short words for each namespace, by default used in the namespace tab in monobook
-'nstab-main'      => '頁面',
-'nstab-user'      => '使用者頁面',
-'nstab-special'   => '特殊頁面',
-'nstab-project'   => '計畫頁面',
+'nstab-main' => '頁面',
+'nstab-user' => '使用者頁面',
+'nstab-special' => '特殊頁面',
+'nstab-project' => '計畫頁面',
 'nstab-mediawiki' => '介面',
-'nstab-help'      => '說明頁面',
+'nstab-help' => '說明頁面',
 
 # Main script and global functions
 'nosuchactiontext' => '該URL所指定的動作無效。
@@ -227,79 +230,75 @@ $messages = array(
 這也可能是{{SITENAME}}所使用的軟件出現了錯誤。',
 
 # General errors
-'readonlytext'        => '資料庫目前禁止輸入新內容及更改,
+'readonlytext' => '資料庫目前禁止輸入新內容及更改,
 這很可能是由於資料庫正在維修,之後即可復原。
 管理員有如下解釋:
 <p>$1</p>',
-'cannotdelete'        => '無法刪除選定的頁面或圖片(它可能已經被其他人刪除了)。',
+'cannotdelete' => '無法刪除選定的頁面或圖片(它可能已經被其他人刪除了)。',
 'actionthrottledtext' => '系統因為反垃圾編輯的考量,禁止如此頻繁地修改資料,請數分鐘後再嘗試。',
-'viewsourcetext'      => '你可以檢視並複製本頁面的原始碼。',
-'editinginterface'    => "'''警告:''' 您正在編輯的頁面是正用在軟體上的介面文字。改變此頁將影響其他用戶的介面外觀。如要翻譯,請考慮使用 [//translatewiki.net/wiki/Main_Page?setlang=zh-hant translatewiki.net],一個用來為MediaWiki軟體本地化的計畫。",
+'viewsourcetext' => '你可以檢視並複製本頁面的原始碼。',
+'editinginterface' => "'''警告:''' 您正在編輯的頁面是正用在軟體上的介面文字。改變此頁將影響其他用戶的介面外觀。如要翻譯,請考慮使用 [//translatewiki.net/wiki/Main_Page?setlang=zh-hant translatewiki.net],一個用來為MediaWiki軟體本地化的計畫。",
 'ns-specialprotected' => '在{{ns:special}}名字空間中的頁面是不可以編輯的。',
 
 # Login and logout pages
-'logouttext'                 => '您現在已經登出。
-
-您可以以匿名方式繼續使用{{SITENAME}},或者以相同或不同用戶身份[[Special:UserLogin|登入]]。
-請注意,如果你再次登入,此頁或會繼續顯示,直到您清除瀏覽器快取。',
-'welcomecreation'            => '== 歡迎,$1! ==
-您的帳號已經建立。
-請不要忘記設定[[Special:Preferences|{{SITENAME}}的個人參數]]。',
-'yourname'                   => '您的使用者名:',
-'yourpassword'               => '密碼:',
-'login'                      => '登入',
-'nav-login-createaccount'    => '登入/建立新帳號',
-'userlogin'                  => '登入/建立新帳號',
-'logout'                     => '登出',
-'userlogout'                 => '登出',
-'nologin'                    => '您還沒有帳號嗎?$1。',
-'nologinlink'                => '建立新帳號',
-'createaccount'              => '建立新帳號',
-'gotaccount'                 => '已經擁有帳號?$1。',
-'badretype'                  => '你所輸入的密碼並不相同。',
-'userexists'                 => '您所輸入的使用者名稱已經存在,請另選一個名稱。',
-'nocookiesnew'               => '已成功建立新帳號!偵測到您已關閉 Cookies,請開啟它並登入。',
-'nocookieslogin'             => '本站利用 Cookies 進行使用者登入,偵測到您已關閉 Cookies,請開啟它並重新登入。',
-'noname'                     => '你沒有輸入一個有效的使用者帳號。',
-'loginsuccess'               => '你現在以 "$1"的身份登入{{SITENAME}}。',
-'nosuchuser'                 => '找不到使用者 "$1"。
+'logouttext' => "您現在已經登出。
+
+您可以以匿名方式繼續使用{{SITENAME}},或者以相同或不同用戶身份<span class='plainlinks'>[$1 登入]</span>。
+請注意,如果你再次登入,此頁或會繼續顯示,直到您清除瀏覽器快取。",
+'yourname' => '您的使用者名稱:',
+'yourpassword' => '密碼:',
+'login' => '登入',
+'nav-login-createaccount' => '登入/建立新帳號',
+'userlogin' => '登入/建立新帳號',
+'logout' => '登出',
+'userlogout' => '登出',
+'nologin' => '您還沒有帳號嗎?$1。',
+'nologinlink' => '建立新帳號',
+'createaccount' => '建立新帳號',
+'gotaccount' => '已經擁有帳號?$1。',
+'badretype' => '你所輸入的密碼並不相同。',
+'userexists' => '您所輸入的使用者名稱已經存在,請另選一個名稱。',
+'nocookiesnew' => '已成功建立新帳號!偵測到您已關閉 Cookies,請開啟它並登入。',
+'nocookieslogin' => '本站利用 Cookies 進行使用者登入,偵測到您已關閉 Cookies,請開啟它並重新登入。',
+'noname' => '你沒有輸入一個有效的使用者帳號。',
+'loginsuccess' => '你現在以 "$1"的身份登入{{SITENAME}}。',
+'nosuchuser' => '找不到使用者 "$1"。
 檢查您的拼寫,或者用下面的表格[[Special:UserLogin/signup|建立一個新帳號]]。',
-'nosuchusershort'            => '沒有一個名為「$1」的使用者。請檢查您輸入的文字是否有錯誤。',
-'nouserspecified'            => '你需要指定一個使用者帳號。',
-'passwordtooshort'           => '您的密碼不正確或太短,不能少於$1個字元,而且必須跟使用者名不同。',
-'passwordremindertitle'      => '{{SITENAME}}密碼提醒',
-'passwordremindertext'       => '有人(來自IP位址$1,可能是您)已請求{{SITENAME}}的新密碼 ($4)。
+'nosuchusershort' => '沒有一個名為「$1」的使用者。請檢查您輸入的文字是否有錯誤。',
+'nouserspecified' => '你需要指定一個使用者帳號。',
+'passwordtooshort' => '您的密碼不正確或太短,不能少於$1個字元,而且必須跟使用者名不同。',
+'passwordremindertitle' => '{{SITENAME}}密碼提醒',
+'passwordremindertext' => '有人(來自IP位址$1,可能是您)已請求{{SITENAME}}的新密碼 ($4)。
 用戶"$2"現在已設定新臨時密碼"$3"。
 如果這個動作是您所指示的,您需要立即登入並選擇一個新的密碼。
 您的臨時密碼會在{{PLURAL:$5|一|$5}}天內過期。
 
 如果是其他人發出了該請求,或者您已經想起了您的密碼而且並不打算換掉,
 您可以忽略此消息並繼續使用您的舊密碼。',
-'noemail'                    => '使用者"$1"沒有登記電子郵件地址。',
-'passwordsent'               => '使用者"$1"的新密碼已經寄往所登記的電子郵件地址。
+'noemail' => '使用者"$1"沒有登記電子郵件地址。',
+'passwordsent' => '使用者"$1"的新密碼已經寄往所登記的電子郵件地址。
 請在收到後再登入。',
-'blocked-mailpassword'       => '由於這個使用者被封鎖,我們暫時禁止您請求申請新密碼。造成不便敬請見諒',
-'eauthentsent'               => '一封確認信已經發送到所示的地址。在發送其它郵件到此帳號前,您必須首先依照這封信中的指導確認這個電子郵件信箱真實有效。',
+'blocked-mailpassword' => '由於這個使用者被封鎖,我們暫時禁止您請求申請新密碼。造成不便敬請見諒',
+'eauthentsent' => '一封確認信已經發送到所示的地址。在發送其它郵件到此帳號前,您必須首先依照這封信中的指導確認這個電子郵件信箱真實有效。',
 'acct_creation_throttle_hit' => '抱歉,使用您的IP位址拜訪此wiki網站的訪客已經在昨天創建了$1個帳號,達到了該時段的上限,所以目前使用這個IP位址的訪客不能再繼續創建帳號。',
-'emailauthenticated'         => '您的電子郵件地址已經於$2 $3確認有效。',
-'emailnotauthenticated'      => '您的電子郵件地址<strong>還沒被認證</strong>。以下功能將不會發送任何郵件。',
-'noemailprefs'               => '指定一個電子郵件地址以使用此功能',
-'emailconfirmlink'           => '確認您的電子郵件地址',
-'invalidemailaddress'        => '電子郵件地址格式不正確,請輸入正確的電子郵件位址或清空該輸入框。',
-'accountcreated'             => '已建立帳號',
-'accountcreatedtext'         => '$1的帳號已經被建立。',
-'createaccount-title'        => '在{{SITENAME}}中建立新帳號',
-'createaccount-text'         => '有人在{{SITENAME}}中為 $2 建立了一個新帳號($4)。 "$2" 的密碼是 "$3" 。您應該立即登入並更改密碼。
+'emailauthenticated' => '您的電子郵件地址已經於$2 $3確認有效。',
+'emailnotauthenticated' => '您的電子郵件地址<strong>還沒被認證</strong>。以下功能將不會發送任何郵件。',
+'noemailprefs' => '指定一個電子郵件地址以使用此功能',
+'emailconfirmlink' => '確認您的電子郵件地址',
+'invalidemailaddress' => '電子郵件地址格式不正確,請輸入正確的電子郵件位址或清空該輸入框。',
+'accountcreated' => '已建立帳號',
+'accountcreatedtext' => '$1的帳號已經被建立。',
+'createaccount-title' => '在{{SITENAME}}中建立新帳號',
+'createaccount-text' => '有人在{{SITENAME}}中為 $2 建立了一個新帳號($4)。 "$2" 的密碼是 "$3" 。您應該立即登入並更改密碼。
 
 如果該帳號建立錯誤的話,您可以忽略此訊息。',
 
 # Change password dialog
-'resetpass'           => '更換密碼',
-'resetpass_announce'  => '您是透過臨時發送到郵件中的代碼登入的。要完成登入,您必須在這裡設定一個新密碼:',
-'resetpass_header'    => '更換帳號密碼',
-'oldpassword'         => '舊密碼',
-'newpassword'         => '新密碼',
-'resetpass_success'   => '您的密碼已經被成功更改﹗現下正為您登入...',
+'resetpass_announce' => '您是透過臨時發送到郵件中的代碼登入的。要完成登入,您必須在這裡設定一個新密碼:',
+'resetpass_header' => '更換帳號密碼',
+'oldpassword' => '舊密碼',
+'newpassword' => '新密碼',
+'changepassword-success' => '您的密碼已經被成功更改﹗現下正為您登入...',
 'resetpass_forbidden' => '無法更改密碼',
 
 # Edit page toolbar
@@ -307,49 +306,49 @@ $messages = array(
 'media_tip' => '媒體檔案連結',
 
 # Edit pages
-'summary'                    => '摘要',
-'minoredit'                  => '這是一個細微修改',
-'savearticle'                => '儲存頁面',
-'blockedtitle'               => '使用者被封鎖',
-'confirmedittext'            => '在編輯此頁之前您必須確認您的電子郵件地址。請透過[[Special:Preferences|偏好設定]]設定並驗證您的電子郵件地址。',
-'accmailtext'                => "'[[User talk:$1|$1]]'的隨機產生密碼已經寄到$2。
+'summary' => '摘要',
+'minoredit' => '這是一個細微修改',
+'savearticle' => '儲存頁面',
+'blockedtitle' => '使用者被封鎖',
+'confirmedittext' => '在編輯此頁之前您必須確認您的電子郵件地址。請透過[[Special:Preferences|偏好設定]]設定並驗證您的電子郵件地址。',
+'accmailtext' => "'[[User talk:$1|$1]]'的隨機產生密碼已經寄到$2。
 
 這個新帳號的密碼可以在登入後的''[[Special:ChangePassword|更改密碼]]''頁面中更改。",
-'newarticletext'             => '您進入了一個尚未建立的頁面。
+'newarticletext' => '您進入了一個尚未建立的頁面。
 要建立該頁面,請在下面的編輯框中輸入內容(詳情參見[[{{MediaWiki:Helppage}}|說明]])。
 如果您是不小心來到此頁面,直接點擊您瀏覽器中的「返回」按鈕返回。',
-'anontalkpagetext'           => "---- ''這是一個還未建立帳號的匿名使用者的對話頁。我們因此只能用IP地址來與他/她聯絡。該IP地址可能由幾名使用者共享。如果您是一名匿名使用者並認為本頁上的評語與您無關,請[[Special:UserLogin|建立新帳號或登入]]以避免在未來於其他匿名使用者混淆。''",
-'noarticletext'              => '此頁目前沒有內容,您可以在其它頁[[Special:Search/{{PAGENAME}}|搜索此頁標題]],
+'anontalkpagetext' => "---- ''這是一個還未建立帳號的匿名使用者的對話頁。我們因此只能用IP地址來與他/她聯絡。該IP地址可能由幾名使用者共享。如果您是一名匿名使用者並認為本頁上的評語與您無關,請[[Special:UserLogin|建立新帳號或登入]]以避免在未來於其他匿名使用者混淆。''",
+'noarticletext' => '此頁目前沒有內容,您可以在其它頁[[Special:Search/{{PAGENAME}}|搜索此頁標題]],
 <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 搜索有關日誌],
 或[{{fullurl:{{FULLPAGENAME}}|action=edit}} 編輯此頁]</span>。',
-'userpage-userdoesnotexist'  => '使用者帳號「<nowiki>$1</nowiki>」未曾建立。請在建立/編輯這個頁面前先檢查一下。',
-'usercsspreview'             => "'''注意您只是在預覽您的個人 CSS, 還沒有儲存﹗'''",
-'userjspreview'              => "'''注意您只是在測試/預覽您的個人 JavaScript,還沒有儲存﹗'''",
-'previewnote'                => "'''請記住這只是預覽,內容尚未儲存!'''",
-'session_fail_preview'       => "'''很抱歉!由於部份資料遺失,我們無法處理您的編輯。'''
+'userpage-userdoesnotexist' => '使用者帳號「<nowiki>$1</nowiki>」未曾建立。請在建立/編輯這個頁面前先檢查一下。',
+'clearyourcache' => "'''注意:''' 在儲存以後, 您必須清除瀏覽器的快取才能看到所作出的改變。 '''Mozilla / Firefox / Safari:''' 按著 ''Shift'' 再點擊''重新整理''(或按下''Ctrl-Shift-R'',在蘋果Mac上按下''Cmd-Shift-R'');'''IE:''' 按著 ''Ctrl'' 再點擊 ''重新整理'',或按下 ''Ctrl-F5'';'''Konqueror:''' 只需點擊 ''重新整理'';'''Opera:''' 使用者需要在 ''工具-設定'' 中完整地清除它們的快取。",
+'usercsspreview' => "'''注意您只是在預覽您的個人 CSS, 還沒有儲存﹗'''",
+'userjspreview' => "'''注意您只是在測試/預覽您的個人 JavaScript,還沒有儲存﹗'''",
+'previewnote' => "'''請記住這只是預覽,內容尚未儲存!'''",
+'session_fail_preview' => "'''很抱歉!由於部份資料遺失,我們無法處理您的編輯。'''
 請再試一次。
 如果仍然失敗,請[[Special:UserLogout|登出]]後重新登入。",
-'session_fail_preview_html'  => "'''很抱歉!部份資料已遺失,我們無法處理您的編輯。''''''如果這個編輯過程沒有問題,請再試一次。如果仍然有問題,請登出後再重新登入一次。'''",
-'token_suffix_mismatch'      => "'''由於您使用者端中的編輯信符毀損了一些標點符號字元,為防止編輯的文字損壞,您的編輯已經被拒絕。
+'session_fail_preview_html' => "'''很抱歉!部份資料已遺失,我們無法處理您的編輯。''''''如果這個編輯過程沒有問題,請再試一次。如果仍然有問題,請登出後再重新登入一次。'''",
+'token_suffix_mismatch' => "'''由於您使用者端中的編輯信符毀損了一些標點符號字元,為防止編輯的文字損壞,您的編輯已經被拒絕。
 這種情況通常出現於使用含有很多臭蟲、以網路為主的匿名代理服務的時候。'''",
-'editing'                    => '正在编辑 $1',
-'editingcomment'             => '正在編輯$1(新段落)',
-'storedversion'              => '已保存版本',
-'nonunicodebrowser'          => "'''警告: 您的瀏覽器不相容Unicode編碼。這裡有一個工作區將使您能安全地編輯頁面: 非ASCII字元將以十六進製編碼模式出現在編輯框中。'''",
-'editingold'                 => "'''警告:你正在編輯的是本頁的舊版本。
+'editing' => '編輯「$1」',
+'editingcomment' => '正在編輯$1(新段落)',
+'storedversion' => '已保存版本',
+'nonunicodebrowser' => "'''警告: 您的瀏覽器不相容Unicode編碼。這裡有一個工作區將使您能安全地編輯頁面: 非ASCII字元將以十六進製編碼模式出現在編輯框中。'''",
+'editingold' => "'''警告:你正在編輯的是本頁的舊版本。
 如果你保存它的話,在本版本之後的任何修改都會遺失。'''",
-'longpageerror'              => "'''錯誤: 您所提交的文字長度有$1KB,這大於$2KB的最大值。該文字不能被儲存。'''",
-'protectedpagewarning'       => "'''警告: 本頁已經被保護,只有擁有管理員許可權的使用者才可修改。'''",
-'semiprotectedpagewarning'   => "'''注意:''' 本頁面被鎖定,僅限註冊使用者編輯。",
-'cascadeprotectedwarning'    => '警告: 本頁已經被保護,只有擁有管理員權限的使用者才可修改,因為本頁已被以下連鎖保護的{{PLURAL:$1|一個|多個}}頁面所包含:',
-'nocreatetitle'              => '建立頁面受限',
-'nocreatetext'               => '此網站限制了建立新頁面的功能。你可以返回並編輯已有的頁面,或者[[Special:UserLogin|登錄或建立新帳號]]。',
-'nocreate-loggedin'          => '您在這個wiki中並無許可權去建立新頁面。',
+'longpageerror' => "'''錯誤: 您所提交的文字長度有$1KB,這大於$2KB的最大值。該文字不能被儲存。'''",
+'protectedpagewarning' => "'''警告: 本頁已經被保護,只有擁有管理員許可權的使用者才可修改。'''",
+'semiprotectedpagewarning' => "'''注意:''' 本頁面被鎖定,僅限註冊使用者編輯。",
+'cascadeprotectedwarning' => '警告: 本頁已經被保護,只有擁有管理員權限的使用者才可修改,因為本頁已被以下連鎖保護的{{PLURAL:$1|一個|多個}}頁面所包含:',
+'nocreatetext' => '此網站限制了建立新頁面的功能。你可以返回並編輯已有的頁面,或者[[Special:UserLogin|登錄或建立新帳號]]。',
+'nocreate-loggedin' => '您在這個wiki中並無許可權去建立新頁面。',
 'recreate-moveddeleted-warn' => "'''警告: 你現在重新建立一個先前曾經刪除過的頁面。'''
 
 你應該要考慮一下繼續編輯這一個頁面是否合適。
 為方便起見,這一個頁面的刪除記錄已經在下面提供:",
-'edit-hook-aborted'          => '編輯被鉤取消。
+'edit-hook-aborted' => '編輯被鉤取消。
 它並無給出解釋。',
 
 # Parser/template warnings
@@ -366,93 +365,86 @@ $messages = array(
 說明:(目前) 指與目前版本比較,(先前) 指與前一個修訂版本比較,小 = 細微修改。',
 
 # Revision feed
-'history-feed-title'       => '修訂沿革',
+'history-feed-title' => '修訂沿革',
 'history-feed-description' => '本站上此頁的修訂沿革',
-'history-feed-empty'       => '所請求的頁面不存在。它可能已被刪除或重新命名。
+'history-feed-empty' => '所請求的頁面不存在。它可能已被刪除或重新命名。
 嘗試[[Special:Search|搜尋本站]]獲得相關的新建頁面。',
 
 # Revision deletion
-'rev-deleted-comment'         => '(註釋已除)',
-'rev-deleted-user'            => '(使用者名已移除)',
-'rev-deleted-event'           => '(日誌已除)',
+'rev-deleted-comment' => '(註釋已除)',
+'rev-deleted-user' => '(使用者名已移除)',
+'rev-deleted-event' => '(日誌已除)',
 'rev-deleted-text-permission' => '該頁面修訂已經被從公共文件中移除。
-在[{{fullurl:{{#Special:Log}}/suppress|page={{PAGENAMEE}}}} 刪除日誌]中您可能會檢視到詳細的訊息。',
-'rev-deleted-text-view'       => '該頁面修訂已經被從公共文件中移除。作為此網站的管理員,您可以檢視它;
 在[{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} 刪除日誌]中您可能會檢視到詳細的訊息。',
-'revisiondelete'              => '刪除/復原刪除修訂',
-'revdelete-nooldid-title'     => '沒有目標修訂',
-'revdelete-nooldid-text'      => '您沒有指定此操作的目標修訂。',
-'logdelete-selected'          => "'''選取的$1個日誌項目:'''",
-'revdelete-text'              => "'''刪除的修訂仍將顯示在修訂記錄中, 但它們的文字內容已不能被公眾訪問。'''
+'rev-deleted-text-view' => '該頁面修訂已經被從公共文件中移除。作為此網站的管理員,您可以檢視它;
+在[{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} 刪除日誌]中您可能會檢視到詳細的訊息。',
+'revisiondelete' => '刪除/復原刪除修訂',
+'revdelete-nooldid-title' => '沒有目標修訂',
+'revdelete-nooldid-text' => '您沒有指定此操作的目標修訂。',
+'logdelete-selected' => "'''選取的$1個日誌項目:'''",
+'revdelete-text' => "'''刪除的修訂仍將顯示在修訂記錄中, 但它們的文字內容已不能被公眾訪問。'''
 
 在此網站的其他管理員將仍能訪問隱藏的內容並透過與此相同的介面復原刪除,除非網站工作者進行了一些附加的限制。",
-'revdelete-legend'            => '設定修訂限制:',
-'revdelete-hide-user'         => '隱藏編輯者的使用者名/IP',
-'revdelete-hide-restricted'   => '將此限制同樣應用於管理員',
-'revdelete-suppress'          => '同時壓制由操作員以及其他使用者的資料',
-'revdelete-unsuppress'        => '在已復原的修訂中移除限制',
-'revdelete-success'           => '修訂的可見性已經成功設定。',
-'logdelete-success'           => '事件的可見性已經成功設定。',
+'revdelete-legend' => '設定修訂限制:',
+'revdelete-hide-user' => '隱藏編輯者的使用者名/IP',
+'revdelete-hide-restricted' => '將此限制同樣應用於管理員',
+'revdelete-suppress' => '同時壓制由操作員以及其他使用者的資料',
+'revdelete-unsuppress' => '在已復原的修訂中移除限制',
+'revdelete-success' => '修訂的可見性已經成功設定。',
+'logdelete-success' => '事件的可見性已經成功設定。',
 
 # History merging
-'mergehistory'        => '合併修訂記錄',
+'mergehistory' => '合併修訂記錄',
 'mergehistory-header' => "這一頁可以講您合併一個來源頁面的歷史到另一個新頁面中。
 請確認這次更改會繼續保留該頁面先前的歷史版本。
 
 '''最少該來源頁面的現時修訂必定會保持。'''",
-'mergehistory-merge'  => '以下[[:$1]]的修訂可以合併到[[:$2]]。用該選項按鈕欄去合併只有在指定時間以前所建立的修訂。要留意的是使用導航連結便會重設這一欄。',
+'mergehistory-merge' => '以下[[:$1]]的修訂可以合併到[[:$2]]。用該選項按鈕欄去合併只有在指定時間以前所建立的修訂。要留意的是使用導航連結便會重設這一欄。',
 
 # Merge log
 'mergelogpagetext' => '以下是一個最近由一個頁面的修訂沿革合併到另一個頁面的列表。',
 
 # Diffs
-'history-title'           => '「$1」的修訂沿革',
+'history-title' => '「$1」的修訂沿革',
 'compareselectedversions' => '比較選定的版本',
 
 # Search results
-'searchresults'    => '搜尋結果',
-'searchresulttext' => '有關搜尋{{SITENAME}}的更多詳情,參見[[{{MediaWiki:Helppage}}|{{int:help}}]]。',
-'searchsubtitle'   => '查詢\'\'\'[[:$1]]\'\'\'([[Special:Prefixindex/$1|所有以 "$1" 開頭的頁面]]{{int:pipe-separator}}[[Special:WhatLinksHere/$1|所有鏈接到 "$1" 的頁面]])',
-'nonefound'        => "'''注意''': 只有一些名稱空間是會作為預設搜尋。嘗試''all:''去搜尋全部的頁面(包埋討論頁面、模板等),或可用需要的名稱空間作為前綴。",
-'powersearch'      => '搜尋',
-'searchdisabled'   => '{{SITENAME}}由於性能方面的原因,全文搜尋已被暫時停用。您可以暫時透過Google搜尋。請留意他們的索引可能會過時。',
+'searchresults' => '搜尋結果',
+'searchdisabled' => '{{SITENAME}}由於性能方面的原因,全文搜尋已被暫時停用。您可以暫時透過Google搜尋。請留意他們的索引可能會過時。',
 
 # Preferences page
-'preferences'          => '偏好設定',
-'mypreferences'        => '我的偏好設定',
-'prefsnologintext'     => '您必須先[[Special:UserLogin|登入]]才能設定個人參數。',
-'prefs-personal'       => '使用者資料',
-'prefs-rc'             => '近期變動',
+'preferences' => '偏好設定',
+'mypreferences' => '偏好設定',
+'prefs-personal' => '使用者資料',
+'prefs-rc' => '近期變動',
 'prefs-watchlist-days' => '監視列表中顯示記錄的最長天數:',
-'saveprefs'            => '保存偏好設定',
-'resetprefs'           => '重設參數',
-'searchresultshead'    => '搜尋結果設定',
-'recentchangesdays'    => '近期變動中的顯示日數:',
-'recentchangescount'   => '近期變動中的編輯數:',
-'savedprefs'           => '您的個人偏好設定已經儲存。',
-'timezonelegend'       => '時區',
-'localtime'            => '當地時間',
-'timezoneoffset'       => '時差¹',
-'servertime'           => '伺服器時間',
-'allowemail'           => '接受來自其他使用者的郵件',
-'defaultns'            => '否則在這些名字空間搜尋:',
-'username'             => '使用者名:',
-'uid'                  => '使用者ID:',
-'yournick'             => '暱稱:',
-'badsig'               => '錯誤的原始簽名;請檢查HTML標籤。',
-'badsiglength'         => '你的簽名過長;簽名長度必須在$1個字元以下。',
-'prefs-help-gender'    => '可選:用於軟體中的性別指定。此項資料將會被公開。',
-'prefs-help-realname'  => '真實姓名是選填的,如果您選擇提供它,那它便用以對您的貢獻署名。',
-'prefs-help-email'     => '電子郵件是選填的,但當啟用它後可以在您忘記您的個密碼時需要將新密碼重設寄回給您。而在您未公開自己的使用者身分時也能透過您的用戶頁或用戶討論頁與您聯繫。',
+'saveprefs' => '保存偏好設定',
+'searchresultshead' => '搜尋結果設定',
+'recentchangesdays' => '近期變動中的顯示日數:',
+'recentchangescount' => '近期變動中的編輯數:',
+'savedprefs' => '您的個人偏好設定已經儲存。',
+'timezonelegend' => '時區',
+'localtime' => '當地時間',
+'servertime' => '伺服器時間:',
+'allowemail' => '接受來自其他使用者的郵件',
+'defaultns' => '否則在這些名字空間搜尋:',
+'username' => '使用者名:',
+'uid' => '使用者ID:',
+'yournick' => '暱稱:',
+'badsig' => '錯誤的原始簽名;請檢查HTML標籤。',
+'badsiglength' => '你的簽名過長;簽名長度必須在$1個字元以下。',
+'prefs-help-gender' => '可選:用於軟體中的性別指定。此項資料將會被公開。',
+'prefs-help-realname' => '真實姓名是選填的,如果您選擇提供它,那它便用以對您的貢獻署名。',
+'prefs-help-email' => '電子郵件是選填的,但當啟用它後可以在您忘記您的個密碼時需要將新密碼重設寄回給您。而在您未公開自己的使用者身分時也能透過您的用戶頁或用戶討論頁與您聯繫。',
 
 # User rights
-'userrights'               => '使用者權限管理',
-'userrights-lookup-user'   => '管理使用者群組',
+'userrights' => '使用者權限管理',
+'userrights-lookup-user' => '管理使用者群組',
 'userrights-user-editname' => '輸入使用者帳號:',
-'editusergroup'            => '編輯使用者群組',
-'editinguser'              => "正在編輯使用者'''[[User:$1|$1]]''' ([[User talk:$1|{{int:talkpagelinktext}}]] | [[Special:Contributions/$1|{{int:contribslink}}]])",
+'editusergroup' => '編輯使用者群組',
+'editinguser' => "正在編輯使用者'''[[User:$1|$1]]''' ([[User talk:$1|{{int:talkpagelinktext}}]] | [[Special:Contributions/$1|{{int:contribslink}}]])",
 'userrights-editusergroup' => '編輯使用者群組',
-'saveusergroups'           => '保存使用者群組',
+'saveusergroups' => '保存使用者群組',
 
 # Groups
 'group-autoconfirmed' => '自動確認使用者',
@@ -462,31 +454,31 @@ $messages = array(
 'grouppage-autoconfirmed' => '{{ns:project}}:自動確認使用者',
 
 # User rights log
-'rightslog'     => '使用者權限日誌',
+'rightslog' => '使用者權限日誌',
 'rightslogtext' => '以下記錄了使用者權限的更改記錄。',
 
 # Recent changes
-'recentchanges'                     => '近期變動',
-'recentchanges-feed-description'    => '追蹤此訂閱在 wiki 上的近期變動。',
-'rcnotefrom'                        => '下面是自<b>$2</b>(最多顯示<b>$1</b>):',
-'rcshowhideminor'                   => '$1細微修改',
-'rcshowhidebots'                    => '$1機器人的編輯',
-'rcshowhideliu'                     => '$1具名使用者的編輯',
-'rcshowhideanons'                   => '$1匿名使用者的編輯',
-'rcshowhidepatr'                    => ' $1檢查過的編輯',
+'recentchanges' => '近期變動',
+'recentchanges-feed-description' => '追蹤此訂閱在 wiki 上的近期變動。',
+'rcnotefrom' => '下面是自<b>$2</b>(最多顯示<b>$1</b>):',
+'rcshowhideminor' => '$1細微修改',
+'rcshowhidebots' => '$1機器人的編輯',
+'rcshowhideliu' => '$1具名使用者的編輯',
+'rcshowhideanons' => '$1匿名使用者的編輯',
+'rcshowhidepatr' => ' $1檢查過的編輯',
 'number_of_watching_users_pageview' => '[$1個關注使用者]',
 
 # Recent changes linked
-'recentchangeslinked'         => '相關頁面修訂記錄',
-'recentchangeslinked-feed'    => '相關頁面修訂記錄',
+'recentchangeslinked' => '相關頁面修訂記錄',
+'recentchangeslinked-feed' => '相關頁面修訂記錄',
 'recentchangeslinked-toolbox' => '相關頁面修訂記錄',
-'recentchangeslinked-title'   => '$1 內連結頁面的修訂記錄',
+'recentchangeslinked-title' => '$1 內連結頁面的修訂記錄',
 'recentchangeslinked-summary' => "這一個特殊頁面列示這一頁連出頁面的近期變動。在您監視列表中的頁面會以'''粗體'''表示。",
 
 # Upload
-'upload'                      => '上傳檔案',
-'reuploaddesc'                => '返回上載表單。',
-'uploadtext'                  => "使用下面的表單來上傳用在頁面內新的圖片檔案。
+'upload' => '上傳檔案',
+'reuploaddesc' => '返回上載表單。',
+'uploadtext' => "使用下面的表單來上傳用在頁面內新的圖片檔案。
 要檢視或搜尋以前上傳的圖片
 可以進入[[Special:FileList|圖片清單]],
 上傳和刪除將在[[Special:Log/upload|上傳日誌]]中記錄。
@@ -495,50 +487,50 @@ $messages = array(
 '''<nowiki>[[</nowiki>{{ns:file}}:file.jpg<nowiki>]]</nowiki>''',
 '''<nowiki>[[</nowiki>{{ns:file}}:file.png|替換文字<nowiki>]]</nowiki>''' 或
 '''<nowiki>[[</nowiki>{{ns:media}}:file.ogg<nowiki>]]</nowiki>'''。",
-'uploadlogpagetext'           => '以下是最近上傳的檔案的一覽表。',
-'ignorewarning'               => '忽略警告並儲存檔案。',
-'illegalfilename'             => '檔案名"$1"包含有頁面標題所禁止的字符。請改名後重新上傳。',
-'badfilename'                 => '檔案名已被改為"$1"。',
-'hookaborted'                 => '您所嘗試的修改被擴展鉤捨棄。',
-'fileexists-thumbnail-yes'    => "這個檔案好像是一幅圖片的縮圖版本''(縮圖)''。 [[$1|thumb]]
-請檢查清楚該檔案'''<tt>[[:$1]]</tt>'''
+'uploadlogpagetext' => '以下是最近上傳的檔案的一覽表。',
+'ignorewarning' => '忽略警告並儲存檔案。',
+'illegalfilename' => '檔案名"$1"包含有頁面標題所禁止的字符。請改名後重新上傳。',
+'badfilename' => '檔案名已被改為"$1"。',
+'hookaborted' => '您所嘗試的修改被擴展鉤捨棄。',
+'fileexists-thumbnail-yes' => "這個檔案好像是一幅圖片的縮圖版本''(縮圖)''。 [[$1|thumb]]
+請檢查清楚該檔案<strong>[[:$1]]</strong>
 如果檢查後的檔案是同原本圖片的大小是一樣的話,就不用再上載多一幅縮圖。",
-'file-thumbnail-no'           => "該檔名是以'''<tt>$1</tt>'''開始。它好像一幅圖片的縮圖版本''(縮圖)''。
+'file-thumbnail-no' => "該檔名是以<strong>$1</strong>開始。它好像一幅圖片的縮圖版本''(縮圖)''。
 如果你有該圖片的完整大小,如不是請再修改檔名。",
-'fileexists-forbidden'        => '已存在相同名稱的檔案;請返回並用一個新的名稱來上傳此檔案。[[File:$1|thumb|center|$1]]',
+'fileexists-forbidden' => '已存在相同名稱的檔案;請返回並用一個新的名稱來上傳此檔案。[[File:$1|thumb|center|$1]]',
 'fileexists-shared-forbidden' => '在共享檔案庫中已存在此名稱的檔案;請返回並用一個新的名稱來上傳此檔案。[[File:$1|thumb|center|$1]]',
-'uploaddisabledtext'          => '檔案上傳在此網站不可用。',
-'watchthisupload'             => '監視此頁',
+'uploaddisabledtext' => '檔案上傳在此網站不可用。',
+'watchthisupload' => '監視此頁',
 
-'upload-proto-error'     => '協訂錯誤',
+'upload-proto-error' => '協訂錯誤',
 'upload-file-error-text' => '當試圖在伺服器上建立臨時檔案時發生內部錯誤。請與系統管理員聯繫。',
 'upload-misc-error-text' => '在上傳時發生未知的錯誤. 請驗証使用了正確並可訪問的 URL,然後進行重試。如果問題仍然存在,請與系統管理員聯繫。',
 
 # Special:ListFiles
 'listfiles_search_for' => '按圖片名稱搜尋:',
-'listfiles_user'       => '使用者',
+'listfiles_user' => '使用者',
 
 # File description page
-'filehist'           => '檔案歷史',
+'filehist' => '檔案歷史',
 'filehist-deleteone' => '刪除這個',
-'filehist-revert'    => '復原',
-'filehist-datetime'  => '日期/時間',
-'filehist-user'      => '使用者',
-'imagelinks'         => '連結',
+'filehist-revert' => '復原',
+'filehist-datetime' => '日期/時間',
+'filehist-user' => '使用者',
+'imagelinks' => '連結',
 
 # File reversion
-'filerevert'                => '復原$1',
-'filerevert-legend'         => '復原檔案',
-'filerevert-intro'          => '<span class="plainlinks">您現正在復原\'\'\'[[Media:$1|$1]]\'\'\'到[$4 於$2 $3的版本]。</span>',
+'filerevert' => '復原$1',
+'filerevert-legend' => '復原檔案',
+'filerevert-intro' => '<span class="plainlinks">您現正在復原\'\'\'[[Media:$1|$1]]\'\'\'到[$4 於$2 $3的版本]。</span>',
 'filerevert-defaultcomment' => '已經復原到於$1 $2的版本',
-'filerevert-submit'         => '復原',
-'filerevert-success'        => '<span class="plainlinks">\'\'\'[[Media:$1|$1]]\'\'\'已經復原到[$4 於$2 $3的版本]。</span>',
+'filerevert-submit' => '復原',
+'filerevert-success' => '<span class="plainlinks">\'\'\'[[Media:$1|$1]]\'\'\'已經復原到[$4 於$2 $3的版本]。</span>',
 
 # File deletion
-'filedelete-intro'      => "您現正刪除'''[[Media:$1|$1]]'''。",
-'filedelete-intro-old'  => '<span class="plainlinks">你現正刪除\'\'\'[[Media:$1|$1]]\'\'\'於[$4 $2 $3]的版本。</span>',
-'filedelete-comment'    => '註解:',
-'filedelete-nofile'     => "'''$1'''在這個網站中不存在。",
+'filedelete-intro' => "您現正刪除'''[[Media:$1|$1]]'''。",
+'filedelete-intro-old' => '<span class="plainlinks">你現正刪除\'\'\'[[Media:$1|$1]]\'\'\'於[$4 $2 $3]的版本。</span>',
+'filedelete-comment' => '註解:',
+'filedelete-nofile' => "'''$1'''在這個網站中不存在。",
 'filedelete-nofile-old' => "在已指定屬性的情況下,這裡沒有'''$1'''於 $2 $3 的版本。",
 
 # MIME search
@@ -556,62 +548,57 @@ $messages = array(
 # Statistics
 'statistics-header-users' => '使用者統計',
 
-'disambiguations'      => '消歧義',
-'disambiguations-text' => '以下的頁面都有到<b>消歧義頁</b>的鏈接,
-但它們應該是連到適當的標題。<br />
-個頁面會被視為消含糊頁如果它是連自[[MediaWiki:Disambiguationspage]]。',
-
 'withoutinterwiki-summary' => '以下的頁面是未有語言鏈接到其它語言版本:',
 
 # Miscellaneous special pages
-'lonelypagestext'     => '以下頁面尚未被這個wiki中的其它頁面連結。',
+'lonelypagestext' => '以下頁面尚未被這個wiki中的其它頁面連結。',
 'uncategorizedimages' => '待分類圖片',
-'unusedimages'        => '未使用圖片',
-'popularpages'        => '熱門頁面',
-'mostimages'          => '最多連結圖片',
-'prefixindex'         => '所有頁面之前綴',
-'deadendpagestext'    => '以下頁面沒有連結到這個wiki中的其它頁面。',
-'listusers'           => '使用者列表',
-'newpages-username'   => '使用者帳號:',
-'move'                => '移動',
-'unusedimagestext'    => '請注意其它網站可能直接透過 URL 連結此圖片,所以這裡列出的圖片有可能依然被使用。',
-'notargettext'        => '您還沒有指定一個目標頁面或使用者以進行此項操作。',
+'unusedimages' => '未使用圖片',
+'popularpages' => '熱門頁面',
+'mostimages' => '最多連結圖片',
+'prefixindex' => '所有頁面之前綴',
+'deadendpagestext' => '以下頁面沒有連結到這個wiki中的其它頁面。',
+'listusers' => '使用者列表',
+'newpages-username' => '使用者帳號:',
+'move' => '移動',
+'unusedimagestext' => '請注意其它網站可能直接透過 URL 連結此圖片,所以這裡列出的圖片有可能依然被使用。',
+'notargettext' => '您還沒有指定一個目標頁面或使用者以進行此項操作。',
 
 # Special:Log
 'specialloguserlabel' => '使用者:',
-'alllogstext'         => '綜合顯示 {{SITENAME}} 的上傳、刪除、保護、查封以及站務日誌。',
+'alllogstext' => '綜合顯示 {{SITENAME}} 的上傳、刪除、保護、查封以及站務日誌。',
 
 # Special:ListUsers
-'listusersfrom'      => '給定顯示使用者條件:',
+'listusersfrom' => '給定顯示使用者條件:',
 'listusers-noresult' => '找不到使用者。',
 
 # Special:ActiveUsers
 'activeusers-hidebots' => '隱藏機器人',
 
-# E-mail user
-'mailnologin'     => '無E-mail地址',
+# Email user
+'mailnologin' => '無E-mail地址',
 'mailnologintext' => '您必須先[[Special:UserLogin|登入]]
 並在[[Special:Preferences|偏好設定]]
 中有一個有效的e-mail地址才可以E-mail其他使用者。',
-'emailuser'       => 'E-mail該使用者',
-'emailpage'       => 'E-mail使用者',
-'emailpagetext'   => '如果該使用者已經在他或她的偏好設定頁中輸入了有效的e-mail地址,以下的表格將寄一個訊息給該使用者。您在您偏好設定中所輸入的e-mail地址將出現在郵件「發件人」一欄中,這樣該使用者就可以回覆您。',
-'noemailtext'     => '該使用者還沒有指定一個有效的e-mail地址,
+'emailuser' => 'E-mail該使用者',
+'emailpage' => 'E-mail使用者',
+'emailpagetext' => '如果該使用者已經在他或她的偏好設定頁中輸入了有效的e-mail地址,以下的表格將寄一個訊息給該使用者。您在您偏好設定中所輸入的e-mail地址將出現在郵件「發件人」一欄中,這樣該使用者就可以回覆您。',
+'noemailtext' => '該使用者還沒有指定一個有效的e-mail地址,
 或者選擇不接受來自其他使用者的e-mail。',
-'emailfrom'       => '發件人',
-'emailto'         => '收件人',
-'emailsubject'    => '主題',
-'emailmessage'    => '訊息',
-'emailccme'       => '將我的消息的副本發送一份到我的E-mail信箱。',
+'emailfrom' => '發件人',
+'emailto' => '收件人',
+'emailsubject' => '主題',
+'emailmessage' => '訊息',
+'emailccme' => '將我的消息的副本發送一份到我的E-mail信箱。',
 
 # Watchlist
-'addedwatchtext'    => "頁面「[[:$1]]」已經被加入到您的[[Special:Watchlist|監視清單]]中。將來有關此頁面及其討論頁的任何修改將會在那裡列出,而且還會在[[Special:RecentChanges|近期變動]]中以'''粗體'''形式列出以使起更容易識別。",
-'removedwatchtext'  => '頁面「[[:$1]]」已經從您的監視頁面中移除。',
+'addedwatchtext' => '已將頁面「[[:$1]]」加入您的[[Special:Watchlist|監視列表]],未來此頁面或其討論頁如有更動,都會在監視列表中列出。',
+'removedwatchtext' => '頁面「[[:$1]]」已經從您的監視頁面中移除。',
 'watchlist-details' => '不包含討論頁,您的監視列表共有 $1 頁。',
 
 'enotif_impersonal_salutation' => '{{SITENAME}}使用者',
-'enotif_anon_editor'           => '匿名使用者$1',
-'enotif_body'                  => '親愛的 $WATCHINGUSERNAME,
+'enotif_anon_editor' => '匿名使用者$1',
+'enotif_body' => '親愛的 $WATCHINGUSERNAME,
 
 $PAGEEDITOR 已經在 $PAGEEDITDATE $CHANGEDORCREATED{{SITENAME}}的 $PAGETITLE 頁面,請到 $PAGETITLE_URL 檢視目前版本。
 
@@ -639,77 +626,77 @@ $NEWPAGE
 # Delete
 'confirmdeletetext' => '您即將從資料庫中永遠刪除一個頁面或圖片以及其歷史。
 請確定您要進行此項操作,並且了解其後果,同時您的行為符合[[{{MediaWiki:Policy-url}}]]。',
-'deletedtext'       => '「$1」已經被刪除。
+'deletedtext' => '「$1」已經被刪除。
 最近刪除的紀錄請參見$2。',
-'dellogpagetext'    => '以下是最近刪除的紀錄列表。
+'dellogpagetext' => '以下是最近刪除的紀錄列表。
 所有的時間都是使用伺服器時間。',
-'reverted'          => '復原到早期版本',
-'deletecomment'     => '原因:',
+'reverted' => '復原到早期版本',
+'deletecomment' => '原因:',
 
 # Rollback
-'rollback'         => '復原',
-'rollback_short'   => '復原',
-'rollbacklink'     => '復原',
-'rollbackfailed'   => '無法復原',
-'cantrollback'     => '無法復原編輯;最後的貢獻者是本文的唯一作者。',
-'alreadyrolled'    => '無法復原由[[User:$2|$2]] ([[User talk:$2|討論]])進行的[[$1]]的最後編輯;
+'rollback' => '復原',
+'rollback_short' => '復原',
+'rollbacklink' => '復原',
+'rollbackfailed' => '無法復原',
+'cantrollback' => '無法復原編輯;最後的貢獻者是本文的唯一作者。',
+'alreadyrolled' => '無法復原由[[User:$2|$2]] ([[User talk:$2|討論]])進行的[[$1]]的最後編輯;
 其他人已經編輯或是復原了該頁。
 
 最後編輯者: [[User:$3|$3]] ([[User talk:$3|討論]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]])。',
-'editcomment'      => "編輯說明: \"''\$1''\"。",
-'revertpage'       => '復原由[[Special:Contributions/$2|$2]] ([[User talk:$2|對話]])的編輯;更改回[[User:$1|$1]]的最後一個版本',
+'editcomment' => "編輯說明: \"''\$1''\"。",
+'revertpage' => '復原由[[Special:Contributions/$2|$2]] ([[User talk:$2|對話]])的編輯;更改回[[User:$1|$1]]的最後一個版本',
 'rollback-success' => '復原由$1的編輯;更改回$2的最後一個版本。',
 
 # Protect
-'protect-title'               => '更改「$1」的保護等級',
-'protect-locked-blocked'      => "您不能在被封鎖時更改保護級別。
+'protect-title' => '更改「$1」的保護等級',
+'protect-locked-blocked' => "您不能在被封鎖時更改保護級別。
 以下是'''$1'''現時的保護級別:",
-'protect-locked-access'       => "您的帳號權限不能修改保護級別。
+'protect-locked-access' => "您的帳號權限不能修改保護級別。
 以下是'''$1'''現時的保護級別:",
-'protect-cascadeon'           => '以下的{{PLURAL:$1|一個|多個}}頁面包含著本頁面的同時,啟動了連鎖保護,因此本頁面目前也被保護,未能編輯。您可以設定本頁面的保護級別,但這並不會對連鎖保護有所影響。',
-'protect-default'             => '(預設)',
+'protect-cascadeon' => '以下的{{PLURAL:$1|一個|多個}}頁面包含著本頁面的同時,啟動了連鎖保護,因此本頁面目前也被保護,未能編輯。您可以設定本頁面的保護級別,但這並不會對連鎖保護有所影響。',
+'protect-default' => '(預設)',
 'protect-level-autoconfirmed' => '禁止未註冊使用者',
-'protect-expiry-options'      => '2小時:2 hours,1天:1 day,1周:1 week,2周:2 weeks,1個月:1 month,3個月:3 months,6個月:6 months,1年:1 year,永久:infinite',
-'maximum-size'                => '最大大小',
+'protect-expiry-options' => '2小時:2 hours,1天:1 day,1周:1 week,2周:2 weeks,1個月:1 month,3個月:3 months,6個月:6 months,1年:1 year,永久:infinite',
+'maximum-size' => '最大大小',
 
 # Undelete
-'undelete'                     => '復原被刪頁面',
-'undeletepage'                 => '瀏覽及復原被刪頁面',
-'undeletepagetext'             => '以下頁面已經被刪除,但依然在檔案中並可以被復原。
+'undelete' => '復原被刪頁面',
+'undeletepage' => '瀏覽及復原被刪頁面',
+'undeletepagetext' => '以下頁面已經被刪除,但依然在檔案中並可以被復原。
 檔案庫可能被定時清理。',
-'undeleteextrahelp'            => "復原整個頁面時,請清除所有複選框後按 '''''復原''''' 。 復原特定版本時,請選擇相應版本前的複選框後按'''''復原''''' 。按 '''''重設''''' 將清除評論內容及所有複選框。",
-'undeletehistory'              => '如果您復原了該頁面,所有版本都會被復原到修訂沿革中。
+'undeleteextrahelp' => "復原整個頁面時,請清除所有複選框後按 '''''復原''''' 。 復原特定版本時,請選擇相應版本前的複選框後按'''''復原''''' 。按 '''''重設''''' 將清除評論內容及所有複選框。",
+'undeletehistory' => '如果您復原了該頁面,所有版本都會被復原到修訂沿革中。
 如果本頁刪除後有一個同名的新頁面建立,被復原的版本將會稱為較新的歷史。',
-'undeleterevdel'               => '如果把最新修訂部份刪除,反刪除便無法進行。如果遇到這種情況,您必須反選或反隱藏最新已刪除的修訂。對於您沒有權限去檢視的修訂是無法復原的。',
-'undeletehistorynoadmin'       => '這個頁面已經被刪除,刪除原因顯示在下方編輯摘要中。被刪除前的所有修訂版本,連同刪除前貢獻使用者等等細節只有管理員可以看見。',
-'undelete-revision'            => '刪除$1時由$3(在$2)所編寫的修訂版本:',
-'undeleterevision-missing'     => '此版本的內容不正確或已經遺失。可能連結錯誤、被移除或已經被復原。',
-'undeletebtn'                  => '復原',
-'undeletedrevisions'           => '$1個修訂版本已經復原',
-'undeletedrevisions-files'     => '$1 個版本和 $2 個檔案被復原',
-'undeletedfiles'               => '$1 個檔案被復原',
-'cannotundelete'               => '復原失敗;可能之前已經被其他人復原。',
-'undeletedpage'                => "'''$1已經被復原''' 請參考[[Special:Log/delete|刪除日誌]]來查詢刪除及復原記錄。",
+'undeleterevdel' => '如果把最新修訂部份刪除,反刪除便無法進行。如果遇到這種情況,您必須反選或反隱藏最新已刪除的修訂。對於您沒有權限去檢視的修訂是無法復原的。',
+'undeletehistorynoadmin' => '這個頁面已經被刪除,刪除原因顯示在下方編輯摘要中。被刪除前的所有修訂版本,連同刪除前貢獻使用者等等細節只有管理員可以看見。',
+'undelete-revision' => '刪除$1時由$3(在$2)所編寫的修訂版本:',
+'undeleterevision-missing' => '此版本的內容不正確或已經遺失。可能連結錯誤、被移除或已經被復原。',
+'undeletebtn' => '復原',
+'undeletedrevisions' => '$1個修訂版本已經復原',
+'undeletedrevisions-files' => '$1 個版本和 $2 個檔案被復原',
+'undeletedfiles' => '$1 個檔案被復原',
+'cannotundelete' => '復原失敗;可能之前已經被其他人復原。',
+'undeletedpage' => "'''$1已經被復原''' 請參考[[Special:Log/delete|刪除日誌]]來查詢刪除及復原記錄。",
 'undelete-missing-filearchive' => '由於檔案存檔 ID $1 不在資料庫中,不能在檔案存檔中復原。它可能已經反刪除了。',
 
 # Contributions
 'contributions' => '使用者編修記錄',
-'mycontris'     => '我的編修記錄',
-'contribsub2'   => '$1的編修記錄 ($2)',
-'uctop'         => '(最新修改)',
+'mycontris' => '編修記錄',
+'contribsub2' => '$1的編修記錄 ($2)',
+'uctop' => '(最新修改)',
 
-'sp-contributions-newbies'    => '只顯示新建立之使用者的編修記錄',
-'sp-contributions-blocklog'   => '封鎖記錄',
+'sp-contributions-newbies' => '只顯示新建立之使用者的編修記錄',
+'sp-contributions-blocklog' => '封鎖記錄',
 'sp-contributions-userrights' => '使用者權限管理',
-'sp-contributions-username'   => 'IP位址或使用者名稱:',
+'sp-contributions-username' => 'IP位址或使用者名稱:',
 
 # What links here
 'whatlinkshere-title' => '鏈接到$1的頁面',
 
 # Block/unblock
-'blockip'                     => '封鎖使用者',
-'ipadressorusername'          => 'IP地址或使用者名:',
-'ipbreason-dropdown'          => '*一般的封鎖理由
+'blockip' => '封鎖使用者',
+'ipadressorusername' => 'IP地址或使用者名稱:',
+'ipbreason-dropdown' => '*一般的封鎖理由
 ** 屢次增加不實資料
 ** 刪除頁面內容
 ** 外部連結廣告
@@ -717,50 +704,49 @@ $NEWPAGE
 ** 無禮的行為、攻擊/騷擾別人
 ** 濫用多個帳號
 ** 不能接受的使用者名',
-'ipbcreateaccount'            => '阻止建立新帳號',
-'ipbemailban'                 => '阻止使用者傳送E-mail',
-'ipbenableautoblock'          => '自動封鎖此使用者最後所用的IP位址,以及後來試圖編輯所用的所有位址',
-'ipbsubmit'                   => '封鎖該地址',
-'ipbhidename'                 => '在封鎖日誌、活躍封鎖列表以及使用者列表中隱藏使用者名/IP',
-'blockipsuccesssub'           => '封鎖成功',
-'blockipsuccesstext'          => '[[Special:Contributions/$1|$1]]已經被封鎖。
+'ipbcreateaccount' => '阻止建立新帳號',
+'ipbemailban' => '阻止使用者傳送E-mail',
+'ipbenableautoblock' => '自動封鎖此使用者最後所用的IP位址,以及後來試圖編輯所用的所有位址',
+'ipbsubmit' => '封鎖該地址',
+'ipbhidename' => '在封鎖日誌、活躍封鎖列表以及使用者列表中隱藏使用者名/IP',
+'blockipsuccesssub' => '封鎖成功',
+'blockipsuccesstext' => '[[Special:Contributions/$1|$1]]已經被封鎖。
 <br />參看[[Special:BlockList|被封IP地址列表]]以覆審封鎖。',
-'ipb-edit-dropdown'           => '編輯封鎖原因',
-'ipb-unblock-addr'            => '解除封鎖$1',
-'ipb-unblock'                 => '解除禁封使用者名或IP地址',
-'ipb-blocklist'               => '檢視現有的封鎖',
-'unblockip'                   => '解除禁封IP地址',
-'unblockiptext'               => '用下面的表單來復原先前被禁封的IP地址的書寫權。',
-'ipusubmit'                   => '解除禁封',
-'unblocked'                   => '[[User:$1|$1]] 的封鎖已經解除。',
-'unblocked-id'                => '封鎖 $1 已經被移除',
-'ipblocklist-legend'          => '搜尋一位已經被封鎖的使用者',
-'anononlyblock'               => '僅限匿名使用者',
-'noautoblockblock'            => '禁用自動封鎖',
-'createaccountblock'          => '禁止建立帳號',
-'ipblocklist-empty'           => '封鎖列表為空。',
-'ipblocklist-no-results'      => '所要求的IP地址/使用者名沒有被封鎖。',
-'blocklink'                   => '禁封',
-'blocklogentry'               => '[[$1]]已被封鎖 $3 ,終止時間為$2',
-'blocklogtext'                => '這是關於使用者封鎖和解除封鎖操作的記錄。被自動封鎖的IP地址沒有被列出。請參閱[[Special:BlockList|被封鎖的IP地址和使用者列表]]。',
-'block-log-flags-anononly'    => '僅限匿名使用者',
-'block-log-flags-nocreate'    => '禁止此IP/使用者建立新帳號',
+'ipb-edit-dropdown' => '編輯封鎖原因',
+'ipb-unblock-addr' => '解除封鎖$1',
+'ipb-unblock' => '解除禁封使用者名或IP地址',
+'ipb-blocklist' => '檢視現有的封鎖',
+'unblockip' => '解除禁封IP地址',
+'unblockiptext' => '用下面的表單來復原先前被禁封的IP地址的書寫權。',
+'ipusubmit' => '解除禁封',
+'unblocked' => '[[User:$1|$1]] 的封鎖已經解除。',
+'unblocked-id' => '封鎖 $1 已經被移除',
+'ipblocklist-legend' => '搜尋一位已經被封鎖的使用者',
+'anononlyblock' => '僅限匿名使用者',
+'noautoblockblock' => '禁用自動封鎖',
+'createaccountblock' => '禁止建立帳號',
+'ipblocklist-empty' => '封鎖列表為空。',
+'ipblocklist-no-results' => '所要求的IP地址/使用者名沒有被封鎖。',
+'blocklink' => '禁封',
+'blocklogentry' => '[[$1]]已被封鎖 $3 ,終止時間為$2',
+'blocklogtext' => '這是關於使用者封鎖和解除封鎖操作的記錄。被自動封鎖的IP地址沒有被列出。請參閱[[Special:BlockList|被封鎖的IP地址和使用者列表]]。',
+'block-log-flags-anononly' => '僅限匿名使用者',
+'block-log-flags-nocreate' => '禁止建立新帳號',
 'block-log-flags-noautoblock' => '停用自動封鎖',
-'range_block_disabled'        => '只有管理員才能建立禁止封鎖的範圍。',
-'ipb_cant_unblock'            => '錯誤: 找不到封鎖ID$1。可能已經解除封鎖。',
-'ipb_blocked_as_range'        => '錯誤: 該IP $1 無直接封鎖,不可以解除封鎖。但是它是在 $2 的封鎖範圍之內,該段範圍是可以解除封鎖的。',
-'blockme'                     => '封鎖我',
-'sorbsreason'                 => '您的IP位址被 DNSBL列為屬於開放代理服務器.',
+'range_block_disabled' => '只有管理員才能建立禁止封鎖的範圍。',
+'ipb_cant_unblock' => '錯誤: 找不到封鎖ID$1。可能已經解除封鎖。',
+'ipb_blocked_as_range' => '錯誤: 該IP $1 無直接封鎖,不可以解除封鎖。但是它是在 $2 的封鎖範圍之內,該段範圍是可以解除封鎖的。',
+'sorbsreason' => '您的IP位址被 DNSBL列為屬於開放代理服務器.',
 'sorbs_create_account_reason' => '由於您的IP位址被 DNSBL列為屬於開放代理服務器,所以您無法建立帳號。',
 
 # Developer tools
-'lockdbtext'   => '鎖住資料庫將禁止所有使用者進行編輯頁面、更改參數、編輯監視列表以及其他需要更改資料庫的操作。
+'lockdbtext' => '鎖住資料庫將禁止所有使用者進行編輯頁面、更改參數、編輯監視列表以及其他需要更改資料庫的操作。
 請確認您的決定,並且保證您在維護工作結束後會重新開放資料庫。',
 'unlockdbtext' => '開放資料庫將會復原所有使用者進行編輯頁面、修改參數、編輯監視列表以及其他需要更改資料庫的操作。
 請確認您的決定。',
 
 # Move page
-'movepagetext'    => "用下面的表單來重新命名一個頁面,並將其修訂沿革同時移動到新頁面。
+'movepagetext' => "用下面的表單來重新命名一個頁面,並將其修訂沿革同時移動到新頁面。
 老的頁面將成為新頁面的重定向頁。
 連結到老頁面的連結並不會自動更改;
 請檢查雙重或損壞重定向連結。
@@ -776,13 +762,13 @@ $NEWPAGE
 請在行動前先了結其所可能帶來的後果。",
 'movenologintext' => '您必須是一名登記使用者並且[[Special:UserLogin|登入]]
 後才可移動一個頁面。',
-'movenotallowed'  => '您在這個wiki中度並沒有許可權去移動頁面。',
-'movetalk'        => '如果可能的話,請同時移動對話頁。',
+'movenotallowed' => '您在這個wiki中度並沒有許可權去移動頁面。',
+'movetalk' => '如果可能的話,請同時移動對話頁。',
 'movelogpagetext' => '以下是已經移動的頁面清單:',
-'revertmove'      => '復原該移動',
+'revertmove' => '復原該移動',
 
 # Export
-'exporttext'      => '您可以將特定頁面或一組頁面的文字以及編輯歷史以 XML 格式匯出;這樣可以將有關頁面透過「[[Special:Import|匯入頁面]]」頁面匯入到另一個執行 MediaWiki 的網站。
+'exporttext' => '您可以將特定頁面或一組頁面的文字以及編輯歷史以 XML 格式匯出;這樣可以將有關頁面透過「[[Special:Import|匯入頁面]]」頁面匯入到另一個執行 MediaWiki 的網站。
 
 要匯出頁面,請在下面的文字框中輸入頁面標題,每行一個標題,
 並選擇你是否需要匯出帶有修訂紀錄的以前的版本,
@@ -792,59 +778,60 @@ $NEWPAGE
 'export-download' => '提供一個檔案以供另存',
 
 # Namespace 8 related
-'allmessages'               => '系統介面',
-'allmessagestext'           => '這裡列出所有可定製的系統介面。',
+'allmessages' => '系統介面',
+'allmessagestext' => '這裡列出所有可定製的系統介面。',
 'allmessagesnotsupportedDB' => '系統介面功能處於關閉狀態 (wgUseDatabaseMessages)。',
 
 # Thumbnails
 'thumbnail_error' => '建立縮圖錯誤: $1',
 
 # Special:Import
-'import-interwiki-history'   => '複製此頁的所有歷史版本',
+'import-interwiki-history' => '複製此頁的所有歷史版本',
 'import-interwiki-namespace' => '將頁面轉移到名字空間:',
-'importtext'                 => '請使用 Special:Export 功能從源 wiki 匯出檔案,儲存到您的磁片並上傳到這裡。',
-'importfailed'               => '匯入失敗: $1',
-'importsuccess'              => '匯入成功﹗',
-'importhistoryconflict'      => '存在衝突的修訂沿革(可能在之前已經匯入過此頁面)',
+'importtext' => '請使用 Special:Export 功能從源 wiki 匯出檔案,儲存到您的磁片並上傳到這裡。',
+'importfailed' => '匯入失敗: $1',
+'importsuccess' => '匯入成功﹗',
+'importhistoryconflict' => '存在衝突的修訂沿革(可能在之前已經匯入過此頁面)',
 
 # Tooltip help for the actions
-'tooltip-pt-userpage'             => '用戶頁',
-'tooltip-pt-anonuserpage'         => '您編輯本站所用IP的對應使用者頁',
-'tooltip-pt-mytalk'               => '討論頁',
-'tooltip-pt-preferences'          => '我的偏好設定',
-'tooltip-pt-watchlist'            => '我的監視列表',
-'tooltip-pt-mycontris'            => '編修記錄',
-'tooltip-ca-addsection'           => '於本討論頁增加新的討論主題',
-'tooltip-ca-history'              => '本頁面的早前版本。',
-'tooltip-ca-undelete'             => '將這個頁面復原到被刪除以前的狀態',
-'tooltip-p-logo'                  => '首頁',
-'tooltip-n-help'                  => '尋求說明',
-'tooltip-feed-rss'                => '訂閱本修訂記錄的RSS資訊',
-'tooltip-feed-atom'               => '訂閱本修訂記錄的Atom訊息',
-'tooltip-t-contributions'         => '檢視該使用者的編修記錄',
-'tooltip-t-emailuser'             => '向該使用者發送電子郵件',
-'tooltip-t-upload'                => '上傳圖片或多媒體檔',
-'tooltip-t-permalink'             => '這個頁面版本的永久連結',
-'tooltip-ca-nstab-user'           => '檢視使用者頁',
-'tooltip-ca-nstab-image'          => '查詢圖片頁面',
-'tooltip-ca-nstab-template'       => '檢視模板',
-'tooltip-ca-nstab-help'           => '檢視說明頁面',
-'tooltip-ca-nstab-category'       => '檢視分類頁面',
-'tooltip-minoredit'               => '標記為細微修改',
+'tooltip-pt-userpage' => '用戶頁',
+'tooltip-pt-anonuserpage' => '您編輯本站所用IP的對應使用者頁',
+'tooltip-pt-mytalk' => '討論頁',
+'tooltip-pt-preferences' => '我的偏好設定',
+'tooltip-pt-watchlist' => '我的監視列表',
+'tooltip-pt-mycontris' => '編修記錄',
+'tooltip-ca-addsection' => '於本討論頁增加新的討論主題',
+'tooltip-ca-history' => '本頁面的早前版本。',
+'tooltip-ca-undelete' => '將這個頁面復原到被刪除以前的狀態',
+'tooltip-p-logo' => '首頁',
+'tooltip-n-help' => '尋求說明',
+'tooltip-feed-rss' => '訂閱本修訂記錄的RSS資訊',
+'tooltip-feed-atom' => '訂閱本修訂記錄的Atom訊息',
+'tooltip-t-contributions' => '檢視該使用者的編修記錄',
+'tooltip-t-emailuser' => '向該使用者發送電子郵件',
+'tooltip-t-upload' => '上傳圖片或多媒體檔',
+'tooltip-t-permalink' => '這個頁面版本的永久連結',
+'tooltip-ca-nstab-user' => '檢視使用者頁',
+'tooltip-ca-nstab-image' => '查詢圖片頁面',
+'tooltip-ca-nstab-template' => '檢視模板',
+'tooltip-ca-nstab-help' => '檢視說明頁面',
+'tooltip-ca-nstab-category' => '檢視分類頁面',
+'tooltip-minoredit' => '標記為細微修改',
 'tooltip-compareselectedversions' => '檢視本頁被點選的兩個版本間的差異',
-'tooltip-rollback'                => '『{{int:rollbacklink}}』可以一按恢復上一位貢獻者對這個頁面的編輯',
-'tooltip-undo'                    => '『{{int:editundo}}』可以在編輯模式上開啟編輯表格以便復原。它容許在摘要中加入原因。',
+'tooltip-rollback' => '『{{int:rollbacklink}}』可以一按恢復上一位貢獻者對這個頁面的編輯',
+'tooltip-undo' => '『{{int:editundo}}』可以在編輯模式上開啟編輯表格以便復原。它容許在摘要中加入原因。',
+'interlanguage-link-title' => '$1–$2',
 
 # Attribution
 'anonymous' => '{{SITENAME}}的匿名{{PLURAL:$1|使用者|使用者}}',
-'siteuser'  => '{{SITENAME}}使用者$1',
-'anonuser'  => '{{SITENAME}}匿名使用者$1',
+'siteuser' => '{{SITENAME}}使用者$1',
+'anonuser' => '{{SITENAME}}匿名使用者$1',
 'siteusers' => '{{SITENAME}}{{PLURAL:$2|使用者|使用者}}$1',
 'anonusers' => '{{SITENAME}}匿名{{PLURAL:$2|使用者|使用者}}$1',
 
 # Spam protection
 'spamprotectiontext' => '垃圾過濾器禁止保存您剛才提交的頁面,這可能是由於您所加入的外部網站連結所產生的問題。',
-'spam_reverting'     => '復原到不包含連結至$1的最近版本',
+'spam_reverting' => '復原到不包含連結至$1的最近版本',
 
 # Patrolling
 'markedaspatrolledtext' => '選定的版本已被標記為已檢查.',
@@ -854,18 +841,18 @@ $NEWPAGE
 
 # Browsing diffs
 'previousdiff' => '←上一個',
-'nextdiff'     => '下一個→',
+'nextdiff' => '下一個→',
 
 # Media information
-'imagemaxsize'   => '在圖片描述頁對圖片大小限制為:',
-'file-nohires'   => '無更高解析度可提供。',
+'imagemaxsize' => '在圖片描述頁對圖片大小限制為:',
+'file-nohires' => '無更高解析度可提供。',
 'show-big-image' => '完整解析度',
 
 # Special:NewFiles
-'newimages'     => '新建圖片畫廊',
+'newimages' => '新建圖片畫廊',
 'imagelisttext' => '以下是按$2排列的$1個檔案列表。',
-'showhidebots'  => '(機器人$1)',
-'noimages'      => '無可檢視圖片。',
+'showhidebots' => '(機器人$1)',
+'noimages' => '無可檢視圖片。',
 
 # Bad image list
 'bad_image_list' => '請根據以下的格式去編寫:
@@ -873,7 +860,10 @@ $NEWPAGE
 只有列示項目(以 * 開頭的項目)會被考慮。第一個連結一定要連接去壞圖片中。
 然後在同一行的連結會考慮作例外,即是幅圖片可以在哪一個頁面中同時顯示。',
 
-# Variants for Chinese language
+/*
+Short names for language variants used for language conversion links.
+Variants for Chinese language
+*/
 'variantname-zh-tw' => '台灣繁體',
 
 # Metadata
@@ -881,72 +871,82 @@ $NEWPAGE
 
 如果此檔案的源檔案已經被修改,一些訊息在修改後的檔案中將不能完全反映出來。',
 
-# EXIF tags
-'exif-bitspersample'             => '每像素位元數',
+# Exif tags
+'exif-bitspersample' => '每像素位元數',
 'exif-photometricinterpretation' => '像素合成',
-'exif-samplesperpixel'           => '像素數',
-'exif-xresolution'               => '水準解析度',
-'exif-yresolution'               => '垂直解析度',
-'exif-stripoffsets'              => '圖片數據區',
-'exif-imagedescription'          => '圖片標題',
-'exif-compressedbitsperpixel'    => '圖片壓縮模式',
-'exif-pixelydimension'           => '有效圖片寬度',
-'exif-pixelxdimension'           => '有效圖片高度',
-'exif-usercomment'               => '使用者註釋',
-'exif-focalplanexresolution'     => 'X軸焦平面解析度',
-'exif-focalplaneyresolution'     => 'Y軸焦平面解析度',
-'exif-focalplaneresolutionunit'  => '焦平面解析度單位',
-'exif-customrendered'            => '自定義圖片處理',
-'exif-imageuniqueid'             => '唯一圖片ID',
-'exif-gpsimgdirectionref'        => '圖片方位參照',
-'exif-gpsimgdirection'           => '圖片方位',
-
-'exif-lightsource-2'  => '螢光燈',
+'exif-samplesperpixel' => '像素數',
+'exif-xresolution' => '水準解析度',
+'exif-yresolution' => '垂直解析度',
+'exif-stripoffsets' => '圖片數據區',
+'exif-imagedescription' => '圖片標題',
+'exif-compressedbitsperpixel' => '圖片壓縮模式',
+'exif-pixelydimension' => '有效圖片寬度',
+'exif-pixelxdimension' => '有效圖片高度',
+'exif-usercomment' => '使用者註釋',
+'exif-focalplanexresolution' => 'X軸焦平面解析度',
+'exif-focalplaneyresolution' => 'Y軸焦平面解析度',
+'exif-focalplaneresolutionunit' => '焦平面解析度單位',
+'exif-customrendered' => '自定義圖片處理',
+'exif-imageuniqueid' => '唯一圖片ID',
+'exif-gpsimgdirectionref' => '圖片方位參照',
+'exif-gpsimgdirection' => '圖片方位',
+
+'exif-lightsource-2' => '螢光燈',
 'exif-lightsource-12' => '日光螢光燈(色溫 D 5700    7100K)',
 'exif-lightsource-13' => '日溫白色螢光燈(N 4600    5400K)',
 'exif-lightsource-14' => '冷白色螢光燈(W 3900    4500K)',
 'exif-lightsource-15' => '白色螢光 (WW 3200    3700K)',
 
-# External editor support
-'edit-externally-help' => '請參見[//www.mediawiki.org/wiki/Manual:External_editors 設定步驟]了解詳細資訊。',
-
-# E-mail address confirmation
-'confirmemail'            => '確認電子郵件地址',
-'confirmemail_noemail'    => '您沒有在您的[[Special:Preferences|使用者設定]]裡面輸入一個有效的 email 位址。',
-'confirmemail_text'       => '此網站要求您在使用郵件功能之前驗證您的電子郵件地址。
+# Email address confirmation
+'confirmemail' => '確認電子郵件地址',
+'confirmemail_noemail' => '您沒有在您的[[Special:Preferences|使用者設定]]裡面輸入一個有效的 email 位址。',
+'confirmemail_text' => '此網站要求您在使用郵件功能之前驗證您的電子郵件地址。
 點擊以下按鈕可向您的郵箱發送一封確認郵件。該郵件包含有一行代碼連結;
 請在您的瀏覽器中加載此連結以確認您的電子郵件地址是有效的。',
 'confirmemail_sendfailed' => '不能發送確認郵件,請檢查電子郵件地址是否包含非法字元。
 
 郵件傳送員回應: $1',
-'confirmemail_needlogin'  => '您需要$1以確認您的電子郵件地址。',
-'confirmemail_success'    => '您的郵箱已經被確認。您現下可以登錄並使用此網站了。',
-'confirmemail_loggedin'   => '您的電子郵件地址現下已被確認。',
-'confirmemail_subject'    => '{{SITENAME}}電子郵件地址確認',
+'confirmemail_needlogin' => '您需要$1以確認您的電子郵件地址。',
+'confirmemail_success' => '您的郵箱已經被確認。您現下可以登錄並使用此網站了。',
+'confirmemail_loggedin' => '您的電子郵件地址現下已被確認。',
+'confirmemail_subject' => '{{SITENAME}}電子郵件地址確認',
 
 # Scary transclusion
-'scarytranscludefailed'  => '[抱歉,模板$1讀取失敗]',
+'scarytranscludefailed' => '[抱歉,模板$1讀取失敗]',
 'scarytranscludetoolong' => '[抱歉,URL 地址太長]',
 
 # Delete conflict
 'confirmrecreate' => '在您編輯這個頁面後,使用者[[User:$1|$1]]([[User talk:$1|對話]])以下列原因刪除了這個頁面: $2。請在重新建立頁面前三思。',
 
 # Auto-summaries
-'autosumm-blank'   => '移除所有頁面內容',
+'autosumm-blank' => '移除所有頁面內容',
 'autosumm-replace' => "正在將頁面替換為 '$1'",
 'autoredircomment' => '正在重定向到 [[$1]]',
-'autosumm-new'     => '新頁面: $1',
+'autosumm-new' => '新頁面: $1',
 
 # Live preview
 'livepreview-failed' => '即時預覽失敗! 嘗試標準預覽。',
 
 # Special:Version
-'version-parserhooks'           => '語法鉤',
-'version-hooks'                 => '鉤',
+'version-parserhooks' => '語法鉤',
+'version-hooks' => '鉤',
 'version-parser-function-hooks' => '語法函數鉤',
-'version-hook-name'             => '鉤名',
+'version-hook-name' => '鉤名',
 
 # Special:SpecialPages
 'specialpages' => '特殊頁面',
 
+# Special:ExpandTemplates
+'expandtemplates' => '展開模板',
+'expand_templates_intro' => '本特殊頁面用於將一些文字中的模版展開,包括模版中引用的模版。同時也展開解譯器函數如<nowiki> {{</nowiki>#language:...}},以及變數如<nowiki>{{< /nowiki>CURRENTDAY}}&mdash;實際上,幾乎所有在雙括弧中的內容都被展開。本特殊頁面是通過使用 MediaWiki的相關解釋階段的功能完成的。',
+'expand_templates_title' => '上下文標題,用於 {{FULLPAGENAME}} 等:',
+'expand_templates_input' => '輸入文字:',
+'expand_templates_output' => '結果:',
+'expand_templates_xml_output' => 'XML輸出',
+'expand_templates_ok' => '確定',
+'expand_templates_remove_comments' => '移除註釋',
+'expand_templates_remove_nowiki' => '在結果中隱藏<nowiki>標記',
+'expand_templates_generate_xml' => '顯示XML解析樹',
+'expand_templates_preview' => '預覽',
+
 );
index 29945ae..52b9aa0 100644 (file)
@@ -150,7 +150,7 @@ return array(
                        'vector/vector.js',
                ),
                'position' => 'top',
-               'dependencies' => 'jquery.delayedBind',
+               'dependencies' => 'jquery.throttle-debounce',
                'remoteBasePath' => $GLOBALS['wgStylePath'],
                'localBasePath' => $GLOBALS['wgStyleDirectory'],
        ),
@@ -238,7 +238,6 @@ return array(
        ),
        'jquery.expandableField' => array(
                'scripts' => 'resources/jquery/jquery.expandableField.js',
-               'dependencies' => 'jquery.delayedBind',
        ),
        'jquery.farbtastic' => array(
                'scripts' => 'resources/jquery/jquery.farbtastic.js',
index 40f3d44..874c111 100644 (file)
@@ -1,4 +1,4 @@
-( function ( $ ) {
+( function ( mw, $ ) {
 /**
  * Function that escapes spaces in event names. This is needed because
  * "_delayedBind-foo bar-1000" refers to two events
@@ -73,4 +73,11 @@ $.fn.extend( {
        }
 } );
 
-}( jQuery ) );
+mw.log.deprecate( $.fn, 'delayedBind', $.fn.delayedBind,
+       'Use the jquery.throttle-debounce module instead' );
+mw.log.deprecate( $.fn, 'delayedBindCancel', $.fn.delayedBindCancel,
+       'Use the jquery.throttle-debounce module instead' );
+mw.log.deprecate( $.fn, 'delayedBindUnbind', $.fn.delayedBindUnbind,
+       'Use the jquery.throttle-debounce module instead' );
+
+}( mediaWiki, jQuery ) );
index 9e532e5..732cc6e 100644 (file)
@@ -56,7 +56,7 @@
                        args = arguments;
 
                $( this ).each( function () {
-                       var key, context;
+                       var key, context, timeout;
 
                        /* Construction / Loading */
 
                                $( this )
                                        .addClass( 'expandableField' )
                                        .focus( function ( e ) {
+                                               clearTimeout( timeout );
                                                $.expandableField.expandField( e, context );
                                        } )
-                                       .delayedBind( 250, 'blur', function ( e ) {
-                                               $.expandableField.condenseField( e, context );
+                                       .blur( function ( e ) {
+                                               timeout = setTimeout( function () {
+                                                       $.expandableField.condenseField( e, context );
+                                               }, 250 );
                                        } );
                        }
                        // Store the context for next time
index 6012d93..3032f78 100644 (file)
                 *
                 * @param {Object} parameters
                 * @param {Object} [ajaxOptions]
-                * @return {jQuery.Promise} Done: API response data. Fail: Error code
+                * @return {jQuery.Promise} Done: API response data and the jqXHR object.
+                *  Fail: Error code
                 */
                ajax: function ( parameters, ajaxOptions ) {
                        var token,
index 7f1fd43..23d7837 100644 (file)
@@ -262,10 +262,6 @@ jQuery( function ( $ ) {
                $checkBoxes.prop( 'disabled', true );
        }
        $( '#mw-input-wpsearcheverything' ).change( function () {
-               if ( $( this ).prop( 'checked' ) ) {
-                       $checkBoxes.prop( 'disabled', true );
-               } else {
-                       $checkBoxes.prop( 'disabled', false );
-               }
+               $checkBoxes.prop( 'disabled', $( this ).prop( 'checked' ) );
        } );
 } );
index f142fa4..b5fd69c 100644 (file)
@@ -4,6 +4,8 @@
        var notification,
                // The #mw-notification-area div that all notifications are contained inside.
                $area,
+               // Number of open notification boxes at any time
+               openNotificationCount = 0,
                isPageReady = false,
                preReadyNotifQueue = [];
 
                        autohideCount,
                        notif;
 
+               $area.show();
+
                if ( this.isOpen ) {
                        return;
                }
 
                this.isOpen = true;
+               openNotificationCount++;
 
                options = this.options;
                $notification = this.$notification;
                        return;
                }
                this.isOpen = false;
+               openNotificationCount--;
                // Clear any remaining timeout on close
                this.pause();
 
                                complete: function () {
                                        // Remove the notification
                                        $( this ).remove();
+                                       // Hide the area manually after closing the last notification, since it has padding,
+                                       // causing it to obscure whatever is behind it in spite of being invisible (bug 52659).
+                                       // It's okay to do this before getting rid of the placeholder, as it's invisible as well.
+                                       if ( openNotificationCount === 0 ) {
+                                               $area.hide();
+                                       }
                                        if ( options.placeholder ) {
                                                // Use a fast slide up animation after closing to make it look like the notifications
                                                // below slide up into place when the notification disappears
index e33cfc9..0e49744 100644 (file)
                        } );
                } );
 
-               // if we haven't already bound our resize hanlder, bind it now
+               // if we haven't already bound our resize handler, bind it now
                if ( !$.collapsibleTabs.boundEvent ) {
-                       $( window )
-                               .delayedBind( 500, 'resize', function () {
-                                       $.collapsibleTabs.handleResize();
-                               } );
+                       $( window ).on( 'resize', $.debounce( 500, function () {
+                               $.collapsibleTabs.handleResize();
+                       } ) );
+                       $.collapsibleTabs.boundEvent = true;
                }
+
                // call our resize handler to setup the page
                $.collapsibleTabs.handleResize();
                return this;
                        }
                        return $settings;
                },
-               /**
-                * @param {jQuery.Event} e
-                */
                handleResize: function () {
                        $.collapsibleTabs.instances.each( function () {
                                var $el = $( this ),
diff --git a/skins/vector/images/edit-icon.png b/skins/vector/images/edit-icon.png
deleted file mode 100644 (file)
index 43e4691..0000000
Binary files a/skins/vector/images/edit-icon.png and /dev/null differ
diff --git a/tests/phpunit/includes/ExceptionTest.php b/tests/phpunit/includes/ExceptionTest.php
deleted file mode 100644 (file)
index eaef1f7..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-<?php
-/**
- * Tests for includes/Exception.php.
- *
- * @author Antoine Musso
- * @copyright Copyright © 2013, Antoine Musso
- * @copyright Copyright © 2013, Wikimedia Foundation Inc.
- * @file
- */
-
-class ExceptionTest extends MediaWikiTestCase {
-
-       /**
-        * @expectedException MWException
-        */
-       function testMwexceptionThrowing() {
-               throw new MWException();
-       }
-
-       /**
-        * Verify the exception classes are JSON serializabe.
-        *
-        * @covers MWExceptionHandler::jsonSerializeException
-        * @dataProvider provideExceptionClasses
-        */
-       function testJsonSerializeExceptions( $exception_class ) {
-               $json = MWExceptionHandler::jsonSerializeException(
-                       new $exception_class()
-               );
-               $this->assertNotEquals( false, $json,
-                       "The $exception_class exception should be JSON serializable, got false." );
-       }
-
-       function provideExceptionClasses() {
-               return array(
-                       array( 'Exception' ),
-                       array( 'MWException' ),
-               );
-       }
-
-       /**
-        * Lame JSON schema validation.
-        *
-        * @covers MWExceptionHandler::jsonSerializeException
-        *
-        * @param $expectedKeyType String Type expected as returned by gettype()
-        * @param $exClass String An exception class (ie: Exception, MWException)
-        * @param $key String Name of the key to validate in the serialized JSON
-        * @dataProvider provideJsonSerializedKeys
-        */
-       function testJsonserializeexceptionKeys( $expectedKeyType, $exClass, $key ) {
-
-               # Make sure we log a backtrace:
-               $this->setMwGlobals( array( 'wgLogExceptionBacktrace' => true ) );
-
-               $json = json_decode(
-                       MWExceptionHandler::jsonSerializeException( new $exClass())
-               );
-               $this->assertObjectHasAttribute( $key, $json,
-                       "JSON serialized exception is missing key '$key'"
-               );
-               $this->assertInternalType( $expectedKeyType, $json->$key,
-                       "JSON serialized key '$key' has type " . gettype( $json->$key )
-                       . " (expected: $expectedKeyType)."
-               );
-       }
-
-       /**
-        * Returns test cases: exception class, key name, gettype()
-        */
-       function provideJsonSerializedKeys() {
-               $testCases = array();
-               foreach ( array( 'Exception', 'MWException' ) as $exClass ) {
-                       $exTests = array(
-                               array( 'string', $exClass, 'id' ),
-                               array( 'string', $exClass, 'file' ),
-                               array( 'integer', $exClass, 'line' ),
-                               array( 'string', $exClass, 'message' ),
-                               array( 'null', $exClass, 'url' ),
-                               # Backtrace only enabled with wgLogExceptionBacktrace = true
-                               array( 'array', $exClass, 'backtrace' ),
-                       );
-                       $testCases = array_merge( $testCases, $exTests );
-               }
-               return $testCases;
-       }
-
-       /**
-        * Given wgLogExceptionBacktrace is true
-        * then serialized exception SHOULD have a backtrace
-        *
-        * @covers MWExceptionHandler::jsonSerializeException
-        */
-       function testJsonserializeexceptionBacktracingEnabled() {
-               $this->setMwGlobals( array( 'wgLogExceptionBacktrace' => true ) );
-               $json = json_decode(
-                       MWExceptionHandler::jsonSerializeException( new Exception() )
-               );
-               $this->assertObjectHasAttribute( 'backtrace', $json );
-       }
-
-       /**
-        * Given wgLogExceptionBacktrace is false
-        * then serialized exception SHOULD NOT have a backtrace
-        *
-        * @covers MWExceptionHandler::jsonSerializeException
-        */
-       function testJsonserializeexceptionBacktracingDisabled() {
-               $this->setMwGlobals( array( 'wgLogExceptionBacktrace' => false ) );
-               $json = json_decode(
-                       MWExceptionHandler::jsonSerializeException( new Exception() )
-               );
-               $this->assertObjectNotHasAttribute( 'backtrace', $json );
-
-       }
-
-}
diff --git a/tests/phpunit/includes/MWExceptionHandlerTest.php b/tests/phpunit/includes/MWExceptionHandlerTest.php
deleted file mode 100644 (file)
index dd76e3b..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-<?php
-/**
- * Tests for includes/Exception.php.
- *
- * @author Antoine Musso
- * @copyright Copyright © 2013, Antoine Musso
- * @copyright Copyright © 2013, Wikimedia Foundation Inc.
- * @file
- */
-
-class MWExceptionHandlerTest extends MediaWikiTestCase {
-
-       /**
-        * @covers MWExceptionHandler::getRedactedTrace
-        */
-       function testGetRedactedTrace() {
-               $refvar = 'value';
-               try {
-                       $array = array( 'a', 'b' );
-                       $object = new StdClass();
-                       self::helperThrowAnException( $array, $object, $refvar );
-               } catch ( Exception $e ) {
-               }
-
-               # Make sure our strack trace contains an array and an object passed to
-               # some function in the stacktrace. Else, we can not assert the trace
-               # redaction achieved its job.
-               $trace = $e->getTrace();
-               $hasObject = false;
-               $hasArray = false;
-               foreach ( $trace as $frame ) {
-                       if ( ! isset( $frame['args'] ) ) {
-                               continue;
-                       }
-                       foreach ( $frame['args'] as $arg ) {
-                               $hasObject = $hasObject || is_object( $arg );
-                               $hasArray = $hasArray || is_array( $arg );
-                       }
-
-                       if ( $hasObject && $hasArray ) {
-                               break;
-                       }
-               }
-               $this->assertTrue( $hasObject,
-                       "The stacktrace must have a function having an object has parameter" );
-               $this->assertTrue( $hasArray,
-                       "The stacktrace must have a function having an array has parameter" );
-
-               # Now we redact the trace.. and make sure no function arguments are
-               # arrays or objects.
-               $redacted = MWExceptionHandler::getRedactedTrace( $e );
-
-               foreach ( $redacted as $frame ) {
-                       if ( ! isset( $frame['args'] ) ) {
-                               continue;
-                       }
-                       foreach ( $frame['args'] as $arg ) {
-                               $this->assertNotInternalType( 'array', $arg );
-                               $this->assertNotInternalType( 'object', $arg );
-                       }
-               }
-
-               $this->assertEquals( 'value', $refvar, 'Ensuring reference variable wasn\'t changed' );
-       }
-
-       /**
-        * Helper function for testExpandArgumentsInCall
-        *
-        * Pass it an object and an array, and something by reference :-)
-        *
-        * @throws Exception
-        */
-       protected static function helperThrowAnException( $a, $b, &$c ) {
-               throw new Exception();
-       }
-}
diff --git a/tests/phpunit/includes/exception/BadTitleErrorTest.php b/tests/phpunit/includes/exception/BadTitleErrorTest.php
new file mode 100644 (file)
index 0000000..6f9804d
--- /dev/null
@@ -0,0 +1,44 @@
+<?php
+/**
+ * @covers BadTitleError
+ * @author Adam Shorland
+ */
+class BadTitleErrorTest extends MediaWikiTestCase {
+
+       protected $wgOut;
+
+       protected function setUp() {
+               parent::setUp();
+               global $wgOut;
+               $this->wgOut = clone $wgOut;
+       }
+
+       protected function tearDown() {
+               parent::tearDown();
+               global $wgOut;
+               $wgOut = $this->wgOut;
+       }
+
+       public function testExceptionSetsStatusCode() {
+               global $wgOut;
+               $wgOut = $this->getMockWgOut();
+               try{
+                       throw new BadTitleError();
+               }
+               catch( BadTitleError $e ) {
+                       $e->report();
+                       $this->assertTrue( true );
+               }
+       }
+
+       private function getMockWgOut() {
+               $mock = $this->getMockBuilder( 'OutputPage' )
+                       ->disableOriginalConstructor()
+                       ->getMock();
+               $mock->expects( $this->once() )
+                       ->method( 'setStatusCode' )
+                       ->with( 400 );
+               return $mock;
+       }
+
+}
diff --git a/tests/phpunit/includes/exception/MWExceptionHandlerTest.php b/tests/phpunit/includes/exception/MWExceptionHandlerTest.php
new file mode 100644 (file)
index 0000000..2eb1c46
--- /dev/null
@@ -0,0 +1,74 @@
+<?php
+/**
+ * @author Antoine Musso
+ * @copyright Copyright © 2013, Antoine Musso
+ * @copyright Copyright © 2013, Wikimedia Foundation Inc.
+ * @file
+ */
+
+class MWExceptionHandlerTest extends MediaWikiTestCase {
+
+       /**
+        * @covers MWExceptionHandler::getRedactedTrace
+        */
+       public function testGetRedactedTrace() {
+               $refvar = 'value';
+               try {
+                       $array = array( 'a', 'b' );
+                       $object = new StdClass();
+                       self::helperThrowAnException( $array, $object, $refvar );
+               } catch ( Exception $e ) {
+               }
+
+               # Make sure our stack trace contains an array and an object passed to
+               # some function in the stacktrace. Else, we can not assert the trace
+               # redaction achieved its job.
+               $trace = $e->getTrace();
+               $hasObject = false;
+               $hasArray = false;
+               foreach ( $trace as $frame ) {
+                       if ( ! isset( $frame['args'] ) ) {
+                               continue;
+                       }
+                       foreach ( $frame['args'] as $arg ) {
+                               $hasObject = $hasObject || is_object( $arg );
+                               $hasArray = $hasArray || is_array( $arg );
+                       }
+
+                       if ( $hasObject && $hasArray ) {
+                               break;
+                       }
+               }
+               $this->assertTrue( $hasObject,
+                       "The stacktrace must have a function having an object has parameter" );
+               $this->assertTrue( $hasArray,
+                       "The stacktrace must have a function having an array has parameter" );
+
+               # Now we redact the trace.. and make sure no function arguments are
+               # arrays or objects.
+               $redacted = MWExceptionHandler::getRedactedTrace( $e );
+
+               foreach ( $redacted as $frame ) {
+                       if ( ! isset( $frame['args'] ) ) {
+                               continue;
+                       }
+                       foreach ( $frame['args'] as $arg ) {
+                               $this->assertNotInternalType( 'array', $arg );
+                               $this->assertNotInternalType( 'object', $arg );
+                       }
+               }
+
+               $this->assertEquals( 'value', $refvar, 'Ensuring reference variable wasn\'t changed' );
+       }
+
+       /**
+        * Helper function for testExpandArgumentsInCall
+        *
+        * Pass it an object and an array, and something by reference :-)
+        *
+        * @throws Exception
+        */
+       protected static function helperThrowAnException( $a, $b, &$c ) {
+               throw new Exception();
+       }
+}
diff --git a/tests/phpunit/includes/exception/MWExceptionTest.php b/tests/phpunit/includes/exception/MWExceptionTest.php
new file mode 100644 (file)
index 0000000..f1ddc17
--- /dev/null
@@ -0,0 +1,115 @@
+<?php
+/**
+ * @author Antoine Musso
+ * @copyright Copyright © 2013, Antoine Musso
+ * @copyright Copyright © 2013, Wikimedia Foundation Inc.
+ * @file
+ */
+
+class MWExceptionTest extends MediaWikiTestCase {
+
+       /**
+        * @expectedException MWException
+        */
+       public function testMwexceptionThrowing() {
+               throw new MWException();
+       }
+
+       /**
+        * Verify the exception classes are JSON serializabe.
+        *
+        * @covers MWExceptionHandler::jsonSerializeException
+        * @dataProvider provideExceptionClasses
+        */
+       public function testJsonSerializeExceptions( $exception_class ) {
+               $json = MWExceptionHandler::jsonSerializeException(
+                       new $exception_class()
+               );
+               $this->assertNotEquals( false, $json,
+                       "The $exception_class exception should be JSON serializable, got false." );
+       }
+
+       public function provideExceptionClasses() {
+               return array(
+                       array( 'Exception' ),
+                       array( 'MWException' ),
+               );
+       }
+
+       /**
+        * Lame JSON schema validation.
+        *
+        * @covers MWExceptionHandler::jsonSerializeException
+        *
+        * @param $expectedKeyType String Type expected as returned by gettype()
+        * @param $exClass String An exception class (ie: Exception, MWException)
+        * @param $key String Name of the key to validate in the serialized JSON
+        * @dataProvider provideJsonSerializedKeys
+        */
+       public function testJsonserializeexceptionKeys( $expectedKeyType, $exClass, $key ) {
+
+               # Make sure we log a backtrace:
+               $this->setMwGlobals( array( 'wgLogExceptionBacktrace' => true ) );
+
+               $json = json_decode(
+                       MWExceptionHandler::jsonSerializeException( new $exClass())
+               );
+               $this->assertObjectHasAttribute( $key, $json,
+                       "JSON serialized exception is missing key '$key'"
+               );
+               $this->assertInternalType( $expectedKeyType, $json->$key,
+                       "JSON serialized key '$key' has type " . gettype( $json->$key )
+                       . " (expected: $expectedKeyType)."
+               );
+       }
+
+       /**
+        * Returns test cases: exception class, key name, gettype()
+        */
+       public function provideJsonSerializedKeys() {
+               $testCases = array();
+               foreach ( array( 'Exception', 'MWException' ) as $exClass ) {
+                       $exTests = array(
+                               array( 'string', $exClass, 'id' ),
+                               array( 'string', $exClass, 'file' ),
+                               array( 'integer', $exClass, 'line' ),
+                               array( 'string', $exClass, 'message' ),
+                               array( 'null', $exClass, 'url' ),
+                               # Backtrace only enabled with wgLogExceptionBacktrace = true
+                               array( 'array', $exClass, 'backtrace' ),
+                       );
+                       $testCases = array_merge( $testCases, $exTests );
+               }
+               return $testCases;
+       }
+
+       /**
+        * Given wgLogExceptionBacktrace is true
+        * then serialized exception SHOULD have a backtrace
+        *
+        * @covers MWExceptionHandler::jsonSerializeException
+        */
+       public function testJsonserializeexceptionBacktracingEnabled() {
+               $this->setMwGlobals( array( 'wgLogExceptionBacktrace' => true ) );
+               $json = json_decode(
+                       MWExceptionHandler::jsonSerializeException( new Exception() )
+               );
+               $this->assertObjectHasAttribute( 'backtrace', $json );
+       }
+
+       /**
+        * Given wgLogExceptionBacktrace is false
+        * then serialized exception SHOULD NOT have a backtrace
+        *
+        * @covers MWExceptionHandler::jsonSerializeException
+        */
+       public function testJsonserializeexceptionBacktracingDisabled() {
+               $this->setMwGlobals( array( 'wgLogExceptionBacktrace' => false ) );
+               $json = json_decode(
+                       MWExceptionHandler::jsonSerializeException( new Exception() )
+               );
+               $this->assertObjectNotHasAttribute( 'backtrace', $json );
+
+       }
+
+}
diff --git a/tests/phpunit/includes/exception/ThrottledErrorTest.php b/tests/phpunit/includes/exception/ThrottledErrorTest.php
new file mode 100644 (file)
index 0000000..ca67241
--- /dev/null
@@ -0,0 +1,45 @@
+<?php
+
+/**
+ * @covers ThrottledError
+ * @author Adam Shorland
+ */
+class ThrottledErrorTest extends MediaWikiTestCase {
+
+       protected $wgOut;
+
+       protected function setUp() {
+               parent::setUp();
+               global $wgOut;
+               $this->wgOut = clone $wgOut;
+       }
+
+       protected function tearDown() {
+               parent::tearDown();
+               global $wgOut;
+               $wgOut = $this->wgOut;
+       }
+
+       public function testExceptionSetsStatusCode() {
+               global $wgOut;
+               $wgOut = $this->getMockWgOut();
+               try{
+                       throw new ThrottledError();
+               }
+               catch( ThrottledError $e ) {
+                       $e->report();
+                       $this->assertTrue( true );
+               }
+       }
+
+       private function getMockWgOut() {
+               $mock = $this->getMockBuilder( 'OutputPage' )
+                       ->disableOriginalConstructor()
+                       ->getMock();
+               $mock->expects( $this->once() )
+                       ->method( 'setStatusCode' )
+                       ->with( 503 );
+               return $mock;
+       }
+
+}