Version 0.7 adds a unique identity constraint for both page and
revision identifiers. See also bug 4220.
Fix type for <ns> from "positiveInteger" to "nonNegativeInteger" to allow 0
+ Moves <logitem> to its right location.
The canonical URL to the schema document is:
http://www.mediawiki.org/xml/export-0.7.xsd
minOccurs="0" maxOccurs="1"/>
<element name="page" type="mw:PageType"
minOccurs="0" maxOccurs="unbounded"/>
+ <element name="logitem" type="mw:LogItemType"
+ minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="version" type="string" use="required"/>
<attribute ref="xml:lang" use="required"/>
<choice minOccurs="0" maxOccurs="unbounded">
<element name="revision" type="mw:RevisionType" />
<element name="upload" type="mw:UploadType" />
- <element name="logitem" type="mw:LogItemType" />
</choice>
<!-- Zero or One sets of discussion threading data -->
<element name="comment" type="mw:CommentType" minOccurs="0"/>
<element name="type" type="string" />
<element name="action" type="string" />
- <element name="text" type="mw:TextType" />
+ <element name="text" type="mw:LogTextType" minOccurs="0" maxOccurs="1" />
+ <element name="logtitle" type="string" minOccurs="0" maxOccurs="1" />
+ <element name="params" type="mw:LogParamsType" minOccurs="0" maxOccurs="1" />
</sequence>
</complexType>
</simpleContent>
</complexType>
+ <complexType name="LogTextType">
+ <simpleContent>
+ <extension base="string">
+ <!-- This allows deleted=deleted on non-empty elements, but XSD is not omnipotent -->
+ <attribute name="deleted" use="optional" type="mw:DeletedFlagType"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+
+ <complexType name="LogParamsType">
+ <simpleContent>
+ <extension base="string">
+ <attribute ref="xml:space" use="optional" default="preserve" />
+ </extension>
+ </simpleContent>
+ </complexType>
+
<complexType name="ContributorType">
<sequence>
<element name="username" type="string" minOccurs="0"/>
<element name="contributor" type="mw:ContributorType"/>
<element name="comment" type="string" minOccurs="0"/>
- <!-- Filename. (Using underscores, not spaces. No 'Image:' namespace marker.) -->
+ <!-- Filename. (Using underscores, not spaces. No 'File:' namespace marker.) -->
<element name="filename" type="string"/>
<!-- URI at which this resource can be obtained -->
-<mediawiki xmlns="http://www.mediawiki.org/xml/export-0.4/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mediawiki.org/xml/export-0.4/ http://www.mediawiki.org/xml/export-0.4.xsd" version="0.4" xml:lang="en">
-
-<!-- Optional global configuration info -->
-<siteinfo>
- <!-- Site name, as set in $wgSitename -->
- <sitename>DemoWiki</sitename>
+<mediawiki xmlns="http://www.mediawiki.org/xml/export-0.7/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mediawiki.org/xml/export-0.7/ http://www.mediawiki.org/xml/export-0.7.xsd" version="0.7" xml:lang="en">
- <!-- Forgot where you got this set? -->
- <base>http://example.com/wiki/Main_Page</base>
-
- <!-- Source software version -->
- <generator>MediaWiki 1.5.0</generator>
-
- <!-- Title case sensitivity options of the wiki this data came from -->
- <!-- May be 'first-letter', 'case-sensitive', or 'case-insensitive' -->
- <case>first-letter</case>
-
- <!-- Defined namespace keys on the source wiki. -->
- <!-- Titles can be substring-split to obtain the symbolic numeric key -->
- <namespaces>
- <namespace key="-2">Media</namespace>
- <namespace key="-1">Special</namespace>
- <namespace key="0"></namespace>
- <namespace key="1">Talk</namespace>
- <namespace key="2">User</namespace>
- <namespace key="3">User talk</namespace>
- <namespace key="4">DemoWiki</namespace>
- <namespace key="5">DemoWIki talk</namespace>
- <namespace key="6">Image</namespace>
- <namespace key="7">Image talk</namespace>
- <namespace key="8">MediaWiki</namespace>
- <namespace key="9">MediaWiki talk</namespace>
- <namespace key="10">Template</namespace>
- <namespace key="11">Template talk</namespace>
- <namespace key="12">Help</namespace>
- <namespace key="13">Help talk</namespace>
- <namespace key="14">Category</namespace>
- <namespace key="15">Category talk</namespace>
- </namespaces>
-</siteinfo>
-
-<!-- The rest of the data will be a series of page records -->
-<page>
- <!-- Titles are listed here in text form, with namespace prefix -->
- <!-- if any, and spaces rather than the underscores used in URLs. -->
- <title>Page title</title>
+ <!-- Optional global configuration info -->
+ <siteinfo>
+ <!-- Site name, as set in $wgSitename -->
+ <sitename>DemoWiki</sitename>
+
+ <!-- Forgot where you got this set? -->
+ <base>http://example.com/wiki/Main_Page</base>
+
+ <!-- Source software version -->
+ <generator>MediaWiki 1.20</generator>
+
+ <!-- Title case sensitivity options of the wiki this data came from -->
+ <!-- May be 'first-letter', 'case-sensitive', or 'case-insensitive' -->
+ <case>first-letter</case>
+
+ <!-- Defined namespace keys on the source wiki. -->
+ <namespaces>
+ <namespace key="-2" case="first-letter">Media</namespace>
+ <namespace key="-1" case="first-letter">Special</namespace>
+ <namespace key="0" case="first-letter" />
+ <namespace key="1" case="first-letter">Talk</namespace>
+ <namespace key="2" case="first-letter">User</namespace>
+ <namespace key="3" case="first-letter">User talk</namespace>
+ <namespace key="4" case="first-letter">DemoWiki</namespace>
+ <namespace key="5" case="first-letter">DemoWIki talk</namespace>
+ <namespace key="6" case="first-letter">File</namespace>
+ <namespace key="7" case="first-letter">File talk</namespace>
+ <namespace key="8" case="first-letter">MediaWiki</namespace>
+ <namespace key="9" case="first-letter">MediaWiki talk</namespace>
+ <namespace key="10" case="first-letter">Template</namespace>
+ <namespace key="11" case="first-letter">Template talk</namespace>
+ <namespace key="12" case="first-letter">Help</namespace>
+ <namespace key="13" case="first-letter">Help talk</namespace>
+ <namespace key="14" case="first-letter">Category</namespace>
+ <namespace key="15" case="first-letter">Category talk</namespace>
+ </namespaces>
+ </siteinfo>
- <!-- The page's immutable page_id number in the source database. -->
- <!-- Page ID numbers are kept across page moves, but may change -->
- <!-- if a page is deleted and recreated. -->
- <id>1</id>
-
- <!-- Tag wether this article is a redirect -->
- <!-- This corresponds to the page_is_redirect in the page table -->
- <redirect />
+ <!-- The rest of the data will be a series of page records -->
+ <page>
+ <!-- Titles are listed here in text form, with namespace prefix -->
+ <!-- if any, and spaces rather than the underscores used in URLs. -->
+ <title>Page title</title>
+
+ <!-- Namespace in canonical form -->
+ <ns>0</ns>
+
+ <!-- The page's immutable page_id number in the source database. -->
+ <!-- Page ID numbers are kept across page moves, but may change -->
+ <!-- if a page is deleted and recreated. -->
+ <id>1</id>
+
+ <!-- Tag wether this article is a redirect and its target -->
+ <!-- This corresponds to the page_is_redirect in the page table -->
+ <redirect title="Target" />
+
+ <!-- If restricted, the ACL is listed here raw. -->
+ <restrictions>edit=sysop:move=sysop</restrictions>
+
+ <!-- With a series of revision records... -->
+
+ <!-- Remember this is XML; if you must use a regex-based extractor -->
+ <!-- in place of a standard XML parser, be very careful. -->
+ <!-- * Don't forget to decode character entities! -->
+ <!-- * If using a 'loose' XML parser, ensure that whitespace is -->
+ <!-- preserved in the <text> elements. -->
+ <revision>
+ <!-- Unique revision ID number (rev_id) in the source database. -->
+ <!-- This number uniquely identifies the revision on that wiki. -->
+ <id>100</id>
+ <timestamp>2001-01-15T13:15:00Z</timestamp>
+ <contributor>
+ <username>Foobar</username>
+ <id>42</id>
+ </contributor>
+ <minor />
+ <comment>I have just one thing to say!</comment>
+ <sha1>5x0ux8iwjrbmfzgv6pkketxgkcnpr7h</sha1>
+ <text xml:space="preserve" bytes="25">A bunch of [[text]] here.</text>
+ </revision>
+
+ <revision>
+ <timestamp>2001-01-15T13:10:27Z</timestamp>
+ <contributor>
+ <ip>10.0.0.2</ip>
+ </contributor>
+ <comment>new!</comment>
+ <sha1>etaxt3shcge6igz1biwy3d4um2pnle4</sha1>
+ <text xml:space="preserve" bytes="24">An earlier [[revision]].</text>
+ </revision>
+ </page>
- <!-- If restricted, the ACL is listed here raw. -->
- <restrictions>edit=sysop:move=sysop</restrictions>
+ <page>
+ <title>Talk:Page title</title>
+ <ns>1</ns>
+ <id>2</id>
+ <revision>
+ <id>101</id>
+ <timestamp>2001-01-15T14:03:00Z</timestamp>
+ <contributor><ip>10.0.0.2</ip></contributor>
+ <comment>hey</comment>
+ <sha1>ml80vmyjlixdstnywwihx003exfzq9j</sha1>
+ <text xml:space="preserve" bytes="47">WHYD YOU LOCK PAGE??!!! i was editing that jerk</text>
+ </revision>
+ </page>
- <!-- With a series of revision records... -->
+ <page>
+ <title>File:Some image.jpg</title>
+ <ns>6</ns>
+ <id>3</id>
+ <revision>
+ <id>102</id>
+ <timestamp>2001-01-15T20:34:12Z</timestamp>
+ <contributor><username>Foobar</username><id>42</id></contributor>
+ <comment>My awesomeest image!</comment>
+ <sha1>mehom37npwkpzhaiwu3wyr0egalumki</sha1>
+ <text xml:space="preserve" bytes="52">This is an awesome little imgae. I lurves it. {{PD}}</text>
+ </revision>
+ <upload>
+ <timestamp>2001-01-15T20:34:12Z</timestamp>
+ <contributor><username>Foobar</username><id>42</id></contributor>
+ <comment>My awesomeest image!</comment>
+ <filename>Some_image.jpg</filename>
+ <src>http://upload.wikimedia.org/commons/2/22/Some_image.jpg</src>
+ <size>12345</size>
+ </upload>
+ </page>
- <!-- Remember this is XML; if you must use a regex-based extractor -->
- <!-- in place of a standard XML parser, be very careful. -->
- <!-- * Don't forget to decode character entities! -->
- <!-- * If using a 'loose' XML parser, ensure that whitespace is -->
- <!-- preserved in the <text> elements. -->
- <revision>
- <!-- Unique revision ID number (rev_id) in the source database. -->
- <!-- This number uniquely identifies the revision on that wiki. -->
- <id>100</id>
-
- <timestamp>2001-01-15T13:15:00Z</timestamp>
- <contributor><username>Foobar</username><id>42</id></contributor>
- <minor />
- <comment>I have just one thing to say!</comment>
- <text xml:space="preserve">A bunch of [[text]] here.</text>
- </revision>
+ <!-- or a series of logitem records, but normaly page and logitem never exist both in one file -->
+ <logitem>
+ <id>15</id>
+ <timestamp>2008-10-23T03:20:32Z</timestamp>
+ <contributor>
+ <username>Wikimedian</username>
+ <id>12345</id>
+ </contributor>
+ <comment>content was: 'I think this was a silly edit'</comment>
+ <type>delete</type>
+ <action>delete</action>
+ <logtitle>Silly page name</logtitle>
+ <params xml:space="preserve" />
+ </logitem>
- <revision>
- <timestamp>2001-01-15T13:10:27Z</timestamp>
- <contributor><ip>10.0.0.2</ip></contributor>
- <comment>new!</comment>
- <text xml:space="preserve">An earlier [[revision]].</text>
- </revision>
-</page>
-
-<page>
- <title>Talk:Page title</title>
- <id>2</id>
- <revision>
- <id>101</id>
- <timestamp>2001-01-15T14:03:00Z</timestamp>
- <contributor><ip>10.0.0.2</ip></contributor>
- <comment>hey</comment>
- <text xml:space="preserve">WHYD YOU LOCK PAGE??!!! i was editing that jerk</text>
- </revision>
-</page>
-
-<page>
- <title>Image:Some image.jpg</title>
- <id>3</id>
- <revision>
- <id>102</id>
- <timestamp>2001-01-15T20:34:12Z</timestamp>
- <contributor><username>Foobar</username><id>42</id></contributor>
- <comment>My awesomeest image!</comment>
- <text xml:space="preserve">This is an awesome little imgae. I lurves it. {{PD}}</text>
- </revision>
- <upload>
- <timestamp>2001-01-15T20:34:12Z</timestamp>
- <contributor><username>Foobar</username><id>42</id></contributor>
- <comment>My awesomeest image!</comment>
- <filename>Some_image.jpg</filename>
- <src>http://upload.wikimedia.org/commons/2/22/Some_image.jpg</src>
- <size>12345</size>
- </upload>
-</page>
-
-<logitem>
- <id>15</id>
- <timestamp>2008-10-23T03:20:32Z</timestamp>
- <contributor>
- <username>Wikimedian</username>
- <id>12345</id>
- </contributor>
- <comment>content was: 'I think this was a silly edit'</comment>
- <type>delete</type>
- <action>delete</action>
- <logtitle>Silly page name</logtitle>
- <params xml:space="preserve" />
-</logitem>
-
-
</mediawiki>
} elseif ( self::isCommandLine() ) {
MWExceptionHandler::printError( $this->getText() );
} else {
+ header( "HTTP/1.1 500 MediaWiki exception" );
+ header( "Status: 500 MediaWiki exception", true );
+
$this->reportHTML();
}
}
$out .= " " . Xml::elementClean( 'comment', array(), strval( $row->rev_comment ) ) . "\n";
}
+ if ( $row->rev_sha1 && !( $row->rev_deleted & Revision::DELETED_TEXT ) ) {
+ $out .= " " . Xml::element('sha1', null, strval( $row->rev_sha1 ) ) . "\n";
+ } else {
+ $out .= " <sha1/>\n";
+ }
+
$text = '';
if ( $row->rev_deleted & Revision::DELETED_TEXT ) {
$out .= " " . Xml::element( 'text', array( 'deleted' => 'deleted' ) ) . "\n";
"" ) . "\n";
}
- if ( $row->rev_sha1 && !( $row->rev_deleted & Revision::DELETED_TEXT ) ) {
- $out .= " " . Xml::element('sha1', null, strval( $row->rev_sha1 ) ) . "\n";
- } else {
- $out .= " <sha1/>\n";
- }
-
wfRunHooks( 'XmlDumpWriterWriteRevision', array( &$this, &$out, $row, $text ) );
$out .= " </revision>\n";
function writeLogItem( $row ) {
wfProfileIn( __METHOD__ );
- $out = " <logitem>\n";
- $out .= " " . Xml::element( 'id', null, strval( $row->log_id ) ) . "\n";
+ $out = " <logitem>\n";
+ $out .= " " . Xml::element( 'id', null, strval( $row->log_id ) ) . "\n";
- $out .= $this->writeTimestamp( $row->log_timestamp );
+ $out .= $this->writeTimestamp( $row->log_timestamp, " " );
if ( $row->log_deleted & LogPage::DELETED_USER ) {
- $out .= " " . Xml::element( 'contributor', array( 'deleted' => 'deleted' ) ) . "\n";
+ $out .= " " . Xml::element( 'contributor', array( 'deleted' => 'deleted' ) ) . "\n";
} else {
- $out .= $this->writeContributor( $row->log_user, $row->user_name );
+ $out .= $this->writeContributor( $row->log_user, $row->user_name, " " );
}
if ( $row->log_deleted & LogPage::DELETED_COMMENT ) {
- $out .= " " . Xml::element( 'comment', array( 'deleted' => 'deleted' ) ) . "\n";
+ $out .= " " . Xml::element( 'comment', array( 'deleted' => 'deleted' ) ) . "\n";
} elseif ( $row->log_comment != '' ) {
- $out .= " " . Xml::elementClean( 'comment', null, strval( $row->log_comment ) ) . "\n";
+ $out .= " " . Xml::elementClean( 'comment', null, strval( $row->log_comment ) ) . "\n";
}
- $out .= " " . Xml::element( 'type', null, strval( $row->log_type ) ) . "\n";
- $out .= " " . Xml::element( 'action', null, strval( $row->log_action ) ) . "\n";
+ $out .= " " . Xml::element( 'type', null, strval( $row->log_type ) ) . "\n";
+ $out .= " " . Xml::element( 'action', null, strval( $row->log_action ) ) . "\n";
if ( $row->log_deleted & LogPage::DELETED_ACTION ) {
- $out .= " " . Xml::element( 'text', array( 'deleted' => 'deleted' ) ) . "\n";
+ $out .= " " . Xml::element( 'text', array( 'deleted' => 'deleted' ) ) . "\n";
} else {
$title = Title::makeTitle( $row->log_namespace, $row->log_title );
- $out .= " " . Xml::elementClean( 'logtitle', null, self::canonicalTitle( $title ) ) . "\n";
- $out .= " " . Xml::elementClean( 'params',
+ $out .= " " . Xml::elementClean( 'logtitle', null, self::canonicalTitle( $title ) ) . "\n";
+ $out .= " " . Xml::elementClean( 'params',
array( 'xml:space' => 'preserve' ),
strval( $row->log_params ) ) . "\n";
}
- $out .= " </logitem>\n";
+ $out .= " </logitem>\n";
wfProfileOut( __METHOD__ );
return $out;
* @param $timestamp string
* @return string
*/
- function writeTimestamp( $timestamp ) {
+ function writeTimestamp( $timestamp, $indent = " " ) {
$ts = wfTimestamp( TS_ISO_8601, $timestamp );
- return " " . Xml::element( 'timestamp', null, $ts ) . "\n";
+ return $indent . Xml::element( 'timestamp', null, $ts ) . "\n";
}
/**
* @param $text string
* @return string
*/
- function writeContributor( $id, $text ) {
- $out = " <contributor>\n";
+ function writeContributor( $id, $text, $indent = " " ) {
+ $out = $indent . "<contributor>\n";
if ( $id || !IP::isValid( $text ) ) {
- $out .= " " . Xml::elementClean( 'username', null, strval( $text ) ) . "\n";
- $out .= " " . Xml::element( 'id', null, strval( $id ) ) . "\n";
+ $out .= $indent . " " . Xml::elementClean( 'username', null, strval( $text ) ) . "\n";
+ $out .= $indent . " " . Xml::element( 'id', null, strval( $id ) ) . "\n";
} else {
- $out .= " " . Xml::elementClean( 'ip', null, strval( $text ) ) . "\n";
+ $out .= $indent . " " . Xml::elementClean( 'ip', null, strval( $text ) ) . "\n";
}
- $out .= " </contributor>\n";
+ $out .= $indent . "</contributor>\n";
return $out;
}
}
if ( $limit && version_compare( PHP_VERSION, '5.4.0', '>=' ) ) {
- return array_slice( debug_backtrace( DEBUG_BACKTRACE_PROVIDE_OBJECT, $limit ), 1 );
+ return array_slice( debug_backtrace( DEBUG_BACKTRACE_PROVIDE_OBJECT, $limit + 1 ), 1 );
} else {
return array_slice( debug_backtrace(), 1 );
}
/**
* Get the name of the function which called this function
+ * wfGetCaller( 1 ) is the function with the wfGetCaller() call (ie. __FUNCTION__)
+ * wfGetCaller( 2 ) [default] is the caller of the function running wfGetCaller()
+ * wfGetCaller( 3 ) is the parent of that.
*
* @param $level Int
* @return Bool|string
*/
function wfGetCaller( $level = 2 ) {
- $backtrace = wfDebugBacktrace( $level );
+ $backtrace = wfDebugBacktrace( $level + 1 );
if ( isset( $backtrace[$level] ) ) {
return wfFormatStackFrame( $backtrace[$level] );
} else {
$this->mTitle = $title;
$this->mId = $title->getArticleID();
+ if ( !$this->mId ) {
+ throw new MWException( "The Title object did not provide an article ID. Perhaps the page doesn't exist?" );
+ }
+
$this->mParserOutput = $parserOutput;
$this->mLinks = $parserOutput->getLinks();
$this->mImages = $parserOutput->getImages();
$headers = array();
foreach( $this->mVaryHeader as $header => $option ) {
$newheader = $header;
- if( is_array( $option ) ) {
+ if ( is_array( $option ) && count( $option ) > 0 ) {
$newheader .= ';' . implode( ';', $option );
}
$headers[] = $newheader;
'page_namespace',
'page_title',
'page_id',
- 'page_latest'
+ 'page_latest',
+ 'page_is_redirect',
+ 'page_len',
);
}
}
public function getHTML() {
- $difflink = $this->getDiffLink();
+ $difflink = wfMessage( 'parentheses' )->rawParams( $this->getDiffLink() );
$revlink = $this->getRevisionLink();
$userlink = Linker::revUserLink( $this->revision );
$comment = Linker::revComment( $this->revision );
if ( $this->isDeleted() ) {
$revlink = "<span class=\"history-deleted\">$revlink</span>";
}
- return "<li>($difflink) $revlink $userlink $comment</li>";
+ return "<li>$difflink $revlink $userlink $comment</li>";
}
}
$this->mTitle->resetArticleID( 0 );
}
+ public function getDeletionUpdates() {
+ $updates = array(
+ new LinksDeletionUpdate( $this ),
+ );
+
+ //@todo: make a hook to add update objects
+ //NOTE: deletion updates will be determined by the ContentHandler in the future
+ return $updates;
+ }
+
/**
* Roll back the most recent consecutive set of edits to a page
* from the same user; fails if there are no eligible edits to
global $wgUser;
return $this->isParserCacheUsed( ParserOptions::newFromUser( $wgUser ), $oldid );
}
-
- public function getDeletionUpdates() {
- $updates = array(
- new LinksDeletionUpdate( $this ),
- );
-
- //@todo: make a hook to add update objects
- //NOTE: deletion updates will be determined by the ContentHandler in the future
- return $updates;
- }
}
class PoolWorkArticleView extends PoolCounterWork {
// Check to see if there was already a deprecation notice, so not to
// get a duplicate warning
$logCount = count( self::$log );
+ $caller = wfGetCaller( $callerOffset + 1 );
if ( $logCount ) {
$lastLog = self::$log[ $logCount - 1 ];
- if ( $lastLog['type'] == 'deprecated' && $lastLog['caller'] == wfGetCaller( $callerOffset + 1 ) ) {
+ if ( $lastLog['type'] == 'deprecated' && $lastLog['caller'] == $caller ) {
return;
}
}
self::$log[] = array(
'msg' => htmlspecialchars( $msg ),
'type' => 'warn',
- 'caller' => wfGetCaller( $callerOffset ),
+ 'caller' => $caller,
);
}
}
public function getHTML() {
- $difflink = $this->getDiffLink();
+ $difflink = wfMessage( 'parentheses' )->rawParams( $this->getDiffLink() );
$revlink = $this->getRevisionLink();
$userlink = Linker::revUserLink( $this->revision );
$comment = Linker::revComment( $this->revision );
if ( $this->isDeleted() ) {
$revlink = "<span class=\"history-deleted\">$revlink</span>";
}
- return "<li>($difflink) $revlink $userlink $comment</li>";
+ return "<li>$difflink $revlink $userlink $comment</li>";
}
}
array(),
array( 'page' => $title->getPrefixedText() )
);
+ $loglink = wfMessage( 'parentheses' )->rawParams( $loglink );
// User links and action text
$action = $formatter->getActionText();
// Comment
$comment = '<span class="history-deleted">' . $comment . '</span>';
}
- return "<li>($loglink) $date $action $comment</li>";
+ return "<li>$loglink $date $action $comment</li>";
}
}
}
$comment = Linker::revComment( $rev );
- return "<li>$checkBox ($last) $pageLink . . $userLink $stxt $comment</li>";
+ $revisionRow = $this->msg( 'mergehistory-revisionrow' )->rawParams( $checkBox, $last, $pageLink, $userLink, $stxt, $comment)->escaped();
+ $revisionRow .= "<li>" . $line . "</li>";
+
+ return $revisionRow;
}
function merge() {
$mwNames = $wgExtraLanguageNames + $coreLanguageNames;
foreach ( $mwNames as $mwCode => $mwName ) {
# - Prefer own MediaWiki native name when not using the hook
- # TODO: prefer it always to make it consistent, but casing is different in CLDR
# - For other names just add if not added through the hook
- if ( ( $mwCode === $inLanguage && !$inLanguage ) || !isset( $names[$mwCode] ) ) {
+ if ( $mwCode === $inLanguage || !isset( $names[$mwCode] ) ) {
$names[$mwCode] = $mwName;
}
}
'aln' => 'Gegë', # Gheg Albanian
'als' => 'Alemannisch', # Alemannic -- not a valid code, for compatibility. See gsw.
'am' => 'አማርኛ', # Amharic
- 'an' => 'Aragonés', # Aragonese
+ 'an' => 'aragonés', # Aragonese
'ang' => 'Ænglisc', # Old English (Bug 23283)
'anp' => 'अङ्गिका', # Angika
'ar' => 'العربية', # Arabic
'arc' => 'ܐܪܡܝܐ', # Aramaic
- 'arn' => 'Mapudungun', # Mapuche, Mapudungu, Araucanian (Araucano)
+ 'arn' => 'mapudungun', # Mapuche, Mapudungu, Araucanian (Araucano)
'ary' => 'Maġribi', # Moroccan Spoken Arabic
'arz' => 'مصرى', # Egyptian Spoken Arabic
'as' => 'অসমীয়া', # Assamese
- 'ast' => 'Asturianu', # Asturian
+ 'ast' => 'asturianu', # Asturian
'av' => 'Авар', # Avar
'avk' => 'Kotava', # Kotava
'ay' => 'Aymar aru', # Aymara
- 'az' => 'Azərbaycanca', # Azerbaijani
+ 'az' => 'azərbaycanca', # Azerbaijani
'ba' => 'Башҡортса', # Bashkir
'bar' => 'Boarisch', # Bavarian (Austro-Bavarian and South Tyrolean)
'bat-smg' => 'Žemaitėška', # Samogitian (deprecated code, 'sgs' in ISO 693-3 since 2010-06-30 )
'bcc' => 'بلوچی مکرانی', # Southern Balochi
'bcl' => 'Bikol Central', # Bikol: Central Bicolano language
- 'be' => 'Ð\91еларуская', # Belarusian normative
+ 'be' => 'беларуская', # Belarusian normative
'be-tarask' => "\xE2\x80\xAAБеларуская (тарашкевіца)\xE2\x80\xAC", # Belarusian in Taraskievica orthography
'be-x-old' => "\xE2\x80\xAAБеларуская (тарашкевіца)\xE2\x80\xAC", # Belarusian in Taraskievica orthography; compat link
- 'bg' => 'Ð\91ългарски', # Bulgarian
+ 'bg' => 'български', # Bulgarian
'bh' => 'भोजपुरी', # Bihari macro language. Falls back to Bhojpuri (bho). The name actually says "Bhojpuri".
'bho' => 'भोजपुरी', # Bhojpuri
'bi' => 'Bislama', # Bislama
'bjn' => 'Bahasa Banjar', # Banjarese
- 'bm' => 'Bamanankan', # Bambara
+ 'bm' => 'bamanankan', # Bambara
'bn' => 'বাংলা', # Bengali
'bo' => 'བོད་ཡིག', # Tibetan
'bpy' => 'বিষ্ণুপ্রিয়া মণিপুরী', # Bishnupriya Manipuri
'bqi' => 'بختياري', # Bakthiari
- 'br' => 'Brezhoneg', # Breton
+ 'br' => 'brezhoneg', # Breton
'brh' => 'Bráhuí', # Brahui
- 'bs' => 'Bosanski', # Bosnian
+ 'bs' => 'bosanski', # Bosnian
'bug' => 'ᨅᨔ ᨕᨘᨁᨗ', # Buginese
'bxr' => 'Буряад', # Buryat (Russia)
- 'ca' => 'Català', # Catalan
+ 'ca' => 'català', # Catalan
'cbk-zam' => 'Chavacano de Zamboanga', # Zamboanga Chavacano
'cdo' => 'Mìng-dĕ̤ng-ngṳ̄', # Min Dong
'ce' => 'Нохчийн', # Chechen
'chr' => 'ᏣᎳᎩ', # Cherokee
'chy' => 'Tsetsêhestâhese', # Cheyenne
'ckb' => 'کوردی', # Sorani. The name actually says "Kurdi" (Kurdish).
- 'co' => 'Corsu', # Corsican
+ 'co' => 'corsu', # Corsican
'cps' => 'Capiceño', # Capiznon
'cr' => 'Nēhiyawēwin / ᓀᐦᐃᔭᐍᐏᐣ', # Cree
'crh' => 'Qırımtatarca', # Crimean Tatar (multiple scripts - defaults to Latin)
'crh-latn' => "\xE2\x80\xAAQırımtatarca (Latin)\xE2\x80\xAC", # Crimean Tatar (Latin)
'crh-cyrl' => "\xE2\x80\xAAКъырымтатарджа (Кирилл)\xE2\x80\xAC", # Crimean Tatar (Cyrillic)
- 'cs' => 'Ä\8cesky', # Czech
+ 'cs' => 'Ä\8desky', # Czech
'csb' => 'Kaszëbsczi', # Cassubian
'cu' => 'Словѣ́ньскъ / ⰔⰎⰑⰂⰡⰐⰠⰔⰍⰟ', # Old Church Slavonic (ancient language)
'cv' => 'Чӑвашла', # Chuvash
'cy' => 'Cymraeg', # Welsh
- 'da' => 'Dansk', # Danish
+ 'da' => 'dansk', # Danish
'de' => 'Deutsch', # German ("Du")
'de-at' => 'Österreichisches Deutsch', # Austrian German
'de-ch' => 'Schweizer Hochdeutsch', # Swiss Standard German
'dtp' => 'Dusun Bundu-liwan', # Central Dusun
'dv' => 'ދިވެހިބަސް', # Dhivehi
'dz' => 'ཇོང་ཁ', # Dzongkha (Bhutan)
- 'ee' => 'Eʋegbe', # Éwé
+ 'ee' => 'eʋegbe', # Éwé
'el' => 'Ελληνικά', # Greek
- 'eml' => 'Emiliàn e rumagnòl', # Emiliano-Romagnolo / Sammarinese
+ 'eml' => 'emiliàn e rumagnòl', # Emiliano-Romagnolo / Sammarinese
'en' => 'English', # English
'en-ca' => 'Canadian English', # Canadian English
'en-gb' => 'British English', # British English
'eo' => 'Esperanto', # Esperanto
- 'es' => 'Español', # Spanish
- 'et' => 'Eesti', # Estonian
- 'eu' => 'Euskara', # Basque
- 'ext' => 'Estremeñu', # Extremaduran
+ 'es' => 'español', # Spanish
+ 'et' => 'eesti', # Estonian
+ 'eu' => 'euskara', # Basque
+ 'ext' => 'estremeñu', # Extremaduran
'fa' => 'فارسی', # Persian
'ff' => 'Fulfulde', # Fulfulde, Maasina
- 'fi' => 'Suomi', # Finnish
- 'fit' => 'Meänkieli', # Tornedalen Finnish
+ 'fi' => 'suomi', # Finnish
+ 'fit' => 'meänkieli', # Tornedalen Finnish
'fiu-vro' => 'Võro', # Võro (deprecated code, 'vro' in ISO 639-3 since 2009-01-16)
'fj' => 'Na Vosa Vakaviti', # Fijian
- 'fo' => 'Føroyskt', # Faroese
- 'fr' => 'Français', # French
- 'frc' => 'Français cadien', # Cajun French
- 'frp' => 'Arpetan', # Franco-Provençal/Arpitan
+ 'fo' => 'føroyskt', # Faroese
+ 'fr' => 'français', # French
+ 'frc' => 'français cadien', # Cajun French
+ 'frp' => 'arpetan', # Franco-Provençal/Arpitan
'frr' => 'Nordfriisk', # North Frisian
- 'fur' => 'Furlan', # Friulian
+ 'fur' => 'furlan', # Friulian
'fy' => 'Frysk', # Frisian
'ga' => 'Gaeilge', # Irish
'gag' => 'Gagauz', # Gagauz
'gan-hans' => "\xE2\x80\xAA赣语(简体)\xE2\x80\xAC", # Gan (Simplified Han)
'gan-hant' => "\xE2\x80\xAA贛語(繁體)\xE2\x80\xAC", # Gan (Traditional Han)
'gd' => 'Gàidhlig', # Scots Gaelic
- 'gl' => 'Galego', # Galician
+ 'gl' => 'galego', # Galician
'glk' => 'گیلکی', # Gilaki
'gn' => 'Avañe\'ẽ', # Guaraní, Paraguayan
'got' => '𐌲𐌿𐍄𐌹𐍃𐌺', # Gothic
'hif-latn' => 'Fiji Hindi', # Fiji Hindi (latin)
'hil' => 'Ilonggo', # Hiligaynon
'ho' => 'Hiri Motu', # Hiri Motu
- 'hr' => 'Hrvatski', # Croatian
+ 'hr' => 'hrvatski', # Croatian
'hsb' => 'Hornjoserbsce', # Upper Sorbian
'ht' => 'Kreyòl ayisyen', # Haitian Creole French
- 'hu' => 'Magyar', # Hungarian
+ 'hu' => 'magyar', # Hungarian
'hy' => 'Հայերեն', # Armenian
'hz' => 'Otsiherero', # Herero
- 'ia' => 'Interlingua', # Interlingua (IALA)
+ 'ia' => 'interlingua', # Interlingua (IALA)
'id' => 'Bahasa Indonesia', # Indonesian
'ie' => 'Interlingue', # Interlingue (Occidental)
'ig' => 'Igbo', # Igbo
'ii' => 'ꆇꉙ', # Sichuan Yi
'ik' => 'Iñupiak', # Inupiak (Inupiatun, Northwest Alaska / Inupiatun, North Alaskan)
'ike-cans' => 'ᐃᓄᒃᑎᑐᑦ', # Inuktitut, Eastern Canadian/Eastern Canadian "Eskimo"/"Eastern Arctic Eskimo"/Inuit (Unified Canadian Aboriginal Syllabics)
- 'ike-latn' => 'Inuktitut', # Inuktitut, Eastern Canadian (Latin script)
+ 'ike-latn' => 'inuktitut', # Inuktitut, Eastern Canadian (Latin script)
'ilo' => 'Ilokano', # Ilokano
'inh' => 'ГӀалгӀай', # Ingush
'io' => 'Ido', # Ido
- 'is' => 'Ã\8dslenska', # Icelandic
- 'it' => 'Italiano', # Italian
+ 'is' => 'Ãslenska', # Icelandic
+ 'it' => 'italiano', # Italian
'iu' => 'ᐃᓄᒃᑎᑐᑦ/inuktitut', # Inuktitut (macro language - do no localise, see ike/ikt - falls back to ike-cans)
'ja' => '日本語', # Japanese
'jam' => 'Patois', # Jamaican Creole English
'jbo' => 'Lojban', # Lojban
- 'jut' => 'Jysk', # Jutish / Jutlandic
+ 'jut' => 'jysk', # Jutish / Jutlandic
'jv' => 'Basa Jawa', # Javanese
'ka' => 'ქართული', # Georgian
'kaa' => 'Qaraqalpaqsha', # Karakalpak
'kk-cn' => "\xE2\x80\xABقازاقشا (جۇنگو)\xE2\x80\xAC", # Kazakh (China)
'kk-kz' => "\xE2\x80\xAAҚазақша (Қазақстан)\xE2\x80\xAC", # Kazakh (Kazakhstan)
'kk-tr' => "\xE2\x80\xAAQazaqşa (Türkïya)\xE2\x80\xAC", # Kazakh (Turkey)
- 'kl' => 'Kalaallisut', # Inuktitut, Greenlandic/Greenlandic/Kalaallisut (kal)
+ 'kl' => 'kalaallisut', # Inuktitut, Greenlandic/Greenlandic/Kalaallisut (kal)
'km' => 'ភាសាខ្មែរ', # Khmer, Central
'kn' => 'ಕನ್ನಡ', # Kannada
'ko' => '한국어', # Korean
'ku-latn' => "\xE2\x80\xAAKurdî (latînî)\xE2\x80\xAC", # Northern Kurdish (Latin script)
'ku-arab' => "\xE2\x80\xABكوردي (عەرەبی)\xE2\x80\xAC", # Northern Kurdish (Arabic script) (falls back to ckb)
'kv' => 'Коми', # Komi-Zyrian (Cyrillic is common script but also written in Latin script)
- 'kw' => 'Kernowek', # Cornish
+ 'kw' => 'kernowek', # Cornish
'ky' => 'Кыргызча', # Kirghiz
'la' => 'Latina', # Latin
'lad' => 'Ladino', # Ladino
'li' => 'Limburgs', # Limburgian
'lij' => 'Ligure', # Ligurian
'liv' => 'Līvõ kēļ', # Livonian
- 'lmo' => 'Lumbaart', # Lombard
- 'ln' => 'Lingála', # Lingala
+ 'lmo' => 'lumbaart', # Lombard
+ 'ln' => 'lingála', # Lingala
'lo' => 'ລາວ',# Laotian
'loz' => 'Silozi', # Lozi
- 'lt' => 'Lietuvių', # Lithuanian
- 'ltg' => 'Latgaļu', # Latgalian
+ 'lt' => 'lietuvių', # Lithuanian
+ 'ltg' => 'latgaļu', # Latgalian
'lus' => 'Mizo ţawng', # Mizo/Lushai
- 'lv' => 'Latviešu', # Latvian
+ 'lv' => 'latviešu', # Latvian
'lzh' => '文言', # Literary Chinese -- (bug 8217) lzh instead of zh-classical, http://www.sil.org/iso639-3/codes.asp?order=639_3&letter=l
'lzz' => 'Lazuri', # Laz
'mai' => 'मैथिली', # Maithili
'mhr' => 'Олык Марий', # Eastern Mari
'mi' => 'Māori', # Maori
'min' => 'Baso Minangkabau', # Minangkabau
- 'mk' => 'Ð\9cакедонски', # Macedonian
+ 'mk' => 'македонски', # Macedonian
'ml' => 'മലയാളം', # Malayalam
- 'mn' => 'Ð\9cонгол', # Halh Mongolian (Cyrillic) (ISO 639-3: khk)
- 'mo' => 'Ð\9cолдовеняскэ', # Moldovan, deprecated
+ 'mn' => 'монгол', # Halh Mongolian (Cyrillic) (ISO 639-3: khk)
+ 'mo' => 'молдовеняскэ', # Moldovan, deprecated
'mr' => 'मराठी', # Marathi
'mrj' => 'Кырык мары', # Hill Mari
'ms' => 'Bahasa Melayu', # Malay
'nah' => 'Nāhuatl', # Nahuatl, en:Wikipedia writes Nahuatlahtolli, while another form is Náhuatl
'nan' => 'Bân-lâm-gú', # Min-nan -- (bug 8217) nan instead of zh-min-nan, http://www.sil.org/iso639-3/codes.asp?order=639_3&letter=n
'nap' => 'Nnapulitano', # Neapolitan
- 'nb' => "\xE2\x80\xAANorsk (bokmål)\xE2\x80\xAC", # Norwegian (Bokmal)
+ 'nb' => "\xE2\x80\xAAnorsk (bokmål)\xE2\x80\xAC", # Norwegian (Bokmal)
'nds' => 'Plattdüütsch', # Low German ''or'' Low Saxon
'nds-nl' => 'Nedersaksisch', # Dutch Low Saxon
'ne' => 'नेपाली', # Nepali
'niu' => 'Niuē', # Niuean
'nl' => 'Nederlands', # Dutch
'nl-informal' => "\xE2\x80\xAANederlands (informeel)\xE2\x80\xAC", # Dutch (informal address ("je"))
- 'nn' => "\xE2\x80\xAANorsk (nynorsk)\xE2\x80\xAC", # Norwegian (Nynorsk)
- 'no' => "\xE2\x80\xAANorsk (bokmål)\xE2\x80\xAC", # Norwegian (falls back to nb).
+ 'nn' => "\xE2\x80\xAAnorsk (nynorsk)\xE2\x80\xAC", # Norwegian (Nynorsk)
+ 'no' => "\xE2\x80\xAAnorsk (bokmål)\xE2\x80\xAC", # Norwegian (falls back to nb).
'nov' => 'Novial', # Novial
'nrm' => 'Nouormand', # Norman
'nso' => 'Sesotho sa Leboa', # Northern Sotho
'nv' => 'Diné bizaad', # Navajo
'ny' => 'Chi-Chewa', # Chichewa
- 'oc' => 'Occitan', # Occitan
+ 'oc' => 'occitan', # Occitan
'om' => 'Oromoo', # Oromo
'or' => 'ଓଡ଼ିଆ', # Oriya
'os' => 'Ирон', # Ossetic -- fixed per bug 29091
'pfl' => 'Pälzisch', # Palatinate German
'pi' => 'पाळि', # Pali
'pih' => 'Norfuk / Pitkern', # Norfuk/Pitcairn/Norfolk
- 'pl' => 'Polski', # Polish
+ 'pl' => 'polski', # Polish
'pms' => 'Piemontèis', # Piedmontese
'pnb' => 'پنجابی', # Western Punjabi
'pnt' => 'Ποντιακά', # Pontic/Pontic Greek
'prg' => 'Prūsiskan', # Prussian
'ps' => 'پښتو', # Pashto, Northern/Paktu/Pakhtu/Pakhtoo/Afghan/Pakhto/Pashtu/Pushto/Yusufzai Pashto
- 'pt' => 'Português', # Portuguese
- 'pt-br' => 'Português do Brasil', # Brazilian Portuguese
+ 'pt' => 'português', # Portuguese
+ 'pt-br' => 'português do Brasil', # Brazilian Portuguese
'qu' => 'Runa Simi', # Southern Quechua
'qug' => 'Runa shimi', # Kichwa/Northern Quechua (one of the codes it covers; temporarily used until Kichwa has its own)
'rgn' => 'Rumagnôl', # Romagnol
'rif' => 'Tarifit', # Tarifit
- 'rm' => 'Rumantsch', # Raeto-Romance
+ 'rm' => 'rumantsch', # Raeto-Romance
'rmy' => 'Romani', # Vlax Romany
'rn' => 'Kirundi', # Rundi/Kirundi/Urundi
- 'ro' => 'Română', # Romanian
+ 'ro' => 'română', # Romanian
'roa-rup' => 'Armãneashce', # Aromanian (deprecated code, 'rup' exists in ISO 693-3)
- 'roa-tara' => 'Tarandíne', # Tarantino
- 'ru' => 'Русский', # Russian
+ 'roa-tara' => 'tarandíne', # Tarantino
+ 'ru' => 'русский', # Russian
'rue' => 'Русиньскый', # Rusyn
'rup' => 'Armãneashce', # Aromanian
'ruq' => 'Vlăheşte', # Megleno-Romanian (multiple scripts - defaults to Latin)
'ruq-latn' => 'Vlăheşte', # Megleno-Romanian (Latin script)
'rw' => 'Kinyarwanda', # Kinyarwanda, should possibly be Kinyarwandi
'sa' => 'संस्कृतम्', # Sanskrit
- 'sah' => 'Саха тыла', # Sakha
+ 'sah' => 'саха тыла', # Sakha
'sat' => 'Santali', # Santali
- 'sc' => 'Sardu', # Sardinian
- 'scn' => 'Sicilianu', # Sicilian
+ 'sc' => 'sardu', # Sardinian
+ 'scn' => 'sicilianu', # Sicilian
'sco' => 'Scots', # Scots
'sd' => 'سنڌي', # Sindhi
'sdc' => 'Sassaresu', # Sassarese
- 'se' => 'Sámegiella', # Northern Sami
+ 'se' => 'sámegiella', # Northern Sami
'sei' => 'Cmique Itom', # Seri
'sg' => 'Sängö', # Sango/Sangho
'sgs' => 'Žemaitėška', # Samogitian
- 'sh' => 'Srpskohrvatski / Српскохрватски', # Serbocroatian
+ 'sh' => 'srpskohrvatski / српскохрватски', # Serbocroatian
'shi' => 'Tašlḥiyt/ⵜⴰⵛⵍⵃⵉⵜ', # Tachelhit (multiple scripts - defaults to Latin)
'shi-tfng' => 'ⵜⴰⵛⵍⵃⵉⵜ', # Tachelhit (Tifinagh script)
'shi-latn' => 'Tašlḥiyt', # Tachelhit (Latin script)
'si' => 'සිංහල', # Sinhalese
'simple' => 'Simple English', # Simple English
- 'sk' => 'Slovenčina', # Slovak
- 'sl' => 'Slovenščina', # Slovenian
+ 'sk' => 'slovenčina', # Slovak
+ 'sl' => 'slovenščina', # Slovenian
'sli' => 'Schläsch', # Lower Selisian
'sm' => 'Gagana Samoa', # Samoan
'sma' => 'Åarjelsaemien', # Southern Sami
'sn' => 'chiShona', # Shona
'so' => 'Soomaaliga', # Somali
- 'sq' => 'Shqip', # Albanian
- 'sr' => 'Српски / Srpski', # Serbian (multiple scripts - defaults to Cyrillic)
- 'sr-ec' => "\xE2\x80\xAAСрпски (ћирилица)\xE2\x80\xAC", # Serbian Cyrillic ekavian
- 'sr-el' => "\xE2\x80\xAASrpski (latinica)\xE2\x80\xAC", # Serbian Latin ekavian
+ 'sq' => 'shqip', # Albanian
+ 'sr' => 'српски / srpski', # Serbian (multiple scripts - defaults to Cyrillic)
+ 'sr-ec' => "\xE2\x80\xAAсрпски (ћирилица)\xE2\x80\xAC", # Serbian Cyrillic ekavian
+ 'sr-el' => "\xE2\x80\xAAsrpski (latinica)\xE2\x80\xAC", # Serbian Latin ekavian
'srn' => 'Sranantongo', # Sranan Tongo
'ss' => 'SiSwati', # Swati
'st' => 'Sesotho', # Southern Sotho
'stq' => 'Seeltersk', # Saterland Frisian
'su' => 'Basa Sunda', # Sundanese
- 'sv' => 'Svenska', # Swedish
+ 'sv' => 'svenska', # Swedish
'sw' => 'Kiswahili', # Swahili
'szl' => 'Ślůnski', # Silesian
'ta' => 'தமிழ்', # Tamil
'tcy' => 'ತುಳು', # Tulu
'te' => 'తెలుగు', # Telugu
- 'tet' => 'Tetun', # Tetun
- 'tg' => 'Тоҷикӣ', # Tajiki (falls back to tg-cyrl)
- 'tg-cyrl' => 'Тоҷикӣ', # Tajiki (Cyrllic script) (default)
- 'tg-latn' => 'Tojikī', # Tajiki (Latin script)
+ 'tet' => 'tetun', # Tetun
+ 'tg' => 'тоҷикӣ', # Tajiki (falls back to tg-cyrl)
+ 'tg-cyrl' => 'тоҷикӣ', # Tajiki (Cyrllic script) (default)
+ 'tg-latn' => 'tojikī', # Tajiki (Latin script)
'th' => 'ไทย', # Thai
'ti' => 'ትግርኛ', # Tigrinya
'tk' => 'Türkmençe', # Turkmen
'tl' => 'Tagalog', # Tagalog
- 'tly' => 'Толышә зывон', # Talysh
+ 'tly' => 'толышә зывон', # Talysh
'tn' => 'Setswana', # Setswana
'to' => 'lea faka-Tonga', # Tonga (Tonga Islands)
'tokipona' => 'Toki Pona', # Toki Pona
'tpi' => 'Tok Pisin', # Tok Pisin
'tr' => 'Türkçe', # Turkish
'ts' => 'Xitsonga', # Tsonga
- 'tt' => 'Татарча/Tatarça', # Tatar (multiple scripts - defaults to Cyrillic)
- 'tt-cyrl' => 'Татарча', # Tatar (Cyrillic script) (default)
- 'tt-latn' => 'Tatarça', # Tatar (Latin script)
+ 'tt' => 'татарча/tatarça', # Tatar (multiple scripts - defaults to Cyrillic)
+ 'tt-cyrl' => 'татарча', # Tatar (Cyrillic script) (default)
+ 'tt-latn' => 'tatarça', # Tatar (Latin script)
'tum' => 'chiTumbuka', # Tumbuka
'tw' => 'Twi', # Twi, (FIXME!)
'ty' => 'Reo Mā`ohi', # Tahitian
'ug' => 'ئۇيغۇرچە / Uyghurche', # Uyghur (multiple scripts - defaults to Arabic)
'ug-arab' => 'ئۇيغۇرچە', # Uyghur (Arabic script) (default)
'ug-latn' => 'Uyghurche', # Uyghur (Latin script)
- 'uk' => 'Українська', # Ukrainian
+ 'uk' => 'українська', # Ukrainian
'ur' => 'اردو', # Urdu
'uz' => 'Oʻzbek', # Uzbek
've' => 'Tshivenda', # Venda
- 'vec' => 'Vèneto', # Venetian
+ 'vec' => 'vèneto', # Venetian
'vep' => 'Vepsän kel’', # Veps
'vi' => 'Tiếng Việt', # Vietnamese
'vls' => 'West-Vlams', # West Flemish
'vo' => 'Volapük', # Volapük
'vot' => 'Vaďďa', # Vod/Votian
'vro' => 'Võro', # Võro
- 'wa' => 'Walon', # Walloon
+ 'wa' => 'walon', # Walloon
'war' => 'Winaray', # Waray-Waray
'wo' => 'Wolof', # Wolof
'wuu' => '吴语', # Wu Chinese
'tog-enotifminoredits' => "Peu'ek cit surat-e keu lon bak neuandam bacut",
'tog-enotifrevealaddr' => 'Peuleumah alamat surat-e lon bak neubrithee surat-e',
'tog-shownumberswatching' => 'Peuleumah jumeulah ureueng kalon',
-'tog-oldsig' => 'Peuleumah tanda jaroe:',
+'tog-oldsig' => 'Tanda jaroe jinoe:',
'tog-fancysig' => 'Peujeuet tanda jaroe sibagoe naseukah wiki (hana hubong keudroe)',
-'tog-externaleditor' => 'Nguy alat leumiek keu ngon peugot kata luwa',
-'tog-externaldiff' => 'Nguy alat leumiek luwa keu eu bida neuandam',
+'tog-externaleditor' => 'Nguy editor eksternal nyang ka na (keu nyang utoih khong, peureulee neuato kusuih bak kompute droeneuh.
+
+[//www.mediawiki.org/wiki/Manual:External_editors Haba leubeh leungkap.])',
+'tog-externaldiff' => 'Nguy diff eksternal nyang ka na (keu nyang utoih mantong, peureulee neuato kusuih bak kompute droeneuh
+[//www.mediawiki.org/wiki/Manual:External_editors More information.])',
'tog-showjumplinks' => 'Peuudep hubong keu ngon bantu "langsong u"',
'tog-uselivepreview' => 'Nguy peuleumah hase langsong (JavaScript) (baci)',
'tog-forceeditsummary' => 'Peuingat lon meunyo plok neuringkaih neuandam mantong soh',
'underline-always' => 'Sabe',
'underline-never' => "H'an tom",
+# Font style option in Special:Preferences
+'editfont-monospace' => 'Seunurat Monospace',
+'editfont-sansserif' => 'Seunurat Sans-serif',
+'editfont-serif' => 'Seunurat Serif',
+
# Dates
'sunday' => 'Aleuhat',
'monday' => 'Seulanyan',
'category-media-header' => 'Alat lam kawan "$1"',
'category-empty' => "''Kawan nyoë jinoë hat hana teunuléh atawa media.''",
'hidden-categories' => '{{PLURAL:$1|Kawan teusom|Kawan teusom}}',
+'hidden-category-category' => 'Kawan teusom',
'category-subcat-count' => '{{PLURAL:$2|Kawan nyoë cit na saboh yupkawan nyoë.|Kawan nyoë na {{PLURAL:$1|yupkawan|$1 yupkawan}} nyoë, dari ban dum $2.}}',
'category-article-count' => '{{PLURAL:$2|Kawan nyoë cit na saboh ôn nyoë.|Kawan nyoë na {{PLURAL:$1|ôn|$1 ôn }}, dari ban dum $2.}}',
'category-file-count' => '{{PLURAL:$2|Kawan nyoe cit na beureukaih nyoe sagay.|{{PLURAL:$1|beureukaih|$1 beureukaih}} nyoe na lam kawan nyoe, nibak ban dum $2.}}',
'vector-action-move' => 'Peupinah',
'vector-action-protect' => 'Peulindông',
'vector-action-undelete' => 'Bateuë sampôh',
-'vector-action-unprotect' => 'Bateuë peulindông',
+'vector-action-unprotect' => 'Gantoe neulindông',
'vector-simplesearch-preference' => 'Peuudep mita saran nyang geupeusamporeuna (keu kulet Vector khong)',
'vector-view-create' => 'Peugöt',
'vector-view-edit' => 'Andam',
'protect' => 'Peulindông',
'protect_change' => 'ubah',
'protectthispage' => 'Peulindong on nyoe',
-'unprotect' => 'Bek peulindong',
-'unprotectthispage' => 'Peuhah neulindông ôn nyoë',
+'unprotect' => 'Gantoe neulindong',
+'unprotectthispage' => 'Gantoe neulindông ôn nyoë',
'newpage' => 'Ôn barô',
'talkpage' => 'Peugah haba bhah ôn nyoë',
'talkpagelinktext' => 'Peugah haba',
'prefs-beta' => 'বেটা বৈশিষ্টসমূহ',
'prefs-datetime' => 'তারিখ ও সময়',
'prefs-labs' => 'পরীক্ষাগার বৈশিষ্টসমূহ',
+'prefs-user-pages' => 'ব্যবহারকারীর পাতা',
'prefs-personal' => 'ব্যবহারকারীর বৃত্তান্ত',
'prefs-rc' => 'সাম্প্রতিক পরিবর্তনসমূহ',
'prefs-watchlist' => 'নজরতালিকা',
Y rheswm a roddwyd gan y gweinyddwr a roddodd y ffeil dan glo yw "\'\'$3\'\'".',
'invalidtitle-knownnamespace' => 'Teitl annilys o\'r enw "$3" yn y parth "$2"',
+'invalidtitle-unknownnamespace' => 'Teitl annilys ag iddi\'r rhif parth anhysbys $1 a\'r enw "$2"',
# Virus scanner
'virus-badscanner' => "Cyfluniad gwael: sganiwr firysau anhysbys: ''$1''",
'prefs-beta' => 'Nodweddion Beta',
'prefs-datetime' => 'Dyddiad ac amser',
'prefs-labs' => 'Nodweddion Labs',
+'prefs-user-pages' => 'Tudalennau defnyddwyr',
'prefs-personal' => 'Data defnyddiwr',
'prefs-rc' => 'Newidiadau diweddar',
'prefs-watchlist' => 'Rhestr wylio',
'backend-fail-closetemp' => "Wedi methu cau'r ffeil dros dro.",
'backend-fail-read' => 'Wedi methu darllen y ffeil $1.',
'backend-fail-create' => "Wedi methu ysgrifennu'r ffeil $1.",
-'backend-fail-maxsize' => "Ni ellid cynhyrchu'r ffeil $1 oherwydd ei bod yn fwy na{{PLURAL:$2||g un beit| $2 feit| $2 beit| $2 beit| $2 beit}}.",
+'backend-fail-maxsize' => "Ni ellid ysgrifennu'r ffeil $1 oherwydd ei bod yn fwy na{{PLURAL:$2||g un beit| $2 feit| $2 beit| $2 beit| $2 beit}} o faint.",
'backend-fail-readonly' => 'Ar hyn o bryd gellir darllen y storfa "$1" yn unig. Y rheswm dros hyn yw: "\'\'$2\'\'"',
'backend-fail-synced' => 'Mae\'r ffeil "$1" mewn cyflwr anghyson oddi mewn i\'r storfeydd tu ôl i\'r llenni.',
'backend-fail-connect' => 'Ni ellid cysylltu â\'r storfa tu ôl i\'r llenni yn "$1".',
'backend-fail-internal' => 'Cafwyd gwall anhysbys yn y storfa tu ôl i\'r llenni yn "$1".',
'backend-fail-contenttype' => 'Methwyd a dirnad pa fath o gynnwys sydd yn y ffeil y ceisir ei storio yn "$1".',
'backend-fail-batchsize' => "Rhoddwyd llwyth o {{PLURAL:$1|$1 o weithrediadau}} ffeil i'w gwneud i'r storfa; ni all nifer y {{PLURAL:$2|gweithrediadau}} fod yn fwy na $2.",
+'backend-fail-usable' => "Ni ellid ysgrifennu'r ffeil $1 oherwydd nad oedd caniatad digonol ynteu bod cyfeiriaduron neu flychau yn eisiau.",
# File journal errors
'filejournal-fail-dbconnect' => 'Methwyd cysylltu â lòg y gweithrediadau ar y storfa "$1".',
'listredirects' => 'Weiterleitungen',
# Unused templates
-'unusedtemplates' => 'Unbenutzte Vorlagen',
+'unusedtemplates' => 'Verwaiste Vorlagen',
'unusedtemplatestext' => 'Diese Seite listet alle Seiten im {{ns:template}}-Namensraum auf, die nicht in anderen Seiten eingebunden sind.
Überprüfe andere Links zu den Vorlagen, bevor du diese löscht.',
'unusedtemplateswlh' => 'Andere Links',
'uncategorizedcategories' => 'Nicht kategorisierte Kategorien',
'uncategorizedimages' => 'Nicht kategorisierte Dateien',
'uncategorizedtemplates' => 'Nicht kategorisierte Vorlagen',
-'unusedcategories' => 'Unbenutzte Kategorien',
-'unusedimages' => 'Unbenutzte Dateien',
+'unusedcategories' => 'Verwaiste Kategorien',
+'unusedimages' => 'Verwaiste Dateien',
'popularpages' => 'Beliebteste Seiten',
'wantedcategories' => 'Gewünschte Kategorien',
'wantedpages' => 'Gewünschte Seiten',
# Special:Categories
'categories' => 'Kategorien',
'categoriespagetext' => 'Folgende {{PLURAL:$1|Kategorie enthält|Kategorien enthalten}} Seiten oder Dateien.
-[[Special:UnusedCategories|Unbenutzte Kategorien]] werden hier nicht aufgeführt.
+[[Special:UnusedCategories|Verwaiste Kategorien]] werden hier nicht aufgeführt.
Siehe auch die Liste der [[Special:WantedCategories|gewünschten Kategorien]].',
'categoriesfrom' => 'Zeige Kategorien ab:',
'special-categories-sort-count' => 'Sortierung nach Anzahl',
'currentrev' => 'Halo nıkayên',
'currentrev-asof' => 'Revizyonanê peniyan, tarixê $1',
'revisionasof' => 'Verziyonê roca $1ine',
-'revision-info' => 'Teshihkerdışê roca $1ine be terefê $2',
+'revision-info' => 'Tehsis kerdışê roca $1ine be terefê $2',
'previousrevision' => '← Çımraviyarnayışo kıhanêr',
'nextrevision' => 'Tekrar-diyayışo newêr →',
'currentrevisionlink' => 'Revizyono veror',
'mergehistory-comment' => 'Merged [[:$1]] into [[:$2]]: $3',
'mergehistory-same-destination' => 'Source and destination pages cannot be the same',
'mergehistory-reason' => 'Reason:',
+'mergehistory-revisionrow' => '$1 ($2) $3 . . $4 $5 $6',
# Merge log
'mergelog' => 'Merge log',
'mergelogpagetext' => 'Alla on loki viimeisimmistä muutoshistorioiden yhdistämisistä.',
# Diffs
-'history-title' => 'Sivun $1 muutoshistoria',
+'history-title' => 'Sivun "$1" muutoshistoria',
'difference-title' => 'Ero sivun "$1" versioiden välillä',
'difference-title-multipage' => 'Erot sivujen "$1" ja "$2" välillä',
'difference-multipage' => '(Sivujen välinen eroavaisuus)',
'prefs-beta' => 'Beta-ominaisuudet',
'prefs-datetime' => 'Aika ja päiväys',
'prefs-labs' => 'Kokeelliset ominaisuudet',
+'prefs-user-pages' => 'Käyttäjäsivut',
'prefs-personal' => 'Käyttäjätiedot',
'prefs-rc' => 'Tuoreet muutokset',
'prefs-watchlist' => 'Tarkkailulista',
'revertmerge' => 'Dì-aontaich',
# Diffs
-'history-title' => 'Eachdraidh nam mùthaidhean de "$1"',
+'history-title' => 'Eachdraidh nam mùthaidhean aig "$1"',
'lineno' => 'Loidhne $1:',
'compareselectedversions' => 'Dèan coimeas eadar na mùthaidhean a thagh thu',
'editundo' => 'neo-dhèan',
'ok' => 'OK',
'retrievedfrom' => '「$1」から取得',
-'youhavenewmessages' => '$1が届いています($2)。',
+'youhavenewmessages' => '$1が届いています($2)。',
'newmessageslink' => '新しいメッセージ',
'newmessagesdifflink' => '最終更新の差分',
'youhavenewmessagesmulti' => '$1に新着メッセージがあります',
'prefs-help-realname' => '本名は省略できます。
入力すると、あなたの著作物の帰属表記に本名を使用します。',
'prefs-help-email' => 'メールアドレスは省略できますが、パスワードを忘れた際にパスワードをリセットするのに必要です。',
-'prefs-help-email-others' => '利用者ページやトークページ上のリンクを通じて、他の利用者があなたにメールで連絡をとれるようにすることもできます。
-他の利用者が連絡をとろうとするとき、あなたのメールアドレスは開示されません。',
+'prefs-help-email-others' => '利用者ページやトークページ上のリンクを通じて、他の利用者があなたにメールで連絡を取れるようにすることもできます。
+他の利用者が連絡を取る際にあなたのメールアドレスが開示されることはありません。',
'prefs-help-email-required' => 'メールアドレスが必要です。',
'prefs-info' => '基本情報',
'prefs-i18n' => '国際化',
'unblocked-range' => '$1のブロックは解除されています',
'unblocked-id' => 'ブロック$1は除去されました',
'blocklist' => 'ブロック中の利用者',
-'ipblocklist' => 'ブロック中の利用者',
+'ipblocklist' => 'ブロックを受けている利用者',
'ipblocklist-legend' => 'ブロック中の利用者を検索',
'blocklist-userblocks' => 'アカウントのブロックを非表示',
'blocklist-tempblocks' => '有期ブロックを非表示',
'createaccount' => 'Hesab vıraze',
'gotaccount' => "Hesabê sıma ke esto? '''$1'''.",
'gotaccountlink' => 'Cı kuye',
+'userlogin-resetlink' => 'Melumatê cıkewtışi xo vira kerdê?',
'createaccountmail' => 'e-poste sera',
'createaccountreason' => 'Sebeb:',
'badretype' => 'Parola sıma nêvêrena.',
Dosyunê ebe namê .css u .js'y de herfa hurdiye bıgurêne, mesela hurêndia {{ns:user}}:Foo/Vector.css'i de {{ns:user}}:Foo/vector.css bınuse.",
'updated' => '(Bi rozane)',
'note' => "'''Not:'''",
-'previewnote' => "'''Bıfıkıriye ke no teyna jü verqayto.'''
-Vurnaişê to hona qeyd nêbiyê!",
+'previewnote' => "Teme! ena teyna verqeyda.'''
+Vurnayışê tu hama qeyd nıbiyo!",
'editing' => 'Tıya $1 vurnena',
'editingsection' => 'Vurnaena $1 (qısım)',
'editingcomment' => '$1 vurnino (qısımo newe)',
'hiddencategories' => 'Na pele mensuba {{PLURAL:$1|1 kategoriya nımıtiya|$1 kategoriunê nımıtuna}}:',
'permissionserrors' => 'Xetê desturi',
'permissionserrorstext-withaction' => 'Desturê to be $2 çino, serba {{PLURAL:$1|na sebebi|nê sebebu}} ra:',
+'recreate-moveddeleted-warn' => "'''Hişyari: no pel o ke şıma vırazeni vere cû vırazyayo.'''
+
+Diqet bıkeri no vurnayişê şıma re gerek esto:",
+'moveddeleted-notice' => 'Ma ena pele wederna.
+Qe referansi logê wedernayışi bın de mocnayiya.',
'edit-conflict' => 'Têverabiyaena vurnaişi.',
# Parser/template warnings
'post-expand-template-inclusion-warning' => "'''Teme''': Zerrekê şabloni zaf gırso.
Taê şabloni ilawe nêbenê.",
'post-expand-template-inclusion-category' => 'Pelê ke tede gırşênia şabloni serde sono',
+'post-expand-template-argument-warning' => 'Hişyari: No pel de tewr tay yew şablono herayi esto.',
+'post-expand-template-argument-category' => 'Pelê ke şablonê eyi qebul niye',
# History pages
'viewpagelogs' => 'Qeydê ke na pele ra alaqedarê, inu bıasne',
'currentrev' => 'Çımraviarnaoğo rozane',
'currentrev-asof' => '$1 ra gore pele be halo nıkaên',
'revisionasof' => 'Halê roca $1ine',
+'revision-info' => 'Tesdiq kerdışê roca $1ine be terefê $2',
'previousrevision' => '← Halo khanêr',
'nextrevision' => 'Tekrardiyaiso newêr →',
'currentrevisionlink' => 'Halo nıkaên',
'revertmerge' => 'Cia ke',
# Diffs
-'history-title' => 'Viartê pelga "$1"ine',
+'history-title' => 'Rewizyonê $1:',
'lineno' => 'Rêza $1i:',
'compareselectedversions' => 'Varyantunê weçinıtun têver sane',
'editundo' => 'peyser bia',
'nextn-title' => 'Peyên $1 {{PLURAL:$1|netice|neticey}}',
'shown-title' => 'Zu pele rê $1 {{PLURAL:$1|netice|neticu}} basne',
'viewprevnext' => 'Bıvêne ($1 {{int:pipe-separator}} $2) ($3)',
+'searchmenu-exists' => "''Ena 'Wikipediya de ser \"[[:\$1]]\" yew pel esto'''",
'searchmenu-new' => "'''Nê wiki de pela \"[[:\$1]]\" baferne!'''",
'searchhelp-url' => 'Help:Tedeestey',
'searchprofile-articles' => 'Pelê tedeesteu',
'email' => 'E-poste',
'prefs-help-realname' => 'Namo rastıkên serbesto.
Sıma ke ney bıgurenê, karê sıma de no namdarêni dano.',
+'prefs-help-email' => 'Dayışê adresa e-postey keyfiyo, labelê seba eyarê parola lazıma, wexto ke şıma naye xo vira kerê.',
+'prefs-help-email-others' => 'Şıma şenê weçinê ke ê bini be yew gırey pela şımaya karberi ya zi pela werênayışi sera şıma de ebe e-poste irtıbat kewê.
+Kaberê bini ke şıma de kewti irtıbat, adresa e-postey şıma eşkera nêbena.',
'prefs-help-email-required' => 'Adresa emaili lazıma.',
'prefs-signature' => 'İmza',
'prefs-diffs' => 'Ferqi',
'recentchanges-label-bot' => 'No vurnais terefê zu boti ra bi',
'recentchanges-label-unpatrolled' => 'No vurnais hona çım ra ranêvêrdo',
'rcnote' => "Cêr {{PLURAL:$1|'''1''' vurnaiso peyên|'''$1''' vurnaisê peyêni}} be {{PLURAL:$2|roza peyêne|'''$2''' rozunê peyênunê}} $5, $4 ra estê.",
+'rcnotefrom' => "Cêr de vurnayîşê esto ke '''$2''' ra raver (heta '''$1''' mucnayiyo).",
'rclistfrom' => '$1 ra hata nıka vurnaisunê newu bıasne',
'rcshowhideminor' => '$1 vurnaisê qızkeki',
'rcshowhidebots' => 'botê $1i',
'recentchangeslinked' => 'Ney sero vurnaene',
'recentchangeslinked-toolbox' => 'Ney sero vurnaene',
'recentchangeslinked-title' => 'Heqa "$1"i de vurnais',
+'recentchangeslinked-noresult' => 'Pelanê ke link biye ey vurnayîşî çino.',
'recentchangeslinked-summary' => "Lista cêrêne, pela bêlikerdiye rê (ya ki karberunê kategoriya bêlikerdiye rê) pelunê girêdaoğu de lista de vurnaisê peyênuna.
[[Special:Watchlist|Lista sımawa şêrkedişi de]] peli be nusto '''qolınd''' bêli kerdê.",
'recentchangeslinked-page' => 'Namê pele:',
'filehist-missing' => 'Dosya vindbiyaiya',
'imagelinks' => 'Gurenaisê dosya',
'linkstoimage' => 'Ano {{PLURAL:$1|girê pele|$1 girê pelu}} be na dosya:',
+'nolinkstoimage' => 'Pelanê ser ena dosyayê link biyê çin o.',
'sharedupload' => 'Na dosya depoê $1 rawa u beno ke procunê binu de gurenina.',
'sharedupload-desc-here' => 'Beno ke depoê na dosya $1 ra be terefê procunê bınu ra gurenino.
Cêr [$2 pela arezekerdena dosya de] arezekerdene asnina.',
'shortpages' => 'Pelê kılmi',
'longpages' => 'Pelê dergi',
'listusers' => 'Lista karberi',
-'usercreated' => 'roca $1 de $2 de vıraciya',
+'usercreated' => '$2 de $1 {{GENDER:$3|viraziya}}',
'newpages' => 'Pelê newey',
'newpages-username' => 'Namê karberi:',
'ancientpages' => 'Pelê khanêri',
'sp-contributions-talk' => 'hurênais',
'sp-contributions-search' => 'Ebe iştıraku cı feteliye',
'sp-contributions-username' => 'IP ya ki karber:',
+'sp-contributions-toponly' => 'Teyna revizyonanê tewr peniyan bimocne',
'sp-contributions-submit' => 'Cı feteliye',
# What links here
'watchlisttools-edit' => 'Lista şêrkerdene bıvêne u vıraze',
'watchlisttools-raw' => 'Lista şêrkerdena xame vıraze',
+# Core parser functions
+'duplicate-defaultsort' => '\'\'\'Teme:\'\'\' Tuşê default sort "$2" sero tuşê default sort "$1"î ra şino.',
+
# Special:FilePath
'filepath-page' => 'Dosya:',
'filepath-submit' => 'So',
# Special:BlankPage
'blankpage' => 'Pela thale',
+# External image whitelist
+'external_image_whitelist' => ' #no satır zey xo verde/raverde<pre>
+#parçeyê ifadeya rêzbiyayeyani (têna zerreyê ıney de // ) u çıtayo/çiyo zi mende cêr de têare kerê.
+#ney URL ya (hotlink) resmê teberi de hemcıta benî.
+#Ê yê ke hemcıt (eşleşmek-hemçift) biyê zey resımi asenî, eqsê hal de zi zey gıreyê resmi aseno.
+satır ê ke pê ney # # destpêkenê zey mışore/mıjore muamele vineno.
+#herfa gırd û qıci ferq nêkeno
+
+#parçeyê ifadeya rêzbiyayeyani bıerzê serê ney satıri. no satır zey xo verde/raverde </pre>',
+
# Special:Tags
'tag-filter' => 'Parzünê [[Special:Tags|etiket]]i:',
'right-siteadmin' => '데이터베이스를 잠그거나 잠금 해제',
'right-override-export-depth' => '5단계로 링크된 문서를 포함하여 문서를 내보내기',
'right-sendemail' => '다른 사용자에게 이메일 보내기',
-'right-passwordreset' => '암호 재설정 이메일을 보기',
+'right-passwordreset' => '비밀번호 재설정 이메일을 보기',
# User rights log
'rightslog' => '사용자 권한 기록',
# Stylesheets
'common.css' => '/* 이 CSS 설정은 모든 스킨에 동일하게 적용됩니다 */',
-'standard.css' => '/* 이 CSS 설정은 모든 표준 스킨에 적용됩니다 */',
+'standard.css' => '/* 이 CSS 설정은 모든 스탠다드 스킨에 적용됩니다 */',
'nostalgia.css' => '/* 이 CSS 설정은 모든 노스텔지아 스킨에 적용됩니다 */',
'cologneblue.css' => '/* 이 CSS 설정은 모든 쾰른 블루 스킨에 적용됩니다 */',
'monobook.css' => '/* 이 CSS 설정은 모든 모노북 스킨에 적용됩니다 */',
# Scripts
'common.js' => '/* 이 자바스크립트 설정은 모든 문서, 모든 사용자에게 적용됩니다. */',
-'standard.js' => '/* 이 자바스크립트 설정은 표준 스킨을 사용하는 사용자에게 적용됩니다 */',
+'standard.js' => '/* 이 자바스크립트 설정은 스탠다드 스킨을 사용하는 사용자에게 적용됩니다 */',
'nostalgia.js' => '/* 이 자바스크립트 설정은 노스텔지아 스킨을 사용하는 사용자에게 적용됩니다 */',
'cologneblue.js' => '/* 이 자바스크립트 설정은 쾰른 블루 스킨을 사용하는 사용자에게 적용됩니다 */',
'monobook.js' => '/* 이 자바스크립트 설정은 모노북 스킨을 사용하는 사용자에게 적용됩니다 */',
'version-hook-name' => '훅 이름',
'version-hook-subscribedby' => '훅이 사용된 위치',
'version-version' => '(버전 $1)',
-'version-license' => 'ë\9d¼ì\9d´ì\84¼스',
+'version-license' => 'ë\9d¼ì\9d´ì\84 스',
'version-poweredby-credits' => "이 위키는 '''[//www.mediawiki.org/ MediaWiki]'''를 기반으로 작동합니다. Copyright © 2001-$1 $2.",
'version-poweredby-others' => '그 외 다른 개발자',
'version-license-info' => '미디어위키는 자유 소프트웨어입니다. 당신은 자유 소프트웨어 재단이 발표한 GNU 일반 공중 사용 허가서 버전 2나 그 이후 버전에 따라 이 파일을 재배포하거나 수정할 수 있습니다.
'logentry-newusers-create' => '$1 사용자가 계정을 생성했습니다.',
'logentry-newusers-create2' => '$1 사용자가 $3 계정을 생성했습니다.',
'logentry-newusers-autocreate' => '$1 계정이 자동적으로 생성되었습니다.',
-'newuserlog-byemail' => '이메일로 보낸 암호',
+'newuserlog-byemail' => '이메일로 보낸 비밀번호',
# Feedback
'feedback-bugornote' => '기술적 문제를 구체적으로 설명할 준비가 되었다면 [$1 버그를 신고]해 주세요.
'revdelete-uname-unhid' => 'ഉപയോക്തൃനാമം മറച്ചത് ഒഴിവാക്കിയിരിക്കുന്നു',
'revdelete-restricted' => 'കാര്യനിർവാഹകർക്ക് പ്രവർത്തന അതിരുകൾ ഏർപ്പെടുത്തിയിരിക്കുന്നു',
'revdelete-unrestricted' => 'കാര്യനിർവാഹകർക്ക് ഏർപ്പെടുത്തിയ പ്രവർത്തന അതിരുകൾ നീക്കം ചെയ്തിരിക്കുന്നു',
-'logentry-move-move' => '$1 à´\8eà´¨àµ\8dà´¨ à´\89പയàµ\8bà´\95àµ\8dതാവàµ\8d $3 à´\8eà´¨àµ\8dà´¨ താൾ $4 à´\86à´¯ി മാറ്റിയിരിക്കുന്നു',
+'logentry-move-move' => '$1 à´\8eà´¨àµ\8dà´¨ à´\89പയàµ\8bà´\95àµ\8dതാവàµ\8d $3 à´\8eà´¨àµ\8dà´¨ താൾ $4 à´\86à´\95àµ\8dà´\95ി മാറ്റിയിരിക്കുന്നു',
'logentry-move-move-noredirect' => '$3 എന്ന താൾ $4 എന്ന തലക്കെട്ടിലേയ്ക്ക് തിരിച്ചുവിടലില്ലാതെ $1 മാറ്റി',
'logentry-move-move_redir' => '$1, $3 എന്ന താൾ $4 എന്ന താളിനുമുകളിലേയ്ക്ക് മാറ്റിയിരിക്കുന്നു',
'logentry-move-move_redir-noredirect' => '$1, $3 എന്ന താൾ $4 എന്ന താളിനുമുകളിലേയ്ക്ക്, തിരിച്ചുവിടൽ ഇല്ലാതെ മാറ്റിയിരിക്കുന്നു',
'cannotdelete-title' => '"$1" хуудсыг устгаж чадсангүй',
'badtitle' => 'Болохгүй гарчиг',
'badtitletext' => 'Оруулсан хуудасны нэр тань хүчингүй, хоосон, эсвэл буруу холбосон интер-хэл буюу интер-викигийн нэр байна. Нэрэнд хэрэглэгдэж болохгүй тэмдэгт орсон байж болзошгүй.',
-'perfcached' => 'Дараах тоо баримт нь нөөц хуулбар учраас хуучирсан мэдээлэлтэй байж магадгүй. A maximum of {{PLURAL:$1|one result is|$1 results are}} available in the cache.',
-'perfcachedts' => 'Дараах тоо баримт нөөц хуулбар бөгөөд хамгийн сүүлд $1-д шинэчлэгдсэн. A maximum of {{PLURAL:$4|one result is|$4 results are}} available in the cache.',
+'perfcached' => 'Дараах тоо баримт нь нөөц хуулбар учраас хуучирсан мэдээлэлтэй байж магадгүй. Дээд тал нь {{PLURAL:$1|нэг илэрц|$1 илэрцүүд}} нөөцөд бэлэн байна.',
+'perfcachedts' => 'Дараах тоо баримт нь нөөц хуулбар учраас хуучирсан мэдээлэлтэй байж магадгүй. Дээд тал нь {{PLURAL:$1|нэг илэрц|$1 илэрцүүд}} нөөцөд бэлэн байна.',
'querypage-no-updates' => 'Одоогийн байдлаар энэ хуудсанд шинэчлэлүүд хаагдсан байна. Энд байгаа тоо баримт одоохондоо сэргээгдэхгүй.',
'wrong_wfQuery_params' => 'wfQuery()-д буруу параметр оруулсан байна<br />
Функц: $1<br />
'nocookieslogin' => '{{SITENAME}}-д нэвтрэхэд күүкиг хэрэглэдэг.
Та күүкиг идэвхижүүлээгүй байна.
Түүнийг идэвхижүүлж дахин оролдоно уу.',
-'nocookiesfornew' => 'Ð\9aүүкийг аÑ\88иглаж байгаа Ñ\8dÑ\81Ñ\8dÑ\85ийг Ñ\88алгаж үзнÑ\8d Ò¯Ò¯. Ð¥Ñ\8dÑ\80Ñ\8dглÑ\8dгÑ\87ийн Ñ\8dÑ\85 Ñ\81Ñ\83Ñ\80валжийг баÑ\82алгаажÑ\83Ñ\83лж Ñ\87адÑ\81ангүй Ñ\82Ñ\83л бүÑ\80Ñ\82гÑ\8dл Ñ\85ийгдÑ\81Ñ\8dнгүй.',
+'nocookiesfornew' => 'Ð¥Ñ\8dÑ\80Ñ\8dглÑ\8dгÑ\87ийн бүÑ\80Ñ\82гÑ\8dл Ñ\85ийгдÑ\81Ñ\8dнгүй. Ð\9aүүкийг зөв Ñ\82оÑ\85иÑ\80Ñ\83Ñ\83лÑ\81ан Ñ\8dÑ\81Ñ\8dÑ\85ийг Ñ\88алгаад Ñ\8dнÑ\8d Ñ\85Ñ\83Ñ\83дÑ\81Ñ\8bг аÑ\85ин Ñ\83нÑ\88Ñ\83Ñ\83лааÑ\80ай.',
'noname' => 'Та хүчинтэй хэрэглэгчийн нэрийг өгөөгүй байна.',
'loginsuccesstitle' => 'Амжилттай нэвтэрлээ',
'loginsuccess' => "'''Та {{SITENAME}} руу \"\$1\" нэрээр нэвтэрлээ.'''",
'passwordreset-emailtitle' => '{{SITENAME}}-н бүртгэлийн мэдээлэл',
'passwordreset-emailelement' => 'Хэрэглэгчийн нэр: $1
Түр зуурын нууц үг: $2',
-'passwordreset-emailsent' => 'СанÑ\83Ñ\83лгÑ\8bн Ñ\86аÑ\85им Ñ\88Ñ\83Ñ\83дан Ñ\8fвÑ\83Ñ\83ллаа.',
+'passwordreset-emailsent' => 'Танд Ñ\81анамж болгон нÑ\8dг имайл Ñ\8fвÑ\83Ñ\83ллаа',
'passwordreset-emailsent-capture' => 'Доор харуулснаар цахим шуудангийн сануулгыг явууллаа.',
'passwordreset-emailerror-capture' => 'Цахим шуудангийн сануулга доор харуулсны дагуу хийгдсан боловч $1 хэрэглэгчид хүрч чадсангүй, алдаа гарлаа.',
'userpage-userdoesnotexist-view' => '"$1" гэсэн хэрэглэгч бүртгэгдээгүй байна.',
'blocked-notice-logextract' => 'Энэхүү хэрэглэгч одоогоор түгжигдсэн байна.
Лавлагааны зориулалтаар түгжээний лог дээрх хамгийн сүүлийн нэмэлтийг доор оруулав:',
-'clearyourcache' => "'''Санамж - Хадгалсныхаа дараа шинэ тохиргоогоо харахын тулд вэб хөтөчийнхөө хийсвэр санах ойг орхих хэрэгтэй болж магадгүй.'''
-'''Файрфокс / Сафари:''' ''Shift''-г дарж байхдаа ''Reload'' дээр дарах, эсвэл ''Ctrl-F5'' буюу ''Ctrl-R'' гэж дарах (Макинтош дээр ''Command-R'');
-'''Конкерор: ''' ''Reload'' товч дээр дар, эсвэл ''F5''-г дар;
-'''Опера:''' ''Tools→Preferences'' дээр хийсвэр санах ойг бүрэн арилгах;
-'''Интернэт Эксплорер:''' ''Ctrl'' -г дарж байхдаа ''Refresh'' дээр дар, эсвэл ''Ctrl-F5'' гэж дар.",
+'clearyourcache' => "'''Санамж - Хадгалсныхаа дараа шинэ тохиргоогоо харахын тулд вэб хөтөчийнхөө хийсвэр санах ойг орхих хэрэгтэй болж магадгүй.
+* '''Google Chrome хөтчид :''' ''Ctrl-Shift-R'' товч дээр зэрэг дарна ( Макитош компьютерүүдэд ''⌘-Shift-R'' дээр дарна)
+* '''Internet Explorer хөтчид :''' ''Ctrl'' дээр дараастай байж байгаад ''Refresh'' дээр дарна, эсвэл ''Ctrl-F5'' дээр дарна
+* '''Konqueror веб хөтчид :''' ''Reload'' товч дээр эсвэл ''F5'' дээр дарна
+* '''Opera веб хөтчид :''' ''Tools → Preferences'' руу орж дундын нөөцлөгчийг хоослоорой
+\\",
'usercssyoucanpreview' => "'''Зөвлөгөө:''' \"{{int:showpreview}}\" товчийг ашиглан та өөрийн шинэ CSS-г хадгалахаасаа өмнө шалгах боломжтой.",
'userjsyoucanpreview' => "'''Зөвлөгөө:''' \"{{int:showpreview}}\" товчийг ашиглан та өөрийн шинэ ЖаваСкриптийг хадгалахаасаа өмнө шалгах боломжтой.",
'usercsspreview' => "'''Та өөрийн хэрэглэгчийн CSS-г зөвхөн урьдчилан харж байгаа гэдгээ санаарай.'''
'rev-deleted-user-contribs' => '[хэрэглэгчийн нэр эсвэл IP хаягыг арилгасан байна - засварыг хувь нэмрээс нуув]',
'rev-deleted-text-permission' => "Энэ хуудасны засвар '''устгагдсан'''.
[{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Устгалын логт] дэлгэрэнгүй мэдээлэл байж магадгүй.",
-'rev-deleted-text-unhide' => "Энэ хуудасны засвар '''устгагдсан байна'''.
-[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} Устгалын логт] дэлгэрэнгүй мэдээлэл байж магадгүй.
-Ð\90дминиÑ\81Ñ\82Ñ\80аÑ\82оÑ\80Ñ\8bн Ñ\85Ñ\83вÑ\8cд Ñ\82а хүсвэл [$1 энэ засварыг үзэх] боломжтой.",
-'rev-suppressed-text-unhide' => "Энэ хуудасны засвар '''далдлагдсан байна'''.
-[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} Далдлагааны логт] дэлгэрэнгүй мэдээлэл байж магадгүй.
-Ð\90дминиÑ\81Ñ\82Ñ\80аÑ\82оÑ\80Ñ\8bн Ñ\85Ñ\83вÑ\8cд Ñ\82а хүсвэл [$1 энэ засварыг үзэх] боломжтой.",
-'rev-deleted-text-view' => "Энэ хуудасны засвар '''устгагдсан'''.
-Ð\90дминиÑ\81Ñ\82Ñ\80аÑ\82оÑ\80Ñ\8bн Ñ\85Ñ\83вÑ\8cд Ñ\82а Ñ\85аÑ\80аÑ\85 боломжÑ\82ой; [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Ñ\83Ñ\81Ñ\82галÑ\8bн логÑ\82] дÑ\8dлгÑ\8dÑ\80Ñ\8dнгүй мÑ\8dдÑ\8dÑ\8dлÑ\8dл байж магадгүй.",
+'rev-deleted-text-unhide' => "Энэ хуудасны эргэцүүлэл '''устгагдсан байна'''.
+[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} Устгалын логоос] дэлгэрэнгүй мэдээллийг орж харж болно.
+Та хүсвэл [$1 энэ засварыг үзэх] боломжтой.",
+'rev-suppressed-text-unhide' => "Энэ хуудасны эргэцүүлэл '''далдлагдсан байна'''.
+[{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Далдалсан логоос]. дэлгэрэнгүй мэдээллийг авах боломжтой.
+Та хүсвэл [$1 энэ засварыг үзэх] боломжтой.",
+'rev-deleted-text-view' => "Энэ хуудасны эргэцүүлэл '''устгагдсан'''.
+Ð\93Ñ\8dÑ\81Ñ\8dн Ñ\87 Ñ\82а Ñ\85аÑ\80аÑ\85 боломжÑ\82ой; [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} Ñ\83Ñ\81Ñ\82гаÑ\81ан логооÑ\81]. дÑ\8dлгÑ\8dÑ\80Ñ\8dнгүй мÑ\8dдÑ\8dÑ\8dллийг Ñ\85аÑ\80аÑ\85 боломжÑ\82ой.",
'rev-suppressed-text-view' => "Энэ хуудасны засвар '''далдлагдсан'''.
-Ð\90дминиÑ\81Ñ\82Ñ\80аÑ\82оÑ\80Ñ\8bн Ñ\85Ñ\83вÑ\8cд Ñ\82а Ñ\85аÑ\80аÑ\85 боломжÑ\82ой; [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} далдлагаанÑ\8b логÑ\82] дÑ\8dлгÑ\8dÑ\80Ñ\8dнгүй мÑ\8dдÑ\8dÑ\8dлÑ\8dл байж магадгүй.",
+Ð\93Ñ\8dÑ\81Ñ\8dн Ñ\87 Ñ\82а Ñ\85аÑ\80аÑ\85 боломжÑ\82ой; [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}}далдалÑ\81ан логооÑ\81] дÑ\8dлгÑ\8dÑ\80Ñ\8dнгүй мÑ\8dдÑ\8dÑ\8dллийг Ñ\85аÑ\80аÑ\85 боломжÑ\82ой.",
'rev-deleted-no-diff' => "Аль нэг засвар нь '''устгагдсан''' тул та ялгааг үзэх боломжгүй байна.
[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} Устгалын логт] дэлгэрэнгүй мэдээлэл байж магадгүй.",
'rev-suppressed-no-diff' => "Ямар нэг засвар '''устгагдсан''' тул та энэхүү өөрчлөлтийг харах боломжгүй.",
-'rev-deleted-unhide-diff' => "ЯлгаанÑ\8b алÑ\8c нÑ\8dг заÑ\81ваÑ\80 '''устгагдсан''' байна.
-[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} Устгалын логт] дэлгэрэнгүй мэдээлэл байж магадгүй.
-Ð\90дминиÑ\81Ñ\82Ñ\80аÑ\82оÑ\80Ñ\8bн Ñ\85Ñ\83вÑ\8cд Ñ\82а хүсвэл [$1 энэ ялгааг] үзэх боломжтой.",
-'rev-suppressed-unhide-diff' => "ÐнÑ\8dÑ\85Ò¯Ò¯ Ó©Ó©Ñ\80Ñ\87лөлÑ\82ийн заÑ\80им заÑ\81ваÑ\80Ñ\8bг '''далдалсан''' байна.
-[{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Далдалгааны логт] дэлгэрэнгүй мэдээллийг харах боломжтой.
-Ð\90дминиÑ\81Ñ\82Ñ\80аÑ\82оÑ\80 бол Ñ\82а [$1 Ñ\8dнÑ\8dÑ\85Ò¯Ò¯ Ó©Ó©Ñ\80Ñ\87лөлÑ\82ийг Ñ\85аÑ\80аÑ\85ааÑ\80] Ò¯Ñ\80гÑ\8dлжлүүлэх боломжтой.",
-'rev-deleted-diff-view' => "ÐнÑ\8dÑ\85Ò¯Ò¯ Ó©Ó©Ñ\80Ñ\87лөлÑ\82 даÑ\85Ñ\8c заÑ\81ваÑ\80Ñ\83Ñ\83дÑ\8bн нÑ\8dгийг '''Ñ\83Ñ\81Ñ\82гасан''' байна.
-Та администратор тул өөрчлөлтийг харах боломжтой; [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} устгалын лог]-с дэлгэрэнгүй мэдээлэл авах боломжтой.",
-'rev-suppressed-diff-view' => "ÐнÑ\8dÑ\85Ò¯Ò¯ Ó©Ó©Ñ\80Ñ\87лөлÑ\82 даÑ\85Ñ\8c заÑ\81ваÑ\80Ñ\83Ñ\83дÑ\8bн нÑ\8dгийг '''далдалсан''' байна.
-Та администратор тул өөрчлөлтийг харах боломжтой; [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} далдалгааны лог]-с дэлгэрэнгүй мэдээлэл авах боломжтой.",
+'rev-deleted-unhide-diff' => "ТанÑ\8b Ñ\8fлгаÑ\81ан Ñ\8dÑ\80гÑ\8dÑ\86үүлÑ\8dлийн алÑ\8c нÑ\8dг нÑ\8c '''устгагдсан''' байна.
+[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} Устгасан логоос] дэлгэрэнгүй мэдээллийг аваарай.
+Та хүсвэл [$1 энэ ялгааг] үзэх боломжтой.",
+'rev-suppressed-unhide-diff' => "ТанÑ\8b Ñ\8fлгаÑ\81ан Ñ\8dÑ\80гÑ\8dÑ\86үүлÑ\8dлийн алÑ\8c нÑ\8dг нÑ\8c '''далдлагдсан''' байна.
+[{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Далдалсан логоос] дэлгэрэнгүй мэдээллийг аваарай.
+Та Ñ\85Ò¯Ñ\81вÑ\8dл [$1 Ñ\8dнÑ\8d Ñ\8fлгааг] үзэх боломжтой.",
+'rev-deleted-diff-view' => "ТанÑ\8b Ñ\8fлгаÑ\81ан Ñ\8dÑ\80гÑ\8dÑ\86үүлÑ\8dлийн алÑ\8c нÑ\8dг нÑ\8c '''Ñ\83Ñ\81Ñ\82гагдсан''' байна.
+Та уг ялгаврыг харах боломжтой; [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} устгасан логоос] дэлгэрэнгүй мэдээлэлийг аваарай.",
+'rev-suppressed-diff-view' => "ТанÑ\8b Ñ\8fлгаÑ\81ан Ñ\8dÑ\80гÑ\8dÑ\86үүлÑ\8dлийг алÑ\8c нÑ\8dг нÑ\8c '''далдлагдсан''' байна.
+Та уг ялгаврыг харах боломжтой; [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} далдалсан логоос] дэлгэрэнгүй мэдээллийг аваарай.",
'rev-delundel' => 'үзүүлэх/нуух',
'rev-showdeleted' => 'үзүүлэх',
'revisiondelete' => 'Засваруудыг устгах/сэргээх',
# Suppression log
'suppressionlog' => 'Хязгаарлалтын лог',
-'suppressionlogtext' => 'Ð\94ооÑ\80Ñ\85 нÑ\8c Ñ\81иÑ\81Ñ\82емийн опеÑ\80аÑ\82оÑ\80Ñ\83Ñ\83дааÑ\81 нÑ\83Ñ\83Ñ\81ан агÑ\83Ñ\83лгаÑ\82ай Ñ\85олбооÑ\82ой Ñ\83Ñ\81Ñ\82гал ба Ñ\82үгжÑ\8dÑ\8dнүүдийн жагÑ\81аалÑ\82 Ñ\8eм.
-[[Special:IPBlockList|IP түгжээний жагсаалтыг]] үзэж одоо хэрэгжиж буй хорио ба түгжээг харна уу.',
+'suppressionlogtext' => 'Ðнд админÑ\83Ñ\83дааÑ\81 нÑ\83Ñ\83Ñ\81ан агÑ\83Ñ\83лгаÑ\82ай Ñ\85олбооÑ\82ой Ñ\83Ñ\81Ñ\82гал ба Ñ\82үгжÑ\8dÑ\8dнүүдийн жагÑ\81аалÑ\82Ñ\83Ñ\83д байна.
+[[Special:BlockList|түгжээний жагсаалтаас]] одоогоор хэрэгжиж буй хорио ба түгжээг харна уу.',
# History merging
'mergehistory' => 'Хуудсуудын түүхийг нэгтгэх',
Бусад хэрэглэгчид тантай болбогдох тохиолдолд таны цахим шуудан илэрч харагдахгүй.',
'prefs-help-email-required' => 'Мэйл хаяг шаардлагатай байна.',
'prefs-info' => 'Ердийн мэдээлэл',
-'prefs-i18n' => 'Олон Улсжуулалт',
+'prefs-i18n' => 'Олон улсад нийцүүлэх',
'prefs-signature' => 'Гарын үсэг',
'prefs-dateformat' => 'Огнооны хэлбэр',
'prefs-timeoffset' => 'Цагын зөрөө',
'userrights-lookup-user' => 'Хэрэглэгчдийн бүлгүүдийг удирдах',
'userrights-user-editname' => 'Хэрэглэгчийн нэрээ оруулна уу:',
'editusergroup' => 'Хэрэглэгчийн бүлгийг засварлах',
-'editinguser' => "Дараах хэрэглэгчийн эрхийг засварлаж байна: '''[[User:$1|$1]]''' ([[User talk:$1|{{int:talkpagelinktext}}]]{{int:pipe-separator}}[[Special:Contributions/$1|{{int:contribslink}}]])",
+'editinguser' => "Дараах хэрэглэгчийн эрхийг засварлаж байна: '''[[User:$1|$1]]''' $2",
'userrights-editusergroup' => 'Хэрэглэгчийн бүлгүүдийг засварлах',
'saveusergroups' => 'Хэрэглэгчийн бүлгүүдийг хадгалах',
'userrights-groupsmember' => 'Үүний гишүүн:',
'userrights-groupsmember-auto' => 'Дараахийн далд гишүүн:',
'userrights-groups-help' => 'Та энэ хэрэглэгчийн гишүүн болсон бүлгүүдийг өөрчлөх боломжтой.
-ХайÑ\80Ñ\86гийг Ñ\82Ñ\8dмдÑ\8dглÑ\8dÑ\81Ñ\8dн байвал Ñ\85Ñ\8dÑ\80Ñ\8dглÑ\8dгÑ\87 Ñ\82Ñ\8dÑ\80 бүлÑ\8dгÑ\82 байгаа, Ñ\82Ñ\8dмдÑ\8dглÑ\8dÑ\8dгүй байвал бүлэгт байхгүй гэсэн үг.
-<nowiki>*</nowiki> гэдэг нь нэгэнт нэмсэн бол бүлгийг авч болохгүй, эсвэл түүний эсрэгээр байна гэсэн үг.',
+Ð\94Ó©Ñ\80вөлжин нүдийг бөглөÑ\81өн байвал Ñ\85Ñ\8dÑ\80Ñ\8dглÑ\8dгÑ\87 Ñ\82Ñ\83Ñ\85айн бүлÑ\8dгÑ\82 байгаа, бөглөөгүй бол Ñ\83г бүлэгт байхгүй гэсэн үг.
+* A * гэдэг нь нэгэнт нэмсэн бол бүлгийг авч болохгүй, эс бөгөөс болно гэсэн үг.',
'userrights-reason' => 'Шалтгаан:',
'userrights-no-interwiki' => 'Таньд өөр викинүүдэд хэрэглэгчдийн эрхийг өөрчлөх зөвшөөрөл байхгүй.',
'userrights-nodatabase' => '$1 мэдээллийн сан байхгүй, эсвэл дотоодынх биш байна.',
'filetype-bad-ie-mime' => 'Интернэт Эксплорер нь зөвшөөрөгдөхгүй, аюултай байх боломжтой файлын төрөл болох "$1" гэж илрүүлэх тул энэ файлыг оруулах боломжгүй байна.',
'filetype-unwanted-type' => "'''\".\$1\"''' нь хүсэгдэхгүй файлын төрөл байна.
Ашиглахыг зөвлөж буй {{PLURAL:\$3|файлын төрөл|файлын төрлүүд}} нь \$2.",
-'filetype-banned-type' => "'''\".\$1\"''' нь зөвшөөрөгдөхгүй файлын төрөл байна.
-Зөвшөөрөгдөх {{PLURAL:\$3|файлын төрөл|файлын төрлүүд}} нь \$2.",
+'filetype-banned-type' => '\'\'\'".$1"\'\'\' {{PLURAL:$4|нь зөвшөөрөгдөхгүй файлын төрөл байна.|нь зөвшөөрөгдөхгүй файлын төрөл байна}}.
+Зөвшөөрөгдөх {{PLURAL:$3|файлын төрөлд|файлын төрөлд}} $2.',
'filetype-missing' => 'Энэ файлд өргөтгөл байхгүй байна (".jpg" гэх мэт).',
'empty-file' => 'Таны явуулсан файл хоосон байв.',
'file-too-large' => 'Таны явуулсан файл хэтэрхий том байв.',
Та үүнийг дахин оруулахын өмнө $1-г шалгаж үзнэ үү.',
'filename-bad-prefix' => "Таны оруулж байгаа файлын нэр '''\"\$1\"'''-р эхэлж байна. Энэ нь файлыг тодорхойлойлоогүй, голдуу дижитал аппаратын автоматаар гаргадаг нэр болно.
Файланд түүнийг илүү сайн тодорхойлсон нэр өгнө үү.",
+'filename-prefix-blacklist' => ' #<!-- leave this line exactly as it is --> <pre>
+# Syntax is as follows:
+# * Everything from a "#" character to the end of the line is a comment
+# * Every non-blank line is a prefix for typical filenames assigned automatically by digital cameras
+CIMG # Casio
+DSC_ # Nikon
+DSCF # Fuji
+DSCN # Nikon
+DUW # зарим гар утаснууд
+IMG # ерөнхий
+JD # Jenoptik
+MGP # Pentax
+PICT # бусад.
+ #</pre> <!-- leave this line exactly as it is -->',
'upload-success-subj' => 'Файлыг амжилттай орууллаа',
'upload-success-msg' => '[$2]-с амжилттай оруулав. Энд байна: [[:{{ns:file}}:$1]]',
'upload-failure-subj' => 'Оруулах үеийн асуудал',
'upload-too-many-redirects' => 'URL-д хэт олон чиглүүлэгч байв',
'upload-unknown-size' => 'Үл мэдэгдэх хэмжээ',
'upload-http-error' => 'HTTP алдаа гарав: $1',
+'upload-copy-upload-invalid-domain' => 'Энэ хаяг дээрээс хуулах боломжгүй байна.',
# File backend
+'backend-fail-stream' => '$1 файлыг дамжуулж чадсангүй.',
'backend-fail-backup' => '$1 файлыг нөөцөлж чадсангүй.',
'backend-fail-notexists' => '$1 файл байхгүй байна.',
+'backend-fail-notsame' => '$1 дээр ялгаатай файл аль эрт үүссэн байна.',
'backend-fail-invalidpath' => '$1 хадгалах зам хуурамч байна.',
'backend-fail-delete' => '$1 файлыг устгаж чадсангүй.',
'backend-fail-alreadyexists' => '$1 файл аль хэдийн байж байна.',
'backend-fail-closetemp' => 'Түр зуурын файлыг хааж чадсангүй.',
'backend-fail-read' => '$1 файлыг уншиж чадсангүй.',
'backend-fail-create' => '$1 файлыг үүсгэж чадсангүй.',
+'backend-fail-maxsize' => '$1 файлын хэмжээ {{PLURAL:$2|нэг байтаас|$2 байтаас}} хэтэрсэн тул хадгалж болохгүй байна. \\',
+'backend-fail-readonly' => '"\'\'$2\'\'" - оос болоод нөөцийн сангийн "$1" системийг зөвхөн унших боломжтой байна. \\',
+'backend-fail-synced' => 'Дотоод нөөцийн сангийн систем дэх "$1" файл тогтворгүй төлөвт байна',
+'backend-fail-connect' => '"$1" нөөцийн сангийн системтэй холбогдож чадсангүй.',
+'backend-fail-internal' => '"$1" нөөцийн сангийн системд үл танигдах алдаа гарлаа.',
+'backend-fail-contenttype' => '"$1" дахь файлын агуулгын төрлийг таньж чадсангүй.',
+'backend-fail-usable' => '$1 файлд хангалттай зөвшөөрөл олгогдоогүй эсвэл агуулах хавтасгүйн улмаас хадгалж чадсангүй.',
# img_auth script messages
'img-auth-accessdenied' => 'Хандах эрхгүй байна',
# Random page
'randompage' => 'Санамсаргүй хуудас',
-'randompage-nopages' => 'ÐнÑ\8d нÑ\8dÑ\80ний зайд Ñ\85Ñ\83Ñ\83даÑ\81 байÑ\85гүй байна.',
+'randompage-nopages' => 'Ð\94аÑ\80ааÑ\85 {{PLURAL:$2|нÑ\8dÑ\80ний зайнд|нÑ\8dÑ\80ний зайнд}} Ñ\85Ñ\83Ñ\83даÑ\81 байÑ\85гүй байна : $1. \\',
# Random redirect
'randomredirect' => 'Санамсаргүй чиглүүлэгч',
'statistics-users-active-desc' => 'Сүүлийн {{PLURAL:$1|өдөрт|$1 өдөрт}} үйлдэл хийсэн хэрэглэгчид',
'statistics-mostpopular' => 'Хамгийн олон удаа үзсэн хуудсууд',
-'disambiguations' => 'Салаа утгатай үгнүүд',
+'disambiguations' => 'Өөр агуулгатай хуудсуудтай холбоотой хуудсууд',
'disambiguationspage' => 'Template:Салаа утгатай',
'disambiguations-text' => "Дараах хуудсууд '''салаа утгатай үгнүүдийн хуудас''' руу холбогдоно.
Тэдгээр нь зөв сэдэв руу холбогдох ёстой.<br />
[[MediaWiki:Disambiguationspage]]-с холбогдсон загвар хэрэглэж байвал хуудас нь салаа утгатай үгнүүдийн хуудас гэж тооцогдоно.",
'doubleredirects' => 'Давхар чиглүүлэгчүүд',
-'doubleredirectstext' => 'Энэ хуудас нь өөр чиглүүлэгч хуудас руу чиглүүлдэг хуудсуудыг жагсаана.
-Ð\9cÓ©Ñ\80 Ñ\82Ñ\83Ñ\81 бүÑ\80 нÑ\8c Ñ\8dÑ\85ний ба Ñ\85оÑ\91Ñ\80 даÑ\85Ñ\8c Ñ\87иглүүлÑ\8dгÑ\87 Ñ\80Ò¯Ò¯Ñ\85 Ñ\85олбооÑ\81Ñ\8bг болон Ñ\8dÑ\85ний Ñ\87иглүүлÑ\8dгÑ\87ийн Ñ\87иглÑ\8dÑ\85 Ñ\91Ñ\81Ñ\82ой, Ñ\85оÑ\91Ñ\80 даÑ\85Ñ\8c Ñ\87иглүүлÑ\8dгÑ\87ийн Ñ\87иглÑ\8dÑ\85 "жинÑ\85Ñ\8dнÑ\8d" Ñ\87иглÑ\8dÑ\85 Ñ\91Ñ\81Ñ\82ой Ñ\85Ñ\83Ñ\83дÑ\81Ñ\8bг заана.',
+'doubleredirectstext' => 'Энэ хуудсанд өөр хуудсуудыг давхар заасан хуудсуудыг жагсаасан байна
+Ð\9cÓ©Ñ\80 Ñ\82Ñ\83Ñ\81 бүÑ\80 нÑ\8c Ñ\8dÑ\85ний зааÑ\81ан болон Ñ\82үүний даÑ\80ааÑ\85 зааÑ\81ан Ñ\85Ñ\83Ñ\83дÑ\81Ñ\83Ñ\83дÑ\8bг жагÑ\81аан биÑ\87Ñ\81Ñ\8dний Ñ\81аÑ\86Ñ\83Ñ\83 Ñ\83г Ñ\85оÑ\91Ñ\80 Ñ\85Ñ\83Ñ\83дÑ\81Ñ\8bн Ñ\8dÑ\86Ñ\81ийн Ñ\87иглүүлÑ\81Ñ\8dн "жинÑ\85Ñ\8dнÑ\8d" Ñ\85Ñ\83Ñ\83дÑ\81Ñ\8bг үзүүлÑ\81Ñ\8dн байна.',
'double-redirect-fixed-move' => '[[$1]] зөөгдөж, [[$2]] руух чиглүүлэгч боллоо',
'double-redirect-fixer' => 'Чиглүүлэгчийг засварлагч',
'nviews' => '$1 удаа үзсэн',
'specialpage-empty' => 'Энэ мэдүүлэгт үр дүн гарсангүй.',
'lonelypages' => 'Өнчин хуудсууд',
-'lonelypagestext' => 'Ð\94аÑ\80ааÑ\85 Ñ\85Ñ\83Ñ\83дÑ\81Ñ\83Ñ\83д нÑ\8c {{SITENAME}}-н бÑ\83Ñ\81ад Ñ\85Ñ\83Ñ\83дÑ\81Ñ\83Ñ\83дааÑ\81 Ñ\85олбогдоогүй байна.',
+'lonelypagestext' => 'ÐнÑ\8d Ñ\85Ñ\83Ñ\83дÑ\81Ñ\83Ñ\83д {{SITENAME}}-даÑ\85Ñ\8c бÑ\83Ñ\81ад Ñ\85Ñ\83Ñ\83дÑ\81Ñ\83Ñ\83дÑ\82ай Ñ\85олбогдоогүй Ñ\8dÑ\81вÑ\8dл заагааÑ\81 Ñ\85Ñ\8dÑ\82Ñ\8dÑ\80Ñ\81Ñ\8dн байна.',
'uncategorizedpages' => 'Ангилагдаагүй хуудсууд',
'uncategorizedcategories' => 'Ангилагдаагүй ангиллууд',
'uncategorizedimages' => 'Ангилагдаагүй зургууд',
'linksearch-ns' => 'Нэрний зай:',
'linksearch-ok' => 'Хайх',
'linksearch-text' => '"*.wikipedia.org" зэрэг орлуулагч тэмдэгт хэрэглэх боломжтой.<br />
-Зөвшөөрөгдөх протокол: <tt>$1</tt>',
+Дор хаяж дээд түвшиний домайн хэрэгтэй байна, жишээ нь "*.org".<br />
+Дэмжигдэх протоколууд : <tt>$1</tt> (эдгээрээс алийг нь ч хайлтад бүү оруул).',
'linksearch-line' => '$1 нь $2-с холбогдсон',
'linksearch-error' => 'Орлуулагч тэмдэгт хост нэрийн эхлэлд л гарах боломжтой.',
'emailpagetext' => 'Энэ хэрэглэгч рүү мэйл илгээхэд доорхийг бөглөнө.
Таны өөрийн [[Special:Preferences|хэрэглэгчийн тохиргоонд]] оруулсан мэйл хаяг нь "Хэнээс" гэсэн хэсэгт гарах тул хүлээн авагч хариугаа тань руу шууд илгээх боломжтой.',
'usermailererror' => 'Мэйл нь буцаж ирсэн шалтгаан:',
-'defemailsubject' => '{{SITENAME}} и-мÑ\8dйл',
+'defemailsubject' => '{{SITENAME}} даÑ\85Ñ\8c "$1" Ñ\85Ñ\8dÑ\80Ñ\8dглÑ\8dгÑ\87ийн и-мÑ\8dйл Ñ\85аÑ\8fг',
'usermaildisabled' => 'Хэрэглэгчийн и-мэйлийг идэвхигүйжүүлэв',
'usermaildisabledtext' => 'Та энэ викигийн бусад хэрэглэгч руу и-мэйл явуулах боломжгүй',
'noemailtitle' => 'Мэйл хаяггүй байна',
# User Messenger
'usermessage-summary' => 'Системийн мессеж үлдээв.',
'usermessage-editor' => 'Системийн мессежийг засварлагч',
-'usermessage-template' => 'МедиаВики:ХэрэглэгчийнМэдэгдэл',
+'usermessage-template' => 'МедиаВики:ХэрэглэгчийнМэдээ',
# Watchlist
'watchlist' => 'Миний хянаж буй хуудсууд',
'watchmethod-list' => 'хяналтад буй хуудсуудад саяхан өөрчлөлт орсон эсэхийг шалгаж байна',
'watchlistcontains' => 'Таны хянах жагсаалтанд $1 хуудас байна.',
'iteminvalidname' => "'$1' зүйлд асуудал гарлаа, хүчингүй нэр...",
-'wlnote' => "Ð\94ооÑ\80Ñ\85 нÑ\8c Ñ\81үүлийн {{PLURAL:$2|Ñ\86агÑ\82|'''$2''' Ñ\86агÑ\82}} Ñ\85ийгдÑ\81Ñ\8dн {{PLURAL:$1|Ñ\81үүлийн|Ñ\81үүлийн '''$1'''}} Ó©Ó©Ñ\80Ñ\87лөлÑ\82 Ñ\8eм.",
+'wlnote' => "Ðнд нÑ\8c {{PLURAL:$2|Ñ\86агийн|'''$2''' Ñ\86агийн}} өмнө Ñ\85амгийн Ñ\81үүлд Ñ\85ийÑ\81Ñ\8dн {{PLURAL:$1|Ó©Ó©Ñ\80Ñ\87лөлÑ\82| '''$1''' Ó©Ó©Ñ\80Ñ\87лөлÑ\82үүд}} байна.",
'wlshowlast' => 'Сүүлийн $1 цагийн $2 өдрийн $3-г харуул',
'watchlist-options' => 'Хянаж буй хуудсуудын жагсаалтны сонголтууд',
'enotif_anon_editor' => '$1 бүртгэлгүй хэрэглэгч',
'enotif_body' => '$WATCHINGUSERNAME танаа,
-{{SITENAME}}-н $PAGETITLE хуудаст $PAGEEDITOR $PAGEEDITDATE-нд $CHANGEDORCREATED үйлдэл хийжээ. Одоогийн засварыг $PAGETITLE_URL хуудсаас харна уу.
+To change your watchlist settings, visit
+{{canonicalurl:{{#special:EditWatchlist}}}}
+
+{{SITENAME}}-н $PAGETITLE хуудаст $PAGEEDITOR $PAGEEDITDATE-нд $CHANGEDORCREATED үйлдэл хийжээ. $PAGETITLE_URL -руу орж одоогоор хийгдээд байгаа засварыг харна уу.
$NEWPAGE
-Засварлагчийн тойм: $PAGESUMMARY $PAGEMINOREDIT
+Зассан тойм: $PAGESUMMARY $PAGEMINOREDIT
-Засварлагчтай холбоо барих:
-мэйл: $PAGEEDITOR_EMAIL
+Засвар хийсэн хүний холбогдъё гэвэл:
+емÑ\8dйл: $PAGEEDITOR_EMAIL
вики: $PAGEEDITOR_WIKI
-Та энэ хуудаст зочлохгүй бол өөр өөрчлөлтүүдийн талаарх мэдээлэл өгөхгүй болно.
-Мөн та хянаж буй хуудсуудын мэдээллэх бүртгэлийг өөрчилж болно.
+Өөр шинээр хийгдэх өөрчлөлтүүдийн талаарх уг хуудсан орж л байж мэдэх боломжтой.
+Мөн та үзсэн хуудсынхаа шинээр хийгдэх өөрчлөлтүүдийг сануулах тохиргоог шинэчилж болно.
- {{SITENAME}}-н мэдээллэх систем
+ {{SITENAME}} -н сануулгын систем
--
-Хянаж буй хуудсуудынхаа тохиргоог өөрчлөхийн тулд дараах хуудаст зочилно уу:
-{{canonicalurl:{{#special:EditWatchlist}}}}
+Имейл хаягаар шинэчлэл хийсэн талаар мэдээлэл явуулах тохиргоог
+{{canonicalurl:{{#special:Preferences}}}} хаягаар орж хийнэ үү
+
+Хянаж буй хуудсын жагсаалтын тохиргоог
+{{canonicalurl:{{#special:EditWatchlist}}}} хаягаар орж хийнэ үү
+
+Хянаж буй хуудын жагсаалтаас хаяг хасах тохиолдолд
+$UNWATCHURL
-Ð\94Ñ\8dлгÑ\8dÑ\80Ñ\8dнгүй мÑ\8dдÑ\8dÑ\8dлÑ\8dл:
-{{canonicalurl:{{MediaWiki:Helppage}}}}',
+Санал Ñ\81Ñ\8dÑ\82гÑ\8dгдÑ\8dл болон Ñ\82Ñ\83лгаÑ\80Ñ\81ан бÑ\8dÑ\80Ñ\85Ñ\88Ñ\8dÑ\8dлÑ\8dÑ\8d :
+{{canonicalurl:{{MediaWiki:Helppage}}}} хаягаар орж бичнэ үү',
# Delete
'deletepage' => 'Хуудсыг устга',
** Зохиогчийн эрхэд халдсан
** Вандализм',
'delete-edit-reasonlist' => 'Устгах шалтгаануудыг засварлах',
-'delete-toobig' => 'ÐнÑ\8d Ñ\85Ñ\83Ñ\83даÑ\81нÑ\8b заÑ\81ваÑ\80Ñ\8bн Ñ\82Ò¯Ò¯Ñ\85 маÑ\88 Ñ\82ом байгаа бөгөөд $1 гаÑ\80Ñ\83й заÑ\81ваÑ\80Ñ\82ай байна.
-{{SITENAME}}-д Ñ\81анамÑ\81аÑ\80гүй байдлааÑ\80 мÑ\83Ñ\83гааÑ\80 нөлөөлж болзоÑ\88гүй Ñ\82Ñ\83л Ñ\8dдгÑ\8dÑ\8dÑ\80 Ñ\85Ñ\83Ñ\83дÑ\81Ñ\83Ñ\83дÑ\8bг Ñ\83Ñ\81Ñ\82гаÑ\85 Ñ\8fвдлыг хорьсон байна.',
-'delete-warning-toobig' => 'Энэ хуудасны засварын түүх маш том байгаа бөгөөд $1 гаруй засвартай байна.
-Устгавал {{SITENAME}}-н мэдээллийн сангийн үйл ажиллагаанд нөлөөлж магадгүй тул та анхаар сэрэмжтэйгээр дараах үйлдлээ гүйцэтгэнэ үү.',
+'delete-toobig' => 'Уг Ñ\85Ñ\83Ñ\83даÑ\81нÑ\8b заÑ\81ваÑ\80Ñ\8bн Ñ\82Ò¯Ò¯Ñ\85 маÑ\88 иÑ\85, $1 {{PLURAL:$1|заÑ\81ваÑ\80|гаÑ\80Ñ\83й заÑ\81ваÑ\80Ñ\82ай}} байна.
+{{SITENAME}}-н аÑ\8eÑ\83лгүй байдлÑ\8bн үүднÑ\8dÑ\8dÑ\81 дÑ\8dÑ\8dÑ\80Ñ\85 Ñ\85Ñ\83Ñ\83дÑ\81Ñ\8bг Ñ\83Ñ\81Ñ\82гаÑ\85ыг хорьсон байна.',
+'delete-warning-toobig' => 'Энэ хуудасны засварын түүх маш том байгаа бөгөөд {{PLURAL:$1| гаруй засвар| гаруй засварууд}} байна.
+Устгавал {{SITENAME}}-н мэдээллийн сангийн үйл ажиллагаанд нөлөөлж магадгүй тул та анхаарна уу.',
# Rollback
'rollback' => 'Засваруудыг буцаах',
# Protect
'protectlogpage' => 'Хамгаалалтын лог',
-'protectlogtext' => 'доорх нь түгжигдсэн ба түгжигдээгүй хуудасны лист.',
+'protectlogtext' => 'Энд хуудсын хамгаалалтын өөрчлөлтүүдийн жагсаалтууд байна.
+[[Special:ProtectedPages|хамгаалагдсан хуудсын жагсаалт]] -руу орж одоогоор хүчинтэй байгаа хуудасны хамгаалалтыг харна уу.',
'protectedarticle' => '"[[$1]]"-г хамгааллаа',
'modifiedarticleprotection' => '"[[$1]]"-н хамгаалалтын түвшинг өөрчиллөө',
'unprotectedarticle' => '"[[$1]]"-ны хамгаалалтыг цуцлав',
'undeletepage' => 'Устгагдсан хуудсуудыг харах ба сэргээх',
'undeletepagetitle' => "'''Дараах нь [[:$1|$1]]-н устгагдсан засварууд юм.'''",
'viewdeletedpage' => 'Устгагдсан хуудсуудыг харах',
-'undeletepagetext' => 'Дараах хуудсууд устгагдсан боловч одоогоор сэргээж болохоор төлөвт байна.',
+'undeletepagetext' => '{{PLURAL:$1|Энэ хуудас|Дараах $1 хуудсууд}} устгагдсан хэдий ч нөөцөд байгаа учраас сэргээх боломжтой.
+Нөөцийг үе үе цэвэрлэдэг болохыг анхаараарай.',
'undelete-fieldset-title' => 'Засваруудыг сэргээх',
-'undeleteextrahelp' => "Бүхэл хуудсыг сэргээхийн тулд бүх жижиг дөрвөлжингүүдийг сонгохгүй үлдээгээд '''''Сэргээх''''' товчийг дар. Зарим хувилбаруудыг сэргээхийн тулд сэргээх хувилбаруудын өмнөх жижиг дөрвөлжинг идэвхжүүлээд '''''Сэргээх''''' товчийг дар. '''''Дахин эхлүүлэх''''' товчийг дарснаар тайлбарын талбар ба бүх жижиг дөрвөлжингүүд хоосон болно",
+'undeleteextrahelp' => "Бүхэл хуудсыг сэргээхийн тулд бүх жижиг дөрвөлжингүүдийг сонгохгүй үлдээгээд '''''{{int:undeletebtn}}''''' товчийг дар.
+Зарим хувилбаруудыг сэргээхийн тулд сэргээх хувилбаруудын өмнөх жижиг дөрвөлжинг идэвхжүүлээд '''''{{int:undeletebtn}}''''' товчийг дар.",
'undeleterevisions' => '$1 хувилбар архивлагдлаа',
-'undeletehistory' => 'Хэрэв та энэ хуудсыг сэргээвэл түүний өмнөх бүх хувилбарууд нь түүх рүү сэргээгдэж бичигдэнэ. Хэрэв үүнийг устгаснаас хойш үүнтэй адил нэртэй шинэ хуудас үүсгэгдсэн бол сэргээгдсэн хувилбарууд түүх хэсэгт гарч ирэх боловч одоо байгаа бодит хуудсыг автоматаар солихгүй.',
+'undeletehistory' => 'Хэрэв энэ хуудсыг сэргээвэл өмнөх бүх залруулгууд түүх байдлаар сэргээгдэх болно .
+Хэрэв адил нэртэй шинэ хуудас үүсгэгдсэн байгаа бол сэргээгдсэн хувилбарууд түүх хэсэгт гарч ирэх боловч одоо байгаа хуудсыг шууд солихгүй.',
'undeleterevdel' => 'Дээд хуудас буюу файлын засвар бага зэргээр устгагдах явдал гарах бол хуудас сэргээгдэхгүй.
Ийм тохиолдолд та хамгийн сүүлд устгагдсан засварыг нууцлахаа, эсвэл тэмдэглэхээ болих шаардлагатай.',
'undeletehistorynoadmin' => 'Энэ өгүүлэл устгагдсан. Үүний устгагдсан шалтгаан нь устгалын өмнө энэ хуудсыг засварласан хэрэглэгчдийн тухай мэдээллүүдтэй хамт доорх тайланд өгөгдсөн байгаа. Эдгээр устгагдсан хувилбаруудад яг юу байсныг зөвхөн администраторууд л харж чадна.',
'ipb-change-block' => 'Эдгээр тохиргоотойгоор энэ хэрэглэгчийг дахин түгжих',
'badipaddress' => 'Хүчингүй IP хаяг',
'blockipsuccesssub' => 'Түгжээ амжилттай боллоо.',
-'blockipsuccesstext' => '[[Special:Contributions/$1|$1]] түгжигдсэн.
-<br />Түгжилтийн тоймыг [[Special:BlockList|түгжигдсэн IP-ийн жагсаалт]]аас үзнэ үү.',
+'blockipsuccesstext' => '[[Special:Contributions/$1|$1]] түгжигдсэн байна.
+<br />Түгжсэн тоймыг [[Special:BlockList|түгжигдсэн IP-ийн жагсаалт]] аас харна уу.',
'ipb-edit-dropdown' => 'Түгжих шалтгаануудыг засварлах',
'ipb-unblock-addr' => '$1-н түгжээг тайлах',
'ipb-unblock' => 'Хэрэглэгчийн нэр эсвэл IP хаягийн түгжээг тайлах',
Лавлагааны зориулалтаар далдлагааны логийг доор оруулав:',
'blocklogentry' => '[[$1]] нь $2 $3 хугацаатайгаар түгжигдсэн',
'reblock-logentry' => '[[$1]]-н түгжээний тохиргоог $2 $3 хугацаатай болгож өөрчилсөн',
-'blocklogtext' => 'Энэ нь хэрэглэгчийг түгжсэн болон тайлсан үйлдлийн лог юм.
-Автоматаар түгжигдсэн IP хаягууд жагсаагдаагүй.
-[[Special:BlockList|IP хаягийн түгжээний жагсаалтыг]] харж одоо түгжигдсэн хаягуудыг харна уу.',
+'blocklogtext' => 'Энд хэрэглэгчийг түгжсэн болон түгжээг тайлсан лог байна.
+Автоматаар түгжигдсэн IP хаягууд жагсаагтад ороогүй болно.
+[[Special:BlockList|IP Ñ\85аÑ\8fгийн Ñ\82үгжÑ\8dÑ\8dний жагÑ\81аалÑ\82Ñ\8bг]] Ñ\85аÑ\80ж одоо Ñ\82үгжигдÑ\81Ñ\8dн Ñ\8dÑ\81вÑ\8dл Ñ\85оÑ\80ионд байгаа Ñ\85аÑ\8fгÑ\83Ñ\83дÑ\8bг Ñ\85аÑ\80на Ñ\83Ñ\83.',
'unblocklogentry' => '$1 идэвхтэй',
'block-log-flags-anononly' => 'зөвхөн нэргүй хэрэглэгчид',
'block-log-flags-nocreate' => 'Бүртгэл үүсгэх боломжгүй',
# Spam protection
'spamprotectiontitle' => 'Спамаас хамгаалах шүүлтүүр',
-'spamprotectiontext' => 'ТанÑ\8b Ñ\85адгалаÑ\85Ñ\8bг Ñ\85Ò¯Ñ\81Ñ\81Ñ\8dн Ñ\85Ñ\83Ñ\83даÑ\81 Ñ\81памааÑ\81 Ñ\85амгаалаÑ\85 Ñ\88үүлÑ\82Ò¯Ò¯Ñ\80Ñ\8dÑ\8dÑ\80 Ñ\85аагдлаа.
-ÐнÑ\8d нÑ\8c гаднÑ\8b Ñ\81айÑ\82 Ñ\80Ñ\83Ñ\83Ñ\85 Ñ\85олбооÑ\81нÑ\8b Ñ\83лмааÑ\81 гаÑ\80Ñ\81ан байж магадгүй.',
+'spamprotectiontext' => 'СпамааÑ\81 Ñ\85амгаалаÑ\85 Ñ\88үүлÑ\82Ò¯Ò¯Ñ\80 Ñ\82анÑ\8b Ñ\85адгалаÑ\85Ñ\8bг Ñ\85Ò¯Ñ\81Ñ\81Ñ\8dн Ñ\85Ñ\83Ñ\83дÑ\81Ñ\8bг Ñ\85ааÑ\81ан байна.
+ХаÑ\80 данÑ\81ад оÑ\80Ñ\81он гаднÑ\8b Ñ\81айÑ\82Ñ\82ай Ñ\85олбооÑ\82ой байÑ\81нааÑ\81 болÑ\81он бололÑ\82ой.',
'spamprotectionmatch' => 'Дараах текст нь манай спамаас хамгаалах шүүлтүүрт баригдлаа: $1',
'spambot_username' => 'МедиаВикигийн спамыг цэвэрлэх',
'spam_reverting' => '$1 руух холбоосгүй хамгийн сүүлийн хувилбар руу шилжүүлж байна',
'markaspatrolleddiff' => 'Хяналтанд авъя',
'markaspatrolledtext' => 'Үүнийг хяналтанд авъя',
'markedaspatrolled' => 'Хяналтанд авсан',
-'markedaspatrolledtext' => 'СонгоÑ\81он нэмэлт/өөрчлөлтийг хяналтанд авлаа.',
+'markedaspatrolledtext' => 'Уг Ñ\81онгоÑ\81он [[:$1]] нэмэлт/өөрчлөлтийг хяналтанд авлаа.',
'rcpatroldisabled' => 'Сүүлийн өөрчлөлтүүдийн эргүүл хаагдсан байна',
'rcpatroldisabledtext' => 'Сүүлийн өөрчлөлтүүдийн эргүүл одоогоор хаагдсан байна.',
'markedaspatrollederror' => 'Хяналтанд авч чадсангүй',
'nextdiff' => 'Удаах засвар →',
# Media information
-'mediawarning' => "'''Анхаар''':Энэ файл нь хор нөлөөтэй код агуулсан байж болзошгүй, хэрвээ ачааллавал таны системийн аюулгүй байдал доройтож болзошгүй.",
-'imagemaxsize' => 'Доорх шаардлагын дагуу зургын хуудсанд хязгаарлалт хийлээ:',
+'mediawarning' => "'''Анхаар''': Энэ файл нь хор нөлөөтэй код агуулсан байж болзошгүй, үүнийг ачааллах аваас системийн хамгаалалт тань доройтож болзошгүй.",
+'imagemaxsize' => "Зурагны хэмжээний хязгаар :<br />''(файлын тайлбар хуудсууд)''",
'thumbsize' => 'Жижиг зургийн хэмжээ:',
'widthheightpage' => '$1 × $2, $3 {{PLURAL:$3|хуудас|хуудас}}',
'file-info' => 'файлын хэмжээ: $1, MIME төрөл: $2',
'exif-colorspace' => 'Өнгөний завсар',
'exif-componentsconfiguration' => 'Бүх бүрэлдэхүүн хэсгүүдийн утга',
'exif-compressedbitsperpixel' => 'Зургийн файлыг шахах арга',
-'exif-pixelydimension' => 'Зургийн хүчинтэй өргөн',
-'exif-pixelxdimension' => 'Зургийн хүчинтэй өндөр',
+'exif-pixelydimension' => 'Зургийн өргөн',
+'exif-pixelxdimension' => 'Зургийн өндөр',
'exif-usercomment' => 'Хэрэглэгчдийн тэмдэглэл',
'exif-relatedsoundfile' => 'Холбоотой дуун файл',
'exif-datetimeoriginal' => 'Мэдээллийг үүсгэсэн огноо ба цаг',
'exif-exposureprogram' => 'Гэрэл өгөх хугацааны программ',
'exif-spectralsensitivity' => 'Спектралийн мэдрэмтгий байдал',
'exif-isospeedratings' => 'ISO хурдны үнэлгээ',
-'exif-shutterspeedvalue' => 'Хөшигний хурд',
-'exif-aperturevalue' => 'Дурангийн өрц',
-'exif-brightnessvalue' => 'Ð\93Ñ\8dÑ\80Ñ\8dлÑ\82Ñ\8dлÑ\82',
+'exif-shutterspeedvalue' => 'Хөшигний APEX хурд \\',
+'exif-aperturevalue' => 'Дурангийн өрц \\',
+'exif-brightnessvalue' => 'ТодÑ\80ол бүдÑ\8dгÑ\80Ñ\8dл',
'exif-exposurebiasvalue' => 'Гэрэл өгөх хурдны тохиргооны хэмжээ',
'exif-maxaperturevalue' => 'Газрын диафрагмын дээд өргөн',
'exif-subjectdistance' => 'Субъектийн орших зай',
'exif-orientation-3' => '180° эргүүллээ',
'exif-orientation-4' => 'Босоогоор эргүүлэх',
'exif-orientation-5' => 'Цагийн зүүний эсрэгээр 90° эргүүлж босоогоор эргүүллээ',
-'exif-orientation-6' => 'Цагийн зүүний дагуу 90° эргүүллээ',
+'exif-orientation-6' => 'Цагийн зүүний дагуу 90° эргүүлсэн байдал',
'exif-orientation-7' => 'Цагийн зүүний дагуу 90° эргүүлж босоогоор эргүүллээ',
-'exif-orientation-8' => 'Цагийн зүүний эсрэгээр 90° эргүүллээ',
+'exif-orientation-8' => 'Цагийн зүүний эсрэг 90° эргүүлсэн байдал',
'exif-planarconfiguration-1' => 'Chunky формат',
# Pseudotags used for GPSDestDistanceRef
'exif-gpsdestdistance-k' => 'Километр',
'exif-gpsdestdistance-m' => 'Милл',
-'exif-gpsdestdistance-n' => 'тохой урт',
+'exif-gpsdestdistance-n' => 'бээр',
-'exif-objectcycle-b' => 'Өглөө оÑ\80ойн алинд ч',
+'exif-objectcycle-b' => 'ӨдөÑ\80 Ñ\87 Ñ\88өнө ч',
# Pseudotags used for GPSTrackRef, GPSImgDirectionRef and GPSDestBearingRef
'exif-gpsdirection-t' => 'Бодит чиглэл',
'revertmerge' => 'Zammefiehrung rickgängich mache',
# Diffs
-'history-title' => 'Versionsgschicht vun "$1"',
+'history-title' => 'Änarungsgschischd vun "$1"',
'lineno' => 'Zail $1:',
'compareselectedversions' => 'Die Versione mitenonner vergleiche',
'editundo' => 'zerick',
*Parameter $3 is a log comment for the merge',
'mergehistory-same-destination' => 'Error message shown on [[Special:MergeHistory]] when the user entered the same page title to both source and destination',
'mergehistory-reason' => '{{Identical|Reason}}',
+'mergehistory-revisionrow' => 'A revision row in the merge history page. Parameters:
+* $1 is a radio button to indicate a merge point,
+* $2 is a link to the last revision of a page ({{msg-mw|last}}),
+* $3 is a page link,
+* $4 is a user link,
+* $5 is a revision size,
+* $6 is a revision comment',
# Merge log
'mergelog' => 'This is the name of a log of merge actions done on [[Special:MergeHistory]]. This special page and this log is not enabled by default.',
'savedprefs' => 'Dina inställningar har sparats',
'timezonelegend' => 'Tidszon:',
'localtime' => 'Lokal tid:',
-'timezoneuseserverdefault' => 'Använd wiki standard ($1)',
+'timezoneuseserverdefault' => 'Använd wikins standard ($1)',
'timezoneuseoffset' => 'Annan (specificera skillnad)',
'timezoneoffset' => 'Skillnad¹:',
'servertime' => 'Serverns tid:',
'datedefault' => 'Chaguo-msingi',
'prefs-beta' => 'Zana za Beta',
'prefs-datetime' => 'Tarehe na saa',
+'prefs-user-pages' => 'Kurasa za watumiaji',
'prefs-personal' => 'Kuhusu mtumiaji',
'prefs-rc' => 'Mabadiliko ya karibuni',
'prefs-watchlist' => 'Maangalizi',
** Faili la nakili',
'filedelete-edit-reasonlist' => 'Kuhariri orodha ya sababu za kufuta',
'filedelete-maintenance' => 'Tovuti inarekebishwa. Kwa muda huo kufuta na kurudisha mafaili haiwezikani.',
-'filedelete-maintenance-title' => 'Faili hilifutiki',
+'filedelete-maintenance-title' => 'Faili halifutiki',
# MIME search
'mimesearch' => 'Utafutaji wa MIME',
'statistics-edits' => 'Kurasa zilizohaririwa tangu {{SITENAME}} ilivyoanzishwa',
'statistics-edits-average' => 'Wastani wa uhariri kwa kurasa',
'statistics-views-total' => 'Jumla ya mitazamaji',
-'statistics-views-total-desc' => 'Tazamo za kurasa zisizokuwepo na kurasa maalumu ambazo hazijaorodheshwa.',
+'statistics-views-total-desc' => 'Tazamo za kurasa zisizokuwepo na kurasa maalumu hazionikani.',
'statistics-views-peredit' => 'Mitazamaji kwa haririo',
'statistics-users' => '[[Special:ListUsers|Watumiaji]] waliojisajiri',
'statistics-users-active' => 'Watumiaji wanaofanya kazi',
'viewsource' => '查看源代码',
'viewsource-title' => '查看$1的源代码',
'actionthrottled' => '操作被限制',
-'actionthrottledtext' => '基于反垃圾链接的考量,您被限制在短时间内多次重复该操作,但您已超过此上限。请在数分钟后再尝试。',
+'actionthrottledtext' => '基于反垃圾的考量,您被限制在短时间内多次重复该操作,但您已超过此上限。请在数分钟后再尝试。',
'protectedpagetext' => '该页面已被保护以防止编辑。',
'viewsourcetext' => '您可以查看并复制此页面的源代码:',
'viewyourtext' => "您可以查看并复制'''您对此页面作出编辑后'''的源代码:",
'summary-preview' => '摘要預覽:',
'subject-preview' => '主題/標題預覽:',
'blockedtitle' => '用戶被查封',
-'blockedtext' => "{{GENDER:|你|妳|你}}的用戶名或IP地址已經被$1查封。
+'blockedtext' => "'''您的用戶名或IP地址已被封禁。'''
-這次查封是由$1所封的。當中的原因是''$2''。
+此次封禁操作由$1完成,封禁原因爲''$2''。
-* 這次查封開始的時間是:$8
-* 這次查封到期的時間是:$6
-* 對於被查封者:$7
-
-{{GENDER:|你|妳|你}}可以聯絡$1或者其他的[[{{MediaWiki:Grouppage-sysop}}|管理員]],討論這次查封。
-除非{{GENDER:|你|妳|你}}已經在{{GENDER:|你|妳|你}}的[[Special:Preferences|賬號參數設置]]中設定了一個有效的電子郵件地址,否則{{GENDER:|你|妳|你}}是不能使用「電郵這位用戶」的功能。當設定了一個有效的電子郵件地址後,這個功能是不會封鎖的。
+* 起始時間:$8
+* 終止時間:$6
+* 擬封禁對象:$7
-{{GENDER:|你|妳|你}}目前的IP地址是$3,而該查封ID是 #$5。 請在{{GENDER:|你|妳|你}}的查詢中註明以上所有的資料。",
+您可以聯繫$1或其他的[[{{MediaWiki:Grouppage-sysop}}|管理員]]討論此次封禁。若您已在[[Special:Preferences|帳號設置]]中配置了一個有效的電子郵件地址,且未被封禁電子郵件功能,則您可通過“發送電子郵件給這位用戶”功能來聯絡相關管理員。您當前的IP地址是$3,此次封禁的ID爲#$5。請在您的查詢中註明上述所有信息。",
'autoblockedtext' => "{{GENDER:|你|妳|你}}的IP地址已經被自動查封,由於先前的另一位用戶被$1所查封。
而查封的原因是:
'nocookiesforlogin',
'version-entrypoints-articlepath',
'version-entrypoints-scriptpath',
+ 'mergehistory-revisionrow',
);
/** EXIF messages, which may be set as optional in several checks, but are generally mandatory */
'mergehistory-autocomment',
'mergehistory-comment',
'mergehistory-same-destination',
- 'mergehistory-reason'
+ 'mergehistory-reason',
+ 'mergehistory-revisionrow'
),
'mergelog' => array(
'mergelog',
--- /dev/null
+<?php
+
+class wfGetCaller extends MediaWikiTestCase {
+
+ function testZero() {
+ $this->assertEquals( __METHOD__, wfGetCaller( 1 ) );
+ }
+
+ function callerOne() {
+ return wfGetCaller();
+ }
+
+ function testOne() {
+ $this->assertEquals( "wfGetCaller::testOne", self::callerOne() );
+ }
+
+ function intermediateFunction( $level = 2, $n = 0 ) {
+ if ( $n > 0 )
+ return self::intermediateFunction( $level, $n - 1 );
+ return wfGetCaller( $level );
+ }
+
+ function testTwo() {
+ $this->assertEquals( "wfGetCaller::testTwo", self::intermediateFunction() );
+ }
+
+ function testN() {
+ $this->assertEquals( "wfGetCaller::testN", self::intermediateFunction( 2, 0 ) );
+ $this->assertEquals( "wfGetCaller::intermediateFunction", self::intermediateFunction( 1, 0 ) );
+
+ for ($i=0; $i < 10; $i++)
+ $this->assertEquals( "wfGetCaller::intermediateFunction", self::intermediateFunction( $i + 1, $i ) );
+ }
+}
+
$this->assertEquals( array( array(
'msg' => 'Warning message',
'type' => 'warn',
- 'caller' => 'MWDebug::warning',
+ 'caller' => 'MWDebugTest::testAddWarning',
) ),
MWDebug::getLog()
);
$this->assertTextNode( "comment", $summary );
+ $this->assertTextNode( "sha1", $text_sha1 );
+
$this->assertNodeStart( "text", false );
if ( $text_bytes !== false ) {
$this->assertEquals( $this->xml->getAttribute( "bytes" ), $text_bytes,
"Attribute 'bytes' of revision " . $id );
}
-
if ( $text === false ) {
// Testing for a stub
$this->assertEquals( $this->xml->getAttribute( "id" ), $text_id,
$this->skipWhitespace();
}
- $this->assertTextNode( "sha1", $text_sha1 );
-
$this->assertNodeEnd( "revision" );
$this->skipWhitespace();
}
<ip>127.0.0.1</ip>
</contributor>
<comment>BackupDumperTestP1Summary1</comment>
- <text id="' . $this->textId1_1 . '" bytes="23" />
<sha1>0bolhl6ol7i6x0e7yq91gxgaan39j87</sha1>
+ <text id="' . $this->textId1_1 . '" bytes="23" />
</revision>
</page>
';
<ip>127.0.0.1</ip>
</contributor>
<comment>BackupDumperTestP2Summary1</comment>
- <text id="' . $this->textId2_1 . '" bytes="23" />
<sha1>jprywrymfhysqllua29tj3sc7z39dl2</sha1>
+ <text id="' . $this->textId2_1 . '" bytes="23" />
</revision>
<revision>
<id>' . $this->revId2_2 . '</id>
<ip>127.0.0.1</ip>
</contributor>
<comment>BackupDumperTestP2Summary2</comment>
- <text id="' . $this->textId2_2 . '" bytes="23" />
<sha1>b7vj5ks32po5m1z1t1br4o7scdwwy95</sha1>
+ <text id="' . $this->textId2_2 . '" bytes="23" />
</revision>
<revision>
<id>' . $this->revId2_3 . '</id>
<ip>127.0.0.1</ip>
</contributor>
<comment>BackupDumperTestP2Summary3</comment>
- <text id="' . $this->textId2_3 . '" bytes="23" />
<sha1>jfunqmh1ssfb8rs43r19w98k28gg56r</sha1>
+ <text id="' . $this->textId2_3 . '" bytes="23" />
</revision>
<revision>
<id>' . $this->revId2_4 . '</id>
<ip>127.0.0.1</ip>
</contributor>
<comment>BackupDumperTestP2Summary4 extra</comment>
- <text id="' . $this->textId2_4 . '" bytes="44" />
<sha1>6o1ciaxa6pybnqprmungwofc4lv00wv</sha1>
+ <text id="' . $this->textId2_4 . '" bytes="44" />
</revision>
</page>
';
<ip>127.0.0.1</ip>
</contributor>
<comment>Talk BackupDumperTestP1 Summary1</comment>
- <text id="' . $this->textId4_1 . '" bytes="35" />
<sha1>nktofwzd0tl192k3zfepmlzxoax1lpe</sha1>
+ <text id="' . $this->textId4_1 . '" bytes="35" />
</revision>
</page>
';