* Interested in helping out?
** https://www.mediawiki.org/wiki/How_to_contribute
-
MediaWiki is the result of global collaboration and cooperation. The CREDITS
file lists technical contributors to the project. The COPYING file explains
MediaWiki's copyright and license (GNU General Public License, version 2 or
* (bug 40866) wgOldChangeTagsIndex removed.
* $wgNoFollowDomainExceptions now only matches entire domains. For example,
an entry for 'bar.com' will still match 'foo.bar.com' but not 'foobar.com'.
+* $wgCopyUploadTimeout and $wgCopyUploadAsyncTimeout added to change the timeout times for
+ fetching the file during upload by url.
=== New features in 1.22 ===
* (bug 44525) mediawiki.jqueryMsg can now parse (whitelisted) HTML elements and attributes.
* (bug 25931) Add Special:RandomInCategory.
* mediawiki.util: addPortletLink now supports passing a jQuery object as nextnode.
* <wbr> can now be used inside WikiText.
+* WebResponse::setcookie is much more featureful. Callers using PHP's
+ setcookie() or setrawcookie() should begin using this instead.
+* New hook WebResponseSetCookie, called from WebResponse::setcookie().
+* New hook ResetSessionID, called when the session id is reset.
=== Bug fixes in 1.22 ===
* Disable Special:PasswordReset when $wgEnableEmail is false. Previously one
* (bug 49694) $wgSpamRegex is now also applied on the new section headline text
adding a new topic on a page
* (bug 6200) line breaks in <blockquote> are handled like they are in <div>
+* (bug 41756) Improve treatment of multiple comments on a blank line.
=== API changes in 1.22 ===
* (bug 25553) The JSON output formatter now leaves forward slashes unescaped
&$skin: A variable reference you may set a Skin instance or string key on to
override the skin that will be used for the context.
+'ResetSessionID': Called from wfResetSessionID
+$oldSessionID: old session id
+$newSessionID: new session id
+
'ResourceLoaderGetConfigVars': Called at the end of
ResourceLoaderStartUpModule::getConfig(). Use this to export static
configuration variables to JavaScript. Things that depend on the current page
REQUEST_URI.
$router: The PathRouter instance
+'WebResponseSetCookie': when setting a cookie in WebResponse::setcookie().
+Return false to prevent setting of the cookie.
+&$name: Cookie name passed to WebResponse::setcookie()
+&$value: Cookie value passed to WebResponse::setcookie()
+&$expire: Cookie expiration, as for PHP's setcookie()
+$options: Options passed to WebResponse::setcookie()
+
'WikiExporter::dumpStableQuery': Get the SELECT query for "stable" revisions
dumps. One, and only one hook should set this, and return false.
&$tables: Database tables to use in the SELECT query
*/
$wgCopyUploadProxy = false;
+/**
+ * Different timeout for upload by url
+ * This could be useful since when fetching large files, you may want a
+ * timeout longer than the default $wgHTTPTimeout. False means fallback
+ * to default.
+ *
+ * @since 1.22
+ */
+$wgCopyUploadTimeout = false;
+
+/**
+ * Different timeout for upload by url when run as a background job
+ * This could be useful since when fetching large files via job queue,
+ * you may want a different timeout, especially because there is no
+ * http request being kept alive.
+ *
+ * false means fallback to $wgCopyUploadTimeout.
+ * @since 1.22
+ */
+$wgCopyUploadAsyncTimeout = false;
+
/**
* Max size for uploads, in bytes. If not set to an array, applies to all
* uploads. If set to an array, per upload type maximums can be set, using the
* marked HttpOnly. The JavaScript code converts the cookie to a wgPostEdit config
* variable.
*
- * Since WebResponse::setcookie does not allow forcing HttpOnly for a single
- * cookie, we have to use PHP's setcookie() directly.
- *
* We use a path of '/' since wgCookiePath is not exposed to JS
*
* If the variable were set on the server, it would be cached, which is unwanted
* since the post-edit state should only apply to the load right after the save.
*/
protected function setPostEditCookie() {
- global $wgCookiePrefix, $wgCookieDomain;
$revisionId = $this->mArticle->getLatest();
$postEditKey = self::POST_EDIT_COOKIE_KEY_PREFIX . $revisionId;
- setcookie( $wgCookiePrefix . $postEditKey, '1', time() + self::POST_EDIT_COOKIE_DURATION, '/', $wgCookieDomain );
+ $response = RequestContext::getMain()->getRequest()->response();
+ $response->setcookie( $postEditKey, '1', time() + self::POST_EDIT_COOKIE_DURATION, array(
+ 'path' => '/',
+ 'httpOnly' => false,
+ ) );
}
/**
'<h2 id="mw-previewheader">' . wfMessage( 'preview' )->escaped() . "</h2>" .
$wgOut->parse( $note, true, /* interface */true ) . $conflict . "</div>\n";
- $pageLang = $this->mTitle->getPageLanguage();
- $attribs = array( 'lang' => $pageLang->getCode(), 'dir' => $pageLang->getDir(),
- 'class' => 'mw-content-' . $pageLang->getDir() );
+ $pageViewLang = $this->mTitle->getPageViewLanguage();
+ $attribs = array( 'lang' => $pageViewLang->getHtmlCode(), 'dir' => $pageViewLang->getDir(),
+ 'class' => 'mw-content-' . $pageViewLang->getDir() );
$previewHTML = Html::rawElement( 'div', $attribs, $previewHTML );
wfProfileOut( __METHOD__ );
}
}
+/**
+ * Reset the session_id
+ * @since 1.22
+ */
+function wfResetSessionID() {
+ global $wgCookieSecure;
+ $oldSessionId = session_id();
+ $cookieParams = session_get_cookie_params();
+ if ( wfCheckEntropy() && $wgCookieSecure == $cookieParams['secure'] ) {
+ session_regenerate_id( false );
+ } else {
+ $tmp = $_SESSION;
+ session_destroy();
+ wfSetupSession( MWCryptRand::generateHex( 32 ) );
+ $_SESSION = $tmp;
+ }
+ $newSessionId = session_id();
+ wfRunHooks( 'ResetSessionID', array( $oldSessionId, $newSessionId ) );
+}
+
+
/**
* Initialise php session
*
// If the text was fetched without an error, convert it
if ( $text !== false ) {
- if ( in_array( 'gzip', $flags ) ) {
- # Deal with optional compression of archived pages.
- # This can be done periodically via maintenance/compressOld.php, and
- # as pages are saved if $wgCompressRevisions is set.
- $text = gzinflate( $text );
- }
-
- if ( in_array( 'object', $flags ) ) {
- # Generic compressed storage
- $obj = unserialize( $text );
- if ( !is_object( $obj ) ) {
- // Invalid object
- wfProfileOut( __METHOD__ );
- return false;
- }
- $text = $obj->getText();
- }
-
- global $wgLegacyEncoding;
- if ( $text !== false && $wgLegacyEncoding
- && !in_array( 'utf-8', $flags ) && !in_array( 'utf8', $flags ) )
- {
- # Old revisions kept around in a legacy encoding?
- # Upconvert on demand.
- # ("utf8" checked for compatibility with some broken
- # conversion scripts 2008-12-30)
- global $wgContLang;
- $text = $wgContLang->iconv( $wgLegacyEncoding, 'UTF-8', $text );
- }
+ $text = self::decompressRevisionText( $text, $flags );
}
wfProfileOut( __METHOD__ );
return $text;
return implode( ',', $flags );
}
+ /**
+ * Re-converts revision text according to it's flags.
+ *
+ * @param $text Mixed: reference to a text
+ * @param $flags array: compression flags
+ * @return String|bool decompressed text, or false on failure
+ */
+ public static function decompressRevisionText( $text, $flags ) {
+ if ( in_array( 'gzip', $flags ) ) {
+ # Deal with optional compression of archived pages.
+ # This can be done periodically via maintenance/compressOld.php, and
+ # as pages are saved if $wgCompressRevisions is set.
+ $text = gzinflate( $text );
+ }
+
+ if ( in_array( 'object', $flags ) ) {
+ # Generic compressed storage
+ $obj = unserialize( $text );
+ if ( !is_object( $obj ) ) {
+ // Invalid object
+ return false;
+ }
+ $text = $obj->getText();
+ }
+
+ global $wgLegacyEncoding;
+ if ( $text !== false && $wgLegacyEncoding
+ && !in_array( 'utf-8', $flags ) && !in_array( 'utf8', $flags ) )
+ {
+ # Old revisions kept around in a legacy encoding?
+ # Upconvert on demand.
+ # ("utf8" checked for compatibility with some broken
+ # conversion scripts 2008-12-30)
+ global $wgContLang;
+ $text = $wgContLang->iconv( $wgLegacyEncoding, 'UTF-8', $text );
+ }
+
+ return $text;
+ }
+
/**
* Insert a new revision into the database, returning the new revision ID
* number on success and dies horribly on failure.
$site = null;
$lang = null;
- foreach ( $this->suffixes as $suffix ) {
+ foreach ( $this->suffixes as $altSite => $suffix ) {
if ( $suffix === '' ) {
$site = '';
$lang = $db;
break;
} elseif ( substr( $db, -strlen( $suffix ) ) == $suffix ) {
- $site = $suffix == 'wiki' ? 'wikipedia' : $suffix;
+ $site = is_numeric( $altSite ) ? $suffix : $altSite;
$lang = substr( $db, 0, strlen( $db ) - strlen( $suffix ) );
break;
}
* null (default): Use the default ($wgCookieSecure) to set the secure attribute
*/
protected function setCookie( $name, $value, $exp = 0, $secure = null ) {
- $this->getRequest()->response()->setcookie( $name, $value, $exp, null, null, $secure );
+ $this->getRequest()->response()->setcookie( $name, $value, $exp, array(
+ 'secure' => $secure,
+ ) );
}
/**
* Set the browser cookie
* @param string $name name of cookie
* @param string $value value to give cookie
- * @param int $expire Unix timestamp (in seconds) when the cookie should expire.
+ * @param int|null $expire Unix timestamp (in seconds) when the cookie should expire.
* 0 (the default) causes it to expire $wgCookieExpiration seconds from now.
- * @param string $prefix Prefix to use, if not $wgCookiePrefix (use '' for no prefix)
- * @param string $domain Cookie domain to use, if not $wgCookieDomain
- * @param $forceSecure Bool:
- * true: force the cookie to be set with the secure attribute
- * false: force the cookie to be set without the secure attribute
- * null: use the value from $wgCookieSecure
+ * null causes it to be a session cookie.
+ * @param array $options Assoc of additional cookie options:
+ * prefix: string, name prefix ($wgCookiePrefix)
+ * domain: string, cookie domain ($wgCookieDomain)
+ * path: string, cookie path ($wgCookiePath)
+ * secure: bool, secure attribute ($wgCookieSecure)
+ * httpOnly: bool, httpOnly attribute ($wgCookieHttpOnly)
+ * raw: bool, if true uses PHP's setrawcookie() instead of setcookie()
+ * For backwards compatability, if $options is not an array then it and
+ * the following two parameters will be interpreted as values for
+ * 'prefix', 'domain', and 'secure'
+ * @since 1.22 Replaced $prefix, $domain, and $forceSecure with $options
*/
- public function setcookie( $name, $value, $expire = 0, $prefix = null, $domain = null, $forceSecure = null ) {
+ public function setcookie( $name, $value, $expire = 0, $options = null ) {
global $wgCookiePath, $wgCookiePrefix, $wgCookieDomain;
global $wgCookieSecure, $wgCookieExpiration, $wgCookieHttpOnly;
- if ( $expire == 0 && $wgCookieExpiration != 0 ) {
- $expire = time() + $wgCookieExpiration;
- }
- if ( $prefix === null ) {
- $prefix = $wgCookiePrefix;
+
+ if ( !is_array( $options ) ) {
+ // Backwards compatability
+ $options = array( 'prefix' => $options );
+ if ( func_num_args() >= 5 ) {
+ $options['domain'] = func_get_arg( 4 );
+ }
+ if ( func_num_args() >= 6 ) {
+ $options['secure'] = func_get_arg( 5 );
+ }
}
- if ( $domain === null ) {
- $domain = $wgCookieDomain;
+ $options = array_filter( $options, function ( $a ) {
+ return $a !== null;
+ } ) + array(
+ 'prefix' => $wgCookiePrefix,
+ 'domain' => $wgCookieDomain,
+ 'path' => $wgCookiePath,
+ 'secure' => $wgCookieSecure,
+ 'httpOnly' => $wgCookieHttpOnly,
+ 'raw' => false,
+ );
+
+ if ( $expire === null ) {
+ $expire = 0; // Session cookie
+ } elseif ( $expire == 0 && $wgCookieExpiration != 0 ) {
+ $expire = time() + $wgCookieExpiration;
}
- if ( is_null( $forceSecure ) ) {
- $secureCookie = $wgCookieSecure;
- } else {
- $secureCookie = $forceSecure;
+ // Don't mark the cookie as httpOnly if the requesting user-agent is
+ // known to have trouble with httpOnly cookies.
+ if ( !wfHttpOnlySafe() ) {
+ $options['httpOnly'] = false;
}
- // Mark the cookie as httpOnly if $wgCookieHttpOnly is true,
- // unless the requesting user-agent is known to have trouble with
- // httpOnly cookies.
- $httpOnlySafe = $wgCookieHttpOnly && wfHttpOnlySafe();
-
- wfDebugLog( 'cookie',
- 'setcookie: "' . implode( '", "',
- array(
- $prefix . $name,
- $value,
- $expire,
- $wgCookiePath,
- $domain,
- $secureCookie,
- $httpOnlySafe ) ) . '"' );
- setcookie( $prefix . $name,
- $value,
- $expire,
- $wgCookiePath,
- $domain,
- $secureCookie,
- $httpOnlySafe );
+ $func = $options['raw'] ? 'setrawcookie' : 'setcookie';
+
+ if ( wfRunHooks( 'WebResponseSetCookie', array( &$name, &$value, &$expire, $options ) ) ) {
+ wfDebugLog( 'cookie',
+ $func . ': "' . implode( '", "',
+ array(
+ $options['prefix'] . $name,
+ $value,
+ $expire,
+ $options['path'],
+ $options['domain'],
+ $options['secure'],
+ $options['httpOnly'] ) ) . '"' );
+
+ call_user_func( $func,
+ $options['prefix'] . $name,
+ $value,
+ $expire,
+ $options['path'],
+ $options['domain'],
+ $options['secure'],
+ $options['httpOnly'] );
+ }
}
}
* @param string $name name of cookie
* @param string $value value to give cookie
* @param int $expire number of seconds til cookie expires (Default: 0)
- * @param $prefix TODO DOCUMENT (Default: null)
- * @param $domain TODO DOCUMENT (Default: null)
- * @param $forceSecure TODO DOCUMENT (Default: null)
+ * @param array $options ignored
*/
- public function setcookie( $name, $value, $expire = 0, $prefix = null, $domain = null, $forceSecure = null ) {
+ public function setcookie( $name, $value, $expire = 0, $options = null ) {
$this->cookies[$name] = $value;
}
protected $mTablePrefix;
protected $mFlags;
+ protected $mForeign;
protected $mTrxLevel = 0;
protected $mErrorCount = 0;
protected $mLBInfo = array();
* @param string $dbName database name
* @param $flags
* @param string $tablePrefix database table prefixes. By default use the prefix gave in LocalSettings.php
+ * @param bool $foreign disable some operations specific to local databases
*/
function __construct( $server = false, $user = false, $password = false, $dbName = false,
- $flags = 0, $tablePrefix = 'get from global'
+ $flags = 0, $tablePrefix = 'get from global', $foreign = false
) {
global $wgDBprefix, $wgCommandLineMode, $wgDebugDBTransactions;
$this->mTablePrefix = $tablePrefix;
}
+ $this->mForeign = $foreign;
+
if ( $user ) {
$this->open( $server, $user, $password, $dbName );
}
isset( $p['password'] ) ? $p['password'] : false,
isset( $p['dbname'] ) ? $p['dbname'] : false,
isset( $p['flags'] ) ? $p['flags'] : 0,
- isset( $p['tablePrefix'] ) ? $p['tablePrefix'] : 'get from global'
+ isset( $p['tablePrefix'] ) ? $p['tablePrefix'] : 'get from global',
+ isset( $p['foreign'] ) ? $p['foreign'] : false
);
} else {
return null;
} else {
list( $table ) = $dbDetails;
if ( $wgSharedDB !== null # We have a shared database
+ && $this->mForeign == false # We're not working on a foreign database
&& !$this->isQuotedIdentifier( $table ) # Paranoia check to prevent shared tables listing '`table`'
&& in_array( $table, $wgSharedTables ) # A shared table is selected
) {
$server = $this->mServers[$i];
$server['serverIndex'] = $i;
$server['foreignPoolRefCount'] = 0;
+ $server['foreign'] = true;
$conn = $this->reallyOpenConnection( $server, $dbName );
if ( !$conn->isOpen() ) {
wfDebug( __METHOD__ . ": error opening connection for $i/$wiki\n" );
'password' => $this->dbPassword,
'dbname' => $this->dbName,
'flags' => $this->dbFlags,
- 'tablePrefix' => $this->tablePrefix
+ 'tablePrefix' => $this->tablePrefix,
+ 'foreign' => true,
)
);
}
}
public function run() {
+ global $wgCopyUploadAsyncTimeout;
# Initialize this object and the upload object
$this->upload = new UploadFromUrl();
$this->upload->initialize(
$this->user = User::newFromName( $this->params['userName'] );
# Fetch the file
- $status = $this->upload->fetchFile();
+ $opts = array();
+ if ( $wgCopyUploadAsyncTimeout ) {
+ $opts['timeout'] = $wgCopyUploadAsyncTimeout;
+ }
+ $status = $this->upload->fetchFile( $opts );
if ( !$status->isOk() ) {
$this->leaveMessage( $status );
return true;
}
// Handle comments
if ( isset( $matches[2] ) && $matches[2] == '!--' ) {
- // To avoid leaving blank lines, when a comment is both preceded
- // and followed by a newline (ignoring spaces), trim leading and
- // trailing spaces and one of the newlines.
+
+ // To avoid leaving blank lines, when a sequence of
+ // space-separated comments is both preceded and followed by
+ // a newline (ignoring spaces), then
+ // trim leading and trailing spaces and the trailing newline.
// Find the end
$endPos = strpos( $text, '-->', $i + 4 );
} else {
// Search backwards for leading whitespace
$wsStart = $i ? ( $i - strspn( $revText, ' ', $lengthText - $i ) ) : 0;
+
// Search forwards for trailing whitespace
// $wsEnd will be the position of the last space (or the '>' if there's none)
$wsEnd = $endPos + 2 + strspn( $text, ' ', $endPos + 3 );
+
+ // Keep looking forward as long as we're finding more
+ // comments.
+ $comments = array( array( $wsStart, $wsEnd ) );
+ while ( substr( $text, $wsEnd + 1, 4 ) == '<!--' ) {
+ $c = strpos( $text, '-->', $wsEnd + 4 );
+ if ( $c === false ) {
+ break;
+ }
+ $c = $c + 2 + strspn( $text, ' ', $c + 3 );
+ $comments[] = array( $wsEnd + 1, $c );
+ $wsEnd = $c;
+ }
+
// Eat the line if possible
// TODO: This could theoretically be done if $wsStart == 0, i.e. for comments at
// the overall start. That's not how Sanitizer::removeHTMLcomments() did it, but
if ( $wsStart > 0 && substr( $text, $wsStart - 1, 1 ) == "\n"
&& substr( $text, $wsEnd + 1, 1 ) == "\n" )
{
- $startPos = $wsStart;
- $endPos = $wsEnd + 1;
// Remove leading whitespace from the end of the accumulator
// Sanity check first though
$wsLength = $i - $wsStart;
if ( $wsLength > 0 && substr( $accum, -$wsLength ) === str_repeat( ' ', $wsLength ) ) {
$accum = substr( $accum, 0, -$wsLength );
}
+
+ // Dump all but the last comment to the accumulator
+ foreach ( $comments as $j => $com ) {
+ $startPos = $com[0];
+ $endPos = $com[1] + 1;
+ if ( $j == ( count( $comments ) - 1) ) {
+ break;
+ }
+ $inner = substr( $text, $startPos, $endPos - $startPos);
+ $accum .= '<comment>' . htmlspecialchars( $inner ) . '</comment>';
+ }
+
// Do a line-start run next time to look for headings after the comment
$fakeLineStart = true;
} else {
}
// Handle comments
if ( isset( $matches[2] ) && $matches[2] == '!--' ) {
- // To avoid leaving blank lines, when a comment is both preceded
- // and followed by a newline (ignoring spaces), trim leading and
- // trailing spaces and one of the newlines.
+
+ // To avoid leaving blank lines, when a sequence of
+ // space-separated comments is both preceded and followed by
+ // a newline (ignoring spaces), then
+ // trim leading and trailing spaces and the trailing newline.
// Find the end
$endPos = strpos( $text, '-->', $i + 4 );
} else {
// Search backwards for leading whitespace
$wsStart = $i ? ( $i - strspn( $revText, ' ', $lengthText - $i ) ) : 0;
+
// Search forwards for trailing whitespace
// $wsEnd will be the position of the last space (or the '>' if there's none)
$wsEnd = $endPos + 2 + strspn( $text, ' ', $endPos + 3 );
+
+ // Keep looking forward as long as we're finding more
+ // comments.
+ $comments = array( array( $wsStart, $wsEnd ) );
+ while ( substr( $text, $wsEnd + 1, 4 ) == '<!--' ) {
+ $c = strpos( $text, '-->', $wsEnd + 4 );
+ if ( $c === false ) {
+ break;
+ }
+ $c = $c + 2 + strspn( $text, ' ', $c + 3 );
+ $comments[] = array( $wsEnd + 1, $c );
+ $wsEnd = $c;
+ }
+
// Eat the line if possible
// TODO: This could theoretically be done if $wsStart == 0, i.e. for comments at
// the overall start. That's not how Sanitizer::removeHTMLcomments() did it, but
if ( $wsStart > 0 && substr( $text, $wsStart - 1, 1 ) == "\n"
&& substr( $text, $wsEnd + 1, 1 ) == "\n" )
{
- $startPos = $wsStart;
- $endPos = $wsEnd + 1;
// Remove leading whitespace from the end of the accumulator
// Sanity check first though
$wsLength = $i - $wsStart;
{
$accum->lastNode->value = substr( $accum->lastNode->value, 0, -$wsLength );
}
+
+ // Dump all but the last comment to the accumulator
+ foreach ( $comments as $j => $com ) {
+ $startPos = $com[0];
+ $endPos = $com[1] + 1;
+ if ( $j == ( count( $comments ) - 1) ) {
+ break;
+ }
+ $inner = substr( $text, $startPos, $endPos - $startPos);
+ $accum->addNodeWithText( 'comment', $inner );
+ }
+
// Do a line-start run next time to look for headings after the comment
$fakeLineStart = true;
} else {
* @return String: HTML form
*/
protected function powerSearchBox( $term, $opts ) {
+ global $wgContLang;
+
// Groups namespaces into rows according to subject
$rows = array();
foreach ( SearchEngine::searchableNamespaces() as $namespace => $name ) {
if ( !array_key_exists( $subject, $rows ) ) {
$rows[$subject] = "";
}
- $name = str_replace( '_', ' ', $name );
+
+ $name = $wgContLang->getConverter()->convertNamespace( $namespace );
if ( $name == '' ) {
$name = $this->msg( 'blanknamespace' )->text();
}
+
$rows[$subject] .=
Xml::openElement(
'td', array( 'style' => 'white-space: nowrap' )
) .
Xml::closeElement( 'td' );
}
+
$rows = array_values( $rows );
$numRows = count( $rows );
'table',
array( 'cellpadding' => 0, 'cellspacing' => 0 )
);
+
for ( $j = $i; $j < $i + 4 && $j < $numRows; $j++ ) {
$namespaceTables .= Xml::tags( 'tr', null, $rows[$j] );
}
+
$namespaceTables .= Xml::closeElement( 'table' );
}
$wgCookieSecure = false;
}
- // If either we don't trust PHP's entropy, or if we need
- // to change cookie settings when logging in because of
- // wpStickHTTPS, then change the session ID manually.
- $cookieParams = session_get_cookie_params();
- if ( wfCheckEntropy() && $wgCookieSecure == $cookieParams['secure'] ) {
- session_regenerate_id( false );
- } else {
- $tmp = $_SESSION;
- session_destroy();
- wfSetupSession( MWCryptRand::generateHex( 32 ) );
- $_SESSION = $tmp;
- }
+ wfResetSessionID();
}
/**
}
/**
+ * Download the file (if not async)
+ *
+ * @param Array $httpOptions Array of options for MWHttpRequest. Ignored if async.
+ * This could be used to override the timeout on the http request.
* @return Status
*/
- public function fetchFile() {
+ public function fetchFile( $httpOptions = array() ) {
if ( !Http::isValidURI( $this->mUrl ) ) {
return Status::newFatal( 'http-invalid-url' );
}
return Status::newFatal( 'upload-copy-upload-invalid-url' );
}
if ( !$this->mAsync ) {
- return $this->reallyFetchFile();
+ return $this->reallyFetchFile( $httpOptions );
}
return Status::newGood();
}
/**
* Download the file, save it to the temporary file and update the file
* size and set $mRemoveTempFile to true.
+ *
+ * @param Array $httpOptions Array of options for MWHttpRequest
* @return Status
*/
- protected function reallyFetchFile() {
+ protected function reallyFetchFile( $httpOptions = array() ) {
+ global $wgCopyUploadProxy, $wgCopyUploadTimeout;
if ( $this->mTempPath === false ) {
return Status::newFatal( 'tmp-create-error' );
}
$this->mRemoveTempFile = true;
$this->mFileSize = 0;
- $options = array(
- 'followRedirects' => true
+ $options = $httpOptions + array(
+ 'followRedirects' => true,
);
- global $wgCopyUploadProxy;
if ( $wgCopyUploadProxy !== false ) {
$options['proxy'] = $wgCopyUploadProxy;
}
+ if ( $wgCopyUploadTimeout && !isset( $options['timeout'] ) ) {
+ $options['timeout'] = $wgCopyUploadTimeout;
+ }
$req = MWHttpRequest::factory( $this->mUrl, $options );
$req->setCallback( array( $this, 'saveTempFileChunk' ) );
$status = $req->execute();
'tog-editsection' => 'በ[አርም] መያያዣ ክፍል ማረምን አስችል',
'tog-editsectiononrightclick' => 'የክፍል አርዕስት ላይ በቀኝ በመጫን ክፍል ማረምን አስችል (JavaScript)',
'tog-showtoc' => 'ከ3 አርዕስቶች በላይ ሲሆን የማውጫ ሰንጠረዥ ይታይ',
-'tog-rememberpassword' => 'ለሚቀጥለው ጊዜ በዚ ኮምፒውተር ላይ በአባልነት ስሜ መግባቴን ( ቢባዛ ለ $1 {{PLURAL:$1|ቀን|ቀናት}}) አስታውስ።',
-'tog-watchcreations' => 'á\8a¥á\8a\94 á\8b¨á\8d\88á\8c á\88á\8a³á\89¸á\8b\8dá\8a\95 á\8c\88á\8c¾ች ወደምከታተላቸው ገጾች ዝርዝር ውስጥ ጨምር',
+'tog-rememberpassword' => 'ለሚቀጥለው ጊዜ በዚህ ኮምፒውተር ላይ በአባልነት ስሜ መግባቴን (ቢበዛ ለ$1 {{PLURAL:$1|ቀን|ቀናት}}) አስታውስ።',
+'tog-watchcreations' => 'á\8a¥á\8a\94 á\8b¨á\88\9dá\8d\88á\8c¥á\88«á\89¸á\8b\8dá\8a\95 á\8c\88á\8c¾á\89½á\8a\93 á\8b¨á\88\9dá\88\8dá\8a«á\89¸á\8b\8dá\8a\95 á\8d\8bá\8bá\88\8eች ወደምከታተላቸው ገጾች ዝርዝር ውስጥ ጨምር',
'tog-watchdefault' => 'ያረምኳቸውን ገጾች ወደምከታተላቸው ገጾች ዝርዝር ውስጥ ጨምር',
'tog-watchmoves' => 'ያዛወርኳቸውን ገጾች ወደምከታተላቸው ገጾች ዝርዝር ውስጥ ጨምር',
'tog-watchdeletion' => 'የሰረዝኳቸውን ገጾች ወደምከታተላቸው ገጾች ዝርዝር ውስጥ ጨምር',
'tog-previewontop' => 'ከማረሚያው ሳጥን በፊት ቅድመ-ዕይታ አሳይ',
'tog-previewonfirst' => 'በመጀመሪያ እርማት ቅድመ-ዕይታ ይታይ',
'tog-nocache' => 'ገጽ መቆጠብን አታስችል',
-'tog-enotifwatchlistpages' => 'á\8b¨á\88\9dá\8a¨á\89³á\89°á\88\88á\8b\8d á\8c\88á\8c½ á\88²á\89\80á\8b¨á\88 á\8a¤á\88\98á\88\8dá\8b\95á\8aá\89µ ይላክልኝ',
+'tog-enotifwatchlistpages' => 'á\8b¨á\88\9dá\8a¨á\89³á\89°á\88\88á\8b\8d á\8c\88á\8c½ á\88²á\89\80á\8b¨á\88 á\8a¢-á\88\9cá\8bá\88\8d ይላክልኝ',
'tog-enotifusertalkpages' => 'የተጠቃሚ መወያያ ገጼ ሲቀየር ኤመልዕክት ይላክልኝ',
-'tog-enotifminoredits' => 'á\88\88á\8a á\8a\90á\88µá\89°á\8a\9b á\8b¨á\8c\88á\8c½ á\8a¥á\88á\88\9bá\89¶á\89½á\88\9d á\8a¤á\88\98á\88\8dá\8b\95á\8aá\89µ ይላክልኝ',
+'tog-enotifminoredits' => 'á\88\88á\8a á\8a\90á\88µá\89°á\8a\9b á\8b¨á\8c\88á\8c½ á\8a¥á\88á\88\9bá\89¶á\89½á\88\9d á\8a¢-á\88\9cá\8bá\88\8d ይላክልኝ',
'tog-enotifrevealaddr' => 'ኤመልዕክት አድራሻዬን በማሳወቂያ መልዕክቶች ውስጥ አሳይ',
'tog-shownumberswatching' => 'የሚከታተሉ ተጠቃሚዎችን ቁጥር አሳይ',
'tog-oldsig' => 'የቀድሞው ፊርማ ቅደመ እይታ',
'tog-diffonly' => 'ከለውጦቹ ስር የገጽ ይዞታ አታሳይ',
'tog-showhiddencats' => 'የተደበቁ መደቦች ይታዩ',
'tog-norollbackdiff' => 'ROLLBACK ከማድረግ በኋላ ልዩነቱ ማሳየት ይቅር',
+'tog-useeditwarning' => 'እርማቶችን ሳልቆጥብ የእርማት ገጽ ልዘጋ ስል አስጠንቅቀኝ',
'underline-always' => 'ሁሌም ይህን',
'underline-never' => 'ሁሌም አይሁን',
'category-file-count' => '{{PLURAL:$2|ይኸው መደብ የሚከተለውን ፋይል ብቻ አለው።|በዚሁ መደብ ውስጥ (ከ$2 በጠቅላላ) {{PLURAL:$1|የሚከተለው ፋይል አለ።|የሚከተሉት $1 ፋይሎች አሉ።}}}}',
'category-file-count-limited' => 'በዚሁ መደብ ውስጥ {{PLURAL:$1|የሚከተለው ፋይል አለ|የሚከተሉት $1 ፋይሎች አሉ}}።',
'listingcontinuesabbrev' => '(ተቀጥሏል)',
-'index-category' => ' ማውጫው ላይ የተመዘገብ ገጾች',
+'index-category' => 'ማውጫው ላይ የተመዘገቡ ገጾች',
+'noindex-category' => 'ማውጫው ላይ ያልተመዘገቡ ገጾች',
'broken-file-category' => 'የማይኖሩ ፋይሎች ያሉባቸው ገጾች',
'about' => 'ስለ',
በጥቂት ሴኮንድ ውስጥ ወደሚከተለው ገጽ በቀጥታ ይመለሳል፦",
'welcomeuser' => 'ሰላምታ $1! እንኳን ደህናመጡ።',
'yourname' => 'Username / የብዕር ስም:',
+'userlogin-yourname' => 'የብዕር ስም',
+'userlogin-yourname-ph' => 'የብዕር ስም ያስገቡ',
+'createacct-another-username-ph' => 'የብዕር ስም ያስገቡ',
'yourpassword' => 'Password / መግቢያ ቃል',
+'userlogin-yourpassword-ph' => 'የመግቢያ ቃል ያስገቡ',
'yourpasswordagain' => 'መግቢያ ቃልዎን ዳግመኛ ይስጡ',
+'createacct-yourpasswordagain' => 'የመግቢያ ቃሉን ይድገሙ',
+'createacct-yourpasswordagain-ph' => 'የመግቢያ ቃሉን ይድገሙ',
'remembermypassword' => 'ለሚቀጥለው ጊዜ በዚ ኮምፒውተር ላይ በአባልነት ስሜ መግባቴን ( ቢባዛ ለ $1 {{PLURAL:$1|ቀን|ቀናት}}) አስታውስ።',
'yourdomainname' => 'የእርስዎ ከባቢ (domain)፦',
'password-change-forbidden' => 'በዚሁ ዊኪ መግቢያ ቃልን መቀይር አልተፈቀደም።',
'gotaccount' => "(አባልነት አሁን ካለዎ፥ '''$1''' ይግቡ)",
'gotaccountlink' => 'በዚህ',
'userlogin-resetlink' => 'የመግቢያ ዝርዝርዎን ረተዋልን?',
+'createacct-join' => 'ከዚህ በታች ይመዝገቡ።',
+'createacct-emailrequired' => 'ኢ-ሜይል አድራሻ',
+'createacct-email-ph' => 'ኢ-ሜይል አድራሻዎን ያስገቡ',
'createaccountmail' => 'በኢ-ሜል',
'createaccountreason' => 'ምክንያት:',
+'createacct-reason' => 'ምክንያት',
+'createacct-reason-ph' => 'ለምን ሌላ የብዕር ስም ሊያወጡ እንደሆነ',
+'createacct-imgcaptcha-ph' => 'ከላይ የሚታየውን ጽሁፍ ያስገቡ',
+'createacct-submit' => 'የብዕር ስም ለማውጣት',
+'createacct-another-submit' => 'ሌላ የብዕር ስም ለማውጣት',
+'createacct-benefit-heading' => '{{SITENAME}} እንደ እርስዎ ባሉ ሰዎች ነው የሚጻፈው።',
+'createacct-benefit-body1' => '{{PLURAL:$1|እርማት|እርማቶችS}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|ገጽ|ገጾችS}}',
'badretype' => 'የጻፉት መግቢያ ቃሎች አይስማሙም።',
-'userexists' => 'á\8bá\88\85 á\89¥á\8b\95á\88 á\88µá\88\9d á\8a á\88\81á\8a\95 á\8bá\8a\96á\88«ል። እባክዎ፣ ሌላ ብዕር ስም ይምረጡ።',
+'userexists' => 'á\8bá\88\85 á\89¥á\8b\95á\88 á\88µá\88\9d á\89°á\8bá\8b\9fል። እባክዎ፣ ሌላ ብዕር ስም ይምረጡ።',
'loginerror' => 'የመግባት ስኅተት',
+'createacct-error' => 'የብዕር ስም መፍጠር ስህተት',
'createaccounterror' => 'ይህን አባልነት ለመፍጠር አልተቻለም፦ $1',
'nocookiesnew' => 'ብዕር ስም ተፈጠረ፣ እርስዎ ግን ገና አልገቡም። በ{{SITENAME}} ተጠቃሚዎች ለመግባት የቃኚ-ማስታወሻ (cookie) ይጠቀማል። በርስዎ ኮምፒውተር ግን የቃኚ-ማስታወሻ እንዳይሠራ ተደርጓል። እባክዎ እንዲሠራ ያድርጉና በአዲስ ብዕር ስምና መግቢያ ቃልዎ ይግቡ።።',
'nocookieslogin' => 'በ{{SITENAME}} ተጠቃሚዎች ለመግባት የቃኚ-ማስታወሻ (cookie) ይጠቀማል። በርስዎ ኮምፒውተር ግን የቃኚ-ማስታወሻ እንዳይሠራ ተደርጓል። እባክዎ እንዲሠራ ያድርጉና እንደገና ይሞክሩ።',
'noname' => 'የተወሰነው ብዕር ስም ትክክለኛ አይደለም።',
'loginsuccesstitle' => 'መግባትዎ ተከናወነ!',
'loginsuccess' => 'እንደ «$1» ሆነው አሁን {{SITENAME}}ን ገብተዋል።',
-'nosuchuser' => '«$1» የሚል ብዕር ስም አልተገኘም። አጻጻፉን ይመልከቱ ወይም አዲስ ብዕር ስም ያውጡ።',
+'nosuchuser' => '«$1» የሚል ብዕር ስም አልተገኘም። አጻጻፉን ይመልከቱ ወይም [[Special:UserLogin/signup|አዲስ ብዕር ስም ያውጡ]]።',
'nosuchusershort' => '«$1» የሚል ብዕር ስም አልተገኘም። አጻጻፉን ይመልከቱ።',
'nouserspecified' => 'አንድ ብዕር ስም መጠቆም ያስፈልጋል።',
'login-userblocked' => 'ተጠቃሚው አሁን የታገደ ነው። መግባት አልተፈቀደም።',
'wrongpassword' => 'የተሰጠው መግቢያ ቃል ልክ አልነበረም። ዳግመኛ ይሞክሩ።',
'wrongpasswordempty' => 'ምንም መግቢያ ቃል አልተሰጠም። ዳግመኛ ይሞክሩ።',
-'passwordtooshort' => 'የመረጡት መግቢያ ቃል ልክ አይሆንም። ቢያንስ $1 ፊደላትና ከብዕር ስምዎ የተለየ መሆን አለበት።',
+'passwordtooshort' => 'የመረጡት መግቢያ ቃል ልክ አይሆንም። ቢያንስ {{PLURAL:$1|1 ፊደልS|$1 ፊደላት}} ያለው መሆን አለበት።',
'password-name-match' => 'መግቢያ ቃልዎ እና የአባል ስምዎ መለያየት አስፈላጊ ነው።',
'password-login-forbidden' => 'ይህ አባል ስምና መግቢያ ቃል መጥቀም የተከለከለ ነው።',
'mailmypassword' => 'አዲስ የይለፍቃል በኢሜሌ ይላክልኝ።',
'confirmemail_body_set' => 'Нехта, магчыма Вы, з IP-адраса $1,
устанавіў адрас электроннай пошты для рахунку «$2» у {{GRAMMAR:месны|{{SITENAME}}}}.
-Ð\9aаб паÑ\86Ñ\8cвеÑ\80дзÑ\96Ñ\86Ñ\8c, Ñ\88Ñ\82о гÑ\8dÑ\82Ñ\8b Ñ\80аÑ\85Ñ\83нак Ñ\81апÑ\80аÑ\9eдÑ\8b належÑ\8bÑ\86Ñ\8c Ð\92ам, Ñ\96 каб акÑ\82Ñ\8bвÑ\96заваÑ\86Ñ\8c новÑ\8b магÑ\87Ñ\8bмаÑ\81Ñ\8cÑ\86Ñ\96 электроннай пошты ў {{GRAMMAR:месны|{{SITENAME}}}}, адкрыйце гэтую спасылку у Вашым браўзэры:
+Ð\9aаб паÑ\86Ñ\8cвеÑ\80дзÑ\96Ñ\86Ñ\8c, Ñ\88Ñ\82о гÑ\8dÑ\82Ñ\8b Ñ\80аÑ\85Ñ\83нак Ñ\81апÑ\80аÑ\9eдÑ\8b належÑ\8bÑ\86Ñ\8c Ð\92ам, Ñ\96 каб акÑ\82Ñ\8bвÑ\96заваÑ\86Ñ\8c падÑ\82Ñ\80Ñ\8bмкÑ\83 электроннай пошты ў {{GRAMMAR:месны|{{SITENAME}}}}, адкрыйце гэтую спасылку у Вашым браўзэры:
$3
'grouppage-user' => '{{ns:project}}:بەکارھێنەران',
'grouppage-autoconfirmed' => '{{ns:project}}:بەکارھێنەرانی پەسندکراوی خۆگەڕ',
-'grouppage-bot' => '{{ns:project}}:بۆتەکان',
+'grouppage-bot' => '{{ns:project}}:بۆت',
'grouppage-sysop' => '{{ns:project}}:بەڕێوبەران',
'grouppage-bureaucrat' => '{{ns:project}}:بیوروکراتەکان',
'grouppage-suppress' => '{{ns:project}}:چاودێر',
'download' => 'داگرتن',
# Unwatched pages
-'unwatchedpages' => 'Ù\84اپÛ\95Ú\95Û\95 Ú\86اÙ\88دÛ\8eرÛ\8câ\80\8cÙ\86Û\95کراÙ\88Û\95کاÙ\86',
+'unwatchedpages' => 'پەڕە چاودێرینەکراوەکان',
# List redirects
'listredirects' => 'پێرستی ڕەوانەکەرەکان',
# Restriction levels
'restriction-level-sysop' => 'تەواو پارێزراو',
-'restriction-level-autoconfirmed' => 'نیوە پارێزراو',
+'restriction-level-autoconfirmed' => 'نیوەپارێزراو - ئاستی ١',
'restriction-level-all' => 'هەر ئاستێک',
# Undelete
'importinterwiki' => 'هێنانەناوەی ترانسویکی',
'import-interwiki-text' => 'بۆ ھاوردن ویکییەک و سەردێڕێکی پەڕە ھەڵبژێرە.
ڕێکەوتەکانی پێداچوونەوە و ناوی دەستکاریکەرەکان دەپارێزرێت.
-هەموو کردەوەکانی ھاوردنی ترانسویکی لە [[Special:Log/import|لۆگی ھاوردن]]دا تۆمار دەکرێت.',
+هەموو کردەوەکانی ھاوردنی ناوویکی لە [[Special:Log/import|لۆگی ھاوردن]]دا تۆمار دەکرێت.',
'import-interwiki-source' => 'سەرچاوەی ویکی\\لاپەڕە :',
'import-interwiki-history' => 'ڕوونووسکردنی هەموو مێژووی پێداچوونەوەکانی ئەم لاپەڕە',
'import-interwiki-templates' => 'لەخۆگرتنی هەموو داڕێژەکان',
'import-interwiki-namespace' => 'بۆشاییناوی مەبەست:',
'import-upload-filename' => 'پەڕگەناو:',
'import-comment' => 'بۆچوون:',
-'importtext' => 'تکایە پەڕگە لە سەرچاوەی ویکییەوە بە کەڵک وەرگرتن لە [[Special:Export|ئامێری هەناردن]] هەناردە بکە.
+'importtext' => 'تکایە پەڕگەکە لە ویکی سەرچاوەوە بە کەڵک وەرگرتن لە [[Special:Export|ئامێری ھەناردن]] ھەناردە بکە.
لەسەر کۆمپیۆتەرەکەت پاشەکەوتی بکە و لێرە باری بكە.',
'importstart' => 'ھاوردنی پەڕەکان...',
'import-revision-count' => '$1 {{PLURAL:$1|پێداچوونەوە|پێداچوونەوە}}',
'importnotext' => 'واڵا یان بێدەق',
'importsuccess' => 'هێنانەناوە تەواو بوو!',
'importhistoryconflict' => 'کێشە لەو مێژووی پێداچوونەوانە وا هەیە (لەوانەیە ئەم لاپەڕە لەپێشدا هێنرابێتەناوە)',
-'importnosources' => 'هیچ سەرچاوەیەکی هێنانەناوەی نێوانویکی دیارینەکراوە و بارکردنی ڕاستەوخۆی مێژوو لەکارخستراوە.',
+'importnosources' => 'ھیچ سەرچاوەیەکی ھاوردنی ناوویکی دیاری نەکراوە و بارکردنی ڕاستەوخۆی مێژوو ناچالاکە.',
'importnofile' => 'هیچ پەڕگەیەکی هێنانەناوە بارنەکرا.',
'importuploaderrorsize' => 'بارکردنی پەڕگەی هێنانەناوە سەرکەوتوو نەبوو.
پەڕگەکە لەو قەبارەی بۆ بارکردن ڕێگەدراوە گەورەترە.',
'allnotinnamespace' => 'Pob tudalen (heblaw am y parth $1)',
'allpagesprev' => 'Gynt',
'allpagesnext' => 'Nesaf',
-'allpagessubmit' => 'Ewch',
+'allpagessubmit' => 'Rhestrer',
'allpagesprefix' => 'Dangos pob tudalen mewn parth gan ddechrau o:',
'allpagesbadtitle' => 'Roedd y darpar deitl yn annilys oherwydd bod ynddo naill ai:<p> - rhagddodiad rhyngwici neu ryngieithol, neu </p>- nod neu nodau na ellir eu defnyddio mewn teitlau.',
'allpages-bad-ns' => 'Nid oes gan {{SITENAME}} barth o\'r enw "$1".',
'randompage' => 'Tilfældig side',
'randompage-nopages' => 'Der er ingen sider i {{PLURAL:$2|navnerummet|disse navnerum:}} $1.',
+# Special:RandomInCategory
+'randomincategory' => 'Tilfældig side i kategori',
+'randomincategory-invalidcategory' => '"$1" er ikke et gyldigt kategorinavn.',
+'randomincategory-nopages' => 'Der er ingen sider i [[:Category:$1]].',
+'randomincategory-selectcategory' => 'Få tilfældig side fra kategori: $1 $2.',
+'randomincategory-selectcategory-submit' => 'Gå til',
+
# Random redirect
'randomredirect' => 'Tilfældige henvisninger',
'randomredirect-nopages' => 'Der er ingen omdirigeringer i navnerummet $1.',
'pageswithprop-text' => 'Denne side viser en liste over sider, der har en bestemt sideegenskab.',
'pageswithprop-prop' => 'Egenskabsnavn:',
'pageswithprop-submit' => 'Vis',
+'pageswithprop-prophidden-long' => 'lang tekst egenskabsværdien skjult ($1 KB)',
'pageswithprop-prophidden-binary' => 'binære egenskabsværdien skjult ($1 KB)',
'doubleredirects' => 'Dobbelte omdirigeringer',
Denne bekræftelseskode udløber $4',
'confirmemail_body_set' => 'En person, sandsynligvis dig, har fra IP-adressen $1,
-angivet denne e-mail-adresse til kontoen "$2" på {{SITENAME}}.
+angivet denne e-mailadresse til kontoen "$2" på {{SITENAME}}.
-For at bekræfte, at denne konto virkelig tilhører dig og genaktivere
-e-mail-funktioner på {{SITENAME}}, åbn dette link i din browser:
+For at bekræfte, at denne konto virkelig tilhører dig og aktivere
+e-mailfunktionerne på {{SITENAME}}, åbn dette link i din browser:
$3
-Hvis kontoen ikke *ikke* tilhører dig, så følg dette link
-for at annullere e-mail-adressens bekræftelse:
+Hvis kontoen *ikke* tilhører dig, så følg dette link
+for at annullere e-mailadressens bekræftelse:
$5
'version-license' => 'Licens',
'version-poweredby-credits' => "Denne wiki er drevet af '''[//www.mediawiki.org/ MediaWiki ]''', copyright © 2001-$1 $2.",
'version-poweredby-others' => 'andre',
+'version-poweredby-translators' => 'translatewiki.net oversættere',
'version-credits-summary' => 'Vi vil gerne anerkende følgende personer for deres bidrag til [[Special:Version|MediaWiki]].',
'version-license-info' => 'MediaWiki er fri software; du kan redistribuere det og/eller ændre det under betingelserne i GNU General Public License som offentliggjort af Free Software Foundation; enten version 2 af licensen eller (efter eget valg) enhver senere version.
Kinnituskood aegub kuupäeval $4.',
'confirmemail_body_set' => 'Keegi, arvatavasti sina ise, IP-aadressilt $1 on {{GRAMMAR:genitive|{{SITENAME}}}} konto "$2" e-posti aadressiks määranud selle aadressi.
-Kinnitamaks, et see konto kuulub tõesti sulle ja {{GRAMMAR:genitive|{{SITENAME}}}} e-posti funktsioonide taasaktiveerimiseks ava oma võrgulehitsejas järgmine link:
+Kinnitamaks, et see konto kuulub tõesti sulle ja {{GRAMMAR:genitive|{{SITENAME}}}} e-posti funktsioonide aktiveerimiseks ava võrgulehitsejas järgmine link:
$3
# Special:AllPages
'allpages' => 'Aal a sidjen',
'alphaindexline' => '$1 bit $2',
-'nextpage' => 'Näist sid ($1)',
+'nextpage' => 'Naist sidj ($1)',
'prevpage' => 'Leetst sidj ($1)',
'allpagesfrom' => 'Sidjen wise sant:',
'allpagesto' => 'Sidjen wise bit:',
'allinnamespace' => 'Aal a sidjen (nöömrüm: $1)',
'allnotinnamespace' => 'Aal a sidjen (saner nöömrüm $1)',
'allpagesprev' => 'Leest',
-'allpagesnext' => 'Näist',
+'allpagesnext' => 'Naist',
'allpagessubmit' => 'Widjer',
'allpagesprefix' => 'Sidjen uunwise mä prefix:',
'allpagesbadtitle' => 'Didiar sidjennööm gongt ei. Hi hed ferlicht en spriak-prefix of diar san ei tuläät tiakens uun.',
# Browsing diffs
'previousdiff' => '← Leetst feranrang',
-'nextdiff' => 'Tu di näist färsjoonsferschääl →',
+'nextdiff' => 'Naist werjuunsferskeel →',
# Media information
'mediawarning' => "'''Paase üüb:''' Son datei koon fülk programcode haa. Bi't deelloosin an eeben maagin koon dan reegner komer fu.",
'createacct-captcha' => 'સલામતી ચકાસણી',
'createacct-imgcaptcha-ph' => 'તમે જે લખાણ જુઓ છો તે દાખલ કરો',
'createacct-submit' => 'તમારું ખાતું બનાવો',
+'createacct-another-submit' => 'બીજું ખાતું બનાવો',
'createacct-benefit-heading' => '{{SITENAME}} એ તમારા જેવા લોકો વડે બનાવેલ છે.',
'createacct-benefit-body1' => '{{PLURAL:$1|ફેરફાર|ફેરફારો}}',
'createacct-benefit-body2' => '{{PLURAL:$1|પાનું|પાનાં}}',
'changeemail-submit' => 'ઈ મેલ બદલો',
'changeemail-cancel' => 'રદ કરો',
+# Special:ResetTokens
+'resettokens-token-label' => '$1 (હાલની કિંમત: $2)',
+
# Edit page toolbar
'bold_sample' => 'ઘાટા અક્ષર',
'bold_tip' => 'ઘાટું લખાણ',
'right-editusercssjs' => 'અન્ય સભ્યોની CSS અને JavaScript ફાઇલમાં ફેરફાર કરો',
'right-editusercss' => 'અન્ય સભ્યોની CSS ફાઇલમાં ફેરફાર કરો',
'right-edituserjs' => 'અન્ય સભ્યોની JavaScript ફાઇલમાં ફેરફાર કરો',
+'right-viewmywatchlist' => 'તમારી પોતાની ધ્યાનસૂચી જુઓ',
+'right-editmyoptions' => 'તમારી પોતાની પ્રાથમિકતાઓમાં ફેરફાર કરો',
'right-rollback' => 'ચોક્કસ પાનામાં જે છેલ્લા સભ્યએ ફેરફારો કર્યાં હોય તેને ઝડપથી ઉલટાવો',
'right-markbotedits' => 'ઉલટાવનારા અને બોટ ફેરફારો નોંધો',
'right-noratelimit' => 'ઝડપની સીમાને કારણે અસર ન થવી જોઇએ.',
'action-userrights-interwiki' => 'અન્ય વિકિ પરના સભ્યોના હક્કો સંપાદિત કરો.',
'action-siteadmin' => 'માહિતી સંચયને ઉઘાડો અને વાસો.',
'action-sendemail' => 'ઈ-મેલ મોકલો',
+'action-editmywatchlist' => 'તમારી ધ્યાનસૂચીમાં ફેરફાર કરો',
+'action-viewmywatchlist' => 'તમારી ધ્યાનસૂચી જુઓ',
'action-viewmyprivateinfo' => 'તમારી અંગત માહિતી જુઓ',
'action-editmyprivateinfo' => 'તમારી અંગત માહિતીમાં ફેરફાર કરો',
'randompage' => 'કોઈ પણ એક લેખ',
'randompage-nopages' => 'આ {{PLURAL:$2|નામસ્થળ|નામસ્થળો}}માં કોઇ પાના નથી: $1.',
+# Special:RandomInCategory
+'randomincategory-selectcategory-submit' => 'જાઓ',
+
# Random redirect
'randomredirect' => 'દિશાહીન નિર્દેશન',
'randomredirect-nopages' => 'નામ સ્થળ "$1" માં કોઇ દિશા નિર્દેશન નથી',
'duration-centuries' => '$1 {{PLURAL:$1|શતાબ્દી|શતાબ્દીઓ}}',
'duration-millennia' => '$1 {{PLURAL:$1|સહસ્ત્રાબ્દી|સહસ્ત્રાબ્દીઓ}}',
+# Image rotation
+'rotate-comment' => 'ચિત્ર $1 {{PLURAL:$1|ડિગ્રી|ડિગ્રીઓ}} ઘડિયાળની દિશામાં ફેરવવામાં આવ્યું',
+
);
'site-atom-feed' => '$1 Atom Սնուցում',
'page-rss-feed' => '«$1» RSS Սնուցում',
'page-atom-feed' => '«$1» «Ատոմ» սնուցում',
+'feed-atom' => 'Ատոմ',
'red-link-title' => '$1 (էջը գոյություն չունի)',
'sort-descending' => 'Դասավորել՝ մեծից փոքր',
'sort-ascending' => 'Դասավորել՝ փոքրից մեծ',
'protectedpagetext' => 'Այս էջը կողպված խմբագրման համար։',
'viewsourcetext' => 'Դուք կարող եք դիտել և պատճենել այս էջի ելատեքստը.',
'viewyourtext' => 'Դուք կարող եք դիտել «ձեր ներդրումների» աղբյուրը և պատճենել այս էջ',
-'protectedinterface' => 'Այս էջը պարունակում է ծրագրային ապահովման ինտերֆեյսի ուզերձ և կողպված է չարաշահումների կանխարգելման նպատակով։.',
-'editinginterface' => "'''Զգուշացում՝''' Դուք խմբագրում եք ծրագրային ապահովման ինտերֆեյսի տեքստ պարունակող էջ։ Այս էջի փոփոխությունը կանդրադառնա այլ մասնակիցներին տեսանելի ինտերֆեյսի տեսքի վրա։
+'protectedinterface' => 'Այս էջը պարունակում է ծրագրային ապահովման միջերեսի տեքստ, և պաշտպանված է չարաշահումների կանխարգելման նպատակով։
+Բոլոր վիքիների թարգմանությունները փոփոխելու կամ ավելացնելու համար, խնդրում ենք այցելել ՄեդիաՎիքիի տեղայնացման նախագիծը՝ [//translatewiki.net/ translatewiki.net]։',
+'editinginterface' => "'''Ուշադրություն՝''' Դուք խմբագրում եք ծրագրային ապահովման միջերեսի տեքստ պարունակող էջ։
+Այս էջի փոփոխությունը կանդրադառնա այլ մասնակիցներին տեսանելի միջերեսը այս վիքիի վրա։
Թարգմանությունների համար նախընտրելի է օգտագործել [//translatewiki.net/wiki/Main_Page?setlang=hy translatewiki.net]՝ Մեդիավիքի ծրագրի տեղայնացման նախագիծը։",
'sqlhidden' => '(SQL հայցումը թաքցված է)',
'cascadeprotected' => 'Այս էջը պաշտպանված է խմբագրումից, քանի որ ընդգրկված է հետևյալ {{PLURAL:$1|էջի|էջերի}} տեքստում, {{PLURAL:$1|որը|որոնք}} պաշտպանվել {{PLURAL:$1|է|են}} կասկադային հնարավորությամբ.
'histfirst' => 'Առաջին',
'histlast' => 'Վերջին',
'historysize' => '({{PLURAL:$1|1 բայթ|$1 բայթ}})',
-'historyempty' => '(դատարկ է)',
+'historyempty' => '(դատարկ)',
# Revision feed
'history-feed-title' => 'Փոփոխությունների պատմություն',
'prefs-memberingroups' => 'Անդամակցության {{PLURAL:$1|խումբ|խմբեր}}.',
'prefs-registration' => 'Գրանցման ամսաթիվը․',
'yourrealname' => 'Ձեր իրական անունը.',
-'yourlanguage' => 'Ô»Õ¶Õ¿Õ¥Ö\80Ö\86Õ¥ÕµÕ½Õ« Õ¬Õ¥Õ¦Õ¸Ö\82Õ¶.',
-'yourvariant' => 'Ô¼Õ¥Õ¦Õ¾Õ¡Õ¯Õ¡Õ¶ Õ¿Õ¡Ö\80Õ¢Õ¥Ö\80Õ¡Õ¯',
+'yourlanguage' => 'Ô¼Õ¥Õ¦Õ¸Ö\82Õ\9d',
+'yourvariant' => 'Ô²Õ¸Õ¾Õ¡Õ¶Õ¤Õ¡Õ¯Õ¸Ö\82Õ©ÕµÕ¡Õ¶ Õ¬Õ¥Õ¦Õ¾Õ¡Õ¯Õ¡Õ¶ Õ¿Õ¡Ö\80Õ¢Õ¥Ö\80Õ¡Õ¯Õ\9d',
'yournick' => 'Ստորագրություն.',
'prefs-help-signature' => 'Քննարկման էջերում մեկնաբանությունները անհրաժեշտ է ստորագրել "<nowiki>~~~~</nowiki>" նշանագրով, որը կվերածվի ձեր ստորագրությանը և ամսաթվին։',
'badsig' => 'Սխալ ստորագրություն. ստուգեք HTML-թեգերը։',
'blanknamespace' => '(Գլխավոր)',
# Contributions
-'contributions' => ' {{GENDER:$1|Մասնակցի}} ներդրում',
+'contributions' => '{{GENDER:$1|Մասնակցի}} ներդրում',
'contributions-title' => '$1 մասնակցի ներդրումը',
'mycontris' => 'Ներդրում',
'contribsub2' => '$1-ի ներդրումները ($2)',
'tooltip-t-whatlinkshere' => 'Այս էջին հղվող բոլոր վիքի էջերի ցանկը',
'tooltip-t-recentchangeslinked' => 'Այս էջից կապված էջերի վերջին փոփոխությունները',
'tooltip-feed-rss' => 'Այս էջի RSS սնուցումը',
-'tooltip-feed-atom' => 'Այս էջի Atom սնուցումը',
+'tooltip-feed-atom' => 'Այս էջի Ատոմ սնուցումը',
'tooltip-t-contributions' => 'Դիտել այս մասնակցի ներդրումների ցանկը',
'tooltip-t-emailuser' => 'Ուղարկել էլ-նամակ այս մասնակցին',
'tooltip-t-upload' => 'Բեռնել ֆայլեր',
* @author Farras
* @author Geitost
* @author Gombang
+ * @author Ilham151096
* @author Irwangatot
* @author IvanLanin
* @author Iwan Novirion
'externaldberror' => 'Telah terjadi kesalahan otentikasi basis data eksternal atau Anda tidak diizinkan melakukan kemaskini terhadap akun eksternal Anda.',
'login' => 'Masuk log',
'nav-login-createaccount' => 'Masuk log / buat akun',
-'loginprompt' => "Anda harus mengaktifkan ''cookies'' untuk dapat masuk log ke {{SITENAME}}.",
+'loginprompt' => 'Anda harus mengaktifkan kuki untuk dapat masuk log ke {{SITENAME}}.',
'userlogin' => 'Masuk log / buat akun',
'userloginnocreate' => 'Masuk log',
'logout' => 'Keluar log',
'loginerror' => 'Kesalahan masuk log',
'createacct-error' => 'Pembuatan akun gagal',
'createaccounterror' => 'Tidak dapat membuat akun: $1',
-'nocookiesnew' => "Akun pengguna telah dibuat, tetapi Anda belum masuk log. {{SITENAME}} menggunakan ''cookies'' untuk log pengguna. ''Cookies'' pada penjelajah web Anda dimatikan. Silakan aktifkan dan masuk log kembali dengan nama pengguna dan kata sandi Anda.",
-'nocookieslogin' => "{{SITENAME}} menggunakan ''cookies'' untuk log penggunanya. ''Cookies'' pada penjelajah web Anda dimatikan. Silakan aktifkan dan coba lagi.",
+'nocookiesnew' => 'Akun pengguna telah dibuat, tetapi Anda belum masuk log. {{SITENAME}} menggunakan kuki untuk log pengguna. Kuki pada peramban web Anda dinonaktifkan. Silakan aktifkan dan masuk log kembali dengan nama pengguna dan kata sandi Anda.',
+'nocookieslogin' => '{{SITENAME}} menggunakan kuki untuk log penggunanya. Kuki pada peramban web Anda dimatikan. Silakan aktifkan dan coba lagi.',
'nocookiesfornew' => 'Akun pengguna tidak dibuat karena kami tidak dapat memastikan sumbernya.
Pastikan Anda telah mengaktifkan kuki, lalu muat ulang halaman ini dan coba lagi.',
'nocookiesforlogin' => '{{int:nocookieslogin}}',
'recentchanges' => 'Chanjyow a-dhiwedhes',
'recentchanges-legend' => 'Etholyow an chanjyow a-dhiwedhes',
'recentchanges-summary' => "Y hyllir helerhi an chanjyow diwettha gwrys dhe'n wiki war an folen-ma.",
+'recentchanges-noresult' => 'Nyns eus chanj vyth dres an termyn res a omdhesedh orth an etholyow-ma.',
'recentchanges-feed-description' => "Y hyllir helerhi an chanjyow diwettha gwrys dhe'n wiki y'n feed-ma.",
'recentchanges-label-newpage' => 'Y feu gwruthys folen nowyth gans an chanj-ma',
'recentchanges-label-minor' => 'Chanj byhan yw hemma',
'watchthispage' => 'Golya an folen-ma',
'unwatch' => 'Diswolya',
'watchlist-details' => 'Yma {{PLURAL:$1|$1 folen}} war agas rol wolya, marnas folennow keskows.',
-'wlshowlast' => 'Diskwedhes an $1 our $2 dydh $3 diwettha',
+'wlheader-showupdated' => "Yn '''tew''' y tiskwedhir folennow re beu chanjyes a-dhia agas vysytyans diwettha.",
+'wlnote' => "A-woles yma an {{PLURAL:$1|chanj diwettha|'''$1''' chanj diwettha}} y'n {{PLURAL:$2|our|'''$2''' our}} diwettha, a-dhia $3, $4.",
+'wlshowlast' => 'Diskwedhes an $1 our diwettha, an $2 dydh diwettha, po $3',
'watchlist-options' => 'Etholyow an rol wolya',
# Displayed when you click the "watch" button and it is in the process of watching
'watching' => 'Ow kolya...',
'unwatching' => 'Ow tisgolya...',
+'enotif_reset' => 'Merkya pub folen avel vysytyes',
+
# Delete
'deletepage' => 'Dilea an folen',
'confirm' => 'Afydhya',
'edit-externally' => 'Chanjya an restren-ma dre dowlen a-ves',
# 'all' in various places, this might be different for inflected languages
-'watchlistall2' => 'oll',
+'watchlistall2' => 'puptra',
'namespacesall' => 'oll',
'monthsall' => 'oll',
'limitall' => 'oll',
'exif-compression-1' => 'Кыстырылбаган',
'exif-copyrighted-true' => 'Автордук укук менен корголгон',
-'exif-copyrighted-false' => 'Ð\9aоомдÑ\83к мүлк',
+'exif-copyrighted-false' => 'Ð\90вÑ\82оÑ\80дÑ\83к Ñ\83кÑ\83к абалÑ\8b көÑ\80Ñ\81Ó©Ñ\82үлгөн Ñ\8dмеÑ\81',
'exif-unknowndate' => 'Белгисиз дата',
'delete-hook-aborted' => 'Бришењето е прекинато со кука.
Не е дадено никакво образложение.',
'no-null-revision' => 'Не можев да направам нова ништовна ревизија на страницата „$1“',
-'badtitle' => 'Ð\9bоÑ\88 наслов',
+'badtitle' => 'Ð\9dеиÑ\81пÑ\80авен наслов',
'badtitletext' => 'Бараниот наслов е грешен, празен или неисправно поврзан меѓујазичен или меѓувики наслов.
Може да содржи недопуштени знаци.',
'perfcached' => 'Следните податоци се кеширани и може да не се тековни. Во кешот {{PLURAL:$1|е достапен највеќе еден резултат|се достапни највеќе $1 резултати}}.',
'newwindow' => '(नवीन खिडकीत उघडते.)',
'cancel' => 'रद्द करा',
'moredotdotdot' => 'अजून...',
-'morenotlisted' => 'आणखी यादीत नाही...',
+'morenotlisted' => 'आणखी यादीत नाहीत...',
'mypage' => 'पान',
'mytalk' => 'चर्चा',
'anontalk' => 'या अंकपत्त्याचे चर्चा पान उघडा',
सर्व विकिंवर, अनुवाद जोडण्याकरता किंवा बदलण्याकरता अथवा शुद्धलेखन चिकित्सेकरीता , कृपया [//translatewiki.net/ translatewiki.net], या मिडियाविकि स्थानिकीकरण प्रकल्पावर जा.',
'editinginterface' => "'''सावधान:''' तुम्ही संचेतनाचे (सॉफ्टवेअर) संपर्क माध्यम मजकूर असलेले पान संपादित करित आहात. या पानावरील बदल या विकिवरील इतर सदस्यांच्या सदस्य संपर्क माध्यमाचे स्वरूप बदलू शकते.सर्व विकिंवरील भाषांतरासाठी कृपया मिडीयाविकि स्थानिकीकरण प्रकल्पाच्या [//translatewiki.net/ translatewiki.net]या सुविधेचा वापर करा.",
'sqlhidden' => 'छूपी एस्क्यूएल पृच्छा (एसक्यूएल क्वेरी हिडन)',
-'cascadeprotected' => 'हà¥\87 पान सà¤\82पादनाà¤\82पासà¥\82न सà¥\81रà¤\95à¥\8dषित à¤\95à¥\87लà¥\87 à¤\97à¥\87लà¥\87लà¥\87 à¤\86हà¥\87, à¤\95ारण तà¥\87 à¤\96ालà¥\80ल {{PLURAL:$1|पानात|पानाà¤\82मधà¥\8dयà¥\87}} à¤\85à¤\82तरà¥\8dà¤à¥\82त à¤\95à¥\87लà¥\87लà¥\87 à¤\86हà¥\87, à¤\95à¥\80 à¤\9cà¥\87 पान/à¤\9cà¥\80 पानà¥\87 शिडà¥\80 परà¥\8dयायाने सुरक्षित आहेत:
+'cascadeprotected' => 'हà¥\87 पान सà¤\82पादनाà¤\82पासà¥\82न सà¥\81रà¤\95à¥\8dषित à¤\95à¥\87लà¥\8dया à¤\97à¥\87लà¥\87 à¤\86हà¥\87, à¤\95ारण तà¥\87 à¤\96ालà¥\80ल {{PLURAL:$1|पानात|पानाà¤\82मधà¥\8dयà¥\87}} à¤\85à¤\82तरà¥\8dà¤à¥\82त à¤\95à¥\87लà¥\87लà¥\87 à¤\86हà¥\87,{{PLURAL:$1|à¤\9cà¥\87 पान|à¤\9cà¥\80 पानà¥\87 }}निपतन परà¥\8dयाय सà¥\81रà¥\81 à¤\95à¥\87लà¥\8dयामà¥\81ळे सुरक्षित आहेत:
$2',
'namespaceprotected' => "'''$1''' नामविश्वातील पाने संपादण्याची आपणांस परवानगी नाही.",
'customcssprotected' => 'या पानावर इतर सदस्याची वैयक्तिक मांडणी असल्यामुळे, तुम्हाला हे सीएसएस पान संपादित करण्याची परवानगी नाही.',
'filereadonlyerror' => '"$1" ला सुधार अशक्य आहे कारण संचिकाभांडार "$2" हे \'फक्त वाचा\'(रीड ओन्ली) या श्रेणीतच आहे.
ज्या प्रशासकाने हे कुलुपबंद केले त्यांनी त्यांनी दिलेले स्पष्टीकरण आहे: "$3"',
-'invalidtitle-knownnamespace' => '"$2" नामविशà¥\8dवात "$3" हे अयोग्य शीर्षक',
+'invalidtitle-knownnamespace' => '"$2" नामविशà¥\8dवात "$3" मà¤\9cà¤\95à¥\82राà¤\9aे अयोग्य शीर्षक',
'invalidtitle-unknownnamespace' => 'अनोळखी नामविश्वाच्या आकड्यासह अवैध मथळा $1 व मजकूर "$2"',
-'exception-nologin' => 'पà¥\8dरवà¥\87श à¤\95à¥\87लà¥\87ला नाही',
-'exception-nologin-text' => 'हà¥\87 à¤\95रणà¥\8dयासाठà¥\80 à¤\86पलà¥\8dयाला या विà¤\95िवर सदसà¥\8dयनावानà¥\87 पà¥\8dरवà¥\87श à¤\95रायला हवा.',
+'exception-nologin' => 'सनà¥\8bà¤\82द-पà¥\8dरवà¥\87शित नाही',
+'exception-nologin-text' => 'हà¥\87 पान à¤\95िà¤\82वा à¤\95à¥\8dरिया à¤\95रणà¥\8dयासाठà¥\80 à¤\86पलà¥\8dयाला या विà¤\95िवर सनà¥\8bà¤\82द- पà¥\8dरवà¥\87शित à¤\85सावयास हवà¥\87.',
# Virus scanner
'virus-badscanner' => "खराब विन्यास (कॉन्फिगरेशन): अनोळखी व्हायरस स्कॅनर: ''$1''",
'virus-unknownscanner' => 'अनोळखी ऍन्टीव्हायरस:',
# Login and logout pages
-'logouttext' => "'''तà¥\81मà¥\8dहà¥\80 à¤\86ता à¤\85दाà¤\96ल à¤\9dाला(logout)आहात.'''
+'logouttext' => "'''तà¥\81मà¥\8dहà¥\80 à¤\86ता सनà¥\8bà¤\82द-निरà¥\8dà¤\97मित(लà¥\89à¤\97-à¤\86à¤\89à¤\9f) à¤\9dाला आहात.'''
-तà¥\81मà¥\8dहà¥\80 à¤\85नामिà¤\95पणà¥\87 {{SITENAME}}à¤\9aा à¤\89पयà¥\8bà¤\97 à¤\95रत राहà¥\82 शà¤\95ता, à¤\95िà¤\82वा तà¥\8dयाà¤\9a à¤\85थवा वà¥\87à¤\97ळà¥\8dया सदसà¥\8dय नावानà¥\87 <span class='plainlinks'>[$1 पà¥\81नà¥\8dहा दाà¤\96ल हà¥\8bà¤\8a शकता]</span>.
-आपण स्वत:च्या न्याहाळकाची सय (cache) रिकामी करत नाही तो पर्यंत काही पाने आपण अजून दाखल आहात, असे नुसतेच दाखवत राहू शकतील.",
+तà¥\81मà¥\8dहà¥\80 à¤\85नामिà¤\95पणà¥\87 {{SITENAME}}à¤\9aा à¤\89पयà¥\8bà¤\97 à¤\95रत राहà¥\82 शà¤\95ता, à¤\95िà¤\82वा तà¥\8dयाà¤\9a à¤\85थवा वà¥\87à¤\97ळà¥\8dया सदसà¥\8dय नावानà¥\87 <span class='plainlinks'>[$1 पà¥\81नà¥\8dहा सनà¥\8bà¤\82द-पà¥\8dरवà¥\87श à¤\95रà¥\82 शकता]</span>.
+आपण स्वत:च्या न्याहाळकाची सय (कॅशे) रिकामी करत नाही तो पर्यंत, काही पाने आपण अजून प्रवेशित आहात, असे नुसतेच दाखवत राहू शकतील.",
'welcomeuser' => 'स्वागत, $1!',
'welcomecreation-msg' => 'तुमचे खाते उघडण्यात आले आहे.
-à¤\86पलà¥\8dया [[Special:Preferences|{{SITENAME}} पसà¤\82तà¥\80]] बदलण्यास विसरू नका.',
-'yourname' => 'तà¥\81मà¤\9aà¥\87 नाव',
+à¤\86पला [[Special:Preferences|{{SITENAME}} पसà¤\82तà¥\80à¤\95à¥\8dरम]] बदलण्यास विसरू नका.',
+'yourname' => 'सदसà¥\8dयनाम:',
'userlogin-yourname' => 'सदस्यनाम',
'userlogin-yourname-ph' => 'आपले सदस्यनाव टाका',
-'createacct-another-username-ph' => 'à¤\86पलà¥\87 सदसà¥\8dयनाव à¤\9fाà¤\95ा',
-'yourpassword' => 'तुमचा परवलीचा शब्द',
+'createacct-another-username-ph' => 'सदस्यनाव टाका',
+'yourpassword' => 'तुमचा परवलीचा शब्द:',
'userlogin-yourpassword' => 'परवलीचा शब्द(पासवर्ड)',
'userlogin-yourpassword-ph' => 'आपला परवलीचा शब्द टाका',
'createacct-yourpassword-ph' => 'परवलीचा शब्द टाका',
-'yourpasswordagain' => 'तà¥\81मà¤\9aा परवलà¥\80à¤\9aा शबà¥\8dद पà¥\81नà¥\8dहा लिहा',
-'createacct-yourpasswordagain' => 'परवलà¥\80à¤\9aà¥\8dया शबà¥\8dदाà¤\9aà¥\80 परत नà¥\8bà¤\82द करा',
+'yourpasswordagain' => 'तà¥\81मà¤\9aा परवलà¥\80à¤\9aा शबà¥\8dद पà¥\81नà¥\8dहा à¤\9fà¤\82à¤\95ा:',
+'createacct-yourpasswordagain' => 'परवलà¥\80à¤\9aà¥\8dया शबà¥\8dदाà¤\9aà¥\80 निशà¥\8dà¤\9aितà¥\80 करा',
'createacct-yourpasswordagain-ph' => 'पुन्हा परवलीचा शब्द टाका',
-'remembermypassword' => 'माà¤\9dा पà¥\8dरवà¥\87श या सà¤\82à¤\97णà¤\95ावर लà¤\95à¥\8dषात ठà¥\87वा (à¤\9cासà¥\8dतà¥\80त à¤\9cासà¥\8dत $1 {{PLURAL:$1|दिवस|दिवसांसाठी}})',
+'remembermypassword' => 'माà¤\9dा सनà¥\8bà¤\82दपà¥\8dरवà¥\87श (लà¥\89à¤\97-à¤\88न) या नà¥\8dयाहाळà¤\95ावर लà¤\95à¥\8dषात ठà¥\87वा (à¤\9cासà¥\8dतà¥\80त à¤\9cासà¥\8dत $1 {{PLURAL:$1|दिवसासाठà¥\80|दिवसांसाठी}})',
'userlogin-remembermypassword' => 'मला नोंदीकृतच(लॉग्ड-ईन) ठेवा',
-'userlogin-signwithsecure' => 'सà¥\81रà¤\95à¥\8dषित à¤\9cà¥\8bडणà¥\80(सेक्युअर कनेक्शन) वापरा',
-'securelogin-stick-https' => "प्रवेशानंतर 'एचटीटीपीएस'शी जुळलेले रहा",
+'userlogin-signwithsecure' => 'सà¥\81रà¤\95à¥\8dषित à¤\85नà¥\81बà¤\82ध(सेक्युअर कनेक्शन) वापरा',
+'securelogin-stick-https' => "सनà¥\8bà¤\82द-पà¥\8dरवà¥\87शानà¤\82तर 'à¤\8fà¤\9aà¤\9fà¥\80à¤\9fà¥\80पà¥\80à¤\8fस'शà¥\80 à¤\9cà¥\81ळलà¥\87लà¥\87 रहा",
'yourdomainname' => 'तुमचे क्षेत्र (डोमेन) :',
-'password-change-forbidden' => 'तà¥\81मà¥\8dहà¥\80 या विà¤\95िवर तà¥\81मà¤\9aा सà¤\82à¤\95à¥\87तशब्द बदलू शकत नाही.',
+'password-change-forbidden' => 'तà¥\81मà¥\8dहà¥\80 या विà¤\95िवर तà¥\81मà¤\9aा परवलà¥\80à¤\9aा शब्द बदलू शकत नाही.',
'externaldberror' => 'विदागार ’खातरजमा’ (प्रमाणितीकरण) त्रुटी होती अथवा तुम्हाला तुमचे बाह्य खाते अद्ययावत करण्याची परवानगी नाही.',
'login' => 'सनोंद-प्रवेश(लॉग-ईन)',
-'nav-login-createaccount' => 'सनोंद-प्रवेशित व्हा /सदस्य खाते उघडा',
-'loginprompt' => '{{SITENAME}}मधà¥\8dयà¥\87 दाà¤\96ल हà¥\8bणà¥\8dयाà¤\95रिता सà¥\8dमà¥\83तिशà¥\87ष à¤\89पलबà¥\8dध (कुकिज एनेबल)असणे आवश्यक आहे.',
-'userlogin' => 'सनोंद-प्रवेश करा /सदस्य खाते उघडा',
+'nav-login-createaccount' => 'सनोंद-प्रवेश / सदस्यखाते उघडा',
+'loginprompt' => '{{SITENAME}}मधà¥\8dयà¥\87 सनà¥\8bà¤\82द-पà¥\8dरवà¥\87शासाठà¥\80 सà¥\8dमà¥\83तिशà¥\87ष सà¤\95à¥\8dषम (कुकिज एनेबल)असणे आवश्यक आहे.',
+'userlogin' => 'सनोंद-प्रवेश करा /सदस्यखाते उघडा',
'userloginnocreate' => 'सनोंद-प्रवेश',
'logout' => 'सनोंद-निर्गम',
'userlogout' => 'सनोंद-निर्गम',
'userlogin-noaccount' => 'आपले खाते नाही?',
'userlogin-joinproject' => '{{SITENAME}}मध्ये सहभागी व्हा',
'nologin' => 'आपले सदस्यखाते नाही काय? $1.',
-'nologinlink' => 'सदस्य खाते तयार करा',
+'nologinlink' => 'सदस्यखाते तयार करा',
'createaccount' => 'नवीन खाते तयार करा',
'gotaccount' => 'पूर्वीचे खाते आहे? $1.',
'gotaccountlink' => 'सनोंद-प्रवेश करा',
'userlogin-resetlink' => 'सनोंद-प्रवेश तपशील विसरला असाल तर येथे टिचकी मारा.',
'userlogin-resetpassword-link' => 'परवलीचा शब्द पुन्हा जुळवा (रिसेट)',
-'helplogin-url' => 'Help:पà¥\8dरवà¥\87श नà¥\8bà¤\82दà¥\80साठी(लॉगिंग-ईन)',
-'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|पà¥\8dरवà¥\87श नà¥\8bà¤\82दà¥\80साठà¥\80 सहायà¥\8dय(लà¥\89à¤\97 à¤\88न)]]',
+'helplogin-url' => 'Help:सनà¥\8bà¤\82द पà¥\8dरवà¥\87शासाठी(लॉगिंग-ईन)',
+'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|सनà¥\8bà¤\82द-पà¥\8dरवà¥\87शासाठà¥\80(लà¥\89à¤\97-à¤\88न) सहायà¥\8dय]]',
'createacct-join' => 'खाली आपली माहिती भरा',
'createacct-another-join' => 'नविन खात्याबाबतची माहिती येथे खाली टाका.',
'createacct-emailrequired' => 'विपत्र पत्ता(ई-मेल)',
'createacct-imgcaptcha-ph' => 'वर दिसत असलेला मजकूर येथे टाका',
'createacct-submit' => 'आपले खाते निर्माण करा',
'createacct-another-submit' => 'दुसरे नवीन खाते तयार करा',
-'createacct-benefit-heading' => '{{SITENAME}} हे आपल्यासारख्याच लोकांनी बनविलेले आहे',
+'createacct-benefit-heading' => '{{SITENAME}} हे आपल्यासारख्याच लोकांनी बनविलेले आहे.',
'createacct-benefit-body1' => '{{PLURAL:$1|edit|संपादने}}',
'createacct-benefit-body2' => '{{PLURAL:$1|लेख}}',
'createacct-benefit-body3' => 'अलीकडील {{PLURAL:$1|योगदानकर्ता|योगदानकर्ते}}',
-'badretype' => 'à¤\86पला परवलà¥\80à¤\9aा शबà¥\8dद à¤\9aà¥\81à¤\95à¥\80à¤\9aा à¤\86हà¥\87.',
-'userexists' => 'या नावानà¥\87 सदसà¥\8dयाà¤\9aà¥\80 नà¥\8bà¤\82दणà¥\80 à¤\9dालà¥\87लà¥\80 आहे.
-à¤\95à¥\83पया दà¥\81सरà¥\87 सदसà¥\8dय नाव निवडा.',
+'badretype' => 'à¤\86पण à¤\9fाà¤\95लà¥\87ला परवलà¥\80à¤\9aा शबà¥\8dद à¤\9cà¥\81ळत नाहà¥\80.',
+'userexists' => 'à¤\86पण à¤\9fाà¤\95लà¥\87लà¥\87 सदसà¥\8dयनाम पà¥\82रà¥\8dवà¥\80à¤\9a वापरात आहे.
+à¤\95à¥\83पया वà¥\87à¤\97ळà¥\87 सदसà¥\8dयनाम निवडा.',
'loginerror' => 'सनोंद-प्रवेशात चूक झाली आहे',
'createacct-error' => 'खाते तयार करण्यात चुकी',
'createaccounterror' => 'हे खाते तयार करता येऊ शकले नाही:$1',
'nocookiesnew' => 'सदस्य खाते तयार झाले ,पण तुम्ही सनोंद-प्रवेशित(लॉग्डईन) नाहीत.{{SITENAME}} सदस्यांना सनोंद-प्रवेश देतांना त्यांचे स्मृतिशेष (कुकिज) वापरते.तुम्ही स्मृतिशेष सुविधा अनुपलब्ध ठेवली आहे.ती कृपया उपलब्ध करा,आणि नंतर तुमच्या नवीन सदस्य नावाने आणि परवलीने दाखल व्हा.',
-'nocookieslogin' => '{{SITENAME}} सदसà¥\8dयाà¤\82ना दाà¤\96ल à¤\95रà¥\82न à¤\98à¥\87ताना तà¥\8dयाà¤\82à¤\9aà¥\8dया सà¥\8dमà¥\83तिशà¥\87ष (cookies) वापरतà¥\87.तà¥\81मà¥\8dहà¥\80 सà¥\8dमà¥\83तिशà¥\87ष सà¥\81विधा à¤\85नà¥\81पलबà¥\8dध à¤\9fà¥\87वलà¥\80 à¤\86हà¥\87.सà¥\8dमà¥\83तà¥\80शà¥\87ष सà¥\81विधा à¤\95à¥\83पया à¤\89पलबà¥\8dध à¤\95रा,à¤\86णि दाà¤\96ल हà¥\8bणà¥\8dयासाठी पुन्हा प्रयत्न करा.',
+'nocookieslogin' => '{{SITENAME}} सदसà¥\8dयाà¤\82ना सनà¥\8bà¤\82द-पà¥\8dरवà¥\87श दà¥\87ताà¤\82ना, तà¥\8dयाà¤\82à¤\9aà¥\8dया सà¥\8dमà¥\83तिशà¥\87ष (cookies) वापरतà¥\87.तà¥\81मà¥\8dहà¥\80 सà¥\8dमà¥\83तिशà¥\87ष सà¥\81विधा à¤\85नà¥\81पलबà¥\8dध ठà¥\87वलà¥\80 à¤\86हà¥\87.सà¥\8dमà¥\83तà¥\80शà¥\87ष सà¥\81विधा à¤\95à¥\83पया à¤\89पलबà¥\8dध à¤\95रा à¤\86णि सनà¥\8bà¤\82द-पà¥\8dरवà¥\87शासाठी पुन्हा प्रयत्न करा.',
'nocookiesfornew' => 'हे सदस्य खाते अस्तित्वात नाही, त्यामुळे आम्ही त्याच्या स्रोताची खात्री करू शकलो नाही.
-तुमचे स्मृतिशेष उपलब्ध असण्याची खात्री करा, किंवा थोड्या वेळाने हे पान पुन्हा पहा.',
-'noname' => 'à¤\86पण नà¥\8bà¤\82दणà¥\80साठà¥\80 सदसà¥\8dयाà¤\9aà¥\87 यà¥\8bà¤\97à¥\8dय नाव लिहिले नाही.',
-'loginsuccesstitle' => 'आपल्या प्रवेशाची नोंदणी यशस्वीरीत्या पूर्ण झाली',
-'loginsuccess' => "'''तà¥\81मà¥\8dहà¥\80 {{SITENAME}} वर \"\$1\" नावानà¥\87 पà¥\8dरवà¥\87श à¤\95à¥\87ला à¤\86हà¥\87.'''",
+तुमचे स्मृतिशेष उपलब्ध असण्याची खात्री करा,या पानास पुनर्भारण(रिलोड) करा किंवा पुन्हा प्रयत्न करा.',
+'noname' => 'à¤\86पण वà¥\88ध सदसà¥\8dयनाम नमà¥\82द à¤\95à¥\87ले नाही.',
+'loginsuccesstitle' => 'à¤\86पलà¥\8dया सनà¥\8bà¤\82द-पà¥\8dरवà¥\87शाà¤\9aà¥\80 नà¥\8bà¤\82दणà¥\80 यशसà¥\8dवà¥\80रà¥\80तà¥\8dया पà¥\82रà¥\8dण à¤\9dालà¥\80',
+'loginsuccess' => "'''तà¥\81मà¥\8dहà¥\80 {{SITENAME}} वर \"\$1\" नावानà¥\87 सनà¥\8bà¤\82द पà¥\8dरवà¥\87शित à¤\86हात.'''",
'nosuchuser' => '"$1" या नावाचा कोणताही सदस्य नाही.तुमचे शुद्धलेखन तपासा, किंवा [[Special:UserLogin/signup|नवीन खाते]] तयार करा.',
'nosuchusershort' => '"$1" या नावाचा सदस्य नाही. लिहीताना आपली चूक तर नाही ना झाली?',
'nouserspecified' => 'तुम्हाला सदस्यनाव नमूद करावे लागेल.',
-'login-userblocked' => 'या सदसà¥\8dयाà¤\9aà¥\87 à¤\96ातà¥\87 â\80\99पà¥\8dरतिबà¤\82धितâ\80\99 à¤\86हà¥\87. तà¥\8dयास पà¥\8dरवà¥\87श à¤\95रà¥\82 दà¥\87णà¥\87 शà¤\95à¥\8dय नाही.',
+'login-userblocked' => 'हा सदसà¥\8dय â\80\99पà¥\8dरतिबà¤\82धितâ\80\99 à¤\86हà¥\87. तà¥\8dयास सनà¥\8bà¤\82द-पà¥\8dरवà¥\87शाà¤\9aà¥\80 परवानà¤\97à¥\80 नाही.',
'wrongpassword' => 'आपला परवलीचा शब्द चुकीचा आहे, पुन्हा एकदा प्रयत्न करा.',
'wrongpasswordempty' => 'परवलीचा शब्द रिकामा आहे; परत प्रयत्न करा.',
-'passwordtooshort' => 'तà¥\81मà¤\9aा परवलà¥\80à¤\9aा शबà¥\8dद à¤\9cरà¥\82रà¥\80पà¥\87à¤\95à¥\8dषा लहान à¤\86हà¥\87. यात à¤\95मà¥\80त à¤\95मà¥\80 {{PLURAL:$1|१ à¤\85à¤\95à¥\8dषर |$1 à¤\85à¤\95à¥\8dषरà¥\87}} पाहिà¤\9cà¥\87त.',
+'passwordtooshort' => 'तà¥\81मà¤\9aà¥\8dया परवलà¥\80à¤\9aà¥\8dया शबà¥\8dदात à¤\95िमान {{PLURAL:$1|१ à¤\85à¤\95à¥\8dषर |$1 à¤\85à¤\95à¥\8dषरà¥\87}} हवà¥\80त.',
'password-name-match' => 'आपला परवलीचा शब्द हा आपल्या सदस्यनावापेक्षा वेगळा हवा.',
'password-login-forbidden' => 'या सदस्यनामाचा व परवलीच्या शब्दाचा वापर निषिद्ध आहे.',
-'mailmypassword' => 'परवलà¥\80à¤\9aा नवà¥\80न शबà¥\8dद à¤\88-मà¥\87ल पत्त्यावर पाठवा',
+'mailmypassword' => 'नवà¥\80न परवलà¥\80à¤\9aा शबà¥\8dद विपतà¥\8dर (à¤\88-मà¥\87ल) पत्त्यावर पाठवा',
'passwordremindertitle' => '{{SITENAME}}करिता नवा तात्पुरता परवलीचा शब्दांक.',
'passwordremindertext' => 'कुणीतरी (कदाचित तुम्ही, अंकपत्ता $1 कडून) {{SITENAME}} करिता ’नवा परवलीचा शब्दांक पाठवावा’ अशी विनंती केली आहे ($4).
-"$2" सदस्याकरिता परवलीचा शब्दांक "$3" झाला आहे.
-तà¥\81मà¥\8dहà¥\80 à¤\86ता पà¥\8dरवà¥\87श à¤\95रा व तà¥\81मà¤\9aा परवलà¥\80à¤\9aा शबà¥\8dदाà¤\82à¤\95 बदला. तà¥\81मà¤\9aा à¤\85सà¥\8dथायà¥\80 शबà¥\8dदाà¤\82à¤\95 {{PLURAL:$5|à¤\8fà¤\95ा दिवसात|$5 दिवसाà¤\82त}} सà¤\82पà¥\87ल.
+"$2" सदसà¥\8dयाà¤\95रिता तातà¥\8dपà¥\81रता परवलà¥\80à¤\9aा शबà¥\8dदाà¤\82à¤\95 "$3" à¤\9dाला à¤\86हà¥\87.
+तà¥\81मà¥\8dहà¥\80 à¤\86ता पà¥\8dरवà¥\87श à¤\95रा व तà¥\81मà¤\9aा परवलà¥\80à¤\9aा शबà¥\8dदाà¤\82à¤\95 बदला. तà¥\81मà¤\9aा à¤\85सà¥\8dथायà¥\80 शबà¥\8dदाà¤\82à¤\95 {{PLURAL:$5|à¤\8fà¤\95ा दिवसात|$5 दिवसाà¤\82त}} मà¥\83त हà¥\8bà¤\88ल.
जर ही विनंती इतर कुणी केली असेल किंवा तुम्हाला तुमचा परवलीचा शब्दांक आठवला असेल आणि तुम्ही तो आता बदलू इच्छित नसाल तर, तुम्ही हा संदेश दुर्लक्षित करून जुना परवलीचा शब्दांक वापरत राहू शकता.',
-'noemail' => '"$1" सदसà¥\8dयासाठà¥\80 à¤\95à¥\8bणताहà¥\80 à¤\88-मà¥\87ल पतà¥\8dता दिलà¥\87ला नाही.',
+'noemail' => '"$1" सदसà¥\8dयाà¤\9aà¥\8dया à¤\95à¥\8bणतà¥\8dयाहà¥\80 विपतà¥\8dरपतà¥\8dतà¥\8dयाà¤\9aà¥\80(à¤\88-मà¥\87ल)नà¥\8bà¤\82द नाही.',
'noemailcreate' => 'आपण वैध विरोप-पत्ता (ई-मेल ऍड्रेस) देणे आवश्यक आहे.',
-'passwordsent' => '"$1" सदस्याच्या ई-मेल पत्त्यावर परवलीचा नवीन शब्द पाठविण्यात आलेला आहे.
-तो शब्द वापरुन पुन्हा प्रवेश करा.',
-'blocked-mailpassword' => 'संपादनापासून तुमच्या अंकपत्त्यास आडविण्यात आले आहे,आणि म्हणून दुरूपयोग टाळ्ण्याच्या दृष्टीने परवलीचाशब्द परत मिळवण्यास सुद्धा मान्यता उपलब्ध नाही.',
+'passwordsent' => '"$1" सदस्याच्या नोंदणी केलेल्या ई-मेल पत्त्यावर परवलीचा नवीन शब्द पाठविण्यात आलेला आहे.
+
+तो मिळाल्यावर पुन्हा सनोंद-प्रवेश करा.',
+'blocked-mailpassword' => 'तुमच्या अंकपत्त्यास संपादनापासून प्रतिबंधित करण्यात आले आहे,आणि म्हणून दुरूपयोग टाळ्ण्याच्या दृष्टीने, परवलीचा शब्द परत मिळवण्याची क्रिया करण्यास आपणास परवानगी नाही.',
'eauthentsent' => 'नामांकित ई-मेल पत्त्यावर एक निश्चितता स्वीकारक ई-मेल पाठविला गेला आहे.
खात्यावर कोणताही इतर ई-मेल पाठविण्यापूर्वी - तो ई-मेल पत्ता तुमचाच आहे, हे सुनिश्चित करण्यासाठी - तुम्हाला त्या ई-मेल मधील सूचनांचे पालन करावे लागेल.',
'throttled-mailpassword' => 'मागील {{PLURAL:$1|तासात|$1 तासांत}} परवलीचा शब्द बदलण्यासाठीची सूचना विपत्राद्वारे पाठविलेली आहे. दुरुपयोग टाळण्यासाठी, {{PLURAL:$1|एका तासामध्ये|$1 तासांमध्ये}} फक्त एकदाच सूचना दिली जाईल.',
'mailerror' => 'विपत्र पाठवण्यात त्रुटी: $1',
'acct_creation_throttle_hit' => 'माफ करा, तुम्ही आत्तापर्यंत {{PLURAL:$1|१ खाते उघडले आहे|$1 खाती उघडली आहेत}}. तुम्हाला आणखी खाती उघडता येणार नाहीत.',
'emailauthenticated' => 'तुमचा विपत्रपत्ता $3 येथे $2 यावेळी तपासण्यात आला आहे.',
-'emailnotauthenticated' => 'तà¥\81मà¤\9aा à¤\88-मà¥\87ल पतà¥\8dता तपासलà¥\87ला नाहà¥\80. à¤\96ालà¥\80ल à¤\95ारà¥\8dयाà¤\82करिता ई-मेल पाठविला जाणार नाही.',
-'noemailprefs' => 'खालील सुविधा कार्यान्वित करण्यासाठी इ-मेल पत्ता पुरवा.',
-'emailconfirmlink' => 'à¤\86पला à¤\88-मà¥\87ल पतà¥\8dता तपासà¥\82न पहा.',
+'emailnotauthenticated' => 'तà¥\81मà¤\9aा à¤\88-मà¥\87ल पतà¥\8dता à¤\85दà¥\8dयाप à¤\85धिपà¥\8dरमाणित(à¤\91थà¥\87à¤\82à¤\9fिà¤\95à¥\87à¤\9fà¥\87ड) नाहà¥\80. à¤\96ालà¥\80ल à¤\95à¥\8bणतà¥\8dयाहà¥\80 फिà¤\9aरà¥\8dसकरिता ई-मेल पाठविला जाणार नाही.',
+'noemailprefs' => 'खालील सुविधा कार्यान्वित करण्यासाठी,पसंतीक्रमात ई-मेल पत्ता नमूद करा.',
+'emailconfirmlink' => 'à¤\86पला à¤\88-मà¥\87ल पतà¥\8dता निशà¥\8dà¤\9aित à¤\95रा.',
'invalidemailaddress' => 'तुम्ही दिलेला ई-मेल पत्ता चुकीचा आहे, कारण तो योग्यप्रकारे लिहिलेला नाही. कृपया योग्यप्रकारे ई-मेल पत्ता लिहा अथवा ती जागा मोकळी सोडा.',
'cannotchangeemail' => 'या विकिवर खात्याचा ईमेल बदलता येत नाही',
'emaildisabled' => 'हे संकेतस्थळ विपत्र पाठवू शकत नाही.',
'accountcreated' => 'खाते उघडले.',
'accountcreatedtext' => '[[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|चर्चा]]) चे सदस्यखाते तयार करण्यात आले आहे.',
-'createaccount-title' => '{{SITENAME}} साठीची सदस्य नोंदणी',
-'createaccount-text' => 'तà¥\81मà¤\9aà¥\8dया विपतà¥\8dर पतà¥\8dतà¥\8dयाà¤\95रिता {{SITENAME}} ($4)वर "$2" नावाà¤\9aà¥\8dया à¤\95à¥\81णà¥\80 "$3" परवलà¥\80नà¥\87 à¤\96ातà¥\87 à¤\89à¤\98डलà¥\87 à¤\86हà¥\87. à¤\95à¥\83पया à¤\86पण सदसà¥\8dय प्रवेश करून आपला परवलीचा शब्द बदलावा.
+'createaccount-title' => '{{SITENAME}} साठी खाते तयार करणे',
+'createaccount-text' => 'तà¥\81मà¤\9aा विपतà¥\8dर पतà¥\8dता à¤\98à¥\87à¤\89न {{SITENAME}} ($4)वर "$2" नावाà¤\9aà¥\8dया à¤\95à¥\8bणà¥\8dया à¤\8fà¤\95ानà¥\87 "$3" परवलà¥\80नà¥\87 à¤\96ातà¥\87 à¤\89à¤\98डलà¥\87 à¤\86हà¥\87. à¤\95à¥\83पया à¤\86पण सनà¥\8bà¤\82द-प्रवेश करून आपला परवलीचा शब्द बदलावा.
-à¤\9cर हà¥\80 नà¥\8bà¤\82दणà¥\80 à¤\9aà¥\81à¤\95िनà¥\87 à¤\9dालà¥\80 à¤\85सà¥\87ल तर तुम्ही या संदेशाकडे दुर्लक्ष करू शकता.',
+à¤\9cर हà¥\80 à¤\96ातà¥\87नà¥\8bà¤\82दणà¥\80 à¤\9aà¥\81à¤\95िनà¥\87 à¤\9dालà¥\80 à¤\85सà¥\87ल तर, तुम्ही या संदेशाकडे दुर्लक्ष करू शकता.',
'usernamehasherror' => 'सदस्यनामात "हॅश" वर्ण असू शकत नाहीत.',
-'login-throttled' => 'तà¥\81मà¥\8dहà¥\80 पà¥\8dरवà¥\87श à¤\95रणà¥\8dयासाठà¥\80 à¤\96à¥\82प प्रयत्न केले आहेत.
-कृपया पुन्हा प्रयत्न करण्याआधी थांबा',
+'login-throttled' => 'तà¥\81मà¥\8dहà¥\80 नà¥\81à¤\95तà¥\87à¤\9a सनà¥\8bà¤\82द- पà¥\8dरवà¥\87शासाठà¥\80 à¤\85नà¥\87à¤\95ानà¥\87à¤\95 प्रयत्न केले आहेत.
+कृपया, पुन्हा प्रयत्न करण्याआधी थोडी उसंत घ्या.',
'login-abort-generic' => 'तुमचा प्रवेश अयशस्वी होऊन रद्द झाला.',
'loginlanguagelabel' => 'भाषा: $1',
-'suspicious-userlogout' => 'तà¥\81मà¤\9aà¥\87 सनà¥\8bà¤\82द-निरà¥\8dà¤\97मन पà¥\8dरतिबà¤\82धित à¤\9dालà¥\87 à¤\95ारण à¤\85सà¥\87 दिसतà¥\87 à¤\95à¥\80 तà¥\87 तà¥\81à¤\9fलà¥\87लà¥\8dया नà¥\8dयाहाळà¤\95ादà¥\8dवारà¥\87 पाठवलà¥\8dया à¤\97à¥\87लà¥\87.',
+'suspicious-userlogout' => 'तà¥\81मà¤\9aà¥\8dया सनà¥\8bà¤\82द-निरà¥\8dà¤\97मनास नà¤\95ार दिलà¥\8dया à¤\97à¥\87ला à¤\95ारण à¤\85सà¥\87 दिसतà¥\87 à¤\95à¥\80 तà¥\80 विनà¤\82तà¥\80 à¤\85न-à¤\85नà¥\81बà¤\82धित(डिसà¤\95नà¥\87à¤\95à¥\8dà¤\9fà¥\87ड) नà¥\8dयाहाळà¤\95ादà¥\8dवारà¥\87 पाठवलà¥\8dया à¤\97à¥\87लà¥\80.',
# Email sending
'php-mail-error-unknown' => 'पीएचपीच्या विपत्र() पर्यायात अज्ञात चूक',
# Change password dialog
'resetpass' => 'परवलीचा शब्द बदला',
-'resetpass_announce' => 'तà¥\81मà¥\8dहà¥\80 à¤\88-मà¥\87ल मधà¥\82न दिलà¥\87लà¥\8dया तातà¥\8dपà¥\81रतà¥\8dया शबà¥\8dदाà¤\82à¤\95ानà¥\87 पà¥\8dरवà¥\87श à¤\95à¥\87लà¥\87ला à¤\86हà¥\87. à¤\86पलà¥\80 सदसà¥\8dय नà¥\8bà¤\82दणà¥\80 पà¥\82रà¥\8dण à¤\95रणà¥\8dयासाठà¥\80 à¤\95à¥\83पया à¤\87थà¥\87 नवà¥\80न परवलà¥\80à¤\9aा शबà¥\8dद दà¥\8dया:',
+'resetpass_announce' => 'तà¥\81मà¥\8dहà¥\80 à¤\88-मà¥\87ल मधà¥\82न दिलà¥\87लà¥\8dया तातà¥\8dपà¥\81रतà¥\8dया शबà¥\8dदाà¤\82à¤\95ानà¥\87 सनà¥\8bà¤\82द पà¥\8dरवà¥\87शित à¤\86हात. à¤\86पला सनà¥\8bà¤\82द-पà¥\8dरवà¥\87श पà¥\82रà¥\8dण à¤\95रणà¥\8dयासाठà¥\80, à¤\95à¥\83पया यà¥\87थà¥\87 नवà¥\80न परवलà¥\80à¤\9aा शबà¥\8dद दà¥\8dया:',
'resetpass_text' => '<!-- मजकूर इथे लिहा -->',
'resetpass_header' => 'खात्याचा परवलीचा शब्द बदला',
'oldpassword' => 'जुना परवलीचा शब्दः',
* @ingroup Language
* @file
*
+ * @author Algazel-ms
* @author Anakmalaysia
* @author Aurora
* @author Aviator
'tog-hidepatrolled' => 'လတ်တလော အပြောင်းအလဲများတွင် အရေးမကြီးသည်များကို ဝှက်ရန်',
'tog-newpageshidepatrolled' => 'လက်တလော အပြောင်းလဲများတွင် စာမျက်နှာသစ်များကို ဝှက်ရန်',
'tog-extendwatchlist' => 'စောင့်ကြည့်စာရင်းတွင် ပြောင်းလဲမှုအားလုံးအား ပြရန်။',
-'tog-usenewrc' => 'á\80\9cá\80\90á\80ºá\80\90á\80\9cá\80±á\80¬á\80\95á\80¼á\80\84á\80ºá\80\86á\80\84á\80ºá\80\91á\80¬á\80¸á\80\99á\80¾á\80¯ á\80\9cá\80¯á\80\95á\80ºá\80\86á\80±á\80¬á\80\84á\80ºá\80\81á\80»á\80\80á\80ºá\80¡á\80¬á\80¸ á\80\90á\80á\80¯á\80¸á\80\99á\80¼á\80¾á\80\84á\80·á\80ºá\80\9bá\80\94á\80º (JavaScript လိုအပ်သည်)',
+'tog-usenewrc' => 'á\80\9cá\80\90á\80ºá\80\90á\80\9cá\80±á\80¬á\80\95á\80¼á\80±á\80¬á\80\84á\80ºá\80¸á\80\9cá\80²á\80\99á\80¾á\80¯á\80\99á\80»á\80¬á\80¸á\80\90á\80½á\80\84á\80º á\80\85á\80¬á\80\99á\80»á\80\80á\80ºá\80\94á\80¾á\80¬á\80¡á\80¬á\80¸á\80\96á\80¼á\80\84á\80·á\80º á\80¡á\80¯á\80\95á\80ºá\80\85á\80¯á\80\9cá\80á\80¯á\80\80á\80ºá\80\95á\80¼á\80±á\80¬á\80\84á\80ºá\80¸á\80\9cá\80²á\80\99á\80¾á\80¯á\80\99á\80»á\80¬á\80¸á\80\94á\80¾á\80\84á\80·á\80º á\80\85á\80±á\80¬á\80\84á\80·á\80ºá\80\80á\80¼á\80\8aá\80·á\80ºá\80\85á\80¬á\80\9bá\80\84á\80ºá\80¸ (JavaScript လိုအပ်သည်)',
'tog-numberheadings' => 'ခေါင်းစဉ်များ အား စေ့ဆော်ချက်အတိုင်း လုပ်ဆောင်ရန်',
'tog-showtoolbar' => 'ပြုပြင်ရန် ကိရိယာများ (JavaScript လိုအပ်သည်)',
'tog-editondblclick' => 'ကလစ်နှစ်ခါနှိပ်လျှင် စာမျက်နှာအားပြုပြင်ပါ (JavaScript လိုအပ်သည်)',
+'tog-editsection' => '[edit] လင့်များဖြင့် အပိုင်းလိုက်တည်းဖြတ်ခြင်းကို အသုံးပြုရန်',
+'tog-editsectiononrightclick' => 'အပိုင်းလိုက်ခေါင်းစဉ်များကို ညာကလစ်နှိပ်ခြင်းဖြင့် အပိုင်းလိုက် တည်းဖြတ်ခြင်းကို အသုံးပြုရန်',
+'tog-showtoc' => 'မာတိကာပြရန် (ခေါင်းစဉ် ၃ ခုအထက်ရှိသော စာမျက်နှာများအတွက်)',
'tog-rememberpassword' => 'ဤကွန်ပျူတာတွင် ကျွန်ုပ်ကိုမှတ်ထားရန် (အများဆုံး $1 {{PLURAL:$1|ရက်|ရက်}}ကြာ)',
-'tog-watchcreations' => 'á\80\80á\80»á\80½á\80\94á\80ºá\80¯á\80\95á\80ºá\80\85á\80\90á\80\84á\80ºá\80\9bá\80±á\80¸á\80\9eá\80¬á\80¸á\80\81á\80²á\80·á\80\9eá\80\8aá\80·á\80ºá\80\85á\80¬á\80\99á\80»á\80\80á\80ºá\80\94á\80¾á\80¬á\80\99á\80»á\80¬á\80¸á\80\80á\80á\80¯ á\80\85á\80±á\80¬á\80\84á\80·á\80ºâ\80\8bá\80\80á\80¼á\80\8aá\80·á\80ºâ\80\8bá\80\85á\80¬â\80\8bá\80\9bá\80\84á\80ºá\80¸â\80\8bá\80\91á\80² á\80\95á\80±á\80«á\80\84á\80ºá\80¸á\80\91á\80\8aá\80·á\80ºá\80\95á\80«',
-'tog-watchdefault' => 'ကျွန်ုပ် တည်းဖြတ်ခဲ့သည့် စာမျက်နှာများကို စောင့်ကြည့်စာရင်းသို့ ပေါင်းထည့်ပါ။',
-'tog-watchmoves' => 'ကျွန်ုပ်ရွှေ့လိုက်သော စာမျက်နှာများကို စောင့်ကြည့်စာရင်းသို့ ပေါင်းထည့်ရန်',
-'tog-watchdeletion' => 'ဖျက်လိုက်သောစာမျက်နှာများကို စောင့်ကြည့်စာရင်သို့ ပေါင်းထည့်ရန်',
+'tog-watchcreations' => 'á\80\80á\80»á\80½á\80\94á\80ºá\80¯á\80\95á\80ºá\80\85á\80\90á\80\84á\80ºá\80\9bá\80±á\80¸á\80\9eá\80¬á\80¸á\80\81á\80²á\80·á\80\9eá\80\8aá\80·á\80ºá\80\85á\80¬á\80\99á\80»á\80\80á\80ºá\80\94á\80¾á\80¬á\80\99á\80»á\80¬á\80¸á\80\94á\80¾á\80\84á\80·á\80º á\80¡á\80\95á\80ºá\80\9cá\80¯á\80\95á\80ºá\80\90á\80\84á\80ºá\80\81á\80²á\80·á\80\9eá\80\8aá\80·á\80º á\80\96á\80á\80¯á\80\84á\80ºá\80\99á\80»á\80¬á\80¸á\80\80á\80á\80¯ á\80\85á\80±á\80¬á\80\84á\80·á\80ºâ\80\8bá\80\80á\80¼á\80\8aá\80·á\80ºâ\80\8bá\80\85á\80¬â\80\8bá\80\9bá\80\84á\80ºá\80¸â\80\8bá\80\91á\80² á\80\95á\80±á\80«á\80\84á\80ºá\80¸á\80\91á\80\8aá\80·á\80ºá\80\9bá\80\94á\80º',
+'tog-watchdefault' => 'á\80\80á\80»á\80½á\80\94á\80ºá\80¯á\80\95á\80º á\80\90á\80\8aá\80ºá\80¸á\80\96á\80¼á\80\90á\80ºá\80\81á\80²á\80·á\80\9eá\80\8aá\80·á\80º á\80\85á\80¬á\80\99á\80»á\80\80á\80ºá\80\94á\80¾á\80¬á\80\99á\80»á\80¬á\80¸á\80\94á\80¾á\80\84á\80·á\80º á\80\96á\80á\80¯á\80\84á\80ºá\80\99á\80»á\80¬á\80¸á\80\80á\80á\80¯ á\80\85á\80±á\80¬á\80\84á\80·á\80ºá\80\80á\80¼á\80\8aá\80·á\80ºá\80\85á\80¬á\80\9bá\80\84á\80ºá\80¸á\80\9eá\80á\80¯á\80· á\80\95á\80±á\80«á\80\84á\80ºá\80¸á\80\91á\80\8aá\80·á\80ºá\80\95á\80«á\81\8b',
+'tog-watchmoves' => 'á\80\80á\80»á\80½á\80\94á\80ºá\80¯á\80\95á\80ºá\80\9bá\80½á\80¾á\80±á\80·á\80\9cá\80á\80¯á\80\80á\80ºá\80\9eá\80±á\80¬ á\80\85á\80¬á\80\99á\80»á\80\80á\80ºá\80\94á\80¾á\80¬á\80\99á\80»á\80¬á\80¸á\80\94á\80¾á\80\84á\80·á\80º á\80\96á\80á\80¯á\80\84á\80ºá\80\99á\80»á\80¬á\80¸á\80\80á\80á\80¯ á\80\85á\80±á\80¬á\80\84á\80·á\80ºá\80\80á\80¼á\80\8aá\80·á\80ºá\80\85á\80¬á\80\9bá\80\84á\80ºá\80¸á\80\9eá\80á\80¯á\80· á\80\95á\80±á\80«á\80\84á\80ºá\80¸á\80\91á\80\8aá\80·á\80ºá\80\9bá\80\94á\80º',
+'tog-watchdeletion' => 'á\80\96á\80»á\80\80á\80ºá\80\9cá\80á\80¯á\80\80á\80ºá\80\9eá\80±á\80¬á\80\85á\80¬á\80\99á\80»á\80\80á\80ºá\80\94á\80¾á\80¬á\80\99á\80»á\80¬á\80¸á\80\94á\80¾á\80\84á\80·á\80º á\80\96á\80á\80¯á\80\84á\80ºá\80\99á\80»á\80¬á\80¸á\80\80á\80á\80¯ á\80\85á\80±á\80¬á\80\84á\80·á\80ºá\80\80á\80¼á\80\8aá\80·á\80ºá\80\85á\80¬á\80\9bá\80\84á\80ºá\80\9eá\80á\80¯á\80· á\80\95á\80±á\80«á\80\84á\80ºá\80¸á\80\91á\80\8aá\80·á\80ºá\80\9bá\80\94á\80º',
'tog-minordefault' => 'တည်းဖြတ်မှုအားလုံးသည် အရေးမကြီးသော တည်းဖြတ်မှုဟု ပုံသေသတ်မှတ်ရန်',
'tog-previewontop' => 'တည်းဖြတ်သည့်အကွက်မတိုင်မီ နမူနာကို ပြရန်',
'tog-previewonfirst' => 'ပထမတည်းဖြတ်မှုတွင် နမူနာကို ပြရန်',
'tog-nocache' => 'ဘရောက်ဇာ၏ page caching သိမ်းဆည်းမှုကို ပိတ်ထားရန်',
-'tog-enotifwatchlistpages' => 'ကျွန်ုပ်၏စောင့်ကြည့်စာရင်းမှ စာမျက်နှာတစ်ခုကို ပြောင်းလဲလိုက်ပါက ကျွနုပ်ဆီ အီးမေးလို့ရန်',
+'tog-enotifwatchlistpages' => 'ကျွန်ုပ်၏စောင့်ကြည့်စာရင်းမှ စာမျက်နှာတစ်ခု သို့မဟုတ် ဖိုင်တစ်ခုကို ပြောင်းလဲလိုက်ပါက ကျွနုပ်ဆီ အီးမေးပို့ရန်',
'tog-enotifusertalkpages' => 'ကျွန်ုပ်၏ဆွေးနွေးချက်စာမျက်နှာ ပြောင်းလဲမှုရှိပါက ကျွန်ုပ်ထံ အီးမေးပို့ရန်',
-'tog-enotifminoredits' => 'စာမျက်နှာများ၏ အရေးမကြီးသော တည်းဖြတ်မှုများကိုလည်း အီးမေးပို့ရန်',
+'tog-enotifminoredits' => 'á\80\85á\80¬á\80\99á\80»á\80\80á\80ºá\80\94á\80¾á\80¬á\80\99á\80»á\80¬á\80¸á\80\94á\80¾á\80\84á\80·á\80º á\80\96á\80á\80¯á\80\84á\80ºá\80\99á\80»á\80¬á\80¸á\81\8f á\80¡á\80\9bá\80±á\80¸á\80\99á\80\80á\80¼á\80®á\80¸á\80\9eá\80±á\80¬ á\80\90á\80\8aá\80ºá\80¸á\80\96á\80¼á\80\90á\80ºá\80\99á\80¾á\80¯á\80\99á\80»á\80¬á\80¸á\80\80á\80á\80¯á\80\9cá\80\8aá\80ºá\80¸ á\80¡á\80®á\80¸á\80\99á\80±á\80¸á\80\95á\80á\80¯á\80·á\80\9bá\80\94á\80º',
'tog-enotifrevealaddr' => ' အသိပေးချက်အီးမေးများတွင် ကျွန်ုပ်၏ အီးမေးလိပ်စာကို ဖော်ပြရန်',
'tog-shownumberswatching' => 'စောင့်ကြည့်နေသော အသုံးပြုသူအရေအတွက်ကို ပြရန်',
'tog-oldsig' => 'ရှိနှင့်ပြီးသား လက်မှတ်၏ နမူနာ -',
+'tog-fancysig' => 'လက်မှတ်ကို ဝီကီလင့်အဖြစ် သတ်မှတ်ရန် (အလိုအလျောက်လင့်မပါဘဲနှင့်)',
'tog-forceeditsummary' => 'တည်းဖြတ်အတိုချုပ် ဗလာဖြစ်နေလျှင် သတိပေးရန်',
'tog-watchlisthideown' => 'ကျွန်ုပ်၏ တည်းဖြတ်မှုများကို စောင့်ကြည့်စာရင်းမှ ဝှက်ထားရန်',
'tog-watchlisthidebots' => 'ဘော့တည်းဖြတ်မှုများကို စောင့်ကြည့်စာရင်းမှ ဝှက်ထားရန်',
'tog-watchlisthideanons' => 'စောင့်ကြည့်စာရင်းမှ အမည်မသိ အသုံးပြုသူများ၏ တည်းဖြတ်မှုများကို ဝှက်ရန်',
'tog-watchlisthidepatrolled' => 'patrolled တည်းဖြတ်မှုများကို စောင့်ကြည့်စာရင်းမှ ဝှက်ထားရန်',
'tog-ccmeonemails' => 'ကျွန်ုပ် အခြားအသုံးပြုသူများထံပို့သော အီးမေးမိတ္တူကို ကျွန်ုပ်ထံ ပြန်ပို့ရန်',
+'tog-diffonly' => 'ကွဲပြားမှုများအောက်ရှိ စာမျက်နှာတွင်ပါဝင်သည်များကို မပြပါနှင့်',
'tog-showhiddencats' => 'ဝှက်ထားသော ကဏ္ဍများကို ပြရန်',
+'tog-useeditwarning' => 'မသိမ်းရသေးသော ပြောင်းလဲမှုများ နှင့် တည်းဖြတ်ဆဲစာမျက်နှာမှ ထွက်သွားလျှင် သတိပေးပါ',
'underline-always' => 'အမြဲ',
'underline-never' => 'ဘယ်သောအခါမျှ',
-'underline-default' => 'ဘရောက်ဆာ default အတိုင်း',
+'underline-default' => 'ဘရောက်ဆာ သို့ Skin default အတိုင်း',
# Font style option in Special:Preferences
'editfont-style' => 'ဖောင့်စတိုင်ကို ပြုပြင်ရန် -',
'oct' => 'အောက်',
'nov' => 'နို',
'dec' => 'ဒီ',
+'january-date' => 'ဇန်နဝါရီ $1',
+'february-date' => 'ဖေဖော်ဝါရီ $1',
+'march-date' => 'မတ် $1',
+'april-date' => 'ဧပြီ $1',
+'may-date' => 'မေ $1',
+'june-date' => 'ဂျွန် $1',
+'july-date' => 'ဂျူလိုင် $1',
+'august-date' => 'ဩဂုတ် $1',
+'september-date' => 'စက်တင်ဘာ $1',
+'october-date' => 'အောက်တိုဘာ $1',
+'november-date' => 'နိုဝင်ဘာ $1',
+'december-date' => 'ဒီဇင်ဘာ $1',
# Categories related messages
'pagecategories' => '{{PLURAL:$1|ကဏ္ဍ|ကဏ္ဍ}}',
'hidden-categories' => '{{PLURAL:$1|ဝှက်ထားသော ကဏ္ဍ|ဝှက်ထားသော ကဏ္ဍများ}}',
'hidden-category-category' => 'ဝှက်ထားသော ကဏ္ဍများ',
'category-subcat-count' => '{{PLURAL:$2|ဤကဏ္ဍတွင် အောက်ပါ ကဏ္ဍခွဲသာ ရှိသည်။ |ဤကဏ္ဍတွင် စုစုပေါင်း $2 ခု အနက်မှ အောက်ပါ {{PLURAL:$1|ကဏ္ဍခွဲ|ကဏ္ဍခွဲ $1 ခု}} ရှိသည်။}}',
+'category-subcat-count-limited' => 'ဤကဏ္ဍတွင် အောက်ပါ {PLURAL:$1|ကဏ္ဍခွဲ|$1 ကဏ္ဍခွဲများ}} ရှိသည်။',
'category-article-count' => '{{PLURAL:$2|ဤကဏ္ဍတွင် အောက်ပါစာမျက်နှာသာ ရှိသည်။|စုစုပေါင်း $2 အနက်မှ အောက်ပါ {{PLURAL:$1|စာမျက်နှာသည်|စာမျက်နှာ $1 ခုသည်}} ဤကဏ္ဍတွင် ရှိသည်။}}',
+'category-article-count-limited' => 'အောက်ပါ{{PLURAL:$1|စာမျက်နှာ|$1 စာမျက်နှာများ}} သည် လက်ရှိကဏ္ဍတွင် ရှိသည်။',
'category-file-count' => '{{PLURAL:$2|ဤကဏ္ဍတွင် အောက်ပါဖိုင်သာ ရှိသည်။|စုစုပေါင်း $2 အနက်မှ အောက်ပါ {{PLURAL:$1|ဖိုင် သည်|ဖိုင် $1 ခုသည်}} ဤကဏ္ဍတွင် ရှိသည်။}}',
+'category-file-count-limited' => 'အောက်ပါ {PLURAL:$1|စာမျက်နှာ|$1 စာမျက်နှာများ}} သည် လက်ရှိစာမျက်နှာတွင် ရှိသည်။',
'listingcontinuesabbrev' => 'ပံ့ပိုး',
'index-category' => 'အက္ခရာစဉ် စာမျက်နှာများ',
'noindex-category' => 'အက္ခရာစဉ် စာမျက်နှာများမရှိ',
'newwindow' => '(ဝင်းဒိုးအသစ်တခုကိုဖွင့်ရန်)',
'cancel' => 'မလုပ်တော့',
'moredotdotdot' => 'နောက်ထပ်...',
-'mypage' => 'ကျွန်ုပ် စာမျက်နှာ',
+'morenotlisted' => 'နောက်ထပ် စာရင်း မရှိပါ...',
+'mypage' => 'စာမျက်နှာ',
'mytalk' => 'ဆွေးနွေးချက်',
'anontalk' => 'ဤ IP address အတွက် ဆွေးနွေးရန်',
'navigation' => 'အညွှန်း',
'vector-action-move' => 'ရွှေ့ပါ',
'vector-action-protect' => 'ထိမ်းသိမ်းပါ',
'vector-action-undelete' => 'မဖျက်တော့ရန်',
-'vector-action-unprotect' => 'မကာကွယ်တော့ရန်',
+'vector-action-unprotect' => 'ကာကွယ်ခြင်းကို ပြောင်းလဲရန်',
+'vector-simplesearch-preference' => 'ရိုးရှင်းသော ရှာဖွေမှုဘားကို အသုံးပြုရန် (Vector skin သာ)',
'vector-view-create' => 'စတင်ရေးသားရန်',
'vector-view-edit' => 'ပြင်ရန်',
'vector-view-history' => 'ရာဇဝင်ကြည့်ရန်',
'page_first' => 'Tùi thâu-chêng',
'page_last' => 'Tùi āu-piah',
'histlegend' => 'Pán-pún pí-phēng: tiám-soán beh pí-phēng ê pán-pún ê liú-á, liáu-āu chhi̍h ENTER a̍h-sī ē-kha hit tè sì-kak.<br />Soat-bêng: (taⁿ) = kap siōng sin pán-pún pí-phēng, (chêng) = kap chêng-1-ê pán-pún pí-phēng, ~ = sió siu-kái.',
+'history-fieldset-title' => '看歷史',
'histfirst' => 'Tùi thâu-chêng',
'histlast' => 'Tùi āu-piah',
'history-feed-item-nocomment' => '$1 tī $2',
# Diffs
+'history-title' => '"$1"的歷史版本',
'lineno' => 'Tē $1 chōa:',
'compareselectedversions' => 'Pí-phēng soán-te̍k ê pán-pún',
'editundo' => 'chhú-siau',
'filehist' => 'Tóng-àn ê le̍k-sú',
'filehist-current' => 'hiān-chāi',
'filehist-datetime' => 'Ji̍t-kî/ Sî-kan',
+'filehist-thumb' => '細張圖',
'filehist-user' => 'Iōng-chiá',
'imagelinks' => 'Iáⁿ-siōng liân-kiat',
'linkstoimage' => 'Í-hā ê ia̍h liân kàu chit ê iáⁿ-siōng:',
# Special:Log
'specialloguserlabel' => 'Iōng-chiá:',
'speciallogtitlelabel' => 'Sû-tiâu:',
+'log' => '記錄',
'logempty' => 'Log lāi-bīn bô sio-tùi ê hāng-bo̍k.',
# Special:AllPages
'confirmdeletetext' => 'Lí tih-beh kā 1 ê ia̍h a̍h-sī iáⁿ-siōng (pau-koat siong-koan ê le̍k-sú) éng-kiú tùi chu-liāu-khò· thâi tiāu. Chhiáⁿ khak-tēng lí àn-sǹg án-ne chò, jī-chhiáⁿ liáu-kái hiō-kó, jī-chhiáⁿ bô ûi-hoán [[{{MediaWiki:Policy-url}}]].',
'actioncomplete' => 'Chip-hêng sêng-kong',
'deletedtext' => '"$1" í-keng thâi tiāu. Tùi $2 khoàⁿ-ē-tio̍h chòe-kīn thâi ê kì-lo̍k.',
+'dellogpage' => '刣頁的記錄',
'dellogpagetext' => 'Í-hā lia̍t chhut chòe-kīn thâi tiāu ê hāng-bo̍k.',
'deletecomment' => 'Lí-iû:',
# What links here
'whatlinkshere' => 'Tó-ūi liân kàu chia',
+'whatlinkshere-page' => '頁:',
'linkshere' => "Í-hā '''[[:$1]]''' liân kàu chia:",
'nolinkshere' => "Bô poàⁿ ia̍h liân kàu '''[[:$1]]'''.",
'isredirect' => 'choán-ia̍h',
Lí ē-sái khoàⁿ i ê goân-sú-bé.',
'tooltip-ca-history' => 'Chit ia̍h ê chá-chêng pán-pún',
'tooltip-ca-delete' => 'Thâi chit ia̍h',
+'tooltip-ca-move' => '徙這頁',
'tooltip-ca-unwatch' => 'Lí ê kàm-sī-toaⁿ soá tiàu chit ia̍h.',
'tooltip-search' => 'Chhoé {{SITENAME}}',
'tooltip-search-fulltext' => 'Chhoé ū chia-ê jī ê ia̍h',
'tooltip-ca-nstab-user' => 'Khoàⁿ iōng-chiá ê Ia̍h',
'tooltip-ca-nstab-image' => 'Khoàⁿ tóng-àn ia̍h',
'tooltip-ca-nstab-category' => 'Khoàⁿ lūi-pia̍t ia̍h',
+'tooltip-minoredit' => '記這是一个小改',
'tooltip-save' => 'Pó-chhûn lí chò ê kái-piàn',
'tooltip-preview' => 'Chhiáⁿ tī pó-chûn chìn-chêng, sian khoàⁿ lí chò ê kái-piàn !',
+'tooltip-watch' => '共這頁加入去你的監視單',
'tooltip-rollback' => 'Ji̍h "Hoê-choán" ē-sái thè tńg-khì téng-chi̍t-ê kái ê lâng ê ia̍h.',
'tooltip-preferences-save' => '保存設定',
'tooltip-summary' => 'Siá chi̍t-ê kán-tan soat-bêng',
'changeemail-submit' => 'Endre e-post',
'changeemail-cancel' => 'Avbryt',
+# Special:ResetTokens
+'resettokens' => 'Nullstill merker',
+'resettokens-no-tokens' => 'Det finnes ingen merker å nullstille.',
+'resettokens-legend' => 'Nullstill merker',
+'resettokens-tokens' => 'Merker:',
+'resettokens-done' => 'Nullstilling av merker.',
+'resettokens-resetbutton' => 'Nullstill valgte merker',
+
# Edit page toolbar
'bold_sample' => 'Fet tekst',
'bold_tip' => 'Fet tekst',
'prefs-signature' => 'Signatur',
'prefs-dateformat' => 'Datoformat',
'prefs-timeoffset' => 'Tidsforskyvning',
-'prefs-advancedediting' => 'Generelt',
+'prefs-advancedediting' => 'Generelle valg',
'prefs-editor' => 'Tekstbehandling',
'prefs-preview' => 'Forhåndsvisning',
'prefs-advancedrc' => 'Avanserte alternativ',
'prefs-displayrc' => 'Visningsalternativer',
'prefs-displaysearchoptions' => 'Visningsalternativer',
'prefs-displaywatchlist' => 'Visningsalternativer',
+'prefs-tokenwatchlist' => 'Merke',
'prefs-diffs' => 'Forskjeller',
# User preference: email validation using jQuery
'feedback-error3' => 'Błąd – brak odpowiedzi API',
'feedback-thanks' => 'Dziękujemy! Twoja opinia została opublikowana na stronie "[$2 $1]".',
'feedback-close' => 'Gotowe',
-'feedback-bugcheck' => 'Świetnie! Tylko sprawdź, czy nie jest już jednym ze [$1 znanych błędów].',
-'feedback-bugnew' => '{{GENDER:|Sprawdziłem|Sprawdziłam}}. Zgłoś nowy błąd',
+'feedback-bugcheck' => 'Świetnie! Tylko sprawdź, czy nie jest to jeden z już [$1 znanych błędów].',
+'feedback-bugnew' => 'Sprawdziłam(łem). Zgłoś nowy błąd',
# Search suggestions
'searchsuggest-search' => 'Szukaj',
'logout' => "Seurte da 'nt ël sistema",
'userlogout' => 'Deconession',
'notloggedin' => 'Nen rintrà ant ël sistema',
+'userlogin-noaccount' => 'Ha-lo nen un cont?',
+'userlogin-joinproject' => "Ch'as gionza a {{SITENAME}}",
'nologin' => 'Ha-lo ancó nen un cont? $1.',
-'nologinlink' => 'creésse un cont.',
-'createaccount' => 'Crea un cont neuv',
-'gotaccount' => "Ha-lo già un sò cont? '''$1'''.",
+'nologinlink' => 'Creé un cont',
+'createaccount' => 'Creé un cont',
+'gotaccount' => 'Ha-lo già un sò cont? $1.',
'gotaccountlink' => 'Rintré ant ël sistema',
'userlogin-resetlink' => "A l'ha dësmentià ij sò detaj për intré ant ël sistema?",
'createaccountmail' => 'për pòsta eletrònica',
'category-empty' => "''No momento esta categoria não possui nenhuma página ou arquivo multimídia.''",
'hidden-categories' => '{{PLURAL:$1|Categoria oculta|Categorias ocultas}}',
'hidden-category-category' => 'Categorias ocultas',
-'category-subcat-count' => '{{PLURAL:$2|Esta categoria possui apenas a subcategoria.|Esta categoria possui as seguintes subcategorias {{PLURAL:$1|subcategoria|$1 subcategorias}}, de $2 do total.}}',
+'category-subcat-count' => '{{PLURAL:$2|Esta categoria possui apenas a seguinte subcategoria.|Esta categoria possui a(s) seguinte(s) {{PLURAL:$1|subcategoria|$1 subcategorias}}, de um total de $2.}}',
'category-subcat-count-limited' => 'Esta categoria possui {{PLURAL:$1|a seguinte sub-categoria|as $1 sub-categorias a seguir}}.',
-'category-article-count' => '{{PLURAL:$2|Esta categoria contém apenas a seguinte página.|A seguinte {{PLURAL:$1|página é|$1 páginas são}} nesta categoria, de $2 do total.}}',
+'category-article-count' => '{{PLURAL:$2|Esta categoria contém apenas a seguinte página.|A(s) seguinte(s) {{PLURAL:$1|página é|$1 páginas são}} nesta categoria, de um total de $2.}}',
'category-article-count-limited' => 'Esta categoria possui {{PLURAL:$1|a seguinte página|as $1 páginas a seguir}}.',
'category-file-count' => '{{PLURAL:$2|Esta categoria possui apenas o seguinte arquivo.|Esta categoria possui {{PLURAL:$1|o seguinte arquivo|os $1 arquivos a seguir}}, de um total de $2.}}',
'category-file-count-limited' => 'Esta categoria possui {{PLURAL:$1|um arquivo|$1 arquivos}}.',
'prefs-editing' => 'Title of a tab in [[Special:Preferences]].
When changing this message, please also update {{msg-mw|vector-editwarning-warning}} which references to this message.
{{Identical|Editing}}',
-'rows' => 'Used on [[Special:Preferences]], "Editing" section in the "Size of editing window" fieldset',
+'rows' => 'Used on [[Special:Preferences]], "Editing" section in the "Size of editing window" fieldset.
+{{Identical|Row}}',
'columns' => 'Used on [[Special:Preferences]], "Editing" section in the "Size of editing window" fieldset',
'searchresultshead' => 'This is the label of the tab in [[Special:Preferences|my preferences]] which contains options for searching the wiki.
'pageinfo-robot-index' => 'An indication that the page is indexable by search engines, that is listed in their search results.',
'pageinfo-robot-noindex' => 'An indication that the page is not indexable (that is, is not listed on the results page of a search engine).',
'pageinfo-views' => 'The number of times the page has been viewed.',
-'pageinfo-watchers' => 'The number of users watching the page.',
+'pageinfo-watchers' => 'Header of the row in the first table of the info action.',
'pageinfo-few-watchers' => 'Message displayed when there are fewer than $wgUnwatchedPageThreshold watchers. $1 is the value of $wgUnwatchedPageThreshold.',
-'pageinfo-redirects-name' => 'Followed by the number of redirects to the page.
+'pageinfo-redirects-name' => 'Header of the row in the first table of the info action.
+Followed by the number of redirects to the page.
Used as link text. The link points to "{{int:Whatlinkshere-title}}" page ([[Special:WhatLinksHere]]).
See example: [{{canonicalurl:Main page|action=info}} Main page?action=info]',
'pageinfo-redirects-value' => '{{Optional}}
Parameters:
* $1 - the number of redirects to the page',
-'pageinfo-subpages-name' => 'Followed by the number of subpages of the page.
+'pageinfo-subpages-name' => 'Header of the row in the first table of the info action.
+Followed by the number of subpages of the page.
Used as link text. The link points to the "{{int:Prefixindex}}" page ([[Special:PrefixIndex]]).
See example: [{{canonicalurl:Main page|action=info}} Main page?action=info]',
'tog-showhiddencats' => 'Прикажи скривене категорије',
'tog-noconvertlink' => 'Онемогући претварање наслова веза',
'tog-norollbackdiff' => 'Изостави разлику након извршеног враћања',
-'tog-useeditwarning' => 'УпозоÑ\80и ме када напÑ\83Ñ\81Ñ\82им Ñ\81Ñ\82Ñ\80аниÑ\86Ñ\83 коÑ\98а ниÑ\98е Ñ\81аÑ\87Ñ\83вана',
+'tog-useeditwarning' => 'УпозоÑ\80и ме када напÑ\83Ñ\88Ñ\82ам Ñ\81Ñ\82Ñ\80аниÑ\86Ñ\83 Ñ\81а неÑ\81аÑ\87Ñ\83ваним пÑ\80оменама',
'underline-always' => 'увек подвлачи',
'underline-never' => 'никад не подвлачи',
'logentry-move-move_redir' => '$1 је {{GENDER:$2|преместио|преместила}} страницу $3 на $4 преко преусмерења',
'logentry-move-move_redir-noredirect' => '$1 је {{GENDER:$2|преместио|преместила}} страницу $3 на $4 преко преусмерења без остављања преусмерења',
'logentry-patrol-patrol' => '$1 {{GENDER:|је означио|је означила|је означио}} измену $4 странице $3 као патролирану',
-'logentry-patrol-patrol-auto' => '$1 је самостално {{GENDER:|означио|означила|означио}} измену $4 странице $3 као прегледану',
+'logentry-patrol-patrol-auto' => '$1 је аутоматски {{GENDER:$2|означио|означила}} измену $4 странице $3 као прегледану',
'logentry-newusers-newusers' => '$1 {{GENDER:|је отворио|је отворила|је отворио}} кориснички налог',
'logentry-newusers-create' => '$1 {{GENDER:|је отворио|је отворила|је отворио}} кориснички налог',
'logentry-newusers-create2' => '$1 {{GENDER:|је отворио|је отворила|је отворио}} кориснички налог $3',
'tog-showhiddencats' => 'Prikaži skrivene kategorije',
'tog-noconvertlink' => 'Onemogući pretvaranje naslova veza',
'tog-norollbackdiff' => 'Izostavi razliku nakon izvršenog vraćanja',
-'tog-useeditwarning' => 'Upozori me kada napustim stranicu sa nesačuvanim promenama',
+'tog-useeditwarning' => 'Upozori me kada napuštam stranicu sa nesačuvanim promenama',
'underline-always' => 'uvek podvlači',
'underline-never' => 'nikad ne podvlači',
'logentry-move-move_redir' => '$1 je {{GENDER:$2|premestio|premestila}} stranicu $3 na $4 preko preusmerenja',
'logentry-move-move_redir-noredirect' => '$1 je {{GENDER:|premestio|premestila}} stranicu $3 na $4 preko preusmerenja bez ostavljanja preusmerenja',
'logentry-patrol-patrol' => '$1 {{GENDER:|je označio|je označila|je označio}} izmenu $4 stranice $3 kao patroliranu',
-'logentry-patrol-patrol-auto' => '$1 je samostalno {{GENDER:|označio|označila|označio}} izmenu $4 stranice $3 kao pregledanu',
+'logentry-patrol-patrol-auto' => '$1 je automatski {{GENDER:$2|označio|označila}} izmenu $4 stranice $3 kao pregledanu',
'logentry-newusers-newusers' => '$1 {{GENDER:|je otvorio|je otvorila|je otvorio}} korisnički nalog',
'logentry-newusers-create' => '$1 {{GENDER:|je otvorio|je otvorila|je otvorio}} korisnički nalog',
'logentry-newusers-create2' => '$1 {{GENDER:|je otvorio|je otvorila|je otvorio}} korisnički nalog $3',
'right-hideuser' => '封禁并隐藏用户名',
'right-ipblock-exempt' => '避开IP封禁、自动封禁和IP段封禁',
'right-proxyunbannable' => '避开代理服务器的自动封禁',
-'right-unblockself' => '解å°\81ä»\96们è\87ªå·±',
+'right-unblockself' => 'è\87ªæ\88\91解å°\81',
'right-protect' => '更改保护级别和编辑受连锁保护的页面',
'right-editprotected' => '编辑页面保护需要“{{int:protect-level-sysop}}”',
'right-editsemiprotected' => '编辑页面保护需要“{{int:protect-level-autoconfirmed}}”',
* @author Littletung
* @author Mark85296341
* @author Oapbtommy
+ * @author Openerror
* @author Pbdragonwang
* @author PhiLiP
* @author Philip
'yourname' => '用戶名:',
'userlogin-yourname' => '用戶名',
'userlogin-yourname-ph' => '輸入你的用戶名',
+'createacct-another-username-ph' => '輸入帳戶名稱',
'yourpassword' => '您的密碼:',
'userlogin-yourpassword' => '密碼',
'userlogin-yourpassword-ph' => '輸入密碼',
'helplogin-url' => 'Help:登入',
'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|登入説明]]',
'createacct-join' => '輸入您的基本資料:',
+'createacct-another-join' => '在下面輸入新帳戶的資訊。',
'createacct-emailrequired' => '電子郵件',
'createacct-emailoptional' => '電子郵件(可選)',
'createacct-email-ph' => '設置電郵地址',
+'createacct-another-email-ph' => '輸入電郵地址',
'createaccountmail' => '使用一個臨時的隨機密碼,並將它發送到以下指定的電子郵件地址',
'createacct-realname' => '真實姓名(可選)',
'createaccountreason' => '理由:',
'createacct-captcha' => '安全驗證',
'createacct-imgcaptcha-ph' => '輸入您在上面看到的字符',
'createacct-submit' => '建立帳戶',
+'createacct-another-submit' => '建立另一個使用者帳號',
'createacct-benefit-heading' => '{{SITENAME}}是由像您一樣的人建立。',
'createacct-benefit-body1' => '{{PLURAL:$1|次編輯|次編輯}}',
'createacct-benefit-body2' => '{{PLURAL:$1|頁頁面|頁頁面}}',
'exif-compression-6' => 'JPEG(舊)',
'exif-copyrighted-true' => '受版權保護',
-'exif-copyrighted-false' => '公共領域',
+'exif-copyrighted-false' => '版權所屬者不明',
'exif-unknowndate' => '未知的日期',
$5
確認碼會在$4過期。',
-'confirmemail_body_set' => '有人,可能是您,來自IP地址$1,已設置的戶口"$2"這個地址{{SITENAME}}網站名稱電郵地址。
+'confirmemail_body_set' => '來自IP地址 $1 的人 (可能是你) 已將帳戶 "$2" 的電郵地址設定為 {{SITENAME}}。
-為了確認這個帳戶確實屬於自己的,重新確認電子郵件功能於{{SITENAME}}網站名稱,請在瀏覽器中打開這個鏈接:
+請用瀏覽器打開以下的連接,以確認你對這個帳戶的擁有權,並將上述電郵地址跟帳戶建立關聯。
$3
$5
-這個確認碼會在$4時過期。',
+確認碼會在這個時間過期:$4',
'confirmemail_invalidated' => '電郵地址確認已取消',
'invalidateemail' => '取消電郵確認',
'version-license' => '授權',
'version-poweredby-credits' => "此維基由'''[//www.mediawiki.org/ MediaWiki]'''驅動,版權所有 © 2001-$1 $2。",
'version-poweredby-others' => '其他',
+'version-poweredby-translators' => 'translatewiki.net 上的翻譯者',
'version-credits-summary' => '我們感謝以下人士為[[Special:Version|MediaWiki]]作出的貢獻。',
'version-license-info' => 'MediaWiki為自由軟件;您可依據自由軟件基金會所發表的GNU通用公共授權條款規定,就本程式再為發佈與/或修改;無論您依據的是本授權的第二版或(您自行選擇的)任一日後發行的版本。
// Attributes for accessibility. This isn't necessary when the toggler is already
// an <a> or a <button> etc., but it doesn't hurt either, and it's consistent.
- $toggleLink.prop( 'tabIndex', 0 ).attr( 'role', 'button' );
+ $toggleLink.prop( 'tabIndex', 0 );
// Initial state
if ( options.collapsed || $collapsible.hasClass( 'mw-collapsed' ) ) {
.addClass( table.config.cssHeader )
.prop( 'tabIndex', 0 )
.attr( {
- role: 'button',
+ role: 'columnheader button',
title: msg[1]
} );
}
}
static function getFakeTimestamp( &$parser, &$ts ) {
- $ts = 123;
+ $ts = 123; //parsed as '1970-01-01T00:02:03Z'
return true;
}
}
b
----
a
-<!--foo--><!--More than 1 comment disables stripping of this line!-->
+<!--foo--><!--More than 1 comment, still stripped-->
+b
+----
+a
+ <!--foo--> <!----> <!-- bar -->
b
----
a
</p>
<hr />
<p>a
-</p><p>b
+b
+</p>
+<hr />
+<p>a
+b
</p>
<hr />
<p>a
b
----
a
- <!--foo--><!--More than 1 comment disables stripping of this line!-->
+ <!--foo--><!--More than 1 comment doesn't disable stripping of this line!-->
b
----
a
</p>
<hr />
<p>a
-</p><p>b
+b
</p>
<hr />
<p>a
!!end
!!test
-Single-comment whitespace lines dont break lists, but multi-comment whitespace lines do
+Single-comment whitespace lines dont break lists, and so do multi-comment whitespace lines
!!input
*a
<!--This line will NOT split the list-->
*b
<!--This line will NOT split the list either-->
*c
- <!--foo--> <!--This line with more than 1 comment will split the list-->
+ <!--foo--> <!----> <!--This line NOT split the list either-->
*d
!!result
<ul><li>a
</li><li>b
</li><li>c
-</li></ul>
-<ul><li>d
+</li><li>d
</li></ul>
!!end
### Magic Words
###
+# Note that the current date is hard-coded as
+# 1970-01-01T00:02:03Z (a Thursday)
+# when running parser tests. The timezone is also fixed to GMT, so
+# local date will be identical to current date.
+
!! test
Magic Word: {{CURRENTDAY}}
!! input
</p>
!! end
+!! test
+Magic Word: {{CURRENTMONTH1}}
+!! input
+{{CURRENTMONTH1}}
+!! result
+<p>1
+</p>
+!! end
+
!! test
Magic Word: {{CURRENTMONTHABBREV}}
!! input
</p>
!! end
+!! test
+Magic Word: {{CURRENTHOUR}}
+!! input
+{{CURRENTHOUR}}
+!! result
+<p>00
+</p>
+!! end
+
!! test
Magic Word: {{CURRENTWEEK}} (@bug 4594)
!! input
</p>
!! end
+!! test
+Magic Word: {{CURRENTTIMESTAMP}}
+!! input
+{{CURRENTTIMESTAMP}}
+!! result
+<p>19700101000203
+</p>
+!! end
+
+!! test
+Magic Words LOCAL (UTC)
+!! input
+* {{LOCALMONTH}}
+* {{LOCALMONTH1}}
+* {{LOCALMONTHNAME}}
+* {{LOCALMONTHNAMEGEN}}
+* {{LOCALMONTHABBREV}}
+* {{LOCALDAY}}
+* {{LOCALDAY2}}
+* {{LOCALDAYNAME}}
+* {{LOCALYEAR}}
+* {{LOCALTIME}}
+* {{LOCALHOUR}}
+* {{LOCALWEEK}}
+* {{LOCALDOW}}
+* {{LOCALTIMESTAMP}}
+!! result
+<ul><li> 01
+</li><li> 1
+</li><li> January
+</li><li> January
+</li><li> Jan
+</li><li> 1
+</li><li> 01
+</li><li> Thursday
+</li><li> 1970
+</li><li> 00:02
+</li><li> 00
+</li><li> 1
+</li><li> 4
+</li><li> 19700101000203
+</li></ul>
+
+!! end
+
!! test
Magic Word: {{FULLPAGENAME}}
!! options
</p>
!! end
+!! test
+Magic Word: {{TALKSPACE}}
+!! options
+title=[[User:Ævar Arnfjörð Bjarmason]]
+!! input
+{{TALKSPACE}}
+!! result
+<p>User talk
+</p>
+!! end
+
+!! test
+Magic Word: {{TALKSPACE}}, same namespace
+!! options
+title=[[User talk:Ævar Arnfjörð Bjarmason]]
+!! input
+{{TALKSPACE}}
+!! result
+<p>User talk
+</p>
+!! end
+
+!! test
+Magic Word: {{TALKSPACE}}, main namespace
+!! options
+title=[[Parser Test]]
+!! input
+{{TALKSPACE}}
+!! result
+<p>Talk
+</p>
+!! end
+
+!! test
+Magic Word: {{TALKSPACEE}}
+!! options
+title=[[User:Ævar Arnfjörð Bjarmason]]
+!! input
+{{TALKSPACEE}}
+!! result
+<p>User_talk
+</p>
+!! end
+
+!! test
+Magic Word: {{SUBJECTSPACE}}
+!! options
+title=[[User talk:Ævar Arnfjörð Bjarmason]]
+!! input
+{{SUBJECTSPACE}}
+!! result
+<p>User
+</p>
+!! end
+
+!! test
+Magic Word: {{SUBJECTSPACE}}, same namespace
+!! options
+title=[[User:Ævar Arnfjörð Bjarmason]]
+!! input
+{{SUBJECTSPACE}}
+!! result
+<p>User
+</p>
+!! end
+
+!! test
+Magic Word: {{SUBJECTSPACE}}, main namespace
+!! options
+title=[[Parser Test]]
+!! input
+{{SUBJECTSPACE}}
+!! result
+
+!! end
+
+!! test
+Magic Word: {{SUBJECTSPACEE}}
+!! options
+title=[[User talk:Ævar Arnfjörð Bjarmason]]
+!! input
+{{SUBJECTSPACEE}}
+!! result
+<p>User
+</p>
+!! end
+
!! test
Magic Word: {{NAMESPACE}}
!! options
</p>
!! end
+!! test
+Magic Word: {{SUBPAGENAME}}
+!! options
+title=[[Ævar Arnfjörð Bjarmason/sub ö]] subpage
+!! input
+{{SUBPAGENAME}}
+!! result
+<p>sub ö
+</p>
+!! end
+
+!! test
+Magic Word: {{SUBPAGENAMEE}}
+!! options
+title=[[Ævar Arnfjörð Bjarmason/sub ö]] subpage
+!! input
+{{SUBPAGENAMEE}}
+!! result
+<p>sub_%C3%B6
+</p>
+!! end
+
+!! test
+Magic Word: {{ROOTPAGENAME}}
+!! options
+title=[[Ævar Arnfjörð Bjarmason/sub/sub2]] subpage
+!! input
+{{ROOTPAGENAME}}
+!! result
+<p>Ævar Arnfjörð Bjarmason
+</p>
+!! end
+
+!! test
+Magic Word: {{ROOTPAGENAMEE}}
+!! options
+title=[[Ævar Arnfjörð Bjarmason/sub/sub2]] subpage
+!! input
+{{ROOTPAGENAMEE}}
+!! result
+<p>%C3%86var_Arnfj%C3%B6r%C3%B0_Bjarmason
+</p>
+!! end
+
+!! test
+Magic Word: {{BASEPAGENAME}}
+!! options
+title=[[Ævar Arnfjörð Bjarmason/sub]] subpage
+!! input
+{{BASEPAGENAME}}
+!! result
+<p>Ævar Arnfjörð Bjarmason
+</p>
+!! end
+
+!! test
+Magic Word: {{BASEPAGENAMEE}}
+!! options
+title=[[Ævar Arnfjörð Bjarmason/sub]] subpage
+!! input
+{{BASEPAGENAMEE}}
+!! result
+<p>%C3%86var_Arnfj%C3%B6r%C3%B0_Bjarmason
+</p>
+!! end
+
+!! test
+Magic Word: {{TALKPAGENAME}}
+!! options
+title=[[User:Ævar Arnfjörð Bjarmason]]
+!! input
+{{TALKPAGENAME}}
+!! result
+<p>User talk:Ævar Arnfjörð Bjarmason
+</p>
+!! end
+
+!! test
+Magic Word: {{TALKPAGENAMEE}}
+!! options
+title=[[User:Ævar Arnfjörð Bjarmason]]
+!! input
+{{TALKPAGENAMEE}}
+!! result
+<p>User_talk:%C3%86var_Arnfj%C3%B6r%C3%B0_Bjarmason
+</p>
+!! end
+
+!! test
+Magic Word: {{SUBJECTPAGENAME}}
+!! options
+title=[[User talk:Ævar Arnfjörð Bjarmason]]
+!! input
+{{SUBJECTPAGENAME}}
+!! result
+<p>User:Ævar Arnfjörð Bjarmason
+</p>
+!! end
+
+!! test
+Magic Word: {{SUBJECTPAGENAMEE}}
+!! options
+title=[[User talk:Ævar Arnfjörð Bjarmason]]
+!! input
+{{SUBJECTPAGENAMEE}}
+!! result
+<p>User:%C3%86var_Arnfj%C3%B6r%C3%B0_Bjarmason
+</p>
+!! end
+
!! test
Magic Word: {{NUMBEROFFILES}}
!! input
</p>
!! end
+!! test
+Magic Word: {{STYLEPATH}}
+!! input
+{{STYLEPATH}}
+!! result
+<p>/skins
+</p>
+!! end
+
!! test
Magic Word: {{SERVER}}
!! input
!! test
Say the magic word
+!! options
+title=[[Parser test]]
!! input
* {{PAGENAME}}
+* {{PAGENAMEE}}
+* {{FULLPAGENAME}}
+* {{FULLPAGENAMEE}}
* {{BASEPAGENAME}}
+* {{BASEPAGENAMEE}}
* {{SUBPAGENAME}}
* {{SUBPAGENAMEE}}
* {{ROOTPAGENAME}}
* {{ROOTPAGENAMEE}}
-* {{BASEPAGENAME}}
-* {{BASEPAGENAMEE}}
* {{TALKPAGENAME}}
* {{TALKPAGENAMEE}}
* {{SUBJECTPAGENAME}}
* {{SUBJECTPAGENAMEE}}
* {{NAMESPACEE}}
* {{NAMESPACE}}
+* {{NAMESPACENUMBER}}
* {{TALKSPACE}}
* {{TALKSPACEE}}
* {{SUBJECTSPACE}}
* {{Dynamic|{{NUMBEROFUSERS}}|{{NUMBEROFPAGES}}|{{CURRENTVERSION}}|{{CONTENTLANGUAGE}}|{{DIRECTIONMARK}}|{{CURRENTTIMESTAMP}}|{{NUMBEROFARTICLES}}}}
!! result
<ul><li> Parser test
+</li><li> Parser_test
</li><li> Parser test
+</li><li> Parser_test
</li><li> Parser test
</li><li> Parser_test
</li><li> Parser test
</li><li> Parser_test
</li><li>
</li><li>
+</li><li> 0
</li><li> Talk
</li><li> Talk
</li><li>
$this->mConf = new SiteConfiguration;
- $this->mConf->suffixes = array( 'wiki' );
+ $this->mConf->suffixes = array( 'wikipedia' => 'wiki' );
$this->mConf->wikis = array( 'enwiki', 'dewiki', 'frwiki' );
$this->mConf->settings = array(
'simple' => array(