* (bug 36537) Rename wfArrayToCGI to wfArrayToCgi for consistency with wfCgiToArray.
* (bug 25946) The message on the top of Special:RecentChanges is now displayed
in user language instead of content language
+* (bug 35264) Wrong type used for <ns> in export.xsd
=== API changes in 1.20 ===
* (bug 34316) Add ability to retrieve maximum upload size from MediaWiki API.
* (bug 28814) add properties to output of action=parse
* (bug 33224) add variants of content language to meta=siteinfo
* (bug 36761) "Mark pages as visited" now submits previously established filter options
+* (bug 32643) action=purge with forcelinkupdate no longer crashes when ratelimit is reached
=== Languages updated in 1.20 ===
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
<!-- Need this to reference xml:lang -->
<import namespace="http://www.w3.org/XML/1998/namespace"
- schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+ schemaLocation="http://www.w3.org/2001/xml.xsd" />
<!-- Our root element -->
<element name="mediawiki" type="mw:MediaWikiType">
<!-- Page ID contraint, see bug 4220 -->
<unique name="PageIDConstraint">
- <selector xpath="mw:page"/>
- <field xpath="mw:id"/>
+ <selector xpath="mw:page" />
+ <field xpath="mw:id" />
</unique>
<!-- Revision ID contraint, see bug 4220 -->
<unique name="RevIDConstraint">
- <selector xpath="mw:page/mw:revision"/>
- <field xpath="mw:id"/>
+ <selector xpath="mw:page/mw:revision" />
+ <field xpath="mw:id" />
</unique>
</element>
<complexType name="MediaWikiType">
<sequence>
<element name="siteinfo" type="mw:SiteInfoType"
- minOccurs="0" maxOccurs="1"/>
+ minOccurs="0" maxOccurs="1" />
<element name="page" type="mw:PageType"
- minOccurs="0" maxOccurs="unbounded"/>
+ 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"/>
+ <attribute name="version" type="string" use="required" />
+ <attribute ref="xml:lang" use="required" />
</complexType>
<complexType name="SiteInfoType">
<simpleType name="DeletedFlagType">
<restriction base="NMTOKEN">
- <enumeration value="deleted"/>
+ <enumeration value="deleted" />
</restriction>
</simpleType>
</simpleContent>
</complexType>
+ <complexType name="RedirectType">
+ <simpleContent>
+ <extension base="string">
+ <attribute name="title" type="string" />
+ </extension>
+ </simpleContent>
+ </complexType>
+
<complexType name="PageType">
<sequence>
<!-- Title in text form. (Using spaces, not underscores; with namespace ) -->
- <element name="title" type="string"/>
+ <element name="title" type="string" />
<!-- Namespace in canonical form -->
- <element name="ns" type="positiveInteger"/>
+ <element name="ns" type="nonNegativeInteger" />
<!-- optional page ID number -->
- <element name="id" type="positiveInteger" minOccurs="0"/>
+ <element name="id" type="positiveInteger" />
<!-- flag if the current revision is a redirect -->
- <element name="redirect" type="string" minOccurs="0"/>
+ <element name="redirect" type="mw:RedirectType" minOccurs="0" maxOccurs="1" />
<!-- comma-separated list of string tokens, if present -->
- <element name="restrictions" type="string" minOccurs="0"/>
+ <element name="restrictions" type="string" minOccurs="0" />
<!-- Zero or more sets of revision or upload data -->
<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 -->
<complexType name="RevisionType">
<sequence>
- <element name="id" type="positiveInteger" minOccurs="0"/>
- <element name="timestamp" type="dateTime"/>
- <element name="contributor" type="mw:ContributorType"/>
- <element name="minor" minOccurs="0" />
- <element name="comment" type="mw:CommentType" minOccurs="0"/>
+ <element name="id" type="positiveInteger" minOccurs="0" />
+ <element name="timestamp" type="dateTime" />
+ <element name="contributor" type="mw:ContributorType" />
+ <element name="minor" minOccurs="0" maxOccurs="1" />
+ <element name="comment" type="mw:CommentType" minOccurs="0" maxOccurs="1" />
<element name="sha1" type="string" />
<element name="text" type="mw:TextType" />
</sequence>
<complexType name="LogItemType">
<sequence>
- <element name="id" type="positiveInteger" minOccurs="0"/>
- <element name="timestamp" type="dateTime"/>
- <element name="contributor" type="mw:ContributorType"/>
- <element name="comment" type="mw:CommentType" minOccurs="0"/>
+ <element name="id" type="positiveInteger" />
+ <element name="timestamp" type="dateTime" />
+ <element name="contributor" type="mw:ContributorType" />
+ <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>
<extension base="string">
<!-- This allows deleted=deleted on non-empty elements, but XSD is not omnipotent -->
- <attribute name="deleted" use="optional" type="mw:DeletedFlagType"/>
+ <attribute name="deleted" use="optional" type="mw:DeletedFlagType" />
</extension>
</simpleContent>
</complexType>
<extension base="string">
<attribute ref="xml:space" use="optional" default="preserve" />
<!-- This allows deleted=deleted on non-empty elements, but XSD is not omnipotent -->
- <attribute name="deleted" use="optional" type="mw:DeletedFlagType"/>
+ <attribute name="deleted" use="optional" type="mw:DeletedFlagType" />
<!-- This isn't a good idea; we should be using "ID" instead of "NMTOKEN" -->
<!-- However, "NMTOKEN" is strictest definition that is both compatible with existing -->
<!-- usage ([0-9]+) and with the "ID" type. -->
- <attribute name="id" type="NMTOKEN"/>
- <attribute name="bytes" use="optional" type="nonNegativeInteger"/>
+ <attribute name="id" type="NMTOKEN" />
+ <attribute name="bytes" use="optional" type="nonNegativeInteger" />
+ </extension>
+ </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="username" type="string" minOccurs="0" />
<element name="id" type="positiveInteger" minOccurs="0" />
- <element name="ip" type="string" minOccurs="0"/>
+ <element name="ip" type="string" minOccurs="0" />
</sequence>
<!-- This allows deleted=deleted on non-empty elements, but XSD is not omnipotent -->
- <attribute name="deleted" use="optional" type="mw:DeletedFlagType"/>
+ <attribute name="deleted" use="optional" type="mw:DeletedFlagType" />
</complexType>
<complexType name="UploadType">
<sequence>
<!-- Revision-style data... -->
- <element name="timestamp" type="dateTime"/>
- <element name="contributor" type="mw:ContributorType"/>
- <element name="comment" type="string" minOccurs="0"/>
+ <element name="timestamp" type="dateTime" />
+ <element name="contributor" type="mw:ContributorType" />
+ <element name="comment" type="string" minOccurs="0" />
- <!-- Filename. (Using underscores, not spaces. No 'Image:' namespace marker.) -->
- <element name="filename" type="string"/>
+ <!-- Filename. (Using underscores, not spaces. No 'File:' namespace marker.) -->
+ <element name="filename" type="string" />
<!-- URI at which this resource can be obtained -->
- <element name="src" type="anyURI"/>
+ <element name="src" type="anyURI" />
<element name="size" type="positiveInteger" />
-<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>
mediawiki/extensions$ ln -s ../../extensions-trunk/FooBarExt
-The extensions are available through svn at:
- http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/
+The extensions are available through Git:
+ https://gerrit.wikimedia.org/r/#/admin/projects/
+
+or Subversion:
+ https://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/
You can find documentation and additional extensions on MediaWiki website:
- http://www.mediawiki.org/wiki/Category:Extensions
+ https://www.mediawiki.org/wiki/Category:Extensions
Please note that under POSIX systems (Linux...), parent of a symbolic path
$this->doDelete( $reason, $suppress );
if ( $request->getCheck( 'wpWatch' ) && $user->isLoggedIn() ) {
- $this->doWatch();
+ WatchAction::doWatch( $title, $user );
} elseif ( $title->userIsWatching() ) {
- $this->doUnwatch();
+ WatchAction::doUnwatch( $title, $user );
}
return;
'DeferredUpdates' => 'includes/DeferredUpdates.php',
'DeprecatedGlobal' => 'includes/DeprecatedGlobal.php',
'DerivativeRequest' => 'includes/WebRequest.php',
- 'DeviceDetection' => 'includes/DeviceDetection.php',
- 'DeviceProperties' => 'includes/DeviceDetection.php',
+ 'DeviceDetection' => 'includes/mobile/DeviceDetection.php',
+ 'DeviceProperties' => 'includes/mobile/DeviceDetection.php',
'DiffHistoryBlob' => 'includes/HistoryBlob.php',
'DoubleReplacer' => 'includes/StringUtils.php',
'DummyLinker' => 'includes/Linker.php',
'HttpRequest' => 'includes/HttpFunctions.old.php',
'ICacheHelper' => 'includes/CacheHelper.php',
'IcuCollation' => 'includes/Collation.php',
- 'IDeviceProperties' => 'includes/DeviceDetection.php',
- 'IDeviceDetector' => 'includes/DeviceDetection.php',
+ 'IDeviceProperties' => 'includes/mobile/DeviceDetection.php',
+ 'IDeviceDetector' => 'includes/mobile/DeviceDetection.php',
'IdentityCollation' => 'includes/Collation.php',
'ImageGallery' => 'includes/ImageGallery.php',
'ImageHistoryList' => 'includes/ImagePage.php',
'DBConnectionError' => 'includes/db/DatabaseError.php',
'DBError' => 'includes/db/DatabaseError.php',
'DBObject' => 'includes/db/DatabaseUtility.php',
+ 'IORMRow' => 'includes/db/IORMRow.php',
+ 'IORMTable' => 'includes/db/IORMTable.php',
'DBMasterPos' => 'includes/db/DatabaseUtility.php',
'DBQueryError' => 'includes/db/DatabaseError.php',
'DBUnexpectedError' => 'includes/db/DatabaseError.php',
);
}
- return "($prevLink) ($nextLink)";
+ return $this->msg('categoryviewer-pagedlinks')->rawParams($prevLink, $nextLink)->escaped();
}
/**
array_push( $users, $text );
}
- $users = ' <span class="changedby">[' .
- implode( $this->message['semicolon-separator'], $users ) . ']</span>';
+ $users = ' <span class="changedby">'
+ . $this->getContext()->msg( 'brackets' )->rawParams(
+ implode( $this->message['semicolon-separator'], $users )
+ )->plain() . '</span>';
$tl = '<span class="mw-collapsible-toggle mw-enhancedchanges-arrow"></span>';
$r .= "<td>$tl</td>";
+++ /dev/null
-<?php
-/**
- * Mobile device detection code
- *
- * Copyright © 2011 Patrick Reilly
- * http://www.mediawiki.org/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- *
- * @file
- */
-
-/**
- * Base for classes describing devices and their capabilities
- * @since 1.20
- */
-interface IDeviceProperties {
- /**
- * @return string: 'html' or 'wml'
- */
- function format();
-
- /**
- * @return bool
- */
- function supportsJavaScript();
-
- /**
- * @return bool
- */
- function supportsJQuery();
-
- /**
- * @return bool
- */
- function disableZoom();
-}
-
-/**
- * @since 1.20
- */
-interface IDeviceDetector {
- /**
- * @param $userAgent
- * @param string $acceptHeader
- * @return IDeviceProperties
- */
- function detectDeviceProperties( $userAgent, $acceptHeader = '' );
-
- /**
- * @param $deviceName
- * @return IDeviceProperties
- */
- function getDeviceProperties( $deviceName );
-
- /**
- * @param $userAgent string
- * @param $acceptHeader string
- * @return string
- */
- function detectDeviceName( $userAgent, $acceptHeader = '' );
-}
-
-/**
- * MediaWiki's default IDeviceProperties implementation
- */
-final class DeviceProperties implements IDeviceProperties {
- private $device;
-
- public function __construct( array $deviceCapabilities ) {
- $this->device = $deviceCapabilities;
- }
-
- /**
- * @return string
- */
- function format() {
- return $this->device['view_format'];
- }
-
- /**
- * @return bool
- */
- function supportsJavaScript() {
- return $this->device['supports_javascript'];
- }
-
- /**
- * @return bool
- */
- function supportsJQuery() {
- return $this->device['supports_jquery'];
- }
-
- /**
- * @return bool
- */
- function disableZoom() {
- return $this->device['disable_zoom'];
- }
-}
-
-/**
- * Provides abstraction for a device.
- * A device can select which format a request should receive and
- * may be extended to provide access to particular device functionality.
- * @since 1.20
- */
-class DeviceDetection implements IDeviceDetector {
-
- private static $formats = array (
- 'html' => array (
- 'view_format' => 'html',
- 'css_file_name' => 'default',
- 'supports_javascript' => false,
- 'supports_jquery' => false,
- 'disable_zoom' => true,
- ),
- 'capable' => array (
- 'view_format' => 'html',
- 'css_file_name' => 'default',
- 'supports_javascript' => true,
- 'supports_jquery' => true,
- 'disable_zoom' => true,
- ),
- 'webkit' => array (
- 'view_format' => 'html',
- 'css_file_name' => 'webkit',
- 'supports_javascript' => true,
- 'supports_jquery' => true,
- 'disable_zoom' => false,
- ),
- 'ie' => array (
- 'view_format' => 'html',
- 'css_file_name' => 'default',
- 'supports_javascript' => true,
- 'supports_jquery' => true,
- 'disable_zoom' => false,
- ),
- 'android' => array (
- 'view_format' => 'html',
- 'css_file_name' => 'android',
- 'supports_javascript' => true,
- 'supports_jquery' => true,
- 'disable_zoom' => false,
- ),
- 'iphone' => array (
- 'view_format' => 'html',
- 'css_file_name' => 'iphone',
- 'supports_javascript' => true,
- 'supports_jquery' => true,
- 'disable_zoom' => false,
- ),
- 'iphone2' => array (
- 'view_format' => 'html',
- 'css_file_name' => 'iphone2',
- 'supports_javascript' => true,
- 'supports_jquery' => true,
- 'disable_zoom' => true,
- ),
- 'native_iphone' => array (
- 'view_format' => 'html',
- 'css_file_name' => 'default',
- 'supports_javascript' => true,
- 'supports_jquery' => true,
- 'disable_zoom' => false,
- ),
- 'palm_pre' => array (
- 'view_format' => 'html',
- 'css_file_name' => 'palm_pre',
- 'supports_javascript' => true,
- 'supports_jquery' => false,
- 'disable_zoom' => true,
- ),
- 'kindle' => array (
- 'view_format' => 'html',
- 'css_file_name' => 'kindle',
- 'supports_javascript' => false,
- 'supports_jquery' => false,
- 'disable_zoom' => true,
- ),
- 'kindle2' => array (
- 'view_format' => 'html',
- 'css_file_name' => 'kindle',
- 'supports_javascript' => false,
- 'supports_jquery' => false,
- 'disable_zoom' => true,
- ),
- 'blackberry' => array (
- 'view_format' => 'html',
- 'css_file_name' => 'blackberry',
- 'supports_javascript' => true,
- 'supports_jquery' => false,
- 'disable_zoom' => true,
- ),
- 'blackberry-lt5' => array (
- 'view_format' => 'html',
- 'css_file_name' => 'blackberry',
- 'supports_javascript' => false,
- 'supports_jquery' => false,
- 'disable_zoom' => true,
- ),
- 'netfront' => array (
- 'view_format' => 'html',
- 'css_file_name' => 'simple',
- 'supports_javascript' => false,
- 'supports_jquery' => false,
- 'disable_zoom' => true,
- ),
- 'wap2' => array (
- 'view_format' => 'html',
- 'css_file_name' => 'simple',
- 'supports_javascript' => false,
- 'supports_jquery' => false,
- 'disable_zoom' => true,
- ),
- 'psp' => array (
- 'view_format' => 'html',
- 'css_file_name' => 'psp',
- 'supports_javascript' => false,
- 'supports_jquery' => false,
- 'disable_zoom' => true,
- ),
- 'ps3' => array (
- 'view_format' => 'html',
- 'css_file_name' => 'simple',
- 'supports_javascript' => false,
- 'supports_jquery' => false,
- 'disable_zoom' => true,
- ),
- 'wii' => array (
- 'view_format' => 'html',
- 'css_file_name' => 'wii',
- 'supports_javascript' => true,
- 'supports_jquery' => true,
- 'disable_zoom' => true,
- ),
- 'operamini' => array (
- 'view_format' => 'html',
- 'css_file_name' => 'operamini',
- 'supports_javascript' => false,
- 'supports_jquery' => false,
- 'disable_zoom' => true,
- ),
- 'operamobile' => array (
- 'view_format' => 'html',
- 'css_file_name' => 'operamobile',
- 'supports_javascript' => true,
- 'supports_jquery' => true,
- 'disable_zoom' => true,
- ),
- 'nokia' => array (
- 'view_format' => 'html',
- 'css_file_name' => 'nokia',
- 'supports_javascript' => true,
- 'supports_jquery' => false,
- 'disable_zoom' => true,
- ),
- 'wml' => array (
- 'view_format' => 'wml',
- 'css_file_name' => null,
- 'supports_javascript' => false,
- 'supports_jquery' => false,
- 'disable_zoom' => true,
- ),
- );
-
- /**
- * Returns an instance of detection class, overridable by extensions
- * @return IDeviceDetector
- */
- public static function factory() {
- global $wgDeviceDetectionClass;
-
- static $instance = null;
- if ( !$instance ) {
- $instance = new $wgDeviceDetectionClass();
- }
- return $instance;
- }
-
- /**
- * @deprecated: Deprecated, will be removed once detectDeviceProperties() will be deployed everywhere on WMF
- * @param $userAgent
- * @param string $acceptHeader
- * @return array
- */
- public function detectDevice( $userAgent, $acceptHeader = '' ) {
- $formatName = $this->detectFormatName( $userAgent, $acceptHeader );
- return $this->getDevice( $formatName );
- }
-
- /**
- * @param $userAgent
- * @param string $acceptHeader
- * @return IDeviceProperties
- */
- public function detectDeviceProperties( $userAgent, $acceptHeader = '' ) {
- $deviceName = $this->detectDeviceName( $userAgent, $acceptHeader );
- return $this->getDeviceProperties( $deviceName );
- }
-
- /**
- * @deprecated: Deprecated, will be removed once detectDeviceProperties() will be deployed everywhere on WMF
- * @param $formatName
- * @return array
- */
- public function getDevice( $formatName ) {
- return ( isset( self::$formats[$formatName] ) ) ? self::$formats[$formatName] : array();
- }
-
- /**
- * @param $deviceName
- * @return IDeviceProperties
- */
- public function getDeviceProperties( $deviceName ) {
- if ( isset( self::$formats[$deviceName] ) ) {
- return new DeviceProperties( self::$formats[$deviceName] );
- } else {
- return new DeviceProperties( array(
- 'view_format' => 'html',
- 'css_file_name' => 'default',
- 'supports_javascript' => true,
- 'supports_jquery' => true,
- 'disable_zoom' => true,
- ) );
- }
- }
-
- /**
- * @deprecated: Renamed to detectDeviceName()
- * @param $userAgent string
- * @param $acceptHeader string
- * @return string
- */
- public function detectFormatName( $userAgent, $acceptHeader = '' ) {
- return $this->detectDeviceName( $userAgent, $acceptHeader );
- }
-
- /**
- * @param $userAgent string
- * @param $acceptHeader string
- * @return string
- */
- public function detectDeviceName( $userAgent, $acceptHeader = '' ) {
- wfProfileIn( __METHOD__ );
-
- $deviceName = '';
- if ( preg_match( '/Android/', $userAgent ) ) {
- $deviceName = 'android';
- if ( strpos( $userAgent, 'Opera Mini' ) !== false ) {
- $deviceName = 'operamini';
- }
- } else if ( preg_match( '/MSIE 9.0/', $userAgent ) ||
- preg_match( '/MSIE 8.0/', $userAgent ) ) {
- $deviceName = 'ie';
- } else if( preg_match( '/MSIE/', $userAgent ) ) {
- $deviceName = 'html';
- } else if ( strpos( $userAgent, 'Opera Mobi' ) !== false ) {
- $deviceName = 'operamobile';
- } elseif ( preg_match( '/iPad.* Safari/', $userAgent ) ) {
- $deviceName = 'iphone';
- } elseif ( preg_match( '/iPhone.* Safari/', $userAgent ) ) {
- if ( strpos( $userAgent, 'iPhone OS 2' ) !== false ) {
- $deviceName = 'iphone2';
- } else {
- $deviceName = 'iphone';
- }
- } elseif ( preg_match( '/iPhone/', $userAgent ) ) {
- if ( strpos( $userAgent, 'Opera' ) !== false ) {
- $deviceName = 'operamini';
- } else {
- $deviceName = 'native_iphone';
- }
- } elseif ( preg_match( '/WebKit/', $userAgent ) ) {
- if ( preg_match( '/Series60/', $userAgent ) ) {
- $deviceName = 'nokia';
- } elseif ( preg_match( '/webOS/', $userAgent ) ) {
- $deviceName = 'palm_pre';
- } else {
- $deviceName = 'webkit';
- }
- } elseif ( preg_match( '/Opera/', $userAgent ) ) {
- if ( strpos( $userAgent, 'Nintendo Wii' ) !== false ) {
- $deviceName = 'wii';
- } elseif ( strpos( $userAgent, 'Opera Mini' ) !== false ) {
- $deviceName = 'operamini';
- } elseif ( strpos( $userAgent, 'Opera Mobi' ) !== false ) {
- $deviceName = 'iphone';
- } else {
- $deviceName = 'webkit';
- }
- } elseif ( preg_match( '/Kindle\/1.0/', $userAgent ) ) {
- $deviceName = 'kindle';
- } elseif ( preg_match( '/Kindle\/2.0/', $userAgent ) ) {
- $deviceName = 'kindle2';
- } elseif ( preg_match( '/Firefox/', $userAgent ) ) {
- $deviceName = 'capable';
- } elseif ( preg_match( '/NetFront/', $userAgent ) ) {
- $deviceName = 'netfront';
- } elseif ( preg_match( '/SEMC-Browser/', $userAgent ) ) {
- $deviceName = 'wap2';
- } elseif ( preg_match( '/Series60/', $userAgent ) ) {
- $deviceName = 'wap2';
- } elseif ( preg_match( '/PlayStation Portable/', $userAgent ) ) {
- $deviceName = 'psp';
- } elseif ( preg_match( '/PLAYSTATION 3/', $userAgent ) ) {
- $deviceName = 'ps3';
- } elseif ( preg_match( '/SAMSUNG/', $userAgent ) ) {
- $deviceName = 'capable';
- } elseif ( preg_match( '/BlackBerry/', $userAgent ) ) {
- if( preg_match( '/BlackBerry[^\/]*\/[1-4]\./', $userAgent ) ) {
- $deviceName = 'blackberry-lt5';
- } else {
- $deviceName = 'blackberry';
- }
- }
-
- if ( $deviceName === '' ) {
- if ( strpos( $acceptHeader, 'application/vnd.wap.xhtml+xml' ) !== false ) {
- // Should be wap2
- $deviceName = 'html';
- } elseif ( strpos( $acceptHeader, 'vnd.wap.wml' ) !== false ) {
- $deviceName = 'wml';
- } else {
- $deviceName = 'html';
- }
- }
- wfProfileOut( __METHOD__ );
- return $deviceName;
- }
-
- /**
- * @return array: List of all device-specific stylesheets
- */
- public function getCssFiles() {
- $files = array();
-
- foreach ( self::$formats as $dev ) {
- if ( isset( $dev['css_file_name'] ) ) {
- $files[] = $dev['css_file_name'];
- }
- }
- return array_unique( $files );
- }
-}
} elseif ( self::isCommandLine() ) {
MWExceptionHandler::printError( $this->getText() );
} else {
+ header( "HTTP/1.1 500 MediaWiki exception" );
+ header( "Status: 500 MediaWiki exception", true );
+
$this->reportHTML();
}
}
* @return string
*/
function schemaVersion() {
- return "0.6";
+ return "0.7";
}
/**
"" ) . "\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;
}
} else {
$contents = '';
}
+ if ( $file->isDeleted( File::DELETED_COMMENT ) ) {
+ $comment = Xml::element( 'comment', array( 'deleted' => 'deleted' ) );
+ } else {
+ $comment = Xml::elementClean( 'comment', null, $file->getDescription() );
+ }
return " <upload>\n" .
$this->writeTimestamp( $file->getTimestamp() ) .
$this->writeContributor( $file->getUser( 'id' ), $file->getUser( 'text' ) ) .
- " " . Xml::elementClean( 'comment', null, $file->getDescription() ) . "\n" .
+ " " . $comment . "\n" .
" " . Xml::element( 'filename', null, $file->getName() ) . "\n" .
$archiveName .
" " . Xml::element( 'src', null, $file->getCanonicalUrl() ) . "\n" .
}
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 {
return $tmp;
}
}
- if( function_exists( 'sys_get_temp_dir' ) ) {
- return sys_get_temp_dir();
- }
- # Usual defaults
- return wfIsWindows() ? 'C:\Windows\Temp' : '/tmp';
+ return sys_get_temp_dir();
}
/**
protected $mButtons = array();
protected $mWrapperLegend = false;
-
+
/**
* If true, sections that contain both fields and subsections will
* render their subsections before their fields.
- *
+ *
* Subclasses may set this to false to render subsections after fields
* instead.
*/
protected $mSubSectionBeforeFields = true;
+ /**
+ * Format in which to display form. For viable options,
+ * @see $availableDisplayFormats
+ * @var String
+ */
+ protected $displayFormat = 'table';
+
+ /**
+ * Available formats in which to display the form
+ * @var Array
+ */
+ protected $availableDisplayFormats = array(
+ 'table',
+ 'div',
+ 'raw',
+ );
+
/**
* Build a new HTMLForm from an array of field attributes
* @param $descriptor Array of Field constructs, as described above
* @param $messagePrefix String a prefix to go in front of default messages
*/
public function __construct( $descriptor, /*IContextSource*/ $context = null, $messagePrefix = '' ) {
- if( $context instanceof IContextSource ){
+ if ( $context instanceof IContextSource ) {
$this->setContext( $context );
$this->mTitle = false; // We don't need them to set a title
$this->mMessagePrefix = $messagePrefix;
} else {
// B/C since 1.18
- if( is_string( $context ) && $messagePrefix === '' ){
+ if ( is_string( $context ) && $messagePrefix === '' ) {
// it's actually $messagePrefix
$this->mMessagePrefix = $context;
}
$this->mFieldTree = $loadedDescriptor;
}
+ /**
+ * Set format in which to display the form
+ * @param $format String the name of the format to use, must be one of
+ * $this->availableDisplayFormats
+ * @since 1.20
+ */
+ public function setDisplayFormat( $format ) {
+ if ( !in_array( $format, $this->availableDisplayFormats ) ) {
+ throw new MWException ( 'Display format must be one of ' . print_r( $this->availableDisplayFormats, true ) );
+ }
+ $this->displayFormat = $format;
+ }
+
+ /**
+ * Getter for displayFormat
+ * @since 1.20
+ * @return String
+ */
+ public function getDisplayFormat() {
+ return $this->displayFormat;
+ }
+
/**
* Add the HTMLForm-specific JavaScript, if it hasn't been
* done already.
$editToken = $this->getRequest()->getVal( 'wpEditToken' );
if ( $this->getUser()->isLoggedIn() || $editToken != null ) {
// Session tokens for logged-out users have no security value.
- // However, if the user gave one, check it in order to give a nice
+ // However, if the user gave one, check it in order to give a nice
// "session expired" error instead of "permission denied" or such.
$submit = $this->getUser()->matchEditToken( $editToken );
} else {
global $wgArticlePath;
$html = '';
- if( $this->getMethod() == 'post' ){
+ if ( $this->getMethod() == 'post' ) {
$html .= Html::hidden( 'wpEditToken', $this->getUser()->getEditToken(), array( 'id' => 'wpEditToken' ) ) . "\n";
$html .= Html::hidden( 'title', $this->getTitle()->getPrefixedText() ) . "\n";
}
* @param $fieldsetIDPrefix string ID prefix for the <fieldset> tag of each subsection, ignored if empty
* @return String
*/
- function displaySection( $fields, $sectionName = '', $fieldsetIDPrefix = '' ) {
- $tableHtml = '';
+ public function displaySection( $fields, $sectionName = '', $fieldsetIDPrefix = '' ) {
+ $displayFormat = $this->getDisplayFormat();
+
+ $html = '';
$subsectionHtml = '';
- $hasLeftColumn = false;
+ $hasLabel = false;
+
+ $getFieldHtmlMethod = ( $displayFormat == 'table' ) ? 'getTableRow' : 'get' . ucfirst( $displayFormat );
foreach ( $fields as $key => $value ) {
- if ( is_object( $value ) ) {
+ if ( $value instanceof HTMLFormField ) {
$v = empty( $value->mParams['nodata'] )
? $this->mFieldData[$key]
: $value->getDefault();
- $tableHtml .= $value->getTableRow( $v );
+ $html .= $value->$getFieldHtmlMethod( $v );
- if ( $value->getLabel() != ' ' ) {
- $hasLeftColumn = true;
+ $labelValue = trim( $value->getLabel() );
+ if ( $labelValue != ' ' && $labelValue !== '' ) {
+ $hasLabel = true;
}
} elseif ( is_array( $value ) ) {
$section = $this->displaySection( $value, $key );
}
}
- $classes = array();
+ if ( $displayFormat !== 'raw' ) {
+ $classes = array();
- if ( !$hasLeftColumn ) { // Avoid strange spacing when no labels exist
- $classes[] = 'mw-htmlform-nolabel';
- }
+ if ( !$hasLabel ) { // Avoid strange spacing when no labels exist
+ $classes[] = 'mw-htmlform-nolabel';
+ }
- $attribs = array(
- 'class' => implode( ' ', $classes ),
- );
+ $attribs = array(
+ 'class' => implode( ' ', $classes ),
+ );
- if ( $sectionName ) {
- $attribs['id'] = Sanitizer::escapeId( "mw-htmlform-$sectionName" );
- }
+ if ( $sectionName ) {
+ $attribs['id'] = Sanitizer::escapeId( "mw-htmlform-$sectionName" );
+ }
- $tableHtml = Html::rawElement( 'table', $attribs,
- Html::rawElement( 'tbody', array(), "\n$tableHtml\n" ) ) . "\n";
+ if ( $displayFormat === 'table' ) {
+ $html = Html::rawElement( 'table', $attribs,
+ Html::rawElement( 'tbody', array(), "\n$html\n" ) ) . "\n";
+ } elseif ( $displayFormat === 'div' ) {
+ $html = Html::rawElement( 'div', $attribs, "\n$html\n" );
+ }
+ }
if ( $this->mSubSectionBeforeFields ) {
- return $subsectionHtml . "\n" . $tableHtml;
+ return $subsectionHtml . "\n" . $html;
} else {
- return $tableHtml . "\n" . $subsectionHtml;
+ return $html . "\n" . $subsectionHtml;
}
}
$this->mFilterCallback = $params['filter-callback'];
}
- if ( isset( $params['flatlist'] ) ){
+ if ( isset( $params['flatlist'] ) ) {
$this->mClass .= ' mw-htmlform-flatlist';
}
}
* @return String complete HTML table row.
*/
function getTableRow( $value ) {
- # Check for invalid data.
-
- $errors = $this->validate( $value, $this->mParent->mFieldData );
-
+ list( $errors, $errorClass ) = $this->getErrorsAndErrorClass( $value );
+ $inputHtml = $this->getInputHTML( $value );
+ $fieldType = get_class( $this );
+ $helptext = $this->getHelpTextHtmlTable( $this->getHelpText() );
$cellAttributes = array();
- $verticalLabel = false;
- if ( !empty($this->mParams['vertical-label']) ) {
+ if ( !empty( $this->mParams['vertical-label'] ) ) {
$cellAttributes['colspan'] = 2;
$verticalLabel = true;
- }
-
- if ( $errors === true || ( !$this->mParent->getRequest()->wasPosted() && ( $this->mParent->getMethod() == 'post' ) ) ) {
- $errors = '';
- $errorClass = '';
} else {
- $errors = self::formatErrors( $errors );
- $errorClass = 'mw-htmlform-invalid-input';
+ $verticalLabel = false;
}
$label = $this->getLabelHtml( $cellAttributes );
+
$field = Html::rawElement(
'td',
array( 'class' => 'mw-input' ) + $cellAttributes,
- $this->getInputHTML( $value ) . "\n$errors"
+ $inputHtml . "\n$errors"
);
- $fieldType = get_class( $this );
-
if ( $verticalLabel ) {
$html = Html::rawElement( 'tr',
array( 'class' => 'mw-htmlform-vertical-label' ), $label );
$label . $field );
}
+ return $html . $helptext;
+ }
+
+ /**
+ * Get the complete div for the input, including help text,
+ * labels, and whatever.
+ * @since 1.20
+ * @param $value String the value to set the input to.
+ * @return String complete HTML table row.
+ */
+ public function getDiv( $value ) {
+ list( $errors, $errorClass ) = $this->getErrorsAndErrorClass( $value );
+ $inputHtml = $this->getInputHTML( $value );
+ $fieldType = get_class( $this );
+ $helptext = $this->getHelpTextHtmlDiv( $this->getHelpText() );
+ $cellAttributes = array();
+ $label = $this->getLabelHtml( $cellAttributes );
+
+ $field = Html::rawElement(
+ 'div',
+ array( 'class' => 'mw-input' ) + $cellAttributes,
+ $inputHtml . "\n$errors"
+ );
+ $html = Html::rawElement( 'div',
+ array( 'class' => "mw-htmlform-field-$fieldType {$this->mClass} $errorClass" ),
+ $label . $field );
+ $html .= $helptext;
+ return $html;
+ }
+
+ /**
+ * Get the complete raw fields for the input, including help text,
+ * labels, and whatever.
+ * @since 1.20
+ * @param $value String the value to set the input to.
+ * @return String complete HTML table row.
+ */
+ public function getRaw( $value ) {
+ list( $errors, $errorClass ) = $this->getErrorsAndErrorClass( $value );
+ $inputHtml = $this->getInputHTML( $value );
+ $fieldType = get_class( $this );
+ $helptext = $this->getHelpTextHtmlRaw( $this->getHelpText() );
+ $cellAttributes = array();
+ $label = $this->getLabelHtml( $cellAttributes );
+
+ $html = "\n$errors";
+ $html .= $label;
+ $html .= $inputHtml;
+ $html .= $helptext;
+ return $html;
+ }
+
+ /**
+ * Generate help text HTML in table format
+ * @since 1.20
+ * @param $helptext String|null
+ * @return String
+ */
+ public function getHelpTextHtmlTable( $helptext ) {
+ if ( is_null( $helptext ) ) {
+ return '';
+ }
+
+ $row = Html::rawElement(
+ 'td',
+ array( 'colspan' => 2, 'class' => 'htmlform-tip' ),
+ $helptext
+ );
+ $row = Html::rawElement( 'tr', array(), $row );
+ return $row;
+ }
+
+ /**
+ * Generate help text HTML in div format
+ * @since 1.20
+ * @param $helptext String|null
+ * @return String
+ */
+ public function getHelpTextHtmlDiv( $helptext ) {
+ if ( is_null( $helptext ) ) {
+ return '';
+ }
+
+ $div = Html::rawElement( 'div', array( 'class' => 'htmlform-tip' ), $helptext );
+ return $div;
+ }
+
+ /**
+ * Generate help text HTML formatted for raw output
+ * @since 1.20
+ * @param $helptext String|null
+ * @return String
+ */
+ public function getHelpTextHtmlRaw( $helptext ) {
+ return $this->getHelpTextHtmlDiv( $helptext );
+ }
+
+ /**
+ * Determine the help text to display
+ * @since 1.20
+ * @return String
+ */
+ public function getHelpText() {
$helptext = null;
if ( isset( $this->mParams['help-message'] ) ) {
}
if ( isset( $this->mParams['help-messages'] ) ) {
- foreach( $this->mParams['help-messages'] as $name ) {
+ foreach ( $this->mParams['help-messages'] as $name ) {
$helpMessage = (array)$name;
$msg = wfMessage( array_shift( $helpMessage ), $helpMessage );
- if( $msg->exists() ) {
- if( is_null( $helptext ) ) {
+ if ( $msg->exists() ) {
+ if ( is_null( $helptext ) ) {
$helptext = '';
} else {
$helptext .= wfMessage( 'word-separator' )->escaped(); // some space
elseif ( isset( $this->mParams['help'] ) ) {
$helptext = $this->mParams['help'];
}
+ return $helptext;
+ }
- if ( !is_null( $helptext ) ) {
- $row = Html::rawElement(
- 'td',
- array( 'colspan' => 2, 'class' => 'htmlform-tip' ),
- $helptext
- );
- $row = Html::rawElement( 'tr', array(), $row );
- $html .= "$row\n";
- }
+ /**
+ * Determine form errors to display and their classes
+ * @since 1.20
+ * @param $value String the value of the input
+ * @return Array
+ */
+ public function getErrorsAndErrorClass( $value ) {
+ $errors = $this->validate( $value, $this->mParent->mFieldData );
- return $html;
+ if ( $errors === true || ( !$this->mParent->getRequest()->wasPosted() && ( $this->mParent->getMethod() == 'post' ) ) ) {
+ $errors = '';
+ $errorClass = '';
+ } else {
+ $errors = self::formatErrors( $errors );
+ $errorClass = 'mw-htmlform-invalid-input';
+ }
+ return array( $errors, $errorClass );
}
function getLabel() {
return $this->mLabel;
}
+
function getLabelHtml( $cellAttributes = array() ) {
# Don't output a for= attribute for labels with no associated input.
# Kind of hacky here, possibly we don't want these to be <label>s at all.
$for['for'] = $this->mID;
}
- return Html::rawElement( 'td', array( 'class' => 'mw-label' ) + $cellAttributes,
- Html::rawElement( 'label', $for, $this->getLabel() )
- );
+ $displayFormat = $this->mParent->getDisplayFormat();
+ $labelElement = Html::rawElement( 'label', $for, $this->getLabel() );
+
+ if ( $displayFormat == 'table' ) {
+ return Html::rawElement( 'td', array( 'class' => 'mw-label' ) + $cellAttributes,
+ Html::rawElement( 'label', $for, $this->getLabel() )
+ );
+ } elseif ( $displayFormat == 'div' ) {
+ return Html::rawElement( 'div', array( 'class' => 'mw-label' ) + $cellAttributes,
+ Html::rawElement( 'label', $for, $this->getLabel() )
+ );
+ } else {
+ return $labelElement;
+ }
}
function getDefault() {
if ( $this->mClass !== '' ) {
$attribs['class'] = $this->mClass;
}
-
+
if ( isset( $this->mParams['maxlength'] ) ) {
$attribs['maxlength'] = $this->mParams['maxlength'];
}
if ( $this->mClass !== '' ) {
$attribs['class'] = $this->mClass;
}
-
+
if ( !empty( $this->mParams['disabled'] ) ) {
$attribs['disabled'] = 'disabled';
}
if ( !empty( $this->mParams['disabled'] ) ) {
$attr['disabled'] = 'disabled';
}
-
+
if ( $this->mClass !== '' ) {
$attr['class'] = $this->mClass;
}
// Fetch the value in either one of the two following case:
// - we have a valid token (form got posted or GET forged by the user)
// - checkbox name has a value (false or true), ie is not null
- if ( $request->getCheck( 'wpEditToken' ) || $request->getVal( $this->mName )!== null ) {
+ if ( $request->getCheck( 'wpEditToken' ) || $request->getVal( $this->mName ) !== null ) {
// XOR has the following truth table, which is what we want
// INVERT VALUE | OUTPUT
// true true | false
# If one of the options' 'name' is int(0), it is automatically selected.
# because PHP sucks and thinks int(0) == 'some string'.
# Working around this by forcing all of them to strings.
- foreach( $this->mParams['options'] as &$opt ){
- if( is_int( $opt ) ){
+ foreach ( $this->mParams['options'] as &$opt ) {
+ if ( is_int( $opt ) ) {
$opt = strval( $opt );
}
}
if ( !empty( $this->mParams['disabled'] ) ) {
$select->setAttribute( 'disabled', 'disabled' );
}
-
+
if ( $this->mClass !== '' ) {
$select->setAttribute( 'class', $this->mClass );
}
if ( isset( $this->mParams['maxlength'] ) ) {
$tbAttribs['maxlength'] = $this->mParams['maxlength'];
}
-
+
if ( $this->mClass !== '' ) {
$tbAttribs['class'] = $this->mClass;
}
*/
function loadDataFromRequest( $request ) {
if ( $this->mParent->getMethod() == 'post' ) {
- if( $request->wasPosted() ){
+ if ( $request->wasPosted() ) {
# Checkboxes are just not added to the request arrays if they're not checked,
# so it's perfectly possible for there not to be an entry at all
return $request->getArray( $this->mName, array() );
function __construct( $params ) {
if ( array_key_exists( 'other', $params ) ) {
- } elseif( array_key_exists( 'other-message', $params ) ){
+ } elseif ( array_key_exists( 'other-message', $params ) ) {
$params['other'] = wfMessage( $params['other-message'] )->plain();
} else {
$params['other'] = null;
if ( array_key_exists( 'options', $params ) ) {
# Options array already specified
- } elseif( array_key_exists( 'options-message', $params ) ){
+ } elseif ( array_key_exists( 'options-message', $params ) ) {
# Generate options array from a system message
$params['options'] = self::parseMessage(
wfMessage( $params['options-message'] )->inContentLanguage()->plain(),
* @return Array
* TODO: this is copied from Xml::listDropDown(), deprecate/avoid duplication?
*/
- public static function parseMessage( $string, $otherName=null ) {
- if( $otherName === null ){
+ public static function parseMessage( $string, $otherName = null ) {
+ if ( $otherName === null ) {
$otherName = wfMessage( 'htmlform-selectorother-other' )->plain();
}
$value = trim( $option );
if ( $value == '' ) {
continue;
- } elseif ( substr( $value, 0, 1) == '*' && substr( $value, 1, 1) != '*' ) {
+ } elseif ( substr( $value, 0, 1 ) == '*' && substr( $value, 1, 1 ) != '*' ) {
# A new group is starting...
$value = trim( substr( $value, 1 ) );
$optgroup = $value;
- } elseif ( substr( $value, 0, 2) == '**' ) {
+ } elseif ( substr( $value, 0, 2 ) == '**' ) {
# groupmember
$opt = trim( substr( $value, 2 ) );
- if( $optgroup === false ){
+ if ( $optgroup === false ) {
$options[$opt] = $opt;
} else {
$options[$optgroup][$opt] = $opt;
'id' => $this->mID . '-other',
'size' => $this->getSize(),
);
-
+
if ( $this->mClass !== '' ) {
$textAttribs['class'] = $this->mClass;
}
if ( $list == 'other' ) {
$final = $text;
- } elseif( !in_array( $list, $this->mFlatOptions ) ){
+ } elseif ( !in_array( $list, $this->mFlatOptions ) ) {
# User has spoofed the select form to give an option which wasn't
# in the original offer. Sulk...
$final = $text;
- } elseif( $text == '' ) {
+ } elseif ( $text == '' ) {
$final = $list;
} else {
$final = $list . wfMsgForContent( 'colon-separator' ) . $text;
$text = $final;
foreach ( $this->mFlatOptions as $option ) {
$match = $option . wfMsgForContent( 'colon-separator' );
- if( strpos( $text, $match ) === 0 ) {
+ if ( strpos( $text, $match ) === 0 ) {
$list = $option;
$text = substr( $text, strlen( $match ) );
break;
return $p;
}
- if( isset( $this->mParams['required'] ) && $value[1] === '' ){
+ if ( isset( $this->mParams['required'] ) && $value[1] === '' ) {
return wfMsgExt( 'htmlform-required', 'parseinline' );
}
* An information field (text blob), not a proper input.
*/
class HTMLInfoField extends HTMLFormField {
- function __construct( $info ) {
+ public function __construct( $info ) {
$info['nodata'] = true;
parent::__construct( $info );
}
- function getInputHTML( $value ) {
+ public function getInputHTML( $value ) {
return !empty( $this->mParams['raw'] ) ? $value : htmlspecialchars( $value );
}
- function getTableRow( $value ) {
+ public function getTableRow( $value ) {
if ( !empty( $this->mParams['rawrow'] ) ) {
return $value;
}
return parent::getTableRow( $value );
}
+ /**
+ * @since 1.20
+ */
+ public function getDiv( $value ) {
+ if ( !empty( $this->mParams['rawrow'] ) ) {
+ return $value;
+ }
+
+ return parent::getDiv( $value );
+ }
+
+ /**
+ * @since 1.20
+ */
+ public function getRaw( $value ) {
+ if ( !empty( $this->mParams['rawrow'] ) ) {
+ return $value;
+ }
+
+ return parent::getRaw( $value );
+ }
+
protected function needsLabel() {
return false;
}
return '';
}
+ /**
+ * @since 1.20
+ */
+ public function getDiv( $value ) {
+ return $this->getTableRow( $value );
+ }
+
+ /**
+ * @since 1.20
+ */
+ public function getRaw( $value ) {
+ return $this->getTableRow( $value );
+ }
+
public function getInputHTML( $value ) { return ''; }
}
*/
class HTMLSubmitField extends HTMLFormField {
- function __construct( $info ) {
+ public function __construct( $info ) {
$info['nodata'] = true;
parent::__construct( $info );
}
- function getInputHTML( $value ) {
+ public function getInputHTML( $value ) {
return Xml::submitButton(
$value,
array(
* @param $alldata Array
* @return Bool
*/
- public function validate( $value, $alldata ){
+ public function validate( $value, $alldata ) {
return true;
}
}
}
public function getTableRow( $value ) {
+ $msg = $this->formatMsg();
+
+ return '<tr><td></td><td class="mw-input">'
+ . '<div class="mw-editTools">'
+ . $msg->parseAsBlock()
+ . "</div></td></tr>\n";
+ }
+
+ /**
+ * @since 1.20
+ */
+ public function getDiv( $value ) {
+ $msg = $this->formatMsg();
+ return '<div class="mw-editTools">' . $msg->parseAsBlock() . '</div>';
+ }
+
+ /**
+ * @since 1.20
+ */
+ public function getRaw( $value ) {
+ return $this->getDiv( $value );
+ }
+
+ protected function formatMsg() {
if ( empty( $this->mParams['message'] ) ) {
$msg = wfMessage( 'edittools' );
} else {
}
}
$msg->inContentLanguage();
-
-
- return '<tr><td></td><td class="mw-input">'
- . '<div class="mw-editTools">'
- . $msg->parseAsBlock()
- . "</div></td></tr>\n";
+ return $msg;
}
}
$img = $iscur ? $file->getName() : $file->getArchiveName();
$userId = $file->getUser( 'id' );
$userText = $file->getUser( 'text' );
- $description = $file->getDescription();
+ $description = $file->getDescription( File::FOR_THIS_USER, $user );
$local = $this->current->isLocal();
$row = $selected = '';
$row .= '<td>';
if ( $iscur ) {
$row .= wfMsgHtml( 'filehist-current' );
- } elseif ( $local && $user->isLoggedIn() && $this->title->userCan( 'edit' ) ) {
+ } elseif ( $local && $this->title->quickUserCan( 'edit' )
+ && $this->title->quickUserCan( 'upload' )
+ ) {
if ( $file->isDeleted( File::DELETED_FILE ) ) {
$row .= wfMsgHtml( 'filehist-revert' );
} else {
* @return string
*/
public static function generateRollback( $rev ) {
- return '<span class="mw-rollback-link">['
- . self::buildRollbackLink( $rev )
- . ']</span>';
+ return '<span class="mw-rollback-link">'
+ . wfMessage( 'brackets' )->rawParams( self::buildRollbackLink( $rev ) )->plain()
+ . '</span>';
}
/**
$this->mId = $title->getArticleID();
assert( $this->mId > 0 );
+ 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();
$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',
);
}
/**
* Get revision ID
*
- * @return Integer
+ * @return Integer|null
*/
public function getId() {
return $this->mId;
/**
* Get text row ID
*
- * @return Integer
+ * @return Integer|null
*/
public function getTextId() {
return $this->mTextId;
/**
* Returns the length of the text in this revision, or null if unknown.
*
- * @return Integer
+ * @return Integer|null
*/
public function getSize() {
return $this->mSize;
/**
* Returns the base36 sha1 of the text in this revision, or null if unknown.
*
- * @return String
+ * @return String|null
*/
public function getSha1() {
return $this->mSha1;
}
/**
- * Returns the title of the page associated with this entry.
+ * Returns the title of the page associated with this entry or null.
+ *
+ * Will do a query, when title is not set and id is given.
*
- * @return Title
+ * @return Title|null
*/
public function getTitle() {
if( isset( $this->mTitle ) ) {
return $this->mTitle;
}
- $dbr = wfGetDB( DB_SLAVE );
- $row = $dbr->selectRow(
- array( 'page', 'revision' ),
- self::selectPageFields(),
- array( 'page_id=rev_page',
- 'rev_id' => $this->mId ),
- __METHOD__ );
- if ( $row ) {
- $this->mTitle = Title::newFromRow( $row );
+ if( !is_null( $this->mId ) ) { //rev_id is defined as NOT NULL
+ $dbr = wfGetDB( DB_SLAVE );
+ $row = $dbr->selectRow(
+ array( 'page', 'revision' ),
+ self::selectPageFields(),
+ array( 'page_id=rev_page',
+ 'rev_id' => $this->mId ),
+ __METHOD__ );
+ if ( $row ) {
+ $this->mTitle = Title::newFromRow( $row );
+ }
}
return $this->mTitle;
}
/**
* Get the page ID
*
- * @return Integer
+ * @return Integer|null
*/
public function getPage() {
return $this->mPage;
*
* @param $audience Integer: one of:
* Revision::FOR_PUBLIC to be displayed to all users
- * Revision::FOR_THIS_USER to be displayed to $wgUser
+ * Revision::FOR_THIS_USER to be displayed to the given user
* Revision::RAW get the ID regardless of permissions
* @param $user User object to check for, only if FOR_THIS_USER is passed
* to the $audience parameter
*
* @param $audience Integer: one of:
* Revision::FOR_PUBLIC to be displayed to all users
- * Revision::FOR_THIS_USER to be displayed to $wgUser
+ * Revision::FOR_THIS_USER to be displayed to the given user
* Revision::RAW get the text regardless of permissions
* @param $user User object to check for, only if FOR_THIS_USER is passed
* to the $audience parameter
*
* @param $audience Integer: one of:
* Revision::FOR_PUBLIC to be displayed to all users
- * Revision::FOR_THIS_USER to be displayed to $wgUser
+ * Revision::FOR_THIS_USER to be displayed to the given user
* Revision::RAW get the text regardless of permissions
* @param $user User object to check for, only if FOR_THIS_USER is passed
* to the $audience parameter
*
* @param $audience Integer: one of:
* Revision::FOR_PUBLIC to be displayed to all users
- * Revision::FOR_THIS_USER to be displayed to $wgUser
+ * Revision::FOR_THIS_USER to be displayed to the given user
* Revision::RAW get the text regardless of permissions
* @param $user User object to check for, only if FOR_THIS_USER is passed
* to the $audience parameter
}
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>";
}
}
if ( !MWInit::classExists( $className ) ) {
if ( !defined( 'MW_COMPILED' ) ) {
- // Preload base classes to work around APC/PHP5 bug
- $deps = "{$wgStyleDirectory}/{$skinName}.deps.php";
- if ( file_exists( $deps ) ) {
- include_once( $deps );
- }
require_once( "{$wgStyleDirectory}/{$skinName}.php" );
}
protected function saveOptions() {
global $wgAllowPrefChange;
- $extuser = ExternalUser::newFromUser( $this );
-
$this->loadOptions();
- $dbw = wfGetDB( DB_MASTER );
-
- $insert_rows = array();
+ // Not using getOptions(), to keep hidden preferences in database
$saveOptions = $this->mOptions;
// Allow hooks to abort, for instance to save to a global profile.
return;
}
+ $extuser = ExternalUser::newFromUser( $this );
+ $userId = $this->getId();
+ $insert_rows = array();
foreach( $saveOptions as $key => $value ) {
# Don't bother storing default values
- if ( ( is_null( self::getDefaultOption( $key ) ) &&
- !( $value === false || is_null($value) ) ) ||
- $value != self::getDefaultOption( $key ) ) {
+ $defaultOption = self::getDefaultOption( $key );
+ if ( ( is_null( $defaultOption ) &&
+ !( $value === false || is_null( $value ) ) ) ||
+ $value != $defaultOption ) {
$insert_rows[] = array(
- 'up_user' => $this->getId(),
+ 'up_user' => $userId,
'up_property' => $key,
'up_value' => $value,
);
}
}
- $dbw->delete( 'user_properties', array( 'up_user' => $this->getId() ), __METHOD__ );
+ $dbw = wfGetDB( DB_MASTER );
+ $dbw->delete( 'user_properties', array( 'up_user' => $userId ), __METHOD__ );
$dbw->insert( 'user_properties', $insert_rows, __METHOD__ );
}
* appearing time in the header in ascending order.
* May contain the "language" '*', which applies to languages other than those explicitly listed.
* This is aligned with rfc2616 section 14.4
+ * Preference for earlier languages appears in rfc3282 as an extension to HTTP/1.1.
*/
public function getAcceptLang() {
// Modified version of code found at http://www.thefutureoftheweb.com/blog/use-accept-language-header
$langcodes = $lang_parse[1];
$qvalues = $lang_parse[4];
$indices = range( 0, count( $lang_parse[1] ) - 1 );
+
// Set default q factor to 1
foreach ( $indices as $index ) {
if ( $qvalues[$index] === '' ) {
$qvalues[$index] = 1;
} elseif ( $qvalues[$index] == 0 ) {
- $langcodes[$index] = '';
+ unset( $langcodes[$index], $qvalues[$index], $indices[$index] );
}
}
- // Sort list
+ // Sort list. First by $qvalues, then by order. Reorder $langcodes the same way
array_multisort( $qvalues, SORT_DESC, SORT_NUMERIC, $indices, $langcodes );
+
// Create a list like "en" => 0.8
$langs = array_combine( $langcodes, $qvalues );
- if ( isset( $langs[''] ) ) {
- unset( $langs[''] );
- }
+
return $langs;
}
* @param $page Page
*/
private function performAction( Page $page ) {
+ global $wgUseSquid, $wgSquidMaxage;
+
wfProfileIn( __METHOD__ );
$request = $this->context->getRequest();
$action = Action::factory( $act, $page );
if ( $action instanceof Action ) {
+ # When it's a known action, let Squid cache things if we can purge them.
+ # If the action is unknown, we don't know what may happen in an extension,
+ # but not caching can be always safe.
+ if ( $wgUseSquid &&
+ in_array( $request->getFullRequestURL(), $title->getSquidURLs() )
+ ) {
+ $output->setSquidMaxage( $wgSquidMaxage );
+ }
+
$action->show();
wfProfileOut( __METHOD__ );
return;
}
wfProfileOut( __METHOD__ );
- if ( $row ) {
- return Revision::newFromRow( $row );
- } else {
- return null;
- }
+ return $row ? Revision::newFromRow( $row ) : null;
}
/**
wfRunHooks( 'WikiPageDeletionUpdates', array( $this, &$updates ) );
return $updates;
}
+
}
class PoolWorkArticleView extends PoolCounterWork {
* computations here. This function should returns the HTML to be cached.
* It should not add anything to the PageOutput object!
*
- * @since 1.20
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
*
- * @file CachedAction.php
- * @ingroup Action
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
*
- * @licence GNU GPL v2 or later
+ * @file
+ * @ingroup Action
* @author Jeroen De Dauw < jeroendedauw@gmail.com >
+ * @since 1.20
*/
abstract class CachedAction extends FormlessAction implements ICacheHelper {
}
}
-}
\ No newline at end of file
+}
* Page history
*
* Split off from Article.php and Skin.php, 2003-12-22
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
* @file
*/
* Print the history page for an article.
*/
function onView() {
- global $wgScript, $wgUseFileCache, $wgSquidMaxage;
+ global $wgScript, $wgUseFileCache;
$out = $this->getOutput();
$request = $this->getRequest();
wfProfileIn( __METHOD__ );
- if ( $request->getFullRequestURL() == $this->getTitle()->getInternalURL( 'action=history' ) ) {
- $out->setSquidMaxage( $wgSquidMaxage );
- }
-
$this->preCacheMessages();
# Fill in the file cache if not set already
*
* Based on HistoryPage and SpecialExport
*
- * License: GPL (http://www.gnu.org/copyleft/gpl.html)
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
*
* @author Gabriel Wicke <wicke@wikidev.net>
* @file
}
public function show(){
- global $wgSquidMaxage;
-
- $request = $this->getRequest();
- if ( $request->getFullRequestURL() == $this->getTitle()->getInternalURL() ) {
- $this->getOutput()->setSquidMaxage( $wgSquidMaxage );
- }
-
$this->page->view();
}
$pcache->save( $p_result, $page, $popts );
}
} else {
- $this->setWarning( $this->parseMsg( array( 'actionthrottledtext' ) ) );
+ $error = $this->parseMsg( array( 'actionthrottledtext' ) );
+ $this->setWarning( $error['info'] );
$forceLinkUpdate = false;
}
}
--- /dev/null
+<?php
+/**
+ * Interface for representing objects that are stored in some DB table.
+ * This is basically an ORM-like wrapper around rows in database tables that
+ * aims to be both simple and very flexible. It is centered around an associative
+ * array of fields and various methods to do common interaction with the database.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @since 1.20
+ *
+ * @file
+ * @ingroup ORM
+ *
+ * @licence GNU GPL v2 or later
+ * @author Jeroen De Dauw < jeroendedauw@gmail.com >
+ */
+
+interface IORMRow {
+
+
+ /**
+ * Constructor.
+ *
+ * @since 1.20
+ *
+ * @param IORMTable $table
+ * @param array|null $fields
+ * @param boolean $loadDefaults
+ */
+ public function __construct( IORMTable $table, $fields = null, $loadDefaults = false );
+
+ /**
+ * Load the specified fields from the database.
+ *
+ * @since 1.20
+ *
+ * @param array|null $fields
+ * @param boolean $override
+ * @param boolean $skipLoaded
+ *
+ * @return bool Success indicator
+ */
+ public function loadFields( $fields = null, $override = true, $skipLoaded = false );
+
+ /**
+ * Gets the value of a field.
+ *
+ * @since 1.20
+ *
+ * @param string $name
+ * @param mixed $default
+ *
+ * @throws MWException
+ * @return mixed
+ */
+ public function getField( $name, $default = null );
+
+ /**
+ * Gets the value of a field but first loads it if not done so already.
+ *
+ * @since 1.20
+ *
+ * @param string$name
+ *
+ * @return mixed
+ */
+ public function loadAndGetField( $name );
+
+ /**
+ * Remove a field.
+ *
+ * @since 1.20
+ *
+ * @param string $name
+ */
+ public function removeField( $name );
+
+ /**
+ * Returns the objects database id.
+ *
+ * @since 1.20
+ *
+ * @return integer|null
+ */
+ public function getId();
+
+ /**
+ * Sets the objects database id.
+ *
+ * @since 1.20
+ *
+ * @param integer|null $id
+ */
+ public function setId( $id );
+
+ /**
+ * Gets if a certain field is set.
+ *
+ * @since 1.20
+ *
+ * @param string $name
+ *
+ * @return boolean
+ */
+ public function hasField( $name );
+
+ /**
+ * Gets if the id field is set.
+ *
+ * @since 1.20
+ *
+ * @return boolean
+ */
+ public function hasIdField();
+
+ /**
+ * Sets multiple fields.
+ *
+ * @since 1.20
+ *
+ * @param array $fields The fields to set
+ * @param boolean $override Override already set fields with the provided values?
+ */
+ public function setFields( array $fields, $override = true );
+
+ /**
+ * Serializes the object to an associative array which
+ * can then easily be converted into JSON or similar.
+ *
+ * @since 1.20
+ *
+ * @param null|array $fields
+ * @param boolean $incNullId
+ *
+ * @return array
+ */
+ public function toArray( $fields = null, $incNullId = false );
+
+ /**
+ * Load the default values, via getDefaults.
+ *
+ * @since 1.20
+ *
+ * @param boolean $override
+ */
+ public function loadDefaults( $override = true );
+
+ /**
+ * Writes the answer to the database, either updating it
+ * when it already exists, or inserting it when it doesn't.
+ *
+ * @since 1.20
+ *
+ * @param string|null $functionName
+ *
+ * @return boolean Success indicator
+ */
+ public function save( $functionName = null );
+
+ /**
+ * Removes the object from the database.
+ *
+ * @since 1.20
+ *
+ * @return boolean Success indicator
+ */
+ public function remove();
+
+ /**
+ * Return the names and values of the fields.
+ *
+ * @since 1.20
+ *
+ * @return array
+ */
+ public function getFields();
+
+ /**
+ * Return the names of the fields.
+ *
+ * @since 1.20
+ *
+ * @return array
+ */
+ public function getSetFieldNames();
+
+ /**
+ * Sets the value of a field.
+ * Strings can be provided for other types,
+ * so this method can be called from unserialization handlers.
+ *
+ * @since 1.20
+ *
+ * @param string $name
+ * @param mixed $value
+ *
+ * @throws MWException
+ */
+ public function setField( $name, $value );
+
+ /**
+ * Add an amount (can be negative) to the specified field (needs to be numeric).
+ * TODO: most off this stuff makes more sense in the table class
+ *
+ * @since 1.20
+ *
+ * @param string $field
+ * @param integer $amount
+ *
+ * @return boolean Success indicator
+ */
+ public function addToField( $field, $amount );
+
+ /**
+ * Return the names of the fields.
+ *
+ * @since 1.20
+ *
+ * @return array
+ */
+ public function getFieldNames();
+
+ /**
+ * Computes and updates the values of the summary fields.
+ *
+ * @since 1.20
+ *
+ * @param array|string|null $summaryFields
+ */
+ public function loadSummaryFields( $summaryFields = null );
+
+ /**
+ * Sets the value for the @see $updateSummaries field.
+ *
+ * @since 1.20
+ *
+ * @param boolean $update
+ */
+ public function setUpdateSummaries( $update );
+
+ /**
+ * Sets the value for the @see $inSummaryMode field.
+ *
+ * @since 1.20
+ *
+ * @param boolean $summaryMode
+ */
+ public function setSummaryMode( $summaryMode );
+
+ /**
+ * Returns the table this IORMRow is a row in.
+ *
+ * @since 1.20
+ *
+ * @return IORMTable
+ */
+ public function getTable();
+
+}
\ No newline at end of file
--- /dev/null
+<?php
+/**
+ * Interface for objects representing a single database table.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @since 1.20
+ *
+ * @file
+ * @ingroup ORM
+ *
+ * @licence GNU GPL v2 or later
+ * @author Jeroen De Dauw < jeroendedauw@gmail.com >
+ */
+
+interface IORMTable {
+
+ /**
+ * Returns the name of the database table objects of this type are stored in.
+ *
+ * @since 1.20
+ *
+ * @return string
+ */
+ public function getName();
+
+ /**
+ * Returns the name of a IORMRow implementing class that
+ * represents single rows in this table.
+ *
+ * @since 1.20
+ *
+ * @return string
+ */
+ public function getRowClass();
+
+ /**
+ * Returns an array with the fields and their types this object contains.
+ * This corresponds directly to the fields in the database, without prefix.
+ *
+ * field name => type
+ *
+ * Allowed types:
+ * * id
+ * * str
+ * * int
+ * * float
+ * * bool
+ * * array
+ * * blob
+ *
+ * @since 1.20
+ *
+ * @return array
+ */
+ public function getFields();
+
+ /**
+ * Returns a list of default field values.
+ * field name => field value
+ *
+ * @since 1.20
+ *
+ * @return array
+ */
+ public function getDefaults();
+
+ /**
+ * Returns a list of the summary fields.
+ * These are fields that cache computed values, such as the amount of linked objects of $type.
+ * This is relevant as one might not want to do actions such as log changes when these get updated.
+ *
+ * @since 1.20
+ *
+ * @return array
+ */
+ public function getSummaryFields();
+
+ /**
+ * Selects the the specified fields of the records matching the provided
+ * conditions and returns them as DBDataObject. Field names get prefixed.
+ *
+ * @since 1.20
+ *
+ * @param array|string|null $fields
+ * @param array $conditions
+ * @param array $options
+ * @param string|null $functionName
+ *
+ * @return ORMResult
+ */
+ public function select( $fields = null, array $conditions = array(),
+ array $options = array(), $functionName = null );
+
+ /**
+ * Selects the the specified fields of the records matching the provided
+ * conditions and returns them as DBDataObject. Field names get prefixed.
+ *
+ * @since 1.20
+ *
+ * @param array|string|null $fields
+ * @param array $conditions
+ * @param array $options
+ * @param string|null $functionName
+ *
+ * @return array of self
+ */
+ public function selectObjects( $fields = null, array $conditions = array(),
+ array $options = array(), $functionName = null );
+
+ /**
+ * Do the actual select.
+ *
+ * @since 1.20
+ *
+ * @param null|string|array $fields
+ * @param array $conditions
+ * @param array $options
+ * @param null|string $functionName
+ *
+ * @return ResultWrapper
+ */
+ public function rawSelect( $fields = null, array $conditions = array(),
+ array $options = array(), $functionName = null );
+
+ /**
+ * Selects the the specified fields of the records matching the provided
+ * conditions and returns them as associative arrays.
+ * Provided field names get prefixed.
+ * Returned field names will not have a prefix.
+ *
+ * When $collapse is true:
+ * If one field is selected, each item in the result array will be this field.
+ * If two fields are selected, each item in the result array will have as key
+ * the first field and as value the second field.
+ * If more then two fields are selected, each item will be an associative array.
+ *
+ * @since 1.20
+ *
+ * @param array|string|null $fields
+ * @param array $conditions
+ * @param array $options
+ * @param boolean $collapse Set to false to always return each result row as associative array.
+ * @param string|null $functionName
+ *
+ * @return array of array
+ */
+ public function selectFields( $fields = null, array $conditions = array(),
+ array $options = array(), $collapse = true, $functionName = null );
+
+ /**
+ * Selects the the specified fields of the first matching record.
+ * Field names get prefixed.
+ *
+ * @since 1.20
+ *
+ * @param array|string|null $fields
+ * @param array $conditions
+ * @param array $options
+ * @param string|null $functionName
+ *
+ * @return IORMRow|bool False on failure
+ */
+ public function selectRow( $fields = null, array $conditions = array(),
+ array $options = array(), $functionName = null );
+
+ /**
+ * Selects the the specified fields of the records matching the provided
+ * conditions. Field names do NOT get prefixed.
+ *
+ * @since 1.20
+ *
+ * @param array $fields
+ * @param array $conditions
+ * @param array $options
+ * @param string|null $functionName
+ *
+ * @return ResultWrapper
+ */
+ public function rawSelectRow( array $fields, array $conditions = array(),
+ array $options = array(), $functionName = null );
+
+ /**
+ * Selects the the specified fields of the first record matching the provided
+ * conditions and returns it as an associative array, or false when nothing matches.
+ * This method makes use of selectFields and expects the same parameters and
+ * returns the same results (if there are any, if there are none, this method returns false).
+ * @see IORMTable::selectFields
+ *
+ * @since 1.20
+ *
+ * @param array|string|null $fields
+ * @param array $conditions
+ * @param array $options
+ * @param boolean $collapse Set to false to always return each result row as associative array.
+ * @param string|null $functionName
+ *
+ * @return mixed|array|bool False on failure
+ */
+ public function selectFieldsRow( $fields = null, array $conditions = array(),
+ array $options = array(), $collapse = true, $functionName = null );
+
+ /**
+ * Returns if there is at least one record matching the provided conditions.
+ * Condition field names get prefixed.
+ *
+ * @since 1.20
+ *
+ * @param array $conditions
+ *
+ * @return boolean
+ */
+ public function has( array $conditions = array() );
+
+ /**
+ * Returns the amount of matching records.
+ * Condition field names get prefixed.
+ *
+ * Note that this can be expensive on large tables.
+ * In such cases you might want to use DatabaseBase::estimateRowCount instead.
+ *
+ * @since 1.20
+ *
+ * @param array $conditions
+ * @param array $options
+ *
+ * @return integer
+ */
+ public function count( array $conditions = array(), array $options = array() );
+
+ /**
+ * Removes the object from the database.
+ *
+ * @since 1.20
+ *
+ * @param array $conditions
+ * @param string|null $functionName
+ *
+ * @return boolean Success indicator
+ */
+ public function delete( array $conditions, $functionName = null );
+
+ /**
+ * Get API parameters for the fields supported by this object.
+ *
+ * @since 1.20
+ *
+ * @param boolean $requireParams
+ * @param boolean $setDefaults
+ *
+ * @return array
+ */
+ public function getAPIParams( $requireParams = false, $setDefaults = false );
+
+ /**
+ * Returns an array with the fields and their descriptions.
+ *
+ * field name => field description
+ *
+ * @since 1.20
+ *
+ * @return array
+ */
+ public function getFieldDescriptions();
+
+ /**
+ * Get the database type used for read operations.
+ *
+ * @since 1.20
+ *
+ * @return integer DB_ enum
+ */
+ public function getReadDb();
+
+ /**
+ * Set the database type to use for read operations.
+ *
+ * @param integer $db
+ *
+ * @since 1.20
+ */
+ public function setReadDb( $db );
+
+ /**
+ * Update the records matching the provided conditions by
+ * setting the fields that are keys in the $values param to
+ * their corresponding values.
+ *
+ * @since 1.20
+ *
+ * @param array $values
+ * @param array $conditions
+ *
+ * @return boolean Success indicator
+ */
+ public function update( array $values, array $conditions = array() );
+
+ /**
+ * Computes the values of the summary fields of the objects matching the provided conditions.
+ *
+ * @since 1.20
+ *
+ * @param array|string|null $summaryFields
+ * @param array $conditions
+ */
+ public function updateSummaryFields( $summaryFields = null, array $conditions = array() );
+
+ /**
+ * Takes in an associative array with field names as keys and
+ * their values as value. The field names are prefixed with the
+ * db field prefix.
+ *
+ * @since 1.20
+ *
+ * @param array $values
+ *
+ * @return array
+ */
+ public function getPrefixedValues( array $values );
+
+ /**
+ * Takes in a field or array of fields and returns an
+ * array with their prefixed versions, ready for db usage.
+ *
+ * @since 1.20
+ *
+ * @param array|string $fields
+ *
+ * @return array
+ */
+ public function getPrefixedFields( array $fields );
+
+ /**
+ * Takes in a field and returns an it's prefixed version, ready for db usage.
+ *
+ * @since 1.20
+ *
+ * @param string|array $field
+ *
+ * @return string
+ */
+ public function getPrefixedField( $field );
+
+ /**
+ * Takes an array of field names with prefix and returns the unprefixed equivalent.
+ *
+ * @since 1.20
+ *
+ * @param array $fieldNames
+ *
+ * @return array
+ */
+ public function unprefixFieldNames( array $fieldNames );
+
+ /**
+ * Takes a field name with prefix and returns the unprefixed equivalent.
+ *
+ * @since 1.20
+ *
+ * @param string $fieldName
+ *
+ * @return string
+ */
+ public function unprefixFieldName( $fieldName );
+
+ /**
+ * Get an instance of this class.
+ *
+ * @since 1.20
+ *
+ * @return IORMTable
+ */
+ public static function singleton();
+
+ /**
+ * Get an array with fields from a database result,
+ * that can be fed directly to the constructor or
+ * to setFields.
+ *
+ * @since 1.20
+ *
+ * @param stdClass $result
+ *
+ * @return array
+ */
+ public function getFieldsFromDBResult( stdClass $result );
+
+ /**
+ * Get a new instance of the class from a database result.
+ *
+ * @since 1.20
+ *
+ * @param stdClass $result
+ *
+ * @return IORMRow
+ */
+ public function newFromDBResult( stdClass $result );
+
+ /**
+ * Get a new instance of the class from an array.
+ *
+ * @since 1.20
+ *
+ * @param array $data
+ * @param boolean $loadDefaults
+ *
+ * @return IORMRow
+ */
+ public function newFromArray( array $data, $loadDefaults = false );
+
+ /**
+ * Return the names of the fields.
+ *
+ * @since 1.20
+ *
+ * @return array
+ */
+ public function getFieldNames();
+
+ /**
+ * Gets if the object can take a certain field.
+ *
+ * @since 1.20
+ *
+ * @param string $name
+ *
+ * @return boolean
+ */
+ public function canHaveField( $name );
+
+}
\ No newline at end of file
<?php
/**
- * Result of a ORMTable::select, which returns ORMRow objects.
+ * Result of a ORMTable::select, which returns IORMRow objects.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* @since 1.20
*
* @file ORMResult.php
+ * @ingroup ORM
*
* @licence GNU GPL v2 or later
* @author Jeroen De Dauw < jeroendedauw@gmail.com >
protected $key;
/**
- * @var ORMRow
+ * @var IORMRow
*/
protected $current;
/**
- * @var ORMTable
+ * @var IORMTable
*/
protected $table;
/**
- * @param ORMTable $table
+ * @param IORMTable $table
* @param ResultWrapper $res
*/
- public function __construct( ORMTable $table, ResultWrapper $res ) {
+ public function __construct( IORMTable $table, ResultWrapper $res ) {
$this->table = $table;
$this->res = $res;
$this->key = 0;
}
/**
- * @return ORMRow
+ * @return IORMRow
*/
public function current() {
return $this->current;
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* http://www.gnu.org/copyleft/gpl.html
*
- * These methods are likely candidates for overriding:
- * * getDefaults
- * * remove
- * * insert
- * * saveExisting
- * * loadSummaryFields
- * * getSummaryFields
- *
- * Main instance methods:
- * * getField(s)
- * * setField(s)
- * * save
- * * remove
- *
- * Main static methods:
- * * select
- * * update
- * * delete
- * * count
- * * has
- * * selectRow
- * * selectFields
- * * selectFieldsRow
- *
* @since 1.20
*
* @file ORMRow.php
+ * @ingroup ORM
*
* @licence GNU GPL v2 or later
* @author Jeroen De Dauw < jeroendedauw@gmail.com >
*/
-abstract class ORMRow {
+abstract class ORMRow implements IORMRow {
/**
* The fields of the object.
*
* @since 1.20
*
- * @param ORMTable $table
+ * @param IORMTable $table
* @param array|null $fields
* @param boolean $loadDefaults
*/
- public function __construct( ORMTable $table, $fields = null, $loadDefaults = false ) {
+ public function __construct( IORMTable $table, $fields = null, $loadDefaults = false ) {
$this->table = $table;
if ( !is_array( $fields ) ) {
/**
* Load the default values, via getDefaults.
*
- * @since 1.20
+ * @since 1.20
*
* @param boolean $override
*/
is_null( $functionName ) ? __METHOD__ : $functionName
);
- return $success;
+ // DatabaseBase::update does not always return true for success as documented...
+ return $success !== false;
}
/**
protected function insert( $functionName = null, array $options = null ) {
$dbw = wfGetDB( DB_MASTER );
- $result = $dbw->insert(
+ $success = $dbw->insert(
$this->table->getName(),
$this->getWriteValues(),
is_null( $functionName ) ? __METHOD__ : $functionName,
is_null( $options ) ? array( 'IGNORE' ) : $options
);
- if ( $result ) {
+ // DatabaseBase::insert does not always return true for success as documented...
+ $success = $success !== false;
+
+ if ( $success ) {
$this->setField( 'id', $dbw->insertId() );
}
- return $result;
+ return $success;
}
/**
$success = $this->table->delete( array( 'id' => $this->getId() ) );
+ // DatabaseBase::delete does not always return true for success as documented...
+ $success = $success !== false;
+
if ( $success ) {
$this->onRemoved();
}
/**
* Add an amount (can be negative) to the specified field (needs to be numeric).
+ * TODO: most off this stuff makes more sense in the table class
*
* @since 1.20
*
*
* @since 1.20
*
- * @param ORMRow $object
+ * @param IORMRow $object
* @param boolean|array $excludeSummaryFields
* When set to true, summary field changes are ignored.
* Can also be an array of fields to ignore.
*
* @return boolean
*/
- protected function fieldsChanged( ORMRow $object, $excludeSummaryFields = false ) {
+ protected function fieldsChanged( IORMRow $object, $excludeSummaryFields = false ) {
$exclusionFields = array();
if ( $excludeSummaryFields !== false ) {
}
/**
- * Returns the table this ORMRow is a row in.
+ * Returns the table this IORMRow is a row in.
*
* @since 1.20
*
- * @return ORMTable
+ * @return IORMTable
*/
public function getTable() {
return $this->table;
* @since 1.20
*
* @file ORMTable.php
+ * @ingroup ORM
*
* @licence GNU GPL v2 or later
* @author Jeroen De Dauw < jeroendedauw@gmail.com >
*/
-abstract class ORMTable {
-
- /**
- * Returns the name of the database table objects of this type are stored in.
- *
- * @since 1.20
- *
- * @return string
- */
- public abstract function getName();
-
- /**
- * Returns the name of a ORMRow deriving class that
- * represents single rows in this table.
- *
- * @since 1.20
- *
- * @return string
- */
- public abstract function getRowClass();
+abstract class ORMTable implements IORMTable {
/**
* Gets the db field prefix.
*/
protected abstract function getFieldPrefix();
- /**
- * Returns an array with the fields and their types this object contains.
- * This corresponds directly to the fields in the database, without prefix.
- *
- * field name => type
- *
- * Allowed types:
- * * id
- * * str
- * * int
- * * float
- * * bool
- * * array
- *
- * @since 1.20
- *
- * @return array
- */
- public abstract function getFields();
-
/**
* Cache for instances, used by the singleton method.
*
* @param array $options
* @param string|null $functionName
*
- * @return DBObject|bool False on failure
+ * @return IORMRow|bool False on failure
*/
public function selectRow( $fields = null, array $conditions = array(),
array $options = array(), $functionName = null ) {
$this->getName(),
$this->getPrefixedValues( $conditions ),
$functionName
- );
+ ) !== false; // DatabaseBase::delete does not always return true for success as documented...
}
/**
$this->getPrefixedValues( $values ),
$this->getPrefixedValues( $conditions ),
__METHOD__
- );
+ ) !== false; // DatabaseBase::update does not always return true for success as documented...
}
/**
public function updateSummaryFields( $summaryFields = null, array $conditions = array() ) {
$this->setReadDb( DB_MASTER );
- foreach ( $this->select( null, $conditions ) as /* ORMRow */ $item ) {
+ foreach ( $this->select( null, $conditions ) as /* IORMRow */ $item ) {
$item->loadSummaryFields( $summaryFields );
$item->setSummaryMode( true );
$item->save();
* their values as value. The field names are prefixed with the
* db field prefix.
*
- * Field names can also be provided as an array with as first element a table name, such as
- * $conditions = array(
- * array( array( 'tablename', 'fieldname' ), $value ),
- * );
- *
* @since 1.20
*
* @param array $values
*
* @since 1.20
*
- * @return ORMTable
+ * @return IORMTable
*/
public static function singleton() {
$class = function_exists( 'get_called_class' ) ? get_called_class() : self::get_called_class();
*
* @param stdClass $result
*
- * @return ORMRow
+ * @return IORMRow
*/
public function newFromDBResult( stdClass $result ) {
return $this->newFromArray( $this->getFieldsFromDBResult( $result ) );
* @param array $data
* @param boolean $loadDefaults
*
- * @return ORMRow
+ * @return IORMRow
*/
public function newFromArray( array $data, $loadDefaults = false ) {
$class = $this->getRowClass();
// 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,
);
}
*
* @param $ops Array Set of operations to execute
* @return Status
+ * @since 1.20
*/
final public function doQuickOperations( array $ops ) {
if ( $this->isReadOnly() ) {
/**
* @see FileBackend::doQuickOperations()
+ * @since 1.20
*/
abstract protected function doQuickOperationsInternal( array $ops );
+ /**
+ * Same as doQuickOperations() except it takes a single operation.
+ * If you are doing a batch of operations, then use that function instead.
+ *
+ * @see FileBackend::doQuickOperations()
+ *
+ * @param $op Array Operation
+ * @return Status
+ * @since 1.20
+ */
+ final public function doQuickOperation( array $op ) {
+ return $this->doQuickOperations( array( $op ) );
+ }
+
+ /**
+ * Performs a single quick create operation.
+ * This sets $params['op'] to 'create' and passes it to doQuickOperation().
+ *
+ * @see FileBackend::doQuickOperation()
+ *
+ * @param $params Array Operation parameters
+ * @return Status
+ * @since 1.20
+ */
+ final public function quickCreate( array $params ) {
+ return $this->doQuickOperation( array( 'op' => 'create' ) + $params );
+ }
+
+ /**
+ * Performs a single quick store operation.
+ * This sets $params['op'] to 'store' and passes it to doQuickOperation().
+ *
+ * @see FileBackend::doQuickOperation()
+ *
+ * @param $params Array Operation parameters
+ * @return Status
+ * @since 1.20
+ */
+ final public function quickStore( array $params ) {
+ return $this->doQuickOperation( array( 'op' => 'store' ) + $params );
+ }
+
+ /**
+ * Performs a single quick copy operation.
+ * This sets $params['op'] to 'copy' and passes it to doQuickOperation().
+ *
+ * @see FileBackend::doQuickOperation()
+ *
+ * @param $params Array Operation parameters
+ * @return Status
+ * @since 1.20
+ */
+ final public function quickCopy( array $params ) {
+ return $this->doQuickOperation( array( 'op' => 'copy' ) + $params );
+ }
+
+ /**
+ * Performs a single quick move operation.
+ * This sets $params['op'] to 'move' and passes it to doQuickOperation().
+ *
+ * @see FileBackend::doQuickOperation()
+ *
+ * @param $params Array Operation parameters
+ * @return Status
+ * @since 1.20
+ */
+ final public function quickMove( array $params ) {
+ return $this->doQuickOperation( array( 'op' => 'move' ) + $params );
+ }
+
+ /**
+ * Performs a single quick delete operation.
+ * This sets $params['op'] to 'delete' and passes it to doQuickOperation().
+ *
+ * @see FileBackend::doQuickOperation()
+ *
+ * @param $params Array Operation parameters
+ * @return Status
+ * @since 1.20
+ */
+ final public function quickDelete( array $params ) {
+ return $this->doQuickOperation( array( 'op' => 'delete' ) + $params );
+ }
+
/**
* Concatenate a list of storage files into a single file system file.
* The target path should refer to a file that is already locked or
* overwriteSame : override any existing file at destination
*/
class StoreFileOp extends FileOp {
-
/**
* @return array
*/
* overwriteSame : override any existing file at destination
*/
class CopyFileOp extends FileOp {
-
/**
* @return array
*/
protected $authTTL; // integer seconds
protected $swiftAnonUser; // string; username to handle unauthenticated requests
protected $swiftUseCDN; // boolean; whether CloudFiles CDN is enabled
+ protected $swiftCDNExpiry; // integer; how long to cache things in the CDN
+ protected $swiftCDNPurgable; // boolean; whether object CDN purging is enabled
+
protected $maxContCacheSize = 300; // integer; max containers with entries
/** @var CF_Connection */
* swiftAuthTTL : Swift authentication TTL (seconds)
* swiftAnonUser : Swift user used for end-user requests (account:username)
* swiftUseCDN : Whether a Cloud Files Content Delivery Network is set up
+ * swiftCDNExpiry : How long (in seconds) to store content in the CDN.
+ * If files may likely change, this should probably not exceed
+ * a few days. For example, deletions may take this long to apply.
+ * If object purging is enabled, however, this is not an issue.
+ * swiftCDNPurgable : Whether object purge requests are allowed by the CDN.
* shardViaHashLevels : Map of container names to sharding config with:
* 'base' : base of hash characters, 16 or 36
* 'levels' : the number of hash levels (and digits)
$this->swiftUseCDN = isset( $config['swiftUseCDN'] )
? $config['swiftUseCDN']
: false;
+ $this->swiftCDNExpiry = isset( $config['swiftCDNExpiry'] )
+ ? $config['swiftCDNExpiry']
+ : 3600; // hour
+ $this->swiftCDNPurgable = isset( $config['swiftCDNPurgable'] )
+ ? $config['swiftCDNPurgable']
+ : true;
// Cache container info to mask latency
$this->memCache = wfGetMainCache();
}
) );
}
if ( $this->swiftUseCDN ) { // Rackspace style CDN
- $contObj->make_public();
+ $contObj->make_public( $this->swiftCDNExpiry );
}
} catch ( CDNNotEnabledException $e ) {
// CDN not enabled; nothing to see here
}
/**
- * Purge the CDN cache of affected objects if CDN caching is enabled
+ * Purge the CDN cache of affected objects if CDN caching is enabled.
+ * This is for Rackspace/Akamai CDNs.
*
* @param $objects Array List of CF_Object items
* @return void
*/
public function purgeCDNCache( array $objects ) {
- if ( $this->swiftUseCDN ) { // Rackspace style CDN
+ if ( $this->swiftUseCDN && $this->swiftCDNPurgable ) {
foreach ( $objects as $object ) {
try {
$object->purge_from_cdn();
*
* @param $container string Container name
* @return CF_Container
- * @throws InvalidResponseException
+ * @throws CloudFilesException
*/
protected function createContainer( $container ) {
$conn = $this->getConnection(); // Swift proxy connection
*
* @param $container string Container name
* @return void
- * @throws InvalidResponseException
+ * @throws CloudFilesException
*/
protected function deleteContainer( $container ) {
$conn = $this->getConnection(); // Swift proxy connection
- $conn->delete_container( $container );
unset( $this->connContainers[$container] ); // purge cache
+ $conn->delete_container( $container );
}
/**
unset( $this->handles[$path][$type] );
}
}
+ if ( !count( $this->locksHeld[$path] ) ) {
+ unset( $this->locksHeld[$path] ); // no locks on this path
+ }
// Unlock handles to release locks and delete
// any lock files that end up with no locks on them...
if ( wfIsWindows() ) {
*/
private function pruneKeyLockFiles( $path ) {
$status = Status::newGood();
- if ( !count( $this->locksHeld[$path] ) ) {
+ if ( !isset( $this->locksHeld[$path] ) ) {
# No locks are held for the lock file anymore
if ( !unlink( $this->getLockPath( $path ) ) ) {
$status->warning( 'lockmanager-fail-deletelock', $path );
}
- unset( $this->locksHeld[$path] );
unset( $this->handles[$path] );
}
return $status;
return "{$this->lockDir}/{$hash}.lock";
}
+ /**
+ * Make sure remaining locks get cleared for sanity
+ */
function __destruct() {
- // Make sure remaining locks get cleared for sanity
- foreach ( $this->locksHeld as $path => $locks ) {
- $this->doSingleUnlock( $path, self::LOCK_EX );
- $this->doSingleUnlock( $path, self::LOCK_SH );
+ while ( count( $this->locksHeld ) ) {
+ foreach ( $this->locksHeld as $path => $locks ) {
+ $this->doSingleUnlock( $path, self::LOCK_EX );
+ $this->doSingleUnlock( $path, self::LOCK_SH );
+ }
}
}
}
const DELETE_SOURCE = 1;
+ // Audience options for File::getDescription()
+ const FOR_PUBLIC = 1;
+ const FOR_THIS_USER = 2;
+ const RAW = 3;
+
/**
* Some member variables can be lazy-initialised using __get(). The
* initialisation function for these variables is always a function named
}
/**
- * Get discription of file revision
+ * Get description of file revision
* STUB
*
+ * @param $audience Integer: one of:
+ * File::FOR_PUBLIC to be displayed to all users
+ * File::FOR_THIS_USER to be displayed to the given user
+ * File::RAW get the description regardless of permissions
+ * @param $user User object to check for, only if FOR_THIS_USER is passed
+ * to the $audience parameter
* @return string
*/
- function getDescription() {
+ function getDescription( $audience = self::FOR_PUBLIC, User $user = null ) {
return null;
}
/**
* @return string
*/
- function getDescription() {
+ function getDescription( $audience = self::FOR_PUBLIC, User $user = null ) {
$this->load();
- return $this->description;
+ if ( $audience == self::FOR_PUBLIC && $this->isDeleted( self::DELETED_COMMENT ) ) {
+ return '';
+ } elseif ( $audience == self::FOR_THIS_USER
+ && !$this->userCan( self::DELETED_COMMENT, $user ) )
+ {
+ return '';
+ } else {
+ return $this->description;
+ }
}
/**
$triplets = $this->getMoveTriplets();
$triplets = $this->removeNonexistentFiles( $triplets );
- // Copy the files into their new location
- $statusMove = $repo->storeBatch( $triplets );
- wfDebugLog( 'imagemove', "Moved files for {$this->file->getName()}: {$statusMove->successCount} successes, {$statusMove->failCount} failures" );
- if ( !$statusMove->isGood() ) {
- wfDebugLog( 'imagemove', "Error in moving files: " . $statusMove->getWikiText() );
- $this->cleanupTarget( $triplets );
- $statusMove->ok = false;
- return $statusMove;
- }
-
$this->file->lock(); // begin
+ // Rename the file versions metadata in the DB.
+ // This implicitly locks the destination file, which avoids race conditions.
+ // If we moved the files from A -> C before DB updates, another process could
+ // move files from B -> C at this point, causing storeBatch() to fail and thus
+ // cleanupTarget() to trigger. It would delete the C files and cause data loss.
$statusDb = $this->doDBUpdates();
- wfDebugLog( 'imagemove', "Renamed {$this->file->getName()} in database: {$statusDb->successCount} successes, {$statusDb->failCount} failures" );
if ( !$statusDb->isGood() ) {
$this->file->unlockAndRollback();
- // Something went wrong with the DB updates, so remove the target files
- $this->cleanupTarget( $triplets );
$statusDb->ok = false;
return $statusDb;
}
+ wfDebugLog( 'imagemove', "Renamed {$this->file->getName()} in database: {$statusDb->successCount} successes, {$statusDb->failCount} failures" );
+
+ // Copy the files into their new location.
+ // If a prior process fataled copying or cleaning up files we tolerate any
+ // of the existing files if they are identical to the ones being stored.
+ $statusMove = $repo->storeBatch( $triplets, FileRepo::OVERWRITE_SAME );
+ wfDebugLog( 'imagemove', "Moved files for {$this->file->getName()}: {$statusMove->successCount} successes, {$statusMove->failCount} failures" );
+ if ( !$statusMove->isGood() ) {
+ // Delete any files copied over (while the destination is still locked)
+ $this->cleanupTarget( $triplets );
+ $this->file->unlockAndRollback(); // unlocks the destination
+ wfDebugLog( 'imagemove', "Error in moving files: " . $statusMove->getWikiText() );
+ $statusMove->ok = false;
+ return $statusMove;
+ }
$this->file->unlock(); // done
// Everything went ok, remove the source files
// Create dest pairs from the triplets
$pairs = array();
foreach ( $triplets as $triplet ) {
+ // $triplet: (old source virtual URL, dst zone, dest rel)
$pairs[] = array( $triplet[1], $triplet[2] );
}
Die installasie mag moontlik faal!",
'config-xcache' => '[Http://trac.lighttpd.net/xcache/ XCache] is geïnstalleer',
'config-apc' => '[Http://www.php.net/apc APC] is geïnstalleer',
- 'config-eaccel' => '[Http://eaccelerator.sourceforge.net/ eAccelerator] is geïnstalleer',
'config-wincache' => '[Http://www.iis.net/download/WinCacheForPhp WinCache] is geïnstalleer',
'config-diff3-bad' => 'GNU diff3 nie gevind nie.',
'config-db-type' => 'Databasistipe:',
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]",
);
-/** Asturian (Asturianu) */
+/** Asturian (asturianu) */
$messages['ast'] = array(
'mainpagetext' => "'''MediaWiki instalóse correchamente.'''",
'mainpagedocfooter' => "Visita la [//meta.wikimedia.org/wiki/Help:Contents Guía d'usuariu] pa saber cómo usar esti software wiki.
'mainpagetext' => "'''MediaWiki inkeyen talpeyot.'''",
);
-/** Azerbaijani (Azərbaycanca)
+/** Azerbaijani (azərbaycanca)
* @author Cekli829
* @author Vago
* @author Wertuose
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]",
);
-/** Belarusian (Ð\91еларуская) */
+/** Belarusian (беларуская) */
$messages['be'] = array(
'mainpagetext' => "'''MediaWiki паспяхова ўсталяваная.'''",
'mainpagedocfooter' => 'Гл. [//meta.wikimedia.org/wiki/Help:Contents Дапаможнік карыстальніка (англ.)] па далейшыя звесткі аб карыстанні вікі-праграмамі.
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Рассылка паведамленьняў пра зьяўленьне новых вэрсіяў MediaWiki]',
);
-/** Bulgarian (Ð\91ългарски)
+/** Bulgarian (български)
* @author DCLXVI
*/
$messages['bg'] = array(
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce মিডিয়াউইকি রিলিজের মেইলিং লিস্ট]',
);
-/** Bishnupria Manipuri (à¦\87মার ঠার/বিষà§\8dণà§\81পà§\8dরিয়া মণিপà§\81রà§\80) */
+/** Bishnupria Manipuri (বিষ্ণুপ্রিয়া মণিপুরী) */
$messages['bpy'] = array(
'mainpagetext' => "'''মিডিয়াউইকি হবাবালা ইয়া ইন্সটল ইল.'''",
'mainpagedocfooter' => 'উইকি সফটৱ্যার এহান আতানির বারে দরকার ইলে [//meta.wikimedia.org/wiki/Help:Contents আতাকুরার গাইড]হানর পাঙলাক নেগা।
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce মিডিয়া উইকির ফঙপার বারে মেইলর তালিকাহান]',
);
-/** Breton (Brezhoneg)
+/** Breton (brezhoneg)
* @author Fohanno
* @author Fulup
* @author Gwendal
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]",
);
-/** Bosnian (Bosanski)
+/** Bosnian (bosanski)
* @author CERminator
*/
$messages['bs'] = array(
Ako ste instalirali PHP iz Debian ili Ubuntu paketa, možda morate instalirati i modul php5-mysql.',
'config-xcache' => '[http://xcache.lighttpd.net/ XCache] je instaliran',
'config-apc' => '[http://www.php.net/apc APC] je instaliran',
- 'config-eaccel' => '[http://eaccelerator.sourceforge.net/ eAccelerator] je instaliran',
'config-wincache' => '[http://www.iis.net/download/WinCacheForPhp WinCache] je instaliran',
'config-diff3-bad' => 'GNU diff3 nije pronađen.',
'config-db-type' => 'Vrsta baze podataka:',
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista E-Mail adresa MediaWiki]',
);
-/** Catalan (Català) */
+/** Catalan (català) */
$messages['ca'] = array(
'mainpagetext' => "'''El programari del MediaWiki s'ha instaŀlat correctament.'''",
'mainpagedocfooter' => "Consulteu la [//meta.wikimedia.org/wiki/Help:Contents Guia d'Usuari] per a més informació sobre com utilitzar-lo.
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailing list sa mga release sa MediaWiki]',
);
-/** Sorani (کوردی)
+/** Sorani Kurdish (کوردی)
* @author Asoxor
*/
$messages['ckb'] = array(
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki-нинъ янъы версияларынынъ чыкъувындан хабер йиберюв].",
);
-/** Czech (Ä\8cesky)
+/** Czech (Ä\8desky)
* @author Danny B.
* @author Mormegil
*/
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki çĕнĕ верси тухнине пĕлтерекен рассылка].',
);
-/** Welsh (Cymraeg) */
+/** Welsh (Cymraeg)
+ * @author Xxglennxx
+ */
$messages['cy'] = array(
'mainpagetext' => "'''Wedi llwyddo gosod meddalwedd MediaWiki yma'''",
'mainpagedocfooter' => 'Ceir cymorth (yn Saesneg) ar ddefnyddio meddalwedd wici yn y [//meta.wikimedia.org/wiki/Help:Contents Canllaw Defnyddwyr] ar wefan Wikimedia.
==Cychwyn arni==
-* [//www.mediawiki.org/wiki/Manual:Configuration_settings Rhestr gosodiadau wrth gyflunio]
+* [//www.mediawiki.org/wiki/Manual:Configuration_settings Rhestr osodiadau wrth gyflunio]
* [//www.mediawiki.org/wiki/Manual:FAQ Cwestiynau poblogaidd ar MediaWiki]
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Rhestr postio datganiadau MediaWiki]',
);
-/** Danish (Dansk)
+/** Danish (dansk)
* @author Peter Alberti
*/
$messages['da'] = array(
Der Installationsvorgang wurde daher abgebrochen.",
'config-no-cli-uri' => "'''Warnung''': Es wurde kein Pfad zum Skipt (--scriptpath) angegeben. Daher wird der Standardpfad genutzt: <code>$1</code>.",
'config-using-server' => 'Der Servername „<nowiki>$1</nowiki>“ wird verwendet.',
- 'config-using-uri' => 'Verwende Server-URL „<nowiki>$1$2</nowiki>“.',
+ 'config-using-uri' => 'Die Server-URL „<nowiki>$1$2</nowiki>“ wird verwendet.',
'config-uploads-not-safe' => "'''Warnung:''' Das Standardverzeichnis für hochgeladene Dateien <code>$1</code> ist für die willkürliche Ausführung von Skripten anfällig.
Obwohl MediaWiki die hochgeladenen Dateien auf Sicherheitsrisiken überprüft, wird dennoch dringend empfohlen diese [//www.mediawiki.org/wiki/Manual:Security#Upload_security Sicherheitslücke] zu schließen, bevor das Hochladen von Dateien aktiviert wird.",
'config-no-cli-uploads-check' => "'''Warnung''': Das Standardverzeichnis für hochgeladene Dateien (<code>$1</code>) wird, während der Installation über die Kommandozeile, nicht auf Sicherheitsanfälligkeiten hinsichtlich willkürlicher Skriptausführungen geprüft.",
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailingliste neuer MediaWiki-Versionen]',
);
-/** Zazaki (Zazaki) */
+/** Zazaki (Zazaki)
+ * @author Mirzali
+ */
$messages['diq'] = array(
+ 'config-page-name' => 'Name',
'mainpagetext' => "'''MediaWiki vıst ra ser, vıraziya.'''",
'mainpagedocfooter' => 'Seba gurenayış u eyarkerdışê Wiki-Softwarey [//meta.wikimedia.org/wiki/Help:Contents İdarê karberi] de mıracaet ke.
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki dissendolisto pri anoncoj] (angla)",
);
-/** Spanish (Español)
+/** Spanish (español)
* @author Armando-Martin
* @author Crazymadlover
* @author Danke7
'config-help-restart' => '¿Deseas borrar todos los datos que has ingresado hasta ahora y reiniciar el proceso de instalación desde el principio?',
'config-restart' => 'Sí, reiniciarlo',
'config-welcome' => '=== Comprobación del entorno ===
-Se realiza comprobacioens básicas para ver si el entorno es adecuado para la instalación de MediaWiki.
+Se realiza comprobaciones básicas para ver si el entorno es adecuado para la instalación de MediaWiki.
Deberás suministrar los resultados de tales comprobaciones si necesitas ayuda durante la instalación.',
'config-copyright' => "=== Derechos de autor y Términos de uso ===
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista de correo de anuncios de distribución de MediaWiki]',
);
-/** Estonian (Eesti) */
+/** Estonian (eesti) */
$messages['et'] = array(
'mainpagetext' => "'''MediaWiki tarkvara on edukalt paigaldatud.'''",
'mainpagedocfooter' => 'Juhiste saamiseks kasutamise ning konfigureerimise kohta vaata palun inglisekeelset [//meta.wikimedia.org/wiki/MediaWiki_localisation dokumentatsiooni liidese kohaldamisest]
ning [//meta.wikimedia.org/wiki/MediaWiki_User%27s_Guide kasutusjuhendit].',
);
-/** Basque (Euskara)
+/** Basque (euskara)
* @author An13sa
*/
$messages['eu'] = array(
'config-env-php' => 'PHP $1 instalatuta dago.',
'config-xcache' => '[http://xcache.lighttpd.net/ XCache] instalatuta dago',
'config-apc' => '[http://www.php.net/apc APC] instalatuta dago',
- 'config-eaccel' => '[http://eaccelerator.sourceforge.net/ eAccelerator] instalatuta dago',
'config-wincache' => '[http://www.iis.net/download/WinCacheForPhp WinCache] instalatuta dago',
'config-diff3-bad' => 'GNU diff3 ez da aurkitu.',
'config-db-type' => 'Datu-base mota:',
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWikiren argitalpenen posta zerrenda]',
);
-/** Extremaduran (Estremeñu) */
+/** Extremaduran (estremeñu) */
$messages['ext'] = array(
'mainpagetext' => "'''MeyaGüiqui s'á istalau satihatoriamenti.'''",
'mainpagedocfooter' => "Consurta la [//meta.wikimedia.org/wiki/Help:Contents User's Guide] pa sabel mas al tentu el huncionamientu el software güiqui.
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce فهرست پست الکترونیکی نسخههای مدیاویکی]',
);
-/** Finnish (Suomi)
+/** Finnish (suomi)
* @author Centerlink
* @author Crt
* @author Nike
Taivutusmuodot: {{GRAMMAR:genitive|{{SITENAME}}}} (yön) – {{GRAMMAR:partitive|{{SITENAME}}}} (yötä) – {{GRAMMAR:elative|{{SITENAME}}}} (yöstä) – {{GRAMMAR:inessive|{{SITENAME}}}} (yössä) – {{GRAMMAR:illative|{{SITENAME}}}} (yöhön).",
);
-/** Faroese (Føroyskt) */
+/** Faroese (føroyskt) */
$messages['fo'] = array(
'mainpagetext' => "'''Innlegging av Wiki-ritbúnaði væleydnað.'''",
);
-/** French (Français)
+/** French (français)
* @author Aadri
* @author Crochet.david
* @author Gomoko
* @author Jean-Frédéric
* @author McDutchie
* @author Peter17
+ * @author Reedy
* @author Sherbrooke
* @author Urhixidur
* @author Verdy p
Voir la Licence Publique Générale GNU pour plus de détails.
Vous devriez avoir reçu <doclink href=Copying>une copie de la Licence Publique Générale GNU</doclink> avec ce programme ; dans le cas contraire, écrivez à la Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ou [http://www.gnu.org/copyleft/gpl.html lisez-le en ligne].",
- 'config-sidebar' => '* [//www.mediawiki.org MediaWiki Accueil]
+ 'config-sidebar' => '* [//www.mediawiki.org Accueil MediaWiki]
* [//www.mediawiki.org/wiki/Help:Contents Guide de l’utilisateur]
* [//www.mediawiki.org/wiki/Manual:Contents Guide de l’administrateur]
* [//www.mediawiki.org/wiki/Manual:FAQ FAQ]
----
* <doclink href=Readme>Lisez-moi</doclink>
-* <doclink href=ReleaseNotes>Notes de pblication</doclink>
+* <doclink href=ReleaseNotes>Notes de publication</doclink>
* <doclink href=Copying>Copie</doclink>
* <doclink href=UpgradeDoc>Mise à jour</doclink>',
'config-env-good' => 'L’environnement a été vérifié.
Vous pouvez installer MediaWiki.',
'config-env-bad' => 'L’environnement a été vérifié.
-vous ne pouvez pas installer MediaWiki.',
+Vous ne pouvez pas installer MediaWiki.',
'config-env-php' => 'PHP $1 est installé.',
'config-env-php-toolow' => 'PHP $1 est installé.
Cependant, MediaWiki requiert PHP $2 ou plus haut.',
'config-unicode-using-utf8' => 'Utilisation de utf8_normalize.so par Brion Vibber pour la normalisation Unicode.',
'config-unicode-using-intl' => "Utilisation de [http://pecl.php.net/intl l'extension PECL intl] pour la normalisation Unicode.",
'config-unicode-pure-php-warning' => "'''Attention''': L'[http://pecl.php.net/intl extension PECL intl] n'est pas disponible pour la normalisation d’Unicode, retour à la version lente implémentée en PHP.
-Si vous utilisez un site web très fréquenté, vous devriez lire ceci : [//www.mediawiki.org/wiki/Unicode_normalization_considerations ''Unicode normalization''] (en anglais).",
+Si votre site web sera très fréquenté, vous devriez lire ceci : [//www.mediawiki.org/wiki/Unicode_normalization_considerations ''Unicode normalization''] (en anglais).",
'config-unicode-update-warning' => "'''Attention''': La version installée du ''wrapper'' de normalisation Unicode utilise une vieille version de la [http://site.icu-project.org/ bibliothèque logicielle ''ICU Project''].
Vous devriez faire une [//www.mediawiki.org/wiki/Unicode_normalization_considerations mise à jour] (texte en anglais) si l'usage d'Unicode vous semble important.",
'config-no-db' => "Impossible de trouver un pilote de base de données approprié ! Vous devez installer un pilote pour PHP. Ces types de bases de données sont reconnus : $1.
'config-no-uri' => "'''Erreur :''' Impossible de déterminer l'URI du script actuel.
Installation avortée.",
'config-no-cli-uri' => "'''Attention''': Aucun --scriptpath n'a été spécifié; <code>$1</code> sera utilisé par défaut",
- 'config-using-server' => 'En utilisant le nom du serveur "<nowiki>$1</nowiki>".',
- 'config-using-uri' => 'Utilise l\'URL du serveur "<nowiki>$1$2</nowiki>".',
+ 'config-using-server' => 'Utilisation du nom de serveur "<nowiki>$1</nowiki>".',
+ 'config-using-uri' => 'Utilisation de l\'URL de serveur "<nowiki>$1$2</nowiki>".',
'config-uploads-not-safe' => "'''Attention:''' Votre répertoire par défaut pour les téléchargements, <code>$1</code>, est vulnérable, car il peut exécuter n'importe quel script.
Bien que MediaWiki vérifie tous les fichiers téléchargés, il est fortement recommandé de [//www.mediawiki.org/wiki/Manual:Security#Upload_security fermer cette vulnérabilité de sécurité] (texte en anglais) avant d'activer les téléchargements.",
'config-no-cli-uploads-check' => "'''Attention:''' Votre répertoire par défaut pour les imports(<code>$1</code>) n'est pas contrôlé concernant la vulnérabilité d'exécution de scripts arbitraires lors de l'installation CLI.",
'config-invalid-schema' => 'Schéma invalide pour MediaWiki « $1 ».
Utilisez seulement des lettres latines (a-z, A-Z), des chiffres (0-9) et des caractères de soulignement (_).',
'config-db-sys-create-oracle' => "L'installateur ne reconnaît que les compte SYSDBA lors de la création d'un nouveau compte.",
- 'config-db-sys-user-exists-oracle' => 'Le compte « $1 » existe déjà. Un SYSDBA peut seulement servir à créer un nouveau comtpe.',
+ 'config-db-sys-user-exists-oracle' => 'Le compte « $1 » existe déjà. Un SYSDBA peut seulement servir à créer un nouveau compte.',
'config-postgres-old' => 'PostgreSQL $1 ou version ultérieure est requis, vous avez $2.',
'config-sqlite-name-help' => "Choisir un nom qui identifie votre wiki.
Ne pas utiliser des espaces ou des traits d'union.
* il supporte à peine la simultanéité en raison de verrouillage de table
* il est plus sujet à la corruption que les autres moteurs
* le codebase MediaWiki ne gère pas toujours MyISAM comme il se doit
-Si votre installation MySQL supporte InnoDB, il est fortement recommandé que vous le choisissez plutôt. Si votre installation MySQL ne supporte pas les tables InnoDB, il est peut-être temps de faire une une mise à niveau.",
+Si votre installation MySQL supporte InnoDB, il est fortement recommandé que vous le choisissez plutôt. Si votre installation MySQL ne supporte pas les tables InnoDB, il est peut-être temps de faire une mise à niveau.",
'config-mysql-engine-help' => "'''InnoDB''' est presque toujours la meilleure option, car il supporte bien l'[http://fr.wikipedia.org/wiki/Ordonnancement_dans_les_syst%C3%A8mes_d%27exploitation ordonnancement].
'''MyISAM''' peut être plus rapide dans les installations monoposte ou en lecture seule. Les bases de données MyISAM ont tendance à se corrompre plus souvent que celles d'InnoDB.",
'config-optional-skip' => 'J’en ai assez, installer simplement le wiki.',
'config-profile' => 'Profil des droits d’utilisateurs :',
'config-profile-wiki' => 'Wiki traditionnel',
- 'config-profile-no-anon' => 'Création de comte requise',
+ 'config-profile-no-anon' => 'Création de compte requise',
'config-profile-fishbowl' => 'Éditeurs autorisés seulement',
'config-profile-private' => 'Wiki privé',
'config-profile-help' => "Les wikis fonctionnent mieux lorsque vous laissez le plus de personnes possible le modifier.
'config-enable-email' => 'Activer les courriels sortants',
'config-enable-email-help' => 'Si vous souhaitez utiliser le courriel, vous devez [http://www.php.net/manual/en/mail.configuration.php configurer des paramètres PHP] (texte en anglais).
Si vous ne voulez pas du service de courriel, vous pouvez le désactiver ici.',
- 'config-email-user' => 'Activer les courriels de utilisateur à utilisateur',
+ 'config-email-user' => "Activer les courriers électroniques d'utilisateur à utilisateur",
'config-email-user-help' => "Permet à tous les utilisateurs d'envoyer des courriels à d'autres utilisateurs si cela est activé dans leurs préférences.",
'config-email-usertalk' => 'Activer la notification des pages de discussion des utilisateurs',
'config-email-usertalk-help' => 'Permet aux utilisateurs de recevoir une notification en cas de modification de leurs pages de discussion, si cela est activé dans leurs préférences.',
'config-install-pg-schema-failed' => "Échec lors de la création des tables.
Assurez-vous que l'utilisateur « $1 » peut écrire selon le schéma « $2 ».",
'config-install-pg-commit' => 'Validation des modifications',
- 'config-install-pg-plpgsql' => 'Vérification du language PL/pgSQL',
+ 'config-install-pg-plpgsql' => 'Vérification du langage PL/pgSQL',
'config-pg-no-plpgsql' => 'Vous devez installer le langage PL/pgSQL dans la base de données $1',
'config-pg-no-create-privs' => "Le compte que vous avez spécifié pour l'installation n'a pas suffisamment de privilèges pour créer un compte.",
'config-pg-not-in-role' => "Le compte que vous avez spécifié pour l'utilisateur web existe déjà !
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Liste de discussion sur les distributions de MediaWiki]',
);
-/** Cajun French (Français cadien) */
+/** Cajun French (français cadien) */
$messages['frc'] = array(
'mainpagetext' => "'''Vous avez bien installé MediaWiki.'''",
'mainpagedocfooter' => 'Lisez la [//meta.wikimedia.org/wiki/Help:Contents Guide des Useurs] pour apprendre à user le wiki software.
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki Liste à Malle]',
);
-/** Franco-Provençal (Arpetan)
+/** Franco-Provençal (arpetan)
* @author ChrisPtDe
*/
$messages['frp'] = array(
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailingliste neuer MediaWiki-Versionen]',
);
-/** Friulian (Furlan) */
+/** Friulian (furlan) */
$messages['fur'] = array(
'mainpagetext' => "'''MediaWiki e je stade instalade cun sucès.'''",
);
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]",
);
-/** Simplified Gan script (赣语(简体)) */
+/** Simplified Gan script (赣语(简体)) */
$messages['gan-hans'] = array(
'mainpagetext' => "'''安装正MediaWiki喽。'''",
'mainpagedocfooter' => '参看[//meta.wikimedia.org/wiki/Help:Contents 用户指南]里头会话到啷用wiki软件
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki 发布email清单]',
);
-/** Traditional Gan script (贛語(繁體)) */
+/** Traditional Gan script (贛語(繁體)) */
$messages['gan-hant'] = array(
'mainpagetext' => "'''安裝正MediaWiki嘍。'''",
'mainpagedocfooter' => '參看[//meta.wikimedia.org/wiki/Help:Contents 用戶指南]裡頭會話到啷用wiki軟件
'config-cache-options' => 'הגדרות למטמון עצמים (object caching):',
'config-cache-help' => 'מטמון עצמים משמש לשיפור המהירות של מדיה־ויקי על־ידי שמירה של נתונים שהשימוש בהם נפוץ במטמון.
לאתרים בינוניים וגדולים כדאי מאוד להפעיל את זה, וגם אתרים קטנים ייהנו מזה.',
- 'config-cache-none' => 'ללא מטמון (שום יכולת אינה מוסרת, אבל הביצועים באתרים גדולים ייפגעו)',
+ 'config-cache-none' => 'ללא מטמון (שום יכולת אינה מוּסרת, אבל הביצועים באתרים גדולים ייפגעו)',
'config-cache-accel' => 'מטמון עצמים (object caching) של PHP‏ (APC‏, XCache או WinCache)',
'config-cache-memcached' => 'להשתמש ב־Memcached (דורש התקנות והגדרות נוספות)',
'config-memcached-servers' => 'שרתי Memcached:',
'config-install-sysop' => 'יצירת חשבון מפעיל',
'config-install-subscribe-fail' => 'הרישום ל־mediawiki-announce לא הצליח: $1',
'config-install-subscribe-notpossible' => 'cURL אינה מותקנת ו־allow_url_fopen אינה זמינה.',
- 'config-install-mainpage' => '×\99צ×\99רת ×\93×£ ר×\90ש×\99 ×¢×\9d ת×\95×\9b×\9f ×\9cפ×\99 ×\91ררת ×\9e×\97×\93×\9c.',
+ 'config-install-mainpage' => '×\99צ×\99רת ×\93×£ ר×\90ש×\99 ×¢×\9d ת×\95×\9b×\9f ×\94ת×\97×\9cת×\99.',
'config-install-extension-tables' => 'יצירת טבלאות להרחבות מופעלות',
'config-install-mainpage-failed' => 'לא הצליחה הכנסת דף ראשי: $1.',
'config-install-done' => "'''מזל טוב!'''
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista sang mga ginapadal-an sang sulat kon may paguha-on nga MediaWiki]",
);
-/** Croatian (Hrvatski) */
+/** Croatian (hrvatski) */
$messages['hr'] = array(
'mainpagetext' => "'''Softver MediaWiki je uspješno instaliran.'''",
'mainpagedocfooter' => 'Pogledajte [//meta.wikimedia.org/wiki/MediaWiki_localisation dokumentaciju o prilagodbi sučelja]
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lis diskisyon ki parèt sou MediaWiki]',
);
-/** Hungarian (Magyar)
+/** Hungarian (magyar)
* @author Dani
* @author Glanthor Reviol
*/
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]",
);
-/** Interlingua (Interlingua)
+/** Interlingua (interlingua)
* @author McDutchie
*/
$messages['ia'] = array(
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki nova versioni posto-listo]",
);
-/** Icelandic (Ã\8dslenska) */
+/** Icelandic (Ãslenska) */
$messages['is'] = array(
'mainpagetext' => "'''Uppsetning á MediaWiki heppnaðist.'''",
'mainpagedocfooter' => 'Ráðfærðu þig við [//meta.wikimedia.org/wiki/Help:Contents Notandahandbókina] fyrir frekari upplýsingar um notkun wiki-hugbúnaðarins.
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Póstlisti MediaWiki-útgáfa]',
);
-/** Italian (Italiano)
+/** Italian (italiano)
* @author Beta16
* @author Karika
*/
Tuttavia, MediaWiki richiede PHP $2 o superiore.',
'config-xcache' => '[http://xcache.lighttpd.net/ XCache] è installato',
'config-apc' => '[http://www.php.net/apc APC] è installato',
- 'config-eaccel' => '[http://eaccelerator.sourceforge.net/ eAccelerator] è installato',
'config-wincache' => '[http://www.iis.net/download/WinCacheForPhp WinCache] è installato',
'config-diff3-bad' => 'GNU diff3 non trovato.',
'config-db-type' => 'Tipo di database:',
'config-license-cc-0' => 'Creative Commons Zero (pubblico dominio)',
'config-license-gfdl' => 'GNU Free Documentation License 1.3 o versioni successive',
'config-license-pd' => 'Pubblico dominio',
- 'config-email-settings' => 'Impostazioni e-mail',
+ 'config-email-settings' => 'Impostazioni email',
'config-install-interwiki-list' => 'Impossibile leggere il file <code>interwiki.list</code>.',
'config-install-stats' => 'Inizializzazione delle statistiche',
'config-install-keys' => 'Generazione delle chiavi segrete',
* @author Mizusumashi
* @author Ninomy
* @author Ohgi
+ * @author Shirayuki
* @author Whym
* @author Yanajin66
* @author 青子守歌
'config-admin-password-blank' => '管理者アカウントのパスワードを入力してください。',
'config-admin-password-same' => 'ユーザ名と同じパスワードは使えません。',
'config-admin-password-mismatch' => '入力された二つのパスワードが一致しません。',
- 'config-admin-email' => 'Eメールアドレス:',
+ 'config-admin-email' => 'メールアドレス:',
'config-admin-email-help' => '電子メールアドレスを入力してください。他のユーザーからの電子メールの受け取りと、パスワードのリセット、ウォッチリストに登録したページの更新通知に用いられます。',
'config-admin-error-user' => '"<nowiki>$1</nowiki>"という名前の管理者を作成する際に内部エラーが発生しました。',
'config-admin-error-password' => '管理者"<nowiki>$1</nowiki>"のパスワードを設定する際に内部エラーが発生しました: <pre>$2</pre>',
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]",
);
-/** Jutish (Jysk)
+/** Jutish (jysk)
* @author Huslåke
*/
$messages['jut'] = array(
/** Korean (한국어)
* @author Kwj2772
+ * @author 아라
*/
$messages['ko'] = array(
- 'config-desc' => '미ë\94\94ì\96´ì\9c\84í\82¤ ì\9d¸ì\8a¤í\86¨ë\9f¬',
- 'config-title' => '미디어위키 $1 설치',
+ 'config-desc' => 'MediaWiki ì\84¤ì¹\98 ë§\88ë²\95ì\82¬',
+ 'config-title' => 'MediaWiki $1 설치',
'config-information' => '정보',
+ 'config-localsettings-upgrade' => '<code>LocalSettings.php</code> 파일이 감지되었습니다.
+이 설치를 업그레이드하려면 아래 상자에 <code>$wgUpgradeKey</code>의 값을 입력해주세요.
+LocalSettings.php에 찾으세요.',
+ 'config-localsettings-cli-upgrade' => 'LocalSettings.php 파일이 감지되었습니다. 이 설치를 업그레이드하려면 update.php를 대신 실행하세요',
+ 'config-localsettings-key' => '업그레이드 키:',
+ 'config-localsettings-badkey' => '제공한 키가 잘못되었습니다.',
+ 'config-upgrade-key-missing' => 'MediaWiki의 기존 설치가 감지되었습니다.
+이 설치를 업그레이드하려면 LocalSettings.php의 아래에 다음 줄을 넣으세요:
+
+$1',
'config-wiki-language' => '위키 언어:',
'config-back' => '← 뒤로',
'config-continue' => '계속 →',
'config-page-name' => '이름',
'config-page-install' => '설치',
'config-page-complete' => '완료!',
- 'config-help-restart' => '당신이 입력한 모든 저장된 데이터를 지우고 설치 과정을 다시 시작하시겠습니까?',
+ 'config-help-restart' => '당신이 입력한 모든 저장된 데이터를 지우고 설치 과정을 다시 시작하겠습니까?',
'config-restart' => '예, 다시 시작합니다.',
'config-welcome' => '=== 사용 환경 검사 ===
이 환경이 미디어위키 설치에 적합할 지 기본 검사를 실행합니다.
설치 중 도움이 필요하다면 이 검사 결과를 함께 제공해주셔야 합니다.',
- 'config-env-php' => 'PHP $1가 설치되었습니다.',
- 'config-env-php-toolow' => 'PHP $1가 설치되었습니다.
+ 'config-copyright' => "=== 저작권 및 사용 약관 ===
+
+$1
+
+이 프로그램은 자유 소프트웨어입니다. 당신은 자유 소프트웨어 재단이 발표한 GNU 일반 공중 사용 허가서 버전 2나 그 이후 버전에 따라 이 프로그램을 재배포하거나 수정할 수 있습니다.
+
+이 프로그램이 유용하게 사용될 수 있기를 바라지만 '''상용으로 사용'''되거나 '''특정 목적에 맞을 것'''이라는 것을 '''보증하지 않습니다'''.
+자세한 내용은 GNU 일반 공중 사용 허가서를 참고하십시오.
+
+당신은 이 프로그램을 통해 <doclink href=Copying>GNU 일반 공중 사용 허가서 전문</doclink>을 받았습니다; 그렇지 않다면, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA로 편지를 보내주시거나 [http://www.gnu.org/copyleft/gpl.html 온라인으로 읽어보시기] 바랍니다.",
+ 'config-env-good' => '환경이 확인되었습니다.
+MediaWiki를 설치할 수 있습니다.',
+ 'config-env-bad' => '환경이 확인되었습니다.
+MediaWiki를 설치할 수 없습니다.',
+ 'config-env-php' => 'PHP $1(이)가 설치되었습니다.',
+ 'config-env-php-toolow' => 'PHP $1(이)가 설치되었습니다.
하지만 미디어위키는 PHP $2 이상이 필요합니다.',
+ 'config-ctype' => "'''심각''': PHP는 [http://www.php.net/manual/en/ctype.installation.php Ctype 확장 기능]에 대해 지원하여 컴파일해야 합니다.",
+ 'config-apc' => '[http://www.php.net/apc APC]가 설치되었습니다',
+ 'config-diff3-bad' => 'GNU diff3를 찾을 수 없습니다.',
+ 'config-imagemagick' => 'ImageMagick를 찾았습니다: <code>$1</code>.
+올리기를 활성화할 경우 그림 섬네일이 활성화될 것입니다.',
+ 'config-gd' => '내장된 GD 그래픽 라이브러리를 찾았습니다.
+올리기를 활성화할 경우 그림 섬네일이 활성화될 것입니다.',
+ 'config-brokenlibxml' => '시스템에 버그가 있는 PHP와 libxml2의 조합이 있으며 MediaWiki나 다른 웹 어플리케이션에 숨겨진 데이터 손상을 일으킬 수 있습니다.
+PHP 5.2.9 이후와 libxml2 2.7.3 이후로 업그레이드하세요 ([//bugs.php.net/bug.php?id=45996 PHP에 제기한 버그]).
+설치가 중단되었습니다.',
'config-db-type' => '데이터베이스 종류:',
'config-db-host' => '데이터베이스 호스트:',
+ 'config-db-host-help' => '데이터베이스 서버가 다른 서버에 있을 경우 여기에 호스트 이름이나 IP 주소를 입력하세요.
+
+웹 호스팅을 공유하여 사용하는 경우 호스팅 공급자는 당신에게 이들 설명서의 올바른 호스트 이름을 표기해야 합니다.
+
+윈도 서버에 설치하고 MySQL을 사용할 경우 "localhost"는 서버 이름으로 작동하지 않을 수 있습니다. 그렇지 않으면 로컬 IP 주소로 "127.0.0.1"를 시도하세요.
+
+PostgreSQL을 사용할 경우 유닉스 소켓을 통해 연결되도록 입력란을 비워두세요.',
+ 'config-db-host-oracle' => '데이터베이스 TNS:',
+ 'config-db-host-oracle-help' => '유효한 [http://download.oracle.com/docs/cd/B28359_01/network.111/b28317/tnsnames.htm 로컬 연결 이름]을 입력하세요. tnsnames.ora 파일이 이 설치에 보여야 합니다.<br />10g 이후의 클라이언트 라이브러리를 사용하는 경우 [http://download.oracle.com/docs/cd/E11882_01/network.112/e10836/naming.htm 쉬운 연결] 네이밍 메소드도 사용할 수 있습니다.',
+ 'config-db-wiki-settings' => '이 위키 식별',
'config-db-name' => '데이터베이스 이름:',
+ 'config-db-name-help' => '위키를 식별하기 위한 이름을 선택하세요.
+이는 공백이 없어야 합니다.
+
+웹 호스팅을 공유해 사용하는 경우 호스팅 제공 업체도 당신에게 제어판을 통해 데이터베이스를 사용하거나 만들 수 있도록 특정 데이터베이스 이름을 제공합니다.',
+ 'config-db-name-oracle' => '데이터베이스 스케마:',
+ 'config-db-account-oracle-warn' => '데이터베이스 백엔드로 오라클을 설치하기 위해 지원하는 세 가지 시나리오가 있습니다:
+
+설치 과정의 일부로 데이터베이스 계정을 만들려면 설치를 위해 데이터베이스 계정으로 SYSDBA 역할을 가진 계정을 제공하고 웹 액세스 계정에 대해 원하는 자격 증명을 지정하세요, 그렇지 않으면 수동으로 웹 액세스 계정을 만들 수 있으며 (필요한 경우 권한 스키마 개체를 만들어야 합니다) 또는 다른 계정 두 개를 만들고 권한을 가진 하나의 웹 액세스를 위한 제한된 하나를 제공할 수 있습니다.
+
+필요한 권한을 가진 계정을 만드는 스크립트는 이 설치의 "maintenance/oracle/" 디렉토리에서 찾을 수 있습니다. 제한된 계정을 사용하면 기본 계정으로 모든 관리 기능을 비활성화할 것을 염두해 두십시오.',
+ 'config-db-install-account' => '설치를 위한 사용자 계정',
'config-db-username' => '데이터베이스 사용자 이름:',
'config-db-password' => '데이터베이스 비밀번호:',
+ 'config-db-password-empty' => '새 데이터베이스 사용자의 비밀번호를 입력하세요: $1.
+비밀번호 없이 사용자를 만들 수도 있지만 이는 안전하지 않습니다.',
+ 'config-db-install-username' => '설치 과정 중에 데이터베이스에 연결할 때 사용할 사용자 이름을 입력하세요.
+이는 MediaWiki 계정의 사용자 이름이 아닌 데이터베이스에 대한 사용자 이름입니다.',
+ 'config-db-install-password' => '설치 과정 중에 데이터베이스에 연결할 때 사용할 비밀번호을 입력하세요. 이는 MediaWiki 계정의 비밀번호가 아닌 데이터베이스에 대한 비밀번호입니다.',
+ 'config-db-install-help' => '설치 과정 중에 데이터베이스에 연결할 때 사용할 사용자 이름과 비밀번호를 입력하세요.',
+ 'config-db-account-lock' => '정상적으로 작동하는 동안 같은 사용자 이름과 비밀번호를 사용함',
+ 'config-db-wiki-account' => '정상적인 작동을 위한 사용자 계정',
+ 'config-db-wiki-help' => '정상적인 위키 작업 동안 데이터베이스에 연결하는 데 사용할 사용자 이름과 비밀 번호를 입력하세요.
+계정이 존재하지 않고 설치 계정에 충분한 권한이 있는 경우 이 사용자 계정은 위키를 작동하는 데 필요한 최소 권한으로 만들어집니다.',
'config-db-prefix' => '데이터베이스 테이블 접두어:',
+ 'config-db-prefix-help' => '여러 위키 사이 또는 MediaWiki와 다른 웹 응용 프로그램 사이에서 하나의 데이터베이스를 공유해야 하는 경우, 충돌을 피하기 위해 모든 테이블 이름에 접두어를 추가하도록 선택할 수 있습니다.
+공백을 사용하지 마세요.
+
+이 필드는 일반적으로 비어있습니다.',
+ 'config-db-charset' => '데이터베이스 문자 집합',
'config-charset-mysql5-binary' => 'MySQL 4.1/5.0 바이너리',
'config-charset-mysql5' => 'MySQL 4.1/5.0 UTF-8',
+ 'config-charset-mysql4' => 'MySQL 4.0 UTF-8 하위 호환성',
+ 'config-charset-help' => "'''경고:''' MySQL 4.1에서 '''UTF-8 하위 호환성'''을 사용하고 나서 <code>mysqldump</code>로 데이터베이스에 백업한다면 이는 모든 ASCII가 아닌 문자를 파괴하고 손상한 백업을 되돌릴 수 없습니다!
+
+'''바이너리 모드'''에서는 MediaWiki는 바이너리 필드의 데이터베이스에 UTF-8 텍스트를 저장합니다.
+이는 MySQL의 UTF-8 모드를 보다 더 효율적이고 유니코드 문자의 전체 범위를 사용할 수 있습니다.
+'''UTF-8 모드'''에서는 MySQL은 데이터를 설정하는 어떤 문자열인지를 알 것이며, 표현하고 적절하게 그것을 변환할 수 있지만
+[//en.wikipedia.org/wiki/Mapping_of_Unicode_character_planes 기본 다국어 공간] 상의 문자를 저장하지 못하게 될 수 있습니다.",
+ 'config-db-port' => '데이터베이스 포트:',
+ 'config-db-schema' => 'MediaWiki에 대한 스케마:',
+ 'config-db-schema-help' => '이 스케마는 보통 괜찮습니다.
+필요로 알고 있을 경우에만 이를 바꿉니다.',
'config-header-mysql' => 'MySQL 설정',
'config-header-postgres' => 'PostgreSQL 설정',
'config-header-sqlite' => 'SQLite 설정',
+ 'config-header-oracle' => '오라클 설정',
+ 'config-header-ibm_db2' => 'IBM DB2 설정',
+ 'config-connection-error' => '$1.
+
+호스트, 계정 이름과 비밀번호를 확인하고 다시 시도하세요.',
+ 'config-db-sys-create-oracle' => '설치 마법사는 새 계정을 만들기 위한 SYSDBA 계정만을 지원합니다.',
+ 'config-db-sys-user-exists-oracle' => '"$1" 사용자 계정이 이미 존재합니다. SYSDBA는 새 계정을 만드는 데에만 사용할 수 있습니다!',
'config-sqlite-readonly' => '파일 <code>$1</code>은 쓰기가 불가능합니다.',
+ 'config-can-upgrade' => "이 데이터베이스에 MediaWiki 테이블이 있습니다.
+MediaWiki $1(으)로 업그레이드하려면 '''계속'''을 클릭하세요.",
+ 'config-db-web-account' => '웹 액세스를 위한 데이터베이스 계정',
+ 'config-db-web-help' => '위키의 일반적인 작업 중에 데이터베이스 서버에 연결하는 데 사용할 웹 서버에 대한 계정 이름과 비밀번호를 선택합니다.',
+ 'config-db-web-account-same' => '설치를 위해 같은 계정을 사용',
+ 'config-db-web-create' => '이 계정이 아직 존재하지 않을 경우 계정을 만들기',
+ 'config-db-web-no-create-privs' => '설치를 위해 지정한 계정은 계정을 만들 수 있는 충분한 권한이 없습니다.
+여기서 지정한 계정은 이미 존재해야 합니다.',
'config-mysql-utf8' => 'UTF-8',
+ 'config-ibm_db2-low-db-pagesize' => "당신의 DB2 데이터베이스가 부족한 페이지 크기가 기본 테이블 공간에 있습니다. 페이지 크기는 '''32K''' 이상이어야 합니다.",
'config-site-name' => '위키의 이름:',
'config-site-name-help' => '이것이 브라우저 제목 표시줄과 다른 여러 곳에 나타날 것입니다.',
'config-site-name-blank' => '사이트 이름을 입력하세요.',
'config-project-namespace' => '프로젝트 이름공간:',
'config-ns-generic' => '프로젝트',
'config-admin-box' => '관리자 계정',
+ 'config-admin-name' => '사용자 이름:',
'config-admin-password' => '비밀번호:',
'config-admin-password-confirm' => '비밀번호 확인:',
- 'config-admin-password-blank' => '관리자 계정의 비밀번호를 입력하십시오.',
- 'config-admin-password-same' => '비밀번호는 계정 이름과 같아서는 안 됩니다.',
- 'config-admin-password-mismatch' => '당신이 입력한 비밀번호 두 개가 일치하지 않습니다.',
+ 'config-admin-help' => '"홍길동"과 같이 여기에 원하는 사용자 이름을 입력합니다.
+이는 위키에 로그인하는 데 사용되는 이름입니다.',
+ 'config-admin-name-blank' => '관리자의 사용자 이름을 입력하세요.',
+ 'config-admin-name-invalid' => '특정 "<nowiki>$1</nowiki>" 사용자 이름이 잘못되었습니다.
+다른 사용자 이름을 지정하세요.',
+ 'config-admin-password-blank' => '관리자 계정의 비밀번호를 입력하세요.',
+ 'config-admin-password-same' => '비밀번호는 사용자 이름과 같아서는 안 됩니다.',
+ 'config-admin-password-mismatch' => '입력한 비밀번호 두 개가 일치하지 않습니다.',
'config-admin-email' => '이메일 주소:',
+ 'config-admin-email-help' => '위키의 다른 사용자로부터 이메일을 전달받거나 비밀번호를 재설정하고 주시문서 목록에 대한 변경 알림을 받기 위해 여기에 이메일 주소를 입력하세요. 이 필드를 비워 둘 수 있습니다.',
+ 'config-admin-error-user' => '"<nowiki>$1</nowiki>" 이름의 관리자를 만드는 중 내부 오류가 발생했습니다.',
+ 'config-admin-error-password' => '"<nowiki>$1</nowiki>" 관리자의 비밀번호를 설정하는 중 내부 오류가 발생했습니다: <pre>$2</pre>',
+ 'config-admin-error-bademail' => '이메일 주소를 잘못 입력하였습니다.',
+ 'config-almost-done' => '거의 다 됐습니다! 이제 남은 설정을 생략하고 지금 위키를 설치할 수 있습니다.',
'config-optional-skip' => '지겨워요, 그냥 위키를 설치할래요.',
'config-profile-wiki' => '평범한 위키',
'config-profile-no-anon' => '계정 생성 필요',
'config-license-pd' => '퍼블릭 도메인',
'config-license-cc-choose' => '다른 크리에이티브 커먼즈 라이선스 선택',
'config-email-settings' => '이메일 설정',
+ 'config-enable-email' => '발신 이메일 허용',
+ 'config-enable-email-help' => '이메일을 작동하려면 [http://www.php.net/manual/en/mail.configuration.php PHP의 메일 설정]을 올바르게 구성해야 합니다.
+이메일 기능을 사용하지 않으려면 이를 비활성화할 수 있습니다.',
+ 'config-email-user' => '사용자와 사용자 간 이메일 허용',
+ 'config-email-user-help' => '환경 설정에서 활성화한 경우 모든 사용자가 이메일을 서로 보내도록 허용합니다.',
+ 'config-email-usertalk' => '사용자 토론 문서 알림 허용',
+ 'config-email-usertalk-help' => '환경 설정에서 활성화한 경우 사용자는 사용자 토론 문서의 변경 알림을 받도록 허용합니다.',
+ 'config-email-watchlist' => '주시문서 목록 알림 허용',
+ 'config-email-watchlist-help' => '환경 설정에서 활성화한 경우 사용자가 주시한 문서에 대한 알림을 받도록 허용합니다.',
+ 'config-email-auth' => '이메일 인증 허용',
+ 'config-email-auth-help' => "이 설정이 활성화되어 있으면 사용자는 이메일 주소를 설정하거나 변경할 때마다 그들에게 보낸 링크를 사용하여 확인해야 합니다.
+인증된 이메일 주소만 다른 사용자로부터의 이메일이나 변경 알림 이메일을 받을 수 있습니다.
+이메일 기능의 남용 가능성이 있기 때문에 이 옵션을 설정하는 것은 공용 위키에서 '''권장'''합니다.",
+ 'config-email-sender' => '반송 이메일 주소',
+ 'config-email-sender-help' => '발신한 이메일에 대한 반송 주소로 사용할 이메일 주소를 입력합니다.
+이는 반송할 때 보내는 주소입니다.
+대부분의 메일 서버는 적어도 도메인 이름 부분은 유효합니다.',
'config-logo' => '로고 URL:',
'config-logo-help' => '미디어위키 기본 스킨은 사이드바 메뉴 위에 135×160픽셀의 로고를 포함하고 있습니다.
적당한 크기로 이미지를 올리고 URL을 여기 적어주세요.
로고 사용을 원치 않으면 이 상자를 비워 두십시오.',
+ 'config-cc-error' => '크리에이티브 커먼즈 라이선스 선택기에 결과가 없습니다.
+수동으로 라이선스 이름을 입력하세요.',
+ 'config-cc-again' => '다시 선택...',
+ 'config-cc-not-chosen' => '원하는 크리에이티브 커먼즈 라이선스를 선택하고 "진행"을 클릭하세요.',
+ 'config-advanced-settings' => '고급 설정',
+ 'config-cache-options' => '개체 캐싱을 위한 설정:',
+ 'config-cache-help' => '개체 캐싱은 자주 사용하는 데이터를 캐싱하여 MediaWiki의 속도를 개선하는 데 사용합니다.
+큰 사이트의 규모에는 이를 많이 사용하도록 권장하고 있으며, 소규모 사이트들도 물론 이익을 볼 수 있습니다.',
+ 'config-cache-none' => '캐시하지 않음 (기능적으로는 삭제되지 않지만 큰 위키 사이트에 속도에 영향을 받을 수 있습니다)',
+ 'config-cache-accel' => 'PHP 개체 캐싱 (APC, XCache 또는 WinCache)',
+ 'config-cache-memcached' => 'Memcached 사용 (추가적인 설정 및 구성이 필요합니다)',
'config-extensions' => '확장 기능',
'config-extensions-help' => '위에 나열된 확장 기능이 <code>./extensions</code>에서 발견되었습니다.
이들은 추가적인 설정이 필요할 수 있습니다만 지금 활성화시킬 수 있습니다.',
+ 'config-install-alreadydone' => "'''경고:''' 당신은 이미 MediaWiki를 설치하였고 다시 설치하려고 합니다.
+다음 페이지에서 진행하세요.",
+ 'config-install-begin' => '"{{int:config-continue}}"을 누르면 MediaWiki의 설치를 시작합니다.
+그래도 변경하는 것을 원한다면 뒤로를 누릅니다.',
+ 'config-install-extensions' => '확장 기능을 포함하는 중',
+ 'config-install-database' => '데이터베이스 설정 중',
+ 'config-install-pg-commit' => '커밋 바꾸기',
+ 'config-install-pg-plpgsql' => 'PL/pgSQL 언어에 대해 확인 중',
'config-install-user' => '데이터베이스 사용자 생성 중',
'config-install-tables' => '테이블을 생성하는 중',
'config-install-tables-exist' => "'''경고''': 미디어위키 테이블이 이미 있는 것 같습니다.
테이블 생성을 생략합니다.",
'config-install-tables-failed' => "'''오류''': 다음 오류와 함께 테이블 생성에 실패했습니다: $1",
'config-install-interwiki' => '기본 인터위키 표를 채우는 중',
+ 'config-install-interwiki-list' => '<code>interwiki.list</code> 파일을 읽을 수 없습니다.',
+ 'config-install-interwiki-exists' => "'''경고''': 인터위키 표가 이미 항목을 갖고 있는 것 같습니다.
+기본 목록으로 넘어갑니다.",
+ 'config-install-keys' => '보안 키를 만드는 중',
+ 'config-insecure-keys' => "'''경고:''' 설치 중에 생성한 {{PLURAL:$2|보안 키}} ($1)를 설치하는 동안 완전히 안전하지 {{PLURAL:$2|않습니다}}. 직접 변경을 고려하세요.",
+ 'config-install-mainpage' => '기본 콘텐트로 대문을 만드는 중',
+ 'config-install-extension-tables' => '활성화된 확장 기능을 위한 표를 만드는 중',
+ 'config-install-mainpage-failed' => '대문을 삽입할 수 없습니다: $1',
+ 'config-install-done' => "'''축하합니다!'''
+성공적으로 MediaWIki를 설치했습니다.
+
+설치 마법사가 <code>LocalSettings.php</code> 파일을 만들었습니다.
+이는 모든 구성이 포함되어 있습니다.
+
+이를 다운로드하여 위키 설치의 거점에 넣어야 합니다 (index.php와 같은 디렉토리). 다운로드가 자동으로 시작됩니다.
+
+다운로드가 제공되지 않을 경우나 그것을 취소한 경우에는 아래의 링크를 클릭하여 다운로드를 다시 시작할 수 있습니다:
+
+$3
+
+'''참고''': 지금 이렇게 하지 않으면 이 구성 파일을 다운로드하지 않고 설치를 종료할 경우 만들어진 구성 파일은 나중에 사용할 수 없습니다.
+
+완료되었으면 '''[$2 당신은 위키에 들어갈 수 있습니다]'''.",
+ 'config-download-localsettings' => 'LocalSettings.php 다운로드',
+ 'config-help' => '도움말',
'config-nofile' => '파일 "$1"을 찾을 수 없습니다. 이미 삭제되었나요?',
'mainpagetext' => "'''미디어위키가 성공적으로 설치되었습니다.'''",
'mainpagedocfooter' => '[//meta.wikimedia.org/wiki/Help:Contents 이곳]에서 위키 프로그램에 대한 정보를 얻을 수 있습니다.
/** Colognian (Ripoarisch)
* @author Mormegil
* @author Purodha
+ * @author Reedy
*/
$messages['ksh'] = array(
'config-desc' => 'Et Projramm för Mediwiki opzesäze.',
'config-using531' => 'MediaWiki läuf nit met PHP $1 zosamme wääje enem [//bugs.php.net/bug.php?id=50394 Fähler em Zosammehang met Parrameetere för <code lang="en">__call()</code>].
Jangk op de Version 5.3.2 vum <i lang="en">PHP</i> ov dohnoh, udder op de Version 5.3.0 udder dovöör, öm dat Problem ze ömjonn.
Heh jeiht et nit wigger.',
- 'config-suhosin-max-value-length' => '<i lang="en">Suhosin</i> es enschtalleet. Dröm kann ene <code lang="en">GET</code>-Parrameeter nit övver {{PLURAL:$1|ei Byte|$q Bytes|noll Byte}} lang wääde. En MediaWiki singe <i lang="en"ResouceLoader</i> kütt doh zwa drömeröm, ävver dat brems. Wann müjelesch, doht <code lang="en">suhosin.get.max_value_length</code> en dä Dattei <code lang="en">php.ini</code> op 1024 Bytes udder drövver enschtälle. un dann moß <code lang="en">$wgResourceLoaderMaxQueryLength</code> en dä Dattei <code lang="en">LocalSettings.php</code> op däsälve Wäät jesaz wääde.',
+ 'config-suhosin-max-value-length' => '<i lang="en">Suhosin</i> es enschtalleet. Dröm kann ene <code lang="en">GET</code>-Parrameeter nit övver {{PLURAL:$1|ei Byte|$q Bytes|noll Byte}} lang wääde. En MediaWiki singe <i lang="en">ResourceLoader</i> kütt doh zwa drömeröm, ävver dat brems. Wann müjelesch, doht <code lang="en">suhosin.get.max_value_length</code> en dä Dattei <code lang="en">php.ini</code> op 1024 Bytes udder drövver enschtälle. un dann moß <code lang="en">$wgResourceLoaderMaxQueryLength</code> en dä Dattei <code lang="en">LocalSettings.php</code> op däsälve Wäät jesaz wääde.',
'config-db-type' => 'De Zoot Daatebangk:',
'config-db-host' => 'Dä Name vun däm Rääschner met dä Daatebangk:',
'config-db-host-help' => 'Wann Dinge ẞööver för de Daatebangk ob enem andere Rääschner es, donn heh dämm singe Name udder dämm sing <i lang="en">IP</i>-Addräß enjävve.
'mainpagetext' => "'''ຕິດຕັ້ງມີເດຍວິກິນີ້ສຳເລັດແລ້ວ.'''",
);
-/** Lithuanian (Lietuvių) */
+/** Lithuanian (lietuvių) */
$messages['lt'] = array(
'mainpagetext' => "'''MediaWiki sėkmingai įdiegta.'''",
'mainpagedocfooter' => 'Informacijos apie wiki programinės įrangos naudojimą, ieškokite [//meta.wikimedia.org/wiki/Help:Contents žinyne].
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki pranešimai paštu apie naujas versijas]',
);
-/** Latvian (Latviešu)
+/** Latvian (latviešu)
* @author GreenZeb
*/
$messages['lv'] = array(
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Milis rilis MediaWiki]',
);
-/** Macedonian (Ð\9cакедонски)
+/** Macedonian (македонски)
* @author Bjankuloski06
*/
$messages['mk'] = array(
'config-license-cc-by-sa' => 'Creative Commons НаведиИзвор СподелиПодИстиУслови',
'config-license-cc-by' => 'Криејтив комонс НаведиИзвор',
'config-license-cc-by-nc-sa' => 'Creative Commons НаведиИзвор-Некомерцијално-СподелиПодИстиУслови',
- 'config-license-cc-0' => 'Ð\9aÑ\80иеÑ\98Ñ\82ив комонÑ\81 Ð\9dÑ\83ла (Ñ\98авен домен)',
+ 'config-license-cc-0' => 'Ð\9aÑ\80иеÑ\98Ñ\82ив комонÑ\81 Ð\9dÑ\83ла (Ñ\98авна Ñ\81опÑ\81Ñ\82веноÑ\81Ñ\82)',
'config-license-gfdl' => 'ГНУ-ова лиценца за слободна документација 1.3 или понова',
'config-license-pd' => 'Јавна сопственост',
'config-license-cc-choose' => 'Одберете друга Creative Commons лиценца по ваш избор',
'config-install-tables-exist' => "'''Предупредување''': Изгледа дека табелите за МедијаВики веќе постојат.
Го прескокнувам создавањето.",
'config-install-tables-failed' => "'''Грешка''': Создавањето на табелата не успеа поради следнава грешка: $1",
- 'config-install-interwiki' => 'Ги пополнувам основно-зададените интервики-табели',
+ 'config-install-interwiki' => 'Ги пополнувам основно зададените меѓувики-табели',
'config-install-interwiki-list' => 'Не можев да ја пронајдам податотеката <code>interwiki.list</code>.',
'config-install-interwiki-exists' => "'''Предупредување''': Табелата со интервикија веќе содржи ставки.
Го прескокнувам основно-зададениот список.",
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce മീഡിയവിക്കി പ്രകാശന മെയിലിങ് ലിസ്റ്റ്]',
);
-/** Mongolian (Ð\9cонгол)
+/** Mongolian (монгол)
* @author Chinneeb
*/
$messages['mn'] = array(
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki的公布列單]',
);
-/** Norwegian (bokmål) (Norsk (bokmål))
+/** Norwegian Bokmål (norsk (bokmål))
* @author Event
- * @author Jon Harald Søby
* @author Nghtwlkr
*/
$messages['nb'] = array(
Om du er på delt vertsskap, spør din vertsleverandør om å installere en passende databasedriver.
Om du kompilerte PHP selv, rekonfigirer den med en aktivert databaseklient, for eksempel ved å bruke <code>./configure --with-mysql</code>.
Om du installerte PHP fra en Debian- eller Ubuntu-pakke må du også installere modulen php5-mysql.',
+ 'config-outdated-sqlite' => "'''Advarsel''': Du har SQLite $1, som er en eldre versjon enn minimumskravet SQLite $2. SQLite vil ikke være tilgjengelig.",
'config-no-fts3' => "'''Advarsel''': SQLite er kompilert uten [//sqlite.org/fts3.html FTS3-modulen], søkefunksjoner vil ikke være tilgjengelig på dette bakstykket.",
'config-register-globals' => "'''Advarsel: PHPs <code>[http://php.net/register_globals register_globals]</code>-alternativ er aktivert.'''
'''Deaktiver det om du kan.'''
'config-memory-bad' => "'''Advarsel:''' PHPs <code>memory_limit</code> er $1.
Dette er sannsynligvis for lavt.
Installasjonen kan mislykkes!",
+ 'config-ctype' => "'''Fatal feil''': PHP må kompileres med støtte for [http://www.php.net/manual/en/ctype.installation.php Ctype-utvidelsen].",
'config-xcache' => '[http://xcache.lighttpd.net/ XCache] er innstallert',
'config-apc' => '[http://www.php.net/apc APC] er innstallert',
'config-wincache' => '[http://www.iis.net/download/WinCacheForPhp WinCache] er installert',
'config-suhosin-max-value-length' => 'Suhosin er installert og begrenser GET-parameterlengder til $1 bytes. MediaWiki\'s ResourceLoader-komponent klarer å komme rundt denne begrensningen, med med redusert ytelse. På mulig bør du sette suhosin.get.max_value_length til minst 1024 i php.ini, og sette $wgResourceLoaderMaxQueryLength til samme verdi i LocalSettings.php.',
'config-db-type' => 'Databasetype:',
'config-db-host' => 'Databasevert:',
- 'config-db-host-help' => 'Hvis databasetjeneren er på en annen tjener, skriv inn vertsnavnet eller IP-adressen her.
+ 'config-db-host-help' => 'Hvis databasen kjører på en annen tjenermaskin, skriv inn vertsnavnet eller IP-adressen her.
+
+Hvis du bruker et webhotell, vil du kunne be om aktuelt vertsnavn fra din leverandør.
-Hvis du bruker en delt nettvert bør verten din oppgi det korrekte vertsnavnet i deres dokumentasjon.
+Hvis du installerer på en Windowstjener og bruker MySQL, kan det hende at «localhost» ikke brukes som tjenernavn. Hvis så er tilfelle, prøv «127.0.0.1» som lokal IP-adresse.
-Hvis du installerer på en Windowstjener og bruker MySQL kan det hende at «localhost» ikke virker som tjenernavnet. Hvis ikke, prøv «127.0.0.1» for den lokale IP-adressen.',
+Hvis du bruker PostgreSQL, la dette feltet være blankt slik at koplingen gjøres via en "Unix socket".',
'config-db-host-oracle' => 'Database TNS:',
'config-db-host-oracle-help' => 'Skriv inn et gyldig [http://download.oracle.com/docs/cd/B28359_01/network.111/b28317/tnsnames.htm Local Connect Name]; en tnsnames.ora-fil må være synlig for installasjonsprosessen.<br />Hvis du bruker klientbibliotek 10g eller nyere kan du også bruke navngivingsmetoden [http://download.oracle.com/docs/cd/E11882_01/network.112/e10836/naming.htm Easy Connect].',
'config-db-wiki-settings' => 'Identifiser denne wikien',
Hvis du bruker en delt nettvert vil verten din enten gi deg et spesifikt databasenavn å bruke, eller la deg opprette databaser via kontrollpanelet.',
'config-db-name-oracle' => 'Databaseskjema:',
+ 'config-db-account-oracle-warn' => 'Det finnes tre mulig fremgangsmåter for å installere Oracle som database:
+
+Hvis du ønsker å opprette en databasekonto som del av installasjonsprosessen, oppgi da en konto med SYSDBA-rolle som databasekonto for installasjonen og angi påkrevd autentiseringsinformasjon for web-aksesskontoen. Ellers kan du enten opprette web-aksesskontoen manuelt eller kun oppgi den kontoen (hvis den har påkrevede tillatelser for å opprette skjemeobjektene) , alternativt oppgi to ulike kontoer, en med opprettelsesprivilegier (create) og en begrenset konto for web-aksess.
+
+Skript for å opprette en konto med påkrevde privilegier finnes i "maintenance/oracle/"-folderen av denne installasjonen. Husk at det å bruke en begrenset konto vil blokkere all vedlikeholdsfunksjonalitet med standard konto.',
'config-db-install-account' => 'Brukerkonto for installasjon',
'config-db-username' => 'Databasebrukernavn:',
'config-db-password' => 'Databasepassord:',
'config-db-schema' => 'Skjema for MediaWiki',
'config-db-schema-help' => 'Dette skjemaet er som regel riktig.
Bare endre det hvis du vet at du trenger det.',
+ 'config-pg-test-error' => "Får ikke kontakt med database '''$1''': $2",
'config-sqlite-dir' => 'SQLite datamappe:',
'config-sqlite-dir-help' => "SQLite lagrer alle data i en enkelt fil.
Mer komplekse konfigurasjoner av brukerrettigheter er tilgjengelig etter installasjon, se det [//www.mediawiki.org/wiki/Manual:User_rights relevante manualavsnittet].",
'config-license' => 'Opphavsrett og lisens:',
+ 'config-license-none' => 'Ingen lisensbunntekst',
'config-license-cc-by-sa' => 'Creative Commons Navngivelse Del på samme vilkår',
+ 'config-license-cc-by' => 'Creative Commons Attribution',
'config-license-cc-by-nc-sa' => 'Creative Commons Navngivelse Ikke-kommersiell Del på samme vilkår',
'config-license-cc-0' => 'Creative Commons Zero',
'config-license-pd' => 'Offentlig rom',
'config-install-user-grant-failed' => 'Å gi tillatelse til brukeren «$1» mislyktes: $2',
'config-install-tables' => 'Oppretter tabeller',
'config-install-mainpage-failed' => 'Kunne ikke sette inn hovedside: $1',
+ 'config-download-localsettings' => 'Last ned LocalSettings.php',
'config-help' => 'hjelp',
+ 'config-nofile' => 'Filen "$1" ble ikke funnet. Kan den være blitt slettet?',
'mainpagetext' => "'''MediaWiki-programvaren er nå installert.'''",
'mainpagedocfooter' => 'Se [//meta.wikimedia.org/wiki/Help:Contents brukerveiledningen] for informasjon om hvordan du bruker wiki-programvaren.
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailinglijst voor aankondigingen van nieuwe versies]',
);
-/** Norwegian Nynorsk (Norsk (nynorsk))
+/** Norwegian Nynorsk (norsk (nynorsk))
* @author Harald Khan
* @author Nghtwlkr
*/
Installasjonen kan mislukkast!",
'config-xcache' => '[http://xcache.lighttpd.net/ XCache] er innstallert',
'config-apc' => '[http://www.php.net/apc APC] er innstallert',
- 'config-eaccel' => '[http://eaccelerator.sourceforge.net/ eAccelerator] er innstallert',
'config-wincache' => '[http://www.iis.net/download/WinCacheForPhp WinCache] er installert',
'config-db-name' => 'Databasenamn:',
'config-db-username' => 'Databasebrukarnamn:',
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce E-postliste med informasjon om nye MediaWiki-versjonar]',
);
-/** Occitan (Occitan) */
+/** Norwegian (bokmål) (norsk (bokmål)) */
+$messages['no'] = array(
+ 'mainpagetext' => "'''MediaWiki-programvaren er nå installert.'''",
+);
+
+/** Occitan (occitan) */
$messages['oc'] = array(
'mainpagetext' => "'''MediaWiki es estat installat amb succès.'''",
'mainpagedocfooter' => "Consultatz lo [//meta.wikimedia.org/wiki/Ajuda:Contengut Guida de l'utilizaire] per mai d'entresenhas sus l'utilizacion d'aqueste logicial.
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Eposchde-Lischt fer neie MediaWiki-Versione]",
);
-/** Polish (Polski)
+/** Polish (polski)
+ * @author Beau
* @author BeginaFelicysym
* @author Holek
* @author Saper
Jeśli korzystasz ze współdzielonego hostingu, dostawca usługi hostingowej może wymagać użycia konkretnej nazwy bazy danych lub pozwalać na tworzenie baz danych za pośrednictwem panelu użytkownika.',
'config-db-name-oracle' => 'Nazwa schematu bazy danych:',
- 'config-db-account-oracle-warn' => 'Bazę danych Oracle można przygotować do pracy z MediaWIki na trzy sposoby:
+ 'config-db-account-oracle-warn' => 'Bazę danych Oracle można przygotować do pracy z MediaWiki na trzy sposoby:
Możesz utworzyć konto użytkownika bazy danych podczas instalacji MediaWiki. Wówczas należy podać nazwę i hasło użytkownika z rolą SYSDBA w celu użycia go przez instalator do utworzenia nowe konta użytkownika, z którego korzystać będzie MediaWiki.
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce د مېډياويکي د برېښليکونو لړليک]',
);
-/** Portuguese (Português)
+/** Portuguese (português)
* @author Crazymadlover
* @author Hamilton Abreu
* @author Mormegil
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Subscreva a lista de divulgação de novas versões do MediaWiki]',
);
-/** Brazilian Portuguese (Português do Brasil)
+/** Brazilian Portuguese (português do Brasil)
* @author Giro720
* @author Gustavo
* @author Marcionunes
'mainpagetext' => "'''L'instalaziòn d'MediaWiki l'è andêda ben'''",
);
-/** Romansh (Rumantsch)
+/** Romansh (rumantsch)
* @author Gion-andri
*/
$messages['rm'] = array(
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Glista da mail da MediaWiki cun annunzias da novas versiuns]",
);
-/** Romanian (Română)
+/** Romanian (română)
* @author Minisarm
* @author Stelistcristi
*/
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista de discuții a MediaWiki (en)]',
);
-/** Tarandíne (Tarandíne)
+/** tarandíne (tarandíne)
* @author Joetaras
*/
$messages['roa-tara'] = array(
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Liste d'a poste de MediaWiki]",
);
-/** Russian (Русский)
+/** Russian (русский)
* @author Adata80
* @author DCamer
* @author Eleferen
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Розосыланя повідомлїнь про новы верзії MediaWiki]',
);
-/** Sanskrit (संस्कृत)
+/** Sanskrit (संस्कृतम्)
* @author Hemant wikikosh1
*/
$messages['sa'] = array(
'mainpagetext' => 'मीडियाविकि तु सफलतया अन्तःस्थापितमस्ति',
);
-/** Sakha (Саха тыла) */
+/** Sakha (саха тыла) */
$messages['sah'] = array(
'mainpagetext' => "'''«MediaWiki» сөпкө туруорулунна.'''",
'mainpagedocfooter' => 'Биики программатын туһунан [//meta.wikimedia.org/wiki/Help:Contents справочникка] көрүөххүн сөп.
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki релизтарын почтовай испииһэгэ]',
);
-/** Sardinian (Sardu)
+/** Sardinian (sardu)
* @author Andria
*/
$messages['sc'] = array(
'mainpagetext' => "'''MediaWiki est stadu installadu in modu currègidu.'''",
);
-/** Sicilian (Sicilianu) */
+/** Sicilian (sicilianu) */
$messages['scn'] = array(
'mainpagetext' => "'''Nstallazzioni di MediaWiki cumplitata currettamenti.'''",
'mainpagedocfooter' => "Pi favuri taliari [//meta.wikimedia.org/wiki/Help:Contents Guida utenti] pi aiutu supra l'usu e la cunfigurazzioni di stu software wiki.
'mainpagetext' => "'''MediaWiki coccebj installöx successua zo mii.'''",
);
-/** Serbo-Croatian (Srpskohrvatski)
+/** Serbo-Croatian (srpskohrvatski / српскохрватски)
* @author OC Ripper
*/
$messages['sh'] = array(
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Umuɣ n imsgdaln f imbḍitn n MidyaWiki]',
);
-/** Sinhala (සිංහල) */
+/** Sinhala (සිංහල)
+ * @author Singhalawap
+ */
$messages['si'] = array(
- 'mainpagetext' => "'''මà·\8fධà·\8aâ\80\8dයවිකි සාර්ථක ලෙස ස්ථාපනය කරන ලදි.'''",
+ 'mainpagetext' => "'''මà·\93ඩà·\92යà·\8fවිකි සාර්ථක ලෙස ස්ථාපනය කරන ලදි.'''",
'mainpagedocfooter' => 'විකි මෘදුකාංග භාවිතා කිරීම පිළිබඳ තොරතුරු සඳහා [//meta.wikimedia.org/wiki/Help:Contents පරිශීලකයන් සඳහා නියමුව] හදාරන්න.
== ඇරඹුම ==
-* [//www.mediawiki.org/wiki/Manual:Configuration_settings à·\80à·\92නà·\8aâ\80\8dයà·\8fà·\83 පරà·\92à·\83à·\8aථà·\92à¶à·\93නà·\8a ලà·\90යà·\92à·\83à·\8aà¶à·\94à·\80]
-* [//www.mediawiki.org/wiki/Manual:FAQ මà·\8fධà·\8aâ\80\8dයà·\80à·\92à¶\9aà·\92 නà·\92à¶à¶»-à¶\85සන-පැන]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce මà·\8fධà·\8aâ\80\8dයවිකි නිකුතුව තැපැල් ලැයිස්තුව]',
+* [//www.mediawiki.org/wiki/Manual:Configuration_settings à·\80à·\92නà·\8aâ\80\8dයà·\8fà·\83 à·\83à·\90à¶\9aà·\83à·\94මà·\8a]
+* [//www.mediawiki.org/wiki/Manual:FAQ මà·\93ඩà·\92යà·\8fà·\80à·\92à¶\9aà·\92 නà·\92à¶à·\92-à·\80à·\92මසන-පැන]
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce මà·\93ඩà·\92යà·\8fවිකි නිකුතුව තැපැල් ලැයිස්තුව]',
);
-/** Slovak (Slovenčina) */
+/** Slovak (slovenčina) */
$messages['sk'] = array(
'mainpagetext' => "'''Softvér MediaWiki bol úspešne nainštalovaný.'''",
'mainpagedocfooter' => 'Informácie ako používať wiki softvér nájdete v [//meta.wikimedia.org/wiki/Help:Contents Používateľskej príručke].
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce mailing list nových verzií MediaWiki]',
);
-/** Slovenian (Slovenščina)
+/** Slovenian (slovenščina)
* @author Dbc334
*/
$messages['sl'] = array(
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]",
);
-/** Albanian (Shqip) */
+/** Albanian (shqip) */
$messages['sq'] = array(
'mainpagetext' => "'''MediaWiki software u instalua me sukses.'''",
'mainpagedocfooter' => 'Për më shumë informata rreth përdorimit të softwerit wiki , ju lutem shikoni [//meta.wikimedia.org/wiki/Help:Contents dokumentacionin përkatës].
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Njoftime rreth MediaWiki-t]',
);
-/** Serbian (Cyrillic script) (Српски (ћирилица))
+/** Serbian (Cyrillic script) (српски (ћирилица))
* @author Rancher
*/
$messages['sr-ec'] = array(
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Дописна листа о издањима Медијавикија]',
);
-/** Serbian (Latin script) (Srpski (latinica)) */
+/** Serbian (Latin script) (srpski (latinica)) */
$messages['sr-el'] = array(
'config-continue' => 'Nastavi →',
'config-page-language' => 'Jezik',
'mainpagedocfooter' => "Mangga tingal ''[//meta.wikimedia.org/wiki/MediaWiki_localisation documentation on customizing the interface]'' jeung [//meta.wikimedia.org/wiki/MediaWiki_User%27s_Guide Tungtunan Pamaké] pikeun pitulung maké jeung konfigurasi.",
);
-/** Swedish (Svenska)
+/** Swedish (svenska)
* @author Skalman
* @author WikiPhoenix
*/
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce మీడియావికీ సాఫ్టువేరు కొత్త వెర్షను విడుదలల గురించి తెలిపే మెయిలింగు లిస్టు]',
);
-/** Tetum (Tetun)
+/** Tetum (tetun)
* @author MF-Warburg
*/
$messages['tet'] = array(
'config-page-name' => 'Naran',
);
-/** Tajik (Cyrillic script) (Тоҷикӣ) */
+/** Tajik (Cyrillic script) (тоҷикӣ) */
$messages['tg-cyrl'] = array(
'mainpagetext' => "'''Нармафзори МедиаВики бо муваффақият насб шуд.'''",
'mainpagedocfooter' => 'Аз [//meta.wikimedia.org/wiki/Help:Contents Роҳнамои Корбарон] барои истифодаи нармафзори вики кӯмак бигиред.
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki e-posta listesi]',
);
-/** Tatar (Cyrillic script) (Татарча)
+/** Tatar (Cyrillic script) (татарча)
* @author KhayR
*/
$messages['tt-cyrl'] = array(
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki'ның яңа версияләре турында хәбәрләр яздырып алу].",
);
-/** Tatar (Latin script) (Tatarça)
+/** Tatar (Latin script) (tatarça)
* @author Don Alessandro
*/
$messages['tt-latn'] = array(
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki تارقاتقان ئېلخەت تىزىملىكى]',
);
-/** Ukrainian (Українська)
+/** Ukrainian (українська)
* @author Ahonc
* @author Alex Khimich
* @author Diemon.ukr
'mainpagetext' => "'''میڈیاوکی کو کامیابی سے چالو کردیا گیا ہے۔.'''",
);
-/** Uzbek (O'zbek) */
+/** Uzbek (Oʻzbek) */
$messages['uz'] = array(
'mainpagetext' => "'''MediaWiki muvaffaqiyatli o'rnatildi.'''",
'mainpagedocfooter' => "Wiki dasturini ishlatish haqida ma'lumot olish uchun [//meta.wikimedia.org/wiki/Help:Contents Foydalanuvchi qo'llanmasi] sahifasiga murojaat qiling.
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki yangi versiyasi chiqqanda xabar berish ro'yxati]",
);
-/** Vèneto (Vèneto)
+/** vèneto (vèneto)
* @author Vajotwo
*/
$messages['vec'] = array(
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailing list anunsi MediaWiki]",
);
-/** Veps (Vepsan kel')
+/** Veps (Vepsän kel’)
* @author Игорь Бродский
*/
$messages['vep'] = array(
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce E-postilist, minka andas teedäq MediaWiki vahtsist kujõst].',
);
-/** Walloon (Walon) */
+/** Walloon (walon) */
$messages['wa'] = array(
'mainpagetext' => "'''Li programe Wiki a stî astalé a l' idêye.'''",
);
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailienglieste voe ankondigiengen van nieuwe versies]",
);
-/** Simplified Chinese (中文(简体))
+/** Simplified Chinese (中文(简体))
* @author Hydra
* @author Hzy980512
* @author PhiLiP
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki发布邮件列表]',
);
-/** Traditional Chinese (中文(繁體))
+/** Traditional Chinese (中文(繁體))
* @author Hzy980512
* @author Mark85296341
*/
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki 發佈郵件清單]',
);
-/** Chinese (Hong Kong) (中文(香港))
+/** Chinese (Hong Kong) (中文(香港))
* @author Mark85296341
*/
$messages['zh-hk'] = array(
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki 發佈郵件清單]',
);
-/** Chinese (Taiwan) (中文(台灣)) */
+/** Chinese (Taiwan) (中文(台灣)) */
$messages['zh-tw'] = array(
'mainpagedocfooter' => '請參閱 [//meta.wikimedia.org/wiki/Help:Contents 使用者手冊] 以獲得使用此 wiki 軟體的訊息!
* @return Job or false if there's no jobs
*/
static function pop( $offset = 0 ) {
- global $wgJobTypesExcludedFromDefaultQueue;
wfProfileIn( __METHOD__ );
$dbr = wfGetDB( DB_SLAVE );
NB: If random fetch previously was used, offset
will always be ahead of few entries
*/
- $conditions = array();
- if ( count( $wgJobTypesExcludedFromDefaultQueue ) != 0 ) {
- foreach ( $wgJobTypesExcludedFromDefaultQueue as $cmdType ) {
- $conditions[] = "job_cmd != " . $dbr->addQuotes( $cmdType );
- }
- }
+
+ $conditions = self::defaultQueueConditions();
+
$offset = intval( $offset );
$options = array( 'ORDER BY' => 'job_id', 'USE INDEX' => 'PRIMARY' );
$title = Title::makeTitleSafe( $namespace, $dbkey );
if ( is_null( $title ) ) {
+ wfProfileOut( __METHOD__ );
return false;
}
wfIncrStats( 'job-insert', count( $jobs ) );
}
+
+ /**
+ * SQL conditions to apply on most JobQueue queries
+ *
+ * Whenever we exclude jobs types from the default queue, we want to make
+ * sure that queries to the job queue actually ignore them.
+ *
+ * @return array SQL conditions suitable for Database:: methods
+ */
+ static function defaultQueueConditions( ) {
+ global $wgJobTypesExcludedFromDefaultQueue;
+ $conditions = array();
+ if ( count( $wgJobTypesExcludedFromDefaultQueue ) > 0 ) {
+ $dbr = wfGetDB( DB_SLAVE );
+ foreach ( $wgJobTypesExcludedFromDefaultQueue as $cmdType ) {
+ $conditions[] = "job_cmd != " . $dbr->addQuotes( $cmdType );
+ }
+ }
+ return $conditions;
+ }
+
/*-------------------------------------------------------------------------
* Non-static functions
*------------------------------------------------------------------------*/
class LogEventsList {
const NO_ACTION_LINK = 1;
const NO_EXTRA_USER_LINKS = 2;
+ const USE_REVDEL_CHECKBOXES = 4;
/**
* @var Skin
*/
private function getShowHideLinks( $row ) {
global $wgUser;
- if( ( $this->flags & self::NO_ACTION_LINK ) // we don't want to see the links
+ if( ( $this->flags == self::NO_ACTION_LINK ) // we don't want to see the links
|| $row->log_type == 'suppress' ) { // no one can hide items from the suppress log
return '';
}
$del = '';
- // Don't show useless link to people who cannot hide revisions
+ // Don't show useless checkbox to people who cannot hide revisions
if( $wgUser->isAllowed( 'deletedhistory' ) ) {
if( $row->log_deleted || $wgUser->isAllowed( 'deleterevision' ) ) {
$canHide = $wgUser->isAllowed( 'deleterevision' );
- // If event was hidden from sysops
- if( !self::userCan( $row, LogPage::DELETED_RESTRICTED ) ) {
- $del = Xml::check( 'deleterevisions', false, array( 'disabled' => 'disabled' ) );
+ if ( $this->flags & self::USE_REVDEL_CHECKBOXES ) { // Show checkboxes instead of links.
+ if ( !self::userCan( $row, LogPage::DELETED_RESTRICTED ) ) { // If event was hidden from sysops
+ $del = Xml::check( 'deleterevisions', false, array( 'disabled' => 'disabled' ) );
+ } else {
+ $del = Xml::check( 'showhiderevisions', false, array( 'name' => 'ids[' . $row->log_id . ']' ) );
+ }
} else {
- $del = Xml::check( 'showhiderevisions', false, array( 'name' => 'ids[' . $row->log_id . ']' ) );
+ if ( !self::userCan( $row, LogPage::DELETED_RESTRICTED ) ) { // If event was hidden from sysops
+ $del = Linker::revDeleteLinkDisabled( $canHide );
+ } else {
+ $query = array(
+ 'target' => SpecialPage::getTitleFor( 'Log', $row->log_type )->getPrefixedDBkey(),
+ 'type' => 'logging',
+ 'ids' => $row->log_id,
+ );
+ $del = Linker::revDeleteLink( $query, self::isDeleted( $row, LogPage::DELETED_RESTRICTED ), $canHide );
+ }
}
}
}
--- /dev/null
+<?php
+/**
+ * Mobile device detection code
+ *
+ * Copyright © 2011 Patrick Reilly
+ * http://www.mediawiki.org/
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ */
+
+/**
+ * Base for classes describing devices and their capabilities
+ * @since 1.20
+ */
+interface IDeviceProperties {
+ /**
+ * @return string: 'html' or 'wml'
+ */
+ function format();
+
+ /**
+ * @return bool
+ */
+ function supportsJavaScript();
+
+ /**
+ * @return bool
+ */
+ function supportsJQuery();
+
+ /**
+ * @return bool
+ */
+ function disableZoom();
+}
+
+/**
+ * @since 1.20
+ */
+interface IDeviceDetector {
+ /**
+ * @param $userAgent
+ * @param string $acceptHeader
+ * @return IDeviceProperties
+ */
+ function detectDeviceProperties( $userAgent, $acceptHeader = '' );
+
+ /**
+ * @param $deviceName
+ * @return IDeviceProperties
+ */
+ function getDeviceProperties( $deviceName );
+
+ /**
+ * @param $userAgent string
+ * @param $acceptHeader string
+ * @return string
+ */
+ function detectDeviceName( $userAgent, $acceptHeader = '' );
+}
+
+/**
+ * MediaWiki's default IDeviceProperties implementation
+ */
+final class DeviceProperties implements IDeviceProperties {
+ private $device;
+
+ public function __construct( array $deviceCapabilities ) {
+ $this->device = $deviceCapabilities;
+ }
+
+ /**
+ * @return string
+ */
+ function format() {
+ return $this->device['view_format'];
+ }
+
+ /**
+ * @return bool
+ */
+ function supportsJavaScript() {
+ return $this->device['supports_javascript'];
+ }
+
+ /**
+ * @return bool
+ */
+ function supportsJQuery() {
+ return $this->device['supports_jquery'];
+ }
+
+ /**
+ * @return bool
+ */
+ function disableZoom() {
+ return $this->device['disable_zoom'];
+ }
+}
+
+/**
+ * Provides abstraction for a device.
+ * A device can select which format a request should receive and
+ * may be extended to provide access to particular device functionality.
+ * @since 1.20
+ */
+class DeviceDetection implements IDeviceDetector {
+
+ private static $formats = array (
+ 'html' => array (
+ 'view_format' => 'html',
+ 'css_file_name' => 'default',
+ 'supports_javascript' => false,
+ 'supports_jquery' => false,
+ 'disable_zoom' => true,
+ ),
+ 'capable' => array (
+ 'view_format' => 'html',
+ 'css_file_name' => 'default',
+ 'supports_javascript' => true,
+ 'supports_jquery' => true,
+ 'disable_zoom' => true,
+ ),
+ 'webkit' => array (
+ 'view_format' => 'html',
+ 'css_file_name' => 'webkit',
+ 'supports_javascript' => true,
+ 'supports_jquery' => true,
+ 'disable_zoom' => false,
+ ),
+ 'ie' => array (
+ 'view_format' => 'html',
+ 'css_file_name' => 'default',
+ 'supports_javascript' => true,
+ 'supports_jquery' => true,
+ 'disable_zoom' => false,
+ ),
+ 'android' => array (
+ 'view_format' => 'html',
+ 'css_file_name' => 'android',
+ 'supports_javascript' => true,
+ 'supports_jquery' => true,
+ 'disable_zoom' => false,
+ ),
+ 'iphone' => array (
+ 'view_format' => 'html',
+ 'css_file_name' => 'iphone',
+ 'supports_javascript' => true,
+ 'supports_jquery' => true,
+ 'disable_zoom' => false,
+ ),
+ 'iphone2' => array (
+ 'view_format' => 'html',
+ 'css_file_name' => 'iphone2',
+ 'supports_javascript' => true,
+ 'supports_jquery' => true,
+ 'disable_zoom' => true,
+ ),
+ 'native_iphone' => array (
+ 'view_format' => 'html',
+ 'css_file_name' => 'default',
+ 'supports_javascript' => true,
+ 'supports_jquery' => true,
+ 'disable_zoom' => false,
+ ),
+ 'palm_pre' => array (
+ 'view_format' => 'html',
+ 'css_file_name' => 'palm_pre',
+ 'supports_javascript' => true,
+ 'supports_jquery' => false,
+ 'disable_zoom' => true,
+ ),
+ 'kindle' => array (
+ 'view_format' => 'html',
+ 'css_file_name' => 'kindle',
+ 'supports_javascript' => false,
+ 'supports_jquery' => false,
+ 'disable_zoom' => true,
+ ),
+ 'kindle2' => array (
+ 'view_format' => 'html',
+ 'css_file_name' => 'kindle',
+ 'supports_javascript' => false,
+ 'supports_jquery' => false,
+ 'disable_zoom' => true,
+ ),
+ 'blackberry' => array (
+ 'view_format' => 'html',
+ 'css_file_name' => 'blackberry',
+ 'supports_javascript' => true,
+ 'supports_jquery' => false,
+ 'disable_zoom' => true,
+ ),
+ 'blackberry-lt5' => array (
+ 'view_format' => 'html',
+ 'css_file_name' => 'blackberry',
+ 'supports_javascript' => false,
+ 'supports_jquery' => false,
+ 'disable_zoom' => true,
+ ),
+ 'netfront' => array (
+ 'view_format' => 'html',
+ 'css_file_name' => 'simple',
+ 'supports_javascript' => false,
+ 'supports_jquery' => false,
+ 'disable_zoom' => true,
+ ),
+ 'wap2' => array (
+ 'view_format' => 'html',
+ 'css_file_name' => 'simple',
+ 'supports_javascript' => false,
+ 'supports_jquery' => false,
+ 'disable_zoom' => true,
+ ),
+ 'psp' => array (
+ 'view_format' => 'html',
+ 'css_file_name' => 'psp',
+ 'supports_javascript' => false,
+ 'supports_jquery' => false,
+ 'disable_zoom' => true,
+ ),
+ 'ps3' => array (
+ 'view_format' => 'html',
+ 'css_file_name' => 'simple',
+ 'supports_javascript' => false,
+ 'supports_jquery' => false,
+ 'disable_zoom' => true,
+ ),
+ 'wii' => array (
+ 'view_format' => 'html',
+ 'css_file_name' => 'wii',
+ 'supports_javascript' => true,
+ 'supports_jquery' => true,
+ 'disable_zoom' => true,
+ ),
+ 'operamini' => array (
+ 'view_format' => 'html',
+ 'css_file_name' => 'operamini',
+ 'supports_javascript' => false,
+ 'supports_jquery' => false,
+ 'disable_zoom' => true,
+ ),
+ 'operamobile' => array (
+ 'view_format' => 'html',
+ 'css_file_name' => 'operamobile',
+ 'supports_javascript' => true,
+ 'supports_jquery' => true,
+ 'disable_zoom' => true,
+ ),
+ 'nokia' => array (
+ 'view_format' => 'html',
+ 'css_file_name' => 'nokia',
+ 'supports_javascript' => true,
+ 'supports_jquery' => false,
+ 'disable_zoom' => true,
+ ),
+ 'wml' => array (
+ 'view_format' => 'wml',
+ 'css_file_name' => null,
+ 'supports_javascript' => false,
+ 'supports_jquery' => false,
+ 'disable_zoom' => true,
+ ),
+ );
+
+ /**
+ * Returns an instance of detection class, overridable by extensions
+ * @return IDeviceDetector
+ */
+ public static function factory() {
+ global $wgDeviceDetectionClass;
+
+ static $instance = null;
+ if ( !$instance ) {
+ $instance = new $wgDeviceDetectionClass();
+ }
+ return $instance;
+ }
+
+ /**
+ * @deprecated: Deprecated, will be removed once detectDeviceProperties() will be deployed everywhere on WMF
+ * @param $userAgent
+ * @param string $acceptHeader
+ * @return array
+ */
+ public function detectDevice( $userAgent, $acceptHeader = '' ) {
+ $formatName = $this->detectFormatName( $userAgent, $acceptHeader );
+ return $this->getDevice( $formatName );
+ }
+
+ /**
+ * @param $userAgent
+ * @param string $acceptHeader
+ * @return IDeviceProperties
+ */
+ public function detectDeviceProperties( $userAgent, $acceptHeader = '' ) {
+ $deviceName = $this->detectDeviceName( $userAgent, $acceptHeader );
+ return $this->getDeviceProperties( $deviceName );
+ }
+
+ /**
+ * @deprecated: Deprecated, will be removed once detectDeviceProperties() will be deployed everywhere on WMF
+ * @param $formatName
+ * @return array
+ */
+ public function getDevice( $formatName ) {
+ return ( isset( self::$formats[$formatName] ) ) ? self::$formats[$formatName] : array();
+ }
+
+ /**
+ * @param $deviceName
+ * @return IDeviceProperties
+ */
+ public function getDeviceProperties( $deviceName ) {
+ if ( isset( self::$formats[$deviceName] ) ) {
+ return new DeviceProperties( self::$formats[$deviceName] );
+ } else {
+ return new DeviceProperties( array(
+ 'view_format' => 'html',
+ 'css_file_name' => 'default',
+ 'supports_javascript' => true,
+ 'supports_jquery' => true,
+ 'disable_zoom' => true,
+ ) );
+ }
+ }
+
+ /**
+ * @deprecated: Renamed to detectDeviceName()
+ * @param $userAgent string
+ * @param $acceptHeader string
+ * @return string
+ */
+ public function detectFormatName( $userAgent, $acceptHeader = '' ) {
+ return $this->detectDeviceName( $userAgent, $acceptHeader );
+ }
+
+ /**
+ * @param $userAgent string
+ * @param $acceptHeader string
+ * @return string
+ */
+ public function detectDeviceName( $userAgent, $acceptHeader = '' ) {
+ wfProfileIn( __METHOD__ );
+
+ $deviceName = '';
+ if ( preg_match( '/Android/', $userAgent ) ) {
+ $deviceName = 'android';
+ if ( strpos( $userAgent, 'Opera Mini' ) !== false ) {
+ $deviceName = 'operamini';
+ }
+ } else if ( preg_match( '/MSIE 9.0/', $userAgent ) ||
+ preg_match( '/MSIE 8.0/', $userAgent ) ) {
+ $deviceName = 'ie';
+ } else if( preg_match( '/MSIE/', $userAgent ) ) {
+ $deviceName = 'html';
+ } else if ( strpos( $userAgent, 'Opera Mobi' ) !== false ) {
+ $deviceName = 'operamobile';
+ } elseif ( preg_match( '/iPad.* Safari/', $userAgent ) ) {
+ $deviceName = 'iphone';
+ } elseif ( preg_match( '/iPhone.* Safari/', $userAgent ) ) {
+ if ( strpos( $userAgent, 'iPhone OS 2' ) !== false ) {
+ $deviceName = 'iphone2';
+ } else {
+ $deviceName = 'iphone';
+ }
+ } elseif ( preg_match( '/iPhone/', $userAgent ) ) {
+ if ( strpos( $userAgent, 'Opera' ) !== false ) {
+ $deviceName = 'operamini';
+ } else {
+ $deviceName = 'native_iphone';
+ }
+ } elseif ( preg_match( '/WebKit/', $userAgent ) ) {
+ if ( preg_match( '/Series60/', $userAgent ) ) {
+ $deviceName = 'nokia';
+ } elseif ( preg_match( '/webOS/', $userAgent ) ) {
+ $deviceName = 'palm_pre';
+ } else {
+ $deviceName = 'webkit';
+ }
+ } elseif ( preg_match( '/Opera/', $userAgent ) ) {
+ if ( strpos( $userAgent, 'Nintendo Wii' ) !== false ) {
+ $deviceName = 'wii';
+ } elseif ( strpos( $userAgent, 'Opera Mini' ) !== false ) {
+ $deviceName = 'operamini';
+ } elseif ( strpos( $userAgent, 'Opera Mobi' ) !== false ) {
+ $deviceName = 'iphone';
+ } else {
+ $deviceName = 'webkit';
+ }
+ } elseif ( preg_match( '/Kindle\/1.0/', $userAgent ) ) {
+ $deviceName = 'kindle';
+ } elseif ( preg_match( '/Kindle\/2.0/', $userAgent ) ) {
+ $deviceName = 'kindle2';
+ } elseif ( preg_match( '/Firefox/', $userAgent ) ) {
+ $deviceName = 'capable';
+ } elseif ( preg_match( '/NetFront/', $userAgent ) ) {
+ $deviceName = 'netfront';
+ } elseif ( preg_match( '/SEMC-Browser/', $userAgent ) ) {
+ $deviceName = 'wap2';
+ } elseif ( preg_match( '/Series60/', $userAgent ) ) {
+ $deviceName = 'wap2';
+ } elseif ( preg_match( '/PlayStation Portable/', $userAgent ) ) {
+ $deviceName = 'psp';
+ } elseif ( preg_match( '/PLAYSTATION 3/', $userAgent ) ) {
+ $deviceName = 'ps3';
+ } elseif ( preg_match( '/SAMSUNG/', $userAgent ) ) {
+ $deviceName = 'capable';
+ } elseif ( preg_match( '/BlackBerry/', $userAgent ) ) {
+ if( preg_match( '/BlackBerry[^\/]*\/[1-4]\./', $userAgent ) ) {
+ $deviceName = 'blackberry-lt5';
+ } else {
+ $deviceName = 'blackberry';
+ }
+ }
+
+ if ( $deviceName === '' ) {
+ if ( strpos( $acceptHeader, 'application/vnd.wap.xhtml+xml' ) !== false ) {
+ // Should be wap2
+ $deviceName = 'html';
+ } elseif ( strpos( $acceptHeader, 'vnd.wap.wml' ) !== false ) {
+ $deviceName = 'wml';
+ } else {
+ $deviceName = 'html';
+ }
+ }
+ wfProfileOut( __METHOD__ );
+ return $deviceName;
+ }
+
+ /**
+ * @return array: List of all device-specific stylesheets
+ */
+ public function getCssFiles() {
+ $files = array();
+
+ foreach ( self::$formats as $dev ) {
+ if ( isset( $dev['css_file_name'] ) ) {
+ $files[] = $dev['css_file_name'];
+ }
+ }
+ return array_unique( $files );
+ }
+}
* since this file will not be executed during request startup for a compiled
* MediaWiki.
*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
* @file
* @ingroup UtfNormal
*/
#!/usr/bin/php
<?php
/**
- * Other tests for the unicode normalization module
+ * Other tests for the unicode normalization module.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
*
* @file
* @ingroup UtfNormal
*/
abstract public function get( $key );
- /**
- * Get an associative array containing the item for each of the given keys.
- * Each item will be false if it does not exist.
- * @param $keys Array List of strings
- * @return Array
- */
- public function getMulti( array $keys ) {
- $res = array();
- foreach ( $keys as $key ) {
- $res[$key] = $this->get( $key );
- }
- return $res;
- }
-
/**
* Set an item.
* @param $key string
/* *** Emulated functions *** */
+ /**
+ * Get an associative array containing the item for each of the keys that have items.
+ * @param $keys Array List of strings
+ * @return Array
+ */
+ public function getMulti( array $keys ) {
+ $res = array();
+ foreach ( $keys as $key ) {
+ $val = $this->get( $key );
+ if ( $val !== false ) {
+ $res[$key] = $val;
+ }
+ }
+ return $res;
+ }
+
/**
* @param $key string
* @param $value mixed
* @return bool success
*/
public function add( $key, $value, $exptime = 0 ) {
- if ( !$this->get( $key ) ) {
+ if ( $this->get( $key ) === false ) {
return $this->set( $key, $value, $exptime );
}
- return true;
+ return false; // key already set
}
/**
if ( $this->get( $key ) !== false ) {
return $this->set( $key, $value, $exptime );
}
- return true;
+ return false; // key not already set
}
/**
* @return array
*/
public function getDependencies() {
- return array( 'mediawiki.language' );
+ return array( 'mediawiki.language.init' );
}
}
}
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>";
}
}
* computations here. This function should returns the HTML to be cached.
* It should not add anything to the PageOutput object!
*
- * @since 1.20
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
*
- * @file SpecialCachedPage.php
- * @ingroup SpecialPage
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
*
- * @licence GNU GPL v2 or later
+ * @file
+ * @ingroup SpecialPage
* @author Jeroen De Dauw < jeroendedauw@gmail.com >
+ * @since 1.20
*/
abstract class SpecialCachedPage extends SpecialPage implements ICacheHelper {
}
}
-}
\ No newline at end of file
+}
$links = $this->getLanguage()->pipeList( $tools );
// Show a note if the user is blocked and display the last block log entry.
- if ( $userObj->isBlocked() ) {
+ // Do not expose the autoblocks, since that may lead to a leak of accounts' IPs,
+ // and also this will display a totally irrelevant log entry as a current block.
+ if ( $userObj->isBlocked() && $userObj->getBlock()->getType() != Block::TYPE_AUTO ) {
$out = $this->getOutput(); // showLogExtract() wants first parameter by reference
LogEventsList::showLogExtract(
$out,
$dbr = wfGetDB( DB_MASTER );
$res = $dbr->select(
'watchlist',
- '*',
array(
+ 'wl_namespace', 'wl_title'
+ ), array(
'wl_user' => $this->getUser()->getId(),
),
__METHOD__
* Attempts to clean up broken items
*/
private function cleanupWatchlist() {
+ if( !count( $this->badItems ) ) {
+ return; //nothing to do
+ }
$dbw = wfGetDB( DB_MASTER );
+ $user = $this->getUser();
foreach ( $this->badItems as $row ) {
list( $title, $namespace, $dbKey ) = $row;
- wfDebug( "User {$this->getUser()} has broken watchlist item ns($namespace):$dbKey, "
+ wfDebug( "User {$user->getName()} has broken watchlist item ns($namespace):$dbKey, "
. ( $title ? 'cleaning up' : 'deleting' ) . ".\n"
);
$dbw->delete( 'watchlist',
array(
- 'wl_user' => $this->getUser()->getId(),
+ 'wl_user' => $user->getId(),
'wl_namespace' => $namespace,
'wl_title' => $dbKey,
),
// Can't just do an UPDATE instead of DELETE/INSERT due to unique index
if ( $title ) {
- $this->getUser()->addWatch( $title );
+ $user->addWatch( $title );
}
}
}
$title = Title::makeTitleSafe( $namespace, $dbkey );
if ( $this->checkTitle( $title, $namespace, $dbkey ) ) {
$text = $this->buildRemoveLine( $title );
- $fields['TitlesNs'.$namespace]['options'][$text] = $title->getEscapedText();
+ $fields['TitlesNs'.$namespace]['options'][$text] = htmlspecialchars( $title->getPrefixedText() );
$count++;
}
}
* or maybe even true on success if anything uses the EmailUser hook.
*/
public static function submit( array $data, IContextSource $context ) {
- global $wgUser, $wgUserEmailUseReplyTo;
+ global $wgUserEmailUseReplyTo;
$target = self::getTarget( $data['Target'] );
if( !$target instanceof User ) {
array( 'href' => wfLocalFile( $filePage )->getURL() ),
$imgfile
);
- return "$link ($download)";
+ $download = $this->msg( 'parentheses' )->rawParams( $download )->escaped();
+ return "$link $download";
} else {
return htmlspecialchars( $value );
}
private function show( FormOptions $opts, array $extraConds ) {
# Create a LogPager item to get the results and a LogEventsList item to format them...
- $loglist = new LogEventsList( $this->getSkin(), $this->getOutput(), 0 );
+ $loglist = new LogEventsList( $this->getSkin(), $this->getOutput(), LogEventsList::USE_REVDEL_CHECKBOXES );
$pager = new LogPager( $loglist, $opts->getValue( 'type' ), $opts->getValue( 'user' ),
$opts->getValue( 'page' ), $opts->getValue( 'pattern' ), $extraConds, $opts->getValue( 'year' ),
$opts->getValue( 'month' ), $opts->getValue( 'tagfilter' ) );
$s .= Html::hidden( 'type', 'logging' ) . "\n";
$button = Html::element( 'button',
array( 'type' => 'submit', 'class' => "deleterevision-log-submit mw-log-deleterevision-button" ),
- $this->msg( 'showhideselectedversions' )->text()
+ $this->msg( 'showhideselectedlogentries' )->text()
) . "\n";
$s .= $button . $formcontents . $button;
$s .= Html::closeElement( 'form' );
}
$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() {
if( $descMsg ) {
$msg = $this->msg( $descMsg, $descMsgParam );
if ( $msg->exists() ) {
- $descriptionText = $msg->parse();
+ $descriptionText = $this->msg( 'parentheses' )->rawParams( $msg->parse() )->escaped();
$text .= "<br />" . Xml::element( 'small', array( 'class' => 'mw-statistic-desc'),
- " ($descriptionText)" );
+ " $descriptionText" );
}
}
return Html::rawElement( 'tr', $trExtraParams,
private function formatRevisionRow( $row, $earliestLiveTime, $remaining ) {
$rev = Revision::newFromArchiveRow( $row,
array( 'page' => $this->mTargetObj->getArticleID() ) );
- $stxt = '';
+ $revTextSize = '';
$ts = wfTimestamp( TS_MW, $row->ar_timestamp );
// Build checkboxen...
if( $this->mAllowed ) {
// Revision text size
$size = $row->ar_len;
if( !is_null( $size ) ) {
- $stxt = Linker::formatRevisionSize( $size );
+ $revTextSize = Linker::formatRevisionSize( $size );
}
// Edit summary
$comment = Linker::revComment( $rev );
// Revision delete links
$revdlink = Linker::getRevDeleteLink( $user, $rev, $this->mTargetObj );
- return "<li>$checkBox $revdlink ($last) $pageLink . . $userLink $stxt $comment</li>";
+
+ $revisionRow = $this->msg( 'undelete-revisionrow' )->rawParams( $checkBox, $revdlink, $last, $pageLink , $userLink, $revTextSize, $comment )->escaped();
+ return "<li>$revisionRow</li>";
}
private function formatFileRow( $row ) {
<?php
/**
- * Implements Special:UploadStash
+ * Implements Special:UploadStash.
*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup SpecialPage
+ * @ingroup Upload
+ */
+
+/**
* Web access for files temporarily stored by UploadStash.
*
* For example -- files that were uploaded with the UploadWizard extension are stored temporarily
*
* Since this is based on the user's session, in effect this creates a private temporary file area.
* However, the URLs for the files cannot be shared.
- *
- * @file
- * @ingroup SpecialPage
- * @ingroup Upload
*/
-
class SpecialUploadStash extends UnlistedSpecialPage {
// UploadStash
private $stash;
$version = $wgVersion;
} elseif ( $gitInfo ) {
$shortSha1 = substr( $gitInfo, 0, 7 );
- $version = "$wgVersion ($shortSha1)";
+ $shortSha1 = wfMessage( 'parentheses' )->params( $shortSha1 )->escaped();
+ $version = "$wgVersion $shortSha1";
} elseif ( $flags === 'nodb' ) {
$version = "$wgVersion (r{$svnInfo['checkout-rev']})";
} else {
$list = $list[0];
}
if( is_object( $list ) ) {
- $class = get_class( $list );
- return "($class)";
+ $class = wfMessage( 'parentheses' )->params( get_class( $list ) )->escaped();
+ return $class;
} elseif ( !is_array( $list ) ) {
return $list;
} else {
} else {
$class = $list[0];
}
- return "($class, {$list[1]})";
+ return wfMessage( 'parentheses' )->params( "$class, {$list[1]}" )->escaped();
}
}
<?php
+/**
+ * Base class for the backend of file upload.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Upload
+ */
+
/**
* @defgroup Upload
*/
<?php
+/**
+ * Backend for uploading files from chunks.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Upload
+ */
+
/**
* Implements uploading from chunks
*
<?php
+/**
+ * Backend for regular file upload.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Upload
+ */
+
/**
* Implements regular file uploads
*
<?php
+/**
+ * Backend for uploading files from previously stored file.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Upload
+ */
+
/**
* Implements uploading from previously stored file.
*
<?php
+/**
+ * Backend for uploading files from a HTTP resource.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Upload
+ */
+
/**
* Implements uploading from a HTTP resource.
*
<?php
+/**
+ * Temporary storage for uploaded files.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Upload
+ */
+
/**
* UploadStash is intended to accomplish a few things:
* - enable applications to temporarily stash files without publishing them to the wiki.
}
if ( !defined( 'MW_COMPILED' ) ) {
- // Preload base classes to work around APC/PHP5 bug
- if ( file_exists( "$IP/languages/classes/$class.deps.php" ) ) {
- include_once( "$IP/languages/classes/$class.deps.php" );
- }
if ( file_exists( "$IP/languages/classes/$class.php" ) ) {
include_once( "$IP/languages/classes/$class.php" );
}
$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;
}
}
return $s;
}
- $isutf8 = preg_match( '/^([\x00-\x7f]|[\xc0-\xdf][\x80-\xbf]|' .
- '[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xf7][\x80-\xbf]{3})+$/', $s );
+ if ( function_exists( 'mb_check_encoding' ) ) {
+ $isutf8 = mb_check_encoding( $s, 'UTF-8' );
+ } else {
+ $isutf8 = preg_match( '/^(?>[\x00-\x7f]|[\xc0-\xdf][\x80-\xbf]|' .
+ '[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xf7][\x80-\xbf]{3})+$/', $s );
+ }
if ( $isutf8 ) {
return $s;
}
'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
+++ /dev/null
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageIu.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
-
-require_once( dirname(__FILE__).'/../LanguageConverter.php' );
+++ /dev/null
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageKk.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://lists.wikimedia.org/pipermail/wikitech-l/2006-January/021311.html
-
-require_once( dirname( __FILE__ ) . '/../LanguageConverter.php' );
-require_once( dirname( __FILE__ ) . '/LanguageKk_cyrl.php' );
+++ /dev/null
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageKu.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://lists.wikimedia.org/pipermail/wikitech-l/2006-January/021311.html
-
-require_once( dirname( __FILE__ ) . '/../LanguageConverter.php' );
-require_once( dirname( __FILE__ ) . '/LanguageKu_ku.php' );
+++ /dev/null
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageIu.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
-
-require_once( dirname(__FILE__).'/../LanguageConverter.php' );
+++ /dev/null
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageSr.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://lists.wikimedia.org/pipermail/wikitech-l/2006-January/021311.html
-
-require_once( dirname( __FILE__ ) . '/LanguageSr_ec.php' );
-require_once( dirname( __FILE__ ) . '/../LanguageConverter.php' );
+++ /dev/null
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageZh.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://lists.wikimedia.org/pipermail/wikitech-l/2006-January/021311.html
-
-require_once( dirname( __FILE__ ) . '/LanguageZh_hans.php' );
-require_once( dirname( __FILE__ ) . '/../LanguageConverter.php' );
'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.}}',
'listingcontinuesabbrev' => 'samb.',
+'noindex-category' => 'On nyang hana geuindex',
'about' => 'Bhah',
'article' => 'Teunuléh',
'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',
'createaccount' => 'Peudapeuta nan barô',
'gotaccount' => "Ka lheuëh neudapeuta? '''$1'''.",
'gotaccountlink' => 'Tamong',
+'userlogin-resetlink' => 'Tuwoe-neuh ngon teuneurang tamong Droeneuh?',
'loginsuccesstitle' => 'Meuhasé tamong',
'loginsuccess' => "'''Droëneuh jinoë ka neutamong di {{SITENAME}} sibagoë \"\$1\".'''",
'nosuchuser' => 'Hana ureuëng nguy ngön nan "$1".
'newarticletext' => "Droëneuh ka neuseutot u ôn nyang goh na. Keu peugöt ôn nyan, neukeutik asoë ôn di kutak di yup nyoë (ngiëng [[{{MediaWiki:Helppage}}|ôn bantu]] keu beurita leubèh lanjut). Meunyo Droëneuh hana neusaja ka trôk keunoë, teugon '''back''' nyang na bak layeuë.",
'noarticletext' => 'Hana naseukah jinoë lam ôn nyoë.
Ji Droëneuh jeuët [[Special:Search/{{PAGENAME}}|neumita keu nan ôn nyoë]] bak ôn-ôn la’én, <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} log nyang na hubôngan], atawa [{{fullurl:{{FULLPAGENAME}}|action=edit}} neu\'andam ôn nyoë]</span>.',
+'noarticletext-nopermission' => 'Hana asoe bak on nyoe jinoe.
+Droeneuh jeuet [[Special:Search/{{PAGENAME}}|neumita keu nan on nyoe]] bak on la\'en,
+atawa <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} neumita log nyang na hubongan]</span>.',
'updated' => '(Seubarô)',
'note' => "'''Ceunatat:'''",
-'previewnote' => "'''Beu neuingat meunyo nyoë goh lom neukeubah!'''",
+'previewnote' => "'''Beu neuingat meunyo ôn nyoë goh lom neukeubah!'''",
'editing' => 'Andam $1',
'editingsection' => 'Andam $1 (bideuëng)',
'copyrightwarning' => "Beu neuingat bahwa ban mandum nyang Droëneuh tuléh keu {{SITENAME}} geukira geupeuteubiët di yup $2 (ngiëng $1 keu leubèh jeulah). Meunyoë Droëneuh h‘an neutém teunuléh Droëneuh ji’andam ngön jiba ho ho la’én, bèk neupasoë teunuléh Droëneuh keunoë.<br />Droëneuh neumeujanji chit meunyoë teunuléh nyoë nakeuh atra neutuléh keudroë, atawa neucok nibak nè nè atra umôm atawa nè bibeuëh la’én.
'hiddencategories' => 'Ôn nyoë nakeuh anggèëta nibak {{PLURAL:$1|1 kawan teusom |$1 kawan teusom}}:',
'nocreatetext' => '{{SITENAME}} ka jikot bak peugöt ôn barô. Ji Droëneuh jeuët neuriwang teuma ngön neu’andam ôn nyang ka na, atawa [[Special:UserLogin|neutamong atawa neudapeuta]].',
'permissionserrorstext-withaction' => 'Droëneuh hana hak tamöng keu $2, muroë {{PLURAL:$1|choë|choë}} nyoë:',
-'recreate-moveddeleted-warn' => "'''Ingat: Droëneuh teungoh neupeugöt ulang saboh ôn nyang ka tom geusampôh. ''',
+'recreate-moveddeleted-warn' => "'''Ingat: Droëneuh neupeugöt ulang saboh ôn nyang ka tom geusampôh. ''',
Neutimang-timang dilèë peuë ék patôt neupeulanjut atra nyang teungoh neu’andam.
Nyoë pat nakeuh log seunampôh nibak ôn nyoë:",
-'moveddeleted-notice' => 'Ôn nyoë ka geusampôh. Meunyo peureulèë, nyoë pat nakeuh log seunampôh ôn nyoë.',
+'moveddeleted-notice' => 'Ôn nyoë ka geusampôh.
+Log seunampôh ngon log peuninah ôn nyoë geupeuseudiya di yup nyoe keu keuneubah.',
+
+# Parser/template warnings
+'post-expand-template-inclusion-warning' => "'''Ingat:''' Seunipat seunaleuek nyang neunguy rayek that.
+Ladom seunaleuek hana geupeuroh",
+'post-expand-template-inclusion-category' => 'On ngon seunipat seunaleuek nyang leubeh bataih',
+'post-expand-template-argument-warning' => "'''Ingat:''' On nyoe na paleng h'an saboh alasan seunaleuek nyang na sunipat ekspansi nyang raya that.
+Alasan-alasan nyan hana geupeureumeuen.",
+'post-expand-template-argument-category' => 'On ngon alasan seunaleuek nyang hana geupeureumeuen',
# History pages
'viewpagelogs' => 'Eu log ôn nyoë',
'page_last' => 'keuneulheuëh',
'histlegend' => "Piléh duwa teuneugön radiô, lheuëh nyan teugön teuneugön ''peubandéng'' keu peubandéng seunalén. Teugön saboh tanggay keu eu seunalén ôn bak tanggay nyan.<br />(skr) = bida ngön seunalén jinoë, (akhé) = bida ngön seunalén sigohlomjih. '''b''' = andam bacut, '''b''' = andam bot, → = andam bideuëng, ← = reuningkah keudroë",
'history-fieldset-title' => 'Jeulajah riwayat away',
+'history-show-deleted' => 'Nyang geusampoh mantong',
'histfirst' => 'Paléng trép',
'histlast' => 'Paléng barô',
# Revision deletion
'rev-delundel' => 'peuleumah/peusom',
'revdel-restore' => 'Ubah leumah',
+'revdel-restore-deleted' => 'geunantoe nyang ka geusampoh',
+'revdel-restore-visible' => 'geunantoe nyang leumah',
# Merge log
'revertmerge' => 'Hana jadèh peugabông',
'lineno' => 'Baréh $1:',
'compareselectedversions' => 'Peubandéng curak teupiléh',
'editundo' => 'peubateuë',
-'diff-multi' => '({{PLURAL:$1|Sa|$1}} geunantoë antara hana geupeuleumah.)',
+'diff-multi' => '({{PLURAL:$1|Saboh|$1}} geunantoë antara nyang geupeugot le {{PLURAL:$2|sidroe|$2}} ureueng nguy hana geupeuleumah)',
# Search results
'searchresults' => 'Hasé mita',
'notextmatches' => 'Hana naseukah ôn nyang pah',
'prevn' => '{{PLURAL:$1|$1}} sigohlomjih',
'nextn' => '{{PLURAL:$1|$1}} lheuëh nyan',
+'prevn-title' => '$1 {{PLURAL:$1|hasé|hasé}} sigohlomjih',
+'nextn-title' => '$1 {{PLURAL:$1|hase|hase}} lheueh nyan',
+'shown-title' => 'Peuleumah $1 {{PLURAL:$1|hasé|hasé}} tiëp halaman',
'viewprevnext' => 'Eu ($1 {{int:pipe-separator}} $2)($3)',
+'searchmenu-exists' => "'''Na on ngon nan \"[[:\$1]]\" bak wiki nyoe.'''",
+'searchmenu-new' => "'''Peugot on \"[[:\$1]]\" bak wiki nyoe!'''",
'searchhelp-url' => 'Help:Asoë',
+'searchprofile-articles' => 'On asoe',
+'searchprofile-project' => 'On Beunantu ngon Buet',
+'searchprofile-images' => 'Multimedia',
+'searchprofile-everything' => 'Ban dum',
+'searchprofile-advanced' => 'Tingkat lanjut',
+'searchprofile-articles-tooltip' => 'Mita bak $1',
+'searchprofile-project-tooltip' => 'Mita bak $1',
+'searchprofile-images-tooltip' => 'Mita beureukaih',
+'searchprofile-everything-tooltip' => 'Mita ban dum ôn asoë (rôh ôn marit)',
+'searchprofile-advanced-tooltip' => 'Mita bak ruweueng nan meupat-pat',
'search-result-size' => '$1 ({{PLURAL:$2|1 kata|$2 kata}})',
+'search-result-category-size' => '{{PLURAL:$1|1 anggeeta|$1 anggeeta}} ({{PLURAL:$2|1 aneuk kawan|$2 aneuk kawan}}, {{PLURAL:$3|1 beureukaih|$3 beureukaih}})',
'search-redirect' => '(peuninah $1)',
'search-section' => '(bagian $1)',
'search-suggest' => 'Kadang meukeusud Droëneuh nakeuh: $1',
'search-interwiki-more' => '(lom)',
'search-mwsuggest-enabled' => 'ngon saran',
'search-mwsuggest-disabled' => 'hana saran',
+'searchrelated' => 'meusambat',
+'searchall' => 'ban dum',
+'showingresultsheader' => "{{PLURAL:$5|Hase '''$1''' nibak '''$3'''|Hase '''$1 - $2''' nibak '''$3'''}} keu '''$4'''",
'nonefound' => "'''Ceunatat''': Cit ladôm ruweuëng nyang seucara baku geupeutamöng lam meunita. Ci neupuphôn leunakèë Droëneuh ngön ''all:'' keu mita ban dum asoë (rôh cit ôn peugah haba, tèmplat, ngön nyang la’én (nnl)), atawa neunguy ruweuëng nan nyang neumeuh’eut sibagoë neu’away.",
+'search-nonefound' => 'Hana hase nyang paih lagee atra neulakee',
'powersearch' => 'Mita lanjut',
'powersearch-legend' => 'Mita lanjut',
'powersearch-ns' => 'Mita bak ruweuëng nan:',
'yourrealname' => 'Nan aseuli:',
'prefs-help-realname' => '* Nan aseuli hana meucéh neupasoë.
Meunyo neupasoë, euntreuk nan Droëneuh nyan geupeuleumah mangat jitupeuë soë nyang tuléh.',
+'prefs-help-email' => 'Alamat surat-e hana meuceh na, tapi geupeureulee keu peugot ulang lageuem, meunyo droeneuh tuwoe lageuem.',
+'prefs-help-email-others' => "Droeneuh jeuet cit neupileh neupubiyeue ureueng la'en geupeu'et surat keu droeneuh rot surat-e rot seunambat bak on ureueng nguy atawa on marit.
+Surat-e droeneuh h'an geupeugah keu ureueng nyan.",
# Groups
'group-sysop' => 'Ureuëng urôh',
'recentchanges' => 'Neuubah barô',
'recentchanges-legend' => 'Peuniléh neuubah paléng barô',
'recentchanges-feed-description' => 'Peutumèë neu’ubah paléng barô lam wiki bak eumpeuën nyoë.',
+'recentchanges-label-newpage' => 'Neuandam nyoe jipeugot on baro',
+'recentchanges-label-minor' => 'Nyoe neuandam ubeut',
+'recentchanges-label-bot' => 'Neuandam nyoe geupubuet le bot',
+'recentchanges-label-unpatrolled' => 'Neuandam nyoe goh lom geukalon',
'rcnote' => "Di yup nyoë nakeuh {{PLURAL:$1|nakeuh '''1''' neu’ubah paléng barô |nakeuh '''$1''' neu’ubah paléng barô}} lam {{PLURAL:$2|'''1''' uroë|'''$2''' uroë}} nyoë, trôk ‘an $5, $4.",
'rcnotefrom' => 'Di yup nyoë nakeuh neu’ubah yôh <strong>$2</strong> (geupeuleumah trôh ‘an <strong>$1</strong> neu’ubah).',
'rclistfrom' => 'Peuleumah neuubah paléng barô yôh $1 kön',
'upload' => 'Peutamong',
'uploadbtn' => 'Peutamong beureukah',
'uploadlogpage' => 'Log peutamöng',
+'filedesc' => 'Ehtisa',
'uploadedimage' => 'peutamöng "[[$1]]"',
+'license' => 'Jeuneh lisensi:',
+'license-header' => 'Jeuneh lisensi',
+
# Special:ListFiles
'listfiles' => 'Dapeuta beureukah',
'file-anchor-link' => 'Beureukah',
'filehist' => 'Riwayat beureukah',
'filehist-help' => 'Teugon bak tanggay/watèë keu eu beureukah nyoë ‘oh watèë nyan.',
+'filehist-revert' => 'peuriwang',
'filehist-current' => 'jinoë hat',
'filehist-datetime' => 'Tanggay/Watèë',
'filehist-thumb' => 'Beuntuk ubeut',
'filehist-dimensions' => 'Dimènsi',
'filehist-filesize' => 'Rayek beureukah',
'filehist-comment' => 'Tapeusé',
-'imagelinks' => 'Hubông beureukah',
+'imagelinks' => 'Meuneunguy beureukaih',
'linkstoimage' => 'Ôn di yup nyoë na {{PLURAL:$1|hubông|$1 hubông}} u beureukah nyoë:',
'nolinkstoimage' => 'Hana ôn nyang na hubông u beureukah nyoë.',
'sharedupload' => 'Beureukah nyoë dari $1 ngön kadang geunguy lé buët-buët la’én.',
+'sharedupload-desc-here' => "Beureukaih nyoe nejih nibak $1 ngon kadang geunguy le proyek-proyek la'en.
+Teuneurang bak [$2 on teuneurangjih] geupeuleumah di yup nyoe.",
'uploadnewversion-linktext' => 'Peulöt seunalén nyang leubèh barô nibak beureukah nyoë.',
# MIME search
'statistics' => 'Keunira',
'disambiguations' => 'Ôn disambiguasi',
+'disambiguationspage' => 'Template:disambig',
'doubleredirects' => 'Peuninah ganda',
'deadendpages' => 'Ôn buntu',
'protectedpages' => 'Ôn nyang geulindông',
'listusers' => 'Dapeuta ureuëng nguy',
+'usercreated' => '{{GENDER:$3|Geupeugot}} bak $1 poh $2',
'newpages' => 'Ôn barô',
'ancientpages' => 'Teunuléh away',
'move' => 'Peupinah',
# Special:LinkSearch
'linksearch' => 'Hubông luwa',
'linksearch-ok' => 'Mita',
+'linksearch-line' => '$1 meusambat nibak $2',
# Special:Log/newusers
'newuserlogpage' => 'ureuëng nguy barô',
# Watchlist
'watchlist' => 'Dapeuta keunalön lôn',
'mywatchlist' => 'Keunalön',
+'watchlistfor2' => 'Keu $1 $2',
'addedwatchtext' => "Ôn \"[[:\$1]]\" ka geupeutamah u [[Special:Watchlist|dapeuta keunalön]] Droëneuh. Neu’ubah-neu’ubah bak masa u keuë bak ôn nyan ngön bak ôn peugah habajih, euntreuk leumah nyoë pat. Ôn nyan euntreuk geupeuleumah ''teubay'' bak [[Special:RecentChanges|dapeuta neu’ubah paléng barô]] mangat leubèh mudah leumah.",
'removedwatchtext' => 'Ôn "[[:$1]]" ka geusampôh nibak [[Special:Watchlist|dapeuta keunalön]] Droëneuh.',
'watch' => 'Kalön',
'historywarning' => 'Ingat: Ôn nyang hawa neusampôh na riwayat:',
'confirmdeletetext' => 'Droëneuh neuk neusampôh ôn atawa beureukah nyoë keu sabé. Meunan cit ban mandum riwayatjih nibak basis data. Neupeupaseuti meunyo Droëneuh cit keubiët meung neusampôh, neutupeuë ban mandum akébatjih, ngön peuë nyang neupeulaku nyoë nakeuh meunurôt [[{{MediaWiki:Policy-url}}|kebijakan{{SITENAME}}]].',
'actioncomplete' => 'Seuleusoë',
+'actionfailed' => 'Hana meuhase',
'deletedtext' => '"$1" ka geusampôh. Eu $2 keu log paléng barô bak ôn nyang ka geusampôh.',
'dellogpage' => 'Log seunampoh',
'deletecomment' => 'Choë:',
# Undelete
'undeletebtn' => 'Peuriwang!',
'undeletelink' => 'eu/peuriwang',
+'undeleteviewlink' => 'eu',
'undelete-search-submit' => 'Mita',
# Namespace form on various pages
'sp-contributions-newbies' => 'Keu ureuëng-ureuëng nyang ban nguy mantöng',
'sp-contributions-newbies-sub' => 'Keu ureuëng nguy barô',
'sp-contributions-blocklog' => 'Log peutheun',
-'sp-contributions-talk' => 'Peugah haba',
+'sp-contributions-uploads' => 'peunasoe',
+'sp-contributions-logs' => 'log',
+'sp-contributions-talk' => 'marit',
'sp-contributions-search' => 'Mita soë nyang tuléh',
'sp-contributions-username' => 'Alamat IP atawa nan ureuëng nguy:',
+'sp-contributions-toponly' => 'Peuleumah geunantoe nyang baro mantong',
'sp-contributions-submit' => 'Mita',
# What links here
'nolinkshere' => "Hana ôn nyang teuhubông u '''[[:$1]]'''.",
'isredirect' => 'ôn peupinah',
'istemplate' => 'deungön seunaleuëk',
-'isimage' => 'hubông beureukah',
+'isimage' => 'hubông beureukaih',
'whatlinkshere-prev' => '$1 {{PLURAL:$1|sigohlomjih|sigohlomjih}}',
'whatlinkshere-next' => '$1 {{PLURAL:$1|lheuëh nyan|lheuëh nyan}}',
'whatlinkshere-links' => '← hubông',
'whatlinkshere-hideredirs' => '$1 peuninah',
'whatlinkshere-hidetrans' => '$1 transklusi',
'whatlinkshere-hidelinks' => '$1 hubông',
+'whatlinkshere-hideimages' => '$1 hubong gamba',
'whatlinkshere-filters' => 'Saréng',
# Block/unblock
'blockip' => 'Theun ureuëng nguy',
'ipboptions' => '2 jeum:2 hours,1 uroë:1 day,3 uroë:3 days,1 minggu:1 week,2 minggu:2 weeks,1 buleuën:1 month,3 buleuën:3 months,6 buleuën:6 months,1 thôn:1 year,sabé:infinite',
-'ipblocklist' => 'Dapeuta neutheun',
+'ipblocklist' => 'Ureuëng nguy teutheun',
'ipblocklist-submit' => 'Mita',
'blocklink' => 'theun',
'unblocklink' => 'peugadöh theun',
# Namespace 8 related
'allmessages' => 'Peusan sistem',
+'allmessagesname' => 'Nan',
+'allmessagesdefault' => 'Naseukah pukok',
# Thumbnails
'thumbnail-more' => 'Peurayek',
'tooltip-search' => 'Mita lam {{SITENAME}} nyoë',
'tooltip-search-go' => 'Mita saboh ôn ngon nan nyang peureuséh lagèë nyoë meunyo na',
'tooltip-search-fulltext' => 'Mita ôn nyang na asoë lagèë nyoë',
+'tooltip-p-logo' => 'Saweuë Ôn Keuë',
'tooltip-n-mainpage' => 'Jak u Ôn Keuë',
'tooltip-n-mainpage-description' => 'Saweuë Ôn Keuë',
'tooltip-n-portal' => 'Bhah buët, peuë nyang jeuët neupeulaku, pat tamita sipeuë hay',
'tooltip-watch' => 'Peutamah ôn nyoë u dapeuta keunalön Droëneuh',
'tooltip-rollback' => 'Peuriwang neu’andam-neu’andam bak ôn nyoë u nyang tuléh keuneulheuëh lam sigo teugön',
'tooltip-undo' => 'Peuriwang geunantoë nyoë ngön peuhah plôk neu’andam ngön cara eu dilèë. Choë jeuët geupeutamah bak plôk reuningkah.',
+'tooltip-summary' => 'Pasoe ehtisa paneuk',
# Browsing diffs
'previousdiff' => '← Bida away',
'metadata-help' => 'Beureukah nyoë na beurita tambahan nyang mungkén geutamah lé kamèra digital atawa peuminday nyang geunguy keu peugöt atawa peudigitalisasi beureukah. Meunyo beureukah nyoë ka geu’ubah, tapeusili nyang na mungkén hana seucara peunoh meurefleksikan beurita nibak gamba nyang ka geu’ubah nyoë.',
'metadata-expand' => 'Peuleumah tapeusili teunamah',
'metadata-collapse' => 'Peusom tapeusili teunamah',
-'metadata-fields' => 'Èntri mètadata EXIF nyoë keuneuk geupeuleumah bak ôn beurita gamba meunyo tabel mètadata geupeusom. Èntri la’én seucara baku keuneuk geupeusom.
+'metadata-fields' => "Bideuëng mètadata gamba nyang na lam peusan nyoë keuneuk geupasoë bak tampilan halaman gamba 'oh watèë tabel mètadata geutôp.
+Data nyang la'én eunteuk teupeusom keudroë.
* make
* model
* datetimeoriginal
* imagedescription
* gpslatitude
* gpslongitude
-* gpsaltitude',
+* gpsaltitude",
# External editor support
'edit-externally' => 'Andam beureukah nyoë ngön aplikasi luwa',
'watchlisttools-edit' => 'Peuleumah ngön andam dapeuta kaeunalön',
'watchlisttools-raw' => 'Andam dapeuta keunalön meuntah',
+# Core parser functions
+'duplicate-defaultsort' => '\'\'\'Ingat:\'\'\' Gunci meuurot pukok "$2" jipeuhiro gunci meuurot pukok "$1" sigohlomjih.',
+
# Special:Version
'version' => 'Curak',
# Special:SpecialPages
'specialpages' => 'Ôn kusuih',
+# External image whitelist
+'external_image_whitelist' => '#Neupubiyeue bareh nyoe lagee na<pre>
+#Neunguy fragmen-fragmen ekspresi regular (bak bagian antara // mantong) di yup nyoe
+#fragmen-fragmen nyoe eunteuk geupeupaih ngon URL nibak gamba-gamba luwa (nyang geupeuhubong lansong)
+#Fragmen nyang paih eunteuk geupeuleumah sibagoe gamba, seuhjih keu link mantong
+#Bareh nyang geupuphon ngon # eunteuk geupeujeuet keu bareh beunalah
+#Nyoe hana geupubida haraih rayek ngon ubeut
+#Neupeuduek ban dum beunagi ekspresi biasa di yup bareh nyoe. Neupubiyeue bareh nyoe lagee na</pre>',
+
+# Special:Tags
+'tag-filter' => 'Filter [[Special:Tags|tag]]:',
+
);
* @ingroup Language
* @file
*
+ * @author Abanima
* @author Csisc
*/
'lineno' => 'سطر $1:',
'compareselectedversions' => 'قارن بين النسختين المختارتين',
'editundo' => 'تراجع',
-'diff-multi' => '({{PLURAL:$1||مراجعة واحدة متوسطة غير معروضة|مراجعتان متوسطتان غير معروضتان|$1 مراجعات متوسطة غير معروضة|$1 مراجعة متوسطة غير معروضة}} أجراها {{PLURAL:$2||مستخدم واحد|مستخدمان|$2 مستخدمين|$2 مستخدمًا|$2 مستخدم}}.)',
+'diff-multi' => '({{PLURAL:$1||مراجعة واحدة متوسطة غير معروضة أجراها|مراجعتان متوسطتان غير معروضتين أجراهما|$1 مراجعات متوسطة غير معروضة أجراها|$1 مراجعة متوسطة غير معروضة أجراها}} {{PLURAL:$2||مستخدم واحد|مستخدمان|$2 مستخدمين|$2 مستخدمًا|$2 مستخدم}}.)',
# Search results
'searchresults' => 'el resultats',
'mergelogpagetext' => "Hieronder is 'n lys van die mees onlangse versmeltings van een bladsy se geskiedenis na 'n ander.",
# Diffs
-'history-title' => 'Weergawegeskiedenis van "$1"',
+'history-title' => '$1: weergawegeskiedenis',
'difference-title' => '$1: verskil tussen weergawes',
'difference-title-multipage' => '$1 en $2: verskil tussen bladsye',
'difference-multipage' => '(Verskil tussen bladsye)',
'node-count-exceeded-warning' => 'تجاوزت هذه الصفحة تعداد العقد',
'expansion-depth-exceeded-category' => 'الصفحات التي حدث فيها تجاوز عمق التوسيع',
'expansion-depth-exceeded-warning' => 'الصفحة تجاوزت عمق التوسيع',
+'parser-unstrip-loop-warning' => 'حلقة معراة تم الكشف عنها',
# "Undo" feature
'undo-success' => 'يمكن استرجاع التعديل.
'compareselectedversions' => 'قارن بين النسختين المختارتين',
'showhideselectedversions' => 'أظهر/أخف المراجعات المختارة',
'editundo' => 'تراجع',
-'diff-multi' => '({{PLURAL:$1||مراجعة واحدة متوسطة غير معروضة|مراجعتان متوسطتان غير معروضتان|$1 مراجعات متوسطة غير معروضة|$1 مراجعة متوسطة غير معروضة}} أجراها {{PLURAL:$2||مستخدم واحد|مستخدمان|$2 مستخدمين|$2 مستخدمًا|$2 مستخدم}}.)',
+'diff-multi' => '({{PLURAL:$1||مراجعة واحدة متوسطة غير معروضة أجراها|مراجعتان متوسطتان غير معروضتين أجراهما|$1 مراجعات متوسطة غير معروضة أجراها|$1 مراجعة متوسطة غير معروضة أجراها}} {{PLURAL:$2||مستخدم واحد|مستخدمان|$2 مستخدمين|$2 مستخدمًا|$2 مستخدم}}.)',
'diff-multi-manyusers' => '({{PLURAL:$1||مراجعة واحدة متوسطة غير معروضة أجراها|مراجعتان متوسطتان غير معروضتان أجراهما|$1 مراجعات متوسطة غير معروضة أجراها|$1 مراجعة متوسطة غير معروضة أجراها}} أكثر من {{PLURAL:$2||مستخدم واحد|مستخدمين|$2 مستخدمين|$2 مستخدمًا|$2 مستخدم}}.)',
# Search results
'unblockip' => 'رفع المنع عن المستخدم',
'unblockiptext' => 'استخدم الاستمارة أدناه لاسترجاع صلاحية الكتابة الخاصة بعنوان أيبي أو مستخدم تم سحبها منه مسبقا.',
'ipusubmit' => 'ارفع هذا المنع',
-'unblocked' => '[[User:$1|$1]] تم رفع منعه',
+'unblocked' => '[[User:$1|$1]] تم رفع المنع عنه',
'unblocked-range' => 'تم إلغاء منع $1',
'unblocked-id' => 'منع $1 تم رفعه',
'blocklist' => 'المستخدمون الممنوعون',
'change-blocklink' => 'تغيير المنع',
'contribslink' => 'مساهمات',
'emaillink' => 'أرسل بريدًا إلكترونيًا',
-'autoblocker' => 'تم منعك تلقائيا لأن الأيبي الخاص بك تم استخدامه مؤخراً بواسطة "[[User:$1|$1]]".
-السبب المعطى لمنع $1 هو: "$2"',
+'autoblocker' => 'تم منعك تلقائياً لأن الأيبي الخاص بك تم استخدامه مؤخراً بواسطة «[[User:$1|$1]]».
+السبب المعطى لمنع $1 هو: «$2»',
'blocklogpage' => 'سجل المنع',
'blocklog-showlog' => 'سبق منع هذا المستخدم.
سجل المنع معروض بالأسفل كمرجع:',
'blocklogentry' => 'منع "[[$1]]" لفترة زمنية مدتها $2 $3',
'reblock-logentry' => 'غير إعدادات المنع ل[[$1]] بتاريخ انتهاء $2 $3',
'blocklogtext' => 'هذا سجل بعمليات المنع ورفع المنع.
-عناوين الأيبي الممنوعة تلقائيا ليست معروضة.
-أنظر [[Special:BlockList|قائمة منع الآيبي]] لرؤية عمليات المنع المفعلة حاليا.',
+عناوين الأيبي الممنوعة تلقائياً غير معروضة.
+أنظر [[Special:BlockList|قائمة منع الآيبي]] لرؤية عمليات المنع المفعلة حالياً.',
'unblocklogentry' => 'رفع منع $1',
'block-log-flags-anononly' => 'المستخدمون المجهولون فقط',
'block-log-flags-nocreate' => 'إنشاء الحسابات ممنوع',
لكنه ممنوع كجزء من النطاق $2، والذي يمكن رفع المنع عنه.',
'ip_range_invalid' => 'نطاق عناوين الأيبي المدخل غير صحيح.',
'ip_range_toolarge' => 'لا يسمح بنطاقات المنع الأكبر من /$1',
-'blockme' => 'منعي',
+'blockme' => 'امنعني',
'proxyblocker' => 'مانع البروكسي',
'proxyblocker-disabled' => 'هذه الخاصية معطلة.',
'proxyblockreason' => 'تم منع عنوان الأيبي الخاص بك لكونه بروكسي مفتوح.
'qbbrowse' => 'ܡܦܐܬ',
'qbedit' => 'ܫܚܠܦ',
'qbpageoptions' => 'ܗܕܐ ܦܐܬܐ',
-'qbmyoptions' => 'Ü\93Ü\92Ü\9dܬÌ\88ܝ',
+'qbmyoptions' => 'Ü\95Ì\88ܦÜ\90 Ü\95Ü\9dÜ ܝ',
'qbspecialpages' => 'ܦܐܬܬ̈ܐ ܕ̈ܝܠܢܝܬܐ',
'faq' => 'ܫܘܐܠ̈ܐ ܬܢܝ̈ܐ',
'faqpage' => 'Project:ܫܘܐܠ̈ܐ ܬܢܝ̈ܐ',
'error' => 'ܦܘܕܐ',
'databaseerror' => 'ܦܘܕܐ ܒܐܣ ܝܕ̈ܥܬܐ',
'missingarticle-rev' => '(ܬܢܝܬܐ#: $1)',
-'missingarticle-diff' => '(ܦܪÜ\9dÜ«Ü\98ܬܐ: $1, $2)',
+'missingarticle-diff' => '(ܦÜ\98ܪܫܐ: $1, $2)',
'internalerror' => 'ܦܘܕܐ ܓܘܝܐ',
'internalerror_info' => 'ܦܘܕܐ ܓܘܝܐ: $1',
'badtitle' => 'ܟܘܢܝܐ ܠܐ ܛܒܐ',
ܚܕ ܟܡܐ ܡܢ ܕ̈ܦܐ ܡܬܚܙܝܢ ܐܝܟ ܕܗܘ ܐܢܬ ܥܠܝܠܐ ܥܕܡܐ ܕܐܣܦܩܬ ܠܕ̈ܦܐ ܠܒܝܟ̈ܐ ܕܡܦܐܬܢܐ ܕܝܠܟ",
'welcomecreation' => '== ܒܫܝܢܐ, $1! ==
ܐܬܒܪܝ ܚܘܫܒܢܟ.
-Ü Ü\90 ܢܫÜ\90 Ü\90ܢܬ Ü Ü«Ü\9aÜ Ü¦Ü¬Ü\90 Ü\95[[Special:Preferences|Ü\93Ü\92Ü\9dܬ̈ܐ ܒ {{SITENAME}}]].',
+Ü Ü\90 ܢܫÜ\90 Ü\90ܢܬ Ü Ü«Ü\9aÜ Ü¦Ü¬Ü\90 Ü\95[[Special:Preferences|ܨÜ\92Ü\9dÜ¢Ü\9dÜ\98ܬ̈ܐ ܒ {{SITENAME}}]].',
'yourname' => 'ܫܡܐ ܕܡܦܠܚܢܐ:',
'yourpassword' => 'ܡܠܬܐ ܕܥܠܠܐ:',
'yourpasswordagain' => 'ܟܬܘܒ ܡܠܬܐ ܕܥܠܠܐ ܙܒܢܬܐ ܐܚܪܬܐ:',
'last' => 'ܩܕܡ',
'page_first' => 'ܩܕܡܝܐ',
'page_last' => 'ܐܚܪܝܐ',
-'histlegend' => "Ü\93Ü\92Ü\9dÜ\90 Ü\95ܦܪÜ\9dÜ«Ü\98ܬÜ\90: Ü\93Ü\92Ü\9d ܣܢÜ\95Ì\88Ü\98Ü©Ü\90 Ü\95ܬܢÜ\9dܬÌ\88Ü\90 Ü Ü¦Ü\98Ü\9aÜ¡Ü\90 Ü\98Ü\95Ü\98Ü« '''Enter''' Ü\90Ü\98 '''ܦÜ\9aÜ\98Ü¡ Ü\92Ü\9dܬ ܬܪܝܢ ܬܢܝܬ̈ܐ ܓܒܝܬ̈ܐ'''.<br />
-Ü©Ü Ü\9dÜ\95Ü\90: '''({{int:cur}})''' = ܦܪÜ\9dÜ«Ü\98ܬܐ ܥܡ ܬܢܝܬܐ ܗܫܝܬܐ,
-'''({{int:last}})''' = ܦܪÜ\9dÜ«Ü\98ܬܐ ܥܡ ܬܢܝܬܐ ܩܕܝܡܬܐ, '''{{int:minoreditletter}}''' = ܫܘܚܠܦܐ ܙܥܘܪܐ.",
+'histlegend' => "Ü\93Ü\92Ü\9dÜ\90 Ü\95ܦÜ\98ܪܫÜ\90: Ü\93Ü\92Ü\9d ܣܢÜ\95Ì\88Ü\98Ü©Ü\90 Ü\95ܬܢÜ\9dܬÌ\88Ü\90 Ü Ü¦Ü\98Ü\9aÜ¡Ü\90 Ü\98Ü\95Ü\98Ü« '''Enter''' Ü\90Ü\98 '''ܦÜ\9aÜ\98Ü¡ Ü\92Ü\9dÜ¢Ü\9d ܬܪܝܢ ܬܢܝܬ̈ܐ ܓܒܝܬ̈ܐ'''.<br />
+Ü©Ü Ü\9dÜ\95Ü\90: '''({{int:cur}})''' = ܦÜ\98ܪܫܐ ܥܡ ܬܢܝܬܐ ܗܫܝܬܐ,
+'''({{int:last}})''' = ܦÜ\98ܪܫܐ ܥܡ ܬܢܝܬܐ ܩܕܝܡܬܐ, '''{{int:minoreditletter}}''' = ܫܘܚܠܦܐ ܙܥܘܪܐ.",
'history-fieldset-title' => 'ܡܦܐܬ ܬܫܥܝܬܐ',
'history-show-deleted' => 'ܫܝܦܬ̈ܐ ܒܠܚܘܕ',
'histfirst' => 'ܩܕܝܡ ܟܠ',
# Diffs
'history-title' => '"$1": ܬܫܥܝܬܐ ܕܬܢܝܬܐ',
+'difference-title' => '«$1»: ܦܘܪܫܐ ܒܝܢܝ ܬܢܝܬ̈ܐ',
+'difference-title-multipage' => '«$1» ܘ«$2»: ܦܘܪܫܐ ܒܝܢܝ ܬܢܝܬ̈ܐ',
+'difference-multipage' => '(ܦܘܪܫܐ ܒܝܢܝ ܕ̈ܦܐ)',
'lineno' => 'ܣܪܛܐ $1:',
'compareselectedversions' => 'ܦܚܘܡ ܒܝܬ ܬܪܝܢ ܬܢܝܬ̈ܐ ܓܒܝܬ̈ܐ',
'showhideselectedversions' => 'ܚܘܝ/ܛܫܝ ܬܢܝܬ̈ܐ ܓܒܝܬ̈ܐ',
'diff-multi-manyusers' => '({{PLURAL:$1|One ܚܕܐ ܬܢܝܬܐ ܡܨܥܝܬܐ|$1 ܬܢܝܬ̈ܐ ܡܨܥܝܬ̈ܐ}} ܒܝܕ ܝܬܝܪ ܡܢ $2 {{PLURAL:$2|ܚܕ ܡܦܠܚܢܐ ܠܐ ܓܠܝܚܬܐ|ܡܦܠܚܢ̈ܐ ܠܐ ܓܠܝܚܬ̈ܐ}})',
# Search results
-'searchresults' => 'Ü¦Ü Ü\9bÌ\88Ü\90 Ü\95Ü\92Ü\98ܨÜ\9dÜ\90',
-'searchresults-title' => 'Ü¦Ü Ü\9bÌ\88Ü\90 Ü\95Ü\92Ü\98ܨÜ\9dÜ\90 Ü¥Ü "$1"',
+'searchresults' => 'ܦܠܛ̈ܐ ܕܒܨܝܐ',
+'searchresults-title' => 'ܦܠܛ̈ܐ ܕܒܨܝܐ ܥܠ "$1"',
'searchresulttext' => 'ܠܝܬܝܪ ܝܕ̈ܥܬܐ ܥܠ ܒܨܝܐ ܒ {{SITENAME}}, ܚܙܝ [[{{MediaWiki:Helppage}}|{{int:help}}]].',
'searchsubtitle' => 'ܒܨܐ ܐܢܬ ܥܠ \'\'\'[[:$1]]\'\'\' ([[Special:Prefixindex/$1|ܟܠ ܦܐܬܬ̈ܐ ܕܫܪܝܢ ܒ"$1"]]{{int:pipe-separator}}[[Special:WhatLinksHere/$1|ܟܠ ܦܐܬܬ̈ܐ ܕܐܣܪܝܢ ܥܡ "$1"]])',
'searchsubtitleinvalid' => "ܒܨܐ ܐܢܬ ܥܠ '''$1'''",
'nextn-title' => '$1 {{PLURAL:$1|ܦܠܛܐ ܐܚܪܢܐ|ܦܠܛ̈ܐ ܐܚܪ̈ܢܐ}}',
'shown-title' => 'ܚܘܝ $1 {{PLURAL:$1|ܦܠܛܐ|ܦܠܛ̈ܐ}} ܠܟܠ ܦܐܬܐ',
'viewprevnext' => 'ܚܘܝ ($1 {{int:pipe-separator}} $2) ($3)',
-'searchmenu-legend' => 'Ü\93Ü\92Ü\9dܬÌ\88Ü\90 Ü\95Ü\92Ü\98ܨÜ\9dÜ\90',
+'searchmenu-legend' => 'ܓܒܝܬ̈ܐ ܕܒܨܝܐ',
'searchmenu-exists' => "'''ܐܝܬ ܦܐܬܐ ܒܫܡ \"[[:\$1]]\" ܥܠ ܗܢܐ ܘܝܩܝ'''",
'searchmenu-new' => "'''ܒܪܝ ܦܐܬܐ \"[[:\$1]]\" ܥܠ ܗܢܐ ܘܝܩܝ!'''",
'searchhelp-url' => 'Help:ܚܒܝܫܬ̈ܐ',
'powersearch-togglelabel' => 'ܓܒܝ:',
'powersearch-toggleall' => 'ܟܠ',
'powersearch-togglenone' => 'ܠܐ ܡܕܡ',
-'search-external' => 'Ü\92Ü\98ܨÜ\9dÜ\90 Ü\92ܪÜ\9dÜ\90',
+'search-external' => 'ܒܨܝܐ ܒܪܝܐ',
# Quickbar
'qbsettings-none' => 'ܠܐ ܡܕܡ',
# Preferences page
-'preferences' => 'Ü\93Ü\92Ü\9dܬ̈ܐ',
-'mypreferences' => 'Ü\93Ü\92Ü\9dܬÌ\88ܝ',
+'preferences' => 'ܨÜ\92Ü\9dÜ¢Ü\9dÜ\98ܬ̈ܐ',
+'mypreferences' => 'ܨÜ\92Ü\9dÜ¢Ü\9dÜ\98ܬÌ\88Ü\90 Ü\95Ü\9dÜ ܝ',
'prefs-edits' => 'ܡܢܝܢܐ ܕܫܘܚܠܦ̈ܐ:',
'prefsnologin' => 'ܠܝܬܝܟ ܥܠܝܠܐ',
'changepassword' => 'ܫܚܠܦ ܡܠܬܐ ܕܥܠܠܐ',
'prefs-skin' => 'ܓܠܕܐ',
'skin-preview' => 'ܚܝܪܐ ܩܕܡܝܐ',
-'datedefault' => 'Ü Ü\90 Ü\93Ü\92Ü\9dܬܐ',
+'datedefault' => 'Ü Ü\90 ܨÜ\92Ü\9dÜ¢Ü\9dÜ\98ܬܐ',
'prefs-datetime' => 'ܣܝܩܘܡܐ ܘܙܒܢܐ',
'prefs-personal' => 'ܦܘܓܪܦܐ ܕܡܦܠܚܢܐ',
'prefs-rc' => 'ܫܘܚܠܦ̈ܐ ܚܕ̈ܬܐ',
'resultsperpage' => 'ܡܢܝܢܐ ܕܦܠܛ̈ܐ ܒܕܦܐ:',
'recentchangesdays' => 'ܝܘܡܬ̈ܐ ܠܚܙܝܐ ܒܫܘܚܠܦ̈ܐ ܚܕ̈ܬܐ:',
'recentchangescount' => 'ܡܢܝܢܐ ܕܫܘܚܠܦ̈ܐ ܠܚܙܝܐ ܪܫܐܝܬ:',
-'savedprefs' => 'Ü\93Ü\92Ü\9dܬ̈ܐ ܕܝܠܟ ܐܬܠܒܟܘ.',
+'savedprefs' => 'ܨÜ\92Ü\9dÜ¢Ü\9dÜ\98ܬ̈ܐ ܕܝܠܟ ܐܬܠܒܟܘ.',
'timezonelegend' => 'ܙܘܢܐ ܙܒܢܝܐ:',
'localtime' => 'ܥܕܢܐ ܕܘܟܬܝܐ:',
'timezoneregion-africa' => 'ܐܦܪܝܩܐ',
'timezoneregion-europe' => 'ܐܘܪܘܦܐ',
'timezoneregion-indian' => 'ܐܘܩܝܢܘܣ ܗܢܕܘܝܐ',
'timezoneregion-pacific' => 'ܐܘܩܝܢܘܣ ܫܩܛܝܐ',
-'prefs-searchoptions' => 'Ü\93Ü\92Ü\9dܬÌ\88Ü\90 Ü\95Ü\92Ü\98ܨÜ\9dÜ\90',
+'prefs-searchoptions' => 'ܓܒܝܬ̈ܐ ܕܒܨܝܐ',
'prefs-namespaces' => 'ܚܩܠܬ̈ܐ',
'defaultns' => 'ܐܘ ܒܨܝ ܒܚܩܠܬ̈ܐ ܗܢܝܢ',
'prefs-files' => 'ܠܦܦ̈ܐ',
'prefs-advancedrendering' => 'ܓܒܝܬ̈ܐ ܡܬܩܕ̈ܡܢܐ',
'prefs-advancedsearchoptions' => 'ܓܒܝܬ̈ܐ ܡܬܩܕ̈ܡܢܐ',
'prefs-advancedwatchlist' => 'ܓܒܝܬ̈ܐ ܡܬܩܕ̈ܡܢܐ',
-'prefs-displayrc' => 'Ü\9aÜ\98Ü\9d Ü\93Ü\92Ü\9dܬÌ\88ܐ',
-'prefs-displaysearchoptions' => 'Ü\9aÜ\98Ü\9d Ü\93Ü\92Ü\9dܬÌ\88ܐ',
-'prefs-displaywatchlist' => 'Ü\9aÜ\98Ü\9d Ü\93Ü\92Ü\9dܬÌ\88ܐ',
+'prefs-displayrc' => 'Ü\93Ü\92Ü\9dܬÌ\88Ü\90 Ü\95Ü\9aÜ\98Ü\98Ü\9dܐ',
+'prefs-displaysearchoptions' => 'Ü\93Ü\92Ü\9dܬÌ\88Ü\90 Ü\95Ü\9aÜ\98Ü\98Ü\9dܐ',
+'prefs-displaywatchlist' => 'Ü\93Ü\92Ü\9dܬÌ\88Ü\90 Ü\95Ü\9aÜ\98Ü\98Ü\9dܐ',
'prefs-diffs' => 'ܦܪ̈ܝܫܘܝܬܐ',
# User rights
'action-delete' => 'ܫܝܦܬܐ ܕܦܐܬܐ ܗܕܐ',
'action-deleterevision' => 'ܫܝܦܬܐ ܕܬܢܝܬܐ ܗܕܐ',
'action-deletedhistory' => 'ܚܙܝܬܐ ܕܬܫܥܝܬܐ ܫܝܦܬܐ ܕܦܐܬܐ ܗܕܐ',
-'action-browsearchive' => 'Ü\92Ü\98ܨÜ\9dÜ\90 Ü¥Ü Ü¦Ü\90ܬܬÌ\88Ü\90 Ü«Ü\9dܦܬÌ\88Ü\90',
+'action-browsearchive' => 'ܒܨܝܐ ܥܠ ܦܐܬܬ̈ܐ ܫܝܦܬ̈ܐ',
'action-undelete' => 'ܠܐ ܫܘܦ ܦܐܬܐ ܗܕܐ',
'action-suppressionlog' => 'ܚܙܝܬܐ ܕܗܢܐ ܣܓܠܐ ܦܪܨܘܦܝܐ',
'action-block' => 'ܚܪܡܬܐ ܕܡܦܠܚܢܐ ܗܢܐ ܡܢ ܫܚܠܦܬܐ',
'rcshowhideanons' => '$1 ܡܦܠܚܢܐ ܠܐ ܝܕܝܥܐ',
'rcshowhidemine' => '$1 ܫܘܚܠܦ̈ܝ',
'rclinks' => 'ܚܘܝ $1 ܫܘܚܠܦ̈ܐ ܐܚܪ̈ܝܐ ܒ $2 ܝܘܡܬ̈ܐ ܐܚܪ̈ܝܐ<br />$3',
-'diff' => 'ܦܪÜ\9dÜ«Ü\98ܬܐ',
+'diff' => 'ܦÜ\98ܪܫܐ',
'hist' => 'ܬܫܥܝܬܐ',
'hide' => 'ܛܫܝ',
'show' => 'ܚܘܝ',
'unwatch' => 'ܠܐ ܪܗܝ',
'unwatchthispage' => 'ܟܠܝ ܪܗܝܐ',
'wlshowlast' => 'ܚܘܝ $1 ܫܥܬ̈ܐ $2 ܝܘܡܬ̈ܐ ܐܚܪ̈ܝܐ $3',
-'watchlist-options' => 'Ü\93Ü\92Ü\9dܬ̈ܐ ܕܪ̈ܗܝܬܐ',
+'watchlist-options' => 'ܨÜ\92Ü\9dÜ¢Ü\9dÜ\98ܬ̈ܐ ܕܪ̈ܗܝܬܐ',
# Displayed when you click the "watch" button and it is in the process of watching
'watching' => 'ܪܗܝܐ...',
'exif-filesource' => 'ܡܒܘܥܐ ܕܠܦܦܐ',
'exif-gpsspeedref' => 'ܚܕܝܘܬܐ ܕܩܠܘܠܘܬܐ',
'exif-gpstrack' => 'ܨܘܒܐ ܕܫܘܢܝܐ',
-'exif-gpsimgdirectionref' => 'Ü\93Ü\92Ü\9dܬÜ\90 Ü\95ܨÜ\98Ü\92Ü\90 Ü\95Ü«Ü\98Ü¢Ü\9dܐ',
+'exif-gpsimgdirectionref' => 'Ü¡Ü\92Ü\98Ü¥Ü\90 Ü\95ܨÜ\98Ü\92Ü\90 Ü\95ܨÜ\98ܪܬܐ',
'exif-gpsimgdirection' => 'ܨܘܒܐ ܕܨܘܪܬܐ',
'exif-languagecode' => 'ܠܫܢܐ',
# Watchlist editing tools
'watchlisttools-view' => 'ܚܘܝ ܫܘܚܠܦ̈ܐ ܕ̈ܡܝܐ',
'watchlisttools-edit' => 'ܚܙܝ ܘܫܚܠܦ ܪ̈ܗܝܬܐ',
+'watchlisttools-raw' => 'ܫܚܠܦ ܪ̈ܗܝܬܐ ܦܛܝܪ̈ܬܐ',
# Special:Version
'version' => 'ܨܚܚܐ',
'htmlform-selectorother-other' => 'ܐܚܪܢܐ',
# New logging system
+'logentry-delete-delete' => '$1 ܫܦ ܕܦܐ ܕ $3',
'logentry-move-move' => '$1 ܫܢܐ ܕܦܐ ܕ $3 ܠ $4',
'logentry-move-move-noredirect' => '$1 ܫܢܐ ܕܦܐ ܕ $3 ܠ $4 ܕܠܐ ܫܒܩܐ ܕܕܦܐ ܕܨܘܝܒܐ',
'logentry-move-move_redir' => '$1 ܫܢܐ ܕܦܐ ܕ $3 ܠ $4 ܕܐܝܬܘܗܝ ܗܘܐ ܕܦܐ ܕܨܘܝܒܐ',
'titleprotected' => "[[User:$1|$1]] সদস্যজনে এই শিৰোণামাৰ লিখনী লিখা ৰোধ কৰিছে ।
ইয়াৰ কাৰণ হৈছে ''$2'' ।",
'filereadonlyerror' => '"$1" ফাইলটোক পৰিৱৰ্তন কৰিব পৰা নগ\'ল কাৰণ ফাইল ভঁৰাল "$2" কেৱল পঢ়িব পৰা অৱস্থাত আছে।
-দৰ্শোৱা কাৰণ হৈছে "\'\'$3\'\'"।',
+যিজন প্ৰশাসকে এইটো বন্ধ কৰিছে তেওঁ দৰ্শোৱা কাৰণ হৈছে: \'\'$3\'\'।',
+'invalidtitle-knownnamespace' => 'নামস্থান "$2" আৰু পাঠ্য "$3" থকা অবৈধ শিৰোনাম',
+'invalidtitle-unknownnamespace' => 'অজ্ঞাত নামস্থান সংখ্যা $1 আৰু পাঠ্য "$2" থকা অবৈধ শিৰোনাম',
# Virus scanner
'virus-badscanner' => "ভুল কনফিগাৰেচন: অজ্ঞাত ভাইৰাছ স্কেনাৰ: ''$1''",
'note' => "'''টোকা:'''",
'previewnote' => "'''মনত ৰাখিব এয়া মাথোন প্ৰাক্দৰ্শনহে।'''
আপোনাৰ সালসলনিসমূহ এতিয়াও সংৰক্ষণ কৰা হোৱা নাই!",
+'continue-editing' => 'সম্পাদনা জাৰী ৰাখক',
'previewconflict' => 'এই প্ৰাকদৰ্শনে ওপৰৰ সম্পাদনা ক্ষেত্ৰৰ লেখা সাঁচি ৰাখিলে যেনেকুৱা দেখা যাব তেনেকুৱা দেখাইছে ।',
'session_fail_preview' => "'''দুঃখিত! চেচন ডাটা হেৰাই যোৱাৰ কাৰণে আপোনাৰ সম্পাদনা কৃতকাৰ্য্য নহ'ল ।'''
অনুগ্ৰহ কৰি পুনৰ চেষ্টা কৰক ।
'parser-template-loop-warning' => 'সাঁচ লুপ চিহ্নিত কৰা হৈছে: [[$1]]',
'parser-template-recursion-depth-warning' => 'সাঁচৰ পুনৰাবৃত্তি গভীৰতা সীমা ($1) তকৈ অধিক হৈছে',
'language-converter-depth-warning' => 'ভাষা পৰিৱৰ্তকৰ গভীৰতা সীমাই ($1) অতিক্ৰম কৰিছে',
+'node-count-exceeded-category' => "ন'ড-গণনা বেছি হোৱা পৃষ্ঠাসমূহ",
+'node-count-exceeded-warning' => "পৃষ্ঠাৰ ন'ড-গণনা বেছি হৈছে",
+'expansion-depth-exceeded-category' => 'বিস্তৃতি গভীৰতা বেছি হোৱা পৃষ্ঠা',
+'expansion-depth-exceeded-warning' => 'পৃষ্ঠাখনৰ বিস্তৃতি গভীৰতা বেছি হৈছে',
+'parser-unstrip-loop-warning' => 'আন্ষ্ট্ৰীপ লুপ চিনাক্ত কৰা হৈছে',
+'parser-unstrip-recursion-limit' => 'আন্ষ্ট্ৰিপ ৰিকাৰ্ছন সীমা অতিক্ৰম হৈছে ($1)',
# "Undo" feature
'undo-success' => 'এই সম্পাদনা পূৰ্ববৎ কৰিব পাৰি ।
# Diffs
'history-title' => '"$1" ৰ সংশোধনৰ ইতিহাস',
+'difference-title' => '"$1"ৰ বিভিন্ন সংধোধনৰ মাজৰ পাৰ্থক্যসমূহ',
+'difference-title-multipage' => '"$1" আৰু "$2" পৃষ্ঠাৰ মাজৰ পাৰ্থক্যসমূহ',
'difference-multipage' => '(পৃষ্ঠাসমূহৰ মাজত তফাৎ)',
'lineno' => '$1 নং শাৰীঃ',
'compareselectedversions' => 'নিৰ্বাচিত কৰা সংকলন সমূহৰ মাজত পাৰ্থক্য চাওক',
'prefs-beta' => 'বিটা বৈশিষ্টসমূহ',
'prefs-datetime' => 'তাৰিখ আৰু সময়',
'prefs-labs' => 'পৰীক্ষাগাৰ বৈশিষ্টসমূহ',
+'prefs-user-pages' => 'সদস্য পৃষ্ঠা',
'prefs-personal' => 'সদস্যৰ বিৱৰণ',
'prefs-rc' => 'শেহতীয়া সাল-সলনি',
'prefs-watchlist' => 'লক্ষ্য তালিকা',
'backend-fail-closetemp' => "অস্থায়ী ফাইল বন্ধ কৰিব পৰা নগ'ল।",
'backend-fail-read' => "$1 ফাইলটো পঢ়িব পৰা নগ'ল",
'backend-fail-create' => "$1 ফাইলটো সৃষ্টি কৰিব পৰা নগ'ল।",
-'backend-fail-maxsize' => "$1 ফাইলটো সৃষ্টি কৰিব পৰা নগ'ল কিয়নো ইয়াৰ আকাৰ {{PLURAL:$2|$2 বাইটতকৈ|$2 বাইটতকৈ}} বেছি।",
+'backend-fail-maxsize' => "$1 ফাইলটো সৃষ্টি কৰিব পৰা নগ'ল কিয়নো ইয়াৰ আকাৰ {{PLURAL:$2|এক বাইটতকৈ|$2 বাইটতকৈ}} বেছি।",
'backend-fail-readonly' => 'ষ্ট\'ৰেজ বেক্এণ্ড "$1"ক কেৱল পঢ়িব পৰা যায়। ইয়াৰ কাৰণ হ\'ল: "$2"',
'backend-fail-synced' => '"$1" ফাইলটো আভ্যন্তৰীণ ষ্ট\'ৰেজ বেক্এণ্ডৰ লগত অসঙ্গত অৱস্থাত আছে',
'backend-fail-connect' => '"$1" ষ্ট\'ৰেজ বেক্এণ্ডৰ লগত সম্পৰ্ক স্থাপন কৰিব পৰা নগ\'ল।',
'backend-fail-internal' => 'ষ্ট\'ৰেজ বেক্এণ্ড "$1"ত এক অজ্ঞাত ত্ৰুটী ঘটিছে।',
'backend-fail-contenttype' => '"$1"ত সাঁচি থ\'বলৈ ফাইলটোৰ সমল প্ৰকাৰ স্থিৰ কৰিব পৰা নগ\'ল।',
'backend-fail-batchsize' => "$1টা ফাইল {{PLURAL:$1|কাৰ্যৰ|কাৰ্যৰ}} ষ্ট'ৰেজ বেকএ'ণ্ড দিয়া হৈছে; সীমা হৈছে $2টা {{PLURAL:$2|কাৰ্য|কাৰ্য}}।",
+'backend-fail-usable' => "অপৰ্যাপ্ত অনুমতি বা হেৰোৱা নিৰ্দেশিকা/কন্টেইনাৰৰ বাবে $1 ফাইলটো লিখিব পৰা নগ'ল।",
# File journal errors
'filejournal-fail-dbconnect' => 'ষ্ট\'ৰেজ বেকএ\'ণ্ড "$1"ৰ বাবে জাৰ্ণাল তথ্যকোষৰ লগত সংযোগ স্থাপন নহ\'ল।',
'allpages-hide-redirects' => 'পুনঃনিৰ্দেশ লুকুৱাওক',
# SpecialCachedPage
+'cachedspecial-viewing-cached-ttl' => "আপুনি এই পৃষ্ঠাৰ আগেয়ে জমা কৰি থোৱা বা কেশ্বড সংস্কৰণ এটা চাই আছে যিটো $1 পৰ্যন্ত পুৰণা হ'ব পাৰে।",
+'cachedspecial-viewing-cached-ts' => "আপুনি এই পৃষ্ঠাৰ আগেয়ে জমা কৰি থোৱা বা কেশ্বড সংস্কৰণ এটা চাই আছে যিখন সম্পূৰ্ণভাৱে প্ৰকৃত নহ'বও পাৰে।",
'cachedspecial-refresh-now' => 'শেহতীয়া পাঠ্য',
# Special:Categories
'version-software' => 'ইনষ্টল কৰা ছফ্টৱেৰ',
'version-software-product' => 'সামগ্ৰী',
'version-software-version' => 'সংস্কৰণ',
+'version-entrypoints' => 'প্ৰৱেশ পইণ্ট ইউআৰএল',
+'version-entrypoints-header-entrypoint' => 'প্ৰৱেশ পইণ্ট',
+'version-entrypoints-header-url' => 'ইউআৰএল',
# Special:FilePath
'filepath' => 'ফাইল পথ',
<?php
-/** Asturian (Asturianu)
+/** Asturian (asturianu)
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
'mergelogpagetext' => "Abaxo amuésase una llista de les fusiones más recientes d'un historial de páxina con otru.",
# Diffs
-'history-title' => 'Historial de revisiones de "$1"',
-'difference-title' => 'Diferencia ente revisiones de «$1»',
-'difference-title-multipage' => 'Diferencia ente les páxines «$1» y «$2»',
+'history-title' => 'Historial de revisiones de «$1»',
+'difference-title' => 'Diferencies ente revisiones de «$1»',
+'difference-title-multipage' => 'Diferencies ente les páxines «$1» y «$2»',
'difference-multipage' => '(Diferencia ente páxines)',
'lineno' => 'Llinia $1:',
'compareselectedversions' => 'Comparar les revisiones seleicionaes',
'prefs-beta' => 'Carauterístiques beta',
'prefs-datetime' => 'Fecha y hora',
'prefs-labs' => 'Carauterístiques esperimentales',
+'prefs-user-pages' => "Páxines d'usuariu",
'prefs-personal' => 'Perfil del usuariu',
'prefs-rc' => 'Cambios recientes',
'prefs-watchlist' => 'Llista de vixilancia',
'tog-usenewrc' => 'Выкарыстоўваць удасканалены сьпіс апошніх зьменаў (патрабуе JavaScript)',
'tog-numberheadings' => 'Аўтаматычная нумарацыя загалоўкаў',
'tog-showtoolbar' => 'Паказваць панэль інструмэнтаў рэдагаваньня (патрабуе JavaScript)',
-'tog-editondblclick' => 'Рэдагаваць старонкі па падвойным шчоўканьні (JavaScript)',
+'tog-editondblclick' => 'Рэдагаваць старонкі па падвойным пстрыку (JavaScript)',
'tog-editsection' => 'Дазволіць рэдагаваньне асобных сэкцыяў па спасылках [рэдагаваць]',
-'tog-editsectiononrightclick' => 'Рэдагаваць сэкцыі па правым шчоўканьні мышкай на загалоўку (JavaScript)',
+'tog-editsectiononrightclick' => 'Рэдагаваць сэкцыі па правым пстрыку на загалоўку (патрабуе JavaScript)',
'tog-showtoc' => 'Паказваць зьмест (для старонак з колькасьцю сэкцый болей за 3)',
'tog-rememberpassword' => 'Запомніць мяне ў гэтым браўзэры (ня больш за $1 {{PLURAL:$1|дзень|дні|дзён}})',
'tog-watchcreations' => 'Дадаваць у мой сьпіс назіраньня старонкі, якія я буду ствараць',
Вы можаце адфільтраваць вынікі па тыпе журналу, удзельніку ці старонцы.',
'logempty' => 'Падобных запісаў у журнале няма.',
'log-title-wildcard' => 'Шукаць назвы, якія пачынаюцца з гэтага тэксту',
+'showhideselectedlogentries' => 'Паказаць/схаваць выбраныя запісы ў журнале',
# Special:AllPages
'allpages' => 'Усе старонкі',
# Diffs
'history-title' => '"$1" এর সংশোধনের ইতিহাস',
+'difference-title' => '‘$1’-এর বিভিন্ন সংস্করণের মধ্যে পার্থক্য',
+'difference-title-multipage' => '‘$1’ ও ‘$2’-এর মধ্যে পার্থক্য',
'difference-multipage' => 'পাতাগুলোর মধ্যে পার্থক্য',
'lineno' => '$1 নং লাইন:',
'compareselectedversions' => 'নির্বাচিত সংস্করণগুলো তুলনা করো',
'prefs-beta' => 'বেটা বৈশিষ্টসমূহ',
'prefs-datetime' => 'তারিখ ও সময়',
'prefs-labs' => 'পরীক্ষাগার বৈশিষ্টসমূহ',
+'prefs-user-pages' => 'ব্যবহারকারীর পাতা',
'prefs-personal' => 'ব্যবহারকারীর বৃত্তান্ত',
'prefs-rc' => 'সাম্প্রতিক পরিবর্তনসমূহ',
'prefs-watchlist' => 'নজরতালিকা',
<?php
-/** Breton (Brezhoneg)
+/** Breton (brezhoneg)
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
'filereadonlyerror' => 'Dibosupl kemmañ ar restr "$1" abalamour m\'emañ ar c\'havlec\'h restroù "$2" e mod lenn nemetken.
"\'\'$3\'\'" eo an abeg roet gant ar merour en deus prennet anezhi.',
+'invalidtitle-knownnamespace' => 'Titl direizh gant an esaouenn anv "$2" hag an destenn "$3"',
+'invalidtitle-unknownnamespace' => 'Titl direizh gant an niverenn esaouenn anv $1 hag an destenn "$2" dianav',
# Virus scanner
'virus-badscanner' => "Kefluniadur fall : skanner viruzoù dianav : ''$1''",
'node-count-exceeded-warning' => "Pajenn a ya en tu all d'an niver a skoulmoù",
'expansion-depth-exceeded-category' => "Pajennoù m'eur aet dreist d'an donder astenn",
'expansion-depth-exceeded-warning' => "Pajenn a ya dreist d'an donder astenn",
+'parser-unstrip-loop-warning' => "Detektet ez eus bet ul lagadenn n'haller ket divontañ",
+'parser-unstrip-recursion-limit' => "Aet dreist d'ar vevenn rekurziñ n'haller ket divontañ : $1",
# "Undo" feature
'undo-success' => "Gallout a reer disteurel ar c'hemmoù-mañ. Gwiriit, mar plij, gant ar geñveriadenn a-is evit bezañ sur eo an dra-se a fell deoc'h ober; goude-se enrollit ar c'hemmoù a-is a-benn echuiñ disteurel ar c'hemmoù.",
# Diffs
'history-title' => 'Istor stummoù disheñvel "$1"',
+'difference-title' => 'Diforc\'hioù etre adstummoù "$1"',
+'difference-title-multipage' => 'Diforc\'hioù etre ar pajennoù "$1" ha "$2"',
'difference-multipage' => "(diforc'h etre ar pajennoù)",
'lineno' => 'Linenn $1:',
'compareselectedversions' => 'Keñveriañ ar stummoù diuzet',
'prefs-beta' => 'Perzhioù beta',
'prefs-datetime' => 'Deiziad hag eur',
'prefs-labs' => 'Perzhioù "labs"',
+'prefs-user-pages' => 'Pajennoù implijer',
'prefs-personal' => 'Titouroù personel',
'prefs-rc' => 'Kemmoù diwezhañ',
'prefs-watchlist' => 'Roll evezhiañ',
'group' => 'Strollad :',
'group-user' => 'Implijerien',
'group-autoconfirmed' => 'Implijerien bet kadarnaet ent emgefre',
-'group-bot' => 'Botoù',
+'group-bot' => 'Robotoù',
'group-sysop' => 'Merourien',
'group-bureaucrat' => 'Burevidi',
'group-suppress' => 'Dindan evezh',
'backend-fail-closetemp' => 'Dibosupl eo serriñ ar restr padennek.',
'backend-fail-read' => 'Dibosupl lenn ar restr $1.',
'backend-fail-create' => 'Dibosupl eo krouiñ ar restr $1.',
-'backend-fail-maxsize' => "Dibosupl krouiñ ar restr $1 peogwir eo brasoc'h eget {{PLURAL:$2|un okted|$2 okted}}.",
+'backend-fail-maxsize' => "Dibosupl skrivañ er restr $1 peogwir eo brasoc'h eget {{PLURAL:$2|un okted|$2 okted}}.",
'backend-fail-readonly' => 'Emañ an dermenell stokañ "$1" e mod lenn hepken. Setu aze an abeg a oa bet roet : "$2".',
'backend-fail-synced' => 'Emañ ar restr "$1" en ur stad direizhet en termenelloù stokañ diabarzh',
'backend-fail-connect' => 'Dibosupl kevreañ ouzh termenell stokañ ar restr "$1".',
'backend-fail-internal' => 'C\'hoarvezet ez eus ur fazi dianav e termenell stokañ ar restr "$1".',
'backend-fail-contenttype' => 'Dibosupl termeniñ ar seurt danvez da enrollañ e "$1".',
'backend-fail-batchsize' => 'Pourvezet he deus an dermenell stokañ ur pakad a $1 {{PLURAL:$1|oberiadenn|oberiadenn}}; sevel a ra ar vevenn da $2 {{PLURAL:$2|oberiadenn|oberiadenn}}.',
+'backend-fail-usable' => "Dibosupl skrivañ ar restr $1 rak re skort eo an aotreoù pe mankout a ra kavlec'hioù/endalc'herioù.",
# File journal errors
'filejournal-fail-dbconnect' => 'N\'eus ket bet gallet kevreañ ouzh diaz roadennoù ar marilh evit an dermenell stokañ "$1".',
'undelete-revision' => 'Stumm diverket eus $1, (gwiriadenn eus $4 da $5) gant $3 :',
'undeleterevision-missing' => "Stumm fall pe diank. Pe hoc'h eus heuliet ul liamm fall, pe eo bet diziverket ar stumm pe c'hoazh eo bet lamet diouzh an dielloù.",
'undelete-nodiff' => "N'eus bet kavet stumm kent ebet.",
-'undeletebtn' => 'Diziverkañ!',
+'undeletebtn' => 'Assevel',
'undeletelink' => 'gwelet/assevel',
'undeleteviewlink' => 'gwelet',
'undeletereset' => 'Adderaouekaat',
<?php
-/** Sorani (کوردی)
+/** Sorani Kurdish (کوردی)
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
دەستکاریەکەت بۆ بەرگری لە تێکەڵبوونی دەقی لاپەڕەکە وەر نەگیرا.<br />
ئەمە بڕێجار کاتێ ڕوو ئەدات کە لە خزمەتی پرۆکسی سەر وێب کەڵک وەر بگریت.",
'editing' => 'دەستکاریکردنی $1',
+'creating' => 'دروستکردنی $1',
'editingsection' => 'دەستکاریکردنی: $1 (بەش)',
'editingcomment' => 'دەستکاریکردنی $1 (بەشی نوێ)',
'editconflict' => 'دەستکاری کێشە : $1',
# Diffs
'history-title' => 'مێژووی پیاچوونەوەکانی «$1»',
+'difference-title' => 'جیاوازی نێوان پیاچوونەوەکانی «$1»',
+'difference-title-multipage' => 'جیاوازیی نێوان پەڕەی «$1» و «$2»',
'difference-multipage' => '(جیاوازی نێوان پەڕەکان)',
'lineno' => 'ھێڵی $1:',
'compareselectedversions' => 'پیاچوونەوە ھەڵبژێردراوەکان ھەڵسەنگێنە',
'prefs-beta' => 'کەرەسەکانی بیتا',
'prefs-datetime' => 'کات و ڕێکەوت',
'prefs-labs' => 'کەرەسەکانی تاقیگەکان',
+'prefs-user-pages' => 'پەڕە بەکارھێنەرییەکان',
'prefs-personal' => 'پرۆفایلی بەکارھێنەر',
'prefs-rc' => 'دوایین گۆڕانکارییەکان',
'prefs-watchlist' => 'لیستی چاودێری',
<?php
-/** Czech (Ä\8cesky)
+/** Czech (Ä\8desky)
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
'protect' => 'ꙁабранѥниѥ',
'protect_change' => 'иꙁмѣнѥниѥ',
'protectthispage' => 'си страницѧ ꙁабранєниѥ',
-'unprotect' => 'поущєниѥ',
+'unprotect' => 'ꙁабранѥниꙗ обраꙁа иꙁмѣнѥниѥ',
'newpage' => 'нова страница',
'talkpage' => 'си страницѧ бєсѣда',
'talkpagelinktext' => 'бєсѣда',
'nchanges' => '$1 {{PLURAL:$1|мѣна|мѣнꙑ|мѣнъ}}',
'recentchanges' => 'послѣдьнѩ мѣнꙑ',
'recentchanges-legend' => 'послѣдьн҄ь мѣнъ строи',
-'recentchangestext' => 'с҄ьдє послѣдьнѩ мѣнꙑ сѥѩ викиопꙑтьствованиꙗ видѣти можєши',
+'recentchanges-summary' => 'с҄ьдє послѣдьнѩ мѣнꙑ сѥѩ викиопꙑтьствованиꙗ видѣти можєши',
'recentchanges-label-newpage' => 'по сѥи мѣнꙑ нова страница сътворѥна ѥстъ',
'recentchanges-label-minor' => 'малаꙗ мѣна',
'recentchanges-label-bot' => 'сѭ мѣноу аѵтоматъ сътворихъ',
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".',
<?php
-/** Danish (Dansk)
+/** Danish (dansk)
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
'tog-externaleditor' => 'Externen Editor standardmäßig nutzen (nur für Experten, erfordert spezielle Einstellungen auf dem eigenen Computer. [//www.mediawiki.org/wiki/Manual:External_editors Weitere Informationen hierzu.])',
'tog-externaldiff' => 'Externes Programm standardmäßig für Versionsunterschiede nutzen (nur für Experten, erfordert spezielle Einstellungen auf dem eigenen Computer. [//www.mediawiki.org/wiki/Manual:External_editors Weitere Informationen hierzu.])',
'tog-showjumplinks' => '„Wechseln zu“-Links aktivieren',
-'tog-uselivepreview' => 'Sofortige Vorschau nutzen (benötigt JavaScript) (experimentell)',
+'tog-uselivepreview' => 'Vorschau sofort anzeigen (benötigt JavaScript) (experimentell)',
'tog-forceeditsummary' => 'Warnen, sofern beim Speichern die Zusammenfassung fehlt',
'tog-watchlisthideown' => 'Eigene Bearbeitungen in der Beobachtungsliste ausblenden',
'tog-watchlisthidebots' => 'Bearbeitungen durch Bots in der Beobachtungsliste ausblenden',
# History pages
'viewpagelogs' => 'Logbücher dieser Seite anzeigen',
-'nohistory' => 'Es gibt keine Versionsgeschichte für diese Seite.',
+'nohistory' => 'Zu dieser Seite ist keine Versionsgeschichte vorhanden.',
'currentrev' => 'Aktuelle Version',
'currentrev-asof' => 'Aktuelle Version vom $2, $3 Uhr',
'revisionasof' => 'Version vom $2, $3 Uhr',
'prefs-personal' => 'Benutzerdaten',
'prefs-rc' => 'Letzte Änderungen',
'prefs-watchlist' => 'Beobachtungsliste',
-'prefs-watchlist-days' => 'Anzahl der Tage, die die Beobachtungsliste standardmäßig umfassen soll:',
+'prefs-watchlist-days' => 'Maximale Anzahl der einbezogenen Tage:',
'prefs-watchlist-days-max' => 'Maximal {{PLURAL:$1|ein Tag|$1 Tage}}',
-'prefs-watchlist-edits' => 'Maximale Zahl der Einträge:',
-'prefs-watchlist-edits-max' => 'Maximale Anzahl: 1000',
+'prefs-watchlist-edits' => 'Maximale Anzahl der einbezogenen Einträge:',
+'prefs-watchlist-edits-max' => 'Maximal 1.000 Einträge',
'prefs-watchlist-token' => 'Beobachtungslisten-Token:',
'prefs-misc' => 'Verschiedenes',
'prefs-resetpass' => 'Passwort ändern',
'largefileserver' => 'Die Datei ist größer als die vom Server eingestellte Maximalgröße.',
'emptyfile' => 'Die hochgeladene Datei ist leer. Der Grund kann ein Tippfehler im Dateinamen sein. Bitte kontrolliere, ob du die Datei wirklich hochladen willst.',
'windows-nonascii-filename' => 'Dieses Wiki unterstützt keine Dateinamen die Sonderzeichen enthalten.',
-'fileexists' => "Eine Datei mit diesem Namen existiert bereits.
-Bitte prüfe '''<tt>[[:$1]]</tt>''', wenn du dir nicht sicher bist, ob du sie ändern willst.
+'fileexists' => "Eine Datei dieses Namens ist bereits vorhanden. Bitte prüfe '''<tt>[[:$1]]</tt>''', sofern du dir nicht sicher bist, ob du sie ändern möchtest.
[[$1|thumb]]",
'filepageexists' => "Eine Beschreibungsseite wurde bereits als '''<tt>[[:$1]]</tt>''' erstellt, es ist aber keine Datei mit diesem Namen vorhanden.
Die eingegebene Beschreibung wird nicht auf die Beschreibungsseite übernommen.
'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',
Die Ausgabe kann durch die Auswahl des Logbuchtyps, des Benutzers oder des Seitentitels eingeschränkt werden (Groß-/Kleinschreibung muss beachtet werden).',
'logempty' => 'Keine passenden Einträge.',
'log-title-wildcard' => 'Titel beginnt mit …',
+'showhideselectedlogentries' => 'Ausgewählte Logbucheinträge anzeigen/verstecken',
# Special:AllPages
'allpages' => 'Alle 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',
'protect-existing-expiry' => 'Aktuelles Seitenschutzende: $2, $3 Uhr',
'protect-otherreason' => 'Anderer/ergänzender Grund:',
'protect-otherreason-op' => 'Anderer Grund',
-'protect-dropdown' => '*Allgemeine Schutzgründe
-** Weblink-Spam
-** Editwar
+'protect-dropdown' => '* Allgemeine Schutzgründe
+** Edit-War
+** Wiederkehrender Vandalismus
+** Wiederholtes Einstellen von Werbung
** Häufig eingebundene Vorlage
** Seite mit hoher Besucherzahl',
'protect-edit-reasonlist' => 'Schutzgründe bearbeiten',
'javascripttest-title' => '$1-Tests werden durchgeführt',
'javascripttest-pagetext-noframework' => 'Diese Seite ist JavaSkript-Tests vorbehalten.',
'javascripttest-pagetext-unknownframework' => 'Unbekanntes Framework „$1“.',
-'javascripttest-pagetext-frameworks' => 'Bitte eines der folgenden Frameworks auswählen: $1',
+'javascripttest-pagetext-frameworks' => 'Bitte wähle eine der folgenden Prüfumgebungen aus: $1',
'javascripttest-pagetext-skins' => 'Wähle eine Benutzeroberfläche zur Durchführung der Tests aus:',
'javascripttest-qunit-intro' => 'Siehe die [$1 Dokumentation zu Tests] auf mediawiki.org',
'javascripttest-qunit-heading' => 'MediaWiki-JavaSkript-QUnit-Tester',
# Video information, used by Language::formatTimePeriod() to format lengths in the above messages
'seconds' => '{{PLURAL:$1|$1 Sekunde|$1 Sekunden}}',
'minutes' => '{{PLURAL:$1|$1 Minute|$1 Minuten}}',
-'hours' => '{{PLURAL:$1|$1 Stunde|$1 Stunden}}',
+'hours' => '{{PLURAL:$1|einer Stunde|$1 Stunden}}',
'days' => '{{PLURAL:$1|$1 Tag|$1 Tage}}',
'ago' => 'vor $1',
# Live preview
'livepreview-loading' => 'Lade …',
'livepreview-ready' => 'Laden … Fertig!',
-'livepreview-failed' => 'Die sofortige Vorschau ist nicht möglich!
-Bitte die normale Vorschau nutzen.',
+'livepreview-failed' => 'Die Vorschau kann nicht sofort angezeigt werden!
+Bitte nutze die reguläre Vorschau.',
'livepreview-error' => 'Verbindung nicht möglich: $1 „$2“. Bitte die normale Vorschau benutzen.',
# Friendlier slave lag warnings
'userlogin' => 'Cı kewe / hesab vıraze',
'userloginnocreate' => 'Cı kewe',
'logout' => 'Cı ra veciye',
-'userlogout' => 'Vıcyayış',
+'userlogout' => 'Bıvciyê',
'notloggedin' => 'Hesab akerde niyo',
'nologin' => "Hesabê şıma çıniyo? '''$1'''.",
'nologinlink' => 'Yew hesab ake',
Şıma çerezi qapan kerdi.
Ravêri inan akerê u reyna bıcerrebnê.',
'noname' => 'Yew nameyo maqbul bınuse.',
-'loginsuccesstitle' => 'Hesab bıyo a.',
-'loginsuccess' => '{{SITENAME}} Na keyepel de pê no "$1" name şıma hesab kerdo a.',
+'loginsuccesstitle' => 'Hesab abıya',
+'loginsuccess' => "'''{{SITENAME}} dı name dê \"\$1\" şıma hesab akerdo.'''",
'nosuchuser' => 'Ebe namey "$1"i yew karber çıniyo.
Nuştışê namanê karberan de herfa pil u qıce rê diqet kerên.
Nuştışê xo qonrol kerên, ya zi [[Special:UserLogin/signup|yew hesabo newe akerên]].',
'cascadeprotectedwarning' => "'''Diqet:''' Na pele kılit biya, tenya karberê idarekeri şenê ke naye bıvurnê, çıke na zerrey {{PLURAL:$1|na pela şipa-kılitkerdiye|nê pelanê şipanê-kılitkerdiyan}} dera:",
'titleprotectedwarning' => "'''Diqet: Na pele kılit biya, [[Special:ListGroupRights|heqê xususiy]] lazımê ke naye vırazê.'''
Loge peniye cor de este:",
-'templatesused' => '{{PLURAL:$1|Template|Templateyan}} ke ena pele dı ca genê:',
+'templatesused' => '{{PLURAL:$1|Şablon|Şabloni}} ke na pela de xebtênê:',
'templatesusedpreview' => '{{PLURAL:$1|Sablon|Sabloni}} ke na verqayt de xebetnayê:',
'templatesusedsection' => '{{PLURAL:$1|Template|Templateyan}} ke na qısım de xebetniyenê:',
'template-protected' => '(kılit biyo)',
'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',
'viewprevnext' => '($1 {{int:pipe-separator}} $2) ($3) bıvênên',
'searchmenu-legend' => 'bıgeyre tercihan (sae bıke)',
'searchmenu-exists' => "''Ena 'Wikipediya de ser \"[[:\$1]]\" yew pel esto'''",
-'searchmenu-new' => "''Na Wikipediya de pela \"[[:\$1]]\" vıraze!'''",
+'searchmenu-new' => "''Na Wiki de pelay \"[[:\$1]]\" vıraze!'''",
'searchhelp-url' => 'Help:Tedeestey',
'searchmenu-prefix' => '[[Special:PrefixIndex/$1|pê eno prefix ser pelan de bigêre]]',
'searchprofile-articles' => 'Pelê tedeestey',
'prefs-beta' => 'Xacetê beta',
'prefs-datetime' => 'Tarix u wext',
'prefs-labs' => 'Xacetê labs',
+'prefs-user-pages' => 'Pela Karberi',
'prefs-personal' => 'Pela karberi',
'prefs-rc' => 'Vurnayışê peyêni',
'prefs-watchlist' => 'Lista seyr-kerdışi',
'action-sendemail' => 'e-posta bırşe',
# Recent changes
-'nchanges' => '$1 {{PLURAL:$1|vurnayış|vurnayışan}}',
+'nchanges' => '$1 {{PLURAL:$1|fın vurna|fıni vurna}}',
'recentchanges' => 'Vurnayışê peyêni',
'recentchanges-legend' => 'Tercihê vurnayışanê peniyan',
'recentchanges-summary' => 'Ena pele de wiki sero vurnayışê peyêni teqib ke',
'recentchanges-feed-description' => 'Ena feed dı vurnayişanê tewr peniyan teqip bık.',
-'recentchanges-label-newpage' => 'Ena edît yew pela newî viraşt',
+'recentchanges-label-newpage' => 'Enê vurnayışi pelaya newi vıraşt',
'recentchanges-label-minor' => 'Eno yew edîto qickek o',
'recentchanges-label-bot' => 'Eno vurnayış terefê yew boti ra vıraziyo',
'recentchanges-label-unpatrolled' => 'Eno edît patrol nibiyo',
'rcshowhidemine' => 'nuştışanê mı $1',
'rclinks' => 'Peyni rocan de vurnayışa $1 $2 roci dı<br />$3',
'diff' => 'ferq',
-'hist' => 'ver',
+'hist' => 'verên',
'hide' => 'Bınımne',
'show' => 'Bımocne',
'minoreditletter' => 'werdı',
'listredirects' => 'Listeyê redireksiyonî',
# Unused templates
-'unusedtemplates' => 'Templateyanê nihebitiyeno',
+'unusedtemplates' => 'Şablonê ke nê xebtênê',
'unusedtemplatestext' => 'no pel, {{ns:template}} pelê ke pelê binan de nêaseni, ninan keno.',
'unusedtemplateswlh' => 'linkanê binî',
'statistics-users-active-desc' => '{{PLURAL:$1|roco peyin de|$1 roco peyin de}} karber ê ke kar kerdê.',
'statistics-mostpopular' => 'Pelayanê ke tewr zafî vînî biye',
-'disambiguations' => 'Pelayê ke maneyo bini rê grê danê',
+'disambiguations' => 'Pelayê ke maneyo bini rê gırey cı esto',
'disambiguationspage' => 'Template:disambig',
'disambiguations-text' => 'satıro ewwil de ke peli ca genî; gıreyê pelê ciya-manayi mocneni. İkinci sırada <br />tiya de [[MediaWiki:Disambiguationspage]] gani heme gıreyê şablonê ciya-manayan re gıre bıdiyo',
-'doubleredirects' => 'redireksiyonê herdi',
+'doubleredirects' => 'Hetenayışê dıletıni',
'doubleredirectstext' => 'no pel pelê ray motışani liste keno.
gıreyê her satıri de gıreyi; raş motışê yewın u dıyıni esto.
<del>serê ey nuşteyi</del> safi biye.',
'double-redirect-fixed-maintenance' => 'raçarnayışo dıletê [[$1]] ra pela da [[$2]] timarêno',
'double-redirect-fixer' => 'Fixerî redirek bike',
-'brokenredirects' => 'Redireksiyonî ke hin nixebitiyeno',
+'brokenredirects' => 'Hetenayışê vengi',
'brokenredirectstext' => 'Redireksiyonê ey ki pelanê hama çiniyeno ra link dano:',
'brokenredirects-edit' => 'bıvurne',
'brokenredirects-delete' => 'bıestere',
-'withoutinterwiki' => 'Pelî ke bê linkanê ziwanî',
+'withoutinterwiki' => 'Peleyê ke zıwanan de bina re gırey cı çınyo',
'withoutinterwiki-summary' => 'Enê pelî ke versiyonê ziwanî binî ra link nidano.',
'withoutinterwiki-legend' => 'Verole',
'withoutinterwiki-submit' => 'Bımocne',
-'fewestrevisions' => 'Pelî de ke revizyonê tayî estê',
+'fewestrevisions' => 'Peleyê ke cı sero tewr tayn timaryayış vıraziyayo',
# Miscellaneous special pages
'nbytes' => '$1 {{PLURAL:$1|bayt|bayti}}',
'nimagelinks' => '$1 {{PLURAL:$1|pelayan de|pelayan de}} gurweyêno',
'ntransclusions' => '$1 {{PLURAL:$1|pelayan de|pelayan de}} gurweyêno',
'specialpage-empty' => 'Ser ena report netice çini yo.',
-'lonelypages' => 'Pelî ke yetim mend',
+'lonelypages' => 'Peleyê ke cı rê gıre nêdeyayo',
'lonelypagestext' => 'Ena pelî link nibiyê ya zi pelanê binî {{SITENAME}} de transclude biy.',
'uncategorizedpages' => 'Pelayanê ke kategorî nibiye',
-'uncategorizedcategories' => 'Kategoriyanê ke kategorî nibiye',
-'uncategorizedimages' => 'Dosyayê ke kategorî nibiye',
-'uncategorizedtemplates' => 'Templateyê ke kategorî nibiye',
-'unusedcategories' => 'Kategoriyanê ke nihebitiyeno',
-'unusedimages' => 'Dosyayê ke nihebitiyeno',
+'uncategorizedcategories' => 'Kategoriyê ke bê kategorîyê',
+'uncategorizedimages' => 'Dosyayê ke bê kategorîyê',
+'uncategorizedtemplates' => 'Şablonê ke bê kategoriyê',
+'unusedcategories' => 'Kategoriyê ke nê xebtênê',
+'unusedimages' => 'Dosyeyê ke nê xebtênê',
'popularpages' => 'Pelî ke populer o.',
-'wantedcategories' => 'Kategoriyî ke ganî estî bî.',
-'wantedpages' => 'Pelî ke ganî estî bî.',
+'wantedcategories' => 'Kategoriye ke waştênê',
+'wantedpages' => 'Peleye ke waştênê',
'wantedpages-badtitle' => 'sernuşte meqbul niyo: $1',
-'wantedfiles' => 'Dosyayî ke ganî estî bî.',
-'wantedtemplates' => 'Templateyî ke ganî estî bî.',
+'wantedfiles' => 'Dosyeye ke waştênê',
+'wantedtemplates' => 'Şablonê ke waştênê',
'mostlinked' => 'Pelî ke tewr zafî lînk bîy.',
'mostlinkedcategories' => 'Kategorî ke tewr zafî lînk bîy.',
'mostlinkedtemplates' => 'Şablonê ke tewr zafî pela re gıre bîye.',
'mostcategories' => 'Pelan ke tewr zaf kategorî estê.',
'mostimages' => 'Dosyayan ke tewr zaf link estê.',
'mostrevisions' => 'Pelan ke tewr zaf revizyonî biyê.',
-'prefixindex' => 'Pelayanê hemi pe verbend',
-'shortpages' => 'Pelê kılmi',
-'longpages' => 'Pelê dergi',
+'prefixindex' => 'Veroleya peley pêro',
+'shortpages' => 'Peleyê kılmeki',
+'longpages' => 'Peleyê dergeki',
'deadendpages' => 'pelê ke pelê binan re gırey nêeşto',
'deadendpagestext' => 'Ena pelan ke {{SITENAME}} de zerrî ey de link çini yo.',
-'protectedpages' => 'Pelan ke kilit biya.',
+'protectedpages' => 'Pelayê ke biyê star',
'protectedpages-indef' => 'têna pawıteyê bêmuddeti',
'protectedpages-cascade' => 'Kilit biyaye ke teyna cascadiye',
'protectedpagestext' => 'pelê cêrınî pawiyenê',
'protectedpagesempty' => 'pê ney parametreyan pelê pawiteyi çinî',
-'protectedtitles' => 'sernuşteyê pawıteyi',
+'protectedtitles' => 'Sernameyê ke starênê',
'protectedtitlestext' => 'sernameyê cêrıni pawıte yî',
'protectedtitlesempty' => 'pê ney parametreyan sernuşteyê pawite çinê',
'listusers' => 'Lista karberan',
'usercreated' => '$2 de $1 {{GENDER:$3|viraziya}}',
'newpages' => 'Pelê newey',
'newpages-username' => 'Namey Karberi:',
-'ancientpages' => 'Pelê kıhanêri',
+'ancientpages' => 'Wesiqeyê ke vurnayışê ciyê peyeni tewr kehani',
'move' => 'bere',
'movethispage' => 'Ena pele bere',
'unusedimagestext' => 'Enê dosyey estê, feqet zerrey yew pele de wedardey niyê.
'log-title-wildcard' => 'sername yê ke pê ney nuşteyi destkenêpê bıgêr.',
# Special:AllPages
-'allpages' => 'Pelan hemi',
+'allpages' => 'Peli pêro',
'alphaindexline' => '$1 ra $2ine',
'nextpage' => 'Pela badê cû ($1)',
'prevpage' => 'Pela verêne ($1)',
'allpagesfrom' => 'Pelanê ke be ena herfe dest pêkenê bımocne',
'allpagesto' => 'Pelanê ke be ena herfe qediyenê bımocne:',
'allarticles' => 'Peli pêro',
-'allinnamespace' => 'Pelanê hemî ($1 cayênameyî)',
+'allinnamespace' => 'Peli pênro ( $1 cayênameyî)',
'allnotinnamespace' => 'Pelanê hemî ($1 cayênameyî de niyo)',
'allpagesprev' => 'Verêni',
'allpagesnext' => 'ver şo',
# Special:Categories
'categories' => 'Kategoriy',
'categoriespagetext' => '{{PLURAL:$1|kategoriyê|kategoriyê}} cêrıni de pel u media esto.
-[[Special:UnusedCategories|kategori yê ke nêşuxulyeni]] tiya de nêmociyeni.
+[[Special:UnusedCategories|kategoriyê ke nê xebtênê]] tiya de nêmociyeni.
hem zi bıewnê [[Special:WantedCategories|kategori yê ke waziyeni]].',
'categoriesfrom' => 'kategori yê ke pê ninan destpêkeno ramocın:',
'special-categories-sort-count' => 'goreyê çendi rêz ker.',
# Watchlist
'watchlist' => 'lista mına seyr-kerdışi',
'mywatchlist' => 'Listey seyri',
-'watchlistfor2' => 'Semedê $1 ($2)',
+'watchlistfor2' => 'Qandê $1 ($2)',
'nowatchlist' => 'listeya temaşa kerdıişê şıma de yew madde zi çina.',
'watchlistanontext' => 'qey vurnayişê maddeya listeya temaşakerdişi $1.',
'watchnologin' => 'hesab akerde niyo',
'actionfailed' => 'kar nêbı',
'deletedtext' => '"$1" biya wedariya.
Qe qeydê wedarnayışi, $2 bevinin.',
-'dellogpage' => 'Logê bıesterışi',
+'dellogpage' => 'Qeydê besternayışi',
'dellogpagetext' => 'listeya cêrıni heme qaydê hewn a kerdeyan o.',
'deletionlog' => 'qaydê hewnakerdışani',
'reverted' => 'revizyono verin tepiya anciyayo',
'contributions' => 'İştirakê karberi',
'contributions-title' => '$1 de iştırakê karberi',
'mycontris' => 'İştıraxê mı',
-'contribsub2' => 'Semedê $1 ($2)',
+'contribsub2' => 'Qandê $1 ($2)',
'nocontribs' => 'Ena kriteriya de vurnayîş çini yo.',
'uctop' => '(ser)',
'month' => 'Aşm ra (u verniyer):',
'sp-contributions-newbies' => 'Tenya iştıraqanê karberanê neweyan bımocne',
'sp-contributions-newbies-sub' => 'Qe hesebê newe',
'sp-contributions-newbies-title' => 'Îştîrakê karberî ser hesabê neweyî',
-'sp-contributions-blocklog' => 'Cıkewtışê kılit-kerdışi',
+'sp-contributions-blocklog' => 'Qeydê kılit-kerdışi',
'sp-contributions-deleted' => 'vurnayîşê karberî wedariyayê',
'sp-contributions-uploads' => 'barkerdey',
-'sp-contributions-logs' => 'logî',
+'sp-contributions-logs' => 'qeydi',
'sp-contributions-talk' => 'mesac',
'sp-contributions-userrights' => 'Îdarayê heqqanê karberan',
'sp-contributions-blocked-notice' => 'verniyê no/na karber/e geriyayo/a
'javascripttest' => 'Cerbnayışê JavaScripti',
# Tooltip help for the actions
-'tooltip-pt-userpage' => 'Pela ya Qarberi',
+'tooltip-pt-userpage' => 'Pelaya karberi',
'tooltip-pt-anonuserpage' => 'pelê karberê IPyi',
'tooltip-pt-mytalk' => 'Pela ya Qıse vatışi',
'tooltip-pt-anontalk' => 'vurnayiş ê ke no Ipadresi ra biyo muneqeşa bıker',
'tooltip-pt-mycontris' => 'Lista iştırakanê to',
'tooltip-pt-login' => 'Seba cıkewtışi şıma rê dewato; labelê, no zeruri niyo',
'tooltip-pt-anonlogin' => 'Seba cıkewtışi şıma rê dewato; labelê, no zeruri niyo',
-'tooltip-pt-logout' => 'Veciye',
+'tooltip-pt-logout' => 'Bıvciyê',
'tooltip-ca-talk' => 'Pela tedeesteyan sero werênayış',
'tooltip-ca-edit' => 'Tı şenay na pele bıvurnê.
Kerem ke, qeydkerdış ra ver gocega verqayti bıxebetne.',
'autosumm-blank' => 'Pele de her çi wederna',
'autosumm-replace' => "Maqale pê '$1' vuriya",
'autoredircomment' => 'Pele [[$1]] rê redirek biyo',
-'autosumm-new' => "Pê '$1' pele viraziyo.",
+'autosumm-new' => "Pela vıraziyê, '$1' bıvinê",
# Live preview
'livepreview-loading' => 'Ho bar keni...',
'version-entrypoints-header-url' => 'GRE',
# Special:FilePath
-'filepath' => 'Raherê dosyayi',
+'filepath' => 'Heruna dosyayer',
'filepath-page' => 'Dosya:',
'filepath-submit' => 'Şo',
'filepath-summary' => 'Na pela xısusiye raya temame jû dosya rê ana.
'nchanges' => '$1 {{PLURAL:$1|αλλαγή|αλλαγές}}',
'recentchanges' => 'Πρόσφατες αλλαγές',
'recentchanges-legend' => 'Επιλογές των πρόσφατων αλλαγών',
-'recentchanges-summary' => 'ΠαÏ\81ακολοÏ\85θείστε σε αυτή τη σελίδα τις πιο πρόσφατες αλλαγές στο Wiki.',
+'recentchanges-summary' => 'ΠαÏ\81ακολοÏ\85θήστε σε αυτή τη σελίδα τις πιο πρόσφατες αλλαγές στο Wiki.',
'recentchanges-feed-description' => 'Παρακολουθήστε τις πιο πρόσφατες αλλαγές στο wiki σε αυτή τη ροή δεδομένων.',
'recentchanges-label-newpage' => 'Αυτή η επεξεργασία δημιούργησε μια νέα σελίδα',
'recentchanges-label-minor' => 'Αυτή είναι μια αλλαγή μικρής κλίμακας',
* Customisable syntax for wikitext and elsewhere.
*
* IDs must be valid identifiers, they cannot contain hyphens.
+ * CASE is 0 to match all case variants, 1 for case-sensitive
*
* Note to translators:
* Please include the English words as synonyms. This allows people
'index-category' => 'Indexed pages',
'noindex-category' => 'Noindexed pages',
'broken-file-category' => 'Pages with broken file links',
+'categoryviewer-pagedlinks' => '($1) ($2)',
'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD', # only translate this message to other languages if you have to change it
'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',
'pubmedurl' => '//www.ncbi.nlm.nih.gov/pubmed/$1?dopt=Abstract', # do not translate or duplicate this message to other languages
# Special:Log
-'specialloguserlabel' => 'Performer:',
-'speciallogtitlelabel' => 'Target (title or user):',
-'log' => 'Logs',
-'all-logs-page' => 'All public logs',
-'alllogstext' => 'Combined display of all available logs of {{SITENAME}}.
+'specialloguserlabel' => 'Performer:',
+'speciallogtitlelabel' => 'Target (title or user):',
+'log' => 'Logs',
+'all-logs-page' => 'All public logs',
+'alllogstext' => 'Combined display of all available logs of {{SITENAME}}.
You can narrow down the view by selecting a log type, the username (case-sensitive), or the affected page (also case-sensitive).',
-'logempty' => 'No matching items in log.',
-'log-title-wildcard' => 'Search titles starting with this text',
+'logempty' => 'No matching items in log.',
+'log-title-wildcard' => 'Search titles starting with this text',
+'showhideselectedlogentries' => 'Show/hide selected log entries',
# Special:AllPages
'allpages' => 'All pages',
$1',
'undelete-show-file-confirm' => 'Are you sure you want to view the deleted revision of the file "<nowiki>$1</nowiki>" from $2 at $3?',
'undelete-show-file-submit' => 'Yes',
+'undelete-revisionrow' => "$1 $2 $3 $4 . . $5 $6 $7",
# Namespace form on various pages
'namespace' => 'Namespace:',
'ellipsis' => '...', # only translate this message to other languages if you have to change it
'percent' => '$1%', # only translate this message to other languages if you have to change it
'parentheses' => '($1)', # only translate this message to other languages if you have to change it
+'brackets' => '[$1]', # only translate this message to other languages if you have to change it
# Multipage image navigation
'imgmultipageprev' => '← previous page',
'watcherrortext' => 'Eraro okazis ŝanĝinte vian agordojn de atentaro por "$1".',
'enotif_mailer' => 'Averta retmesaĝo de {{SITENAME}}',
-'enotif_reset' => 'Marki ĉiujn vizititajn paĝojn',
+'enotif_reset' => 'Marki ĉiujn paĝojn vizititaj',
'enotif_newpagetext' => 'Tiu ĉi estas nova paĝo',
'enotif_impersonal_salutation' => 'Uzanto de {{SITENAME}}',
'changed' => 'ŝanĝita',
<?php
-/** Spanish (Español)
+/** Spanish (español)
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
'watcherrortext' => 'Ocurrió un error al cambiar la configuración de tu lista de seguimiento para «$1».',
'enotif_mailer' => 'Notificación por correo de {{SITENAME}}',
-'enotif_reset' => 'Marcar todas las páginas visitadas',
+'enotif_reset' => 'Marcar todas las páginas como visitadas',
'enotif_newpagetext' => 'Se trata de una nueva página.',
'enotif_impersonal_salutation' => 'usuario de {{SITENAME}}',
'changed' => 'modificada',
<?php
-/** Estonian (Eesti)
+/** Estonian (eesti)
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
'prefs-beta' => 'Beetafunktsioonid',
'prefs-datetime' => 'Kuupäev ja kellaaeg',
'prefs-labs' => 'Katsefunktsioonid',
+'prefs-user-pages' => 'Kasutajaleheküljed',
'prefs-personal' => 'Kasutaja andmed',
'prefs-rc' => 'Viimased muudatused',
'prefs-watchlist' => 'Jälgimisloend',
'newsectionsummary' => '/* $1 */ uus alajaotus',
'rc-enhanced-expand' => 'Näita üksikasju (nõuab JavaScripti)',
'rc-enhanced-hide' => 'Peida üksikasjad',
+'rc-old-title' => 'alustatud pealkirja "$1" all',
# Recent changes linked
'recentchangeslinked' => 'Seotud muudatused',
<?php
-/** Basque (Euskara)
+/** Basque (euskara)
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
'userinvalidcssjstitle' => "'''Oharra:''' Ez da \"\$1\" itxura existitzen. Kontuan izan .css eta .js fitxategi pertsonalizatuen izenak letra xehez idatzi behar direla; adibidez, {{ns:user}}:Adibide/vector.css, eta ez {{ns:user}}:Adibide/Vector.css.",
'updated' => '(Eguneratua)',
'note' => "'''Oharra:'''",
-'previewnote' => "'''Gogoratu hau aurreikusketa bat dela, beraz gorde egin beharko duzu!'''",
+'previewnote' => "'''Gogoratu hau aurrikuspen bat dela.'''
+Zure aldaketak ez dira oraindik gorde!",
'previewconflict' => 'Aurreikuspenak aldaketen koadroan idatzitako testua erakusten du, gorde ondoren agertuko den bezala.',
'session_fail_preview' => "'''Sentitzen dugu! Ezin izan da zure aldaketa prozesatu, saioko datu batzuen galera dela-eta. Mesedez, saiatu berriz. Arazoak jarraitzen badu, saiatu saioa amaitu eta berriz hasten.'''",
'session_fail_preview_html' => "'''Sentitzen dugu! Ezin izan dugu zure aldaketa burutu, saio datu galera bat medio.'''
'mergelogpagetext' => 'Jarraian dagoen zerrendak orrialde baten historiatik beste batera egindako azken bateratzeak erakusten ditu.',
# Diffs
-'history-title' => '"$1" orrialdearen historia laburpena',
+'history-title' => '"$1" orrialdearen historia berrikuspena',
'difference-multipage' => '(Orrialdeen arteko ezberdintasunak)',
'lineno' => '$1. lerroa:',
'compareselectedversions' => 'Hautatutako bertsioak alderatu',
'linkstoimage-redirect' => '$1 (fitxategi birzuzenketa) $2',
'duplicatesoffile' => 'Ondorengo fitxategi {{PLURAL:$1|hau beste honen berdina da|$1 hauek beste honen berdinak dira}} ([[Special:FileDuplicateSearch/$2|zehaztasun gehiago]]):',
'sharedupload' => 'Elkarbanatutako fitxategi hau $1-(e)ko igoera bat da eta beste proiektuek ere erabil dezakete.',
+'sharedupload-desc-here' => 'Fitxategi hau $1-(e)koa da eta beste proeiktuetan erabilia izan liteke.
+Bere [$2 fitxategiaren deskribapen orrialdea] behean dago.',
'filepage-nofile' => 'Izen horrekin ez dago fitxategirik.',
'uploadnewversion-linktext' => 'Fitxategi honen bertsio berri bat igo',
'shared-repo-from' => '$1-tik',
'persian date' => 'xij xiF xiY',
'persian both' => 'xij xiF xiY، ساعت H:i',
- 'hebrew time' => 'H:i',
+ 'hebrew time' => 'H:i',
'hebrew date' => 'xij xjF xjY',
'hebrew both' => 'H:i, xij xjF xjY',
-
'ISO 8601 time' => 'xnH:xni:xns',
'ISO 8601 date' => 'xnY-xnm-xnd',
'ISO 8601 both' => 'xnY-xnm-xnd"T"xnH:xni:xns',
'prefs-beta' => 'ابزارهای کارآمد',
'prefs-datetime' => 'تاریخ و زمان',
'prefs-labs' => 'قسمتهای آزمایشی',
+'prefs-user-pages' => 'صفحههای کاربری',
'prefs-personal' => 'دادههای کاربر',
'prefs-rc' => 'تغییرات اخیر',
'prefs-watchlist' => 'فهرست پیگیریها',
'backend-fail-internal' => 'خطایی نامعلوم در پشتیبان ذخیره «$1» رخ داد.',
'backend-fail-contenttype' => 'تعیین نوع محتوای پرونده برای ذخیره در «$1» ناموفق بود.',
'backend-fail-batchsize' => 'دستهای مشتمل بر $1 {{PLURAL:$1|عملکرد|عملکرد}} پرونده به پشتیبان ذخیره داده شد؛ حداکثر مجاز $2 {{PLURAL:$2|عملکرد|عملکرد}} است.',
+'backend-fail-usable' => 'امکان نوشتن در پروندهٔ $1 وجود نداشت چرا که سطح دسترسی کافی نیست یا شاخه مورد نظر وجود ندارد.',
+
+# File journal errors
+'filejournal-fail-dbconnect' => 'امکان وصل شدن به پایگاه داده دفترخانه برای پشتیبان ذخیرهسازی «$1» وجود نداشت.',
+'filejournal-fail-dbquery' => 'امکان به روز کردن پایگاه داده دفترخانه برای پشتیبان ذخیرهسازی «$1» وجود نداشت.',
# Lock manager
'lockmanager-notlocked' => 'نمیتوان قفل «$1» را گشود؛ چون قفل نشدهاست.',
'allpages-hide-redirects' => 'پنهانکردن تغییرمسیرها',
# SpecialCachedPage
+'cachedspecial-viewing-cached-ttl' => 'شما در حال مشاهدهٔ نسخهای از این صفحه که در میانگیر قرار دارد هستید که ممکن است برای $1 قبل باشد.',
+'cachedspecial-viewing-cached-ts' => 'شما در حال مشاهدهٔ نسخهای از این صفحه که در میانگیر قرار دارد هستید، و این نسخه ممکن است کاملاً واقعی نباشد.',
'cachedspecial-refresh-now' => 'مشاهده آخرین.',
# Special:Categories
<?php
-/** Finnish (Suomi)
+/** Finnish (suomi)
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
'revdelete-show-file-submit' => 'Kyllä',
'revdelete-selected' => "'''{{PLURAL:$2|Valittu versio|Valitut versiot}} sivusta '''$1:''''''",
'logdelete-selected' => "'''{{PLURAL:$1|Valittu lokimerkintä|Valitut lokimerkinnät}}:'''",
-'revdelete-text' => "'''Poistetut versiot näkyvät sivun historiassa, mutta niiden sisältö ei ole julkisesti saatavilla.'''
-Muut ylläpitäjät {{GRAMMAR:inessive|{{SITENAME}}}} voivat silti lukea piilotetun sisällön ja he voivat palauttaa sen tämän käyttöliittymän kautta, ellei sitä ole rajoitettu.",
+'revdelete-text' => "'''Poistetut versiot ja lokitapahtumat näkyvät edelleen sivun historiassa ja lokeissa, mutta osa niiden sisällöstä ei ole julkisesti saatavilla.'''
+Muut ylläpitäjät {{GRAMMAR:inessive|{{SITENAME}}}} voivat silti tarkastella piilotettua sisältöä, ja he voivat palauttaa sen näkyviin tämän käyttöliittymän kautta, ellei tätä ole erikseen rajoitettu.",
'revdelete-confirm' => 'Varmista, että haluat tehdä tämän – ymmärrät seuraukset ja teet tämän [[{{MediaWiki:Policy-url}}|käytäntöjen]] mukaisesti.',
'revdelete-suppress-text' => "Häivytystä pitäisi käyttää '''vain''' seuraavissa tapauksissa:
* Sopimattomat henkilötiedot
'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',
<?php
-/** French (Français)
+/** French (français)
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
# User preference toggles
'tog-underline' => 'Souligner les liens :',
'tog-justify' => 'Justifier les paragraphes',
-'tog-hideminor' => 'Masquer les modifications mineures parmi les modifications récentes',
-'tog-hidepatrolled' => 'Masquer les modifications surveillées parmi les modifications récentes',
+'tog-hideminor' => 'Masquer les modifications mineures dans les modifications récentes',
+'tog-hidepatrolled' => 'Masquer les modifications surveillées dans les modifications récentes',
'tog-newpageshidepatrolled' => 'Masquer les pages surveillées parmi les nouvelles pages',
'tog-extendwatchlist' => 'Étendre la liste de suivi pour afficher toutes les modifications et non seulement les plus récentes',
'tog-usenewrc' => 'Utiliser les modifications récentes améliorées (nécessite JavaScript)',
'tog-numberheadings' => 'Numéroter automatiquement les titres de section',
-'tog-showtoolbar' => 'Montrer la barre de menu de modification (nécessite JavaScript)',
-'tog-editondblclick' => 'Double-cliquer permet de modifier une page (nécessite JavaScript)',
+'tog-showtoolbar' => "Montrer la barre d'outils de modification (nécessite JavaScript)",
+'tog-editondblclick' => 'Modifier des pages sur double-clic (nécessite JavaScript)',
'tog-editsection' => 'Activer les modifications de sections grâce aux liens « [modifier] »',
-'tog-editsectiononrightclick' => 'Un clic droit sur un titre de section permet de modifier celle-ci (nécessite JavaScript)',
+'tog-editsectiononrightclick' => 'Activer la modification de sections par clic droit sur leurs titres (nécessite JavaScript)',
'tog-showtoc' => 'Afficher la table des matières (pour les pages ayant plus de 3 sections)',
'tog-rememberpassword' => 'Se souvenir de mon identification avec ce navigateur (au maximum $1 {{PLURAL:$1|jour|jours}})',
'tog-watchcreations' => 'Ajouter les pages que je crée à ma liste de suivi',
'november-gen' => 'novembre',
'december-gen' => 'décembre',
'jan' => 'janv',
-'feb' => 'févr',
+'feb' => 'fév',
'mar' => 'mars',
'apr' => 'avr',
'may' => 'mai',
'cancel' => 'Annuler',
'moredotdotdot' => 'Plus...',
'mypage' => 'Ma page',
-'mytalk' => 'Page de discussion',
+'mytalk' => 'Ma page de discussion',
'anontalk' => 'Discussion avec cette adresse IP',
'navigation' => 'Navigation',
'and' => ' et',
'errorpagetitle' => 'Erreur',
'returnto' => 'Revenir à la page $1.',
-'tagline' => 'De {{SITENAME}}.',
+'tagline' => 'De {{SITENAME}}',
'help' => 'Aide',
'search' => 'Rechercher',
'searchbutton' => 'Rechercher',
'thisisdeleted' => 'Désirez-vous afficher ou restaurer $1 ?',
'viewdeleted' => 'Voir $1 ?',
'restorelink' => '{{PLURAL:$1|la modification effacée|les $1 modifications effacées}}',
-'feedlinks' => 'Flux',
+'feedlinks' => 'Flux :',
'feed-invalid' => 'Type de flux invalide.',
'feed-unavailable' => 'Les flux de syndication ne sont pas disponibles',
'site-rss-feed' => 'Flux RSS de $1',
'filedeleteerror' => 'Impossible de supprimer le fichier « $1 ».',
'directorycreateerror' => 'Impossible de créer le dossier « $1 ».',
'filenotfound' => 'Impossible de trouver le fichier « $1 ».',
-'fileexistserror' => 'Impossible d’écrire dans le dossier « $1 » : le fichier existe',
+'fileexistserror' => 'Impossible d’écrire le fichier « $1 » : le fichier existe.',
'unexpected' => 'Valeur inattendue : « $1 » = « $2 ».',
-'formerror' => 'Erreur : Impossible de soumettre le formulaire',
+'formerror' => 'Erreur : Impossible de soumettre le formulaire.',
'badarticleerror' => 'Cette action ne peut pas être effectuée sur cette page.',
'cannotdelete' => 'Impossible de supprimer la page ou le fichier « $1 ».
La suppression a peut-être déjà été effectuée par quelqu’un d’autre.',
'yourpasswordagain' => 'Confirmez le mot de passe :',
'remembermypassword' => 'Me reconnecter automatiquement aux prochaines visites avec ce navigateur (au maximum $1 {{PLURAL:$1|jour|jours}})',
'securelogin-stick-https' => 'Rester connecté en HTTPS après la connexion',
-'yourdomainname' => 'Votre domaine',
+'yourdomainname' => 'Votre domaine :',
'externaldberror' => 'Une erreur s’est produite avec la base de données d’authentification externe, ou bien vous n’êtes pas autorisé{{GENDER:||e|(e)}} à mettre à jour votre compte externe.',
'login' => 'Connexion',
'nav-login-createaccount' => 'Créer un compte ou se connecter',
Vous pouvez personnaliser l’affichage en sélectionnant le type de journal, le nom d’utilisateur ou la page concernée (ces deux derniers étant sensibles à la casse).',
'logempty' => 'Aucune opération correspondante dans les journaux.',
'log-title-wildcard' => 'Chercher parmi les titres commençant par ce texte',
+'showhideselectedlogentries' => 'Afficher/masquer les entrées de journal sélectionnées',
# Special:AllPages
'allpages' => 'Toutes les pages',
'edithelp' => 'Beårbingsheelp',
'edithelppage' => 'Help:Beårbe',
'helppage' => 'Help:Inhåltsfertiiknis',
-'mainpage' => 'Hoodsid',
+'mainpage' => 'Wikipedia:Hoodsid',
'mainpage-description' => 'Hoodsid',
'policy-url' => 'Project:Ruchtliinje',
'portal' => 'Gemiinschaps-portåål',
Jü späre wörd döör [[User:$1|$1]] ma grün "$2" inruchted.',
'filereadonlyerror' => 'Det datei „$1“ koon ei feranert wurd, auer uun det fertiaknis „$2“ bluas leesen wurd koon.
Di grünj faan di administraator as: „$3“.',
+'invalidtitle-knownnamespace' => 'Ferkiard auerskraft uun di nöömrüm „$2“ an tekst „$3“',
+'invalidtitle-unknownnamespace' => 'Ferkiard auerskraft uun di ünbekäänd nöömrüm „$1“ an tekst „$2“',
# Virus scanner
'virus-badscanner' => "Hiinje konfigurasjoon: ünbekånde fiirusscanner: ''$1''",
'session_fail_preview' => "'''Din werk küd ei ufseekert wurd, diar as wat skiaf gingen.'''
Fersjük det man noch ans an trak do üüb ''Sid spiikre''.
Wan't do imer noch ei loket, [[Special:UserLogout|melde di uf]] an weder uun.",
-'session_fail_preview_html' => "'''Din werk küd ei seekerd wurd. Diar as wat skiaf gingen.'''
+'session_fail_preview_html' => "'''Din werk küd ei seekert wurd. Diar as wat skiaf gingen.'''
''Uun {{SITENAME}} as HTML aktiwiaret, an diaram as JavaScript deaktiwiaret wurden.''
Wees sü gödj än sääkre di täkst lokool aw din kompjuuter än fersäk tu n lääsern tidpunkt, da änringe tu ouerdreegen.'''.
Grün for jü späre: $1",
-'protectedpagewarning' => "'''PÅÅS AW: Jüheer sid wörd spärd. Bloot benjütere ma adminstrasjoonsruchte koone jü sid beårbe.'''
-For informasjoon füliet di aktuäle logbökönjdråch:",
-'semiprotectedpagewarning' => "'''PÅÅS AW: Jüheer sid wörd spärd. Bloot benjütere ma adminstrasjoonsruchte koone jü sid beårbe.'''
-For informasjoon füliet di aktuäle logbökönjdråch:",
-'cascadeprotectedwarning' => "'''Woorschauing:''' Jüheer sid wörd sü önj ferbading hülen, dåt jü bloot döör benjütere ma administraator-ruchte beårbed wårde koon. Jü as önj {{PLURAL:$1|jü füliend sid|da füliende side}} önjbünen, da döör jü kaskaadespäropsjoon önj ferbading hülen {{PLURAL:$1|wårt|wårde}}:",
-'titleprotectedwarning' => "'''PÅÅS AW: \"Dåt måågen foon side wörd spärd. Bloot benjütere ma [[Special:ListGroupRights|spetsjäle ruchte]] koone da side mååge.'''
-For informasjoon füliet jü leest logbök-önjdråch:",
+'protectedpagewarning' => "'''Paase üüb: Detdiar sidj as speret wurden. Bluas administratooren kön det bewerke.'''
+Uun't logbuk stäänt muar diartu:",
+'semiprotectedpagewarning' => "'''Paase üüb: Detdiar sidj as dialwiis tu't bewerkin speret wurden. Bluas gudkäänd brükern kön det bewerke.'''
+Uun't logbuk stäänt muar diartu:",
+'cascadeprotectedwarning' => "'''Paase üüb:''' Detdiar sidj koon bluas faan administratooren bewerket wurd. Hat as uun {{PLURAL:$1|detdiar ööder sidj|jodiar ööder sidjen}} iinbünjen, diar troch en kaskaaden-optsjuun seekert {{PLURAL:$1|as|san}}:",
+'titleprotectedwarning' => "'''Paase üüb: \"Detdiar sidj mä didiar nööm koon ei faan arken bewerket wurd. Bluas enkelt brükern mä [[Special:ListGroupRights|was brükerrochten]] kön detdiar sidj nei maage of bewerke.'''
+Uun't logbuk stäänt muar diartu:",
'templatesused' => '{{PLURAL:$1|Jü füliend forlååg wårt|Da füliende forlååge wårde}} foon jüdeer sid ferwånd:',
'templatesusedpreview' => '{{PLURAL:$1|Jü füliend forlååg wårt|Da füliende forlååge wårde}} foon diheere sideforlök ferwånd:',
'templatesusedsection' => '{{PLURAL:$1|Jü füliend forlååg wårt|Da füliende forlååge wårde}} foon dideer oufsnaas ferwånd:',
-'template-protected' => '(önj ferbading hülen iinj schriwen)',
-'template-semiprotected' => '(schriwschütsed for ünönjmäldede än naie brükere)',
+'template-protected' => '(seekert)',
+'template-semiprotected' => '(hualew-seekert)',
'hiddencategories' => 'Jüdeer sid as lasmoot foon {{PLURAL:$1|1 ferstäägen kategorii|$1 ferstäägene kategoriie}}:',
-'nocreatetitle' => 'Dåt måågeb foon naie side as begränsed.',
+'nocreatetitle' => 'Det maagin faan nei sidjen as ei saner aanj mögelk.',
'nocreatetext' => 'Aw {{SITENAME}} wörd dåt måågen foon naie side begränsed.
Dü koost bestönjene side änre unti de [[Special:UserLogin|önjmälde unti mååg en account]].',
'nocreate-loggedin' => 'Dü heest niinj beruchtiging, naie side tu måågen.',
'permissionserrorstext-withaction' => 'Dü bast ai beruchtit, $2.
{{PLURAL:$1|grün|grüne}}:',
'recreate-moveddeleted-warn' => "'''Paase üüb: Dü wel en artiikel maage, diar iar al ans stregen wurden as.'''
-
-Auerlei di det gud, amdat dü niks ferkiard maagest. At logbuk faan diheer artiikel stäänt diar:",
+Auerlei di det gud, amdat dü niks ferkiard maagest.
+Uun't logbuk stäänt muar diartu:",
'moveddeleted-notice' => 'Jüheer sid wörd sleeked. Deer füliet en üttooch üt dåt sleek- än ferschüwingslogbök for jüheer sid.',
'log-fulllog' => 'Åle logbük-önjdrååge önjkiike',
'edit-hook-aborted' => 'Jü beårbing wörd suner ferklååring döör en snaasstää oufbräägen.',
'parser-template-loop-warning' => 'Forlåågesloif önjtdäkt: [[$1]]',
'parser-template-recursion-depth-warning' => 'Forloagerekursjoonsdiipgränse ouerschran ($1)',
'language-converter-depth-warning' => 'Spräkekonwärsjoonsdiipdegränse ouerschren ($1)',
+'node-count-exceeded-category' => 'Jodiar sidjen haa tuföl ferbinjangen (nodes)',
+'node-count-exceeded-warning' => 'Detdiar sidj hää tuföl ferbinjangen (nodes)',
+'expansion-depth-exceeded-category' => 'Jodiar sidjen haa tuföl ütjwidjangen (expansion)',
+'expansion-depth-exceeded-warning' => 'Detdiar sidj hää tuföl ütjwidjangen (expansion)',
'parser-unstrip-loop-warning' => 'Diar as en jinsidjag ferwisang',
'parser-unstrip-recursion-limit' => 'Tuföl jinsidjag ferwisangen bi $1',
'recentchangescount' => 'Soföl feranerangen skel uunwiset wurd:',
'prefs-help-recentchangescount' => 'Det san a leetst feranerangen, wersjuunen an logbuken.',
'prefs-help-watchlist-token' => "Wan dü detdiar fial mä en hiamelken code ütjfalst, woort en RSS-feed iinracht. Arken mä didiar code koon do sä, wat dü uun't uug behual wel. Diaram skul hi ei so ianfach wees, nem dach didiar: $1",
-'savedprefs' => 'Di iinstelangen san seekerd wurden.',
+'savedprefs' => 'Din iinstelangen san seekert wurden.',
'timezonelegend' => 'Tidjsoon:',
'localtime' => 'lokaal tid',
'timezoneuseserverdefault' => 'Wiki standard tidj brük ($1)',
'username' => 'Brükernoome:',
'uid' => 'Brüker ID:',
'prefs-memberingroups' => 'Lasmoot faan {{PLURAL:$1|brükerskööl|brükersköölen}}:',
-'prefs-registration' => 'Uunmeldetidj',
+'prefs-registration' => 'Uunmelde-tidj',
'yourrealname' => 'Rocht nööm:',
'yourlanguage' => 'Spräke:',
'yourvariant' => 'Spriak:',
# User rights
'userrights' => 'Brükerrochten bewerke',
'userrights-lookup-user' => 'Brükersköölen bewerke',
-'userrights-user-editname' => 'Brükernoome:',
+'userrights-user-editname' => 'Brükernööm:',
'editusergroup' => 'Brükersköölen bewerke',
'editinguser' => "Brükerrochten faan '''[[User:$1|$1]]''' $2 feranere",
'userrights-editusergroup' => 'Lasmootskap tu brükersköölen bewerke',
'grouppage-suppress' => '{{ns:project}}:Oversighter',
# Rights
+'right-read' => 'Sidjen lees',
+'right-edit' => 'Sidjen bewerke',
+'right-createpage' => 'Sidjen maage (saner diskusjuunssidjen)',
+'right-createtalk' => 'Diskusjuunssidjen maage',
+'right-createaccount' => 'Brükerkonto iinracht',
+'right-move' => 'Sidjen fersküüw',
+'right-move-subpages' => 'Sidjen mä onersidjen fersküüw',
+'right-move-rootuserpages' => 'Hood-brükersidj fersküüw',
+'right-movefile' => 'Dateien fersküüw',
+'right-suppressredirect' => "Bi't fersküüwen nian widjerfeerang iinracht",
+'right-upload' => 'Dateien huuchsjüür',
+'right-reupload' => 'Dateien auerskriiw',
+'right-reupload-own' => 'En datei auerskriiw, diar dü salew huuchsjüürd heest',
+'right-reupload-shared' => 'En datei auerskriiw, diar uun en gemiansoom archiif leit',
+'right-upload_by_url' => 'Dateien faan en URL-adress huuchsjüür',
+'right-purge' => 'Sidjen-cache leesag maage saner efterfraagin',
+'right-autoconfirmed' => 'Hualew-seekert sidjen bewerke',
+'right-bot' => 'Automatisiaret bewerke',
+'right-nominornewtalk' => 'Letj feranerangen üüb diskusjuunssidjen wurd ei üs „nei noorachten“ uunwiset.',
+'right-apihighlimits' => 'Huuger taalen für API-uunfraagen brük',
+'right-writeapi' => 'Write-API brük',
+'right-delete' => 'Sidjen strik',
+'right-bigdelete' => 'Sidjen mä föl wersjuunen strik',
+'right-deleterevision' => 'Enkelt wersjuunen faan en sidj strik of turaghaale',
'right-sendemail' => 'E-mails tu oudere brükere schake',
# User rights log
'restriction-upload' => 'Huuchsjüür',
# Restriction levels
-'restriction-level-sysop' => 'seekerd (bluas för administratooren)',
-'restriction-level-autoconfirmed' => 'hualew seekerd (bluas för gudkäänd brükern)',
+'restriction-level-sysop' => 'seekert (bluas för administratooren)',
+'restriction-level-autoconfirmed' => 'hualew-seekert (bluas för gudkäänd brükern)',
'restriction-level-all' => 'aaltumaal',
# Undelete
<?php
-/** Simplified Gan script (赣语(简体))
+/** Simplified Gan script (赣语(简体))
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
<?php
-/** Traditional Gan script (贛語(繁體))
+/** Traditional Gan script (贛語(繁體))
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
'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',
Pode precisar máis a vista seleccionando o tipo de rexistro, o nome do usuario ou o título da páxina afectada.',
'logempty' => 'Non se atopou ningún elemento relacionado no rexistro.',
'log-title-wildcard' => 'Procurar os títulos que comecen con este texto',
+'showhideselectedlogentries' => 'Mostrar/agochar as entradas do rexistro seleccionadas',
# Special:AllPages
'allpages' => 'Todas as páxinas',
'filereadonlyerror' => 'D Datei „$1“ cha nit gänderet wäre, wel uf s Dateirepositorium „$2“ nume Läsezuegriff megli isch.
Dr Administrator, wu dr Schrybzuegriff gsperrt het, het dää Grund aagee: „$3“.',
+'invalidtitle-knownnamespace' => 'Nit-gültige Titel mit Namensruum „$2“ un Text „$3“',
+'invalidtitle-unknownnamespace' => 'Ungültige Titel mit unbekannte Namensruumnummer $1 un Text „$2“',
# Virus scanner
'virus-badscanner' => "Fählerhafti Konfiguration: Virescanner, wu nid bekannt isch: ''$1''",
'note' => "'''Obacht: '''",
'previewnote' => "'''Das isch numen e Vorschau und nonig gspycheret!'''
Die Syte isch nonig gspycheret wore!",
+'continue-editing' => 'Wyter bearbeite',
'previewconflict' => 'Die Vorschau zeigt dr Inhalt vum obere Täxtfäld. Eso siht dr Artikel us, wän Du jetz uf Spychere drucksch.',
'session_fail_preview' => "'''Dyyni Bearbeitig het nid chenne gspycheret wäre, wel Sitzigsdate verlore gange sin.
Bitte versuech s nomol. Derzue drucksch unter däre Täxtvorschau nomol uf „Syte spychere“.
'parser-template-loop-warning' => 'Vorlagelätsch entdeckt: [[$1]]',
'parser-template-recursion-depth-warning' => 'Vorlagerekursionstiefegränz iberschritte ($1)',
'language-converter-depth-warning' => 'Gränz vu dr Sprochkonvertertiefi iberschritte ($1)',
+'node-count-exceeded-category' => 'Syte, wo d Chnotezaal überschritte hen',
+'node-count-exceeded-warning' => 'Die Syte het d Chnotepunktzaal überschritte.',
+'expansion-depth-exceeded-category' => 'Syte, wo d Expansionsdiefi überschritte hen',
+'expansion-depth-exceeded-warning' => 'Die Syte het d Expansionsdiefi überschritte.',
+'parser-unstrip-loop-warning' => 'Zirkelbezug festgstellt',
+'parser-unstrip-recursion-limit' => 'Rekursionsgränz bim Ufflöse überschritte ($1)',
# "Undo" feature
'undo-success' => 'Zum die Änderig ruckgängig z mache, kontrollier bitte d Bearbeitig in dr Verglichsaasicht un druck derno uf „Syte spichere“.',
'mergelogpagetext' => 'Des isch e Lischt vu dr letschte Zämefierige vu Versionsgschichte.',
# Diffs
-'history-title' => 'Versionsgschicht vo „$1“',
+'history-title' => '$1: Versionsgschicht',
+'difference-title' => '$1: Unterschid zwüsche de Versione',
+'difference-title-multipage' => '$1 un $2: Unterschid zwüsche de Syte',
'difference-multipage' => '(Unterschid zwische Syte)',
'lineno' => 'Zyle $1:',
'compareselectedversions' => 'Usgwählti Versione verglyche',
'prefs-beta' => 'Betafunktione',
'prefs-datetime' => 'Datum un Zyt',
'prefs-labs' => 'Alphafunktione',
+'prefs-user-pages' => 'Benutzersyte',
'prefs-personal' => 'Benutzerdate',
'prefs-rc' => 'Letschti Änderige',
'prefs-watchlist' => 'Beobachtigslischte',
'backend-fail-writetemp' => 'Di temporär Datei het nit chenne gschribe wäre.',
'backend-fail-closetemp' => 'Di temporär Datei het nit chenne zuegmacht wäre.',
'backend-fail-read' => 'D Datei $1 het nit chenne gläse wäre.',
-'backend-fail-create' => 'D Datei $1 het nit chenne aagleit wäre.',
-'backend-fail-maxsize' => 'D Datei $1 het nit chenne aalgeit wäre, wel si greßer isch wie {{PLURAL:$2|ei Byte|$2 Byte}}.',
+'backend-fail-create' => 'D Datei $1 het nit chenne gspyycheret wäre.',
+'backend-fail-maxsize' => 'D Datei $1 het nit chenne gspycheret wäre, wel si greßer isch wie {{PLURAL:$2|ei Byte|$2 Byte}}.',
'backend-fail-readonly' => 'S Spycher-Backend „$1“ isch zurzyt im Läsemodus. Dr Grund, wu aagee isch, isch: „$2“',
'backend-fail-synced' => 'D Datei „$1“ isch im intärne Spycher-Backend in eme inkonsischtänte Zuestand.',
'backend-fail-connect' => 'S het kei Verbindig chenne härgstellt wäre zum Spycher-Backend „$1“.',
'backend-fail-internal' => 'Im Spycher-Backend „$1“ isch e nit bekannte Fähler ufträtte.',
'backend-fail-contenttype' => 'Dr Inhaltstyp vu dr Datei, wu im Pfad „$1“ gspycheret soll wäre, het nit chenne bstimmt wäre.',
'backend-fail-batchsize' => 'E Bygiverarbeitigsdatei, wu s {{PLURAL:$1|ei Operation|$1 Operatione}} din het, isch an s Spycher-Backend gschickt wore. D Gränz lyt aber bi {{PLURAL:$2|eire Operation|$2 Operatione}}.',
+'backend-fail-usable' => 'D Datei $1 het nit chönne gspyycheret werde, entweder wyl kei Verzeichniss vorhande isch oder wyl kei Berächtigung hesch.',
# File journal errors
'filejournal-fail-dbconnect' => 'S het kei Verbindig chenne härgstellt würe zue dr Journaldatebank vum Spycher-Backend „$1“.',
'thursday' => 'חמישי',
'friday' => 'שישי',
'saturday' => 'שבת',
-'sun' => "ר×\90ש'",
-'mon' => 'שני',
-'tue' => "ש×\9c×\99'",
-'wed' => "ר×\91×\99'",
-'thu' => "×\97×\9e×\99'",
-'fri' => "ש×\99ש'",
-'sat' => 'שבת',
+'sun' => "×\90'",
+'mon' => "ב'",
+'tue' => "×\92'",
+'wed' => "×\93'",
+'thu' => "×\94'",
+'fri' => "×\95'",
+'sat' => "ש'",
'january' => 'ינואר',
'february' => 'פברואר',
'march' => 'מרץ',
'notloggedin' => 'לא בחשבון',
'nologin' => 'אין לכם חשבון? $1.',
'nologinlink' => 'הרשמה',
-'createaccount' => '×\99צ×\99רת ×\9eשת×\9eש חדש',
+'createaccount' => '×\99צ×\99רת ×\97ש×\91×\95×\9f חדש',
'gotaccount' => 'כבר נרשמתם? $1.',
'gotaccountlink' => 'כניסה לחשבון',
'userlogin-resetlink' => 'שכחת את פרטי הכניסה?',
# Bad image list
'bad_image_list' => 'דרך הכתיבה בהודעה היא כמתואר להלן:
-רק פריטי רשימה (שורות המתחילות עם *) נחשבים. הקישור הראשון בשורה חייב להיות קישור לקובץ שאין להציג.
+רק פריטי רשימה (שורות המתחילות עם *) נחשבים.
+הקישור הראשון בשורה חייב להיות קישור לקובץ בעייתי.
כל הקישורים הבאים באותה השורה נחשבים לחריגים, כלומר לדפים שבהם ניתן להציג את הקובץ.',
# Metadata
'version-poweredby-others' => 'אחרים',
'version-license-info' => "מדיה־ויקי היא תוכנה חופשית; באפשרותכם להפיץ אותה מחדש ו/או לשנות אותה לפי תנאי הרישיון הציבורי הכללי של גנו המפורסם על ידי המוסד לתוכנה חופשית: גרסה 2 של רישיון זה, או (לפי בחירתכם) כל גרסה מאוחרת יותר.
-×\9e×\93×\99×\94Ö¾×\95×\99ק×\99 ×\9e×\95פצת ×\91תק×\95×\95×\94 ש×\94×\99×\90 ת×\94×\99×\94 ש×\99×\9e×\95ש×\99ת, ×\90×\9a '''×\9c×\9c×\90 ×\9b×\9c ×\94×\91×\98×\97×\94 ×\9c×\90×\97ר×\99×\95ת'''; ×\90פ×\99×\9c×\95 ×\9c×\90 ×\90×\97ר×\99×\95ת ×\9eשת×\9eעת ש×\9c '''×\99×\9b×\95×\9cת ×\9c×\94×\99ס×\97ר''' ×\90×\95 '''×\94ת×\90×\9e×\94 ×\9cר×\99ש×\99×\95×\9f ×\9eס×\95×\99×\9d'''. ראו את הרישיון הציבורי הכללי של גנו לפרטים נוספים.
+×\9e×\93×\99×\94Ö¾×\95×\99ק×\99 ×\9e×\95פצת ×\91תק×\95×\95×\94 ש×\94×\99×\90 ת×\94×\99×\94 ש×\99×\9e×\95ש×\99ת, ×\90×\9a '''×\9c×\9c×\90 ×\9b×\9c ×\94×\91×\98×\97×\94 ×\9c×\90×\97ר×\99×\95ת'''; ×\90פ×\99×\9c×\95 ×\9c×\90 ×\90×\97ר×\99×\95ת ×\9eשת×\9eעת ש×\9c '''×\99×\9b×\95×\9cת ×\9c×\94×\99ס×\97ר''' ×\90×\95 '''×\94ת×\90×\9e×\94 ×\9c×\9e×\98ר×\94 ×\9eס×\95×\99×\9eת'''. ראו את הרישיון הציבורי הכללי של גנו לפרטים נוספים.
-×\94×\99×\99ת×\9d צר×\99×\9b×\99×\9d ×\9cק×\91×\9c [{{SERVER}}{{SCRIPTPATH}}/COPYING ×\94עתק ש×\9c ×\94ר×\99ש×\99×\95×\9f ×\94צ×\99×\91×\95ר×\99 ×\94×\9b×\9c×\9c×\99 ש×\9c ×\92× ×\95] ×\99×\97×\93 ×¢×\9d ת×\95×\9b× ×\94 ×\96×\95; ×\90×\9d ×\9c×\90, ×\9bת×\91×\95 ×\9c×\9e×\95ס×\93 ×\9cת×\95×\9b× ×\94 ×\97×\95פש×\99ת: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA ×\90×\95 [//www.gnu.org/licenses/old-licenses/gpl-2.0.html קראו אותו ברשת].",
+×\94×\99×\99ת×\9d ×\90×\9e×\95ר×\99×\9d ×\9cק×\91×\9c [{{SERVER}}{{SCRIPTPATH}}/COPYING ×\94עתק ש×\9c ×\94ר×\99ש×\99×\95×\9f ×\94צ×\99×\91×\95ר×\99 ×\94×\9b×\9c×\9c×\99 ש×\9c ×\92× ×\95] ×\99×\97×\93 ×¢×\9d ת×\95×\9b× ×\94 ×\96×\95; ×\90×\9d ×\9c×\90, ×\9bִת×\91×\95 ×\9c×\9e×\95ס×\93 ×\9cת×\95×\9b× ×\94 ×\97×\95פש×\99ת: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA ×\90×\95 [//www.gnu.org/licenses/old-licenses/gpl-2.0.html קִראו אותו ברשת].",
'version-software' => 'תוכנות מותקנות',
'version-software-product' => 'תוכנה',
'version-software-version' => 'גרסה',
<?php
-/** Hungarian (Magyar)
+/** Hungarian (magyar)
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
# Diffs
'history-title' => 'A(z) „$1” laptörténete',
'difference-title' => '„$1” változatai közötti eltérés',
+'difference-title-multipage' => 'Oldalak közötti különbség " $1 "és" $2 "',
'difference-multipage' => '(Lapok közti eltérés)',
'lineno' => '$1. sor:',
'compareselectedversions' => 'Kiválasztott változatok összehasonlítása',
# SpecialCachedPage
'cachedspecial-viewing-cached-ttl' => 'A lap tárolt változatát látod, aminek utolsó frissítése ennyi ideje volt: $1',
'cachedspecial-viewing-cached-ts' => 'Az oldal tárolt változatát látod, ami eltérhet az aktuálistól.',
-'cachedspecial-refresh-now' => 'A legfrissebb változat mutatása.',
+'cachedspecial-refresh-now' => 'A legfrissebb változat megjelenítése.',
# Special:Categories
'categories' => 'Kategóriák',
# Durations
'duration-seconds' => '{{PLURAL: $1|másodperc|másodperc}}',
-'duration-minutes' => '{{PLURAL: $1|perc|perc}}',
+'duration-minutes' => '$1 {{PLURAL: $1|perc|perc}}',
'duration-hours' => '{{PLURAL:$1|egy|$1}} óra',
'duration-days' => '{{PLURAL:$1|egy|$1}} nap',
-'duration-weeks' => '{{PLURAL: $1|hét|hét}}',
-'duration-years' => '{{PLURAL: $1|év|év}}',
+'duration-weeks' => '$1 {{PLURAL:$1|hét|hét}}',
+'duration-years' => '{{PLURAL: $1|Egy év|$1 év}}',
'duration-decades' => '{{PLURAL:$1|egy|$1}} évtized',
'duration-centuries' => '{{PLURAL:$1|egy|$1}} évszázad',
'duration-millennia' => '{{PLURAL:$1|egy|$1}} évezred',
<?php
-/** Interlingua (Interlingua)
+/** Interlingua (interlingua)
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
'mypreferences' => 'Mi preferentias',
'prefs-edits' => 'Numero de modificationes:',
'prefsnologin' => 'Tu non ha aperite un session',
-'prefsnologintext' => 'Tu debe <span class="plainlinks">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} aperir un session]</span> pro poter configurar tu preferentias.',
+'prefsnologintext' => 'Tu debe <span class="plainlinks">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} aperir session]</span> pro configurar preferentias de usator.',
'changepassword' => 'Cambiar contrasigno',
'prefs-skin' => 'Apparentia',
'skin-preview' => 'Previsualisation',
'prefs-beta' => 'Functiones beta',
'prefs-datetime' => 'Data e hora',
'prefs-labs' => 'Functiones experimental',
+'prefs-user-pages' => 'Paginas de usator',
'prefs-personal' => 'Profilo del usator',
'prefs-rc' => 'Modificationes recente',
'prefs-watchlist' => 'Observatorio',
# Special:Log
'specialloguserlabel' => 'Pengguna:',
-'speciallogtitlelabel' => 'Taget (judul atau pengguna):',
+'speciallogtitlelabel' => 'Target (judul atau pengguna):',
'log' => 'Log',
'all-logs-page' => 'Semua log publik',
'alllogstext' => 'Gabungan tampilan semua log yang tersedia di {{SITENAME}}.
'filehist-filesize' => 'Ívù usòrò',
'filehist-comment' => 'Okwu-nokwu',
'filehist-missing' => 'Usòrò è fwuólé',
-'imagelinks' => 'Jikodo usòrò',
+'imagelinks' => 'Mgbanwe usòrò',
'linkstoimage' => '{{PLURAL:$1|Ihü nká|Ihü nke $1}} na jikodo gá usòrò nká:',
'nolinkstoimage' => 'Àdíghị ihü na jikodo usòrò nke.',
'sharedupload' => 'Ákwúkwó runotu nke shì $1 na ó nwèríkí di na orürü nke ndi ozor.',
Ȯ bụ nà usòrò à gabnwere shí òtù ȯ di nà mgbe mbu, ótù ụmà àgághị è zí ya.',
'metadata-expand' => 'Zi nkówá di ógólógó',
'metadata-collapse' => 'Zonari nkówá di ógólógó',
-'metadata-fields' => 'Ómárí nso nke nkeji nke EXIF détùrù na ozi nká gí banyé na nlé ihü nhuunuche mgbè ómárí nso mgbe àgàdà gi dátù.
+'metadata-fields' => 'Ómárí nso nke nkeji nke nhuunuche détùrù na ozi nká gí banyé na nlé ihü nhuunuche mgbè ómárí nso mgbe àgàdà gi dátù.
Nke ozor gí zonari na áká onwe ha.
* make
* model
<?php
-/** Italian (Italiano)
+/** Italian (italiano)
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
'gender-male' => 'Maschile',
'gender-female' => 'Femminile',
'prefs-help-gender' => "Opzionale: consente di adattare i messaggi del software in funzione del genere dell'utente. Questa informazione sarà pubblica.",
-'email' => 'Indirizzo e-mail',
+'email' => 'Indirizzo email',
'prefs-help-realname' => "L'indicazione del proprio nome vero è opzionale; se si sceglie di inserirlo, verrà utilizzato per attribuire la paternità dei contenuti inviati.",
'prefs-help-email' => "L'inserimento del proprio indirizzo e-mail è facoltativo, ma permette di ricevere la propria password qualora venisse dimenticata.",
'prefs-help-email-others' => 'Puoi anche scegliere di lasciare che gli altri ti contattino via posta elettronica con un collegamento dalla tua pagina utente o di discussione.
È possibile restringere i criteri di ricerca selezionando il tipo di registro, l'utente che ha eseguito l'azione, e/o la pagina interessata (entrambi i campi sono sensibili al maiuscolo/minuscolo).",
'logempty' => 'Il registro non contiene elementi corrispondenti alla ricerca.',
'log-title-wildcard' => 'Ricerca dei titoli che iniziano con',
+'showhideselectedlogentries' => 'Mostra/nascondi le voci di registro selezionate',
# Special:AllPages
'allpages' => 'Tutte le pagine',
'toolbox' => 'ツールボックス',
'userpage' => '利用者ページを表示',
'projectpage' => 'プロジェクトのページを表示',
-'imagepage' => 'ファイルページを表示',
+'imagepage' => 'ã\83\95ã\82¡ã\82¤ã\83«ã\81®ã\83\9aã\83¼ã\82¸ã\82\92表示',
'mediawikipage' => 'メッセージのページを表示',
'templatepage' => 'テンプレートのページを表示',
'viewhelppage' => 'ヘルプのページを表示',
'ok' => 'OK',
'retrievedfrom' => '「$1」から取得',
-'youhavenewmessages' => '$1が届いています($2)。',
+'youhavenewmessages' => '$1が届いています($2)。',
'newmessageslink' => '新しいメッセージ',
'newmessagesdifflink' => '最終更新の差分',
'youhavenewmessagesmulti' => '$1に新着メッセージがあります',
この申請をしたのが他人の場合、あるいはパスワードを思い出してパスワード変更が不要になった場合は、
このメッセージを無視して、引き続き以前のパスワードを使用し続けることができます。',
'noemail' => '利用者「$1」のメールアドレスは登録されていません。',
-'noemailcreate' => '有効なメール アドレスを入力する必要があります',
+'noemailcreate' => '有効なメールアドレスを入力する必要があります',
'passwordsent' => '新しいパスワードを「$1」に登録されたメールアドレスに送信しました。
メールを受け取ったら、再度ログインしてください。',
'blocked-mailpassword' => '使用しているIPアドレスからの編集はブロックされており、不正利用防止のため、パスワードの再発行機能は使用できません。',
'accountcreated' => 'アカウントを作成しました',
'accountcreatedtext' => '利用者アカウント「$1」を作成しました。',
'createaccount-title' => '{{SITENAME}}のアカウント作成',
-'createaccount-text' => '誰か(おそらくあなた)が、{{SITENAME}} ($4) にあなたのメール アドレスのアカウントを作成しました。
+'createaccount-text' => '誰か(おそらくあなた)が、{{SITENAME}} ($4) にあなたのメールアドレスのアカウントを作成しました。
アカウント名「$2」、パスワード「$3」です。
今すぐログインしてパスワードを変更してください。
このアカウントが何かの手違いで作成された場合は、このメッセージを無視してください。',
-'usernamehasherror' => 'å\88©ç\94¨è\80\85å\90\8dã\81«ã\81¯ç\95ªå\8f·è¨\98å\8f·ã\82\92å\90«ã\82\80ことができません',
+'usernamehasherror' => 'å\88©ç\94¨è\80\85å\90\8dã\81«ã\81¯ç\95ªå\8f·è¨\98å\8f·ã\82\92å\90«ã\82\81ã\82\8bことができません',
'login-throttled' => 'ログインの失敗が制限回数を超えました。
しばらく時間をおいてから再度お試しください。',
'login-abort-generic' => 'ログインに失敗しました - 中止',
# E-mail sending
'php-mail-error-unknown' => 'PHPのmail()関数で不明なエラー',
-'user-mail-no-addy' => 'メール アドレスなしでメールを送信しようとしました。',
+'user-mail-no-addy' => 'メールアドレスなしでメールを送信しようとしました。',
# Change password dialog
'resetpass' => 'パスワードの変更',
'passwordreset-username' => '利用者名:',
'passwordreset-domain' => 'ドメイン:',
'passwordreset-capture' => '送信されるメールの内容を表示しますか?',
-'passwordreset-capture-help' => 'このボックスにチェックを入れると、利用者に送信されるメールの内容(一時的なパスワードを含む)をあなたも見ることができます。',
+'passwordreset-capture-help' => 'このボックスにチェックを入れると、利用者に送信されるメールの内容(一時的なパスワードを含む)をあなたも閲覧できます。',
'passwordreset-email' => 'メールアドレス:',
'passwordreset-emailtitle' => '{{SITENAME}}上のアカウントの詳細',
'passwordreset-emailtext-ip' => 'どなたか(おそらくあなた、IP アドレス $1)が {{SITENAME}} ($4) での
# Special:ChangeEmail
'changeemail' => 'メールアドレスの変更',
'changeemail-header' => 'アカウントのメールアドレスを変更',
-'changeemail-text' => 'このフォームではメール アドレスを変更できます。この変更を確認するためにパスワードを入力する必要があります。',
+'changeemail-text' => 'このフォームではメールアドレスを変更できます。この変更を確認するためにパスワードを入力する必要があります。',
'changeemail-no-info' => 'このページに直接アクセスするためにはログインしている必要があります。',
'changeemail-oldemail' => '現在のメールアドレス:',
'changeemail-newemail' => '新しいメールアドレス:',
'link_sample' => 'リンクの名前',
'link_tip' => '内部リンク',
'extlink_sample' => 'http://www.example.com リンクの名前',
-'extlink_tip' => '外部リンク (http:// を忘れずにつけてください)',
+'extlink_tip' => '外部リンク(http:// を忘れずに付けてください)',
'headline_sample' => '見出し文',
'headline_tip' => '2段目の見出し',
'nowiki_sample' => 'ここにマークアップを無効にするテキストを入力します',
他のページ内で[[Special:Search/{{PAGENAME}}|このページ名を検索]]するか、
<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 関連する記録を検索]するか、
[{{fullurl:{{FULLPAGENAME}}|action=edit}} このページを編集]</span>することができます。',
-'noarticletext-nopermission' => '現在このページには内容がありません。他のページに含まれる[[Special:Search/{{PAGENAME}}|このページ名を検索する]]か、もしくは<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 関連記録を検索する]</span>ことができます。',
+'noarticletext-nopermission' => '現在このページには内容がありません。他のページに含まれる[[Special:Search/{{PAGENAME}}|このページ名を検索]]するか、もしくは<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 関連記録を検索]</span>することができます。',
'userpage-userdoesnotexist' => '「$1」という利用者アカウントは登録されていません。
このページの作成/編集が適切かどうか確認してください。',
'userpage-userdoesnotexist-view' => '利用者アカウント「$1」は登録されていません。',
[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} 削除記録]に詳細情報があるかもしれません。",
'rev-deleted-text-unhide' => "この版は'''削除されています'''。
[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} 削除記録]に詳細情報があるかもしれません。
-このまま[$1 この版を見る]ことができます。",
+このまま[$1 この版を閲覧]できます。",
'rev-suppressed-text-unhide' => "この版は'''秘匿されています'''。
[{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} 秘匿記録]に詳細情報があるかもしれません。
-このまま[$1 この版を見る]ことができます。",
+このまま[$1 この版を閲覧]できます。",
'rev-deleted-text-view' => "この版は'''削除されています'''。
-内容を見ることができます。[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} 削除記録]に詳細情報があるかもしれません。",
+内容を閲覧できます。[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} 削除記録]に詳細情報があるかもしれません。",
'rev-suppressed-text-view' => "この版は'''秘匿されています'''。
-内容を見ることができます。[{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} 秘匿記録]に詳細情報があるかもしれません。",
+内容を閲覧できます。[{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} 秘匿記録]に詳細情報があるかもしれません。",
'rev-deleted-no-diff' => "どちらかの版が'''削除されているため'''、差分表示できません。
[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} 削除記録]に詳細情報があるかもしれません。",
-'rev-suppressed-no-diff' => "æ\8c\87å®\9aã\81\95ã\82\8cã\81\9få·®å\88\86ã\81¯'''å\89\8aé\99¤ã\81\95ã\82\8cã\81\9f'''ç\89\88ã\82\92å\90«ã\82\93ã\81§ã\81\84ã\82\8bã\81\9fã\82\81ã\80\81é\96²è¦§ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\81¾ã\81\9bã\82\93ã\80\82",
+'rev-suppressed-no-diff' => "指定された差分は'''削除された'''版を含んでいるため、閲覧できません。",
'rev-deleted-unhide-diff' => "この差分の一方の版は'''削除されています'''。
[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} 削除記録]に詳細情報があるかもしれません。
-このまま[$1 この差分を見る]ことができます。",
+このまま[$1 この差分を閲覧]できます。",
'rev-suppressed-unhide-diff' => "この差分の一方の版は'''秘匿されています'''。
[{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} 秘匿記録]に詳細情報があるかもしれません。
-このまま[$1 この差分を見る]ことができます。",
+このまま[$1 この差分を閲覧]できます。",
'rev-deleted-diff-view' => "この差分の一方の版は'''削除されています'''。
-この差分を見ることができます。[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} 削除記録]に詳細情報があるかもしれません。",
+この差分を閲覧できます。[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} 削除記録]に詳細情報があるかもしれません。",
'rev-suppressed-diff-view' => "この差分の一方の版は'''秘匿されています'''。
-この差分を見ることができます。[{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} 秘匿記録]に詳細情報があるかもしれません。",
+この差分を閲覧できます。[{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} 秘匿記録]に詳細情報があるかもしれません。",
'rev-delundel' => '表示/非表示',
'rev-showdeleted' => '表示',
'revisiondelete' => '版の削除と復帰',
'revdelete-modify-missing' => 'ID$1の項目の変更に失敗しました:データベースに見当たりません!',
'revdelete-no-change' => "'''警告:''' $1$2の項目には要求された閲覧レベルが既に設定されています。",
'revdelete-concurrent-change' => '$1$2の項目の変更に失敗しました:あなたが変更しようとしている間に、他の利用者が変更したようです。',
-'revdelete-only-restricted' => '$1$2ã\81®é \85ç\9b®ã\81®ç\89\88æ\8c\87å®\9aå\89\8aé\99¤ã\81«å¤±æ\95\97ã\81\97ã\81¾ã\81\97ã\81\9fï¼\9aä»\96ã\81®é\96²è¦§ã\83¬ã\83\99ã\83«ã\81®é\81¸æ\8a\9eè\82¢ã\81®ã\81\86ã\81¡ã\81©ã\82\8cã\81\8bã\82\92ã\81\95ã\82\89ã\81«é\81¸æ\8a\9eã\81\97ã\81ªã\81\91ã\82\8cã\81°ã\80\81管ç\90\86è\80\85ã\81\8bã\82\89é \85ç\9b®ã\82\92ç§\98å\8c¿ã\81\99ã\82\8bã\81\93ã\81¨ã\81¯ã\81§ã\81\8dã\81¾ã\81\9bã\82\93ã\80\82',
+'revdelete-only-restricted' => '$1$2の項目の版指定削除に失敗しました:他の閲覧レベルの選択肢のうちどれかをさらに選択しなければ、管理者から項目を秘匿できません。',
'revdelete-reason-dropdown' => '*よくある削除理由
** 著作権侵害
** 名誉毀損のおそれ
# History merging
'mergehistory' => 'ページ履歴の統合',
-'mergehistory-header' => 'ã\81\93ã\81®ã\83\9aã\83¼ã\82¸ã\81§ã\81¯ã\80\81ã\81\82ã\82\8bå\85\83ã\83\9aã\83¼ã\82¸ã\81®å±¥æ´ã\82\92æ\96°ã\81\97ã\81\84ã\83\9aã\83¼ã\82¸ã\81«çµ±å\90\88ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\81¾ã\81\99ã\80\82
+'mergehistory-header' => 'このページでは、ある元ページの履歴を新しいページに統合できます。
この変更を行ってもページの履歴の連続性が確実に保たれるようにしてください。',
'mergehistory-box' => '2ページの過去の版を統合する:',
'mergehistory-from' => '統合元となるページ:',
'mergehistory-invalid-destination' => '統合先のページは有効な名前でなければなりません。',
'mergehistory-autocomment' => '[[:$1]]を[[:$2]]に統合',
'mergehistory-comment' => '[[:$1]]を[[:$2]]に統合:$3',
-'mergehistory-same-destination' => '統合元と統合先に同じページを設定することはできません。',
+'mergehistory-same-destination' => '統合元と統合先に同じページを設定することはできません',
'mergehistory-reason' => '理由:',
# Merge log
'prefs-beta' => 'ベータ版機能',
'prefs-datetime' => '日付と時刻',
'prefs-labs' => 'ラボの機能',
+'prefs-user-pages' => '利用者ページ',
'prefs-personal' => '利用者情報',
'prefs-rc' => '最近の更新',
'prefs-watchlist' => 'ウォッチリスト',
'prefs-help-realname' => '本名は省略できます。
入力すると、あなたの著作物の帰属表記に本名を使用します。',
'prefs-help-email' => 'メールアドレスは省略できますが、パスワードを忘れた際にパスワードをリセットするのに必要です。',
-'prefs-help-email-others' => '利用者ページやトークページ上のリンクを通じて、他の利用者があなたにメールで連絡をとれるようにすることもできます。
-他の利用者が連絡をとろうとするとき、あなたのメールアドレスは開示されません。',
+'prefs-help-email-others' => '利用者ページやトークページ上のリンクを通じて、他の利用者があなたにメールで連絡を取れるようにすることもできます。
+他の利用者が連絡を取る際にあなたのメールアドレスが開示されることはありません。',
'prefs-help-email-required' => 'メールアドレスが必要です。',
'prefs-info' => '基本情報',
'prefs-i18n' => '国際化',
'prefs-diffs' => '差分',
# User preference: e-mail validation using jQuery
-'email-address-validity-valid' => 'メール アドレスは有効のようです',
+'email-address-validity-valid' => 'メールアドレスは有効のようです',
'email-address-validity-invalid' => '有効なメールアドレスを入力',
# User rights
'recentchanges' => '最近の更新',
'recentchanges-legend' => '最近の更新のオプション',
'recentchanges-summary' => 'このページで最近の更新を確認できます。',
-'recentchanges-feed-description' => 'ã\81\93ã\81®ã\83\95ã\82£ã\83¼ã\83\89ã\81§ã\81\9dã\81®ã\82¦ã\82£ã\82ã\81¸ã\81®æ\9c\80è¿\91ã\81®æ\9b´æ\96°ã\82\92追跡。',
+'recentchanges-feed-description' => 'ã\81\93ã\81®ã\83\95ã\82£ã\83¼ã\83\89ã\81§ã\81\93ã\81®ã\82¦ã\82£ã\82ã\81®æ\9c\80è¿\91ã\81®æ\9b´æ\96°ã\82\92追跡ã\81§ã\81\8dã\81¾ã\81\99。',
'recentchanges-label-newpage' => 'この編集で新しいページが作成されました',
'recentchanges-label-minor' => 'これは細部の編集です',
'recentchanges-label-bot' => 'この編集はボットによって行われました',
'backend-fail-notexists' => 'ファイル $1 は存在しません。',
'backend-fail-hashes' => 'ファイルの比較用のハッシュを取得できませんでした。',
'backend-fail-notsame' => 'ファイル名 $1 は既に他のファイルが使用しています。',
-'backend-fail-invalidpath' => '$1 ã\81¯ã\82¹ã\83\88ã\83¬ã\83¼ã\82¸ã\83\91ã\82¹ã\81«ä½¿ç\94¨ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\81¾ã\81\9bã\82\93ã\80\82',
+'backend-fail-invalidpath' => '$1 はストレージパスに使用できません。',
'backend-fail-delete' => 'ファイル $1 を削除できませんでした。',
'backend-fail-alreadyexists' => 'ファイル $1 は既に存在します。',
'backend-fail-store' => 'ファイル $1 を $2 に格納できませんでした。',
# Lock manager
'lockmanager-notlocked' => '「$1」をアンロックできませんでした。ロックはされていません。',
'lockmanager-fail-closelock' => '「$1」用のロックファイルを閉じることができませんでした。',
-'lockmanager-fail-deletelock' => 'ã\80\8c$1ã\80\8dç\94¨ã\81®ã\83ã\83\83ã\82¯ã\83\95ã\82¡ã\82¤ã\83«ã\82\92å\89\8aé\99¤ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\81¾ã\81\9bã\82\93ã\81§ã\81\97ã\81\9fã\80\82',
+'lockmanager-fail-deletelock' => '「$1」用のロックファイルを削除できませんでした。',
'lockmanager-fail-acquirelock' => '「$1」用のロックを取得できませんでした。',
'lockmanager-fail-openlock' => '「$1」用のロックファイルを開くことができませんでした。',
'lockmanager-fail-releaselock' => '「$1」用のロックを解放できませんでした。',
'zip-file-open-error' => 'ZIPのチェックを行った際にエラーが検出されました。',
'zip-wrong-format' => '指定されたファイルはZIPファイルではありませんでした。',
'zip-bad' => 'このファイルは破損しているか解読不能のZIPファイルです。
-ã\82»ã\82ã\83¥ã\83ªã\83\86ã\82£ã\81«ã\81¤ã\81\84ã\81¦é\81©å\88\87ã\81«æ¤\9cæ\9f»ã\81\99ã\82\8bã\81\93ã\81¨ができません。',
-'zip-unsupported' => 'ã\81\93ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81¯MediaWikiã\81§å\88©ç\94¨ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\81ªã\81\84ZIPå½¢å¼\8fを使用したZIPファイルです。
-ã\82»ã\82ã\83¥ã\83ªã\83\86ã\82£ã\81«ã\81¤ã\81\84ã\81¦é\81©å\88\87ã\81«æ¤\9cæ\9f»ã\81\99ã\82\8bã\81\93ã\81¨ができません。',
+ã\82»ã\82ã\83¥ã\83ªã\83\86ã\82£ã\81«ã\81¤ã\81\84ã\81¦é\81©å\88\87ã\81ªæ¤\9cæ\9f»ができません。',
+'zip-unsupported' => 'ã\81\93ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81¯MediaWikiã\81\8cæ\9cªå¯¾å¿\9cã\81®ZIPæ©\9fè\83½を使用したZIPファイルです。
+ã\82»ã\82ã\83¥ã\83ªã\83\86ã\82£ã\81«ã\81¤ã\81\84ã\81¦é\81©å\88\87ã\81ªæ¤\9cæ\9f»ができません。',
# Special:UploadStash
'uploadstash' => '未公開アップロード',
'uploadstash-summary' => 'このページでは、アップロードされた、もしくはアップロード中の、ウィキ上でまだ公開されていないファイルを表示します。これらのファイルは、アップロードした利用者以外閲覧できません。',
'uploadstash-clear' => '未公開ファイルを消去',
'uploadstash-nofiles' => '未公開ファイルはありません。',
-'uploadstash-badtoken' => 'å®\9fè¡\8cã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\81¾ã\81\9bã\82\93ã\81§ã\81\97ã\81\9fã\80\82ã\81\93ã\82\8cã\81¯ã\80\81ç·¨é\9b\86ã\81\99ã\82\8bã\81\9fã\82\81ã\81®èª\8d証ã\81\8cç\84¡å\8a¹ã\81«ã\81ªã\81£ã\81\9fã\81\9fã\82\81である可能性があります。再度お試しください。',
+'uploadstash-badtoken' => 'å®\9fè¡\8cã\81§ã\81\8dã\81¾ã\81\9bã\82\93ã\81§ã\81\97ã\81\9fã\80\82ç·¨é\9b\86ã\81\99ã\82\8bã\81\9fã\82\81ã\81®èª\8d証ã\81\8cç\84¡å\8a¹ã\81«ã\81ªã\81£ã\81\9fã\81\93ã\81¨ã\81\8cå\8e\9få\9b である可能性があります。再度お試しください。',
'uploadstash-errclear' => 'ファイルの消去に失敗しました。',
'uploadstash-refresh' => 'ファイルの一覧を更新',
'invalid-chunk-offset' => '不正なチャンクオフセット',
'sharedupload-desc-create' => 'このファイルは$1から来ており、他のプロジェクトで使用されている可能性があります。
$1での[$2 ファイル解説ページ]にある説明を編集したほうがいいかもしれません。',
'filepage-nofile' => 'この名前のファイルは存在しません。',
-'filepage-nofile-link' => 'ã\81\93ã\81®å\90\8då\89\8dã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81¯å\98å\9c¨ã\81\97ã\81¾ã\81\9bã\82\93ã\81\8cã\80\81[$1 ã\82¢ã\83\83ã\83\97ã\83ã\83¼ã\83\89]ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\81¾ã\81\99ã\80\82',
+'filepage-nofile-link' => 'この名前のファイルは存在しませんが、[$1 アップロード]できます。',
'uploadnewversion-linktext' => 'このファイルの新しい版をアップロードする',
'shared-repo-from' => '$1 より',
'shared-repo' => '共有リポジトリ',
'linksearch-pat' => '検索パターン:',
'linksearch-ns' => '名前空間:',
'linksearch-ok' => '検索',
-'linksearch-text' => '"*.wikipedia.org" のようにワイルドカードを使うことができます。
+'linksearch-text' => '"*.wikipedia.org" のようにワイルドカードを使用できます。
少なくとも、"*.org" のようなトップレベルドメインが必要です。<br />
対応プロトコル: <tt>$1</tt> (これらを検索に含めないでください)。',
'linksearch-line' => '$1 が $2 からリンクされています',
'emailuser' => 'この利用者にメールを送信',
'emailpage' => '利用者にメールを送信',
'emailpagetext' => '以下のフォームを使用してこの利用者にメールを送信できます。
-[[Special:Preferences|利用者の個人設定]]で入力したメール アドレスが「差出人」に設定され、受信者があなたに直接返信できるようになります。',
+「差出人」として、[[Special:Preferences|利用者の個人設定]]で入力したメールアドレスが設定されます。これにより、受信者があなたに直接返信できるようになります。',
'usermailererror' => 'メールが以下のエラーを返しました:',
'defemailsubject' => '{{SITENAME}} 利用者「$1」からのメール',
'usermaildisabled' => '利用者メール機能は無効になっています',
-'usermaildisabledtext' => 'このウィキ上で他の利用者へメールを送ることはできません。',
+'usermaildisabledtext' => 'このウィキでは他の利用者にメールを送信できません',
'noemailtitle' => 'メールアドレスがありません',
'noemailtext' => 'この利用者は有効なメールアドレスを登録していません。',
'nowikiemailtitle' => 'メールは許可されていません',
メール通知の設定は、次のページから変更してください。
{{canonicalurl:{{#special:Preferences}}}}
-ウォッチリストの設定は、次のページから変更して下さい。
+ウォッチリストの設定は、次のページから変更してください。
{{canonicalurl:{{#special:EditWatchlist}}}}
-このページは、次のページでウォッチリストから除去することが出来ます。
+このページは、次のページでウォッチリストから除去することができます。
$UNWATCHURL
ご意見、お問い合わせ:
'protect-title-notallowed' => '「$1」の保護レベルを表示',
'prot_1movedto2' => '[[$1]] を [[$2]] へ移動',
'protect-badnamespace-title' => '保護不可能な名前空間',
-'protect-badnamespace-text' => 'ã\81\93ã\81®å\90\8då\89\8d空é\96\93ã\81®ã\83\9aã\83¼ã\82¸ã\81¯ä¿\9dè·ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\81¾ã\81\9bã\82\93ã\80\82',
+'protect-badnamespace-text' => 'この名前空間のページは保護できません。',
'protect-legend' => '保護の確認',
'protectcomment' => '理由:',
'protectexpiry' => '有効期限:',
'protect_expiry_old' => '有効期限が過去の時刻です。',
'protect-unchain-permissions' => '追加保護オプションをロック解除',
'protect-text' => "ページ「'''$1'''」に対する保護レベルの表示と操作ができます。",
-'protect-locked-blocked' => "ブロック中は、保護レベルを変更できません。
+'protect-locked-blocked' => "ブロックされている間は、保護レベルを変更できません。
ページ「'''$1'''」の現在の状態は以下の通りです:",
'protect-locked-dblock' => "データベースのロックが有効なため、保護レベルを変更できません。
ページ「'''$1'''」の現在の状態は以下の通りです:",
'blockip' => '利用者をブロック',
'blockip-title' => '利用者のブロック',
'blockip-legend' => '利用者をブロック',
-'blockiptext' => '以ä¸\8bã\81®ã\83\95ã\82©ã\83¼ã\83 ã\82\92使ç\94¨ã\81\97ã\81¦ã\80\81æ\8c\87å®\9aã\81\97ã\81\9få\88©ç\94¨è\80\85ã\82\84IPã\82¢ã\83\89ã\83¬ã\82¹ã\81\8bã\82\89ã\81®æ\9b¸ã\81\8dè¾¼ã\81¿ã\82¢ã\82¯ã\82»ã\82¹ã\82\92ã\83\96ã\83ã\83\83ã\82¯ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\81¾ã\81\99ã\80\82
+'blockiptext' => '以下のフォームを使用して、指定した利用者やIPアドレスからの書き込みアクセスをブロックできます。
このような措置は、荒らしからの防御のためにのみ行われるべきで、また[[{{MediaWiki:Policy-url}}|方針]]に沿ったものであるべきです。
以下にブロックの理由を具体的に書いてください(例えば、荒らされたページへの言及など)。',
'ipadressorusername' => 'IPアドレスまたは利用者名:',
'ipbotherreason' => '他の、または追加の理由:',
'ipbhidename' => '利用者名を編集履歴や各種一覧から秘匿する',
'ipbwatchuser' => 'この利用者の利用者ページとトークページをウォッチする',
-'ipb-disableusertalk' => 'この利用者がブロック中に自分のトークページを編集するのを不許可',
+'ipb-disableusertalk' => 'この利用者がブロックされている間に自分のトークページを編集するのを不許可',
'ipb-change-block' => 'これらの設定で、利用者を再びブロック',
'ipb-confirm' => 'ブロックの確認',
'badipaddress' => '不正なIPアドレス',
'unblocked' => '[[User:$1|$1]]のブロックを解除しました',
'unblocked-range' => '$1のブロックは解除されています',
'unblocked-id' => 'ブロック$1は除去されました',
-'blocklist' => 'ブロック中の利用者',
-'ipblocklist' => 'ブロック中の利用者',
-'ipblocklist-legend' => 'ブロック中の利用者を検索',
+'blocklist' => 'ブロックされている利用者',
+'ipblocklist' => 'ブロックされている利用者',
+'ipblocklist-legend' => 'ブロックされている利用者を検索',
'blocklist-userblocks' => 'アカウントのブロックを非表示',
'blocklist-tempblocks' => '有期ブロックを非表示',
'blocklist-addressblocks' => '単一IPのブロックを非表示',
'sorbsreason' => '使用中のIPアドレスが、{{SITENAME}}の使用しているDNSBLに公開プロキシとして記載されています。',
'sorbs_create_account_reason' => '使用中のIPアドレスが、{{SITENAME}}の使用しているDNSBLに公開プロキシとして記載されています。
アカウントは作成できません',
-'cant-block-while-blocked' => 'ブロック中は、他の利用者をブロックできません。',
+'cant-block-while-blocked' => 'ブロックされている間は、他の利用者をブロックできません。',
'cant-see-hidden-user' => '投稿ブロックしようとした利用者は、既にブロックされ隠されています。
hideuser権限を持っていないため、この利用者のブロックを閲覧または編集できません。',
'ipbblocked' => '自分をブロックしているため、他の利用者のブロックやブロック解除はできません',
'move-page-legend' => 'ページの移動',
'movepagetext' => "下のフォームを利用すると、ページ名が変更され、その履歴も変更先へ移動します。
古いページは変更先へのリダイレクトページとなります。
-å¤\89æ\9b´å\89\8dã\81®ã\83\9aã\83¼ã\82¸ã\81¸ã\81®ã\83ªã\83\80ã\82¤ã\83¬ã\82¯ã\83\88ã\81¯è\87ªå\8b\95ç\9a\84ã\81«ä¿®æ£ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\81¾ã\81\99ã\80\82
+変更前のページへのリダイレクトは自動的に修正できます。
自動的な修正を選択しない場合は、[[Special:DoubleRedirects|二重リダイレクト]]や[[Special:BrokenRedirects|迷子のリダイレクト]]を確認する必要があります。リンクを正しく維持するのはあなたの責任です。
移動先が既に存在する場合は、そのページが空またはリダイレクトで、かつ過去の版を持たない場合を除いて移動'''できません'''。つまり、間違えてページ名を変更した場合には元に戻せます。また移動によって既存のページを上書きしてしまうことはありません。
'immobile-target-namespace' => '「$1」名前空間へはページを移動させることはできません。',
'immobile-target-namespace-iw' => 'ウィキ間リンクは、ページの移動では不正な対象です。',
'immobile-source-page' => 'このページは移動できません。',
-'immobile-target-page' => '目的のページ名へは移動させることができません。',
+'immobile-target-page' => '対象ページ名へは移動させることができません。',
'imagenocrossnamespace' => 'ファイル名前空間以外に、ファイルを移動することはできません。',
'nonfile-cannot-move-to-file' => 'ファイルでないものを、ファイル名前空間に移動することはできません',
'imagetypemismatch' => '新しいファイルの拡張子がファイルのタイプと一致していません。',
# Export
'export' => 'ページの書き出し',
-'exporttext' => 'ã\81\93ã\81\93ã\81§ã\81¯å\8d\98ç\8b¬ã\81\82ã\82\8bã\81\84ã\81¯è¤\87æ\95°ã\81®ã\83\9aã\83¼ã\82¸ã\81®æ\9c¬æ\96\87ã\81¨ç·¨é\9b\86å±¥æ´ã\82\92ã\80\81XMLã\81®å½¢ã\81§æ\9b¸ã\81\8då\87ºã\81\99ã\81\93ã\81¨ができます。
-ã\81\93ã\81®XMLã\81¯ã\80\81ä»\96ã\81®MediaWikiã\82\92使ç\94¨ã\81\97ã\81¦ã\81\84ã\82\8bã\82¦ã\82£ã\82ã\81§[[Special:Import|å\8f\96ã\82\8aè¾¼ã\81¿ã\83\9aã\83¼ã\82¸]]ã\82\92使ç\94¨ã\81\97ã\81¦å\8f\96ã\82\8aè¾¼ã\82\80ã\81\93ã\81¨ができます。
+'exporttext' => 'ã\81\93ã\81\93ã\81§ã\81¯å\8d\98ç\8b¬ã\81\82ã\82\8bã\81\84ã\81¯è¤\87æ\95°ã\81®ã\83\9aã\83¼ã\82¸ã\81®æ\9c¬æ\96\87ã\81¨ç·¨é\9b\86å±¥æ´ã\82\92ã\80\81XMLã\81®å½¢ã\81§æ\9b¸ã\81\8då\87ºã\81\97ができます。
+ã\81\93ã\81®XMLã\81¯ã\80\81ä»\96ã\81®MediaWikiã\82\92使ç\94¨ã\81\97ã\81¦ã\81\84ã\82\8bã\82¦ã\82£ã\82ã\81§[[Special:Import|å\8f\96ã\82\8aè¾¼ã\81¿ã\83\9aã\83¼ã\82¸]]ã\82\92使ç\94¨ã\81\97ã\81¦å\8f\96ã\82\8aè¾¼ã\81¿ができます。
ページを書き出すには、下の入力ボックスに一行に一つずつ書き出したいページの名前を記入してください。また、編集履歴とともにすべての過去版を含めて書き出すのか、最新版のみを書き出すのか選択してください。
'import-interwiki-templates' => 'すべてのテンプレートを含める',
'import-interwiki-submit' => '取り込み',
'import-interwiki-namespace' => '目的の名前空間:',
-'import-upload-filename' => 'ファイルã\81®å\90\8då\89\8dï¼\9a',
+'import-upload-filename' => 'ファイルå\90\8dï¼\9a',
'import-comment' => 'コメント:',
'importtext' => '元のウィキで[[Special:Export|書き出し機能]]を使用してファイルに書き出してください。
それをコンピューターに保存した後、こちらへアップロードしてください。',
'tooltip-recreate' => '削除されていても、ページを再作成する',
'tooltip-upload' => 'アップロードを開始',
'tooltip-rollback' => '「巻き戻し」は、このページの最後の編集者によるこのページへの編集を1クリックで差し戻します',
-'tooltip-undo' => '「取り消し」はこの編集を差し戻し、編集画面をプレビューをつけて開きます。要約欄に取り消しの理由を追加することができます。',
+'tooltip-undo' => '「取り消し」はこの編集を差し戻し、編集画面をプレビューを付けて開きます。要約欄に取り消しの理由を追加できます。',
'tooltip-preferences-save' => '設定を保存',
'tooltip-summary' => '短い要約を入力してください',
'filedeleteerror-long' => 'ファイルの削除中にエラーが発生しました:
$1',
-'filedelete-missing' => 'ã\83\95ã\82¡ã\82¤ã\83«ã\80\8c$1ã\80\8dã\81¯å\98å\9c¨ã\81\97ã\81ªã\81\84ã\81\9fã\82\81ã\80\81å\89\8aé\99¤ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\81¾ã\81\9bã\82\93ã\80\82',
-'filedelete-old-unregistered' => '指定されたファイルの版「$1」はデータベースにありません。',
-'filedelete-current-unregistered' => 'æ\8c\87å®\9aã\81\95ã\82\8cã\81\9fã\83\95ã\82¡ã\82¤ã\83«ã\80\8c$1ã\80\8dã\81¯ã\83\87ã\83¼ã\82¿ã\83\99ã\83¼ã\82¹å\86\85ã\81«ã\81¯ã\81\82ã\82\8aã\81¾ã\81\9bã\82\93ã\80\82',
+'filedelete-missing' => 'ファイル「$1」は存在しないため、削除できません。',
+'filedelete-old-unregistered' => '指定されたファイルの版「$1」はデータベース内にありません。',
+'filedelete-current-unregistered' => '指定されたファイル「$1」はデータベース内にありません。',
'filedelete-archive-read-only' => '保存版ディレクトリ「$1」は、ウェブサーバーから書き込み不可になっています。',
# Browsing diffs
この確認用コードは、$4に期限切れになります。',
'confirmemail_body_changed' => '誰か(おそらくあなた)が IP アドレス $1 から、
-{{SITENAME}} のアカウント「$2」のメール アドレスをこのアドレスに変更しました。
+{{SITENAME}} のアカウント「$2」のメールアドレスをこのアドレスに変更しました。
このアカウントが本当にあなたのものであれば、以下のリンクをブラウザーで開いて、
{{SITENAME}} のメール機能を再び有効にしてください:
$3
もしあなたのアカウント *ではない* 場合は、
-ブラウザーで以下のリンクを開いて、メール アドレスの確認をキャンセルしてください:
+ブラウザーで以下のリンクを開いて、メールアドレスの確認をキャンセルしてください:
$5
この確認コードは $4 に期限切れになります。',
'confirmemail_body_set' => '誰か(おそらくあなた)が IP アドレス $1 から
-{{SITENAME}} のアカウント「$2」のメール アドレスをこのアドレスに設定しました。
+{{SITENAME}} のアカウント「$2」のメールアドレスをこのアドレスに設定しました。
このアカウントが本当にあなたのものであれば、以下のリンクをブラウザーで開いて、
{{SITENAME}} のメール機能を再び有効にしてください。
$3
もしあなたのアカウントでない場合は、
-次のリンクをブラウザーで開いて、メール アドレスの確認をキャンセルしてください:
+次のリンクをブラウザーで開いて、メールアドレスの確認をキャンセルしてください:
$5
'recreate' => '再作成する',
# action=purge
-'confirm_purge_button' => 'はい',
+'confirm_purge_button' => 'OK',
'confirm-purge-top' => 'ページのキャッシュを破棄します。よろしいですか?',
'confirm-purge-bottom' => 'ページをパージすると、キャッシュが破棄され、強制的に最新の版が表示されます。',
'version-license' => 'ライセンス',
'version-poweredby-credits' => "このウィキは、'''[//www.mediawiki.org/ MediaWiki]'''(copyright © 2001-$1 $2)で動作しています。",
'version-poweredby-others' => 'その他',
-'version-license-info' => 'MediaWikiã\81¯ã\83\95ã\83ªã\83¼ã\82½ã\83\95ã\83\88ã\82¦ã\82§ã\82¢ã\81§ã\81\99ã\80\82ã\81\82ã\81ªã\81\9fã\81¯ã\80\81ã\83\95ã\83ªã\83¼ã\82½ã\83\95ã\83\88ã\82¦ã\82§ã\82¢è²¡å\9b£ã\81®ç\99ºè¡\8cã\81\99ã\82\8bGNUä¸\80è\88¬å\85¬è¡\86å\88©ç\94¨è¨±è«¾æ\9b¸ (GNU General Public License)ï¼\88ã\83\90ã\83¼ã\82¸ã\83§ã\83³2ã\80\81ã\81¾ã\81\9fã\81¯ã\81\9dã\82\8c以é\99\8dã\81®ã\83©ã\82¤ã\82»ã\83³ã\82¹ï¼\89ã\81®è¦\8fç´\84ã\81«ã\82\82ã\81¨ã\81¥ã\81\8dã\80\81ã\81\93ã\81®ã\83©ã\82¤ã\83\96ã\83©ã\83ªã\81®å\86\8dé\85\8då¸\83ã\82\84æ\94¹å¤\89ã\82\92ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\81¾ã\81\99ã\80\82
+'version-license-info' => 'MediaWikiはフリーソフトウェアです。あなたは、フリーソフトウェア財団の発行するGNU一般公衆利用許諾書 (GNU General Public License)(バージョン2、またはそれ以降のライセンス)の規約にもとづき、このライブラリの再配布や改変ができます。
-MediaWikiは、有用であることを期待して配布されていますが、商用あるいは特定の目的に適するかどうかも含めて、暗黙的にも、一切保証されません。詳しくは、GNU一般公衆利用許諾書をご覧下さい。
+MediaWikiは、有用であることを期待して配布されていますが、商用あるいは特定の目的に適するかどうかも含めて、暗黙的にも、一切保証されません。詳しくは、GNU一般公衆利用許諾書をご覧ください。
あなたはこのプログラムと共に、[{{SERVER}}{{SCRIPTPATH}}/COPYING GNU一般公衆利用許諾契約書の複製]を受け取ったはずです。もし受け取っていなければ、フリーソフトウェア財団(the Free Software Foundation, Inc., 59Temple Place, Suite 330, Boston, MA 02111-1307 USA)まで請求するか、[//www.gnu.org/licenses/old-licenses/gpl-2.0.html オンラインで閲覧]してください。',
'version-software' => 'インストール済みソフトウェア',
このウェブサイトに技術的な問題が発生しています。',
'dberr-again' => '数分間待った後、もう一度読み込んでください。',
'dberr-info' => '(データベースサーバー:$1に接続できませんでした。)',
-'dberr-usegoogle' => 'å\85\83ã\81«æ\88»ã\82\8bã\81¾ã\81§ã\80\81Googleã\82\92å\88©ç\94¨ã\81\97ã\81¦æ¤\9cç´¢ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\81¾ã\81\99ã\80\82',
+'dberr-usegoogle' => '元に戻るまで、Googleを利用して検索できます。',
'dberr-outofdate' => 'それらが収集した内容は古い可能性があることに注意してください。',
'dberr-cachederror' => 'これは要求されたページをキャッシュした複製であり、古くなっている可能性があります。',
'''Yèn iki sawijining upaya suntingan sing absah, mangga dicoba manèh. Yèn isih tetep ora kasil, cobanen metu log utawa oncat lan mlebua manèh.'''",
'token_suffix_mismatch' => "'''Suntingan panjenengan ditulak amerga aplikasi klièn panjenengan ngowahi karakter tandha wewacan ing suntingan. Suntingan iku ditulak kanggo untuk menggak kaluputan ing tèks artikel. Prekara iki kadhangkala dumadi yèn panjenengan ngangem dines layanan proxy anonim adhedhasar situs wèb sing duwé masalah.'''",
'editing' => 'Nyunting $1',
+'creating' => 'Nggawé $1',
'editingsection' => 'Nyunting $1 (bagian)',
'editingcomment' => 'Nyunting $1 (bagéyan anyar)',
'editconflict' => 'Konflik panyuntingan: $1',
'prefs-beta' => 'ბეტა შესაძლებლობები',
'prefs-datetime' => 'თარიღი და დრო',
'prefs-labs' => 'ექსპერიმენტალური ფუნქციები',
+'prefs-user-pages' => 'მომხმარებლის გვერდები',
'prefs-personal' => 'მომხმარებლის მონაცემები',
'prefs-rc' => 'ბოლო ცვლილებები',
'prefs-watchlist' => 'კონტროლის სია',
'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:',
'category-empty' => '이 분류에 속하는 문서나 자료가 없습니다.',
'hidden-categories' => '{{PLURAL:$1|숨은 분류}}',
'hidden-category-category' => '숨은 분류',
-'category-subcat-count' => '다음은 이 분류에 속하는 하위 분류 {{PLURAL:$2|$1 개|$2 개 가운데 $1 개}} 입니다.',
+'category-subcat-count' => '{{PLURAL:$2|이 분류에는 하위 분류 1 개만이 속해 있습니다.|다음은 이 분류에 속하는 하위 분류 $2 개 가운데 $1 개입니다.}}',
'category-subcat-count-limited' => '이 분류에 하위분류가 $1개 있습니다.',
-'category-article-count' => '다음은 이 분류에 속하는 문서 {{PLURAL:$2|$1 개|$2 개 가운데 $1 개}} 입니다.',
+'category-article-count' => '{{PLURAL:$2|이 분류에는 문서 1 개만이 속해 있습니다.|다음은 이 분류에 속하는 문서 $2 개 가운데 $1 개입니다.}}',
'category-article-count-limited' => '이 분류에 문서가 $1개 있습니다.',
-'category-file-count' => '다음은 이 분류에 속하는 파일 {{PLURAL:$2|$1 개|$2 개 가운데 $1 개}} 입니다.',
+'category-file-count' => '{{PLURAL:$2|이 분류에는 파일 1 개만이 속해 있습니다.|다음은 이 분류에 속하는 파일 $2 개 가운데 $1 개입니다.}}',
'category-file-count-limited' => '이 분류에 파일이 $1개 있습니다.',
'listingcontinuesabbrev' => ' (계속)',
'index-category' => '색인된 문서',
'qbedit' => '편집',
'qbpageoptions' => '문서 기능',
'qbpageinfo' => '문서 정보',
-'qbmyoptions' => '내 문서',
+'qbmyoptions' => '내 사용자 문서',
'qbspecialpages' => '특수 문서',
'faq' => '자주 묻는 질문',
'faqpage' => 'Project:FAQ',
'userloginnocreate' => '로그인',
'logout' => '로그아웃',
'userlogout' => '로그아웃',
-'notloggedin' => '로그인하고 있지 않음',
+'notloggedin' => '로그인하지 않음',
'nologin' => '계정이 없나요? $1.',
'nologinlink' => '계정을 만들 수 있습니다',
'createaccount' => '계정 만들기',
# Change password dialog
'resetpass' => '비밀번호 바꾸기',
'resetpass_announce' => '이메일로 받은 임시 비밀번호로 로그인했습니다. 로그인을 마치려면 새 비밀번호를 여기에서 설정해야 합니다:',
-'resetpass_text' => '<!-- 여기에 텍스트를 더하세요 -->',
+'resetpass_text' => '<!-- 여기에 텍스트를 추가하세요 -->',
'resetpass_header' => '비밀번호 변경',
'oldpassword' => '이전 비밀번호:',
'newpassword' => '새 비밀번호:',
'right-siteadmin' => '데이터베이스를 잠그거나 잠금 해제',
'right-override-export-depth' => '5단계로 링크된 문서를 포함하여 문서를 내보내기',
'right-sendemail' => '다른 사용자에게 이메일 보내기',
-'right-passwordreset' => '암호 재설정 이메일을 보기',
+'right-passwordreset' => '비밀번호 재설정 이메일을 보기',
# User rights log
'rightslog' => '사용자 권한 기록',
'upload-tryagain' => '수정된 파일 설명을 저장',
'uploadnologin' => '로그인하지 않음',
'uploadnologintext' => '파일을 올리려면 [[Special:UserLogin|로그인]]해야 합니다.',
-'upload_directory_missing' => 'í\8c\8cì\9d¼ ì\98¬ë¦¬ê¸°ì\9a© ë\94\94ë \89í\86 리($1)가 없고 웹 서버가 생성하지 못했습니다.',
-'upload_directory_read_only' => 'í\8c\8cì\9d¼ ì \80ì\9e¥ ë\94\94ë \89í\86 리($1)에 쓰기 권한이 없습니다.',
+'upload_directory_missing' => 'í\8c\8cì\9d¼ ì\98¬ë¦¬ê¸°ì\9a© ë\94\94ë \89í\84°리($1)가 없고 웹 서버가 생성하지 못했습니다.',
+'upload_directory_read_only' => 'í\8c\8cì\9d¼ ì \80ì\9e¥ ë\94\94ë \89í\84°리($1)에 쓰기 권한이 없습니다.',
'uploaderror' => '올리기 오류',
'upload-recreate-warning' => "'''경고: 이 파일로 된 이름이 삭제되었거나 옮겨졌습니다.'''
'filename-bad-prefix' => '올리려고 하는 파일 이름이 \'\'\'"$1"\'\'\'(으)로 시작합니다.
"$1"은(는) 디지털 사진기가 자동으로 붙이는 의미없는 이름입니다.
파일에 대해 알기 쉬운 이름을 골라주세요.',
-'filename-prefix-blacklist' => ' #<!-- ì\9d´ ì¤\84ì\9d\80 ê·¸ë\8c\80ë¡\9c ë\91\90ì\84¸ì\9a\94 --> <pre>
+'filename-prefix-blacklist' => ' #<!-- ì\9d´ ì¤\84ì\9d\80 ê·¸ë\8c\80ë¡\9c ë\91\90ì\8bì\8b\9cì\98¤ --> <pre>
# 문법은 다음과 같습니다:
# * "#"에서 그 줄의 끝까지는 코멘트입니다.
# * 비어 있지 않은 줄은 디지털 카메라에서 자동적으로 부여하는 파일 접두어입니다.
JD # 제놉틱
MGP # 펜탁스
PICT # 기타
- #</pre> <!-- ì\9d´ ì¤\84ì\9d\80 ê·¸ë\8c\80ë¡\9c ë\91\90ì\84¸ì\9a\94 -->',
+ #</pre> <!-- ì\9d´ ì¤\84ì\9d\80 ê·¸ë\8c\80ë¡\9c ë\91\90ì\8bì\8b\9cì\98¤ -->',
'upload-success-subj' => '올리기 성공',
'upload-success-msg' => '파일을 [$2]에서 성공적으로 올렸습니다. 당신이 올린 파일이 여기 있습니다: [[:{{ns:file}}:$1]]',
'upload-failure-subj' => '올리기 실패',
# Special:AllPages
'allpages' => '모든 문서 목록',
-'alphaindexline' => '$1에서 $2까지',
+'alphaindexline' => '$1부터 $2까지',
'nextpage' => '다음 문서 ($1)',
'prevpage' => '이전 문서 ($1)',
'allpagesfrom' => '다음으로 시작하는 문서 보기:',
'tooltip-summary' => '짧은 편집 요약을 적어주세요',
# Stylesheets
-'common.css' => '/** 이 CSS 설정은 모든 스킨에 동일하게 적용됩니다 */',
-'standard.css' => '/* 이 CSS 설정은 모든 표준 스킨에 적용됩니다 */',
+'common.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' => '/* 이 자바스크립트 설정은 모노북 스킨을 사용하는 사용자에게 적용됩니다 */',
'exif-compression-3' => 'CCITT 그룹-3 팩스 인코딩',
'exif-compression-4' => 'CCITT 그룹-4 팩스 인코딩',
'exif-compression-6' => 'JPEG (오래됨)',
-'exif-compression-8' => 'Deflate (Adobe;어도비)',
+'exif-compression-8' => '압축 (Adobe)',
'exif-compression-32773' => 'PackBits (매킨토시 RLE)',
+'exif-compression-32946' => '압축 (PKZIP)',
'exif-copyrighted-true' => '저작권의 보호를 받음',
'exif-copyrighted-false' => '퍼블릭 도메인',
'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나 그 이후 버전에 따라 이 파일을 재배포하거나 수정할 수 있습니다.
+'version-license-info' => "미디어위키는 자유 소프트웨어입니다. 당신은 자유 소프트웨어 재단이 발표한 GNU 일반 공중 사용 허가서 버전 2나 그 이후 버전에 따라 이 파일을 재배포하거나 수정할 수 있습니다.
-미디어위키가 유용하게 사용될 수 있기를 바라지만 상용으로 사용되거나 특정 목적에 맞을 것이라는 것을 보증하지 않습니다. 자세한 내용은 GNU 일반 공중 사용 허가서 전문을 참고하십시오.
+미디어위키가 유용하게 사용될 수 있기를 바라지만 '''상용으로 사용'''되거나 '''특정 목적에 맞을 것'''이라는 것을 '''보증하지 않습니다'''. 자세한 내용은 GNU 일반 공중 사용 허가서 전문을 참고하십시오.
-당신은 이 프로그램을 통해 [{{SERVER}}{{SCRIPTPATH}}/COPYING GNU 일반 공중 사용 허가서 전문]을 받았습니다; 그렇지 않다면, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA로 편지를 보내주시거나 [//www.gnu.org/licenses/old-licenses/gpl-2.0.html 온라인]으로 읽어보시기 바랍니다.',
+당신은 이 프로그램을 통해 [{{SERVER}}{{SCRIPTPATH}}/COPYING GNU 일반 공중 사용 허가서 전문]을 받았습니다; 그렇지 않다면, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA로 편지를 보내주시거나 [//www.gnu.org/licenses/old-licenses/gpl-2.0.html 온라인으로 읽어보시기] 바랍니다.",
'version-software' => '설치된 프로그램',
'version-software-product' => '제품',
'version-software-version' => '버전',
* <span class="mw-specialpagerestricted">제한된 특수 문서.</span>',
'specialpages-group-maintenance' => '관리용 목록',
'specialpages-group-other' => '다른 특수 문서',
-'specialpages-group-login' => '로그인 / 등록',
+'specialpages-group-login' => '로그인 / 가입',
'specialpages-group-changes' => '최근 바뀜과 기록',
'specialpages-group-media' => '파일 관리',
'specialpages-group-users' => '사용자와 권한',
'logentry-delete-event-legacy' => '$1 사용자가 $3 문서 기록의 표시 설정을 변경하였습니다.',
'logentry-delete-revision-legacy' => '$1 사용자가 $3 문서 편집의 표시 설정을 변경하였습니다.',
'logentry-suppress-delete' => '$1 사용자가 $3 문서를 숨겼습니다.',
-'logentry-suppress-event' => '$1 사용자가 비공개적으로 $3의 {{PLURAL:$5|$5개의 기록}}에 대해 표시 설정을 바꾸었습니다: $4',
-'logentry-suppress-revision' => '$1 사용자가 비공개적으로 $3 문서의 {{PLURAL:$5|$5개의 판}}에 대해 표시 설정을 바꾸었습니다: $4',
+'logentry-suppress-event' => '$1 사용자가 비공개적으로 $3의 {{PLURAL:$5|기록 $5개}}에 대해 표시 설정을 바꾸었습니다: $4',
+'logentry-suppress-revision' => '$1 사용자가 비공개적으로 $3 문서의 {{PLURAL:$5|판 $5개}}에 대해 표시 설정을 바꾸었습니다: $4',
'logentry-suppress-event-legacy' => '$1 사용자가 비공개적으로 $3의 항목에 대한 표시 설정을 바꾸었습니다.',
'logentry-suppress-revision-legacy' => '$1 사용자가 비공개적으로 $3 문서의 특정 판에 대한 표시 설정을 바꾸었습니다.',
'revdelete-content-hid' => '내용 숨겨짐',
'logentry-newusers-create' => '$1 사용자가 계정을 생성했습니다.',
'logentry-newusers-create2' => '$1 사용자가 $3 계정을 생성했습니다.',
'logentry-newusers-autocreate' => '$1 계정이 자동적으로 생성되었습니다.',
-'newuserlog-byemail' => '이메일로 보낸 암호',
+'newuserlog-byemail' => '이메일로 보낸 비밀번호',
# Feedback
'feedback-bugornote' => '기술적 문제를 구체적으로 설명할 준비가 되었다면 [$1 버그를 신고]해 주세요.
'feedback-error3' => '오류: API가 응답하지 않음',
'feedback-thanks' => '감사합니다! ‘[$2 $1]’ 문서에 당신의 의견을 남겼습니다.',
'feedback-close' => '완료',
-'feedback-bugcheck' => 'ê°\90ì\82¬í\95©ë\8b\88ë\8b¤! í\98¹ì\8b\9c í\95´ë\8b¹ ì\82¬í\95ì\9d´ [$1 기존ì\9d\98 ë²\84ê·¸ 리í\8f¬í\8a¸]에 올라와 있는지 확인해주세요.',
-'feedback-bugnew' => 'í\99\95ì\9d¸í\96\88ì\8aµë\8b\88ë\8b¤. ì\83\88ë¡\9cì\9a´ ë²\84ê·¸ 리í\8f¬í\8a¸를 작성합니다.',
+'feedback-bugcheck' => 'ê°\90ì\82¬í\95©ë\8b\88ë\8b¤! í\98¹ì\8b\9c í\95´ë\8b¹ ì\82¬í\95ì\9d´ [$1 기존ì\9d\98 ë²\84ê·¸ ë³´ê³ ì\84\9c]에 올라와 있는지 확인해주세요.',
+'feedback-bugnew' => 'í\99\95ì\9d¸í\96\88ì\8aµë\8b\88ë\8b¤. ì\83\88ë¡\9cì\9a´ ë²\84ê·¸ ë³´ê³ ì\84\9c를 작성합니다.',
# API errors
'api-error-badaccess-groups' => '당신은 이 위키에 파일을 올릴 권한이 없습니다.',
'cancel' => 'Ызына алыу',
'moredotdotdot' => 'Баргъаны…',
'mypage' => 'Энчи бетим',
-'mytalk' => 'Ð\9cени Ñ\81юзюу бетим',
+'mytalk' => 'Сюзюу бетим',
'anontalk' => 'Бу IP-адресге сюзюу бет',
'navigation' => 'Навигация',
'and' => ' эм',
'securelogin-stick-https' => 'Чыкъгъандан сора да HTTPS бла байламлы къой',
'yourdomainname' => 'Сизни доменигиз:',
'externaldberror' => 'Тыш информация базаны болушлугъу бла аутентификация, халатлы болду, неда тыш аккаунтугъузну тюрлендирирге хакъларагъыз джетмейди.',
-'login' => 'Кир',
+'login' => 'Кириу',
'nav-login-createaccount' => 'Кириу / регистрация этиу',
'loginprompt' => '{{SITENAME}} сайтха кирир ючюн «cookies» эркин этерге керексиз.',
'userlogin' => 'Кир / регистрация эт',
'nologinlink' => 'Тергеу джазыу (аккаунт) къурагъыз',
'createaccount' => 'Джангы къошулуучуну регистрация эт',
'gotaccount' => 'Тергеу джазыуугъуз (аккаунтугъуз) энди бармыды? $1.',
-'gotaccountlink' => 'Кир',
+'gotaccountlink' => 'Кириу',
'userlogin-resetlink' => 'Кирир ючюн билгилеригизни унутхан этгенмисиз?',
'createaccountmail' => 'e-mail бла',
'createaccountreason' => 'Чурум:',
'wrongpasswordempty' => 'Пароль джазылмай къалгъанды. Джангыдан кёрюгюз.',
'passwordtooshort' => '$1 {{PLURAL:$1|символдан}} аз болмазгъа керекди пароль.',
'password-name-match' => 'Пароль къошулуучу атдан башха тюрлю болургъа керекди.',
-'mailmypassword' => 'Ð\94жангÑ\8b паÑ\80олÑ\8c джибеÑ\80 E-mail бла',
+'mailmypassword' => 'Ð\9cеннге e-mail бла джангÑ\8b паÑ\80олÑ\8c джибеÑ\80',
'passwordremindertitle' => '{{SITENAME}} къошулуучугъа джангы болджаллы пароль',
'passwordremindertext' => 'Ким эседа (сиз болургъа боллукъсуз, IP-адрес: $1) {{SITENAME}} ($4) къошулуучугъа джангы пароль къураргъа соргъанды. $2 къошулуучугъа джангы пароль: $3. Сорууну джиберген сиз болгъан эсегиз, системагъа кирирге эм паролну алышдырыргъа тыйычлыды. Джангы паролну $5 {{PLURAL:$5|кюнню}} ичинде амалы боллукъду.
# Special:PasswordReset
'passwordreset' => 'Паролну атыу',
'passwordreset-text' => 'Электрон джазма бла тергеу джазыуугъузну (аккаунтугъузну) параметрлерини юсюнден билдириу алыр ючюн бу форманы толтуругъуз.',
-'passwordreset-legend' => 'Ð\9fаÑ\80олнÑ\83 ий',
+'passwordreset-legend' => 'Ð\9fаÑ\80олнÑ\83 аÑ\82Ñ\8bÑ\83',
'passwordreset-disabled' => 'Бу викиде паролла атыу амал джукъланыбды.',
'passwordreset-pretext' => '{{PLURAL:$1||Тюбюрекде берилген билгиледен бирин джазыгъыз}}',
'passwordreset-username' => 'Къошулуучуну аты:',
'passwordreset-capture' => 'Джазылгъан билдириуню эсебине къара?',
'passwordreset-capture-help' => 'Бу белгини салсагъыз, къошулуучугъа ийилген болджаллы пароль бла билдириу сизге кёргюзюллюкдю.',
'passwordreset-email' => 'Электрон почтаны адреси:',
+'passwordreset-emailtitle' => '{{SITENAME}} сайтдагъы тергеу джазыуну юсюнден билгиле',
# Special:ChangeEmail
'changeemail-no-info' => 'Бу бетни кёрюр ючюн сиз системагъа тергеу джазыуугъуз (аккаунтугъуз) бла кирирге керексиз.',
+'changeemail-oldemail' => 'Почтаны бусагъатдагъы адреси:',
'changeemail-newemail' => 'Электрон почтаны джангы адреси:',
'changeemail-none' => '(джокъ)',
+'changeemail-submit' => 'Адресни тюрлендир',
'changeemail-cancel' => 'Ызына алыу',
# Edit page toolbar
'nosuchsectiontext' => 'Сиз болмагъан бетни тюрлендирирге кюрешесиз.
Бу бетге къарагъан заманыгъызда, кетерилирге неда башха джерге кёчюрюлюрге боллукъду.',
'loginreqtitle' => 'Кирирге керекди',
-'loginreqlink' => 'Кир',
+'loginreqlink' => 'Кириу',
'loginreqpagetext' => 'Сиз башха бетлеге къарар ючюн $1 керексиз.',
'accmailtitle' => 'Пароль джиберилди',
'accmailtext' => "[[User talk:$1|$1]] къошулуучугъа къуралгъан пароль $2 адресине джиберилгенди.
** Орунсуз энчи билгиле',
'revdelete-otherreason' => 'Башха/къошакъ чурум:',
'revdelete-reasonotherlist' => 'Башха чурум',
-'revdelete-edit-reasonlist' => 'ЧÑ\83Ñ\80Ñ\83мланÑ\8b Ñ\81пиÑ\81огÑ\83н тюрлендир',
+'revdelete-edit-reasonlist' => 'ЧÑ\83Ñ\80Ñ\83мланÑ\8b Ñ\82измеÑ\81ин тюрлендир',
'revdelete-offender' => 'Бетни версиясыны автору:',
# Suppression log
'mergelogpagetext' => 'Тюбюрек бетлени тарихлерини ахыр бирлешдириулери берилгенди.',
# Diffs
-'history-title' => '«$1» бетни тюрлениу тарихи',
+'history-title' => '$1 — тюрлениу тарихи',
+'difference-title' => '$1 — версияларыны арасында башхалыкъла',
+'difference-title-multipage' => '«$1» эм «$2» бетлени арасында башхалыкъла',
'difference-multipage' => '(Бетле арасында башхалыкъ)',
'lineno' => 'Тизгин $1:',
'compareselectedversions' => 'Сайланнган версияланы тенглешдириу',
'searchhelp-url' => 'Help:Ичиндегиле',
'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Бу префикс бла бетни кёргюз]]',
'searchprofile-articles' => 'Баш бетле',
-'searchprofile-project' => 'Болушлукъ бла проектлени бетлери',
+'searchprofile-project' => 'Болушлукъ эм проект бетле',
'searchprofile-images' => 'Мультимедия',
-'searchprofile-everything' => 'ХаÑ\80 не',
+'searchprofile-everything' => 'ХаÑ\80 кÑ\8aайда',
'searchprofile-advanced' => 'Кенгерген',
'searchprofile-articles-tooltip' => '$1 ичинде изле',
'searchprofile-project-tooltip' => '$1 ичинде изле',
'searchprofile-images-tooltip' => 'Файлланы изле',
-'searchprofile-everything-tooltip' => 'Бютеу бетледе изле (сюзюу бетледеда)',
+'searchprofile-everything-tooltip' => 'Бютёу бетледе изле (сюзюу бетледе да)',
'searchprofile-advanced-tooltip' => 'Энчи ат аланладада изле',
'search-result-size' => '$1 ({{PLURAL:$2|$2 сёз}})',
'search-result-category-size' => '{{PLURAL:$1|1 элемент|$1 элемент}} ({{PLURAL:$2|1 тюбкатегория|$2 тюбкатегория}}, {{PLURAL:$3|1 файл|$3 файл}})',
'search-mwsuggest-disabled' => 'юретиулесиз',
'search-relatedarticle' => 'Байламлы',
'mwsuggest-disable' => 'AJAX юретиулени джукълатыгъыз',
-'searcheverything-enable' => 'Атланы бютеу аланларында изле',
+'searcheverything-enable' => 'Атланы бютёу аламларында изле',
'searchrelated' => 'бейламлы',
-'searchall' => 'бютеу',
+'searchall' => 'бютёу',
'showingresults' => 'Тюбюрек № <strong>$2</strong> башлаб <strong>$1</strong> {{PLURAL:$1|эсеб|эсебле}} {{PLURAL:$1|кёргюзюлгенди|кёргюзюлгендиле}}.',
'showingresultsnum' => 'Тюбюрек № <strong>$2</strong> башлаб <strong>$3</strong> {{PLURAL:$3|эсеб|эсебле}} {{PLURAL:$3|кёргюзюлгенди|кёргюзюлгендиле}}.',
'showingresultsheader' => "'''$4''' ючюн {{PLURAL:$5|'''$3''' эсебден '''$1'''|'''$1 — $2''' арасы '''$3''' эсеб}}",
-'nonefound' => "'''Эсгериу.''' Тынгылау бла излеу бютеу атланы аламында бардырылмайды. Бютеу атланы аламында (къошулуучуланы сюзюулери, шаблонла эмда башхала) излер ючюн аллындан ''all:'' префиксни хайырландырыгъыз неда керекли атланы аламын хайырландырыгъыз.",
+'nonefound' => "'''Эсгериу.''' Тынгылау бла излеу бютёу атланы аламында бардырылмайды. Бютёу атланы аламында (къошулуучуланы сюзюулери, шаблонла эмда башхала) излер ючюн аллындан ''all:'' префиксни хайырландырыгъыз неда керекли атланы аламын белгилегиз.",
'search-nonefound' => 'Соруу бла келишген эсеб джокъду',
'powersearch' => 'Кенг излеу',
'powersearch-legend' => 'Кенг излеу',
'powersearch-redir' => 'Джибериулени кёргюз',
'powersearch-field' => 'Излеу:',
'powersearch-togglelabel' => 'Белгиле:',
-'powersearch-toggleall' => 'Барысыда',
-'powersearch-togglenone' => 'Бирида',
+'powersearch-toggleall' => 'Барысы да',
+'powersearch-togglenone' => 'Бири да',
'search-external' => 'Тыш излеу',
'searchdisabled' => '{{SITENAME}} сайтда излеу талай заманнга тохтатылгъанды. Бусагъатда Google бла хайырланыб {{SITENAME}} ичинде излеу этерге боллукъсуз. Излеу сайтлада индекслери бир кесек эски болургъа боллугъун унутмагъыз.',
'qbsettings-fixedright' => 'Онгу къатды',
'qbsettings-floatingleft' => 'Солгъа джюзеди',
'qbsettings-floatingright' => 'Оннга джюзеди',
+'qbsettings-directionality' => 'Тилигизни джазмасыны онг/сол таба джазылгъанына кёре бегитилибди',
# Preferences page
'preferences' => 'Джарашдырыула',
'prefs-help-realname' => 'Керти ат (излеуге байламлы).
Аны кёргюзюрге излесегиз, сиз тюрлендирген бетлеригизни,сиз тюрлендиргенигизи белгили боллукъду.',
'prefs-help-email' => 'Электрон почтагъызны адресин джазаргъа амалсыз керек тюлдю, алай а, паролюгъузну унутсагъыз, ажымсыз керек боллукъду.',
+'prefs-help-email-others' => 'Ол сизни энчи бетигизде болгъан джибериуню юсю бла сизни бла байлам этерге амал береди; электрон почтагъызны адресин да ачыкъ этерге керек болмайсыз.',
'prefs-help-email-required' => 'Электрон почтагъызны кёргюзюгюз.',
'prefs-info' => 'Баш билгиле',
'prefs-i18n' => 'Интернационализация',
'upload-unknown-size' => 'Билинмеген ёлчем',
'upload-http-error' => 'HTTP хата болду: $1',
+# File backend
+'backend-fail-delete' => '«$1» файл кетерилмеди.',
+'backend-fail-store' => '$1 файл $2 ичинде сакъланылынмады.',
+
# Special:UploadStash
'uploadstash' => 'Джашыртын джюклеу',
'uploadstash-nofiles' => 'Сизни джашырылгъан файлларыгъыз джокъду',
** дубликат файл',
'filedelete-edit-reasonlist' => 'Кетериуню чурумларын тюрлендир',
'filedelete-maintenance' => 'Техника ишлени кёзюуюнде файлланы кетериу эм ызына къайтарыу функцияла ишлеймедиле.',
+'filedelete-maintenance-title' => 'Файл кетерилмеди',
# MIME search
'mimesearch' => 'MIME бла излеу',
'unwatchedpages' => 'Киши кёзде тутмагъан бетле',
# List redirects
-'listredirects' => 'Ð\94жибеÑ\80иÑ\83лени Ñ\81пиÑ\81огÑ\83',
+'listredirects' => 'Ð\94жибеÑ\80иÑ\83лени Ñ\82измеÑ\81и',
# Unused templates
'unusedtemplates' => 'Хайырландырылмагъан шаблонла',
'protectedtitles' => 'Джакъланнган башлыкъла',
'protectedtitlestext' => 'Бу атланы хайырланыргъа эркинлик джокъду',
'protectedtitlesempty' => 'Бусагъатда, бу параметрле бла джакъланнган башлыкъ джокъду.',
-'listusers' => 'Ð\9aÑ\8aоÑ\88Ñ\83лÑ\83Ñ\83Ñ\87Ñ\83ланÑ\8b Ñ\81пиÑ\81огÑ\83',
+'listusers' => 'Ð\9aÑ\8aоÑ\88Ñ\83лÑ\83Ñ\83Ñ\87Ñ\83ланÑ\8b Ñ\82измеÑ\81и',
'listusers-editsonly' => 'Къуру тюрлендириу этген къошлуучуланы кёргюз',
'listusers-creationsort' => 'Къуралгъан заманына кёре сафла',
'usereditcount' => '$1 {{PLURAL:$1|тюрлендириу|тюрлендириу}}',
'speciallogtitlelabel' => 'Ышан (башлыкъ неда къошулуучу):',
'log' => 'Журналла',
'all-logs-page' => 'Бютеу ачыкъ журналла',
-'alllogstext' => '{{SITENAME}} Ñ\8eÑ\87Ñ\8eн бÑ\8eÑ\82еÑ\83 баÑ\80 болгÑ\8aан жÑ\83Ñ\80налланÑ\8b биÑ\80леÑ\88ген Ñ\81пиÑ\81огÑ\83.
-Журнал типини, къошулуучу атны (уллу-гитче харифге кёре) неда тийилген бетни (олда уллу-гитче харифге кёре) элерге боллукъсуз.',
+'alllogstext' => '{{SITENAME}} Ñ\8eÑ\87Ñ\8eн бÑ\8eÑ\82еÑ\83 баÑ\80 болгÑ\8aан жÑ\83Ñ\80налланÑ\8b биÑ\80леÑ\88ген Ñ\82измеÑ\81и.
+Журнал типини, къошулуучу атны (уллу-гитче харифге кёре) неда тийилген бетни (ол да уллу-гитче харифге кёре) элерге боллукъсуз.',
'logempty' => 'Журналлагъа келишген билги джокъду.',
'log-title-wildcard' => 'Бу символладан башланнган башлыкъланы изле',
'listusers-blocked' => '(блокга салыныбды)',
# Special:ActiveUsers
-'activeusers' => 'Ð\90кÑ\82ив кÑ\8aоÑ\88Ñ\83лÑ\83Ñ\83Ñ\87Ñ\83ланÑ\8b Ñ\81пиÑ\81огÑ\83',
+'activeusers' => 'Ð\90кÑ\82ив кÑ\8aоÑ\88Ñ\83лÑ\83Ñ\83Ñ\87Ñ\83ланÑ\8b Ñ\82измеÑ\81и',
'activeusers-intro' => 'Бу, ахыр $1 {{PLURAL:$1|кюнде|кюнде}} къаллайда болсун ишлетме кёргюзген къошлуучуланы списогуду.',
'activeusers-count' => 'Ахыр {{PLURAL:$3|кюнде|$3 кюнде}} $1 {{PLURAL:$1|тюрлендириу|тюрлендириу}}',
'activeusers-from' => 'Бу бла башланнган къошлуучуланы кёргюз:',
'listgrouprights-group' => 'Къауум',
'listgrouprights-rights' => 'Хакъла',
'listgrouprights-helppage' => 'Help:Къауумланы хакълары',
-'listgrouprights-members' => '(гÑ\80Ñ\83ппанÑ\8b Ñ\81пиÑ\81огÑ\83)',
+'listgrouprights-members' => '(кÑ\8aаÑ\83Ñ\83мнÑ\83 Ñ\82измеÑ\81и)',
'listgrouprights-right-display' => '<span class="listgrouprights-granted">$1 <tt>($2)</tt></span>',
'listgrouprights-right-revoked' => '<span class="listgrouprights-revoked">$1 <tt>($2)</tt></span>',
'listgrouprights-addgroup' => '{{PLURAL:$2|Къауум|Къауум}} къошаргъа боллукъду: $1',
# Watchlist
'watchlist' => 'Кёзюмде тургъан тизмем',
-'mywatchlist' => 'Кёзюмде тургъан тизмем',
+'mywatchlist' => 'Кёзюмдеги тизмем',
'watchlistfor2' => '$1 ючюн $2',
'nowatchlist' => 'Кёзюгюзде тургъан тизмегиз бошду.',
'watchlistanontext' => 'Кёзюгюзде тургъан тизмегизни статьяланы кёрюр неда тюрлендирир ючюн $1.',
# Contributions
'contributions' => 'Къошулуучуну къошханы',
'contributions-title' => '$1 къошулуучуну къошагъы',
-'mycontris' => 'Ð\9cени къошханым',
+'mycontris' => 'Ð\9aъошханым',
'contribsub2' => '$1 ($2) къошакъ',
'nocontribs' => 'Бу критерийлеге келишген тюрлениуле табылмадыла',
'uctop' => '(ахыргъы)',
'sp-contributions-newbies-title' => 'Джангы тергеу джазыуладан этилген къошакъ',
'sp-contributions-blocklog' => 'Блок этиуню журналы',
'sp-contributions-deleted' => 'къошулуучуну кетерилген тюрлендириулери',
+'sp-contributions-uploads' => 'джюкленнгенле',
'sp-contributions-logs' => 'журналла',
'sp-contributions-talk' => 'сюзюу',
'sp-contributions-userrights' => 'къошулуучуну хакъларына оноу этиу',
'nolinkshere-ns' => "Сайланнган атла аламда '''[[:$1]]''' бетге джиберген бет джокъду.",
'isredirect' => 'джибериу бет',
'istemplate' => 'къошуу',
-'isimage' => 'Ñ\81Ñ\83Ñ\80аÑ\82Ñ\85а джибериу',
+'isimage' => 'Ñ\84айлгÑ\8aа джибериу',
'whatlinkshere-prev' => '{{PLURAL:$1|алдагъы|алдагъы $1}}',
'whatlinkshere-next' => '{{PLURAL:$1|эндиги|эндиги $1}}',
'whatlinkshere-links' => '← джибериуле',
'ipusubmit' => 'Бу тыйгъычны кетер',
'unblocked' => '[[User:$1|$1]]- тыйылыу тохтатылгъанды',
'unblocked-id' => '$1 тыйылыу къоратылгъанды',
-'ipblocklist' => 'Блок этилиннген IP-адресле эм къошулуучуланы атлары',
+'ipblocklist' => 'Блок этилиннген къошулуучула',
'ipblocklist-legend' => 'Тыйылгъан къошулуучуну аты',
'blocklist-expiry' => 'Бошалыу датасы',
'blocklist-reason' => 'Чурум',
'tooltip-pt-anonuserpage' => 'Сизни IP-адресигиз ючюн къошулуучу бет',
'tooltip-pt-mytalk' => 'Сизни сюзюу бетигиз',
'tooltip-pt-anontalk' => 'Бу IP-адресден этилген тюрлендириулени сюзюу бет',
-'tooltip-pt-preferences' => 'Ð\94жарашдырыуларыгъыз',
+'tooltip-pt-preferences' => 'Сизни джарашдырыуларыгъыз',
'tooltip-pt-watchlist' => 'Сиз кёзюгюзде тутхан бетлени тизмеси',
'tooltip-pt-mycontris' => 'Сизни тюрлендириулеригизни тизмеси',
'tooltip-pt-login' => 'Былайда системада регистрация этерге боллукъду, алай а ол ажымсыз керекли тюйюлдю',
'tooltip-n-mainpage' => 'Баш бетге кёчюу',
'tooltip-n-mainpage-description' => 'Баш бетге кёчюу',
'tooltip-n-portal' => 'Проектни юсюнден, сизни не этерге боллугъугъузню юсюнден, хар не къайда болгъаныны юсюнден',
-'tooltip-n-currentevents' => 'Ð\91Ñ\83Ñ\81агÑ\8aаÑ\82да болгÑ\8aан иÑ\88лени Ñ\81пиÑ\81огÑ\83',
-'tooltip-n-recentchanges' => 'Ð\90Ñ\85Ñ\8bÑ\80 Ñ\82Ñ\8eÑ\80лениÑ\83лени Ñ\81пиÑ\81огÑ\83',
+'tooltip-n-currentevents' => 'Ð\91Ñ\83Ñ\81агÑ\8aаÑ\82да болгÑ\8aан иÑ\88лени Ñ\82измеÑ\81и',
+'tooltip-n-recentchanges' => 'Ð\90Ñ\85Ñ\8bÑ\80 Ñ\82Ñ\8eÑ\80лениÑ\83лени Ñ\82измеÑ\81и',
'tooltip-n-randompage' => 'Эсде болмагъан бир бетге къара',
'tooltip-n-help' => '«{{SITENAME}}» проектге джардам этиу',
-'tooltip-t-whatlinkshere' => 'Бу бетге джибериу берген бютеу бетлени списогу',
+'tooltip-t-whatlinkshere' => 'Бу бетге джибериу берген бютёу бетлени тизмеси',
'tooltip-t-recentchangeslinked' => 'Бу бет джибериуле берген бетледе ахыр тюрлениуле',
'tooltip-feed-rss' => 'Бу битге RSS-трансляция',
'tooltip-feed-atom' => 'Бу бетге Atom-трансляция',
'tooltip-t-contributions' => 'Къошулуучуну тюрлендирген бетлерине къара',
'tooltip-t-emailuser' => 'Бу къошулуучугъа письмо джибер',
'tooltip-t-upload' => 'Файлланы джюклеу',
-'tooltip-t-specialpages' => 'Бютеу къуллукъчу бетлени списогу',
+'tooltip-t-specialpages' => 'Бютёу къуллукъчу бетлени тизмеси',
'tooltip-t-print' => 'Бу бетни басмагъа версиясы',
'tooltip-t-permalink' => 'Бетни бу версиясына дайым джибериу',
'tooltip-ca-nstab-main' => 'Статьяны ичиндеги',
'version-software' => 'Салыннган программа баджарыу',
'version-software-product' => 'Продукт',
'version-software-version' => 'Версия',
+'version-entrypoints' => 'Кириу нохталаны адреслери',
+'version-entrypoints-header-entrypoint' => 'Кириу нохта',
'version-entrypoints-header-url' => 'URL',
# Special:FilePath
'sqlite-no-fts' => '$1 толу текст излеуню хайырландыра билмеген',
# New logging system
+'logentry-delete-delete' => '$1, $3 бетни кетерди',
'revdelete-content-hid' => 'ичиндегиси джашырылыбды',
'revdelete-summary-hid' => 'тюрлендириуню ачыкълауу джашырылыбды',
'revdelete-uname-hid' => 'къошулуучуну аты джашырылыбды',
'api-error-invalid-file-key' => 'Ич халат: болджаллы асыраучу джерде файл табылмады.',
'api-error-mustbeposted' => 'Ич халат: соруу, HTTP POST инструкцияны излейди.',
'api-error-ok-but-empty' => 'Ич халат: сервер джууаб бермейди.',
+'api-error-timeout' => 'Сакълагъан заманны ичинде сервер джуууб бермейди.',
'api-error-unclassified' => 'Белгили болмагъан халат чыкъды',
'api-error-unknown-code' => 'Билинмеген халат: «$1».',
'api-error-unknown-error' => 'Ич халат: файлны джюклерге излеген сагъатда не эсе да терс болду.',
'customjsprotected' => 'Do darfs di JavaSkep-Sigg heh nit ändere. Se jehööt enem andere Metmacher un es e Stöck funn dämm sing eije Enstellunge.',
'ns-specialprotected' => '{{int:nstab-special}}e künne mer nit ändere.',
'titleprotected' => "Dä Tittel för en Sigg eß verbodde, fum [[User:$1]], un dr Jrond wohr: ''„$2“''",
+'filereadonlyerror' => 'Mer künne di Dattei „$1“ nit ändere, weil dat repository „$2“ bloß för ze Lässe doh es.
+
+Dä Wiki_Köbes dovun hät beim Deeschmaache als Jrond aanjejovve: „$3“',
+'invalidtitle-knownnamespace' => '„$3“ es ene onjöltijje Tittel för em Appachtemang „$2“',
+'invalidtitle-unknownnamespace' => '„$2“ es ene onjöltijje Tittel för e Appachtemang met dä verkehte Nommer $1.',
# Virus scanner
'virus-badscanner' => "Fääler en de Enstellunge: Dat Projramm ''$1'' fö noh Kompjuterwiere ze söke, dat kenne mer nit.",
'emailconfirmlink' => 'Dun Ding <i lang="en">e-mail</i> Adress bestätije looße',
'invalidemailaddress' => 'Wat De do als en Adreß för Ding <i lang="en">e-mail</i> aanjejovve häs, süht noh Dress us. En <i lang="en">e-mail</i> Adreß en däm Format, dat jitt et nit. Muss De repareere - oder Do mähs dat Feld leddich un schrievs nix eren. Un dann versök et noch ens.',
'cannotchangeemail' => 'Sing <i lang="en">e-mail<i> Addreß kam_mer ehe em Wiki nit ändere.',
+'emaildisabled' => 'Heh dat Wiki kann kein <i lang="en">e-mails</i> verschecke.',
'accountcreated' => 'Aanjemeldt',
'accountcreatedtext' => 'De Aanmeldung för dä Metmaacher „<strong>$1</strong>“ es dorsch, De kanns jetz enlogge.',
'createaccount-title' => 'Enne neue Metmaacher aanmelde för {{GRAMMAR:Akkusativ|{{SITENAME}}}}',
'updated' => '(Aanjepack)',
'note' => "'''Opjepass:'''",
'previewnote' => "'''Heh kütt nor de Vör-Aansich — Ding Änderunge sin noch nit jesechert!'''",
+'continue-editing' => 'Wiggerschrieve',
'previewconflict' => 'Heh die Vör-Aansich zeich dä Enhald vum bovvere Texfeld.
Esu wööd dä Atikkel ussinn, wann De n jetz avspeichere däts.',
'session_fail_preview' => "'''Schad: Ding Änderunge kunnte mer su nix met aanfange.
'token_suffix_mismatch' => "'''Ding Änderung ham_mer nit övvernomme. Dinge Brauser hät Sazzeijche em verstoche <i lang=\"en\">Token</i> för et Ändere versout. Dat paßeet och ens, wann enne <i lang=\"en\">Proxy</i> nit fungkßjeneet. Et Affspeichere wör do jefährlesch, do künt dä Sigge_Enhaldt kapott bei jon.'''",
'edit_form_incomplete' => "'''Ene Aandeil vun dämm Fommulaa es nit reshtesh om ẞööver aanjekumme. Donn Ding Ennjaabe prööve, repareere, un versöhg et norrens.'''",
'editing' => 'De Sigg „$1“ ändere',
+'creating' => 'De Sigg „$1“ aanlääje',
'editingsection' => 'Ne Avschnedd vun dä Sigg: „$1“ ändere',
'editingcomment' => '„$1“ ändere (ene neue Avschnedd schrieve)',
'editconflict' => 'Problemche: „$1“ dubbelt bearbeidt.',
'edit-conflict' => 'Dubbelt beärbeit.',
'edit-no-change' => 'Do häs ja nix aan dä Sigg jeändert, do dom_mer och nix domet.',
'edit-already-exists' => 'Kunnt kei neu Sigg aanlääje. Di Sigg jidd_et ald.',
+'defaultmessagetext' => 'Dä standaadmäßije Tex',
# Parser/template warnings
'expensive-parserfunction-warning' => "'''Opjepaß:''' Die Sigg heh määt zovill Opwand met Paaser-Funkßjohne.
'parser-template-loop-warning' => 'Schablon roofe sesch em Kringel op: [[$1]]',
'parser-template-recursion-depth-warning' => 'Schablone refe sesch zo öff sellver op ($1)',
'language-converter-depth-warning' => 'Zoh vill Verschachtelunge (övver $1) beim Täx-Ömwandelle vun ein Shprooch en andere.',
+'node-count-exceeded-category' => 'Sigge, woh dä övverschredde es',
+'node-count-exceeded-warning' => 'Heh di Sigg hät dä övverschredde',
+'expansion-depth-exceeded-category' => 'Sigge, woh de övverschredde es',
+'expansion-depth-exceeded-warning' => 'Heh di Sigg hät the expansion depth övverschredde',
+'parser-unstrip-loop-warning' => 'Ene Befähl em Täx betrick sesch op sesch sellef.',
+'parser-unstrip-recursion-limit' => 'Ene Befähl em Täx es mieh wi {{PLURAL:$1|eijmohl|$1 Mohl|jaa nit}} met sesch sellef verschachtelt.',
# "Undo" feature
'undo-success' => 'De Änderung könnte mer zeröck nämme. Beloor Der de Ungerscheid un dann donn di Sigg avspeichere, wann De dengks, et es en Oodenung esu.',
# Diffs
'history-title' => 'Älder Versione vun dä Sigg „$1“',
+'difference-title' => 'Ongerscheide zwesche Versione vun dä Sigg „$1“',
+'difference-title-multipage' => 'Ongerscheide zwesche dä Sigge „$1“ un „$2“',
'difference-multipage' => '(Ongerscheide zwesche Sigge)',
'lineno' => 'Reih $1:',
'compareselectedversions' => 'Dun de markeete Version verjliche',
'prefs-beta' => 'Saache zum Ußprobeere, di schun en Zick lang erproob woode sin',
'prefs-datetime' => 'Datum un Uhrzigge',
'prefs-labs' => 'Neu Saache zom Ußprobeere, die künnte noch nit akeraat fluppe',
+'prefs-user-pages' => 'Metmaachersigge',
'prefs-personal' => 'De Enstellunge',
'prefs-rc' => 'Neuste Änderunge',
'prefs-watchlist' => 'De Oppassliss',
'prefs-setemail' => 'Donn en Adräß för de <i lang="en">e-mail</i> faßlääje',
'prefs-email' => '<i lang="en">e-mail</i>',
'prefs-rendering' => 'Et Sigge-Aanzeije',
-'saveprefs' => 'Fasshalde',
+'saveprefs' => 'Faßhalde',
'resetprefs' => 'Zeröck setze',
'restoreprefs' => 'Alles op der Shtandatt retuur stelle',
'prefs-editing' => 'Beim Bearbeide',
'newsectionsummary' => 'Neu Avschnet /* $1 */',
'rc-enhanced-expand' => 'Einzelheite zeije (bruch JavaSkripp)',
'rc-enhanced-hide' => 'Einzelheite versteiche',
+'rc-old-title' => 'ojinaal als „$1“ aanjelaat',
# Recent changes linked
'recentchangeslinked' => 'Änderunge aan Sigge, wo heh drop jelink es',
'upload-too-many-redirects' => 'Zoh vill Ömleitunge en däm <i lang="en">URL</i>',
'upload-unknown-size' => 'Mer weße nit, wi jruuß',
'upload-http-error' => 'Ene <i lang="en">HTTP</i>-Fäähler es opjetrodde: $1',
+'upload-copy-upload-invalid-domain' => 'Fun dä Domain künne mer nix noh heh huh laade. Di es nit zohjelohße.',
# File backend
'backend-fail-stream' => 'Mer kunnte di Dattei $1 nit övverdraare.',
'backend-fail-writetemp' => 'Mer kunnte nit en de Zweschedattei schriive.',
'backend-fail-closetemp' => 'Mer kunnte de Zweschedattei no zohmaache.',
'backend-fail-read' => 'Mer kunnte di Dattei $1 nit lässe.',
-'backend-fail-create' => 'Mer kunnte di Dattei $1 nit aanlääje.',
+'backend-fail-create' => 'Mer kunnte di Dattei $1 nit schrieve.',
+'backend-fail-maxsize' => 'Mer kunnte di Dattei $1 nit schrieve, weil se jrüüßer wi {{PLURAL:$2|ein Byte|$2 Bytes|kein Byte}} es.',
+'backend-fail-readonly' => 'Dem Wiki sing Schpeischersysteem „$1“ es em Momang bloß för ze Lässe enjeschtallt.
+Als Jrond es aanjejovve: „$2“',
+'backend-fail-synced' => 'Di Dattei „$1“ es em Momang en enem onklohre Zohschtand en dem Wiki singe ennere Schpeischersysteeme.',
+'backend-fail-connect' => 'Mer kunnte kein Verbendong met däm Schpeischersysteem „$1“ opnämme.',
+'backend-fail-internal' => 'Ene onklohre Fähler es opjetrodde met däm Schpeischersysteem „$1“.',
+'backend-fail-contenttype' => 'Mer kunnte de Zoot Enhalt nit eruß krijje, di en dä Dattei „$1“ faßjehallde wääde sull.',
+'backend-fail-batchsize' => 'Dat Schpeischersysteem hät ene Pöngel met {{PLURAL:$1|einem Befähl|$1 Befähle|keinem Befähl}} krääje, ävver et kann bloß {{PLURAL:$2|eine Befähl|$2 Befähle|keine Befähl}} op eijmohl.',
+'backend-fail-usable' => 'Mer kunnte di Dattei $1 nit schrieve, weil e Verzeischnes udder ene container fählt, udder et Rääsch, dren ze schrieve.',
+
+# File journal errors
+'filejournal-fail-dbconnect' => 'Mer kunnte kein Verbendong opnämme met dä Daatebangk för et Logbooch vum Schpeischersysteem „$1“.',
+'filejournal-fail-dbquery' => 'Mer kunnte en et Logbooch vum Schpeischersysteem „$1“ nix eren schriive.',
# Lock manager
'lockmanager-notlocked' => 'Mer kunnte „$1“ nit freijävve. Ed es nit jeschpächt.',
'sharedupload-desc-here' => 'Di Datei kütt vun $1 un kann en ander Projekte jebruch wäde.
Jenouer Date övver se fingk mer op dä [$2 Sigg övver se].
Dat sellve shteiht hee dronger.',
+'sharedupload-desc-edit' => 'Heh di Dateti es vun $1 un künnt anderswoh och jebruch wääde.
+Velleisch sullts De dä [$2 Täx övver se doh] aanpasse.',
+'sharedupload-desc-create' => 'Heh di Dateti es vun $1 un künnt anderswoh och jebruch wääde.
+Velleisch sullts De dä [$2 Täx övver se doh] aanpasse.',
'filepage-nofile' => 'Et jit kein Datei met dämm Nahme.',
'filepage-nofile-link' => 'Et jit kein Datei met dämm Nahme, ävver De kanns se [$1 huhlaade].',
'uploadnewversion-linktext' => 'Dun en neu Version vun dä Datei huhlade',
'wantedpages' => 'Sigge, die mer noch nit han, die noch jebruch wääde',
'wantedpages-badtitle' => 'Ene onjöltijje Tittel för en Sigg: $1',
'wantedfiles' => 'Dateie, di onß noch fähle',
+'wantedfiletext-cat' => 'Heh di Datteije sin nit doh. Se wääde ävver jebruch, wi wann se doh wööre.
+Datteije uß frembde Sammlonge künne heh opjeleß sin, och wann et se jitt.
+Di sin dann <del>dorschjeschtresche</del>.
+Sigge, woh Datteije jebruch wääde sulle, die mer jaa nit han, fengk mer och en dä [[:$1]].',
+'wantedfiletext-nocat' => 'Heh di Datteije sin nit doh. Se wääde ävver jebruch, wi wann se doh wööre.
+Datteije uß frembde Sammlonge künne heh opjeleß sin, och wann et se jitt.
+Di sin dann <del>dorschjeschtresche</del>.',
'wantedtemplates' => 'Schablone, die mer noch nit han, die noch jebruch wääde',
'mostlinked' => 'Atikele met de miehste Links drop',
'mostlinkedcategories' => 'Saachjruppe met de miehste Links drop',
'allpagesbadtitle' => 'Dä Siggename es nit ze jebruche. Dä hät e Köözel för en Sproch oder för ne Interwiki Link am Aanfang, oder et kütt e Zeiche dren för, wat en Siggename nit jeiht, villeich och mieh wie
eins vun all däm op eimol.',
'allpages-bad-ns' => "Dat Appachtemeng „$1“ ha'mer nit.",
+'allpages-hide-redirects' => 'Ömleidunge fott lohße',
+
+# SpecialCachedPage
+'cachedspecial-viewing-cached-ttl' => 'Dat heh küdd ussem Zewescheschpeischer un kann bes op $1 alt sin.',
+'cachedspecial-viewing-cached-ts' => 'Dat heh küdd ussem Zewescheschpeischer un nünnt nidd om neuste Schtand sin.',
+'cachedspecial-refresh-now' => 'De neuste Version.',
# Special:Categories
'categories' => 'Saachjruppe',
'import-logentry-interwiki-detail' => '{{PLURAL:$1|ein Version|$1 Versione|kein Version}} vun „$2“',
# JavaScriptTest
-'javascripttest-disabled' => 'Di Funxjon es ußjeschalldt.',
+'javascripttest' => ' JavaSkrepte ußprobeere.',
+'javascripttest-disabled' => 'Di Funxjon es en heh dämm Wiki ußjeschalldt.',
'javascripttest-title' => 'De Prööfunge „$1“ loufe.',
+'javascripttest-pagetext-noframework' => 'Heh di Sigg es för JavaSkrepte ußzeprobeere.',
'javascripttest-pagetext-unknownframework' => 'Dä Prööfrahme „$1“ es onbikannt.',
+'javascripttest-pagetext-frameworks' => 'Bes esu jood un söök eine vun dä Prööfömjävvonge us: $1',
'javascripttest-pagetext-skins' => 'Sööke en Bovverfläsch udder et Ußsinn uß, öm di Prööfonge domet ze maache:',
+'javascripttest-qunit-intro' => 'Loor noh dä [$1 Dokemäntation övver et Prööfe] op mediawiki.org.',
+'javascripttest-qunit-heading' => 'De Sammlong vum MediaWiki sing JavaSkrep-<i lang="en">QUnit</i>-Pröövunge',
# Tooltip help for the actions
'tooltip-pt-userpage' => 'Don Ding eije Metmaachersigg aanzeije',
'version-software' => 'Installeete Soffwäer',
'version-software-product' => 'Produk',
'version-software-version' => 'Version',
+'version-entrypoints' => '<i lang="en>URLs</i> för enzeschteije',
+'version-entrypoints-header-entrypoint' => 'Enschteesch',
+'version-entrypoints-header-url' => '<i lang="en">URL</i>',
# Special:FilePath
'filepath' => 'Medije-Dateie med ier URL zëije',
'api-error-uploaddisabled' => 'Et Huhlaade es en heh däm Wiki nit zohjelohße.',
'api-error-verification-error' => 'Di Dattei künnt kappott sin, udder en verkehte Endong em Naame han.',
+# Durations
+'duration-seconds' => '{{PLURAL:$1|ein Sekund|$1 Sekunde|kein Sekund}}',
+'duration-minutes' => '{{PLURAL:$1|ein Menutt|$1 Menutte|kein Menutt}}',
+'duration-hours' => '{{PLURAL:$1|en Stund|$1 Stunde|kein Shtund}}',
+'duration-days' => '{{PLURAL:$1|ene Daach|$1 Dääsch|keine Daach}}',
+'duration-weeks' => '{{PLURAL: $1|en Woch|§1 Woche|kein Woch}}',
+'duration-years' => '{{PLURAL:$1|e Johr|$1 Johre|kei Johr}}',
+'duration-decades' => '{{PLURAL:$1|zehn Johre|$1 Johrzehnte|kei Johrzehnt}}',
+'duration-centuries' => '{{PLURAL:$1|e Johrhondert|$1 Johrhonderte|kei Johrhondert}}',
+'duration-millennia' => '{{PLURAL:$1|e Johrdousend|$1 Johrdousende|kei Johrdousend}}',
+
);
'previousrevision' => '←Guhertoya kevintir',
'nextrevision' => 'Guhertoya nûtir→',
'currentrevisionlink' => 'Guhertoya niha nîşan bide',
-'cur' => 'ferq',
+'cur' => 'cudahî',
'next' => 'pêş',
'last' => 'berê',
'page_first' => 'yekemîn',
# Diffs
'history-title' => 'Dîroka versyonên "$1"',
+'difference-title' => 'Cudahiya di navbera guhertoyên "$1" de',
'difference-multipage' => '(Cudahî di navbera rûpelan de)',
'lineno' => 'Rêz $1:',
'compareselectedversions' => 'Guhertoyan bide ber hev',
'nchanges' => '$1 {{PLURAL:$1|guherandinek|guherandin}}',
'recentchanges' => 'Guherandinên dawî',
'recentchanges-legend' => 'Vebijarkên guherandinên dawî',
+'recentchanges-summary' => 'Guhertinên herî dawî yên wîkiyê li ser vê rûpelê bişopîne.',
'recentchanges-label-minor' => 'Ev guhertineka biçûk e',
'rcnote' => "Jêr {{PLURAL:$1|guherandinek|'''$1''' guherandinên dawî}} di {{PLURAL:$2|rojê|'''$2''' rojên dawî}} de ji $3 şûnde tên nîşan dan.",
'rclistfrom' => 'an jî guherandinên ji $1 şûnda nîşan bide.',
'htmlform-selectorother-other' => 'Yên din',
# New logging system
+'logentry-delete-delete' => '$1 rûpela $3 jê bir',
+'revdelete-content-hid' => 'naverok veşartî ye',
'revdelete-uname-hid' => 'navê bikarhêneriyê yê veşartî',
+'logentry-move-move' => '$1 navê $3 weke $4 guherand',
+'logentry-move-move-noredirect' => '$1 navê $3 guherand û kir $4',
+'logentry-move-move_redir' => '$1 navê $3 guherand û kir $4',
'logentry-newusers-newusers' => '$1 hesabekî bikarhêneriyê çêkir',
'logentry-newusers-create' => '$1 hesabekî bikarhêneriyê çêkir',
'newuserlog-byemail' => 'şîfre bi e-nameyê hate şandin',
'tog-watchdefault' => 'За дуьзар хъувунвай ччинар зи гуьзетунин сиягьдиз алава авун',
'tog-watchmoves' => 'За тIвар эхцигай ччинар зи гуьзетунин сиягьдиз алава авун',
'tog-watchdeletion' => 'За алуднавай ччинар зи гуьзетунин сиягьдиз алава авун',
+'tog-minordefault' => 'Авайвилелди, вири дуьзар хъувунар гъвечIи дуьзар хъувунар хьиз лишан авун',
'tog-previewontop' => 'Сифтедин килигун дуьзар хъувундин дакIардин вилик эцига',
'tog-previewonfirst' => 'Дуьзар хъувундиз эгечIайла сифтедин килигун къалурун',
'tog-enotifwatchlistpages' => 'Зи гуьзетунин ччин масакIа хьайила заз эмейл ракъура.',
# Font style option in Special:Preferences
'editfont-style' => 'Дуьзар хъувунин чкадин шрифтдин жуьре',
+'editfont-default' => 'Браузердин низамарунрикай шрифт',
'editfont-monospace' => 'Моногьяркьуьвилер авай шрифт',
'editfont-sansserif' => 'КЬацI авачир шрифт',
'editfont-serif' => 'КьацI авай кхьин',
'september' => 'мара (сентябрь)',
'october' => 'баскӀум (октябрь)',
'november' => 'цӀехуьл (ноябрь)',
-'december' => 'фандукl (декабрь)',
+'december' => 'фундукӀ (декабрь)',
'january-gen' => 'гьер (январдиз)',
'february-gen' => 'эхен (февралдиз)',
'march-gen' => 'ибне (мартдиз)',
'pagecategories' => '{{PLURAL:$1|Категория|Категории}}',
'category_header' => '"$1" категориядин ччинар',
'subcategories' => 'агъакатегорияр',
-'category-media-header' => '"$1" категориядин медиа',
+'category-media-header' => '"$1" категоридин медиа',
'category-empty' => "''Алай чIава и категория ичIи я.\"",
'hidden-categories' => '{{PLURAL:$1|Чуьнуьхай категория |Чуьнуьхай категорияр }}',
'hidden-category-category' => 'Чуьнуьхай категорияр',
'timezoneregion-pacific' => 'Секин чIехи гуьл',
'prefs-files' => 'Шикил',
'youremail' => 'Электрон почта:',
-'username' => 'Ð\98Ñ\88лемиÑ\88Ñ\87идин тӀвар',
+'username' => 'УÑ\80Ñ\82аÑ\85дин тӀвар',
'uid' => 'Уртах тайин ийидайди:',
'yourrealname' => 'Xалис тIвар:',
'yourlanguage' => 'ЧIалар',
'recentchanges' => 'Mукьвара хьайи масакӀавилер',
'recentchanges-legend' => 'Цlийи масакIавилерин низамарунар',
'recentchanges-summary' => 'Викида хьанвай эхиримжи масакIавилер и ччина гуьзетун',
-'recentchanges-feed-description' => 'Ð\98 Ñ\85вала викида Ñ\85Ñ\8cанвай Ñ\8dÑ\85иÑ\80имжи маÑ\81акIавилеÑ\80 гÑ\83Ñ\8cзеÑ\82Ñ\83н',
+'recentchanges-feed-description' => 'Ð\98 Ñ\85вала викида Ñ\85Ñ\8cанвай Ñ\8dÑ\85иÑ\80имжи маÑ\81акIавилеÑ\80 вилив Ñ\85Ñ\83Ñ\8cн',
'recentchanges-label-newpage' => 'И дуьзар хъувун цlийи ччин туькlуьрна',
'recentchanges-label-minor' => 'Им гъвечlи дуьзар хъувун я',
'recentchanges-label-bot' => 'И дуьзар хъувун ботди авунвайд я',
'recentchangeslinked-toolbox' => 'Галкlанвай масакIавилер',
'recentchangeslinked-title' => '"$1" галаз галкlанавай масакIавилер',
'recentchangeslinked-noresult' => 'Ганвай чlава галкlанавай ччинра са масакIавални хьанвайд туш',
-'recentchangeslinked-summary' => 'Ð\98м кÑ\8aалÑ\83Ñ\80ай Ñ\87Ñ\87иниз (ва Ñ\8f кÑ\8aалÑ\83Ñ\80ай каÑ\82егоÑ\80иÑ\8fдиз гÑ\8cаÑ\82завай Ñ\87Ñ\87инÑ\80из) Ñ\8dлÑ\8fÑ\87Iзавай Ñ\87Ñ\87инÑ\80а мÑ\83кÑ\8cваÑ\80а Ñ\85Ñ\8cайи маÑ\81акIавилеÑ\80ин Ñ\81иÑ\8fгÑ\8c Ñ\8f. Ð\9aÑ\83Ñ\8c [[Special:Watchlist| гÑ\83Ñ\8cзеÑ\82Ñ\83нин Ñ\81иÑ\8fгÑ\8c ]]диз гьатзавай ччинар яцlу шрифтдал къалурнава.',
+'recentchangeslinked-summary' => 'Ð\98м кÑ\8aалÑ\83Ñ\80ай Ñ\87Ñ\87иниз (ва Ñ\8f кÑ\8aалÑ\83Ñ\80ай каÑ\82егоÑ\80иÑ\8fдиз гÑ\8cаÑ\82завай Ñ\87Ñ\87инÑ\80из) Ñ\8dлÑ\8fÑ\87Iзавай Ñ\87Ñ\87инÑ\80а мÑ\83кÑ\8cваÑ\80а Ñ\85Ñ\8cайи маÑ\81акIавилеÑ\80ин Ñ\81иÑ\8fгÑ\8c Ñ\8f. Ð\9aÑ\83Ñ\8c [[Special:Watchlist| вилив Ñ\85Ñ\83Ñ\8cнин Ñ\81иÑ\8fгÑ\8c ]]диз гьатзавай ччинар яцlу шрифтдал къалурнава.',
'recentchangeslinked-page' => 'Ччинин тlвар:',
'recentchangeslinked-to' => 'Аксина, къалурай ччиниз элячlзавай ччинра масакIавилер къалура',
'emailsend' => 'Ракъурун',
# Watchlist
-'watchlist' => 'Ð\97и гÑ\83Ñ\8cзеÑ\82Ñ\83нин сиягь',
-'mywatchlist' => 'Ð\97и гÑ\83Ñ\8cзеÑ\82Ñ\83нин сиягь',
+'watchlist' => 'Ð\97и вилив Ñ\85Ñ\83Ñ\8cнин сиягь',
+'mywatchlist' => 'Ð\97и вилив Ñ\85Ñ\83Ñ\8cнин сиягь',
'watchlistfor2' => '$1 $2 патал',
'addedwatchtext' => "Чар \"[[:\$1]]\" тун хъувунай куьн [[Special:Watchlist|watchlist]]. Къвезмай дегишунар и чарчел ва галкlанавай чарчихъ ихтилатар жеда инна, ахъатдава \"сакlус яцlу''''' инна [[Special:RecentChanges|list of recent changes]] гьам кьизил авун.",
'removedwatchtext' => 'Чар "[[:$1]]" Идай чlурнай [[Special:Watchlist|ахтармишунин цlарар]].',
-'watch' => 'Ð\93Ñ\83Ñ\8cзеÑ\82Ñ\83н',
+'watch' => 'Ð\92илив Ñ\85Ñ\83Ñ\8cн',
'watchthispage' => 'Гелкъуьн и хъувун',
-'unwatch' => 'Ð\93Ñ\83Ñ\8cзеÑ\82 ийимир',
-'watchlist-details' => 'Ð\9aÑ\83Ñ\8c гÑ\83Ñ\8cзеÑ\82Ñ\83нин Ñ\81иÑ\8fгÑ\8cда {{PLURAL:$1|$1 Ñ\87Ñ\87ин|$1 Ñ\87Ñ\87инаÑ\80}}, веревирдрин ччинар квачиз.',
+'unwatch' => 'Ð\92илив Ñ\85Ñ\83Ñ\8cмир',
+'watchlist-details' => 'Ð\9aÑ\83Ñ\8c вилив Ñ\85Ñ\83Ñ\8cнин Ñ\81иÑ\8fгÑ\8cда {{PLURAL:$1|$1 Ñ\87Ñ\87ин|$1 Ñ\87Ñ\87ин}} авайди Ñ\8f, веревирдрин ччинар квачиз.',
'wlshowlast' => 'Эхиримжи $1 сят $2 югъ $3 къалура',
-'watchlist-options' => 'Ð\93Ñ\83Ñ\8cзеÑ\82Ñ\83нин сиягьдин низамарунар',
+'watchlist-options' => 'Ð\92илив Ñ\85Ñ\83Ñ\8cнин сиягьдин низамарунар',
# Displayed when you click the "watch" button and it is in the process of watching
'watching' => 'Килигун...',
# Contributions
'contributions' => 'Уртахди кутур крар',
'contributions-title' => '$1 уртахдин кутур крар',
-'mycontris' => 'За кутур крар',
+'mycontris' => 'За кутур кар',
'contribsub2' => '($1)-ин кутур пай ($2)',
'uctop' => '(вини кьил)',
'month' => ' Вацралай (ва адалай вилик)',
'import-token-mismatch' => 'Сеансдин ганайбур квахьнава. Тавакъу ийида, мадни алахъун ая.',
# Tooltip help for the actions
-'tooltip-pt-userpage' => 'Куь (уртахдин) ччин',
+'tooltip-pt-userpage' => 'Куьн (уртахдин) ччин',
'tooltip-pt-mytalk' => 'Куь веревирдрин ччин',
'tooltip-pt-preferences' => 'Куь низамарунар',
-'tooltip-pt-watchlist' => 'Ð\9aÑ\83Ñ\8cне гÑ\83Ñ\8cзеÑ\82завай ччинрин сиягь',
+'tooltip-pt-watchlist' => 'Ð\9aÑ\83Ñ\8cне вилив Ñ\85Ñ\83Ñ\8cзвай ччинрин сиягь',
'tooltip-pt-mycontris' => 'Куьне авунвай дуьзар хъувунрин сиягь',
'tooltip-pt-login' => 'Квез гьахьиз теклифзава, анжах им мажбури туш',
'tooltip-pt-logout' => 'ЭкъечIун',
'tooltip-ca-protect' => 'И ччин хуьн',
'tooltip-ca-delete' => 'И ччин алудун',
'tooltip-ca-move' => 'Ччиндин тIвар масакIа авун',
-'tooltip-ca-watch' => 'Ð\98 Ñ\87Ñ\87ин кÑ\83Ñ\8c гÑ\83Ñ\8cзеÑ\82Ñ\83нин сиягьдиз алава авун',
-'tooltip-ca-unwatch' => 'Ð\98 Ñ\87Ñ\87ин кÑ\83Ñ\8c гÑ\83Ñ\8cзеÑ\82Ñ\83нин Ñ\81иÑ\8fгÑ\8cдал къахчун',
+'tooltip-ca-watch' => 'Ð\98 Ñ\87Ñ\87ин кÑ\83Ñ\8c вилив Ñ\85Ñ\83Ñ\8cнин сиягьдиз алава авун',
+'tooltip-ca-unwatch' => 'Ð\98 Ñ\87Ñ\87ин кÑ\83Ñ\8c вилив Ñ\85Ñ\83Ñ\8cнин Ñ\81иÑ\8fгÑ\8cдай къахчун',
'tooltip-search' => '{{SITENAME}} къекъуьн',
'tooltip-search-go' => 'АватIа, гьа и тIвар авай ччиниз элячIун',
'tooltip-search-fulltext' => 'Къалурай текст авай ччинар жугъурун',
'tooltip-preview' => 'Ччин хуьдалди вилик, сифте килигун кардик кутун тавакъу ийизва',
'tooltip-diff' => 'Сифте кьилин текстдиз талукь тир куьне авунвай масакIавилер къалурун',
'tooltip-compareselectedversions' => 'И ччинин кьве хкягъай жуьрейрин арада авай тафаватдиз килигун',
-'tooltip-watch' => 'Ð\98 Ñ\87Ñ\87ин кÑ\83Ñ\8c гÑ\83Ñ\8cзеÑ\82Ñ\83нин сиягьдиз алава авун',
+'tooltip-watch' => 'Ð\98 Ñ\87Ñ\87ин кÑ\83Ñ\8c вилив Ñ\85Ñ\83Ñ\8cнин сиягьдиз алава авун',
'tooltip-rollback' => '« КЬулухъди чIугун » и ччиндиз эхиримжи кар кутазвайди патай авунвай дуьзар хъувунар са т!ампуналди paxкурзава',
'tooltip-undo' => '«Гьич авун» авунвай дуьзар хъувун paxкурзава ва сифтедин килигунин режимда дуьзар хъувундин форма ахъа йийзва. Им нетижадиз себеб алава йийз мумкинвал гузва',
'tooltip-summary' => 'Куьруь нетижа гьадрун',
'limitall' => 'вири',
# action=purge
-'confirm_purge_button' => 'Ð\9eÐ\9a',
+'confirm_purge_button' => 'ÐÐ¥Ñ\8c',
'confirm-purge-top' => 'И ччинин кэш алуддани?',
# action=watch/unwatch
'prefs-beta' => 'Bètadeil',
'prefs-datetime' => 'Datum en tied',
'prefs-labs' => 'Alfadeil',
+'prefs-user-pages' => "Gebroekerpagina's",
'prefs-personal' => 'Gebroekersinfo',
'prefs-rc' => 'Recènte verangeringe en weergaaf van sjtumpkes',
'prefs-watchlist' => 'Volglies',
'nchanges' => '$1 {{PLURAL:$1|bewerking|bewerkinge}}',
'recentchanges' => 'Lètste verangeringe',
'recentchanges-legend' => 'Opties veur recènte verangeringe',
-'recentchanges-summary' => 'op dees pagina kins doe de recènte verangeringe in deze wiki bekieke.',
+'recentchanges-summary' => 'Volg de recènste bewirkinge op deze wiki op dees pagina.',
'recentchanges-feed-description' => 'Volg de meis recente bewerkinge in deze wiki via deze feed.',
'recentchanges-label-newpage' => "Mit dees verangering is 'n nuuj pagina aangemaak",
'recentchanges-label-minor' => "Dit is 'n klein bewirking",
<?php
-/** Lithuanian (Lietuvių)
+/** Lithuanian (lietuvių)
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
'prefs-beta' => 'Beta hman theihnate',
'prefs-datetime' => 'Hun leh ni',
'prefs-labs' => '"Lab" hman theihnate',
+'prefs-user-pages' => 'Hmangtu phêkte',
'prefs-personal' => 'Hmangtu chanchin tawi',
'prefs-rc' => 'Tihdanglam thar',
'prefs-watchlist' => 'Ralvèn',
'prefs-signature' => 'Hmingtàr',
'prefs-dateformat' => 'Hun tarlan dan tùr',
'prefs-timeoffset' => 'Hun inthlauhna',
-'prefs-advancedediting' => 'Duhthlan sang',
-'prefs-advancedrc' => 'Duhthlan sang',
-'prefs-advancedrendering' => 'Duhthlan sang',
-'prefs-advancedsearchoptions' => 'Duhthlan sang',
-'prefs-advancedwatchlist' => 'Duhthlan sang',
+'prefs-advancedediting' => 'Duhthlan ràiril',
+'prefs-advancedrc' => 'Duhthlan ràiril',
+'prefs-advancedrendering' => 'Duhthlan ràiril',
+'prefs-advancedsearchoptions' => 'Duhthlan ràiril',
+'prefs-advancedwatchlist' => 'Duhthlan ràiril',
'prefs-displayrc' => 'Duhthlanna tilang rawh',
'prefs-displaysearchoptions' => 'Duhthlanna tilang rawh',
'prefs-displaywatchlist' => 'Duhthlanna tilang rawh',
'wlshowlast' => 'Darkar $1 kalta-a tihdanglam tilang rawh , ni $2 kalta-a tihdanglam tilang rawh, $3 tilang rawh',
'watchlist-options' => 'Ralvèn duhdàn',
+'enotif_reset' => 'Phêk zawng zawng tlawh tawh vek angin chhinchhiah rawh.',
+'enotif_newpagetext' => 'Hei hi phêk thar a ni.',
'enotif_impersonal_salutation' => '{{SITENAME}} hmangtu',
'changed' => 'tihdanglam a ni ta',
'created' => 'siam a ni ta',
# Namespace form on various pages
'namespace' => 'Hminghmun:',
'invert' => 'Thlan lêtna',
+'namespace_association' => 'Hminghmun kaihhnawih',
'blanknamespace' => '(Phekpui)',
# Contributions
'contributions-title' => '$1 kutthawhnate',
'mycontris' => 'Ka kutthawhnate',
'contribsub2' => '$1 tan ($2) .',
+'nocontribs' => 'I zawn mil tihdanglamna a awm miah lo a nih hmel.',
'uctop' => '(chung)',
'month' => 'Thla (leh a hmalam):',
'year' => 'Kum (leh a hmalam):',
'sp-contributions-newbies' => 'Siangchan tharte kut-thawhna chauh tilang rawh',
+'sp-contributions-newbies-sub' => 'Siangchan thar tán',
+'sp-contributions-newbies-title' => 'Siangchan thar tána hmangtu kutthawhnate',
'sp-contributions-blocklog' => 'danbeh chhinchhiahna',
'sp-contributions-uploads' => 'hlankaite',
'sp-contributions-logs' => 'chanchin-ziak',
<?php
-/** Macedonian (Ð\9cакедонски)
+/** Macedonian (македонски)
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
Можете да го ограничите прикажаното избирајќи тип на дневник, корисничко име (разликува големи и мали букви), или страница (разликува големи и мали букви).',
'logempty' => 'Нема соодветни записи во дневникот.',
'log-title-wildcard' => 'Пребарај наслови кои почнуваат со овој текст',
+'showhideselectedlogentries' => 'Прикажи/скриј одбрани записи',
# Special:AllPages
'allpages' => 'Сите страници',
'rollbacklink' => 'റോൾബാക്ക്',
'rollbackfailed' => 'റോൾബാക്ക് പരാജയപ്പെട്ടു',
'cantrollback' => 'തിരുത്തൽ തിരസ്കരിക്കുവാൻ സാധിക്കുകയില്ല. ഒരു ഉപയോക്താവ് മാത്രമാണ് ഈ താളിൽ സംഭാവന ചെയ്തിരിക്കുന്നത്.',
-'alreadyrolled' => '[[:$1]] എന്ന താളിൽ [[User:$2|$2]] ([[User talk:$2|Talk]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]) നടത്തിയ തിരുത്തലുകൾ മുൻപ്രാപനം ചെയ്യാൻ സാധിക്കുന്നതല്ല. മറ്റാരോ താൾ തിരുത്തുകയോ മുൻപ്രാപനം ചെയ്യുകയോ ചെയ്തിരിക്കുന്നു.
+'alreadyrolled' => '[[:$1]] എന്ന താളിൽ [[User:$2|$2]] ([[User talk:$2|സംവാദം]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]) നടത്തിയ തിരുത്തലുകൾ മുൻപ്രാപനം ചെയ്യാൻ സാധിക്കുന്നതല്ല. മറ്റാരോ താൾ തിരുത്തുകയോ മുൻപ്രാപനം ചെയ്യുകയോ ചെയ്തിരിക്കുന്നു.
-താളിലെ അവസാന തിരുത്തൽ ചെയ്തിരിക്കുന്നത് [[User:$3|$3]] ([[User talk:$3|Talk]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]) ആണ്.',
+താളിലെ അവസാന തിരുത്തൽ ചെയ്തിരിക്കുന്നത് [[User:$3|$3]] ([[User talk:$3|സംവാദം]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]) ആണ്.',
'editcomment' => "തിരുത്തലിന്റെ ചുരുക്കം: \"''\$1''\" എന്നായിരുന്നു.",
'revertpage' => '[[Special:Contributions/$2|$2]] ([[User talk:$2|സംവാദം]]) നടത്തിയ തിരുത്തലുകൾ നീക്കം ചെയ്തിരിക്കുന്നു; നിലവിലുള്ള പതിപ്പ് [[User:$1|$1]] സൃഷ്ടിച്ചതാണ്',
'revertpage-nouser' => '(ഉപയോക്തൃനാമം നീക്കിയിരിക്കുന്നു) നടത്തിയ തിരുത്തലുകൾ [[User:$1|$1]] സൃഷ്ടിച്ച അവസാന പതിപ്പിലേയ്ക്ക് മുൻപ്രാപനം ചെയ്തിരിക്കുന്നു',
'file-info-png-frames' => '{{PLURAL:$1|ഒരു ഫ്രെയിം|$1 ഫ്രെയിം}}',
# Special:NewFiles
-'newimages' => 'à´ªàµ\81തിയ à´ªàµ\8dരമാണà´\99àµ\8dà´\99à´³àµ\81à´\9fàµ\86 à´\97ാലറി',
+'newimages' => 'à´ªàµ\81തിയ à´ªàµ\8dരമാണà´\99àµ\8dà´\99à´³àµ\81à´\9fàµ\86 à´\9aà´¿à´¤àµ\8dരശാല',
'imagelisttext' => '$2 നൽകിയിട്ടുള്ള {{PLURAL:$1|പ്രമാണത്തിന്റെ|$1 പ്രമാണങ്ങളുടെ}} പട്ടിക താഴെ കാണാം.',
'newimages-summary' => 'ചുരുക്കം',
'newimages-legend' => 'അരിപ്പ',
'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 എന്ന താളിനുമുകളിലേയ്ക്ക്, തിരിച്ചുവിടൽ ഇല്ലാതെ മാറ്റിയിരിക്കുന്നു',
<?php
-/** Mongolian (Ð\9cонгол)
+/** Mongolian (монгол)
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
'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' => 'Бодит чиглэл',
'note' => "'''Nota:'''",
'previewnote' => "'''Ftakar li din hija biss dehra proviżorja.'''
It-tibdiliet tiegħek għadhom ma ġewx salvati!",
+'continue-editing' => 'Kompli l-modifika',
'previewconflict' => "Din il-previżjoni turi l-kliem li jinsab fiż-żona ta' modifika superjuri u turi kif tidher kieku l-paġna kella tiġi modifikata.",
'session_fail_preview' => "'''Jiddispjaċina imma l-modifika tiegħek ma setgħetx tiġi pproċessata minħabba li ntilfet l-informazzjoni tas-sessjoni.
Jekk jogħġbok, erġa' pprova. Jekk xorta tibqa' ma taħdimx, ipprova [[Special:UserLogout|oħroġ]] u erġa' idħol.'''",
'faqpage' => 'Project:FAQ',
# Vector skin
-'vector-action-addsection' => 'اÛ\8cضاÙ\81Ù\87 Ù\87کردÙ\86 عÙ\88Ù\86Ù\88ان',
+'vector-action-addsection' => 'ترÙ\86Ù\87 Ú¯Ù¾ بزÙ\88ئن',
'vector-action-delete' => 'پاک هاکردن',
'vector-action-move' => 'دکش هاکردن',
'vector-action-protect' => 'زلفن بزوئن',
'tooltip-pt-mycontris' => 'مه کایریئون لیست',
'tooltip-pt-login' => 'شهما بهتهر هـأسـه که سـیـسـتـهم دهلـه بـیـهئی، هـرچـأن زوری نـیـه',
'tooltip-pt-logout' => 'سیستم جه دأیابـوری',
-'tooltip-ca-talk' => 'صÙ\81ØÙ\87 دربارÙ\87 گپ بَزوئن',
+'tooltip-ca-talk' => 'اÛ\8cÙ\86 صÙ\81ØÙ\87 Ø®Ù\8eÙ\88رÛ\8c گپ بَزوئن',
'tooltip-ca-edit' => 'شِما بتوندی این صفحه ره دَچینی.',
'tooltip-ca-addsection' => 'أتـا نـه گـب را دأکـهتـهن',
'tooltip-ca-viewsource' => 'این صفحه ره نتوندی دَچینی.
<?php
-/** Norwegian Nynorsk (Norsk (nynorsk))
+/** Norwegian Nynorsk (norsk (nynorsk))
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
'readonlywarning' => "'''ÅTVARING: Databasen er skriveverna på grunn av vedlikehald, så du kan ikkje lagre endringane dine akkurat no. Det kan vera lurt å kopiere teksten din til ei tekstfil, så du kan lagre han her seinare.'''
Systemadministratoren som låste databasen gav følgjande årsak: $1",
-'protectedpagewarning' => "'''ÅTVARING: Denne sida er verna, slik at berre administratorar kan endre ho.'''
+'protectedpagewarning' => "'''ÅTVARING: Denne sida er verna, slik at berre administratorar kan endra henne.'''
Det siste loggelementet er oppgjeve under som referanse:",
-'semiprotectedpagewarning' => "'''Merk:''' Denne sida er verna slik at berre registrerte brukarar kan endre henne.
+'semiprotectedpagewarning' => "'''Merk:''' Denne sida er verna slik at berre registrerte brukarar kan endra henne.
Det siste loggelementet er oppgjeve under som referanse:",
'cascadeprotectedwarning' => "'''Åtvaring:''' Denne sida er verna så berre brukarar med administratortilgang kan endre henne. Dette er fordi ho er inkludert i {{PLURAL:$1|denne djupverna sida|desse djupverna sidene}}:",
'titleprotectedwarning' => "'''Åtvaring: Denne sida er verna, så berre [[Special:ListGroupRights|nokre brukarar]] kan opprette henne.'''
'uploadvirus' => 'Fila innheld virus! Detaljar: $1',
'upload-source' => 'Kjeldefil',
'sourcefilename' => 'Filsti:',
-'sourceurl' => 'URL til kjelda:',
+'sourceurl' => 'Kjelde-URL:',
'destfilename' => 'Målfilnamn:',
'upload-maxfilesize' => 'Maksimal filstorleik: $1',
'upload-description' => 'Filskildring',
'broken-file-category' => 'Файлтæм саст æрвитæнтæ кæм ис, ахæм фæрстæ',
'about' => 'Афыст',
-'article' => 'ФÑ\8bÑ\81Ñ\82Ñ\83ац',
+'article' => 'Уац',
'newwindow' => '(кæны ног рудзынджы)',
'cancel' => 'Ныууадзын',
'moredotdotdot' => 'Фылдæр…',
'help' => 'Æххуыс',
'search' => 'Агуырд',
'searchbutton' => 'Агурын',
-'go' => 'ФÑ\8bÑ\81Ñ\82Ñ\83ацмæ',
+'go' => 'Уацмæ',
'searcharticle' => 'Уацмæ',
'history' => 'Фарсы истори',
'history_short' => 'Истори',
'specialpage' => 'Сæрмагонд фарс',
'personaltools' => 'Мигæнæнтæ',
'postcomment' => 'Ног хай',
-'articlepage' => 'ФенÑ\8bн Ñ\84Ñ\8bÑ\81Ñ\82Ñ\83аÑ\86',
+'articlepage' => 'Фенын уац',
'talk' => 'Тæрхон',
'views' => 'Æркæстытæ',
'toolbox' => 'Фæрæзтæ',
'categorypage' => 'Категорийы фарс фен',
'viewtalkpage' => 'Тæрхон фен',
'otherlanguages' => 'Æндæр æвзæгтыл',
-'redirectedfrom' => '(Ð\90Ñ\86Ñ\8b Ñ\84Ñ\8bÑ\81Ñ\82Ñ\83аÑ\86æй æÑ\80вÑ\8bÑ\81Ñ\82: «$1»)',
+'redirectedfrom' => '(Ацы уацæй æрвыст: «$1»)',
'redirectpagesub' => 'Рарвысты фарс',
'lastmodifiedat' => 'Ацы фарс фæстаг хатт ивд æрцыд: $1, $2.',
'viewcount' => 'Ацы фарс домд æрцыд {{PLURAL:$1|иу хатт|$1 хатты}}.',
'sort-ascending' => 'Радæвæрын фылдæркæнынмæ',
# Short words for each namespace, by default used in the namespace tab in monobook
-'nstab-main' => 'ФÑ\8bÑ\81Ñ\82Ñ\83ац',
+'nstab-main' => 'Уац',
'nstab-user' => 'Архайæджы фарс',
'nstab-media' => 'Мультимеди',
'nstab-special' => 'Сæрмагонд фарс',
# Search results
'searchresults' => 'Агуырды фæстиуджытæ',
'searchresults-title' => 'Агуырды фæстиуæг: «$1»',
-'titlematches' => 'СÑ\82аÑ\82Ñ\8cÑ\8fты сæргæндты æмцаутæ',
+'titlematches' => 'УаÑ\86ты сæргæндты æмцаутæ',
'notitlematches' => 'Фæрсты сæргæндты нæй',
-'textmatches' => 'СÑ\82аÑ\82Ñ\8cÑ\8fты æмцаутæ',
+'textmatches' => 'УаÑ\86ты æмцаутæ',
'prevn' => 'рæздæры {{PLURAL:$1|$1}}',
'nextn' => 'иннæ {{PLURAL:$1|$1}}',
'prevn-title' => 'Раздæр $1 {{PLURAL:$1|фæстиуæг|фæстиуæджы}}',
'recentchangeslinked-toolbox' => 'Баст ивдтытæ',
'recentchangeslinked-title' => '"{{grammar:comitative|$1}}" баст ивдтытæ',
'recentchangeslinked-noresult' => 'Нæй баст фæрсты ивдтытæ амынд рæстæджы',
-'recentchangeslinked-summary' => "Ð\90дон Ñ\81Ñ\82Ñ\8b Ñ\84æÑ\81Ñ\82аг Ñ\80æÑ\81Ñ\82æджÑ\8b ивдÑ\82Ñ\8bÑ\82æ аÑ\85æм Ñ\81Ñ\82аÑ\82Ñ\8cÑ\8fты, кæдонмæ æрвиты амынд фарс (кæнæ амынд категорийы уæнгтæ). [[Special:Watchlist|Дæ цæстдард фæрстæ]] сты '''бæзджынæй''' нысангонд.",
+'recentchangeslinked-summary' => "Ð\90дон Ñ\81Ñ\82Ñ\8b Ñ\84æÑ\81Ñ\82аг Ñ\80æÑ\81Ñ\82æджÑ\8b ивдÑ\82Ñ\8bÑ\82æ аÑ\85æм Ñ\83аÑ\86ты, кæдонмæ æрвиты амынд фарс (кæнæ амынд категорийы уæнгтæ). [[Special:Watchlist|Дæ цæстдард фæрстæ]] сты '''бæзджынæй''' нысангонд.",
'recentchangeslinked-page' => 'Фарсы ном:',
'recentchangeslinked-to' => 'Уый бæсты равдисæт амынд фарсмæ æрвитгæ фæрсты ивдтытæ',
# Special:AllPages
'allpages' => 'Иууылдæр фæрстæ',
-'alphaindexline' => '$1 (Ñ\83Ñ\8bдонÑ\8b â\80\99Ñ\85Ñ\81æн Ñ\86Ñ\8b Ñ\81Ñ\82аÑ\82Ñ\8cÑ\8fтæ ис, фен) $2',
+'alphaindexline' => '$1 (Ñ\83Ñ\8bдонÑ\8b â\80\99Ñ\85Ñ\81æн Ñ\86Ñ\8b Ñ\83аÑ\86тæ ис, фен) $2',
'nextpage' => 'Фæдылдзог фарс ($1)',
'prevpage' => 'Раздæры фарс ($1)',
'allarticles' => 'Иууылдæр фæрстæ',
'watchlist' => 'Мæ цæстдард рæгъ',
'mywatchlist' => 'Мæ цæстдард фæрстæ',
'watchlistfor2' => 'Архайæг: $1 $2',
-'nowatchlist' => 'Ð\98Ñ\83 Ñ\81Ñ\82аÑ\82Ñ\8cÑ\8fмæ дæр дæ цæст нæ дарыс.',
+'nowatchlist' => 'Ð\98Ñ\83 Ñ\83аÑ\86мæ дæр дæ цæст нæ дарыс.',
'watchnologin' => 'Системæйæн дæхи нæ бацамыдтай',
'watchnologintext' => 'Ацы номхыгъд ивынæн хъæуы [[Special:UserLogin|бахизын]].',
'removedwatchtext' => '«[[:$1]]» фарсмæ [[Special:Watchlist|дæ цæст]] нал дарыс.',
'watch' => 'Цæст æрдарын',
'watchthispage' => 'Цæст дарын ацы фарсмæ',
'unwatch' => 'Нал дарын цæст',
-'watchnochange' => 'Ð\94æ Ñ\86æÑ\81Ñ\82даÑ\80д Ñ\81Ñ\82аÑ\82Ñ\8cÑ\8fтæй иу дæр ивд не ’рцыдис.',
+'watchnochange' => 'Ð\94æ Ñ\86æÑ\81Ñ\82даÑ\80д Ñ\83аÑ\86тæй иу дæр ивд не ’рцыдис.',
'watchlist-details' => '{{PLURAL:$1|$1 фарсмæ|$1 фарсмæ}} дæ цæст дарыс, тæрхоны фæрстæ нæ нымайгæйæ.',
'watchlistcontains' => 'Дæ цæст $1 {{PLURAL:$1|фарсмæ|фарсмæ}} дарыс.',
'wlnote' => "Дæлæ афæстаг '''$2 сахаты дæргъы''' цы $1 {{PLURAL:$1|ивддзинад|ивддзинады}} æрцыди.",
'tooltip-ca-history' => 'Ацы фарсæн йæ раздæры фæлтæртæ',
'tooltip-ca-protect' => 'Ацы фарс ивддзинæдтæй сæхгæнын',
'tooltip-ca-delete' => 'Аппарын ацы фарс',
-'tooltip-ca-move' => 'СÑ\82аÑ\82Ñ\8cÑ\8fйы ном ивын',
+'tooltip-ca-move' => 'УаÑ\86ы ном ивын',
'tooltip-ca-watch' => 'Бафтау ацы фарс дæ цæстдард рæгъмæ',
'tooltip-ca-unwatch' => 'Айс ацы фарс дæ цæстдард рæгъæй',
'tooltip-search' => '{{grammar:genitive|{{SITENAME}}}} агурын',
'tooltip-t-specialpages' => 'Сæрмагонд фæрсты номхыгъд',
'tooltip-t-print' => 'Ацы фарс мыхуырмæ цæттæ форматы',
'tooltip-t-permalink' => 'Фарсы ацы фæлтæрмæ æрвитæн (фæрстæ ивынц, ацы фæлтæр — нæ)',
-'tooltip-ca-nstab-main' => 'Фен статья',
+'tooltip-ca-nstab-main' => 'Фенын уац',
'tooltip-ca-nstab-user' => 'Архайæджы фарс фенын',
'tooltip-ca-nstab-special' => 'Ай сæрмагонд фарс у, дæ бон æй нæу ивын',
'tooltip-ca-nstab-project' => 'Фенын проекты фарс',
*
* @author AS Alam
* @author Aalam
+ * @author Amire80
* @author Anjalikaushal
* @author Gman124
* @author Guglani
# Contributions
'contributions' => 'ਯੂਜ਼ਰ ਯੋਗਦਾਨ',
-'contributions-title' => '$੧ ਦੀ ਰਚਨਾ',
+'contributions-title' => '$1 ਦੀ ਰਚਨਾ',
'mycontris' => 'ਮੇਰਾ ਯੋਗਦਾਨ',
'contribsub2' => '$1 ($2) ਲਈ',
'uctop' => '(ਉੱਤੇ)',
'undelete_short' => '{{PLURAL:$1|ä Ännerung|$1 Ännerunge}} widderherschdelle',
'protect' => 'schitze',
'protect_change' => 'ännere',
-'unprotect' => 'Widder freigewwe',
+'unprotect' => 'Saideschudz änare',
'newpage' => 'Naie Said',
'talkpage' => 'Iwwer die Said dischbediere',
'talkpagelinktext' => 'Dischbediere',
'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',
<?php
-/** Polish (Polski)
+/** Polish (polski)
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
# User rights log
'rightslog' => 'Uprawnienia',
'rightslogtext' => 'Rejestr zmian uprawnień użytkowników.',
-'rightslogentry' => 'zmienia przynależność $1 do grup ($2 → $3)',
+'rightslogentry' => 'zmienił przynależność $1 do grup ($2 → $3)',
'rightslogentry-autopromote' => 'automatycznie zmienia przynależność ($2 → $3)',
'rightsnone' => 'brak',
Możesz zawęzić liczbę wyników poprzez wybranie typu rejestru, nazwy użytkownika albo tytułu strony.',
'logempty' => 'W rejestrze nie znaleziono pozycji odpowiadających zapytaniu.',
'log-title-wildcard' => 'Szukaj tytułów zaczynających się od tego tekstu',
+'showhideselectedlogentries' => 'Pokaż/ukryj zaznaczone wpisy rejestru',
# Special:AllPages
'allpages' => 'Wszystkie strony',
'ns-specialprotected' => 'As peulo nen modifichesse le pàgine dlë spassi nominal {{ns:special}}.',
'titleprotected' => "La creassion ëd pàgine con ës tìtol-sì a l'é stàita proibìa da [[User:$1|$1]].
Coma rason a l'ha butà: ''$2''.",
-'filereadonlyerror' => 'As peul pa modifichesse l\'archivi "$1" përchè ël depòsit d\'archivi "$2" a l\'é an sola letura.
+'filereadonlyerror' => "As peul pa modifichesse l'archivi «$1» përchè ël depòsit d'archivi «$2» a l'é an sola letura.
-L\'aministrador ch\'a l\'ha blocalo a l\'ha lassà sta spiegassion: "$3".',
+L'aministrator ch'a l'ha blocalo a l'ha lassà sta spiegassion: «$3».",
'invalidtitle-knownnamespace' => 'Tìtol pa bon con spassi nominal "$2" e test "$3"',
'invalidtitle-unknownnamespace' => 'Tìtol pa bon con spassi nominal sconossù nùmer $1 e test "$2"',
'invalidemailaddress' => "Costa adrëssa ëd pòsta eletrònica-sì as peul nen pijesse përchè a l'ha na forma nen bon-a.
Për piasì che a buta n'adrëssa scrita giusta ò che a lassa ël camp veujd.",
'cannotchangeemail' => "J'adrësse ëd pòsta eletrònica dij cont a peulo pa esse modificà ansima a costa wiki.",
-'emaildisabled' => 'Sto sit-sì a peul pa mandé e-mail.',
+'emaildisabled' => 'Ës sit a peul pa mandé ëd mëssagi ëd pòsta eletrònica.',
'accountcreated' => 'Cont creà',
'accountcreatedtext' => "Ël cont Utent për $1 a l'é stàit creà.",
'createaccount-title' => 'Creassion ëd cont për {{SITENAME}}',
'parser-template-loop-warning' => 'Trovà na liassa dlë stamp: [[$1]]',
'parser-template-recursion-depth-warning' => 'Passà ël lìmit ëd ricorsion dlë stamp ($1)',
'language-converter-depth-warning' => 'Passà lìmit ëd profondità dël convertidor ëd lenghe ($1)',
-'node-count-exceeded-category' => "Pagine anté ël conteur ëd grop a l'é superà",
-'node-count-exceeded-warning' => "La pagina a l'ha superà ël conteur ëd grop",
-'expansion-depth-exceeded-category' => "Pagine anté la profondità d'espansion a l'é superà",
-'expansion-depth-exceeded-warning' => "La pagina a l'ha superà la profondità d'espansion",
-'parser-unstrip-loop-warning' => "Trovà un sicl d'unstrip",
-'parser-unstrip-recursion-limit' => "Superà ël lìmit ëd recursion d'unstrip: $1",
+'node-count-exceeded-category' => "Pàgine anté che ël nùmer ëd grop a l'é sorpassà",
+'node-count-exceeded-warning' => "La pàgina a l'ha sorpassà ël nùmer ëd grop",
+'expansion-depth-exceeded-category' => "Pàgine anté che la profondeur d'espansion a l'é sorpassà",
+'expansion-depth-exceeded-warning' => "La pàgina a l'ha sorpassà la profondità d'espansion",
+'parser-unstrip-loop-warning' => 'Trovà un sicl nen dësmontàbil',
+'parser-unstrip-recursion-limit' => "Sorpassà ël lìmit d'arcorensa nen dësmontàbil: $1",
# "Undo" feature
'undo-success' => "Sta modìfica-sì as peul scancelesse. Për piasì, ch'a contròla ambelessì sota për esse sigur che a l'é pro lòn che a veul fé, e peuj ch'as salva lòn ch'a l'ha butà chiel/chila për finì dë scancelé la modìfica ch'a-i era.",
# Diffs
'history-title' => '$1: Cronologìa dle modìfiche',
'difference-title' => '$1: Diferensa tra revision',
-'difference-title-multipage' => '$1 e $2: Diferensa tra pagine',
+'difference-title-multipage' => 'Diferensa tra le pàgine «$1» e «$2»',
'difference-multipage' => '(Diferense tra pàgine)',
'lineno' => 'Riga $1:',
'compareselectedversions' => 'Paragon-a le version selessionà',
'backend-fail-internal' => "N'eror pa conossù a l'é rivaje ant ël dispositiv ëd memòria «$1».",
'backend-fail-contenttype' => "As peul pa determinesse la sòrt ëd contnù dl'archivi da memorisé a «$1».",
'backend-fail-batchsize' => "Ël dispositiv ëd memòria a l'ha dàit un total ëd $1 {{PLURAL:$1|operassion|operassion}} d'archivi; ël lìmit a l'é $2 {{PLURAL:$1|operassion|operassion}}.",
-'backend-fail-usable' => "As peul pa scrivse l'archivi $1 a motiv ëd pa basta përmess ëd directory/container mancant.",
+'backend-fail-usable' => "As peul pa scrivse l'archivi $1 a motiv ëd drit insuficent o liste/contnidor mancant.",
# File journal errors
-'filejournal-fail-dbconnect' => 'As peul pa coleghesse al journal database për ël backend ëd memorisassion "$1".',
-'filejournal-fail-dbquery' => 'As peul pa mdifichesse ël journal database për ël backend ëd memorisassion "$1".',
+'filejournal-fail-dbconnect' => 'Impossìbil coleghesse a la base ëd dàit ëd lë scartari për ël terminal ëd memorisassion «$1».',
+'filejournal-fail-dbquery' => 'Impossìbil agiorné la base ëd dàit ëd lë scartari për ël terminal ëd memorisassion «$1».',
# Lock manager
'lockmanager-notlocked' => "As peul pa dësblochesse «$1»; a l'é nen blocà.",
Për piasì, vëdde la [$2 pàgina ëd descrission ëd l'archivi] per d'àutre anformassion.",
'sharedupload-desc-here' => "Cost archivi a riva da $1 e a peul esse dovrà da dj'àutri proget.
La descrission an soa [$2 pàgina ëd dëscrission ëd l'archivi] a l'é smonùa sì-sota.",
-'sharedupload-desc-edit' => "St'archivi-sì a riva da $1 e a peul esse dovrà da autr proget.
-A peul d'esse ch'it veule modifiché la descrission là an dzora soa [pagina ëd descrission dl'archivi $2]",
-'sharedupload-desc-create' => "St'archivi-sì a riva da $1 e a peul esse dovrà da autr proget.
-A peul d'esse ch'it veule modifiché la descrission là an dzora soa [pagina ëd descrission dl'archivi $2]",
+'sharedupload-desc-edit' => "St'archivi-sì a riva da $1 e a peul esse dovrà da d'àutri proget.
+Peul desse ch'a veula modifiché la descrission dzora soa [pàgina ëd descrission dl'archivi $2] ambelelà.",
+'sharedupload-desc-create' => "St'archivi-sì a riva da $1 e a peul esse dovrà da d'àutri proget.
+Peul desse ch'a veula modifiché la descrission dzora soa [pàgina ëd descrission dl'archivi $2]",
'filepage-nofile' => 'A esist gnun archivi con ës nòm.',
'filepage-nofile-link' => "N'archivi con sto nòm-sì a esist pa, ma a peul [$1 carielo].",
'uploadnewversion-linktext' => "Carié na version neuva dë st'archivi-sì",
A peul arstrenze la visualisassion an selessionand la sòrt ëd registr, lë stranòm utent (sensìbil a majùscol/minùscol), e la pàgina anteressà (sensìbil a majùscol/minùscol).',
'logempty' => 'Pa gnun element parèj che a sia trovasse ant ij registr.',
'log-title-wildcard' => "Sërché ant ij tìtoj ch'as anandio për",
+'showhideselectedlogentries' => 'Smon-e/stërmé le vos ëd registr selessionà',
# Special:AllPages
'allpages' => 'Tute le pàgine',
'allpages-hide-redirects' => 'Stërma le ridiression',
# SpecialCachedPage
-'cachedspecial-viewing-cached-ttl' => 'I të stas vëddend na vërsion memorisà dë sta pagina, che a peul esse veja fin a $1.',
-'cachedspecial-viewing-cached-ts' => 'I të stas vëddend na vërsion memorisà dë sta pagina, che a peul esse nen completament atual.',
+'cachedspecial-viewing-cached-ttl' => "A l'é ancamin ch'a vëd na version memorisà ëd costa pàgina, che a peul esse veja fin a $1.",
+'cachedspecial-viewing-cached-ts' => "A l'é ancamin ch'a s-ciàira na version memorisà ëd costa pagina, che a peul esse nen completament agiornà.",
'cachedspecial-refresh-now' => "Varda l'ùltima.",
# Special:Categories
'delete_and_move_reason' => 'Scancelà për liberé ël pòst për tramudé «[[$1]]»',
'selfmove' => "Tìtol neuv e tìtol vej a resto midem antra 'd lor; as peul pa tramudesse na pàgina butand-la andoa che a l'é già.",
'immobile-source-namespace' => 'A peul pa tramudé le pàgine ant lë spassi nominal «$1»',
-'immobile-target-namespace' => 'As peul pa tramudé ëd pàgine ant ël namespace "$1"',
-'immobile-target-namespace-iw' => "Un colegament interwiki a l'é pa na destinassion vàlida për tramudé na pàgina.",
+'immobile-target-namespace' => 'A peul pa tramudé dle pàgine vers lë spassi nominal «$1»',
+'immobile-target-namespace-iw' => "Na liura interwiki a l'é pa na destinassion vàlida për tramudé na pàgina.",
'immobile-source-page' => 'Sta pàgina-sì as peul pa tramudesse.',
-'immobile-target-page' => 'As peul pa tramudess al tìtol dë sta destinassion-sì.',
-'imagenocrossnamespace' => 'As peul pa tramudé un file fòra dal sò namespace',
+'immobile-target-page' => 'As peul pa tramudesse vers cost tìtol ëd destinassion.',
+'imagenocrossnamespace' => "As peul pa tramudesse n'archivi a në spassi nominal diferent",
'nonfile-cannot-move-to-file' => "As peul nen tramudesse lòn ch'a l'é pa n'archivi a lë spassi nominal dj'archivi",
-'imagetypemismatch' => 'La neuva estension dël file a corispond pa a sò tipo',
-'imageinvalidfilename' => "Ël nòm dël file pontà a l'é pa vàlid",
-'fix-double-redirects' => 'Modìfica minca rediression che a ponta al tìtol original',
-'move-leave-redirect' => 'Lassa na rediression',
-'protectedpagemovewarning' => "'''Avis:''' Sta pàgina-sì a l'é stàita blocà parèj che mach utent con drit d'aministrator a peulo tramudela.
+'imagetypemismatch' => "La neuva estension ëd l'archivi a corispond pa a sò tipo",
+'imageinvalidfilename' => "Ël nòm ëd l'archivi bërsaj a l'é nen bon",
+'fix-double-redirects' => 'Agiorné tute le ridiression che a ponto vers ël tìtol original',
+'move-leave-redirect' => 'Lassé na ridiression',
+'protectedpagemovewarning' => "'''Avis:''' Sta pàgina-sì a l'é stàita blocà parèj che mach j'utent con ij drit d'aministrator a peulo tramudela.
L'ùltima vos dël registr a l'é smonùa sì-sota për arferiment:",
'semiprotectedpagemovewarning' => "'''Nòta:''' Sta pàgina-sì a l'é stàita blocà parèj che mach j'utent argistrà a peulo tramudela.
L'ùltima vos dël registr a l'é smonùa sì-sota për arferiment:",
'move-over-sharedrepo' => "== L'archivi a esist ==
[[:$1]] a esist già dzora a un depòsit partagià. Tramudé n'archivi a cost tìtol-sì a coaterà l'archivi partagià.",
-'file-exists-sharedrepo' => "Ël nòm dël file sërnù a l'é già dovrà ant ël depòsit condivis.
-Për piasì sern n'àutr nòm.",
+'file-exists-sharedrepo' => "Ël nòm d'archivi sërnù a l'é già dovrà ant ël depòsit condivis.
+Për piasì ch'a serna n'àutr nòm.",
# Export
'export' => 'Esporté dle pàgine',
'exporttext' => "A peul esporté ël test e modifiché la stòria ëd na pàgina ò pura
-ëd n'ansema ëd pàgine gropa ant n'archivi XML. Sòn a peul peuj amportesse
-ant n'àutra wiki ën dovrand la funsion Special:Ampòrta pàgina.
+ëd n'ansema ëd pàgine gropà ant n'archivi XML. Sòn a peul peuj amportesse
+ant n'àutra wiki ën dovrand MediaWiki con la [[Special:Import|pàgina d'amportassion]].
-Për esporté le pàgine, che a së scriva ij tìtoj ant ël quàder ambelessì sota, butand-ji un tìtol për riga,
-e che as serna se a veul la version corenta ansema a cole veje, con le righe che conto la stòria dla pàgina,
-ò pura mach l'anformassion ant sël quand che a sia staje l'ùltima modìfica.
+Për esporté le pàgine, che a së scriva ij tìtoj ant ël quàder ambelessì-sota, butandje un tìtol për riga,
+e che as serna se a veul la version corenta ansema a cole veje, con le righe che a conto la stòria dla pàgina,
+ò pura mach l'anformassion an sl'ùltima modìfica.
Se costa ùltima possibilità a fussa lòn che a-j serv, a podrìa ëdcò dovré n'anliura, pr'esempi [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]] për la pàgina \"[[{{MediaWiki:Mainpage}}]]\".",
'exportall' => 'Esporté tute le pàgine',
-'exportcuronly' => 'Ciapa sù mach la version corenta, pa tuta la stòria',
+'exportcuronly' => 'Ciapé sù mach la version corenta, pa tuta la stòria',
'exportnohistory' => "----
'''Nòta:''' la possibilità d'esporté la stòria completa dle pàgine a l'é staita gavà për dle question corelà a le prestassion dël sistema.",
'exportlistauthors' => 'Anclude na lista completa dij contributor për minca pàgina',
'version-software' => 'Programa anstalà',
'version-software-product' => 'Prodot',
'version-software-version' => 'Version',
-'version-entrypoints' => "Anliure ëd pont d'intrà",
-'version-entrypoints-header-entrypoint' => "Pont d'intrà",
+'version-entrypoints' => "Anliure ëd pont d'intrada",
+'version-entrypoints-header-entrypoint' => "Pont d'intrada",
'version-entrypoints-header-url' => "Adrëssa an sl'aragnà",
# Special:FilePath
<?php
-/** Portuguese (Português)
+/** Portuguese (português)
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
'blocklist-userblocks' => 'Esconder bloqueios de contas',
'blocklist-tempblocks' => 'Esconder bloqueios temporários',
'blocklist-addressblocks' => 'Esconder bloqueios de IP único',
-'blocklist-rangeblocks' => 'Ocultar range blocks',
+'blocklist-rangeblocks' => 'Ocultar bloqueios de faixas',
'blocklist-timestamp' => 'Data e hora',
'blocklist-target' => 'Destinatário',
'blocklist-expiry' => 'Duração',
<?php
-/** Brazilian Portuguese (Português do Brasil)
+/** Brazilian Portuguese (português do Brasil)
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
* @author Raylton P. Sousa
* @author Rodrigo Calanca Nishino
* @author Sir Lestaty de Lioncourt
+ * @author TheGabrielZaum
* @author Urhixidur
* @author Vuln
* @author Waldir
'backend-fail-writetemp' => 'Não foi possível gravar no arquivo temporário.',
'backend-fail-closetemp' => 'Não foi possível fechar o arquivo temporário.',
'backend-fail-read' => 'Não foi possível ler o arquivo $1.',
-'backend-fail-create' => 'Não foi possível criar o arquivo $1.',
-'backend-fail-maxsize' => 'Não foi possível criar o arquivo $1 por ele ser maior que {{PLURAL:$2|1 byte|$2 bytes}}.',
+'backend-fail-create' => 'Não foi possível criar ou alterar o arquivo $1.',
+'backend-fail-maxsize' => 'Não foi possível criar ou alterar o arquivo $1 por ele ser maior que {{PLURAL:$2|1 byte|$2 bytes}}.',
'backend-fail-readonly' => 'O servidor de armazenamento "$1" está atualmente no modo "somente leitura". A razão dada foi: "$2"',
'backend-fail-synced' => 'O arquivo "$1" está em um estado inconsistente dentro do sistema de armazenamento interno',
'backend-fail-connect' => 'Não foi possível se conectar com o servidor de armazenamento "$1".',
'blocklist-userblocks' => 'Esconder bloqueios de contas',
'blocklist-tempblocks' => 'Esconder bloqueios temporários',
'blocklist-addressblocks' => 'Esconder bloqueios de IP único',
-'blocklist-rangeblocks' => 'Ocultar blocos gama',
+'blocklist-rangeblocks' => 'Ocultar bloqueios de faixas',
'blocklist-timestamp' => 'Data e hora',
'blocklist-target' => 'Destinatário',
'blocklist-expiry' => 'Expira',
'index-category' => 'Name of the [[mw:Help:Tracking categories|tracking category]] where pages with the <nowiki>__INDEX__</nowiki> behaviour switch are listed. For description of this behaviour switch see [//www.mediawiki.org/wiki/Help:Magic_words#Behavior_switches mediawiki].',
'noindex-category' => 'Name of the [[mw:Help:Tracking categories|tracking category]] where pages with the <nowiki>__NOINDEX__</nowiki> behaviour switch are listed. For description of this behaviour switch see [//www.mediawiki.org/wiki/Help:Magic_words#Behavior_switches mediawiki].',
'broken-file-category' => 'Name of [[mw:Help:Tracking categories|tracking category]] where pages that embed files that do not exist ("broken images") are listed.',
+'categoryviewer-pagedlinks' => 'The pagination links in category viewer. Parameters:
+* $1 is the previous link,
+* $2 is the next link',
'linkprefix' => '{{optional}}',
'nologin' => 'A message shown in the log in form. $1 is a link to the account creation form, and the text of it is "[[MediaWiki:Nologinlink/{{SUBPAGENAME}}|{{int:nologinlink}}]]".',
'nologinlink' => 'Text of the link to the account creation form. Before that link, the message [[MediaWiki:Nologin/{{SUBPAGENAME}}]] appears.
{{Identical|Create an account}}',
-'createaccount' => 'The title of Special:CreateAccount, where users can register a new account. Used on Special:SpecialPages, and also on the submit button in the form where you register a new account.
+'createaccount' => 'The title of Special:CreateAccount, where users can register a new account. Used on Special:SpecialPages and on the submit button in the form where you register a new account.
+
+It is also used on the top of the page for logged out users, where it appears next to {{msg-mw|login}}, so consider making them similar.
{{Identical|Create account}}',
'gotaccount' => 'A message shown in the account creation form. $1 is a link to the log in form, and the text of it is "[[MediaWiki:Gotaccountlink/{{SUBPAGENAME}}|{{int:gotaccountlink}}]]".',
'gotaccountlink' => 'Text of the link to the log in form. Before that link, the message [[MediaWiki:Gotaccount/{{SUBPAGENAME}}]] appears.
*Parameter $4 is a URL to the wiki',
'login-throttled' => 'Error message shown at [[Special:UserLogin]] after 5 wrong passwords. The hardcoded waiting time is 300 seconds.',
'login-abort-generic' => 'The generic unsuccessful login message is used unless otherwise specified by hook writers',
-'loginlanguagelabel' => 'Used on [[Special:UserLogin]] if $wgLoginLanguageSelector is true.
+'loginlanguagelabel' => 'Used on [[Special:UserLogin]] if $wgLoginLanguageSelector is true. $1 is a pipe-separated list built from the names that appear in the message {{msg-mw|Loginlanguagelinks}}.
{{Identical|Language}}',
# E-mail sending
*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.',
See also {{msg-mw|difference}}.',
'lineno' => 'Message used when comparing different versions of a page (diff). $1 is a line number.',
'compareselectedversions' => 'Used as button in history pages.',
-'showhideselectedversions' => 'Text of the button which brings up the [[mw:RevisionDelete|RevisionDelete]] menu.',
+'showhideselectedversions' => 'Text of the button which brings up the [[mw:RevisionDelete|RevisionDelete]] menu on history pages.',
'editundo' => 'Undo link when viewing diffs
{{Identical|Undo}}
'alllogstext' => 'Header of [[Special:Log]]',
'log-title-wildcard' => '* Appears in: [[Special:Log]]
* Description: A check box to enable prefix search option',
+'showhideselectedlogentries' => 'Text of the button which brings up the [[mw:RevisionDelete|RevisionDelete]] menu on [[Special:Log]].',
# Special:AllPages
'allpages' => 'First part of the navigation bar for the special page [[Special:AllPages]] and [[Special:PrefixIndex]]. The other parts are {{msg-mw|Prevpage}} and {{msg-mw|Nextpage}}.
{{identical|Are you sure you want to view the deleted revision of the file...}}',
'undelete-show-file-submit' => '{{Identical|Yes}}',
+'undelete-revisionrow' => "A revision row in the undelete page. Parameters:
+* $1 is a checkBox to indicate whether to restore this specific revision
+* $2 is a link to the revision
+* $3 is a link to the last revision of a page ({{msg-mw|last}})
+* $4 is a link to the page
+* $5 is a link to the revision's user
+* $6 is the revision size
+* $7 is the revision comment",
# Namespace form on various pages
'namespace' => 'This message is located at [[Special:Contributions]].',
*{{msg-mw|Days}}',
# Bad image list
-'bad_image_list' => 'This is only message appears to guide administrators to add links with right format. This will not appear anywhere else in Mediawiki.',
+'bad_image_list' => 'This message only appears to guide administrators to add links with the right format. This will not appear anywhere else in MediaWiki.',
/*
Short names for language variants used for language conversion links.
# Diffs
'history-title' => '"$1" p\'anqata hukchasqakunap wiñay kawsaynin',
-'difference-title' => '$1: Musuqchasqapura wakin kaynin',
-'difference-title-multipage' => '$1, $2: Willañiqipura wakin kaynin',
+'difference-title' => '$1 nisqapaq musuqchasqapura wakin kaynin',
+'difference-title-multipage' => '$1, $2 sutiyuq willañiqipura wakin kaynin',
'difference-multipage' => "(P'anqakunaqa manam kaqllachu)",
'lineno' => "Siq'i $1:",
'compareselectedversions' => "Akllasqa llamk'apusqakunata wakichay",
'prefs-beta' => 'Beta nisqap kaqninkuna',
'prefs-datetime' => "P'unchaw, pacha",
'prefs-labs' => 'Laburaturyu nisqap kaqninkuna',
+'prefs-user-pages' => "Ruraqpa p'anqankuna",
'prefs-personal' => 'Kikinpa willankuna',
'prefs-rc' => 'Ñaqha hukchasqakuna',
'prefs-watchlist' => "Watiqasqa p'anqakuna",
<?php
-/** Romansh (Rumantsch)
+/** Romansh (rumantsch)
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
<?php
-/** Romanian (Română)
+/** Romanian (română)
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
Puteți limita vizualizarea selectând tipul jurnalului, numele de utilizator sau pagina afectată.',
'logempty' => 'Nici o înregistrare în jurnal.',
'log-title-wildcard' => 'Caută titluri care încep cu acest text',
+'showhideselectedlogentries' => 'Arată/ascunde intrările selectate din jurnal',
# Special:AllPages
'allpages' => 'Toate paginile',
<?php
-/** Tarandíne (Tarandíne)
+/** tarandíne (tarandíne)
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
'prefs-beta' => 'Funziune de Beta',
'prefs-datetime' => 'Date e ore',
'prefs-labs' => 'Funziune de Labs',
+'prefs-user-pages' => "Pàgene de l'utende",
'prefs-personal' => "Profile de l'utende",
'prefs-rc' => 'Cangiaminde recende',
'prefs-watchlist' => 'Pàggene condrollete',
<?php
-/** Russian (Русский)
+/** Russian (русский)
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
'badaccess-groups' => 'Am do oka kạmim menjoṅkan ona do khạli {{PLURAL:$2 rạsiạkore noa rạsiạreaḱ mit́ṭenre}} mitṭen beoharić sompadon daṛeyaḱa: $1.',
'versionrequired' => 'Meḍiawiki reaḱ $1 nãwã aroe jạruṛa',
-'versionrequiredtext' => 'Noa sakam do beohar lạgit́te meḍiawikire $1 nambar nãwã araoe jạruṛa. [[Special:Version nãwã aroe sakam]] ńelmẽ.',
+'versionrequiredtext' => 'Noa sakam beohar lạgit́te meḍiaWikire $1 nambar nãwã araoe jạruṛa.
+[[Special:Version nãwã aroe sakam]] ńelmẽ.',
'ok' => 'Ṭhik gea',
'retrievedfrom' => '"$1" khon ñam ạgui',
Am do paseć mit́ṭen vul joṛaoem emakada se URL oltem vul akada.
Noa do noṅkanaḱ menkana je {{SITENAME}} sayeṭre beoharen sofṭower re mit́ṭen vul menaḱa.',
'nosuchspecialpage' => 'Noṅkanaḱ asokay sakam do banuḱa',
-'nospecialpagetext' => '<strong>Am do mit́ṭen beạn asokae sakamem koe akada.</strong>
-[[Special:SpecialPages {{int:specialpages}}]]-re ạnte asokae sakamkore mit́ṭen tạlikam ńama.',
+'nospecialpagetext' => '<strong>Am do mit́ṭen beạn asokae sakamem nehor akada.</strong>
+[[Special:SpecialPages {{int:specialpages}}]]-re ạn asokae sakamkore mit́ṭen tạlikam ńama.',
# General errors
'error' => 'bhul',
'virus-unknownscanner' => 'Baṅ urum anṭvayras:',
# Login and logout pages
-'welcomecreation' => 'Johar, $1!
+'welcomecreation' => '== Johar $1! ==
Amaḱ ekaunṭ do tearena.
-Menkhan amaḱ [[Special:Preferance {{SITENAME}} pạsindko]] thir dohoe lạgit́te alom hiṛińa.',
+Amaḱ [[Special:Preferance {{SITENAME}} pạsindko]] thir dohoe lạgit́te alom hiṛińa.',
'yourname' => 'Beoboharicaḱ ńutum',
'yourpassword' => 'Uku namber',
'yourpasswordagain' => 'Arhõ oku namber olme',
'noname' => 'Am do asol beoharićaḱ ńutum ṭhikte bam emakada.',
'loginsuccesstitle' => 'Bhitri boloḱ do moctege puraoena',
'loginsuccess' => '\'\'\'Am do nitge "$1" ńutumte {{SITENAME}} rem bolo akana.',
-'nosuchuser' => '"$1" ńutumte jahan beoharko bạnuḱkoa.
+'nosuchuser' => '"$1" ńutuman jahan beoharić bạnuea.
Beoharićaḱ ńutum do bukṛogea.
Amaḱ bananko ńelmẽ, se [[Special:Userlogin/signup nãwã mit́ṭen ekaunṭ tearmẽ]].',
'nosuchusershort' => '"$1" ńutuman jahãe beoharko do banuḱkoa. Ńutum reaḱ banan biḍaomẽ.',
Daya kate arhõ mitdhom kurumuṭuyme.',
'wrongpasswordempty' => 'Em hoyen oku nambar do cetge banuḱa.
Daya katet́ arhõ kurumuṭuyme.',
-'passwordtooshort' => 'Oku nambar do kom katet́ hoyoḱ jạruṛa 6 olko mudre',
+'passwordtooshort' => 'Uku nambar do {{PLURAL:$1 1 horop reaḱ $1 horop reaḱ}} mudre hoyoḱ jạruṛa.',
'password-name-match' => 'Amaḱ oku nambar do amaḱ ńutum khon eṭaḱ hoyoḱ jạruṛtama.',
'password-login-forbidden' => 'Noa laṛcaṛicaḱ ńutum ar oku nambar do ạnlekate baṅkana.',
'mailmypassword' => 'E-mail reaḱ nãwã uko katha',
'login-abort-generic' => 'Amaḱ bhitri boloḱ do baṅ hoylena - batena.',
'loginlanguagelabel' => 'katha: $1',
+# E-mail sending
+'user-mail-no-addy' => 'Jahan e-mail ṭhikana bạgi kate e-mail kul kurumuṭu hoena.',
+
# Change password dialog
'resetpass' => 'Oku nambar bodol',
'resetpass_header' => 'Ekaunṭ oku namber bodol',
'passwordreset-capture-help' => 'Am do judi noa jacạy baksom lin lekhan, tobe nit lạgit́te em akan uku nambar são mit́ṭen e-mail ame uduḱama ar ona sãote beoharić ṭhen ona kuluḱa.',
'passwordreset-email' => 'E-mail ṭhikạna:',
'passwordreset-emailtitle' => '{{SITENAME}} sayeṭre beoharićaḱ purạo thutiko',
-'passwordreset-emailelement' => 'Beoharicaḱ ńutum:
-Nit lạgit oku nambar:',
+'passwordreset-emailelement' => 'Beoharićaḱ ńutum: $1
+Mit́ ghạṛi lạgit uku nambar: $2',
'passwordreset-emailsent' => 'Mitṭen disạ ruaṛ e-mail do kulena.',
'passwordreset-emailsent-capture' => 'Mit́ṭen disạ ruaṛaḱ e-mail dokulena, oka do latarre ńeloḱ kana.',
-'passwordreset-emailerror-capture' => 'Mit́ṭen disạ ruạṛ e-mail do hatoena, oka do latarre ńelok kana, menkhan beoharic ṭhen do baṇ seṭerlena.',
+'passwordreset-emailerror-capture' => 'Disạ ruạṛ oco lạgit́te mit́ṭen e-mail tear hoelena, oka do latarre udugoḱkana, menkhan $1 beoharić ṭhen ṭhen baṅ kul hoe akana.',
# Special:ChangeEmail
'changeemail' => 'E-mail ṭhikạna do bodolme',
'anoneditwarning' => "'''Sabdhan:''' amdo begor logkatem bolowakana.
Amaḱ IP ṭhikana do noa sakam sompadon jạṛre rekorḍoḱa.",
'anonpreviewwarning' => '"Am do bhitri bam bolo akana. Noa sakamre amaḱ kạmiko jạre IP ṭhiikạ̣nare rukhiyạ ḱa."',
+'missingcommenttext' => 'Daya kate amaḱ menaḱ katha latare olmẽ.',
'summary-preview' => 'Guṭ katha unuduḱ:',
'subject-preview' => 'Babot/Guṭkatha unuduḱ:',
'blockedtitle' => 'Beoharić doe eset ocoakana.',
+'blockednoreason' => 'jahan babot baṅ em akana',
+'whitelistedittext' => 'Sakamre sompadon lạgit́te $1 em hoyoḱa.',
+'nosuchsectiontitle' => 'Pahaṭa bȧn ńamlena',
+'loginreqtitle' => 'Boloḱ jạruṛa',
'loginreqlink' => 'Bhitri boloḱ',
'loginreqpagetext' => 'Eṭagaḱ sakamko ńel lạgit́te do am $1 hoyoḱ jạruṛtama.',
'accmailtitle' => 'Uku nambar do kulena.',
Amaḱ bodolaḱ kodo nit habićte bań rukhíạakana!",
'continue-editing' => 'Toṅge calaḱkana',
'editing' => 'Joṛao do purạena: $1',
-'creating' => 'Benao',
+'creating' => '$1 sakam doe tear akada',
'editingsection' => 'Joṛao $1 (hạṭiń)',
-'editingcomment' => 'Joṛao',
+'editingcomment' => 'Sompadon akadae $1 (Nãwa pahaṭa)',
'editconflict' => 'Sompadon reaḱ bene bạiri: $1',
'yourtext' => 'Amaḱ ol',
'storedversion' => 'Rukhiyạ nãwã aroe',
'template-protected' => 'Rukhiạ',
'template-semiprotected' => '(Kạṭic-rukhiyạ)',
'hiddencategories' => 'Noa sakam do {{PLURAL:$1 1 ukuakan bhag $1 uku akan bhagkorenaḱ}} gaõtarenge:',
+'nocreatetitle' => 'Sakam tear do akoṭgea',
'nocreate-loggedin' => 'Nãwã sakam tear lạgit́te am do ạidạri em baṅ hoeakana.',
'sectioneditnotsupported-title' => 'Pahaṭa sompadona do bae hataoeda',
'sectioneditnotsupported-text' => 'Noa sompadona sakamre pahaṭa sompadona do bae hataoeda',
'rev-delundel' => 'ńeloḱ/danaṅ',
'rev-showdeleted' => 'Uduḱme',
'revisiondelete' => 'Get giḍi/nãwã aro baṅ getgiḍi',
+'revdelete-nologtype-title' => 'Jahan cạbi ṭayep baṅ em emakana',
+'revdelete-nologtype-text' => 'Am do paseć noa kạmie lạgit́te jahan cạbi bam bachao akada.',
'revdelete-show-file-submit' => 'Hẽ',
'revdelete-hide-text' => 'Nãwã aroe olko ukuemẽ',
'revdelete-hide-image' => 'Rẽt reaḱ babotko ukue mẽ',
'revdelete-hide-name' => 'Kạmi ar bejha ukue mẽ',
+'revdelete-hide-comment' => 'Sompadon gut katha ukue mẽ',
+'revdelete-hide-user' => 'Sompadonićaḱ beohar ńutum/IP ṭhikạna ukuemẽ',
'revdelete-radio-same' => '(alom bodola)',
'revdelete-radio-set' => 'Hẽ',
'revdelete-radio-unset' => 'Baṅ',
+'revdelete-log' => 'Babot:',
'revdel-restore' => 'Judạ lekate ńel',
'revdel-restore-deleted' => 'giḍikaḱ ńel ruạṛ',
'revdel-restore-visible' => 'Ńeloḱ leka paṛhao ruạṛ',
'deletedhist' => 'Get giḍi jạṛ',
'revdelete-reasonotherlist' => 'Eṭaḱak karon',
+# History merging
+'mergehistory-reason' => 'Babot:',
+
# Merge log
'revertmerge' => 'bań mit́',
'viewprevnext' => 'Ńelme ($1 {{int:pipe-separator}} $2) ($3)',
'searchmenu-exists' => "'''Noa wiki re do \"[[:\$1]] ńutum sakam menaḱa",
'searchmenu-new' => 'wiki re [[:$1]]nãwã sakam tear',
+'searchhelp-url' => 'Help: Goṛawaḱ',
'searchprofile-articles' => 'Menaḱaḱ sakamko',
'searchprofile-project' => 'Go̠ṛo ar Project sakam',
'searchprofile-images' => 'Multimedia',
'search-redirect' => '($1 te sujhi doṛha )',
'search-section' => '(Pahaṭa $1)',
'search-suggest' => 'Am do cet́ $1 em menocoyet tãhẽkana',
+'search-interwiki-caption' => 'Hopon porjekṭko',
+'search-interwiki-default' => '$1 folko:',
+'search-interwiki-more' => '(Arhõ)',
'searchrelated' => 'songenko',
'searchall' => 'Sanam',
'showingresultsheader' => "'''$4''' lạgit́ {{PLURAL:$5|Pho̠l ńamoḱ́akan - '''$1''' of '''$3'''|Pho̠l ńamoḱ́akan '''$1 - $2''' of '''$3'''}}",
'timezoneregion-africa' => 'Aphrika',
'timezoneregion-america' => 'Amirika',
'timezoneregion-asia' => 'Esiya',
+'timezoneregion-australia' => 'Ausṭralia',
'prefs-files' => 'Rẽtko',
'youremail' => 'E-mail:',
'username' => 'Beoharićaḱ ńutum:',
'uid' => 'Beoharićaḱ cinhạo nombor',
'yourrealname' => 'Sạri ńutum',
+'yourlanguage' => 'Pạrsi:',
'gender-male' => 'Baba hoṛ',
'gender-female' => 'Gogo hoṛ, Kuṛi, Kuṛi gidrạ',
'email' => 'E-mail',
'saveusergroups' => 'Beoharićaḱ gãotako rukhiyaymẽ',
# Rights
+'right-read' => 'Sakamko paṛhaomẽ',
'right-edit' => 'Sakamko toṅge',
'right-createpage' => 'Sakamko benoamẽ (Okako do galmarao sakamko baṅkan)',
'right-createtalk' => 'Galmarao sakamko benaomẽ',
<?php
-/** Northern Sami (Sámegiella)
+/** Northern Sami (sámegiella)
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
'disclaimerpage' => 'Project:Friijavuohta vástideamis',
'edithelp' => 'Rievdadanrávvagat',
'edithelppage' => 'Help:Mo rievdadit siidduid',
-'helppage' => 'Help:Rávvagat',
+'helppage' => 'Help:Sisdoallu',
'mainpage' => 'Váldosiidu',
'mainpage-description' => 'Váldosiidu',
'portal' => 'Gáffestohpu',
'nstab-main' => 'Siidu',
'nstab-user' => 'Geavaheaddjisiidu',
'nstab-media' => 'Media',
-'nstab-special' => 'Doaibma',
+'nstab-special' => 'Erenomáš',
'nstab-project' => 'Prošeaktasiidu',
'nstab-image' => 'Fiila',
'nstab-mediawiki' => 'Dieđáhus',
'nologinlink' => 'ráhkadit',
'createaccount' => 'Ráhkat ođđa geavaheaddjidovddaldaga',
'gotaccount' => "Jus dus lea jo geavaheaddjidovddaldat, sáhtát '''$1'''.",
-'gotaccountlink' => 'čálligoahtit sisa',
+'gotaccountlink' => 'Logge sisa',
'createaccountmail' => 'e-poasttain',
'badretype' => 'Suollemassánit maid čállet eai leat seammalaganat.',
'userexists' => 'Geavaheaddjidovddaldat, man evttohit, lea jo anus. Leage buorre ja vállje nubbi geavaheaddjidovddaldaga.',
'nosuchsectiontitle' => 'Diekkár oassi ii gávdno',
'nosuchsectiontext' => 'Isket rievdadit oasi, mii ii gávdno.',
'loginreqtitle' => 'Sisačállin gáibiduvvo',
-'loginreqlink' => 'čálligoađe sisa',
+'loginreqlink' => 'logge sisa',
'loginreqpagetext' => 'Don fertet $1, ovdalgo oainnat eará siidduid.',
'accmailtitle' => 'Suollemassátni lea sáddejuvvon.',
'accmailtext' => "geavaheaddji '''$1''' suollemassátni lea sáddejuvvon čujuhussii '''$2'''.",
'editing' => 'Rievdadit siiddu $1',
'editingsection' => 'Rievdadit oasi siiddus $1',
'editingcomment' => 'Rievdadit kommeanta siiddus $1',
+'explainconflict' => "Soames lea rievdadan dán siiddu dan maŋŋel go don leat álgan rievdadit dan.
+Bajit oasis oidno siiddu teaksta dálá hámis.
+Du rievdadusat oidnojit vuolit oasis.
+Don fertet dahkat du rievdadusaid dálá tekstii.
+'''Beare''' bajit oasi teaksta vurkejuvvo go deaddilat «{{int:savearticle}}».",
'yourtext' => 'Iežat teaksta',
'storedversion' => 'Vurkejuvvon veršuvdna',
'yourdiff' => 'Erohusat',
'unwatchedpages' => 'Čuovvotkeahtes siiddut',
# List redirects
-'listredirects' => 'Ođđasitstivremat',
+'listredirects' => 'Listu ođđasitstivremiin',
# Unused templates
'unusedtemplates' => 'Geavatkeahtes mállevuođut',
'listusers-submit' => 'Oza',
'listusers-noresult' => 'Geavaheaddjit eai dihtton. Dárkis maid sierra bustávasturrodagat.',
+# Special:ActiveUsers
+'activeusers' => 'Listu aktiivvalaš geavaheddjiin',
+'activeusers-intro' => 'Dát lea listu geavaheddjiin, mat leat bargan juoidá maŋimus $1 {{PLURAL:$1|beaivvi|beaivvi}} siste.',
+'activeusers-count' => '$1 {{PLURAL:$1|rievdadus|rievdadusa}} maŋimus $3 beaivvi siste',
+'activeusers-from' => 'Čájet geavaheddjiid dán rájes:',
+'activeusers-hidebots' => 'Čiega bohtaid',
+'activeusers-hidesysops' => 'Čiega administráhtoriid',
+
# E-mail user
'mailnologin' => 'Sáddejeaddji čujuhus váilo',
'mailnologintext' => 'Don fertet leat [[Special:UserLogin|čálligoahtán sisa]] ja du [[Special:Preferences|ásahusain]] ferte leat gelbbolaš ja <strong>sihkarastojuvvon</strong> e-poastačujuhus, ovdalgo sáhtat sáddet e-poasta eará geavaheddjiide.',
'export-download' => 'Vurke fiillan',
# Namespace 8 related
-'allmessages' => 'Vuogádatdieđáhusat',
+'allmessages' => 'Buot systemasánit',
'allmessagesname' => 'Namma',
'allmessagescurrent' => 'Dálá teaksta',
'logentry-delete-delete' => '$1 sihkui siiddu $3',
'logentry-move-move' => '$1 sirddii siiddu $3 nammii $4',
'logentry-move-move_redir-noredirect' => '$1 sirddii siiddu $3 nammii $4 iige ráhkadan ođđasitstivrema',
+'logentry-newusers-create' => '$1 ráhkadii dovddaldaga',
+'logentry-newusers-autocreate' => 'Dovddaldat $1 ráhkaduvvui automáhtalaččat',
);
'notloggedin' => 'ප්රවිසී නැත',
'nologin' => "ඔබ හට ගිණුමක් නොමැතිද? '''$1'''.",
'nologinlink' => 'ගිණුමක් තනන්න',
-'createaccount' => 'à¶\9cà·\92ණà·\94ම තනන්න',
+'createaccount' => 'à¶\85ලà·\94à¶à·\8a à¶\9cà·\92ණà·\94මà¶\9aà·\8a තනන්න',
'gotaccount' => "දැනටමත් ගිණුමක් තිබේද? '''$1'''.",
'gotaccountlink' => 'පිවිසෙන්න',
'userlogin-resetlink' => 'ඔබේ පිවිසුම් තොරතුරු අමතකද?',
<?php
-/** Slovak (Slovenčina)
+/** Slovak (slovenčina)
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
<?php
-/** Slovenian (Slovenščina)
+/** Slovenian (slovenščina)
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
'alllogstext' => 'Združeno so prikazani dnevniki sprememb uporabniških pravic, preimenovanj uporabnikov, nalaganja predstavnostnih datotek, prestavljanja in zaščite strani, brisanja, registracij uporabnikov, sprememb položaja botov ter blokiranja in deblokiranja uporabnikov na strani {{SITENAME}}. Pogled lahko zožite z izbiro dnevnika, uporabniškega imena ali strani. Vedite, da polje »Uporabnik« razlikuje med malimi in velikimi črkami.',
'logempty' => 'O tej strani ni v dnevniku ničesar.',
'log-title-wildcard' => 'Iskanje po naslovih, začenši s tem besedilom',
+'showhideselectedlogentries' => 'Pokaži/skrij izbrane dnevniške vnose',
# Special:AllPages
'allpages' => 'Vse strani',
<?php
-/** Serbian (Cyrillic script) (Српски (ћирилица))
+/** Serbian (Cyrillic script) (српски (ћирилица))
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
<?php
-/** Serbian (Latin script) (Srpski (latinica))
+/** Serbian (Latin script) (srpski (latinica))
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
'tog-enotifminoredits' => 'Uk bie litje Annerengen an do Sieden E-Mails seende.',
'tog-enotifrevealaddr' => 'Dien E-Mail-Adrässe wäd in Beskeed-Mails wiesed.',
'tog-shownumberswatching' => 'Antaal fon do beooboachtjende Benutsere anwiese',
-'tog-oldsig' => 'Foarbekiek fon ju aktuälle Signatuur:',
+'tog-oldsig' => 'Aktuälle Signatuur:',
'tog-fancysig' => 'Unnerskrift as Wikitext behonnelje (sunner automatiske Ferlinkenge)',
'tog-externaleditor' => 'Externen Editor as Standoard benutsje (bloot foar Experte, der mouten spezielle Ienstaalengen ap dän oaine Computer moaked wäide. [//www.mediawiki.org/wiki/Manual:External_editors Moor Information hiertou.])',
'tog-externaldiff' => 'Extern Diff-Program as Standoard benutsje (bloot foar Experte, der mouten spezielle Ienstaalengen ap dän oaine Computer moaked wäide.
'listingcontinuesabbrev' => '(Foutsättenge)',
'index-category' => 'Indizierde Sieden',
'noindex-category' => 'Nit indizierde Sieden',
+'broken-file-category' => 'Sieden mäd stukkene Doatäilinke',
'about' => 'Uur',
'article' => 'Inhoold Siede',
'vector-action-move' => 'Ferskuuwe',
'vector-action-protect' => 'Skutsje',
'vector-action-undelete' => 'Wierhäärstaale',
-'vector-action-unprotect' => 'Fräireeke',
+'vector-action-unprotect' => 'Siedenskuts annerje',
'vector-simplesearch-preference' => 'Uutwiedede Säikfoarsleeke aktivierje (bloot Vector)',
'vector-view-create' => 'Moakje',
'vector-view-edit' => 'Beoarbaidje',
'protect' => 'skutsje',
'protect_change' => 'annerje',
'protectthispage' => 'Siede skutsje',
-'unprotect' => 'Fräiroat',
-'unprotectthispage' => 'Skuts aphieuwje',
+'unprotect' => 'Siedenskuts annerje',
+'unprotectthispage' => 'Siedenskuts annerje',
'newpage' => 'Näie Siede',
'talkpage' => 'Diskussion',
'talkpagelinktext' => 'Diskussion',
'page-rss-feed' => '"$1" RSS-Feed',
'page-atom-feed' => '"$1" Atom-Feed',
'red-link-title' => '$1 (Siede nit deer)',
+'sort-descending' => 'Oustiegend sortierje',
+'sort-ascending' => 'Apstiegend sortierje',
# Short words for each namespace, by default used in the namespace tab in monobook
'nstab-main' => 'Siede',
'badarticleerror' => 'Disse Honnelenge kon ap disse Siede nit moaked wäide.',
'cannotdelete' => 'Ju Siede od Doatäi "$1" kon nit läsked wäide.
Fielicht is ju al fon uurswál läsked wuuden.',
+'cannotdelete-title' => 'Siede "$1" kon nit läsked wäide',
'badtitle' => 'Uungultige Tittel.',
'badtitletext' => 'Die anfräigede Tittel waas uungultich, loos, of n uungultigen Sproaklink fon n uur Wiki.',
-'perfcached' => 'Do foulgjende Doaten stamme uut dän Cache un sunt muugelkerwiese nit aktuäl. A maximum of {{PLURAL:$1|one result is|$1 results are}} available in the cache.',
-'perfcachedts' => 'Disse Doaten stamme uut dän Cache, lääste Update: $1. A maximum of {{PLURAL:$4|one result is|$4 results are}} available in the cache.',
+'perfcached' => 'Do foulgjende Doaten stamme uut dän Cache un sunt muugelkerwiese nit aktuäl. Maximoal {{PLURAL:$1|een Resultoat is|$1 Resultoate sunt}} ferföigboar in dän Cache.',
+'perfcachedts' => 'Disse Doaten stamme uut dän Cache, lääste Update: $2, $3 Uure. Maximoal {{PLURAL:$4|een Resultoat is|$4 Resultoate sunt}} ferfïgboar in dän Cache.',
'querypage-no-updates' => "'''Ju Aktualisierengsfunktion foar disse Siede is apstuuns deaktivierd. Do Doaten wäide toueerst nit fernäierd.'''",
'wrong_wfQuery_params' => 'Falske Parameter foar wfQuery()<br />
Funktion: $1<br />
Oufroage: $2',
'viewsource' => 'Wältext betrachtje',
+'viewsource-title' => 'Wältext fon Siede $1 bekiekje',
'actionthrottled' => 'Aktionsantaal limitierd',
'actionthrottledtext' => 'Ju Uutfierenge fon disse Aktion tou oafte in ne kuute Tiedoustand is limitierd. Du hääst dit Limit juust ieuwen beloanged. Fersäik et in eenige Minuten fon näien.',
'protectedpagetext' => 'Disse Siede is foar dät Beoarbaidjen speerd.',
'viewsourcetext' => 'Wältext fon disse Siede:',
+'viewyourtext' => "Du koast dän Wältext fon '''dien Beoarbaidenge''' fon disse Siede bekiekje un kopierje:",
'protectedinterface' => 'Disse Siede änthaalt Text foar dät Sproak-Interface fon ju Software un is speerd, uum Misbruuk tou ferhinnerjen.',
'editinginterface' => "'''Woarskauenge:''' Du beoarbaidest ne Siede ju der bruukt wäd, Interface-Text foar ju Software tou lääwerjen.
Annerengen ap disse Siede wirkje sik uut ap ju Benutseruurfläche foar uur Bruukere.
'cascadeprotected' => 'Disse Siede is tou Beoarbaidenge speerd. Ju is in do {{PLURAL:$1|foulgjende Siede|foulgjende Sieden}} ienbuunen, do der middels ju Kaskadenspeeroption skutsed {{PLURAL:$1|is|sunt}}:
$2',
'namespaceprotected' => "Du hääst neen Begjuchtigenge, ju Siede in dän '''$1'''-Noomensruum tou beoarbaidjen.",
+'customcssprotected' => '↓Du hääst nit ju Begjuchtegenge, disse CSS änthooldende Siede tou beoarbaidjen, deer ju do persöönelke Ienstaalengen fon n uur Benutser änthaalt.',
+'customjsprotected' => '↓Du hääst nit ju Begjuchtegenge, disse JavaScript änthooldewnde Siede tou beoarbaidjen, deer ju do persöönelke Ienstaalengen fon n uur Benutser änthaalt.',
'ns-specialprotected' => 'Spezioalsieden konnen nit beoarbaided wäide.',
'titleprotected' => "Ne Siede mäd dissen Noome kon nit moaked wäide.
Ju Speere wuude truch [[User:$1|$1]] mäd ju Begruundenge ''$2'' ienroat.",
+'filereadonlyerror' => '↓Ju Doatäi „$1“ kon nit annerd wäide, deer ap dät Doatäirepositorium „$2“ bloot Leesetougriep muugelk is.
+
+Die Administrator, die dän Skrieuwtougriep speerde, roate foulgjenden Gruund an: „$3“.',
+'invalidtitle-knownnamespace' => '
+↓Ungultigen Tittel mäd Noomensruum „$2“ un Text „$3“',
+'invalidtitle-unknownnamespace' => '
+↓Ungultigen Tittel mäd unbekoanden Noomensruumnummer $1 un Text „$2“',
# Virus scanner
'virus-badscanner' => "Failerhafte Konfiguration: uunbekoanden Virenscanner: ''$1''",
'createaccount' => 'Benutserkonto anlääse',
'gotaccount' => "Du hääst al n Konto? '''$1'''.",
'gotaccountlink' => 'Hier gungt dät ätter dän Login',
+'userlogin-resetlink' => '
+↓Do Anmäldedoaten ferjeeten?',
'createaccountmail' => 'Uur Email',
'createaccountreason' => 'Gruund:',
'badretype' => 'Do bee Paaswoude stimme nit uureen.',
-'userexists' => 'Disse Benutsernoomen is al ferroat. Wääl jädden n uur.',
+'userexists' => 'Dissen Benutsernoome is al ferroat. Wääl jädden n uur.',
'loginerror' => 'Failer bie ju Anmäldenge',
'createaccounterror' => 'Benutserkonto kuud nit moaked wäide: $1',
'nocookiesnew' => 'Dien Benutsertougong wuude kloor moaked, man du bäst nit anmälded. {{SITENAME}} benutset Cookies toun Anmäldjen fon do Benutsere. Du hääst in dien Browser-Ienstaalengen Cookies deaktivierd. Uum dien näie Benutsertougong tou bruuken, läit jädden dien Browser Cookies foar {{SITENAME}} annieme un mäldje die dan mäd dien juust iengjuchten Benutsernoome un Paaswoud an.',
'noemailprefs' => 'Du hääst neen Email-Adrässe anroat, do foulgjende Funktione sunt deeruum apstuuns nit muugelk.',
'emailconfirmlink' => 'Bestäätigje Jou Email-Adrässe',
'invalidemailaddress' => 'Ju Email-Adresse wuude nit akzeptierd deeruum dät ju n ungultich Formoat tou hääben skient. Reek jädden ne Adrässe in n gultich Formoat ien of moakje dät Fäild loos.',
+'cannotchangeemail' => 'E-Mail-Adressen konnen in dissen Wiki nit annerd wäide.',
+'emaildisabled' => 'Uur disse Websiede konnen neen E-Mails fersoand wäode.',
'accountcreated' => 'Benutserkonto näi anlaid',
'accountcreatedtext' => 'Dät Benutserkonto $1 wuude iengjucht.',
'createaccount-title' => 'Benutserkonto anlääse foar {{SITENAME}}',
# E-mail sending
'php-mail-error-unknown' => 'Uunbekoanden Failer mäd ju Funktion mail() fon PHP',
+'user-mail-no-addy' => 'Fersoachte ne E-Mail sunner Angoawe fon ne E-Mail-Adresse tou ferseenden',
# Change password dialog
'resetpass' => 'Paaswoud annerje',
# Special:PasswordReset
'passwordreset' => 'Paaswoud touräächsätte',
+'passwordreset-text' => 'Dit Formular uutfälle, uum per E-Mail ne Ärinnerenge tou do Anmäldeinformatione tou kriegen.',
+'passwordreset-legend' => 'Paaswoud touräächsätte',
+'passwordreset-disabled' => 'Dät Touräächsätten fon Paaswoude wuud in dissen Wiki deaktivierd.',
+'passwordreset-pretext' => '{{PLURAL:$1||Reek aan fon do foulgjende Doaten ien}}',
'passwordreset-username' => 'Benutsernoome:',
+'passwordreset-domain' => 'Domain:',
+'passwordreset-capture' => 'Ju E-Mail-Ättergjucht bekiekje?',
+'passwordreset-capture-help' => 'Wan du disse Kaste ankjuusest, wäd ju E-Mail-Ättergjucht mäd dät temporäre Paaswoud, die wiesed, as uk dän Benutser tousoand.',
+'passwordreset-email' => 'E-Mail-Adresse:',
+'passwordreset-emailtitle' => 'Benutserkontoinformatione ap {{SITENAME}}',
+'passwordreset-emailelement' => '↓Benutsernoome: $1
+Temporär Paaswoud: $2',
+'passwordreset-emailsent' => '↓Ne Ärinnerenge wuud uur E-Mail fersoand.',
# Edit page toolbar
'bold_sample' => 'Fatten Text',
'userpage-userdoesnotexist-view' => 'Benutserkonto „$1“ bestoant nit.',
'blocked-notice-logextract' => 'Dissen Benutser is apstuuns speerd.
Foar Information foulget n aktuellen Iendraach uut dät Benutser-Logbouk:',
-'clearyourcache' => "'''Bemäärkenge: Ätter dät Fäästlääsen kon dät nöödich weese, dän Browser-Cache loostoumoakjen, uum do Annerengen sjo tou konnen.'''
-'''Mozilla / Firefox / Safari:''' hoold ''Shift'' deel un klik ''Reload,'' of tai ''Ctrl-F5'' of ''Ctrl-R'' (''Command-R'' ap n Mac); '''Konqueror: '''klik ''Reload'' of tai ''F5;'' '''Opera:''' moak dän cache loos in ''Tools → Preferences;'' '''Internet Explorer:''' hoold ''Ctrl'' deel un klik ''Refresh,'' of tai ''Ctrl-F5.''",
+'clearyourcache' => "'''Bemäärkenge: Ätter dät Fäästlääsen dän Browser-Cache loosmoakje, uum do Annerengen sjo tou konnen.'''
+*'''Firefox / Safari:''' hoold ''Uumskalttaste'' deel un klik deerbie ''Aktualisierje'' of tai ''Strg+F5'' of ''Strg+R'' (''⌘+R'' ap n Mac)
+* '''Google Chrome:''' ''Uumskalttaste+Strg+R'' (''⌘+Uumskalttaste+R'' ap n Mac) taie
+* '''Internet Explorer:''' ''Strg+F5'' taie of ''Strg'' taie un tou glieke Tied ''Aktualisieren'' anklikke
+* '''Opera:''' ''Extras → Internetspuuren läskje … → Individuelle Uutwoal → Dän komplette Cache läskje''
+*'''Konqueror: '''klik ''Aktualisieren'' of tai ''F5;''",
'usercssyoucanpreview' => "'''Tipp:''' Benutse dän „{{int:showpreview}}“-Knoop, uum dien näi CSS foar dät Spiekerjen tou tästjen.",
'userjsyoucanpreview' => "'''Tipp:''' Benutse dän „{{int:showpreview}}“-Knoop, uum dien näi JavaScript foar dät Spiekerjen tou tästjen.",
'usercsspreview' => "== Foarbekiek fon dien Benutser-CSS ==
'userinvalidcssjstitle' => "'''Woarskauenge:''' Deer existiert neen Skin \"\$1\". Betoank jädden, dät benutserspezifiske .css- un .js-Sieden män n Littek-Bouksteeuwe anfange mouten, also t.B. ''{{ns:user}}:Mustermann/vector.css'', nit ''{{ns:user}}:Mustermann/Vector.css''.",
'updated' => '(Annerd)',
'note' => "'''Waiwiesenge:'''",
-'previewnote' => "'''Dit is man ne Foarbekiek, die Artikkel wuude noch nit spiekerd!'''",
+'previewnote' => "'''Dit is man ne Foarbekiek, ju Siede wuude noch nit spiekerd!'''",
+'continue-editing' => 'Fääre beoarbaidje',
'previewconflict' => 'Disse Foarskau rakt dän Inhoold fon dät buppere Täkstfäild wier; so wol die Artikkel uutsjo, wan du nu spiekerjen dääst.',
'session_fail_preview' => "Dien Beoarbaidenge kuud nit spiekerd wäide, deer dien Sitsengsdoaten ferlädden geen sunt.
Fersäik dät jädden fonnäien, deertruch dät du unner ju foulgjende Foarskau nochmoal ap \"Siede spiekerje\" klikst.
Ne Spiekerenge kon dän Siedeninhoold fernäile. Dit geböärt bietiede truch ju Benutsenge fon n anonymen Proxy-Tjoonst, die der failerhaft oarbaidet.'''",
'edit_form_incomplete' => "'''Die Inhoold fon dät Beoarbaidengsformular häd dän Server nit fulboodich beloanged. Pröif dien Beoarbaidengen ap Fulständegaid un fersäik dät noch insen.",
'editing' => 'Beoarbaidjen fon $1',
+'creating' => 'Moakjen fon „$1“',
'editingsection' => 'Beoarbaidje fon $1 (Apsats)',
'editingcomment' => 'Beoarbaidjen fon $1 (Näi Stuk)',
'editconflict' => 'Beoarbaidengs-Konflikt: "$1"',
'copyrightwarning2' => 'Aal Biedraage tou dän {{SITENAME}} konnen fon uur Ljuude ferannerd un fersprat wäide. Fals Jie nit moaten dät Jou Oarbaid hier fon uur Ljuude ferannerd un fersprat wäd, dan drukke Jie nit ap "Spiekerje".
Jie fersicherje hiermäd uk, dät Jie dän Biedraach sälwen ferfoated hääbe blw. dät hie neen froamd Gjucht ferlätset (sjuch fääre: $1).',
-'longpageerror' => "'''FAILER: Die Text, dän du tou spiekerjen fersäkst, is $1 KB groot. Dät is gratter as dät ferlööwede Maximum fon $2 KB – Spiekerenge nit muugelk.'''",
+'longpageerror' => "'''FAILER: Die Text, dän du tou spiekerjen fersäkst, is {{PLURAL:$1|een Kilobyte|$1 Kilobyte}} groot. Dät is gratter as dät ferlööwede Maximum fon $2 KB – Spiekerenge nit muugelk.'''",
'readonlywarning' => "'''WOARSKAUENGE: Ju Doatenboank wuude foar Wartengsoarbaiden speerd, so dät dien Annerengen apstuuns nit spiekerd wäide konnen.
Sicherje dän Text jädden lokoal ap dien Computer un fersäik tou n leeteren Tiedpunkt, do Annerengen tou uurdreegen.'''
'edit-conflict' => 'Beoarbaidengskonflikt.',
'edit-no-change' => 'Dien Beoarbaidenge wuude ignorierd, deer neen Annerenge an dän Text foarnuumen wuude.',
'edit-already-exists' => 'Ju näie Siede kuud nit moaked wäide, deer ju al foarhounden is.',
+'defaultmessagetext' => 'Standardtext',
# Parser/template warnings
'expensive-parserfunction-warning' => 'Woarskauenge: Disse Siede änthaalt tou fuul Aproupe fon stuure Parserfunktione.
'parser-template-loop-warning' => 'Foarloagenstrik äntdäkt: [[$1]]',
'parser-template-recursion-depth-warning' => 'Foarloagenrekursionsdjuptenskeed uurtreeden ($1)',
'language-converter-depth-warning' => 'Sproakkonverter-djüptelimit uurtreeden ($1)',
+'node-count-exceeded-category' => 'Sieden, do ju Knättenantaal uurtreeden hääbe',
+'node-count-exceeded-warning' => 'Ju Siede häd ju Knättepunktantaal uurtreeden.',
+'expansion-depth-exceeded-category' => 'Sieden, do der ju Expansionsdjupte uurtreeden hääbe',
+'expansion-depth-exceeded-warning' => 'Ju Siede häd ju Expansionsdjupte uurtreeden.',
+'parser-unstrip-loop-warning' => 'Sirkelbesuch fääststoald',
# "Undo" feature
'undo-success' => 'Ju Annerenge kuud mäd Ärfoulch tourääch annerd wäide. Jädden ju Beoarbaidenge in ju Ferglieksansicht kontrollierje un dan ap „Siede spiekerje“ klikke, uum ju tou spiekerjen.',
Naiere Angoawen toun Läskfoargong as uk ne Begründenge fiende sik in dät [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Läsk-Logbouk].",
'rev-deleted-text-unhide' => "Disse Version wuud '''läsked'''.
Details stounde in dät [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} Läsk-Logbouk].
-As Administrator koast du noch [$1 ju Version bekiekje], wan du fääregunge moatest.",
+Du koast [$1 ju Version bekiekje], wan du fääregunge moatest.",
'rev-suppressed-text-unhide' => "Disse Version wuud '''unnerdrukt'''.
Details stounde in dät [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Unnerdrukkengs-Logbouk].
-Du as Administrator koast [$1 disse Version bekiekje], wan du et wonskest.",
+Du koast [$1 disse Version bekiekje], wan du moatest.",
'rev-deleted-text-view' => "Disse Version wuude '''läsked'''.
-As Administrator koast du ju wieders ienkiekje.
-Naiere Angoawen toun Läskfoargong as uk ne Begründenge fiende sik in dät [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} Läsk-Logbouk].",
+Du koast ju ienkiekje, wan du moatest.
+Naiere Angoawen fiende sik in dät [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} Läsk-Logbouk].",
'rev-suppressed-text-view' => "Disse Version wuud '''unnerdrukt'''.
-Administratore konnen ju ienkiekje; Details stounde in dät [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Unnerdrukkengs-Logbouk].",
+Du koast ju ienkiekje, wan du moatest.
+Details stounde in dät [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Unnerdrukkengs-Logbouk].",
'rev-deleted-no-diff' => "Du koast dissen Unnerskeed nit betrachtje, deer een fon do Versione '''läsked''' wuude.
Details stounde in dät [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} Läsk-Logbouk].",
'rev-suppressed-no-diff' => "Du koast dissen Versionsunnerskeed nit betrachtje, deer een fon do Versione '''läsked''' wuud.",
'rev-deleted-unhide-diff' => "Een fon do Versione fon dissen Unnerskeed wuud '''läsked'''.
Details stounde in dät [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} Läsk-Logbouk].
-As Adminstrator koast du noch [$1 dissen Versionsunnerskeed bekiekje] wan du fääregunge wolt.",
+Du koast [$1 dissen Versionsunnerskeed bekiekje] wan du moatest.",
'rev-suppressed-unhide-diff' => "Een fon do Versione fon dissen Unnerskeed wuud '''unnerdrukt'''.
Details stounde in dät [{{fullurl:{{#special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Unnerdrukkengs-Logbouk].
-As Adminstrator koast du noch [$1 dissen Versionsunnerskeed bekiekje] wan du fääregunge wolt.",
-'rev-deleted-diff-view' => "Ne Version fon dissen Versionsunnerskeed wuud '''läsked'''.
-As Administrator koast du dissen Versionsunnerskeed sjo. Details fiende sik in dät [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} Läsk-Logbouk].",
+Du koast [$1 dissen Versionsunnerskeed bekiekje] wan du wolt.",
+'rev-deleted-diff-view' => "Een fon do Versione fon dissen Versionsunnerskeed wuud '''läsked'''.
+Du koast dissen Versionsunnerskeed bekiekje, wan du wolt.
+Naiere Angoawen fiende sik in dät [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} Läsk-Logbouk].",
'rev-suppressed-diff-view' => "Een fon do Versione fon dissen Versionsunnerskeed wuud '''unnerdrukt'''.
-As Administrator koast du dissen Versionsunnerskeed sjo. Details fiende sik in dät [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Unnerdrukkengs-Logbouk].",
+Du koast dissen Versionsunnerskeed bekiekje, wan du wolt. Details fiende sik in dät [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Unnerdrukkengs-Logbouk].",
'rev-delundel' => 'wiese/ferbierge',
'rev-showdeleted' => 'wies',
'revisiondelete' => 'Versione läskje/wier häärstaale',
# Suppression log
'suppressionlog' => 'Uursicht-Logbouk',
-'suppressionlogtext' => 'Dit is dät Logbouk fon do Uursicht-Aktione (Annerengen fon ju Sichtboarhaid fon Versione, Beorbaidengskommentare, Benutsernoomen un Benutserspeeren).',
+'suppressionlogtext' => 'Dit is dät Logbouk fon do Uursicht-Aktione (Annerengen fon ju Sichtboarhaid fon Versione, Beorbaidengskommentare, Benutsernoomen un Benutserspeeren).
+Sjuch ju [[Special:BlockList|Lieste fon speerde IP-Adressen un Benutsernoomen]] foar aktuelle Speeren.',
# History merging
'mergehistory' => 'Versionsgeskichten fereenigje',
'qbsettings-fixedright' => 'Gjuchts, fääst',
'qbsettings-floatingleft' => 'Links, swieuwjend',
'qbsettings-floatingright' => 'Gjuchts, swieuwjend',
+'qbsettings-directionality' => 'Fääst, ouhongich fon de Skrieuwgjuchte fon ju wäälde Sproake',
# Preferences page
'preferences' => 'Ienstaalengen',
'prefs-skin' => 'Skin',
'skin-preview' => 'Foarskau',
'datedefault' => 'Neen Preferenz',
+'prefs-beta' => 'Beta-Funktione',
'prefs-datetime' => 'Doatum un Tied',
+'prefs-labs' => 'Alpha-Funktione',
'prefs-personal' => 'Benutserdoaten',
'prefs-rc' => 'Bekoandreekenge fon "Lääste Annerengen"',
'prefs-watchlist' => 'Beooboachtengslieste',
'savedprefs' => 'Dien Ienstaalengen wuuden spiekerd.',
'timezonelegend' => 'Tiedzone:',
'localtime' => 'Tied bie Jou:',
-'timezoneuseserverdefault' => 'Standoardtied fon dän Server ($1)',
+'timezoneuseserverdefault' => 'Standoardtied fon dän Server bruuke ($1)',
'timezoneuseoffset' => 'Uur (Unnerskeed anreeke)',
'timezoneoffset' => 'Unnerskeed¹:',
'servertime' => 'Tied ap dän Server:',
'prefs-registration' => 'Anmäldetiedpunkt:',
'yourrealname' => 'Dien ächte Noome:',
'yourlanguage' => 'Sproake fon ju Benutser-Uurfläche:',
-'yourvariant' => 'Variante:',
+'yourvariant' => 'Sproakevariante:',
+'prefs-help-variant' => 'Ju foarleekene Skrieuwwiese, in ju do Wikisieden wiesd wäide skällen.',
'yournick' => 'Unnerskrift:',
'prefs-help-signature' => 'Biedraage ap Diskussionssieden skuulen mäd „<nowiki>~~~~</nowiki>“ signierd wäide, wät dan in dien Signatuur mäd Tiedstämpel uumewondeld wäd.',
'badsig' => 'Signatursyntax is uungultich; HTML uurpröiwje.',
'userrights-lookup-user' => 'Ferwaltede Gruppentouheeregaid',
'userrights-user-editname' => 'Benutsernoome anreeke:',
'editusergroup' => 'Beoarbaidede Benutsergjuchte',
-'editinguser' => "Uur Benutsergjuchte fon '''[[User:$1|$1]]''' ([[User talk:$1|{{int:talkpagelinktext}}]]{{int:pipe-separator}}[[Special:Contributions/$1|{{int:contribslink}}]])",
+'editinguser' => "Uur Benutsergjuchte fon '''[[User:$1|$1]]''' $2",
'userrights-editusergroup' => 'Beoarbaidje Gruppentouheeregaid fon dän Benutser',
'saveusergroups' => 'Spiekerje Gruppentouheeregaid',
'userrights-groupsmember' => 'Meeglid fon:',
'userrights-no-interwiki' => 'Du hääst neen Begjuchtigenge, do Benutsergjuchte in uur Wikis tou annerjen.',
'userrights-nodatabase' => 'Ju Doatenboank $1 is nit deer of nit lokoal.',
'userrights-nologin' => 'Du moast die mäd n Administrator-Benutserkonto [[Special:UserLogin|anmäldje]], uum Benutsergjuchte tou annerjen.',
-'userrights-notallowed' => 'Du hääst neen Begjuchtigenge, uum Benutsergjuchte tou reeken.',
+'userrights-notallowed' => 'Du hääst neen Begjuchtigenge, uum Benutsergjuchte tou reeken of ientouluuken.',
'userrights-changeable-col' => 'Gruppentouheeregaid, ju du annerje koast',
'userrights-unchangeable-col' => 'Gruppentouheeregaid, ju du nit annerje koast',
'group-suppress' => 'Uursichte',
'group-all' => '(aal)',
-'group-user-member' => 'Benutser',
-'group-autoconfirmed-member' => 'Bestäätigede Benutser',
-'group-bot-member' => 'Bot',
-'group-sysop-member' => 'Administrator',
-'group-bureaucrat-member' => 'Bürokrat',
-'group-suppress-member' => 'Uursicht',
+'group-user-member' => '{{GENDER:$1|Benutser|Benutserske}}',
+'group-autoconfirmed-member' => '{{GENDER:$1|Automatisk bestäätigden Benutser|Automatisk bestäätigde Benutserske}}',
+'group-bot-member' => '{{GENDER:$1|Bot}}',
+'group-sysop-member' => '{{GENDER:$1|Administrator|Administratorske}}',
+'group-bureaucrat-member' => '{{GENDER:$1|Bürokroat|Bürokroatske}}',
+'group-suppress-member' => '{{GENDER:$1|Uursjooer|Uursjooerske}}',
'grouppage-user' => '{{ns:project}}:Benutsere',
'grouppage-autoconfirmed' => '{{ns:project}}:Bestäätigede Benutser',
'rightslog' => 'Gjuchte-Logbouk',
'rightslogtext' => 'Dit is dät Logbouk fon do Annerengen fon do Benutsergjuchte.',
'rightslogentry' => 'annerde ju Gruppentouheeregaid foar „$1“ fon „$2“ ap „$3“.',
+'rightslogentry-autopromote' => 'wuud automatisk fon „$2“ ätter „$3“ touoardend',
'rightsnone' => '(-)',
# Associated actions - in the sentence "You do not have permission to X"
'large-file' => 'Jädden neen Bielde uur $1 hoochleede; disse Doatäi is $2 groot.',
'largefileserver' => 'Disse Doatäi is tou groot, deer die Server so konfigurierd is, dät Doatäien bloot bit tou ne bestimde Grööte apzeptierd wäide.',
'emptyfile' => 'Ju hoochleedene Doatäi is loos. Die Gruund kon n Typfailer in dän Doatäinoome weese. Kontrollierje jädden, of du ju Doatäi wuddelk hoochleede wolt.',
+'windows-nonascii-filename' => 'Dit Wiki unnerstöänt neen Doatäinoomen do der Sunnerteekene änthoolde.',
'fileexists' => "Ne Doatäi mäd dissen Noome bestoant al.
Wan du ap 'Doatäi spiekerje' klikst, wäd ju Doatäi uurskrieuwen.
Unner '''<tt>[[:$1]]</tt>''' koast du die bewisje, of du dät wuddelk wolt.
# img_auth script messages
'img-auth-accessdenied' => 'Tougriep ferwäigerd',
'img-auth-nopathinfo' => 'PATH_INFO failt.
-Dien Server is nit deerfoar iengjucht, disse Information fääretoureeken.
-Dät kuud CGI-basierd weese un unnerstutset img_auth nit.
+Die Server is nit deerfoar iengjucht, disse Information fääretoureeken.
+Ju kuud CGI-basierd weese un unnerstutset img_auth nit.
Sjuch https://www.mediawiki.org/wiki/Manual:Image_Authorization.',
'img-auth-notindir' => 'Dät wonskede Paad is nit in dät konfigurierde Uploadferteeknis.',
'img-auth-badtitle' => 'Uut „$1“ kon naan gultigen Tittel moaked wäide.',
Dit Wiki wuud as n eepentelk Wiki konfigurierd.
Uut Sicherhaidsgruunde is img_auth.php deaktivierd.',
'img-auth-noread' => 'Benutser häd neen Begjuchtigenge, „$1“ tou leesen.',
+'img-auth-bad-query-string' => 'Ju URL wiest ne uungultige Oufroageteekenfoulge ap.',
# HTTP errors
'http-invalid-url' => 'Uungultige URL:$1',
'upload_source_file' => ' (ne Doatäi ap Jou Computer)',
# Special:ListFiles
-'listfiles-summary' => 'Disse Spezialsiede liestet aal hoochleedene Doatäie ap. Standoardmäitich wäide do toulääst hoochleedene Doatäie toueerst anwiesd. Truch n Klik ap do Spaltenuurskrifte kon ju Sortierenge uumetroald wäide of der kon ätter ne uur Spalte sortierd wäide.',
+'listfiles-summary' => 'Disse Spezialsiede liestet aal hoochleedene Doatäie ap.
+Sofier ätter n bestimden Benutser sieuwed wäd, wäide bloot do Doatäie wiesd, bie doo hie ju laäste Version hoochleeden häd.',
'listfiles_search_for' => 'Säik ätter Doatäi:',
'imgfile' => 'Doatäi',
'listfiles' => 'Bieldelieste',
'filehist-filesize' => 'Doatäigrööte',
'filehist-comment' => 'Kommentoar',
'filehist-missing' => 'Doatäi failt',
-'imagelinks' => 'Doatäiferweendengen',
+'imagelinks' => 'Doatäiferweendenge',
'linkstoimage' => '{{PLURAL:$1|Ju foulgjende Siede ferwoant|Do foulgjende $1 Sieden ferweende}} disse Doatäi:',
'linkstoimage-more' => 'Moor as {{PLURAL:$1|een Siede ferlinket|$1 Sieden ferlinkje}} ap disse Doatäi.
Ju foulgjende Lieste wiest bloot {{PLURAL:$1|dän eerste Link|do eerste $1 Linke}} ap disse Doatäi.
Ne [[Special:WhatLinksHere/$2|fulständige Lieste]] is ferföigboar.',
'nolinkstoimage' => 'Naan Artikkel benutset disse Bielde.',
'morelinkstoimage' => '[[Special:WhatLinksHere/$1|Wiedere Ferbiendengen]] foar disse Doatäi.',
+'linkstoimage-redirect' => '$1 (Doatäifääreleedenge) $2',
'duplicatesoffile' => '{{PLURAL:$1|Ju foulgjende Doatäi is n Duplikoat|Do foulgjende $1 Doatäie sunt Duplikoate}} fon disse Doatäi ([[Special:FileDuplicateSearch/$2|wiedere Details]]):',
'sharedupload' => 'Disse Doatäi stamt uut $1 un duur fon uur Projekte ferwoand wäide.',
'sharedupload-desc-there' => 'Disse Doatäi stamt uut $1 un duur fon uur Projekte ferwoand wäide. Sjuch ap ju [$2 Doatäibeskrieuwengssiede] ätter wiedere Informatione.',
'statistics-users-active-desc' => 'Benutsere mäd Beoarbaidengen {{PLURAL:$1|in do lääste 24 Uuren|in do fergeene $1 Deege}}',
'statistics-mostpopular' => 'Maast besoachte Sieden',
-'disambiguations' => 'Begriepskläärengssieden',
+'disambiguations' => 'Sieden do der ap Begriepskläärengssieden ferlinkje',
'disambiguationspage' => 'Template:Begriepskläärenge',
'disambiguations-text' => "Do foulgjende Sieden ferlinkje ap ne Siede tou ju '''Begriepskläärenge'''.
Jie skuulen insteede deerfon ap ju eegentelk meende Siede ferlinkje.<br />
'listusers-editsonly' => 'Wies bloot Benutsere mäd Biedraage',
'listusers-creationsort' => 'Ätter dän Moakdoatum sortierje',
'usereditcount' => '$1 {{PLURAL:$1|Beoarbaidenge|Beoarbaidengen}}',
-'usercreated' => 'Moaked ap n $1 uum $2',
+'usercreated' => '{{GENDER:$3|Moaked}} ap n $1 uum $2 Uure',
'newpages' => 'Näie Sieden',
'newpages-username' => 'Benutsernoome:',
'ancientpages' => 'Siet loang uunbeoarbaidede Sieden',
'booksources-invalid-isbn' => 'Fermoudelk is ju ISBN uungultich. Säik ätter Failere in ju Kopie.',
# Special:Log
-'specialloguserlabel' => 'Benutser:',
-'speciallogtitlelabel' => 'Tittel:',
+'specialloguserlabel' => 'Uutfierenden Benutser:',
+'speciallogtitlelabel' => 'Siel (Tittel of Benutser):',
'log' => 'Logbouke',
'all-logs-page' => 'Aal eepentelke Logbouke',
'alllogstext' => 'Dit is ne kombinierde Anwiesenge fon aal Logbouke fon {{SITENAME}}.
'linksearch-pat' => 'Säikmuster:',
'linksearch-ns' => 'Noomensruum:',
'linksearch-ok' => 'Säike (012)',
-'linksearch-text' => 'Disse Spezialsiede moaket ju Säike muugelke ätter Sieden, in do bestimde Webferbiendengen äntheelden sunt. Deerbie konne Wildcards as biespilswiese <tt>*.example.com</tt> benutsed wäide.<br />Unnerstutsede Protokolle: <tt>$1</tt>',
+'linksearch-text' => 'Disse Spezioalsiede moaket ju Säike muugelke ätter Sieden, in do bestimde Webferbiendengen äntheelden sunt. Deerbie konnen Ploatshooldere as biespilswiese <tt>*.biespiell.de</tt> benutsed wäide. Der mout ap minste een Top-Level-Domai, t.B. „*.org“. anroat wäide. <br />Unnerstutsede Protokolle: <tt>$1</tt> (Disse jädden nit bie ju Säikanfroage anreeke.)',
'linksearch-line' => '$1 is ferlinked fon $2',
'linksearch-error' => 'Wildcards konnen bloot an dän Ounfang fon ju URL ferwoand wäide.',
'noemailtext' => 'Dissen Benutser häd neen gultige Email-Adrässe anroat.',
'nowikiemailtitle' => 'E-Mail-Ferseendenge nit muugelk',
'nowikiemailtext' => 'Dissen Benutser moate neen E-Mails fon uur Benutsere kriege.',
+'emailnotarget' => 'Nit foarhoundenen of uungultigen Benutsernoome foar dän Ämpfangst fon ne E-Mail.',
+'emailtarget' => 'Benutsernoome fon dän Ämpfanger ienreeke',
+'emailusername' => 'Benutsernoome:',
+'emailusernamesubmit' => 'Fääre',
'email-legend' => 'E-Mail an n uur {{SITENAME}}-Benutser seende',
'emailfrom' => 'Fon:',
'emailto' => 'An:',
'watchlistanontext' => 'Du moast die $1, uum dien Beooboachtengslieste tou sjoon of Iendraage ap hier tou beoarbaidjen.',
'watchnologin' => 'Du bäst nit anmälded',
'watchnologintext' => 'Du moast [[Special:UserLogin|anmälded]] weese, uum dien Beooboachtengslieste tou beoarbaidjen.',
+'addwatch' => 'Tou Beooboachtengslieste bietouföigje',
'addedwatchtext' => "Die Artikkel \"[[:\$1]]\" wuude an dien [[Special:Watchlist|Foulgelieste]] touföiged.
Leetere Annerengen an dissen Artikkel un ju touheerende Diskussionssiede wäide deer liested
un die Artikkel wäd in ju [[Special:RecentChanges|fon do lääste Annerengen]] in '''Fatskrift''' anroat.
Wan du die Artikkel wier fon ju Foulgelieste ou hoalje moatest, klik ap ju Siede ap \"Ferjeet disse Siede\".",
+'removewatch' => 'Fon ju Beooboachtengslieste wächhoalje',
'removedwatchtext' => 'Ju Siede „[[:$1]]“ wuude fon dien [[Special:Watchlist|Beooboachtengslieste]] wächhoald.',
'watch' => 'Beooboachtje',
'watchthispage' => 'Siede beooboachtje',
# Displayed when you click the "watch" button and it is in the process of watching
'watching' => 'Beooboachtje …',
'unwatching' => 'Nit beooboachtje …',
+'watcherrortext' => 'Bie dät Annerjen fon do Beoboachtengsliestenienstaalengen foar "$1" is n Failer aptreeden.',
'enotif_mailer' => '{{SITENAME}} tält Beskeed uur Email',
'enotif_reset' => 'Markier aal besoachte Sieden',
--
+Uum do Ienstaaleungen fon dät E-Mail-Becheedtälsystem antoupaasjen, besäik
+{{canonicalurl:{{#special:Preferences}}}}
+
Uum do Ienstaalengen fon dien Beooboachtengslieste antoupaasjen, besäik
{{canonicalurl:{{#special:EditWatchlist}}}}
# Protect
'protectlogpage' => 'Siedenskuts-Logbouk',
-'protectlogtext' => 'Dit is ne Lieste fon do blokkierde Sieden.
-Sjuch [[Special:ProtectedPages|Skutsede Siede]] foar moor Informatione.',
+'protectlogtext' => 'Dit is dät Siedenskuts-Logbouk.
+Sjuch ju [[Special:ProtectedPages|Lieste fon skutsede Sieden]] foar aal apstuuns skutsede Sieden.',
'protectedarticle' => 'skutsede „[[$1]]“',
'modifiedarticleprotection' => 'annerde dän Skuts fon „[[$1]]“',
'unprotectedarticle' => 'hieuwede dän Skuts fon "[[$1]]" ap',
'viewdeletedpage' => 'Läskede Versione anwiese',
'undeletepagetext' => '{{PLURAL:$1|Ju foulgjende Siede wuud läsked un kon|Do foulgjende $1 Sieden wuuden läsked un konnen}} fon Administratore wier häärstoald wäide:',
'undelete-fieldset-title' => 'Beoarbaidengen wier häärstaale',
-'undeleteextrahelp' => "Uum ju Siede gans mäd aal Versione wiertoumoakjen, wääl neen Versione uut, reek ne Begruundenge an un klik ap '''''Wier moakje'''''.
-* Moatest du bloot bestimde Versione wier moakje, so wääl do jädden eenpeld anhound fon do Markierengen uut, reek ne Begruundenge an un klik dan ap '''''Wier moakje'''''.
-* '''''Oubreeke''''' moaket dät Kommentoarfäild loos un hoalt aal Markierengen wäch bie do Versione.",
+'undeleteextrahelp' => '*Uum ju Siede gans mäd aal Versione wiertoumoakjen, wääl neen Versione uut, reek ne Begruundenge an un klik dan ap „{{int:undeletebtn}}“.
+* Moatest du bloot bestimde Versione wier moakje, so wääl do jädden eenpeld anhound fon do Markierengen uut, reek ne Begruundenge an un klik dan ap „{{int:undeletebtn}}“.',
'undeleterevisions' => '{{PLURAL:$1|1 Version|$1 Versione}} archivierd',
'undeletehistory' => 'Wan du disse Siede wier häärstoalst, wäide uk aal oolde Versione wier häärstoald. Wan siet ju Läskenge aan näien Artikkel mäd dän sälge Noome moaked wuude, wäide do wier häärstoalde Versione as oolde Versione fon dissen Artikkel ferskiene.',
'undeleterevdel' => 'Dät wier Häärstaalen wäd nit truchfierd, wan deertruch ju aktuelste Version toun Deel läsked wäd.
# Namespace form on various pages
'namespace' => 'Noomensruum:',
'invert' => 'Uutwoal uumekiere',
+'tooltip-invert' => 'Dit Uutwoalfäild anklikje, uum Annerengen in dän wäälde Noomensruum un, sofier uutwääld, dän äntspreekende touheerige Noomensruum uustoubländjen',
'namespace_association' => 'Touoardende Noomensruum',
+'tooltip-namespace_association' => 'Dit Uutwoalfäild anklikje, uum dän din Uutwoal touheerigen Diskussionsnoomenruum, of in dän uumekierde Fal, dän touheerige Noomensruum, mee ientoubeluuken',
'blanknamespace' => '(Sieden)',
# Contributions
'ipb-confirm' => 'Speerenge bestäätigje',
'badipaddress' => 'Dissen Benutser bestoant nit, d.h. die Noome is falsk',
'blockipsuccesssub' => 'Blokkoade geloangen',
-'blockipsuccesstext' => 'Ju IP-Adrässe [[Special:Contributions/$1|$1]] wuude blokkierd.
-<br />[[Special:BlockList|Lieste fon Blokkoaden]].',
+'blockipsuccesstext' => 'Die Benutser/ ju IP-Adrässe [[Special:Contributions/$1|$1]] wuud speerd.<br />
+Toun Aphieuwjen fon ju Speere sjuch [[Special:BlockList|Lieste fon aktive Speeren]].',
'ipb-blockingself' => 'Du bäst tougong, die sälwen tou speeren! Moatest dät wuudelk dwo?',
'ipb-confirmhideuser' => 'Du bäst tougong n Benutser in dän Modus "Benutser fersteete" tou speeren. Dät fiert deertou, dät die Benutsernoome in aal Liesten un Logbouke unnerdrukt wäd. Moatest dät wuudelk dwo?',
'ipb-edit-dropdown' => 'Speergruunde beoarbaidje',
Hier foulget die Iendraach uut dät Unnerdrukkengs-Logbouk:',
'blocklogentry' => '[[$1]] blokkierd foar n Tiedruum fon: $2 $3',
'reblock-logentry' => 'annerde ju Speere foar „[[$1]]“ foar dän Tiedruum: $2 $3',
-'blocklogtext' => 'Dit is n Logbouk fon Speerengen un Äntspeerengen fon Benutsere un IP-Adrässe.
+'blocklogtext' => 'Dit is n Logbouk fon Speerengen un Äntspeerengen fon Benutsere un IP-Adrässen.
Automatisk speerde IP-Adrässe sunt nit apnuumen.
-Sjuch ju [[Special:BlockList|Lieste fon de speerde IP-Adrässe un Benutsernoomen]] foar aal aktive Speeren.',
+Sjuch ju [[Special:BlockList|Lieste fon de speerde IP-Adrässen un Benutsernoomen]] foar aal aktive Speeren.',
'unblocklogentry' => 'Blokkade fon $1 aphieuwed',
'block-log-flags-anononly' => 'bloot Anonyme',
'block-log-flags-nocreate' => 'Dät Moakjen fon Benutserkonten speerd',
'unlockdbsuccesstext' => 'Ju {{SITENAME}}-Doatenboank wuude fräiroat.',
'lockfilenotwritable' => 'Ju Doatenboank-Speerdoatäi is nit beskrieuwboar. Toun Speeren of Fräireeken fon ju Doatenboank mout ju foar dän Webserver beskrieuwboar weese.',
'databasenotlocked' => 'Ju Doatenboank is nit speerd.',
+'lockedbyandtime' => '(fon $1 an dän $2 uum $3 Uure)',
# Move page
'move-page' => 'Ferskuuwe „$1“',
'tooltip-ca-viewsource' => 'Disse Siede is skutsed. Die Wältext kon ankieked wäide.',
'tooltip-ca-history' => 'Fröiere Versione fon disse Siede',
'tooltip-ca-protect' => 'Disse Siede skutsje',
-'tooltip-ca-unprotect' => 'Disse Siede fräireeke',
+'tooltip-ca-unprotect' => 'Siedenskuts annerje',
'tooltip-ca-delete' => 'Disse Siede läskje',
'tooltip-ca-undelete' => 'Iendraage wier moakje, eer disse Siede läsked wuude',
'tooltip-ca-move' => 'Disse Siede ferskuuwe',
'spam_reverting' => 'Lääste Version sunner Links tou $1 wier häärstoald.',
'spam_blanking' => 'Aal Versione äntheelden Links tou $1, skeenmoaked.',
+# Info page
+'pageinfo-title' => 'Informatione tou „$1“',
+'pageinfo-header-edits' => 'Beoarbaidengen',
+'pageinfo-header-watchlist' => 'Beooboachtengslieste',
+'pageinfo-header-views' => 'Siedenaproupe',
+'pageinfo-subjectpage' => 'Siede',
+'pageinfo-talkpage' => 'Diskussionssiede',
+'pageinfo-watchers' => 'Antaal fon do Besäikere',
+'pageinfo-edits' => 'Antaal fon do Beoarbaidengen',
+'pageinfo-authors' => 'Antaal fon unnerskeedelke Autoren',
+'pageinfo-views' => 'Antaal fon Siedenaproupe',
+'pageinfo-viewsperedit' => 'Siedenaproupe pro Beoarbaidenge',
+
# Patrolling
'markaspatrolleddiff' => 'As pröiwed markierje',
'markaspatrolledtext' => 'Dissen Artikkel as pröiwed markierje',
'widthheightpage' => '$1 × $2, {{PLURAL:$3|1 Siede|$3 Sieden}}',
'file-info' => 'Doatäigrööte: $1, MIME-Typ: $2',
'file-info-size' => '$1 × $2 Pixel, Doatäigrööte: $3, MIME-Typ: $4',
+'file-info-size-pages' => '$1 × $2 Pixel, Doatäigrööte: $3, MIME-Typ: $4, $5 {{PLURAL:$5|Siede| Sieden}}',
'file-nohires' => 'Neen haagere Aplöösenge foarhounden.',
'svg-long-desc' => 'SVG-Doatäi, Basisgrööte: $1 × $2 Pixel, Doatäigrööte: $3',
'show-big-image' => 'Bielde in hooge Aplöösenge',
Truch ätterdraine Beoarbaidenge fon ju Originoaldoatäi konnen eenige Details annerd wuuden weese.',
'metadata-expand' => 'Wiedere Details ienbländje',
'metadata-collapse' => 'Details uutbländje',
-'metadata-fields' => 'Do foulgjende Fäildere fon do EXIF-Metadoaten in disse Media Wiki-Ättergjucht wäide ap Bieldbeskrieuwengssieden anwiesd;
-wiedere standdoardmäitich "ienklapte" Details konnen anwiesd wäide.
+'metadata-fields' => 'Do foulgjende Fäildere fon do EXIF-Metadoaten, do der in dissen Media Wiki-Systemtext anroat sunt, wäide ap Bieldbeskrieuwengssieden mäd ienklapte Metadoatentabelle anwiesd.
+Wiedere wäide standoardmäitich nit anwiesd.
* make
* model
* fnumber
'exif-colorspace' => 'Faawenruum',
'exif-componentsconfiguration' => 'Betjuudenge fon älke Komponente',
'exif-compressedbitsperpixel' => 'Komprimierde Bits pro Pixel',
-'exif-pixelydimension' => 'Gultige Bieldebratte',
-'exif-pixelxdimension' => 'Gultige Bieldehöchte',
+'exif-pixelydimension' => 'Bieldebratte',
+'exif-pixelxdimension' => 'Bieldehöchte',
'exif-usercomment' => 'Benutserkommentoare',
'exif-relatedsoundfile' => 'Touheerige Toondoatäi',
'exif-datetimeoriginal' => 'Ärfoatengstiedpunkt',
'exif-exposureprogram' => 'Beljuchtengsprogram',
'exif-spectralsensitivity' => 'Beljoachtengstiedwäid',
'exif-isospeedratings' => 'Film- of Sensorämpfiendelkaid (ISO)',
-'exif-shutterspeedvalue' => 'Beluchtengstiedwäid',
-'exif-aperturevalue' => 'Bländenwäid',
-'exif-brightnessvalue' => 'Ljoachtegaidswäid',
+'exif-shutterspeedvalue' => 'APEX-Beluchtengstiedwäid',
+'exif-aperturevalue' => 'APEX-Bländenwäid',
+'exif-brightnessvalue' => 'APEX-Ljoachtegaidswäid',
'exif-exposurebiasvalue' => 'Beljuchtengsfoargoawe',
'exif-maxaperturevalue' => 'Grootste Blände',
'exif-subjectdistance' => 'Fierte',
'exif-gpsareainformation' => 'Noome fon dät GPS-Gestrich',
'exif-gpsdatestamp' => 'GPS-Doatum',
'exif-gpsdifferential' => 'GPS-Differentioalkorrektur',
+'exif-jpegfilecomment' => 'JPEG-Doatäikommentoar',
+'exif-keywords' => 'Koaiwoude',
+'exif-worldregioncreated' => 'Waareldregion in ju dät Foto apnuumen wuud',
+'exif-countrycreated' => 'Stoat in dän dät Foto apnuumen wuud',
+'exif-countrycodecreated' => 'Code foar dän Stoat in dän dät Foto apnuumen wuud',
+'exif-provinceorstatecreated' => 'Provinz of Glidstoat in dän dät Foto apnuumen wuud',
+'exif-citycreated' => 'Stääd in ju dät Foto aonuumen wuud',
+'exif-sublocationcreated' => 'Beräk fon de Stääd in dän dät Foto apnuumen wuud',
+'exif-worldregiondest' => 'Wiesde Waareldregione',
+'exif-countrydest' => 'Wiesden Stoat',
+'exif-countrycodedest' => 'Code foar dän wiesden Stoat',
+'exif-provinceorstatedest' => 'Wiesde Provinz of Glidstoat',
+'exif-citydest' => 'Wiesde Stääd',
+'exif-sublocationdest' => 'Beräk fon de wiesde Stääd',
'exif-objectname' => 'Kuuten Tittel',
+'exif-specialinstructions' => 'Besunnere Anwiesengen',
+'exif-headline' => 'Tittel',
+'exif-credit' => 'Noomensnaamengte/Fereepentelker',
+'exif-source' => 'Wälle',
+'exif-editstatus' => 'Redaktionelle Stoatus fon dät Foto',
+'exif-urgency' => 'Tringelkhaid',
+'exif-fixtureidentifier' => 'Kolumne',
+'exif-locationdest' => 'Deerstoalden Standoart',
+'exif-locationdestcode' => 'Code foar dän deerstoalde Standoart',
+'exif-objectcycle' => 'Tied fon dän Dai, foar ju dit Medium bestimd is',
+'exif-contact' => 'Kontaktinformatione',
+'exif-writer' => 'Ferfoater',
+'exif-languagecode' => 'Sproake',
+'exif-iimversion' => 'IM-Version',
+'exif-iimcategory' => 'Kategorie',
+'exif-iimsupplementalcategory' => 'Kategorien uurhoop',
+'exif-datetimeexpires' => 'Nit ferweende ätter',
+'exif-originaltransmissionref' => 'Code fon dän Standoart fon dän dät Foto tousoand wuud',
+'exif-identifier' => 'Kannenge',
+'exif-lens' => 'Ferwoand Objektiv',
+'exif-serialnumber' => 'Seriennummer fon ju Kamera',
+'exif-cameraownername' => 'Kamerabesitter',
+'exif-label' => 'Beteekenge',
+'exif-datetimemetadata' => 'Doatum tou dän do Metadoaten toulääst annerd wuuden',
+'exif-nickname' => 'Gebruukelke Noome fon dät Foto',
+'exif-rating' => 'Beweertenge (uut 5)',
+'exif-rightscertificate' => 'Gjuchteferwaltengszertifikoat',
+'exif-copyrighted' => 'Uurhieuwergjuchtstoatus',
+'exif-copyrightowner' => 'Uurhieuwergjuchtsienhääber',
# EXIF attributes
'exif-compression-1' => 'Uunkomprimierd',
'exif-orientation-3' => 'Uum 180° uumewoand',
'exif-orientation-4' => 'Vertikoal uumewoand',
'exif-orientation-5' => 'Juun dän Klokkenwiesersin uum 90° troald un vertikoal uumewoand',
-'exif-orientation-6' => 'Uum 90° in Klokkenwiesersin troald',
+'exif-orientation-6' => 'Uum 90° juun dän Klokkenwiesersin troald',
'exif-orientation-7' => 'Uum 90° in Klokkenwiesersin troald un vertikoal uumewoand',
-'exif-orientation-8' => 'Uum 90° juun dän Klokkenwiesersin troald',
+'exif-orientation-8' => 'Uum 90° in dän Klokkenwiesersin troald',
'exif-planarconfiguration-1' => 'Groafformoat',
'exif-planarconfiguration-2' => 'Planoarformoat',
'exif-sensingmethod-7' => 'Trilinearen Sensor',
'exif-sensingmethod-8' => 'Color sequential linear sensor',
+'exif-filesource-3' => 'Digitoale Standbieldekamera',
+
'exif-scenetype-1' => 'Normoal',
'exif-customrendered-0' => 'Standoard',
'cannotdelete-title' => 'Hanteu bisa ngahapus kaca "$1"',
'badtitle' => 'Judul goréng',
'badtitletext' => 'Judul kaca nu dipénta teu bener, kosong, atawa judul antarbasa atawa antarwikina salah tutumbu.',
-'perfcached' => 'Data di handap ieu sindangan sahingga--meureun--teu mutahir. A maximum of {{PLURAL:$1|one result is|$1 results are}} available in the cache.',
-'perfcachedts' => 'Data di handap ieu mah sindangan, panungtungan diropéa téh $1. A maximum of {{PLURAL:$4|one result is|$4 results are}} available in the cache.',
+'perfcached' => "Data di handap ieu mangrupa 'cache' sahingga bisa jadi henteu mutahir. 'Cache' nyadiakeun paling loba {{PLURAL:$1|hiji hasil|$1 hasil}}.",
+'perfcachedts' => "Data di handap mangrupa 'cache' anu panungtungan diropéa $1. 'Cache' nyadiakeun paling loba {{PLURAL:$4|hiji hasil|$4 hasil}}.",
'querypage-no-updates' => 'Pangrobahan ahir ti kaca ieu keur dipaéhkeun. Data anu aya di dieu ayeuna moal dimuat deui.',
'wrong_wfQuery_params' => 'Parameter salah ka wfQuery()<br />Fungsi: $1<br />Pamenta: $2',
'viewsource' => 'Témbongkeun sumber',
<?php
-/** Swedish (Svenska)
+/** Swedish (svenska)
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
'prefs-beta' => 'Betafunktioner',
'prefs-datetime' => 'Datum och tid',
'prefs-labs' => 'Testfunktioner',
+'prefs-user-pages' => 'Användarsidor',
'prefs-personal' => 'Mitt konto',
'prefs-rc' => 'Senaste ändringar',
'prefs-watchlist' => 'Bevakningslista',
'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:',
* @author Marcos
* @author Muddyb Blast Producer
* @author Robert Ullmann
+ * @author Stephenwanjau
* @author לערי ריינהארט
*/
# Suppression log
'suppressionlog' => 'Kumbukumbu za kuficha',
'suppressionlogtext' => 'Hapo chini panaonyeshwa orodha ya matukio ya ufutaji na ya uzuio ambayo maelezo yao yamefichwa kutoka kwa wakabidhi.
-Tazama [[Special:BlockList|orodha ya uzuio wa IP]] kuona orodha ya zuio zilizopo sasa hivi.',
+Tazama [[Special:BlockList|IP block orodha ya uzuio wa IP]] kuona orodha ya zuio zilizopo sasa hivi.',
# History merging
'mergehistory' => 'Unganisha historia za kurasa',
'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',
'userrights-no-interwiki' => 'Huna ruhusa ya kuhariri haki za mtumiaji kwenye wiki zingine.',
'userrights-nodatabase' => 'Hakuna hifadhidata inayoitwa $1 au haimo katiko jumuia hii ya wiki.',
'userrights-nologin' => 'Lazima [[Special:UserLogin|uingie ndani]] ya akaunti ya mkabidhi ili kupanga haki za mtumiaji.',
-'userrights-notallowed' => 'Akaunti yako haina ruhusa ya kupanga haki za mtumiaji.',
+'userrights-notallowed' => 'Akaunti yako haina ruhusa ya kuongeza au kutoa haki za mtumiaji.',
'userrights-changeable-col' => 'Makundi unayoweza kuyabadilisha',
'userrights-unchangeable-col' => 'Makundi usiyoweza kuyabadilisha',
'right-hideuser' => 'Kuzuia jina la mtumiaji, lisionekane mbele ya kadamnasi',
'right-protect' => 'Badilisha viwango vya ulinzi na hariri kurasa zilizolindwa',
'right-editinterface' => 'Kuhariri kusano ya mtumiaji',
-'right-editusercssjs' => 'Kuhariri mafaili ya CSS na JavaScript ya watumiaji wengine',
+'right-editusercssjs' => 'Hariri mafaili ya CSS na Hatijava ya watumiaji wengine',
'right-editusercss' => 'Hariri mafaili ya CSS ya watumiaji wengine',
'right-edituserjs' => 'Hariri mafaili ya JavaScript ya watumiaji wengine',
'right-import' => 'Kuleta kurasa kutoka kwa wiki zingine',
** 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',
'popularpages' => 'Kurasa zinazopendelewa',
'wantedcategories' => 'Jamii zinazotakiwa',
'wantedpages' => 'Kurasa zinazotakiwa',
-'wantedpages-badtitle' => 'Lipo jina batili katika matokeo: $1',
+'wantedpages-badtitle' => 'Kichwa batili katika seti ya matokeo: $1',
'wantedfiles' => 'Mafaili yanayokosekana',
'wantedtemplates' => 'Vigezo vinavyotakiwa',
'mostlinked' => 'Kurasa zinazoungwa kuliko zote',
'deadendpages' => 'Kurasa ambazo haziungi na ukurasa mwingine wowote',
'deadendpagestext' => 'Kurasa zifuatazo haziungana na kurasa zingine katika {{SITENAME}}.',
'protectedpages' => 'Kurasa zinazolindwa',
-'protectedpages-indef' => 'Zinazolindwa kwa muda wote tu',
+'protectedpages-indef' => 'Ulinzi kwa muda usiojulikana tu',
'protectedpages-cascade' => 'zinazokuwa na ulindaji kwa kurasa chini zake tu',
-'protectedpagestext' => 'Kurasa zifuatazo zinalindwa zisisogezwe wala zisihaririwe',
+'protectedpagestext' => 'Kurasa zifuatazo zinalindwa zisisogezwe wala kuhaririwa',
+'protectedpagesempty' => 'Hakuna kurasa zinazolindwa kwa sasa kwa vigezo hivi.',
'protectedtitles' => 'Majina yanayozuluiwa',
'protectedtitlestext' => 'Yafuatayo ni majina ya kurasa yanayozuluiwa kuyatumia',
+'protectedtitlesempty' => 'Hakuna vichwa vinavyolindwa kwa vigezo hivi kwa sasa.',
'listusers' => 'Orodha ya Watumiaji',
'listusers-editsonly' => 'Onyesha watumiaji wenye kuhariri tu',
'listusers-creationsort' => 'Panga kwa tarehe ya kuanzishwa',
'ancientpages' => 'Kurasa za kale',
'move' => 'Hamisha',
'movethispage' => 'Hamisha ukurasa huu',
-'unusedcategoriestext' => 'Kurasa za jamii zifuatazo zinapatikana, ingawaje hakuna ukurasa wala jamii nyingine iliyowekwa ndani ya jamii hizi.',
+'unusedcategoriestext' => 'Kurasa za jamii zifuatazo zinapatikana, ingawaje hakuna ukurasa wala jamii nyingine inayotumia kurasa hizi.',
+'notargettitle' => 'Hakuna lengo',
'pager-newer-n' => '{{PLURAL:$1|1 ya karibu zaidi|$1 ya karibu zaidi}}',
'pager-older-n' => '{{PLURAL:$1|$1 ya zamani zaidi}}',
* @author Mahir78
* @author Mayooranathan
* @author Naveen
+ * @author Planemad
* @author Shanmugamp7
* @author Sodabottle
* @author Sundar
# Protect
'protectlogpage' => 'காப்புப் பதிகை',
-'protectlogtext' => 'பின்வருவது பக்க திறப்புக்களதும் பூட்டுக்களதும் பட்டியலாகும். தற்போது நடைமுறையிலுள்ள காக்கப்பட்டப் பக்கங்களைக் காண [[Special:ProtectedPages|காக்கப்பட்ட பக்கங்களின் பட்டியலைப்]] பார்க்கவும்.',
+'protectlogtext' => '!!FUzZY!!பின்வருவது பக்க திறப்புக்களதும் பூட்டுக்களதும் பட்டியலாகும். தற்போது நடைமுறையிலுள்ள காக்கப்பட்டப் பக்கங்களைக் காண [[Special:ProtectedPages|காக்கப்பட்ட பக்கங்களின் பட்டியலைப்]] பார்க்கவும்.',
'protectedarticle' => '"[[$1]]" காக்கப்பட்டது',
'modifiedarticleprotection' => '"[[$1]]" பக்கத்திற்கான காப்பின் அளவு மாற்றப்பட்டது',
'unprotectedarticle' => '"[[$1]]" பக்கத்தின் காப்பு நீக்கப்பட்டது',
'viewsource-title' => '$1 యొక్క సోర్సు చూడండి',
'actionthrottled' => 'కార్యాన్ని ఆపేసారు',
'actionthrottledtext' => 'స్పామును తగ్గించటానికి తీసుకున్న నిర్ణయాల వల్ల, మీరు ఈ కార్యాన్ని అతి తక్కువ సమయంలో బోలెడన్ని సార్లు చేయకుండా అడ్డుకుంటున్నాము. కొన్ని నిమిషాలు ఆగి మరలా ప్రయత్నించండి.',
-'protectedpagetext' => 'à°\88 à°ªà±\87à°\9cà±\80à°ªà±\88 దిదà±\8dà°¦à±\81బాà°\9fà±\8dà°²à±\81 à°\9aà±\86à°¯à±\8dయనివà±\8dà°µà°\95à±\81à°\82à°¡à°¾ లాà°\95à±\81 à°\9aà±\87సాà°\82.',
+'protectedpagetext' => 'à°\88 à°ªà±\87à°\9cà±\80ని మారà±\8dà°\9aà°\95à±\81à°\82à°¡à°¾ à°\89à°\82à°¡à±\87à°\82à°¦à±\81à°\95à±\81 à°¸à°\82à°°à°\95à±\8dà°·à°¿à°\82à°\9aారà±\81.',
'viewsourcetext' => 'మీరీ పేజీ సోర్సును చూడవచ్చు, కాపీ చేసుకోవచ్చు:',
'protectedinterface' => 'సాఫ్టువేరు ఇంటరుఫేసుకు చెందిన టెక్స్టును ఈ పేజీ అందిస్తుంది. దుశ్చర్యల నివారణ కోసమై దీన్ని లాకు చేసాం.',
'editinginterface' => "'''హెచ్చరిక''': సాఫ్టువేరుకు ఇంటరుఫేసు టెక్స్టును అందించే పేజీని మీరు సరిదిద్దుతున్నారు.
'token_suffix_mismatch' => "'''మీ క్లయంటు, దిద్దుబాటు టోకెన్లోని వ్యాకరణ గుర్తులను గజిబిజి చేసింది కాబట్టి మీ దిద్దుబాటును తిరస్కరించాం. పేజీలోని పాఠ్యాన్ని చెడగొట్టకుండా ఉండేందుకు గాను, ఆ దిద్దుబాటును రద్దు చేశాం. వెబ్లో ఉండే లోపభూయిష్టమైన అజ్ఞాత ప్రాక్సీ సర్వీసులను వాడినపుడు ఒక్కోసారి ఇలా జరుగుతుంది.'''",
'edit_form_incomplete' => '’’’ఈ ఎడిట్ ఫారంలోని కొన్ని భాగాలు సర్వరును చేరలేదు; మీ మార్పుచేర్పులు భద్రంగా ఉన్నాయని ధృవపరచుకుని, మళ్ళీ ప్రయత్నించండి.’’’',
'editing' => '$1కి మార్పులు',
+'creating' => '$1 పేజీని సృష్టిస్తున్నారు',
'editingsection' => '$1కు మార్పులు (విభాగం)',
'editingcomment' => '$1 దిద్దుబాటు (కొత్త విభాగం)',
'editconflict' => 'దిద్దుబాటు ఘర్షణ: $1',
# Groups
'group' => 'గుంపు:',
'group-user' => 'వాడుకరులు',
-'group-autoconfirmed' => 'à°\86à°\9fà±\8bమాà°\9fà°¿à°\97à±\8dà°\97à°¾ నిరà±\8dà°¥ారించబడిన వాడుకరులు',
+'group-autoconfirmed' => 'à°\86à°\9fà±\8bమాà°\9fà°¿à°\97à±\8dà°\97à°¾ నిరà±\8dà°§ారించబడిన వాడుకరులు',
'group-bot' => 'బాట్లు',
'group-sysop' => 'నిర్వాహకులు',
'group-bureaucrat' => 'అధికారులు',
'group-all' => '(అందరూ)',
'group-user-member' => '{{GENDER:$1|వాడుకరి}}',
-'group-autoconfirmed-member' => '{{GENDER:$1|à°\86à°\9fà±\8bమాà°\9fà°¿à°\97à±\8dà°\97à°¾ నిరà±\8dà°¥ారించబడిన వాడుకరి}}',
+'group-autoconfirmed-member' => '{{GENDER:$1|à°\86à°\9fà±\8bమాà°\9fà°¿à°\97à±\8dà°\97à°¾ నిరà±\8dà°§ారించబడిన వాడుకరి}}',
'group-bot-member' => '{{GENDER:$1|బాట్}}',
'group-sysop-member' => '{{GENDER:$1|నిర్వాహకుడు|నిర్వాహకురాలు}}',
'group-bureaucrat-member' => '{{GENDER:$1|అధికారి|అధికారిణి}}',
'group-suppress-member' => 'పరాకు',
'grouppage-user' => '{{ns:project}}:వాడుకరులు',
-'grouppage-autoconfirmed' => '{{ns:project}}:à°\86à°\9fà±\8bమాà°\9fà°¿à°\97à±\8dà°\97à°¾ నిరà±\8dà°¥ారించబడిన వాడుకరులు',
+'grouppage-autoconfirmed' => '{{ns:project}}:à°\86à°\9fà±\8bమాà°\9fà°¿à°\97à±\8dà°\97à°¾ నిరà±\8dà°§ారించబడిన వాడుకరులు',
'grouppage-bot' => '{{ns:project}}:బాట్లు',
'grouppage-sysop' => '{{ns:project}}:నిర్వాహకులు',
'grouppage-bureaucrat' => '{{ns:project}}:అధికార్లు',
'nchanges' => '{{PLURAL:$1|ఒక మార్పు|$1 మార్పులు}}',
'recentchanges' => 'ఇటీవలి మార్పులు',
'recentchanges-legend' => 'ఇటీవలి మార్పుల ఎంపికలు',
-'recentchanges-summary' => 'వికీలో ఇటీవల జరిగిన మార్పులను ఈ పుటలో గమనించవచ్చు.',
+'recentchanges-summary' => 'వికీలో ఇటీవలే జరిగిన మార్పులను ఈ పేజీలో గమనించవచ్చు.',
'recentchanges-feed-description' => 'ఈ ఫీడు ద్వారా వికీలో జరుగుతున్న మార్పుల గురించి ఎప్పటికప్పుడు సమాచారాన్ని పొందండి.',
'recentchanges-label-newpage' => 'ఈ మార్పు కొత్త పేజీని సృష్టించింది',
'recentchanges-label-minor' => 'ఇది ఒక చిన్న మార్పు',
<?php
-/** Ukrainian (Українська)
+/** Ukrainian (українська)
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
'notloggedin' => 'Ви не ввійшли до системи',
'nologin' => "Ви ще не зареєструвались? '''$1'''.",
'nologinlink' => 'Створіть обліковий запис',
-'createaccount' => 'СÑ\82воÑ\80иÑ\82и',
+'createaccount' => 'Ð\97аÑ\80еÑ\94Ñ\81Ñ\82Ñ\80Ñ\83ваÑ\82иÑ\81Ñ\8f',
'gotaccount' => "Ви вже зареєстровані? '''$1'''.",
'gotaccountlink' => 'Увійдіть',
'userlogin-resetlink' => 'Забули дані, потрібні для входу?',
# Patrolling
'markaspatrolleddiff' => 'Znamoita kut patruliruidud',
-'markaspatrolledtext' => "Zmamoita nece lehtpol' kut patruliruidud",
+'markaspatrolledtext' => "Znamoita nece lehtpol' kut patruliruidud",
'markedaspatrolled' => 'Om znamoitud kut patruliruidud',
'markedaspatrolledtext' => 'Valitud [[:$1]]-n versii om znamoitud kut patruliruidud.',
'rcpatroldisabled' => "Jäl'gmäižiden toižetusiden patruliruind ei ole kävutamas",
'prefs-beta' => 'בעטאַ אייגנשאַפֿטן',
'prefs-datetime' => 'דאטום און צייט',
'prefs-labs' => 'לאַבאראַטאריע מעגלעכקייטן',
+'prefs-user-pages' => 'באניצער בלעטער',
'prefs-personal' => 'באַנוצער פראָפֿיל',
'prefs-rc' => 'לעצטע ענדערונגען',
'prefs-watchlist' => 'אויפפאסונג ליסטע',
'backend-fail-writetemp' => 'קען נישט שרײַבן צו צייַטווייַליקער טעקע.',
'backend-fail-closetemp' => 'קען נישט שליסן צייַטווייַליקע טעקע.',
'backend-fail-read' => 'קען נישט ליינען טעקע "$1".',
-'backend-fail-create' => 'קע×\9f × ×\99ש×\98 ש×\90פֿן טעקע "$1".',
+'backend-fail-create' => 'קע×\9f × ×\99ש×\98 שר×\99×\99×\91ן טעקע "$1".',
# Lock manager
'lockmanager-notlocked' => 'מ\'קען נישט אויפֿשליסן "$1"; ער איז נישט פֿארשלאסן.',
'vector-view-create' => "Ṣ'èdá",
'vector-view-edit' => 'Àtúnṣe',
'vector-view-history' => 'Wo ìtàn',
-'vector-view-view' => 'Kíkà',
+'vector-view-view' => 'Àwòkà',
'vector-view-viewsource' => 'Wo àmìọ̀rọ̀',
'actions' => 'Àwọn ìgbéṣe',
'namespaces' => 'Àwọn orúkọàyè',
'loginprompt' => 'Ẹ gbọ́dọ̀ jọ̀wọ́ cookies láti wọlé sí {{SITENAME}}.',
'userlogin' => 'Ìwọlé / ìforúkọ sílẹ̀',
'userloginnocreate' => 'Ìwọlé',
-'logout' => 'Ìbọ́sóde',
-'userlogout' => 'Ìbọ́sóde',
+'logout' => 'Ìjáde',
+'userlogout' => 'Ìjáde',
'notloggedin' => "Ẹ kò tí w'ọlé",
'nologin' => "Ṣé ẹ fẹ́ wọlé? '''$1'''.",
'nologinlink' => 'Ìforúkọsílẹ̀',
'tooltip-pt-mycontris' => 'Àkójọ àwọn àfikún yín',
'tooltip-pt-login' => 'A gbà yín níyànjú kí ẹwọlé, bótilẹ̀jẹ́pẹ́ kò pọndandan.',
'tooltip-pt-anonlogin' => 'A gbàyín níyànjú láti wọlé, bótilẹ̀jẹ́pé kò ṣe dandan.',
-'tooltip-pt-logout' => 'Ìbọ́sódé',
+'tooltip-pt-logout' => 'Ìjáde',
'tooltip-ca-talk' => 'Ìfọ̀rọ̀wérọ̀ nípa ohun inú ojúewé yìí',
'tooltip-ca-edit' => 'Ẹ le ṣe àtúnṣe sí ojúewé yìí.
Ẹ jọ̀wọ́ ẹ lo bọtini àyẹ̀wò kí ẹ tó fipamọ́.',
<?php
-/** Simplified Chinese (中文(简体))
+/** Simplified Chinese (中文(简体))
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
* @author Chenxiaoqino
* @author Chenzw
* @author Chinalace
+ * @author Dimension
* @author Dingyuang
* @author Fantasticfears
* @author Fengchao
'viewsource' => '查看源代码',
'viewsource-title' => '查看$1的源代码',
'actionthrottled' => '操作被限制',
-'actionthrottledtext' => '基于反垃圾链接的考量,您被限制在短时间内多次重复该操作,但您已超过此上限。请在数分钟后再尝试。',
+'actionthrottledtext' => '基于反垃圾的考量,您被限制在短时间内多次重复该操作,但您已超过此上限。请在数分钟后再尝试。',
'protectedpagetext' => '该页面已被保护以防止编辑。',
'viewsourcetext' => '您可以查看并复制此页面的源代码:',
'viewyourtext' => "您可以查看并复制'''您对此页面作出编辑后'''的源代码:",
'logout' => '退出',
'userlogout' => '退出',
'notloggedin' => '未登录',
-'nologin' => '你还没有账户吗?$1。',
+'nologin' => '没有账户?$1。',
'nologinlink' => '创建账户',
'createaccount' => '创建账户',
'gotaccount' => '已经拥有账户?请$1。',
'loginsuccesstitle' => '登录成功',
'loginsuccess' => "'''“$1”,欢迎登录{{SITENAME}}。'''",
'nosuchuser' => '找不到用户“$1”。用户名是大小写敏感且区分繁简体的。请检查您的拼写,或者[[Special:UserLogin/signup|建立一个新账户]]。',
-'nosuchusershort' => '没有一个名为“$1”的用户。请检查您输入的文字是否有错误。',
+'nosuchusershort' => '没有名为“$1”的用户。请检查您输入的文字是否有错误。',
'nouserspecified' => '你需要指定一个用户名。',
'login-userblocked' => '该用户已被封禁,禁止登录。',
'wrongpassword' => '您输入的密码错误,请再试一次。',
'accmailtext' => "'$1'的密码已经被发送到$2。",
'newarticle' => '(新页面)',
'newarticletext' => '您进入了一个尚未创建的页面。
-要创建该页面,请在下面的编辑框中输入内容(详情参见[[{{MediaWiki:Helppage}}|帮助]])。
-如果您是不小心来到此页面,直接点击您浏览器中的“返回”按钮返回。',
+要创建该页面,请在下面的编辑框中输入内容(详情参见[[{{MediaWiki:Helppage}}|帮助页]])。
+如果您误入此页,请点击浏览器中的“返回”按钮。',
'anontalkpagetext' => "---- ''这是一个还未建立账户的匿名用户的讨论页, 因此我们只能用IP地址来与他或她联络。该IP地址可能由几名用户共享。如果您是一名匿名用户并认为此页上的评语与您无关,请[[Special:UserLogin/signup|创建新账户]]或[[Special:UserLogin|登录]]以避免在未来与其他匿名用户混淆。''",
'noarticletext' => '本页面目前没有内容。你可以在其他页面中[[Special:Search/{{PAGENAME}}|搜索该页标题]]、<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 搜索相关日志]或[{{fullurl:{{FULLPAGENAME}}|action=edit}} 编辑本页面]。</span>',
'noarticletext-nopermission' => '此页目前没有内容,您可以在其它页[[Special:Search/{{PAGENAME}}|搜索此页标题]],
或<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 搜索有关日志]</span>。',
-'userpage-userdoesnotexist' => '用户账户“<nowiki>$1</nowiki>”未曾创建。请在创建/编辑这个页面前先检查一下。',
+'userpage-userdoesnotexist' => '用户账户"$1"未注册。
+请在创建/编辑该页之前进行核对。',
'userpage-userdoesnotexist-view' => '用户账户“$1”未曾创建。',
'blocked-notice-logextract' => '这位用户目前已被封禁。以下提供最近的封禁日志以供参考:',
'clearyourcache' => "'''注意:在保存以后,您必须绕过浏览器缓存才能看到所作出的改变。'''
''由于{{SITENAME}}允许使用原始的 HTML,为了防范 JavaScript 攻击,预览已被隐藏。''
'''如果这是一次合法的编辑,请重新进行尝试。'''如果还不行,请[[Special:UserLogout|退出]]并重新登录。",
-'token_suffix_mismatch' => "'''由于您用户端中的编辑令牌毁损了一些标点符号字元,为防止编辑的文字损坏,您的编辑已经被拒绝。'''
-这种情况通常出现于使用含有很多臭虫、以网络为主的匿名代理服务的时候。",
+'token_suffix_mismatch' => "'''由于您用户端中的编辑令牌毁损了一些标点符号字元,您的编辑已经被拒绝。'''
+此次编辑被拒绝以防止页面文本损坏。
+这种情况通常在您使用含有故障的网页式匿名代理服务的时候出现。",
'edit_form_incomplete' => "'''编辑表单的某些部分没有到达服务器 ;请检查您的编辑内容是否完整并再试一次。'''",
'editing' => '编辑“$1”',
'creating' => '创建 $1',
你应该考虑继续编辑本页是否合适。这里提供本页的删除和移动记录以供参考:",
'moveddeleted-notice' => '本页面已被删除。下面提供本页的删除和移动日志以供参考。',
'log-fulllog' => '查看完整日志',
-'edit-hook-aborted' => '编辑被钩取消。
+'edit-hook-aborted' => '编辑被hook指令取消。
无解释。',
'edit-gone-missing' => '不能更新页面。
它可能刚刚被删除。',
'backend-fail-internal' => '存储后端“$1”发生了一个未知错误。',
'backend-fail-contenttype' => '无法判断文件的内容类型来储存于“$1”。',
'backend-fail-batchsize' => '存储后端被给予了一批$1个文件{{PLURAL:$1|操作|操作}};限值为$2个{{PLURAL:$2|操作|操作}}。',
+'backend-fail-usable' => '权限不足或缺少目录/贮存器,无法写入文件$1。',
# File journal errors
'filejournal-fail-dbconnect' => '无法连接到后端存储的日志数据库“$1”。',
请确定您要进行此项操作,并且了解其后果,同时您的行为符合[[{{MediaWiki:Policy-url}}]]。',
'actioncomplete' => '操作完成',
'actionfailed' => '操作失败',
-'deletedtext' => '"$1"已经被删除。最近删除的记录请参见$2。',
+'deletedtext' => '“$1”已经被删除。最近删除的记录请参见$2。',
'dellogpage' => '删除日志',
'dellogpagetext' => '以下是最近的删除的列表。',
'deletionlog' => '删除记录',
** 恐吓行为/骚扰
** 滥用多个账户
** 不能接受的用户名',
-'ipb-hardblock' => '防止已登录的用户从该 IP 地址编辑',
+'ipb-hardblock' => '防止已登录的用户从该IP地址编辑',
'ipbcreateaccount' => '阻止创建新账号',
'ipbemailban' => '阻止用户发送电邮',
'ipbenableautoblock' => '自动封禁该用户最后使用的IP地址,以及他们随后试图用于编辑的所有IP地址',
'vector.css' => '/* 此处的 CSS 将影响使用 Vector 皮肤的用户 */',
'print.css' => '/* 此处的 CSS 将影响打印输出 */',
'handheld.css' => '/* 此处的 CSS 将影响在 $wgHandheldStyle 设置手提装置面板 */',
+'noscript.css' => '/* 此处的 CSS 将影响没有启用 JavaScript 的用户 */',
+'group-autoconfirmed.css' => '/* 此处的 CSS 将只会影响自动确认用户 */',
+'group-bot.css' => '/* 此处的 CSS 将只会影响机器人 */',
+'group-sysop.css' => '/* 此处的 CSS 将只会影响管理员 */',
+'group-bureaucrat.css' => '/* 此处的 CSS 将只会影响行政员 */',
# Scripts
'common.js' => '/* 此处的JavaScript将加载于所有用户每一个页面。 */',
'variantname-zh-cn' => '大陆简体',
'variantname-zh-tw' => '台湾正体',
'variantname-zh-hk' => '香港繁体',
+'variantname-zh-mo' => '澳门繁体',
'variantname-zh-sg' => '新加坡简体',
+'variantname-zh-my' => '马来西亚简体',
'variantname-zh' => '不转换',
# Variants for Gan language
-'variantname-gan-hans' => '',
+'variantname-gan-hans' => '中文(简体)',
+'variantname-gan-hant' => '中文(繁体)',
# Variants for Kazakh language
'variantname-kk-cyrl' => '',
# Separators for various lists, etc.
'comma-separator' => '、',
+'colon-separator' => ':',
'word-separator' => '',
'parentheses' => '($1)',
<?php
-/** Traditional Chinese (中文(繁體))
+/** Traditional Chinese (中文(繁體))
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
'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所查封。
而查封的原因是:
# Separators for various lists, etc.
'comma-separator' => '、',
+'colon-separator' => ':',
'word-separator' => '',
'parentheses' => '($1)',
--- /dev/null
+<?php
+/**\r
+ * @file\r
+ * @ingroup Benchmark\r
+ */\r
+\r
+require_once( dirname( __FILE__ ) . '/Benchmarker.php' );\r
+
+/**
+ * This little benchmark executes the regexp used in Language->checkTitleEncoding() and compares its execution time
+ * against that of mb_check_encoding, if available.
+ */\r
+class bench_utf8_title_check extends Benchmarker {
+
+ private $canRun;
+
+ private $data;
+
+ public function __construct() {\r
+ parent::__construct();
+
+ $this->data = array (
+ "",
+ "United States of America", // 7bit ASCII
+ "S%C3%A9rie%20t%C3%A9l%C3%A9vis%C3%A9e",
+ "Acteur%7CAlbert%20Robbins%7CAnglais%7CAnn%20Donahue%7CAnthony%20E.%20Zuiker%7CCarol%20Mendelsohn",
+ // This comes from bug 36839
+ "Acteur%7CAlbert%20Robbins%7CAnglais%7CAnn%20Donahue%7CAnthony%20E.%20Zuiker%7CCarol%20Mendelsohn%7C"
+ . "Catherine%20Willows%7CDavid%20Hodges%7CDavid%20Phillips%7CGil%20Grissom%7CGreg%20Sanders%7CHodges%7C"
+ . "Internet%20Movie%20Database%7CJim%20Brass%7CLady%20Heather%7C"
+ . "Les%20Experts%20(s%C3%A9rie%20t%C3%A9l%C3%A9vis%C3%A9e)%7CLes%20Experts%20:%20Manhattan%7C"
+ . "Les%20Experts%20:%20Miami%7CListe%20des%20personnages%20des%20Experts%7C"
+ . "Liste%20des%20%C3%A9pisodes%20des%20Experts%7CMod%C3%A8le%20discussion:Palette%20Les%20Experts%7C"
+ . "Nick%20Stokes%7CPersonnage%20de%20fiction%7CPersonnage%20fictif%7CPersonnage%20de%20fiction%7C"
+ . "Personnages%20r%C3%A9currents%20dans%20Les%20Experts%7CRaymond%20Langston%7CRiley%20Adams%7C"
+ . "Saison%201%20des%20Experts%7CSaison%2010%20des%20Experts%7CSaison%2011%20des%20Experts%7C"
+ . "Saison%2012%20des%20Experts%7CSaison%202%20des%20Experts%7CSaison%203%20des%20Experts%7C"
+ . "Saison%204%20des%20Experts%7CSaison%205%20des%20Experts%7CSaison%206%20des%20Experts%7C"
+ . "Saison%207%20des%20Experts%7CSaison%208%20des%20Experts%7CSaison%209%20des%20Experts%7C"
+ . "Sara%20Sidle%7CSofia%20Curtis%7CS%C3%A9rie%20t%C3%A9l%C3%A9vis%C3%A9e%7CWallace%20Langham%7C"
+ . "Warrick%20Brown%7CWendy%20Simms%7C%C3%89tats-Unis"
+ );
+
+ $this->canRun = function_exists ( 'mb_check_encoding' );
+
+ if ( $this->canRun ) {\r
+ $this->mDescription = "Benchmark for using a regexp vs. mb_check_encoding to check for UTF-8 encoding.";
+ mb_internal_encoding( 'UTF-8' );
+ } else {
+ $this->mDescription = "CANNOT RUN benchmark using mb_check_encoding: function not available.";
+ }\r
+ }\r
+\r
+ public function execute() {
+ if ( !$this->canRun ) {
+ return;
+ }
+ $benchmarks = array();
+ foreach ($this->data as $val) {
+ $benchmarks[] = array(
+ 'function' => array( $this, 'use_regexp' ),
+ 'args' => array( rawurldecode ( $val ) )
+ );
+ $benchmarks[] = array(
+ 'function' => array( $this, 'use_regexp_non_capturing' ),
+ 'args' => array( rawurldecode ( $val ) )
+ );
+ $benchmarks[] = array(
+ 'function' => array( $this, 'use_regexp_once_only' ),
+ 'args' => array( rawurldecode ( $val ) )
+ );
+ $benchmarks[] = array(\r
+ 'function' => array( $this, 'use_mb_check_encoding' ),\r
+ 'args' => array( rawurldecode ( $val ) )\r
+ );
+ }\r
+ $this->bench( $benchmarks );
+ print $this->getFormattedResults();\r
+ }\r
+
+ private $isutf8;
+\r
+ function use_regexp( $s ) {
+ $this->isutf8 = preg_match( '/^([\x00-\x7f]|[\xc0-\xdf][\x80-\xbf]|' .
+ '[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xf7][\x80-\xbf]{3})+$/', $s );\r
+ }\r
+\r
+ function use_regexp_non_capturing( $s ) {
+ // Same as above with a non-capturing subgroup.
+ $this->isutf8 = preg_match( '/^(?:[\x00-\x7f]|[\xc0-\xdf][\x80-\xbf]|' .
+ '[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xf7][\x80-\xbf]{3})+$/', $s );
+ }
+
+ function use_regexp_once_only( $s ) {
+ // Same as above with a once-only subgroup.
+ $this->isutf8 = preg_match( '/^(?>[\x00-\x7f]|[\xc0-\xdf][\x80-\xbf]|' .
+ '[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xf7][\x80-\xbf]{3})+$/', $s );
+ }
+
+ function use_mb_check_encoding( $s ) {\r
+ $this->isutf8 = mb_check_encoding( $s, 'UTF-8' );\r
+ }\r
+\r
+}\r
+\r
+$maintClass = 'bench_utf8_title_check';\r
+require_once( RUN_MAINTENANCE_IF_MAIN );\r
'ellipsis',
'percent',
'parentheses',
+ 'brackets',
'autocomment-prefix',
'listgrouprights-right-display',
'listgrouprights-right-revoked',
'nocookiesforlogin',
'version-entrypoints-articlepath',
'version-entrypoints-scriptpath',
+ 'mergehistory-revisionrow',
+ 'categoryviewer-pagedlinks',
+ 'undelete-revisionrow',
);
/** EXIF messages, which may be set as optional in several checks, but are generally mandatory */
'index-category',
'noindex-category',
'broken-file-category',
+ 'categoryviewer-pagedlinks',
),
'mainpage' => array(
'linkprefix',
'mergehistory-autocomment',
'mergehistory-comment',
'mergehistory-same-destination',
- 'mergehistory-reason'
+ 'mergehistory-reason',
+ 'mergehistory-revisionrow'
),
'mergelog' => array(
'mergelog',
'alllogstext',
'logempty',
'log-title-wildcard',
+ 'showhideselectedlogentries',
),
'allpages' => array(
'allpages',
'undelete-error-long',
'undelete-show-file-confirm',
'undelete-show-file-submit',
+ 'undelete-revisionrow',
),
'nsform' => array(
'namespace',
'ellipsis',
'percent',
'parentheses',
+ 'brackets',
),
'imgmulti' => array(
'imgmultipageprev',
/** Variable to get user input */
$input = '';
-$exclude_patterns = '';
+$excludePatterns = '';
/** Whether to generates man pages: */
-$wgDoxyGenerateMan = false;
+$doxyGenerateMan = false;
#
# Functions
* @param $svnstat String: path to the svnstat file
* @param $input String: Path to analyze.
* @param $exclude String: Additionals path regex to exclude
- * @param $exclude_patterns String: Additionals path regex to exclude
+ * @param $excludePatterns String: Additionals path regex to exclude
* (LocalSettings.php, AdminSettings.php, .svn and .git directories are always excluded)
+ * @param $doxyGenerateMan Boolean
* @return string
*/
-function generateConfigFile( $doxygenTemplate, $outputDirectory, $stripFromPath, $currentVersion, $svnstat, $input, $exclude, $exclude_patterns ) {
-
- global $wgDoxyGenerateMan;
+function generateConfigFile( $doxygenTemplate, $outputDirectory, $stripFromPath, $currentVersion, $svnstat, $input, $exclude, $excludePatterns, $doxyGenerateMan ) {
$template = file_get_contents( $doxygenTemplate );
'{{SVNSTAT}}' => $svnstat,
'{{INPUT}}' => $input,
'{{EXCLUDE}}' => $exclude,
- '{{EXCLUDE_PATTERNS}}' => $exclude_patterns,
+ '{{EXCLUDE_PATTERNS}}' => $excludePatterns,
'{{HAVE_DOT}}' => `which dot` ? 'YES' : 'NO',
- '{{GENERATE_MAN}}' => $wgDoxyGenerateMan ? 'YES' : 'NO',
+ '{{GENERATE_MAN}}' => $doxyGenerateMan ? 'YES' : 'NO',
);
$tmpCfg = str_replace( array_keys( $replacements ), array_values( $replacements ), $template );
$tmpFileName = tempnam( wfTempDir(), 'mwdocgen-' );
}
break;
case '--generate-man':
- $wgDoxyGenerateMan = true;
+ $doxyGenerateMan = true;
break;
case '--help':
print <<<END
break;
case 6:
$input = $mwPath;
- $exclude_patterns = 'extensions';
+ $excludePatterns = 'extensions';
}
$versionNumber = getSvnRevision( $input );
$excludedPaths = $mwPath . join( " $mwPath", $mwExcludePaths );
print "EXCLUDE: $excludedPaths\n\n";
-$generatedConf = generateConfigFile( $doxygenTemplate, $doxyOutput, $mwPath, $version, $svnstat, $input, $excludedPaths, $exclude_patterns );
+$generatedConf = generateConfigFile( $doxygenTemplate, $doxyOutput, $mwPath, $version, $svnstat, $input, $excludedPaths, $excludePatterns, $doxyGenerateMan );
$command = $doxygenBin . ' ' . $generatedConf;
echo <<<TEXT
$lb = wfGetLB( $dbName );
$db = $lb->getConnection( DB_MASTER, array(), $dbName );
if ( $type === false ) {
- $conds = array();
+ $conds = Job::defaultQueueConditions( );
} else {
$conds = array( 'job_cmd' => $type );
}
+
$exists = (bool) $db->selectField( 'job', '1', $conds, __METHOD__ );
$lb->reuseConnection( $db );
return $exists;
*/
protected function upgradeRow( $row, $table, $idCol, $prefix ) {
$db = $this->getDB( DB_MASTER );
- if ( $table === 'archive' ) {
- $rev = Revision::newFromArchiveRow( $row );
- } else {
- $rev = new Revision( $row );
+ try {
+ $rev = ( $table === 'archive' )
+ ? Revision::newFromArchiveRow( $row )
+ : new Revision( $row );
+ $text = $rev->getRawText();
+ } catch ( MWException $e ) {
+ $this->output( "Text of revision with {$idCol}={$row->$idCol} unavailable!\n" );
+ return false; // bug 22624?
}
- $text = $rev->getRawText();
if ( !is_string( $text ) ) {
# This should not happen, but sometimes does (bug 20757)
$this->output( "Text of revision with {$idCol}={$row->$idCol} unavailable!\n" );
try {
$rev = Revision::newFromArchiveRow( $row );
} catch ( MWException $e ) {
+ $this->output( "Text of revision with timestamp {$row->ar_timestamp} unavailable!\n" );
return false; // bug 22624?
}
$text = $rev->getRawText();
'scripts' => 'resources/mediawiki.api/mediawiki.api.js',
'dependencies' => 'mediawiki.util',
),
- 'mediawiki.api.category' => array(
+ 'mediawiki.api.category' => array(
'scripts' => 'resources/mediawiki.api/mediawiki.api.category.js',
- 'dependencies' => array(
+ 'dependencies' => array(
'mediawiki.api',
- 'mediawiki.Title'
+ 'mediawiki.Title',
),
),
- 'mediawiki.api.edit' => array(
+ 'mediawiki.api.edit' => array(
'scripts' => 'resources/mediawiki.api/mediawiki.api.edit.js',
- 'dependencies' => array(
+ 'dependencies' => array(
'mediawiki.api',
- 'mediawiki.Title'
+ 'mediawiki.Title',
),
),
- 'mediawiki.api.parse' => array(
+ 'mediawiki.api.parse' => array(
'scripts' => 'resources/mediawiki.api/mediawiki.api.parse.js',
'dependencies' => 'mediawiki.api',
),
- 'mediawiki.api.titleblacklist' => array(
+ 'mediawiki.api.titleblacklist' => array(
'scripts' => 'resources/mediawiki.api/mediawiki.api.titleblacklist.js',
- 'dependencies' => array(
+ 'dependencies' => array(
'mediawiki.api',
- 'mediawiki.Title'
+ 'mediawiki.Title',
),
),
- 'mediawiki.api.watch' => array(
+ 'mediawiki.api.watch' => array(
'scripts' => 'resources/mediawiki.api/mediawiki.api.watch.js',
'dependencies' => array(
'mediawiki.api',
'mediawiki.feedback' => array(
'scripts' => 'resources/mediawiki/mediawiki.feedback.js',
'styles' => 'resources/mediawiki/mediawiki.feedback.css',
- 'dependencies' => array(
- 'mediawiki.api.edit',
+ 'dependencies' => array(
+ 'mediawiki.api.edit',
'mediawiki.Title',
'mediawiki.jqueryMsg',
'jquery.ui.dialog',
),
- 'messages' => array(
+ 'messages' => array(
'feedback-bugornote',
'feedback-subject',
'feedback-message',
'uk' => 'resources/mediawiki.language/languages/uk.js',
'wa' => 'resources/mediawiki.language/languages/wa.js',
),
+ 'dependencies' => array( 'mediawiki.language.data' ),
+ ),
+
+ 'mediawiki.language.init' => array(
+ 'scripts' => 'resources/mediawiki.language/mediawiki.language.init.js',
),
'mediawiki.jqueryMsg' => array(
- 'dependencies' => array( 'mediawiki.language', 'mediawiki.util' ),
- 'scripts' => 'resources/mediawiki/mediawiki.jqueryMsg.js'
+ 'scripts' => 'resources/mediawiki/mediawiki.jqueryMsg.js',
+ 'dependencies' => array(
+ 'mediawiki.util',
+ 'mediawiki.language',
+ ),
),
/* MediaWiki Libs */
--- /dev/null
+/**
+ * Base language object with methods for storing and getting
+ * language data.
+ */
+( function( $, mw ) {
+
+var language = {
+ /**
+ * @var data {Object} Language related data (keyed by language,
+ * contains instances of mw.Map).
+ * @example Set data
+ * <code>
+ * // Override, extend or create the language data object of 'nl'
+ * mw.language.setData( 'nl', 'myKey', 'My value' );
+ * </code>
+ * @example Get GrammarForms data for language 'nl':
+ * <code>
+ * var grammarForms = mw.language.getData( 'nl', 'grammarForms' );
+ * </code>
+ */
+ data: {},
+
+ /**
+ * Convenience method for retreiving language data by language code and data key,
+ * covering for the potential inexistance of a data object for this langiage.
+ * @param langCode {String}
+ * @param dataKey {String}
+ * @return {mixed} Value stored in the mw.Map (or undefined if there is no map for
+ the specified langCode).
+ */
+ getData: function ( langCode, dataKey ) {
+ var langData = language.data;
+ if ( langData[langCode] instanceof mw.Map ) {
+ return langData[langCode].get( dataKey );
+ }
+ return undefined;
+ },
+
+ /**
+ * Convenience method for setting language data by language code and data key.
+ * Creates a data object if there isn't one for the specified language already.
+ * @param langCode {String}
+ * @param dataKey {String}
+ * @param value {mixed}
+ */
+ setData: function ( langCode, dataKey, value ) {
+ var langData = language.data;
+ if ( !( langData[langCode] instanceof mw.Map ) ) {
+ langData[langCode] = new mw.Map();
+ }
+ langData[langCode].set( dataKey, value );
+ }
+}
+mw.language = language;
+
+} )( jQuery, mediaWiki );
/**
- * Base language object
- *
* Localized Language support attempts to mirror some of the functionality of
- * Language.php in MediaWiki. This object contains methods for loading and
- * transforming message text.
+ * Language.php in MediaWiki.
+ * This adds methods for transforming message text.
*/
( function( $, mw ) {
var language = {
- /**
- * @var data {Object} Language related data (keyed by language,
- * contains instances of mw.Map).
- * @example Set data
- * <code>
- * // Override, extend or create the language data object of 'nl'
- * mw.language.setData( 'nl', 'myKey', 'My value' );
- * </code>
- * @example Get GrammarForms data for language 'nl':
- * <code>
- * var grammarForms = mw.language.getData( 'nl', 'grammarForms' );
- * </code>
- */
- data: {},
- /**
- * Convenience method for retreiving language data by language code and data key,
- * covering for the potential inexistance of a data object for this langiage.
- * @param langCode {String}
- * @param dataKey {String}
- * @return {mixed} Value stored in the mw.Map (or undefined if there is no map for
- the specified langCode).
- */
- getData: function ( langCode, dataKey ) {
- var langData = language.data;
- if ( langData[langCode] instanceof mw.Map ) {
- return langData[langCode].get( dataKey );
- }
- return undefined;
- },
-
- /**
- * Convenience method for setting language data by language code and data key.
- * Creates a data object if there isn't one for the specified language already.
- * @param langCode {String}
- * @param dataKey {String}
- * @param value {mixed}
- */
- setData: function ( langCode, dataKey, value ) {
- var langData = language.data;
- if ( !( langData[langCode] instanceof mw.Map ) ) {
- langData[langCode] = new mw.Map();
- }
- langData[langCode].set( dataKey, value );
- },
/**
* Process the PLURAL template substitution
*
* @return {String}
*/
convertGrammar: function ( word, form ) {
- var grammarForms = language.getData( mw.config.get( 'wgContentLanguage' ), 'grammarForms' );
+ var grammarForms = mw.language.getData( mw.config.get( 'wgContentLanguage' ), 'grammarForms' );
if ( grammarForms && grammarForms[form] ) {
return grammarForms[form][word] || word;
}
'digitTransformTable': null
};
-mw.language = language;
+$.extend( mw.language, language );
} )( jQuery, mediaWiki );
+++ /dev/null
-<?php
-// This file exists to ensure that base classes are preloaded before
-// Chick.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://lists.wikimedia.org/pipermail/wikitech-l/2006-January/021311.html
-
-if ( ! defined( 'MEDIAWIKI' ) )
- die( 1 );
-
-require_once( dirname( dirname( __FILE__ ) ) . '/includes/SkinTemplate.php');
-require_once( dirname(__FILE__) . '/MonoBook.php' );
-
* Chick: A lightweight Monobook skin with no sidebar, the sidebar links are
* given at the bottom of the page instead, as in the unstyled MySkin.
*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
* @file
* @ingroup Skins
*/
/**
* Cologne Blue: A nicer-looking alternative to Standard.
*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
* @todo document
* @file
* @ingroup Skins
+++ /dev/null
-<?php
-// This file exists to ensure that base classes are preloaded before
-// Modern.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://lists.wikimedia.org/pipermail/wikitech-l/2006-January/021311.html
-
-if ( ! defined( 'MEDIAWIKI' ) )
- die( 1 );
-
-require_once( dirname( dirname( __FILE__ ) ) . '/includes/SkinTemplate.php' );
-
/**
* Modern skin, derived from monobook template.
*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
* @todo document
* @file
* @ingroup Skins
+++ /dev/null
-<?php
-// This file exists to ensure that base classes are preloaded before
-// MonoBook.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://lists.wikimedia.org/pipermail/wikitech-l/2006-January/021311.html
-
-if ( ! defined( 'MEDIAWIKI' ) )
- die( 1 );
-
-require_once( dirname( dirname( __FILE__ ) ) . '/includes/SkinTemplate.php');
-
<?php
/**
- * MonoBook nouveau
+ * MonoBook nouveau.
*
* Translated from gwicke's previous TAL template version to remove
* dependency on PHPTAL.
*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
* @todo document
* @file
* @ingroup Skins
+++ /dev/null
-<?php
-// This file exists to ensure that base classes are preloaded before
-// MySkin.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://lists.wikimedia.org/pipermail/wikitech-l/2006-January/021311.html
-
-if ( ! defined( 'MEDIAWIKI' ) )
- die( 1 );
-
-require_once( dirname( dirname( __FILE__ ) ) . '/includes/SkinTemplate.php');
-require_once( dirname(__FILE__) . '/MonoBook.php' );
-
<?php
/**
* MySkin: Monobook without the CSS. The idea is that you
- * customise it using user or site CSS
+ * customise it using user or site CSS.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
*
* @file
* @ingroup Skins
/**
* Nostalgia: A skin which looks like Wikipedia did in its first year (2001).
*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
* @file
* @ingroup Skins
*/
+++ /dev/null
-<?php
-// This file exists to ensure that base classes are preloaded before
-// Simple.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://lists.wikimedia.org/pipermail/wikitech-l/2006-January/021311.html
-
-if ( ! defined( 'MEDIAWIKI' ) )
- die( 1 );
-
-require_once( dirname( dirname( __FILE__ ) ) . '/includes/SkinTemplate.php');
-require_once( dirname(__FILE__) . '/MonoBook.php' );
-
* Simple: A lightweight skin with a simple white-background sidebar and no
* top bar.
*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
* @file
* @ingroup Skins
*/
+++ /dev/null
-<?php
-// This file exists to ensure that base classes are preloaded before
-// MonoBook.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://lists.wikimedia.org/pipermail/wikitech-l/2006-January/021311.html
-
-if ( ! defined( 'MEDIAWIKI' ) )
- die( 1 );
-
-require_once( dirname( dirname( __FILE__ ) ) . '/includes/SkinTemplate.php');
* Vector - Modern version of MonoBook with fresh look and many usability
* improvements.
*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
* @todo document
* @file
* @ingroup Skins
//maintenance
'DumpTestCase' => "$testFolder/phpunit/maintenance/DumpTestCase.php",
+ 'BackupDumper' => "$testFolder/../maintenance/backup.inc",
//Generic providers
'MediaWikiProvide' => "$testFolder/phpunit/includes/Providers.php",
**#Number on level 3
*#number level 2
*Level 1
+*** Level 3
+#** Level 3, but ordered
!! result
<ul><li>Mixed list
<ol><li> with numbers
<ol><li>number level 2
</li></ol>
</li><li>Level 1
+<ul><li><ul><li> Level 3
</li></ul>
+</li></ul>
+</li></ul>
+<ol><li><ul><li><ul><li> Level 3, but ordered
+</li></ul>
+</li></ul>
+</li></ol>
!! end
!! end
+!! test
+List interrupted by empty line or heading
+!! input
+* foo
+
+** bar
+== A heading ==
+* Another list item
+!! result
+<ul><li> foo
+</li></ul>
+<ul><li><ul><li> bar
+</li></ul>
+</li></ul>
+<h2><span class="editsection">[<a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: A heading">edit</a>]</span> <span class="mw-headline" id="A_heading"> A heading </span></h2>
+<ul><li> Another list item
+</li></ul>
+
+!!end
+
+
###
### Magic Words
###
</p>
!! end
+!!test
+Padleft and padright as substr
+!! input
+{{padleft:|3|abcde}}
+{{padright:|3|abcde}}
+!! result
+<p>abc
+abc
+</p>
+!! end
+
TODO:
more images
more tables
$db = wfGetDB( DB_SLAVE );
- $res = $db->select( $table, $fields, $condition, array( 'ORDER BY' => $fields ) );
+ $res = $db->select( $table, $fields, $condition, wfGetCaller(), array( 'ORDER BY' => $fields ) );
$this->assertNotEmpty( $res, "query failed: " . $db->lastError() );
$i = 0;
+++ /dev/null
-<?php
-
-/**
- * @group Mobile
- */
- class DeviceDetectionTest extends MediaWikiTestCase {
-
- /**
- * @dataProvider provideTestFormatName
- */
- public function testFormatName( $format, $userAgent ) {
- $detector = new DeviceDetection();
- $this->assertEquals( $format, $detector->detectFormatName( $userAgent ) );
- }
-
- public function provideTestFormatName() {
- return array(
- array( 'android', 'Mozilla/5.0 (Linux; U; Android 2.1; en-us; Nexus One Build/ERD62) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17' ),
- array( 'iphone2', 'Mozilla/5.0 (ipod: U;CPU iPhone OS 2_2 like Mac OS X: es_es) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48b Safari/419.3' ),
- array( 'iphone', 'Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48b Safari/419.3' ),
- array( 'nokia', 'Mozilla/5.0 (SymbianOS/9.1; U; [en]; SymbianOS/91 Series60/3.0) AppleWebKit/413 (KHTML, like Gecko) Safari/413' ),
- array( 'palm_pre', 'Mozilla/5.0 (webOS/1.0; U; en-US) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/1.0 Safari/525.27.1 Pre/1.0' ),
- array( 'wii', 'Opera/9.00 (Nintendo Wii; U; ; 1309-9; en)' ),
- array( 'operamini', 'Opera/9.50 (J2ME/MIDP; Opera Mini/4.0.10031/298; U; en)' ),
- array( 'operamobile', 'Opera/9.51 Beta (Microsoft Windows; PPC; Opera Mobi/1718; U; en)' ),
- array( 'kindle', 'Mozilla/4.0 (compatible; Linux 2.6.10) NetFront/3.3 Kindle/1.0 (screen 600x800)' ),
- array( 'kindle2', 'Mozilla/4.0 (compatible; Linux 2.6.22) NetFront/3.4 Kindle/2.0 (screen 824x1200; rotate)' ),
- array( 'capable', 'Mozilla/5.0 (X11; Linux i686; rv:2.0.1) Gecko/20100101 Firefox/4.0.1' ),
- array( 'netfront', 'Mozilla/4.08 (Windows; Mobile Content Viewer/1.0) NetFront/3.2' ),
- array( 'wap2', 'SonyEricssonK608i/R2L/SN356841000828910 Browser/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1' ),
- array( 'wap2', 'NokiaN73-2/3.0-630.0.2 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1' ),
- array( 'psp', 'Mozilla/4.0 (PSP (PlayStation Portable); 2.00)' ),
- array( 'ps3', 'Mozilla/5.0 (PLAYSTATION 3; 1.00)' ),
- array( 'ie', 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)' ),
- array( 'ie', 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)' ),
- array( 'blackberry', 'BlackBerry9300/5.0.0.716 Profile/MIDP-2.1 Configuration/CLDC-1.1 VendorID/133' ),
- array( 'blackberry-lt5', 'BlackBerry7250/4.0.0 Profile/MIDP-2.0 Configuration/CLDC-1.1' ),
- );
- }
-}
--- /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 ) );
+ }
+}
+
--- /dev/null
+<?php
+
+/**
+ * Abstract class to construct tests for ORMRow deriving classes.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @since 1.20
+ *
+ * @ingroup Test
+ *
+ * @group ORM
+ *
+ * The database group has as a side effect that temporal database tables are created. This makes
+ * it possible to test without poisoning a production database.
+ * @group Database
+ *
+ * Some of the tests takes more time, and needs therefor longer time before they can be aborted
+ * as non-functional. The reason why tests are aborted is assumed to be set up of temporal databases
+ * that hold the first tests in a pending state awaiting access to the database.
+ * @group medium
+ *
+ * @licence GNU GPL v2+
+ * @author Jeroen De Dauw < jeroendedauw@gmail.com >
+ */
+abstract class ORMRowTest extends \MediaWikiTestCase {
+
+ /**
+ * @since 1.20
+ * @return string
+ */
+ protected abstract function getRowClass();
+
+ /**
+ * @since 1.20
+ * @return IORMTable
+ */
+ protected abstract function getTableInstance();
+
+ /**
+ * @since 1.20
+ * @return array
+ */
+ public abstract function constructorTestProvider();
+
+ /**
+ * @since 1.20
+ * @param IORMRow $row
+ * @param array $data
+ */
+ protected function verifyFields( IORMRow $row, array $data ) {
+ foreach ( array_keys( $data ) as $fieldName ) {
+ $this->assertEquals( $data[$fieldName], $row->getField( $fieldName ) );
+ }
+ }
+
+ /**
+ * @since 1.20
+ * @param array $data
+ * @param boolean $loadDefaults
+ * @return IORMRow
+ */
+ protected function getRowInstance( array $data, $loadDefaults ) {
+ $class = $this->getRowClass();
+ return new $class( $this->getTableInstance(), $data, $loadDefaults );
+ }
+
+ /**
+ * @dataProvider constructorTestProvider
+ */
+ public function testConstructor( array $data, $loadDefaults ) {
+ $this->verifyFields( $this->getRowInstance( $data, $loadDefaults ), $data );
+ }
+
+ /**
+ * @dataProvider constructorTestProvider
+ */
+ public function testSave( array $data, $loadDefaults ) {
+ $item = $this->getRowInstance( $data, $loadDefaults );
+
+ $this->assertTrue( $item->save() );
+
+ $this->assertTrue( $item->hasIdField() );
+ $this->assertTrue( is_integer( $item->getId() ) );
+
+ $id = $item->getId();
+
+ $this->assertTrue( $item->save() );
+
+ $this->assertEquals( $id, $item->getId() );
+
+ $this->verifyFields( $item, $data );
+ }
+
+ /**
+ * @dataProvider constructorTestProvider
+ */
+ public function testRemove( array $data, $loadDefaults ) {
+ $item = $this->getRowInstance( $data, $loadDefaults );
+
+ $this->assertTrue( $item->save() );
+
+ $this->assertTrue( $item->remove() );
+
+ $this->assertFalse( $item->hasIdField() );
+
+ $this->assertTrue( $item->save() );
+
+ $this->verifyFields( $item, $data );
+
+ $this->assertTrue( $item->remove() );
+
+ $this->assertFalse( $item->hasIdField() );
+
+ $this->verifyFields( $item, $data );
+ }
+
+ // TODO: test all of the methods!
+
+}
\ No newline at end of file
--- /dev/null
+<?php
+
+/**
+ * Tests for the TestORMRow class.
+ * TestORMRow is a dummy class to be able to test the abstract ORMRow class.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @since 1.20
+ *
+ * @ingroup Test
+ *
+ * @group ORM
+ *
+ * The database group has as a side effect that temporal database tables are created. This makes
+ * it possible to test without poisoning a production database.
+ * @group Database
+ *
+ * Some of the tests takes more time, and needs therefor longer time before they can be aborted
+ * as non-functional. The reason why tests are aborted is assumed to be set up of temporal databases
+ * that hold the first tests in a pending state awaiting access to the database.
+ * @group medium
+ *
+ * @licence GNU GPL v2+
+ * @author Jeroen De Dauw < jeroendedauw@gmail.com >
+ */
+require_once dirname( __FILE__ ) . "/ORMRowTest.php";
+
+class TestORMRowTest extends ORMRowTest {
+
+ /**
+ * @since 1.20
+ * @return string
+ */
+ protected function getRowClass() {
+ return 'TestORMRow';
+ }
+
+ /**
+ * @since 1.20
+ * @return IORMTable
+ */
+ protected function getTableInstance() {
+ return TestORMTable::singleton();
+ }
+
+ public function setUp() {
+ parent::setUp();
+
+ $dbw = wfGetDB( DB_MASTER );
+
+ $isSqlite = $GLOBALS['wgDBtype'] === 'sqlite';
+
+ $idField = $isSqlite ? 'INTEGER' : 'INT unsigned';
+ $primaryKey = $isSqlite ? 'PRIMARY KEY AUTOINCREMENT' : 'auto_increment PRIMARY KEY';
+
+ $dbw->safeQuery(
+ 'CREATE TABLE IF NOT EXISTS ' . $dbw->tableName( 'orm_test' ) . '(
+ test_id ' . $idField . ' NOT NULL ' . $primaryKey . ',
+ test_name VARCHAR(255) NOT NULL,
+ test_age TINYINT unsigned NOT NULL,
+ test_height FLOAT NOT NULL,
+ test_awesome TINYINT unsigned NOT NULL,
+ test_stuff BLOB NOT NULL,
+ test_moarstuff BLOB NOT NULL,
+ test_time varbinary(14) NOT NULL
+ );'
+ );
+ }
+
+ public function constructorTestProvider() {
+ return array(
+ array(
+ array(
+ 'name' => 'Foobar',
+ 'age' => 42,
+ 'height' => 9000.1,
+ 'awesome' => true,
+ 'stuff' => array( 13, 11, 7, 5, 3, 2 ),
+ 'moarstuff' => (object)array( 'foo' => 'bar', 'bar' => array( 4, 2 ), 'baz' => true )
+ ),
+ true
+ ),
+ );
+ }
+
+}
+
+class TestORMRow extends ORMRow {}
+
+class TestORMTable extends ORMTable {
+
+ /**
+ * Returns the name of the database table objects of this type are stored in.
+ *
+ * @since 1.20
+ *
+ * @return string
+ */
+ public function getName() {
+ return 'orm_test';
+ }
+
+ /**
+ * Returns the name of a IORMRow implementing class that
+ * represents single rows in this table.
+ *
+ * @since 1.20
+ *
+ * @return string
+ */
+ public function getRowClass() {
+ return 'TestORMRow';
+ }
+
+ /**
+ * Returns an array with the fields and their types this object contains.
+ * This corresponds directly to the fields in the database, without prefix.
+ *
+ * field name => type
+ *
+ * Allowed types:
+ * * id
+ * * str
+ * * int
+ * * float
+ * * bool
+ * * array
+ * * blob
+ *
+ * @since 1.20
+ *
+ * @return array
+ */
+ public function getFields() {
+ return array(
+ 'id' => 'id',
+ 'name' => 'str',
+ 'age' => 'int',
+ 'height' => 'float',
+ 'awesome' => 'bool',
+ 'stuff' => 'array',
+ 'moarstuff' => 'blob',
+ 'time' => 'int', // TS_MW
+ );
+ }
+
+ /**
+ * Gets the db field prefix.
+ *
+ * @since 1.20
+ *
+ * @return string
+ */
+ protected function getFieldPrefix() {
+ return 'test_';
+ }
+
+
+}
$this->assertEquals( array( array(
'msg' => 'Warning message',
'type' => 'warn',
- 'caller' => 'MWDebug::warning',
+ 'caller' => 'MWDebugTest::testAddWarning',
) ),
MWDebug::getLog()
);
private function doTestGetFileList() {
$backendName = $this->backendClass();
-
$base = $this->baseStorePath();
+
+ // Should have no errors
+ $iter = $this->backend->getFileList( array( 'dir' => "$base/unittest-cont-notexists" ) );
+
$files = array(
"$base/unittest-cont1/test1.txt",
"$base/unittest-cont1/test2.txt",
--- /dev/null
+<?php
+
+/**
+ * @group Mobile
+ */
+ class DeviceDetectionTest extends MediaWikiTestCase {
+
+ /**
+ * @dataProvider provideTestFormatName
+ */
+ public function testFormatName( $format, $userAgent ) {
+ $detector = new DeviceDetection();
+ $this->assertEquals( $format, $detector->detectFormatName( $userAgent ) );
+ }
+
+ public function provideTestFormatName() {
+ return array(
+ array( 'android', 'Mozilla/5.0 (Linux; U; Android 2.1; en-us; Nexus One Build/ERD62) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17' ),
+ array( 'iphone2', 'Mozilla/5.0 (ipod: U;CPU iPhone OS 2_2 like Mac OS X: es_es) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48b Safari/419.3' ),
+ array( 'iphone', 'Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48b Safari/419.3' ),
+ array( 'nokia', 'Mozilla/5.0 (SymbianOS/9.1; U; [en]; SymbianOS/91 Series60/3.0) AppleWebKit/413 (KHTML, like Gecko) Safari/413' ),
+ array( 'palm_pre', 'Mozilla/5.0 (webOS/1.0; U; en-US) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/1.0 Safari/525.27.1 Pre/1.0' ),
+ array( 'wii', 'Opera/9.00 (Nintendo Wii; U; ; 1309-9; en)' ),
+ array( 'operamini', 'Opera/9.50 (J2ME/MIDP; Opera Mini/4.0.10031/298; U; en)' ),
+ array( 'operamobile', 'Opera/9.51 Beta (Microsoft Windows; PPC; Opera Mobi/1718; U; en)' ),
+ array( 'kindle', 'Mozilla/4.0 (compatible; Linux 2.6.10) NetFront/3.3 Kindle/1.0 (screen 600x800)' ),
+ array( 'kindle2', 'Mozilla/4.0 (compatible; Linux 2.6.22) NetFront/3.4 Kindle/2.0 (screen 824x1200; rotate)' ),
+ array( 'capable', 'Mozilla/5.0 (X11; Linux i686; rv:2.0.1) Gecko/20100101 Firefox/4.0.1' ),
+ array( 'netfront', 'Mozilla/4.08 (Windows; Mobile Content Viewer/1.0) NetFront/3.2' ),
+ array( 'wap2', 'SonyEricssonK608i/R2L/SN356841000828910 Browser/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1' ),
+ array( 'wap2', 'NokiaN73-2/3.0-630.0.2 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1' ),
+ array( 'psp', 'Mozilla/4.0 (PSP (PlayStation Portable); 2.00)' ),
+ array( 'ps3', 'Mozilla/5.0 (PLAYSTATION 3; 1.00)' ),
+ array( 'ie', 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)' ),
+ array( 'ie', 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)' ),
+ array( 'blackberry', 'BlackBerry9300/5.0.0.716 Profile/MIDP-2.1 Configuration/CLDC-1.1 VendorID/133' ),
+ array( 'blackberry-lt5', 'BlackBerry7250/4.0.0 Profile/MIDP-2.0 Configuration/CLDC-1.1' ),
+ );
+ }
+}
),
);
}
+
+ /**\r
+ * @dataProvider provideCheckTitleEncodingData\r
+ */\r
+ function testCheckTitleEncoding( $s ) {\r
+ $this->assertEquals(\r
+ $s,\r
+ $this->lang->checkTitleEncoding($s),\r
+ "checkTitleEncoding('$s')"\r
+ );\r
+ }\r
+
+ function provideCheckTitleEncodingData() {
+ return array (
+ array( "" ),
+ array( "United States of America" ), // 7bit ASCII
+ array( rawurldecode( "S%C3%A9rie%20t%C3%A9l%C3%A9vis%C3%A9e" ) ),
+ array(
+ rawurldecode(
+ "Acteur%7CAlbert%20Robbins%7CAnglais%7CAnn%20Donahue%7CAnthony%20E.%20Zuiker%7CCarol%20Mendelsohn"
+ )
+ ),
+ // The following two data sets come from bug 36839. They fail if checkTitleEncoding uses a regexp to test for
+ // valid UTF-8 encoding and the pcre.recursion_limit is low (like, say, 1024). They succeed if checkTitleEncoding
+ // uses mb_check_encoding for its test.
+ array(
+ rawurldecode(
+ "Acteur%7CAlbert%20Robbins%7CAnglais%7CAnn%20Donahue%7CAnthony%20E.%20Zuiker%7CCarol%20Mendelsohn%7C"
+ . "Catherine%20Willows%7CDavid%20Hodges%7CDavid%20Phillips%7CGil%20Grissom%7CGreg%20Sanders%7CHodges%7C"
+ . "Internet%20Movie%20Database%7CJim%20Brass%7CLady%20Heather%7C"
+ . "Les%20Experts%20(s%C3%A9rie%20t%C3%A9l%C3%A9vis%C3%A9e)%7CLes%20Experts%20:%20Manhattan%7C"
+ . "Les%20Experts%20:%20Miami%7CListe%20des%20personnages%20des%20Experts%7C"
+ . "Liste%20des%20%C3%A9pisodes%20des%20Experts%7CMod%C3%A8le%20discussion:Palette%20Les%20Experts%7C"
+ . "Nick%20Stokes%7CPersonnage%20de%20fiction%7CPersonnage%20fictif%7CPersonnage%20de%20fiction%7C"
+ . "Personnages%20r%C3%A9currents%20dans%20Les%20Experts%7CRaymond%20Langston%7CRiley%20Adams%7C"
+ . "Saison%201%20des%20Experts%7CSaison%2010%20des%20Experts%7CSaison%2011%20des%20Experts%7C"
+ . "Saison%2012%20des%20Experts%7CSaison%202%20des%20Experts%7CSaison%203%20des%20Experts%7C"
+ . "Saison%204%20des%20Experts%7CSaison%205%20des%20Experts%7CSaison%206%20des%20Experts%7C"
+ . "Saison%207%20des%20Experts%7CSaison%208%20des%20Experts%7CSaison%209%20des%20Experts%7C"
+ . "Sara%20Sidle%7CSofia%20Curtis%7CS%C3%A9rie%20t%C3%A9l%C3%A9vis%C3%A9e%7CWallace%20Langham%7C"
+ . "Warrick%20Brown%7CWendy%20Simms%7C%C3%89tats-Unis"
+ ),
+ ),
+ array(
+ rawurldecode(
+ "Mod%C3%A8le%3AArrondissements%20homonymes%7CMod%C3%A8le%3ABandeau%20standard%20pour%20page%20d'homonymie%7C"
+ . "Mod%C3%A8le%3ABatailles%20homonymes%7CMod%C3%A8le%3ACantons%20homonymes%7C"
+ . "Mod%C3%A8le%3ACommunes%20fran%C3%A7aises%20homonymes%7CMod%C3%A8le%3AFilms%20homonymes%7C"
+ . "Mod%C3%A8le%3AGouvernements%20homonymes%7CMod%C3%A8le%3AGuerres%20homonymes%7CMod%C3%A8le%3AHomonymie%7C"
+ . "Mod%C3%A8le%3AHomonymie%20bateau%7CMod%C3%A8le%3AHomonymie%20d'%C3%A9tablissements%20scolaires%20ou"
+ . "%20universitaires%7CMod%C3%A8le%3AHomonymie%20d'%C3%AEles%7CMod%C3%A8le%3AHomonymie%20de%20clubs%20sportifs%7C"
+ . "Mod%C3%A8le%3AHomonymie%20de%20comt%C3%A9s%7CMod%C3%A8le%3AHomonymie%20de%20monument%7C"
+ . "Mod%C3%A8le%3AHomonymie%20de%20nom%20romain%7CMod%C3%A8le%3AHomonymie%20de%20parti%20politique%7C"
+ . "Mod%C3%A8le%3AHomonymie%20de%20route%7CMod%C3%A8le%3AHomonymie%20dynastique%7C"
+ . "Mod%C3%A8le%3AHomonymie%20vid%C3%A9oludique%7CMod%C3%A8le%3AHomonymie%20%C3%A9difice%20religieux%7C"
+ . "Mod%C3%A8le%3AInternationalisation%7CMod%C3%A8le%3AIsom%C3%A9rie%7CMod%C3%A8le%3AParonymie%7C"
+ . "Mod%C3%A8le%3APatronyme%7CMod%C3%A8le%3APatronyme%20basque%7CMod%C3%A8le%3APatronyme%20italien%7C"
+ . "Mod%C3%A8le%3APatronymie%7CMod%C3%A8le%3APersonnes%20homonymes%7CMod%C3%A8le%3ASaints%20homonymes%7C"
+ . "Mod%C3%A8le%3ATitres%20homonymes%7CMod%C3%A8le%3AToponymie%7CMod%C3%A8le%3AUnit%C3%A9s%20homonymes%7C"
+ . "Mod%C3%A8le%3AVilles%20homonymes%7CMod%C3%A8le%3A%C3%89difices%20religieux%20homonymes"
+ )
+ )
+ );
+ }
}
<?php
-global $IP;
-require_once( "$IP/maintenance/backup.inc" );
/**
* Base TestCase for dumps
*/
-abstract class DumpTestCase extends MediaWikiTestCase {
+abstract class DumpTestCase extends MediaWikiLangTestCase {
/**
* exception to be rethrown once in sound PHPUnit surrounding
*
* Clears $wgUser, and reports errors from addDBData to PHPUnit
*/
- protected function setUp() {
+ public function setUp() {
global $wgUser;
parent::setUp();
$this->skipWhitespace();
}
+ $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();
}
}
- protected function setUp() {
+ public function setUp() {
parent::setUp();
// Since we will restrict dumping by page ranges (to allow
<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>
';
}
- protected function setUp() {
+ public function setUp() {
parent::setUp();
// Since we will restrict dumping by page ranges (to allow