* The DeferredStringifier class is deprecated, use Message::listParam() instead.
* The type string for the parameter $lang of DateFormatter::getInstance is
deprecated.
+* The global functions wfProfileIn and wfProfileOut, deprecated in 1.25, have been removed.
== Compatibility ==
MediaWiki 1.31 requires PHP 5.5.9 or later. Although HHVM 3.18.5 or later is supported,
'Wikimedia\\Rdbms\\TransactionProfiler' => __DIR__ . '/includes/libs/rdbms/TransactionProfiler.php',
'WikitextContent' => __DIR__ . '/includes/content/WikitextContent.php',
'WikitextContentHandler' => __DIR__ . '/includes/content/WikitextContentHandler.php',
+ 'WikitextLogFormatter' => __DIR__ . '/includes/logging/WikitextLogFormatter.php',
'WinCacheBagOStuff' => __DIR__ . '/includes/libs/objectcache/WinCacheBagOStuff.php',
'WithoutInterwikiPage' => __DIR__ . '/includes/specials/SpecialWithoutinterwiki.php',
'WordLevelDiff' => __DIR__ . '/includes/diff/WordLevelDiff.php',
$dbw = wfGetDB( DB_MASTER );
}
- # Periodic purge via commit hooks
- if ( mt_rand( 0, 9 ) == 0 ) {
- self::purgeExpired();
- }
+ self::purgeExpired();
$row = $this->getDatabaseArray( $dbw );
wfGetDB( DB_MASTER ),
__METHOD__,
function ( IDatabase $dbw, $fname ) {
- $dbw->delete(
- 'ipblocks',
+ $ids = $dbw->selectFieldValues( 'ipblocks',
+ 'ipb_id',
[ 'ipb_expiry < ' . $dbw->addQuotes( $dbw->timestamp() ) ],
$fname
);
+ if ( $ids ) {
+ $dbw->delete( 'ipblocks', [ 'ipb_id' => $ids ], $fname );
+ }
}
) );
}
private function showForm() {
global $wgOut, $wgUser, $wgRequest;
+ $conf = RequestContext::getMain()->getConfig();
+ $oldCommentSchema = $conf->get( 'CommentTableSchemaMigrationStage' ) === MIGRATION_OLD;
+
if ( $wgUser->isAllowed( 'suppressrevision' ) ) {
$suppress = "<tr id=\"wpDeleteSuppressRow\">
<td></td>
$suppress = '';
}
+ $wgOut->addModules( 'mediawiki.action.delete.file' );
+
$checkWatch = $wgUser->getBoolOption( 'watchdeletion' ) || $wgUser->isWatched( $this->title );
$form = Xml::openElement( 'form', [ 'method' => 'post', 'action' => $this->getAction(),
'id' => 'mw-img-deleteconfirm' ] ) .
Xml::label( wfMessage( 'filedelete-otherreason' )->text(), 'wpReason' ) .
"</td>
<td class='mw-input'>" .
- Xml::input( 'wpReason', 60, $wgRequest->getText( 'wpReason' ),
- [ 'type' => 'text', 'maxlength' => '255', 'tabindex' => '2', 'id' => 'wpReason' ] ) .
+ Xml::input( 'wpReason', 60, $wgRequest->getText( 'wpReason' ), [
+ 'type' => 'text',
+ // HTML maxlength uses "UTF-16 code units", which means that characters outside BMP
+ // (e.g. emojis) count for two each. This limit is overridden in JS to instead count
+ // Unicode codepoints (or 255 UTF-8 bytes for old schema).
+ 'maxlength' => $oldCommentSchema ? 255 : CommentStore::COMMENT_CHARACTER_LIMIT,
+ 'tabindex' => '2',
+ 'id' => 'wpReason'
+ ] ) .
"</td>
</tr>
{$suppress}";
return getrusage( 0 /* RUSAGE_SELF */ );
}
}
-
-/**
- * Begin profiling of a function
- * @param string $functionname Name of the function we will profile
- * @deprecated since 1.25
- */
-function wfProfileIn( $functionname ) {
-}
-
-/**
- * Stop profiling of a function
- * @param string $functionname Name of the function we have profiled
- * @deprecated since 1.25
- */
-function wfProfileOut( $functionname = 'missing' ) {
-}
},
"apihelp-main-summary": "",
- "apihelp-main-extended-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:Special:MyLanguage/API:Main_page|Documentation]]\n* [[mw:Special:MyLanguage/API:FAQ|FAQ]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Mailing list]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce API Announcements]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Bugs & requests]\n</div>\n<strong>Status:</strong> All features shown on this page should be working, but the API is still in active development, and may change at any time. Subscribe to [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ the mediawiki-api-announce mailing list] for notice of updates.\n\n<strong>Erroneous requests:</strong> When erroneous requests are sent to the API, an HTTP header will be sent with the key \"MediaWiki-API-Error\" and then both the value of the header and the error code sent back will be set to the same value. For more information see [[mw:Special:MyLanguage/API:Errors_and_warnings|API: Errors and warnings]].\n\n<p class=\"mw-apisandbox-link\"><strong>Testing:</strong> For ease of testing API requests, see [[Special:ApiSandbox]].</p>",
+ "apihelp-main-extended-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:Special:MyLanguage/API:Main_page|Documentation]]\n* [[mw:Special:MyLanguage/API:FAQ|FAQ]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Mailing list]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce API Announcements]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Bugs & requests]\n</div>\n<strong>Status:</strong> The MediaWiki API is a mature and stable interface that is actively supported and improved. While we try to avoid it, we may ocassionally need to make breaking changes; subscribe to [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ the mediawiki-api-announce mailing list] for notice of updates.\n\n<strong>Erroneous requests:</strong> When erroneous requests are sent to the API, an HTTP header will be sent with the key \"MediaWiki-API-Error\" and then both the value of the header and the error code sent back will be set to the same value. For more information see [[mw:Special:MyLanguage/API:Errors_and_warnings|API: Errors and warnings]].\n\n<p class=\"mw-apisandbox-link\"><strong>Testing:</strong> For ease of testing API requests, see [[Special:ApiSandbox]].</p>",
"apihelp-main-param-action": "Which action to perform.",
"apihelp-main-param-format": "The format of the output.",
"apihelp-main-param-maxlag": "Maximum lag can be used when MediaWiki is installed on a database replicated cluster. To save actions causing any more site replication lag, this parameter can make the client wait until the replication lag is less than the specified value. In case of excessive lag, error code <samp>maxlag</samp> is returned with a message like <samp>Waiting for $host: $lag seconds lagged</samp>.<br />See [[mw:Special:MyLanguage/Manual:Maxlag_parameter|Manual: Maxlag parameter]] for more information.",
"@metadata": {
"authors": [
"Zygimantus",
- "Eitvys200"
+ "Eitvys200",
+ "Hugo.arg"
]
},
"apihelp-main-param-action": "Kurį veiksmą atlikti.",
"apihelp-feedwatchlist-param-feedformat": "Srauto formatas.",
"apihelp-feedwatchlist-example-default": "Rodyti stebimųjų sąrašo srautą.",
"apihelp-feedwatchlist-example-all6hrs": "Rodyti visus pakeitimus stebimuose puslapiuose per paskutines 6 valandas.",
- "apihelp-filerevert-param-comment": "Įkėlimo komentaras.",
+ "apihelp-filerevert-param-comment": "Įkėlimo pastabos.",
"apihelp-help-summary": "Rodyti pagalbą pasirinktiems moduliams.",
"apihelp-help-example-main": "Pagalba pagrindiniam moduliui.",
"apihelp-help-example-recursive": "Visa pagalba viename puslapyje.",
"apihelp-parse-param-disablepp": "Em vez deste, usar <var>$1disablelimitreport</var>.",
"apihelp-parse-param-disableeditsection": "Omitir as hiperligações para edição da secção no resultado da análise sintática.",
"apihelp-parse-param-disabletidy": "Não fazer a limpeza do HTML (isto é, o ''tidy'') no resultado da análise sintática.",
- "apihelp-parse-param-disablestylededuplication": "Não desduplica as folhas de estilo incluídas na saída do analisador sintático.",
+ "apihelp-parse-param-disablestylededuplication": "Não desduplicar as folhas de estilo internas (etiquetas <nowiki><style></nowiki>) na saída do analisador sintático.",
"apihelp-parse-param-generatexml": "Gerar a árvore de análise XML (requer o modelo de conteúdo <code>$1</code>; substituído por <kbd>$2prop=parsetree</kbd>).",
"apihelp-parse-param-preview": "Executar a análise em modo de antevisão.",
"apihelp-parse-param-sectionpreview": "Executar a análise em modo de antevisão (também ativa o modo de antevisão).",
$state['userid'] = $user->getId();
// Update user count
- \DeferredUpdates::addUpdate( new \SiteStatsUpdate( 0, 0, 0, 0, 1 ) );
+ \DeferredUpdates::addUpdate( \SiteStatsUpdate::factory( [ 'users' => 1 ] ) );
// Watch user's userpage and talk page
$user->addWatch( $user->getUserPage(), User::IGNORE_USER_RIGHTS );
$user->saveSettings();
// Update user count
- \DeferredUpdates::addUpdate( new \SiteStatsUpdate( 0, 0, 0, 0, 1 ) );
+ \DeferredUpdates::addUpdate( \SiteStatsUpdate::factory( [ 'users' => 1 ] ) );
// Watch user's userpage and talk page
\DeferredUpdates::addCallableUpdate( function () use ( $user ) {
$user->addWatch( $user->getUserPage(), User::IGNORE_USER_RIGHTS );
$textAttribs['class'][] = $this->mClass;
}
+ if ( isset( $this->mParams['maxlength-unit'] ) ) {
+ $textAttribs['data-mw-maxlength-unit'] = $this->mParams['maxlength-unit'];
+ }
+
$allowedParams = [
'required',
'autofocus',
'disabled',
'tabindex',
'maxlength', // gets dynamic with javascript, see mediawiki.htmlform.js
+ 'maxlength-unit', // 'bytes' or 'codepoints', see mediawiki.htmlform.js
];
$textAttribs += $this->getAttributes( $allowedParams );
# TextInput
$textAttribs = [
'name' => $this->mName . '-other',
- 'size' => $this->getSize(),
- 'class' => [ 'mw-htmlform-select-and-other-field' ],
- 'data-id-select' => $this->mID . '-select',
'value' => $value[2],
];
'textinput' => $textAttribs,
'dropdowninput' => $dropdownInputAttribs,
'or' => false,
+ 'classes' => [ 'mw-htmlform-select-and-other-field' ],
+ 'data' => [
+ 'maxlengthUnit' => isset( $this->mParams['maxlength-unit'] )
+ ? $this->mParams['maxlength-unit'] : 'bytes'
+ ],
] );
}
"config-apc": "[http://www.php.net/apc APC] е инсталиран",
"config-apcu": "[http://www.php.net/apc APC] е инсталиран",
"config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] е инсталиран",
- "config-no-cache-apcu": "<strong>Внимание:</strong> [http://www.php.net/apcu APCu], [http://xcache.lighttpd.net/ XCache] и [http://www.iis.net/download/WinCacheForPhp WinCache] не могат да бъдат открити.\nКеширането на обекти не е активирано.",
+ "config-no-cache-apcu": "<strong>Внимание:</strong> [http://www.php.net/apcu APCu] и [http://www.iis.net/download/WinCacheForPhp WinCache] не могат да бъдат открити.\nКеширането на обекти не е активирано.",
"config-mod-security": "<strong>Предупреждение:</strong> [https://modsecurity.org/ mod_security]/mod_security2 е включено на вашия уеб сървър. Много от обичайните му конфигурации пораждат проблеми с МедияУики и друг софтуер, който позволява публикуване на произволно съдържание.\nАко е възможно, моля изключете го. В противен случай се обърнете към [https://modsecurity.org/documentation/ документацията на mod_security] или се свържете с поддръжката на хостинга си, ако се сблъскате със случайни грешки.",
"config-diff3-bad": "GNU diff3 не беше намерен.",
"config-git": "Налична е системата за контрол на версиите Git: <code>$1</code>.",
"config-cache-options": "Настройки за обектното кеширане:",
"config-cache-help": "Обектното кеширане се използва за подобряване на скоростта на МедияУики чрез кеширане на често използваните данни.\nСилно препоръчително е на средните и големите сайтове да включат тази настройка, но малките също могат да се възползват от нея.",
"config-cache-none": "Без кеширане (не се премахва от функционалността, но това влияе на скоростта на по-големи уикита)",
- "config-cache-accel": "PHP обектно кеширане (APC, APCu, XCache или WinCache)",
+ "config-cache-accel": "PHP обектно кеширане (APC, APCu или WinCache)",
"config-cache-memcached": "Използване на Memcached (изисква допълнителни настройки и конфигуриране)",
"config-memcached-servers": "Memcached сървъри:",
"config-memcached-help": "Списък с IP адреси за използване за Memcached.\nНеобходимо е да бъдат разделени по един на ред, както и да е посочен порта. Пример:\n127.0.0.1:11211\n192.168.1.25:1234",
--- /dev/null
+<?php
+/**
+ * Formatter to allow log entries to contain formatted wikitext.
+ *
+ * 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
+ * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
+ */
+
+/**
+ * Log formatter specifically for log entries containing wikitext.
+ * @since 1.31
+ */
+class WikitextLogFormatter extends LogFormatter {
+ /**
+ * @return string
+ */
+ public function getActionMessage() {
+ return parent::getActionMessage()->parse();
+ }
+}
$outputPage->setPageTitle( wfMessage( 'delete-confirm', $title->getPrefixedText() ) );
$outputPage->addBacklinkSubtitle( $title );
$outputPage->setRobotPolicy( 'noindex,nofollow' );
+ $outputPage->addModules( 'mediawiki.action.delete' );
$backlinkCache = $title->getBacklinkCache();
if ( $backlinkCache->hasLinks( 'pagelinks' ) || $backlinkCache->hasLinks( 'templatelinks' ) ) {
]
);
+ // HTML maxlength uses "UTF-16 code units", which means that characters outside BMP
+ // (e.g. emojis) count for two each. This limit is overridden in JS to instead count
+ // Unicode codepoints (or 255 UTF-8 bytes for old schema).
+ $conf = $this->getContext()->getConfig();
+ $oldCommentSchema = $conf->get( 'CommentTableSchemaMigrationStage' ) === MIGRATION_OLD;
$fields[] = new OOUI\FieldLayout(
new OOUI\TextInputWidget( [
'name' => 'wpReason',
'inputId' => 'wpReason',
'tabIndex' => 2,
- 'maxLength' => 255,
+ 'maxLength' => $oldCommentSchema ? 255 : CommentStore::COMMENT_CHARACTER_LIMIT,
'infusable' => true,
'value' => $reason,
'autofocus' => true,
* @param int $u1 Unused
* @param bool $u2 Unused
* @param array|string &$error Array of errors to append to
- * @param User $user The deleting user
+ * @param User $deleter The deleting user
* @param array $tags Tags to apply to the deletion action
* @param string $logsubtype
* @return Status Status object; if successful, $status->value is the log_id of the
* found, $status is a non-fatal 'cannotdelete' error
*/
public function doDeleteArticleReal(
- $reason, $suppress = false, $u1 = null, $u2 = null, &$error = '', User $user = null,
+ $reason, $suppress = false, $u1 = null, $u2 = null, &$error = '', User $deleter = null,
$tags = [], $logsubtype = 'delete'
) {
global $wgUser, $wgContentHandlerUseDB, $wgCommentTableSchemaMigrationStage,
// Avoid PHP 7.1 warning of passing $this by reference
$wikiPage = $this;
- $user = is_null( $user ) ? $wgUser : $user;
+ $deleter = is_null( $deleter ) ? $wgUser : $deleter;
if ( !Hooks::run( 'ArticleDelete',
- [ &$wikiPage, &$user, &$reason, &$error, &$status, $suppress ]
+ [ &$wikiPage, &$deleter, &$reason, &$error, &$status, $suppress ]
) ) {
if ( $status->isOK() ) {
// Hook aborted but didn't set a fatal status
$logtype = $suppress ? 'suppress' : 'delete';
$logEntry = new ManualLogEntry( $logtype, $logsubtype );
- $logEntry->setPerformer( $user );
+ $logEntry->setPerformer( $deleter );
$logEntry->setTarget( $logTitle );
$logEntry->setComment( $reason );
$logEntry->setTags( $tags );
$dbw->endAtomic( __METHOD__ );
- $this->doDeleteUpdates( $id, $content, $revision, $user );
+ $this->doDeleteUpdates( $id, $content, $revision, $deleter );
Hooks::run( 'ArticleDeleteComplete', [
&$wikiPageBeforeDelete,
- &$user,
+ &$deleter,
$reason,
$id,
$content,
protected $data;
protected $regex;
- protected $tempType, $tempMergePrefix;
protected $circularRefGuard;
protected $recursionLevel = 0;
return $text;
}
- $oldType = $this->tempType;
- $this->tempType = $type;
- $text = preg_replace_callback( $this->regex, [ $this, 'unstripCallback' ], $text );
- $this->tempType = $oldType;
- return $text;
- }
-
- /**
- * @param array $m
- * @return array
- */
- protected function unstripCallback( $m ) {
- $marker = $m[1];
- if ( isset( $this->data[$this->tempType][$marker] ) ) {
- if ( isset( $this->circularRefGuard[$marker] ) ) {
- return '<span class="error">'
- . wfMessage( 'parser-unstrip-loop-warning' )->inContentLanguage()->text()
- . '</span>';
- }
- if ( $this->recursionLevel >= self::UNSTRIP_RECURSION_LIMIT ) {
- return '<span class="error">' .
- wfMessage( 'parser-unstrip-recursion-limit' )
- ->numParams( self::UNSTRIP_RECURSION_LIMIT )->inContentLanguage()->text() .
- '</span>';
+ $callback = function ( $m ) use ( $type ) {
+ $marker = $m[1];
+ if ( isset( $this->data[$type][$marker] ) ) {
+ if ( isset( $this->circularRefGuard[$marker] ) ) {
+ return '<span class="error">'
+ . wfMessage( 'parser-unstrip-loop-warning' )->inContentLanguage()->text()
+ . '</span>';
+ }
+ if ( $this->recursionLevel >= self::UNSTRIP_RECURSION_LIMIT ) {
+ return '<span class="error">' .
+ wfMessage( 'parser-unstrip-recursion-limit' )
+ ->numParams( self::UNSTRIP_RECURSION_LIMIT )->inContentLanguage()->text() .
+ '</span>';
+ }
+ $this->circularRefGuard[$marker] = true;
+ $this->recursionLevel++;
+ $value = $this->data[$type][$marker];
+ if ( $value instanceof Closure ) {
+ $value = $value();
+ }
+ $ret = $this->unstripType( $type, $value );
+ $this->recursionLevel--;
+ unset( $this->circularRefGuard[$marker] );
+ return $ret;
+ } else {
+ return $m[0];
}
- $this->circularRefGuard[$marker] = true;
- $this->recursionLevel++;
- $value = $this->data[$this->tempType][$marker];
- if ( $value instanceof Closure ) {
- $value = $value();
- }
- $ret = $this->unstripType( $this->tempType, $value );
- $this->recursionLevel--;
- unset( $this->circularRefGuard[$marker] );
- return $ret;
- } else {
- return $m[0];
- }
+ };
+
+ $text = preg_replace_callback( $this->regex, $callback, $text );
+ return $text;
}
/**
}
}
- $this->tempMergePrefix = $mergePrefix;
- $texts = preg_replace_callback( $otherState->regex, [ $this, 'mergeCallback' ], $texts );
- $this->tempMergePrefix = null;
+ $callback = function ( $m ) use ( $mergePrefix ) {
+ $key = $m[1];
+ return Parser::MARKER_PREFIX . $mergePrefix . '-' . $key . Parser::MARKER_SUFFIX;
+ };
+ $texts = preg_replace_callback( $otherState->regex, $callback, $texts );
return $texts;
}
- /**
- * @param array $m
- * @return string
- */
- protected function mergeCallback( $m ) {
- $key = $m[1];
- return Parser::MARKER_PREFIX . $this->tempMergePrefix . '-' . $key . Parser::MARKER_SUFFIX;
- }
-
/**
* Remove any strip markers found in the given text.
*
$cmd[] = '--noroot';
}
- $seccomp = [];
-
- if ( $this->hasRestriction( Shell::SECCOMP ) ) {
- $seccomp[] = '@default';
- }
+ $useSeccomp = $this->hasRestriction( Shell::SECCOMP );
+ $extraSeccomp = [];
if ( $this->hasRestriction( Shell::NO_EXECVE ) ) {
- $seccomp[] = 'execve';
+ $extraSeccomp[] = 'execve';
// Normally firejail will run commands in a bash shell,
// but that won't work if we ban the execve syscall, so
// run the command without a shell.
$cmd[] = '--shell=none';
}
- if ( $seccomp ) {
- $cmd[] = '--seccomp=' . implode( ',', $seccomp );
+ if ( $useSeccomp ) {
+ $seccomp = '--seccomp';
+ if ( $extraSeccomp ) {
+ // The "@default" seccomp group will always be enabled
+ $seccomp .= '=' . implode( ',', $extraSeccomp );
+ }
+ $cmd[] = $seccomp;
}
if ( $this->hasRestriction( Shell::PRIVATE_DEV ) ) {
$suggestedDurations = self::getSuggestedDurations();
+ $conf = $this->getConfig();
+ $oldCommentSchema = $conf->get( 'CommentTableSchemaMigrationStage' ) === MIGRATION_OLD;
+
$a = [
'Target' => [
'type' => 'user',
],
'Reason' => [
'type' => 'selectandother',
- 'maxlength' => 255,
+ // HTML maxlength uses "UTF-16 code units", which means that characters outside BMP
+ // (e.g. emojis) count for two each. This limit is overridden in JS to instead count
+ // Unicode codepoints (or 255 UTF-8 bytes for old schema).
+ 'maxlength' => $oldCommentSchema ? 255 : CommentStore::COMMENT_CHARACTER_LIMIT,
+ 'maxlength-unit' => 'codepoints',
'label-message' => 'ipbreason',
'options-message' => 'ipbreason-dropdown',
],
// Show form if the user can submit
if ( $this->isAllowed ) {
+ $conf = $this->getConfig();
+ $oldCommentSchema = $conf->get( 'CommentTableSchemaMigrationStage' ) === MIGRATION_OLD;
+
$form = Xml::openElement( 'form', [ 'method' => 'post',
'action' => $this->getPageTitle()->getLocalURL( [ 'action' => 'submit' ] ),
'id' => 'mw-revdel-form-revisions' ] ) .
Xml::label( $this->msg( 'tags-edit-reason' )->text(), 'wpReason' ) .
'</td>' .
'<td class="mw-input">' .
- Xml::input(
- 'wpReason',
- 60,
- $this->reason,
- [ 'id' => 'wpReason', 'maxlength' => 100 ]
- ) .
+ Xml::input( 'wpReason', 60, $this->reason, [
+ 'id' => 'wpReason',
+ // HTML maxlength uses "UTF-16 code units", which means that characters outside BMP
+ // (e.g. emojis) count for two each. This limit is overridden in JS to instead count
+ // Unicode codepoints (or 255 UTF-8 bytes for old schema).
+ // "- 155" is to leave room for the auto-generated part of the log entry.
+ 'maxlength' => $oldCommentSchema ? 100 : CommentStore::COMMENT_CHARACTER_LIMIT - 155,
+ ] ) .
'</td>' .
"</tr><tr>\n" .
'<td></td>' .
$out->addHTML( "</div>\n" );
}
- // Byte limit (not string length limit) for wpReason and wpNewTitleMain
- // is enforced in the mediawiki.special.movePage module
+ // Length limit for wpReason and wpNewTitleMain is enforced in the
+ // mediawiki.special.movePage module
$immovableNamespaces = [];
foreach ( array_keys( $this->getLanguage()->getNamespaces() ) as $nsId ) {
]
);
+ // HTML maxlength uses "UTF-16 code units", which means that characters outside BMP
+ // (e.g. emojis) count for two each. This limit is overridden in JS to instead count
+ // Unicode codepoints (or 255 UTF-8 bytes for old schema).
+ $conf = $this->getConfig();
+ $oldCommentSchema = $conf->get( 'CommentTableSchemaMigrationStage' ) === MIGRATION_OLD;
$fields[] = new OOUI\FieldLayout(
new OOUI\TextInputWidget( [
'name' => 'wpReason',
'id' => 'wpReason',
- 'maxLength' => 200,
+ 'maxLength' => $oldCommentSchema ? 200 : CommentStore::COMMENT_CHARACTER_LIMIT,
'infusable' => true,
'value' => $this->reason,
] ),
// Show form if the user can submit
if ( $this->mIsAllowed ) {
+ $out->addModules( [ 'mediawiki.special.revisionDelete' ] );
$out->addModuleStyles( 'mediawiki.special' );
+ $conf = $this->getConfig();
+ $oldCommentSchema = $conf->get( 'CommentTableSchemaMigrationStage' ) === MIGRATION_OLD;
+
$form = Xml::openElement( 'form', [ 'method' => 'post',
'action' => $this->getPageTitle()->getLocalURL( [ 'action' => 'submit' ] ),
'id' => 'mw-revdel-form-revisions' ] ) .
Xml::label( $this->msg( 'revdelete-otherreason' )->text(), 'wpReason' ) .
'</td>' .
'<td class="mw-input">' .
- Xml::input(
- 'wpReason',
- 60,
- $this->otherReason,
- [ 'id' => 'wpReason', 'maxlength' => 100 ]
- ) .
+ Xml::input( 'wpReason', 60, $this->otherReason, [
+ 'id' => 'wpReason',
+ // HTML maxlength uses "UTF-16 code units", which means that characters outside BMP
+ // (e.g. emojis) count for two each. This limit is overridden in JS to instead count
+ // Unicode codepoints (or 255 UTF-8 bytes for old schema).
+ // "- 155" is to leave room for the 'wpRevDeleteReasonList' value.
+ 'maxlength' => $oldCommentSchema ? 100 : CommentStore::COMMENT_CHARACTER_LIMIT - 155,
+ ] ) .
'</td>' .
"</tr><tr>\n" .
'<td></td>' .
'content' => new OOUI\HtmlSnippet( $this->msg( 'undeleteextrahelp' )->parseAsBlock() )
] );
+ $conf = $this->getConfig();
+ $oldCommentSchema = $conf->get( 'CommentTableSchemaMigrationStage' ) === MIGRATION_OLD;
+
$fields[] = new OOUI\FieldLayout(
new OOUI\TextInputWidget( [
'name' => 'wpComment',
'infusable' => true,
'value' => $this->mComment,
'autofocus' => true,
+ // HTML maxlength uses "UTF-16 code units", which means that characters outside BMP
+ // (e.g. emojis) count for two each. This limit is overridden in JS to instead count
+ // Unicode codepoints (or 255 UTF-8 bytes for old schema).
+ 'maxLength' => $oldCommentSchema ? 255 : CommentStore::COMMENT_CHARACTER_LIMIT,
] ),
[
'label' => $this->msg( 'undeletecomment' )->text(),
->rawParams( $userToolLinks )->parse()
);
if ( $canChangeAny ) {
+ $conf = $this->getConfig();
+ $oldCommentSchema = $conf->get( 'CommentTableSchemaMigrationStage' ) === MIGRATION_OLD;
$this->getOutput()->addHTML(
$this->msg( 'userrights-groups-help', $user->getName() )->parse() .
$grouplist .
Xml::label( $this->msg( 'userrights-reason' )->text(), 'wpReason' ) .
"</td>
<td class='mw-input'>" .
- Xml::input( 'user-reason', 60, $this->getRequest()->getVal( 'user-reason', false ),
- [ 'id' => 'wpReason', 'maxlength' => 255 ] ) .
+ Xml::input( 'user-reason', 60, $this->getRequest()->getVal( 'user-reason', false ), [
+ 'id' => 'wpReason',
+ // HTML maxlength uses "UTF-16 code units", which means that characters outside BMP
+ // (e.g. emojis) count for two each. This limit is overridden in JS to instead count
+ // Unicode codepoints (or 255 UTF-8 bytes for old schema).
+ 'maxlength' => $oldCommentSchema ? 255 : CommentStore::COMMENT_CHARACTER_LIMIT,
+ ] ) .
"</td>
</tr>
<tr>
$dbw = wfGetDB( DB_MASTER );
$dbw->doAtomicSection( __METHOD__, function ( $dbw, $fname ) use ( $newTouched ) {
+ global $wgActorTableSchemaMigrationStage;
+
$dbw->update( 'user',
[ /* SET */
'user_name' => $this->mName,
);
}
- $dbw->update(
- 'actor',
- [ 'actor_name' => $this->mName ],
- [ 'actor_user' => $this->mId ],
- $fname
- );
+ if ( $wgActorTableSchemaMigrationStage > MIGRATION_OLD ) {
+ $dbw->update(
+ 'actor',
+ [ 'actor_name' => $this->mName ],
+ [ 'actor_user' => $this->mId ],
+ $fname
+ );
+ }
} );
$this->mTouched = $newTouched;
"Mr. Ibrahem",
"Aboulouei1",
"سامي الرحيلي",
- "Azouz.anis"
+ "Azouz.anis",
+ "Elbasyouny"
]
},
"tog-underline": "سطر تحت الوصلات:",
"botpasswords-label-grants-column": "الممنوح",
"botpasswords-bad-appid": "اسم البوت \"$1\" غير صحيح.",
"botpasswords-insert-failed": "فشل في إضافة اسم البوت \"$1\".هل أضيف بالفعل؟",
- "botpasswords-update-failed": "فشل في تحديث اسم بوت \"$1\". هل تم حذفه؟",
+ "botpasswords-update-failed": "فشل في تحديث كلمة سر البوت \"$1\". هل تم حذفه؟",
"botpasswords-created-title": "تم إنشاء كلمة سر بوت",
"botpasswords-created-body": "كلمة سر البوت للبوت \"$1\" الخاص {{GENDER:$2|بالمستخدم|بالمستخدمة}} \"$2\" تم إنشاؤها.",
"botpasswords-updated-title": "تم تحديث كلمة سر البوت",
"thumbnail_dest_directory": "Nun pudo crease'l direutoriu de destín",
"thumbnail_image-type": "Triba d'imaxe ensin sofitu",
"thumbnail_gd-library": "Configuración incompleta de la biblioteca GD: falta la función $1",
+ "thumbnail_image-size-zero": "El tamañu del ficheru d'imaxe paez que ye cero.",
"thumbnail_image-missing": "Paez que falta'l ficheru: $1",
"thumbnail_image-failure-limit": "Hebo demasiaos intentos recientes que fallaron ($1 o más) al representar esta miniatura. Vuelva a intentalo más sero.",
"import": "Importar páxines",
"recentchanges-legend-heading": "<strong>قیسالتمالار:</strong>",
"recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (بیرده [[Special:NewPages|یئنی صفحهلرین لیستینه]] باخین)",
"rcfilters-other-review-tools": "داها یوخلاما آلتلری",
+ "rcfilters-activefilters": "چالیشقان فیلترلر",
"rcfilters-savedqueries-defaultlabel": "ذخیره اوْلونموش فیلترلر",
+ "rcfilters-filter-humans-label": "اینسان (غئیر روْبات)",
+ "rcfilters-filter-pageedits-label": "صفحه دییشدیرمهلری",
+ "rcfilters-filter-newpages-label": "صفحه یاراتما",
"rcnotefrom": "آشاغی داکی دَییشیک لرده <strong>$3, $4</strong> (دن <strong>$1</strong> {{PLURAL:$5|چان گوستریلیب|چان گوستریلیب دیر}}).",
"rclistfrom": "$3 $2 واختیندان باشلایاراق یئنی دییشیکلری گؤستر",
"rcshowhideminor": "کیچیک دَییشیکلری $1",
"right-blockemail": "Блякаваньне ўдзельнікаў ад адпраўкі лістоў электроннай поштай",
"right-hideuser": "Блякаваньне рахунку ўдзельніка і яго хаваньне",
"right-ipblock-exempt": "Абход блякаваньняў IP-адрасоў, аўтаблякаваньняў і блякаваньняў дыяпазонаў",
- "right-unblockself": "разблякаваньне самога сябе",
- "right-protect": "зьмена ўзроўню абароны старонак і рэдагаваньне каскадна абароненых старонак",
+ "right-unblockself": "Разблякаваньне самога сябе",
+ "right-protect": "Ð\97ьмена ўзроўню абароны старонак і рэдагаваньне каскадна абароненых старонак",
"right-editprotected": "рэдагаваньне старонак, абароненых у рэжыме «{{int:protect-level-sysop}}»",
"right-editsemiprotected": "рэдагаваньне старонак, абароненых у рэжыме «{{int:protect-level-autoconfirmed}}»",
"right-editcontentmodel": "рэдагаваньне мадэлі зьместу старонкі",
"revertpage-nouser": "Връщане на редакции на скрит потребител до последната версия на [[User:$1|$1]]",
"rollback-success": "Отменени редакции на {{GENDER:$3|$1}};\nвъзвръщане към последната версия на {{GENDER:$4|$2}}.",
"sessionfailure-title": "Прекъсната сесия",
- "sessionfailure": "Изглежда има проблем със сесията ви; действието беше отказано като предпазна мярка срещу крадене на сесията. Натиснете бутона за връщане на браузъра, презаредете страницата, от която сте дошли, и опитайте отново.",
+ "sessionfailure": "Изглежда има проблем със сесията ви;\nдействието беше отказано като предпазна мярка срещу крадене на сесията.\nМоля, изпратете формуляра повторно.",
"changecontentmodel": "Промяна на модела на съдържанието на страница",
"changecontentmodel-legend": "Промяна на модела на съдържанието",
"changecontentmodel-title-label": "Заглавие на страницата",
"version-poweredby-others": "други",
"version-poweredby-translators": "преводачи в translatewiki.net",
"version-credits-summary": "Бихме искали да изкажем признателност на следните хора за техните приноси към [[Special:Version|МедияУики]].",
- "version-license-info": "МедияУики е свободен софтуер, можете да го разпространявате и/или променяте съгласно условията на GNU General Public License, както е публикуван от Free Software Foundation, версия 2 на лиценза или (по ваше усмотрение) която и да е следваща версия.\n\nМедияУики се разпространява с надеждата, че ще бъде полезен, но БЕЗ НИКАКВИ ГАРАНЦИИ, без дори косвена гаранция за ПРОДАВАЕМОСТ или ПРИГОДНОСТ ЗА КОНКРЕТНА УПОТРЕБА. Вижте GNU General Public License за повече подробности.\n\nТрябва да сте получили [{{SERVER}}{{SCRIPTPATH}}/COPYING копие на GNU General Public License] заедно с тази програма. Ако не сте, пишете на 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-license-info": "МедияУики е свободен софтуер, можете да го разпространявате и/или променяте съгласно условията на GNU General Public License, както е публикуван от Free Software Foundation, версия 2 на лиценза или (по ваше усмотрение) която и да е следваща версия.\n\nМедияУики се разпространява с надеждата, че ще бъде полезен, но <em>БЕЗ НИКАКВИ ГАРАНЦИИ</em>, без дори косвена гаранция за <strong>ПРОДАВАЕМОСТ</strong> или <strong>ПРИГОДНОСТ ЗА КОНКРЕТНА УПОТРЕБА</strong>. Вижте GNU General Public License за повече подробности.\n\nТрябва да сте получили [{{SERVER}}{{SCRIPTPATH}}/COPYING копие на GNU General Public License] заедно с тази програма. Ако не сте, пишете на 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": "Версия",
"limitreport-postexpandincludesize-value": "$1/$2 {{PLURAL:$2|байт|байта}}",
"limitreport-templateargumentsize-value": "$1/$2 {{PLURAL:$2|байт|байта}}",
"expandtemplates": "Разгръщане на шаблони",
- "expand_templates_intro": "Тази специална страница взима текст и рекурсивно разгръща всички шаблони в нея.\nТя разгръща и всички поддържани парсерни функции като\n<code><nowiki>{{</nowiki>#language:…}}</code> и променливи като\n<code><nowiki>{{</nowiki>CURRENTDAY}}</code>.\nНа практика тя разгръща почти всичко в двойни скоби.",
+ "expand_templates_intro": "Тази Ñ\81пеÑ\86иална Ñ\81Ñ\82Ñ\80аниÑ\86а взима Ñ\83икиÑ\82екÑ\81Ñ\82 и Ñ\80екÑ\83Ñ\80Ñ\81ивно Ñ\80азгÑ\80Ñ\8aÑ\89а вÑ\81иÑ\87ки Ñ\88аблони в неÑ\8f.\nТÑ\8f Ñ\80азгÑ\80Ñ\8aÑ\89а и вÑ\81иÑ\87ки поддÑ\8aÑ\80жани паÑ\80Ñ\81еÑ\80ни Ñ\84Ñ\83нкÑ\86ии каÑ\82о\n<code><nowiki>{{</nowiki>#language:â\80¦}}</code> и пÑ\80оменливи каÑ\82о\n<code><nowiki>{{</nowiki>CURRENTDAY}}</code>.\nÐ\9dа пÑ\80акÑ\82ика Ñ\82Ñ\8f Ñ\80азгÑ\80Ñ\8aÑ\89а поÑ\87Ñ\82и вÑ\81иÑ\87ко в двойни Ñ\81коби.",
"expand_templates_title": "Заглавие на страницата (напр. за {{FULLPAGENAME}}):",
"expand_templates_input": "Входящ уикитекст:",
"expand_templates_output": "Резултат",
"userrights-groupsmember": "Membro di:",
"group": "Grupo:",
"group-user": "Uzanti",
+ "group-autoconfirmed": "Uzeri automatale konfirmita",
"group-bot": "Roboti",
"group-sysop": "Administranti",
"group-bureaucrat": "Burokrati",
"group-all": "(omna)",
"group-user-member": "{{GENDER:$1|uzero}}",
+ "group-autoconfirmed-member": "{{GENDER:$1|Uzero automatale konfirmita}}",
"group-bot-member": "{{GENDER:$1|roboto}}",
"group-sysop-member": "{{GENDER:$1|administrero}}",
"group-bureaucrat-member": "{{GENDER:$1|burokrato}}",
"grouppage-user": "{{ns:project}}:Uzanti",
+ "grouppage-autoconfirmed": "{{ns:project}}:Uzeri automatale konfirmita",
"grouppage-bot": "{{ns:project}}:Roboti",
"grouppage-sysop": "{{ns:project}}:Administranti",
"grouppage-bureaucrat": "{{ns:project}}:Burokrati",
"recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (videz anke la [[Special:NewPages|listo di nova pagini]])",
"rcfilters-other-review-tools": "Altra instrumenti por revizo",
"rcfilters-activefilters": "Agiva filtrili",
+ "rcfilters-advancedfilters": "Rafinita filtrili",
+ "rcfilters-search-placeholder": "Filtrar la modifikuri (uzez la menuo o serchez segun la nomo dil filtrilo)",
+ "rcfilters-filter-editsbyself-label": "Vua modifikuri",
+ "rcfilters-filter-user-experience-level-unregistered-label": "Sen registro",
+ "rcfilters-filter-user-experience-level-unregistered-description": "Redakteri qui ne facis 'log in'.",
+ "rcfilters-filter-user-experience-level-newcomer-label": "Nova uzeri",
+ "rcfilters-filter-user-experience-level-learner-label": "Lernanti",
+ "rcfilters-filter-user-experience-level-learner-description": "Redakteri enrejistrita kun konoco inter \"Nova uzeri\" ed \"experta uzeri.\"",
+ "rcfilters-filter-user-experience-level-experienced-label": "Experta uzeri",
"rcfilters-filter-user-experience-level-experienced-description": "Plu kam 30 dii di agemeso e 500 redakti.",
"rcfilters-filter-humans-label": "Homala (ne 'bot')",
+ "rcfilters-filtergroup-significance": "Senco",
"rcfilters-filter-pageedits-label": "Redakti di pagini",
+ "rcfilters-filter-newpages-label": "Kreado di pagini",
+ "rcfilters-filter-categorization-label": "Modifiki di la kategorio",
"rcfilters-filter-logactions-label": "Agadi enrejistrata",
"rcnotefrom": "Infre {{PLURAL:$5|esas la chanjo|esas la chanji}} de <strong>$3, $4</strong> (montrata til <strong>$1</strong>).",
"rclistfrom": "Montrar nova chanji startante de $3 $2",
"filepage-nofile": "Nula arkivo kun ica nomo existas.",
"uploadnewversion-linktext": "Adkargez nova versiono dil arkivo",
"shared-repo-from": "ek $1",
+ "shared-repo-name-wikimediacommons": "Wikimedia Commons",
"upload-disallowed-here": "Vu ne povas modifikar ica arkivo.",
"filerevert-comment": "Motivo:",
"filedelete": "Efacar $1",
"randompage": "Hazarda pagino",
"randomredirect": "Hazarda ridirektilo",
"statistics": "Statistiko",
- "statistics-header-users": "Statistiki di uzero",
+ "statistics-header-pages": "Statistiki di la pagini",
+ "statistics-header-edits": "Statistiki pri redakto",
+ "statistics-header-users": "Statistiki pri l'uzeri",
"statistics-header-hooks": "Altra statistiki",
+ "statistics-articles": "Temala pagini",
"statistics-pages": "Pagini",
+ "statistics-pages-desc": "Omna pagini dil Wiki, inkluzite pagini por facar diskuti, ridirektadi, edc.",
+ "statistics-edits": "Quanto di redakti pos ke {{SITENAME}} kreesis",
+ "statistics-edits-average": "Mezavalora quanto di redakti per pagino",
+ "statistics-users-active": "Aktiva uzeri",
"doubleredirects": "Duopla ridirektili",
"double-redirect-fixer": "Reparar ridirekti",
"brokenredirects": "Ridirektili nekorekta",
"linksearch-ns": "Nomaro:",
"linksearch-ok": "Serchez",
"listusers-submit": "Montrez",
+ "activeusers": "Listo pri aktiva uzeri",
"activeusers-noresult": "Nula uzero trovesis.",
"listgrouprights-group": "Grupo",
"listgrouprights-members": "(listo di membri)",
"sp-contributions-uploads": "sendita arkivi",
"sp-contributions-logs": "registrari",
"sp-contributions-talk": "diskutez",
+ "sp-contributions-userrights": "yuri dil {{GENDER:$1|uzero}} pri administrado",
"sp-contributions-search": "Serchar kontributadi",
"sp-contributions-username": "IP-adreso od uzantonomo:",
"sp-contributions-toponly": "Montrar nur la maxim recenta revizi",
"newimages-legend": "Filtrilo",
"ilsubmit": "Serchar",
"bydate": "per dato",
+ "months": "{{PLURAL:$1|$1 monato|$1 monati}}",
+ "years": "{{PLURAL:$1|$1 yaro|$1 yari}}",
"metadata": "Metadonaji",
"metadata-help": "Ca arkivo kontenas plusa informo, probable furnisita per la kamero elektronikala o per la \"scanner\" uzata por krear o kopiar l'imajo.\nSe l'arkivo modifikesos de lua originala stando, kelka detali povos ne reprezentar exakte l'arkivo modifikata.",
"metadata-fields": "Image metadata fields listed in this message will be included on image page display when the metadata table is collapsed.\nOthers will be hidden by default.\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude",
"tag-filter": "[[Special:Tags|etiketo]] filtrilo:",
"tag-filter-submit": "Filtrez",
"tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|Etikedo|Etikedi}}]]: $2)",
+ "tags-description-header": "Kompleta deskripto dil senco",
"tags-active-yes": "Yes",
"tags-active-no": "No",
"tags-edit": "redaktar",
"searchsuggest-search": "Serchez en {{SITENAME}}",
"searchsuggest-containing": "quan kontenas...",
"duration-days": "($1 {{PLURAL:$1|dio|dii}})",
+ "duration-years": "$1 {{PLURAL:$1|yaro|yari}}",
"expand_templates_output": "Rezulto",
"expand_templates_ok": "O.K.",
"expand_templates_preview": "Previdar",
"confirmrecreate": "L'utente [[User:$1|$1]] ([[User talk:$1|discussioni]]) ha cancellato questa pagina dopo che hai iniziato a modificarla, per il seguente motivo: ''$2''\nPer favore, conferma che vuoi veramente ricreare questa pagina.",
"confirmrecreate-noreason": "L'utente [[User:$1|$1]] ([[User talk:$1|discussioni]]) {{GENDER:$1|ha cancellato}} questa pagina dopo che hai iniziato a modificarla. Per favore, conferma che vuoi veramente ricreare questa pagina.",
"recreate": "Ricrea",
- "confirm-purge-title": "Purga questa pagina",
+ "confirm-purge-title": "Aggiorna questa pagina",
"confirm_purge_button": "OK",
"confirm-purge-top": "Vuoi pulire la cache di questa pagina?",
"confirm-purge-bottom": "Ripulire la cache di una pagina consente di mostrare la sua versione più aggiornata.",
"size-kilobytes": "$1キロバイト",
"size-megabytes": "$1メガバイト",
"size-gigabytes": "$1ギガバイト",
- "size-terabytes": "$1 TB",
- "size-petabytes": "$1 PB",
- "size-exabytes": "$1 EB",
- "size-zetabytes": "$1 ZB",
- "size-yottabytes": "$1 YB",
+ "size-terabytes": "$1テラバイト",
+ "size-petabytes": "$1ペタバイト",
+ "size-exabytes": "$1エクサバイト",
+ "size-zetabytes": "$1ゼタバイト",
+ "size-yottabytes": "$1ヨタバイト",
"size-pixel": "$1{{PLURAL:$1|ピクセル}}",
"size-kilopixel": "$1キロピクセル",
"size-megapixel": "$1メガピクセル",
"viewsourcelink": "кюрчю кодуна къарамакъ",
"editsectionhint": "Бёлмени тюзлемек: $1",
"toc": "Ичделик",
- "site-atom-feed": "$1 Atom-агъышы",
+ "site-atom-feed": "$1 Atom агъышы",
"page-atom-feed": "\"$1\" Atom агъышы",
"red-link-title": "$1 (олай сагьифасы ёкъдур)",
"nstab-main": "Макъала",
"ipboptions": "2 сагьат:2 hours,1 гюн:1 day,3 гюн:3 days,1 жума:1 week,2 жума:2 weeks,1 ай:1 month,3 ай:3 months,6 ай:6 months,1 йыл:1 year,болжалсыз:infinite",
"infiniteblock": "болжалсыз",
"blocklink": "къамамакъ",
- "contribslink": "Ð\9aъошум",
+ "contribslink": "къошум",
"blocklogpage": "къамав гюнделиги",
"blocklogentry": "къамагъан [[$1]] бу мюгьлетге $2 $3",
"reblock-logentry": "къамавну [[$1]]бу болжалгъа $2 $3 алышдыргъан",
"storedversion": "Išsaugota versija",
"editingold": "<strong>Įspėjimas: Jūs keičiate ne naujausią puslapio versiją.</strong> Jei išsaugosite savo keitimus, po to daryti pakeitimai pradings.",
"yourdiff": "Skirtumai",
- "copyrightwarning": "Primename, kad viskas, kas patenka į {{SITENAME}}, yra laikoma paskelbtu pagal $2 (detaliau - $1). Jei nenorite, kad jūsų indėlis būtų be gailesčio redaguojamas ir platinamas, čia nerašykite.<br />\nJūs taip pat pasižadate, kad tai jūsų pačių rašytas turinys arba kopijuotas iš viešų ar panašių nemokamų šaltinių.\n'''NEKOPIJUOKITE AUTORINĖMIS TEISĖMIS APSAUGOTŲ DARBŲ BE LEIDIMO!'''",
- "copyrightwarning2": "Primename, kad viskas, kas patenka į {{SITENAME}} gali būti redaguojama, perdaroma, ar pašalinama kitų naudotojų. Jei nenorite, kad jūsų indėlis būtų be gailesčio redaguojamas, čia nerašykite.<br />\nTaip pat jūs pasižadate, kad tai jūsų pačių rašytas tekstas arba kopijuotas\niš viešų ar panašių nemokamų šaltinių (detaliau - $1).\n'''NEKOPIJUOKITE AUTORINĖMIS TEISĖMIS APSAUGOTŲ DARBŲ BE LEIDIMO!'''",
+ "copyrightwarning": "Primename, kad viskas, kas patenka į {{SITENAME}}, yra skelbiama pagal $2 (plačiau – $1). Jei nenorite, kad jūsų indėlis būtų be gailesčio kaitaliojamas ir platinamas, nerašykite čia.<br />\nJūs taip pat pasižadate, kad tai jūsų pačių rašytas turinys arba kopijuotas iš viešų ar panašių nemokamų šaltinių.\n<strong>Nekopijuokite autorinėmis teisėmis apsaugotų darbų be leidimo!</strong>",
+ "copyrightwarning2": "Primename, kad viskas, kas patenka į {{SITENAME}} gali būti keičiama, perdaroma, ar pašalinama kitų naudotojų. Jei nenorite, kad jūsų indėlis būtų be gailesčio kaitaliojamas, nerašykite čia.<br />\nTaip pat jūs pasižadate, kad tai jūsų pačių rašytas tekstas arba kopijuotas iš viešų ar panašių nemokamų šaltinių (plačiau - $1).\n<strong>Nekopijuokite autorinėmis teisėmis apsaugotų darbų be leidimo!</strong>",
"editpage-cannot-use-custom-model": "Šio puslapio turinio modelis negali būti pakeistas.",
"longpageerror": "'''KLAIDA: Tekstas, kurį pateikėte, yra $1 {{PLURAL:$1|kilobaito|kilobaitų|kilobaitų}} ilgio, tai yra didesnis nei yra leistina. Yra leidžiami tiktai $2 {{PLURAL:$2|kilobaitas|kilobaitai|kilobaitų}}.''' Jis nebus išsaugotas.",
"readonlywarning": "<strong>Įspėjimas: Duomenų bazė buvo užrakinta techninei profilaktikai, todėl šiuo metu negalėsite išsaugoti savo pakeitimų. Siūlome nusikopijuoti tekstą į tekstinį failą ir vėliau jį čia išsaugoti.</strong>\n\nJą užrakinusio sistemos administratoriaus paaiškinimas: $1",
"revdelete-hide-text": "Versijos tekstas",
"revdelete-hide-image": "Slėpti failo turinį",
"revdelete-hide-name": "Slėpti veiksmą ir paskirtį",
- "revdelete-hide-comment": "Keitimo komentaras",
+ "revdelete-hide-comment": "Keitimo aprašas",
"revdelete-hide-user": "Redagavusiojo naudotojo vardas/IP adresas",
"revdelete-hide-restricted": "Nuslėpti duomenis nuo adminstratorių kaip ir nuo kitų",
"revdelete-radio-same": "(nekeisti)",
"import-error-interwiki": "Puslapis \"$1\" nebuvo importuotas, nes jo pavadinimas yra rezervuotas išorinei nuorodai (interviki).",
"import-error-special": "Puslapis „$1“ nebuvo importuotas, nes jis priklauso specialiai vardų sričiai, kurioje neleidžiami puslapiai.",
"import-error-invalid": "Puslapis \"$1\" nebuvo įkeltas, kadangi jo vardas yra neteisingas.",
- "import-error-unserialize": "Versija $2 puslapio „$1“ negali būti nepublikuota. Versija buvo pranešta dėl turinio modelio $3 naudojimo publikuoti kaip $4.",
+ "import-error-unserialize": "Puslapio „$1“ versija $2 negali būti struktūruota. Gautas pranešimas, kad šioje atmainoje naudojamas turinio pavyzdys yra $3, kuris struktūruojamas kaip $4.",
"import-error-bad-location": "Versija $2 naudojanti turinio modelį $3 negali būti laikoma „$1“ šioje viki, nes šis modelis nėra palaikomas tame puslapyje.",
"import-options-wrong": "Netinka {{PLURAL:$2|pasirinktis|pasirinktys}}: <nowiki>$1</nowiki>",
"import-rootpage-invalid": "Duotas šaknų puslapis yra blogas pavadinimas.",
"exif-morepermissionsurl": "Alternatyvi licencijavimo informacija",
"exif-attributionurl": "Kai pakartotinai naudojate ši darbą, prašome nurodyti į",
"exif-preferredattributionname": "Kai naudojate ši darbą prašome nurodyti",
- "exif-pngfilecomment": "JPEG failo komentaras",
+ "exif-pngfilecomment": "Pastabos dėl PNG rinkmenos",
"exif-disclaimer": "Atsakomybės apribojimas",
"exif-contentwarning": "Turinio įspėjimas",
"exif-giffilecomment": "GIF rinkmenos paaiškinimas",
"tog-hideminor": "Од полавтоматнесэ кекшемс вишинькине витевкстнэнь",
"tog-hidepatrolled": "Кекшемс лувонь кирдиень витнеметнень-петнематнень чыяконь полавтнематнестэ",
"tog-newpageshidepatrolled": "Кекшемс лувонь кирдиень ванстома лопатнень од лопань керьксэнть эйстэ",
- "tog-extendwatchlist": "Келейгавтомс сёрмадовксонь мельга ваномань сёрмалевксэнть невтевест весе полавтнематне, аволь ансяк чыеньсетне.",
+ "tog-extendwatchlist": "Келейгавтомс сёрмадовкс мельга ваномань керьксэнть невтевест весе полавтнематне, аволь ансяк чиеньсетне.",
"tog-usenewrc": "Пурнамс лиякстомтомат лопань коряс куронь-куронь чиень полавтнематнестэ-ванома лемрисьметнестэ",
"tog-numberheadings": "Сёрмадовксконяксос кадык сынсь ловома валтнэ путовить",
"tog-showtoolbar": "Невтемс кедьёнкслазнэнть сёрмадома шкасто",
"tog-editondblclick": "Кавксть лепштязь совамс сёрмадовксонь витнеме-петнеме",
"tog-editsectiononrightclick": "Витнемс секциятнень-пелькстнэнь, лепштямс сёрмадовксонть лемензэ лангс чеерень витьёнсе повнесэ",
- "tog-watchcreations": "Совавтомс ванома лемрисьмезэнь монь теевть лопатнень ды сень, мезе йовкстан",
+ "tog-watchcreations": "Совавтомс ванома лемрисьмезэнь монь теевть лопатнень ды сень, мезе ёвкстан",
"tog-watchdefault": "Совавтомс монь витевть лопатнень ванома лемрисьмезэнь",
"tog-watchmoves": "Совавтомс монь одов лемдявт лопатнень-керьмазтнэнь ванома лемрисьмезэнь",
"tog-watchdeletion": "Совавтомс монь нардавт лопатнень-керьмазтнэнь ванома лемрисьмезэнь",
"tog-enotifminoredits": "Кучомс тень ёндол-сёрмине сестэяк, зярдо апокшкыне витнемат-петнемат теевить монь ванстевть лопатнесэ-керьмазтнэсэ",
"tog-enotifrevealaddr": "Штавтомс е-сёрмань адресэм яволявтомань сёрмадовкстнэсэ",
"tog-shownumberswatching": "Невтемс зяро теицятнеде, конат аравтызь лопанть эсест ванома лемрисьментень",
- "tog-oldsig": "УликÑ\81 кедÑ\8cпÑ\83Ñ\82овкÑ\81оÑ\81Ñ\8c:",
+ "tog-oldsig": "Ð\9dеенÑ\8c кедÑ\8cпÑ\83Ñ\82овкÑ\81оÑ\82:",
"tog-fancysig": "Лемпутовксось прок викитекст (сонсь теевиця сюлмавома певтеме)",
- "tog-uselivepreview": "Ð\9cакÑ\81омÑ\81 Ñ\8dÑ\80иÑ\86Ñ\8f ваÑ\81нÑ\8fнÑ\8c невÑ\82евкÑ\81",
+ "tog-uselivepreview": "Ð\9dевÑ\82емÑ\81 ваÑ\81нÑ\8fнÑ\8c невÑ\82евкÑ\81 лопанÑ\8c одов апак одкÑ\81Ñ\82омÑ\82о",
"tog-forceeditsummary": "Невтик монень, мезе сёрмадомс витнемадо-петнемадо ёвтамонь вальминентень",
"tog-watchlisthideown": "Кекшить монь теевть витневкстнэнь ванома лемрисьменть эйстэ",
"tog-watchlisthidebots": "Кекшить бот витневкстнэнь-петневкстнэнь ванома лемрисьсенть эйстэ",
"newwindow": "(панжови од вальмасо)",
"cancel": "Саемс мекев",
"moredotdotdot": "Седе ламо...",
- "morenotlisted": "Те лемрисьмесь апак прядо.",
+ "morenotlisted": "Те лемрисьмесь, кизды, апак прядо.",
"mypage": "Монь лопам",
"mytalk": "Кортнемам",
- "anontalk": "Ð\9aоÑ\80Ñ\82амÑ\81 Ñ\82е IP-нÑ\82Ñ\8c маÑ\80Ñ\82о",
+ "anontalk": "Ð\9aоÑ\80Ñ\82немам",
"navigation": "Навигация",
"and": " ды",
"faq": "Сеедьстэ кепедень кевкстемат",
"createaccountmail": "Тейть кодамо понгсь салававал, кучик сонзэ ало максозь е-сёрмапаргонтень",
"createacct-reason": "Тувтал",
"createacct-submit": "Шкик совамотаркат",
- "createacct-another-submit": "Шкак од совамотарка",
+ "createacct-another-submit": "ШкамÑ\81 совамотарка",
"createacct-benefit-heading": "«{{SITENAME}}» сайтэнть теизь тонь кондямо ломанть.",
"createacct-benefit-body1": "{{PLURAL:$1|витнема-петнема|витнемат-петнемат}}",
"createacct-benefit-body2": "{{PLURAL:$1|лопа|лопат}}",
"noname": "Зярс эзить максо кемекстазь теицянь лем.",
"loginsuccesstitle": "Совавить",
"loginsuccess": "'''Тон совить {{SITENAME}}-с кода \"$1\".'''",
- "nosuchuser": "$1 лем марто теиця арась.\nТеиця лемтне явозь тень корясь вишка эли покш тештинесэ сёрмадозь. Ваннык видестэ - а видестэ сёрмадык, эли [[Special:CreateAccount|тейть-шкак од совамо тарка]].",
+ "nosuchuser": "$1 лем марто теиця арась.\nТеиця лемтне явозь тень корясь вишка эли покш тештинесэ сёрмадозь. Ваннык видестэ - а видестэ сёрмадык, эли [[Special:CreateAccount|тейть-шкак од совамотарка]].",
"nosuchusershort": "\"$1\" лемсэ теиця арась. Варштака, кизды, аволь истя сёрмадозь.",
"nouserspecified": "Теицянь лем эряви.",
"login-userblocked": "Те теицясь аравтозь саймас. Совамонзо а мерить.",
- "wrongpassword": "Аволь истя сёрмадык совамо валот. Варчыка одов.",
+ "wrongpassword": "Аволь истя сёрмадык совамовалот. Варчыка одов.",
"wrongpasswordempty": "Салавань валот кадовсь апак сёрмадо. Сёрмадыка одов.",
"passwordtooshort": "Салававалонть кувалмозо {{PLURAL:$1|улезэ 1 тешкс| улезт $1 тешкст}}, аволь седе аламо.",
"password-name-match": "Салава валонтень эряви явовомс теицянь леметь эйстэ.",
"storedversion": "Ванстозь версия",
"yourdiff": "Мейсэ явовить",
"copyrightwarning": "Инескеть кирдть мельсэ {{SITENAME}}-сэ весе путовкстнэнь, лововить нолдазекс ало $2 конёвонть коряс (вант $1 педе пес). Арась мелеть витневтемс-петневтемс сёрмадовксот педе пес, иляк сестэ путо сонзэ тезэнь.<br />\nИстяжо тезэнь материалонь максомсот, кемекстат тон тонсь сёрмадык сонзэ, али саик сонзэ вейсэнь ёнксто али олячинь порталсто.\n'''ИЛЯ МАКСО ВАНСТОНЬ ВИДЕЧИСЭ ЛОМАНЕНЬ ВАЖОДЕМАНТЬ АПАК КЕВКСТНЕ!'''",
- "titleprotectedwarning": "'''ВАНОК: Те лопась сёлгозь, сонзэ шкамга-теемга [[Special:ListGroupRights|башка видечыть]] эрявить.'''\nЖурналонь меельсе сёрмадовксось максозь ало, эрявиндеряй сонзэ ваномс.",
+ "titleprotectedwarning": "'''ВАНОК: Те лопась пекстазь, сонзэ шкамга-теемга эрявить [[Special:ListGroupRights|башка видечить]].'''\nЖурналонь меельце сёрмадовксось максозь ало, эрявиндеряй сонзэ ваномс.",
"templatesused": "Те лопасонть тевс нолдазь {{PLURAL:$1|лопапарцун|лопапарцунт}}:",
"templatesusedpreview": "Те икелькс вановкссонть тевс нолдазь {{PLURAL:$1|лопа парцун|лопа парцунт}}:",
"templatesusedsection": "Те пелькссэнть тевс нолдазь {{PLURAL:$1|лопа парцунось|лопа парцунтнэ}}:",
"page_first": "васенце",
"page_last": "меельсе",
"histlegend": "Версиянь кочкамось: тешксты невтезь версиятнень, али лепштик Enter повнэнть.<br />\nЧарькодевтемат: (молиц.) = редямось молиця версиястонть; (и. молиц.) = редямось икеле молиця версиястонть; '''а''' = аволь седе ламо лиякстомтома.",
- "history-fieldset-title": "Ð\92аномÑ\81 лопанÑ\82Ñ\8c Ñ\8eÑ\80онзо-пÑ\83Ñ\82овкÑ\81онзо",
+ "history-fieldset-title": "Ð\92еÑ\88немÑ\81 веÑ\80Ñ\81иÑ\8fÑ\82",
"history-show-deleted": "Ансяк нардазь",
"histfirst": "весемеде умонь",
"histlast": "Меельце",
"powersearch-ns": "Вешнемс не лемпотмотнестэ:",
"powersearch-toggleall": "Весе",
"powersearch-togglenone": "Арась мезе невтемс",
- "search-external": "Ушо йондонь вешнема",
+ "search-external": "Ушо ёндонь вешнема",
"preferences": "Аравтомат",
"mypreferences": "Аравтомат",
"prefs-edits": "Зяроксть витнезь-петнезь:",
"right-writeapi": "Кода нолдамс тевс сёрмадома API-нть",
"right-delete": "Нардамс лопатнень",
"right-bigdelete": "Нардамс кувака икелькс ума марто лопатнень",
- "right-browsearchive": "Ð\92еÑ\88немÑ\81 наÑ\80дань файлатнесэ",
+ "right-browsearchive": "Ð\92еÑ\88немÑ\81 наÑ\80дазь файлатнесэ",
"right-undelete": "Вельмевтемс нардань лопа",
"right-block": "Кардамс лия совийтнень-лисийтнень витнемадо-петнемадо",
"right-blockemail": "Кардамс лия лисийтнень-совийтнень е-сёрмань кучомадо",
"rightslog": "Уськетеицянть видечинть кемекстома",
"action-read": "те лопань ловномо",
"action-edit": "витнемс-петнемс те лопанть",
- "action-createpage": "лопань тееме-шкамо",
- "action-createtalk": "кортнема лопань тееме-шкамо",
+ "action-createpage": "теик-шкик те лопанть",
+ "action-createtalk": "теик-шкик те кортнема лопанть",
"action-createaccount": "Шкамс совицянь те тарканть",
"action-minoredit": "Тешкстамс те витнеманть-петнеманть а покшкынекс",
"action-move": "печтевтемс те лопанть",
"action-upload_by_url": "ёвкстамс те файланть URL адресстэ",
"action-writeapi": "нолдамс тевс сёрмадома API-нть",
"action-delete": "нардамс те лопанть",
- "action-deleterevision": "нардамс те лиякстомтоманть",
- "action-browsearchive": "веÑ\88немÑ\81 наÑ\80дань лопатнестэ",
- "action-undelete": "велÑ\8cмевÑ\82емÑ\81 мекев Ñ\82е лопанÑ\82Ñ\8c",
+ "action-deleterevision": "нардамс лиякстомтомат",
+ "action-browsearchive": "веÑ\88немÑ\81 наÑ\80дазь лопатнестэ",
+ "action-undelete": "велÑ\8cмевÑ\82емÑ\81 лопаÑ\82 мекев",
"action-suppressionlog": "ваномс те теицянть тевнеде сёрмадовкс",
"action-block": "кардамс те совицянть витнемадо-петнемадо",
"action-import": "совавтомс тезэнь лопат лия Викистэ",
"whatlinkshere-hideredirs": "лияв-лияв ютавтовкстнэде $1",
"whatlinkshere-hidetrans": "сюлмавозь пелькстнэде $1",
"whatlinkshere-hidelinks": "сюлмавома петнеде $1",
- "whatlinkshere-hideimages": "$1 файланть сюлмавомапензэ",
+ "whatlinkshere-hideimages": "файлань $1 сюлмавомапенеть",
"whatlinkshere-filters": "Фильтрат",
"block": "Аравтомс теицянть саймас",
"unblock": "Нолдамс теицянть саймасто",
"movepagetext": "Ало максозь лувонть тевс нолдазь, одс лемдят лопа, ве шкасто печтевтят од таркас сонзэ лиякстомтома юронзо-журналонзо.\nИкелень лемезэ тееви печтевтема лопакс, кона ютавты лисийть-совийть од лементень.\nНевтевкстнэ икелень лементь лангс а кармить лиякстомтовомо (инеськеть, вант улить - арасть [[Special:DoubleRedirects|кавтонь кирдань]] ды [[Special:BrokenRedirects|сезень печтевтемат]]).\nЭсеть лангсо вана невтевкстнэ невтест сев, ков эряви.\n\nМель явт, улиндеряй анок лопа од лементь таркасо, лопась '''а печтевтеви'''. Печтевтеви ансяк сестэ, зярдо лопась чаво эли ашти певтевтема лопакс, конань арась витнемань-петнемань икелькс умазо. Лиякс меремга, маштови одов лемдемс лопа икелень лемсэнзэ, зярдо теят ильведевкс; уликс лия лопа а нардави.\n\n'''ВАНОК!'''\nОдс лемдямось тусы покш ды пек апак учонь полавтовомат лопатненень, конатнес ''весеменень пек содавикст''.\nИнеськеть, поладомадо икеле васня вант, чарькодят - чарькодят козонь те тевесь вети.",
"movepagetalktext": "Поладозь кортавтома лопась, кодак истямось ули ютавтови автоматика вельде одс лемдязенть марто, '''а ютавтови, зярдо:'''<br />\n\n*Истямо лем марто кортавтома лопа, конась аволь чаво муеви\n*Эзить путо тешкст паксясонть ало.<br />\n\nЗярдо истят тевтне, сави тонстеть лопатнень кучомс-сюлмамс, кедьсэ.",
"movenotallowed": "Арась меремат печтевтемс лопатнесэ.",
- "newtitle": "Ð\9eд леменÑ\8cÑ\82э:",
+ "newtitle": "Ð\9eд лемезэ:",
"move-watch": "Ваномс лопанть",
"movepagebtn": "Печтевтемс лопанть",
"pagemovedsub": "Лопась печтевтевсь",
"import-upload": "Ёвкстамс XML датанть",
"importlogpage": "Импортонть журналось",
"import-logentry-upload-detail": "Совавтозь $1 {{PLURAL:$1|лиякстомтома|лиякстомтомат}}",
- "tooltip-pt-userpage": "Теицянь лопат",
- "tooltip-pt-mytalk": "Кортнемалопам",
- "tooltip-pt-preferences": "Мейсэ явован лиятнень эйстэ",
+ "tooltip-pt-userpage": "{{GENDER:|Теицянь лопат}}",
+ "tooltip-pt-mytalk": "{{GENDER:|Кортнемалопам}}",
+ "tooltip-pt-preferences": "{{GENDER:|Эсеть}} аравтнемат",
"tooltip-pt-watchlist": "Лопатне, конатнень мельга ванстнят: лиякстомтовить а лиякстомтовить",
"tooltip-pt-mycontris": "Мезесэ лездынь мезе путынь",
"tooltip-pt-login": "Совавтовлить эсь прят тезэнь, арась мелеть, иля.",
"compare-rev1": "Версия 1",
"compare-rev2": "Версия 2",
"compare-submit": "Аравтомс карадо каршо",
- "diff-form": "'''хорма'''",
+ "diff-form": "Мейсэ явовить",
"htmlform-submit": "Максомс",
"htmlform-reset": "Саемс мекев полавтоматнень",
"htmlform-selectorother-other": "Лия",
"special-characters-group-latin": "Латиница",
"special-characters-group-symbols": "Тешкстт",
"special-characters-group-cyrillic": "Кириллица",
- "randomrootpage": "Кодама понгсь юрт лопа"
+ "randomrootpage": "Кодама понгсь юртлопа"
}
"filereadonlyerror": "Kon t bestaand \"$1\" niet anpassen umdat de bestaandsmap \"$2\" op dit moment op allinnig-lezen steet.\n\nDe op-egeven reden is: \"$3\".",
"invalidtitle-knownnamespace": "Ongeldige titel mit naamruumte \"$2\" en tekste \"$3\"",
"invalidtitle-unknownnamespace": "Ongeldige titel mit onbekend naamruumtenummer $1 en tekste \"$2\"",
- "exception-nologin": "Niet an-emeld",
+ "exception-nologin": "Nyt an-emeld",
"exception-nologin-text": "Um disse zied te bekieken of disse haandeling uut te kunnen voeren mu'j [[Special:Userlogin|an-emeld]] ween bie disse wiki.",
"virus-badscanner": "Slichte konfigurasie: onbekend antivirusprogramma: ''$1''",
"virus-scanfailed": "inlezen is mislokt (kode $1)",
"logouttext": "'''Je bin noen aofemeld.'''\n\nt Kan ween dat der wat ziejen bin die weeregeven wörden as of je an-emeld bin totda'j t tussengeheugen van joew webkieker leegmaken.",
"welcomeuser": "Welkom, $1!",
"welcomecreation-msg": "Joew gebruker is an-emaakt.\nVergeet niet joew [[Special:Preferences|veurkeuren veur {{SITENAME}}]] an te passen.",
- "yourname": "Gebrukersnaam",
- "userlogin-yourname": "Gebrukersnaam",
+ "yourname": "Gebrukersname",
+ "userlogin-yourname": "Gebrukersname",
"userlogin-yourname-ph": "Geef joew gebrukersnaam op",
"createacct-another-username-ph": "Vul de gebrukersnaam in",
"yourpassword": "Wachtwoord",
"yourpasswordagain": "Opniej invoeren",
"createacct-yourpasswordagain": "Wachtwoord bevestigen",
"createacct-yourpasswordagain-ph": "Geef t wachtwoord opniej op",
- "userlogin-remembermypassword": "Vanzelf anmelden",
+ "userlogin-remembermypassword": "Vanselv anmelden",
"userlogin-signwithsecure": "Beveiligde verbiending gebruken",
"yourdomainname": "Joew domein",
"password-change-forbidden": "Je kunnen joew wachtwoord niet wiezigen op disse wiki.",
"externaldberror": "Der gung iets fout bie de externe authentisering, of je maggen je gebrukersprofiel niet bewarken.",
"login": "Anmelden",
"nav-login-createaccount": "Anmelden",
- "logout": "Aofmelden",
+ "logout": "Ofmelden",
"userlogout": "Aofmelden",
- "notloggedin": "Niet an-emeld",
- "userlogin-noaccount": "He'j nog gien gebrukersnaam?",
+ "notloggedin": "Nyt an-emeld",
+ "userlogin-noaccount": "Heb jy noch gyn gebrukersname?",
"userlogin-joinproject": "Wörd lid van {{SITENAME}}",
- "createaccount": "Inschrieven",
- "userlogin-resetpassword-link": "Joew wachtwoord vergeten?",
- "userlogin-helplink2": "Hulpe bie t anmelden",
- "userlogin-loggedin": "Je bin al an-emeld as {{GENDER:$1|$1}}.\nGebruuk t onderstaonde formulier um an te melden as n aandere gebruker.",
- "userlogin-createanother": "n Aandere gebrukerskonto anmaken",
+ "createaccount": "Inskryven",
+ "userlogin-resetpassword-link": "Juuw wachtwoord vergeaten?",
+ "userlogin-helplink2": "Hülpe by et anmelden",
+ "userlogin-loggedin": "Je binnen al an-emeld as {{GENDER:$1|$1}}.\nGebruuk et formulyr hyrunder üm an te melden as een andere gebruker.",
+ "userlogin-createanother": "Een andere gebrukerskonto anmaken",
"createacct-emailrequired": "Netpostadres",
"createacct-emailoptional": "Netpostadres (niet verplicht)",
"createacct-email-ph": "Geef joew netpostadres op",
"createaccount-text": "Der hef der ene n gebruker an-emaakt op {{SITENAME}} ($4), mit de naam $2 en t wachtwoord \"$3\". \nMeld je eigen noen an en wiezig t wachtwoord.\n\nNegeer dit bericht as disse gebruker zonder joew toestemming an-emaakt is.",
"login-throttled": "Je hebben lestens te vake eprobeerd um an te melden mit n verkeerd wachtwoord.\nJe mutten effen $1 wachten veurda'j t opniej proberen.",
"login-abort-generic": "Je bin niet an-emeld - Aofebreuken",
- "loginlanguagelabel": "Taal: $1",
+ "loginlanguagelabel": "Taal / språke: $1",
"suspicious-userlogout": "Joew verzeuk um of te melden is aofewezen umdat t dernaor uutziet dat t verstuurd is deur n kepotte webkieker of tussenopslagbuffer",
"createacct-another-realname-tip": "Joew echte naam opgeven is niet verplicht.\nA'j t invullen, dan zu'w t gebruken um erkenning te geven veur joew warkzaamhejen.",
"pt-login": "Anmelden",
"pt-login-button": "Anmelden",
- "pt-createaccount": "Inschrieven",
- "pt-userlogout": "Aofmelden",
+ "pt-createaccount": "Inskryven",
+ "pt-userlogout": "Ofmelden",
"php-mail-error-unknown": "Der was n onbekende fout mit de mail()-funksie van PHP",
"user-mail-no-addy": "Eprobeerd n berichjen te versturen zonder n netpostadres",
"user-mail-no-body": "Der is eprobeerd n netbreef zonder tekste of mit n biester korte tekste te versturen.",
"uploadbtn": "Bestaand opsturen",
"reuploaddesc": "Weerumme naor de opstuurzied",
"upload-tryagain": "Bestaandsbeschrieving biewarken",
- "uploadnologin": "Niet an-emeld",
+ "uploadnologin": "Nyt an-emeld",
"uploadnologintext": "Je mutten $1 ween um bestaanden op te kunnen sturen.",
"upload_directory_missing": "De inlaojmap veur bestaanden ($1) is vort en kon niet an-emaakt wörden deur de webserver.",
"upload_directory_read_only": "Op t moment ku'j gien bestaanden opsturen vanwegen techniese problemen ($1).",
"categoriesfrom": "Laot kategorieën zien vanaof:",
"deletedcontributions": "Vortedaone gebrukersbiedragen",
"deletedcontributions-title": "Vortedaone gebrukersbiedragen",
- "sp-deletedcontributions-contribs": "biedragen",
+ "sp-deletedcontributions-contribs": "bydragen",
"linksearch": "Uutgaonde verwiezingen zeuken",
"linksearch-pat": "Zeukpetroon:",
"linksearch-ns": "Naamruumte:",
"listgrouprights-addgroup-self-all": "Kan alle groepen bie de eigen gebruker doon",
"listgrouprights-removegroup-self-all": "Kan alle groepen vortdoon van eigen gebruker",
"trackingcategories": "Volgkategorieën",
- "mailnologin": "Niet an-emeld.",
+ "mailnologin": "Nyt an-emeld.",
"mailnologintext": "Je mutten [[Special:UserLogin|an-emeld]] ween en n geldig e-mailadres in \"[[Special:Preferences|mien veurkeuren]]\" invoeren um disse funksie te kunnen gebruken.",
"emailuser": "n Bericht sturen",
"emailuser-title-target": "Disse {{GENDER:$1|gebruker}} n bericht sturen",
"watchlistfor2": "Veur $1 ($2)",
"nowatchlist": "Gien artikels in volglieste.",
"watchlistanontext": "$1 is verplicht um joew volglieste te bekieken of te wiezigen.",
- "watchnologin": "Niet an-emeld",
+ "watchnologin": "Nyt an-emeld",
"addwatch": "Op mien volglieste zetten",
"addedwatchtext": "De zied \"[[:$1]]\" steet noen op joew [[Special:Watchlist|volglieste]].\nToekomstige wiezigingen op disse zied en de overlegzied zullen hier vermeld wörden.",
"removewatch": "Van mien volglieste aofhaolen",
"blanknamespace": "(Heufdnaamruumte)",
"contributions": "{{GENDER:$1|Biedragen van disse gebruker}}",
"contributions-title": "Biedragen van $1",
- "mycontris": "Mien biedragen",
- "anoncontribs": "Biedragen",
+ "mycontris": "Myn bydragen",
+ "anoncontribs": "Bydragen",
"contribsub2": "Veur {{GENDER:$3|$1}} ($2)",
"nocontribs": "Gien wiezigingen evunnen die an de estelde criteria voldoon.",
"uctop": "(leste wieziging)",
"blocklink": "blokkeren",
"unblocklink": "deblokkeer",
"change-blocklink": "blokkering wiezigen",
- "contribslink": "biedragen",
+ "contribslink": "bydragen",
"emaillink": "netpostbericht sturen",
"autoblocker": "Vanzelf eblokkeerd umdat t IP-adres overenekömp mit t IP-adres van [[User:$1|$1]], die eblokkeerd is mit as reden: \"$2\"",
"blocklogpage": "Blokkeerlogboek",
"revdelete-no-file": "Fila som vart synt til finst ikkje.",
"revdelete-show-file-confirm": "Er du viss på at du ynskjer å sjå ein sletta versjon av fila \"<nowiki>$1</nowiki>\" frå $2 ved $3?",
"revdelete-show-file-submit": "Ja",
+ "revdelete-selected-text": "{{PLURAL:$1|Vald versjon|Valde versjonar}} av [[:$2]]:",
"logdelete-selected": "{{PLURAL:$1|Vald loggoppføring|Valde loggoppføringar}}:",
"revdelete-confirm": "Stadfest at du ynskjer å gjera dette, at du skjønar konsekvensane, og at du gjer det i samsvar med [[{{MediaWiki:Policy-url}}|retningslinene]].",
"revdelete-suppress-text": "Løyning av sideversjonar bør '''berre''' nyttast i desse tilfella:\n* Mogeleg ærekrenkjande informasjon\n* Upassanda personleg informasjon\n*: ''heimeadresser og -telefonnummer, personnummer, osb.''",
- "revdelete-legend": "Vel avgrensing for synlegdom",
+ "revdelete-legend": "Set avgrensing av synlegdom",
"revdelete-hide-text": "Versjonstekst",
"revdelete-hide-image": "Skjul filinnhald",
"revdelete-hide-name": "Gøym handling og sidenamn",
"uploadstash-bad-path-invalid": "Ścieżka jest nieprawidłowa.",
"uploadstash-bad-path-unknown-type": "Nieznany typ „$1”.",
"uploadstash-bad-path-unrecognized-thumb-name": "Nierozpoznana nazwa miniaturki.",
- "uploadstash-bad-path-no-handler": "Nie znaleziono obsługi dla typu mime 1 $ pliku $2.",
+ "uploadstash-bad-path-no-handler": "Nie znaleziono obsługi dla typu mime $1 pliku $2.",
"uploadstash-bad-path-bad-format": "Klucz \"$1\" nie jest w odpowiednim formacie.",
"uploadstash-file-not-found": "Klucz \"$1\" nie został znaleziony w schowku.",
"uploadstash-file-not-found-no-thumb": "Nie można uzyskać miniaturki.",
"rcfilters-liveupdates-button": "Atualizações instantâneas",
"rcfilters-liveupdates-button-title-on": "Desativar as atualizações ao vivo",
"rcfilters-liveupdates-button-title-off": "Exibir novas mudanças à medida que elas acontecem",
- "rcfilters-watchlist-markseen-button": "Marque todas as mudanças como visto",
- "rcfilters-watchlist-edit-watchlist-button": "Edite sua lista de páginas vigiadas",
+ "rcfilters-watchlist-markseen-button": "Marcar todas as mudanças como vistas",
+ "rcfilters-watchlist-edit-watchlist-button": "Editar lista de páginas vigiadas",
"rcfilters-watchlist-showupdated": "As alterações nas páginas que você não visitou desde as mudanças ocorridas estão em <strong>negrito</strong>, com marcadores sólidos.",
"rcfilters-preference-label": "Ocultar a versão melhorada das Mudanças Recentes",
"rcfilters-preference-help": "Reverte o redesenho da interface de 2017 e todas as ferramentas adicionadas na altura e desde então.",
"historywarning": "<strong>Aviso:</strong> A página que está prestes a eliminar tem um histórico com aproximadamente $1 {{PLURAL:$1|revisão|revisões}}:",
"historyaction-submit": "Exibir",
"confirmdeletetext": "Encontra-se prestes a eliminar uma página juntamente com todo o seu histórico.\nPor favor, confirme que possui a intenção de fazer isto, que compreende as consequências e que encontra-se a fazer isto de acordo com as [[{{MediaWiki:Policy-url}}|políticas]] do projeto.",
- "actioncomplete": "Ação concluída",
+ "actioncomplete": "Ação efetuada com sucesso",
"actionfailed": "Falha na ação",
"deletedtext": "\"$1\" foi eliminada.\nConsulte $2 para um registro de eliminações recentes.",
"dellogpage": "Registro de eliminações",
"templatesusedpreview": "{{PLURAL:$1|Predefinição utilizada|Predefinições utilizadas}} nesta antevisão:",
"templatesusedsection": "{{PLURAL:$1|Predefinição utilizada|Predefinições utilizadas}} nesta secção:",
"template-protected": "(protegida)",
- "template-semiprotected": "(semi-protegida)",
+ "template-semiprotected": "(semiprotegida)",
"hiddencategories": "Esta página pertence a {{PLURAL:$1|uma categoria oculta|$1 categorias ocultas}}:",
"edittools": "<!-- O texto colocado aqui será mostrado abaixo dos formulários de edição e de envio de ficheiros. -->",
"edittools-upload": "-",
"restriction-create": "Criar",
"restriction-upload": "Carregar",
"restriction-level-sysop": "totalmente protegida",
- "restriction-level-autoconfirmed": "semi-protegida",
+ "restriction-level-autoconfirmed": "semiprotegida",
"restriction-level-all": "qualquer nível",
"undelete": "Ver páginas eliminadas",
"undeletepage": "Ver e restaurar páginas eliminadas",
"botpasswords-updated-title": "ᱵᱚᱴ ᱫᱟᱱᱟᱝ ᱥᱟᱵᱟᱫᱽ ᱩᱛᱷᱱᱟᱹᱣ",
"botpasswords-deleted-title": "ᱵᱚᱴ ᱫᱟᱱᱟᱝ ᱥᱟᱵᱟᱫᱽ ᱢᱩᱪᱷᱟᱹᱣᱱᱟ",
"resetpass_forbidden": "ᱫᱟᱱᱟᱝ ᱥᱟᱵᱟᱫᱽ ᱵᱟᱝ ᱵᱚᱫᱚᱞᱜ-ᱟ",
- "resetpass_forbidden-reason": "ᱩᱠᱩ á±®á±\9eá±¥á±\9aá±\9d ᱵᱟᱝ ᱵᱚᱫᱚᱞᱚᱜ-ᱟ: $1",
+ "resetpass_forbidden-reason": "ᱫá±\9fá±±á±\9fá±\9d á±¥á±\9fá±µá±\9fᱫᱽ ᱵᱟᱝ ᱵᱚᱫᱚᱞᱚᱜ-ᱟ: $1",
"resetpass-no-info": "Noa sakam sojhete laṛcaṛ lạgit́te am do bhitri boloḱ hoyoḱtama.",
"resetpass-submit-loggedin": "ᱫᱟᱱᱟᱝ ᱥᱟᱵᱟᱫᱽ ᱵᱚᱫᱚᱞ",
"resetpass-submit-cancel": "ᱵᱟᱫᱽ",
"changeemail-newemail": "ᱱᱟᱣᱟ ᱤᱢᱮᱞ ᱵᱩᱴᱟᱹ:",
"changeemail-none": "(ᱪᱮᱫ ᱦᱚᱸ ᱵᱟᱹᱱᱩᱜ-ᱟ)",
"changeemail-password": "ᱟᱢᱟᱜ {{SITENAME}} ᱫᱟᱱᱟᱝ ᱥᱟᱵᱟᱽ:",
- "changeemail-submit": "E-mail ᱵᱚᱫᱚᱞᱢᱮ",
+ "changeemail-submit": "ᱤ-ᱢᱮᱞ ᱵᱚᱫᱚᱞᱢᱮ",
"bold_sample": "ᱢᱚᱴᱟ ᱚᱞ",
"bold_tip": "ᱢᱚᱴᱟ ᱚᱞ",
"italic_sample": "ᱜᱷᱟᱸᱡᱮᱲ ᱚᱞ",
"missingcommenttext": "ᱫᱟᱭᱟ ᱠᱟᱛᱮ ᱟᱢᱟᱜ ᱠᱟᱛᱷᱟ ᱵᱚᱞᱚᱭ ᱢᱮ᱾",
"summary-preview": "Guṭ katha unuduḱ:",
"subject-preview": "Babot/Guṭkatha unuduḱ:",
- "blockedtitle": "ᱵᱮᱵᱦá±\9fᱨᱤᱡ ᱫá±\9a ᱮᱥᱮá±\9b á±\9aᱪá±\9aá±\9fá± á±\9fá±±á±\9f",
+ "blockedtitle": "ᱵᱮᱵᱷá±\9fᱨᱤᱡ ᱫá±\9a ᱮᱥᱮᱫ á±\9aᱪá±\9aá±£á±\9fá± á±\9fá±±á±\9fá±",
"blockedtext": "<strong>ᱟᱢᱟᱜ ᱵᱮᱵᱷᱟᱨᱤᱭᱟᱹ ᱧᱩᱛᱩᱢ ᱟᱨᱵᱟᱝ IP ᱵᱩᱴᱟᱹ ᱫᱚ ᱵᱚᱸᱫᱽ ᱟᱠᱟᱱᱟ ᱾ </strong>\n\nᱱᱚᱶᱟ ᱵᱚᱸᱫᱽ ᱫᱚ $1 ᱫᱟᱨᱟᱭᱛᱮ ᱦᱩᱭᱟᱠᱱᱟ ᱾\nᱱᱚᱶᱟ ᱨᱮᱱᱟᱜ ᱚᱡᱮ ᱫᱚ ᱮᱢᱮᱱᱟ <em>$2</em>.\n\n* ᱵᱚᱸᱫᱽ ᱮᱦᱚᱵ: $8\n* ᱵᱚᱸᱫᱽ ᱢᱩᱪᱟᱹᱫ: $6\n* ᱟᱥᱟᱦᱟᱱ ᱵᱚᱸᱫᱽᱠᱚ: $7\n\nᱟᱢ $1 ᱮᱢ ᱥᱟᱹᱜᱟᱹᱭ ᱫᱟᱲᱮᱭᱟᱭᱟ ᱵᱟᱝᱠᱷᱟᱱ ᱮᱴᱟᱜ [[{{MediaWiki:Grouppage-sysop}}|ᱟᱰᱢᱤᱱᱤᱥᱴᱨᱮᱴᱚᱨ]] ᱵᱚᱸᱫᱽ ᱵᱟᱵᱚᱫᱽ ᱛᱮ ᱜᱟᱞᱚᱪ ᱞᱟᱹᱜᱤᱫ ᱾\nᱟᱢ ᱵᱟᱢ ᱵᱮᱵᱷᱟᱨ ᱫᱟᱲᱮᱭᱟᱜ \"email this user\" ᱥᱩᱵᱤᱫᱷᱟ ᱡᱚᱛᱷᱟᱛ ᱤᱢᱮᱞ ᱵᱩᱴᱟᱹ ᱛᱟᱢ ᱵᱟᱝ ᱛᱟᱦᱮᱸᱱ ᱠᱷᱟᱱ ᱟᱨ ᱱᱚᱶᱟ ᱫᱚ ᱪᱤᱱᱦᱟᱹᱣ-ᱟ [[Special:Preferences|ᱠᱷᱟᱛᱟ ᱧᱮᱞᱚᱚᱜ]] ᱠᱷᱚᱱ ᱟᱨ ᱟᱢ ᱫᱚ ᱵᱟᱢ ᱵᱚᱸᱫᱽ ᱟᱠᱟᱱᱟ ᱱᱚᱶᱟ ᱵᱮᱵᱷᱟᱨ ᱠᱷᱚᱱ ᱾\nᱟᱢᱟᱜ ᱱᱤᱛᱚᱜᱟᱜ IP ᱵᱩᱴᱟᱹ ᱫᱚ $3, ᱟᱨ ᱵᱚᱸᱫᱽ ID ᱫᱚ #$5 \nᱫᱟᱭᱟᱠᱟᱛᱮ ᱥᱮᱞᱮᱫᱽ ᱢᱮ ᱪᱮᱛᱟᱱᱟᱜ ᱠᱟᱛᱷᱟᱠᱚ ᱡᱚᱛᱚ ᱞᱮᱠᱟᱱ ᱠᱩᱠᱞᱤ ᱨᱮ ᱾",
"blockednoreason": "ᱡᱟᱸᱦᱟᱸᱱ ᱚᱡᱮ ᱵᱟᱝ ᱮᱢᱠᱟᱱᱟ",
"whitelistedittext": "ᱥᱟᱦᱴᱟ ᱥᱟᱯᱲᱟᱣ ᱞᱟᱹᱜᱤᱛ $1 ᱮᱢ ᱦᱩᱭᱩᱜ-ᱟ᱾",
- "nosuchsectiontitle": "á±\9bá±·á±\9fᱠ ᱵᱟᱝ ᱧᱟᱢᱞᱮᱱᱟ",
+ "nosuchsectiontitle": "á±\9bá±·á±\9aᱠ ᱵᱟᱝ ᱧᱟᱢᱞᱮᱱᱟ",
"loginreqtitle": "ᱵᱚᱞᱚᱜ ᱡᱟᱹᱨᱩᱲᱟ",
"loginreqlink": "ᱵᱚᱞᱚᱜ ᱢᱮ",
"loginreqpagetext": "Eṭagaḱ sakamko ńel lạgit́te do am $1 hoyoḱ jạruṛtama.",
"userpage-userdoesnotexist-view": "ᱵᱮᱵᱦᱟᱨᱤᱭᱟᱜ \"$1\" ᱮᱠᱟᱣᱱᱴ ᱫᱚ ᱵᱟᱝ ᱨᱮᱥᱴᱨᱤ ᱟᱠᱟᱱᱟ᱾",
"blocked-notice-logextract": "ᱱᱩᱭ ᱵᱮᱵᱦᱟᱨᱤᱡ ᱫᱚ ᱱᱮᱛᱚᱜ ᱮ ᱥᱮᱥᱫᱜᱮᱭᱟ᱾\nᱨᱮᱯᱷᱟᱨᱮᱱᱥ ᱞᱟᱹᱜᱤᱛᱛᱮ ᱱᱟᱣᱟᱱᱟᱜ ᱵᱚᱞᱚᱜ ᱠᱩᱨᱩᱢᱩᱴᱩ ᱞᱟᱛᱟᱨᱨᱮ ᱮᱢ ᱦᱩᱭᱱᱟ:",
"clearyourcache": "<strong>Note:</strong> After saving, you may have to bypass your browser's cache to see the changes.\n* <strong>Firefox / Safari:</strong> Hold <em>Shift</em> while clicking <em>Reload</em>, or press either <em>Ctrl-F5</em> or <em>Ctrl-R</em> (<em>⌘-R</em> on a Mac)\n* <strong>Google Chrome:</strong> Press <em>Ctrl-Shift-R</em> (<em>⌘-Shift-R</em> on a Mac)\n* <strong>Internet Explorer:</strong> Hold <em>Ctrl</em> while clicking <em>Refresh</em>, or press <em>Ctrl-F5</em>\n* <strong>Opera:</strong> Go to <em>Menu → Settings</em> (<em>Opera → Preferences</em> on a Mac) and then to <em>Privacy & security → Clear browsing data → Cached images and files</em>.",
- "updated": "(ᱦá±\9fá±\9eá±\9aá±\9b ᱜᱮᱭᱟ)",
- "note": "'''ᱱᱳᱴ:'''",
+ "updated": "(ᱩá±\9bá±·á±±á±\9fá±£ ᱜᱮᱭᱟ)",
+ "note": "<strong>ᱱᱳᱴ:</strong>",
"previewnote": "'''ᱠᱷᱮᱭᱟᱞᱢᱮ, ᱱᱚᱣᱟ ᱫᱚ ᱮᱠᱮᱱ ᱧᱮᱞᱚᱜ ᱞᱟᱹᱜᱤᱛ᱾'''\nᱟᱢᱟᱜ ᱵᱚᱫᱚᱞ ᱠᱚᱫᱚ ᱱᱤᱛ ᱫᱷᱟᱹᱵᱤᱡ ᱵᱟᱝ ᱨᱩᱠᱷᱤᱭᱟᱹᱣᱠᱟᱱᱟ!",
"continue-editing": "ᱥᱟᱯᱲᱟᱣ ᱡᱟᱜᱟ ᱪᱟᱞᱟᱜ ᱢᱮ",
"editing": "ᱥᱟᱯᱲᱟᱣ ᱪᱟᱞᱟᱜᱠᱟᱱᱟ $1",
"creating": "$1 ᱛᱮᱭᱟᱨᱚᱜᱠᱟᱱᱟ",
"editingsection": "ᱥᱟᱯᱲᱟᱣᱢᱮ $1 (ᱦᱟᱹᱴᱤᱧ)",
"editingcomment": "ᱥᱟᱯᱲᱟᱣᱢᱮ $1 (ᱱᱟᱣᱟ ᱦᱟᱹᱴᱤᱧ)",
- "editconflict": "á±¥á±\9fᱯᱲá±\9fá±£ á±µá±\9fá±¹á±á±¨á±¤: $1",
+ "editconflict": "á±¥á±\9fᱯᱲá±\9fá±£ ᱡá±\9fá±\9eá±\9f: $1",
"yourtext": "ᱟᱢᱟᱜ ᱚᱞ",
"storedversion": "ᱡᱚᱜᱟᱣᱠᱟᱱ ᱥᱩᱫᱷᱨᱟᱹᱣ",
"yourdiff": "ᱯᱷᱟᱨᱟᱠ",
"templatesused": "ᱱᱚᱶᱟ ᱥᱟᱦᱴᱟᱨᱮ ᱵᱮᱵᱷᱟᱨᱟᱠᱟᱱ {{PLURAL:$1|ᱪᱷᱟᱸᱪ|ᱪᱷᱟᱸᱪᱠᱚ}} :",
"templatesusedpreview": "{{PLURAL:$1|ᱪᱷᱟᱸᱪ|ᱪᱷᱟᱸᱪᱠᱚ}} ᱵᱮᱵᱷᱟᱨ ᱟᱠᱟᱱᱟ ᱱᱟᱶᱟ ᱧᱮᱱᱮᱞᱨᱮ:",
"template-protected": "(ᱨᱩᱠᱷᱤᱭᱟᱹ)",
- "template-semiprotected": "(ᱦᱩᱰᱤᱧ ᱨᱩᱠᱷᱤᱭᱟᱹ)",
+ "template-semiprotected": "(á±\9fᱫᱷá±\9f ᱨᱩᱠᱷᱤᱭᱟᱹ)",
"hiddencategories": "ᱱᱚᱣᱟ ᱥᱟᱦᱴᱟ ᱫᱚ {{PLURAL:$1 1 ᱩᱠᱩ ᱛᱷᱚᱠ|$1 ᱩᱠᱩ ᱛᱷᱚᱠᱠᱩ}} ᱜᱟᱶᱛᱟᱨᱮᱱᱜᱮ:",
"nocreate-loggedin": "ᱱᱟᱣᱟ ᱥᱟᱦᱴᱟ ᱛᱮᱭᱟᱨ ᱞᱟᱹᱜᱤᱛᱛᱮ ᱟᱢᱟᱜ ᱟᱹᱭᱫᱟᱹᱨᱤ ᱫᱚ ᱵᱟᱱᱩᱜ-ᱟ᱾",
"sectioneditnotsupported-title": "ᱛᱷᱟᱠ ᱥᱟᱯᱲᱟᱣ ᱵᱟᱭ ᱦᱟᱛᱟᱣᱫᱟ",
"currentrev-asof": "ᱱᱟᱣᱟ ᱧᱮᱞ ᱞᱮᱠᱟᱛᱮ $1",
"revisionasof": "Revision as of $1",
"revision-info": "Revision as of $1 by {{GENDER:$6|$2}}$7",
- "previousrevision": "ᱯá±\9fᱹᱦᱤá±\9e ᱯá±\9fᱲᱦá±\9fá±£ ᱨᱩá±á±\9fᱹᱣ",
+ "previousrevision": "ᱯá±\9fᱹᱦᱤá±\9e ᱯá±\9fᱲᱦá±\9fá±£ ᱨᱩᱣá±\9fᱹᱲ",
"nextrevision": "ᱱᱟᱣᱟᱛᱮ ᱧᱮᱞ ᱨᱩᱣᱟᱹᱲ →",
"currentrevisionlink": "ᱱᱮᱛᱟᱨ ᱧᱮᱞ",
"cur": "ᱱᱮᱛᱚᱜ",
"last": "ᱞᱟᱦᱟ ᱛᱮᱱᱟᱜ",
"page_first": "ᱯᱟᱹᱦᱤᱞ",
"page_last": "ᱢᱩᱪᱟᱹᱫ",
- "histlegend": "ᱮᱴᱟᱜ ᱵᱟᱪᱷᱟᱣ: ᱱᱟᱣᱟ ᱵᱚᱫᱚᱞᱠᱚ ᱛᱩᱞᱟᱹᱣ ᱢᱮᱱᱠᱷᱟᱱ, ᱨᱮᱰᱤᱭᱳ ᱵᱟᱠᱥᱚᱨᱮ ᱪᱤᱱ ᱮᱢ ᱠᱟᱛᱮ ᱵᱚᱞᱚᱜ ᱥᱮ ᱞᱟᱛᱟᱨ ᱨᱮᱱᱟᱜ ᱵᱟᱴᱚᱱ ᱞᱤᱱᱢᱮ᱾<br />\nᱩᱱᱩᱫᱩᱜ: '''({{int:cur}})''' = ᱱᱮᱛᱟᱨ ᱥᱩᱫᱷᱨᱟᱹᱣ ᱥᱟᱶᱛᱮ ᱥᱚᱝ, '''({{int:last}})''' = ᱞᱟᱦᱟ ᱨᱮᱭᱟᱜ ᱱᱟᱣᱟ ᱥᱩᱫᱷᱨᱟᱹᱣ ᱥᱟᱶᱛᱮ ᱥᱚᱝ, '''{{int:minoreditletter}}''' = ᱦᱩᱰᱤᱧ ᱥᱟᱯᱲᱟᱣ᱾",
+ "histlegend": "ᱮᱴᱟᱜ ᱵᱟᱪᱷᱟᱣ: ᱱᱟᱣᱟ ᱵᱚᱫᱚᱞᱠᱚ ᱛᱩᱞᱟᱹᱣ ᱢᱮᱱᱠᱷᱟᱱ, ᱨᱮᱰᱤᱭᱳ ᱵᱟᱠᱥᱚᱨᱮ ᱪᱤᱱ ᱮᱢ ᱠᱟᱛᱮ ᱵᱚᱞᱚᱜ ᱥᱮ ᱞᱟᱛᱟᱨ ᱨᱮᱱᱟᱜ ᱵᱟᱴᱚᱱ ᱞᱤᱱᱢᱮ᱾<br />\nᱩᱱᱩᱫᱩᱜ: <strong>({{int:cur}})</strong> = ᱱᱮᱛᱟᱨ ᱥᱩᱫᱷᱨᱟᱹᱣ ᱥᱟᱶᱛᱮ ᱥᱚᱝ, <strong>({{int:last}})</strong> = ᱞᱟᱦᱟ ᱨᱮᱭᱟᱜ ᱱᱟᱣᱟ ᱥᱩᱫᱷᱨᱟᱹᱣ ᱥᱟᱶᱛᱮ ᱥᱚᱝ, <strong>{{int:minoreditletter}}</strong> = ᱦᱩᱰᱤᱧ ᱥᱟᱯᱲᱟᱣ ᱾",
"history-fieldset-title": "ᱧᱮᱞ ᱟᱹᱨᱩ ᱞᱟᱹᱜᱤᱫ ᱥᱮᱸᱫᱽᱨᱟ",
"history-show-deleted": "khạli get giḍiyaḱ koge",
"histfirst": "ᱢᱟᱨᱮᱱᱟᱜ",
"histlast": "ᱱᱟᱣᱟᱱᱟᱜ",
- "historysize": "({{PLURAL:$1 1 á±µá±\9fá±á±¤á±´ $1 á±µá±\9fá±á±¤á±´á± ᱩ}})",
+ "historysize": "({{PLURAL:$1 1 á±µá±\9fá±á±¤á±´ $1 á±µá±\9fá±á±¤á±´á±¥}})",
"historyempty": "(ᱠᱷᱟᱹᱞᱤ)",
"history-feed-title": "ᱥᱩᱫᱷᱨᱟᱹᱣ ᱱᱟᱜᱟᱢ",
"history-feed-description": "ᱩᱭᱠᱤᱨᱮ ᱱᱤᱭᱟᱹ ᱥᱟᱦᱴᱟ ᱵᱚᱫᱚᱞ ᱨᱮᱱᱟᱜ ᱱᱟᱜᱟᱢ",
- "history-feed-item-nocomment": "$1 ᱨᱮ $2",
+ "history-feed-item-nocomment": "$2 ᱨᱮ $1",
"rev-deleted-comment": "(ᱥᱟᱯᱲᱟᱣ ᱢᱩᱬᱩᱛ ᱠᱟᱛᱦᱟ ᱚᱪᱟᱜᱠᱟᱱᱟ)",
- "rev-deleted-user": "(ᱵᱮᱵᱦᱟᱨᱤᱭᱟᱜ ᱧᱩᱛᱩᱢ ᱚᱪᱚᱜᱠᱟᱱᱟ)",
+ "rev-deleted-user": "(ᱵᱮᱵᱷᱟᱨᱤᱭᱟᱜ ᱧᱩᱛᱩᱢ ᱚᱪᱚᱜᱠᱟᱱᱟ)",
"rev-deleted-event": "(Log kạmi do ocog hoena)",
- "rev-deleted-user-contribs": "[ᱵᱮᱵᱦᱟᱨᱤᱡ ᱧᱩᱛᱩᱢ ᱥᱮ IP ᱴᱷᱤᱠᱟᱱᱟ ᱫᱚ ᱚᱪᱟᱜ ᱦᱩᱭᱱᱟ - ᱮᱱᱮᱢ ᱠᱷᱚᱱ ᱥᱟᱯᱲᱟᱣ ᱫᱚ ᱩᱠᱩ ᱟᱠᱟᱱᱟ]",
+ "rev-deleted-user-contribs": "[ᱵᱮᱵᱷᱟᱨᱤᱡ ᱧᱩᱛᱩᱢ ᱥᱮ IP ᱴᱷᱤᱠᱟᱱᱟ ᱫᱚ ᱚᱪᱟᱜ ᱦᱩᱭᱱᱟ - ᱮᱱᱮᱢ ᱠᱷᱚᱱ ᱥᱟᱯᱲᱟᱣ ᱫᱚ ᱩᱠᱩ ᱟᱠᱟᱱᱟ]",
"rev-delundel": "ᱧᱮᱧᱮᱞᱟᱜ ᱵᱚᱫᱚᱞ",
"rev-showdeleted": "ᱥᱚᱫᱚᱨ",
"revisiondelete": "ᱜᱮᱫ ᱜᱤᱰᱤ/ᱵᱟᱝ ᱜᱮᱫ ᱜᱤᱰᱤ ᱥᱩᱫᱷᱨᱟᱹᱣᱠᱚ",
"diff-multi-sameuser": "({{PLURAL:$1|ᱢᱤᱫ ᱛᱟᱞᱟ-ᱢᱟᱞᱟ ᱫᱚᱦᱲᱟ|$1 ᱛᱟᱞᱟ-ᱢᱟᱞᱟ ᱫᱚᱦᱲᱟᱠᱚ}} ᱥᱚᱢᱟᱱ ᱵᱮᱵᱷᱟᱨᱤᱭᱟᱹ ᱫᱟᱨᱟᱭᱛᱮ ᱵᱟᱭ ᱧᱮᱞᱚᱜ-ᱟ)",
"diff-multi-otherusers": "({{PLURAL:$1|ᱢᱤᱫ ᱛᱟᱞᱟ-ᱢᱟᱞᱟ ᱫᱚᱦᱲᱟ|$1 ᱛᱟᱞᱟ-ᱢᱟᱞᱟ ᱫᱚᱦᱲᱟᱠᱚ}} {{PLURAL:$2|ᱢᱤᱫ ᱮᱴᱟᱜ ᱵᱮᱵᱷᱟᱨᱤᱭᱟᱹ|$2 ᱵᱮᱵᱷᱟᱨᱤᱭᱟᱹᱠᱚ}} ᱵᱟᱠᱚ ᱧᱮᱞᱚᱜ-ᱟ)",
"searchresults": "ᱥᱮᱸᱫᱽᱨᱟ ᱚᱨᱡᱚᱠᱳ",
- "searchresults-title": "\"$1\" ᱨᱮᱱá±\9fá±\9c ᱥᱮᱸᱫᱽᱨá±\9f ᱯᱷá±\9aá±\9e",
+ "searchresults-title": "\"$1\" ᱨᱮᱱá±\9fá±\9c ᱥᱮᱸᱫᱽᱨá±\9f á±\9aᱨᱡá±\9a",
"prevn": "ᱞᱟᱦᱟᱛᱮᱱᱟᱜ {{PLURAL:$1|$1}}",
"nextn": "ᱛᱟᱭᱚᱢᱛᱮᱱᱟᱜ {{PLURAL:$1|$1}}",
"prev-page": "ᱯᱟᱪᱮ ᱥᱟᱦᱴᱟ",
"passwordreset-emailsentusername": "Ако сте навели имејл адресу приликом регистрације, биће послат имејл за ресетовање лозинке.",
"passwordreset-nocaller": "Позивалац се мора навести",
"passwordreset-nosuchcaller": "Позивалац не постоји: $1",
+ "passwordreset-ignored": "Ресетовање лозинке није успело. Можда послужилац није конфигурисан?",
"passwordreset-invalidemail": "Неисправна имејл адреса",
"passwordreset-nodata": "Корисничко име и адреса е-поште нису наведени",
"changeemail": "Промени или уклони имејл адресу",
"yourtext": "Ваш текст",
"storedversion": "Ускладиштена измена",
"editingold": "<strong>Упозорење: уређујете застарелу измену ове странице.</strong>\nАко је сачувате, све новије измене ће бити изгубљене.",
+ "unicode-support-fail": "Ваш прегледач не подржава Unicode. Он је неопоходан за уређивање страница, па зато не могу сачувати измену.",
"yourdiff": "Разлике",
"copyrightwarning": "Имајте на уму да се сви доприноси на овом викију сматрају као објављени под лиценцом $2 (више на $1).\nАко не желите да се ваши текстови мењају и размењују без ограничења, онда их не шаљите овде.<br />\nИсто тако обећавате да сте Ви аутор текста, или да сте га умножили с извора који је у јавном власништву.\n<strong>Не шаљите радове заштићене ауторским правима без дозволе!</strong>",
"copyrightwarning2": "Имајте на уму да се сви доприноси на овом викију могу мењати, враћати или брисати од других корисника.\nАко не желите да се ваши текстови слободно мењају и расподељују, не шаљите их овде.<br />\nИсто тако обећавате да сте ви аутор текста, или да сте га умножили с извора који је у јавном власништву (више на $1).\n<strong>Не шаљите радове заштићене ауторским правима без дозволе!</strong>",
"permissionserrors": "Грешка у дозволи",
"permissionserrorstext": "Немате овлашћење за ову радњу из {{PLURAL:$1|1=следећег|следећих}} разлога:",
"permissionserrorstext-withaction": "Немате дозволу за $2 из {{PLURAL:$1|следећег|следећих}} разлога:",
+ "contentmodelediterror": "Не можете уредити ову измену јер је њен модел садржаја <code>$1</code>, што се разликује од тренутног модела садржаја странице <code>$2</code>.",
"recreate-moveddeleted-warn": "<strong>Упозорење: поново правите страницу која је претходно обрисана.</strong>\n\nРазмотрите да ли је прикладно да наставите с уређивањем ове странице.\nОвде је наведена историја брисања и премештања с образложењем:",
"moveddeleted-notice": "Ова страница је обрисана.\nИсторија њеног брисања, заштите и премештања налази се испод:",
"moveddeleted-notice-recent": "Жао нам је, ова страница је недавно обрисана (у последњих 24 сата).\nИсторија њеног брисања, заштите и премештања налази се испод:",
"mergehistory-fail-bad-timestamp": "Временска ознака није исправна.",
"mergehistory-fail-invalid-source": "Изворна страница није исправна.",
"mergehistory-fail-invalid-dest": "Одредишна страница није исправна.",
+ "mergehistory-fail-no-change": "Спајање историје није спојило ниједну измену. Проверите параметре странице и времена.",
"mergehistory-fail-permission": "Немате овлашћење за спајање историје.",
"mergehistory-fail-self-merge": "Изворна и одредишна страница не могу бити исте.",
+ "mergehistory-fail-timestamps-overlap": "Изворне измене се преклапају или долазе након одредишних измена.",
"mergehistory-fail-toobig": "Није могуће спојити историје јер више од $1 {{PLURAL:$1|измене ће бити премештене|измена ће бити премештено}}.",
"mergehistory-no-source": "Изворна страница $1 не постоји.",
"mergehistory-no-destination": "Одредишна страница $1 не постоји.",
"diff-multi-sameuser": "({{PLURAL:$1|Једна међуизмена истог корисника није приказана|$1 међуизмене истог корисника нису приказане|$1 међуизмена истог корисника није приказано}})",
"diff-multi-otherusers": "({{PLURAL:$1|Једна међуизмена|$1 међуизмене|$1 међуизмена}} од стране {{PLURAL:$2|још једног корисника није приказана|$2 корисника није приказано}})",
"diff-multi-manyusers": "({{PLURAL:$1|Није приказана међуизмена|Нису приказане $1 међуизмене|Није приказано $1 међуизмена}} од више од $2 корисника)",
+ "diff-paragraph-moved-tonew": "Одломак је премештен. Кликните да пређете на његово ново место.",
+ "diff-paragraph-moved-toold": "Одломак је премештен. Кликните да пређете на његово старо место.",
"difference-missing-revision": "Не могу да пронађем {{PLURAL:$2|једну измену|$2 измене|$2 измена}} од ове разлике ($1).\n\nОво се обично дешава када пратите застарелу везу до странице која је обрисана.\nВише информација можете пронаћи у [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} дневнику брисања].",
"searchresults": "Резултати претраге",
"searchresults-title": "Резултати претраге за „$1“",
"userrights-expiry-current": "Истиче $1",
"userrights-expiry-none": "Не истиче",
"userrights-expiry": "Истиче:",
- "userrights-expiry-existing": "Ð\9fоÑ\81Ñ\82оÑ\98еÑ\9bе вÑ\80иÑ\98еме иÑ\81Ñ\82ека: $3, $2",
- "userrights-expiry-othertime": "Ð\94Ñ\80Ñ\83го вÑ\80иÑ\98еме:",
+ "userrights-expiry-existing": "Постојеће време истека: $3, $2",
+ "userrights-expiry-othertime": "Друго време:",
"userrights-expiry-options": "1 дан:1 day,1 недеља:1 week,1 месец:1 month,3 месеца:3 months,6 месеци:6 months,1 година:1 year",
+ "userrights-invalid-expiry": "Време истицања групе „$1“ није исправно.",
+ "userrights-expiry-in-past": "Време истицања групе „$1“ је прошло.",
"userrights-cannot-shorten-expiry": "Не можете убрзати истек чланства у групи „$1”. Само корисници са дозволом да додају или уклоне ову групу могу да убрзају рок истека.",
"userrights-conflict": "Сукоб промена корисничких права! Молимо проверите ваше измене.",
"group": "Група:",
"right-createaccount": "отварање нових корисничких налога",
"right-autocreateaccount": "Пријавите се аутоматски са екстерним корисничким налогом",
"right-minoredit": "означавање измена мањим",
- "right-move": "Ð\9fремештање страница",
+ "right-move": "премештање страница",
"right-move-subpages": "премештање страница с њиховим подстраницама",
"right-move-rootuserpages": "премештање основних корисничких страница",
- "right-move-categorypages": "Ð\9fремештање категорија",
- "right-movefile": "Ð\9fремештање датотека",
+ "right-move-categorypages": "премештање категорија",
+ "right-movefile": "премештање датотека",
"right-suppressredirect": "премештање страница без остављања преусмерења",
- "right-upload": "Ð\9eтпремање датотека",
+ "right-upload": "отпремање датотека",
"right-reupload": "замењивање постојећих датотека",
"right-reupload-own": "замењивање сопствених датотека",
"right-reupload-shared": "мењање датотека на дељеном складишту мултимедије",
"right-upload_by_url": "Отпремање датотека са веб-адресе",
"right-purge": "чишћење кеш меморије странице без потврде",
- "right-autoconfirmed": "без ограничавања ставки за ИП адресе",
+ "right-autoconfirmed": "без ограничавања ставки за IP адресе",
"right-bot": "сматрање измена као аутоматски процес",
- "right-nominornewtalk": "непоседовање малих измена на страницама за разговор отвара прозор за нове поруке",
- "right-apihighlimits": "коришћење виших граница за упите из АПИ-ја",
- "right-writeapi": "писање АПИ-ја",
+ "right-nominornewtalk": "непоседовање мањих измена на страницама за разговор отвара прозор за нове поруке",
+ "right-apihighlimits": "коришћење виших граница за упите из API-ја",
+ "right-writeapi": "писање API-ја",
"right-delete": "брисање страница",
"right-bigdelete": "брисање страница с великом историјом",
"right-deletelogentry": "брисање и враћање одређених ставки у дневнику",
"right-viewsuppressed": "прегледање измена скривених од свих корисника",
"right-suppressionlog": "прегледање приватних дневника",
"right-block": "блокирање даљих измена других корисника",
- "right-blockemail": "Ð\91локиÑ\80аÑ\98 коÑ\80иÑ\81никÑ\83 Ñ\81лаÑ\9aе имеÑ\98ла",
+ "right-blockemail": "блокиÑ\80аÑ\9aе коÑ\80иÑ\81ника да Ñ\88аÑ\99Ñ\83 имеÑ\98л",
"right-hideuser": "блокирање корисничког имена и његово сакривање од јавности",
"right-ipblock-exempt": "заобилажење блокирања ИП адресе, аутоматска блокирања и блокирања опсега",
"right-unblockself": "деблокирање самог себе",
"right-edituserjs": "уређивање туђих JavaScript датотека",
"right-editmyusercss": "уређивање сопствених CSS датотека",
"right-editmyuserjs": "уређивање сопствених JavaScript датотека",
- "right-viewmywatchlist": "види Ñ\81опÑ\81Ñ\82вени Ñ\81пиÑ\81ак надгледања",
+ "right-viewmywatchlist": "пÑ\80еглед Ñ\81опÑ\81Ñ\82веног Ñ\81пиÑ\81ка надгледања",
"right-editmywatchlist": "уређивање сопственог списка надгледања; неке предузете радње ће свеједно додати странице на списак и без овог права",
- "right-viewmyprivateinfo": "видиÑ\82е Ñ\81воÑ\98е лиÑ\87не подаÑ\82ке (нпр. имејл адресу, право име)",
- "right-editmyprivateinfo": "Ñ\83Ñ\80еÑ\92иваÑ\9aе Ñ\81опÑ\81Ñ\82вениÑ\85 лиÑ\87ниÑ\85 подаÑ\82ака (нпÑ\80. имеÑ\98л адÑ\80еÑ\81а, пÑ\80аво име)",
+ "right-viewmyprivateinfo": "пÑ\80еглед Ñ\81воÑ\98иÑ\85 лиÑ\87ниÑ\85 подаÑ\82ака (нпр. имејл адресу, право име)",
+ "right-editmyprivateinfo": "Ñ\83Ñ\80еÑ\92иваÑ\9aе Ñ\81опÑ\81Ñ\82вениÑ\85 лиÑ\87ниÑ\85 подаÑ\82ака (нпÑ\80. имеÑ\98л адÑ\80еÑ\81е, пÑ\80авог имена)",
"right-editmyoptions": "уређивање сопствених подешавања",
"right-rollback": "брзо враћање измена последњег корисника који је мењао одређену страницу",
"right-markbotedits": "означавање враћених измена као измене бота",
"right-userrights-interwiki": "уређивање корисничких права на другим викијима",
"right-siteadmin": "закључавање и откључавање базе података",
"right-override-export-depth": "извоз страница укључујући и повазене странице до дубине од пет веза",
- "right-sendemail": "Пошаљи имејл другим корисницима",
+ "right-sendemail": "слање имејла другим корисницима",
"right-managechangetags": "прављење и (де)активирање [[Special:Tags|ознака]]",
"right-applychangetags": "примењивање [[Special:Tags|ознака]] на нечије измене",
"right-changetags": "додавање и уклањање разних [[Special:Tags|ознака]] на појединачним изменама и уносима у дневницима",
"right-deletechangetags": "брисање [[Special:Tags|ознака]] из базе података",
+ "grant-generic": "Скуп права „$1“",
"grant-group-page-interaction": "Уређивање страница",
"grant-group-file-interaction": "Уређивање датотека",
"grant-group-watchlist-interaction": "Уређивање вашег списка надгледања",
"action-createpage": "прављење страница",
"action-createtalk": "прављење страница за разговор",
"action-createaccount": "отварање овог корисничког налога",
+ "action-autocreateaccount": "аутоматско прављење овог спољашњег корисничког налога",
"action-history": "гледање историје ове странице",
"action-minoredit": "означавање ове измене као мање",
"action-move": "премештање ове странице",
"action-reupload": "замењивање постојеће датотеке",
"action-reupload-shared": "постављање ове датотеке на заједничко складиште",
"action-upload_by_url": "отпремање ове датотеке преко веб-адресе",
- "action-writeapi": "писање АПИ-ја",
+ "action-writeapi": "писање API-ја",
"action-delete": "брисање ове странице",
"action-deleterevision": "брисање измена",
"action-deletelogentry": "бирсање уноса у дневницима",
"recentchanges-submit": "Прикажи",
"rcfilters-tag-remove": "Обриши $1",
"rcfilters-legend-heading": "<strong>Списак скраћеница:</strong>",
- "rcfilters-other-review-tools": "Ð\9eÑ\81Ñ\82али алаÑ\82и за преглед",
+ "rcfilters-other-review-tools": "Ð\9eÑ\81Ñ\82але алаÑ\82ке за преглед",
"rcfilters-group-results-by-page": "Групиши резултате по страницама",
"rcfilters-activefilters": "Активни филтери",
"rcfilters-advancedfilters": "Напредни филтери",
"rcfilters-state-message-subset": "Овај филтер нема ефекта јер су његови резултати укључени са онима {{PLURAL:$2|следећег, ширег филтера|следећих, ширих филтера}} (покушајте са означавањем да бисте их распознали): $1",
"rcfilters-state-message-fullcoverage": "Одабир свих филтера у групи је исто као и одабир ниједног, тако да овај филтер нема ефекта. Група укључује: $1",
"rcfilters-filtergroup-authorship": "Ауторство доприноса",
- "rcfilters-filter-editsbyself-label": "Ваше измјене",
+ "rcfilters-filter-editsbyself-label": "Ваше измене",
"rcfilters-filter-editsbyself-description": "Ваши доприноси.",
- "rcfilters-filter-editsbyother-label": "Измјене других",
- "rcfilters-filter-editsbyother-description": "Све измјене осим Ваших.",
+ "rcfilters-filter-editsbyother-label": "Измене других",
+ "rcfilters-filter-editsbyother-description": "Све измене осим Ваших.",
"rcfilters-filtergroup-userExpLevel": "Корисничка регистрација и искуство",
"rcfilters-filter-user-experience-level-registered-label": "Регистровани",
"rcfilters-filter-user-experience-level-registered-description": "Пријављени уредници.",
"rcfilters-filter-user-experience-level-experienced-description": "Регистровани уредници са више од 500 измена и 30 дана активности.",
"rcfilters-filtergroup-automated": "Аутоматизовани доприноси",
"rcfilters-filter-bots-label": "Бот",
- "rcfilters-filter-bots-description": "Измјене направљене аутоматизованим алатима.",
+ "rcfilters-filter-bots-description": "Измене направљене аутоматизованим алатима.",
"rcfilters-filter-humans-label": "Човек (није бот)",
- "rcfilters-filter-humans-description": "Измјене које су направили људи-уредници.",
+ "rcfilters-filter-humans-description": "Измене које су направили људи-уредници.",
"rcfilters-filtergroup-reviewstatus": "Патролираност",
"rcfilters-filter-patrolled-label": "Патролирано",
- "rcfilters-filter-patrolled-description": "Измјене означене као патролиране.",
+ "rcfilters-filter-patrolled-description": "Измене означене као патролиране.",
"rcfilters-filter-unpatrolled-label": "Непатролирано",
- "rcfilters-filter-unpatrolled-description": "Измјене које нису означене као патролиране.",
+ "rcfilters-filter-unpatrolled-description": "Измене које нису означене као патролиране.",
"rcfilters-filtergroup-significance": "Значај",
"rcfilters-filter-minor-label": "Мање измене",
- "rcfilters-filter-minor-description": "Измјене које је аутор означио као мање.",
- "rcfilters-filter-major-label": "Не-мање измјене",
- "rcfilters-filter-major-description": "Измјене које нису означене као мање.",
+ "rcfilters-filter-minor-description": "Измене које је аутор означио као мање.",
+ "rcfilters-filter-major-label": "Не-мање измене",
+ "rcfilters-filter-major-description": "Измене које нису означене као мање.",
"rcfilters-filtergroup-watchlist": "Странице на списку надгледања",
"rcfilters-filter-watchlist-watched-label": "На списку надгледања",
- "rcfilters-filter-watchlist-watched-description": "Измјене страница на Вашем списку надгледања.",
- "rcfilters-filter-watchlist-watchednew-label": "Нове измјене на списку надгледања",
- "rcfilters-filter-watchlist-watchednew-description": "Измјене страница на списку надгледања које нисте посјетили од када су направљене измјене.",
+ "rcfilters-filter-watchlist-watched-description": "Измене страница на Вашем списку надгледања.",
+ "rcfilters-filter-watchlist-watchednew-label": "Нове измене на списку надгледања",
+ "rcfilters-filter-watchlist-watchednew-description": "Измене страница на списку надгледања које нисте посетили од када су направљене измене.",
"rcfilters-filter-watchlist-notwatched-label": "Није на списку надгледања",
- "rcfilters-filter-watchlist-notwatched-description": "Све осим измјена страница на Вашем списку надгледања.",
+ "rcfilters-filter-watchlist-notwatched-description": "Све осим измена страница на Вашем списку надгледања.",
"rcfilters-filtergroup-watchlistactivity": "Стање на списку надгледања",
"rcfilters-filter-watchlistactivity-unseen-label": "Непогледане измене",
"rcfilters-filter-watchlistactivity-unseen-description": "Измене страница које нисте посетили од када су направљене измене.",
"rcfilters-filter-watchlistactivity-seen-label": "Погледане измене",
"rcfilters-filter-watchlistactivity-seen-description": "Измене страница које сте посетили од када су направљене измене.",
- "rcfilters-filtergroup-changetype": "Тип измÑ\98ене",
+ "rcfilters-filtergroup-changetype": "Ð\92Ñ\80Ñ\81Ñ\82а измене",
"rcfilters-filter-pageedits-label": "Измене страница",
- "rcfilters-filter-pageedits-description": "Измјене вики садржаја, расправа, описа категорија…",
+ "rcfilters-filter-pageedits-description": "Измене вики садржаја, расправа, описа категорија…",
"rcfilters-filter-newpages-label": "Стварање страница",
"rcfilters-filter-newpages-description": "Измене којима се стварају нове странице.",
- "rcfilters-filter-categorization-label": "Измјене категорија",
+ "rcfilters-filter-categorization-label": "Измене категорија",
"rcfilters-filter-categorization-description": "Записи о страницама додатим или уклоњеним из категорија.",
"rcfilters-filter-logactions-label": "Радње забележене у дневницима",
"rcfilters-filter-logactions-description": "Административне радње, стварање налога, брисање страница, отпремања…",
"rcfilters-hideminor-conflicts-typeofchange-global": "Филтер за „мање” измене је у сукобу са једним или више филтера типа измена, зато што одређени типови измена не могу да се означе као „мање”. Сукобљени филтери су означени у подручју Активни филтери, изнад.",
"rcfilters-hideminor-conflicts-typeofchange": "Одређени типови измена не могу да се означе као „мање”, тако да је овај филтер у сукобу са следећим филтерима типа измена: $1",
"rcfilters-typeofchange-conflicts-hideminor": "Овај филтер типа измене је у сукобу са филтером за „мање” измене. Одређени типови измена не могу да се означе као „мање”.",
- "rcfilters-filtergroup-lastRevision": "Посљедње измјене",
- "rcfilters-filter-lastrevision-label": "Посљедња измјена",
+ "rcfilters-filtergroup-lastRevision": "Последње измене",
+ "rcfilters-filter-lastrevision-label": "Последња измена",
"rcfilters-filter-lastrevision-description": "Само најновија измена на страници.",
- "rcfilters-filter-previousrevision-label": "Није посљедња измјена",
- "rcfilters-filter-previousrevision-description": "Све измјене које нису „посљедње измјене”.",
+ "rcfilters-filter-previousrevision-label": "Није последња измена",
+ "rcfilters-filter-previousrevision-description": "Све измене које нису „последње измене”.",
"rcfilters-filter-excluded": "Изостављено",
"rcfilters-tag-prefix-namespace-inverted": "<strong>:није</strong> $1",
"rcfilters-exclude-button-off": "Изостави означено",
"rcfilters-exclude-button-on": "Изостави одабрано",
- "rcfilters-view-tags": "Означене измјене",
+ "rcfilters-view-tags": "Означене измене",
"rcfilters-view-namespaces-tooltip": "Филтрирај резултате према именском простору",
- "rcfilters-view-tags-tooltip": "Филтрирај резултате према ознаци измјене",
+ "rcfilters-view-tags-tooltip": "Филтрирај резултате према ознаци измене",
"rcfilters-view-return-to-default-tooltip": "Повратак на главни мени",
- "rcfilters-view-tags-help-icon-tooltip": "Сазнајте више о означеним измјенама",
+ "rcfilters-view-tags-help-icon-tooltip": "Сазнајте више о означеним изменама",
"rcfilters-liveupdates-button": "Ажурирања уживо",
"rcfilters-liveupdates-button-title-on": "Искључи ажурирања уживо",
"rcfilters-liveupdates-button-title-off": "Прикажи нове измене уживо",
"rcfilters-filter-showlinkedfrom-label": "Прикажи измене на страницама са којих долазе везе",
"rcfilters-filter-showlinkedfrom-option-label": "<strong>Странице са којих долазе везе до</strong> изабране странице",
"rcfilters-filter-showlinkedto-label": "Прикажи измене на страницама ка којима воде везе",
- "rcfilters-filter-showlinkedto-option-label": "<strong>Странице ка којима воде везе са</strong> одабране странице",
+ "rcfilters-filter-showlinkedto-option-label": "<strong>Странице ка којима воде везе са</strong> изабране странице",
+ "rcfilters-target-page-placeholder": "Унесите име странице (или категорије)",
"rcnotefrom": "Испод {{PLURAL:$5|је измена|су измене}} од <strong>$3, $4</strong> (до <strong>$1</strong> приказано).",
"rclistfromreset": "Ресетуј одабир датума",
"rclistfrom": "Прикажи нове измене почев од $2, $3",
"uploadstash-errclear": "Чишћење датотека није успело.",
"uploadstash-refresh": "Освежи списак датотека",
"uploadstash-thumbnail": "погледај минијатуру",
+ "uploadstash-exception": "Не могу сачувати датотеку у складиште ($1): „$2“.",
"uploadstash-bad-path": "Путања не постоји.",
"uploadstash-bad-path-invalid": "Путања није исправна.",
"uploadstash-bad-path-unknown-type": "Непознат тип „$1“.",
"uploadstash-file-not-found-no-remote-thumb": "Добављање минијатуре није успело: $1\nАдреса = $2",
"uploadstash-file-not-found-missing-content-type": "Недостаје заглавље за врсту садржаја.",
"uploadstash-file-not-found-not-exists": "Не могу наћи путању или ово није обична датотека.",
+ "uploadstash-file-too-large": "Не могу послужити датотеку већу од $1 {{PLURAL:$1|бајта|бајтова}}",
+ "uploadstash-not-logged-in": "Нико није пријављен. Датотеке морају припадати корисницима.",
"uploadstash-wrong-owner": "Ова датотека ($1) не припада тренутном кориснику.",
"uploadstash-no-such-key": "Нема таквог кључа ($1). Не могу уклонити.",
"uploadstash-no-extension": "Нема траженог додатка.",
"apisandbox-request-url-label": "Адреса захтева:",
"apisandbox-request-time": "Време за извршавање захтјева: {{PLURAL:$1|$1 милисекунда|$1 милисекунде|$1 милисекунди}}",
"apisandbox-results-fixtoken": "Исправи жетон и пошаљи поново",
+ "apisandbox-results-fixtoken-fail": "Нисам успео добити жетон „$1“.",
"apisandbox-alert-page": "Поља на страници су неисправна.",
"apisandbox-alert-field": "Вредност овог поља је неисправна.",
"apisandbox-continue": "Настави",
"revertpage": "Враћене измене [[Special:Contribs/$2|$2]] ([[User talk:$2|разговор]]) на последњу измену корисника [[User:$1|$1]]",
"revertpage-nouser": "Измене скривеног корисника су враћене на последњу измену {{GENDER:$1|корисника|кориснице}} [[User:$1|$1]]",
"rollback-success": "Измене {{GENDER:$1|корисника|кориснице}} {{GENDER:$3|$1}} су враћене на последњу измену {{GENDER:$2|корисника|кориснице}} {{GENDER:$4|$2}}.",
+ "rollback-success-notify": "Враћене измене корисника $1;\nвраћено на последњу измену корисника $2. [$3 Прикажи измене]",
"sessionfailure-title": "Сесија је окончана",
"sessionfailure": "Изгледа да постоји проблем с вашом сесијом;\nова радња је отказана да би се избегла злоупотреба.\nМолимо, поново пошаљите образац.",
"changecontentmodel": "Промени модел садржаја странице",
"changecontentmodel-cannot-convert": "Модел садржаја странице [[:$1]] се не може претворити у врсту $2.",
"changecontentmodel-nodirectediting": "Модел садржаја $1 не подржава изравно уређивање",
"changecontentmodel-emptymodels-title": "Нема доступних модела садржаја",
+ "changecontentmodel-emptymodels-text": "Модел садржаја странице [[:$1]] се не може претворити ни у једну другу врсту.",
"log-name-contentmodel": "Дневник промене модела садржаја",
"log-description-contentmodel": "Ова страница приказује измене у моделима садржаја страница и странице које су направљене са моделом садржаја који се разликује од подразумеваног.",
+ "logentry-contentmodel-new": "$1 је {{GENDER:$2|направио|направила}} страницу $3 с нестандардним моделом садржаја „$5“",
"logentry-contentmodel-change": "$1 је {{GENDER:$2|променио|променила}} модел садржаја странице $3 из „$4“ у „$5“",
"logentry-contentmodel-change-revertlink": "врати",
"logentry-contentmodel-change-revert": "врати",
"undeletehistorynoadmin": "Ова страница је обрисана.\nРазлог за брисање се налази испод, заједно с детаљима о кориснику који је изменио ову страницу пре брисања.\nТекст обрисаних измена је доступан само администраторима.",
"undelete-revision": "Обрисана измена странице $1 (дана $4; $5) од стране {{GENDER:$3|корисника|кориснице|корисника}} $3:",
"undeleterevision-missing": "Неисправна или непостојећа измена.\nМожда сте унели погрешну везу, или је измена враћена или уклоњена из архиве.",
+ "undeleterevision-duplicate-revid": "Не могу вратити {{PLURAL:$1|измену|$1 измене|$1 измена}} јер се {{PLURAL:$1|њен|њихов}} <code>rev_id</code> већ користи.",
"undelete-nodiff": "Претходне измене нису пронађене.",
"undeletebtn": "Врати",
"undeletelink": "погледај/врати",
"namespace": "Именски простор:",
"invert": "Обрни избор",
"tooltip-invert": "Означите ову кућицу да бисте сакрили измене на страницама у одабраном именском простору (и повезаним именским просторима, ако је означено)",
+ "tooltip-whatlinkshere-invert": "Означите ову кутију за сакривање веза са страница у изабраном именском простору.",
"namespace_association": "Повезани именски простор",
"tooltip-namespace_association": "Означите ову кућицу да бисте укључили и разговор или именски простор теме која је повезана с одабраним именским простором",
"blanknamespace": "(главни)",
"sp-contributions-newbies-sub": "За нове кориснике",
"sp-contributions-newbies-title": "Доприноси нових корисника",
"sp-contributions-blocklog": "дневник блокирања",
+ "sp-contributions-suppresslog": "обрисани {{GENDER:$1|кориснички}} доприноси",
"sp-contributions-deleted": "обрисани {{GENDER:$1|доприноси}}",
"sp-contributions-uploads": "отпремања",
"sp-contributions-logs": "дневници",
"autosumm-blank": "Уклоњен целокупан садржај странице",
"autosumm-replace": "Замењен садржај странице са „$1“",
"autoredircomment": "Преусмерење на [[$1]]",
- "autosumm-removed-redirect": "Уклоњено преусмјерење ка [[$1]]",
+ "autosumm-removed-redirect": "Уклоњено преусмерење ка [[$1]]",
"autosumm-changed-redirect-target": "Промењена одредишна страница у преусмерењу из [[$1]] у [[$2]]",
"autosumm-new": "Нова страница: $1",
"autosumm-newblank": "Направљена празна страница",
"specialpages-group-highuse": "Најчешће коришћене странице",
"specialpages-group-pages": "Спискови страница",
"specialpages-group-pagetools": "Алатке",
- "specialpages-group-wiki": "Ð\9fодаÑ\86и и алаÑ\82и",
+ "specialpages-group-wiki": "Ð\9fодаÑ\86и и алаÑ\82ке",
"specialpages-group-redirects": "Преусмеравање посебних страница",
"specialpages-group-spam": "Алатке против непожељних порука",
- "specialpages-group-developer": "Ð\9fÑ\80огÑ\80амеÑ\80Ñ\81ки алаÑ\82и",
+ "specialpages-group-developer": "Ð\9fÑ\80огÑ\80амеÑ\80Ñ\81ке алаÑ\82ке",
"blankpage": "Празна страница",
"intentionallyblankpage": "Ова страница је намерно остављена празном.",
"external_image_whitelist": " #Оставите овај ред онаквим какав јесте<pre>\n#Испод додајте одломке регуларних израза (само део који се налази између //)\n#Они ће бити упоређени с адресама спољашњих слика\n#Оне које се поклапају биће приказане као слике, а преостале као везе до слика\n#Редови који почињу с тарабом се сматрају коментарима\n#Сви уноси су осетљиви на мала и велика слова\n\n#Додајте све одломке регуларних израза изнад овог реда. Овај ред не дирајте</pre>",
"tag-list-wrapper": "([[Special:Tags|$1 {{PLURAL:$1|ознака|ознаке|ознака}}]]: $2)",
"tag-mw-contentmodelchange": "промена модела садржаја",
"tag-mw-contentmodelchange-description": "Измене које мењају модел садржаја странице",
- "tag-mw-new-redirect": "Ново преусмјерење",
+ "tag-mw-new-redirect": "Ново преусмерење",
"tag-mw-new-redirect-description": "Измене којима је направљено ново преусмерење или је страница измењена да буде преусмерење",
- "tag-mw-removed-redirect": "Уклоњено преусмјерење",
+ "tag-mw-removed-redirect": "Уклоњено преусмерење",
"tag-mw-removed-redirect-description": "Измене које мењају постојеће преусмерење у страницу без преусмерења",
"tag-mw-changed-redirect-target": "Промењено одредиште преусмерења",
"tag-mw-changed-redirect-target-description": "Измене које мењају одредиште преусмерења",
"tags-edit-chosen-no-results": "Одговарајуће ознаке нису пронађене",
"tags-edit-reason": "Разлог:",
"tags-edit-success": "Измене су примењене.",
+ "tags-edit-nooldid-title": "Неисправна одредишна измена",
+ "tags-edit-none-selected": "Изаберите бар једну ознаку коју треба додати или уклонити.",
"comparepages": "Упоређивање страница",
"compare-page1": "Страница 1",
"compare-page2": "Страница 2",
"compare-revision-not-exists": "Наведена измена не постоји.",
"diff-form": "Разлике",
"diff-form-oldid": "ID старе измене (необавезно)",
+ "diff-form-revid": "ID измене или разлике",
"diff-form-submit": "Прикажи разлике",
"permanentlink": "Стална веза",
"permanentlink-revid": "ID измене",
"htmlform-time-placeholder": "ЧЧ:ММ:СС",
"htmlform-datetime-placeholder": "ГГГГ-ММ-ДД ЧЧ:ММ:СС",
"htmlform-title-badnamespace": "[[:$1]] није у именском простору „{{ns:$2}}“.",
+ "htmlform-title-not-creatable": "Страница „$1“ се не може направити",
"htmlform-title-not-exists": "$1 не постоји.",
"htmlform-user-not-exists": "<strong>$1</strong> не постоји.",
"htmlform-user-not-valid": "<strong>$1</strong> није исправно корисничко име.",
"authpage-cannot-link": "Не могу започети спајање налога.",
"cannotauth-not-allowed-title": "Приступ је одбијен",
"cannotauth-not-allowed": "Није Вам дозвољено да користите ову страницу",
- "changecredentials": "Промјена акредитива",
+ "changecredentials": "Промена акредитива",
"changecredentials-submit": "Промени",
"removecredentials": "Уклањање акредитива",
"credentialsform-provider": "Врста акредитива:",
"rcfilters-invalid-filter": "Ogiltigt filter",
"rcfilters-empty-filter": "Inga aktiva filter. Alla bidrag visas.",
"rcfilters-filterlist-title": "Filter",
- "rcfilters-filterlist-whatsthis": "Hur fungerar desse?",
+ "rcfilters-filterlist-whatsthis": "Hur fungerar dessa?",
"rcfilters-filterlist-feedbacklink": "Berätta vad du tycker om dessa (nya) filtreringsverktyg",
"rcfilters-highlightbutton-title": "Markera resultat",
"rcfilters-highlightmenu-title": "Välj en färg",
"recentchangeslinked-feed": "İlgili değişiklikler",
"recentchangeslinked-toolbox": "İlgili değişiklikler",
"recentchangeslinked-title": "\"$1\" ile ilişkili değişiklikler",
- "recentchangeslinked-summary": "Aşağıdaki liste, belirtilen sayfaya (ya da belirtilen kategorinin üyelerine) bağlantı veren sayfalarda yapılan son değişikliklerin listesidir.\n[[Special:Watchlist|İzleme listenizdeki]] sayfalar <strong>kalın<strong> olarak belirtilmiştir.",
+ "recentchangeslinked-summary": "Aşağıdaki liste, belirtilen sayfaya (ya da belirtilen kategorinin üyelerine) bağlantı veren sayfalarda yapılan son değişikliklerin listesidir.\n[[Special:Watchlist|İzleme listenizdeki]] sayfalar <strong>kalın</strong> olarak belirtilmiştir.",
"recentchangeslinked-page": "Sayfa adı:",
"recentchangeslinked-to": "Belirtilen sayfadan verilenler yerine, sayfaya verilen bağlantıları göster.",
"recentchanges-page-added-to-category": "[[:$1]] kategoriye eklendi",
"templatesusedsection": "اِس قطعہ میں مستعمل {{PLURAL:$1|سانچہ|سانچے}}:",
"template-protected": "(محفوظ شدہ)",
"template-semiprotected": "(نیم محفوظ)",
- "hiddencategories": "یہ صفحہ {{PLURAL:$1|1 چُھپے زمرے|$1 چُھپے زمرہ جات}} میں شامل ہے:",
+ "hiddencategories": "اس صفحہ میں {{PLURAL:$1|1 پوشیدہ زمرے|$1 پوشیدہ زمرہ جات}} شامل ہیں:",
"nocreatetext": "{{SITENAME}} نے نئے صفحات تخلیق کرنے پر پابندی لگا رکھی ہے۔\nتاہم آپ پہلے سے موجود صفحات میں ترمیم کر سکتے ہیں یا [[Special:UserLogin|اپنے کھاتے ميں داخل ہوں یا کھاتہ بنائیں]]۔",
"nocreate-loggedin": "آپ کو نئے صفحات تخلیق کرنے کی اجازت نہیں ہے.",
"sectioneditnotsupported-title": "قطعہ کی تدوین حمایت شدہ نہیں ہے",
--- /dev/null
+{
+ "@metadata": {
+ "authors": [
+ "Amara-Amaziɣ",
+ "Aslmad mohamed belarhzali",
+ "Gagnabil",
+ "Mdb897",
+ "YesIn",
+ "ⵕⴰⵊⵉ"
+ ]
+ },
+ "sunday": "ⴰⵙⴰⵎⴰⵙ",
+ "monday": "ⴰⵢⵏⴰⵙ",
+ "tuesday": "ⴰⵙⵉⵏⴰⵙ",
+ "wednesday": "ⴰⴽⵔⴰⵙ",
+ "thursday": "ⴰⴽⵡⴰⵙ",
+ "friday": "ⴰⵙⵉⵎⵡⴰⵙ",
+ "saturday": "ⴰⵙⵉⴹⵢⴰⵙ",
+ "sun": "ⴰⵙⴰ",
+ "mon": "ⴰⵢⵏ",
+ "tue": "ⴰⵙⵏ",
+ "wed": "ⴰⴽⵕ",
+ "thu": "ⴰⴽⵡ",
+ "fri": "ⴰⵙⵎ",
+ "sat": "ⴰⵙⴹ",
+ "january": "ⵉⵏⵏⴰⵢⵔ",
+ "february": "ⴱⵕⴰⵢⵕ",
+ "march": "ⵎⴰⵕⵚ",
+ "april": "ⵉⴱⵔⵉⵔ",
+ "may_long": "ⵎⴰⵢⵢⵓ",
+ "june": "ⵢⵓⵏⵢⵓ",
+ "july": "ⵢⵓⵍⵢⵓⵣ",
+ "august": "ⵖⵓⵛⵜ",
+ "september": "ⵛⵓⵜⴰⵏⴱⵉⵔ",
+ "october": "ⴽⵜⵓⴱⵔ",
+ "november": "ⵏⵓⵡⴰⵏⴱⵉⵔ",
+ "december": "ⴷⵓⵊⴰⵏⴱⵉⵔ",
+ "january-gen": "ⵉⵏⵏⴰⵢⵔ",
+ "february-gen": "ⴱⵕⴰⵢⵕ",
+ "march-gen": "ⵎⴰⵕⵚ",
+ "april-gen": "ⵉⴱⵔⵉⵔ",
+ "may-gen": "ⵎⴰⵢⵢⵓ",
+ "june-gen": "ⵢⵓⵏⵢⵓ",
+ "july-gen": "ⵢⵓⵍⵢⵓⵣ",
+ "august-gen": "ⵖⵓⵛⵜ",
+ "september-gen": "ⵛⵓⵜⴰⵏⴱⵉⵔ",
+ "october-gen": "ⴽⵜⵓⴱⵔ",
+ "november-gen": "ⵏⵓⵡⴰⵏⴱⵉⵔ",
+ "december-gen": "ⴷⵓⵊⴰⵏⴱⵉⵔ",
+ "jan": "ⵉⵏⵏ",
+ "feb": "ⴱⵕⴰ",
+ "mar": "ⵎⴰⵕ",
+ "apr": "ⵉⴱⵔ",
+ "may": "ⵎⴰⵢ",
+ "jun": "ⵢⵓⵏ",
+ "jul": "ⵢⵓⵍ",
+ "aug": "ⵖⵓⵛ",
+ "sep": "ⵛⵓⵜ",
+ "oct": "ⴽⵟⵓ",
+ "nov": "ⵏⵓⵡ",
+ "dec": "ⴷⵓⵊ",
+ "january-date": "$1 ⵉⵏⵏⴰⵢⵏ",
+ "february-date": "$1 ⴱⵕⴰⵢⵕ",
+ "march-date": "$1 ⵎⴰⵕⵚ",
+ "april-date": "$1 ⵉⴱⵔⵉⵔ",
+ "may-date": "$1 ⵎⴰⵢⵢⵓ",
+ "june-date": "$1 ⵢⵓⵏⵢⵓ",
+ "july-date": "$1 ⵢⵓⵍⵢⵓⵣ",
+ "august-date": "$1 ⵖⵓⵛⵜ",
+ "september-date": "$1 ⵛⵓⵜⴰⵏⴱⵉⵔ",
+ "november-date": "$1 ⵏⵓⵡⴰⵏⴱⵉⵔ",
+ "december-date": "$1 ⴷⵓⵊⴰⵏⴱⵉⵔ",
+ "period-am": "ⴼⵡ",
+ "period-pm": "ⵣⵡ",
+ "pagecategories": "{{PLURAL:$1|ⴰⵙⵎⵉⵍ|ⵉⵙⵎⵉⵍⵏ}}",
+ "category_header": "Tasniwin g usmil \"$1\"",
+ "subcategories": "ⵉⴷⵓⵙⵎⵉⵍⵏ",
+ "category-media-header": "ⵎⵉⴷⵢⴰ ⴳ ⵓⵙⵎⵉⵍ \"$1\"",
+ "hidden-categories": "{{PLURAL:$1|ⴰⵙⵎⵉⵍ ⵉⵎⵎⵏⵜⵍⵏ|ⵉⵙⵎⵉⵍⵏ ⵎⵎⵏⵜⵍⵏⵉⵏ}}",
+ "about": "ⵅⴼ",
+ "article": "ⵜⴰⵙⵏⴰ ⵏ ⵜⵓⵎⴰⵢⵜ",
+ "newwindow": "(ⴰⴷ ⵉⵏⵏⵓⵔⵥⵎ ⴳ ⵓⵙⴽⵙⵍ ⴰⵎⴰⵢⵏⵓ)",
+ "cancel": "ⵙⵔ",
+ "moredotdotdot": "ⵓⴳⴳⴰⵔ...",
+ "mypage": "ⵜⴰⵙⵏⴰ",
+ "mytalk": "ⵎⵙⴳⴷⴰⵍ",
+ "anontalk": "ⵎⵙⴰⵡⴰⵍ",
+ "navigation": "ⴰⵙⵜⴰⵔⴰ",
+ "and": " ⴷ",
+ "namespaces": "ⵜⵉⵔⵉⵡⵉⵏ ⵏ ⵉⵙⵎⴰⵡⵏ",
+ "variants": "ⵜⵉⵎⵣⴰⵔⴰⵢⵉⵏ",
+ "navigation-heading": "ⵓⵎⵓⵖ ⵏ ⵓⵙⵙⴰⵔⴰ",
+ "errorpagetitle": "ⵜⴰⵣⴳⵍⵜ",
+ "returnto": "ⴰⵖⵓⵍ ⵖⵔ $1.",
+ "tagline": "ⵙⴳ {{SITENAME}}",
+ "help": "ⵜⵉⵡⵉⵙⵉ",
+ "search": "ⵔⵣⵓ",
+ "searchbutton": "ⵔⵣⵓ",
+ "go": "ⵔⵣⵓ",
+ "searcharticle": "ⴷⴷⵓ",
+ "history": "ⴰⵎⵣⵔⴰⵢ ⵏ ⵜⴰⵙⵏⴰ",
+ "history_short": "ⴰⵎⵣⵔⵓⵢ",
+ "history_small": "ⴰⵎⵣⵔⵓⵢ",
+ "printableversion": "ⵜⵓⵏⵖⵉⵍⵜ ⵉⵜⵜⵡⴰⵙⵉⴳⴳⵣⵏ",
+ "permalink": "ⴰⵙⵖⵏ ⴰⵎⵖⵍⴰⵍ",
+ "view": "ⵙⴽⵏ",
+ "view-foreign": "ⵙⴽⵏ ⴳ $1",
+ "edit": "ⵙⵏⴼⵍ",
+ "create": "ⵙⵏⵓⵍⴼⵓ",
+ "delete": "ⴽⴽⵙ",
+ "protect_change": "ⵙⵏⴼⵍ",
+ "newpage": "ⵜⴰⵙⵏⴰ ⵜⴰⵎⴰⵢⵏⵓⵜ",
+ "talkpagelinktext": "ⵎⵙⴰⵡⴰⵍ",
+ "specialpage": "ⵜⴰⵙⵏⵉⵡⵉⵏ ⵥⵍⵉⵏⵉⵏ",
+ "personaltools": "ⵉⵎⴰⵙⵙⵏ ⵓⴷⵎⴰⵡⴰⵏⵏ",
+ "talk": "ⴰⵎⵙⴰⵡⴰⵍ",
+ "views": "ⵜⴰⵏⵏⴰⵢⵉⵏ",
+ "toolbox": "ⵉⵎⴰⵙⵙⵏ",
+ "imagepage": "ⵥⵕ ⵜⴰⵙⵏⴰ ⵏ ⵓⴼⴰⵢⵍⵓ",
+ "mediawikipage": "ⵥⵕ ⵜⴰⵙⵏⴰ ⵏ ⵜⵓⵣⵓⵏⵜ",
+ "viewhelppage": "ⵥⵕ ⵜⴰⵙⵏⴰ ⵏ ⵜⵡⵉⵙⵉ",
+ "otherlanguages": "ⵙ ⵜⵓⵜⵍⴰⵢⵉⵏ ⵢⴰⴹⵏⵉⵏ",
+ "redirectedfrom": "(ⵓⵖⵓⵍ ⵙⴳ $1)",
+ "redirectto": "ⵙⵏⵉⵍ ⵖⵔ:",
+ "lastmodifiedat": "ⵜⵏⵏⴼⵍ ⵜⴰⵙⵏⴰ ⴰ ⵉ ⵜⵉⴽⴽⵍⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ ⴳ $1, ⴳ $2.",
+ "jumpto": "ⵏⴹⵓ ⵖⵔ:",
+ "jumptonavigation": "ⴰⵙⵜⴰⵔⴰ",
+ "jumptosearch": "ⵔⵣⵓ",
+ "aboutsite": "ⵖⴼ {{SITENAME}}",
+ "aboutpage": "Project:ⵅⴼ",
+ "copyrightpage": "{{ns:project}}:ⵉⵣⵔⴼⴰⵏ ⵏ ⵓⵙⵏⵖⵍ",
+ "currentevents": "ⵜⵉⵎⵙⴰⵔⵉⵏ ⵜⵉⵎⵉⵔⴰⵏⵉⵏ",
+ "currentevents-url": "Project:ⵜⵉⵎⵙⴰⵔⵉⵏ ⵜⵉⵎⵉⵔⴰⵏⵉⵏ",
+ "disclaimers": "ⴰⵙⵍⵉⴳⵍ",
+ "disclaimerpage": "Project:ⴰⵙⵎⵉⴳⵍ ⴰⵎⴰⵜⴰⵢ",
+ "edithelp": "ⵜⵉⵡⵉⵙⵉ ⵏ ⵓⵙⵏⴼⵍ",
+ "helppage-top-gethelp": "ⵜⵉⵡⵉⵙⵉ",
+ "mainpage": "ⵜⴰⵙⵏⴰ ⵏ ⵓⵙⵏⵓⴱⴳ",
+ "mainpage-description": "ⵜⴰⵙⵏⴰ ⵏ ⵓⵙⵏⵓⴱⴳ",
+ "policy-url": "Project:ⵜⴰⵙⵔⵜⵉⵜ",
+ "portal": "ⴰⵡⵡⵓⵔ ⵏ ⵜⴳⵔⴰⵡⵜ",
+ "portal-url": "Project:ⴰⵡⵡⵓⵔ ⵏ ⵜⴳⵔⴰⵡⵜ",
+ "privacy": "ⵜⴰⵙⵔⵜⵉⵜ ⵏ ⵜⵉⵏⵏⵓⵜⵍⴰ",
+ "privacypage": "Project:ⵜⴰⵙⵔⵜⵉⵜ ⵏ ⵜⵉⵏⵏⵓⵜⵍⴰ",
+ "ok": "ⵡⴰⵅⵅⴰ",
+ "retrievedfrom": "ⵉⵜⵜⵓⵙⴰⵖⵓⵍ ⵙⴳ $1",
+ "newmessageslinkplural": "{{PLURAL:$1|ⵜⵓⵣⵉⵏⵜ ⵜⴰⵎⴰⵢⵏⵓⵜ|999=ⵜⵓⵣⵉⵏⵉⵏ ⵜⵉⵎⴰⵢⵏⵓⵜⵉⵏ}}",
+ "youhavenewmessagesmulti": "ⵍⵍⴰⵏ ⵖⵓⵔⴽ ⵜⵓⵣⵉⵏⵉⵏ ⵜⵉⵎⴰⵢⵏⵓⵜⵉⵏ ⴳ $1",
+ "editsection": "ⵙⵏⴼⵍ",
+ "editold": "ⵙⵏⴼⵍ",
+ "viewsourceold": "ⵙⴽⵏ ⴰⵙⴰⴳⵎ",
+ "editlink": "ⵙⵏⴼⵍ",
+ "viewsourcelink": "ⵙⴽⵏ ⴰⵙⴰⴳⵎ",
+ "editsectionhint": "ⵙⵏⴼⵍ ⵜⵉⴳⵣⵎⵉ: $1",
+ "toc": "ⵜⵓⵎⴰⵢⵉⵏ",
+ "showtoc": "ⵙⴽⵏ",
+ "hidetoc": "ⵙⵙⵏⵜⵍ",
+ "confirmable-yes": "ⵢⴰⵀ",
+ "confirmable-no": "ⵓⵀⵓ",
+ "viewdeleted": "ⵥⵕ $1?",
+ "site-atom-feed": "ⴰⵏⴳⵉ ⵏ ⴰⵜⵓⵎ ⵏ $1",
+ "red-link-title": "$1 (ⵜⴰⵙⵏⴰ ⵓⵔ ⵜⵍⵍⵉ)",
+ "nstab-main": "ⵜⴰⵙⵏⴰ",
+ "nstab-user": "ⵜⴰⵙⵏⴰ ⵏ ⵓⵙⵎⵔⴰⵙ",
+ "nstab-special": "ⵜⴰⵙⵏⴰ ⵉⵥⵍⵉⵏ",
+ "nstab-project": "ⵜⴰⵙⵏⴰ ⵏ ⵓⵙⵏⵜⵉ",
+ "nstab-image": "ⴰⴼⴰⵢⵍⵓ",
+ "nstab-mediawiki": "ⵜⵓⵣⵉⵏⵜ",
+ "nstab-template": "ⵜⴰⵙⴽⴽⴰ",
+ "nstab-help": "ⵜⴰⵙⵏⴰ ⵏ ⵜⵡⵉⵙⵉ",
+ "nstab-category": "ⴰⵙⵎⵉⵍ",
+ "mainpage-nstab": "ⵜⴰⵙⵏⴰ ⵏ ⵓⵙⵏⵓⴱⴳ",
+ "error": "ⵜⴰⵣⴳⵍⵜ",
+ "databaseerror-error": "ⵜⴰⵣⴳⵍⵜ: $1",
+ "viewsource": "ⵙⴽⵏ ⴰⵙⴰⴳⵎ",
+ "userlogin-yourname": "ⵉⵙⵎ ⵏ ⵓⵙⵎⵔⴰⵙ",
+ "userlogin-yourname-ph": "ⵙⵙⴽⵛⵎ ⵉⵙⵎ ⵏ ⵓⵏⵙⵙⵎⵔⵙ ⵏⵏⵎ/ⴽ",
+ "yourpassword": "ⵜⴰⴳⵓⵔⵉ ⵏ ⵓⵣⵔⴰⵢ",
+ "userlogin-yourpassword": "ⵜⴰⴳⵓⵔⵉ ⵏ ⵓⵣⵔⴰⵢ",
+ "userlogin-yourpassword-ph": "ⵙⵙⴽⵛⵎ ⵜⴰⴳⵓⵔⵉ ⵏ ⵓⵣⵔⴰⵢ ⵏⵏⴽ",
+ "createacct-yourpassword-ph": "ⵙⵙⴽⵛⵎ ⴽⵔⴰ ⵏ ⵜⴳⵓⵔⵉ ⵏ ⵓⵣⴰⵔⵢ",
+ "createacct-yourpasswordagain": "ⵙⵙⵍⴽⵏ ⵜⴰⴳⵓⵔⵉ ⵏ ⵓⵣⵔⴰⵢ",
+ "createacct-yourpasswordagain-ph": "ⵙⵙⴽⵛⵎ ⴷⴰⵖ ⵜⴰⴳⵓⵔⵉ ⵏ ⵓⵣⵔⴰⵢ",
+ "login": "ⴽⵛⵎ",
+ "login-security": "ⵙⵙⵉⴷⴻⴷ ⵜⴰⵎⴰⴳⵉⵜ ⵏⵏⴽ",
+ "logout": "ⴼⴼⵖ",
+ "userlogout": "ⴼⴼⵖ",
+ "userlogin-noaccount": "ⵓⵔ ⵖⵓⵔⴽ ⵉⵍⵍⵉ ⵓⵎⵉⴹⴰⵏ?",
+ "createaccount": "ⵔⵥⵎ ⴽⵔⴰ ⵏ ⵓⵎⵉⴹⴰⵏ",
+ "userlogin-resetpassword-link": "ⵜⴻⵜⵜⵓⴷ ⵜⴰⴳⵓⵔⵉ ⵏ ⵓⵣⵔⴰⵢ ⵏⵏⵎ/ⴽ?",
+ "createacct-emailoptional": "ⵉⵎⴰⵢⵍ (ⴰⵔⵓⵛⵛⵉⵍ)",
+ "createacct-email-ph": "ⵙⵙⴽⵛⵎ ⴰⵏⵙⴰ ⵉⵎⴰⵢⵍ ⵏⵏⴽ",
+ "createacct-reason": "ⵜⴰⵎⵏⵜⵉⵍⵜ",
+ "createacct-submit": "ⵔⵥⵎ ⴰⵎⵉⴹⴰⵏ {{GENDER:|ⵏⵏⴽ|ⵏⵏⵎ}}",
+ "createacct-benefit-heading": "{{SITENAME}} ⵜⴻⵜⵜⵓⴽ ⵙⴳ ⵎⵉⴷⴷⵏ ⴰⵎ ⴽⵢⵢⵉⵏ",
+ "createacct-benefit-body1": "{{PLURAL:$1|ⴰⵙⵏⴼⵍ|ⵉⵙⵏⴼⴰⵍ}}",
+ "createacct-benefit-body2": "{{PLURAL:$1|ⵜⴰⵙⵏⴰ|ⵜⴰⵙⵏⵉⵡⵉⵏ}}",
+ "createacct-benefit-body3": "{{PLURAL:$1|ⴰⵏⴰⵎⵓ|ⵉⵏⴰⵎⵓⵜⵏ}} {{PLURAL:$1|ⴰⵎⴳⴳⴰⵔⵓ|ⵉⵎⴳⴳⵓⵔⴰ}}",
+ "loginlanguagelabel": "ⵜⵓⵜⵍⴰⵢⵜ: $1",
+ "pt-login": "ⴽⵛⵎ",
+ "pt-login-button": "ⴽⵛⵎ",
+ "pt-createaccount": "ⵙⵏⴼⵍⵓⵍ ⴰⵎⵉⴹⴰⵏ",
+ "pt-userlogout": "ⴼⴼⵖ",
+ "botpasswords-label-create": "ⵙⵏⵓⵍⴼⵓ",
+ "botpasswords-label-delete": "ⴽⴽⵙ",
+ "passwordreset": "ⵔⴰⵔ ⴷ ⵜⴰⴳⵓⵔⵉ ⵏ ⵓⵣⵔⴰⵢ",
+ "bold_sample": "ⴰⴹⵔⵉⵙ ⴰⵣⵓⵔⴰⵔ",
+ "bold_tip": "ⴰⴹⵔⵉⵙ ⴰⵣⵓⵔⴰⵔ",
+ "italic_sample": "ⴰⴹⵔⵉⵙ ⵓⵣⵍⵉⴳ",
+ "italic_tip": "ⴰⴹⵔⵉⵙ ⵓⵣⵍⵉⴳ",
+ "link_sample": "ⴰⵣⵡⵍ ⵏ ⵓⵙⵖⵓⵏ",
+ "link_tip": "ⴰⵙⵖⵓⵏ ⴰⴳⵯⵏⵙⴰⵏ",
+ "extlink_sample": "http://www.example.com ⴰⵣⵡⵍ ⵏ ⵓⵙⵖⵓⵏ",
+ "extlink_tip": "ⴰⵙⵖⵓⵏ ⴰⴱⵕⵕⴰⵏⵉ (ⴽⵜⵢ ⴰⵣⵡⵉⵔ http://)",
+ "image_tip": "ⴰⴼⴰⵢⵍⵓ ⵉⵜⵜⵓⵙⵉⴷⴼⵏ",
+ "media_tip": "ⴰⵙⵖⵓⵏ ⵏ ⵓⴼⴰⵢⵍⵓ",
+ "hr_tip": "ⵉⵣⵔⵉⵔⵉ ⴰⴳⵍⴰⵡⴰⵏ (ⵓⵔ ⵜⵄⵢⵢⵇ)",
+ "summary": "ⴰⵙⴳⵣⵍ:",
+ "minoredit": "ⵡⴰ ⴷ ⴰⵙⵏⴼⵍ ⵓⵎⵥⵉⵢ",
+ "watchthis": "ⵎⵎⴰⵜⵔ ⵜⴰⵙⵏⴰ ⴰⴷ",
+ "savearticle": "ⵃⴹⵓ ⵜⴰⵙⵏⴰ",
+ "showdiff": "ⵙⵎⴰⵍ ⵉⵙⵏⴼⵍⵏ",
+ "loginreqlink": "ⴽⵛⵎ",
+ "newarticle": "(ⴰⵎⴰⵢⵏⵓ)",
+ "continue-editing": "ⴷⴷⵓ ⵙ ⴰⵏⵙⴰ ⵏ ⵓⵙⵏⴼⵍ",
+ "editing": "ⴰⵙⵏⴼⵍ ⵏ $1",
+ "creating": "ⴰⵙⵏⵓⵍⴼⵓ ⵏ $1",
+ "editingsection": "ⵙⵏⴼⵍ ⴰⴳⵣⵣⵓⵎ $1",
+ "templatesused": "{{PLURAL:$1|ⵜⴰⵙⴽⴽⴰ|ⵜⴰⵙⴽⴽⵉⵡⵉⵏ}} {{PLURAL:$1|ⵉⵜⵜⵓⵙⵎⵔⵙⵏ|ⵜⵜⵓⵙⵎⵔⵙⵏⵉⵏ}} ⴳ ⵜⴰⵙⵏⴰ ⴰⴷ:",
+ "template-protected": "(ⵉⵜⵜⵢⴰⵔⴰⵢ)",
+ "hiddencategories": "ⵜⴰⵙⵏⴰ ⴰ ⴷ ⴰⴳⵎⴰⵎ ⵏ {{PLURAL:$1|1 ⵏⵜⵍ ⴰⵙⵎⵉⵍ|$1 ⵏⵜⵍ ⵉⵙⵎⵉⵍⵏ}}:",
+ "content-model-wikitext": "wikitext",
+ "revisionasof": "ⵜⵓⵏⵖⵉⵍⵜ ⵏ $1",
+ "previousrevision": "ⵜⵓⵏⵖⵉⵍⵜ ⵜⴰⵇⴱⵓⵔⵜ",
+ "cur": "ⵎⵔⵏ",
+ "histfirst": "ⴰⵇⴱⵓⵔ",
+ "histlast": "ⴰⵎⴰⵢⵏⵓ",
+ "revdelete-show-file-submit": "ⵢⴰⵀ",
+ "revdelete-log": "ⵜⴰⵎⵏⵜⵉⵍⵜ:",
+ "mergehistory-reason": "ⵜⴰⵎⵏⵜⵉⵍⵜ:",
+ "lineno": "ⵉⵣⵔⵉⵔⵉ $1:",
+ "editundo": "ⵙⵔ",
+ "searchresults": "ⵜⵉⵢⴰⴼⵓⵜⵉⵏ ⵏ ⵓⵔⵣⵣⵓ",
+ "searchresults-title": "ⵜⵉⵢⴰⴼⵓⵜⵉⵏ ⵏ ⵓⵔⵣⵣⵓ ⵖⴼ \"$1\"",
+ "nextn": "{{PLURAL:$1|$1}} ⴰⵎⴹⴼⵉⵔ",
+ "shown-title": "ⵙⵎⴰⵍ $1 {{PLURAL:$1|ⵜⵢⴰⴼⵓⵜ|ⵜⵢⴰⴼⵓⵜⵉⵏ}} ⵉ ⵜⴰⵙⵏⴰ",
+ "viewprevnext": "ⵥⵕ ($1 {{int:pipe-separator}} $2) ($3)",
+ "searchprofile-articles": "ⵜⴰⵙⵏⵉⵡⵉⵏ ⵏ ⵜⵓⵎⴰⵢⵜ",
+ "searchprofile-images": "ⵎⵓⵍⵜⵉⵎⵉⴷⵢⴰ",
+ "searchprofile-everything": "ⴽⵓ ⵜⴰⵖⴰⵡⵙⴰ",
+ "searchprofile-advanced": "ⵓⵏⵣⵉⵢ",
+ "searchprofile-articles-tooltip": "ⵔⵣⵓ ⴳ $1",
+ "searchprofile-images-tooltip": "ⵔⵣⵓ ⵖⴼ ⵉⴼⵓⵢⵍⴰ",
+ "searchprofile-everything-tooltip": "ⵔⵣⵓ ⴳ ⵜⵓⵎⴰⵢⵜ ⴰⴽⴽⵯ (ⵓⵍⴰ ⴳ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵏ ⵓⵎⵙⴰⵡⴰⵍ)",
+ "searchprofile-advanced-tooltip": "ⵔⵣⵓ ⴳ ⵜⵉⵔⵉⵡⵉⵏ ⵏ ⵉⵙⵎⴰⵡⵏ ⵉⵜⵡⴰⵏⵉⵎⴰⵏ",
+ "search-result-size": "$1 ({{PLURAL:$2|1 ⵜⴳⵓⵔⵉ|$2 ⵜⴳⵓⵔⵉⵡⵉⵏ}})",
+ "search-suggest": "ⵉⵙ ⵜⵅⵙⴷ ⴰⴷ ⵜⵉⵏⵉⴷ: $1",
+ "search-interwiki-more": "(ⵓⴳⴳⴰⵔ)",
+ "searchall": "ⴰⴽⴽ",
+ "mypreferences": "ⵉⵙⵎⵏⵢⵉⴼⵏ",
+ "prefs-files": "ⵉⴼⴰⵢⵍⵓⵜⵏ",
+ "youremail": "ⵉⵎⴰⵢⵍ:",
+ "yourlanguage": "ⵜⵓⵜⵍⴰⵢⵜ:",
+ "yournick": "ⴰⵙⴳⵎⴹ ⴰⵎⴰⵢⵏⵓ:",
+ "email": "ⵉⵎⴰⵢⵍ",
+ "prefs-signature": "ⴰⵙⴳⵎⴹ",
+ "userrights-reason": "ⵜⴰⵎⵏⵜⵉⵍⵜ:",
+ "right-upload": "ⵙⴽⵜⵔ ⵉⴼⴰⵢⵍⵓⵜⵏ",
+ "right-upload_by_url": "ⵙⴽⵜⵔ ⴰⴼⴰⵢⵍⵓ ⵙⴳ URL",
+ "right-writeapi": "ⴰⵙⵙⵎⵔⵙ ⵏ API ⵉ ⵜⵉⵔⵔⴰ",
+ "right-delete": "ⴽⴽⵙ ⵜⴰⵙⵏⵉⵡⵉⵏ",
+ "newuserlogpage": "ⴰⵔⵔⴰ ⵏ ⵉⵙⵏⴼⴰⵍⵏ ⵏ ⵉⵎⵉⴹⴰⵏⴻⵏ ⵏ ⵉⵙⵙⵎⵔⴰⵙⵏ",
+ "action-edit": "ⵙⵏⴼⵍ ⵜⴰⵙⵏⴰ ⴰ",
+ "action-createpage": "ⵙⵏⵓⵍⴼⵓ ⵜⴰⵙⵏⴰ ⴰ",
+ "enhancedrc-history": "ⴰⵎⵣⵔⴰⵢ",
+ "recentchanges": "ⵉⵙⵏⴼⵍⵏ ⵉⵎⴳⴳⵓⵔⴰ",
+ "recentchanges-legend": "ⵜⵉⴷⵖⵔⵉⵏ ⵏ ⵉⵙⵏⴼⵍⵏ ⵉⵎⴳⴳⵓⵔⴰ",
+ "recentchanges-label-newpage": "ⵉⵙⵏⴼⵍⵓⵍ ⵓⵙⵏⴼⵍ ⴰ ⵢⴰⵜ ⵜⴰⵙⵏⴰ ⵜⴰⵎⴰⵢⵏⵓⵜ",
+ "recentchanges-label-minor": "ⵡⴰ ⴷ ⴰⵙⵏⴼⵍ ⵓⵎⵥⵉⵢ",
+ "recentchanges-label-bot": "ⴰⵙⵏⴼⵍ ⴰⴷ ⵉⵜⵡⴰⵙⴽⴰⵔ ⵙ ⵓⴱⵓⵜ",
+ "rclistfrom": "ⵙⴽⵏ ⵉⵙⵏⴼⵍⵏ ⵉⵎⴰⵢⵏⵓⵜⵏ ⵙⴳ $2,$3",
+ "rcshowhideminor": "$1 ⵉⵙⵏⴼⴰⵍ ⵓⵎⵥⵉⵢⵏ",
+ "rcshowhideminor-show": "ⵙⴽⵏ",
+ "rcshowhideminor-hide": "ⵙⵙⵏⵜⵍ",
+ "rcshowhidebots": "$1 {{PLURAL:$1|ⴱⵓⵜ|ⵉⴷ ⴱⵓⵜ}}",
+ "rcshowhidebots-show": "ⵙⵎⴰⵍ",
+ "rcshowhidebots-hide": "ⵙⵙⵏⵜⵍ",
+ "rcshowhideliu-show": "ⵙⴽⵏ",
+ "rcshowhideliu-hide": "ⵙⵙⵏⵜⵍ",
+ "rcshowhideanons": "$1 ⵉⵏⵙⵙⵎⵔⵙⵏ ⵉⵔⵓⵙⵙⵉⵏⵏ",
+ "rcshowhideanons-show": "ⵙⴽⵏ",
+ "rcshowhideanons-hide": "ⵙⵙⵏⵜⵍ",
+ "rcshowhidemine": "$1 ⵉⵙⵏⴼⴰⵍ ⵉⵏⵓ",
+ "rcshowhidemine-show": "ⵙⴽⵏ",
+ "rcshowhidemine-hide": "ⵙⵙⵏⵜⵍ",
+ "rclinks": "ⵙⴽⵏ ⵉⵙⵏⴼⵉⵍⵏ $1 ⵉⵎⴳⴳⵓⵔⴰ ⴳ ⵓⵙⵙⴰⵏ $2 ⵉⵎⴳⴳⵓⵔⴰ",
+ "diff": "ⵎⵣⵔⵢ",
+ "hist": "ⵎⵣⵔⵢ",
+ "hide": "ⵙⵙⵏⵜⵍ",
+ "show": "ⵙⴽⵏ",
+ "minoreditletter": "ⵎ",
+ "newpageletter": "ⵎⵢⵏ",
+ "boteditletter": "ⴱⵓⵜ",
+ "rc-change-size-new": "$1 {{PLURAL:$1|ⴱⴰⵢⵜ|ⵉⴷ ⴱⴰⵢⵜ}} ⴷⴼⴼⵉⵔ ⵏ ⵓⵙⵏⴼⵍ",
+ "recentchangeslinked": "ⵉⵙⵏⴼⴰⵍ ⵏⵏⴰ ⵖⵓⵔ ⴰⵙⵙⴰⵖ",
+ "recentchangeslinked-toolbox": "ⵉⵙⵏⴼⵍⵏ ⵇⵇⵏⵏⵉⵏ",
+ "recentchangeslinked-title": "ⵉⵙⵏⴼⵍⵏ ⵇⵇⵏⵏⵉⵏ ⵙ $1",
+ "recentchangeslinked-summary": "ⵙⴽⵛⵎ ⵉⵙⵎ ⵏ ⵜⴰⵙⵏⴰ ⵃⵎⴰ ⴰⴷ ⵜⵣⵔⴷ ⵉⵙⵏⴼⴰⵍⵏ ⵉⵎⴰⵢⵏⵓⵜⵏ ⴳ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵙⴳ ⵏⵖ ⵖⵔ ⵜⴰⵙⵏⴰ ⴰⴷ (ⵃⵎⴰ ⴰⴷ ⵜⵣⵔⴷ ⵉⴳⵎⴰⵎⵏ ⵏ ⴽⵔⴰ ⵏ ⵓⵙⵎⵉⵍ, ⵙⴽⵛⵎ ⴰⵙⵎⵉⵍ: ⵉⵙⵎ ⵏ ⵓⵙⵎⵉⵍ). ⵉⵙⵏⴼⵍⵏ ⵏ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵉⵍⵍⴰⵏ ⴳ [[Special:Watchlist|ⵜⴰⵍⴳⴰⵎⵜ ⵏ ⵓⴹⴼⴼⵓⵔ ⵏⴽ]] ⵔⴰⴷ ⵜⵢⴰⵔⴰⵏ ⵙ <strong>ⵓⵣⵓⵔⴰⵔ</strong>",
+ "recentchangeslinked-page": "ⵉⵙⵎ ⵏ ⵜⴰⵙⵏⴰ:",
+ "upload": "ⵙⴽⵜⵔ ⴰⴼⴰⵢⵍⵓ",
+ "uploadbtn": "ⵙⴽⵜⵔ ⴰⴼⴰⵢⵍⵓ",
+ "filedesc": "ⴰⵙⴳⵣⵍ",
+ "upload-form-label-infoform-name": "ⵉⵙⵎ",
+ "upload-form-label-usage-filename": "ⵉⵙⵎ ⵏ ⵓⴼⴰⵢⵍⵓ",
+ "upload-form-label-infoform-date": "ⴰⵙⴰⴽⵓⴷ",
+ "license-header": "ⵜⵓⵔⴰⴳⵜ",
+ "listfiles-delete": "ⴽⴽⵙ",
+ "imgfile": "ⴰⴼⴰⵢⵍⵓ",
+ "listfiles": "ⵜⴰⵍⴳⴰⵎⵜ ⵏ ⵓⴼⴰⵢⵍⵓ",
+ "listfiles_date": "ⴰⵙⴰⴽⵓⴷ",
+ "listfiles_name": "ⵉⵙⵎ",
+ "listfiles-latestversion-yes": "ⵢⴰⵀ",
+ "listfiles-latestversion-no": "ⵓⵀⵓ",
+ "file-anchor-link": "ⴰⴼⴰⵢⵍⵓ",
+ "filehist": "ⴰⵎⵣⵔⵓⵢ ⵏ ⵓⴼⴰⵢⵍⵓ",
+ "filehist-help": "ⴰⴷⵔ ⵖⴼ ⵓⵙⴰⴽⵓⴷ/ⴰⴽⵓⴷ ⵃⵎⴰ ⴰⴷ ⵜⵥⵔⴷ ⴰⵙⴷⴰⵡ ⵎⴰⵎⴽ ⵢⴰⴷⵍⵍⵉ ⵉⴳⴰ ⴰⵇⵓⴷ ⴰⵏ.",
+ "filehist-deleteone": "ⴽⴽⵙ",
+ "filehist-current": "ⴰⵎⵉⵔⴰⵏ",
+ "filehist-datetime": "ⴰⵙⴰⴽⵓⴷ/ⴰⴽⵓⴷ",
+ "filehist-thumb": "ⵜⴰⵛⵏⵢⴰⵍⵜ",
+ "filehist-thumbtext": "ⵜⴰⵛⵏⵢⴰⵍⵜ ⵏ ⵜⵓⵏⵖⵉⵍⵜ ⴳ $1",
+ "filehist-user": "ⴰⵙⵎⵔⴰⵙ",
+ "filehist-dimensions": "ⵉⵎⵏⴰⴷⵏ",
+ "filehist-comment": "ⴰⵖⴼⴰⵡⴰⵍ",
+ "imagelinks": "ⴰⵙⵎⵔⵙ ⵏ ⵓⴼⴰⵢⵍⵓ",
+ "linkstoimage": "{{PLURAL:$1|ⵉⵣⴷⴰⵢⵏ ⵏ ⵜⵙⵏⴰ|$1 ⴰⵣⴷⴰⵢ ⵏ ⵜⵙⵏⴰ}} ⵖⵔ ⵓⴼⴰⵢⵍⵓ ⴰⴷ:",
+ "sharedupload-desc-here": "ⴰⵙⴷⴰⵡ ⴰⴷ ⵙⴳ $1 ⵉⵥⴹⴰⵔ ⴰ ⵉⵜⵜⵡⴰⵙⵎⵔⵙ ⴳ ⵉⵙⵏⵜⴰⵢⵏ ⵢⴰⴹⵏ.\nⴰⵙⵏⵓⵎⵎⵍ ⵏⵙ ⴳ [$2 ⵜⴰⵙⵏⴰ ⵏⵙ ⵏ ⵓⵙⵏⵓⵎⵎⵍ] ⵜⵡⴰⵙⵎⴰⵍ ⵙⴰⴷⵓ.",
+ "filepage-nofile": "ⵓⵔ ⵓⴼⴰⵢⵍⵓ ⵙ ⵢⵉⵙⵎ ⴰ.",
+ "filerevert-comment": "ⵜⴰⵎⵏⵜⵉⵍⵜ:",
+ "filedelete": "ⴽⴽⵙ $1",
+ "filedelete-legend": "ⴽⴽⵙ ⴰⴼⴰⵢⵍⵓ",
+ "filedelete-comment": "ⵜⴰⵎⵏⵜⵉⵍⵜ:",
+ "filedelete-submit": "ⴽⴽⵙ",
+ "download": "ⴰⴳⵎ",
+ "randompage": "ⵜⴰⵙⵏⴰ ⵜⴰⴷⵀⵎⴰⵙⵜ",
+ "statistics": "ⴰⵙⵏⵎⴽⵜⴰ",
+ "statistics-pages": "ⵜⴰⵙⵏⵉⵡⵉⵏ",
+ "brokenredirects-delete": "ⴽⴽⵙ",
+ "withoutinterwiki-legend": "ⴰⵣⵡⵉⵔ",
+ "nbytes": "$1 {{PLURAL:$1|ⴱⴰⵢⵜ|ⵉⴷ ⴱⴰⵢⵜ}}",
+ "nmembers": "$1 {{PLURAL:$1|ⵓⴳⵎⴰⵎ|ⵉⴳⵎⴰⵎⵏ}}",
+ "prefixindex": "ⵎⴰⵕⵕⴰ ⵜⴰⵙⵏⵉⵡⵉⵏ ⴷ ⵓⵣⵡⵉⵔ",
+ "protectedpages-page": "ⵜⴰⵙⵏⴰ",
+ "protectedpages-reason": "ⵜⴰⵎⵏⵜⵉⵍⵜ",
+ "listusers": "ⵓⵎⵓⵖ ⵏ ⵓⵏⵙⵙⵎⵔⵙ",
+ "newpages": "ⵜⴰⵙⵏⵉⵡⵉⵏ ⵜⵉⵎⴰⵢⵏⵓⵜⵉⵏ",
+ "move": "ⵙⵎⵓⵜⵜⵉ",
+ "apisandbox-examples": "ⵉⵎⴷⵢⴰⵜⵏ",
+ "booksources": "ⵉⵙⵓⴳⴰⵎ ⵏ ⵓⴷⵍⵉⵙ",
+ "booksources-search-legend": "ⵔⵣⵓ ⵅⴼ ⵉⴷⵍⵉⵙⵏ ⵏ ⵓⵙⴰⴳⵎ",
+ "booksources-search": "ⵔⵣⵓ",
+ "allpages": "ⵎⴰⵕⵕⴰ ⵜⴰⵙⵏⵉⵡⵉⵏ",
+ "allarticles": "ⵜⴰⵙⵏⵉⵡⵉⵏ ⴰⴽⴽ",
+ "allpagessubmit": "ⴷⴷⵓ",
+ "categories": "ⵉⵙⵎⵉⵍⵏ",
+ "sp-deletedcontributions-contribs": "ⵜⵓⵎⵓⵜⵉⵏ",
+ "listgrouprights-members": "ⵜⴰⵍⴳⴰⵎⵜ ⵏ ⵉⴳⵎⴰⵎⵏ",
+ "watchlist": "ⵜⴰⵍⴳⴰⵎⵜ ⵏ ⵓⴹⴼⴼⵓⵔ",
+ "mywatchlist": "ⵜⴰⵍⴳⴰⵎⵜ ⵏ ⵓⴹⴼⴼⵓⵔ",
+ "watchlistfor2": "ⵉ $1 $2",
+ "watch": "ⵥⵕ",
+ "wlshowlast": "ⵙⴽⵏ $1 ⵜⴰⵙⵔⴰⴳⵉⵏ $2 ⵓⵙⵙⴰⵏ ⵉⵎⴳⴳⵓⵔⴰ",
+ "watchlist-options": "ⵜⵉⴷⵖⵔⵉⵏ ⵏ ⵜⵍⴳⴰⵎⵜ ⵏ ⵓⴹⴼⴼⵓⵔ",
+ "deletepage": "ⴽⴽⵙ ⵜⴰⵙⵏⴰ",
+ "delete-confirm": "ⴽⴽⵙ \"$1\"",
+ "delete-legend": "ⴽⴽⵙ",
+ "deletecomment": "ⵜⴰⵎⵏⵜⵉⵍⵜ:",
+ "rollbacklink": "ⵔⴰⵔ",
+ "changecontentmodel-reason-label": "ⵜⴰⵎⵏⵜⵉⵍⵜ:",
+ "protectedarticle": "ⵉⵎⵃⴹⵉ \"[[$1]]\"",
+ "protectcomment": "ⵜⴰⵎⵏⵜⵉⵍⵜ:",
+ "restriction-edit": "ⵙⵏⴼⵍ",
+ "restriction-move": "ⵙⵎⵓⵜⵜⵉ",
+ "undeletecomment": "ⵜⴰⵎⵏⵜⵉⵍⵜ:",
+ "undelete-show-file-submit": "ⵢⴰⵀ",
+ "namespace": "ⵜⵉⵔⵉⵡⵉⵏ ⵏ ⵉⵙⵎⴰⵡⵏ:",
+ "invert": "ⵙⵏⵅⴰⵍⴼ ⴰⵙⵜⵉ",
+ "blanknamespace": "(ⴰⴷⵙⵍⴰⵏ)",
+ "contributions": "ⵜⵓⵎⵓⵜⵉⵏ ⵏ {{GENDER:$1|ⵓⵏⵙⵙⵎⵔⵙ}}",
+ "mycontris": "ⵜⵓⵎⵓⵜⵉⵏ",
+ "anoncontribs": "ⵜⵓⵎⵓⵜⵉⵏ",
+ "contribsub2": "ⵉ {{GENDER:$3|$1}} ($2)",
+ "sp-contributions-talk": "ⵎⵙⴰⵡⴰⵍ",
+ "sp-contributions-submit": "ⵔⵣⵓ",
+ "whatlinkshere": "ⵎⴰ ⴰⵢⴷ ⵉⵇⵇⵏⵏ ⵙ ⴷⴰ",
+ "whatlinkshere-title": "ⵜⴰⵙⵏⵉⵡⵉⵏ ⵉⵣⴷⵉⵏ ⵖⵔ $1",
+ "whatlinkshere-page": "ⵜⴰⵙⵏⴰ:",
+ "linkshere": "ⵜⴰⵙⵏⵉⵡⵉⵏ ⴰⴷ ⵣⴷⵉⵏ ⵖⵔ <strong>[[:$1]]</strong>:",
+ "nolinkshere": "ⵓⵔ ⵍⵍⵉⵏ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵉⵣⴷⵉⵏ ⵖⵔ <strong>[[:$1]]</strong>",
+ "isimage": "ⴰⵙⵖⵓⵏ ⵏ ⵓⴼⴰⵢⵍⵓ",
+ "whatlinkshere-links": "← ⵉⵙⵖⵓⵏⴻⵏ",
+ "whatlinkshere-hidelinks": "$1 ⵉⵙⵖⵓⵏⴻⵏ",
+ "whatlinkshere-hideimages": "$1 ⵉⵣⴷⴰⵢⵏ ⵖⵔ ⵓⴼⵉⵍⵢⵓ",
+ "whatlinkshere-filters": "ⵜⵉⵙⵜⵜⴰⵢⵉⵏ",
+ "ipbreason": "ⵜⴰⵎⵏⵜⵉⵍⵜ:",
+ "blocklist-reason": "ⵜⴰⵎⵏⵜⵉⵍⵜ",
+ "blocklink": "ⴳⴷⵍ",
+ "contribslink": "ⵜⵓⵎⵓⵜⵉⵏ",
+ "movereason": "ⵜⴰⵎⵏⵜⵉⵍⵜ:",
+ "delete_and_move_confirm": "ⵢⴰⵀ, ⴽⴽⵙ ⵜⴰⵙⵏⴰ",
+ "allmessagesname": "ⵉⵙⵎ",
+ "allmessages-language": "ⵜⵓⵜⵍⴰⵢⵜ:",
+ "allmessages-filter-translate": "ⵙⵙⵓⵖⵍ",
+ "thumbnail-more": "ⵙⵙⵉⵎⵖⵓⵔ",
+ "tooltip-pt-userpage": "ⵜⴰⵙⵏⴰ ⵏ ⵓⵙⵎⵔⴰⵙ {{GENDER:|ⵏⵏⴽ|ⵏⵏⵎ}}",
+ "tooltip-pt-mytalk": "ⵜⴰⵙⵏⴰ {{GENDER:|ⵏⵏⴽ|ⵏⵏⵎ}} ⵏ ⵓⵎⵙⴰⵡⴰⵍ",
+ "tooltip-pt-preferences": "ⵉⵙⵎⵏⵢⵉⴼⵏ {{GENDER:|ⵏⵏⴽ|ⵏⵏⵎ}}",
+ "tooltip-pt-mycontris": "ⵢⴰⵜ ⵜⵍⴳⴰⵎⵜ ⵏ ⵜⵓⵎⵓⵜⵉⵏ {{GENDER:|ⵏⵏⴽ|ⵏⵏⵎ}}",
+ "tooltip-pt-login": "ⴰⵔⴽ ⵏⵙⵙⵔⵇⴰⴱ ⴰⵜⴽⵛⵎⵜ; ⵎⴰⵛ ⵓⵔ ⵉⴳⵉ ⵓⵣⵓⵛⵍⵍ",
+ "tooltip-pt-logout": "ⴼⴼⵖ",
+ "tooltip-pt-createaccount": "ⴰⵔⴽ ⵏⵙⵙⵔⵇⴰⴱ ⴰ ⵜⵣⵎⵣⵣⵓⵜ ⴰⵎⵉⴹⴰⵏ ⴷ ⴰ ⵜⴽⵛⵎⵜ; ⵎⴰⵛ ⵓⵔ ⵉⴳⵉ ⵓⵣⵓⵛⵍⵍ",
+ "tooltip-ca-talk": "ⴰⵎⵙⴰⵡⴰⵍ ⵖⴼ ⵜⵓⵎⴰⵢⵜ ⵏ ⵜⴰⵙⵏⴰ",
+ "tooltip-ca-edit": "ⵙⵏⴼⵍ ⵜⴰⵙⵏⴰ ⴰ",
+ "tooltip-ca-addsection": "ⵙⵏⵜⵉ ⵢⴰⵜ ⵜⴳⵣⵎⵉ ⵜⴰⵎⴰⵢⵏⵓⵜ",
+ "tooltip-ca-viewsource": "ⵜⴰⵙⵏⴰ ⴰ ⵜⴻⵜⵜⵢⴰⵔⴰⵢ.\nⵜⵣⵎⵔⴷ ⴰ ⵜⵥⵕⴷ ⴰⵙⴰⴳⴰⵎ",
+ "tooltip-ca-history": "ⴰⵎⵣⵔⴰⵢ ⵏ ⵜⵙⵏⵖⴰⵍ ⵏ ⵜⴰⵙⵏⴰ ⴰⴷ",
+ "tooltip-ca-protect": "ⵢⴰⵔⴰⵢ ⵜⴰⵙⵏⴰ ⴰ",
+ "tooltip-ca-delete": "ⴽⴽⵙ ⵜⴰⵙⵏⴰ ⴰⴷ",
+ "tooltip-ca-move": "ⵙⵎⵓⵜⵜⵉ ⵜⴰⵙⵏⴰ ⴰ",
+ "tooltip-ca-watch": "ⵔⵏⵓ ⵜⴰⵙⵏⴰ ⴰ ⵉ ⵜⵍⴳⴰⵎⵜ ⵏ ⵓⴹⴼⴼⵓⵔ {{GENDER:|ⵏⵏⴽ|ⵏⵏⵎ}}",
+ "tooltip-ca-unwatch": "ⴽⴽⵙ ⵜⴰⵙⵏⴰ ⴰ ⵙⴳ ⵓⵎⵓⵖ ⵏ ⵓⵙⵎⵓⵇⵇⵍ {{GENDER:|ⵏⵏⴽ|ⵏⵏⵎ}}",
+ "tooltip-search": "ⵔⵣⵓ ⴳ {{SITENAME}}",
+ "tooltip-search-go": "ⴷⴷⵓ ⵙ ⵜⴰⵙⵏⴰ ⵎⵎ ⵢⵉⵙⵎ ⴰ ⵎⴽ ⵜⵍⵍⴰ",
+ "tooltip-search-fulltext": "ⵔⵣⵓ ⵜⴰⵙⵏⵉⵡⵉⵏ ⴳ ⵉⵍⵍⴰ ⵓⴹⵕⵉⵚ ⴰ",
+ "tooltip-p-logo": "ⴷⴷⵓ ⵖⵔ ⵓⵙⵏⵓⴱⴳ",
+ "tooltip-n-mainpage": "ⴽⴽ ⴷ ⵜⴰⵙⵏⴰ ⵏ ⵓⵙⵏⵓⴱⴳ",
+ "tooltip-n-mainpage-description": "ⴽⴽ ⴷ ⵜⴰⵙⵏⴰ ⵏ ⵓⵙⵏⵓⴱⴳ",
+ "tooltip-n-portal": "ⵖⴼ ⵓⵙⵏⴼⴰⵔ, ⵎⴰ ⴰⵢⴷ ⵜⵣⵎⵔⴷ ⴰⴷ ⵜ ⵜⴳⴷ, ⵎⴰⵏⵉ ⴳ ⵔⴰⴷ ⵜⴰⴼⴷ ⵜⵉⵖⴰⵡⵙⵉⵡⵉⵏ",
+ "tooltip-n-currentevents": "ⴰⴼ ⵓⴳⴳⴰⵔ ⵏ ⵉⵏⵖⵎⵉⵙⵏ ⵖⴼ ⵜⵉⵎⵙⴰⵔⵉⵏ ⵜⵉⵎⵉⵔⴰⵏⵉⵏ",
+ "tooltip-n-recentchanges": "ⵢⴰⵜ ⵜⵍⴳⴰⵎⵜ ⵏ ⵉⵙⵏⴼⵍⵏ ⵉⵎⴳⴳⵓⵔⴰ ⴳ ⵡⵉⴽⵉ",
+ "tooltip-n-randompage": "ⵣⴷⵎ ⵜⴰⵙⵏⴰ ⵜⴰⴷⵀⵎⴰⵙⵜ",
+ "tooltip-n-help": "The place to find out",
+ "tooltip-t-whatlinkshere": "ⵓⵎⵓⵖ ⵏ ⵎⴰⵕⵕ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵏ ⵡⵉⴽⵉ ⵉⵣⴷⵉⵏ ⵉ ⴷⴰ",
+ "tooltip-t-recentchangeslinked": "ⵉⵙⵏⴼⵍⵏ ⵉⵏⴳⴳⵓⵔⴰ ⴳ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵉⵣⴷⵉⵏ ⵖⵔ ⵜⴰⵙⵏⴰ ⴰ",
+ "tooltip-t-contributions": "ⵢⴰⵜ ⵜⵍⴳⴰⵎⵜ ⵏ ⵜⵓⵎⵓⵜⵉⵏ ⵏ {{GENDER:$1|ⵓⵙⵎⵔⴰⵙ ⴰ}}",
+ "tooltip-t-emailuser": "ⴰⵣⵏ ⵢⴰⵏ ⵉⵎⴰⵢⵍ ⵉ {{GENDER:$1|ⴰⵏⵙⵙⵎⵔⵙ ⴰ|ⵜⴰⵏⵙⵙⵎⵔⵙⵜ ⴰ}}",
+ "tooltip-t-upload": "ⵙⴽⵜⵔ ⵉⴼⵓⵢⵍⴰ",
+ "tooltip-t-specialpages": "ⵢⴰⵜ ⵜⵍⴳⴰⵎⵜ ⵏ ⵜⴰⵙⵏⵉⵡⵉⵏ ⴰⴽⴽ ⵥⵍⵉⵏⵉⵏ",
+ "tooltip-t-print": "ⵜⵓⵏⵖⵉⵍⵜ ⵉⵜⵜⵡⴰⵙⵉⴳⴳⵣⵏ ⵏ ⵜⴰⵙⵏⴰ ⴰⴷ",
+ "tooltip-t-permalink": "ⴰⵙⵖⵓⵏ ⴰⵎⵖⵍⴰⵍ ⵏ ⵜⵓⵏⵖⵉⵍⵜ ⴰⴷ ⵏ ⵜⴰⵙⵏⴰ",
+ "tooltip-ca-nstab-main": "ⵙⴽⵏ ⵜⵓⵎⴰⵢⵜ ⵏ ⵜⴰⵙⵏⴰ",
+ "tooltip-ca-nstab-user": "ⵥⵔ ⵜⴰⵙⵏⴰ ⵏ ⵓⵙⵎⵔⴰⵙ",
+ "tooltip-ca-nstab-special": "ⵜⴰⴷ ⵜⴳⴰ ⵢⴰⵜ ⵜⴰⵙⵏⴰ ⵉⵣⵍⵉⵏ, ⵓⵔ ⵢⴰⵍⵍⴼⵓⵙ ⴰⴷ ⵜⴻⵜⵜⵓⵙⵏⴼⵍ",
+ "tooltip-ca-nstab-project": "ⵥⵕ ⵜⴰⵙⵏⴰ ⵏ ⵓⵙⵏⵜⵉ",
+ "tooltip-ca-nstab-image": "ⵙⴽⵏ ⵜⴰⵙⵏⴰ ⵏ ⵓⴼⴰⵢⵍⵓ",
+ "tooltip-ca-nstab-template": "ⵥⵔ ⵜⴰⵙⴽⴽⴰ",
+ "tooltip-ca-nstab-category": "ⵙⴽⵏ ⴰⵏⴰⵡ ⵏ ⵜⴰⵙⵏⴰ",
+ "tooltip-save": "ⵃⴹⵓ ⵉⵙⵏⴼⴰⵍ ⵏⵏⴽ",
+ "tooltip-diff": "ⵙⴽⵏ ⵎⴰⵏ ⵉⵙⵏⴼⴰⵍ ⵜⴳⴳⵉⴷ ⵉ ⵓⴹⵔⵉⵙ",
+ "tooltip-watch": "ⵔⵏⵓ ⵜⴰⵙⵏⴰ ⴰ ⵉ ⵜⵍⴳⴰⵎⵜ ⵏ ⵓⴹⴼⴼⵓⵔ {{GENDER:|ⵏⵏⴽ|ⵏⵏⵎ}}",
+ "tooltip-rollback": "\"ⵔⴰⵔ\" ⵙⵙⵔ ⴰⵙⵏⴼⵍ ⵏⵖ ⵉⵙⵏⴼⴰⵍⵏ ⵏ ⵓⵎⴰⴷⵔⴰⵡ ⴰⵎⴳⴳⴰⵔⵓ ⴳ ⵜⴰⵙⵏⴰ ⴷ ⵙ ⵢⴰⵏ ⵓⴽⵍⵉⴽ",
+ "pageinfo-header-edits": "ⵙⵏⴼⵍ ⴰⵎⵣⵔⵓⵢ",
+ "pageinfo-display-title": "ⵙⴽⵏ ⴰⵣⵡⵍ",
+ "pageinfo-language": "ⵜⵓⵜⵍⴰⵢⵜ ⵏ ⵜⵙⵏⴰ",
+ "pageinfo-watchers": "ⵓⵟⵟⵓⵏ ⵏ ⵉⵎⵥⵕⴰⵢⵏ ⵏ ⵜⴰⵙⵏⴰ",
+ "pageinfo-firsttime": "ⴰⵙⴰⴽⵓⴷ ⵏ ⵓⵙⵏⴼⵍⵓⵍ ⵏ ⵜⴰⵙⵏⴰ",
+ "pageinfo-lastuser": "ⴰⵎⵙⵏⴼⵍ ⴰⵎⴳⴳⴰⵔⵓ",
+ "pageinfo-lasttime": "ⴰⵙⴰⴽⵓⴷ ⵏ ⵓⵙⵏⴼⵍ ⴰⵎⴳⴳⴰⵔⵓ",
+ "pageinfo-edits": "ⵎⴰⵕⵕⴰ ⵓⵟⵟⵓⵏ ⵏ ⵉⵙⵏⴼⴰⵍⵏ",
+ "pageinfo-hidden-categories": "ⵏⵜⵍ {{PLURAL:$1|ⴰⵙⵎⵉⵍ|ⵉⵙⵎⵉⵍⵏ}}($1)",
+ "pageinfo-toolboxlink": "ⴰⵏⵖⵎⵉⵙ ⵖⴼ ⵜⴰⵙⵏⴰ",
+ "pageinfo-contentpage-yes": "ⵢⴰⵀ",
+ "pageinfo-protect-cascading-yes": "ⵢⴰⵀ",
+ "previousdiff": "ⴰⵙⵏⴼⵍ ⴰⵎⴳⴳⴰⵔⵓ",
+ "nextdiff": "ⴰⵙⵏⴼⵍ ⴰⵎⴰⵢⵏⵓ",
+ "file-info-size": "$1 × $2 ⵉⴷ ⴱⵉⴽⵙⵍ, ⵜⵉⴷⴷⵉ ⵏ ⵓⴼⴰⵢⵍⵓ: $3, ⴰⵏⴰⵡ MIME: $4",
+ "svg-long-desc": "ⴰⴼⴰⵢⵍⵓ SVG, ⵙ $1 × $2 ⵉⴷ ⴱⵉⴽⵙⵍ, ⵜⵉⴷⴷⵉ ⵏ ⵓⴼⴰⵢⵍⵓ: $3",
+ "show-big-image": "ⴰⴼⴰⵢⵍⵓ ⴰⵙⴰⵍⴰⵏ",
+ "show-big-image-preview": "ⵜⴰⵙⵎⴽⵜⴰ ⵏ ⵓⵣⵔⵉⵣⵡⴰⵔ ⴰⴷ: $1.",
+ "show-big-image-other": "{{PLURAL:$2|ⵜⴰⴼⵙⴰⵢⵜ|ⵜⵉⴼⵙⴰⵢⵉⵏ}}: ⵢⴰⴹⵏ $1.",
+ "show-big-image-size": "$1 × $2 ⵉⴷ ⴱⵉⴽⵙⵍ",
+ "metadata": "ⵎⵉⵜⴰⴷⴰⵜⴰ",
+ "metadata-fields": "ⵉⴳⵔⴰⵏ ⵏ ⵎⵉⵜⴰⵉⵙⴼⴽⴰ ⵏ ⵜⵉⵡⵍⴰⴼⵉⵏ ⵏⵏⴰ ⵉⴼⵙⵔⵏ ⴳ ⵜⴱⵔⴰⵜ ⴰⴷ ⵔⴰⴷ ⵉⵍⵉⵏ ⴳ ⵜⴰⵙⵏⴰ ⵏ ⵓⵙⵏⵓⵎⵎⵍ ⵏ ⵜⴰⵡⵍⴰⴼⵜ ⴰⴽⵓⴷ ⵏⵏⴰ ⵉⵎⵓⵏ ⵓⵙⴽⵜⵓⵔ. ⵉⴳⵔⴰⵏ ⵢⴰⴹⵏ ⵔⴰⴷ ⴼⴼⵔⵏ ⵙ ⵓⵎⵕⴰⴹ.\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude",
+ "exif-orientation": "ⴰⵙⵡⴰⵍⴰ",
+ "exif-datetime": "ⴰⵙⴰⴽⵓⴷ ⴷ ⵡⴰⴽⵓⴷ ⵏ ⵓⵙⵏⴼⵍ ⵏ ⵓⴼⴰⵢⵍⵓ",
+ "exif-languagecode": "ⵜⵓⵜⵍⴰⵢⵜ",
+ "exif-dc-contributor": "ⵉⵏⴰⵎⵓⵜⵏ",
+ "exif-iimcategory-edu": "ⴰⵙⴳⵎⵉ",
+ "exif-iimcategory-hth": "ⵜⴰⴷⵓⵙⵉ",
+ "namespacesall": "ⴰⴽⴽⵯ",
+ "monthsall": "ⵎⴰⵕⵕⴰ",
+ "confirm_purge_button": "ⵡⴰⵅⵅⴰ",
+ "confirm-watch-button": "ⵡⴰⵅⵅⴰ",
+ "confirm-unwatch-button": "ⵡⴰⵅⵅⴰ",
+ "confirm-rollback-button": "ⵡⴰⵅⵅⴰ",
+ "imgmultigo": "ⴷⴷⵓ!",
+ "imgmultigoto": "ⴷⴷⵓ ⵖⵔ ⵜⴰⵙⵏⴰ ⴰⴷ $1",
+ "img-lang-default": "(ⵜⵓⵜⵍⴰⵢⵜ ⵙ ⵓⵡⵏⵓⵍ)",
+ "watchlisttools-clear": "ⵙⴼⴹ ⵜⴰⵍⴳⴰⵎⵜ ⵏ ⵓⴹⴼⴼⵓⵔ",
+ "watchlisttools-edit": "ⵥⵕ ⴷ ⵜⵙⵏⴼⵍⴷ ⵜⴰⵍⴳⴰⵎⵜ ⵏ ⵓⴹⴼⴼⵓⵔ",
+ "redirect-submit": "ⴷⴷⵓ",
+ "redirect-file": "ⵉⵙⵎ ⵏ ⵓⴼⴰⵍⵢⵓ",
+ "specialpages": "ⵜⴰⵙⵏⵉⵡⵉⵏ ⵥⵍⵉⵏⵉⵏ",
+ "specialpages-group-pagetools": "ⵉⵎⴰⵙⵙⵏ ⵏ ⵜⴰⵙⵏⴰ",
+ "tag-filter": "ⵙⵜⵉ [[Special:Tags|ⵉⵔⵛⵓⵎⵏ]]:",
+ "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|ⴰⵔⵛⵓⵎ|ⵉⵔⵛⵓⵎⵏ}}]]: $2)",
+ "tags-active-yes": "ⵢⴰⵀ",
+ "tags-active-no": "ⵓⵀⵓ",
+ "tags-delete": "ⴽⴽⵙ",
+ "tags-create-reason": "ⵜⴰⵎⵏⵜⵉⵍⵜ:",
+ "tags-delete-reason": "ⵜⴰⵎⵏⵜⵉⵍⵜ:",
+ "tags-activate-reason": "ⵜⴰⵎⵏⵜⵉⵍⵜ:",
+ "tags-deactivate-reason": "ⵜⴰⵎⵏⵜⵉⵍⵜ:",
+ "tags-edit-reason": "ⵜⴰⵎⵏⵜⵉⵍⵜ:",
+ "compare-page1": "ⵜⴰⵙⵏⴰ 1",
+ "compare-page2": "ⵜⴰⵙⵏⴰ 2",
+ "htmlform-no": "ⵓⵀⵓ",
+ "htmlform-yes": "ⵢⴰⵀ",
+ "logentry-delete-delete": "$1 {{GENDER:$2|ⵉⴽⴽⵙ|ⵜⴽⴽⵙ}} ⵜⴰⵙⵏⴰ $3",
+ "logentry-move-move": "$1 {{GENDER:$2|ⵉⵙⵎⵓⵜⵜⵉ|ⵜⵙⵎⵓⵜⵜⵉ}} ⵜⴰⵙⵏⴰ ⵙⴳ $3 ⵖⵔ $4",
+ "logentry-newusers-create": "{{GENDER:$2|ⵉⵙⵏⴼⵍ ⵓⵏⵙⵙⵎⵔⵙ|ⵜⵙⵏⴼⵍ ⵜⵏⵙⵙⵎⵔⵙⵜ}} $1 ⴰⵎⵉⴹⴰⵏ ⵏⵙ",
+ "logentry-upload-upload": "{{GENDER:$2|ⵉⵙⴽⵜⵔ|ⵜⵙⴽⵜⵔ}} $1 $3",
+ "feedback-thanks-title": "ⵜⴰⵏⵎⵎⵉⵔⵜ!",
+ "searchsuggest-search": "ⵔⵣⵓ ⴳ {{SITENAME}}",
+ "expand_templates_ok": "ⵡⴰⵅⵅⴰ",
+ "pagelanguage": "ⵙⵏⴼⵍ ⵜⵓⵜⵍⴰⵢⵜ ⵏ ⵜⴰⵙⵏⴰ",
+ "pagelang-name": "ⵜⴰⵙⵏⴰ",
+ "pagelang-language": "ⵜⵓⵜⵍⴰⵢⵜ",
+ "right-pagelang": "ⵙⵏⴼⵍ ⵜⵓⵜⵍⴰⵢⵜ ⵏ ⵜⴰⵙⵏⴰ",
+ "authmanager-email-label": "ⵉⵎⴰⵢⵍ",
+ "authmanager-realname-label": "ⵉⵙⵎ ⴰⵎⴷⴷⴰⵜ",
+ "authmanager-realname-help": "ⵉⵙⵎ ⴰⵎⴷⴷⴰⵜ ⵏ ⵓⵏⵙⵙⵔⵎⵙ",
+ "credentialsform-account": "ⵉⵙⵎ ⵏ ⵓⵎⵉⴹⴰⵏ:"
+}
"revdelete-uname-unhid": "取消隱藏使用者名稱",
"revdelete-restricted": "已套用對管理員的限制",
"revdelete-unrestricted": "已移除對管理員的限制",
- "logentry-block-block": "$1 {{GENDER:$2|已封鎖}} {{GENDER:$4|$3}} 期限為 $5 $6",
+ "logentry-block-block": "$1{{GENDER:$2|已封鎖}}{{GENDER:$4|$3}}期限為$5$6",
"logentry-block-unblock": "$1 {{GENDER:$2|已解除封鎖}} {{GENDER:$4|$3}}",
- "logentry-block-reblock": "$1 {{GENDER:$2|已變更}} {{GENDER:$4|$3}} 的封鎖設定期限為 $5 $6",
+ "logentry-block-reblock": "$1{{GENDER:$2|已變更}}{{GENDER:$4|$3}}的封鎖設定期限為$5$6",
"logentry-suppress-block": "$1 {{GENDER:$2|已封鎖}} {{GENDER:$4|$3}} 期限為 $5 $6",
"logentry-suppress-reblock": "$1 {{GENDER:$2|已變更}} {{GENDER:$4|$3}} 的封鎖設定期限為 $5 $6",
"logentry-import-upload": "$1 已由檔案上傳{{GENDER:$2|匯入}} $3",
NS_MEDIA => 'ذريعات',
NS_SPECIAL => 'خاص',
NS_TALK => 'بحث',
- NS_USER => 'Ù\8aÙ\88زر',
- NS_USER_TALK => 'Ù\8aÙ\88زر_بحث',
+ NS_USER => 'Ù\88اپرائÙ\8aÙ\86دÚ\99',
+ NS_USER_TALK => 'Ù\88اپرائÙ\8aÙ\86دÚ\99_بحث',
NS_PROJECT_TALK => '$1_بحث',
- NS_FILE => 'عڪس',
- NS_FILE_TALK => 'عڪس_بحث',
+ NS_FILE => 'فائل',
+ NS_FILE_TALK => 'فائل_بحث',
NS_MEDIAWIKI => 'ذريعات_وڪي',
NS_MEDIAWIKI_TALK => 'ذريعات_وڪي_بحث',
NS_TEMPLATE => 'سانچو',
- NS_TEMPLATE_TALK => 'سنچو_بحث',
+ NS_TEMPLATE_TALK => 'سانچو_بحث',
NS_HELP => 'مدد',
NS_HELP_TALK => 'مدد_بحث',
NS_CATEGORY => 'زمرو',
NS_CATEGORY_TALK => 'زمرو_بحث',
];
+$namespaceAliases = [
+ 'يوزر' => NS_USER,
+ 'يوزر_بحث' => NS_USER_TALK,
+ 'عڪس' => NS_FILE,
+ 'عڪس_بحث' => NS_FILE_TALK,
+ 'سنچو' => NS_TEMPLATE,
+ 'سنچو_بحث' => NS_TEMPLATE_TALK,
+];
+
$specialPageAliases = [
'Allmessages' => [ 'سڀ نياپا' ],
'Allpages' => [ 'سڀ صفحا' ],
$this->output( "Deleting self externals from $wgServer\n" );
$db = $this->getDB( DB_MASTER );
while ( 1 ) {
- wfWaitForSlaves();
$this->commitTransaction( $db, __METHOD__ );
$q = $db->limitResult( "DELETE /* deleteSelfExternals */ FROM externallinks WHERE el_to"
. $db->buildLike( $wgServer . '/', $db->anyString() ), $this->getBatchSize() );
list( $n, $display ) = $this->makeNextCond( $dbw, [ $primaryKey ], $lastRow );
$next = [ $n ];
$this->output( "... $display\n" );
- wfWaitForSlaves();
}
$this->output(
// Calculate the "next" condition
$next = [ $primaryKey . ' > ' . $dbw->addQuotes( $row->$primaryKey ) ];
$this->output( "... {$row->$primaryKey}\n" );
- wfWaitForSlaves();
}
$this->output(
$count += $affected;
$blockStart += $batchSize;
$blockEnd += $batchSize;
- wfWaitForSlaves();
}
$this->output( "Done! $count users in group '$oldGroup' are now in '$newGroup' instead.\n" );
}
if ( $interval ) {
sleep( $interval );
}
- wfWaitForSlaves();
}
}
}
$end = $maxRevId > 0
? $maxRevId
: $dbw->selectField( 'revision', 'MAX(rev_id)', false, __METHOD__ );
+
+ if ( empty( $end ) ) {
+ $this->output( "No revisions found, aborting.\n" );
+ return true;
+ }
+
$blockStart = $start;
$attempted = 0;
$inserted = 0;
$this->commitTransaction( $db, __METHOD__ );
$blockStart += $batchSize;
$blockEnd += $batchSize;
- wfWaitForSlaves();
}
$this->output( "Done populating log_user_text field.\n" );
$blockStart += $batchSize;
$blockEnd += $batchSize;
- wfWaitForSlaves();
}
return $count;
$blockStart += $batchSize;
$blockEnd += $batchSize;
- wfWaitForSlaves();
}
return $count;
$updateSize = 0;
$this->commitTransaction( $db, __METHOD__ );
$this->output( "Commited row with ar_timestamp={$row->ar_timestamp}\n" );
- wfWaitForSlaves();
$this->beginTransaction( $db, __METHOD__ );
}
}
$this->output( "/" );
$this->commitTransaction( $dbw, __METHOD__ );
$i += $thisChunkSize;
- wfWaitForSlaves();
}
$this->output( "\n" );
}
__METHOD__
);
$this->commitTransaction( $dbw, __METHOD__ );
- $this->waitForSlaves();
}
print "$primaryId: resolved to $url\n";
print "Good stubs: $numGood\n";
}
- function waitForSlaves() {
- static $iteration = 0;
- ++$iteration;
- if ( ++$iteration > 50 == 0 ) {
- wfWaitForSlaves();
- $iteration = 0;
- }
- }
-
function findTextIdInPage( $pageId, $textId ) {
$ids = $this->getRevTextMap( $pageId );
if ( !isset( $ids[$textId] ) ) {
$this->updateSortKeySizeHistogram( $newSortKey );
}
- if ( !$dryRun ) {
+ if ( $dryRun ) {
+ // Add 1 to the count if the sortkey was changed. (Note that this doesn't count changes in
+ // other fields, if any, those usually only happen when upgrading old MediaWikis.)
+ $count += ( $row->cl_sortkey !== $newSortKey );
+ } else {
$dbw->update(
'categorylinks',
[
[ 'cl_from' => $row->cl_from, 'cl_to' => $row->cl_to ],
__METHOD__
);
+ $count++;
}
if ( $row ) {
$batchConds = [ $this->getBatchCondition( $row, $dbw ) ];
$this->commitTransaction( $dbw, __METHOD__ );
}
- $count += $res->numRows();
- $this->output( "$count done.\n" );
-
- if ( !$dryRun && ++$batchCount % self::SYNC_INTERVAL == 0 ) {
- $this->output( "Waiting for replica DBs ... " );
- wfWaitForSlaves();
- $this->output( "done\n" );
+ if ( $dryRun ) {
+ $this->output( "$count rows would be updated so far.\n" );
+ } else {
+ $this->output( "$count done.\n" );
}
} while ( $res->numRows() == self::BATCH_SIZE );
- $this->output( "$count rows processed\n" );
+ if ( !$dryRun ) {
+ $this->output( "$count rows processed\n" );
+ }
if ( $verboseStats ) {
$this->output( "\n" );
/* MediaWiki Action */
+ 'mediawiki.action.delete' => [
+ 'scripts' => 'resources/src/mediawiki.action/mediawiki.action.delete.js',
+ 'dependencies' => [
+ 'oojs-ui-core',
+ 'jquery.lengthLimit',
+ ],
+ 'messages' => [
+ // @todo Load this message in content language
+ 'colon-separator',
+ ],
+ ],
+ 'mediawiki.action.delete.file' => [
+ 'scripts' => 'resources/src/mediawiki.action/mediawiki.action.delete.file.js',
+ 'dependencies' => [
+ 'jquery.lengthLimit',
+ ],
+ 'messages' => [
+ // @todo Load this message in content language
+ 'colon-separator',
+ ],
+ ],
'mediawiki.action.edit' => [
'scripts' => [
'resources/src/mediawiki.action/mediawiki.action.edit.js',
'scripts' => 'resources/src/mediawiki.special/mediawiki.special.edittags.js',
'dependencies' => [
'jquery.chosen',
+ 'jquery.lengthLimit',
],
'messages' => [
'tags-edit-chosen-placeholder',
'scripts' => 'resources/src/mediawiki.special/mediawiki.special.recentchanges.js',
'targets' => [ 'desktop', 'mobile' ],
],
+ 'mediawiki.special.revisionDelete' => [
+ 'scripts' => 'resources/src/mediawiki.special/mediawiki.special.revisionDelete.js',
+ 'messages' => [
+ // @todo Load this message in content language
+ 'colon-separator',
+ ],
+ 'dependencies' => [
+ 'jquery.lengthLimit',
+ ],
+ 'targets' => [ 'desktop', 'mobile' ],
+ ],
'mediawiki.special.search' => [
'scripts' => 'resources/src/mediawiki.special/mediawiki.special.search.js',
'styles' => 'resources/src/mediawiki.special/mediawiki.special.search.css',
],
'mediawiki.special.undelete' => [
'scripts' => 'resources/src/mediawiki.special/mediawiki.special.undelete.js',
+ 'dependencies' => [
+ 'mediawiki.widgets.visibleLengthLimit',
+ 'mediawiki.widgets',
+ ],
],
'mediawiki.special.unwatchedPages' => [
'scripts' => 'resources/src/mediawiki.special/mediawiki.special.unwatchedPages.js',
'scripts' => 'resources/src/mediawiki.special/mediawiki.special.userrights.js',
'dependencies' => [
'mediawiki.notification.convertmessagebox',
+ 'jquery.lengthLimit',
],
],
'mediawiki.special.watchlist' => [
--- /dev/null
+/*!
+ * JavaScript for Special:RevisionDelete
+ */
+( function ( mw, $ ) {
+ $( function () {
+ var colonSeparator = mw.message( 'colon-separator' ).text(),
+ summaryCodePointLimit = mw.config.get( 'wgCommentCodePointLimit' ),
+ summaryByteLimit = mw.config.get( 'wgCommentByteLimit' ),
+ $wpDeleteReasonList = $( '#wpDeleteReasonList' ),
+ $wpReason = $( '#wpReason' ),
+ filterFn = function ( input ) {
+ // Should be built the same as in SpecialRevisionDelete::submit()
+ var comment = $wpDeleteReasonList.val();
+ if ( comment === 'other' ) {
+ comment = input;
+ } else if ( input !== '' ) {
+ // Entry from drop down menu + additional comment
+ comment += colonSeparator + input;
+ }
+ return comment;
+ };
+
+ // Limit to bytes or UTF-8 codepoints, depending on MediaWiki's configuration
+ if ( summaryCodePointLimit ) {
+ $wpReason.codePointLimit( summaryCodePointLimit, filterFn );
+ } else if ( summaryByteLimit ) {
+ $wpReason.bytePointLimit( summaryByteLimit, filterFn );
+ }
+ } );
+
+}( mediaWiki, jQuery ) );
--- /dev/null
+/*!
+ * Scripts for action=delete at domready
+ */
+( function ( mw, $ ) {
+ $( function () {
+ var colonSeparator = mw.message( 'colon-separator' ).text(),
+ summaryCodePointLimit = mw.config.get( 'wgCommentCodePointLimit' ),
+ summaryByteLimit = mw.config.get( 'wgCommentByteLimit' ),
+ reasonList = OO.ui.infuse( $( '#wpDeleteReasonList' ).closest( '.oo-ui-widget' ) ),
+ reason = OO.ui.infuse( $( '#wpReason' ).closest( '.oo-ui-widget' ) ),
+ filterFn = function ( input ) {
+ // Should be built the same as in Article::delete()
+ var comment = reasonList.getValue();
+ if ( comment === 'other' ) {
+ comment = input;
+ } else if ( input !== '' ) {
+ // Entry from drop down menu + additional comment
+ comment += colonSeparator + input;
+ }
+ return comment;
+ };
+
+ // Limit to bytes or UTF-8 codepoints, depending on MediaWiki's configuration
+ if ( summaryCodePointLimit ) {
+ reason.$input.codePointLimit( summaryCodePointLimit, filterFn );
+ } else if ( summaryByteLimit ) {
+ reason.$input.bytePointLimit( summaryByteLimit, filterFn );
+ }
+ } );
+}( mediaWiki, jQuery ) );
this.footers = [];
// Parent
- mw.rcfilters.ui.MenuSelectWidget.parent.call( this, $.extend( {
+ mw.rcfilters.ui.MenuSelectWidget.parent.call( this, $.extend( config, {
$autoCloseIgnore: this.$overlay,
width: 650,
// Our filtering is done through the model
filterFromInput: false
- }, config ) );
+ } ) );
this.setGroupElement(
$( '<div>' )
.addClass( 'mw-rcfilters-ui-menuSelectWidget-group' )
dropdownWidget: {
getApiValue: function () {
- var item = this.getMenu().getSelectedItem();
+ var item = this.getMenu().findSelectedItem();
return item === null ? undefined : item.getData();
},
setApiValue: function ( v ) {
var i,
menu = formatDropdown.getMenu(),
items = menu.getItems(),
- selectedField = menu.getSelectedItem() ? menu.getSelectedItem().getData() : null;
+ selectedField = menu.findSelectedItem() ? menu.findSelectedItem().getData() : null;
for ( i = 0; i < items.length; i++ ) {
items[ i ].getData().toggle( items[ i ].getData() === selectedField );
}
menu = formatDropdown.getMenu();
- selectedLabel = menu.getSelectedItem() ? menu.getSelectedItem().getLabel() : '';
+ selectedLabel = menu.findSelectedItem() ? menu.findSelectedItem().getLabel() : '';
if ( typeof selectedLabel !== 'string' ) {
selectedLabel = selectedLabel.text();
}
*/
( function ( mw, $ ) {
$( function () {
- var $tagList = $( '#mw-edittags-tag-list' );
+ var summaryCodePointLimit = mw.config.get( 'wgCommentCodePointLimit' ),
+ summaryByteLimit = mw.config.get( 'wgCommentByteLimit' ),
+ $wpReason = $( '#wpReason' ),
+ $tagList = $( '#mw-edittags-tag-list' );
+
if ( $tagList.length ) {
$tagList.chosen( {
/* eslint-disable camelcase */
$( '#mw-edittags-remove-all' ).prop( 'checked', false );
}
} );
+
+ // Limit to bytes or UTF-8 codepoints, depending on MediaWiki's configuration
+ // use maxLength because it's leaving room for log entry text.
+ if ( summaryCodePointLimit ) {
+ $wpReason.codePointLimit();
+ } else if ( summaryByteLimit ) {
+ $wpReason.bytePointLimit();
+ }
} );
+
}( mediaWiki, jQuery ) );
*/
( function ( mw, $ ) {
$( function () {
+ var summaryCodePointLimit = mw.config.get( 'wgCommentCodePointLimit' ),
+ summaryByteLimit = mw.config.get( 'wgCommentByteLimit' ),
+ wpReason = OO.ui.infuse( $( '#wpReason' ) );
+
// Infuse for pretty dropdown
OO.ui.infuse( $( '#wpNewTitle' ) );
- // Limit to bytes, not characters
- mw.widgets.visibleByteLimit( OO.ui.infuse( $( '#wpReason' ) ) );
+ // Limit to bytes or UTF-8 codepoints, depending on MediaWiki's configuration
+ if ( summaryCodePointLimit ) {
+ mw.widgets.visibleCodePointLimit( wpReason, summaryCodePointLimit );
+ } else if ( summaryByteLimit ) {
+ mw.widgets.visibleByteLimit( wpReason, summaryByteLimit );
+ }
// Infuse for nicer "help" popup
if ( $( '#wpMovetalk-field' ).length ) {
OO.ui.infuse( $( '#wpMovetalk-field' ) );
--- /dev/null
+/*!
+ * JavaScript for Special:RevisionDelete
+ */
+( function ( mw, $ ) {
+ var colonSeparator = mw.message( 'colon-separator' ).text(),
+ summaryCodePointLimit = mw.config.get( 'wgCommentCodePointLimit' ),
+ summaryByteLimit = mw.config.get( 'wgCommentByteLimit' ),
+ $wpRevDeleteReasonList = $( '#wpRevDeleteReasonList' ),
+ $wpReason = $( '#wpReason' ),
+ filterFn = function ( input ) {
+ // Should be built the same as in SpecialRevisionDelete::submit()
+ var comment = $wpRevDeleteReasonList.val();
+ if ( comment === 'other' ) {
+ comment = input;
+ } else if ( input !== '' ) {
+ // Entry from drop down menu + additional comment
+ comment += colonSeparator + input;
+ }
+ return comment;
+ };
+
+ // Limit to bytes or UTF-8 codepoints, depending on MediaWiki's configuration
+ if ( summaryCodePointLimit ) {
+ $wpReason.codePointLimit( summaryCodePointLimit, filterFn );
+ } else if ( summaryByteLimit ) {
+ $wpReason.bytePointLimit( summaryByteLimit, filterFn );
+ }
+
+}( mediaWiki, jQuery ) );
/*!
* JavaScript for Special:Undelete
*/
-jQuery( function ( $ ) {
- $( '#mw-undelete-invert' ).click( function () {
- $( '.mw-undelete-revlist input[type="checkbox"]' ).prop( 'checked', function ( i, val ) {
- return !val;
+( function ( mw, $ ) {
+ $( function () {
+ var summaryCodePointLimit = mw.config.get( 'wgCommentCodePointLimit' ),
+ summaryByteLimit = mw.config.get( 'wgCommentByteLimit' ),
+ wpComment = OO.ui.infuse( $( '#wpComment' ).closest( '.oo-ui-widget' ) );
+
+ $( '#mw-undelete-invert' ).click( function () {
+ $( '.mw-undelete-revlist input[type="checkbox"]' ).prop( 'checked', function ( i, val ) {
+ return !val;
+ } );
} );
+
+ // Limit to bytes or UTF-8 codepoints, depending on MediaWiki's configuration
+ if ( summaryCodePointLimit ) {
+ mw.widgets.visibleCodePointLimit( wpComment, summaryCodePointLimit );
+ } else if ( summaryByteLimit ) {
+ mw.widgets.visibleByteLimit( wpComment, summaryByteLimit );
+ }
} );
-} );
+}( mediaWiki, jQuery ) );
/*!
* JavaScript for Special:UserRights
*/
-( function ( $ ) {
- var convertmessagebox = require( 'mediawiki.notification.convertmessagebox' );
+( function ( mw, $ ) {
+ var convertmessagebox = require( 'mediawiki.notification.convertmessagebox' ),
+ summaryCodePointLimit = mw.config.get( 'wgCommentCodePointLimit' ),
+ summaryByteLimit = mw.config.get( 'wgCommentByteLimit' ),
+ $wpReason = $( '#wpReason' );
+
// Replace successbox with notifications
convertmessagebox();
$( '.mw-userrights-nested select' ).on( 'change', function ( e ) {
$( e.target.parentNode ).find( 'input' ).toggle( $( e.target ).val() === 'other' );
} );
-}( jQuery ) );
+
+ // Limit to bytes or UTF-8 codepoints, depending on MediaWiki's configuration
+ if ( summaryCodePointLimit ) {
+ $wpReason.codePointLimit( summaryCodePointLimit );
+ } else if ( summaryByteLimit ) {
+ $wpReason.bytePointLimit( summaryByteLimit );
+ }
+
+}( mediaWiki, jQuery ) );
$root
.find( '.mw-htmlform-select-and-other-field' )
.each( function () {
- var $this = $( this ),
+ var $reasonList, currentValReasonList, maxlengthUnit, lengthLimiter, widget,
+ $this = $( this ),
+ $widget = $this.closest( '.oo-ui-widget[data-ooui]' );
+
+ if ( $widget ) {
+ mw.loader.using( 'mediawiki.widgets.SelectWithInputWidget', function () {
+ widget = OO.ui.Widget.static.infuse( $widget );
+ maxlengthUnit = widget.getData().maxlengthUnit;
+ lengthLimiter = maxlengthUnit === 'codepoints' ? 'codePointLimit' : 'byteLimit';
+ widget.textinput.$input[ lengthLimiter ]( function ( input ) {
+ // Should be built the same as in HTMLSelectAndOtherField::loadDataFromRequest
+ var comment = widget.dropdowninput.getValue();
+ if ( comment === 'other' ) {
+ comment = input;
+ } else if ( input !== '' ) {
+ // Entry from drop down menu + additional comment
+ comment += colonSeparator + input;
+ }
+ return comment;
+ } );
+ } );
+ } else {
// find the reason list
- $reasonList = $root.find( '#' + $this.data( 'id-select' ) ),
+ $reasonList = $root.find( '#' + $this.data( 'id-select' ) );
// cache the current selection to avoid expensive lookup
currentValReasonList = $reasonList.val();
- $reasonList.change( function () {
- currentValReasonList = $reasonList.val();
- } );
+ $reasonList.change( function () {
+ currentValReasonList = $reasonList.val();
+ } );
- $this.byteLimit( function ( input ) {
- // Should be built the same as in HTMLSelectAndOtherField::loadDataFromRequest
- var comment = currentValReasonList;
- if ( comment === 'other' ) {
- comment = input;
- } else if ( input !== '' ) {
- // Entry from drop down menu + additional comment
- comment += colonSeparator + input;
- }
- return comment;
- } );
+ // Select the function for the length limit
+ maxlengthUnit = $this.data( 'mw-maxlength-unit' );
+ lengthLimiter = maxlengthUnit === 'codepoints' ? 'codePointLimit' : 'byteLimit';
+ $this[ lengthLimiter ]( function ( input ) {
+ // Should be built the same as in HTMLSelectAndOtherField::loadDataFromRequest
+ var comment = currentValReasonList;
+ if ( comment === 'other' ) {
+ comment = input;
+ } else if ( input !== '' ) {
+ // Entry from drop down menu + additional comment
+ comment += colonSeparator + input;
+ }
+ return comment;
+ } );
+ }
} );
} );
$limit = "/bin/bash '$IP/includes/shell/limit.sh'";
$profile = "--profile=$IP/includes/shell/firejail.profile";
$blacklist = '--blacklist=' . realpath( MW_CONFIG_FILE );
- $default = "$blacklist --noroot --seccomp=@default --private-dev";
+ $default = "$blacklist --noroot --seccomp --private-dev";
return [
[
'No restrictions',
[
'seccomp',
'ls', Shell::SECCOMP,
- "$limit 'firejail --quiet $profile --seccomp=@default -- '\''ls'\''' $env"
+ "$limit 'firejail --quiet $profile --seccomp -- '\''ls'\''' $env"
],
[
'seccomp & no execve',
'ls', Shell::SECCOMP | Shell::NO_EXECVE,
- "$limit 'firejail --quiet $profile --shell=none --seccomp=@default,execve -- '\''ls'\''' $env"
+ "$limit 'firejail --quiet $profile --shell=none --seccomp=execve -- '\''ls'\''' $env"
],
];
}
'ResourceLoaderTestCase',
'PHPUnit_Framework_TestCase',
'\\?PHPUnit\\Framework\\TestCase',
+ 'TestCase', // \PHPUnit\Framework\TestCase with appropriate use statement
'DumpTestCase',
] );
$testClassRegex = "^class .* extends ($testClassRegex)";