* (bug 51742) Add data-sort-value for better sorting of hitcounts Special:Tags
* (bug 26811) On DB error pages, server hostnames are now hidden when both
$wgShowHostnames and $wgShowSQLErrors are false.
+* (bug 6200) line breaks in <blockquote> are handled like they are in <div>
=== API changes in 1.22 ===
* (bug 25553) The JSON output formatter now leaves forward slashes unescaped
wfDebug( "$caller: called wfMkdirParents($dir)\n" );
}
- if ( strval( $dir ) === '' || file_exists( $dir ) ) {
+ if ( strval( $dir ) === '' || ( file_exists( $dir ) && is_dir( $dir ) ) ) {
return true;
}
wfRestoreWarnings();
if ( !$ok ) {
+ //directory may have been created on another request since we last checked
+ if ( is_dir( $dir ) ) {
+ return true;
+ }
+
// PHP doesn't report the path in its warning message, so add our own to aid in diagnosis.
wfLogWarning( sprintf( "failed to mkdir \"%s\" mode 0%o", $dir, $mode ) );
}
}
}
+ // Stuff from Language::getExtraUserToggles()
+ // FIXME is this dead code? $extraUserToggles doesn't seem to be defined for any language
+ $toggles = $wgContLang->getExtraUserToggles();
+
+ foreach ( $toggles as $toggle ) {
+ $defaultPreferences[$toggle] = array(
+ 'type' => 'toggle',
+ 'section' => 'personal/i18n',
+ 'label-message' => "tog-$toggle",
+ );
+ }
+
// show a preview of the old signature first
$oldsigWikiText = $wgParser->preSaveTransform( "~~~", $context->getTitle(), $user, ParserOptions::newFromContext( $context ) );
$oldsigHTML = $context->getOutput()->parseInline( $oldsigWikiText, true, true );
* @param $defaultPreferences Array
*/
static function renderingPreferences( $user, IContextSource $context, &$defaultPreferences ) {
+ ## Diffs ####################################
+ $defaultPreferences['diffonly'] = array(
+ 'type' => 'toggle',
+ 'section' => 'rendering/diffs',
+ 'label-message' => 'tog-diffonly',
+ );
+ $defaultPreferences['norollbackdiff'] = array(
+ 'type' => 'toggle',
+ 'section' => 'rendering/diffs',
+ 'label-message' => 'tog-norollbackdiff',
+ );
+
## Page Rendering ##############################
global $wgAllowUserCssPrefs;
if ( $wgAllowUserCssPrefs ) {
}
/**
- * @param $user User
- * @param $context IContextSource
- * @param $defaultPreferences Array
+ * Dummy, kept for backwards-compatibility.
*/
static function miscPreferences( $user, IContextSource $context, &$defaultPreferences ) {
- global $wgContLang;
-
- ## Misc #####################################
- $defaultPreferences['diffonly'] = array(
- 'type' => 'toggle',
- 'section' => 'misc/diffs',
- 'label-message' => 'tog-diffonly',
- );
- $defaultPreferences['norollbackdiff'] = array(
- 'type' => 'toggle',
- 'section' => 'misc/diffs',
- 'label-message' => 'tog-norollbackdiff',
- );
-
- // Stuff from Language::getExtraUserToggles()
- $toggles = $wgContLang->getExtraUserToggles();
-
- foreach ( $toggles as $toggle ) {
- $defaultPreferences[$toggle] = array(
- 'type' => 'toggle',
- 'section' => 'personal/i18n',
- 'label-message' => "tog-$toggle",
- );
- }
}
/**
$comment .= wfMessage( 'colon-separator' )->inContentLanguage()->text() . $reason;
}
// @todo FIXME: $params?
- $log->addEntry( 'move_prot', $nt, $comment, array( $this->getPrefixedText() ) );
+ $log->addEntry( 'move_prot', $nt, $comment, array( $this->getPrefixedText() ), $wgUser );
}
# Update watchlists
}
}
-# Get MWInit class
-require_once "$IP/includes/Init.php";
-
# Start the autoloader, so that extensions can derive classes from core files
require_once "$IP/includes/AutoLoader.php";
protected function execute() {
$text = $this->text;
// Use Unix line endings, escape some wikitext stuff
- $text = str_replace( array( '<', '{{', '[[', "\r" ),
- array( '<', '{{', '[[', '' ), $text );
+ $text = str_replace( array( '<', '{{', '[[', '__', "\r" ),
+ array( '<', '{{', '[[', '__', '' ), $text );
// join word-wrapped lines into one
do {
$prev = $text;
$this->mDTopen = $inBlockElem = false;
$prefixLength = 0;
$paragraphStack = false;
+ $inBlockquote = false;
foreach ( $textLines as $oLine ) {
# Fix up $linestart
wfProfileIn( __METHOD__ . "-paragraph" );
# No prefix (not in list)--go to paragraph mode
# XXX: use a stack for nestable elements like span, table and div
- $openmatch = preg_match( '/(?:<table|<blockquote|<h1|<h2|<h3|<h4|<h5|<h6|<pre|<tr|<p|<ul|<ol|<dl|<li|<\\/tr|<\\/td|<\\/th)/iS', $t );
+ $openmatch = preg_match( '/(?:<table|<h1|<h2|<h3|<h4|<h5|<h6|<pre|<tr|<p|<ul|<ol|<dl|<li|<\\/tr|<\\/td|<\\/th)/iS', $t );
$closematch = preg_match(
- '/(?:<\\/table|<\\/blockquote|<\\/h1|<\\/h2|<\\/h3|<\\/h4|<\\/h5|<\\/h6|' .
- '<td|<th|<\\/?div|<hr|<\\/pre|<\\/p|' . $this->mUniqPrefix . '-pre|<\\/li|<\\/ul|<\\/ol|<\\/dl|<\\/?center)/iS', $t );
+ '/(?:<\\/table|<\\/h1|<\\/h2|<\\/h3|<\\/h4|<\\/h5|<\\/h6|' .
+ '<td|<th|<\\/?blockquote|<\\/?div|<hr|<\\/pre|<\\/p|' . $this->mUniqPrefix . '-pre|<\\/li|<\\/ul|<\\/ol|<\\/dl|<\\/?center)/iS', $t );
if ( $openmatch or $closematch ) {
$paragraphStack = false;
# TODO bug 5718: paragraph closed
if ( $preOpenMatch and !$preCloseMatch ) {
$this->mInPre = true;
}
+ $bqOffset = 0;
+ while ( preg_match( '/<(\\/?)blockquote[\s>]/i', $t, $bqMatch, PREG_OFFSET_CAPTURE, $bqOffset ) ) {
+ $inBlockquote = !$bqMatch[1][0]; // is this a close tag?
+ $bqOffset = $bqMatch[0][1] + strlen( $bqMatch[0][0] );
+ }
$inBlockElem = !$closematch;
} elseif ( !$inBlockElem && !$this->mInPre ) {
- if ( ' ' == substr( $t, 0, 1 ) and ( $this->mLastSection === 'pre' || trim( $t ) != '' ) ) {
+ if ( ' ' == substr( $t, 0, 1 ) and ( $this->mLastSection === 'pre' || trim( $t ) != '' ) and !$inBlockquote ) {
# pre
if ( $this->mLastSection !== 'pre' ) {
$paragraphStack = false;
/**
* Gets all scripts for a given context concatenated together.
*
- * @param $context ResourceLoaderContext: Context in which to generate script
- * @return String: JavaScript code for $context
+ * @param ResourceLoaderContext $context Context in which to generate script
+ * @return string: JavaScript code for $context
*/
public function getScript( ResourceLoaderContext $context ) {
$files = $this->getScriptFiles( $context );
}
/**
- * @param $context ResourceLoaderContext
+ * @param ResourceLoaderContext $context
* @return array
*/
public function getScriptURLsForDebug( ResourceLoaderContext $context ) {
/**
* Gets loader script.
*
- * @return String: JavaScript code to be added to startup module
+ * @return string: JavaScript code to be added to startup module
*/
public function getLoaderScript() {
if ( count( $this->loaderScripts ) == 0 ) {
/**
* Gets all styles for a given context concatenated together.
*
- * @param $context ResourceLoaderContext: Context in which to generate styles
- * @return String: CSS code for $context
+ * @param ResourceLoaderContext $context Context in which to generate styles
+ * @return string: CSS code for $context
*/
public function getStyles( ResourceLoaderContext $context ) {
$styles = $this->readStyleFiles(
}
/**
- * @param $context ResourceLoaderContext
+ * @param ResourceLoaderContext $context
* @return array
*/
public function getStyleURLsForDebug( ResourceLoaderContext $context ) {
/**
* Gets list of message keys used by this module.
*
- * @return Array: List of message keys
+ * @return array: List of message keys
*/
public function getMessages() {
return $this->messages;
/**
* Gets the name of the group this module should be loaded in.
*
- * @return String: Group name
+ * @return string: Group name
*/
public function getGroup() {
return $this->group;
/**
* Gets list of names of modules this module depends on.
*
- * @return Array: List of module names
+ * @return array: List of module names
*/
public function getDependencies() {
return $this->dependencies;
* calculations on files relevant to the given language, skin and debug
* mode.
*
- * @param $context ResourceLoaderContext: Context in which to calculate
+ * @param ResourceLoaderContext $context Context in which to calculate
* the modified time
- * @return Integer: UNIX timestamp
+ * @return int: UNIX timestamp
* @see ResourceLoaderModule::getFileDependencies
*/
public function getModifiedTime( ResourceLoaderContext $context ) {
/* Protected Methods */
/**
- * @param $path string
+ * @param string $path
* @return string
*/
protected function getLocalPath( $path ) {
}
/**
- * @param $path string
+ * @param string $path
* @return string
*/
protected function getRemotePath( $path ) {
* @param array $list List of file paths in any combination of index/path
* or path/options pairs
* @param string $option option name
- * @param $default Mixed: default value if the option isn't set
- * @return Array: List of file paths, collated by $option
+ * @param mixed $default default value if the option isn't set
+ * @return array: List of file paths, collated by $option
*/
protected static function collateFilePathListByOption( array $list, $option, $default ) {
$collatedFiles = array();
* @param array $list List of lists to select from
* @param string $key Key to look for in $map
* @param string $fallback Key to look for in $list if $key doesn't exist
- * @return Array: List of elements from $map which matched $key or $fallback,
+ * @return array: List of elements from $map which matched $key or $fallback,
* or an empty list in case of no match
*/
protected static function tryForKey( array $list, $key, $fallback = null ) {
/**
* Gets a list of file paths for all scripts in this module, in order of propper execution.
*
- * @param $context ResourceLoaderContext: Context
- * @return Array: List of file paths
+ * @param ResourceLoaderContext $context
+ * @return array: List of file paths
*/
protected function getScriptFiles( ResourceLoaderContext $context ) {
$files = array_merge(
/**
* Gets a list of file paths for all styles in this module, in order of propper inclusion.
*
- * @param $context ResourceLoaderContext: Context
- * @return Array: List of file paths
+ * @param ResourceLoaderContext $context
+ * @return array: List of file paths
*/
protected function getStyleFiles( ResourceLoaderContext $context ) {
return array_merge_recursive(
*
* @param array $scripts List of file paths to scripts to read, remap and concetenate
* @throws MWException
- * @return String: Concatenated and remapped JavaScript data from $scripts
+ * @return string: Concatenated and remapped JavaScript data from $scripts
*/
protected function readScriptFiles( array $scripts ) {
global $wgResourceLoaderValidateStaticJS;
* @param array $styles List of media type/list of file paths pairs, to read, remap and
* concetenate
*
- * @param $flip bool
+ * @param bool $flip
*
- * @return Array: List of concatenated and remapped CSS data from $styles,
+ * @return array: List of concatenated and remapped CSS data from $styles,
* keyed by media type
*/
protected function readStyleFiles( array $styles, $flip ) {
* This method can be used as a callback for array_map()
*
* @param string $path File path of style file to read
- * @param $flip bool
+ * @param bool $flip
*
- * @return String: CSS data in script file
+ * @return string: CSS data in script file
* @throws MWException if the file doesn't exist
*/
protected function readStyleFile( $path, $flip ) {
/**
* Get whether CSS for this module should be flipped
- * @param $context ResourceLoaderContext
+ * @param ResourceLoaderContext $context
* @return bool
*/
public function getFlip( $context ) {
* Get this module's name. This is set when the module is registered
* with ResourceLoader::register()
*
- * @return Mixed: Name (string) or null if no name was set
+ * @return mixed: Name (string) or null if no name was set
*/
public function getName() {
return $this->name;
* Get this module's origin. This is set when the module is registered
* with ResourceLoader::register()
*
- * @return Int ResourceLoaderModule class constant, the subclass default
+ * @return int: ResourceLoaderModule class constant, the subclass default
* if not set manually
*/
public function getOrigin() {
}
/**
- * @param $context ResourceLoaderContext
+ * @param ResourceLoaderContext $context
* @return bool
*/
public function getFlip( $context ) {
* Get all JS for this module for a given language and skin.
* Includes all relevant JS except loader scripts.
*
- * @param $context ResourceLoaderContext: Context object
- * @return String: JavaScript code
+ * @param ResourceLoaderContext $context
+ * @return string: JavaScript code
*/
public function getScript( ResourceLoaderContext $context ) {
// Stub, override expected
* #2 is important to prevent an infinite loop, therefore this function
* MUST return either an only= URL or a non-load.php URL.
*
- * @param $context ResourceLoaderContext: Context object
- * @return Array of URLs
+ * @param ResourceLoaderContext $context
+ * @return array: Array of URLs
*/
public function getScriptURLsForDebug( ResourceLoaderContext $context ) {
$url = ResourceLoader::makeLoaderURL(
/**
* Get all CSS for this module for a given skin.
*
- * @param $context ResourceLoaderContext: Context object
- * @return Array: List of CSS strings or array of CSS strings keyed by media type.
+ * @param ResourceLoaderContext $context
+ * @return array: List of CSS strings or array of CSS strings keyed by media type.
* like array( 'screen' => '.foo { width: 0 }' );
* or array( 'screen' => array( '.foo { width: 0 }' ) );
*/
* the module, but file-based modules will want to override this to
* load the files directly. See also getScriptURLsForDebug()
*
- * @param $context ResourceLoaderContext: Context object
- * @return Array: array( mediaType => array( URL1, URL2, ... ), ... )
+ * @param ResourceLoaderContext $context
+ * @return array: array( mediaType => array( URL1, URL2, ... ), ... )
*/
public function getStyleURLsForDebug( ResourceLoaderContext $context ) {
$url = ResourceLoader::makeLoaderURL(
*
* To get a JSON blob with messages, use MessageBlobStore::get()
*
- * @return Array: List of message keys. Keys may occur more than once
+ * @return array: List of message keys. Keys may occur more than once
*/
public function getMessages() {
// Stub, override expected
/**
* Get the group this module is in.
*
- * @return String: Group name
+ * @return string: Group name
*/
public function getGroup() {
// Stub, override expected
/**
* Get the origin of this module. Should only be overridden for foreign modules.
*
- * @return String: Origin name, 'local' for local modules
+ * @return string: Origin name, 'local' for local modules
*/
public function getSource() {
// Stub, override expected
/**
* Get the loader JS for this module, if set.
*
- * @return Mixed: JavaScript loader code as a string or boolean false if no custom loader set
+ * @return mixed: JavaScript loader code as a string or boolean false if no custom loader set
*/
public function getLoaderScript() {
// Stub, override expected
*
* To add dependencies dynamically on the client side, use a custom
* loader script, see getLoaderScript()
- * @return Array: List of module names as strings
+ * @return array: List of module names as strings
*/
public function getDependencies() {
// Stub, override expected
/**
* Get target(s) for the module, eg ['desktop'] or ['desktop', 'mobile']
*
- * @return array of strings
+ * @return array: Array of strings
*/
public function getTargets() {
return $this->targets;
* Currently these are only image files referenced by the module's CSS.
*
* @param string $skin Skin name
- * @return Array: List of files
+ * @return array: List of files
*/
public function getFileDependencies( $skin ) {
// Try in-object cache first
* Get the last modification timestamp of the message blob for this
* module in a given language.
* @param string $lang Language code
- * @return Integer: UNIX timestamp, or 0 if the module doesn't have messages
+ * @return int: UNIX timestamp, or 0 if the module doesn't have messages
*/
public function getMsgBlobMtime( $lang ) {
if ( !isset( $this->msgBlobMtime[$lang] ) ) {
* If you want this to happen, you'll need to call getMsgBlobMtime()
* yourself and take its result into consideration.
*
- * @param $context ResourceLoaderContext: Context object
- * @return Integer: UNIX timestamp
+ * @param ResourceLoaderContext $context
+ * @return int: UNIX timestamp
*/
public function getModifiedTime( ResourceLoaderContext $context ) {
// 0 would mean now
* definitely going to be empty, it should override this method to
* return true in that case. Callers may optimize the request for this
* module away if this function returns true.
- * @param $context ResourceLoaderContext: Context object
- * @return Boolean
+ * @param ResourceLoaderContext $context
+ * @return bool
*/
public function isKnownEmpty( ResourceLoaderContext $context ) {
return false;
*
* @param string $fileName
* @param string $contents
- * @return string JS with the original, or a replacement error
+ * @return string: JS with the original, or a replacement error
*/
protected function validateScriptFile( $fileName, $contents ) {
global $wgResourceLoaderValidateJS;
// Actually add the deletion log entry
$log = new LogPage( $logType );
$logid = $log->addEntry( $this->getLogAction(), $params['title'],
- $params['comment'], $logParams );
+ $params['comment'], $logParams, $this->getUser() );
// Allow for easy searching of deletion log items for revision/log items
$log->addRelations( $field, $params['ids'], $logid );
$log->addRelations( 'target_author_id', $params['authorIds'], $logid );
$logaction,
Title::makeTitle( NS_USER, $target ),
$data['Reason'][0],
- $logParams
+ $logParams,
+ $performer
);
# Relate log ID to block IDs (bug 25763)
$blockIds = array_merge( array( $status['id'] ), $status['autoIds'] );
if ( $this->reason ) {
$detail .= $this->msg( 'colon-separator' )->inContentLanguage()->text() . $this->reason;
}
- $log->addEntry( 'upload', $title, $detail );
+ $log->addEntry( 'upload', $title, $detail, array(), $this->getUser() );
} else {
$interwiki = '[[:' . $this->mInterwiki . ':' .
$origTitle->getPrefixedText() . ']]';
if ( $this->reason ) {
$detail .= $this->msg( 'colon-separator' )->inContentLanguage()->text() . $this->reason;
}
- $log->addEntry( 'interwiki', $title, $detail );
+ $log->addEntry( 'interwiki', $title, $detail, array(), $this->getUser() );
}
$comment = $detail; // quick
$log = new LogPage( 'merge' );
$log->addEntry(
'merge', $targetTitle, $this->mComment,
- array( $destTitle->getPrefixedText(), $timestampLimit )
+ array( $destTitle->getPrefixedText(), $timestampLimit ), $this->getUser()
);
$this->getOutput()->addWikiMsg( 'mergehistory-success',
$t = Title::makeTitle( $s->page_namespace, $s->page_title );
if ( $t ) {
$displayed = $t->getText();
- if ( $this->stripPrefix ) {
+ // Try not to generate unclickable links
+ if ( $this->stripPrefix && $prefixLength !== strlen( $displayed ) ) {
$displayed = substr( $displayed, $prefixLength );
}
$link = ( $s->page_is_redirect ? '<div class="allpagesredirect">' : '' ) .
# Make log entry
$log = new LogPage( 'block' );
- $log->addEntry( 'unblock', $page, $data['Reason'] );
+ $log->addEntry( 'unblock', $page, $data['Reason'], array(), $performer );
return true;
}
if ( !$this->mDesiredDestName && $request->getFileName( 'wpUploadFile' ) !== null ) {
$this->mDesiredDestName = $request->getFileName( 'wpUploadFile' );
}
- $this->mComment = $request->getText( 'wpUploadDescription' );
$this->mLicense = $request->getText( 'wpLicense' );
$this->mDestWarningAck = $request->getText( 'wpDestFileWarningAck' );
$this->mCopyrightSource = $request->getText( 'wpUploadSource' );
$this->mForReUpload = $request->getBool( 'wpForReUpload' ); // updating a file
+
+ $commentDefault = '';
+ $commentMsg = wfMessage( 'upload-default-description' )->inContentLanguage();
+ if ( !$this->mForReUpload && !$commentMsg->isDisabled() ) {
+ $commentDefault = $commentMsg->plain();
+ }
+ $this->mComment = $request->getText( 'wpUploadDescription', $commentDefault );
+
$this->mCancelUpload = $request->getCheck( 'wpCancelUpload' )
|| $request->getCheck( 'wpReUpload' ); // b/w compat
exit( 1 );
}
-# Read language names
-global $wgLanguageNames;
-require_once __DIR__ . '/Names.php';
-
if ( function_exists( 'mb_strtoupper' ) ) {
mb_internal_encoding( 'UTF-8' );
}
// Check if there is a language class for the code
$class = self::classFromCode( $code );
self::preloadLanguageClass( $class );
- if ( MWInit::classExists( $class ) ) {
+ if ( class_exists( $class ) ) {
$lang = new $class;
return $lang;
}
$class = self::classFromCode( $fallbackCode );
self::preloadLanguageClass( $class );
- if ( MWInit::classExists( $class ) ) {
+ if ( class_exists( $class ) ) {
$lang = Language::newFromCode( $fallbackCode );
$lang->setCode( $code );
return $lang;
}
if ( $coreLanguageNames === null ) {
- include MWInit::compiledPath( 'languages/Names.php' );
+ global $IP;
+ include "$IP/languages/Names.php";
}
if ( isset( $coreLanguageNames[$tag] )
static $coreLanguageNames;
if ( $coreLanguageNames === null ) {
- include MWInit::compiledPath( 'languages/Names.php' );
+ global $IP;
+ include "$IP/languages/Names.php";
}
$names = array();
'newwindow' => '(verskyn in nuwe venster)',
'cancel' => 'Kanselleer',
'moredotdotdot' => 'Meer…',
-'morenotlisted' => 'Meer nie gelys nie...',
+'morenotlisted' => 'Die lys is nie volledig nie.',
'mypage' => 'Gebruikersblad',
'mytalk' => 'Bespreking',
'anontalk' => 'Besprekingsblad vir hierdie IP',
# General errors
'error' => 'Fout',
'databaseerror' => 'Databasisfout',
+'databaseerror-textcl' => "'n Databasis-versoek het gefaal.",
+'databaseerror-query' => 'SQL-versoek:',
+'databaseerror-function' => 'Funksie: $1',
+'databaseerror-error' => 'Fout: $1',
'laggedslavemode' => 'Waarskuwing: Onlangse wysigings dalk nie in bladsy vervat nie.',
'readonly' => 'Databasis gesluit',
'enterlockreason' => 'Rede vir die sluiting,
'changeemail-submit' => 'Wysig E-posadres',
'changeemail-cancel' => 'Kanselleer',
+# Special:ResetTokens
+'resettokens-token-label' => '$1 (huidige waarde: $2)',
+
# Edit page toolbar
'bold_sample' => 'Vetgedrukte teks',
'bold_tip' => 'Vetdruk',
'badsiglength' => 'U handtekening is te lank.
Dit mag nie meer as $1 {{PLURAL:$1|karakter|karakters}} bevat nie.',
'yourgender' => 'Geslag:',
-'gender-unknown' => 'Nie gespesifiseer',
-'gender-male' => 'Man',
-'gender-female' => 'Vrou',
+'gender-unknown' => 'Ek wil nie sê nie',
+'gender-male' => 'Hy bewerk wikiblaaie',
+'gender-female' => 'Sy bewerk wikiblaaie',
'prefs-help-gender' => 'Opsioneel: dit word gebruik om gebruikers korrek aan te spreek in die sagteware.
Die inligting is vir ander gebruikers sigbaar.',
'email' => 'E-pos',
# Recent changes
'nchanges' => '$1 {{PLURAL:$1|wysiging|wysigings}}',
+'enhancedrc-since-last-visit' => '$1 {{PLURAL:$1|sedert u laaste besoek}}',
+'enhancedrc-history' => 'geskiedenis',
'recentchanges' => 'Onlangse wysigings',
'recentchanges-legend' => 'Opsies vir onlangse wysigings',
'recentchanges-summary' => 'Volg die mees onlangse wysigings aan die wiki op die bladsy.',
'rc_categories_any' => 'Enige',
'rc-change-size-new' => '$1 {{PLURAL:$1|greep|grepe}} na die wysiging',
'newsectionsummary' => '/* $1 */ nuwe afdeling',
-'rc-enhanced-expand' => 'Wys details (benodig JavaScript)',
+'rc-enhanced-expand' => 'Wys details',
'rc-enhanced-hide' => 'Steek details weg',
'rc-old-title' => 'oorspronklik geskep as "$1"',
'listfiles_size' => 'Grootte',
'listfiles_description' => 'Beskrywing',
'listfiles_count' => 'Weergawes',
+'listfiles-latestversion-yes' => 'Ja',
+'listfiles-latestversion-no' => 'Nee',
# File description page
'file-anchor-link' => 'Lêer',
'randompage' => 'Lukrake bladsy',
'randompage-nopages' => 'Daar is geen bladsye in die volgende {{PLURAL:$2|naamruimte|naamruimtes}} nie: $1.',
+# Random page in category
+'randomincategory-selectcategory-submit' => 'Gaan',
+
# Random redirect
'randomredirect' => 'Lukrake aanstuur',
'randomredirect-nopages' => 'Daar is geen aansture in naamruimte "$1" nie.',
'protectlogtext' => 'بالأسفل قائمة بالتغييرات في حماية الصفحات.
انظر [[Special:ProtectedPages|قائمة الصفحات المحمية]] لقائمة بعمليات حماية الصفحات المفعلة حاليا.',
'protectedarticle' => 'حمى "[[$1]]"',
-'modifiedarticleprotection' => 'غÙ\8aر Ù\85ستÙ\88Ù\89 اÙ\84ØÙ\85اÙ\8aØ© Ù\84"[[$1]]"',
+'modifiedarticleprotection' => 'غÙ\8aر Ù\85ستÙ\88Ù\89 ØÙ\85اÙ\8aØ© "[[$1]]"',
'unprotectedarticle' => 'أزال الحماية من "[[$1]]"',
'movedarticleprotection' => 'نقل إعدادات الحماية من "[[$2]]" إلى "[[$1]]"',
'protect-title' => 'ضبط مستوى الحماية ل"$1"',
'upload-preferred' => 'Preferred file types: $1.',
'upload-prohibited' => 'Prohibited file types: $1.',
'uploadfooter' => '-', # do not translate or duplicate this message to other languages
+'upload-default-description' => '-', # do not translate or duplicate this message to other languages
'uploadlog' => 'upload log',
'uploadlogpage' => 'Upload log',
'uploadlogpagetext' => 'Below is a list of the most recent file uploads.
* @author Pouyana
* @author Reza1615
* @author Roozbeh Pournader <roozbeh at gmail.com>
+ * @author Rtemis
* @author Sahim
* @author Surena
* @author Taha
'tog-extendwatchlist' => 'گسترش فهرست پیگیریها برای نمایش همهٔ تغییرات، نه فقط آخرینها',
'tog-usenewrc' => 'گروهبندی تغییرات بر پایه صفحه در تغییرات اخیر و فهرست پیگیریها (نیازمند جاوااسکریپت)',
'tog-numberheadings' => 'شمارهگذاری خودکار عنوانها',
-'tog-showtoolbar' => 'نوار ابزار جعبهٔ ویرایش نمایش یابد (نیازمند جاوااسکریپت)',
+'tog-showtoolbar' => 'نوار ابزار جعبهٔ ویرایش نمایش یابد',
'tog-editondblclick' => 'ویرایش صفحهها با دوکلیک (نیازمند جاوااسکریپت)',
'tog-editsection' => 'ویرایش بخشها از طریق پیوندهای [ویرایش] فعال باشد',
'tog-editsectiononrightclick' => 'امکان ویرایش بخشها با کلیک راست روی عنوانهای بخش (نیازمند جاوااسکریپت)',
'rc_categories_any' => 'هر کدام',
'rc-change-size-new' => '$1 {{PLURAL:$1|بایت}} پس از تغییر',
'newsectionsummary' => '/* $1 */ بخش جدید',
-'rc-enhanced-expand' => 'نمایش جزئیات (نیازمند جاوااسکریپت)',
+'rc-enhanced-expand' => 'نمایش جزئیات',
'rc-enhanced-hide' => 'نهفتن جزئیات',
'rc-old-title' => 'ایجادشده با عنوان اصلی «$1»',
'viewyourtext' => "Vous pouvez voir et copier le contenu de '''vos modifications''' à cette page :",
'protectedinterface' => "Cette page fournit du texte d'interface pour le logiciel sur ce wiki, et est protégée pour éviter les abus.
Pour ajouter ou modifier des traductions sur tous les wikis, veuillez utiliser [//translatewiki.net/ translatewiki.net], le projet de localisation de MediaWiki.",
-'editinginterface' => "'''Attention''': Vous êtes en train de modifier une page utilisée pour créer le texte de l'interface du logiciel. Les changements sur cette page se répercuteront dur l'apparence de l'interface utilisateur pour les autres utilisateurs de ce wiki.
-Pour ajouter ou modifier des traductions pour tous les wikis, veuillez utiliser [//translatewiki.net/ translatewiki.net], le projet d'internationalisation de MediaWiki.",
+'editinginterface' => "'''Attention''' : vous êtes en train de modifier une page utilisée pour créer le texte de l’interface du logiciel. Les changements sur cette page se répercuteront sur l’apparence de l’interface utilisateur pour les autres utilisateurs de ce wiki.
+Pour ajouter ou modifier des traductions pour tous les wikis, veuillez utiliser [//translatewiki.net/ translatewiki.net], le projet d’internationalisation de MediaWiki.",
'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''' ».",
'''N'UTILISEZ PAS DE TRAVAUX SOUS DROIT D'AUTEUR SANS AUTORISATION EXPRESSE !'''",
'longpageerror' => "'''Erreur: Le texte que vous avez soumis fait {{PLURAL:$1|un Kio|$1 Kio}}, ce qui dépasse la limite fixée à {{PLURAL:$2|un Kio|$2 Kio}}.'''
Il ne peut pas être sauvegardé.",
-'readonlywarning' => "'''AVERTISSEMENT : la base de données a été verrouillée pour des opérations de maintenance. Vous ne pouvez donc pas publier vos modifications pour l'instant.'''
-Vous pouvez copier et coller votre texte dans un fichier texte et l'enregistrer pour plus tard.
+'readonlywarning' => "'''AVERTISSEMENT : la base de données a été verrouillée pour des opérations de maintenance. Vous ne pouvez donc pas publier vos modifications pour l’instant.'''
+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",
+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 />
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 :",
'api-error-badtoken' => 'Belső hiba: hibás token.',
'api-error-copyuploaddisabled' => 'Az URL-címes feltöltés nem engedélyezett ezen a kiszolgálón.',
'api-error-duplicate' => 'Már van {{PLURAL:$1|egy|néhány}} [$2 másik fájl] az oldalon ugyanilyen tartalommal',
-'api-error-duplicate-archive' => 'Az oldalon {{PLURAL:$1|szerepelt|szerepeltek}} más [$2 más {{PLURAL:$1|fájl|fájlok}}] is ugyanezzel a tartalommal, de törlölve {{PLURAL:$1|lett|lettek}}.',
+'api-error-duplicate-archive' => 'Az oldalon {{PLURAL:$1|szerepelt|szerepeltek}} [$2 más {{PLURAL:$1|fájl|fájlok}}] is ugyanezzel a tartalommal, de törölve {{PLURAL:$1|lett|lettek}}.',
'api-error-duplicate-archive-popup-title' => '{{PLURAL:$1|Az azonos fájl, ami törölve lett|Azonos fájlok, amik törölve lettek}}',
'api-error-duplicate-popup-title' => '{{PLURAL:$1|Duplikátum|Duplikátumok}}',
'api-error-empty-file' => 'Az általad elküldött fájl üres volt.',
'tog-hidepatrolled' => 'Ilemmeng dagiti napatruliaan nga inurnos kadagiti naudi a sinuk-sukatan',
'tog-newpageshidepatrolled' => 'Ilemmeng dagiti napatruliaan a panid manipud ti baro a listaan ti panid',
'tog-extendwatchlist' => 'Ipalawa ti listaan ti bambantayan tapno maipakita amin a nasukatan, tapno saan laeng a dagiti nabiit',
-'tog-usenewrc' => 'Dagiti grupo a panagbaliw babaen ti panid kadagiti kinaudi a panagbaliw ken banbantayan (masapul ti JavaScript)',
+'tog-usenewrc' => 'Dagiti grupo a panagbaliw babaen ti panid kadagiti kinaudi a panagbaliw ken banbantayan',
'tog-numberheadings' => 'Automatiko a pabilangan dagiti paulo',
-'tog-showtoolbar' => 'Ipakita ti baras ti ramit ti panag-urnos (masapul ti JavaScript)',
-'tog-editondblclick' => 'Urnosen dagiti panid iti mamindua a panagpindut (masapul ti JavaScript)',
+'tog-showtoolbar' => 'Ipakita ti baras ti ramit ti panag-urnos',
+'tog-editondblclick' => 'Urnosen dagiti panid iti mamindua a panagpindut',
'tog-editsection' => 'Pakabaelan ti panag-urnos ti paset babaen kadagiti silpo nga [urnosen]',
-'tog-editsectiononrightclick' => 'Pakabaelan ti panag-urnos ti paset babaen ti kanawan a panagpindut kadagiti titulo ti paset (masapul ti JavaScript)',
+'tog-editsectiononrightclick' => 'Pakabaelan ti panag-urnos ti paset babaen ti kanawan a panagpindut kadagiti titulo ti paset',
'tog-showtoc' => 'Ipakita ti tabla dagiti linaon (para kadagiti panid nga adda ti ad-adu ngem dagiti 3 a paulo)',
'tog-rememberpassword' => 'Laglagipem ti iseserrekko iti daytoy a pagbasabasa (iti kapaut nga $1 {{PLURAL:$1|aldaw|al-aldaw}})',
'tog-watchcreations' => 'Agnayon kadagiti panid a pinartuatko ken papeles nga inkargak idiay listaan ti bambantayak',
'tog-shownumberswatching' => 'Ipakita ti bilang dagiti agbuybuya nga agar-aramat',
'tog-oldsig' => 'Ti adda a pirma:',
'tog-fancysig' => 'Tratuen ti pirma a kas wikitext (nga awan ti automatiko a panagsilpo)',
-'tog-uselivepreview' => 'Usaren ti agdama a panagipadas (masapul ti JavaScript) (eksperimento)',
+'tog-uselivepreview' => 'Usaren ti agdama a panagipadas (eksperimento)',
'tog-forceeditsummary' => 'Pakaammuannak no sumrek ti blanko a pakabuklan ti panag-urnos',
'tog-watchlisthideown' => 'Ilemmeng dagiti inurnosko manipud ti listaan ti bambantayan',
'tog-watchlisthidebots' => 'Ilemmeng dagiti inurnos ti bot manipud ti listaan ti bambantayan',
'newwindow' => '(aglukat iti sabali a tawa)',
'cancel' => 'Ukasen',
'moredotdotdot' => 'Adu pay...',
-'morenotlisted' => 'Adu a saan a nailista...',
+'morenotlisted' => 'Daytoy a listaan ket saan a kompleto.',
'mypage' => 'Panid',
'mytalk' => 'Tungtungan',
'anontalk' => 'Tungtungan para iti daytoy a pagtaengan ti IP',
# General errors
'error' => 'Biddut',
'databaseerror' => 'Biddut iti database',
+'databaseerror-text' => 'Adda napasamak a biddut ti usisa ti database.
+Daytoy ket mabalin a mangibagbaga ti parikut ti sopwer.',
+'databaseerror-textcl' => 'Adda napasamak a biddut ti usisa ti database.',
+'databaseerror-query' => 'Usisa: $1',
+'databaseerror-function' => 'Annong: $1',
+'databaseerror-error' => 'Biddut: $1',
'laggedslavemode' => "'''Ballaag:''' Ti panid ket mabalin a saan nga aglaon kadagiti kinaudi a panagpabaro.",
'readonly' => 'Narikepan ti database',
'enterlockreason' => 'Agikabil ti rason para iti pannakarikep, agraman ti maysa a karkulo no kaanonto a maluktan',
'prefs-rendering' => 'Tabas',
'saveprefs' => 'Idulin',
'resetprefs' => 'Dalusan dagiti saan a naidulin a sinuksukatan',
-'restoreprefs' => 'Isublim amin dagiti kinasigud a kasasaad',
+'restoreprefs' => 'Isubli amin dagiti kasisigud a pannakaiyasentar (kadagiti amin a paset)',
'prefs-editing' => 'Ur-urnosen',
'rows' => 'Ar-aray:',
'columns' => 'Tuk-tukol:',
'prefs-displaywatchlist' => 'Ipakita dagiti pagpilian',
'prefs-tokenwatchlist' => 'Tandaan',
'prefs-diffs' => 'Sabali',
+'prefs-help-prefershttps' => 'Daytoy a kakaykayatan ket mapakabaelanto iti sumaruno nga iseserrekmo.',
# User preference: email validation using jQuery
'email-address-validity-valid' => 'Ti esurat a pagtaengan ket kasla umiso',
'rc_categories_any' => 'Uray ania',
'rc-change-size-new' => '$1 {{PLURAL:$1|a byte|kadagiti byte}} kalpasan ti panag-sukat',
'newsectionsummary' => '/* $1 */ baro a paset',
-'rc-enhanced-expand' => 'Ipakita dagiti salaysay (masapul ti JavaScript)',
+'rc-enhanced-expand' => 'Ipakita dagiti salaysay',
'rc-enhanced-hide' => 'Ilemmeng dagiti salaysay',
'rc-old-title' => 'kasisigud nga inaramid a kas ti "$1"',
'upload_source_file' => '(papeles iti kompiutermo)',
# Special:ListFiles
-'listfiles-summary' => 'Daytoy nga espesial a panid ket agiparang kadagiti pinag-ipan kadagiti papeles.
-No sagaten ti agar-aramat, dagiti laeng papeles a pinag-ipan ti agar-aramat ti kinaudi a bersion ti papeles ti maipakita.',
+'listfiles-summary' => 'Daytoy nga espesial a panid ket agiparang kadagiti amin a naipan a papeles.',
'listfiles_search_for' => 'Agsapul para iti nagan ti midia:',
'imgfile' => 'papeles',
'listfiles' => 'Listaan ti papeles',
'listfiles_size' => 'Kadakkel',
'listfiles_description' => 'Panagipalpalawag',
'listfiles_count' => 'Dagiti bersion',
+'listfiles-show-all' => 'Iraman dagiti daan a bersion dagiti ladawan',
+'listfiles-latestversion' => 'Agdama a bersion',
+'listfiles-latestversion-yes' => 'Wen',
+'listfiles-latestversion-no' => 'Saan',
# File description page
'file-anchor-link' => 'Papeles',
'dberr-problems' => 'Pasensian a!
Daytoy a pagsaadan ket agdadama ti teknikal a pagrigrigatan.',
'dberr-again' => 'Padasem ti agururay to manu a minutos ken agikarga.',
-'dberr-info' => '(San a makontak ti database server: $1)',
+'dberr-info' => '(Saan a makontak ti database server: $1)',
+'dberr-info-hidden' => '(Saan a makontak ti database server)',
'dberr-usegoogle' => 'Padasem ti agbiruk idiay Google tatta.',
'dberr-outofdate' => 'Palagip a dagiti listaan da kadagiti kukuami a nagyan ket baka nagpaso.',
'dberr-cachederror' => 'Daytoy ket naidulin a kopia ti kiniddawmo a panid, ken mabalin a saan a kabarbaro.',
'tog-usenewrc' => "Grupēt izmaiņas pēc lapas pēdējās izmaiņās un uzraugāmo lapu sarakstā (izmanto ''JavaScript'')",
'tog-numberheadings' => 'Automātiski numurēt virsrakstus',
'tog-showtoolbar' => 'Rādīt rediģēšanas rīkjoslu',
-'tog-editondblclick' => "Atvērt rediģēšanas lapu ar dubultklikšķi (izmanto ''JavaScript'')",
+'tog-editondblclick' => 'Atvērt lapu rediģēšanai ar dubultklikšķi',
'tog-editsection' => 'Rādīt sadaļām izmainīšanas saiti "[labot]"',
'tog-editsectiononrightclick' => "Atvērt sadaļas rediģēšanas lapu, uzklikšķinot ar labo peles pogu uz sadaļas virsraksta (izmanto ''JavaScript'')",
'tog-showtoc' => 'Parādīt satura rādītāju (lapām, kurās ir vairāk par 3 virsrakstiem)',
'newwindow' => '(atveras jaunā logā)',
'cancel' => 'Atcelt',
'moredotdotdot' => 'Vairāk...',
+'morenotlisted' => 'Šis saraksts nav pilnīgs.',
'mypage' => 'Lapa',
'mytalk' => 'Diskusijas',
'anontalk' => 'Šīs IP adreses diskusija',
# General errors
'error' => 'Kļūda',
'databaseerror' => 'Datu bāzes kļūda',
+'databaseerror-textcl' => 'Datu bāzes vaicājuma kļūda.',
+'databaseerror-query' => 'Vaicājums: $1',
+'databaseerror-function' => 'Funkcija: $1',
+'databaseerror-error' => 'Kļūda: $1',
'laggedslavemode' => 'Uzmanību: Iespējams, šajā lapā nav redzami nesen izdarītie papildinājumi.',
'readonly' => 'Datubāze bloķēta',
'enterlockreason' => 'Ievadiet bloķēšanas iemeslu, ieskaitot aplēses, kad bloķēšana tiks beigta.',
'tog-hidepatrolled' => "Hanitrika ny fanovana voaara-maso ao amin'ny fanovana farany",
'tog-newpageshidepatrolled' => "Hanitsika ny pejy voaara-maso ao amin'ny pejy vaovao",
'tog-extendwatchlist' => 'Hanitatra ny lisitra fanaraham-pejy mba haneho ny fanovana rehetra fa tsy ny vaovao indrindra fotsiny',
-'tog-usenewrc' => "Hamondrona ny fanovana araka ny pejy ao amin'ny fanovàna farany ary ao amin'ny pejy arahana (mila Javascript)",
+'tog-usenewrc' => "Hamondrona ny fanovana araky ny pejy ao amin'ny fanovana farany ary ao amin'ny lisitry ny pejy arahana",
'tog-numberheadings' => 'Asio laharany ny lohateny',
-'tog-showtoolbar' => 'Asehoy ny edit toolbar (mila JavaScript)',
-'tog-editondblclick' => 'Ovay ny pejy rehefa voatsindry indroa misesy ny totozy (mila JavaScript)',
+'tog-showtoolbar' => 'Haneho ny toolbar fanovana',
+'tog-editondblclick' => "Hanova pejy amin'ny alalan'ny tsindrim-boalavo roa misesy",
'tog-editsection' => "Ataovy mety ny fanovana fizaràna amin'ny alalan'ny rohy [hanova]",
-'tog-editsectiononrightclick' => "Ovay ny fizaràna rehefa manindry ny bokotra havanana amin'ny totozy eo amin'ny lohateny hoe fizaràna (mila JavaScript)",
+'tog-editsectiononrightclick' => "Hampiasa ny fanovana fizarana amin'ny tsindry havanana eo amin'ny lohatenim-pizarana.",
'tog-showtoc' => "Asehoy ny fanoroan-takila (ho an'ny pejy misy lohateny mihoatra ny 3)",
'tog-rememberpassword' => "Tadidio ny tenimiafiko eto amin'ity solosaina ity (mandritry ny andro $1 fara-fahabetsany){{PLURAL:}}",
'tog-watchcreations' => 'Hanaraka ny pejy foronoko ary ny rakitra ampidiriko',
'tog-shownumberswatching' => "Asehoy ny isan'ny mpikambana manara-maso ny pejy",
'tog-oldsig' => "Topi-mason'ny sonia :",
'tog-fancysig' => 'Sonia tsotra (tsy misy rohy)',
-'tog-uselivepreview' => 'Ampesao ny topi-maso maikamaika (mila Javascript) (mbola am-panandramana)',
+'tog-uselivepreview' => 'Hampiasa ny topi-maso malakay (andramana)',
'tog-forceeditsummary' => 'Teneno ahy ra tsy nametraka ny ambangovangony',
'tog-watchlisthideown' => "Tsy ampiseho anatin'ny pejy fanaraha-maso ny zavatra nosoratako",
'tog-watchlisthidebots' => "Asitriho amin'ny lisitro ny fanovàna nataon'ny rôbô",
'tog-diffonly' => "Aza ampiseho ny voatonin'ny pejy eo amban'ny diff",
'tog-showhiddencats' => 'Asehoy ny sokajy misitrika',
'tog-norollbackdiff' => 'Aza aseho ny diff rehefa avy namafa fanàvana iray',
+'tog-useeditwarning' => 'Ampitandremo aho raha miala sady mamela pejy ovaiko nefa tsy notahiriziko',
+'tog-prefershttps' => 'Fanohizana azo antoka foana no ampaisaina rehefa tafiditra',
'underline-always' => 'Foana foana',
'underline-never' => 'Tsy tsipihina mihitsy',
'newwindow' => '(sokafy anaty takila hafa)',
'cancel' => 'Aoka ihany',
'moredotdotdot' => 'Tohiny...',
-'morenotlisted' => 'Tohiny tsy voalisitra...',
+'morenotlisted' => 'Tsy feno ity lisitra ity.',
'mypage' => 'Pejy',
'mytalk' => 'Dinika',
'anontalk' => "Resaka ho an'io adiresy IP io",
'namespaces' => 'Valam-pejy',
'variants' => "Ny ''skin'' Voasintona",
+'navigation-heading' => 'Meny fitetezana',
'errorpagetitle' => 'Tsy fetezana',
'returnto' => "Hiverina any amin'ny $1.",
'tagline' => "Avy amin'i {{SITENAME}}",
# General errors
'error' => 'Tsy mety',
'databaseerror' => "Tsy fetezana eo amin'ny toby",
+'databaseerror-text' => "Nisy hadisoana banky angona nitranga.
+Mety maneho baogy ao amin'ny rindrankajy izany.",
+'databaseerror-textcl' => 'Nisy hadisoana banky angona nitranga.',
+'databaseerror-query' => 'Hataka: $1',
+'databaseerror-function' => 'Lefa: $1',
+'databaseerror-error' => 'Hadisoana: $1',
'laggedslavemode' => 'Fampitandremana: Mety ho tsy nisy fanovana vao haingana angamba io pejy io',
'readonly' => 'Mihidy ny banky angona',
'enterlockreason' => 'Manomeza antony hanidiana ny pejy, ahitana ny fotoana tokony hamahana izay fihidiana izay',
'cannotdelete-title' => 'Tsy afaka mamafa ny pejy "$1"',
'delete-hook-aborted' => "Famafana nofoanan'ny itatra.
Tsy nanome fanazavana.",
+'no-null-revision' => 'Tsy nahaforona famerenana poaka aty ho an\'ny pejy "$1"',
'badtitle' => 'Tsy mety ny lohateny',
'badtitletext' => "Tsy mety io anaram-pejy nangatahinao io na tsy misy n'inon'inona na rohy dikan-teny vahiny misy diso tsipelina.",
'perfcached' => "Ao amin'ny voatakona ireo data manaraka ireo ary mety tsy voavao. $1{{PLURAL:}} ihany no isan'ireo zavatra voatahiry ao amin'ny voatakona",
'virus-unknownscanner' => 'Tsy fantatra io Antivirus io :',
# Login and logout pages
-'logouttext' => "'''Tafavoaka ianao ankehitriny.'''
+'logouttext' => "'''Efa tafavoaka amin'izay ianao.'''
-Mbola afaka mampiasa ny {{SITENAME}} ianao na dia ef anivoaka aza, na afaka <span class='plainlinks'>[$1 miverina mihiditra]</span> ianao ambanin'ny anaranao na anaram-pikambana hafa.
-Fantaro fa ny endriky ny pejy sasany dia mety mitovy amin'ny endrika nahitanao azy tamin' ianao mbola niditra tato, ho toy izany ny endri-pejy raha tsy nofafanao ny cache.",
+Fantaro fa mety mbola misy ireo pejy milaza anao fa mbola tafiditra raha tsy namafa ny pejy voatakona (cache) ianao.",
'welcomeuser' => 'Tonga soa, $1',
'welcomecreation-msg' => "Noforonina ny aontinao.
Aza adin ny manova ny [[Special:Preferences|safidinao ro amin'i{{SITENAME}}]].",
'yourname' => 'Solonanarana',
'userlogin-yourname' => 'Anaram-pikambana',
'userlogin-yourname-ph' => 'Atsofohy ny anaram-pikambanao',
+'createacct-another-username-ph' => 'Atsofohy ny anaram-pikambana',
'yourpassword' => 'Tenimiafina',
'userlogin-yourpassword' => 'Tenimiafina',
'userlogin-yourpassword-ph' => 'Atsofohy ny tenimiafinao',
'gotaccountlink' => 'Midira',
'userlogin-resetlink' => "Adinonavo ve ny antsipihan'ny fidiranao ?",
'userlogin-resetpassword-link' => 'Hamerina ny tenimiafinao',
-'helplogin-url' => 'Fanoroana:Fidirana',
+'helplogin-url' => 'Help:Fidirana',
'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Fanoroana mikasika ny fidirana]]',
'createacct-join' => 'Atsofohy eo ambany ny fampahalalana momba anao.',
+'createacct-another-join' => "Atsofohy eo ambany ny fampahalalana vaovaon'ny kaonty",
'createacct-emailrequired' => 'Adiresy mailaka :',
'createacct-emailoptional' => 'Adiresy mailaka (azo tsy atao) :',
'createacct-email-ph' => 'Atsofohy ny adiresy mailakao',
-'createaccountmail' => "Hampiasa tenimiafina kisendra vonjimaika ary handefa azy mailaka any amin'ny adiresy nolazaina teo ambany",
+'createacct-another-email-ph' => 'Atsofohy ny adiresy mailaka',
+'createaccountmail' => "Hampiasa tenimiafina vonjimaika ary handefa azy eo amin'ny adiresy mailaka voalaza",
'createacct-realname' => 'Tena anarana (azo tsy atao)',
'createaccountreason' => 'Antony :',
'createacct-reason' => 'Antony',
'createacct-reason-ph' => 'Inona ny antony hamoronanao kaonty hafa',
'createacct-imgcaptcha-ph' => 'Atsofohy ny teny hitanao eo ambony',
'createacct-submit' => 'Hamorona ny kaontinao',
+'createacct-another-submit' => 'Hamorona kaonty vaovao',
'createacct-benefit-heading' => "Olona tahaka ianao no manoratra eo amin'i {{SITENAME}}",
'createacct-benefit-body1' => 'fanovana{{PLURAL:$1}}',
'createacct-benefit-body2' => 'pejy{{PLURAL:$1}}',
Aza mijery ity hafatra ity ianao raha voaforona an-tsifetezana ilay kaonty io.",
'usernamehasherror' => 'Ny anaram-pikambana dia tsy afaka manana soratra fanaovana hash.',
-'login-throttled' => "Im-betsaka loatra ianao no nanandrana tenimiafina teo amin'io kaonty io.
-Andraso kely ary andramo indray.",
+'login-throttled' => "Betsaka loatra ny andram-pidirana nataonao.
+
+Andraso $1 alohan'ny mamerina.",
'login-abort-generic' => 'Tsy nahomby ny fanandramanao niditra',
'loginlanguagelabel' => 'fiteny : $1',
'suspicious-userlogout' => "Ny fangataham-pialanao dia tsy nekena satria ohatry ny nalfan'ny mpizahan-tsehatra simba izy na kasy ny proxy.",
+'createacct-another-realname-tip' => "Azo tsy atsofoka ny tena anarana.
+Raha misafidy ny hanome azy ianao, ho ampiasaina amin'ny fanehoana ny anjara asan'ilay mpikambana ilay izy.",
# Email sending
'php-mail-error-unknown' => "Hadisoana tsy fantatra tao amin'ny tao mial() an'i PHP.",
'newpassword' => 'Tenimiafina vaovao:',
'retypenew' => 'Avereno ampidirina ny tenimiafina vaovao:',
'resetpass_submit' => 'Ovay ny tenimiafina ary midira',
-'changepassword-success' => 'Voasolo soa aman-tsara ny tenimiafinao ! Mampiditranao izao ankehitriny...',
+'changepassword-success' => 'Voaova soa aman-tsara ny tenimiafinao!',
'resetpass_forbidden' => 'Tsy afaka ovaina ny tenimiafina',
'resetpass-no-info' => "Tsy maintsy tafiditra ao amin'ny kaontinao ianao vao afaka mijery ity pejy ity.",
'resetpass-submit-loggedin' => 'Ovay ny tenimiafina',
'resettokens-legend' => 'Famerenana ny token',
'resettokens-tokens' => 'Token:',
'resettokens-token-label' => '$1 (sanda ankehitriny: $2)',
+'resettokens-watchlist-token' => "Token ho an'ny fahna web (Atom/RSS) ho an'ny [[Special:Watchlist|fanovana ny pejy ao amin'ny lisitry ny pejy arahanao]]",
+'resettokens-done' => 'Natao reset ny token',
+'resettokens-resetbutton' => 'Hanao reset ny token voafidy',
# Edit page toolbar
'bold_sample' => 'Soratra matavy',
'loginreqlink' => 'miditra',
'loginreqpagetext' => 'Tokony $1 ianao raha te hijery pejy hafa.',
'accmailtitle' => 'Lasa ny tenimiafina.',
-'accmailtext' => 'Lasa any amin\'i $2 ny tenimiafin\'i "$1".',
+'accmailtext' => "Nalefa tany amin'i $2 ny tenimiafina kisendra ho an'ny kaonty [[User talk:$1|$1]]! Azo ovaina eo amin'i ''[[Special:ChangePassword|Manova tenimiafina]]'' izany amin'ny alalan'ny fidirana.",
'newarticle' => '(Vaovao)',
'newarticletext' => "Mbola tsy misy ity takelaka ity koa azonao atao ny mamorona azy eto ambany. Jereo ny [[{{MediaWiki:Helppage}}|Fanoroana]] raha misy fanazavana ilainao.
'undo-failure' => "Tsy afaka esorina io fanovàna io : mety tsy miraikitra amin'ny fanovàna misy eo ampivoaniny ra esorina",
'undo-norev' => 'Tsy afaka nesorina ilay fanovàna satria tsy misy na efa voafafa izy.',
'undo-summary' => "Niala ny fanovàna $1 nataon'i [[Special:Contributions/$2|$2]] ([[User talk:$2|resaho]])",
+'undo-summary-username-hidden' => 'Namafa ny famerenana $1 nataom-pikambana afenina',
# Account creation failure
'cantcreateaccounttitle' => 'Tsy afaka manokatra kaonty ianao.',
'powersearch-togglenone' => 'Tsy misy',
'search-external' => 'Hikaroka any ivelany',
'searchdisabled' => "Tsy nalefa ny karoka eto amin'i {{SITENAME}}. Afaka mampiasa an'i Google aloha ianao mandra-paha. Nefa fantaro fa mety ho efa lany daty ny valiny omeny.",
+'search-error' => 'Hadisoana nitranga tam-pikarohana: $1',
# Preferences page
'preferences' => 'Ny momba anao',
'prefs-rendering' => 'Fampisehoana',
'saveprefs' => 'Tehirizo',
'resetprefs' => 'Avereno',
-'restoreprefs' => 'Averina ny reglages taloha',
+'restoreprefs' => "Hamerina ny safidy taloha (amin'ny fizarana rehetra)",
'prefs-editing' => 'Fanovana',
'rows' => 'Filaharana :',
'columns' => 'Tsanganana/Tioba :',
'badsig' => 'Tsy mety io sonia io; hamarino ny kialo HTML.',
'badsiglength' => "Lava loatra ny sonianao. {{PLURAL:$1||}}
Tokony mba manana lohavy ambanimbany kokoa non'ny $1",
-'yourgender' => 'lahi-vavy :',
-'gender-unknown' => 'Tsy voalaza',
-'gender-male' => 'Lehilahy',
-'gender-female' => 'Vehivavy',
+'yourgender' => 'Tiana hofaritana ahoana ianao?',
+'gender-unknown' => 'Tsy tia hanome ny antsipirihany aho',
+'gender-male' => 'Manova pejy wiki izy (lehilahy)',
+'gender-female' => 'Manova pejy wiki izy (vehivavy)',
'prefs-help-gender' => "Ankifidy : Ampiasaina mba hifanaraka amin'ny lahi-vavy. Ho sarababem-bahoaka io fampahalalàna io.",
'email' => 'Imailaka',
'prefs-help-realname' => "Anarana marina (afaka tsy fenoina): raha fenoinao ity dia hampiasaina hanomezana anao tambin'ny asa izay efainao eto.",
# Recent changes
'nchanges' => '{{PLURAL:$1|fanovana|fanovana}} $1',
+'enhancedrc-history' => 'tantara',
'recentchanges' => 'Fanovana farany',
'recentchanges-legend' => 'Safidy ny fanovàna farany',
'recentchanges-summary' => "Jereo eto amin'ity pejy ity izay vao niova vao haingana teto amin'ity wiki ity.",
'rc_categories_any' => 'Tsy misy fetrany',
'rc-change-size-new' => "$1{{PLURAL:}} oktety taorian'ny fanovana",
'newsectionsummary' => '/* $1 */ fizarana vaovao',
-'rc-enhanced-expand' => 'Jereo ny detail (mila JavaScript)',
+'rc-enhanced-expand' => 'Hijery ny antsipirihany',
'rc-enhanced-hide' => 'Asitriho ny adidiny sy ny antsipiriany',
'rc-old-title' => 'noforonina tamin\'ilay lohateny "$1"',
'noarticletext-nopermission' => 'Actualament i a pas cap de tèxte dins aquesta pagina.
Podètz [[Special:Search/{{PAGENAME}}|far una recèrca sul títol de la pagina]] dins las autras paginas,
o <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} recercar dins los jornals associats]</span>.',
-'missing-revision' => "La rrvision n° $1 de la pagina intitulada « {{PAGENAME}} » existís pas.
+'missing-revision' => "La revision n° $1 de la pagina intitulada « {{PAGENAME}} » existís pas.
-Aquò se produsís en general en seguent un ligam istoric obsolèt cap a una pagina qu'es estada suprimida.
+Aquò se produsís en general en seguent un ligam istoric obsolet cap a una pagina qu'es estada suprimida.
Podètz trobar mai de detalhs dins lo [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} jornal de las supressions].",
'userpage-userdoesnotexist' => "Lo compte d'utilizaire « <nowiki>$1</nowiki> » es pas enregistrat. Indicatz se volètz crear o editar aquesta pagina.",
'userpage-userdoesnotexist-view' => "Lo compte d'utilizaire « $1 » es pas enregistrat.",
'tog-showtoolbar' => 'ਸੋਧ ਸੰਦਬਕਸਾ ਵੇਖੋ (ਜਾਵਾਸਕਰਿਪਟ ਲੋੜੀਂਦੀ ਹੈ)',
'tog-editondblclick' => "ਦੋ ਵਾਰ ਕਲਿੱਕ ਕਰਨ 'ਤੇ ਸਫ਼ੇ ਸੋਧੋ (ਜਾਵਾਸਕਰਿਪਟ ਲੋੜੀਂਦੀ ਹੈ)",
'tog-editsection' => '[ਸੋਧੋ] ਲਿੰਕਾਂ ਰਾਹੀਂ ਭਾਗ ਸੋਧਣਾ ਚਾਲੂ ਕਰੋ',
-'tog-editsectiononrightclick' => 'à¨à¨¾à¨\97 ਸਿਰਲà©\87à¨\96ਾà¨\82 ਤੇ ਸੱਜੀ ਕਲਿੱਕ ਨਾਲ਼ ਸੋਧ ਚਾਲੂ ਕਰੋ (ਜਾਵਾਸਕਰਿਪਟ ਲੋੜੀਂਦੀ ਹੈ)',
+'tog-editsectiononrightclick' => 'ਸà©\88à¨\95ਸ਼ਨ ਸਿਰਲà©\87à¨\96ਾà¨\82 â\80\99ਤੇ ਸੱਜੀ ਕਲਿੱਕ ਨਾਲ਼ ਸੋਧ ਚਾਲੂ ਕਰੋ (ਜਾਵਾਸਕਰਿਪਟ ਲੋੜੀਂਦੀ ਹੈ)',
'tog-showtoc' => 'ਤਤਕਰਾ ਵਿਖਾਓ (੩ ਤੋਂ ਵੱਧ ਸਿਰਲੇਖਾਂ ਵਾਲੇ ਸਫ਼ਿਆਂ ਲਈ)',
'tog-rememberpassword' => 'ਇਸ ਬਰਾਊਜ਼ਰ ਉੱਤੇ ਮੇਰਾ ਦਾਖ਼ਲਾ ਯਾਦ ਰੱਖੋ (ਵੱਧ ਤੋਂ ਵੱਧ $1 {{PLURAL:$1|ਦਿਨ|ਦਿਨਾਂ}} ਲਈ)',
'tog-watchcreations' => 'ਮੇਰੇ ਵਲੋਂ ਬਣਾਏ ਗਏ ਸਫ਼ੇ ਅਤੇ ਅੱਪਲੋਡ ਕੀਤੀਆਂ ਫ਼ਾਈਲਾਂ ਮੇਰੀ ਨਿਗਰਾਨੀ-ਲਿਸਟ ਵਿੱਚ ਪਾਓ',
'userpage' => 'ਵਰਤੋਂਕਾਰ ਸਫ਼ਾ ਵੇਖੋ',
'projectpage' => 'ਪ੍ਰੋਜੈਕਟ ਸਫ਼ਾ ਵੇਖੋ',
'imagepage' => 'ਫਾਇਲ ਸਫ਼ਾ ਵੇਖੋ',
-'mediawikipage' => 'ਸà©\81ਨà©\87ਹਾ ਪà©\87à¨\9c ਵੇਖੋ',
+'mediawikipage' => 'ਸà©\81ਨà©\87ਹਾ ਸਫ਼ਾ ਵੇਖੋ',
'templatepage' => 'ਫਰਮਾ ਸਫ਼ਾ ਵੇਖੋ',
'viewhelppage' => 'ਮਦਦ ਸਫ਼ਾ ਵੇਖੋ',
'categorypage' => 'ਸ਼੍ਰੇਣੀ ਸਫ਼ਾ ਵੇਖੋ',
ਧਿਆਨ ਦਿਉ ਕਿ ਜਿੰਨੀ ਦੇਰ ਤੱਕ ਤੁਸੀਂ ਆਪਣੇ ਬਰਾਊਜ਼ਰ ਦਾ ਕੈਸ਼ ਸਾਫ਼ ਨਹੀਂ ਕਰਦੇ, ਕੁਝ ਸਫ਼ੇ ਇੱਦਾਂ ਵਿਖਣਗੇ ਜਿਵੇਂ ਤੁਸੀਂ ਅਜੇ ਵੀ ਦਾਖ਼ਲ ਹੀ ਹੋ।",
'welcomeuser' => '$1 ਜੀ ਆਇਆਂ ਨੂੰ!',
'welcomecreation-msg' => 'ਤੁਹਾਡਾ ਖਾਤਾ ਬਣ ਚੁੱਕਾ ਹੈ। ਆਪਣੀਆਂ [[Special:Preferences|{{SITENAME}} ਪਸੰਦ]] ਬਦਲਣੀ ਨਾ ਭੁੱਲੋ।',
-'yourname' => 'ਯà©\82à¨\9c਼ਰ-ਨਾਂ:',
+'yourname' => 'ਵਰਤà©\8bà¨\82à¨\95ਾਰ-ਨਾਂ:',
'userlogin-yourname' => 'ਯੂਜ਼ਰ-ਨਾਂ',
'userlogin-yourname-ph' => 'ਆਪਣਾ ਯੂਜ਼ਰ-ਨਾਂ ਭਰੋ',
'createacct-another-username-ph' => 'ਯੂਜ਼ਰ ਨਾਂ ਦਿਓ',
'show' => 'ਵਖਾਓ',
'minoreditletter' => 'ਛੋ',
'newpageletter' => 'ਨ',
-'boteditletter' => 'ਬੋ',
+'boteditletter' => 'ਬੋਟ',
'number_of_watching_users_pageview' => '[$1 ਵੇਖ ਰਹੇ ਹਨ {{PLURAL:$1|ਯੂਜ਼ਰ}}]',
'rc_categories_any' => 'ਕੋਈ ਵੀ',
'newsectionsummary' => '/* $1 */ ਨਵਾਂ ਭਾਗ',
'nolinkshere' => "ਕੋਈ ਵੀ ਸਫ਼ਾ '''[[:$1]]''' ਨਾਲ ਨਹੀਂ ਜੋੜਦਾ।",
'isredirect' => 'ਰੀਡਿਰੈਕਟ ਸਫ਼ਾ',
'istemplate' => 'ਟਾਕਰਾ ਕਰੋ',
-'isimage' => 'ਫ਼ਾà¨\88ਲ à¨\95à©\9cà©\80',
+'isimage' => 'ਫ਼ਾà¨\88ਲ ਲਿੰà¨\95',
'whatlinkshere-prev' => '{{PLURAL:$1|ਪਿਛਲਾ|ਪਿਛਲੇ $1}}',
'whatlinkshere-next' => '{{PLURAL:$1|ਅਗਲਾ|ਅਗਲੇ $1}}',
'whatlinkshere-links' => '← ਕੜੀਆਂ',
# Block/unblock
'block' => "ਵਰਤੋਂਕਾਰ 'ਤੇ ਪਾਬੰਦੀ ਲਾਓ",
'unblock' => "ਵਰਤੋਂਕਾਰ 'ਤੇ ਲੱਗੀ ਪਾਬੰਦੀ ਹਟਾਓ",
-'blockip' => 'ਪਾਬੰਦà©\80ਸ਼à©\81ਦਾ ਵਰਤà©\8bà¨\82à¨\95ਾਰ',
+'blockip' => 'ਵਰਤà©\8bà¨\82à¨\95ਾਰ â\80\99ਤà©\87 ਪਾਬੰਦà©\80 ਲਾà¨\93',
'blockip-title' => "ਵਰਤੋਂਕਾਰ 'ਤੇ ਪਾਬੰਦੀ ਲਾਓ",
'blockip-legend' => "ਵਰਤੋਂਕਾਰ 'ਤੇ ਪਾਬੰਦੀ ਲਾਓ",
'ipadressorusername' => 'IP ਐਡਰੈਸ ਜਾਂ ਯੂਜ਼ਰ ਨਾਂ:',
'tooltip-t-contributions' => 'ਇਸ ਵਰਤੋਂਕਾਰ ਦੇ ਯੋਗਦਾਨ ਦੀ ਸੂਚੀ',
'tooltip-t-emailuser' => 'ਇਸ ਵਰਤੋਂਕਾਰ ਨੂੰ ਈ-ਮੇਲ ਭੇਜੋ',
'tooltip-t-upload' => 'ਫ਼ਾਈਲਾਂ ਅਪਲੋਡ ਕਰੋ',
-'tooltip-t-specialpages' => 'ਸਾਰà©\87 à¨\96਼ਾਸ ਸਫ਼ਿà¨\86à¨\82 ਦà©\80 ਸà©\82à¨\9aà©\80',
+'tooltip-t-specialpages' => 'ਸਾਰà©\87 à¨\96਼ਾਸ ਸਫ਼ਿà¨\86à¨\82 ਦà©\80 ਲਿਸà¨\9f',
'tooltip-t-print' => 'ਇਸ ਸਫ਼ੇ ਦਾ ਛਪਣਯੋਗ ਵਰਜਨ',
'tooltip-t-permalink' => 'ਸਫ਼ੇ ਦੇ ਇਸ ਰੀਵਿਜਨ ਲਈ ਪੱਕੀ ਕੜੀ',
'tooltip-ca-nstab-main' => 'ਸਮੱਗਰੀ ਸਫ਼ਾ ਵੇਖੋ',
'htmlform-chosen-placeholder' => 'ਕੋਈ ਚੋਣ ਚੁਣੋ',
# New logging system
+'logentry-delete-delete' => '$1 ਨੇ ਸਫ਼ਾ $3 ਮਿਟਾਇਆ',
'revdelete-content-hid' => 'ਸਮੱਗਰੀ ਲੁਕਾਈ ਹੋਈ',
'revdelete-summary-hid' => 'ਸੋਧ ਸਾਰ ਲੁਕਾਈ ਹੋਈ',
'revdelete-uname-hid' => 'ਵਰਤੋਂਕਾਰ ਨਾਂ ਲੁਕਾਇਆ ਹੋਇਆ',
'passwordreset-text-one' => "Ch'a completa 's formolari për reimposté soa ciav.",
'passwordreset-text-many' => "{{PLURAL:$1|Ch'a compila un dij camp për riamposté soa ciav.}}",
'passwordreset-legend' => 'Riampostassion ëd la ciav',
-'passwordreset-disabled' => 'Ij cangiament ëd ciav a son stàit disabilità su sta wiki.',
+'passwordreset-disabled' => "La reinissialisassion ëd le ciav a l'é stàita disabilità su sta wiki.",
+'passwordreset-emaildisabled' => 'Le fonsionalità ëd pòsta eletrònica a son ëstàite disativà su sta wiki.',
'passwordreset-username' => 'Stranòm:',
'passwordreset-domain' => 'Domini:',
-'passwordreset-capture' => 'Vardé ël mëssagi arzultant?',
-'passwordreset-capture-help' => "S'a marca costa casela, ël mëssagi ëd pòsta eletrònica (con la ciav temporania) a-j sarà smonù e ant l'istess temp a sarà mandà a l'utent.",
+'passwordreset-capture' => 'Vëdde ël mëssagi arzultant?',
+'passwordreset-capture-help' => "S'a marca costa casela, ël mëssagi ëd pòsta eletrònica (con la ciav provisòria) a-j sarà smonù e ant l'istess temp a sarà mandà a l'utent.",
'passwordreset-email' => 'Adrëssa ëd pòsta eletrònica:',
-'passwordreset-emailtitle' => 'Detaj dël cont ansima {{SITENAME}}',
+'passwordreset-emailtitle' => 'Detaj dël cont ansima a {{SITENAME}}',
'passwordreset-emailtext-ip' => "Quaidun (a l'é bel fé ch'a sia chiel, da l'adrëssa IP $1) a l'ha ciamà d'arcordé ij detaj ëd sò cont për {{SITENAME}} ($4). {{PLURAL:$3|Ël cont utent sì-sota a l'é|Ij cont utent sì-sota a son}}
associà a st'adrëssa ëd pòsta eletrònica:
* {{msg-mw|Tooltip-n-portal}}',
'privacy' => 'Used as page name and link at the bottom of each wiki page. The page contains a legal notice providing information about the use of personal information by the website owner.of the site. Example: [[Privacy policy]].
{{Identical|Privacy policy}}',
-'privacypage' => 'Used as page for that contains the privacy policy. Used at the bottom of every page on the wiki. Example: [[{{MediaWiki:Privacypage}}|{{MediaWiki:Privacy}}]].
-{{doc-important|Do not change the "<tt>Project:</tt>" part.}}',
+'privacypage' => '{{doc-important|Do not change the "<tt>Project:</tt>" part.}}
+Used as page for that contains the privacy policy. Used at the bottom of every page on the wiki.
+
+Example: [[{{MediaWiki:Privacypage}}|{{MediaWiki:Privacy}}]].',
'badaccess' => 'Title shown within page indicating unauthorized access.
{{Identical|Permission error}}',
'nospecialpagetext' => '{{doc-important|Do not translate <code><nowiki>[[Special:SpecialPages|{{int:specialpages}}]]</nowiki></code>.}}
This error is shown when trying to open a special page which does not exist, e.g. [[Special:Nosuchpage]].
-The title of this error is the message {{msg-mw|Nosuchspecialpage}}.
+Refers to {{msg-mw|Specialpages}}.
-See also:
-* {{msg-mw|Specialpages}}',
+The title of this error is the message {{msg-mw|Nosuchspecialpage}}.',
# General errors
'error' => '{{Identical|Error}}',
* $2 - email address',
'newarticle' => '{{Identical|New}}',
'newarticletext' => '{{doc-important|Do not translate <code><nowiki>{{MediaWiki:Helppage}}</nowiki></code>.}}
-Text displayed above the edit box in editor when trying to create a new page.',
+Text displayed above the edit box in editor when trying to create a new page.
+
+Refers to {{msg-mw|Helppage}}.',
'anontalkpagetext' => 'Displayed at the bottom of talk pages of anonymous users.',
'noarticletext' => 'This is the message that you get if you search for a term that has not yet got any entries on the wiki.
See also:
* {{msg-mw|Upload-permitted}}
* {{msg-mw|Upload-preferred}}',
+'upload-default-description' => 'Do not translate. Default text for the description box on Special:Upload, or "-" to disable.',
'uploadlogpage' => '{{doc-logpage}}
Page title of [[Special:Log/upload]].',
'tog-hidepatrolled' => 'Ботурууллааччы көрбүт көннөрүүтүн саҥа көннөрүүлэр тиһиктэригэр көрдөрүмэ',
'tog-newpageshidepatrolled' => 'Ботуруулламмыт сирэйдэри саҥа сирэйдэр тиһиктэригэр көрдөрүмэ',
'tog-extendwatchlist' => 'Кэтээһин тупсарыллыбыт испииһэгэ. Бары уларытыылар көстөллөр (бүтэһиктэр эрэ буолбатах)',
-'tog-usenewrc' => 'Саҥа уларытыылар уонна кэтэбил тиһиктэригэр уларыйыылары бөлөхтүүргэ (JavaScript баар буолуохтаах)',
+'tog-usenewrc' => 'Саҥа уларытыы уонна кэтэбил тиһиктэригэр уларыйыылары бөлөхтүүргэ',
'tog-numberheadings' => 'Бас тыллары нүөмэрдээ',
-'tog-showtoolbar' => 'Көннөрүү үстүрүмүөннэрин көрдөр (JavaScript)',
-'tog-editondblclick' => 'Хоһулатан иккитэ баттаан сирэйи уларытыы (JavaScript)',
+'tog-showtoolbar' => 'Көннөрүү үстүрүмүөннэрин көрдөр',
+'tog-editondblclick' => 'Хоһулатан иккитэ баттаан сирэйи уларытыы',
'tog-editsection' => '[Көннөрүү] диэн ыйынньыгынан сиэксийэны көннөрүү',
-'tog-editsectiononrightclick' => 'Сиэксийэ баһыгар уҥа тимэҕинэн<br />баттаан сиэксийэни көннөрүү (JavaScript)',
+'tog-editsectiononrightclick' => 'Сиэксийэ баһыгар уҥа тимэҕинэн баттаан сиэксийэни көннөрүү',
'tog-showtoc' => 'Иһинээҕитин көрдөр (ыстатыйа үстэн ордук бас тыллаах буоллаҕына)',
'tog-rememberpassword' => 'Миигин бу браузерга сигээ ($1 {{PLURAL:$1|күн|күнтэн ордуга суох}})',
'tog-watchcreations' => 'Суруйбут ыстатыйаларбын уонна укпут билэлэрбин кэтээн көрүүгэ киллэрэн ис',
'tog-shownumberswatching' => 'Сирэйи кэтээн көрөр дьон ахсаанын көрдөр',
'tog-oldsig' => 'Баар илии баттааһын:',
'tog-fancysig' => 'Бэйэ илии баттааһына (ыйынньыга суох)',
-'tog-uselivepreview' => 'ТÑ\83Ñ\82аÑ\82Ñ\8bна Ñ\85айдаÑ\85 бÑ\83олаÑ\80Ñ\8bн көÑ\80Ò¯Ò¯ (JavaScript, тургутуу быһыытынан)',
+'tog-uselivepreview' => 'ХайдаÑ\85 бÑ\83олÑ\83оÑ\85Ñ\82ааÒ\95Ñ\8bн Ñ\82Ñ\83Ñ\82аÑ\82Ñ\8bна Ñ\8dÑ\80дÑ\8d көÑ\80Ò¯Ò¯ (тургутуу быһыытынан)',
'tog-forceeditsummary' => 'Тугу уларыппытым туһунан суруйбатахпына сэрэт',
'tog-watchlisthideown' => 'Кэтээн көрүү испииһэгэр бэйэм уларытыыларбын көрдөрүмэ',
'tog-watchlisthidebots' => 'Кэтээн көрүү испииһэгэр робот уларытыытын көрдөрүмэ',
'tog-showhiddencats' => 'Кистэммит категориялары көрдөр',
'tog-norollbackdiff' => 'Төннөрүү кэнниттэн барыллар уратыларын көрдөрүмэ',
'tog-useeditwarning' => 'Эрэдээксийэлиир сирэйтэн уларытыыларбын бигэргэппэккэ тахсаары гыннахпына сэрэтээр',
+'tog-prefershttps' => 'Манна киирэргэ куруук көмүскэллээх холбонууну туттарга',
'underline-always' => 'Куруук',
'underline-never' => 'Аннынан тардыма',
'newwindow' => '(атын түннүккэ арыллар)',
'cancel' => 'Алҕас',
'moredotdotdot' => 'Өссө...',
-'morenotlisted' => 'Ð\90Ñ\82Ñ\8bн Ñ\81Ñ\83оÑ\85...',
+'morenotlisted' => 'Ð\91Ñ\83 Ñ\82иһик Ñ\82олоÑ\80Ñ\83Ñ\82а Ñ\81Ñ\83оÑ\85.',
'mypage' => 'Сирэй',
'mytalk' => 'Кэпсэтэр сирим',
'anontalk' => 'Бу IP-га ырытыы',
# General errors
'error' => 'Алҕас',
'databaseerror' => 'Билии олоҕор сыыһа',
+'databaseerror-text' => 'Билии олоҕор алҕас таҕыста.
+Бырагыраамма алҕаһа буолуон сөп.',
+'databaseerror-textcl' => 'Билии олоҕор алҕас таҕыста.',
+'databaseerror-query' => 'Ыйытык: $1',
+'databaseerror-error' => 'Алҕас: $1',
'laggedslavemode' => 'Болҕой: Бу сирэй бүтэһик уларытыылара суох буолуон сөп',
'readonly' => 'Билии олоҕун уларытар бобуллубут',
'enterlockreason' => 'Уларытыыны бобуу төрүөтүн уонна төһө өр бобулларын ый.',
# Login and logout pages
'logouttext' => "'''Эн тиһиликтэн таҕыстыҥ.'''
-{{SITENAME}} ситим-сиргэ билигин урукку ааккынан буолбакка IP-аадырыһынан эрэ көстөҕүн.
-Салгыы ааккын ааттаабакка үлэлиэххин сөп, эбэтэр саҥаттан урукку ааккынан дуу, атын аатынан дуу <span class='plainlinks'>[$1 киириэххин]</span> сөп.
Сорох сирэйдэр өссө даҕаны эйигин урукку ааккынан көрдөрүөхтэрин сөп, ону суох гыныаххын баҕардаххына интэриниэт көрдөрөөччүҥ кээһин ыраастаа.",
'welcomeuser' => 'Нөрүөн нөргүй, $1!',
'welcomecreation-msg' => 'Аатыҥ бэлиэтэннэ.
'createacct-emailoptional' => 'Email аадырыс (булгуччута суох)',
'createacct-email-ph' => 'Эл аадырыскын суруй',
'createacct-another-email-ph' => 'Эл. почтаҕын киллэр',
-'createaccountmail' => 'Быстах киирии тылы туһаныы уонна ону email-ынан ыытыы',
+'createaccountmail' => 'Быстах киирии тылы туһаныы уонна ону ыйыллыбыт аадырыска ыытыы',
'createacct-realname' => 'Дьиҥнээх аатыҥ (булгуччута суох)',
'createaccountreason' => 'Төрүөтэ:',
'createacct-reason' => 'Төрүөтэ',
Саҥа аат сыыһа оҥоһуллубут буоллаҕына тугу да гыныа суоххун сөп.',
'usernamehasherror' => 'Аакка эрэһиэккэ бэлиэтин туттар сатаммат',
-'login-throttled' => 'Ð\9dаһаа Ñ\8dлбÑ\8dÑ\85Ñ\82ик бÑ\8dйÑ\8dÒ¥ ааккÑ\8bн билиһиннэрэ сатаатыҥ.
-Бука диэн кыратык тохтуу түһэн баран өссө боруобалаа.',
+'login-throttled' => 'Ð\90аккÑ\8bн аһаÑ\80а Ñ\8dлбÑ\8dÑ\85Ñ\82ик билиһиннэрэ сатаатыҥ.
+Бука диэн $1 буолан баран өссө киирэн көрөөр.',
'login-abort-generic' => 'Бу аатынан сатаан киирбэтиҥ - быстан хаалла',
'loginlanguagelabel' => 'Омугун тыла: $1',
'suspicious-userlogout' => 'Сеансы түмүктүүр ыйытыгыҥ ылыныллыбата, тоҕо диэтэххэ браузер эбэтэр кээштыыр прокси алҕас ыыппыт ыйытыктарыгар майгынныыр.',
+'createacct-another-realname-tip' => 'Дьиҥнээх аатыҥ булгуччута суох.
+Ыйдаххына уларыппыт сирэйиҥ устуоруйатыгар көстөр буолуоҕа.',
# Email sending
'php-mail-error-unknown' => 'mail() PHP-функциятыгар туох эрэ алҕас тахсыбыт',
'newpassword' => 'Саҥа киирии тыл:',
'retypenew' => 'Саҥа киирии тылы хатылаа:',
'resetpass_submit' => 'Киирии тылы уларыт уонна киир',
-'changepassword-success' => 'Your password has been changed successfully! Now logging you in...
-Киирии тылыҥ этэҥҥэ уларыйда. Сотору кэминэн киириэҥ...',
+'changepassword-success' => 'Киирии тылыҥ этэҥҥэ уларыйда!',
'resetpass_forbidden' => 'Киирии тылы уларытар сатаммат',
'resetpass-no-info' => 'Ааккын билиһиннэрдэххинэ эрэ бу сирэйгэ быһа тиийиэххин сөп.',
'resetpass-submit-loggedin' => 'Киирии тылы уларытыы',
'changeemail-submit' => 'Аадырыһы уларыт',
'changeemail-cancel' => 'Тохтот',
+# Special:ResetTokens
+'resettokens' => 'Токеннары бырах',
+'resettokens-legend' => 'Токеннары бырах',
+'resettokens-tokens' => 'Токеннар:',
+
# Edit page toolbar
'bold_sample' => 'Модьу бичик',
'bold_tip' => 'Модьу бичик',
'loginreqpagetext' => 'Атын сирэйдэри көрөргө маны оҥоруохтааххын: $1.',
'accmailtitle' => 'Киирии тыл ыытылынна.',
'accmailtext' => "[[User talk:$1|$1]] кыттааччыга түбэспиччэ бэлиэлэртэн оҥоһуллубут киирии тыл бу аадырыска $2 ыытылынна.
-
Тиһиккэ бэлиэтэнэн баран киирии тылгын ''[[Special:ChangePassword|уларытыаххын]]'' сөп.",
'newarticle' => '(Саҥа ыстатыйа)',
'newarticletext' => 'Эн суох сирэйгэ киирэ сатаатыҥ.
'prefs-rendering' => 'Тас көрүҥэ',
'saveprefs' => 'Бигэргэт',
'resetprefs' => 'Бигэргэтиллибэтэх уларыйыылары сот',
-'restoreprefs' => 'Туруоруулары саҥаттан',
+'restoreprefs' => 'Туруоруулары саҥаттан (салааларга барыларыгар)',
'prefs-editing' => 'Уларытыы',
'rows' => 'Строкаалара:',
'columns' => 'Колонкалара:',
'badsig' => 'Сыыһа илии баттааһын; HTML тиэгтэрин көр.',
'badsiglength' => 'Наһаа уһун илии баттааһын.
$1 {{PLURAL:$1|бэлиэттэн|бэлиэттэн (буукубаттан)}} ордук буолуо суохтаах.',
-'yourgender' => 'ÐÑ\80 киһиÑ\82Ñ\8d/дÑ\8cаÑ\85Ñ\82аÑ\80а:',
-'gender-unknown' => 'Ыйыллыбатах',
-'gender-male' => 'ÐÑ\80 киһи',
+'yourgender' => 'ХайаÑ\82а ÐйиÑ\8dÑ\85Ñ\8d Ñ\81өп Ñ\82үбÑ\8dÒ»Ñ\8dÑ\80ий?',
+'gender-unknown' => 'Ыйбат инибин',
+'gender-male' => 'Ð\9aини биики Ñ\81иÑ\80Ñ\8dйдÑ\8dÑ\80и Ñ\83лаÑ\80Ñ\8bÑ\82аÑ\80',
'gender-female' => 'Дьахтар',
'prefs-help-gender' => 'Булгуччута суох. Бырагыраамма сорох дьоҥҥо туһаайыллыбыт биллэриилэригэр эбэтэр кинилэргэ сыһыаннаах этиилэригэр кытааччы дьахтарыттан эр киһититтэн көрөн этии тутулун уларытан биэриэн сөп. Туора дьоҥҥо көстөр бэлиэтээһин.',
'email' => 'Почта',
'prefs-signature' => 'Илии баттааһына',
'prefs-dateformat' => 'Күн-дьыл көрүҥэ (формаата)',
'prefs-timeoffset' => 'Кэм уратыта',
-'prefs-advancedediting' => 'Сүрүн (барытыгар сыһыаннаах)',
+'prefs-advancedediting' => 'Сүрүн туруоруулар',
'prefs-editor' => 'Эрэдээктэр',
'prefs-preview' => 'Инники көрүү',
'prefs-advancedrc' => 'Дириҥэтиллибит туруоруулар',
'prefs-displaysearchoptions' => 'Көстүүтүн туруоруулара',
'prefs-displaywatchlist' => 'Көстүүтүн туруоруулара',
'prefs-diffs' => 'Уратылара',
+'prefs-help-prefershttps' => 'Аныгыскы киириигэр үлэлиир буолуо.',
# User preference: email validation using jQuery
'email-address-validity-valid' => 'Сөп курдук көстөр',
'userrights-no-interwiki' => 'Атын биикилэргэ кыттааччылар бырааптарын уларытар быраабыҥ суох.',
'userrights-nodatabase' => '$1 билэ тиһигэ (олоҕо, база данных) суох эбэтэр локальнай буолбатах.',
'userrights-nologin' => 'Эн дьон бырааптарын уларытаргар администратор быһыытынан [[Special:UserLogin|бэлиэтэниэхтээххин]].',
-'userrights-notallowed' => 'Ð\91Ñ\8dлиÑ\8dÑ\82Ñ\8dммиÑ\82 ааккÑ\8bнан аÑ\82Ñ\8bн кÑ\8bÑ\82Ñ\82ааÑ\87Ñ\87Ñ\8b бÑ\8bÑ\80аабÑ\8bн уларытар кыаҕыҥ суох эбит.',
+'userrights-notallowed' => 'Ð\90Ñ\82Ñ\8bн кÑ\8bÑ\82Ñ\82ааÑ\87Ñ\87Ñ\8b бÑ\8bÑ\80аабÑ\8bн Ñ\8dбÑ\8dÑ\80 Ñ\83онна уларытар кыаҕыҥ суох эбит.',
'userrights-changeable-col' => 'Эн уларытар кыахтаах бөлөхтөрүҥ',
'userrights-unchangeable-col' => 'Бу бөлөхтөрү уларытар кыаҕыҥ суох',
'userrights-conflict' => 'Кыттааччы быраабын быһаарарга алҕас таҕыста! Хатылаан көр.',
'right-hideuser' => 'Кыттааччы аатын бобуу уонна кистээһин',
'right-ipblock-exempt' => 'IP хааччахтааһынын, аптамаатынан уонна диапазоннары хааччахтааһыны тумнуу',
'right-proxyunbannable' => 'Прокси аптааматынан хааччахтааһынын тумнуу',
-'right-unblockself' => 'хааччаҕы бэйэ устуута',
+'right-unblockself' => 'Хааччаҕы бэйэ устуута',
'right-protect' => 'Сирэйдэр көмүскэллэрин таһымын уонна каскаадынан көмүскэммит сирэйдэри уларытыы',
'right-editprotected' => 'Уларытыллар сирэйдэр "{{int:protect-level-sysop}}" таһымынан көмүскэммиттэр',
'right-editsemiprotected' => 'Уларытыллар сирэйдэр "{{int:protect-level-autoconfirmed}}" таһымынан көмүскэммиттэр',
# Recent changes
'nchanges' => '$1 {{PLURAL:$1|уларытыы|уларытыылар}}',
+'enhancedrc-history' => 'устуоруйата',
'recentchanges' => 'Кэнники уларытыылар',
'recentchanges-legend' => 'Кэлиҥҥи уларытыылар хайдах көстөллөрүн туруоруу',
'recentchanges-summary' => 'Манна хаһан оҥоһуллубуттарынан сааһыланан {{SITENAME}} кэнники уларыытыылара көстөллөр.',
'rc_categories_any' => 'Ханнык баҕарар',
'rc-change-size-new' => 'Уларытыы кээмэйэ: $1 баайт',
'newsectionsummary' => '/* $1 */ саҥа сиэксийэ',
-'rc-enhanced-expand' => 'Сиһилии көрдөр (JavaScript туһаныллар)',
+'rc-enhanced-expand' => 'Сиһилии көрдөр',
'rc-enhanced-hide' => 'Сиһилиитин көрдөрүмэ',
'rc-old-title' => 'бастаан бу аатынан суруллубут "$1"',
'upload_source_file' => ' (билэ көмпүүтэргэр баар)',
# Special:ListFiles
-'listfiles-summary' => 'Бу анал сирэй киллэриллибит билэлэри барытын көрдөрөр.
-Киллэрээччинэн наардаатахха киллэрээччи бүтэһик көннөрүүтэ эрэ көстүөҕэ.',
+'listfiles-summary' => 'Бу анал сирэй киллэриллибит билэлэри барытын көрдөрөр.',
'listfiles_search_for' => 'Миэдьийэни (ойууну) аатынан көрдөтүү:',
'imgfile' => 'билэ',
'listfiles' => 'Билэлэр',
'listfiles_size' => 'Кээмэйэ',
'listfiles_description' => 'Быһаарыыта',
'listfiles_count' => 'Барыллар',
+'listfiles-latestversion' => 'Билиҥҥи барыла',
+'listfiles-latestversion-yes' => 'Сөп',
+'listfiles-latestversion-no' => 'Суох',
# File description page
'file-anchor-link' => 'Билэ',
'pageswithprop-text' => 'Манна сорох туруоруулара уларытыллыбыт сирэйдэр көстүбүттэр.',
'pageswithprop-prop' => 'Туруоруу аата:',
'pageswithprop-submit' => 'Толор',
-'pageswithprop-prophidden-long' => 'уһун тиэкис кистэммит ($1 килобайт)',
-'pageswithprop-prophidden-binary' => 'бинаар суолта кистэммит ($1 килобайт)',
+'pageswithprop-prophidden-long' => 'уһун тиэкис кистэммит ($1)',
+'pageswithprop-prophidden-binary' => 'бинаар суолта кистэммит ($1)',
'doubleredirects' => 'Хос көһөрөөһүн',
'doubleredirectstext' => 'Бу сирэйгэ атын сиргэ утаарар хос утаарыылар тиһиктэрэ көстөр.
'linksearch-ok' => 'Бул',
'linksearch-text' => 'Туруоран биэрэр бэлиэлэри туһаныахха сөп, холобур, <code>*.wikipedia.org</code>.
Үрдүкү таһымнаах домен буолуохтаах, холобур <code>*.org</code>.<br />
-Өйөнөр боротокуоллар: <code>$1</code> (көрдүүргэр ханнык да боротокуолу талбатаххына http:// туруоруллуо)',
+Өйөнөр {{PLURAL:$2|боротокуол|боротокуоллар}}: <code>$1</code> (көрдүүргэр ханнык да боротокуолу талбатаххына http:// туруоруллуо)',
'linksearch-line' => 'Мантан $2 манна $1 ыйынньык',
'linksearch-error' => 'Туруоран биэрэр бэлиэлэри аадырыс/hostname саҕаланыытыгар эрэ туттуохха сөп.',
'enotif_lastvisited' => 'Бутэһик киирииҥ кэнниттэн оҥоһуллубут уларыйыылары барытын көрөргө манна киир: $1.',
'enotif_lastdiff' => 'Уларытыыны манна көрүҥ: $1.',
'enotif_anon_editor' => 'ааттамматах кыттааччы $1',
-'enotif_body' => 'Ð\9aүндү $WATCHINGUSERNAME,
+'enotif_body' => 'Ð\90лама күн Ñ\81Ñ\8bÑ\80дÑ\8bгÑ\8bнан, $WATCHINGUSERNAME!
-«{{SITENAME}}» $PAGETITLE кыттаачыга сыһыаннаах сирэйи $PAGEEDITDATE $PAGEEDITOR кыттааччы $CHANGEDORCREATED. Сирэй билиҥҥи туругун манна көр: $PAGETITLE_URL.
-
-$NEWPAGE
+$PAGEINTRO $NEWPAGE
Уларытыы кылгас ис хоһооно: $PAGESUMMARY $PAGEMINOREDIT
-Уларыппыт киһи:
-Ñ\8dл. аадÑ\8bÑ\80Ñ\8bÒ»а: $PAGEEDITOR_EMAIL
-Ð\91иикигÑ\8d Ñ\81иÑ\80Ñ\8dйÑ\8d: $PAGEEDITOR_WIKI
+Уларыппыт киһиэхэ суруйуоххун сөп:
+Ñ\8dл. поÑ\87Ñ\82а: $PAGEEDITOR_EMAIL
+биики: $PAGEEDITOR_WIKI
-Бу сирэйи көрө иликкинэ хос биллэрии кэлиэ суоҕа. Арай кэтэбили туруорар сиргэ "уларытыыны биллэрэргэ" диэни иккистээн туруордаххына кэлиэн сөп.
+Бу сирэйи көрбөтөххүнэ биллэриилэр уонна кэлиэхтэрэ суоҕа. Биллэриилэри аналлаах сирэйгэ арааран кэбиһиэххин эмиэ сөп.
- Бары үтүөнү кытта, {{SITENAME}} биллэрэр систиэмэтэ
+ Бары үтүөнү кытта, {{SITENAME}} биллэрэр тиһигэ
--
-Кэтиир сирэйдэриҥ тиһигин уларытарга маны көр:
+Биллэрии кэлэрин салайыы
+{{canonicalurl:{{#special:Preferences}}}}
+
+Кэтиир тиһиги уларытыы
{{canonicalurl:{{#special:EditWatchlist}}}}
-Ð\91Ñ\83 Ñ\81иÑ\80Ñ\8dйи кÑ\8dÑ\82Ñ\8dбил Ñ\82иһигиÑ\82Ñ\82Ñ\8dн Ñ\81оÑ\82оÑ\80го манна кииÑ\80:
+Ð\9aÑ\8dÑ\82ииÑ\80 Ñ\82иһикÑ\82Ñ\8dн Ñ\81иÑ\80Ñ\8dйдÑ\8dÑ\80и Ñ\81оÑ\82Ñ\83Ñ\83
$UNWATCHURL
-Көмөлөһүннэрэр уонна быһаартарар сир:
+Көмө
{{canonicalurl:{{MediaWiki:Helppage}}}}',
'created' => 'айыллыбыт',
'changed' => 'уларыппыт (уларытыллыбыт)',
'feedback-error2' => 'Napaka: Urejanje je spodletelo',
'feedback-error3' => 'Napaka: Ni odgovora od API',
'feedback-thanks' => 'Havala! Vaše povratne informacije smo objavili na strani »[$2 $1]«.',
-'feedback-close' => 'Končano',
+'feedback-close' => 'Urejeno',
'feedback-bugcheck' => 'Izvrstno! Samo preverite, da ne gre za enega od [$1 že znanih hroščev].',
'feedback-bugnew' => 'Sem preveril. Prijavi nov hrošč',
# Friendlier slave lag warnings
'lag-warn-normal' => 'Измене новије од $1 {{PLURAL:$1|секунде|секунде|секунди}} неће бити приказане.',
-'lag-warn-high' => 'Ð\97бог пÑ\80еопÑ\82еÑ\80еÑ\9bеÑ\9aа базе подаÑ\82ака, измене новиÑ\98е од $1 {{PLURAL:$1|Ñ\81екÑ\83нде|Ñ\81екÑ\83нде|Ñ\81екÑ\83нди}} неће бити приказане.',
+'lag-warn-high' => 'Ð\97бог пÑ\80еопÑ\82еÑ\80еÑ\9bеÑ\9aа базе подаÑ\82ака, измене новиÑ\98е од $1 {{PLURAL:$1|Ñ\81екÑ\83нда|Ñ\81екÑ\83нде}} неће бити приказане.',
# Watchlist editor
'watchlistedit-numitems' => 'Ваш списак надгледања садржи {{PLURAL:$1|један наслов|$1 наслова|$1 наслова}}, без страница за разговор.',
'prefs-rendering' => 'Izgled',
'saveprefs' => 'Sačuvaj',
'resetprefs' => 'Očisti nesačuvane izmene',
-'restoreprefs' => 'Vrati sve na podrazumevano',
+'restoreprefs' => 'Vrati sve na podrazumevano (u svim odeljcima)',
'prefs-editing' => 'Uređivanje',
'rows' => 'Redova:',
'columns' => 'Kolone:',
'vector-action-undelete' => 'Эгидер',
'vector-action-unprotect' => 'Камгалалды өскертири',
'vector-view-create' => 'Чаяары',
-'vector-view-edit' => 'Эдери',
+'vector-view-edit' => 'Эдер',
'vector-view-history' => 'Төөгүнү көөрү',
'vector-view-view' => 'Номчуур',
'vector-view-viewsource' => 'Дөзү бижиин көөрү',
'permalink' => 'Турум холбаа',
'print' => 'Саазынга үндүрер',
'view' => 'Көөрү',
-'edit' => 'Эдери',
+'edit' => 'Эдер',
'create' => 'Чогаадыры',
'editthispage' => 'Бо арынны өскертири',
'create-this-page' => 'Бо арынны чогаадыры',
'previewnote' => "'''Бо чүгле шенеп көөрү-дүр.'''
Бижик ам-даа шыгжатынмаан!",
'editing' => '«$1» деп арынны эдери',
-'editingsection' => '«$1» деп арынның салбырын эдери',
+'editingsection' => 'Эдилге: «$1» (үлеш)',
'editingcomment' => '«$1» деп арынны өскертип турар (чаа салбыр)',
'yourtext' => 'Силерниң сөзүглелиңер',
'yourdiff' => 'Ылгалдар',
-'templatesused' => 'Бо арында {{PLURAL:$1|Майык|Майыктар}} ажыглаттырган:',
+'templatesused' => 'Бо арында ажыглаан {{PLURAL:$1|Майык|Майыктар}}:',
'template-protected' => '(камгалаан)',
'template-semiprotected' => '(четпес камгалаан)',
'hiddencategories' => 'Бо арын {{PLURAL:$1|$1 чажыт бөлүкке}} хамааржыр:',
# Associated actions - in the sentence "You do not have permission to X"
'action-read' => 'бо арынны номчууру',
-'action-edit' => 'бо арынны эдери',
+'action-edit' => 'бо арынның эдилгези',
'action-createpage' => 'арыннарны чогаадыры',
'action-createtalk' => 'чугаалажырга арыннарны чогаадыры',
'action-createaccount' => 'бо бүрүткел бижиктерин бүдүрери',
'table_pager_empty' => 'Түңнеллер чок',
# Auto-summaries
-'autosumm-new' => 'Чаа арынны чогаадаан: «$1»',
+'autosumm-new' => 'Чаа арын чаяатынган: «$1»',
# Watchlist editor
'watchlistedit-normal-title' => 'Хайгаарал даңзыны өскертири',
Znamoičendad: '''({{int:cur}})''' = erod nügüdläižes versijaspäi, '''({{int:last}})''' = erod enččes vepsijaspäi, '''{{int:minoreditletter}}''' = pen' toižetuz.",
'history-fieldset-title' => 'Lehtelta istorii',
'history-show-deleted' => 'Vaiše čutud',
-'histfirst' => 'Kaikiš vanhembad',
-'histlast' => 'Tantoižed',
+'histfirst' => 'vanhembad',
+'histlast' => 'udembad',
'historysize' => '({{PLURAL:$1|1 bait|$1 baitad}})',
'historyempty' => "(pall'az)",
'rc-change-size' => '$1',
'rc-change-size-new' => "$1 {{PLURAL:$1|bait|baitad}} jäl'ges toižetamišt",
'newsectionsummary' => "/* $1 */ uz' jaguz",
-'rc-enhanced-expand' => 'Ozutada detalid (JavaScript)',
+'rc-enhanced-expand' => 'Ozutada detalid',
'rc-enhanced-hide' => 'Peitta detalid',
'rc-old-title' => 'Om sätud ezmässai kut "$1"',
'contributions-title' => '$1-kävutajan tond',
'mycontris' => 'Minun tond',
'contribsub2' => '$1-kävutajan ($2) tond',
-'uctop' => "(jäl'gmäine)",
+'uctop' => '(nügüdläine)',
'month' => 'Ku:',
'year' => 'Voz’:',
'vector-view-history' => 'Wärsjoonsfolche',
'vector-view-view' => 'Leesn',
'vector-view-viewsource' => 'Gwäl-dhägsd ôôgugn',
+'actions' => 'Aggdsione',
'namespaces' => 'Nôômsrajm',
'variants' => 'Warjandn',
'copyright' => 'Was hiir schdäd däfmâr benudsn nach $1',
'copyrightpage' => '{{ns:project}}:Uurheewâr-rächde',
'currentevents' => 'Was grôôd basiird is',
+'currentevents-url' => 'Project:Aggduelle Ereichnisse',
'disclaimers' => 'Imbräsum',
'disclaimerpage' => 'Project:Imbräsum',
'edithelp' => 'Hilfe dsum beärbâdn',
'hiddencategories' => 'Dii sajdn ghäärd dsu {{PLURAL:$1|aanâr fârschdegdn|$1 fârschdegde}} ghadegoriin:',
'permissionserrorstext-withaction' => 'Du däfsd ned $2, des{{PLURAL:$1||}}dâsweechn:',
+# Parser/template warnings
+'post-expand-template-inclusion-warning' => "'''Obachd:''' dii Gräiß vo dii ajbundna Vorlââng is zgrouß, ajniche Vorlââng kenna ned ajbundn wärrn.",
+'post-expand-template-inclusion-category' => 'Sajdn, ba denne vo dii ajbundna Vorlââng dii Gräiß üba da gräißdmöchlichn Gräiß iss',
+
# History pages
'viewpagelogs' => 'Logbicher fär dii sajdn dsajchn',
'currentrev-asof' => 'Jedsiche wärsjoon, am $2 um $3 gmachd',
'prevn' => '{{PLURAL:$1|foorichâr|fooriche $1}}',
'nextn' => '{{PLURAL:$1|nägschdâr|nägschde $1}}',
'viewprevnext' => 'Dsajch ($1 {{int:pipe-separator}} $2) ($3)',
+'searchprofile-articles' => 'Sajdn dii ann Inhald zajng',
+'searchprofile-images' => 'Muldimedjâ',
+'searchprofile-everything' => 'Âlls',
+'searchprofile-advanced' => 'Erwajderd',
'search-result-size' => '$1 ({{PLURAL:$2|1 wôrd|$2 wärdâr}})',
'search-result-score' => 'Âjschleechich: $1 %',
'search-redirect' => '(Wajdalajdung fon „$1“ häa)',
'sharedupload-desc-there' => 'Dii dadaj ghumd fon $1, un mr däf se fir andârâ brojägd aa nemâ. Genauârs schded uf dr [$2 beschrajwungssajdâ fon dr dadaj].',
'uploadnewversion-linktext' => 'Â naje wärsjoon fo derä dadaj nauflôôdn',
+# Random page
+'randompage' => 'Zufälliche Sajdn',
+
# Statistics
'statistics' => 'Schdadisdig',
'tooltip-upload' => 'Loos midm nauflaadn',
'tooltip-rollback' => 'Hiir glign machd mid am môl alâs riggängich, was däär benudsâr dsledschd af där sajdn gmachd had.',
'tooltip-undo' => 'Hiir glign machd dii aane ändärung riggängich un dsajchd dan ôô, wiis dan ausschaua dääd. Dann koosd aa no â dsamfassung wisoo un warum dâdsuuschrajm.',
+'tooltip-summary' => 'Dibb schnell a glaane Zusammafassung nei.',
# Stylesheets
'common.css' => '/* CSS hiir beâjflusd ale schelfn */',
'december-date' => '12月$1日',
# Categories related messages
-'pagecategories' => '$1个分类',
+'pagecategories' => '$1个{{PLURAL:$1|Category|分类}}',
'category_header' => '分类“$1”中的页面',
'subcategories' => '子分类',
'category-media-header' => '分类“$1”中的媒体文件',
'fewestrevisions' => '版本最少页面',
# Miscellaneous special pages
-'nbytes' => '$1字节',
+'nbytes' => '$1个{{PLURAL:$1|byte|字节}}',
'ncategories' => '$1个分类',
'ninterwikis' => '$1个跨语言链接',
'nlinks' => '$1个链接',
'tooltip-pt-preferences' => '你的设置',
'tooltip-pt-watchlist' => '你正在监视更改的页面的列表',
'tooltip-pt-mycontris' => '你的贡献的列表',
-'tooltip-pt-login' => '我们鼓励你登录,不过这不是强制的',
+'tooltip-pt-login' => '我们鼓励您登录,不过这不是强制的',
'tooltip-pt-anonlogin' => '我们鼓励你登录,不过这不是强制的',
'tooltip-pt-logout' => '退出登录',
'tooltip-ca-talk' => '关于内容页面的讨论',
*/
public function runChild( $maintClass, $classFile = null ) {
// Make sure the class is loaded first
- if ( !MWInit::classExists( $maintClass ) ) {
+ if ( !class_exists( $maintClass ) ) {
if ( $classFile ) {
require_once $classFile;
}
- if ( !MWInit::classExists( $maintClass ) ) {
+ if ( !class_exists( $maintClass ) ) {
$this->error( "Cannot spawn child: $maintClass" );
}
}
* @return bool
*/
public static function posix_isatty( $fd ) {
- if ( !MWInit::functionExists( 'posix_isatty' ) ) {
+ if ( !function_exists( 'posix_isatty' ) ) {
return !$fd;
} else {
return posix_isatty( $fd );
// to $maintenance->mSelf. Keep that here for b/c
$self = $maintenance->getName();
-# Get the MWInit class
-require_once "$IP/includes/Init.php";
# Start the autoloader, so that extensions can derive classes from core files
require_once "$IP/includes/AutoLoader.php";
# Stub the profiler
// Some other requires
require_once "$IP/includes/Defines.php";
-require_once MWInit::compiledPath( 'includes/DefaultSettings.php' );
+require_once "$IP/includes/DefaultSettings.php";
# Load composer's autoloader if present
if ( is_readable( "$IP/vendor/autoload.php" ) ) {
# Maybe a hook?
global $cluster;
$cluster = 'pmtpa';
- require MWInit::interpretedPath( '../wmf-config/wgConf.php' );
+ require "$IP/../wmf-config/wgConf.php";
}
// Require the configuration (probably LocalSettings.php)
require $maintenance->loadSettings();
if ( $maintenance->getDbType() === Maintenance::DB_ADMIN &&
is_readable( "$IP/AdminSettings.php" ) )
{
- require MWInit::interpretedPath( 'AdminSettings.php' );
+ require "$IP/AdminSettings.php";
}
if ( $maintenance->getDbType() === Maintenance::DB_NONE ) {
}
$maintenance->finalSetup();
// Some last includes
-require_once MWInit::compiledPath( 'includes/Setup.php' );
+require_once "$IP/includes/Setup.php";
// Much much faster startup than creating a title object
$wgTitle = null;
'statistics-footer',
'talkpagetext',
'uploadfooter',
+ 'upload-default-description',
'listgrouprights-link',
'search-interwiki-custom',
'allpages-summary',
'upload-preferred',
'upload-prohibited',
'uploadfooter',
+ 'upload-default-description',
'uploadlog',
'uploadlogpage',
'uploadlogpagetext',
<?php
/**
- * Helper class for update.php and upgrade1_5.php.
+ * Helper class for update.php.
*
* Copyright © 2005 Brion Vibber <brion@pobox.com>
* http://www.mediawiki.org/
* @access private
*/
function lock() {
- if ( $this->newSchema() ) {
- $set = array( 'user', 'revision' );
- } else {
- $set = array( 'user', 'cur', 'old' );
- }
+ $set = array( 'user', 'revision' );
$names = array_map( array( $this, 'lockTable' ), $set );
$tables = implode( ',', $names );
return $this->db->tableName( $table ) . ' WRITE';
}
- /**
- * @return bool
- * @access private
- */
- function newSchema() {
- return MWInit::classExists( 'Revision' );
- }
-
/**
* @access private
*/
* @access private
*/
function editCount( $userid ) {
- if ( $this->newSchema() ) {
- return $this->editCountOn( 'revision', 'rev_user', $userid );
- } else {
- return $this->editCountOn( 'cur', 'cur_user', $userid ) +
- $this->editCountOn( 'old', 'old_user', $userid );
- }
- }
-
- /**
- * Count the number of hits on a given table for this account.
- * @param $table string
- * @param $field string
- * @param $userid int
- * @return int
- * @access private
- */
- function editCountOn( $table, $field, $userid ) {
return intval( $this->db->selectField(
- $table,
+ 'revision',
'COUNT(*)',
- array( $field => $userid ),
+ array( 'rev_user' => $userid ),
__METHOD__ ) );
}
* @access private
*/
function reassignEdits( $from, $to ) {
- $set = $this->newSchema()
- ? array( 'revision' => 'rev_user' )
- : array( 'cur' => 'cur_user', 'old' => 'old_user' );
- foreach ( $set as $table => $field ) {
- $this->reassignEditsOn( $table, $field, $from, $to );
- }
- }
-
- /**
- * @param $table string
- * @param $field string
- * @param $from int
- * @param $to int
- * @access private
- */
- function reassignEditsOn( $table, $field, $from, $to ) {
- $this->out( "reassigning on $table... " );
- $this->db->update( $table,
- array( $field => $to ),
- array( $field => $from ),
+ $this->out( 'reassigning... ' );
+ $this->db->update( 'revision',
+ array( 'rev_user' => $to ),
+ array( 'rev_user' => $from ),
__METHOD__ );
$this->out( "ok. " );
}
'scripts' => 'resources/jquery/jquery.tablesorter.js',
'styles' => 'resources/jquery/jquery.tablesorter.css',
'messages' => array( 'sort-descending', 'sort-ascending' ),
- 'dependencies' => 'jquery.mwExtension',
+ 'dependencies' => array(
+ 'jquery.mwExtension',
+ 'mediawiki.language.months',
+ ),
),
'jquery.textSelection' => array(
'scripts' => 'resources/jquery/jquery.textSelection.js',
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
- * Depends on mw.config (wgDigitTransformTable, wgMonthNames, wgMonthNamesShort,
- * wgDefaultDateFormat, wgContentLanguage)
+ * Depends on mw.config (wgDigitTransformTable, wgDefaultDateFormat, wgContentLanguage)
+ * and mw.language.months.
+ *
* Uses 'tableSorterCollation' in mw.config (if available)
*/
/**
var regex = [];
ts.monthNames = {};
- for ( var i = 1; i < 13; i++ ) {
- var name = mw.config.get( 'wgMonthNames' )[i].toLowerCase();
- ts.monthNames[name] = i;
+ for ( var i = 0; i < 12; i++ ) {
+ var name = mw.language.months.names[i].toLowerCase();
+ ts.monthNames[name] = i + 1;
+ regex.push( $.escapeRE( name ) );
+ name = mw.language.months.genitive[i].toLowerCase().replace( '.', '' );
+ ts.monthNames[name] = i + 1;
regex.push( $.escapeRE( name ) );
- name = mw.config.get( 'wgMonthNamesShort' )[i].toLowerCase().replace( '.', '' );
- ts.monthNames[name] = i;
+ name = mw.language.months.abbrev[i].toLowerCase();
+ ts.monthNames[name] = i + 1;
regex.push( $.escapeRE( name ) );
}
|| profile.name === 'konqueror' ) ) {
util.tooltipAccessKeyPrefix = 'ctrl-';
- // Firefox 2.x and later
- } else if ( profile.name === 'firefox' && profile.versionBase > '1' ) {
+ // Firefox/Iceweasel 2.x and later
+ } else if ( ( profile.name === 'firefox' || profile.name === 'iceweasel' )
+ && profile.versionBase > '1' ) {
util.tooltipAccessKeyPrefix = 'alt-shift-';
}
* Get the link to a page name (relative to `wgServer`),
*
* @param {string} str Page name to get the link for.
+ * @param {Object} params A mapping of query parameter names to values,
+ * e.g. { action: 'edit' }. Optional.
* @return {string} Location for a page with name of `str` or boolean false on error.
*/
- wikiGetlink: function ( str ) {
- return mw.config.get( 'wgArticlePath' ).replace( '$1',
+ wikiGetlink: function ( str, params ) {
+ var url = mw.config.get( 'wgArticlePath' ).replace( '$1',
util.wikiUrlencode( typeof str === 'string' ? str : mw.config.get( 'wgPageName' ) ) );
+ if ( params && !$.isEmptyObject( params ) ) {
+ url += url.indexOf( '?' ) !== -1 ? '&' : '?';
+ url += $.param( params );
+ }
+ return url;
},
/**
</p><p>b
</p>
!! end
+
!! test
-Block tag on one line
+Block tag on one line (<div>)
!! input
a <div>foo</div>
!! end
!! test
-Block tag on both lines
+Block tag on one line (<blockquote>)
+!! input
+a <blockquote>foo</blockquote>
+
+b
+!! result
+a <blockquote>foo</blockquote>
+<p>b
+</p>
+!! end
+
+!! test
+Block tag on both lines (<div>)
!! input
a <div>foo</div>
!! end
+!! test
+Block tag on both lines (<blockquote>)
+!! input
+a <blockquote>foo</blockquote>
+
+b <blockquote>foo</blockquote>
+!! result
+a <blockquote>foo</blockquote>
+b <blockquote>foo</blockquote>
+
+!! end
+
!! test
Multiple lines without block tags
!! input
!! end
-# Expected output in the following test is not really expected (there should be
-# <pre> in the output) -- it's only testing for well-formedness.
!! test
-Bug 6200: Preformatted in <blockquote>
+Bug 52763: Preformatted in <blockquote>
!! input
<blockquote>
Blah
</blockquote>
!! result
<blockquote>
- Blah
+<p> Blah
+</p>
+</blockquote>
+
+!! end
+
+!! test
+Bug 51086: Double newlines in blockquotes should be turned into paragraphs
+!! input
+<blockquote>
+Foo
+
+Bar
+</blockquote>
+!! result
+<blockquote>
+<p>Foo
+</p><p>Bar
+</p>
+</blockquote>
+
+!! end
+
+!! test
+Bug 15491: <ins>/<del> in blockquote
+!! input
+<blockquote>
+Foo <del>bar</del> <ins>baz</ins> quux
+</blockquote>
+!! result
+<blockquote>
+<p>Foo <del>bar</del> <ins>baz</ins> quux
+</p>
+</blockquote>
+
+!! end
+
+# Note that the p-wrapping is newline sensitive, which could be
+# considered a bug: tidy will wrap only the 'Foo' in the example
+# below in a <p> tag. (see comment 23-25 of bug #6200)
+!! test
+Bug 15491: <ins>/<del> in blockquote (2)
+!! input
+<blockquote>Foo <del>bar</del> <ins>baz</ins> quux
+</blockquote>
+!! result
+<blockquote>Foo <del>bar</del> <ins>baz</ins> quux
</blockquote>
!! end
!!input
<p> foo </p>
<div> foo </div>
+ <blockquote> foo </blockquote>
<span> foo </span>
!!result
<p> foo </p>
<div> foo </div>
+ <blockquote> foo </blockquote>
<pre><span> foo </span>
</pre>
!!end
foo
</blockquote>
+<blockquote>
+<pre>
+foo
+</pre>
+</blockquote>
+
<table><tr><td>
foo
</td></tr></table>
</pre>
</center>
<blockquote>
- foo
+<p> foo
+</p>
+</blockquote>
+<blockquote>
+<pre>
+foo
+</pre>
</blockquote>
<table><tr><td>
<pre>foo
Templates: 2. Inside a block tag
!!input
<div>{{echo|Foo}}</div>
+<blockquote>{{echo|Foo}}</blockquote>
!!result
<div>Foo</div>
+<blockquote>Foo</blockquote>
!!end
</p>
!! end
-# Expected output in the following test is not necessarily expected (there
-# should probably be <p> tags inside the <blockquote> in the output) -- it's
-# only testing for well-formedness.
!! test
Bug 6200: blockquotes and paragraph formatting
!! input
baz
!! result
<blockquote>
-foo
+<p>foo
+</p>
</blockquote>
<p>bar
</p>
# Bug 6200: <blockquote> should behave like <div> with respect to line breaks
!! test
Bug 6200: paragraphs inside blockquotes (no extra line breaks)
-!! options
-disabled
!! input
<blockquote>Line one
!! test
Bug 6200: paragraphs inside blockquotes (extra line break on open)
-!! options
-disabled
!! input
<blockquote>
Line one
!! test
Bug 6200: paragraphs inside blockquotes (extra line break on close)
-!! options
-disabled
!! input
<blockquote>Line one
!! test
Bug 6200: paragraphs inside blockquotes (extra line break on open and close)
-!! options
-disabled
!! input
<blockquote>
Line one
return $a;
}
+ function testWfMkdirParents() {
+ // Should not return true if file exists instead of directory
+ $fname = $this->getNewTempFile();
+ wfSuppressWarnings();
+ $ok = wfMkdirParents( $fname );
+ wfRestoreWarnings();
+ $this->assertFalse( $ok );
+ }
+
/**
* @dataProvider provideWfShellMaintenanceCmdList
*/
array( 'Install <tag>', 'Install <tag>', 'Escaping <' ),
array( 'Install {{template}}', 'Install {{template}}', 'Escaping [[' ),
array( 'Install [[page]]', 'Install [[page]]', 'Escaping {{' ),
+ array( 'Install __TOC__', 'Install __TOC__', 'Escaping __' ),
array( 'Install ', "Install \r", 'Removing \r' ),
# Transform \t{1,2} into :{1,2}
assert.equal( mw.util.wikiUrlencode( 'Test:A & B/Here' ), 'Test:A_%26_B/Here' );
} );
- QUnit.test( 'wikiGetlink', 3, function ( assert ) {
+ QUnit.test( 'wikiGetlink', 4, function ( assert ) {
// Not part of startUp module
mw.config.set( 'wgArticlePath', '/wiki/$1' );
mw.config.set( 'wgPageName', 'Foobar' );
href = mw.util.wikiGetlink();
assert.equal( href, '/wiki/Foobar', 'Default title; Get link for current page ("Foobar")' );
+
+ href = mw.util.wikiGetlink( 'Sandbox', { action: 'edit' } );
+ assert.equal( href, '/wiki/Sandbox?action=edit',
+ 'Simple title with query string; Get link for "Sandbox" with action=edit' );
} );
QUnit.test( 'wikiScript', 4, function ( assert ) {