when the email address is already confirmed. Also, consistently use
"confirmed", rather than "authenticated", when messaging whether or not the
user has confirmed an email address.
+* (bug 19415) action=render no longer shows section edit links. This affects
+ behavior of several other features where (bogus) section edit links will
+ disappear, such as file description pages loaded via $wgUseInstantCommons or
+ pages transcluded cross-wiki via $wgEnableScaryTranscluding.
=== API changes in 1.23 ===
* (bug 54884) action=parse&prop=categories now indicates hidden and missing
$title: Title object of page
&$url: string value as output (out parameter, can modify)
+'GetLogTypesOnUser': Add log types where the target is a userpage
+&$types: Array of log types
+
'GetMetadataVersion': Modify the image metadata version currently in use. This
is used when requesting image metadata from a ForeignApiRepo. Media handlers
that need to have versioned metadata should add an element to the end of the
$article: the article that the history is loading for
$context: RequestContext object
-'PageHistoryLineEnding' : Right before the end <li> is added to a history line.
+'PageHistoryLineEnding': Right before the end <li> is added to a history line.
$row: the revision row for this line
$s: the string representing this parsed line
$classes: array containing the <li> element classes
of values).
More hooks might be available but undocumented, you can execute
-'php maintenance/findHooks.php' to find hidden ones.
+"php maintenance/findHooks.php" to find hidden ones.
expiry: one hour
Difference Engine:
- key: $wgDBname:diff:version:{DifferenceEngine::CACHE_VERSION}:oldid:$old:newid:$new
+ key: $wgDBname:diff:version:{MW_DIFF_VERSION}:oldid:$old:newid:$new
ex: wikidb:diff:version:1.11a:oldid:1:newid:2
stores: body of a difference
cleared by: nothing
$de = $contentHandler->createDifferenceEngine( $this->getContext(), $oldid, $diff, $rcid, $purge, $unhide );
// DifferenceEngine directly fetched the revision:
- $this->mRevIdFetched = $de->getNewid();
+ $this->mRevIdFetched = $de->mNewid;
$de->showDiffPage( $diffOnly );
// Run view updates for the newer revision being diffed (and shown below the diff if not $diffOnly)
*/
public function render() {
$this->getContext()->getOutput()->setArticleBodyOnly( true );
+ $this->getContext()->getOutput()->enableSectionEditLinks( false );
$this->view();
}
# includes/utils
'ArrayUtils' => 'includes/utils/ArrayUtils.php',
+ 'CdbException' => 'includes/utils/Cdb.php',
'CdbFunctions' => 'includes/utils/CdbPHP.php',
'CdbReader' => 'includes/utils/Cdb.php',
- 'CdbReaderDBA' => 'includes/utils/Cdb.php',
+ 'CdbReaderDBA' => 'includes/utils/CdbDBA.php',
'CdbReaderPHP' => 'includes/utils/CdbPHP.php',
'CdbWriter' => 'includes/utils/Cdb.php',
- 'CdbWriterDBA' => 'includes/utils/Cdb.php',
+ 'CdbWriterDBA' => 'includes/utils/CdbDBA.php',
'CdbWriterPHP' => 'includes/utils/CdbPHP.php',
'ConfEditor' => 'includes/utils/ConfEditor.php',
'ConfEditorParseError' => 'includes/utils/ConfEditor.php',
// do not strip the leading backlash in this case, causing autoloading to fail.
$className = ltrim( $className, '\\' );
+ $filename = false;
+
if ( isset( $wgAutoloadLocalClasses[$className] ) ) {
$filename = $wgAutoloadLocalClasses[$className];
} elseif ( isset( $wgAutoloadClasses[$className] ) ) {
* and we are plagued with several legacy uses created by MediaWiki < 1.5, see
* https://wikitech.wikimedia.org/wiki/Text_storage_data
*/
- $filename = false;
$lowerClass = strtolower( $className );
if ( self::$autoloadLocalClassesLower === null ) {
private $mTarget = null;
/**
- * @var bool: Whether output should contain table of contents
+ * @var bool: Whether parser output should contain table of contents
*/
private $mEnableTOC = true;
+ /**
+ * @var bool: Whether parser output should contain section edit links
+ */
+ private $mEnableSectionEditLinks = true;
+
/**
* Constructor for OutputPage. This should not be called directly.
* Instead a new RequestContext should be created and it will implicitly create
function addParserOutput( &$parserOutput ) {
$this->addParserOutputNoText( $parserOutput );
$parserOutput->setTOCEnabled( $this->mEnableTOC );
+ $parserOutput->setEditSectionTokens( $this->mEnableSectionEditLinks );
$text = $parserOutput->getText();
wfRunHooks( 'OutputPageBeforeHTML', array( &$this, &$text ) );
$this->addHTML( $text );
public function isTOCEnabled() {
return $this->mEnableTOC;
}
+
+ /**
+ * Enables/disables section edit links, doesn't override __NOEDITSECTION__
+ * @param bool $flag
+ * @since 1.23
+ */
+ public function enableSectionEditLinks( $flag = true ) {
+ $this->mEnableSectionEditLinks = $flag;
+ }
+
+ /**
+ * @return bool
+ * @since 1.23
+ */
+ public function sectionEditLinksEnabled() {
+ return $this->mEnableSectionEditLinks;
+ }
}
global $wgSquidServers, $wgSquidServersNoPurge;
// quick check of known proxy servers
- $trusted = in_array( $ip, $wgSquidServers );
+ $trusted = in_array( $ip, $wgSquidServers )
+ || in_array( $ip, $wgSquidServersNoPurge );
if ( !$trusted ) {
// slightly slower check to see if the ip is listed directly or in a CIDR
$language_urls[] = array(
'href' => $languageLinkTitle->getFullURL(),
'text' => $ilLangName,
- 'title' => wfMessage( 'tooltip-iwiki', $languageLinkTitle->getText(), $ilLangLocalName )->escaped(),
+ 'title' => wfMessage( 'interlanguage-link-title', $languageLinkTitle->getText(), $ilLangLocalName )->text(),
'class' => $class,
'lang' => wfBCP47( $ilInterwikiCode ),
'hreflang' => wfBCP47( $ilInterwikiCode ),
'Log' => 'SpecialLog',
'Watchlist' => 'SpecialWatchlist',
'Newpages' => 'SpecialNewpages',
- 'Recentchanges' => 'SpecialRecentchanges',
+ 'Recentchanges' => 'SpecialRecentChanges',
'Recentchangeslinked' => 'SpecialRecentchangeslinked',
'Tags' => 'SpecialTags',
$tablePrefix = $params['tablePrefix'];
$foreign = $params['foreign'];
} else { // legacy calling pattern
- wfDeprecated( __METHOD__ . " method called without parameter array.", "1.22" );
+ wfDeprecated( __METHOD__ . " method called without parameter array.", "1.23" );
$args = func_get_args();
$server = isset( $args[0] ) ? $args[0] : false;
$user = isset( $args[1] ) ? $args[1] : false;
* @ingroup DifferenceEngine
*/
+/**
+ * Constant to indicate diff cache compatibility.
+ * Bump this when changing the diff formatting in a way that
+ * fixes important bugs or such to force cached diff views to
+ * clear.
+ */
+define( 'MW_DIFF_VERSION', '1.11a' );
+
/**
* @todo document
* @ingroup DifferenceEngine
*/
class DifferenceEngine extends ContextSource {
- /**
- * Constant to indicate diff cache compatibility.
- * Bump this when changing the diff formatting in a way that
- * fixes important bugs or such to force cached diff views to
- * clear.
- */
- const CACHE_VERSION ='1.11a';
+ public $mOldid;
+ public $mNewid;
+ private $mOldTags;
+ private $mNewTags;
- /**#@+
- * @private
- */
- public $oldId;
- public $newId;
- private $oldTags;
- private $newTags;
/**
* @var Content
*/
- public $oldContent;
- /**
- * @var Content
- */
- public $newContent;
- protected $diffLang;
+ public $mOldContent;
+ public $mNewContent;
+ protected $mDiffLang;
/**
* @var Title
*/
- public $oldPage;
- /**
- * @var Title
- */
- public $newPage;
+ public $mOldPage;
+ public $mNewPage;
/**
* @var Revision
*/
- public $oldRev;
- /**
- * @var Revision
- */
- public $newRev;
- private $revisionsIdsLoaded = false; // Have the revisions IDs been loaded
- public $revisionsLoaded = false; // Have the revisions been loaded
- public $textLoaded = 0; // How many text blobs have been loaded, 0, 1 or 2?
- public $cacheHit = false; // Was the diff fetched from cache?
+ public $mOldRev;
+ public $mNewRev;
+ private $mRevisionsIdsLoaded = false; // Have the revisions IDs been loaded
+ public $mRevisionsLoaded = false; // Have the revisions been loaded
+ public $mTextLoaded = 0; // How many text blobs have been loaded, 0, 1 or 2?
+ public $mCacheHit = false; // Was the diff fetched from cache?
/**
* Set this to true to add debug info to the HTML output.
// If true, line X is not displayed when X is 1, for example to increase
// readability and conserve space with many small diffs.
- protected $reducedLineNumbers = false;
+ protected $mReducedLineNumbers = false;
// Link to action=markpatrolled
- protected $markPatrolledLink = null;
+ protected $mMarkPatrolledLink = null;
protected $unhide = false; # show rev_deleted content if allowed
- private $refreshCache;
/**#@-*/
/**
wfDebug( "DifferenceEngine old '$old' new '$new' rcid '$rcid'\n" );
- $this->oldId = $old;
- $this->newId = $new;
- $this->refreshCache = $refreshCache;
+ $this->mOldid = $old;
+ $this->mNewid = $new;
+ $this->mRefreshCache = $refreshCache;
$this->unhide = $unhide;
}
* @param $value bool
*/
function setReducedLineNumbers( $value = true ) {
- $this->reducedLineNumbers = $value;
+ $this->mReducedLineNumbers = $value;
}
/**
* @return Language
*/
function getDiffLang() {
- if ( $this->diffLang === null ) {
+ if ( $this->mDiffLang === null ) {
# Default language in which the diff text is written.
- $this->diffLang = $this->getTitle()->getPageLanguage();
+ $this->mDiffLang = $this->getTitle()->getPageLanguage();
}
- return $this->diffLang;
+ return $this->mDiffLang;
}
/**
* @return bool
*/
function wasCacheHit() {
- return $this->cacheHit;
+ return $this->mCacheHit;
}
/**
*/
function getOldid() {
$this->loadRevisionIds();
- return $this->oldId;
+ return $this->mOldid;
}
/**
*/
function getNewid() {
$this->loadRevisionIds();
- return $this->newId;
+ return $this->mNewid;
}
/**
$out = $this->getOutput();
$missing = array();
- if ( $this->oldRev === null ||
- ( $this->oldRev && $this->oldContent === null )
+ if ( $this->mOldRev === null ||
+ ( $this->mOldRev && $this->mOldContent === null )
) {
- $missing[] = $this->deletedIdMarker( $this->oldId );
+ $missing[] = $this->deletedIdMarker( $this->mOldid );
}
- if ( $this->newRev === null ||
- ( $this->newRev && $this->newContent === null )
+ if ( $this->mNewRev === null ||
+ ( $this->mNewRev && $this->mNewContent === null )
) {
- $missing[] = $this->deletedIdMarker( $this->newId );
+ $missing[] = $this->deletedIdMarker( $this->mNewid );
}
$out->setPageTitle( $this->msg( 'errorpagetitle' ) );
}
$user = $this->getUser();
- $permErrors = $this->newPage->getUserPermissionsErrors( 'read', $user );
- if ( $this->oldPage ) { # oldPage might not be set, see below.
+ $permErrors = $this->mNewPage->getUserPermissionsErrors( 'read', $user );
+ if ( $this->mOldPage ) { # mOldPage might not be set, see below.
$permErrors = wfMergeErrorArrays( $permErrors,
- $this->oldPage->getUserPermissionsErrors( 'read', $user ) );
+ $this->mOldPage->getUserPermissionsErrors( 'read', $user ) );
}
if ( count( $permErrors ) ) {
wfProfileOut( __METHOD__ );
# Check if one of the revisions is deleted/suppressed
$deleted = $suppressed = false;
- $allowed = $this->newRev->userCan( Revision::DELETED_TEXT, $user );
+ $allowed = $this->mNewRev->userCan( Revision::DELETED_TEXT, $user );
$revisionTools = array();
- # oldRev is false if the difference engine is called with a "vague" query for
+ # mOldRev is false if the difference engine is called with a "vague" query for
# a diff between a version V and its previous version V' AND the version V
# is the first version of that article. In that case, V' does not exist.
- if ( $this->oldRev === false ) {
- $out->setPageTitle( $this->msg( 'difference-title', $this->newPage->getPrefixedText() ) );
+ if ( $this->mOldRev === false ) {
+ $out->setPageTitle( $this->msg( 'difference-title', $this->mNewPage->getPrefixedText() ) );
$samePage = true;
$oldHeader = '';
} else {
- wfRunHooks( 'DiffViewHeader', array( $this, $this->oldRev, $this->newRev ) );
+ wfRunHooks( 'DiffViewHeader', array( $this, $this->mOldRev, $this->mNewRev ) );
- if ( $this->newPage->equals( $this->oldPage ) ) {
- $out->setPageTitle( $this->msg( 'difference-title', $this->newPage->getPrefixedText() ) );
+ if ( $this->mNewPage->equals( $this->mOldPage ) ) {
+ $out->setPageTitle( $this->msg( 'difference-title', $this->mNewPage->getPrefixedText() ) );
$samePage = true;
} else {
$out->setPageTitle( $this->msg( 'difference-title-multipage',
- $this->oldPage->getPrefixedText(), $this->newPage->getPrefixedText() ) );
+ $this->mOldPage->getPrefixedText(), $this->mNewPage->getPrefixedText() ) );
$out->addSubtitle( $this->msg( 'difference-multipage' ) );
$samePage = false;
}
- if ( $samePage && $this->newPage->quickUserCan( 'edit', $user ) ) {
- if ( $this->newRev->isCurrent() && $this->newPage->userCan( 'rollback', $user ) ) {
- $rollbackLink = Linker::generateRollback( $this->newRev, $this->getContext() );
+ if ( $samePage && $this->mNewPage->quickUserCan( 'edit', $user ) ) {
+ if ( $this->mNewRev->isCurrent() && $this->mNewPage->userCan( 'rollback', $user ) ) {
+ $rollbackLink = Linker::generateRollback( $this->mNewRev, $this->getContext() );
if ( $rollbackLink ) {
$out->preventClickjacking();
$rollback = '   ' . $rollbackLink;
}
}
- if ( !$this->oldRev->isDeleted( Revision::DELETED_TEXT ) &&
- !$this->newRev->isDeleted( Revision::DELETED_TEXT )
+ if ( !$this->mOldRev->isDeleted( Revision::DELETED_TEXT ) &&
+ !$this->mNewRev->isDeleted( Revision::DELETED_TEXT )
) {
$undoLink = Html::element( 'a', array(
- 'href' => $this->newPage->getLocalURL( array(
+ 'href' => $this->mNewPage->getLocalURL( array(
'action' => 'edit',
- 'undoafter' => $this->oldId,
- 'undo' => $this->newId ) ),
+ 'undoafter' => $this->mOldid,
+ 'undo' => $this->mNewid ) ),
'title' => Linker::titleAttrib( 'undo' )
),
$this->msg( 'editundo' )->text()
}
# Make "previous revision link"
- if ( $samePage && $this->oldRev->getPrevious() ) {
+ if ( $samePage && $this->mOldRev->getPrevious() ) {
$prevlink = Linker::linkKnown(
- $this->oldPage,
+ $this->mOldPage,
$this->msg( 'previousdiff' )->escaped(),
array( 'id' => 'differences-prevlink' ),
- array( 'diff' => 'prev', 'oldid' => $this->oldId ) + $query
+ array( 'diff' => 'prev', 'oldid' => $this->mOldid ) + $query
);
} else {
$prevlink = ' ';
}
- if ( $this->oldRev->isMinor() ) {
+ if ( $this->mOldRev->isMinor() ) {
$oldminor = ChangesList::flag( 'minor' );
} else {
$oldminor = '';
}
- $ldel = $this->revisionDeleteLink( $this->oldRev );
- $oldRevisionHeader = $this->getRevisionHeader( $this->oldRev, 'complete' );
- $oldChangeTags = ChangeTags::formatSummaryRow( $this->oldTags, 'diff' );
+ $ldel = $this->revisionDeleteLink( $this->mOldRev );
+ $oldRevisionHeader = $this->getRevisionHeader( $this->mOldRev, 'complete' );
+ $oldChangeTags = ChangeTags::formatSummaryRow( $this->mOldTags, 'diff' );
$oldHeader = '<div id="mw-diff-otitle1"><strong>' . $oldRevisionHeader . '</strong></div>' .
'<div id="mw-diff-otitle2">' .
- Linker::revUserTools( $this->oldRev, !$this->unhide ) . '</div>' .
+ Linker::revUserTools( $this->mOldRev, !$this->unhide ) . '</div>' .
'<div id="mw-diff-otitle3">' . $oldminor .
- Linker::revComment( $this->oldRev, !$diffOnly, !$this->unhide ) . $ldel . '</div>' .
+ Linker::revComment( $this->mOldRev, !$diffOnly, !$this->unhide ) . $ldel . '</div>' .
'<div id="mw-diff-otitle5">' . $oldChangeTags[0] . '</div>' .
'<div id="mw-diff-otitle4">' . $prevlink . '</div>';
- if ( $this->oldRev->isDeleted( Revision::DELETED_TEXT ) ) {
+ if ( $this->mOldRev->isDeleted( Revision::DELETED_TEXT ) ) {
$deleted = true; // old revisions text is hidden
- if ( $this->oldRev->isDeleted( Revision::DELETED_RESTRICTED ) ) {
+ if ( $this->mOldRev->isDeleted( Revision::DELETED_RESTRICTED ) ) {
$suppressed = true; // also suppressed
}
}
# Check if this user can see the revisions
- if ( !$this->oldRev->userCan( Revision::DELETED_TEXT, $user ) ) {
+ if ( !$this->mOldRev->userCan( Revision::DELETED_TEXT, $user ) ) {
$allowed = false;
}
}
# Make "next revision link"
# Skip next link on the top revision
- if ( $samePage && !$this->newRev->isCurrent() ) {
+ if ( $samePage && !$this->mNewRev->isCurrent() ) {
$nextlink = Linker::linkKnown(
- $this->newPage,
+ $this->mNewPage,
$this->msg( 'nextdiff' )->escaped(),
array( 'id' => 'differences-nextlink' ),
- array( 'diff' => 'next', 'oldid' => $this->newId ) + $query
+ array( 'diff' => 'next', 'oldid' => $this->mNewid ) + $query
);
} else {
$nextlink = ' ';
}
- if ( $this->newRev->isMinor() ) {
+ if ( $this->mNewRev->isMinor() ) {
$newminor = ChangesList::flag( 'minor' );
} else {
$newminor = '';
}
# Handle RevisionDelete links...
- $rdel = $this->revisionDeleteLink( $this->newRev );
+ $rdel = $this->revisionDeleteLink( $this->mNewRev );
# Allow extensions to define their own revision tools
- wfRunHooks( 'DiffRevisionTools', array( $this->newRev, &$revisionTools ) );
+ wfRunHooks( 'DiffRevisionTools', array( $this->mNewRev, &$revisionTools ) );
$formattedRevisionTools = array();
// Put each one in parentheses (poor man's button)
foreach ( $revisionTools as $tool ) {
$formattedRevisionTools[] = $this->msg( 'parentheses' )->rawParams( $tool )->escaped();
}
- $newRevisionHeader = $this->getRevisionHeader( $this->newRev, 'complete' ) .
+ $newRevisionHeader = $this->getRevisionHeader( $this->mNewRev, 'complete' ) .
' ' . implode( ' ', $formattedRevisionTools );
- $newChangeTags = ChangeTags::formatSummaryRow( $this->newTags, 'diff' );
+ $newChangeTags = ChangeTags::formatSummaryRow( $this->mNewTags, 'diff' );
$newHeader = '<div id="mw-diff-ntitle1"><strong>' . $newRevisionHeader . '</strong></div>' .
- '<div id="mw-diff-ntitle2">' . Linker::revUserTools( $this->newRev, !$this->unhide ) .
+ '<div id="mw-diff-ntitle2">' . Linker::revUserTools( $this->mNewRev, !$this->unhide ) .
" $rollback</div>" .
'<div id="mw-diff-ntitle3">' . $newminor .
- Linker::revComment( $this->newRev, !$diffOnly, !$this->unhide ) . $rdel . '</div>' .
+ Linker::revComment( $this->mNewRev, !$diffOnly, !$this->unhide ) . $rdel . '</div>' .
'<div id="mw-diff-ntitle5">' . $newChangeTags[0] . '</div>' .
'<div id="mw-diff-ntitle4">' . $nextlink . $this->markPatrolledLink() . '</div>';
- if ( $this->newRev->isDeleted( Revision::DELETED_TEXT ) ) {
+ if ( $this->mNewRev->isDeleted( Revision::DELETED_TEXT ) ) {
$deleted = true; // new revisions text is hidden
- if ( $this->newRev->isDeleted( Revision::DELETED_RESTRICTED ) ) {
+ if ( $this->mNewRev->isDeleted( Revision::DELETED_RESTRICTED ) ) {
$suppressed = true; // also suppressed
}
}
global $wgUseRCPatrol, $wgEnableAPI, $wgEnableWriteAPI;
$user = $this->getUser();
- if ( $this->markPatrolledLink === null ) {
+ if ( $this->mMarkPatrolledLink === null ) {
// Prepare a change patrol link, if applicable
if (
// Is patrolling enabled and the user allowed to?
- $wgUseRCPatrol && $this->newPage->quickUserCan( 'patrol', $user ) &&
+ $wgUseRCPatrol && $this->mNewPage->quickUserCan( 'patrol', $user ) &&
// Only do this if the revision isn't more than 6 hours older
// than the Max RC age (6h because the RC might not be cleaned out regularly)
- RecentChange::isInRCLifespan( $this->newRev->getTimestamp(), 21600 )
+ RecentChange::isInRCLifespan( $this->mNewRev->getTimestamp(), 21600 )
) {
// Look for an unpatrolled change corresponding to this diff
$db = wfGetDB( DB_SLAVE );
$change = RecentChange::newFromConds(
array(
- 'rc_timestamp' => $db->timestamp( $this->newRev->getTimestamp() ),
- 'rc_this_oldid' => $this->newId,
+ 'rc_timestamp' => $db->timestamp( $this->mNewRev->getTimestamp() ),
+ 'rc_this_oldid' => $this->mNewid,
'rc_patrolled' => 0
),
__METHOD__,
}
$token = $user->getEditToken( $rcid );
- $this->markPatrolledLink = ' <span class="patrollink">[' . Linker::linkKnown(
- $this->newPage,
+ $this->mMarkPatrolledLink = ' <span class="patrollink">[' . Linker::linkKnown(
+ $this->mNewPage,
$this->msg( 'markaspatrolleddiff' )->escaped(),
array(),
array(
)
) . ']</span>';
} else {
- $this->markPatrolledLink = '';
+ $this->mMarkPatrolledLink = '';
}
} else {
- $this->markPatrolledLink = '';
+ $this->mMarkPatrolledLink = '';
}
}
- return $this->markPatrolledLink;
+ return $this->mMarkPatrolledLink;
}
/**
function renderNewRevision() {
wfProfileIn( __METHOD__ );
$out = $this->getOutput();
- $revHeader = $this->getRevisionHeader( $this->newRev );
+ $revHeader = $this->getRevisionHeader( $this->mNewRev );
# Add "current version as of X" title
$out->addHTML( "<hr class='diff-hr' />
<h2 class='diff-currentversion-title'>{$revHeader}</h2>\n" );
# @codingStandardsIgnoreStart Ignoring long lines.
if ( wfRunHooks( 'ArticleContentOnDiff', array( $this, $out ) ) ) {
$this->loadNewText();
- $out->setRevisionId( $this->newId );
- $out->setRevisionTimestamp( $this->newRev->getTimestamp() );
+ $out->setRevisionId( $this->mNewid );
+ $out->setRevisionTimestamp( $this->mNewRev->getTimestamp() );
$out->setArticleFlag( true );
// NOTE: only needed for B/C: custom rendering of JS/CSS via hook
- if ( $this->newPage->isCssJsSubpage() || $this->newPage->isCssOrJsPage() ) {
+ if ( $this->mNewPage->isCssJsSubpage() || $this->mNewPage->isCssOrJsPage() ) {
// Stolen from Article::view --AG 2007-10-11
// Give hooks a chance to customise the output
// @todo standardize this crap into one function
- if ( ContentHandler::runLegacyHooks( 'ShowRawCssJs', array( $this->newContent, $this->newPage, $out ) ) ) {
+ if ( ContentHandler::runLegacyHooks( 'ShowRawCssJs', array( $this->mNewContent, $this->mNewPage, $out ) ) ) {
// NOTE: deprecated hook, B/C only
// use the content object's own rendering
- $cnt = $this->newRev->getContent();
- $po = $cnt ? $cnt->getParserOutput( $this->newRev->getTitle(), $this->newRev->getId() ) : null;
+ $cnt = $this->mNewRev->getContent();
+ $po = $cnt ? $cnt->getParserOutput( $this->mNewRev->getTitle(), $this->mNewRev->getId() ) : null;
$txt = $po ? $po->getText() : '';
$out->addHTML( $txt );
}
- } elseif ( !wfRunHooks( 'ArticleContentViewCustom', array( $this->newContent, $this->newPage, $out ) ) ) {
+ } elseif ( !wfRunHooks( 'ArticleContentViewCustom', array( $this->mNewContent, $this->mNewPage, $out ) ) ) {
// Handled by extension
- } elseif ( !ContentHandler::runLegacyHooks( 'ArticleViewCustom', array( $this->newContent, $this->newPage, $out ) ) ) {
+ } elseif ( !ContentHandler::runLegacyHooks( 'ArticleViewCustom', array( $this->mNewContent, $this->mNewPage, $out ) ) ) {
// NOTE: deprecated hook, B/C only
// Handled by extension
} else {
// Normal page
- if ( $this->getTitle()->equals( $this->newPage ) ) {
+ if ( $this->getTitle()->equals( $this->mNewPage ) ) {
// If the Title stored in the context is the same as the one
// of the new revision, we can use its associated WikiPage
// object.
$wikiPage = $this->getWikiPage();
} else {
// Otherwise we need to create our own WikiPage object
- $wikiPage = WikiPage::factory( $this->newPage );
+ $wikiPage = WikiPage::factory( $this->mNewPage );
}
- $parserOutput = $this->getParserOutput( $wikiPage, $this->newRev );
+ $parserOutput = $this->getParserOutput( $wikiPage, $this->mNewRev );
# Also try to load it as a redirect
- $rt = $this->newContent ? $this->newContent->getRedirectTarget() : null;
+ $rt = $this->mNewContent ? $this->mNewContent->getRedirectTarget() : null;
if ( $rt ) {
- $article = Article::newFromTitle( $this->newPage, $this->getContext() );
+ $article = Article::newFromTitle( $this->mNewPage, $this->getContext() );
$out->addHTML( $article->viewRedirect( $rt ) );
# WikiPage::getParserOutput() should not return false, but just in case
public function getDiffBody() {
global $wgMemc;
wfProfileIn( __METHOD__ );
- $this->cacheHit = true;
+ $this->mCacheHit = true;
// Check if the diff should be hidden from this user
if ( !$this->loadRevisionData() ) {
wfProfileOut( __METHOD__ );
return false;
- } elseif ( $this->oldRev &&
- !$this->oldRev->userCan( Revision::DELETED_TEXT, $this->getUser() )
+ } elseif ( $this->mOldRev &&
+ !$this->mOldRev->userCan( Revision::DELETED_TEXT, $this->getUser() )
) {
wfProfileOut( __METHOD__ );
return false;
- } elseif ( $this->newRev &&
- !$this->newRev->userCan( Revision::DELETED_TEXT, $this->getUser() )
+ } elseif ( $this->mNewRev &&
+ !$this->mNewRev->userCan( Revision::DELETED_TEXT, $this->getUser() )
) {
wfProfileOut( __METHOD__ );
return false;
}
// Short-circuit
- if ( $this->oldRev === false || ( $this->oldRev && $this->newRev
- && $this->oldRev->getID() == $this->newRev->getID() ) )
+ if ( $this->mOldRev === false || ( $this->mOldRev && $this->mNewRev
+ && $this->mOldRev->getID() == $this->mNewRev->getID() ) )
{
wfProfileOut( __METHOD__ );
return '';
}
// Cacheable?
$key = false;
- if ( $this->oldId && $this->newId ) {
+ if ( $this->mOldid && $this->mNewid ) {
$key = $this->getDiffBodyCacheKey();
// Try cache
- if ( !$this->refreshCache ) {
+ if ( !$this->mRefreshCache ) {
$difftext = $wgMemc->get( $key );
if ( $difftext ) {
wfIncrStats( 'diff_cache_hit' );
}
} // don't try to load but save the result
}
- $this->cacheHit = false;
+ $this->mCacheHit = false;
// Loadtext is permission safe, this just clears out the diff
if ( !$this->loadText() ) {
return false;
}
- $difftext = $this->generateContentDiffBody( $this->oldContent, $this->newContent );
+ $difftext = $this->generateContentDiffBody( $this->mOldContent, $this->mNewContent );
// Save to cache for 7 days
if ( !wfRunHooks( 'AbortDiffCache', array( &$this ) ) ) {
* @throws MWException
*/
protected function getDiffBodyCacheKey() {
- if ( !$this->oldId || !$this->newId ) {
- throw new MWException( 'oldId and newId must be set to get diff cache key.' );
+ if ( !$this->mOldid || !$this->mNewid ) {
+ throw new MWException( 'mOldid and mNewid must be set to get diff cache key.' );
}
- return wfMemcKey( 'diff', 'version', self::CACHE_VERSION,
- 'oldid', $this->oldId, 'newid', $this->newId );
+ return wfMemcKey( 'diff', 'version', MW_DIFF_VERSION,
+ 'oldid', $this->mOldid, 'newid', $this->mNewid );
}
/**
}
function localiseLineNumbersCb( $matches ) {
- if ( $matches[1] === '1' && $this->reducedLineNumbers ) {
+ if ( $matches[1] === '1' && $this->mReducedLineNumbers ) {
return '';
}
return $this->msg( 'lineno' )->numParams( $matches[1] )->escaped();
* @return string
*/
function getMultiNotice() {
- if ( !is_object( $this->oldRev ) || !is_object( $this->newRev ) ) {
+ if ( !is_object( $this->mOldRev ) || !is_object( $this->mNewRev ) ) {
return '';
- } elseif ( !$this->oldPage->equals( $this->newPage ) ) {
+ } elseif ( !$this->mOldPage->equals( $this->mNewPage ) ) {
// Comparing two different pages? Count would be meaningless.
return '';
}
- if ( $this->oldRev->getTimestamp() > $this->newRev->getTimestamp() ) {
- $oldRev = $this->newRev; // flip
- $newRev = $this->oldRev; // flip
+ if ( $this->mOldRev->getTimestamp() > $this->mNewRev->getTimestamp() ) {
+ $oldRev = $this->mNewRev; // flip
+ $newRev = $this->mOldRev; // flip
} else { // normal case
- $oldRev = $this->oldRev;
- $newRev = $this->newRev;
+ $oldRev = $this->mOldRev;
+ $newRev = $this->mNewRev;
}
- $nEdits = $this->newPage->countRevisionsBetween( $oldRev, $newRev );
+ $nEdits = $this->mNewPage->countRevisionsBetween( $oldRev, $newRev );
if ( $nEdits > 0 ) {
$limit = 100; // use diff-multi-manyusers if too many users
- $numUsers = $this->newPage->countAuthorsBetween( $oldRev, $newRev, $limit );
+ $numUsers = $this->mNewPage->countAuthorsBetween( $oldRev, $newRev, $limit );
return self::intermediateEditsMsg( $nEdits, $numUsers, $limit );
}
return ''; // nothing
* @since 1.21
*/
function setContent( Content $oldContent, Content $newContent ) {
- $this->oldContent = $oldContent;
- $this->newContent = $newContent;
+ $this->mOldContent = $oldContent;
+ $this->mNewContent = $newContent;
- $this->textLoaded = 2;
- $this->revisionsLoaded = true;
+ $this->mTextLoaded = 2;
+ $this->mRevisionsLoaded = true;
}
/**
* @since 1.19
*/
function setTextLanguage( $lang ) {
- $this->diffLang = wfGetLangObj( $lang );
+ $this->mDiffLang = wfGetLangObj( $lang );
}
/**
* Load revision IDs
*/
private function loadRevisionIds() {
- if ( $this->revisionsIdsLoaded ) {
+ if ( $this->mRevisionsIdsLoaded ) {
return;
}
- $this->revisionsIdsLoaded = true;
+ $this->mRevisionsIdsLoaded = true;
- $old = $this->oldId;
- $new = $this->newId;
+ $old = $this->mOldid;
+ $new = $this->mNewid;
- list( $this->oldId, $this->newId ) = self::mapDiffPrevNext( $old, $new );
- if ( $new === 'next' && $this->newId === false ) {
+ list( $this->mOldid, $this->mNewid ) = self::mapDiffPrevNext( $old, $new );
+ if ( $new === 'next' && $this->mNewid === false ) {
# if no result, NewId points to the newest old revision. The only newer
# revision is cur, which is "0".
- $this->newId = 0;
+ $this->mNewid = 0;
}
- wfRunHooks( 'NewDifferenceEngine', array( $this->getTitle(), &$this->oldId, &$this->newId, $old, $new ) );
+ wfRunHooks( 'NewDifferenceEngine', array( $this->getTitle(), &$this->mOldid, &$this->mNewid, $old, $new ) );
}
/**
* @return bool
*/
function loadRevisionData() {
- if ( $this->revisionsLoaded ) {
+ if ( $this->mRevisionsLoaded ) {
return true;
}
// Whether it succeeds or fails, we don't want to try again
- $this->revisionsLoaded = true;
+ $this->mRevisionsLoaded = true;
$this->loadRevisionIds();
// Load the new revision object
- if ( $this->newId ) {
- $this->newRev = Revision::newFromId( $this->newId );
+ if ( $this->mNewid ) {
+ $this->mNewRev = Revision::newFromId( $this->mNewid );
} else {
- $this->newRev = Revision::newFromTitle(
+ $this->mNewRev = Revision::newFromTitle(
$this->getTitle(),
false,
Revision::READ_NORMAL
);
}
- if ( !$this->newRev instanceof Revision ) {
+ if ( !$this->mNewRev instanceof Revision ) {
return false;
}
// Update the new revision ID in case it was 0 (makes life easier doing UI stuff)
- $this->newId = $this->newRev->getId();
- $this->newPage = $this->newRev->getTitle();
+ $this->mNewid = $this->mNewRev->getId();
+ $this->mNewPage = $this->mNewRev->getTitle();
// Load the old revision object
- $this->oldRev = false;
- if ( $this->oldId ) {
- $this->oldRev = Revision::newFromId( $this->oldId );
- } elseif ( $this->oldId === 0 ) {
- $rev = $this->newRev->getPrevious();
+ $this->mOldRev = false;
+ if ( $this->mOldid ) {
+ $this->mOldRev = Revision::newFromId( $this->mOldid );
+ } elseif ( $this->mOldid === 0 ) {
+ $rev = $this->mNewRev->getPrevious();
if ( $rev ) {
- $this->oldId = $rev->getId();
- $this->oldRev = $rev;
+ $this->mOldid = $rev->getId();
+ $this->mOldRev = $rev;
} else {
// No previous revision; mark to show as first-version only.
- $this->oldId = false;
- $this->oldRev = false;
+ $this->mOldid = false;
+ $this->mOldRev = false;
}
- } /* elseif ( $this->oldId === false ) leave oldRev false; */
+ } /* elseif ( $this->mOldid === false ) leave mOldRev false; */
- if ( is_null( $this->oldRev ) ) {
+ if ( is_null( $this->mOldRev ) ) {
return false;
}
- if ( $this->oldRev ) {
- $this->oldPage = $this->oldRev->getTitle();
+ if ( $this->mOldRev ) {
+ $this->mOldPage = $this->mOldRev->getTitle();
}
// Load tags information for both revisions
$dbr = wfGetDB( DB_SLAVE );
- if ( $this->oldId !== false ) {
- $this->oldTags = $dbr->selectField(
+ if ( $this->mOldid !== false ) {
+ $this->mOldTags = $dbr->selectField(
'tag_summary',
'ts_tags',
- array( 'ts_rev_id' => $this->oldId ),
+ array( 'ts_rev_id' => $this->mOldid ),
__METHOD__
);
} else {
- $this->oldTags = false;
+ $this->mOldTags = false;
}
- $this->newTags = $dbr->selectField(
+ $this->mNewTags = $dbr->selectField(
'tag_summary',
'ts_tags',
- array( 'ts_rev_id' => $this->newId ),
+ array( 'ts_rev_id' => $this->mNewid ),
__METHOD__
);
* @return bool
*/
function loadText() {
- if ( $this->textLoaded == 2 ) {
+ if ( $this->mTextLoaded == 2 ) {
return true;
}
// Whether it succeeds or fails, we don't want to try again
- $this->textLoaded = 2;
+ $this->mTextLoaded = 2;
if ( !$this->loadRevisionData() ) {
return false;
}
- if ( $this->oldRev ) {
- $this->oldContent = $this->oldRev->getContent( Revision::FOR_THIS_USER, $this->getUser() );
- if ( $this->oldContent === null ) {
+ if ( $this->mOldRev ) {
+ $this->mOldContent = $this->mOldRev->getContent( Revision::FOR_THIS_USER, $this->getUser() );
+ if ( $this->mOldContent === null ) {
return false;
}
}
- if ( $this->newRev ) {
- $this->newContent = $this->newRev->getContent( Revision::FOR_THIS_USER, $this->getUser() );
- if ( $this->newContent === null ) {
+ if ( $this->mNewRev ) {
+ $this->mNewContent = $this->mNewRev->getContent( Revision::FOR_THIS_USER, $this->getUser() );
+ if ( $this->mNewContent === null ) {
return false;
}
}
* @return bool
*/
function loadNewText() {
- if ( $this->textLoaded >= 1 ) {
+ if ( $this->mTextLoaded >= 1 ) {
return true;
}
- $this->textLoaded = 1;
+ $this->mTextLoaded = 1;
if ( !$this->loadRevisionData() ) {
return false;
}
- $this->newContent = $this->newRev->getContent( Revision::FOR_THIS_USER, $this->getUser() );
+ $this->mNewContent = $this->mNewRev->getContent( Revision::FOR_THIS_USER, $this->getUser() );
return true;
}
if ( $status->isOK() ) {
$status->value->setSchemaVars( $this->getSchemaVars() );
} else {
- throw new MWException( __METHOD__ . ': unexpected DB connection error' );
+ $msg = __METHOD__ . ': unexpected error while establishing'
+ . ' a database connection with message: '
+ . $status->getMessage()->plain();
+ throw new MWException( $msg );
}
}
*/
protected $maxPageLength = 70;
+ /**
+ * Maximum number of pages in a hierarchical ("top level") list.
+ *
+ * Traversal of the entire page list by spidering the top levels is thought
+ * to require O(N^3) DB CPU time where N is the number of pages on the wiki.
+ * See bug 56840. If this limit is exceeded, the behaviour becomes like a
+ * simple alphabetic pager.
+ */
+ protected $maxTopLevelPages = 50000;
+
/**
* Determines, which message describes the input field 'nsfrom'.
*
$lines = $wgMemc->get( $key );
$count = $dbr->estimateRowCount( 'page', '*', $where, __METHOD__ );
+
+ // Don't show a hierarchical list if the number of pages is very large,
+ // since generating it will cause a lot of scanning
+ if ( $count > $this->maxTopLevelPages ) {
+ $this->showChunk( $namespace, $from, $to, $hideredirects );
+ return;
+ }
+
$maxPerSubpage = intval( $count / $this->maxLineCount );
$maxPerSubpage = max( $maxPerSubpage, $this->maxPerPage );
# Some log types are only for a 'User:' title but we might have been given
# only the username instead of the full title 'User:username'. This part try
# to lookup for a user by that name and eventually fix user input. See bug 1697.
+ wfRunHooks( 'GetLogTypesOnUser', array( &$this->typeOnUser ) );
if ( in_array( $opts->getValue( 'type' ), $this->typeOnUser ) ) {
# ok we have a type of log which expect a user title.
$target = Title::newFromText( $opts->getValue( 'page' ) );
* http://cr.yp.to/cdb.html
*/
abstract class CdbReader {
+ /**
+ * The file handle
+ */
+ protected $handle;
+
/**
* Open a file and return a subclass instance
*
* @return CdbReader
*/
public static function open( $fileName ) {
- if ( self::haveExtension() ) {
- return new CdbReaderDBA( $fileName );
- } else {
- wfDebug( "Warning: no dba extension found, using emulation.\n" );
-
- return new CdbReaderPHP( $fileName );
- }
+ return self::haveExtension() ?
+ new CdbReaderDBA( $fileName ) :
+ new CdbReaderPHP( $fileName );
}
/**
}
/**
- * Construct the object and open the file
+ * Create the object and open the file
+ *
+ * @param $fileName string
*/
- abstract function __construct( $fileName );
+ abstract public function __construct( $fileName );
/**
* Close the file. Optional, you can just let the variable go out of scope.
*/
- abstract function close();
+ abstract public function close();
/**
* Get a value with a given key. Only string values are supported.
* Native and pure PHP implementations are provided.
*/
abstract class CdbWriter {
+ /**
+ * The file handle
+ */
+ protected $handle;
+
+ /**
+ * File we'll be writing to when we're done
+ * @var string
+ */
+ protected $realFileName;
+
+ /**
+ * File we write to temporarily until we're done
+ * @var string
+ */
+ protected $tmpFileName;
+
/**
* Open a writer and return a subclass instance.
* The user must have write access to the directory, for temporary file creation.
* @return CdbWriterDBA|CdbWriterPHP
*/
public static function open( $fileName ) {
- if ( CdbReader::haveExtension() ) {
- return new CdbWriterDBA( $fileName );
- } else {
- wfDebug( "Warning: no dba extension found, using emulation.\n" );
-
- return new CdbWriterPHP( $fileName );
- }
+ return CdbReader::haveExtension() ?
+ new CdbWriterDBA( $fileName ) :
+ new CdbWriterPHP( $fileName );
}
/**
*
* @param $fileName string
*/
- abstract function __construct( $fileName );
+ abstract public function __construct( $fileName );
/**
* Set a key to a given value. The value will be converted to string.
* goes out of scope, to write out the final hashtables.
*/
abstract public function close();
-}
-
-/**
- * Reader class which uses the DBA extension
- */
-class CdbReaderDBA {
- var $handle;
- function __construct( $fileName ) {
- $this->handle = dba_open( $fileName, 'r-', 'cdb' );
- if ( !$this->handle ) {
- throw new MWException( 'Unable to open CDB file "' . $fileName . '"' );
- }
- }
-
- function close() {
+ /**
+ * If the object goes out of scope, close it for sanity
+ */
+ public function __destruct() {
if ( isset( $this->handle ) ) {
- dba_close( $this->handle );
+ $this->close();
}
- unset( $this->handle );
}
- function get( $key ) {
- return dba_fetch( $key, $this->handle );
+ /**
+ * Are we running on Windows?
+ */
+ protected function isWindows() {
+ return substr( php_uname(), 0, 7 ) == 'Windows';
}
}
/**
- * Writer class which uses the DBA extension
+ * Exception for Cdb errors
*/
-class CdbWriterDBA {
- var $handle, $realFileName, $tmpFileName;
-
- function __construct( $fileName ) {
- $this->realFileName = $fileName;
- $this->tmpFileName = $fileName . '.tmp.' . mt_rand( 0, 0x7fffffff );
- $this->handle = dba_open( $this->tmpFileName, 'n', 'cdb_make' );
- if ( !$this->handle ) {
- throw new MWException( 'Unable to open CDB file for write "' . $fileName . '"' );
- }
- }
-
- function set( $key, $value ) {
- return dba_insert( $key, $value, $this->handle );
- }
-
- function close() {
- if ( isset( $this->handle ) ) {
- dba_close( $this->handle );
- }
- if ( wfIsWindows() ) {
- unlink( $this->realFileName );
- }
- if ( !rename( $this->tmpFileName, $this->realFileName ) ) {
- throw new MWException( 'Unable to move the new CDB file into place.' );
- }
- unset( $this->handle );
- }
-
- function __destruct() {
- if ( isset( $this->handle ) ) {
- $this->close();
- }
- }
-}
+class CdbException extends MWException {}
--- /dev/null
+<?php
+/**
+ * DBA-based CDB reader/writer
+ *
+ * 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
+ */
+
+/**
+ * Reader class which uses the DBA extension
+ */
+class CdbReaderDBA extends CdbReader {
+ public function __construct( $fileName ) {
+ $this->handle = dba_open( $fileName, 'r-', 'cdb' );
+ if ( !$this->handle ) {
+ throw new CdbException( 'Unable to open CDB file "' . $fileName . '"' );
+ }
+ }
+
+ public function close() {
+ if ( isset( $this->handle ) ) {
+ dba_close( $this->handle );
+ }
+ unset( $this->handle );
+ }
+
+ public function get( $key ) {
+ return dba_fetch( $key, $this->handle );
+ }
+}
+
+/**
+ * Writer class which uses the DBA extension
+ */
+class CdbWriterDBA extends CdbWriter {
+ public function __construct( $fileName ) {
+ $this->realFileName = $fileName;
+ $this->tmpFileName = $fileName . '.tmp.' . mt_rand( 0, 0x7fffffff );
+ $this->handle = dba_open( $this->tmpFileName, 'n', 'cdb_make' );
+ if ( !$this->handle ) {
+ throw new CdbException( 'Unable to open CDB file for write "' . $fileName . '"' );
+ }
+ }
+
+ public function set( $key, $value ) {
+ return dba_insert( $key, $value, $this->handle );
+ }
+
+ public function close() {
+ if ( isset( $this->handle ) ) {
+ dba_close( $this->handle );
+ }
+ if ( $this->isWindows() ) {
+ unlink( $this->realFileName );
+ }
+ if ( !rename( $this->tmpFileName, $this->realFileName ) ) {
+ throw new CdbException( 'Unable to move the new CDB file into place.' );
+ }
+ unset( $this->handle );
+ }
+}
*
* @param $s string
*
- * @return
+ * @return int
*/
public static function hash( $s ) {
$h = 5381;
/** The filename */
var $fileName;
- /** The file handle */
- var $handle;
-
/* number of hash slots searched under this key */
var $loop;
/**
* @param $fileName string
- * @throws MWException
+ * @throws CdbException
*/
- function __construct( $fileName ) {
+ public function __construct( $fileName ) {
$this->fileName = $fileName;
$this->handle = fopen( $fileName, 'rb' );
if ( !$this->handle ) {
- throw new MWException( 'Unable to open CDB file "' . $this->fileName . '".' );
+ throw new CdbException( 'Unable to open CDB file "' . $this->fileName . '".' );
}
$this->findStart();
}
- function close() {
+ public function close() {
if ( isset( $this->handle ) ) {
fclose( $this->handle );
}
}
/**
- * @throws MWException
+ * @throws CdbException
* @param $length
* @param $pos
* @return string
protected function read( $length, $pos ) {
if ( fseek( $this->handle, $pos ) == -1 ) {
// This can easily happen if the internal pointers are incorrect
- throw new MWException(
+ throw new CdbException(
'Seek failed, file "' . $this->fileName . '" may be corrupted.' );
}
$buf = fread( $this->handle, $length );
if ( $buf === false || strlen( $buf ) !== $length ) {
- throw new MWException(
+ throw new CdbException(
'Read from CDB file failed, file "' . $this->fileName . '" may be corrupted.' );
}
/**
* Unpack an unsigned integer and throw an exception if it needs more than 31 bits
* @param $s
- * @throws MWException
+ * @throws CdbException
* @return mixed
*/
protected function unpack31( $s ) {
$data = unpack( 'V', $s );
if ( $data[1] > 0x7fffffff ) {
- throw new MWException(
+ throw new CdbException(
'Error in CDB file "' . $this->fileName . '", integer too big.' );
}
* CDB writer class
*/
class CdbWriterPHP extends CdbWriter {
- var $handle, $realFileName, $tmpFileName;
-
var $hplist;
var $numentries, $pos;
/**
* @param $fileName string
*/
- function __construct( $fileName ) {
+ public function __construct( $fileName ) {
$this->realFileName = $fileName;
$this->tmpFileName = $fileName . '.tmp.' . mt_rand( 0, 0x7fffffff );
$this->handle = fopen( $this->tmpFileName, 'wb' );
}
}
- function __destruct() {
- if ( isset( $this->handle ) ) {
- $this->close();
- }
- }
-
/**
- * @param $key
- * @param $value
- * @return
+ * @param string $key
+ * @param string $value
*/
public function set( $key, $value ) {
if ( strval( $key ) === '' ) {
}
/**
- * @throws MWException
+ * @throws CdbException
*/
public function close() {
$this->finish();
if ( isset( $this->handle ) ) {
fclose( $this->handle );
}
- if ( wfIsWindows() && file_exists( $this->realFileName ) ) {
+ if ( $this->isWindows() && file_exists( $this->realFileName ) ) {
unlink( $this->realFileName );
}
if ( !rename( $this->tmpFileName, $this->realFileName ) ) {
}
/**
- * @throws MWException
+ * @throws CdbException
* @param $buf
*/
protected function write( $buf ) {
}
/**
- * @throws MWException
+ * @throws CdbException
* @param $len
*/
protected function posplus( $len ) {
}
/**
- * @throws MWException
+ * @throws CdbException
* @param $keylen
* @param $datalen
*/
}
/**
- * @throws MWException
+ * @throws CdbException
*/
protected function finish() {
// Hack for DBA cross-check
* Clean up the temp file and throw an exception
*
* @param $msg string
- * @throws MWException
+ * @throws CdbException
*/
protected function throwException( $msg ) {
if ( $this->handle ) {
fclose( $this->handle );
unlink( $this->tmpFileName );
}
- throw new MWException( $msg );
+ throw new CdbException( $msg );
}
}
public $mMaxDepth = 10;
public $mVarSeparatorPattern;
- const CACHE_VERSION_KEY = 'VERSION 6';
+ const CACHE_VERSION_KEY = 'VERSION 7';
/**
* Constructor
* @author Ezagren
* @author Fadli Idris
* @author Meno25
+ * @author Rachmat.Wahidi
* @author Sayed Muddasir
* @author Si Gam Acèh
*/
'badaccess-group0' => 'Droeneuh hana geupeuidin keu neupeulaku buët nyang neulakèë',
'badaccess-groups' => 'Buët nyang neulakèë geupeubatah keu ureuëng ngui lam {{PLURAL:$2|kawan|salah saboh nibak kawan}}: $1.',
-'versionrequired' => 'Peureulèë MediaWiki versi $1',
+'versionrequired' => 'Peureulèë MediaWiki vèrsi $1',
'versionrequiredtext' => "MediaWiki versi $1 geupeureulèë keu neungui laman nyoë. Neu'eu [[Special:Version|on versi]]",
'ok' => 'Ka göt',
Keu neuk tamah atawa ubah teujeumah keu ban dum wiki, neungui [//translatewiki.net/ translatewiki.net], proyek lokalisasi MediaWiki.',
'mycustomcssprotected' => 'Droëneuh hana hak neuandam halaman CSS nyoe.',
'mycustomjsprotected' => 'Droëneuh hana idin neuandam halaman JavaScript nyoe.',
+'mypreferencesprotected' => 'Droeneuh hana izin keu neuandam geunalak droeneuh.',
'ns-specialprotected' => 'Laman khusuih bèk neuandam',
+'titleprotected' => 'Nan nyoe ka geupeulindông nibak neuandam lé [[User:$1|$1]].
+Dalèhjih nakeuh "\'\'$2\'\'".',
+'invalidtitle-knownnamespace' => 'Nan nyang hana sah ngön ruweueng nan "$2" ngön "$3"',
'exception-nologin' => 'Hana tamöng lom',
'exception-nologin-text' => 'halaman atawa buët nyoe beu neutamöng dilèë bak wiki nyoe.',
+# Virus scanner
+'virus-unknownscanner' => 'Antivirus hana meuturi:',
+
# Login and logout pages
+'logouttext' => "'''Droeneuh ka neutubiet log.'''
+
+Beuneuteupue meunyoe na padum-padum laman nyang deuh lagèe na neutamöng log, sampoe ka lheuh neupeugléh ''cache''.",
'welcomeuser' => 'Seulamat trôk teuka, $1 !',
'welcomecreation-msg' => 'Nan droëneuh ka geupeugöt.
Bèk tuwo neuatô [[Special:Preferences|geunalak {{SITENAME}}]] droëneuh.',
'loginerror' => 'Salah bak tamöng',
'createacct-error' => 'Peudapeuta nan barô hana meuhasé',
'createaccounterror' => 'H‘an jeuët peudapeuta nan: $1',
+'nocookiesnew' => "Nan ureueng ngui nyoe ka meupeugöt, tapi goh meutamöng.
+{{SITENAME}} jingui ''cookies'' keu peutamöng ureueng ngui.
+''Cookies'' droeneuh hana meupeuudép.
+Neupeuudép ''cookies'' dilèe, lheuh nyan neutamöng ngön nan ureueng ngui ngön lageuem rahsia droeneuh.",
'noname' => 'Nan ureuëng ngui nyang Droënueh peutamöng hana sah.',
'loginsuccesstitle' => 'Meuhasé tamöng',
'loginsuccess' => "'''Droëneuh jinoë ka neutamöng di {{SITENAME}} sibagoë \"\$1\".'''",
'noemailcreate' => 'Droeneuh suwah neuseudia alamt surat-e nyang jeut ngui.',
'passwordsent' => 'Lageuëm barô ka geupeu\'et u surat-e nyang geupeudapeuta keu "$1". Neutamöng teuma lheuëh neuteurimöng surat-e nyan.',
'eauthentsent' => 'Saboh surat-e keu peunyö ka geukirém u alamat surat-e Droëneuh. Droëneuh beuneuseutöt préntah lam surat nyan keu neupeunyö meunyö alamat nyan nakeuh beutôi atra Droëneuh. {{SITENAME}} h‘an geupeuudép surat Droëneuh meunyö langkah nyoë hana neupeubuet lom.',
+'cannotchangeemail' => 'Alamat surat-e han jeut geugantoe bak wiki nyoe.',
+'emaildisabled' => 'Situs nyoe han jeut geukirém surat-e.',
'accountcreated' => 'Ureuëng ngui ka teupeugöt',
'accountcreatedtext' => 'Ureuëng ngui keu [[{{ns:User}}:$1|$1]]([[{{ns:User talk}}:$1|talk]]) ka teupeugöt.',
'createaccount-title' => 'Peugöt ureuëng ngui keu {{SITENAME}}',
+'usernamehasherror' => 'Nan ureueng ngui han jeut na tanda pageue',
+'login-throttled' => 'Droeneuh ka lé that neuujoe tamöng.
+Neuprèh $1 sigohlom neuujoe lom.',
'loginlanguagelabel' => 'Bahsa: $1',
+'createacct-another-realname-tip' => 'Nan aseuli hana meucéh neupasoe.
+Meunyö neupasoe, euntreuk nan droëneuh nyan geupeuleumah mangat jitupeue soe nyang tuléh.',
+
+# Email sending
+'user-mail-no-addy' => 'Ujoe kirém surat-e ngön hana alamat surat-e.',
# Change password dialog
'resetpass' => 'Gantoë lageuëm rahsia',
'resetpass-no-info' => "Droëneuh suwah neutamöng mangat jeuët neu'eu laman nyoë",
'resetpass-submit-loggedin' => 'Gantoë lageuëm rahsia',
'resetpass-submit-cancel' => 'Pubateuë',
+'resetpass-temp-password' => 'Lageuem rahsia keu siat:',
+
+# Special:PasswordReset
+'passwordreset-username' => 'Ureueng ngui:',
+'passwordreset-capture' => 'Eu hasé surat-e?',
+'passwordreset-email' => 'Alamat surat-e:',
+'passwordreset-emailtitle' => 'Teuneurang nan ureueng ngui bak {{SITENAME}}',
+
+# Special:ChangeEmail
+'changeemail' => 'Gantoe alamat surat-e',
+'changeemail-header' => 'Gantoe alamat surat-e',
+'changeemail-no-info' => "Droeneuh suwah neutamöng mangat jeuet neu'eu laman nyoe",
+'changeemail-oldemail' => 'Alamat surat-e jinoe:',
+'changeemail-newemail' => 'Alamat surat-e barô:',
+'changeemail-none' => '(hana)',
+'changeemail-password' => 'Lageuem rahsia {{SITENAME}} droeneuh:',
+'changeemail-submit' => 'Gantoe surat-e',
+'changeemail-cancel' => 'Peubateue',
# Edit page toolbar
'bold_sample' => 'Rakam teubai',
'showdiff' => 'Peuleumah neuubah',
'anoneditwarning' => 'Droëneuh hana teudapeuta tamong. Alamat IP Droëneuh teucatat lam tarèh (riwayat away) ôn nyoë.',
'summary-preview' => 'Eu dilèë neuringkaih:',
+'blockedtitle' => 'Ureueng ngui geutheun',
'blockedtext' => "'''Nan ureuëng nguy atawa alamat IP Droëneuh ka geutheun.'''
Geutheun lé $1. Dalèh jih nakeuh ''$2''.
Droëneuh h’an jeuët neunguy alat 'Kirém surat-e ureuëng nguy nyoë' keucuali ka neupasoë alamat surat-e nyang sah di [[Special:Preferences|Geunalak]] Droëneuh ngön Droëneuh ka geutheun keu nguy nyan.
Alamat IP Droëneuh nakeuh $3, ngön ID neutheun nakeuh $5. Tulông peuseureuta salah saboh atawa ban duwa beurita nyoë bak tiëp teunanyöng nyang neupeugöt.",
+'autoblockedtext' => "'''Nan ureuëng nguy atawa alamat IP Droëneuh ka geutheun.'''
+
+Geutheun lé $1. Dalèh jih nakeuh ''$2''.
+
+* Geutheun yôh: $8
+* Neutheun maté tanggay bak: $6
+* Nyang geutheun: $7
+
+Droëneuh jeuët neutanyong bak $1 atawa [[{{MediaWiki:Grouppage-sysop}}|nyang urôh nyang la’én]] keu peugah haba bhah nyoë.
+
+Droëneuh h’an jeuët neunguy alat 'Kirém surat-e ureuëng nguy nyoë' keucuali ka neupasoë alamat surat-e nyang sah di [[Special:Preferences|Geunalak]] Droëneuh ngön Droëneuh ka geutheun keu nguy nyan.
+
+Alamat IP Droëneuh nakeuh $3, ngön ID neutheun nakeuh $5. Tulông peuseureuta salah saboh atawa ban duwa beurita nyoë bak tiëp teunanyöng nyang neupeugöt.",
+'blockednoreason' => 'hana dalèh nyang geubri',
+'whitelistedittext' => 'Droeneuh suwah $1 keu neuandam ôn.',
+'nosuchsectiontitle' => 'Bideueng hana geutumèe',
+'loginreqtitle' => 'Droeneuh payah neutamöng log.',
+'loginreqlink' => 'tamöng',
+'loginreqpagetext' => "Droeneuh payah $1 keu neu'eu ôn-ôn la'én.",
+'accmailtitle' => 'Lageuem rahsia ka meukirém',
'newarticle' => '(Barô)',
'newarticletext' => "Droëneuh ka neuseutöt peunawôt u laman nyang goh na.
Keu neupeugöt laman nyan, neukeutik lam plôk di yup (eu [[{{MediaWiki:Helppage}}|laman beunantu]] keu haba leubèh le).
Meunyö droëneuh trôk keunoë hana neusaja, neuteugön tèk '''back''' bak ''browser'''droëneuh.",
+'anontalkpagetext' => "----''Nyoe nakeuh ôn marit ureueng ngui nyang hana tamöng atawa hana geungui.''
+Saweub nyan, kamoe payah meukubah alamat IP-geuh keu meuparéksa.
+Alamat IP mungkén jingui lé padum-padum droe ureueng.
+Meunyoe droeneuh ureueng nyang hana tamöng nyan, tulông [[Special:UserLogin/signup|peugöt nan ureueng ngui]] atawa [[Special:UserLogin|tamöng log]] mangat meuteugah nibak bhah nyang hana meuphôm bak uroe la'én.",
'noarticletext' => 'Hana naseukah jinoë lam laman nyoë.
Ji Droëneuh jeuët [[Special:Search/{{PAGENAME}}|neumita keu nan ôn nyoë]] bak ôn-ôn la’én, <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} log nyang na hubôngan], atawa [{{fullurl:{{FULLPAGENAME}}|action=edit}} neu\'andam ôn nyoë]</span>.',
'noarticletext-nopermission' => 'Hana asoë bak laman nyoë jinoë.
Droëneuh jeuët [[Special:Search/{{PAGENAME}}|neumita keu nan ôn nyoë]] bak laman-laman la\'én,
atawa <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} neumita log nyang na meuhubông]</span>, tapi Droëneuh hana idin keu neupeugöt laman nyoë',
+'userpage-userdoesnotexist-view' => 'Ureueng ngui "$1" hana teudapeuta.',
'updated' => '(Seubarô)',
'note' => "'''Hareutoë:'''",
'previewnote' => "'''Beu neuingat meunyo laman nyoë goh lom neukeubah!'''",
'editing' => 'Andam $1',
+'creating' => 'Teungöh meupeugöt $1',
'editingsection' => 'Andam $1 (bideuëng)',
+'editingcomment' => 'Andam $1 (bideuëng)',
+'storedversion' => 'Riwayat meukubah',
+'yourdiff' => 'Bida',
'copyrightwarning' => "Beu neuingat bahwa ban mandum nyang Droëneuh tuléh keu {{SITENAME}} geukira geupeuteubiët di yup $2 (ngiëng $1 keu leubèh jeulah). Meunyoë Droëneuh h‘an neutém teunuléh Droëneuh ji’andam ngön jiba ho ho la’én, bèk neupasoë teunuléh Droëneuh keunoë.<br />Droëneuh neumeujanji chit meunyoë teunuléh nyoë nakeuh atra neutuléh keudroë, atawa neucok nibak nè nè atra umôm atawa nè bibeuëh la’én.
'''BÈK NEUPASOË TEUNULÉH NYANG GEUPEULINDÔNG HAK KARANG NYANG HANA IDIN'''",
'templatesused' => '{{PLURAL:$1|Templat|Templates}} nyang geungui bak laman nyoë:',
'template-semiprotected' => '(siteungoh-lindông)',
'hiddencategories' => 'Laman nyoë nakeuh anggèëta nibak {{PLURAL:$1|1 kawan teusom |$1 kawan teusom}}:',
'nocreatetext' => '{{SITENAME}} ka jiköt bak peugöt laman barô. Ji Droëneuh jeuët neuriwang teuma ngön neu’andam laman nyang ka na, atawa [[Special:UserLogin|neutamong atawa neudapeuta]].',
+'nocreate-loggedin' => 'Droeneuh hana khut keu neupeugöt laman-laman barô.',
+'sectioneditnotsupported-title' => 'Andam bideung hana meudukông',
+'sectioneditnotsupported-text' => 'Andam bideung hana meudukông bak ôn nyoe.',
+'permissionserrors' => 'Salah khut/hak tamöng',
+'permissionserrorstext' => 'Droëneuh hana hak tamöng keu $2, muroë {{PLURAL:$1|choë|choë}} nyoë:',
'permissionserrorstext-withaction' => 'Droëneuh hana hak tamöng keu $2, muroë {{PLURAL:$1|choë|choë}} nyoë:',
'recreate-moveddeleted-warn' => "'''Ingat: Droëneuh neupeugöt ulang saboh laman nyang ka tom geusampôh. ''',
Nyoë pat nakeuh log seunampôh nibak laman nyoë:",
'moveddeleted-notice' => 'Laman nyoë ka geusampôh.
Log seunampôh ngön log pinah laman nyoë geupeuseudia di yup nyoë keu keuneubah.',
+'log-fulllog' => 'Eu ban dum ceunatat',
+'edit-hook-aborted' => "Seunampôh geupeubateuë lé kaw'ét parser.
+Hana jeuneulaih.",
+'edit-gone-missing' => 'Han jeut peubarô ôn.
+Ôn nyoe mungkén ka geusampôh.',
+'postedit-confirmation' => 'Neuandam droeneuh ka meukubah.',
+'edit-already-exists' => 'Han jeut peugöt ôn barô.
+Ôn nyoe ka lheuh na.',
# Parser/template warnings
'post-expand-template-inclusion-warning' => "'''Ingat:''' Seunipat seunaleuëk nyang neunguy rayek that.
Alasan-alasan nyan hana geupeureumeuën.",
'post-expand-template-argument-category' => 'Laman ngön dalèh seunaleuëk nyang hana geupeureumeuën',
+# Account creation failure
+'cantcreateaccounttitle' => 'Han jeut peugöt nan ureueng ngui',
+'cantcreateaccount-text' => "Peuneugöt nan ureueng ngui nibak alamat IP ('''$1''') ka geutheun lé [[User:$3|$3]].
+
+Dalèh $3 nyoe nakeuh ''$2''",
+
# History pages
'viewpagelogs' => 'Eu log laman nyoë',
+'nohistory' => 'Hana riwayat neuandam awai keu ôn nyoe.',
'currentrev' => 'Geunantoë jinoë',
'currentrev-asof' => 'Geunantoë barô bak $1',
'revisionasof' => 'Geunantoë tiëp $1',
'nextrevision' => 'Geunantoë lheuëh nyan→',
'currentrevisionlink' => 'Geunantoë jinoë',
'cur' => 'jin',
+'next' => 'u keu',
'last' => 'sigohlom',
'page_first' => 'phôn',
'page_last' => 'keuneulheuëh',
'history-show-deleted' => 'Nyang geusampôh mantöng',
'histfirst' => 'paléng trép',
'histlast' => 'paléng barô',
+'historyempty' => '(soh)',
# Revision feed
+'history-feed-title' => 'Riwayat neupeupah',
+'history-feed-description' => 'Riwayat neupeupah keu ôn nyoe bak wiki',
'history-feed-item-nocomment' => '$1 bak $2',
# Revision deletion
+'rev-deleted-comment' => '(mohtasa neuandam geusampôh)',
+'rev-deleted-user' => '(nan ureueng ngui geusampôh)',
+'rev-deleted-user-contribs' => '[nan ureueng ngui atawa alamat IP geusampôh - neuandam geupeusom bak dapeuta beuneuri]',
'rev-delundel' => 'peuleumah/peusom',
+'rev-showdeleted' => 'peudeuh',
+'revdelete-show-file-submit' => 'Nyoe',
+'revdelete-hide-comment' => 'Mohtasa neuandam',
+'revdelete-radio-same' => '(bèk neugantoe)',
+'revdelete-radio-set' => 'Deuh',
+'revdelete-radio-unset' => 'Teusom',
+'revdelete-log' => 'Dalèh:',
'revdel-restore' => 'Gantoë seuneudeuih',
'revdel-restore-deleted' => 'geunantoe nyang ka geusampôh',
'revdel-restore-visible' => 'geunantoë nyang deuih',
'pagehist' => 'Taréh laman',
'deletedhist' => 'Taréh nyang meusampôh',
+# History merging
+'mergehistory-from' => 'Asai ôn:',
+'mergehistory-invalid-source' => 'Asai ôn payah nan nyang beutôi.',
+'mergehistory-reason' => 'Dalèh:',
+
# Merge log
+'mergelog' => 'Peugabông log',
'revertmerge' => 'Hana jadèh peugabông',
# Diffs
'lineno' => 'Baréh $1:',
'compareselectedversions' => 'Peubandéng curak teupiléh',
'editundo' => 'pubateuë',
+'diff-empty' => '(Hana bida)',
'diff-multi' => '({{PLURAL:$1|Saboh|$1}} geunantoë antara nyang geupeugot le {{PLURAL:$2|sidroe|$2}} ureueng nguy hana geupeuleumah)',
# Search results
'powersearch-ns' => 'Mita bak ruweuëng nan:',
'powersearch-redir' => 'Dapeuta peuninah',
'powersearch-field' => 'Mita',
+'powersearch-toggleall' => 'Ban dum',
+'powersearch-togglenone' => 'Hana',
# Preferences page
'preferences' => 'Galak',
'mypreferences' => 'Atô',
+'prefs-edits' => 'Jumeulah neuandam:',
+'prefsnologin' => 'Hana tamöng lom',
+'changepassword' => 'Gantoe lageuem rahsia',
+'prefs-skin' => 'Kulét',
+'skin-preview' => 'Eu dilèe',
+'datedefault' => 'Hana geunalak',
+'prefs-beta' => 'Fitur bèta',
+'prefs-datetime' => 'Uroe ngön jeum',
+'prefs-user-pages' => 'Laman ureueng ngui',
+'prefs-personal' => 'Profil ureueng ngui',
'prefs-rc' => 'Ban meuubah',
+'prefs-watchlist' => 'Dapeuta keunalön',
+'prefs-watchlist-days' => 'Jumeulah uroe nyang meupeudeuh bak dapeuta keunalön:',
+'prefs-watchlist-days-max' => '{{PLURAL:$1|uroë}}',
+'prefs-misc' => "La'én-la'én",
+'prefs-resetpass' => 'Gantoe lageuem rahsia',
+'prefs-changeemail' => 'Gantoe alamat surat-e',
+'prefs-setemail' => 'Pasoe alamat surat-e',
'prefs-email' => 'Peuniléh surat-e',
+'prefs-rendering' => 'Seuneudeuh',
+'saveprefs' => 'Kubah',
+'resetprefs' => 'Peugléh neuubah nyang goh meukubah',
+'prefs-editing' => 'Neuandam',
+'rows' => 'Baréh:',
'searchresultshead' => 'Mita',
+'resultsperpage' => 'Hasé lam saboh laman:',
+'stub-threshold-disabled' => 'Geupeumaté',
+'timezoneuseoffset' => "La'én (peuteuntèe bidajih)",
+'timezoneoffset' => 'Bida:',
+'timezoneregion-america' => 'Amirika',
+'timezoneregion-antarctica' => 'Antartika',
+'timezoneregion-atlantic' => 'Laôt Atlantik',
+'timezoneregion-europe' => 'Ierupa',
+'timezoneregion-indian' => 'Laôt India',
+'timezoneregion-pacific' => 'Laôt Pasifik',
+'allowemail' => "Peuudép surat-e nibak ureueng ngui la'én",
'prefs-searchoptions' => 'Mita',
'prefs-namespaces' => 'Ruweuëng nan',
+'defaultns' => 'Atawa neumita lam ruweueng nan nyoe:',
+'default' => 'meuneumat',
'prefs-files' => 'Beureukaih',
'youremail' => 'Surat-e:',
+'prefs-registration' => 'Watèe neudapeuta:',
'yourrealname' => 'Nan aseuli:',
'yourlanguage' => 'Bahsa:',
+'yournick' => 'Tanda jaroe barô:',
+'prefs-help-signature' => 'Komèntar bak ôn marit suwah neubôh "<nowiki>~~~~</nowiki>", nyang eunteuk meugantoe keu tanda jaroe droeneuh ngön watèe jinoe.',
+'badsiglength' => 'Tanda jaroe droeneuh panyang that.
+Panyangjih bèk leubèh nibak $1 {{PLURAL:$1|haraih|haraih}}.',
+'gender-unknown' => 'Hana geupeunyata',
+'gender-male' => 'Ureueng agam',
+'gender-female' => 'Ureueng inöng',
'email' => 'Surat-e',
'prefs-help-realname' => '* Nan aseuli hana meucéh neupasoë.
Meunyö neupasoë, euntreuk nan Droëneuh nyan geupeuleumah mangat jitupeuë soë nyang tuléh.',
'prefs-help-email' => 'Alamat surat-e hana meucéh na, tapi geupeureulèë keu seumeugöt ulang lageuem, meunyö droeneuh tuwö lageuëm.',
'prefs-help-email-others' => "Droeneuh jeuet cit neupiléh neupubiyeuë ureuëng la'én geupeu'et surat keu droeneuh röt surat-e röt seunambat bak laman ureueng ngui atawa on mariët.
Surat-e droeneuh h'an geupeugah keu ureuëng nyan.",
+'prefs-help-email-required' => 'Peureulèe alamat surat-e.',
+'prefs-signature' => 'Tanda jaroe',
+'prefs-dateformat' => 'Format uroe/watèe',
+'prefs-timeoffset' => 'Bida watèe',
+'prefs-advancedediting' => 'Peuniléh umom',
+'prefs-editor' => 'Ureueng andam',
+'prefs-preview' => 'Eu dilèe',
+'prefs-diffs' => 'Bida',
+'prefs-help-prefershttps' => 'Geunalak nyoe geupeudeuh watèe neutamöng lom.',
+
+# User preference: email validation using jQuery
+'email-address-validity-valid' => 'Alamat surat-e sah',
+'email-address-validity-invalid' => 'Pasoe alamat surat-e nyang sah',
+
+# User rights
+'userrights-user-editname' => 'Pasoe nan ureueng ngui:',
+'editusergroup' => 'Ubah kawan ureueng ngui',
+'editinguser' => "Gantoe khut ureueng ngui '''[[User:$1|$1]]''' $2",
+'userrights-editusergroup' => 'Ubah kawan ureueng ngui',
+'saveusergroups' => 'Ubah kawan ureueng ngui',
+'userrights-groupsmember' => 'Anggèeta nibak:',
+'userrights-reason' => 'Dalèh:',
+'userrights-no-interwiki' => "Droeneuh hana izin keu neuubah khut ureueng ngui bak wiki la'én.",
+'userrights-notallowed' => 'Droeneuh hana izin keu neutamah atawa neupeugadöh khut ureueng ngui.',
+'userrights-changeable-col' => 'Kawan nyang jeut neugantoe',
+'userrights-unchangeable-col' => 'Kawan nyang han jeut neugantoe',
# Groups
+'group' => 'Kawan:',
+'group-user' => 'Ureueng-ureueng ngui',
+'group-autoconfirmed' => 'Ureueng ngui nyang meu-konfirmasi otomatis',
'group-sysop' => 'Ureuëng urôh',
-
+'group-bureaucrat' => 'Birôkrat',
+'group-suppress' => 'Ureueng kalön',
+'group-all' => '(ban dum)',
+
+'group-user-member' => '{{GENDER:$1|ureueng ngui}}',
+'group-autoconfirmed-member' => '{{GENDER:$1|ureueng ngui meu-konfirmasi otomatis}}',
+'group-bot-member' => '{{GENDER:$1|bot}}',
+'group-sysop-member' => '{{GENDER:$1|ureueng urôh}}',
+'group-bureaucrat-member' => '{{GENDER:$1|birôkrat}}',
+'group-suppress-member' => '{{GENDER:$1|ureueng kalön}}',
+
+'grouppage-user' => '{{ns:project}}:Ureueng ngui',
+'grouppage-autoconfirmed' => '{{ns:project}}:Ureueng ngui meu-konfirmasi otomatis',
+'grouppage-bot' => '{{ns:project}}:Bots',
'grouppage-sysop' => '{{ns:project}}:Ureuëng urôh',
+'grouppage-bureaucrat' => '{{ns:project}}:Birôkrat',
+'grouppage-suppress' => '{{ns:project}}:Ureueng kalön',
+
+# Rights
+'right-read' => 'Beuet laman',
+'right-edit' => 'Andam laman',
+'right-createpage' => 'Peugöt laman barô (nyang kön laman marit)',
+'right-createtalk' => 'Peugöt ôn marit',
+'right-createaccount' => 'Peugöt nan ureueng ngui barô',
+'right-minoredit' => 'Bôh tanda seubagoe andam ubeut',
+'right-move' => 'Pinah laman',
+'right-move-subpages' => 'Pinah laman ngön ban dum aneuk laman',
+'right-move-rootuserpages' => 'Pinah laman ureueng ngui',
+'right-movefile' => 'Pinah beureukaih',
+'right-upload' => 'Peutamöng beureukaih',
+'right-upload_by_url' => 'Peutamöng beureukaih nibak URL',
+'right-delete' => 'Sampôh laman',
+'right-bigdelete' => 'Sampôh laman ngön ban dum riwayatjih',
+'right-browsearchive' => 'Mita laman nyang geusampôh',
# Special:Log/newusers
'newuserlogpage' => 'Ureuëng ngui barô',
'minoreditletter' => 'b',
'newpageletter' => 'B',
'boteditletter' => 'b',
+'number_of_watching_users_pageview' => '[$1 {{PLURAL:$1|ureueng kalön|ureueng kalön}}]',
+'rc_categories_any' => 'Pue-pue mantöng',
+'rc-change-size-new' => '$1 {{PLURAL:$1|bita|bita}} lheuh meuandam',
+'newsectionsummary' => '/* $1 */ bideung barô',
'rc-enhanced-expand' => 'Peuleumah rincian',
'rc-enhanced-hide' => 'Peusom rincian',
+'rc-old-title' => 'sigohlom nyan geupeugöt "$1"',
# Recent changes linked
'recentchangeslinked' => "Neuubah meukaw'èt",
# Upload
'upload' => 'Peutamöng beureukaih',
'uploadbtn' => 'Peutamong beureukaih',
+'reuploaddesc' => 'Riwang u laman peutamöng',
+'uploadnologin' => 'Hana lom meutamöng',
+'uploadnologintext' => 'Droeneuh suwah $1 keu neupeutamöng beureukaih.',
+'uploadlog' => 'ceunatat peutamöng',
'uploadlogpage' => 'Log peutamöng',
+'uploadlogpagetext' => 'Nyoe nakeuh dapeuta peutamöng barô.
+Eu [[Special:NewFiles|galeri beureukaih barô]] keu seuneudeuh barô.',
+'filename' => 'Nan beureukaih',
'filedesc' => 'Ehtisa',
+'fileuploadsummary' => 'Éhtisa:',
+'filesource' => 'Nè',
+'uploadedfiles' => 'Beureukaih nyang meupeutamöng',
+'minlength1' => 'Nan beureukaih beuna saboh haraih.',
+'illegalfilename' => 'Nan beureukaih "$1" meuasoe seunurat nyang han jeut na bak nan. Tulông gantoe nan nyan sigohlom neupeutamöng lom.',
+'filename-toolong' => 'Nan beureukaih han jeut leubèh nibak 240 bita.',
+'badfilename' => 'Nan beureukaih ka meugantoe keu "$1".',
+'empty-file' => 'Beureukaih nyang neupeutamöng soh.',
+'file-too-large' => 'Beureukaih nyang neupeutamöng rayek that.',
+'filename-tooshort' => 'Nan beureukaih paneuk that.',
+'filetype-banned' => 'Jeunèh beureukaih nyoe geutheun.',
+'illegal-filename' => 'Nan beureukaih han jeut lagèe nyoe.',
+'savefile' => 'Kubah beureukaih',
'uploadedimage' => 'peutamöng "[[$1]]"',
+'overwroteimage' => 'peutamöng vèrsi barô "[[$1]]"',
+'upload-source' => 'Asai beureukaih',
+'sourcefilename' => 'Asai nan beureukaih:',
+'sourceurl' => 'Asai URL:',
+'upload-maxfilesize' => 'Paléng rayek beureukaih: $1',
+'upload-description' => 'Teuneurang beureukaih',
+'watchthisupload' => 'Kalön beureukaih nyoe',
+'upload-success-subj' => 'Ka meupeutamöng',
+
+# img_auth script messages
+'img-auth-nofile' => 'Hana beureukaih "$1".',
'license' => 'Jeunèh lisensi:',
'license-header' => 'Jeunèh lisensi',
# Special:ListFiles
+'imgfile' => 'beureukaih',
'listfiles' => 'Dapeuta beureukah',
+'listfiles_thumb' => 'Beuntuk ubeut',
+'listfiles_date' => 'Uroe',
+'listfiles_name' => 'Nan',
+'listfiles_user' => 'Ureueng ngui',
+'listfiles_size' => 'Rayek',
+'listfiles_description' => 'Teuneurang',
+'listfiles_count' => 'Vèrsi',
+'listfiles-show-all' => 'Peurôh vèrsi awai gamba',
+'listfiles-latestversion' => 'Vèrsi jinoe',
+'listfiles-latestversion-yes' => 'Nyoe',
+'listfiles-latestversion-no' => 'Kön',
# File description page
'file-anchor-link' => 'Beureukaih',
'filehist' => 'Riwayat beureukaih',
'filehist-help' => "Neuteugon bak uroë buleuën/watèë keu neu'eu beureukaih nyoë ‘oh watèë nyan.",
+'filehist-deleteall' => 'sampôh ban dum',
+'filehist-deleteone' => 'sampôh',
'filehist-revert' => 'peuriwang',
'filehist-current' => 'jinoë hat',
'filehist-datetime' => 'Uroë buleuën/Watèë',
'filehist-thumb' => 'Beuntuk ubeut',
'filehist-thumbtext' => 'Beuntuk ubeut keu seunalén tiëp $1',
+'filehist-nothumb' => 'Hana beuntuk ubeut',
'filehist-user' => 'Ureuëng ngui',
'filehist-dimensions' => 'Dimènsi',
'filehist-filesize' => 'Rayek beureukah',
'filehist-comment' => "Seuneu'ôt",
+'filehist-missing' => 'Beureukaih hana meutumèe',
'imagelinks' => 'Seuneungui beureukaih',
'linkstoimage' => '{{PLURAL:$1|laman}} di yup nyoë mupawôt u beureukaih nyoë:',
'nolinkstoimage' => 'Hana laman nyang na meupawôt u beureukaih nyoë.',
'allpagesfrom' => 'Peuleumah laman peuphôn nibak:',
'allpagesto' => 'Peuleumah laman geupeuakhé bak:',
'allarticles' => 'Dapeuta teunuléh',
+'allpagesprev' => 'U likôt',
+'allpagesnext' => 'U keue',
'allpagessubmit' => 'Mita',
'allpagesprefix' => 'Peuleumah laman ngön harah phôn:',
+'allpages-hide-redirects' => 'Peusom peuninah',
# Special:Categories
'categories' => 'Dapeuta kawan',
+'special-categories-sort-count' => 'atôe meunurôt jumeulah',
+'special-categories-sort-abc' => 'atôe meunurôt seunurat',
+
+# Special:DeletedContributions
+'deletedcontributions' => 'Beuneuri nyang geusampôh',
+'deletedcontributions-title' => 'Beuneuri nyang geusampôh',
+'sp-deletedcontributions-contribs' => 'beuneuri',
# Special:LinkSearch
'linksearch' => 'Mita seuneumat luwa',
+'linksearch-pat' => 'Pola mita:',
+'linksearch-ns' => 'Ruweueng nan:',
'linksearch-ok' => 'Mita',
'linksearch-line' => '$1 meupawôt nibak $2',
+# Special:ListUsers
+'listusersfrom' => 'Peuleumah ureueng ngui nyang neuawai ngön:',
+'listusers-submit' => 'Peuleumah',
+'listusers-noresult' => 'Hana ureueng ngui nyang meutumèe.',
+'listusers-blocked' => '(geutheun)',
+
+# Special:ActiveUsers
+'activeusers' => 'Dapeuta ureueng ngui udép',
+'activeusers-intro' => 'Nyoe nakeuh dapeuta ureueng ngui nyang na geuandam $1 {{PLURAL:$1|uroe|uroe}} u likôt.',
+'activeusers-count' => '$1 {{PLURAL:$1|buet|buet}} lam {{PLURAL:$3|uroe|$3 uroe}} u likôt',
+'activeusers-from' => 'Peuleumah ureueng ngui nyang neuawai ngön:',
+'activeusers-hidebots' => 'Peusom bot',
+'activeusers-hidesysops' => 'Peusom ureueng urôh',
+'activeusers-noresult' => 'Hana ureueng ngui nyang meutumèe.',
+
# Special:ListGroupRights
+'listgrouprights' => 'Dapeuta khut ureueng ngui',
+'listgrouprights-key' => 'Teuneurang:
+* <span class="listgrouprights-granted">Khut nyang geubri</span>
+* <span class="listgrouprights-revoked">Khut nyang hana geubri</span>',
+'listgrouprights-group' => 'Kawan',
+'listgrouprights-rights' => 'Khut',
+'listgrouprights-helppage' => 'Beunantu:Khut kawan',
'listgrouprights-members' => '(dapeuta anggèëta)',
+'listgrouprights-addgroup' => 'Tamah {{PLURAL:$2|kawan|kawan}}: $1',
+'listgrouprights-removegroup' => 'Sampôh {{PLURAL:$2|kawan|kawan}}: $1',
+'listgrouprights-addgroup-all' => 'Tamah ban dum kawan',
+'listgrouprights-removegroup-all' => 'Sampôh ban dum kawan',
# Email user
'emailuser' => 'Surat-e ureuëng ngui',
'emailuser-title-target' => "Peu'ét surat-e keu {{GENDER:$1|ureuëng ngui}} nyoë",
'emailuser-title-notarget' => "Peu'ét surat-e",
'emailpage' => "Peu'ét surat-e keu ureuëng ngui",
+'emailusername' => 'Ureueng ngui:',
+'emailusernamesubmit' => 'Kirém',
+'email-legend' => "Kirém surat-e keu ureueng ngui {{SITENAME}} la'én",
+'emailfrom' => 'Ureueng kirém:',
+'emailto' => 'Ureueng teurimöng:',
+'emailsubject' => 'Bhah:',
+'emailmessage' => 'Peusan:',
+'emailsend' => 'Kirém',
+'emailccme' => 'Kubah saboh seunalén surat-e lôn.',
+'emailccsubject' => 'Salén peusan droeneuh keu $1: $2',
+'emailsent' => 'Surat-e meukirém',
+'emailsenttext' => 'Surat-e droeneuh ka meukirém.',
# Watchlist
'watchlist' => 'Dapeuta keunalön',
'tooltip-rollback' => 'Peuriwang neu’andam-neu’andam bak laman nyoë u nyang tuléh keuneulheuëh lam sigo teugön',
'tooltip-undo' => 'Peuriwang geunantoë nyoë ngön peuhah plôk neu’andam ngön cara eu dilèë. Choë jeuët geupeutamah bak plôk ehtisa.',
'tooltip-summary' => 'Pasoë éhtisa paneuk',
+'interlanguage-link-title' => '$1 – $2',
# Info page
'pageinfo-toolboxlink' => 'Teuneurang laman',
U kan daar \'n wysigingsopsomming byvoeg.',
'tooltip-preferences-save' => 'Stoor voorkeure',
'tooltip-summary' => "Verskaf 'n kort opsomming",
+'interlanguage-link-title' => '$1 – $2',
# Stylesheets
'common.css' => '/** Gemeenskaplike CSS vir alle omslae */',
'gotaccount' => 'Već imate korisnički račun? $1.',
'gotaccountlink' => 'Prijavi se',
'userlogin-resetlink' => 'Zaboravili ste detalje vaše prijave?',
-'userlogin-resetpassword-link' => 'Resetirajte svoju šifru/lozinku',
+'userlogin-resetpassword-link' => 'Zaboravili ste šifru/lozinku?',
'helplogin-url' => 'Help:Prijavljivanje',
'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Pomoć pri prijavljivanju]]',
+'userlogin-loggedin' => 'Već ste prijavljeni kao {{GENDER:$1|$1}}.
+Koristite donji obrazac da biste se prijavili kao drugi korisnik.',
'userlogin-createanother' => 'Napravi još jedan račun',
'createacct-join' => 'Unesite svoje podatke ispod.',
'createacct-another-join' => 'Unesite informacije o novom računu ispod.',
'passwordsent' => 'Nova šifra je poslata na adresu e-pošte korisnika "$1".
Molimo Vas da se prijavite pošto je primite.',
'blocked-mailpassword' => 'Da bi se spriječila nedozvoljena akcija, Vašoj IP adresi je onemogućeno uređivanje stranica kao i mogućnost zahtijevanje nove šifre.',
-'eauthentsent' => 'Na navedenu adresu poslan je e-mail s potvrdom.
-Prije nego što pošaljemo daljnje poruke, molimo vas da otvorite e-mail i slijedite u njemu sadržana uputstva da potvrdite da ste vi kreirali korisnički račun.',
+'eauthentsent' => 'Na navedenu adresu poslana je e-poruka s potvrdom.
+Prije nego što pošaljemo daljnje poruke, pratite uputstva s e-pošte da biste potvrdili da je račun zaista Vaša.',
'throttled-mailpassword' => 'Već Vam je poslan e-mail za promjenu šifre u {{PLURAL:$1|zadnjih sat vremena|zadnja $1 sata|zadnjih $1 sati}}.
Da bi se spriječila zloupotreba, može se poslati samo jedan e-mail za promjenu šifre {{PLURAL:$1|svakih sat vremena|svaka $1 sata|svakih $1 sati}}.',
'mailerror' => 'Greška pri slanju e-pošte: $1',
'acct_creation_throttle_hit' => 'Posjetioci na ovoj wiki koji koriste Vašu IP adresu su već napravili {{PLURAL:$1|$1 račun|$1 računa}} u zadnjih nekoliko dana, što je najveći broj dopuštenih napravljenih računa za ovaj period.
Kao rezultat, posjetioci koji koriste ovu IP adresu ne mogu trenutno praviti više računa.',
-'emailauthenticated' => 'Vaša e-mail adresa je autentificirana na $2 u $3.',
-'emailnotauthenticated' => 'Vaša e-mail adresa još nije autentificirana.
-Nijedan e-mail neće biti poslan za bilo koju uslugu od slijedećih.',
+'emailauthenticated' => 'Vaša adresa e-pošte je potvrđena $2 u $3.',
+'emailnotauthenticated' => 'Vaša adresa e-pošte još nije potvrđena.
+Nijedna e-poruka neće biti poslana za bilo koju uslugu od slijedećih.',
'noemailprefs' => 'Unesite e-mail adresu za osposobljavanje slijedećih usluga.',
'emailconfirmlink' => 'Potvrdite Vašu e-mail adresu',
'invalidemailaddress' => 'Ova e-mail adresa ne može biti prihvaćena jer je u neodgovarajućem obliku.
'tags-tag' => 'Naziv oznake',
'tags-display-header' => 'Vidljivost na spisku izmjena',
'tags-description-header' => 'Puni opis značenja',
+'tags-active-header' => 'Aktivna?',
'tags-hitcount-header' => 'Označene izmjene',
'tags-active-yes' => 'Da',
'tags-active-no' => 'Ne',
'undeletethispage' => "Desfés l'eliminació d'aquesta pàgina",
'undelete_short' => "Restaura {{PLURAL:$1|l'edició eliminada|$1 edicions eliminades}}",
'viewdeleted_short' => 'Mostra {{PLURAL:$1|una edició eliminada|$1 edicions eliminades}}',
-'protect' => 'Protecció',
+'protect' => 'Protegeix',
'protect_change' => 'canvia',
-'protectthispage' => 'Protecció de la pàgina',
-'unprotect' => 'Desprotecció',
+'protectthispage' => 'Protegeix aquesta pàgina',
+'unprotect' => 'Desprotegeix',
'unprotectthispage' => 'Desprotegeix aquesta pàgina',
'newpage' => 'Pàgina nova',
'talkpage' => 'Discussió',
'databaseerror-textcl' => "S'ha produït un error en la consulta de la base de dades.",
'databaseerror-query' => 'Consulta: $1',
'databaseerror-function' => 'Funció: $1',
+'databaseerror-error' => 'Error:$1',
'laggedslavemode' => 'Avís: La pàgina podria mancar de modificacions recents.',
'readonly' => 'La base de dades es troba bloquejada',
'enterlockreason' => 'Escriviu una raó pel bloqueig, així com una estimació de quan tindrà lloc el desbloqueig',
'gotaccount' => 'Ja teniu un compte? $1.',
'gotaccountlink' => 'Inicia una sessió',
'userlogin-resetlink' => "Heu oblidat les vostres dades d'accés?",
-'userlogin-resetpassword-link' => 'Reinicia la contrasenya',
+'userlogin-resetpassword-link' => 'Has oblidat la teva contrasenya?',
'helplogin-url' => 'Help:Registrar-se',
'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Ajuda]]',
'userlogin-loggedin' => 'Heu iniciat una sessió com {{GENDER:$1|$1}}.
'pageinfo-length' => 'Mida de la pàgina (en bytes)',
'pageinfo-article-id' => 'ID de la pàgina',
'pageinfo-language' => 'Llengua del contingut de la pàgina',
+'pageinfo-content-model' => 'Plantilla de contingut de pàgina',
'pageinfo-robot-policy' => 'Indexació per robots',
'pageinfo-robot-index' => 'Permès',
'pageinfo-robot-noindex' => 'No permès',
'pageinfo-length' => 'Velikost stránky (v bajtech)',
'pageinfo-article-id' => 'ID stránky',
'pageinfo-language' => 'Jazyk obsahu stránky',
+'pageinfo-content-model' => 'Model obsahu stránky',
'pageinfo-robot-policy' => 'Indexování roboty',
'pageinfo-robot-index' => 'Dovoleno',
'pageinfo-robot-noindex' => 'Zakázáno',
# Contributions
'contributions' => "{{GENDER:$1|Cyfraniadau'r defnyddiwr}}",
-'contributions-title' => "Cyfraniadau'r defnyddiwr am $1",
+'contributions-title' => "Cyfraniadau'r defnyddiwr $1",
'mycontris' => 'Cyfraniadau',
'contribsub2' => 'Gan {{GENDER:$3|$1}} ($2)',
'nocontribs' => "Heb ddod o hyd i newidiadau gyda'r meini prawf hyn.",
Gellir ychwanegu rheswm dros y dadwneud yn y crynodeb.',
'tooltip-preferences-save' => 'Rhodder y dewisiadau ar gadw',
'tooltip-summary' => 'Rhowch grynodeb byr',
-'tooltip-iwiki' => '$1 - $2',
+'interlanguage-link-title' => '$1 - $2',
# Metadata
'notacceptable' => "Dydy gweinydd y wici ddim yn medru rhoi'r data mewn fformat darllenadwy i'ch cleient.",
'ipblocklist-no-results' => 'Den angivene IP-addresse eller brugernavn er ikke blokeret.',
'blocklink' => 'bloker',
'unblocklink' => 'ophæv blokering',
-'change-blocklink' => 'ændre blokering',
+'change-blocklink' => 'ændr blokering',
'contribslink' => 'bidrag',
'emaillink' => 'send e-mail',
'autoblocker' => 'Du er automatisk blokeret, fordi du deler IP-adresse med "[[User:$1|$1]]".
Andere Administratoren auf {{SITENAME}} haben Zugriff auf den versteckten Inhalt und können ihn mit der gleichen Seite wiederherstellen, sofern nicht zusätzliche Einschränkungen bestehen.",
'revdelete-confirm' => 'Bitte bestätige, dass du beabsichtigst, dies zu tun, die Konsequenzen verstehst und es in Übereinstimmung mit den [[{{MediaWiki:Policy-url}}|Richtlinien]] tust.',
'revdelete-suppress-text' => "Unterdrückungen sollten '''nur''' in den folgenden Fällen vorgenommen werden:
+* Potentiell beleidigende Informationen
* Unangebrachte persönliche Informationen
*: ''Adressen, Telefonnummern, Sozialversicherungsnummern etc.''",
'revdelete-legend' => 'Setzen der Sichtbarkeitseinschränkungen',
'tooltip-undo' => 'Macht lediglich diese eine Änderung rückgängig und zeigt das Resultat in der Vorschau an, damit in der Zusammenfassungszeile eine Begründung angegeben werden kann.',
'tooltip-preferences-save' => 'Einstellungen speichern',
'tooltip-summary' => 'Gib eine kurze Zusammenfassung ein.',
-'tooltip-iwiki' => '$1 – $2',
+'interlanguage-link-title' => '$1 – $2',
# Stylesheets
'common.css' => '/* Das folgende CSS wird für alle Benutzeroberflächen geladen. */',
# Separators for various lists, etc.
'ellipsis' => '…',
'percent' => '$1 %',
+'quotation-marks' => '„$1“',
# Multipage image navigation
'imgmultipageprev' => '← vorherige Seite',
'editfont-serif' => 'Babetê serifi',
# Dates
-'sunday' => 'Kırê',
-'monday' => 'Dışeme',
-'tuesday' => 'Sêşeme',
-'wednesday' => 'Çeharşeme',
-'thursday' => 'Pancşeme',
-'friday' => 'Ã\8ane',
-'saturday' => 'Şeme',
-'sun' => 'Krê',
-'mon' => 'Dış',
-'tue' => 'Sêş',
+'sunday' => 'Bazar',
+'monday' => 'Berarek',
+'tuesday' => 'Telete',
+'wednesday' => 'Çarşeme',
+'thursday' => 'Panşeme',
+'friday' => 'Ã\89ne',
+'saturday' => 'Bahdé éni',
+'sun' => 'Baz',
+'mon' => 'Bbz',
+'tue' => 'Tlt',
'wed' => 'Çrş',
'thu' => 'Pşm',
'fri' => 'Êne',
-'sat' => 'Şem',
+'sat' => 'Bdé',
'january' => 'Çele',
-'february' => 'Sıbate',
-'march' => 'Adar',
-'april' => 'Nisane',
-'may_long' => 'Gulane',
+'february' => 'Zemherı',
+'march' => 'Mert',
+'april' => 'Lisan',
+'may_long' => 'Gúlan',
'june' => 'Heziran',
-'july' => 'Temuze',
-'august' => 'Tebaxe',
+'july' => 'Temuz',
+'august' => 'Ağustos',
'september' => 'Keşkelun',
-'october' => 'Tışrino Verên',
-'november' => 'Tışrino Peyên',
-'december' => 'Kanun',
+'october' => 'Cetan',
+'november' => 'Kelverdan',
+'december' => 'Gağand',
'january-gen' => 'Çele',
-'february-gen' => 'Sıbate',
-'march-gen' => 'Adar',
-'april-gen' => 'Nisane',
-'may-gen' => 'Gulane',
+'february-gen' => 'Zemherı',
+'march-gen' => 'Mert',
+'april-gen' => 'Lisan',
+'may-gen' => 'Gúlan',
'june-gen' => 'Heziran',
-'july-gen' => 'Temuze',
-'august-gen' => 'Tebaxe',
+'july-gen' => 'Temuz',
+'august-gen' => 'Ağustos',
'september-gen' => 'Keşkelun',
-'october-gen' => 'Tışrino Verên',
-'november-gen' => 'Tışrino Peyên',
-'december-gen' => 'Kanun',
+'october-gen' => 'Cetan',
+'november-gen' => 'Kelverdan',
+'december-gen' => 'Gağand',
'jan' => 'Çel',
'feb' => 'Sbt',
'mar' => 'Adr',
'apr' => 'Nsn',
'may' => 'Gln',
-'jun' => 'Hzr',
+'jun' => 'Hez',
'jul' => 'Tmz',
'aug' => 'Tbx',
'sep' => 'Kşk',
'december-date' => 'Kanun $1',
# Categories related messages
-'pagecategories' => '{{PLURAL:$1|Kategoriye|Kategoriy}}',
-'category_header' => 'Pelê ke kategoriya "$1" derê',
+'pagecategories' => '{{PLURAL:$1|Kategori|Kategoriy}}',
+'category_header' => 'Perré ke kategori da "$1" de yé',
'subcategories' => 'Kategoriyê bınêni',
'category-media-header' => 'Dosyeyê ke kategoriya "$1" derê',
'category-empty' => "''Ena kategoriye de hewna qet nuştey ya zi medya çıniyê.''",
'category-file-count' => '<noinclude>{{PLURAL:$2|Na kategoriye tenya dosyayanê cêrênan muhtewa kena.}}</noinclude>
*Na kategoriye de $2 dosyayan ra {{PLURAL:$1|yew dosya tenêka esta| $1 dosyey asenê}}.',
'category-file-count-limited' => '{{PLURAL:$1|Dosya cêrêne|$1 Dosyê cêrêni}} na kategoriye derê.',
-'listingcontinuesabbrev' => '(dewam)',
+'listingcontinuesabbrev' => 'dewam...',
'index-category' => 'Pelê endeksıni',
'noindex-category' => 'Pelê ke zerrekê cı çıniyo',
'broken-file-category' => 'Peleye ke gıreyê dosyeyanê ğeletan muhtewa kenê',
'categoryviewer-pagedlinks' => '($1) ($2)',
-'about' => 'Heqa cı de',
+'about' => 'Heqdé cı',
'article' => 'Wesiqe',
'newwindow' => '(pençereyê newey de beno a)',
-'cancel' => 'Bıtexelne',
+'cancel' => 'Bıterkne',
'moredotdotdot' => 'Vêşi...',
'morenotlisted' => 'Vêşi lista nêbi...',
-'mypage' => 'Pele',
-'mytalk' => 'Werênayış',
+'mypage' => 'Per',
+'mytalk' => 'Vaten',
'anontalk' => 'Pela werênayışê nê IPy',
-'navigation' => 'Geyrayış',
+'navigation' => 'Pusula',
'and' => ' u',
# Cologne Blue skin
'qbfind' => 'Bıvêne',
'qbbrowse' => 'Rovete',
-'qbedit' => 'Bıvurne',
+'qbedit' => 'Timar ke',
'qbpageoptions' => 'Ena pele',
-'qbmyoptions' => 'Pelê mı',
+'qbmyoptions' => 'Peré mı',
'qbspecialpages' => 'Pelê xısusiy',
'faq' => 'PZP (Persê ke zehf persiyenê)',
'faqpage' => 'Project: PZP',
# Vector skin
'vector-action-addsection' => 'Mewzu vıraze',
'vector-action-delete' => 'Bestere',
-'vector-action-move' => 'Berê',
-'vector-action-protect' => 'Bıpawe',
+'vector-action-move' => 'Beré',
+'vector-action-protect' => 'Star ke',
'vector-action-undelete' => 'Esterıtışi peyser bıgê',
'vector-action-unprotect' => 'Starkerdışi bıvurne',
'vector-simplesearch-preference' => 'Çuweya cı geyreyış de rehater aktiv ke (Tenya vector skin de)',
-'vector-view-create' => 'Vıraze',
-'vector-view-edit' => 'Bıvurne',
+'vector-view-create' => 'İycad ke',
+'vector-view-edit' => 'Timar ke',
'vector-view-history' => 'Vurnayışê verêni',
'vector-view-view' => 'Bıwane',
'vector-view-viewsource' => 'Çımey bıvêne',
-'actions' => 'Kerdışi',
+'actions' => 'Hereketi',
'namespaces' => 'Cayê namey',
'variants' => 'Varyanti',
'navigation-heading' => 'Menuya Navigasyoni',
-'errorpagetitle' => 'Xırab',
+'errorpagetitle' => 'Ğeta',
'returnto' => 'Peyser şo $1.',
'tagline' => '{{SITENAME}} ra',
-'help' => 'Peşti',
+'help' => 'Desteg',
'search' => 'Cı geyre',
'searchbutton' => 'Cı geyre',
'go' => 'Şo',
'print' => 'Nusten ke',
'view' => 'Bıvin',
'edit' => 'Bıvurnên',
-'create' => 'Vıraze',
+'create' => 'İycad ke',
'editthispage' => 'Ena pele bıvurne',
'create-this-page' => 'Na pele bınuse',
'delete' => 'Bestere',
'undeletethispage' => 'Na perer mebesterne',
'undelete_short' => '{{PLURAL:$1|Yew vurnayışi|$1 Vurnayışan}} mestere',
'viewdeleted_short' => '{{PLURAL:$1|Yew vurnayışo esterıte|$1 Vurnayışanê esterıtan}} bımocne',
-'protect' => 'Bıpawe',
+'protect' => 'Star ke',
'protect_change' => 'bıvurne',
'protectthispage' => 'Ena pele bıpawe',
'unprotect' => 'Starkerdışi bıvurne',
'unprotectthispage' => 'Starkerdışe ena peler bıvurne',
'newpage' => 'Pera newiye',
'talkpage' => 'Ena pele sero werêne',
-'talkpagelinktext' => 'Mesac',
+'talkpagelinktext' => 'Vaten',
'specialpage' => 'Pela xısusiye',
'personaltools' => 'Hacetê şexsiy',
'postcomment' => 'Qısımo newe',
'viewcount' => 'Ena pele {{PLURAL:$1|rae|$1 rey}} vêniya.',
'protectedpage' => 'Pela pawıtiye',
'jumpto' => 'Şo:',
-'jumptonavigation' => 'karfiyê',
+'jumptonavigation' => 'Pusula',
'jumptosearch' => 'cı geyre',
'view-pool-error' => 'Qaytê qısuri mekerên, serverê ma enıka zêde bar gırewto xo ser.
Hedê xo ra zêde karberi kenê ke seyrê na pele bıkerê.
'pool-errorunknown' => 'Xeta nêzanıtiye',
# All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
-'aboutsite' => 'Heqa {{SITENAME}}i de',
+'aboutsite' => 'Heqdé {{SITENAME}}',
'aboutpage' => 'Project:Heqdê cı',
'copyright' => 'Zerrekacı $1 bındı not biya.',
'copyrightpage' => '{{ns:project}}:Heqa telifi',
'disclaimers' => 'Redê mesuliyeti',
'disclaimerpage' => 'Project:Reddê mesuliyetê bıngey',
'edithelp' => 'Peştdariya vurnayışi',
-'helppage' => 'Help:Estêni',
+'helppage' => 'Help:Zerrek',
'mainpage' => 'Pera Seri',
-'mainpage-description' => 'Pela Seri',
+'mainpage-description' => 'Pera Seri',
'policy-url' => 'Project:Terzê hereketi',
'portal' => 'Portalê cemaeti',
'portal-url' => 'Project:Portalê cemaeti',
'sort-ascending' => 'Ratnayışê Zeydnayışi',
# Short words for each namespace, by default used in the namespace tab in monobook
-'nstab-main' => 'Pele',
+'nstab-main' => 'Wesiqe',
'nstab-user' => 'Pera Karberi',
-'nstab-media' => 'Pela Medya',
-'nstab-special' => 'Pela xısusiye',
+'nstab-media' => 'Pera Medya',
+'nstab-special' => 'Pera bağsi',
'nstab-project' => 'Pera proci',
'nstab-image' => 'Dosya',
'nstab-mediawiki' => 'Mesac',
-'nstab-template' => 'Şablon',
+'nstab-template' => 'Tewre',
'nstab-help' => 'Pela peşti',
-'nstab-category' => 'Kategoriye',
+'nstab-category' => 'Kategori',
# Main script and global functions
'nosuchaction' => 'Fealiyeto wınasi çıniyo',
Seba lista pelanê xasanê vêrdeyan reca kena: [[Special:SpecialPages|{{int:specialpages}}]].',
# General errors
-'error' => 'Xırab',
-'databaseerror' => 'Xeta serveri',
+'error' => 'Ğeta',
+'databaseerror' => 'Ğetay ardoği',
'databaseerror-query' => 'Perskerdış:$1',
'databaseerror-function' => 'Fonksiyon: $1',
'databaseerror-error' => 'Xırab: $1',
'logouttext' => "'''Şıma hesabra newke vicyay.'''
Wexta ke verhafızayê cıgerayoxê şıma pak beno no benate de taye peli de hesabe şıma akerde aseno.",
-'welcomeuser' => 'Xeyr ameyê $1',
+'welcomeuser' => 'Ğeyr amey, $1!',
'welcomecreation-msg' => 'Hesabê şıma abiyo.
[[Special:Preferences|{{SITENAME}} vurnayişê tercihanê xo]], xo vir ra mekere.',
'yourname' => 'Nameyê karberi:',
'userlogin-yourname' => 'Nameyê karberi',
-'userlogin-yourname-ph' => 'Nameyê xoye karberi cıkewe',
+'userlogin-yourname-ph' => 'Namey ğoyé karberi cı kewe',
'createacct-another-username-ph' => 'Namey karberi de fi',
'yourpassword' => 'Parola',
'userlogin-yourpassword' => 'Parola',
'gotaccount' => "Hesabê şıma esto? '''$1'''.",
'gotaccountlink' => 'Cı kewe',
'userlogin-resetlink' => 'Melumatê cıkewtışi xo vira kerdê?',
-'userlogin-resetpassword-link' => 'Parolaya xo reset ke',
+'userlogin-resetpassword-link' => 'To parola ke ğo vira?',
'helplogin-url' => 'Help:Qeydbiyayış',
'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Desteg be qeydbiyayış ra]]',
'userlogin-createanother' => 'Zewbi hesab vıraz',
'mailerror' => 'Erşawıtışe xetayê e-posta: $1',
'acct_creation_throttle_hit' => 'Yew ten IP adresê şıma xebıtnayo u kewto no wiki, roco peyin de {{PLURAL:$1|1 hesab|$1 hesab}} vıraşto.
xulasa ney kesê ke IP adresê şıma xebıtneni hini nêeşkeni ney ra zêdêr hesab akeri.',
-'emailauthenticated' => "Adresê E-posta da şıma '''$2''' seate $3 dı kerdo araşt.",
-'emailnotauthenticated' => 'No format de nuştışê e-postayi qebul nêbeno.
-Yew formato meqbul de adresê e-posta bınuse ya zi veng bıverde.',
+'emailauthenticated' => 'E-postay şıma $2 sehat $3 dı biya araşt',
+'emailnotauthenticated' => 'Adresa e-pota da şıma qebul nébiya.
+Qandé céréna şımaré teba do nérışiyo.',
'noemailprefs' => 'Hesab biyo a.',
'emailconfirmlink' => 'E-postayê xo araşt kerê',
'invalidemailaddress' => 'No format de nuştışê e-postayi qebul nêbeno. Yew formato meqbul de adresê e-posta bınuse ya zi veng bıverde.',
'cannotchangeemail' => 'E-postay hesabi ena wiki sera nêvurneyêno.',
'emaildisabled' => 'Na site ra e-posta nêrışêno.',
-'accountcreated' => 'Hesab vıraciya',
+'accountcreated' => 'Hesab iycat bı',
'accountcreatedtext' => 'Qandê [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|talk]]) hesabê karberi vıraziyayo.',
-'createaccount-title' => 'Qey {{SITENAME}} newe yew heab vıraştış',
+'createaccount-title' => 'Qandé {{SITENAME}} hesabé karberi iycat kerdış',
'createaccount-text' => 'Kesê, be e-posteyê şıma ra {{SITENAME}} ($4) de, ebe nameyê "$2" u parola "$3" ra yew hesab vıraşto.
Şıma gani cı kewê u parola xo nıka bıvurnê.',
'usernamehasherror' => 'Namey karberi de karakteri gani têmiyan ra mebê',
'resetpass_forbidden' => 'parolayi nêvuryayi',
'resetpass-no-info' => 'şıma gani hesab akere u hona bıeşke bırese cı',
'resetpass-submit-loggedin' => 'Parola bıvurne',
-'resetpass-submit-cancel' => 'Bıtexelne',
+'resetpass-submit-cancel' => 'Bıterkne',
'resetpass-wrong-oldpass' => 'parolayo parola maqbul niyo.
şıma ya parolaye xo vurnayo ya zi parolayo muwaqqat waşto.',
'resetpass-temp-password' => 'parolayo muweqet:',
'changeemail-none' => '(Çıno)',
'changeemail-password' => 'Parolaya şımaya {{SITENAME}}i:',
'changeemail-submit' => 'E-postay xo bıvurne',
-'changeemail-cancel' => 'Bıtexelne',
+'changeemail-cancel' => 'Bıterkne',
# Special:ResetTokens
'resettokens' => 'Reset fi ye',
# Edit pages
'summary' => "<font style=\"color:Blue\">'''Xulasa:'''</font>",
'subject' => 'Mewzu/sernuşte:',
-'minoredit' => "<font style=\"color:Green\">'''Eno vurnayışo de qıckeko'''</font>",
-'watchthis' => "<font style=\"color:Green\">'''Ena pele seyr ke'''</font>",
+'minoredit' => "'''Eno vurnayışo de qıckeko'''",
+'watchthis' => "'''Ena pele seyr ke'''",
'savearticle' => 'Pele qeyd ke',
'preview' => 'Verqayt',
'showpreview' => 'Verqayti bımocne',
'''hewna qayd nebı!'''",
'userinvalidcssjstitle' => "'''Teme:''' Mewzuyê \"\$1\" çıniyo.
Dosyanê be namey .css u .js'i de herfa werdiye bıgurêne, mesela herında {{ns:user}}:Foo/Vector.css'i de {{ns:user}}:Foo/vector.css bınuse.",
-'updated' => '(Newenyaya)',
+'updated' => '(Rozeneya)',
'note' => "'''Not:'''",
'previewnote' => "'''Xo vira mekerê ke ena yew verqayta.'''
Vurnayışê şıma hona qeyd nêbiyo!",
'recreate-moveddeleted-warn' => "'''Hişyari: no pel o ke şıma vırazeni vere cû vırazyayo.'''
Diqet bıkeri no vurnayişê şıma re gerek esto:",
-'moveddeleted-notice' => 'Ma ena pele wederna.
-Qe referansi logê wedernayışi bın de mocnayiya.',
+'moveddeleted-notice' => 'Na per besternyaya.
+Qeydé besternayışi uq hewadayışi cér dé deyayo.',
'log-fulllog' => 'Temamê rocaneyi bıvine',
'edit-hook-aborted' => 'Vurnayiş vınderiya.
Yew sebeb beyan nibı.',
'nextrevision' => 'Rewizyono newên →',
'currentrevisionlink' => 'Tewr halê rocaniye bımocne',
'cur' => 'ferq',
-'next' => 'badên',
+'next' => 'bahdoyên',
'last' => 'peyên',
'page_first' => 'verên',
'page_last' => 'peyên',
'histfirst' => 'Verênêr',
'histlast' => 'Peyênêr',
'historysize' => '({{PLURAL:$1|1 bayt|$1 bayti}})',
-'historyempty' => '(thal)',
+'historyempty' => '(veng)',
# Revision feed
'history-feed-title' => 'Tarixê çımraviyarnayışi',
'revdelete-nologid-text' => 'Şıma vıraştışê nê fonksiyoni rê ya yew cıkewtışo waşte diyar nêkerdo, ya ki çıkewtışo diyarkerde çıniyo.',
'revdelete-no-file' => 'Dosya diyarkerdiye çıniya.',
'revdelete-show-file-confirm' => 'Şıma eminê ke wazenê çımraviyarnayışê esterıtey na dosya "<nowiki>$1</nowiki>" $2 ra $3 de bıvênê?',
-'revdelete-show-file-submit' => 'Eya',
+'revdelete-show-file-submit' => 'E',
'revdelete-selected' => "'''[[:$1]]: ra {{PLURAL:$2|çımraviyarnayışo weçinıte|çımraviyarnayışê weçinıtey}}'''",
'logdelete-selected' => "'''{{PLURAL:$1|Qeydbiyayışo weçinıte|Qeydbiyayışê weçinıtey}}:'''",
'revdelete-text' => "'''Çımraviyarnayışê esterıtey u kerdışi hewna tarixê pele u qeydan de asenê, hema parçeyê zerrekê dinan areze nêbenê.'''
* Melumatê şexio bêmınasıb
*: ''adresa keyey u numreyê têlefoni, numreyê siğorta sosyale, uêb.''",
'revdelete-legend' => 'Şertanê vênayışi rone',
-'revdelete-hide-text' => 'Nuştey çımraviyarnayışi bınımne',
+'revdelete-hide-text' => 'Nuştey revizyoni',
'revdelete-hide-image' => 'zerreyê dosyay bınımnê',
'revdelete-hide-name' => "hedef u vaqa' bınımne",
-'revdelete-hide-comment' => 'kılmvatış memocne',
-'revdelete-hide-user' => 'Karber u IP ê ke vurnayiş kerdo bınım.',
+'revdelete-hide-comment' => 'Menıni timar ke',
+'revdelete-hide-user' => 'IP asresa/namey vırnoği',
'revdelete-hide-restricted' => 'Malumatan pa serkaran u karberan ra bınım.',
'revdelete-radio-same' => '(mevurne)',
-'revdelete-radio-set' => 'Eya',
-'revdelete-radio-unset' => 'Nê',
+'revdelete-radio-set' => 'Aseno',
+'revdelete-radio-unset' => 'Nımneya',
'revdelete-suppress' => 'Hem ê binan ra hem zi serkaran ra malumatan bınım',
'revdelete-unsuppress' => 'reizyonê ke tepiya anciye serbest ker',
'revdelete-log' => 'Sebeb:',
'mergehistory-header' => 'No pel, reviyonê yew peli eşkeno yewna pelo newe de piyawano.
no vurnayişo ke şıma keni kontrol bıkere yew pelo kehen nêbo.',
'mergehistory-box' => 'revizyonê pelanî yew bike:',
-'mergehistory-from' => 'Pela çimeyî',
+'mergehistory-from' => 'Para Çımi:',
'mergehistory-into' => 'Pela destinasyonî',
'mergehistory-list' => 'tarixê vurnayîşî ke eşkeno yew bi.',
'mergehistory-merge' => '[[:$1]] qey ney revizyonê cêrini [[:$2]] şıma ekeni piyawani. Benatê wexto muwaqqet de piyayanayişê rezizyonan de tuşa radyo bıxebitne.',
'mergehistory-revisionrow' => '$1 ($2) $3 . . $4 $5 $6',
# Merge log
-'mergelog' => 'Logê yew kerdişî',
+'mergelog' => 'Qeydé zew kerdışi',
'pagemerge-logentry' => '[[$1]] u [[$2]] yew kerd (revizyonî heta $3)',
'revertmerge' => 'Abırnê',
'mergelogpagetext' => 'Cêr de yew liste esta ke mocnena ra, raya tewr peyêne kamci pela tarixi be a bine ra şanawa pê.',
'lineno' => 'Xeta $1i:',
'compareselectedversions' => 'Rewizyonanê weçineyan pêver ke',
'showhideselectedversions' => 'Revizyonanê weçinıtan bımocne/bınımne',
-'editundo' => 'peyser bia',
+'editundo' => 'peyser bıgi',
'diff-empty' => '(Babetna niyo)',
'diff-multi' => '({{PLURAL:$1|Yew revizyono miyanên|$1 revizyonê miyanêni}} terefê {{PLURAL:$2|yew karberi|$2 karberan}} nêmocno)',
'diff-multi-manyusers' => '({{PLURAL:$1|jew timar kerdışo qıckeko|$1 timar kerdışo qıckeko}} timar kerdo, $2 {{PLURAL:$2|Karber|karberi}} memocne)',
'searchmenu-exists' => "''Ena 'Wikipediya de ser \"[[:\$1]]\" yew pel esto'''",
'searchmenu-new' => "''Na Wiki de pelay \"[[:\$1]]\" vıraze!'''",
'searchmenu-prefix' => '[[Special:PrefixIndex/$1|pê eno prefix ser pelan de bigêre]]',
-'searchprofile-articles' => 'Pelê tedeestey',
-'searchprofile-project' => 'Pelê yardım u procey',
+'searchprofile-articles' => 'Perré muhteway',
+'searchprofile-project' => 'Pera Destegi uw Procan',
'searchprofile-images' => 'Multimedya',
-'searchprofile-everything' => 'Her çi',
-'searchprofile-advanced' => 'Raverşiyaye',
+'searchprofile-everything' => 'Heme çi',
+'searchprofile-advanced' => 'Ravérden',
'searchprofile-articles-tooltip' => '$1 de bigêre',
'searchprofile-project-tooltip' => '$1 de bigêre',
'searchprofile-images-tooltip' => 'Dosya cı geyr',
'search-suggest' => 'To va: $1',
'search-interwiki-caption' => 'Projey Bıray',
'search-interwiki-default' => '$1 neticeyan:',
-'search-interwiki-more' => '(hona)',
-'search-relatedarticle' => 'Eqreba',
+'search-interwiki-more' => '(véşi)',
+'search-relatedarticle' => 'Eleqeyın',
'mwsuggest-disable' => 'Tewsiyay AJAXi bıgê',
'searcheverything-enable' => 'cayê nameyê hemi de bigêre',
'searchrelated' => 'eleqeyın',
'recentchangesdays-max' => 'Tewr zaf $1 {{PLURAL:$1|roc|roci}}',
'recentchangescount' => 'Amarê vurnayışê ke hesıbyaye deye bımocneyê:',
'prefs-help-recentchangescount' => 'Ney de vurnayışê peyêni, tarixê pelan u cıkewteni asenê.',
-'savedprefs' => 'Tecihê şıma qeyd biy.',
+'savedprefs' => 'Tecihey şıma qeyd biyey.',
'timezonelegend' => 'Warey saete:',
'localtime' => 'saeta mehelliye:',
'timezoneuseserverdefault' => 'Zey karkerdışê Wiki ($1)',
'yourvariant' => 'Varyante miyandê zuwani:',
'prefs-help-variant' => 'Zerrey ena viki mocnayışi rê varyant yana ortografi re şıre tercihan dê xo.',
'yournick' => 'imza:',
-'prefs-help-signature' => 'mesajê ke pelê werenayişi de gani pê ney "<nowiki>~~~~</nowiki>" imza bıbi.',
+'prefs-help-signature' => 'Peran de vatenana de vatışi"<nowiki>~~~~</nowiki>" ya do imza bé, no bahdo beno çerğé imza u wahdey zemani',
'badsig' => 'Îmzayê tu raşt niyo.
Etiketê HTMLî kontrol bike.',
'badsiglength' => 'İmzayê şıma zaf dergo.
$1 gani bınê no {{PLURAL:$1|karakter|karakter}} de bıbo.',
'yourgender' => 'Çıçiy cı esto?',
'gender-unknown' => 'Ez detay nivana',
-'gender-male' => 'Ey pera viki vurni',
-'gender-female' => 'Ay pera wiki vurni',
-'prefs-help-gender' => 'Eyar kerdış keyfiyo.
- sofware qey adersê cinsiyet şuxulneno, no malumat umumiyo.Şaryayış malumat wazem.',
+'gender-male' => 'Perané wiki camérd deyne ezo vırnena',
+'gender-female' => 'Perané wiki cıni deyne eza vırnena',
+'prefs-help-gender' => 'Na tercih keyfiya.
+Na nustenek ercana qısan de qandé grameri karneyéna, na malumater herkes şeno bıvino .',
'email' => 'E-posta',
'prefs-help-realname' => 'Nameyo raşt waştena şıma rê mendo.
Eka tu wazene ke nameyo raşt xo bide, ma nameyo raşt ti iştirakanê ti de mocnenê.',
'prefs-help-email' => 'Dayışê adresa e-postey keyfiyo, labelê seba eyarê parola lazıma, wexto ke şıma naye xo vira kerê.',
-'prefs-help-email-others' => 'Şıma şenê weçinê ke ê bini be yew gırey pela şımaya karberi ya zi pela werênayışi sera şıma de ebe e-poste irtıbat kewê.
-Kaberê bini ke şıma de kewti irtıbat, adresa e-postey şıma eşkera nêbena.',
+'prefs-help-email-others' => 'Pera ğoya kerderi de zew link vırazése karberé bini şımaré şenê mesac bırşé. Lakin e-posta adresa şıma héç cayé de niasena.',
'prefs-help-email-required' => 'E-mail adrese mecburiya.',
-'prefs-info' => 'Melumato bıngeh',
-'prefs-i18n' => 'Beynelmılelkerdış',
+'prefs-info' => 'Melumata şıma',
+'prefs-i18n' => 'Şar şélıg kerdış',
'prefs-signature' => 'İmza',
'prefs-dateformat' => 'Formatê tarixi',
'prefs-timeoffset' => 'Wext offset',
'prefs-displaywatchlist' => 'Weçinayışê mocnayışi',
'prefs-tokenwatchlist' => 'Morge',
'prefs-diffs' => 'Ferqi',
+'prefs-help-prefershttps' => 'Na tercih, fına dekewten dı bena aktiv.',
# User preference: email validation using jQuery
'email-address-validity-valid' => 'e-posta adresi raştayo',
# Groups
'group' => 'Grube:',
'group-user' => 'Karberi',
-'group-autoconfirmed' => 'Karberê ke xob xo biyê araşt',
+'group-autoconfirmed' => 'Karberê ke otomatikmen biyê araşt',
'group-bot' => 'Boti',
'group-sysop' => 'İdarekari',
'group-bureaucrat' => 'Burokrati',
'group-all' => '(pêro)',
'group-user-member' => '{{GENDER:$1|karber}}',
-'group-autoconfirmed-member' => '{{GENDER:$1|Karberê ke xob xo biyê araşt}}',
+'group-autoconfirmed-member' => '{{GENDER:$1|Karberê ke otomatikmen biyê araşt}}',
'group-bot-member' => '{{GENDER:$1|bot}}',
'group-sysop-member' => '{{GENDER:$1|İdarekar}}',
'group-bureaucrat-member' => '{{GENDER:$1|buroqrat}}',
'group-suppress-member' => '{{GENDER:$1|Temaşekar}}',
'grouppage-user' => '{{ns:project}}:Karberi',
-'grouppage-autoconfirmed' => '{{ns:project}}:Karberê ke xob xo biyê araşt',
+'grouppage-autoconfirmed' => '{{ns:project}}:Karberê ke otomatikmen biyê araşt',
'grouppage-bot' => '{{ns:project}}:Boti',
'grouppage-sysop' => '{{ns:project}}:İdarekeri',
'grouppage-bureaucrat' => '{{ns:project}}:Burokrati',
'grouppage-suppress' => '{{ns:project}}:Qontrol',
# Rights
-'right-read' => 'Pelan bıwane',
+'right-read' => 'Pera bıwané',
'right-edit' => 'Pele bıvurne',
'right-createpage' => 'Pele vıraze (pelê ke ê werênayışi niyê)',
'right-createtalk' => 'Pela werênayışi vıraze',
'action-browsearchive' => 'pelanê esterıteyan bıgeyre',
'action-undelete' => 'ena pele reyna biyere',
'action-suppressrevision' => 'revizyone ki nimnaye biye reyna bivîne u restore bike',
-'action-suppressionlog' => 'ena logê xasî bivîne',
+'action-suppressionlog' => 'Ena bağse qeydi bıvin',
'action-block' => 'enê karberi vurnayışi ra bıreyne',
'action-protect' => 'seviyeyê pawitişî se ena pele bivurne',
'action-rollback' => 'Lez/herbi vurnayışanê karberê peyêni tekrar bıke, oyo ke yew be yew pelê sero gureyao',
'statistics-pages' => 'Peli',
'statistics-pages-desc' => 'Pelanê hemî ke wîkî de estê, pelanê mineqeşeyî, redireksiyon ucb... dehil o.',
'statistics-files' => 'Dosyayê bar biye',
-'statistics-edits' => 'Amarê vurnayîşî ke wextê {{SITENAME}} ronayîşî ra',
+'statistics-edits' => '{{SITENAME}} saz kerdış ra hetana newke amora vırnayışan',
'statistics-edits-average' => 'Ser her pele de amarê vurnayîşîyê averageyî',
'statistics-views-total' => 'Yekunî bivîne',
'statistics-views-total-desc' => 'Peleyê ke çınyê yana xısusiyê e nina zerre nêkerdê',
'newpages' => 'Pelê newey',
'newpages-username' => 'Nameyê karberi:',
'ancientpages' => 'Wesiqeyê ke vurnayışê ciyê peyeni tewr kehani',
-'move' => 'Berdış',
-'movethispage' => 'Ena pele bere',
+'move' => 'Beré',
+'movethispage' => 'Na perer beré',
'unusedimagestext' => 'Enê dosyey estê, feqet zerrey yew pele de wedardey niyê.
Xo vira mekerê ke, sıteyê webiê bini şenê direkt ebe URLi yew dosya ra gırê bê, u wına şenê verba gurênayışo feal de tiya hewna lista bê.',
'unusedcategoriestext' => 'kategoriyê cêrıni bıbo zi çı nêşuxulyena.',
# Restrictions (nouns)
'restriction-edit' => 'Bıvurne',
-'restriction-move' => 'Berê',
-'restriction-create' => 'Vıraze',
+'restriction-move' => 'Beré',
+'restriction-create' => 'İycad ke',
'restriction-upload' => 'Bar ke',
# Restriction levels
'movenosubpage' => 'pelê bınıni yê no peli çino.',
'movereason' => 'Sebeb:',
'revertmove' => 'peyser bia',
-'delete_and_move' => 'Bestere u bere',
+'delete_and_move' => 'Besterné uw beré',
'delete_and_move_text' => '==gani hewn a bıbıo/bıesteriyo==
" no [[:$1]]" name de yew pel ca ra esto. şıma wazeni pê hewn a kerdışê ey peli vurnayişê nameyi bıkeri?',
'markedaspatrollederrornotify' => 'Nışan kerdışê dewriyey nêbı',
# Patrol log
-'patrol-log-page' => 'Logê devriye',
+'patrol-log-page' => 'Qeydé çımsernayoğan',
'patrol-log-header' => 'Ena listeyê logi revizyonê devriyeyi mocneno.',
-'log-show-hide-patrol' => '$1 logê devriye',
+'log-show-hide-patrol' => 'Qeydé Çımsernayoğan $1',
# Image deletion
'deletedrevision' => 'Veriyono kihan $1 wederna',
'redirect-submit' => 'Şo',
'redirect-lookup' => 'Bewni',
'redirect-value' => 'Erc:',
-'redirect-user' => "ID'ê Karberi",
+'redirect-user' => 'Kamiya Karberi:',
'redirect-revision' => 'Rewizyona pela',
'redirect-file' => 'Namey dosya',
'redirect-not-exists' => 'Erc nêvineyê',
'editsectionhint',
'help',
'helppage',
- 'tooltip-iwiki',
+ 'interlanguage-link-title',
'jumpto',
'jumptonavigation',
'jumptosearch',
'red-link-title' => '$1 (page does not exist)',
'sort-descending' => 'Sort descending',
'sort-ascending' => 'Sort ascending',
-'tooltip-iwiki' => '$1 – $2', # only translate this message to other languages if you have to change it
+'interlanguage-link-title' => '$1 – $2', # only translate this message to other languages if you have to change it
# Short words for each namespace, by default used in the namespace tab in monobook
'nstab-main' => 'Page',
'revdelete-suppress-text' => "Suppression should '''only''' be used for the following cases:
* Potentially libelous information
* Inappropriate personal information
-*: ''home addresses and telephone numbers, social security numbers, etc.''",
+*: ''home addresses and telephone numbers, national identification numbers, etc.''",
'revdelete-legend' => 'Set visibility restrictions',
'revdelete-hide-text' => 'Revision text',
'revdelete-hide-image' => 'Hide file content',
'percent' => '$1%', # only translate this message to other languages if you have to change it
'parentheses' => '($1)', # only translate this message to other languages if you have to change it
'brackets' => '[$1]', # only translate this message to other languages if you have to change it
+'quotation-marks' => '"$1"',
# Multipage image navigation
'imgmultipageprev' => '← previous page',
'immobile-target-namespace-iw' => 'Keelelink ei ole sobiv koht lehekülje teisaldamiseks.',
'immobile-source-page' => 'Lehekülg ei ole teisaldatav.',
'immobile-target-page' => 'Soovitud pealkirja alla ei saa teisaldada.',
-'imagenocrossnamespace' => 'Faili ei saa teisaldada mõnda muusse nimeruumi',
+'imagenocrossnamespace' => 'Faili ei saa teisaldada mõnda muusse nimeruumi.',
'nonfile-cannot-move-to-file' => 'Failinimeruumi saab ainult faile teisaldada.',
'imagetypemismatch' => 'Uus faililaiend ei sobi selle tüübiga',
'imageinvalidfilename' => 'Sihtmärgi nimi on vigane',
* صفحههای ویژهٔ عادی.
* <strong class="mw-specialpagerestricted">صفحههای ویژهٔ محدودشده.</strong>',
'specialpages-group-maintenance' => 'گزارشهای نگهداری',
-'specialpages-group-other' => 'صÙ\81ØÙ\87â\80\8cÙ\87اÛ\8c Ù\88Û\8cÚ\98Ù\87Ù\94 دÛ\8cگر',
+'specialpages-group-other' => 'ساÛ\8cر صÙ\81ØÙ\87â\80\8cÙ\87اÛ\8c Ù\88Û\8cÚ\98Ù\87',
'specialpages-group-login' => 'ورود / ثبت نام',
'specialpages-group-changes' => 'تغییرات اخیر و سیاههها',
'specialpages-group-media' => 'گزارش بارگذاری رسانهها',
voit jättää tämän viestin huomiotta ja jatkaa vanhan salasanan käyttöä.',
'passwordreset-emailelement' => 'Käyttäjätunnus: $1
Väliaikainen salasana: $2',
-'passwordreset-emailsent' => 'Salasanan palautuksesta kertova viesti on lähetetty sähköpostitse.',
-'passwordreset-emailsent-capture' => 'Salasanan palautuksesta kertova sähköpostiviesti on lähetetty, ja se näkyy myös alla.',
+'passwordreset-emailsent' => 'Salasanan uudistamisesta kertova viesti on lähetetty sähköpostitse.',
+'passwordreset-emailsent-capture' => 'Salasanan uudistamisesta kertova sähköpostiviesti on lähetetty, ja se näkyy myös alla.',
'passwordreset-emailerror-capture' => 'Allaoleva sähköpostiviesti luotiin, mutta sen lähettäminen {{GENDER:$2|käyttäjälle}} epäonnistui: $1',
# Special:ChangeEmail
# Content models
'content-model-wikitext' => 'wikiteksti',
-'content-model-text' => 'teksti',
+'content-model-text' => 'pelkkä teksti',
'content-model-javascript' => 'JavaScript',
'content-model-css' => 'CSS',
* Sopimattomat henkilötiedot
*: ''kotiosoitteet, puhelinnumerot, sosiaaliturvatunnukset ja muut.''",
'revdelete-legend' => 'Aseta version näkyvyyden rajoitukset',
-'revdelete-hide-text' => 'Version tekstisisältö',
+'revdelete-hide-text' => 'Piilota version tekstisisältö',
'revdelete-hide-image' => 'Piilota tiedoston sisältö',
'revdelete-hide-name' => 'Piilota toiminto ja kohde',
-'revdelete-hide-comment' => 'Muutoksen yhteenveto',
-'revdelete-hide-user' => 'Muokkaajan käyttäjätunnus tai IP-osoite',
+'revdelete-hide-comment' => 'Piilota yhteenveto',
+'revdelete-hide-user' => 'Piilota tekijän tunnus tai IP-osoite',
'revdelete-hide-restricted' => 'Häivytä tiedot sekä ylläpitäjien että muiden käyttäjien näkyviltä',
'revdelete-radio-same' => '(älä muuta)',
-'revdelete-radio-set' => 'Näkyvillä',
-'revdelete-radio-unset' => 'Piilossa',
+'revdelete-radio-set' => 'Kyllä',
+'revdelete-radio-unset' => 'Ei',
'revdelete-suppress' => 'Häivytä tiedot myös ylläpitäjien näkyviltä samalla kun piilotat ne muilta käyttäjiltä',
'revdelete-unsuppress' => 'Poista rajoitukset palautetuilta versioilta',
'revdelete-log' => 'Syy:',
'revdel-restore-visible' => 'näkyvät versiot',
'pagehist' => 'Sivun muutoshistoria',
'deletedhist' => 'Poistettujen versioiden historia',
-'revdelete-hide-current' => 'Virhe piilotettaessa $1 kello $2 päivättyä kohdetta: Tämä on uusin versio.
+'revdelete-hide-current' => 'Virhe piilotettaessa kohdetta päivämäärällä $1 kello $2: Tämä on uusin versio.
Sitä ei voi piilottaa.',
'revdelete-show-no-access' => 'Virhe näyttäessä kohtaa $2 kello $1: kohta on merkitty ”rajoitetuksi”.
Sinulla ei ole oikeutta siihen.',
-'revdelete-modify-no-access' => 'Virhe tapahtui $2, $1 kohteen muokkauksessa: tämä kohde on merkitty "rajoitetuksi". Sinulla ei ole oikeuksia sen muokkaukseen.',
+'revdelete-modify-no-access' => 'Virhe kohteen päivämäärällä $1 kello $2 muutoksessa: tämä kohde on merkitty "rajoitetuksi".
+Sinulla ei ole oikeutta muuttaa kohdetta.',
'revdelete-modify-missing' => 'Virhe muuttaessa kohdetta, jonka tunniste on $1: Se puuttuu tietokannasta.',
-'revdelete-no-change' => "'''Varoitus:''' kohteessa $2 kello $1 on jo valmiiksi haluamasi näkyvyysasetukset.",
-'revdelete-concurrent-change' => 'Virhe $2, $1 päivätyn kohteen muokkauksessa: sen tilan on näköjään muuttanut joku sillä aikaa kun yritit muokata sitä. Ole hyvä ja tarkista lokit.',
-'revdelete-only-restricted' => 'Virhe piilotettaessa $1 kello $2 päivättyä kohdetta: Et voi poistaa kohteita ylläpitäjien näkyviltä valitsematta myös jotain muuta näkyvyysasetusta.',
+'revdelete-no-change' => "'''Varoitus.''' Kohteessa päivämäärällä $1 kello $2 on jo valmiiksi haluamasi näkyvyysasetukset.",
+'revdelete-concurrent-change' => 'Virhe kohteen päivämäärällä $1 kello $2 muutoksessa: sen näkyvyysasetuksia on ilmeisesti joku muuttanut sillä aikaa kun yritit muuttaa sitä.
+Ole hyvä ja tarkista lokit.',
+'revdelete-only-restricted' => 'Virhe piilotettaessa kohdetta päivämäärällä $1 kello $2: Et voi häivyttää kohteita ylläpitäjien näkyviltä valitsematta sen lisäksi jotain muuta näkyvyysasetusta.',
'revdelete-reason-dropdown' => '*Yleiset poistosyyt
** Tekijänoikeusrikkomus
** Sopimattomat henkilötiedot
'powersearch-ns' => 'Hae nimiavaruuksista:',
'powersearch-redir' => 'Luettele ohjaukset',
'powersearch-field' => 'Etsi',
-'powersearch-togglelabel' => 'Muuta valintaa',
+'powersearch-togglelabel' => 'Valitse:',
'powersearch-toggleall' => 'Valitse kaikki',
-'powersearch-togglenone' => 'Poista valinnat',
+'powersearch-togglenone' => 'Ei mitään',
'search-external' => 'Ulkoinen haku',
'searchdisabled' => 'Tekstihaku on poistettu toistaiseksi käytöstä suuren kuorman vuoksi. Voit käyttää alla olevaa Googlen hakukenttää sivujen etsimiseen, kunnes haku tulee taas käyttöön. <small>Huomaa, että ulkopuoliset kopiot {{GRAMMAR:genitive|{{SITENAME}}}} sisällöstä eivät välttämättä ole ajan tasalla.</small>',
'search-error' => 'Virhe ilmaantui haettaessa: $1',
'right-reupload-own' => 'Korvata itsetallennettu tiedosto uudella tiedostolla',
'right-reupload-shared' => 'Korvata jaettuun mediavarastoon tallennettuja tiedostoja paikallisesti',
'right-upload_by_url' => 'Tallentaa tiedostoja verkko-osoitteella',
-'right-purge' => 'Päivittää tiedoston välimuistitetun version ilman varmennussivua',
+'right-purge' => 'Tyhjentää sivuston välimuisti ilman varmennussivua',
'right-autoconfirmed' => 'IP-pohjaiset nopeusrajoitukset eivät ole voimassa',
'right-bot' => 'Kohdellaan automaattisena prosessina',
'right-nominornewtalk' => 'Tehdä pieniä muokkauksia käyttäjien keskustelusivuille siten, että käyttäjälle ei ilmoiteta siitä uutena viestinä',
'right-bigdelete' => 'Poistaa sivuja, joilla on pitkä historia',
'right-deletelogentry' => 'Poistaa ja palauttaa tiettyjä lokimerkintöjä',
'right-deleterevision' => 'Poistaa ja palauttaa sivujen versioita',
-'right-deletedhistory' => 'Tarkastella poistettuja versiotietoja ilman niihin liittyvää sisältöä',
+'right-deletedhistory' => 'Tarkastella poistettujen versioiden tietoja ilman niihin liittyvää tekstisisältöä',
'right-deletedtext' => 'Tarkastella poistettujen sivujen tekstiä ja muutoksia poistettujen versioiden välillä',
-'right-browsearchive' => 'Tarkastella poistettuja sivuja',
+'right-browsearchive' => 'Hakea poistettuja sivuja',
'right-undelete' => 'Palauttaa poistettuja sivuja',
'right-suppressrevision' => 'Tarkastella ja palauttaa ylläpitäjiltä piilotettuja versioita',
'right-suppressionlog' => 'Tarkastella yksityisiä lokeja',
'right-edituserjs' => 'Muokata toisten käyttäjien JavaScript-tiedostoja',
'right-editmyusercss' => 'Muokata omia CSS-tiedostoja',
'right-editmyuserjs' => 'Muokata omia JavaScript-tiedostoja',
-'right-viewmywatchlist' => 'Tarkastella tarkkailulistaasi',
+'right-viewmywatchlist' => 'Nähdä oma tarkkailulista',
'right-editmywatchlist' => 'Muokata tarkkailulistaasi. Huomaa, että jotkin toiminnot lisäävät yhä sivuja listallesi riippumatta tästä oikeudesta.',
'right-viewmyprivateinfo' => 'Nähdä omat yksityiset tietosi (esim. sähköpostiosoite, oikea nimi)',
'right-editmyprivateinfo' => 'Muokata omia yksityisiä tietojasi (esim. sähköpostiosoite, oikea nimi)',
'right-editmyoptions' => 'Muokata omia asetuksiasi',
'right-rollback' => 'Palauttaa nopeasti käyttäjän viimeisimmät muokkaukset sivuun',
-'right-markbotedits' => 'Kumota muokkauksia bottimerkinnällä',
+'right-markbotedits' => 'Merkitä muokkausten palauttaminen botilla tehdyksi',
'right-noratelimit' => 'Ohittaa nopeusrajoitukset',
'right-import' => 'Tuoda sivuja muista wikeistä',
'right-importupload' => 'Tuoda sivuja tiedostosta',
-'right-patrol' => 'Merkitä muokkaukset tarkastetuiksi',
-'right-autopatrol' => 'Muokkaukset aina valmiiksi tarkastetuksi merkittyjä',
+'right-patrol' => 'Merkitä muiden tekemät muokkaukset tarkastetuiksi',
+'right-autopatrol' => 'Omat muokkaukset on automaattisesti merkitty tarkastetuksi',
'right-patrolmarks' => 'Nähdä tarkastusmerkit tuoreissa muutoksissa',
-'right-unwatchedpages' => 'Tarkastella listaa tarkkailemattomista sivuista',
+'right-unwatchedpages' => 'Nähdä luetteloa tarkkailemattomista sivuista',
'right-mergehistory' => 'Yhdistää sivujen historioita',
'right-userrights' => 'Muuttaa kaikkia käyttäjäoikeuksia',
'right-userrights-interwiki' => 'Muokata käyttäjien oikeuksia muissa wikeissä',
'action-createaccount' => 'luoda tätä käyttäjätunnusta',
'action-minoredit' => 'merkitä tätä muokkausta pieneksi',
'action-move' => 'siirtää tätä sivua',
-'action-move-subpages' => 'siirtää tätä sivua, ja sen alasivuja',
+'action-move-subpages' => 'siirtää tätä sivua eikä sen alasivuja',
'action-move-rootuserpages' => 'siirtää käyttäjäsivuja',
'action-movefile' => 'siirtää tätä tiedostoa',
'action-upload' => 'tallentaa tätä tiedostoa',
'action-deleterevision' => 'poistaa tätä versiota',
'action-deletedhistory' => 'tarkastella tämän sivun poistettua historiaa',
'action-browsearchive' => 'etsiä poistettuja sivuja',
-'action-undelete' => 'palauttaa tätä sivua',
+'action-undelete' => 'palauttaa tätä poistettua sivua',
'action-suppressrevision' => 'tarkastella ja palauttaa tätä piilotettua versiota',
'action-suppressionlog' => 'tarkastella tätä yksityislokia',
'action-block' => 'estää tätä käyttäjää muokkaamasta',
'action-rollback' => 'käyttää nopeaa palautusta kumoamaan viimeisen käyttäjän viimeiset muutokset sivuun',
'action-import' => 'tuoda sivuja toisesta wikistä',
'action-importupload' => 'tuoda sivuja tiedostosta',
-'action-patrol' => 'merkitä muiden muokkauksia tarkastetuiksi',
-'action-autopatrol' => 'saada muokkaukset automaattisesti tarkastetuiksi',
-'action-unwatchedpages' => 'tarkastella tarkkailemattomien sivujen listaa',
+'action-patrol' => 'merkitä muiden tekemiä muokkauksia tarkastetuiksi',
+'action-autopatrol' => 'merkitä omia muokkauksiasi tarkastetuiksi',
+'action-unwatchedpages' => 'nähdä luetteloa tarkkailemattomista sivuista',
'action-mergehistory' => 'yhdistää tämän sivun historiaa',
'action-userrights' => 'muokata kaikkia käyttöoikeuksia',
'action-userrights-interwiki' => 'muokata muiden wikien käyttäjien käyttöoikeuksia',
'filehist-help' => 'Päiväystä napsauttamalla näet, millainen tiedosto oli kyseisellä hetkellä.',
'filehist-deleteall' => 'poista kaikki',
'filehist-deleteone' => 'poista tämä',
-'filehist-revert' => 'palauta',
+'filehist-revert' => 'palauta tämä',
'filehist-current' => 'nykyinen',
'filehist-datetime' => 'Päiväys',
'filehist-thumb' => 'Pienoiskuva',
'uploadnewversion-linktext' => 'Tallenna uusi versio tästä tiedostosta',
'shared-repo-from' => 'kohteesta $1',
'shared-repo' => 'jaettu mediavarasto',
-'upload-disallowed-here' => 'Et voi korvata tätä tiedostoa.',
+'upload-disallowed-here' => 'Et voi korvata tätä tiedostoa uudella tiedostolla.',
# File reversion
'filerevert' => 'Tiedoston $1 palautus',
'filerevert-legend' => 'Tiedoston palautus',
-'filerevert-intro' => '<span class="plainlinks">Olet palauttamassa tiedostoa \'\'\'[[Media:$1|$1]]\'\'\' [$4 versioon, joka luotiin $2 kello $3].</span>',
-'filerevert-comment' => 'Syy',
-'filerevert-defaultcomment' => 'Palautettiin versioon, joka luotiin $1 kello $2 (UTC)',
-'filerevert-submit' => 'Palauta',
-'filerevert-success' => '<span class="plainlinks">\'\'\'[[Media:$1|$1]]\'\'\' on palautettu [$4 versioon, joka luotiin $2 kello $3].</span>',
+'filerevert-intro' => "Olet palauttamassa takaisin tiedostoa '''[[Media:$1|$1]]''' [$4 versioon, joka luotiin $2 kello $3].",
+'filerevert-comment' => 'Syy:',
+'filerevert-defaultcomment' => 'Palautettiin takaisin versioon, joka luotiin $1 kello $2 (UTC)',
+'filerevert-submit' => 'Suorita palauttaminen',
+'filerevert-success' => "'''[[Media:$1|$1]]''' on palautettu takaisin [$4 versioon, joka luotiin $2 kello $3].",
'filerevert-badversion' => 'Tiedostosta ei ole luotu versiota kyseisellä ajan hetkellä.',
# File deletion
'filedelete' => 'Tiedoston $1 poisto',
'filedelete-legend' => 'Tiedoston poisto',
-'filedelete-intro' => "Olet poistamassa tiedostoa '''[[Media:$1|$1]]''' ja kaiken sen historian.",
-'filedelete-intro-old' => '<span class="plainlinks">Olet poistamassa tiedoston \'\'\'[[Media:$1|$1]]\'\'\' [$4 $3 kello $2 luotua versiota].</span>',
-'filedelete-comment' => 'Syy',
+'filedelete-intro' => "Olet poistamassa tiedoston '''[[Media:$1|$1]]''' ja kaiken sen historian.",
+'filedelete-intro-old' => '<span class="plainlinks">Olet poistamassa tiedoston \'\'\'[[Media:$1|$1]]\'\'\' [$4 päivämäärällä $2 kello $3 luotua versiota].</span>',
+'filedelete-comment' => 'Syy:',
'filedelete-submit' => 'Poista',
'filedelete-success' => "Tiedosto '''$1''' on poistettu.",
-'filedelete-success-old' => "Tiedoston '''[[Media:$1|$1]]''' $3 kello $2 luotu versio on poistettu.",
-'filedelete-nofile' => "Tiedostoa '''$1''' ei ole.",
-'filedelete-nofile-old' => "Tiedostosta '''$1''' ei ole olemassa pyydettyä versiota.",
-'filedelete-otherreason' => 'Muu syy tai tarkennus',
+'filedelete-success-old' => "Tiedoston '''[[Media:$1|$1]]''' $2 kello $3 luotu versio on poistettu.",
+'filedelete-nofile' => "Tiedostoa '''$1''' ei ole olemassa.",
+'filedelete-nofile-old' => "Tiedostosta '''$1''' ei ole olemassa arkistossa olevaa versiota, jolla on annetut ominaisuudet.",
+'filedelete-otherreason' => 'Muu syy tai tarkennus:',
'filedelete-reason-otherlist' => 'Muu syy',
'filedelete-reason-dropdown' => '*Yleiset poistosyyt
** Kaksoiskappale
'excontentauthor' => 'sisälsi: ”$1” (ainoa muokkaaja oli $2)',
'exbeforeblank' => 'ennen tyhjentämistä sisälsi: ”$1”',
'exblank' => 'oli tyhjä',
-'delete-confirm' => 'Sivun ”$1” poistaminen',
+'delete-confirm' => 'Poista ”$1”',
'delete-legend' => 'Sivun poisto',
-'historywarning' => "'''Varoitus:''' Sivua, jota olet poistamassa on muokattu noin $1 {{PLURAL:$1|kerta|kertaa}}:",
+'historywarning' => "'''Varoitus:''' Sivua, jota olet poistamassa, on muokattu noin $1 {{PLURAL:$1|kerta|kertaa}}:",
'confirmdeletetext' => 'Olet poistamassa sivun tai tiedoston ja kaiken sen historian. Ymmärrä teon seuraukset ja tee poisto {{GRAMMAR:genitive|{{SITENAME}}}} [[{{MediaWiki:Policy-url}}|käytäntöjen]] mukaisesti.',
'actioncomplete' => 'Toiminto suoritettu',
'actionfailed' => 'Toiminto epäonnistui',
'rollback' => 'palauta aiempaan versioon',
'rollback_short' => 'Palautus',
'rollbacklink' => 'palauta',
-'rollbacklinkcount' => 'palauta {{PLURAL:$1|muutos|$1 muutosta}}',
+'rollbacklinkcount' => 'palauta $1 {{PLURAL:$1|muutos|muutosta}}',
'rollbacklinkcount-morethan' => 'palauta yli $1 {{PLURAL:$1|muutos|muutosta}}',
'rollbackfailed' => 'Palautus epäonnistui',
'cantrollback' => 'Aiempaan versioon ei voi palauttaa, koska viimeisin kirjoittaja on sivun ainoa tekijä.',
'undeletepage' => 'Tarkastele ja palauta poistettuja sivuja',
'undeletepagetitle' => "'''Poistetut versiot sivusta [[:$1]]'''.",
'viewdeletedpage' => 'Poistettujen sivujen selaus',
-'undeletepagetext' => '{{PLURAL:$1|Seuraava sivu|Seuraavat sivut}} on poistettu, mutta {{PLURAL:$1|se löytyy|ne löytyvät}} vielä arkistosta, joten {{PLURAL:$1|se on|ne ovat}} palautettavissa. Arkisto saatetaan tyhjentää aika ajoin.',
-'undelete-fieldset-title' => 'Palauta versiot',
+'undeletepagetext' => '{{PLURAL:$1|Seuraava sivu|Seuraavat sivut}} on poistettu, mutta {{PLURAL:$1|se löytyy|ne löytyvät}} vielä arkistosta, joten {{PLURAL:$1|se|ne}} voidaan palauttaa takaisin. Arkisto saatetaan tyhjentää aika ajoin.',
+'undelete-fieldset-title' => 'Palauta versioita',
'undeleteextrahelp' => "Palauttaaksesi sivun koko muutoshistorian jätä kaikki valintalaatikot tyhjiksi ja napsauta '''''{{int:undeletebtn}}'''''.
Voit palauttaa versioita valikoivasti valitsemalla vain niiden versioiden valintalaatikot, jotka haluat palauttaa.",
-'undeleterevisions' => '{{PLURAL:$1|Versio|$1 versiota}} arkistoitu.',
+'undeleterevisions' => '$1 {{PLURAL:$1|versio|versiota}} on arkistoitu.',
'undeletehistory' => 'Jos palautat sivun, kaikki versiot lisätään sivun historiaan. Jos uusi sivu samalla nimellä on luotu poistamisen jälkeen, palautetut versiot lisätään sen historiaan.',
'undeleterevdel' => 'Palautusta ei tehdä, jos sen seurauksena sivun uusin versio olisi osittain piilotettu.
Tässä tilanteessa älä valitse palautettavaksi näkyviin viimeisintä poistettua versiota tai poista version piilotus.',
'undeletehistorynoadmin' => 'Tämä sivu on poistettu.
Syy sivun poistamiseen näkyy alla olevassa yhteenvedossa, jossa on myös tiedot, ketkä olivat muokanneet tätä sivua ennen poistamista.
Näiden poistettujen versioiden varsinainen tekstisisältö on vain ylläpitäjien luettavissa.',
-'undelete-revision' => 'Poistettu sivu $1 hetkellä $4 kello $5. Tekijä: $3.',
+'undelete-revision' => 'Poistettu versio sivusta $1 (aikaleima $4 kello $5). Version tekijä: $3.',
'undeleterevision-missing' => 'Virheellinen tai puuttuva versio.
-Sinulla on kenties käytössä väärä linkki, tai sitten versio on saatettu palauttaa tai poistaa arkistosta.',
+Sinulla on kenties käytössä väärä linkki, tai sitten versio on saatettu palauttaa takaisin tai poistaa arkistosta.',
'undelete-nodiff' => 'Aikaisempaa versiota ei löytynyt.',
'undeletebtn' => 'Palauta',
'undeletelink' => 'näytä tai palauta',
'undeleteviewlink' => 'näytä',
'undeletereset' => 'Tyhjennä',
'undeleteinvert' => 'Käänteinen valinta',
-'undeletecomment' => 'Syy',
+'undeletecomment' => 'Syy:',
'undeletedrevisions' => '{{PLURAL:$1|Yksi versio|$1 versiota}} palautettiin',
'undeletedrevisions-files' => '{{PLURAL:$1|Yksi versio|$1 versiota}} ja {{PLURAL:$2|yksi tiedosto|$2 tiedostoa}} palautettiin',
'undeletedfiles' => '{{PLURAL:$1|1 tiedosto|$1 tiedostoa}} palautettiin',
'cannotundelete' => 'Palauttaminen epäonnistui:
$1',
-'undeletedpage' => "'''$1 on palautettu.'''
+'undeletedpage' => "'''$1 on palautettu takaisin'''
[[Special:Log/delete|Poistolokista]] löydät listan viimeisimmistä poistoista ja palautuksista.",
-'undelete-header' => '[[Special:Log/delete|Poistolokissa]] on lista viimeisimmistä poistoista.',
+'undelete-header' => 'Katso [[Special:Log/delete|poistolokia]], jossa ovat äskettäin poistetut sivut.',
'undelete-search-title' => 'Etsi poistettuja sivuja',
'undelete-search-box' => 'Etsi poistettuja sivuja',
'undelete-search-prefix' => 'Näytä sivut, jotka alkavat merkkijonolla:',
'undelete-search-submit' => 'Hae',
'undelete-no-results' => 'Poistoarkistosta ei löytynyt haettuja sivuja.',
-'undelete-filename-mismatch' => 'Tiedoston versiota, jonka aikaleima on $1, ei voi palauttaa, koska tiedostonimi ei ole sama.',
-'undelete-bad-store-key' => 'Tiedoston version, jonka aikaleima on $1 palauttaminen epäonnistui, koska tiedostoa ei ollut ennen poistoa.',
+'undelete-filename-mismatch' => 'Ei voida palauttaa tiedoston versiota, jonka aikaleima on $1: Tiedostonimi ei ole sama.',
+'undelete-bad-store-key' => 'Ei voida palauttaa tiedoston versiota, jonka aikaleima on $1: Tiedostoa ei ollut olemassa ennen poistoa.',
'undelete-cleanup-error' => 'Käyttämättömän arkistotiedoston $1 poistaminen epäonnistui.',
'undelete-missing-filearchive' => 'Tiedostoarkiston tunnuksen $1 hakeminen epäonnistui. Tiedosto on saatettu jo palauttaa.',
'undelete-error' => 'Sivun palauttaminen epäonnistui',
'sp-contributions-newbies' => 'Näytä uusien tulokkaiden muutokset',
'sp-contributions-newbies-sub' => 'Uusien käyttäjien muokkaukset',
'sp-contributions-newbies-title' => 'Uusien käyttäjien muokkaukset',
-'sp-contributions-blocklog' => 'estot',
+'sp-contributions-blocklog' => 'estoloki',
'sp-contributions-deleted' => 'poistetut muokkaukset',
'sp-contributions-uploads' => 'tallennukset',
'sp-contributions-logs' => 'lokit',
'ipb-edit-dropdown' => 'Muokkaa estosyitä',
'ipb-unblock-addr' => 'Poista käyttäjän $1 esto',
'ipb-unblock' => 'Poista käyttäjän tai IP-osoitteen muokkausesto',
-'ipb-blocklist' => 'Näytä estot',
+'ipb-blocklist' => 'Näytä voimassa olevat estot',
'ipb-blocklist-contribs' => 'Käyttäjän $1 muokkaukset',
-'unblockip' => 'Muokkauseston poisto',
+'unblockip' => 'Muokkauseston poisto käyttäjältä',
'unblockiptext' => 'Tällä lomakkeella voit poistaa käyttäjän tai IP-osoitteen muokkauseston.',
-'ipusubmit' => 'Poista esto',
+'ipusubmit' => 'Poista tämä esto',
'unblocked' => 'Käyttäjän [[User:$1|$1]] esto on poistettu',
'unblocked-range' => '$1 ei ole enää estettynä',
'unblocked-id' => 'Esto $1 on poistettu',
'block-log-flags-nousertalk' => 'oman keskustelusivun muokkaaminen estetty',
'block-log-flags-angry-autoblock' => 'kehittynyt automaattiesto käytössä',
'block-log-flags-hiddenname' => 'käyttäjänimi piilotettu',
-'range_block_disabled' => 'Ylläpitäjän oikeus luoda alue-estoja ei ole käytössä.',
+'range_block_disabled' => 'Ylläpitäjien mahdollisuus asettaa avaruusestoja on poistettu käytöstä.',
'ipb_expiry_invalid' => 'Virheellinen päättymisaika.',
'ipb_expiry_temp' => 'Piilotettujen käyttäjätunnusten estojen tulee olla pysyviä.',
'ipb_hide_invalid' => 'Tämän tunnuksen piilottaminen ei onnistu. Sillä saattaa olla liikaa muokkauksia.',
'lockedbyandtime' => '(lukinnut {{GENDER:$1|$1}} $2 kello $3)',
# Move page
-'move-page' => 'Sivun $1 siirto',
+'move-page' => 'Siirrä $1',
'move-page-legend' => 'Siirrä sivu',
'movepagetext' => "Alla olevalla lomakkeella voit nimetä uudelleen sivuja, jolloin niiden koko historia siirtyy uuden nimen alle.
Vanhasta sivusta tulee ohjaussivu, joka osoittaa uuteen sivuun.
'immobile-target-namespace-iw' => 'Kielilinkki ei ole kelvollinen kohde sivun siirrolle.',
'immobile-source-page' => 'Tämä sivu ei ole siirrettävissä.',
'immobile-target-page' => 'Kyseiselle kohdenimelle ei voi siirtää.',
-'bad-target-model' => 'Kohde käyttää eri sisältömallia. Sisällön muuttaminen muodosta $1 muotoon $2 ei ole mahdollista.',
+'bad-target-model' => 'Toivottu kohde käyttää eri sisältömuotoa. Sisällön muuttaminen muodosta $1 muotoon $2 ei ole mahdollista.',
'imagenocrossnamespace' => 'Tiedostoja ei voi siirtää pois tiedostonimiavaruudesta.',
'nonfile-cannot-move-to-file' => 'Sivuja ei voi siirtää tiedostonimiavaruuteen.',
'imagetypemismatch' => 'Uusi tiedostopääte ei vastaa tiedoston tyyppiä',
Valitse toinen nimi.',
# Export
-'export' => 'Sivujen vienti',
-'exporttext' => 'Voit viedä sivun tai sivujen tekstiä ja muokkaushistoriaa XML-muodossa.
-Tämä tieto voidaan tuoda toiseen käyttämällä MediaWikiä [[Special:Import|tuontisivun]] kautta.
+'export' => 'Vie sivuja',
+'exporttext' => "Voit viedä (''export'') sivun tai usean sivun tekstin ja muokkaushistorian XML-muodossa.
+Tämä tieto voidaan tuoda (''import'') toiseen wikiin käyttämällä MediaWikiä [[Special:Import|tuontisivun]] kautta.
-Syötä sivujen otsikoita jokainen omalle rivilleen alla olevaan laatikkoon.
-Valitse myös, haluatko kaikki versiot sivuista, vai ainoastaan nykyisen version.
+Kirjoita sivujen nimet, jokainen nimike omalle rivilleen, alla olevaan tietolaatikkoon. Valitse, haluatko viedä sivun uusimman version sekä samalla kaikki vanhat versiot ja sivun historian tietorivit, vai haluatko viedä sivun uusimman version, jossa on tieto viimeisimmästä muokkauksesta.
-Jälkimmäisessä tapauksessa voit myös käyttää linkkiä. Esimerkiksi sivun [[{{MediaWiki:Mainpage}}]] saa vietyä linkistä [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]].',
+Jälkimmäisessä tapauksessa voit myös käyttää linkkiä. Esimerkiksi sivun [[{{MediaWiki:Mainpage}}]] saa vietyä linkistä [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]].",
'exportall' => 'Vie kaikki sivut',
-'exportcuronly' => 'Liitä mukaan ainoastaan uusin versio – ei koko historiaa.',
-'exportnohistory' => '----
-Sivujen koko historian vienti on estetty suorituskykysyistä.',
+'exportcuronly' => 'Ota vientiin ainoastaan uusin versio – ei koko historiaa',
+'exportnohistory' => "----
+'''Huomautus:''' Sivujen koko muokkaushistorian vienti tämän lomakkeen kautta on poistettu käytöstä suorituskykysyistä.",
'exportlistauthors' => 'Lisää lista jokaisen sivun muokkaajista',
'export-submit' => 'Vie',
-'export-addcattext' => 'Lisää sivut luokasta',
+'export-addcattext' => 'Lisää sivut luokasta:',
'export-addcat' => 'Lisää',
-'export-addnstext' => 'Lisää sivut nimiavaruudesta',
+'export-addnstext' => 'Lisää sivut nimiavaruudesta:',
'export-addns' => 'Lisää',
'export-download' => 'Tallenna tiedostona',
-'export-templates' => 'Liitä mallineet',
-'export-pagelinks' => 'Sisällytä linkkien kohteina olevat sivut syvyydelle',
+'export-templates' => 'Ota mukaan mallineet',
+'export-pagelinks' => 'Sisällytä linkkien kohteina olevat sivut syvyydelle:',
# Namespace 8 related
'allmessages' => 'Järjestelmäviestit',
# Special:Import
'import' => 'Tuo sivuja',
-'importinterwiki' => 'Tuo sivuja lähiwikeistä',
+'importinterwiki' => 'Tuo sivuja muista wikeistä',
'import-interwiki-text' => 'Valitse wiki ja sivun nimi. Versioiden päivämäärät ja muokkaajat säilytetään. Kaikki wikienväliset tuonnit kirjataan [[Special:Log/import|tuontilokiin]].',
'import-interwiki-source' => 'Lähdewiki/sivu:',
'import-interwiki-history' => 'Kopioi sivun koko historia',
'import-interwiki-namespace' => 'Kohdenimiavaruus:',
'import-interwiki-rootpage' => 'Tuo annetun sivun alasivuiksi (valinnainen):',
'import-upload-filename' => 'Tiedostonimi:',
-'import-comment' => 'Syy',
+'import-comment' => 'Kommentti:',
'importtext' => 'Vie sivuja lähdewikistä käyttäen [[Special:Export|vientityökalua]].
Tallenna tiedot koneellesi ja tuo ne tällä sivulla.',
'importstart' => 'Tuodaan sivuja...',
'import-invalid-interwiki' => 'Määritellystä wikistä ei voi tuoda.',
'import-error-edit' => 'Sivua $1 ei tuotu, koska sinulla ei ole oikeutta muokata sitä.',
'import-error-create' => 'Sivua $1 ei tuotu, koska sinulla ei ole oikeutta luoda sitä.',
-'import-error-interwiki' => 'Sivua $1 ei voitu tuoda, koska sen nimi on varattu ulkoisen linkittämisen (interwiki).',
-'import-error-special' => 'Sivua $1 ei tuoda, koska se kuuluu nimitilaan, joka ei salli sivuja.',
-'import-error-invalid' => 'Sivua $1 ei tuoda, koska sen nimi ei kelpaa.',
+'import-error-interwiki' => 'Sivua $1 ei tuotu, koska sen nimi on varattu ulkoiseen linkittämiseen (interwiki).',
+'import-error-special' => 'Sivua $1 ei tuotu, koska se kuuluu erityiseen nimiavaruuteen, joka ei salli sivuja.',
+'import-error-invalid' => 'Sivua $1 ei tuotu, koska sen nimi ei kelpaa.',
'import-error-unserialize' => 'Versiota $2 sivusta $1 ei voida jakaa osiin. Version ilmoitettiin käyttävän sisältömallia $3 ja sarjoitusmuotoilua $4.',
'import-options-wrong' => '{{PLURAL:$2|Väärä asetus|Väärät asetukset}}: <nowiki>$1</nowiki>',
'import-rootpage-invalid' => 'Annettu sivun nimi ei kelpaa.',
# Import log
'importlogpage' => 'Tuontiloki',
'importlogpagetext' => 'Loki toisista wikeistä tuoduista sivuista.',
-'import-logentry-upload' => 'toi sivun [[$1]] lähettämällä tiedoston',
+'import-logentry-upload' => 'toi tiedoston [[$1]] tallentamalla sen',
'import-logentry-upload-detail' => '{{PLURAL:$1|yksi versio|$1 versiota}}',
'import-logentry-interwiki' => 'toi toisesta wikistä sivun $1',
'import-logentry-interwiki-detail' => '{{PLURAL:$1|yksi versio|$1 versiota}} wikistä $2',
Voit katsella sivun lähteenä olevaa wikitekstiä.',
'tooltip-ca-history' => 'Sivun aikaisemmat versiot',
'tooltip-ca-protect' => 'Suojaa tämä sivu',
-'tooltip-ca-unprotect' => 'Muuta tämän sivun suojauksia',
+'tooltip-ca-unprotect' => 'Muuta tämän sivun suojauksen asetuksia',
'tooltip-ca-delete' => 'Poista tämä sivu',
-'tooltip-ca-undelete' => 'Palauta tämä sivu',
+'tooltip-ca-undelete' => 'Palauta ne muokkaukset, jotka tehtiin tälle sivulle ennen kuin se poistettiin',
'tooltip-ca-move' => 'Siirrä tämä sivu',
'tooltip-ca-watch' => 'Lisää tämä sivu tarkkailulistallesi',
'tooltip-ca-unwatch' => 'Poista tämä sivu tarkkailulistaltasi',
'tooltip-n-mainpage-description' => 'Siirry etusivulle',
'tooltip-n-portal' => 'Keskustelua projektista',
'tooltip-n-currentevents' => 'Taustatietoa tämänhetkisistä tapahtumista',
-'tooltip-n-recentchanges' => 'Lista tuoreista muutoksista',
+'tooltip-n-recentchanges' => 'Luettelo wikiin tehdyistä tuoreista muutoksista',
'tooltip-n-randompage' => 'Avaa satunnainen sivu',
'tooltip-n-help' => 'Ohjeita',
'tooltip-t-whatlinkshere' => 'Lista sivuista, jotka viittaavat tänne',
'tooltip-watchlistedit-raw-submit' => 'Päivitä tarkkailulista',
'tooltip-recreate' => 'Luo sivu uudelleen',
'tooltip-upload' => 'Aloita tallennus',
-'tooltip-rollback' => 'Palauttaminen kumoaa viimeisimmän muokkaajan yhden tai useamman muutoksen yhdellä kertaa.',
+'tooltip-rollback' => 'Palautustyökalu kumoaa sivun viimeisen muokkaajan yhden tai useamman muutoksen yhdellä kertaa.',
'tooltip-undo' => 'Kumoaminen palauttaa tämän muutoksen ja avaa artikkelin esikatselussa. Yhteenvetokenttään voi kirjoittaa palautuksen syyn.',
'tooltip-preferences-save' => 'Tallenna asetukset',
'tooltip-summary' => 'Kirjoita lyhyt yhteenveto',
+'interlanguage-link-title' => '$1 — $2',
# Stylesheets
'common.css' => '/* Tämä sivu sisältää koko sivustoa muuttavia tyylejä. */',
# Info page
'pageinfo-title' => 'Tietoja sivusta $1',
-'pageinfo-not-current' => 'Tätä tietoa on mahdoton näyttää vanhoille versiolle.',
+'pageinfo-not-current' => 'Valitettavasti ei ole mahdollista antaa tätä tietoa, joka liittyy vanhoihin versioihin.',
'pageinfo-header-basic' => 'Perustiedot',
'pageinfo-header-edits' => 'Muutoshistoria',
'pageinfo-header-restrictions' => 'Sivun suojaus',
'pageinfo-length' => 'Sivun pituus (tavuina)',
'pageinfo-article-id' => 'Sivun tunniste',
'pageinfo-language' => 'Sivun sisällön kieli',
-'pageinfo-robot-policy' => 'Hakukonemerkinnät',
+'pageinfo-content-model' => 'Sivun sisällön muoto',
+'pageinfo-robot-policy' => 'Robottien tekemä indeksointi',
'pageinfo-robot-index' => 'Indeksoitava',
'pageinfo-robot-noindex' => 'Ei indeksoitava',
'pageinfo-views' => 'Katselukertojen määrä',
$1',
'filedelete-missing' => 'Tiedostoa $1 ei voi poistaa, koska sitä ei ole olemassa.',
-'filedelete-old-unregistered' => 'Tiedoston version $1 ei ole tietokannassa.',
-'filedelete-current-unregistered' => 'Tiedosto $1 ei ole tietokannassa.',
+'filedelete-old-unregistered' => 'Tiedoston määritettyä versiota $1 ei ole tietokannassa.',
+'filedelete-current-unregistered' => 'Tiedostoa $1 ei ole tietokannassa.',
'filedelete-archive-read-only' => 'Arkistohakemistoon ”$1” kirjoittaminen epäonnistui.',
# Browsing diffs
* @author Omnipaedista
* @author Peter17
* @author PieRRoMaN
+ * @author ProgVal
* @author Quentinv57
* @author Rastus Vernon
* @author Remember the dot
'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",
'tog-enotifrevealaddr' => 'Afficher mon adresse de courriel dans les courriels de notification',
-'tog-shownumberswatching' => "Afficher le nombre d'utilisateurs qui suivent la page",
+'tog-shownumberswatching' => 'Afficher le nombre d’utilisateurs et d’utilisatrices qui suivent la page',
'tog-oldsig' => 'Signature existante :',
'tog-fancysig' => 'Traiter la signature comme du wikitexte (sans lien automatique)',
'tog-uselivepreview' => 'Utiliser l’aperçu rapide (expérimental)',
'tog-noconvertlink' => 'Désactiver la conversion des titres',
'tog-norollbackdiff' => "Ne pas afficher le diff lors d'une révocation",
'tog-useeditwarning' => "M'avertir quand je quitte une page de modification sans publier les changements",
-'tog-prefershttps' => 'Toujours utiliser une connexion sécurisée en étant connecté',
+'tog-prefershttps' => 'Toujours utiliser une connexion sécurisée en étant connecté(e)',
'underline-always' => 'Toujours',
'underline-never' => 'Jamais',
'talk' => 'Discussion',
'views' => 'Affichages',
'toolbox' => 'Outils',
-'userpage' => 'Page utilisateur',
+'userpage' => 'Page utilisateur/utilisatrice',
'projectpage' => 'Page méta',
'imagepage' => 'Voir la page du fichier',
'mediawikipage' => 'Voir la page du message',
'youhavenewmessages' => 'Vous avez $1 ($2).',
'newmessageslink' => 'de nouveaux messages',
'newmessagesdifflink' => 'dernière modification',
-'youhavenewmessagesfromusers' => "Vous avez $1 {{PLURAL:$3|d'un autre utilisateur|de $3 autres utilisateurs}} ($2).",
+'youhavenewmessagesfromusers' => "Vous avez $1 {{PLURAL:$3|d'un(e) autre utilisateur/utilisatrice|de $3 autres utilisateurs/utilisatrices}} ($2).",
'youhavenewmessagesmanyusers' => 'Vous avez $1 de nombreux utilisateurs ($2).',
'newmessageslinkplural' => '{{PLURAL:$1|un message|de nouveaux messages}}',
'newmessagesdifflinkplural' => '{{PLURAL:$1|dernière modification|dernières modifications}}',
'cascadeprotected' => 'Cette page est protégée car elle est incluse par {{PLURAL:$1|la page suivante, qui a été protégée|les pages suivantes, qui ont été protégées}} avec l’option « protection en cascade » activée :
$2',
'namespaceprotected' => "Vous n'avez pas la permission de modifier les pages de l'espace de noms « '''$1''' ».",
-'customcssprotected' => "Vous n'avez pas la permission de modifier cette page de CSS, car elle contient les paramètres personnels d'un autre utilisateur.",
-'customjsprotected' => "Vous n'avez pas la permission de modifier cette page de JavaScript, car elle contient les paramètres personnels d'un autre utilisateur.",
+'customcssprotected' => "Vous n'avez pas la permission de modifier cette page de CSS, car elle contient les paramètres personnels d'un autre utilisateur ou utilisatrice.",
+'customjsprotected' => "Vous n'avez pas la permission de modifier cette page de JavaScript, car elle contient les paramètres personnels d'un autre utilisateur ou utilisatrice.",
'mycustomcssprotected' => 'Vous n’avez pas le droit de modifier cette page CSS.',
'mycustomjsprotected' => 'Vous n’avez pas le droit de modifier cette page JavaScript.',
'myprivateinfoprotected' => 'Vous n’avez pas les droits pour modifier vos informations personnelles.',
L'administrateur qui l'a verrouillé a fourni ce motif : « $3 ».",
'invalidtitle-knownnamespace' => "Titre invalide avec l'espace de noms « $2 » et l'intitulé « $3 »",
'invalidtitle-unknownnamespace' => "Titre invalide avec le numéro d'espace de noms $1 et l'intitulé « $2 » inconnus",
-'exception-nologin' => 'Non connecté',
+'exception-nologin' => 'Non connecté(e)',
'exception-nologin-text' => "Cette page ou cette action nécessite d'être connecté sur ce wiki.",
# Virus scanner
N'oubliez pas de modifier [[Special:Preferences|vos préférences pour {{SITENAME}}]].",
'yourname' => "Nom d'utilisateur :",
'userlogin-yourname' => "Nom d'utilisateur",
-'userlogin-yourname-ph' => "Entrez votre nom d'utilisateur",
-'createacct-another-username-ph' => 'Saisir le nom d’utilisateur',
+'userlogin-yourname-ph' => "Entrez votre nom d'utilisateur ou d'utilisatrice",
+'createacct-another-username-ph' => 'Saisir le nom d’utilisateur ou d’utilisatrice',
'yourpassword' => 'Mot de passe :',
'userlogin-yourpassword' => 'Mot de passe',
'userlogin-yourpassword-ph' => 'Entrez votre mot de passe',
'notloggedin' => 'Non connecté',
'userlogin-noaccount' => "Vous n'avez pas de compte ?",
'userlogin-joinproject' => 'Rejoignez {{SITENAME}}',
-'nologin' => "Vous n'êtes pas encore inscrit ? $1.",
+'nologin' => "Vous n'avez pas de compte ? $1.",
'nologinlink' => 'Créer un compte',
'createaccount' => 'Créer un compte',
'gotaccount' => "Vous avez déjà un compte ? '''$1'''.",
'userlogin-resetpassword-link' => 'Mot de passe oublié ?',
'helplogin-url' => 'Help:Connexion',
'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Aide à la connexion]]',
-'userlogin-loggedin' => 'Vous êtes déjà connecté en tant que {{GENDER:$1|$1}}.
-Utilisez le formulaire ci-dessous pour vous connecter avec un autre utilisateur.',
+'userlogin-loggedin' => 'Vous êtes déjà connecté{{GENDER:$1||e|(e)}} en tant que {{GENDER:$1|$1}}.
+Utilisez le formulaire ci-dessous pour vous connecter avec un autre compte utilisateur.',
'userlogin-createanother' => 'Créer un autre compte',
'createacct-join' => 'Entrez vos informations ci-dessous.',
'createacct-another-join' => 'Saisir les informations du nouveau compte ci-dessous.',
'createacct-benefit-body2' => '{{PLURAL:$1|article|articles}}',
'createacct-benefit-body3' => '{{PLURAL:$1|contributeur récent|contributeurs récents}}',
'badretype' => 'Les mots de passe que vous avez saisis ne correspondent pas.',
-'userexists' => "Nom d'utilisateur entré déjà utilisé.
+'userexists' => "Nom d'utilisateur/utilisatrice entré déjà utilisé.
Veuillez choisir un nom différent.",
'loginerror' => 'Erreur de connexion',
'createacct-error' => 'Erreur lors de la création du compte',
'nocookieslogin' => '{{SITENAME}} utilise des cookies pour la connexion mais vous les avez désactivés. Veuillez les activer et vous reconnecter.',
'nocookiesfornew' => "Le compte utilisateur n'a pas été créé, car nous n'avons pas pu identifier son origine.
Vérifiez que vous avez activé les cookies, rechargez la page et réessayez.",
-'noname' => "Vous n'avez pas saisi un nom d'utilisateur valide.",
+'noname' => "Vous n'avez pas saisi un nom d'utilisateur/utilisatrice valide.",
'loginsuccesstitle' => 'Connexion réussie',
'loginsuccess' => 'Vous êtes maintenant connecté{{GENDER:$1||e|(e)}} à {{SITENAME}} en tant que « $1 ».',
'nosuchuser' => "L'utilisateur « $1 » n'existe pas.
Les noms d'utilisateurs sont sensibles à la casse.
Vérifiez l'orthographe, ou [[Special:UserLogin/signup|créez un nouveau compte]].",
-'nosuchusershort' => "Il n'y a pas de contributeur avec le nom « $1 ». Veuillez vérifier l'orthographe.",
-'nouserspecified' => "Vous devez saisir un nom d'utilisateur.",
-'login-userblocked' => 'Cet utilisateur est bloqué. Connexion non autorisée.',
+'nosuchusershort' => "Il n'y a pas de contributeur ni de contributrice avec le nom « $1 ». Veuillez vérifier l'orthographe.",
+'nouserspecified' => "Vous devez saisir un nom d'utilisateur/utilisatrice.",
+'login-userblocked' => 'Cet {{GENDER:$1|utilisateur|utilisatrice|utilisateur/utilisatrice}} est bloqué. Connexion non autorisée.',
'wrongpassword' => 'Le mot de passe est incorrect. Veuillez essayer à nouveau.',
'wrongpasswordempty' => "Vous n'avez pas entré de mot de passe. Veuillez essayer à nouveau.",
'passwordtooshort' => 'Votre mot de passe doit contenir au moins $1 caractère{{PLURAL:$1||s}}.',
-'password-name-match' => "Votre mot de passe doit être différent de votre nom d'utilisateur.",
-'password-login-forbidden' => "L'utilisation de ce nom d'utilisateur et de ce mot de passe a été interdite.",
+'password-name-match' => "Votre mot de passe doit être différent de votre nom d'utilisateur/utilisatrice.",
+'password-login-forbidden' => "L'utilisation de ce nom d'utilisateur/utilisatrice et de ce mot de passe a été interdite.",
'mailmypassword' => 'Recevoir un nouveau mot de passe par courriel',
'passwordremindertitle' => 'Nouveau mot de passe temporaire pour {{SITENAME}}',
'passwordremindertext' => "Quelqu'un (probablement vous, ayant l'adresse IP $1) a demandé un nouveau mot de
Vous devriez ouvrir une session et modifier dès à présent votre mot de passe.
Ignorez ce message si ce compte a été créé par erreur.',
-'usernamehasherror' => "Le nom d'utilisateur ne peut pas contenir des caractères de hachage",
+'usernamehasherror' => "Le nom d'utilisateur/utilisatrice ne peut pas contenir des caractères de hachage",
'login-throttled' => "Vous avez tenté un trop grand nombre de connexions dernièrement.
Veuillez attendre $1 avant d'essayer à nouveau.",
'login-abort-generic' => 'Votre tentative de connexion a échoué',
'resetpass_submit' => 'Changer le mot de passe et se connecter',
'changepassword-success' => 'Votre mot de passe a été changé avec succès !',
'resetpass_forbidden' => 'Les mots de passe ne peuvent pas être changés',
-'resetpass-no-info' => 'Vous devez être connecté pour avoir accès à cette page.',
+'resetpass-no-info' => 'Vous devez être connecté(e) pour avoir accès à cette page.',
'resetpass-submit-loggedin' => 'Changer de mot de passe',
'resetpass-submit-cancel' => 'Annuler',
'resetpass-wrong-oldpass' => 'Mot de passe actuel ou temporaire invalide.
'passwordreset-legend' => 'Remise à zéro du mot de passe',
'passwordreset-disabled' => 'La réinitialisation des mots de passe a été désactivée sur ce wiki.',
'passwordreset-emaildisabled' => 'Les fonctionnalités e-mail ont été désactivées sur ce wiki.',
-'passwordreset-username' => "Nom d'utilisateur :",
+'passwordreset-username' => "Nom d'utilisateur/utilisatrice :",
'passwordreset-domain' => 'Domaine :',
'passwordreset-capture' => 'Voir le courriel résultant?',
'passwordreset-capture-help' => "Si vous cochez cette case, le courriel (avec le mot de passe temporaire) vous sera affiché en même temps qu'il sera envoyé à l'utilisateur.",
$2
{{PLURAL:$3|Ce mot de passe temporaire expirera|Ces mots de passe temporaires expireront}} dans {{PLURAL:$5|un jour|$5 jours}}. Vous devez maintenant vous connecter et choisir un nouveau mot de passe. Si cette demande ne provient pas de vous, ou que vous vous êtes souvenu de votre mot de passe initial, et ne souhaitez plus le modifier, vous pouvez ignorer ce message et continuer à utiliser votre ancien mot de passe.",
-'passwordreset-emailelement' => "Nom d'utilisateur : $1
+'passwordreset-emailelement' => "Nom d'{{GENDER:$1|utilisateur|utilisatrice|utilisateur/utilisatrice}} : $1
Mot de passe temporaire : $2",
'passwordreset-emailsent' => 'Un courriel de réinitialisation de mot de passe a été envoyé.',
'passwordreset-emailsent-capture' => 'Un courriel de réinitialisation de mot de passe a été envoyé, qui est affiché ci-dessous.',
-'passwordreset-emailerror-capture' => "Un courriel de réinitialisation de mot de passe a été généré, qui est affiché ci-dessous, mais l'envoi à l'{{GENDER:$2|utilisateur}} a échoué : $1",
+'passwordreset-emailerror-capture' => "Un courriel de réinitialisation de mot de passe a été généré, qui est affiché ci-dessous, mais l'envoi à l'{{GENDER:$2|utilisateur|utilisatrice|utilisateur/utilisatrice}} a échoué : $1",
# Special:ChangeEmail
'changeemail' => 'Changer l’adresse de courriel',
'changeemail-header' => 'Changer l’adresse de courriel du compte',
'changeemail-text' => 'Remplissez ce formulaire pour changer votre adresse de courriel. Vous devrez entrer votre mot de passe pour confirmer ce changement.',
-'changeemail-no-info' => 'Vous devez être connecté pour pouvoir accéder directement à cette page.',
+'changeemail-no-info' => 'Vous devez être connecté(e) pour pouvoir accéder directement à cette page.',
'changeemail-oldemail' => 'Adresse de courriel actuelle :',
'changeemail-newemail' => 'Nouvelle adresse de courriel :',
'changeemail-none' => '(aucune)',
'showlivepreview' => 'Aperçu rapide',
'showdiff' => 'Voir les modifications',
'anoneditwarning' => "'''Attention :''' vous n'êtes pas identifié(e). Votre adresse IP sera enregistrée dans l'historique de cette page.",
-'anonpreviewwarning' => "''Vous n'êtes pas identifié. Sauvegarder enregistrera votre adresse IP dans l'historique des modifications de la page.''",
+'anonpreviewwarning' => "''Vous n'êtes pas identifié(e). Sauvegarder enregistrera votre adresse IP dans l'historique des modifications de la page.''",
'missingsummary' => "'''Rappel :''' vous n'avez pas encore fourni le résumé de votre modification.
Si vous cliquez de nouveau sur le bouton « {{int:savearticle}} », la publication sera faite sans nouvel avertissement.",
'missingcommenttext' => 'Veuillez entrer un commentaire ci-dessous.',
* Expiration du blocage : $6
* Compte bloqué : $7.
-Vous pouvez contacter $1 ou un autre [[{{MediaWiki:Grouppage-sysop}}|administrateur]] pour en discuter.
+Vous pouvez contacter $1 ou un autre [[{{MediaWiki:Grouppage-sysop}}|administrateur ou administratrice]] pour en discuter.
Vous ne pouvez utiliser la fonction « {{MediaWiki:emailpage}} » que si une adresse de courriel valide est spécifiée dans vos [[Special:Preferences|préférences]] et que si cette fonctionnalité n’a pas été bloquée.
Votre adresse IP actuelle est $3 et votre identifiant de blocage est $5.
Veuillez préciser ces indications dans toutes les requêtes que vous ferez.",
* Expiration du blocage : $6
* Compte bloqué : $7
-Vous pouvez contacter $1 ou l’un des autres [[{{MediaWiki:Grouppage-sysop}}|administrateurs]] pour discuter de ce blocage.
+Vous pouvez contacter $1 ou l’un des autres [[{{MediaWiki:Grouppage-sysop}}|administrateurs et administratrices]] pour discuter de ce blocage.
Notez que vous ne pourrez utiliser la fonctionnalité d’envoi de courriel que si vous avez une adresse de courriel validée dans vos [[Special:Preferences|préférences]] et que si cette fonctionnalité n’a pas été désactivée.
Vous pouvez copier et coller votre texte dans un fichier texte et l’enregistrer pour plus tard.
L’administrateur ayant verrouillé la base de données a donné l’explication suivante : $1",
-'protectedpagewarning' => "'''AVERTISSEMENT : cette page est protégée. Seuls les utilisateurs ayant le statut d'administrateur peuvent la modifier.'''<br />
+'protectedpagewarning' => "'''AVERTISSEMENT : cette page est protégée. Seuls les utilisateurs et utilisatrices ayant le statut administrateur peuvent la modifier.'''<br />
La dernière entrée du journal est affichée ci-dessous pour référence :",
-'semiprotectedpagewarning' => "'''Note :''' Cette page a été protégée de telle façon que seuls les contributeurs enregistrés puissent la modifier. La dernière entrée du journal est affichée ci-dessous pour référence :",
-'cascadeprotectedwarning' => "'''ATTENTION :''' Cette page a été protégée de manière à ce que seuls les administrateurs puissent la modifier. Cette protection est héritée par son inclusion par {{PLURAL:$1|la page protégée suivante, qui a|les pages protégées suivantes, qui ont}} la « protection en cascade » activée :",
+'semiprotectedpagewarning' => "'''Note :''' Cette page a été protégée de telle façon que seuls les contributeurs et contributrices enregistré(e)s puissent la modifier. La dernière entrée du journal est affichée ci-dessous pour référence :",
+'cascadeprotectedwarning' => "'''ATTENTION :''' Cette page a été protégée de manière à ce que seul(e)s les administrateurs et administratrices puissent la modifier. Cette protection est héritée par son inclusion par {{PLURAL:$1|la page protégée suivante, qui a|les pages protégées suivantes, qui ont}} la « protection en cascade » activée :",
'titleprotectedwarning' => "'''ATTENTION : Cette page a été protégée de telle manière que des [[Special:ListGroupRights|droits spécifiques]] sont requis pour pouvoir la créer.''' La dernière entrée du journal est affichée ci-dessous pour référence :",
'templatesused' => '{{PLURAL:$1|Modèle utilisé|Modèles utilisés}} par cette page :',
'templatesusedpreview' => '{{PLURAL:$1|Modèle utilisé|Modèles utilisés}} dans cette prévisualisation :',
'undo-failure' => 'Cette modification ne peut pas être défaite : cela entrerait en conflit avec les modifications intermédiaires.',
'undo-norev' => "La modification n'a pas pu être défaite parce qu'elle est inexistante ou qu'elle a été supprimée.",
'undo-summary' => 'Annulation des modifications $1 de [[Special:Contributions/$2|$2]] ([[User talk:$2|discussion]])',
-'undo-summary-username-hidden' => 'Annuler la révision $1 par un utilisateur masqué',
+'undo-summary-username-hidden' => 'Annuler la révision $1 par un(e) utilisateur/utilisatrice masqué(e)',
# Account creation failure
'cantcreateaccounttitle' => 'Vous ne pouvez pas créer de compte.',
# Revision deletion
'rev-deleted-comment' => '(résumé de modification retiré)',
-'rev-deleted-user' => "(nom d'utilisateur retiré)",
+'rev-deleted-user' => "(nom d'utilisateur/utilisatrice retiré)",
'rev-deleted-event' => '(entrée retirée)',
-'rev-deleted-user-contribs' => "[nom d'utilisateur ou adresse IP retiré - modification masquée sur les contributions]",
+'rev-deleted-user-contribs' => "[nom d'utilisateur/utilisatrice ou adresse IP retiré - modification masquée sur les contributions]",
'rev-deleted-text-permission' => "Cette version de la page a été '''effacée'''.
Des détails sont disponibles dans le [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} journal des effacements].",
'rev-deleted-text-unhide' => "Cette version de la page a été '''effacée'''.
'revdelete-hide-image' => 'Masquer le contenu du fichier',
'revdelete-hide-name' => "Masquer l'action et la cible",
'revdelete-hide-comment' => 'Modifier le résumé',
-'revdelete-hide-user' => 'Nom d’utilisateur/Adresse IP de l’éditeur',
-'revdelete-hide-restricted' => "Supprimer ces données aux administrateurs ainsi qu'aux autres",
+'revdelete-hide-user' => 'Nom d’utilisateur/utilisatrice ou adresse IP de l’éditeur/éditrice',
+'revdelete-hide-restricted' => "Supprimer ces données aux administrateurs et administratrices ainsi bien qu'aux autres",
'revdelete-radio-same' => '(ne pas changer)',
'revdelete-radio-set' => 'Visible',
'revdelete-radio-unset' => 'Masqué',
'revdelete-no-change' => "'''Attention :''' L'élément daté du $1 à $2 a déjà les paramètres de visibilité demandés.",
'revdelete-concurrent-change' => "Erreur lors de la modification de l'élément daté du $1 à $2 : son statut a été changé par quelqu'un d'autre pendant que vous le modifiez.
Vérifiez les journaux.",
-'revdelete-only-restricted' => "Erreur lors de la suppression de l'entrée datée du $1 à $2 : vous ne pouvez pas supprimer ces éléments aux administrateurs sans également sélectionner des autres options de suppression.",
+'revdelete-only-restricted' => "Erreur lors de la suppression de l'entrée datée du $1 à $2 : vous ne pouvez pas supprimer ces éléments aux administrateurs et administratrices sans également sélectionner des autres options de suppression.",
'revdelete-reason-dropdown' => "* Raisons courantes de suppression :
** Violation des droits d'auteurs ;
** Commentaires ou renseignements personnels inappropriés ;
'tooltip-undo' => '« Annuler » rétablit la modification précédente et ouvre la fenêtre de modification en mode prévisualisation. Il est possible d’ajouter une raison dans le résumé.',
'tooltip-preferences-save' => 'Sauvegarder les préférences',
'tooltip-summary' => 'Entrez un bref résumé',
-'tooltip-iwiki' => '$1 — $2',
+'interlanguage-link-title' => '$1 — $2',
# Stylesheets
'common.css' => '/* Le CSS placé ici sera appliqué à tous les habillages. */',
'pageinfo-length' => 'Taille de la page (en octets)',
'pageinfo-article-id' => 'Numéro de la page',
'pageinfo-language' => 'Langue du contenu de la page',
+'pageinfo-content-model' => 'Modèle de contenu de la page',
'pageinfo-robot-policy' => 'Indexation par robots',
'pageinfo-robot-index' => 'Autorisée',
'pageinfo-robot-noindex' => 'Interdite',
'gotaccount' => "Dü hääst ål en brükerkonto? '''$1'''.",
'gotaccountlink' => 'Uunmelde',
'userlogin-resetlink' => 'Heest dü din login dooten ferjiden?',
-'userlogin-resetpassword-link' => 'Paaswurd turagsaat',
+'userlogin-resetpassword-link' => 'Paaswurd ferjiden?',
'helplogin-url' => 'Help:Uunmelde',
'userlogin-helplink' => "[[{{MediaWiki:helplogin-url}}|Halep bi't uunmeldin]]",
'userlogin-loggedin' => 'Du beest al üs {{GENDER:$1|$1}} uunmeldet.
'createacct-benefit-body2' => '{{PLURAL:$1|sidj|sidjen}}',
'createacct-benefit-body3' => 'aktiif {{PLURAL:$1|skriiwer|skriiwern}}',
'badretype' => 'Jo tau paaswurden san ei likedenang.',
-'userexists' => 'Dideer brükernoome as ål ferjääwen.
-Wees sü gödj en kiis en ouderen.',
+'userexists' => 'Didiar brükernööm as al wech.
+Wees so gud an schük di en öödern.',
'loginerror' => "Bi't uunmeldin as wat skiaf gingen",
'createacct-error' => "Bi't iinrachten faan det brükerkonto as wat skiaf gingen",
'createaccounterror' => 'Brükerkonto küd ei iinracht wurd: $1',
Ferschük det man noch ans.',
'passwordtooshort' => 'Paaswurden skel tumanst {{PLURAL:$1|1 tiaken|$1 tiakens}} lung wees.',
'password-name-match' => 'Dü könst dan brükernööm ei üs paaswurd nem.',
-'password-login-forbidden' => 'Jüdeer brükernoome än paasuurd as ferbin.',
+'password-login-forbidden' => 'Didiar brükernööm mä detdiar paaswurd as ei tuläät.',
'mailmypassword' => 'Schüür mi en nei paaswurd.',
'passwordremindertitle' => 'Nei tidjwiis paaswurd för {{SITENAME}}',
'passwordremindertext' => 'En brüker (woorskiinelk dü, faan IP adres $1) hää am en nei paaswurd för {{SITENAME}} ($4) fraaget.
'passwordreset-legend' => 'Paaswurd turagsaat',
'passwordreset-disabled' => 'Dü könst din paaswurd uun detdiar wiki ei turagsaat.',
'passwordreset-emaildisabled' => 'E-mail as üüb detheer Wiki ufknipset wurden.',
-'passwordreset-username' => 'Brükernoome:',
+'passwordreset-username' => 'Brükernööm:',
'passwordreset-domain' => 'Domain:',
'passwordreset-capture' => 'Wel dü det e-mail nooracht uunluke?',
-'passwordreset-capture-help' => 'Wan dü detheer kasje uunkrüsagst, woort det e-mail nooracht mä det nei paaswurd uunwiset an tu di brüker sjüürd.',
+'passwordreset-capture-help' => 'Wan dü detheer kasche uunkrüsagst, woort det e-mail nooracht mä det nei paaswurd uunwiset an tu di brüker schüürd.',
'passwordreset-email' => 'E-mail adres:',
'passwordreset-emailtitle' => 'Brükerkonto aw {{SITENAME}}',
'passwordreset-emailtext-ip' => 'Hoker mä det IP-Adres $1, woorskiinelk dü salew, wul hal brükerinformatsjuunen för {{SITENAME}} tusjüürd fu ($4). {{PLURAL:$3|Detdiar brükerkonto as|Jodiar brükerkontos san}} mä detdiar E-Mail-adres ferbünjen:
$2
{{PLURAL:$3|Detheer tidjwiis paaswurd lääpt|Joheer tidjwiis paaswurden luup}} efter {{PLURAL:$5|ään dai|$5 daar}} uf. Dü skulst di uunmelde an en nei paaswurd iinracht. Wan hoker ööders detheer uunfraag steld hää of dü din ual paaswurd käänst, säärst dü niks widjer onernem. Melde di ianfach mä din ual paaswurd uun.',
-'passwordreset-emailelement' => 'Brükernoome: $1
-Tidwis paasuurd: $2',
+'passwordreset-emailelement' => 'Brükernööm: $1
+Tidjwiis paaswurd: $2',
'passwordreset-emailsent' => 'Diar as en E-Mail tu di onerwais.',
'passwordreset-emailsent-capture' => 'Detdiar E-Mail, wat oner uunwiset woort, as tu di onerwais.',
'passwordreset-emailerror-capture' => 'Detdiar E-Mail, wat oner uunwiset woort, wiar tu di onerwais, oober küd ei tu di {{GENDER:$2|brüker}} ufsjüürd wurd: $1',
'revdelete-confirm' => 'Ferseekre noch ans, dat dü det würelk du wel, dat dü witjst, wat dü dääst, an dat det mä a [[{{MediaWiki:Policy-url}}|bestemangen]] auerian stemet.',
'revdelete-suppress-text' => "Det skul '''bluas''' onertrakt wurd bi:
* Persöönelk informatsjuunen, diar näämen wat uungung
-*: ''Adresen, Tilefoonnumern, Ferseekerangsnumern an sowat''",
+*: ''Adresen, tilefoonnumern, ferseekerangsnumern an sowat''",
'revdelete-legend' => 'Iinstelangen, hüföl tu sen wees skal',
'revdelete-hide-text' => 'Tekst faan det werjuun',
'revdelete-hide-image' => 'Fersteeg, wat uun det datei stäänt',
'mergehistory-into' => 'Ööder sidj:',
'mergehistory-list' => 'Werjuunen, diar tuupfeerd wurd kön.',
'mergehistory-merge' => 'Jodiar werjuunen faan „[[:$1]]“ kön efter „[[:$2]]“ auerdraanj wurd.
-Kääntiakne det wersjuun, wat üs leetst mä auerdraanj wurd skal.
-A nawigatjuun links saat ales weder turag üüb di ual stant.',
+Kääntiakne det werjuun, wat üs leetst mä auerdraanj wurd skal.
+A nawigatjuun-links saat ales weder turag üüb di ual stant.',
'mergehistory-go' => 'Wise werjuunen, diar tuupfeerd wurd kön.',
'mergehistory-submit' => 'Werjuunen tuupfeer',
'mergehistory-empty' => 'Nian werjuunen kön tuupfeerd wurd.',
# Upload
'upload' => 'Datei huuchschüür',
-'uploadbtn' => 'Datei huuchsjüür',
+'uploadbtn' => 'Datei huuchschüür',
'reuploaddesc' => "Ufbreeg an turag tu't sidj för't huuchschüüren",
'upload-tryagain' => 'Feranert dateibeskriiwang ufsjüür',
'uploadnologin' => 'Ei uunmeldet',
'filetype-unwanted-type' => "'''„.$1“''' as üs dateiformaat ei tuläät. Tuläät {{PLURAL:$3|as detdiar formaat|san jodiar formaaten}}: $2.",
'filetype-banned-type' => "'''„.$1“''' {{PLURAL:$4|as nään tuläät slach faan datein|san nian tuläät slacher faan datein}}.
{{PLURAL:$3|En tuläät slach as|Tuläät slacher san}} $2.",
-'filetype-missing' => 'Det datei, wat dü huuchsjüür wel, hää nian aanj (t.b. „.jpg“).',
+'filetype-missing' => 'Det datei, wat dü huuchschüür wel, hää nian aanj (t.b. „.jpg“).',
'empty-file' => 'Det datei, wat dü huuchschüürd heest, as leesag.',
'file-too-large' => 'Det datei, wat dü huuchschüürd heest, as tu grat.',
'filename-tooshort' => 'Di dateinööm as tu kurt.',
'large-file' => 'Datein skul ei grater wees üs $1, wan mögelk. Detdiar datei as $2 grat.',
'largefileserver' => 'Detdiar datei as grater, üs di server üüb iinsteld as.',
'emptyfile' => 'Det datei, wat dü huuchschüürd heest, as leesag. Ferlicht heest dü di ferskrewen. Luke noch ans, of dü würelk detdiar datei huuchschüür wel.',
-'windows-nonascii-filename' => 'Detheer Wiki läät nian dateinöömer mä sondertiaken tu.',
+'windows-nonascii-filename' => 'Detheer wiki läät nian dateinöömer mä aparte tiakens tu.',
'fileexists' => 'En datei mä didiar nööm jaft at al. Luke noch ans efter <strong>[[:$1]]</strong>, wan dü ei gans seeker beest, of dü det anre wel.
[[$1|thumb]]',
'filepageexists' => "En beskriiwangssidj för <strong>[[:$1]]</strong> as al diar, oober nian datei. Din beskriiwang woort ei apnimen. Det beskriiwangssidj mut do man efter't huuchschüüren noch ans efterluket wurd.
* Nööm faan det nei datei: <strong>[[:$1]]</strong>
* Nööm faan det ual datei: <strong>[[:$2]]</strong>
Wees so gud an nem en öödern nööm.',
-'fileexists-thumbnail-yes' => "Detdiar datei as was en letjer maaget bil ''(thumbnail)''. [[$1|thumb]]
+'fileexists-thumbnail-yes' => "Detdiar datei as was en sümnaielbil ''(thumbnail)''. [[$1|thumb]]
Luke di det datei <strong>[[:$1]]</strong> noch ans uun.
-Wan det det originaal bil as, säärst dü nään letjer maaget bil huuchsjüür.",
-'file-thumbnail-no' => "Di dateinööm begant mä <strong>$1</strong>. Det as was en letjer maaget bil ''(thumbnail)''.
+Wan det det originaal bil as, säärst dü nian sümnaielbil huuchschüür.",
+'file-thumbnail-no' => "Di dateinööm begant mä <strong>$1</strong>. Det as was en sümnaielbil ''(thumbnail)''.
Luke noch ans efter, of dü det bil uun fol grate diar heest, an do schüür det huuch.",
'fileexists-forbidden' => 'En datei mä didiar nööm jaft at al an koon ei auerskrewen wurd.
Gung noch ans turag an schüür det datei mä en öödern nööm huuch.
[[File:$1|thumb|center|$1]]',
-'fileexists-shared-forbidden' => "En datei mä didiar nööm stäänt al uun't gemiansoom archiif. Wan dü det bil likes huuchsjüür wel, gung turag nem en öödern nööm.
+'fileexists-shared-forbidden' => "En datei mä didiar nööm stäänt al uun't gemiansoom archiif. Wan dü det bil likes huuchschüür wel, gung turag an nem en öödern nööm.
[[File:$1|thumb|center|$1]]",
'file-exists-duplicate' => 'Detdiar datei as en duplikaat faan {{PLURAL:$1|detdiar datei|$1 datein}}:',
'file-deleted-duplicate' => "En duplikaat faan detdiar datei ([[:$1]]) as al ans stregen wurden. Luke iin uun logbuk för't striken, iar dü det noch ans huuchsjüürst.",
'sharedupload-desc-create' => 'Detdiar datei as faan $1 an koon faan ööder projekten brükt wurd.
Ferlicht wel dü det [$2 beskriiwangssidj] feranre.',
'filepage-nofile' => 'En datei mä didiar nööm jaft at ei.',
-'filepage-nofile-link' => 'En datei mä didiar nööm jaft at ei, man dü könst det [$1 huuchsjüür].',
+'filepage-nofile-link' => 'En datei mä didiar nööm jaft at ei, man dü könst det [$1 huuchschüür].',
'uploadnewversion-linktext' => 'En nei werjuun faan detdiar datei huuchschüür',
'shared-repo-from' => 'foon $1',
'shared-repo' => 'en gemiansoom archiif',
'usereditcount' => '{{PLURAL:$1|feranrang|$1 feranrangen}}',
'usercreated' => '{{GENDER:$3|Maaget}} di $1 am a klook $2',
'newpages' => 'Nei sidjen',
-'newpages-username' => 'Brükernoome:',
+'newpages-username' => 'Brükernööm:',
'ancientpages' => 'Al loong ei muar bewerket sidjen',
'move' => 'Fersküüw',
'movethispage' => 'Detdiar sidj fersküüw',
'usermaildisabledtext' => 'Dü könst nian e-mail tu ööder brükern schüür.',
'noemailtitle' => 'Nian e-mail adres',
'noemailtext' => 'Didiar brüker hää nian gudkäänd e-mail adres uunden.',
-'nowikiemailtitle' => 'E-mail koon ei sjüürd wurd',
+'nowikiemailtitle' => 'E-mail koon ei wechschüürd wurd',
'nowikiemailtext' => 'Didiar brüker maad nian e-mails faan ööder brükern fu.',
'emailnotarget' => 'Didiar brükernööm as ei bekäänd of ei gudkäänd, am ham en e-mail tu schüüren',
'emailtarget' => 'Brükernööm faan di ööder brüker iindu',
'restriction-edit' => 'Bewerke',
'restriction-move' => 'Fersküüw',
'restriction-create' => 'Maage',
-'restriction-upload' => 'Huuchsjüür',
+'restriction-upload' => 'Huuchschüür',
# Restriction levels
'restriction-level-sysop' => 'seekert (bluas för administratooren)',
'tooltip-undo' => 'Saat bluas det leetst feranrang turag an wiset det resultoot uun en föörskau uun. Uun det tuupfaadet beskriiwang skul en grünj för det turagsaaten uunden wurd.',
'tooltip-preferences-save' => 'Iinstelangen seekre',
'tooltip-summary' => 'Faade det kurt tuup',
+'interlanguage-link-title' => '$1 - $2',
# Metadata
'notacceptable' => 'Di Wiki-server koon a dooten ei för dan aperoot apwerke.',
'pageinfo-length' => 'Sidjenlengde (uun bytes)',
'pageinfo-article-id' => 'Sidjenkäännumer (ID)',
'pageinfo-language' => 'Sidjenspriak',
+'pageinfo-content-model' => 'Muude för sidjenteksten',
'pageinfo-robot-policy' => 'Faan bots indisiaret',
'pageinfo-robot-index' => 'Tuläät',
'pageinfo-robot-noindex' => 'Ei tuläät',
'confirm-unwatch-button' => 'OK',
'confirm-unwatch-top' => "Wel dü detdiar sidj ei muar uun't uug behual?",
+# Separators for various lists, etc.
+'quotation-marks' => '„$1“',
+
# Multipage image navigation
'imgmultipageprev' => '← leetst sidj (turag)',
'imgmultipagenext' => 'naist sidj →',
'logentry-suppress-revision-legacy' => '$1 {{GENDER:$2}} hää stalswigin det uunlukin feranert faan werjuunen faan det sidj $3',
'revdelete-content-hid' => 'Ferbürgen',
'revdelete-summary-hid' => 'Ferbürgen tuupfaadang',
-'revdelete-uname-hid' => 'brükernoome ferstäägen',
+'revdelete-uname-hid' => 'brükernööm ferbürgen',
'revdelete-content-unhid' => 'Ei muar ferberag',
'revdelete-summary-unhid' => 'Tuupfaadang ei muar ferberag',
-'revdelete-uname-unhid' => 'brükernoome frijääwen',
+'revdelete-uname-unhid' => 'brükernööm weder tu sen',
'revdelete-restricted' => 'mögelkhaiden för administratooren wechnimen',
'revdelete-unrestricted' => 'mögelkhaiden för administratooren ütjwidjet',
'logentry-move-move' => '$1 {{GENDER:$2}} hää det sidj $3 efter $4 fersköwen.',
'pagehist' => 'Eachdraidh na duilleige',
'deletedhist' => 'Eachdraidh a chaidh a sguabadh às',
'revdelete-hide-current' => "Mearachd a' cur am falach an nì dhen $2, $1: Seo an lèirmheas làithreach. Cha ghabh a chur am falach.",
+'revdelete-show-no-access' => 'Mearachd a\' sealltainn an nì on $2, $1: Tha comharra ann a dh\'innseas gu bheil e "cuingichte".
+Chan eil cothrom agad air.',
+'revdelete-modify-no-access' => 'Mearachd ag atharrachadh an nì on $2, $1: Tha comharra ann a dh\'innseas gu bheil e "cuingichte".
+Chan eil cothrom agad air.',
+'revdelete-modify-missing' => 'Mearachd ag atharrachadh an nì leis an ID $1: Chan eil e san stòr-dàta!',
+'revdelete-no-change' => "'''Rabhadh:''' Bha na roghainnean faicsinneachd a dh'iarr thu aig an nì dhen $2, $1 mu thràth.",
+'revdelete-concurrent-change' => "Mearachd ag atharrachadh an nì on $2, $1: Tha coltas gun deach a staid atharrachadh le cuideigin dìreach nuair a dh'fheuch thusa ri atharrachadh.
+Thoir sùil air na logaichean.",
'revdelete-otherreason' => 'Adhbhar eile/a bharrachd:',
'revdelete-reasonotherlist' => 'Adhbhar eile',
'revdelete-edit-reasonlist' => 'Deasaich adhbharan an sguabaidh às',
# Short words for each namespace, by default used in the namespace tab in monobook
'nstab-main' => 'Páxina',
-'nstab-user' => 'Páxina de {{GENDER:{{#titleparts:{{BASEPAGENAME}}|1}}|usuario|usuaria}}',
+'nstab-user' => 'Páxina de {{GENDER:{{ROOTPAGENAME}}|usuario|usuaria}}',
'nstab-media' => 'Páxina multimedia',
'nstab-special' => 'Páxina especial',
'nstab-project' => 'Páxina do proxecto',
'gotaccount' => 'Xa ten unha conta? $1.',
'gotaccountlink' => 'Acceda ao sistema',
'userlogin-resetlink' => 'Esqueceu os seus datos de rexistro?',
-'userlogin-resetpassword-link' => 'Restablecer o seu contrasinal',
+'userlogin-resetpassword-link' => 'Esqueceu o contrasinal?',
'helplogin-url' => 'Help:Rexistro',
'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Axuda co rexistro]]',
'userlogin-loggedin' => 'Xa accedeu ao sistema como {{GENDER:$1|$1}}.
'mailerror' => 'Produciuse un erro ao enviar o correo electrónico: $1',
'acct_creation_throttle_hit' => 'Alguén que visitou este wiki co seu enderezo IP creou, no último día, {{PLURAL:$1|unha conta|$1 contas}}, que é o máximo permitido neste período de tempo.
Como resultado, os visitantes que usen este enderezo IP non poden crear máis contas nestes intres.',
-'emailauthenticated' => 'O seu enderezo de correo electrónico foi autenticado o $2 ás $3.',
-'emailnotauthenticated' => 'O seu enderezo de correo electrónico aínda <strong>non foi autenticado</strong>. Non se enviou ningunha mensaxe por algunha das seguintes razóns.',
+'emailauthenticated' => 'O seu enderezo de correo electrónico foi confirmado o $2 ás $3.',
+'emailnotauthenticated' => 'O seu enderezo de correo electrónico aínda non foi confirmado.
+Non se enviará ningunha mensaxe por ningunha das seguintes características.',
'noemailprefs' => 'Especifique un enderezo de correo electrónico se quere que funcione esta opción.',
'emailconfirmlink' => 'Confirmar o enderezo de correo electrónico',
'invalidemailaddress' => 'Non se pode aceptar o enderezo de correo electrónico porque semella ter un formato incorrecto.
* Información persoal inapropiada
*: ''domicilios e números de teléfono, números da seguridade social, etc.''",
'revdelete-legend' => 'Aplicar restricións de visibilidade',
-'revdelete-hide-text' => 'Agochar o texto da revisión',
+'revdelete-hide-text' => 'Texto da revisión',
'revdelete-hide-image' => 'Agochar o contido do ficheiro',
'revdelete-hide-name' => 'Agochar a acción e o destino',
-'revdelete-hide-comment' => 'Agochar o resumo de edición',
-'revdelete-hide-user' => 'Agochar o nome de usuario ou o enderezo IP do editor',
+'revdelete-hide-comment' => 'Resumo de edición',
+'revdelete-hide-user' => 'Nome de usuario ou enderezo IP do editor',
'revdelete-hide-restricted' => 'Eliminar os datos da vista dos administradores así coma da doutros',
'revdelete-radio-same' => '(non cambiar)',
-'revdelete-radio-set' => 'Si',
-'revdelete-radio-unset' => 'Non',
+'revdelete-radio-set' => 'Visible',
+'revdelete-radio-unset' => 'Agochado',
'revdelete-suppress' => 'Eliminar os datos da vista dos administradores así coma da doutros',
'revdelete-unsuppress' => 'Retirar as restricións sobre as revisións restauradas',
'revdelete-log' => 'Motivo:',
'tooltip-undo' => '"Desfacer" reverte esta edición e abre o formulario de edición nun modo previo. Permite engadir un motivo no resumo de edición.',
'tooltip-preferences-save' => 'Gardar as preferencias',
'tooltip-summary' => 'Escriba un breve resumo',
+'interlanguage-link-title' => '$1 – $2',
# Stylesheets
'common.css' => '/** O CSS que se coloque aquí será aplicado a todas as aparencias */',
'pageinfo-length' => 'Lonxitude da páxina (en bytes)',
'pageinfo-article-id' => 'ID da páxina',
'pageinfo-language' => 'Lingua do contido da páxina',
+'pageinfo-content-model' => 'Modelo do contido da páxina',
'pageinfo-robot-policy' => 'Indexación por robots',
'pageinfo-robot-index' => 'Permitida',
'pageinfo-robot-noindex' => 'Non permitida',
'vector-action-move' => 'Fuddem voch',
'vector-action-protect' => 'Rakh',
'vector-view-create' => 'Roch',
-'vector-view-edit' => 'sudar',
+'vector-view-edit' => 'Sudar',
'vector-view-history' => 'Itihas polloi',
'vector-view-view' => 'Vach',
'vector-view-viewsource' => 'Mull polloi',
'newuserlogpage' => 'Vapurpi rochnnechem sotr',
# Associated actions - in the sentence "You do not have permission to X"
-'action-edit' => 'hem pan bodol',
+'action-edit' => 'hem pan sudar',
# Recent changes
'nchanges' => '$1 {{PLURAL:$1|bodlop|bodlopam}}',
# Database error messages
'dberr-header' => 'આ વિકિમાં તકલીફ છે',
-'dberr-problems' => 'દિલàª\97à«\80રà«\80! àª\86 સાàª\87àª\9f તàª\95નિàª\95à«\80 àª\85ડàª\9aણ અનુભવી રહી છે.',
+'dberr-problems' => 'માફ àª\95રશà«\8b! àª\86 સાàª\87àª\9f તàª\95નિàª\95à«\80 àª\85ડàª\9aણà«\8b અનુભવી રહી છે.',
'dberr-again' => 'થોડી વાર રાહ જોઈને ફરી પેજ લોડ કરવાનો પ્રયત્ન કરો.',
'dberr-info' => '(માહિતી સંચય સર્વર : $1નો સંપર્ક નથી કરી શકાયો)',
'dberr-info-hidden' => '(ડેટાબેઝ સર્વર સાથે જોડાણ થઇ શકતું નથી)',
'revdelete-suppress-text' => "יש להשתמש בהסתרה מלאה '''אך ורק''' במקרים הבאים:
* מידע שעלול להיות לשון הרע
* חשיפת מידע אישי
-*: '''×\9bת×\95×\91×\95ת ×\91ת×\99×\9d ×\95×\9eספר×\99 ×\98×\9cפ×\95×\9f, ×\9eספר×\99 ×\91×\99×\98×\95×\97 ×\9c×\90×\95×\9e×\99, וכדומה'''",
+*: '''×\9bת×\95×\91×\95ת ×\91ת×\99×\9d ×\95×\9eספר×\99 ×\98×\9cפ×\95×\9f, ×\9eספר×\99 ×\96×\99×\94×\95×\99 ×\9e×\93×\99× ×ª×\99×\99×\9d, וכדומה'''",
'revdelete-legend' => 'הגדרת הגבלות התצוגה',
'revdelete-hide-text' => 'תוכן הגרסה',
'revdelete-hide-image' => 'הסתרת תוכן הקובץ',
'pageinfo-length' => 'אורך הדף (בבתים)',
'pageinfo-article-id' => 'מזהה הדף',
'pageinfo-language' => 'שפת התוכן של הדף',
+'pageinfo-content-model' => 'סוג התוכן של הדף',
'pageinfo-robot-policy' => 'איסוף על ידי רובוטים של מנועי חיפוש',
'pageinfo-robot-index' => 'מותר',
'pageinfo-robot-noindex' => 'אסור',
'gotaccount' => "Tu jam ha un conto? '''$1'''.",
'gotaccountlink' => 'Aperir session',
'userlogin-resetlink' => 'Datos de authentication oblidate?',
-'userlogin-resetpassword-link' => 'Reinitialisar contrasigno',
+'userlogin-resetpassword-link' => 'Contrasigno oblidate?',
'helplogin-url' => 'Help:Aperir session',
'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Adjuta a aperir session]]',
'userlogin-loggedin' => 'Tu ha jam aperite session como {{GENDER:$1|$1}}.
'pageinfo-length' => 'Dimension del pagina (in bytes)',
'pageinfo-article-id' => 'ID del pagina',
'pageinfo-language' => 'Lingua del contento del pagina',
+'pageinfo-content-model' => 'Modello de contento de pagina',
'pageinfo-robot-policy' => 'Indexation per robots',
'pageinfo-robot-index' => 'Permittite',
'pageinfo-robot-noindex' => 'Non permittite',
'confirm-unwatch-button' => 'OK',
'confirm-unwatch-top' => 'Remover iste pagina de tu observatorio?',
+# Separators for various lists, etc.
+'quotation-marks' => '“$1”',
+
# Multipage image navigation
'imgmultipageprev' => '← precedente pagina',
'imgmultipagenext' => 'sequente pagina →',
'pageinfo-length' => 'Kaatiddog ti panid (kadagiti byte)',
'pageinfo-article-id' => 'ID ti panid',
'pageinfo-language' => 'Pagsasao ti naglaon a panid',
+'pageinfo-content-model' => 'Modelo ti linaon ti panid',
'pageinfo-robot-policy' => 'Panagpasurot babaen dagiti robot',
'pageinfo-robot-index' => 'Maipalubos',
'pageinfo-robot-noindex' => 'Saan a maipalubos',
'pageinfo-length' => 'Lunghezza della pagina (in byte)',
'pageinfo-article-id' => 'ID della pagina',
'pageinfo-language' => 'Lingua del contenuto della pagina',
+'pageinfo-content-model' => 'Modello del contenuto della pagina',
'pageinfo-robot-policy' => 'Indicizzazione per i robot',
'pageinfo-robot-index' => 'Consentito',
'pageinfo-robot-noindex' => 'Non consentito',
'tooltip-undo' => '「取り消し」はこの編集を差し戻し、編集画面をプレビュー付きで開きます。要約欄に理由を追加できます。',
'tooltip-preferences-save' => '設定を保存する',
'tooltip-summary' => '短い要約を入力してください',
+'interlanguage-link-title' => '$1 – $2',
# Stylesheets
'common.css' => '/* ここに記述したCSSはすべての外装に反映されます */',
'pageinfo-length' => 'ページの長さ (バイト単位)',
'pageinfo-article-id' => 'ページ ID',
'pageinfo-language' => 'ページ本文の言語',
+'pageinfo-content-model' => 'ページのコンテンツ モデル',
'pageinfo-robot-policy' => 'ロボットによるインデックス作成',
'pageinfo-robot-index' => '許可',
'pageinfo-robot-noindex' => '不許可',
'tooltip-undo' => 'შეტანილი ცვლილებების გაუქმება და წინასწარ გადახედვის ჩვენება, გაუქმების მიზეზის სქოლიოში ჩაწერასთან ერთად.',
'tooltip-preferences-save' => 'შეინახეთ კონფიგურაცია',
'tooltip-summary' => 'შეიყვანეთ მოკლე სქოლიო',
-'tooltip-iwiki' => '$1 — $2',
+'interlanguage-link-title' => '$1 — $2',
# Stylesheets
'common.css' => '/** აქ ჩასმული CSS გამოყენებული იქნება გაფორმების ყველა გარეკანზე */',
* @file
*
* @author Erdemaslancan
+ * @author Gorizon
* @author Mirzali
*/
'pool-errorunknown' => 'Xeta nêzanıtiye',
# All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
-'aboutsite' => 'Heqa {{SITENAME}} de',
+'aboutsite' => 'Heqdé {{SITENAME}}',
'aboutpage' => 'Project:Heqa',
'copyright' => 'Zerrek bınê $1 dero.',
'copyrightpage' => '{{ns:project}}:Telifheqiye',
'tooltip-undo' => '"편집 취소" 기능을 사용하면 이 편집이 되돌려지고 차이 보기 기능이 미리 보기 형식으로 나타납니다. 편집 요약에 이 편집을 왜 되돌리는지에 대한 이유를 쓸 수 있습니다.',
'tooltip-preferences-save' => '환경 설정 저장하기',
'tooltip-summary' => '짧은 요약을 적어주세요',
-'tooltip-iwiki' => '$2 - $1',
+'interlanguage-link-title' => '$2 - $1',
# Stylesheets
'common.css' => '/* 이 CSS 설정은 모든 스킨에 동일하게 적용됩니다 */',
'allnotinnamespace' => 'Omnes paginae (quibus in spatio nominali $1 exclusis)',
'allpagesprev' => 'Superior',
'allpagesnext' => 'Proxima',
-'allpagessubmit' => 'Ire',
+'allpagessubmit' => 'Adhibere',
'allpagesprefix' => 'Monstrare paginas quibus est praeverbium:',
'allpagesbadtitle' => 'Nomen paginae datum fuit invalidum aut praverbium interlinguale vel interviciale habuit. Fortasse insunt una aut plus litterarum quae in titulis non possunt inscribier.',
'allpages-bad-ns' => 'Non est spatium nominale "$1" apud {{grammar:accusative|{{SITENAME}}}}.',
# Namespace form on various pages
'namespace' => 'Spatium nominale:',
'invert' => 'Selectionem invertere',
+'namespace_association' => 'Spatium nominale pertinens',
'blanknamespace' => '(principale)',
# Contributions
Erlaabt et e Grond an de Resumé derbäizesetzen.',
'tooltip-preferences-save' => 'Astellunge späicheren',
'tooltip-summary' => 'Gitt e kuerze Resumé an',
-'tooltip-iwiki' => '$1 - $2',
+'interlanguage-link-title' => '$1 - $2',
# Stylesheets
'common.css' => "/* Dës CSS huet nëmmen Afloss op de Skin ''Chick'' */",
'pageinfo-length' => 'Gréisst vun der Säit (a Bytes)',
'pageinfo-article-id' => 'ID (Nummer) vun der Säit',
'pageinfo-language' => 'Sprooch vum Inhalt vun der Säit',
+'pageinfo-content-model' => 'Modell vun enger Säit mat Inhalt',
'pageinfo-robot-policy' => 'Indexéierung duerch Botten',
'pageinfo-robot-index' => 'Erlaabt',
'pageinfo-robot-noindex' => 'Net erlaabt',
'tooltip-undo' => '„Откажи“ го поништува ова уредување и ве носи на уредувањето во режим на преглед. Дава можност за наведување на причина во описот.',
'tooltip-preferences-save' => 'Зачувај',
'tooltip-summary' => 'Внесете краток опис',
-'tooltip-iwiki' => '$1 — $2',
+'interlanguage-link-title' => '$1 — $2',
# Stylesheets
'common.css' => '/* Тука поставениот CSS ќе се применува врз сите рува */',
Iej könt in de bewearkingssamenvatting n reden opgeven.',
'tooltip-preferences-save' => 'Vuurkeuren opsloan',
'tooltip-summary' => 'Voer ne korte samenvatting in',
-'tooltip-iwiki' => '$1 – $2',
+'interlanguage-link-title' => '$1 – $2',
# Metadata
'notacceptable' => 'De wikiserver kan de gegevens niet leveren in n vorm die joew kliënt kan lezen.',
'edit-already-exists' => 'नयाँ पृष्ठ बनाउन सकिएन ।
यो पहिले देखि नै रहेको छ।',
+# Content models
+'content-model-wikitext' => 'विकिपाठ',
+'content-model-text' => 'साधारण पाठ',
+'content-model-javascript' => 'जाभास्क्रिप्ट',
+
# Parser/template warnings
'expensive-parserfunction-warning' => "'''चेतावनी:''' यस पृष्टका अति धेरै संख्याका महँगा पार्सर फंक्सन कल्स (expensive parser function calls) छन्।
यसमा $2 भन्दा कम {{PLURAL:$2|कल|कल्स}} हुनुपर्छ, यहाँ {{PLURAL:$1|अहिले $1 कल छ|अहिले $1 कल्स छ्न्}}.",
'revdelete-selected' => "'''[[:$1]]को {{PLURAL:$2|छानिएको संस्करण|छानिएका संस्करणहरु}} :'''",
'logdelete-selected' => "'''{{PLURAL:$1|छानिएको लग घटना|छानिएका लग घटनाहरु}}:'''",
'revdelete-legend' => 'दृष्टि बन्देज मिलाउने',
-'revdelete-hide-text' => 'पुनरावलोकन पाठ लुकाउने',
+'revdelete-hide-text' => 'पुनरावलोकन पाठ',
'revdelete-hide-image' => 'फाइल कमेन्ट लुकाउने',
'revdelete-hide-name' => 'कार्य र गन्तब्य लुकाउने',
-'revdelete-hide-comment' => 'सम्पादन टिप्पणी लुकाउने',
+'revdelete-hide-comment' => 'सम्पादन टिप्पणी',
'revdelete-hide-user' => 'सम्पादकको प्रयोगकर्ता नाम/IP लुकाउने',
'revdelete-hide-restricted' => 'प्रवन्धक वा अरुबाट डेटा कम लिने',
'revdelete-radio-same' => '(परिवर्तन नगर्नुहोस्)',
'prefs-beta' => 'बिटा गुणहरु',
'prefs-datetime' => 'मिति र समय',
'prefs-labs' => 'प्रयोगशाला गुणहरु',
+'prefs-user-pages' => 'प्रयोगकर्ता पृष्ठहरू',
'prefs-personal' => 'प्रयोगकर्ताको विवरण',
'prefs-rc' => 'नयाँ परिवर्तनहरु',
'prefs-watchlist' => 'अवलोकन पृष्ठ',
'prefs-dateformat' => 'मिति ढाँचा',
'prefs-timeoffset' => 'समय अफसेट',
'prefs-advancedediting' => 'सामान्य विकल्पहरू',
+'prefs-editor' => 'सम्पादक',
+'prefs-preview' => 'पूर्वावलोकन',
'prefs-advancedrc' => 'उन्नत विकल्पहरू',
'prefs-advancedrendering' => 'उन्नत विकल्पहरु',
'prefs-advancedsearchoptions' => 'उन्नत विकल्पहरू',
'prefs-displayrc' => 'प्रदर्शन विकल्पहरू',
'prefs-displaysearchoptions' => 'प्रदर्शन विकल्पहरू',
'prefs-displaywatchlist' => 'प्रदर्शन विकल्पहरू',
+'prefs-tokenwatchlist' => 'टोकन',
'prefs-diffs' => 'diffs(भिन्नता)',
# User preference: email validation using jQuery
# Recent changes
'nchanges' => '$1 {{PLURAL:$1|परिवर्तन|परिवर्तनहरु}}',
+'enhancedrc-history' => 'इतिहास',
'recentchanges' => 'नयाँ परिवर्तनहरु',
'recentchanges-legend' => 'हालैको परिवर्तन विकल्पहरु',
'recentchanges-summary' => 'विकिका भर्खरका परिवर्तनहरुलाई यस पृष्ठमा पहिल्याउने',
'listfiles_size' => 'आकार',
'listfiles_description' => 'वर्णन',
'listfiles_count' => 'संस्करणहरु',
+'listfiles-latestversion-yes' => 'हो',
+'listfiles-latestversion-no' => 'हैन',
# File description page
'file-anchor-link' => 'फाईल',
'tooltip-undo' => 'Met "ongedaan maken" draait u deze bewerking terug en komt in het bewerkingsvenster. U kunt in de bewerkingssamenvatting een reden opgeven.',
'tooltip-preferences-save' => 'Voorkeuren opslaan',
'tooltip-summary' => 'Voer een korte samenvatting in',
-'tooltip-iwiki' => '$1 – $2',
+'interlanguage-link-title' => '$1 – $2',
# Stylesheets
'common.css' => '/** CSS die hier wordt geplaatst heeft invloed op alle skins */',
'right-editmyusercss' => 'Modificar vòstres pròpris fichièrs CSS utilizaire',
'right-editmyuserjs' => 'Modificar vòstres pròpris fichièrs JavaScript utilizaire',
'right-viewmywatchlist' => 'Afichar vòstra pròpria lista de seguiment',
+'right-editmywatchlist' => 'Modificar vòstra pròpria lista de seguiment. Remarcatz que certanas accions apondràn encara de paginas sens aqueste drech.',
'right-viewmyprivateinfo' => 'Veire vòstras donadas personalas (exemple adreça, nom vertadièr)',
'right-editmyprivateinfo' => 'Modificar vòstras donadas personalas (exemple adreça, nom vertadièr)',
'right-editmyoptions' => 'Modificar vòstras preferéncias',
'recentchanges' => 'Darrièrs cambiaments',
'recentchanges-legend' => 'Opcions dels darrièrs cambiaments',
'recentchanges-summary' => 'Vaquí sus aquesta pagina, los darrièrs cambiaments de {{SITENAME}}.',
+'recentchanges-noresult' => 'Pas cap de modificacion que correspond a aqueles critèris sul periòde indicat.',
'recentchanges-feed-description' => "Seguissètz los darrièrs cambiaments d'aqueste wiki dins un flux.",
'recentchanges-label-newpage' => 'Aquesta modificacion a creat una pagina novèla',
'recentchanges-label-minor' => 'Aqueste cambiament es menor',
'statistics-edits' => 'Modificacions de paginas dempuèi que {{SITENAME}} foguèt installat',
'statistics-edits-average' => 'Modificacions mejanas per pagina',
'statistics-views-total' => 'Visitas totalas',
+'statistics-views-total-desc' => 'Las vistas de las paginas non existentas e de las paginas especialas son pas inclusas',
'statistics-views-peredit' => 'Visitas per modificacions',
'statistics-users' => '[[Special:ListUsers|Utilizaires]] enregistrats',
'statistics-users-active' => 'Utilizaires actius',
# Separators for various lists, etc.
'percent' => '$1 %',
+'quotation-marks' => '„$1”',
# Multipage image navigation
'imgmultipageprev' => '← poprzednia strona',
'pageinfo-length' => 'Longheur ëd la pàgina (an byte)',
'pageinfo-article-id' => 'Identificativ ëd la pàgina',
'pageinfo-language' => 'Lenga dël contnù dla pàgina',
+'pageinfo-content-model' => 'Model dël contnù ëd le pàgine',
'pageinfo-robot-policy' => 'Indicisassion con robò',
'pageinfo-robot-index' => 'Autorisà',
'pageinfo-robot-noindex' => 'Vietà',
* @author Lejonel
* @author Li-sung
* @author Liangent
+ * @author Liuxinyu970226
* @author Lloffiwr
* @author MF-Warburg
* @author Malafaya
{{Identical|View}}
{{Identical|Restore}}',
'undeleteviewlink' => 'First part of {{msg-mw|undeletelink}}.
+Display name of link to view a deleted page used on [[Special:Log/delete]].
{{Identical|View}}',
'undeletereset' => 'Shown on [[Special:Undelete]] as button caption.
{{Identical|Reset}}',
* {{msg-mw|Summary}}
* {{msg-mw|Accesskey-summary}}
* {{msg-mw|Tooltip-summary}}',
-'tooltip-iwiki' => 'Format of a sidebar interwiki link tooltip. Parameters:
+'interlanguage-link-title' => 'Format of a sidebar interwiki link tooltip. Parameters:
* $1 - page name in the target wiki
* $2 - target wiki language autonym',
'pageinfo-language' => 'Language in which the page content is written.',
'pageinfo-content-model' => 'The model in which the page content is written.
-Used as label. Followed by one of the following messages:
+Used as label at [{{fullurl:Main Page|action=info}} action=info]. Followed by one of the following messages:
* {{msg-mw|Content-model-wikitext}}
* {{msg-mw|Content-model-javascript}}
* {{msg-mw|Content-model-css}}
'percent' => '{{optional}}',
'parentheses' => '{{optional}}',
'brackets' => '{{Optional}}',
+'quotation-marks' => 'Quotation marks, for quoting, sometimes titles etc., depending on the language.
+
+See: [[w:Non-English usage of quotation marks|Non-English usage of quotation marks on Wikipedia]].
+
+Parameters:
+* $1 - text to be wrapped in quotation marks',
# Multipage image navigation
'imgmultipageprev' => '{{Identical|Previous page}}',
'revdelete-text' => "'''Versiunile șterse vor apărea în istoricul paginii, dar conținutul lor nu va fi accesibil publicului.''' Administratorii {{SITENAME}} pot accesa conținutul șters și îl pot recupera prin aceeași interfață, dacă nu este impusă altă restricție de către operatorii sitului.",
'revdelete-confirm' => 'Vă rugăm să confirmați că intenționați să faceți acest lucru, că înțelegeți consecințele și că faceți asta în conformitate cu [[{{MediaWiki:Policy-url}}|politica]].',
'revdelete-suppress-text' => "Suprimarea trebuie folosită '''doar''' în următoarele cazuri:
+* Informații potențial calomnioase
* Informații personale inadecvate
-*: ''adrese și numere de telefon personale, CNP, numere de securitate socială, etc.''",
+*: ''adrese și numere de telefon personale, CNP, numere de securitate socială etc.''",
'revdelete-legend' => 'Restricții de afișare',
'revdelete-hide-text' => 'Textul versiunii',
'revdelete-hide-image' => 'Șterge conținutul fișierului',
Permite adăugarea unui motiv în descrierea modificărilor',
'tooltip-preferences-save' => 'Salvează preferințele',
'tooltip-summary' => 'Descrieți pe scurt modificarea',
-'tooltip-iwiki' => '$1 – $2',
+'interlanguage-link-title' => '$1 – $2',
# Stylesheets
'common.css' => '/** CSS plasate aici vor fi aplicate tuturor aparițiilor */',
'confirm-unwatch-button' => 'OK',
'confirm-unwatch-top' => 'Eliminați această pagină din lista de pagini urmărite?',
+# Separators for various lists, etc.
+'quotation-marks' => '„$1”',
+
# Multipage image navigation
'imgmultipageprev' => '← pagina anterioară',
'imgmultipagenext' => 'pagina următoare →',
Администраторы проекта {{SITENAME}} будут иметь доступ к скрытому содержанию и смогут восстановить его через этот же интерфейс, за исключением случаев, когда установлено дополнительное ограничение.",
'revdelete-confirm' => 'Пожалуйста, подтвердите, что вы действительно желаете совершить это действие, осознаёте последствия, делаете это в соответствии с [[{{MediaWiki:Policy-url}}|правилами]].',
'revdelete-suppress-text' => "Сокрытие может производиться '''только''' в следующих случаях:
-
+* Потенциально клеветническая информация
* Неуместная личная информация
*: ''домашний адрес, номера телефонов, номер паспорта и т. д.''",
'revdelete-legend' => 'Установить ограничения:',
'tooltip-undo' => 'Убрать внесённую правку и показать предпросмотр, с возможностью указать причину отмены',
'tooltip-preferences-save' => 'Сохранить настройки',
'tooltip-summary' => 'Введите краткое описание',
-'tooltip-iwiki' => '$1 — $2',
+'interlanguage-link-title' => '$1 — $2',
# Stylesheets
'common.css' => '/* Размещённый здесь CSS будет применяться ко всем темам оформления */',
'pageinfo-length' => 'Длина страницы (в байтах)',
'pageinfo-article-id' => 'Идентификатор страницы',
'pageinfo-language' => 'Язык страницы',
+'pageinfo-content-model' => 'Модель содержимого страницы',
'pageinfo-robot-policy' => 'Индексация поисковыми роботами',
'pageinfo-robot-index' => 'Разрешено',
'pageinfo-robot-noindex' => 'Не разрешено',
'word-separator' => ' ',
'ellipsis' => '…',
'parentheses' => '($1)',
+'quotation-marks' => '«$1»',
# Multipage image navigation
'imgmultipageprev' => '← предыдущая страница',
Ẓr [[Special:Version|ayyaw tasna]].',
'ok' => 'Waxxa',
-'pagetitle' => '(MediaWiki)$1 - {{SITENAME}}',
+'pagetitle' => '$1 - {{SITENAME}}',
'pagetitle-view-mainpage' => '{{SITENAME}}',
'retrievedfrom' => 'Yurrid z "$1"',
'youhavenewmessages' => 'Illa dark $1 ($2).',
Če urejate prek AOL ali iz Bližnjega vzhoda, Afrike, Avstralije, Nove Zelandije ali iz šole, knjižnice ali podjetja, si IP-naslov morda delite z drugimi uporabniki. Če je tako, ste to sporočilo morda prejeli, čeprav niste ustvarili še nobenega računa. Znova se lahko poskusite registrirati po nekaj urah.',
'emailauthenticated' => 'Vaš e-poštni naslov je bil potrjen dne $2 ob $3.',
-'emailnotauthenticated' => 'Vaš e-poštni naslov še ni potrjen. Za navedene
-možnosti se e-pošte ne bo pošiljalo.',
+'emailnotauthenticated' => 'Vaš e-poštni naslov še ni potrjen.
+Za navedene možnosti e-pošte ne bomo pošiljali.',
'noemailprefs' => 'E-poštnega naslova niste vnesli, zato naslednje možnosti ne bodo delovale.',
'emailconfirmlink' => 'Potrdite svoj e-poštni naslov',
'invalidemailaddress' => 'E-poštni naslov zaradi neveljavne oblike ni sprejemljiv.
* Neprimerni osebni podatki
*: ''domači naslovi in telefonske številke, številke socialnega zavarovanja, etc.''",
'revdelete-legend' => 'Nastavi omejitve vidnosti',
-'revdelete-hide-text' => 'Skrij besedilo redakcije',
+'revdelete-hide-text' => 'Besedilo redakcije',
'revdelete-hide-image' => 'Skrij vsebino datoteke.',
'revdelete-hide-name' => 'Skrij dejanje in cilj',
-'revdelete-hide-comment' => 'Skrij povzetek urejanja',
-'revdelete-hide-user' => 'Skrij uporabniško ime/IP-naslov urejevalca',
+'revdelete-hide-comment' => 'Povzetek urejanja',
+'revdelete-hide-user' => 'Uporabniško ime/IP-naslov urejevalca',
'revdelete-hide-restricted' => 'Zadrži podatke od administratorjev kakor tudi od ostalih',
'revdelete-radio-same' => '(ne spremeni)',
-'revdelete-radio-set' => 'Da',
-'revdelete-radio-unset' => 'Ne',
+'revdelete-radio-set' => 'Vidno',
+'revdelete-radio-unset' => 'Skrito',
'revdelete-suppress' => 'Zadrži podatke od administratorjev kakor tudi od ostalih',
'revdelete-unsuppress' => 'Odpraviti omejitve na obnovljenih redakcijah.',
'revdelete-log' => 'Razlog:',
Omogoča vnos pojasnila v povzetku urejanja.',
'tooltip-preferences-save' => 'Shrani nastavitve',
'tooltip-summary' => 'Vnesite kratek povzetek',
+'interlanguage-link-title' => '$1 – $2',
# Metadata
'notacceptable' => 'V obliki, ki jo lahko bere vaš odjemalec, wikistrežnik podatkov ne more ponuditi.',
'pageinfo-length' => 'Dolžina strani (v bajtih)',
'pageinfo-article-id' => 'ID strani',
'pageinfo-language' => 'Jezik vsebine strani',
+'pageinfo-content-model' => 'Model vsebine strani',
'pageinfo-robot-policy' => 'Robotsko indeksiranje',
'pageinfo-robot-index' => 'Dovoljeno',
'pageinfo-robot-noindex' => 'Nedovoljeno',
# Special:Redirect
'redirect' => 'Preusmeri po datoteki, uporabniku ali ID-ju redakcije',
'redirect-legend' => 'Preusmeritev na datoteko ali stran',
-'redirect-summary' => 'Posebna stran preusmeri na datoteko (če podate ime datoteke), stran (če podate ID redakcije) ali uporabniško stran (če podatek številski ID uporabnika).',
+'redirect-summary' => 'Posebna stran preusmeri na datoteko (če podate ime datoteke), stran (če podate ID redakcije) ali uporabniško stran (če podate številski ID uporabnika). Primer: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]] ali [[{{#Special:Redirect}}/user/101]].',
'redirect-submit' => 'Pojdi',
'redirect-lookup' => 'Iskanje:',
'redirect-value' => 'Vrednost:',
'gotaccount' => 'Већ имате налог? Идите на страницу „$1“.',
'gotaccountlink' => 'Пријава',
'userlogin-resetlink' => 'Заборавили сте податке за пријаву?',
-'userlogin-resetpassword-link' => 'РеÑ\81еÑ\82Ñ\83Ñ\98Ñ\82е лозинкÑ\83',
+'userlogin-resetpassword-link' => 'Ð\97абоÑ\80авили Ñ\81Ñ\82е лозинкÑ\83?',
'helplogin-url' => 'Help:Logging in',
'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Помоћ при пријављивању]]',
'userlogin-createanother' => 'Отвори још један налог',
* Неприкладни лични подаци
*: ''кућна адреса и број телефона, број банковне картице итд.''",
'revdelete-legend' => 'Ограничења видљивости',
-'revdelete-hide-text' => 'сакриј текст измене',
+'revdelete-hide-text' => 'Текст ревизије',
'revdelete-hide-image' => 'Сакриј садржај датотеке',
'revdelete-hide-name' => 'Сакриј радњу и одредиште',
'revdelete-hide-comment' => 'сакриј опис измене',
-'revdelete-hide-user' => 'сакриј име уређивача',
+'revdelete-hide-user' => 'Кориснчко име уредника/ИП адреса',
'revdelete-hide-restricted' => 'Сакриј податке од администратора и других корисника',
'revdelete-radio-same' => '(не мењај)',
-'revdelete-radio-set' => 'да',
-'revdelete-radio-unset' => 'не',
+'revdelete-radio-set' => 'Ð\92идÑ\99иво',
+'revdelete-radio-unset' => 'СакÑ\80ивено',
'revdelete-suppress' => 'Сакриј податке од администратора и других корисника',
'revdelete-unsuppress' => 'Уклони ограничења на враћеним изменама',
'revdelete-log' => 'Разлог:',
'mergehistory-reason' => 'Разлог:',
# Merge log
-'mergelog' => 'Ð\98Ñ\81Ñ\82оÑ\80иÑ\98а спајања',
+'mergelog' => 'Ð\94невник спајања',
'pagemerge-logentry' => 'страница [[$1]] је спојена у [[$2]] (све до измене $3)',
'revertmerge' => 'растави',
'mergelogpagetext' => 'Испод се налази списак скорашњих спајања историја страница.',
'actionfailed' => 'Радња није успела',
'deletedtext' => "Страница „$1“ је обрисана.
Погледајте ''$2'' за више детаља.",
-'dellogpage' => 'Ð\98Ñ\81Ñ\82оÑ\80иÑ\98а брисања',
+'dellogpage' => 'Ð\94невник брисања',
'dellogpagetext' => 'Испод је списак последњих брисања.',
'deletionlog' => 'дневник брисања',
'reverted' => 'Враћено на ранију измену',
'table_pager_empty' => 'Нема резултата',
# Auto-summaries
-'autosumm-blank' => 'Ð\9fоÑ\82пÑ\83но обÑ\80иÑ\81ана Ñ\81Ñ\82Ñ\80аниÑ\86а',
+'autosumm-blank' => 'УклоÑ\9aен Ñ\86елокÑ\83пан Ñ\81адÑ\80жаÑ\98а Ñ\81Ñ\82Ñ\80аниÑ\86е',
'autosumm-replace' => 'Замена садржаја странице са „$1“',
'autoredircomment' => 'Преусмерење на [[$1]]',
'autosumm-new' => 'Нова страница: $1',
'gotaccount' => 'Već imate nalog? Idite na stranicu „$1“.',
'gotaccountlink' => 'Prijava',
'userlogin-resetlink' => 'Zaboravili ste podatke za prijavu?',
-'userlogin-resetpassword-link' => 'Resetuj lozinku',
+'userlogin-resetpassword-link' => 'Zaboravili ste lozinku?',
'helplogin-url' => 'Help:Logging in',
'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Pomoć pri prijavljivanju]]',
'createacct-join' => 'Unesite svoje podatke ispod.',
'watchthis' => 'nadgledaj ovu stranicu',
'savearticle' => 'Sačuvaj stranicu',
'preview' => 'Pregled',
-'showpreview' => 'Pregledaj',
+'showpreview' => 'Prikaži pretpregled',
'showlivepreview' => 'Trenutni pregled',
'showdiff' => 'Prikaži izmene',
'anoneditwarning' => "'''Upozorenje:''' niste prijavljeni.
'mergehistory-reason' => 'Razlog:',
# Merge log
-'mergelog' => 'Istorija spajanja',
+'mergelog' => 'Dnevnik spajanja',
'pagemerge-logentry' => 'stranica [[$1]] je spojena u [[$2]] (sve do izmene $3)',
'revertmerge' => 'rastavi',
'mergelogpagetext' => 'Ispod se nalazi spisak skorašnjih spajanja istorija stranica.',
'actionfailed' => 'Radnja nije uspela',
'deletedtext' => "Stranica „$1“ je obrisana.
Pogledajte ''$2'' za više detalja.",
-'dellogpage' => 'Istorija brisanja',
+'dellogpage' => 'Dnevnik brisanja',
'dellogpagetext' => 'Ispod je spisak poslednjih brisanja.',
'deletionlog' => 'dnevnik brisanja',
'reverted' => 'Vraćeno na raniju izmenu',
'table_pager_empty' => 'Nema rezultata',
# Auto-summaries
-'autosumm-blank' => 'Potpuno obrisana stranica',
+'autosumm-blank' => 'Uklonjen celokupan sadržaja stranice',
'autosumm-replace' => 'Zamena sadržaja stranice sa „$1“',
'autoredircomment' => 'Preusmerenje na [[$1]]',
'autosumm-new' => 'Nova stranica: $1',
Ger möjlighet att skriva en motivering i redigeringssammanfattningen',
'tooltip-preferences-save' => 'Spara inställningar',
'tooltip-summary' => 'Skriv en kort sammanfattning',
-'tooltip-iwiki' => '$1 - $2',
+'interlanguage-link-title' => '$1 - $2',
# Stylesheets
'common.css' => '/* CSS som skrivs här påverkar alla skal */',
Coby powstrzimać nadużyća, mogebność wysyłańo przipůmńyń nasztalowano na jydne bez {{PLURAL:$1|godźina|$1 godźiny}}.',
'mailerror' => 'Przi wysyłańu e-brifa zdorził śe feler: $1',
'acct_creation_throttle_hit' => 'Przikro nom, założůł(a)żeś już {{PLURAL:$1|1 kůnto|$1 kůnta}}. Ńy możesz założyć kolejnygo.',
-'emailauthenticated' => 'Twůj adres e-brifa zostoł uwjerzitelńůny $2 uo $3.',
-'emailnotauthenticated' => 'Twůj adres e-brifa ńy je uwjerzitelńůny. Půniższe funkcyje poczty ńy bydům dźołać.',
+'emailauthenticated' => 'Twůj ausdruk e-brifa zostoł powjerzitelńůny $2 uo $3.',
+'emailnotauthenticated' => 'Twůj adres e-brifa ńy je powjerzitelńůny. Půniższe funkcyje poczty ńy dźołajům.',
'noemailprefs' => 'Muśisz podać adres e-brifa, coby te funkcyje dźołały.',
'emailconfirmlink' => 'Potwjyrdź swůj adres e-brifa',
'invalidemailaddress' => 'E-brif ńy bydźe zaakceptůwany skiż tygo co jigo format ńy spełńo formalnych wymagań. Prosza naszkryflać poprowny adres e-brifa abo wyczyśćić pole.',
'loginreqlink' => 'zaloguj śe',
'loginreqpagetext' => 'Muśisz $1 coby můc przeglůndać inksze zajty.',
'accmailtitle' => 'Hasło posłane.',
-'accmailtext' => '!Hasło użytkowńika "[[User talk:$1|$1]]" zostauo wysłane pod adres $2.
-
-Hasło można pomjyńyć [[Special:ChangePassword|tu]].',
+'accmailtext' => "Cufalńe hasło lo [[User talk:$1|$1]] uostoło posłane do $2. Hasło lo tygo nowygo kůnta po zalogowańu je mogebność pomjyńić na zajće ''[[Special:ChangePassword|pomjyńańe hasła]]''.",
'newarticle' => '(Nowy)',
'newarticletext' => 'Ńy mo sam jeszcze artikla uo takijj titli. Eli chcesz go sprowjać, naszkryflej niżyj jego tekst (wjyncy informacyj nojdźesz [[{{MediaWiki:Helppage}}|na zajće půmocy]]). Eli żeś chćoł zrobić cośik inksze, naćiś ino knefel "Nazod".',
'anontalkpagetext' => "---- ''To je zajta godki lo anůnimowych używoczy - takich, kerzi ńy majům jeszcze swojigo kůnta abo ńy chcům go terozki używać.
By jejich idyntyfikować, używomy numerůw IP.
Eli jeżeś anůnimowym używoczym a wydowo Ći śe, aże zamjyszczůne sam kůmyntorze ńy sům skjyrowane do Ćebje, [[Special:UserLogin|utwůrz prosza kůnto]] abo [[Special:UserLogin|zalůguj śe]] - beztůż uńikńesz potym podobnych ńyporozumjyń.''",
'noarticletext' => 'Ńy můmy zajta uo takij titli. Mogesz [{{fullurl:{{FULLPAGENAME}}|action=edit}} wćepać artikel {{FULLPAGENAME}}] abo [[Special:Search/{{PAGENAME}}|sznupać {{PAGENAME}} we inkszych]].',
-'noarticletext-nopermission' => 'Na tyj zajće ńy mo jeszcze artikla.
-Mogesz [[Special:Search/{{PAGENAME}}|wysznupać ta titla]] we treśći inkszych zajtůw
-abo <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} przesznupać powjůnzane logi].</span>',
+'noarticletext-nopermission' => 'Ta zajta terozki je pusto.
+Mogesz [[Special:Search/{{PAGENAME}}|wysznupać ta titla]] we treśćach inkszych zajtůw, abo <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} przesznupać powjůnzane rejery]</span>, nale ńy mosz uprowńyń coby ta zajta wćepać',
'userpage-userdoesnotexist' => 'Użytkowńik "<nowiki>$1</nowiki>" ńy je zarejesztrowany. Sprowdź eli na pewno chćołżeś stworzyć/pomjynić gynał ta zajta.',
'userpage-userdoesnotexist-view' => "Konto sprowjorza ''$1'' ńy istnieje.",
'blocked-notice-logextract' => '{{GENDER:$1|Tyn sprowjorz|Ta sprowjorka}} mo zawrzite sprowjyńa.',
'updated' => '(Pomjyńano)',
'note' => "'''Pozůr:'''",
'previewnote' => "'''To je ino podglůnd - artikel jeszcze ńy je spamjyntany!'''",
-'continue-editing' => 'Sprowjej dalej',
+'continue-editing' => 'Przyndź do pola sprowjańo',
'previewconflict' => 'Wersyjo podglůndano uodnośi śe do tekstu ze pola edycyje na wjyrchu. Tak bydźe wyglůndać zajta jeli zdecydujesz śe jům naszkryflać.',
'session_fail_preview' => "'''Přeprašomy! Serwer ńy može přetwořyć tygo sprowjyńo skuli utraty danych ze sesyji. Sprůbuj ješče roz. Kejby to ńy pomoguo - wylůguj śe i zalogůj uod nowa.'''",
'session_fail_preview_html' => "'''Přeprašomy! Serwer ńy može přetwořyć tygo sprowjyńo skuli utraty danych ze sesyji.'''
'nocreate-loggedin' => 'Ńy moš uprowńyń do twořyńo nowych zajtůw.',
'sectioneditnotsupported-title' => 'Sprowjańy tajli ńymogebne',
'sectioneditnotsupported-text' => 'Sprowjańy tajli ńymogebne na tyj zajće.',
-'permissionserrors' => 'Felerne uprowńyńa',
+'permissionserrors' => 'Felerne uprawńyńo',
'permissionserrorstext' => 'Ńy moš uprowńyń do takij akcyje {{PLURAL:$1|skuli tego, co:|bestůž, co:}}',
'permissionserrorstext-withaction' => 'Ńy mogesz $2, ze {{PLURAL:$1|takigo powodu|takich powodůw}}:',
'recreate-moveddeleted-warn' => "'''ůostrzeżyńy: Wćepujesz samo zajta, kery bůu poprzedńo wyćepany.'''
Legynda: (akt.) - růżńice s wersyjům bjeżůncům, (poprz.) - růżńice s wersyjům poprzedzajůncům, d - drobne zmjany',
'history-fieldset-title' => 'Przeglůndej gyszichta',
'history-show-deleted' => 'Jyno wyćepane',
-'histfirst' => 'uod počůnku',
-'histlast' => 'uod uostatka',
+'histfirst' => 'nojstarsze',
+'histlast' => 'nojnowsze',
'historysize' => '({{PLURAL:$1|1 bajt|$1 bajty|$1 bajtůw}})',
'historyempty' => '(blank)',
'rc_categories' => 'Uůgrańič do katygorii (oddźelej za půmocům "|")',
'rc_categories_any' => 'Wšyskie',
'newsectionsummary' => '/* $1 */ nowo tajla',
-'rc-enhanced-expand' => 'Pokož Å¡Ä\8dygůuy (wymogo JavaScript)',
+'rc-enhanced-expand' => 'Pokoż szczygůÅ\82y',
'rc-enhanced-hide' => 'Schrůń detajle',
# Recent changes linked
'emailuserfooter' => 'Wjadůmość e-brif zostoła wysłano s {{GRAMMAR:D.lp|{{SITENAME}}}} ku $2 bez $1 s użyćym „Wyślij e-brif ku tym użytkowńikowi”.',
# Watchlist
-'watchlist' => 'Pozorlista',
-'mywatchlist' => 'Mojo pozůrlista',
+'watchlist' => 'Pozůrlista',
+'mywatchlist' => 'Pozůrlista',
'watchlistfor2' => 'Lo $1 ($2)',
'nowatchlist' => 'Ńy ma žodnych pozycyji na liśće zajtůw, na kere dowoš pozůr.',
'watchlistanontext' => '$1 coby uobejřeć abo sprowjać elymynty listy zajtůw, na kere dowoš pozůr',
'blanknamespace' => '(przodńo)',
# Contributions
-'contributions' => 'Ajnzac sprowjorza',
+'contributions' => 'Ajnzac {{GENDER:$1|używocza|używoczki}}',
'contributions-title' => 'Wkłod użytkowńika $1',
-'mycontris' => 'Uody mje sprowjane',
-'contribsub2' => 'Do užytkowńika $1 ($2)',
+'mycontris' => 'Sprowjyńa',
+'contribsub2' => 'Lo {{GENDER:$3|używocza|używoczki}} $1 ($2)',
'nocontribs' => 'Brak pomjyńań uodpowjadajůncych tym kryterjům.',
-'uctop' => '(uostatnio)',
+'uctop' => '(teroźńo)',
'month' => 'Uod mjeśůnca (i downiyjše):',
'year' => 'Uod roku (i dowńijše):',
'whatlinkshere-hideredirs' => '$1 {{PLURAL:$1|punkńyńćy|punkńyńćo|puńkńyńć}}',
'whatlinkshere-hidetrans' => '$1 {{PLURAL:$1|dokuplowańy|dokuplowańo|dokuplowań}}',
'whatlinkshere-hidelinks' => '$1 {{PLURAL:$1|link|linki|linkůw}}',
-'whatlinkshere-hideimages' => '$1 linki s grafik',
+'whatlinkshere-hideimages' => '$1 linki ze plikůw',
'whatlinkshere-filters' => 'Filtery',
# Block/unblock
'exif-colorspace' => 'Přestřyń kolorůw',
'exif-componentsconfiguration' => 'Značyńy skuadowych',
'exif-compressedbitsperpixel' => 'Skůmpresowanych bitůw na piksel',
-'exif-pixelydimension' => 'Prawiduowa šyrokość uobrozu',
-'exif-pixelxdimension' => 'Prawiduowo wysokość uobrozu',
+'exif-pixelydimension' => 'Prawidłowa szyrzka uobrozu',
+'exif-pixelxdimension' => 'Prawidłowo wyżka uobrozu',
'exif-usercomment' => 'Kůmyntoř užytkowńika',
'exif-relatedsoundfile' => 'Powjůnzany plik audjo',
'exif-datetimeoriginal' => 'Data i čas utwořyńo uoryginouu',
'exif-exposureprogram' => 'Progrům ekspozycyji',
'exif-spectralsensitivity' => 'Čuuość widmowa',
'exif-isospeedratings' => 'Šybkość aparatu zgodńy ze ISO12232',
-'exif-shutterspeedvalue' => 'Šybkość migawki',
-'exif-aperturevalue' => 'Přisuůna uobjektywu',
+'exif-shutterspeedvalue' => 'Wartkość migawki',
+'exif-aperturevalue' => 'Przisłůna uobjektywu',
'exif-brightnessvalue' => 'Jasność',
'exif-exposurebiasvalue' => 'Uodchylyńy ekspozycyji',
'exif-maxaperturevalue' => 'Maksymalno wartość přisuůny',
'exif-orientation-3' => 'uobroz uobrůcůny uo 180°',
'exif-orientation-4' => 'uodbiće we źřadle w pjůńy',
'exif-orientation-5' => 'uobroz uobrůcůny uo 90° přećiwńy do ruchu wskazůwek zygora i uodbiće we źřadle w pjůńy',
-'exif-orientation-6' => 'uobroz uobrůcůny uo 90° zgodńy s ruchym wskazůwek zygora',
+'exif-orientation-6' => 'Uobroz uobrůcůny uo 90° przećiwńy lo ruchu wskazůwek zygora',
'exif-orientation-7' => 'uobrůt uo 90° zgodńy ze wskazůwkůma zygora i uodbiće we źřadle w pjůńy',
-'exif-orientation-8' => 'uobrůt uo 90° přećiwńy do wskazůwek zygora',
+'exif-orientation-8' => 'uobrůt uo 90° zgodńy do ruchu wskazůwek zygora',
'exif-planarconfiguration-1' => 'format masywny',
'exif-planarconfiguration-2' => 'format powjeřchńowy',
'table_pager_empty' => 'Brak wynikůw',
# Auto-summaries
-'autosumm-blank' => 'POZŮR! Usůńjyńće treśći (zajta pozostoua pusto)!',
+'autosumm-blank' => 'POZŮR! Usůńjyńće treśći (zajta pozostoła pusto)!',
'autosumm-replace' => 'POZŮR! Zastůmpjyńy treśći hasua bardzo krůtkym tekstym: „$1”',
'autoredircomment' => 'Překerowańy do [[$1]]',
-'autosumm-new' => 'Nowo zajta: $1',
+'autosumm-new' => 'Wćepano nowo zajta: "$1"',
# Live preview
'livepreview-loading' => 'Trwo uadowańy…',
'watchlistedit-noitems' => 'Twoja lista artikli na kere dowoš pozůr je pusto.',
'watchlistedit-normal-title' => 'Sprowjej lista zajtůw na kere dowom pozůr',
'watchlistedit-normal-legend' => 'Wyćep zajty s listy artikli na kere dowoš pozůr',
-'watchlistedit-normal-explain' => 'PůÅ\84ižy moÅ¡ lista artikli na kere dowoÅ¡ pozůr.
-Coby wyćepać s ńij jako zajta,zaznač pole při ńij i naćiś knefel "Wyćep zaznačůne pozycyje".
-MožeÅ¡ tyž skoÅ\99istaÄ\87 ze [[Special:EditWatchlist/raw|tekstowygo edytora listy artikli na kere dowoÅ¡ pozůr]].',
+'watchlistedit-normal-explain' => 'PůÅ\84iżyj mosz lista artikli na kere dowosz pozůr.
+Coby wyćepać z ńij jako zajta, zaznocz pole przi ńij i naćiś knefel „{{int:Watchlistedit-normal-submit}}”.
+Możesz tyż skorzistaÄ\87 ze [[Special:EditWatchlist/raw|tekstowygo sprowjorza listy artikli na kere dowosz pozůr]].',
'watchlistedit-normal-submit' => 'Wyćep s listy',
'watchlistedit-normal-done' => 'Z Twoi listy artikli na kere dowoš pozůr {{PLURAL:$1|zostoua wyćepano 1 zajta|zostouy wyćepane $1 zajty|zostouo wyćepanych $1 zajtůw}}:',
'watchlistedit-raw-title' => 'Tekstowy edytor listy artikli na kere dowoš pozůr',
* <strong class="mw-specialpagerestricted">Ekstra zajty do kerych dostymp je uograńiczůny.</strong>',
'specialpages-group-maintenance' => 'Raporty kůnserwacyjne',
'specialpages-group-other' => 'Inkše ekstra zajty',
-'specialpages-group-login' => 'Lůgowańy / rejerowańy',
+'specialpages-group-login' => 'Logowańy / regisztrowańy',
'specialpages-group-changes' => 'Pomjyńane na uostatku a rejery',
'specialpages-group-media' => 'Pliki',
'specialpages-group-users' => 'Użytkowńiki i uprawńyńa',
'specialpages-group-highuse' => 'Zajty čynsto užywane',
-'specialpages-group-pages' => 'Zajty',
+'specialpages-group-pages' => 'Listy zajt',
'specialpages-group-pagetools' => 'Nořyńdźa zajtůw',
-'specialpages-group-wiki' => 'Informacyje a nořyńdźa wiki',
+'specialpages-group-wiki' => 'Informacyje a werkcojgi wiki',
'specialpages-group-redirects' => 'Ekstra zajty, kere kerujům',
'specialpages-group-spam' => 'Nořyńdźa do wyćepywanio spamu',
'ancientpages' => 'மிகப்பழைய கட்டுரைகள்',
'move' => 'நகர்த்தவும்',
'movethispage' => 'இப்பக்கத்தை நகர்த்து',
-'unusedimagestext' => 'à®\95à¯\80à®´à¯\8dவரà¯\81à®®à¯\8d à®\95à¯\8bபà¯\8dபà¯\81à®\95ளà¯\8d à®\89ணà¯\8dà®\9fà¯\81, ஆனாலும் அவை எந்த ஒரு பக்கத்திலும் இணைக்கப்படவில்லை.
-இக்கோப்பு ஏனைய இணையத்தளங்களினால் நேரடியான இணையமுகவரியை பயன்படுத்தி இனைக்கப்பட்டிருக்கக் கூடுமென்பதுடன், செயல்படு பயன்பாட்டில் இருந்தும் கூட இங்கே பட்டியலிடப்பட்டிருக்கக்கூடும் என்பதையும் கவனிக்கவும்.',
+'unusedimagestext' => 'à®\95à¯\80à®´à¯\8dவரà¯\81à®®à¯\8d à®\95à¯\8bபà¯\8dபà¯\81à®\95ளà¯\8d à®\87à®°à¯\81நà¯\8dதாலà¯\81à®®à¯\8d, ஆனாலும் அவை எந்த ஒரு பக்கத்திலும் இணைக்கப்படவில்லை.
+இக்கோப்புகள் ஏனைய இணையத்தளங்களினால் இணையமுகவரியை பயன்படுத்தி நேரடியாக இனைக்கப்பட்டிருக்கக் கூடுமென்பதால் இவை பயன்பாட்டில் இருந்தாலும் இங்கே பட்டியலிடப்பட்டிருக்கக்கூடும் என்பதை கவனத்தில் கொள்ளவும்.',
'unusedcategoriestext' => 'பின்வரும் பகுப்புகள் உருவாக்கப்பட்டுள்ளன எனினும் வேறு எந்தப் பக்கமோ அல்லது பகுப்போ இதைப் பயன்படுத்தவில்லை.',
'notargettitle' => 'இலக்கு இல்லை',
'notargettext' => 'நீங்கள் இந்தச் செயலை எந்தப் பயனர் அல்லது பக்கம் தொடர்பில் செய்வது என்பதைக் குறிப்பிடவில்லை.',
'tooltip-undo' => '"பின்வாங்கு" என்பது முன்பு செய்த தொகுப்புக்களை இல்லாது செய்கிறது. மேலும் தாங்கள் செய்த தொகுப்பினை முன்தோற்ற நிலைக்கு கொண்டுவந்து காட்டும். அது தங்களுக்குச் சிறுகுறிப்புப் பகுதியில் அதற்கான காரணத்தைக் கூற அனுமதிக்கிறது.',
'tooltip-preferences-save' => 'விருப்பங்களை சேமி',
'tooltip-summary' => 'குறுகிய சுருக்கத்தை உள்ளிடவும்.',
-'tooltip-iwiki' => '$1 - $2',
+'interlanguage-link-title' => '$1 - $2',
# Metadata
'notacceptable' => 'உங்களது சேவையாளர் வாசிக்க கூடிய விதத்தில் இந்த விக்கியால தரவுகளை வழங்க முடியாது.',
крім випадків, коли були встановлені додаткові обмеження власниками сайту.",
'revdelete-confirm' => 'Будь ласка, підтвердить, що ви справді бажаєте це здійснити, усвідомлюєте наслідки та робите це згідно з [[{{MediaWiki:Policy-url}}|правилами]].',
'revdelete-suppress-text' => "Приховування може відбуватися '''лише''' в таких випадках:
-
-* Ð\9dепоÑ\82Ñ\80Ñ\96бна особиста інформація
+* Потенційно наклепницькі відомості
+* Ð\9dедоÑ\80еÑ\87на особиста інформація
*: ''домашні адреси, номери телефонів, номер паспорта тощо.''",
'revdelete-legend' => 'Установити обмеження',
'revdelete-hide-text' => 'Текст виправлень',
'tooltip-undo' => 'Прибрати внесені зміни і показати попередній перегляд. Дозволяє зазначити причину скасування.',
'tooltip-preferences-save' => 'Зберегти налаштування',
'tooltip-summary' => 'Введіть короткий опис',
-'tooltip-iwiki' => '$1 — $2',
+'interlanguage-link-title' => '$1 — $2',
# Stylesheets
'common.css' => '/** Розміщений тут CSS буде застосовуватися до всіх тем оформлення */',
'pageinfo-length' => 'Довжина сторінки (в байтах)',
'pageinfo-article-id' => 'ID сторінки',
'pageinfo-language' => 'Мова вмісту сторінки',
+'pageinfo-content-model' => 'Модель вмісту сторінки',
'pageinfo-robot-policy' => 'Індексація пошуковими системами',
'pageinfo-robot-index' => 'Індексується',
'pageinfo-robot-noindex' => 'Не індексується',
'ellipsis' => '...',
'percent' => '$1%',
'parentheses' => '($1)',
+'quotation-marks' => '„$1“',
# Multipage image navigation
'imgmultipageprev' => '← попередня сторінка',
'accmailtitle' => 'Đã gửi mật khẩu.',
'accmailtext' => "Một mật khẩu được tạo ngẫu nhiên cho [[User talk:$1|$1]] đã được gửi đến $2. Có thể đổi mật khẩu tại trang ''[[Special:ChangePassword|đổi mật khẩu]]'' sau khi đã đăng nhập.",
'newarticle' => '(Mới)',
-'newarticletext' => "Bạn đi đến đây từ một liên kết đến một trang chưa tồn tại. Để tạo trang, hãy bắt đầu gõ vào ô bên dưới (xem [[{{MediaWiki:Helppage}}|trang trợ giúp]] để có thêm thông tin). Nếu bạn đến đây do nhầm lẫn, chỉ cần nhấn vào nút '''Back''' trong trình duyệt của bạn.",
+'newarticletext' => "Bạn đi đến đây từ một liên kết đến một trang chưa tồn tại. Để tạo trang, hãy bắt đầu gõ vào ô bên dưới (xem [[{{MediaWiki:Helppage}}|trang trợ giúp]] để có thêm thông tin). Nếu bạn đến đây do nhầm lẫn, chỉ cần nhấn vào nút '''Lùi''' (hoặc Trở lại, Quay lại, Back) trong trình duyệt của bạn.",
'anontalkpagetext' => "----''Đây là trang thảo luận của một người dùng vô danh chưa tạo tài khoản hoặc có tài khoản nhưng không đăng nhập.
Do đó chúng ta phải dùng một dãy số gọi là địa chỉ IP để xác định anh/chị ta.
Một địa chỉ IP như vậy có thể có nhiều người cùng dùng chung.
'ipbreason-dropdown' => '*Một số lý do cấm thường gặp
** Phá hoại
** Thêm thông tin sai lệch
-** Tẩy trống nội dung trang
-** Đăng liên kết thư rác dẫn đến trang web độc hại
+** Xóa nội dung trang
+** Đăng liên kết thư rác dẫn đến trang Web bên ngoài
** Cho thông tin rác vào trang
** Có thái độ dọa dẫm/quấy rối
** Lạm dụng nhiều tài khoản
'tooltip-undo' => '“Lùi lại” sẽ lùi sửa đổi này và mở trang sửa đổi ở chế độ xem trước. Cho phép thêm lý do vào tóm lược.',
'tooltip-preferences-save' => 'Lưu tùy chọn',
'tooltip-summary' => 'Hãy nhập câu tóm lược',
-'tooltip-iwiki' => '$1 – $2',
+'interlanguage-link-title' => '$1 – $2',
# Stylesheets
'common.css' => '/* Mã CSS đặt ở đây sẽ áp dụng cho mọi hình dạng */',
'tooltip-undo' => '"Igpawara an ginbuhat (undo)" in nagbabalik hinin nga pagliwat ngan nabuklad hin pagliwat nga porma ha pahiuna-nga-paggawas nga kahimtang. Natugot liwat pagdugang hin katadungan ha dinalikyat nga sumat.',
'tooltip-preferences-save' => 'Tipiga an mga karuyag',
'tooltip-summary' => 'Pagbutang hin dalikyat nga sumat',
-'tooltip-iwiki' => '$1 – $2',
+'interlanguage-link-title' => '$1 – $2',
# Attribution
'siteuser' => '{{SITENAME}} gumaramit $1',
'tooltip-rollback' => '揿一记“回转”就回退到上一位贡献者个编辑状态',
'tooltip-undo' => '“撤销”可以恢复该编辑并且垃拉预览模式下头打开编辑表单。渠允许垃拉摘要里向说明原因。',
'tooltip-summary' => '打进短摘要',
-'tooltip-iwiki' => '̩$1 - $2',
+'interlanguage-link-title' => '̩$1 - $2',
# Attribution
'anonymous' => '{{SITENAME}}浪个匿名用户',
它应该少过$2次呼叫,现在有$1次呼叫。',
'expensive-parserfunction-category' => '页面中有太多耗费的语法功能呼叫',
-'post-expand-template-inclusion-warning' => '警告:包含模板大小过大。
-一些模板将不会包含。',
+'post-expand-template-inclusion-warning' => "'''警告:'''包含模板大小过大。
+一些模板将不会包含。",
'post-expand-template-inclusion-category' => '模板包含上限已经超过的页面',
'post-expand-template-argument-warning' => "'''警告:'''本页面包含至少一个模板参数有过大扩展大小。这些参数会被略过。",
'post-expand-template-argument-category' => '包含着略过模板参数的页面',
'querypage-disabled' => '本特殊页面因性能问题而停用。',
# Book sources
-'booksources' => '图书来源',
+'booksources' => '网络书源',
'booksources-search-legend' => '搜索图书来源',
'booksources-isbn' => 'ISBN:',
'booksources-go' => '提交',
'tooltip-undo' => '“撤销”可以恢复该编辑并在预览模式下打开编辑表单。它允许在摘要中加入原因。',
'tooltip-preferences-save' => '保存系统设置',
'tooltip-summary' => '请输入简短的摘要',
-'tooltip-iwiki' => '$1 – $2',
+'interlanguage-link-title' => '$1 – $2',
# Stylesheets
'common.css' => '/* 此处的 CSS 将应用于所有的皮肤 */',
'pageinfo-length' => '页面长度(字节)',
'pageinfo-article-id' => '页面ID',
'pageinfo-language' => '页面内容语言',
+'pageinfo-content-model' => '页面内容模式',
'pageinfo-robot-policy' => '爬虫索引',
'pageinfo-robot-index' => '允许',
'pageinfo-robot-noindex' => '不允许',
'tooltip-undo' => '「復原」可以在編輯模式上開啟編輯表格以便恢復。它容許在摘要中加入原因。',
'tooltip-preferences-save' => '儲存使用偏好',
'tooltip-summary' => '輸入一個簡短的摘要',
-'tooltip-iwiki' => '$1 – $2',
+'interlanguage-link-title' => '$1 – $2',
# Stylesheets
'common.css' => '/* 此處的 CSS 將應用於所有的面板 */',
}
$i = 0;
foreach ( $iterator as $file ) {
- // Absolute sanity check for stashed files and file segments
- $base = basename( $file );
- // @TODO: why are there thumbnails stored in here?
- if ( !preg_match( '#(^\d{14}!|\.\d+\.\w+\.\d+$|-\w{12}\.\w{6}\.\d+\.)#', $base ) ) {
- $this->output( "Skipped non-stash $file\n" );
- continue;
- }
if ( wfTimestamp( TS_UNIX, $tempRepo->getFileTimestamp( "$dir/$file" ) ) < $cutoff ) {
$status = $tempRepo->quickPurge( "$dir/$file" );
if ( !$status->isOK() ) {
/** A general output object. Need to be overriden */
class statsOutput {
function formatPercent( $subset, $total, $revert = false, $accuracy = 2 ) {
- return @sprintf( '%.' . $accuracy . 'f%%', 100 * $subset / $total );
+ wfSuppressWarnings();
+ $return = sprintf( '%.' . $accuracy . 'f%%', 100 * $subset / $total );
+ wfRestoreWarnings();
+ return $return;
}
# Override the following methods
}
function formatPercent( $subset, $total, $revert = false, $accuracy = 2 ) {
- $v = @round( 255 * $subset / $total );
+ wfSuppressWarnings();
+ $v = round( 255 * $subset / $total );
+ wfRestoreWarnings();
+
if ( $revert ) {
# Weigh reverse with factor 20 so coloring takes effect more quickly as
# this option is used solely for reporting 'bad' percentages.
'disclaimerpage',
'edithelp',
'edithelppage',
- 'help',
'helppage',
'mainpage',
'mainpage-description',
'prefs-namespaces',
'defaultns',
'default',
- 'defaultns',
'prefs-files',
'prefs-custom-css',
'prefs-custom-js',
'lockmanager-fail-deletelock',
'lockmanager-fail-acquirelock',
'lockmanager-fail-openlock',
- 'lockmanager-fail-acquirelock',
'lockmanager-fail-releaselock',
'lockmanager-fail-db-bucket',
'lockmanager-fail-db-release',
'nmembers',
'nrevisions',
'nviews',
- 'nchanges',
'nimagelinks',
'ntransclusions',
'specialpage-empty',
'tooltip-undo',
'tooltip-preferences-save',
'tooltip-summary',
- 'tooltip-iwiki',
+ 'interlanguage-link-title',
),
'stylesheets' => array(
'common.css',
'percent',
'parentheses',
'brackets',
+ 'quotation-marks',
),
'imgmulti' => array(
'imgmultipageprev',
'lag-warn-normal',
'lag-warn-high',
),
- 'watch' => array(
- 'confirm-watch-button',
- ),
'watchlisteditor' => array(
'editwatchlist-summary',
'watchlistedit-numitems',
'sqlite-has-fts',
'sqlite-no-fts',
),
- 'unwatch' => array(
- 'confirm-unwatch-button',
- ),
'logging' => array(
'logentry-delete-delete',
'logentry-delete-restore',
'newuserlog-create-entry',
'newuserlog-create2-entry',
'newuserlog-autocreate-entry',
- 'suppressedarticle',
- 'deletedarticle',
// 'uploadedimage',
// 'overwroteimage',
'rightslogentry',
global $wgContLang;
$wgContLang->resetNamespaces();
+ MagicWord::clearCache();
+
if ( is_string( $title ) ) {
$title = Title::newFromText( $title );
}
$fileName = isset( $params['f'] ) ? $params['f'] : '';
+ // Backwards compatibility parameters
+ if ( isset( $params['w'] ) ) {
+ $params['width'] = $params['w'];
+ unset( $params['w'] );
+ }
+ if ( isset( $params['p'] ) ) {
+ $params['page'] = $params['p'];
+ }
+
// Is this a thumb of an archived file?
$isOld = ( isset( $params['archived'] ) && $params['archived'] );
unset( $params['archived'] ); // handlers don't care
}
}
- // Backwards compatibility parameters
- if ( isset( $params['w'] ) ) {
- $params['width'] = $params['w'];
- unset( $params['w'] );
- }
- if ( isset( $params['p'] ) ) {
- $params['page'] = $params['p'];
- }
unset( $params['r'] ); // ignore 'r' because we unconditionally pass File::RENDER
unset( $params['f'] ); // We're done with 'f' parameter.