* User::getPageRenderingHash() was deprecated since 1.17 and has been removed.
* The ExpandTemplates extension has been moved into MediaWiki core.
* (bug 52812) Removed "Disable search suggestions" from Preference.
+* (bug 52809) Removed "Disable browser page caching" from Preference.
== Compatibility ==
return false;
}
- if ( $wgUser->getOption( 'nocache' ) ) {
- wfDebug( "$fname: USER DISABLED CACHE\n", false );
- return false;
- }
-
$timestamp = wfTimestamp( TS_MW, $timestamp );
$lastmod = wfTimestamp( TS_RFC2822, max( $timestamp, $wgUser->getTouched(), $wgCacheEpoch ) );
'FormlessAction' => 'includes/Action.php',
'FormAction' => 'includes/Action.php',
'FormOptions' => 'includes/FormOptions.php',
- 'FormSpecialPage' => 'includes/SpecialPage.php',
+ 'FormSpecialPage' => 'includes/specialpage/FormSpecialPage.php',
'GitInfo' => 'includes/GitInfo.php',
'HistoryBlob' => 'includes/HistoryBlob.php',
'HistoryBlobCurStub' => 'includes/HistoryBlob.php',
'ImageQueryPage' => 'includes/ImageQueryPage.php',
'ImportStreamSource' => 'includes/Import.php',
'ImportStringSource' => 'includes/Import.php',
- 'IncludableSpecialPage' => 'includes/SpecialPage.php',
+ 'IncludableSpecialPage' => 'includes/specialpage/IncludableSpecialPage.php',
'IndexPager' => 'includes/Pager.php',
'Interwiki' => 'includes/interwiki/Interwiki.php',
'LCStore' => 'includes/cache/LocalisationCache.php',
'RawMessage' => 'includes/Message.php',
'RdfMetaData' => 'includes/Metadata.php',
'ReadOnlyError' => 'includes/Exception.php',
- 'RedirectSpecialArticle' => 'includes/SpecialPage.php',
- 'RedirectSpecialPage' => 'includes/SpecialPage.php',
+ 'RedirectSpecialArticle' => 'includes/specialpage/RedirectSpecialPage.php',
+ 'RedirectSpecialPage' => 'includes/specialpage/RedirectSpecialPage.php',
'ReverseChronologicalPager' => 'includes/Pager.php',
'RevisionItem' => 'includes/RevisionList.php',
'RevisionItemBase' => 'includes/RevisionList.php',
'SiteStatsInit' => 'includes/SiteStats.php',
'Skin' => 'includes/Skin.php',
'SkinTemplate' => 'includes/SkinTemplate.php',
- 'SpecialCreateAccount' => 'includes/SpecialPage.php',
- 'SpecialListAdmins' => 'includes/SpecialPage.php',
- 'SpecialListBots' => 'includes/SpecialPage.php',
- 'SpecialMycontributions' => 'includes/SpecialPage.php',
- 'SpecialMypage' => 'includes/SpecialPage.php',
- 'SpecialMytalk' => 'includes/SpecialPage.php',
- 'SpecialMyuploads' => 'includes/SpecialPage.php',
- 'SpecialAllMyUploads' => 'includes/SpecialPage.php',
- 'SpecialPage' => 'includes/SpecialPage.php',
+ 'SpecialCreateAccount' => 'includes/specials/SpecialCreateAccount.php',
+ 'SpecialListAdmins' => 'includes/specials/SpecialListusers.php',
+ 'SpecialListBots' => 'includes/specials/SpecialListusers.php',
+ 'SpecialMycontributions' => 'includes/specials/SpecialMyRedirectPages.php',
+ 'SpecialMypage' => 'includes/specials/SpecialMyRedirectPages.php',
+ 'SpecialMytalk' => 'includes/specials/SpecialMyRedirectPages.php',
+ 'SpecialMyuploads' => 'includes/specials/SpecialMyRedirectPages.php',
+ 'SpecialAllMyUploads' => 'includes/specials/SpecialMyRedirectPages.php',
+ 'SpecialPage' => 'includes/specialpage/SpecialPage.php',
'SpecialPageFactory' => 'includes/SpecialPageFactory.php',
- 'SpecialRedirectToSpecial' => 'includes/SpecialPage.php',
+ 'SpecialRedirectToSpecial' => 'includes/specialpage/RedirectSpecialPage.php',
'SquidPurgeClient' => 'includes/SquidPurgeClient.php',
'SquidPurgeClientPool' => 'includes/SquidPurgeClient.php',
'StatCounter' => 'includes/StatCounter.php',
'TitleArray' => 'includes/TitleArray.php',
'TitleArrayFromResult' => 'includes/TitleArray.php',
'ThrottledError' => 'includes/Exception.php',
- 'UnlistedSpecialPage' => 'includes/SpecialPage.php',
+ 'UnlistedSpecialPage' => 'includes/specialpage/UnlistedSpecialPage.php',
'UploadSourceAdapter' => 'includes/Import.php',
'UppercaseCollation' => 'includes/Collation.php',
'User' => 'includes/User.php',
'SpecialNewpages' => 'includes/specials/SpecialNewpages.php',
'SpecialPasswordReset' => 'includes/specials/SpecialPasswordReset.php',
'SpecialPagesWithProp' => 'includes/specials/SpecialPagesWithProp.php',
- 'SpecialPermanentLink' => 'includes/SpecialPage.php',
+ 'SpecialPermanentLink' => 'includes/specials/SpecialPermanentLink.php',
'SpecialPreferences' => 'includes/specials/SpecialPreferences.php',
'SpecialPrefixindex' => 'includes/specials/SpecialPrefixindex.php',
'SpecialProtectedpages' => 'includes/specials/SpecialProtectedpages.php',
'math' => 1,
'minordefault' => 0,
'newpageshidepatrolled' => 0,
- 'nocache' => 0,
'noconvertlink' => 0,
'norollbackdiff' => 0,
'numberheadings' => 0,
$this->curlOptions[CURLOPT_PROXY] = $this->proxy;
$this->curlOptions[CURLOPT_TIMEOUT] = $this->timeout;
- $this->curlOptions[CURLOPT_CONNECTTIMEOUT_MS] = $this->connectTimeout * 1000;
+
+ // Only supported in curl >= 7.16.2
+ if ( defined( 'CURLOPT_CONNECTTIMEOUT_MS' ) ) {
+ $this->curlOptions[CURLOPT_CONNECTTIMEOUT_MS] = $this->connectTimeout * 1000;
+ }
+
$this->curlOptions[CURLOPT_HTTP_VERSION] = CURL_HTTP_VERSION_1_0;
$this->curlOptions[CURLOPT_WRITEFUNCTION] = $this->callback;
$this->curlOptions[CURLOPT_HEADERFUNCTION] = array( $this, "readHeader" );
*/
protected function parseText( $string ) {
$out = MessageCache::singleton()->parse( $string, $this->title, /*linestart*/true, $this->interface, $this->language );
- return is_object( $out ) ? $out->getText() : $out;
+ return $out instanceof ParserOutput ? $out->getText() : $out;
}
/**
wfDebug( __METHOD__ . ": CACHE DISABLED\n", false );
return false;
}
- if ( $this->getUser()->getOption( 'nocache' ) ) {
- wfDebug( __METHOD__ . ": USER DISABLED CACHE\n", false );
- return false;
- }
$timestamp = wfTimestamp( TS_MW, $timestamp );
$modifiedTimes = array(
'label-message' => 'tog-showtoc',
);
}
- $defaultPreferences['nocache'] = array(
- 'type' => 'toggle',
- 'label-message' => 'tog-nocache',
- 'section' => 'rendering/advancedrendering',
- );
$defaultPreferences['showhiddencats'] = array(
'type' => 'toggle',
'section' => 'rendering/advancedrendering',
$fname = get_class( $this ) . '::recache';
$dbw = wfGetDB( DB_MASTER );
- $dbr = wfGetDB( DB_SLAVE, array( $this->getName(), __METHOD__, 'vslow' ) );
- if ( !$dbw || !$dbr ) {
+ if ( !$dbw ) {
return false;
}
$num = $res->numRows();
# Fetch results
$vals = array();
- while ( $res && $row = $dbr->fetchObject( $res ) ) {
+ foreach ( $res as $row ) {
if ( isset( $row->value ) ) {
if ( $this->usesTimestamps() ) {
$value = wfTimestamp( TS_UNIX,
return $num;
}
+ /**
+ * Get a DB connection to be used for slow recache queries
+ */
+ function getRecacheDB() {
+ return wfGetDB( DB_SLAVE, array( $this->getName(), 'QueryPage::recache', 'vslow' ) );
+ }
+
/**
* Run the query and return the result
* @param int|bool $limit Numerical limit or false for no limit
*/
function reallyDoQuery( $limit, $offset = false ) {
$fname = get_class( $this ) . "::reallyDoQuery";
- $dbr = wfGetDB( DB_SLAVE );
+ $dbr = $this->getRecacheDB();
$query = $this->getQueryInfo();
$order = $this->getOrderFields();
+++ /dev/null
-<?php
-/**
- * Parent class for all special pages.
- *
- * 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
- * @ingroup SpecialPage
- */
-
-/**
- * Parent special page class, also static functions for handling the special
- * page list.
- * @ingroup SpecialPage
- */
-class SpecialPage {
- // The canonical name of this special page
- // Also used for the default <h1> heading, @see getDescription()
- protected $mName;
-
- // The local name of this special page
- private $mLocalName;
-
- // Minimum user level required to access this page, or "" for anyone.
- // Also used to categorise the pages in Special:Specialpages
- private $mRestriction;
-
- // Listed in Special:Specialpages?
- private $mListed;
-
- // Function name called by the default execute()
- private $mFunction;
-
- // File which needs to be included before the function above can be called
- private $mFile;
-
- // Whether or not this special page is being included from an article
- protected $mIncluding;
-
- // Whether the special page can be included in an article
- protected $mIncludable;
-
- /**
- * Current request context
- * @var IContextSource
- */
- protected $mContext;
-
- /**
- * Initialise the special page list
- * This must be called before accessing SpecialPage::$mList
- * @deprecated since 1.18
- */
- static function initList() {
- wfDeprecated( __METHOD__, '1.18' );
- // Noop
- }
-
- /**
- * @deprecated since 1.18
- */
- static function initAliasList() {
- wfDeprecated( __METHOD__, '1.18' );
- // Noop
- }
-
- /**
- * Given a special page alias, return the special page name.
- * Returns false if there is no such alias.
- *
- * @param $alias String
- * @return String or false
- * @deprecated since 1.18 call SpecialPageFactory method directly
- */
- static function resolveAlias( $alias ) {
- wfDeprecated( __METHOD__, '1.18' );
- list( $name, /*...*/ ) = SpecialPageFactory::resolveAlias( $alias );
- return $name;
- }
-
- /**
- * Given a special page name with a possible subpage, return an array
- * where the first element is the special page name and the second is the
- * subpage.
- *
- * @param $alias String
- * @return Array
- * @deprecated since 1.18 call SpecialPageFactory method directly
- */
- static function resolveAliasWithSubpage( $alias ) {
- return SpecialPageFactory::resolveAlias( $alias );
- }
-
- /**
- * Add a page to a certain display group for Special:SpecialPages
- *
- * @param $page Mixed: SpecialPage or string
- * @param $group String
- * @deprecated since 1.18 call SpecialPageFactory method directly
- */
- static function setGroup( $page, $group ) {
- wfDeprecated( __METHOD__, '1.18' );
- SpecialPageFactory::setGroup( $page, $group );
- }
-
- /**
- * Get the group that the special page belongs in on Special:SpecialPage
- *
- * @param $page SpecialPage
- * @return string
- * @deprecated since 1.18 call SpecialPageFactory method directly
- */
- static function getGroup( &$page ) {
- wfDeprecated( __METHOD__, '1.18' );
- return SpecialPageFactory::getGroup( $page );
- }
-
- /**
- * Remove a special page from the list
- * Formerly used to disable expensive or dangerous special pages. The
- * preferred method is now to add a SpecialPage_initList hook.
- * @deprecated since 1.18
- *
- * @param string $name the page to remove
- */
- static function removePage( $name ) {
- wfDeprecated( __METHOD__, '1.18' );
- unset( SpecialPageFactory::getList()->$name );
- }
-
- /**
- * Check if a given name exist as a special page or as a special page alias
- *
- * @param string $name name of a special page
- * @return Boolean: true if a special page exists with this name
- * @deprecated since 1.18 call SpecialPageFactory method directly
- */
- static function exists( $name ) {
- wfDeprecated( __METHOD__, '1.18' );
- return SpecialPageFactory::exists( $name );
- }
-
- /**
- * Find the object with a given name and return it (or NULL)
- *
- * @param $name String
- * @return SpecialPage object or null if the page doesn't exist
- * @deprecated since 1.18 call SpecialPageFactory method directly
- */
- static function getPage( $name ) {
- wfDeprecated( __METHOD__, '1.18' );
- return SpecialPageFactory::getPage( $name );
- }
-
- /**
- * Get a special page with a given localised name, or NULL if there
- * is no such special page.
- *
- * @param $alias String
- * @return SpecialPage object or null if the page doesn't exist
- * @deprecated since 1.18 call SpecialPageFactory method directly
- */
- static function getPageByAlias( $alias ) {
- wfDeprecated( __METHOD__, '1.18' );
- return SpecialPageFactory::getPage( $alias );
- }
-
- /**
- * Return categorised listable special pages which are available
- * for the current user, and everyone.
- *
- * @param $user User object to check permissions, $wgUser will be used
- * if not provided
- * @return array Associative array mapping page's name to its SpecialPage object
- * @deprecated since 1.18 call SpecialPageFactory method directly
- */
- static function getUsablePages( User $user = null ) {
- wfDeprecated( __METHOD__, '1.18' );
- return SpecialPageFactory::getUsablePages( $user );
- }
-
- /**
- * Return categorised listable special pages for all users
- *
- * @return array Associative array mapping page's name to its SpecialPage object
- * @deprecated since 1.18 call SpecialPageFactory method directly
- */
- static function getRegularPages() {
- wfDeprecated( __METHOD__, '1.18' );
- return SpecialPageFactory::getRegularPages();
- }
-
- /**
- * Return categorised listable special pages which are available
- * for the current user, but not for everyone
- *
- * @return array Associative array mapping page's name to its SpecialPage object
- * @deprecated since 1.18 call SpecialPageFactory method directly
- */
- static function getRestrictedPages() {
- wfDeprecated( __METHOD__, '1.18' );
- return SpecialPageFactory::getRestrictedPages();
- }
-
- /**
- * Execute a special page path.
- * The path may contain parameters, e.g. Special:Name/Params
- * Extracts the special page name and call the execute method, passing the parameters
- *
- * Returns a title object if the page is redirected, false if there was no such special
- * page, and true if it was successful.
- *
- * @param $title Title object
- * @param $context IContextSource
- * @param $including Bool output is being captured for use in {{special:whatever}}
- * @return Bool
- * @deprecated since 1.18 call SpecialPageFactory method directly
- */
- public static function executePath( &$title, IContextSource &$context, $including = false ) {
- wfDeprecated( __METHOD__, '1.18' );
- return SpecialPageFactory::executePath( $title, $context, $including );
- }
-
- /**
- * Get the local name for a specified canonical name
- *
- * @param $name String
- * @param $subpage Mixed: boolean false, or string
- *
- * @return String
- * @deprecated since 1.18 call SpecialPageFactory method directly
- */
- static function getLocalNameFor( $name, $subpage = false ) {
- wfDeprecated( __METHOD__, '1.18' );
- return SpecialPageFactory::getLocalNameFor( $name, $subpage );
- }
-
- /**
- * Get a localised Title object for a specified special page name
- *
- * @param $name String
- * @param string|Bool $subpage subpage string, or false to not use a subpage
- * @param string $fragment the link fragment (after the "#")
- * @throws MWException
- * @return Title object
- */
- public static function getTitleFor( $name, $subpage = false, $fragment = '' ) {
- $name = SpecialPageFactory::getLocalNameFor( $name, $subpage );
- return Title::makeTitle( NS_SPECIAL, $name, $fragment );
- }
-
- /**
- * Get a localised Title object for a page name with a possibly unvalidated subpage
- *
- * @param $name String
- * @param string|Bool $subpage subpage string, or false to not use a subpage
- * @return Title object or null if the page doesn't exist
- */
- public static function getSafeTitleFor( $name, $subpage = false ) {
- $name = SpecialPageFactory::getLocalNameFor( $name, $subpage );
- if ( $name ) {
- return Title::makeTitleSafe( NS_SPECIAL, $name );
- } else {
- return null;
- }
- }
-
- /**
- * Get a title for a given alias
- *
- * @param $alias String
- * @return Title or null if there is no such alias
- * @deprecated since 1.18 call SpecialPageFactory method directly
- */
- static function getTitleForAlias( $alias ) {
- wfDeprecated( __METHOD__, '1.18' );
- return SpecialPageFactory::getTitleForAlias( $alias );
- }
-
- /**
- * Default constructor for special pages
- * Derivative classes should call this from their constructor
- * Note that if the user does not have the required level, an error message will
- * be displayed by the default execute() method, without the global function ever
- * being called.
- *
- * If you override execute(), you can recover the default behavior with userCanExecute()
- * and displayRestrictionError()
- *
- * @param string $name Name of the special page, as seen in links and URLs
- * @param string $restriction User right required, e.g. "block" or "delete"
- * @param bool $listed Whether the page is listed in Special:Specialpages
- * @param Callback|Bool $function Function called by execute(). By default
- * it is constructed from $name
- * @param string $file File which is included by execute(). It is also
- * constructed from $name by default
- * @param bool $includable Whether the page can be included in normal pages
- */
- public function __construct(
- $name = '', $restriction = '', $listed = true,
- $function = false, $file = 'default', $includable = false
- ) {
- $this->init( $name, $restriction, $listed, $function, $file, $includable );
- }
-
- /**
- * Do the real work for the constructor, mainly so __call() can intercept
- * calls to SpecialPage()
- * @param string $name Name of the special page, as seen in links and URLs
- * @param string $restriction User right required, e.g. "block" or "delete"
- * @param bool $listed Whether the page is listed in Special:Specialpages
- * @param Callback|Bool $function Function called by execute(). By default
- * it is constructed from $name
- * @param string $file File which is included by execute(). It is also
- * constructed from $name by default
- * @param bool $includable Whether the page can be included in normal pages
- */
- private function init( $name, $restriction, $listed, $function, $file, $includable ) {
- $this->mName = $name;
- $this->mRestriction = $restriction;
- $this->mListed = $listed;
- $this->mIncludable = $includable;
- if ( !$function ) {
- $this->mFunction = 'wfSpecial' . $name;
- } else {
- $this->mFunction = $function;
- }
- if ( $file === 'default' ) {
- $this->mFile = __DIR__ . "/specials/Special$name.php";
- } else {
- $this->mFile = $file;
- }
- }
-
- /**
- * Use PHP's magic __call handler to get calls to the old PHP4 constructor
- * because PHP E_STRICT yells at you for having __construct() and SpecialPage()
- *
- * @param string $fName Name of called method
- * @param array $a Arguments to the method
- * @throws MWException
- * @deprecated since 1.17, call parent::__construct()
- */
- public function __call( $fName, $a ) {
- // Deprecated messages now, remove in 1.19 or 1.20?
- wfDeprecated( __METHOD__, '1.17' );
-
- // Sometimes $fName is SpecialPage, sometimes it's specialpage. <3 PHP
- if ( strtolower( $fName ) == 'specialpage' ) {
- $name = isset( $a[0] ) ? $a[0] : '';
- $restriction = isset( $a[1] ) ? $a[1] : '';
- $listed = isset( $a[2] ) ? $a[2] : true;
- $function = isset( $a[3] ) ? $a[3] : false;
- $file = isset( $a[4] ) ? $a[4] : 'default';
- $includable = isset( $a[5] ) ? $a[5] : false;
- $this->init( $name, $restriction, $listed, $function, $file, $includable );
- } else {
- $className = get_class( $this );
- throw new MWException( "Call to undefined method $className::$fName" );
- }
- }
-
- /**
- * Get the name of this Special Page.
- * @return String
- */
- function getName() {
- return $this->mName;
- }
-
- /**
- * Get the permission that a user must have to execute this page
- * @return String
- */
- function getRestriction() {
- return $this->mRestriction;
- }
-
- /**
- * Get the file which will be included by SpecialPage::execute() if your extension is
- * still stuck in the past and hasn't overridden the execute() method. No modern code
- * should want or need to know this.
- * @return String
- * @deprecated since 1.18
- */
- function getFile() {
- wfDeprecated( __METHOD__, '1.18' );
- return $this->mFile;
- }
-
- // @todo FIXME: Decide which syntax to use for this, and stick to it
- /**
- * Whether this special page is listed in Special:SpecialPages
- * @since r3583 (v1.3)
- * @return Bool
- */
- function isListed() {
- return $this->mListed;
- }
- /**
- * Set whether this page is listed in Special:Specialpages, at run-time
- * @since r3583 (v1.3)
- * @param $listed Bool
- * @return Bool
- */
- function setListed( $listed ) {
- return wfSetVar( $this->mListed, $listed );
- }
- /**
- * Get or set whether this special page is listed in Special:SpecialPages
- * @since r11308 (v1.6)
- * @param $x Bool
- * @return Bool
- */
- function listed( $x = null ) {
- return wfSetVar( $this->mListed, $x );
- }
-
- /**
- * Whether it's allowed to transclude the special page via {{Special:Foo/params}}
- * @return Bool
- */
- public function isIncludable() {
- return $this->mIncludable;
- }
-
- /**
- * These mutators are very evil, as the relevant variables should not mutate. So
- * don't use them.
- * @param $x Mixed
- * @return Mixed
- * @deprecated since 1.18
- */
- function name( $x = null ) {
- wfDeprecated( __METHOD__, '1.18' );
- return wfSetVar( $this->mName, $x );
- }
-
- /**
- * These mutators are very evil, as the relevant variables should not mutate. So
- * don't use them.
- * @param $x Mixed
- * @return Mixed
- * @deprecated since 1.18
- */
- function restriction( $x = null ) {
- wfDeprecated( __METHOD__, '1.18' );
- return wfSetVar( $this->mRestriction, $x );
- }
-
- /**
- * These mutators are very evil, as the relevant variables should not mutate. So
- * don't use them.
- * @param $x Mixed
- * @return Mixed
- * @deprecated since 1.18
- */
- function func( $x = null ) {
- wfDeprecated( __METHOD__, '1.18' );
- return wfSetVar( $this->mFunction, $x );
- }
-
- /**
- * These mutators are very evil, as the relevant variables should not mutate. So
- * don't use them.
- * @param $x Mixed
- * @return Mixed
- * @deprecated since 1.18
- */
- function file( $x = null ) {
- wfDeprecated( __METHOD__, '1.18' );
- return wfSetVar( $this->mFile, $x );
- }
-
- /**
- * These mutators are very evil, as the relevant variables should not mutate. So
- * don't use them.
- * @param $x Mixed
- * @return Mixed
- * @deprecated since 1.18
- */
- function includable( $x = null ) {
- wfDeprecated( __METHOD__, '1.18' );
- return wfSetVar( $this->mIncludable, $x );
- }
-
- /**
- * Whether the special page is being evaluated via transclusion
- * @param $x Bool
- * @return Bool
- */
- function including( $x = null ) {
- return wfSetVar( $this->mIncluding, $x );
- }
-
- /**
- * Get the localised name of the special page
- */
- function getLocalName() {
- if ( !isset( $this->mLocalName ) ) {
- $this->mLocalName = SpecialPageFactory::getLocalNameFor( $this->mName );
- }
- return $this->mLocalName;
- }
-
- /**
- * Is this page expensive (for some definition of expensive)?
- * Expensive pages are disabled or cached in miser mode. Originally used
- * (and still overridden) by QueryPage and subclasses, moved here so that
- * Special:SpecialPages can safely call it for all special pages.
- *
- * @return Boolean
- */
- public function isExpensive() {
- return false;
- }
-
- /**
- * Is this page cached?
- * Expensive pages are cached or disabled in miser mode.
- * Used by QueryPage and subclasses, moved here so that
- * Special:SpecialPages can safely call it for all special pages.
- *
- * @return Boolean
- * @since 1.21
- */
- public function isCached() {
- return false;
- }
-
- /**
- * Can be overridden by subclasses with more complicated permissions
- * schemes.
- *
- * @return Boolean: should the page be displayed with the restricted-access
- * pages?
- */
- public function isRestricted() {
- // DWIM: If anons can do something, then it is not restricted
- return $this->mRestriction != '' && !User::groupHasPermission( '*', $this->mRestriction );
- }
-
- /**
- * Checks if the given user (identified by an object) can execute this
- * special page (as defined by $mRestriction). Can be overridden by sub-
- * classes with more complicated permissions schemes.
- *
- * @param $user User: the user to check
- * @return Boolean: does the user have permission to view the page?
- */
- public function userCanExecute( User $user ) {
- return $user->isAllowed( $this->mRestriction );
- }
-
- /**
- * Output an error message telling the user what access level they have to have
- */
- function displayRestrictionError() {
- throw new PermissionsError( $this->mRestriction );
- }
-
- /**
- * Checks if userCanExecute, and if not throws a PermissionsError
- *
- * @since 1.19
- */
- public function checkPermissions() {
- if ( !$this->userCanExecute( $this->getUser() ) ) {
- $this->displayRestrictionError();
- }
- }
-
- /**
- * If the wiki is currently in readonly mode, throws a ReadOnlyError
- *
- * @since 1.19
- * @throws ReadOnlyError
- */
- public function checkReadOnly() {
- if ( wfReadOnly() ) {
- throw new ReadOnlyError;
- }
- }
-
- /**
- * If the user is not logged in, throws UserNotLoggedIn error.
- *
- * Default error message includes a link to Special:Userlogin with properly set 'returnto' query
- * parameter.
- *
- * @since 1.23
- * @param string|Message $reasonMsg [optional] Passed on to UserNotLoggedIn constructor. Strings
- * will be used as message keys. If a string is given, the message will also receive a
- * formatted login link (generated using the 'loginreqlink' message) as first parameter. If a
- * Message is given, it will be passed on verbatim.
- * @param string|Message $titleMsg [optional] Passed on to UserNotLoggedIn constructor. Strings
- * will be used as message keys.
- * @throws UserNotLoggedIn
- */
- public function requireLogin( $reasonMsg = null, $titleMsg = null ) {
- if ( $this->getUser()->isAnon() ) {
- // Use default messages if not given or explicit null passed
- if ( !$reasonMsg ) {
- $reasonMsg = 'exception-nologin-text-manual';
- }
- if ( !$titleMsg ) {
- $titleMsg = 'exception-nologin';
- }
-
- // Convert to Messages with current context
- if ( is_string( $reasonMsg ) ) {
- $loginreqlink = Linker::linkKnown(
- SpecialPage::getTitleFor( 'Userlogin' ),
- $this->msg( 'loginreqlink' )->escaped(),
- array(),
- array( 'returnto' => $this->getTitle()->getPrefixedText() )
- );
- $reasonMsg = $this->msg( $reasonMsg )->rawParams( $loginreqlink );
- }
- if ( is_string( $titleMsg ) ) {
- $titleMsg = $this->msg( $titleMsg );
- }
-
- throw new UserNotLoggedIn( $reasonMsg, $titleMsg );
- }
- }
-
- /**
- * Sets headers - this should be called from the execute() method of all derived classes!
- */
- function setHeaders() {
- $out = $this->getOutput();
- $out->setArticleRelated( false );
- $out->setRobotPolicy( "noindex,nofollow" );
- $out->setPageTitle( $this->getDescription() );
- }
-
- /**
- * Entry point.
- *
- * @since 1.20
- *
- * @param $subPage string|null
- */
- final public function run( $subPage ) {
- /**
- * Gets called before @see SpecialPage::execute.
- *
- * @since 1.20
- *
- * @param $special SpecialPage
- * @param $subPage string|null
- */
- wfRunHooks( 'SpecialPageBeforeExecute', array( $this, $subPage ) );
-
- $this->beforeExecute( $subPage );
- $this->execute( $subPage );
- $this->afterExecute( $subPage );
-
- /**
- * Gets called after @see SpecialPage::execute.
- *
- * @since 1.20
- *
- * @param $special SpecialPage
- * @param $subPage string|null
- */
- wfRunHooks( 'SpecialPageAfterExecute', array( $this, $subPage ) );
- }
-
- /**
- * Gets called before @see SpecialPage::execute.
- *
- * @since 1.20
- *
- * @param $subPage string|null
- */
- protected function beforeExecute( $subPage ) {
- // No-op
- }
-
- /**
- * Gets called after @see SpecialPage::execute.
- *
- * @since 1.20
- *
- * @param $subPage string|null
- */
- protected function afterExecute( $subPage ) {
- // No-op
- }
-
- /**
- * Default execute method
- * Checks user permissions, calls the function given in mFunction
- *
- * This must be overridden by subclasses; it will be made abstract in a future version
- *
- * @param $subPage string|null
- */
- public function execute( $subPage ) {
- $this->setHeaders();
- $this->checkPermissions();
-
- $func = $this->mFunction;
- // only load file if the function does not exist
- if ( !is_callable( $func ) && $this->mFile ) {
- require_once $this->mFile;
- }
- $this->outputHeader();
- call_user_func( $func, $subPage, $this );
- }
-
- /**
- * Outputs a summary message on top of special pages
- * Per default the message key is the canonical name of the special page
- * May be overridden, i.e. by extensions to stick with the naming conventions
- * for message keys: 'extensionname-xxx'
- *
- * @param string $summaryMessageKey message key of the summary
- */
- function outputHeader( $summaryMessageKey = '' ) {
- global $wgContLang;
-
- if ( $summaryMessageKey == '' ) {
- $msg = $wgContLang->lc( $this->getName() ) . '-summary';
- } else {
- $msg = $summaryMessageKey;
- }
- if ( !$this->msg( $msg )->isDisabled() && !$this->including() ) {
- $this->getOutput()->wrapWikiMsg(
- "<div class='mw-specialpage-summary'>\n$1\n</div>", $msg );
- }
-
- }
-
- /**
- * Returns the name that goes in the \<h1\> in the special page itself, and
- * also the name that will be listed in Special:Specialpages
- *
- * Derived classes can override this, but usually it is easier to keep the
- * default behavior. Messages can be added at run-time, see
- * MessageCache.php.
- *
- * @return String
- */
- function getDescription() {
- return $this->msg( strtolower( $this->mName ) )->text();
- }
-
- /**
- * Get a self-referential title object
- *
- * @param $subpage String|Bool
- * @return Title object
- */
- function getTitle( $subpage = false ) {
- return self::getTitleFor( $this->mName, $subpage );
- }
-
- /**
- * Sets the context this SpecialPage is executed in
- *
- * @param $context IContextSource
- * @since 1.18
- */
- public function setContext( $context ) {
- $this->mContext = $context;
- }
-
- /**
- * Gets the context this SpecialPage is executed in
- *
- * @return IContextSource|RequestContext
- * @since 1.18
- */
- public function getContext() {
- if ( $this->mContext instanceof IContextSource ) {
- return $this->mContext;
- } else {
- wfDebug( __METHOD__ . " called and \$mContext is null. " .
- "Return RequestContext::getMain(); for sanity\n" );
- return RequestContext::getMain();
- }
- }
-
- /**
- * Get the WebRequest being used for this instance
- *
- * @return WebRequest
- * @since 1.18
- */
- public function getRequest() {
- return $this->getContext()->getRequest();
- }
-
- /**
- * Get the OutputPage being used for this instance
- *
- * @return OutputPage
- * @since 1.18
- */
- public function getOutput() {
- return $this->getContext()->getOutput();
- }
-
- /**
- * Shortcut to get the User executing this instance
- *
- * @return User
- * @since 1.18
- */
- public function getUser() {
- return $this->getContext()->getUser();
- }
-
- /**
- * Shortcut to get the skin being used for this instance
- *
- * @return Skin
- * @since 1.18
- */
- public function getSkin() {
- return $this->getContext()->getSkin();
- }
-
- /**
- * Shortcut to get user's language
- *
- * @deprecated since 1.19 Use getLanguage instead
- * @return Language
- * @since 1.18
- */
- public function getLang() {
- wfDeprecated( __METHOD__, '1.19' );
- return $this->getLanguage();
- }
-
- /**
- * Shortcut to get user's language
- *
- * @return Language
- * @since 1.19
- */
- public function getLanguage() {
- return $this->getContext()->getLanguage();
- }
-
- /**
- * Return the full title, including $par
- *
- * @return Title
- * @since 1.18
- */
- public function getFullTitle() {
- return $this->getContext()->getTitle();
- }
-
- /**
- * Wrapper around wfMessage that sets the current context.
- *
- * @return Message
- * @see wfMessage
- */
- public function msg( /* $args */ ) {
- $message = call_user_func_array(
- array( $this->getContext(), 'msg' ),
- func_get_args()
- );
- // RequestContext passes context to wfMessage, and the language is set from
- // the context, but setting the language for Message class removes the
- // interface message status, which breaks for example usernameless gender
- // invocations. Restore the flag when not including special page in content.
- if ( $this->including() ) {
- $message->setInterfaceMessageFlag( false );
- }
- return $message;
- }
-
- /**
- * Adds RSS/atom links
- *
- * @param $params array
- */
- protected function addFeedLinks( $params ) {
- global $wgFeedClasses;
-
- $feedTemplate = wfScript( 'api' );
-
- foreach ( $wgFeedClasses as $format => $class ) {
- $theseParams = $params + array( 'feedformat' => $format );
- $url = wfAppendQuery( $feedTemplate, $theseParams );
- $this->getOutput()->addFeedLink( $format, $url );
- }
- }
-
- /**
- * Get the group that the special page belongs in on Special:SpecialPage
- * Use this method, instead of getGroupName to allow customization
- * of the group name from the wiki side
- *
- * @return string Group of this special page
- * @since 1.21
- */
- public function getFinalGroupName() {
- global $wgSpecialPageGroups;
- $name = $this->getName();
-
- // Allow overbidding the group from the wiki side
- $msg = $this->msg( 'specialpages-specialpagegroup-' . strtolower( $name ) )->inContentLanguage();
- if ( !$msg->isBlank() ) {
- $group = $msg->text();
- } else {
- // Than use the group from this object
- $group = $this->getGroupName();
-
- // Group '-' is used as default to have the chance to determine,
- // if the special pages overrides this method,
- // if not overridden, $wgSpecialPageGroups is checked for b/c
- if ( $group === '-' && isset( $wgSpecialPageGroups[$name] ) ) {
- $group = $wgSpecialPageGroups[$name];
- }
- }
-
- // never give '-' back, change to 'other'
- if ( $group === '-' ) {
- $group = 'other';
- }
-
- return $group;
- }
-
- /**
- * Under which header this special page is listed in Special:SpecialPages
- * See messages 'specialpages-group-*' for valid names
- * This method defaults to group 'other'
- *
- * @return string
- * @since 1.21
- */
- protected function getGroupName() {
- // '-' used here to determine, if this group is overridden or has a hardcoded 'other'
- // Needed for b/c in getFinalGroupName
- return '-';
- }
-}
-
-/**
- * Special page which uses an HTMLForm to handle processing. This is mostly a
- * clone of FormAction. More special pages should be built this way; maybe this could be
- * a new structure for SpecialPages
- */
-abstract class FormSpecialPage extends SpecialPage {
- /**
- * The sub-page of the special page.
- * @var string
- */
- protected $par = null;
-
- /**
- * Get an HTMLForm descriptor array
- * @return Array
- */
- abstract protected function getFormFields();
-
- /**
- * Add pre-text to the form
- * @return String HTML which will be sent to $form->addPreText()
- */
- protected function preText() {
- return '';
- }
-
- /**
- * Add post-text to the form
- * @return String HTML which will be sent to $form->addPostText()
- */
- protected function postText() {
- return '';
- }
-
- /**
- * Play with the HTMLForm if you need to more substantially
- * @param $form HTMLForm
- */
- protected function alterForm( HTMLForm $form ) {
- }
-
- /**
- * Get message prefix for HTMLForm
- *
- * @since 1.21
- * @return string
- */
- protected function getMessagePrefix() {
- return strtolower( $this->getName() );
- }
-
- /**
- * Get the HTMLForm to control behavior
- * @return HTMLForm|null
- */
- protected function getForm() {
- $this->fields = $this->getFormFields();
-
- $form = new HTMLForm( $this->fields, $this->getContext(), $this->getMessagePrefix() );
- $form->setSubmitCallback( array( $this, 'onSubmit' ) );
- // If the form is a compact vertical form, then don't output this ugly
- // fieldset surrounding it.
- // XXX Special pages can setDisplayFormat to 'vform' in alterForm(), but that
- // is called after this.
- if ( !$form->isVForm() ) {
- $form->setWrapperLegendMsg( $this->getMessagePrefix() . '-legend' );
- }
-
- $headerMsg = $this->msg( $this->getMessagePrefix() . '-text' );
- if ( !$headerMsg->isDisabled() ) {
- $form->addHeaderText( $headerMsg->parseAsBlock() );
- }
-
- // Retain query parameters (uselang etc)
- $params = array_diff_key(
- $this->getRequest()->getQueryValues(), array( 'title' => null ) );
- $form->addHiddenField( 'redirectparams', wfArrayToCgi( $params ) );
-
- $form->addPreText( $this->preText() );
- $form->addPostText( $this->postText() );
- $this->alterForm( $form );
-
- // Give hooks a chance to alter the form, adding extra fields or text etc
- wfRunHooks( "Special{$this->getName()}BeforeFormDisplay", array( &$form ) );
-
- return $form;
- }
-
- /**
- * Process the form on POST submission.
- * @param $data Array
- * @return Bool|Array true for success, false for didn't-try, array of errors on failure
- */
- abstract public function onSubmit( array $data );
-
- /**
- * Do something exciting on successful processing of the form, most likely to show a
- * confirmation message
- * @since 1.22 Default is to do nothing
- */
- public function onSuccess() {
- }
-
- /**
- * Basic SpecialPage workflow: get a form, send it to the user; get some data back,
- *
- * @param string $par Subpage string if one was specified
- */
- public function execute( $par ) {
- $this->setParameter( $par );
- $this->setHeaders();
-
- // This will throw exceptions if there's a problem
- $this->checkExecutePermissions( $this->getUser() );
-
- $form = $this->getForm();
- if ( $form->show() ) {
- $this->onSuccess();
- }
- }
-
- /**
- * Maybe do something interesting with the subpage parameter
- * @param string $par
- */
- protected function setParameter( $par ) {
- $this->par = $par;
- }
-
- /**
- * Called from execute() to check if the given user can perform this action.
- * Failures here must throw subclasses of ErrorPageError.
- * @param $user User
- * @throws UserBlockedError
- * @return Bool true
- */
- protected function checkExecutePermissions( User $user ) {
- $this->checkPermissions();
-
- if ( $this->requiresUnblock() && $user->isBlocked() ) {
- $block = $user->getBlock();
- throw new UserBlockedError( $block );
- }
-
- if ( $this->requiresWrite() ) {
- $this->checkReadOnly();
- }
-
- return true;
- }
-
- /**
- * Whether this action requires the wiki not to be locked
- * @return Bool
- */
- public function requiresWrite() {
- return true;
- }
-
- /**
- * Whether this action cannot be executed by a blocked user
- * @return Bool
- */
- public function requiresUnblock() {
- return true;
- }
-}
-
-/**
- * Shortcut to construct a special page which is unlisted by default
- * @ingroup SpecialPage
- */
-class UnlistedSpecialPage extends SpecialPage {
- function __construct( $name, $restriction = '', $function = false, $file = 'default' ) {
- parent::__construct( $name, $restriction, false, $function, $file );
- }
-
- public function isListed() {
- return false;
- }
-}
-
-/**
- * Shortcut to construct an includable special page
- * @ingroup SpecialPage
- */
-class IncludableSpecialPage extends SpecialPage {
- function __construct(
- $name, $restriction = '', $listed = true, $function = false, $file = 'default'
- ) {
- parent::__construct( $name, $restriction, $listed, $function, $file, true );
- }
-
- public function isIncludable() {
- return true;
- }
-}
-
-/**
- * Shortcut to construct a special page alias.
- * @ingroup SpecialPage
- */
-abstract class RedirectSpecialPage extends UnlistedSpecialPage {
-
- // Query parameters that can be passed through redirects
- protected $mAllowedRedirectParams = array();
-
- // Query parameters added by redirects
- protected $mAddedRedirectParams = array();
-
- public function execute( $par ) {
- $redirect = $this->getRedirect( $par );
- $query = $this->getRedirectQuery();
- // Redirect to a page title with possible query parameters
- if ( $redirect instanceof Title ) {
- $url = $redirect->getFullURL( $query );
- $this->getOutput()->redirect( $url );
- return $redirect;
- } elseif ( $redirect === true ) {
- // Redirect to index.php with query parameters
- $url = wfAppendQuery( wfScript( 'index' ), $query );
- $this->getOutput()->redirect( $url );
- return $redirect;
- } else {
- $class = get_class( $this );
- throw new MWException( "RedirectSpecialPage $class doesn't redirect!" );
- }
- }
-
- /**
- * If the special page is a redirect, then get the Title object it redirects to.
- * False otherwise.
- *
- * @param string $par Subpage string
- * @return Title|bool
- */
- abstract public function getRedirect( $par );
-
- /**
- * Return part of the request string for a special redirect page
- * This allows passing, e.g. action=history to Special:Mypage, etc.
- *
- * @return String
- */
- public function getRedirectQuery() {
- $params = array();
-
- foreach ( $this->mAllowedRedirectParams as $arg ) {
- if ( $this->getRequest()->getVal( $arg, null ) !== null ) {
- $params[$arg] = $this->getRequest()->getVal( $arg );
- }
- }
-
- foreach ( $this->mAddedRedirectParams as $arg => $val ) {
- $params[$arg] = $val;
- }
-
- return count( $params )
- ? $params
- : false;
- }
-}
-
-abstract class SpecialRedirectToSpecial extends RedirectSpecialPage {
- // @todo FIXME: Visibility must be declared
- var $redirName, $redirSubpage;
-
- function __construct(
- $name, $redirName, $redirSubpage = false,
- $allowedRedirectParams = array(), $addedRedirectParams = array()
- ) {
- parent::__construct( $name );
- $this->redirName = $redirName;
- $this->redirSubpage = $redirSubpage;
- $this->mAllowedRedirectParams = $allowedRedirectParams;
- $this->mAddedRedirectParams = $addedRedirectParams;
- }
-
- public function getRedirect( $subpage ) {
- if ( $this->redirSubpage === false ) {
- return SpecialPage::getTitleFor( $this->redirName, $subpage );
- } else {
- return SpecialPage::getTitleFor( $this->redirName, $this->redirSubpage );
- }
- }
-}
-
-/**
- * ListAdmins --> ListUsers/sysop
- */
-class SpecialListAdmins extends SpecialRedirectToSpecial {
- function __construct() {
- parent::__construct( 'Listadmins', 'Listusers', 'sysop' );
- }
-}
-
-/**
- * ListBots --> ListUsers/bot
- */
-class SpecialListBots extends SpecialRedirectToSpecial {
- function __construct() {
- parent::__construct( 'Listbots', 'Listusers', 'bot' );
- }
-}
-
-/**
- * CreateAccount --> UserLogin/signup
- * @todo FIXME: This (and the rest of the login frontend) needs to die a horrible painful death
- */
-class SpecialCreateAccount extends SpecialRedirectToSpecial {
- function __construct() {
- parent::__construct( 'CreateAccount', 'Userlogin', 'signup', array( 'returnto', 'returntoquery', 'uselang' ) );
- }
-
- // No reason to hide this link on Special:Specialpages
- public function isListed() {
- return true;
- }
-
- protected function getGroupName() {
- return 'login';
- }
-}
-/**
- * SpecialMypage, SpecialMytalk and SpecialMycontributions special pages
- * are used to get user independent links pointing to the user page, talk
- * page and list of contributions.
- * This can let us cache a single copy of any generated content for all
- * users.
- */
-
-/**
- * Superclass for any RedirectSpecialPage which redirects the user
- * to a particular article (as opposed to user contributions, logs, etc.).
- *
- * For security reasons these special pages are restricted to pass on
- * the following subset of GET parameters to the target page while
- * removing all others:
- *
- * - useskin, uselang, printable: to alter the appearance of the resulting page
- *
- * - redirect: allows viewing one's user page or talk page even if it is a
- * redirect.
- *
- * - rdfrom: allows redirecting to one's user page or talk page from an
- * external wiki with the "Redirect from..." notice.
- *
- * - limit, offset: Useful for linking to history of one's own user page or
- * user talk page. For example, this would be a link to "the last edit to your
- * user talk page in the year 2010":
- * http://en.wikipedia.org/wiki/Special:MyPage?offset=20110000000000&limit=1&action=history
- *
- * - feed: would allow linking to the current user's RSS feed for their user
- * talk page:
- * http://en.wikipedia.org/w/index.php?title=Special:MyTalk&action=history&feed=rss
- *
- * - preloadtitle: Can be used to provide a default section title for a
- * preloaded new comment on one's own talk page.
- *
- * - summary : Can be used to provide a default edit summary for a preloaded
- * edit to one's own user page or talk page.
- *
- * - preview: Allows showing/hiding preview on first edit regardless of user
- * preference, useful for preloaded edits where you know preview wouldn't be
- * useful.
- *
- * - internaledit, externaledit, mode: Allows forcing the use of the
- * internal/external editor, e.g. to force the internal editor for
- * short/simple preloaded edits.
- *
- * - redlink: Affects the message the user sees if their talk page/user talk
- * page does not currently exist. Avoids confusion for newbies with no user
- * pages over why they got a "permission error" following this link:
- * http://en.wikipedia.org/w/index.php?title=Special:MyPage&redlink=1
- *
- * - debug: determines whether the debug parameter is passed to load.php,
- * which disables reformatting and allows scripts to be debugged. Useful
- * when debugging scripts that manipulate one's own user page or talk page.
- *
- * @par Hook extension:
- * Extensions can add to the redirect parameters list by using the hook
- * RedirectSpecialArticleRedirectParams
- *
- * This hook allows extensions which add GET parameters like FlaggedRevs to
- * retain those parameters when redirecting using special pages.
- *
- * @par Hook extension example:
- * @code
- * $wgHooks['RedirectSpecialArticleRedirectParams'][] =
- * 'MyExtensionHooks::onRedirectSpecialArticleRedirectParams';
- * public static function onRedirectSpecialArticleRedirectParams( &$redirectParams ) {
- * $redirectParams[] = 'stable';
- * return true;
- * }
- * @endcode
- * @ingroup SpecialPage
- */
-abstract class RedirectSpecialArticle extends RedirectSpecialPage {
- function __construct( $name ) {
- parent::__construct( $name );
- $redirectParams = array(
- 'action',
- 'redirect', 'rdfrom',
- # Options for preloaded edits
- 'preload', 'editintro', 'preloadtitle', 'summary', 'nosummary',
- # Options for overriding user settings
- 'preview', 'internaledit', 'externaledit', 'mode', 'minor', 'watchthis',
- # Options for history/diffs
- 'section', 'oldid', 'diff', 'dir',
- 'limit', 'offset', 'feed',
- # Misc options
- 'redlink', 'debug',
- # Options for action=raw; missing ctype can break JS or CSS in some browsers
- 'ctype', 'maxage', 'smaxage',
- );
-
- wfRunHooks( "RedirectSpecialArticleRedirectParams", array( &$redirectParams ) );
- $this->mAllowedRedirectParams = $redirectParams;
- }
-}
-
-/**
- * Shortcut to construct a special page pointing to current user user's page.
- * @ingroup SpecialPage
- */
-class SpecialMypage extends RedirectSpecialArticle {
- function __construct() {
- parent::__construct( 'Mypage' );
- }
-
- function getRedirect( $subpage ) {
- if ( strval( $subpage ) !== '' ) {
- return Title::makeTitle( NS_USER, $this->getUser()->getName() . '/' . $subpage );
- } else {
- return Title::makeTitle( NS_USER, $this->getUser()->getName() );
- }
- }
-}
-
-/**
- * Shortcut to construct a special page pointing to current user talk page.
- * @ingroup SpecialPage
- */
-class SpecialMytalk extends RedirectSpecialArticle {
- function __construct() {
- parent::__construct( 'Mytalk' );
- }
-
- function getRedirect( $subpage ) {
- if ( strval( $subpage ) !== '' ) {
- return Title::makeTitle( NS_USER_TALK, $this->getUser()->getName() . '/' . $subpage );
- } else {
- return Title::makeTitle( NS_USER_TALK, $this->getUser()->getName() );
- }
- }
-}
-
-/**
- * Shortcut to construct a special page pointing to current user contributions.
- * @ingroup SpecialPage
- */
-class SpecialMycontributions extends RedirectSpecialPage {
- function __construct() {
- parent::__construct( 'Mycontributions' );
- $this->mAllowedRedirectParams = array( 'limit', 'namespace', 'tagfilter',
- 'offset', 'dir', 'year', 'month', 'feed' );
- }
-
- function getRedirect( $subpage ) {
- return SpecialPage::getTitleFor( 'Contributions', $this->getUser()->getName() );
- }
-}
-
-/**
- * Redirect to Special:Listfiles?user=$wgUser
- */
-class SpecialMyuploads extends RedirectSpecialPage {
- function __construct() {
- parent::__construct( 'Myuploads' );
- $this->mAllowedRedirectParams = array( 'limit', 'ilshowall', 'ilsearch' );
- }
-
- function getRedirect( $subpage ) {
- return SpecialPage::getTitleFor( 'Listfiles', $this->getUser()->getName() );
- }
-}
-
-/**
- * Redirect Special:Listfiles?user=$wgUser&ilshowall=true
- */
-class SpecialAllMyUploads extends RedirectSpecialPage {
- function __construct() {
- parent::__construct( 'AllMyUploads' );
- $this->mAllowedRedirectParams = array( 'limit', 'ilsearch' );
- }
-
- function getRedirect( $subpage ) {
- $this->mAddedRedirectParams['ilshowall'] = 1;
- return SpecialPage::getTitleFor( 'Listfiles', $this->getUser()->getName() );
- }
-}
-
-/**
- * Redirect from Special:PermanentLink/### to index.php?oldid=###
- */
-class SpecialPermanentLink extends RedirectSpecialPage {
- function __construct() {
- parent::__construct( 'PermanentLink' );
- $this->mAllowedRedirectParams = array();
- }
-
- function getRedirect( $subpage ) {
- $subpage = intval( $subpage );
- if ( $subpage === 0 ) {
- # throw an error page when no subpage was given
- throw new ErrorPageError( 'nopagetitle', 'nopagetext' );
- }
- $this->mAddedRedirectParams['oldid'] = $subpage;
- return true;
- }
-}
/**
* Get the error message as HTML. This is done by parsing the wikitext error
* message.
- *
- * @note: this does not perform a full wikitext to HTML conversion, it merely applies
- * a message transformation.
- * @todo figure out whether that is actually The Right Thing.
+ * @param string $shortContext a short enclosing context message name, to
+ * be used when there is a single error
+ * @param string $longContext a long enclosing context message name, for a list
+ * @return String
*/
public function getHTML( $shortContext = false, $longContext = false ) {
$text = $this->getWikiText( $shortContext, $longContext );
- return MessageCache::singleton()->transform( $text, true );
+ $out = MessageCache::singleton()->parse( $text, null, true, true );
+ return $out instanceof ParserOutput ? $out->getText() : $out;
}
/**
return Status::newFatal( 'readonlytext', wfReadOnlyReason() );
}
+ $this->loadPageData( 'fromdbmaster' );
$restrictionTypes = $this->mTitle->getRestrictionTypes();
-
$id = $this->getId();
if ( !$cascade ) {
}
}
+ $canonicaltitle = isset( $prop['canonicaltitle'] );
$url = isset( $prop['url'] );
$sha1 = isset( $prop['sha1'] );
$meta = isset( $prop['metadata'] );
$bitdepth = isset( $prop['bitdepth'] );
$uploadwarning = isset( $prop['uploadwarning'] );
- if ( ( $url || $sha1 || $meta || $mime || $mediatype || $archive || $bitdepth )
+ if ( ( $canonicaltitle || $url || $sha1 || $meta || $mime || $mediatype || $archive || $bitdepth )
&& $file->isDeleted( File::DELETED_FILE )
) {
$vals['filehidden'] = '';
return $vals;
}
+ if ( $canonicaltitle ) {
+ $vals['canonicaltitle'] = $file->getTitle()->getPrefixedText();
+ }
+
if ( $url ) {
if ( !is_null( $thumbParams ) ) {
$mto = $file->transform( $thumbParams );
'userid' => ' userid - Add the user ID that uploaded the image version',
'comment' => ' comment - Comment on the version',
'parsedcomment' => ' parsedcomment - Parse the comment on the version',
+ 'canonicaltitle' => ' canonicaltitle - Adds the canonical title of the image file',
'url' => ' url - Gives URL to the image and the description page',
'size' => ' size - Adds the size of the image in bytes ' .
'and the height, width and page count (if applicable)',
ApiBase::PROP_NULLABLE => true
)
),
+ 'canonicaltitle' => array(
+ 'canonicaltitle' => array(
+ ApiBase::PROP_TYPE => 'string',
+ ApiBase::PROP_NULLABLE => true
+ )
+ ),
'url' => array(
'filehidden' => 'boolean',
'thumburl' => array(
case 'protocols':
$fit = $this->appendProtocols( $p );
break;
+ case 'defaultoptions':
+ $fit = $this->appendDefaultOptions( $p );
+ break;
default:
ApiBase::dieDebug( __METHOD__, "Unknown prop=$p" );
}
$data['maxuploadsize'] = UploadBase::getMaxUploadSize();
+ $data['thumblimits'] = $GLOBALS['wgThumbLimits'];
+ $this->getResult()->setIndexedTagName( $data['thumblimits'], 'limit' );
+ $data['imagelimits'] = array();
+ $this->getResult()->setIndexedTagName( $data['imagelimits'], 'limit' );
+ foreach ( $GLOBALS['wgImageLimits'] as $k => $limit ) {
+ $data['imagelimits'][$k] = array( 'width' => $limit[0], 'height' => $limit[1] );
+ }
+
wfRunHooks( 'APIQuerySiteInfoGeneralInfo', array( $this, &$data ) );
return $this->getResult()->addValue( 'query', $property, $data );
return $this->getResult()->addValue( 'query', $property, $protocols );
}
+ public function appendDefaultOptions( $property ) {
+ return $this->getResult()->addValue( 'query', $property, User::getDefaultOptions() );
+ }
+
private function formatParserTags( $item ) {
return "<{$item}>";
}
'showhooks',
'variables',
'protocols',
+ 'defaultoptions',
)
),
'filteriw' => array(
' showhooks - Returns a list of all subscribed hooks (contents of $wgHooks)',
' variables - Returns a list of variable IDs',
' protocols - Returns a list of protocols that are allowed in external links.',
+ ' defaultoptions - Returns the default values for user preferences.',
),
'filteriw' => 'Return only local or only nonlocal entries of the interwiki map',
'showalldb' => 'List all database servers, not just the one lagging the most',
* This name should not be changed after use (e.g. with journaling).
* Note that the name is *not* used in actual container names.
* - wikiId : Prefix to container names that is unique to this backend.
- * If not provided, this defaults to the current wiki ID.
* It should only consist of alphanumberic, '-', and '_' characters.
* This ID is what avoids collisions if multiple logical backends
* use the same storage system, so this should be set carefully.
- * - lockManager : Registered name of a file lock manager to use.
- * - fileJournal : File journal configuration; see FileJournal::factory().
- * Journals simply log changes to files stored in the backend.
+ * - lockManager : LockManager object to use for any file locking.
+ * If not provided, then no file locking will be enforced.
+ * - fileJournal : FileJournal object to use for logging changes to files.
+ * If not provided, then change journaling will be disabled.
* - readOnly : Write operations are disallowed if this is a non-empty string.
* It should be an explanation for the backend being read-only.
* - parallelize : When to do file operations in parallel (when possible).
if ( !preg_match( '!^[a-zA-Z0-9-_]{1,255}$!', $this->name ) ) {
throw new FileBackendException( "Backend name `{$this->name}` is invalid." );
}
- $this->wikiId = isset( $config['wikiId'] )
- ? $config['wikiId']
- : wfWikiID(); // e.g. "my_wiki-en_"
- $this->lockManager = ( $config['lockManager'] instanceof LockManager )
+ if ( !isset( $config['wikiId'] ) ) {
+ $config['wikiId'] = wfWikiID();
+ wfDeprecated( __METHOD__ . ' called without "wikiID".', '1.23' );
+ }
+ if ( isset( $config['lockManager'] ) && !is_object( $config['lockManager'] ) ) {
+ $config['lockManager'] =
+ LockManagerGroup::singleton( $config['wikiId'] )->get( $config['lockManager'] );
+ wfDeprecated( __METHOD__ . ' called with non-object "lockManager".', '1.23' );
+ }
+ $this->wikiId = $config['wikiId']; // e.g. "my_wiki-en_"
+ $this->lockManager = isset( $config['lockManager'] )
? $config['lockManager']
- : LockManagerGroup::singleton( $this->wikiId )->get( $config['lockManager'] );
+ : new NullLockManager( array() );
$this->fileJournal = isset( $config['fileJournal'] )
- ? ( ( $config['fileJournal'] instanceof FileJournal )
- ? $config['fileJournal']
- : FileJournal::factory( $config['fileJournal'], $this->name ) )
+ ? $config['fileJournal']
: FileJournal::factory( array( 'class' => 'NullFileJournal' ), $this->name );
$this->readOnly = isset( $config['readOnly'] )
? (string)$config['readOnly']
if ( !isset( $this->backends[$name]['instance'] ) ) {
$class = $this->backends[$name]['class'];
$config = $this->backends[$name]['config'];
+ $config['wikiId'] = isset( $config['wikiId'] )
+ ? $config['wikiId']
+ : wfWikiID(); // e.g. "my_wiki-en_"
+ $config['lockManager'] =
+ LockManagerGroup::singleton( $config['wikiId'] )->get( $config['lockManager'] );
+ $config['fileJournal'] = isset( $config['fileJournal'] )
+ ? FileJournal::factory( $config['fileJournal'], $name )
+ : FileJournal::factory( array( 'class' => 'NullFileJournal' ), $name );
$this->backends[$name]['instance'] = new $class( $config );
}
// Alter certain sub-backend settings for sanity
unset( $config['readOnly'] ); // use proxy backend setting
unset( $config['fileJournal'] ); // use proxy backend journal
+ unset( $config['lockManager'] ); // lock under proxy backend
$config['wikiId'] = $this->wikiId; // use the proxy backend wiki ID
- $config['lockManager'] = 'nullLockManager'; // lock under proxy backend
if ( !empty( $config['isMultiMaster'] ) ) {
if ( $this->masterIndex >= 0 ) {
throw new FileBackendError( 'More than one master backend defined.' );
const OVERWRITE_SAME = 4;
const SKIP_LOCKING = 8;
+ const TIME_ONLY = 1;
+
/** @var bool Whether to fetch commons image description pages and display
* them on the local wiki */
public $fetchDescription;
* $repo->findFiles( $findBatch );
*
* No title should appear in $items twice, as the result use titles as keys
- * @return array (Map of file names => File objects) for matches
+ * @param int $flags Supports:
+ * - FileRepo::TIME_ONLY : return a (file name => timestamp) map instead
+ * @return array Map of (file name => File objects) for matches
*/
- public function findFiles( array $items ) {
+ public function findFiles( array $items, $flags = 0 ) {
$result = array();
foreach ( $items as $item ) {
if ( is_array( $item ) ) {
}
$file = $this->findFile( $title, $options );
if ( $file ) {
- $result[$file->getTitle()->getDBkey()] = $file;
+ $result[$file->getTitle()->getDBkey()] =
+ ( $flags & self::TIME_ONLY ) ? $file->getTimestamp() : $file;
}
}
return $id;
}
- public function findFiles( array $items ) {
+ public function findFiles( array $items, $flags = 0 ) {
$finalFiles = array(); // map of (DB key => corresponding File) for matches
$searchSet = array(); // map of (DB key => normalized search params)
$repo = $this;
$applyMatchingFiles = function( ResultWrapper $res, &$searchSet, &$finalFiles )
- use ( $repo, $fileMatchesSearch )
+ use ( $repo, $fileMatchesSearch, $flags )
{
foreach ( $res as $row ) {
- $possFile = $repo->newFileFromRow( $row );
- $dbKey = $possFile->getName();
+ $file = $repo->newFileFromRow( $row );
+ $dbKey = $file->getName();
// There must have been a search for this DB Key
- if ( $fileMatchesSearch( $possFile, $searchSet[$dbKey] ) ) {
- $finalFiles[$dbKey] = $possFile;
+ if ( $fileMatchesSearch( $file, $searchSet[$dbKey] ) ) {
+ $finalFiles[$dbKey] =
+ ( $flags & FileRepo::TIME_ONLY ) ? $file->getTimestamp() : $file;
unset( $searchSet[$dbKey] );
}
}
$title = File::normalizeTitle( $dbKey );
$redir = $this->checkRedirect( $title ); // hopefully hits memcached
if ( $redir && $redir->getNamespace() == NS_FILE ) {
- $possFile = $this->newFile( $redir );
- if ( $possFile && $fileMatchesSearch( $possFile, $search ) ) {
- $possFile->redirectedFrom( $title->getDBkey() );
- $finalFiles[$dbKey] = $possFile;
+ $file = $this->newFile( $redir );
+ if ( $file && $fileMatchesSearch( $file, $search ) ) {
+ $file->redirectedFrom( $title->getDBkey() );
+ $finalFiles[$dbKey] =
+ ( $flags & FileRepo::TIME_ONLY ) ? $file->getTimestamp() : $file;
}
}
}
$this->limitTitle( $title, $pattern );
$this->getDateCond( $year, $month );
$this->mTagFilter = $tagFilter;
+
+ $this->mDb = wfGetDB( DB_SLAVE, 'logpager' );
}
public function getDefaultQuery() {
--- /dev/null
+<?php
+/**
+ * Special page which uses an HTMLForm to handle processing.
+ *
+ * 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
+ * @ingroup SpecialPage
+ */
+
+/**
+ * Special page which uses an HTMLForm to handle processing. This is mostly a
+ * clone of FormAction. More special pages should be built this way; maybe this could be
+ * a new structure for SpecialPages.
+ *
+ * @ingroup SpecialPage
+ */
+abstract class FormSpecialPage extends SpecialPage {
+ /**
+ * The sub-page of the special page.
+ * @var string
+ */
+ protected $par = null;
+
+ /**
+ * Get an HTMLForm descriptor array
+ * @return Array
+ */
+ abstract protected function getFormFields();
+
+ /**
+ * Add pre-text to the form
+ * @return String HTML which will be sent to $form->addPreText()
+ */
+ protected function preText() {
+ return '';
+ }
+
+ /**
+ * Add post-text to the form
+ * @return String HTML which will be sent to $form->addPostText()
+ */
+ protected function postText() {
+ return '';
+ }
+
+ /**
+ * Play with the HTMLForm if you need to more substantially
+ * @param $form HTMLForm
+ */
+ protected function alterForm( HTMLForm $form ) {
+ }
+
+ /**
+ * Get message prefix for HTMLForm
+ *
+ * @since 1.21
+ * @return string
+ */
+ protected function getMessagePrefix() {
+ return strtolower( $this->getName() );
+ }
+
+ /**
+ * Get the HTMLForm to control behavior
+ * @return HTMLForm|null
+ */
+ protected function getForm() {
+ $this->fields = $this->getFormFields();
+
+ $form = new HTMLForm( $this->fields, $this->getContext(), $this->getMessagePrefix() );
+ $form->setSubmitCallback( array( $this, 'onSubmit' ) );
+ // If the form is a compact vertical form, then don't output this ugly
+ // fieldset surrounding it.
+ // XXX Special pages can setDisplayFormat to 'vform' in alterForm(), but that
+ // is called after this.
+ if ( !$form->isVForm() ) {
+ $form->setWrapperLegendMsg( $this->getMessagePrefix() . '-legend' );
+ }
+
+ $headerMsg = $this->msg( $this->getMessagePrefix() . '-text' );
+ if ( !$headerMsg->isDisabled() ) {
+ $form->addHeaderText( $headerMsg->parseAsBlock() );
+ }
+
+ // Retain query parameters (uselang etc)
+ $params = array_diff_key(
+ $this->getRequest()->getQueryValues(), array( 'title' => null ) );
+ $form->addHiddenField( 'redirectparams', wfArrayToCgi( $params ) );
+
+ $form->addPreText( $this->preText() );
+ $form->addPostText( $this->postText() );
+ $this->alterForm( $form );
+
+ // Give hooks a chance to alter the form, adding extra fields or text etc
+ wfRunHooks( "Special{$this->getName()}BeforeFormDisplay", array( &$form ) );
+
+ return $form;
+ }
+
+ /**
+ * Process the form on POST submission.
+ * @param $data Array
+ * @return Bool|Array true for success, false for didn't-try, array of errors on failure
+ */
+ abstract public function onSubmit( array $data );
+
+ /**
+ * Do something exciting on successful processing of the form, most likely to show a
+ * confirmation message
+ * @since 1.22 Default is to do nothing
+ */
+ public function onSuccess() {
+ }
+
+ /**
+ * Basic SpecialPage workflow: get a form, send it to the user; get some data back,
+ *
+ * @param string $par Subpage string if one was specified
+ */
+ public function execute( $par ) {
+ $this->setParameter( $par );
+ $this->setHeaders();
+
+ // This will throw exceptions if there's a problem
+ $this->checkExecutePermissions( $this->getUser() );
+
+ $form = $this->getForm();
+ if ( $form->show() ) {
+ $this->onSuccess();
+ }
+ }
+
+ /**
+ * Maybe do something interesting with the subpage parameter
+ * @param string $par
+ */
+ protected function setParameter( $par ) {
+ $this->par = $par;
+ }
+
+ /**
+ * Called from execute() to check if the given user can perform this action.
+ * Failures here must throw subclasses of ErrorPageError.
+ * @param $user User
+ * @throws UserBlockedError
+ * @return Bool true
+ */
+ protected function checkExecutePermissions( User $user ) {
+ $this->checkPermissions();
+
+ if ( $this->requiresUnblock() && $user->isBlocked() ) {
+ $block = $user->getBlock();
+ throw new UserBlockedError( $block );
+ }
+
+ if ( $this->requiresWrite() ) {
+ $this->checkReadOnly();
+ }
+
+ return true;
+ }
+
+ /**
+ * Whether this action requires the wiki not to be locked
+ * @return Bool
+ */
+ public function requiresWrite() {
+ return true;
+ }
+
+ /**
+ * Whether this action cannot be executed by a blocked user
+ * @return Bool
+ */
+ public function requiresUnblock() {
+ return true;
+ }
+}
--- /dev/null
+<?php
+/**
+ * Shortcut to construct an includable special page.
+ *
+ * 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
+ * @ingroup SpecialPage
+ */
+
+/**
+ * Shortcut to construct an includable special page.
+ *
+ * @ingroup SpecialPage
+ */
+class IncludableSpecialPage extends SpecialPage {
+ function __construct(
+ $name, $restriction = '', $listed = true, $function = false, $file = 'default'
+ ) {
+ parent::__construct( $name, $restriction, $listed, $function, $file, true );
+ }
+
+ public function isIncludable() {
+ return true;
+ }
+}
--- /dev/null
+<?php
+/**
+ * Shortcuts to construct a special page alias.
+ *
+ * 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
+ * @ingroup SpecialPage
+ */
+
+/**
+ * Shortcut to construct a special page alias.
+ *
+ * @ingroup SpecialPage
+ */
+abstract class RedirectSpecialPage extends UnlistedSpecialPage {
+
+ // Query parameters that can be passed through redirects
+ protected $mAllowedRedirectParams = array();
+
+ // Query parameters added by redirects
+ protected $mAddedRedirectParams = array();
+
+ public function execute( $par ) {
+ $redirect = $this->getRedirect( $par );
+ $query = $this->getRedirectQuery();
+ // Redirect to a page title with possible query parameters
+ if ( $redirect instanceof Title ) {
+ $url = $redirect->getFullURL( $query );
+ $this->getOutput()->redirect( $url );
+ return $redirect;
+ } elseif ( $redirect === true ) {
+ // Redirect to index.php with query parameters
+ $url = wfAppendQuery( wfScript( 'index' ), $query );
+ $this->getOutput()->redirect( $url );
+ return $redirect;
+ } else {
+ $class = get_class( $this );
+ throw new MWException( "RedirectSpecialPage $class doesn't redirect!" );
+ }
+ }
+
+ /**
+ * If the special page is a redirect, then get the Title object it redirects to.
+ * False otherwise.
+ *
+ * @param string $par Subpage string
+ * @return Title|bool
+ */
+ abstract public function getRedirect( $par );
+
+ /**
+ * Return part of the request string for a special redirect page
+ * This allows passing, e.g. action=history to Special:Mypage, etc.
+ *
+ * @return String
+ */
+ public function getRedirectQuery() {
+ $params = array();
+
+ foreach ( $this->mAllowedRedirectParams as $arg ) {
+ if ( $this->getRequest()->getVal( $arg, null ) !== null ) {
+ $params[$arg] = $this->getRequest()->getVal( $arg );
+ }
+ }
+
+ foreach ( $this->mAddedRedirectParams as $arg => $val ) {
+ $params[$arg] = $val;
+ }
+
+ return count( $params )
+ ? $params
+ : false;
+ }
+}
+
+/**
+ * @ingroup SpecialPage
+ */
+abstract class SpecialRedirectToSpecial extends RedirectSpecialPage {
+ // @todo FIXME: Visibility must be declared
+ var $redirName, $redirSubpage;
+
+ function __construct(
+ $name, $redirName, $redirSubpage = false,
+ $allowedRedirectParams = array(), $addedRedirectParams = array()
+ ) {
+ parent::__construct( $name );
+ $this->redirName = $redirName;
+ $this->redirSubpage = $redirSubpage;
+ $this->mAllowedRedirectParams = $allowedRedirectParams;
+ $this->mAddedRedirectParams = $addedRedirectParams;
+ }
+
+ public function getRedirect( $subpage ) {
+ if ( $this->redirSubpage === false ) {
+ return SpecialPage::getTitleFor( $this->redirName, $subpage );
+ } else {
+ return SpecialPage::getTitleFor( $this->redirName, $this->redirSubpage );
+ }
+ }
+}
+
+/**
+ * Superclass for any RedirectSpecialPage which redirects the user
+ * to a particular article (as opposed to user contributions, logs, etc.).
+ *
+ * For security reasons these special pages are restricted to pass on
+ * the following subset of GET parameters to the target page while
+ * removing all others:
+ *
+ * - useskin, uselang, printable: to alter the appearance of the resulting page
+ *
+ * - redirect: allows viewing one's user page or talk page even if it is a
+ * redirect.
+ *
+ * - rdfrom: allows redirecting to one's user page or talk page from an
+ * external wiki with the "Redirect from..." notice.
+ *
+ * - limit, offset: Useful for linking to history of one's own user page or
+ * user talk page. For example, this would be a link to "the last edit to your
+ * user talk page in the year 2010":
+ * http://en.wikipedia.org/wiki/Special:MyPage?offset=20110000000000&limit=1&action=history
+ *
+ * - feed: would allow linking to the current user's RSS feed for their user
+ * talk page:
+ * http://en.wikipedia.org/w/index.php?title=Special:MyTalk&action=history&feed=rss
+ *
+ * - preloadtitle: Can be used to provide a default section title for a
+ * preloaded new comment on one's own talk page.
+ *
+ * - summary : Can be used to provide a default edit summary for a preloaded
+ * edit to one's own user page or talk page.
+ *
+ * - preview: Allows showing/hiding preview on first edit regardless of user
+ * preference, useful for preloaded edits where you know preview wouldn't be
+ * useful.
+ *
+ * - internaledit, externaledit, mode: Allows forcing the use of the
+ * internal/external editor, e.g. to force the internal editor for
+ * short/simple preloaded edits.
+ *
+ * - redlink: Affects the message the user sees if their talk page/user talk
+ * page does not currently exist. Avoids confusion for newbies with no user
+ * pages over why they got a "permission error" following this link:
+ * http://en.wikipedia.org/w/index.php?title=Special:MyPage&redlink=1
+ *
+ * - debug: determines whether the debug parameter is passed to load.php,
+ * which disables reformatting and allows scripts to be debugged. Useful
+ * when debugging scripts that manipulate one's own user page or talk page.
+ *
+ * @par Hook extension:
+ * Extensions can add to the redirect parameters list by using the hook
+ * RedirectSpecialArticleRedirectParams
+ *
+ * This hook allows extensions which add GET parameters like FlaggedRevs to
+ * retain those parameters when redirecting using special pages.
+ *
+ * @par Hook extension example:
+ * @code
+ * $wgHooks['RedirectSpecialArticleRedirectParams'][] =
+ * 'MyExtensionHooks::onRedirectSpecialArticleRedirectParams';
+ * public static function onRedirectSpecialArticleRedirectParams( &$redirectParams ) {
+ * $redirectParams[] = 'stable';
+ * return true;
+ * }
+ * @endcode
+ *
+ * @ingroup SpecialPage
+ */
+abstract class RedirectSpecialArticle extends RedirectSpecialPage {
+ function __construct( $name ) {
+ parent::__construct( $name );
+ $redirectParams = array(
+ 'action',
+ 'redirect', 'rdfrom',
+ # Options for preloaded edits
+ 'preload', 'editintro', 'preloadtitle', 'summary', 'nosummary',
+ # Options for overriding user settings
+ 'preview', 'internaledit', 'externaledit', 'mode', 'minor', 'watchthis',
+ # Options for history/diffs
+ 'section', 'oldid', 'diff', 'dir',
+ 'limit', 'offset', 'feed',
+ # Misc options
+ 'redlink', 'debug',
+ # Options for action=raw; missing ctype can break JS or CSS in some browsers
+ 'ctype', 'maxage', 'smaxage',
+ );
+
+ wfRunHooks( "RedirectSpecialArticleRedirectParams", array( &$redirectParams ) );
+ $this->mAllowedRedirectParams = $redirectParams;
+ }
+}
--- /dev/null
+<?php
+/**
+ * Parent class for all special pages.
+ *
+ * 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
+ * @ingroup SpecialPage
+ */
+
+/**
+ * Parent class for all special pages.
+ *
+ * Includes some static functions for handling the special page list deprecated
+ * in favor of SpecialPageFactory.
+ *
+ * @ingroup SpecialPage
+ */
+class SpecialPage {
+ // The canonical name of this special page
+ // Also used for the default <h1> heading, @see getDescription()
+ protected $mName;
+
+ // The local name of this special page
+ private $mLocalName;
+
+ // Minimum user level required to access this page, or "" for anyone.
+ // Also used to categorise the pages in Special:Specialpages
+ private $mRestriction;
+
+ // Listed in Special:Specialpages?
+ private $mListed;
+
+ // Function name called by the default execute()
+ private $mFunction;
+
+ // File which needs to be included before the function above can be called
+ private $mFile;
+
+ // Whether or not this special page is being included from an article
+ protected $mIncluding;
+
+ // Whether the special page can be included in an article
+ protected $mIncludable;
+
+ /**
+ * Current request context
+ * @var IContextSource
+ */
+ protected $mContext;
+
+ /**
+ * Initialise the special page list
+ * This must be called before accessing SpecialPage::$mList
+ * @deprecated since 1.18
+ */
+ static function initList() {
+ wfDeprecated( __METHOD__, '1.18' );
+ // Noop
+ }
+
+ /**
+ * @deprecated since 1.18
+ */
+ static function initAliasList() {
+ wfDeprecated( __METHOD__, '1.18' );
+ // Noop
+ }
+
+ /**
+ * Given a special page alias, return the special page name.
+ * Returns false if there is no such alias.
+ *
+ * @param $alias String
+ * @return String or false
+ * @deprecated since 1.18 call SpecialPageFactory method directly
+ */
+ static function resolveAlias( $alias ) {
+ wfDeprecated( __METHOD__, '1.18' );
+ list( $name, /*...*/ ) = SpecialPageFactory::resolveAlias( $alias );
+ return $name;
+ }
+
+ /**
+ * Given a special page name with a possible subpage, return an array
+ * where the first element is the special page name and the second is the
+ * subpage.
+ *
+ * @param $alias String
+ * @return Array
+ * @deprecated since 1.18 call SpecialPageFactory method directly
+ */
+ static function resolveAliasWithSubpage( $alias ) {
+ return SpecialPageFactory::resolveAlias( $alias );
+ }
+
+ /**
+ * Add a page to a certain display group for Special:SpecialPages
+ *
+ * @param $page Mixed: SpecialPage or string
+ * @param $group String
+ * @deprecated since 1.18 call SpecialPageFactory method directly
+ */
+ static function setGroup( $page, $group ) {
+ wfDeprecated( __METHOD__, '1.18' );
+ SpecialPageFactory::setGroup( $page, $group );
+ }
+
+ /**
+ * Get the group that the special page belongs in on Special:SpecialPage
+ *
+ * @param $page SpecialPage
+ * @return string
+ * @deprecated since 1.18 call SpecialPageFactory method directly
+ */
+ static function getGroup( &$page ) {
+ wfDeprecated( __METHOD__, '1.18' );
+ return SpecialPageFactory::getGroup( $page );
+ }
+
+ /**
+ * Remove a special page from the list
+ * Formerly used to disable expensive or dangerous special pages. The
+ * preferred method is now to add a SpecialPage_initList hook.
+ * @deprecated since 1.18
+ *
+ * @param string $name the page to remove
+ */
+ static function removePage( $name ) {
+ wfDeprecated( __METHOD__, '1.18' );
+ unset( SpecialPageFactory::getList()->$name );
+ }
+
+ /**
+ * Check if a given name exist as a special page or as a special page alias
+ *
+ * @param string $name name of a special page
+ * @return Boolean: true if a special page exists with this name
+ * @deprecated since 1.18 call SpecialPageFactory method directly
+ */
+ static function exists( $name ) {
+ wfDeprecated( __METHOD__, '1.18' );
+ return SpecialPageFactory::exists( $name );
+ }
+
+ /**
+ * Find the object with a given name and return it (or NULL)
+ *
+ * @param $name String
+ * @return SpecialPage object or null if the page doesn't exist
+ * @deprecated since 1.18 call SpecialPageFactory method directly
+ */
+ static function getPage( $name ) {
+ wfDeprecated( __METHOD__, '1.18' );
+ return SpecialPageFactory::getPage( $name );
+ }
+
+ /**
+ * Get a special page with a given localised name, or NULL if there
+ * is no such special page.
+ *
+ * @param $alias String
+ * @return SpecialPage object or null if the page doesn't exist
+ * @deprecated since 1.18 call SpecialPageFactory method directly
+ */
+ static function getPageByAlias( $alias ) {
+ wfDeprecated( __METHOD__, '1.18' );
+ return SpecialPageFactory::getPage( $alias );
+ }
+
+ /**
+ * Return categorised listable special pages which are available
+ * for the current user, and everyone.
+ *
+ * @param $user User object to check permissions, $wgUser will be used
+ * if not provided
+ * @return array Associative array mapping page's name to its SpecialPage object
+ * @deprecated since 1.18 call SpecialPageFactory method directly
+ */
+ static function getUsablePages( User $user = null ) {
+ wfDeprecated( __METHOD__, '1.18' );
+ return SpecialPageFactory::getUsablePages( $user );
+ }
+
+ /**
+ * Return categorised listable special pages for all users
+ *
+ * @return array Associative array mapping page's name to its SpecialPage object
+ * @deprecated since 1.18 call SpecialPageFactory method directly
+ */
+ static function getRegularPages() {
+ wfDeprecated( __METHOD__, '1.18' );
+ return SpecialPageFactory::getRegularPages();
+ }
+
+ /**
+ * Return categorised listable special pages which are available
+ * for the current user, but not for everyone
+ *
+ * @return array Associative array mapping page's name to its SpecialPage object
+ * @deprecated since 1.18 call SpecialPageFactory method directly
+ */
+ static function getRestrictedPages() {
+ wfDeprecated( __METHOD__, '1.18' );
+ return SpecialPageFactory::getRestrictedPages();
+ }
+
+ /**
+ * Execute a special page path.
+ * The path may contain parameters, e.g. Special:Name/Params
+ * Extracts the special page name and call the execute method, passing the parameters
+ *
+ * Returns a title object if the page is redirected, false if there was no such special
+ * page, and true if it was successful.
+ *
+ * @param $title Title object
+ * @param $context IContextSource
+ * @param $including Bool output is being captured for use in {{special:whatever}}
+ * @return Bool
+ * @deprecated since 1.18 call SpecialPageFactory method directly
+ */
+ public static function executePath( &$title, IContextSource &$context, $including = false ) {
+ wfDeprecated( __METHOD__, '1.18' );
+ return SpecialPageFactory::executePath( $title, $context, $including );
+ }
+
+ /**
+ * Get the local name for a specified canonical name
+ *
+ * @param $name String
+ * @param $subpage Mixed: boolean false, or string
+ *
+ * @return String
+ * @deprecated since 1.18 call SpecialPageFactory method directly
+ */
+ static function getLocalNameFor( $name, $subpage = false ) {
+ wfDeprecated( __METHOD__, '1.18' );
+ return SpecialPageFactory::getLocalNameFor( $name, $subpage );
+ }
+
+ /**
+ * Get a localised Title object for a specified special page name
+ *
+ * @param $name String
+ * @param string|Bool $subpage subpage string, or false to not use a subpage
+ * @param string $fragment the link fragment (after the "#")
+ * @throws MWException
+ * @return Title object
+ */
+ public static function getTitleFor( $name, $subpage = false, $fragment = '' ) {
+ $name = SpecialPageFactory::getLocalNameFor( $name, $subpage );
+ return Title::makeTitle( NS_SPECIAL, $name, $fragment );
+ }
+
+ /**
+ * Get a localised Title object for a page name with a possibly unvalidated subpage
+ *
+ * @param $name String
+ * @param string|Bool $subpage subpage string, or false to not use a subpage
+ * @return Title object or null if the page doesn't exist
+ */
+ public static function getSafeTitleFor( $name, $subpage = false ) {
+ $name = SpecialPageFactory::getLocalNameFor( $name, $subpage );
+ if ( $name ) {
+ return Title::makeTitleSafe( NS_SPECIAL, $name );
+ } else {
+ return null;
+ }
+ }
+
+ /**
+ * Get a title for a given alias
+ *
+ * @param $alias String
+ * @return Title or null if there is no such alias
+ * @deprecated since 1.18 call SpecialPageFactory method directly
+ */
+ static function getTitleForAlias( $alias ) {
+ wfDeprecated( __METHOD__, '1.18' );
+ return SpecialPageFactory::getTitleForAlias( $alias );
+ }
+
+ /**
+ * Default constructor for special pages
+ * Derivative classes should call this from their constructor
+ * Note that if the user does not have the required level, an error message will
+ * be displayed by the default execute() method, without the global function ever
+ * being called.
+ *
+ * If you override execute(), you can recover the default behavior with userCanExecute()
+ * and displayRestrictionError()
+ *
+ * @param string $name Name of the special page, as seen in links and URLs
+ * @param string $restriction User right required, e.g. "block" or "delete"
+ * @param bool $listed Whether the page is listed in Special:Specialpages
+ * @param Callback|Bool $function Function called by execute(). By default
+ * it is constructed from $name
+ * @param string $file File which is included by execute(). It is also
+ * constructed from $name by default
+ * @param bool $includable Whether the page can be included in normal pages
+ */
+ public function __construct(
+ $name = '', $restriction = '', $listed = true,
+ $function = false, $file = 'default', $includable = false
+ ) {
+ $this->init( $name, $restriction, $listed, $function, $file, $includable );
+ }
+
+ /**
+ * Do the real work for the constructor, mainly so __call() can intercept
+ * calls to SpecialPage()
+ * @param string $name Name of the special page, as seen in links and URLs
+ * @param string $restriction User right required, e.g. "block" or "delete"
+ * @param bool $listed Whether the page is listed in Special:Specialpages
+ * @param Callback|Bool $function Function called by execute(). By default
+ * it is constructed from $name
+ * @param string $file File which is included by execute(). It is also
+ * constructed from $name by default
+ * @param bool $includable Whether the page can be included in normal pages
+ */
+ private function init( $name, $restriction, $listed, $function, $file, $includable ) {
+ $this->mName = $name;
+ $this->mRestriction = $restriction;
+ $this->mListed = $listed;
+ $this->mIncludable = $includable;
+ if ( !$function ) {
+ $this->mFunction = 'wfSpecial' . $name;
+ } else {
+ $this->mFunction = $function;
+ }
+ if ( $file === 'default' ) {
+ $this->mFile = __DIR__ . "/specials/Special$name.php";
+ } else {
+ $this->mFile = $file;
+ }
+ }
+
+ /**
+ * Use PHP's magic __call handler to get calls to the old PHP4 constructor
+ * because PHP E_STRICT yells at you for having __construct() and SpecialPage()
+ *
+ * @param string $fName Name of called method
+ * @param array $a Arguments to the method
+ * @throws MWException
+ * @deprecated since 1.17, call parent::__construct()
+ */
+ public function __call( $fName, $a ) {
+ // Deprecated messages now, remove in 1.19 or 1.20?
+ wfDeprecated( __METHOD__, '1.17' );
+
+ // Sometimes $fName is SpecialPage, sometimes it's specialpage. <3 PHP
+ if ( strtolower( $fName ) == 'specialpage' ) {
+ $name = isset( $a[0] ) ? $a[0] : '';
+ $restriction = isset( $a[1] ) ? $a[1] : '';
+ $listed = isset( $a[2] ) ? $a[2] : true;
+ $function = isset( $a[3] ) ? $a[3] : false;
+ $file = isset( $a[4] ) ? $a[4] : 'default';
+ $includable = isset( $a[5] ) ? $a[5] : false;
+ $this->init( $name, $restriction, $listed, $function, $file, $includable );
+ } else {
+ $className = get_class( $this );
+ throw new MWException( "Call to undefined method $className::$fName" );
+ }
+ }
+
+ /**
+ * Get the name of this Special Page.
+ * @return String
+ */
+ function getName() {
+ return $this->mName;
+ }
+
+ /**
+ * Get the permission that a user must have to execute this page
+ * @return String
+ */
+ function getRestriction() {
+ return $this->mRestriction;
+ }
+
+ /**
+ * Get the file which will be included by SpecialPage::execute() if your extension is
+ * still stuck in the past and hasn't overridden the execute() method. No modern code
+ * should want or need to know this.
+ * @return String
+ * @deprecated since 1.18
+ */
+ function getFile() {
+ wfDeprecated( __METHOD__, '1.18' );
+ return $this->mFile;
+ }
+
+ // @todo FIXME: Decide which syntax to use for this, and stick to it
+ /**
+ * Whether this special page is listed in Special:SpecialPages
+ * @since r3583 (v1.3)
+ * @return Bool
+ */
+ function isListed() {
+ return $this->mListed;
+ }
+ /**
+ * Set whether this page is listed in Special:Specialpages, at run-time
+ * @since r3583 (v1.3)
+ * @param $listed Bool
+ * @return Bool
+ */
+ function setListed( $listed ) {
+ return wfSetVar( $this->mListed, $listed );
+ }
+ /**
+ * Get or set whether this special page is listed in Special:SpecialPages
+ * @since r11308 (v1.6)
+ * @param $x Bool
+ * @return Bool
+ */
+ function listed( $x = null ) {
+ return wfSetVar( $this->mListed, $x );
+ }
+
+ /**
+ * Whether it's allowed to transclude the special page via {{Special:Foo/params}}
+ * @return Bool
+ */
+ public function isIncludable() {
+ return $this->mIncludable;
+ }
+
+ /**
+ * These mutators are very evil, as the relevant variables should not mutate. So
+ * don't use them.
+ * @param $x Mixed
+ * @return Mixed
+ * @deprecated since 1.18
+ */
+ function name( $x = null ) {
+ wfDeprecated( __METHOD__, '1.18' );
+ return wfSetVar( $this->mName, $x );
+ }
+
+ /**
+ * These mutators are very evil, as the relevant variables should not mutate. So
+ * don't use them.
+ * @param $x Mixed
+ * @return Mixed
+ * @deprecated since 1.18
+ */
+ function restriction( $x = null ) {
+ wfDeprecated( __METHOD__, '1.18' );
+ return wfSetVar( $this->mRestriction, $x );
+ }
+
+ /**
+ * These mutators are very evil, as the relevant variables should not mutate. So
+ * don't use them.
+ * @param $x Mixed
+ * @return Mixed
+ * @deprecated since 1.18
+ */
+ function func( $x = null ) {
+ wfDeprecated( __METHOD__, '1.18' );
+ return wfSetVar( $this->mFunction, $x );
+ }
+
+ /**
+ * These mutators are very evil, as the relevant variables should not mutate. So
+ * don't use them.
+ * @param $x Mixed
+ * @return Mixed
+ * @deprecated since 1.18
+ */
+ function file( $x = null ) {
+ wfDeprecated( __METHOD__, '1.18' );
+ return wfSetVar( $this->mFile, $x );
+ }
+
+ /**
+ * These mutators are very evil, as the relevant variables should not mutate. So
+ * don't use them.
+ * @param $x Mixed
+ * @return Mixed
+ * @deprecated since 1.18
+ */
+ function includable( $x = null ) {
+ wfDeprecated( __METHOD__, '1.18' );
+ return wfSetVar( $this->mIncludable, $x );
+ }
+
+ /**
+ * Whether the special page is being evaluated via transclusion
+ * @param $x Bool
+ * @return Bool
+ */
+ function including( $x = null ) {
+ return wfSetVar( $this->mIncluding, $x );
+ }
+
+ /**
+ * Get the localised name of the special page
+ */
+ function getLocalName() {
+ if ( !isset( $this->mLocalName ) ) {
+ $this->mLocalName = SpecialPageFactory::getLocalNameFor( $this->mName );
+ }
+ return $this->mLocalName;
+ }
+
+ /**
+ * Is this page expensive (for some definition of expensive)?
+ * Expensive pages are disabled or cached in miser mode. Originally used
+ * (and still overridden) by QueryPage and subclasses, moved here so that
+ * Special:SpecialPages can safely call it for all special pages.
+ *
+ * @return Boolean
+ */
+ public function isExpensive() {
+ return false;
+ }
+
+ /**
+ * Is this page cached?
+ * Expensive pages are cached or disabled in miser mode.
+ * Used by QueryPage and subclasses, moved here so that
+ * Special:SpecialPages can safely call it for all special pages.
+ *
+ * @return Boolean
+ * @since 1.21
+ */
+ public function isCached() {
+ return false;
+ }
+
+ /**
+ * Can be overridden by subclasses with more complicated permissions
+ * schemes.
+ *
+ * @return Boolean: should the page be displayed with the restricted-access
+ * pages?
+ */
+ public function isRestricted() {
+ // DWIM: If anons can do something, then it is not restricted
+ return $this->mRestriction != '' && !User::groupHasPermission( '*', $this->mRestriction );
+ }
+
+ /**
+ * Checks if the given user (identified by an object) can execute this
+ * special page (as defined by $mRestriction). Can be overridden by sub-
+ * classes with more complicated permissions schemes.
+ *
+ * @param $user User: the user to check
+ * @return Boolean: does the user have permission to view the page?
+ */
+ public function userCanExecute( User $user ) {
+ return $user->isAllowed( $this->mRestriction );
+ }
+
+ /**
+ * Output an error message telling the user what access level they have to have
+ */
+ function displayRestrictionError() {
+ throw new PermissionsError( $this->mRestriction );
+ }
+
+ /**
+ * Checks if userCanExecute, and if not throws a PermissionsError
+ *
+ * @since 1.19
+ */
+ public function checkPermissions() {
+ if ( !$this->userCanExecute( $this->getUser() ) ) {
+ $this->displayRestrictionError();
+ }
+ }
+
+ /**
+ * If the wiki is currently in readonly mode, throws a ReadOnlyError
+ *
+ * @since 1.19
+ * @throws ReadOnlyError
+ */
+ public function checkReadOnly() {
+ if ( wfReadOnly() ) {
+ throw new ReadOnlyError;
+ }
+ }
+
+ /**
+ * If the user is not logged in, throws UserNotLoggedIn error.
+ *
+ * Default error message includes a link to Special:Userlogin with properly set 'returnto' query
+ * parameter.
+ *
+ * @since 1.23
+ * @param string|Message $reasonMsg [optional] Passed on to UserNotLoggedIn constructor. Strings
+ * will be used as message keys. If a string is given, the message will also receive a
+ * formatted login link (generated using the 'loginreqlink' message) as first parameter. If a
+ * Message is given, it will be passed on verbatim.
+ * @param string|Message $titleMsg [optional] Passed on to UserNotLoggedIn constructor. Strings
+ * will be used as message keys.
+ * @throws UserNotLoggedIn
+ */
+ public function requireLogin( $reasonMsg = null, $titleMsg = null ) {
+ if ( $this->getUser()->isAnon() ) {
+ // Use default messages if not given or explicit null passed
+ if ( !$reasonMsg ) {
+ $reasonMsg = 'exception-nologin-text-manual';
+ }
+ if ( !$titleMsg ) {
+ $titleMsg = 'exception-nologin';
+ }
+
+ // Convert to Messages with current context
+ if ( is_string( $reasonMsg ) ) {
+ $loginreqlink = Linker::linkKnown(
+ SpecialPage::getTitleFor( 'Userlogin' ),
+ $this->msg( 'loginreqlink' )->escaped(),
+ array(),
+ array( 'returnto' => $this->getTitle()->getPrefixedText() )
+ );
+ $reasonMsg = $this->msg( $reasonMsg )->rawParams( $loginreqlink );
+ }
+ if ( is_string( $titleMsg ) ) {
+ $titleMsg = $this->msg( $titleMsg );
+ }
+
+ throw new UserNotLoggedIn( $reasonMsg, $titleMsg );
+ }
+ }
+
+ /**
+ * Sets headers - this should be called from the execute() method of all derived classes!
+ */
+ function setHeaders() {
+ $out = $this->getOutput();
+ $out->setArticleRelated( false );
+ $out->setRobotPolicy( "noindex,nofollow" );
+ $out->setPageTitle( $this->getDescription() );
+ }
+
+ /**
+ * Entry point.
+ *
+ * @since 1.20
+ *
+ * @param $subPage string|null
+ */
+ final public function run( $subPage ) {
+ /**
+ * Gets called before @see SpecialPage::execute.
+ *
+ * @since 1.20
+ *
+ * @param $special SpecialPage
+ * @param $subPage string|null
+ */
+ wfRunHooks( 'SpecialPageBeforeExecute', array( $this, $subPage ) );
+
+ $this->beforeExecute( $subPage );
+ $this->execute( $subPage );
+ $this->afterExecute( $subPage );
+
+ /**
+ * Gets called after @see SpecialPage::execute.
+ *
+ * @since 1.20
+ *
+ * @param $special SpecialPage
+ * @param $subPage string|null
+ */
+ wfRunHooks( 'SpecialPageAfterExecute', array( $this, $subPage ) );
+ }
+
+ /**
+ * Gets called before @see SpecialPage::execute.
+ *
+ * @since 1.20
+ *
+ * @param $subPage string|null
+ */
+ protected function beforeExecute( $subPage ) {
+ // No-op
+ }
+
+ /**
+ * Gets called after @see SpecialPage::execute.
+ *
+ * @since 1.20
+ *
+ * @param $subPage string|null
+ */
+ protected function afterExecute( $subPage ) {
+ // No-op
+ }
+
+ /**
+ * Default execute method
+ * Checks user permissions, calls the function given in mFunction
+ *
+ * This must be overridden by subclasses; it will be made abstract in a future version
+ *
+ * @param $subPage string|null
+ */
+ public function execute( $subPage ) {
+ $this->setHeaders();
+ $this->checkPermissions();
+
+ $func = $this->mFunction;
+ // only load file if the function does not exist
+ if ( !is_callable( $func ) && $this->mFile ) {
+ require_once $this->mFile;
+ }
+ $this->outputHeader();
+ call_user_func( $func, $subPage, $this );
+ }
+
+ /**
+ * Outputs a summary message on top of special pages
+ * Per default the message key is the canonical name of the special page
+ * May be overridden, i.e. by extensions to stick with the naming conventions
+ * for message keys: 'extensionname-xxx'
+ *
+ * @param string $summaryMessageKey message key of the summary
+ */
+ function outputHeader( $summaryMessageKey = '' ) {
+ global $wgContLang;
+
+ if ( $summaryMessageKey == '' ) {
+ $msg = $wgContLang->lc( $this->getName() ) . '-summary';
+ } else {
+ $msg = $summaryMessageKey;
+ }
+ if ( !$this->msg( $msg )->isDisabled() && !$this->including() ) {
+ $this->getOutput()->wrapWikiMsg(
+ "<div class='mw-specialpage-summary'>\n$1\n</div>", $msg );
+ }
+
+ }
+
+ /**
+ * Returns the name that goes in the \<h1\> in the special page itself, and
+ * also the name that will be listed in Special:Specialpages
+ *
+ * Derived classes can override this, but usually it is easier to keep the
+ * default behavior. Messages can be added at run-time, see
+ * MessageCache.php.
+ *
+ * @return String
+ */
+ function getDescription() {
+ return $this->msg( strtolower( $this->mName ) )->text();
+ }
+
+ /**
+ * Get a self-referential title object
+ *
+ * @param $subpage String|Bool
+ * @return Title object
+ */
+ function getTitle( $subpage = false ) {
+ return self::getTitleFor( $this->mName, $subpage );
+ }
+
+ /**
+ * Sets the context this SpecialPage is executed in
+ *
+ * @param $context IContextSource
+ * @since 1.18
+ */
+ public function setContext( $context ) {
+ $this->mContext = $context;
+ }
+
+ /**
+ * Gets the context this SpecialPage is executed in
+ *
+ * @return IContextSource|RequestContext
+ * @since 1.18
+ */
+ public function getContext() {
+ if ( $this->mContext instanceof IContextSource ) {
+ return $this->mContext;
+ } else {
+ wfDebug( __METHOD__ . " called and \$mContext is null. " .
+ "Return RequestContext::getMain(); for sanity\n" );
+ return RequestContext::getMain();
+ }
+ }
+
+ /**
+ * Get the WebRequest being used for this instance
+ *
+ * @return WebRequest
+ * @since 1.18
+ */
+ public function getRequest() {
+ return $this->getContext()->getRequest();
+ }
+
+ /**
+ * Get the OutputPage being used for this instance
+ *
+ * @return OutputPage
+ * @since 1.18
+ */
+ public function getOutput() {
+ return $this->getContext()->getOutput();
+ }
+
+ /**
+ * Shortcut to get the User executing this instance
+ *
+ * @return User
+ * @since 1.18
+ */
+ public function getUser() {
+ return $this->getContext()->getUser();
+ }
+
+ /**
+ * Shortcut to get the skin being used for this instance
+ *
+ * @return Skin
+ * @since 1.18
+ */
+ public function getSkin() {
+ return $this->getContext()->getSkin();
+ }
+
+ /**
+ * Shortcut to get user's language
+ *
+ * @deprecated since 1.19 Use getLanguage instead
+ * @return Language
+ * @since 1.18
+ */
+ public function getLang() {
+ wfDeprecated( __METHOD__, '1.19' );
+ return $this->getLanguage();
+ }
+
+ /**
+ * Shortcut to get user's language
+ *
+ * @return Language
+ * @since 1.19
+ */
+ public function getLanguage() {
+ return $this->getContext()->getLanguage();
+ }
+
+ /**
+ * Return the full title, including $par
+ *
+ * @return Title
+ * @since 1.18
+ */
+ public function getFullTitle() {
+ return $this->getContext()->getTitle();
+ }
+
+ /**
+ * Wrapper around wfMessage that sets the current context.
+ *
+ * @return Message
+ * @see wfMessage
+ */
+ public function msg( /* $args */ ) {
+ $message = call_user_func_array(
+ array( $this->getContext(), 'msg' ),
+ func_get_args()
+ );
+ // RequestContext passes context to wfMessage, and the language is set from
+ // the context, but setting the language for Message class removes the
+ // interface message status, which breaks for example usernameless gender
+ // invocations. Restore the flag when not including special page in content.
+ if ( $this->including() ) {
+ $message->setInterfaceMessageFlag( false );
+ }
+ return $message;
+ }
+
+ /**
+ * Adds RSS/atom links
+ *
+ * @param $params array
+ */
+ protected function addFeedLinks( $params ) {
+ global $wgFeedClasses;
+
+ $feedTemplate = wfScript( 'api' );
+
+ foreach ( $wgFeedClasses as $format => $class ) {
+ $theseParams = $params + array( 'feedformat' => $format );
+ $url = wfAppendQuery( $feedTemplate, $theseParams );
+ $this->getOutput()->addFeedLink( $format, $url );
+ }
+ }
+
+ /**
+ * Get the group that the special page belongs in on Special:SpecialPage
+ * Use this method, instead of getGroupName to allow customization
+ * of the group name from the wiki side
+ *
+ * @return string Group of this special page
+ * @since 1.21
+ */
+ public function getFinalGroupName() {
+ global $wgSpecialPageGroups;
+ $name = $this->getName();
+
+ // Allow overbidding the group from the wiki side
+ $msg = $this->msg( 'specialpages-specialpagegroup-' . strtolower( $name ) )->inContentLanguage();
+ if ( !$msg->isBlank() ) {
+ $group = $msg->text();
+ } else {
+ // Than use the group from this object
+ $group = $this->getGroupName();
+
+ // Group '-' is used as default to have the chance to determine,
+ // if the special pages overrides this method,
+ // if not overridden, $wgSpecialPageGroups is checked for b/c
+ if ( $group === '-' && isset( $wgSpecialPageGroups[$name] ) ) {
+ $group = $wgSpecialPageGroups[$name];
+ }
+ }
+
+ // never give '-' back, change to 'other'
+ if ( $group === '-' ) {
+ $group = 'other';
+ }
+
+ return $group;
+ }
+
+ /**
+ * Under which header this special page is listed in Special:SpecialPages
+ * See messages 'specialpages-group-*' for valid names
+ * This method defaults to group 'other'
+ *
+ * @return string
+ * @since 1.21
+ */
+ protected function getGroupName() {
+ // '-' used here to determine, if this group is overridden or has a hardcoded 'other'
+ // Needed for b/c in getFinalGroupName
+ return '-';
+ }
+}
--- /dev/null
+<?php
+/**
+ * Shortcut to construct a special page which is unlisted by default.
+ *
+ * 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
+ * @ingroup SpecialPage
+ */
+
+/**
+ * Shortcut to construct a special page which is unlisted by default.
+ *
+ * @ingroup SpecialPage
+ */
+class UnlistedSpecialPage extends SpecialPage {
+ function __construct( $name, $restriction = '', $function = false, $file = 'default' ) {
+ parent::__construct( $name, $restriction, false, $function, $file );
+ }
+
+ public function isListed() {
+ return false;
+ }
+}
--- /dev/null
+<?php
+/**
+ * Redirect page: Special:CreateAccount --> Special:UserLogin/signup.
+ *
+ * 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
+ * @ingroup SpecialPage
+ */
+
+/**
+ * Redirect page: Special:CreateAccount --> Special:UserLogin/signup.
+ * @todo FIXME: This (and the rest of the login frontend) needs to die a horrible painful death
+ *
+ * @ingroup SpecialPage
+ */
+
+class SpecialCreateAccount extends SpecialRedirectToSpecial {
+ function __construct() {
+ parent::__construct( 'CreateAccount', 'Userlogin', 'signup', array( 'returnto', 'returntoquery', 'uselang' ) );
+ }
+
+ // No reason to hide this link on Special:Specialpages
+ public function isListed() {
+ return true;
+ }
+
+ protected function getGroupName() {
+ return 'login';
+ }
+}
return 'users';
}
}
+
+/**
+ * Redirect page: Special:ListAdmins --> Special:ListUsers/sysop.
+ *
+ * @ingroup SpecialPage
+ */
+class SpecialListAdmins extends SpecialRedirectToSpecial {
+ function __construct() {
+ parent::__construct( 'Listadmins', 'Listusers', 'sysop' );
+ }
+}
+
+/**
+ * Redirect page: Special:ListBots --> Special:ListUsers/bot.
+ *
+ * @ingroup SpecialPage
+ */
+class SpecialListBots extends SpecialRedirectToSpecial {
+ function __construct() {
+ parent::__construct( 'Listbots', 'Listusers', 'bot' );
+ }
+}
--- /dev/null
+<?php
+/**
+ * Special pages that are used to get user independent links pointing to
+ * current user's pages (user page, talk page, contributions, etc.).
+ * This can let us cache a single copy of some generated content for all
+ * users or be linked in wikitext help pages.
+ *
+ * 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
+ * @ingroup SpecialPage
+ */
+
+/**
+ * Special page pointing to current user's user page.
+ *
+ * @ingroup SpecialPage
+ */
+class SpecialMypage extends RedirectSpecialArticle {
+ function __construct() {
+ parent::__construct( 'Mypage' );
+ }
+
+ function getRedirect( $subpage ) {
+ if ( strval( $subpage ) !== '' ) {
+ return Title::makeTitle( NS_USER, $this->getUser()->getName() . '/' . $subpage );
+ } else {
+ return Title::makeTitle( NS_USER, $this->getUser()->getName() );
+ }
+ }
+}
+
+/**
+ * Special page pointing to current user's talk page.
+ *
+ * @ingroup SpecialPage
+ */
+class SpecialMytalk extends RedirectSpecialArticle {
+ function __construct() {
+ parent::__construct( 'Mytalk' );
+ }
+
+ function getRedirect( $subpage ) {
+ if ( strval( $subpage ) !== '' ) {
+ return Title::makeTitle( NS_USER_TALK, $this->getUser()->getName() . '/' . $subpage );
+ } else {
+ return Title::makeTitle( NS_USER_TALK, $this->getUser()->getName() );
+ }
+ }
+}
+
+/**
+ * Special page pointing to current user's contributions.
+ *
+ * @ingroup SpecialPage
+ */
+class SpecialMycontributions extends RedirectSpecialPage {
+ function __construct() {
+ parent::__construct( 'Mycontributions' );
+ $this->mAllowedRedirectParams = array( 'limit', 'namespace', 'tagfilter',
+ 'offset', 'dir', 'year', 'month', 'feed' );
+ }
+
+ function getRedirect( $subpage ) {
+ return SpecialPage::getTitleFor( 'Contributions', $this->getUser()->getName() );
+ }
+}
+
+/**
+ * Special page pointing to current user's uploaded files.
+ *
+ * @ingroup SpecialPage
+ */
+class SpecialMyuploads extends RedirectSpecialPage {
+ function __construct() {
+ parent::__construct( 'Myuploads' );
+ $this->mAllowedRedirectParams = array( 'limit', 'ilshowall', 'ilsearch' );
+ }
+
+ function getRedirect( $subpage ) {
+ return SpecialPage::getTitleFor( 'Listfiles', $this->getUser()->getName() );
+ }
+}
+
+/**
+ * Special page pointing to current user's uploaded files (including old versions).
+ *
+ * @ingroup SpecialPage
+ */
+class SpecialAllMyUploads extends RedirectSpecialPage {
+ function __construct() {
+ parent::__construct( 'AllMyUploads' );
+ $this->mAllowedRedirectParams = array( 'limit', 'ilsearch' );
+ }
+
+ function getRedirect( $subpage ) {
+ $this->mAddedRedirectParams['ilshowall'] = 1;
+ return SpecialPage::getTitleFor( 'Listfiles', $this->getUser()->getName() );
+ }
+}
$username = $this->opts->getValue( 'username' );
$user = Title::makeTitleSafe( NS_USER, $username );
+ $rcIndexes = array();
+
if ( $namespace !== false ) {
if ( $this->opts->getValue( 'invert' ) ) {
$conds[] = 'rc_namespace != ' . $this->mDb->addQuotes( $namespace );
} else {
$conds['rc_namespace'] = $namespace;
}
- $rcIndexes = array( 'new_name_timestamp' );
- } else {
- $rcIndexes = array( 'rc_timestamp' );
}
# $wgEnableNewpagesUserFilter - temp WMF hack
wfRunHooks( 'SpecialNewpagesConditions',
array( &$this, $this->opts, &$conds, &$tables, &$fields, &$join_conds ) );
+ $options = array();
+
+ if ( $rcIndexes ) {
+ $options = array( 'USE INDEX' => array( 'recentchanges' => $rcIndexes ) );
+ }
+
$info = array(
'tables' => $tables,
'fields' => $fields,
'conds' => $conds,
- 'options' => array( 'USE INDEX' => array( 'recentchanges' => $rcIndexes ) ),
+ 'options' => $options,
'join_conds' => $join_conds
);
--- /dev/null
+<?php
+/**
+ * Redirect from Special:PermanentLink/### to index.php?oldid=###.
+ *
+ * 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
+ * @ingroup SpecialPage
+ */
+
+/**
+ * Redirect from Special:PermanentLink/### to index.php?oldid=###.
+ *
+ * @ingroup SpecialPage
+ */
+class SpecialPermanentLink extends RedirectSpecialPage {
+ function __construct() {
+ parent::__construct( 'PermanentLink' );
+ $this->mAllowedRedirectParams = array();
+ }
+
+ function getRedirect( $subpage ) {
+ $subpage = intval( $subpage );
+ if ( $subpage === 0 ) {
+ # throw an error page when no subpage was given
+ throw new ErrorPageError( 'nopagetitle', 'nopagetext' );
+ }
+ $this->mAddedRedirectParams['oldid'] = $subpage;
+ return true;
+ }
+}
public function doMainQuery( $conds, $opts ) {
$tables = array( 'recentchanges' );
$join_conds = array();
- $query_options = array(
- 'USE INDEX' => array( 'recentchanges' => 'rc_timestamp' )
- );
+ $query_options = array();
$uid = $this->getUser()->getId();
$dbr = wfGetDB( DB_SLAVE );
'tog-minordefault' => 'Bôh tanda mandum neuandam sibagoe neuandam bacut ngön baku',
'tog-previewontop' => 'Peuleumah hasé yôh goh plôk andam',
'tog-previewonfirst' => 'Peuleumah hasé bak neuandam phôn',
-'tog-nocache' => 'Pumaté pumeugöt beun laman peuramban nyoe',
'tog-enotifwatchlistpages' => "Peu'ék surat-e keu lôn meunyo saboh halaman nyang lôn kalon meuubah",
'tog-enotifusertalkpages' => "Peu'ek keu lôn surat-e meunyo ôn marit lôn meuubah",
'tog-enotifminoredits' => "Peu'ék cit surat-e keu lôn bak neuubah ubit",
'tog-minordefault' => 'علم كل التعديلات طفيفة افتراضيا',
'tog-previewontop' => 'أظهر العرض المسبق قبل صندوق التحرير',
'tog-previewonfirst' => 'أظهر معاينة مع أول تعديل',
-'tog-nocache' => 'عطّل تخزين المتصفح للصفحة',
'tog-enotifwatchlistpages' => 'أرسل لي رسالة إلكترونية عندما تُغيّر صفحة أو ملف في قائمة مراقبتي',
'tog-enotifusertalkpages' => 'أرسل لي رسالة إلكترونية عندما تعدل صفحة نقاشي',
'tog-enotifminoredits' => 'أرسل لي رسالة إلكترونية عن التعديلات الطفيفة للصفحات والملفات أيضا',
'tog-minordefault' => 'Merk alle wysigings automaties as klein by verstek.',
'tog-previewontop' => 'Wys voorskou bo wysigingsboks.',
'tog-previewonfirst' => 'Wys voorskou met eerste wysiging',
-'tog-nocache' => 'Deaktiveer blaaier se bladsykas',
'tog-enotifwatchlistpages' => "Stuur my e-pos as 'n bladsye of lêer op my dophoulys verander",
'tog-enotifusertalkpages' => 'Stuur vir my e-pos as my eie besprekingsblad verander word',
'tog-enotifminoredits' => 'Stuur ook e-pos vir klein wysigings aan bladsye en lêers',
'tog-minordefault' => 'Shêjoji fillimisht tâna redaktimet si të vogla',
'tog-previewontop' => 'Vendose parapamjen përpara kutisë redaktuese',
'tog-previewonfirst' => 'Shfaqe parapamjen në redaktimin e parë',
-'tog-nocache' => 'Mos ruej kopje të faqeve',
'tog-enotifwatchlistpages' => 'Njoftomë me email, kur ndryshojnë faqet e mbikëqyruna',
'tog-enotifusertalkpages' => 'Njoftomë me email kur ndryshon faqja ime e diskutimit',
'tog-enotifminoredits' => 'Njoftomë me email për redaktime të vogla të faqeve',
'tog-minordefault' => 'ሁሉም እርማቶች በቀዳሚነት አነስተኛ ይባሉ',
'tog-previewontop' => 'ከማረሚያው ሳጥን በፊት ቅድመ-ዕይታ አሳይ',
'tog-previewonfirst' => 'በመጀመሪያ እርማት ቅድመ-ዕይታ ይታይ',
-'tog-nocache' => 'ገጾችን በብራውዘር መቆጠብን (cache) አታስችል',
'tog-enotifwatchlistpages' => 'የምከታተለው ገጽ ወይም ፋይል ሲቀየር ኢ-ሜይል ይላክልኝ',
'tog-enotifusertalkpages' => 'የተጠቃሚ መወያያ ገጼ ሲቀየር ኢ-ሜይል ይላክልኝ',
'tog-enotifminoredits' => 'ለአነስተኛ የገጽ እርማቶችም ኢ-ሜይል ይላክልኝ',
'tog-minordefault' => 'Sinyalar por defecto totas as edicions como menors',
'tog-previewontop' => "Amostrar l'anvista previa antes d'o quatrón d'edición",
'tog-previewonfirst' => "Amostrar l'anvista previa de l'articlo en a primera edición",
-'tog-nocache' => "Desactivar a ''caché'' d'o navegador",
'tog-enotifwatchlistpages' => 'Recibir un correu quan se faigan cambios en una pachina cosirata por yo',
'tog-enotifusertalkpages' => 'Ninviar-me un correu quan cambee a mía pachina de descusión',
'tog-enotifminoredits' => 'Ninviar-me un correu tamién quan bi haiga edicions menors de pachinas',
'tog-minordefault' => 'Mearcian ealla adihtunga lytela tō gewunan',
'tog-previewontop' => 'Īwan fōrebysene ofer adihtunge mearce',
'tog-previewonfirst' => 'Īwan fōrebysene on forman adihtunge',
-'tog-nocache' => 'Nā þafian þætte webbsēcend sette trametas on horde',
'tog-enotifwatchlistpages' => 'Sendan mē spearcǣrend þǣr tramet oþþe ymele on mīnum behealdungtæle sīe andwended.',
'tog-enotifusertalkpages' => 'Sendan mē spearcǣrend þǣr mīnes brūcendtrametes mōtung sī andwended',
'tog-enotifminoredits' => 'Sendan mē spearcǣrend þǣr trametas oþþe ymelan sīen efne lyt andwended.',
'tog-minordefault' => 'أشِّر كل التعديلات على أنها طفيفة مبدئيا',
'tog-previewontop' => 'أظهر معاينة النص فوق صندوق التحرير',
'tog-previewonfirst' => 'أظهر معاينة مع أول تعديل',
-'tog-nocache' => 'تعطيل حفظ المتصفح للكاش',
'tog-enotifwatchlistpages' => 'أرسل إلي رسالة إلكترونية عند تعديل صفحة أو ملف في قائمة مراقبتي',
'tog-enotifusertalkpages' => 'أرسل إلي رسالة إلكترونية عند تعديل صفحة نقاشي',
'tog-enotifminoredits' => 'أرسل إلي رسالة إلكترونية بشأن التعديلات الطفيفة للصفحات والملفات',
'tog-minordefault' => 'alm jmia tadilat tafifa iftiradiyan',
'tog-previewontop' => 'biyn laard lmosbaq qbl sndoq thrir',
'tog-previewonfirst' => 'Ůbiyn moaayana maa awal tadil',
-'tog-nocache' => 'attl takhzin lmotassafih lsfha',
'tog-enotifwatchlistpages' => 'sift liya barid electroni ila tbdlat chi sfha f qaaimat lmoraqaba diali',
'tog-enotifusertalkpages' => 'sift liya rissala electronia ila tbdlat sfht niqach dyali',
'tog-enotifminoredits' => 'sift liya risala electronia hta bnisba ltadilat tafifa',
'tog-minordefault' => 'علم على كل التعديلات كإنها صغيره فى الاساس',
'tog-previewontop' => 'بين الپروڤه قبل علبة التعديل',
'tog-previewonfirst' => 'بين البروفة عند أول تعديل',
-'tog-nocache' => 'عطّل تخزين البراوزر للصفحه',
'tog-enotifwatchlistpages' => '
ابعت لى ايميل لما تتغير صفحه فى لستة الصفحات اللى باراقبها',
'tog-enotifusertalkpages' => 'ابعتلى ايميل لما صفحة مناقشتى تتغيير',
'tog-minordefault' => 'সকলো সম্পাদনা অগুৰুত্বপূৰ্ণ বুলি নিজে নিজে চিহ্নিত কৰক',
'tog-previewontop' => 'সম্পাদনা বাকছৰ ওপৰত খচৰা দেখুৱাওক',
'tog-previewonfirst' => 'প্ৰথম সম্পাদনাৰ পিছত খচৰা দেখুৱাওক',
-'tog-nocache' => 'ব্ৰাউজাৰ পৃষ্ঠা কেশ্বিং নিষ্ক্ৰীয় কৰক',
'tog-enotifwatchlistpages' => 'মোৰ লক্ষ্য-তালিকাত থকা পৃষ্ঠা সলনি হলে মোলৈ ই-মেইল পঠাব',
'tog-enotifusertalkpages' => 'মোৰ বাৰ্তা পৃষ্ঠা সলনি হলে মোলৈ ই-মেইল পঠাব',
'tog-enotifminoredits' => "অগুৰুত্বপূৰ্ণ সম্পাদনা হ'লেও মোলৈ ই-মেইল পঠাব",
'tog-minordefault' => 'Marcar toles ediciones como menores de mou predetermináu',
'tog-previewontop' => "Amosar previsualización enantes del cuadru d'edición",
'tog-previewonfirst' => 'Amosar previsualización na primera edición',
-'tog-nocache' => 'Desactivar la caché de páxines del restolador',
'tog-enotifwatchlistpages' => 'Mandame un corréu cuando camude una páxina o ficheru de la mio llista de vixilancia',
'tog-enotifusertalkpages' => "Mandame un corréu cuando camude la mio páxina d'alderique",
'tog-enotifminoredits' => 'Mandame tamién un corréu cuando heba ediciones menores de les páxines y ficheros',
'tog-minordefault' => 'Jinaf betakseem omavon mezolonon zo torigid',
'tog-previewontop' => 'Abdinedira nediwer vamoe sutelaxo',
'tog-previewonfirst' => 'Nedira va abdinedira bal taneafa betara',
-'tog-nocache' => 'Gritegirara va bupreyutasiki',
'tog-enotifwatchlistpages' => 'Moi da betara va jinafi suzdasiki zo staksá !',
'tog-enotifusertalkpages' => 'Moi da betara va jinafu favesikbu pu jin staksar !',
'tog-enotifminoredits' => 'Icde bubetamara dere zo staksá !',
'tog-minordefault' => 'Default olaraq bütün redaktələri kiçik redaktə kimi nişanla',
'tog-previewontop' => 'Sınaq göstərişi yazma sahəsindən əvvəl göstər',
'tog-previewonfirst' => 'İlkin redaktədə sınaq göstərişi',
-'tog-nocache' => 'Səhifələri keşdə saxlama',
'tog-enotifwatchlistpages' => 'İzləmə siyahısında olan məqalə redaktə olunsa, mənə e-məktub göndər',
'tog-enotifusertalkpages' => 'Müzakirə səhifəm redaktə olunsa, mənə e-məktub göndər',
'tog-enotifminoredits' => 'Səhifələrdə kiçik dəyişikliklər olsa belə, mənə e-məktub göndər',
'tog-minordefault' => 'دیفالت اولاراق بوتون دَییشدیرمهلریمی کیچیک دَییشدیر کیمی نیشانلا',
'tog-previewontop' => 'اؤنگؤستریشی يازماق قوتوسوندان قاباق گؤستر',
'tog-previewonfirst' => 'ایلک دَییشدیرمهده اؤنگؤستریشی گؤستر',
-'tog-nocache' => 'براوزرین کَش ائتمگینی ایشلدن سال',
'tog-enotifwatchlistpages' => 'ایزلهدیکلریمده اولان صحیفه یوخسا فایل دَییشدیریلنده، منه ایمیل گؤندر',
'tog-enotifusertalkpages' => 'دانیشیق صحیفهم دَییشدیریلنده منه ایمیل گؤندر',
'tog-enotifminoredits' => 'صحیفهلرده و فایللاردا کیچیک دَییشیکلیکلر اولسا دا منه ایمیل گؤندر',
'tog-minordefault' => 'Бөтә үҙгәртеүҙәрҙе, ғәҙәттә, әҙ үҙгәреш тип билдәләргә',
'tog-previewontop' => 'Алдан байҡау тәҙрәһен мөхәррирләү битенең өҫтөнә ҡуйырға',
'tog-previewonfirst' => 'Мөхәррирләүгә күскәндә алдан ҡарау күрһәтелһен',
-'tog-nocache' => 'Браузерҙа биттәрҙе кэшлауҙы тыйырға',
'tog-enotifwatchlistpages' => 'Күҙәтеү исемлегендәге биттәрҙең һәм файлдарҙың үҙгәрештәре тураһында электрон почта аша хәбәр итергә',
'tog-enotifusertalkpages' => 'Шәхси фекер алышыу битем үҙгәртелеү тураһында электрон почта аша белдерергә',
'tog-enotifminoredits' => 'Биттәрҙең һәм файлдарҙың аҙ гынә үҙгәрештәре тураһында ла электрон почта аша хәбер итергә',
'tog-minordefault' => "D' eigernen Änderrungen standardmässig gringfiagig markirn",
'tog-previewontop' => 'Vurschau ówerhoib vom Beorweitungsfenster åzoang',
'tog-previewonfirst' => "Ban ersten Beorweiten oiwei d' Vurschau åzoang",
-'tog-nocache' => 'Seitencache vom Browser deaktivirn',
'tog-enotifwatchlistpages' => 'Bei Änderrungen voh beówochterde Seiten a E-Mail schicken',
'tog-enotifusertalkpages' => 'Bei Änderrungen voh meiner Benutzerseiten a E-Mail schicken',
'tog-enotifminoredits' => 'Aa ba kloane Änderrungen voh beówochterde Seiten a E-Mail schicker',
'tog-minordefault' => 'په طور پیش فرض کل اصلاحات آ په داب جزی مشخص کن',
'tog-previewontop' => 'بازبین پیش دار پیش چه جعبه اصلاح',
'tog-previewonfirst' => 'ته اولین اصلاح بازبینی پیش دار',
-'tog-nocache' => 'ذخیره کتن صفحه یا غیر فعال کن',
'tog-enotifwatchlistpages' => 'منی ایمیل جن وهدی که یک صفحه ای ته منی لیست چارگ عوص بیت',
'tog-enotifusertalkpages' => 'منآ ایمیل جن وهدی که صفحه ی گپ کاربر من عوض بیت',
'tog-enotifminoredits' => 'من ایمیل جن همی داب په هوردین اصلاحات صفحات',
'tog-minordefault' => 'Markahán gabos na saradit na pagliwat sa paaging panugmad',
'tog-previewontop' => 'Ipahilíng an patànaw bàgo an kahon nin paghirá',
'tog-previewonfirst' => 'Ipahilíng an patànaw sa enot na paghirá',
-'tog-nocache' => 'Pundoha an pagsaray nin mga pahina sa kilyaw (browser)',
'tog-enotifwatchlistpages' => 'E-suratan mo ako kunsoarin an sarong pahina o sagunson na yaon sa sakong bantay-listahan pinagliwat',
'tog-enotifusertalkpages' => 'E-koreohan ako pag pigribáyan an pahina kan sakóng olay',
'tog-enotifminoredits' => 'E-suratan man ako para sa saraditon na mga pagliwat kan mga pahina asin mga sagunson',
'tog-minordefault' => 'Пачынаць кожную праўку як дробную',
'tog-previewontop' => 'Папярэдні паказ — над рэдактарскім полем',
'tog-previewonfirst' => 'Папярэдні паказ пры першай праўцы',
-'tog-nocache' => 'Без кэшу старонак у браўзеры',
'tog-enotifwatchlistpages' => 'Слаць мне эл.пошту, калі мяняецца старонка ў маім спісе назіранага',
'tog-enotifusertalkpages' => 'Слаць эл.пошту пра мены ў маёй размоўнай старонцы',
'tog-enotifminoredits' => 'Слаць эл.пошту пра дробныя праўкі',
'tog-minordefault' => 'Па змоўчаньні пазначаць усе зьмены дробнымі',
'tog-previewontop' => 'Паказваць папярэдні прагляд старонкі над полем рэдагаваньня',
'tog-previewonfirst' => 'Папярэдні прагляд пры першым рэдагаваньні',
-'tog-nocache' => 'Адключыць кэшаваньне старонак у браўзэры',
'tog-enotifwatchlistpages' => 'Паведамляць мне праз электронную пошту пра зьмены старонак і файлаў у маім сьпісе назіраньня',
'tog-enotifusertalkpages' => 'Паведамляць праз электронную пошту пра зьмены маёй старонкі гутарак',
'tog-enotifminoredits' => 'Паведамляць праз электронную пошту таксама пра дробныя зьмены старонак і файлаў',
'tog-minordefault' => 'Отбелязване на всички промени като малки по подразбиране',
'tog-previewontop' => 'Показване на предварителния преглед преди текстовата кутия',
'tog-previewonfirst' => 'Показване на предварителен преглед при първа редакция',
-'tog-nocache' => 'Спиране на складирането на страниците от браузъра',
'tog-enotifwatchlistpages' => 'Уведомяване по е-пощата при промяна на страница или файл от списъка ми за наблюдение',
'tog-enotifusertalkpages' => 'Уведомяване по е-пощата при промяна на беседата ми',
'tog-enotifminoredits' => 'Уведомяване по е-пощата даже при малки промени на страници или файлове',
'tog-minordefault' => 'सारा सम्पादन के छोट सम्पादन के रुप में चिन्हित करीं',
'tog-previewontop' => 'सम्पादन बक्सा से पहिले पुर्वदर्शन दिखाईं।',
'tog-previewonfirst' => 'पहिलका सम्पादन पर पूर्वावलोकन देखीं',
-'tog-nocache' => 'ब्राउजर पन्ना के कैशिंग अक्षम करीं',
'tog-enotifwatchlistpages' => 'हमार ध्यानसूची में दर्ज कौनो भी पन्ना या फाईल में परिवर्तन होखला पर हमके ई-मेल करल जाव',
'tog-enotifusertalkpages' => 'यदि हमार वार्तालाप पन्ना पर कौनो परिवर्तन होखे त हमके ई मेल करल जाव',
'tog-enotifminoredits' => 'पन्ना आ फाईल पर छोटो परिवर्तन होखे त हमके ई मेल करल जाव',
'tog-minordefault' => 'Tandai samunyaan babakan sawagai babakan sapalih sacara baku',
'tog-previewontop' => 'Tampaiakan titilikan sabalum kutak babak',
'tog-previewonfirst' => 'Tampaiakan titilikan pada babakan panambaian',
-'tog-nocache' => 'Nonaktifkan panyinggahan tungkaran paramban',
'tog-enotifwatchlistpages' => 'Kirimi ulun sur-él amun sabuting tungkaran dalam daptar itihan ulun baubah',
'tog-enotifusertalkpages' => 'Surili ulun amun tungkaran pamandiran ulun baubah',
'tog-enotifminoredits' => 'Kirimi ulun sur-él jua amun ada babakan sapalih matan tungkaran-tungkaran',
'tog-minordefault' => 'শুরুতেই সব সম্পাদনাকে অনুল্লেখ্য বলে চিহ্নিত করা হোক',
'tog-previewontop' => 'সম্পাদনা বাক্সের আগে প্রাকদর্শন দেখানো হোক',
'tog-previewonfirst' => 'প্রথম সম্পাদনার ক্ষেত্রে প্রাকদর্শন দেখানো হোক',
-'tog-nocache' => 'ব্রাউজার পাতা ক্যাশিং নিষ্ক্রিয় করো',
'tog-enotifwatchlistpages' => 'আমার নজর তালিকায় আছে এমন পাতা অথবা ফাইলে পরিবর্তন হলে তা জানিয়ে আমাকে ই-মেইল করো',
'tog-enotifusertalkpages' => 'আমার ব্যবহারকারী আলোচনা পাতার পরিবর্তন হলে আমাকে ই-মেইল করা হোক',
'tog-enotifminoredits' => 'পাতা এবং ফাইলগুলোতে অনুল্লেখ্য সম্পাদনার জন্যও আমাকে ই-মেইল করা হোক',
'tog-minordefault' => 'অকরাতই হাব্বি পতা ফাঙনেই বুলিয়া দেহাদে',
'tog-previewontop' => 'পতা উপুগর গজে লেহার মিল্লেখ দেহাদে',
'tog-previewonfirst' => 'পয়লা পতানিহাত মিল্লেখ দেহাদে',
-'tog-nocache' => 'পাতা য়মকরানিহান থা নাদি',
'tog-enotifwatchlistpages' => 'মরে ইমেইল কর যদি মর মিল্লেঙে থসু অতা পতিলে',
'tog-enotifusertalkpages' => 'মরে ইমেইল কর যদি মর য়্যারির পাতা পতিলে',
'tog-enotifminoredits' => 'মরে ইমেইল কর পাতা আহানর পতানিহান হুরু ইলেউ',
'tog-minordefault' => "Sellet ouzh ar c'hemmoù degaset ganin<br /> evel kemmoù dister dre ziouer",
'tog-previewontop' => 'Rakwelet tres ar bajenn a-us ar prenestr skridaozañ',
'tog-previewonfirst' => 'Rakwelet tres ar bajenn kerkent hag an aozadenn gentañ',
-'tog-nocache' => 'Diweredekaat krubuilh ar pajennoù gant ar merdeer',
'tog-enotifwatchlistpages' => 'Kas ur postel din pa vez kemmet ur bajenn zo war ma roll evezhiañ',
'tog-enotifusertalkpages' => 'Kas ur postel din pa vez kemmet ma fajenn gaozeal',
'tog-enotifminoredits' => 'Kas ur postel din, ha pa vije evit kemenn kemmoù dister',
'tog-minordefault' => 'Označi sve izmjene malim isprva',
'tog-previewontop' => 'Prikaži pretpregled prije polja za izmjenu a ne poslije',
'tog-previewonfirst' => 'Prikaži izgled pri prvoj izmjeni',
-'tog-nocache' => 'Onemogući keširanje stranica u pregledniku',
'tog-enotifwatchlistpages' => 'Pošalji mi e-mail kada se promijeni stranica ili datoteka sa mog spiska praćenih članaka',
'tog-enotifusertalkpages' => 'Pošalji mi e-poštu kad se promijeni moja korisnička stranica za razgovor',
'tog-enotifminoredits' => 'Pošalji mi e-poštu također za male izmjene u stranicama i datotekama',
'tog-minordefault' => 'Marca totes les contribucions com a edicions menors per defecte',
'tog-previewontop' => "Mostra una previsualització abans del quadre d'edició",
'tog-previewonfirst' => 'Mostra una previsualització en la primera modificació',
-'tog-nocache' => 'Inhabilita la memòria cau de les pàgines',
'tog-enotifwatchlistpages' => "Envia'm un correu electrònic quan es modifiqui una pàgina de la meva llista de seguiment",
'tog-enotifusertalkpages' => "Envia'm un correu electrònic quan es modifiqui la meva pàgina de discussió",
'tog-enotifminoredits' => "Notifica'm per correu també en casos d'edicions menors",
'tog-minordefault' => '默認共所有其編輯都當作過要修改',
'tog-previewontop' => '敆編輯框以前顯示預覽',
'tog-previewonfirst' => '敆頭蜀回編輯時候看預覽',
-'tog-nocache' => '無讓瀏覽器頁面緩存',
'tog-enotifwatchlistpages' => '我其監視單有變時候,發電子郵件乞我',
'tog-enotifusertalkpages' => '我其討論頁有變時候,發電子郵件乞我',
'tog-enotifminoredits' => '即使是過要編輯,也著發電子郵件乞我',
'tog-watchmoves' => 'ТӀетоха ас цӀераш хийцина агӀонаш тергаме могӀам чу',
'tog-watchdeletion' => 'Тlетоха ас дӀаяхина агlонаш тергаме могlам чу',
'tog-minordefault' => 'Къастам бе нисйиначарн хlумцадеш кегийра долушсанна',
-'tog-previewontop' => 'ЧÑ\83Ñ\8fккÑ\85а Ñ\85Ñ\8cалÑ\85Ñ\85Ñ\8cажаÑ\80 Ñ\80éдоккÑ\85Ñ\83Ñ\87Ñ\83 кора хьалха',
+'tog-previewontop' => 'ЧÑ\83Ñ\8fккÑ\85а Ñ\85Ñ\8cалÑ\85Ñ\85Ñ\8cажаÑ\80 Ñ\82адаÑ\80ан кора хьалха',
'tog-previewonfirst' => 'Гайта хьалххьажар тадарш да долийча',
-'tog-nocache' => 'Ма латае гойтучун къайлаха латториг',
'tog-enotifwatchlistpages' => 'Хаам бо зlе чухул, тергаме могlаман хийцамах лаьцна',
'tog-enotifusertalkpages' => 'Хаам бо зlе чухул, долахь йолу дийцаре агlон хийцамах лаьцна',
'tog-enotifminoredits' => 'Хаам бо зӀе чухул, цхьа жимма а хийцамаш биняхь',
'prefs-dateformat' => 'Терахьан формат',
'prefs-timeoffset' => 'Хенан гӀирс',
'prefs-advancedediting' => 'Юкъара параметреш',
+'prefs-editor' => 'Тадар',
'prefs-preview' => 'Хьалха муха ю хьажар',
'prefs-advancedrc' => 'Кхин гӀирс нисбар',
'prefs-advancedrendering' => 'Кхин гӀирс нисбар',
'tog-minordefault' => 'Markahi ang tanang pag-usab isip ginagmay',
'tog-previewontop' => 'Ipakita ang paunang tan-aw bag-o sa edit box',
'tog-previewonfirst' => 'Ipakita ang paunang tan-aw sa unang pag-usab',
-'tog-nocache' => 'Ayaw i-cache ang panid',
'tog-enotifwatchlistpages' => 'I-email ko kon ang panid nga akong gibantayan giusab.',
'tog-enotifusertalkpages' => 'I-email ko kon nausab ang akong panid sa panaghisgot',
'tog-enotifminoredits' => 'I-email ko alang sa mga ginagmay nga pag-usab',
'tog-minordefault' => 'ھەموو دەستکارییەکان بە ورد نیشان بکە لە حاڵەتی دیفاڵت',
'tog-previewontop' => 'پێشبینین بەرلە چوارچێوەی دەستکاری نیشان بدە',
'tog-previewonfirst' => 'لە یەکەم دەستکاری دا پێشبینین نیشان بدە',
-'tog-nocache' => 'کاشکردنی پەڕەکانی وێبگەڕەکە لەکاربخە',
'tog-enotifwatchlistpages' => 'ئەگەر پەڕە یان پەڕگەیەک لە پێرستی چاودێیییەکانمدا گۆڕدرا ئیمەیلم بۆ بنێرە',
'tog-enotifusertalkpages' => 'ئەگەر پەڕەی لێدوانەکەم گۆڕدرا ئیمەیلم بۆ بنێرە',
'tog-enotifminoredits' => 'بۆ گۆڕانکارییە بچووکەکانی پەڕەکان و پەڕگەکانیش ئیمەیلم بۆ بنێرە',
'tog-minordefault' => 'Markahan ang tanan nga gin-islan nga gamay lang pamaagi sa default',
'tog-previewontop' => 'Ipakita ang prebyu antes ang kahon sang pang-ilis',
'tog-previewonfirst' => 'Ipakita ang prebyu sa una nga pag-ilis',
-'tog-nocache' => 'Indi pagpaganahon ang pagcache sang pahina',
'tog-enotifwatchlistpages' => 'Padal-an ako sang email kung ang pahina sa akon ginabanatayan nagbag-o',
'tog-enotifusertalkpages' => 'Padal-an ako sang email kung ginbag-o ang akon nga pahina sang istoryahanay',
'tog-enotifminoredits' => 'Padal-an man ako sang email sa mga gamay nga pag-ilis sang mini nga pahina',
'tog-minordefault' => 'Япкъан денъиштирмелеримни кичик денъиштирмедир деп ишаретле',
'tog-previewontop' => 'Бакъып чыкъувны язув пенджеренинъ устюнде косьтер',
'tog-previewonfirst' => 'Денъиштирме саифесине кечкенде бакъып чыкъувны косьтер',
-'tog-nocache' => 'Браузер саифелерни афызасында тутмасын',
'tog-enotifwatchlistpages' => 'Козетюв джедвелимдеки бир саифе я да файл денъиштирильгенде манъа e-mail ёлла',
'tog-enotifusertalkpages' => 'Къулланыджы саифем денъиштирильгенде манъа e-mail ёлла',
'tog-enotifminoredits' => 'Саифе я да файлда кичик денъиштирильме олгъанда да манъа e-mail ёлла',
'tog-minordefault' => 'Yapqan deñiştirmelerimni kiçik deñiştirmedir dep işaretle',
'tog-previewontop' => 'Baqıp çıquvnı yazuv pencereniñ üstünde köster',
'tog-previewonfirst' => 'Deñiştirme saifesine keçkende baqıp çıquvnı köster',
-'tog-nocache' => 'Brauzer saifelerni afızasında tutmasın',
'tog-enotifwatchlistpages' => 'Közetüv cedvelimdeki bir saife ya da fayl deñiştirilgende maña e-mail yolla',
'tog-enotifusertalkpages' => 'Qullanıcı saifem deñiştirilgende maña e-mail yolla',
'tog-enotifminoredits' => 'Saife ya da faylda kiçik deñiştirilme olğanda da de maña e-mail yolla',
'tog-minordefault' => 'Označit editaci implicitně jako malá editace',
'tog-previewontop' => 'Zobrazovat náhled před editačním oknem (ne za ním)',
'tog-previewonfirst' => 'Zobrazit při první editaci náhled',
-'tog-nocache' => 'Vypnout cachování v prohlížeči',
'tog-enotifwatchlistpages' => 'Poslat e-mail při změně sledované stránky nebo souboru',
'tog-enotifusertalkpages' => 'Poslat e-mail při změně mé diskusní stránky',
'tog-enotifminoredits' => 'Posílat e-maily i při malých editacích stránek a souborů',
'tog-minordefault' => 'Zaznaczë wszëtczé edicëje domëslno jakno môłé',
'tog-previewontop' => 'Pòkażë pòdzérk przed kastką edicëji',
'tog-previewonfirst' => 'Pòkażë pòdzérk ju przed pierszą edicëją',
-'tog-nocache' => 'Wëłączë pòdrãczną pamiãc w przezérnikù',
'tog-enotifwatchlistpages' => 'Wëslë mie e-mail czedë starna jaką ùzéróm je zmieniwónô',
'tog-enotifusertalkpages' => 'Wëslë mie e-mail czedë zmieniwónô je mòja starna diskùsëji',
'tog-enotifminoredits' => 'Wëslë mie e-mail téż dlô môłich zmianów starnów',
'tog-minordefault' => 'Палăртман чухне улшăнусене пĕчĕк тӳрлетӳсем пек палăртмалла',
'tog-previewontop' => 'Тӳрлетӳ чӳречине кăтартас умĕн малтанхи курăмне кăтармалла',
'tog-previewonfirst' => 'Пĕрремĕш хут тӳрлетнĕ чухне малтанхи курăнăва кăтартмалла',
-'tog-nocache' => 'Страницăсене кэшра сыхласа хăварассине чармалла',
'tog-enotifwatchlistpages' => 'Сăнав списокĕнчи статяна тӳрлетӳ кĕртсен электронлă почта урлă пĕлтермелле',
'tog-enotifusertalkpages' => 'Ман канашлу страницинче улшăнусем пулсан мана эл. почта урлă пĕлтермелле',
'tog-enotifminoredits' => 'Пĕчĕк улшăнусене те эл. почта урлă пĕлтермелле',
'tog-minordefault' => 'Marcio pob golygiad fel un bach yn ddiofyn',
'tog-previewontop' => 'Dangos y rhagolwg cyn y blwch golygu',
'tog-previewonfirst' => 'Dangos rhagolwg ar y golygiad cyntaf',
-'tog-nocache' => 'Analluogi storio tudalennau yng nghelc y porydd',
'tog-enotifwatchlistpages' => 'Gyrru e-bost ataf pan fo newid i dudalen neu ffeil ar fy rhestr wylio',
'tog-enotifusertalkpages' => "Gyrru e-bost ataf fy hunan pan fo newid i'm tudalen sgwrs",
'tog-enotifminoredits' => 'Gyrru e-bost ataf hefyd ar gyfer golygiadau bychain i dudalennau a ffeiliau',
'tog-minordefault' => 'Markér som standard alle redigeringer som mindre redigeringer',
'tog-previewontop' => 'Vis forhåndsvisning over redigeringsboksen',
'tog-previewonfirst' => 'Vis forhåndsvisning når du starter med at redigere',
-'tog-nocache' => 'Slå browsercaching af sider fra',
'tog-enotifwatchlistpages' => 'Send mig en e-mail ved ændringer til en side eller fil på min overvågningsliste',
'tog-enotifusertalkpages' => 'Send mig en e-mail når min brugerdiskussionsside ændres',
'tog-enotifminoredits' => 'Send mig også en e-mail ved mindre ændringer af sider og filer på min overvågningsliste',
'tog-minordefault' => 'Eigene Änderungen standardmäßig als geringfügig markieren',
'tog-previewontop' => 'Vorschau oberhalb des Bearbeitungsfensters anzeigen',
'tog-previewonfirst' => 'Beim ersten Bearbeiten immer die Vorschau anzeigen',
-'tog-nocache' => 'Seitencache des Browsers deaktivieren',
'tog-enotifwatchlistpages' => 'Bei Änderungen an beobachteten Seiten oder Dateien E-Mails senden',
'tog-enotifusertalkpages' => 'Bei Änderungen an meiner Benutzer-Diskussionsseite E-Mails senden',
'tog-enotifminoredits' => 'Auch bei kleinen Änderungen an Seiten und Dateien E-Mails senden',
'tog-minordefault' => "Vurnayışanê xo pêrune ''vurnayışo qıckek'' nışan bıde",
'tog-previewontop' => 'Verqayti pela nuştışi ser de bımocne',
'tog-previewonfirst' => 'Vurnayışo verên de verqayti tım bımocne',
-'tog-nocache' => 'Pelanê cıgeyrayoği meya xo viri',
'tog-enotifwatchlistpages' => 'Yew pele ya zi dosyaya ke lista mına seyrkerdışi de vurnayê mı rê e-poste bırışe',
'tog-enotifusertalkpages' => 'Pela mına werênayışi ke vurnayê mı rê e-poste bırışe',
'tog-enotifminoredits' => 'Vurnayışanê qıckekanê pelan u dosyeyan de zi mı rê e-poste bırışe',
'cannotdelete-title' => 'şıma "$1" nê şenê besternê.',
'delete-hook-aborted' => 'Esterıtışi terefê çengeli ra ibtal bi.
Qet tesrih beyan nêbi.',
+'no-null-revision' => 'Qandé "$1" zew rewizyono newe névıraziya.',
'badtitle' => 'Sernameo xırabın',
'badtitletext' => 'Sernamey pela ke şıma waşt, nêvêrd, thalo/vengo ya ki zıwano miyanêno ğelet gırêdae ya ki sernamey wiki.
Beno ke, tede yew ya zi zêdê işareti estê ke sernaman de nêxebetiyenê.',
'powersearch-togglenone' => 'Çıniyo',
'search-external' => 'Cıgeyrayışê teberi',
'searchdisabled' => '{{SITENAME}} no keyepel de cıgerayiş muweqqet bıryayo. no benatê de şıma pê Google eşkeni zerreyê {{SITENAME}} de cıgerayiş bıkeri.',
+'search-error' => 'Cı geyrayış de zu ğeta emé meydan:$1',
# Preferences page
'preferences' => 'Tercihi',
'namespace' => 'Heruna naman:',
'invert' => 'Weçinayan ğariç bıasné',
'tooltip-invert' => 'nameyo ke nışan biyo (u nameyo elekeyın zi nışanyyayo se) vurnayışan zerrekan nımtışi re ena dore tesdiqi nışan kerê',
-'namespace_association' => 'Cayê nameyanê elaqedaran',
+'namespace_association' => 'Elaqedar nameyé cayan',
'tooltip-namespace_association' => 'Herunda canemiya elekeyın nışan kerdışi sero qıse kerdışi yana zerre dekerdışi rê ena dora tesdiqi nışan kerê',
'blanknamespace' => '(Ser)',
'imgmultigo' => 'Şo!',
'imgmultigoto' => 'Şo pela da $1',
+# Language selector for translatable SVGs
+'img-lang-default' => '(hesıbyayi zıwan)',
+'img-lang-info' => 'Resimé $1, $2 ya teké pé ke.',
+'img-lang-go' => 'Bırş',
+
# Table pager
'ascending_abbrev' => 'berz',
'descending_abbrev' => 'nızm',
'tog-minordefault' => 'Wšykne móje změny ako małe markěrowaś',
'tog-previewontop' => 'Zespominanje wušej wobźěłowańskego póla pokazaś',
'tog-previewonfirst' => 'Pśi prědnem wobźěłanju pśecej zespominanje pokazaś',
-'tog-nocache' => 'Cache bokow wobglědowaka znjemóžniś',
'tog-enotifwatchlistpages' => 'E-mail pósłaś, jolic se wobglědowany bok abo wobglědowana dataja změnja',
'tog-enotifusertalkpages' => 'E-mail pósłaś, změnijo-lic se mój diskusijny bok',
'tog-enotifminoredits' => 'E-mail teke małych změnow bokow a datajow dla pósłaś',
'tog-minordefault' => 'Tandaai oinsanan niditan tokoro sobaagi do pongoiso',
'tog-previewontop' => 'Pokitono duluon-kokikitanai id pogulu kutak idit',
'tog-previewonfirst' => 'Pokitono duluon-kokikitanai di idit koinsan',
-'tog-nocache' => 'Antabai kasing popogigihum bolikon',
'tog-enotifwatchlistpages' => 'Ponuratai-i oku soira do haro bolikon toi pail lisintanganku haro nokowolion',
'tog-enotifusertalkpages' => 'Ponuratai-i oku soira kiharo kowolion id pibabarasan momomogunoku',
'tog-enotifminoredits' => 'Ponuratai-i oku nogi do nung haro no idit tongokoro do bolikon om nogi tangapail',
'tog-minordefault' => 'Σήμανση εκ προεπιλογής όλων των αλλαγών ως μικρής κλίμακας',
'tog-previewontop' => 'Εμφάνιση προεπισκόπησης πριν από το πλαίσιο επεξεργασίας',
'tog-previewonfirst' => 'Εμφάνιση προεπισκόπησης κατά την πρώτη επεξεργασία',
-'tog-nocache' => 'Απενεργοποίηση προσωρινής μνήμης του περιηγητή',
'tog-enotifwatchlistpages' => 'Να μου αποστέλλεται μήνυμα ηλεκτρονικού ταχυδρομείου όταν αλλάζει μια σελίδα ή ένα αρχείο που βρίσκεται στη λίστα παρακολούθησής μου',
'tog-enotifusertalkpages' => 'Να μου αποστέλλεται μήνυμα ηλεκτρονικού ταχυδρομείου όταν αλλάζει η προσωπική μου σελίδα συζήτησης χρήστη',
'tog-enotifminoredits' => 'Να μου αποστέλλεται μήνυμα ηλεκτρονικού ταχυδρομείου και για αλλαγές μικρής κλίμακας σε σελίδες και αρχεία',
'tog-minordefault' => 'Mark all edits minor by default',
'tog-previewontop' => 'Show preview before edit box',
'tog-previewonfirst' => 'Show preview on first edit',
-'tog-nocache' => 'Disable browser page caching',
'tog-enotifwatchlistpages' => 'Email me when a page or file on my watchlist is changed',
'tog-enotifusertalkpages' => 'Email me when my user talk page is changed',
'tog-enotifminoredits' => 'Email me also for minor edits of pages and files',
Your current IP address is $3, and the block ID is #$5.
Please include all above details in any queries you make.",
'blockednoreason' => 'no reason given',
-'whitelistedittext' => 'You have to $1 to edit pages.',
+'whitelistedittext' => 'Please $1 to edit pages.',
'confirmedittext' => 'You must confirm your email address before editing pages.
Please set and validate your email address through your [[Special:Preferences|user preferences]].',
'nosuchsectiontitle' => 'Cannot find section',
It may have been moved or deleted while you were viewing the page.',
'loginreqtitle' => 'Login required',
'loginreqlink' => 'log in',
-'loginreqpagetext' => 'You must $1 to view other pages.',
+'loginreqpagetext' => 'Please $1 to view other pages.',
'accmailtitle' => 'Password sent',
'accmailtext' => "A randomly generated password for [[User talk:$1|$1]] has been sent to $2. It can be changed on the ''[[Special:ChangePassword|change password]]'' page upon logging in.",
'newarticle' => '(New)',
'preferences-summary' => '', # do not translate or duplicate this message to other languages
'mypreferences' => 'Preferences',
'prefs-edits' => 'Number of edits:',
-'prefsnologintext2' => 'Please $1 to set user preferences.',
+'prefsnologintext2' => 'Please $1 to change your preferences.',
'prefs-skin' => 'Skin',
'skin-preview' => 'Preview',
'datedefault' => 'No preference',
'reuploaddesc' => 'Cancel upload and return to the upload form',
'upload-tryagain' => 'Submit modified file description',
'uploadnologin' => 'Not logged in',
-'uploadnologintext' => 'You must $1 to upload files.',
+'uploadnologintext' => 'Please $1 to upload files.',
'upload_directory_missing' => 'The upload directory ($1) is missing and could not be created by the webserver.',
'upload_directory_read_only' => 'The upload directory ($1) is not writable by the webserver.',
'uploaderror' => 'Upload error',
Mailer returned: $1',
'confirmemail_invalid' => 'Invalid confirmation code.
The code may have expired.',
-'confirmemail_needlogin' => 'You need to $1 to confirm your email address.',
+'confirmemail_needlogin' => 'Please $1 to confirm your email address.',
'confirmemail_success' => 'Your email address has been confirmed.
You may now [[Special:UserLogin|log in]] and enjoy the wiki.',
'confirmemail_loggedin' => 'Your email address has now been confirmed.',
'tog-minordefault' => 'Marki defaŭlte ĉiujn redaktojn kiel etajn',
'tog-previewontop' => 'Montri antaŭrigardon antaŭ redaktilo',
'tog-previewonfirst' => 'Montri antaŭrigardon je unua redakto',
-'tog-nocache' => 'Malŝalti retumilan kaŝmemoron de paĝoj',
'tog-enotifwatchlistpages' => 'Sendi al mi retmesaĝon kiam tiu paĝo en mia atentaro estas ŝanĝita',
'tog-enotifusertalkpages' => 'Sendi al mi retmesaĝon kiam mia diskutpaĝo estas ŝanĝita',
'tog-enotifminoredits' => 'Sendi al mi ankaŭ retmesaĝojn pro malgrandaj redaktoj de paĝoj',
'tog-minordefault' => 'Marcar todas las ediciones como menores de manera predeterminada',
'tog-previewontop' => 'Mostrar previsualización antes del cuadro de edición',
'tog-previewonfirst' => 'Mostrar previsualización en la primera edición',
-'tog-nocache' => 'Desactivar la caché de páginas del navegador',
'tog-enotifwatchlistpages' => 'Enviarme un correo electrónico cuando se modifique una página o un archivo de mi lista de seguimiento',
'tog-enotifusertalkpages' => 'Enviarme un correo electrónico cuando se modifique mi página de discusión',
'tog-enotifminoredits' => 'Notificarme también por correo electrónico los cambios menores de las páginas y archivos',
'tog-minordefault' => 'Märgi kõik parandused vaikimisi pisiparandusteks',
'tog-previewontop' => 'Näita eelvaadet toimetamiskasti ees',
'tog-previewonfirst' => 'Näita eelvaadet esimesel redigeerimisel',
-'tog-nocache' => 'Keela võrgulehitsejal lehekülgede puhverdamine',
'tog-enotifwatchlistpages' => 'Teata e-posti teel minu jälgitava lehekülje või faili muutmisest',
'tog-enotifusertalkpages' => 'Teata e-posti teel minu arutelulehekülje muutmisest',
'tog-enotifminoredits' => 'Teata e-posti teel mulle ka pisiparandustest lehekülgedel ja failides',
'tog-minordefault' => 'Lehenetsi bezala aldaketa txiki bezala markatu guztiak',
'tog-previewontop' => 'Aurrebista aldaketa koadroaren aurretik erakutsi',
'tog-previewonfirst' => 'Lehen aldaketan aurrebista erakutsi',
-'tog-nocache' => 'Orrialdeen katxea ezgaitu',
'tog-enotifwatchlistpages' => 'Bidal iezadazue e-posta bat, jarraitzen ari naizen orrialde edo fitxategi bat aldatzen denean',
'tog-enotifusertalkpages' => 'Nire eztabaida orrialdea aldatzen denean e-posta jaso',
'tog-enotifminoredits' => 'Orrialde edo fitxategietan aldaketak txikiak direnean ere e-posta jaso',
'sqlite-no-fts' => '$1 testu osoan bilatzeko laguntzarik gabe',
# New logging system
-'logentry-delete-delete' => '$1 wikilariak $3 orria {{GENDER:$2|ezabatu}} du',
+'logentry-delete-delete' => '$1 {{GENDER:$2|wikilariak}} «$3» orria ezabatu du',
'logentry-delete-restore' => '$1(e)k $3 orrialdea {{GENDER:$2|berrezarri}} du',
'logentry-delete-event' => '$1 wikilariak ikusgaitasuna aldatu {{PLURAL:$5|dio erregistroko sarrera bati|die erregistroko $5 sarrerari}}, $3 orrian: $4',
'logentry-delete-revision' => '$1 erabiltzaileak {{PLURAL:$5|berrikuste baten|$5 berrikusteren}} ikusgaitasuna aldatu du «$3» orrian: $4',
'tog-minordefault' => 'Aseñalal tolas eicionis cumu chiqueninas pol defeutu',
'tog-previewontop' => "Previsoreal sobri la caha d'eición, i nu embahu",
'tog-previewonfirst' => 'Previsoreal ena primera eición',
-'tog-nocache' => 'Desatival "caché" enas páhinas',
'tog-enotifwatchlistpages' => 'Envialmi un correu cuandu aiga chambus nuna páhina vehilá',
'tog-enotifusertalkpages' => 'Envialmi un correu cuandu alguien escreba ena mi caraba',
'tog-enotifminoredits' => 'Envialmi un correu cuandu se haga una eición chiquenina duna páhina',
'tog-minordefault' => 'همهٔ ویرایشها به طور پیشفرض به عنوان «جزئی» علامت بخورد',
'tog-previewontop' => 'پیشنمایش قبل از جعبهٔ ویرایش نمایش یابد',
'tog-previewonfirst' => 'پیشنمایش هنگام اولین ویرایش نمایش یابد',
-'tog-nocache' => 'حافظهٔ نهانی مرورگر از کار انداخته شود',
'tog-enotifwatchlistpages' => 'اگر صفحه یا پروندهای از فهرست پیگیریهایم ویرایش شد به من نامهای فرستاده شود',
'tog-enotifusertalkpages' => 'هنگامی که در صفحهٔ بحث کاربریام تغییری صورت میگیرد به من نامهای فرستاده شود',
'tog-enotifminoredits' => 'برای تغییرات جزئی در صفحهها و پروندهها هم به من نامهای فرستاده شود',
'tog-minordefault' => 'Merkitse kaikki muutokset oletusarvoisesti pieniksi',
'tog-previewontop' => 'Näytä esikatselu muokkauskentän yläpuolella',
'tog-previewonfirst' => 'Näytä esikatselu heti, kun muokkaus aloitetaan',
-'tog-nocache' => 'Älä tallenna sivuja selaimen välimuistiin',
'tog-enotifwatchlistpages' => 'Lähetä sähköpostiviesti tarkkailulistallani olevien sivujen muokkauksista',
'tog-enotifusertalkpages' => 'Lähetä sähköpostiviesti oman keskustelusivun muokkauksista',
'tog-enotifminoredits' => 'Lähetä sähköpostiviesti myös pienistä muokkauksista',
'passwordtooshort' => 'Salasanan täytyy olla vähintään {{PLURAL:$1|yhden merkin pituinen|$1 merkkiä pitkä}}.',
'password-name-match' => 'Salasanasi täytyy olla eri kuin käyttäjätunnuksesi.',
'password-login-forbidden' => 'Tämän käyttäjänimen ja salasanan käyttö on estetty.',
-'mailmypassword' => 'Lähetä uusi salasana sähköpostitse',
+'mailmypassword' => 'Uudista salasana',
'passwordremindertitle' => 'Uusi väliaikainen salasana {{GRAMMAR:elative|{{SITENAME}}}}',
'passwordremindertext' => 'Joku IP-osoitteesta $1 pyysi {{GRAMMAR:partitive|{{SITENAME}}}} ($4) lähettämään uuden salasanan. Väliaikainen salasana käyttäjälle $2 on nyt $3. Kirjaudu sisään ja vaihda salasana. Väliaikainen salasana vanhenee {{PLURAL:$5|yhden päivän|$5 päivän}} kuluttua.
# Special:PasswordReset
'passwordreset' => 'Salasanan uudistus',
'passwordreset-text-one' => 'Täytä tämä lomake uudistaaksesi salasanasi.',
-'passwordreset-text-many' => '{{PLURAL:$1|Täytä yksi kentistä uudistaaksesi salasanasi.}}',
+'passwordreset-text-many' => '{{PLURAL:$1|Täytä yksi kentistä, jotta saat väliaikaisen salasanan sähköpostitse.}}',
'passwordreset-legend' => 'Salasanan uudistus',
'passwordreset-disabled' => 'Salasanojen uudistaminen ei ole mahdollista tässä wikissä.',
'passwordreset-emaildisabled' => 'Sähköpostitoiminnot on poistettu käytöstä tässä wikissä.',
'image_tip' => 'Tallennettu tiedosto',
'media_sample' => 'Esimerkki.ogg',
'media_tip' => 'Tiedostolinkki',
-'sig_tip' => 'Allekirjoitus aikamerkinnällä',
+'sig_tip' => 'Allekirjoitus aikaleiman kanssa',
'hr_tip' => 'Vaakasuora viiva',
# Edit pages
'last' => 'edell.',
'page_first' => 'ensimmäinen sivu',
'page_last' => 'viimeinen sivu',
-'histlegend' => 'Merkinnät: (nyk.) = eroavaisuudet nykyiseen versioon, (edell.) = eroavaisuudet edelliseen versioon, <span class="minor">p</span> = pieni muutos',
+'histlegend' => "Eroavaisuuksien valinta: Merkitse niiden versioiden valintaympyrät, joita haluat vertailla, ja paina enter tai alhaalla olevaa nappia.<br />
+Selitys: '''({{int:cur}})''' = eroavaisuudet uusimpaan versioon, '''({{int:last}})''' = eroavaisuudet edeltävään versioon, '''{{int:minoreditletter}}''' = pieni muutos.",
'history-fieldset-title' => 'Selaa muutoshistoriaa',
'history-show-deleted' => 'Vain poistetut',
'histfirst' => 'vanhimmat',
Voit rajoittaa listaa valitsemalla lokityypin, käyttäjän tai sivun johon muutos on kohdistunut. Jälkimmäiset ovat kirjainkokoherkkiä.',
'logempty' => 'Ei tapahtumia lokissa.',
'log-title-wildcard' => 'Kohde alkaa merkkijonolla',
-'showhideselectedlogentries' => 'Näytä tai piilota valitut lokimerkinnät',
+'showhideselectedlogentries' => 'Muuta valittujen lokitapahtumien näkyvyyttä',
# Special:AllPages
'allpages' => 'Kaikki sivut',
'deleteotherreason' => 'Muu syy tai tarkennus',
'deletereasonotherlist' => 'Muu syy',
'deletereason-dropdown' => '* Yleiset poistosyyt
-** Tekijänoikeusrikkomus
-** Tekijän poistopyyntö
-** Testisivu
+** Spam tai mainossivu
** Vandalismi
+** Tekijänoikeusrikkomus
+** Sivun tekijän pyyntö
** Virheellinen ohjaus',
'delete-edit-reasonlist' => 'Muokkaa poistosyitä',
'delete-toobig' => 'Tällä sivulla on pitkä muutoshistoria – yli $1 {{PLURAL:$1|versio|versiota}}. Näin suurien muutoshistorioiden poistamista on rajoitettu suorituskykysyistä.',
'unblock' => 'Poista käyttäjän esto',
'blockip' => 'Estä käyttäjä',
'blockip-legend' => 'Estä käyttäjä',
-'blockiptext' => 'Tällä lomakkeella voit estää käyttäjän tai IP-osoitteen muokkausoikeudet. Muokkausoikeuksien poistamiseen [[{{MediaWiki:Policy-url}}|pitää olla syy]], esimerkiksi sivujen vandalisointi. Kirjoita syy siihen varattuun kenttään.<br />Vapaamuotoisen vanhenemisajat noudattavat GNUn standardimuotoa, joka on kuvattu tar-manuaalissa ([http://www.gnu.org/software/tar/manual/html_node/Date-input-formats.html] [EN]), esimerkiksi ”1 hour”, ”2 days”, ”next Wednesday”, ”2014-08-29”.',
+'blockiptext' => 'Tällä toiminnolla voit estää käyttäjätunnusta tai IP-osoitetta muokkaamasta.<br />
+Tällainen muokkausesto pitäisi asettaa vain vandalismin torjumiseksi ja [[{{MediaWiki:Policy-url}}|käytännön]] mukaisesti.
+Kirjoita eston syy alla olevaan kenttään.',
'ipadressorusername' => 'IP-osoite tai käyttäjätunnus',
'ipbexpiry' => 'Kesto',
'ipbreason' => 'Syy',
'imgmultigo' => 'Siirry',
'imgmultigoto' => 'Sivu $1',
+# Language selector for translatable SVGs
+'img-lang-default' => '(oletuskieli)',
+'img-lang-go' => 'Suorita',
+
# Table pager
'ascending_abbrev' => 'nouseva',
'descending_abbrev' => 'laskeva',
'tag-filter-submit' => 'Suodata',
'tag-list-wrapper' => '([[Special:Tags|{{PLURAL:$1|Merkintä|Merkinnät}}]]: $2)',
'tags-title' => 'Merkinnät',
-'tags-intro' => "Tämä sivu luetteloi ne merkinnät (''eng.'' tags), joilla ohjelmisto voi merkitä muokkauksia, ja niiden tarkoitukset.",
-'tags-tag' => 'Merkintänimi',
+'tags-intro' => "Tämä sivu luetteloi ne merkinnät eli merkkaukset (''engl.'' tags), joilla ohjelmisto voi merkitä muokkauksia, ja mitä ne tarkoittavat.",
+'tags-tag' => 'Merkinnän nimi',
'tags-display-header' => 'Näkyvyys muutosluetteloissa',
'tags-description-header' => 'Täysi kuvaus tarkoituksesta',
'tags-active-header' => 'Aktiivinen?',
'tog-minordefault' => 'Merk sum standard allar broytingar sum smærri',
'tog-previewontop' => 'Vís forhondsvísning áðren rættingarkassan',
'tog-previewonfirst' => 'Vís forskoðan við fyrstu rætting',
-'tog-nocache' => 'Deaktivera síðu "caching" í brovsaranum',
'tog-enotifwatchlistpages' => 'Send mær teldupost, tá ein síða ella fíla á mínum eftirlitslista er broytt',
'tog-enotifusertalkpages' => 'Send mær teldubræv, tá mín brúkarasíða er broytt',
'tog-enotifminoredits' => 'Send mær eisini ein teldupost viðvíkjandi smærri broytingum á síðum og fílum',
'tog-minordefault' => 'Marquer mes modifications comme mineures par défaut',
'tog-previewontop' => 'Afficher la prévisualisation au-dessus de la zone de modification',
'tog-previewonfirst' => 'Afficher la prévisualisation lors de la première modification',
-'tog-nocache' => 'Désactiver le cache des pages par le navigateur',
'tog-enotifwatchlistpages' => "M'avertir par courriel lorsqu'une page ou un fichier de ma liste de suivi est modifiée",
'tog-enotifusertalkpages' => "M'avertir par courriel si ma page de discussion est modifiée",
'tog-enotifminoredits' => "M'avertir par courriel pour les modifications mineures de pages ou de fichiers également",
'imgmultigo' => 'Accéder !',
'imgmultigoto' => 'Aller à la page $1',
+# Language selector for translatable SVGs
+'img-lang-default' => '(langue par défaut)',
+'img-lang-info' => 'Afficher cette image en $1 $2.',
+'img-lang-go' => 'Lancer',
+
# Table pager
'ascending_abbrev' => 'crois.',
'descending_abbrev' => 'décr.',
'tog-minordefault' => 'Marcar per dèfôt tôs los changements coment petiôts',
'tog-previewontop' => 'Montrar l’apèrçu d’amont la zona de changement',
'tog-previewonfirst' => 'Montrar l’apèrçu pendent lo premiér changement',
-'tog-nocache' => 'Dèsactivar lo cacho de les pâges per lo navigator',
'tog-enotifwatchlistpages' => 'Mè mandar un mèssâjo quand na pâge un fichiér de ma lista de siuvu est changiê(e)',
'tog-enotifusertalkpages' => 'Mè mandar un mèssâjo quand ma pâge de discussion est changiêe',
'tog-enotifminoredits' => 'Mè mandar un mèssâjo mémo en câs de petiôts changements de les pâges et des fichiérs',
'tog-minordefault' => 'Aanj feranrangen üs "letjen" kääntiakne',
'tog-previewontop' => '"Iarst ans luke" boowen faan\'t wönang tu bewerkin',
'tog-previewonfirst' => 'Bi\'t iarst bewerkin "iarst ans luke" uunwise',
-'tog-nocache' => 'Sidjencache faan di browser deaktiwiare',
'tog-enotifwatchlistpages' => "Schüür mi en e-mail, wan sidjen of datein feranert wurd, diar ik uun't uug behual wal",
'tog-enotifusertalkpages' => 'Bi feranrangen üüb min brüker-diskusjuunssidj en e-mail schüür',
'tog-enotifminoredits' => 'Schüür mi uk bi letj feranrangen faan sidjen an datein en e-mail',
'tog-minordefault' => 'Imposte come opzion predeterminade ducj i cambiaments come piçui',
'tog-previewontop' => 'Mostre anteprime parsore dal spazi pe modifiche',
'tog-previewonfirst' => 'Mostre anteprime te prime modifiche',
-'tog-nocache' => 'Disative la memorie cache des pagjinis dal sgarfadôr',
'tog-enotifwatchlistpages' => 'Mandimi une email se la pagjine e gambie',
'tog-enotifusertalkpages' => 'Mandimi une email cuant che la mê pagjine di discussion e gambie',
'tog-enotifminoredits' => 'Mandimi une email ancje pai piçui cambiaments ae pagjine',
'tog-minordefault' => 'Feroarings yn it earst oanjaan as tekstwizigings.',
'tog-previewontop' => 'By it neisjen, bewurkingsfjild ûnderoan sette',
'tog-previewonfirst' => 'Lit foarbyld sjen by earste wiziging',
-'tog-nocache' => 'Gjin oerslach brûke',
'tog-enotifwatchlistpages' => 'E-mail my as in side op myn folchlist feroare is.',
'tog-enotifusertalkpages' => 'E-mail my as myn oerlisside feroare wurdt',
'tog-enotifminoredits' => 'E-mail my ek by lytse feroarings fan siden op myn folchlist',
'tog-minordefault' => 'Déan mionathruithe de gach aon athrú, mar réamhshocrú',
'tog-previewontop' => 'Cuir an réamhamharc os cionn an bhosca eagair, <br />agus ná cuir é taobh thíos de',
'tog-previewonfirst' => 'Taispeáin réamhamharc don chéad athrú',
-'tog-nocache' => 'Ná sábháil leathanaigh i dtaisce an bhrabhsálaí',
'tog-enotifwatchlistpages' => 'Cuir ríomhphost chugam nuair a athraítear leathanaigh',
'tog-enotifusertalkpages' => 'Cuir ríomhphost chugam nuair a athraítear mo leathanach phlé úsáideora',
'tog-enotifminoredits' => 'Cuir ríomhphost chugam nuair a dhéantar mionathruithe chomh maith',
'tog-minordefault' => "Hepsi diişmäkleri 'küçük diişmäk' olarak nışanna",
'tog-previewontop' => 'Öni siiri diiştirmää penceräsi üstünde göster',
'tog-previewonfirst' => 'İlk kerä diiştirär känä ön siiri göster',
-'tog-nocache' => 'Sayfaları keş etmää yasakla',
'tog-enotifwatchlistpages' => 'Sayfa diişär känä bana e-mail gönder',
'tog-enotifusertalkpages' => 'Kullanıcı sayfamda diişmäk olar kana bana e-mail gönder',
'tog-enotifminoredits' => 'Sayfalardaki küçük diişmäklerdä dä bana e-mail gönder',
'tog-minordefault' => '全部𠮶编辑设成细修改',
'tog-previewontop' => '到编辑框𠮶上首显示预览',
'tog-previewonfirst' => '头道修改时显示预览',
-'tog-nocache' => '停用页面𠮶缓存',
'tog-enotifwatchlistpages' => '偶监视框𠮶页面一有改动发电子邮件到偶',
'tog-enotifusertalkpages' => '偶对话框𠮶页面一有改动发email到偶',
'tog-enotifminoredits' => '有细𠮶改动都要发email到偶',
'tog-minordefault' => '全部嗰編輯設成細修改',
'tog-previewontop' => '到編輯框嗰上首顯示預覽',
'tog-previewonfirst' => '頭道修改時顯示預覽',
-'tog-nocache' => '停用頁面嗰緩存',
'tog-enotifwatchlistpages' => '我監視框嗰頁面一有改動發電子郵件到我',
'tog-enotifusertalkpages' => '我對話框嗰頁面一有改動發email到我',
'tog-enotifminoredits' => '有細嗰改動都要發email到我',
'tog-minordefault' => 'Comharraich gach mùthadh mar mhùthadh beag a ghnàth',
'tog-previewontop' => "Nochd an ro-shealladh os cionn a' bhogsa deasachaidh",
'tog-previewonfirst' => "Nochd an ro-shealladh nuair a nithear a' chiad deasachadh",
-'tog-nocache' => 'Cuir à comas tasgadh nan duilleagan',
'tog-enotifwatchlistpages' => "Cuir post-dealain thugam nuair a mhùthar duilleag a tha air a' chlàr-fhaire agam",
'tog-enotifusertalkpages' => 'Cuir post-dealain thugam nuair a mhùthaichear duilleag mo chonaltraidh',
'tog-enotifminoredits' => 'Cuir post-dealain thugam nuair a nithear mùthadh beag air duilleagan cuideachd',
'tog-minordefault' => 'Marcar por omisión todas as edicións como pequenas',
'tog-previewontop' => 'Mostrar a vista previa antes da caixa de edición',
'tog-previewonfirst' => 'Mostrar a vista previa na primeira edición',
-'tog-nocache' => 'Desactivar a memoria caché do navegador',
'tog-enotifwatchlistpages' => 'Enviádeme unha mensaxe de correo electrónico cando unha páxina ou un ficheiro da miña lista de vixilancia sufra un cambio',
'tog-enotifusertalkpages' => 'Enviádeme unha mensaxe de correo electrónico cando a miña páxina de conversa cambie',
'tog-enotifminoredits' => 'Enviádeme tamén unha mensaxe de correo electrónico cando se produzan edicións pequenas nas páxinas ou nos ficheiros',
'tog-minordefault' => 'Σημαίνειν ὡς ἥττονας ἁπάσας τὰς μεταγραφὰς προκαθωρισμένως',
'tog-previewontop' => 'Δεικνύναι τὸ προεπισκοπεῖν πρὸ τοῦ κυτίου μεταγραφῆς',
'tog-previewonfirst' => 'Τῆς πρώτης μεταγραφῆς, δεικνύναι τὸ προεπισκοπεῖν',
-'tog-nocache' => 'Ἀπενεργοποιεῖν ἀποτεταμιευμένην μνήμην',
'tog-enotifwatchlistpages' => 'Ἄγγειλόν μοι ὅτε δέλτος τις ἐν τῇ ἐφοροδιαλογῇ μου μεταβάλληται',
'tog-enotifusertalkpages' => 'Ἄγγειλόν μοι ὅτε ἡ δέλτος μου διαλέξεως χρωμένου μεταβάλληται',
'tog-enotifminoredits' => 'Ἄγγειλόν μοι ἐπἴσης τὰς ἥττονας ἀλλαγὰς δέλτων',
'tog-minordefault' => 'Alli dyni Änderigen als «chlyni Änderige» markiere',
'tog-previewontop' => 'Vorschou vor em Editierfänschter aazeige',
'tog-previewonfirst' => 'Vorschou aazeige bim erschten Editiere',
-'tog-nocache' => 'Syte-Cache vum Browser deaktiviere',
'tog-enotifwatchlistpages' => 'Schick mer e Mail, wänn e Syte oder e Datei gänderet wird, wun i beobachte due',
'tog-enotifusertalkpages' => 'Benachrichtigungsmails bi Änderigen a dyne Benutzersyte',
'tog-enotifminoredits' => 'Au bi chlaine Änderige an Syte oder Dateie ne Mail schicke',
'tog-minordefault' => 'બધા નવા ફેરફારો નાના તરીકે માર્ક કરો.',
'tog-previewontop' => 'ફેરફાર પેટી પહેલાં પૂર્વાલોકન દર્શાવો',
'tog-previewonfirst' => 'પ્રથમ ફેરફાર વખતે પૂર્વાલોકન બતાવો',
-'tog-nocache' => 'બ્રાઉઝરનું પેજ કેશિંગ અસક્રિય કરો',
'tog-enotifwatchlistpages' => 'મારી ધ્યાનસૂચિમાંનું પાનુ અને ફાઇલમાં ફેરફાર થાય ત્યારે મને ઇ-મેલ મોકલો',
'tog-enotifusertalkpages' => 'મારી ચર્ચાનાં પાનામાં ફેરફાર થાય ત્યારે મને ઇમેલ મોકલો',
'tog-enotifminoredits' => 'પાનાં અને ફાઇલ્સમાં નાનાં ફેરફાર થાય તો પણ મને ઇમેલ મોકલો',
'tog-minordefault' => 'Myr roie-hoieaghey, cowree dagh arraghey myr myn-arraghey',
'tog-previewontop' => 'Taishbyn y roie-haishbynys roish y chishtey reaghee',
'tog-previewonfirst' => 'Taishbyn roie-haishbynys lurg y chied reaghey',
-'tog-nocache' => 'Ny sauail duillagyn ayns tasht y jeeagheyder',
'tog-enotifwatchlistpages' => 'Cur post-l dou tra ta duillag er y rolley arrey aym goll er reaghey',
'tog-enotifusertalkpages' => 'Cur post-l dou my vees y duillag ymmydeyr aym caghlaa',
'tog-enotifminoredits' => 'Cur dou post-l er myn-arraghey duillagyn chammah',
'tog-minordefault' => '默認標記全部編寫為細微修改',
'tog-previewontop' => '在編寫框上頭顯示預覽',
'tog-previewonfirst' => '第一擺編寫時顯示預覽',
-'tog-nocache' => '停用瀏覽器嘅頁面緩存',
'tog-enotifwatchlistpages' => '亻厓監視列表肚嘅頁面或文件有更動時,發電子郵件分亻厓',
'tog-enotifusertalkpages' => '亻厓嘅交流頁有更改時,發電子郵件分亻厓',
'tog-enotifminoredits' => '頁面撈文件嘅細修改也發電子郵件分我',
'tog-minordefault' => 'הגדרת כל פעולת עריכה כמשנית אם לא צוין אחרת',
'tog-previewontop' => 'הצגת תצוגה מקדימה לפני תיבת העריכה',
'tog-previewonfirst' => 'הצגת תצוגה מקדימה בעריכה ראשונה',
-'tog-nocache' => 'מניעת אחסון הדפים בזיכרון המטמון בדפדפן',
'tog-enotifwatchlistpages' => 'לשלוח אליי דואר אלקטרוני כאשר משתנה דף או קובץ ברשימת המעקב שלי',
'tog-enotifusertalkpages' => 'לשלוח אליי דואר אלקטרוני כאשר נעשה שינוי בדף שיחת המשתמש שלי',
'tog-enotifminoredits' => 'לשלוח אליי דואר אלקטרוני גם על עריכות משניות של דפים וקבצים',
'print.css' => '/* הסגנונות הנכתבים כאן ישפיעו על הפלט בהדפסה בלבד */',
'noscript.css' => '/* הסגנונות הנכתבים כאן ישפיעו על משתמשים עם JavaScript מבוטל */',
'group-autoconfirmed.css' => '/* הסגנונות הנכתבים כאן ישפיעו על משתמשים ותיקים בלבד */',
+'group-user.css' => '/* הסגנונות הנכתבים כאן ישפיעו על משתמשים רשומים בלבד */',
'group-bot.css' => '/* הסגנונות הנכתבים כאן ישפיעו על בוטים בלבד */',
'group-sysop.css' => '/* הסגנונות הנכתבים כאן ישפיעו על מפעילי מערכת בלבד */',
'group-bureaucrat.css' => '/* הסגנונות הנכתבים כאן ישפיעו על ביורוקרטים בלבד */',
'modern.js' => '/* כל סקריפט JavaScript שנכתב כאן ירוץ רק עבור המשתמשים בעיצוב Modern */',
'vector.js' => '/* כל סקריפט JavaScript שנכתב כאן ירוץ רק עבור המשתמשים בעיצוב Vector */',
'group-autoconfirmed.js' => '/* כל סקריפט JavaScript שנכתב כאן ירוץ עבור משתמשים ותיקים בלבד */',
+'group-user.js' => '/* כל סקריפט JavaScript שנכתב כאן ירוץ עבור משתמשים רשומים בלבד */',
'group-bot.js' => '/* כל סקריפט JavaScript שנכתב כאן ירוץ עבור בוטים בלבד */',
'group-sysop.js' => '/* כל סקריפט JavaScript שנכתב כאן ירוץ עבור מפעילי מערכת בלבד */',
'group-bureaucrat.js' => '/* כל סקריפט JavaScript שנכתב כאן ירוץ עבור ביורוקרטים בלבד */',
'pageinfo-article-id' => 'מזהה הדף',
'pageinfo-language' => 'שפת התוכן של הדף',
'pageinfo-content-model' => 'סוג התוכן של הדף',
-'pageinfo-robot-policy' => 'איסוף על ידי רובוטים של מנועי חיפוש',
+'pageinfo-robot-policy' => 'איסוף על־ידי רובוטים של מנועי חיפוש',
'pageinfo-robot-index' => 'מותר',
'pageinfo-robot-noindex' => 'אסור',
'pageinfo-views' => 'מספר הצפיות',
'imgmultigo' => 'הצגה',
'imgmultigoto' => 'מעבר לדף $1',
+# Language selector for translatable SVGs
+'img-lang-default' => '(שפת ברירת המחדל)',
+'img-lang-info' => 'הצגת תמונה זו בשפה $1 $2.',
+'img-lang-go' => 'הצגה',
+
# Table pager
'ascending_abbrev' => 'עולה',
'descending_abbrev' => 'יורד',
* @author Bhawani Gautam
* @author Bhawani Gautam Rhk
* @author Charu
+ * @author Darshan kandolkar
* @author Dineshjk
* @author Hemant wikikosh1
* @author Htt
'tog-minordefault' => 'मेरे सभी सम्पादन छोटे बदलाव हैं',
'tog-previewontop' => 'सम्पादन बक्से के ऊपर झलक दिखाएँ',
'tog-previewonfirst' => 'प्रथम सम्पादन के बाद झलक दिखाएँ',
-'tog-nocache' => 'ब्राउज़र पृष्ठ कैशिंग अक्षम करें',
'tog-enotifwatchlistpages' => 'मेरी ध्यानसूची में दर्ज किसी भी पृष्ठ अथवा फ़ाइल में परिवर्तन होने पर मुझे ई-मेल करें',
'tog-enotifusertalkpages' => 'मेरा वार्ता पृष्ठ परिवर्तित होने पर मुझे ई-मेल करें',
'tog-enotifminoredits' => 'छोटे परिवर्तनों के लिए भी मुझे ई-मेल भेजें',
'yourpasswordagain' => 'कूटशब्द दुबारा लिखें:',
'createacct-yourpasswordagain' => 'कूटशब्द की पुष्टि करें',
'createacct-yourpasswordagain-ph' => 'कूटशब्द पुनः लिखें',
-'remembermypassword' => 'à¤\87स बà¥\8dराà¤\89à¤\9c़र पर मà¥\87रा लà¥\89à¤\97िन याद रà¤\96à¥\87à¤\82 (à¤\85धिà¤\95तम $1 {{PLURAL:$1|दिन|दिनà¥\8bà¤\82}} à¤\95à¥\87 लिà¤\8f)',
+'remembermypassword' => 'हà¥\8dया बà¥\8dराà¤\89à¤\9cराà¤\9aà¥\87र माà¤\9cà¥\8b लà¥\89à¤\97 à¤\87न याद दवरात (à¤\9aडाà¤\82तà¤\9aड $1 {{PLURAL:$1|दिस|दिसाà¤\82}} à¤\96ातà¥\80र)',
'userlogin-remembermypassword' => 'मुझे लॉग्ड इन रखें',
'userlogin-signwithsecure' => 'सुरक्षित कनेक्शन का प्रयोग करें',
'yourdomainname' => 'आपका डोमेन:',
'prevpage' => 'पिछला पृष्ठ ($1)',
'allpagesfrom' => 'इस अक्षर से आरंभ होने वाले पृष्ठ दर्शाएँ:',
'allpagesto' => 'इस अक्षर से समाप्त होने वाले पृष्ठ दिखाएँ:',
-'allarticles' => 'सà¤à¥\80 पà¥\83षà¥\8dठ',
+'allarticles' => 'सà¤\97ळà¥\80 पाना',
'allinnamespace' => 'सभी पृष्ठ ($1 नामस्थान)',
'allpagessubmit' => 'जाएँ',
'allpagesprefix' => 'इस उपपद से शुरू होने वाले पृष्ठ दर्शाएँ:',
# Namespace 8 related
'allmessages' => 'व्यवस्था संदेश',
-'allmessagesname' => 'नाम',
+'allmessagesname' => 'नाà¤\82व',
'allmessagesdefault' => 'डिफॉल्ट पाठ',
'allmessagescurrent' => 'वर्तमान पाठ',
'allmessagestext' => 'ये मीडियाविकि नामस्थान में उपलब्ध प्रणाली संदेशों की एक सूची है। यदि आप सामान्य मीडियाविकि क्षेत्रीयकरण में योगदान देना चाहें तो कृपया [https://www.mediawiki.org/wiki/Localisation मीडियाविकि क्षेत्रीयकरण] व [//translatewiki.net translatewiki.net] को देखें।',
'tog-minordefault' => 'Mamuli badlao ke apne se nishaan lagao',
'tog-previewontop' => 'Badlao waala dabba se pahile ek jhalak dekhao',
'tog-previewonfirst' => 'Hamaar pahila badlao pe jhalak dekhao',
-'tog-nocache' => 'Browser pe panna ke bachae me rok lagao',
'tog-enotifwatchlistpages' => 'Jab hamaar dhyaan suchi ke koi panna, nai to file, ke badla jae tab hame E-mail karo',
'tog-enotifusertalkpages' => 'Jab hamaar baat waala panna ke badla jae tab hame E-mail karo',
'tog-enotifminoredits' => 'Panna aur file me mamuli badlao khatir bhi hame E-mail karo',
'tog-minordefault' => 'Markahan dayon ang tanan nga diyutay nga pag-ilis',
'tog-previewontop' => 'Ipakita ang preview bag-o ang kahon sang pag-ilis',
'tog-previewonfirst' => 'Ipakita ang preview sa pinaka-una nga pag-ilis',
-'tog-nocache' => 'Untaton ang kina-iya sang brawser nga magtago sang panid',
'tog-enotifwatchlistpages' => 'Padal-i ako sang e-mail kon ang panid kag hilera nga akon ginabantayan paga-ilisan',
'tog-enotifusertalkpages' => 'Padal-i ako sang e-mail kon paga-ilisan ang akon panid sang pag-hisayranay',
'tog-enotifminoredits' => 'Padal-i man ako sang e-mail kon may diyutay nga pag-ilis sa akon mga panid kag hilera',
'tog-minordefault' => 'Normalno označavaj sve moje izmjene kao manje',
'tog-previewontop' => 'Prikaži kako će stranica izgledati iznad okvira za uređivanje',
'tog-previewonfirst' => 'Prikaži kako će stranica izgledati čim otvorim uređivanje',
-'tog-nocache' => 'Isključi međuspremnik (cache) stranica u pregledniku',
'tog-enotifwatchlistpages' => 'Pošalji mi e-mail kod izmjene stranice u popisu praćenja',
'tog-enotifusertalkpages' => 'Pošalji mi e-mail kod izmjene moje stranice za razgovor',
'tog-enotifminoredits' => 'Pošalji mi e-mail i kod manjih izmjena stranice',
'tog-minordefault' => 'Wšě změny standardnje jako snadne woznamjenić',
'tog-previewontop' => 'Přehlad před wobdźěłanskim polom pokazać',
'tog-previewonfirst' => 'Při prěnim wobdźěłanju přehlad pokazać',
-'tog-nocache' => 'Pufrowanje stronow wobhladowaka znjemóžnić',
'tog-enotifwatchlistpages' => 'E-mejlku pósłać, hdyž so strona abo dataja z wobkedźbowankow změni',
'tog-enotifusertalkpages' => 'E-mejlku pósłać, hdyž so moja wužiwarska diskusijna strona změni',
'tog-enotifminoredits' => 'Tež za snadne změny stronow a datajow e-mejl pósłać',
'tog-minordefault' => 'Make tout modifikasyon mwen yo "tou piti" pa defo',
'tog-previewontop' => 'Montre kout je anvan zòn modifikasyon',
'tog-previewonfirst' => 'Montre kout je pou chak premye modifikasyon',
-'tog-nocache' => 'Dezame kach pou paj yo nan òdinatè mwen',
'tog-enotifwatchlistpages' => 'Voye m imèl lè youn nan paj m ap swiv yo chanje',
'tog-enotifusertalkpages' => 'Voye m imèl lè paj itilizatè m nan chanje',
'tog-enotifminoredits' => 'Voye m imèl tou pou modifikasyon paj yo ki tou piti',
'tog-minordefault' => 'Alapértelmezetten minden szerkesztésemet jelölje aprónak',
'tog-previewontop' => 'Előnézet megjelenítése a szerkesztőablak előtt',
'tog-previewonfirst' => 'Előnézet első szerkesztésnél',
-'tog-nocache' => 'A lapok gyorstárazásának letiltása a böngészőben',
'tog-enotifwatchlistpages' => 'Kapjak értesítést e-mailben, ha egy általam figyelt lap vagy fájl megváltozik',
'tog-enotifusertalkpages' => 'Kapjak értesítést e-mailben, ha megváltozik a vitalapom',
'tog-enotifminoredits' => 'Kapjak értesítést e-mailben a lapok és fájlok apró változtatásairól',
'tog-minordefault' => 'Նշել խմբագրումները որպես չնչին ըստ լռության',
'tog-previewontop' => 'Ցույց տալ նախադիտումը խմբագրման դաշտից առաջ',
'tog-previewonfirst' => 'Նախադիտել մինչև առաջին խմբագրությունը',
-'tog-nocache' => 'Արգելել էջերի գրանցումը հիշողության մեջ',
'tog-enotifwatchlistpages' => 'էլ-փոստով տեղեկացնել հսկվող էջերում փոփոխությունների մասին',
'tog-enotifusertalkpages' => 'էլ-փոստով տեղեկացնել իմ քննարկման էջի փոփոխության մասին',
'tog-enotifminoredits' => 'էլ-փոստով տեղեկացնել էջերի նաև չնչին խմբագրումների մասին',
'tog-minordefault' => 'Marcar omne modificationes initialmente como minor',
'tog-previewontop' => 'Monstrar previsualisation ante le quadro de modification',
'tog-previewonfirst' => 'Monstrar previsualisation al prime modification',
-'tog-nocache' => "Disactivar le ''cache'' de paginas in le navigator",
'tog-enotifwatchlistpages' => 'Notificar me per e-mail quando un pagina o file in mi observatorio es modificate',
'tog-enotifusertalkpages' => 'Notificar me per e-mail quando mi pagina de discussion es modificate',
'tog-enotifminoredits' => 'Notificar me etiam de modificationes minor de paginas e files',
'tog-minordefault' => 'Tandai semua suntingan sebagai suntingan kecil secara baku',
'tog-previewontop' => 'Perlihatkan pratayang sebelum kotak sunting dan tidak sesudahnya',
'tog-previewonfirst' => 'Perlihatkan pratayang pada suntingan pertama',
-'tog-nocache' => 'Nonaktifkan penyinggahan halaman peramban',
'tog-enotifwatchlistpages' => 'Kirimkan saya surel jika suatu halaman yang saya pantau berubah',
'tog-enotifusertalkpages' => 'Kirimkan saya surel jika halaman pembicaraan saya berubah',
'tog-enotifminoredits' => 'Kirimkan saya surel juga pada perubahan kecil',
'tog-minordefault' => 'Marcar omni li redactiones minori per contumacie',
'tog-previewontop' => 'Monstrar prevision ante de buxe de redaction',
'tog-previewonfirst' => 'Monstrar prevision in prim redaction',
-'tog-nocache' => 'Desvalidar caching de págine',
'tog-enotifwatchlistpages' => 'Inviar me un e-mail quande un págine o dossiere de mi liste de págines vigilantie es changeat',
'tog-enotifusertalkpages' => 'Inviar me e-mail quande mi págine de discussion es changeat',
'tog-enotifminoredits' => 'Inviar me un e-mail anc por minor redactiones de págines a dossieres',
'otherlanguages' => 'Altri lingues',
'redirectedfrom' => '(Redirectet de $1)',
'redirectpagesub' => 'Págine de redirecterion',
-'lastmodifiedat' => 'Ti-ci págine ha redactet in ultim li $1, clocca $2.',
+'lastmodifiedat' => 'Ti-ci págine ha esser redactet in ultim li $1, clocca $2.',
'viewcount' => 'Ti págine ha esset accesset {{PLURAL:$1|un vez|$1 vezes}}.',
'protectedpage' => 'Un protectet págine',
'jumpto' => 'Saltar a:',
'tog-minordefault' => 'Me ka nhoro da na orü ntakịrị níle',
'tog-previewontop' => 'Zitú ntàkịrị mgbe opuzọr zi igbe orü',
'tog-previewonfirst' => 'Zitú nke takírí orü mbu',
-'tog-nocache' => 'Bì-chi cache na otúzọr intaneti gi',
'tog-enotifwatchlistpages' => 'Türüm e-mail mgbe ihü nor na ndetu ihem ne lé gbanwere',
'tog-enotifusertalkpages' => 'Türüm e-mail ngbe ébé okwu ndi na banife nkem gbanwere',
'tog-enotifminoredits' => 'Türüm e-mail maka orü ntakịrị ihüá',
'tog-minordefault' => 'Markaan amin nga inurnos a kas sigud a bassit',
'tog-previewontop' => 'Ipakita ti panagipadas sakbay ti pagurnosan a kahon',
'tog-previewonfirst' => 'Ipakita ti pinadas iti umuna a panag-urnos',
-'tog-nocache' => 'Ibaldado ti panagilemmeng ti pabasabasa ti panid',
'tog-enotifwatchlistpages' => 'Esuratannak no mabaliwan ti panid wenno papeles idiay listaan dagiti bambantayak',
'tog-enotifusertalkpages' => 'Esuratannak no mabaliwan ti panid ti tungtungak',
'tog-enotifminoredits' => 'Esuratannak pay para kadagiti bassit a panag-urnos kadagiti panid ken papeles',
'tog-minordefault' => 'Теркамза хувцамаш лоархӀамза белгалде',
'tog-previewontop' => 'ГӀалатнийсдара кора хьалхе бӀаргтассам оттае',
'tog-previewonfirst' => 'ГӀалатнийсдаре дехьавоалаш/йоалаш бӀаргтассам хьахьокха',
-'tog-nocache' => 'Укхазара оагӀувнаший лочкъараш дӀадоаде',
'tog-enotifwatchlistpages' => 'ОагӀувний хувцамахи теркама дагарленахи лаьца, д-хоамнец хоам бе',
'tog-enotifusertalkpages' => 'Са дувцама оагӀув тӀа хувцамаш хилача, д-хоамнец хоам бе',
'tog-enotifminoredits' => 'Геттара зӀамига хувцамаш хилача, д-хоамнец хоам бе',
'tog-minordefault' => 'Markizez kustume omna redaktajo kom mikra',
'tog-previewontop' => 'Montrez prevido avan la redakto-buxo',
'tog-previewonfirst' => 'Montrez prevido pos la unesma redakto',
-'tog-nocache' => 'Nekapableskez cache-ar pagini',
'tog-enotifwatchlistpages' => 'Sendez e-posto a me kande pagino quan me surveyas chanjesas',
'tog-enotifusertalkpages' => 'Sendez e-posto a me kande mea diskuto-pagino chanjesas',
'tog-enotifminoredits' => 'Sendez e-posto a me mem por mikra chanji',
'tog-minordefault' => 'Merkja allar breytingar sem minniháttar sjálfgefið',
'tog-previewontop' => 'Sýna forskoðun á undan breytingarkassanum',
'tog-previewonfirst' => 'Sýna forskoðun með fyrstu breytingu',
-'tog-nocache' => 'Slökkva á flýtiminni vafrans',
'tog-enotifwatchlistpages' => 'Senda mér tölvupóst þegar síðu eða skrá á vaktlistanum mínu er breytt',
'tog-enotifusertalkpages' => 'Senda mér tölvupóst þegar notandaspjallinu mínu er breytt',
'tog-enotifminoredits' => 'Senda mér einnig tölvupóst vegna minniháttar breytinga á síðum og skrám',
'tog-minordefault' => 'Indica ogni modifica come minore (solo come predefinito)',
'tog-previewontop' => "Mostra l'anteprima sopra la casella di modifica e non sotto",
'tog-previewonfirst' => "Mostra l'anteprima almeno una volta prima di salvare",
-'tog-nocache' => 'Disabilita la cache delle pagine del browser',
'tog-enotifwatchlistpages' => 'Inviami una email quando viene modificata una pagina o un file presente tra gli osservati speciali',
'tog-enotifusertalkpages' => 'Segnalami via e-mail le modifiche alla mia pagina di discussione',
'tog-enotifminoredits' => 'Inviami una email anche per le modifiche minori di pagine e file',
'tog-minordefault' => '細部の編集に既定でチェックを入れる',
'tog-previewontop' => 'プレビューを編集ボックスの前に配置',
'tog-previewonfirst' => '編集開始時にもプレビューを表示',
-'tog-nocache' => 'ブラウザーによるページのキャッシュを無効にする',
'tog-enotifwatchlistpages' => 'ウォッチリストにあるページやファイルが更新されたらメールを受け取る',
'tog-enotifusertalkpages' => '自分のトークページが更新されたらメールを受け取る',
'tog-enotifminoredits' => 'ページやファイルへの細部の編集でもメールを受け取る',
'nextn-title' => '次の{{PLURAL:$1|$1件}}',
'shown-title' => 'ページあたり{{PLURAL:$1|$1件の結果}}を表示',
'viewprevnext' => '($1{{int:pipe-separator}}$2) ($3 件) を表示',
-'searchmenu-exists' => "'''このウィキには「[[:$1]]」という名前のページがあります'''",
-'searchmenu-new' => "'''ã\81\93ã\81®ã\82¦ã\82£ã\82ã\81§ã\83\9aã\83¼ã\82¸ã\80\8c[[:$1]]ã\80\8dã\82\92æ\96°è¦\8fä½\9cæ\88\90ã\81\99ã\82\8b'''",
+'searchmenu-exists' => "'''このウィキには「[[:$1]]」という名前のページがあります。'''{{PLURAL:$2|0=|検索で見つかった他のページも参照してください。}}",
+'searchmenu-new' => "'''ã\81\93ã\81®ã\82¦ã\82£ã\82ã\81§ã\83\9aã\83¼ã\82¸ã\80\8c[[:$1]]ã\80\8dã\82\92æ\96°è¦\8fä½\9cæ\88\90ã\81\97ã\81¾ã\81\97ã\82\87ã\81\86ã\80\82'''{{PLURAL:$2|0=|æ¤\9cç´¢ã\81§è¦\8bã\81¤ã\81\8bã\81£ã\81\9fä»\96ã\81®ã\83\9aã\83¼ã\82¸ã\82\82å\8f\82ç\85§ã\81\97ã\81¦ã\81\8fã\81 ã\81\95ã\81\84ã\80\82}}",
'searchprofile-articles' => '本文ページ',
'searchprofile-project' => 'ヘルプとプロジェクトページ',
'searchprofile-images' => 'マルチメディア',
'tooltip-undo' => '「取り消し」はこの編集を差し戻し、編集画面をプレビュー付きで開きます。要約欄に理由を追加できます。',
'tooltip-preferences-save' => '設定を保存する',
'tooltip-summary' => '短い要約を入力してください',
-'interlanguage-link-title' => '$1 – $2',
+'interlanguage-link-title' => '$2: $1',
# Stylesheets
'common.css' => '/* ここに記述したCSSはすべての外装に反映されます */',
'tog-watchdeletion' => 'Ad piej mi diliit tu mi wachlis',
'tog-previewontop' => 'Shuo priivyuu bifuo edit bax',
'tog-previewonfirst' => 'Shuo priivyuu pahn fos edit',
-'tog-nocache' => 'Disiebl brouza piej kiashin',
'tog-enotifwatchlistpages' => 'E-miel mi wen piej pahn mi wachlis chienj',
'tog-enotifusertalkpages' => 'E-miel mi wen mi yuuza taak piej chienj',
'tog-enotifminoredits' => 'E-miel mi alzwel fi maina edit pahn piej',
'tog-minordefault' => 'Tandhanana kabèh suntingan dadi suntingan cilik secara baku',
'tog-previewontop' => 'Tuduhna pratayang sadurungé kothak sunting lan ora sawisé',
'tog-previewonfirst' => 'Tuduhna pratayang ing suntingan kapisan',
-'tog-nocache' => 'Nonaktifaken penyinggahan kaca peramban',
'tog-enotifwatchlistpages' => 'Kirimi kula layang èlèktronik yèn ana kaca utawa berkas nèng daptar pangawasanku sing diowah',
'tog-enotifusertalkpages' => 'Kirimana aku layang e-mail yèn kaca dhiskusiku owah',
'tog-enotifminoredits' => 'Kirimi kula layang èlèktronik uga yèn ana suntingan cilik saka kaca lan berkas',
'tog-minordefault' => 'ყველა რედაქტირების მონიშვნა, როგორც უმნიშვნელო, უპირობოდ',
'tog-previewontop' => 'წინასწარი გადახედვის ჩვენება რედაქტირების დაფამდე',
'tog-previewonfirst' => 'წინასწარი ჩვენება პირველივე რედაქტირებაზე',
-'tog-nocache' => 'გათიშეთ ბრაუზერში გვერდების ქეშირება',
'tog-enotifwatchlistpages' => 'მომწერე ელ. ფოსტით, როცა გვერდი ან ფაილი, რომელსაც მე ვაკონტროლებ, შეიცვლება',
'tog-enotifusertalkpages' => 'მომწერე თუ ჩემი განხილვის გვერდი შეიცვლება',
'tog-enotifminoredits' => 'მომწერე ასევე გვერდებისა და ფაილების მცირე რედაქტირებისას',
'tog-minordefault' => "Defolt boyınsha barlıq o'zgerislerdi kishi dep esaplaw",
'tog-previewontop' => "O'zgertiw maydanınan aldın ko'rip shıg'ıw maydanın ko'rset",
'tog-previewonfirst' => "Birinshi o'zgertiwdi ko'rip shıq",
-'tog-nocache' => "Brauzer bet keshlewin o'shir",
'tog-enotifwatchlistpages' => "Baqlaw dizimimdegi bet o'zgertilgende mag'an xat jiber",
'tog-enotifusertalkpages' => "Menin' sa'wbetim o'zgertilgende mag'an xat jiber",
'tog-enotifminoredits' => "Kishi o'zgerisler haqqında da mag'an xat jiber",
'tog-minordefault' => 'Rcem akk ibeddlen am ibeddlen ifessasen d ameslugen',
'tog-previewontop' => 'Ssken pre-timeẓriwt uqbel tankult ubeddel',
'tog-previewonfirst' => 'Ssken pre-timeẓriwt akk d ubeddel amezwaru',
-'tog-nocache' => 'Ekkes lkac n usebter',
'tog-enotifwatchlistpages' => "Azen-iyi-d e-mail m'ara yettubeddel asebter i ttɛassaɣ",
'tog-enotifusertalkpages' => 'Azen-iyi-d e-mail asmi sɛiɣ izen amaynut',
'tog-enotifminoredits' => 'Azen-iyi-d e-mail ma llan ibeddlen ifessasen',
'tog-minordefault' => 'Гулъытэгъуэшхуэ зимыӀэ хуэду щӀын гъэтэрэзыгъуэхэр',
'tog-previewontop' => 'Япэ-еплъыр гъэтэрэзыным и пхырыплъым ипэ игъувэн',
'tog-previewonfirst' => 'Япэ-еплъыр гъэтэрэзыным кӀуэным ипкӀэ гъэлъэгъуэн',
-'tog-nocache' => 'Кеш щӀыныр гъэункӀыфӀын напэкӀуэцӀ браузерым хэтхэм',
'tog-enotifwatchlistpages' => 'Почтэм къэӀохун, тхылъ кӀэлъыплъыгъуэм хэт напэкӀуэцӀхэм я зэхъуэкӀыгъуэхэм',
'tog-enotifusertalkpages' => 'Почтэм къэӀохун аккаунтым и напэкӀуэцӀ тепсэлъыхьыгъуэм и зэхъуэкӀыгъуэхэм',
'tog-enotifminoredits' => 'Почтэм къэӀохун зэхъуэкӀыгъуэ цӀыкӀу халъхьэми',
'tog-minordefault' => 'تھمامو ترمیماتن ہمیشہ بطورِ معمولی ترمیم نشانزد کورے',
'tog-previewontop' => 'تدوینی خاناری پروشٹی نمائش پشاؤے',
'tog-previewonfirst' => 'آویلو ترمیما نمائش پشاؤے',
-'tog-nocache' => 'بطن کاری صفحہو غیر فعال ساؤزاوے',
'tog-enotifwatchlistpages' => 'کیاوتکہ مہ زیرِنظرفہرستہو کیہ صفحہا تبدیلی واقع کہ ہوی تھے متے بشلی کغاز انزاوے',
'tog-enotifusertalkpages' => 'کیاوتکہ مہ تبادلۂ خیالو صفحہ تبدیلی واقع کہ ہویی تھے متے بشلی کغاز(ای میل) انځاوے جما',
'tog-enotifminoredits' => 'صفحاتہ معمولی ترمیماتن بارا دی متے بشلی کغاز انزاوے',
'tog-minordefault' => 'Vurnayisunê ho pêrune ‘vurnayiso qızkek’ nisan bıde',
'tog-previewontop' => 'Verqayti pela nustene ser de bıasne',
'tog-previewonfirst' => 'Vurnayiso verên de verqayti tım bıasne',
-'tog-nocache' => 'Pelunê cıfeteliyawoği mia ho viri',
'tog-enotifwatchlistpages' => 'Zû pele ya ki dosyawa ke lista mına şêrkerdişi de vurnê mı rê e-poste bırusne',
'tog-enotifusertalkpages' => 'Pela mına hurênayişi ke vurnê mı rê e-poste bırusne',
'tog-enotifminoredits' => 'Vurnayisunê qızkekunê pelun u dosyu de ki mı rê e-poste bırusne',
'tog-minordefault' => 'ادەپكىدەن بارلىق وڭدەمەلەردى شاعىن دەپ بەلگىلە',
'tog-previewontop' => 'قاراپ شىعۋ اۋماعى كىرىستىرۋ ورنى الدىندا',
'tog-previewonfirst' => 'ٴبىرىنشى وڭدەگەندە قاراپ شىعۋ',
-'tog-nocache' => 'بەت بۇركەمەلەۋىن ٴوشىر',
'tog-enotifwatchlistpages' => 'باقىلانعان بەت وزگەرگەندە ماعان حات جىبەر',
'tog-enotifusertalkpages' => 'تالقىلاۋىم وزگەرگەندە ماعان حات جىبەر',
'tog-enotifminoredits' => 'شاعىن وڭدەمە تۋرالى دا ماعان حات جىبەر',
'tog-minordefault' => 'Әдепкіден барлық өңдемелерді шағын деп белгіле',
'tog-previewontop' => 'Қарап шығу аумағын өңдеу терезесінің жоғарғы жағында көрсету',
'tog-previewonfirst' => 'Бірінші өңдегенде қарап шығу',
-'tog-nocache' => 'Бет бүркемелеуін өшір',
'tog-enotifwatchlistpages' => 'Бақылауыңыздағы бет өзгергенде е-поштаға хабарлама жіберу',
'tog-enotifusertalkpages' => 'Талқылау бетім өзгергенде маған хат жібер',
'tog-enotifminoredits' => 'Шағын өңдеме туралы да маған хат жібер',
'templatesusedsection' => 'Бұл бөлімде қолданылған {{PLURAL:$1|үлгі|үлгілер}}:',
'template-protected' => '(қорғалған)',
'template-semiprotected' => '(жартылай қорғалған)',
-'hiddencategories' => 'Бұл бет $1 {{PLURAL:$1|1 жасырын санаттың|$1 жасырын санаттардың}}: мүшесі:',
+'hiddencategories' => 'Бұл бет {{PLURAL:$1|1 жасырын санаттың|$1 жасырын санаттың}} мүшесі:',
'nocreatetext' => '{{SITENAME}} жобасында жаңа бет бастауы шектелген.
Кері қайтып бар бетті өңдеуіңізге болады, немесе [[Special:UserLogin|кіруіңізге не тіркелуіңізге]] болады.',
'nocreate-loggedin' => 'Жаңа бет бастауға рұқсатыңыз жоқ.',
'tog-minordefault' => 'Ädepkiden barlıq öñdemelerdi şağın dep belgile',
'tog-previewontop' => 'Qarap şığw awmağı kiristirw ornı aldında',
'tog-previewonfirst' => 'Birinşi öñdegende qarap şığw',
-'tog-nocache' => 'Bet bürkemelewin öşir',
'tog-enotifwatchlistpages' => 'Baqılanğan bet özgergende mağan xat jiber',
'tog-enotifusertalkpages' => 'Talqılawım özgergende mağan xat jiber',
'tog-enotifminoredits' => 'Şağın öñdeme twralı da mağan xat jiber',
'tog-minordefault' => 'ចំណាំគ្រប់កំណែប្រែរបស់ខ្ញុំថាជាកំណែប្រែតិចតួច',
'tog-previewontop' => 'បង្ហាញការមើលមុនពីលើប្រអប់កែប្រែ',
'tog-previewonfirst' => 'បង្ហាញការមើលមុនសម្រាប់កំណែប្រែដំបូងគេ',
-'tog-nocache' => 'មិនប្រើសតិភ្ជាប់នៃទំព័រ',
'tog-enotifwatchlistpages' => 'ផ្ញើអ៊ីមែលមកខ្ញុំកាលបើមានបន្លាស់ប្ដូរនៃទំព័រណាមួយដែលមានក្នុងបញ្ជីតាមដានរបស់ខ្ញុំ',
'tog-enotifusertalkpages' => 'ផ្ញើអ៊ីមែលមកខ្ញុំកាលបើមានបន្លាស់ប្ដូរនៅក្នុងទំព័រពិភាក្សារបស់ខ្ញុំ',
'tog-enotifminoredits' => 'ផ្ញើអ៊ីមែលមកខ្ញុំពេលមានបន្លាស់ប្ដូរតិចតួចលើទំព័រឬឯកសារផងដែរ',
'tog-minordefault' => 'ನನ್ನ ಎಲ್ಲಾ ಸಂಪಾದನೆಗಳನ್ನು ಚುಟುಕಾದವು ಎಂದು ಗುರುತು ಮಾಡು',
'tog-previewontop' => 'ಮುನ್ನೋಟವನ್ನು ಸಂಪಾದನೆ ಚೌಕದ ಮುಂಚೆ ತೋರು',
'tog-previewonfirst' => 'ಮೊದಲ ಬದಲಾವಣೆಯ ನಂತರ ಮುನ್ನೋಟವನ್ನು ತೋರಿಸು',
-'tog-nocache' => 'ಪುಟಗಳನ್ನು ಸ್ಮರಣೆಯಲ್ಲಿಟ್ಟುಕೊಳ್ಳಬೇಡ',
'tog-enotifwatchlistpages' => 'ನನ್ನ ವೀಕ್ಷಣಾ ಪಟ್ಟಿಯಲ್ಲಿರುವ ಯಾವುದಾದರೂ ಪುಟವು ಬದಲಾದಾಗ ನನಗೆ ಇ-ಅಂಚೆ ಕಳುಹಿಸು.',
'tog-enotifusertalkpages' => 'ನನ್ನ ಚರ್ಚೆ ಪುಟ ಬದಲಾದರೆ ನನಗೆ ಇ-ಅಂಚೆ ಕಳುಹಿಸು',
'tog-enotifminoredits' => 'ಚಿಕ್ಕ-ಪುಟ್ಟ ಬದಲಾವಣೆಗಳಾದಾಗಲೂ ಇ-ಅಂಚೆ ಕಳುಹಿಸು',
'category-file-count' => '{{PLURAL:$2|ಈ ವರ್ಗದಲ್ಲಿ ಈ ಕೆಳಗಿನ ಫೈಲು ಇದೆ.|ಈ ವರ್ಗದಲ್ಲಿ ಈ ಕೆಳಗಿನ {{PLURAL:$1|ಫೈಲನ್ನು|$1 ಫೈಲುಗಳನ್ನು}} ಸೇರಿಸಿ, ಒಟ್ಟು $2 ಇವೆ.}}',
'category-file-count-limited' => 'ಪ್ರಸಕ್ತ ವರ್ಗದಲ್ಲಿ ಈ ಕೆಳಗಿನ {{PLURAL:$1|ಫೈಲು ಇದೆ|$1 ಫೈಲುಗಳು ಇವೆ}}.',
'listingcontinuesabbrev' => 'ಮುಂದು.',
-'index-category' => 'ಸà³\82à²\9aಿನಾಮದ ಪà³\81ತಗಳು',
-'noindex-category' => 'à²\85ಸà³\81à²\9aಿನಾಮದ ಪà³\81ತಗಳು',
+'index-category' => 'à²\85ನà³\81à²\95à³\8dರಮಣà³\86à²\97à³\8aà²\82ಡ ಪà³\81à²\9fಗಳು',
+'noindex-category' => 'à²\85ನà³\81à²\95à³\8dರಮಣà³\86à²\97à³\8aಳಪಡದ ಪà³\81à²\9fಗಳು',
'broken-file-category' => 'ಕಡತ ಕೊಂಡಿಗಳು ಮುರಿದಿರುವ ಪುಟಗಳು',
'about' => 'ನಮ್ಮ ಬಗ್ಗೆ',
'tog-minordefault' => '사소한 편집을 기본적으로 선택하기',
'tog-previewontop' => '편집 상자 앞에 미리 보기 보기',
'tog-previewonfirst' => '처음 편집할 때 미리 보기 보기',
-'tog-nocache' => '브라우저 문서 캐시 비활성화',
'tog-enotifwatchlistpages' => '주시문서 목록에 속한 문서나 파일이 바뀌면 이메일로 알림',
'tog-enotifusertalkpages' => '내 토론 문서가 바뀌면 이메일로 알림',
'tog-enotifminoredits' => '문서나 파일의 사소한 편집도 이메일로 알림',
'tog-minordefault' => 'Тынгылау бла бары тюрлениулени «аз магъаналы» белгиле',
'tog-previewontop' => 'Ал къарауну тюрлендириу бетни башы бла кёргюз',
'tog-previewonfirst' => 'Тюрледириу бетге кёчгенде ал къарауну кёргюз',
-'tog-nocache' => 'Бетлени браузерге кэш этерге къойма',
'tog-enotifwatchlistpages' => 'Кёзюмде тургъан тизмемдеги бетлени неда файлланы тюрлениулерин e-mail бла билдир',
'tog-enotifusertalkpages' => 'Энчи бетими тюрлениулерин e-mail бла билдир',
'tog-enotifminoredits' => 'Бетлени неда файлланы гитче тюрлениулерин огъуна E-mail бла',
'tog-minordefault' => 'Dun all ming Änderunge jedes Mol als klein Mini-Änderunge vürschlage',
'tog-previewontop' => 'Zeisch de Vör-Aanseesch övver däm Fäld för der Täx enzejävve aan.',
'tog-previewonfirst' => 'Zeich de Vör-Aansich tirek för et eetste Mol beim Bearbeide aan',
-'tog-nocache' => 'Dun et Sigge Zweschespeichere en Dingem Brauser avschalte',
'tog-enotifwatchlistpages' => 'Scheck mer en <i lang="en">e-mail</i>, wann en Sigg us minge Oppaßlėß verändert woode es',
'tog-enotifusertalkpages' => 'Scheck mer en <i lang="en">e-mail</i>, wann ming Klaaf_Sigg jeändert weed',
'tog-enotifminoredits' => 'Scheck mer och en <i lang="en">e-mail</i> för de klein Mini-Änderonge',
'tog-minordefault' => 'Her guhertinekê weke guhertineke biçûk nîşan bide',
'tog-previewontop' => 'Pêşdîtina gotarê li jorî cihê guherandinê nîşan bide',
'tog-previewonfirst' => 'Li cem guherandinê hertim yekemîn pêşdîtinê nîşan bide',
-'tog-nocache' => 'Vegirtina rûpelan bisekinîne',
'tog-enotifwatchlistpages' => 'Heke rûpeleke ez dişopînim hate guhertin ji min re E-nameyekê bişîne',
'tog-enotifusertalkpages' => 'Dema rûpela min a Gotûbêjê hate guhertin e-nameyekê ji min re bişîne',
'tog-enotifminoredits' => 'Ji bo guhertinên biçûk jî E-nameyekê ji min re bişîne',
'tog-minordefault' => 'Жарыяланбасча бүт оңдоолорду майда деп белгилөө',
'tog-previewontop' => 'Оңдоо терезесинин алдына алдын ала көрсөтүүнү жайгаштыруу',
'tog-previewonfirst' => 'Оңдоого өтөөрдөн мурда алдын ала көрсөтүү',
-'tog-nocache' => 'Барактарды кэштөөнү браузерден өчүрүү',
'tog-enotifwatchlistpages' => 'Көзөмөл тизмемдеги барак же файл өзгөртүлгөндө мага эл. почта аркылуу билдирүү',
'tog-enotifusertalkpages' => 'Баарлашуу барагым өзгөртүлгөндө мага эл. почта аркылуу билдирүү',
'tog-enotifminoredits' => 'Барак же файлдардын майда өзгөртүүлөрүн дагы мага эл. почта аркылуу билдирүү',
'tog-minordefault' => 'Notare omnes recensiones quasi minores',
'tog-previewontop' => 'Monstrare praevisum ante capsam recensiti, non post ipsam',
'tog-previewonfirst' => 'Praevisum monstrare recensione incipiente',
-'tog-nocache' => 'Sistere paginas apothecare',
'tog-enotifwatchlistpages' => 'Mittere mihi litteras electronicas si pagina a me custodita vel fasciculus a me custoditus mutatur',
'tog-enotifusertalkpages' => 'Mittere mihi litteras electronicas si mea disputatio mutatur',
'tog-enotifminoredits' => 'Mittere mihi litteras electronicas etiam pro recensionibus minoribus',
'tog-minordefault' => 'Yir marcando todos los trocamientos como chiquiticos',
'tog-previewontop' => 'Àmostar el previsteo enriva del cuadro de trocamiento',
'tog-previewonfirst' => 'Àmostar el previsteo al primer trocamiento',
-'tog-nocache' => 'Desaktivar la kaxé de las hojas del navigador',
'tog-enotifwatchlistpages' => 'Cada vez que y ay un trocamiento en una hoja que está en mi lista de akavidamiento, mándame una letral (e-mail)',
'tog-enotifusertalkpages' => 'Cuando y ay un trocamineto en mi hoja de diskusyón, mándame una letral (e-mail)',
'tog-enotifminoredits' => 'I para los trocamientos chiquiticos de las hojas, mándame una letral (e-mail)',
'tog-minordefault' => "All Ännerungen automatesch als 'Kleng Ännerungen' markéieren.",
'tog-previewontop' => "Déi ''nach-net gespäichert Versioun'' iwwer der Ännerungsfënster weisen",
'tog-previewonfirst' => "Beim éischten Änneren déi ''nach net gespäichert Versioun'' weisen.",
-'tog-nocache' => 'Säitecache vum Browser desaktivéieren',
'tog-enotifwatchlistpages' => 'Schéckt mir eng E-Mail wann eng Säit oder e Fichier op menger Iwwerwaachungslëscht geännert gëtt',
'tog-enotifusertalkpages' => 'Schéckt mir E-Maile wa meng Diskussiounssäit geännert gëtt.',
'tog-enotifminoredits' => 'Schéckt mir och bei klengen Ännerungen op vu mir iwwerwaachte Säiten oder Fichieren eng E-Mail.',
'recentchanges-label-minor' => 'Dëst ass eng kleng Ännerung',
'recentchanges-label-bot' => 'Dës Ännerung gouf vun engem Bot gemaacht',
'recentchanges-label-unpatrolled' => 'Dës Ännerung gouf nach net nogekuckt',
+'recentchanges-label-plusminus' => "D'Gréisst vun der Säit huet sech ëm déi Zuel vu Bytes geännert",
'recentchanges-legend-newpage' => '(kuckt och [[Special:NewPages|Lëscht vun den neie Säiten]])',
'recentchanges-legend-plusminus' => "''(±123)''",
'rcnotefrom' => "Ugewise ginn d'Ännerunge vum '''$2''' un (maximal '''$1''' Ännerunge gi gewisen).",
'imgmultigoto' => "Géi op d'Säit $1",
# Language selector for translatable SVGs
+'img-lang-default' => '(Standard-Sprooch)',
+'img-lang-info' => 'Dëst Bild op $1$ $2 renderen.',
'img-lang-go' => 'Lass',
# Table pager
'nstab-main' => 'Ччин',
'nstab-user' => 'Уртахдин ччин',
'nstab-media' => 'Медиа ччин',
-'nstab-special' => 'Квимекдин ччин',
+'nstab-special' => 'Куьмекдин ччин',
'nstab-project' => 'Проектдин ччин',
'nstab-image' => 'Файл',
'nstab-mediawiki' => 'Малумат',
'gender-male' => 'итимдин',
'gender-female' => 'папарин',
'email' => 'E-mail',
-'prefs-help-email' => 'Электрон почтунин адрес кхьи мажбури туш, амма куьне парол рикIелай ракъурдатIа, ам герек жеда.',
+'prefs-help-email' => 'Электрон почтунин адрес кхьин мажбури туш, амма куьне парол рикIелай ракъурдатIа, ам герек жеда.',
'prefs-help-email-others' => 'Квевай куь уртахдин, ва я куь веревирдрин ччина элячIун къалурна муькуь уртахар галаз электрон почтадин куькмедалди алакъа хуьз жеда.
-Квез электрондин чар кхьидайла муькуь уртахриз куь электрондин почтадин адрес аквадач.',
+Квез электрон чар кхьидайла муькуь уртахриз куь электрон почтадин адрес аквадач.',
'prefs-advancedediting' => 'Гегьенш низамарунар',
'prefs-advancedrc' => 'Гегьенш низамарунар',
'prefs-advancedrendering' => 'Гегьенш низамарунар',
'img-auth-accessdenied' => 'Гьахьун къадагъа авунва',
'license' => 'Лицензиярун',
-'license-header' => 'Ð\9bиÑ\86инзиярун',
+'license-header' => 'Ð\9bиÑ\86ензиярун',
'nolicense' => 'ЗатIни хкягънавач',
'license-nopreview' => '(Сифтедин килигун авайд ттуш)',
'upload_source_file' => ' (куь компьютерда авай файл)',
'feedback-cancel' => 'Гьич авун',
'feedback-close' => 'Авунва',
+# Special:ExpandTemplates
+'expand_templates_xml_output' => 'XML акъудун',
+'expand_templates_ok' => 'ОК',
+'expand_templates_remove_comments' => 'Баянар алудун',
+
);
'tog-minordefault' => 'Marca costumal tota editas como minor',
'tog-previewontop' => 'Mostra la previde ante la caxa de editas',
'tog-previewonfirst' => 'Mostra la previde a la edita prima',
-'tog-nocache' => 'Desengana la reserva de pajes',
'tog-enotifwatchlistpages' => 'Envia un eposta a me cuando un paje ce me oserva es cambiada',
'tog-enotifusertalkpages' => 'Envia me un eposta cuando me paje de discutes es cambiada',
'tog-enotifminoredits' => 'Ance envia un eposta a me con edita minor de pajes',
'tog-minordefault' => "Bulijjo, enkyukakyuka z'okola zirambibwe nti ntono",
'tog-previewontop' => "Okulagako kubeerenga waggulu w'ekifo w'owandikira",
'tog-previewonfirst' => 'Buli lwensooka okukyusa olupapula, ndagangako byenkoze',
-'tog-nocache' => "Ekyandaaza kiremenga kutereka koppi z'empapula z'okebera",
'tog-enotifwatchlistpages' => "Nsindikiranga 'E-mail' empapula zengoberera buli lwe zikolebwako enkyukakyuka",
'tog-enotifusertalkpages' => "Nsindikiranga 'E-mail' olupapula lwange olwa 'Yogera nange' buli lwe lukyusibwamu",
'tog-enotifminoredits' => "Nsindikiranga 'E-mail' enkyukakyuka ne bwe ziba ntono",
'tog-minordefault' => 'Markeer sjtanderd alle bewirkinge es klein',
'tog-previewontop' => 'Veurvertuin baove bewèrkingsveld tuine',
'tog-previewonfirst' => 'Preview laote zien bie de ierste bewirking',
-'tog-nocache' => 'Zèt de browserpaginacaching oet',
'tog-enotifwatchlistpages' => "Versjik 'ne e-mail nao mich bie bewirkinge van pagina's en bestenj op mien volglies",
'tog-enotifusertalkpages' => "'ne E-mail nao mich versjikke es emes mien euverlèkpagina verangert",
'tog-enotifminoredits' => "Versjik mich 'ne e-mail bie klein bewirkinge op pagina's en bestenj op mien volglies",
'tog-minordefault' => 'Indica de longo comme menô e modiffiche',
'tog-previewontop' => "Veddi l'anteprimma de d'äto a-o spaçio pe cangiâ",
'tog-previewonfirst' => "Veddi l'anteprimma a-o primmo cangiamento",
-'tog-nocache' => 'Disabilita a cache de pagine do navegatô',
'tog-enotifwatchlistpages' => "Famme savéi via e-mail quande 'na paggina o in file inti mæ osservæ a ven cangiâ.",
'tog-enotifusertalkpages' => "Màndime un messaggio e-mail se gh'é de-e modìffiche inta pagina de discuscion da mæ pagina d'utente.",
'tog-enotifminoredits' => 'Inviami una email pe e modifiche menoî ascì de pagine e di file',
'tog-minordefault' => 'Marca tücc i mudifegh cume piscinìn',
'tog-previewontop' => "Fá vidé un'anteprima anaanz dala finèstra da redatazziún",
'tog-previewonfirst' => "Fá vidé l'anteprima ala prima redatazziún",
-'tog-nocache' => 'DIsativa la "cache" per i paginn',
'tog-enotifusertalkpages' => "Mandem un messagg e-mail quand che gh'è di mudifegh a la mè pàgina di ciaciarad",
'tog-enotifminoredits' => 'Màndem un messagg e-mail anca per i mudifegh piscinín',
'tog-enotifrevealaddr' => "Lassa vedè 'l mè indirizz e-mail int i messagg d'avis",
'tog-minordefault' => 'ຖ້າບໍ່ມີການຕັ້ງ ກຳໜົດໃຫ້ທຸກໆການດັດແກ້ ເປັນ ການດັດແກ້ເລັກນ້ອຍ',
'tog-previewontop' => 'ສະແດງ ຜົນການດັດແກ້ ເທິງ ຊ່ອງດັດແກ້',
'tog-previewonfirst' => 'ສະແດງ ຜົນການດັດແກ້ ໃນ ເວລາດັດແກ້ເທື່ອທຳອິດ',
-'tog-nocache' => 'ບໍ່ບັນທຶກ ຂໍ້ມູນບົດຄວາມ ໄວ້ໃນຄອມພິວເຕີ',
'tog-enotifwatchlistpages' => 'ສົ່ງອີເມລມາໃຫ້ຂ້ອຍ ເມື່ອ ໜ້າທີ່ຂ້ອຍຕິດຕາມໄດ້ຖືກປ່ຽນແປງ',
'tog-enotifusertalkpages' => 'ສົ່ງ ອີເມລ ມາໃຫ້ ຂ້ອຍ ເວລາ ໜ້າສົນທະນາຂ້ອຍ ມີການປ່ຽນແປງ',
'tog-enotifminoredits' => 'ສົ່ງ ອີເມລ ໃຫ້ຂ້ອຍ ເວລາມີການດັດແກ້ເລັກນ້ອຍນຳ',
'tog-watchdeletion' => 'Pusize petulo a afi kulobala di zwa mukoloko di kentezi',
'tog-previewontop' => "Kamukile PendiBe pre boks di hloli ye ng'i",
'tog-previewonfirst' => 'Kamukile PendiBe kwa afi 1',
-'tog-nocache' => 'Amutembwe petulo kahili',
'tog-enotifwatchlistpages' => 'Meli di zwa di petulo a kentezi sa petuhisize',
'tog-enotifusertalkpages' => 'Meli di zwa di zwa bulelezi sa petuhisize',
'tog-enotifrevealaddr' => 'Kamukile zwa adress di meli di xete peson kwa melina notifikasyona',
'tog-minordefault' => 'Pagal nutylėjimą pažymėti redagavimus kaip smulkius',
'tog-previewontop' => 'Rodyti peržiūrą virš redagavimo lauko',
'tog-previewonfirst' => 'Rodyti peržiūrą pirmą kartą pakeitus',
-'tog-nocache' => 'Išjungti interneto naršyklės puslapių podėlį',
'tog-enotifwatchlistpages' => 'Siųsti man laišką, kai pakeičiamas puslapis, kurį stebiu',
'tog-enotifusertalkpages' => 'Siųsti man laišką, kai pakeičiamas mano naudotojo aptarimo puslapis',
'tog-enotifminoredits' => 'Siųsti man laišką, kai puslapio keitimas yra smulkus',
'tog-minordefault' => "Siamţhat tawh phawt chu 'tenau'-ah dah vek rawh",
'tog-previewontop' => 'Siamţhatna bawm hmaah endikna dah rawh',
'tog-previewonfirst' => 'Siamţhat vawi khatnaah endikna tilang rawh',
-'tog-nocache' => 'Fanna-in phêk a cache tur veng rawh',
'tog-enotifwatchlistpages' => 'Ka ralvèn zinga phêk emaw taksa pakhat tihdanglam a nih apiangin e-lehkha min thawn rawh',
'tog-enotifusertalkpages' => 'Ka hmangtu-sawihona phêk tihdanglam a nihin e-lehkha min thawn rawh',
'tog-enotifminoredits' => 'Phêk leh taksa siamţhat tenauah pawh e-lehkha min thawn tho rawh',
'tog-minordefault' => 'Atzīmēt visus labojumus jau sākotnēji par maznozīmīgiem',
'tog-previewontop' => 'Parādīt priekšskatījumu virs rediģēšanas lauka, nevis zem',
'tog-previewonfirst' => 'Parādīt priekšskatījumu jau uzsākot rediģēšanu',
-'tog-nocache' => 'Atslēgt pārlūka lapu saglabāšanu kešatmiņā',
'tog-enotifwatchlistpages' => 'Paziņot pa e-pastu par izmaiņām uzraugāmo rakstu sarakstā esošos rakstos un failos',
'tog-enotifusertalkpages' => 'Paziņot pa e-pastu par izmaiņām manā diskusiju lapā',
'tog-enotifminoredits' => 'Paziņot pa e-pastu arī par maznozīmīgiem labojumiem rakstos un failos',
'editcomment' => "Attiecīgās izmaiņas kopsavilkums bija: \"''\$1''\".",
'revertpage' => 'Novērsu izmaiņas, ko izdarīja [[Special:Contributions/$2|$2]] ([[User talk:$2|Diskusija]]), atjaunoju versiju, ko saglabāja [[User:$1|$1]]',
'revertpage-nouser' => 'Novērsu (lietotājvārds slēpts) izmaiņas, atjaunoju [[User:$1|$1]] versiju.',
-'rollback-success' => 'Tika novērstas $1 izdarītās izmaiņas;
-un tika atjaunota iepriekšējā versija, kuru bija izveidojis $2.',
+'rollback-success' => 'Novērsu izmaiņas, ko izdarīja $1;
+atjaunoju versiju, ko saglabāja $2.',
# Edit tokens
'sessionfailure-title' => 'sesijas kļūda',
'tog-minordefault' => '慣為校',
'tog-previewontop' => '頂草覽',
'tog-previewonfirst' => '覽首修',
-'tog-nocache' => '莫謄文',
'tog-enotifwatchlistpages' => '哨新,遣函',
'tog-enotifusertalkpages' => '議新,遣函',
'tog-enotifminoredits' => '校新,遣函',
'tog-minordefault' => 'हमर सभ सम्पादन पूर्वन्यस्त रूपेँ मामूली कहू',
'tog-previewontop' => 'संपादन पेटीक ऊपर दृश्य देखाऊ',
'tog-previewonfirst' => 'पहिल सम्पादनक बाद पूर्वावलोकन देखाउ',
-'tog-nocache' => 'गवेषक पृष्ठ उपस्मृति अशक्त करू',
'tog-enotifwatchlistpages' => 'जौं हमर ध्यानसूचीक कोनो पन्नामे परिवर्तन हुअए तँ हमरा ई-पत्र पठाउ',
'tog-enotifusertalkpages' => 'हमर सदस्य वार्ता पृष्ठ पर भेल परिवर्त्तनक हेतु हमरा ई-मेल करथि',
'tog-enotifminoredits' => 'छोट परिवर्त्तनक हेतु सेहो हमरा ई-मेल पठाऊ',
'tog-minordefault' => 'Otomatis nandani kabeh suntingan dadi suntingan cilik',
'tog-previewontop' => 'Tidokna pratayang sedurunge kotak sunting',
'tog-previewonfirst' => 'Tidokna pratayang nang suntingan sing pertama',
-'tog-nocache' => 'Nonaktifna penyinggahan kaca peramban',
'tog-enotifwatchlistpages' => 'Kirimna imel maring inyong angger kaca awa berkas utsing mlebu daptar pangawasanne inyong diowaih',
'tog-enotifusertalkpages' => 'Kirimna imel maring inyong angger kaca dhiskusine inyong owah',
'tog-enotifminoredits' => 'Kirimna imel maring inyong uga nek ana suntingan cilik nang kaca lan berkas',
'tog-minordefault' => 'Тяшксемс сембе петема анцяйнятне мъзярс илякс изь мярьгов',
'tog-previewontop' => 'Няфтемс сёрматфть васень няфтемать петемань седяфксть инголе',
'tog-previewonfirst' => 'Васень няфтема васенце петнемада меле',
-'tog-nocache' => 'Кардамс интернетс вятиенди эслек ванфневи файлхнень тиема',
'tog-enotifwatchlistpages' => 'Кучт тейне е-сёрма мзярда монь мельгеваномаста лопат илякстоптовихть',
'tog-enotifusertalkpages' => 'Кучемс электрононь сёрма монь тиить корхтама лопанц илякстоптомада меле',
'tog-enotifminoredits' => 'Кучт тейне е-сёрма нъльне мъзярда лопат эди файлхт аф ламне видептевихть',
'tog-minordefault' => 'Mariho ho madinika foana aloha ny fanovana rehetra',
'tog-previewontop' => "Asehoy alohan'ny boaty fanovana ny tsipalotra",
'tog-previewonfirst' => "Asehoy ny tsipalotra amin'ny fanovana voalohany",
-'tog-nocache' => 'Tsy alefa ny fanehoana ny pejy voasitriky ny mpitety',
'tog-enotifwatchlistpages' => 'Andefasana imailaka rehefa voaova ny pejy na ny rakitra arahako',
'tog-enotifusertalkpages' => 'Andefaso imailaka aho rehefa miova ny pejin-dresako',
'tog-enotifminoredits' => "Andefasana imailaka na dia fanovana madinika aza no atao amin'ny pejy sy ny rakitra",
'tog-minordefault' => 'Посна каласыме огыл гын, чыла тӧрлатымашым изи тӧрлатымаш гай палемдаш',
'tog-previewontop' => 'Тӧрлатымаш тӧрза деч ончыч ончылгоч ончымашым шындаш',
'tog-previewonfirst' => 'Ончылгоч ончымашым икымше тӧрлатымаш годым ончыкташ',
-'tog-nocache' => 'Лаштыкым кешироватлымым чараш',
'tog-enotifwatchlistpages' => 'Мыйын эскерыме лӱмер гыч лаштыкыште тӧрлатымыш нерген электрон почто гоч шижтараш',
'tog-enotifusertalkpages' => 'Мыйын каҥашымаш лаштыкыште тӧрлатымыш нерген электрон почто гоч шижтараш',
'tog-oldsig' => 'Кызытсе кидпале',
'tog-minordefault' => 'Tandoi kasado suntiangan sabagai suntiangan ketek sacaro baku',
'tog-previewontop' => 'Tunjuakan pratonton sabalun kotak suntiang',
'tog-previewonfirst' => 'Tunjuakan pratonton pado suntiangan patamo',
-'tog-nocache' => 'Matikan panyinggahan laman paramban',
'tog-enotifwatchlistpages' => 'Kiriman surel, kok laman atau gambar pado daftar pantau Ambo barubah',
'tog-enotifusertalkpages' => 'Kiriman surel, koq laman maota Ambo barubah',
'tog-enotifminoredits' => 'Kirimkan surel juo untuk saketek suntingan pado laman jo gambar',
'tog-minordefault' => 'Обележувај ги сите уредувања како ситни по основно',
'tog-previewontop' => 'Прикажи го прегледот пред кутијата за уредување',
'tog-previewonfirst' => 'Прикажи преглед на првото уредување',
-'tog-nocache' => 'Оневозможи кеширање на страниците во прелистувачот',
'tog-enotifwatchlistpages' => 'Испраќај ми е-пошта при промена на страница или податотека од мојот список на набљудувања',
'tog-enotifusertalkpages' => 'Испраќај ми е-пошта при промена на мојата страница за разговор',
'tog-enotifminoredits' => 'Испраќај ми е-пошта и за ситни промени во страниците и податотеките',
'exif-whitebalance-0' => 'Автоматска рамнотежа на бело',
'exif-whitebalance-1' => 'Рачна рамнотежа на бело',
-'exif-scenecapturetype-0' => 'СÑ\82андаÑ\80дно',
+'exif-scenecapturetype-0' => 'СÑ\82андаÑ\80ден',
'exif-scenecapturetype-1' => 'Пејзаж',
'exif-scenecapturetype-2' => 'Портрет',
-'exif-scenecapturetype-3' => 'Ноќна сцена',
+'exif-scenecapturetype-3' => 'Ноќна снимка',
'exif-gaincontrol-0' => 'Нема',
'exif-gaincontrol-1' => 'Мало зголемување',
'tog-minordefault' => 'എല്ലാ തിരുത്തലുകളും സ്വതേ ചെറുതിരുത്തലുകളായി അടയാളപ്പെടുത്തുക',
'tog-previewontop' => 'തിരുത്തൽ പെട്ടിക്കു മുകളിൽ പ്രിവ്യൂ കാണിക്കുക',
'tog-previewonfirst' => 'ആദ്യത്തെ തിരുത്തലിന്റെ പ്രിവ്യൂ കാണിക്കുക',
-'tog-nocache' => 'ബ്രൗസറിൽ താളുകൾ തദ്ദേശീയമായി സംഭരിച്ചുവയ്ക്കുന്നത് നിർജ്ജീവമാക്കുക',
'tog-enotifwatchlistpages' => 'ഞാൻ ശ്രദ്ധിക്കുന്ന താളുകൾക്കോ പ്രമാണങ്ങൾക്കോ മാറ്റം സംഭവിച്ചാൽ എനിക്കു ഇമെയിൽ അയക്കുക',
-'tog-enotifusertalkpages' => 'à´\8eà´¨àµ\8dà´±àµ\86 à´¸à´\82â\80\8cവാദà´\82 താളിനു മാറ്റം സംഭവിച്ചാൽ ഇമെയിൽ അയക്കുക',
+'tog-enotifusertalkpages' => 'à´\8eà´¨àµ\8dà´±àµ\86 à´¸à´\82â\80\8cവാദതàµ\8dതാളിനു മാറ്റം സംഭവിച്ചാൽ ഇമെയിൽ അയക്കുക',
'tog-enotifminoredits' => 'ചെറുതിരുത്തലുകൾക്കും എനിക്ക് ഇമെയിൽ അയയ്ക്കുക',
'tog-enotifrevealaddr' => 'വിജ്ഞാപന മെയിലുകളിൽ എന്റെ ഇമെയിൽ വിലാസം വെളിവാക്കാൻ അനുവദിക്കുക',
'tog-shownumberswatching' => 'ശ്രദ്ധിക്കുന്ന ഉപയോക്താക്കളുടെ എണ്ണം കാണിക്കുക',
'morenotlisted' => 'ഈ പട്ടിക പൂർണ്ണമല്ല.',
'mypage' => 'താൾ',
'mytalk' => 'സംവാദത്താൾ',
-'anontalk' => 'à´\88 à´\90.പി.à´¯àµ\81à´\9fàµ\86 à´¸à´\82â\80\8cവാദà´\82 താൾ',
+'anontalk' => 'à´\88 à´\90.പി.à´¯àµ\81à´\9fàµ\86 à´¸à´\82â\80\8cവാദതàµ\8dതാൾ',
'navigation' => 'ഉള്ളടക്കം',
'and' => ' ഒപ്പം',
'statistics-header-hooks' => 'മറ്റു സ്ഥിതിവിവരക്കണക്കുകൾ',
'statistics-articles' => 'ലേഖനങ്ങൾ',
'statistics-pages' => 'താളുകൾ',
-'statistics-pages-desc' => 'à´¸à´\82â\80\8cവാദà´\82 താളുകൾ, തിരിച്ചുവിടലുകൾ തുടങ്ങിയവയടക്കം വിക്കിയിലെ എല്ലാ താളുകളും.',
+'statistics-pages-desc' => 'à´¸à´\82â\80\8cവാദതàµ\8dതാളുകൾ, തിരിച്ചുവിടലുകൾ തുടങ്ങിയവയടക്കം വിക്കിയിലെ എല്ലാ താളുകളും.',
'statistics-files' => 'അപ്ലോഡ് ചെയ്തിട്ടുള്ള പ്രമാണങ്ങൾ',
'statistics-edits' => '{{SITENAME}} സംരംഭത്തിന്റെ തുടക്കം മുതലുള്ള തിരുത്തലുകൾ',
'statistics-edits-average' => 'ഒരു താളിലെ ശരാശരി തിരുത്തലുകൾ',
'unwatchthispage' => 'ശ്രദ്ധിക്കുന്നത് അവസാനിപ്പിക്കുക',
'notanarticle' => 'ലേഖന താൾ അല്ല',
'notvisiblerev' => 'മറ്റൊരു ഉപയോക്താവ് സൃഷ്ടിച്ച അവസാനത്തെ നാൾപ്പതിപ്പ് മായ്ച്ചിരിക്കുന്നു',
-'watchlist-details' => 'à´¸à´\82â\80\8cവാദà´\82 താളുകൾ ഉൾപ്പെടുത്താതെ {{PLURAL:$1|ഒരു താൾ|$1 താളുകൾ}} താങ്കൾ ശ്രദ്ധിക്കുന്നവയുടെ പട്ടികയിലുണ്ട്.',
+'watchlist-details' => 'à´¸à´\82â\80\8cവാദതàµ\8dതാളുകൾ ഉൾപ്പെടുത്താതെ {{PLURAL:$1|ഒരു താൾ|$1 താളുകൾ}} താങ്കൾ ശ്രദ്ധിക്കുന്നവയുടെ പട്ടികയിലുണ്ട്.',
'wlheader-enotif' => 'ഇമെയിൽ അറിയിപ്പുകൾ സജ്ജമാക്കിയിരിക്കുന്നു.',
'wlheader-showupdated' => "താങ്കളുടെ അവസാന സന്ദർശനത്തിനു ശേഷം മാറ്റം വന്ന താളുകൾ '''കടുപ്പിച്ച്''' കാണിച്ചിരിക്കുന്നു",
'watchmethod-recent' => 'ശ്രദ്ധിക്കുന്ന താളുകൾക്കുവേണ്ടി പുതിയ മാറ്റങ്ങൾ പരിശോധിക്കുന്നു',
'''മുന്നറിയിപ്പ്!:'''
ഈ പ്രവൃത്തി ഒരു നല്ലതാളിൽ അപ്രതീക്ഷിതവും, ഉഗ്രവുമായ ഫലങ്ങൾ സൃഷ്ടിച്ചേക്കാം.
മുന്നോട്ടു പോകുന്നതിനു മുമ്പ് താങ്കൾ ചെയ്യുന്നതെന്താണെന്ന് വ്യക്തമായി മനസ്സിലാക്കുക.",
-'movepagetalktext' => "'''ബനàµ\8dധപàµ\8dà´ªàµ\86à´\9fàµ\8dà´\9f à´¸à´\82â\80\8cവാദà´\82 താളàµ\81à´\82 സ്വയം മാറ്റപ്പെടാതിരിക്കാനുള്ള കാരണങ്ങൾ'''
-*à´\85à´¤àµ\87 à´ªàµ\87രിൽ തനàµ\8dà´¨àµ\86 à´¶àµ\82à´¨àµ\8dയമലàµ\8dലാതàµ\8dà´¤ à´\92à´°àµ\81 à´¸à´\82â\80\8cവാദà´\82 താൾ നിലവിലുണ്ടെങ്കിൽ
+'movepagetalktext' => "'''ബനàµ\8dധപàµ\8dà´ªàµ\86à´\9fàµ\8dà´\9f à´¸à´\82â\80\8cവാദതàµ\8dതാൾ സ്വയം മാറ്റപ്പെടാതിരിക്കാനുള്ള കാരണങ്ങൾ'''
+*à´\85à´¤àµ\87 à´ªàµ\87രിൽ തനàµ\8dà´¨àµ\86 à´¶àµ\82à´¨àµ\8dയമലàµ\8dലാതàµ\8dà´¤ à´\92à´°àµ\81 à´¸à´\82â\80\8cവാദതàµ\8dതാൾ നിലവിലുണ്ടെങ്കിൽ
*താങ്കൾ താഴെയുള്ള ചെൿബോക്സ് ഉപയോഗിച്ചിട്ടില്ലെങ്കിൽ
-à´\85à´¤àµ\8dതരà´\82 സനàµ\8dദർà´à´\99àµ\8dà´\99ളിൽ à´¸à´\82â\80\8cവാദà´\82 താളുകൾ താങ്കൾ സ്വയം കൂട്ടിച്ചേർക്കേണ്ടതാണ്.",
+à´\85à´¤àµ\8dതരà´\82 സനàµ\8dദർà´à´\99àµ\8dà´\99ളിൽ à´¸à´\82â\80\8cവാദതàµ\8dതാളുകൾ താങ്കൾ സ്വയം കൂട്ടിച്ചേർക്കേണ്ടതാണ്.",
'movearticle' => 'മാറ്റേണ്ട താൾ',
'moveuserpage-warning' => "'''മുന്നറിയിപ്പ്:''' ഉപയോക്താവിനുള്ള താളാണ് താങ്കൾ മാറ്റാൻ പോകുന്നത്. താൾ മാത്രമേ മാറുകയുള്ളു എന്നും ഉപയോക്താവിന്റെ പേര് ''മാറുകയില്ലെന്നും'' ദയവായി ഓർക്കുക.",
'movenologintext' => 'തലക്കെട്ടു മാറ്റാനുള്ള അനുമതി കൈവരിക്കാൻ താങ്കൾ ഒരു രജിസ്റ്റേർഡ് ഉപയോക്താവായിരിക്കുകയും [[Special:UserLogin|ലോഗിൻ ചെയ്തിരിക്കുകയും]] ചെയ്യേണ്ടത് അത്യന്താപേക്ഷിതമാണ്.',
'movepage-moved-noredirect' => 'തിരിച്ചുവിടലിന്റെ സൃഷ്ടി ഒതുക്കിയിരിക്കുന്നു.',
'articleexists' => 'ഈ പേരിൽ മറ്റൊരു താൾ ഉള്ളതായി കാണുന്നു, അല്ലെങ്കിൽ താങ്കൾ തിരഞ്ഞെടുത്ത തലക്കെട്ട് സ്വീകാര്യമല്ല. ദയവായി മറ്റൊരു തലക്കെട്ട് തിരഞ്ഞെടുക്കുക.',
'cantmove-titleprotected' => 'താൾ സൃഷ്ടിക്കുന്നതിനു നിരോധനം ഏർപ്പെടുത്തിയിട്ടുള്ള ഒരു തലക്കെട്ടു താങ്കൾ തിരഞ്ഞെടുത്ത കാരണം താങ്കൾക്ക് താൾ ആ സ്ഥാനത്തേക്കു മാറ്റുവാൻ സാധിക്കില്ല.',
-'movetalk' => 'ബനàµ\8dധപàµ\8dà´ªàµ\86à´\9fàµ\8dà´\9f à´¸à´\82â\80\8cവാദà´\82 താളും കൂടെ നീക്കുക',
+'movetalk' => 'ബനàµ\8dധപàµ\8dà´ªàµ\86à´\9fàµ\8dà´\9f à´¸à´\82â\80\8cവാദതàµ\8dതാളും കൂടെ നീക്കുക',
'move-subpages' => 'ഉപതാളുകൾ മാറ്റുക ( $1 വരെ)',
'move-talk-subpages' => 'സംവാദം താളിന്റെ ഉപതാളുകൾ മാറ്റുക ($1 എണ്ണം)',
'movepage-page-exists' => '$1 എന്ന താൾ നിലനിൽക്കുന്നുണ്ട്, അതിനു മുകളിൽ സൃഷ്ടിക്കാൻ സ്വതേ കഴിയില്ല.',
'lag-warn-high' => 'ഡേറ്റാബേസ് സെർവറിന്റെ കൂടിയ താമസം മൂലം, {{PLURAL:$1|ഒരു സെക്കന്റിൽ|$1 സെക്കന്റുകളിൽ}} നടന്ന മാറ്റങ്ങൾ പട്ടികയിൽ കാണണമെന്നില്ല.',
# Watchlist editor
-'watchlistedit-numitems' => 'താà´\99àµ\8dà´\95ൾ à´¸à´\82â\80\8cവാദà´\82 താളുകൾ ഒഴിച്ച് {{PLURAL:$1|ഒരു താൾ|$1 താളുകൾ}} ശ്രദ്ധിക്കുന്നുണ്ട്.',
+'watchlistedit-numitems' => 'താà´\99àµ\8dà´\95ൾ à´¸à´\82â\80\8cവാദതàµ\8dതാളുകൾ ഒഴിച്ച് {{PLURAL:$1|ഒരു താൾ|$1 താളുകൾ}} ശ്രദ്ധിക്കുന്നുണ്ട്.',
'watchlistedit-noitems' => 'താങ്കൾ നിലവിൽ ഒരു താളും ശ്രദ്ധിക്കുന്നില്ല.',
'watchlistedit-normal-title' => 'ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടിക തിരുത്തുക',
'watchlistedit-normal-legend' => 'ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടികയിൽ നിന്നും ഒഴിവാക്കുക',
'tog-minordefault' => 'Бүх засваруудаа бага зэргийн гэж автоматаар тэмдэглэх',
'tog-previewontop' => 'Засварлах талбарын өмнө урьдчилж харсан байдлыг үзүүлэх',
'tog-previewonfirst' => 'Эхний засварын үед урьдчилж харсан байдлыг үзүүлэх',
-'tog-nocache' => 'Вэб хөтөчийн хуудасны кешингийг болиулах',
'tog-enotifwatchlistpages' => 'Миний хянах жагсаалт дахь хуудас өөрчлөгдсөн бол и-мэйл явуулах',
'tog-enotifusertalkpages' => 'Миний хэлэлцүүлгийн хуудас өөрчлөгдөхөд и-мэйл явуулах',
'tog-enotifminoredits' => 'Хуудасны өнгөц өөрчлөлтийг мөн и-мейлээр явуул.',
'tog-minordefault' => "सर्व संपादने 'छोटा बदल' म्हणून आपोआप जतन करा.",
'tog-previewontop' => 'झलक संपादन खिडकीच्या आधी दाखवा',
'tog-previewonfirst' => 'पहिल्या संपादनानंतर झलक दाखवा',
-'tog-nocache' => 'न्याहाळकाची पान-सय (कॅशिंग) अक्षम (निकामी) करा',
'tog-enotifwatchlistpages' => 'माझ्या निरीक्षणसूचीत असलेल्या पानांमध्ये अथवा संचिकेत बदल झाल्यास मला विपत्र (ई-मेल) पाठवा.',
'tog-enotifusertalkpages' => 'माझ्या चर्चा पानावर बदल झाल्यास मला विरोप (ई-मेल) पाठवा',
'tog-enotifminoredits' => 'मला पानांच्या आणि संचिकांच्या छोट्या बदलांकरीता सुद्धा विरोप पाठवा',
'tog-minordefault' => 'Tandakan semua suntingan sebagai kecil secara asali',
'tog-previewontop' => 'Tunjukkan pralihat di atas kotak sunting',
'tog-previewonfirst' => 'Tunjukkan pralihat pada suntingan pertama',
-'tog-nocache' => 'Lumpuhkan pengagregatan laman',
'tog-enotifwatchlistpages' => 'E-mel kepada saya tentang perubahan pada halaman-halaman dan fail-fail dalam senarai pantau saya',
'tog-enotifusertalkpages' => 'E-melkan saya apabila berlaku perubahan pada laman perbincangan saya',
'tog-enotifminoredits' => 'Juga e-mel kepada saya tentang suntingan kecil pada halaman-halaman dan fail-fail',
'tog-minordefault' => 'Immarka awtomatikament kull modifika bħala waħda minuri',
'tog-previewontop' => 'Uri dehra proviżorja tal-paġna fuq il-kaxxa tal-immodifikar',
'tog-previewonfirst' => 'Uri dehra proviżorja mal-ewwel modifika',
-'tog-nocache' => 'Iddiżattiva l-cache tal-paġni tal-browser',
'tog-enotifwatchlistpages' => "Ibgħatli ittre kull meta sseħħ modifika fuq paġna jew fajl li jinsab fil-lista ta' osservazzjoni tiegħi",
'tog-enotifusertalkpages' => "Ibgħatli ittra-e kull meta l-paġna ta' diskussjoni tiegħi tiġi modifikata",
'tog-enotifminoredits' => 'Ibgħatli wkoll ittra-e għall-modifiki minuri fuq paġni u fajls',
'tog-minordefault' => 'Por oumisson, marcar todas las eidiçones cumo menores',
'tog-previewontop' => "Amostrar l'antebison antes de la caixa d'eidiçon",
'tog-previewonfirst' => "Amostrar l'antebison na purmeira eidiçon",
-'tog-nocache' => 'Zatibar caching de páiginas',
'tog-enotifwatchlistpages' => 'Notificar-me por correio eiletrónico quando ua páigina begiada ye altarada',
'tog-enotifusertalkpages' => 'Abisar -me por correio eiletrónico quando la mie páigina de çcusson ye eiditada',
'tog-enotifminoredits' => 'Abisar-me por correio eiletrónico tamien quando las eidiçones fúren pequeinhas',
'tog-minordefault' => 'တည်းဖြတ်မှုအားလုံးသည် အရေးမကြီးသော တည်းဖြတ်မှုဟု ပုံသေသတ်မှတ်ရန်',
'tog-previewontop' => 'တည်းဖြတ်သည့်အကွက်မတိုင်မီ နမူနာကို ပြရန်',
'tog-previewonfirst' => 'ပထမတည်းဖြတ်မှုတွင် နမူနာကို ပြရန်',
-'tog-nocache' => 'ဘရောက်ဇာ၏ page caching သိမ်းဆည်းမှုကို ပိတ်ထားရန်',
'tog-enotifwatchlistpages' => 'ကျွန်ုပ်၏စောင့်ကြည့်စာရင်းမှ စာမျက်နှာတစ်ခု သို့မဟုတ် ဖိုင်တစ်ခုကို ပြောင်းလဲလိုက်ပါက ကျွနုပ်ဆီ အီးမေးပို့ရန်',
'tog-enotifusertalkpages' => 'ကျွန်ုပ်၏ဆွေးနွေးချက်စာမျက်နှာ ပြောင်းလဲမှုရှိပါက ကျွန်ုပ်ထံ အီးမေးပို့ရန်',
'tog-enotifminoredits' => 'စာမျက်နှာများနှင့် ဖိုင်များ၏ အရေးမကြီးသော တည်းဖြတ်မှုများကိုလည်း အီးမေးပို့ရန်',
'tog-minordefault' => 'Тешкстамс витевкстнэнь апокшкэкс, бути лиякс апак ёвта',
'tog-previewontop' => 'Невтемс сёрмадовксонть васнянь невтевксэнь вальманть витеманьседенть икеле',
'tog-previewonfirst' => 'Васнянь невтевкс васенцеде витнемстэ-петнемстэ',
-'tog-nocache' => 'Лоткавтомс браузерэнь лопань кешировамонть',
'tog-enotifwatchlistpages' => 'Кучомс тень ёндол-сёрмине, зярдо ванстнема лемрисьмень лопатнес-керьмазтнэс теевить лиякстомтомат',
'tog-enotifusertalkpages' => 'Пачтямс е-сёрма теицянь ванома лемрисьмесэнь теезь лиякстомтоматнеде',
'tog-enotifminoredits' => 'Кучомс тень ёндол-сёрмине сестэяк, зярдо апокшкыне витнемат-петнемат теевить монь ванстевть лопатнесэ-керьмазтнэсэ',
'tog-minordefault' => 'همه صفحهئون دچیه ره جزئی پیشگامون دار',
'tog-previewontop' => 'نمایش پیشنمایش قبل از دچیین ِجعبه(نا قبل از وه).',
'tog-previewonfirst' => 'پیش نیمایش زمون اولین دچیین',
-'tog-nocache' => 'حافظهٔ نهونی مرورگر از کار دمبداء بوو',
'tog-enotifwatchlistpages' => 'اگه منه پگریئون ره تغییر هدانه مسّه ایمیل بزن',
'tog-enotifusertalkpages' => 'هر گادر منه کاروری صفخهی گپ دله ات چی بنویشنه مه سّه ایمیل بزن',
'tog-enotifminoredits' => 'هرگادر صحه ها دله اتا خورد چی ره عوض هکردنه مه وسّه ایمیل بزن',
'tog-minordefault' => 'Chiām-tēng bī-lâi ê siu-kái lóng sī sió-siu-ká',
'tog-previewontop' => 'Sûn-khoàⁿ ê lōe-iông tī pian-chi̍p keh-á thâu-chêng',
'tog-previewonfirst' => 'Thâu-pái pian-chi̍p seng khoàⁿ-māi',
-'tog-nocache' => 'Koaiⁿ-tiāu ia̍h ê cache',
'tog-enotifwatchlistpages' => 'Kam-sī-tuann ū ē bûn-tsiunn nā ū kái-piàn, kià tiān-tsú-phue hōo guá.',
'tog-enotifusertalkpages' => 'Guá ê thó-lūn ia̍h nā ū lâng kái, kià tiān-tsú-phue hōo guá.',
'tog-enotifminoredits' => 'Sió pian-chi̍p mā kià tiān-tsú-phue hōo guá.',
'tog-minordefault' => 'Merk i utgangspunktet alle redigeringer som mindre',
'tog-previewontop' => 'Vis forhåndsvisningen over redigeringsboksen',
'tog-previewonfirst' => 'Vis forhåndsvisning når du begynner å redigere',
-'tog-nocache' => 'Deaktiver nettlesermellomlagring av sider («caching»)',
'tog-enotifwatchlistpages' => 'Send meg en e-post når sider og filer på overvåkningslisten min blir endret',
'tog-enotifusertalkpages' => 'Send meg en e-post når brukerdiskusjonssiden min endres',
'tog-enotifminoredits' => 'Send meg e-post også ved mindre endringer av sider og filer',
'tog-minordefault' => 'Alle Ännern as lütt markeern',
'tog-previewontop' => 'Vörschau vör dat Editeerfinster wiesen',
'tog-previewonfirst' => "Vörschau bi'n eersten Ännern wiesen",
-'tog-nocache' => 'Twischenspieker vun’n Webkieker utstellen',
'tog-enotifwatchlistpages' => 'Schriev mi en Nettbreef, wenn ene Siet, op de ik oppass, ännert warrt',
'tog-enotifusertalkpages' => 'Schriev mi en Nettbreef, wenn ik ne’e Narichten heff',
'tog-enotifminoredits' => 'Schriev mi en Nettbreef, ok wenn dat blots en lütte Ännern weer',
'tog-minordefault' => "Markeer alle veraanderingen as 'kleine wieziging'",
'tog-previewontop' => 'De naokiekzied boven t bewarkingsveld zetten',
'tog-previewonfirst' => 'Naokieken bie eerste wieziging',
-'tog-nocache' => 'De tussenopslag van de webkieker uutzetten',
'tog-enotifwatchlistpages' => 'Stuur mien n berichjen over zied- of bestaandswiezigingen uut mien volglieste.',
'tog-enotifusertalkpages' => 'Stuur mien n berichjen as mien overlegzied ewiezigd is.',
'tog-enotifminoredits' => 'Stuur mien oek n berichjen bie kleine bewarkingen van ziejen en bestaanden',
'tog-minordefault' => 'सबै सम्पादनहरुलाई पूर्वनिर्धारित रुपमा सामान्य चिनो लगाउने',
'tog-previewontop' => 'सम्पादन सन्दुक अगि पूर्वरुप देखाउने',
'tog-previewonfirst' => 'पहिलो सम्पादनमा पूर्वरुप देखाउने',
-'tog-nocache' => 'ब्राउजर पृष्ठ क्यासिङ्ग निस्क्रिय पार्ने',
'tog-enotifwatchlistpages' => 'मेरो निगरानी सूचीमा रहेका पृष्ठ अथवा फाइलहरु परिवर्तन गरिए मलाई ई-मेल गरियोस्',
'tog-enotifusertalkpages' => 'मेरो प्रयोगकर्ता वार्ता पृष्ठ परिवर्तन गरिए मलाई ई-मेल गर्ने',
'tog-enotifminoredits' => 'पृष्ठहरु र फाइलहरुको सामान्य सम्पादन भएमा पनि मलाई ई-मेल गरियोस्',
'namespaceprotected' => " '''$1''' नेमस्पेसमा रहेका पृष्ठहरु सम्पादन गर्ने अनुमति यहाँलाई छैन ।",
'customcssprotected' => 'तपाईलाई यस पृष्ठ सम्पादन गर्ने अनुमति छैन, किनकी यसमा कुनै अर्को प्रयोगकर्ताको व्यक्तिगत अभिरुचीहरु संग्रहित छन् ।',
'customjsprotected' => 'तपाईलाई यस जाभास्कृप्ट पृष्ठ सम्पादन गर्ने अनुमति छैन, किनकी यसमा कुनै अर्को प्रयोगकर्ताको व्यक्तिगत अभिरुचीहरु संग्रहित छन् ।',
+'mycustomcssprotected' => 'यस CSSपृष्ठ सम्पादन गर्नको लागि लागि तपाईँलाई अनुमति छैन ।',
+'mycustomjsprotected' => 'यस JavaScript पृष्ठ सम्पादन गर्नको लागि लागि तपाईँलाई अनुमति छैन ।',
'ns-specialprotected' => 'विशेष पृष्ठ सम्पादन गर्न सकिदैन ।',
'titleprotected' => ' [[User:$1|$1]]द्वारा यो शीर्षक निर्माणहुनबाट जोगाइएको छ।
कारण "\'\'$2\'\'" हो ।',
'gotaccount' => "के तपाईँसँग पहिले देखि नै खाता छ ? '''$1''' ।",
'gotaccountlink' => 'लग इन',
'userlogin-resetlink' => 'प्रवेश सम्बन्धी विवरणहरु बिर्सनु भयो?',
-'userlogin-resetpassword-link' => 'पासवरà¥\8dड परिवरà¥\8dतन à¤\97रà¥\8dनà¥\81हà¥\8bसà¥\8d',
+'userlogin-resetpassword-link' => 'पासवरà¥\8dड à¤à¥\81लà¥\8dनà¥\81à¤à¤¯à¥\8b?',
'userlogin-createanother' => 'अर्को खाता खोल्नुहोस्',
'createacct-join' => 'तपाईँका जानकारीहरू तल थप्नुहोस् ।',
'createacct-another-join' => 'नयाँ खाताको जानकारी तल थप्नुहोस ।',
'createacct-another-submit' => 'अर्को खाता सिर्जना गर्नुहोस्',
'createacct-benefit-heading' => '{{SITENAME}} तपाईँ जस्तै मानिसहरूद्वारा सिर्जना गरिएको हो ।',
'createacct-benefit-body1' => '{{PLURAL:$1|सम्पादन|सम्पादनहरू}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|पृष्ठ|पृष्ठहरू}}',
+'createacct-benefit-body3' => 'हालैका {{PLURAL:$1|योगदान कर्ता|योगदान कर्ताहरू}}',
'badretype' => 'तपाईंले दिनुभएको पासवर्ड मिल्दैन।',
'userexists' => 'तपाईले प्रविष्ट गर्नुभएको प्रयोगकर्ताको नाम पहिले देखिनै प्रयोगमा छ ।
कृपया फरक नाम छान्नुहोस् ।',
'loginerror' => 'प्रवेश त्रुटि',
+'createacct-error' => 'खाता बनाउँदा त्रुटि',
'createaccounterror' => 'खाता बनाउन सकिएन: $1',
'nocookiesnew' => 'तपाईँको खाता बनाइयो, तर तपाईँ प्रवेश गर्नुभएको छैन ।
{{SITENAME}} ले प्रयोगकर्ता प्रवेश गराउन कुकीहरू प्रयोग गर्छ ।
'changeemail-submit' => 'इमेल परिवर्तन गर्ने',
'changeemail-cancel' => 'रद्द गर्ने',
+# Special:ResetTokens
+'resettokens' => 'टोकन पूर्वरुपमा फर्काउने',
+'resettokens-no-tokens' => 'पूर्वरुपमा फर्काउन कुनै पनि टोकन छैन ।',
+'resettokens-legend' => 'टोकनहरू पूर्वरुपमा फर्काउने',
+'resettokens-tokens' => 'टोकनहरू:',
+
# Edit page toolbar
'bold_sample' => 'गाढा अक्षर',
'bold_tip' => 'गाढा अक्षर',
यो मेटिएको जस्तो देखिन्छ ।',
'edit-conflict' => 'द्वन्द्व सम्पादन गर्ने ।',
'edit-no-change' => 'तपाईँको सम्पादन वेवास्ता गरियो, किनकि कुनै पनि पाठ परिवर्तन गरिएन ।',
+'postedit-confirmation' => 'तपाईंको सम्पादन संग्रह गरिएको थियो ।',
'edit-already-exists' => 'नयाँ पृष्ठ बनाउन सकिएन ।
यो पहिले देखि नै रहेको छ।',
+'defaultmessagetext' => 'डिफल्ट सन्देश पाठ',
+'invalid-content-data' => 'अमान्य सामग्री डेटा',
# Content models
'content-model-wikitext' => 'विकिपाठ',
'revdelete-hide-user' => 'सम्पादकको प्रयोगकर्ता नाम/IP लुकाउने',
'revdelete-hide-restricted' => 'प्रवन्धक वा अरुबाट डेटा कम लिने',
'revdelete-radio-same' => '(परिवर्तन नगर्नुहोस्)',
-'revdelete-radio-set' => 'हà¥\81नà¥\8dà¤\9b',
-'revdelete-radio-unset' => 'हà¥\81à¤\81दà¥\88न',
+'revdelete-radio-set' => 'लà¥\81à¤\95ाà¤\87à¤\8fà¤\95à¥\8b',
+'revdelete-radio-unset' => 'दà¥\87à¤\96िनà¥\87',
'revdelete-suppress' => 'प्रवन्धक वा अरुबाट डेटा कम लिने',
'revdelete-unsuppress' => 'पुनर्स्थापित पुनरावृत्तिबाट बन्देज हटाउने',
'revdelete-log' => 'कारण :',
'recentchanges-label-bot' => 'यो सम्पादन बोट द्वारा गरिएको थियो',
'recentchanges-label-unpatrolled' => 'यो सम्पादन अहिले सम्म पट्रोल गरिएको छैन',
'recentchanges-legend-newpage' => '$1 - नयाँ पृष्ठ',
+'recentchanges-legend-plusminus' => "(''±१२३'')",
'rcnotefrom' => "'''$2''' देखिका परिवर्तनहरु तल ('''$1''' सम्मका देखाइन्छ)।",
'rclistfrom' => '$1 देखिका नयाँ परिवर्तनहरू देखाउनु',
'rcshowhideminor' => '$1 सामान्य सम्पादन',
'rc-change-size' => '$1',
'rc-change-size-new' => 'परिवर्तनपछि $1 {{PLURAL:$1|बाइट|बाइट}}',
'newsectionsummary' => '/* $1 */ नयाँ खण्ड',
-'rc-enhanced-expand' => 'à¤\9cानà¤\95ारà¥\80 दà¥\87à¤\96ाà¤\89नà¥\87( à¤\9cाà¤à¤¾ सà¥\8dà¤\95à¥\8dरिपà¥\8dà¤\9f à¤\9aाहिनà¥\87)',
+'rc-enhanced-expand' => 'विसà¥\8dतà¥\83त à¤\9cानà¤\95ारà¥\80 हà¥\87रà¥\8dनà¥\87',
'rc-enhanced-hide' => 'जानकारी लुकाउने',
'rc-old-title' => 'मौलिक तौरमा "$1" रुपमा बनाइएको',
'randompage' => 'कुनै एक लेख',
'randompage-nopages' => '{{PLURAL:$2| $1 नाम भएको कुनै पृष्ट छैन|$1 नाम भएका कुनै पृष्टहरु छैनन्}}',
+# Random page in category
+'randomincategory-selectcategory-submit' => 'जाने',
+
# Random redirect
'randomredirect' => 'कुनै एउटा अनुप्रेषितमा जाने',
'randomredirect-nopages' => '"$1" नामस्थानमा अनुप्रेषित छैन।',
'undeletedpage' => "'''$1लाई पूर्वावस्थामा ल्याइयो'''
भर्खरै मेटाइएको रिकर्डहरु र पुनर्स्थापनाहरु हेर्न [[Special:Log/delete|मेटाइएको लग]]मा जानुहोस्।",
'undelete-header' => 'भर्खर मेटिएका पृष्ठहरु हेर्न [[Special:Log/delete|मेटाइएका लग]]मा जानुहोस्।',
+'undelete-search-title' => 'मेटिएका पृष्ठहरु खोज्नुहोस',
'undelete-search-box' => 'मेटिएका पृष्ठहरु खोज्नुहोस',
'undelete-search-prefix' => 'बाट सुरु हुने पृष्ठहरु देखाउनुहोस :',
'undelete-search-submit' => 'खोजी गर्नुहोस्',
'undelete-cleanup-error' => 'प्रोगमा नआएको "$1" अभिलेख फाइल मेट्दा त्रुटी',
'undelete-missing-filearchive' => 'फाइल अभिलेख आइडी $1 पुन:स्थापित गर्दा त्रुटी किनकी यो डेटाबेसमा छैन।
यो पहिले नै पुन: स्थापित गरिसकिएको हुनछक्छ ।',
+'undelete-error' => 'पृष्ठ मेट्दा त्रुटि भयो',
'undelete-error-short' => '$1 मेटाएको रद्द गर्दा त्रुटी भयो',
'undelete-error-long' => 'फाइल $1 मेट्दै गर्दा त्रुटि आइलाग्यो।',
'undelete-show-file-confirm' => 'के तपाईंले $3 मा $2 बाट मेटिएको "<nowiki>$1</nowiki>" फाइलको मेटिएको संस्करण हेर्ने निश्चय लिनु भएकै हो?',
'contributions' => '{{GENDER:$1|प्रयोगकर्ता}}का योगदानहरू',
'contributions-title' => '$1को प्रयोगकर्ता योगदानहरु',
'mycontris' => 'योगदानहरु',
-'contribsub2' => ' $1 ($2)को लागि',
+'contribsub2' => ' {{GENDER:$3|$1}} ($2)को लागि',
'nocontribs' => 'यस मापदण्ड अनुसार परिवर्त पाइएन।',
'uctop' => '(वर्तमान)',
'month' => 'महिना देखि (र पहिले):',
# Info page
'pageinfo-title' => ' "$1"को लागि जाकारी',
-'pageinfo-header-edits' => 'सम्पादनहरु',
+'pageinfo-header-basic' => 'साधारण जानकारी',
+'pageinfo-header-edits' => 'सम्पादन इतिहास',
+'pageinfo-header-restrictions' => 'पृष्ठ सुरक्षा',
+'pageinfo-header-properties' => 'पृष्ठ गुणहरू',
+'pageinfo-display-title' => 'प्रदर्शन शिर्षक',
'pageinfo-views' => 'अवलोकन संख्या',
'pageinfo-watchers' => 'निगरानी कर्ताहरुको संख्या',
'pageinfo-edits' => 'सम्पादन संख्या',
'pageinfo-authors' => 'फरक सम्पादकरुको संख्या',
+'pageinfo-redirectsto-info' => 'जानकारी',
+'pageinfo-contentpage-yes' => 'हो',
+'pageinfo-protect-cascading-yes' => 'हो',
# Skin names
'skinname-cologneblue' => 'कोलोग्ने निलो',
'days' => '{{PLURAL:$1|$1 दिन|$1 दिनहरु}}',
'ago' => '$1 पहिले',
+# Human-readable timestamps
+'monday-at' => 'सोमबार $1 मा',
+'tuesday-at' => 'मङ्गलबार $1मा',
+'wednesday-at' => 'बुधबार $1मा',
+'thursday-at' => 'बिहिबार $1मा',
+'friday-at' => 'शुक्रबार $1मा',
+'saturday-at' => 'शनिबार $1मा',
+'sunday-at' => 'आइतबार $1मा',
+'yesterday-at' => 'हिजो $1मा',
+
# Bad image list
'bad_image_list' => '(* बाट शुरु हुने पंक्ति)को विषय सूची मात्र मान्य छ। पंक्तिको पहिलो लिङ्क नराम्रो फाइलसित लिङ्क हुनैपर्छ । एउटै पंक्तिमा कुनै पछिबाट हुने लिंकलाई अपवाद मानिनेछ अर्थात् जुन पृष्ठमा फाइल इन-लाइन हुनसक्छ।',
'tog-minordefault' => 'Mijn bewerkingen als ‘klein’ markeren',
'tog-previewontop' => 'Voorvertoning boven bewerkingsveld weergeven',
'tog-previewonfirst' => 'Voorvertoning bij eerste bewerking weergeven',
-'tog-nocache' => "Cachen van pagina's door de browser uitschakelen",
'tog-enotifwatchlistpages' => 'Mij e-mailen bij bewerkingen van pagina’s of bestanden op mijn volglijst',
'tog-enotifusertalkpages' => 'Mij e-mailen als iemand mijn overlegpagina wijzigt',
'tog-enotifminoredits' => 'Mij e-mailen bij kleine bewerkingen van pagina’s en bestanden op mijn volglijst',
'tog-minordefault' => 'Merk endringar som «småplukk» som standard',
'tog-previewontop' => 'Vis førehandsvisinga før endringsboksen',
'tog-previewonfirst' => 'Førehandsvis første endring',
-'tog-nocache' => 'Deaktiver nettlesaren sitt mellomlager («cache»)',
'tog-enotifwatchlistpages' => 'Send meg ein e-post når ei side eller ei fil på overvakingslista mi vert endra',
'tog-enotifusertalkpages' => 'Send e-post når brukarsida mi vert endra',
'tog-enotifminoredits' => 'Send meg e-post sjølv for mindre endringar på sider og filer',
'tog-minordefault' => 'Swaya diphetogo ka moka bjalo ka diphetogo tše nnyenyane',
'tog-previewontop' => 'Bontšha Ponopele pele ga lepokisi la diphetogo',
'tog-previewonfirst' => 'Bontšha Ponopeleka phetogo ya pele',
-'tog-nocache' => "Thibela go tsenya matlakala go segakolodi (''cache'')",
'tog-enotifwatchlistpages' => 'Nthomele molaetša ge letlaka leo ke le tlhapetšego le eba le diphetogo',
'tog-enotifusertalkpages' => 'Nromele molaetša ge letlakala la Dipoledišano laka le fetoga',
'tog-enotifminoredits' => 'Ethomele e-mail ge goba le diphetogo tše nnyenyane go matlakala',
'tog-minordefault' => 'Considerar mas modificacions coma menoras per defaut',
'tog-previewontop' => 'Far veire la previsualizacion al dessús de la zòna de modificacion',
'tog-previewonfirst' => 'Far veire la previsualizacion al moment de la primièra edicion',
-'tog-nocache' => "Desactivar l'escondedor de las paginas pel navigador",
'tog-enotifwatchlistpages' => 'M’avertir per corrièr electronic quand una pagina o un fichièr de ma lista de seguiment es modificat',
'tog-enotifusertalkpages' => 'M’avertir per corrièr electronic en cas de modificacion de ma pagina de discussion',
'tog-enotifminoredits' => 'M’avertir per corrièr electronic quitament en cas de modificacions menoras de las paginas o dels fichièrs',
'tog-minordefault' => 'ସବୁଯାକ ସମ୍ପାଦନାକୁ ଛାଏଁ ଛୋଟ ବଦଳ ଭାବରେ ସୂଚିତ କରିବେ',
'tog-previewontop' => 'ଏଡ଼ିଟ ବାକ୍ସ ଆଗରୁ ଦେଖଣା ଦେଖାଇବେ',
'tog-previewonfirst' => 'ପ୍ରଥମ ବଦଳର ଦେଖଣା ଦେଖାଇବେ',
-'tog-nocache' => 'ବ୍ରାଉଜର ପୃଷ୍ଠା ସାଇତିବାକୁ ଅକାମୀ କରନ୍ତୁ',
'tog-enotifwatchlistpages' => 'ମୋ ଦେଖଣାତାଲିକାରେ ଥିବା ପୃଷ୍ଠା ବା ଫାଇଲରେ କିଛି ବଦଳ ହେଲେ ମୋତେ ଇମେଲ କରିବେ',
'tog-enotifusertalkpages' => 'ମୋର ଆଲୋଚନା ପୃଷ୍ଠାରେ କିଛି ବଦଳ ହେଲେ ମୋତେ ଇ-ମେଲ କରିବେ',
'tog-enotifminoredits' => 'ପୃଷ୍ଠାରେ ଏବଂ ଫାଇଲଗୁଡିକରେ ଛୋଟ ଛୋଟ ବଦଳ ହେଲେ ବି ମୋତେ ଇ-ମେଲ କରିବେ',
'tog-minordefault' => 'Æппæт ивддзинæдтæ банысан кæн куыд чысылтæ',
'tog-previewontop' => 'Разæркасты рудзынг ивыны рудзынджы уæлдæр',
'tog-previewonfirst' => 'Æвдисын иу разæркаст фыццаг ивды рæстæджы',
-'tog-nocache' => 'Ахицæн кæнын браузеры кешкæнынад',
'tog-enotifwatchlistpages' => 'Æз цы фæрстæм æмæ цы файлтæм дарын мæ цæст, уыдонæй иу ивд куы æрцæуа, уæд-иу мæм E-mail æрцæуæд',
'tog-enotifusertalkpages' => 'Электронон постæй мæм хъуысынгæнинаг æрвыст уа, мæ тæрхоны фарс куы ивд æрцæуа, уæд',
'tog-enotifminoredits' => 'Фарс кæнæ файлы ивд чысыл куы уа, уæддæр-иу мæм E-mail æрбацæуæт',
'tog-minordefault' => 'ਸਾਰੀਆਂ ਸੋਧਾਂ ’ਤੇ ਮੂਲ ਰੂਪ ਵਿਚ ਛੋਟੇ ਹੋਣ ਦਾ ਨਿਸ਼ਾਨ ਲਾਓ',
'tog-previewontop' => 'ਸੋਧ ਬਕਸੇ ਤੋਂ ਪਹਿਲਾਂ ਝਲਕ ਵਖਾਓ',
'tog-previewonfirst' => 'ਪਹਿਲੀ ਸੋਧ ਉੱਤੇ ਝਲਕ ਵਖਾਓ',
-'tog-nocache' => 'ਬਰਾਊਜ਼ਰ ਸਫ਼ਾ ਕੈਸ਼ ਕਰਨਾ ਬੰਦ ਕਰੋ',
'tog-enotifwatchlistpages' => 'ਜਦੋਂ ਮੇਰੀ ਨਿਗਰਾਨੀ-ਲਿਸਟ ਵਿੱਚ ਦਰਜ ਕੋਈ ਸਫ਼ਾ ਜਾਂ ਫ਼ਾਈਲ ਬਦਲੀ ਜਾਵੇ ਤਾਂ ਮੈਨੂੰ ਈਮੇਲ ਭੇਜੋ',
'tog-enotifusertalkpages' => 'ਜਦੋਂ ਮੇਰਾ ਗੱਲ-ਬਾਤ ਸਫ਼ਾ ਬਦਲਿਆ ਜਾਵੇ ਤਾਂ ਮੈਨੂੰ ਈ-ਮੇਲ ਭੇਜੋ',
'tog-enotifminoredits' => 'ਸਫ਼ਿਆਂ ਅਤੇ ਫ਼ਾਈਲਾਂ ਦੀਆਂ ਛੋਟੀਆਂ ਤਬਦੀਲੀਆਂ ਲਈ ਵੀ ਮੈਨੂੰ ਈ-ਮੇਲ ਭੇਜੋ',
'tog-minordefault' => 'Tambing lang tatakan a malati (minor) deng edit a e mimarkan.',
'tog-previewontop' => 'Pakit ya ing preview bayu ing kahun nung nu mag-edit (edit box)',
'tog-previewonfirst' => 'Pakit ya ing preview keng mumunang pamag-edit',
-'tog-nocache' => 'Patdan ya ing page caching (pamag-simpan kareng bulung)',
'tog-enotifwatchlistpages' => 'I e-mail mu ku ustung ing bulung a babanten ku meyalili ya',
'tog-enotifusertalkpages' => 'E-mail mu ku ustung ing kanakung gamit talamitam meyalili ya',
'tog-enotifminoredits' => 'E-mail mu ku kareng mangalating alili da reng bulung',
'tog-underline' => 'Gleecher unnerleine:',
'tog-hideminor' => 'Gleene Enneringe verschwinne losse',
'tog-watchdefault' => 'Vun mir gennerte Ardickele watsche',
-'tog-nocache' => 'Bledder-Scheier ausmache',
'tog-watchlisthideown' => 'Mei Ardickele vun mei Watsch-Lischt verschwinne losse',
'tog-watchlisthidebots' => 'Enneringe vun Bots vun mei Watsch-Lischt verschwinne losse',
'tog-watchlisthideminor' => 'Gleene Enneringe vun mei Watsch-Lischt verschwinne losse',
'tog-minordefault' => 'Wszystkie edycje domyślnie oznaczaj jako drobne',
'tog-previewontop' => 'Pokazuj podgląd powyżej obszaru edycji',
'tog-previewonfirst' => 'Pokazuj podgląd strony podczas pierwszej edycji',
-'tog-nocache' => 'Wyłącz pamięć podręczną przeglądarki',
'tog-enotifwatchlistpages' => 'Wyślij do mnie e‐mail, gdy strona lub plik z mojej listy obserwowanych zostaną zmodyfikowane',
'tog-enotifusertalkpages' => 'Wyślij do mnie e‐mail, gdy moja strona dyskusji zostanie zmodyfikowana',
'tog-enotifminoredits' => 'Wyślij e‐mail także w przypadku drobnych zmian na stronach lub w plikach',
'tog-minordefault' => 'Marché tute le modìfiche coma cite coma predefinission',
'tog-previewontop' => 'Smon-e la preuva dzora al quàder ëd modìfica dël test e nen sota',
'tog-previewonfirst' => 'Smon-e na preuva la prima vira che as fa na modìfica',
-'tog-nocache' => 'Disabilité la memòria local ëd le pàgine dël navigador',
'tog-enotifwatchlistpages' => "Mandeme un mëssagi an pòsta eletrònica quand a-i son dle modìfiche a le pàgine ch'im ten-o sot-euj",
'tog-enotifusertalkpages' => 'Mandeme un mëssagi ëd pòsta eletrònica quand a-i son dle modìfiche a mia pàgina dle ciaciarade',
'tog-enotifminoredits' => "Mandeme un mëssagi an pòsta eletrònica bele che për le modìfiche cite dle pàgine o dj'archivi",
'tog-minordefault' => 'ساریاں تبدیلیاں نوں نکا ڈیفالٹ نال دسو۔',
'tog-previewontop' => 'ایڈٹ باکس توں پہلے پریویو وکھاؤ',
'tog-previewonfirst' => 'پہلی تبدیلی تے پریویو وکھاؤ',
-'tog-nocache' => 'براؤزر چ صفحے دی کیشنگ روک دیو',
'tog-enotifwatchlistpages' => 'اگر میری اکھ تھلیاں صفحیاں چوں کسے چ تبدیلی ہوۓ، تے مینوں ای میل کر دیو',
'tog-enotifusertalkpages' => 'اگر میرے گلاں باتاں آلے صفحے چ کوئی تبدیلی کرے، تے مینوں ای میل کر دیو',
'tog-enotifminoredits' => 'صفحیاں چ چھوٹیاں موٹیاں تبدیلیاں تے وی مینوں ای میل کر دیو',
'tog-minordefault' => 'Ebzentlis auprestaminai wissans kitawidīnsnans kāigi malkans',
'tog-previewontop' => 'Waidinnais pirmādiran pirzdau redigīsnas laūkan',
'tog-previewonfirst' => 'Waidinnais pirmādiran prei pirman redigīsenin',
-'tog-nocache' => 'Izklaūjais rānkas minīsnan',
'tog-enotifwatchlistpages' => 'Tenginnais mi e-mail, ik pāusan iz majjan listin stēisan nadirītan ast kitawīdintan',
'tog-enotifusertalkpages' => 'Iztenginnais mi e-mail, ik majjan diskusiōnis pāusan wīrst būwun kitawīdintan',
'tog-enotifminoredits' => 'Tenginnais mi e-mail dīgi kaddan kitawīdinsnas as malkan',
'tog-minordefault' => 'په تلواليزه توگه ټول سمونونه واړه په نخښه کول',
'tog-previewontop' => 'د سمون بکس نه دمخه مخکتنه ښکاره کول',
'tog-previewonfirst' => 'په لومړي سمون کې مخکتنه ښکاره کول',
-'tog-nocache' => 'د کتنمل د مخ ياده ساتنې چار ناچارندول',
'tog-enotifwatchlistpages' => 'کله چې زما د کتنلړ په يوې دوتنې يا يو مخ کې بدلون راځي نو ما ته دې د بدلون په اړه برېښليک راشي',
'tog-enotifusertalkpages' => 'کله چې زما د خبرو اترو په مخ کې بدلون پېښېږي نو ما ته دې يو برېښليک ولېږلی شي.',
'tog-enotifminoredits' => 'کله چې په مخونو او دوتنو کې وړې سمونې کېږي نو ماته دې د بدلون په اړه برېښليک راشي',
'tog-minordefault' => 'Por omissão, marcar todas as edições como menores',
'tog-previewontop' => 'Mostrar a antevisão antes da caixa de edição',
'tog-previewonfirst' => 'Mostrar a antevisão na primeira edição',
-'tog-nocache' => 'Desativar a cache de páginas do browser',
'tog-enotifwatchlistpages' => 'Notificar-me por correio electrónico quando uma página ou ficheiro vigiado for alterado',
'tog-enotifusertalkpages' => 'Notificar-me por correio electrónico quando a minha página de discussão é editada',
'tog-enotifminoredits' => 'Notificar-me por correio electrónico também sobre edições menores de páginas ou ficheiros',
'tog-minordefault' => 'Marcar todas as edições como menores por padrão',
'tog-previewontop' => 'Mostrar previsão antes da caixa de edição',
'tog-previewonfirst' => 'Mostrar previsão na primeira edição',
-'tog-nocache' => 'Desativar o cache de páginas do navegador',
'tog-enotifwatchlistpages' => 'Notificar-me por email quando uma página ou arquivo vigiado for alterado',
'tog-enotifusertalkpages' => 'Receber email quando minha página de discussão for editada',
'tog-enotifminoredits' => 'Notificar-me por email também sobre edições menores de páginas ou arquivos',
'recentchanges-label-minor' => 'Esta é uma edição menor',
'recentchanges-label-bot' => 'Esta edição foi feita por um robô',
'recentchanges-label-unpatrolled' => 'Esta edição ainda não foi patrulhada',
+'recentchanges-label-plusminus' => 'Alterações no tamanho da página, em bytes',
'recentchanges-legend-newpage' => '$1 - nova página',
'rcnotefrom' => "Seguem as alterações desde as '''$4''' de '''$3''' (limitadas a '''$1''').",
'rclistfrom' => 'Mostrar as novas alterações a partir das $1',
'tog-minordefault' => "[[Special:Preferences]], tab 'Edit'. Offers user to mark all edits minor by default. {{Gender}}",
'tog-previewontop' => 'Toggle option used in [[Special:Preferences]]. {{Gender}}',
'tog-previewonfirst' => 'Toggle option used in [[Special:Preferences]]. {{Gender}}',
-'tog-nocache' => "[[Special:Preferences]], tab 'Misc.'. Offers the user the option of disabling caching of pages in the browser. {{Gender}}",
'tog-enotifwatchlistpages' => 'Option in [[Special:Preferences]] > {{int:prefs-personal}} > {{int:email}}. {{Gender}}',
'tog-enotifusertalkpages' => 'Option in [[Special:Preferences]] > {{int:prefs-personal}} > {{int:email}}. {{Gender}}',
'tog-enotifminoredits' => 'Option in [[Special:Preferences]] > {{int:prefs-personal}} > {{int:email}}. {{Gender}}
'resetpass_submit' => 'Submit button on [[Special:ChangePassword]]',
'changepassword-success' => 'Used in [[Special:ChangePassword]].',
'resetpass_forbidden' => "Used as error message in changing password. Maybe the external auth plugin won't allow local password changes.",
-'resetpass-no-info' => 'Error message for [[Special:ChangePassword]].',
+'resetpass-no-info' => 'Error message for [[Special:ChangePassword]].
+
+Parameters:
+* $1 (unused) - a link to [[Special:UserLogin]] with {{msg-mw|loginreqlink}} as link description',
'resetpass-submit-loggedin' => 'Button on [[Special:ResetPass]] to submit new password.
{{Identical|Change password}}',
'changeemail' => 'Title of [[Special:ChangeEmail|special page]].',
'changeemail-header' => 'Header on [[Special:ChangeEmail]].',
'changeemail-text' => 'Text of [[Special:ChangeEmail]].',
-'changeemail-no-info' => 'Error message for [[Special:ChangeEmail]].',
+'changeemail-no-info' => 'Error message for [[Special:ChangeEmail]].
+
+Parameters:
+* $1 (unused) - a link to [[Special:UserLogin]] with {{msg-mw|loginreqlink}} as link description',
'changeemail-oldemail' => 'Label for e-mail address field in [[Special:ChangeEmail]].',
'changeemail-newemail' => 'Label for e-mail address field in [[Special:ChangeEmail]].',
'changeemail-none' => "Probably appears in 'Current E-mail address' field when no address held, in [[Special:ChangeEmail]].
{{Identical|Login required}}',
'loginreqlink' => 'Take a look on inflection. Used as <code>$1</code> in the following messages:
* {{msg-mw|loginreqpagetext}}
+* {{msg-mw|exception-nologin-text-manual}}
* {{msg-mw|whitelistedittext}}
* {{msg-mw|Uploadnologintext}}
-* {{msg-mw|watchlistanontext}}
-* {{msg-mw|Confirmemail needlogin}}
+* {{msg-mw|watchlistanontext}}
+* {{msg-mw|confirmemail_needlogin}}
+* {{msg-mw|changeemail-no-info}}
+* {{msg-mw|resetpass-no-info}}
+* {{msg-mw|prefsnologintext2}}
{{Identical|Log in}}',
'loginreqpagetext' => 'This message is displayed if an anonymous reader attempts to access a page which is only available to logged-in users.
* {{msg-mw|Confirmemail oncreate}}',
'confirmemail_invalid' => 'Error message on [[Special:ConfirmEmail]] on error of confirmation.',
'confirmemail_needlogin' => 'Used on [[Special:ConfirmEmail]] when you are logged out.
-* $1 is a link to [[Special:UserLogin]] with {{msg-mw|loginreqlink}} as link description',
+
+Parameters:
+* $1 - a link to [[Special:UserLogin]] with {{msg-mw|loginreqlink}} as link description',
'confirmemail_success' => 'Explanation on [[Special:ConfirmEmail]] on completion of confirmation.',
'confirmemail_loggedin' => 'Explanation on [[Special:ConfirmEmail]] on completion of confirmation.',
'confirmemail_subject' => 'Subject of the e-mail sent to user during e-mail address confirmation
# Special:Tags
'tags' => "Shown on [[Special:Specialpages]] for page listing the tags that the software may mark an edit with, and their meaning. For more information on tags see [[mw:Manual:Tags|MediaWiki]].
-It appears that the word 'valid' describes 'tags', not 'change'. It also appears that you could use the term 'defined' instead of 'valid', or perhaps use a phrase meaning 'Change tags in use'.",
+It appears that the word 'valid' describes 'tags', not 'change'. It also appears that you could use the term 'defined' instead of 'valid', or perhaps use a phrase meaning 'The change tags that are in use'.",
'tag-filter' => 'Caption of a filter shown on lists of changes (e.g. [[Special:Log]], [[Special:Contributions]], [[Special:Newpages]], [[Special:Recentchanges]], [[Special:Recentchangeslinked]], page histories)',
'tag-filter-submit' => 'Caption of the submit button displayed next to the tag filter on lists of changes (e.g. [[Special:Log]], [[Special:Contributions]], [[Special:Newpages]], [[Special:Recentchanges]], [[Special:Recentchangeslinked]], page histories)
'tog-minordefault' => 'Tukuy hukchasqakunata kikinmanta aslla nispa sananchay',
'tog-previewontop' => "Rikch'ay qhawana ñawpaqman, ama qhipanpi kachunchu",
'tog-previewonfirst' => "Manaraq llamk'apuspa rikch'ayta qhaway",
-'tog-nocache' => "Llika wamp'unap ''cache'' nisqa paki hallch'anman ama niy",
'tog-enotifwatchlistpages' => "Watiqasqay p'anqa icha willañiqi hukchasqa kaptinqa, e-chaskita kachamuway",
'tog-enotifusertalkpages' => "Rimachinay p'anqa hukchasqa kaptinqa, e-chaskita kachamuway",
'tog-enotifminoredits' => "P'anqapi icha willañiqipi uchuy hukchasqamantapas willawaspa e-chaskita kachamuway",
'tog-watchdeletion' => 'Ñukapak pichashka pankakunata rikuna',
'tog-minordefault' => 'Nimata nikpika, ñukapak killkaykunata uchillami nina',
'tog-previewontop' => 'Ñauwpak rikuchik pankata killkana pankapak hawapi churana',
-'tog-nocache' => 'Wampunapi ama rikushka pankakunata yuyana',
'tog-enotifwatchlistpages' => 'Shuk rikushka pankata shukchishka kakpika, e-chaskita kachamushpami willaway',
'tog-enotifusertalkpages' => 'Ñukapak rimana pankapi mushuk killkayta tiyakpi, e-chaskiwan willaway',
'tog-enotifminoredits' => 'Mushuk killkayta uchilla kakpipash e-chaskiwan willaway',
'tog-minordefault' => 'Marcar tut las modificaziuns per ordinari sco pitschnas',
'tog-previewontop' => "Mussar la prevista sur il champ d'endatziun",
'tog-previewonfirst' => "Adina mussar la prevista suenter l'emprima modificaziun",
-'tog-nocache' => 'Impedir che tes navigatur memorisescha las paginas en il cache',
'tog-enotifwatchlistpages' => "Ma trametter in e-mail sch'ina pagina u ina datoteca sin mia glista d'observaziun vegn midada",
'tog-enotifusertalkpages' => "Trametta in e-mail sch'i ha dà midadas sin mia pagina da discussiun.",
'tog-enotifminoredits' => 'Era ma trametter in e-mail en cas da midadas pitschnas vid paginas u datotecas',
'tog-minordefault' => 'Marchează din oficiu toate modificările ca fiind minore',
'tog-previewontop' => 'Arată previzualizarea deasupra căsuței de modificare',
'tog-previewonfirst' => 'Arată previzualizarea la prima modificare',
-'tog-nocache' => 'Dezactivează opțiunea navigatorului de memorare în cache a paginilor',
'tog-enotifwatchlistpages' => 'Trimite-mi un e-mail atunci când o pagină sau un fișier din lista mea de pagini urmărite suferă modificări',
'tog-enotifusertalkpages' => 'Trimite-mi un email când pagina mea de discuții este modificată',
'tog-enotifminoredits' => 'Trimite-mi, de asemenea, un e-mail în caz de modificări minore asupra paginilor și fișierelor',
'tog-minordefault' => 'Pe convenzione signe tutte le cangiaminde cumme stuédeche',
'tog-previewontop' => "Fa vedè l'andeprime apprime d'a caselle de le cangiaminde",
'tog-previewonfirst' => "Fà vedè l'andeprime sus a 'u prime cangiamende",
-'tog-nocache' => "Disabbilite 'u caching d'a pàgene sfogliate",
'tog-enotifwatchlistpages' => "Manneme 'na mail quanne 'a pàgene ca stoche a condrolle ha cangiate",
'tog-enotifusertalkpages' => "Manneme 'na mail quanne 'a pàgene de le 'ngazzaminde ha cangiate",
'tog-enotifminoredits' => "Manneme 'na mail quanne onne state fatte cangiaminde stuèdeche sus a le pàggene",
'tog-minordefault' => 'Помечать по умолчанию правки как малозначимые',
'tog-previewontop' => 'Помещать предпросмотр перед окном редактирования',
'tog-previewonfirst' => 'Показывать предпросмотр при переходе к редактированию',
-'tog-nocache' => 'Отключить кэширование страниц в браузере',
'tog-enotifwatchlistpages' => 'Уведомлять по эл. почте об изменениях страниц и файлов из списка наблюдения',
'tog-enotifusertalkpages' => 'Уведомлять по эл. почте об изменении персональной страницы обсуждения',
'tog-enotifminoredits' => 'Уведомлять даже при незначительных изменениях страниц и файлов',
'tog-minordefault' => 'Імпліцітно позначіти вшыткы зміны як малы',
'tog-previewontop' => 'Вказовати нагляд перед окном едітованя (не за ним)',
'tog-previewonfirst' => 'Вказати нагляд при першій едітації',
-'tog-nocache' => 'Выпнути кешованя сторінок бровсером',
'tog-enotifwatchlistpages' => 'Послати електронічну пошту, кідь ся змінила сторінка або файл з мого списку слїдованя',
'tog-enotifusertalkpages' => 'Послати електронічну пошту при змінї моёй діскузной сторінкы',
'tog-enotifminoredits' => 'Послати електронічну пошту і про меншы едітованя сторінок і файлів',
मम सर्वाणि सम्पादनानि लघुत्वेन वर्त्यन्ताम्।',
'tog-previewontop' => 'सम्पादनात् पूर्वं प्राग्दृश्यं दर्श्यताम्।',
'tog-previewonfirst' => 'प्रथमसम्पादनस्य प्राग्दृश्यं दर्श्यताम्।',
-'tog-nocache' => 'पृष्ठ धारक-ब्राउजरं निस्क्रियतु ।',
'tog-enotifwatchlistpages' => 'मम अवेक्षणसूच्यां विद्यमाने पृष्ठे परिवर्तिते सति ईपत्रद्वारा ज्ञाप्यताम्।',
'tog-enotifusertalkpages' => 'मम योजकसंभाषणपृष्ठे परिवर्तिते सति ईपत्रद्वारा ज्ञाप्यताम्',
'tog-enotifminoredits' => 'लघुपरिवर्तनेषु सत्सु अपि ईपत्रद्वारा ज्ञाप्यताम्',
'tog-minordefault' => 'Уларытыылары атын этиллибэтэҕинэ кыра уларытыы курдук бэлиэтээ',
'tog-previewontop' => 'Хайдах буоларын уларытар түннүк үрдүнэн (иннигэр) көрдөр',
'tog-previewonfirst' => 'Хайдах буоларын тута көрдөр',
-'tog-nocache' => 'Браузерга сирэйи кэштыыры араар',
'tog-enotifwatchlistpages' => 'Кэтиир сирэйдэрим уонна билэлэрим уларыйдахтарына e-mail көмөтүнэн биллэр',
'tog-enotifusertalkpages' => 'Ырытар сирэйим уларыйдаҕына эл. почтанан биллэр',
'tog-enotifminoredits' => 'Кыра да уларытыы киирдэҕинэ эл. почтанан биллэрээр',
'tog-minordefault' => 'Etohoṕre sanam joṛao purạoanaḱko do bekor unuduḱ lekate cinhạkma',
'tog-previewontop' => 'Joṛao bakso purạo lahare unuduḱ hoyoḱma',
'tog-previewonfirst' => 'Pạhil joṛao purạore unuduḱ hoyoḱma',
-'tog-nocache' => 'Brajar sakam reaḱ kasiṅ bondoemẽ',
'tog-enotifwatchlistpages' => 'E-mailạńme one tinre in̕aḱ n̕eloḱ tạlika do bodolok',
'tog-enotifusertalkpages' => 'E-mailạn̕me one tinre in̕aḱ roṛaḱ laṛcaṛ sakam do bodoloḱa',
'tog-enotifminoredits' => 'E-mailạn̕me arhõ one tinre in̕aḱ sakamre huḍiń kạmi hoyoḱ',
'tog-minordefault' => 'Signa totu is acontzos comente minores pro difetu',
'tog-previewontop' => "Ammustra s'antiprima a subra sa casella de acontzu e no a suta",
'tog-previewonfirst' => "Ammustra s'antiprima pro su primu acontzu",
-'tog-nocache' => "Disativa sa ''cache'' pro is pàginas de su ''browser''",
'tog-enotifwatchlistpages' => 'Spedi·mi una missada eletrònica cando una pàgina de sa watchlist mea est acontzada',
'tog-enotifusertalkpages' => 'Spedi·mi una missada eletrònica cando sa pàgina de is cuntierras mias est acontzada',
'tog-enotifminoredits' => 'Spedi·mi una missada eletrònica fintzas pro is acontzos minores de is pàginas',
'tog-minordefault' => 'Ìndica ogni canciamentu comu nicu (sulu comu pridifinitu)',
'tog-previewontop' => "Ammustra l'antiprima prima dâ casella di canciamentu e nun doppu",
'tog-previewonfirst' => "Ammustra l'antiprima supra lu primu canciamentu",
-'tog-nocache' => 'Disabbìlita la cache dî pàggini dû navigaturi',
'tog-enotifwatchlistpages' => 'Mànnami na e-mail siddu la pàggina subbisci canciamenti',
'tog-enotifusertalkpages' => 'Mànnimi nu missaggiu email quannu la mè pàggina di discussioni è canciata',
'tog-enotifminoredits' => 'Mànnami na e-mail macari pi li canciamenti nichi di sta pàggina',
'tog-minordefault' => 'Mairk aa edits "smaa" bi defaut',
'tog-previewontop' => 'Shaw scance afore edit box an no efter it',
'tog-previewonfirst' => 'Shaw scance on first edit',
-'tog-nocache' => 'Disable page cachin',
'tog-enotifwatchlistpages' => 'Send me an email on page chynges',
'tog-enotifusertalkpages' => 'Send me an email whan ma uiser collogue page is chynged',
'tog-enotifminoredits' => 'Send me an email for smaa edits o pages an aa',
'tog-minordefault' => "Indica tutti li mudìfigghi cumenti 'minori' in otomàtiggu",
'tog-previewontop' => "Musthra l'antiprimma sobra la casella di mudìfigga",
'tog-previewonfirst' => "Musthra l'antiprimma pa la primma mudìfigga",
-'tog-nocache' => 'Disattiba la mimória cache pa li pàgini',
'tog-enotifwatchlistpages' => 'Signàrami pa postha erettrònica li mudìfigghi a li pàgini abbaidaddi',
'tog-enotifusertalkpages' => "Signàrami pa postha erettrònica li mudìfigghi a la me' pàgina di dischussioni",
'tog-enotifminoredits' => 'Signàrami pa postha erettrònica puru li mudìfigghi minori',
'tog-minordefault' => 'Rievdadusat leat unnit, jus ii eará álmmuhuvvo',
'tog-previewontop' => 'Čájet siidduid rievdadusaid ovddalgihtii geahččama ođasmahttin lođá bajábealde',
'tog-previewonfirst' => 'Čájehišgoađe siidduid rievdadusaid ovddalgihtii, go siiddu rievdadeapmi álggahuvvo',
-'tog-nocache' => 'Ále vurke siidduid gaskaboddasašmuitui',
'tog-enotifwatchlistpages' => 'Sádde dieđu e-poasttain go mu čuovvunlistui gullevaš siidu rievdaduvvo',
'tog-enotifusertalkpages' => 'Sádde e-poasta, go geavaheaddjisiiddu ságastallansiidu rievdaduvvo',
'tog-enotifminoredits' => 'Sádde dieđu e-poasttain maid unna rievdadusaid birra',
'tog-minordefault' => 'Jömde ticpatlöx coccebj bajlöxamde auto',
'tog-previewontop' => "Cohuatlöx cuáxiit boxde ticpatlöx 'pre",
'tog-previewonfirst' => 'Cohuatlöx cuáxiitde 1. ticpatlöx',
-'tog-nocache' => 'Necoccebj cachede páhinám',
'tog-enotifwatchlistpages' => 'E-iitom he páhina he cáminot coccebj quiih',
'tog-enotifusertalkpages' => 'E-iitom he czaxö páhina he cáminot coccebj quiih',
'tog-enotifminoredits' => 'E-iitom hede ticpatlöx bajlöxde páhinám',
'tog-minordefault' => 'Palē nutīliejėma pažīmietė redagavėmus kāp mažus',
'tog-previewontop' => 'Ruodītė parvaiza vėrš redagavėma lauka',
'tog-previewonfirst' => 'Ruodītė straipsnė parvėiza pėrmu redagavėmu',
-'tog-nocache' => "Nenauduotė poslapiu kaupėma (''caching'')",
'tog-enotifwatchlistpages' => 'Siōstė mon gromata, kūmet pakeitams poslapis, katra stebiu',
'tog-enotifusertalkpages' => 'Siōstė mon gromata, kūmet pakaitams mona nauduotuojė aptarėma poslapis',
'tog-enotifminoredits' => 'Siōstė mon gromata, kūmet poslapė keitėms īr mažos',
'tog-minordefault' => 'Označi da su sve izmjene u pravilu manje',
'tog-previewontop' => 'Prikaži pretpregled prije kutije za uređivanje',
'tog-previewonfirst' => 'Prikaži pretpregled na prvoj izmjeni',
-'tog-nocache' => 'Onemogući keš (cache) stranica u pregledniku',
'tog-enotifwatchlistpages' => 'Pošalji mi e-mail kada se promijeni stranica ili datoteka na mom spisku praćenja',
'tog-enotifusertalkpages' => 'Pošalji mi e-poštu kad se promijeni moja korisnička stranica za razgovor',
'tog-enotifminoredits' => 'Pošalji mi e-mail i kod manjih izmjena stranica i datoteka',
'tog-minordefault' => 'Rcm kullu iẓṛign li fssusni sɣiklli gan.',
'tog-previewontop' => 'Mel iẓri amzwaru ɣ uflla ɣ taɣzut n imbddln',
'tog-previewonfirst' => 'Ml imzray n imbdln imzwura',
-'tog-nocache' => 'ador itsjjal lmtasaffih tawriqt ad',
'tog-enotifwatchlistpages' => 'sifd yi tabrat igh ibdl kra yat twriqt ghomdfor inu',
'tog-enotifusertalkpages' => 'sifd yi tabrat igh tbdl tawriqt ohokko-no',
'tog-enotifminoredits' => 'sifd yi tabrat i ibdln mziynin',
'tog-minordefault' => 'සියළු සංස්කරණයන් පෙර-නිමියෙන් සුළු-සංස්කරණ ලෙස සලකුණු කරන්න',
'tog-previewontop' => 'සංස්කරණ කොටුවට ඉදිරියෙන් පෙර-දසුන පෙන්වන්න',
'tog-previewonfirst' => 'පළමු සංස්කරණයෙහිදී පෙර-දසුන පෙන්වන්න',
-'tog-nocache' => 'ගවේශක පිටු මතක තබා ගැනීම අක්රීය කරන්න',
'tog-enotifwatchlistpages' => 'මාගේ මුර ලැයිස්තුවෙහි පිටුවක් හෝ ගොනුවක් හෝ වෙනස්වූ විට මා හට විද්යුත් තැපැල් පණිවුඩයක් එවන්න',
'tog-enotifusertalkpages' => 'මගේ පරිශීලක සාකච්ඡා පිටුව වෙනස් වූ විට මා හට විද්යුත්-තැපෑලක් එවන්න',
'tog-enotifminoredits' => 'පිටුවල හෝ ගොනුවල හෝ සුළු-සංස්කරණයකදී පවා මට විද්යුත් තැපැල් පණිවුඩයක් එවන්න',
'tog-minordefault' => 'Označovať všetky zmeny štandardne ako drobné',
'tog-previewontop' => 'Zobrazovať náhľad pred textovým poľom úprav, nie až za ním',
'tog-previewonfirst' => 'Zobraziť náhľad pred prvou úpravou',
-'tog-nocache' => 'Zakázať ukladanie stránok do vyrovnávacej pamäte prehliadača',
'tog-enotifwatchlistpages' => 'Upozorniť ma emailom, keď sa zmení stránka alebo súbor z môjho zoznamu sledovaných',
'tog-enotifusertalkpages' => 'Upozorniť ma emailom po zmene mojej používateľskej diskusnej stránky',
'tog-enotifminoredits' => 'Upozorniť ma emailom aj na drobné úpravy stránok a súborov',
'tog-minordefault' => 'Vsa urejanja označi kot manjša',
'tog-previewontop' => 'Prikaži predogled pred urejevalnim poljem',
'tog-previewonfirst' => 'Ob začetku urejanja prikaži predogled',
-'tog-nocache' => 'Onemogoči predpomnenje strani v brskalniku',
'tog-enotifwatchlistpages' => 'Ob spremembah strani ali datotek mi pošlji e-pošto',
'tog-enotifusertalkpages' => 'Pošlji e-pošto ob spremembah moje pogovorne strani',
'tog-enotifminoredits' => 'Pošlji e-pošto tudi za manjše spremembe strani in datotek',
# Edit pages
'summary' => 'Povzetek urejanja:',
'subject' => 'Zadeva/naslov:',
-'minoredit' => 'Manjše urejanje',
+'minoredit' => 'manjše urejanje',
'watchthis' => 'Opazuj članek',
'savearticle' => 'Shrani stran',
'preview' => 'Predogled',
'recentchanges-summary' => 'Na tej strani lahko spremljate najnovejše spremembe wikija.',
'recentchanges-noresult' => 'V podanem obdobju nobena sprememba ne ustreza tem merilom.',
'recentchanges-feed-description' => 'Spremljajte zadnje spremembe wikija prek tega vira.',
-'recentchanges-label-newpage' => 'S tem urejanjem je uporabnik ustvaril novo stran',
+'recentchanges-label-newpage' => 's tem urejanjem je uporabnik ustvaril novo stran',
'recentchanges-label-minor' => 'Manjše urejanje',
-'recentchanges-label-bot' => 'Urejanje je izvedel bot',
+'recentchanges-label-bot' => 'urejanje je izvedel bot',
'recentchanges-label-unpatrolled' => 'Urejanje še ni bilo pregledano',
-'recentchanges-label-plusminus' => 'Uporabnik je velikost strani spremenil za tolikšno število bajtov.',
+'recentchanges-label-plusminus' => 'uporabnik je velikost strani spremenil za tolikšno število bajtov',
'recentchanges-legend-newpage' => '(glej tudi [[Special:NewPages|seznam novih strani]])',
'rcnotefrom' => "Navedene so spremembe od '''$2''' dalje (prikazujem jih do '''$1''').",
'rclistfrom' => 'Prikaži spremembe od $1 naprej',
'rclinks' => 'Prikaži zadnjih $1 sprememb v zadnjih $2 dneh<br />$3',
'diff' => 'prim',
'hist' => 'zgod',
-'hide' => 'Skrij',
-'show' => 'Prikaži',
+'hide' => 'skrij',
+'show' => 'prikaži',
'minoreditletter' => 'm',
'newpageletter' => 'N',
'boteditletter' => 'b',
Prosimo, preverite delovanje strani, počakajte kratek čas in poskusite ponovno.
Morda želite poskusiti ob času manjše zasedenosti.',
-'license' => 'Licenciranje:',
+'license' => 'Licenca:',
'license-header' => 'Licenca',
'nolicense' => 'Nobeno',
'license-nopreview' => '(Predogled ni na voljo)',
# Namespace form on various pages
'namespace' => 'Imenski prostor:',
-'invert' => 'Obrni izbor',
+'invert' => 'obrni izbor',
'tooltip-invert' => 'Označite to polje, da skrijete spremembe v izbranem imenskem prostoru (in povezanih imenskih prostorih, če je označeno)',
-'namespace_association' => 'Povezan imenski prostor',
+'namespace_association' => 'povezan imenski prostor',
'tooltip-namespace_association' => 'Označite to polje, da vključite tudi pogovor ali predmetni imenski prostor, povezan z izbranim imenskim prostorom',
'blanknamespace' => '(Osnovno)',
Lahko tudi [[Special:EditWatchlist/raw|uredite gol spisek]].',
'watchlistedit-normal-submit' => 'Odstrani strani',
'watchlistedit-normal-done' => 'Z vašega spiska nadzorov {{PLURAL:$1|je bila odstranjena $1 stran|sta bili odstranjeni $1 strani|so bile odstranjene $1 strani|je bilo odstranjenih $1 strani}}:',
-'watchlistedit-raw-title' => 'Uredi gol spisek nadzorov',
+'watchlistedit-raw-title' => 'urejanje golega spiska nadzorov',
'watchlistedit-raw-legend' => 'Uredi gol spisek nadzorov',
'watchlistedit-raw-explain' => 'Strani na vašem spisku nadzorov so prikazane spodaj in jih lahko urejate z dodajanjem in odstranjevanjem s seznama; vsak naslov je v svoji vrstici.
Ko končate, kliknite »{{int:Watchlistedit-raw-submit}}«.
'watchlistedit-raw-removed' => '{{PLURAL:$1|Odstranjena je bila $1 stran|Odstranjeni sta bili 2 strani|Odstranjene so bile $1 strani|Odstranjenih je bilo $1 strani}}:',
# Watchlist editing tools
-'watchlisttools-view' => 'Oglej si ustrezne spremembe',
-'watchlisttools-edit' => 'Poglej in uredi spisek nadzorov',
+'watchlisttools-view' => 'oglej si ustrezne spremembe',
+'watchlisttools-edit' => 'prikaz in urejanje spiska nadzorov',
'watchlisttools-raw' => 'Uredi gol spisek nadzorov',
# Signatures
'tog-minordefault' => 'Eegene Änderunga standardmäßig als geringfiegich markiern',
'tog-previewontop' => 'Vurschau uberhoalb voo dam Beoarbeetungsfanster oazäan',
'tog-previewonfirst' => 'Beim erschta Bearbta emmer de Vurschau oazeiga',
-'tog-nocache' => 'Zwischaspeicharn derr Seite (eim cache) deaktiviern',
'tog-enotifwatchlistpages' => 'Bei Änderunga voo beobachteta Seyta mer an E-mail schicka',
'tog-enotifusertalkpages' => 'Bei Änderunga oa menner Benutzer-Dischkurseite E-mail oa mich schicka',
'tog-enotifminoredits' => 'Au bei klenn Änderunga E-mail oa mich schicka',
'tog-minordefault' => 'Isbedelada yaryar marwalba calaamadey',
'tog-previewontop' => 'Itus horfiirinta kahor sanduuqa wax ka bedelida',
'tog-previewonfirst' => 'Horfiirinta itus marka ugu horeeyso oo aan wax ka bedelo',
-'tog-nocache' => 'Dami browsaha maqaalada duubo',
'tog-enotifwatchlistpages' => 'E-mail ii soo dir markii wax laga badalo maqaalada ku jira liiskayga waardiyaha',
'tog-enotifusertalkpages' => 'E-mail ii soo dir markii boggayga wadahadalka oo isbedelo',
'tog-enotifminoredits' => 'E-mail Ii soo dir xataa markii bedelo yar lagu sameeyo bogyada',
'tog-minordefault' => 'Shëno të gjitha redaktimet si të vogla automatikisht',
'tog-previewontop' => 'Vendose kutinë e bocetit sipër kutisë së redaktimeve',
'tog-previewonfirst' => 'Tregoje bocetin në redaktimin e parë',
-'tog-nocache' => "Ç'aktivizo ruajtjen e faqeve të vizituara",
'tog-enotifwatchlistpages' => 'Më njofto me e-mail kur ndryshohet një faqe apo skedaë nga lista ime e faqeve nën mbikqyrje',
'tog-enotifusertalkpages' => 'Më njofto me e-mail kur faqja ime e dikutimeve të përdoruesit ndryshohet',
'tog-enotifminoredits' => 'Më njofto me e-mail edhe kur ka redaktime të vogla në faqe dhe skedave',
'tog-minordefault' => 'Означавај све измене као мање',
'tog-previewontop' => 'Прикажи преглед пре оквира за уређивање',
'tog-previewonfirst' => 'Прикажи преглед на првој измени',
-'tog-nocache' => 'Онемогући привремено меморисање страница',
'tog-enotifwatchlistpages' => 'Пошаљи ми е-поруку када се промени страница или датотека коју надгледам',
'tog-enotifusertalkpages' => 'Пошаљи ми е-поруку када се промени моја страница за разговор',
'tog-enotifminoredits' => 'Пошаљи ми е-поруку и за мање измене у страницама и датотекама',
'image_tip' => 'Уграђена датотека',
'media_sample' => 'Пример.ogg',
'media_tip' => 'Веза',
-'sig_tip' => 'Ð\9fоÑ\82пиÑ\81 Ñ\81 тренутним временом',
+'sig_tip' => 'Ð\92аÑ\88 поÑ\82пиÑ\81 Ñ\81а тренутним временом',
'hr_tip' => 'Водоравна линија (користити ретко)',
# Edit pages
Покушајте да [[Special:Search|претражите вики]] за сличне странице.',
# Revision deletion
-'rev-deleted-comment' => '(опиÑ\81 измене Ñ\98е Ñ\83клоÑ\9aен)',
+'rev-deleted-comment' => '(опис измене уклоњен)',
'rev-deleted-user' => '(корисничко име је уклоњено)',
'rev-deleted-event' => '(историја је уклоњена)',
'rev-deleted-user-contribs' => '[корисничко име или ИП адреса је уклоњена – измена је сакривена са списка доприноса]',
* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:Слика.jpg]]</nowiki></code>''' за верзију слике у пуној величини
* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:Слика.png|200п|мини|лево|опис]]</nowiki></code>''' за верзију слике с величином од 200 пиксела која је приказана у засебном оквиру, заједно с описом.
* '''<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:Датотека.ogg]]</nowiki></code>''' за директно повезивање с датотеком без њеног приказивања",
-'upload-permitted' => 'Ð\94озвоÑ\99ене вÑ\80Ñ\81Ñ\82е датотека: $1.',
-'upload-preferred' => 'Пожељне врсте датотека: $1.',
-'upload-prohibited' => 'Ð\97абÑ\80аÑ\9aене вÑ\80Ñ\81Ñ\82е датотека: $1.',
+'upload-permitted' => 'Ð\94озвоÑ\99ени Ñ\82ипови датотека: $1.',
+'upload-preferred' => 'Препоручени типови датотека: $1.',
+'upload-prohibited' => 'Ð\97абÑ\80аÑ\9aени Ñ\82ипови датотека: $1.',
'uploadlog' => 'дневник отпремања',
'uploadlogpage' => 'Дневник отпремања',
'uploadlogpagetext' => 'Испод је списак скорашњих слања.
'statistics-views-total' => 'Укупно прегледа',
'statistics-views-total-desc' => 'Прегледи непостојећих и посебних страница нису укључени',
'statistics-views-peredit' => 'Прегледа по измени',
-'statistics-users' => 'УпиÑ\81ани коÑ\80иÑ\81ниÑ\86и ([[Special:ListUsers|Ñ\81пиÑ\81ак Ñ\87ланова]])',
+'statistics-users' => 'РегиÑ\81Ñ\82Ñ\80овани [[Special:ListUsers|коÑ\80иÑ\81ниÑ\86и]]',
'statistics-users-active' => 'Активни корисници',
'statistics-users-active-desc' => 'Корисници који су извршили бар једну радњу {{PLURAL:$1|претходни дан|у последња $1 дана|у последњих $1 дана}}',
'statistics-mostpopular' => 'Најпосећеније странице',
'lonelypages' => 'Сирочићи',
'lonelypagestext' => 'Следеће странице нису повезане с другим страницама, нити су укључене трансклузијом у друге странице.',
'uncategorizedpages' => 'Некатегорисане странице',
-'uncategorizedcategories' => 'Некатегорисане странице',
+'uncategorizedcategories' => 'Некатегорисане категорије',
'uncategorizedimages' => 'Датотеке без категорија',
'uncategorizedtemplates' => 'Некатегорисани шаблони',
'unusedcategories' => 'Некоришћене категорије',
'editcomment' => "Опис измене: \"''\$1''\".",
'revertpage' => 'Враћене измене [[Special:Contributions/$2|$2]] ([[User talk:$2|разговор]]) на последњу измену корисника [[User:$1|$1]]',
'revertpage-nouser' => 'Враћене су измене скривеног корисника на последњу измену {{GENDER:$1|корисника|кориснице}} [[User:$1|$1]]',
-'rollback-success' => 'Враћене су измене {{GENDER:$1|корисника|кориснице|корисника}} $1
-на последњу измену {{GENDER:$2|корисника|кориснице|корисника}} $2.',
+'rollback-success' => 'Враћене су измене {{GENDER:$1|корисника|кориснице}} $1
+на последњу измену {{GENDER:$2|корисника|кориснице}} $2.',
# Edit tokens
'sessionfailure-title' => 'Сесија је окончана',
Вратите се на претходну страницу, поново је учитајте и покушајте поново.',
# Protect
-'protectlogpage' => 'Дневник заштите',
+'protectlogpage' => 'Дневник закључавања',
'protectlogtext' => 'Испод је списак измена у виду заштите страница.
Погледајте [[Special:ProtectedPages|списак заштићених страница]] за више детаља.',
'protectedarticle' => '{{GENDER:|је заштитио|је заштитила|је заштитио}} „[[$1]]“',
'modifiedarticleprotection' => '{{GENDER:|је променио|је променила|је променио}} степен заштите за „[[$1]]“',
-'unprotectedarticle' => '{{GENDER:|је уклонио|је уклонила|је уклонио}} заштиту са странице „[[$1]]“',
+'unprotectedarticle' => '{{GENDER:|је уклонио|је уклонила}} заштиту са странице „[[$1]]“',
'movedarticleprotection' => '{{GENDER:|је преместио|је преместила|је преместио}} поставке заштите са „[[$2]]“ на „[[$1]]“',
'protect-title' => 'Степен заштите за „$1“',
'protect-title-notallowed' => 'Преглед степена заштите за „$1“',
'tog-minordefault' => 'Označavaj sve izmene kao manje',
'tog-previewontop' => 'Prikaži pregled pre okvira za uređivanje',
'tog-previewonfirst' => 'Prikaži pregled na prvoj izmeni',
-'tog-nocache' => 'Onemogući privremeno memorisanje stranica',
'tog-enotifwatchlistpages' => 'Pošalji mi e-poruku kada se promeni stranica ili datoteka koju nadgledam',
'tog-enotifusertalkpages' => 'Pošalji mi e-poruku kada se promeni moja stranica za razgovor',
'tog-enotifminoredits' => 'Pošalji mi e-poruku i za manje izmene u stranicama i datotekama',
'image_tip' => 'Ugrađena datoteka',
'media_sample' => 'Primer.ogg',
'media_tip' => 'Veza',
-'sig_tip' => 'Potpis s trenutnim vremenom',
+'sig_tip' => 'Vaš potpis sa trenutnim vremenom',
'hr_tip' => 'Vodoravna linija (koristiti retko)',
# Edit pages
Pokušajte da [[Special:Search|pretražite viki]] za slične stranice.',
# Revision deletion
-'rev-deleted-comment' => '(opis izmene je uklonjen)',
+'rev-deleted-comment' => '(opis izmene uklonjen)',
'rev-deleted-user' => '(korisničko ime je uklonjeno)',
'rev-deleted-event' => '(istorija je uklonjena)',
'rev-deleted-user-contribs' => '[korisničko ime ili IP adresa je uklonjena – izmena je sakrivena sa spiska doprinosa]',
* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:Slika.jpg]]</nowiki></code>''' za verziju slike u punoj veličini
* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:Slika.png|200p|mini|levo|opis]]</nowiki></code>''' za verziju slike s veličinom od 200 piksela koja je prikazana u zasebnom okviru, zajedno s opisom.
* '''<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:Datoteka.ogg]]</nowiki></code>''' za direktno povezivanje s datotekom bez njenog prikazivanja",
-'upload-permitted' => 'Dozvoljene vrste datoteka: $1.',
-'upload-preferred' => 'Poželjne vrste datoteka: $1.',
-'upload-prohibited' => 'Zabranjene vrste datoteka: $1.',
+'upload-permitted' => 'Dozvoljeni tipovi datoteka: $1.',
+'upload-preferred' => 'Preporučeni tipovi datoteka: $1.',
+'upload-prohibited' => 'Zabranjeni tipovi datoteka: $1.',
'uploadlog' => 'dnevnik otpremanja',
'uploadlogpage' => 'Dnevnik otpremanja',
'uploadlogpagetext' => 'Ispod je spisak skorašnjih slanja.
'statistics-views-total' => 'Ukupno pregleda',
'statistics-views-total-desc' => 'Pregledi nepostojećih i posebnih stranica nisu uključeni',
'statistics-views-peredit' => 'Pregleda po izmeni',
-'statistics-users' => 'Upisani korisnici ([[Special:ListUsers|spisak članova]])',
+'statistics-users' => 'Registrovani [[Special:ListUsers|korisnici]]',
'statistics-users-active' => 'Aktivni korisnici',
'statistics-users-active-desc' => 'Korisnici koji su izvršili bar jednu radnju {{PLURAL:$1|prethodni dan|u poslednja $1 dana|u poslednjih $1 dana}}',
'statistics-mostpopular' => 'Najposećenije stranice',
'lonelypages' => 'Siročići',
'lonelypagestext' => 'Sledeće stranice nisu povezane s drugim stranicama, niti su uključene transkluzijom u druge stranice.',
'uncategorizedpages' => 'Nekategorisane stranice',
-'uncategorizedcategories' => 'Nekategorisane stranice',
+'uncategorizedcategories' => 'Nekategorisane kategorije',
'uncategorizedimages' => 'Datoteke bez kategorija',
'uncategorizedtemplates' => 'Nekategorisani šabloni',
'unusedcategories' => 'Nekorišćene kategorije',
'linksearch-pat' => 'Obrazac pretrage:',
'linksearch-ns' => 'Imenski prostor:',
'linksearch-ok' => 'Pretraži',
-'linksearch-text' => 'Mogu se koristiti džokeri poput „*.wikipedia.org“.<br />
+'linksearch-text' => 'Mogu se koristiti džokeri poput „*.wikipedia.org“.
Potreban je najviši domen, kao „*.org“.<br />
{{PLURAL:$2|Podržan protokol|Podržani protokoli}}: <code>$1</code> (zadaje http:// ako ne navedete protokol).',
'linksearch-line' => '$1 veza u $2',
'editcomment' => "Opis izmene: \"''\$1''\".",
'revertpage' => 'Vraćene izmene [[Special:Contributions/$2|$2]] ([[User talk:$2|razgovor]]) na poslednju izmenu korisnika [[User:$1|$1]]',
'revertpage-nouser' => 'Vraćene su izmene skrivenog korisnika na poslednju izmenu {{GENDER:$1|korisnika|korisnice}} [[User:$1|$1]]',
-'rollback-success' => 'Vraćene su izmene {{GENDER:$1|korisnika|korisnice|korisnika}} $1
-na poslednju izmenu {{GENDER:$2|korisnika|korisnice|korisnika}} $2.',
+'rollback-success' => 'Vraćene su izmene {{GENDER:$1|korisnika|korisnice}} $1
+na poslednju izmenu {{GENDER:$2|korisnika|korisnice}} $2.',
# Edit tokens
'sessionfailure-title' => 'Sesija je okončana',
Vratite se na prethodnu stranicu, ponovo je učitajte i pokušajte ponovo.',
# Protect
-'protectlogpage' => 'Dnevnik zaštite',
+'protectlogpage' => 'Dnevnik zaključavanja',
'protectlogtext' => 'Ispod je spisak izmena u vidu zaštite stranica.
Pogledajte [[Special:ProtectedPages|spisak zaštićenih stranica]] za više detalja.',
'protectedarticle' => '{{GENDER:|je zaštitio|je zaštitila|je zaštitio}} „[[$1]]“',
'modifiedarticleprotection' => '{{GENDER:|je promenio|je promenila|je promenio}} stepen zaštite za „[[$1]]“',
-'unprotectedarticle' => '{{GENDER:|je uklonio|je uklonila|je uklonio}} zaštitu sa stranice „[[$1]]“',
+'unprotectedarticle' => '{{GENDER:|je uklonio|je uklonila}} zaštitu sa stranice „[[$1]]“',
'movedarticleprotection' => '{{GENDER:|je premestio|je premestila|je premestio}} postavke zaštite sa „[[$2]]“ na „[[$1]]“',
'protect-title' => 'Stepen zaštite za „$1“',
'protect-title-notallowed' => 'Pregled stepena zaštite za „$1“',
'tog-minordefault' => "Marki ala mi kenki leki 'pikin'",
'tog-previewontop' => 'Fusi hey opo mi kenkibox libi si',
'tog-previewonfirst' => 'Sori wan Si-na-fesi na a fosi kenki',
-'tog-nocache' => 'No kebroiki cache',
'tog-enotifwatchlistpages' => 'Seni mi wan E-mail te papira ini mi "Tan luku" rey kenki',
'tog-enotifusertalkpages' => 'Seni mi wan E-mail te mi Taki papira kenki',
'tog-enotifminoredits' => 'E-mail mi fu pikin kenki fu peprewoysi opo mi sirey',
'tog-minordefault' => 'Alle Annerengen as littek markierje',
'tog-previewontop' => 'Foarbekiek buppe dät Beoarbaidengsfinster anwiese',
'tog-previewonfirst' => 'Bie dät eerste Beoarbaidjen altied dän Foarbekiek anwiese',
-'tog-nocache' => 'Siedencache fon dän Browser deaktivierje',
'tog-enotifwatchlistpages' => 'Bie Annerengen an bekiekede Sieden E-Mails seende.',
'tog-enotifusertalkpages' => 'Bie Annerengen an mien Benutser-Diskussionssiede E-Mails seende.',
'tog-enotifminoredits' => 'Uk bie litje Annerengen an do Sieden E-Mails seende.',
'tog-minordefault' => 'Tandaan sadaya éditan salaku minor luyu jeung ti dituna',
'tog-previewontop' => 'Témbongkeun sawangan méméh kotak édit (lain sanggeusna)',
'tog-previewonfirst' => 'Témbongkeun sawangan dina éditan munggaran',
-'tog-nocache' => "Tumpurkeun ''cache'' kaca dina pangaprak",
'tog-enotifwatchlistpages' => 'Lamun aya kaca atawa berkas anu diawaskeun robah, béjaan ngaliwatan surélék',
'tog-enotifusertalkpages' => 'Mun kaca obrolan kuring robah, béjaan ngaliwatan surélék',
'tog-enotifminoredits' => 'Béjaan ogé (ngaliwatan surélék) lamun aya parobahan leutik dina kaca jeung berkasna',
'tog-minordefault' => 'Markera automatiskt ändringar som mindre',
'tog-previewontop' => 'Visa förhandsgranskningen ovanför redigeringsrutan',
'tog-previewonfirst' => 'Visa förhandsgranskning när redigering påbörjas',
-'tog-nocache' => 'Stäng av cachelagring för sidor',
'tog-enotifwatchlistpages' => 'Skicka e-post till mig när en sida på min bevakningslista ändras',
'tog-enotifusertalkpages' => 'Skicka e-post till mig när något händer på min diskussionssida',
'tog-enotifminoredits' => 'Skicka mig e-post även för mindre ändringar av sidor och filer',
# Short words for each namespace, by default used in the namespace tab in monobook
'nstab-main' => 'Sida',
'nstab-user' => 'Användarsida',
-'nstab-media' => 'Media',
+'nstab-media' => 'Mediasida',
'nstab-special' => 'Specialsida',
'nstab-project' => 'Projektsida',
'nstab-image' => 'Fil',
'databaseerror-function' => 'Funktion: $1',
'databaseerror-error' => 'Fel: $1',
'laggedslavemode' => 'Varning: Sidan kan sakna de senaste uppdateringarna.',
-'readonly' => 'Databasen är skrivskyddad',
-'enterlockreason' => 'Ange varför sidan skrivskyddats, och ge en uppskattning av hur länge skrivskyddet bör behållas.',
+'readonly' => 'Databasen är låst',
+'enterlockreason' => 'Ange varför sidan låsts, och ge en uppskattning av hur länge skrivskyddet bör behållas.',
'readonlytext' => 'Databasen är tillfälligt låst för nya inlägg och andra modifieringar, förmodligen på grund av rutinmässigt underhåll, efter vilket den kommer den att återgå till normalläge.
Den administratör som låste den har angivit följande förklaring: $1',
'createacct-benefit-heading' => '{{SITENAME}} är skapad av människor som dig.',
'createacct-benefit-body1' => '{{PLURAL:$1|redigering|redigeringar}}',
'createacct-benefit-body2' => '{{PLURAL:$1|sida|sidor}}',
-'createacct-benefit-body3' => 'senaste {{PLURAL:$1|bidragsgivare}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|nylig|nyliga}} bidragsgivare',
'badretype' => 'De lösenord du uppgett överensstämmer inte med varandra.',
'userexists' => 'Det valda användarnamnet används redan.
Var god välj ett annat namn.',
'passwordremindertext' => 'Någon (förmodligen du, från IP-adressen $1) har begärt ett nytt lösenord till {{SITENAME}} ($4). Ett tillfälligt lösenordet för användaren "$2" har skapats och det blev "$3". Om detta var vad du önskade, så behöver du nu logga in och välja ett nytt lösenord. Ditt tillfälliga lösenord går ut om {{PLURAL:$5|ett dygn|$5 dygn}}.
Om denna begäran gjordes av någon annan, eller om du har kommit på ditt lösenord,
-och inte längre önskar ändra det, så kan du ignorera detta meddelande och
+och inte längre önskar ändra det, så kan du ignorera detta meddelande. Då kan du
fortsätta använda ditt gamla lösenord.',
'noemail' => 'Användaren "$1" har inte registrerat någon e-postadress.',
'noemailcreate' => 'Du måste ange en giltig e-postadress',
'tog-extendwatchlist' => 'Tanua orodha ya maangalizi ili kuonyesha mabadiliko yote yaliyofanyika, si hilo la mwisho tu.',
'tog-usenewrc' => 'Mabadiliko ya kundi kwa kurasa kwenye mabadiliko ya karibuni na maangalizi (JavaScript inahitajika)',
'tog-numberheadings' => 'Vichwa vya habari vijipange namba-vyenyewe',
-'tog-showtoolbar' => 'Onyesha mwambaa wa zana za kuhariria (JavaScript)',
+'tog-showtoolbar' => 'Onyesha mwambaa wa zana za kuhariria',
'tog-editondblclick' => 'Hariri ukurasa kwa kubonyeza mara mbili',
'tog-editsection' => 'Wezesha sehemu ya kuandikia kwa kutumia viungo vya [hariri]',
'tog-editsectiononrightclick' => 'Wezesha sehemu ya kuandikia kwa kubonyeza kitufe cha kulia cha puku yako juu ya sehemu ya majina husika (JavaScript)',
'tog-minordefault' => 'Weka alama zote za mabadiliko madogo kama matumizi mbadala',
'tog-previewontop' => 'Onyesha mandhari kabla ya sanduku la kuhariria',
'tog-previewonfirst' => 'Onyesha mandhari unapoanza kuhariri',
-'tog-nocache' => 'Kurasa zisiwekwe katika kache (akiba ya muda) ya kivinjari',
'tog-enotifwatchlistpages' => 'Nitumie barua pepe pale kurasa zilizopo katika maangalizi yangu zinabadilishwa',
'tog-enotifusertalkpages' => 'Nitumie barua pepe pale ukurasa wangu wa majadiliano ukiwa na mabadiliko',
'tog-enotifminoredits' => 'Pia nitumie barua pale mabadiliko ya ukurasa yanapokuwa madogo tu.',
'youhavenewmessages' => 'Una $1 ($2).',
'youhavenewmessagesfromusers' => 'Una $1 kutoka {{PLURAL:$3|another user|$3 users}} ($2)',
'youhavenewmessagesmanyusers' => 'Una $1 kutoka kwa watumiaji wengi $2',
-'newmessageslinkplural' => '{{PLURAL:$1|a new message|ujumbe mpya}}',
-'newmessagesdifflinkplural' => 'last {{PLURAL:$1|change|mabadiliko}}',
+'newmessageslinkplural' => '{{PLURAL:$1|ujumbe mpya|999=jumbe mpya}}',
+'newmessagesdifflinkplural' => '{{PLURAL:$1|badiliko la|999=mabadiliko ya}} mwisho',
'youhavenewmessagesmulti' => 'Umepokea jumbe mpya kule $1',
'editsection' => 'hariri',
'editold' => 'hariri',
'tog-minordefault' => 'Kożde moje sprowjańy je ńywjelge',
'tog-previewontop' => 'Uobźyrej przed placym sprowjańo',
'tog-previewonfirst' => 'Obźyrej zajta przi pjyrszym sprowjańu',
-'tog-nocache' => 'Wypńij podrynczno pamjyńć',
'tog-enotifwatchlistpages' => 'Wyślij e-brifa, kej ftoś zmjyńi zajta, na kero dowom pozůr',
'tog-enotifusertalkpages' => 'Wyślij e-brifa, kej zajta mojij godki bydźe půmjyńono',
'tog-enotifminoredits' => 'Wyślij e-brifa tyż, kej by szło uo drobne pomjyńańa',
'tog-minordefault' => 'இயல்பிருப்பாக அனைத்து தொகுப்புகளையும் சிறியது எனக் குறித்துக்கொள்.',
'tog-previewontop' => 'தொகுப்புப் பெட்டிக்கு முன்பு முன்தோற்றத்தைக் காட்டு',
'tog-previewonfirst' => 'முதல் தொகுப்பில் முன்தோற்றத்தைக் காட்டு',
-'tog-nocache' => 'உலாவி பக்க இடைமாற்றை முடக்கு',
'tog-enotifwatchlistpages' => 'நான் கவனிக்கும் பக்கம் அல்லது கோப்பு மாற்றப்பட்டால் எனக்கு மின்னஞ்சல் செய்க',
'tog-enotifusertalkpages' => 'என் பயனர் பேச்சுப் பக்கம் மாற்றப்பட்டால் எனக்கு மின்னஞ்சல் செய்',
'tog-enotifminoredits' => 'பக்கம் மற்றும் கோப்புகளுக்கான சிறு தொகுப்புக்கள் குறித்தும் எனக்கு மின்னஞ்சல் செய்யவும்',
'tog-minordefault' => 'ಪೂರಾ ಸಂಪಾದನೆನ್ಲಾ ಎಲ್ಯ ಪಂಡ್’ದ್ ಗುರ್ತ ಮಲ್ಪುಲೆ',
'tog-previewontop' => 'ಮುನ್ನೋಟನ್ ಸಂಪಾದನೆ ಅಂಕಣದ ಮಿತ್ತ್ ತೊಜ್ಪಾಲೆ',
'tog-previewonfirst' => 'ಶುರುತ ಬದಲಾವಣೆದ ಬೊಕ್ಕ ಮನ್ನೋಟನ್ ತೊಜ್ಪಾಲೆ',
-'tog-nocache' => 'ಪುಟೊತ caching ನ್ ಉಂತಾಲೆ',
'tog-enotifwatchlistpages' => 'ಎನ್ನ ವೀಕ್ಷಣಾಪಟ್ಟಿಡ್ ಉಪ್ಪುನಂಚಿನ ಒವಾಂಡಲ ಪುಟ ಬದಲಾಂಡ ಎಂಕ್ ಇ-ಮೇಲ್ ಮಲ್ಪುಲೆ',
'tog-enotifusertalkpages' => 'ಎನ್ನ ಚರ್ಚೆ ಪುಟ ಬದಲಾಂಡ ಎಂಕ್ ಇ-ಮೇಲ್ ಕಡಪುಡ್ಲೆ',
'tog-enotifminoredits' => 'ಎಲ್ಯೆಲ್ಯ ಬದಲಾವಣೆ ಆಂಡಲ ಎಂಕ್ ಇ-ಮೇಲ್ ಮಲ್ಪುಲೆ',
'tog-showtoolbar' => 'దిద్దుబాటు పనిముట్ల పట్టీని చూపించు',
'tog-editondblclick' => 'డబుల్ క్లిక్కు చేసినప్పుడు పేజీని మార్చు',
'tog-editsection' => '[మార్చు] లింకు ద్వారా విభాగం మార్పు చేతనం',
-'tog-editsectiononrightclick' => 'విà°à°¾à°\97à°\82 à°ªà±\87à°°à±\81 à°®à±\80à°¦ à°\95à±\81à°¡à°¿ à°\95à±\8dలిà°\95à±\8dà°\95à±\81à°¤à±\8b విà°à°¾à°\97à°\82 మారà±\8dà°ªà±\81 à°\95ావాలి (à°\9cావాసà±\8dà°\95à±\8dà°°à°¿à°ªà±\8dà°\9fà±\81)',
+'tog-editsectiononrightclick' => 'విà°à°¾à°\97ాల à°¶à±\80à°°à±\8dà°·à°¿à°\95à°² à°®à±\80à°¦ à°\95à±\81à°¡à°¿à°¨à±\8aà°\95à±\8dà°\95à±\81à°¤à±\8b విà°à°¾à°\97à°ªà±\81 దిదà±\8dà°¦à±\81బాà°\9fà±\81à°¨à±\81 à°\9aà±\87తనà°\82à°\9aà±\87యి',
'tog-showtoc' => 'విషయసూచిక చూపించు (3 కంటే ఎక్కువ శీర్షికలున్న పేజీలకు)',
'tog-rememberpassword' => 'ఈ విహారిణిలో నా ప్రవేశాన్ని గుర్తుంచుకో (గరిష్ఠంగా $1 {{PLURAL:$1|రోజు|రోజుల}}కి)',
'tog-watchcreations' => 'నేను సృష్టించే పేజీలను మరియు దస్త్రాలను నా వీక్షణ జాబితాకు చేర్చు',
'tog-minordefault' => 'ప్రత్యేకంగా తెలుపనంతవరకూ నా మార్పులను చిన్న మార్పులుగా గుర్తించు',
'tog-previewontop' => 'వ్యాసం మార్పుల మునుచూపు సవరించు పెట్టె పైన చూపు',
'tog-previewonfirst' => 'మొదటి దిద్దుబాటు చేసినపుడు వ్యాసపు మునుచూపు చూపించు',
-'tog-nocache' => 'విహారిణిలో పుటల స్థానికనకలును(కాషింగు) అచేతనం చేయి',
'tog-enotifwatchlistpages' => 'నా వీక్షణాజాబితా లోని పేజీ లేదా దస్త్రం మారినపుడు నాకు ఈ-మెయిలు పంపు',
'tog-enotifusertalkpages' => 'నా చర్చా పేజీలో మార్పులు జరిగినపుడు నాకు ఈ-మెయిలు పంపు',
'tog-enotifminoredits' => 'పేజీలు మరియు దస్త్రాలకు జరిగే చిన్న మార్పులకు కూడా నాకు ఈ-మెయిలును పంపు',
'cascadeprotected' => 'కింది {{PLURAL:$1|పేజీని|పేజీలను}} కాస్కేడింగు ఆప్షనుతో చేసి సంరక్షించారు. ప్రస్తుత పేజీ, ఈ పేజీల్లో ఇంక్లూడు అయి ఉంది కాబట్టి, దిద్దుబాటు చేసే వీలు లేకుండా ఇది కూడా రక్షణలో ఉంది.
$2',
'namespaceprotected' => "'''$1''' నేంస్పేసులో మార్పులు చేయటానికి మీకు అనుమతి లేదు.",
+'mycustomcssprotected' => 'ఈ CSS పేజీని సవరించేందుకు మీకు అనుమతి లేదు.',
+'mycustomjsprotected' => 'ఈ జావాస్క్రిప్టు పేజీని సవరించేందుకు మీకు అనుమతి లేదు.',
+'myprivateinfoprotected' => 'మీ అంతరంగిక సమాచారాన్ని సవరించేందుకు మీకు అనుమతి లేదు.',
+'mypreferencesprotected' => 'మీ అభీష్టాలను సవరించేందుకు మీకు అనుమతి లేదు.',
'ns-specialprotected' => 'ప్రత్యేక పేజీలపై దిద్దుబాట్లు చేయలేరు.',
'titleprotected' => "సభ్యులు [[User:$1|$1]] ఈ పేజీని సృష్టించనివ్వకుండా నిరోదిస్తున్నారు.
అందుకు ఇచ్చిన కారణం: ''$2''.",
'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' => 'మీ ఈమెయిలు చిరునామాను ఇవ్వండి',
'createacct-another-email-ph' => 'ఈమెయిలు చిరునామాను ఇవ్వండి',
-'createaccountmail' => 'తాతà±\8dà°\95ాలిà°\95 యాదà±\83à°\9aà±\8dà°\9aà°¿à°\95 à°¸à°\82à°\95à±\87తపదానà±\8dని వాడి దానà±\8dని à°\88 à°\95à±\8dà°°à°¿à°\82à°¦ à°\87à°\9aà±\8dà°\9aà°¿న ఈమెయిలు చిరునామాకు పంపించు',
+'createaccountmail' => 'à°\8fà°¦à±\8b à°\92à°\95 తాతà±\8dà°\95ాలిà°\95 à°¸à°\82à°\95à±\87తపదానà±\8dని వాడి దానà±\8dని à°ªà±\87à°°à±\8dà°\95à±\8aà°¨à±\8dన ఈమెయిలు చిరునామాకు పంపించు',
'createacct-realname' => 'అసలు పేరు (ఐచ్చికం)',
'createaccountreason' => 'కారణం:',
'createacct-reason' => 'కారణం',
'createacct-captcha' => 'భద్రతా తనిఖీ',
'createacct-imgcaptcha-ph' => 'పైన కనబడే మాటలను ఇక్కడ ఇవ్వండి',
'createacct-submit' => 'మీ ఖాతాను సృష్టించుకోండి',
+'createacct-another-submit' => 'మరొక ఖాతాను సృష్టించు',
'createacct-benefit-heading' => '{{SITENAME}}ను తయారుచేసేది మీలాంటి ప్రజలే.',
'createacct-benefit-body1' => '{{PLURAL:$1|మార్పు|మార్పులు}}',
'createacct-benefit-body2' => '{{PLURAL:$1|పేజీ|పేజీలు}}',
'prefs-email' => 'ఈ-మెయిల్ ఎంపికలు',
'prefs-rendering' => 'రూపురేఖలు',
'saveprefs' => 'భద్రపరచు',
-'restoreprefs' => 'à°¸à±\83à°·à±\8dà°\9fà°¿à°\82à°\9aబడినపà±\8dà°ªà°\9fà°¿ à°\85à°à°¿à°°à±\81à°\9aà±\81à°²à±\81 తిరిà°\97à°¿ à°¤à±\80à°¸à±\81à°\95à±\81à°°à°¾',
+'restoreprefs' => 'à°\85à°ªà±\8dà°°à°®à±\87à°¯ à°\85మరిà°\95లనà±\81 à°ªà±\81à°¨à°\83à°¸à±\8dథాపిà°\82à°\9aà±\81 (à°\85à°¨à±\8dని విà°à°¾à°\97ాలà±\8dà°²à±\8bà°¨à±\82)',
'prefs-editing' => 'మార్పులు',
'rows' => 'వరుసలు',
'columns' => 'వరుసలు:',
'badsig' => 'సంతకాన్ని సరిగ్గా ఇవ్వలేదు; HTML ట్యాగులను ఒకసారి పరిశీలించండి.',
'badsiglength' => 'మీ సంతకం చాలా పెద్దగా ఉంది.
ఇది తప్పనిసరిగా $1 {{PLURAL:$1|అక్షరం|అక్షరాల}} లోపులోనే ఉండాలి.',
-'yourgender' => 'లింగం:',
-'gender-unknown' => 'వెల్లడించకండి',
-'gender-male' => 'పురుషుడు',
-'gender-female' => 'స్త్రీ',
-'prefs-help-gender' => 'ఐచ్ఛికం: లింగ-సమంజసమైన సంబోధనలకు ఈ మృదుఉపకరణం వాడుకుంటుంది. ఈ సమాచారం బహిర్గతమౌతుంది.',
+'yourgender' => 'మిమ్మల్ని ఎలా సంబోధించడానికి ఇష్టపడతారు?',
+'gender-unknown' => 'వెల్లడించడానికి నేను ఇష్టపడట్లేదు',
+'gender-male' => 'అతను వికీ పేజీలను సరిదిద్దుతాడు',
+'gender-female' => 'ఆమె వికీ పేజీలను సరిదిద్దుతుంది',
+'prefs-help-gender' => 'ఈ అభిరుచిని అమర్చుకోవడం ఐచ్చికం.
+మిమ్మల్ని సంబోధించేప్పుడూ మిమ్మల్ని పేర్కొనేప్పుడూ వ్యాకరణపరంగా సరైన లింగాన్ని వాడటానికి ఈ విలువ ఉపయోగపడుతుంది.
+ఈ సమాచారం బహిరంగం.',
'email' => 'ఈ-మెయిలు',
'prefs-help-realname' => 'అసలు పేరు (తప్పనిసరి కాదు), మీ అసలు పేరు ఇస్తేగనక, మీ రచనలన్నీ మీ అసలు పేరుతోనే గుర్తిస్తూ ఉంటారు.',
'prefs-help-email' => 'ఈ-మెయిలు చిరునామా ఐచ్చికం, కానీ మీరు సంకేతపదాన్ని మర్చిపోతే కొత్త సంకేతపదాన్ని మీకు పంపించడానికి అవసరమవుతుంది.',
'prefs-dateformat' => 'తేదీ ఆకృతి',
'prefs-timeoffset' => 'సమయ సవరణ',
'prefs-advancedediting' => 'సాధారణ ఎంపికలు',
+'prefs-editor' => 'కూర్పరి',
+'prefs-preview' => 'మునుజూపు',
'prefs-advancedrc' => 'ఉన్నత ఎంపికలు',
'prefs-advancedrendering' => 'ఉన్నత ఎంపికలు',
'prefs-advancedsearchoptions' => 'ఉన్నత ఎంపికలు',
'userrights-no-interwiki' => 'ఇతర వికీలలో వాడుకరి హక్కులను మార్చడానికి మీకు అనుమతి లేదు.',
'userrights-nodatabase' => '$1 అనే డేటాబేసు లేదు లేదా అది స్థానికం కాదు.',
'userrights-nologin' => 'వాడుకరి హక్కులను ఇవ్వడానికి మీరు తప్పనిసరిగా ఓ నిర్వాహక ఖాతాతో [[Special:UserLogin|లోనికి ప్రవేశించాలి]].',
-'userrights-notallowed' => 'వాడుకరి హక్కులను చేర్చే మరియు తొలగించే అనుమతి మీ ఖాతాకు లేదు.',
+'userrights-notallowed' => 'వాడుకరి హక్కులను చేర్చే మరియు తొలగించే అనుమతి మీకు లేదు.',
'userrights-changeable-col' => 'మీరు మార్చదగిన గుంపులు',
'userrights-unchangeable-col' => 'మీరు మార్చలేని గుంపులు',
+'userrights-removed-self' => 'మీ హక్కులను మీరు విజయవంతంగా తొలగించుకున్నారు. తద్వారా, ఈ పేజీని చూడడానికి మీకు ఇక అనుమతి లేదు.',
# Groups
'group' => 'గుంపు:',
'recentchanges-label-minor' => 'ఇది ఒక చిన్న మార్పు',
'recentchanges-label-bot' => 'ఈ మార్పును ఒక బాటు చేసింది',
'recentchanges-label-unpatrolled' => 'ఈ దిద్దుబాటు మీద నిఘా లేదు',
-'recentchanges-legend-newpage' => '$1 - కొత్త పేజీ',
+'recentchanges-legend-newpage' => '([[Special:NewPages|కొత్త పేజీల జాబితా]]ను కూడా చూడండి)',
'rcnotefrom' => '<b>$2</b> నుండి జరిగిన మార్పులు (<b>$1</b> వరకు చూపబడ్డాయి).',
'rclistfrom' => '$1 నుండి జరిగిన మార్పులను చూపించు',
'rcshowhideminor' => 'చిన్న మార్పులను $1',
'listfiles_size' => 'పరిమాణం',
'listfiles_description' => 'వివరణ',
'listfiles_count' => 'కూర్పులు',
+'listfiles-latestversion' => 'ప్రస్తుత కూర్పు',
'listfiles-latestversion-yes' => 'అవును',
'listfiles-latestversion-no' => 'కాదు',
'randompage-nopages' => 'ఈ క్రింది {{PLURAL:$2|పెరుబరిలో|పెరుబరులలో}} పేజీలు ఏమి లేవు:$1',
# Random page in category
+'randomincategory-invalidcategory' => '"$1" అనేది సరైన పర్గం పేరు కాదు.',
+'randomincategory-nopages' => '[[:Category:$1|$1]] వర్గంలో పేజీలేమీ లేవు.',
'randomincategory-selectcategory-submit' => 'వెళ్ళు',
# Random redirect
# Special:ActiveUsers
'activeusers' => 'క్రియాశీల వాడుకరుల జాబితా',
'activeusers-intro' => 'ఇది గత $1 {{PLURAL:$1|రోజులో|రోజులలో}} ఏదైనా కార్యకలాపం చేసిన వాడుకరుల జాబితా.',
-'activeusers-count' => 'à°\97à°¡à°\9aà°¿à°¨ {{PLURAL:$3|à°\92à°\95 à°°à±\8bà°\9cà±\81|$3 à°°à±\8bà°\9cà±\81à°²}}à°²à±\8b $1 {{PLURAL:$1|మారà±\8dà°ªà±\81|మారà±\8dà°ªà±\81లు}}',
+'activeusers-count' => 'à°\97à°¡à°\9aà°¿à°¨ {{PLURAL:$3|à°\92à°\95 à°°à±\8bà°\9cà±\81|$3 à°°à±\8bà°\9cà±\81à°²}}à°²à±\8b $1 {{PLURAL:$1|à°\9aà°°à±\8dà°¯|à°\9aà°°à±\8dà°¯లు}}',
'activeusers-from' => 'వాడుకరులను ఇక్కడ నుండి చూపించు:',
'activeusers-hidebots' => 'బాట్లను దాచు',
'activeusers-hidesysops' => 'నిర్వాహకులను దాచు',
'protect-cascadeon' => 'ఈ పేజీ కాస్కేడింగు రక్షణలో ఉన్న ఈ కింది {{PLURAL:$1|పేజీకి|పేజీలకు}} జతచేయటం వలన, ప్రస్తుతం రక్షణలో ఉంది. మీరు ఈ పేజీ యొక్క రక్షణ స్థాయిన మార్చవచ్చు, దాని వలన కాస్కేడింగు రక్షణకు ఎటువంటి సమస్య ఉండదు.',
'protect-default' => 'అందరు వాడుకరులను అనుమతించు',
'protect-fallback' => '"$1" అనుమతి ఉన్న వాడుకరులను మాత్రమే అనుమతించు',
-'protect-level-autoconfirmed' => 'à°\95à±\8aà°¤à±\8dà°¤ మరియà±\81 నమà±\8bà°¦à±\81à°\95ాని వాడà±\81à°\95à°°à±\81లనà±\81 నిరà±\8bà°§ించు',
+'protect-level-autoconfirmed' => 'à°¸à±\8dవయనà±\8dనిరà±\8dధారిత వాడà±\81à°\95à°°à±\81లనà±\81 మాతà±\8dà°°à°®à±\87 à°\85à°¨à±\81మతించు',
'protect-level-sysop' => 'నిర్వాహకులను మాత్రమే అనుమతించు',
'protect-summary-cascade' => 'కాస్కేడింగు',
'protect-expiring' => '$1 (UTC)న కాలంచెల్లుతుంది',
'imgmultigo' => 'వెళ్ళు!',
'imgmultigoto' => '$1వ పేజీకి వెళ్ళు',
+# Language selector for translatable SVGs
+'img-lang-default' => '(అప్రమేయ భాష)',
+'img-lang-go' => 'వెళ్ళు',
+
# Table pager
'ascending_abbrev' => 'ఆరోహణ',
'descending_abbrev' => 'అవరోహణ',
'tog-minordefault' => 'Пешфарзи ҳамаи вироишҳоро ҷузъи ишора кунед',
'tog-previewontop' => 'Намоиши пешнамоиши қаблӣ пеш аз қуттии вироиш ва на пас аз он',
'tog-previewonfirst' => 'Нишон додани пешнамоиш дар нахустин вироиш',
-'tog-nocache' => 'Ҳофизаи ниҳонии саҳифа дар мурургар ғайрифаъол шавад',
'tog-enotifwatchlistpages' => 'Агар сафҳа ё парвандае аз феҳристи пайгириҳоям вироиш шуд ба ман номае фиристода шавад',
'tog-enotifusertalkpages' => 'Ҳангоме ки дар саҳифаи корбариам тағйир дода мешавад ба ман тариқи почтаи электронӣ пайём бифиристед.',
'tog-enotifminoredits' => 'Барои тағийроти ҷузъӣ дар сафҳаҳо ва парвандаҳо ҳам ба ман номае фиристода шавад',
'tog-minordefault' => "Peşfarzi hamai viroişhoro çuz'i işora kuned",
'tog-previewontop' => 'Namoişi peşnamoişi qablī peş az quttiji viroiş va na pas az on',
'tog-previewonfirst' => 'Nişon dodani peşnamoiş dar naxustin viroiş',
-'tog-nocache' => "Hofizai nihoniji sahifa dar mururgar ƣajrifa'ol şavad",
'tog-enotifwatchlistpages' => 'Agar sahifae mavridi pajgiriji man taƣjir karda şavad ba man tariqi poctai elektronī pajjom bifiristed.',
'tog-enotifusertalkpages' => 'Hangome ki dar sahifai korbariam taƣjir doda meşavad ba man tariqi poctai elektronī pajjom bifiristed.',
'tog-enotifminoredits' => "Baroi taƣjiroti çuz'i ba man tariqi poctai elektronī pajjom bifiristed.",
'tog-minordefault' => 'กำหนดให้การแก้ไขทุกครั้งเป็นการแก้ไขเล็กน้อยโดยปริยาย',
'tog-previewontop' => 'แสดงตัวอย่างการแก้ไขก่อนกล่องแก้ไข',
'tog-previewonfirst' => 'แสดงตัวอย่างการแก้ไขสำหรับการแก้ไขครั้งแรก',
-'tog-nocache' => 'ปิดใช้งานแคช',
'tog-enotifwatchlistpages' => 'อีเมลหาเมื่อหน้าหรือไฟล์ในรายการเฝ้าดูมีการเปลี่ยนแปลง',
'tog-enotifusertalkpages' => 'อีเมลหาเมื่อหน้าคุยกับผู้ใช้ของฉันมีการเปลี่ยนแปลง',
'tog-enotifminoredits' => 'อีเมลหาเช่นกันสำหรับการแก้ไขหน้าและไฟล์เล็กน้อย',
'tog-minordefault' => 'Ähli özgerdişleri "ujypsyzja" diýip belle',
'tog-previewontop' => 'Deslapky syny redaktirleme gutusynyň üstünde görkez',
'tog-previewonfirst' => 'Özgerdişde deslapky syny görkez',
-'tog-nocache' => 'Brauzerde sahypa keşirlemegi ýap',
'tog-enotifwatchlistpages' => 'Gözegçilik sanawymdaky sahypa redaktirlenen mahaly maňa e-poçta iber',
'tog-enotifusertalkpages' => 'Ulanyjy sahypamda üýtgeşme bolan mahaly maňa e-poçta iber',
'tog-enotifminoredits' => 'Sahypalardaky ujypsyzja özgerdişlerde-de maňa e-poçta iber',
'tog-minordefault' => 'Markahan ang lahat ng pagbabago bilang maliit nang nakatakda',
'tog-previewontop' => 'Ipakita ang paunang tingin bago ang kahon ng pagbabago',
'tog-previewonfirst' => 'Ipakita ang paunang tingin sa unang pagbabago',
-'tog-nocache' => 'Huwag paganahin ang pagtatago ng pahinang pantingintingin',
'tog-enotifwatchlistpages' => 'Padalhan ako ng e-liham kapag nabago ang isa sa pahina o talaksang binabantayan ko',
'tog-enotifusertalkpages' => 'Padalhan ako ng e-liham kapag binago ang aking pahina ng usapan',
'tog-enotifminoredits' => 'Padalhan din ako ng e-liham para sa mga maliliit na mga pagbabago ng mga pahina at mga talaksan',
'tog-minordefault' => 'Makim ol senis mi wokim olsem ol i liklik, sapos mi no makim',
'tog-previewontop' => 'Soim pes mi senisim (pastaim long raitim) antap long bokis bilong wokim senis',
'tog-previewonfirst' => 'Soim pes mi senisim pastaim long raitim',
-'tog-nocache' => ' Nogat stoa pes long browser',
'tog-enotifwatchlistpages' => 'Salim imel long mi taim wanpela pes mi lukautim i senis',
'tog-enotifusertalkpages' => 'Salim imel long mi wanem taim toktok bilong mi i senis',
'tog-enotifminoredits' => 'Salim imel long mi tasol long liklik senis long pes na fail',
'tog-minordefault' => 'Varsayılan olarak bütün düzenlemeleri küçük olarak işaretle',
'tog-previewontop' => 'Ön izlemeyi düzenleme kutusunun üstünde göster',
'tog-previewonfirst' => 'İlk düzenlemede ön izlemeyi göster',
-'tog-nocache' => 'Tarayıcı sayfalarını önbelleğe almayı devre dışı bırak',
'tog-enotifwatchlistpages' => 'İzleme listemdeki bir sayfanın ya da dosyanın değiştirilmesi durumunda bana e-posta gönder',
'tog-enotifusertalkpages' => 'Kullanıcı mesaj sayfamda değişiklik olduğunda bana e-posta gönder',
'tog-enotifminoredits' => 'Sayfalardaki ve dosyalardaki küçük değişikliklerde bana e-posta gönder',
'tog-minordefault' => 'Барлык үзгәртүләрне килешү буенча кече дип билгеләнсен',
'tog-previewontop' => 'Үзгәртү тәрәзәсеннән өстәрәк битне алдан карау өлкәсен күрсәтелсен',
'tog-previewonfirst' => 'Үзгәртү битенә күчкәндә башта алдан карау бите күрсәтелсен',
-'tog-nocache' => 'Битләр кэшлауны тыелсын',
'tog-enotifwatchlistpages' => 'Күзәтү исемлегемдәге бит яки файл үзгәртелү турында электрон почтага хәбәр җибәрелсен',
'tog-enotifusertalkpages' => 'Бәхәс битем үзгәртелү турында электрон почтага хәбәр җибәрелсен',
'tog-enotifminoredits' => 'Кече үзгәртүләр турында да электрон почтага хәбәр җибәрелсен',
'tog-minordefault' => 'Barlıq üzgärtülärne kileşü buyınça keçe dip bilgelänsen',
'tog-previewontop' => 'Üzgärtü täräzäsennän östäräk bitne aldan qaraw ölkäsen kürsätelsen',
'tog-previewonfirst' => 'Üzgärtü bitenä küçkändä başta aldan qaraw bite kürsätelsen',
-'tog-nocache' => 'Bitlär keşlawnı tıyılsın',
'tog-enotifwatchlistpages' => 'Küzätü isemlegemdäge bit üzgärtelü turında elektron poçtağa xäbär cibärelsen',
'tog-enotifusertalkpages' => 'Bäxäs bitem üzgärtelü turında elektron poçtağa xäbär cibärelsen',
'tog-enotifminoredits' => 'Keçe üzgärtülär turında da elektron poçtağa xäbär cibärelsen',
'tog-minordefault' => 'ھەممە تەھرىرلەشنى ئازراقلا تەھرىرگە تەڭشە',
'tog-previewontop' => 'تەھرىر رامكىسىنىڭ ئۈستىدە ئالدىن كۆزىتىشنى كۆرسەت',
'tog-previewonfirst' => 'تۇنجى قېتىم تەھرىرلىگەندە ئالدىن كۆزىتىشنى كۆرسەت',
-'tog-nocache' => 'توركۆرگۈ بەت غەملەشنى چەكلە',
'tog-enotifwatchlistpages' => 'كۆزەت تىزىملىكىمدىكى بەت ۋە ھۆججەت ئۆزگەرگەندە ئېلخەت يوللا',
'tog-enotifusertalkpages' => 'مۇنازىرە بېتىم ئۆزگەرگەندە ئېلخەت يوللا',
'tog-enotifminoredits' => 'بەت ۋە ھۆججەت ئازراقلا تەھرىرلەنگەندىمۇ ئېلخەت يوللا',
'tog-minordefault' => 'Спочатку позначати всі зміни незначними',
'tog-previewontop' => 'Показувати попередній перегляд перед вікном редагування, а не після',
'tog-previewonfirst' => 'Показувати попередній перегляд під час першого редагування',
-'tog-nocache' => 'Відключити кешування сторінок браузером',
'tog-enotifwatchlistpages' => 'Повідомляти електронною поштою про зміну сторінки або файлу з мого списку спостереження',
'tog-enotifusertalkpages' => 'Повідомляти електронною поштою про зміну моєї сторінки обговорення',
'tog-enotifminoredits' => 'Надсилати мені електронного листа навіть при незначних редагуваннях сторінок та файлів',
'tog-minordefault' => 'تمام ترمیمات کو ہمیشہ بطورِ معمولی ترمیم نشانزد کیا کرو',
'tog-previewontop' => 'تدوینی خانہ سے پہلے نمائش دکھاؤ',
'tog-previewonfirst' => 'پہلی ترمیم پر نمائش دکھاؤ',
-'tog-nocache' => 'متصفح کا صفحی ابطن سازی غیرفعال',
'tog-enotifwatchlistpages' => 'جب میری زیرِنظرفہرست پر کوئی صفحہ میں تبدیلی واقع ہو تو مجھے برقی ڈاک بھیجو',
'tog-enotifusertalkpages' => 'جب میرا تبادلۂ خیال صفحہ میں تبدیلی واقع ہو تو مجھے برقی ڈاک بھیجو',
'tog-enotifminoredits' => 'صفحات میں معمولی ترمیمات کے بارے میں بھی مجھے برقی ڈاک بھیجو',
'tog-minordefault' => 'Sukut boʻyicha barcha tahrirlarimni «kichik tahrir» etib belgilash',
'tog-previewontop' => 'Tahrir oynasi tepasida koʻrib chiqish',
'tog-previewonfirst' => 'Tahrirlashga oʻtiboq koʻrib chiqishni boshlash',
-'tog-nocache' => 'Brauzer sahifalarni kesh xotirasida saqlamasin',
'tog-enotifwatchlistpages' => 'Kuzatuv roʻyxatimdagi sahifa yoki fayllar oʻzgartirilsa, menga bu haqda xat yuborilsin',
'tog-enotifusertalkpages' => 'Munozara sahifam oʻzgartirilsa, menga bu haqda xat yuborilsin',
'tog-enotifminoredits' => 'Kichik tahrir qilinsa ham e-pochtamga bu haqda xat yuborilsin',
'tog-minordefault' => 'Segna ogni canbiamento come picenin (solo come predefinìo)',
'tog-previewontop' => "Mostra l'anteprima sora ła caseła de modifega e no soto",
'tog-previewonfirst' => "Mostra l'anteprima par ła prima modifega",
-'tog-nocache' => 'Disativa ła cache par łe pajine del browser',
'tog-enotifwatchlistpages' => "Segnałame via e-mail có vien canbià na pàjina o un file prexente inte ła lista de łe tegnùe d'ocio",
'tog-enotifusertalkpages' => 'Avìseme par e-mail se i scrive su la me pagina de discussion',
'tog-enotifminoredits' => "Avìxeme par e-mail anca pa' i canbiamenti picenini de pàjine e file",
'tog-minordefault' => 'Znamoita äugotižjärgendusen mödhe kaik toižetused penikš',
'tog-previewontop' => 'Panda ezikacund redaktiruindan iknan edehe',
'tog-previewonfirst' => 'Ozutada ezikacund redaktiruindan augotades',
-'tog-nocache' => "Kel'ta lehtpoliden keširuind",
'tog-enotifwatchlistpages' => 'Oigekat minei e-počt, konz lehtpoled minun kaclendnimikirjutesespäi toižetase',
'tog-enotifusertalkpages' => "Oigeta minei e-počt, konz minun lodulehtpol' toižetase",
'tog-enotifminoredits' => 'Oigeta minei e-počt eskai siloi, konz toižetused oma minimaližed',
'tog-minordefault' => 'Mặc định đánh dấu tất cả sửa đổi của tôi là sửa đổi nhỏ',
'tog-previewontop' => 'Hiển thị phần xem trước nằm trên hộp sửa đổi',
'tog-previewonfirst' => 'Hiện xem trước tại lần sửa đầu tiên',
-'tog-nocache' => 'Không lưu trang trong bộ nhớ đệm trình duyệt',
'tog-enotifwatchlistpages' => 'Gửi thư cho tôi khi có thay đổi tại trang hoặc tập tin tôi theo dõi',
'tog-enotifusertalkpages' => 'Gửi thư cho tôi khi có thay đổi tại trang thảo luận của tôi',
'tog-enotifminoredits' => 'Gửi thư cho tôi cả những thay đổi nhỏ trong trang và tập tin',
'imgmultigo' => 'Xem',
'imgmultigoto' => 'Đi đến trang $1',
+# Language selector for translatable SVGs
+'img-lang-default' => '(ngôn ngữ mặc định)',
+'img-lang-info' => 'Kết xuất hình này trong $1 $2.',
+'img-lang-go' => 'Xem',
+
# Table pager
'ascending_abbrev' => 'tăng',
'descending_abbrev' => 'giảm',
'tog-minordefault' => 'Ale maj ändrungn soln als glaane geldn',
'tog-previewontop' => 'Foorschau owârhalb un ned undârhalb fom arbajds-fenschdâr',
'tog-previewonfirst' => 'Baj dr ärschdn ändrung imâr ärschd â foorschau ôôdsajchn',
-'tog-nocache' => 'Sajdn-cache ausschaldn',
'tog-enotifwatchlistpages' => 'Ii wil â iimejl griign, wen sich was beoobachdeds ändârd',
'tog-enotifusertalkpages' => 'Ii wil â iimejl griign, wen sich uf majnâr disghusjoons-sajdn was duud',
'tog-enotifminoredits' => 'I wil aa baj bloos glaanân ädrungn â iimejl griign',
'tog-minordefault' => 'Bepenön redakamis no pebepenölis valikis asä pülikis',
'tog-previewontop' => 'Jonön büologedi bü redakaspad',
'tog-previewonfirst' => 'Jonön büologedi pö redakam balid',
-'tog-nocache' => 'Nejäfidükön el "cache" padas in bevüresodatävöm',
'tog-enotifwatchlistpages' => 'Sedön obe penedi leäktronik ven ek votükon padi u ragivi se galädalised obik',
'tog-enotifusertalkpages' => 'Sedön obe penedi leäktronik ven gebanapad obik pavotükon',
'tog-enotifminoredits' => 'Sedön obe penedi leäktronik igo pö votükams pülik padas e ragivas',
'tog-minordefault' => 'Märgiq kõik parandusõq vaikimiisi väikeisis paranduisis',
'tog-previewontop' => 'Näütäq proovikaehust inne, mitte perän toimõnduskasti',
'tog-previewonfirst' => 'Näütäq edimädse toimõndusõ aigo proovikaehust',
-'tog-nocache' => 'Pästku-i lehekülgi võrgokaeja vaihõmällo',
'tog-enotifwatchlistpages' => 'Saadaq mullõ e-kiri, ku muq perräkaetavat lehte vai teedüstüt muudõtas',
'tog-enotifusertalkpages' => 'Saadaq mullõ e-kiri, ku mu arotuslehte muudõtas',
'tog-enotifminoredits' => 'Saadaq mullõ e-kiri ka lehti ja failõ väikeisi muutmiisi kotsilõ',
'tog-minordefault' => 'Prémete mes candjmints come mineurs',
'tog-previewontop' => "Prévey l' årtike å dzeu del boesse d' aspougnaedje",
'tog-previewonfirst' => "Prévey l' årtike å prumî candjmint",
-'tog-nocache' => "Èn nén eployî d' muchete pol håynaedje des pådjes",
'tog-enotifwatchlistpages' => "M' emiler cwand ene pådje shuvowe candje",
'tog-enotifusertalkpages' => "M' emiler cwand l' pådje di copene da minne candje",
'tog-enotifminoredits' => "M' emiler eto po les ptits candjmints",
'tog-minordefault' => 'Tigamni an ngatanan nga mga pagliwat nga gudti hin default',
'tog-previewontop' => 'Igpakita in prevista o pan-ugsa-nga-lantaw ugsa hiton pagliwat nga kahon',
'tog-previewonfirst' => 'Igpakita in prevista o pan-ugsa-nga-lantaw ha syahan nga pagliwat',
-'tog-nocache' => 'Ayaw patiroka an mga pakli nga pamiling',
'tog-enotifwatchlistpages' => 'Ig-e-mail ako kun may pakli o paypay ha akon gintitiman-an nga gin-iba',
'tog-enotifusertalkpages' => 'Ig-e-mail ako kun may nagbag-o han akon pakli-himangrawon',
'tog-enotifminoredits' => 'Ig-e-mail liwat ako hin mga gudti nga mga pagliwat hin mga pakli ngan mga paypay',
'tog-minordefault' => 'jàppe samay coppite ni yu néewal saa su ne',
'tog-previewontop' => 'Tegal wonendi gi ci kaw balaa boyotu coppite bi',
'tog-previewonfirst' => 'wone wonendi gi su dee soppi gu njëkk la',
-'tog-nocache' => 'Doxadil ndenciti xët yi',
'tog-enotifwatchlistpages' => 'Yónne ma ab bataaxal su aw xët wu ne ci sama limu toppte soppikoo',
'tog-enotifusertalkpages' => 'Yónne ma ab bataaxal su ay coppite amee ci sama xëtu waxtaanuwaay',
'tog-enotifminoredits' => 'Yónne ma ab bataaxal donte coppite yu néew lañu',
'tog-minordefault' => '默認記全部編都是細個',
'tog-previewontop' => '編寫框頭前顯示先望',
'tog-previewonfirst' => '頭垡編寫顯示先望',
-'tog-nocache' => '弗用流览器页面慢存',
'tog-enotifwatchlistpages' => '我關注表裏個頁要弗文件變脫到用電子信通知我',
'tog-enotifusertalkpages' => '我用戶討論頁變脫到用電子信通知我',
'tog-enotifminoredits' => '頁搭文件細編也用電子信通知我',
'tog-minordefault' => 'Цуг сольлһн баһ чинртә таасн болулх',
'tog-previewontop' => 'Сольлһна теегин өмн хәләвр үзүлх',
'tog-previewonfirst' => 'Сольхла, хәләвр үзүлх.',
-'tog-nocache' => 'Халхин кешлһн браузерт унтрах',
'tog-enotifwatchlistpages' => 'Шинҗлсн халх сольхла, нанд e-mail бичг йовулх',
'tog-enotifusertalkpages' => 'Мини ухалвр халх сольхла, нанд e-mail бичг йовулх',
'tog-enotifminoredits' => 'Баһ сольлһн болв чигн болхла, нанд e-mail бичг йовулх',
'tog-minordefault' => 'באגרענעצן אלע רעדאַקטירונגען גרונטלעך אלס מינערדיק',
'tog-previewontop' => 'צײַג די "פֿאָרויסיגע װײַזונג" גלײַך בײַ דער ערשטער באַאַרבעטונג',
'tog-previewonfirst' => 'ווייזן פֿאראויסדיגע ווייזונג בײַ דער ערשטער רעדאקטירונג',
-'tog-nocache' => 'מבטל זײַן האַלטן בלעטער אין זאַפאַס',
'tog-enotifwatchlistpages' => 'שיקט מיר א בליצבריוו ווען א בלאט וואס איך פאס אויף ווערט געענדערט',
'tog-enotifusertalkpages' => 'שיקט מיר ע-פאסט ווען עס ווערט געענדערט מיין באניצער רעדן בלאט',
'tog-enotifminoredits' => 'שיקט מיר ע-פאסט אויך פֿאַר מינערדיקע רעדאַקטירונגען פֿון בלעטער',
'tog-minordefault' => "Se àmì sí gbogbo àtúnse gẹ́gẹ́ bi kékeré lát'ìbẹ̀rẹ̀.",
'tog-previewontop' => "Se àyẹ̀wò kí ẹ tó s'àtúnṣe",
'tog-previewonfirst' => "S'àfihàn àgbéwò fún àtúnse àkọ́kọ́",
-'tog-nocache' => 'Ìdínà fífi ojúewé pamọ́ sínú cache',
'tog-enotifwatchlistpages' => 'Fi e-mail ránṣẹ́ sí mi tí ojúewé tàbí fáìlì tí mò ún mójútó bá yípadà',
'tog-enotifusertalkpages' => 'Fi e-mail ránṣẹ́ sími tí ojúewé oníṣe mi bá yípadà',
'tog-enotifminoredits' => 'Fi e-mail ránṣẹ́ sí mi bákannà fún àtúnṣe kékékèé sí àwọn ojúewé àti fáìlì',
'tog-minordefault' => '預設全部編輯做小修改',
'tog-previewontop' => '喺修改欄上方顯示預覽',
'tog-previewonfirst' => '第一次修改時顯示預覽',
-'tog-nocache' => '停用瀏覽器頁面快取',
'tog-enotifwatchlistpages' => '當響我張監視清單度嘅頁面有修改時電郵通知我',
'tog-enotifusertalkpages' => '個人留言版有修改時電郵通知我',
'tog-enotifminoredits' => '小修改都要電郵通知我',
'tog-minordefault' => "Al mien bewerkiengen as 'kleine' markeern",
'tog-previewontop' => 'Voevertoônienge boven bewerkiengsveld weerheven',
'tog-previewonfirst' => 'Voevertoônienge bie eêste bewerkieng weerheven',
-'tog-nocache' => "Cach'n van pagina's deur de browser uutzett'n",
'tog-enotifwatchlistpages' => "E-mail me bie bewerkiengen van pagina's op men volglieste",
'tog-enotifusertalkpages' => 'E-mail me wunnir a iemand men overlegpagina wiezig',
'tog-enotifminoredits' => "E-mail me bie kleine bewerkiengen van pahina's op men volglieste",
'tog-minordefault' => '默认标记所有编辑为小编辑',
'tog-previewontop' => '在编辑框上方显示预览',
'tog-previewonfirst' => '首次编辑时显示预览',
-'tog-nocache' => '停用浏览器页面缓存',
'tog-enotifwatchlistpages' => '当我的监视列表中的页面或文件更改时发送电子邮件通知我',
'tog-enotifusertalkpages' => '当我的用户讨论页面更改时发送电子邮件通知我',
'tog-enotifminoredits' => '当我的监视列表中的页面和文件有小编辑时也发送电子邮件通知我',
'tooltip-invert' => '请选择该框以隐藏指定名字空间(及相关名字空间,若被选择)的页面更改',
'namespace_association' => '相关名字空间',
'tooltip-namespace_association' => '选中此复选框可包括与选定名字空间相关的讨论页或子页面',
-'blanknamespace' => '(主要)',
+'blanknamespace' => '(主)',
# Contributions
'contributions' => '{{GENDER:$1|用户}}贡献',
'tog-minordefault' => '預設將所有編輯標記為小修改',
'tog-previewontop' => '在編輯框上方顯示預覽',
'tog-previewonfirst' => '第一次編輯時顯示預覽',
-'tog-nocache' => '停用瀏覽器的頁面快取',
'tog-enotifwatchlistpages' => '當我監視列表中的頁面或檔案有變更時,發送電子郵件通知我',
'tog-enotifusertalkpages' => '我的對話頁有變更時,發送電子郵件通知我',
'tog-enotifminoredits' => '頁面和檔案的小修改也發電子郵件給我',
$this->addOption( 'bot', 'Bot edit', false, false, 'b' );
$this->addOption( 'autosummary', 'Enable autosummary', false, false, 'a' );
$this->addOption( 'no-rc', 'Do not show the change in recent changes', false, false, 'r' );
+ $this->addOption( 'nocreate', 'Don\'t create new pages', false, false );
+ $this->addOption( 'createonly', 'Only create new pages', false, false );
$this->addArg( 'title', 'Title of article to edit' );
}
}
$context->setTitle( $title );
+ if ( $this->hasOption( 'nocreate' ) && !$title->exists() ) {
+ $this->error( "Page does not exist", true );
+ } elseif ( $this->hasOption( 'createonly' ) && $title->exists() ) {
+ $this->error( "Page already exists", true );
+ }
+
$page = WikiPage::factory( $title );
# Read the text
'tog-minordefault',
'tog-previewontop',
'tog-previewonfirst',
- 'tog-nocache',
'tog-enotifwatchlistpages',
'tog-enotifusertalkpages',
'tog-enotifminoredits',
parent::__construct();
$this->mDescription = "Send SQL queries to a MediaWiki database";
$this->addOption( 'cluster', 'Use an external cluster by name', false, true );
+ $this->addOption( 'wikidb', 'The database wiki ID to use if not the current one', false, true );
$this->addOption( 'slave', 'Use a slave server (either "any" or by name)', false, true );
}
public function execute() {
+ $wiki = $this->getOption( 'wikidb' ) ?: false;
// Get the appropriate load balancer (for this wiki)
if ( $this->hasOption( 'cluster' ) ) {
- $lb = wfGetLBFactory()->getExternalLB( $this->getOption( 'cluster' ) );
+ $lb = wfGetLBFactory()->getExternalLB( $this->getOption( 'cluster' ), $wiki );
} else {
- $lb = wfGetLB();
+ $lb = wfGetLB( $wiki );
}
// Figure out which server to use
if ( $this->hasOption( 'slave' ) ) {
$index = DB_MASTER;
}
// Get a DB handle (with this wiki's DB selected) from the appropriate load balancer
- $dbw = $lb->getConnection( $index );
- if ( $this->hasOption( 'slave' ) && $dbw->getLBInfo( 'master' ) !== null ) {
- $this->error( "The server selected ({$dbw->getServer()}) is not a slave.", 1 );
+ $db = $lb->getConnection( $index, array(), $wiki );
+ if ( $this->hasOption( 'slave' ) && $db->getLBInfo( 'master' ) !== null ) {
+ $this->error( "The server selected ({$db->getServer()}) is not a slave.", 1 );
}
if ( $this->hasArg( 0 ) ) {
$this->error( "Unable to open input file", true );
}
- $error = $dbw->sourceStream( $file, false, array( $this, 'sqlPrintResult' ) );
+ $error = $db->sourceStream( $file, false, array( $this, 'sqlPrintResult' ) );
if ( $error !== true ) {
$this->error( $error, true );
} else {
# User simply pressed return key
continue;
}
- $done = $dbw->streamStatementEnd( $wholeLine, $line );
+ $done = $db->streamStatementEnd( $wholeLine, $line );
$wholeLine .= $line;
if ( $useReadline ) {
# Delimiter is eated by streamStatementEnd, we add it
# up in the history (bug 37020)
- readline_add_history( $wholeLine . $dbw->getDelimiter() );
+ readline_add_history( $wholeLine . $db->getDelimiter() );
readline_write_history( $historyFile );
}
try {
- $res = $dbw->query( $wholeLine );
- $this->sqlPrintResult( $res, $dbw );
+ $res = $db->query( $wholeLine );
+ $this->sqlPrintResult( $res, $db );
$prompt = $newPrompt;
$wholeLine = '';
} catch ( DBQueryError $e ) {
'transformVia404' => false,
'backend' => new FSFileBackend( array(
'name' => 'local-backend',
- 'lockManager' => 'fsLockManager',
+ 'wikiId' => wfWikiId(),
'containerPaths' => array(
'local-public' => wfTempDir() . '/test-repo/public',
'local-thumb' => wfTempDir() . '/test-repo/thumb',
'transformVia404' => false,
'backend' => new FSFileBackend( array(
'name' => 'local-backend',
- 'lockManager' => 'fsLockManager',
+ 'wikiId' => wfWikiId(),
'containerPaths' => array(
'local-public' => $this->uploadDir,
'local-thumb' => $this->uploadDir . '/thumb',
'transformVia404' => false,
'backend' => new FSFileBackend( array(
'name' => 'local-backend',
- 'lockManager' => 'fsLockManager',
+ 'wikiId' => wfWikiId(),
'containerPaths' => array(
'cont1' => "/testdir/local-backend/tempimages/cont1",
'cont2' => "/testdir/local-backend/tempimages/cont2"
public function testRequireLoginNotAnon() {
$specialPage = new SpecialPage( 'Watchlist', 'viewmywatchlist' );
- $user = User::newFromId( 0 );
- $user->setId( 1 );
+ $user = User::newFromName( "UTSysop" );
$specialPage->getContext()->setUser( $user );
$specialPage->requireLogin();
* this can not really be done now due to use of wfMessage()->plain()
* It is possible to mock such methods but only if namespaces are used
*/
- public function testGetWikiText( Status $status, $expected ) {
- $this->assertEquals( $expected, $status->getWikiText() );
+ public function testGetWikiText( Status $status, $wikitext, $html ) {
+ $this->assertEquals( $wikitext, $status->getWikiText() );
}
/**
* this can not really be done now due to use of $this->getWikiText using wfMessage()->plain()
* It is possible to mock such methods but only if namespaces are used
*/
- public function testGetHtml( Status $status, $expected ) {
- $this->assertEquals( $expected, $status->getHTML() );
+ public function testGetHtml( Status $status, $wikitext, $html) {
+ $this->assertEquals( $html, $status->getHTML() );
}
/**
$testCases[ 'GoodStatus' ] = array(
new Status(),
"Internal error: Status::getWikiText called for a good result, this is incorrect\n",
+ "<p>Internal error: Status::getWikiText called for a good result, this is incorrect\n</p>",
);
$status = new Status();
$testCases[ 'GoodButNoError' ] = array(
$status,
"Internal error: Status::getWikiText: Invalid result object: no error text but not OK\n",
+ "<p>Internal error: Status::getWikiText: Invalid result object: no error text but not OK\n</p>",
);
$status = new Status();
$testCases[ '1StringWarning' ] = array(
$status,
"<fooBar!>",
+ "<p><fooBar!>\n</p>",
);
$status = new Status();
$testCases[ '2StringWarnings' ] = array(
$status,
"* <fooBar!>\n* <fooBar2!>\n",
+ "<ul>\n<li> <fooBar!>\n</li>\n<li> <fooBar2!>\n</li>\n</ul>\n",
);
$status = new Status();
$testCases[ '1MessageWarning' ] = array(
$status,
"<fooBar!>",
+ "<p><fooBar!>\n</p>",
);
$status = new Status();
$testCases[ '2MessageWarnings' ] = array(
$status,
"* <fooBar!>\n* <fooBar2!>\n",
+ "<ul>\n<li> <fooBar!>\n</li>\n<li> <fooBar2!>\n</li>\n</ul>\n",
);
return $testCases;
$useConfig['shardViaHashLevels'] = array( // test sharding
'unittest-cont1' => array( 'levels' => 1, 'base' => 16, 'repeat' => 1 )
);
+ $useConfig['fileJournal'] = FileJournal::factory( $config['fileJournal'], $name );
+ $useConfig['lockManager'] = LockManagerGroup::singleton()->get( $useConfig['lockManager'] );
$class = $useConfig['class'];
self::$backendToUse = new $class( $useConfig );
$this->singleBackend = self::$backendToUse;
} else {
$this->singleBackend = new FSFileBackend( array(
'name' => 'localtesting',
- 'lockManager' => 'fsLockManager',
- #'parallelize' => 'implicit',
- 'wikiId' => wfWikiID() . $uniqueId,
+ 'lockManager' => LockManagerGroup::singleton()->get( 'fsLockManager' ),
+ 'wikiId' => wfWikiID(),
'containerPaths' => array(
'unittest-cont1' => "{$tmpPrefix}-localtesting-cont1",
'unittest-cont2' => "{$tmpPrefix}-localtesting-cont2" )
}
$this->multiBackend = new FileBackendMultiWrite( array(
'name' => 'localtesting',
- 'lockManager' => 'fsLockManager',
+ 'lockManager' => LockManagerGroup::singleton()->get( 'fsLockManager' ),
'parallelize' => 'implicit',
'wikiId' => wfWikiId() . $uniqueId,
'backends' => array(
array(
'name' => 'localmultitesting1',
'class' => 'FSFileBackend',
- 'lockManager' => 'nullLockManager',
'containerPaths' => array(
'unittest-cont1' => "{$tmpPrefix}-localtestingmulti1-cont1",
'unittest-cont2' => "{$tmpPrefix}-localtestingmulti1-cont2" ),
array(
'name' => 'localmultitesting2',
'class' => 'FSFileBackend',
- 'lockManager' => 'nullLockManager',
'containerPaths' => array(
'unittest-cont1' => "{$tmpPrefix}-localtestingmulti2-cont1",
'unittest-cont2' => "{$tmpPrefix}-localtestingmulti2-cont2" ),
'name' => 'FileRepoTestRepository',
'backend' => new FSFileBackend( array(
'name' => 'local-testing',
- 'lockManager' => 'nullLockManager',
+ 'wikiId' => 'test_wiki',
'containerPaths' => array()
) )
) );
$useConfig = $conf;
}
}
+ $useConfig['lockManager'] = LockManagerGroup::singleton()->get( $useConfig['lockManager'] );
+ unset( $useConfig['fileJournal'] );
$useConfig['name'] = 'local-testing'; // swap name
$class = $useConfig['class'];
$backend = new $class( $useConfig );
} else {
$backend = new FSFileBackend( array(
'name' => 'local-testing',
- 'lockManager' => 'nullLockManager',
+ 'wikiId' => wfWikiID(),
'containerPaths' => array(
'unittests-public' => "{$tmpPrefix}-public",
'unittests-thumb' => "{$tmpPrefix}-thumb",
--- /dev/null
+<?php
+/**
+ * @covers DjVuHandler
+ */
+class DjVuTest extends MediaWikiTestCase {
+
+ /**
+ * @var string the directory where test files are
+ */
+ protected $filePath;
+
+ /**
+ * @var FSRepo the repository to use
+ */
+ protected $repo;
+
+ /**
+ * @var DjVuHandler
+ */
+ protected $handler;
+
+ protected function setUp() {
+ global $wgDjvuRenderer, $wgDjvuDump, $wgDjvuToXML;
+ parent::setUp();
+
+ //cli tool setup
+ $wgDjvuRenderer = $wgDjvuRenderer ? $wgDjvuRenderer : '/usr/local/bin/ddjvu';
+ $wgDjvuDump = $wgDjvuDump ? $wgDjvuDump : '/usr/local/bin/djvudump';
+ $wgDjvuToXML = $wgDjvuToXML ? $wgDjvuToXML : '/usr/local/bin/djvutoxml';
+ if (
+ !$this->checkIfToolExists( $wgDjvuRenderer ) ||
+ !$this->checkIfToolExists( $wgDjvuDump ) ||
+ !$this->checkIfToolExists( $wgDjvuToXML )
+ ) {
+ $this->markTestSkipped( 'This test needs the installation of the ddjvu, djvutoxml and djvudump tools' );
+ }
+
+ //file repo setup
+ $this->filePath = __DIR__ . '/../../data/media/';
+ $backend = new FSFileBackend( array(
+ 'name' => 'localtesting',
+ 'wikiId' => wfWikiId(),
+ 'lockManager' => new NullLockManager( array() ),
+ 'containerPaths' => array( 'data' => $this->filePath )
+ ) );
+ $this->repo = new FSRepo( array(
+ 'name' => 'temp',
+ 'url' => 'http://localhost/thumbtest',
+ 'backend' => $backend
+ ) );
+
+ $this->handler = new DjVuHandler();
+ }
+
+ /**
+ * Check if a tool exist
+ *
+ * @param string $path path to the tool
+ * @return bool
+ */
+ protected function checkIfToolExists( $path ) {
+ wfSuppressWarnings();
+ $result = file_exists( $path );
+ wfRestoreWarnings();
+ return $result;
+ }
+
+ protected function dataFile( $name, $type ) {
+ return new UnregisteredLocalFile(
+ false,
+ $this->repo,
+ 'mwstore://localtesting/data/' . $name,
+ $type
+ );
+ }
+
+ public function testGetImageSize() {
+ $this->assertArrayEquals(
+ array( 2480, 3508, 'DjVu', 'width="2480" height="3508"' ),
+ $this->handler->getImageSize( null, $this->filePath . '/LoremIpsum.djvu' ),
+ 'Test file LoremIpsum.djvu should have a size of 2480 * 3508'
+ );
+ }
+
+ public function testInvalidFile() {
+ $this->assertFalse(
+ $this->handler->getMetadata( null, $this->filePath . '/README' ),
+ 'Getting Metadata for an inexistent file should returns false'
+ );
+ }
+
+ public function testPageCount() {
+ $file = $this->dataFile( 'LoremIpsum.djvu', 'image/x.djvu' );
+ $this->assertEquals(
+ 5,
+ $this->handler->pageCount( $file ),
+ 'Test file LoremIpsum.djvu should be detected as containing 5 pages'
+ );
+ }
+
+ public function testGetPageDimensions() {
+ $file = $this->dataFile( 'LoremIpsum.djvu', 'image/x.djvu' );
+ $this->assertArrayEquals(
+ array( 2480, 3508 ),
+ $this->handler->getPageDimensions( $file, 1 ),
+ 'Page 1 of test file LoremIpsum.djvu should have a size of 2480 * 3508'
+ );
+ }
+
+ public function testGetPageText() {
+ $file = $this->dataFile( 'LoremIpsum.djvu', 'image/x.djvu' );
+ $this->assertEquals(
+ "Lorem ipsum \n1 \n",
+ (string) $this->handler->getPageText( $file, 1 ),
+ "Text layer of page 1 of file LoremIpsum.djvu should be 'Lorem ipsum \n1 \n'"
+ );
+ }
+}
'url' => 'http://localhost/thumbtest',
'backend' => new FSFileBackend( array(
'name' => 'localtesting',
- 'lockManager' => 'nullLockManager',
+ 'wikiId' => wfWikiId(),
'containerPaths' => array( 'temp-thumb' => $tmpDir, 'data' => $filePath )
) )
) );
$filePath = __DIR__ . '/../../data/media';
$this->backend = new FSFileBackend( array(
'name' => 'localtesting',
- 'lockManager' => 'nullLockManager',
+ 'wikiId' => wfWikiId(),
'containerPaths' => array( 'data' => $filePath )
) );
$this->repo = new FSRepo( array(
$this->filePath = __DIR__ . '/../../data/media';
$this->backend = new FSFileBackend( array(
'name' => 'localtesting',
- 'lockManager' => 'nullLockManager',
+ 'wikiId' => wfWikiId(),
'containerPaths' => array( 'data' => $this->filePath )
) );
$this->repo = new FSRepo( array(
$this->backend = new FSFileBackend( array(
'name' => 'localtesting',
- 'lockManager' => 'nullLockManager',
+ 'wikiId' => wfWikiId(),
'containerPaths' => array( 'data' => $this->filePath )
) );
$this->repo = new FSRepo( array(
$this->filePath = __DIR__ . '/../../data/media';
$this->backend = new FSFileBackend( array(
'name' => 'localtesting',
- 'lockManager' => 'nullLockManager',
+ 'wikiId' => wfWikiId(),
'containerPaths' => array( 'data' => $this->filePath )
) );
$this->repo = new FSRepo( array(
$this->backend = new FSFileBackend( array(
'name' => 'localtesting',
- 'lockManager' => 'nullLockManager',
+ 'wikiId' => wfWikiId(),
'containerPaths' => array( 'data' => $this->filePath )
) );
$this->repo = new FSRepo( array(
}
}
$useConfig['name'] = 'local-backend'; // swap name
+ unset( $useConfig['lockManager'] );
+ unset( $useConfig['fileJournal'] );
$class = $conf['class'];
self::$backendToUse = new $class( $useConfig );
$backend = self::$backendToUse;
# informations.
$backend = new MockFileBackend( array(
'name' => 'local-backend',
- 'lockManager' => 'nullLockManager',
+ 'wikiId' => wfWikiId(),
'containerPaths' => array(
'local-public' => "$uploadDir",
'local-thumb' => "$uploadDir/thumb",
'transformVia404' => false,
'backend' => new FSFileBackend( array(
'name' => 'local-backend',
- 'lockManager' => 'fsLockManager',
+ 'wikiId' => wfWikiId(),
'containerPaths' => array(
'local-public' => wfTempDir() . '/test-repo/public',
'local-thumb' => wfTempDir() . '/test-repo/thumb',