Merge "tables.sql: Correct lie about ct_params being unused"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Wed, 7 Mar 2018 22:58:26 +0000 (22:58 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Wed, 7 Mar 2018 22:58:26 +0000 (22:58 +0000)
195 files changed:
RELEASE-NOTES-1.31
composer.json
includes/DefaultSettings.php
includes/Revision.php
includes/SiteStatsInit.php
includes/Storage/RevisionStore.php
includes/api/ApiBase.php
includes/api/ApiQueryContributors.php
includes/api/ApiQueryLogEvents.php
includes/api/ApiQueryUserContributions.php
includes/api/i18n/ja.json
includes/api/i18n/ko.json
includes/api/i18n/pt.json
includes/content/WikitextContent.php
includes/db/DatabaseOracle.php
includes/deferred/SiteStatsUpdate.php
includes/diff/DifferenceEngine.php
includes/installer/i18n/el.json
includes/installer/i18n/fa.json
includes/installer/i18n/pt.json
includes/jobqueue/JobQueueSecondTestQueue.php
includes/libs/rdbms/database/DBConnRef.php
includes/libs/rdbms/database/Database.php
includes/libs/rdbms/database/DatabaseMssql.php
includes/libs/rdbms/database/DatabaseMysqlBase.php
includes/libs/rdbms/database/DatabaseMysqli.php
includes/libs/rdbms/database/DatabaseSqlite.php
includes/libs/rdbms/database/IDatabase.php
includes/logging/LogEntry.php
includes/logging/LogPager.php
includes/page/Article.php
includes/parser/Parser.php
includes/parser/StripState.php
includes/specials/SpecialContributions.php
includes/specials/pagers/ContribsPager.php
languages/data/Names.php
languages/i18n/aeb-arab.json
languages/i18n/af.json
languages/i18n/ais.json
languages/i18n/ar.json
languages/i18n/as.json
languages/i18n/ast.json
languages/i18n/awa.json
languages/i18n/azb.json
languages/i18n/ba.json
languages/i18n/bcc.json
languages/i18n/bcl.json
languages/i18n/be-tarask.json
languages/i18n/be.json
languages/i18n/bg.json
languages/i18n/bgn.json
languages/i18n/bho.json
languages/i18n/bn.json
languages/i18n/br.json
languages/i18n/bs.json
languages/i18n/ca.json
languages/i18n/ce.json
languages/i18n/cs.json
languages/i18n/cy.json
languages/i18n/da.json
languages/i18n/de.json
languages/i18n/diq.json
languages/i18n/dsb.json
languages/i18n/dty.json
languages/i18n/egl.json
languages/i18n/el.json
languages/i18n/en.json
languages/i18n/eo.json
languages/i18n/es.json
languages/i18n/et.json
languages/i18n/eu.json
languages/i18n/fa.json
languages/i18n/fi.json
languages/i18n/fr.json
languages/i18n/frp.json
languages/i18n/frr.json
languages/i18n/gd.json
languages/i18n/gl.json
languages/i18n/gor.json
languages/i18n/gsw.json
languages/i18n/he.json
languages/i18n/hi.json
languages/i18n/hif-latn.json
languages/i18n/hil.json
languages/i18n/hr.json
languages/i18n/hrx.json
languages/i18n/hsb.json
languages/i18n/hu.json
languages/i18n/ia.json
languages/i18n/id.json
languages/i18n/ilo.json
languages/i18n/io.json
languages/i18n/is.json
languages/i18n/it.json
languages/i18n/ja.json
languages/i18n/jv.json
languages/i18n/ka.json
languages/i18n/kab.json
languages/i18n/kbd-cyrl.json
languages/i18n/kk-cyrl.json
languages/i18n/ko.json
languages/i18n/krc.json
languages/i18n/ksh.json
languages/i18n/ku-latn.json
languages/i18n/lfn.json
languages/i18n/li.json
languages/i18n/lij.json
languages/i18n/lki.json
languages/i18n/lrc.json
languages/i18n/lt.json
languages/i18n/mai.json
languages/i18n/mg.json
languages/i18n/min.json
languages/i18n/mk.json
languages/i18n/ml.json
languages/i18n/mr.json
languages/i18n/ms.json
languages/i18n/myv.json
languages/i18n/nap.json
languages/i18n/nb.json
languages/i18n/nds-nl.json
languages/i18n/ne.json
languages/i18n/nl.json
languages/i18n/nn.json
languages/i18n/oc.json
languages/i18n/or.json
languages/i18n/pl.json
languages/i18n/pms.json
languages/i18n/pt-br.json
languages/i18n/pt.json
languages/i18n/qqq.json
languages/i18n/qu.json
languages/i18n/rm.json
languages/i18n/ro.json
languages/i18n/roa-tara.json
languages/i18n/ru.json
languages/i18n/rue.json
languages/i18n/sa.json
languages/i18n/sah.json
languages/i18n/scn.json
languages/i18n/sco.json
languages/i18n/sd.json
languages/i18n/ses.json
languages/i18n/sh.json
languages/i18n/si.json
languages/i18n/sk.json
languages/i18n/sl.json
languages/i18n/sq.json
languages/i18n/sr-ec.json
languages/i18n/sr-el.json
languages/i18n/su.json
languages/i18n/sv.json
languages/i18n/ta.json
languages/i18n/te.json
languages/i18n/th.json
languages/i18n/tl.json
languages/i18n/tr.json
languages/i18n/udm.json
languages/i18n/ug-arab.json
languages/i18n/uk.json
languages/i18n/ur.json
languages/i18n/vec.json
languages/i18n/vi.json
languages/i18n/wa.json
languages/i18n/war.json
languages/i18n/wuu.json
languages/i18n/xmf.json
languages/i18n/yi.json
languages/i18n/yo.json
languages/i18n/yue.json
languages/i18n/zgh.json
languages/i18n/zh-hans.json
languages/i18n/zh-hant.json
languages/messages/MessagesHu_formal.php [new file with mode: 0644]
resources/src/mediawiki.action/mediawiki.action.edit.styles.less
resources/src/mediawiki.special/mediawiki.special.apisandbox.js
resources/src/mediawiki/mediawiki.diff.styles.css
tests/parser/TidySupport.php
tests/parser/parserTests.txt
tests/phpunit/includes/api/query/ApiQueryUserContributionsTest.php
tests/phpunit/includes/content/JavaScriptContentTest.php
tests/phpunit/includes/content/TextContentTest.php
tests/phpunit/includes/content/WikitextContentTest.php
tests/phpunit/includes/db/DatabaseOracleTest.php [new file with mode: 0644]
tests/phpunit/includes/db/DatabaseTestHelper.php
tests/phpunit/includes/deferred/SiteStatsUpdateTest.php [new file with mode: 0644]
tests/phpunit/includes/libs/rdbms/database/DatabaseMssqlTest.php [new file with mode: 0644]
tests/phpunit/includes/libs/rdbms/database/DatabaseMysqlBaseTest.php
tests/phpunit/includes/libs/rdbms/database/DatabaseSQLTest.php
tests/phpunit/includes/libs/rdbms/database/DatabaseSqliteRdbmsTest.php [new file with mode: 0644]
tests/phpunit/includes/logging/DatabaseLogEntryTest.php [new file with mode: 0644]
tests/phpunit/includes/page/WikiPageDbTestBase.php
tests/phpunit/includes/parser/StripStateTest.php [new file with mode: 0644]
tests/phpunit/includes/resourceloader/ResourceLoaderClientHtmlTest.php
tests/qunit/suites/resources/jquery/jquery.tablesorter.test.js

index 0c4bc68..186d8ab 100644 (file)
@@ -28,6 +28,9 @@ production.
   as upstream is inactive and has no plans to move to PHP 7.
 * The old CategorizedRecentChanges feature, including its related configuration
   option $wgAllowCategorizedRecentChanges, has been removed.
+* (T188472) The 'comma' value for $wgArticleCountMethod is no longer supported for
+  performance reasons, and installations with this setting will now work as if it
+  was configured with 'any'.
 
 === New features in 1.31 ===
 * Wikimedia\Rdbms\IDatabase->select() and similar methods now support
@@ -78,6 +81,7 @@ production.
 * Updated wikimedia/wrappedstring from 2.2.0 to 2.3.0.
 * Updated mediawiki/at-ease from 1.1.0 to 1.2.0.
 * Updated wikimedia/php-session-serializer from 1.0.4 to 1.0.5.
+* Updated wikimedia/remex-html from 1.0.2 to 1.0.3.
 * …
 
 ==== New external libraries ====
@@ -116,6 +120,7 @@ changes to languages because of Phabricator reports.
 * (T186635) New language support: Guianan Creole (gcr).
 * (T186647) New language support: Kumyk [къумукъ] (kum).
 * (T187750) New language support: Spanish formal address (es-formal).
+* (T187824) New language support: Hungarian formal address (hu-formal).
 
 === Other changes in 1.31 ===
 * Browser support for Internet Explorer 10 was lowered from Grade A to Grade C.
@@ -276,6 +281,14 @@ changes to languages because of Phabricator reports.
   * ::setExtendedLoginCookie()
   Note that User::setCookies() remains, and is not deprecated.
 * The global functions wfProfileIn and wfProfileOut, deprecated in 1.25, have been removed.
+* The following methods related to caching of half-parsed HTML were deprecated:
+  * Parser::serializeHalfParsedText()
+  * Parser::unserializeHalfParsedText()
+  * Parser::isValidHalfParsedText()
+  * StripState::getSubState()
+  * StripState::merge()
+* The "free" class is now only applied to unbracketed URLs in wikitext. Links
+  written using square brackets will get the class "text" not "free".
 
 == Compatibility ==
 MediaWiki 1.31 requires PHP 5.5.9 or later. Although HHVM 3.18.5 or later is supported,
index c96374f..5d7ac89 100644 (file)
@@ -40,7 +40,7 @@
                "wikimedia/php-session-serializer": "1.0.5",
                "wikimedia/purtle": "1.0.6",
                "wikimedia/relpath": "2.1.1",
-               "wikimedia/remex-html": "1.0.2",
+               "wikimedia/remex-html": "1.0.3",
                "wikimedia/running-stat": "1.2.1",
                "wikimedia/scoped-callback": "1.0.0",
                "wikimedia/utfnormal": "1.1.0",
index 33418d8..fad49e4 100644 (file)
@@ -3311,9 +3311,10 @@ $wgAllowUserJs = false;
 $wgAllowUserCss = false;
 
 /**
- * Allow user-preferences implemented in CSS?
- * This allows users to customise the site appearance to a greater
- * degree; disabling it will improve page load times.
+ * Allow style-related user-preferences?
+ *
+ * This controls whether the `editfont` and `underline` preferences
+ * are availabe to users.
  */
 $wgAllowUserCssPrefs = true;
 
@@ -4438,7 +4439,6 @@ $wgEnableMagicLinks = [
  *
  * This variable can have the following values:
  * - 'any': all pages as considered as valid articles
- * - 'comma': the page must contain a comma to be considered valid
  * - 'link': the page must contain a [[wiki link]] to be considered valid
  *
  * See also See https://www.mediawiki.org/wiki/Manual:Article_count
index f8a3fcc..22eb115 100644 (file)
@@ -938,11 +938,6 @@ class Revision implements IDBAccessObject {
                        return $this->mRecord->getContent( 'main', $audience, $user );
                }
                catch ( RevisionAccessException $e ) {
-                       wfDebugLog(
-                               'T184670',
-                               __METHOD__ . ": Cannot get content: " . $e->getMessage() .
-                               "\n" . $e->getTraceAsString()
-                       );
                        return null;
                }
        }
index f527cb2..8adb218 100644 (file)
@@ -79,13 +79,6 @@ class SiteStatsInit {
                if ( $config->get( 'ArticleCountMethod' ) == 'link' ) {
                        $tables[] = 'pagelinks';
                        $conds[] = 'pl_from=page_id';
-               } elseif ( $config->get( 'ArticleCountMethod' ) == 'comma' ) {
-                       // To make a correct check for this, we would need, for each page,
-                       // to load the text, maybe uncompress it, maybe decode it and then
-                       // check if there's one comma.
-                       // But one thing we are sure is that if the page is empty, it can't
-                       // contain a comma :)
-                       $conds[] = 'page_len > 0';
                }
 
                $this->articles = $this->dbr->selectField(
index e13fc1f..e00deef 100644 (file)
@@ -613,7 +613,7 @@ class RevisionStore
 
                        $fields['title'] = Title::makeTitle( $current->page_namespace, $current->page_title );
 
-                       $mainSlot = $this->emulateMainSlot_1_29( $fields, 0, $title );
+                       $mainSlot = $this->emulateMainSlot_1_29( $fields, self::READ_LATEST, $title );
                        $revision = new MutableRevisionRecord( $title, $this->wikiId );
                        $this->initializeMutableRevisionFromArray( $revision, $fields );
                        $revision->setSlot( $mainSlot );
index 228d319..73315a0 100644 (file)
@@ -1615,6 +1615,10 @@ abstract class ApiBase extends ContextSource {
         * @return string Validated and normalized parameter
         */
        private function validateUser( $value, $encParamName ) {
+               if ( ExternalUserNames::isExternal( $value ) && User::newFromName( $value, false ) ) {
+                       return $value;
+               }
+
                $title = Title::makeTitleSafe( NS_USER, $value );
                if ( $title === null || $title->hasFragment() ) {
                        $this->dieWithError(
index 48516a7..d07df5a 100644 (file)
@@ -174,7 +174,7 @@ class ApiQueryContributors extends ApiQueryBase {
                        $this->addJoinConds( [ 'user_groups' => [
                                $excludeGroups ? 'LEFT OUTER JOIN' : 'INNER JOIN',
                                [
-                                       'ug_user=' . $actorQuery['fields']['rev_user'],
+                                       'ug_user=' . $revQuery['fields']['rev_user'],
                                        'ug_group' => $limitGroups,
                                        'ug_expiry IS NULL OR ug_expiry >= ' . $db->addQuotes( $db->timestamp() )
                                ]
index 68902a3..84e12d7 100644 (file)
@@ -172,10 +172,8 @@ class ApiQueryLogEvents extends ApiQueryBase {
                if ( !is_null( $user ) ) {
                        // Note the joins in $q are the same as those from ->getJoin() above
                        // so we only need to add 'conds' here.
-                       // Don't query by user ID here, it might be able to use the
-                       // log_user_text_time or log_user_text_type_time index.
                        $q = $actorMigration->getWhere(
-                               $db, 'log_user', User::newFromName( $params['user'], false ), false
+                               $db, 'log_user', User::newFromName( $params['user'], false )
                        );
                        $this->addWhere( $q['conds'] );
                }
index e587ef4..bb4a2ef 100644 (file)
@@ -245,7 +245,7 @@ class ApiQueryContributions extends ApiQueryBase {
                                        );
                                }
 
-                               if ( User::isIP( $u ) ) {
+                               if ( User::isIP( $u ) || ExternalUserNames::isExternal( $u ) ) {
                                        $names[$u] = null;
                                } else {
                                        $name = User::getCanonicalName( $u, 'valid' );
index f51b03f..80f161b 100644 (file)
@@ -12,7 +12,8 @@
                        "Suchichi02",
                        "Kkairri",
                        "ネイ",
-                       "Omotecho"
+                       "Omotecho",
+                       "Yusuke1109"
                ]
        },
        "apihelp-main-extended-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:Special:MyLanguage/API:Main_page|説明文書]]\n* [[mw:Special:MyLanguage/API:FAQ|よくある質問]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api メーリングリスト]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce API 告知]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R バグの報告とリクエスト]\n</div>\n<strong>状態:</strong> このページに表示されている機能は全て動作するはずですが、この API は未だ活発に開発されており、変更される可能性があります。アップデートの通知を受け取るには、[https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ the mediawiki-api-announce メーリングリスト]に参加してください。\n\n<strong>誤ったリクエスト:</strong> 誤ったリクエストが API に送られた場合、\"MediaWiki-API-Error\" HTTP ヘッダーが送信され、そのヘッダーの値と送り返されるエラーコードは同じ値にセットされます。より詳しい情報は [[mw:Special:MyLanguage/API:Errors_and_warnings|API: Errors and warnings]] を参照してください。\n\n<p class=\"mw-apisandbox-link\"><strong>テスト:</strong> API のリクエストのテストは、[[Special:ApiSandbox]]で簡単に行えます。</p>",
@@ -35,7 +36,7 @@
        "apihelp-block-param-autoblock": "その利用者が最後に使用したIPアドレスと、ブロック後に編集を試みた際のIPアドレスを自動的にブロックします。",
        "apihelp-block-param-noemail": "Wikiを通して電子メールを送信することを禁止します。(<code>blockemail</code> 権限が必要です)",
        "apihelp-block-param-hidename": "ブロック記録から利用者名を秘匿します。(<code>hideuser</code> 権限が必要です)",
-       "apihelp-block-param-allowusertalk": "自身のトークページの編集を許可する (<var>[[mw:Manual:$wgBlockAllowsUTEdit|$wgBlockAllowsUTEdit]]</var> に依存)。",
+       "apihelp-block-param-allowusertalk": "自身のトークページの編集を許可する (<var>[[mw:Special:MyLanguage/Manual:$wgBlockAllowsUTEdit|$wgBlockAllowsUTEdit]]</var> に依存)。",
        "apihelp-block-param-reblock": "その利用者がすでにブロックされている場合、ブロックを上書きします。",
        "apihelp-block-param-watchuser": "その利用者またはIPアドレスの利用者ページとトークページをウォッチします。",
        "apihelp-block-example-ip-simple": "IPアドレス <kbd>192.0.2.5</kbd> を <kbd>First strike<kbd> という理由で3日ブロックする",
        "apihelp-parse-paramvalue-prop-displaytitle": "構文解析されたウィキテキストのタイトルを追加します。",
        "apihelp-parse-paramvalue-prop-headitems": "ページの <code>&lt;head&gt;</code> の中に入れてアイテムを提供します。",
        "apihelp-parse-paramvalue-prop-headhtml": "ページの解析された <code>&lt;head&gt;</code> を与える。",
-       "apihelp-parse-paramvalue-prop-jsconfigvars": "ページに固有のJavaScriptの設定変数を提供します。",
+       "apihelp-parse-paramvalue-prop-jsconfigvars": "ページに固有のJavaScriptの設定変数を提供します。適用するには、<code>mw.config.set()</code>を使用します。",
        "apihelp-parse-paramvalue-prop-encodedjsconfigvars": "JSON文字列としてページに固有のJavaScriptの設定変数を提供します。",
        "apihelp-parse-paramvalue-prop-indicators": "ページ上で使用されるページのステータスインジケータのHTMLを提供します。",
        "apihelp-parse-paramvalue-prop-iwlinks": "構文解析されたウィキテキスト内でウィキ間リンクを提供します。",
index 034a033..1db9ed3 100644 (file)
        "apihelp-login-example-login": "로그인.",
        "apihelp-logout-summary": "로그아웃하고 세션 데이터를 지웁니다.",
        "apihelp-logout-example-logout": "현재 사용자를 로그아웃합니다.",
+       "apihelp-managetags-summary": "변경 태그에 관한 관리 작업을 수행합니다.",
        "apihelp-mergehistory-summary": "문서 역사를 합칩니다.",
        "apihelp-mergehistory-param-reason": "문서 병합 이유.",
        "apihelp-move-summary": "문서 이동하기.",
index f69fb08..14cf5aa 100644 (file)
@@ -12,7 +12,7 @@
                        "Waldir"
                ]
        },
-       "apihelp-main-extended-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:Special:MyLanguage/API:Main_page|Documentação]]\n* [[mw:Special:MyLanguage/API:FAQ|FAQ]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Lista de discussão]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce Anúncios da API]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Erros e pedidos]\n</div>\n<strong>Estado:</strong> Todas as funcionalidades mostradas nesta página devem ter o comportamento documentado, mas a API ainda está em desenvolvimento ativo e pode ser alterada a qualquer momento. Inscreva-se na [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ lista de discussão mediawiki-api-announce] para ser informado acerca das atualizações.\n\n<strong>Pedidos incorretos:</strong> Quando são enviados pedidos incorretos à API, será devolvido um cabeçalho HTTP com a chave \"MediaWiki-API-Error\" e depois tanto o valor desse cabeçalho como o código de erro devolvido serão definidos com o mesmo valor. Para mais informação, consulte [[mw:Special:MyLanguage/API:Errors_and_warnings|API:Erros e avisos]].\n\n<p class=\"mw-apisandbox-link\">\n<strong>Testes:</strong> Para testar facilmente pedidos à API, visite [[Special:ApiSandbox|Testes da API]].\n</p>",
+       "apihelp-main-extended-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:Special:MyLanguage/API:Main_page|Documentação]]\n* [[mw:Special:MyLanguage/API:FAQ|FAQ]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Lista de divulgação]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce Anúncios da API]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Defeitos e pedidos]\n</div>\n<strong>Estado:</strong> A API do MediaWiki é uma interface consolidada e estável que é constantemente suportada e melhorada. Embora tentemos evitá-lo, podemos ocasionalmente realizar alterações disruptivas. Inscreva-se na [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ lista de distribuição mediawiki-api-announce] para receber notificações das atualizações.\n\n<strong>Pedidos incorretos:</strong> Quando são enviados pedidos incorretos à API, será devolvido um cabeçalho HTTP com a chave \"MediaWiki-API-Error\" e depois tanto o valor desse cabeçalho como o código de erro devolvido serão definidos com o mesmo valor. Para mais informação, consulte [[mw:Special:MyLanguage/API:Errors_and_warnings|API:Erros e avisos]].\n\n<p class=\"mw-apisandbox-link\"><strong>Testes:</strong> Para testar facilmente pedidos à API, visite [[Special:ApiSandbox|Testes da API]].</p>",
        "apihelp-main-param-action": "A operação a ser realizada.",
        "apihelp-main-param-format": "O formato do resultado.",
        "apihelp-main-param-maxlag": "O atraso máximo pode ser usado quando o MediaWiki é instalado num ''cluster'' de bases de dados replicadas. Para impedir que as operações causem ainda mais atrasos de replicação do sítio, este parâmetro pode fazer o cliente aguardar até que o atraso de replicação seja inferior ao valor especificado. Caso o atraso atual exceda esse valor, o código de erro <samp>maxlag</samp> é devolvido com uma mensagem como <samp>À espera do servidor $host: $lag segundos de atraso</samp>.<br />Consulte [[mw:Special:MyLanguage/Manual:Maxlag_parameter|Manual: Parâmetro maxlag]] para mais informações.",
index bc20aa0..5beef31 100644 (file)
@@ -270,28 +270,22 @@ class WikitextContent extends TextContent {
                        return false;
                }
 
-               switch ( $wgArticleCountMethod ) {
-                       case 'any':
-                               return true;
-                       case 'comma':
-                               $text = $this->getNativeData();
-                               return strpos( $text, ',' ) !== false;
-                       case 'link':
-                               if ( $hasLinks === null ) { # not known, find out
-                                       if ( !$title ) {
-                                               $context = RequestContext::getMain();
-                                               $title = $context->getTitle();
-                                       }
-
-                                       $po = $this->getParserOutput( $title, null, null, false );
-                                       $links = $po->getLinks();
-                                       $hasLinks = !empty( $links );
+               if ( $wgArticleCountMethod === 'link' ) {
+                       if ( $hasLinks === null ) { # not known, find out
+                               if ( !$title ) {
+                                       $context = RequestContext::getMain();
+                                       $title = $context->getTitle();
                                }
 
-                               return $hasLinks;
+                               $po = $this->getParserOutput( $title, null, null, false );
+                               $links = $po->getLinks();
+                               $hasLinks = !empty( $links );
+                       }
+
+                       return $hasLinks;
                }
 
-               return false;
+               return true;
        }
 
        /**
index 225a36c..3362f0f 100644 (file)
@@ -1358,6 +1358,15 @@ class DatabaseOracle extends Database {
                return '(' . $this->selectSQLText( $table, $fld, $conds, null, [], $join_conds ) . ')';
        }
 
+       public function buildSubstring( $input, $startPosition, $length = null ) {
+               $this->assertBuildSubstringParams( $startPosition, $length );
+               $params = [ $input, $startPosition ];
+               if ( $length !== null ) {
+                       $params[] = $length;
+               }
+               return 'SUBSTR(' . implode( ',', $params ) . ')';
+       }
+
        /**
         * @param string $field Field or column to cast
         * @return string
index 79aab7d..7cb2950 100644 (file)
@@ -66,6 +66,12 @@ class SiteStatsUpdate implements DeferrableUpdate, MergeableUpdate {
        public static function factory( array $deltas ) {
                $update = new self( 0, 0, 0 );
 
+               foreach ( $deltas as $name => $unused ) {
+                       if ( !in_array( $name, self::$counters ) ) { // T187585
+                               throw new UnexpectedValueException( __METHOD__ . ": no field called '$name'" );
+                       }
+               }
+
                foreach ( self::$counters as $field ) {
                        if ( isset( $deltas[$field] ) && $deltas[$field] ) {
                                $update->$field = $deltas[$field];
index fa30d68..037a80f 100644 (file)
@@ -1294,7 +1294,7 @@ class DifferenceEngine extends ContextSource {
 
                if ( !$diff && !$otitle ) {
                        $header .= "
-                       <tr style=\"vertical-align: top;\" lang=\"{$userLang}\">
+                       <tr class=\"diff-title\" lang=\"{$userLang}\">
                        <td class=\"diff-ntitle\">{$ntitle}</td>
                        </tr>";
                        $multiColspan = 1;
@@ -1313,7 +1313,7 @@ class DifferenceEngine extends ContextSource {
                        }
                        if ( $otitle || $ntitle ) {
                                $header .= "
-                               <tr style=\"vertical-align: top;\" lang=\"{$userLang}\">
+                               <tr class=\"diff-title\" lang=\"{$userLang}\">
                                <td colspan=\"$colspan\" class=\"diff-otitle\">{$otitle}</td>
                                <td colspan=\"$colspan\" class=\"diff-ntitle\">{$ntitle}</td>
                                </tr>";
@@ -1321,12 +1321,12 @@ class DifferenceEngine extends ContextSource {
                }
 
                if ( $multi != '' ) {
-                       $header .= "<tr><td colspan=\"{$multiColspan}\" style=\"text-align: center;\" " .
+                       $header .= "<tr><td colspan=\"{$multiColspan}\" " .
                                "class=\"diff-multi\" lang=\"{$userLang}\">{$multi}</td></tr>";
                }
                if ( $notice != '' ) {
-                       $header .= "<tr><td colspan=\"{$multiColspan}\" style=\"text-align: center;\" " .
-                               "lang=\"{$userLang}\">{$notice}</td></tr>";
+                       $header .= "<tr><td colspan=\"{$multiColspan}\" " .
+                               "class=\"diff-notice\" lang=\"{$userLang}\">{$notice}</td></tr>";
                }
 
                return $header . $diff . "</table>";
index 0c93b3a..6d1e3f1 100644 (file)
        "config-page-existingwiki": "Υπάρχον wiki",
        "config-help-restart": "Θέλετε να καταργήσετε όλα τα αποθηκευμένα δεδομένα που έχετε εισαγάγει και να επανεκκινήσετε τη διαδικασία εγκατάστασης;",
        "config-restart": "Ναι, επανεκκίνηση",
-       "config-welcome": "=== Î ÎµÏ\81ιβαλλονÏ\84ικοί Î­Î»ÎµÎ³Ï\87οι ===\nΤÏ\8eÏ\81α Î¸Î± Î³Î¯Î½Î¿Ï\85ν Î²Î±Ï\83ικοί Î­Î»ÎµÎ³Ï\87οι Î³Î¹Î± Î½Î± Î´Î¿Ï\8dμε Î±Î½ Î±Ï\85Ï\84Ï\8c Ï\84ο Ï\80εÏ\81ιβάλλον ÎµÎ¯Î½Î±Î¹ ÎºÎ±Ï\84άλληλο Î³Î¹Î± Ï\84ην ÎµÎ³ÎºÎ±Ï\84άÏ\83Ï\84αÏ\83η Ï\84οÏ\85 MediaWiki.\nÎ\98Ï\85μηθείÏ\84ε Î½Î± Ï\83Ï\85μÏ\80εÏ\81ιλάβεÏ\84ε Î±Ï\85Ï\84έÏ\82 Ï\84ιÏ\82 Ï\80ληÏ\81οÏ\86οÏ\81ίεÏ\82 ÎµÎ¬Î½ Î±Î½Î±Î¶Î·Ï\84ήÏ\83εÏ\84ε Ï\85Ï\80οÏ\83Ï\84ήÏ\81ιξη Î³Î¹Î± Ï\84ο Ï\80Ï\8eÏ\82 να ολοκληρώσετε την εγκατάσταση.",
-       "config-copyright": "=== Πνευματικά δικαιώματα και Όροι ===\n\n$1\n\nΑυτό το πρόγραμμα είναι ελεύθερο λογισμικό• μπορείτε να το αναδιανείμετε ή και να το τροποποιήσετε υπό τους όρους της Γενικής Άδειας Δημόσιας Χρήσης GNU, όπως αυτή δημοσιεύεται από το Ίδρυμα Ελεύθερου Λογισμικού• είτε της έκδοσης 2 της Άδειας, είτε (κατά την επιλογή σας) οποιασδήποτε μεταγενέστερης έκδοσης.\n\nΑυτό το πρόγραμμα διανέμεται με την ελπίδα ότι θα είναι χρήσιμο, αλλά <strong>χωρίς καμία εγγύηση</strong>• χωρίς καν την υπονοούμενη εγγύηση της <strong>εμπορευσιμότητας</strong> ή της <strong>καταλληλοτότητας για συγκεκριμένο σκοπό</strong>.\nΔείτε την Γενική Άδεια Δημόσιας Χρήσης GNU για περισσότερες λεπτομέρειες.\n\nΘα πρέπει να έχετε λάβει <doclink href=\"Copying\">ένα αντίγραφο της Γενικής Άδειας Δημόσιας Χρήσης GNU</doclink> μαζί με αυτό το πρόγραμμα• αν όχι, γράψτε στο Free Software Foundation,\n51 Franklin Street, Fifth Floor,\nBoston, MA 02110-1335\nUSA ή [https://www.gnu.org/copyleft/gpl.html διαβάστε online].",
+       "config-welcome": "=== Î\88λεγÏ\87οι Ï\84οÏ\85 Ï\80εÏ\81ιβάλλονÏ\84οÏ\82 ===\nΤÏ\8eÏ\81α Î¸Î± Î³Î¯Î½Î¿Ï\85ν Î²Î±Ï\83ικοί Î­Î»ÎµÎ³Ï\87οι Î³Î¹Î± Î½Î± Î´Î¿Ï\8dμε Î±Î½ Î±Ï\85Ï\84Ï\8c Ï\84ο Ï\80εÏ\81ιβάλλον ÎµÎ¯Î½Î±Î¹ ÎºÎ±Ï\84άλληλο Î³Î¹Î± Ï\84ην ÎµÎ³ÎºÎ±Ï\84άÏ\83Ï\84αÏ\83η Ï\84οÏ\85 MediaWiki.\nÎ\98Ï\85μηθείÏ\84ε Î½Î± Ï\83Ï\85μÏ\80εÏ\81ιλάβεÏ\84ε Î±Ï\85Ï\84έÏ\82 Ï\84ιÏ\82 Ï\80ληÏ\81οÏ\86οÏ\81ίεÏ\82 ÎµÎ¬Î½ Î±Î½Î±Î¶Î·Ï\84ήÏ\83εÏ\84ε Ï\85Ï\80οÏ\83Ï\84ήÏ\81ιξη Î³Î¹Î± να ολοκληρώσετε την εγκατάσταση.",
+       "config-copyright": "=== Πνευματικά δικαιώματα και όροι ===\n\n$1\n\nΑυτό το πρόγραμμα είναι ελεύθερο λογισμικό· μπορείτε να το αναδιανείμετε ή/και να το τροποποιήσετε υπό τους όρους της Γενικής Άδειας Δημόσιας Χρήσης GNU, όπως αυτή δημοσιεύεται από το Ίδρυμα Ελεύθερου Λογισμικού· είτε της έκδοσης 2 της Άδειας, είτε (κατ' επιλογήν σας) οποιασδήποτε μεταγενέστερης έκδοσης.\n\nΑυτό το πρόγραμμα διανέμεται με την ελπίδα ότι θα είναι χρήσιμο, αλλά <strong>χωρίς καμία εγγύηση</strong>· χωρίς καν τη σιωπηρή εγγύηση της <strong>εμπορευσιμότητας</strong> ή <strong>καταλληλότητας για συγκεκριμένο σκοπό</strong>.\nΔείτε τη Γενική Άδεια Δημόσιας Χρήσης GNU για περισσότερες λεπτομέρειες.\n\nΘα πρέπει να έχετε παραλάβει <doclink href=\"Copying\">ένα αντίγραφο της Γενικής Άδειας Δημόσιας Χρήσης GNU</doclink> μαζί με αυτό το πρόγραμμα· αν όχι, στείλτε ένα γράμμα στο Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA, ή [https://www.gnu.org/copyleft/gpl.html διαβάστε το διαδικτυακά].",
        "config-sidebar": "* [https://www.mediawiki.org Αρχική MediaWiki]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents Οδηγός Χρήστη]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Contents Οδηγός Διαχειριστή]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Συχνές ερωτήσεις]\n----\n* <doclink href=\"Readme\">Διαβάστε με</doclink>\n* <doclink href=\"ReleaseNotes\">Σημειώσεις έκδοσης</doclink>\n* <doclink href=\"Copying\">Αντιγραφή</doclink>\n* <doclink href=\"UpgradeDoc\">Αναβάθμιση</doclink>",
        "config-env-good": "Το περιβάλλον έχει ελεγχθεί.\nΜπορείτε να εγκαταστήσετε το MediaWiki.",
        "config-env-bad": "Το περιβάλλον έχει ελεγχθεί.\nΔεν μπορείτε να εγκαταστήσετε το MediaWiki.",
        "config-env-php": "H PHP $1 είναι εγκατεστημένη.",
        "config-env-hhvm": "Το HHVM $1 είναι εγκατεστημένο.",
-       "config-unicode-using-intl": "Χρησιμοποιώντας την [https://pecl.php.net/intl επέκταση intl PECL] για κανονικοποίηση Unicode.",
+       "config-unicode-using-intl": "Χρησιμοποιείται η [https://pecl.php.net/intl επέκταση intl PECL] για κανονικοποίηση Unicode.",
        "config-unicode-pure-php-warning": "<strong>Προειδοποίηση:</strong> Η [https://pecl.php.net/intl επέκταση intl PECL] δεν είναι διαθέσιμη για να χειριστεί την κανονικοποίηση Unicode, επιστρέφουμε στην αργή αμιγώς PHP εφαρμογή.\nΕάν λειτουργείτε έναν ιστότοπο υψηλής επισκεψιμότητας, θα πρέπει να ρίξετε μια ματιά στην [https://www.mediawiki.org/wiki/Special:MyLanguage/Unicode_normalization_considerations κανονικοποίηση Unicode].",
        "config-no-db": "Δεν βρέθηκε κάποιο κατάλληλο πρόγραμμα οδήγησης βάσης δεδομένων! Θα πρέπει να εγκαταστήσετε ένα πρόγραμμα οδήγησης βάσης δεδομένων για  PHP.\nΟ παρακάτω {{PLURAL:$2|τύπος βάσης δεδομένων|τύποι βάσεων δεδομένων}} υποστηρίζονται: $1.\n\nΑν κάνετε compile την PHP μόνοι σας, ρυθμίστε ξανά τις παραμέτρους με κάποιον ενεργοποιημένο εξυπηρετητή βάσεων  δεδομένων, για παράδειγμα, χρησιμοποιώντας την εντολή <code>./configure --with-mysqli</code>.\nΕάν έχετε εγκαταστήσει την PHP από κάποιο πακέτο στο Debian ή στο Ubuntu, τότε θα πρέπει να εγκαταστήσετε επίσης, για παράδειγμα, το πακέτο <code>php5-mysql</code>.",
        "config-outdated-sqlite": "<strong>Προειδοποίηση:</strong> έχετε την SQLite έκδοση $1, που είναι χαμηλότερη από την ελάχιστη απαιτούμενη έκδοση $2. Η SQLite δεν θα είναι διαθέσιμη.",
        "config-apc": "Το [http://www.php.net/apc APC] είναι εγκατεστημένο",
        "config-wincache": "[https://www.iis.net/download/WinCacheForPhp Το WinCache] είναι εγκατεστημένο",
        "config-diff3-bad": "Το GNU diff3 δεν βρέθηκε.",
-       "config-git": "Βρέθηκε η Git έκδοση λογισμικού ελέγχου: <code>$1</code>.",
-       "config-git-bad": "Η Git έκδοση του λογισμικού ελέγχου δεν βρέθηκε.",
+       "config-git": "Βρέθηκε το λογισμικό ελέγχου εκδόσεων Git: <code>$1</code>.",
+       "config-git-bad": "Το λογισμικό ελέγχου εκδόσεων Git δεν βρέθηκε.",
+       "config-imagemagick": "Βρέθηκε το ImageMagick: <code>$1</code>.\nΟι μικρογραφίες εικόνων θα ενεργοποιηθούν αν ενεργοποιήσετε το ανέβασμα αρχείων.",
+       "config-gd": "Βρέθηκε ενσωματωμένη η βιβλιοθήκη γραφικών GD.\nΟι μικρογραφίες εικόνων θα ενεργοποιηθούν αν ενεργοποιήσετε το ανέβασμα αρχείων.",
+       "config-no-scaling": "Δεν ήταν δυνατόν να βρεθεί η βιβλιοθήκη GD ή το ImageMagick.\nΟι μικρογραφίες εικόνων θα απενεργοποιηθούν.",
        "config-no-uri": "<strong>Σφάλμα:</strong> Δεν ήταν δυνατό να καθοριστεί το τρέχον URI.\nΗ εγκατάσταση ματαιώθηκε.",
-       "config-using-server": "Χρησιμοποιείται το όνομα διακομιστή \"<nowiki>$1</nowiki>\".",
-       "config-using-uri": "Χρησιμοποιώντας την διεύθυνση URL του διακομιστή \"<nowiki>$1$2</nowiki>\".",
+       "config-no-cli-uri": "<strong>Προειδοποίηση:</strong> Δεν καθορίστηκε <code>--scriptpath</code>, χρησιμοποιείται η προεπιλογή: <code>$1</code>.",
+       "config-using-server": "Χρησιμοποιείται το όνομα διακομιστή «<nowiki>$1</nowiki>».",
+       "config-using-uri": "Χρησιμοποιείται η διεύθυνση URL του διακομιστή «<nowiki>$1$2</nowiki>».",
+       "config-uploads-not-safe": "<strong>Προειδοποίηση:</strong> Ο προεπιλεγμένος σας κατάλογος για ανέβασμα <code>$1</code> είναι ευάλωτος σε εκτέλεση αυθαίρετων σεναρίων ενεργειών.\nΑν και το MediaWiki ελέγχει για απειλές ασφαλείας όλα τα αρχεία που ανεβαίνουν, συνιστάται ιδιαίτερα να [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Security#Upload_security κλείσετε αυτό το κενό ασφαλείας] πριν ενεργοποιήσετε το ανέβασμα αρχείων.",
+       "config-no-cli-uploads-check": "<strong>Προειδοποίηση:</strong> Ο προεπιλεγμένος σας κατάλογος για ανέβασμα (<code>$1</code>) δεν έχει ελεγχθεί για ευπάθεια σε εκτέλεση αυθαίρετων σεναρίων ενεργειών κατά τη διάρκεια της εγκατάστασης μέσω γραμμής εντολών.",
        "config-brokenlibxml": "Το σύστημά σας έχει έναν συνδυασμό εκδόσεων της PHP και της libxml2 που είναι προβληματικός και μπορεί να προκαλέσει καταστροφή κρυμμένων στοιχείων στο MediaWiki και σε άλλες εφαρμογές ιστού.\nΑναβαθμίστε σε libxml2 2.7.3 ή μεταγενέστερη έκδοση ([https://bugs.php.net/bug.php?id=45996 bug που έχει καταχωριστεί για την PHP]).\nΗ εγκατάσταση ματαιώθηκε.",
        "config-db-type": "Τύπος βάσης δεδομένων:",
        "config-db-host": "Φιλοξενία βάσης δεδομένων:",
+       "config-db-host-help": "Εάν ο διακομιστής βάσης δεδομένων σας βρίσκεται σε διαφορετικό διακομιστή, εισαγάγετε εδώ το όνομα του κεντρικού υπολογιστή ή τη διεύθυνση IP.\n\nΕάν χρησιμοποιείτε μοιραζόμενη φιλοξενία του ιστοτόπου σας, ο πάροχος φιλοξενίας σας θα πρέπει να σας δίνει το σωστό όνομα κεντρικού υπολογιστή στην τεκμηρίωση του.\n\nΕάν εγκαθιστάτε σε διακομιστή Windows και χρησιμοποιείτε MySQL, το «localhost» μπορεί να μην λειτουργεί ως όνομα διακομιστή. Εάν δεν λειτουργεί, δοκιμάστε «127.0.0.1» ως τοπική διεύθυνση IP.\n\nΕάν χρησιμοποιείτε PostgreSQL, αφήστε αυτό το πεδίο κενό για να συνδεθείτε μέσω υποδοχής Unix.",
        "config-db-host-oracle": "Βάση δεδομένων TNS:",
        "config-db-wiki-settings": "Αναγνώριση αυτού του wiki",
        "config-db-name": "Όνομα βάσης δεδομένων:",
-       "config-db-name-help": "Επιλέξτε ένα όνομα που ταιριάζει στο  wiki σας. Δεν πρέπει να περιέχει κενά διαστήματα.\n\nΕάν χρησιμοποιείτε κοινόχρηστο web hosting, ο πάροχος φιλοξενίας είτε θα σας δώσει ένα συγκεκριμένο όνομα βάσης δεδομένων για να χρησιμοποιήσετε ή θα σας δώσει τη δυνατότητα να δημιουργήσετε βάσεις δεδομένων μέσω ενός πίνακα ελέγχου.",
+       "config-db-name-help": "Επιλέξτε όνομα που να χαρακτηρίζει το wiki σας. Δεν πρέπει να περιέχει κενά διαστήματα.\n\nΕάν χρησιμοποιείτε μοιραζόμενη φιλοξενία του ιστοτόπου σας, ο πάροχος φιλοξενίας σας είτε θα σας δίνει να χρησιμοποιήσετε ένα συγκεκριμένο όνομα βάσης δεδομένων ή θα σας δίνει τη δυνατότητα να δημιουργείτε βάσεις δεδομένων μέσω κάποιου πίνακα ελέγχου.",
        "config-db-name-oracle": "Σχήμα βάσης δεδομένων:",
        "config-db-install-account": "Λογαριασμός χρήστη για την εγκατάσταση",
        "config-db-username": "Όνομα χρήστη βάσης δεδομένων:",
-       "config-db-password": "Κωδικός πρόσβασης βάσης δεδομένων:",
+       "config-db-password": "Συνθηματικό βάσης δεδομένων:",
+       "config-db-install-username": "Εισαγάγετε το όνομα χρήστη που θα χρησιμοποιηθεί για τη σύνδεση στη βάση δεδομένων κατά τη διάρκεια της διαδικασίας εγκατάστασης.\nΑυτό δεν είναι το όνομα χρήστη του λογαριασμού του MediaWiki· αυτό είναι το όνομα χρήστη για τη βάση δεδομένων σας.",
+       "config-db-install-password": "Εισαγάγετε το συνθηματικό που θα χρησιμοποιηθεί για τη σύνδεση στη βάση δεδομένων κατά τη διάρκεια της διαδικασίας εγκατάστασης.\nΑυτό δεν είναι το συνθηματικό του λογαριασμού του MediaWiki· αυτό είναι το συνθηματικό για τη βάση δεδομένων σας.",
        "config-db-install-help": "Εισαγάγετε το όνομα χρήστη και τον κωδικό πρόσβασης που θα χρησιμοποιηθεί για τη σύνδεση με τη βάση δεδομένων κατά τη διάρκεια της διαδικασίας εγκατάστασης.",
        "config-db-account-lock": "Χρησιμοποιήστε το ίδιο όνομα χρήστη και συνθηματικό κατά τη διάρκεια της κανονικής λειτουργίας",
        "config-db-wiki-account": "Λογαριασμός χρήστη για κανονική λειτουργία",
        "config-db-wiki-help": "Πληκτρολογήστε το όνομα χρήστη και τον κωδικό πρόσβασης που θα χρησιμοποιηθεί για τη σύνδεση με τη βάση δεδομένων κατά τη διάρκεια της κανονικής λειτουργίας του wiki.\nΕάν ο λογαριασμός δεν υπάρχει και o λογαριασμός εγκατάστασης  έχει επαρκή δικαιώματα, αυτός ο λογαριασμός χρήστη θα δημιουργηθεί με τα ελάχιστα δικαιώματα που απαιτούνται για τη λειτουργία του wiki.",
        "config-db-prefix": "Πρόθεμα πίνακα βάσης δεδομένων:",
-       "config-db-prefix-help": "Εάν χρειάζεται να μοιραστείτε μία βάση δεδομένων μεταξύ πολλαπλών wikis, ή μεταξύ του MediaWiki και μιας άλλης web εφαρμογής, μπορείτε να προσθέσετε ένα πρόθεμα σε όλα τα ονόματα πίνακα για να αποφεύγονται οι διενέξεις.\nΜην χρησιμοποιείτε κενά διαστήματα.\n\nΑυτό το πεδίο αφήνεται συνήθως κενό.",
+       "config-db-prefix-help": "Εάν χρειάζεται να μοιραστείτε μία βάση δεδομένων μεταξύ πολλαπλών wiki, ή μεταξύ του MediaWiki και μιας άλλης εφαρμογής Ιστού, μπορείτε να προσθέσετε ένα πρόθεμα σε όλα τα ονόματα πινάκων για να αποφεύγονται οι διενέξεις.\nΜην χρησιμοποιείτε κενά διαστήματα.\n\nΑυτό το πεδίο αφήνεται συνήθως κενό.",
        "config-mysql-old": "Απαιτείται Microsoft SQL Server $1 ή νεότερο. Εσείς έχετε $2.",
        "config-db-port": "Θύρα βάσης δεδομένων:",
        "config-db-schema": "Σχήμα για MediaWiki:",
        "config-type-oracle": "Oracle",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "To MediaWiki υποστηρίζει τα ακόλουθα συστήματα βάσεων δεδομένων:\n\n$1\n\nΑν δεν εμφανίζεται παρακάτω το σύστημα βάσης δεδομένων που θέλετε να χρησιμοποιήσετε, τότε ακολουθήστε τις οδηγίες στον παραπάνω σύνδεσμο για να ενεργοποιήσετε την υποστήριξη.",
+       "config-dbsupport-mysql": "* Η [{{int:version-db-mysql-url}} MySQL] είναι ο πρωταρχικός στόχος για το MediaWiki και υποστηρίζεται καλύτερα. Το MediaWiki συνεργάζεται επίσης με τη [{{int:version-db-mariadb-url}} MariaDB] και το [{{int:version-db-percona-url}} διακομιστή Percona], που είναι όλα συμβατά με MySQL. ([http://www.php.net/manual/en/mysqli.installation.php Πώς να μεταγλωττίσετε την PHP με υποστήριξη MySQL])",
+       "config-dbsupport-postgres": "* Η [{{int:version-db-postgres-url}} PostgreSQL] είναι δημοφιλές σύστημα βάσης δεδομένων ανοικτού κώδικα ως εναλλακτική της MySQL. ([http://www.php.net/manual/en/pgsql.installation.php Πώς να μεταγλωττίσετε την PHP με υποστήριξη PostgreSQL])",
+       "config-dbsupport-sqlite": "* Η [{{int:version-db-sqlite-url}} SQLite] είναι ένα ελαφρύ σύστημα βάσης δεδομένων που υποστηρίζεται πολύ καλά. ([http://www.php.net/manual/en/pdo.installation.php Πώς να μεταγλωττίσετε την PHP με υποστήριξη SQLite], χρησιμοποιεί PDO)",
+       "config-dbsupport-oracle": "* Η [{{int:version-db-oracle-url}} Oracle] είναι εμπορική βάση δεδομένων για επιχειρήσεις. ([http://www.php.net/manual/en/oci8.installation.php Πώς να μεταγλωττίσετε την PHP με υποστήριξη OCI8])",
+       "config-dbsupport-mssql": "* Ο [{{int:version-db-mssql-url}} Microsoft SQL Server] είναι εμπορική βάση δεδομένων για επιχειρήσεις που λειτουργεί σε Windows. ([http://www.php.net/manual/en/sqlsrv.installation.php Πώς να μεταγλωττίσετε την PHP με υποστήριξη SQLSRV])",
        "config-header-mysql": "Ρυθμίσεις MySQL",
        "config-header-postgres": "Ρυθμίσεις PostgreSQL",
        "config-header-sqlite": "Ρυθμίσεις SQLite",
        "config-sqlite-cant-create-db": "Δεν ήταν δυνατή η δημιουργία του αρχείου βάσης δεδομένων <code>$1</code>.",
        "config-upgrade-done-no-regenerate": "Η αναβάθμιση ολοκληρώθηκε.\n\nΜπορείτε τώρα να [$1 ξεκινήσετε να χρησιμοποιείτε το wiki σας].",
        "config-regenerate": "Αναδημιουργία LocalSettings.php →",
-       "config-db-web-account": "Î\9bογαÏ\81ιαÏ\83μÏ\8cÏ\82 Î²Î¬Ï\83ηÏ\82 Î´ÎµÎ´Î¿Î¼Î­Î½Ï\89ν Î³Î¹Î± Ï\80Ï\81Ï\8cÏ\83βαÏ\83η Î¹στού",
+       "config-db-web-account": "Î\9bογαÏ\81ιαÏ\83μÏ\8cÏ\82 Î²Î¬Ï\83ηÏ\82 Î´ÎµÎ´Î¿Î¼Î­Î½Ï\89ν Î³Î¹Î± Ï\80Ï\81Ï\8cÏ\83βαÏ\83η Î\99στού",
        "config-db-web-account-same": "Χρήση του ίδιου λογαριασμού για την εγκατάσταση",
+       "config-db-web-create": "Να δημιουργηθεί ο λογαριασμός αν δεν υπάρχει ήδη",
        "config-mysql-engine": "Μηχανή αποθήκευσης:",
        "config-mysql-innodb": "InnoDB",
        "config-mysql-myisam": "MyISAM",
+       "config-mysql-engine-help": "Το <strong>InnoDB</strong> είναι σχεδόν πάντα η καλύτερη επιλογή, αφού έχει καλή υποστήριξη ταυτόχρονης λειτουργίας.\n\nΤο <strong>MyISAM</strong> μπορεί να είναι ταχύτερο σε εγκαταστάσεις του ενός χρήστη ή μόνο ανάγνωσης. \nΟι βάσεις δεδομένων MyISAM τείνουν να φθείρονται συχνότερα από τις βάσεις δεδομένων InnoDB.",
        "config-mysql-charset": "Σύνολο χαρακτήρων βάσης δεδομένων:",
        "config-mysql-binary": "Δυαδικό",
        "config-mysql-utf8": "UTF-8",
+       "config-mysql-charset-help": "Σε <strong>λειτουργία δυαδικού</strong>, το MediaWiki αποθηκεύει κείμενο UTF-8 στη βάση δεδομένων σε δυαδικά πεδία.\nΑυτό είναι πιο αποτελεσματικό από τη λειτουργία UTF-8 της MySQL και σας επιτρέπει να χρησιμοποιείτε ολόκληρο το φάσμα των χαρακτήρων Unicode.\n\nΣε <strong>λειτουργία UTF-8</strong>, η MySQL θα γνωρίζει σε ποιο σύνολο χαρακτήρων ανήκουν τα δεδομένα σας και θα μπορεί να τα παρουσιάζει και να τα μετατρέπει κατάλληλα, αλλά δεν θα σας επιτρέπει να αποθηκεύετε χαρακτήρες πάνω από το [https://en.wikipedia.org/wiki/Mapping_of_Unicode_character_planes βασικό πολύγλωσσο επίπεδο].",
        "config-mssql-auth": "Τύπος ελέγχου ταυτότητας:",
        "config-mssql-sqlauth": "Έλεγχος ταυτότητας του SQL Server",
        "config-mssql-windowsauth": "Έλεγχος ταυτότητας των Windows",
        "config-ns-site-name": "Ίδιο με το όνομα του wiki: $1",
        "config-ns-other": "Άλλο (προσδιορίστε)",
        "config-ns-other-default": "ΤοWikiμου",
+       "config-project-namespace-help": "Ακολουθώντας το παράδειγμα της Βικιπαίδειας, πολλά wiki διατηρούν τις σελίδες πολιτικής τους χωριστά από τις σελίδες περιεχομένου τους, σε έναν '''ονοματοχώρο έργου'''.\nΌλοι οι τίτλοι σελίδων σε αυτόν τον ονοματοχώρο ξεκινούν με συγκεκριμένο πρόθεμα, το οποίο μπορείτε να ορίσετε εδώ.\nΣυνήθως, αυτό το πρόθεμα παράγεται από το όνομα του wiki, αλλά δεν μπορεί να περιέχει χαρακτήρες στίξης όπως «#» ή «:».",
        "config-admin-box": "Λογαριασμός διαχειριστή",
        "config-admin-name": "Το όνομα χρήστη σας:",
        "config-admin-password": "Κωδικός πρόσβασης:",
        "config-admin-password-confirm": "Επανάληψη κωδικού πρόσβασης:",
+       "config-admin-help": "Εισαγάγετε το προτιμώμενο όνομα χρήστη εδώ, για παράδειγμα «Γιάννης Ιστολόγιος». \nΑυτό είναι το όνομα που θα χρησιμοποιείτε για να συνδέεστε στο wiki.",
        "config-admin-name-blank": "Εισαγάγετε όνομα χρήστη διαχειριστή.",
        "config-admin-name-invalid": "Το συγκεκριμένο όνομα χρήστη  \"<nowiki>$1</nowiki>\" δεν είναι έγκυρο. Δώστε ένα διαφορετικό όνομα χρήστη.",
        "config-admin-password-blank": "Εισαγάγετε κωδικό για το λογαριασμό διαχειριστή.",
        "config-admin-password-mismatch": "Οι δύο κωδικοί πρόσβασης που εισηγάγατε δεν ταιριάζουν.",
        "config-admin-email": "Διεύθυνση ηλεκτρονικού ταχυδρομείου:",
+       "config-admin-email-help": "Εισαγάγετε μια διεύθυνση ηλεκτρονικού ταχυδρομείου εδώ για να μπορείτε να λαμβάνετε μηνύματα ηλεκτρονικού ταχυδρομείου από άλλους χρήστες στο wiki, να επαναφέρετε το συνθηματικό σας και να ενημερώνεστε για τις αλλαγές σε σελίδες που βρίσκονται στη λίστα παρακολούθησής σας. Μπορείτε να αφήσετε αυτό το πεδίο κενό.",
+       "config-admin-error-user": "Εσωτερικό σφάλμα κατά τη δημιουργία διαχειριστή με το όνομα «<nowiki>$1</nowiki>».",
+       "config-admin-error-password": "Εσωτερικό σφάλμα κατά τον καθορισμό συνθηματικού για το διαχειριστή «<nowiki>$1</nowiki>»: <pre>$2</pre>",
        "config-admin-error-bademail": "Έχετε εισαγάγει μη έγκυρη διεύθυνση ηλεκτρονικού ταχυδρομείου.",
+       "config-subscribe": "Εγγραφή στη [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce λίστα αλληλογραφίας ανακοινώσεων σχετικά με νέες κυκλοφορίες].",
+       "config-subscribe-help": "Πρόκειται για μια λίστα αλληλογραφίας χαμηλού όγκου που χρησιμοποιείται για ανακοινώσεις σχετικά με νέες κυκλοφορίες, συμπεριλαμβανομένων σημαντικών ανακοινώσεων ασφαλείας. \nΚαλό θα ήταν να εγγραφείτε σε αυτήν και να ενημερώνετε την εγκατάσταση του MediaWiki όταν βγαίνουν νέες εκδόσεις.",
+       "config-pingback": "Διαμοιρασμός δεδομένων σχετικά με αυτήν την εγκατάσταση με τους προγραμματιστές του MediaWiki.",
+       "config-pingback-help": "Αν επιλέξετε αυτή την επιλογή, το MediaWiki θα στέλνει περιοδικά στο https://www.mediawiki.org βασικά δεδομένα σχετικά με αυτήν την υλοποίηση του MediaWiki. Αυτά τα δεδομένα περιλαμβάνουν, για παράδειγμα, τον τύπο του συστήματος, την έκδοση PHP και την επιλεγμένη βάση δεδομένων. Το Ίδρυμα Wikimedia μοιράζεται αυτά τα δεδομένα με τους προγραμματιστές του MediaWiki για να καθοδηγήσει τις μελλοντικές προσπάθειες ανάπτυξης. θα αποσταλούν τα ακόλουθα δεδομένα σχετικά με το σύστημά σας:\n<pre>$1</pre>",
+       "config-almost-done": "Έχετε σχεδόν τελειώσει!\nΤώρα μπορείτε να παραλείψετε την υπόλοιπη διαμόρφωση και να εγκαταστήσετε το wiki αμέσως τώρα.",
        "config-optional-continue": "Να ερωτηθώ περισσότερες ερωτήσεις.",
-       "config-optional-skip": "Î\92αÏ\81έθηκα Î®Î´Î·, Î±Ï\80λά ÎµÎ³ÎºÎ±Ï\84αÏ\83Ï\84ήÏ\83Ï\84ε το wiki.",
+       "config-optional-skip": "Î\92αÏ\81έθηκα Î®Î´Î·, Î½Î± ÎµÎ³ÎºÎ±Ï\84αÏ\83Ï\84αθεί Î±Ï\80λά το wiki.",
        "config-profile": "Προφίλ δικαιωμάτων χρήστη:",
-       "config-profile-wiki": "Ανοικτό wiki",
-       "config-profile-no-anon": "Απαιτείται η δημιουργία λογαριασμού",
-       "config-profile-fishbowl": "Εξουσιοδοτημένοι συντάκτες μόνο",
-       "config-profile-private": "Ιδιωτικό wiki",
+       "config-profile-wiki": "ανοικτό wiki",
+       "config-profile-no-anon": "απαιτούμενη δημιουργία λογαριασμού",
+       "config-profile-fishbowl": "εξουσιοδοτημένοι συντάκτες μόνο",
+       "config-profile-private": "ιδιωτικό wiki",
+       "config-profile-help": "Τα wiki λειτουργούν καλύτερα όταν αφήνετε να τα επεξεργαστούν όσο το δυνατόν περισσότεροι άνθρωποι.\nΣτο MediaWiki, είναι εύκολο να ελέγξετε τις πρόσφατες αλλαγές και να επαναφέρετε τυχόν ζημιές που προκαλούνται από αρχάριους ή κακόβουλους χρήστες.\n\nΩστόσο, πολλοί έχουν βρει το MediaWiki χρήσιμο σε ένα ευρύ φάσμα ρόλων και μερικές φορές δεν είναι εύκολο να πείσουμε τους πάντες για τα οφέλη του τρόπου του wiki.\nΥπάρχει λοιπόν επιλογή.\n\nΤο μοντέλο <strong>{{int:config-profile-wiki}}</strong> επιτρέπει σε οποιονδήποτε να επεξεργαστεί, χωρίς καν να συνδεθεί. Ένα wiki με <strong>{{int:config-profile-no-anon}}</strong> παρέχει μεγαλύτερη λογοδοσία, αλλά μπορεί να αποτρέψει τους περιστασιακούς συνεισφέροντες.\n\nΤο σενάριο <strong>{{int:config-profile-fishbowl}}</strong> επιτρέπει στους εγκεκριμένους χρήστες να επεξεργαστούν, αλλά το κοινό μπορεί να δει τις σελίδες, συμπεριλαμβανομένου του ιστορικού. \nΈνα <strong>{{int:config-profile-private}}</strong> επιτρέπει μόνο στους εγκεκριμένους χρήστες να προβάλλουν σελίδες, και μόνο στους ίδιους να επεξεργαστούν.\n\nΠιο πολύπλοκες ρυθμίσεις δικαιωμάτων χρήστη είναι διαθέσιμες μετά την εγκατάσταση, δείτε τη [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:User_rights σχετική μη αυτόματη καταχώριση].",
        "config-license": "Πνευματικά δικαιώματα και άδεια χρήσης:",
        "config-license-none": "Χωρίς άδεια χρήσης στο υποσέλιδο",
        "config-license-cc-by-sa": "Creative Commons Αναφορά Δημιουργού-Παρόμοια Διανομή",
        "config-license-gfdl": "Αδειοδότηση Ελεύθερης Τεκμηρίωσης GNU 1.3 ή μεταγενέστερη",
        "config-license-pd": "Κοινό Κτήμα",
        "config-license-cc-choose": "Επιλέξτε μια προσαρμοσμένη άδεια Creative Commons",
+       "config-license-help": "Πολλά δημόσια wiki βάζουν όλες τις συνεισφορές υπό [https://freedomdefined.org/Definition ελεύθερη άδεια].\nΑυτό βοηθά να δημιουργηθεί μια αίσθηση κοινοτικής ιδιοκτησίας και ενθαρρύνει τη μακροχρόνια συνεισφορά.\nΔεν είναι γενικά απαραίτητο για ένα ιδιωτικό ή εταιρικό wiki.\n\nΑν θέλετε να μπορείτε να χρησιμοποιείτε κείμενο από τη Βικιπαίδεια και αν θέλετε να μπορεί η Βικιπαίδεια να δεχτεί κείμενο που αντιγράφεται από το wiki σας, θα πρέπει να επιλέξετε <strong>{{int:config-license-cc-by-sa}}</strong>.\n\nΗ Βικιπαίδεια χρησιμοποιούσε παλιά την Άδεια Ελεύθερης Τεκμηρίωσης GNU (GFDL).\nΗ GFDL είναι μια έγκυρη άδεια, αλλά είναι δύσκολο να κατανοηθεί.\nΕίναι επίσης δύσκολο να επαναχρησιμοποιηθεί το περιεχόμενο που έχει χορηγηθεί βάσει της GFDL.",
        "config-email-settings": "Ρυθμίσεις ηλεκτρονικού ταχυδρομείου",
+       "config-enable-email": "Ενεργοποίηση εξερχόμενου ηλεκτρονικού ταχυδρομείου",
+       "config-enable-email-help": "Αν θέλετε να λειτουργήσει το ηλεκτρονικό ταχυδρομείο, οι [http://www.php.net/manual/en/mail.configuration.php ρυθμίσεις αλληλογραφίας της PHP] πρέπει να ρυθμιστούν σωστά.\nΑν δεν θέλετε καθόλου λειτουργίες ηλεκτρονικού ταχυδρομείου, μπορείτε να τις απενεργοποιήσετε εδώ.",
        "config-email-user": "Ενεργοποίηση ηλεκτρονικού ταχυδρομείου από χρήστη σε χρήστη",
+       "config-email-user-help": "Να επιτρέπεται σε όλους τους χρήστες να στέλνουν ο ένας στον άλλον μηνύματα ηλεκτρονικού ταχυδρομείου εάν το έχουν ενεργοποιήσει στις προτιμήσεις τους.",
        "config-email-usertalk": "Ενεργοποίηση ειδοποίησης σελίδας συζήτησης χρήστη",
+       "config-email-usertalk-help": "Να επιτρέπεται στους χρήστες να λαμβάνουν ειδοποιήσεις σχετικά με τις αλλαγές στις σελίδες συζήτησης χρήστη, εάν το έχουν ενεργοποιήσει στις προτιμήσεις τους.",
        "config-email-watchlist": "Ενεργοποίηση ειδοποίησης λίστας παρακολούθησης",
-       "config-email-watchlist-help": "Î\95Ï\80ιÏ\84Ï\81έÏ\88Ï\84ε στους χρήστες να λαμβάνουν ειδοποιήσεις για τις σελίδες που παρακολουθούν αν το έχουν ενεργοποιήσει στις προτιμήσεις τους.",
+       "config-email-watchlist-help": "Î\9dα ÎµÏ\80ιÏ\84Ï\81έÏ\80εÏ\84αι στους χρήστες να λαμβάνουν ειδοποιήσεις για τις σελίδες που παρακολουθούν αν το έχουν ενεργοποιήσει στις προτιμήσεις τους.",
        "config-email-auth": "Ενεργοποίηση ταυτοποίησης μέσω ηλεκτρονικού ταχυδρομείου",
+       "config-email-auth-help": "Εάν αυτή η επιλογή είναι ενεργοποιημένη, οι χρήστες πρέπει να επιβεβαιώσουν τη διεύθυνση ηλεκτρονικού ταχυδρομείου τους χρησιμοποιώντας ένα σύνδεσμο που τους αποστέλλεται όποτε την καθορίζουν ή την αλλάζουν.\nΜόνο οι ταυτοποιημένες διευθύνσεις ηλεκτρονικού ταχυδρομείου μπορούν να λαμβάνουν μηνύματα ηλεκτρονικού ταχυδρομείου από άλλους χρήστες ή να αλλάζουν μηνύματα ειδοποίησης.\nΟ καθορισμός αυτής της επιλογής <strong>συνιστάται</strong> για δημόσια wiki λόγω πιθανής κατάχρησης των λειτουργιών του ηλεκτρονικού ταχυδρομείου.",
        "config-email-sender": "Διεύθυνση ηλεκτρονικού ταχυδρομείου επιστροφής:",
+       "config-email-sender-help": "Εισαγάγετε τη διεύθυνση ηλεκτρονικού ταχυδρομείου που θα χρησιμοποιηθεί ως διεύθυνση επιστροφής στο εξερχόμενο ηλεκτρονικό ταχυδρομείο.\nΕκεί είναι που θα στέλνονται οι επιστροφές.\nΠολλοί διακομιστές αλληλογραφίας απαιτούν τουλάχιστον το τμήμα ονόματος τομέα να είναι έγκυρο.",
        "config-upload-settings": "Ανέβασμα εικόνων και άλλων αρχείων",
-       "config-upload-enable": "Î\95νεÏ\81γοÏ\80οιήÏ\83Ï\84ε Ï\84ο Î±Î½Î­Î²Î±Ï\83μα αρχείων",
-       "config-upload-help": "Το ανέβασμα αρχείων εκθέτει πιθανώς το διακομιστή σας σε κινδύνους ασφαλείας.\nΓια περισσότερες πληροφορίες, διαβάστε την [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Security ενότητα περί ασφάλειας] στο εγχειρίδιο.\n\nΓια να ενεργοποιήσετε το ανέβασμα αρχείων, αλλάξτε την κατάσταση του υποκαταλόγου <code>εικόνες</code> που βρίσκεται κάτω από τον ριζικό κατάλογο του MediaWiki έτσι ώστε ο διακομιστής ιστού να μπορεί να γράψει σε αυτόν.\nΣτη συνέχεια ενεργοποιήσετε αυτή την επιλογή.",
+       "config-upload-enable": "Î\95νεÏ\81γοÏ\80οίηÏ\83η Î±Î½ÎµÎ²Î¬Ï\83μαÏ\84οÏ\82 αρχείων",
+       "config-upload-help": "Το ανέβασμα αρχείων εκθέτει πιθανώς το διακομιστή σας σε κινδύνους ασφαλείας.\nΓια περισσότερες πληροφορίες, διαβάστε την [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Security ενότητα περί ασφάλειας] στο εγχειρίδιο.\n\nΓια να ενεργοποιήσετε το ανέβασμα αρχείων, αλλάξτε την κατάσταση του υποκαταλόγου <code>images</code> που βρίσκεται κάτω από τον ριζικό κατάλογο του MediaWiki έτσι ώστε ο διακομιστής Ιστού να μπορεί να γράψει σε αυτόν.\nΣτη συνέχεια ενεργοποιήσετε αυτή την επιλογή.",
        "config-upload-deleted": "Καταλόγος για διαγραφέντα αρχεία:",
+       "config-upload-deleted-help": "Επιλέξτε έναν κατάλογο στον οποίο να αρχειοθετείτε τα διαγραμμένα αρχεία.\nΙδανικά, αυτό δεν θα πρέπει να είναι προσβάσιμο από τον Ιστό.",
        "config-logo": "Διεύθυνση URL λογότυπου:",
+       "config-logo-help": "Το προεπιλεγμένο θέμα εμφάνισης του MediaWiki περιλαμβάνει χώρο για λογότυπο 135x160 εικονοστοιχείων πάνω από το μενού της πλαϊνής μπάρας. Ανεβάστε μια εικόνα με το κατάλληλο μέγεθος και εισαγάγετε τη διεύθυνση URL εδώ.\n\nΜπορείτε να χρησιμοποιήσετε τα <code>$wgStylePath</code> ή <code>$wgScriptPath</code> εάν το λογότυπό σας είναι σχετικό με αυτές τις διαδρομές.\n\nΕάν δεν θέλετε λογότυπο, αφήστε αυτό το πλαίσιο κενό.",
        "config-instantcommons": "Ενεργοποίηση Instant Commons",
+       "config-instantcommons-help": "Τα [https://www.mediawiki.org/wiki/InstantCommons Instant Commons] είναι ένα χαρακτηριστικό που επιτρέπει στα wiki να χρησιμοποιούν εικόνες, ήχους και άλλα μέσα που βρίσκονται στον ιστότοπο των Wikimedia Commons. Για να γίνει αυτό, το MediaWiki απαιτεί πρόσβαση στο Διαδίκτυο.\n\nΓια περισσότερες πληροφορίες σχετικά με αυτήν τη δυνατότητα, συμπεριλαμβανομένων των οδηγιών για τον τρόπο ρύθμισης της για άλλα wiki από τα Wikimedia Commons, συμβουλευτείτε [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgForeignFileRepos το εγχειρίδιο].",
        "config-cc-error": "Ο επιλογέας αδειών  Creative Commons επιλογέα δεν έδωσε κανένα αποτέλεσμα.\nΕισάγετε το όνομα της άδειας χειροκίνητα.",
        "config-cc-again": "Επιλέξτε ξανά...",
        "config-cc-not-chosen": "Επιλέξτε την  άδεια Creative Commons που θέλετε και κάντε κλικ στο κουμπί \"proceed\".",
        "config-advanced-settings": "Προηγμένες ρυθμίσεις παραμέτρων",
        "config-cache-options": "Ρυθμίσεις για την προσωρινή αποθήκευση αντικειμένου:",
+       "config-cache-help": "Η προσωρινή αποθήκευση αντικειμένων χρησιμοποιείται για τη βελτίωση της ταχύτητας του MediaWiki με προσωρινή αποθήκευση των δεδομένων που χρησιμοποιούνται συχνά.\nΜεσαίοι και μεγάλοι ιστότοποι ενθαρρύνονται ιδιαίτερα να το ενεργοποιήσουν αυτό και μικροί ιστότοποι θα δουν οφέλη επίσης.",
+       "config-cache-none": "Χωρίς προσωρινή αποθήκευση (δεν καταργείται καμία λειτουργία, αλλά η ταχύτητα μπορεί να επηρεαστεί σε μεγαλύτερους ιστότοπους wiki)",
+       "config-cache-accel": "Προσωρινή αποθήκευση αντικειμένων PHP (APC, APCu ή WinCache)",
+       "config-cache-memcached": "Χρήση Memcached (απαιτεί πρόσθετη ρύθμιση και διαμόρφωση)",
+       "config-memcached-servers": "Διακομιστές Memcached:",
        "config-memcache-badip": "Έχετε εισάγει μια μη έγκυρη διεύθυνση IP για το Memcached: $1.",
        "config-memcache-noport": "Δεν καθορίσατε μια θύρα για να χρησιμοποιήσετε για το Memcached server: $1.\nΑν δεν ξέρετε τη θύρα, η προεπιλογή είναι 11211.",
        "config-memcache-badport": "Οι Memcached αριθμοί θύρας θα πρέπει να είναι μεταξύ $1 και $2.",
        "config-install-mainpage-exists": "Κύρια σελίδα ήδη υπάρχει, παρακάμπτεται",
        "config-install-extension-tables": "Γίνεται δημιουργία πινάκων για τις εγκατεστημένες επεκτάσεις",
        "config-install-mainpage-failed": "Δεν ήταν δυνατή η εισαγωγή της αρχικής σελίδας: $1",
-       "config-install-done": "<strong>Συγχαρητήρια!</strong>\nΈχετε εγκαταστήσει με επιτυχία το MediaWiki.\n\nΤο πρόγραμμα εγκατάστασης έχει δημιουργήσει το  αρχείο   <code>LocalSettings.php</code>.\nΠεριέχει όλες τις ρυθμίσεις παραμέτρων σας.\n\nΘα πρέπει να το κατεβάσετε και να το βάλετε στη βάση της εγκατάστασης του  wiki σας (στον ίδιο κατάλογο όπως το  index.php). Η λήψη θα αρχίσει αυτόματα.\n\nΑν η λήψη δεν προσφέφθηκε, ή αν την ακυρώσατε, μπορείτε να επανεκκινήσετε τη λήψη κάνοντας κλικ στο παρακάτω link:\n\n$3\n\n<strong>Σημείωση:</strong> Εάν δεν το κάνετε αυτό τώρα, αυτό το  αρχείο ρύθμισης παραμέτρων δεν θα είναι διαθέσιμο για σας αργότερα, αν βγείτε από την εγκατάσταση, χωρίς να το κατεβάσετε!\n\nΌταν γίνει αυτό, μπορείτε να <strong>[$2 μπείτε στο wiki σας]</strong>.",
+       "config-install-done": "<strong>Συγχαρητήρια!</strong>\nΈχετε εγκαταστήσει το MediaWiki.\n\nΤο πρόγραμμα εγκατάστασης έχει δημιουργήσει το αρχείο <code>LocalSettings.php</code>.\nΠεριέχει όλες τις ρυθμίσεις παραμέτρων σας.\n\nΘα πρέπει να το κατεβάσετε και να το βάλετε στη βάση της εγκατάστασης του wiki σας (στον ίδιο κατάλογο με το index.php). Η λήψη θα πρέπει να έχει ξεκινήσει αυτόματα.\n\nΕάν δεν σας προτάθηκε λήψη, ή αν την ακυρώσατε, μπορείτε να επανεκκινήσετε τη λήψη κάνοντας κλικ στο σύνδεσμο ακριβώς από κάτω:\n\n$3\n\n<strong>Σημείωση:</strong> Εάν δεν το κάνετε αυτό τώρα, αυτό το αρχείο ρύθμισης παραμέτρων δεν θα είναι διαθέσιμο για σας αργότερα αν βγείτε από την εγκατάσταση χωρίς να το κατεβάσετε!\n\nΌταν θα έχει γίνει αυτό, μπορείτε να <strong>[$2 μπείτε στο wiki σας]</strong>.",
        "config-install-success": " Το σύστημα της MediaWiki έχει εγκατασταθεί με επιτυχία. Μπορείτε τώρα να επισκεφθείτε το \n <$1$2> για να δείτε το wiki σας.\nΑν έχετε ερωτήσεις, ελέγξετε την λίστα με τις πιο συχνές ερωτήσεις:\n<https://www.mediawiki.org/wiki/Manual:FAQ> ή χρησιμοποιήστε ένα από τα φόρουμ υποστήριξης που είναι συνδεδεμένα σε αυτήν την σελίδα.",
        "config-download-localsettings": "Λήψη του <code>LocalSettings.php</code>",
        "config-help": "βοήθεια",
        "config-help-tooltip": "κλικ για ανάπτυξη",
        "config-nofile": "Το αρχείο «$1» δεν μπορεί να βρεθεί. Μήπως έχει διαγραφεί;",
-       "config-extension-link": "Γνωρίζατε ότι το wiki σας υποστηρίζει [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions επεκτάσεις];\n\nΜπορείτε να περιηγηθείτε [https://www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category επεκτάσεις ανά κατηγορία] ή το [https://www.mediawiki.org/wiki/Extension_Matrix Extension Matrix] για να δείτε την πλήρη λίστα των επεκτάσεων.",
+       "config-extension-link": "Γνωρίζατε ότι το wiki σας υποστηρίζει [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions επεκτάσεις];\n\nΜπορείτε να περιηγηθείτε στις [https://www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category επεκτάσεις ανά κατηγορία] ή στον [https://www.mediawiki.org/wiki/Extension_Matrix πίνακα επεκτάσεων] για να δείτε την πλήρη λίστα των επεκτάσεων.",
        "config-skins-screenshots": "$1 (στιγμιότυπα: $2)",
        "config-screenshot": "στιγμιότυπο",
        "mainpagetext": "<strong>To MediaWiki εγκαταστάθηκε.</strong>",
-       "mainpagedocfooter": "Συμβουλευτείτε το [https://meta.wikimedia.org/wiki/Help:Contents Οδηγός Χρήστη] για πληροφορίες σχετικά με το λογισμικό wiki.\n\n== Ξεκινώντας ==\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings ρυθμίσεις Διαμόρφωσης λίστα]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ το MediaWiki FAQ]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce το MediaWiki απελευθέρωση mailing list]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Έχουν MediaWiki για τη γλώσσα σας]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Μάθετε πώς να καταπολεμήσετε το spam στο wiki σας]"
+       "mainpagedocfooter": "Συμβουλευτείτε τον [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents οδηγό χρήστη] για πληροφορίες σχετικά με το λογισμικό wiki.\n\n== Ξεκινώντας ==\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Λίστα ρυθμίσεων διαμόρφωσης]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ\n Συχνές ερωτήσεις για το MediaWiki]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Λίστα αλληλογραφίας νέων κυκλοφοριών του MediaWiki]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Μεταφράστε το MediaWiki στη γλώσσα σας]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Μάθετε πώς να καταπολεμήσετε το ανεπιθύμητο περιεχόμενο στο wiki σας]"
 }
index aff2fd3..d75b063 100644 (file)
@@ -74,7 +74,7 @@
        "config-apc": "[http://www.php.net/apc APC] نصب شده‌است.",
        "config-apcu": "[http://www.php.net/apcu APCu] نصب شده‌است",
        "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] یافت نشد. ذخیره شی فعال نیست.",
+       "config-no-cache-apcu": "<strong>هشدار:</strong> پیوند [http://www.php.net/apcu APCu] یا [http://www.iis.net/download/WinCacheForPhp WinCache] یافت نشد. ذخیره شی فعال نیست.",
        "config-mod-security": "'''هشدار:''' وب سرور شما [https://modsecurity.org/ mod_security] فعال است.اگر اشتباه پیکربندی شده‌‌ باشد،می تواند باعث ایجاد مشکلاتی برای مدیاویکی یا دیگر نرم‌افزاری شود که به کاربران اجازه می‌دهد پیام دلخواه ارسال کنند.\nبه [https://modsecurity.org/documentation/ mod_security documentation] مراجعه کنید یا اگر با خطاهای اتفاقی مواجه شدید با پشتیبانی میزبان خود در تماس باشید.",
        "config-diff3-bad": "جی‌ان‌یو دیف۳ پیدا نشد.",
        "config-git": "کنترل نسخهٔ نرم‌افزار گیت پیدا شد: <code>$1</code>.",
        "config-cache-options": "تنظیمات برای ذخیره شی:",
        "config-cache-help": "کش شی برای بهتر شدن سرعت مدیا ویکی، از طریق کش کردن داده‌های با بیشترین استفاده انجام می‌گیرد.\nوبگاه‌های متوسط تا بزرگ به انجام این کار شدیدا توصیه می‌شوند، در عین حال وبگاه‌های کوچک نیز می‌توانند از مزایای ایم مورد بهره ببرند.",
        "config-cache-none": "بدون ذخیره (هیچ کارآمدی پاک نشده‌است، اما ممکن است سرعت در سایت‌های بزرگتر ویکی تأثیر داشته باشد)",
-       "config-cache-accel": "کاشهٔ اشیای پی‌اچ‌پی (APC یا APCu یا XCache یا WinCahe)",
+       "config-cache-accel": "کاشهٔ اشیای پی‌اچ‌پی (APC یا APCu یا WinCahe)",
        "config-cache-memcached": "از ممکچد (که نیازمند تنظیمات اضافی و پیکربندی) استفاده کنید",
        "config-memcached-servers": "سرورهای دریافت حافظه:",
        "config-memcached-help": "فهرست آدرس‌های آی‌پی برای استفاده از ممکچد.\nباید هر یک خط را تعیین کند و درگاه مورد استفاده را تعیین کند.برای مثال: \n۱۲۷.۰.۰.۱:۱۱۲۱۱\n۱۹۲.۱۶۸.۱.۲۵:۱۲۳۴",
index 1609492..433b567 100644 (file)
        "config-ns-invalid": "O espaço nominal especificado \"<nowiki>$1</nowiki>\" é inválido.\nIntroduza um espaço nominal de projeto diferente.",
        "config-ns-conflict": "O espaço nominal que especificou, \"<nowiki>$1</nowiki>\", cria um conflito com um dos espaços nominais padrão do MediaWiki.\nEspecifique um espaço nominal do projeto diferente.",
        "config-admin-box": "Conta de administrador",
-       "config-admin-name": "Seu nome de utilizador:",
+       "config-admin-name": "O seu nome de utilizador:",
        "config-admin-password": "Palavra-passe:",
        "config-admin-password-confirm": "Repita a palavra-passe:",
        "config-admin-help": "Introduza aqui o seu nome de utilizador preferido, por exemplo, \"João Beltrão\".\nEste é o nome que irá utilizar para entrar na wiki.",
index 4e3409a..01f467f 100644 (file)
@@ -27,6 +27,11 @@ class JobQueueSecondTestQueue extends JobQueue {
         */
        private $debugQueue;
 
+       /**
+        * @var bool
+        */
+       private $onlyWriteToDebugQueue;
+
        protected function __construct( array $params ) {
                if ( !isset( $params['mainqueue'] ) ) {
                        throw new MWException( "mainqueue parameter must be provided to the debug queue" );
@@ -39,6 +44,7 @@ class JobQueueSecondTestQueue extends JobQueue {
                $conf = [ 'wiki' => $params['wiki'], 'type' => $params['type'] ];
                $this->mainQueue = JobQueue::factory( $params['mainqueue'] + $conf );
                $this->debugQueue = JobQueue::factory( $params['debugqueue'] + $conf );
+               $this->onlyWriteToDebugQueue = isset( $params['readonly'] ) ? $params['readonly'] : false;
 
                // We need to construct parent after creating the main and debug queue
                // because super constructor calls some methods we delegate to the main queue.
@@ -118,7 +124,9 @@ class JobQueueSecondTestQueue extends JobQueue {
         * @param int $flags
         */
        protected function doBatchPush( array $jobs, $flags ) {
-               $this->mainQueue->doBatchPush( $jobs, $flags );
+               if ( !$this->onlyWriteToDebugQueue ) {
+                       $this->mainQueue->doBatchPush( $jobs, $flags );
+               }
 
                try {
                        $this->debugQueue->doBatchPush( $jobs, $flags );
index ef2953e..f26b985 100644 (file)
@@ -350,10 +350,18 @@ class DBConnRef implements IDatabase {
                return $this->__call( __FUNCTION__, func_get_args() );
        }
 
+       public function buildSubstring( $input, $startPosition, $length = null ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
        public function buildStringCast( $field ) {
                return $this->__call( __FUNCTION__, func_get_args() );
        }
 
+       public function buildIntegerCast( $field ) {
+               return $this->__call( __FUNCTION__, func_get_args() );
+       }
+
        public function databasesAreIndependent() {
                return $this->__call( __FUNCTION__, func_get_args() );
        }
index 8ccccc3..2c59963 100644 (file)
@@ -1854,10 +1854,48 @@ abstract class Database implements IDatabase, IMaintainableDatabase, LoggerAware
                return '(' . $this->selectSQLText( $table, $fld, $conds, null, [], $join_conds ) . ')';
        }
 
+       public function buildSubstring( $input, $startPosition, $length = null ) {
+               $this->assertBuildSubstringParams( $startPosition, $length );
+               $functionBody = "$input FROM $startPosition";
+               if ( $length !== null ) {
+                       $functionBody .= " FOR $length";
+               }
+               return 'SUBSTRING(' . $functionBody . ')';
+       }
+
+       /**
+        * Check type and bounds for parameters to self::buildSubstring()
+        *
+        * All supported databases have substring functions that behave the same for
+        * positive $startPosition and non-negative $length, but behaviors differ when
+        * given 0 or negative $startPosition or negative $length. The simplest
+        * solution to that is to just forbid those values.
+        *
+        * @param int $startPosition
+        * @param int|null $length
+        * @since 1.31
+        */
+       protected function assertBuildSubstringParams( $startPosition, $length ) {
+               if ( !is_int( $startPosition ) || $startPosition <= 0 ) {
+                       throw new InvalidArgumentException(
+                               '$startPosition must be a positive integer'
+                       );
+               }
+               if ( !( is_int( $length ) && $length >= 0 || $length === null ) ) {
+                       throw new InvalidArgumentException(
+                               '$length must be null or an integer greater than or equal to 0'
+                       );
+               }
+       }
+
        public function buildStringCast( $field ) {
                return $field;
        }
 
+       public function buildIntegerCast( $field ) {
+               return 'CAST( ' . $field . ' AS INTEGER )';
+       }
+
        public function databasesAreIndependent() {
                return false;
        }
index 771e2e5..b6428c7 100644 (file)
@@ -1225,6 +1225,19 @@ class DatabaseMssql extends Database {
                return $sql;
        }
 
+       public function buildSubstring( $input, $startPosition, $length = null ) {
+               $this->assertBuildSubstringParams( $startPosition, $length );
+               if ( $length === null ) {
+                       /**
+                        * MSSQL doesn't allow an empty length parameter, so when we don't want to limit the
+                        * length returned use the default maximum size of text.
+                        * @see https://docs.microsoft.com/en-us/sql/t-sql/statements/set-textsize-transact-sql
+                        */
+                       $length = 2147483647;
+               }
+               return 'SUBSTRING(' . implode( ',', [ $input, $startPosition, $length ] ) . ')';
+       }
+
        /**
         * Returns an associative array for fields that are of type varbinary, binary, or image
         * $table can be either a raw table name or passed through tableName() first
index a5220b9..8fb8db5 100644 (file)
@@ -1456,6 +1456,15 @@ abstract class DatabaseMysqlBase extends Database {
                return parent::isTransactableQuery( $sql ) &&
                        !preg_match( '/^SELECT\s+(GET|RELEASE|IS_FREE)_LOCK\(/', $sql );
        }
+
+       /**
+        * @param string $field Field or column to cast
+        * @return string
+        */
+       public function buildIntegerCast( $field ) {
+               return 'CAST( ' . $field . ' AS SIGNED )';
+       }
+
 }
 
 class_alias( DatabaseMysqlBase::class, 'DatabaseMysqlBase' );
index 9152d1e..984e1c0 100644 (file)
@@ -25,6 +25,7 @@ namespace Wikimedia\Rdbms;
 use mysqli;
 use mysqli_result;
 use IP;
+use stdClass;
 
 /**
  * Database abstraction object for PHP extension mysqli.
@@ -34,8 +35,6 @@ use IP;
  * @see Database
  */
 class DatabaseMysqli extends DatabaseMysqlBase {
-       /** @var mysqli $mConn */
-
        /**
         * @param string $sql
         * @return resource
@@ -162,7 +161,7 @@ class DatabaseMysqli extends DatabaseMysqlBase {
         * @return int
         */
        function lastErrno() {
-               if ( $this->conn ) {
+               if ( $this->conn instanceof mysqli ) {
                        return $this->conn->errno;
                } else {
                        return mysqli_connect_errno();
@@ -202,7 +201,7 @@ class DatabaseMysqli extends DatabaseMysqlBase {
 
        /**
         * @param mysqli_result $res
-        * @return bool
+        * @return stdClass|bool
         */
        protected function mysqlFetchObject( $res ) {
                $object = $res->fetch_object();
@@ -235,7 +234,7 @@ class DatabaseMysqli extends DatabaseMysqlBase {
        }
 
        /**
-        * @param mysqli $res
+        * @param mysqli_result $res
         * @return mixed
         */
        protected function mysqlNumFields( $res ) {
@@ -243,7 +242,7 @@ class DatabaseMysqli extends DatabaseMysqlBase {
        }
 
        /**
-        * @param mysqli $res
+        * @param mysqli_result $res
         * @param int $n
         * @return mixed
         */
@@ -266,7 +265,7 @@ class DatabaseMysqli extends DatabaseMysqlBase {
        }
 
        /**
-        * @param mysqli $res
+        * @param mysqli_result $res
         * @param int $n
         * @return mixed
         */
@@ -277,7 +276,7 @@ class DatabaseMysqli extends DatabaseMysqlBase {
        }
 
        /**
-        * @param mysqli $res
+        * @param mysqli_result $res
         * @param int $n
         * @return mixed
         */
index 3d6cee3..83c8814 100644 (file)
@@ -818,6 +818,15 @@ class DatabaseSqlite extends Database {
                }
        }
 
+       public function buildSubstring( $input, $startPosition, $length = null ) {
+               $this->assertBuildSubstringParams( $startPosition, $length );
+               $params = [ $input, $startPosition ];
+               if ( $length !== null ) {
+                       $params[] = $length;
+               }
+               return 'SUBSTR(' . implode( ',', $params ) . ')';
+       }
+
        /**
         * @param string $field Field or column to cast
         * @return string
index 9ad78a7..28a8125 100644 (file)
@@ -19,6 +19,7 @@
  */
 namespace Wikimedia\Rdbms;
 
+use InvalidArgumentException;
 use Wikimedia\ScopedCallback;
 use RuntimeException;
 use UnexpectedValueException;
@@ -1050,6 +1051,20 @@ interface IDatabase {
                $delim, $table, $field, $conds = '', $join_conds = []
        );
 
+       /**
+        * Build a SUBSTRING function.
+        *
+        * Behavior for non-ASCII values is undefined.
+        *
+        * @param string $input Field name
+        * @param int $startPosition Positive integer
+        * @param int|null $length Non-negative integer length or null for no limit
+        * @throws InvalidArgumentException
+        * @return string SQL text
+        * @since 1.31
+        */
+       public function buildSubString( $input, $startPosition, $length = null );
+
        /**
         * @param string $field Field or column to cast
         * @return string
@@ -1057,6 +1072,13 @@ interface IDatabase {
         */
        public function buildStringCast( $field );
 
+       /**
+        * @param string $field Field or column to cast
+        * @return string
+        * @since 1.31
+        */
+       public function buildIntegerCast( $field );
+
        /**
         * Returns true if DBs are assumed to be on potentially different servers
         *
index 395110b..80a138d 100644 (file)
@@ -213,6 +213,30 @@ class DatabaseLogEntry extends LogEntryBase {
                }
        }
 
+       /**
+        * Loads a LogEntry with the given id from database
+        *
+        * @param int $id
+        * @param IDatabase $db
+        * @return DatabaseLogEntry|null
+        */
+       public static function newFromId( $id, IDatabase $db ) {
+               $queryInfo = self::getSelectQueryData();
+               $queryInfo['conds'] += [ 'log_id' => $id ];
+               $row = $db->selectRow(
+                       $queryInfo['tables'],
+                       $queryInfo['fields'],
+                       $queryInfo['conds'],
+                       __METHOD__,
+                       $queryInfo['options'],
+                       $queryInfo['join_conds']
+               );
+               if ( !$row ) {
+                       return null;
+               }
+               return self::newFromRow( $row );
+       }
+
        /** @var stdClass Database result row. */
        protected $row;
 
index dc9af5a..24fdfb0 100644 (file)
@@ -178,10 +178,8 @@ class LogPager extends ReverseChronologicalPager {
                $name = $usertitle->getText();
 
                // Assume no joins required for log_user
-               // Don't query by user ID here, it might be able to use the
-               // log_user_text_time or log_user_text_type_time index.
                $this->mConds[] = ActorMigration::newMigration()->getWhere(
-                       wfGetDB( DB_REPLICA ), 'log_user', User::newFromName( $name, false ), false
+                       wfGetDB( DB_REPLICA ), 'log_user', User::newFromName( $name, false )
                )['conds'];
 
                $this->enforcePerformerRestrictions();
@@ -424,9 +422,9 @@ class LogPager extends ReverseChronologicalPager {
                $this->actionRestrictionsEnforced = true;
                $user = $this->getUser();
                if ( !$user->isAllowed( 'deletedhistory' ) ) {
-                       $this->mConds[] = $this->mDb->bitAnd( 'log_deleted', LogPage::DELETED_USER ) . ' = 0';
+                       $this->mConds[] = $this->mDb->bitAnd( 'log_deleted', LogPage::DELETED_ACTION ) . ' = 0';
                } elseif ( !$user->isAllowedAny( 'suppressrevision', 'viewsuppressed' ) ) {
-                       $this->mConds[] = $this->mDb->bitAnd( 'log_deleted', LogPage::SUPPRESSED_USER ) .
+                       $this->mConds[] = $this->mDb->bitAnd( 'log_deleted', LogPage::SUPPRESSED_ACTION ) .
                                ' != ' . LogPage::SUPPRESSED_USER;
                }
        }
@@ -442,9 +440,9 @@ class LogPager extends ReverseChronologicalPager {
                $this->performerRestrictionsEnforced = true;
                $user = $this->getUser();
                if ( !$user->isAllowed( 'deletedhistory' ) ) {
-                       $this->mConds[] = $this->mDb->bitAnd( 'log_deleted', LogPage::DELETED_ACTION ) . ' = 0';
+                       $this->mConds[] = $this->mDb->bitAnd( 'log_deleted', LogPage::DELETED_USER ) . ' = 0';
                } elseif ( !$user->isAllowedAny( 'suppressrevision', 'viewsuppressed' ) ) {
-                       $this->mConds[] = $this->mDb->bitAnd( 'log_deleted', LogPage::SUPPRESSED_ACTION ) .
+                       $this->mConds[] = $this->mDb->bitAnd( 'log_deleted', LogPage::SUPPRESSED_USER ) .
                                ' != ' . LogPage::SUPPRESSED_ACTION;
                }
        }
index cd72267..3cbeacf 100644 (file)
@@ -1249,7 +1249,7 @@ class Article implements Page {
                        }
 
                        $dir = $this->getContext()->getLanguage()->getDir();
-                       $lang = $this->getContext()->getLanguage()->getCode();
+                       $lang = $this->getContext()->getLanguage()->getHtmlCode();
                        $outputPage->addWikiText( Xml::openElement( 'div', [
                                'class' => "noarticletext mw-content-$dir",
                                'dir' => $dir,
index f6526ac..9458728 100644 (file)
@@ -358,7 +358,7 @@ class Parser {
                $this->mLangLinkLanguages = [];
                $this->currentRevisionCache = null;
 
-               $this->mStripState = new StripState;
+               $this->mStripState = new StripState( $this );
 
                # Clear these on every parse, T6549
                $this->mTplRedirCache = $this->mTplDomCache = [];
@@ -543,6 +543,11 @@ class Parser {
                $this->mOutput->setLimitReportData( 'limitreport-expensivefunctioncount',
                        [ $this->mExpensiveFunctionCount, $this->mOptions->getExpensiveParserFunctionLimit() ]
                );
+
+               foreach ( $this->mStripState->getLimitReport() as list( $key, $value ) ) {
+                       $this->mOutput->setLimitReportData( $key, $value );
+               }
+
                Hooks::run( 'ParserLimitReportPrepare', [ $this, $this->mOutput ] );
 
                $limitReport = "NewPP limit report\n";
@@ -1863,8 +1868,8 @@ class Parser {
 
                        $dtrail = '';
 
-                       # Set linktype for CSS - if URL==text, link is essentially free
-                       $linktype = ( $text === $url ) ? 'free' : 'text';
+                       # Set linktype for CSS
+                       $linktype = 'text';
 
                        # No link text, e.g. [http://domain.tld/some.link]
                        if ( $text == '' ) {
@@ -5993,11 +5998,13 @@ class Parser {
         * unserializeHalfParsedText(). The text can then be safely incorporated into
         * the return value of a parser hook.
         *
+        * @deprecated since 1.31
         * @param string $text
         *
         * @return array
         */
        public function serializeHalfParsedText( $text ) {
+               wfDeprecated( __METHOD__, '1.31' );
                $data = [
                        'text' => $text,
                        'version' => self::HALF_PARSED_VERSION,
@@ -6018,11 +6025,13 @@ class Parser {
         * If the $data array has been stored persistently, the caller should first
         * check whether it is still valid, by calling isValidHalfParsedText().
         *
+        * @deprecated since 1.31
         * @param array $data Serialized data
         * @throws MWException
         * @return string
         */
        public function unserializeHalfParsedText( $data ) {
+               wfDeprecated( __METHOD__, '1.31' );
                if ( !isset( $data['version'] ) || $data['version'] != self::HALF_PARSED_VERSION ) {
                        throw new MWException( __METHOD__ . ': invalid version' );
                }
@@ -6043,11 +6052,13 @@ class Parser {
         * serializeHalfParsedText(), is compatible with the current version of the
         * parser.
         *
+        * @deprecated since 1.31
         * @param array $data
         *
         * @return bool
         */
        public function isValidHalfParsedText( $data ) {
+               wfDeprecated( __METHOD__, '1.31' );
                return isset( $data['version'] ) && $data['version'] == self::HALF_PARSED_VERSION;
        }
 
index 5d6385e..d329f69 100644 (file)
  * @ingroup Parser
  */
 class StripState {
-       protected $prefix;
        protected $data;
        protected $regex;
 
+       protected $parser;
+
        protected $circularRefGuard;
-       protected $recursionLevel = 0;
+       protected $depth = 0;
+       protected $highestDepth = 0;
+       protected $expandSize = 0;
 
-       const UNSTRIP_RECURSION_LIMIT = 20;
+       protected $depthLimit = 20;
+       protected $sizeLimit = 5000000;
 
        /**
-        * @param string|null $prefix
-        * @since 1.26 The prefix argument should be omitted, as the strip marker
-        *  prefix string is now a constant.
+        * @param Parser|null $parser
+        * @param array $options
         */
-       public function __construct( $prefix = null ) {
-               if ( $prefix !== null ) {
-                       wfDeprecated( __METHOD__ . ' with called with $prefix argument' .
-                               ' (call with no arguments instead)', '1.26' );
-               }
+       public function __construct( Parser $parser = null, $options = [] ) {
                $this->data = [
                        'nowiki' => [],
                        'general' => []
                ];
                $this->regex = '/' . Parser::MARKER_PREFIX . "([^\x7f<>&'\"]+)" . Parser::MARKER_SUFFIX . '/';
                $this->circularRefGuard = [];
+               $this->parser = $parser;
+
+               if ( isset( $options['depthLimit'] ) ) {
+                       $this->depthLimit = $options['depthLimit'];
+               }
+               if ( isset( $options['sizeLimit'] ) ) {
+                       $this->sizeLimit = $options['sizeLimit'];
+               }
        }
 
        /**
@@ -125,25 +132,32 @@ class StripState {
                        $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>';
+                                       return $this->getWarning( 'parser-unstrip-loop-warning' );
                                }
-                               if ( $this->recursionLevel >= self::UNSTRIP_RECURSION_LIMIT ) {
-                                       return '<span class="error">' .
-                                               wfMessage( 'parser-unstrip-recursion-limit' )
-                                                       ->numParams( self::UNSTRIP_RECURSION_LIMIT )->inContentLanguage()->text() .
-                                               '</span>';
+
+                               if ( $this->depth > $this->highestDepth ) {
+                                       $this->highestDepth = $this->depth;
                                }
-                               $this->circularRefGuard[$marker] = true;
-                               $this->recursionLevel++;
+                               if ( $this->depth >= $this->depthLimit ) {
+                                       return $this->getLimitationWarning( 'unstrip-depth', $this->depthLimit );
+                               }
+
                                $value = $this->data[$type][$marker];
                                if ( $value instanceof Closure ) {
                                        $value = $value();
                                }
+
+                               $this->expandSize += strlen( $value );
+                               if ( $this->expandSize > $this->sizeLimit ) {
+                                       return $this->getLimitationWarning( 'unstrip-size', $this->sizeLimit );
+                               }
+
+                               $this->circularRefGuard[$marker] = true;
+                               $this->depth++;
                                $ret = $this->unstripType( $type, $value );
-                               $this->recursionLevel--;
+                               $this->depth--;
                                unset( $this->circularRefGuard[$marker] );
+
                                return $ret;
                        } else {
                                return $m[0];
@@ -154,16 +168,69 @@ class StripState {
                return $text;
        }
 
+       /**
+        * Get warning HTML and register a limitation warning with the parser
+        *
+        * @param string $type
+        * @param int $max
+        * @return string
+        */
+       private function getLimitationWarning( $type, $max = '' ) {
+               if ( $this->parser ) {
+                       $this->parser->limitationWarn( $type, $max );
+               }
+               return $this->getWarning( "$type-warning", $max );
+       }
+
+       /**
+        * Get warning HTML
+        *
+        * @param string $message
+        * @param int $max
+        * @return string
+        */
+       private function getWarning( $message, $max = '' ) {
+               return '<span class="error">' .
+                       wfMessage( $message )
+                               ->numParams( $max )->inContentLanguage()->text() .
+                       '</span>';
+       }
+
+       /**
+        * Get an array of parameters to pass to ParserOutput::setLimitReportData()
+        *
+        * @unstable Should only be called by Parser
+        * @return array
+        */
+       public function getLimitReport() {
+               return [
+                       [ 'limitreport-unstrip-depth',
+                               [
+                                       $this->highestDepth,
+                                       $this->depthLimit
+                               ],
+                       ],
+                       [ 'limitreport-unstrip-size',
+                               [
+                                       $this->expandSize,
+                                       $this->sizeLimit
+                               ],
+                       ]
+               ];
+       }
+
        /**
         * Get a StripState object which is sufficient to unstrip the given text.
         * It will contain the minimum subset of strip items necessary.
         *
+        * @deprecated since 1.31
         * @param string $text
-        *
         * @return StripState
         */
        public function getSubState( $text ) {
-               $subState = new StripState();
+               wfDeprecated( __METHOD__, '1.31' );
+
+               $subState = new StripState;
                $pos = 0;
                while ( true ) {
                        $startPos = strpos( $text, Parser::MARKER_PREFIX, $pos );
@@ -194,11 +261,14 @@ class StripState {
         * will not be preserved. The strings in the $texts array will have their
         * strip markers rewritten, the resulting array of strings will be returned.
         *
+        * @deprecated since 1.31
         * @param StripState $otherState
         * @param array $texts
         * @return array
         */
        public function merge( $otherState, $texts ) {
+               wfDeprecated( __METHOD__, '1.31' );
+
                $mergePrefix = wfRandomString( 16 );
 
                foreach ( $otherState->data as $type => $items ) {
index 806713b..6fc8306 100644 (file)
@@ -81,21 +81,39 @@ class SpecialContributions extends IncludableSpecialPage {
                $this->opts['newOnly'] = $request->getBool( 'newOnly' );
                $this->opts['hideMinor'] = $request->getBool( 'hideMinor' );
 
-               $nt = Title::makeTitleSafe( NS_USER, $target );
-               if ( !$nt ) {
-                       $out->addHTML( $this->getForm() );
-
-                       return;
-               }
-               $userObj = User::newFromName( $nt->getText(), false );
-               if ( !$userObj ) {
-                       $out->addHTML( $this->getForm() );
+               $id = 0;
+               if ( $this->opts['contribs'] === 'newbie' ) {
+                       $userObj = User::newFromName( $target ); // hysterical raisins
+                       $out->addSubtitle( $this->msg( 'sp-contributions-newbies-sub' ) );
+                       $out->setHTMLTitle( $this->msg(
+                               'pagetitle',
+                               $this->msg( 'sp-contributions-newbies-title' )->plain()
+                       )->inContentLanguage() );
+               } elseif ( ExternalUserNames::isExternal( $target ) ) {
+                       $userObj = User::newFromName( $target, false );
+                       if ( !$userObj ) {
+                               $out->addHTML( $this->getForm() );
+                               return;
+                       }
 
-                       return;
-               }
-               $id = $userObj->getId();
+                       $out->addSubtitle( $this->contributionsSub( $userObj ) );
+                       $out->setHTMLTitle( $this->msg(
+                               'pagetitle',
+                               $this->msg( 'contributions-title', $target )->plain()
+                       )->inContentLanguage() );
+               } else {
+                       $nt = Title::makeTitleSafe( NS_USER, $target );
+                       if ( !$nt ) {
+                               $out->addHTML( $this->getForm() );
+                               return;
+                       }
+                       $userObj = User::newFromName( $nt->getText(), false );
+                       if ( !$userObj ) {
+                               $out->addHTML( $this->getForm() );
+                               return;
+                       }
+                       $id = $userObj->getId();
 
-               if ( $this->opts['contribs'] != 'newbie' ) {
                        $target = $nt->getText();
                        $out->addSubtitle( $this->contributionsSub( $userObj ) );
                        $out->setHTMLTitle( $this->msg(
@@ -108,12 +126,6 @@ class SpecialContributions extends IncludableSpecialPage {
                        if ( !IP::isValidRange( $target ) ) {
                                $this->getSkin()->setRelevantUser( $userObj );
                        }
-               } else {
-                       $out->addSubtitle( $this->msg( 'sp-contributions-newbies-sub' ) );
-                       $out->setHTMLTitle( $this->msg(
-                               'pagetitle',
-                               $this->msg( 'sp-contributions-newbies-title' )->plain()
-                       )->inContentLanguage() );
                }
 
                $ns = $request->getVal( 'namespace', null );
index cd04995..520e88d 100644 (file)
@@ -218,8 +218,18 @@ class ContribsPager extends RangeChronologicalPager {
                                $queryInfo['conds'][] = $ipRangeConds;
                        } else {
                                // tables and joins are already handled by Revision::getQueryInfo()
-                               $queryInfo['conds'][] = ActorMigration::newMigration()
-                                       ->getWhere( $this->mDb, 'rev_user', $user )['conds'];
+                               $conds = ActorMigration::newMigration()->getWhere( $this->mDb, 'rev_user', $user );
+                               $queryInfo['conds'][] = $conds['conds'];
+                               // Force the appropriate index to avoid bad query plans (T189026)
+                               if ( count( $conds['orconds'] ) === 1 ) {
+                                       if ( isset( $conds['orconds']['actor'] ) ) {
+                                               // @todo: This will need changing when revision_comment_temp goes away
+                                               $queryInfo['options']['USE INDEX']['temp_rev_user'] = 'actor_timestamp';
+                                       } else {
+                                               $queryInfo['options']['USE INDEX']['revision'] =
+                                                       isset( $conds['orconds']['userid'] ) ? 'user_timestamp' : 'usertext_timestamp';
+                                       }
+                               }
                        }
                }
 
index 2252645..2b0eeb8 100644 (file)
@@ -198,6 +198,7 @@ class Names {
                'hsb' => 'hornjoserbsce', # Upper Sorbian
                'ht' => 'Kreyòl ayisyen', # Haitian Creole French
                'hu' => 'magyar', # Hungarian
+               'hu-formal' => 'magyar (formal)', # Hungarian formal address
                'hy' => 'Հայերեն', # Armenian
                'hz' => 'Otsiherero', # Herero
                'ia' => 'interlingua', # Interlingua (IALA)
index d449f5b..ece84d8 100644 (file)
        "expansion-depth-exceeded-category": "الصفحات التي حدث فيها تجاوز عمق التوسيع",
        "expansion-depth-exceeded-warning": "الصفحة تجاوزت عمق التوسيع",
        "parser-unstrip-loop-warning": "حلقة معراة تم الكشف عنها",
-       "parser-unstrip-recursion-limit": "تعدى حد العودية Unstrip  ($1)",
+       "unstrip-depth-warning": "تعدى حد العودية Unstrip  ($1)",
        "undo-success": "يمكن استرجاع التعديل.\nمن فضلك تحقق من المقارنة بالأسفل للتأكد من أن هذا هو ما تريد أن تفعله، وبعد ذلك احفظ التغييرات بالأسفل للانتهاء من استرجاع التعديل.",
        "undo-failure": "لم يمكن استرجاع التعديل بسبب تعديلات متعارضة تمت على الصفحة.",
        "undo-norev": "فشل في الرجوع عن التعديل حيث أنه غير موجود أو تم حذفه.",
        "blanknamespace": "(رئيسي)",
        "contributions": "مساهمات {{GENDER:$1|المستعمل|المستعملة}}",
        "contributions-title": "مساهمات المستخدم $1",
-       "mycontris": "مساهماتي",
+       "mycontris": "مساهمات",
        "anoncontribs": "مساهمات",
        "contribsub2": "ل$1 ($2)",
        "month": "من شهر (و أقدم):",
index 0710d40..f635f9a 100644 (file)
        "expansion-depth-exceeded-category": "Bladsye waar die uitbreidingsdiepte oorskry is",
        "expansion-depth-exceeded-warning": "Die bladsy bevat te veel sjablone",
        "parser-unstrip-loop-warning": "'n \"Unstrip\"-lus is bespreur.",
-       "parser-unstrip-recursion-limit": "Die rekursielimiet ($1) vir \"unstrip\" is oorskry",
+       "unstrip-depth-warning": "Die rekursielimiet ($1) vir \"unstrip\" is oorskry",
        "converter-manual-rule-error": "'n Fout is in 'n handmatig toegevoegde taalomskalelingsreël gevind.",
        "undo-success": "Die wysiging kan ongedaan gemaak word.\nKontroleer die vergelyking hieronder om seker te maak dis wat u wil doen, en stoor dan om die terugrol te voltooi.",
        "undo-failure": "Die wysiging kan nie ongedaan gemaak word nie omdat dit met intermediêre wysigings bots.",
index cc7b50c..5109460 100644 (file)
        "expansion-depth-exceeded-category-desc": "mangsiw micuwat kasabelih nu ilabuay a kelec.",
        "expansion-depth-exceeded-warning": "kasabelih mangsiw micuwat ilabuay a kelec",
        "parser-unstrip-loop-warning": "masedap tu Unstrip masaliyut.",
-       "parser-unstrip-recursion-limit": "Unstrip musaliyuliyud mangasiw tu kelec ($1)",
+       "unstrip-depth-warning": "Unstrip musaliyuliyud mangasiw tu kelec ($1)",
        "converter-manual-rule-error": "imahini palima-saungay kamu miliyaw likec masedap tu mungangaw",
        "undo-success": "tina mikawaway-kalumyiti kapah tu mapatiku.\nkapikinsa tu zikuz sasutili’ay sapat nu sulit, malucekay tu ukakaiyan kaidihan isu patiku, satu suped tu zikuz misumad tu pahezek mikawaway-kalumyiti patiku.",
        "undo-failure": "nay mikawaway-kalumyiti a sumad izaw sasula’cus,tina mikawaway-kalumyiti caay patiku.",
index 580ec35..6529ef4 100644 (file)
        "sectioneditnotsupported-text": "تعديل الأقسام غير مدعوم في هذه الصفحة",
        "permissionserrors": "خطأ في السماح",
        "permissionserrorstext": "لا تمتلك الصلاحية لفعل هذا، {{PLURAL:$1||للسبب التالي|للسببين التاليين|للأسباب التالية}}:",
-       "permissionserrorstext-withaction": "ليست لك الصلاحية ل$2، لل{{PLURAL:$1||سبب التالي|سببين التاليين|أسباب التالية}}:",
+       "permissionserrorstext-withaction": "ليست لك الصلاحية ل$2; لل{{PLURAL:$1||سبب التالي|سببين التاليين|أسباب التالية}}:",
        "contentmodelediterror": "أنت لا يمكنك تعديل هذه المراجعة لأن موديل محتواها هو  <code>$1</code>، والذي يختلف عن موديل المحتوى الحالي للصفحة  <code>$2</code>.",
        "recreate-moveddeleted-warn": "'''تحذير: أنت تعيد إنشاء صفحة سبق حذفها.'''\n\nيجب عليك التيقن من أن الاستمرار بتحرير هذه الصفحة ملائم.\nسجلا الحذف والنقل لهذه الصفحة معروضان هنا للتيسير:",
        "moveddeleted-notice": "هذه الصفحة تم حذفها.\nسجلا حذف ونقل الصفحة معروضان بالأسفل كمرجع.",
        "expansion-depth-exceeded-category-desc": "الصفحة تجاوزت الحد الأقصى لعمق التوسيع.",
        "expansion-depth-exceeded-warning": "الصفحة تجاوزت عمق التوسيع",
        "parser-unstrip-loop-warning": "حلقة معراة تم الكشف عنها",
-       "parser-unstrip-recursion-limit": "تعدى حد العودية Unstrip  ($1)",
+       "unstrip-depth-warning": "تعدى حد العودية Unstrip  ($1)",
+       "unstrip-depth-category": "الصفحات التي يتم تجاوز حد عمق أونستريب فيها",
+       "unstrip-size-warning": "تم تجاوز حد الحجم Unstrip ($1)",
+       "unstrip-size-category": "الصفحات التي يتم تجاوز الحد الأقصى لحجم أونستريب فيها",
        "converter-manual-rule-error": "خطأ تم اكتشافه في قاعدة تحويل اللغة اليدوية",
        "undo-success": "يمكن استرجاع التعديل.\nتحقق من المقارنة بالأسفل للتأكد من أن هذا هو ما تريد أن تفعله، ثم احفظ التغييرات بالأسفل للانتهاء من استرجاع التعديل.",
        "undo-failure": "لم يمكن استرجاع التعديل بسبب تعديلات متعارضة تمت على الصفحة.",
        "stub-threshold-disabled": "معطل",
        "recentchangesdays": "عدد الأيام المعروضة في أحدث التغييرات:",
        "recentchangesdays-max": "الحد الأقصى {{PLURAL:$1|أقل من يوم|يوم واحد|يومان|$1 أيام|$1 يوما|$1 يوم}}",
-       "recentchangescount": "عدد التعديلات الظاهرة مبدئيا:",
-       "prefs-help-recentchangescount": "بÙ\85ا Ù\81Ù\8a Ø°Ù\84Ù\83 Ø£Ø­Ø¯Ø« Ø§Ù\84تغÙ\8aÙ\8aرات Ù\88تارÙ\8aØ® Ø§Ù\84صÙ\81حات Ù\88اÙ\84سجÙ\84ات.",
+       "recentchangescount": "عدد التعديلات للعرض في أحدث التغييرات وتواريخ الصفحات، والسجلات، افتراضيا:",
+       "prefs-help-recentchangescount": "اÙ\84عدد Ø§Ù\84Ø£Ù\82صÙ\89: 1000",
        "prefs-help-watchlist-token2": "هذا هو المفتاح السري لتغذية الويب لقائمة مراقبتك.\nيمكن لأي شخص يعرفه أن يقرأ قائمة مراقبتك، ولذا لا تتشاركه مع أحد.\nإذا احتجت، [[Special:ResetTokens|يمكنك إعادة ضبطه]].",
        "savedprefs": "تم حفظ تفضيلاتك.",
        "savedrights": "حُفظت المجموعات الجديدة {{GENDER:$1|للمستخدم|للمستخدمة}} $1.",
        "emailuserfooter": "هذا البريد الإلكتروني {{GENDER:$1|تم إرساله}} بواسطة $1 إلى {{GENDER:$2|$2}} بواسطة وظيفة \"{{int:emailuser}}\" في {{SITENAME}}. لو {{GENDER:$2|أنك}} رددت على هذا البريد، فعنوان البريد الخاص {{GENDER:$2|بك}} سيتم إرساله مباشرة {{GENDER:$1|للمرسل الأصلي|للمرسلة الأصلية}}، مما يكشف عنوان البريد الإلكتروني الخاص {{GENDER:$2|بك}} {{GENDER:$1|لهم}}.",
        "usermessage-summary": "ترك رسالة نظام.",
        "usermessage-editor": "مراسل النظام",
-       "watchlist": "قائمة مراقبتي",
-       "mywatchlist": "قائمة مراقبتي",
+       "watchlist": "قائمة المراقبة",
+       "mywatchlist": "قائمة المراقبة",
        "watchlistfor2": "ل$1 $2",
        "nowatchlist": "لا توجد مدخلات في قائمة مراقبتك.",
        "watchlistanontext": "الرجاء تسجيل الدخول لعرض أو تعديل الصفحات في قائمة مراقبتك.",
        "blanknamespace": "(رئيسي)",
        "contributions": "مساهمات {{GENDER:$1|المستخدم|المستخدمة}}",
        "contributions-title": "مساهمات {{GENDER:$1|المستخدم|المستخدمة}} $1",
-       "mycontris": "مساهماتي",
+       "mycontris": "مساهمات",
        "anoncontribs": "مساهمات",
        "contribsub2": "ل{{GENDER:$3|$1}} ($2)",
        "contributions-userdoesnotexist": "حساب المستخدم \"$1\" غير مسجل.",
        "limitreport-templateargumentsize-value": "$1/$2 {{PLURAL:$2|بايت}}",
        "limitreport-expansiondepth": "أعمق التوسيعات",
        "limitreport-expensivefunctioncount": "دوال محللة مكلفة",
+       "limitreport-unstrip-depth": "عمق الاستدعاء الذاتي لأونستريب",
+       "limitreport-unstrip-depth-value": "$1/$2",
+       "limitreport-unstrip-size": "حجم أونستريب ما بعد التوسع",
+       "limitreport-unstrip-size-value": "$1/$2 {{PLURAL:$2|بايت}}",
        "expandtemplates": "توسعة قالب",
        "expand_templates_intro": "تتعامل هذه الصفحة الخاصة مع نصوص الويكي وتقوم بفرد كل القوالب الموجودة به.\nوتقوم أيضا بفرد دوال القوالب مثل\n<code><nowiki>{{</nowiki>#language:…}}</code> and variables like <code><nowiki>{{</nowiki>CURRENTDAY}}</code>. حقيقةً، تقوم التعامل مع كل ما بين الأقواس المزدوجة.",
        "expand_templates_title": "عنوان صفحة هذا النص، لأجل معالجة {{FULLPAGENAME}} إلخ.:",
index 8be15c8..cb72b81 100644 (file)
        "expansion-depth-exceeded-category": "বিস্তৃতি গভীৰতা বেছি হোৱা পৃষ্ঠা",
        "expansion-depth-exceeded-warning": "পৃষ্ঠাটোৰ বিস্তৃতি গভীৰতা বেছি হৈছে",
        "parser-unstrip-loop-warning": "আন্‌ষ্ট্ৰীপ লুপ চিনাক্ত কৰা হৈছে",
-       "parser-unstrip-recursion-limit": "আন্‌ষ্ট্ৰিপ ৰিকাৰ্ছন সীমা অতিক্ৰম হৈছে ($1)",
+       "unstrip-depth-warning": "আন্‌ষ্ট্ৰিপ ৰিকাৰ্ছন সীমা অতিক্ৰম হৈছে ($1)",
        "converter-manual-rule-error": "মেনুৱেল ভাষা পৰিৱৰ্তন নিয়মত ত্ৰুটি পোৱা গৈছে",
        "undo-success": "এই সম্পাদনা পূৰ্ববৎ কৰিব পাৰি ।\nঅনুগ্ৰহ কৰি তলৰ তুলনাটি পৰীক্ষা কৰি ঠাৱৰ কৰক যে আপুনি এনে কৰিব বিচাৰিছে, আৰু তলত সালসলনিসমূহ সাঁচি এই কাৰ্য্য সম্পন্ন কৰক ।",
        "undo-failure": "এই সম্পাদনা মধ্যৱৰ্তী সম্পাদনাসমূহৰ দ্বন্দৰ কাৰণে পূৰ্ববৎ কৰা নহ'ব ।",
index 0404cf0..2c93bc8 100644 (file)
        "expansion-depth-exceeded-category-desc": "La páxina superó la fondura máxima d'espansión.",
        "expansion-depth-exceeded-warning": "La páxina pasó la fondura d'espansión",
        "parser-unstrip-loop-warning": "Deteutóse un bucle \"unstrip\"",
-       "parser-unstrip-recursion-limit": "Pasóse la llende de recursividá d'unstrip ($1)",
+       "unstrip-depth-warning": "Pasóse la llende de recursividá d'unstrip ($1)",
        "converter-manual-rule-error": "Detectóse un error na regla de conversión manual de llingua",
        "undo-success": "La edición se pue esfacer.\nPor favor comprueba la comparanza d'abaxo pa confirmar que ye eso lo que quies facer, y depués guarda los cambios p'acabar d'esfacer la edición.",
        "undo-failure": "Nun pudo esfacese la edición por aciu d'ediciones intermedies conflictives.",
index 0db063c..5ce0f45 100644 (file)
        "expansion-depth-exceeded-category-desc": "ई पन्ना विस्तार गहराई पार करत है।",
        "expansion-depth-exceeded-warning": "पन्ना में विस्तार गहराई पार कई गा है",
        "parser-unstrip-loop-warning": "Unstrip लूप मिला",
-       "parser-unstrip-recursion-limit": "Unstrip पुनरावर्तन सीमा पार कई गय ($1)",
+       "unstrip-depth-warning": "Unstrip पुनरावर्तन सीमा पार कई गय ($1)",
        "converter-manual-rule-error": "मैन्यूअल भाषा परिवर्तन नियम में त्रुटि",
        "undo-success": "ई संपादन पहिले जैसन रहा वईसय कई सका जात है ।\nअईसन करेक लिये कृपया निचे लिखल पाठ कय ध्यान से दखीकय बदलाव सहेजा जाय।",
        "undo-failure": "एकरे बीचे अउर बदलाव होएक कारण ई संपादन पहिले जैसन करब संभव नाई है।",
index 376c2ac..ee3523f 100644 (file)
        "expansion-depth-exceeded-category": "گئنیشلمه درین‌لیگی آشیلان صحیفه‌لر",
        "expansion-depth-exceeded-warning": "صحیفه گئنیشلنمه درین‌لیگی آشیلدی",
        "parser-unstrip-loop-warning": "تکرارلاما دونمه سی قبول ائدیلدی",
-       "parser-unstrip-recursion-limit": "حداکثر ارجاع دستور دا unstrip تجاوز گئچیب دیر ($1)",
+       "unstrip-depth-warning": "حداکثر ارجاع دستور دا unstrip تجاوز گئچیب دیر ($1)",
        "converter-manual-rule-error": "خطا ال مبدیلی قانون لاریندا",
        "undo-success": "بو دَییشیک‌لیک گئری آلینا بیلر. لطفاً آشاغی‌داکی موقاییسه ائتمیی نظارت ائدین، حقیقتن بو دییشیک‌لیگی ائتمک ایستدیگینیزدن امین اولون و صحیفنی یازا‌راق بیر اوولکی دییشیک‌لیگی گئرییه آلین.",
        "undo-failure": "دییشیک‌لیک‌لرین توققوشماسی نتیجه‌سینده گئرییه قایتارما ایشی اوغورسوز اولدو.",
index fbfde93..db55a9a 100644 (file)
        "expansion-depth-exceeded-category-desc": "Биттең асылыу тәрәнлеге мөмкин булған юғары сикте уҙған.",
        "expansion-depth-exceeded-warning": "Биттә һалыныу тәрәнлеге сиге үтеп кителгән",
        "parser-unstrip-loop-warning": "Ябылмаған pre табылды",
-       "parser-unstrip-recursion-limit": "($1) рекурсия сиге үтеп кителгән",
+       "unstrip-depth-warning": "($1) рекурсия сиге үтеп кителгән",
        "converter-manual-rule-error": "Тел әйлендереү ҡағиҙәһендә хата табылды",
        "undo-success": "Был үҙгәртеүҙе кире алып була. Үҙгәртеүҙәр нәҡ һеҙ теләгәнсә булһа, версияларҙы сағыштырып ҡарағыҙ, ғәмәлгә индерер өсөн, «Битте һаҡларға» төймәһенә баҫығыҙ.",
        "undo-failure": "Ара үҙгәртеүҙәр тура килмәү сәбәпле төҙәтеүҙе кире алып булмай.",
        "recentchangeslinked-feed": "Бәйле үҙгәртеүҙәр",
        "recentchangeslinked-toolbox": "Бәйле үҙгәртеүҙәр",
        "recentchangeslinked-title": "\"$1\" битенә бәйле үҙгәртеүҙәр",
-       "recentchangeslinked-summary": "Ð\91Ñ\8bл ÐºÒ¯Ñ\80Ò»Ó\99Ñ\82елгÓ\99н Ð±Ð¸Ñ\82 - Ò»Ñ\8bлÑ\82анма Ñ\8fһаÒ\93ан (йÓ\99ки ÐºÒ¯Ñ\80Ò»Ó\99Ñ\82елгÓ\99н ÐºÐ°Ñ\82егоÑ\80иÑ\8fÒ\93а ÐºÐµÑ\80гÓ\99н) Ò»Ñ\83Ò£Ò\93Ñ\8b Ò¯Ò\99гÓ\99Ñ\80Ñ\82еүÒ\99Ó\99Ñ\80 Ð¸Ñ\81емлеге.\n[[Special:Watchlist|Ð\9aÒ¯Ò\99Ó\99Ñ\82еү Ð¸Ñ\81емлегегеÒ\99гÓ\99]] ÐºÐµÑ\80Ó\99 Ñ\82оÑ\80Ò\93ан Ð±Ð¸Ñ\82Ñ\82әр '''ҡалын''' итеп күрһәтелгән.",
+       "recentchangeslinked-summary": "Ð\91Ñ\8bл Ð±Ð¸Ñ\82кÓ\99 Ð¹Ó\99ки Ð±Ñ\8bл Ð±Ð¸Ñ\82Ñ\82Ó\99н Ò»Ñ\8bлÑ\82анÒ\93ан Ð±Ð¸Ñ\82Ñ\82Ó\99Ñ\80Ò\99Ó\99 Ò¯Ò\99гÓ\99Ñ\80Ñ\82еүÒ\99Ó\99Ñ\80Ò\99е ÐºÒ¯Ñ\80еү Ó©Ñ\81өн Ð±Ð¸Ñ\82 Ð¸Ñ\81емен Ñ\8fÒ\99Ñ\8bÒ\93Ñ\8bÒ\99 (Ð\9aаÑ\82егоÑ\80иÑ\8fлаÑ\80 Ó©Ñ\81өн \"Ð\9aаÑ\82егоÑ\80иÑ\8f:каÑ\82еÑ\80огиÑ\8f Ð¸Ñ\81еме\"н Ñ\8fÒ\99Ñ\8bÒ\93Ñ\8bÒ\99).\n[[Special:Watchlist|Ð\9aÒ¯Ò\99Ó\99Ñ\82еү Ð¸Ñ\81емлегегеÒ\99гÓ\99]] Ð¸Ð½Ð´ÐµÑ\80елгÓ\99н Ð±Ð¸Ñ\82Ñ\82Ó\99Ñ\80Ò\99Ó\99 Ò¯Ò\99гÓ\99Ñ\80Ñ\82еүÒ\99әр '''ҡалын''' итеп күрһәтелгән.",
        "recentchangeslinked-page": "Бит исеме:",
        "recentchangeslinked-to": "Киреһенсә, был биткә һылтанма яһаған биттәрҙәге үҙгәртеүҙәрҙе күрһәтергә",
        "recentchanges-page-added-to-category": "[[:$1]] категорияға өҫтәлгән",
        "unwatchthispage": "Күҙәтеүҙе туҡтатырға",
        "notanarticle": "Мәҡәлә түгел",
        "notvisiblerev": "Башҡа ҡатнашыусы тарафынан керетелгән һуңғы өлгө юйылған",
-       "watchlist-details": "Һеҙҙең күҙәтеү исемлегегеҙҙә, фекерләшеү биттәрен һанамағанда, {{PLURAL:$1|$1 бит}} бар.",
+       "watchlist-details": "Һеҙҙең $1 күҙәтеү исемлегегеҙҙә, фекерләшеү биттәре менән бергә, {{PLURAL:$1|$1 бит}} бар.",
        "wlheader-enotif": "Электрон почта аша белдереү индерелгән.",
        "wlheader-showupdated": "Һеҙҙең аҙаҡҡы кереүегеҙҙән һуң үҙгәргән биттәр '''ҡалын''' шрифт менән күрһәтелгән.",
        "wlnote": "Түбәндә $3 $4 ваҡытына тиклем аҙаҡҡы {{PLURAL:$2|1=сәғәт|'''$2''' сәғәт}} эсендә эшләнгән {{PLURAL:$1|1=үҙгәртеү|'''$1''' үҙгәртеү}} күрһәтелгән.",
index c1b64d7..e1037ac 100644 (file)
        "expansion-depth-exceeded-category-desc": "کتگوری په دیمان که آوانی تا پرش بوتینی  جولی  گیشتیر شُته گنت.",
        "expansion-depth-exceeded-warning": "پیج چه مکسیمم تچک کتنء امک(عمق) گیش شُت",
        "parser-unstrip-loop-warning": "حلقهء unstrip ودی بوت",
-       "parser-unstrip-recursion-limit": "چه مکسیمم ارجاع مان دستور unstrip گیش شُت ات($1)",
+       "unstrip-depth-warning": "چه مکسیمم ارجاع مان دستور unstrip گیش شُت ات($1)",
        "converter-manual-rule-error": "ارور مان قوانین مبدل دستی زبان",
        "undo-success": "اصلاح برگشت نه بیت. لطفا مقایسه جهلگینء کنترل کنیت په تایید شی که شی هما انت که شما لوٹیت، و بعدا تغغیرات جهلی په تمام کتن بر نگردگ اصلاح ذخیره کنیت.",
        "undo-failure": "اصلاح بر نرگردیت په خاطر تضاد میان اصلاحاتی",
index f234fe2..427ccdb 100644 (file)
        "expansion-depth-exceeded-category": "Mga pahina kun saen an panrarom na kalakbangan nagsobra",
        "expansion-depth-exceeded-warning": "An pahina nagsobra sa panrarom na kalakbangan",
        "parser-unstrip-loop-warning": "Panul-ot na kaluktusan namansayan",
-       "parser-unstrip-recursion-limit": "Panul-ot na rekusyong kasagkodan nagsobra ($1)",
+       "unstrip-depth-warning": "Panul-ot na rekusyong kasagkodan nagsobra ($1)",
        "converter-manual-rule-error": "Kasalaan detektado sa manwal na konbersyon kan pinapasunod sa lengguwahe",
        "undo-success": "Pwedeng bawion an paghirá. Sosogon tabì an pagkakaiba sa babâ tangarig maberipikár kun ini an boot mong gibohon, dangan itagama an mga pagbabàgo sa babâ tangarig tapuson an pagbawì sa paghirá.",
        "undo-failure": "Dai napogol an paghirá ta igwa pang ibang paghirá sa tahaw na nagkokomplikto.",
index 3eb54e7..4cd535b 100644 (file)
        "expansion-depth-exceeded-category-desc": "Старонка перавышае максымальную глыбіню раскрыцьця.",
        "expansion-depth-exceeded-warning": "Старонка перавысіла дазволеную глыбіню разгортваньня",
        "parser-unstrip-loop-warning": "Вызначаная пятля unstrip",
-       "parser-unstrip-recursion-limit": "Перавышаны ліміт рэкурсіі unstrip ($1)",
+       "unstrip-depth-warning": "Перавышаны ліміт глыбіні функцыі unstrip ($1)",
+       "unstrip-depth-category": "Старонкі зь перавышаным лімітам глыбіні функцыі unstrip",
        "converter-manual-rule-error": "Знойдзеная памылка ў ручным правіле моўнага канвэртару",
        "undo-success": "Рэдагаваньне можа быць адмененае. Калі ласка, параўнайце адрозьненьні паміж вэрсіямі, каб упэўніцца, што гэта адпаведныя зьмены, а потым запішыце зьмены для сканчэньня рэдагаваньня.",
        "undo-failure": "Рэдагаваньне ня можа быць скасаванае праз канфлікт паміж папярэднімі рэдагаваньнямі.",
        "stub-threshold-disabled": "Адключаны",
        "recentchangesdays": "Колькасьць дзён для паказу ў апошніх зьменах:",
        "recentchangesdays-max": "Максымальна $1 {{PLURAL:$1|дзень|дні|дзён}}",
-       "recentchangescount": "Колькасьць рэдагаваньняў для паказу па змоўчаньні:",
+       "recentchangescount": "Колькасьць рэдагаваньняў для паказу па змоўчаньні ў апошніх зьменах, старонках гісторыі і журналах падзеяў:",
        "prefs-help-recentchangescount": "Гэта ўключае апошнія зьмены, гісторыі старонак і журналы падзеяў.",
        "prefs-help-watchlist-token2": "Гэта сакрэтны ключ да стужкі вашага сьпісу назіраньня.\nКожны, хто ведае яго, можа атрымаць доступ да вашага сьпісу назіраньня, таму не дзяліцеся ім.\nКалі вам трэба, [[Special:ResetTokens|вы можаце скінуць яго]].",
        "savedprefs": "Вашыя налады былі захаваныя.",
        "right-editprotected": "Рэдагаваньне старонак, абароненых у рэжыме «{{int:protect-level-sysop}}»",
        "right-editsemiprotected": "Рэдагаваньне старонак, абароненых у рэжыме «{{int:protect-level-autoconfirmed}}»",
        "right-editcontentmodel": "рэдагаваньне мадэлі зьместу старонкі",
-       "right-editinterface": "рэдагаваньне інтэрфэйса карыстальніка",
-       "right-editusercss": "рэдагаваньне CSS файлаў іншых удзельнікаў",
-       "right-edituserjs": "рэдагаваньне JS файлаў іншых удзельнікаў",
-       "right-editmyusercss": "рэдагаваць уласныя карыстальніцкія CSS-файлы",
+       "right-editinterface": "Рэдагаваньне інтэрфэйсу карыстальніка",
+       "right-editusercss": "Рэдагаваньне CSS-файлаў іншых удзельнікаў",
+       "right-edituserjs": "Рэдагаваньне JavaScript-файлаў іншых удзельнікаў",
+       "right-editmyusercss": "Рэдагаваць свае карыстальніцкія CSS-файлы",
        "right-editmyuserjs": "рэдагаваць уласныя карыстальніцкія JavaScript-файлы",
        "right-viewmywatchlist": "праглядаць уласны сьпіс назіраньня",
        "right-editmywatchlist": "рэдагаваць уласны сьпіс назіраньня (некаторыя дзеяньні будуць дадаваць туды старонкі нават бяз гэтага права)",
        "limitreport-templateargumentsize-value": "$1/$2 {{PLURAL:$2|байт}}",
        "limitreport-expansiondepth": "Найбольшая глыбіня разгортваньня",
        "limitreport-expensivefunctioncount": "Колькасьць дарагіх функцыяў парсэра",
+       "limitreport-unstrip-depth-value": "$1/$2",
        "expandtemplates": "Разгортваньне шаблёнаў",
        "expand_templates_intro": "Гэтая спэцыяльная старонка бярэ вікітэкст і разгортвае ўсе шаблёны рэкурсіўна.\nАдначасова разгортваюцца функцыі парсэру накшталт\n<code><nowiki>{{</nowiki>#language:…}}</code>, і зьменныя накшталт\n<code><nowiki>{{</nowiki>CURRENTDAY}}</code>\nФактычна, гэтая старонка разгортвае амаль усё ўнутры падвойных фігурных дужак.",
        "expand_templates_title": "Загаловак старонкі, для {{FULLPAGENAME}} і г.д.:",
index 5a6d37c..fa1e7a0 100644 (file)
@@ -32,7 +32,8 @@
                        "Mechanizatar",
                        "Artsiom91",
                        "Andrus",
-                       "Da voli"
+                       "Da voli",
+                       "OlegCinema"
                ]
        },
        "tog-underline": "Падкрэсліваць спасылкі:",
        "expansion-depth-exceeded-category-desc": "На старонцы перасягнута максімальная глыбіня разгортвання.",
        "expansion-depth-exceeded-warning": "Старонка перасягнула глыбіню разгортвання",
        "parser-unstrip-loop-warning": "Выяўлены закальцаваны unstrip",
-       "parser-unstrip-recursion-limit": "Перавышаны ліміт рэкурсіі unstrip ($1)",
+       "unstrip-depth-warning": "Перавышаны ліміт рэкурсіі unstrip ($1)",
        "converter-manual-rule-error": "Выяўлена памылка ў ручным правіле моўнага канвертара",
        "undo-success": "Праўку можна адкаціць, але праверце папярэдні паказ, што ніжэй, каб упэўніцца ў адпаведнасці будучых змяненняў, і толькі тады запішыце іх, каб завершыць адкат праўкі.",
        "undo-failure": "Немагчыма адкаціць праўку, таму што перашкаджаюць праўкі, што былі перад ёй.",
        "rcfilters-savedqueries-remove": "Сцерці",
        "rcfilters-savedqueries-new-name-label": "Назва",
        "rcfilters-savedqueries-apply-label": "Запісаць настройкі",
+       "rcfilters-savedqueries-apply-and-setdefault-label": "Стварыць фільтр па ўмаўчанню",
        "rcfilters-savedqueries-cancel-label": "Скасаваць",
        "rcfilters-savedqueries-add-new-title": "Запісаць цяперашнія настройкі фільтра",
        "rcfilters-restore-default-filters": "Аднавіць фільтры па змоўчанні",
        "uploadstash-errclear": "Ачыстка файлаў не ўдалася",
        "uploadstash-refresh": "Абнавіць спіс файлаў",
        "uploadstash-thumbnail": "паказаць мініяцюру",
+       "uploadstash-file-not-found-no-local-path": "Не знойдзена лакальнага шляху да отмасштабированному файлу.",
+       "uploadstash-file-not-found-no-object": "Не атрымалася стварыць аб'ект лакальнага файла для мініяцюры.",
+       "uploadstash-file-not-found-missing-content-type": "Отсутствует загаловак content-type.",
+       "uploadstash-file-not-found-not-exists": "Шлях не знойдзены, альбо файл незразумелы.",
+       "uploadstash-no-extension": "Пустое расшырэнне.",
        "invalid-chunk-offset": "Недапушчальнае зрушэнне фрагмента",
        "img-auth-accessdenied": "Доступ забаронены",
        "img-auth-nopathinfo": "Адсутнічае PATH_INFO.\nВаш сервер не настроены на перадачу гэтых звестак.\nМагчыма, ён на аснове CGI і не падтрымлівае img_auth.\nГл. https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization.",
        "apisandbox-results": "Вынікі",
        "apisandbox-sending-request": "Адпраўка API-запыту…",
        "apisandbox-loading-results": "Атрымліваем API-вынікі…",
+       "apisandbox-request-format-url-label": "Радок URL-запыту",
        "apisandbox-request-url-label": "URL-адрас запыту:",
+       "apisandbox-request-json-label": "Запытаць JSON:",
        "apisandbox-request-time": "Час запыту: {{PLURAL:$1|$1 мс}}",
        "apisandbox-results-fixtoken": "Папраўце токен і паўтарыце адпраўку",
        "apisandbox-alert-page": "Палі на гэтай старонцы недапушчальныя.",
        "trackingcategories-msg": "Катэгорыя для асочвання",
        "trackingcategories-name": "Назва паведамлення",
        "trackingcategories-desc": "Крытэрый уключэння ў катэгорыю",
+       "restricted-displaytitle-ignored": "Старонкі з игнорируемыми отображаемыми назвамі",
        "restricted-displaytitle-ignored-desc": "Старонка змяшчае <code><nowiki>{{DISPLAYTITLE}}</nowiki></code>, які ігнаруецца з-за несупадзення з актуальнай назвай старонкі",
        "noindex-category-desc": "Старонка не індэксуецца пошукавымі робатамі, таму што на ёй ёсць магічнае слова <code><nowiki>__NOINDEX__</nowiki></code> і яна знаходзіцца ў прасторы назваў, дзе гэты сцяг дазволены.",
        "index-category-desc": "На старонцы ёсць магічнае слова <code><nowiki>__INDEX__</nowiki></code> (і старонка знаходзіцца ў прасторы назваў, дзе гэты сцяг дазволены), таму яна індэксуецца пошукавымі робатамі у выпадках, калі гэтага звычайна не адбываецца.",
        "enotif_lastdiff": "Гл. $1 каб бачыць гэтую мену.",
        "enotif_anon_editor": "ананімны ўдзельнік $1",
        "enotif_body": "Паважаны(ая) $WATCHINGUSERNAME,\n\n$PAGEINTRO $NEWPAGE\n\nКароткае апісанне змены: $PAGESUMMARY $PAGEMINOREDIT\n\nЗвярнуцца да змяніўшага:\nэл. пошта: $PAGEEDITOR_EMAIL\nвікі: $PAGEEDITOR_WIKI\n\nКалі вы не наведаеце гэтую старонку, прадставіўшыся сістэме, у выпадку далейшай актыўнасці апавяшчэнняў больш не будзе. Вы можаце таксама адключыць опцыю паведамлення для ўсіх старонак у вашым спісе назірання.\n\nСістэма апавяшчэння {{grammar:genitive|{{SITENAME}}}}\n\n--\nЗмена настроек апавяшчэння\n{{canonicalurl:{{#special:Preferences}}}}\n\nЗмена наладаў вашага спісу назірання\n{{canonicalurl:{{#special:EditWatchlist}}}}\n\nВыдаліць старонку з вашага спісу назірання\n$UNWATCHURL\n\nЗваротная сувязь і дапамога\n$HELPPAGE",
+       "enotif_minoredit": "Гэта малая праўка",
        "created": "створана",
        "changed": "зменена",
        "deletepage": "Сцерці старонку",
        "undelete-search-title": "Шукаць у сцёртых старонках",
        "undelete-search-box": "Знайсці ў сцёртых старонках",
        "undelete-search-prefix": "Паказаць старонкі, пачынаючы з:",
+       "undelete-search-full": "Паказаць назвы старонак, якія змяшчаюць:",
        "undelete-search-submit": "Шукаць",
        "undelete-no-results": "Не знойдзены адпаведныя старонкі ў архіве сціранняў.",
        "undelete-filename-mismatch": "Немагчыма аднавіць версію файла з адзнакай часу $1: не супадаюць назвы файлаў",
        "unblocked-id": "Блок $1 быў зняты",
        "unblocked-ip": "[[Special:Contributions/$1|$1]] быў разблакіраваны.",
        "blocklist": "Заблакаваныя ўдзельнікі",
+       "autoblocklist": "Аўтаблакіроўкі",
        "autoblocklist-submit": "Шукаць",
+       "autoblocklist-legend": "Спіс аўтаблакіровак",
+       "autoblocklist-empty": "Спіс аўтаблакіровак пусты.",
        "ipblocklist": "Заблакаваныя ўдзельнікі",
        "ipblocklist-legend": "Знайсці заблакаванага ўдзельніка",
        "blocklist-userblocks": "Схаваць блакіроўкі ўліковых запісаў",
        "thumbnail_dest_directory": "Немагчыма стварыць мэтавую тэчку",
        "thumbnail_image-type": "Дадзены тып выявы не падтрымліваецца",
        "thumbnail_gd-library": "Няпоўная канфігурацыя бібліятэкі GD, адсутнічае функцыя $1",
+       "thumbnail_image-size-zero": "Верагодна, памер файла роўны нулю.",
        "thumbnail_image-missing": "Хутчэй за ўсё, адсутнічае файл $1",
        "thumbnail_image-failure-limit": "Занадта шмат нядаўніх няўдалых спроб ($1 ці болей) стварыць гэту мініяцюру. Калі ласка, паспрабуйце пазней.",
        "import": "Імпартаваць старонкі",
        "import-mapping-namespace": "Імпартаваць у прастору назваў:",
        "import-mapping-subpage": "Імпартаваць як падстаронкі наступнай старонкі:",
        "import-upload-filename": "Назва файла:",
+       "import-upload-username-prefix": "Прэфіксы интервики:",
+       "import-assign-known-users": "Связать праўкі з лакальнымі ўдзельнікамі, калі ўдзельнікі з такімі імямі существуют.",
        "import-comment": "Каментарый:",
        "importtext": "Калі ласка, экспартуйце файл з крынічнай вікі з дапамогай [[Special:Export|прылады экспарту]].\nЗахавайце яго на свой камп'ютар, а потым загрузіце сюды.",
        "importstart": "Імпартаванне старонак...",
        "imported-log-entries": "{{PLURAL:$1|Імпартаваны $1 запіс журнала|Імпартавана $1 запісы журнала|Імпартавана $1 запісаў журнала}}.",
        "importfailed": "Не ўдалося імпартаваць: $1",
        "importunknownsource": "Невядомы тып імпартаванай крыніцы",
+       "importnoprefix": "Не пазначаны прэфікс інтэрвікі",
        "importcantopen": "Немагчыма адкрыць файл імпарту",
        "importbadinterwiki": "Кепская спасылка interwiki",
        "importsuccess": "Імпартаванне скончана!",
        "tooltip-pt-mycontris": "Пералік {{GENDER:|вашага}} ўкладу",
        "tooltip-pt-anoncontribs": "Спіс правак, зробленых з гэтага IP-адраса",
        "tooltip-pt-login": "Вам прапануецца ўвайсці ў сістэму, але гэта неабавязкова.",
+       "tooltip-pt-login-private": "Вы павінны ўвайсці ў, каб выкарыстоўваць гэтую вікі",
        "tooltip-pt-logout": "Выйсці з сістэмы",
        "tooltip-pt-createaccount": "Вам прапануецца стварыць уліковы запіс і ўвайсці ў сістэму, але гэта не абавязкова",
        "tooltip-ca-talk": "Размовы пра змест гэтай старонкі",
        "newimages-summary": "Тут паказаныя нядаўна ўкладзеныя файлы.",
        "newimages-legend": "Фільтр",
        "newimages-label": "Назва файла (або яе частка):",
+       "newimages-user": "Адрас IP або імя ўдзельніка",
+       "newimages-newbies": "Паказаць толькі ўклады з новых рахункаў",
        "newimages-showbots": "Паказваць укладанні ботамі",
        "newimages-hidepatrolled": "Без паказу ўхваленых ўкладанняў",
+       "newimages-mediatype": "Тып медиафайла:",
        "noimages": "Тут нічога няма.",
+       "gallery-slideshow-toggle": "Переключить мініяцюры",
        "ilsubmit": "Знайсці",
        "bydate": "п. датаў",
        "sp-newimages-showfrom": "Паказаць новыя файлы, пачынаючы з $2, $1",
        "confirmrecreate-noreason": "{{GENDER:$1|Удзельнік|Удзельніца}} [[User:$1|$1]] ([[User talk:$1|размовы]]) {{GENDER:$1|сцёр|сцёрла}} гэту старонку пасля таго, як вы пачалі яе рэдагаваць.\nКалі ласка, пацвердзіце, што вы сапраўды жадаеце аднавіць гэтую старонку.",
        "recreate": "Аднавіць",
        "unit-pixel": "крпк",
+       "confirm-purge-title": "Ачысціць кэш гэтай старонкі",
        "confirm_purge_button": "ОК",
        "confirm-purge-top": "Ці ачысціць кэш для гэтай старонкі?",
        "confirm-purge-bottom": "Асвяжэнне старонкі ачышчае копію ў кэшы і вымушае паказ самай новай версіі.",
        "autosumm-blank": "Выдаленне ўсяго зместу старонкі",
        "autosumm-replace": "Замена старонкі на '$1'",
        "autoredircomment": "Перасылае да [[$1]]",
+       "autosumm-removed-redirect": "Выдаленае перенаправление на [[$1]]",
        "autosumm-new": "Новая старонка: '$1'",
        "autosumm-newblank": "Створана пустая старонка",
        "lag-warn-normal": "Змены, зробленыя менш за $1 {{PLURAL:$1|сек.|сек.}} таму назад, могуць не трапіць у гэты спіс.",
        "watchlistedit-clear-titles": "Складнікі:",
        "watchlistedit-clear-submit": "Ачысціць спіс назірання (адкат будзе немагчымы!)",
        "watchlistedit-clear-done": "Ваш спіс назірання ачышчаны.",
+       "watchlistedit-clear-jobqueue": "Лік назіраных чысціцца. Гэта можа заняць некаторы час.",
        "watchlistedit-clear-removed": "{{PLURAL:$1|1 складнік выняты|$1 складнікі выняты|$1 складнікаў вынята}}:",
        "watchlistedit-too-many": "Занадта шмат старонак, каб паказаць тут.",
        "watchlisttools-clear": "Ачысціць спіс назірання",
        "tag-filter-submit": "Фільтр",
        "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|Тэг|Тэгі}}]]: $2)",
        "tag-mw-contentmodelchange": "змена мадэлі змесціва",
+       "tag-mw-new-redirect": "Новае перенаправление",
+       "tag-mw-removed-redirect": "Выдаленае перанакіраванне",
+       "tag-mw-changed-redirect-target": "Змяненне мэты перенаправления",
+       "tag-mw-blank": "ачыстка",
+       "tag-mw-blank-description": "Праўкі, ачышчальныя гэтую старонку",
+       "tag-mw-replace": "Заменена",
+       "tag-mw-rollback": "адкат",
+       "tag-mw-undo": "адмена",
        "tags-title": "Біркі",
        "tags-intro": "Тут пералічаныя біркі, якімі праграмы могуць пазначыць праўку, а таксама іх значэнні.",
        "tags-tag": "Назва біркі",
        "compare-title-not-exists": "Не існуе названай вамі назвы.",
        "compare-revision-not-exists": "Паказанай вамі версіі не існуе.",
        "diff-form": "'''фармуляр'''",
+       "diff-form-oldid": "Стары ідэнтыфікатар версіі (неабавязкова)",
+       "diff-form-submit": "Паказаць адрозненні",
+       "permanentlink": "Пастаянная спасылка",
+       "permanentlink-revid": "ідэнтыфікатар праўкі",
+       "permanentlink-submit": "Перайсці да версіі",
        "dberr-problems": "Прабачце, на пляцоўцы здарыліся тэхнічныя цяжкасці.",
        "dberr-again": "Паспрабуйце перачытаць праз некалькі хвілін.",
        "dberr-info": "(Немагчыма звязацца з базай даных: $1)",
        "htmlform-cloner-create": "Дадаць яшчэ",
        "htmlform-cloner-delete": "Сцерці",
        "htmlform-cloner-required": "Неабходна хаця б адно значэнне.",
+       "htmlform-date-placeholder": "ГГГГ-ММ-ДД",
+       "htmlform-time-placeholder": "ЧЧ:ММ:СС",
+       "htmlform-datetime-placeholder": "ГГГГ-ММ-ДД ЧЧ:ММ:СС",
+       "htmlform-date-invalid": "Указанае вамі значэнне не похоже на дату. Паспрабуйце выкарыстоўваць фармат ГГГГ-ММ-ДД.",
+       "htmlform-datetime-invalid": "Вамі выбрана значэнне не падобна на дату і час. Паспрабуйце выкарыстоўваць фармат ГГГГ-ММ-ДД ГГ-ММ-СС.",
        "htmlform-title-badnamespace": "[[:$1]] не ў прасторы назваў \"{{ns:$2}}\".",
        "htmlform-title-not-creatable": "\"$1\" - немагчымы загаловак для старонкі",
        "htmlform-title-not-exists": "$1 не існуе.",
        "feedback-bugornote": "Калі вы гатовыя падрабязна апісаць тэхнічную праблему, калі ласка, [$1 паведаміце пра памылку].\nУ адваротным выпадку вы можаце выкарыстоўваць гэтую простую форму. Ваш каментар будзе дададзены на старонку «[$3 $2]» разам з вашым імем удзельніка і выкарыстоўваемым браўзерам.",
        "feedback-cancel": "Адмена",
        "feedback-close": "Зроблена.",
+       "feedback-external-bug-report-button": "адправіць тэхнічнае заданне",
        "feedback-dialog-title": "Даслаць водгук",
        "feedback-error1": "Памылка. Невядомы вынік з API",
        "feedback-error2": "Памылка. Збой праўкі",
        "feedback-error3": "Памылка. Няма адказу ад API",
+       "feedback-error4": "Памылка: Немагчыма размясціць запіс з паказаным загалоўкам зваротнай сувязі",
        "feedback-message": "Паведамленне",
        "feedback-subject": "Тэма:",
        "feedback-submit": "Даслаць",
        "feedback-thanks": "Дзякуй! Ваш водгук размешчаны на старонцы «[$2 $1]».",
        "feedback-thanks-title": "Дзякуем!",
+       "feedback-useragent": "Браўзэр:",
        "searchsuggest-search": "Шукаць у {{GRAMMAR:месны|{{SITENAME}}}}",
        "searchsuggest-containing": "змяшчае...",
        "api-error-badtoken": "Унутраная памылка: няслушны ключ.",
        "pagelang-language": "Мова",
        "pagelang-use-default": "Прадвызначаная мова",
        "pagelang-select-lang": "Выберыце мову",
+       "pagelang-reason": "Прычына",
        "pagelang-submit": "Адправіць",
        "right-pagelang": "Змяняць мову старонкі",
        "action-pagelang": "змяняць мову старонкі",
        "default-skin-not-found-no-skins": "Упс! Прадвызначаная вокладка для вашай вікі (<code>$wgDefaultSkin</code>), <code>$1</code>, недаступна.\n\nВы не ўстанавілі вокладкі.\n\n; Калі вы толькі што ўстанавілі ці абнавілі MediaWiki:\n: Магчыма, вы ўстанавілі з git, ці наўпрост з зыходнага коду, выкарыстаўшы іншы метад. Гэта нармальна. MediaWiki 1.24 і навейшыя не ўключаюць вокладкі ў асноўнае сховішча. Паспрабуйце ўстанавіць некалькі вокладак з [https://www.mediawiki.org/wiki/Category:All_skins каталога вокладак mediawiki.org], такім чынам:\n:* Узяўшы [https://www.mediawiki.org/wiki/Download tarball-інсталятар], які ўтрымлівае некалькі вокладак і прыставак. Вы можаце скапіяваць і ўставіць каталог <code>skins/</code> адтуль.\n:* Зрабіўшы клон аднаго з сховішчаў <code>mediawiki/skins/*</code> праз git у каталог <code>skins/</code> вашай інсталяцыі MediaWiki.\n: Калі вы распрацоўшчык MediaWiki, гэта не павінна адбіцца на вашым git-сховішчы. Гл. [https://www.mediawiki.org/wiki/Manual:Skin_configuration Інструкцыя: Настройка вокладак] дзеля інфармацыі па ўключэнні вокладак і выбары прадвызначэння.",
        "default-skin-not-found-row-enabled": "* <code>$1</code> / $2 (уключана)",
        "default-skin-not-found-row-disabled": "* <code>$1</code> / $2 (<strong>выключана</strong>)",
+       "mediastatistics": "статыстыка медыя",
+       "mediastatistics-summary": "Статыстычная звесткі пра тыпы запампаваных файлаў. Статыстыка ўключае звесткі толькі пра апошнія версіі файлаўю Старыя або выдаленыя версіі файлаў не ўлічваюцца.",
+       "mediastatistics-bytespertype": "Агульны памер файлаў у гэтай секцыі: $1 {{PLURAL:$1|байт|байта|байт}} ($2; $3%).",
+       "mediastatistics-table-mimetype": "MIME-тып",
        "mediastatistics-table-extensions": "Магчымыя прыстаўкі",
        "mediastatistics-table-count": "Колькасць файлаў",
        "mediastatistics-table-totalbytes": "Агульны памер",
        "mediastatistics-header-unknown": "Невядомыя",
        "mediastatistics-header-bitmap": "Растравыя выявы",
-       "mediastatistics-header-drawing": "Рысункі (вектарныя выявы)",
+       "mediastatistics-header-drawing": "Малюнкі (вектарныя выявы)",
+       "mediastatistics-header-audio": "Аўдыё",
+       "mediastatistics-header-video": "Відэа",
+       "mediastatistics-header-multimedia": "Мультымедыя",
+       "mediastatistics-header-office": "Офісныя",
        "mediastatistics-header-text": "Тэкст",
+       "mediastatistics-header-executable": "Выкананыя",
        "mediastatistics-header-archive": "Сціснутыя фарматы",
        "mediastatistics-header-total": "Усе файлы",
        "json-error-state-mismatch": "Недапушчальны або некарэктны JSON",
index 831c58f..7b3628f 100644 (file)
        "expansion-depth-exceeded-category-desc": "Страницата превишава максимално допустимата дълбочина на разгръщане.",
        "expansion-depth-exceeded-warning": "Страницата е превишила разрешената дълбочина на разгръщане",
        "parser-unstrip-loop-warning": "Открито е ''unstrip'' зацикляне",
-       "parser-unstrip-recursion-limit": "''Unstrip'' лимита на рекурсия превишава ($1)",
+       "unstrip-depth-warning": "''Unstrip'' лимита на рекурсия превишава ($1)",
        "undo-success": "Редакцията може да бъде върната.\nПрегледайте долното сравнение и се уверете, че наистина искате да го направите. След това съхранете страницата, за да извършите връщането.",
        "undo-failure": "Редакцията не може да бъде върната поради конфликтни междинни редакции.",
        "undo-norev": "Редакцията не може да бъде върната, тъй като не съществува или е била изтрита.",
index 9c2cf41..0157021 100644 (file)
        "expansion-depth-exceeded-category-desc": "تاکدیم که که آیی پراخئ جُهلئ شه اندازه گ ئا گیشتیر بوته.",
        "expansion-depth-exceeded-warning": "تاکدیم شه حداکثر بسط داتین عمق ئا تجاوز کورت",
        "parser-unstrip-loop-warning": "حلقه بی دستور unstrip ئی تا ودی نه بوت",
-       "parser-unstrip-recursion-limit": "شه حداکثر ارجاع بئ دستور unstrip ئی تا تجاوز بوت ($1)",
+       "unstrip-depth-warning": "شه حداکثر ارجاع بئ دستور unstrip ئی تا تجاوز بوت ($1)",
        "converter-manual-rule-error": "خطا بئ زانئ دستی ئین بدل کورتینی قوانین ئی تا",
        "undo-success": "ای ایڈیٹ ئا توانیت شه بین بَریت.\nمهربانی بکنیت جهلگی فرق ئا بگنیدیت و قبول بکنیت که آ چیزی است که شما ئه لوٹیت انجام دهیت،پدا جهلگئ تغیراتانا ذخیره بکنیت تا که ایڈیٹ ئی شه بین بورتینئ کار الاس بکنیت.",
        "undo-failure": "ایڈیٹ ئا نتوانتیت شه بین بَریت، بی خاتیرئ بعضی تعرض ئان یا میانئ ئین ایڈیٹان.",
index f03f266..93f1abc 100644 (file)
        "expansion-depth-exceeded-category-desc": "पन्ना अधिकतम बिस्तार गहिराई के पार क गइल बा।",
        "expansion-depth-exceeded-warning": "पन्ना अधिकतम बिस्तार गहिराई के पार क गइल",
        "parser-unstrip-loop-warning": "अनस्ट्रिप लूप पकड़ में आइल बा",
-       "parser-unstrip-recursion-limit": "अनस्ट्रिप रिकर्शन सीमा पार हो गइल ($1)",
+       "unstrip-depth-warning": "अनस्ट्रिप रिकर्शन सीमा पार हो गइल ($1)",
        "converter-manual-rule-error": "मैनुअल भाषा परिवर्तन नियम में खराबी पकड़ल गइल",
        "undo-success": "संपादन वापस कइल जा सकत बा।\nनीचे दिहल तुलना के चेक करीं आ पुष्टी करीं की आप इहे कइल चाहत बाड़ीं, ओकरा बाद बदलाव सहेज के संपादन वापसी के पूरा करीं।",
        "undo-failure": "बीच में अउरी संपादन होखला की कारण ई संपादन वापस नइखे लिहल जा सकत।",
index 003966a..3a0f26a 100644 (file)
        "yourpasswordagain": "পাসওয়ার্ড আবার লিখুন:",
        "createacct-yourpasswordagain": "পাসওয়ার্ড নিশ্চিত করুন",
        "createacct-yourpasswordagain-ph": "আবারও পাসওয়ার্ড লিখুন",
-       "userlogin-remembermypassword": "à¦\86মাà¦\95à§\87 à¦ªà§\8dরবà§\87শরত অবস্থায় রাখুন",
+       "userlogin-remembermypassword": "à¦\86মাà¦\95à§\87 à¦ªà§\8dরবà§\87শà¦\95à§\83ত অবস্থায় রাখুন",
        "userlogin-signwithsecure": "নিরাপদ সংযোগ ব্যবহার করুন",
        "cannotlogin-title": "প্রবেশ করতে পারবেন না",
        "cannotlogin-text": "প্রবেশ করা সম্ভব নয়।",
        "expansion-depth-exceeded-category-desc": "পাতাটি সর্বোচ্চ এক্সপশন সীমানা অতিক্রম করেছে।",
        "expansion-depth-exceeded-warning": "পাতাটি এক্সেপশন সীমানা অতিক্রম করেছে",
        "parser-unstrip-loop-warning": "ত্রুটিপূর্ণ লুপ খুঁজে পাওয়া গিয়েছে",
-       "parser-unstrip-recursion-limit": "লুপ রিকারশন সীমানা অতিক্রম করেছে ($1)",
+       "unstrip-depth-warning": "লুপ রিকারশন সীমানা অতিক্রম করেছে ($1)",
        "converter-manual-rule-error": "ম্যানুয়াল ভাষা রূপান্তর নিয়মে ত্রুটি পাওয়া গিয়েছে",
        "undo-success": "সম্পাদনাটি বাতিল করা যাবে। অনুগ্রহ করে নিচের তুলনাটি পরীক্ষা করে দেখুন ও নিশ্চিত করুন যে এটাই আপনি করতে চান, এবং তারপর নিচের সম্পাদনাগুলি সংরক্ষণ করে সম্পাদনাটির বাতিল প্রক্রিয়া সমাপ্ত করুন।",
        "undo-failure": "এ সম্পাদনা মধ্যবর্তী সম্পাদনাসমূহের কারণে পূর্বাবস্থায় ফিরিয়ে নেওয়া যাবে না।",
        "thumbnail_dest_directory": "গন্তব্য ডিরেক্টরি তৈরি করা যায়নি",
        "thumbnail_image-type": "চিত্রের ধরন সমর্থন করে না",
        "thumbnail_gd-library": "অসম্পূর্ণ জিডি লাইব্রেরী কনফিগারেশন: $1 ফাংশন নেই",
+       "thumbnail_image-size-zero": "চিত্রের ফাইলের আকার শূন্য বলে মনে হচ্ছে।",
        "thumbnail_image-missing": "ফাইলটি খুজে পাওয়া যাচ্ছে না: $1",
        "thumbnail_image-failure-limit": "সাম্প্রতিককালে এই ক্ষুদ্র প্রাকপ্রদর্শনমূলক চিত্রটিকে (thumbnail) রেন্ডার করার চেষ্টা অত্যধিকবার ($1 বা তার বেশিবার) ব্যর্থ হয়েছে। অনুগ্রহ করে কিছুক্ষণ পরে আবার চেষ্টা করুন।",
        "import": "পাতা আমদানি",
        "import-mapping-subpage": "নিচের পাতার উপপাতাসমূহ হিসাবে আমদানি করুন:",
        "import-upload-filename": "ফাইলনাম:",
        "import-upload-username-prefix": "আন্তঃউইকি উপসর্গ:",
+       "import-assign-known-users": "ব্যবহারকারী স্থানীয়ভাবে থাকলে তার নামে সম্পাদনা অর্পণ করুন",
        "import-comment": "মন্তব্য:",
        "importtext": "অনুগ্রহ করে ফাইলটি উৎস উইকি থেকে [[Special:Export|রপ্তানি ইউটিলিটি]] ব্যবহার করে রপ্তানি করুন।\nফাইলটি আপনার কম্পিউটারে সংরক্ষণ করুন এবং এখানে আপলোড করুন।",
        "importstart": "পাতা আমদানি করা হচ্ছে...",
        "watchlistedit-clear-titles": "শিরোনামসমূহ:",
        "watchlistedit-clear-submit": "নজরতালিকা পরিষ্কার করুন (এটি স্থায়ী!)",
        "watchlistedit-clear-done": "আপনার নজরতালিকা পরিষ্কার করা হয়েছে।",
+       "watchlistedit-clear-jobqueue": "আপনার নজরতালিকা পরিষ্কার করা হচ্ছে। এটি কিছু সময় নিতে পারে!",
        "watchlistedit-clear-removed": "{{PLURAL:$1|১টি শিরোনাম|$1টি শিরোনাম}} সরিয়ে ফেলা হয়েছে:",
        "watchlistedit-too-many": "এখানে প্রদর্শনের জন্য অনেক পাতা রয়েছে।",
        "watchlisttools-clear": "নজরতালিকা পরিষ্কার করুন",
        "tag-mw-rollback": "পুনর্বহাল",
        "tag-mw-rollback-description": "সম্পাদনাগুলি যা রোলব্যাক সংযোগ ব্যবহার করে পূর্বের সম্পাদনায় ফেরত নেয়",
        "tag-mw-undo": "পূর্বাবস্থায় ফেরত",
+       "tag-mw-undo-description": "সম্পাদনা পূর্বাবস্থায় আনার লিঙ্ক ব্যবহার করে পূর্বাবস্থায় আনা সম্পাদনাগুলি",
        "tags-title": "ট্যাগসমূহ",
        "tags-intro": "এই পাতায় সফটওয়্যারটি একটি সম্পাদনা চিহ্নিত করার জন্য যে সকল ট্যাগ ব্যবহার করে তার তালিকা ও বর্ণনা রয়েছে।",
        "tags-tag": "ট্যাগ নাম",
        "limitreport-templateargumentsize-value": "$1/$2 {{PLURAL:$2|বাইট}}",
        "limitreport-expansiondepth": "সর্বোচ্চ গভীরতা বিস্তার",
        "limitreport-expensivefunctioncount": "ব্যয়বহুল পার্সার ফাংশন গণনা",
+       "limitreport-unstrip-size-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_title": "প্রাতিবেশিক শিরোনাম, {{FULLPAGENAME}}, ইত্যাদির জন্য:",
index 70594d3..736ee00 100644 (file)
        "expansion-depth-exceeded-category-desc": "En tu all d'an donder astenn brasañ emañ ar bajenn.",
        "expansion-depth-exceeded-warning": "Pajenn a ya dreist d'an donder astenn",
        "parser-unstrip-loop-warning": "Detektet ez eus bet ul lagadenn n'haller ket divontañ",
-       "parser-unstrip-recursion-limit": "Aet dreist d'ar vevenn rekurziñ n'haller ket divontañ : $1",
+       "unstrip-depth-warning": "Aet dreist d'ar vevenn rekurziñ n'haller ket divontañ : $1",
        "converter-manual-rule-error": "Fazi dinodet  er reolenn cheñch yezh dre zorn",
        "undo-success": "Gallout a reer dizober ar c'hemmoù-mañ. Gwiriit, mar plij, gant ar geñveriadenn a-is evit bezañ sur eo an dra-se a fell deoc'h ober; goude-se enrollit ar c'hemmoù a-is a-benn echuiñ disteurel ar c'hemmoù.",
        "undo-failure": "N'eus ket bet tu da zisteuler ar c'hemm-mañ abalamour d'un tabut gant kemmoù degaset e-keit-se.",
index a015b14..fad50b2 100644 (file)
        "expansion-depth-exceeded-category-desc": "Stranica je prešla najveću dubinu proširenja.",
        "expansion-depth-exceeded-warning": "Stranice koje su prekoračile dubinu proširenja",
        "parser-unstrip-loop-warning": "Pronađena petlja",
-       "parser-unstrip-recursion-limit": "Prekoračeno ograničenje rekurzije ($1)",
+       "unstrip-depth-warning": "Prekoračeno ograničenje rekurzije ($1)",
        "converter-manual-rule-error": "Pronađena je greška u pravilu za ručno pretvaranje jezika",
        "undo-success": "Izmjenu je moguće poništiti.\nMolimo da ispod uporedite razlike u verzijama kako biste bili sigurni da ovo zaista želite uraditi, te sačuvajte stranicu i izmjene će biti poništene.",
        "undo-failure": "Ova izmjena se ne može poništiti jer se međuverzije sukobe.",
index 4fe01e6..0e578c3 100644 (file)
        "expansion-depth-exceeded-category-desc": "La pàgina ha excedit la profunditat màxima d'expansió.",
        "expansion-depth-exceeded-warning": "La pàgina ha excedit la profunditat d'expansió",
        "parser-unstrip-loop-warning": "S'ha detectat un bucle no desmuntable",
-       "parser-unstrip-recursion-limit": "S'ha excedit el límit ($1) de recursivitat no desmuntable",
+       "unstrip-depth-warning": "S'ha excedit el límit ($1) de recursivitat no desmuntable",
        "converter-manual-rule-error": "Error detectat a la norma de conversió de llengua manual",
        "undo-success": "Pot desfer-se la modificació. Si us plau, reviseu la comparació de sota per a assegurar-vos que és el que voleu fer; llavors deseu els canvis per a finalitzar la desfeta de l'edició.",
        "undo-failure": "No pot desfer-se la modificació perquè hi ha edicions intermèdies en conflicte.",
        "allpages": "Totes les pàgines",
        "nextpage": "Pàgina següent ($1)",
        "prevpage": "Pàgina anterior ($1)",
-       "allpagesfrom": "Mostra les pàgines que comencin per:",
-       "allpagesto": "Mostra pàgines que acabin en:",
+       "allpagesfrom": "Mostra les pàgines a partir de:",
+       "allpagesto": "Mostra les pàgines fins a:",
        "allarticles": "Totes les pàgines",
        "allinnamespace": "Totes les pàgines (de l’espai de noms $1)",
        "allpagessubmit": "Vés-hi",
index 2a0a461..c3d90d8 100644 (file)
@@ -57,8 +57,8 @@
        "tog-showhiddencats": "Гайта къайлаха йолу категореш",
        "tog-norollbackdiff": "Юха яьккхиначул тӀаьхьа ма гайта версийн башхо",
        "tog-useeditwarning": "Хаамбе бина хийцамаш дӀаязцабеш аса болх дӀатосучу хенахь",
-       "tog-prefershttps": "СиÑ\81Ñ\82емин Ð´Ð¾Ð²Ð·Ð¸Ð¹Ñ\82ина Ñ\87Ñ\83л Ñ\82Ó\80еÑ\85Ñ\8cа Ð´Ð°Ð¸Ð¼Ð°Ð½ Ð»ÐµÐ»Ð°Ð´Ðµ Ð»Ð°Ñ\80дина Ð²Ð¾Ð²Ñ\88аÑ\85Ñ\82аÑ\81ар",
-       "underline-always": "Ð\94аимна",
+       "tog-prefershttps": "Ð\93Ñ\83Ñ\82Ñ\82аÑ\80а Ð»ÐµÐ»Ð°Ð´Ðµ ÐºÑ\85еÑ\80амза Ñ\82аÑ\81далар",
+       "underline-always": "Ð\93Ñ\83Ñ\82Ñ\82аÑ\80",
        "underline-never": "Цкъа а",
        "underline-default": "Лелае браузеран нисярца",
        "editfont-style": "Тадар чохь долу шрифт:",
        "history_short": "Истори",
        "history_small": "истори",
        "updatedmarker": "Керла яккхина сона гинчултӀаьхьа",
-       "printableversion": "Зорба туху верси",
-       "permalink": "Ð\94аиман Ð¹Ð¾Ð»Ñ\83 хьажорг",
+       "printableversion": "Зорбанан верси",
+       "permalink": "ЦаÑ\85ийÑ\86алÑ\83н хьажорг",
        "print": "Зорба тоха",
        "view": "Хьажа",
        "view-foreign": "Сайтехь $1 хьажа",
        "noemailcreate": "Ахьа нийса электронан поштан адрес дӀаяздан деза",
        "passwordsent": "Керла пароль декъашхочун $1 электронан адрес тӀе дӀахьажина. Дехар до, керла пароль еъча юху системин чугӀо.",
        "blocked-mailpassword": "Хьан IP-адрес ца тадарш дан магийна дац, цуьндела пароль меттахӀотош йолу функци блоктоьхна ю.",
-       "eauthentsent": "Ð\94Ó\80аÑ\8fздинÑ\87Ñ\83 Ñ\8dлекÑ\82Ñ\80онан Ð°Ð´Ñ\80еÑ\81 Ñ\82Ó\80е Ñ\85аам Ð±Ð°Ð¸Ð¹Ñ\82ина.\nÐ\94аиман хаамаш баийта хааман чохь де бохург дан деза адрес хьай хилар бакъдеш.",
+       "eauthentsent": "Ð\94Ó\80аÑ\8fздинÑ\87Ñ\83 Ñ\8dлекÑ\82Ñ\80онан Ð°Ð´Ñ\80еÑ\81 Ñ\82Ó\80е Ñ\85аам Ð±Ð°Ð¸Ð¹Ñ\82ина.\nÐ\93Ñ\83Ñ\82Ñ\82аÑ\80а хаамаш баийта хааман чохь де бохург дан деза адрес хьай хилар бакъдеш.",
        "throttled-mailpassword": "Пароль дага йоуьйту функци {{PLURAL:$1|тӀаьххьара $1 сахьтехь}} лелина.\nЗулам цахилийта $1 {{PLURAL:$1|сахьтан чохь}} цӀа бен функци лело йиш яц.",
        "mailerror": "Кехат дохьуьйтуш гӀалат ду: $1",
        "acct_creation_throttle_hit": "Де-буьйса хена чохь хьа IP-адрес тӀера {{PLURAL:$1|кхоьллина $1 декъашхочун дӀаяздар|кхоьллина $1 декъашхочун дӀаяздарш}} оьцу хана юкъахь кхин дукха дӀаяздарш кхолла магийна дац.\nЦундела и IP-адрес лелочарна кхин керла дӀаяздарш кхолла цало.",
        "tooltip-n-mainpage": "Коьрта агӀона дехьа гӀо",
        "tooltip-n-mainpage-description": "Коьрта агӀона дехьа гӀо",
        "tooltip-n-portal": "Оцу кхолламах, мичахь хlу йу лаьташ а хlудалур ду шуьга",
-       "tooltip-n-currentevents": "Ð\94Ó\80аоÑ\8cÑ\85Ñ\83Ñ\88 Ð±Ð¾Ð»Ñ\83 Ñ\85аамаÑ\88на Ð¼Ð¾Ð³Ó\80ам",
+       "tooltip-n-currentevents": "Ð\9aаÑ\80аÑ\80а Ñ\85иламеÑ\85 Ð»Ð°Ñ\8cÑ\86на Ñ\85аам",
        "tooltip-n-recentchanges": "ТӀаьххьара хийцамийн могӀам",
        "tooltip-n-randompage": "Хьажа цахууш нисйеллачу агlоне",
        "tooltip-n-help": "ГӀоде меттиг",
        "tooltip-t-whatlinkshere": "ХӀокху агӀонан тӀе хьажийна йолу массо агӀонийн могӀам",
-       "tooltip-t-recentchangeslinked": "ТÓ\80аÑ\8cÑ\85Ñ\85Ñ\8cаÑ\80леÑ\80а Ñ\85ийÑ\86амаÑ\88 Ñ\85Ó\80окÑ\85Ñ\83 Ð°Ð³Ó\80онаÑ\88каÑ\85Ñ\8c, Ñ\85Ñ\8cажийна Ñ\85Ó\80аÑ\80а Ð°Ð³Ó\80о Ð±Ð¾Ð»Ñ\83",
+       "tooltip-t-recentchangeslinked": "Ð¥Ó\80окÑ\85Ñ\83 Ð°Ð³Ó\80онгаÑ\85Ñ\8c Ñ\85Ñ\8cажоÑ\80гаÑ\88 Ð¹Ð¾Ð»Ñ\83, Ð°Ð³Ó\80онаÑ\88на Ð±Ð¸Ð½Ð° Ñ\82Ó\80аÑ\8cÑ\85Ñ\85Ñ\8cаÑ\80а Ñ\85ийÑ\86амаÑ\88",
        "tooltip-feed-rss": "RSS-ехь йолу хӀокху агӀонан трансляци",
        "tooltip-feed-atom": "Хьагайтар оцу Atom цани хlокху агlон",
        "tooltip-t-contributions": "ХӀокху декъашхочо хийцина йолу агӀонийн могӀам",
        "tooltip-t-emailuser": "ДӀабахьийта хаам оцу декъашхона",
+       "tooltip-t-info": "ХӀокху агӀонах лаьцна хаамаш",
        "tooltip-t-upload": "Чуйаха файлаш",
        "tooltip-t-specialpages": "Белхан агӀонанийн могӀам",
-       "tooltip-t-print": "Ð¥Ó\80окÑ\85Ñ\83 Ð°Ð³Ó\80онна Ð·Ð¾Ñ\80ба Ñ\82Ñ\83Ñ\85Ñ\83 Ð±Ð°Ñ\88Ñ\85о",
-       "tooltip-t-permalink": "Ð\94аима Ð¹Ð¾Ð»Ñ\83 Ñ\85Ñ\8cажоÑ\80г Ñ\85Ó\80окÑ\85Ñ\83 Ð±Ð°Ñ\88Ñ\85а Ð°Ð³Ó\80онна",
+       "tooltip-t-print": "Ð¥Ó\80окÑ\85Ñ\83 Ð°Ð³Ó\80она Ð·Ð¾Ñ\80банан Ð²ÐµÑ\80Ñ\81и",
+       "tooltip-t-permalink": "Ð¥Ó\80окÑ\85Ñ\83 Ð°Ð³Ó\80она Ð²ÐµÑ\80Ñ\81ин Ñ\82Ó\80е Ñ\86аÑ\85ийÑ\86алÑ\83н Ñ\85Ñ\8cажоÑ\80г",
        "tooltip-ca-nstab-main": "Коьрта яззаман чулацам",
        "tooltip-ca-nstab-user": "ХӀора декъашхочун долахь йолу агӀо ю",
        "tooltip-ca-nstab-media": "Медиа-файл",
        "pageinfo-hidden-categories": "{{PLURAL:$1|Къайла категори|Къайла категореш}} ($1)",
        "pageinfo-templates": "{{PLURAL:$1|1=Кеп|Кепаш}} ($1)",
        "pageinfo-transclusions": "{{PLURAL:$1|1=Юкъатохало агӀо|Юкъатохало агӀонаш}} ($1)",
-       "pageinfo-toolboxlink": "Агlонах болу бовзам",
+       "pageinfo-toolboxlink": "АгӀонан хаам",
        "pageinfo-redirectsto": "ДӀасахьажорг",
        "pageinfo-redirectsto-info": "Хаам",
        "pageinfo-contentpage": "Лорурго чулацаме гойту агӀо",
        "yesterday-at": "селхана $1 даьлча",
        "bad_image_list": "Барам хила беза иштта:\n\nЛораш хира ю могӀамяхь йолу элементнаш (могӀийн, йола луш йолу символ тӀира *).\nДуьххьаралера хьажорг магӀанийн хила беза хьажорг кху цамагдо сурт дуьлаче.\nТӀехьа йогӀуш йолу хьажорг оцу могӀарехь хира ю магóш, билгалла аьлча яззамаш долуче, сурт хьаллаточехь.",
        "metadata": "Метахаамаш",
-       "metadata-help": "Ð¥Ó\80окÑ\85Ñ\83 Ñ\84айлаÑ\86а ÐºÑ\85ин Ñ\82Ó\80е Ñ\85аам Ð±Ñ\83, Ð´Ð°Ð¸Ð¼Ð°Ð½ чуйоккхуш йолу терахьца чоьнашца йа тӀейоккхучуьнца. Нагахь файлан тӀаьхьа хийцам биняхь, тӀаккха цӀхьаболу барам цӀхьаьна ца ба мега хӀинцалера суьртаца.",
+       "metadata-help": "Ð¥Ó\80окÑ\85Ñ\83 Ñ\84айлаÑ\86а ÐºÑ\85ин Ñ\82Ó\80е Ñ\85аам Ð±Ñ\83, Ð³Ñ\83Ñ\82Ñ\82аÑ\80а чуйоккхуш йолу терахьца чоьнашца йа тӀейоккхучуьнца. Нагахь файлан тӀаьхьа хийцам биняхь, тӀаккха цӀхьаболу барам цӀхьаьна ца ба мега хӀинцалера суьртаца.",
        "metadata-expand": "Гайта кхин тlе болу хаам",
        "metadata-collapse": "Къайла баккха кхин тlе болу хаам",
        "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",
        "diff-form-oldid": "Версин шира идентификатор (тӀехь дац)",
        "diff-form-revid": "Башхаллаш йолу версин идентификатор",
        "diff-form-submit": "Схьагайта башхаллаш",
-       "permanentlink": "Ð\94аиман Ð¹Ð¾Ð»Ñ\83 хьажорг",
+       "permanentlink": "ЦаÑ\85ийÑ\86алÑ\83н хьажорг",
        "permanentlink-revid": "Нисдаран ID",
        "permanentlink-submit": "Хьажа версега",
        "dberr-problems": "Бехк ма бил! ХӀокху сайтехь техникан халонаш хила.",
        "htmlform-user-not-exists": "<strong>$1</strong> яц.",
        "htmlform-user-not-valid": "<strong>$1</strong> — декъашхочун магийна йоцу цӀе.",
        "logentry-delete-delete": "$1 {{GENDER:$2|дӀаяьккхина}} агӀо $3",
-       "logentry-delete-delete_redir": "$1 {{GENDER:$2|дӀаяьккхина}} $3 дӀасахьажорг гӀоьнца",
+       "logentry-delete-delete_redir": "$1 {{GENDER:$2|дӀаяьккхина}} $3 дӀасахьажорг тӀехула дӀаязйина",
        "logentry-delete-restore": "$1 {{GENDER:$2|меттахӀоттайина|меттахӀоттайина}} агӀо $3",
        "logentry-delete-event": "$1 {{GENDER:$2|хийцина}} гуш хилар {{PLURAL:$5|1=$5 дӀаяздаран|$5 дӀаяздаршан}} тептаран → $3: $4",
        "logentry-delete-revision": "$1 {{GENDER:$2|хийцина}} {{PLURAL:$5|1=$5 верси|$5 версеш}} гуш хилар $3: $4 агӀорахь",
index e553d4a..b975599 100644 (file)
        "expansion-depth-exceeded-category-desc": "Stránka překročila maximální hloubku expanze.",
        "expansion-depth-exceeded-warning": "Stránka překročila hloubku expanze",
        "parser-unstrip-loop-warning": "Detekováno zacyklení unstrip",
-       "parser-unstrip-recursion-limit": "Překročen limit rekurze unstrip ($1)",
+       "unstrip-depth-warning": "Překročen limit rekurze unstrip ($1)",
        "converter-manual-rule-error": "Detekována chyba v pravidlech manuální jazykové konverze",
        "undo-success": "Editace může být zrušena. Zkontrolujte a pak potvrďte změny zobrazené níže.",
        "undo-failure": "Editace nemohla být zrušena kvůli konfliktu mezilehlých editací.",
        "stub-threshold-disabled": "Vypnuto",
        "recentchangesdays": "Počet dní zobrazených v posledních změnách:",
        "recentchangesdays-max": "Maximálně $1 {{PLURAL:$1|den|dny|dní}}",
-       "recentchangescount": "Počet implicitně zobrazovaných záznamů:",
-       "prefs-help-recentchangescount": "Týká se posledních změn, historie stránek a protokolovacích záznamů.",
+       "recentchangescount": "Počet implicitně zobrazovaných záznamů v posledních změnách, historiích stránek a protokolovacích záznamech:",
+       "prefs-help-recentchangescount": "Maximální počet: 1000",
        "prefs-help-watchlist-token2": "Toto je tajný klíč k webovému kanálu vašich sledovaných stránek. Kdokoli, kdo bude tento klíč znát, bude moci váš seznam sledovaných stránek číst, takže ho nešiřte.\nPokud potřebujete, [[Special:ResetTokens|můžete ho reinicializovat]].",
        "savedprefs": "Nastavení byla uložena.",
        "savedrights": "Skupiny {{GENDER:$1|uživatele|uživatelky}} $1 byly uloženy.",
        "limitreport-templateargumentsize-value": "$1/$2 {{PLURAL:$2|bajt|bajty|bajtů}}",
        "limitreport-expansiondepth": "Největší hloubka expanze",
        "limitreport-expensivefunctioncount": "Počet náročných funkcí syntaktického analyzátoru",
+       "limitreport-unstrip-size-value": "$1/$2 {{PLURAL:$2|bajt|bajty|bajtů}}",
        "expandtemplates": "Substituce šablon",
        "expand_templates_intro": "Tato speciální stránka zpracuje wikitext a rekurzivně rozbalí všechny použité šablony.\nTaké rozbalí podporované funkce syntaktického analyzátoru jako\n<code><nowiki>{{</nowiki>#language:…}}</code> a proměnné jako\n<code><nowiki>{{</nowiki>CURRENTDAY}}</code>.\nV podstatě rozbalí téměř všechno v dvojitých složených závorkách.",
        "expand_templates_title": "Název stránky kvůli kontextu pro {{FULLPAGENAME}} apod.:",
index f4f377b..2ecc67a 100644 (file)
        "expansion-depth-exceeded-category-desc": "Mae'r dudalen yn rhy fawr!",
        "expansion-depth-exceeded-warning": "Mae dyfnder ehangu'r dudalen y tu hwnt i'r terfyn",
        "parser-unstrip-loop-warning": "Wedi darganfod dolen dad-blicio (unstrip loop)",
-       "parser-unstrip-recursion-limit": "Wedi mynd dros ben y terfyn ar ddychweliad dad-blicio (unstrip recursion) ($1)",
+       "unstrip-depth-warning": "Wedi mynd dros ben y terfyn ar ddychweliad dad-blicio (unstrip recursion) ($1)",
        "converter-manual-rule-error": "Cafwyd hyd i wall yn y rheol trosi iaith â llaw",
        "undo-success": "Gellir dadwneud y golygiad. Byddwch gystal â gwirio'r gymhariaeth isod i sicrhau mai dyma sydd arnoch eisiau gwneud, ac yna rhowch y newidiadau ar gadw i gwblhau'r gwaith o ddadwneud y golygiad.",
        "undo-failure": "Methwyd a dadwneud y golygiad oherwydd gwrthdaro â golygiadau cyfamserol.",
index f30cdab..68769ef 100644 (file)
        "botpasswords-label-delete": "Slet",
        "botpasswords-label-resetpassword": "Nulstil adgangskode",
        "botpasswords-label-grants": "Tilgængelige bevillinger:",
+       "botpasswords-help-grants": "Tildelinger giver tilgang til rettighederne som allerede indehaves af din brugerkonto. Aktivering af en rettighed her giver ikke adgang til alle rettigheder din brugerkonto ikke ellers ville have. Se [[Special:ListGrants|tildelingstabellen]] for yderligere information.",
        "botpasswords-label-grants-column": "Tildelt",
        "botpasswords-bad-appid": "Robotnavnet »$1« er ikke gyldigt.",
        "botpasswords-insert-failed": "Kunne ikke tilføje robotnavnet »$1«. Var det allerede tilføjet?",
        "botpasswords-update-failed": "Kunne ikke tilføje robotnavnet »$1«. Er det slettet?",
        "botpasswords-created-title": "Botkodeord oprettet",
-       "botpasswords-created-body": "Robottens adgangskode for robotnavn »$1« for bruger »$2« blev oprettet.",
+       "botpasswords-created-body": "Robottens adgangskode for robotnavn »$1« for {{GENDER:$2|brugeren}} »$2« blev oprettet.",
        "botpasswords-updated-title": "Bot kodeord opdateret",
-       "botpasswords-updated-body": "Robottens adgangskode for robotnavn »$1« for brugeren »$2« blev opdateret.",
+       "botpasswords-updated-body": "Robottens adgangskode for robotnavn »$1« for {{GENDER:$2|brugeren}} »$2« blev opdateret.",
        "botpasswords-deleted-title": "Bot kodeord slettet",
-       "botpasswords-deleted-body": "Robottens adgangskode for robotnavn »$1« for brugeren »$2« blev slettet.",
+       "botpasswords-deleted-body": "Robottens adgangskode for robotnavn »$1« for {{GENDER:$2|brugeren}} »$2« blev slettet.",
        "botpasswords-newpassword": "Den nye adgangskode at logge ind med for <strong>$1</strong> er <strong>$2</strong>. <em>Gem denne oplysning for fremtidig reference.</em> <br> (For gamle robotter som kræver at logindnavnet er det samme som det eventuelle brugernavn, så kan du også bruge <strong>$3</strong> som brugernavn og <strong>$4</strong> som adgangskode).",
        "botpasswords-no-provider": "BotPasswordsSessionProvider er ikke tilgængelig.",
        "botpasswords-restriction-failed": "Begrænsninger for robotadgangskode forhindrer dette logind.",
        "expansion-depth-exceeded-category-desc": "Siden overskrider den maksimale udvidelsesdybde.",
        "expansion-depth-exceeded-warning": "Siden overskred ekspansionsdybden",
        "parser-unstrip-loop-warning": "Unstrip-loop opdaget",
-       "parser-unstrip-recursion-limit": "Unstrip rekursionsgrænse er nået ($1)",
+       "unstrip-depth-warning": "Unstrip rekursionsgrænse er nået ($1)",
        "converter-manual-rule-error": "Fejl opdaget i manuel sprogkonvertingsregel",
        "undo-success": "Redigeringen kan fjernes.\nKontroller venligst sammenligningen herunder for at bekræfte at det er hvad du ønsker at gøre, og gem så ændringerne for at fuldføre fjernelsen.",
        "undo-failure": "Redigeringen kunne ikke fjernes på grund af konflikter med efterfølgende redigeringer.",
index ef9a2e8..22847e5 100644 (file)
        "expansion-depth-exceeded-category-desc": "Die Seite überschreitet die maximale Expandierungstiefe.",
        "expansion-depth-exceeded-warning": "Die Seite hat die Expansionstiefe überschritten.",
        "parser-unstrip-loop-warning": "Zirkelbezug festgestellt",
-       "parser-unstrip-recursion-limit": "Rekursionsgrenze beim Auflösen überschritten ($1)",
+       "unstrip-depth-warning": "Rekursionsgrenze beim Auflösen überschritten ($1)",
+       "unstrip-depth-category": "Seiten, auf denen die Unstrip-Tiefengrenze überschritten ist.",
+       "unstrip-size-warning": "Unstrip-Größengrenze überschritten ($1)",
+       "unstrip-size-category": "Seiten, auf denen die Unstrip-Größengrenze überschritten ist",
        "converter-manual-rule-error": "Bei der manuellen Sprachkonvertierungsregel wurde ein Fehler entdeckt.",
        "undo-success": "Die Bearbeitung kann rückgängig gemacht werden.\nBitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und speichere dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.",
        "undo-failure": "Die Änderung konnte nicht rückgängig gemacht werden, da der betroffene Abschnitt zwischenzeitlich verändert wurde.",
        "stub-threshold-disabled": "Deaktiviert",
        "recentchangesdays": "Anzahl der standardmäßig einbezogenen Tage:",
        "recentchangesdays-max": "Maximal $1 {{PLURAL:$1|Tag|Tage}}",
-       "recentchangescount": "Anzahl der standardmäßig angezeigten Bearbeitungen:",
-       "prefs-help-recentchangescount": "Dies umfasst die Liste der letzten Änderungen, die Versionsgeschichte und die Logbücher.",
+       "recentchangescount": "Anzahl der in den Letzten Änderungen, Versionsgeschichten und Logbüchern standardmäßig angezeigten Bearbeitungen:",
+       "prefs-help-recentchangescount": "Maximale Anzahl: 1000",
        "prefs-help-watchlist-token2": "Dies ist der geheime Schlüssel zum Webfeed deiner Beobachtungsliste.\nJeder, der ihn kennt, kann deine Beobachtungsliste lesen. Teile ihn deshalb nicht Anderen mit.\nSofern notwendig, [[Special:ResetTokens|kannst du ihn zurücksetzen]].",
        "savedprefs": "Deine Einstellungen wurden gespeichert.",
        "savedrights": "Die Benutzergruppen von {{GENDER:$1|$1}} wurden gespeichert.",
        "limitreport-expansiondepth": "Höchste Expansionstiefe",
        "limitreport-expansiondepth-value": "$1/$2",
        "limitreport-expensivefunctioncount": "Anzahl aufwändiger Parserfunktionen",
+       "limitreport-unstrip-depth": "Unstrip-Rekursionstiefe",
+       "limitreport-unstrip-depth-value": "$1 von $2",
+       "limitreport-unstrip-size": "Unstrip-Größe nach dem Expandieren",
+       "limitreport-unstrip-size-value": "$1 von $2 {{PLURAL:$2|Byte|Bytes}}",
        "expandtemplates": "Vorlagen expandieren",
        "expand_templates_intro": "Auf dieser Spezialseite kann Wikitext eingegeben werden. Alle enthaltenen Vorlagen werden dabei rekursiv expandiert.\nAuch Parserfunktionen wie\n<code><nowiki>{{</nowiki>#language:…}}</code> und Variablen wie\n<code><nowiki>{{</nowiki>CURRENTDAY}}</code> werden ausgewertet –\nfaktisch alles, was in doppelten geschweiften Klammern enthalten ist.",
        "expand_templates_title": "Kontexttitel für beispielsweise {{FULLPAGENAME}}:",
index 131d189..0f58aaf 100644 (file)
        "history_small": "tarix",
        "updatedmarker": "cı kewtena mına peyêne ra dıme biyo rocane",
        "printableversion": "Versiyonê çapkerdışi",
-       "permalink": "Gıreyo vınderde",
+       "permalink": "Gıreyo daimi",
        "print": "Bınuşne",
        "view": "Bıvin",
        "view-foreign": "$1 de bıvin",
        "node-count-exceeded-warning": "Pela amora gozgıra ravêr da",
        "expansion-depth-exceeded-category": "Perrê ke xoriyiya herabiyayışi tede ravêrdeya.",
        "expansion-depth-exceeded-warning": "Ravêriya pela xori herayêna",
-       "parser-unstrip-loop-warning": "Unstrip lete vineya",
-       "parser-unstrip-recursion-limit": "Sinorê limit dê qayış dê ($1) ravêrya",
+       "parser-unstrip-loop-warning": "Çerxê newekerdışi vêniya",
+       "unstrip-depth-warning": "Sinorê newekerdışi ($1) viyarna ra",
        "converter-manual-rule-error": "Rehberê zıwan açarnayışi dı xırabin tesbit biya",
        "undo-success": "No vurnayiş tepeye geryeno. pêverronayişêyê cêrıni kontrol bıkeri.",
        "undo-failure": "Poxta pëverameyişa vurnayişan ra  peyd grotışë kari në bı",
        "compare-title-not-exists": "Sernameyo ke şımayê vanê mewcud niyo.",
        "compare-revision-not-exists": "Revizyono ke şımaye vanê mewcud niyo.",
        "diff-form": "yew '''form'''",
+       "permanentlink": "Gıreyo daimi",
        "dberr-problems": "Mayê muxulêm! Ena sita dı newke xırabiya teknik esta.",
        "dberr-again": "Dı-rê deqiqeyi vınde û heni bar ke.",
        "dberr-info": "(Erzmelumati ra xızmetkari nêreseno: $1)",
index e0326de..1e89bbf 100644 (file)
        "expansion-depth-exceeded-category": "Boki, źož ekspansiska dłymokosć jo pśekšocona",
        "expansion-depth-exceeded-warning": "Bok jo ekspansisku dłymokosć pśekšocył",
        "parser-unstrip-loop-warning": "Njeskóńcna kokula namakana",
-       "parser-unstrip-recursion-limit": "Rekursiska granica pśekšocona ($1)",
+       "unstrip-depth-warning": "Rekursiska granica pśekšocona ($1)",
        "converter-manual-rule-error": "Zmólka w manuelnem pšawidle rěcnego konwertěrowanja namakana",
        "undo-success": "Wobźěłanje móžo se wótpóraś. Pšosym pśeglěduj dołojcne pśirownowanje aby se wěsty był, až to wót wěrnosći coš, a pón składuj změny, aby se wobźěłanje doskóńcnje wótpórało.",
        "undo-failure": "Změna njejo se mógała wótpóraś, dokulaž jo něchten pótrjefjony wótrězk mjaztym změnił.",
index ec399fd..df4faa6 100644 (file)
        "expansion-depth-exceeded-category-desc": "ये पानाले उच्चतम विस्तार सिमा नाघ्या छ ।",
        "expansion-depth-exceeded-warning": "पानाले सल्दिले सिमालाई नाघ्या छ",
        "parser-unstrip-loop-warning": "अनस्ट्रिप लुप धेखिन्छ",
-       "parser-unstrip-recursion-limit": "अन्स्ट्रिप पुनरावर्तन सिमा पार गरियो ($1)",
+       "unstrip-depth-warning": "अन्स्ट्रिप पुनरावर्तन सिमा पार गरियो ($1)",
        "converter-manual-rule-error": "म्यानुअल भाषा अनुवाद सिध्दान्तमी समस्या धेखियो",
        "viewpagelogs": "यै पानाका लगहरू हेर",
        "nohistory": "ये पृष्ठका लागी कोइ सम्पादन इतिहास छैन।",
index b11a058..1202ecc 100644 (file)
        "expansion-depth-exceeded-category-desc": "La pàgina la và d'ed là dal fònd mâsim de slarghêda.",
        "expansion-depth-exceeded-warning": "Cla pàgina ché la pasê al fònd de şlargamèint",
        "parser-unstrip-loop-warning": "Catê sèria 'd Unistrip",
-       "parser-unstrip-recursion-limit": "A s'é pasê i lémit 'd arciâm 'd Unstrip ($1)",
+       "unstrip-depth-warning": "A s'é pasê i lémit 'd arciâm 'd Unstrip ($1)",
        "converter-manual-rule-error": "È stê catê un erōr int la règola a mân ed cambiamèint ed la léngua",
        "undo-success": "Cla mudéfica ché la pō, èser scanşlêda., Cuntròla che sòta al diferèinsi che gh'é tr' al dō versiòun per èser sicûr che còl che gh'é scrét al cumbîna cun còl ch'ét vō, e dòunca salvêr al mudéfici per finîr la scanşladûra.",
        "undo-failure": "Imposébil scanşlêr la mudéfica a câşva 'd un cuntrâst cun dal mudéfichi fâti dôp.",
index 2ebb094..fd1d050 100644 (file)
        "userinvalidconfigtitle": "'''Προσοχή:''' Δεν υπάρχει skin με τίτλο \"$1\". Θυμηθείτε οι προσαρμοσμένες σελίδες .css και .js χρησιμοποιούν έναν τίτλο με μικρά γράμματα, π.χ. {{ns:user}}:Foo/vector.css σε αντίθεση με το {{ns:user}}:Foo/Vector.css.",
        "updated": "(Ενημερώθηκε)",
        "note": "'''Προσοχή: '''",
-       "previewnote": "'''Να θυμάστε ότι αυτή είναι μόνο μια προεπισκόπηση.'''\nΟι αλλαγές σας δεν έχουν ακόμη αποθηκευτεί!",
+       "previewnote": "<strong>Να θυμάστε ότι αυτό είναι απλώς προεπισκόπηση.</strong>\nΟι αλλαγές σας δεν έχουν αποθηκευτεί ακόμα!",
        "continue-editing": "Μεταβείτε στην περιοχή επεξεργασίας",
        "previewconflict": "Αυτή η προεπισκόπηση απεικονίζει το κείμενο στην επάνω περιοχή επεξεργασίας κειμένου, όπως θα εμφανιστεί εάν επιλέξετε να το αποθηκεύσετε.",
        "session_fail_preview": "Λυπούμαστε! Δεν μπορούσαμε να διεκπεραιώσουμε την επεξεργασία σας λόγω απώλειας των δεδομένων της συνεδρίας.\n\nΜπορεί να έχετε αποσυνδεθεί. <strong>Παρακαλούμε επιβεβαιώστε ότι βρίσκεστε ακόμα σε σύνδεση και προσπαθήστε ξανά</strong>.\nΑν εξακολουθεί να μην λειτουργεί, δοκιμάστε να [[Special:UserLogout|αποσυνδεθείτε]] και να συνδεθείτε ξανά, και βεβαιωθείτε ότι το πρόγραμμα περιήγησής σας επιτρέπει cookies από αυτόν τον ιστότοπο.",
        "expansion-depth-exceeded-category-desc": "Η σελίδα υπερβαίνει το μέγιστο βάθος επέκτασης.",
        "expansion-depth-exceeded-warning": "Η σελίδα υπερέβη το βάθος επέκτασης",
        "parser-unstrip-loop-warning": "εντοπίστηκε ένας βρόχος unstrip",
-       "parser-unstrip-recursion-limit": "Υπέρβαση του ορίου αναδρομής Unstrip ($1)",
+       "unstrip-depth-warning": "Υπέρβαση του ορίου αναδρομής Unstrip ($1)",
        "converter-manual-rule-error": "Εντοπίστηκε σφάλμα σε μη αυτόματο κανόνα μετατροπής γλώσσας",
        "undo-success": "Η επεξεργασία μπορεί να αναιρεθεί.\nΠαρακαλούμε ελέγξτε την σύγκριση παρακάτω για να επιβεβαιώσετε ότι είναι αυτό το οποίο θέλετε να κάνετε και έπειτα αποθηκεύστε τις αλλαγές παρακάτω για να ολοκληρώσετε την αναίρεση της επεξεργασίας.",
        "undo-failure": "Η επεξεργασία δεν μπορούσε να αναστραφεί λόγω αντικρουόμενων ενδιάμεσων επεξεργασιών.",
        "stub-threshold-disabled": "Απενεργοποιημένο",
        "recentchangesdays": "Ημέρες προς εμφάνιση στις πρόσφατες αλλαγές:",
        "recentchangesdays-max": "($1 {{PLURAL:$1|ημέρα|ημέρες}} το μέγιστο)",
-       "recentchangescount": "Î\91Ï\81ιθμÏ\8cÏ\82 ÎµÏ\80εξεÏ\81γαÏ\83ιÏ\8eν Ï\80οÏ\85 Î½Î± ÎµÎ¼Ï\86ανίζονÏ\84αι Î³Î¹Î± Ï\80Ï\81οεÏ\80ιλογή.",
-       "prefs-help-recentchangescount": "Î\91Ï\85Ï\84Ï\8c Ï\80εÏ\81ιλαμβάνει Ï\84ιÏ\82 Ï\80Ï\81Ï\8cÏ\83Ï\86αÏ\84εÏ\82 Î±Î»Î»Î±Î³Î­Ï\82, Ï\84α Î¹Ï\83Ï\84οÏ\81ικά Ï\84Ï\89ν Ï\83ελίδÏ\89ν, ÎºÎ±Î¹ Ï\84α Î±Ï\81Ï\87εία Î´Î¹Î±Î³Ï\81αÏ\86Ï\8eν.",
+       "recentchangescount": "Î\91Ï\81ιθμÏ\8cÏ\82 ÎµÏ\80εξεÏ\81γαÏ\83ιÏ\8eν Ï\80οÏ\85 Î½Î± ÎµÎ¼Ï\86ανίζονÏ\84αι ÎµÎº Ï\80Ï\81οεÏ\80ιλογήÏ\82 Ï\83Ï\84ιÏ\82 Ï\80Ï\81Ï\8cÏ\83Ï\86αÏ\84εÏ\82 Î±Î»Î»Î±Î³Î­Ï\82, Ï\83Ï\84ο Î¹Ï\83Ï\84οÏ\81ικÏ\8c Ï\83ελίδÏ\89ν ÎºÎ±Î¹ Ï\83Ï\84α Î±Ï\81Ï\87εία ÎºÎ±Ï\84αγÏ\81αÏ\86Ï\8eν.",
+       "prefs-help-recentchangescount": "Î\9cέγιÏ\83Ï\84οÏ\82 Î±Ï\81ιθμÏ\8cÏ\82: 1000",
        "prefs-help-watchlist-token2": "Αυτό είναι το μυστικό κλειδί για την διαδικτυακή θέαση της λίστας παρακολούθησής σας.\nΌποιος το γνωρίζει θα είναι σε θέση να διαβάσει την λίστα παρακολούθησης σας, οπότε μην τον μοιράζεστε.\n[[Special:ResetTokens|Κάνε κλικ εδώ εάν θέλετε να τον επαναφέρετε]].",
        "savedprefs": "Οι προτιμήσεις σας έχουν αποθηκευτεί.",
        "savedrights": "Οι ομάδες χρηστών {{GENDER:$1|του $1|της $1}} έχουν αποθηκευτεί.",
        "rcfilters-filter-watchlist-watched-label": "Στην λίστα παρακολούθησης",
        "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-filtergroup-watchlistactivity": "Δραστηριότητα λίστας παρακολούθησης",
        "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-namespaces-tooltip": "Φιλτράρισμα αποτελεσμάτων κατά ονοματοχώρο",
        "rcfilters-liveupdates-button": "Ζωντανή ανανέωση",
        "lockmanager-fail-closelock": "Δεν μπόρεσε να κλείσει το κλειδωμένο αρχείο για \"$1\".",
        "lockmanager-fail-deletelock": "Δεν μπόρεσε να διαγράψει το αρχείο κλειδώματος για το \"$1\".",
        "lockmanager-fail-acquirelock": "Δεν ήταν δυνατή η απόκτηση κλειδώματος για \"$1\".",
-       "lockmanager-fail-openlock": "Î\94εν Î¼Ï\80Ï\8cÏ\81εÏ\83ε Î½Î± Î±Î½Î¿Î¯Î¾ÎµÎ¹ Ï\84ο Î±Ï\81Ï\87είο ÎºÎ»ÎµÎ¹Î´Ï\8eμαÏ\84οÏ\82 Î³Î¹Î± Ï\84ο \"$1\".",
+       "lockmanager-fail-openlock": "Î\94εν Î®Ï\84αν Î´Ï\85ναÏ\84Ï\8c Ï\84ο Î¬Î½Î¿Î¹Î³Î¼Î± Ï\84οÏ\85 Î±Ï\81Ï\87είοÏ\85 ÎºÎ»ÎµÎ¹Î´Ï\8eμαÏ\84οÏ\82 Î³Î¹Î± Ï\84ο Â«$1». Î\92εβαιÏ\89θείÏ\84ε Ï\8cÏ\84ι Î¿ ÎºÎ±Ï\84άλογοÏ\82 Î±Î½ÎµÎ²Î¬Ï\83μαÏ\84οÏ\82 Î­Ï\87ει Ï\81Ï\85θμιÏ\83Ï\84εί Ï\83Ï\89Ï\83Ï\84ά ÎºÎ±Î¹ Ï\8cÏ\84ι Î¿ Î´Î¹Î±ÎºÎ¿Î¼Î¹Ï\83Ï\84ήÏ\82 Î\99Ï\83Ï\84οÏ\8d Î­Ï\87ει Î¬Î´ÎµÎ¹Î± Î½Î± Î³Ï\81άÏ\88ει Ï\83ε Î±Ï\85Ï\84Ï\8cν Ï\84ον ÎºÎ±Ï\84άλογο. Î\94είÏ\84ε https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgUploadDirectory Î³Î¹Î± Ï\80εÏ\81ιÏ\83Ï\83Ï\8cÏ\84εÏ\81εÏ\82 Ï\80ληÏ\81οÏ\86οÏ\81ίεÏ\82.",
        "lockmanager-fail-releaselock": "Δεν ήταν δυνατή η έκδοση κλειδώματος για \"$1\".",
        "lockmanager-fail-db-bucket": "Δεν ήταν δυνατή η εντόπιση αρκετών αρχείων δεδομένων κλειδωμάτων στο σύστημα $1.",
        "lockmanager-fail-db-release": "Δεν ήταν δυνατή η έκδοση κλειδωμάτων για τη βάση δεδομένων $1.",
        "uploadstash-bad-path-invalid": "Ο τρόπος δεν είναι έγκυρος.",
        "uploadstash-bad-path-unknown-type": "Άγνωστος τύπος ''$1''.",
        "uploadstash-bad-path-unrecognized-thumb-name": "Nom feuilleté non classifié.",
-       "uploadstash-bad-path-no-handler": "Î\94εν Î²Ï\81έθηκε Ï\87ειÏ\81ιÏ\83Ï\84ήÏ\82 Î³Î¹Î± Ï\84ην Î±Î½Ï\84ιγÏ\81αÏ\86ή Ï\84οÏ\85 Ï\86ακέλλοÏ\85",
+       "uploadstash-bad-path-no-handler": "Î\94εν Î²Ï\81έθηκε Ï\87ειÏ\81ιÏ\83Ï\84ήÏ\82 Î³Î¹Î± Ï\84ον Ï\84Ï\8dÏ\80ο mime $1 Ï\84οÏ\85 Î±Ï\81Ï\87είοÏ\85 $2.",
        "uploadstash-bad-path-bad-format": "Ο κωδικός ''$1' δεν έχει τον κατάλληλο τύπο.",
-       "uploadstash-file-not-found": "",
+       "uploadstash-file-not-found": "Το κλειδί «$1» δεν βρέθηκε στο απόθεμα.",
        "uploadstash-file-not-found-no-thumb": "Δεν μπόρεσε να αποκτήσει το ''thumbnail''.",
        "uploadstash-file-not-found-no-local-path": "Δεν υπάρχει τρόπος τοπικά για το κλιμακούμενο αντικείμενο",
        "uploadstash-file-not-found-no-object": "Δεν μπόρεσε να δημιουργήσει τοπικό φάκελλο ''thumbnail''.",
        "apisandbox": "Αμμοδοχείο API",
        "apisandbox-api-disabled": "Η Διεπαφή Προγραμματισμού Εφαρμογών (API) είναι απενεργοποιημένη σε αυτήν την τοποθεσία.",
        "apisandbox-intro": "Χρησιμοποιήστε αυτήν τη σελίδα για να πειραματιστείτε με το <strong>API της υπηρεσίας ιστού του MediaWiki</strong>.\nΑνατρέξτε στην [[mw:API:Main page|τεκμηρίωση του API]] για περισσότερες πληροφορίες πάνω στη χρήση του API. \nΠαράδειγμα: [https://www.mediawiki.org/wiki/API#A_simple_example λήψη του περιεχομένου της Αρχικής Σελίδας]. Επιλέξτε κάποια ενέργεια για να δείτε περισσότερα παραδείγματα.\n\nΝα σημειωθεί ότι, παρόλο που αυτό εδώ είναι αμμοδοχείο, οι ενέργειες που εκτελείτε σε αυτήν τη σελίδα μπορούν να τροποποιήσουν το wiki.",
+       "apisandbox-fullscreen": "Επέκταση πίνακα",
        "apisandbox-unfullscreen": "Εμφάνιση της σελίδας",
        "apisandbox-submit": "Υποβολή του αιτήματος",
        "apisandbox-reset": "Εκκαθάριση",
        "linksearch-text": "Μπορούν να χρησιμοποιηθούν χαρακτήρες μπαλαντέρ όπως \"*.wikipedia.org\". \nΧρειάζεται τουλάχιστον μια κατάληξη ανωτάτου επιπέδου, για παράδειγμα \"*.org\".<br />\n{{PLURAL:$2|Υποστηριζόμενο πρωτόκολλο|Υποστηριζόμενα πρωτόκολλα}}: $1 (αν δεν οριστεί πρωτόκολλο η προεπιλογή είναι http://).",
        "linksearch-line": "Η σελίδα $1 συνδέεται από την $2",
        "linksearch-error": "Λέξεις-μπαλαντέρ μπορεί να εμφανιστούν μόνο στην αρχή τού ονόματος ιστοτόπου (hostname).",
-       "listusersfrom": "Προβολή χρηστών ξεκινώντας από:",
+       "listusersfrom": "Παρουσίαση χρηστών ξεκινώντας από:",
        "listusers-submit": "Δείξε",
        "listusers-noresult": "Δεν βρέθηκε χρήστης.",
        "listusers-blocked": "(υπό φραγή)",
        "activeusers": "Κατάλογος ενεργών χρηστών",
        "activeusers-intro": "Αυτή είναι μια λίστα από χρήστες που είχαν κάποιου είδους δραστηριότητα {{PLURAL:$1|την τελευταία $1 ημέρα|τις τελευταίες $1 ημέρες}}.",
        "activeusers-count": "$1 {{PLURAL:$1|ενέργεια|ενέργειες}} {{PLURAL:$3|την τελευταία ημέρα|τις τελευταίες $3 ημέρες}}",
-       "activeusers-from": "Προβολή χρηστών ξεκινώντας από:",
+       "activeusers-from": "Παρουσίαση χρηστών ξεκινώντας από:",
+       "activeusers-groups": "Παρουσίαση χρηστών που ανήκουν στις ομάδες:",
+       "activeusers-excludegroups": "Εξαίρεση χρηστών που ανήκουν στις ομάδες:",
        "activeusers-noresult": "Δεν βρέθηκε χρήστης.",
        "activeusers-submit": "Προβολή ενεργών χρηστών",
        "listgrouprights": "Δικαιώματα ομάδων χρηστών",
        "rollbacklinkcount": "Αναστροφή $1 {{PLURAL:$1|επεξεργασίας|επεξεργασιών}}",
        "rollbacklinkcount-morethan": "αναστροφή περισσότερων από $1 {{PLURAL:$1|επεξεργασία|επεξεργασίες}}",
        "rollbackfailed": "Η επαναφορά απέτυχε.",
+       "rollback-missingrevision": "Δεν ήταν δυνατή η φόρτωση δεδομένων αναθεωρήσεων.",
        "cantrollback": "Δεν είναι δυνατή η αναίρεση αυτής της αλλαγής, πρόκειται για την αρχική ενέργεια δημιουργίας της σελίδας.",
        "alreadyrolled": "Αδύνατον να αναιρεθεί η τελευταία αλλαγή της σελίδας [[:$1]] από το χρήστη ([[User:$2|$2]] ([[User talk:$2|Συζήτηση]]){{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]), διότι κάποιος έχει ήδη αναιρέσει την αλλαγή ή έχει αλλάξει εκ νέου τη σελίδα.\n\nΤελευταία αλλαγή από το χρήστη ([[User:$3|$3]] ([[User talk:$3|Συζήτηση]]){{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).",
        "editcomment": "Το σχόλιο της επεξεργασίας ήταν: <em>$1</em>.",
        "revertpage": "Ανάκληση των αλλαγών [[Special:Contributions/$2|$2]] ([[User talk:$2|συζήτηση]]) επιστροφή στην προηγούμενη αναθεώρηση [[User:$1|$1]]",
        "revertpage-nouser": "Αναστράφηκαν οι επεξεργασίες από τον (όνομα χρήστη αφαιρέθηκε) στη τελευταία έκδοση από τον/την {{GENDER:$1|[[User:$1|$1]]}}φ",
-       "rollback-success": "Î\91νεÏ\83Ï\84Ï\81αμμένεÏ\82 ÎµÎºÎ´Ï\8cÏ\83ειÏ\82 Î±Ï\80Ï\8c $1, Î±Î»Î»Î¬Ï\87θηκαν Ï\83Ï\84ην Ï\80Ï\81οηγοÏ\8dμενη Î­ÎºÎ´Î¿Ï\83η Î±Ï\80Ï\8c $2.",
+       "rollback-success": "Î\91ναÏ\83Ï\84Ï\81οÏ\86ή ÎµÏ\80εξεÏ\81γαÏ\83ιÏ\8eν Î±Ï\80Ï\8c {{GENDER:$3|Ï\84ον|Ï\84ην}} $1, ÎµÏ\80ιÏ\83Ï\84Ï\81οÏ\86ή Ï\83Ï\84ην Ï\80Ï\81οηγοÏ\8dμενη Î­ÎºÎ´Î¿Ï\83η Î±Ï\80Ï\8c {{GENDER:$4|Ï\84ον|Ï\84ην}} $2.",
        "rollback-success-notify": "Αναίρεση επεξεργασιών από $1; επιστροφή στην τελευταία αναθεώρηση από $2.[$3 Εμφάνιση αλλαγών]",
        "sessionfailure-title": "Η συνεδρία απέτυχε",
        "sessionfailure": "Υπάρχει πρόβλημα με τη σύνδεσή σας -η ενέργεια αυτή ακυρώθηκε προληπτικά για την αντιμετώπιση τυχόν πειρατείας συνόδου (session hijacking). Παρακαλoύμε πατήστε \"Επιστροφή\", ξαναφορτώστε τη σελίδα από την οποία φθάσατε εδώ και προσπαθήστε ξανά.",
        "changecontentmodel-success-text": "Ο τύπος περιεχομένου του [[:$1]] έχει αλλάξει.",
        "changecontentmodel-cannot-convert": "Το περιεχόμενο του [[:$1]] δεν μπορεί να μετατραπεί σε τύπο $2.",
        "changecontentmodel-nodirectediting": "Το μοντέλο περιεχομένου $1 δεν υποστηρίζει την άμεση επεξεργασία",
+       "changecontentmodel-emptymodels-title": "Δεν υπάρχουν διαθέσιμα μοντέλα περιεχομένου",
        "log-name-contentmodel": "Αρχείο καταγραφής αλλαγών μοντέλου περιεχομένου",
        "log-description-contentmodel": "Αυτή η σελίδα περιέχει αλλαγές στο μοντέλο περιεχομένου των σελίδων, και τις σελίδες που δημιουργήθηκαν με μοντέλο περιεχομένου διαφορετικό από το προεπιλεγμένο.",
        "logentry-contentmodel-change": "{{GENDER:$2|Ο|Η}} $1 άλλαξε το πρότυπο περιεχομένου της σελίδας $3 από «$4» σε «$5»",
        "undelete-header": "Δείτε [[Special:Log/delete|το αρχείο καταγραφής διαγραφών]] για πρόσφατα διαγεγραμμένες σελίδες.",
        "undelete-search-title": "Αναζήτηση διαγεγραμμένων σελίδων",
        "undelete-search-box": "Αναζήτηση διεγραμμένων σελίδων",
-       "undelete-search-prefix": "Εμφάνισε σελίδες που αρχίζουν με:",
+       "undelete-search-prefix": "Εμφάνιση σελίδων που αρχίζουν με:",
+       "undelete-search-full": "Εμφάνιση τίτλων σελίδων που περιέχουν:",
        "undelete-search-submit": "Αναζήτηση",
        "undelete-no-results": "Δεν βρέθηκαν σελίδες που να ταιριάζουν στο αρχείο διαγραφών.",
        "undelete-filename-mismatch": "Αδύνατη η επαναφορά της αναθεώρησης αρχείου με χρονική σφραγίδα $1: αναντιστοιχία ονόματος αρχείου",
        "sp-contributions-uploads": "ανεβάσματα αρχείων",
        "sp-contributions-logs": "καταγραφές",
        "sp-contributions-talk": "συζήτηση",
-       "sp-contributions-userrights": "διαχείριση δικαιωμάτων χρηστών",
+       "sp-contributions-userrights": "διαχείριση δικαιωμάτων {{GENDER:$1|χρήστη|χρήστριας|χρηστών}}",
        "sp-contributions-blocked-notice": "{{GENDER:$1|Αυτός ο χρήστης|Αυτή η χρήστης}} έχει αποκλειστεί επί του παρόντος.\nΗ πιο πρόσφατη καταχώρηση του αρχείου καταγραφής φραγών παρέχεται παρακάτω για αναφορά:",
        "sp-contributions-blocked-notice-anon": "Αυτή η διεύθυνση IP υπόκειται επί του παρόντος σε φραγή",
        "sp-contributions-search": "Αναζήτηση για συνεισφορές",
        "unblocked-id": "Η φραγή του $1 έχει τερματιστεί",
        "unblocked-ip": "Έχει αρθεί η φραγή της [[Special:Contributions/$1|$1]].",
        "blocklist": "Αποκλεισμένοι χρήστες",
+       "autoblocklist": "Αυτόματες φραγές",
        "autoblocklist-submit": "Αναζήτηση",
        "ipblocklist": "Αποκλεισμένοι χρήστες",
        "ipblocklist-legend": "Εύρεση ενός χρήστη που έχει υποστεί φραγή",
        "cant-move-to-user-page": "Δεν έχετε άδεια για να μετακινήσετε μια σελίδα σε σελίδα χρήστη (παρά μόνο σε υποσελίδα χρήστη).",
        "cant-move-category-page": "Δεν έχετε άδεια να μετακινείτε σελίδες κατηγοριών.",
        "cant-move-to-category-page": "Δεν έχετε άδεια να μετακινήσετε μια σελίδα σε σελίδα της κατηγορίας.",
+       "cant-move-subpages": "Δεν έχετε άδεια να μετακινείτε υποσελίδες.",
+       "namespace-nosubpages": "Ο ονοματοχώρος \"$1\" δεν επιτρέπει υποσελίδες.",
        "newtitle": "Νέος τίτλος:",
        "move-watch": "Παρακολούθησε αυτή τη σελίδα",
        "movepagebtn": "Μετακίνηση σελίδας",
        "import-nonewrevisions": "Καμία αναθεώρηση δεν εισήχθει (όλες είτε ήταν ήδη παρούσες, ή παραλήφθηκαν λόγω σφαλμάτων).",
        "xml-error-string": "$1 στη γραμμή $2, στήλη $3 (byte $4): $5",
        "import-upload": "Ανέβασμα δεδομένων XML",
-       "import-token-mismatch": "Απώλεια δεδομένων περιόδου λειτουργίας.\n\nΜπορεί να έχετε αποσυνδεθεί. <strong>Παρακαλούμε επιβεβαιώστε ότι βρίσκεστε ακόμα σε σύνδεση και προσπαθήστε ξανά</strong>.\nΑν εξακολουθεί να μην λειτουργεί, δοκιμάστε να [[Special:UserLogout|αποσυνδεθείτε]] και να συνδεθείτε ξανά, και βεβαιωθείτε ότι το πρόγραμμα περιήγησής σας επιτρέπει cookies από αυτόν τον ιστότοπο.",
+       "import-token-mismatch": "Απώλεια δεδομένων περιόδου λειτουργίας.\n\nΜπορεί να έχετε αποσυνδεθεί. '''Παρακαλούμε επιβεβαιώστε ότι βρίσκεστε ακόμα σε σύνδεση και προσπαθήστε ξανά'''.\nΑν εξακολουθεί να μην λειτουργεί, δοκιμάστε να [[Special:UserLogout|αποσυνδεθείτε]] και να συνδεθείτε ξανά, και βεβαιωθείτε ότι το πρόγραμμα περιήγησής σας επιτρέπει cookies από αυτόν τον ιστότοπο.",
        "import-invalid-interwiki": "Δεν είναι δυνατή η εισαγωγή από το καθορισμένο wiki.",
        "import-error-edit": "Η σελίδα «$1» δεν εισήχθη επειδή δεν σας επιτρέπεται να την επεξεργαστείτε.",
        "import-error-create": "Η σελίδα «$1» δεν εισήχθη επειδή δεν σας επιτρέπεται να την δημιουργήσετε.",
        "tooltip-pt-mycontris": "Κατάλογος των συνεισφορών {{GENDER:|σας}}",
        "tooltip-pt-anoncontribs": "Μια λίστα με τις επεξεργασίες που έγιναν από αυτή τη διεύθυνση IP",
        "tooltip-pt-login": "Σας ενθαρρύνουμε να συνδεθείτε· ωστόσο, δεν είναι υποχρεωτικό",
+       "tooltip-pt-login-private": "Πρέπει να συνδεθείτε για να χρησιμοποιήσετε αυτό το βίκι",
        "tooltip-pt-logout": "Έξοδος",
        "tooltip-pt-createaccount": "Σας ενθαρρύνουμε να δημιουργήσετε ένα λογαριασμό και να συνδεθείτε· ωστόσο, δεν είναι υποχρεωτικό",
        "tooltip-ca-talk": "Συζήτηση για τη σελίδα περιεχομένου",
        "newimages-legend": "Φίλτρο",
        "newimages-label": "Όνομα αρχείου (ή μέρος αυτού):",
        "newimages-user": "Διεύθυνση IP ή όνομα χρήστη",
+       "newimages-newbies": "Εμφάνιση των συνεισφορών των νέων λογαριασμών μόνο",
        "newimages-showbots": "Εμφάνιση αρχείων ανεβασμένων από ρομπότ",
        "newimages-hidepatrolled": "Απόκρυψη ελεγμένων αρχείων.",
        "newimages-mediatype": "Τύπος μέσου:",
        "autosumm-blank": "Διαγραφή του περιεχομένου της σελίδας",
        "autosumm-replace": "Αντικατάσταση σελίδας με '$1'",
        "autoredircomment": "Ανακατεύθυνση στη σελίδα [[$1]]",
+       "autosumm-removed-redirect": "Αφαιρέθηκε ανακατεύθυνση προς το [[$1]]",
+       "autosumm-changed-redirect-target": "Άλλαξε στόχος ανακατεύθυνσης από το [[$1]] στο [[$2]]",
        "autosumm-new": "Νέα σελίδα με '$1'",
        "autosumm-newblank": "Δημιουργήθηκε κενή σελίδα",
        "lag-warn-normal": "Αλλαγές νεότερες από {{PLURAL:$1|δευτερόλεπτο|δευτερόλεπτα}} μπορεί να μην φαίνονται σε αυτή τη λίστα.",
        "watchlistedit-clear-titles": "Τίτλοι:",
        "watchlistedit-clear-submit": "Εκκαθάριση της λίστας παρακολούθησης (Αυτό είναι οριστικό!)",
        "watchlistedit-clear-done": "Η λίστα παρακολούθησής σας έχει καθαριστεί.",
+       "watchlistedit-clear-jobqueue": "Η λίστα παρακολούθησής σας καθαρίζεται. Αυτό ίσως πάρει λίγο χρόνο!",
        "watchlistedit-clear-removed": "{{PLURAL:$1|1 τίτλος αφαιρέθηκε|$1 τίτλοι αφαιρέθηκαν}}:",
        "watchlistedit-too-many": "Υπάρχουν υπερβολικά πολλές σελίδες και δεν μπορούν να εμφανιστούν εδώ.",
        "watchlisttools-clear": "Εκκαθάριση της λίστας παρακολούθησης",
        "version-poweredby-others": "άλλοι",
        "version-poweredby-translators": "translatewiki.net μεταφραστές",
        "version-credits-summary": "Θα θέλαμε να αναγνωρίσουμε τη συμβολή των παρακάτω προσώπων στο [[Special:Version|MediaWiki]].",
-       "version-license-info": "Το MediaWiki ÎµÎ¯Î½Î±Î¹ ÎµÎ»ÎµÏ\8dθεÏ\81ο Î»Î¿Î³Î¹Ï\83μικÏ\8c. Î\9cÏ\80οÏ\81είÏ\84ε Î½Î± Ï\84ο Î±Î½Î±Î´Î¹Î±Î½ÎµÎ¯Î¼ÎµÏ\84ε Î®/και Î½Î± Ï\84ο Ï\84Ï\81οÏ\80οÏ\80οιήÏ\83εÏ\84ε Ï\85Ï\80Ï\8c Ï\84οÏ\85Ï\82 Ï\8cÏ\81οÏ\85Ï\82 Ï\84ηÏ\82 Î¬Î´ÎµÎ¹Î±Ï\82 GNU General Public License Ï\8cÏ\80Ï\89Ï\82 Î±Ï\85Ï\84ή ÎµÎºÎ´Ï\8cθηκε Î±Ï\80Ï\8c Ï\84ο Free Software Foundation· ÎµÎ¯Ï\84ε Ï\84ηÏ\82 Î´ÎµÏ\8dÏ\84εÏ\81ηÏ\82 Î­ÎºÎ´Î¿Ï\83ηÏ\82 Ï\84ηÏ\82 Î¬Î´ÎµÎ¹Î±Ï\82, ÎµÎ¯Ï\84ε (καÏ\84' ÎµÏ\80ιλογή Ï\83αÏ\82) Î¿Ï\80οιαÏ\83δήÏ\80οÏ\84ε ÎµÏ\80Ï\8cμενηÏ\82 Î­ÎºÎ´Î¿Ï\83ηÏ\82.\n\nΤο MediaWiki Î´Î¹Î±Î½Î­Î¼ÎµÏ\84αι Î¼Îµ Ï\84ην ÎµÎ»Ï\80ίδα Ï\8cÏ\84ι Î¸Î± ÎµÎ¯Î½Î±Î¹ Ï\87Ï\81ήÏ\83ιμο, Î±Î»Î»Î¬ Î§Î©Î¡Î\99Σ Î\9aÎ\91Î\9cÎ\99Î\91 Î\95Î\93Î\93Î¥Î\97ΣÎ\97· Î¿Ï\8dÏ\84ε ÎºÎ±Î½ Ï\84ην Ï\83ιÏ\89Ï\80ηÏ\81ή ÎµÎ³Î³Ï\8dηÏ\83η Î\95Î\9cΠÎ\9fΡÎ\95ΥΣÎ\99Î\9cÎ\9fΤÎ\97ΤÎ\91Σ Î® Î\9aÎ\91ΤÎ\91Î\9bÎ\9bÎ\97Î\9bÎ\9fΤÎ\97ΤÎ\91Σ Î\93Î\99Î\91 Î\95Î\9dÎ\91 Î£Î¥Î\93Î\9aÎ\95Î\9aΡÎ\99Î\9cÎ\95Î\9dÎ\9f Î£Î\9aÎ\9fΠÎ\9f. Î\92λ. GNU General Public License Î³Î¹Î± Ï\80εÏ\81ιÏ\83Ï\83Ï\8cÏ\84εÏ\81εÏ\82 Î»ÎµÏ\80Ï\84ομέÏ\81ειεÏ\82.\n\nÎ\98α Ï\80Ï\81έÏ\80ει Î½Î± Î­Ï\87εÏ\84ε Î»Î¬Î²ÎµÎ¹ [{{SERVER}}{{SCRIPTPATH}}/COPYING Î­Î½Î± Î±Î½Ï\84ίγÏ\81αÏ\86ο Ï\84ηÏ\82 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": "Το MediaWiki ÎµÎ¯Î½Î±Î¹ ÎµÎ»ÎµÏ\8dθεÏ\81ο Î»Î¿Î³Î¹Ï\83μικÏ\8c. Î\9cÏ\80οÏ\81είÏ\84ε Î½Î± Ï\84ο Î±Î½Î±Î´Î¹Î±Î½ÎµÎ¯Î¼ÎµÏ\84ε Î®/και Î½Î± Ï\84ο Ï\84Ï\81οÏ\80οÏ\80οιήÏ\83εÏ\84ε Ï\85Ï\80Ï\8c Ï\84οÏ\85Ï\82 Ï\8cÏ\81οÏ\85Ï\82 Ï\84ηÏ\82 Î\93ενικήÏ\82 Î\86δειαÏ\82 Î\94ημÏ\8cÏ\83ιαÏ\82 Î§Ï\81ήÏ\83ηÏ\82 GNU Ï\8cÏ\80Ï\89Ï\82 Î±Ï\85Ï\84ή Î´Î·Î¼Î¿Ï\83ιεÏ\8dεÏ\84αι Î±Ï\80Ï\8c Ï\84ο Î\8aδÏ\81Ï\85μα Î\95λεÏ\8dθεÏ\81οÏ\85 Î\9bογιÏ\83μικοÏ\8d· ÎµÎ¯Ï\84ε Ï\84ηÏ\82 Î­ÎºÎ´Î¿Ï\83ηÏ\82 2 Ï\84ηÏ\82 Î\86δειαÏ\82, ÎµÎ¯Ï\84ε (καÏ\84' ÎµÏ\80ιλογήν Ï\83αÏ\82) Î¿Ï\80οιαÏ\83δήÏ\80οÏ\84ε Î¼ÎµÏ\84αγενέÏ\83Ï\84εÏ\81ηÏ\82 Î­ÎºÎ´Î¿Ï\83ηÏ\82.\n\nΤο MediaWiki Î´Î¹Î±Î½Î­Î¼ÎµÏ\84αι Î¼Îµ Ï\84ην ÎµÎ»Ï\80ίδα Ï\8cÏ\84ι Î¸Î± ÎµÎ¯Î½Î±Î¹ Ï\87Ï\81ήÏ\83ιμο, Î±Î»Î»Î¬ <em>ΧΩΡÎ\99Σ Î\9aÎ\91Î\9cÎ\99Î\91 Î\95Î\93Î\93Î¥Î\97ΣÎ\97</em>· Ï\87Ï\89Ï\81ίÏ\82 ÎºÎ±Î½ Ï\84η Ï\83ιÏ\89Ï\80ηÏ\81ή ÎµÎ³Î³Ï\8dηÏ\83η <strong>Î\95Î\9cΠÎ\9fΡÎ\95ΥΣÎ\99Î\9cÎ\9fΤÎ\97ΤÎ\91Σ</strong> Î® <strong>Î\9aÎ\91ΤÎ\91Î\9bÎ\9bÎ\97Î\9bÎ\9fΤÎ\97ΤÎ\91Σ Î\93Î\99Î\91 Î£Î¥Î\93Î\9aÎ\95Î\9aΡÎ\99Î\9cÎ\95Î\9dÎ\9f Î£Î\9aÎ\9fΠÎ\9f</strong>. Î\94είÏ\84ε Ï\84η Î\93ενική Î\86δεια Î\94ημÏ\8cÏ\83ιαÏ\82 Î§Ï\81ήÏ\83ηÏ\82 GNU Î³Î¹Î± Ï\80εÏ\81ιÏ\83Ï\83Ï\8cÏ\84εÏ\81εÏ\82 Î»ÎµÏ\80Ï\84ομέÏ\81ειεÏ\82.\n\nÎ\98α Ï\80Ï\81έÏ\80ει Î½Î± Î­Ï\87εÏ\84ε Ï\80αÏ\81αλάβει [{{SERVER}}{{SCRIPTPATH}}/COPYING Î­Î½Î± Î±Î½Ï\84ίγÏ\81αÏ\86ο Ï\84ηÏ\82 Î\93ενικήÏ\82 Î\86δειαÏ\82 Î\94ημÏ\8cÏ\83ιαÏ\82 Î§Ï\81ήÏ\83ηÏ\82 GNU] μαζί με αυτό το πρόγραμμα· αν όχι, στείλτε ένα γράμμα στο Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA ή [//www.gnu.org/licenses/old-licenses/gpl-2.0.html διαβάστε το διαδικτυακά].",
        "version-software": "Εγκατεστημένο λογισμικό",
        "version-software-product": "Προϊόν",
        "version-software-version": "Έκδοση",
        "tag-filter-submit": "Φίλτρο",
        "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|Ετικέτα|Ετικέτες}}]]: $2)",
        "tag-mw-new-redirect": "Νέα ανακατεύθυνση",
+       "tag-mw-removed-redirect": "Αφαιρέθηκε ανακατεύθυνση",
+       "tag-mw-changed-redirect-target": "Στόχος ανακατεύθυνσης άλλαξε",
        "tag-mw-blank": "Άδειασμα περιεχομένου σελίδας",
        "tag-mw-blank-description": "Επεξεργασίες που σβήνουν όλο το περιεχόμενο σελίδας",
        "tag-mw-replace": "Αντικαταστάθηκε",
        "tag-mw-replace-description": "Επεξεργασίες που αφαιρούν πάνω από 90% του περιεχομένου της σελίδας",
        "tag-mw-rollback": "Επαναφορά",
+       "tag-mw-undo": "Αναιρέθηκε",
        "tags-title": "Ετικέτες",
        "tags-intro": "Η σελίδα καταγράφει τις ετικέτες, καθώς και το τι σημαίνει η κάθε μία, με τις οποίες το λογισμικό μπορεί να μαρκάρει μία επεξεργασία.",
        "tags-tag": "Όνομα ετικέτας",
        "tags-create-reason": "Αιτία:",
        "tags-create-submit": "Δημιουργία",
        "tags-create-no-name": "Πρέπει να καθορίσετε όνομα ετικέτας.",
-       "tags-create-invalid-chars": "Τα ονόματα ετικετών δεν πρέπει να περιέχουν κόμματα (<code>,</code>) ή καθέτους (<code>/</code>).",
+       "tags-create-invalid-chars": "Τα ονόματα ετικετών δεν πρέπει να περιέχουν κόμματα (<code>,</code>), κατακόρυφες καθέτους (<code>|</code>), ή καθέτους (<code>/</code>).",
        "tags-create-invalid-title-chars": "Τα ονόματα ετικετών δεν πρέπει να περιέχουν χαρακτήρες που δεν είναι δυνατό να χρησιμοποιηθούν σε τίτλους σελίδων.",
        "tags-create-already-exists": "Η ετικέτα «$1» υπάρχει ήδη.",
        "tags-create-warnings-above": "{{PLURAL:$2|Αντιμετωπίστηκε η ακόλουθη προειδοποίηση|Αντιμετωπίστηκαν οι ακόλουθες προειδοποιήσεις}} όταν έγινε προσπάθεια για τη δημιουργία της ετικέτας «$1»:",
        "compare-invalid-title": "Ο τίτλος που καθορίσατε δεν είναι έγκυρος.",
        "compare-title-not-exists": "Ο τίτλος που καθορίσατε δεν υπάρχει.",
        "compare-revision-not-exists": "Η αναθεώρηση που καθορίσατε δεν υπάρχει.",
-       "diff-form": "μια '''φόρμα'''",
+       "diff-form": "Διαφορές",
+       "diff-form-submit": "Εμφάνιση διαφορών",
        "permanentlink": "Σταθερός σύνδεσμος",
        "permanentlink-revid": "Αναγνωριστικό αναθεώρησης",
+       "permanentlink-submit": "Πήγαινε στην αναθεώρηση",
        "dberr-problems": "Λυπούμαστε! Αυτός ο ιστότοπος αντιμετωπίζει τεχνικές δυσκολίες.",
        "dberr-again": "Δοκιμάστε να περιμενένετε λίγα λεπτά και να ανανεώσετε.",
        "dberr-info": "(Δεν είναι δυνατή η πρόσβαση στη βάση δεδομένων: $1)",
        "limitreport-templateargumentsize-value": "$1 από $2 {{PLURAL:$2|byte|bytes}}",
        "limitreport-expansiondepth": "Μεγαλύτερο βάθος ανάπτυξης",
        "limitreport-expensivefunctioncount": "Πλήθος ακριβών συναρτήσεων συντακτικού αναλυτή",
+       "limitreport-unstrip-depth-value": "$1/$2",
+       "limitreport-unstrip-size-value": "$1/$2 {{PLURAL:$2|byte|bytes}}",
        "expandtemplates": "Επέκταση προτύπων",
-       "expand_templates_intro": "Αυτή η ειδική σελίδα παίρνει κείμενο και αναπτύσσει όλα τα πρότυπα σε αυτό αναδρομικά. \nΕπίσης αναπτύσσει συναρτήσεις συντακτικού αναλυτή όπως η\n<nowiki>{{</nowiki>#language:…}}, και μεταβλητές όπως η\n<nowiki>{{</nowiki>CURRENTDAY}}.\nΟυσιαστικά επεκτείνει οτιδήποτε βρίσκεται σε διπλές αγκύλες.",
+       "expand_templates_intro": "Αυτή η ειδική σελίδα παίρνει κώδικα wiki και αναπτύσσει όλα τα πρότυπα σε αυτό αναδρομικά. \nΕπίσης αναπτύσσει συναρτήσεις συντακτικού αναλυτή όπως η\n<nowiki>{{</nowiki>#language:…}}, και μεταβλητές όπως η\n<nowiki>{{</nowiki>CURRENTDAY}}.\nΟυσιαστικά επεκτείνει οτιδήποτε βρίσκεται σε διπλές αγκύλες.",
        "expand_templates_title": "Τίτλων συμφραζόμενων, για την {{FULLPAGENAME}} κ.τ.λ.:",
-       "expand_templates_input": "Î\9aείμενο εισόδου:",
+       "expand_templates_input": "Î\92ικικείμενο εισόδου:",
        "expand_templates_output": "Αποτέλεσμα",
        "expand_templates_xml_output": "Έξοδος XML",
        "expand_templates_html_output": "Ανεπεξέργαστη έξοδος HTML",
        "special-characters-group-thai": "ταϊλανδικά",
        "special-characters-group-lao": "λαοτινά",
        "special-characters-group-khmer": "καμποτζιανά",
+       "special-characters-group-canadianaboriginal": "Καναδικό Αβοριγινικό",
        "special-characters-title-endash": "παύλα",
        "special-characters-title-emdash": "διπλή παύλα",
        "special-characters-title-minus": "σύμβολο πλην",
        "log-action-filter-contentmodel-change": "Αλλαγή του μοντέλου περιεχομένου",
        "log-action-filter-contentmodel-new": "Δημιουργία σελίδας με μη προεπιλεγμένο μοντέλο περιεχομένου",
        "log-action-filter-delete-delete": "Διαγραφή σελίδας",
+       "log-action-filter-delete-restore": "Ξεδιαγραφή σελίδας",
+       "log-action-filter-import-interwiki": "Εισαγωγή Transwiki",
        "log-action-filter-import-upload": "Εισαγωγή μέσω ανεβάσματος XML",
        "log-action-filter-managetags-create": "Δημιουργία ετικέτας",
        "log-action-filter-managetags-delete": "Διαγραφή ετικέττας",
        "log-action-filter-newusers-autocreate": "Αυτόματη δημιουργία",
+       "log-action-filter-patrol-patrol": "Χειροκίνητη περιπολία",
+       "log-action-filter-patrol-autopatrol": "Αυτόματη περιπολία",
        "log-action-filter-protect-protect": "Προστασία",
        "log-action-filter-protect-modify": "Τροποποίηση προστασίας",
        "log-action-filter-protect-unprotect": "Άρση προστασίας",
        "log-action-filter-protect-move_prot": "Μετακίνηση προστασίας",
        "log-action-filter-rights-rights": "Χειροκίνητη αλλαγή",
        "log-action-filter-rights-autopromote": "Αυτόματη αλλαγή",
+       "log-action-filter-upload-upload": "Νέα μεταφόρτωση",
+       "log-action-filter-upload-overwrite": "Επαναμεταφόρτωση",
        "authmanager-create-disabled": "Η δημιουργία λογαριασμού έχει απενεργοποιηθεί.",
        "authmanager-authplugin-setpass-failed-title": "Η αλλαγή κωδικού πρόσβασης απέτυχε",
        "authmanager-email-label": "Διεύθυνση ηλ. ταχυδρομείου",
+       "authmanager-email-help": "Διεύθυνση ηλεκτρονικού ταχυδρομείου:",
        "authmanager-realname-label": "Πραγματικό όνομα",
        "authmanager-realname-help": "Πραγματικό όνομα του χρήστη",
        "authmanager-provider-temporarypassword": "Προσωρινός κωδικός",
        "authprovider-resetpass-skip-label": "Παράβλεψη",
        "authprovider-resetpass-skip-help": "Παράβλεψη της επαναφοράς του κωδικού πρόσβασης.",
        "specialpage-securitylevel-not-allowed-title": "Δεν επιτρέπεται",
+       "authpage-cannot-login": "Αποτυχία στο ξεκίνημα σύνδεσης.",
+       "authpage-cannot-create": "Αποτυχία στην αρχή δημιουργίας λογαριασμού.",
        "cannotauth-not-allowed-title": "Δεν έχετε δικαίωμα πρόσβασης.",
        "cannotauth-not-allowed": "Δεν επιτρέπεται να χρησιμοποιήσετε αυτή τη σελίδα",
+       "changecredentials": "Αλλαγή πιστοποιητικών",
+       "changecredentials-submit": "Αλλαγή πιστοποιητικών",
+       "removecredentials": "Αφαίρεση πιστοποιητικών",
+       "removecredentials-submit": "Αφαίρεση πιστοποιητικών",
        "credentialsform-account": "Όνομα λογαριασμού:",
+       "cannotlink-no-provider-title": "Δεν υπάρχουν συνδέσιμοι λογαριασμοί",
+       "cannotlink-no-provider": "Δεν υπάρχουν συνδέσιμοι λογαριασμοί.",
        "linkaccounts": "Σύνδεση λογαριασμών",
        "linkaccounts-success-text": "Ο λογαριασμός συνδέθηκε",
        "linkaccounts-submit": "Σύνδεση λογαριασμών",
+       "unlinkaccounts": "Αποδιασύνδεση λογαριασμών",
+       "unlinkaccounts-success": "Ο λογαριασμός ξεσυνδέθηκε.",
        "userjsispublic": "Σημείωση: Οι υποσελίδες JavaScript δεν πρέπει να περιέχουν εμπιστευτικά δεδομένα καθώς είναι ορατά από άλλους χρήστες.",
        "usercssispublic": "Σημείωση: Οι υποσελίδες CSS δεν πρέπει να περιέχουν εμπιστευτικά δεδομένα καθώς είναι ορατά από άλλους χρήστες.",
+       "edit-error-short": "Σφάλμα: $1",
+       "edit-error-long": "Σφάλματα: \n\n$1",
        "revid": "αναθεώρηση $1",
+       "pagedata-title": "Δεδομένα σελίδας",
        "pagedata-bad-title": "Μη έγκυρος τίτλος: $1."
 }
index d0ee41c..aaaf785 100644 (file)
        "expansion-depth-exceeded-category-desc": "The page exceeds the maximum expansion depth.",
        "expansion-depth-exceeded-warning": "Page exceeded the expansion depth",
        "parser-unstrip-loop-warning": "Unstrip loop detected",
-       "parser-unstrip-recursion-limit": "Unstrip recursion limit exceeded ($1)",
+       "unstrip-depth-warning": "Unstrip depth limit exceeded ($1)",
+       "unstrip-depth-category": "Pages where the unstrip depth limit is exceeded",
+       "unstrip-size-warning": "Unstrip size limit exceeded ($1)",
+       "unstrip-size-category": "Pages where the unstrip size limit is exceeded",
        "converter-manual-rule-error": "Error detected in manual language conversion rule",
        "undo-success": "The edit can be undone.\nPlease check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.",
        "undo-failure": "The edit could not be undone due to conflicting intermediate edits.",
        "stub-threshold-disabled": "Disabled",
        "recentchangesdays": "Days to show in recent changes:",
        "recentchangesdays-max": "Maximum $1 {{PLURAL:$1|day|days}}",
-       "recentchangescount": "Number of edits to show by default:",
-       "prefs-help-recentchangescount": "This includes recent changes, page histories, and logs.",
+       "recentchangescount": "Number of edits to show in recent changes, page histories, and in logs, by default:",
+       "prefs-help-recentchangescount": "Maximum number: 1000",
        "prefs-help-watchlist-token2": "This is the secret key to the web feed of your watchlist.\nAnyone who knows it will be able to read your watchlist, so do not share it.\nIf you need to, [[Special:ResetTokens|you can reset it]].",
        "savedprefs": "Your preferences have been saved.",
        "savedrights": "The user groups of {{GENDER:$1|$1}} have been saved.",
        "limitreport-expansiondepth-value": "$1/$2",
        "limitreport-expensivefunctioncount": "Expensive parser function count",
        "limitreport-expensivefunctioncount-value": "$1/$2",
+       "limitreport-unstrip-depth": "Unstrip recursion depth",
+       "limitreport-unstrip-depth-value": "$1/$2",
+       "limitreport-unstrip-size": "Unstrip post-expand size",
+       "limitreport-unstrip-size-value": "$1/$2 {{PLURAL:$2|byte|bytes}}",
        "expandtemplates": "Expand templates",
        "expand_templates_intro": "This special page takes wikitext and expands all templates in it recursively.\nIt also expands supported parser functions like\n<code><nowiki>{{</nowiki>#language:…}}</code> and variables like\n<code><nowiki>{{</nowiki>CURRENTDAY}}</code>.\nIn fact, it expands pretty much everything in double-braces.",
        "expand_templates_title": "Context title, for {{FULLPAGENAME}}, etc.:",
index 4605bad..035abcb 100644 (file)
        "expansion-depth-exceeded-category-desc": "La paĝo superis maksimuman profundecon de ekspando.",
        "expansion-depth-exceeded-warning": "Paĝo preterpasis la ekpansiprofundon.",
        "parser-unstrip-loop-warning": "Cirkloreferencon detektis",
-       "parser-unstrip-recursion-limit": "Rikurlimiton de analizopoj ($1) superis",
+       "unstrip-depth-warning": "Rikurlimiton de analizopoj ($1) superis",
        "converter-manual-rule-error": "Eraron detektis en mana lingvokonverta regulo",
        "undo-success": "La redakto estas malfarebla.\nBonvolu kontroli la jenan komparaĵon por certiĝi ĉu tio estas tio, kion vi volas, kaj konservi la ŝanĝojn malsupre por fine malfari la redakton.",
        "undo-failure": "Ne povis nuligi redakton pro konfliktaj intermezaj redaktoj.",
index 3c5b4ab..4355558 100644 (file)
        "expansion-depth-exceeded-category-desc": "Esta página sobrepasa la profundidad de expansión máxima.",
        "expansion-depth-exceeded-warning": "La página ha sobrepasado el límite de profundidad de expansión",
        "parser-unstrip-loop-warning": "Se ha detectado un bucle en la función \"unstrip\"",
-       "parser-unstrip-recursion-limit": "Se ha superado el límite de recursividad de la función \"unstrip\" ($1)",
+       "unstrip-depth-warning": "Se ha superado el límite de recursividad de la función \"unstrip\" ($1)",
        "converter-manual-rule-error": "Se ha detectado un error en una regla manual de conversión de idioma",
        "undo-success": "Puedes deshacer la edición. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces guarda los cambios para así efectuar la reversión.",
        "undo-failure": "No se ha podido deshacer la edición ya que otro usuario ha realizado una edición intermedia.",
        "recentchangesdays": "Días que mostrar en los cambios recientes:",
        "recentchangesdays-max": "Máximo {{PLURAL:$1|un día|$1 días}}",
        "recentchangescount": "N.º de ediciones que mostrar de manera predeterminada:",
-       "prefs-help-recentchangescount": "Esto incluye cambios recientes, historiales de páginas y registros.",
+       "prefs-help-recentchangescount": "Número máximo: 1000",
        "prefs-help-watchlist-token2": "Esta es la clave secreta del suministro web de tu lista de seguimiento.\nCualquiera que la conozca podrá consultar la lista, así que no la compartas.\n[[Special:ResetTokens|Puedes restablecerla si lo necesitas]].",
        "savedprefs": "Se han guardado tus preferencias.",
        "savedrights": "Se han guardado los grupos de {{GENDER:$1|usuario|usuaria}} de $1.",
index 029e7ca..6206b0b 100644 (file)
        "expansion-depth-exceeded-category-desc": "Lehekülg ületab hõrendussügavuse ülemmäära.",
        "expansion-depth-exceeded-warning": "Lehekülg ületas hõrendussügavuse.",
        "parser-unstrip-loop-warning": "''Unstrip''-funktsiooni silmus tuvastatud",
-       "parser-unstrip-recursion-limit": "''Unstrip''-funktsioonis rekursiooni piirmäär ületatud ($1)",
+       "unstrip-depth-warning": "''Unstrip''-funktsioonis rekursiooni piirmäär ületatud ($1)",
        "converter-manual-rule-error": "Tõrge keelevariandi käsivahetusreeglis",
        "undo-success": "Selle redaktsiooni käigus tehtud muudatusi saab eemaldada. Palun kontrolli allolevat võrdlust veendumaks, et tahad need muudatused tõepoolest eemaldada. Seejärel saad lehekülje salvestada.",
        "undo-failure": "Muudatust ei saa vahapeal tehtud redigeerimiste tõttu tühistada.",
index e375fd9..2b1f1af 100644 (file)
        "expansion-depth-exceeded-category-desc": "Orriak zabalkunde sakonera maximoa gainditzen du.",
        "expansion-depth-exceeded-warning": "Espantsio sakonera gainditu duten orrialdeak",
        "parser-unstrip-loop-warning": "Loop unstrip bat aurkitu da",
-       "parser-unstrip-recursion-limit": "Unstrip errekurtsio limitea gainditu da ($1)",
+       "unstrip-depth-warning": "Unstrip errekurtsio limitea gainditu da ($1)",
        "converter-manual-rule-error": "Akatsa aurkitu da hizkuntzen eskuszko konbertsio arauan",
        "undo-success": "Aldaketa desegin daiteke.\nMesedez beheko alderaketa egiaztatu, egin nahi duzuna hori dela frogatzeko, eta ondoren azpiko aldaketak gorde, aldaketa desegiten amaitzeko.",
        "undo-failure": "Ezin izan da aldaketa desegin tarteko aldaketekin gatazkak direla-eta.",
index f5d07ce..9086795 100644 (file)
        "expansion-depth-exceeded-category-desc": "رده برای صفحاتی که در آنها از عمق گسترش فراتر رفته است.",
        "expansion-depth-exceeded-warning": "صفحه حداکثر عمق بسط دادن تجاوز کرد",
        "parser-unstrip-loop-warning": "حلقه در دستور unstrip پیدا شد",
-       "parser-unstrip-recursion-limit": "از حداکثر ارجاع در دستور unstrip تجاوز شد ($1)",
+       "unstrip-depth-warning": "از حداکثر ارجاع در دستور unstrip تجاوز شد ($1)",
        "converter-manual-rule-error": "خطا در قوانین مبدل دستی زبان",
        "undo-success": "این ویرایش را می‌توان خنثی کرد.\nلطفاً تفاوت زیر را بررسی کنید تا تأیید کنید که این چیزی است که می‌خواهید انجام دهید، سپس تغییرات زیر را ذخیره کنید تا خنثی‌سازی ویرایش را به پایان ببرید.",
        "undo-failure": "به علت تعارض با ویرایش‌های میانی، این ویرایش را نمی‌توان خنثی کرد.",
        "recentchanges-summary": "آخرین تغییرات ویکی را در این صفحه پی‌گیری کنید.",
        "recentchanges-noresult": "در فاصله زمانی ارائه شده هیچ تغییری با این معیارهای صورت نگرفته است",
        "recentchanges-timeout": "این جستجو زمانش تمام شد. اگر مایلید کلیدواژه‌های دیگری را جستجو کنید.",
-       "recentchanges-network": "به دلیل خطای فنی، نتیجه‌ای بدست نیامد. لطفاً برای تازه‌سازی صفحخ مجدداُ تلاش کنید.",
+       "recentchanges-network": "به دلیل خطای فنی، نتیجه‌ای بدست نیامد. لطفاً برای تازه‌سازی صفحه مجدداً تلاش کنید.",
        "recentchanges-notargetpage": "نام صفحه را در بالا وارد کنید تا تغییرات مرتبط با آن صفحه را مشاهده کنید.",
        "recentchanges-feed-description": "آخرین تغییرات ویکی را در این خوراک پی‌گیری کنید.",
        "recentchanges-label-newpage": "این ویرایش صفحه‌ای تازه ایجاد کرد",
index ff77e18..bcc4a64 100644 (file)
@@ -55,7 +55,8 @@
                        "Alluk.",
                        "Tumm1",
                        "4shadoww",
-                       "Pahkiqaz"
+                       "Pahkiqaz",
+                       "Rueter"
                ]
        },
        "tog-underline": "Linkkien alleviivaus:",
        "passwordreset-emailelement": "Käyttäjätunnus: \n$1\n\nVäliaikainen salasana: \n$2",
        "passwordreset-emailsentemail": "Jos tämä on sinun tunnuksellesi rekisteröity sähköpostiosoite, salasanan uudistamisesta kertova viesti lähetetään.",
        "passwordreset-emailsentusername": "Jos on olemassa vastaava rekisteröity sähköpostiosoite, salasanan uudistamisesta kertova viesti lähetetään.",
+       "passwordreset-nosuchcaller": "Kutsuvaa funktiota ei ole olemassa: $1",
        "passwordreset-ignored": "Salasanan palauttamista ei käsitelty. Ehkä tarjoajaa ei ollut määritetty?",
        "passwordreset-invalidemail": "Virheellinen sähköpostiosoite",
        "passwordreset-nodata": "Käyttäjätunnusta ja salasanaa ei annettu",
        "expansion-depth-exceeded-category-desc": "Tämä sivu ylittää suurimman sallitun laajentamissyvyyden (expansion depth).",
        "expansion-depth-exceeded-warning": "Sivu ylitti laajentamissyvyyden.",
        "parser-unstrip-loop-warning": "Unstrip-silmukka havaittiin",
-       "parser-unstrip-recursion-limit": "Unstrip-rekursion enimmäissyvyys ($1) ylitettiin",
+       "unstrip-depth-warning": "Unstrip-rekursion enimmäissyvyys ($1) ylitettiin",
        "converter-manual-rule-error": "Kielivarianttisäännössä on virhe",
        "undo-success": "Kumoaminen voidaan suorittaa.\nVarmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen tallenna alla näkyvät muutokset.",
        "undo-failure": "Muokkausta ei voi kumota välissä olevien ristiriitaisten muutosten vuoksi.",
        "rcfilters-state-message-subset": "Tällä suodattimella ei ole vaikutusta, koska sen tulokset sisältyvät {{PLURAL:$2|seuraavaan laajempaan suodattimeen|seuraaviin laajempiin suodattimiin}} (kokeile korostusta sen erottamiseksi): $1",
        "rcfilters-state-message-fullcoverage": "Tässä ryhmässä kaikkien suodattimien valitseminen on sama, kuin ei valitse mitään, joten tällä suodattimella ei ole vaikutusta. Ryhmään sisältyy: $1",
        "rcfilters-filtergroup-authorship": "Muutoksen tekijä",
-       "rcfilters-filter-editsbyself-label": "Sinun tekemät muutokset",
+       "rcfilters-filter-editsbyself-label": "Sinun muutoksesi",
        "rcfilters-filter-editsbyself-description": "Tekemäsi muutokset.",
        "rcfilters-filter-editsbyother-label": "Muiden muutokset",
        "rcfilters-filter-editsbyother-description": "Muiden käyttäjien tekemät muutokset.",
        "rcfilters-filter-bots-description": "Automaattisilla työkaluilla tehdyt muokkaukset.",
        "rcfilters-filter-humans-label": "Ihminen (ei botti)",
        "rcfilters-filter-humans-description": "Ihmisten tekemät muokkaukset.",
-       "rcfilters-filtergroup-reviewstatus": "Tarkistuksen tila",
-       "rcfilters-filter-patrolled-label": "Tarkastetut",
-       "rcfilters-filter-patrolled-description": "Tarkastetut muokkaukset",
-       "rcfilters-filter-unpatrolled-label": "Ei tarkastetut",
-       "rcfilters-filter-unpatrolled-description": "Muutokset, joita ei ole tarkastettu",
+       "rcfilters-filtergroup-reviewstatus": "Sivun partioinnin status",
+       "rcfilters-filter-patrolled-label": "Partioidut",
+       "rcfilters-filter-patrolled-description": "Muokkaukset, jotka on merkitty partioiduiksi.",
+       "rcfilters-filter-unpatrolled-label": "Ei ole partioitu",
+       "rcfilters-filter-unpatrolled-description": "Muutokset, joita ei ole merkitty partioiduiksi.",
        "rcfilters-filtergroup-significance": "Merkitys",
        "rcfilters-filter-minor-label": "Pienet muutokset",
        "rcfilters-filter-minor-description": "Muokkaukset, jotka on merkitty pieniksi.",
        "rcfilters-typeofchange-conflicts-hideminor": "\"Muutoksen tyyppi\" on ristiriidassa \"Pienet muutokset\" -suodattimen kanssa. Joitain muutostyyppejä ei voida merkitä \"pieniksi\".",
        "rcfilters-filtergroup-lastRevision": "Viimeisimmät versiot",
        "rcfilters-filter-lastrevision-label": "Viimeisin versio",
-       "rcfilters-filter-lastrevision-description": "Vain viimeisin muutos sivulle.",
+       "rcfilters-filter-lastrevision-description": "Vain viimeisin muutos sivuun.",
        "rcfilters-filter-previousrevision-label": "Ei viimeisin muutos",
        "rcfilters-filter-previousrevision-description": "Kaikki muutokset, jotka eivät ole viimeisin versio.",
        "rcfilters-filter-excluded": "Poissuljettu",
        "upload-tryagain": "Lähetä muutettu tiedostokuvaus",
        "upload-tryagain-nostash": "Lähetä uudelleenlähetetty tiedosto ja muokattu kuvaus",
        "uploadnologin": "Et ole kirjautunut sisään",
-       "uploadnologintext": "Sinun pitää $1, jotta voit tallentaa tiedostoja.",
+       "uploadnologintext": "Ole hyvä ja $1, jotta voit tallentaa tiedostoja.",
        "upload_directory_missing": "Tallennushakemisto $1 puuttuu, eikä palvelin pysty luomaan sitä.",
        "upload_directory_read_only": "Palvelimella ei ole kirjoitusoikeuksia tallennushakemistoon $1.",
        "uploaderror": "Tallennusvirhe",
        "uploadstash-bad-path": "\nPolkua ei ole.",
        "uploadstash-bad-path-invalid": "Polku ei kelpaa.",
        "uploadstash-bad-path-unknown-type": "Tuntematon tyyppi \"$1\".",
+       "uploadstash-bad-path-bad-format": "Avain \"$1\" ei ole sopivassa muodossa.",
+       "uploadstash-file-not-found": "Avainta \"$1\" ei löytynyt kätköstä.",
+       "uploadstash-file-not-found-no-object": "Ei voitu luoda paikallista tiedostokohdetta pienoiskuvalle.",
+       "uploadstash-file-not-found-missing-content-type": "Puuttuva sisältötyypin ylätunniste",
        "uploadstash-not-logged-in": "Käyttäjää ei ole kirjautunut sisään, tiedostojen on kuuluttava käyttäjille.",
+       "uploadstash-wrong-owner": "Tämä tiedosto ($1) ei kuulu nykyiselle käyttäjälle.",
        "uploadstash-no-such-key": "Ei tälläistä avainta ($1), ei voi poistaa.",
        "uploadstash-no-extension": "Laajennus on tyhjä.",
        "uploadstash-zero-length": "Tiedoston pituus on nolla.",
        "apisandbox-results-error": "Tapahtui virhe ladattaessa API-kyselyn vastausta: $1",
        "apisandbox-request-format-url-label": "URL-kyselymerkkijono",
        "apisandbox-request-url-label": "Pyynnön URL",
+       "apisandbox-request-json-label": "Pyydetty JSON:",
        "apisandbox-request-time": "Pyyntöön kulunut aika: {{PLURAL:$1|$1 ms}}",
        "apisandbox-results-fixtoken": "Korjaa \"token\" ja lähetä uudelleen",
        "apisandbox-alert-page": "Tällä sivulla olevat kentät eivät ole kelvollisia.",
        "booksources-text": "Alla linkkejä ulkopuolisiin sivustoihin, joilla myydään uusia ja käytettyjä kirjoja. Sivuilla voi myös olla lisätietoa kirjoista.",
        "booksources-invalid-isbn": "Annettu ISBN-numero ei ole kelvollinen. Tarkista alkuperäisestä lähteestä kirjoitusvirheiden varalta.",
        "magiclink-tracking-rfc": "Sivut, jotka käyttävät RFC-taikalinkkejä",
+       "magiclink-tracking-rfc-desc": "Tämä sivu käyttää RFC-taikalinkkejä. Katso sivulta [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] miten siirtyä käyttämään.",
        "magiclink-tracking-pmid": "Sivut, jotka käyttävät PMID-taikalinkkejä",
+       "magiclink-tracking-pmid-desc": "Tämä sivu käyttää PMID-taikalinkkejä. Katso sivulta\n[https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] miten siirtyä käyttämään.",
        "magiclink-tracking-isbn": "Sivut, jotka käyttävät ISBN-taikalinkkejä",
+       "magiclink-tracking-isbn-desc": "Tämä sivu käyttää ISBN-taikalinkkejä. Katso sivulta [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] miten siirtyä käyttämään.",
        "specialloguserlabel": "Suorittaja:",
        "speciallogtitlelabel": "Kohde (sivu tai {{ns:user}}:käyttäjänimi):",
        "log": "Lokit",
        "rollback-success": "Käyttäjän {{GENDER:$3|$1}} tekemät muokkaukset kumottiin ja sivu palautettiin käyttäjän {{GENDER:$4|$2}} versioon.",
        "rollback-success-notify": "Kumottiin käyttäjän $1 muokkaukset; palautettiin viimeiseen käyttäjän $2 versioon. [$3 Näytä muutokset]",
        "sessionfailure-title": "Istuntovirhe",
-       "sessionfailure": "Näyttää siltä, että tämänhetkisessä istunnossasi on jokin ongelma. \nTämä toiminto on peruutettu varotoimena, jotta estetään istunnon kaappaaminen.\nMene aikaisemmalle sivulle ja päivitä se. Yritä sitten uudelleen.",
+       "sessionfailure": "Näyttää siltä, että tämänhetkisessä istunnossasi on jokin ongelma; \ntämä toiminto on peruutettu varotoimena istunnon kaappaamisen estämiseksi.\nLähetä lomake uudelleen.",
        "changecontentmodel": "Muuta sivun sisältömallia",
        "changecontentmodel-legend": "Muuta sisältömallia",
        "changecontentmodel-title-label": "Sivun otsikko",
        "tag-mw-removed-redirect-description": "Muokkaukset, jotka muuttavat olemassa olevan uudelleenohjauksen ei-uudelleenohjaukseksi",
        "tag-mw-changed-redirect-target": "Uudelleenohjauksen kohde muutettu",
        "tag-mw-changed-redirect-target-description": "Muokkaukset, jotka muuttavat uudelleenohjauksen kohdetta",
+       "tag-mw-blank": "Tyhjennys",
        "tag-mw-blank-description": "Muokkaukset, jotka tyhjentävät sivun",
        "tag-mw-replace": "Korvattu",
        "tag-mw-replace-description": "Muokkaukset, joissa on poistettu yli 90 % sivun sisällöstä",
index f8fc0fd..47b7de6 100644 (file)
        "expansion-depth-exceeded-category-desc": "La page dépasse la profondeur d’expansion maximale.",
        "expansion-depth-exceeded-warning": "Page dépassant la profondeur d’expansion maximale",
        "parser-unstrip-loop-warning": "Boucle non dépilable détectée",
-       "parser-unstrip-recursion-limit": "Limite de récursion non dépilable dépassée ($1)",
+       "unstrip-depth-warning": "Limite de récursion non dépilable dépassée ($1)",
+       "unstrip-depth-category": "Pages où la limite de profondeur de développement est dépassée",
+       "unstrip-size-warning": "Limite de taille de développement dépassée ($1)",
+       "unstrip-size-category": "Pages où la limite de taille de développement est dépassée",
        "converter-manual-rule-error": "Erreur détectée dans la règle manuelle de conversion de langue",
        "undo-success": "Cette modification va être annulée.\nVeuillez vérifier les différences ci-dessous, puis publier l’annulation si c’est bien ce que vous voulez faire.",
        "undo-failure": "Cette modification ne peut pas être défaite : cela entrerait en conflit avec les modifications intermédiaires.",
        "stub-threshold-disabled": "Désactivé",
        "recentchangesdays": "Nombre de jours à afficher dans les modifications récentes :",
        "recentchangesdays-max": "(maximum $1 jour{{PLURAL:$1||s}})",
-       "recentchangescount": "Nombre de modifications à afficher par défaut :",
-       "prefs-help-recentchangescount": "Ceci inclut les modifications récentes, les pages d'historiques et les journaux.",
+       "recentchangescount": "Nombre de modifications à afficher par défaut dans les modifications récentes, les historiques de page et les journaux :",
+       "prefs-help-recentchangescount": "Nombre maximal : 1000",
        "prefs-help-watchlist-token2": "Voici la clé secrète du flux Web de votre liste de suivi.\nToute personne la connaissant pourra lire votre liste de suivi, ne la communiquez donc pas.\nSi nécessaire, [[Special:ResetTokens|vous pouvez la réinitialiser ici]].",
        "savedprefs": "Les préférences ont été sauvegardées.",
        "savedrights": "Le groupes de l'utilisat{{GENDER:$1|eur|rice}} $1 ont été sauvegardés.",
        "limitreport-templateargumentsize-value": "$1/$2 {{PLURAL:$2|octet|octets}}",
        "limitreport-expansiondepth": "Profondeur d’expansion maximale",
        "limitreport-expensivefunctioncount": "Nombre de fonctions d’analyse coûteuses",
+       "limitreport-unstrip-depth": "Profondeur de récursion de développement",
+       "limitreport-unstrip-depth-value": "$1/$2",
+       "limitreport-unstrip-size": "Taille de développement après expansion",
+       "limitreport-unstrip-size-value": "$1/$2 {{PLURAL:$2|octet|octets}}",
        "expandtemplates": "Expansion des modèles",
        "expand_templates_intro": "Cette page spéciale accepte un texte wiki et réalise récursivement l’expansion de tous les modèles qu’il contient.\nElle réalise aussi l’expansion des fonctions d’analyse prises en charge telles que\n<code><nowiki>{{</nowiki>#language:...}}</code> et des variables telles que\n<code><nowiki>{{</nowiki>CURRENTDAY}}</code>.\nEn fait, elle réalise l’expansion de pratiquement tout ce qui est encadré par des doubles accolades.",
        "expand_templates_title": "Titre de la page, si le code utilise {{FULLPAGENAME}}, etc. :",
index c9ea180..ee9842a 100644 (file)
        "expansion-depth-exceeded-category-desc": "La pâge dèpâsse la provondior maximon d’èxpension.",
        "expansion-depth-exceeded-warning": "Pâge que dèpâsse la provondior d’èxpension",
        "parser-unstrip-loop-warning": "Boclla pas dèmontâbla dècelâye",
-       "parser-unstrip-recursion-limit": "Limita de rècursion pas dèmontâbla dèpassâye ($1)",
+       "unstrip-depth-warning": "Limita de rècursion pas dèmontâbla dèpassâye ($1)",
        "converter-manual-rule-error": "Fôta dècelâye dedens la règlla de convèrsion manuâla de lengoua",
        "undo-success": "Lo changement pôt étre dèfêt.\nSe vos plét, controlâd la comparèson ce-desot por vos assurar qu’o est franc cen que vos voléd fâre, et pués encartâd los changements por chavonar sa dèfêta.",
        "undo-failure": "Lo changement at pas possu étre dèfêt a côsa d’una disputa avouéc des changements entèrmèdièros.",
index 97ef571..930822a 100644 (file)
        "expansion-depth-exceeded-category-desc": "Detdiar sidj hää tuföl ütjwidjangen.",
        "expansion-depth-exceeded-warning": "Detdiar sidj hää tuföl ütjwidjangen (expansion)",
        "parser-unstrip-loop-warning": "Diar as en jinsidjag ferwisang",
-       "parser-unstrip-recursion-limit": "Tuföl jinsidjag ferwisangen bi $1",
+       "unstrip-depth-warning": "Tuföl jinsidjag ferwisangen bi $1",
        "converter-manual-rule-error": "Bi't manuel reegel för't spriakferanrang lääpt wat skiaf.",
        "undo-success": "Detdiar feranrang koon turag nimen wurd. \nLuke oner, of dü det uk würelk du wel, an do seekre din feranrangen.",
        "undo-failure": "Det feranrang küd ei stregen wurd, auer di kirew uuntesken feranert wurden as.",
index 036ef01..fd82600 100644 (file)
        "expansion-depth-exceeded-category-desc": "Tha an leudachadh san duilleag nas doimhne na tha ceadaichte.",
        "expansion-depth-exceeded-warning": "Bha an leudachadh san duilleag na bu dhoimhne na tha ceadaichte",
        "parser-unstrip-loop-warning": "Mhothaich sinn do lùb unstrip",
-       "parser-unstrip-recursion-limit": "Chaidheas thairis air crìoch unstrip recursion ($1)",
+       "unstrip-depth-warning": "Chaidheas thairis air crìoch unstrip recursion ($1)",
        "converter-manual-rule-error": "Mhothaich sinn do mhearachd san riaghailt iompachadh làimhe airson cànan",
        "undo-success": "Gabhaidh an deasachadh seo a neo-dhèanamh.\nThoir sùil air a' choimeas gu h-ìosal is dearbhaich gur e sin a tha fa-near dhut agus sàbhail na h-atharraichean gu h-ìosal gus neo-dhèanamh an deasachaidh a choileanadh.",
        "undo-failure": "Cha b' urrainn dhuinn an deasachadh a neo-dhèanamh air sgàth 's gun robh deasachaidhean eile sa mheadhan.",
index 0e7a58e..efb5db1 100644 (file)
        "expansion-depth-exceeded-category-desc": "A páxina supera a profundidade de expansión máxima.",
        "expansion-depth-exceeded-warning": "A páxina supera a profundidade de expansión",
        "parser-unstrip-loop-warning": "Detectouse un bucle inamovible",
-       "parser-unstrip-recursion-limit": "Excedeuse o límite de recursión inamovible ($1)",
+       "unstrip-depth-warning": "Excedeuse o límite de recursión inamovible ($1)",
        "converter-manual-rule-error": "Detectouse un erro na regra manual de conversión da lingua",
        "undo-success": "A edición pódese desfacer.\nComprobe a comparación que aparece a continuación para confirmar que isto é o que desexa facer; despois, garde os cambios para desfacer a edición.",
        "undo-failure": "Non se pode desfacer a edición debido a un conflito con algunha das edicións intermedias.",
index a56016a..3f4c1ab 100644 (file)
@@ -37,7 +37,7 @@
        "tog-shownumberswatching": "Popobilohe jumula lo ta he'awasiyalo",
        "tog-oldsig": "Pali lo ulu'umu masatiya",
        "tog-fancysig": "Popopasiya pali lo'ulu'u odelo tuladuwiki (diyalu tuwawu pranala otomatis)",
-       "tog-uselivepreview": "Popohunawa mopobilohu langsung",
+       "tog-uselivepreview": "Popobilohe pratayang wawu ja detohe ulangi halaman",
        "tog-forceeditsummary": "Popo'eelawa wa'u wonu dosi monguba diipo otuwa",
        "tog-watchlisthideown": "Wantoa u iluba'u to daputari lo he'awasiyalo",
        "tog-watchlisthidebots": "Wanto'a u iluba lo bot to daputari lo he'awasiyalo",
index 9c1dcfe..19c3af1 100644 (file)
        "expansion-depth-exceeded-category-desc": "D Syte iberschrytet di maximal Expandierigstiefi.",
        "expansion-depth-exceeded-warning": "Die Syte het d Expansionsdiefi überschritte.",
        "parser-unstrip-loop-warning": "Zirkelbezug festgstellt",
-       "parser-unstrip-recursion-limit": "Rekursionsgränz bim Ufflöse überschritte ($1)",
+       "unstrip-depth-warning": "Rekursionsgränz bim Ufflöse überschritte ($1)",
        "converter-manual-rule-error": "Bi dr manuälle Sprochkonvertierigsregle isch e Fähler entdeckt wore.",
        "undo-success": "Zum die Änderig ruckgängig z mache, kontrollier bitte d Bearbeitig in dr Verglichsaasicht un druck derno uf „Syte spichere“.",
        "undo-failure": "D Änderig het nid chenne ruckgängig gmacht wäre, wel dää Abschnitt mittlerwyli gänderet woren isch.",
index a291093..e3a7364 100644 (file)
        "expansion-depth-exceeded-category-desc": "עומק ההרחבה בדף גדול מהעומק המרבי.",
        "expansion-depth-exceeded-warning": "עומק ההרחבה בדף גדול מדי",
        "parser-unstrip-loop-warning": "נמצאה לולאה בפריסה",
-       "parser-unstrip-recursion-limit": "עומק הרקורסיה של הפריסה עבר את המגבלה ($1)",
+       "unstrip-depth-warning": "עומק הרקורסיה של הפריסה עבר את המגבלה ($1)",
+       "unstrip-depth-category": "דפים שבהם עומק הפריסה גדול מדי",
+       "unstrip-size-warning": "אורך הפריסה גדול מדי ($1)",
+       "unstrip-size-category": "דפים שבהם אורך הפריסה גדול מדי",
        "converter-manual-rule-error": "התגלתה שגיאה בכלל המרת שפה ידני",
        "undo-success": "ניתן לבטל את העריכה.\nאנא {{GENDER:|בדוק|בִדקי|בִדקו}} את השוואת הגרסאות שלהלן כדי לוודא שזה אכן מה ש{{GENDER:|אתה רוצה|את רוצה|אתם רוצים}} לעשות, ולאחר מכן {{GENDER:|שמור|שִמרי|שִמרו}} את השינויים למטה כדי לסיים את ביטול העריכה.",
        "undo-failure": "לא ניתן היה לבטל את העריכה עקב התנגשות עם עריכות מאוחרות יותר.",
        "stub-threshold-disabled": "מבוטל",
        "recentchangesdays": "מספר הימים שמוצגים בדף השינויים האחרונים:",
        "recentchangesdays-max": "לכל היותר {{PLURAL:$1|יום אחד|יומיים|$1 ימים}}",
-       "recentchangescount": "מספר העריכות שמוצגות כברירת מחדל:",
-       "prefs-help-recentchangescount": "×\94×\94×¢×\93פ×\94 ×\94×\96×\90ת ×\9b×\95×\9c×\9cת ×\90ת ×\93×£ ×\94ש×\99× ×\95×\99×\99×\9d ×\94×\90×\97ר×\95× ×\99×\9d, ×\93פ×\99 ×\94×\99ס×\98×\95ר×\99×\99ת ×\92רס×\90×\95ת ×\95×\99×\95×\9e× ×\99×\9d.",
+       "recentchangescount": "מספר העריכות שמוצגות כברירת מחדל בדף השינויים האחרונים, בדפי היסטוריית גרסאות ובדפי יומנים:",
+       "prefs-help-recentchangescount": "×\9eספר ×\9eקס×\99×\9e×\9c×\99: 1000",
        "prefs-help-watchlist-token2": "זהו המפתח הסודי ל־Feed האינטרנטי של רשימת המעקב שלך.\nכל מי שיודע אותו יכול לקרוא את רשימת המעקב שלך, לכן אין לשתף אותו.\nבמקרה הצורך, אפשר [[Special:ResetTokens|לאפס את המפתח]].",
        "savedprefs": "ההעדפות שלך נשמרו.",
        "savedrights": "קבוצות {{GENDER:$1|המשתמש|המשתמשת}} של \"$1\" נשמרו.",
        "limitreport-templateargumentsize-value": "{{PLURAL:$2|$1 מתוך בית אחד|$1 מתוך $2 בתים}}",
        "limitreport-expansiondepth": "עומק הפריסה הגבוה ביותר",
        "limitreport-expensivefunctioncount": "מספר פונקציות המפענח שגוזלות משאבים",
+       "limitreport-unstrip-depth": "עומק הרקורסיה של הפריסה",
+       "limitreport-unstrip-depth-value": "$1 מתוך $2",
+       "limitreport-unstrip-size": "אורך הפריסה לאחר ההרחבה",
+       "limitreport-unstrip-size-value": "{{PLURAL:$1|בית אחד|$1 בתים}} מתוך {{PLURAL:$2|בית אחד|$2 בתים}}",
        "expandtemplates": "פריסת תבניות",
        "expand_templates_intro": "הדף המיוחד הזה מקבל כמות מסוימת של טקסט ויקי ופורס את כל התבניות שבתוכו באופן רקורסיבי.\nהוא גם פורס פונקציות מפענח כגון\n<code><nowiki>{{</nowiki>#תנאי:...}}</code>, ומשתנים כגון\n<code><nowiki>{{</nowiki>יום נוכחי}}</code>.\nלמעשה, הוא פורס פחות או יותר כל דבר בסוגריים מסולסלים כפולים.",
        "expand_templates_title": "כותרת ההקשר לפענוח, בשביל משתנים כגון {{FULLPAGENAME}} וכדומה:",
index a36d1d3..014c8e1 100644 (file)
        "expansion-depth-exceeded-category-desc": "यह पृष्ठ विस्तार गहराई पार करता है।",
        "expansion-depth-exceeded-warning": "पृष्ठ में विस्तार गहराई पार की गई है",
        "parser-unstrip-loop-warning": "Unstrip लूप पाया गया",
-       "parser-unstrip-recursion-limit": "Unstrip पुनरावर्तन सीमा पार की गई ($1)",
+       "unstrip-depth-warning": "Unstrip पुनरावर्तन सीमा पार की गई ($1)",
        "converter-manual-rule-error": "मैन्यूअल भाषा परिवर्तन नियम में त्रुटि",
        "undo-success": "यह संपादन पूर्ववत किया जा सकता है।\nऐसा करने के लिये कृपया निम्नलिखित पाठ को ध्यान से देखकर बदलाव संजोयें।",
        "undo-failure": "इस बीच अन्य बदलाव होने के कारण यह संपादन पूर्ववत करना संभव नहीं है।",
        "limitreport-templateargumentsize-value": "$1/$2 {{PLURAL:$2|बाइट}}",
        "limitreport-expansiondepth": "उच्चतम विस्तार गहराई",
        "limitreport-expensivefunctioncount": "महंगे पार्सर फंक्शनों की संख्या",
+       "limitreport-unstrip-size-value": "$1/$2 {{PLURAL:$2|बाइट|बाइट्स}}",
        "expandtemplates": "साँचा विस्तार",
        "expand_templates_intro": "यह विशेष पृष्ठ विकिपाठ्य इनपुट लेता है और उसके भीतर के सभी साँचों को विस्तृत करता है।\nयह <code><nowiki>{{</nowiki>#language:…}}</code> जैसे पार्सर फ़ंक्शन्स और\n<code><nowiki>{{</nowiki>CURRENTDAY}}</code> जैसे परिवर्तनशील मानों का भी विस्त्रण करता है।\nयह दोहरे कोष्ठकों में प्रेषित लगभग सब कुछ विस्तृत करता है।",
        "expand_templates_title": "कन्टेक्स्ट शीर्षक, जैसे {{FULLPAGENAME}} आदि के लिए:",
index b96f5d0..f470fdd 100644 (file)
        "expansion-depth-exceeded-category-desc": "Panna, maximum expansion depth, se jaada hae.",
        "expansion-depth-exceeded-warning": "Panna expansion depth ke exceed karis hae",
        "parser-unstrip-loop-warning": "Unstrip loop ke pawa gai shae",
-       "parser-unstrip-recursion-limit": "Unstrip recursion limit ke exceed karaa gais hae ($1)",
+       "unstrip-depth-warning": "Unstrip recursion limit ke exceed karaa gais hae ($1)",
        "converter-manual-rule-error": "Bhasa ke anuwaad kare waala niyam me galti hae",
        "undo-success": "Ii badlao ke pahile jaise karaa jaae sake hai.\nNiche ke comparison ke check kar ke dekho ki aap yahi kare mangta rahaa, aur fir niche ke badlao ke save kar ke aapan badlao ke pahile jaise karo.",
        "undo-failure": "Ii badalo ke paile jaise nai karaa jaae sake hai kahe ki biich me badlao hai.",
index 79d086a..e0eacc7 100644 (file)
        "expansion-depth-exceeded-category": "Mga panid kon diin ang kadalumon sang pagpalapad nagsobra na",
        "expansion-depth-exceeded-warning": "Ang panid nagsobra na sa kadalumon sang pagpalapad",
        "parser-unstrip-loop-warning": "May loop nga unstrip nga nakita",
-       "parser-unstrip-recursion-limit": "Naglapaw ka na sa ginapasugtan nga pagliwat-liwat ($1)",
+       "unstrip-depth-warning": "Naglapaw ka na sa ginapasugtan nga pagliwat-liwat ($1)",
        "converter-manual-rule-error": "May sala nga nakita sa mano-mano nga pagsulunsan sa pagbadbad sang lenggwahe",
        "undo-success": "Ang pag-ilis indi mahuman.\nPalihog lantaw sang pagbaki-baki sa dalom agod to nga mapamatud-an kon amo gid man sini ang imo luyag buhaton, dayon tipona ang mga pagbag-o sa dalom agod to nga matapos ang pagliwat sang pag-ilis.",
        "undo-failure": "Ang pag-ilis indi na maliwat pa tungod sang nagakonplikto nga mga pang-tunga nga pag-ilis.",
index 5b96d4d..1b66db2 100644 (file)
        "userlogout": "Odjavi se",
        "notloggedin": "Niste prijavljeni",
        "userlogin-noaccount": "Nemate suradnički račun?",
-       "userlogin-joinproject": "Pridružite se {{SITENAME}}",
+       "userlogin-joinproject": "Pridružite se projektu {{SITENAME}}",
        "createaccount": "Stvori račun",
        "userlogin-resetpassword-link": "Zaboravili ste zaporku?",
        "userlogin-helplink2": "Pomoć pri prijavi",
        "expansion-depth-exceeded-category": "Stranice s prevelikom dubinom proširenja",
        "expansion-depth-exceeded-warning": "Na ovoj stranici dubina proširenja je prevelika",
        "parser-unstrip-loop-warning": "Nedopuštena petlja",
-       "parser-unstrip-recursion-limit": "Dosegnuto je ograničenje rekurzije ($1)",
+       "unstrip-depth-warning": "Dosegnuto je ograničenje rekurzije ($1)",
        "converter-manual-rule-error": "Pronađena je pogrješka u pravilu ručnog prijevoda",
        "undo-success": "Izmjenu je moguće ukloniti.\nMolimo Vas, usporedite niže navedene razlike u inačicama kako biste bili sigurni da ovo zaista želite učiniti, te sačuvajte stranicu i izmjene će biti uklonjene.",
        "undo-failure": "Ova izmjena ne može biti uklonjena zbog postojanja međuinačica.",
index b9e8dcf..6241578 100644 (file)
        "expansion-depth-exceeded-category": "Seite, wo die Expansionstiefe überschritt honn",
        "expansion-depth-exceeded-warning": "Die Seit hot die Expansionstiefe üwerschritt.",
        "parser-unstrip-loop-warning": "Zirkelbezuch festgestellt",
-       "parser-unstrip-recursion-limit": "Rekursionsgrenz beim Ufflöse üwerschritt ($1)",
+       "unstrip-depth-warning": "Rekursionsgrenz beim Ufflöse üwerschritt ($1)",
        "converter-manual-rule-error": "Bei der manuelle Sprochkonvertierungsrechel woard en Fehler entdeckt.",
        "undo-success": "Die Beoorbeitung kann rückgänchig gemacht werre.\nBittschön prüf den Vergleich do unne, um sicherzustelle, dass du das tun möchst, und speichre dann do unne deine Ändrunge, um die Beoorbeitung rückgängig zu mache.",
        "undo-failure": "Die Ännrung konnt net rückgängich gemacht sin, weil der betroffne Abschnitt zwischenzeitlich verännert woard.",
index 2412e0f..185a60d 100644 (file)
        "expansion-depth-exceeded-category-desc": "Strona překroša maksimalnu ekspansisku hłubokosć.",
        "expansion-depth-exceeded-warning": "Strona je ekspansisku hłubokosć překročił",
        "parser-unstrip-loop-warning": "Njeskónčna sekla namakana",
-       "parser-unstrip-recursion-limit": "Rekursiska hranica překročena ($1)",
+       "unstrip-depth-warning": "Rekursiska hranica překročena ($1)",
        "converter-manual-rule-error": "Zmylk w manuelnym prawidle rěčneho konwertowanja namakany",
        "undo-success": "Wersija je so wuspěšnje wotstroniła. Prošu přepruwuj deleka w přirunanskim napohledźe, hač twoja změna bu přewzata a klikń potom na „Składować”, zo by změnu składował.",
        "undo-failure": "Wobdźěłanje njehodźeše so wotstronić, dokelž wotpowědny wotrězk bu mjeztym změnjeny.",
index 822d64e..a38b78c 100644 (file)
        "expansion-depth-exceeded-category-desc": "Az oldal meghaladja a maximális expanziós mélységet.",
        "expansion-depth-exceeded-warning": "A lap meghaladta az engedélyezett kiterjesztési mélységet",
        "parser-unstrip-loop-warning": "Unstrip hurok észlelve",
-       "parser-unstrip-recursion-limit": "Túl mély unstrip rekurzió: $1",
+       "unstrip-depth-warning": "Túl mély unstrip rekurzió: $1",
        "converter-manual-rule-error": "Hiba van a kézi nyelvi konverziós szabályban",
        "undo-success": "A szerkesztés visszavonható. Kérlek ellenőrizd alább a változásokat, hogy valóban ezt szeretnéd-e tenni, majd kattints a lap mentése gombra a visszavonás véglegesítéséhez.",
        "undo-failure": "A szerkesztést nem lehet automatikusan visszavonni vele ütköző későbbi szerkesztések miatt.",
index fbb1bec..4910918 100644 (file)
        "expansion-depth-exceeded-category-desc": "Le pagina excede le profunditate de expansion maxime.",
        "expansion-depth-exceeded-warning": "Le profunditate de expansion in iste pagina excede le limite",
        "parser-unstrip-loop-warning": "Bucla de \"unstrip\" detegite",
-       "parser-unstrip-recursion-limit": "Limite de recursion de \"unstrip\" excedite ($1)",
+       "unstrip-depth-warning": "Limite de recursion de \"unstrip\" excedite ($1)",
        "converter-manual-rule-error": "Error detegite in le regula manual de conversion de lingua",
        "undo-success": "Le modification pote esser disfacite.\nPer favor controla le comparation infra pro verificar que tu vole facer isto, e postea salveguarda le modificationes infra pro assi disfacer le modification.",
        "undo-failure": "Le modification non poteva esser annullate a causa de conflicto con modificationes intermedie.",
index 1525a1f..4e58912 100644 (file)
        "expansion-depth-exceeded-category-desc": "Halaman yang melebihi kedalaman luas maksimum.",
        "expansion-depth-exceeded-warning": "Page exceeded the expansion depth",
        "parser-unstrip-loop-warning": "Unstrip loop detected",
-       "parser-unstrip-recursion-limit": "Unstrip recursion limit exceeded ($1)",
+       "unstrip-depth-warning": "Unstrip recursion limit exceeded ($1)",
        "converter-manual-rule-error": "Kesalahan terdeteksi di aturan manual konversi bahasa",
        "undo-success": "Suntingan ini dapat dibalikkan. Silakan periksa perbandingan di bawah untuk meyakinkan bahwa benar itu yang Anda ingin lakukan, lalu simpan perubahan tersebut untuk menyelesaikan pembalikkan suntingan.",
        "undo-failure": "Suntingan ini tidak dapat dibalikkan karena konflik penyuntingan antara.",
index 679152d..7af5424 100644 (file)
        "expansion-depth-exceeded-category-desc": "Ti panid ket nasurokanna ti kaaduan ti kauneg ti panagpadakkel.",
        "expansion-depth-exceeded-warning": "Ti panid ket nasurokanna ti kauneg ti panagpadakkel",
        "parser-unstrip-loop-warning": "Nakaduktal ti di-naukisan a silo",
-       "parser-unstrip-recursion-limit": "Nalabsan ti patingga ti panagdullit ti di-naukisan ($1)",
+       "unstrip-depth-warning": "Nalabsan ti patingga ti panagdullit ti di-naukisan ($1)",
        "converter-manual-rule-error": "Adda biddut a naduktalan iti manual nga alagaden ti panagbalbaliw ti pagsasao",
        "undo-success": "Mabalin a maisubli ti panagurnos.\nPangngaasi a kitaen ti panangiyasping dita baba tapno maammuan no daytoy ti kayatmo nga aramiden, ken kalpasanna idulin dagiti sinukatan dita baba tapno malpas ti panangisubli ti inurnos.",
        "undo-failure": "Ti inurnos ket saan a maipasubli gapu ta adda dagiti nakisinnungat a patingnga a naurnos.",
index 152c8ba..c1201c7 100644 (file)
@@ -56,7 +56,7 @@
        "tog-watchlisthideanons": "Celar de la listo l'editadi facita da anonima redakteri",
        "tog-watchlisthidepatrolled": "Celez patroliita chanji en la surveyo-listo",
        "tog-watchlisthidecategorization": "Celar la kategorizeso di pagini",
-       "tog-ccmeonemails": "Sendez a me exemplero di e-posti quin me sendos ad altra uzanti",
+       "tog-ccmeonemails": "Sendez a me exemplero di e-posti quin me sendos ad altra uzeri",
        "tog-diffonly": "Ne montrez pagino kontenajo sub diferi",
        "tog-showhiddencats": "Montrar celita kategorii",
        "tog-norollbackdiff": "Omisar difero-komparo pos retrorulo",
        "prefs-watchlist-edits-max": "Maxima nombro: 1000",
        "prefs-misc": "Mixaji",
        "prefs-resetpass": "Chanjar pasovorto",
+       "prefs-email": "Selekti pri e-posto (e-mail)",
        "prefs-rendering": "Aspekto",
        "saveprefs": "Registragar",
+       "restoreprefs": "Restaurar omna preferaji 'default' (en omna secioni)",
        "prefs-editing": "Grandeso dil areo por texto",
        "searchresultshead": "Preferaji di la rezultaji dil sercho",
        "recentchangesdays": "Dii montrota en la recenta chanji:",
        "timezoneregion-indian": "Indiana Oceano",
        "timezoneregion-pacific": "Pacifico",
        "allowemail": "Permisez e-posti de altra uzanti",
+       "email-allow-new-users-label": "Permisez e-posti de la nova uzeri",
        "prefs-namespaces": "Nomari",
        "prefs-files": "Arkivi",
+       "prefs-emailconfirm-label": "Konfirmado dil e-posto (e-mail):",
        "youremail": "Vua e-adreso:",
        "username": "{{GENDER:$1|Uzeronomo}}:",
        "prefs-memberingroups": "{{GENDER:$2|Membro}} di {{PLURAL:$1|grupo|grupi}}:",
        "yourrealname": "Reala nomo:",
        "yourlanguage": "Linguo:",
        "yournick": "Signaturo:",
+       "prefs-help-signature": "Komenti en la diskuto-pagini mustas signatesar, skribante 4 tildi (<nowiki>~~~~</nowiki>), qui transformesos en vua signaturo ed en l'indiko di la horo e dio quan vu signatis ol.",
        "badsiglength": "Vua signaturo es tro longa.\nOl mustas ne havar plu kam $1 {{PLURAL:$1|litero|literi}}.",
        "yourgender": "Quale vu preferas esar priskribata?",
        "gender-unknown": "Lor mencionar vu, la programaro uzos sexuo-neutrala vorti tam ofte kam posibla",
        "gender-male": "Ilu redaktas wikiopagini",
        "gender-female": "Elu redaktas wikiopagini",
+       "prefs-help-gender": "Indikar ica preferajo esas fakultativa.\nLa softwaro uzas ol por mencionar vu al altra uzeri, uzante l'adequata genro gramatikala.\nIca informo videsos publike.",
        "email": "Elek-posto",
+       "prefs-help-realname": "Uzar vua reala nomo esas fakultativa.\nSe vu uzos ol, to povas uzesar por atribuar a vu vua laboro.",
+       "prefs-help-email": "Informar vua adreso di e-posto esas fakultativa, tamen ol bezonesos se vu oblivior vua pasovorto e bezonor la sendo di nova pasovorto.",
+       "prefs-help-email-others": "Vu povas anke selektar se permisos altri skribar a vu per e-posto, per ligilo en vua uzanto-pagino o diskuto-pagino.\nVua e-posto adreso ne revelesos, kande l'altri skribos a vu.",
        "prefs-help-email-required": "E-postala adreso es bezonata.",
        "prefs-info": "Bazala informeso",
        "prefs-signature": "Signaturo",
        "recentchanges-legend-heading": "<strong>Noto:</strong>",
        "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-group-results-by-page": "Grupigar la rezulti segun pagino",
        "rcfilters-activefilters": "Agiva filtrili",
        "rcfilters-advancedfilters": "Rafinita filtrili",
        "rcfilters-show-new-changes": "Videz la maxim recenta chanji",
        "ancientpages": "Maxim anciena artikli",
        "move": "Movar",
        "movethispage": "Rinomizar ica pagino",
-       "unusedimagestext": "La sequanta arkivi existas ma ne enterigita en irga pagino.\nVoluntez remarkar ke altra ret-siti povus ligar ad arkivo per direta URL, e do ol povus esar listizita hike malgre ke on aktive uzas lo.",
+       "unusedimagestext": "La sequanta arkivi existas, ma ne esas enterigita en irga pagino.\nVoluntez remarkar ke altra ret-siti povus ligesar ad arkivo per direta URL, e do ol povus esar listizita hike malgre ke on aktive uzas lo.",
        "notargettitle": "Ne esas vakua pagino",
        "notargettext": "Vu ne definis en qua pagino agar ica funciono.",
        "pager-newer-n": "{{PLURAL:$1|plu nova 1|plu nova $1}}",
        "editcomment": "La rezumo di la redakto esis: <em>$1</em>.",
        "revertpage": "Desfacita redakti da [[Special:Contributions/$2|$2]] ([[User talk:$2|Debato]]) e rekuperita la lasta redakto da [[User:$1|$1]]",
        "rollback-success": "Desfacis redakti da $1;\nrestauris ad lasta versiono da $2.",
+       "sessionfailure": "Semblas ke eventis problemo kun vua sesiono di 'login';\nta agado abrogesis, quale presorgo kontre sequestro di sesiono ('hijacking').\nVoluntez risendar la formulario, plenigita.",
        "protectlogpage": "Protekto-registraro",
        "protectedarticle": "protektita \"[[$1]]\"",
        "modifiedarticleprotection": "la nivelo di protekto modifikesis a \"[[$1]]\"",
        "move-page": "Movar $1",
        "move-page-legend": "Rinomizar pagino",
        "movepagetext": "Uzante ica formularo onu povas rinomizar pagino, movante olua omna versionaro ad la nova titulo.\nLa antea titulo konvertesos a ridirektilo a la nova titulo.\nLa ligili a la antea titulo dil pagino ne chanjesos.\nVoluntez certigar ke ne esas [[Special:DoubleRedirects|duopla]] o [[Special:BrokenRedirects|ruptota ridirektili]].\nVu responsas ke la ligili duros direktante a la pagino korespondanta.\n\nMemorez ke la pagino '''ne''' rinomizesos se ja existus pagino kun la nova titulo, eceptuante ke la pagino esas vakua o ridirektilo sen versionaro.\nIco signifikas ke vu povos rinomizar pagino a olua originala titulo se eroras skribante la nova titulo, ma ne povos riskribar existanta pagino.\n\n'''EGARDEZ!'''\nIca povas esar drastika chanjo e ne-esperinda por populara pagino;\nvoluntez certigar ke vu komprenas la konsequi qui eventos ante durar adavane.",
+       "movepagetext-noredirectfixer": "Uzar la formulario infre rinomizos la pagino, e tota lua historio-listo a la nova nomo.\nL'anciena titulo ridirektesos a la nova titulo.\nVerifikez la [[Special:DoubleRedirects|duopla]] e/o la [[Special:BrokenRedirects|krevita ridirekti]].\n<strong>Esas vua responso verifikar se omna ligili esas korekta.</strong>\n\nVidez ke la pagino <strong>ne rinomizesos se existar pagino kun la sama titulo</strong>, ecepte se ol ridirektesas a la prezenta pagino e ne havas pasinta historio pri redaktado.\nTo signifikas ke vu povas retroe rinomizar pagino a lua antea nomo se ol rinomizesis erore, e ke vu ne povas supresar existanta pagino per ridirektado di altra pagino.\n\n<strong>Atencez:</strong>\nLa rinomizo povas esar drastika chanjo por pagini qui esas populara;\nhavez klara certezo pri la konsequi di la posibla rinomizo di la pagino, ante facar ol!",
        "movenologintext": "Vu mustas esar registragita uzero ed [[Special:UserLogin|enirir]] por rinomizar pagino.",
        "newtitle": "Nova titulo:",
        "move-watch": "Surveyar ca pagino",
        "movepagebtn": "Movar pagino",
        "pagemovedsub": "Rinomizita sucese",
-       "movepage-moved": "'''\"$1\" esas movata ad \"$2\"'''",
+       "movepage-moved": "'''\"$1\" movesis ad \"$2\"'''",
        "movepage-moved-redirect": "Kreita ridirekto.",
        "movepage-moved-noredirect": "La kreado di ridirekto nuligesis.",
        "articleexists": "Pagino kun sama nomo ja existas od la nomo\nqua vu selektis ne esas valida.\nVoluntez selektar altra nomo.",
        "movereason": "Motivo:",
        "revertmove": "rekuperar",
        "delete_and_move_confirm": "Yes, efacez la pagino",
+       "move-leave-redirect": "Mantenez ridirektilo de ica pagino al altra",
        "export": "Exportacar pagini",
        "exportcuronly": "On inkluzas nur la nuna revizo, ne la kompleta versionaro",
        "export-addcattext": "Adjuntar pagini ek kategorio:",
        "pageinfo-robot-index": "Permisita",
        "pageinfo-robot-noindex": "Interdiktata",
        "pageinfo-watchers": "Quanto di personi qui vidis ca pagino",
+       "pageinfo-visiting-watchers": "Quanto di viziteri qui vidis recenta redakturi",
        "pageinfo-few-watchers": "Min kam $1 {{PLURAL:$1|vidinto|vidinti}}",
        "pageinfo-redirects-name": "Quanto di ridirekti ad ica pagino",
        "pageinfo-subpages-name": "Quanto di subpagini en ica pagino",
        "htmlform-selectorother-other": "Altra",
        "htmlform-cloner-create": "Adjuntar plue",
        "logentry-delete-delete": "$1 {{GENDER:$2|efacis}} la pagino $3",
+       "logentry-delete-delete_redir": "$1 {{GENDER:$2|efacis}} la ridirektilo $3, per riskribo di ol",
        "logentry-delete-restore": "$1 {{GENDER:$2|restauris}} la pagino $3 ($4)",
        "logentry-delete-revision": "$1 {{GENDER:$2|modifikis}} videbleso di {{PLURAL:$5|la revizo|$5 revizi}} di la pagino $3: $4",
        "revdelete-content-hid": "celita kontenajo",
        "special-characters-group-arabic": "Arabiana",
        "special-characters-group-persian": "Persiana",
        "sessionprovider-nocookies": "''Bisquiti'' forsan esas desacendita. Certigez ke vu acendar ''bisquiti'' e riprobez.",
-       "randomrootpage": "Hazarda radikopagino"
+       "randomrootpage": "Hazarda radikopagino",
+       "log-action-filter-delete": "Tipo di efacado:"
 }
index 6cd24ec..434a6a8 100644 (file)
        "expansion-depth-exceeded-category": "Þær síður þar sem farið er út fyrir leyfða dýpt útvíkkunar",
        "expansion-depth-exceeded-warning": "Síðan fer út fyrir leyfða dýpt útvíkkunar",
        "parser-unstrip-loop-warning": "\"Unstrip\" lykkja fannst",
-       "parser-unstrip-recursion-limit": "Farið út fyrir „unstrip“ endurkvæmnismörk ($1)",
+       "unstrip-depth-warning": "Farið út fyrir „unstrip“ endurkvæmnismörk ($1)",
        "converter-manual-rule-error": "Villa í reglu handvirks tungumálabreytis",
        "undo-success": "Það er hægt að afturkalla breytinguna.\nAthugaðu vel samanburðinn hér fyrir neðan til að sannreyna að það sé það sem þú vilt gera, vistaðu svo breytingarnar hér fyrir neðan til að ljúka afturköllun breytinganna.",
        "undo-failure": "Breytinguna var ekki hægt að taka tilbaka vegna breytinga í millitíðinni.",
index 621d4d2..91d6235 100644 (file)
        "expansion-depth-exceeded-category-desc": "La pagina supera la profondità massima di espansione.",
        "expansion-depth-exceeded-warning": "Questa pagina ha superato la profondità di espansione",
        "parser-unstrip-loop-warning": "Rilevato ciclo di Unstrip",
-       "parser-unstrip-recursion-limit": "Superati i limiti di ricorsione di Unstrip ($1)",
+       "unstrip-depth-warning": "Superati i limiti di ricorsione di Unstrip ($1)",
        "converter-manual-rule-error": "Rilevato errore nella regola manuale di conversione della lingua",
        "undo-success": "Questa modifica può essere annullata.\nControlla le differenze mostrate sotto fra le due versioni per essere certo che il contenuto corrisponda a quanto desiderato, e quindi salvare le modifiche per completare la procedura di annullamento.",
        "undo-failure": "Impossibile annullare la modifica a causa di un conflitto con modifiche intermedie.",
        "stub-threshold-disabled": "Disattivato",
        "recentchangesdays": "Numero di giorni da mostrare nelle ultime modifiche:",
        "recentchangesdays-max": "(massimo $1 {{PLURAL:$1|giorno|giorni}})",
-       "recentchangescount": "Numero di modifiche da mostrare per default:",
-       "prefs-help-recentchangescount": "Comprende ultime modifiche, cronologie e registri.",
+       "recentchangescount": "Numero di modifiche da mostrare nelle ultime modifiche, cronologie e registri, per impostazione predefinita:",
+       "prefs-help-recentchangescount": "Numero massimo: 1000",
        "prefs-help-watchlist-token2": "Questa è la chiave segreta per il feed web dei tuoi osservati speciali.\nChiunque la conosce sarà in grado di leggere i tuoi osservati speciali, per cui non condividerla. Se necessario, [[Special:ResetTokens|puoi reimpostarla]].",
        "savedprefs": "Le preferenze sono state salvate.",
        "savedrights": "I gruppi utente di {{GENDER:$1|$1}} sono stati salvati.",
        "limitreport-templateargumentsize-value": "$1/$2 {{PLURAL:$2|byte}}",
        "limitreport-expansiondepth": "Massima profondità di espansione",
        "limitreport-expensivefunctioncount": "Numero funzioni parser dispendiose",
+       "limitreport-unstrip-size-value": "$1/$2 {{PLURAL:$2|byte}}",
        "expandtemplates": "Espandi i template",
        "expand_templates_intro": "Questa pagina speciale elabora un wikitesto espandendo tutti i template presenti.\nCalcola inoltre il risultato delle funzioni supportate dal parser come\n<code><nowiki>{{</nowiki>#language:…}}</code> e delle variabili di sistema quali\n<code><nowiki>{{</nowiki>CURRENTDAY}}</code>,\nvale a dire praticamente tutto ciò che si trova tra doppie parentesi graffe.",
        "expand_templates_title": "Contesto (per {{FULLPAGENAME}} ecc.):",
index a9f1877..e1810e6 100644 (file)
        "expansion-depth-exceeded-category-desc": "展開の深さが上限を超えたページ。",
        "expansion-depth-exceeded-warning": "ページが展開の深さ制限を超えました",
        "parser-unstrip-loop-warning": "unstrip のループを検出しました",
-       "parser-unstrip-recursion-limit": "unstrip の再帰 ($1) が上限を超えました",
+       "unstrip-depth-warning": "unstrip の再帰 ($1) が上限を超えました",
        "converter-manual-rule-error": "手動の言語変換規則でエラーを検出しました。",
        "undo-success": "この編集を取り消せます。\n下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。",
        "undo-failure": "中間の版での編集と競合したため、取り消せませんでした。",
        "stub-threshold-disabled": "無効",
        "recentchangesdays": "最近の更新に表示する日数:",
        "recentchangesdays-max": "(最大 $1 {{PLURAL:$1|日|日間}})",
-       "recentchangescount": "既定で表示する件数:",
-       "prefs-help-recentchangescount": "この設定は最近の更新、ページの履歴、および記録に適用されます。",
+       "recentchangescount": "æ\9c\80è¿\91ã\81®å¤\89æ\9b´ã\80\81ã\83\9aã\83¼ã\82¸å±¥æ­´ã\80\81è¨\98é\8c²ã\81«æ\97¢å®\9aã\81§è¡¨ç¤ºã\81\99ã\82\8b件æ\95°:",
+       "prefs-help-recentchangescount": "最大数: 1000",
        "prefs-help-watchlist-token2": "これはあなたのウォッチリスト フィードの秘密のコードです。\nこのトークンを知っている人は誰でもあなたのウォッチリストを読めてしまうため、他の人に教えないでください。\n[[Special:ResetTokens|トークンを再設定する必要がある場合はここをクリックしてください]]。",
        "savedprefs": "個人設定を保存しました。",
        "savedrights": "{{GENDER:$1|$1}}の利用者グループが保存されました。",
        "uncategorizedcategories": "カテゴリ分類されていないカテゴリ",
        "uncategorizedimages": "カテゴリ分類されていないファイル",
        "uncategorizedtemplates": "カテゴリ分類されていないテンプレート",
+       "uncategorized-categories-exceptionlist": "#Special:UncategorizedCategoriesには記載すべきではないカテゴリのリストが含まれています。\"*\"で始まる1行に1つ。別の文字(空白を含む)で始まる行は無視されます。コメントには \"#\"を使用します。",
        "unusedcategories": "使われていないカテゴリ",
        "unusedimages": "使われていないファイル",
        "wantedcategories": "カテゴリページが存在しないカテゴリ",
        "listgrouprights-namespaceprotection-namespace": "名前空間",
        "listgrouprights-namespaceprotection-restrictedto": "編集を可能にする権限",
        "listgrants": "権限群",
+       "listgrants-summary": "以下は、利用者の権利に関連するアクセス権を持つ権限のリストです。利用者は、アカウントを使用するアプリケーションを許可できますが、利用者がアプリケーションに付与した権限に基づいてアクセス権が制限されています。利用者に代わって動作するアプリケーションは、利用者が持っていない権利を実際に使用することはできません。\n個人の権利については、[[{{MediaWiki:Listgrouprights-helppage}}|追加の情報]]があります。",
        "listgrants-grant": "権限群名",
        "listgrants-rights": "権限",
        "listgrants-grant-display": "$1 <code>($2)</code>",
        "limitreport-expansiondepth-value": "$1/$2",
        "limitreport-expensivefunctioncount": "高負荷パーサー関数の数",
        "limitreport-expensivefunctioncount-value": "$1/$2",
+       "limitreport-unstrip-depth-value": "$1/$2",
+       "limitreport-unstrip-size-value": "$1/$2 {{PLURAL:$2|バイト}}",
        "expandtemplates": "テンプレートを展開",
        "expand_templates_intro": "この特別ページは、入力したウィキテキストに含まれるすべてのテンプレートを再帰的に展開します。\n<code><nowiki>{{</nowiki>#language:…}}</code> のようなパーサー関数や、\n<code><nowiki>{{</nowiki>CURRENTDAY}}</code> のような変数も展開します。\nつまり、二重中括弧で囲まれたものほぼすべてを展開します。",
        "expand_templates_title": "{{FULLPAGENAME}} などで使用するページ名:",
index 2307512..48cef66 100644 (file)
        "expansion-depth-exceeded-category": "Kaca sing jeroné èkspansi wis punjul",
        "expansion-depth-exceeded-warning": "Kaca munculi jeroné èkspansi",
        "parser-unstrip-loop-warning": "Unstrip loop detected",
-       "parser-unstrip-recursion-limit": "Unstrip recursion limit exceeded ($1)",
+       "unstrip-depth-warning": "Unstrip recursion limit exceeded ($1)",
        "converter-manual-rule-error": "Masalah kapranggul ing aturan konvèrsi basa manual",
        "undo-success": "Besutan iki kena diwurungaké.\nTiliki bandhingan ngisor iki saperlu mesthèkaké yèn bener iki sing arep kolakoni, nuli simpen owahan ngisor iki kanggo ngiyai yèn besutané diwurungaké.",
        "undo-failure": "Besutan iki ora bisa dipulihaké amarga bisa cengkah besutan antara.",
index 12d4f00..930be78 100644 (file)
        "expansion-depth-exceeded-category-desc": "გვერდს აქვს გადაჭარბებული გაღების სიღრმის მაქსიმალურად დასაშვები რაოდენობა",
        "expansion-depth-exceeded-warning": "გვერდზე გადამეტებულია ჩადგმების ზღვარი",
        "parser-unstrip-loop-warning": "აღმოჩენილია ციკლური ბმული",
-       "parser-unstrip-recursion-limit": "გადამეტებულია რეკურსიის ზღვარი ($1)",
+       "unstrip-depth-warning": "გადამეტებულია რეკურსიის ზღვარი ($1)",
        "converter-manual-rule-error": "შეცდომა ენის ხელით გარდაქმნის წესში",
        "undo-success": "რედაქტირების გაუქმება შესაძლებელია. გთხოვთ შეამოწმოთ განსხვავება ქვევით, რათა დარწმუნდეთ, რომ ეს ის არის რაც თქვენ გსურთ, შემდეგ კი შეინახეთ ცვლილებები რათა დაასრულოთ რედაქტირების გაუქმება.",
        "undo-failure": "რედაქტირების გაუქმება შეუძლებელია კონფლიქტური შუალედური რედაქტირებების გამო.",
index 79e1c1a..657d7cb 100644 (file)
        "expansion-depth-exceeded-category-desc": "Asebter iɛedda talqayt n temɣer tafellayt.",
        "expansion-depth-exceeded-warning": "Isebtar yefelen lqay n uderrec",
        "parser-unstrip-loop-warning": "Tifin n tineddict ur nezmer ara an sentuter",
-       "parser-unstrip-recursion-limit": "Talast n usniles ur nezmer ara an sentuter tefel ($1)",
+       "unstrip-depth-warning": "Talast n usniles ur nezmer ara an sentuter tefel ($1)",
        "converter-manual-rule-error": "Tifin n unezri deg alugen awfus n uselket n tutlayt",
        "undo-success": "Tzemreḍ ad tessefsuḍ abeddil. Ssenqed asidmer akken ad tessneḍ ayen tebɣiḍ ad txdmeḍ d ṣṣeḥ, umbeɛd smekti ibeddlen u tkemmleḍ ad tessefsuḍ abeddil.",
        "undo-failure": "Ur yezmir ara ad issefu abeddel axaṭer yella amennuɣ abusari deg ubeddel.",
index 14b3f39..d21be5a 100644 (file)
        "expansion-depth-exceeded-category": "НапэкӀуэцӀым и зыубгъуэн Ӏувагъыр къехъу щытщ",
        "expansion-depth-exceeded-warning": "НапэкӀуэцӀып и зэфӀэгъэкӀыгъуэр къегъэхъуауэ щытщ",
        "parser-unstrip-loop-warning": "Зэрыдзэгъуэ зэхуэмыщӀа къыхэкӀащ",
-       "parser-unstrip-recursion-limit": "Рекурсым и зэфӀэгъэкӀыгъуэр къегъэхъуауэ щытщ ($1)",
+       "unstrip-depth-warning": "Рекурсым и зэфӀэгъэкӀыгъуэр къегъэхъуауэ щытщ ($1)",
        "undo-success": "Гъэтэрэзыгъуэр хахыжьыфынущ. Версиэхэм я зэгъэпшыгъуэ егъэкӀуэкӀ, узхуэныкъуэхэрамэ пщӀам еплъи «НапэкӀуэцӀыр итхэн»-ым текъузэ, зэхъуэкӀыгъуэхэр хэхьэным щхьэкӀэ.",
        "undo-failure": "Гъэтэрэзыгъуэр хэхыжа хъунукъым, гъэтэрэзыгъуэхэм я зэпхыгъуэр зэремыкӀуэкӀыфым щхьэкӀэ",
        "undo-norev": "Гъэтэрэзыгъуэр хэхыжа хъунукъым зэрщымыӀэм щхьэкӀэ иэ хэхыжагъыху щытщ.",
index 5c06c7c..95af0b1 100644 (file)
        "expansion-depth-exceeded-category-desc": "Жіктелім тереңдігі шегінен асқан бет.",
        "expansion-depth-exceeded-warning": "Жіктелім тереңдігі асып кеткен бет",
        "parser-unstrip-loop-warning": "Жабылмаған тег анықталды (<pre> осындай)",
-       "parser-unstrip-recursion-limit": "Unstrip рекурсия шегінен асты ($1)",
+       "unstrip-depth-warning": "Unstrip рекурсия шегінен асты ($1)",
        "converter-manual-rule-error": "Қолмен тілді түрлендіру ережесінде қате кездесті",
        "undo-success": "Бұл өңдемені жоққа шығарымақшысыз. Алдымен алдын-ала төмендегі салыстыруды тексеріп шығыңыз да бетті сақтаңыз.",
        "undo-failure": "Бұл өңдеме жоққа шығарылмайды, себебі арада қақтығысты өңдемелер бар.",
index bbbb152..ca13c96 100644 (file)
        "expansion-depth-exceeded-category-desc": "최대 확장 깊이를 초과하는 문서입니다.",
        "expansion-depth-exceeded-warning": "문서가 확장 깊이를 초과하였습니다",
        "parser-unstrip-loop-warning": "Unstrip의 반복을 감지했습니다",
-       "parser-unstrip-recursion-limit": "Unstrip의 재귀 한도를 초과했습니다 ($1)",
+       "unstrip-depth-warning": "Unstrip의 재귀 한도를 초과했습니다 ($1)",
+       "unstrip-depth-category": "Unstrip 깊이 제한을 초과한 문서",
+       "unstrip-size-warning": "Unstrip의 크기 제한을 초과했습니다 ($1)",
+       "unstrip-size-category": "Unstrip 크기 제한을 초과한 문서",
        "converter-manual-rule-error": "언어 변환 규칙을 수동으로 지정하는 도중 오류",
        "undo-success": "편집을 되돌릴 수 있습니다.\n이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.",
        "undo-failure": "중간의 다른 편집과 충돌하여 이 편집을 되돌릴 수 없습니다.",
        "stub-threshold-disabled": "비활성화됨",
        "recentchangesdays": "최근 바뀜에 보여줄 날짜 수:",
        "recentchangesdays-max": "최대 $1{{PLURAL:$1|일}}",
-       "recentchangescount": "기본으로 보여줄 편집 수:",
-       "prefs-help-recentchangescount": "ì\9d´ ì\84¤ì \95ì\9d\80 ìµ\9cê·¼ ë°\94ë\80\9c, ë¬¸ì\84\9c ì\97­ì\82¬ì\99\80 ê¸°ë¡\9dì\97\90 ì \81ì\9a©ë\90©ë\8b\88ë\8b¤.",
+       "recentchangescount": "최근 바뀜, 문서 역사, 기록에서 기본으로 보여줄 편집 수:",
+       "prefs-help-recentchangescount": "ìµ\9cë\8c\80 ê°\9cì\88\98: 1000",
        "prefs-help-watchlist-token2": "이것은 내 주시문서 목록의 웹 피드의 비밀 키입니다.\n이 키를 알고 있는 사람은 누구든지 내 주시문서 목록을 읽을 수 있으니 이 키를 공유하지 마세요.\n필요하다면 [[Special:ResetTokens|이 키를 재설정할 수 있습니다]].",
        "savedprefs": "설정을 저장했습니다.",
        "savedrights": "{{GENDER:$1|$1}}의 사용자 그룹이 저장되었습니다.",
        "recentchanges-label-minor": "사소한 편집",
        "recentchanges-label-bot": "봇이 수행한 편집",
        "recentchanges-label-unpatrolled": "아직 점검하지 않은 편집",
-       "recentchanges-label-plusminus": "ë°\94ì\9d´í\8a¸ë¡\9c í\91\9c기ë\90\9c ë°\94ë\80\90 ë¬¸ì\84\9c í\81¬기",
+       "recentchanges-label-plusminus": "문ì\84\9c í\81¬ê¸° ì°¨ì\9d´ë¥¼ ë°\94ì\9d´í\8a¸ ì\88\98ë¡\9c í\91\9c기",
        "recentchanges-legend-heading": "<strong>범례:</strong>",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} ([[Special:NewPages|새 문서 목록]]도 보세요)",
        "recentchanges-legend-plusminus": "(<em>±123</em>)",
        "recentchanges-submit": "보기",
        "rcfilters-tag-remove": "'$1' 제거",
        "rcfilters-legend-heading": "<strong>약어 목록:</strong>",
-       "rcfilters-other-review-tools": "다른 검토 도구",
+       "rcfilters-other-review-tools": "기타 검토 도구",
        "rcfilters-group-results-by-page": "문서별로 묶음",
        "rcfilters-activefilters": "사용 중인 필터",
        "rcfilters-advancedfilters": "고급 필터",
        "rcfilters-savedqueries-cancel-label": "취소",
        "rcfilters-savedqueries-add-new-title": "현재의 필터 설정 저장",
        "rcfilters-savedqueries-already-saved": "이 필터는 이미 저장되어 있습니다. 새로운 저장된 필터를 만들려면 설정을 변경하십시오.",
-       "rcfilters-restore-default-filters": "기본 필터 복구",
+       "rcfilters-restore-default-filters": "기본 필터로 설정 초기화하기",
        "rcfilters-clear-all-filters": "필터 모두 지우기",
        "rcfilters-show-new-changes": "최신 변경사항 보기",
-       "rcfilters-search-placeholder": "필터 바뀜 (메뉴를 사용하거나 필터 이름을 검색하세요)",
+       "rcfilters-search-placeholder": "검색용 필터 바꾸기 (메뉴를 사용하거나 필터의 이름을 검색하세요)",
        "rcfilters-invalid-filter": "유효하지 않은 필터",
-       "rcfilters-empty-filter": "활성화된 필터가 없습니다. 모든 기여가 표시됩니다.",
+       "rcfilters-empty-filter": "선택된 필터가 아무것도 없습니다. 모든 기여가 표시됩니다.",
        "rcfilters-filterlist-title": "필터",
        "rcfilters-filterlist-whatsthis": "이것들이 어떻게 동작합니까?",
        "rcfilters-filterlist-feedbacklink": "이 (새로운) 필터 도구에 대한 의견을 주세요",
        "rcfilters-state-message-subset": "필터의 결과가 다음의 범위가 더 넓은 {{PLURAL:$2|필터}}의 결과에 포함되기 때문에 이 필터는 효력이 없습니다 (구별을 위해 강조해 보십시오): $1",
        "rcfilters-state-message-fullcoverage": "이 그룹의 모든 필터를 선택하는 것은 아무 것도 선택하지 않는 것과 동일하므로 이 필터는 효력이 없습니다. 그룹은 다음을 포함합니다: $1",
        "rcfilters-filtergroup-authorship": "기여의 저자",
-       "rcfilters-filter-editsbyself-label": "ë\8b¹ì\8b ì\9d\98 변경사항",
+       "rcfilters-filter-editsbyself-label": "ë\8b¹ì\8b ì\9d´ ì§\81ì \91 í\96\89í\95\9c 변경사항",
        "rcfilters-filter-editsbyself-description": "당신의 기여.",
-       "rcfilters-filter-editsbyother-label": "다른 사용자 변경사항",
-       "rcfilters-filter-editsbyother-description": "ë\8b¹ì\8b ì\9d\84 ì \9cì\99¸한 모든 변경사항.",
+       "rcfilters-filter-editsbyother-label": "다른 사용자가 행한 변경사항",
+       "rcfilters-filter-editsbyother-description": "ë\8b¤ë¥¸ ì\82¬ë\9e\8cë\93¤ì\9d´ í\96\89한 모든 변경사항.",
        "rcfilters-filtergroup-userExpLevel": "사용자 등록 및 경험",
        "rcfilters-filter-user-experience-level-registered-label": "등록됨",
-       "rcfilters-filter-user-experience-level-registered-description": "로그인ë\90\9c í\8e¸ì§\91ì\9e\90.",
+       "rcfilters-filter-user-experience-level-registered-description": "로그인í\95\9c í\8e¸ì§\91ì\9e\90.",
        "rcfilters-filter-user-experience-level-unregistered-label": "등록 안 됨",
        "rcfilters-filter-user-experience-level-unregistered-description": "로그인하지 않은 편집자.",
        "rcfilters-filter-user-experience-level-newcomer-label": "신입 사용자",
        "rcfilters-filter-user-experience-level-learner-label": "학습자",
        "rcfilters-filter-user-experience-level-learner-description": "\"신입 사용자\"보다 경험이 더 많지만 \"능숙한 사용자\"보다는 적습니다.",
        "rcfilters-filter-user-experience-level-experienced-label": "능숙한 사용자",
-       "rcfilters-filter-user-experience-level-experienced-description": "30일 이상의 활동 및 500개 이상의 편집.",
+       "rcfilters-filter-user-experience-level-experienced-description": "30일 이상의 활동 및 500개 이상의 편집을 한 편집자.",
        "rcfilters-filtergroup-automated": "자동으로 된 기여",
        "rcfilters-filter-bots-label": "봇",
        "rcfilters-filter-bots-description": "자동 도구를 이용한 편집.",
        "rcfilters-filter-minor-label": "사소한 편집",
        "rcfilters-filter-minor-description": "기여자가 사소한 기여로 표시한 편집.",
        "rcfilters-filter-major-label": "사소하지 않은 편집",
-       "rcfilters-filter-major-description": "사소한 편집으로 표시ë\90\98ì§\80 ì\95\8aì\9d\80 í\8e¸ì§\91.",
+       "rcfilters-filter-major-description": "사소한 편집으로 표시í\95\98ì§\80 ì\95\8aì\9d\80 í\8e¸ì§\91.",
        "rcfilters-filtergroup-watchlist": "주시 중인 문서",
        "rcfilters-filter-watchlist-watched-label": "주시문서 목록에서",
        "rcfilters-filter-watchlist-watched-description": "주시문서 목록의 문서의 변경사항입니다.",
        "rcfilters-filter-watchlistactivity-seen-description": "변경사항이 발생한 이후로 방문한 적이 있는 문서의 변경사항입니다.",
        "rcfilters-filtergroup-changetype": "차이 종류",
        "rcfilters-filter-pageedits-label": "문서 편집",
-       "rcfilters-filter-pageedits-description": "위키 내용, 토론, 분류 설명에 대한 편집....",
+       "rcfilters-filter-pageedits-description": "위키 내용, 토론, 분류 설명에 대한 편집.",
        "rcfilters-filter-newpages-label": "문서 생성",
-       "rcfilters-filter-newpages-description": "ì\83\88 ë¬¸ì\84\9c를 ë§\8cë\93\9cë\8a\94 편집.",
+       "rcfilters-filter-newpages-description": "ì\83\88 ë¬¸ì\84\9c를 ë§\8cë\93¤ì\96´ ë\82¸ 편집.",
        "rcfilters-filter-categorization-label": "분류 차이",
-       "rcfilters-filter-categorization-description": "ë\84ë¥\98ì\97\90ì\84\9c ì¶\94ê°\80ë\90\98ê±°ë\82\98 ì \9cê±°ë\90\98ë\8a\94 í\8e\98ì\9d´ì§\80ì\9d\98 기록.",
+       "rcfilters-filter-categorization-description": "문ì\84\9cê°\80 í\8a¹ì \95 ë¶\84ë¥\98ì\97\90 ì¶\94ê°\80ë\90\98ê±°ë\82\98 ì \9cì\99¸ë\90\9c 기록.",
        "rcfilters-filter-logactions-label": "기록된 행위",
-       "rcfilters-filter-logactions-description": "ê´\80리ì \81 ì¡°ì¹\98, ê³\84ì \95 ë§\8cë\93¤ê¸°, í\8e\98ì\9d´ì§\80 ì\82­ì \9c, ì\97\85ë¡\9cë\93\9c...",
+       "rcfilters-filter-logactions-description": "ê´\80리ì\9e\90ì\9d\98 ì¡°ì¹\98, ê³\84ì \95 ë§\8cë\93¤ê¸°, ë¬¸ì\84\9c ì\82­ì \9c, ì\97\85ë¡\9cë\93\9c ë\93±",
        "rcfilters-hideminor-conflicts-typeofchange-global": "특정한 유형의 변경사항을 \"사소한 편집\"으로 지정할 수 없기 때문에 \"사소한 편집\" 필터는 하나 이상의 변경사항 유형 필터와 충돌합니다. 충돌되는 필터들은 위의 사용 중인 필터 영역에 표시됩니다.",
        "rcfilters-hideminor-conflicts-typeofchange": "특정한 종류의 변경사항은 \"사소한 편집\"으로 지정할 수 없으므로 이 필터는 다음 유형의 변경사항 필터와 충돌합니다: $1",
        "rcfilters-typeofchange-conflicts-hideminor": "이 유형의 변경사항 필터는 \"사소한 편집\" 필터와 충돌합니다. 특정한 종류의 변경사항은 \"사소한 편집\"으로 지정할 수 없습니다.",
        "rcfilters-filtergroup-lastRevision": "최신판",
        "rcfilters-filter-lastrevision-label": "최신판",
-       "rcfilters-filter-lastrevision-description": "문서의 최근 변경사항만입니다.",
+       "rcfilters-filter-lastrevision-description": "각 문서의 최신판에 해당하는 변경사항만 보기.",
        "rcfilters-filter-previousrevision-label": "최신판이 아님",
-       "rcfilters-filter-previousrevision-description": "\"ìµ\9cì\8b í\8c\90\"ì\9d´ ì\95\84ë\8b\8c ëª¨ë\93  ë³\80ê²½ì\82¬í\95­ì\9e\85ë\8b\88ë\8b¤.",
+       "rcfilters-filter-previousrevision-description": "\"ìµ\9cì\8b í\8c\90\"ì\9d\84 ì \9cì\99¸í\95\9c ëª¨ë\93  ë³\80ê²½ì\82¬í\95­ ë³´ê¸°.",
        "rcfilters-filter-excluded": "제외됨",
        "rcfilters-tag-prefix-namespace-inverted": "<strong>:아님</strong> $1",
        "rcfilters-exclude-button-off": "선택 제외",
        "recentchangeslinked-page": "문서 이름:",
        "recentchangeslinked-to": "해당 문서를 가리키는 문서의 최근 바뀜 보기",
        "recentchanges-page-added-to-category": "[[:$1]]이(가) 분류에 추가되었습니다",
-       "recentchanges-page-added-to-category-bundled": "[[:$1]] 문서가 분류에 추가되었습니다. [[Special:WhatLinksHere/$1|이 문서는 다른 문서에 포함되어 있습니다]]",
+       "recentchanges-page-added-to-category-bundled": "[[:$1]] 문서가 분류에 추가되었습니다. [[Special:WhatLinksHere/$1|이 문서는 다른 문서의 내용 속에 포함되어 있습니다]]",
        "recentchanges-page-removed-from-category": "[[:$1]]이(가) 분류에서 제거되었습니다",
-       "recentchanges-page-removed-from-category-bundled": "[[:$1]] 문서가 분류에서 제거되었습니다. [[Special:WhatLinksHere/$1|이 문서는 다른 문서에 포함되어 있습니다]]",
+       "recentchanges-page-removed-from-category-bundled": "[[:$1]] 문서가 분류에서 제거되었습니다. [[Special:WhatLinksHere/$1|이 문서는 다른 문서의 내용 속에 포함되어 있습니다]]",
        "autochange-username": "미디어위키 자동 변경",
        "upload": "파일 올리기",
        "uploadbtn": "파일 올리기",
        "magiclink-tracking-isbn": "ISBN 매직 링크를 사용하는 문서",
        "magiclink-tracking-isbn-desc": "이 문서는 ISBN 매직 링크를 사용합니다. 이관 방법을 보려면 [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org]를 참조하십시오.",
        "specialloguserlabel": "작업 수행자:",
-       "speciallogtitlelabel": "대상 (문서 제목 또는 {{ns:user}}:사용자이름 으로 사용자 검색):",
+       "speciallogtitlelabel": "대상 (문서 제목 또는 \"{{ns:user}}:사용자이름\"으로 사용자 검색):",
        "log": "기록 목록",
        "logeventslist-submit": "보기",
        "all-logs-page": "모든 공개 기록",
-       "alllogstext": "{{SITENAME}}ì\9d\98 ì·¨ë\93\9d ê°\80ë\8a¥í\95\9c ëª¨ë\93  ê¸°ë¡\9dì\9d´ í\91\9cì\8b\9cë\90\98ì\96´ ì\9e\88ì\8aµë\8b\88ë\8b¤.\n기ë¡\9d ì¢\85ë¥\98, ì\82¬ì\9a©ì\9e\90 ì\9d´ë¦\84\8c\80ì\86\8c문ì\9e\90 êµ¬ë³\84), ì\98\81í\96¥ì\9d\84 ë°\9bë\8a\94 ë¬¸ì\84\9c\8c\80ì\86\8c문ì\9e\90 êµ¬ë³\84)를 ì\84 í\83\9dí\95´ì\84\9c ë²\94ì\9c\84를 ì¢\81í\98\80ì\84\9c 볼 수 있습니다.",
+       "alllogstext": "{{SITENAME}}ì\97\90ì\84\9c ë\82\98ì\98¤ë\8a\94 ëª¨ë\93  ê¸°ë¡\9dì\9d´ í\91\9cì\8b\9cë\90\98ì\96´ ì\9e\88ì\8aµë\8b\88ë\8b¤.\nì\9b\90í\95\98ì\8b ë\8b¤ë©´ ê¸°ë¡\9d ì¢\85ë¥\98, ì\82¬ì\9a©ì\9e\90 ì\9d´ë¦\84\8c\80ì\86\8c문ì\9e\90 êµ¬ë³\84), ì\98\81í\96¥ì\9d\84 ë°\9bë\8a\94 ë¬¸ì\84\9c\8c\80ì\86\8c문ì\9e\90 êµ¬ë³\84) ë\93±ì\9d\84 ì\84 í\83\9dí\95´ì\84\9c ë²\94ì\9c\84를 ì¢\81í\98\80ì\84\9c ì\82´í\8e´볼 수 있습니다.",
        "logempty": "일치하는 항목이 없습니다.",
        "log-title-wildcard": "다음 글로 시작하는 제목 검색",
        "showhideselectedlogentries": "선택한 기록 항목 보이기/숨기기",
        "tag-mw-changed-redirect-target": "넘겨주기 대상 변경",
        "tag-mw-changed-redirect-target-description": "넘겨주기 대상을 변경하는 편집",
        "tag-mw-blank": "비우기",
-       "tag-mw-blank-description": "문서를 비우는 편집",
+       "tag-mw-blank-description": "문서 내용을 비운 편집",
        "tag-mw-replace": "대체됨",
        "tag-mw-replace-description": "문서 내용 중 90% 보다 많은 내용을 제거한 편집",
        "tag-mw-rollback": "되돌리기",
-       "tag-mw-rollback-description": "ë\90\98ë\8f\8c리기 ë§\81í\81¬ë¥¼ ì\82¬ì\9a©í\95\98ì\97¬ ì\9d´ì \84 í\8e¸ì§\91ì\9d\84 ë\90\98ë\8f\8c리ë\8a\94 편집",
+       "tag-mw-rollback-description": "ë\90\98ë\8f\8c리기 ë§\81í\81¬ë¥¼ ì\82¬ì\9a©í\95\98ì\97¬ ì\9d´ì \84 í\8e¸ì§\91ì\9c¼ë¡\9c ë\90\98ë\8f\8c린 편집",
        "tag-mw-undo": "편집 취소",
        "tag-mw-undo-description": "편집 취소 링크를 사용하여 이전 편집을 취소하는 편집",
        "tags-title": "태그",
        "revdelete-unrestricted": "관리자에 대한 제한을 해제함",
        "logentry-block-block": "$1님이 {{GENDER:$4|$3}}님을 $5 {{GENDER:$2|차단했습니다}} $6",
        "logentry-block-unblock": "$1님이 {{GENDER:$4|$3}}님의 {{GENDER:$2|차단을 해제했습니다}}",
-       "logentry-block-reblock": "$1님이 {{GENDER:$4|$3}}님의 차단 기간을 $5 설정으로 {{GENDER:$2|바꾸었습니다}} $6",
+       "logentry-block-reblock": "$1님이 {{GENDER:$4|$3}}님의 차단 기간을 $5(으)로 {{GENDER:$2|바꾸었습니다}} $6",
        "logentry-suppress-block": "$1님이 {{GENDER:$4|$3}} 사용자를 $5 {{GENDER:$2|차단했습니다}} $6",
-       "logentry-suppress-reblock": "$1님이 {{GENDER:$4|$3}}님의 차단 기간을 $5 설정으로 {{GENDER:$2|바꾸었습니다}} $6",
+       "logentry-suppress-reblock": "$1님이 {{GENDER:$4|$3}}님의 차단 기간을 $5(으)로 {{GENDER:$2|바꾸었습니다}} $6",
        "logentry-import-upload": "$1님이 $3 문서를 파일 올리기로 {{GENDER:$2|가져왔습니다}}",
        "logentry-import-upload-details": "$1님이 $3 문서 ({{PLURAL:$4|판}} $4개)를 파일 올리기로 {{GENDER:$2|가져왔습니다}}",
        "logentry-import-interwiki": "$1님이 $3 문서를 다른 위키에서 {{GENDER:$2|가져왔습니다}}",
        "limitreport-templateargumentsize-value": "$1/$2 {{PLURAL:$2|바이트}}",
        "limitreport-expansiondepth": "최대 전개 깊이",
        "limitreport-expensivefunctioncount": "부하 높은 파서 함수 수",
+       "limitreport-unstrip-depth": "Unstrip 재귀 깊이",
+       "limitreport-unstrip-depth-value": "$1/$2",
+       "limitreport-unstrip-size-value": "$1/$2 {{PLURAL:$2|바이트}}",
        "expandtemplates": "틀 전개",
        "expand_templates_intro": "이 특수 문서는 글의 모든 틀을 끝까지 풀어 줍니다.\n<code><nowiki>{{</nowiki>#language:…}}</code> 같은 파서 함수나\n<code><nowiki>{{</nowiki>CURRENTDAY}}</code> 같은 변수를 풀어줍니다.\n사실 두 개의 중괄호 사이에 있는 것은 거의 모두 풀어줍니다.",
        "expand_templates_title": "문서 이름 ({{FULLPAGENAME}} 등):",
index 0ad036c..dbed1d8 100644 (file)
        "expansion-depth-exceeded-category": "Кериуню теренлиги оздурулгъан бетле",
        "expansion-depth-exceeded-warning": "Бетде ичине салыныуну чеги оздурулгъанды",
        "parser-unstrip-loop-warning": "Джабылмагъан pre табылды",
-       "parser-unstrip-recursion-limit": "Рекурсияны чеги ($1) оздурулду",
+       "unstrip-depth-warning": "Рекурсияны чеги ($1) оздурулду",
        "converter-manual-rule-error": "Тилни башха тюрлю этиуню къол джоругъунда халат",
        "undo-success": "Бу тюрлениу ызына алыныргъа боллукъду. Тилейбиз, версияланы тенглешдириуюн осмакълагъыз, керти да бу тюрлендириулени этерге излегенигизден ишексиз болугъуз, сора, тюрлениуле къабыл этилир ючюн, «Бетни къош» деген тиекден басыгъыз.",
        "undo-failure": "Бир-бирине келишмегени себебли, тюрлениу ызына алынамады.",
index 5c91541..68897b1 100644 (file)
        "expansion-depth-exceeded-category-desc": "Dat heh es de Saachjropp för Sigge, woh zoh vill automattesch ennjeföhsch weed.",
        "expansion-depth-exceeded-warning": "En heh di Sigg weed zoh vill automattesch ennjeföhsch.",
        "parser-unstrip-loop-warning": "Ene Befähl em Täx betrek sesch op sesch sällefs.",
-       "parser-unstrip-recursion-limit": "Ene Befähl em Täx es mieh wi {{PLURAL:$1|eijmohl|$1 Mohl|jaa nit}} met  sesch sellef verschachtelt.",
+       "unstrip-depth-warning": "Ene Befähl em Täx es mieh wi {{PLURAL:$1|eijmohl|$1 Mohl|jaa nit}} met  sesch sellef verschachtelt.",
        "converter-manual-rule-error": "Doh es ene Fähler en ene händesche Önwandelongsrääjel zwesche de Schprohche.",
        "undo-success": "De Änderong könnte mer zeröck nämme. Belohr Der de Ungerscheide un dann donn di Sigg avspeijschere, wann De dängks, et es en Ohdenong esu.",
        "undo-failure": "Dat kunnt mer nit zeröck nämme, dä Afschnedd wood enzwesche ald widder beärbeidt.",
index fe009cb..7b41b64 100644 (file)
@@ -49,7 +49,7 @@
        "tog-shownumberswatching": "Hejmara bikarhênerên dişopînin nîşan bide",
        "tog-oldsig": "Îmzeya heye:",
        "tog-fancysig": "Îmzeyê wek wîkîtekstê nîşan bide (bê girêdana otomatîk)",
-       "tog-uselivepreview": "Pêşdîtina \"zindî\" bi kar bîne",
+       "tog-uselivepreview": "Bêyî ku rûpel jinûve were barkirin, pêşdîtinan nîşan bide",
        "tog-forceeditsummary": "Hinga kurteyeke vala hate tomarkirin min agahdar bike",
        "tog-watchlisthideown": "Guherandinên min ji lîsteya şopandinê veşêre",
        "tog-watchlisthidebots": "Guherandinên bot'an ji lîsteya şopandinê veşêre",
@@ -60,7 +60,7 @@
        "tog-ccmeonemails": "Kopiyên e-nameyên min ji bikarhênerên din re şandî, ji min re jî bişîne.",
        "tog-diffonly": "Li cem guhertinan, naveroka rûpelê nîşan nede",
        "tog-showhiddencats": "Kategoriyên veşartî bibîne",
-       "tog-norollbackdiff": "Ciyawaziyê piştî şûndekirinê veşêre",
+       "tog-norollbackdiff": "Ciyawaziyê piştî şûndekirinê nîşan nede",
        "underline-always": "Hertim",
        "underline-never": "Qet",
        "underline-default": "Tercîhên lêgerokê",
        "laggedslavemode": "'''Zanibe:''' Dibe ku di vê rûpelê de rojanekirinên dawî nîn bin.",
        "readonly": "Bingeha daneyan hatiye girtin",
        "enterlockreason": "Sedemeke bestinê binivîse, herwiha demeke texmînkirî ji bo vebûna bestinê binivîse!",
-       "readonlytext": "Bingeha daneyên {{SITENAME}} ji bo guherandinan û gotarên nû hatiye girtin.\n\nSedema girtinê ev e: $1",
+       "readonlytext": "Bingeha daneyên {{SITENAME}} ji bo guherandinan û gotarên nû hatiye girtin, paşê wê ew vegere halê xwe yê normal.\n\nSedema girtinê yê rêvebirê ku vê girtiye ev e: $1",
        "missingarticle-rev": "(versiyon#: $1)",
        "missingarticle-diff": "(Cudahî: $1, $2)",
        "readonly_lag": "Bingeha daneyan otomatîk hate girtin, ji bo server ên bingeha daneyên girêdayî karibin xwe bikêrhatî bikin.",
        "missingcommenttext": "Ji kerema xwe kurteya naverokê li jêr binivisîne.",
        "missingcommentheader": "<strong>Zanibe:</strong> Te sernav/mijarek nenivîsandîye. Heke tu niha carekî din li ser \"$1\" bitikînî, ev guherandina te bê sernav/mijar wê were tomarkirin.",
        "summary-preview": "Pêşdîtina kurtenivîsê:",
-       "subject-preview": "Pêşdîtina sernivîsê:",
+       "subject-preview": "Pêşdîtina mijarê:",
        "previewerrortext": "Wextê pêşdîtina guhertinên te, pirsgirekek derket.",
        "blockedtitle": "Bikarhêner hate astengkirin",
        "blockedtext": "'''Navê te yê bikarhêneriyê an jî IP'ya te hate astengkirin.'''\n\nAstengkirin ji aliyê $1 ve pêkhat. Sedema astengkirina te ev e: ''$2''.\n\n* Destpêka astengkirinê: $8\n* Xelasbûna astengkirinê: $6\n* Astengkirin ji van re: $7\n\nTu dikarî bi $1  re an jî [[{{MediaWiki:Grouppage-sysop}}|koordînatorên]] din re ji bo astengkirinê bikevî têkiliyê. Tu nikarî 'Ji vê/vî bikarhênerê/î re e-name bişîne' bikarbînî heta  di [[Special:Preferences|tercihên xwe]] de navnîşana e-nameyeke derbasdar bikarbînî û tu ji bo bikaranîna vê fonksiyonê nehatî astengkirin.\n\nIP'ya te ya niha $3 ye, û ID'ya astengkirina te #$5 e. Ji kerema xwe yek ji van hejmaran têxe nav peyama xwe.",
        "page_first": "ya pêşîn",
        "page_last": "ya paşîn",
        "histlegend": "Rênîşan: ({{int:cur}}) = cudahiya nav vê û versiyona niha, ({{int:last}}) = cudahiya nav vê û ya berî vê, '''{{int:minoreditletter}}''' = guhertina biçûk",
-       "history-fieldset-title": "Li dîrokê bigere",
+       "history-fieldset-title": "Li dîroka guhertinan bigere",
        "history-show-deleted": "Tenê yên jêbirî",
        "histfirst": "kevintirîn",
        "histlast": "nûtirîn",
        "booksources-search": "Lêgerîn",
        "booksources-text": "Li vir listek ji lînkên rûpelên, yê pirtûkên nû ya kevin difiroşin, heye. Hên jî li vir tu dikarî înformasyonan li ser wan pirtûkan tê derxê.",
        "specialloguserlabel": "Bikarhêner:",
-       "speciallogtitlelabel": "Armanc (sernav an bikarhêner)",
+       "speciallogtitlelabel": "Armanc (sernav an ji bo bikarhêner, {{ns:user}}ːnavê bikarhêneriyê)",
        "log": "Têketin",
        "logeventslist-submit": "Nîşan bide",
-       "all-logs-page": "Hemû têketin",
+       "all-logs-page": "Hemû têketinên giştî",
        "alllogstext": "Hemû têketinên {{SITENAME}} li jêr tên nîşandan.\nTu dikarî ji xwe re têketinekê hilbijêrî, navê bikarhêneriyê an navê rûpelekê binivîse û agahiyan li ser wê bibîne.",
        "logempty": "Tiştek di vir de nîne.",
        "log-title-wildcard": "Li sernavên bi vê dest pê dikin bigere",
        "wlheader-enotif": "Agahdariya e-nameyan hate çalakkirin",
        "wlheader-showupdated": "Ev rûpela hatî guhertin dema te lê meyzand bi '''nivîsa stûr''' tê xuyakirin.",
        "wlnote": "Niha {{PLURAL:$1|xeyrandinê|'''$1''' xeyrandinên}} dawî yê {{PLURAL:$2|seetê|'''$2''' seetên}} dawî {{PLURAL:$1|tê|tên}} dîtin.",
-       "wlshowlast": "Guhertinên berî $1 saetan, $2 rojan, ya  nîşan bide",
+       "wlshowlast": "Guhertinên berî $1 saetan, $2 rojan nîşan bide",
        "watchlist-hide": "Veşêre",
        "watchlist-submit": "Nîşan bide",
        "wlshowhideminor": "guherandinên biçûk",
index daeb9d6..99037d4 100644 (file)
        "expansion-depth-exceeded-category-desc": "La paje esede la profondia masima de estende.",
        "expansion-depth-exceeded-warning": "La paje ia esede la profondia de estende",
        "parser-unstrip-loop-warning": "Sicle de unstrip() detetada",
-       "parser-unstrip-recursion-limit": "Esede de la recorsa masima de unstrip() ($1)",
+       "unstrip-depth-warning": "Esede de la recorsa masima de unstrip() ($1)",
        "converter-manual-rule-error": "Era detetada en regula nonautomata de converti de lingua",
        "undo-success": "La edita pote es desfada.\nPer favore, esamina la compara a su per serti ce tu vole fa esta, e alora fisa la cambias a su per fini desfa la edita.",
        "undo-failure": "La edita no pote es desfada par causa de editas interveninte cual contradise lo.",
index 85e6a98..cff4683 100644 (file)
        "botpasswords-insert-failed": "'t Touveuge vanne botnaam \"$1\" is mislök. Is dae mesjiens al tougeveug?",
        "botpasswords-update-failed": "'t Biewirke vanne botnaam \"$1\" is mislök. Is dae mesjiens eweggesjaf?",
        "botpasswords-created-title": "Botwachwaord aangemaak",
-       "botpasswords-created-body": "'t Botwachwaord veure botnaam \"$1\" van gebroeker \"$2\" is gemaak.",
+       "botpasswords-created-body": "'t Botwachwaord veure botnaam \"$1\" van {{GENDER:$2|gebroeker}} \"$2\" is gemaak.",
        "botpasswords-updated-title": "Botwachwaord biegewirk",
-       "botpasswords-updated-body": "'t Botwachwaord veur de botnaam \"$1\" van gebroeker \"$2\" is biegewirk.",
+       "botpasswords-updated-body": "'t Botwachwaord veur de botnaam \"$1\" van {{GENDER:$2|gebroeker}} \"$2\" is biegewirk.",
        "botpasswords-deleted-title": "Botwachwaord eweggesjaf",
-       "botpasswords-deleted-body": "'t Botwachwaord veure botnaam \"$1\" vanne gebroeker \"$2\" is eweggesjaf.",
+       "botpasswords-deleted-body": "'t Botwachwaord veure botnaam \"$1\" vanne {{GENDER:$2|gebroeker}} \"$2\" is eweggesjaf.",
        "botpasswords-newpassword": "'t Nuuj wachwaord veur aan te melje mit <strong>$1</strong> is <strong>$2</strong>. <em>Bewaar dit goed voor toekomstig gebruik.</em> <br> (Veur aaj bots die vereisje det de aameljnaam 'tzelfde is es d'n eventuele gebroekersnaam, kan ouch <strong>$3</strong> es gebroekersnaam en <strong>$4</strong> es wachwaord waere gebroek.)",
        "botpasswords-no-provider": "BotPasswordsSessionProvider is neet besjikbaar.",
        "botpasswords-restriction-failed": "Botwachwaordbepirkinge verkómme aanmelje.",
        "postedit-confirmation-created": "De pagina is aangemaak gewaore.",
        "postedit-confirmation-restored": "De pagina is herstèldj gewaore.",
        "postedit-confirmation-saved": "Dien bewirking is opgeslage gewaore.",
+       "postedit-confirmation-published": "Dien bewirking is opgeslage.",
        "edit-already-exists": "De pagina is neet aangemaak.\nZie besjteit al.",
        "defaultmessagetext": "Obligaten teks",
        "content-failed-to-parse": "'t Waas neet meugelik d'n inhawd van 't MIME-typ $2 veur 't model $1 te verwirke: $3.",
        "expansion-depth-exceeded-category-desc": "De pagina geit euver de maximaal oetbreijingsdeepdje.",
        "expansion-depth-exceeded-warning": "De paasj haet te väöl sjablone",
        "parser-unstrip-loop-warning": "Unstriplus gevónje",
-       "parser-unstrip-recursion-limit": "Unstriprecursielimiet te väöl ($1)",
+       "unstrip-depth-warning": "Unstriprecursielimiet te väöl ($1)",
        "converter-manual-rule-error": "'n Fout is óntdèk gewaore in 'ne handjmaesig tougeveudje spraokómzèttingsregel",
        "undo-success": "Hiej onger stuit de teks wo in de verangering ongedaon gemaak is. Controleer veur 't opslaon of 't resultaot gewins is.",
        "undo-failure": "De verangering kòs neet ongedaon gemaak waere waeges angere striedige verangeringe.",
        "diff-multi-sameuser": "({{PLURAL:$1|Ein tösseligkendje versie|$1 tösseligkendje versies}} door dezelfdje gebroeker neet getoeandj)",
        "diff-multi-otherusers": "({{PLURAL:$1|Ein tösseligkendje versie|$1 tösseligkendje versies}} door {{PLURAL:$2|einen angere gebroeker|$2 gebroekers}} neet getuind)",
        "diff-multi-manyusers": "($1 tösseligkende versies door mier es $2 gebroekers waere neet waergaeve)",
+       "diff-paragraph-moved-tonew": "Dees paragraaf is verplaats wore. Klik veur nao 'n nuuj lokaasje te springe.",
+       "diff-paragraph-moved-toold": "Dees paragraaf is verplaats wore. Klik veur nao de aaj lokaasje te springe.",
+       "difference-missing-revision": "{{PLURAL:$2|Ein versie|$2 versies}} van dit versjil ($1) {{PLURAL:$2|is|zijn}} neet gevónje.\n\nDit weurt meistes veroearzaak door 't volge van 'ne vereljerde versjillelink veur 'n pagina die is eweggesjaf.\nMieë gegaeves kan me vinje in 't [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} wösjlogbook].",
        "searchresults": "Zeukresultate",
        "searchresults-title": "Zeukresultate veur \"$1\"",
        "titlematches": "Overeinkoms mèt volgende titels",
        "searchrelated": "gerelateerd",
        "searchall": "alle",
        "showingresults": "Hieonger staon de <b>$1</b> {{PLURAL:$1|resultaat|resultaat}}, vanaaf #<b>$2</b>.",
+       "showingresultsinrange": "Hie-ónger {{PLURAL:$1|weurt|waere}} heugstes {{PLURAL:$1|<strong>1</strong> rizzeltaot|<strong>$1</strong> rizzeltaote}} getuind in 't bereik #<strong>$2</strong> tot #<strong>$3</strong>.",
        "search-showingresults": "{{PLURAL:$4|Rizzeltaot <strong>$1</strong> van <strong>$2</strong>|Rizzeltaote <strong>$1 - $2</strong> van <strong>$3</strong>}}",
        "search-nonefound": "D'r zien gein resultate veur diene zeukopdrach.",
        "search-nonefound-thiswiki": "'t Goof gein rizzeltaote veur dien zeukopdrach op dees site.",
        "stub-threshold-disabled": "Oetgezatj",
        "recentchangesdays": "Aantal daag te tuine in de recènte verangeringe:",
        "recentchangesdays-max": "(maximaal $1 {{PLURAL:$1|daag|daag}})",
-       "recentchangescount": "Standerd aantal waer te gaeve bewèrkinge:",
-       "prefs-help-recentchangescount": "Dit gelt veur recente wieziginge, paginagesjiedenis en logbookpagina's.",
+       "recentchangescount": "Aantaal te tuine bewirkinge in de recènte verangeringe, paginagesjiechte en in logbeuk (standerd):",
+       "prefs-help-recentchangescount": "Hoogste aantaal: 1000",
+       "prefs-help-watchlist-token2": "Dit is de geheime sleutel veur de webfeed van dien volglies.\nEdereine dae 't teike kènt kan dien volglies betrach, dus deil 't neet.\nWen nuuedig kins se dien [[Special:ResetTokens|teikes oppernuuj instèlle]].",
        "savedprefs": "Dien veurkäöre zint opgesjlage.",
        "savedrights": "De gebroekergróppe van {{GENDER:$1|$1}} zien opgesjlage.",
        "timezonelegend": "Tiedzone:",
        "timezoneregion-europe": "Europa",
        "timezoneregion-indian": "Indische Oceaan",
        "timezoneregion-pacific": "Stille Oceaan",
-       "allowemail": "E-mail van anger gebroekers toesjtaon",
+       "allowemail": "Stank anger gebroekers toe mich te e-maile",
+       "email-allow-new-users-label": "Stank e-mails van kaesnuuj gebroekers toe",
+       "email-blacklist-label": "Verbeej dees gebroekers mich te e-maile:",
        "prefs-searchoptions": "Zeuke",
        "prefs-namespaces": "Naamruimte",
        "default": "sjtandaard",
        "right-unblockself": "Óntblok eige gebroeker",
        "right-protect": "Beveiligingsniveaus aanpasse",
        "right-editprotected": "Beveiligde pazjena's bewirke",
+       "right-editsemiprotected": "Bewirk pagina's die zint beveilig es \"{{int:protect-level-autoconfirmed}}\"",
+       "right-editcontentmodel": "Bewirk 't pagina-inhawdmodel",
        "right-editinterface": "De gebroekersinterface bewerke",
        "right-editusercss": "De CSS-bestande van angere gebroekers bewerke",
        "right-edituserjs": "De JS-bestande van angere gebroekers bewerke",
+       "right-editmyusercss": "Bewirk dien eige CSS-pagina's",
+       "right-editmyuserjs": "Bewirk dien eige JavaScrippagina's",
        "right-viewmywatchlist": "Betrach dien eige volglies",
+       "right-editmywatchlist": "Bewirk dien eige volglies. Via sommige hanjelinge kinne nag ummer pagina's waere tougeveug, zelfs zónger dees beveugheid.",
+       "right-viewmyprivateinfo": "Betrach dien eige privégegaeves (wie e-mailadres, echte naam)",
+       "right-editmyprivateinfo": "Bewirk dien eige privégegaeves (wie e-mailadres, echte naam)",
        "right-editmyoptions": "Bewirk dien eige veurkäöre",
        "right-rollback": "Snel de letste bewerking(e) van 'n gebroeker van 'n pagina terugdraaie",
        "right-markbotedits": "Teruggedraaide bewerkinge markere es botbewerkinge",
        "right-siteadmin": "De database blokkere en weer vriegaeve",
        "right-override-export-depth": "Export paazjes midin geslinkdje paazjes mit 'n deepdje ven 5",
        "right-sendemail": "Versjik e-mail aan anger gebroekers",
+       "right-managechangetags": "Maak en (de)aktiveer [[Special:Tags|labels]]",
+       "right-applychangetags": "Wies [[Special:Tags|labels]] tou aan bewirkinge",
+       "right-changetags": "Veug en haol willekäörige [[Special:Tags|labels]] tou en eweg van versies en logbookregele.",
+       "right-deletechangetags": "Sjaf [[Special:Tags|labels]] eweg van de database",
        "grant-generic": "Rechtegroep \"$1\"",
        "grant-group-page-interaction": "Wirk mit pagina's",
        "grant-group-file-interaction": "Wirk mit media",
        "grant-createaccount": "Maak gebroekers aan",
        "grant-createeditmovepage": "Maak, bewirk en verplaats pagina's",
        "grant-delete": "Wösj pagina's, bewirkinge en logbookregele",
+       "grant-editinterface": "Bewirk de MediaWiki-naamruumde en CSS/JavaScrip van gebroekers",
        "grant-editmycssjs": "Bewirk diene CSS/JavaScript",
        "grant-editmyoptions": "Bewirk dien veurkäöre",
        "grant-editmywatchlist": "Bewirk dien volglies",
        "grant-editpage": "Bewirk bestäöndje pagina's",
        "grant-editprotected": "Bewirk besjurmde pagina's",
+       "grant-highvolume": "Maak väöl bewirkinge in korten tied",
+       "grant-oversight": "Verstaek gebroekers en versies",
+       "grant-patrol": "Controleer verangeringe aan pagina's",
+       "grant-privateinfo": "Betrach perseunlike gegaeves",
+       "grant-protect": "Besjirm en gaef pagina's vrie",
+       "grant-rollback": "Drej bewirkinge aan pagina's trök",
+       "grant-sendemail": "Versjik e-mail aan anger gebroekers",
+       "grant-uploadeditmovefile": "Upload, vervang en verplaats bestenj",
+       "grant-uploadfile": "Upload nuuj bestenj",
        "grant-basic": "Basisrechte",
+       "grant-viewdeleted": "Betrach gewösjde bestenj en pagina's",
+       "grant-viewmywatchlist": "Betrach dien volglies",
+       "grant-viewrestrictedlogs": "Betrach vertroewelike logbookbestenj",
        "newuserlogpage": "Logbook nuuj gebroekers",
        "newuserlogpagetext": "Hiej ónger saton de nuuj ingesjreve gebroekers.",
        "rightslog": "Gebroekersrechtelogbook",
        "action-read": "dees pagina te bekieke",
        "action-edit": "dees pagina te bewirke",
        "action-createpage": "pagina's aan te make",
-       "action-createtalk": "euverlèkpagina's aan te make",
+       "action-createtalk": "dees euverlèkpagina aan te make",
        "action-createaccount": "deze gebroeker aan te make",
+       "action-autocreateaccount": "dezen externe gebroek autematis aan te make",
+       "action-history": "de gesjiedenis van dees pagina te betrachte",
        "action-minoredit": "deze bewirking es klein te markere",
        "action-move": "deze pagina te verplaatse",
        "action-move-subpages": "dees pagina en biebehurende subpagina's te verplaatse",
        "action-move-rootuserpages": "gebroekerspagina's van 't hoegste niveau te verplaatse",
+       "action-move-categorypages": "categorieje te versjuve",
        "action-movefile": "dit bestandj te hernömme",
        "action-upload": "dit besjtandj te uploade",
        "action-reupload": "dit besjtaond besjtandj te euversjrieve",
        "action-upload_by_url": "dit besjtandj vanaaf 'ne URL te uploade",
        "action-writeapi": "via de API te bewirke",
        "action-delete": "dees pagina eweg te sjaffe",
-       "action-deleterevision": "dees versie eweg te sjaffe",
+       "action-deleterevision": "versies eweg te sjaffe",
        "action-deletelogentry": "logbeukregels eweg te sjaffe",
-       "action-deletedhistory": "de eweggesjafte versies van dees pagina te bekieke",
+       "action-deletedhistory": "de eweggesjafde versies van 'n pagina te bekieke",
+       "action-deletedtext": "de eweggesjafde versieteks te betrachte",
        "action-browsearchive": "eweggesjafte pagina's te zeuke",
        "action-undelete": "dees pagina trök te zètte",
        "action-suppressrevision": "dees verborge versie te betrachte en trök te plaatse",
        "recentchanges-legend": "Opties veur recènte verangeringe",
        "recentchanges-summary": "Volg de recènste bewirkinge op deze wiki op dees pagina.",
        "recentchanges-noresult": "Gein verangeringe in dees periood kómme euverein mit de criteria.",
+       "recentchanges-timeout": "Dees zeukopdrach kos te väöl tied. Doe kins 't oppernuuj perbere mit anger zeukparamaeters.",
+       "recentchanges-network": "Door 'n technische fout kinne gein rizzeltaote waere gelaje. Doe kins perbere de pagina te vernuje.",
+       "recentchanges-notargetpage": "Veur hiebaove 'ne paginanaam in veur verwantje verangeringe veur dees pagina te zeen.",
        "recentchanges-feed-description": "Volg de meis recente bewerkinge in deze wiki via deze feed.",
        "recentchanges-label-newpage": "Mit dees verangering is 'n nuuj pagina aangemaak",
        "recentchanges-label-minor": "Dit is 'n klein bewirking",
        "rcfilters-group-results-by-page": "Resultate per pagina groepere",
        "rcfilters-activefilters": "Aktief filters",
        "rcfilters-advancedfilters": "Geavanceerde filters",
-       "rcfilters-limit-title": "Te toeane verangeringe",
+       "rcfilters-limit-title": "Te toeane rizzeltaote",
+       "rcfilters-limit-and-date-label": "$1 {{PLURAL:$1|verangering|verangeringe}}, $2",
+       "rcfilters-date-popup-title": "Te doorzeuke tiedsfraem",
        "rcfilters-days-title": "Recènte daag",
        "rcfilters-hours-title": "Recènte oere",
        "rcfilters-days-show-days": "$1 {{PLURAL:$1|daag}}",
        "rcfilters-days-show-hours": "$1 {{PLURAL:$1|oer}}",
        "rcfilters-highlighted-filters-list": "Oetgeleech: $1",
        "rcfilters-quickfilters": "Opgesjlage filters",
-       "rcfilters-quickfilters-placeholder-title": "Nag gein opgeslage links",
+       "rcfilters-quickfilters-placeholder-title": "Nag gein opgeslage filtjers",
+       "rcfilters-quickfilters-placeholder-description": "Veur dien filterinstèllinge op te slaon en later te kónne herbroeke, klik op 't blaadwiezerpictogram in 't Aktieve-Filtergebeed hie-ónger.",
        "rcfilters-savedqueries-defaultlabel": "Opgesjlage filters",
        "rcfilters-savedqueries-rename": "Herneum",
        "rcfilters-savedqueries-setdefault": "Stèl in es standerd",
        "rcfilters-savedqueries-apply-and-setdefault-label": "Sjtandaard filter aanmake",
        "rcfilters-savedqueries-cancel-label": "Braek aaf",
        "rcfilters-savedqueries-add-new-title": "Hujige filterinstèllinge opsjlaon",
+       "rcfilters-savedqueries-already-saved": "Dees filters zint al opgeslage. Veranger dien instèlling veur 'ne nuje filter op te slaon.",
        "rcfilters-restore-default-filters": "Zèt sjtanderd filters trögk",
        "rcfilters-clear-all-filters": "Sjaf alle filters eweg",
        "rcfilters-show-new-changes": "Tuin nuujste wieziginge",
-       "rcfilters-search-placeholder": "Filter recènte verangeringe (blajer of begin mit intikke)",
+       "rcfilters-search-placeholder": "Filter verangeringe (gebroek 't menu of zeuk op filternaam)",
        "rcfilters-invalid-filter": "Óngeljige filter",
        "rcfilters-empty-filter": "Gein aktief filters. Alle biedrage waere waergegaeve.",
        "rcfilters-filterlist-title": "Filters",
        "rcfilters-highlightmenu-title": "Kees 'n kluuer",
        "rcfilters-highlightmenu-help": "Kees 'n kluuer veur dees eigesjappe oet te lichte",
        "rcfilters-filterlist-noresults": "Gein filters gevónje",
+       "rcfilters-noresults-conflict": "Gein rizzeltaote gevónje ómdet de zeukcriteria conflictere mit einanger",
+       "rcfilters-state-message-subset": "Deze filter haet gein effèk ómdet de rizzeltaote ouch waere gefilterd door {{PLURAL:$2|de breiere filter|de breier filters}} (perbeer dees te markere veur ze te óngersjeie): :$1",
+       "rcfilters-state-message-fullcoverage": "'t Sillektere van alle filters in dees groep duit 'tzelvende es geine filter sillektere, wodoor deze filter gein effèk haet. De groep bevatj: $1",
+       "rcfilters-filtergroup-authorship": "Sjriever van de biedraag",
+       "rcfilters-filter-editsbyself-label": "Verangeringe van dichzelf",
+       "rcfilters-filter-editsbyself-description": "Dien eige biedraag.",
+       "rcfilters-filter-editsbyother-label": "Verangeringe door angere",
+       "rcfilters-filter-editsbyother-description": "Alle verangere behauve die die det se zelf höbs gemaak.",
+       "rcfilters-filtergroup-userExpLevel": "Gebroekersregistrasie en -ervaring",
+       "rcfilters-filter-user-experience-level-registered-label": "Vasgelag",
+       "rcfilters-filter-user-experience-level-registered-description": "Aangemelde bewirkers.",
+       "rcfilters-filter-user-experience-level-unregistered-label": "Neet-vasgelag",
+       "rcfilters-filter-user-experience-level-unregistered-description": "Bewirkers die neet zeen aangemeld.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Nujelinge",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Aangemelde gebroekers die minder es 10 bewirkinge höbbe gemaak of gein 4 daag aktief zeen gewaes.",
+       "rcfilters-filter-user-experience-level-learner-label": "Lieërlinge",
+       "rcfilters-filter-user-experience-level-learner-description": "Aangemelde gebroekers mit mieër ervarings es \"nujelinge\", meh minder es \"ervare gebroekers\".",
+       "rcfilters-filter-user-experience-level-experienced-label": "Ervare gebroekers",
+       "rcfilters-filter-user-experience-level-experienced-description": "Aangemelde gebroekers mit mieër es 500 bewirkinge en 30 daag van aktiviteit.",
+       "rcfilters-filtergroup-automated": "Autematische biedraag",
        "rcfilters-filter-bots-label": "Bot",
+       "rcfilters-filter-bots-description": "Bewirkinge mit behölp van geautomatiseerde hölpmiddele.",
        "rcfilters-filter-humans-label": "Minsjelik (geine bot)",
+       "rcfilters-filter-humans-description": "Bewirkinge door miensjelike gebroekers.",
+       "rcfilters-filtergroup-reviewstatus": "Beoeardeilingsstaot",
+       "rcfilters-filter-patrolled-label": "Gecontroleerd",
+       "rcfilters-filter-patrolled-description": "Bewirkinge gemarkeerd es gecontroleerd.",
+       "rcfilters-filter-unpatrolled-label": "Óngecontroleerd",
+       "rcfilters-filter-unpatrolled-description": "Bewirkinge die neet zeen gemarkeerd wore es gecontroleerd.",
+       "rcfilters-filtergroup-significance": "Wichtigheid",
+       "rcfilters-filter-minor-label": "Klein bewirkinge",
+       "rcfilters-filter-minor-description": "Bewirkinge die zeen gelabeld door de gebroeker es klein.",
+       "rcfilters-filter-major-label": "Gein klein bewirkinge",
+       "rcfilters-filter-major-description": "Bewirkinge die neet zint gelabeld wore es klein.",
+       "rcfilters-filtergroup-watchlist": "Gevolgde pagina's",
        "rcfilters-filter-watchlist-watched-label": "Op de volglies",
+       "rcfilters-filter-watchlist-watched-description": "Verangeringe aan pagina's op dien volglies.",
        "rcfilters-filter-watchlist-watchednew-label": "Nuuj volgliesverangeringe",
+       "rcfilters-filter-watchlist-watchednew-description": "Verangeringe aan pagina's die op dien volglies staon die se nag neet höbs bezoch saer de verangering.",
        "rcfilters-filter-watchlist-notwatched-label": "Neet op de volglies",
+       "rcfilters-filter-watchlist-notwatched-description": "Al behauve verangeringe aan pagina's die op dien volglies staon.",
+       "rcfilters-filtergroup-watchlistactivity": "Volgliesaktiviteit",
+       "rcfilters-filter-watchlistactivity-unseen-label": "Ónbezochde verangeringe",
+       "rcfilters-filter-watchlistactivity-unseen-description": "Verangeringe aan pagina's die se nag neet höbs bezoch saer de verangering.",
+       "rcfilters-filter-watchlistactivity-seen-label": "Bezochde verangeringe",
+       "rcfilters-filter-watchlistactivity-seen-description": "Verangeringe aan pagina's die se höbs bezoch saer de verangering.",
+       "rcfilters-filtergroup-changetype": "Saort aan verangering",
        "rcfilters-filter-pageedits-label": "Paginabewirkinge",
+       "rcfilters-filter-pageedits-description": "Verangeringe aan de wiki-inhawd, discussies, categoriebesjrievinge...",
+       "rcfilters-filter-newpages-label": "Nuuj pagina's",
        "rcfilters-filter-newpages-description": "Bewirkinge die 'n nuuj pagina aanmake.",
+       "rcfilters-filter-categorization-label": "Categorieverangeringe",
+       "rcfilters-filter-categorization-description": "Tuin categorisatie van pagina's.",
        "rcfilters-filter-logactions-label": "Geregistreerde akties",
+       "rcfilters-filter-logactions-description": "Administratief hanjelinge, nuuj konto's, eweggesjafde pagina's, uploads...",
+       "rcfilters-hideminor-conflicts-typeofchange-global": "De \"kleine bewirkinge\"-filter is in stried mit ein of mieëder saorte verangeringsfilters, ómdet bestumde saorte verangeringe neet es \"klein\" kinne waere aangeweze. De in stried zeendje filters zint gemarkeerd in 't Aktieve-filtervak hiebaove.",
+       "rcfilters-hideminor-conflicts-typeofchange": "Bestumde saorte aan verangeringe kónne neet waer aangemirk es \"klein\", dus deze filter is in stried mit de volgende saorte verangeringsfilters: $1",
+       "rcfilters-typeofchange-conflicts-hideminor": "Dit type aan verangeringsfilter is in stried mit de \"kleine verangeringe\"-filter. Bestumde types aan verangeringe kónne neet es \"klein\" waere aangeweze.",
+       "rcfilters-filtergroup-lastRevision": "Litste versies",
+       "rcfilters-filter-lastrevision-label": "Litste versie",
+       "rcfilters-filter-lastrevision-description": "Allein de recènste verangering aan de pagina.",
+       "rcfilters-filter-previousrevision-label": "Neet de litste versie",
+       "rcfilters-filter-previousrevision-description": "Alle verangeringe die neet de \"litste versie\" zeen.",
+       "rcfilters-filter-excluded": "Oetgeslaote",
        "rcfilters-tag-prefix-namespace-inverted": "<strong>:neet</strong> $1",
+       "rcfilters-exclude-button-off": "Sloet gesillekteerde oet",
+       "rcfilters-exclude-button-on": "Sloet gesillekteerde oet",
+       "rcfilters-view-tags": "Gelabelde bewirkinge",
+       "rcfilters-view-namespaces-tooltip": "Filter rizzeltaote op naamruumde",
+       "rcfilters-view-tags-tooltip": "Filter rizzeltaote middels bewirkingslabels",
+       "rcfilters-view-return-to-default-tooltip": "Trök nao 't filterhoufmenu",
+       "rcfilters-view-tags-help-icon-tooltip": "Mieër infermasie euver gelabelde bewirkinge",
+       "rcfilters-liveupdates-button": "Live-updates",
+       "rcfilters-liveupdates-button-title-on": "Zèt live-updates oet",
+       "rcfilters-liveupdates-button-title-off": "Tuin nuuj verangeringe op 't moment det ze plaatshöbbe",
+       "rcfilters-watchlist-markseen-button": "Markeer alle verangeringe es bezoch",
+       "rcfilters-watchlist-edit-watchlist-button": "Bewirk dien volglies",
+       "rcfilters-watchlist-showupdated": "Verangeringe aan pagina's die se neet höbs bezoch saer de verangeringe zint aangebrach wore, waere <strong>diek</strong> en mit gevölde opsommingsteikes getuind.",
+       "rcfilters-preference-label": "Verstaek de verbaeterde versie van Recènte Verangeringe",
+       "rcfilters-preference-help": "Zèt 't aad uterlik van de pagina trök, inclusief alle hölpmiddele die saer den zint tougeveug wore.",
+       "rcfilters-filter-showlinkedfrom-label": "Tuin verangeringe op pagina's gelink vanaaf",
+       "rcfilters-filter-showlinkedfrom-option-label": "<strong>Pagina's gelink vanaaf</strong> de gesillekteerde pagina",
+       "rcfilters-filter-showlinkedto-label": "Tuin verangeringe op pagina's gelink aan",
+       "rcfilters-filter-showlinkedto-option-label": "<strong>Pagina's gelink aan</strong> de gesillekteerde pagina",
+       "rcfilters-target-page-placeholder": "Veur 'ne paginanaam (of categorie) in",
        "rcnotefrom": "{{PLURAL:$5|Verangering|Verangeringe}} saer <strong>$3 óm $4</strong> (maximaal <strong>$1</strong> {{PLURAL:$1|verangering|verangeringe}}).",
+       "rclistfromreset": "Stèl de datumsilleksie oppernuuj in",
        "rclistfrom": "Tuin de verangeringe vanaaf $3 $2",
        "rcshowhideminor": "$1 klein bewèrkinge",
        "rcshowhideminor-show": "Tuin",
        "recentchangeslinked-feed": "Volg links",
        "recentchangeslinked-toolbox": "Volg links",
        "recentchangeslinked-title": "Verangeringe verwant mit \"$1\"",
-       "recentchangeslinked-summary": "Dees speciaal pagina tuint de lètste bewirkinge op pagina's die gelink waere vanaaf deze pagina. Pagina's die op [[Special:Watchlist|dien volglies]] staon waere '''vet''' weergegaeve.",
+       "recentchangeslinked-summary": "Veur 'n paginanaam in veur bewirkinge te zeen van pagina's wohaer vanaaf die pagina weurt verweze of die daohaer verwieze. (Veur lede van 'n categorie te zeen, veur den <kbd>Category:''Naam van categorie''</kbd> in.) Bewirkinge van pagina's op [[Special:Watchlist|dien volglies]] waere <strong>diek</strong> waergaove.",
        "recentchangeslinked-page": "Paginanaam:",
        "recentchangeslinked-to": "Verangeringe weergaeve nao de gelinkde pagina's",
        "recentchanges-page-added-to-category": "[[:$1]] aan categorie tougeveug gewaore",
        "uploadbtn": "bestandj uploade",
        "reuploaddesc": "Truuk nao 't uploadformeleer.",
        "upload-tryagain": "Wèrk bestandjsbesjrieving bie",
+       "upload-tryagain-nostash": "Versjik 't oppernuuj ge-uploade bestandj en de aangepasde besjrieving",
        "uploadnologin": "Neet aangemèld",
-       "uploadnologintext": "De mos [[Special:UserLogin|zien aangemèld]] om besjtande te uploade.",
+       "uploadnologintext": "Doe mós $1 veur bestenj te kónne uploade.",
        "upload_directory_missing": "De uploadmap ($1) is neet aanwezig en kos neet aangemaak waere door de webserver.",
        "upload_directory_read_only": "De webserver kin neet sjrieve in de uploadmap ($1).",
        "uploaderror": "fout in 't uploade",
        "upload-recreate-warning": "'''Waorsjoewing: dr is e bestandj mit deze naam verwiederd of hernump.'''\n\nHiejonger waere t verwiederlogbook en t hernummingslogbook veur dees pagina waergaeve:",
        "uploadtext": "Gebroek 't óngersjtaond formeleer óm besjtande te uploade.\nÓm ierder biegedone besjtande te betrachte of te zeuke, gank nao de [[Special:FileList|lies van geüploade besjtande]].\nUploads waere ouch biegehauwte in 't [[Special:Log/upload|uploadlogbook]], ewegsjaffinge in 't [[Special:Log/delete|wislogbook]]\n\nGebroek óm 'n plaetje of 'n besjtand in 'n pagina op te numme 'ne link in de vörm:\n* '''<nowiki>[[</nowiki>{{ns:file}}<nowiki>:Besjtand.jpg]]</nowiki>''' veur vól versies\n* '''<nowiki>[[</nowiki>{{ns:file}}<nowiki>:Besjtand.png|200px|thumb|alternatieve teks]]</nowiki>''' veur 'n 200px breid plaetje mit alternatieve teks es besjrieving\nof veur mediabesjtande:\n* '''<nowiki>[[</nowiki>{{ns:media}}<nowiki>:Besjtand.ogg]]</nowiki>''' óm gewoen nao 't besjtand te verwieze zónger 't waer te gaeve\n\nDe lètste link is bedoeld veur mediabesjtande die gein plaetje zeen.",
-       "upload-permitted": "Toegelaote bestandstypes: $1.",
-       "upload-preferred": "Aangeweze bestandstypes: $1.",
-       "upload-prohibited": "Verbaoje bestandstypes: $1.",
+       "upload-permitted": "Toegelaote {{PLURAL:$2|bestandjstype|bestandjstypes}}: $1.",
+       "upload-preferred": "Aangeweze {{PLURAL:$2|bestandjstype|bestandjstypes}}: $1.",
+       "upload-prohibited": "Verbaoje {{PLURAL:$2|bestandjstype|bestandjstypes}}: $1.",
        "uploadlogpage": "Uploadlogbook",
        "uploadlogpagetext": "Hieonger de lies mit de meist recent ge-uploade besjtande. Alle tiede zunt servertiede.",
        "filename": "Besjtandsnaom",
        "largefileserver": "'t Bestandj is groter dan de instelling van de server toestuit.",
        "emptyfile": "'t Besjtand wats re höbs geupload is laeg. Dit kump waorsjienliek door 'n typfout in de besjtandsnaom. Kiek estebleef ofs te dit besjtand wirkelik wils uploade.",
        "windows-nonascii-filename": "Deze wiki ongersteunt gein bestandjsname mit speciaal teikes.",
-       "fileexists": "D'r is al e besjtand mit dees naam, bekiek <strong>[[:$1]]</strong> of se dat besjtand mesjien wils vervange.\n[[$1|thumb]]",
+       "fileexists": "E bestandj mit deze naam besteit al.\nControleer <strong>[[:$1]]</strong> es se ónzeker bös of se 't hujig bestandj wils euversjrieve.\n[[$1|thumb]]",
        "filepageexists": "De besjrievingspagina veur dit besjtand besjteit al op <strong>[[:$1]]</strong>, meh d'r besjteit gein besjtand mit deze naam. De samevatting dies te höbs opgegaeve zal neet op de besjrievingspagina versjiene. Bewirk de pagina handjmaotig óm dien besjrieving dao te tuine.\n[[$1|thumb]]",
-       "fileexists-extension": "'n bestand met dezelfde naam bestuit al: [[$2|thumb]]\n* Naam van 't geüploade bestand: <strong>[[:$1]]</strong>\n* Naam van 't bestaonde bestand: <strong>[[:$2]]</strong>\nLèver 'ne angere naam te keze.",
+       "fileexists-extension": "E bestandj mit dezelfde naam bestuit al: [[$2|thumb]]\n* Naam van 't geüpload bestandj: <strong>[[:$1]]</strong>\n* Naam van 't bestäönd bestandj: <strong>[[:$2]]</strong>\nWils se mesjiens leber 'ne óngersjeiendjere naam broeke?",
        "fileexists-thumbnail-yes": "'t Liek 'n afbeilding van 'n verkleinde grootte te zeen ''(thumbnail)''. [[$1|thumb]]\nLèver 't bestand <strong>[[:$1]]</strong> te controlere.\nEs 't gecontroleerde bestand dezelfde afbeilding van oorspronkelike grootte is, is 't neet noodzakelik 'ne extra thumbnail te uploade.",
        "file-thumbnail-no": "De bestandsnaam begint met <strong>$1</strong>.\n't Liek 'n verkleinde afbeelding te zeen ''(thumbnail)''.\nEsse deze afbeelding in volledige resolutie höbs, upload dae afbeelding den. Wiezig anges estebleef de bestandsnaam.",
        "fileexists-forbidden": "d'r Besteit al 'n bestand met deze naam det neet kin waere euevergesjreve. Upload dien bestand onger 'ne angere naam.\n[[File:$1|thumb|center|$1]]",
        "fileexists-shared-forbidden": "d'r Besteit al 'n bestand met deze naam bie de gedeilde bestenj. Upload 't bestand onger  'ne angere naam.\n[[File:$1|thumb|center|$1]]",
+       "fileexists-no-change": "d'n Upload is 'n exakte kopie vanne hujige versie van <strong>[[:$1]]</strong>.",
+       "fileexists-duplicate-version": "d'n Upload is 'n exakte kopie van {{PLURAL:$2|'n ajer versie|ajer versies}} van <strong>[[:$1]]</strong>.",
        "file-exists-duplicate": "Dit besjtandj is identiek aon {{PLURAL:$1|'t volgende besjtandj|de volgende besjtande}}:",
        "file-deleted-duplicate": "n Bestandj det identiek is aan dit bestandj ([[:$1]]) is veurhaer verwiederd.\nRaodpleeg t verwiederingslogbook veurdet se wiejer geis.",
+       "file-deleted-duplicate-notitle": "'n Eweggesjaf bestandj is aangetroffe det identiek is aan dit bestandj, en de naam van 't bestandj is óngerdrök.\nVraog emes dae óngerdrökdje bestandjsgegaeves kan bekieke veur de situaasje oppernuuj te beoeardeile veurdet se 't bestandj oppernuuj toeveugs.",
        "uploadwarning": "Upload waarsjuwing",
        "uploadwarning-text": "Pas de ongerstaonde bestandjsbesjrieving aan en perbeer t daonao opnuuj.",
+       "uploadwarning-text-nostash": "Upload 't bestandj oppernuuj; pas de besjrieving hie-ónger aan en perbeer 't oppernuuj.",
        "savefile": "Bestand opsjlaon",
        "uploaddisabled": "Uploade is oetgesjakeld",
        "copyuploaddisabled": "t Uploade van bestenj via nen URL is oetgezat.",
        "uploaddisabledtext": "'t uploade van bestenj is oetgesjakeld.",
        "php-uploaddisabledtext": "PHP-bestanduploads zeen oetgesjakeld. Controleer a.u.b. de file_uploads-instelling.",
        "uploadscripted": "Dit bestandj bevat HTML- of scriptcode die foutief door diene browser weergegaeve kinne waere.",
+       "upload-scripted-pi-callback": "Kan gei bestandj uploade det instruksjes veur XML-stylesheetverwirking haet.",
+       "upload-scripted-dtd": "Kan gein SVG-bestenj uploade die 'n DTD-declaratie bevatte die neet aan de standerd volduit.",
+       "uploaded-script-svg": "Scripbaar element \"$1\" in 't ge-upload SVG-bestandj gevónje.",
+       "uploaded-hostile-svg": "Ónveilige CSS in 't \"style\"-element van 't ge-upload SVG-bestandj gevónje.",
+       "uploaded-event-handler-on-svg": "'t Instèlle van de event-handlereigensjappe <code>$1=\"$2\"</code> is neet toegestange in SVG-bestenj.",
+       "uploaded-href-attribute-svg": "<a> elemente kónne allein verwieze (href) nao gegaeves: (ingebèd bestandj), http:// of https://, of 'n url-fragment (#, van 't document zelf). Veur anger elemente wie <image> zint allein gegaeves: en url-fragmente toegestange. Perbeer plaetjes in te veuge wen se diene SVG oetveurs. Aangetroffe is <code>&lt;$1 $2=\"$3\"&gt;</code>.",
+       "uploaded-href-unsafe-target-svg": "href nao ónveilige gegaeves: URI-doel <code>&lt;$1 $2=\"$3\"&gt;</code> in 't geüpload SVG-bestandj vónje.",
+       "uploaded-animate-svg": "\"animate\"-label gevónje in 't geüpload svg-bestandj dae href zów kónne verangere, mit behölp van 't \"from\"-attribuut <code>&lt;$1 $2=\"$3\"&gt;</code>.",
+       "uploaded-setting-event-handler-svg": "'t Instèlle van de eventhandlereigensjappe is geblokkeerd, <code>&lt;$1 $2=\"$3\"&gt;</code> gevónje in 't geüpload SVG-bestandj.",
+       "uploaded-setting-href-svg": "Gebroek van 't label \"set\" veur 't attribuut \"href\" tou te veuge aan 't eljerelement is neet meugelik.",
+       "uploaded-wrong-setting-svg": "Gebroek van 't label \"set\" veur 't touveuge van 'n extern brón, gegaeves of scrip aan attribute is neet tougestange. 't Volgende is aangetroffe in 't geüpload SVG-bestandj: <code>&lt;set to=\"$1\"&gt;</code>",
+       "uploaded-setting-handler-svg": "SVG-bestenj die de eigensjap \"handler\" instèlle mit remote, data of script waere geblokkeerd. <code>$1=\"$2\"</code> is aangetroffe in 't geüpload SVG-bestandj.",
+       "uploaded-remote-url-svg": "SVG-bestenj die de style-eigensjap gebroeke mit 'ne remote URL waere geblokkeerd. <code>$1=\"$2\"</code> is aangetroffe in 't geüpload SVG-bestandj.",
+       "uploaded-image-filter-svg": "Plaetjesfilter mit URL aangetroffe: <code>&lt;$1 $2=\"$3\"&gt;</code> in 't geüpload SVG-bestandj.",
+       "uploadscriptednamespace": "Dit SVG-bestandj bevat 'n óngeljige naamruumde <nowiki>\"$1\"</nowiki>.",
+       "uploadinvalidxml": "De XML in 't geüpload bestandj kós neet waere verwirk.",
        "uploadvirus": "'t Bestand bevat 'n virus! Details: $1",
        "uploadjava": "'t Bestandj is e ZIP-bestandj det 'n Java .class-bestandj bevat.\n't Uploade van Java-bestenj is neet toegestaon omdet hiemit beveiligingsinstellinge omzeild kinne waere.",
        "upload-source": "Brónbestandj",
        "upload-options": "Uploadinstellinge",
        "watchthisupload": "Volg dit bestandj",
        "filewasdeleted": "d'r Is eerder 'n bestandj mit deze naam verwiederd. Raodpleeg 't $1 veurdetse 't opnuuj toevoegs.",
+       "filename-thumb-name": "Dit zuut oet wie de naam van e miniatuurbestandj. Upload estebleef gein miniature oppernuuj in de wiki. Is det neet 't val, verbaeter den de bestandjsnaam nao 'ne meiningsvollere naam zónger 't veurveugsel veur miniature.",
        "filename-bad-prefix": "De naam van 't bestand detse aan 't uploade bös begint met '''\"$1\"''', wat 'ne neet-besjrievende naam is dae meestal automatisch door 'ne digitale camera wörd gegaeve. Kees estebleef 'ne dudelike naam veur dien bestand.",
        "upload-proto-error": "Verkeerd protocol",
        "upload-proto-error-text": "Uploads via deze methode vereise URL's die beginne met <code>http://</code> of <code>ftp://</code>.",
        "upload-too-many-redirects": "De URL bevadde te väöl doorverwiezinge",
        "upload-http-error": "dr Is n HTTP-fout opgetraoje: $1",
        "upload-copy-upload-invalid-domain": "Kopië oplajen is neet besjikbaar in dit domein.",
+       "upload-foreign-cant-upload": "Deze wiki is neet ingestèld veur bestenj te uploade nao de bestandjsrepositoir op 'n anger site.",
+       "upload-foreign-cant-load-config": "'t Laje van de instèllinge veur bestandjsuploads nao de extern opslaagplaats is mislök.",
+       "upload-dialog-disabled": "Bestandjsupload mit behölp van 't dialoogvinster is oetgezatj op deze wiki.",
        "upload-dialog-title": "Besjtand uploade",
        "upload-dialog-button-cancel": "Aafbraeke",
        "upload-dialog-button-back": "Trök",
        "upload-form-label-infoform-name": "Naom",
        "upload-form-label-infoform-name-tooltip": "'ne Kórte naam veur 't bestandj (de bestandjsnaam). Doe kins platte teks mit spaties gebroeke. Gaef de besjtandsextensie neet óp.",
        "upload-form-label-infoform-description": "Besjrieving",
+       "upload-form-label-infoform-description-tooltip": "Besjrief kort al det veur 't werk van belang is.\nBeneum veur e plaetje de wichtigste zake die zint aafgebildj, esouch de plaats of gelaengenheid.",
        "upload-form-label-usage-title": "Gebroek",
        "upload-form-label-usage-filename": "Bestandjsnaam",
        "upload-form-label-own-work": "Dit is mien eige werk",
        "upload-form-label-infoform-categories": "Categorieë",
        "upload-form-label-infoform-date": "Datum",
        "upload-form-label-own-work-message-generic-local": "Ich bevestig dat ich dit besjtand upload onger de veurwaarde en 't licentiebeleid van {{SITENAME}}.",
+       "upload-form-label-not-own-work-message-generic-local": "Es se neet in staot bös dit bestandj te uploade ónger 't beleid van {{SITENAME}}, sloet den dit vinster en kees 'n anger methood.",
+       "upload-form-label-not-own-work-local-generic-local": "Doe kans ouch de [[Special:Upload|standerd uploadpagina]] broeke.",
+       "upload-form-label-own-work-message-generic-foreign": "Ich verstaon det ich dit bestandj upload nao 'n gedeildje opslaagplaats. Ich bevestig det ich voldoon aan de veurwaerd en 't licensjebeleid dao.",
+       "upload-form-label-not-own-work-message-generic-foreign": "Es se neet in staot bös dit bestandj te uploade ónger 't beleid van de gedeildje opslaagplaats, sloet den dit vinster en kees 'n anger methood.",
+       "upload-form-label-not-own-work-local-generic-foreign": "Doe kins ouch perbere de [[Special:Upload|uploadpagina van {{SITENAME}}]] te gebroeke es dit bestandj kan waere geüpload ónger 't beleid van dao.",
        "backend-fail-stream": "'t Waes neet mäögelik  't besjtand $1 te streame.",
        "backend-fail-backup": "'t Waes neet mäögeljk 'n reservekopie van 't besjtand $1 te make.",
        "backend-fail-notexists": "'t Besjtand $1 besjteit neet.",
        "backend-fail-notsame": "Dao besjteit al 'n neet-identiek besjtand op de plaats $1.",
        "backend-fail-invalidpath": "$1 is gein geljig opslaagpad.",
        "backend-fail-delete": "Kós bestjand $1 neet ewegsjaffe.",
+       "backend-fail-describe": "Kós de metadata neet aanpasse veur 't bestandj \"$1\".",
        "backend-fail-alreadyexists": "'t Besjtand $1 besjteit al.",
        "backend-fail-store": "'t Waes neet mäögelik 't besjtand $1 op te sloon op lokasie $2.",
        "backend-fail-copy": "Besjtand $1 kós neet nao $2 gekopieerd waere.",
        "backend-fail-read": "Kós bestjand $1 neet laeze.",
        "backend-fail-create": "Kós bestandj $1 neet sjrieve.",
        "backend-fail-maxsize": "'t Waar neet meugelik 't bestandj $1 te besjrieve went 't is grótter es {{PLURAL:$2|eine byte|$2 byte}}.",
-       "backend-fail-readonly": "Vannen opslaag \"$1\" kin op dit memènt allein gelaeze waere. De opgegaeve raeje is: \"$2\"",
+       "backend-fail-readonly": "Vannen opslaag \"$1\" kin op dit memènt allein gelaeze waere. De opgegaeve raeje is: <em>$2</em>",
        "backend-fail-synced": "'t Bestandj \"$1\" bevindj zich in 'nen ónsamehangendje toestandj inne intern opslaagbackends.",
        "backend-fail-connect": "Kós de bestandjsbackend neet verbinje mitte opslaagbackend \"$1\".",
        "backend-fail-internal": "'n Ónbekèndje fout is ópgetaoje innen opslaagbackend \"$1\".",
        "backend-fail-contenttype": "Kós 't inhawdtype van 't bestandj om es \"$1\" op te sjlaon neet bepaole.",
        "backend-fail-batchsize": "Reiks van $1 {{PLURAL:$1|bestandjsoperatie|bestandjsoperaties}} in de opslaagbackend; de limiet is $2 {{PLURAL:$2|operatie|operaties}}.",
-       "backend-fail-usable": "Kós 't bestandj $1 neet besjraeve vanwaenge te mèn rèchte of aafwaezige mappe/kóntaeners.",
+       "backend-fail-usable": "Kós 't bestandj $1 neet besjrieve of laeze vanwaenge te mèn rèchte of aafwaezige mappe/kóntaeners.",
        "filejournal-fail-dbconnect": "Kós neet verbinje mit de journaaldatabase veur de opslaagbackend \"$1\".",
        "filejournal-fail-dbquery": "Kós de journaaldatabase neet biewèrke veur de opslaagbackend \"$1\".",
        "lockmanager-notlocked": "Kós \"$1\" neet vrijgaeve; 't waes neet vergrendeld.",
        "lockmanager-fail-closelock": "Kós 't vergrendelingsbesjtand veur \"$1\" neet sjlete.",
        "lockmanager-fail-deletelock": "Kós 't vergrendelingsbesjtand veur \"$1\" neet ewegsjaffe.",
        "lockmanager-fail-acquirelock": "Kós \"$1\" neet vergrendele.",
-       "lockmanager-fail-openlock": "Kós 't vergrendelingsbesjtand veur \"$1\" neet äöpene.",
+       "lockmanager-fail-openlock": "Kós 't vergrendelingsbesjtand veur \"$1\" neet äöpene. Verzeker dich d'rvan det de uploadmap good is ingestaldj en diene webserver toustumming haet veur nao die map te sjrieve. Zuuch https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgUploadDirectory veur mieër infermasie.",
        "lockmanager-fail-releaselock": "Kós de vergrendeling veur \"$1\" neet opheffe.",
        "lockmanager-fail-db-bucket": "Kós neet in kontak kómme mit genóg vergrendelingsdatabases in de bucket $1.",
        "lockmanager-fail-db-release": "'t Waar neet meugelik ómme vergrendeling veure database $1 óp tö höffe.",
        "uploadstash-clear": "Wis verbórge bestenj",
        "uploadstash-nofiles": "d'r Zeen gein verbórge bestenj.",
        "uploadstash-badtoken": "Kin de hanjeling neet oetveure. Dit kump mesjien omdet dien bewèrkingsrefs verloupe zeen. Perbeer 't obbenuits.",
-       "uploadstash-errclear": "Wisse van bestandj mislök.",
+       "uploadstash-errclear": "Wisse van bestenj mislök.",
        "uploadstash-refresh": "Wèrk lies van bestenj bie",
        "uploadstash-thumbnail": "Betrach miniatuuraafbeelding",
+       "uploadstash-exception": "Kós de upload neet opslaon in de opslaagplaats ($1): \"$2\".",
+       "uploadstash-bad-path": "Paad besteit neet.",
+       "uploadstash-bad-path-invalid": "Paad is óngeljig.",
+       "uploadstash-bad-path-unknown-type": "Ónbekand type \"$1\".",
+       "uploadstash-bad-path-unrecognized-thumb-name": "Ónbekande miniatuurnaam.",
+       "uploadstash-bad-path-no-handler": "Geine hanjeleer gevónje veur mime $1 van bestandj $2.",
+       "uploadstash-bad-path-bad-format": "Sleutel \"$1\" is neet in 't juuste formaot.",
+       "uploadstash-file-not-found": "Sleutel \"$1\" neet gevónje in d'n opslaag.",
+       "uploadstash-file-not-found-no-thumb": "Kós geine miniatuur verkriege.",
+       "uploadstash-file-not-found-no-local-path": "Gei lokaal paad veur gesjaold plaetje.",
+       "uploadstash-file-not-found-no-object": "Kós gei lokaal bestandjsveurwerp veur de miniatuur aanmake.",
+       "uploadstash-file-not-found-no-remote-thumb": "Ophaole van de miniatuur mislök: $1\nurl = $2",
+       "uploadstash-file-not-found-missing-content-type": "\"content-type\"-kopteks óntbrèk.",
+       "uploadstash-file-not-found-not-exists": "Kan 't paad neet vinje of 't bestandj is geine platten teks.",
+       "uploadstash-file-too-large": "Kan gei bestandj versjikke det grótter is es $1 bytes.",
+       "uploadstash-not-logged-in": "Geine gebroeker is aangemeld; bestenj mótte van 'ne gebroeker zeen.",
+       "uploadstash-wrong-owner": "Dit bestandj ($1) is neet van d'n hujige gebroeker.",
+       "uploadstash-no-such-key": "Geine sleutel mit deze naam ($1); kan de sleutel neet ewegsjaffe.",
+       "uploadstash-no-extension": "Extensie óntbrèk.",
+       "uploadstash-zero-length": "Bestandjsgruuedje is nól.",
        "invalid-chunk-offset": "Óngèljige chunckaafzatj",
        "img-auth-accessdenied": "Toegank geweigerd",
        "img-auth-nopathinfo": "PATH_INFO óntbrèk.\nDiene server is neet ingesteld om dees informatie door te gaeve.\nMisjien gebroek deze CGI, en dan wört img_auth neet ongersteund.\nZuuch https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization aafbeildingsrechte veur mee informatie.",
        "license": "Licentie:",
        "license-header": "Licentie:",
        "nolicense": "Maak 'ne keuze",
+       "licenses-edit": "Bewirk licensieopsjes",
        "license-nopreview": "(Veurvertuining neet besjikbaar)",
-       "upload_source_url": " ('ne geldige, publiek toegankelike URL)",
-       "upload_source_file": " ('n bestand op diene computer)",
+       "upload_source_url": "(e bestandj van 'ne geldige, publiek toegankelike URL)",
+       "upload_source_file": "('n bestand op diene computer)",
        "listfiles-delete": "Ewegsjaffe",
-       "listfiles-summary": "Óp dees speciaal pagina zeen alle toegeveugde besjtande te bekieke.\nEs dees pagina weurt gefilterd op gebroeker, waere allein bestenj wo de gebroeker de lètste versie van haet geüpload waergegaeve.",
+       "listfiles-summary": "Óp dees speciaal pagina zeen alle toegeveugde besjtenj te bekieke.",
        "listfiles_search_for": "Zeuk nao bestandj:",
        "listfiles-userdoesnotexist": "Gebroeker \"$1\" is neet geregistreerd.",
        "imgfile": "bestandj",
        "listfiles_size": "Gruutde (bytes)",
        "listfiles_description": "Besjrieving",
        "listfiles_count": "Versies",
+       "listfiles-show-all": "Num aaj versies van bestenj op",
        "listfiles-latestversion": "Hujige versie",
        "listfiles-latestversion-yes": "Jao",
        "listfiles-latestversion-no": "Nein",
        "filerevert-submit": "Trökdrèjje",
        "filerevert-success": "'''[[Media:$1|$1]]''' is trökgedrèjt tot de [$4 versie op $2, $3]",
        "filerevert-badversion": "d'r is geine vörge lokale versie van dit bestand mit 't opgegaeve tiejdstip.",
+       "filerevert-identical": "De hujige versie van 't bestandj is al identiek aan de gesillekteerde.",
        "filedelete": "Wis $1",
        "filedelete-legend": "Wis bestand",
        "filedelete-intro": "Doe bös '''[[Media:$1|$1]]''' aan 't wisse, mit al ieëder versies.",
        "filedelete-maintenance": "Verwiedere en trökplaatse is tiedelik neet meugelik waeges ongerhaadswerkzaamhede.",
        "filedelete-maintenance-title": "Kin bestandj neet wösje",
        "mimesearch": "Zeuk op MIME-type",
-       "mimesearch-summary": "Deze pagina maak het filtere van bestenj veur 't MIME-type meugelik. Inveur: contenttype/subtype, bv <code>image/jpeg</code>.",
+       "mimesearch-summary": "Dees pagina maak 't filtere van bestenj veur 't MIME-type meugelik. \nInveur: contenttype/subtype of contenttype/*, bv <code>image/jpeg</code>.",
        "mimetype": "MIME-type:",
        "download": "Downloade",
        "unwatchedpages": "Neet-gevolgde pazjena's",
        "listredirects": "Lies van redirects",
+       "listduplicatedfiles": "Lies mit bestenj mit duplikaote",
+       "listduplicatedfiles-summary": "Dit is 'n lies mit bestenj wovan de litste versie e duplikaot is van de recènste versie van 'n anger bestandj. Allein weurt gerapporteerd euver lokaal bestenj.",
+       "listduplicatedfiles-entry": "[[:File:$1|$1]] haet [[$3|{{PLURAL:$2|ei duplikaot|$2 duplikaote}}]].",
        "unusedtemplates": "Óngerbroekde sjablone",
        "unusedtemplatestext": "Deze pagina guf alle pagina's weer in de {{nas:template}}naamruumde die op gein inkele pagina gebroek waere. Vergaet neet de \"Links nao deze pagina\" te controlere veures dit sjabloon te wösse.",
        "unusedtemplateswlh": "anger links",
        "randompage": "Willekäörige pagina",
        "randompage-nopages": "d'r zeen gein pagina's in dees {{PLURAL:$2|naamruumde|naamruumde}}: \"$1\".",
+       "randomincategory": "Willekäörige pagina in categorie",
+       "randomincategory-invalidcategory": "\"$1\" is geine geljige categorienaam.",
+       "randomincategory-nopages": "Gein pagina's bevinje zich in de categorie [[:Category:$1|$1]].",
        "randomincategory-category": "Categorie:",
+       "randomincategory-legend": "Willekäörige pagina in categorie",
        "randomincategory-submit": "OK",
        "randomredirect": "Willekäörige redirect",
        "randomredirect-nopages": "d'r zeen gein redirects in deze naamruumde \"$1\".",
        "statistics-users": "Geregistreerde [[Special:ListUsers|gebroekers]]",
        "statistics-users-active": "Actieve gebroekers",
        "statistics-users-active-desc": "Gebroekers die in de aafgeloupe {{PLURAL:$1|daag|$1 daag}} 'ne hanjeling höbbe oetgevoerd",
+       "pageswithprop": "Pagina's mit pagina-eigensjap",
+       "pageswithprop-legend": "Pagina's mit pagina-eigensjap",
+       "pageswithprop-text": "Op dees pagina waere pagina's getuind mit 'n bestumde pagina-eigensjap.",
+       "pageswithprop-prop": "Naam eigesjap:",
+       "pageswithprop-reverse": "Sorteer mit ómgedrejde volgrie",
+       "pageswithprop-sortbyvalue": "Sorteer op eigensjapswaerd",
        "pageswithprop-submit": "OK",
+       "pageswithprop-prophidden-long": "lang teikseigensjapswaerd verstaoke ($1)",
+       "pageswithprop-prophidden-binary": "binair eigensjapswaerd verstaoke ($1)",
        "doubleredirects": "Dobbel redirects",
        "doubleredirectstext": "Dees lies haet paazjes mit redireks die nao anger redireks gaon.\nOp eder raegel vings te de ierste redirectpazjena, de twiede redirectpazjena en de iesjte raegel van de twiede redirectpazjena. Meistes bevat dees litste de pazjena woe de iesjte redirect naotoe zouw mótte verwieze.\n<del>Dórchstreipinge</del> zègke det 't al gedaon is.",
-       "double-redirect-fixed-move": "[[$1]] is verplaats en is noe 'n doorverwiezing nao [[$2]]",
-       "double-redirect-fixed-maintenance": "Correctie dóbbel redirek van [[$1]] nao [[$2]].",
+       "double-redirect-fixed-move": "[[$1]] is verplaats wore.\n't Is autematis biegewirk en verwies noe nao [[$2]]",
+       "double-redirect-fixed-maintenance": "Herstèl autematischen dóbbele redirek van [[$1]] nao [[$2]] in 'n óngerhawdstaak",
        "double-redirect-fixer": "Doorverwiezinge opsjone",
        "brokenredirects": "Gebraoke redirects",
        "brokenredirectstext": "De óngersjtaonde redirectpazjena's bevatte 'n redirect nao 'n neet-besjtaonde pazjena:",
        "fewestrevisions": "Artikele met de minste bewerkinge",
        "nbytes": "$1 {{PLURAL:$1|byte|bytes}}",
        "ncategories": "$1 {{PLURAL:$1|categorie|categorië}}",
+       "ninterwikis": "$1 {{PLURAL:$1|interwiki|interwiki's}}",
        "nlinks": "$1 {{PLURAL:$1|verwiezing|verwiezinge}}",
        "nmembers": "$1 {{PLURAL:$1|lid|lede}}",
+       "nmemberschanged": "$1 → $2 {{PLURAL:$2|lid|lede}}",
        "nrevisions": "$1 {{PLURAL:$1|herzening|herzeninge}}",
        "nimagelinks": "Gebroek op $1 {{PLURAL:$1|pagina|pagina's}}",
        "ntransclusions": "Gebroek op $1 {{PLURAL:$1|pagina|pagina's}}",
        "uncategorizedcategories": "Ongekattegoriseerde kattegorië",
        "uncategorizedimages": "Óngecategorizeerde bestenj",
        "uncategorizedtemplates": "Óngecategorizeerde sjablone",
+       "uncategorized-categories-exceptionlist": "# Bevat 'n lies van categorieje die neet op Special:UncategorizedCategories mótte waere getuind. Ein de regel, beginnend mit \"*\". Regele die beginne mit 'n anger teike (inclusief witruuumde) waere euvergeslage. Gebroek \"#\" veur opmirkinge.",
        "unusedcategories": "Óngebroekde kategorieë",
        "unusedimages": "Ongebroekde aafbeildinge",
        "wantedcategories": "Gewunsjde categorieë",
        "wantedpages": "Gewunsjde pazjena's",
+       "wantedpages-summary": "Lies van neet-bestäönde pagina's mit de meiste links daohaer mit oetzunjering van pagina's wohaer allein redireks verwieze. Veur 'n lies van neet-bestäönde pagina's wohaer redireks verwieze, zuuch [[{{#special:BrokenRedirects}}|de lies van kepótte redireks]].",
        "wantedpages-badtitle": "Verkeerde titel in 't rizzeltaot gezatj: $1",
        "wantedfiles": "Neet-bestaonde bestenj mit verwiezinge",
        "wantedfiletext-cat": "De volgendje bestenj waere gebroek meh bestaon neet. Bestenj van extern repository's kinne zeen opgenómmen in de lies, óndanks det ze bestaon. Dergelik valsj positieve waere <del>doorgehaoldj waergaeve</del>. Pagina's die neet-bestaondje bestenj insloete staon op de pagina [[:$1]].",
+       "wantedfiletext-cat-noforeign": "De volgende bestenj zint in gebroek meh bestaon neet. Daonaeve staon pagina's mit neet-bestäönde bestenj op [[:$1]].",
        "wantedfiletext-nocat": "De volgendje bestenj waere gebroek meh bestaon neet. Bestenj van extern repository's kinne zeen opgenómmen in de lies, óndanks det ze bestaon. Dergelik valsj positieve waere <del>doorgehaoldj waergaeve</del>.",
+       "wantedfiletext-nocat-noforeign": "De volgende bestenj zint in gebroek meh bestaon neet.",
        "wantedtemplates": "Neet-bestaonde sjablone mit verwiezinge",
        "mostlinked": "Meis gelinkde pazjena's",
        "mostlinkedcategories": "Meis-gelinkde categorië",
        "mostlinkedtemplates": "Meis-gebroekde sjablone",
        "mostcategories": "Artikele mit de meiste kategorieë",
        "mostimages": "Meis gelinkde aafbeildinge",
+       "mostinterwikis": "Pagina's mit de meiste interwiki's",
        "mostrevisions": "Artikele mit de meiste bewirkinge",
        "prefixindex": "Alle pagina's op veurvoegsel",
        "prefixindex-namespace": "Alle pagina's mit 't veurvoogsel (naomruumdje $1)",
        "prefixindex-submit": "Tuin",
+       "prefixindex-strip": "Haol veurveugsel eweg in de lies",
        "shortpages": "Korte artikele",
        "longpages": "Lang artikele",
        "deadendpages": "Doedloupende pazjena's",
        "deadendpagestext": "De ongerstäönde pagina's verwieze neet nao anger pagina's in {{SITENAME}}.",
        "protectedpages": "Besjörmde pagina's",
        "protectedpages-indef": "Allein blokkades zonger verloupdatum",
+       "protectedpages-summary": "Dees pagina bevat 'n lies met beveiligde pagina's. Zuuch [[{{#special:ProtectedTitles}}|{{int:protectedtitles}}]] veur 'n lies van pagina's die neet moge waere aangemaak.",
        "protectedpages-cascade": "Allein beveiliginge mit de cascade-optie",
+       "protectedpages-noredirect": "Verstaek redireks",
        "protectedpagesempty": "d'r Zeen noe gein pagina's besjörmp die aan deze paramaetere voldaon.",
        "protectedpages-timestamp": "Tiedstip",
        "protectedpages-page": "Pazjena",
        "protectedpages-expiry": "Verlöp",
        "protectedpages-performer": "Beveilig door",
+       "protectedpages-params": "Beveiligingsparamaeters",
        "protectedpages-reason": "Raej",
+       "protectedpages-submit": "Tuin pagina's",
        "protectedpages-unknown-timestamp": "Ónbekènd",
        "protectedpages-unknown-performer": "Ónbekènde gebroeker",
        "protectedtitles": "Beveiligde pazjena's",
+       "protectedtitles-summary": "Dees pagina bevat 'n lies mit pagina's die neet moge waere aangemaak. Zuuch [[{{#special:ProtectedPages}}|{{int:protectedpages}}]] veur de lies mit beveiligde pagina's.",
        "protectedtitlesempty": "d'r Zeen momenteel gein titels beveilig die aan deze paramaeters voldaon.",
        "protectedtitles-submit": "Tuin pazjenanaam",
        "listusers": "Lies van gebroekers",
        "listusers-editsonly": "Allein gebroekers mit bewèrkinge weergaeve",
        "listusers-creationsort": "Sortere op registratiedatum",
+       "listusers-desc": "Sorteer in aafloupende volgrie",
        "usereditcount": "$1 {{PLURAL:$1|bewèrking|bewèrkinge}}",
        "usercreated": "{{GENDER:$3|aangemaak}} óp $1 óm $2",
        "newpages": "Nuuj pagina's",
        "pager-older-n": "{{PLURAL:$1|auwer 1|auwer $1}}",
        "suppress": "Toezich",
        "querypage-disabled": "Dees speciaal pagina steit oet veur performanceredene.",
+       "apihelp": "API-hölp",
+       "apihelp-no-such-module": "Moduul \"$1\" neet gevonje.",
        "apisandbox": "API-zandjbak",
+       "apisandbox-jsonly": "JavaScrip is vereisj veur de API-zandjbak te kónne broeke.",
        "apisandbox-api-disabled": "API is oetgesjakeld op deze site.",
-       "apisandbox-intro": "Gebroek dees pagina óm te experimentere mit de '''MediaWiki API'''.\nZuuch de [https://www.mediawiki.org/wiki/API:Main_page API-dokkemèntatie] veur mier details euver 't gebroek van de API.",
+       "apisandbox-intro": "Gebroek dees pagina óm te experimentere mit de <strong>MediaWiki API</strong>.\nZuuch de [[mw:API:Main page|API-dokkemèntatie]] veur mier details euver 't gebroek van de API. Veurbeeld: [https://www.mediawiki.org/wiki/API#A_simple_example wie d'n inhawd van 'n houfpagina is op te haole]. Selecteer 'n hanjeling veur mieër veurbeelde te zeen.\n\nTródsdet dit 'n tesfunctie is kónne sommige hanjelinge toch verangeringe make in de wiki.",
+       "apisandbox-fullscreen": "Vaaj paneel oet",
+       "apisandbox-fullscreen-tooltip": "Maak 't zandjbakpaneel zo groeat wie 't browservinster.",
        "apisandbox-unfullscreen": "Tuin pazjena",
+       "apisandbox-unfullscreen-tooltip": "Vaaj 't zandjbakvinster same zodet de navigaasje veur MediaWiki trök besjikbaar is.",
        "apisandbox-submit": "Verzeuk oetveure",
        "apisandbox-reset": "Wusj",
        "apisandbox-retry": "Opnuuj perbere",
+       "apisandbox-loading": "Gegaeves veur API-moduul \"$1\" 'nt laje...",
+       "apisandbox-load-error": "'n Fout is opgetraoje tiejes 't  laje van gegaeves veur API-moduul \"$1\": $2",
+       "apisandbox-no-parameters": "Dees API-moduul haet gein paramaeters.",
+       "apisandbox-helpurls": "Hölp",
        "apisandbox-examples": "Veurbilder",
-       "apisandbox-results": "Rizzeltaat",
+       "apisandbox-dynamic-parameters": "Extra paramaeters",
+       "apisandbox-dynamic-parameters-add-label": "Veug paramaeter tou:",
+       "apisandbox-dynamic-parameters-add-placeholder": "Paramaeternaam",
+       "apisandbox-dynamic-error-exists": "'ne Paramaeter mit de naam \"$1\" besteit al.",
+       "apisandbox-deprecated-parameters": "Vereljerde paramaeters",
+       "apisandbox-fetch-token": "Völ 't teike autematis in",
+       "apisandbox-submit-invalid-fields-title": "Sommige veljer zint óngeljig",
+       "apisandbox-submit-invalid-fields-message": "Verbaeter de gemarkeerde veljer en perbeer 't oppernuuj.",
+       "apisandbox-results": "Rizzeltaote",
+       "apisandbox-sending-request": "API-verzeuk 'nt versjikke...",
+       "apisandbox-loading-results": "API-rizzeltaote 'nt óntvange...",
+       "apisandbox-results-error": "'n Fout is opgetraoje bie 't laje van 't antjwaord op 't API-verzeuk: $1.",
+       "apisandbox-results-login-suppressed": "Dit verzeuk is verwirk es 'nen aafgemelde gebroeker, ómdet 't zów kónne waere gebroek  veur 't ómzeile van de Same-Origin-browserbeveiliging. Mirk op det de autematische teikenaafhanjeling van de API-zandjbak neet krek wirk mit zólche verzeuke. Veur dees handjmaetig in.",
+       "apisandbox-request-selectformat-label": "Tuin rizzeltaot es:",
+       "apisandbox-request-format-url-label": "URL query string",
        "apisandbox-request-url-label": "Verzeuk-URL:",
+       "apisandbox-request-json-label": "Verzeuk JSON:",
+       "apisandbox-request-time": "Verzeuk tied: {{PLURAL:$1|$1 ms}}",
+       "apisandbox-results-fixtoken": "Verbaeter teike en versjik oppernuuj",
+       "apisandbox-results-fixtoken-fail": "'t Ophaole van 't teike van type \"$1\" is mislök.",
+       "apisandbox-alert-page": "Veljer op dees pagina zint óngeljig.",
+       "apisandbox-alert-field": "De waerd van dit veld is óngeljig.",
+       "apisandbox-continue": "Gank door",
        "apisandbox-continue-clear": "Wusj",
+       "apisandbox-continue-help": "{{int:apisandbox-continue}} zal [https://www.mediawiki.org/wiki/API:Query#Continuing_queries doorgaon] mit 't litste verzeuk; {{int:apisandbox-continue-clear}} zal de veurtgangsparamaeters wösje.",
+       "apisandbox-param-limit": "Gebroek <kbd>max</kbd> veur de maximale limiet.",
+       "apisandbox-multivalue-all-namespaces": "$1 (Alle naamruumdes)",
+       "apisandbox-multivalue-all-values": "$1 (Alle waerd)",
        "booksources": "Bookwinkele",
        "booksources-search-legend": "Zeuk informatie euver 'n book",
        "booksources-search": "Zeuk",
        "booksources-text": "Hiej onger stuit 'n lies met koppelinge nao anger websites die nuuje of gebroekde beuk verkoupe, en die wellich meer informatie euver 't book detse zeuks höbbe:",
        "booksources-invalid-isbn": "t Ingegaeve ISBN liek neet geldig te zeen.\nControleer of se wellich n fout höbs gemaak bie de inveur.",
+       "magiclink-tracking-rfc": "Pagina's die RFC-magische links broeke",
+       "magiclink-tracking-rfc-desc": "Dees pagina gebroek RFC-magielinks. Zuuch [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] euver wie se mós verhoeze.",
+       "magiclink-tracking-pmid": "Pagina's die PMID-magische links broeke",
+       "magiclink-tracking-pmid-desc": "Dees pagina gebroek PMID-magielinks. Zuuch [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] euver wie se mós verhoeze.",
+       "magiclink-tracking-isbn": "Pagina's die ISBN-magische links broeke",
+       "magiclink-tracking-isbn-desc": "Dees pagina gebroek ISBN-magielinks. Zuuch [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] euver wie se mós verhoeze.",
        "specialloguserlabel": "Oetveurder:",
        "speciallogtitlelabel": "Doel (paginanaam of {{ns:user}}:gebroekersnaam veur gebroeker):",
        "log": "Logbeuk",
        "logempty": "d'r Zeen gein regels in 't logbook die voldaon aan deze criteria.",
        "log-title-wildcard": "Zeuk pagina's die met deze naam beginne",
        "showhideselectedlogentries": "Tuin of verstaek geselecteerdje logbookregels",
+       "log-edit-tags": "Bewirk labels van gesillekteerde logbookregele",
+       "checkbox-select": "Selecteer: $1",
        "checkbox-all": "Alle",
        "checkbox-none": "Gein",
        "checkbox-invert": "Umkiere",
        "linksearch-pat": "Zeukpatroon:",
        "linksearch-ns": "Naamruumde:",
        "linksearch-ok": "Zeuk",
-       "linksearch-text": "Wildcards wie \"*.wikipedia.org\" of \"*.org\" zeen toegestaon.\nHaet mèndestes e toepleveldomein, wie beveurbeildj \"*.org\".<br />\nÓngerstäönendje protocolle: $1 (veug dees neet tou in dien zeukópdrach).",
+       "linksearch-text": "Wildcards wie \"*.wikipedia.org\" zeen toegestaon.\nHaet mèndestes e toepleveldomein, wie beveurbeildj \"*.org\".<br />\n{{PLURAL:$2|Óngerstäönendj protocol|Óngerstäönendje protocolle}}: $1 (weurt \"http://\" es gein protocol is opgegaove wore).",
        "linksearch-line": "$1 gelink vanaaf $2",
        "linksearch-error": "Wildcards zijn alleen toegestaan aan het begin van een hostnaam.",
        "listusersfrom": "Tuin gebroekers vanaaf:",
        "listusers-blocked": "(geblok)",
        "activeusers": "Aktief gebroekers",
        "activeusers-intro": "Dit is 'n lies mit gebroekers die aktief zeen gewaes in de aafgeloupe {{PLURAL:$1|daag|$1 daag}}.",
-       "activeusers-count": "$1 {{PLURAL:$1|bewèrking|bewèrkinger}} inne {{PLURAL:$3|lèsten daag|lès $3 daag}}",
+       "activeusers-count": "$1 {{PLURAL:$1|bewirking|bewirkinger}} {{PLURAL:$3|op de litsten daag|in de litste $3 daag}}",
        "activeusers-from": "Tuin gebroekers vanaaf:",
+       "activeusers-groups": "Tuin gebroekers die behuuere toet de gruup:",
+       "activeusers-excludegroups": "Sloet gebroekers oet die behuuere toet de gruup:",
        "activeusers-noresult": "Gein gebroekers gevónje.",
+       "activeusers-submit": "Tuin aktief gebroekers",
        "listgrouprights": "Rechte van gebroekersgróppe",
        "listgrouprights-summary": "Op dees pazjena sjtaon de gebroekersgróppe in deze wiki besjreve, mit zien biebehurende rechte.\nInfermasie daoreuver èn de individueel rechter vinjs te [[{{MediaWiki:Listgrouprights-helppage}}|hie]].",
-       "listgrouprights-key": "* <span class=\"listgrouprights-granted\">Toeweze rech</span>\n* <span class=\"listgrouprights-revoked\">Ingetrokke rech</span>",
+       "listgrouprights-key": "Legenda:\n* <span class=\"listgrouprights-granted\">Toeweze rech</span>\n* <span class=\"listgrouprights-revoked\">Ingetrokke rech</span>",
        "listgrouprights-group": "Gróp",
        "listgrouprights-rights": "Rechte",
        "listgrouprights-helppage": "Help:Gebroekersrechte",
        "listgrouprights-removegroup-self": "Wösj de volgende {{PLURAL:$2|groep|gruup}} van eige gebroeker: $1",
        "listgrouprights-addgroup-self-all": "Voeg alle gruup toe aan eige gebroeker",
        "listgrouprights-removegroup-self-all": "Wösj alle gruup van eige gebroeker",
+       "listgrouprights-namespaceprotection-header": "Naamruumdebepirkinge",
+       "listgrouprights-namespaceprotection-namespace": "Naamruumde",
+       "listgrouprights-namespaceprotection-restrictedto": "Recht(e) wodoor gebroeker kan bewirke",
+       "listgrants": "Toustumminge",
+       "listgrants-summary": "Hie-ónger steit 'n lies mit toustumminge en de biebehuuerende gebroekersrechte. Gebroekers kónne toupassinge mechtige veur de konto te gebroeke, meh mit bepirkde rechte gegrundj op de toustumminge die de gebroeker aan de toupassing haet gegaove. 'n Toupassing die names 'ne gebroekers hanjelt kan aevel gein rechte gebroeke die de gebroeker neet haet.\nMeugelik geuf 't [[{{MediaWiki:Listgrouprights-helppage}}|aanvöllende inlichtinge]] euver individueel rechte.",
+       "listgrants-grant": "Toustumming",
+       "listgrants-rights": "Rechte",
+       "trackingcategories": "Volgcategorieje",
+       "trackingcategories-summary": "Op dees pagina waere volgcategorieje getuind die autematis waere gevöld door de MediaWiki-software. De name van de categorieje kónne waere verangerd door de biebehuuerende systeemberichte in de naamruumde \"{{ns:8}}\" bie te wirke.",
+       "trackingcategories-msg": "Volgcategorie",
+       "trackingcategories-name": "Besjeidnaam",
+       "trackingcategories-desc": "Opnaamcriteria",
+       "restricted-displaytitle-ignored": "Pagina's mit euvergeslage tuintitels",
+       "restricted-displaytitle-ignored-desc": "Dees pagina haet 'n euvergeslage <code><nowiki>{{DISPLAYTITLE}}</nowiki></code> ómdet 't neet euvereinkump mit d'n daodwirkeliken titel van de pagina.",
+       "noindex-category-desc": "De pagina bevat 't magisch waord <code><nowiki>__NOINDEX__</nowiki></code> (en bevindj zich in 'n naamruumde worin det magisch waord is tougestange) en weurt neet geïndexeerd door bots.",
+       "index-category-desc": "De pagina bevat 't magisch waord <code><nowiki>__INDEX__</nowiki></code> (en bevindj zich in 'n naamruumde worin det magisch waord is tougestange)en weurt geïndexeerd door robots dewiel det normaal-gespraoke neet zów beure",
+       "post-expand-template-inclusion-category-desc": "De pagina is grótter es <code>$wgMaxArticleSize</code> nao 't oetbreie van alle sjeblone, dus sommige sjeblone zint neet oetgebrèd.",
+       "post-expand-template-argument-category-desc": "De pagina is grótter es <code>$wgMaxArticleSize</code> nao 't oetbreie van 'ne sjebloonparamaeter (get in de drieveljige accolades, wie <code>{{{Foo}}}</code>).",
+       "expensive-parserfunction-category-desc": "De pagina gebroek te väöl kosbaar parserfuncties (wie <code>#ifexist</code>). [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgExpensiveParserFunctionLimit Mieër infermasie].",
+       "broken-file-category-desc": "De pagina bevatj 'ne neet-bestäönde link ('ne link veur e bestandj in te bèdde es det bestandj neet besteit).",
+       "hidden-category-category-desc": "De categorie haet 't magisch waord <code><nowiki>__HIDDENCAT__</nowiki></code> in de inhawd, wodoor de categorie neet standerd zichbaar is in de lies mit categorieje op pagina's.",
+       "trackingcategories-nodesc": "Gein besjrieving besjikbaar",
+       "trackingcategories-disabled": "Categorie is oetgezatj wore",
        "mailnologin": "Gein e-mailadres bekènd veur deze gebroeker",
        "mailnologintext": "De mos zien [[Special:UserLogin|aangemèld]] en 'n gèldig e-mailadres in bie dien [[Special:Preferences|veurkäöre]] höbbe ingevuld om mail nao anger gebroekers te sjture.",
        "emailuser": "Sjik deze gebroeker 'nen e-mail",
-       "emailpagetext": "Es deze gebroeker e geljig e-mailadres haet opgegaeve den kint g'r via dit formuleer e berich sjikke. 't E-mailadres wat geer heet opgegeve bie eur [[Special:Preferences|veurkäöre]] zal es versjikker aangegaeve waere.\nDae kin dös drek reazjere.",
+       "emailuser-title-target": "E-mail {{GENDER:$1|deze gebroeker}}",
+       "emailuser-title-notarget": "E-mail gebroeker",
+       "emailpagetext": "Via dit formeleer kins se 'nen-email versjikken aan {{GENDER:$1|deze gebroeker}}.\n't E-mailadres det se höbs opgegaove bie [[Special:Preferences|dien veurkäöre]] weurt gebroek es d'n aafzender.\nd'n Óntvenger kan dus drek reageren op dich.",
        "defemailsubject": "E-mail van {{SITENAME}}-gebroeker \"$1\"",
        "usermaildisabled": "Gebroeker e-mail oetgezatj.",
        "usermaildisabledtext": "Doe kèns geinen e-mail sjikke nao anger gebroekers op deze wiki",
        "emailccsubject": "Kopie van dien berich aan $1: $2",
        "emailsent": "E-mail sjikke",
        "emailsenttext": "Die berich is versjik.",
-       "emailuserfooter": "Deze e-mail is verstuurd door $1 aan $2 door de functie \"Deze gebroeker e-maile\" van {{SITENAME}}.",
+       "emailuserfooter": "Dezen e-mail is door $1 aan {{GENDER:$2|$2}} {{GENDER:$1|versjik}} middels de functie \"{{int:emailuser}}\" van {{SITENAME}}. Wens {{GENDER:$2|toe}} reageers op dezen e-mail, weurt dienen e-mail drek nao d'n {{GENDER:$1|oearsprunkeliken aafzender}} versjik, wodoor {{GENDER:$2|dien}} e-mailadres aan {{GENDER:$1|dem}} weurt getuind.",
        "usermessage-summary": "Systeembrich naogelaote.",
        "usermessage-editor": "Sysyeembrich",
        "watchlist": "Volglies",
        "mywatchlist": "Volglies",
        "watchlistfor2": "Veur $1 $2",
        "nowatchlist": "D'r sjtit niks op dien volglies.",
-       "watchlistanontext": "$1 is verplich om dien volglies in te zeen of te wiezige.",
+       "watchlistanontext": "Doe mós dich aanmelde veur dien volglies te betrachte dan te bewirke.",
        "watchnologin": "De bis neet aangemèld",
        "addwatch": "Aan volglies toeveuge",
-       "addedwatchtext": "De pagina \"[[:$1]]\" is aan dien [[Special:Watchlist|volglies]] toegeveug.\nToekomstige verangeringe aan dees pagina en de biebehurende euverlèkpagina weure dao vermeld en de pagina weurt '''vèt''' weergegaeve in de [[Special:RecentChanges|lies van recènte verangeringe]].",
+       "addedwatchtext": "\"[[:$1]]\" en de biebehuuerende euverlèkpagina zint tougeveug aan dien [[Special:Watchlist|volglies]].",
+       "addedwatchtext-talk": "\"[[:$1]]\" en de biebehuuerende pagina zint toegeveug aan dien [[Special:Watchlist|volglies]].",
+       "addedwatchtext-short": "De pagina \"$1\" is toegeveug aan dien volglies.",
        "removewatch": "Van volglies aafhoale",
-       "removedwatchtext": "De pagina \"[[:$1]]\" is van dien [[Special:Watchlist|volglies]] eweggesjaf.",
+       "removedwatchtext": "\"[[:$1]]\" en de biebehuuerende euverlèkpagina zint eweggesjaf oet dien [[Special:Watchlist|volglies]].",
+       "removedwatchtext-talk": "\"[[:$1]]\" en de biebehuuerende pagina zint eweggesjaf oet dien [[Special:Watchlist|volglies]].",
+       "removedwatchtext-short": "De pagina \"$1\" is eweggesjaf oet dien volglies.",
        "watch": "Volg",
        "watchthispage": "Volg dees pagina",
        "unwatch": "Sjtop volge",
        "notanarticle": "Is gein artikel",
        "notvisiblerev": "Bewèrking is verwiederd",
        "watchlist-details": "D'r {{PLURAL:$1|sjteit ein pazjena|sjtaon $1 pazjena's}} op dien volglies mit de euverlèkpazjena's neet mitgetèldj.",
-       "wlheader-enotif": "Doe wörs per e-mail gewaarsjuwd",
+       "wlheader-enotif": "E-mailberichte zint aangezat.",
        "wlheader-showupdated": "Pazjena's die verangerd zeen saers doe ze veur 't lètste bekeeks sjtaon '''vet'''",
        "wlnote": "Hieónger {{PLURAL:$1|steit de lètste verangering|staon de lètste <strong>$1</strong> verangeringe}} van {{PLURAL:$2|'t lètste oer|de lètste <strong>$2</strong> oer}} óp $3 óm $4.",
        "wlshowlast": "Tuin lètste $1 oere $2 daag",
        "watchlist-hide": "Versjtaek",
        "watchlist-submit": "Tuine",
+       "wlshowtime": "Te tuinen tied:",
+       "wlshowhideminor": "klein bewirkinge",
        "wlshowhidebots": "bots",
+       "wlshowhideliu": "aangemelde gebroekers",
+       "wlshowhideanons": "anoniem gebroekers",
+       "wlshowhidepatr": "gecontroleerde bewirkinge",
+       "wlshowhidemine": "mien bewirkinge",
+       "wlshowhidecategorization": "paginacategorisatie",
        "watchlist-options": "Opties veur volglies",
        "watching": "Bezig mit plaatse op de volglies...",
        "unwatching": "Oet de volglies aan 't haole...",
        "watcherrortext": "Fout tiedens 't verangere van dien volgliesinstellinge veur \"$1\".",
        "enotif_reset": "Mèrk alle bezochde pazjena's aan.",
        "enotif_impersonal_salutation": "{{SITENAME}} gebroeker",
-       "enotif_lastvisited": "Zuug $1 veur al verangeringe saer dien lèste bezeuk.",
-       "enotif_lastdiff": "Zuug $1 om deze wieziging te zeen.",
+       "enotif_subject_deleted": "{{SITENAME}}: pagina $1 is eweggesjaf wore door {{GENDER:$2|$2}}",
+       "enotif_subject_created": "{{SITENAME}}: pagina $1 is aangemaak wore door {{GENDER:$2|$2}}",
+       "enotif_subject_moved": "{{SITENAME}}: pagina $1 is verplaats wore door {{GENDER:$2|$2}}",
+       "enotif_subject_restored": "{{SITENAME}}: pagina $1 is trökgeplaats wore door {{GENDER:$2|$2}}",
+       "enotif_subject_changed": "{{SITENAME}}: pagina $1 is bewirk wore door {{GENDER:$2|$2}}",
+       "enotif_body_intro_deleted": "De pagina $1 op {{SITENAME}} is eweggesjaf wore door {{gender:$2|$2}} op $PAGEEDITDATE. Zuuch $3 veur de hujige versie.",
+       "enotif_body_intro_created": "De pagina $1 op {{SITENAME}} is aangemaak wore door {{gender:$2|$2}} op $PAGEEDITDATE. Zuuch $3 veur de hujige versie.",
+       "enotif_body_intro_moved": "De pagina $1 op {{SITENAME}} is verplaats wore door {{gender:$2|$2}} op $PAGEEDITDATE. Zuuch $3 veur de hujige versie.",
+       "enotif_body_intro_restored": "De pagina $1 op {{SITENAME}} is trökgeplaats wore door {{gender:$2|$2}} op $PAGEEDITDATE. Zuuch $3 veur de hujige versie.",
+       "enotif_body_intro_changed": "De pagina $1 op {{SITENAME}} is bewirk wore door {{gender:$2|$2}} op $PAGEEDITDATE. Zuuch $3 veur de hujige versie.",
+       "enotif_lastvisited": "Veur al verangeringe saer dien lèste bezeuk, zuuch $1",
+       "enotif_lastdiff": "Veur dees verangering te betrachte, zuuch $1",
        "enotif_anon_editor": "anonieme gebroeker $1",
-       "enotif_body": "Bèste $WATCHINGUSERNAME,\n\nDe {{SITENAME}}-pazjena \"$PAGETITLE\" is $CHANGEDORCREATED op $PAGEEDITDATE door $PAGEEDITOR, zuug $PAGETITLE_URL veur de hujige versie.\n\n$NEWPAGE\n\nBewirkingssamevatting: $PAGESUMMARY $PAGEMINOREDIT\n\nContacteer de bewirker:\nmail: $PAGEEDITOR_EMAIL\nwiki: $PAGEEDITOR_WIKI\n\nDao zalle bie volgende verangeringe gein nuuj berichte kómme tenzies te dees pazjena obbenuujts bezeuks. De kans ouch de notificatievlegskes op dien volglies verzètte.\n\n             't {{SITENAME}}-notificatiesysteem\n\n--\nÓm de insjtèllinge van dien volglies te verangere, zuug\n{{canonicalurl:{{#special:EditWatchlist}}}}\n\nÓm de paasj van dien wachlies aaf te haole, bezeuk\n$UNWATCHURL\n\nCommentaar en wiejer assistentie:\n$HELPPAGE",
+       "enotif_body": "Bèste $WATCHINGUSERNAME,\n\n$PAGEINTRO $NEWPAGE\n\nSamevatting van de verangering: $PAGESUMMARY $PAGEMINOREDIT\n\nKóntakgegaeves van de sjriever:\nE-mailadres: $PAGEEDITOR_EMAIL\nWiki: $PAGEEDITOR_WIKI\n\nBehauve wens se dees pagina bezeuks, kómme gein wiejer berichte. Wen se bös aangemeld, kans se op dien volglies veur alle gevolgde pagina's de waorsjoewinginstèllinge opsjuuene.\n\n't Bèste van die {{SITENAME}}-waorsjoewingssysteem.\n\n--\nDoe kans dien e-mailinstèllinge verangere op:\n{{canonicalurl:{{#special:Preferences}}}}\n\nDoe kans dien volgliesinstèllinge verangere op:\n{{canonicalurl:Special:Watchlist/edit}}\n\nDoe kans de pagina van dien volglies eweghaole via de volgende link:\n$UNWATCHURL\n\nTröksjakeling en wiejer hölp:\n$HELPPAGE",
+       "enotif_minoredit": "Dit is 'n klein verangering",
        "created": "aangemaak",
        "changed": "verangerd",
        "deletepage": "Pagina ewegsjaffe",
        "confirm": "Bevèstig",
        "excontent": "inhawd waor: '$1'",
-       "excontentauthor": "inhawd waor: '$1' (aangemaak door [[Special:Contributions/$2|$2]])",
+       "excontentauthor": "inhawd waor: '$1' ([[Special:Contributions/$2|$2]] ([[User talk:$2|overleg]]) waas d'n ènsigste sjriever)",
        "exbeforeblank": "inhawd veur 't wisse waor: '$1'",
        "delete-confirm": "\"$1\" wisse",
        "delete-legend": "Wisse",
-       "historywarning": "Waorsjoewing: de pazjena die se wils wisse $1 {{PLURAL:$1|versie|versies}}:",
+       "historywarning": "<strong>Waorsjoewing</strong>: de pazjena die se wils ewegsjaffe haet 'n gesjiechte mit $1 {{PLURAL:$1|versie|versies}}:",
        "historyaction-submit": "Tuin",
        "confirmdeletetext": "De sjteis op 't punt 'n pagina veur ummer eweg te sjaffe, inclusief de historie.\nKónfermeer hiejónger dat dit inderdaod dien bedoeling is, dats doe de gevolge begrips en dats doe dit deis in euvereinstömming mit 't [[{{MediaWiki:Policy-url}}|beleid]].",
        "actioncomplete": "Actie voltoeid",
        "deletecomment": "Reeje:",
        "deleteotherreason": "Angere/eventuele ree:",
        "deletereasonotherlist": "Angere ree",
-       "deletereason-dropdown": "*Väölveurkommende wisree\n** Op aanvraog van auteur\n** Sjending van auteursrech\n** Gebroek es zandjbak\n** Vandalisme/Sjeljerie",
+       "deletereason-dropdown": "* Väölveurkommende raejene veur eweg te sjaffe\n** Spam\n** Vandalisme\n** Auteursrechte-euversjriejing\n** Auteursverzeuk\n** Kepótte redirek",
        "delete-edit-reasonlist": "Reeje veur verwiedering bewèrke",
        "delete-toobig": "Dees pazjena haet 'ne lange bewerkingsgesjiedenis, mieë es $1 {{PLURAL:$1|versie|versies}}. 't Wisse van dit saort pazjena's is mit rech beperk óm 't próngelök versteure van de werking van {{SITENAME}} te veurkómme.",
        "delete-warning-toobig": "Dees pazjena haet 'ne lange bewerkingsgesjiedenis, mieë es $1 {{PLURAL:$1|versie|versies}}. 't Wisse van dees pazjena kan de werking van de database van {{SITENAME}} versteure. Bön veurzichtig.",
+       "deleteprotected": "Doe kins dees pagina neet ewegsjaffe, went die is beveilig.",
+       "deleting-backlinks-warning": "<strong>Waorsjoewing:</strong> [[Special:WhatLinksHere/{{FULLPAGENAME}}|anger pagina's]] gebroeke of verwieze nao de pagina die se wils ewegsjaffe.",
+       "deleting-subpages-warning": "<strong>Waorsjoewing:</strong>De pagina die se wils ewegsjaffe haet [[Special:PrefixIndex/{{FULLPAGENAME}}/|{{PLURAL:$1|'n deilpagina|$1 deilpagina's|51=mieër es 50 deilpagina's}}]].",
        "rollback": "Verangering ongedaon gemaak",
        "rollbacklink": "Trökdrieje",
        "rollbacklinkcount": "drej $1 {{PLURAL:$1|bewirking|bewirkinge}} trögk",
+       "rollbacklinkcount-morethan": "drej mieër es $1 {{PLURAL:$1|bewirking|bewirkinge}} trögk",
        "rollbackfailed": "Ongedaon make van wieziginge mislùk.",
+       "rollback-missingparam": "Benuuedigde paramaeters óntbraeke in 't verzeuk.",
+       "rollback-missingrevision": "Kan versiegegaeves neet laje.",
        "cantrollback": "Trökdrejje van verangeringe neet meugelik: Dit artikel haet mer einen auteur.",
        "alreadyrolled": "'t Is neet mäögelik óm de lètste verangering van [[:$1]] door [[User:$2|$2]] ([[User talk:$2|euverlèk]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]) óngedaon te make.\nEmes angers haet de pagina al hersjtèld of haet 'n anger bewirking gedaon.\n\nDe lètste bewirking is gedaon door [[User:$3|$3]] ([[User talk:$3|euverlik]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).",
        "editcomment": "'t Bewirkingscommentair waor: <em>$1</em>.",
        "revertpage": "Wieziginge door [[Special:Contributions/$2|$2]] ([[User talk:$2|Euverlik]]) trukgedriejd tot de lètste versie door [[User:$1|$1]]",
-       "revertpage-nouser": "Wieziginge door (gwösdje gebroeker) trögkgezadj nao bie [[User:$1|$1]]",
-       "rollback-success": "Wieziginge door $1 trökgedrèjd; letste versie van $2 hersteld.",
+       "revertpage-nouser": "Verangeringe door 'ne verstaoke gebroeker trökgedrejd nao de litste versie van {{GENDER:$1|[[User:$1|$1]]}}",
+       "rollback-success": "Verangeringe door {{GENDER:$3|$1}} trökgedrejd;\nlitste versie van {{GENDER:$4|$2}} herstèld.",
+       "rollback-success-notify": "De verangeringe door $1 zint trökgedrejd;\nde litste versie van $2 is herstèld. [$3 Tuin verangeringe]",
        "sessionfailure-title": "Sessiefout",
-       "sessionfailure": "d'r Liek 'n probleem te zeen mit dien aanmelsessie. Diene hanjeling is gestop oet veurzorg taenge 'n beveiligingsrisico (det bestuit oet meugelik \"hijacking\"(euverkape) van deze sessie). Gao 'n pazjena trök, laaj die pazjena opnuuj en probeer 't nog ins.",
+       "sessionfailure": "'t Liek op det se e perbleem höbs mit dien aanmeldingssessie;\ndees hanjeling is aafgebraoke oet veurzörg taenge 'nen hack.\nVersjik estebleef 't formeleer.",
+       "changecontentmodel": "Bewirk inhawdsmodel van pagina",
+       "changecontentmodel-legend": "Veranger inhawdsmodel",
+       "changecontentmodel-title-label": "Paginanaam",
+       "changecontentmodel-model-label": "Nuuj inhawdsmodel",
+       "changecontentmodel-reason-label": "Raeje:",
+       "changecontentmodel-submit": "Veranger",
+       "changecontentmodel-success-title": "'t Inhawdsmodel is verangerd",
+       "changecontentmodel-success-text": "'t Inhawdstype van [[:$1]] is verangerd.",
+       "changecontentmodel-cannot-convert": "d'n Inhawd van [[:$1]] kan neet waere ómgezat in 't $2-type.",
+       "changecontentmodel-nodirectediting": "'t Inhawdsmodel $1 óngerstäönt drek bewirke neet",
+       "changecontentmodel-emptymodels-title": "Gein inhawdsmodelle besjikbaar",
+       "changecontentmodel-emptymodels-text": "d'n Inhawd van [[:$1]] kan neet waere ómgezat in 'n anger type.",
+       "log-name-contentmodel": "Inhawdsmodelverangeringelogbook",
+       "log-description-contentmodel": "Dees pagina bevat verangeringe róndj 't inhawdsmodel van pagina's en pagina's die zint aangemaak mit 'n inhawdsmodel anges es 't standerdmodel.",
+       "logentry-contentmodel-new": "$1 {{GENDER:$2|maakde}} de pagina $3 aan mit behölp van e neet-standerd inhawdsmodel \"$5\"",
+       "logentry-contentmodel-change": "$1 {{GENDER:$2|verangerde}} 't inhawdsmodel van pagina $3 van \"$4\" nao \"$5\"",
+       "logentry-contentmodel-change-revertlink": "drej trök",
+       "logentry-contentmodel-change-revert": "drej trök",
        "protectlogpage": "Logbook besjermde pagina's",
        "protectlogtext": "Hiej onger staon pazjena's die recèntelik beveilig zeen, of wo van de beveiliging is opgeheve.\nZuug de [[Special:ProtectedPages|lies mit beveiligde pazjena's]] veur alle hujige beveiligde pazjena's.",
        "protectedarticle": "$1 besjermd",
        "modifiedarticleprotection": "verangerde beveiligingsniveau van \"[[$1]]\"",
        "unprotectedarticle": "haet de besjerming van [[$1]] opgeheve",
        "movedarticleprotection": "haet beveiligingsinstellinge verplaats van \"[[$2]]\" nao \"[[$1]]\"",
+       "protectedarticle-comment": "{{GENDER:$2|Besjurmde}} \"[[$1]]\"",
+       "modifiedarticleprotection-comment": "{{GENDER:$2|Haet 't besjurmingsniveau van \"[[$1]]\" verangerd}}",
+       "unprotectedarticle-comment": "{{GENDER:$2|Höfde de besjurming van \"[[$1]]\" op}}",
        "protect-title": "Besjerme van \"$1\"",
        "protect-title-notallowed": "Bekiek 't beveiligingsniveau veur \"$1\"",
        "prot_1movedto2": "[[$1]] verplaats nao [[$2]]",
        "protect-badnamespace-title": "Neet te beveilige naamruumdje",
        "protect-badnamespace-text": "Pagina's in dees naamruumdje kinne neet beveilig waere.",
+       "protect-norestrictiontypes-text": "Dees pagina kan neet waere besjurmp ómdet gein bepirkingstypes besjikbaar zint.",
+       "protect-norestrictiontypes-title": "Neet te besjurme pagina",
        "protect-legend": "Bevèstig besjerme",
        "protectcomment": "Reeje:",
        "protectexpiry": "Verlöp:",
        "protect-locked-blocked": "De kèns 't beveiligingsniveau neet verangere terwiels te geblokkeerd bis.\nHie zeen de hujige insjtèllinge veur de pazjena '''[[$1]]''':",
        "protect-locked-dblock": "'t Beveiligingsniveau kin neet waere gewiezig ómdet de database geslaote is.\nHiej zeen de hujige instellinge veur de pazjena '''$1''':",
        "protect-locked-access": "'''Dich höbs gein rechte om 't beveiligingsniveau te verangere.'''\nDit zeen de hujige insjtellinge veur de pagina '''$1''':",
-       "protect-cascadeon": "Dees pagina is beveilig ómdet ze in de volgende {{PLURAL:$1|pagina|pagina's}} is opgenómme, die beveilig {{PLURAL:$1|is|zeen}} mit de kaskaad-optie. 't Beveiligingsniveau verangere haet gein inkel effek.",
+       "protect-cascadeon": "Dees pagina is besjurmp, ómdet die in de volgende {{PLURAL:$1|pagina|pagina's}} is opgenómme, die besjurmp {{PLURAL:$1|is|zint}} mit de kaskaadopsje.\nVerangeringe aan besjurmingsniveau höbbe geinen invlood op de kaskaadbesjurming.",
        "protect-default": "Toesjtoon veur alle gebroekers",
-       "protect-fallback": "Rech \"$1\" is neudig",
-       "protect-level-autoconfirmed": "Blokkere veur nuuj en anoniem gebroekers",
-       "protect-level-sysop": "Allein systeemwèrkers",
+       "protect-fallback": "Staon allein gebroeker mit 't rech \"$1\" tou",
+       "protect-level-autoconfirmed": "Staon allein autematis bevestigde gebroeker tou",
+       "protect-level-sysop": "Staon allein behieërders tou",
        "protect-summary-cascade": "kaskaad",
        "protect-expiring": "verlöp op $1",
        "protect-expiring-local": "verlöp $1",
        "protect-othertime": "Angere doer:",
        "protect-othertime-op": "angere doer",
        "protect-existing-expiry": "Bestaonde verloupdatum: $2 $3",
+       "protect-existing-expiry-infinity": "Bestaonde verloupdatum: óninjig",
        "protect-otherreason": "Euverige/additionele reeje:",
        "protect-otherreason-op": "anger reeje",
        "protect-dropdown": "*Väölveurkómmende reeje veur beveiliging\n** Vandalisme\n** Spam\n** Bewèrkingskrieg\n** Preventieve beveiliging väölbezóchde paasj",
        "undeletepagetext": "De ongersjtaande {{PLURAL:$1|paasj is|pazjena's zint}} verwiederd, meh {{PLURAL:$1|bevindj|bevinge}} zich nog sjteeds in 't archief, en {{PLURAL:$1|kin|kinne}} weure truukgeplaatsj.",
        "undelete-fieldset-title": "Versies trukplaatse",
        "undeleteextrahelp": "Om de algehele pagina inclusief alle ierder versies trök te zètte: laot alle hökskes ónaafgevink en klik op '''''{{int:undeletebtn}}'''''.\nOm slechs bepaalde versies trök te zètte: vink de trök te plaatse versies aan en klik op '''''{{int:undeletebtn}}'''''.",
-       "undeleterevisions": "$1 {{PLURAL:$1|versie|versies}} in 't archief",
+       "undeleterevisions": "$1 {{PLURAL:$1|versie|versies}} eweggesjaf",
        "undeletehistory": "Es te 'n pagina trökzèts, waere alle versies es auw versies trökgezat.\nEs d'r 'ne nuuj pagina mit dezelfde naam is aangemaak sins de pagina is eweggesjaf, waere de eweggesjafde versies es auw versies trökgezat en blief de hujige versie intact.",
        "undeleterevdel": "Hersjtelle is neet meugelik es dao door de meist recènte versie van de pagina gedeiltelik eweggesjaf waert. Sjaf in die gevalle de meist recènt eweggesjafde versies oet de selectie eweg.",
        "undeletehistorynoadmin": "Deze pazjena is gewis. De reje hiej veur stuit hiej onger, same mit de details van de gebroekers die deze pazjena höbbe bewerk véur de verwiedering. De verwiederde inhoud van de pazjena is allein zichbaar veur beheerders.",
        "undelete-revision": "Verwiederde versie van $1 (per $4 óm $5) door $3:",
        "undeleterevision-missing": "Ongeldige of missende versie. Meugelik höbse 'n verkeerde verwiezing of is de versie hersteld of verwiederd oet 't archief.",
+       "undeleterevision-duplicate-revid": "{{PLURAL:$1|Ein versie kós|$1 versies kóste}} neet waere herstèldj, ómdet {{PLURAL:$1|de}} <code>rev_id</code> al in gebroek waas.",
        "undelete-nodiff": "Gein eerdere versie gevonje.",
        "undeletebtn": "Trökzètte",
        "undeletelink": "bekieke/trökzètte",
        "undeleteviewlink": "Bekiek",
        "undeleteinvert": "Ómgedriejde selectie",
        "undeletecomment": "Reeje:",
-       "cannotundelete": "Verwiedere mislùk. Mesjien haet 'ne angere gebroeker de pazjena al verwiederd.",
+       "cannotundelete": "'t Trökplaatse is (deils) mislök:\n$1",
        "undeletedpage": "'''$1 is trökgeplaats'''\n\nIn 't [[Special:Log/delete|logbook verwiederde pazjena's]] staon recènte verwiederinge en herstelhanjelinge.",
        "undelete-header": "Zuug [[Special:Log/delete|'t logbook verwiederde pazjena's]] veur recènt verwiederde pazjena's.",
        "undelete-search-title": "Doorzeuk verwiederde pazjena's",
        "undelete-search-box": "Doorzeuk verwiederde pazjena's",
        "undelete-search-prefix": "Tuin pagina's die beginne mit:",
+       "undelete-search-full": "Tuin paginatitels die 't volgende ebvatte:",
        "undelete-search-submit": "Zeuk",
        "undelete-no-results": "Gein pazjena's gevonje in 't archief mit verwiederde pazjena's.",
        "undelete-filename-mismatch": "Bestandsversie van tiedstip $1 kos neet hersteld waere: bestandsnaam klopte neet",
        "namespace": "Naamruumde:",
        "invert": "Ómgedriejde selectie",
        "tooltip-invert": "Vink dit aan óm verangeringe te verberge in de geselecteerde naomruumdje (enne gekoppeldje naomruumdje wen aangevink)",
+       "tooltip-whatlinkshere-invert": "Sillekteer dit vekske veur links van pagina's in de gesillekteerde naamruumde te verstaeke",
        "namespace_association": "Gekoppeldje naomruumdje",
        "tooltip-namespace_association": "Vink dit aan óm ouch verangere te tuine inne euverlègk- of óngerwerpnaomruumdje dae bie de geselecteerde naomruumdje heurt",
        "blanknamespace": "(hoofnaamruumde)",
        "mycontris": "Biedrage",
        "anoncontribs": "Biedrage",
        "contribsub2": "Veur {{GENDER:$3|$1}} ($2)",
+       "contributions-userdoesnotexist": "Gebroekerskonto \"$1\" is neet geregistreerd.",
        "nocontribs": "Gein wijzigingen gevonden die aan de gestelde criteria voldoen.",
        "uctop": "(litste verangering)",
        "month": "Van maond (en ierder):",
        "sp-contributions-newbies-sub": "Veur nuujelinge",
        "sp-contributions-newbies-title": "Biedraag ven nuuj gebroekers",
        "sp-contributions-blocklog": "Blokkeerlogbook",
-       "sp-contributions-deleted": "eweggesjafde gebroekersbiedrages",
+       "sp-contributions-suppresslog": "óngerdrökde {{GENDER:$1|gebroekersbiedrages}}",
+       "sp-contributions-deleted": "eweggesjafde {{GENDER:$1|gebroekersbiedrages}}",
        "sp-contributions-uploads": "uploads",
        "sp-contributions-logs": "logbeuk",
        "sp-contributions-talk": "euverlèk",
-       "sp-contributions-userrights": "gebroekersrechtebeheer",
+       "sp-contributions-userrights": "{{GENDER:$1|gebroekersrechtebehieër}}",
        "sp-contributions-blocked-notice": "Deze gebroeker is noe geblok.\nDe leste bloklogregel wuuertj hiejónger t'r raodpleging gegaeve:",
        "sp-contributions-blocked-notice-anon": "Dit IP-adres is noe geblok.\nDe leste bloklogregel wuuertj hiejónger t'r raodpleging gegaeve:",
        "sp-contributions-search": "Zeuke nao biedrages",
        "sp-contributions-username": "IP-adres of gebroekersnaam:",
        "sp-contributions-toponly": "Nör nuujste versies getuundj",
        "sp-contributions-newonly": "Toean allein nuuj pagina's",
+       "sp-contributions-hideminor": "Verstaek klein bewirkinge",
        "sp-contributions-submit": "Zeuk",
+       "sp-contributions-outofrange": "Kan gein rizzeltaote tuine. 't Ingeveurd IP-bereik is grótter es de CIDR-limiet/$1.",
        "whatlinkshere": "Links nao dees pagina",
        "whatlinkshere-title": "Pagina's die verwieze nao \"$1\"",
        "whatlinkshere-page": "Pagina:",
        "whatlinkshere-hidelinks": "$1 links",
        "whatlinkshere-hideimages": "$1 bestandjslinke",
        "whatlinkshere-filters": "Filters",
+       "whatlinkshere-submit": "Gank",
        "autoblockid": "Autoblock #$1",
        "block": "Blok gebroeker",
        "unblock": "Deblokkeer IP adres",
-       "blockip": "Blokkeer dit IP-adres",
-       "blockiptext": "Gebroek 't óngerstjaondj formeleer óm sjrieftoegank van e zeker IP-adres te verbeje. Dit maag allein gedaon weure om vandalisme te veurkómme en in euvereinkóms mitte [[{{MediaWiki:Policy-url}}|beleid]]. Gaef hiejónger de raeje óp (bv. inkel vandaliseerdje paazjes).",
+       "blockip": "Blokkeer {{GENDER:$1|gebroeker}}",
+       "blockiptext": "Gebroek 't óngerstaondj formeleer óm sjrieftoegank van e zeker IP-adres te verbeje. Dit maag allein gedaon weure om vandalisme te veurkómme en in euvereinkóms mitte [[{{MediaWiki:Policy-url}}|beleid]]. Gaef hiejónger de raeje óp (bv. inkel vandaliseerdje paazjes).\nDoe kins IP-ranges blokkere door gebroek te make van de [https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing CIDR]-syntaxis; de grótste toegestange reeks is /$1 veur IPv4 en /$2 veur IPv6.",
        "ipaddressorusername": "IP-adres of gebroekersnaam",
        "ipbexpiry": "Verlöp (maak 'n keuze)",
        "ipbreason": "Reeje:",
        "blockipsuccesstext": "[[Special:Contributions/$1|$1]] is geblokkeerd.<br />\nZuug de [[Special:BlockList|lies van geblokkeerde IP-adresse]].",
        "ipb-blockingself": "Doe steis óp 't pöntj dichzelf te blokke! Wèts se zeker desse det wils doon?",
        "ipb-confirmhideuser": "Doe steis óp 't pöntj 'ne verbórge gebroeker te blokke. Hieveur waere gebroekersname in alle liesre en logbookregels verbórge. Wèts se zeker desse door wils gaon?",
+       "ipb-confirmaction": "Wèts se zeker det se dit wils doon? Sillekteer den 't silleksjevekske \"{{int:ipb-confirm}}\" hie-ónger.",
        "ipb-edit-dropdown": "Bewerk lies van rejer",
        "ipb-unblock-addr": "Ónblokkeer $1",
        "ipb-unblock": "Ónblokkeer 'ne gebroeker of IP-adres",
        "ipb-blocklist": "Bekiek bestaonde blokkades",
-       "ipb-blocklist-contribs": "Biedraag ven $1",
+       "ipb-blocklist-contribs": "Biedraag van {{GENDER:$1|$1}}",
+       "ipb-blocklist-duration-left": "$1 nag euver",
        "unblockip": "Deblokkeer IP adres",
        "unblockiptext": "Gebroek het ongersjtaonde formeleer om weer sjrieftoegang te gaeve aan e geblokkierd IP adres.",
        "ipusubmit": "Deblokkeer dit.",
        "unblocked": "Blokkade van [[User:$1|$1]] is opgeheve",
        "unblocked-range": "$1 is gedeblokkeerd",
        "unblocked-id": "Blokkade $1 is opgeheve",
+       "unblocked-ip": "[[Special:Contributions/$1|$1]] is gedeblokkeerd.",
        "blocklist": "Geblokkeerde gebroekers",
+       "autoblocklist": "Autoblokkaazjes",
        "autoblocklist-submit": "Zeuk",
        "autoblocklist-legend": "Autematiesche blokkades tuine",
        "autoblocklist-localblocks": "Lokale autematiesche {{PLURAL:$1|blokkaasj|blokkades}}",
        "autoblocklist-total-autoblocks": "Totaal aontal autoblokkades: $1",
        "autoblocklist-empty": "De lies mit autematiesche blokkades is laeg.",
+       "autoblocklist-otherblocks": "Anger {{PLURAL:$1|autoblokkaasj|autoblokkaazjes}}",
        "ipblocklist": "Geblokkerde gebroekers",
        "ipblocklist-legend": "'ne Geblokkeerde gebroeker zeuke",
        "blocklist-userblocks": "Verberg geblokkeerde gebroekers",
        "change-blocklink": "blokkaasj verangere",
        "contribslink": "biedrages",
        "emaillink": "sjik mail",
-       "autoblocker": "Ómdets te 'n IP-adres deils mit \"[[User:$1|$1]]\" (geblokkeerd mit raeje \"$2\") bis te automatisch geblokkeerd.",
+       "autoblocker": "Autematis geblokkeerd ómdet dien IP-adres recèntelik is gebroek door \"[[User:$1|$1]]\".\nDe raeje veur de blokkaasj van $1 is: ''$2''",
        "blocklogpage": "Blokkeerlogbook",
        "blocklog-showlog": "Dizze gebroeker is eerder geblokkeerd gewaes.\n't Blokkeerlogbook wört hiejonger weergaeve:",
        "blocklog-showsuppresslog": "Deze gebroeker is al geblok gewaes en d'r zeen (deil van) bewerkinge van deze gebroeker verbórge. 't Verbèrgingslogbook steit hieónger:",
        "block-log-flags-hiddenname": "gebroeker verbórge",
        "range_block_disabled": "De meugelikheid veur beheerders om 'n gróp IP-adresse te blokkere is oetgesjakeld.",
        "ipb_expiry_invalid": "Ongeldig verloup.",
+       "ipb_expiry_old": "Verloupdatum in 't vergangene.",
        "ipb_expiry_temp": "Blokkaasj veur verbórge gebroekers mótte permanent zeen.",
-       "ipb_hide_invalid": "Kinne gebroeker neet verbèrge; d'r haet te väöl angeringe.",
+       "ipb_hide_invalid": "Kan deze konto neet óngerdrökke; 't haet mieër es {{PLURAL:$1|ein bewirking|$1 bewirkinge}}.",
        "ipb_already_blocked": "\"$1\" is al geblokkeerd",
        "ipb-needreblock": "$1 is al geblokkeerd.\nWils se de instellinge wiezige?",
        "ipb-otherblocks-header": "Anger {{PLURAL:$1|blokkaad|blokkades}}",
        "ipb_blocked_as_range": "Fout: 't IP-adres $1 is neet direct geblokkeerd en de blokkade kan neet opgeheve waere. De blokkade is ongerdeil van de reeks $2, wovan de blokkade waal opgeheve kan waere.",
        "ip_range_invalid": "Ongeldige IP-reeks",
        "ip_range_toolarge": "Reeksblokkades groeater es /$1 kènne neet.",
+       "ip_range_exceeded": "De IP-range euverstieg 't maximum: Toegestange range: /$1.",
+       "ip_range_toolow": "IP-ranges zint neet toegestange.",
        "proxyblocker": "Proxyblokker",
        "proxyblockreason": "Dien IP-adres is geblokkeerd ómdat 't 'n aope proxy is. Contacteer estebleef diene internet service provider of technische óngersjteuning en informeer ze euver dit serjeus veiligheidsprebleem.",
        "sorbsreason": "Dien IP-adres is opgenaome in de DNS-blacklist es open proxyserver, dae {{SITENAME}} gebroek.",
        "sorbs_create_account_reason": "Dien IP-adres is opgenómme in de DNS-blacklist es open proxyserver, dae {{SITENAME}} gebroek. De kèns gein gebroekersaccount aanmake.",
+       "softblockrangesreason": "Anoniem biedraag zint neet toegestange op gróndj van dien IP-adres ($1). Meld dich estebleef aan.",
+       "xffblockreason": "'n IP-adres des toe gebroeks is geblokkeerd. Dit steit in de \"X-Forwarded-For\"-header. De oearsprunkelike raeje veur de blokkaasj is: $1",
        "cant-see-hidden-user": "De gebroeker dae se perbeers te blokke is al geblok en verbórge.\nÓmdes se 't rèch \"hideuser\" neet höbs, kèns se de blok neet bekieke of bewerke.",
        "ipbblocked": "Doe kèns gein anger gebroekers (ónt)blokke, ómdet se zèlf geblók bös.",
        "ipbnounblockself": "Doe moogs dichzèlf neet óntblokke.",
        "lockdbsuccesstext": "De database is geblokkeerd.<br />\n\nVergaet neet de database opnuuj te [[Special:UnlockDB|deblokkere]] wens te klaor bis mit 't óngerhaud.",
        "unlockdbsuccesstext": "Blokkering van de database van {{SITENAME}} is opgeheven.",
        "lockfilenotwritable": "Gein sjriefrechte op 't databaselockbestandj. Om de database te kinne blokkere of vrie te gaeve, dient de webserver sjriefrechte op dit bestandj te höbbe.",
+       "databaselocked": "De databank is al geslaote.",
        "databasenotlocked": "De database is neet geblokkeerd.",
        "lockedbyandtime": "(door $1 óm $3 op $2)",
        "move-page": "\"$1\" hernömme",
        "movepagetext-noredirectfixer": "Mit 't óngersjtaond formuleer kans te 'n pagina verplaatse. De historie van de auw pagina zal nao de nuuj mitgoon. \nDe auwe titel zal automatisch 'ne redirect nao de nuuj pagina waere. \nControleer den of d'r gein [[Special:DoubleRedirects|dobbel]] of [[Special:BrokenRedirects|gebraoke redirects]] ontsjtange zien.\n\nDoe kans 'n pagina '''allein''' verplaatse, es gein pagina besjteit mit de nuje naam, of es op die pagina allein 'ne redirect zónger historie sjteit. Doe kins dus 's pagina die abusievelik verplaats is, trökverplaatse en 'n bestaondje pagina neet euversjrieve.\n\n'''Waarsjoewing!'''\nVeur väöl bekeke pagina's ken 't verplaatse drastische en onveurzene gevolge höbbe.\nZörg deveur dets te die gevolge euverzuus ierdets te dees hanjeling oetvoers.",
        "movepagetalktext": "De biebehurende euverlèkpagina weurt ouch verplaats, mer '''neet''' in de volgende gevalle:\n* es al 'n euverlèkpagina besjteit ónger de angere naam\n* es doe 't óngersjtaond vekske neet aanvinks",
        "moveuserpage-warning": "'''Waorsjoewing:''' doe geis 'ne gebroekerspagina hernömme.\nHaaj d'r raekening mit det allein de pagina wuuertj hernömp, ''neet'' de gebroeker.",
+       "movecategorypage-warning": "<strong>Waorsjoewing:</strong> Doe steis op 't puntj 'n categoriepagina te verplaatse. Haaj daomit raekening det allein de categoriepagina zelf weurt verplaats; pagina's in de aaj categorie waere <em>neet</em> autematis nao de nuuj verplaats.",
        "movenologintext": "Veur 't verplaatse van 'n pagina mos te zien [[Special:UserLogin|aangemèld]].",
        "movenotallowed": "De kèns gein pazjena's verplaatse.",
        "movenotallowedfile": "De höbs gein rechte om bestenj te hernömme.",
        "cant-move-user-page": "De höbs gein rechte om gebroekerspagina's te hernömme.",
        "cant-move-to-user-page": "De höbs gein rechte om 'n pagina nao 'n gebroekerspagina te hernömme. Hernömme nao 'n subpagina is waal meugelik.",
+       "cant-move-category-page": "Doe höbs gein rechte óm categoriepagina's te verplaatse.",
+       "cant-move-to-category-page": "Doe höbs gein rechte 'n pagina nao 'n categoriepagina te verplaatse.",
+       "cant-move-subpages": "Doe höbs gein rechte subpagina's te verplaatse.",
+       "namespace-nosubpages": "Naamruumde \"$1\" leut gein deilpagina's tou.",
        "newtitle": "Nuje titel",
        "move-watch": "Volg dees pagina",
        "movepagebtn": "Verplaats pagina",
        "movelogpagetext": "Dit is de lies van verplaatsde pazjena's.",
        "movesubpage": "{{PLURAL:$1|Subpaasj|Subpazjena's}}",
        "movesubpagetext": "De {{PLURAL:$1|subpaasj|$1 subpazjena's}} ven deze paasj {{PLURAL:$1|wörd|waere}} hie ónger getuundj.",
+       "movesubpagetalktext": "De biebehuuerende euverlèkpagina haet $1 {{PLURAL:$1|deilpagina|deilpagina's}}, hie-ónger getuind.",
        "movenosubpage": "Deze pagina haet gein subpagina's.",
        "movereason": "Reeje:",
        "revertmove": "trökdrieje",
-       "delete_and_move_text": "==Wisse vereis==\n\nDe doeltitel \"[[:$1]]\" besjteit al. Wils te dit artikel wisse óm ruumde te make veur de verplaatsing?",
+       "delete_and_move_text": "De doeltitel \"[[:$1]]\" besjteit al. \nWils te dit artikel wisse óm ruumde te make veur de verplaatsing?",
        "delete_and_move_confirm": "Jao, wis de pazjena",
        "delete_and_move_reason": "Gewis óm artikel [[$1]] te kónne verplaatse",
-       "selfmove": "De kèns 'n pazjena neet verplaatse nao dezelfde paginanaam.",
+       "selfmove": "De titel is 'tzelvende; e kèns 'n pazjena neet verplaatse nao dezelfde paginanaam.",
        "immobile-source-namespace": "Pagina's in de naamruumde \"$1\" kinne nwet hernump waere",
        "immobile-target-namespace": "Pagina's kinne neet hernömp waere nao de naamruumde \"$1\"",
        "immobile-target-namespace-iw": "'n Interwikiverwiezing is gein geldige bestumming veur 't hernömme van 'n pagina.",
        "immobile-source-page": "Deze pagina kin neet hernömp waere.",
        "immobile-target-page": "'t Is neet meugelik te hernömmen nao die paginanaam.",
+       "bad-target-model": "De gewunsjde bestumming gebroek 'n anger inhawdsmodel. Kan neet van $1 nao $2 ómzètte.",
        "imagenocrossnamespace": "'n Mediabestand kin neet nao 'n anger naamruumde verplaats waere",
        "nonfile-cannot-move-to-file": "Kèn gein neet-bestenj nao bestenj verplaatse.",
        "imagetypemismatch": "De nuje bestandjsextensie is neet gliek aan 't bestandjstype.",
        "move-leave-redirect": "'n Doorverwiezing achterlaote",
        "protectedpagemovewarning": "'''Waorsjoewing: Dees pazjena is besjermp zoedat ze allein doer gebroekers mit administratorrechte kint weure verplaats.'''\nDe lèste logbookregel steit hierónger:",
        "semiprotectedpagemovewarning": "'''Let op:''' Dees pazjena is beveilig en kin allein door geregistreerde gebroekers verplaats waere.\nDe lèste logbookregel steit hiejónger:",
-       "move-over-sharedrepo": "== 't Bestandj besteit al ==\n[[:$1]] besteit al in 'ne gedeildje mediadatabank.\nE bestandj hiehaer verplaatse euversjrief 't gedeildj bestandj.",
+       "move-over-sharedrepo": "[[:$1]] besteit al in 'ne gedeildje mediadatabank.\nE bestandj hiehaer verplaatse euversjrief 't gedeildj bestandj.",
        "file-exists-sharedrepo": "Deze bestandjsnaam besteit al in 'ne gedeildje mediadatabank.\nKees 'nen angere bestandjsnaam.",
        "export": "Exporteer pagina's",
        "exporttext": "De kèns de teks en historie van 'n pazjena of van pazjena's exportere (oetveure) nao XML. Dit exportbestandj is daonao te importere (inveure) in 'ne angere MediaWiki mit de [[Special:Import|importpazjena]]. (dèks is hie importrech veur nudig)\n\nGaef in 't óngersjtaonde veldj de name van de te exportere pazjena's op, ein pazjena per regel, en gaef aan ofs te alle versies mit de bewerkingssamevatting of allein de hujige versies mit de bewirkingssamevatting wils exportere.\n\nIn 't letste geval kèns te ouch 'ne link gebroeken, bieveurbild [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]] veur de pazjena \"[[{{MediaWiki:Mainpage}}]]\".",
        "export-download": "Es bestandj opslaon",
        "export-templates": "Sjablone toevoge",
        "export-pagelinks": "Pazjena's wonao verweze wuuerdj toevoege tot 'n deepdje ven:",
+       "export-manual": "Veug pagina's handjmaesig tou:",
        "allmessages": "Alle systeemberichte",
        "allmessagesname": "Naam",
        "allmessagesdefault": "Obligaten teks",
        "thumbnail-more": "Vergroete",
        "filemissing": "Besjtand ontbrik",
        "thumbnail_error": "Fout bie 't aanmake van thumbnail: $1",
+       "thumbnail_error_remote": "Foutmeljing van $1:\n$2",
        "djvu_page_error": "DjVu-pagina boete bereik",
        "djvu_no_xml": "De XML veur 't DjVu-bestandj kos neet opgehaald waere",
        "thumbnail-temp-create": "'t Waar neet meugelik e tiejelik miniatuurbestandj aan te make.",
        "thumbnail-dest-create": "'t Waar neet meugelik 't miniatuurbestandj op de doellokatie op te sjlaon.",
        "thumbnail_invalid_params": "Onzjuste thumbnailparamaetere",
+       "thumbnail_toobigimagearea": "Bestandj mit aafmaetinge grótter es $1",
        "thumbnail_dest_directory": "Neet in staat doel directory aan te make",
        "thumbnail_image-type": "Dit besjtandjstype waert neet ongersjteund",
        "thumbnail_gd-library": "De insjtèllinge veur de GD-bibliotheek zeen incompleet. De functie $1 waert gemis",
+       "thumbnail_image-size-zero": "Plaetjesbestandjsgruuedje liek nól te zeen.",
        "thumbnail_image-missing": "'t Besjtandj liek neet aanwezig te zeen: $1",
        "import": "Pazjena's importere",
-       "importinterwiki": "Transwiki-import",
+       "importinterwiki": "Importeer pagina's vanoet 'nen angere wiki",
        "import-interwiki-text": "Selecteer 'ne wiki en pazjenanaam om te importere.\nVersie- en auteursgegaeves blieve hiej bie bewaard.\nAlle transwiki-importhanjelinge waere opgeslage in 't [[Special:Log/import|importlogbook]].",
+       "import-interwiki-sourcewiki": "Brónwiki:",
+       "import-interwiki-sourcepage": "Brónpagina:",
        "import-interwiki-history": "Volledige gesjiedenis van deze pazjena ouch kopiëre",
        "import-interwiki-templates": "Alle sjablone opnaeme",
        "import-interwiki-submit": "Importere",
+       "import-mapping-default": "Veur in nao standerdplaatse",
+       "import-mapping-namespace": "Veur in nao 'n naamruumde:",
+       "import-mapping-subpage": "Veur in es deilpagina's van de volgende pagina:",
        "import-upload-filename": "Bestandjsnaam:",
+       "import-upload-username-prefix": "Interwikiveurveugsel:",
+       "import-assign-known-users": "Wies bewirkinge tou aan lokaal gebroekers wen de desbetruffendje gebroeker lokaal besteit",
        "import-comment": "Opmèrking:",
        "importtext": "Gebroek de funktie [[Special:Export|export]] in de wiki woe de infermasie vanaaf kump. \nSjlaon de oetveur op dien eige computer op, en voeg dae dao nao hiej toe.",
        "importstart": "Pazjena's aan 't importere ...",
        "imported-log-entries": "$1 {{PLURAL:$1|logbookregel|logbookregele}} ingeveurdj.",
        "importfailed": "Import is misluk: $1",
        "importunknownsource": "Ónbekindj importbróntype",
+       "importnoprefix": "Gein interwikiveurveugsel opgegaove",
        "importcantopen": "Kós 't importbestandj neet äöpene",
        "importbadinterwiki": "Verkeerde interwikilink",
        "importsuccess": "Import geslaag!",
        "import-error-create": "De pagina \"$1\" is neet geïmporteerd omdes se neet de rechte hes óm dees aan te make.",
        "import-error-interwiki": "De pagina \"$1\" is neet geïmporteerd omdet deze naam is gereserveerd veur extern verwiezinge (interwiki).",
        "import-error-special": "Pagina \"$1\" is neet geïmporteerd omdet deze is geplaats in 'n speciaal naamruumdje wo gein pagina's in geplaats kinne waere.",
-       "import-error-invalid": "De pagina\" \"$1\" is neet geïmporteerd omdet de naam óngeljig is.",
+       "import-error-invalid": "De pagina\" \"$1\" is neet geïmporteerd omdet de naam wohaer die mót waere geïmporteerd óngeljig is op deze wiki.",
+       "import-options-wrong": "Verkieërde {{PLURAL:$2|optie|opties}}: <nowiki>$1</nowiki>",
+       "import-rootpage-invalid": "De opgegaove basispagina is óngeljig.",
        "importlogpage": "Importlogbook",
        "importlogpagetext": "Administratieve import van pazjena's mit gesjiedenis van anger wiki's.",
-       "import-logentry-upload-detail": "$1 {{PLURAL:$1|versie|versies}}",
-       "import-logentry-interwiki-detail": "$1 {{PLURAL:$1|versie|versies}} van $2",
+       "import-logentry-upload-detail": "$1 {{PLURAL:$1|versie|versies}} ingeveurd",
+       "import-logentry-interwiki-detail": "$1 {{PLURAL:$1|versie|versies}} ingeveurd van $2",
        "javascripttest": "Tes JavaScript",
+       "javascripttest-pagetext-unknownaction": "Ónbekande hanjeling \"$1\".",
        "javascripttest-qunit-intro": "Zuuch de [$1 tesdocumentatie] op mediawiki.org.",
        "tooltip-pt-userpage": "{{GENDER:|Dien gebroekerspagina}}",
        "tooltip-pt-anonuserpage": "De gebroekerspazjena veur dit IP adres",
        "tooltip-pt-preferences": "{{GENDER:|Dien}} veurkäöre",
        "tooltip-pt-watchlist": "De lies van gevolgde pagina's.",
        "tooltip-pt-mycontris": "Euverzich van {{GENDER:|dien}} biedrage",
+       "tooltip-pt-anoncontribs": "'n Lies van bewirkinge gemaak door dit IP-adres.",
        "tooltip-pt-login": "De weurs aangemeudig om d'ch aan te melje, meh 't is neet verplich.",
+       "tooltip-pt-login-private": "Doe mós dich aanmelje veur deze wiki te kónne broeke",
        "tooltip-pt-logout": "Aafmelde",
        "tooltip-pt-createaccount": "Maak veural 'ne gebroeker aan en melj dich aan. Dit is aevel neet vereisj.",
        "tooltip-ca-talk": "Euverlèk euver dit artikel",
        "tooltip-feed-atom": "Atom feed veur dees pagina",
        "tooltip-t-contributions": "Lies mit biedrages van {{GENDER:$1|deze gebroeker}}",
        "tooltip-t-emailuser": "Sjtuur inne mail noa dizze {{GENDER:$1|gebroeker}}",
+       "tooltip-t-info": "Mieër infermasie euver dees pagina",
        "tooltip-t-upload": "Upload besjtande",
        "tooltip-t-specialpages": "Lies van alle speciaal pagina's",
        "tooltip-t-print": "Printvruntelike versie van deze pagina",
        "anonymous": "{{PLURAL:$1|Anonieme gebroeker|Anoniem gebroekers}} ven {{SITENAME}}",
        "siteuser": "{{SITENAME}} gebroeker $1",
        "anonuser": "anonieme gebroeker óp {{SITENAME}} $1",
-       "lastmodifiedatby": "Dees pagina is 't lèts verangerd op $2, $1 door $3.",
+       "lastmodifiedatby": "Dees pagina is 't lèts bewirk op $2, $1 door $3.",
        "othercontribs": "Gebaseerd op wirk van $1.",
        "others": "angere",
-       "siteusers": "{{SITENAME}} {{PLURAL:$2|gebroeker|gebroekers}} $1",
+       "siteusers": "{{SITENAME}}-{{PLURAL:$2|gebroeker|gebroekers}} $1",
        "anonusers": "{{PLURAL:$2|anonieme gebroeker|anoniem gebroekers}} óp {{SITENAME}} $1",
        "creditspage": "Sjrievers van dees pazjena",
        "nocredits": "d'r Is gein auteursinformatie besjikbaar veur deze pagina.",
        "spam_deleting": "Alle wieziginge hawwe links nao $1, wuuertj gewösj",
        "simpleantispam-label": "Antispamcontrole.\nVöl dit veld <strong>neet</strong> in!",
        "pageinfo-title": "Informatie euver \"$1\"",
+       "pageinfo-not-current": "Dees gegaeves zint allein besjikbaar veur de hujige versie.",
        "pageinfo-header-basic": "Basisgegaeves",
        "pageinfo-header-edits": "Bewirkingsgesjiechte",
        "pageinfo-header-restrictions": "Paginabesjirming",
        "pageinfo-robot-index": "Tougestange",
        "pageinfo-robot-noindex": "Neet toegestange",
        "pageinfo-watchers": "Aantal paginavolgers",
+       "pageinfo-visiting-watchers": "Aantaal volgers die recènte bewirkinge höbbe betrach",
        "pageinfo-few-watchers": "Minder es  {{PLURAL:$1|eine volger|$1 volgers}}",
        "pageinfo-redirects-name": "Aantaal redireks nao dees pagina",
        "pageinfo-subpages-name": "Subpagina's van dees pagina",
        "pageinfo-hidden-categories": "Verstaoke {{PLURAL:$1|categorie|categorieje}} ($1)",
        "pageinfo-templates": "{{PLURAL:$1|Gebroek sjebloon|Gebroekde sjeblone}} ($1)",
        "pageinfo-toolboxlink": "Pazjena-infermasie",
+       "pageinfo-redirectsto": "Verwies door nao:",
        "pageinfo-redirectsto-info": "infermasie",
        "pageinfo-contentpage": "Getèldj es pagina mit inhawd",
        "pageinfo-contentpage-yes": "Jao",
+       "pageinfo-protect-cascading": "Besjurminge wirke door vanaaf hie",
        "pageinfo-protect-cascading-yes": "Jao",
+       "pageinfo-protect-cascading-from": "Pagina is besjurmp vanoet 'n anger pagina",
+       "pageinfo-category-info": "Categoriegegaeves",
+       "pageinfo-category-total": "Totaal aantaal lede",
+       "pageinfo-category-pages": "Aantaal pagina's",
+       "pageinfo-category-subcats": "Aantaal subcategorieje",
+       "pageinfo-category-files": "Aantaal bestenj",
+       "pageinfo-user-id": "Gebroekersnómmer",
+       "pageinfo-file-hash": "Hashcode",
        "markaspatrolleddiff": "Markeer es gecontroleerd",
        "markaspatrolledtext": "Markeer deze pagina es gecontroleerd",
+       "markaspatrolledtext-file": "Markeer dees bestandjsversie es gecontroleerd",
        "markedaspatrolled": "Gemarkeerd es gecontroleerd",
        "markedaspatrolledtext": "De gekaoze versie van [[:$1]] is gemarkeerd es gecontroleerd.",
        "rcpatroldisabled": "De controlemeugelikheid op recènte wieziginge is oetgesjakeld.",
        "markedaspatrollederror": "Kin neet es gecontroleerd waere aangemèrk",
        "markedaspatrollederrortext": "Selecteer 'ne versie om es gecontroleerd aan te mèrke.",
        "markedaspatrollederror-noautopatrol": "De kèns dien eige verangeringe neet es gecontroleerd markere.",
+       "markedaspatrollednotify": "Dees bewirking op $1 is gemarkeerd es gecontroleerd.",
+       "markedaspatrollederrornotify": "Markere es gecontroleerd mislök.",
        "patrol-log-page": "Markeerlogbook",
        "patrol-log-header": "Dit logbook bevat versies die gemarkeerd zeen es gecontroleerd.",
        "log-show-hide-patrol": "Markeerlogbook $1",
+       "log-show-hide-tag": "$1 labellogbook",
        "confirm-markpatrolled-button": "Ok",
+       "confirm-markpatrolled-top": "Markeer bewirking $3 van $2 es gecontroleerd?",
        "deletedrevision": "Aw versie $1 gewis",
        "filedeleteerror-short": "Fout biej 't wisse van bestandj: $1",
        "filedeleteerror-long": "d'r Zeen foute opgetraoje bie 't verwiedere van 't bestandj:\n\n$1",
        "minutes": "{{PLURAL:$1|$1 menuut|$1 menuut}}",
        "hours": "{{PLURAL:$1|$1 oer|$1 oer}}",
        "days": "{{PLURAL:$1|$1 daag|$1 daag}}",
+       "weeks": "{{PLURAL:$1|$1 waek|$1 waeke}}",
+       "months": "{{PLURAL:$1|$1 maondj}}",
+       "years": "{{PLURAL:$1|$1 jaor}}",
        "ago": "$1 trögk",
+       "just-now": "zojuus",
+       "hours-ago": "$1 {{PLURAL:$1|oer}} trök",
+       "minutes-ago": "$1 {{PLURAL:$1|menuut}} trök",
+       "seconds-ago": "$1 {{PLURAL:$1|sekond}} trök",
+       "monday-at": "Maondig óm $1",
+       "tuesday-at": "Dinsdig óm $1",
+       "wednesday-at": "Goonsdig óm $1",
+       "thursday-at": "Dónderdig óm $1",
+       "friday-at": "Vriedig óm $1",
+       "saturday-at": "Zaoterdig óm $1",
+       "sunday-at": "Zóndig óm $1",
+       "yesterday-at": "Gister óm $1",
        "bad_image_list": "De opmaak is es volg:\n\nAllein regele in 'n lies (regele die mit * beginnen) waere verwirk. De ierste link op 'ne regel mót 'ne link zeen nao 'n óngewunsj plaetje.\nAlle volgende links die op dezelfde regel sjtaon, waere behanjeld es oetzunjering, zoe wie pagina's woe-op 't plaetje in de teks opgenómme is.",
        "metadata": "Metadata",
        "metadata-help": "Dit besjtand bevat aanvullende infermasie, dae door 'ne fotocamera, 'ne scanner of 'n fotobewirkingsprogramma toegeveug kin zeen. Es 't besjtand aangepas is, dan kómme details meugelik neet euverein mit 't verangerde besjtand.",
        "exif-compression-3": "CCITT Groep 3 faxcodering",
        "exif-compression-4": "CCITT Groep 4 faxcodering",
        "exif-copyrighted-true": "Mit copyright",
-       "exif-copyrighted-false": "Publiek domein",
+       "exif-copyrighted-false": "Auteursrechtelike staot neet ingestèld",
+       "exif-photometricinterpretation-1": "Zwart-wit (zwart is 0)",
        "exif-unknowndate": "Datum ónbekindj",
        "exif-orientation-1": "Normaal",
        "exif-orientation-2": "Horizontaal gespegeldj",
        "confirmemail_subject": "Bevèstiging e-mailadres veur {{SITENAME}}",
        "confirmemail_body": "Emes, waorsjienlik doe vanaaf 't IP-adres $1, heet 'n account $2\naangemaak mit dit e-mailadres op {{SITENAME}}.\n\nEupen óm te bevèstige dat dit account wirkelik van dich is en de\ne-mailgegaeves op {{SITENAME}} te activere deze link in diene browser:\n\n$3\n\nEs geer dit *neet* zeet, vólg den deze link:\n\n$5\n\nDees bevèstigingscode blief geljig tot $4",
        "confirmemail_body_changed": "Emes, waersjienlik doe, met 't IP-adres $1,\nhaet 't e-mailadres geregistreerd veur gebroeker \"$2\" op {{SITENAME}} gewiezig nao dit e-mailadres.\n\nÄöpen de volgende verwiezing in diene webbrowser om te bevestige des toe deze gebroeker bis en om de e-mailmeugelikhejen op {{SITENAME}} opnuuj te activere:\n\n$3\n\nEs se dichzelf '''neet''' hees aangemeld, volg den de volgende verwiezing om de bevestiging van dien e-mailadres te annulere:\n\n$5\n\nDe bevestigingscode vervilt op $4.",
-       "confirmemail_body_set": "Emes, waersjienlik doe, met 't IP-adres $1,\nhaet 't e-mailadres geregistreerd veur gebroeker \"$2\" op {{SITENAME}} ingesteld óp dit e-mailadres.\n\nÄöpen de volgende verwiezing in diene webbrowser om te bevestige des toe deze gebroeker bis en om de e-mailmeugelikhejen op {{SITENAME}} opnuuj te activere:\n\n$3\n\nEs se dichzelf '''neet''' hees aangemeld, volg den de volgende verwiezing om de bevestiging van dien e-mailadres te annulere:\n\n$5\n\nDe bevestigingscode vervilt op $4.",
+       "confirmemail_body_set": "Emes, waersjienlik doe, met 't IP-adres $1,\nhaet 't e-mailadres geregistreerd veur gebroeker \"$2\" op {{SITENAME}} ingesteld óp dit e-mailadres.\n\nÄöpen de volgende verwiezing in diene webbrowser om te bevestige des toe deze gebroeker bis en om de e-mailmeugelikhejen op {{SITENAME}} opnuuj te activere:\n\n$3\n\nEs se dichzelf *neet* haes aangemeld, volg den de volgende verwiezing om de bevestiging van dien e-mailadres te annulere:\n\n$5\n\nDe bevestigingscode vervilt op $4.",
        "confirmemail_invalidated": "De e-mailbevestiging is geannuleerdj",
        "invalidateemail": "E-mailbevestiging annulere",
        "scarytranscludedisabled": "[Interwikitransclusie is oetgesjakeld]",
        "confirmrecreate": "Gebroeker [[User:$1|$1]] ([[User talk:$1|euverlèk]]) heet dees pagina eweggesjaf naodats doe mèt bewirke begós mèt de rae:\n: ''$2''\nBevesteg estebleef dats te dees pazjena ech obbenuujts wils aanmake.",
        "confirmrecreate-noreason": "Naodes se begós bös mit 't verangere haet [[User:$1|$1]] ([[User talk:$1|euverlègk]]) dees pagina gewösj.\nBevestig des se dees pagina óbbenuits wils aanmake.",
        "recreate": "Pazjena obbenuujts make",
+       "confirm-purge-title": "Vernuuj dees pagina",
        "confirm_purge_button": "ok",
        "confirm-purge-top": "Wils te de buffer vaan dees paas wisse?",
        "confirm-purge-bottom": "t Opsjone van de cache zorg drveur det de lèste versie van n pagina wörd weergegaeve.",
        "confirm-watch-top": "Dees pagina bie dien volglies zètte?",
        "confirm-unwatch-button": "Ok",
        "confirm-unwatch-top": "Dees pagina van dien volglies ewegsjaffe?",
+       "confirm-rollback-button": "Klaor",
+       "confirm-rollback-top": "Drej bewirkinge van dees pagina trök?",
+       "quotation-marks": "\"$1\"",
        "imgmultipageprev": "← veurige pazjena",
        "imgmultipagenext": "volgende pazjena →",
        "imgmultigo": "Gank!",
        "imgmultigoto": "Gank naor pazjena $1",
+       "img-lang-default": "(standerdspraok)",
+       "img-lang-info": "Gaef dit plaetje waor in de spraok $1. $2",
+       "img-lang-go": "Gank",
        "ascending_abbrev": "opl.",
        "descending_abbrev": "aaf.",
        "table_pager_next": "Volgende pazjena",
        "autosumm-blank": "De pagina is laeggehaold",
        "autosumm-replace": "Teks vervange mit '$1'",
        "autoredircomment": "Verwies door nao [[$1]]",
+       "autosumm-removed-redirect": "Redirek nao [[$1]] eweggesjaf",
+       "autosumm-changed-redirect-target": "Verangerde redirekdoel van [[$1]] nao [[$2]]",
        "autosumm-new": "Nuuj pazjena mit $1",
        "autosumm-newblank": "haet 'n laeg pagina aangemaak",
        "lag-warn-normal": "Verangeringe die nujer zeen es $1 {{PLURAL:$1|sekónd|sekónd}} waere mesjiens neet getuind in dees lies.",
        "watchlistedit-raw-done": "Dien volglies is biegewirk.",
        "watchlistedit-raw-added": "{{PLURAL:$1|1 pazjena is|$1 pazjena's zeen}} toegevoog:",
        "watchlistedit-raw-removed": "{{PLURAL:$1|1 pazjena is|$1 pazjena's zeen}} eweggesjaf:",
+       "watchlistedit-clear-title": "Maak de volglies laeg",
+       "watchlistedit-clear-legend": "Maak de volglies laeg",
+       "watchlistedit-clear-explain": "Alle pagina's waere van dien volglies aafgehaold",
+       "watchlistedit-clear-titles": "Pazjena's:",
+       "watchlistedit-clear-submit": "Maak de volglies laeg (Dit is definitief!)",
+       "watchlistedit-clear-done": "Dien volglies is laeggemaak.",
+       "watchlistedit-clear-jobqueue": "Dien volglies weurt laeggemaak. Dit kan efkes doere!",
+       "watchlistedit-clear-removed": "{{PLURAL:$1|1 pazjena is|$1 pazjena's zeen}} eweggehaold:",
+       "watchlistedit-too-many": "'t Geuf te väöl pagina's veur hie te tuine.",
        "watchlisttools-clear": "Maak de volglies laeg",
-       "watchlisttools-view": "Volglies bekieke",
-       "watchlisttools-edit": "Volglies bekieke en bewirke",
-       "watchlisttools-raw": "Roew volglies bewirke",
+       "watchlisttools-view": "Betrach rillevante verangeringe",
+       "watchlisttools-edit": "Tuin en bewirk volglies",
+       "watchlisttools-raw": "Bewirk roew volglies",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|euverlègk]])",
+       "timezone-local": "Lokalen tied",
        "duplicate-defaultsort": "Waarsjuwing: De standaardsortering \"$2\" krieg veurrang veur de sortering \"$1\".",
        "version": "Versie",
        "version-extensions": "Geïnstalleerde oetbreijinge",
-       "version-skins": "Vörmgevinge",
+       "version-skins": "Geïnstalleerde uterlike",
        "version-specialpages": "Speciaal pazjena's",
        "version-parserhooks": "Parserheuk",
        "version-variables": "Variabele",
        "version-hook-name": "Hooknaam",
        "version-hook-subscribedby": "Geabonneerd door",
        "version-version": "($1)",
-       "version-license": "Licentie",
+       "version-no-ext-name": "[geine naam]",
+       "version-license": "MediaWiki-licentie",
+       "version-ext-license": "Licentie",
+       "version-ext-colheader-name": "Oetbreijing",
+       "version-skin-colheader-name": "Uterlik",
+       "version-ext-colheader-version": "Versie",
+       "version-ext-colheader-license": "Licentie",
+       "version-ext-colheader-description": "Besjrieving",
+       "version-ext-colheader-credits": "Sjrievers",
+       "version-license-title": "Licentie veur $1",
        "version-poweredby-credits": "Deze wiki weurt aangedreve door '''[https://www.mediawiki.org/ MediaWiki]''', copyright © 2001-$1 $2.",
        "version-poweredby-others": "anger",
        "version-license-info": "MediaWiki is vrieje sofware; de kins MediaWiki verspreien en/of aanpassen onger de veurwaerde van de GNU General Public License wie gepubliceerd door de Free Software Foundation; ofwaal versie 2 van de Licentie, of - nao diene wönsj - innig later versie.\n\nMediaWiki weurd verspreid in de haop det 't nuttig is, mer ZONGER INNIG GARANTIE; zonger zelfs de implicitiete garantie van VERKOUPBAARHEID of GESJIKHEID VEUR INNIG DOEL IN 'T BIEZÖNJER. Zuuch de GNU General Public License veur mier informatie.\n\nSame mit dit programma heurs se 'n [{{SERVER}}{{SCRIPTPATH}}/COPYING kopie van de GNU General Public License] te höbben ontvange; zo neet, sjrief den nao de Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA of [//www.gnu.org/licenses/old-licenses/gpl-2.0.html laes de licentie online].",
        "specialpages": "Speciaal pazjena's",
        "specialpages-group-maintenance": "Óngerhajingsrapporter",
        "specialpages-group-other": "Euverige speciaal pazjena's",
-       "specialpages-group-login": "Aanmelje / registrere",
+       "specialpages-group-login": "Meld dich aan / registreer",
        "specialpages-group-changes": "Recènte wieziginge en logbeuk",
        "specialpages-group-media": "Mediaeuverzichte en uploads",
        "specialpages-group-users": "Gebroekers en rechte",
        "specialpages-group-highuse": "Väölgebroekde pazjena's",
        "specialpages-group-pages": "Pazjenalieste",
        "specialpages-group-pagetools": "Pazjenahölpmiddele",
-       "specialpages-group-wiki": "Wikigegaeves en -hölpmiddele",
+       "specialpages-group-wiki": "Gegaeves en -hölpmiddele",
        "specialpages-group-redirects": "Doorverwiezende speciaal pazjena's",
        "specialpages-group-spam": "Spamhölpmiddele",
        "specialpages-group-developer": "Hölpmiddele veur óntwikkeleers",
        "compare-invalid-title": "De opgegaeve pazjenanaam is óngeljig.",
        "compare-title-not-exists": "Aangegaeve titel besteit neet.",
        "compare-revision-not-exists": "Aangegaeve versie besteit neet.",
-       "diff-form": "'n '''formulier'''",
+       "diff-form": "Verangeringe",
        "dberr-problems": "Os excuses. Deze site ongervindj op t moment technische probleme.",
        "dberr-again": "Wach n aantal minute en probeer t daonao opnuuj.",
-       "dberr-info": "(Kan gein verbinjing make mit de databaseserver: $1)",
+       "dberr-info": "(Kan gein toegank kriege toet de databank: $1)",
        "dberr-usegoogle": "Wellich kins se in de tussetied zeuke via Google.",
        "dberr-outofdate": "Let op: häör indices ven os pagina's zeen wellich neet recent.",
        "dberr-cachederror": "Deze pagina is n kopie oet de cache en is wellich neet de lèste versie.",
        "htmlform-selectorother-other": "Anges",
        "logentry-delete-delete": "$1 {{GENDER:$1|haet}} de pagina $3 gewösj",
        "logentry-delete-restore": "$1 {{GENDER:$2|haet}} de pagina $3 ($4) trögkgezatte",
-       "logentry-delete-event": "$1 haet de zichbaarheid van {{PLURAL:$5|'ne logbookregel|$5 logbookregels}} van $3 gewiezig: $4",
+       "logentry-delete-event": "$1 {{GENDER:$2|haet}} de zichbaarheid van {{PLURAL:$5|'ne logbookregel|$5 logbookregels}} van $3 gewiezig: $4",
        "logentry-delete-revision": "$1 {{GENDER:$2|haet}} de zichbaarheid van {{PLURAL:$5|'n versie|$5 versies}} van de pagina $3 verangerdj: $4",
-       "logentry-delete-event-legacy": "$1 haet de zichbaarheid van logbookregels van $3 gewiezig",
-       "logentry-delete-revision-legacy": "$1 haet de zichbaarheid van versies van de pagina $3 gewiezig.",
-       "logentry-suppress-delete": "$1 haet de pagina $3 ongerdrök",
+       "logentry-delete-event-legacy": "$1 {{GENDER:$2|haet}} de zichbaarheid van logbookregels van $3 gewiezig",
+       "logentry-delete-revision-legacy": "$1 {{GENDER:$2|haet}} de zichbaarheid van versies van de pagina $3 verangerd",
+       "logentry-suppress-delete": "$1 {{GENDER:$2|haet}} de pagina $3 óngerdrök",
        "logentry-suppress-event": "$1 haet heimelik de zichbaarheid van {{PLURAL:$5|'ne logbookregel|$5 logbookregels}} van $3 gewiezig: $4",
        "logentry-suppress-revision": "$1 haet heimelik de zichbaarheid van {{PLURAL:$5|'n versie|$5 versies}} van $3 gewiezig: $4",
        "logentry-suppress-event-legacy": "$1 haet heimelik de zichbaarheid van logbookregels van $3 gewiezig",
        "feedback-subject": "Óngerwerp:",
        "feedback-submit": "Opsjlaon",
        "feedback-thanks": "Danke! Diene feedback is oppe pagina \"[$2 $1]\" geplaats.",
+       "feedback-thanks-title": "Danke!",
        "searchsuggest-search": "Doorzeuk {{SITENAME}}",
        "searchsuggest-containing": "bevat...",
        "api-error-badtoken": "Intern fout: toke is slech.",
        "api-error-emptypage": "Doe maags gein nuuj, laeg pagina's aanmake.",
        "api-error-stashfailed": "Intern fout: de server kós 't tiedelik bestandj neet ópslaon.",
-       "api-error-unknown-warning": "Onbekinde waorsjuwing: $1",
+       "api-error-unknown-warning": "Onbekinde waorsjuwing: \"$1\"",
        "api-error-unknownerror": "Ónbekèndje fout: \"$1\"",
        "duration-seconds": "$1 {{PLURAL:$1|sekond|sekond}}",
        "duration-minutes": "$1 {{PLURAL:$1|menuut|menuut}}",
        "expandtemplates": "Sjablone plekke",
        "expand_templates_intro": "Dees speciaal pazjena laes de ingegaeve teks in en plektj (mitte functie subst) recursief alle sjablone in de teks. 't Plek ouch alle parserfuncties wie <nowiki>{{</nowiki>#language:...}} en variabele wie <nowiki>{{</nowiki>CURRENTDAY}} - vriejwaal al tösse dóbbel accolades.\nHiej veur waere de relevante functies van de MediaWiki-parser gebroek.",
        "expand_templates_title": "Contekstitel, veur {{FULLPAGENAME}}, etc:",
-       "expand_templates_input": "Inlaajteks:",
+       "expand_templates_input": "Veur wikiteks in:",
        "expand_templates_output": "Rezultaot",
        "expand_templates_xml_output": "XML-oetveur",
        "expand_templates_ok": "ok",
index 0b7b526..61cdc9e 100644 (file)
        "expansion-depth-exceeded-category-desc": "A paggina a suppera a profonditæ mascima d'espanscion.",
        "expansion-depth-exceeded-warning": "Sta paggine a l'ha superòu a profonditæ d'espanscion",
        "parser-unstrip-loop-warning": "Rilevou ciclo de Unstrip",
-       "parser-unstrip-recursion-limit": "Superæ i limmiti de ricorscion de Unstrip ($1)",
+       "unstrip-depth-warning": "Superæ i limmiti de ricorscion de Unstrip ($1)",
        "converter-manual-rule-error": "Rilevou errô inta reggola manoâ de converscion da lengoa",
        "undo-success": "Questa modiffica a peu ese anullâ.\nControlla e differençe mostræ chì de sotta fra e doe verscioin pe ese seguo che-o contegnuo o corisponde a quante dexidiou, e quindi sarvâ e modiffiche pe completâ a proçedûa d'anullamento.",
        "undo-failure": "Imposcibbile anullâ a modiffica a caosa de un conflito con de modiffiche intermeddie.",
index 368a641..e2b0ded 100644 (file)
        "expansion-depth-exceeded-category-desc": "رده برای صفحاتی که در آنها از عمق گسترش فراتر رفته است.",
        "expansion-depth-exceeded-warning": "صفحه حداکثر عمق بسط دادن تجاوز کرد",
        "parser-unstrip-loop-warning": "حلقه در دستور unstrip پیدا شد",
-       "parser-unstrip-recursion-limit": "از حداکثر ارجاع در دستور unstrip تجاوز شد ($1)",
+       "unstrip-depth-warning": "از حداکثر ارجاع در دستور unstrip تجاوز شد ($1)",
        "converter-manual-rule-error": "خطا در قوانین مبدل دستی زبان",
        "undo-success": "این ویرایش را می‌توان خنثی کرد.\nلطفاً تفاوت زیر را بررسی کنید تا تأیید کنید که این چیزی است که می‌خواهید انجام دهید، سپس تغییرات زیر را ذخیره کنید تا خنثی‌سازی ویرایش را به پایان ببرید.",
        "undo-failure": "به علت تعارض با ویرایش‌های میانی، این ویرایش را نمی‌توان خنثی کرد.",
index c77099f..fad7b03 100644 (file)
        "editfont-monospace": "فونت تأک بألگە یی",
        "editfont-sansserif": "فونت سان سئریف",
        "editfont-serif": "فونت سئريف",
-       "sunday": "يئ شأمە",
-       "monday": "دÛ\8aشأÙ\85Û\95",
-       "tuesday": "سئ Ø´Ø£Ù\85Û\95",
+       "sunday": "یٱشمٱ",
+       "monday": "دÛ\8fشٱÙ\85Ù±",
+       "tuesday": "ساÙ\9bØ´Ù\85Ù±",
        "wednesday": "چارشأمە",
        "thursday": "پأن شأمە",
-       "friday": "جومە",
-       "saturday": "شأمە",
+       "friday": "جومٱ",
+       "saturday": "شٱمٱ",
        "sun": "یئ شأمە",
        "mon": "دۊشأمە",
-       "tue": "سئ Ø´Ø£Ù\85Û\95",
+       "tue": "ساÙ\9bØ´Ù\85Ù±",
        "wed": "چارشأمە",
        "thu": "پأن شأمە",
        "fri": "جومە",
        "sat": "شأمە",
-       "january": "جانۋیٱ",
-       "february": "فۋریٱ",
+       "january": "جانڤیٱ",
+       "february": "فڤریٱ",
        "march": "مارس",
-       "april": "آۋریل",
+       "april": "آڤریل",
        "may_long": "ماٛی",
        "june": "جۊٱن",
        "july": "جوٙلای",
        "august": "آگوست",
        "september": "سپتامر",
        "october": "اوکتوبر",
-       "november": "نوۋامر",
+       "november": "نوڤامر",
        "december": "داٛسامر",
        "january-gen": "جانڤیە",
-       "february-gen": "فئڤریە",
+       "february-gen": "فۋریٱ",
        "march-gen": "مارس",
        "april-gen": "آڤریل",
        "may-gen": "مئی",
        "october-gen": "ئوکتوبر",
        "november-gen": "نوڤامر",
        "december-gen": "دئسامر",
-       "jan": "جانۋیٱ",
-       "feb": "فۋریٱ",
+       "jan": "جانڤیٱ",
+       "feb": "فڤریٱ",
        "mar": "مارس",
        "apr": "آۋریل",
-       "may": "Ù\85ئی",
+       "may": "Ù\85اÙ\9bی",
        "jun": "جۊٱن",
        "jul": "جوٙلای",
        "aug": "آگوست",
        "october-date": "ئوکتوبر $1",
        "november-date": "نوڤامر $1",
        "december-date": "دئسامر $1",
-       "pagecategories": "{{PLURAL:$1|}}{{PLURAL:$1|دأسە|دأسە يا}}",
+       "pagecategories": "{{PLURAL:$1|}}{{PLURAL:$1|دٱسٱ|دٱسٱيا}}",
        "category_header": "بألگە یا مین دأسە \"$1\"",
        "subcategories": "زيردأسە یا",
        "category-media-header": "ڤارئسگأر د دأسە \"$1\"",
        "category-empty": "ئی دأسە د راستأکی د ڤأر گئرئتە هیچ بألگە یا ڤارئسگأری نی",
-       "hidden-categories": "{{PLURAL:$1|دأسە قام بییە|دأسە یا قام بییە}}",
+       "hidden-categories": "{{PLURAL:$1|دٱسٱ قام بیٱ|دٱسٱیا قام بیٱ}}",
        "hidden-category-category": "دأسە یا قام بییە",
        "category-subcat-count": "{{PLURAL:$2|ئی دأسە فأقأط زیردأسە یا دئماگئر هان دئش.|ئی دأسە {{PLURAL:$1|زیردأسە|$1 زیردأسە یا}}هئ , ڤئ دأر د $2 کول.}}",
        "category-subcat-count-limited": "ئی دأسە ها د {{PLURAL:$1|زیردأسە|$1 زیردأسە یا}} یی کئ ها ڤئ دومئشوٙ",
        "category-file-count-limited": " {{PLURAL:$1|[جانیا هی|1$جانیایا هین}} نئهایی هان د دأسە ئیسئنی.",
        "listingcontinuesabbrev": "دومالە",
        "index-category": "بألگە یا سیاە دار",
-       "noindex-category": "بألگە یا بی سیاە",
+       "noindex-category": "بلگٱیا بی سیائٱ",
        "broken-file-category": "بألگە یایی کئ هوم پئیڤأند جانیایا ئشگئسئ نە دارئن",
        "categoryviewer-pagedlinks": "($1) ($2)",
        "about": "دئبارە",
        "tagline": "د {{SITENAME}}",
        "help": "هومياری",
        "search": "پی جۊری",
-       "searchbutton": "پئی جوٙری",
+       "searchbutton": "پی جۊری",
        "go": "رو",
        "searcharticle": "رو",
        "history": "ڤیرگار بألگە",
-       "history_short": "ڤیرگار",
+       "history_short": "ۋیرگار",
        "updatedmarker": "د آخئری دییئن مئنە ڤئ هنگوم کو",
        "printableversion": "نوسقٱ پلا بیاٛنی",
-       "permalink": "هوم پئیڤأند هأمیشئ یی",
+       "permalink": "هوم پیۋند همیشٱیی",
        "print": "چاپ گئرئتئن",
-       "view": "ديئن",
+       "view": "دیاٛن",
        "view-foreign": "د $1 نه بوینیت",
-       "edit": "ۋیرایشت",
+       "edit": "ڤیرایشت",
        "edit-local": "توضی ڤولات نئشینی نە ڤیرایئشت بأکیت",
        "create": "راس كئردئن",
        "create-local": "بئ گئل توضی ڤولات نئشینی ئضاف بأکیت",
        "talkpagelinktext": "چٱک چنٱ",
        "specialpage": "بألگە ڤیجە",
        "personaltools": "ٱۋزاریا شٱخسی",
-       "talk": "گأپ",
+       "talk": "گٱپ",
        "views": "دیاٛن",
        "toolbox": "ٱۋزاریا",
        "imagepage": "ديئن بألگە جانیا",
        "aboutpage": "Project:دبارٱ",
        "copyright": "مینوٙنە یا هان د دأسرئس $1 مأر یە کئ ڤئ یئ گئل شیڤە هأنی نیسأنە بوٙە.",
        "copyrightpage": "{{ns:project}}:کوپی رایت",
-       "currentevents": "روخ ڤأنیا ئیسئنی",
+       "currentevents": "روخ ۋنیا ایساٛنی",
        "currentevents-url": "Project:روخ ۋٱنیا ایساٛنی",
        "disclaimers": "تیٱپۊشکاریا",
        "disclaimerpage": "پوروجٱ: تیٱپوشی کردن همٱگیر",
        "mainpage": "سرآسۊنٱ",
        "mainpage-description": "سرآسۊنٱ",
        "policy-url": "پوروجە:رأدیارجوٙری",
-       "portal": "دأرآسÙ\88Ù\99Ù\86Û\95 Ú©Ù\88Ù\85Ù\88Ù\84Û\95 Û\8cØ£کی",
+       "portal": "درآسÛ\8aÙ\86Ù± Ú©Ù\88Ù\85Ù\88Ù\84Ù±Û\8cکی",
        "portal-url": "پوروجٱ:درآسۊنٱ کومولٱیکی",
        "privacy": "پۊلتیک رازینٱداری",
-       "privacypage": "پوروجٱ: راگوۋاری رازینٱ کاری کردن",
+       "privacypage": "پوروجٱ: راگوڤاری رازینٱ کاری کردن",
        "badaccess": "خأطا صئلا دأئن",
        "badaccess-group0": "شوما صئلا أنجوم دأئن کاری نە کئ میهایت ناریت.",
        "badaccess-groups": "ئی کاری کئ شوما هاستیتە سی کاریاریایی کئ هان د {{PLURAL:$2|جأرغە|یئ گئل د جأرغە یا}}: $1 کأم بییە.",
        "pagetitle": "$1 - {{SITENAME}}",
        "pagetitle-view-mainpage": "{{SITENAME}}",
        "backlinksubtitle": "← $1",
-       "retrievedfrom": "د Ù\86Û\8a Ø²Ø¦Ù\86Û\95 Ø¨Û\8cÛ\95 د\"$1\"",
+       "retrievedfrom": "د Ù\86Û\8f Ø²Ù\86Ù± Ø¨Û\8cÙ± د\"$1\"",
        "youhavenewmessages": "{{PLURAL:$3|شوما داریت}} $1 ($2).",
        "youhavenewmessagesfromusers": "{{PLURAL:$4|شوما}} $1 د {{PLURAL:$3|کاریار هأنی|$3 کاریاریا}}داریت($2).",
        "youhavenewmessagesmanyusers": "شوما د $1 فئرە کاریار داریت($2).",
        "newmessageslinkplural": "{{PLURAL:$1|یئ گئل پئیغوم تازە|999=پئیغومیا تازە}}",
        "newmessagesdifflinkplural": "آخئر {{PLURAL:$1|آلئشت|آلئشتیا}}",
        "youhavenewmessagesmulti": "شوما یئ گئل پئیغوم تازە د $1 داریت",
-       "editsection": "ۋیرایشت",
+       "editsection": "ڤیرایشت",
        "editold": "ڤیرایئشت",
        "viewsourceold": "سئیل د سأرچئشمە بأکیت",
-       "editlink": "Ú¤Û\8cراÛ\8cئشت",
-       "viewsourcelink": "سئÛ\8cÙ\84 Ø¯ Ø³Ø£Ø±Ú\86ئشÙ\85Û\95 Ø¨Ø£کیت",
-       "editsectionhint": "ۋیرایشت یاٛ گاٛل بٱرجا:$1",
-       "toc": "مینوٙنە یا",
+       "editlink": "ڤیرایشت",
+       "viewsourcelink": "ساÙ\9bÛ\8cÙ\84 Ø¯ Ø³Ø±Ú\86Ø´Ù\85Ù± Ø¨Ù±کیت",
+       "editsectionhint": "ڤیرایشت یاٛ گاٛل بٱرجا:$1",
+       "toc": "مینۊنٱیا",
        "showtoc": "نئشوٙ دأئن",
        "hidetoc": "قام کئردئن",
        "collapsible-collapse": "جأم کئردئن",
        "feed-invalid": "جوٙر هومبأر بییە مینجا هأڤال حوٙن نادیار",
        "feed-unavailable": "هأڤال حوٙنیا د دأسرئس نییئن",
        "site-rss-feed": "هأڤال حوٙن RSS سی $1",
-       "site-atom-feed": "هأڤال حوٙن Atom سی $1",
+       "site-atom-feed": "هوڤال هۊ Atom سی $1",
        "page-rss-feed": "هأڤال حوٙن RSS سی «$1»",
        "page-atom-feed": "هأڤال حوٙن Atom سی $1",
        "feed-atom": "اتم",
        "red-link-title": "$1(بلگٱ نیاٛش)",
        "sort-descending": "کأم بییئن سأرجاخود",
        "sort-ascending": "زياد بيیئن سأرجادخود",
-       "nstab-main": "بألگە",
+       "nstab-main": "بلگٱ",
        "nstab-user": "بألگە کاریار",
        "nstab-media": "بألگە ڤارئسگأر",
-       "nstab-special": "بألگە ڤیجە",
+       "nstab-special": "بلگٱیا ۋیجٱ",
        "nstab-project": "بألگە پوروجە",
        "nstab-image": "جانیا",
        "nstab-mediawiki": "پئیغوٙم",
        "actionthrottled": "کونئشتکاری نئهاگئری بییە",
        "actionthrottledtext": "سی نئهاگئری د دأرتیچ بییئن ئسپأم نأبوٙە کئ شوما چئنی کاری نە د یئ گاتی کوٙتا چأن گئل أنجوم بئییت.\nلوطف بأکیت د چأن دئیقە هأنی د نۊ تئلاش بأکیت.",
        "protectedpagetext": "نأبوٙە د ئی بألگە ڤیرایئشت کاریا کاریاریا هأنی نە سئیل بأکیت.",
-       "viewsourcetext": "شوما می توٙنید سأرچئشمە ئی بألگە نە سئیل بأکیت و دئش ڤئرداریت:",
+       "viewsourcetext": "شوما می تۊنیت سرچشمٱ ای بلگٱ ناٛ ساٛیل بٱکیت و داٛش ۋرداریت:",
        "viewyourtext": "شوما می توٙنیت سأرچئشمە ڤیرایئشتیا توٙنە د ئی بألگە سئیل بأکیت و دئشوٙ ڤئرداریت:",
        "protectedinterface": "ئی بألگە سی نأرم أفزار کئ ها د ئی ڤیکی نیسئسە آمادە میکە،و ڤئ د موزاحئمە ت کاری پأر و پیم کاری بیە\nسی ئضاف کئردئن یا آلئشت دأئن د هأمە ڤیکی یا لوطف بأکیت [https://translatewiki.net/ translatewiki.net] نە ڤئ کار بئیریت، پوروجە ڤولات نئشین سازی ڤیکیمئدیا.",
        "editinginterface": "<strong>ڤارئسکاری کئردئن:</strong> شوما داریت یئ گئل بألگە نە کئ سی یئ گئل نیسئسە یا نأرم أفزار پئیڤأندکار ڤئ کار گئرئتە بیە ڤیرایئشت میکیت.\nآلئشت دأئن ئی بألگە ری رئخت و بارت پئیڤأندکاری کئ کاریاری هأنی ڤئ نە ڤئ کار مئیرئن کارگئرایی دارە.",
        "loginlanguagelabel": "زوٙن:$1",
        "suspicious-userlogout": "د حاست ڤئ دأر رأتئن شوما تیە پوشی بییە سی یە کئ ڤئ نأظأر یما کئ ڤئ سی یئ گئل دوڤارتە نیأر گأن یا یئ گئل پوروکسی کئ ها د ڤیرگە کأش کئل بییە.",
        "createacct-another-realname-tip": "نوم راستأکی دئل ڤئ حاییە.\nأر شوما ڤئنە نئها ئمایە بأکیت، یە سی هوم نئسبأت دأئن کاریاری سی کاریاش ڤئ کار گئرئتئ بوٙە.",
-       "pt-login": "ۋامین اۊمائن",
+       "pt-login": "ڤامین اۊمائن",
        "pt-login-button": "ڤامین ئوٙمائن",
-       "pt-createaccount": "هساۋ راست بکیت",
+       "pt-createaccount": "هساڤ راست بکیت",
        "pt-userlogout": "د ساموٙنە دئرئوٙمائن",
        "php-mail-error-unknown": "خأطا نادیار د آلئشتگئر PHP's mail()",
        "user-mail-no-addy": "سی کئل کئردئن أنجومانامە د یئ گئل أنجومانامە بی تیرنئشوٙن أنجومانامه تئلاش بییە.",
        "hr_tip": "خأط آسوٙ ڤأنە(جئگا جئگا ڤئ کار گئرئتئن)",
        "summary": "چئکئسە",
        "subject": "ذاسوٙن/سأرتال:",
-       "minoredit": "یە یئ گئل ڤیرایئشت کوچئکە",
+       "minoredit": "یٱ یاٛ گاٛل ڤیرایشت کوچکٱ",
        "watchthis": "دیئن ئی بألگە",
-       "savearticle": "ئÙ\85اÛ\8cÛ\95 Ú©Ø¦Ø±Ø¯Ø¦Ù\86 Ø¨Ø£Ù\84Ú¯Û\95",
+       "savearticle": "اÙ\9bÙ\85اÛ\8cÙ± Ú©Ø±Ø¯Ù\86 Ø¨Ù\84Ú¯Ù±",
        "preview": "پيش سئيل",
        "showpreview": "نئشوٙ دأئن پیش سئیل",
        "showdiff": "نئشوٙ دأئن آلئشت کاریا",
        "newarticle": "تازە",
        "newarticletext": "شوما هایین ڤا دئما هوم پئیڤأندی کئ ڤوجوٙد نارە.\nسی رأڤأندیاری بألگە.شوروٙ بأکیت مینئ جأڤە هاری بأنیسیت (سی دوٙنئسئن بیشتئر سئیل [$1 ] بأکیت).\nأر شوما سی ئشتئڤا کئردئن هائیت ئیچئ، ری دوگمە ڤادئما رأتئن دوڤارتە نیأر بأپوٙرنیت.",
        "anontalkpagetext": "----",
-       "noarticletext": "د ایساٛنیا ای بلگٱ نیسسٱ ۋوجۊد ناشتٱ.\nشوما می تۊنیت د[[Special:Search/{{PAGENAME}}|بگردید]] د ای بلگٱ ای د بلگٱ هٱنی یا <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} د نۏ پی جۊری بۊٱ]</span>، <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} یا ای بلگٱ ناٛ ۋیرایشت بٱکیت]</span>.",
+       "noarticletext": "د ایساٛنیا ای بلگٱ نیسسٱ ڤوجۊد ناشتٱ.\nشوما می تۊنیت د[[Special:Search/{{PAGENAME}}|بگردید]] د ای بلگٱ ای د بلگٱ هٱنی یا <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} د نۏ پی جۊری بۊٱ]</span>، <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} یا ای بلگٱ ناٛ ڤیرایشت بٱکیت]</span>.",
        "noarticletext-nopermission": "د ایساٛنیا ای بلگٱ نیسسٱ یی ۋوجۊد ناشتٱ.\nشوما می تۊنیت د[[Special:Search/{{PAGENAME}}|بگردید]] د ای بلگٱ یا د بلگٱ هٱنی یا <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} د نۏ پی جۊری بۊٱ]</span>، <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}}</span>.ۋلی شوما ساٛلا یٱ نٱ کاٛ ای  بلگٱ ناٛ راس بٱکیت ناریت.",
        "missing-revision": "ڤانئیأری #$1 د بألگە یی کئ نومئش ڤئنە \"{{FULLPAGENAME}}\" ڤوجوٙد نارە.\n\nگاسی سی یئ گئل ڤیرگار ڤئ هئنگوم نأبییە کئ د یئ گئل بألگە پاکسا بییە هوم پئیڤأند بییە رأڤأندیاری بییە.\nگاسی جوزئیات د[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log] دیاری بأکأن.",
        "userpage-userdoesnotexist": "حئساڤ کاریاری \"$1\" ثأڤت نأم نأبییە.\nأر میھایت ئی بألگە نئ بأسازیت یا ڤیرایئشت کاری بأکیت یئ گئل ڤارئسی أنجوم بئیتوٙ.",
        "templatesused": "{{PLURAL:$1|چوٙأ|چوٙأ یا}} ڤئ کار گئرئتە د ئی بألگە:",
        "templatesusedpreview": "{{PLURAL:$1|چوٙأ|چوٙأ یا}}ڤئ کار گئرئتە بییە د پیش سئیل:",
        "templatesusedsection": "{{PLURAL:$1|چوٙأ|چوٙأ یا}} ڤئ کار گئرئتە بییە د ئی بأرجا:",
-       "template-protected": "(پأر و پیم بییە)",
+       "template-protected": "(پٱر و پیم بیٱ)",
        "template-semiprotected": "(نئصم و نیمە پأر و پیم بییە)",
        "hiddencategories": "ئی بألگە یئ گئل د أندومیا {{PLURAL:$1|1 hidden category|$1 hidden categories}} ھی:",
        "edittools-upload": "-",
        "permissionserrorstext": "شوما حأق ناریت ڤئنە أنجوم بئیت، سی{{PLURAL:$1|دألیل|دألیلیا}} نئھایی:",
        "permissionserrorstext-withaction": "شوما سی $2 صئلا \nنئھاگئری ناریت {{PLURAL:$1|دألیل|دألیلیا}}:",
        "recreate-moveddeleted-warn": "'''د ڤیرئتوٙ با:شوما بألگە یی کئ ھا ڤادئما و پاکسا بییە د نۊ راس کئردیتە.'''\nبایأد د ڤیرئتوٙ با کئ آیا ھأنی نئھاگئری ڤیرایئشت ئی بألگە خوٙأ.\nپاکسا کاری و جا ڤئ جا کاری ئی بألگە سی حال و بال آسایئشت شوما آمادە بییە:",
-       "moveddeleted-notice": "ئÛ\8c Ø¨Ø£Ù\84Ú¯Û\95 Ù¾Ø§Ú©Ø³Ø§ Ø¨Û\8cÛ\8cÛ\95.\nپاکسا Ú©Ø§Ø±Û\8c Ù\88 Ø¬Ø§ Ú¤Ø¦ Ø¬Ø§ Ú©Ø§Ø±Û\8c Ø¦Û\8c Ø¨Ø£Ù\84Ú¯Û\95 Ø³Û\8c Ø­Ø§Ù\84 Ù\88 Ø¨Ø§Ù\84 Ø¢Ø³Ø§Û\8cئشت Ø´Ù\88Ù\85ا Ø¢Ù\85ادÛ\95 Ø¨Û\8cÛ\8cÛ\95.",
+       "moveddeleted-notice": "اÛ\8c Ø¨Ù\84Ú¯Ù± Ù¾Ø§Ú©Ø³Ø§ Ø¨Û\8cÙ±.\nپاکسا Ú©Ø§Ø±Û\8c Ù\88 Ø¬Ø§ Û\8b Ø¬Ø§ Ú©Ø§Ø±Û\8c Ø§Û\8c Ø¨Ù\84Ú¯Ù± Ø³Û\8c Ù\87اÙ\84 Ù\88 Ø¨Ø§Ù\84 Ø¢Ø³Ø§Û\8cشت Ø´Ù\88Ù\85ا Ø¢Ù\85ادٱ Ø¨Û\8cÙ±.",
        "log-fulllog": "دیئن هأمە پئهئرستنوٙمە یا",
        "edit-hook-aborted": "ڤیرایئشت ڤا قولاڤ نئھاگئری بییە.\nھیچ توضیی سیش نی.",
        "edit-gone-missing": "نأبوٙە ئی بألگە نە ڤئ ھئنگوم بأکیت.\nچئنی ڤئ نأظأر میا کئ ڤئ پاکسا بییە.",
        "expansion-depth-exceeded-category-desc": "زیر دسه سی بلگه یایی که د ونو پی یا ووله بیین فره پئشکرد کرده.",
        "expansion-depth-exceeded-warning": "بلگه د پی یا ووله بیین پئشکرد کرد",
        "parser-unstrip-loop-warning": "گردوله د فرمونه Unstrip پیدا بیه",
-       "parser-unstrip-recursion-limit": "د بیشترونه د سرچشمه رئتن د دستور Unstrip واروتر رئتیته($1)",
+       "unstrip-depth-warning": "د بیشترونه د سرچشمه رئتن د دستور Unstrip واروتر رئتیته($1)",
        "converter-manual-rule-error": "خطا د قانون والرشتن دسی زون",
        "undo-success": "نبوئه ویرایشت نه انجومشیو بکیت.\nلطفا ای فرخی که ها د هار نه وارسی بکیت تا یه کاریه که میهات انجوم بئیت، و اوسه آلشتیا هار نه اماییه بکیت سی یه که خمثی کردن ویرایشت نه انجوم بئیت.",
        "undo-failure": "سی ری به ری بیئن ای ویرایشت وا ویرایشتیا مینجایی، نبوئه ای ویرایشت نه خومثی بکیت.",
        "nohistory": "هیچ ویرگار ویرایشتی د ای بلگه نئ.",
        "currentrev": "آخرین دوواره دیئن",
        "currentrev-asof": "آخري وانئری چی $1",
-       "revisionasof": "دوڤارە ديئن $1",
+       "revisionasof": "دوۋارٱ دیاٛن $1",
        "revision-info": "دوواره سیل بیه چی $1 وا $2",
-       "previousrevision": "ڤانئیأری دئمایی←",
+       "previousrevision": "ۋانیٱری داٛمایی←",
        "nextrevision": "ڤانئیأری تازە تئر",
        "currentrevisionlink": "آخئری ڤانئیأری",
-       "cur": "تازە باڤ",
+       "cur": "تازٱ باۋ",
        "next": "نئهایی",
-       "last": "دئمایی",
+       "last": "داÙ\9bمایی",
        "page_first": "أڤئلی",
        "page_last": "آخئر",
        "histlegend": "انتخاو فرخدار:جعویا رادیو نه سی دوواره دیئن و وارسی نشو دار بکید و یا ری رئتن کلیک بکید .<br />\nشرح نوشته: '''({{int:cur}})''' = وا آخری دوواره دیئن فرخ داره '''({{ int:last}})'''= وا دواره دیئن انجوم دئنی فرخ داره  '''{{int:minoreditletter}}''' =ویرایشت کؤچک.",
-       "history-fieldset-title": "ویرگار دوارته نیئری",
+       "history-fieldset-title": "ۋیرگار دوۋارٱ نیٱری",
        "history-show-deleted": "فقط پاكسا بيه",
        "histfirst": "قديمي تري",
        "histlast": "تازه تري",
        "diff-multi-otherusers": "({{PLURAL:$1|یه گل نسقه مینجایی|$1 نسقه یا مینجایی}} وه دس{{PLURAL:$2|کاریاری تر|$2 کاریاریا}} نشو دئه نبیه)",
        "diff-multi-manyusers": "({{PLURAL:$1|یه گل وانیری مینجاگرته|$1وانیریا مینجا گرته}} بیشتر د $2 {{PLURAL:$2|کاریار|کاریاریا}} نشو دئه نبیه)",
        "difference-missing-revision": "{{PLURAL:$2|یه گل ویرایشت|$2 ویرایشت}} د فرق مینجا($1) {{PLURAL:$2|پیدا نبی|پیدا نبینه}}.\n\nشایت بانی جاونه وه وا یه گل ویرگار وه هنگوم نبیه که د یه گل بلگه پاکسا بیه هوم پیوند بیه بوئه.\nشایت جزئیات د   [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log]  پیدا بوئن.",
-       "searchresults": "Ù\86تÙ\8aجÙ\87 Ù\8aا Ù¾Û\8c Ø¬Ù\88ری",
-       "searchresults-title": "Ù\86تÙ\8aجÙ\87 Ù\8aا Ù¾Û\8c Ø¬Ù\88ری سی \"$1\"",
+       "searchresults": "Ù\86تÙ\8aجٱÛ\8cا Ù¾Û\8c Ø¬Û\8aری",
+       "searchresults-title": "Ù\86تÙ\8aجٱÛ\8cا Ù¾Û\8c Ø¬Û\8aری سی \"$1\"",
        "titlematches": "داسون بلگه یکی بیه",
        "textmatches": "هومسازی نیسسه بلگه.",
        "notextmatches": "نیسسه بلگه هومسازی ناره",
        "searchprofile-images-tooltip": "جانیایانه پی جوری کو",
        "searchprofile-everything-tooltip": "همه مینونه یا نه پی جوری كو (شاملا بلگيا چك چنه)",
        "searchprofile-advanced-tooltip": "نوم جايا نوم ديار بگرد",
-       "search-result-size": "$1 ({{PLURAL:$2|1 Ú©Ù\84Û\8cÙ\85Ù\87|$2 Ú©Ù\84Û\8cÙ\85Ù\87 یا}})",
+       "search-result-size": "$1 ({{PLURAL:$2|1 Ú©Ù±Ù\84Û\8cÙ\85Ù±|$2 Ú©Ù±Ù\84Û\8cÙ\85Ù±یا}})",
        "search-result-category-size": "{{PLURAL:$1|1 أندوم|$1 أندومیا}} ({{PLURAL:$2|1 زیردأسە|$2 زیردأسە یا}}، {{PLURAL:$3|1 جانیا|$3 جانیایا}}",
        "search-redirect": "(ۋورگشتن سی $1)",
        "search-section": "(بهرجا $1)",
        "nchanges": "$1 {{PLURAL:$1|آلشت|آلشتیا}}",
        "enhancedrc-since-last-visit": "$1 {{PLURAL:$1|د آخری دیئن}}",
        "enhancedrc-history": "ڤیرگار",
-       "recentchanges": "Ø¢Ù\84ئشتÛ\8cا Ø¦Û\8cسئنی",
+       "recentchanges": "Ø¢Ù\84شتÛ\8cا Ø§Û\8cساÙ\9bنی",
        "recentchanges-legend": "گزینه یا آلشتیا ایسنی",
        "recentchanges-summary": "دو بیشتر آلشتیا تازباو نه د ویکی نه د ای بلگه پیگری کو.",
        "recentchanges-noresult": "هیژ آلشتی د درازا دوره دیار بیه وا ای معیاریا یکی نبی.",
        "recentchanges-feed-description": "دو بیشتر آلشتیا تازباو نه د ویکی که ها د هوال حون پیگری کو.",
-       "recentchanges-label-newpage": "ای ويرايشت يه بلگه تازه راس كرده",
-       "recentchanges-label-minor": "يه ويرايشت كؤچكيه",
+       "recentchanges-label-newpage": "ای ڤیرایشت یاٛ گاٛل بلگٱ تازٱ راس کردٱ.",
+       "recentchanges-label-minor": "یٱ یاٛ گاٛل ڤیرایشت کوچکٱ",
        "recentchanges-label-bot": "ای ويرايشت نه يه بوت انجوم دئه",
        "recentchanges-label-unpatrolled": "ای ويرايشت هنی تيه واداشت نبيه",
        "recentchanges-label-plusminus": "انازه بلگه وه شمار ای بایتیا آلشت کرده.",
        "recentchanges-legend-plusminus": "(<em>±123</em>)",
        "rcnotefrom": "د هار آلشتیا د $2 هیئن(د بال د $1 نشون دئه بیه)",
        "rclistfrom": "آلشتیا تازه ایی که وا $3 $2 شرو بیه نشونش بئه",
-       "rcshowhideminor": "ويرايشتيا کؤچک $1",
+       "rcshowhideminor": "ڤیرایشتیا فاٛرٱ کوچک $1",
        "rcshowhideminor-show": "نشو دئن",
        "rcshowhideminor-hide": "قام کردن",
        "rcshowhidebots": "$1 رواتيا یا بوتيا",
        "rcshowhidecategorization-show": "نئشوٙ دأئن",
        "rcshowhidecategorization-hide": "قام کئردئن",
        "rclinks": "آخرین آلشتیا $1 د آخرین رۊزیا دیاری بٱک $2",
-       "diff": "Ù\81أرخ",
-       "hist": "ڤیرگار",
+       "diff": "Ù\81رÙ\82",
+       "hist": "ۋیرگار",
        "hide": "قام کئردئن",
        "show": "نئشوٙ دأئن",
        "minoreditletter": "م",
        "rc-old-title": "ذاتا چی \"$1\" راس بیه",
        "recentchangeslinked": "آلشتیا تی یکی",
        "recentchangeslinked-feed": "آلشتیا تی یکی",
-       "recentchangeslinked-toolbox": "آلشتیا ته یک",
+       "recentchangeslinked-toolbox": "آلشتیا تاٛ یٱک",
        "recentchangeslinked-title": "آلشتیا تی یکی د $1",
-       "recentchangeslinked-summary": "ای نوم گه تازه د بلگیایی که وا بلگیا ویجه هوم پیوند بینه آلشت بیه(یا سی اندومیا دسه بنی بیه)\nبلگیا یی که هان [[Special:Watchlist|your watchlist]]و گپ بینه",
+       "recentchangeslinked-summary": "ای نوم بلگٱ تازٱ د بلگٱیایی کاٛ ۋا بلگٱیا ۋیجٱ هوم پیۋند بینٱ آلشت بیٱ(یا سی ٱندومیا دٱسٱ بٱنی بیٱ)\nبلگٱیایی کاٛ هان د [[Special:Watchlist|your watchlist]]و گٱپ بینٱ",
        "recentchangeslinked-page": "نوم بألگە:",
        "recentchangeslinked-to": "آلشتیایی که د بلگه یا هوم پیوند بینه وه جا بلگه دئیه بیه نشو بیه",
        "recentchanges-page-added-to-category": "[[:$1]]د دأسە ئضاف بی",
        "recentchanges-page-removed-from-category": "[[:$1]] د دأسە جئگا بی",
        "recentchanges-page-removed-from-category-bundled": "[[:$1]] و {{PLURAL:$2|بألگە تأکی|$2 بألگە یا}} د دأسە ئضاف بییئن",
        "autochange-username": "آلئشتکاری خودأنجوم مئدیاڤیکی",
-       "upload": "سوڤار کئردئن جانیا",
+       "upload": "سوۋار کردن جانیا",
        "uploadbtn": "سوڤار کئردئن جانیا",
        "reuploaddesc": "سوار کردن نه انجوم شیو بکیت و د ورئردیت جابلگ سوارکرد",
        "upload-tryagain": "کل کردن توضیحیا آلشت دئیه بیه جانیا",
        "listfiles-latestversion-yes": "هأری",
        "listfiles-latestversion-no": "تە",
        "file-anchor-link": "جانیا",
-       "filehist": "ڤیرگار جانیا",
+       "filehist": "ۋیرگار جانیا",
        "filehist-help": "ری  ويرگاريا بپورنيت تا نسقه مرتوط بونيت.",
        "filehist-deleteall": "هأمە نئ پاکسا کو",
        "filehist-deleteone": "پاکسا کئردئن",
        "filehist-revert": "لئرنیئن",
-       "filehist-current": "تازە باڤ",
+       "filehist-current": "تازٱ باۋ",
        "filehist-datetime": "ويرگار/وخت",
-       "filehist-thumb": "عسگ كؤچك بيه",
-       "filehist-thumbtext": "كؤچك كردن سی  نسقه چی $1",
+       "filehist-thumb": "ٱسگ کوچک بیٱ",
+       "filehist-thumbtext": "كوچک کردن سی نوسقٱ چی $1",
        "filehist-nothumb": "هیچ بن کلیکی نئ",
        "filehist-user": "کاریار",
        "filehist-dimensions": "بعديا",
        "filehist-filesize": "انازه فایل",
-       "filehist-comment": "ڤیر و باڤأر",
-       "imagelinks": "وه کار گری جانیا",
+       "filehist-comment": "ۋیر و باۋر",
+       "imagelinks": "د کار گرتن جانیا",
        "linkstoimage": "دمال بيه {{PLURAL:$1|ديس ونيا بلگه|$1 ديس ون بلگيا}} دای فایل:",
        "linkstoimage-more": "بیشتر د $1 بلگه د ای جانیا هوم پیوند {{PLURAL:$1|بیه|بینه}}.\nنومگه هاری تئنا {{PLURAL:$1|اولین هوم پیوند|اولین $1 هوم پیوند}} د ای بلگه نه نشو می ئه.\n[[Special:WhatLinksHere/$2|نومگه کامل]] ئم هیئش.",
        "nolinkstoimage": "ایچه هیژ بلگه ای سی هوم پیوند بیئن وا ای جانیا نی",
        "unusedtemplates": "قالویا وه کار نبرده بیه.",
        "unusedtemplatestext": "ای بلگه همه بلگه یایی که هان د نومجا {{ns:template}}و د هیچ بلگه ای وه کار گرته نبینه، نوم بنی می که.\nد ویرتو با که دما یه که بهایت بلگه یا هوم پیوند هنی نه پاکسا بکیت دشو وارسی ای انجوم بئیت.",
        "unusedtemplateswlh": "هوم پیوندیا هنی",
-       "randompage": "بÙ\84Ú¯Ù\87 Ø¨Ø®ØªÙ\83ی",
+       "randompage": "بÙ\84Ú¯Ù± Ø¨Ø®ØªÚ©ی",
        "randompage-nopages": "هیچ بلگه ای د ای {{PLURAL:$2|نومجا|نومجایا}}  نئ:$1.",
        "randomincategory": "بلگه بختی د ای دسه",
        "randomincategory-invalidcategory": "\"$1\"  نوم دسه معتوری نئ.",
        "listusers-desc": "سرجاخودگری د اساس گپ د کؤچک",
        "usereditcount": "$1{{PLURAL:$1|ویرایشت|ویرایشتیا}}",
        "usercreated": "{{جنسیت:$3|راس بیه}}د $1 at $2",
-       "newpages": "بÙ\84Ú¯Ù\8aا Ù\86Ù\88",
+       "newpages": "بÙ\84Ú¯Ù±Û\8cا Ù\86Û\8f",
        "newpages-username": "نوم کاریاری:",
        "ancientpages": "بلگه یا نهاتر",
        "move": "جاوه جا بوئيت",
        "unwatchthispage": "نئھاگئری دیئن",
        "notanarticle": "ھیچ بألگە مینوٙنە داری نی",
        "notvisiblerev": "آخری وانئری که د دس یه کاریار هنی انجوم بیه پاکسا بیه.",
-       "watchlist-details": "{{PLURAL:$1|$1 Ø¨Ù\84Ú¯Ù\87|$1 Ø¨Ù\84Ú¯Û\8cا}} Ø¯ Ø³Û\8cÙ\84 Ø¨Ø±Ú¯ØªÙ\88 Ù\87Û\8cØ´ Ø¨Ù\84Ú¯Ù\87 Ù\82سÙ\87 Ú©Ø±Ø¯Ù\86 نی.",
+       "watchlist-details": "{{PLURAL:$1|$1 Ø¨Ù\84Ú¯Ù±|$1 Ø¨Ù\84Ú¯Ù±Û\8cا}} Ø¯ Ø³Ø§Ù\9bÛ\8cÙ\84 Ø¨Ø±Ú¯ØªÛ\8a Ù\87Û\8cÚ\86 Ø¨Ù\84Ú¯Ù± Ù\82ساÙ\9b Ú©Ø±Ø¯Ù\86Û\8c نی.",
        "wlheader-enotif": "ڤارئسیاری أنجومانامە کونئشتکار بییە.",
        "wlheader-showupdated": "بلگه یایی که د آخرین کرتی که شما دشو دیئن کردیته آلشت بینه د <strong>توپر</strong>نشون دئه بینه",
        "wlnote": "د هار {{PLURAL:$1|آلشت|<strong>$1</strong> آلشتی}} که د {{PLURAL:$2|ساعت|<strong>$2</strong> ساعت}} دماتر انجوم بیه هیئش، ویرگار آخرین واجوری انجام شده موجود است، ویرگار آخری واجوری: $3، $4",
        "deleteprotected": "شما نمی تونیت ای بلگه نه پاکسا بکیت سی یه که وه پر و پیم بیه.",
        "deleting-backlinks-warning": "''' هشدار:''' [[Special:WhatLinksHere/{{FULLPAGENAME}}|بلگه یا هنی]] ین که وه بلگه یی که شما د حال و بار پاکسا کردن ونیت پیوند دارن یا د وه پرگنجایشت کاری بیینه.",
        "rollback": "چواشه کردن ویرایشتیا",
-       "rollbacklink": "ورگشتن",
+       "rollbacklink": "ۋرگشتن",
        "rollbacklinkcount": "چواشه کردن $1 {{PLURAL:$1|ویرایشت|ویرایشتیا}}",
        "rollbacklinkcount-morethan": "چواشه کردن بیشتر د$1 {{PLURAL:$1|ویرایشت|ویرایشتیا}}",
        "rollbackfailed": "چواشه کردن د خوئی انجوم نبی",
        "minimum-size": "انازه کمترونه",
        "maximum-size": "انازه بیشترونه",
        "pagesize": "(بایتیا)",
-       "restriction-edit": "Ú¤Û\8cراÛ\8cئشت",
+       "restriction-edit": "ڤیرایشت",
        "restriction-move": "جاوه جا بوئيت",
        "restriction-create": "راس كردن",
        "restriction-upload": "سوار کرد",
        "sp-contributions-toponly": "فقط ویرایشتیایی که جزئه آخرین دوواره دیئن هئین نشو بیه",
        "sp-contributions-newonly": "فقط ویرایشتیایی که مال دروس کردن بلگه هیئن نشو بیه.",
        "sp-contributions-submit": "پئی جوٙری",
-       "whatlinkshere": "كؤم هوم پیوندیا هان ايچه",
+       "whatlinkshere": "کوم هوم پیۋندیا هان ایچاٛ",
        "whatlinkshere-title": "بلگه ای که د $1 هوم پیوند بیه",
        "whatlinkshere-page": "بألگە",
        "linkshere": "بلگیا نهایی د '''[[:$1]]''' هوم پیوند بیه",
        "whatlinkshere-hideredirs": "$1 ۋاگردۊنیا",
        "whatlinkshere-hidetrans": "$1 چٱن نتیجٱیی",
        "whatlinkshere-hidelinks": "هوم پیۋندیا $1",
-       "whatlinkshere-hideimages": "فایل هوم پیوندیا $1",
+       "whatlinkshere-hideimages": "جانیا هوم پیۋندیا $1",
        "whatlinkshere-filters": "فيلتريا",
        "autoblockid": "خود نهاگری #$1",
        "block": "منع کارور",
        "blocklist-nousertalk": "نبوئه بلگه چک چنه خوتونه ویرایشت بکید",
        "ipblocklist-empty": "جاگه نوم گه حالیه",
        "ipblocklist-no-results": "دسرسی نوم کاریاری یا تیرنشون آی پی حاسته بیه نهاگری نبیه.",
-       "blocklink": "نهاگری بوئه",
+       "blocklink": "ناٛهاگری بۊٱ",
        "unblocklink": "بی قطی",
        "change-blocklink": "اجازه نديئن سی  آلشت",
        "contribslink": "هومیاریا",
        "allmessages-language": "زون:",
        "allmessages-filter-submit": "رو",
        "allmessages-filter-translate": "والرن",
-       "thumbnail-more": "Ú¯Ù¾ Ù\83ردن",
+       "thumbnail-more": "گٱپ Ú©ردن",
        "filemissing": "گم بیئن جانیا",
        "thumbnail_error": "خطا د راس بیئن بن کلئکی:$1",
        "thumbnail_error_remote": "پیغوم خطا $1 :\n$2",
        "tooltip-pt-preferences": "اولۋیتیا شوما",
        "tooltip-pt-watchlist": "نوم نوشت د بلگه يايی كه شما آلشتاشونه پيگئری  ميكيد",
        "tooltip-pt-mycontris": "یاٛ گاٛل د هومیاریا شوما",
-       "tooltip-pt-login": "ایما موئیم که روئیت وامین سامونگه؛ولی ای کار اژباری نئ",
+       "tooltip-pt-login": "ایما مۊئیم کاٛ رۊئیت ۋامین سامۊنگٱ؛ ۋلی ای کار اٛژبار ینی.",
        "tooltip-pt-logout": "د سامونه دراومائن",
-       "tooltip-pt-createaccount": "Ø´Ù\85ا ØªØ´Ù\88Û\8cÙ\82 Ø¨Û\8cÛ\8cتÙ\87 Ú©Ù\87 Û\8cÙ\87 Ú¯Ù\84 Ø­Ø³Ø§Ù\88 Ø±Ø§Ø³Øª Ø¨Ú©Û\8cت Ù\88 Ø¨Û\8cاÛ\8cت Ù\88اÙ\85Û\8cÙ\86Ø\9b Ø¯ Ù\87ر Ø¬Ù\88ر Ø§Û\8c Ú©Ø§Ø± Ø§Ú\98بارÛ\8c Ù\86ئ",
-       "tooltip-ca-talk": "Ù\82سÙ\87 Ø¯Ø¨Ø§Ø±Ù\87 Ù\85Û\8cÙ\86Ù\88Ù\86Ù\87 Ø¨Ù\84Ú¯Ù\87",
+       "tooltip-pt-createaccount": "Ø´Ù\88Ù\85ا ØªØ´Û\8bÛ\8cÙ\82 Ø¨Û\8cتٱ Ú©Ø§Ù\9b Û\8cاÙ\9b Ú¯Ø§Ù\9bÙ\84 Ù\87ساÛ\8b Ø±Ø§Ø³Øª Ø¨Ú©Û\8cت Ù\88 Ø¨Û\8cاÛ\8cت Û\8bاÙ\85Û\8cÙ\86Ø\9b Ø¯ Ù\87ر Ø¬Û\8aر Ø§Û\8c Ú©Ø§Ø± Ø§Ù\9bÚ\98بارÛ\8c Ù\86Û\8c.",
+       "tooltip-ca-talk": "Ù\82سٱ Ø¯Ø§Ù\9bبارٱ Ù\85Û\8cÙ\86Û\8aÙ\86Ù± Ø¨Ù\84Ú¯Ù±.",
        "tooltip-ca-edit": "ۋیرایشت ای بلگٱ",
        "tooltip-ca-addsection": "د یه گل بهرجا هنی شرو بک",
        "tooltip-ca-viewsource": "ای بلگه پر و پیم بيه.\nشما تونيت سرچمه ش بئوينيت",
-       "tooltip-ca-history": "دوواره ديئن ای بلگه",
+       "tooltip-ca-history": "دۋوارٱ دیاٛن ای بلگٱ",
        "tooltip-ca-protect": "ای بلگه نه حفاظت بكيد",
        "tooltip-ca-unprotect": "پر و پیم گیری د ای بلگه نه آلشت بکیت",
        "tooltip-ca-delete": "ای بلگه نه پاکسا کو",
        "tooltip-ca-move": "ای بگله نه جا وه جا كو",
        "tooltip-ca-watch": "اضاف کردن ای بلگه وه نوم نوشت پیگئریاتو",
        "tooltip-ca-unwatch": "ورداشتن ای بلگه وه نوم نوشت پیگئریاتو",
-       "tooltip-search": "پی جوری {{SITENAME}}",
-       "tooltip-search-go": "رؤ د بلگه ای که یه نوم راستکی ها مینش الوت ار دش بوئه",
-       "tooltip-search-fulltext": "بÙ\84Ú¯Ù\8aاÙ\86Ù\87 Ø³Û\8c Ú\86Ù\86س Ù\86Û\8cسسÙ\87 Û\8cÛ\8c Ù¾Û\8c Ø¬Ù\88رÛ\8c Ú©Ù\88",
+       "tooltip-search": "پی جۊری {{SITENAME}}",
+       "tooltip-search-go": "رو دبلگٱیی کاٛ یٱ نوم راستکی ها مینش ٱلۋت ٱر دش بۊٱ",
+       "tooltip-search-fulltext": "بÙ\84Ú¯Ù±Û\8cاÙ\86اÙ\9b Ø³Û\8c Ú\86اÙ\9bÙ\86Û\8c Ù\86Û\8cسسٱÛ\8cÛ\8c Ù¾Û\8c Ø¬Û\8aرÛ\8c Ø¨Ù±Ú©.",
        "tooltip-p-logo": "ساٛیل سرآسۊنٱ بکیت",
-       "tooltip-n-mainpage": "سرآسونه نه بونيت",
-       "tooltip-n-mainpage-description": "سرآسونه نه بونيت",
-       "tooltip-n-portal": "دباره پروجه،شما می تونیت(تونيت) چی بکیت، د کجا ای چیانه بجوریت",
-       "tooltip-n-currentevents": "ساوند دونسمنديايی كه هان د پيشومدل تازه باو پيدا كو",
+       "tooltip-n-mainpage": "سرآسۊنٱ نٱ ساٛیل بٱکیت",
+       "tooltip-n-mainpage-description": "سرآسۊنٱ نٱ ساٛیل بٱکیت",
+       "tooltip-n-portal": "دٱبارٱ پوروجٱ؛ شوما می تۊنیت(تۊنیت) چی بٱکیت؛ د کوجا ای چیانٱ بٱجۊریت.",
+       "tooltip-n-currentevents": "ساۋند دۊنسمنیایی کاٛ هان د روخ ۋنیا تازٱ باۋ دیاری بٱک",
        "tooltip-n-recentchanges": "یاٛ گاٛل نومگٱ سی آلشتکاریا د ۋیکی",
-       "tooltip-n-randompage": "سوار كرد بلگه بختكی",
-       "tooltip-n-help": "یه گل جاگه سی فهمسن",
-       "tooltip-t-whatlinkshere": "یه گل نومگه د همه بلگه یایی كه ايچه هوم پیوند دارن",
+       "tooltip-n-randompage": "سوۋار کرد بلگٱ بختکی",
+       "tooltip-n-help": "یاٛ گاٛل جاگٱ سی فٱماٛسن",
+       "tooltip-t-whatlinkshere": "یاٛ گاٛل نومگٱ د همٱ بلگٱیایی کاٛ ایچاٛ هوم پیۋند دارن.",
        "tooltip-t-recentchangeslinked": "آلشتیا تازه باو مئن بلگيايي كه د ای بلگه هوم پیوند بيئنه",
        "tooltip-feed-rss": "هوال حون آر اس اس سی ای بلگه",
        "tooltip-feed-atom": "حوال هون اتمی سی ای بلگه",
        "tooltip-t-contributions": "یاٛ گاٛل سیائٱ هومیاری سی {{GENDER:$1|ای کاریار}}",
        "tooltip-t-emailuser": "سی ای كارور ايميل كل كو",
        "tooltip-t-info": "دونسمنیا بیشتر دباره ای بلگه",
-       "tooltip-t-upload": "سوارکردن جانیایا",
+       "tooltip-t-upload": "سوۋار کردن جانیایا",
        "tooltip-t-specialpages": "نومگٱ همٱ بلگٱیا ۋیجٱ",
-       "tooltip-t-print": "نسقه پلا بيئنی سی ای بلگه",
+       "tooltip-t-print": "نوسقٱ پاٛلا بیاٛنی سی ای بلگٱ",
        "tooltip-t-permalink": "هوم پیوند همیشه یی سی دوواره دیئن ای بلگه",
-       "tooltip-ca-nstab-main": "دÙ\8aئÙ\86 Ù\85Û\8cÙ\86Ù\88Ù\86Ù\87 Ø¨Ù\84Ú¯Ù\87",
+       "tooltip-ca-nstab-main": "دÙ\8aاÙ\9bÙ\86 Ù\85Û\8cÙ\86Û\8aÙ\86Ù± Ø¨Ù\84Ú¯Ù±",
        "tooltip-ca-nstab-user": "ديئن بلگه کاریار",
        "tooltip-ca-nstab-media": "دیئن بلگه وارسگر",
-       "tooltip-ca-nstab-special": "یٱ یاٛ گاٛل بلگٱ ۋیجٱ یٱ؛ نبۊٱ ۋیرایشتش بٱکیت",
+       "tooltip-ca-nstab-special": "یٱ یاٛ گاٛل بلگٱ ۋیجٱ یٱ؛ نبۊٱ ڤیرایشتش بٱکیت",
        "tooltip-ca-nstab-project": "ديئن بلگه پروجه",
        "tooltip-ca-nstab-image": "ديئن بلگه جانیا",
        "tooltip-ca-nstab-mediawiki": "دیئن پیغوم سامونه",
        "tooltip-watchlistedit-raw-submit": "وه هنگوم سازی سیل برگ",
        "tooltip-recreate": "د نو راس کردن بلگه بی یه که و پاکساگری دماتر وه سیل بکیم",
        "tooltip-upload": "شرو د سوار کرد",
-       "tooltip-rollback": "\"ورگشتن\" لرستن د حالت اول  سی ای بلگه  که سی  يه كه هومياری  نيايی اصلاح بيه وا يه پورنسن",
+       "tooltip-rollback": "\"ڤرئشتن\" لرستن د هال وبال ٱڤل سی ای بلگٱ سی یٱ کاٛ هومیاری نیایی بیتر کاری بیٱ ڤا یاٛ گاٛل پۊرنین.",
        "tooltip-undo": "انجوم نگرتن ای ویرایشت ورگن و همه فرمیا ویرایشت تانه که حالت پیش سیل واکو.یه اجازه میئه سی اضاف کردن یه دلیل د چکسته.",
        "tooltip-preferences-save": "اولويتيا نه ذخيره بكيد",
        "tooltip-summary": "يه چكسته كؤچك وارد بكيد",
        "pageinfo-subpages-value": "$1 ($2 {{PLURAL:$2|واگردونی|واگردونیا}}; $3 {{PLURAL:$3|بی واگردونی|بی واگردونیا}})",
        "pageinfo-firstuser": "بلگه راس کن",
        "pageinfo-firsttime": "گات دروس بیین بلگه",
-       "pageinfo-lastuser": "آخری ویرایشتگر",
-       "pageinfo-lasttime": "گات آخری ویرایشت",
+       "pageinfo-lastuser": "آخری ڤیرایشتکار",
+       "pageinfo-lasttime": "گات آخری ڤیرایشت",
        "pageinfo-edits": "شماره همه ویرایشتیا",
        "pageinfo-authors": "شماره کلی نویسنه یا یکونه",
        "pageinfo-recent-edits": "شماره ویرایشتیا ایسنی (د $1 دماتر)",
        "sunday-at": "یه شمه د $1",
        "yesterday-at": "دیرو د $1",
        "bad_image_list": "دونسمنديانه وه ای شلگ وارد بكيت:\n\nفقط سرخط يایی که وا * شرو بوئن د وير گرته بوئن. اولی چسب ون مئن هر سرخط، باید چسب ونی وه یک عسگ گن با.\nچسب ونيا نيایی د همو سرخط، وه عنوان چيا استثنادار د وير گرته بوئن",
-       "metadata": "دادÙ\8aا  Ù\81رÙ\87 Ú¯پ",
+       "metadata": "رسÛ\8cÙ\86Ù±Û\8cا Ù\81اÙ\9bرٱ Ú¯Ù±پ",
        "metadata-help": "ای فایل شومل دونسمنیا هنی یه.شایت د دیربین رقم ون یا اسکنری که سی راس کردنشو استفاده بیه،وه ایچه اضاف بیه",
        "metadata-expand": "نشو دئن جزییات دمادیسگری",
        "metadata-collapse": "قام کردن جزییات دمادیسگری",
        "fileduplicatesearch-result-1": "جانیا «$1» تکراری نیئش.",
        "fileduplicatesearch-result-n": "جانیا «$1» {{PLURAL:$2|یه گل چی تکراری|$2 یه گل چی تکراری}} داره.",
        "fileduplicatesearch-noresults": "جانیایی وا نوم «$1» یافت نبی.",
-       "specialpages": "بÙ\84Ú¯Ù\8aا Ù\88Ù\8aجÙ\87",
+       "specialpages": "بÙ\84Ú¯Ù±Û\8cا Û\8bÛ\8cجٱ",
        "specialpages-note-top": "میراث",
        "specialpages-group-maintenance": "گزارشتیا واداشتن",
        "specialpages-group-other": "بلگه یا ویجه هنی",
        "htmlform-cloner-delete": "ؤرداشتن",
        "htmlform-cloner-required": "سی کمترونه یه گل ارزایشت لازمه",
        "logentry-delete-delete": "$1 بلگه {{GENDER:$2|پاکسا بیه}} $3",
-       "logentry-delete-restore": "$1 {{GENDER:$2|}} Ø¨Ù\84Ú¯Ù\87 $3 Ø¯ Ù\86Ù\88 Ø²Ù\86Ù\87 Ú©Ø±Ø¯Ù\87",
+       "logentry-delete-restore": "$1 {{GENDER:$2|}} Ø¨Ù\84Ú¯Ù± $3 Ø¯ Ù\86Û\8f Ø²Ø§Ù\9bÙ\86Ù± Ø¨Û\8cÙ±",
        "logentry-delete-event": "$1 دیاری {{PLURAL:$5|یه گل رخ ون د پهرستنومه|$5 رخ ونیا د پهرستنومه}} نه $3 {{GENDER:$2|آلشتکاری کرد}}: $4",
        "logentry-delete-revision": "$1 دیاری {{PLURAL:$5|یه گل وانئری|$5 وانئریا}} نه $3 {{GENDER:$2|آلشتکاری کرد}}: $4",
        "logentry-delete-event-legacy": "$1 دیاری پهرستنومه رخ ونیا نه د $3 {{GENDER:$2|آلشت ده}}",
        "feedback-thanks": "منموندارتونیم! دمادار حوال حون شما د بلگه «[$1 $2]» ثبت بی.",
        "feedback-thanks-title": "دتو منمونیم!",
        "feedback-useragent": "راوط کاریا:",
-       "searchsuggest-search": "پی جۊری",
+       "searchsuggest-search": "پی جۊری {{SITENAME}}",
        "searchsuggest-containing": "د حال و بار مینونه دار...",
        "api-error-badtoken": "خطا مینجا:رازینه امنیتی اشتوا",
        "api-error-emptypage": "یه گل بلگه تازه راس بکیت،بلگه یا حالی صلادار کاری نیئن.",
index 70639ae..2d4ccd4 100644 (file)
        "mar": "Kov",
        "apr": "Bal",
        "may": "Geg",
-       "jun": "Bir",
+       "jun": "Birž",
        "jul": "Lie",
        "aug": "Rgp",
        "sep": "Rgs",
        "passwordreset-emaildisabled": "El. pašto funkcijos uždraustos šiame wiki.",
        "passwordreset-username": "Naudotojo vardas:",
        "passwordreset-domain": "Domenas:",
-       "passwordreset-email": "E-pašto adresas:",
+       "passwordreset-email": "El. pašto adresas:",
        "passwordreset-emailtitle": "Paskyros informacija apie {{sitename}}",
        "passwordreset-emailtext-ip": "Kažkas (tikriausiai jūs, iš IP adreso $1) paprašė priminti jūsų slaptažodį svetainėje {{SITENAME}} ($4). Šio naudotojo {{PLURAL:$3|paskyra|paskyros}} yra susietos su šiuo elektroninio pašto adresu:\n\n$2\n\n{{PLURAL:$3|Šis laikinas slaptažodis|Šie laikini slaptažodžiai}} baigs galiot po {{PLURAL:$5|vienos dienos|$5 dienų}}. \n\nJūs turėtumėte prisijungti ir pasirinkti naują slaptažodį. Jei priminti slaptažodį paprašė kažkas kitas arba jūs prisiminėte savo pirminį slaptažodį ir jums nebereikia jo pakeisti, galite ignoruoti šį pranešimą ir toliau naudotis savo senuoju slaptažodžiu.",
        "passwordreset-emailtext-user": "Naudotojas $1 svetainėje {{SITENAME}} sukūrė užklausą slaptažodžio priminimui svetainėje {{SITENAME}}\n($4). Šio naudotojo {{PLURAL:$3|paskyra|paskyros}} susieto su šiuo elektroniniu paštu $2. \n\n{{PLURAL:$3|Šis laikinas slaptažodis|Šie laikini slaptažodžiai}} baigs galioti po {{PLURAL:$5|vienos dienos|$5 dienų}}. Jūs turėtumėte prisijungti ir pasirinkti naują slaptažodį. Jei kažkas padarė tai be jūsų žinios arba jūs prisiminėte savo pirminį slaptažodį, ir jūs nebenorite jo pakeisti, galite ignoruoti šį pranešimą ir toliau naudotis savo senuoju slaptažodžiu.",
        "userpage-userdoesnotexist": "Naudotojo paskyra „<nowiki>$1</nowiki>“ yra neužregistruota. Prašom patikrinti, ar jūs norite kurti/redaguoti šį puslapį.",
        "userpage-userdoesnotexist-view": "Naudotojo paskyra „$1“ neužregistruota.",
        "blocked-notice-logextract": "Šis naudotojas šiuo metu yra užblokuotas.\nŽemiau pateikiamas paskutinis blokavimo istorijos įrašas:",
-       "clearyourcache": "'''Dėmesio:''' Išsaugojus jums gali prireikti išvalyti jūsų naršyklės podėlį, kad pamatytumėte pokyčius.\n* '''Firefox / Safari:''' laikydami ''Shift'' pasirinkite ''Atsiųsti iš naujo'', arba paspauskite ''Ctrl-F5'' ar ''Ctrl-R'' (sistemoje Apple Mac ''Commandd-R'')\n* '''Google Chrome:''' spauskite ''Ctrl-Shift-R'' (sistemoje Apple Mac ''Command-Shift-R'')\n* '''Internet Explorer:''' laikydami ''Ctrl'' paspauskite ''Atnaujinti'', arba paspauskite ''Ctrl-F5''\n* '''Konqueror:''' tiesiog paspauskite ''Perkrauti'' mygtuką, arba paspauskite ''F5''\n* '''Opera''' pilnai išvalykite podėlį ''Priemonės→Nuostatos''.",
+       "clearyourcache": "<strong>Dėmesio:</strong> Išsaugojus jums gali prireikti išvalyti jūsų naršyklės podėlį, kad pamatytumėte pokyčius.\n* <strong>Firefox / Safari:</strong> Laikydami <em>Shift</em> pasirinkite <em>Perkrauti</em>, arba paspauskite <em>Ctrl-F5</em> ar <em>Ctrl-R</em> (sistemoje Apple Mac <em>⌘-R</em>)\n* <strong>Google Chrome:</strong> Spauskite <em>Ctrl-Shift-R</em> (sistemoje Apple Mac <em>⌘-Shift-R</em>)\n* <strong>Internet Explorer:</strong> Laikydami <em>Ctrl</em> paspauskite <em>Naujinti</em>, arba paspauskite <em>Ctrl-F5</em>\n* <strong>Opera:</strong> Eikite į <em>Meniu → Nuostatos</em> (sistemoje Apple Mac <em>Opera → Nustatymai</em>), tuomet <em>Privatumas ir sauga → išvalyti naršymo podėlį → išsaugotos talpyklos vaizdai ir failai</em>.",
        "usercssyoucanpreview": "'''Patarimas:''' Naudokite „{{int:showpreview}}“ mygtuką, kad išmėgintumėte savo naująjį CSS prieš išsaugant.",
        "userjsyoucanpreview": "'''Patarimas:''' Naudokite „{{int:showpreview}}“ mygtuką, kad išmėgintumėte savo naująjį JS prieš išsaugant.",
        "usercsspreview": "'''Nepamirškite, kad jūs tik peržiūrit savo naudotojo CSS, jis dar nebuvo išsaugotas!'''",
        "expansion-depth-exceeded-category-desc": "Puslapis viršija didžiausią plėtros gylį.",
        "expansion-depth-exceeded-warning": "Puslapis, viršijantis didžiausią plėtros gylį",
        "parser-unstrip-loop-warning": "Rastas neuždarytas ciklas",
-       "parser-unstrip-recursion-limit": "Unstrip rekursijos limitas viršytas ($1)",
+       "unstrip-depth-warning": "Unstrip rekursijos limitas viršytas ($1)",
        "converter-manual-rule-error": "Rankinėje kalbos pertvarkymo taisyklėje rasta klaida",
        "undo-success": "Keitimas gali būti atšauktas. Prašome patikrinti palyginimą, esantį žemiau, kad patvirtintumėte, kad jūs tai ir norite padaryti, ir tada išsaugokite pakeitimus, esančius žemiau, kad užbaigtumėte keitimo atšaukimą.",
        "undo-failure": "Keitimas negali būti atšauktas dėl konfliktuojančių tarpinių keitimų.",
        "recentchangeslinked-feed": "Susiję keitimai",
        "recentchangeslinked-toolbox": "Susiję keitimai",
        "recentchangeslinked-title": "Su „$1“ susiję keitimai",
-       "recentchangeslinked-summary": "Įveskite puslapio pavadinimą, jei norite žiūrėti keitimus, atliktus puslapiuose, į kuriuos yra nuoroda į arba iš nurodyto puslapio. (Jei norite žiūrėti nurodytos kategorijos narius, įveskite Kategorija:Kategorijos pavadinimas). Puslapiai iš jūsų [[Special:Watchlist|stebimųjų sąrašo]] yra <strong>paryškinti</strong>.",
+       "recentchangeslinked-summary": "Įveskite puslapio pavadinimą, jei norite matyti keitimus, atliktus puslapiuose, į kuriuos yra nuoroda į arba iš nurodyto puslapio. (Jei norite ieškoti nurodytos kategorijos narius, įveskite Kategorija:Kategorijos pavadinimas). Puslapiai iš jūsų [[Special:Watchlist|stebimųjų sąrašo]] yra <strong>paryškinti</strong>.",
        "recentchangeslinked-page": "Puslapio pavadinimas:",
        "recentchangeslinked-to": "Rodyti su duotuoju puslapiu susijusių puslapių pakeitimus",
        "recentchanges-page-added-to-category": "[[:$1]] pridėta prie kategorijos",
        "uploadstash-bad-path-invalid": "Kelias negalimas.",
        "uploadstash-bad-path-unknown-type": "Nežinomas tipas „$1“.",
        "uploadstash-file-not-found-no-thumb": "Nepavyko gauti miniatiūros.",
+       "uploadstash-zero-length": "Rinkmena neturi ilgio.",
        "invalid-chunk-offset": "Neleistinas segmento poslinkis",
        "img-auth-accessdenied": "Prieiga uždrausta",
        "img-auth-nopathinfo": "Trūksta PATH_INFO.\nJūsų serveris nenustatytas perduoti šią informaciją.\nTai gali būti CGI paremta ir negali palaikyti img_auth.\nDaugiau informacijos https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization. žr.",
        "pageswithprop-legend": "Puslapiai su puslapio atributais",
        "pageswithprop-text": "Šiame puslapyje pateikiami puslapiai, turintys atitinkamą puslapio atributą.",
        "pageswithprop-prop": "Atributo pavadinimas:",
+       "pageswithprop-reverse": "Rūšiuoti atvirkštine tvarka",
        "pageswithprop-submit": "Eiti",
        "pageswithprop-prophidden-long": "ilgo teksto turto vertė paslėpta ($1)",
        "pageswithprop-prophidden-binary": "dvejetainė turto vertė paslėpta ($1)",
        "newimages-user": "IP adresas ar vartotojo vardas",
        "newimages-showbots": "Rodyti robotų atliktus įkėlimus",
        "newimages-hidepatrolled": "Paslėpti patruliuotus įkeltus failus",
+       "newimages-mediatype": "Laikmenos tipas:",
        "noimages": "Nėra ką parodyti.",
        "ilsubmit": "Ieškoti",
        "bydate": "pagal datą",
        "compare-title-not-exists": "Pavadinimas, kurį nurodėte, neegzistuoja.",
        "compare-revision-not-exists": "Keitimas, kurį nurodėte, neegzistuoja.",
        "diff-form": "Skirtumai",
+       "diff-form-oldid": "Senos versijos ID (neprivaloma)",
+       "diff-form-submit": "Rodyti skirtumus",
+       "permanentlink": "Nuolatinė nuoroda",
+       "permanentlink-revid": "Versijos ID",
+       "permanentlink-submit": "Peržiūrėti versiją",
        "dberr-problems": "Atsiprašome! Svetainei iškilo techninių problemų.",
        "dberr-again": "Palaukite kelias minutes ir perkraukite puslapį.",
        "dberr-info": "(Nepavyksta pasiekti duomenų bazės: $1)",
index 8cc626b..b66f1a0 100644 (file)
        "expansion-depth-exceeded-category-desc": "ई पृष्ठ अधिकतम रुपमे विस्तार गहिराई पार केनए अछि",
        "expansion-depth-exceeded-warning": "पन्ना विस्तार गहिराई पार केनए अछि",
        "parser-unstrip-loop-warning": "Unstrip लूप पाओल गेल",
-       "parser-unstrip-recursion-limit": "Unstrip पुनरावर्तन सीमा पार कइर गेल($1)",
+       "unstrip-depth-warning": "Unstrip पुनरावर्तन सीमा पार कइर गेल($1)",
        "converter-manual-rule-error": "म्यानुअल भाषा परिवर्तन नियममे त्रुटि",
        "undo-success": "ई सम्पादन पूर्ववत बदलल जा सकैए।\nकृपा क' नीचाँक तुलनाक जाँच करू ई देखैले जे ई वएह भेल अछि जे अहाँ चाहै छलहुँ, आ तखन सम्पादन ख़तम करबा लेल नीचाँक परिवर्तन सुरक्षित करू ।",
        "undo-failure": "मध्यवर्ती विरोधी सम्पादनक कारण ऐ सम्पादनकेँ खतम नै कएल जा सकैए।",
index f626f0c..0e92f0c 100644 (file)
        "expansion-depth-exceeded-category-desc": "Sokajy ho an'ny pejy ahitana halalim-piitarana mihoatra.",
        "expansion-depth-exceeded-warning": "Pejy manana halalim-panitarana mihoatra",
        "parser-unstrip-loop-warning": "Nahitana tondro mifolaka tsy azo vahana",
-       "parser-unstrip-recursion-limit": "Tafahoatra ny fetra avo ny fetra recursion ($1)",
+       "unstrip-depth-warning": "Tafahoatra ny fetra avo ny fetra recursion ($1)",
        "converter-manual-rule-error": "Nahitana hadisoana ao amin'ny fepetra famadihana tanana ny fiteny.",
        "undo-success": "Ho voafafa io fanovana io. Marino tsara ny fanovana eo ambany, ary tehirizo rehefa vita.",
        "undo-failure": "Tsy afaka esorina io fanovàna io : mety tsy miraikitra amin'ny fanovàna misy eo ampivoaniny ra esorina",
index d525160..ba766d6 100644 (file)
        "expansion-depth-exceeded-category": "Laman dima kadalaman ekspansi lah talampau",
        "expansion-depth-exceeded-warning": "Laman kadalaman ekspansi lah talampau",
        "parser-unstrip-loop-warning": "Unstrip loop detected",
-       "parser-unstrip-recursion-limit": "Unstrip recursion limit exceeded ($1)",
+       "unstrip-depth-warning": "Unstrip recursion limit exceeded ($1)",
        "converter-manual-rule-error": "Kasalahan tadeteksi di aturan manual konversi bahaso",
        "undo-success": "Suntiangan ko dapek dibatalan. \nTolong cek pabedoan di bawah untuak mayakinkan bahwa bana nan tu Sanak nio buek, lalu simpan parubahan tasabuik untuak manyalasaikan pambatalan suntiangan.",
        "undo-failure": "Suntiangan ko indak dapek dibatalan dek konflik panyuntiangan antaro.",
index a1f615a..908fb56 100644 (file)
        "expansion-depth-exceeded-category-desc": "Страницата ја надминува најголемата дозволена продорност на проширувањето.",
        "expansion-depth-exceeded-warning": "Страницата ја надмина длабочината на проширувањето",
        "parser-unstrip-loop-warning": "Утврдена е јамка",
-       "parser-unstrip-recursion-limit": "Пречекорена е границата на рекурзија ($1)",
+       "unstrip-depth-warning": "Пречекорена е границата на рекурзија ($1)",
+       "unstrip-depth-category": "Страници каде е надмината продорноста на отслекувањето",
+       "unstrip-size-warning": "Надмината е големината на отслекувањето ($1)",
+       "unstrip-size-category": "Страница каде е надмината големинската граница на отслекувањето",
        "converter-manual-rule-error": "Пронајдов грешка во правилото за рачно претворање на јазик",
        "undo-success": "Уредувањето може да се откаже.\nВе молиме споредете ги промените со претходната верзија за да проверите дали тоа е сигурно она што сакате да го направите, а потоа зачувајте ги промените за да го завршите откажувањето на претходното уредување.",
        "undo-failure": "Уредувањето не можеше да се откаже заради меѓувремени спротиставени уредувања.",
        "limitreport-templateargumentsize-value": "$1/$2 {{PLURAL:$2|бајт|бајти}}",
        "limitreport-expansiondepth": "Најголема продорност на проширувањето",
        "limitreport-expensivefunctioncount": "Бр. на сложени расчленувачки функции",
+       "limitreport-unstrip-depth": "Продорност на повторливоста на отслекувањето",
+       "limitreport-unstrip-depth-value": "$1/$2",
+       "limitreport-unstrip-size": "Големина на отслекувањето по проширувањето",
+       "limitreport-unstrip-size-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_title": "Наслов на контекстот, за {{FULLPAGENAME}} и тн.:",
index 149fcab..a3fcbec 100644 (file)
        "expansion-depth-exceeded-category-desc": "താളിലെ വികസന ആഴം അധികരിച്ചിരിക്കുന്നു.",
        "expansion-depth-exceeded-warning": "താളിന്റെ വികസന ആഴം അധികരിച്ചിരിക്കുന്നു",
        "parser-unstrip-loop-warning": "അൺസ്ട്രിപ്പ് (Unstrip) പാഴ്സർ ഫങ്ഷനിൽ കുരുക്ക് കണ്ടെത്തി",
-       "parser-unstrip-recursion-limit": "അൺസ്ട്രിപ്പ് (Unstrip) പാഴ്സർ ഫങ്ഷന്റെ പുനരാവർത്തന പരിധി അധികരിച്ചിരിക്കുന്നു ($1)",
+       "unstrip-depth-warning": "അൺസ്ട്രിപ്പ് (Unstrip) പാഴ്സർ ഫങ്ഷന്റെ പുനരാവർത്തന പരിധി അധികരിച്ചിരിക്കുന്നു ($1)",
        "converter-manual-rule-error": "മാനുഷികമായുള്ള ഭാഷാ പരിവർത്തന നിയമത്തിൽ പിഴവ് കണ്ടെത്തി",
        "undo-success": "ഈ തിരുത്ത് താങ്കൾക്ക് തിരസ്ക്കരിക്കാവുന്നതാണ്‌. താഴെ കൊടുത്തിരിക്കുന്ന പതിപ്പുകൾ തമ്മിലുള്ള താരതമ്യം ഒന്നുകൂടി പരിശോധിച്ച് ഈ പ്രവൃത്തി ചെയ്യണോ എന്ന് ഒന്നുകൂടി ഉറപ്പാക്കുക. ഉറപ്പാണെങ്കിൽ തിരുത്ത് തിരസ്ക്കരിക്കുവാൻ താൾ സേവ് ചെയ്യുക.",
        "undo-failure": "ഇടയ്ക്കുള്ള തിരുത്തുകൾ തമ്മിൽ സമരസപ്പെടാത്തതു കാരണം ഈ തിരുത്ത് തിരസ്ക്കരിക്കുവാനാവില്ല.",
index 4e59163..6e8d930 100644 (file)
        "expansion-depth-exceeded-category-desc": "या पानाने उच्चतम प्रसरण-खोली(expansion depth) मर्यादा पार केली.",
        "expansion-depth-exceeded-warning": "लेखाने विस्तार-तळ(एक्सपांशन डेप्थ) पार केला",
        "parser-unstrip-loop-warning": "'अनस्ट्रिप'(अरोखीत) वलय(लुप) आढळले",
-       "parser-unstrip-recursion-limit": "'अनस्ट्रिप'(अरोखीत) आवर्तन मर्यादा पार झाली ($1)",
+       "unstrip-depth-warning": "'अनस्ट्रिप'(अरोखीत) आवर्तन मर्यादा पार झाली ($1)",
        "converter-manual-rule-error": "निदेशपुस्तिकेच्या भाषा अनुरुपण नियमामध्ये त्रुटी आढळली",
        "undo-success": "संपादन परतवले जाऊ शकते.कृपया, आपण नेमके हेच करू इच्छिता तर ते खाली दिलेली तुलना पाहू निश्चित करा,आणि नंतर संपादन परतवण्याचे काम पूर्ण करण्याकरिता इच्छित बदल जतन करा.",
        "undo-failure": "विसंवादी आंतरवर्ती संपादने झाल्यामुळे आपण हे संपादन परतवू शकत नाही.",
index 334e350..cff3601 100644 (file)
        "expansion-depth-exceeded-category-desc": "Laman telah melebihi kedalaman peluasan maksimum.",
        "expansion-depth-exceeded-warning": "Laman terlebih dalam peluasan",
        "parser-unstrip-loop-warning": "Gelung unstrip dikesan",
-       "parser-unstrip-recursion-limit": "Had rekursi unstrip dilampaui ($1)",
+       "unstrip-depth-warning": "Had rekursi unstrip dilampaui ($1)",
        "converter-manual-rule-error": "Ralat dikesan dalam aturan penukaran bahasa manual",
        "undo-success": "Suntingan ini boleh dibatalkan. Sila semak perbandingan di bawah untuk mengesahkan bahawa anda betul-betul mahu melakukan tindakan ini, kemudian simpan perubahan tersebut.",
        "undo-failure": "Suntingan tersebut tidak boleh dibatalkan kerana terdapat suntingan pertengahan yang bercanggah.",
index ff1c0d7..122ec85 100644 (file)
        "newpassword": "Од совамо валот:",
        "retypenew": "Сёрмадык омбоцеде совамо валот:",
        "resetpass_submit": "Тештик совамо валот ды совак",
-       "changepassword-success": "СовамовалоÑ\82 Ð¿Ð¾Ð»Ð°Ð²Ñ\82овÑ\81ь!",
+       "changepassword-success": "СалававалоÑ\82 Ð¿Ð¾Ð»Ð°Ð²Ñ\82озь!",
        "resetpass_forbidden": "Совамо валтнэ а полавтовить",
        "resetpass-submit-loggedin": "Полавтомс совамо валот",
        "resetpass-submit-cancel": "Саемс мекев",
index 00975fd..5d05688 100644 (file)
        "expansion-depth-exceeded-category-desc": "Sta paggena appassa 'o lemmeto d'espansione.",
        "expansion-depth-exceeded-warning": "Sta paggena ha appassato 'o lemmeto 'e futo 'e spansione",
        "parser-unstrip-loop-warning": "Scummigliato aniello Unstrip",
-       "parser-unstrip-recursion-limit": "Appassato 'o lémmeto 'e ricurzione d' Unstrip ($1)",
+       "unstrip-depth-warning": "Appassato 'o lémmeto 'e ricurzione d' Unstrip ($1)",
        "converter-manual-rule-error": "È stato scummigliato n'errore dint'a regola manuale 'e converziona 'e lengua",
        "undo-success": "'O cagnamiento se può annullà.\nPe' piacere vedete 'e differenze mmustate nfra 'e verziune pe' te ffà capace ca 'e cuntenute songo bbuone, e astipate 'e cagnamiente ccà abbascio pe' fernì e accussì turnà arreto.",
        "undo-failure": "Nun se può fà turnà arreto 'o cagnamiento pecché ce sta nu conflitto ch' 'e cagnamiente intermedie.",
index fe826a2..9a00b9c 100644 (file)
        "expansion-depth-exceeded-category-desc": "Siden overskrider maksimal utvidingsdybde.",
        "expansion-depth-exceeded-warning": "Sida har overskredet ekspansjonsdybden",
        "parser-unstrip-loop-warning": "«Unstrip»-loop påvist",
-       "parser-unstrip-recursion-limit": "Rekursjonsgrense for taggfjerning overskredet ($1)",
+       "unstrip-depth-warning": "Rekursjonsgrense for taggfjerning overskredet ($1)",
        "converter-manual-rule-error": "En feil ble oppdaget i en manuell språkkonverteringsregel",
        "undo-success": "Redigeringen kan omgjøres. Sjekk sammenligningen under for å bekrefte at du vil gjøre dette, og lagre endringene for å fullføre omgjøringen.",
        "undo-failure": "Redigeringen kunne ikke omgjøres på grunn av konflikterende etterfølgende redigeringer.",
index c900dbc..2e4bc59 100644 (file)
        "expansion-depth-exceeded-category": "Ziejen waor de expansiediepte overschrejen is",
        "expansion-depth-exceeded-warning": "Op disse zied staon te veule mallen",
        "parser-unstrip-loop-warning": "Der is n \"unstrip\"-lusse evunnen",
-       "parser-unstrip-recursion-limit": "De rekursielimiet ($1) veur \"unstrip\" is overschrejen",
+       "unstrip-depth-warning": "De rekursielimiet ($1) veur \"unstrip\" is overschrejen",
        "converter-manual-rule-error": "Der is n fout evunnen in n haandmaotig in-evoegden taalkonversieregel.",
        "undo-success": "De bewarking kan weerummedreid wörden. Kiek de vergelieking hieronder nao um der wisse van de ween dat alles goed is, en slao de de zied op um de bewarking weerumme te dreien.",
        "undo-failure": "De wieziging kon niet weerummedreid wörden umdat t ondertussen awweer ewiezigd is.",
index cc780da..6d833e0 100644 (file)
        "expansion-depth-exceeded-category-desc": "यस पृष्ठले उच्चतम विस्तार सिमा नाघेको छ ।",
        "expansion-depth-exceeded-warning": "पृष्ठले विस्तार सिमालाई नाधेको छ",
        "parser-unstrip-loop-warning": "अनस्ट्रिप लुप देखिन्छ",
-       "parser-unstrip-recursion-limit": "अन्स्ट्रिप पुनरावर्तन सिमा पार गरियो ($1)",
+       "unstrip-depth-warning": "अन्स्ट्रिप पुनरावर्तन सिमा पार गरियो ($1)",
        "converter-manual-rule-error": "म्यानुअल भाषा अनुवाद सिध्दान्तमा समस्या देखियो",
        "undo-success": "सम्पादन उल्टाउन सकिन्छ।\nतपाईंले चाहेको कार्य गर्न कृपया तल दिएको तुलना जाँच गर्नुहोस्, र गरिएको सम्पादनलाई  अघिकै अवस्थामा लैजाने कार्य सम्पन्न गर्न तल गएर संग्रह  गर्नुहोस्।",
        "undo-failure": "सम्पादनमा अन्तर्द्वन्द्वको कारण सम्पादन रद्द गर्न सकिन्न।",
        "editusergroup": "प्रयोगकर्ता समूह सम्पादन गर्नुहोस्",
        "editinguser": "प्रयोगकर्ता '''[[User:$1|$1]]''' $2 को अधिकार परिवर्तन गर्ने\n{{GENDER:$1|प्रयोगकर्ता}}को प्रयोगकर्ता अधिकार परिवर्तन हुँदैछ <strong>[[User:$1|$1]]</strong> $2",
        "userrights-editusergroup": "प्रयोगकर्ता समूह सम्पादन गर्नुहोस्",
+       "userrights-viewusergroup": "{{GENDER:$1|प्रयोगकर्ता}} समूहहरू हेर्नुहोस्।",
        "saveusergroups": "प्रयोगकर्ता समूहरू संग्रह गर्नुहोस्",
        "userrights-groupsmember": "को सदस्य:",
        "userrights-groupsmember-auto": "अंतर्निहित सदस्य:",
        "grant-createeditmovepage": "पृष्ठहरूमा परिवर्तन गर्नुहोस्",
        "grant-editmycssjs": "तपाईंको प्रयोगकर्ता CSS/JavaScript सम्पादन गर्नुहोस्",
        "grant-editmyoptions": "तपाईंको प्रयोगकर्ता अभिरूचीहरूलाई सम्पादन गर्नुहोस्",
+       "grant-sendemail": "अन्य प्रयोगकर्ताहरूलाई इमेल पठाउने",
        "grant-viewdeleted": "मेटाइएका फाइल तथा पृष्ठहरू हेर्ने",
        "newuserlogpage": "प्रयोगकर्ता श्रृजना लग",
        "newuserlogpagetext": "यो प्रयोगकर्ता सिर्जनाको लग हो ।",
        "recentchanges-legend-plusminus": "(''±१२३'')",
        "recentchanges-submit": "देखाउनुहोस्",
        "rcfilters-tag-remove": "'$1' हटाउनुहोस्",
+       "rcfilters-days-show-days": "$1 {{PLURAL:$1|दिन|दिनहरू}}",
+       "rcfilters-days-show-hours": "$1 {{PLURAL:$1|घण्टा|घण्टाहरू}}",
+       "rcfilters-savedqueries-setdefault": "पूर्वनिर्धारितको रुपमा सेट गर्नुहोस्",
+       "rcfilters-savedqueries-remove": "हटाउनुहोस्",
+       "rcfilters-savedqueries-new-name-label": "नाम",
+       "rcfilters-savedqueries-cancel-label": "रद्द गर्नुहोस्",
        "rcfilters-show-new-changes": "नवीनतम परिवर्तनहरू हेर्नुहोस्",
+       "rcfilters-filterlist-title": "फिल्टरहरू",
+       "rcfilters-filter-bots-label": "बोट",
+       "rcfilters-filter-minor-label": "सामान्य सम्पादनहरू",
        "rcfilters-filter-watchlistactivity-unseen-label": "नहेरिएका परिवर्तनहरू",
        "rcfilters-filter-watchlistactivity-seen-label": "हेरिएका परिवर्तनहरू",
+       "rcfilters-filter-lastrevision-label": "हालको संस्करण",
        "rcnotefrom": "तल <strong>$2</strong> देखि (<strong>$1</strong> सम्म) {{PLURAL:$5|भएका परिवर्तनहरू देखाइएको छ|भएका परिवर्तनहरू देखाइन्छ}}।",
        "rclistfrom": "$3 $2 देखिका नयाँ परिवर्तनहरू देखाउनु",
        "rcshowhideminor": "$1 सामान्य सम्पादन",
        "watchthisupload": "यो पृष्ठ निगरानी गर्नुहोस्",
        "filewasdeleted": "यस नामको एक फाइल पहिले पनि अपलोड गरे पछि हटाई सकिएको छ।\nपुनः अपलोड गर्नु पूर्व तपाईं $1 लाई राम्रोसँग जाँच गर्नुहोला।",
        "filename-bad-prefix": "तपाईं जुन फाइल अपलोड गर्दै हुनुहुन्छ त्यसको नाम <strong>\"$1\"</strong>बाट शुरू हुन्छ, जुन डिजिटल क्यामराद्वारा दिइएको नाम हो।\nकृपया यस फाइलको लागि कुनै दोश्रो अधिक जानकारीयुक्त नाम छान्नुहोस्।",
+       "filename-prefix-blacklist": " #<!-- leave this line exactly as it is --> <pre>\n# Syntax is as follows:\n#   * Everything from a \"#\" character to the end of the line is a comment\n#   * Every non-blank line is a prefix for typical filenames assigned automatically by digital cameras\nCIMG # Casio\nDSC_ # Nikon\nDSCF # Fuji\nDSCN # Nikon\nDUW # some mobile phones\nIMG # generic\nJD # Jenoptik\nMGP # Pentax\nPICT # misc.\n #</pre> <!-- leave this line exactly as it is -->",
        "upload-proto-error": "दूषित प्रोटोकल",
        "upload-proto-error-text": "दुर उर्ध्वभरण ठेगाना URLs  <code>http://</code> or <code>ftp://</code> बाट सुरु भएको हुनु पर्छ ।",
        "upload-file-error": "आन्तरिक त्रुटि",
        "upload-copy-upload-invalid-domain": "यस डोमेनबाट अपलोडहरूको प्रतिलिपि गर्न सकिदैन् ।",
        "upload-dialog-title": "फाइल अपलोड गर्ने",
        "upload-dialog-button-cancel": "रद्द गर्ने",
+       "upload-dialog-button-back": "पछाडि",
        "upload-dialog-button-done": "सकियो",
        "upload-dialog-button-save": "सङ्ग्रह गर्ने",
        "upload-dialog-button-upload": "अपलोड गर्ने",
        "apihelp-no-such-module": "मोड्युल \"$1\" भेटिएन ।",
        "apisandbox-submit": "अनुरोध गर्ने",
        "apisandbox-reset": "हटाउने",
+       "apisandbox-retry": "पुनः प्रयास गर्नुहोस्",
        "apisandbox-examples": "उदाहरण",
        "apisandbox-results": "परिणाम",
        "apisandbox-request-url-label": "अनुरोध युआरयल:",
        "apisandbox-request-time": "अनुरोधको समयावधी: $1",
+       "apisandbox-continue-clear": "खाली गर्नुहोस्",
        "booksources": "किताबका श्रोतहरु",
        "booksources-search-legend": "किताबका श्रोतहरु खोज्ने",
        "booksources-search": "खोज",
        "listgrouprights-namespaceprotection-header": "नामपद रोक",
        "listgrouprights-namespaceprotection-namespace": "नामपद",
        "listgrouprights-namespaceprotection-restrictedto": "प्रयोगकर्तालाई सम्पादन गर्ने अधिकार(हरू) दिने",
+       "listgrants-rights": "अधिकारहरू",
        "trackingcategories": "श्रेणीहरू पछ्याउने",
        "trackingcategories-summary": "यस पृष्ठमा ती जोडिने श्रेणिहरूको सूची भेट्दछ जुन स्वतः रूपले मिडियाविकी सफ्टवेयरद्वारा बनाइने गरिन्छ। उनीहरूको नाम सम्बन्धित प्रणाली सन्देशलाई परिवर्तनले {{ns:8}} नामस्थानमा परिवर्तन गर्न सकिन्छ।",
        "trackingcategories-msg": "श्रेणी पछ्याउने",
        "enotif_lastdiff": "यस परिवर्तनको निम्ति यो $1 हेर्नुहोस्",
        "enotif_anon_editor": "अज्ञात  प्रयोगकर्ता  $1",
        "enotif_body": "प्रिय $WATCHINGUSERNAME,\n\n\n{{SITENAME}}को पृष्ठ $PAGETITLE  $PAGEEDITDATE को दिन $PAGEEDITORद्वारा $CHANGEDORCREATED, \nहालको संशोधनको निम्ति हेर्नुहोस्  $PAGETITLE_URL ।\n\n$NEWPAGE\n\nसम्पादकको सारांश: $PAGESUMMARY $PAGEMINOREDIT\n\nसम्पादकसित सम्पर्क राख्नुहोस्:\nमेल: $PAGEEDITOR_EMAIL\nविकि: $PAGEEDITOR_WIKI\n\nतपाईं यस पृष्ठमा नगएसम्म अब उसो कुनै परिवर्तन भएका खण्डमा कुनै सूचना दिनेछैन।\nतपाईंका सम्पूर्ण निगरानी पृष्ठहरूको लागि तपाईंले सूचना पताकालाई निगरानी सूचीमा पुनर्बहाली गर्न सक्नुहुन्छ। \n\n             तपाईंको मित्र {{SITENAME}} सूचना प्रणाली\n--\nइमेल सूचना व्यवस्था परिवर्तन गर्न, जानुहोस्\n{{canonicalurl:{{#special:Preferences}}}}\n\nनिगरानी सूची व्यवस्थित गर्न, जानुहोस्\n{{canonicalurl:{{#special:EditWatchlist}}}}\n\nनिगरानी सूची मेट्न, जानुहोस्\n$UNWATCHURL\n\nप्रतिक्रिया र अन्य सहयोगको निम्ति:\n$HELPPAGE",
+       "enotif_minoredit": "यो सानो सम्पादन हो",
        "created": "बनाइएको",
        "changed": "परिवर्तन भइसकेको",
        "deletepage": "पृष्ठ मेट्नुहोस्",
        "sessionfailure": "यस्तो लाग्दैछ कि तपाईंको लगइन सत्रसँग कुनै समस्या छ। सत्र अपहरणबाट बचाउन को लागि सावधानीको रूपमा तपाईंको यो क्रियाकलाप रद्द गरिएको छ। कृपया पछाडी जानुहोस र पृष्ठलाई पुनः लोड गर्नुहोस्, अनि फेरी प्रयास गर्नुहोला।",
        "changecontentmodel-title-label": "पाना शीर्षक",
        "changecontentmodel-reason-label": "कारण:",
+       "changecontentmodel-submit": "परिवर्तन गर्नुहोस्",
        "logentry-contentmodel-change-revertlink": "पहिलेको रुपमा फर्काउने",
        "logentry-contentmodel-change-revert": "पहिलेको रुपमा फर्काउने",
        "protectlogpage": "सुरक्षण लग",
        "undelete-search-title": "मेटिएका पृष्ठहरू खोज्नुहोस्",
        "undelete-search-box": "मेटिएका पृष्ठहरू खोज्नुहोस्",
        "undelete-search-prefix": "बाट सुरु हुने  पृष्ठहरू देखाउनुहोस :",
+       "undelete-search-full": "पृष्ठमा निम्न भएको शीर्षक देखाउनुहोस्:",
        "undelete-search-submit": "खोजी गर्नुहोस्",
        "undelete-no-results": "मेटिएका पृष्ठहरूको अभिलेखमा कुनै पनि मिल्दो पृष्ठहरू भेटिएन ।",
        "undelete-filename-mismatch": " $1 समय छाप भएको मेटिएको संस्करण पुन: स्थापना गर्न सकिएन : फाइलनाम अमिल्दो",
        "unblocked-id": "$1 रोक हटाइएको छ",
        "unblocked-ip": "[[Special:Contributions/$1|$1]] खुला भएको छ ।",
        "blocklist": "निषेधित प्रयोगकर्ताहरू",
+       "autoblocklist-submit": "खोज्नुहोस्",
        "ipblocklist": "निषेधित प्रयोगकर्ताहरू",
        "ipblocklist-legend": "रोकलगाइएका प्रयोगकर्ताहरू खोज्नुहोस",
        "blocklist-userblocks": "खाता निषेधित  लुकाउने",
        "export-download": "सङ्ग्रह गर्ने",
        "export-templates": "ढाँचाहरू संलग्न गर्नुहोस्",
        "export-pagelinks": "जोडिएको पृष्ठलाई यस गहराईसम्म समाबेश गर्नेः",
+       "export-manual": "पृष्ठहरू आफैँ थप्नुहोस्:",
        "allmessages": "सिस्टम सन्देशहरू",
        "allmessagesname": "नाम",
        "allmessagesdefault": "डिफल्ट सन्देश पाठ",
        "pageinfo-length": "पृष्ठ लम्बाई (बाईटमा)",
        "pageinfo-article-id": "पृष्ठ परिचय",
        "pageinfo-language": "पृष्ठ सामग्रीको भाषा",
+       "pageinfo-language-change": "परिवर्तन",
        "pageinfo-content-model": "पृष्ठ सामाग्री नमुना",
+       "pageinfo-content-model-change": "परिवर्तन",
        "pageinfo-robot-policy": "रोबोटहरूद्वारा अनुक्रमणिका",
        "pageinfo-robot-index": "अनुमति भएको",
        "pageinfo-robot-noindex": "अनुमति नभएको",
        "pageinfo-category-pages": "पृष्ठहरूको संख्या",
        "pageinfo-category-subcats": "उपश्रेणीहरूको संख्या",
        "pageinfo-category-files": "फाइलहरूको संख्या",
+       "pageinfo-user-id": "प्रयोगकर्ता परिचय",
        "markaspatrolleddiff": "गस्ती गरिएको(patrolled) को रुपमा चिनो लगाउने",
        "markaspatrolledtext": "यस पृष्ठलाई गस्ती गरिएको(patrolled) को रुपमा चिनो लगाउने",
        "markedaspatrolled": "गस्ती गरिएको(patrolled) को रुपमा चिनो लगाइयो",
        "patrol-log-header": "गस्ती गरिएका संस्करणहरूको लग यस प्रकार रहेका छन् ।",
        "log-show-hide-patrol": "$1 निगरानी लग",
        "log-show-hide-tag": "$1 ट्याग लग",
+       "confirm-markpatrolled-button": "ठीक छ",
        "deletedrevision": "पुराना पुनरावलोकनहरू $1 मेटिए",
        "filedeleteerror-short": "$1 फाइल मेटाइमा भूल",
        "filedeleteerror-long": "निम्न फाइल मेट्ने क्रममा त्रुटी भयो:\n\n$1",
        "newimages-summary": "यस विशेष पृष्ठले अन्तिम उर्ध्वभरण गरिएका फाइलहरू देखाउँछ ।",
        "newimages-legend": "फिल्टर",
        "newimages-label": "फाइल अथवा (यसको एउटा अंश)को नाम:",
+       "newimages-newbies": "नयाँ खाताको योगदानहरू मात्र देखाउने",
        "newimages-showbots": "बोटहरूद्वारा गरिएको अपलोड देखाउने",
        "noimages": "हेर्नको लागि केही छैन.",
        "ilsubmit": "खोज्नुहोस्",
        "exif-xyresolution-c": "$1 प्रतिसेन्टिमिटरथोप्लाहरु(डिपिसी)",
        "exif-colorspace-65535": "स्तरिकरण नगरिएको",
        "exif-componentsconfiguration-0": "अस्तित्वमा छैन",
+       "exif-componentsconfiguration-4": "क",
+       "exif-componentsconfiguration-6": "ब",
        "exif-exposureprogram-0": "खुलाइएको छैन",
        "exif-exposureprogram-1": "स्वयं",
        "exif-exposureprogram-2": "साधारण कार्यक्रम",
        "confirm-watch-top": "के यस पृष्ठलाई निगरानी सुचीमा थप्ने हो ?",
        "confirm-unwatch-button": "ठीक",
        "confirm-unwatch-top": "के यो पृष्ठलाई निगरानी सुचीबाट हटाउने हो ?",
+       "confirm-rollback-button": "ठीक छ",
        "semicolon-separator": ";&#32;",
        "comma-separator": ",&#32;",
        "colon-separator": ":&#32;",
        "tag-filter": "[[Special:Tags|पुच्छर]] फिल्टर:",
        "tag-filter-submit": "फिल्टर",
        "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|ट्याग|ट्यागहरू}}]]: $2)",
+       "tag-mw-undo": "अन्डू गर्नुहोस्",
        "tags-title": "ट्यागहरु",
        "tags-intro": "यो पृष्ठले ट्यागहरू सूचीकृत गर्छ जससँग यो सफ्टवेयरले चिनो लगाउन र सम्पादन गर्न सक्छ र तिनका अर्थहरू ।",
        "tags-tag": "आन्तरिक ट्याग नाम",
        "compare-title-not-exists": "तपाईंले खुलाउनु भएको शिर्षक उपलब्ध छैन ।",
        "compare-revision-not-exists": "तपाईंले खुलाउनु भएको संस्करण उपलब्ध छैन ।",
        "diff-form": "भिन्नताहरू",
+       "permanentlink": "स्थायी लिङ्क",
        "dberr-problems": "क्षमा पाउँ! यो साइटमा तकनीकी गड़बड़ी आइपरेकोछ।",
        "dberr-again": "केही समय पर्खिएर पुन: लोड हुन दिनुहोस् ।",
        "dberr-info": "(डेटाबेस सर्भर: $1 सँग सम्पर्क स्थापित गर्न सकिएन)",
        "htmlform-cloner-create": "अरू जोड्ने",
        "htmlform-cloner-delete": "हटाउने",
        "htmlform-cloner-required": "कम्तिमा एउटामा आवश्यक छ ।",
+       "htmlform-user-not-exists": "'''$1''' अस्तित्वमा छैन ।",
        "logentry-delete-delete": "$1 द्वारा पृष्ठ $3 {{GENDER:$2|मेटाइयो}}",
        "logentry-delete-restore": "$1 {{GENDER:$2|पुनर्स्थापित}} पृष्ठ $3 ($4)",
        "logentry-delete-event": "$1 ले $3 पृष्ठको लग {{PLURAL:$5|प्रविष्टि|प्रविष्टिहरू}}को दृश्यता {{GENDER:$2|परिवर्तन गर्यो}}: $4",
        "pagelang-language": "भाषा",
        "pagelang-use-default": "पूर्वनिर्धारित भाषा प्रयोग गर्ने",
        "pagelang-select-lang": "भाषा छान्ने",
+       "pagelang-reason": "कारण",
        "pagelang-submit": "बुझाउने",
        "right-pagelang": "पृष्ठको भाषा परिवर्तन गर्ने",
        "action-pagelang": "यस पृष्ठको भाषा परिवर्तन गर्ने",
        "special-characters-title-minus": "घटाउने चिन्ह",
        "mw-widgets-titleinput-description-new-page": "हालसम्म पृष्ठ उपलब्ध छैन्",
        "mw-widgets-titleinput-description-redirect": "$1 मा जाने",
-       "randomrootpage": "यादृच्छिक शीर्ष पृष्ठ"
+       "randomrootpage": "यादृच्छिक शीर्ष पृष्ठ",
+       "log-action-filter-all": "सबै",
+       "log-action-filter-block-block": "रोक्ने",
+       "log-action-filter-block-unblock": "फुक्का गर्ने",
+       "authmanager-userdoesnotexist": "प्रयोगकर्ता खाता \"$1\" दर्ता गरिएको छैन।",
+       "authmanager-email-label": "ईमेल",
+       "authmanager-email-help": "इमेल ठेगाना",
+       "authprovider-resetpass-skip-label": "छोड्नुहोस्",
+       "edit-error-short": "त्रुटि: $1"
 }
index db1959d..2d872aa 100644 (file)
        "expansion-depth-exceeded-category-desc": "De pagina overschrijdt de maximale expansiediepte.",
        "expansion-depth-exceeded-warning": "De pagina bevat te veel sjablonen",
        "parser-unstrip-loop-warning": "Er is een \"unstrip\"-lus gedetecteerd",
-       "parser-unstrip-recursion-limit": "De recursielimiet ($1) voor \"unstrip\" is overschreden",
+       "unstrip-depth-warning": "De recursielimiet ($1) voor \"unstrip\" is overschreden",
        "converter-manual-rule-error": "Er is een fout gedetecteerd in een handmatig toegevoegde taalconversieregel.",
        "undo-success": "Deze bewerking kan ongedaan gemaakt worden.\nHieronder staat de tekst waarin de wijziging ongedaan is gemaakt.\nControleer voor het opslaan of het resultaat gewenst is.",
        "undo-failure": "De wijziging kan niet ongedaan gemaakt worden vanwege andere strijdige wijzigingen.",
        "trackingcategories-name": "Berichtnaam",
        "trackingcategories-desc": "Opnamecriteria",
        "restricted-displaytitle-ignored": "Pagina's met genegeerde weergavetitels",
-       "restricted-displaytitle-ignored-desc": "Deze pagina heeft een genegeerde <code><nowiki>{{DISPLAYTITLE}}</nowiki></code> omdat het niet overeenkomstig is met de pagina's werkelijke titel.",
+       "restricted-displaytitle-ignored-desc": "Deze pagina heeft een genegeerde <code><nowiki>{{DISPLAYTITLE}}</nowiki></code> omdat het niet overeenkomstig is met de werkelijke titel van de pagina.",
        "noindex-category-desc": "De pagina bevat het magische woord <code><nowiki>__NOINDEX__</nowiki></code> (en bevindt zich in een naamruimte waarin dat magische woord is toegestaan), en wordt niet geïndexeerd door robots.",
        "index-category-desc": "De pagina bevat het magische woord <code><nowiki>__INDEX__</nowiki></code> (en bevindt zich in een naamruimte waarin dat magische woord is toegestaan), en wordt geïndexeerd door robots, terwijl dat normaliter niet zou gebeuren.",
-       "post-expand-template-inclusion-category-desc": "De pagina groter dan <code>$wgMaxArticleSize</code> na het uitbreiden van alle sjablonen, dus zijn sommige sjablonen niet uitgebreid.",
-       "post-expand-template-argument-category-desc": "De pagina is groter dan <code>$wgMaxArticleSize</code> na het uitbreiden van een sjabloonparameter (iets in de drievoudige accolades, zoals <code>{{{Foo}}})</code>).",
-       "expensive-parserfunction-category-desc": "De pagina gebruikt te veel kostbare parserfuncties (zoals <code>#ifexist</code>) gebruikt. [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgExpensiveParserFunctionLimit Meer informatie].",
+       "post-expand-template-inclusion-category-desc": "De pagina is groter dan <code>$wgMaxArticleSize</code> na het uitbreiden van alle sjablonen, dus zijn sommige sjablonen niet uitgebreid.",
+       "post-expand-template-argument-category-desc": "De pagina is groter dan <code>$wgMaxArticleSize</code> na het uitbreiden van een sjabloonparameter (iets in de drievoudige accolades, zoals <code>{{{Foo}}}</code>).",
+       "expensive-parserfunction-category-desc": "De pagina gebruikt te veel kostbare parserfuncties (zoals <code>#ifexist</code>). [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgExpensiveParserFunctionLimit Meer informatie].",
        "broken-file-category-desc": "De pagina bevat een niet-bestaande koppeling (een koppeling om een bestand toe te voegen als dat bestand niet bestaat).",
        "hidden-category-category-desc": "De categorie heeft het magische woord <code><nowiki>__HIDDENCAT__</nowiki></code> in de inhoud, waardoor de categorie standaard niet zichtbaar is in de lijst met categorieën op pagina's.",
        "trackingcategories-nodesc": "Geen beschrijving beschikbaar.",
        "emailccsubject": "Kopie van uw bericht aan $1: $2",
        "emailsent": "E-mail verzonden",
        "emailsenttext": "Uw e-mail is verzonden.",
-       "emailuserfooter": "Deze e-mail is door $1 aan {{GENDER:$2|$2}} {{GENDER:$1|verstuurd}} middels de functie \"{{int:emailuser}}\" van {{SITENAME}}. Indien {{GENDER:$2|uw}} reageert op deze e-mail, wordt uw e-mail direct naar de {{GENDER:$1|oorspronkelijke afzender}} verstuurd, waardoor {{GENDER:$2|uw}} e-mailadres aan {{GENDER:$1|hem|haar|hem of haar}} onthuld wordt.",
+       "emailuserfooter": "Deze e-mail is door $1 aan {{GENDER:$2|$2}} {{GENDER:$1|verstuurd}} middels de functie \"{{int:emailuser}}\" van {{SITENAME}}. Indien {{GENDER:$2|u}} reageert op deze e-mail, wordt uw e-mail direct naar de {{GENDER:$1|oorspronkelijke afzender}} verstuurd, waardoor {{GENDER:$2|uw}} e-mailadres aan {{GENDER:$1|hem|haar|hem of haar}} onthuld wordt.",
        "usermessage-summary": "Systeembericht achtergelaten",
        "usermessage-editor": "Systeembericht",
        "watchlist": "Volglijst",
index dbdefda..115a9e9 100644 (file)
        "nosuchusershort": "Det finst ikkje nokon brukar med brukarnamnet «$1». Sjekk at du har skrive rett.",
        "nouserspecified": "Du må oppgje eit brukarnamn.",
        "login-userblocked": "Denne brukaren er blokkert. Innlogging er ikkje tillate.",
-       "wrongpassword": "Du har oppgjeve eit ugyldig passord. Prøv om att.",
+       "wrongpassword": "Rangt brukarnamn eller passord vart oppgjeve. Prøv om att.",
        "wrongpasswordempty": "Du oppgav ikkje noko passord. Ver venleg og prøv igjen.",
        "passwordtooshort": "Passord må innehalda minst {{PLURAL:$1|eitt teikn|$1 teikn}}.",
        "passwordtoolong": "Passord kan ikkje vera lengre enn {{PLURAL:$1|eitt|$1}} teikn.",
        "expansion-depth-exceeded-category": "Sider der utvidingsdjupna er overskriden",
        "expansion-depth-exceeded-warning": "Sida har overskride utvidingsdjupna",
        "parser-unstrip-loop-warning": "Det vart oppdaga ei løkke i Unstrip-funksjonen",
-       "parser-unstrip-recursion-limit": "Rekursjonsgrensa for Unstrip-funksjonen er overskriden ($1)",
+       "unstrip-depth-warning": "Rekursjonsgrensa for Unstrip-funksjonen er overskriden ($1)",
        "converter-manual-rule-error": "Det vart oppdaga ein feil i ein manuell språkkonverteringsregel",
        "undo-success": "Endringa kan angrast.\nSjå på samanlikninga under for å stadfesta at dette er det du ynskjer å gjera. Deretter kan du lagra desse endringane for å fullføra angringa.",
        "undo-failure": "Endringa kunne ikkje attenderullast grunna konflikt med endringar som er gjorde i mellomtida.",
        "right-siteadmin": "Låse og låse opp databasen",
        "right-override-export-depth": "Eksporter sider inkludert lenkte sider til ei djupn på 5",
        "right-sendemail": "Senda e-post til andre brukarar",
+       "grant-group-high-volume": "Utføra høgvolumaktivitet",
        "grant-blockusers": "Blokkera og avblokkera brukarar",
        "grant-createaccount": "Oppretta kontoar",
        "grant-createeditmovepage": "Oppretta, endra og flytta sider",
        "grant-delete": "Sletta sider, versjonar og loggoppføringar",
        "grant-editinterface": "Gjera endringar i MediaWiki-namnerommet og i CSS/JavaScript for brukarkontoen",
+       "grant-highvolume": "Høgvolumendring",
        "grant-protect": "Verna og avverna sider",
        "grant-sendemail": "Senda e-post til andre brukarar",
        "grant-uploadeditmovefile": "Lasta opp, byta ut og flytta filer",
index 368623e..731c447 100644 (file)
        "expansion-depth-exceeded-category-desc": "La pagina depassa la prigondor d’espandiment maximala.",
        "expansion-depth-exceeded-warning": "Pagina depassant la prigondor d'espandiment",
        "parser-unstrip-loop-warning": "Bocla pas desmontabla detectada",
-       "parser-unstrip-recursion-limit": "Limit de recursion pas desmontable depassat ($1)",
+       "unstrip-depth-warning": "Limit de recursion pas desmontable depassat ($1)",
        "converter-manual-rule-error": "Error detectada dins la règla manuala de conversion de lenga",
        "undo-success": "Aquesta modificacion va èsser desfaita. Confirmatz los cambiaments (visibles en bas d'aquesta pagina), puèi salvatz se sètz d’acòrdi. Mercés de motivar l’anullacion dins la bóstia de resumit.",
        "undo-failure": "Aquesta modificacion a pas pogut èsser desfaita a causa de conflictes amb de modificacions intermediàrias.",
index 3d50f90..cfcc21d 100644 (file)
        "expansion-depth-exceeded-category-desc": "ଏହି ପୃଷ୍ଠାର ସର୍ବାଧିକ ଲମ୍ବା ହେବା ଠାରୁ ବଳିଗଲାଣି",
        "expansion-depth-exceeded-warning": "ପୃଷ୍ଠାଟି ବିସ୍ତ୍ରୁତ ଗଭୀରତାରୁ ଅଧିକ ହୋଇଗଲା",
        "parser-unstrip-loop-warning": "ଅଜଣା ଲୁପ ଜଣାପଡିଲା",
-       "parser-unstrip-recursion-limit": "ଅଜଣା ଚକ୍ରର ସୀମା ଅତ୍ୟଧିକ ହୋଇଗଲା ($1)",
+       "unstrip-depth-warning": "ଅଜଣା ଚକ୍ରର ସୀମା ଅତ୍ୟଧିକ ହୋଇଗଲା ($1)",
        "converter-manual-rule-error": "ଆପେ ଆପେ ଭାଷା ପରିବର୍ତ୍ତନ ନିଯମରେ ଭୁଲ ଅଛି",
        "undo-success": "ଏହି ସମ୍ପାଦନା ପଛକୁ ଫେରାଯାଇପାରିବ ନାହିଁ ।\nଦୟାକରି ତୁଳନା କରି ପରଖିନିଅନ୍ତୁ ଯେ ଆପଣ ଏହାହିଁ କରିବାକୁ ଚାହୁଁଥିଲେ, ଆଉ ସମ୍ପାଦନା ଶେଷ କରିବା ପାଇଁ ତଳେ ଥିବା ବଦଳ ସାଇତି ରଖନ୍ତୁ ।",
        "undo-failure": "ଏହି ସମ୍ପାଦନା ପଛକୁ ଫେରାଯାଇ ପାରିବ ନାହିଁ କାରଣ ମଝିରେ ଘଟିଥିବା ଅନେକ ଛୋଟ ଛୋଟ ବଦଳ ଅସୁବିଧା ତିଆରି କରୁଅଛି ।",
index 16f621c..ae68720 100644 (file)
        "expansion-depth-exceeded-category-desc": "Strona przekracza maksymalną głębokość rozbudowy.",
        "expansion-depth-exceeded-warning": "Strona przekroczyła głębokość rozbudowy",
        "parser-unstrip-loop-warning": "Wykryto nieskończoną pętlę",
-       "parser-unstrip-recursion-limit": "Przekroczono maksymalną głębokość zagnieżdżania ($1)",
+       "unstrip-depth-warning": "Przekroczono maksymalną głębokość zagnieżdżania ($1)",
        "converter-manual-rule-error": "Błąd w językowych regułach konwersji",
        "undo-success": "Edycja może zostać wycofana. Porównaj ukazane poniżej różnice między wersjami, a następnie zapisz zmiany.",
        "undo-failure": "Edycja nie może zostać wycofana z powodu konfliktu z wersjami pośrednimi.",
index 3543a66..ffc4456 100644 (file)
        "expansion-depth-exceeded-category-desc": "La pàgina a l'ha passà la profondità d'espansion.",
        "expansion-depth-exceeded-warning": "La pàgina a l'ha sorpassà la profondità d'espansion",
        "parser-unstrip-loop-warning": "Trovà un sicl nen dësmontàbil",
-       "parser-unstrip-recursion-limit": "Sorpassà ël lìmit d'arcorensa nen dësmontàbil: $1",
+       "unstrip-depth-warning": "Sorpassà ël lìmit d'arcorensa nen dësmontàbil: $1",
        "converter-manual-rule-error": "Eror trovà ant la régola ëd conversion manual ëd la lenga",
        "undo-success": "Sta modìfica-sì as peul scancelesse. Për piasì, ch'a contròla ambelessì sota për esse sigur che a l'é pro lòn che a veul fé, e peuj ch'as salva lòn ch'a l'ha butà chiel/chila për finì dë scancelé la modìfica ch'a-i era.",
        "undo-failure": "Sta modìfica a l'é nen podusse scancelé për via che a-i son dle contradission antra version antrames.",
index 4ec6361..fe4db5a 100644 (file)
        "expansion-depth-exceeded-category-desc": "A página excede a profundidade de expansão permitida.",
        "expansion-depth-exceeded-warning": "A página excedeu a profundidade de expansão",
        "parser-unstrip-loop-warning": "Foi detectado um ciclo infinito unstrip",
-       "parser-unstrip-recursion-limit": "Limite de recursão do unstrip excedido ($1)",
+       "unstrip-depth-warning": "Limite de recursão do unstrip excedido ($1)",
        "converter-manual-rule-error": "Erro detectado na regra de conversão de língua manual",
        "undo-success": "A edição pôde ser desfeita. Por gentileza, verifique o comparativo a seguir para se certificar de que é isto que deseja fazer, salvando as alterações após ter terminado de revisá-las.",
        "undo-failure": "A edição não pôde ser desfeita devido a alterações intermediárias conflitantes.",
index a302cae..e816f98 100644 (file)
        "cannotlogoutnow-text": "Não pode encerrar a sessão quando utilizar $1.",
        "welcomeuser": "Bem-vindo, $1!",
        "welcomecreation-msg": "A sua conta foi criada.\nNão se esqueça de personalizar as suas [[Special:Preferences|preferências]] na wiki {{SITENAME}}.",
-       "yourname": "Nome de utilizador(a):",
-       "userlogin-yourname": "Nome de utilizador(a)",
+       "yourname": "Nome de utilizador:",
+       "userlogin-yourname": "Nome de utilizador",
        "userlogin-yourname-ph": "Introduza o seu nome de utilizador",
        "createacct-another-username-ph": "Introduza o nome de utilizador",
        "yourpassword": "Palavra-passe:",
        "passwordreset-text-many": "{{PLURAL:$1|Preencha um dos campos para receber uma palavra-passe temporária por correio eletrónico.}}",
        "passwordreset-disabled": "A redefinição da palavra-passe foi impossibilitada nesta wiki.",
        "passwordreset-emaildisabled": "A funcionalidade de correio eletrónico foi desativada nesta wiki.",
-       "passwordreset-username": "Nome de utilizador(a):",
+       "passwordreset-username": "Nome de utilizador:",
        "passwordreset-domain": "Domínio:",
        "passwordreset-email": "Correio eletrónico:",
        "passwordreset-emailtitle": "Detalhes da conta na wiki {{SITENAME}}",
        "expansion-depth-exceeded-category-desc": "A página excede a profundidade de expansão permitida.",
        "expansion-depth-exceeded-warning": "A página excedeu a profundidade de expansão",
        "parser-unstrip-loop-warning": "Foi detetado um ciclo infinito da função unstrip",
-       "parser-unstrip-recursion-limit": "Limite de recursão da função unstrip excedido ($1)",
+       "unstrip-depth-warning": "Limite de recursão da função unstrip excedido ($1)",
+       "unstrip-depth-category": "Páginas nas quais o limite da profundidade de remoção de etiquetas é excedido",
+       "unstrip-size-warning": "Limite da profundidade de remoção de etiquetas excedido ($1)",
+       "unstrip-size-category": "Páginas nas quais o limite da dimensão de remoção de etiquetas é excedido",
        "converter-manual-rule-error": "Erro detetado na regra de conversão de língua manual",
        "undo-success": "É possível desfazer a edição.\nVerifique a comparação abaixo, por favor, para se certificar de que corresponde ao que pretende fazer.\nDepois grave as alterações, para finalizar e desfazer a edição.",
        "undo-failure": "Não foi possível desfazer a edição por conflito com alterações intermédias.",
        "history-feed-empty": "A página solicitada não existe.\nPode ter sido eliminada da wiki ou o nome sido alterado.\nTente [[Special:Search|pesquisar na wiki]] novas páginas relevantes.",
        "history-edit-tags": "Editar etiquetas das revisões selecionadas",
        "rev-deleted-comment": "(resumo da edição suprimido)",
-       "rev-deleted-user": "(nome de utilizador(a) removido)",
+       "rev-deleted-user": "(nome de utilizador removido)",
        "rev-deleted-event": "(registos de detalhes eliminados)",
        "rev-deleted-user-contribs": "[nome de utilizador(a) ou IP removido do histórico – edição ocultada das contribuições públicas]",
        "rev-deleted-text-permission": "Esta revisão de página foi <strong>eliminada</strong>.\nEncontrará detalhes no [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registo de eliminações].",
        "stub-threshold-disabled": "Desativado",
        "recentchangesdays": "Dias a apresentar nas mudanças recentes:",
        "recentchangesdays-max": "Máximo: $1 {{PLURAL:$1|dia|dias}}",
-       "recentchangescount": "Número de edições a apresentar por omissão:",
-       "prefs-help-recentchangescount": "Inclui mudanças recentes, histórico de páginas e registos.",
+       "recentchangescount": "Número de edições a apresentar por omissão nas mudanças recentes, nos historiais de páginas e nos registos:",
+       "prefs-help-recentchangescount": "Número máximo: 1000",
        "prefs-help-watchlist-token2": "Esta é a chave secreta para o ''feed'' RSS da sua lista de páginas vigiadas.\nQualquer pessoa que conheça a chave será capaz de ler a sua lista de páginas vigiadas, por isso não a divulgue. Se for necessário, \n[[Special:ResetTokens|pode redefini-la]].",
        "savedprefs": "As suas preferências foram gravadas.",
        "savedrights": "Os grupos {{GENDER:$1|do utilizador|da utilizadora}} $1 foram gravados.",
        "prefs-reset-intro": "Pode usar esta página para repor as configurações padrão das preferências.\nAs suas preferências serão modificadas para os valores predefinidos do sítio.\nEsta operação não pode ser desfeita.",
        "prefs-emailconfirm-label": "Confirmação do correio eletrónico:",
        "youremail": "Correio eletrónico:",
-       "username": "Nome de {{GENDER:$1|utilizador|utilizadora|utilizador(a)}}:",
+       "username": "Nome {{GENDER:$1|do utilizador|da utilizadora|de utilizador}}:",
        "prefs-memberingroups": "{{GENDER:$2|Membro}} {{PLURAL:$1|do grupo|dos grupos}}:",
        "prefs-memberingroups-type": "$1",
        "group-membership-link-with-expiry": "$1 (até $2)",
        "usercreated": "{{GENDER:$3|criado|criada|criado(a)}} a $1 às $2",
        "newpages": "Páginas recentes",
        "newpages-submit": "Mostrar",
-       "newpages-username": "Nome de utilizador(a):",
+       "newpages-username": "Nome de utilizador:",
        "ancientpages": "Páginas mais antigas",
        "move": "Mover",
        "movethispage": "Mover esta página",
        "sp-contributions-newbies-sub": "Para contas novas",
        "sp-contributions-newbies-title": "Contribuições de contas novas",
        "sp-contributions-blocklog": "registo de bloqueios",
-       "sp-contributions-suppresslog": "contribuições de {{GENDER:$1|utilizador|utilizadora|utilizador(a)}} suprimidas",
-       "sp-contributions-deleted": "contribuições de {{GENDER:$1|utilizador|utilizadora|utilizador(a)}} eliminadas",
+       "sp-contributions-suppresslog": "contribuições suprimidas {{GENDER:$1|do utilizador|da utilizadora}}",
+       "sp-contributions-deleted": "contribuições eliminadas {{GENDER:$1|do utilizador|da utilizadora}}",
        "sp-contributions-uploads": "carregamentos",
        "sp-contributions-logs": "registos",
        "sp-contributions-talk": "discussão",
        "autoblockid": "Bloqueio automático nº $1",
        "block": "Bloquear utilizador(a)",
        "unblock": "Desbloquear utilizador",
-       "blockip": "Bloquear {{GENDER:$1|utilizador|utilizadora|utilizador(a)}}",
+       "blockip": "Bloquear {{GENDER:$1|utilizador|utilizadora}}",
        "blockiptext": "Utilize o formulário abaixo para bloquear o acesso de escrita a um endereço IP específico ou a um nome de utilizador(a).\nIsto só deve ser feito para prevenir vandalismo e de acordo com a [[{{MediaWiki:Policy-url}}|política]]. Indique a seguir um motivo de bloqueio específico (por exemplo, indicando as páginas que foram alvo de vandalismo).\nPode bloquear intervalos de endereços IP com a sintaxe [https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing CIDR]; o maior intervalo permitido é /$1 para IPv4 e /$2 para IPv6.",
        "ipaddressorusername": "Endereço IP ou nome de utilizador:",
        "ipbexpiry": "Expiração:",
        "ipbcreateaccount": "Impedir a criação de contas",
        "ipbemailban": "Impedir utilizador(a) de enviar correio eletrónico",
        "ipbenableautoblock": "Bloquear automaticamente o endereço IP mais recente deste(a) utilizador(a) e todos os endereços IP subsequentes a partir dos quais ele(a) tente editar",
-       "ipbsubmit": "Bloquear este(a) utilizador(a)",
+       "ipbsubmit": "Bloquear este utilizador",
        "ipbother": "Outro período:",
        "ipboptions": "2 horas:2 hours,1 dia:1 day,3 dias:3 days,1 semana:1 week,2 semanas:2 weeks,1 mês:1 month,3 meses:3 months,6 meses:6 months,1 ano:1 year,indefinido:infinite",
        "ipbhidename": "Ocultar nome de utilizador nas edições e listas",
        "scarytranscludetoolong": "[O URL é demasiado longo]",
        "deletedwhileediting": "<strong>Aviso:</strong> Esta página foi eliminada após ter começado a editá-la!",
        "confirmrecreate": "Depois de ter começado a editar esta página, {{GENDER:$1|o utilizador|a utilizadora|o(a) utilizador(a)}} [[User:$1|$1]] ([[User talk:$1|discussão]]) eliminou-a pelo seguinte motivo:\n: <em>$2</em>\nConfirme que quer realmente recriar esta página, por favor.",
-       "confirmrecreate-noreason": "{{GENDER:$1|O utilizador|A utilizadora|O(a) utilizador(a)}} [[User:$1|$1]] ([[User talk:$1|discussão]]) eliminou esta página depois de ter começado a editá-la. Confirme que deseja recriar a página, por favor.",
+       "confirmrecreate-noreason": "{{GENDER:$1|O utilizador|A utilizadora}} [[User:$1|$1]] ([[User talk:$1|discussão]]) eliminou esta página depois de ter começado a editá-la. Confirme que deseja recriar a página, por favor.",
        "recreate": "Recriar",
        "confirm-purge-title": "Purgar esta página",
        "confirm_purge_button": "OK",
        "limitreport-templateargumentsize-value": "$1/$2 {{PLURAL:$2|byte|bytes}}",
        "limitreport-expansiondepth": "Profundidade máxima de expansão",
        "limitreport-expensivefunctioncount": "Número de funções exigentes do analisador sintático",
+       "limitreport-unstrip-depth": "Profundidade da recursividade da remoção de etiquetas",
+       "limitreport-unstrip-depth-value": "$1/$2",
+       "limitreport-unstrip-size": "Dimensão, após expansão, da remoção de etiquetas (unstrip)",
+       "limitreport-unstrip-size-value": "$1/$2 {{PLURAL:$2|byte|bytes}}",
        "expandtemplates": "Expandir predefinições",
        "expand_templates_intro": "Esta página especial recebe texto wiki e expande recursivamente todas as predefinições nele existentes.\nTambém expande funções do analisador sintático, tais como\n<nowiki>{{</nowiki>#language:...}}, e variáveis, como\n<nowiki>{{</nowiki>CURRENTDAY}}.\nNa verdade, expande tudo o que estiver entre chavetas duplas.",
        "expand_templates_title": "Título de contexto para {{FULLPAGENAME}} etc.:",
index f031c36..fe0e5c9 100644 (file)
        "expansion-depth-exceeded-category-desc": "Expansion depth exceeded category description. Shown on [[Special:TrackingCategories]].\n\nSee also:\n* {{msg-mw|Expansion-depth-exceeded-category}}",
        "expansion-depth-exceeded-warning": "Error message shown when a page exceeded the [[meta:Help:Expansion_depth|expansion depth limit]] of the preprocessor.\n\nParameters:\n* $1 - (Unused) the value of the depth limit\n* $2 - (Unused) the value of the max depth limit\nSee also:\n* {{msg-mw|Expansion-depth-exceeded-category}}",
        "parser-unstrip-loop-warning": "{{Doc-important|Do not translate function name <code>unstrip</code>.}}\nThis error is shown when a parser extension tag such as <code><nowiki><pre></nowiki></code> includes a reference to itself in its own output.\n\nThe reference must be to the exact same invocation of the tag at the same location in the source, merely writing <code><nowiki><pre><pre></pre></pre></nowiki></code> will not do it.\n\nThis is usually impossible and unlikely to happen by accident, so translation is not essential.\n\n\"Unstrip\" refers to the internal function of the parser, called \"unstrip\", which recursively puts the output of parser functions in the place of the parser function call and which would enter an infinite loop in the situation above.\n\nSee also:\n*{{msg-mw|Parser-unstrip-recursion-limit}}",
-       "parser-unstrip-recursion-limit": "{{doc-important|Do not translate function name <code>unstrip</code>.}}\nThis message is shown when the recursion limit for nested parser extension tags is exceeded.\n\nThis warning may be encountered due to input text like <code><nowiki><ref><ref><ref>...</ref></ref></ref></nowiki></code>.\n\nParameters:\n* $1 - the depth limit\n\n\"Unstrip\" refers to the internal function of the parser, called 'unstrip', which recursively puts the output of parser functions in the place of the parser function call and which would enter an infinite loop in the situation above.\n\nSee also:\n* {{msg-mw|Parser-unstrip-loop-warning}}",
+       "unstrip-depth-warning": "{{doc-important|Do not translate function name <code>unstrip</code>.}}\nThis message is shown when the recursion limit for nested parser extension tags is exceeded.\n\nThis warning may be encountered due to input text like <code><nowiki><ref><ref><ref>...</ref></ref></ref></nowiki></code>.\n\nParameters:\n* $1 - the depth limit\n\n\"Unstrip\" refers to the internal function of the parser, called 'unstrip', which recursively puts the output of parser functions in the place of the parser function call.\n\nSee also:\n* {{msg-mw|Parser-unstrip-loop-warning}}",
+       "unstrip-depth-category": "This message is used as the category name of a [[mw:Help:Tracking categories|tracking category]] in which pages are placed automatically if the unstrip recursion depth limit is exceeded.",
+       "unstrip-size-warning": "{{doc-important|Do not translate function name <code>unstrip</code>.}}\nThis message is shown when the maximum expansion size for nested parser extension tags is exceeded.\n\nParameters:\n* $1 - the size limit\n\n\"Unstrip\" refers to the internal function of the parser, called 'unstrip', which recursively puts the output of parser functions in the place of the parser function call.\n\nSee also:\n* {{msg-mw|Parser-unstrip-loop-warning}}",
+       "unstrip-size-category": "This message is used as the category name of a [[mw:Help:Tracking categories|tracking category]] in which pages are placed automatically if the unstrip expansion size limit is exceeded.",
        "converter-manual-rule-error": "Used as error message when a manual conversion rule for the [[mw:Language_converter|language converter]] has errors. For example it's not using the correct syntax, or not supplying text in all variants.",
        "undo-success": "Text on special page to confirm edit revert. You arrive on this page by clicking on the \"undo\" link on a revision history special page.\n\n{{Identical|Undo}}",
        "undo-failure": "Message appears if an attempt to revert an edit by clicking the \"undo\" link on the page history fails.\n\nSee also:\n* {{msg-mw|Undo-norev}}\n* {{msg-mw|Undo-nochange}}\n{{Identical|Undo}}",
        "limitreport-expansiondepth-value": "{{optional}}\nFormat for the \"Highest expansion depth\" row in the limit report table.\n\nParameters:\n* $1 - the depth\n* $2 - the maximum",
        "limitreport-expensivefunctioncount": "Label for the \"Expensive parser function count\" row in the limit report table",
        "limitreport-expensivefunctioncount-value": "{{optional}}\nFormat for the \"Expensive parser function count\" row in the limit report table.\n\nParameters:\n* $1 - the usage\n* $2 - the maximum",
+       "limitreport-unstrip-depth": "Label for the \"unstrip depth\" row in the limit report table. \"Unstrip\" is a MediaWiki function name and as such does not need to be translated.",
+       "limitreport-unstrip-depth-value": "{{optional}}\nFormat for the \"unstrip depth\" row in the limit report table.\n\nParameters:\n* $1 - the usage\n* $2 - the maximum",
+       "limitreport-unstrip-size": "Label for the \"unstrip size\" row in the limit report table. \"Unstrip\" is a MediaWiki function name and as such does not need to be translated.",
+       "limitreport-unstrip-size-value": "Format for the \"unstrip size\" row in the limit report table.\n\nParameters:\n* $1 - the usage\n* $2 - the maximum\n{{Identical|Byte}}",
        "expandtemplates": "{{doc-special|ExpandTemplates}}\nThe name of the [[mw:Extension:ExpandTemplates|Expand Templates extension]].",
        "expand_templates_intro": "This is the explanation given in the heading of the [[Special:ExpandTemplates]] page; it describes its functionality to the users.\nFor more information, see [[mw:Extension:ExpandTemplates]]",
        "expand_templates_title": "The label of the input box for the context title on the form displayed at [[Special:ExpandTemplates]] page.",
index 8b3db5d..8a32caf 100644 (file)
        "expansion-depth-exceeded-category": "Nisyu mast'ariy ukhu kaqniyuq p'anqakuna",
        "expansion-depth-exceeded-warning": "P'anqaqa nisyu mast'ariy ukhu kaqniyuqmi",
        "parser-unstrip-loop-warning": "Muyupayaq siqum tarisqa",
-       "parser-unstrip-recursion-limit": "Nisyu kuti muyupayay siqum ($1)",
+       "unstrip-depth-warning": "Nisyu kuti muyupayay siqum ($1)",
        "converter-manual-rule-error": "Maki rimay t'ikrana kamachinapiqa pantasqam tarisqa",
        "undo-success": "Rurasqata kutichiyta atinkim. Manaraq kutichispaykiqa, kay qatiq wakichayta qhawariy rikunaykipaq chiqapta munasqaykichu manallachu, chaymantataq waqaychay kutichinapaq.",
        "undo-failure": "Manam atinichu llamk'apusqata kutichiyta, huk ruraqtaq musuqta llamk'apurquptinñam.",
index b4a9057..e9c2512 100644 (file)
        "expansion-depth-exceeded-category": "Paginas, nua che la porfunditad d'extensiun è surpassada",
        "expansion-depth-exceeded-warning": "Questa pagina ha surpassà la profunditad d'expansiun",
        "parser-unstrip-loop-warning": "Chattà circul d'unstrip",
-       "parser-unstrip-recursion-limit": "Limita da recursiun ($1) per unstrip è surpassà",
+       "unstrip-depth-warning": "Limita da recursiun ($1) per unstrip è surpassà",
        "converter-manual-rule-error": "Ina errur è cumparida en la regla manuala da convertir la lingua",
        "undo-success": "Questa modificaziun na po betg vegnir revocada.\nControlleschan en la vista per cumparegliar sutvart sche quei è quai che ti vuls far e lura memorisescha las midadas sutvart per terminar la modificaziun.",
        "undo-failure": "La modificaziun na pudeva betg vegnir revocada causa modificaziuns pli novas che stattan en conflict cun questa acziun.",
index 784f59d..1cb75ed 100644 (file)
        "expansion-depth-exceeded-category-desc": "Pagina depășește profunzimea maximă de expansiune.",
        "expansion-depth-exceeded-warning": "Pagina depășește profunzimea de expansiune",
        "parser-unstrip-loop-warning": "Buclă nedetașabilă detectată",
-       "parser-unstrip-recursion-limit": "Limita de recursivitate nedetașabilă depășită ($1)",
+       "unstrip-depth-warning": "Limita de recursivitate nedetașabilă depășită ($1)",
        "converter-manual-rule-error": "Eroare detectată în regula manuală de conversie a limbii",
        "undo-success": "Modificarea poate fi anulată. Verificați diferența de dedesubt și apoi salvați pentru a termina anularea modificării.",
        "undo-failure": "Modificarea nu poate fi reversibilă datorită conflictului de modificări intermediare.",
index 03956b5..ed9b33c 100644 (file)
        "expansion-depth-exceeded-category-desc": "'A pàgene sbonne 'a massime espanzione de profonnetà.",
        "expansion-depth-exceeded-warning": "Pàggene ca sbonnane 'a profonnetà de espanzione",
        "parser-unstrip-loop-warning": "Cicle infinite acchiate",
-       "parser-unstrip-recursion-limit": "Limite de ricorsione infinite sbunnate ($1)",
+       "unstrip-depth-warning": "Limite de ricorsione infinite sbunnate ($1)",
        "converter-manual-rule-error": "Errore assute jndr'à le regole de conversione d'a lènghe manuale",
        "undo-success": "'U cangiamende pò essere annullate.\nPe piacere verifichesce 'u combronde sotte pe condrollà ca quiste ca tu vuè ccu face e pò reggistrè le cangiaminde aqquà sotte pe spiccià l'annullamende d'u cangiamende.",
        "undo-failure": "'U cangiamende non ge pò essere annullete purcè stè 'nu conflitte de cangiaminde indermedije.",
index f7a6e44..298952f 100644 (file)
                        "Edible Melon",
                        "Adam-Yourist",
                        "MaksimPinigin",
-                       "Smigles"
+                       "Smigles",
+                       "OlegCinema"
                ]
        },
        "tog-underline": "Подчёркивание ссылок:",
        "expansion-depth-exceeded-category-desc": "У страницы превышена максимально допустимая глубина раскрытия.",
        "expansion-depth-exceeded-warning": "На странице превышен предел вложенности",
        "parser-unstrip-loop-warning": "Обнаружен незакрытый pre",
-       "parser-unstrip-recursion-limit": "Превышен предел рекурсии ($1)",
+       "unstrip-depth-warning": "Превышен предел рекурсии ($1)",
        "converter-manual-rule-error": "Ошибка в ручном правиле преобразования языка",
        "undo-success": "Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.",
        "undo-failure": "Правка не может быть отменена из-за несовместимости промежуточных изменений.",
        "tooltip-pt-mycontris": "Список {{GENDER:|ваших}} правок",
        "tooltip-pt-anoncontribs": "Список правок, сделанных с этого IP-адреса",
        "tooltip-pt-login": "Здесь можно зарегистрироваться в системе, но это необязательно.",
-       "tooltip-pt-login-private": "Вам нужно войти, чтоб использовать эту вики",
+       "tooltip-pt-login-private": "Вам нужно войти, чтобы использовать эту вики",
        "tooltip-pt-logout": "Завершить сеанс работы",
        "tooltip-pt-createaccount": "Мы предлагаем вам создать учётную запись и войти в систему, хотя это и не обязательно.",
        "tooltip-ca-talk": "Обсуждение основной страницы",
        "watchlistedit-clear-titles": "Заголовки:",
        "watchlistedit-clear-submit": "Очистить список наблюдения (это необратимо!)",
        "watchlistedit-clear-done": "Ваш список наблюдения очищен.",
-       "watchlistedit-clear-jobqueue": "Ваш список наблюдения очищается. Это может занять некоторое время!",
+       "watchlistedit-clear-jobqueue": "Ваш список наблюдения очищается. Это может занять некоторое время.",
        "watchlistedit-clear-removed": "{{PLURAL:$1|Была удалена|Были удалены|Было удалено}} $1 {{PLURAL:$1|запись|записи|записей}}:",
        "watchlistedit-too-many": "Слишком много страниц для того, чтобы показать их здесь.",
        "watchlisttools-clear": "Очистить список наблюдения",
        "tag-mw-changed-redirect-target": "изменение цели перенаправления",
        "tag-mw-changed-redirect-target-description": "Правки, которые изменяют цель перенаправления",
        "tag-mw-blank": "очистка",
-       "tag-mw-blank-description": "Ð\9fÑ\80авки, ÐºÐ¾Ñ\82оÑ\80Ñ\8bе Ð¾Ñ\87иÑ\89аÑ\8eÑ\82 страницу",
+       "tag-mw-blank-description": "Ð\9fÑ\80авки, Ð¾Ñ\87иÑ\89аÑ\8eÑ\89ие Ñ\8dÑ\82Ñ\83 страницу",
        "tag-mw-replace": "заменено",
        "tag-mw-replace-description": "Правки, которые удаляют более 90 % содержимого страницы",
        "tag-mw-rollback": "откат",
index 54bf4fc..d51f9ee 100644 (file)
        "expansion-depth-exceeded-category": "Сторінкы превышують глубку експанзії",
        "expansion-depth-exceeded-warning": "Сторінка перевышыла глубку експанзії",
        "parser-unstrip-loop-warning": "Выявлене заціклїня unstrip",
-       "parser-unstrip-recursion-limit": "Перевышеный ліміт рекурзії unstrip ($1)",
+       "unstrip-depth-warning": "Перевышеный ліміт рекурзії unstrip ($1)",
        "converter-manual-rule-error": "Найджена хыба в ручнім правилї конверзії языка",
        "undo-success": "Едітованя може быти зрушене.\nПросиме Вас перевірьте порівнаня ниже, жебы сьте ся упевнили в тім, што хочете зробити а потім уложте зміны долов, жебы сьте закінчіли зрушіня едітованя.",
        "undo-failure": "Едітованя не могло быти зрушене про конфлікт міджілеглых змін.",
index c2805b2..0189324 100644 (file)
        "expansion-depth-exceeded-category-desc": "एतत् पृष्ठं विस्तारस्य सीमाम् अत्यक्रमत् ।",
        "expansion-depth-exceeded-warning": "पृष्ठेऽस्मिन् विस्तारसीमा समाप्ता",
        "parser-unstrip-loop-warning": "Unstrip परिक्रमः (loop) प्राप्तः",
-       "parser-unstrip-recursion-limit": "Unstrip इत्यस्य प्रत्यावर्तनस्य (recursion) सीमा समाप्ता ($1)",
+       "unstrip-depth-warning": "Unstrip इत्यस्य प्रत्यावर्तनस्य (recursion) सीमा समाप्ता ($1)",
        "converter-manual-rule-error": "मानवीये भाषापरिवर्तने दोषः दृष्टः ।",
        "undo-success": "एतत् सम्पादनं पूर्ववत् कर्तुं शक्यते ।\nकृपया अधः दत्तयोः तुलनां कृत्वा यत् आवश्यकं, तत् परिवर्तनं संरक्षतु च । ततः पूर्ववत्-करणप्रक्रिया समाप्यताम् ।",
        "undo-failure": "सम्पादनं पूर्ववत् कर्तुं न शक्यते । यतः मध्ये परस्परविपरितानि सम्पादनानि अभवन् ।",
index 2af5131..d94dbef 100644 (file)
        "expansion-depth-exceeded-category-desc": "Сирэй аһыллыытын дириҥэ куоһарыллыбыт.",
        "expansion-depth-exceeded-warning": "Сирэйгэ угуллубут билэлэр аһара элбээбиттэр",
        "parser-unstrip-loop-warning": "Сабыллыбатах pre көһүннэ",
-       "parser-unstrip-recursion-limit": "Рекурсия ахсаана таһынан барбыт ($1)",
+       "unstrip-depth-warning": "Рекурсия ахсаана таһынан барбыт ($1)",
        "converter-manual-rule-error": "Тылы уларытыы быраабылатын алҕаһа таҕыста",
        "undo-success": "Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.",
        "undo-failure": "Уларытыы төннөр кыаҕа суох. Ыккардынааҕы көннөрүүлэр бэйэ бэйэлэригэр сөп түбэспэттэр.",
index 02fa5be..0e60c0f 100644 (file)
        "expansion-depth-exceeded-category-desc": "La pàggina passa lu funnu d'espanzioni màssimu.",
        "expansion-depth-exceeded-warning": "Sta pàggina passau lu funnu d'espanzioni màssimu",
        "parser-unstrip-loop-warning": "Rilivatu un cìrculu di Unstrip",
-       "parser-unstrip-recursion-limit": "Passatu lu lìmiti di ricursioni di Unstrip ($1)",
+       "unstrip-depth-warning": "Passatu lu lìmiti di ricursioni di Unstrip ($1)",
        "converter-manual-rule-error": "Rilivatu n'erruri nta na règula manuali di cunvirsioni di lingua",
        "undo-success": "Lu canciamentu pò essiri annullatu.\nVirificati lu paraguni ccà sutta p'accuràrivi ca lu cuntinutu è chiddu addisiatu e doppu sarvati la pàggina pi cumplitari l'annullamentu.",
        "undo-failure": "Lu canciamentu nun pò èssiri annullatu a càusa d'un cunflittu cu li canciamenti ntirmedi.",
index cd442a3..0b5cd26 100644 (file)
        "expansion-depth-exceeded-category-desc": "The page exceeds the mucklest expansion depth.",
        "expansion-depth-exceeded-warning": "Page owershote the expansion depth",
        "parser-unstrip-loop-warning": "Unstrip luip detected",
-       "parser-unstrip-recursion-limit": "Unstrip recursion limit owershote ($1)",
+       "unstrip-depth-warning": "Unstrip recursion limit owershote ($1)",
        "converter-manual-rule-error": "mistak detected in manual leid conversion rule",
        "undo-success": "The eidit can be ondun. Please check the chynges albo tae check that this is whit ye wint tae dae, n than hain the chynges albo tae be duin ondaein the eidit.",
        "undo-failure": "The eedit coudna be ondun cause o confleectin eedits inatween.",
index 6b0dc67..a8c01a6 100644 (file)
@@ -7,7 +7,8 @@
                        "Sindhu",
                        "Mehtab ahmed",
                        "Macofe",
-                       "Indus Asia"
+                       "Indus Asia",
+                       "BukhariSaeed"
                ]
        },
        "tog-underline": "ڳنڍڻي هيٺان لڪير:",
        "table_pager_limit_submit": "ھلو",
        "table_pager_empty": "ڪو بہ نتيجو نہ مليو",
        "autoredircomment": "صفحي کي [[$1]] ڏانھن چوريو",
+       "autosumm-newblank": "خالي صفحو تخليق ڪيو",
        "watchlistedit-normal-title": "نظر ۾ فھرست کي سنواريو",
        "watchlistedit-raw-titles": "عنوانَ:",
        "watchlistedit-clear-titles": "عنوانَ:",
index de801f4..26e086b 100644 (file)
        "expansion-depth-exceeded-category-desc": "Moɲoo ga hayandiri guusuyan kul ibeeroo hoo.",
        "expansion-depth-exceeded-warning": "Moɲoo ga hayandiri guusuyanoo hoo",
        "parser-unstrip-loop-warning": "Feferiyan-naŋ zollo maatandi",
-       "parser-unstrip-recursion-limit": "Feferiyan-filla dimmaa hoo ($1)",
+       "unstrip-depth-warning": "Feferiyan-filla dimmaa hoo ($1)",
        "converter-manual-rule-error": "Firka bangay kanbe šenni bereyan ašariyaa ra",
        "undo-success": "Fasalyan ga hin ka borrandi.\nGuna ganda deedandiyanoo ka tabatandi kaŋ woo no war ga boona k'a tee, nda waati din wa ganda barmawey gaabu ka fasalyan borroyanoo benandi.",
        "undo-failure": "Barmaa ši hin ka taafeeri zama game barmay fooyaŋ ga cere hoo.",
index a9f8716..abef360 100644 (file)
        "expansion-depth-exceeded-category-desc": "Stranica je prešla najveću dubinu proširenja.",
        "expansion-depth-exceeded-warning": "Na ovoj stranici dubina proširenja je prevelika",
        "parser-unstrip-loop-warning": "Utvrđena je petlja",
-       "parser-unstrip-recursion-limit": "Dosegnuto je ograničenje rekurzije ($1)",
+       "unstrip-depth-warning": "Dosegnuto je ograničenje rekurzije ($1)",
        "converter-manual-rule-error": "Pronađena je greška u pravilu za ručno pretvaranje jezika",
        "undo-success": "Izmjena se može vratiti.\nMolimo da provjerite usporedbu ispod da budete sigurni da to želite učiniti, a zatim spremite promjene da bi ste završili vraćanje izmjene.",
        "undo-failure": "Izmjene se ne mogu vratiti zbog konflikta sa izmjenama u međuvremenu.",
index 41c87d4..6a45f15 100644 (file)
        "expansion-depth-exceeded-category-desc": "මෙම පිටුව උපරිම පුළුල් ගැඹුරු ඉක්මවා යයි.",
        "expansion-depth-exceeded-warning": "පිටුව පුළුල් ගැඹුරු ඉක්මවා",
        "parser-unstrip-loop-warning": "Unstrip ලූප අනාවරණය",
-       "parser-unstrip-recursion-limit": "Unstrip සහානුයාත සීමාව ($1) ඉක්මවා",
+       "unstrip-depth-warning": "Unstrip සහානුයාත සීමාව ($1) ඉක්මවා",
        "converter-manual-rule-error": "අත්පොත භාෂා පරිවර්තනය පාලනය අනාවරණය දෝෂ",
        "undo-success": "මෙම සංස්කරණය අහෝසි කල හැක.\nපහත දක්වා ඇති සැසැඳුම පරික්ෂා කර බලා ඔබගේ අභිලාෂය මෙයමැයි තහවුරු කොට ගෙන, සංස්කරණය අහෝසිකිරීම සඳහා පහත දැක්වෙන වෙනස්වීම් සුරකින්න.",
        "undo-failure": "පරස්පර විරෝධී අතරමැදි සංස්කරණ හේතුවෙන් මෙම සංස්කරණය අහෝසි කල නොහැක.",
index be54581..7d4b500 100644 (file)
        "expansion-depth-exceeded-category-desc": "Stránka prekročila maximálnu hĺbku expanzie.",
        "expansion-depth-exceeded-warning": "Stránka prekročila povolenú hĺbku expanzie",
        "parser-unstrip-loop-warning": "Zistené zacyklenie volania rozširovacej značky",
-       "parser-unstrip-recursion-limit": "Prektočený limit rekurzie volania rozširovacej značky ($1)",
+       "unstrip-depth-warning": "Prektočený limit rekurzie volania rozširovacej značky ($1)",
        "converter-manual-rule-error": "Bola zistená chyba v pravidle manuálnej konverzie jazyka",
        "undo-success": "Úpravu je možné vrátiť.\nProsím, skontrolujte tento rozdiel, čím overíte, že táto úprava je tá, ktorú chcete. Následne uložte zmeny, čím ukončíte vrátenie.",
        "undo-failure": "Úpravu nie je možné vrátiť kvôli konfliktným medziľahlým úpravám.",
index 5c7b60f..117ded9 100644 (file)
        "expansion-depth-exceeded-category-desc": "Stran presega največjo globino razširitve.",
        "expansion-depth-exceeded-warning": "Stran je prekoračila globino razširitve",
        "parser-unstrip-loop-warning": "Zaznal sem odvezano zanko",
-       "parser-unstrip-recursion-limit": "Presežena je omejitev odvezane rekurzije ($1)",
+       "unstrip-depth-warning": "Presežena je omejitev odvezane rekurzije ($1)",
        "converter-manual-rule-error": "Odkril sem napako v ročnem pravilu pretvorbe jezikov",
        "undo-success": "Urejanje ste razveljavili. Prosimo, preverite prikazano primerjavo redakcij in, če ustrezajo, shranite spremembe.",
        "undo-failure": "Zaradi navzkrižij urejanj, ki so se vmes pojavila, tega urejanja ni moč razveljaviti.",
index c148b64..8fdfa58 100644 (file)
        "recentchanges-legend-heading": "<strong>Legjenda:</strong>",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (shiko gjithashtu [[Special:NewPages|listën e faqeve të reja]])",
        "recentchanges-submit": "Shfaq",
+       "rcfilters-tag-remove": "Hiq '$1'",
+       "rcfilters-legend-heading": "<strong>Lista e shkurtesave:</strong>",
+       "rcfilters-other-review-tools": "Veglat tjera të rishikimit",
+       "rcfilters-group-results-by-page": "Grupo rezultatet sipas faqës",
        "rcfilters-activefilters": "Filtrat aktiv",
        "rcfilters-advancedfilters": "Filtra të avancuar",
+       "rcfilters-limit-title": "Rezultatet për të treguar",
+       "rcfilters-limit-and-date-label": "$1 {{PLURAL:$1|ndryshimi|ndryshimet}}, $2",
+       "rcfilters-date-popup-title": "Periudha kohore për ta kërkuar",
+       "rcfilters-days-title": "Ditët e fundit",
+       "rcfilters-hours-title": "Orët e fundit",
+       "rcfilters-days-show-days": "$1 {{PLURAL:$1|dit|ditë}}",
+       "rcfilters-days-show-hours": "$1 {{PLURAL:$1|orë|orë}}",
+       "rcfilters-highlighted-filters-list": "Theksuar: $1",
        "rcfilters-quickfilters": "Filtrat e ruajtur",
-       "rcfilters-quickfilters-placeholder-title": "Asnjë lidhje e ruajtur",
+       "rcfilters-quickfilters-placeholder-title": "Asnjë filtër i ruajtur",
        "rcfilters-savedqueries-defaultlabel": "Filtrat e ruajtur",
        "rcfilters-savedqueries-rename": "Riemro",
        "rcfilters-savedqueries-setdefault": "Vendosur si parazgjedhje",
        "rcfilters-savedqueries-unsetdefault": "Hiqe si parazgjedhje",
        "rcfilters-savedqueries-remove": "Largo",
        "rcfilters-savedqueries-new-name-label": "Emri",
+       "rcfilters-savedqueries-new-name-placeholder": "Shpjego qëllimin e filtrit",
        "rcfilters-savedqueries-apply-label": "Krijo filtër",
+       "rcfilters-savedqueries-apply-and-setdefault-label": "Krijo filtrin e parazgjedhur",
        "rcfilters-savedqueries-cancel-label": "Anulo",
        "rcfilters-savedqueries-add-new-title": "Ruaj rregullimet e tanishme të filtrit",
+       "rcfilters-savedqueries-already-saved": "Këta filtër veç janë ruajtur. Ndrysho konfigurimet për të krijuar një Filtër të Ruajtur.",
        "rcfilters-restore-default-filters": "Kthej filtrat e parazgjedhur",
        "rcfilters-clear-all-filters": "Pastro të gjithë filtrat",
-       "rcfilters-search-placeholder": "Filtro ndryshimet e fundit (shfleto ose fillo të shtypësh)",
+       "rcfilters-show-new-changes": "Shih ndryshimet e fundit",
+       "rcfilters-search-placeholder": "Filtro ndryshimet (përdor menynë ose emrin e filtrit)",
        "rcfilters-invalid-filter": "Filtër jo i vlefshëm",
        "rcfilters-empty-filter": "S'ka filtra aktiv. Tregohen të gjitha kontributet.",
        "rcfilters-filterlist-title": "Filtrat",
        "rcfilters-filter-user-experience-level-newcomer-label": "Të rinjtë",
        "rcfilters-filter-user-experience-level-newcomer-description": "Më pak se 10 redaktime dhe 4 ditë aktivitet.",
        "rcfilters-filter-user-experience-level-learner-label": "Nxënës",
+       "rcfilters-filter-user-experience-level-learner-description": "Redaktorët e regjistruar përvoja e të cilëve bie në mes \"Të rinjve dhe \"Përdoruesve me përvojë.\"",
        "rcfilters-filter-user-experience-level-experienced-label": "Përdorues me përvojë",
-       "rcfilters-filter-user-experience-level-experienced-description": "Më shumë se 30 ditë aktivitete dhe 500 editime.",
+       "rcfilters-filter-user-experience-level-experienced-description": "Redaktorët e regjistruar me më shumë se 500 redaktiv dhe 30 ditë aktivitet.",
        "rcfilters-filtergroup-automated": "Kontribute automatike",
        "rcfilters-filter-bots-label": "Bot",
        "rcfilters-filter-bots-description": "Redaktime të bëra nga vegla automatike.",
        "rcfilters-filter-watchlist-watchednew-description": "Ndryshimet në faqet e Mbikëqyrura që nuk keni vizituar që nga ndodhja e ndryshimeve.",
        "rcfilters-filter-watchlist-notwatched-label": "Jo në Listën e Mbikëqyrjes",
        "rcfilters-filter-watchlist-notwatched-description": "Çdo gjë përveç ndryshimeve në faqet në Listën e Mbikëqyrjes.",
+       "rcfilters-filtergroup-watchlistactivity": "Aktiviteti i listës së mbikqyrjes",
+       "rcfilters-filter-watchlistactivity-unseen-label": "Ndryshimet e papara",
+       "rcfilters-filter-watchlistactivity-unseen-description": "Ndryshimet në faqet që nuk i keni vizituar që nga ndodhja e ndryshimeve.",
+       "rcfilters-filter-watchlistactivity-seen-label": "Ndryshimet e para",
+       "rcfilters-filter-watchlistactivity-seen-description": "Ndryshimet në faqet që keni vizituar që nga ndodhja e ndryshimeve.",
        "rcfilters-filtergroup-changetype": "Lloji i ndryshimit",
        "rcfilters-filter-pageedits-label": "Redaktimet e faqes",
        "rcfilters-filter-pageedits-description": "Redaktimet e përmbajtjes wiki, diskutimeve, përshkrimit të kategorive...",
        "rcfilters-filter-lastrevision-label": "Versioni më i fundit",
        "rcfilters-filter-lastrevision-description": "Vetëm dryshimet më të fundit në një faqe.",
        "rcfilters-filter-previousrevision-label": "Jo rishimet e fundit",
-       "rcfilters-filter-previousrevision-description": "Të gjitha ndryshimet që nuk janë ndryshimet më të fundit në një faqe.",
+       "rcfilters-filter-previousrevision-description": "Të gjitha ndryshimet që nuk janë \"ndryshimet më të fundit\".",
        "rcfilters-filter-excluded": "Përjashtuar",
        "rcfilters-tag-prefix-namespace-inverted": "<strong>:jo</strong> $1",
+       "rcfilters-exclude-button-off": "Përjashto të zgjedhurat",
+       "rcfilters-exclude-button-on": "Po përjashtohen të zgjedhurat",
        "rcfilters-view-tags": "Redaktimet e etiketuara",
        "rcfilters-view-namespaces-tooltip": "Filtro rezultatet sipas hapësirës",
        "rcfilters-view-tags-tooltip": "Filtro rezultatet duke përdorur etiketat e redaktimit",
        "rcfilters-view-return-to-default-tooltip": "Kthehu te menyja kryesore e filtrave",
+       "rcfilters-view-tags-help-icon-tooltip": "Mëso më shumë për redaktimet me etiketë",
        "rcfilters-liveupdates-button": "Freskimet drejtpërdrejtë",
+       "rcfilters-liveupdates-button-title-on": "Ndal freskimet live",
+       "rcfilters-liveupdates-button-title-off": "Shfaq ndryshimet e fundit duke ndodhur",
+       "rcfilters-watchlist-markseen-button": "Shenjo të gjitha ndryshimet si të para",
+       "rcfilters-watchlist-edit-watchlist-button": "Redakto listën tuaj të faqeve të mbikëqyrura",
+       "rcfilters-preference-label": "Fshih versionin e përmirësuar të Ndryshimeve të Fundit",
+       "rcfilters-target-page-placeholder": "Shto një emër faqeje (ose kategorie)",
        "rcnotefrom": "Më poshtë {{PLURAL:$5|është shfaqur ndryshimi|janë shfaqur ndryshimet}} që nga <strong>$3, $4</strong> (deri në <strong>$1</strong>).",
        "rclistfromreset": "Anulo përzgjedhjen e datës",
        "rclistfrom": "Tregon ndryshime së fundmi duke filluar nga $3 $2",
        "uploadstash-badtoken": "Kryerja e këtij veprimi ishte e pasuksesshme, ndoshta sepse kredencialet e tua redaktuese kanë skaduar. Provoni përsëri.",
        "uploadstash-errclear": "Spastrimi i skedave ishte i pasuksesshëm.",
        "uploadstash-refresh": "Rifreskoni listën e skedave",
+       "uploadstash-bad-path": "Shtegu nuk ekziston.",
+       "uploadstash-bad-path-invalid": "Shtegu nuk është në rregull.",
+       "uploadstash-bad-path-unknown-type": "Veprim i panjohur \"$1\".",
+       "uploadstash-zero-length": "Skedari ka madhësinë zero.",
        "invalid-chunk-offset": "Kompensim cope i pavlefshëm",
        "img-auth-accessdenied": "Refuzohet hyrja",
        "img-auth-nopathinfo": "Mungon PATH_INFO.\nShërbyesi juaj nuk e kalon këtë informacion.\nMund të jetë CGI-bazuar dhe nuk mund të mbështesë img_auth.\nShiko https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization.",
        "listfiles-delete": "fshije",
        "listfiles-summary": "Kjo faqe e veçantë tregon tërë skedat e ngarkuara.",
        "listfiles_search_for": "Kërko për emrin e figurës:",
+       "listfiles-userdoesnotexist": "Llogaria e përdoruesit \"$1\" nuk është e regjistruar.",
        "imgfile": "skeda",
        "listfiles": "Lista e figurave",
        "listfiles_thumb": "Parapamje",
        "listfiles_size": "Madhësia (bytes)",
        "listfiles_description": "Përshkrimi",
        "listfiles_count": "Versionet",
+       "listfiles-show-all": "Përfshijë versionet e fundit të skedarëve",
        "listfiles-latestversion": "Versioni aktual",
        "listfiles-latestversion-yes": "Po",
        "listfiles-latestversion-no": "Jo",
        "activeusers-intro": "Kjo është një listë e përdoruesve që kanë qenë aktivë për $1 {{PLURAL:$1|ditë|ditë}}.",
        "activeusers-count": "$1 {{PLURAL:$1|veprim|veprime}} në {{PLURAL:$3|ditën|$3 ditët}} e fundit",
        "activeusers-from": "Trego përdoruesit duke filluar prej te:",
+       "activeusers-groups": "Shfaq përdoruesit që u përkasin grupeve:",
+       "activeusers-excludegroups": "Përjashto përdoruesit që u përkasin grupeve:",
        "activeusers-noresult": "Asnjë përdorues nuk u gjet.",
        "activeusers-submit": "Shfaq përdoruesit aktiv",
        "listgrouprights": "Grupime përdoruesish me privilegje",
        "trackingcategories-name": "Emri i porosisë",
        "trackingcategories-desc": "Kriteret për përfshirje në kategori",
        "restricted-displaytitle-ignored": "Faqet me tituj të shfaqur të injoruar",
+       "trackingcategories-nodesc": "Nuk ka përshkrim.",
        "trackingcategories-disabled": "Kategoria është pamundësuar",
        "mailnologin": "S'ka adresë dërgimi",
        "mailnologintext": "Duhet të keni [[Special:UserLogin|hyrë brenda]] dhe të keni një adresë të saktë në [[Special:Preferences|parapëlqimet]] tuaja për tu dërguar email përdoruesve të tjerë.",
        "ipb_blocked_as_range": "Gabim: Adresa IP $1 nuk është bllokuar direkt dhe nuk mund të zhbllokohet.\nAjo është, megjithatë, e bllokuar si pjesë e rangut $2, që nuk mund të zhbllokohet.",
        "ip_range_invalid": "Shtrirje IP gabim.",
        "ip_range_toolarge": "Radhitja e bllokimeve më të mëdha se /$1 nuk lejohet.",
+       "ip_range_toolow": "Vargjet e IP efektivisht nuk lejohen.",
        "proxyblocker": "Bllokuesi i ndërmjetëseve",
        "proxyblockreason": "IP adresa juaj është bllokuar sepse është një ndërmjetëse e hapur. Ju lutem lidhuni me kompaninë e shërbimeve të Internetit që përdorni dhe i informoni për këtë problem sigurije.",
        "sorbsreason": "Adresa IP e juaj është radhitur si ndërmjetëse e hapur tek lista DNSBL.",
        "tag-filter-submit": "Filtër",
        "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|Etiketa|Etiketat}}]]: $2)",
        "tag-mw-contentmodelchange": "ndryshimi i modelit të përmbajtjes",
+       "tag-mw-new-redirect": "Ridrejtim i ri",
+       "tag-mw-new-redirect-description": "Ndryshimet që krijojnë një ridrejtim të ri ose ndryshojnë faqen në ridrejtim",
+       "tag-mw-removed-redirect": "Hoqi ridrejtimin",
+       "tag-mw-changed-redirect-target": "Caku i ridrejtimit i ndryshuar",
+       "tag-mw-changed-redirect-target-description": "Redaktimet që kanë ndryshuar cakun e një ridrejtimi",
+       "tag-mw-blank": "Duke zbrazur",
+       "tag-mw-blank-description": "Redaktimet që zbrazin një faqe",
+       "tag-mw-replace": "Zëvendësuar",
        "tags-title": "Etiketat",
        "tags-intro": "Kjo faqe liston etiketat që softueri mund t'i shënojë me një redaktim, dhe kuptimin e tyre.",
        "tags-tag": "Emri i etiketës",
index dec30a1..fabbea3 100644 (file)
        "tog-norollbackdiff": "Не приказуј разлику након извршеног враћања",
        "tog-useeditwarning": "Упозори ме када напуштам страницу са несачуваним изменама",
        "tog-prefershttps": "Увек користи сигурну везу док сам пријављен.",
-       "underline-always": "Увек",
-       "underline-never": "Ð\9dикад",
-       "underline-default": "Ð\9fрема теми или прегледачу",
+       "underline-always": "увек",
+       "underline-never": "никад",
+       "underline-default": "према теми или прегледачу",
        "editfont-style": "Стил фонта у оквиру за уређивање:",
-       "editfont-monospace": "Сразмерно широк фонт",
-       "editfont-sansserif": "Ð\91есерифни фонт",
-       "editfont-serif": "Серифни фонт",
+       "editfont-monospace": "сразмерно широк фонт",
+       "editfont-sansserif": "бесерифни фонт",
+       "editfont-serif": "серифни фонт",
        "sunday": "недеља",
        "monday": "понедељак",
        "tuesday": "уторак",
        "toc": "Садржај",
        "showtoc": "прикажи",
        "hidetoc": "сакриј",
-       "collapsible-collapse": "СкÑ\83пи",
-       "collapsible-expand": "Ð\9fÑ\80оÑ\88иÑ\80и",
+       "collapsible-collapse": "СакÑ\80иÑ\98",
+       "collapsible-expand": "Ð\9fÑ\80икажи",
        "confirmable-confirm": "Да ли {{GENDER:$1|сте}} сигурни?",
        "confirmable-yes": "Да",
        "confirmable-no": "Не",
        "throttled-mailpassword": "Порука за промену лозинке је послата у {{PLURAL:$1|1=последњих сат времена|последња $1 сата|последњих $1 сати}}.\nДа бисмо спречили злоупотребу, подсетник шаљемо само једном у року од {{PLURAL:$1|1=сат времена|$1 сата|$1 сати}}.",
        "mailerror": "Грешка при слању поруке: $1",
        "acct_creation_throttle_hit": "Посетиоци овог викија који користе вашу IP адресу су већ отворили {{PLURAL:$1|1=један налог|$1 налога}} претходни $2, што је највећи дозвољени број у том временском периоду.\nЗбог тога посетиоци с ове IP адресе тренутно не могу отворити више налога.",
-       "emailauthenticated": "Ваша имејл адреса је потврђена $2 у $3.",
+       "emailauthenticated": "Ваша имејл адреса је потврђена на дан $2 у $3.",
        "emailnotauthenticated": "Ваша имејл адреса још увек није потврђена.\nИмејл неће бити послат ни у једном од следећих случајева.",
        "noemailprefs": "Унесите имејл адресу како би ове могућности радиле.",
        "emailconfirmlink": "Потврдите своју имејл адресу",
        "expansion-depth-exceeded-category-desc": "Страница је прекорачила највећу дубину проширења.",
        "expansion-depth-exceeded-warning": "Страница у којој је прекорачена дубина проширења",
        "parser-unstrip-loop-warning": "Утврђена је петља",
-       "parser-unstrip-recursion-limit": "Прекорачено је ограничење рекурзије ($1)",
+       "unstrip-depth-warning": "Прекорачено је ограничење рекурзије ($1)",
        "converter-manual-rule-error": "Пронађена је грешка у правилу за ручно претварање језика",
        "undo-success": "Измена се може поништити.\nПроверите разлике испод, па сачувајте измене.",
        "undo-failure": "Ова измена се не може поништити због сукоба измена.",
        "prefs-edits": "Број измена:",
        "prefsnologintext2": "Морате бити пријављени да бисте мењали своја подешавања.",
        "prefs-skin": "Тема",
-       "skin-preview": "Ð\9fрегледај",
+       "skin-preview": "прегледај",
        "datedefault": "Свеједно",
        "prefs-labs": "Пробне могућности",
        "prefs-user-pages": "Корисничке странице",
        "prefs-watchlist": "Списак надгледања",
        "prefs-editwatchlist": "Уређивање списка надгледања",
        "prefs-editwatchlist-label": "Уређивање списка:",
-       "prefs-editwatchlist-edit": "Уреди списак",
-       "prefs-editwatchlist-raw": "Уреди сиров списак",
-       "prefs-editwatchlist-clear": "Ð\98спразни списак",
+       "prefs-editwatchlist-edit": "уреди списак",
+       "prefs-editwatchlist-raw": "уреди сиров списак",
+       "prefs-editwatchlist-clear": "испразни списак",
        "prefs-watchlist-days": "Број дана у списку надгледања:",
        "prefs-watchlist-days-max": "Највише $1 {{PLURAL:$1|дан|дана|дана}}",
        "prefs-watchlist-edits": "Највећи број измена приказаних на списку надгледања:",
        "prefs-watchlist-edits-max": "Највећа вредност је хиљаду",
        "prefs-watchlist-token": "Жетон списка надгледања:",
        "prefs-misc": "Друга подешавања",
-       "prefs-resetpass": "Ð\9fромени лозинку",
-       "prefs-changeemail": "Ð\9fромени или уклони имејл адресу",
+       "prefs-resetpass": "промени лозинку",
+       "prefs-changeemail": "промени или уклони имејл адресу",
        "prefs-setemail": "Постави имејл адресу",
        "prefs-email": "Подешавања имејла",
        "prefs-rendering": "Изглед",
        "searchresultshead": "Претрага",
        "stub-threshold": "Праг за обликовање везе као клице ($1):",
        "stub-threshold-sample-link": "пример",
-       "stub-threshold-disabled": "Ð\9eнемогућено",
+       "stub-threshold-disabled": "онемогућено",
        "recentchangesdays": "Број дана у скорашњим изменама:",
        "recentchangesdays-max": "Највише $1 {{PLURAL:$1|дан|дана}}",
        "recentchangescount": "Број измена за приказ:",
        "timezoneregion-pacific": "Тихи океан",
        "allowemail": "Омогући примање имејлова од других корисника",
        "email-allow-new-users-label": "Омогући примање имејлова од новајлија",
-       "email-blacklist-label": "Ð\9eнемогÑ\83Ñ\9bи следећим корисницима да ми шаљу имејлове:",
+       "email-blacklist-label": "Ð\97абÑ\80ани следећим корисницима да ми шаљу имејлове:",
        "prefs-searchoptions": "Претрага",
        "prefs-namespaces": "Именски простори",
        "default": "подразумевана",
        "prefs-files": "Датотеке",
-       "prefs-custom-css": "Ð\9fрилагођени CSS",
-       "prefs-custom-js": "Ð\9fÑ\80илагоÑ\92ени Ñ\98аваскрипт",
+       "prefs-custom-css": "прилагођени CSS",
+       "prefs-custom-js": "пÑ\80илагоÑ\92ени Ð\88аваскрипт",
        "prefs-common-config": "Дељени CSS/Јаваскрипт за све теме:",
        "prefs-reset-intro": "Можете користити ову страницу да поништите своја подешавања на подразумеване вредности.\nОва радња се не може вратити.",
        "prefs-emailconfirm-label": "Потврда имејла:",
        "yourvariant": "Варијанта језика:",
        "prefs-help-variant": "Жељена варијанта или правопис за приказ страница са садржајем овог викија.",
        "yournick": "Нови потпис:",
-       "prefs-help-signature": "Ð\9aоменÑ\82аÑ\80е Ð½Ð° Ñ\81Ñ\82Ñ\80аниÑ\86ама Ð·Ð° Ñ\80азговоÑ\80 Ð¿Ð¾Ñ\82пиÑ\81Ñ\83Ñ\98Ñ\82е Ñ\81а Ñ\87еÑ\82иÑ\80и Ñ\82илде: <nowiki>~~~~</nowiki>. Ð\9eваÑ\98 Ð²Ð¸ÐºÐ¸Ñ\82екÑ\81Ñ\82 Ñ\9bе Ð±Ð¸Ñ\82и Ð¿Ñ\80еÑ\82воÑ\80ен Ñ\83 Ð\92аÑ\88 Ð¿Ð¾Ñ\82пиÑ\81 Ð¸ Ñ\82Ñ\80енÑ\83Ñ\82но време.",
+       "prefs-help-signature": "Ð\9aоменÑ\82аÑ\80и Ð½Ð° Ñ\81Ñ\82Ñ\80аниÑ\86ама Ð·Ð° Ñ\80азговоÑ\80 Ð±Ð¸ Ñ\82Ñ\80ебали Ð±Ð¸Ñ\82и Ð¿Ð¾Ñ\82пиÑ\81ани Ñ\81 â\80\9e<nowiki>~~~~</nowiki>â\80\9c Ñ\88Ñ\82о Ñ\9bе Ð±Ð¸Ñ\82и Ð¿Ñ\80еÑ\82воÑ\80ено Ñ\83 Ð\92аÑ\88 Ð¿Ð¾Ñ\82пиÑ\81 Ð¸ време.",
        "badsig": "Потпис је неисправан.\nПроверите ознаке HTML.",
        "badsiglength": "Ваш потпис је предугачак.\nНе сме бити дужи од $1 {{PLURAL:$1|знака|знака|знакова}}.",
        "yourgender": "Како желите да се представите?",
        "recentchanges-noresult": "Нема измена у задатом периоду који одговарају овим критеријумима.",
        "recentchanges-notargetpage": "Унесите назив странице како бисте видели сродне измене.",
        "recentchanges-feed-description": "Пратите скорашње измене уз помоћ овог довода.",
-       "recentchanges-label-newpage": "Ð\9eвом Ð¸Ð·Ð¼ÐµÐ½Ð¾Ð¼ Ð½Ð°Ð¿Ñ\80авÑ\99ена Ñ\98е Ð½ова страница",
-       "recentchanges-label-minor": "Ð\9eво Ñ\98е Ð¼ања измена",
-       "recentchanges-label-bot": "Ð\9eвÑ\83 Ð¸Ð·Ð¼ÐµÐ½Ñ\83 Ñ\98е Ð½Ð°Ð¿Ñ\80авио Ð±Ð¾Ñ\82",
-       "recentchanges-label-unpatrolled": "Ð\9eва Ð¸Ð·Ð¼ÐµÐ½Ð° Ñ\98оÑ\88 Ð½Ð¸Ñ\98е Ð¿Ð°Ñ\82Ñ\80олиÑ\80ана",
+       "recentchanges-label-newpage": "Ð\9dова страница",
+       "recentchanges-label-minor": "Ð\9cања измена",
+       "recentchanges-label-bot": "Ð\91оÑ\82овÑ\81ка Ð¸Ð·Ð¼ÐµÐ½Ð°",
+       "recentchanges-label-unpatrolled": "Ð\9dепаÑ\82Ñ\80олиÑ\80ана Ð¸Ð·Ð¼Ðµна",
        "recentchanges-label-plusminus": "Промена величине странице у бајтовима",
        "recentchanges-legend-heading": "<strong>Легенда:</strong>",
-       "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} ([[Special:NewPages|списак нових страница]])",
+       "recentchanges-legend-newpage": "Овом изменом је направљена нова страница ([[Special:NewPages|списак нових страница]])",
        "recentchanges-submit": "Прикажи",
        "rcfilters-tag-remove": "Обриши $1",
        "rcfilters-legend-heading": "<strong>Списак скраћеница:</strong>",
        "rcfilters-activefilters": "Активни филтери",
        "rcfilters-advancedfilters": "Напредни филтери",
        "rcfilters-limit-title": "Измена за приказ",
-       "rcfilters-limit-and-date-label": "$1 {{PLURAL:$1|измена|измене}}, $2",
+       "rcfilters-limit-and-date-label": "$1 {{PLURAL:$1|измена|измене|измена}}, $2",
        "rcfilters-date-popup-title": "Временски период",
        "rcfilters-days-title": "Скорашњи дани",
        "rcfilters-hours-title": "Скорашње сати",
        "rcfilters-days-show-hours": "$1 {{PLURAL:$1|сат|сата}}",
        "rcfilters-highlighted-filters-list": "Истакнуто: $1",
        "rcfilters-quickfilters": "Сачувани филтери",
-       "rcfilters-quickfilters-placeholder-title": "Ð\88оÑ\88 Ñ\83век Ð½ÐµÐ¼Ð° Ñ\83памÑ\9bених филтера",
+       "rcfilters-quickfilters-placeholder-title": "Ð\88оÑ\88 Ñ\83век Ð½ÐµÐ¼Ð° Ñ\81аÑ\87Ñ\83ваних филтера",
        "rcfilters-quickfilters-placeholder-description": "Да бисте сачували своја подешавања филтера и употребљавали их касније, кликните на икону за ознаку у подручју активних филтера, испод.",
        "rcfilters-savedqueries-defaultlabel": "Сачувани филтери",
        "rcfilters-savedqueries-rename": "Преименуј",
        "rcfilters-savedqueries-setdefault": "Постави као подразумевано",
        "rcfilters-savedqueries-unsetdefault": "Уклони као подразумевано",
        "rcfilters-savedqueries-remove": "Уклони",
-       "rcfilters-savedqueries-new-name-label": "Ð\98ме",
+       "rcfilters-savedqueries-new-name-label": "Ð\9dазив",
        "rcfilters-savedqueries-new-name-placeholder": "Опиши сврху филтера",
        "rcfilters-savedqueries-apply-label": "Направи филтер",
        "rcfilters-savedqueries-apply-and-setdefault-label": "Направи подразумевани филтер",
        "rcfilters-state-message-subset": "Овај филтер нема ефекта јер су његови резултати укључени са онима {{PLURAL:$2|следећег, ширег филтера|следећих, ширих филтера}} (покушајте са означавањем да бисте их распознали): $1",
        "rcfilters-state-message-fullcoverage": "Одабир свих филтера у групи је исто као и одабир ниједног, тако да овај филтер нема ефекта. Група укључује: $1",
        "rcfilters-filtergroup-authorship": "Ауторство доприноса",
-       "rcfilters-filter-editsbyself-label": "Ð\92аÑ\88е измене",
-       "rcfilters-filter-editsbyself-description": "Ваши доприноси.",
-       "rcfilters-filter-editsbyother-label": "Ð\98змене Ð´Ñ\80Ñ\83гиÑ\85",
+       "rcfilters-filter-editsbyself-label": "Ð\9cоÑ\98е измене",
+       "rcfilters-filter-editsbyself-description": "Ð\92аÑ\88и Ð²Ð»Ð°Ñ\81Ñ\82иÑ\82и Ð´Ð¾Ð¿Ñ\80иноÑ\81и.",
+       "rcfilters-filter-editsbyother-label": "ТÑ\83Ñ\92е Ð¸Ð·Ð¼ÐµÐ½Ðµ",
        "rcfilters-filter-editsbyother-description": "Све измене осим Ваших.",
        "rcfilters-filtergroup-userExpLevel": "Корисничка регистрација и искуство",
        "rcfilters-filter-user-experience-level-registered-label": "Регистровани",
        "rcfilters-view-tags-tooltip": "Филтрирај резултате према ознаци измене",
        "rcfilters-view-return-to-default-tooltip": "Повратак на главни мени",
        "rcfilters-view-tags-help-icon-tooltip": "Сазнајте више о означеним изменама",
-       "rcfilters-liveupdates-button": "Ð\90жÑ\83Ñ\80иÑ\80аÑ\9aа уживо",
+       "rcfilters-liveupdates-button": "Ð\90жÑ\83Ñ\80иÑ\80аÑ\98 уживо",
        "rcfilters-liveupdates-button-title-on": "Искључи ажурирања уживо",
        "rcfilters-liveupdates-button-title-off": "Прикажи нове измене уживо",
        "rcfilters-watchlist-markseen-button": "Означи све измене као виђене",
        "nopagetext": "Тражена страница не постоји.",
        "pager-newer-n": "{{PLURAL:$1|новији 1|новија $1|новијих $1}}",
        "pager-older-n": "{{PLURAL:$1|старији 1|старија $1|старијих $1}}",
-       "suppress": "Ð\98змена",
+       "suppress": "СакÑ\80иÑ\98",
        "querypage-disabled": "Ова посебна страница је онемогућена ради побољшања перформанси.",
        "apihelp": "API помоћ",
        "apihelp-no-such-module": "Модул „$1“ није пронађен.",
        "seconds-abbrev": "$1 с",
        "minutes-abbrev": "$1 м",
        "hours-abbrev": "$1 ч",
-       "days-abbrev": "$1 д",
+       "days-abbrev": "$1 д.",
        "seconds": "{{PLURAL:$1|$1 секунда|$1 секунда|$1 секунди}}",
        "minutes": "{{PLURAL:$1|$1 минут|$1 минута|$1 минута}}",
        "hours": "{{PLURAL:$1|$1 сат|$1 сата|$1 сати}}",
        "confirmrecreate": "{{GENDER:$1|Корисник|Корисница}} [[User:$1|$1]] ([[User talk:$1|разговор]]) је {{GENDER:$1|обрисао|обрисала}} ову страницу након што сте почели да је уређујете из следећег разлога:\n: <em>$2</em>\nПотврдите да стварно желите да направите страницу.",
        "confirmrecreate-noreason": "{{GENDER:$1|Корисник|Корисница}} [[User:$1|$1]] ([[User talk:$1|разговор]]) је {{GENDER:$1|обрисао|обрисала}} ову страницу након што сте почели да је уређујете. Потврдите да стварно желите да поново направите ову страницу.",
        "recreate": "Поново направи",
-       "unit-pixel": "px",
+       "unit-pixel": "п",
        "confirm-purge-title": "Освежи ову страницу",
        "confirm_purge_button": "У реду",
        "confirm-purge-top": "Очистити привремену меморију ове стране?",
index d671adc..d558670 100644 (file)
        "expansion-depth-exceeded-category": "Stranice u kojima je prekoračena dubina proširenja",
        "expansion-depth-exceeded-warning": "Stranica u kojoj je prekoračena dubina proširenja",
        "parser-unstrip-loop-warning": "Utvrđena je petlja",
-       "parser-unstrip-recursion-limit": "Prekoračeno je ograničenje rekurzije ($1)",
+       "unstrip-depth-warning": "Prekoračeno je ograničenje rekurzije ($1)",
        "converter-manual-rule-error": "Pronađena je greška u pravilu za ručno pretvaranje jezika",
        "undo-success": "Izmena se može poništiti.\nProverite razlike ispod, pa sačuvajte izmene.",
        "undo-failure": "Ova izmena se ne može poništiti zbog sukoba izmena.",
index 736a629..1c0efdd 100644 (file)
        "expansion-depth-exceeded-category-desc": "Kacana ngaleuwihan wates jero ékspansina.",
        "expansion-depth-exceeded-warning": "Kaca ngaleuwihan jero ékspansi",
        "parser-unstrip-loop-warning": "Luncatan buni kanyahoan",
-       "parser-unstrip-recursion-limit": "Wates rékursi buni kaleuwihi ($1)",
+       "unstrip-depth-warning": "Wates rékursi buni kaleuwihi ($1)",
        "converter-manual-rule-error": "Kasalahan kanyahoan dina aturan tarjamahan basa manual",
        "undo-success": "Éditan ieu bisa dibolaykeun. Mangga pariksa babandingan di handap pikeun mastikeun mémang anjeun miharep éta parobahan. Mun geus yakin, mangga simpen parobahanana pikeun ngabolaykeun éditan.",
        "undo-failure": "Éditan teu bisa dibolaykeun alatan kaselang ku éditan séjén.",
index 2729c41..d35933e 100644 (file)
        "hr_tip": "Horisontell linje (använd sparsamt)",
        "summary": "Sammanfattning:",
        "subject": "Ämne:",
-       "minoredit": "Mindre ändring (m)",
+       "minoredit": "Mindre ändring",
        "watchthis": "Bevaka denna sida",
        "savearticle": "Spara sidan",
        "savechanges": "Spara ändringar",
        "templatesusedsection": "{{PLURAL:$1|Mall|Mallar}} som används i det här avsnittet:",
        "template-protected": "(skyddad)",
        "template-semiprotected": "(delvis skyddad)",
-       "hiddencategories": "Denna sida är medlem i {{PLURAL:$1|en dold kategori|$1 dolda kategorier}}:",
+       "hiddencategories": "Denna sida är medlem i {{PLURAL:$1|1 dold kategori|$1 dolda kategorier}}:",
        "edittools": "<!-- Denna text kommer att visas nedanför redigeringsrutor och uppladdningsformulär. -->",
        "nocreatetext": "{{SITENAME}} har begränsat möjligheterna att skapa nya sidor.\nDu kan redigera existerande sidor, eller [[Special:UserLogin|logga in eller skapa ett användarkonto]].",
        "nocreate-loggedin": "Du har inte behörighet att skapa nya sidor.",
        "expansion-depth-exceeded-category-desc": "Sidan har överstridit det maximala expansionsdjupet.",
        "expansion-depth-exceeded-warning": "Sidan överskrider expansionsdjupet",
        "parser-unstrip-loop-warning": "Tagavskalningsloop upptäcktes",
-       "parser-unstrip-recursion-limit": "Tagavskalningsloop överskred rekursionsgränsen ($1)",
+       "unstrip-depth-warning": "Tagavskalningsloop överskred rekursionsgränsen ($1)",
        "converter-manual-rule-error": "Fel upptäcktes i manuell språkkonverteringsregel",
        "undo-success": "Redigeringen kan göras ogjord.\nVar god och kontrollera jämförelsen nedan för att bekräfta att detta är vad du avser att göra, och spara sedan ändringarna nedan för att göra redigeringen ogjord.",
        "undo-failure": "Redigeringen kunde inte göras ogjord på grund av konflikt med mellanliggande redigeringar.",
        "recentchangeslinked": "Relaterade ändringar",
        "recentchangeslinked-feed": "Relaterade ändringar",
        "recentchangeslinked-toolbox": "Relaterade ändringar",
-       "recentchangeslinked-title": "Ändringar relaterade till $1",
-       "recentchangeslinked-summary": "Ange namnet på en sida för att se ändringar på sidor som länkas till eller från denna sida. (För att se medlemmar i en kategori, skriv Kategori:Namnet på kategorin). Ändringar på sidor i [[Special:Watchlist|sin bevakningslista]] är <strong>fetstilade</strong>.",
+       "recentchangeslinked-title": "Ändringar relaterade till \"$1\"",
+       "recentchangeslinked-summary": "Ange namnet på en sida för att se ändringar på sidor som länkas till eller från denna sida. (För att se medlemmar i en kategori, skriv Kategori:Namnet på kategorin). Ändringar på sidor i [[Special:Watchlist|din bevakningslista]] är <strong>fetstilta</strong>.",
        "recentchangeslinked-page": "Sidnamn:",
        "recentchangeslinked-to": "Visa ändringar på sidor med länkar till den givna sidan istället",
        "recentchanges-page-added-to-category": "[[:$1]] lades till i kategorin",
        "uploadlogpage": "Uppladdningslogg",
        "uploadlogpagetext": "Det här är en logg över de senast uppladdade filerna.\nSe [[Special:NewFiles|galleriet över nya filer]] för en mer visuell översikt.",
        "filename": "Filnamn",
-       "filedesc": "Beskrivning",
+       "filedesc": "Sammanfattning",
        "fileuploadsummary": "Beskrivning:",
        "filereuploadsummary": "Filändringar:",
        "filestatus": "Upphovsrättslig status:",
        "undelete-show-file-submit": "Ja",
        "namespace": "Namnrymd:",
        "invert": "Invertera val",
-       "tooltip-invert": "Markera denna ruta för att dölja ändringar på sidor inom det valda namnrymden (och tillhörande namnrymden om det är markerat)",
+       "tooltip-invert": "Kryssa i denna ruta för att dölja ändringar på sidor inom den valda namnrymden (och den tillhörande namnrymden om det är ikryssat)",
        "tooltip-whatlinkshere-invert": "Markera denna ruta för att dölja länkar från sidor inom vald namnrymd.",
        "namespace_association": "Associerad namnrymd",
-       "tooltip-namespace_association": "Markera denna ruta för att även inkludera diskussions- eller ämnesnamnrymden som är associerad med den valda namnrymden",
+       "tooltip-namespace_association": "Kryssa i denna ruta för att även inkludera diskussions- eller ämnesnamnrymden som är associerad med den valda namnrymden",
        "blanknamespace": "(Huvudnamnrymden)",
        "contributions": "{{GENDER:$1|Användarbidrag}}",
        "contributions-title": "Användarbidrag av $1",
        "tooltip-ca-talk": "Diskussion om innehållssidan",
        "tooltip-ca-edit": "Redigera denna sida",
        "tooltip-ca-addsection": "Starta ett nytt avsnitt",
-       "tooltip-ca-viewsource": "Den här sidan är skrivskyddad. Du kan se källtexten.",
+       "tooltip-ca-viewsource": "Den här sidan är skrivskyddad.\nDu kan se källtexten",
        "tooltip-ca-history": "Tidigare versioner av sidan",
        "tooltip-ca-protect": "Skydda den här sidan",
        "tooltip-ca-unprotect": "Ändra skyddet för den här sidan",
        "tooltip-minoredit": "Markera som mindre ändring",
        "tooltip-save": "Spara dina ändringar",
        "tooltip-publish": "Publicera dina ändringar",
-       "tooltip-preview": "Förhandsgranska dina ändringar, vänligen använd detta innan du sparar!",
-       "tooltip-diff": "Visa vilka ändringar du har gjort i texten.",
+       "tooltip-preview": "Förhandsgranska dina ändringar. Använd gärna detta innan du sparar.",
+       "tooltip-diff": "Visa vilka ändringar du har gjort i texten",
        "tooltip-compareselectedversions": "Visa skillnaden mellan de två markerade versionerna av den här sidan.",
        "tooltip-watch": "Lägg till den här sidan i din bevakningslista",
        "tooltip-watchlistedit-normal-submit": "Ta bort titlar",
        "metadata-help": "Den här filen innehåller extrainformation som troligen lades till av en digitalkamera eller skanner när filen skapades. Om filen har modifierats kan det hända att vissa detaljer inte överensstämmer med den modifierade filen.",
        "metadata-expand": "Visa utökade detaljer",
        "metadata-collapse": "Dölj utökade detaljer",
-       "metadata-fields": "Bildens metadata-fält som är listad i detta meddelande kommer att finnas på bildsidan när metadata-tabellen är hopfälld.\nAndra kommer att döljas som standard\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",
+       "metadata-fields": "Bildens metadata-fält som är listade i detta meddelande kommer att finnas på bildsidan när metadata-tabellen är hopfälld.\nAndra kommer att döljas som standard.\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-imagewidth": "Bredd",
        "exif-imagelength": "Höjd",
        "exif-bitspersample": "Bitar per komponent",
index 655423a..2213ae6 100644 (file)
        "expansion-depth-exceeded-category-desc": "இந்த பக்கம் அதிகபட்ச விரிவு ஆழத்தைத் தாண்டியது",
        "expansion-depth-exceeded-warning": "விரிவு ஆழம் பக்க வரம்பை மீறிவிட்டது",
        "parser-unstrip-loop-warning": "Unstrip வளையம் காணப்பட்டது",
-       "parser-unstrip-recursion-limit": "Unstrip மீள்தோன்றும் எல்லை மீறப்பட்டது ($1)",
+       "unstrip-depth-warning": "Unstrip மீள்தோன்றும் எல்லை மீறப்பட்டது ($1)",
        "converter-manual-rule-error": "கைமுறை மொழி மாற்றம் விதியில் பிழை கண்டுபிடிக்கப்பட்டது",
        "undo-success": "இத்தொகுப்பை மீளமைக்க முடியும். தயவு செய்து, கீழே காட்டப்பட்டுள்ள ஒப்பீட்டைப் பார்த்து, நீங்கள் செய்ய முயற்சிப்பது இதுதானா? என்பதை உறுதிப்படுத்திக் கொண்டு '''பக்கத்தைச் சேமிக்கவும்''' என்பதன் மேல் சொடுக்கவும்.",
        "undo-failure": "முரண்பாடான இடைப்பட்டத் தொகுப்புகள் காரணமாக இத்தொகுப்பை மீளமைக்க முடியாது.",
index 08a3884..b273a2a 100644 (file)
        "expansion-depth-exceeded-category-desc": "పేజీ గరిష్ఠ విస్తరణ లోతును మించింది",
        "expansion-depth-exceeded-warning": "పేజీ విస్తరణ లోతును మించింది",
        "parser-unstrip-loop-warning": "Unstrip లూపును కనుక్కున్నాం",
-       "parser-unstrip-recursion-limit": "Unstrip రికర్షన్ పరిమితిని దాటింది ($1)",
+       "unstrip-depth-warning": "Unstrip రికర్షన్ పరిమితిని దాటింది ($1)",
        "converter-manual-rule-error": "మానవిక భాషాంతరీకరణ పరికరంలో లోపాన్ని కనుక్కున్నాం",
        "undo-success": "దిద్దుబాటును రద్దు చెయ్యవచ్చు. కింది పోలికను చూసి, మీరు చెయ్యదలచినది ఇదేనని నిర్ధారించుకోండి. ఆ తరువాత మార్పులను భద్రపరచి దిద్దుబాటు రద్దును పూర్తి చెయ్యండి.",
        "undo-failure": "మధ్యలో జరిగిన దిద్దుబాట్లతో తలెత్తిన ఘర్షణ కారణంగా ఈ దిద్దుబాటును రద్దు చెయ్యలేక పోయాం.",
index fac7ea7..cec7470 100644 (file)
        "expansion-depth-exceeded-category": "หน้าที่ความลึกการขยายเกิน",
        "expansion-depth-exceeded-warning": "หน้าเกินความลึกการขยาย",
        "parser-unstrip-loop-warning": "พบวงวน unstrip",
-       "parser-unstrip-recursion-limit": "ขีดจำกัดการเรียกซ้ำ unstrip เกิน ($1)",
+       "unstrip-depth-warning": "ขีดจำกัดการเรียกซ้ำ unstrip เกิน ($1)",
        "converter-manual-rule-error": "พบข้อผิดพลาดในกฎการแปลงผันภาษาด้วยมือ",
        "undo-success": "สามารถย้อนการแก้ไขนี้กลับได้ \nกรุณาตรวจสอบข้อแตกต่างด้านล่างเพื่อทวนสอบว่านี่เป็นสิ่งที่คุณต้องการทำ แล้วบันทึกการเปลี่ยนแปลงด้านล่างเพื่อเสร็จสิ้นการย้อนการแก้ไขกลับ",
        "undo-failure": "การแก้ไขนี้ไม่สามารถย้อนกลับได้ เนื่องจากขัดแย้งกับการแก้ไขระหว่างกลาง",
index bbaa125..f3b6a6b 100644 (file)
        "expansion-depth-exceeded-category": "Mga pahina kung saan lampas ang lalim ng paglawak",
        "expansion-depth-exceeded-warning": "Lumampas ang pahina sa lalim ng paglawak",
        "parser-unstrip-loop-warning": "Napansin ang silo ng hindi pagtalop",
-       "parser-unstrip-recursion-limit": "Nalampasan ang hangganan ng rekursiyon ng hindi pagtalop ($1)",
+       "unstrip-depth-warning": "Nalampasan ang hangganan ng rekursiyon ng hindi pagtalop ($1)",
        "converter-manual-rule-error": "Napansin ang kamalian sa alituntunin ng kinakamay na pagpapalit ng wika",
        "undo-success": "Matatanggal ang pagbabago.\nPakitingnan ang paghahambing sa ibaba para masiyasat kung ito ang ibig mong gawin, at pagkatapos sagipin ang mga pagbabago sa ibaba para matapos ang pagtatanggal ng pagbabago.",
        "undo-failure": "Hindi matanggal ang pagbabago dahil sa magkakasalungat na panggitnang mga pagbabago.",
index bb4834c..8f4008d 100644 (file)
        "expansion-depth-exceeded-category-desc": "Sayfa azami genişleme derinliğini aşıyor.",
        "expansion-depth-exceeded-warning": "Sayfa genişletme derinliği aşıldı",
        "parser-unstrip-loop-warning": "Yineleme döngüsü algılandı",
-       "parser-unstrip-recursion-limit": "($1) yineleme sınırı aşıldı",
+       "unstrip-depth-warning": "($1) yineleme sınırı aşıldı",
        "converter-manual-rule-error": "Elle yapılandırma dil dönüşüm kuralı hatası tespit edildi",
        "undo-success": "Bu değişiklik geri alınabilir. Lütfen aşağıdaki karşılaştırmayı kontrol edin, gerçekten bu değişikliği yapmak istediğinizden emin olun ve sayfayı kaydederek bir önceki değişikliği geriye alın.",
        "undo-failure": "Değişikliklerin çakışması nedeniyle geri alma işlemi başarısız oldu.",
        "rcfilters-filter-categorization-description": "Kategorilere eklenen veya kaldırılan sayfaların kayıtları.",
        "rcfilters-filter-logactions-label": "Günlüğü tutulan işlemler",
        "rcfilters-filter-logactions-description": "Hizmetli işlemleri, hesap oluşturmalar, sayfa silmeler, yüklemeler...",
+       "rcfilters-filter-lastrevision-label": "Son revizyon",
+       "rcfilters-filter-previousrevision-label": "Son revizyon değil",
        "rcfilters-liveupdates-button": "Canlı güncelleme",
        "rcfilters-liveupdates-button-title-on": "Canlı güncellemeyi kapat",
        "rcfilters-liveupdates-button-title-off": "Yeni değişiklikleri yapıldıkları anda görüntüleyin",
index 05d4b46..1e60cd1 100644 (file)
@@ -12,7 +12,8 @@
                        "Shklyaev",
                        "Wadorgurt",
                        "Zpizza",
-                       "Mouse21"
+                       "Mouse21",
+                       "Patrick Star"
                ]
        },
        "tog-underline": "Чӧлсконъёсыз ултӥз гожен сызоно",
@@ -40,6 +41,7 @@
        "tog-enotifminoredits": "Ивортыны соку но, куке бамын яке файлын ичи воштон лэсьтэмын",
        "tog-enotifrevealaddr": "Мынэсьтым почта адресме возьматыны ивортӥсь сообщениосын",
        "tog-shownumberswatching": "Возьматыны викиавторъёслэсь лыдзэс, кудъёсыз бамез чаклан списоке пыртӥзы",
+       "tog-oldsig": "Гожтэм тон улод:",
        "tog-fancysig": "Подписьлэн аслам вики-разметкае (автоматической ӵӧлсконтэк)",
        "tog-watchlisthideown": "Мынэсьтым тупатонъёсме чаклан списокысь ватыны",
        "tog-watchlisthidebots": "Чаклан списокысь ватоно ботъёслэсь тупатэмзэс",
        "navigation": "Навигация",
        "and": "&#32;но",
        "faq": "Юан-веран",
+       "namespaces": "Инты нимъёс",
        "variants": "Вариантъёс",
        "navigation-heading": "Навигация",
        "errorpagetitle": "Янгыш",
        "create": "Кылдытоно",
        "create-local": "Интыысь описаниез ватсаны",
        "delete": "Быдтыны",
+       "viewdeleted_short": "Учке {{PLURAL:$1|редактировать палэнтыны|$1 удаленный шонертон}}",
        "protect": "Утьыны",
        "protect_change": "воштыны",
        "unprotect": "Утемез воштыны",
        "badaccess-group0": "Тӥ уд быгатӥське тӥледын курем ужез быдэсъяны.",
        "badaccess-groups": "Курем ужез быдэсъяны быгато {{PLURAL:$2|1=«$1» группаысь викиавторъёс гинэ|та группаос пӧлысь огезлэн викиавторъёсыз гинэ: $1}}.",
        "versionrequired": "$1 номеро MediaWiki версия кулэ",
+       "versionrequiredtext": "Версия $1 бам-ысь та MediaWiki кулэезъя уже кутыны.\nОзьы ик [[Special:Version|страница версия]].",
        "ok": "OK",
        "retrievedfrom": "«$1»-лэсь басьтэмын",
+       "youhavenewmessagesmulti": "Тон дорын луо, выль веран $1",
        "editsection": "тупатыны",
        "editold": "тупатыны",
        "viewsourceold": "кодзэ учкыны",
        "confirmable-yes": "Бен",
        "confirmable-no": "Ӧвӧл",
        "viewdeleted": "Учкыны $1",
+       "restorelink": "{{PLURAL:$1|редактировать палэнтыны|$1 удаленный шонертон}}",
        "site-rss-feed": "$1 — RSS-лента",
        "site-atom-feed": "$1 — Atom-лента",
        "page-atom-feed": "«$1» Атом-лента",
        "nstab-help": "Валэктон",
        "nstab-category": "Категория",
        "mainpage-nstab": "Кутскон бам",
+       "nosuchspecialpage": "Сыӵе бам ӧвӧл специальной",
        "error": "Янгыш",
+       "databaseerror": "Юри янгыш база",
+       "databaseerror-text": "Юри янгыш база запрос потӥз.\nПрограммное обеспечение янгышъёс вылын сое возьматыны быгатоно.",
+       "databaseerror-textcl": "Юри янгыш база запрос потӥз.",
        "databaseerror-query": "Курон: $1",
        "databaseerror-function": "Функция: $1",
        "databaseerror-error": "Янгыш: $1",
+       "readonly": "Юри база заблокировать",
+       "missing-article": "Текстысь кулэ бамъёсты шедьто база сое юри ӧз шедьты-а, нимазы - \"$1\" лэн $2.\n\nВуоно бамез вылэ чӧлскон огшоры яке та вужмисьтэм дифф ӧтизы историяя, соос палэнтэмын вал.\n\nСо озьы ӧвӧл ке, - тон янгыш шедьтыны быгатэ программное обеспечение.\nПожалуйста, со сярысь верало [[Special:ListUsers/sysop|администраторъёс]], URL валэктон уж лэсьтэмын.",
+       "internalerror": "Янгышъёс пушкын",
+       "internalerror_info": "Янгышъёс пушкын: $1",
+       "cannotdelete": "Яке файл бам \"$1\" палэнтэмын луыны уг быгаты.\nПалэнтэмын луыны быгатоз ини, со кинлэн ке мукетызлэн.",
        "badtitle": "Умойтэм ним",
        "badtitletext": "Курем бам ним луэ мыдлань, буш либо кылъёс куспын яке викиос куспын нимыз умойтэм герӟамын.\nНимын, вылды, ярантэм символъёс вань.",
        "viewsource": "Кодзэ учкыны",
        "pt-userlogout": "Потыны",
        "oldpassword": "Вуж лушкемкыл:",
        "newpassword": "Выль лушкемкыл:",
+       "botpasswords-update-failed": "Выльдэм бот ним уг удалты \"$1\". Соос палэнтэмын луозы?",
+       "botpasswords-deleted-title": "Пароль палэнтыны боты",
        "passwordreset": "Пароль куштыны",
        "passwordreset-username": "Пырон ним:",
        "bold_sample": "Зӧк шрифт",
        "autoblockedtext": "Тӥляд IP-адресты автоматически заблокировать каремын вал, малы ке шуоно со кутӥськиз вал мукет викиавторен, кинзэ $1 заблокировать кариз.\nБлокировкалэн пусъем мугез:\n\n:<em>$2</em>\n\n* Блокировка кутскиз: $8\n* Блокировка йылпумъяськоз: $6\n* Блокировкалэн ужпумез: $7\n\nТӥ блокировка сярысь вераськыны быгатӥськоды $1 яке мукет [[{{MediaWiki:Grouppage-sysop}}|администраторъёс]] пӧлысь огез доры герӟаськыса.\n\nСак луэ, тӥ «Викиавторлы гожтэт» функциез уже кутыны уд быгатӥське [[Special:Preferences|асьтэлэн настройкаосады]] электрон почталэсь шонер адрессэ гожтытозь яке юнматытозь, либо блокировкады сыӵе амалэн гожтэтъёсыз ыстыны уг лэзьы ке.\n\nТӥляд али IP-адресты луэ $3, но блокировка идентификатор — #$5.\nТауна пыртэ вань та пыр-поч сведениосыз асьтэлэн куронъёсады.",
        "blockednoreason": "пуктэм муг ӧвӧл",
        "whitelistedittext": "Бамъёсты вошъяны вылысь $1 кулэ.",
+       "nosuchsectiontext": "Тон люкон воштыны турттӥсько, соос ӧз дауртэ.\nСое быгатоно палэнтыны яке гегай вал, лыдӟонъёс бам тыныд.",
        "loginreqtitle": "Системае пыроно",
        "loginreqlink": "пырыны",
        "loginreqpagetext": "Мукет бамъёсты учкыны вылысь $1 кулэ.",
        "newarticletext": "Тӥ чӧлсконэтӥ ортчиды баме, кудӥз ӧвӧл на.\nСое кылдытыны вылысь, печатлалэ текст улӥ возьматэм укное (пыр-почгес учке [$1 юрттэт бамын]).\nТӥ вуиды татчы янгыш луэмен ке, зӥбе тӥляд браузердылэсь <strong>берлань</strong> кнопказэ.",
        "noarticletext": "Али дыре та бамын текст ӧвӧл. \nТӥ быгатоды [[Special:Search/{{PAGENAME}}|шедьтыны со сярысь кыӵе ке ивор]] мукет бамъёсысь,\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} шедьтыны журналъёсысь гожъямъёсыз], \nяке [{{fullurl:{{FULLPAGENAME}}|action=edit}} сыӵе нимын бам кылдытыны]</span>.",
        "noarticletext-nopermission": "Али дыре та бамын текст ӧвӧл.\nТӥ быгатоды [[Special:Search/{{PAGENAME}}|шедьтыны со сярысь кыӵе ке ивор]] мукет бамъёсысь, яке <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} шедьтыны журналъёсысь гожъямъёсыз]</span>, нош та бамез кылдытыны тӥляд лэзёнды ӧвӧл.",
+       "userpage-userdoesnotexist-view": "Книга учётной \"$1\" эн регистрировать каро.",
        "blocked-notice-logextract": "Та викиавтор али заблокировать каремын.\nБлокировкаосын журналысь берпум гожъям улӥ возьматэмын:",
        "continue-editing": "Тупатъянэз азьланьтоно",
        "editing": "Тупатон: $1",
        "permissionserrors": "Лэзён янгыш",
        "permissionserrorstext": "Тӥляд тае быдэстыны лэзёнды ӧвӧл та {{PLURAL:$1|1=муген|мугъёсын}} сэрен:",
        "permissionserrorstext-withaction": "Тӥляд $2 лэзёнды ӧвӧл та {{PLURAL:$1|1=муген|мугъёсын}} сэрен:",
+       "recreate-moveddeleted-warn": "<strong>Юаз: Тон воссоздавать бам ӧвӧл, со вазь кошконо луэ.</strong>\n\nТон эскерыны кулэ, та бамез ялан возьматскылӥз на редактирование целесообразный.\nТа журналын вайыса, татын палэнтон понна удобство перемещение люкон понна:",
        "moveddeleted-notice": "Та бам быдтэмын вал.\nБыдтонъёсын но ним воштонъёсын журналъёсысь ярано записьёс чӧлсконлы улӥ возьматэмын.",
+       "moveddeleted-notice-recent": "Жаляса верано луэ, али та бамез палэнтэмын вал (берло 24 час ӵоже).\nПалэнэ утьыны, справка понна радъяськылӥсь бам вылэ донге но зӧк коръёслэсь.",
+       "edit-gone-missing": "Бамме уг выльдӥськы быгатэ.\nСоин, лэся, улляло вал.",
        "content-model-wikitext": "викитекст",
+       "undo-norev": "Шонертон воштыны уг быгат вал, ӧй вал со вордскемын яке уллям бере.",
        "undo-summary": "[[Special:Contributions/$2|$2]] ([[User talk:$2|вераськон]]) викиавторлэн $1 номеро тупатонэз палэнтэмын",
        "cantcreateaccount-text": "Та IP-адресысь (<strong>$1</strong>) учётной записьёсты кылдытон заблокировать каремын вал [[User:$3|$3]] викиавторен.\n\n$3 пусйиз таӵе мугез: <em>$2</em>.",
        "cantcreateaccount-range-text": "[[User:$3|$3]] викиавтор дугдытӥз учётной записьёсты кылдытыны <strong>$1</strong> радлэн IP-адресъёсысьтыз, кудъёсыз пӧлы пыре тӥляд IP-адресты (<strong>$4</strong>).\n\n$3 пусйиз таӵе мугез: <em>$2</em>.",
        "last": "азьв.",
        "history-fieldset-title": "Тупатонъёсты утчаны",
        "history-show-deleted": "Ӵушылэм тупатонъёссэ гинэ",
+       "history-feed-item-nocomment": "$1-Ысь $2",
        "rev-delundel": "возьматыны/ватыны",
        "rev-showdeleted": "возьматоно",
        "revdelete-show-file-submit": "Бен",
        "revdelete-radio-set": "Ватэм",
        "revdelete-radio-unset": "Адӟымон",
+       "deletedhist": "Историез палэнтыны",
        "revdelete-reason-dropdown": "*Огшоры быдтон мугъёс\n** Автор правоосты тӥян\n** Ярантэм комментарий яке личной сведениос\n** Викиавторлэн ярантэм нимыз\n** Луоно лекатӥсь информация",
        "history-title": "$1 — воштонъёслэн историзы",
        "difference-title": "$1 — версиосыз куспын пӧртэмлык",
        "searchprofile-articles-tooltip": "$1 пушкын утчан",
        "searchprofile-images-tooltip": "Файлъёсты утчан",
        "searchprofile-everything-tooltip": "Вань бамъёсэтӥ утчан (вераськон бамъёсты пыртыса)",
+       "searchprofile-advanced-tooltip": "Пользовательский инты нимъёсты утчан",
        "search-result-size": "$1 ({{PLURAL:$2|$2 кыл}})",
        "search-redirect": "($1 бамысь ыстон)",
        "search-section": "(«$1» люкет)",
        "recentchanges": "Выль тупатонъёс",
        "recentchanges-legend": "Выль тупатонъёслы настройкаос",
        "recentchanges-summary": "Та бамын викилэн дыръя радъям выль воштонъёсыз возьматэмын.",
+       "recentchanges-noresult": "Та дыр ӵоже нокыӵе воштӥськон кулэ лэся критерийёс",
        "recentchanges-label-newpage": "Та тупатонэн выль бам кылдӥз",
        "recentchanges-label-minor": "Та тупатон луэ пичи воштон",
        "recentchanges-label-bot": "Та тупатонэз бот кариз",
        "sharedupload": "Та файл — $1-ысь, сое мукет проектъёсын но уже кутыны луэ.",
        "sharedupload-desc-here": "Та файл — $1-ысь, сое мукет проектъёсын но уже кутыны луэ.\n[$2 Файл гожъясь бамысьтыз] информация адӟытэмын улын.",
        "upload-disallowed-here": "Тӥ та файлэз выльысь гожтыны уд быгатӥське.",
+       "filedelete-success": "Вылэ <strong>$1</strong> палэнтэмын ӧй вал.",
        "randompage": "Олокыӵе статья",
        "withoutinterwiki-submit": "Возьматыны",
        "nbytes": "{{PLURAL:$1|$1 байт}}",
        "restriction-edit": "Тупатон",
        "undeletehistory": "Бамез берен сётоды ке, сое воштонъёслэн историзы берытскоз но.\nБыдтон бере таӵе ик нимен выль бам кылдытэмын вал ке, берен сётэм версиос адӟиськозы воштонъёслэн историязы выль версиослэсь азьло.",
        "undeletehistorynoadmin": "Та бам быдтэмын вал.\nБыдтонлэн мугез но список викиавторъёслы, кинъёс та бамез тупатъязы сое быдтон дырозь, улӥ возьматэмын.\nБыдтэм бамлэсь текстсэ учкыны быгато администраторъёс гинэ.",
+       "namespace": "Инты нимъёс:",
        "invert": "Ватыны быръемез",
+       "tooltip-invert": "Та флажок тупатыны, ватэм бам вылын мед воштӥськиз, улон инты нимысьтыз быръе (нимъёсты, инты думылэм, эскероно ке)",
+       "namespace_association": "Инты нимъёсын герӟаськем",
+       "tooltip-namespace_association": "Та флажок тупа, яке интыын гожтоно предмет нимын ток мед герӟаськем инты нимысьтыз быръе",
        "blanknamespace": "(Валтӥсез)",
        "contributions": "{{GENDER:$1|Викиавтор}} гожтэмъёсы",
        "contributions-title": "$1 викиавтор гожтэмъёсы",
        "anoncontribs": "Гожтэмъёс",
        "contribsub2": "{{GENDER:$3|$1}} гожтэмъёсы ($2)",
        "nocontribs": "Та критериослы кельшись воштонъёс шедьтэмын ӧвӧл.",
+       "uctop": "(бызьыны)",
        "month": "Толэзьысен (вазен но):",
        "year": "Арысен (вазен но):",
+       "sp-contributions-newbies": "Юрттэт чотын гинэ вылез возьма",
        "sp-contributions-blocklog": "блокировкаосыз",
        "sp-contributions-deleted": "{{GENDER:$1|викиавторлэн}} быдтэм тупатонъёсыз",
        "sp-contributions-userrights": "пыриськисьлэн правоосыныз кивалтон",
        "sp-contributions-blocked-notice": "Али дыре та викиавтор заблокировать каремын.\nВалэктон понна блокировкаосын журналысь берло гожъям улӥ возьматэмын:",
        "sp-contributions-blocked-notice-anon": "Али дыре та IP-адрес заблокировать каремын.\nВалэктон понна блокировкаосын журналысь берло гожъям улӥ возьматэмын:",
+       "sp-contributions-search": "- Взносэз утчан",
+       "sp-contributions-username": "IP-адрес яке нимысьтыз пользователь:",
+       "sp-contributions-toponly": "Воштӥськонъёс гинэ возьматэ, со выль воштӥськонъёс возьмало",
        "sp-contributions-submit": "Шедьтыны",
        "whatlinkshere": "Татчы чӧлсконъёс",
        "whatlinkshere-title": "«$1» вылэ чӧлскись бамъёс",
index 0a48ddc..2878d7e 100644 (file)
        "expansion-depth-exceeded-category": "كېڭەيتىلگەن چوڭقۇرلۇق بەت چەكلىمىسىدىن ئېشىپ كەتتى",
        "expansion-depth-exceeded-warning": "بەت كېڭەيتىلگەن چوڭقۇرلۇقتىن ئېشىپ كەتتى",
        "parser-unstrip-loop-warning": "دەۋرىيلىك بايقالدى",
-       "parser-unstrip-recursion-limit": "قايتىلانما چەكلىمە ($1) دىن ئېشىپ كەتتى",
+       "unstrip-depth-warning": "قايتىلانما چەكلىمە ($1) دىن ئېشىپ كەتتى",
        "converter-manual-rule-error": "قولدا ئالماشتۇرىدىغان قائىدىدە خاتالىق بايقالدى",
        "undo-success": "بۇ تەھرىردىن يېنىۋالغىلى بولىدۇ\nتۆۋەندىكى سېلىشتۇرۇشنى تەكشۈرۈپ بۇنىڭ ئۆزىڭىزنىڭ ئويى ئىكەنلىكىنى دەلىللەڭ، ئاندىن تۆۋەندىكى ئۆزگەرتىشنى ساقلاپ تەھرىرلەشتىن يېنىۋىلىڭ.",
        "undo-failure": "ئوتتۇرىلىقتا بىردەك بولماسلىق سەۋەبىدىن بۇ تەھرىردىن يېنىۋالغىلى بولمايدۇ.",
index 703fa0d..58b707f 100644 (file)
        "expansion-depth-exceeded-category-desc": "На сторінці перевищено максимально допустима глибину розкриття.",
        "expansion-depth-exceeded-warning": "На сторінці перевищено межу глибини вкладеності",
        "parser-unstrip-loop-warning": "Виявлено незакритий тег (такий, як <pre>)",
-       "parser-unstrip-recursion-limit": "Перевищено межу вкладеної рекурсії ($1) для парсера.",
+       "unstrip-depth-warning": "Перевищено межу вкладеної рекурсії ($1) для парсера.",
        "converter-manual-rule-error": "Помилка в ручному правилі перетворення мови",
        "undo-success": "Редагування може бути скасовано.\nБудь ласка, перевірте порівняння нижче, щоб впевнитись, що це те, що ви хочете зробити, а потім збережіть зміни, щоб закінчити скасування редагування.",
        "undo-failure": "Неможливо скасувати редагування через несумісність проміжних змін.",
        "rcfilters-watchlist-showupdated": "Зміни до сторінок, які Ви не відвідували з моменту здійснення змін, виділені <strong>жирним</strong>, із цілісними маркерами.",
        "rcfilters-preference-label": "Приховати покращену версію Нових редагувань",
        "rcfilters-preference-help": "Скасовує зміну дизайну 2017 року та всі інструменти, додані тоді й пізніше.",
-       "rcfilters-filter-showlinkedfrom-label": "Показати зміни на сторінках, на які звідси посилання",
+       "rcfilters-filter-showlinkedfrom-label": "Показати зміни на сторінках, на які є посилання з",
        "rcfilters-filter-showlinkedfrom-option-label": "<strong>Сторінки, на які є посилання з</strong> обраної сторінки",
        "rcfilters-filter-showlinkedto-label": "Показати зміни на сторінках, що посилаються сюди",
        "rcfilters-filter-showlinkedto-option-label": "<strong>Сторінки, що посилаються на</strong> обрану сторінку",
        "recentchangeslinked-feed": "Пов'язані редгування",
        "recentchangeslinked-toolbox": "Пов'язані редагування",
        "recentchangeslinked-title": "Пов'язані редагування для «$1»",
-       "recentchangeslinked-summary": "Уведіть назву сторінки щоб побачити зміни на сторінках які посилаються на неї, або на які вона сама посилається. (Для перегляду членів категорії вводьте {{ns:14}}:Назва категорії). Зміни на сторінках з [[Special:Watchlist|Вашого Списку спостереження]] виділені <strong>жирним</strong>.",
+       "recentchangeslinked-summary": "Уведіть назву сторінки, щоб побачити зміни на сторінках, які посилаються на неї, або на які вона сама посилається. (Для перегляду членів категорії вводьте {{ns:14}}:Назва категорії). Зміни на сторінках з [[Special:Watchlist|Вашого Списку спостереження]] виділені <strong>жирним</strong>.",
        "recentchangeslinked-page": "Назва сторінки:",
        "recentchangeslinked-to": "Показати зміни на сторінках, пов'язаних з даною",
        "recentchanges-page-added-to-category": "[[:$1]] Додано до категорії",
index d10cba2..49577a5 100644 (file)
        "expansion-depth-exceeded-category-desc": "اس صفحہ میں توسیع کی گہرائی اپنی حد سے تجاوز کر گئی۔",
        "expansion-depth-exceeded-warning": "صفحہ میں توسیع کی گہرائی اپنی حد سے تجاوز کر گئی",
        "parser-unstrip-loop-warning": "unstrip فنکشن میں تکرار پایا گیا",
-       "parser-unstrip-recursion-limit": "unstrip فنکشن میں تکرار اپنی حد سے تجاوز کر گیا ($1)",
+       "unstrip-depth-warning": "unstrip فنکشن میں تکرار اپنی حد سے تجاوز کر گیا ($1)",
        "converter-manual-rule-error": "زبان کی دستی تبدیلی کے ضوابط میں نقص دریافت ہوا",
        "undo-success": "اس ترمیم کو واپس پھیرا جا سکتا ہے۔\nبراہ کرم ذیل میں موجود موازنہ ملاحظہ فرمائیں اور یقین کر لیں کہ اس موازنے میں موجود فرق ہی آپ کا مقصود ہے۔ اس کے بعد تبدیلیوں کو محفوظ کر دیں، ترمیم واپس پھیر دی جائے گی۔",
        "undo-failure": "درمیان میں متنازع ترامیم کی موجودگی کی بنا پر اس ترمیم کو واپس نہیں پھیرا جا سکا۔",
        "ipbcreateaccount": "کھاتہ سازی سے باز رکھیں",
        "ipbemailban": "برقی خط بھیجنے سے باز رکھیں",
        "ipbenableautoblock": "یہ آئی پی پتہ ممنوع صارف نے استعمال کیا ہے اور خود کار طریقے سے اس آئی پی پتے پر پابندی عائد کر دی گئی ہے اور بعد میں اگر وہ ممنوع صارف جتنے بھی آئی پی پتے استعمال کرے گا تو ان پر بھی پابندی لگ جائے گی",
-       "ipbsubmit": "اس صارف کا داخلہ ممنوع کریں",
+       "ipbsubmit": "پابندی لگائیں",
        "ipbother": "دیگر وقت:",
        "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",
        "ipbhidename": "ترامیم اور فہرستوں سے صارف نام کو چھپائیں",
index f18227e..5c6403f 100644 (file)
        "expansion-depth-exceeded-category": "Pajine ndove che vien superà ła profondità de espansion",
        "expansion-depth-exceeded-warning": "Sta pajina ga superà el limite de profondità de espansion",
        "parser-unstrip-loop-warning": "Xe sta riłevà un ciclo de Unstrip",
-       "parser-unstrip-recursion-limit": "Superadi i limiti de recursion de Unstrip ($1)",
+       "unstrip-depth-warning": "Superadi i limiti de recursion de Unstrip ($1)",
        "converter-manual-rule-error": "Rilevà eror inte ła regoła manuałe de conversion de ła lèngua",
        "undo-success": "Sta modifica la pode èssar anulà. Verifica el confronto presentà de seguito par èssar sicuro che el contenuto el sia come te lo voli e quindi salva le modifiche par conpletar la procedura de anulamento.",
        "undo-failure": "No se pol mìa anular la modifica, par via de un conflito con modifiche intermedie.",
index bb064d8..04ba719 100644 (file)
        "expansion-depth-exceeded-category-desc": "Trang có độ sâu bung bản mẫu vượt quá giới hạn cho phép.",
        "expansion-depth-exceeded-warning": "Trang bung bản mẫu sâu quá",
        "parser-unstrip-loop-warning": "Vòng lặp unstrip",
-       "parser-unstrip-recursion-limit": "Đã vượt quá giới hạn về độ sâu đệ quy unstrip ($1)",
+       "unstrip-depth-warning": "Đã vượt quá giới hạn về độ sâu đệ quy unstrip ($1)",
        "converter-manual-rule-error": "Lỗi được phát hiện trong quy tắc chuyển đổi ngôn ngữ thủ công",
        "undo-success": "Các sửa đổi có thể được lùi lại. Xin hãy kiểm tra phần so sánh bên dưới để xác nhận lại những gì bạn muốn làm, sau đó lưu thay đổi ở dưới để hoàn tất việc lùi lại sửa đổi.",
        "undo-failure": "Sửa đổi không thể phục hồi vì đã có những sửa đổi mới ở sau.",
index 501d375..946da53 100644 (file)
        "viewsource-title": "Côde sourdant di «$1»",
        "viewsourcetext": "Loukîz li contnou d' l’ årtike, et s’ li rcopyî si vos vloz, por vos bouter dsu foû des fyis:",
        "protectedinterface": "Cisse pådje ci dene on tecse d' eterface pol programe, eyet elle a stî protedjeye po s' waeranti siconte des abus.",
-       "editinginterface": "<stron>Asteme:</strong> Vos estoz ki candje ene pådje eployeye po fé l' tecse po l' eterface do programe.\nLes candjmints ki vos frîz vont candjî l' rivnance di l' eterface po ls ôtes uzeus do wiki.",
+       "editinginterface": "<strong>Asteme:</strong> Vos estoz ki candje ene pådje eployeye po fé l' tecse po l' eterface do programe.\nLes candjmints ki vos frîz vont candjî l' rivnance di l' eterface po ls ôtes uzeus do wiki.",
        "cascadeprotected": "Cisse pådje ci a stî protedjeye siconte des candjmints, pask' ele est eploye ådvins {{PLURAL:$1|del pådje shuvante k' est protedjeye|des pådjes shuvantes ki sont protedjeyes}} avou l' tchuze «e cascåde» en alaedje:\n$2",
        "logouttext": "<strong>Vos vs avoz dislodjî.</strong>\n\nNotez ki des pådjes k' i gn a si pôrént continouwer a vey come si vos estîz elodjî, disk' a tant ki vos vudrîz l' muchete di vosse betchteu waibe.",
        "welcomeuser": "Bénvnowe, $1!",
index 0cf2055..5d6b53c 100644 (file)
        "recentchanges-legend-heading": "<strong>Leyenda:</strong>",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (kitaa gihapon [[Special:NewPages|talaan han mga bag-o nga pakli]])",
        "recentchanges-submit": "Pakit-a",
-       "rcfilters-legend-heading": "<strong>Taramdan han pinanhalipot:</strong>",
+       "rcfilters-legend-heading": "<strong>Taramdan han pinanpahalipot:</strong>",
        "rcfilters-filter-humans-label": "Tawo (diri bot)",
        "rcnotefrom": "Didi ha ubos amo {{PLURAL:$5|an pagbag-o|an mga pagbabag-o}} tikang<strong>$3, $4</strong> (tubtob <strong>$1</strong> nga ginpakita).",
        "rclistfrom": "Pakit-a an mga ginbag-ohan tikang han $3 $2",
        "statistics-articles": "Unod nga mga pakli",
        "statistics-pages": "Mga pakli",
        "statistics-pages-desc": "Tanan nga pakli hinin nga wiki, lakip an hiruhimangraw nga pakli, redirect, ngan iba pa.",
-       "statistics-files": "Mga paypay nga iginkarga pasaka",
+       "statistics-files": "Mga file nga gin-upload",
        "statistics-edits": "Mga pagliwat hit pakli tikang gintukod hini nga {{SITENAME}}",
        "statistics-edits-average": "Average nga mga pagliwat kada pakli",
        "statistics-users": "Mga [[Special:ListUsers|gumaramit]] nga nakarehistro",
index a7f8844..3e1f16e 100644 (file)
        "parser-template-recursion-depth-warning": "模板递归深度超限($1)",
        "language-converter-depth-warning": "字词转换器深度超限($1)",
        "node-count-exceeded-category": "页面个节点数超出限制",
-       "parser-unstrip-recursion-limit": "递归超过限制 ($1)",
+       "unstrip-depth-warning": "递归超过限制 ($1)",
        "converter-manual-rule-error": "来手动语言转换规则当中查着错误",
        "undo-success": "箇只编辑可以撤销。请检查下头个比较,确定侬确实想撤销,再保存下底个更改完成撤销编辑。",
        "undo-failure": "由于相互冲突个中途编辑,箇只编辑弗好撤销。",
index b296c6c..82ae04e 100644 (file)
        "expansion-depth-exceeded-category-desc": "გვერდს აქვს გადაჭარბებული გაღების სიღრმის მაქსიმალურად დასაშვები რაოდენობა",
        "expansion-depth-exceeded-warning": "გვერდზე გადამეტებულია ჩადგმების ზღვარი",
        "parser-unstrip-loop-warning": "აღმოჩენილია ციკლური ბმული",
-       "parser-unstrip-recursion-limit": "გადამეტებულია რეკურსიის ზღვარი ($1)",
+       "unstrip-depth-warning": "გადამეტებულია რეკურსიის ზღვარი ($1)",
        "converter-manual-rule-error": "შეცდომა ენის ხელით გარდაქმნის წესში",
        "undo-success": "რედაქტირების გაუქმება შესაძლებელია. გთხოვთ შეამოწმოთ განსხვავება ქვევით, რათა დარწმუნდეთ, რომ ეს ის არის რაც თქვენ გსურთ, შემდეგ კი შეინახეთ ცვლილებები რათა დაასრულოთ რედაქტირების გაუქმება.",
        "undo-failure": "რედაქტირების გაუქმება შეუძლებელია კონფლიქტური შუალედური რედაქტირებების გამო.",
index 9fd474f..203e873 100644 (file)
        "deletedwhileediting": "ווארענונג: דער בלאט איז געווארן אויסגעמעקט נאכדעם וואס איר האט אנגעהויבן רעדאקטירן!",
        "confirmrecreate": "באַניצער [[User:$1|$1]] ([[User talk:$1|רעדן]]) {{GENDER:$1|האט אויסגעמעקט}} דעם בלאט נאכדעם וואס איר האט אנגעהויבן דאס צו ענדערן, אלס אָנגעבליכער סיבה:\n: <em>$2</em>\nביטע באשטעטיגט אז איר ווילט טאקע צוריקשטעלן דעם בלאט.",
        "recreate": "שאַפֿן פֿונדאסניי",
+       "confirm-purge-title": "אויסרייניגן דעם אוצר פון דעם דאזיגן בלאט",
        "confirm_purge_button": "אויספֿירן",
-       "confirm-purge-top": "×\90×\95×\99סק×\9c×\90ר×\9f ×\93×\99 ×§×\90שע×\99 ×¤×\95×\9f ×\93×¢×\9d בלאט?",
+       "confirm-purge-top": "×\90×\95×\99סר×\99×\99× ×\99×\92×\9f ×\93×¢×\9d ×\90×\95צר ×¤×\95×\9f ×\93×¢×\9d ×\93×\90×\96×\99×\92×\9f בלאט?",
        "confirm-watch-button": "יאָ",
        "confirm-watch-top": "צולייגן דעם בלאט צו אייער אויפֿפאסונג ליסטע?",
        "confirm-unwatch-button": "יאָ",
index 7dc88b6..8ab39e7 100644 (file)
        "expansion-depth-exceeded-category": "Àwọn ojúewé tí ìjìn ìfẹ̀lọ wọn ju bóṣeyẹ lọ",
        "expansion-depth-exceeded-warning": "Ojúewé ní ìjìn ìfẹ̀lọ tó ju bóṣeyẹ lọ",
        "parser-unstrip-loop-warning": "Ìyípo unstrip ti jẹ́ fínfín",
-       "parser-unstrip-recursion-limit": "Ó ti kọjá àlà ìlọ́po unstrip ($1)",
+       "unstrip-depth-warning": "Ó ti kọjá àlà ìlọ́po unstrip ($1)",
        "converter-manual-rule-error": "Àṣìṣe ti jẹ́ fínfín nínú ìlànà ìyípadà èdè àfọwọ́dá",
        "undo-success": "Àtúnṣe náà ṣe é múkúrò.\nẸ jọ̀wọ́ ẹ wo ìfiwéra ìsàlẹ̀ láti rídájú pé ohun tí ẹ fẹ́ nì yẹn, nígbà náà ẹ mú àwọn àtúnṣe náà pamọ́ láti parí ìmúkúrò àtúnṣe.",
        "undo-failure": "Àtúnṣe náà kò ṣe é múkúrò nítorí títakora àwọn àtúnṣe inú àrin.",
index 0201c42..77becb9 100644 (file)
        "expansion-depth-exceeded-category-desc": "版面超出咗量大展開深度。",
        "expansion-depth-exceeded-warning": "版面超出咗展開深度",
        "parser-unstrip-loop-warning": "偵測到 Unstrip 迴圈",
-       "parser-unstrip-recursion-limit": "Unstrip 迴圈超出咗限制 ($1)",
+       "unstrip-depth-warning": "Unstrip 迴圈超出咗限制 ($1)",
        "converter-manual-rule-error": "手動語言轉換規則入面偵測到出錯",
        "undo-success": "呢個編輯可以取消。請檢查一下個差異去確認呢個係你要去做嘅,跟住儲存下面嘅更改去完成編輯。",
        "undo-failure": "呢個編輯唔能夠取消,由於同途中嘅編輯有衝突。",
index 3be0439..84ca25e 100644 (file)
        "email": "ⵉⵎⴰⵢⵍ",
        "prefs-signature": "ⴰⵙⴳⵎⴹ",
        "userrights-reason": "ⵜⴰⵎⵏⵜⵉⵍⵜ:",
+       "group-sysop": "ⵉⵏⵎⵀⴰⵍⵏ",
        "right-upload": "ⵙⴽⵜⵔ ⵉⴼⴰⵢⵍⵓⵜⵏ",
        "right-upload_by_url": "ⵙⴽⵜⵔ ⴰⴼⴰⵢⵍⵓ ⵙⴳ URL",
        "right-writeapi": "ⴰⵙⵙⵎⵔⵙ ⵏ API ⵉ ⵜⵉⵔⵔⴰ",
        "boteditletter": "ⴱⵓⵜ",
        "rc-change-size-new": "$1 {{PLURAL:$1|ⴱⴰⵢⵜ|ⵉⴷ ⴱⴰⵢⵜ}} ⴷⴼⴼⵉⵔ ⵏ ⵓⵙⵏⴼⵍ",
        "recentchangeslinked": "ⵉⵙⵏⴼⴰⵍ ⵏⵏⴰ ⵖⵓⵔ ⴰⵙⵙⴰⵖ",
+       "recentchangeslinked-feed": "ⵉⵙⵏⴼⵍⵏ ⵇⵇⵏⵏⵉⵏ",
        "recentchangeslinked-toolbox": "ⵉⵙⵏⴼⵍⵏ ⵇⵇⵏⵏⵉⵏ",
        "recentchangeslinked-title": "ⵉⵙⵏⴼⵍⵏ ⵇⵇⵏⵏⵉⵏ ⵙ $1",
        "recentchangeslinked-summary": "ⵙⴽⵛⵎ ⵉⵙⵎ ⵏ ⵜⴰⵙⵏⴰ ⵃⵎⴰ ⴰⴷ ⵜⵣⵔⴷ ⵉⵙⵏⴼⴰⵍⵏ ⵉⵎⴰⵢⵏⵓⵜⵏ ⴳ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵙⴳ ⵏⵖ ⵖⵔ ⵜⴰⵙⵏⴰ ⴰⴷ (ⵃⵎⴰ ⴰⴷ ⵜⵣⵔⴷ ⵉⴳⵎⴰⵎⵏ ⵏ ⴽⵔⴰ ⵏ ⵓⵙⵎⵉⵍ, ⵙⴽⵛⵎ ⴰⵙⵎⵉⵍ: ⵉⵙⵎ ⵏ ⵓⵙⵎⵉⵍ). ⵉⵙⵏⴼⵍⵏ ⵏ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵉⵍⵍⴰⵏ ⴳ [[Special:Watchlist|ⵜⴰⵍⴳⴰⵎⵜ ⵏ ⵓⴹⴼⴼⵓⵔ ⵏⴽ]] ⵔⴰⴷ ⵜⵢⴰⵔⴰⵏ ⵙ <strong>ⵓⵣⵓⵔⴰⵔ</strong>",
index 96b9d91..cc8e9e2 100644 (file)
        "expansion-depth-exceeded-category-desc": "页面超出最大展开深度限制。",
        "expansion-depth-exceeded-warning": "页面超出展开深度限制",
        "parser-unstrip-loop-warning": "检测到Unstrip循环",
-       "parser-unstrip-recursion-limit": "已超出Unstrip递归限制($1)",
+       "unstrip-depth-warning": "已超出Unstrip深度限制($1)",
+       "unstrip-depth-category": "超出unstrip深度限制的页面",
+       "unstrip-size-warning": "已超出Unstrip大小限制($1)",
+       "unstrip-size-category": "超出unstrip大小限制的页面",
        "converter-manual-rule-error": "在手动语言转换规则中检测到错误",
        "undo-success": "该编辑可以被撤销。请检查下面的对比以核实您想要撤销的内容,然后保存下面的更改以完成撤销。",
        "undo-failure": "因存在冲突的中间编辑,本编辑不能撤销。",
        "stub-threshold-disabled": "停用",
        "recentchangesdays": "最近更改中显示的天数:",
        "recentchangesdays-max": "最多$1天",
-       "recentchangescount": "默认显示的编辑数:",
-       "prefs-help-recentchangescount": "这包括最近更改、页面历史和日志。",
+       "recentchangescount": "在最近更改、页面历史和日志中,默认显示的编辑数:",
+       "prefs-help-recentchangescount": "最大数目:1000",
        "prefs-help-watchlist-token2": "这是您的监视列表的网络feed密钥。任何拥有者均可以浏览您的监视列表,因此不要公开该密钥。如果有需要,[[Special:ResetTokens|您可以重置密钥]]。",
        "savedprefs": "您的系统设置已保存。",
        "savedrights": "{{GENDER:$1|$1}}的用户组已被保存。",
        "sunday-at": "周日$1",
        "yesterday-at": "昨天$1",
        "bad_image_list": "格式如下:\n\n仅列表项目(以*开头的行)有效。每行的第一个链接必须是至错误文件的链接。同一行任何后续链接均被视为例外,即嵌入该文件的页面。",
-       "variantname-zh-hans": "简体",
-       "variantname-zh-hant": "繁体",
+       "variantname-zh-hans": "简体中文",
+       "variantname-zh-hant": "繁体中文",
        "variantname-zh-cn": "大陆简体",
        "variantname-zh-tw": "台湾正体",
        "variantname-zh-hk": "香港繁体",
        "limitreport-templateargumentsize-value": "$1/$2 字节",
        "limitreport-expansiondepth": "最高扩展深度",
        "limitreport-expensivefunctioncount": "高开销解析函数数量",
+       "limitreport-unstrip-depth": "Unstrip递归深度",
+       "limitreport-unstrip-depth-value": "$1/$2",
+       "limitreport-unstrip-size": "Unstrip传递扩充大小",
+       "limitreport-unstrip-size-value": "$1/$2{{PLURAL:$2|字节}}",
        "expandtemplates": "展开模板",
        "expand_templates_intro": "此特殊页面可以递归地展开所给wiki文本中的模板。它同时还可展开像<code><nowiki>{{</nowiki>#language:…}}</code>这样的解析器函数和像<code><nowiki>{{</nowiki>CURRENTDAY}}</code>这样的变量。实际上,几乎所有在双重花括号中的内容都会被展开。",
        "expand_templates_title": "上下文标题,用于{{FULLPAGENAME}}等:",
index 0e65e0f..f504416 100644 (file)
        "site-atom-feed": "$1 的 Atom 來源",
        "page-rss-feed": "\"$1\" 的 RSS 來源",
        "page-atom-feed": "\"$1\" 的 Atom 來源",
-       "red-link-title": "$1 (頁面不存在)",
+       "red-link-title": "$1(頁面不存在)",
        "sort-descending": "降冪排序",
        "sort-ascending": "昇冪排序",
        "nstab-main": "頁面",
        "password-change-forbidden": "您不可變更此 Wiki 上的密碼。",
        "externaldberror": "這可能是由於資料庫驗證錯誤,或是不允許您更新外部帳號。",
        "login": "登入",
-       "login-security": "é©\97証æ\82¨ç\9a\84 ID",
+       "login-security": "é©\97è­\89æ\82¨ç\9a\84身份",
        "nav-login-createaccount": "登入/建立帳號",
        "logout": "登出",
        "userlogout": "登出",
        "expansion-depth-exceeded-category-desc": "超出展開深度限制的頁面。",
        "expansion-depth-exceeded-warning": "頁面超出展開深度限制",
        "parser-unstrip-loop-warning": "偵測到 Unstrip 迴圈",
-       "parser-unstrip-recursion-limit": "Unstrip 遞迴超出限制 ($1)",
+       "unstrip-depth-warning": "Unstrip 遞迴超出限制 ($1)",
        "converter-manual-rule-error": "手動語言轉換規則時偵測到錯誤",
        "undo-success": "此編輯可以被還原。\n請檢查以下比較表,確認您是否要還原,然後儲存以下變更以完成編輯還原。",
        "undo-failure": "由於編輯的修訂間有衝突,此編輯不能還原。",
        "revertmerge": "取消合併",
        "mergelogpagetext": "以下是最近合併頁面歷史的清單。",
        "history-title": "「$1」的修訂歷史",
-       "difference-title": "\"$1\" 修訂間的差異",
+       "difference-title": "「$1」修訂間的差異",
        "difference-title-multipage": "頁面 \"$1\" 與 \"$2\" 間的差異",
        "difference-multipage": "(頁面間的差異)",
        "lineno": "行 $1:",
        "recentchangesdays": "近期變更顯示的天數:",
        "recentchangesdays-max": "最多 $1 {{PLURAL:$1|天}}",
        "recentchangescount": "預設顯示的編輯數:",
-       "prefs-help-recentchangescount": "這包含近期變更、頁面歷史以及日誌。",
+       "prefs-help-recentchangescount": "數量上限:1000",
        "prefs-help-watchlist-token2": "這是您的監視清單的網路訊息源所需密鑰。\n任何人只要知道密鑰就能夠讀取您的監視清單,所以請勿任意與它人共享。\n若有需要[[Special:ResetTokens|您可重設密鑰]]。",
        "savedprefs": "已儲存您的偏好設定。",
        "savedrights": "已儲存 {{GENDER:$1|$1}} 的使用者權限。",
        "right-ipblock-exempt": "略過 IP 封鎖、自動封鎖及範圍封鎖檢查",
        "right-unblockself": "解除封鎖自己",
        "right-protect": "更改保護層級及編輯被連鎖保護的頁面",
-       "right-editprotected": "編輯保護層級為 \"{{int:protect-level-sysop}}\" 的頁面",
-       "right-editsemiprotected": "編輯保護層級為 \"{{int:protect-level-autoconfirmed}}\" 的頁面",
+       "right-editprotected": "編輯保護層級為「{{int:protect-level-sysop}}」的頁面",
+       "right-editsemiprotected": "編輯保護層級為「{{int:protect-level-autoconfirmed}}」的頁面",
        "right-editcontentmodel": "編輯頁面的內容模型",
        "right-editinterface": "編輯使用者介面",
        "right-editusercss": "編輯其他使用者的 CSS 檔",
        "alreadyrolled": "無法還原由 [[User:$2|$2]] ([[User talk:$2|對話]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]] 所作的最後一次編輯 [[:$1]],已有其他人編輯或還原了該頁面。\n\n最後一次編輯該頁面的使用者是 [[User:$3|$3]] ([[User talk:$3|對話]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]])。",
        "editcomment": "編輯摘要為:<em>$1</em>。",
        "revertpage": "已還原 [[Special:Contributions/$2|$2]] ([[User talk:$2|對話]]) 的編輯為最後由 [[User:$1|$1]] 所修訂的版本",
-       "revertpage-nouser": "已還隱藏使用者的編輯為最後 {{GENDER:$1|[[User:$1|$1]]}} 修訂的版本",
+       "revertpage-nouser": "已還隱藏使用者的編輯為最後 {{GENDER:$1|[[User:$1|$1]]}} 修訂的版本",
        "rollback-success": "已還原 {{GENDER:$3|$1}} 所做的編輯;\n變更回由 {{GENDER:$4|$2}} 修訂的最後一個版本。",
        "rollback-success-notify": "已還原 $1 所做的編輯;\n變更回由 $2 修訂的最後一個版本。[$3 顯示變更]",
        "sessionfailure-title": "連線階段失敗",
        "blockipsuccesstext": "[[Special:Contributions/$1|$1]] 已經被封鎖。<br />\n請參考 [[Special:BlockList|封鎖清單]] 以檢查目前的封鎖。",
        "ipb-blockingself": "您要封鎖自己!您確定要這樣做嗎?",
        "ipb-confirmhideuser": "您要封鎖一位使用者並且 \"隱藏\" 該使用者,這會禁止顯示所有出現在清單及記錄中的使用者名稱。\n你確定要這樣做?",
-       "ipb-confirmaction": "若您確定要這樣做,請檢查下方的 \"{{int:ipb-confirm}}\" 欄位。",
+       "ipb-confirmaction": "若您確定要這樣做,請檢查下方的「{{int:ipb-confirm}}」欄位。",
        "ipb-edit-dropdown": "編輯封鎖原因",
        "ipb-unblock-addr": "解除封鎖 $1",
        "ipb-unblock": "解除封鎖使用者名稱或 IP 位址",
        "sunday-at": "週日在 $1",
        "yesterday-at": "昨天於 $1",
        "bad_image_list": "請依照下列格式:\n\n僅清單項目有效 (以 * 開頭)。每一行的第一個連結必須是不良檔案的連結。同一行除第一個以外的連結會被視作例外清單,即檔案所在的頁面。",
-       "variantname-zh-hans": "‪简体中文",
+       "variantname-zh-hans": "簡體中文",
        "variantname-zh-hant": "‪繁體中文",
        "variantname-zh-cn": "大陸簡體",
-       "variantname-zh-tw": "灣正體",
+       "variantname-zh-tw": "灣正體",
        "variantname-zh-hk": "香港繁體",
        "variantname-zh-mo": "澳門繁體",
        "variantname-zh-sg": "新加坡簡體",
-       "variantname-zh-my": "马æ\9d¥è¥¿äº\9aç®\80ä½\93",
+       "variantname-zh-my": "馬ä¾\86西äº\9eç°¡é«\94",
        "variantname-zh": "不轉換",
        "variantname-gan-hans": "贛語 (簡體)",
        "variantname-gan-hant": "贛語 (繁體)",
        "api-error-stashfailed": "內部錯誤:伺服器儲存暫存檔案失敗。",
        "api-error-unknown-warning": "不明警告:\"$1\"。",
        "api-error-unknownerror": "不明錯誤:\"$1\"。",
-       "duration-seconds": "$1 秒",
-       "duration-minutes": "$1 分鐘",
-       "duration-hours": "$1 小時",
-       "duration-days": "$1 天",
-       "duration-weeks": "$1 週",
-       "duration-years": "$1 年",
-       "duration-decades": "$1{{PLURAL:$1|0 年|0 年}}",
-       "duration-centuries": "$1 世紀",
-       "duration-millennia": "$1 千年",
+       "duration-seconds": "$1秒",
+       "duration-minutes": "$1分鐘",
+       "duration-hours": "$1小時",
+       "duration-days": "$1天",
+       "duration-weeks": "$1週",
+       "duration-years": "$1年",
+       "duration-decades": "$1{{PLURAL:$1|0年|0年}}",
+       "duration-centuries": "$1世紀",
+       "duration-millennia": "$1千年",
        "rotate-comment": "已順時針旋轉圖片 $1 {{PLURAL:$1|度|度}}",
        "limitreport-title": "解析器分析資料:",
        "limitreport-cputime": "CPU 使用時間",
        "limitreport-templateargumentsize-value": "$1/$2 個{{PLURAL:$2|位元組}}",
        "limitreport-expansiondepth": "最高展開深度",
        "limitreport-expensivefunctioncount": "高消耗解析器函數次數",
+       "limitreport-unstrip-depth-value": "$1/$2",
+       "limitreport-unstrip-size-value": "$1/$2{{PLURAL:$2|位元組}}",
        "expandtemplates": "展開模板",
        "expand_templates_intro": "本特殊頁面會將 wiki 文字中的模板展開,可以包含支援的解析器語法,如 <code><nowiki>{{</nowiki>#language:…}}</code> 與變數如 <code><nowiki>{{</nowiki>CURRENTDAY}}</code>。\n實際上,絕大部分在雙括號中的內容都會被展開。",
        "expand_templates_title": "文章標題,供 {{FULLPAGENAME}} 等使用:",
diff --git a/languages/messages/MessagesHu_formal.php b/languages/messages/MessagesHu_formal.php
new file mode 100644 (file)
index 0000000..4b67c28
--- /dev/null
@@ -0,0 +1,11 @@
+<?php
+/** Hungarian (formal) (magyar (formal))
+ *
+ * To improve a translation please visit https://translatewiki.net
+ *
+ * @ingroup Language
+ * @file
+ *
+ */
+
+$fallback = 'hu';
index 3202e59..a751cf0 100644 (file)
@@ -69,4 +69,9 @@
                display: inline-block;
                vertical-align: middle;
        }
+
+       /* T188737 */
+       .templatesUsed .mw-redirect {
+               font-style: italic;
+       }
 }
index 39252dd..df87c9c 100644 (file)
@@ -1,4 +1,3 @@
-/* eslint-disable no-use-before-define */
 ( function ( $, mw, OO ) {
        'use strict';
        var ApiSandbox, Util, WidgetMethods, Validators,
                moduleInfoCache = {},
                baseRequestParams;
 
+       /**
+        * A wrapper for a widget that provides an enable/disable button
+        *
+        * @class
+        * @private
+        * @constructor
+        * @param {OO.ui.Widget} widget
+        * @param {Object} [config] Configuration options
+        */
+       function OptionalWidget( widget, config ) {
+               var k;
+
+               config = config || {};
+
+               this.widget = widget;
+               this.$cover = config.$cover ||
+                       $( '<div>' ).addClass( 'mw-apisandbox-optionalWidget-cover' );
+               this.checkbox = new OO.ui.CheckboxInputWidget( config.checkbox )
+                       .on( 'change', this.onCheckboxChange, [], this );
+
+               OptionalWidget[ 'super' ].call( this, config );
+
+               // Forward most methods for convenience
+               for ( k in this.widget ) {
+                       if ( $.isFunction( this.widget[ k ] ) && !this[ k ] ) {
+                               this[ k ] = this.widget[ k ].bind( this.widget );
+                       }
+               }
+
+               this.$cover.on( 'click', this.onOverlayClick.bind( this ) );
+
+               this.$element
+                       .addClass( 'mw-apisandbox-optionalWidget' )
+                       .append(
+                               this.$cover,
+                               $( '<div>' ).addClass( 'mw-apisandbox-optionalWidget-fields' ).append(
+                                       $( '<div>' ).addClass( 'mw-apisandbox-optionalWidget-widget' ).append(
+                                               widget.$element
+                                       ),
+                                       $( '<div>' ).addClass( 'mw-apisandbox-optionalWidget-checkbox' ).append(
+                                               this.checkbox.$element
+                                       )
+                               )
+                       );
+
+               this.setDisabled( widget.isDisabled() );
+       }
+       OO.inheritClass( OptionalWidget, OO.ui.Widget );
+       OptionalWidget.prototype.onCheckboxChange = function ( checked ) {
+               this.setDisabled( !checked );
+       };
+       OptionalWidget.prototype.onOverlayClick = function () {
+               this.setDisabled( false );
+               if ( $.isFunction( this.widget.focus ) ) {
+                       this.widget.focus();
+               }
+       };
+       OptionalWidget.prototype.setDisabled = function ( disabled ) {
+               OptionalWidget[ 'super' ].prototype.setDisabled.call( this, disabled );
+               this.widget.setDisabled( this.isDisabled() );
+               this.checkbox.setSelected( !this.isDisabled() );
+               this.$cover.toggle( this.isDisabled() );
+               return this;
+       };
+
        WidgetMethods = {
                textInputWidget: {
                        getApiValue: function () {
                return ret;
        };
 
-       /**
-        * A wrapper for a widget that provides an enable/disable button
-        *
-        * @class
-        * @private
-        * @constructor
-        * @param {OO.ui.Widget} widget
-        * @param {Object} [config] Configuration options
-        */
-       function OptionalWidget( widget, config ) {
-               var k;
-
-               config = config || {};
-
-               this.widget = widget;
-               this.$cover = config.$cover ||
-                       $( '<div>' ).addClass( 'mw-apisandbox-optionalWidget-cover' );
-               this.checkbox = new OO.ui.CheckboxInputWidget( config.checkbox )
-                       .on( 'change', this.onCheckboxChange, [], this );
-
-               OptionalWidget[ 'super' ].call( this, config );
-
-               // Forward most methods for convenience
-               for ( k in this.widget ) {
-                       if ( $.isFunction( this.widget[ k ] ) && !this[ k ] ) {
-                               this[ k ] = this.widget[ k ].bind( this.widget );
-                       }
-               }
-
-               this.$cover.on( 'click', this.onOverlayClick.bind( this ) );
-
-               this.$element
-                       .addClass( 'mw-apisandbox-optionalWidget' )
-                       .append(
-                               this.$cover,
-                               $( '<div>' ).addClass( 'mw-apisandbox-optionalWidget-fields' ).append(
-                                       $( '<div>' ).addClass( 'mw-apisandbox-optionalWidget-widget' ).append(
-                                               widget.$element
-                                       ),
-                                       $( '<div>' ).addClass( 'mw-apisandbox-optionalWidget-checkbox' ).append(
-                                               this.checkbox.$element
-                                       )
-                               )
-                       );
-
-               this.setDisabled( widget.isDisabled() );
-       }
-       OO.inheritClass( OptionalWidget, OO.ui.Widget );
-       OptionalWidget.prototype.onCheckboxChange = function ( checked ) {
-               this.setDisabled( !checked );
-       };
-       OptionalWidget.prototype.onOverlayClick = function () {
-               this.setDisabled( false );
-               if ( $.isFunction( this.widget.focus ) ) {
-                       this.widget.focus();
-               }
-       };
-       OptionalWidget.prototype.setDisabled = function ( disabled ) {
-               OptionalWidget[ 'super' ].prototype.setDisabled.call( this, disabled );
-               this.widget.setDisabled( this.isDisabled() );
-               this.checkbox.setSelected( !this.isDisabled() );
-               this.$cover.toggle( this.isDisabled() );
-               return this;
-       };
-
        $( ApiSandbox.init );
 
        module.exports = ApiSandbox;
index 7260a0a..c469222 100644 (file)
        word-wrap: break-word;
 }
 
+.diff-title {
+       vertical-align: top;
+}
+
+.diff-notice,
+.diff-multi,
 .diff-otitle,
 .diff-ntitle {
        text-align: center;
index c0a9312..559960d 100644 (file)
@@ -32,7 +32,7 @@ class TidySupport {
         * @param bool $useConfiguration
         */
        public function __construct( $useConfiguration = false ) {
-               global $IP, $wgUseTidy, $wgTidyBin, $wgTidyInternal, $wgTidyConfig,
+               global $wgUseTidy, $wgTidyBin, $wgTidyInternal, $wgTidyConfig,
                        $wgTidyConf, $wgTidyOpts;
 
                $this->enabled = true;
@@ -55,26 +55,7 @@ class TidySupport {
                                $this->enabled = false;
                        }
                } else {
-                       $this->config = [
-                               'tidyConfigFile' => "$IP/includes/tidy/tidy.conf",
-                               'tidyCommandLine' => '',
-                       ];
-                       if ( extension_loaded( 'tidy' ) && ( wfIsHHVM() || class_exists( 'tidy' ) ) ) {
-                               $this->config['driver'] = wfIsHHVM() ? 'RaggettInternalHHVM' : 'RaggettInternalPHP';
-                       } else {
-                               if ( is_executable( $wgTidyBin ) ) {
-                                       $this->config['driver'] = 'RaggettExternal';
-                                       $this->config['tidyBin'] = $wgTidyBin;
-                               } else {
-                                       $path = ExecutableFinder::findInDefaultPaths( $wgTidyBin );
-                                       if ( $path !== false ) {
-                                               $this->config['driver'] = 'RaggettExternal';
-                                               $this->config['tidyBin'] = $wgTidyBin;
-                                       } else {
-                                               $this->enabled = false;
-                                       }
-                               }
-                       }
+                       $this->config = [ 'driver' => 'RemexHtml' ];
                }
                if ( !$this->enabled ) {
                        $this->config = [ 'driver' => 'disabled' ];
index 4d6efff..f98044b 100644 (file)
@@ -279,12 +279,6 @@ Template:EmptyTRWithHTMLAttrTest
 </table>
 !!endarticle
 
-!! article
-Template:CircularRef
-!! text
-<ref>{{CircularRef}}</ref>
-!! endarticle
-
 !! article
 Template:With: Colon
 !! text
@@ -294,22 +288,13 @@ Template with colon
 ###
 ### Basic tests
 ###
+
 !! test
 Blank input
 !! wikitext
 !! html
 !! end
 
-!! test
-CircularRef
-!! wikitext
-{{CircularRef}}
-<references />
-!! html/parsoid
-<p><span about="#mwt1" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Transclusion  mw:Extension/ref" data-parsoid='{"pi":[[]]}' data-mw='{"parts":[{"template":{"target":{"wt":"CircularRef","href":"./Template:CircularRef"},"params":{},"i":0}}]}'><a href="./Main_Page#cite_note-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></span></p>
-<ol class="mw-references references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1" id="cite_note-1"><a href="./Main_Page#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text" data-parsoid="{}">Error: Expansion loop detected at <a data-parsoid='{"a":{"href":null},"sa":{"href":"Template:CircularRef"}}'>Template:CircularRef</a></span></li></ol>
-!! end
-
 !! test
 Simple paragraph
 !! wikitext
@@ -572,13 +557,6 @@ http://fr.wikipedia.org/wiki/🍺
 </p>
 !! end
 
-# Note that the html+tidy output removes the spaces after the <li>,
-# which is a bug (https://sourceforge.net/p/tidy/bugs/945/, etc).
-# This is an issue for all tests with lists.  We intentionally do
-# *not* add html+tidy clauses for these, as we don't want to
-# document/test the broken behavior.  (Parsoid matches the non-tidy
-# output in these cases.)
-
 !! test
 Simple list
 !! wikitext
@@ -1149,8 +1127,7 @@ The ''[[Main Page]]'''s talk page.
 !! end
 
 !! test
-Parsoid only: Quote balancing context should be restricted to td/th cells on the same wikitext line
-(Requires tidy for PHP parser output to be fixed up)
+Quote balancing context should be restricted to td/th cells on the same wikitext line
 !! options
 parsoid=wt2html,wt2wt
 !! wikitext
@@ -1158,20 +1135,15 @@ parsoid=wt2html,wt2wt
 !''a!!''b
 |''a||''b
 |}
-!! html/php+tidy
+!! html+tidy
 <table>
-<tr>
+<tbody><tr>
 <th><i>a</i></th>
-<th><i>b</i></th>
+<th><i>b</i>
+</th>
 <td><i>a</i></td>
-<td><i>b</i></td>
-</tr>
-</table>
-!! html/parsoid
-<table>
-<tbody><tr><th><i>a</i></th><th><i>b</i></th>
-<td><i>a</i></td><td><i>b</i></td></tr>
-</tbody></table>
+<td><i>b</i>
+</td></tr></tbody></table>
 !! end
 
 ###
@@ -1334,11 +1306,8 @@ Non-word characters don't terminate tag names (T19663, T42670, T54022)
 </p>
 !! end
 
-# There is a tidy bug here: https://sourceforge.net/p/tidy/bugs/946/
-# If the non-word-character tag made it through the sanitizer, tidy
-# would munge it up.
 !! test
-Non-word characters don't terminate tag names + tidy
+Non-word characters don't terminate tag names
 !! wikitext
 <blockquote|>a</blockquote>
 
@@ -1352,12 +1321,13 @@ Non-word characters don't terminate tag names + tidy
 
 <sub-ID#1>
 !! html+tidy
-<p>&lt;blockquote|&gt;a</p>
-<p>&lt;b→&gt; doesn't terminate &lt;/b→&gt;</p>
-<p>&lt;bä&gt; doesn't terminate &lt;/bä&gt;</p>
-<p>&lt;boo&gt; doesn't terminate &lt;/boo&gt;</p>
-<p>&lt;s.foo&gt; doesn't terminate &lt;/s.foo&gt;</p>
-<p>&lt;sub-ID#1&gt;</p>
+<p>&lt;blockquote|&gt;a
+</p><p>&lt;b→&gt; doesn't terminate &lt;/b→&gt;
+</p><p>&lt;bä&gt; doesn't terminate &lt;/bä&gt;
+</p><p>&lt;boo&gt; doesn't terminate &lt;/boo&gt;
+</p><p>&lt;s.foo&gt; doesn't terminate &lt;/s.foo&gt;
+</p><p>&lt;sub-ID#1&gt;
+</p>
 !! end
 
 ###
@@ -1390,7 +1360,9 @@ parsoid=wt2html
 
 <s.foo>s</s>
 !! html/php+tidy
-<p>&lt;s.foo&gt;s</p>
+<p class="mw-empty-elt">
+</p><p>&lt;s.foo&gt;s
+</p>
 !! html/parsoid
 <p>&lt;s.foo&gt;s</p>
 !! end
@@ -1518,7 +1490,8 @@ Entities inside template parameters
 !! wikitext
 {{echo|&ndash;}}
 !! html/php+tidy
-<p>–</p>
+<p>&#8211;
+</p>
 !! html/parsoid
 <p><span typeof="mw:Transclusion mw:Entity" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&amp;ndash;"}},"i":0}}]}'>&ndash;</span></p>
 !! end
@@ -1888,6 +1861,7 @@ IE conditional comments
 ###
 ### paragraph wrapping tests
 ###
+
 !! test
 No block tags
 !! wikitext
@@ -1911,21 +1885,23 @@ a <div>foo</div>
 <p>b
 </p>
 !! html+tidy
-<p>a</p>
-<div>foo</div>
-<p>b</p>
+<p>a </p><div>foo</div>
+<p>b
+</p>
 !! end
 
+# Remex wraps empty tag runs with p-tags.
+# Parsoid strips them out during p-wrapping.
 !! test
 No p-wrappable content
 !! wikitext
 <span><div>x</div></span>
 <span><s><div>x</div></s></span>
 <small><em></em></small><span><s><div>x</div></s></span>
-!! html+tidy
-<div><span>x</span></div>
-<div><span><s>x</s></span></div>
-<div><span><s>x</s></span></div>
+!! html/php+tidy
+<span><div>x</div></span>
+<span><s><div>x</div></s></span>
+<p><small><em></em></small></p><span><s><div>x</div></s></span>
 !! html/parsoid
 <span><div>x</div></span>
 <span><s><div>x</div></s></span>
@@ -1954,11 +1930,9 @@ a <blockquote>foo</blockquote>
 <p>b
 </p>
 !! html+tidy
-<p>a</p>
-<blockquote>
-<p>foo</p>
-</blockquote>
-<p>b</p>
+<p>a </p><blockquote><p>foo</p></blockquote>
+<p>b
+</p>
 !! end
 
 !! test
@@ -1972,10 +1946,8 @@ a <div>foo</div>
 b <div>foo</div>
 
 !! html+tidy
-<p>a</p>
-<div>foo</div>
-<p>b</p>
-<div>foo</div>
+<p>a </p><div>foo</div><p>
+b </p><div>foo</div>
 !! end
 
 !! test
@@ -1989,14 +1961,8 @@ a <blockquote>foo</blockquote>
 b <blockquote>foo</blockquote>
 
 !! html+tidy
-<p>a</p>
-<blockquote>
-<p>foo</p>
-</blockquote>
-<p>b</p>
-<blockquote>
-<p>foo</p>
-</blockquote>
+<p>a </p><blockquote><p>foo</p></blockquote><p>
+b </p><blockquote><p>foo</p></blockquote>
 !! end
 
 !! test
@@ -2016,19 +1982,21 @@ d e
 x <div>foo</div> z
 
 !! html+tidy
-<div>foo</div>
-<p>a</p>
-<p>b c d e</p>
-<p>x</p>
-<div>foo</div>
-<p>z</p>
+<div>foo</div><p> a
+</p><p>b
+c
+d e
+</p><p>
+x </p><div>foo</div><p> z
+</p>
 !! end
 
-# Tidy strips out the empty <div> tags. Parsoid doesn't.
-# So, we have a separate section for Parsoid. We don't want
-# to mimic this stripping behavior in Parsoid. It affects
-# editing experience and also requires us to maintain additional
-# info for RT-ing.
+# The difference between Parsoid & Remex here
+# is because of Parsoid's Tidy-emulation code
+# for p-wrapping. We'll start work to remove this
+# emulation code in Parsoid sooner than later.
+# Remex wraps empty tag runs with p-tags.
+# Parsoid strips them out in a separate pass.
 !! test
 Empty lines between lines with block tags
 !! wikitext
 <div>e</div>
 
 !! html+tidy
-<p><br /></p>
-<p>a</p>
-<p>b</p>
-<div>a</div>
-<p>b</p>
-<div>b</div>
-<p>d</p>
-<p><br /></p>
+<div></div>
+<p><br />
+</p>
+<div></div><p>a
+</p><p>b
+</p>
+<div>a</div><p>b
+</p><div>b</div><p>d
+</p><p><br />
+</p>
 <div>e</div>
 !! html/parsoid
 <div data-parsoid='{"stx":"html"}'></div>
@@ -2082,7 +2052,6 @@ b
 <div data-parsoid='{"stx":"html"}'>e</div>
 !! end
 
-## PHP parser emits output which is broken
 !! test
 Unclosed HTML p-tags should be handled properly
 !! wikitext
 
 b
 !! html/php+tidy
-<div>
-<p>foo</p>
-</div>
-<p>a</p>
-<p>b</p>
+<div><p>foo</p></div>
+<p>a
+</p><p>b
+</p>
 !! html/parsoid
 <div data-parsoid='{"stx":"html"}'><p data-parsoid='{"stx":"html", "autoInsertedEnd":true}'>foo</p></div>
 <p>a</p>
@@ -2128,9 +2096,55 @@ parsoid=wt2html
 <link rel="mw:PageProp/Category" href="./Category:A1"/><p>a</p>
 !! end
 
+!! test
+No paragraph necessary for SOL transparent template
+!! wikitext
+<span><div>foo</div></span>
+[[Category:Foo]]
+
+<span><div>foo</div></span>
+{{echo|[[Category:Foo]]}}
+!! html/php
+<span><div>foo</div></span>
+<span><div>foo</div></span>
+
+!! html/parsoid
+<span data-parsoid='{"stx":"html"}'><div data-parsoid='{"stx":"html"}'>foo</div></span>
+<link rel="mw:PageProp/Category" href="./Category:Foo"/>
+
+<span data-parsoid='{"stx":"html"}'><div data-parsoid='{"stx":"html"}'>foo</div></span>
+<link rel="mw:PageProp/Category" href="./Category:Foo" about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"[[Category:Foo]]"}},"i":0}}]}'/>
+!! end
+
+!! test
+Avoid expanding multiline sol transparent template ranges unnecessarily
+!! wikitext
+hi
+
+
+{{echo|<br/>
+}}
+
+[[Category:Ho]]
+!! html/php
+<p>hi
+</p><p><br />
+<br />
+</p>
+!! html/parsoid
+<p>hi</p>
+
+<p><br />
+<br about="#mwt1" typeof="mw:Transclusion" data-parsoid='{}' data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;br/>\n"}},"i":0}}]}'/><span about="#mwt1">
+</span></p>
+
+<link rel="mw:PageProp/Category" href="./Category:Ho" />
+!! end
+
 ###
 ### Preformatted text
 ###
+
 !! test
 Preformatted text
 !! wikitext
@@ -2276,9 +2290,6 @@ Foo <del>bar</del> <ins>baz</ins> quux
 
 !! end
 
-# Note that the p-wrapping is newline sensitive, which could be
-# considered a bug: tidy will wrap only the 'Foo' in the example
-# below in a <p> tag. (see comment 23-25 of T8200)
 !! test
 T17491: <ins>/<del> in blockquote (2)
 !! wikitext
@@ -2289,9 +2300,8 @@ T17491: <ins>/<del> in blockquote (2)
 </blockquote>
 
 !! html+tidy
-<blockquote>
-<p>Foo</p>
-<del>bar</del> <ins>baz</ins> quux</blockquote>
+<blockquote><p>Foo </p><del>bar</del> <ins>baz</ins><p> quux
+</p></blockquote>
 !! end
 
 !! test
@@ -2426,7 +2436,6 @@ parsoid=wt2html
 </p>
 !! end
 
-# Parsoid doesn't strip empty tags, like Tidy does.
 !! test
 Empty pre; pre inside other HTML tags (T56946)
 !! wikitext
 foo
 </pre></div>
 <pre></pre>
-!! html/php
+!! html/php+tidy
 <p>a
 </p>
-<div><pre>
-foo
+<div><pre>foo
 </pre></div>
 <pre></pre>
-
-!! html/php+tidy
-<p>a</p>
-<div>
-<pre>
-foo
-</pre></div>
 !! html/parsoid
 <p>a</p>
 
@@ -2469,16 +2470,12 @@ HTML pre followed by indent-pre
 </pre>
 !! end
 
-# Note that tidy removes the empty <p> tags from the start and end.
-# Parsoid does not, by design.
 !! test
 Block tag pre
 !! wikitext
 <p><pre>foo</pre></p>
 !! html/php+tidy
-<pre>
-foo
-</pre>
+<p class="mw-empty-elt"></p><pre>foo</pre><p class="mw-empty-elt"></p>
 !! html/parsoid
 <p class='mw-empty-elt' data-parsoid='{"stx":"html","autoInsertedEnd":true}'></p><pre typeof="mw:Extension/pre" about="#mwt2" data-parsoid='{"stx":"html"}' data-mw='{"name":"pre","attrs":{},"body":{"extsrc":"foo"}}'>foo</pre><p class='mw-empty-elt' data-parsoid='{"autoInsertedStart":true,"stx":"html"}'></p>
 !! end
@@ -2641,10 +2638,8 @@ parsoid=wt2html
 <table>&lt;pre </table>
 
 !! html/php+tidy
-<pre>
-x
-</pre>
-<p>&lt;pre</p>
+<pre>x</pre>
+&lt;pre <table></table>
 !! html/parsoid
 <pre about="#mwt1" typeof="mw:Transclusion mw:Extension/pre" data-parsoid='{"a":{"&lt;pre":null},"sa":{"&lt;pre":""},"stx":"html","pi":[[{"k":"1"}]]}' data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;pre &lt;pre>x&lt;/pre>"}},"i":0}}]}'>x</pre>
 
@@ -2694,6 +2689,17 @@ parsoid=wt2html
 </tbody></table>
 !! end
 
+!! test
+Self-closed pre
+!! wikitext
+<pre />
+!! html/php
+<pre></pre>
+
+!! html/parsoid
+<pre typeof="mw:Extension/pre" about="#mwt2" data-mw='{"name":"pre","attrs":{},"body":null}'></pre>
+!! end
+
 !! test
 Parsoid: Don't paragraph-wrap fosterable content even if table syntax is unbalanced
 !! options
@@ -2938,7 +2944,8 @@ Templates: Parsoid parameter escaping test 1
 !! wikitext
 {{echo|[foo]|{{echo|[bar]}}}}
 !! html/php+tidy
-<p>[foo]</p>
+<p>[foo]
+</p>
 !! html/parsoid
 <p about="#mwt1" typeof="mw:Transclusion"
 data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"[foo]"},"2":{"wt":"{{echo|[bar]}}"}},"i":0}}]}'>[foo]</p>
@@ -2949,9 +2956,10 @@ Parsoid: Pipes in external links in template parameter
 !! wikitext
 {{echo|[{{echo|http://example.com}} link]}}
 !! html/php+tidy
-<p><a rel="nofollow" class="external text" href="http://example.com">link</a></p>
+<p><a rel="nofollow" class="external text" href="http://example.com">link</a>
+</p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://example.com" about="#mwt31" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"[{{echo|http://example.com}} link]"}},"i":0}}]}'>link</a></p>
+<p><a rel="mw:ExtLink" class="external text" href="http://example.com" about="#mwt31" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"[{{echo|http://example.com}} link]"}},"i":0}}]}'>link</a></p>
 !! end
 
 !! test
@@ -2959,11 +2967,10 @@ Parsoid: pipe in transclusion parameter
 !! wikitext
 {{echo|http://foo.com/a&#124;b}}
 !! html/php+tidy
-<p><a rel="nofollow" class="external free" href="http://foo.com/a%7Cb">http://foo.com/a%7Cb</a></p>
+<p><a rel="nofollow" class="external free" href="http://foo.com/a%7Cb">http://foo.com/a%7Cb</a>
+</p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://foo.com/a%7Cb" about="#mwt1"
-typeof="mw:Transclusion"
-data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"http://foo.com/a&amp;#124;b"}},"i":0}}]}'>http://foo.com/a%7Cb</a></p>
+<p><a rel="mw:ExtLink" class="external free" href="http://foo.com/a%7Cb" about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"http://foo.com/a&amp;#124;b"}},"i":0}}]}'>http://foo.com/a%7Cb</a></p>
 !! end
 
 !! test
@@ -2973,7 +2980,8 @@ parsoid=html2wt,wt2wt
 !! wikitext
 {{echo|[http://foo.com/a&#124;b a&#124;b]}}
 !! html/php+tidy
-<p><a rel="nofollow" class="external text" href="http://foo.com/a%7Cb">a|b</a></p>
+<p><a rel="nofollow" class="external text" href="http://foo.com/a%7Cb">a&#124;b</a>
+</p>
 !! html/parsoid
 <p><a rel="mw:ExtLink" href="http://foo.com/a|b" about="#mwt1"
 typeof="mw:Transclusion"
@@ -3000,7 +3008,10 @@ parsoid=html2wt,wt2wt
 {{echo|<nowiki>&lt;div&gt;</nowiki>}}
 {{echo|<nowiki></nowiki>}}
 !! html/php+tidy
-<p>foo|bar &lt;div&gt;</p>
+<p>foo|bar
+&lt;div&gt;
+
+</p>
 !! html/parsoid
 <p><span about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo<nowiki>|</nowiki>bar"}},"i":0}}]}'}'>foo</span><span typeof="mw:Nowiki" about="#mwt1">|</span><span about="#mwt1">bar</span>
 <span typeof="mw:Transclusion mw:Nowiki" about="#mwt2" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"<nowiki>&amp;lt;div&amp;gt;</nowiki>"}},"i":0}}]}'><span typeof="mw:Entity">&lt;</span>div<span typeof="mw:Entity">&gt;</span></span>
@@ -3016,7 +3027,8 @@ parsoid=html2wt,wt2wt
 !! wikitext
 {{echo|{{echo|1=bar}}}}
 !! html/php+tidy
-<p>bar</p>
+<p>bar
+</p>
 !! html/parsoid
 <p about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"{{echo|1=bar}}"}},"i":0}}]}'>bar</p>
 !! end
@@ -3027,7 +3039,8 @@ Templates parameters with special tokenizing behavior dont get modified because
 !! wikitext
 {{echo|a : b}}
 !! html/php+tidy
-<p>a&#160;: b</p>
+<p>a&#160;: b
+</p>
 !! html/parsoid
 <p about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"a : b"}},"i":0}}]}'>a<span typeof="mw:DisplaySpace mw:Placeholder" data-parsoid='{"isDisplayHack":true}'> </span>: b</p>
 !! end
@@ -3038,7 +3051,8 @@ Templates: Preserve blank parameter names
 !! wikitext
 {{echo|=foo}}
 !! html/php+tidy
-<p>{{{1}}}</p>
+<p>{{{1}}}
+</p>
 !! html/parsoid
 <p about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"":{"wt":"foo"}},"i":0}}]}'>{{{1}}}</p>
 !! end
@@ -3048,7 +3062,9 @@ Templates: Preserve blank parameter names in other positions
 !! wikitext
 {{blank_param|bar|=foo}}
 !! html/php+tidy
-<p>bar foo</p>
+<p>bar
+foo
+</p>
 !! html/parsoid
 <p about="#mwt1" typeof="mw:Transclusion" data-parsoid='{"pi":[[{"k":"1"},{"k":"","named":true}]]}' data-mw='{"parts":[{"template":{"target":{"wt":"blank_param","href":"./Template:Blank_param"},"params":{"1":{"wt":"bar"},"":{"wt":"foo"}},"i":0}}]}'>bar
 foo</p>
  <p>c </p><blockquote data-parsoid='{"stx":"html"}'> foo </blockquote>
 <pre><span> foo </span>
 </pre>
-!! html+tidy
-<p>a</p>
-<p>foo</p>
-<p>b</p>
-<div>foo</div>
-<p>c</p>
-<blockquote>
-<p>foo</p>
-</blockquote>
-<pre>
-<span> foo </span>
+!! html/php+tidy
+<p> a </p><p> foo </p><p>
+ b </p><div> foo </div><p>
+ c </p><blockquote><p> foo </p></blockquote>
+<pre><span> foo </span>
 </pre>
 !! end
 
 !! html/parsoid
 <pre>a <span data-parsoid='{"stx":"html"}'>foo</span></pre>
  b <div data-parsoid='{"stx":"html"}'> foo </div>
-!! html+tidy
-<pre>
-a <span>foo</span>
-</pre>
-<p>b</p>
-<div>foo</div>
+!! html/php+tidy
+<pre>a <span>foo</span>
+</pre><p>
+ b </p><div> foo </div>
 !!end
 
 !!test
@@ -3527,7 +3535,8 @@ a <!--
 foo
 --> b
 !! html/php+tidy
-<p>a b</p>
+<p>a  b
+</p>
 !! html/parsoid
 <p>a <!--
 foo
@@ -3558,11 +3567,8 @@ foo
 foo
 </pre>
 !! html/php+tidy
-<pre>
-foo
-</pre>
-<pre>
-foo
+<pre>foo</pre>
+<pre>foo
 </pre>
 <pre>
 
@@ -3759,7 +3765,7 @@ Definition list with news link containing colon
 <dd> This isn't even a real newsgroup!</dd></dl>
 
 !! html/parsoid
-<dl><dt>  <a rel="mw:ExtLink" href="news:alt.wikipedia.rox" data-parsoid='{"stx":"url"}'>news:alt.wikipedia.rox</a></dt><dd data-parsoid='{"stx":"row"}'> This isn't even a real newsgroup!</dd></dl>
+<dl><dt>  <a rel="mw:ExtLink" class="external free" href="news:alt.wikipedia.rox" data-parsoid='{"stx":"url"}'>news:alt.wikipedia.rox</a></dt><dd data-parsoid='{"stx":"row"}'> This isn't even a real newsgroup!</dd></dl>
 !! end
 
 !! test
@@ -3815,10 +3821,8 @@ Definition lists: excess closed tags
 !! wikitext
 ;one</b>two : bad tag fun
 !! html/php+tidy
-<dl>
-<dt>onetwo&#160;</dt>
-<dd>bad tag fun</dd>
-</dl>
+<dl><dt>onetwo&#160;</dt>
+<dd> bad tag fun</dd></dl>
 !! html/parsoid
 <dl>
 <dt>onetwo</dt>
@@ -4097,13 +4101,11 @@ Table / list interaction: lists nested in tables nested in indented lists
 
 !! test
 Definition Lists: Nesting: Multi-level (Parsoid only)
-!! options
-parsoid
 !! wikitext
 ;t1 :d1
 ;;t2 ::d2
 ;;;t3 :::d3
-!! html
+!! html/parsoid
 <dl>
   <dt>t1 </dt>
   <dd>d1</dd>
@@ -4126,72 +4128,26 @@ parsoid
 
 
 !! test
-Definition Lists: Nesting: Test 2 (Parsoid only)
+Definition Lists: Nesting: Test 2
 !! wikitext
 ;t1
 ::d2
-!! html/php+tidy
-<dl>
-<dt>t1</dt>
+!! html+tidy
+<dl><dt>t1</dt>
 <dd>
-<dl>
-<dd>d2</dd>
-</dl>
-</dd>
-</dl>
-!! html/parsoid
-<dl>
-  <dt>t1</dt>
-  <dd>
-    <dl>
-      <dd>d2</dd>
-    </dl>
-  </dd>
-</dl>
-
+<dl><dd>d2</dd></dl></dd></dl>
 !! end
 
 
 !! test
-Definition Lists: Nesting: Test 3 (Parsoid only)
+Definition Lists: Nesting: Test 3
 !! wikitext
 :;t1
 ::::d2
-!! html/php+tidy
-<dl>
-<dd>
-<dl>
-<dt>t1</dt>
-<dd>
-<dl>
+!! html+tidy
+<dl><dd><dl><dt>t1</dt>
 <dd>
-<dl>
-<dd>d2</dd>
-</dl>
-</dd>
-</dl>
-</dd>
-</dl>
-</dd>
-</dl>
-!! html/parsoid
-<dl>
-  <dd>
-    <dl>
-      <dt>t1</dt>
-      <dd>
-        <dl>
-          <dd>
-            <dl>
-              <dd>d2</dd>
-            </dl>
-          </dd>
-        </dl>
-      </dd>
-    </dl>
-  </dd>
-</dl>
-
+<dl><dd><dl><dd>d2</dd></dl></dd></dl></dd></dl></dd></dl>
 !! end
 
 
@@ -4225,21 +4181,9 @@ Definition Lists: Mixed Lists: Test 1
 <dl><dt> baz</dt></dl></dd></dl>
 
 !! html/php+tidy
-<dl>
-<dd>
-<dl>
-<dd>
-<ul>
-<li>foo</li>
-<li>bar</li>
-</ul>
-</dd>
-</dl>
-<dl>
-<dt>baz</dt>
-</dl>
-</dd>
-</dl>
+<dl><dd><dl><dt><ul><li> foo</li>
+<li> bar</li></ul></dt></dl>
+<dl><dt> baz</dt></dl></dd></dl>
 !! html/parsoid
 <dl>
 <dd><dl>
@@ -4363,27 +4307,28 @@ Definition Lists: Mixed Lists: Test 10
 
 !! end
 
+# The Parsoid team disagrees with the PHP parser's seemingly-random
+# rules regarding dd/dt on the next few tests.  Parsoid is more
+# consistent, and recognizes the shared nesting and keeps the
+# still-open tags around until the nesting is complete.
+
 # This is a regression test for T175099
-# html/php+tidy is insufficient since Tidy covers up the bug.
-# But once Tidy is replaced with RemexHTML, html/php+tidy is good enough
 !! test
 Definition Lists: Mixed Lists: Test 11
 !! wikitext
-; a
-:* b
-!! html/*
-<dl><dt> a</dt>
+;a
+:*b
+!! html/php
+<dl><dt>a</dt>
 <dd>
-<ul><li> b</li></ul></dd></dl>
+<ul><li>b</li></ul></dd></dl>
 
+!! html/parsoid
+<dl><dt>a
+<dd><ul><li>b</li></ul></dd></dl>
 !! end
 
-# The Parsoid team disagrees with the PHP parser's seemingly-random
-# rules regarding dd/dt on the next two tests.  Parsoid is more
-# consistent, and recognizes the shared nesting and keeps the
-# still-open tags around until the nesting is complete.
-# (And tidy again converts <dt> to <dd> before 'bar'.)
-
+# FIXME: Maybe get rid of this test?
 !! test
 Definition Lists: Mixed Lists: Test 12
 !! wikitext
@@ -4396,42 +4341,10 @@ Definition Lists: Mixed Lists: Test 12
 <dd>baz</dd></dl></li></ol></li></ul></li></ol></li></ul>
 
 !! html/php+tidy
-<ul>
-<li>
-<ol>
-<li>
-<ul>
-<li>
-<ol>
-<li>
-<dl>
-<dt>foo&#160;</dt>
-<dd>
-<ul>
-<li>
-<dl>
-<dd>
-<dl>
-<dt>bar</dt>
-</dl>
-</dd>
-</dl>
-</li>
-</ul>
-</dd>
-</dl>
-<dl>
-<dt>boo&#160;</dt>
-<dd>baz</dd>
-</dl>
-</li>
-</ol>
-</li>
-</ul>
-</li>
-</ol>
-</li>
-</ul>
+<ul><li><ol><li><ul><li><ol><li><dl><dt>foo&#160;</dt>
+<dd><ul><li><dl><dt><dl><dt>bar</dt></dl></dt></dl></li></ul></dd></dl></li></ol></li></ul>
+<dl><dt>boo&#160;</dt>
+<dd>baz</dd></dl></li></ol></li></ul>
 !! html/parsoid
 <ul>
 <li>
@@ -4462,8 +4375,7 @@ Definition Lists: Mixed Lists: Test 12
 </ul>
 !! end
 
-
-# Another case where tidy converts a <dt> to a <dd> (but Parsoid doesn't).
+# FIXME: Maybe get rid of this test?
 # From whitelist:
 # * The test is wrong, there are two colons where there should be :;
 # * The PHP parser is wrong to close the <dl> after the <dt> containing the <ul>.
@@ -4471,43 +4383,9 @@ Definition Lists: Mixed Lists: Test 12
 Definition Lists: Weird Ones: Test 1
 !! wikitext
 *#;*::;; foo : bar (who uses this?)
-!! html/php
-<ul><li><ol><li><dl><dt> foo&#160;</dt>
-<dd><ul><li><dl><dd><dl><dd><dl><dt><dl><dt> bar (who uses this?)</dt></dl></dd></dl></dd></dl></dd></dl></li></ul></dd></dl></li></ol></li></ul>
-
 !! html/php+tidy
-<ul>
-<li>
-<ol>
-<li>
-<dl>
-<dt>foo&#160;</dt>
-<dd>
-<ul>
-<li>
-<dl>
-<dd>
-<dl>
-<dd>
-<dl>
-<dd>
-<dl>
-<dt>bar (who uses this?)</dt>
-</dl>
-</dd>
-</dl>
-</dd>
-</dl>
-</dd>
-</dl>
-</li>
-</ul>
-</dd>
-</dl>
-</li>
-</ol>
-</li>
-</ul>
+<ul><li><ol><li><dl><dt> foo&#160;</dt>
+<dd><ul><li><dl><dd><dl><dd><dl><dt><dl><dt> bar (who uses this?)</dt></dl></dt></dl></dd></dl></dd></dl></li></ul></dd></dl></li></ol></li></ul>
 !! html/parsoid
 <ul>
 <li>
@@ -4550,37 +4428,18 @@ Definition Lists: colons occurring in tags
 ;{{echo|''a:b''}}
 ;;;''a:b''
 !! html+tidy
-<dl>
-<dt>a</dt>
+<dl><dt>a</dt>
 <dd>b</dd>
 <dt><b>a:b</b></dt>
 <dt><i>a:b</i></dt>
 <dt><span>a:b</span></dt>
-<dd>
-<div>a:b</div>
-</dd>
-<dd>
-<div>a
-<dl>
+<dt><div>a:b</div></dt>
+<dt><div>a</div></dt>
 <dd>b</dd>
-</dl>
-</div>
-</dd>
 <dt>a</dt>
 <dd>b</dd>
-<dt><i>a:b</i></dt>
-</dl>
-<dl>
-<dd>
-<dl>
-<dd>
-<dl>
-<dt><i>a:b</i></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-</dl>
+<dt><i>a:b</i></dt></dl>
+<dl><dt><dl><dt><dl><dt><i>a:b</i></dt></dl></dt></dl></dt></dl>
 !! html/parsoid
 <dl><dt>a</dt><dd data-parsoid='{"stx":"row"}'>b</dd>
 <dt><b>a:b</b></dt>
@@ -4594,6 +4453,9 @@ Definition Lists: colons occurring in tags
 <dl><dt><dl><dt><i>a:b</i></dt></dl></dt></dl></dt></dl>
 !! end
 
+# Parsoid's output differs here again because it shares
+# nesting between the two lists unlike the PHP parser.
+# Unsure which is more desirable.
 !! test
 Definition Lists: colons and tables 1
 !! wikitext
@@ -4603,7 +4465,7 @@ Definition Lists: colons and tables 1
 :{|
 | y
 |}
-!! html
+!! html/php
 <dl><dd><table>
 <tr>
 <td> x
@@ -4613,22 +4475,6 @@ Definition Lists: colons and tables 1
 <td> y
 </td></tr></table></dd></dl>
 
-!! end
-
-# Parsoid's output (as documented below) differs from php's in this case.
-# This is probably a bug. If we fixup parsoid to match php's output, the
-# above test should pass and the below test case can be removed. It is
-# unclear which output is more desirable.
-
-!! test
-Definition Lists: colons and tables 2
-!! wikitext
-:{|
-| x
-|}
-:{|
-| y
-|}
 !! html/parsoid
 <dl><dd><table>
 <tr>
@@ -4640,6 +4486,7 @@ Definition Lists: colons and tables 2
 </td></tr></table></dd></dl>
 !! end
 
+# FIXME: Does this need a html/php section?
 !! test
 Definition Lists: template interaction
 !! wikitext
@@ -4688,9 +4535,9 @@ Numbered: <a rel="nofollow" class="external autonumber" href="http://example.net
 Numbered: <a rel="nofollow" class="external autonumber" href="http://example.com">[3]</a>
 </p>
 !! html/parsoid
-<p>Numbered: <a rel="mw:ExtLink" href="http://example.com"></a>
-Numbered: <a rel="mw:ExtLink" href="http://example.net"></a>
-Numbered: <a rel="mw:ExtLink" href="http://example.com"></a></p>
+<p>Numbered: <a rel="mw:ExtLink" class="external autonumber" href="http://example.com"></a>
+Numbered: <a rel="mw:ExtLink" class="external autonumber" href="http://example.net"></a>
+Numbered: <a rel="mw:ExtLink" class="external autonumber" href="http://example.com"></a></p>
 !!end
 
 !! test
@@ -4729,7 +4576,7 @@ External links: dollar sign in URL (autonumber)
 <p><a rel="nofollow" class="external autonumber" href="http://example.com/1$2345">[1]</a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://example.com/1$2345"></a></p>
+<p><a rel="mw:ExtLink" class="external autonumber" href="http://example.com/1$2345"></a></p>
 !!end
 
 !! test
@@ -4742,7 +4589,7 @@ http://example.com/1[2345
 <p><a rel="nofollow" class="external free" href="http://example.com/1">http://example.com/1</a>[2345
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://example.com/1">http://example.com/1</a>[2345</p>
+<p><a rel="mw:ExtLink" class="external free" href="http://example.com/1">http://example.com/1</a>[2345</p>
 !! end
 
 !! test
@@ -4755,7 +4602,7 @@ parsoid=wt2html,html2html
 <p><a rel="nofollow" class="external text" href="http://example.com/1">[2345</a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://example.com/1">[2345</a></p>
+<p><a rel="mw:ExtLink" class="external text" href="http://example.com/1">[2345</a></p>
 !!end
 
 # parsoid adds a space before the link name
@@ -4816,7 +4663,7 @@ External links: protocol-relative URL in brackets without text
 <p><a rel="nofollow" class="external autonumber" href="//example.com">[1]</a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="//example.com"></a></p>
+<p><a rel="mw:ExtLink" class="external autonumber" href="//example.com"></a></p>
 !! end
 
 !! test
@@ -4854,7 +4701,7 @@ parsoid=wt2html,wt2wt
 </p><p><a href="http://en.wikipedia.org/wiki/Foo" class="extiw" title="wikipedia:Foo"><span>Bar</span></a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://en.wikipedia.org/wiki/Foo"></a></p>
+<p><a rel="mw:ExtLink" class="external autonumber" href="http://en.wikipedia.org/wiki/Foo"></a></p>
 <p><a rel="mw:WikiLink/Interwiki" href="http://en.wikipedia.org/wiki/Foo" title="wikipedia:Foo">Bar</a></p>
 <p><a rel="mw:WikiLink/Interwiki" href="http://en.wikipedia.org/wiki/Foo" title="wikipedia:Foo"><span>Bar</span></a></p>
 !! end
@@ -4903,25 +4750,25 @@ http://example.com/url_with_entity&#60;
 <a rel="nofollow" class="external free" href="http://example.com/url_with_entity">http://example.com/url_with_entity</a>&#60;
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://example.com">http://example.com</a>,
-<a rel="mw:ExtLink" href="http://example.com">http://example.com</a>;
-<a rel="mw:ExtLink" href="http://example.com">http://example.com</a>\
-<a rel="mw:ExtLink" href="http://example.com">http://example.com</a>.
-<a rel="mw:ExtLink" href="http://example.com">http://example.com</a>:
-<a rel="mw:ExtLink" href="http://example.com">http://example.com</a>!
-<a rel="mw:ExtLink" href="http://example.com">http://example.com</a>?
-<a rel="mw:ExtLink" href="http://example.com">http://example.com</a>)
-<a rel="mw:ExtLink" href="http://example.com/url_with_(brackets)">http://example.com/url_with_(brackets)</a>
-(<a rel="mw:ExtLink" href="http://example.com/url_without_brackets">http://example.com/url_without_brackets</a>)
-<a rel="mw:ExtLink" href="http://example.com/url_with_entity&amp;">http://example.com/url_with_entity&amp;</a>
-<a rel="mw:ExtLink" href="http://example.com/url_with_entity&amp;">http://example.com/url_with_entity&amp;</a>
-<a rel="mw:ExtLink" href="http://example.com/url_with_entity&amp;">http://example.com/url_with_entity&amp;</a>
-<a rel="mw:ExtLink" href="http://example.com/url_with_entity">http://example.com/url_with_entity</a><span typeof="mw:Entity" data-parsoid='{"src":"&amp;nbsp;","srcContent":" "}'> </span>
-<a rel="mw:ExtLink" href="http://example.com/url_with_entity">http://example.com/url_with_entity</a><span typeof="mw:Entity" data-parsoid='{"src":"&amp;#xA0;","srcContent":" "}'> </span>
-<a rel="mw:ExtLink" href="http://example.com/url_with_entity">http://example.com/url_with_entity</a><span typeof="mw:Entity" data-parsoid='{"src":"&amp;#160;","srcContent":" "}'> </span>
-<a rel="mw:ExtLink" href="http://example.com/url_with_entity">http://example.com/url_with_entity</a><span typeof="mw:Entity" data-parsoid='{"src":"&amp;lt;","srcContent":"&lt;"}'>&lt;</span>
-<a rel="mw:ExtLink" href="http://example.com/url_with_entity">http://example.com/url_with_entity</a><span typeof="mw:Entity" data-parsoid='{"src":"&amp;#x3C;","srcContent":"&lt;"}'>&lt;</span>
-<a rel="mw:ExtLink" href="http://example.com/url_with_entity">http://example.com/url_with_entity</a><span typeof="mw:Entity" data-parsoid='{"src":"&amp;#60;","srcContent":"&lt;"}'>&lt;</span></p>
+<p><a rel="mw:ExtLink" class="external free" href="http://example.com">http://example.com</a>,
+<a rel="mw:ExtLink" class="external free" href="http://example.com">http://example.com</a>;
+<a rel="mw:ExtLink" class="external free" href="http://example.com">http://example.com</a>\
+<a rel="mw:ExtLink" class="external free" href="http://example.com">http://example.com</a>.
+<a rel="mw:ExtLink" class="external free" href="http://example.com">http://example.com</a>:
+<a rel="mw:ExtLink" class="external free" href="http://example.com">http://example.com</a>!
+<a rel="mw:ExtLink" class="external free" href="http://example.com">http://example.com</a>?
+<a rel="mw:ExtLink" class="external free" href="http://example.com">http://example.com</a>)
+<a rel="mw:ExtLink" class="external free" href="http://example.com/url_with_(brackets)">http://example.com/url_with_(brackets)</a>
+(<a rel="mw:ExtLink" class="external free" href="http://example.com/url_without_brackets">http://example.com/url_without_brackets</a>)
+<a rel="mw:ExtLink" class="external free" href="http://example.com/url_with_entity&amp;">http://example.com/url_with_entity&amp;</a>
+<a rel="mw:ExtLink" class="external free" href="http://example.com/url_with_entity&amp;">http://example.com/url_with_entity&amp;</a>
+<a rel="mw:ExtLink" class="external free" href="http://example.com/url_with_entity&amp;">http://example.com/url_with_entity&amp;</a>
+<a rel="mw:ExtLink" class="external free" href="http://example.com/url_with_entity">http://example.com/url_with_entity</a><span typeof="mw:Entity" data-parsoid='{"src":"&amp;nbsp;","srcContent":" "}'> </span>
+<a rel="mw:ExtLink" class="external free" href="http://example.com/url_with_entity">http://example.com/url_with_entity</a><span typeof="mw:Entity" data-parsoid='{"src":"&amp;#xA0;","srcContent":" "}'> </span>
+<a rel="mw:ExtLink" class="external free" href="http://example.com/url_with_entity">http://example.com/url_with_entity</a><span typeof="mw:Entity" data-parsoid='{"src":"&amp;#160;","srcContent":" "}'> </span>
+<a rel="mw:ExtLink" class="external free" href="http://example.com/url_with_entity">http://example.com/url_with_entity</a><span typeof="mw:Entity" data-parsoid='{"src":"&amp;lt;","srcContent":"&lt;"}'>&lt;</span>
+<a rel="mw:ExtLink" class="external free" href="http://example.com/url_with_entity">http://example.com/url_with_entity</a><span typeof="mw:Entity" data-parsoid='{"src":"&amp;#x3C;","srcContent":"&lt;"}'>&lt;</span>
+<a rel="mw:ExtLink" class="external free" href="http://example.com/url_with_entity">http://example.com/url_with_entity</a><span typeof="mw:Entity" data-parsoid='{"src":"&amp;#60;","srcContent":"&lt;"}'>&lt;</span></p>
 !! end
 
 !! test
@@ -4934,7 +4781,7 @@ http://example.com/url_with_entity&amp;amp;
 <p><a rel="nofollow" class="external free" href="http://example.com/url_with_entity&amp;amp">http://example.com/url_with_entity&amp;amp</a>;
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://example.com/url_with_entity&amp;amp">http://example.com/url_with_entity&amp;amp</a>;</p>
+<p><a rel="mw:ExtLink" class="external free" href="http://example.com/url_with_entity&amp;amp">http://example.com/url_with_entity&amp;amp</a>;</p>
 !! end
 
 !! test
@@ -4949,7 +4796,7 @@ news:'a'b''c''d e
 </p>
 !! html/parsoid
 <p><b>News:</b> Stuff here</p>
-<p><a rel="mw:ExtLink" href="news:'a'b">news:'a'b</a><i>c</i>d e</p>
+<p><a rel="mw:ExtLink" class="external free" href="news:'a'b">news:'a'b</a><i>c</i>d e</p>
 !! end
 
 !! test
@@ -4960,7 +4807,7 @@ External links: with entity
 <p><a rel="nofollow" class="external text" href="http://+www.librarieswithoutborders.org">Libraries without borders</a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://+www.librarieswithoutborders.org" data-parsoid='{"a":{"href":"http://+www.librarieswithoutborders.org"},"sa":{"href":"http://&amp;#x20;www.librarieswithoutborders.org"}}'>Libraries without borders</a></p>
+<p><a rel="mw:ExtLink" class="external text" href="http://+www.librarieswithoutborders.org" data-parsoid='{"a":{"href":"http://+www.librarieswithoutborders.org"},"sa":{"href":"http://&amp;#x20;www.librarieswithoutborders.org"}}'>Libraries without borders</a></p>
 !! end
 
 !! test
@@ -5090,10 +4937,10 @@ parsoid=wt2html
 !! wikitext
 URL in text: [http://example.com http://example.com]
 !! html/php
-<p>URL in text: <a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>
+<p>URL in text: <a rel="nofollow" class="external text" href="http://example.com">http://example.com</a>
 </p>
 !! html/parsoid
-<p>URL in text: <a rel="mw:ExtLink" href="http://example.com">http://example.com</a></p>
+<p>URL in text: <a rel="mw:ExtLink" class="external free" href="http://example.com">http://example.com</a></p>
 !! end
 
 !! test
@@ -5104,7 +4951,7 @@ ja-style clickable images: [http://example.com http://meta.wikimedia.org/upload/
 <p>ja-style clickable images: <a rel="nofollow" class="external text" href="http://example.com"><img src="http://meta.wikimedia.org/upload/f/f1/Ncwikicol.png" alt="Ncwikicol.png"/></a>
 </p>
 !! html/parsoid
-<p>ja-style clickable images: <a rel="mw:ExtLink" href="http://example.com"><img src="http://meta.wikimedia.org/upload/f/f1/Ncwikicol.png" alt="Ncwikicol.png" data-parsoid='{"type":"extlink"}'/></a></p>
+<p>ja-style clickable images: <a rel="mw:ExtLink" class="external text" href="http://example.com"><img src="http://meta.wikimedia.org/upload/f/f1/Ncwikicol.png" alt="Ncwikicol.png" data-parsoid='{"type":"extlink"}'/></a></p>
 !! end
 
 !! test
@@ -5124,7 +4971,7 @@ Old &amp; use: http://x&amp;y
 <p>Old &amp; use: <a rel="nofollow" class="external free" href="http://x&amp;y">http://x&amp;y</a>
 </p>
 !! html/parsoid
-<p>Old <span typeof="mw:Entity">&amp;</span> use: <a rel="mw:ExtLink" href="http://x&amp;y">http://x&amp;y</a></p>
+<p>Old <span typeof="mw:Entity">&amp;</span> use: <a rel="mw:ExtLink" class="external free" href="http://x&amp;y">http://x&amp;y</a></p>
 !! end
 
 !! test
@@ -5135,7 +4982,7 @@ http://example.com/?foo&#61;bar
 <p><a rel="nofollow" class="external free" href="http://example.com/?foo=bar">http://example.com/?foo=bar</a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://example.com/?foo=bar">http://example.com/?foo=bar</a></p>
+<p><a rel="mw:ExtLink" class="external free" href="http://example.com/?foo=bar">http://example.com/?foo=bar</a></p>
 !! end
 
 ##
@@ -5152,7 +4999,7 @@ Old &amp; use: [http://x&y]
 <p>Old &amp; use: <a rel="nofollow" class="external autonumber" href="http://x&amp;y">[1]</a>
 </p>
 !! html/parsoid
-<p>Old <span typeof="mw:Entity">&amp;</span> use: <a rel="mw:ExtLink" href="http://x&amp;y"></a></p>
+<p>Old <span typeof="mw:Entity">&amp;</span> use: <a rel="mw:ExtLink" class="external autonumber" href="http://x&amp;y"></a></p>
 !! end
 
 # note that parsoid html is identical to [raw ampersand] case; so html2wt
@@ -5167,7 +5014,7 @@ Old &amp; use: [http://x&amp;y]
 <p>Old &amp; use: <a rel="nofollow" class="external autonumber" href="http://x&amp;y">[1]</a>
 </p>
 !! html/parsoid
-<p>Old <span typeof="mw:Entity">&amp;</span> use: <a rel="mw:ExtLink" href="http://x&amp;y"></a></p>
+<p>Old <span typeof="mw:Entity">&amp;</span> use: <a rel="mw:ExtLink" class="external autonumber" href="http://x&amp;y"></a></p>
 !! end
 
 !! test
@@ -5178,7 +5025,7 @@ External links: [raw equals]
 <p><a rel="nofollow" class="external autonumber" href="http://example.com/?foo=bar">[1]</a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://example.com/?foo=bar"></a></p>
+<p><a rel="mw:ExtLink" class="external autonumber" href="http://example.com/?foo=bar"></a></p>
 !! end
 
 # note that parsoid html is identical to [raw equals] case; so html2wt
@@ -5193,7 +5040,7 @@ parsoid=wt2html,wt2wt,html2html
 <p><a rel="nofollow" class="external autonumber" href="http://example.com/?foo=bar">[1]</a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://example.com/?foo=bar"></a></p>
+<p><a rel="mw:ExtLink" class="external autonumber" href="http://example.com/?foo=bar"></a></p>
 !! end
 
 # xxx parsoid strips the IDN character, so the round-trip tests will
@@ -5208,7 +5055,7 @@ parsoid=wt2html,wt2wt,html2html
 <p><a rel="nofollow" class="external autonumber" href="http://example.com/">[1]</a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://example.com/"></a></p>
+<p><a rel="mw:ExtLink" class="external autonumber" href="http://example.com/"></a></p>
 !! end
 
 # FIXME: This test (the IDN characters in the text of a link) is an inconsistency.
@@ -5240,7 +5087,7 @@ http://e&zwnj;xample.com/
 <p><a rel="nofollow" class="external free" href="http://example.com/">http://example.com/</a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://example.com/">http://example.com/</a></p>
+<p><a rel="mw:ExtLink" class="external free" href="http://example.com/">http://example.com/</a></p>
 !! end
 
 !! test
@@ -5261,7 +5108,7 @@ External links: URL within URL (T2002)
 <p><a rel="nofollow" class="external autonumber" href="http://www.unausa.org/newindex.asp?place=http://www.unausa.org/programs/mun.asp">[1]</a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://www.unausa.org/newindex.asp?place=http://www.unausa.org/programs/mun.asp"></a></p>
+<p><a rel="mw:ExtLink" class="external autonumber" href="http://www.unausa.org/newindex.asp?place=http://www.unausa.org/programs/mun.asp"></a></p>
 !! end
 
 !! test
@@ -5299,7 +5146,7 @@ http://www.example.com/<b>html</b>
 <p><a rel="nofollow" class="external free" href="http://www.example.com/">http://www.example.com/</a><b>html</b>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://www.example.com/" data-parsoid='{"stx":"url"}'>http://www.example.com/</a><b data-parsoid='{"stx":"html"}'>html</b></p>
+<p><a rel="mw:ExtLink" class="external free" href="http://www.example.com/" data-parsoid='{"stx":"url"}'>http://www.example.com/</a><b data-parsoid='{"stx":"html"}'>html</b></p>
 !! end
 
 !! test
@@ -5358,17 +5205,22 @@ External links: link text with spaces
 </p>
 !! end
 
+# Note edge case difference between PHP and Parsoid here.
 !! test
 External links: wiki links within external link (T5695)
 !! options
 parsoid=wt2html,html2html
 !! wikitext
 [http://example.com [[wikilink]] embedded in ext link]
+
+[http://example.com test [[wikilink]] embedded in ext link]
 !! html/php
 <p><a rel="nofollow" class="external text" href="http://example.com"></a><a href="/index.php?title=Wikilink&amp;action=edit&amp;redlink=1" class="new" title="Wikilink (page does not exist)">wikilink</a><a rel="nofollow" class="external text" href="http://example.com"> embedded in ext link</a>
+</p><p><a rel="nofollow" class="external text" href="http://example.com">test </a><a href="/index.php?title=Wikilink&amp;action=edit&amp;redlink=1" class="new" title="Wikilink (page does not exist)">wikilink</a><a rel="nofollow" class="external text" href="http://example.com"> embedded in ext link</a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://example.com"></a><a rel="mw:WikiLink" href="./Wikilink" title="Wikilink">wikilink</a><span> embedded in ext link</span></p>
+<p><a rel="mw:ExtLink" class="external autonumber" href="http://example.com"></a><a rel="mw:WikiLink" href="./Wikilink" title="Wikilink">wikilink</a><span> embedded in ext link</span></p>
+<p><a rel="mw:ExtLink" class="external text" href="http://example.com">test </a><a rel="mw:WikiLink" href="./Wikilink" title="Wikilink">wikilink</a><span> embedded in ext link</span></p>
 !! end
 
 !! test
@@ -5412,8 +5264,8 @@ parsoid=wt2html
 </p><p>{{echo|[[Foo}}
 </p>
 !! html/parsoid
-<p>[<a rel="mw:ExtLink" href="http://example.com">http://example.com</a> x</p>
-<p typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"[http://example.com x"}},"i":0}}]}'>[<a rel="mw:ExtLink" href="http://example.com">http://example.com</a> x</p>
+<p>[<a rel="mw:ExtLink" class="external free" href="http://example.com">http://example.com</a> x</p>
+<p typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"[http://example.com x"}},"i":0}}]}'>[<a rel="mw:ExtLink" class="external free" href="http://example.com">http://example.com</a> x</p>
 <p>[[Foo</p>
 <p>{{echo|[[Foo}}</p>
 !! end
@@ -5476,7 +5328,7 @@ http://www.example.com/?title=AT%26T
 <p><a rel="nofollow" class="external free" href="http://www.example.com/?title=AT%26T">http://www.example.com/?title=AT%26T</a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://www.example.com/?title=AT%26T">http://www.example.com/?title=AT%26T</a></p>
+<p><a rel="mw:ExtLink" class="external free" href="http://www.example.com/?title=AT%26T">http://www.example.com/?title=AT%26T</a></p>
 !! end
 
 # According to https://www.w3.org/TR/2011/WD-html5-20110525/Overview.html#parsing-urls a plain
@@ -5489,7 +5341,7 @@ http://www.example.com/?title=100%25_Bran
 <p><a rel="nofollow" class="external free" href="http://www.example.com/?title=100%25_Bran">http://www.example.com/?title=100%25_Bran</a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://www.example.com/?title=100%25_Bran">http://www.example.com/?title=100%25_Bran</a></p>
+<p><a rel="mw:ExtLink" class="external free" href="http://www.example.com/?title=100%25_Bran">http://www.example.com/?title=100%25_Bran</a></p>
 !! end
 
 !! test
@@ -5500,7 +5352,7 @@ http://www.example.com/?title=Ben-Hur_%281959_film%29
 <p><a rel="nofollow" class="external free" href="http://www.example.com/?title=Ben-Hur_%281959_film%29">http://www.example.com/?title=Ben-Hur_%281959_film%29</a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://www.example.com/?title=Ben-Hur_%281959_film%29">http://www.example.com/?title=Ben-Hur_%281959_film%29</a></p>
+<p><a rel="mw:ExtLink" class="external free" href="http://www.example.com/?title=Ben-Hur_%281959_film%29">http://www.example.com/?title=Ben-Hur_%281959_film%29</a></p>
 !! end
 
 
@@ -5512,7 +5364,7 @@ T6781: %26 in autonumber URL
 <p><a rel="nofollow" class="external autonumber" href="http://www.example.com/?title=AT%26T">[1]</a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://www.example.com/?title=AT%26T"></a></p>
+<p><a rel="mw:ExtLink" class="external autonumber" href="http://www.example.com/?title=AT%26T"></a></p>
 !! end
 
 !! test
@@ -5523,7 +5375,7 @@ T6781, T7267: %26 in autonumber URL
 <p><a rel="nofollow" class="external autonumber" href="http://www.example.com/?title=100%25_Bran">[1]</a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://www.example.com/?title=100%25_Bran"></a></p>
+<p><a rel="mw:ExtLink" class="external autonumber" href="http://www.example.com/?title=100%25_Bran"></a></p>
 !! end
 
 !! test
@@ -5534,7 +5386,7 @@ T6781, T7267: %28, %29 in autonumber URL
 <p><a rel="nofollow" class="external autonumber" href="http://www.example.com/?title=Ben-Hur_%281959_film%29">[1]</a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://www.example.com/?title=Ben-Hur_%281959_film%29"></a></p>
+<p><a rel="mw:ExtLink" class="external autonumber" href="http://www.example.com/?title=Ben-Hur_%281959_film%29"></a></p>
 !! end
 
 
@@ -5546,7 +5398,7 @@ T6781: %26 in bracketed URL
 <p><a rel="nofollow" class="external text" href="http://www.example.com/?title=AT%26T">link</a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://www.example.com/?title=AT%26T">link</a></p>
+<p><a rel="mw:ExtLink" class="external text" href="http://www.example.com/?title=AT%26T">link</a></p>
 !! end
 
 !! test
@@ -5566,7 +5418,7 @@ T6781, T7267: %28, %29 in bracketed URL
 <p><a rel="nofollow" class="external text" href="http://www.example.com/?title=Ben-Hur_%281959_film%29">link</a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://www.example.com/?title=Ben-Hur_%281959_film%29">link</a></p>
+<p><a rel="mw:ExtLink" class="external text" href="http://www.example.com/?title=Ben-Hur_%281959_film%29">link</a></p>
 !! end
 
 !! test
@@ -5580,8 +5432,8 @@ External link containing a period in the anchor. (T65947)
 </p><p><a rel="nofollow" class="external text" href="//foo.org/bar.">bang</a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="//foo.org/bar#baz.">bang</a></p>
-<p><a rel="mw:ExtLink" href="//foo.org/bar.">bang</a></p>
+<p><a rel="mw:ExtLink" class="external text" href="//foo.org/bar#baz.">bang</a></p>
+<p><a rel="mw:ExtLink" class="external text" href="//foo.org/bar.">bang</a></p>
 !! end
 
 !! test
@@ -5595,8 +5447,8 @@ External link containing a single quote. (T65947)
 </p><p><a rel="nofollow" class="external text" href="//foo.org/bar&#39;baz">bang</a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="//foo.org/bar'baz"></a></p>
-<p><a rel="mw:ExtLink" href="//foo.org/bar'baz">bang</a></p>
+<p><a rel="mw:ExtLink" class="external autonumber" href="//foo.org/bar'baz"></a></p>
+<p><a rel="mw:ExtLink" class="external text" href="//foo.org/bar'baz">bang</a></p>
 !! end
 
 !! test
@@ -5617,17 +5469,16 @@ External link containing double-single-quotes in text embedded in italics (T6598
 </p>
 !! end
 
+# Don't add the html/php section since the output is broken and there isn't any reason to spec it
 !! test
 External link containing double-single-quotes with no space separating the url from text in italics
 !! wikitext
 [http://www.musee-picasso.fr/pages/page_id18528_u1l2.htm''La muerte de Casagemas'' (1901) en el sitio de [[Museo Picasso (París)|Museo Picasso]].]
-!! html/php
-<p><a rel="nofollow" class="external text" href="http://www.musee-picasso.fr/pages/page_id18528_u1l2.htm"><i>La muerte de Casagemas</i> (1901) en el sitio de <a href="/index.php?title=Museo_Picasso_(Par%C3%ADs)&amp;action=edit&amp;redlink=1" class="new" title="Museo Picasso (París) (page does not exist)">Museo Picasso</a>.</a>
-</p>
 !! html/php+tidy
-<p><a rel="nofollow" class="external text" href="http://www.musee-picasso.fr/pages/page_id18528_u1l2.htm"><i>La muerte de Casagemas</i> (1901) en el sitio de</a> <a href="/index.php?title=Museo_Picasso_(Par%C3%ADs)&amp;action=edit&amp;redlink=1" class="new" title="Museo Picasso (París) (page does not exist)">Museo Picasso</a>.</p>
+<p><a rel="nofollow" class="external text" href="http://www.musee-picasso.fr/pages/page_id18528_u1l2.htm"><i>La muerte de Casagemas</i> (1901) en el sitio de </a><a href="/index.php?title=Museo_Picasso_(Par%C3%ADs)&amp;action=edit&amp;redlink=1" class="new" title="Museo Picasso (París) (page does not exist)">Museo Picasso</a>.
+</p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://www.musee-picasso.fr/pages/page_id18528_u1l2.htm"><i>La muerte de Casagemas</i> (1901) en el sitio de </a><a rel="mw:WikiLink" href="./Museo_Picasso_(París)" title="Museo Picasso (París)">Museo Picasso</a><span>.</span></p>
+<p><a rel="mw:ExtLink" class="external text" href="http://www.musee-picasso.fr/pages/page_id18528_u1l2.htm"><i>La muerte de Casagemas</i> (1901) en el sitio de </a><a rel="mw:WikiLink" href="./Museo_Picasso_(París)" title="Museo Picasso (París)">Museo Picasso</a><span>.</span></p>
 !! end
 
 !! test
@@ -5638,7 +5489,7 @@ External link with comments in link text
 <p><a rel="nofollow" class="external text" href="http://www.google.com">Google </a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://www.google.com">Google <!-- comment --></a></p>
+<p><a rel="mw:ExtLink" class="external text" href="http://www.google.com">Google <!-- comment --></a></p>
 !! end
 
 !! test
@@ -5649,7 +5500,7 @@ External link to bare IPv4 address
 <p><a rel="nofollow" class="external text" href="http://192.168.0.1">Link</a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://192.168.0.1">Link</a></p>
+<p><a rel="mw:ExtLink" class="external text" href="http://192.168.0.1">Link</a></p>
 !! end
 
 !! test
@@ -5681,9 +5532,9 @@ http://example.com/index.php?foozoid&#x5B;&#x5D;=bar
 </p><p><a rel="nofollow" class="external free" href="http://example.com/index.php?foozoid%5B%5D=bar">http://example.com/index.php?foozoid%5B%5D=bar</a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://example.com/index.php?foozoid%5B%5D=bar">http://example.com/index.php?foozoid%5B%5D=bar</a></p>
+<p><a rel="mw:ExtLink" class="external free" href="http://example.com/index.php?foozoid%5B%5D=bar">http://example.com/index.php?foozoid%5B%5D=bar</a></p>
 
-<p><a rel="mw:ExtLink" href="http://example.com/index.php?foozoid%5B%5D=bar" data-parsoid='{"stx":"url","a":{"href":"http://example.com/index.php?foozoid%5B%5D=bar"},"sa":{"href":"http://example.com/index.php?foozoid&amp;#x5B;&amp;#x5D;=bar"}}'>http://example.com/index.php?foozoid%5B%5D=bar</a></p>
+<p><a rel="mw:ExtLink" class="external free" href="http://example.com/index.php?foozoid%5B%5D=bar" data-parsoid='{"stx":"url","a":{"href":"http://example.com/index.php?foozoid%5B%5D=bar"},"sa":{"href":"http://example.com/index.php?foozoid&amp;#x5B;&amp;#x5D;=bar"}}'>http://example.com/index.php?foozoid%5B%5D=bar</a></p>
 !! end
 
 !! test
@@ -5729,24 +5580,24 @@ Examples from RFC 2732, section 2:
 <li> <a rel="nofollow" class="external free" href="http://[2010:836B:4179::836B:4179]">http://[2010:836B:4179::836B:4179]</a></li></ul>
 
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://[2404:130:0:1000::187:2]/index.php">http://[2404:130:0:1000::187:2]/index.php</a></p>
+<p><a rel="mw:ExtLink" class="external free" href="http://[2404:130:0:1000::187:2]/index.php">http://[2404:130:0:1000::187:2]/index.php</a></p>
 
-<p>Examples from <a href="https://tools.ietf.org/html/rfc2373" rel="mw:ExtLink">RFC 2373</a>, section 2.2:</p>
-<ul><li> <a rel="mw:ExtLink" href="http://[1080::8:800:200C:417A]/unicast">http://[1080::8:800:200C:417A]/unicast</a></li>
-<li> <a rel="mw:ExtLink" href="http://[FF01::101]/multicast">http://[FF01::101]/multicast</a></li>
-<li> <a rel="mw:ExtLink" href="http://[::1]/loopback">http://[::1]/loopback</a></li>
-<li> <a rel="mw:ExtLink" href="http://[::]/unspecified">http://[::]/unspecified</a></li>
-<li> <a rel="mw:ExtLink" href="http://[::13.1.68.3]/ipv4compat">http://[::13.1.68.3]/ipv4compat</a></li>
-<li> <a rel="mw:ExtLink" href="http://[::FFFF:129.144.52.38]/ipv4compat">http://[::FFFF:129.144.52.38]/ipv4compat</a></li></ul>
+<p>Examples from <a href="https://tools.ietf.org/html/rfc2373" rel="mw:ExtLink" class="external text">RFC 2373</a>, section 2.2:</p>
+<ul><li> <a rel="mw:ExtLink" class="external free" href="http://[1080::8:800:200C:417A]/unicast">http://[1080::8:800:200C:417A]/unicast</a></li>
+<li> <a rel="mw:ExtLink" class="external free" href="http://[FF01::101]/multicast">http://[FF01::101]/multicast</a></li>
+<li> <a rel="mw:ExtLink" class="external free" href="http://[::1]/loopback">http://[::1]/loopback</a></li>
+<li> <a rel="mw:ExtLink" class="external free" href="http://[::]/unspecified">http://[::]/unspecified</a></li>
+<li> <a rel="mw:ExtLink" class="external free" href="http://[::13.1.68.3]/ipv4compat">http://[::13.1.68.3]/ipv4compat</a></li>
+<li> <a rel="mw:ExtLink" class="external free" href="http://[::FFFF:129.144.52.38]/ipv4compat">http://[::FFFF:129.144.52.38]/ipv4compat</a></li></ul>
 
-<p>Examples from <a href="https://tools.ietf.org/html/rfc2732" rel="mw:ExtLink">RFC 2732</a>, section 2:</p>
-<ul><li> <a rel="mw:ExtLink" href="http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:80/index.html">http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:80/index.html</a></li>
-<li> <a rel="mw:ExtLink" href="http://[1080:0:0:0:8:800:200C:417A]/index.html">http://[1080:0:0:0:8:800:200C:417A]/index.html</a></li>
-<li> <a rel="mw:ExtLink" href="http://[3ffe:2a00:100:7031::1]">http://[3ffe:2a00:100:7031::1]</a></li>
-<li> <a rel="mw:ExtLink" href="http://[1080::8:800:200C:417A]/foo">http://[1080::8:800:200C:417A]/foo</a></li>
-<li> <a rel="mw:ExtLink" href="http://[::192.9.5.5]/ipng">http://[::192.9.5.5]/ipng</a></li>
-<li> <a rel="mw:ExtLink" href="http://[::FFFF:129.144.52.38]:80/index.html">http://[::FFFF:129.144.52.38]:80/index.html</a></li>
-<li> <a rel="mw:ExtLink" href="http://[2010:836B:4179::836B:4179]">http://[2010:836B:4179::836B:4179]</a></li></ul>
+<p>Examples from <a href="https://tools.ietf.org/html/rfc2732" rel="mw:ExtLink" class="external text">RFC 2732</a>, section 2:</p>
+<ul><li> <a rel="mw:ExtLink" class="external free" href="http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:80/index.html">http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:80/index.html</a></li>
+<li> <a rel="mw:ExtLink" class="external free" href="http://[1080:0:0:0:8:800:200C:417A]/index.html">http://[1080:0:0:0:8:800:200C:417A]/index.html</a></li>
+<li> <a rel="mw:ExtLink" class="external free" href="http://[3ffe:2a00:100:7031::1]">http://[3ffe:2a00:100:7031::1]</a></li>
+<li> <a rel="mw:ExtLink" class="external free" href="http://[1080::8:800:200C:417A]/foo">http://[1080::8:800:200C:417A]/foo</a></li>
+<li> <a rel="mw:ExtLink" class="external free" href="http://[::192.9.5.5]/ipng">http://[::192.9.5.5]/ipng</a></li>
+<li> <a rel="mw:ExtLink" class="external free" href="http://[::FFFF:129.144.52.38]:80/index.html">http://[::FFFF:129.144.52.38]:80/index.html</a></li>
+<li> <a rel="mw:ExtLink" class="external free" href="http://[2010:836B:4179::836B:4179]">http://[2010:836B:4179::836B:4179]</a></li></ul>
 !! end
 
 !! test
@@ -5792,24 +5643,24 @@ Examples from RFC 2732, section 2:
 <li> <a rel="nofollow" class="external text" href="http://[2010:836B:4179::836B:4179]">7</a></li></ul>
 
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://[2404:130:0:1000::187:2]/index.php">test</a></p>
+<p><a rel="mw:ExtLink" class="external text" href="http://[2404:130:0:1000::187:2]/index.php">test</a></p>
 
-<p>Examples from <a href="https://tools.ietf.org/html/rfc2373" rel="mw:ExtLink">RFC 2373</a>, section 2.2:</p>
-<ul><li> <a rel="mw:ExtLink" href="http://[1080::8:800:200C:417A]">unicast</a></li>
-<li> <a rel="mw:ExtLink" href="http://[FF01::101]">multicast</a></li>
-<li> <a rel="mw:ExtLink" href="http://[::1]/">loopback</a></li>
-<li> <a rel="mw:ExtLink" href="http://[::]">unspecified</a></li>
-<li> <a rel="mw:ExtLink" href="http://[::13.1.68.3]">ipv4compat</a></li>
-<li> <a rel="mw:ExtLink" href="http://[::FFFF:129.144.52.38]">ipv4compat</a></li></ul>
+<p>Examples from <a href="https://tools.ietf.org/html/rfc2373" rel="mw:ExtLink" class="external text">RFC 2373</a>, section 2.2:</p>
+<ul><li> <a rel="mw:ExtLink" class="external text" href="http://[1080::8:800:200C:417A]">unicast</a></li>
+<li> <a rel="mw:ExtLink" class="external text" href="http://[FF01::101]">multicast</a></li>
+<li> <a rel="mw:ExtLink" class="external text" href="http://[::1]/">loopback</a></li>
+<li> <a rel="mw:ExtLink" class="external text" href="http://[::]">unspecified</a></li>
+<li> <a rel="mw:ExtLink" class="external text" href="http://[::13.1.68.3]">ipv4compat</a></li>
+<li> <a rel="mw:ExtLink" class="external text" href="http://[::FFFF:129.144.52.38]">ipv4compat</a></li></ul>
 
-<p>Examples from <a href="https://tools.ietf.org/html/rfc2732" rel="mw:ExtLink">RFC 2732</a>, section 2:</p>
-<ul><li> <a rel="mw:ExtLink" href="http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:80/index.html">1</a></li>
-<li> <a rel="mw:ExtLink" href="http://[1080:0:0:0:8:800:200C:417A]/index.html">2</a></li>
-<li> <a rel="mw:ExtLink" href="http://[3ffe:2a00:100:7031::1]">3</a></li>
-<li> <a rel="mw:ExtLink" href="http://[1080::8:800:200C:417A]/foo">4</a></li>
-<li> <a rel="mw:ExtLink" href="http://[::192.9.5.5]/ipng">5</a></li>
-<li> <a rel="mw:ExtLink" href="http://[::FFFF:129.144.52.38]:80/index.html">6</a></li>
-<li> <a rel="mw:ExtLink" href="http://[2010:836B:4179::836B:4179]">7</a></li></ul>
+<p>Examples from <a href="https://tools.ietf.org/html/rfc2732" rel="mw:ExtLink" class="external text">RFC 2732</a>, section 2:</p>
+<ul><li> <a rel="mw:ExtLink" class="external text" href="http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:80/index.html">1</a></li>
+<li> <a rel="mw:ExtLink" class="external text" href="http://[1080:0:0:0:8:800:200C:417A]/index.html">2</a></li>
+<li> <a rel="mw:ExtLink" class="external text" href="http://[3ffe:2a00:100:7031::1]">3</a></li>
+<li> <a rel="mw:ExtLink" class="external text" href="http://[1080::8:800:200C:417A]/foo">4</a></li>
+<li> <a rel="mw:ExtLink" class="external text" href="http://[::192.9.5.5]/ipng">5</a></li>
+<li> <a rel="mw:ExtLink" class="external text" href="http://[::FFFF:129.144.52.38]:80/index.html">6</a></li>
+<li> <a rel="mw:ExtLink" class="external text" href="http://[2010:836B:4179::836B:4179]">7</a></li></ul>
 !! end
 
 !! test
@@ -5849,13 +5700,13 @@ Non-extlinks in brackets
 [foo <i>bar</i>]
 [fool's] errand
 [fool's errand]
-[<span typeof="mw:Placeholder" data-parsoid='{"src":"{{echo|foo}}"}'>foo</span>]
-[<span typeof="mw:Placeholder" data-parsoid='{"src":"{{echo|foo}}"}'>foo</span> bar]
-[<span typeof="mw:Placeholder" data-parsoid='{"src":"{{echo|foo}}"}'>foo</span> <i>bar</i>]
-[<span typeof="mw:Placeholder" data-parsoid='{"src":"{{echo|foo}}l&#39;s"}'>fool's</span>] errand
-[<span typeof="mw:Placeholder" data-parsoid='{"src":"{{echo|foo}}l&#39;s"}'>fool's</span> errand]
-[<span typeof="mw:Placeholder" data-parsoid='{"src":"url={{echo|foo}}"}'>url=foo</span>]
-[url=<a rel="mw:ExtLink" href="http://example.com">http://example.com</a>]
+[<span about="#mwt19" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo"}},"i":0}}]}'>foo</span>]
+[<span about="#mwt20" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo"}},"i":0}}]}'>foo</span> bar]
+[<span about="#mwt21" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo"}},"i":0}}]}'>foo</span> <i>bar</i>]
+[<span about="#mwt22" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo"}},"i":0}}]}'>foo</span>l's] errand
+[<span about="#mwt23" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo"}},"i":0}}]}'>foo</span>l's errand]
+[url=<span about="#mwt24" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo"}},"i":0}}]}'>foo</span>]
+[url=<a rel="mw:ExtLink" class="external free" href="http://example.com">http://example.com</a>]
 [http:// bare protocols don't count]</p>
 !! end
 
@@ -5867,8 +5718,7 @@ Percent encoding in external links
 <p><a rel="nofollow" class="external text" href="https://github.com/search?l=&amp;q=ResourceLoader+%40wikimedia">Search</a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink"
-href="https://github.com/search?l=&amp;q=ResourceLoader+%40wikimedia">Search</a></p>
+<p><a rel="mw:ExtLink" class="external text" href="https://github.com/search?l=&amp;q=ResourceLoader+%40wikimedia">Search</a></p>
 !! end
 
 !! test
@@ -5879,7 +5729,7 @@ http://example.com
 <p><a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://example.com">http://example.com</a></p>
+<p><a rel="mw:ExtLink" class="external free" href="http://example.com">http://example.com</a></p>
 !! end
 
 !! test
@@ -5911,14 +5761,14 @@ http://example.com/a)b
 </p><p><a rel="nofollow" class="external text" href="http://example.com)">foo</a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://example.com">http://example.com</a>)</p>
-<p><a rel="mw:ExtLink" href="http://example.com/test">http://example.com/test</a>)</p>
-<p><a rel="mw:ExtLink" href="http://example.com/(test)">http://example.com/(test)</a></p>
-<p><a rel="mw:ExtLink" href="http://example.com/((test)">http://example.com/((test)</a></p>
-<p>(<a rel="mw:ExtLink" href="http://example.com/(test))">http://example.com/(test))</a></p>
-<p>(<a rel="mw:ExtLink" href="http://example.com/(test)))))">http://example.com/(test)))))</a></p>
-<p><a rel="mw:ExtLink" href="http://example.com/a)b">http://example.com/a)b</a></p>
-<p><a rel="mw:ExtLink" href="http://example.com)">foo</a></p>
+<p><a rel="mw:ExtLink" class="external free" href="http://example.com">http://example.com</a>)</p>
+<p><a rel="mw:ExtLink" class="external free" href="http://example.com/test">http://example.com/test</a>)</p>
+<p><a rel="mw:ExtLink" class="external free" href="http://example.com/(test)">http://example.com/(test)</a></p>
+<p><a rel="mw:ExtLink" class="external free" href="http://example.com/((test)">http://example.com/((test)</a></p>
+<p>(<a rel="mw:ExtLink" class="external free" href="http://example.com/(test))">http://example.com/(test))</a></p>
+<p>(<a rel="mw:ExtLink" class="external free" href="http://example.com/(test)))))">http://example.com/(test)))))</a></p>
+<p><a rel="mw:ExtLink" class="external free" href="http://example.com/a)b">http://example.com/a)b</a></p>
+<p><a rel="mw:ExtLink" class="external text" href="http://example.com)">foo</a></p>
 !! end
 
 !! test
@@ -5932,9 +5782,9 @@ Parenthesis in external links, w/ transclusion or comment
 </p><p>(<a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>)
 </p>
 !! html/parsoid
-<p>(<a typeof="mw:ExpandedAttrs" about="#mwt2" rel="mw:ExtLink" href="http://example.com/hi" data-parsoid='{"stx":"url","a":{"href":"http://example.com/hi"},"sa":{"href":"http://example.com/{{echo|hi}}"}}' data-mw='{"attribs":[[{"txt":"href"},{"html":"http://example.com/&lt;span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid=&#39;{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[20,31,null,null]}&#39; data-mw=&#39;{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"hi\"}},\"i\":0}}]}&#39;>hi&lt;/span>"}]]}'>http://example.com/hi</a>)</p>
+<p>(<a typeof="mw:ExpandedAttrs" about="#mwt2" rel="mw:ExtLink" class="external free" href="http://example.com/hi" data-parsoid='{"stx":"url","a":{"href":"http://example.com/hi"},"sa":{"href":"http://example.com/{{echo|hi}}"}}' data-mw='{"attribs":[[{"txt":"href"},{"html":"http://example.com/&lt;span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid=&#39;{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[20,31,null,null]}&#39; data-mw=&#39;{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"hi\"}},\"i\":0}}]}&#39;>hi&lt;/span>"}]]}'>http://example.com/hi</a>)</p>
 
-<p>(<a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url","a":{"href":"http://example.com"},"sa":{"href":"http://example.com&lt;!-- hi -->"}}'>http://example.com</a>)</p>
+<p>(<a rel="mw:ExtLink" class="external free" href="http://example.com" data-parsoid='{"stx":"url","a":{"href":"http://example.com"},"sa":{"href":"http://example.com&lt;!-- hi -->"}}'>http://example.com</a>)</p>
 !! end
 
 !! test
@@ -6420,15 +6270,12 @@ Accept "!!" in table data of mixed wikitext / html syntax
 !a
 <tr><td>b!!c</td></tr>
 |}
-!! html+tidy
+!! html/php+tidy
 <table>
-<tr>
-<th>a</th>
-</tr>
-<tr>
-<td>b!!c</td>
-</tr>
-</table>
+<tbody><tr>
+<th>a
+</th></tr><tr><td>b!!c</td></tr>
+</tbody></table>
 !! html/parsoid
 <table>
 <tbody><tr><th>a</th></tr>
@@ -6630,7 +6477,7 @@ parsoid=wt2html,html2html
 !! html/parsoid
 <table><tbody>
 <tr>
-<td data-parsoid='{"startTagSrc":"| ","attrSepSrc":"|","autoInsertedEnd":true}'>[<a rel="mw:ExtLink" href="ftp://%7Cx" data-parsoid='{"stx":"url","a":{"href":"ftp://%7Cx"},"sa":{"href":"ftp://|x"}}'>ftp://%7Cx</a></td><td data-parsoid='{"stx":"row","autoInsertedEnd":true}'>]" onmouseover="alert(document.cookie)">test</td></tr></tbody></table>
+<td data-parsoid='{"startTagSrc":"| ","attrSepSrc":"|","autoInsertedEnd":true}'>[<a rel="mw:ExtLink" class="external free" href="ftp://%7Cx" data-parsoid='{"stx":"url","a":{"href":"ftp://%7Cx"},"sa":{"href":"ftp://|x"}}'>ftp://%7Cx</a></td><td data-parsoid='{"stx":"row","autoInsertedEnd":true}'>]" onmouseover="alert(document.cookie)">test</td></tr></tbody></table>
 !! end
 
 !! test
@@ -6719,7 +6566,7 @@ Don't break on | in extension attribute in template
 
 <references />
 !! html/parsoid
-<p><span about="#mwt2" class="mw-ref" id="cite_ref-hi|ho_1-0" rel="dc:references" typeof="mw:Transclusion  mw:Extension/ref" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;ref name=\"hi|ho\">ha&lt;/ref>"}},"i":0}}]}'><a href="./Main_Page#cite_note-hi|ho-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></span></p>
+<p><sup about="#mwt2" class="mw-ref" id="cite_ref-hi|ho_1-0" rel="dc:references" typeof="mw:Transclusion  mw:Extension/ref" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;ref name=\"hi|ho\">ha&lt;/ref>"}},"i":0}}]}'><a href="./Main_Page#cite_note-hi|ho-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup></p>
 
 <ol class="mw-references references" typeof="mw:Extension/references" about="#mwt5" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-hi|ho-1" id="cite_note-hi|ho-1"><a href="./Main_Page#cite_ref-hi|ho_1-0" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-hi|ho-1" class="mw-reference-text">ha</span></li></ol>
 !! end
@@ -6894,7 +6741,7 @@ T107652: <ref>s in templates that also generate table cell attributes should be
 <references />
 !! html/parsoid
 <table>
-<tbody><tr><td style="background:#f9f9f9;" typeof="mw:Transclusion" about="#mwt1" data-mw='{"parts":["|",{"template":{"target":{"wt":"table_attribs_7","href":"./Template:Table_attribs_7"},"params":{},"i":0}}]}'>Foo<span class="mw-ref" id="cite_ref-1" rel="dc:references" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="./Main_Page#cite_note-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></span></td></tr>
+<tbody><tr><td style="background:#f9f9f9;" typeof="mw:Transclusion" about="#mwt1" data-mw='{"parts":["|",{"template":{"target":{"wt":"table_attribs_7","href":"./Template:Table_attribs_7"},"params":{},"i":0}}]}'>Foo<sup class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="./Main_Page#cite_note-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></s></td></tr>
 </tbody></table>
 <ol class="mw-references references" typeof="mw:Extension/references" about="#mwt5" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1" id="cite_note-1"><a href="./Main_Page#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text" data-parsoid="{}">foo</span></li></ol>
 !! end
@@ -6991,10 +6838,10 @@ Wikitext table comments represented in parsoid dom
 |}
 !! html/php+tidy
 <table>
-<tr>
-<td>x</td>
-</tr>
-</table>
+
+<tbody><tr>
+<td> x
+</td></tr></tbody></table>
 !! html/parsoid
 <table><!--c1--><!--c2-->
 <tbody><tr data-parsoid='{"startTagSrc":"|-","autoInsertedEnd":true}'><!--c3-->
@@ -7164,7 +7011,7 @@ Wikitext table with html-syntax row
 !! end
 
 !! test
-Implicit <td> after a |-
+Fostered content in tables: Plain text
 !! options
 parsoid=wt2html,html2html
 !! wikitext
@@ -7179,7 +7026,10 @@ a
 </table>
 
 !! html/php+tidy
-<p>a</p>
+
+
+a
+<table></table>
 !! html/parsoid
 <p data-parsoid='{"fostered":true,"autoInsertedEnd":true}'>a</p><table>
 <tbody><tr data-parsoid='{"startTagSrc":"|-","autoInsertedEnd":true}'>
@@ -7188,7 +7038,7 @@ a
 !! end
 
 !! test
-Lists should be recognized in an implicit <td> context
+Fostered content in tables: Lists
 !! options
 parsoid=wt2html,html2html
 !! wikitext
@@ -7203,9 +7053,10 @@ parsoid=wt2html,html2html
 </table>
 
 !! html/php+tidy
-<ul>
-<li>a</li>
-</ul>
+<ul><li>a</li></ul><table>
+
+
+</table>
 !! html/parsoid
 <ul data-parsoid='{"fostered":true,"autoInsertedEnd":true}'><li>a</li></ul><table>
 <tbody><tr data-parsoid='{"startTagSrc":"|-","autoInsertedEnd":true}'>
@@ -7214,20 +7065,20 @@ parsoid=wt2html,html2html
 !! end
 
 !! test
-Table cells not properly parsed in an implicit-td context
+Template generated table cell with attributes
 !! wikitext
 {|
 |-
 {{table_attribs_4}} || a || b
 |}
-!! html/php+tidy
-<table>
-<tr>
-<td style="background-color:#DC241f;" width="10px"></td>
-<td>a</td>
-<td>b</td>
-</tr>
-</table>
+!! html/php+tidy
+<table>
+
+<tbody><tr>
+<td style="background-color:#DC241f;" width="10px"> </td>
+<td> a </td>
+<td> b
+</td></tr></tbody></table>
 !! html/parsoid
 <table>
 <tbody><tr data-parsoid='{"startTagSrc":"|-","autoInsertedEnd":true}'>
@@ -7248,17 +7099,14 @@ parsoid=wt2html,wt2wt
 |}<b>quux</b>
 !! html+tidy
 <table>
-<tr>
-<td>foo</td>
-</tr>
-</table>
-<p>bar</p>
-<table>
-<tr>
-<td>baz</td>
-</tr>
-</table>
-<p><b>quux</b></p>
+<tbody><tr>
+<td>foo
+</td></tr></tbody></table><p> bar
+</p><table>
+<tbody><tr>
+<td>baz
+</td></tr></tbody></table><p><b>quux</b>
+</p>
 !! end
 
 !! test
@@ -7330,12 +7178,11 @@ foo
 |}
 !!html/php+tidy
 <table class="foo">
-<tr>
+<tbody><tr>
 <td class="bar">
-<p>foo</p>
-</td>
-</tr>
-</table>
+<p>foo
+</p>
+</td></tr></tbody></table>
 !!html/parsoid
 <table class="foo">
 <tr>
@@ -7409,24 +7256,28 @@ parsoid=html2wt
 |}
 !! html/php+tidy
 <table>
-<caption>Test</caption>
-<tr>
-<th>Month</th>
-<th>Savings</th>
-</tr>
+<caption>Test
+</caption>
+<tbody><tr>
+<th>Month
+</th>
+<th>Savings
+</th></tr>
 <tr>
-<td>January</td>
-<td>$100</td>
-</tr>
+<td>January
+</td>
+<td>$100
+</td></tr>
 <tr>
-<td>February</td>
-<td>$80</td>
-</tr>
+<td>February
+</td>
+<td>$80
+</td></tr>
 <tr>
-<td>Sum</td>
-<td>$180</td>
-</tr>
-</table>
+<td>Sum
+</td>
+<td>$180
+</td></tr></tbody></table>
 !! end
 
 # T137406: No whitespace in the HTML
@@ -8127,7 +7978,7 @@ Plain link to URL
 <p>[<a rel="nofollow" class="external autonumber" href="http://www.example.com">[1]</a>]
 </p>
 !! html/parsoid
-<p>[<a rel="mw:ExtLink" href="http://www.example.com"></a>]</p>
+<p>[<a rel="mw:ExtLink" class="external autonumber" href="http://www.example.com"></a>]</p>
 !! end
 
 !! test
@@ -8147,7 +7998,7 @@ Plain link to protocol-relative URL
 <p>[<a rel="nofollow" class="external autonumber" href="//www.example.com">[1]</a>]
 </p>
 !! html/parsoid
-<p>[<a rel="mw:ExtLink" href="//www.example.com"></a>]</p>
+<p>[<a rel="mw:ExtLink" class="external autonumber" href="//www.example.com"></a>]</p>
 !! end
 
 !! test
@@ -8190,7 +8041,7 @@ Piped link to URL: [[http://www.example.com|an example URL]]
 <p>Piped link to URL: [<a rel="nofollow" class="external text" href="http://www.example.com%7Can">example URL</a>]
 </p>
 !! html/parsoid
-<p>Piped link to URL: [<a rel="mw:ExtLink" href="http://www.example.com%7Can" data-parsoid='{"a":{"href":"http://www.example.com%7Can"},"sa":{"href":"http://www.example.com|an"}}'>example URL</a>]</p>
+<p>Piped link to URL: [<a rel="mw:ExtLink" class="external text" href="http://www.example.com%7Can" data-parsoid='{"a":{"href":"http://www.example.com%7Can"},"sa":{"href":"http://www.example.com|an"}}'>example URL</a>]</p>
 !! end
 
 !! test
@@ -8212,13 +8063,13 @@ parsoid=wt2html
 </p><p>[<a rel="nofollow" class="external free" href="http://www.example.com">http://www.example.com</a> 
 </p>
 !! html/parsoid
-<p about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"[http://www.example.com "},"2":{"wt":"123]"}},"i":0}}]}'>[<a rel="mw:ExtLink" href="http://www.example.com">http://www.example.com</a> </p>
+<p about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"[http://www.example.com "},"2":{"wt":"123]"}},"i":0}}]}'>[<a rel="mw:ExtLink" class="external free" href="http://www.example.com">http://www.example.com</a> </p>
 
-<p about="#mwt2" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"[[http://www.example.com |123]]"}},"i":0}}]}'>[<a rel="mw:ExtLink" href="http://www.example.com">|123</a>]</p>
+<p about="#mwt2" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"[[http://www.example.com |123]]"}},"i":0}}]}'>[<a rel="mw:ExtLink" class="external text" href="http://www.example.com">|123</a>]</p>
 
-<p>{{echo|[<a rel="mw:ExtLink" href="http://www.example.com" data-parsoid='{"targetOff":114,"contentOffsets":[114,118],"dsr":[90,119,24,1]}'>|123</a>}}</p>
+<p>{{echo|[<a rel="mw:ExtLink" class="external text" href="http://www.example.com" data-parsoid='{"targetOff":114,"contentOffsets":[114,118],"dsr":[90,119,24,1]}'>|123</a>}}</p>
 
-<p about="#mwt3" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"[http://www.example.com "},"2":{"wt":"123]]"}},"i":0}}]}'>[<a rel="mw:ExtLink" href="http://www.example.com">http://www.example.com</a> </p>
+<p about="#mwt3" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"[http://www.example.com "},"2":{"wt":"123]]"}},"i":0}}]}'>[<a rel="mw:ExtLink" class="external free" href="http://www.example.com">http://www.example.com</a> </p>
 !! end
 
 !! test
@@ -8239,11 +8090,9 @@ T2337: Escaped self-links should be bold
 title=[[Bug462]]
 !! wikitext
 [[Bu&#103;462]] [[Bug462]]
-!! html/php
+!! html/php+tidy
 <p><a class="mw-selflink selflink">Bu&#103;462</a> <a class="mw-selflink selflink">Bug462</a>
 </p>
-!! html/php+tidy
-<p><a class="mw-selflink selflink">Bug462</a> <a class="mw-selflink selflink">Bug462</a></p>
 !! html/parsoid
 <p><a rel="mw:WikiLink" href="./Bug462" title="Bug462">Bug462</a> <a rel="mw:WikiLink" href="./Bug462" title="Bug462">Bug462</a></p>
 !! end
@@ -8684,7 +8533,7 @@ parsoid=wt2html,wt2wt
 <ul><li><a href="http://en.wikipedia.org/wiki/ro:Olteni%C5%A3a" class="extiw" title="wikipedia:ro:Olteniţa">Wikipedia:ro:Olteni&#355;a</a></li>
 <li><a href="http://en.wikipedia.org/wiki/ro:Olteni%C5%A3a" class="extiw" title="wikipedia:ro:Olteniţa">Wikipedia:ro:Olteni&#355;a</a></li></ul>
 
-!! html+tidy
+!! html/php+tidy
 <ul>
 <li><a href="http://en.wikipedia.org/wiki/ro:Olteni%C5%A3a" class="extiw" title="wikipedia:ro:Olteniţa">Wikipedia:ro:Olteniţa</a></li>
 <li><a href="http://en.wikipedia.org/wiki/ro:Olteni%C5%A3a" class="extiw" title="wikipedia:ro:Olteniţa">Wikipedia:ro:Olteniţa</a></li>
@@ -8796,8 +8645,8 @@ Interwiki links that cannot be represented in wiki syntax
 <p><a rel="mw:WikiLink/Interwiki" href="http://www.usemod.com/cgi-bin/mb.pl?ok" title="meatball:ok">meatball:ok</a>
 <a rel="mw:WikiLink/Interwiki" href="http://www.usemod.com/cgi-bin/mb.pl?ok#foo" title="meatball:ok">ok with fragment</a>
 <a rel="mw:WikiLink/Interwiki" href="http://www.usemod.com/cgi-bin/mb.pl?ok_as_well?" title="meatball:ok as well?">ok ending with ? mark</a>
-<a rel="mw:ExtLink" href="http://de.wikipedia.org/wiki/Foo?action=history">has query</a>
-<a rel="mw:ExtLink" href="http://de.wikipedia.org/wiki/#foo">is just fragment</a></p>
+<a rel="mw:ExtLink" class="external text" href="http://de.wikipedia.org/wiki/Foo?action=history">has query</a>
+<a rel="mw:ExtLink" class="external text" href="http://de.wikipedia.org/wiki/#foo">is just fragment</a></p>
 !! end
 
 !! test
@@ -9475,8 +9324,9 @@ parsoid=wt2html
 
 <br/ >
 !! html+tidy
-<p><br /></p>
-<p><br /></p>
+<p><br />
+</p><p><br />
+</p>
 !! end
 
 !! test
@@ -9568,10 +9418,9 @@ foo <hr
 > bar
 !! html+tidy
 <hr />
-<hr />
-<p>foo</p>
-<hr />
-<p>bar</p>
+<hr /><p>
+foo </p><hr /><p> bar
+</p>
 !! end
 
 !! test
@@ -9620,8 +9469,8 @@ Horizontal ruler -- Supports content following dashes on same line
 <hr /> Foo
 
 !! html+tidy
-<hr />
-<p>Foo</p>
+<hr /><p> Foo
+</p>
 !! end
 
 ###
@@ -9922,11 +9771,10 @@ Multiple list tags generated by templates
 </li>
 
 !! html+tidy
-<ul>
-<li>a</li>
-<li>b</li>
-<li>c</li>
-</ul>
+<li>a
+</li><li>b
+</li><li>c
+</li>
 !!end
 
 !!test
@@ -9966,9 +9814,10 @@ Replacing whitespace with tabs still doesn't break the list (gerrit 78327)
 
 !!end
 
+# FIXME: Parsoid has a dedicated DOM pass to mimic this Tidy-specific li-hack
+# That pass could possibly be removed.
 !!test
-Test the li-hack
-(The PHP parser relies on Tidy for the hack)
+Test the li-hack (a hack from Tidy days, but doesn't work as advertised with Remex)
 !!options
 parsoid=wt2html,wt2wt
 !! wikitext
@@ -9982,14 +9831,13 @@ parsoid=wt2html,wt2wt
 </li>
 </ul>
 !! html+tidy
+<ul><li> foo</li>
+<li class="mw-empty-elt"> </li><li>li-hack</li>
+<li class="mw-empty-elt"> </li><li>templated li-hack</li>
+<li class="mw-empty-elt">  </li><li> unsupported li-hack with preceding comments</li></ul>
 <ul>
-<li>foo</li>
-<li>li-hack</li>
-<li>templated li-hack</li>
-<li>unsupported li-hack with preceding comments</li>
-</ul>
-<ul>
-<li>not a li-hack</li>
+<li class="mw-empty-elt"></li><li>not a li-hack
+</li>
 </ul>
 !! html/parsoid
 <ul><li> foo</li>
@@ -10048,69 +9896,71 @@ parsoid
 # tags (parse, minimize scope of fixup, and roundtrip back)
 # ------------------------------------------------------------------------
 
+# Remex and Parsoid output stems from list handling diffs because Parsoid & PHP parser.
+# Parsoid's list handling is more aware of block structure.
 !! test
 Unbalanced closing block tags break a list
-(php parser relies on Tidy to fix up)
 !! wikitext
 <div>
 *a</div><div>
 *b</div>
 !! html+tidy
 <div>
-<ul>
+<ul><li>a</li></ul></div><div>
+<li>b</li></div>
+!! html+parsoid
+<div><ul>
 <li>a</li>
-</ul>
-</div>
-<div>
-<ul>
+</ul></div>
+<div><ul>
 <li>b</li>
-</ul>
-</div>
+</ul></div>
 !! end
 
-# Parsoid fails this test, but it might be tricky to support properly.
-# See T70395.
 !! test
 Unbalanced closing non-block tags don't break a list
-(php parser relies on Tidy to fix up)
 !! wikitext
 <span>
 *a</span><span>
 *b</span>
 !! html/php+tidy
-<ul>
-<li><span>a</span></li>
-<li><span>b</span></li>
-</ul>
+<p><span>
+</span></p>
+<ul><li>a<span></span></li>
+<li>b</li></ul>
 !! html/parsoid
 <span>
 <ul>
-<li>a<span></span>
-</li>
-<li>b
-</li>
+<li>a<span></span></li>
+<li>b</li>
 </ul>
 </span>
 !! end
 
+# Parsoid does some post-dom-building cleanup
+# which is why its output differs from Remex.
 !! test
 Unclosed formatting tags that straddle lists are closed and reopened
-(php parser relies on Tidy to fix up)
 !! options
 parsoid=wt2html,wt2wt,html2html
 !! wikitext
 # <s> a
 # b </s>
 !! html/php+tidy
-<ol>
-<li><s>a</s></li>
-<li><s>b</s></li>
-</ol>
+<ol><li> <s> a</s></li><s>
+</s><li><s> b </s></li></ol>
 !! html/parsoid
-<ol><li> <s> a</s></li>
+<ol><li> <s> a</s><s></s></li>
 <li><s> b </s></li></ol>
 !! end
 
+# Output is ugly because of all the misnested tag fixups.
+# Remex is wrapping p-tags around empty elements.
+# Parsoid has special-case handling of this pattern of
+# wrapping lists in formatting tags.
+# FIXME: Should we remove this code from Parsoid? Or add
+# special support in Remex? If the latter, maybe just wait
+# for Parsoid to become the default parser.
 # See T70395.
 !!test
 1. List embedded in a formatting tag
@@ -10119,9 +9969,9 @@ parsoid=wt2html,wt2wt,html2html
 * foo
 </small>
 !! html/php+tidy
-<ul>
-<li><small>foo</small></li>
-</ul>
+<p><small>
+</small></p><small><ul><li> foo</li></ul></small><small></small><p><small></small>
+</p>
 !! html/parsoid
 <small>
 <ul>
@@ -10130,19 +9980,19 @@ parsoid=wt2html,wt2wt,html2html
 </small>
 !!end
 
-## Ugly Parsoid output here
-## Not sure what the right output is.
+# Output is ugly because of all the misnested tag fixups
+# Remex is wrapping p-tags around empty elements.
+# Parsoid has code that strips useless p-tags.
 !!test
-2. List embedded in a formatting tag
+2. List embedded in a formatting tag in a misnested way
 !! wikitext
 <small>
 *a
 *b</small>
 !! html/php+tidy
-<ul>
-<li><small>a</small></li>
-<li><small>b</small></li>
-</ul>
+<p><small>
+</small></p><small></small><ul><small><li>a</li>
+</small><li><small>b</small></li></ul>
 !! html/parsoid
 <small></small>
 <ul><small>
@@ -10152,31 +10002,6 @@ parsoid=wt2html,wt2wt,html2html
 </ul>
 !!end
 
-# Ugly Parsoid and PHP parser output here
-# Not sure if we want to make this a test!
-#
-## !!test
-## 3. Unclosed formatting tags in list elements
-## !! wikitext
-## *<small>a
-## *<small>b
-## !! html/php+tidy
-## <ul>
-## <li><small>a</small></li>
-## <li><small><small>b</small></small></li>
-## </ul>
-## !! html/parsoid
-## <ul>
-## <li><small>a</small></li>
-## <small>
-## <li><small>b</small></li>
-## </small></ul>
-## !!end
-
-# This is a bug in the PHP parser + tidy combination.
-# (The </tr> tag gets parsed as text and html-escaped by PHP,
-# and then fostered out of the table by tidy.)
-# We believe the Parsoid output to be correct.
 !! test
 Table with missing opening <tr> tag
 !! options
@@ -10188,10 +10013,9 @@ parsoid=wt2html,wt2wt
 </table>
 !! html+tidy
 <table>
-<tr>
-<td>foo</td>
+<tbody><tr><td>foo</td>
 </tr>
-</table>
+</tbody></table>
 !! end
 
 ###
@@ -10669,11 +10493,9 @@ title=[['foo & bar = baz']]
 parsoid={ "modes": ["wt2html","wt2wt"], "normalizePhp": true }
 !! wikitext
 ''{{PAGENAME}}''
-!! html/php
+!! html+tidy
 <p><i>&#39;foo &#38; bar &#61; baz&#39;</i>
 </p>
-!! html+tidy
-<p><i>'foo &amp; bar = baz'</i></p>
 !! end
 
 !! test
@@ -10683,11 +10505,9 @@ title=[[*RFC 1234 http://example.com/]]
 parsoid={ "modes": ["wt2html","wt2wt"], "normalizePhp": true }
 !! wikitext
 {{PAGENAME}}
-!! html/php
+!! html+tidy
 <p>&#42;RFC&#32;1234 http&#58;//example.com/
 </p>
-!! html+tidy
-<p>*RFC 1234 http://example.com/</p>
 !! end
 
 !! test
@@ -10709,11 +10529,9 @@ title=[[*RFC 1234 http://example.com/]]
 parsoid={ "modes": ["wt2html","wt2wt"], "normalizePhp": true }
 !! wikitext
 {{PAGENAMEE}}
-!! html/php
+!! html+tidy
 <p>&#42;RFC_1234_http&#58;//example.com/
 </p>
-!! html+tidy
-<p>*RFC_1234_http://example.com/</p>
 !! end
 
 !! test
@@ -11053,7 +10871,7 @@ RFC 822
 <p><a class="external mw-magiclink-rfc" rel="nofollow" href="https://tools.ietf.org/html/rfc822">RFC 822</a>
 </p>
 !! html/parsoid
-<p><a href="https://tools.ietf.org/html/rfc822" rel="mw:ExtLink">RFC 822</a></p>
+<p><a href="https://tools.ietf.org/html/rfc822" rel="mw:ExtLink" class="external text">RFC 822</a></p>
 !! end
 
 !! test
@@ -11064,7 +10882,7 @@ This is RFC 822 but thisRFC 822 is not RFC 822linked.
 <p>This is <a class="external mw-magiclink-rfc" rel="nofollow" href="https://tools.ietf.org/html/rfc822">RFC 822</a> but thisRFC 822 is not RFC 822linked.
 </p>
 !! html/parsoid
-<p>This is <a href="https://tools.ietf.org/html/rfc822" rel="mw:ExtLink">RFC 822</a> but thisRFC 822 is not RFC 822linked.</p>
+<p>This is <a href="https://tools.ietf.org/html/rfc822" rel="mw:ExtLink" class="external text">RFC 822</a> but thisRFC 822 is not RFC 822linked.</p>
 !! end
 
 !! test
@@ -11079,7 +10897,7 @@ RFC
 822
 </p>
 !! html/parsoid
-<p><a href="https://tools.ietf.org/html/rfc822" rel="mw:ExtLink">RFC <span typeof="mw:Entity" data-parsoid='{"src":"&amp;nbsp;","srcContent":" "}'> </span><span typeof="mw:Entity" data-parsoid='{"src":"&amp;#160;","srcContent":" "}'> </span><span typeof="mw:Entity" data-parsoid='{"src":"&amp;#0160;","srcContent":" "}'> </span><span typeof="mw:Entity" data-parsoid='{"src":"&amp;#xA0;","srcContent":" "}'> </span><span typeof="mw:Entity" data-parsoid='{"src":"&amp;#Xa0;","srcContent":" "}'> </span> 822</a>
+<p><a href="https://tools.ietf.org/html/rfc822" rel="mw:ExtLink" class="external text">RFC <span typeof="mw:Entity" data-parsoid='{"src":"&amp;nbsp;","srcContent":" "}'> </span><span typeof="mw:Entity" data-parsoid='{"src":"&amp;#160;","srcContent":" "}'> </span><span typeof="mw:Entity" data-parsoid='{"src":"&amp;#0160;","srcContent":" "}'> </span><span typeof="mw:Entity" data-parsoid='{"src":"&amp;#xA0;","srcContent":" "}'> </span><span typeof="mw:Entity" data-parsoid='{"src":"&amp;#Xa0;","srcContent":" "}'> </span> 822</a>
 RFC
 822</p>
 !! end
@@ -11137,7 +10955,7 @@ PMID 1234
 <p><a class="external mw-magiclink-pmid" rel="nofollow" href="//www.ncbi.nlm.nih.gov/pubmed/1234?dopt=Abstract">PMID 1234</a>
 </p>
 !! html/parsoid
-<p><a href="//www.ncbi.nlm.nih.gov/pubmed/1234?dopt=Abstract" rel="mw:ExtLink">PMID 1234</a></p>
+<p><a href="//www.ncbi.nlm.nih.gov/pubmed/1234?dopt=Abstract" rel="mw:ExtLink" class="external text">PMID 1234</a></p>
 !! end
 
 !! test
@@ -11148,7 +10966,7 @@ This is PMID 1234 but thisPMID 1234 is not PMID 1234linked.
 <p>This is <a class="external mw-magiclink-pmid" rel="nofollow" href="//www.ncbi.nlm.nih.gov/pubmed/1234?dopt=Abstract">PMID 1234</a> but thisPMID 1234 is not PMID 1234linked.
 </p>
 !! html/parsoid
-<p>This is <a href="//www.ncbi.nlm.nih.gov/pubmed/1234?dopt=Abstract" rel="mw:ExtLink">PMID 1234</a> but thisPMID 1234 is not PMID 1234linked.</p>
+<p>This is <a href="//www.ncbi.nlm.nih.gov/pubmed/1234?dopt=Abstract" rel="mw:ExtLink" class="external text">PMID 1234</a> but thisPMID 1234 is not PMID 1234linked.</p>
 !! end
 
 !! test
@@ -11163,7 +10981,7 @@ PMID
 1234
 </p>
 !! html/parsoid
-<p><a href="//www.ncbi.nlm.nih.gov/pubmed/1234?dopt=Abstract" rel="mw:ExtLink">PMID <span typeof="mw:Entity" data-parsoid='{"src":"&amp;nbsp;","srcContent":" "}'> </span><span typeof="mw:Entity" data-parsoid='{"src":"&amp;#160;","srcContent":" "}'> </span><span typeof="mw:Entity" data-parsoid='{"src":"&amp;#0160;","srcContent":" "}'> </span><span typeof="mw:Entity" data-parsoid='{"src":"&amp;#xA0;","srcContent":" "}'> </span><span typeof="mw:Entity" data-parsoid='{"src":"&amp;#Xa0;","srcContent":" "}'> </span> 1234</a>
+<p><a href="//www.ncbi.nlm.nih.gov/pubmed/1234?dopt=Abstract" rel="mw:ExtLink" class="external text">PMID <span typeof="mw:Entity" data-parsoid='{"src":"&amp;nbsp;","srcContent":" "}'> </span><span typeof="mw:Entity" data-parsoid='{"src":"&amp;#160;","srcContent":" "}'> </span><span typeof="mw:Entity" data-parsoid='{"src":"&amp;#0160;","srcContent":" "}'> </span><span typeof="mw:Entity" data-parsoid='{"src":"&amp;#xA0;","srcContent":" "}'> </span><span typeof="mw:Entity" data-parsoid='{"src":"&amp;#Xa0;","srcContent":" "}'> </span> 1234</a>
 PMID
 1234</p>
 !! end
@@ -11182,7 +11000,7 @@ X[https://tools.ietf.org/html/rfc1234 foo]
 </p>
 !! html/parsoid
 <p>X<a rel="mw:WikiLink" href="./Special:BookSources/0978739256" title="Special:BookSources/0978739256">foo</a></p>
-<p>X<a rel="mw:ExtLink" href="https://tools.ietf.org/html/rfc1234">foo</a></p>
+<p>X<a rel="mw:ExtLink" class="external text" href="https://tools.ietf.org/html/rfc1234">foo</a></p>
 !! end
 
 !! test
@@ -11474,12 +11292,7 @@ Template with thumb image (with link in description)
 This is a test template with parameter <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/index.php?title=Special:Upload&amp;wpDestFile=Noimage.png" class="new" title="File:Noimage.png">File:Noimage.png</a>  <div class="thumbcaption"><a href="/index.php?title=No_link&amp;action=edit&amp;redlink=1" class="new" title="No link (page does not exist)">link</a> <a href="/index.php?title=No_link&amp;action=edit&amp;redlink=1" class="new" title="No link (page does not exist)">caption</a></div></div></div>
 
 !! html+tidy
-<p>This is a test template with parameter</p>
-<div class="thumb tright">
-<div class="thumbinner" style="width:182px;"><a href="/index.php?title=Special:Upload&amp;wpDestFile=Noimage.png" class="new" title="File:Noimage.png">File:Noimage.png</a>
-<div class="thumbcaption"><a href="/index.php?title=No_link&amp;action=edit&amp;redlink=1" class="new" title="No link (page does not exist)">link</a> <a href="/index.php?title=No_link&amp;action=edit&amp;redlink=1" class="new" title="No link (page does not exist)">caption</a></div>
-</div>
-</div>
+<p>This is a test template with parameter </p><div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/index.php?title=Special:Upload&amp;wpDestFile=Noimage.png" class="new" title="File:Noimage.png">File:Noimage.png</a>  <div class="thumbcaption"><a href="/index.php?title=No_link&amp;action=edit&amp;redlink=1" class="new" title="No link (page does not exist)">link</a> <a href="/index.php?title=No_link&amp;action=edit&amp;redlink=1" class="new" title="No link (page does not exist)">caption</a></div></div></div>
 !! html/parsoid
 <p about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"paramtest","href":"./Template:Paramtest"},"params":{"param":{"wt":"[[Image:noimage.png|thumb|[[no link|link]] [[no link|caption]]]]"}},"i":0}}]}'>This is a test template with parameter </p><figure class="mw-default-size" typeof="mw:Error mw:Image/Thumb" about="#mwt1" data-mw='{"errors":[{"key":"apierror-filedoesnotexist","message":"This image does not exist."}]}'><a href="./File:Noimage.png" ><img resource="./File:Noimage.png" src="./Special:FilePath/Noimage.png" height="220" width="220"/></a><figcaption><a rel="mw:WikiLink" href="./No_link" title="No link">link</a> <a rel="mw:WikiLink" href="./No_link" title="No link">caption</a></figcaption></figure>
 !! end
@@ -11763,21 +11576,13 @@ Templates with intersecting and overlapping ranges
 {{echo|{{!}}hi}}
 |}
 !! html/php+tidy
-<p>ha</p>
-<p>ho</p>
-<table>
-<tr>
-<td></td>
-</tr>
-<tr>
-<td>hi</td>
-</tr>
-</table>
-<table>
-<tr>
-<td></td>
-</tr>
-</table>
+<p>ha</p><table>
+
+</table><p>ho</p><table>
+
+<tbody><tr>
+<td>hi
+</td></tr></tbody></table>
 !! html/parsoid
 <p about="#mwt1" typeof="mw:Transclusion" data-parsoid='{"stx":"html","autoInsertedEnd":true,"pi":[[{"k":"1"}],[{"k":"1"}],[{"k":"1"}]],"firstWikitextNode":"table"}' data-mw='{"parts":["{|",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"\n&lt;p>ha&lt;/p>"}},"i":0}},"\n","{|",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"\n&lt;p>ho&lt;/p>"}},"i":1}},"\n",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"{{!}}hi"}},"i":2}},"\n|}"]}'>ha</p><table about="#mwt1" typeof="mw:ExpandedAttrs" data-mw='{"attribs":[[{"txt":"","html":""},{"html":""}]]}'>
 
@@ -12486,30 +12291,21 @@ tag, nothing bad happens:
 {{echo|<tag>foo-{bar}bat</tag>}}
 
 !! html/php+tidy
-<p>This form breaks the template, which is unfortunate:</p>
-<ul>
-<li>{{echo|foo-{bar}bat}}</li>
-</ul>
-<p>But if the broken language converter markup is inside an extension tag, nothing bad happens:</p>
-<ul>
-<li>foo-{bar}bat</li>
-<li>foo-{bar}bat</li>
-<li>
-<pre>
-foo-{bar}bat
-</pre></li>
-<li>
-<pre>
-foo-{bar}bat
-</pre></li>
-</ul>
-<pre>
-'foo-{bar}bat'
+<p>This form breaks the template, which is unfortunate:
+</p>
+<ul><li> {{echo|foo-{bar}bat}}</li></ul>
+<p>But if the broken language converter markup is inside an extension
+tag, nothing bad happens:
+</p>
+<ul><li> foo-&#123;bar}bat</li>
+<li> foo-&#123;bar}bat</li>
+<li> <pre>foo-{bar}bat</pre></li>
+<li> <pre>foo-{bar}bat</pre></li></ul>
+<pre>'foo-{bar}bat'
 array (
 )
 </pre>
-<pre>
-'foo-{bar}bat'
+<pre>'foo-{bar}bat'
 array (
 )
 </pre>
@@ -12537,16 +12333,14 @@ parsoid=wt2html
 * [http://example.com Example in -{link} description]
 * {{echo|[http://example.com/-{foo Breaks template, however]}}
 !! html/php+tidy
-<ul>
-<li><a rel="nofollow" class="external text" href="http://example.com/-{foo">Example in URL</a></li>
-<li><a rel="nofollow" class="external text" href="http://example.com">Example in -{link} description</a></li>
-<li>{{echo|<a rel="nofollow" class="external text" href="http://example.com/-{foo">Breaks template, however</a>}}</li>
-</ul>
+<ul><li> <a rel="nofollow" class="external text" href="http://example.com/-{foo">Example in URL</a></li>
+<li> <a rel="nofollow" class="external text" href="http://example.com">Example in -{link} description</a></li>
+<li> {{echo|<a rel="nofollow" class="external text" href="http://example.com/-{foo">Breaks template, however</a>}}</li></ul>
 !! html/parsoid
 <ul>
-<li><a rel="mw:ExtLink" href="http://example.com/-{foo">Example in URL</a></li>
-<li><a rel="mw:ExtLink" href="http://example.com">Example in -{link} description</a></li>
-<li>{{echo|<a rel="mw:ExtLink" href="http://example.com/-{foo">Breaks template, however</a>}}</li>
+<li><a rel="mw:ExtLink" class="external text" href="http://example.com/-{foo">Example in URL</a></li>
+<li><a rel="mw:ExtLink" class="external text" href="http://example.com">Example in -{link} description</a></li>
+<li>{{echo|<a rel="mw:ExtLink" class="external text" href="http://example.com/-{foo">Breaks template, however</a>}}</li>
 </ul>
 !! end
 
@@ -12557,11 +12351,9 @@ Preprocessor precedence 14: broken language converter in comment
 * <!---{{foo}}--> ...extra dashes
 * {{echo|foo<!-- -{bar} -->bat}} ...should be ok
 !! html/php+tidy
-<ul>
-<li>...should be ok</li>
-<li>...extra dashes</li>
-<li>foobat ...should be ok</li>
-</ul>
+<ul><li>  ...should be ok</li>
+<li>  ...extra dashes</li>
+<li> foobat ...should be ok</li></ul>
 !! html/parsoid
 <ul>
 <li><!--{{foo}}--> ...should be ok</li>
@@ -12592,17 +12384,23 @@ __NOTOC__ __NOEDITSECTION__
 6
 !! html/php+tidy
 <h3><span id="1_foo.5Bbar_1"></span><span class="mw-headline" id="1_foo[bar_1">1 foo[bar 1</span></h3>
-<p>1</p>
+<p>1
+</p>
 <h3><span id="2_foo.5B.5Bbar_2"></span><span class="mw-headline" id="2_foo[[bar_2">2 foo[[bar 2</span></h3>
-<p>2</p>
+<p>2
+</p>
 <h3><span id="3_foo.7Bbar_3"></span><span class="mw-headline" id="3_foo{bar_3">3 foo{bar 3</span></h3>
-<p>3</p>
+<p>3
+</p>
 <h3><span id="4_foo.7B.7Bbar_4"></span><span class="mw-headline" id="4_foo{{bar_4">4 foo{{bar 4</span></h3>
-<p>4</p>
+<p>4
+</p>
 <h3><span id="5_foo.7B.7B.7Bbar_5"></span><span class="mw-headline" id="5_foo{{{bar_5">5 foo{{{bar 5</span></h3>
-<p>5</p>
+<p>5
+</p>
 <h3><span id="6_foo-.7Bbar_6"></span><span class="mw-headline" id="6_foo-{bar_6">6 foo-{bar 6</span></h3>
-<p>6</p>
+<p>6
+</p>
 !! html/parsoid
 <meta property="mw:PageProp/notoc"/> <meta property="mw:PageProp/noeditsection"/>
 <h3 id="1_foo[bar_1"><span id="1_foo.5Bbar_1" typeof="mw:FallbackId"></span>1 foo[bar 1</h3>
@@ -12775,9 +12573,7 @@ Templates: 2. Inside a block tag
 
 !! html+tidy
 <div>Foo</div>
-<blockquote>
-<p>Foo</p>
-</blockquote>
+<blockquote><p>Foo</p></blockquote>
 !!end
 
 !!test
@@ -12816,9 +12612,9 @@ Templates: P-wrapping: 1c. Templates on consecutive lines
 bar <div>baz</div>
 
 !! html+tidy
-<p>Foo</p>
-<p>bar</p>
-<div>baz</div>
+<p>Foo
+</p><p>
+bar </p><div>baz</div>
 !! end
 
 !!test
 <tr><td></td></tr></table>
 
 !! html+tidy
-<p>a</p>
-<table>
-<tr>
-<td></td>
-</tr>
-</table>
+
+a
+<table><tbody><tr><td></td></tr></tbody></table>
 !! end
 
 !!test
@@ -13266,14 +13059,18 @@ foo
 </div>
 <tr><td></td></tr></table>
 
-!! html+tidy
+!! html/php+tidy
 <div>
+<p>foo
+</p>
+</div><table>
+
+<tbody><tr><td></td></tr></tbody></table>
+!! html/parsoid
+<div about="#mwt3" typeof="mw:Transclusion" data-parsoid='{"stx":"html","fostered":true,"autoInsertedEnd":true,"firstWikitextNode":"TABLE","pi":[[{"k":"1"}],[{"k":"1"}]]}' data-mw='{"parts":["{|\n",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;div>"}},"i":0}},"\nfoo\n",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;/div>"}},"i":1}},"\n|}"]}'>
 <p>foo</p>
-</div>
-<table>
-<tr>
-<td></td>
-</tr>
+</div><table about="#mwt3">
+
 </table>
 !! end
 
 <div>b</div>
 <tr><td></td></tr></table>
 
-!! html+tidy
-<p>a</p>
-<div>b</div>
-<table>
-<tr>
-<td></td>
-</tr>
+!! html/php+tidy
+
+a
+<div>b</div><table>
+<tbody><tr><td></td></tr></tbody></table>
+!! html/parsoid
+<p about="#mwt2" typeof="mw:Transclusion" data-parsoid='{"fostered":true,"autoInsertedEnd":true,"firstWikitextNode":"TABLE","pi":[[{"k":"1"}]]}' data-mw='{"parts":["{|\n",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"a\n&lt;div>b&lt;/div>"}},"i":0}},"\n|}"]}'>a</p><div about="#mwt2">b</div><table about="#mwt2">
+
+
 </table>
 !! end
 
@@ -13366,7 +13165,7 @@ Templates: Wiki Tables: 7. Fosterable <ref>s should get fostered
 
 <references />
 !!html/parsoid
-<span about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Transclusion  mw:Extension/ref" data-mw='{"parts":[{"template":{"target":{"wt":"PartialTable","href":"./Template:PartialTable"},"params":{},"i":0}},"&lt;ref>foo&lt;/ref>\n|}"]}'><a href="./Main_Page#cite_note-1"><span class="mw-reflink-text">[1]</span></a></span><table about="#mwt2">
+<sup about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Transclusion  mw:Extension/ref" data-mw='{"parts":[{"template":{"target":{"wt":"PartialTable","href":"./Template:PartialTable"},"params":{},"i":0}},"&lt;ref>foo&lt;/ref>\n|}"]}'><a href="./Main_Page#cite_note-1"><span class="mw-reflink-text">[1]</span></a></sup><table about="#mwt2">
 <tbody>
 </tbody></table>
 
@@ -13445,78 +13244,10 @@ a<div>b{{echo|c</div>d}}e
 a<div>bc</div>de
 
 !! html+tidy
-<p>a</p>
-<div>bc</div>
-<p>de</p>
+<p>a</p><div>bc</div><p>de
+</p>
 !! end
 
-!!test
-Templates: Ugly templates: 1. Navbox template parses badly leading to table misnesting
-(Parsoid-centric)
-!! options
-parsoid
-!! wikitext
-{|
-|{{echo|foo</table>}}
-|bar
-|}
-!! html
-<table about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":["{|\n|",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo</table>"}},"i":0}},"\n|bar\n|}"]}'>
-
-<tbody>
-<tr>
-<td>foo</td></tr></tbody></table><span about="#mwt1">
-</span><span about="#mwt1">|bar</span><span about="#mwt1">
-|}</span>
-!!end
-
-!!test
-Templates: Ugly templates: 2. Navbox template parses badly leading to table misnesting
-(Parsoid-centric)
-!! options
-parsoid
-!! wikitext
-<table>
-  <tr>
-    <td>
-    <table>
-      <tr>
-        <td>1. {{echo|foo </table>}}</td>
-        <td> bar </td>
-        <td>2. {{echo|baz </table>}}</td>
-      </tr>
-      <tr>
-        <td>abc</td>
-      </tr>
-    </table>
-    </td>
-  </tr>
-  <tr>
-    <td>xyz</td>
-  </tr>
-</table>
-!! html
-<table about="#mwt2" typeof="mw:Transclusion" data-mw='{"parts":["<table>\n  <tr>\n    <td>\n    <table>\n      <tr>\n        <td>1. ",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo </table>"}},"i":0}},"</td>\n        <td> bar </td>\n        <td>2. ",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"baz </table>"}},"i":1}},"</td>\n      </tr>\n      <tr>\n        <td>abc</td>\n      </tr>\n    </table>\n    </td>\n  </tr>\n  <tr>\n    <td>xyz</td>\n  </tr>\n</table>"]}'>
-  <tbody><tr>
-    <td>
-    <table>
-      <tbody><tr>
-        <td>1. foo </td></tr></tbody></table></td>
-        <td> bar </td>
-        <td>2. baz </td></tr></tbody></table><span about="#mwt2">
-      </span><span about="#mwt2">
-      </span><span about="#mwt2">
-        </span><span about="#mwt2">abc</span><span about="#mwt2">
-      </span><span about="#mwt2">
-    </span><span about="#mwt2">
-    </span><span about="#mwt2">
-  </span><span about="#mwt2">
-  </span><span about="#mwt2">
-    </span><span about="#mwt2">xyz</span><span about="#mwt2">
-  </span><span about="#mwt2">
-</span>
-!!end
-
 !! test
 Templates: Ugly templates: 3. newline-only template parameter
 !! wikitext
@@ -14449,6 +14180,8 @@ Titles in unlinked images (T23454)
 !! html/php
 <p><img alt="stuff" src="http://example.com/images/3/3a/Foobar.jpg" title="stuff" width="1941" height="220" />
 </p>
+!! html/parsoid
+<p><figure-inline class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"stuff"}'><span><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="220" width="1941"/></span></figure-inline></p>
 !! end
 
 !! test
@@ -14545,18 +14278,11 @@ thumbsize=220
 123<div class="thumb tright"><div class="thumbinner" style="width:222px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" width="220" height="25" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/330px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/440px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div></div></div></div>456
 
 !! html/php+tidy
-<p>123<a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>456</p>
-<p>123</p>
-<div class="floatright"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a></div>
-<p>456 123</p>
-<div class="thumb tright">
-<div class="thumbinner" style="width:222px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" width="220" height="25" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/330px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/440px-Foobar.jpg 2x" /></a>
-<div class="thumbcaption">
-<div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>
-</div>
-</div>
-</div>
-<p>456</p>
+<p>123<a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>456
+</p><p>
+123</p><div class="floatright"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a></div><p>456
+123</p><div class="thumb tright"><div class="thumbinner" style="width:222px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" width="220" height="25" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/330px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/440px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div></div></div></div><p>456
+</p>
 !! html/parsoid
 <p>123<figure-inline class="mw-default-size" typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="220" width="1941"/></a></figure-inline>456</p>
 <p>123</p><figure class="mw-default-size mw-halign-right" typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="220" width="1941"/></a></figure><p>456</p>
@@ -14703,7 +14429,7 @@ Image with link parameter, wgNoFollowLinks set to false
 [[Image:foobar.jpg|link=http://example.com/]]
 !! config
 wgNoFollowLinks=false
-!! html
+!! html/php
 <p><a href="http://example.com/"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
 </p>
 !! end
@@ -14714,7 +14440,7 @@ Image with link parameter, wgNoFollowDomainExceptions
 [[Image:foobar.jpg|link=http://example.com/]]
 !! config
 wgNoFollowDomainExceptions='example.com'
-!! html
+!! html/php
 <p><a href="http://example.com/"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
 </p>
 !! end
@@ -15195,7 +14921,7 @@ thumbsize=220
 <div class="thumb tright"><div class="thumbinner" style="width:222px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" width="220" height="25" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/330px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/440px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div><a rel="nofollow" class="external free" href="http://example.com">http://example.com</a></div></div></div>
 
 !! html/parsoid
-<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption><a rel="mw:ExtLink" href="http://example.com">http://example.com</a></figcaption></figure>
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption><a rel="mw:ExtLink" class="external free" href="http://example.com">http://example.com</a></figcaption></figure>
 !! end
 
 !! test
@@ -15209,7 +14935,7 @@ parsoid=wt2html,wt2wt,html2html
 <div class="thumb tright"><div class="thumbinner" style="width:222px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Alteration" src="http://example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" width="220" height="25" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/330px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/440px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div><a rel="nofollow" class="external free" href="http://example.com">http://example.com</a></div></div></div>
 
 !! html/parsoid
-<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img alt="Alteration" resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption><a rel="mw:ExtLink" href="http://example.com">http://example.com</a></figcaption></figure>
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img alt="Alteration" resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption><a rel="mw:ExtLink" class="external free" href="http://example.com">http://example.com</a></figcaption></figure>
 !! end
 
 !! test
@@ -15269,7 +14995,7 @@ T3887: A RFC with a thumbnail
 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>This is <a class="external mw-magiclink-rfc" rel="nofollow" href="https://tools.ietf.org/html/rfc12354">RFC 12354</a></div></div></div>
 
 !! html/parsoid
-<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>This is <a href="https://tools.ietf.org/html/rfc12354" rel="mw:ExtLink">RFC 12354</a></figcaption></figure>
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>This is <a href="https://tools.ietf.org/html/rfc12354" rel="mw:ExtLink" class="external text">RFC 12354</a></figcaption></figure>
 !! end
 
 !! test
@@ -15280,7 +15006,7 @@ T3887: A mailto link with a thumbnail
 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>Please <a rel="nofollow" class="external free" href="mailto:nobody@example.com">mailto:nobody@example.com</a></div></div></div>
 
 !! html/parsoid
-<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>Please <a rel="mw:ExtLink" href="mailto:nobody@example.com">mailto:nobody@example.com</a></figcaption></figure>
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>Please <a rel="mw:ExtLink" class="external free" href="mailto:nobody@example.com">mailto:nobody@example.com</a></figcaption></figure>
 !! end
 
 # Pending resolution to T2368
@@ -15463,7 +15189,7 @@ T5090: External links other than http: in image captions
 <div class="thumb tright"><div class="thumbinner" style="width:202px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/200px-Foobar.jpg" width="200" height="23" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/300px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/400px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>This caption has <a rel="nofollow" class="external text" href="irc://example.net">irc</a> and <a rel="nofollow" class="external text" href="https://example.com">Secure</a> ext links in it.</div></div></div>
 
 !! html/parsoid
-<figure typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/200px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="23" width="200"/></a><figcaption>This caption has <a rel="mw:ExtLink" href="irc://example.net">irc</a> and <a rel="mw:ExtLink" href="https://example.com">Secure</a> ext links in it.</figcaption></figure>
+<figure typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/200px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="23" width="200"/></a><figcaption>This caption has <a rel="mw:ExtLink" class="external text" href="irc://example.net">irc</a> and <a rel="mw:ExtLink" class="external text" href="https://example.com">Secure</a> ext links in it.</figcaption></figure>
 !! end
 
 !! test
@@ -15799,7 +15525,7 @@ T93580: 1. Templated <ref> inside block images
 
 <references />
 !! html/parsoid
-<figure class="mw-default-size" typeof="mw:Image/Thumb" data-parsoid='{"optList":[{"ck":"thumbnail","ak":"thumb"},{"ck":"caption","ak":"Caption with templated ref: {{echo|&lt;ref>foo&lt;/ref>}}"}]}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"},"sa":{}}'><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"25","width":"220"},"sa":{"resource":"File:Foobar.jpg"}}'/></a><figcaption>Caption with templated ref: <span about="#mwt5" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Transclusion  mw:Extension/ref" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;ref>foo&lt;/ref>"}},"i":0}}]}'><a href="./Main_Page#cite_note-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></span></figcaption></figure>
+<figure class="mw-default-size" typeof="mw:Image/Thumb" data-parsoid='{"optList":[{"ck":"thumbnail","ak":"thumb"},{"ck":"caption","ak":"Caption with templated ref: {{echo|&lt;ref>foo&lt;/ref>}}"}]}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"},"sa":{}}'><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"25","width":"220"},"sa":{"resource":"File:Foobar.jpg"}}'/></a><figcaption>Caption with templated ref: <sup about="#mwt5" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Transclusion  mw:Extension/ref" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;ref>foo&lt;/ref>"}},"i":0}}]}'><a href="./Main_Page#cite_note-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup></figcaption></figure>
 
 <ol class="mw-references references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1" id="cite_note-1"><a href="./Main_Page#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text" data-parsoid="{}">foo</span></li></ol>
 !! end
@@ -15811,7 +15537,7 @@ T93580: 2. <ref> inside inline images
 
 <references />
 !! html/parsoid
-<p><figure-inline class="mw-default-size" typeof="mw:Image" data-parsoid='{"optList":[{"ck":"caption","ak":"Undisplayed caption in inline image with ref: &lt;ref>foo&lt;/ref>"}]}' data-mw='{"caption":"Undisplayed caption in inline image with ref: &lt;span about=\"#mwt2\" class=\"mw-ref\" id=\"cite_ref-1\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid=&#39;{\"dsr\":[64,78,5,6]}&#39; data-mw=&#39;{\"name\":\"ref\",\"body\":{\"id\":\"mw-reference-text-cite_note-1\"},\"attrs\":{}}&#39;>&lt;a href=\"./Main_Page#cite_note-1\" style=\"counter-reset: mw-Ref 1;\" data-parsoid=\"{}\">&lt;span class=\"mw-reflink-text\" data-parsoid=\"{}\">[1]&lt;/span>&lt;/a>&lt;/span>"}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"},"sa":{"href":"File:Foobar.jpg"}}'><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="220" width="1941" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"220","width":"1941"},"sa":{"resource":"File:Foobar.jpg"}}'/></a></figure-inline></p>
+<p><figure-inline class="mw-default-size" typeof="mw:Image" data-parsoid='{"optList":[{"ck":"caption","ak":"Undisplayed caption in inline image with ref: &lt;ref>foo&lt;/ref>"}]}' data-mw='{"caption":"Undisplayed caption in inline image with ref: &lt;sup about=\"#mwt2\" class=\"mw-ref\" id=\"cite_ref-1\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid=&#39;{\"dsr\":[64,78,5,6]}&#39; data-mw=&#39;{\"name\":\"ref\",\"body\":{\"id\":\"mw-reference-text-cite_note-1\"},\"attrs\":{}}&#39;>&lt;a href=\"./Main_Page#cite_note-1\" style=\"counter-reset: mw-Ref 1;\" data-parsoid=\"{}\">&lt;span class=\"mw-reflink-text\" data-parsoid=\"{}\">[1]&lt;/span>&lt;/a>&lt;/sup>"}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"},"sa":{"href":"File:Foobar.jpg"}}'><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="220" width="1941" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"220","width":"1941"},"sa":{"resource":"File:Foobar.jpg"}}'/></a></figure-inline></p>
 
 <ol class="mw-references references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1" id="cite_note-1"><a href="./Main_Page#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li></ol>
 !! end
@@ -15823,7 +15549,7 @@ T93580: 3. Templated <ref> inside inline images
 
 <references />
 !! html/parsoid
-<p><figure-inline class="mw-default-size" typeof="mw:Image" data-parsoid='{"optList":[{"ck":"caption","ak":"Undisplayed caption in inline image with ref: {{echo|&lt;ref>{{echo|foo}}&lt;/ref>}}"}]}' data-mw='{"caption":"Undisplayed caption in inline image with ref: &lt;span about=\"#mwt2\" class=\"mw-ref\" id=\"cite_ref-1\" rel=\"dc:references\" typeof=\"mw:Transclusion  mw:Extension/ref\" data-parsoid=&#39;{\"dsr\":[64,96,null,null],\"pi\":[[{\"k\":\"1\"}]]}&#39; data-mw=&#39;{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"&amp;lt;ref>{{echo|foo}}&amp;lt;/ref>\"}},\"i\":0}}]}&#39;>&lt;a href=\"./Main_Page#cite_note-1\" style=\"counter-reset: mw-Ref 1;\" data-parsoid=\"{}\">&lt;span class=\"mw-reflink-text\" data-parsoid=\"{}\">[1]&lt;/span>&lt;/a>&lt;/span>"}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"},"sa":{"href":"File:Foobar.jpg"}}'><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="220" width="1941" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"220","width":"1941"},"sa":{"resource":"File:Foobar.jpg"}}'/></a></figure-inline></p>
+<p><figure-inline class="mw-default-size" typeof="mw:Image" data-parsoid='{"optList":[{"ck":"caption","ak":"Undisplayed caption in inline image with ref: {{echo|&lt;ref>{{echo|foo}}&lt;/ref>}}"}]}' data-mw='{"caption":"Undisplayed caption in inline image with ref: &lt;sup about=\"#mwt2\" class=\"mw-ref\" id=\"cite_ref-1\" rel=\"dc:references\" typeof=\"mw:Transclusion  mw:Extension/ref\" data-parsoid=&#39;{\"dsr\":[64,96,null,null],\"pi\":[[{\"k\":\"1\"}]]}&#39; data-mw=&#39;{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"&amp;lt;ref>{{echo|foo}}&amp;lt;/ref>\"}},\"i\":0}}]}&#39;>&lt;a href=\"./Main_Page#cite_note-1\" style=\"counter-reset: mw-Ref 1;\" data-parsoid=\"{}\">&lt;span class=\"mw-reflink-text\" data-parsoid=\"{}\">[1]&lt;/span>&lt;/a>&lt;/sup>"}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"},"sa":{"href":"File:Foobar.jpg"}}'><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="220" width="1941" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"220","width":"1941"},"sa":{"resource":"File:Foobar.jpg"}}'/></a></figure-inline></p>
 
 <ol class="mw-references references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1" id="cite_note-1"><a href="./Main_Page#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li></ol>
 !! end
@@ -15964,7 +15690,7 @@ Render invalid page names as plain text (T53090)
 [[.]]
 [[..]]
 [[foo././bar]]
-[[foo<a rel="mw:ExtLink" href="http://example.com"></a>xyz]]</p>
+[[foo<a rel="mw:ExtLink" class="external autonumber" href="http://example.com"></a>xyz]]</p>
 
 <p>[[<span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"./../foo"}},"i":0}}]}'>./../foo</span>|bar]]
 [[<span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo/."}},"i":0}}]}'>foo/.</span>|bar]]
@@ -16177,7 +15903,8 @@ Bar
 <p>Foo <link rel="mw:PageProp/Category" href="./Category:Baz"/> Bar</p>
 <p>Foo <link rel="mw:PageProp/Category" href="./Category:Baz"/> Bar</p>
 <p>Foo <link rel="mw:PageProp/Category" href="./Category:Baz"/> Bar</p>
-<p>Foo <link rel="mw:PageProp/Category" href="./Category:Baz"/> <link rel="mw:PageProp/Category" href="./Category:Baz"/> <link rel="mw:PageProp/Category" href="./Category:Baz"/> Bar <link rel="mw:PageProp/Category" href="./Category:Baz"/> <link rel="mw:PageProp/Category" href="./Category:Baz"/> <link rel="mw:PageProp/Category" href="./Category:Baz"/> <link rel="mw:PageProp/Category" href="./Category:Baz"/> <link rel="mw:PageProp/Category" href="./Category:Baz" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"[[Category:Baz]]"}},"i":0}}]}'/></p>
+<p>Foo <link rel="mw:PageProp/Category" href="./Category:Baz"/> <link rel="mw:PageProp/Category" href="./Category:Baz"/> <link rel="mw:PageProp/Category" href="./Category:Baz"/> Bar</p>
+<link rel="mw:PageProp/Category" href="./Category:Baz"/> <link rel="mw:PageProp/Category" href="./Category:Baz"/> <link rel="mw:PageProp/Category" href="./Category:Baz"/> <link rel="mw:PageProp/Category" href="./Category:Baz"/> <link rel="mw:PageProp/Category" href="./Category:Baz" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"[[Category:Baz]]"}},"i":0}}]}'/>
 <link rel="mw:PageProp/Category" href="./Category:Baz"/>
 !! end
 
@@ -16943,7 +16670,7 @@ http://example.com [[File:Foobar.jpg]]
 <p><a rel="nofollow" class="external free" href="http://example.com">http://example.com</a> <a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://example.com">http://example.com</a> <figure-inline class="mw-default-size" typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="220" width="1941"/></a></figure-inline></p>
+<p><a rel="mw:ExtLink" class="external free" href="http://example.com">http://example.com</a> <figure-inline class="mw-default-size" typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="220" width="1941"/></a></figure-inline></p>
 !!end
 
 # Parsoid doesn't wt2wt this cleanly because it adds <nowiki>s.
@@ -17248,7 +16975,7 @@ http://example.com[[File:Foobar.jpg]]
 <p><a rel="nofollow" class="external free" href="http://example.com">http://example.com</a><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://example.com">http://example.com</a><figure-inline class="mw-default-size" typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="220" width="1941"/></a></figure-inline></p>
+<p><a rel="mw:ExtLink" class="external free" href="http://example.com">http://example.com</a><figure-inline class="mw-default-size" typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="220" width="1941"/></a></figure-inline></p>
 !!end
 
 !! test
@@ -17357,6 +17084,20 @@ parsoid=wt2html,html2html
 <div id="title=" data-parsoid='{"stx":"html"}'>HTML rocks</div>
 !! end
 
+# FIXME Parsoid doesn't actually match PHP here.
+# Probably we should use the synthetic <foo /> or <indicator>
+# extensions for this test, which are enabled when running parser tests.
+!! test
+Extension tag in attribute value
+!! wikitext
+<span title="<translate>123</translate>">ok</span>
+!! html/php+disabled
+<p>&lt;span title="&lt;translate&gt;123&lt;/translate&gt;"&gt;ok&lt;/span&gt;
+</p>
+!! html/parsoid
+<p><span title="123" about="#mwt4" typeof="mw:ExpandedAttrs" data-parsoid='{"stx":"html","a":{"title":"123"},"sa":{"title":"&lt;translate>123&lt;/translate>"}}' data-mw='{"attribs":[[{"txt":"title"},{"html":"&lt;translate typeof=\"mw:Extension/translate\" about=\"#mwt3\" data-parsoid=&apos;{\"dsr\":[13,39,2,2]}&apos; data-mw=&apos;{\"name\":\"translate\",\"attrs\":{},\"body\":{\"extsrc\":\"123\"}}&apos;>123&lt;/translate>"}]]}'>ok</span></p>
+!! end
+
 !! test
 table with multiple empty attribute values
 !! options
@@ -17464,11 +17205,9 @@ Remember AT&T?
 text with character entity: eacute
 !! wikitext
 I always thought &eacute; was a cute letter.
-!! html
+!! html+tidy
 <p>I always thought &#233; was a cute letter.
 </p>
-!! html+tidy
-<p>I always thought é was a cute letter.</p>
 !! end
 
 !! test
@@ -17546,12 +17285,11 @@ Ensure that HTML adoption agency algorithm is properly implemented.
 !! end
 
 # This was T43545 in the PHP parser.
-# Note that tidy doesn't handle this correctly.
 !! test
 Nesting of <kbd>
 !! wikitext
 <kbd>X<kbd>Y</kbd>Z</kbd>
-!! html
+!! html+tidy
 <p><kbd>X<kbd>Y</kbd>Z</kbd>
 </p>
 !! end
@@ -17560,22 +17298,20 @@ Nesting of <kbd>
 # Note that there are some other nestable tags (b, i, etc) which are
 # not covered; see T53081 for discussion.
 
-# Note that tidy doesn't handle this correctly.
 !! test
 Nesting of <em>
 !! wikitext
 <em>X<em>Y</em>Z</em>
-!! html
+!! html+tidy
 <p><em>X<em>Y</em>Z</em>
 </p>
 !! end
 
-# Note that tidy doesn't handle this correctly.
 !! test
 Nesting of <strong>
 !! wikitext
 <strong>X<strong>Y</strong>Z</strong>
-!! html
+!! html+tidy
 <p><strong>X<strong>Y</strong>Z</strong>
 </p>
 !! end
@@ -17585,10 +17321,10 @@ Nesting of <q>
 !! wikitext
 <q>X<q>Y</q>Z</q>
 !! html+tidy
-<p><q>X<q>Y</q>Z</q></p>
+<p><q>X<q>Y</q>Z</q>
+</p>
 !! end
 
-# Note that tidy doesn't handle this correctly.
 !! test
 Nesting of <ruby>
 !! wikitext
@@ -17598,7 +17334,6 @@ Nesting of <ruby>
 </p>
 !! end
 
-# Note that tidy doesn't handle this correctly.
 !! test
 Nesting of <bdo>
 !! wikitext
@@ -17643,6 +17378,7 @@ Media link with text
 
 # FIXME: this is still bad HTML tag nesting
 # FIXME: doBlockLevels won't wrap this in a paragraph because it contains a div
+# Parsoid & Remex fix the p-wrapping since they operate on the DOM.
 !! test
 Media link with nasty text
 !! wikitext
@@ -18256,11 +17992,12 @@ Expansion of multi-line templates in attribute values (T8255 sanity check 2)
 !! end
 
 !! test
-Tags which are hidden from Tidy cannot pass through the Sanitizer
+Tags which are hidden from tidiers cannot pass through the Sanitizer
 !! wikitext
 <mw:toc><script>alert();</script></mw:toc>
 !! html+tidy
-<p>&lt;mw:toc&gt;&lt;script&gt;alert();&lt;/script&gt;&lt;/mw:toc&gt;</p>
+<p>&lt;mw:toc&gt;&lt;script&gt;alert();&lt;/script&gt;&lt;/mw:toc&gt;
+</p>
 !! end
 
 ###
@@ -18565,14 +18302,14 @@ Nested template calls
 ### Sanitizer
 ###
 
-# HTML+Tidy strips out empty tags completely. Parsoid doesn't.
-# FIXME: Wikitext for this first test doesn't match its title.
+# Remex wraps empty tag runs with p-tags.
+# Parsoid strips them out during p-wrapping.
 !! test
 Sanitizer: Closing of open tags
 !! wikitext
 <s></s><table></table>
 !! html/php+tidy
-
+<p><s></s></p><table></table>
 !! html/parsoid
 <s></s><table></table>
 !! end
@@ -18593,6 +18330,8 @@ parsoid=wt2html
 !! wikitext
 </s>
 !! html/php+tidy
+<p class="mw-empty-elt">
+</p>
 !! html/parsoid
 !! end
 
@@ -18602,10 +18341,9 @@ Sanitizer: Closing of closed but not open table tags
 parsoid=wt2html
 !! wikitext
 Table not started</td></tr></table>
-!! html/php+tidy
-<p>Table not started</p>
-!! html/parsoid
-<p>Table not started</p>
+!! html+tidy
+<p>Table not started
+</p>
 !! end
 
 !! test
@@ -18763,7 +18501,7 @@ language=sr variant=sr-el
 !! html/parsoid
 <p><meta typeof="mw:LanguageVariant" data-mw-variant='{"add":true,"oneway":[{"f":"foAjrjvi","l":"sr-el","t":"\" onload=\"alert(1)\" data-foo=\""}]}'/></p>
 
-<p><span class="mw-default-size" typeof="mw:Image"><a href="./Датотека:Foobar.jpg"><img alt="foAjrjvi" resource="./Датотека:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="220" width="1941" data-parsoid='{"a":{"alt":"foAjrjvi","resource":"./Датотека:Foobar.jpg","height":"220","width":"1941"},"sa":{"alt":"alt=-{}-foAjrjvi-{}-","resource":"File:Foobar.jpg"}}'/></a></span></p>
+<p><figure-inline class="mw-default-size" typeof="mw:Image"><a href="./Датотека:Foobar.jpg"><img alt="foAjrjvi" resource="./Датотека:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="220" width="1941" data-parsoid='{"a":{"alt":"foAjrjvi","resource":"./Датотека:Foobar.jpg","height":"220","width":"1941"},"sa":{"alt":"alt=-{}-foAjrjvi-{}-","resource":"File:Foobar.jpg"}}'/></a></figure-inline></p>
 !! end
 
 !! test
@@ -18776,10 +18514,6 @@ Self closed html pairs (T7487)
 <div><font id="bug2"></font>In div text</div>
 !! end
 
-#
-#
-#
-
 !! test
 Punctuation: nbsp before exclamation
 !! wikitext
@@ -18837,9 +18571,9 @@ HTML bullet list, unclosed tags (T7497)
 </ul>
 !! html/php+tidy
 <ul>
-<li>One</li>
-<li>Two</li>
-</ul>
+<li>One
+</li><li>Two
+</li></ul>
 !! html/parsoid
 <ul data-parsoid='{"stx":"html"}'>
 <li data-parsoid='{"stx":"html","autoInsertedEnd":true}'>One</li>
@@ -18879,9 +18613,9 @@ HTML ordered list, unclosed tags (T7497)
 </ol>
 !! html/php+tidy
 <ol>
-<li>One</li>
-<li>Two</li>
-</ol>
+<li>One
+</li><li>Two
+</li></ol>
 !! html/parsoid
 <ol data-parsoid='{"stx":"html"}'>
 <li data-parsoid='{"stx":"html","autoInsertedEnd":true}'>One</li>
@@ -18936,30 +18670,15 @@ HTML nested bullet list, open tags (T7497)
 <li>Sub-two
 </ul>
 </ul>
-!! html/php+tidy
-<ul>
-<li>One</li>
-<li>Two:
-<ul>
-<li>Sub-one</li>
-<li>Sub-two</li>
-</ul>
-</li>
-</ul>
-!! html/parsoid
+!! html+tidy
 <ul>
 <li>One
-</li>
-<li>Two:
+</li><li>Two:
 <ul>
 <li>Sub-one
-</li>
-<li>Sub-two
-</li>
-</ul>
-</li>
-</ul>
-
+</li><li>Sub-two
+</li></ul>
+</li></ul>
 !! end
 
 !! test
@@ -19056,11 +18775,11 @@ mailto:inline@mail.tld
 </p><p><a rel="nofollow" class="external free" href="mailto:inline@mail.tld">mailto:inline@mail.tld</a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://first/"></a> <a rel="mw:ExtLink" href="http://second"></a> <a rel="mw:ExtLink" href="ftp://ftp"></a></p>
-<p><a rel="mw:ExtLink" href="ftp://inlineftp">ftp://inlineftp</a></p>
-<p><a rel="mw:ExtLink" href="mailto:enclosed@mail.tld">With target</a></p>
-<p><a rel="mw:ExtLink" href="mailto:enclosed@mail.tld"></a></p>
-<p><a rel="mw:ExtLink" href="mailto:inline@mail.tld">mailto:inline@mail.tld</a></p>
+<p><a rel="mw:ExtLink" class="external autonumber" href="http://first/"></a> <a rel="mw:ExtLink" class="external autonumber" href="http://second"></a> <a rel="mw:ExtLink" class="external autonumber" href="ftp://ftp"></a></p>
+<p><a rel="mw:ExtLink" class="external free" href="ftp://inlineftp">ftp://inlineftp</a></p>
+<p><a rel="mw:ExtLink" class="external text" href="mailto:enclosed@mail.tld">With target</a></p>
+<p><a rel="mw:ExtLink" class="external autonumber" href="mailto:enclosed@mail.tld"></a></p>
+<p><a rel="mw:ExtLink" class="external free" href="mailto:inline@mail.tld">mailto:inline@mail.tld</a></p>
 !! end
 
 
@@ -19102,20 +18821,15 @@ http://<div id="toc" class="toc"><div class="toctitle" lang="en" dir="ltr"><h2>C
 
 
 !! html/php+tidy
-<h2><span class="mw-headline" id="onmouseover.3D">onmouseover=</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: onmouseover=">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
-<p>http://</p>
-<div id="toc" class="toc">
-<div class="toctitle" lang="en" dir="ltr" xml:lang="en">
-<h2>Contents</h2>
-</div>
+<h2><span class="mw-headline" id="onmouseover.3D">onmouseover=</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: onmouseover=">edit</a><span class="mw-editsection-bracket">]</span></span></h2><p>
+http://</p><div id="toc" class="toc"><div class="toctitle" lang="en" dir="ltr"><h2>Contents</h2></div>
 <ul>
 <li class="toclevel-1 tocsection-1"><a href="#onmouseover.3D"><span class="tocnumber">1</span> <span class="toctext">onmouseover=</span></a></li>
 </ul>
 </div>
-<p></p>
 !! html/parsoid
 <h2 id="onmouseover="><span id="onmouseover.3D" typeof="mw:FallbackId"></span> onmouseover= </h2>
-<p><a rel="mw:ExtLink" href="http://__TOC__" data-parsoid='{"stx":"url"}'>http://__TOC__</a></p>
+<p><a rel="mw:ExtLink" class="external free" href="http://__TOC__" data-parsoid='{"stx":"url"}'>http://__TOC__</a></p>
 !! end
 
 !! test
@@ -19144,31 +18858,22 @@ parsoid=wt2html,html2html
 !! end
 
 # Known to produce bogus xml (extra </td>)
+# Don't add the html/php section since it generates broken HTML
 !! test
 Fuzz testing: Parser16
 !! wikitext
 {|
 !https://||||||
-!! html
+!! html+tidy
 <table>
-<tr>
+<tbody><tr>
 <th>https://</th>
 <th></th>
 <th></th>
 <th>
-</td>
-</tr>
-</table>
 
-!! html+tidy
-<table>
-<tr>
-<th>https://</th>
-<th></th>
-<th></th>
-<th></th>
-</tr>
-</table>
+</th></tr>
+</tbody></table>
 !! end
 
 !! test
@@ -19273,7 +18978,7 @@ http://example.com <nowiki>junk</nowiki>
 <p><a rel="nofollow" class="external free" href="http://example.com">http://example.com</a> junk
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a> <span typeof="mw:Nowiki">junk</span></p>
+<p><a rel="mw:ExtLink" class="external free" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a> <span typeof="mw:Nowiki">junk</span></p>
 !! end
 
 !!test
@@ -19284,7 +18989,7 @@ http://example.com<nowiki>junk</nowiki>
 <p><a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>junk
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a><span typeof="mw:Nowiki">junk</span></p>
+<p><a rel="mw:ExtLink" class="external free" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a><span typeof="mw:Nowiki">junk</span></p>
 !! end
 
 !! test
@@ -19295,12 +19000,9 @@ http://example.com<pre>junk</pre>
 <a rel="nofollow" class="external free" href="http://example.com">http://example.com</a><pre>junk</pre>
 
 !! html/php+tidy
-<p><a rel="nofollow" class="external free" href="http://example.com">http://example.com</a></p>
-<pre>
-junk
-</pre>
+<p><a rel="nofollow" class="external free" href="http://example.com">http://example.com</a></p><pre>junk</pre>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a></p><pre typeof="mw:Extension/pre" about="#mwt2" data-mw='{"name":"pre","attrs":{},"body":{"extsrc":"junk"}}'>junk</pre>
+<p><a rel="mw:ExtLink" class="external free" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a></p><pre typeof="mw:Extension/pre" about="#mwt2" data-mw='{"name":"pre","attrs":{},"body":{"extsrc":"junk"}}'>junk</pre>
 !! end
 
 !! test
@@ -20359,7 +20061,7 @@ Handling of &#x0A; in URLs
 <ul><li><ul><li> <a rel="nofollow" class="external free" href="irc://%0Aa">irc://%0Aa</a></li></ul></li></ul>
 
 !! html/parsoid
-<ul><li><ul><li> <a rel="mw:ExtLink" href="irc://%0Aa" data-parsoid='{"stx":"url","a":{"href":"irc://%0Aa"},"sa":{"href":"irc://&amp;#x0A;a"}}'>irc://%0Aa</a></li></ul></li></ul>
+<ul><li><ul><li> <a rel="mw:ExtLink" class="external free" href="irc://%0Aa" data-parsoid='{"stx":"url","a":{"href":"irc://%0Aa"},"sa":{"href":"irc://&amp;#x0A;a"}}'>irc://%0Aa</a></li></ul></li></ul>
 !! end
 
 !! test
@@ -20370,7 +20072,7 @@ Handling of %0A in URLs
 <ul><li><ul><li> <a rel="nofollow" class="external free" href="irc://%0Aa">irc://%0Aa</a></li></ul></li></ul>
 
 !! html/parsoid
-<ul><li><ul><li> <a rel="mw:ExtLink" href="irc://%0Aa">irc://%0Aa</a></li></ul></li></ul>
+<ul><li><ul><li> <a rel="mw:ExtLink" class="external free" href="irc://%0Aa">irc://%0Aa</a></li></ul></li></ul>
 !! end
 
 # The PHP parser strips the empty tags out for giggles; parsoid doesn't.
@@ -20573,7 +20275,7 @@ image4    |300px| centre
 <li class="gallerybox" style="width: 155px;"><div class="thumb" style="width: 150px; height: 150px;"><figure-inline typeof="mw:Error mw:Image"><a href="./File:Image2.gif"><img resource="./File:Image2.gif" src="./Special:FilePath/Image2.gif" height="120" width="120"/></a></figure-inline></div><div class="gallerytext"></div></li>
 <li class="gallerybox" style="width: 155px;"><div class="thumb" style="width: 150px; height: 150px;"><figure-inline typeof="mw:Error mw:Image"><a href="./File:Image3"><img resource="./File:Image3" src="./Special:FilePath/Image3" height="120" width="120"/></a></figure-inline></div><div class="gallerytext"></div></li>
 <li class="gallerybox" style="width: 155px;"><div class="thumb" style="width: 150px; height: 150px;"><figure-inline typeof="mw:Error mw:Image"><a href="./File:Image4"><img resource="./File:Image4" src="./Special:FilePath/Image4" height="300" width="300"/></a></figure-inline></div><div class="gallerytext"></div></li>
-<li class="gallerybox" style="width: 155px;"><div class="thumb" style="width: 150px; height: 150px;"><figure-inline typeof="mw:Error mw:Image"><a href="./File:Image5.svg"><img resource="./File:Image5.svg" src="./Special:FilePath/Image5.svg" height="120" width="120"/></a></figure-inline></div><div class="gallerytext"> <a rel="mw:ExtLink" href="http://///////">http://///////</a></div></li>
+<li class="gallerybox" style="width: 155px;"><div class="thumb" style="width: 150px; height: 150px;"><figure-inline typeof="mw:Error mw:Image"><a href="./File:Image5.svg"><img resource="./File:Image5.svg" src="./Special:FilePath/Image5.svg" height="120" width="120"/></a></figure-inline></div><div class="gallerytext"> <a rel="mw:ExtLink" class="external free" href="http://///////">http://///////</a></div></li>
 <li class="gallerybox" style="width: 155px;"><div class="thumb" style="width: 150px; height: 150px;"><figure-inline typeof="mw:Error mw:Image"><a href="./File:*_image6"><img resource="./File:*_image6" src="./Special:FilePath/*_image6" height="120" width="120"/></a></figure-inline></div><div class="gallerytext"></div></li>
 </ul>
 !! end
@@ -20975,7 +20677,7 @@ File:Foobar.jpg|alt=galleryalt|link=Wikilink
 </ul>
 
 !! html/parsoid
-<ul class="gallery mw-gallery-traditional" typeof="mw:Extension/gallery" about="#mwt2" data-parsoid='{"dsr":[0,70,2,2]}' data-mw='{"name":"gallery","attrs":{},"body":{}}'>
+<ul class="gallery mw-gallery-traditional" typeof="mw:Extension/gallery" about="#mwt2" data-mw='{"name":"gallery","attrs":{},"body":{}}'>
 <li class="gallerybox" style="width: 155px;"><div class="thumb" style="width: 150px; height: 150px;"><figure-inline typeof="mw:Image"><a href="./Wikilink"><img alt="galleryalt" resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="14" width="120"/></a></figure-inline></div><div class="gallerytext"></div></li>
 </ul>
 !! end
@@ -21009,11 +20711,11 @@ File:Foobar.jpg|alt=galleryalt|link=http://www.example.org
 Gallery override link with absolute external link with LanguageConverter
 !! options
 language=zh
-!! input
+!! wikitext
 <gallery>
 File:foobar.jpg|caption|alt=galleryalt|link=http://www.example.org
 </gallery>
-!! result
+!! html/php
 <ul class="gallery mw-gallery-traditional">
                <li class="gallerybox" style="width: 155px"><div style="width: 155px">
                        <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="http://www.example.org"><img alt="galleryalt" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/240px-Foobar.jpg 2x" /></a></div></div>
@@ -21024,6 +20726,10 @@ File:foobar.jpg|caption|alt=galleryalt|link=http://www.example.org
                </div></li>
 </ul>
 
+!! html/parsoid
+<ul class="gallery mw-gallery-traditional" typeof="mw:Extension/gallery" about="#mwt2" data-mw='{"name":"gallery","attrs":{},"body":{"extsrc":"\nFile:foobar.jpg|caption|alt=galleryalt|link=http://www.example.org\n"}}'>
+<li class="gallerybox" style="width: 155px;"><div class="thumb" style="width: 150px; height: 150px;"><figure-inline typeof="mw:Image"><a href="http://www.example.org"><img alt="galleryalt" resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="14" width="120"/></a></figure-inline></div><div class="gallerytext">caption</div></li>
+</ul>
 !! end
 
 !! test
@@ -21156,8 +20862,6 @@ parsoid=wt2html,wt2wt,html2html
 !! html/php
 <p>&#x4a;&#x61;&#x76;&#x61;&#x53;&#x63;&#114;&#x69;&#112;&#x74;
 </p>
-!! html/php+tidy
-<p>JavaScript</p>
 !! html/parsoid
 <p><span typeof="mw:Entity">J</span><span typeof="mw:Entity">a</span><span typeof="mw:Entity">v</span><span typeof="mw:Entity">a</span><span typeof="mw:Entity">S</span><span typeof="mw:Entity">c</span><span typeof="mw:Entity">r</span><span typeof="mw:Entity">i</span><span typeof="mw:Entity">p</span><span typeof="mw:Entity">t</span></p>
 !! end
@@ -21166,11 +20870,9 @@ parsoid=wt2html,wt2wt,html2html
 HTML Hex character encoding bogus encoding (T28437 regression check)
 !! wikitext
 &#xsee;&#XSEE;
-!! html/php
+!! html
 <p>&amp;#xsee;&amp;#XSEE;
 </p>
-!! html/parsoid
-<p>&amp;#xsee;&amp;#XSEE;</p>
 !! end
 
 !! test
@@ -21182,8 +20884,6 @@ parsoid=wt2html,wt2wt,html2html
 !! html/php
 <p>&#xee;&#xee;
 </p>
-!! html/php+tidy
-<p>îî</p>
 !! html/parsoid
 <p><span typeof="mw:Entity">î</span><span typeof="mw:Entity">î</span></p>
 !! end
@@ -21202,22 +20902,20 @@ Illegal character references (T106578)
 ; Surrogate: &#xD83D;&#xDCA9;
 ; This is an okay astral character: &#x1F4A9;
 !! html+tidy
-<dl>
-<dt>Null</dt>
-<dd>&amp;#00;</dd>
-<dt>FF</dt>
-<dd>&amp;#xC;</dd>
-<dt>CR</dt>
-<dd>&amp;#xD;</dd>
-<dt>Control (low)</dt>
-<dd>&amp;#8;</dd>
-<dt>Control (high)</dt>
-<dd>&amp;#x7F; &amp;#x9F;</dd>
-<dt>Surrogate</dt>
-<dd>&amp;#xD83D;&amp;#xDCA9;</dd>
-<dt>This is an okay astral character</dt>
-<dd>💩</dd>
-</dl>
+<dl><dt> Null</dt>
+<dd> &amp;#00;</dd>
+<dt> FF</dt>
+<dd> &amp;#xC;</dd>
+<dt> CR</dt>
+<dd> &amp;#xD;</dd>
+<dt> Control (low)</dt>
+<dd> &amp;#8;</dd>
+<dt> Control (high)</dt>
+<dd> &amp;#x7F; &amp;#x9F;</dd>
+<dt> Surrogate</dt>
+<dd> &amp;#xD83D;&amp;#xDCA9;</dd>
+<dt> This is an okay astral character</dt>
+<dd> &#x1f4a9;</dd></dl>
 !! end
 
 !! test
@@ -21234,11 +20932,9 @@ __FORCETOC__
 ISBN code coverage
 !! wikitext
 ISBN  978-0-1234-56&#x20;789
-!! html
+!! html/php
 <p><a href="/wiki/Special:BookSources/9780123456" class="internal mw-magiclink-isbn">ISBN 978-0-1234-56</a>&#x20;789
 </p>
-!! html+tidy
-<p><a href="/wiki/Special:BookSources/9780123456" class="internal mw-magiclink-isbn">ISBN 978-0-1234-56</a> 789</p>
 !! html/parsoid
 <p><a href="./Special:BookSources/9780123456" rel="mw:WikiLink" data-parsoid='{"stx":"magiclink"}'>ISBN 978-0-1234-56</a><span typeof="mw:Entity" data-parsoid='{"src":"&amp;#x20;","srcContent":" "}'> </span>789</p>
 !! end
@@ -21309,7 +21005,7 @@ T24905: <abbr> followed by ISBN followed by </a>
 <p><abbr>(fr)</abbr> <a href="/wiki/Special:BookSources/2753300917" class="internal mw-magiclink-isbn">ISBN 2753300917</a> <a rel="nofollow" class="external text" href="http://www.example.com">example.com</a>
 </p>
 !! html/parsoid
-<p><abbr data-parsoid='{"stx":"html"}'>(fr)</abbr> <a href="./Special:BookSources/2753300917" rel="mw:WikiLink" data-parsoid='{"stx":"magiclink"}'>ISBN 2753300917</a> <a rel="mw:ExtLink" href="http://www.example.com">example.com</a></p>
+<p><abbr data-parsoid='{"stx":"html"}'>(fr)</abbr> <a href="./Special:BookSources/2753300917" rel="mw:WikiLink" data-parsoid='{"stx":"magiclink"}'>ISBN 2753300917</a> <a rel="mw:ExtLink" class="external text" href="http://www.example.com">example.com</a></p>
 !! end
 
 !! test
@@ -21334,66 +21030,78 @@ RFC [[RFC 1234]]
 RFC code coverage
 !! wikitext
 RFC   983&#x20;987
-!! html
+!! html/php
 <p><a class="external mw-magiclink-rfc" rel="nofollow" href="https://tools.ietf.org/html/rfc983">RFC 983</a>&#x20;987
 </p>
-!! html+tidy
-<p><a class="external mw-magiclink-rfc" rel="nofollow" href="https://tools.ietf.org/html/rfc983">RFC 983</a> 987</p>
+!! html/parsoid
+<p><a href="https://tools.ietf.org/html/rfc983" rel="mw:ExtLink" class="external text" data-parsoid='{"stx":"magiclink"}'>RFC   983</a><span typeof="mw:Entity" data-parsoid='{"src":"&amp;#x20;","srcContent":" "}'> </span>987</p>
 !! end
 
 !! test
 Centre-aligned image
 !! wikitext
 [[Image:foobar.jpg|centre]]
-!! html
+!! html/php
 <div class="center"><div class="floatnone"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a></div></div>
 
-!!end
+!! html/parsoid
+<figure class="mw-default-size mw-halign-center" typeof="mw:Image" data-parsoid='{"optList":[{"ck":"center","ak":"centre"}]}'><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="220" width="1941" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"220","width":"1941"},"sa":{"resource":"Image:foobar.jpg"}}'/></a></figure>
+!! end
 
 !! test
 None-aligned image
 !! wikitext
 [[Image:foobar.jpg|none]]
-!! html
+!! html/php
 <div class="floatnone"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a></div>
 
-!!end
+!! html/parsoid
+<figure class="mw-default-size mw-halign-none" typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="220" width="1941" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"220","width":"1941"},"sa":{"resource":"Image:foobar.jpg"}}'/></a></figure>
+!! end
 
 !! test
 Width + Height sized image (using px) (height is ignored)
 !! wikitext
 [[Image:foobar.jpg|640x480px]]
-!! html
+!! html/php
 <p><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/640px-Foobar.jpg" width="640" height="73" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/960px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/1280px-Foobar.jpg 2x" /></a>
 </p>
-!!end
+!! html/parsoid
+<p><figure-inline typeof="mw:Image" data-parsoid='{"optList":[{"ck":"width","ak":"640x480px"}]}'><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/640px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="73" width="640" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"73","width":"640"},"sa":{"resource":"Image:foobar.jpg"}}'/></a></figure-inline></p>
+!! end
 
 !! test
 Width-sized image (using px, no following whitespace)
 !! wikitext
 [[Image:foobar.jpg|640px]]
-!! html
+!! html/php
 <p><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/640px-Foobar.jpg" width="640" height="73" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/960px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/1280px-Foobar.jpg 2x" /></a>
 </p>
-!!end
+!! html/parsoid
+<p><figure-inline typeof="mw:Image" data-parsoid='{"optList":[{"ck":"width","ak":"640px"}]}'><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/640px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="73" width="640" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"73","width":"640"},"sa":{"resource":"Image:foobar.jpg"}}'/></a></figure-inline></p>
+!! end
 
 !! test
 Width-sized image (using px, with following whitespace - test regression from r39467)
 !! wikitext
 [[Image:foobar.jpg|640px ]]
-!! html
+!! html/php
 <p><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/640px-Foobar.jpg" width="640" height="73" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/960px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/1280px-Foobar.jpg 2x" /></a>
 </p>
+!! html/parsoid
+<p><figure-inline typeof="mw:Image" data-parsoid='{"optList":[{"ck":"width","ak":"640px "}]}'><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/640px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="73" width="640" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"73","width":"640"},"sa":{"resource":"Image:foobar.jpg"}}'/></a></figure-inline></p>
 !!end
 
 !! test
 Width-sized image (using px, with preceding whitespace - test regression from r39467)
 !! wikitext
 [[Image:foobar.jpg| 640px]]
-!! html
+!! html/php
 <p><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/640px-Foobar.jpg" width="640" height="73" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/960px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/1280px-Foobar.jpg 2x" /></a>
 </p>
-!!end
+!! html/parsoid
+<p><figure-inline typeof="mw:Image" data-parsoid='{"optList":[{"ck":"width","ak":" 640px"}]}'><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/640px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="73" width="640" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"73","width":"640"},"sa":{"resource":"Image:foobar.jpg"}}'/></a></figure-inline></p>
+!! end
 
 !! test
 Image with page parameter
@@ -21439,7 +21147,7 @@ Images with the "|" character in the comment
 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>An <a rel="nofollow" class="external text" href="http://test/?param1=%7Cleft%7C&amp;param2=%7Cx">external</a> URL</div></div></div>
 
 !! html/parsoid
-<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>An <a rel="mw:ExtLink" href="http://test/?param1=%7Cleft%7C&amp;param2=%7Cx" data-parsoid='{"a":{"href":"http://test/?param1=%7Cleft%7C&amp;param2=%7Cx"},"sa":{"href":"http://test/?param1=|left|&amp;param2=|x"}}'>external</a> URL</figcaption></figure>
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption>An <a rel="mw:ExtLink" class="external text" href="http://test/?param1=%7Cleft%7C&amp;param2=%7Cx" data-parsoid='{"a":{"href":"http://test/?param1=%7Cleft%7C&amp;param2=%7Cx"},"sa":{"href":"http://test/?param1=|left|&amp;param2=|x"}}'>external</a> URL</figcaption></figure>
 !! end
 
 !! test
@@ -22588,7 +22296,7 @@ Nested raw: -{R|nested {{echo|hi}} templates}-
 Strings evaluating false shouldn't be ignored by Language converter (T51072)
 !! options
 language=zh variant=zh-cn
-!! input
+!! wikitext
 -{zh-cn:0;zh-sg:1;zh-tw:2;zh-hk:3}-
 !! html/php
 <p>0
@@ -22601,7 +22309,7 @@ language=zh variant=zh-cn
 Conversion rules from [numeric-only string] to [something else] (T48634)
 !! options
 language=zh variant=zh-cn
-!! input
+!! wikitext
 -{H|0=>zh-cn:B}--{H|0=>zh-cn:C;0=>zh-cn:D}--{H|0=>zh-hans:A}-012345-{A|zh-tw:0;zh-cn:E;}-012345
 !! html/php
 <p>D12345EE12345
@@ -22614,7 +22322,7 @@ language=zh variant=zh-cn
 Two-way converter rule entries with an empty value should be ignored (T53551)
 !! options
 language=zh variant=zh-cn
-!! input
+!! wikitext
 -{H|zh-cn:foo;zh-tw:;}-foobar
 !! html/php
 <p>foobar
@@ -22627,7 +22335,7 @@ language=zh variant=zh-cn
 One-way converter rule entries with an empty "from" string should be ignored (T53551)
 !! options
 language=zh variant=zh-cn
-!! input
+!! wikitext
 -{H|=>zh-cn:foo;}-foobar
 !! html/php
 <p>foobar
@@ -22640,7 +22348,7 @@ language=zh variant=zh-cn
 Empty converter rule entries shouldn't be inserted into the conversion table (T53551)
 !! options
 language=zh variant=zh-cn
-!! input
+!! wikitext
 -{H|}-foobar
 !! html/php
 <p>foobar
@@ -22702,10 +22410,10 @@ language=zh variant=zh-cn
 
 <span>a-{H|0=>zh-cn:x<span>y;0=>zh-tw:b<div>c}-d
 !! html/php+tidy
-<p><span>ab</span></p>
-<div><span>cd <span>ab</span></span>
-<div><span>cd <span>ad</span></span></div>
-</div>
+<span>ab<div>cd
+<span>ab<div>cd
+<span>ad
+</span></div></span></div></span>
 !! html/parsoid
 <p><span data-parsoid='{"stx":"html","autoInsertedEnd":true}'>a</span></p><div typeof="mw:LanguageVariant" data-mw-variant='{"disabled":{"t":"b&lt;div data-parsoid=&#39;{\"stx\":\"html\",\"autoInsertedEnd\":true,\"dsr\":[10,16,5,0]}&#39;>c&lt;/div>"}}'></div><p>d</p>
 
@@ -22824,20 +22532,20 @@ gopher://www.google.com
 !! html/php
 <p><a rel="nofollow" class="external free" href="http://www.google.com">http://www.google.com</a>
 <a rel="nofollow" class="external free" href="gopher://www.google.com">gopher://www.google.com</a>
-<a rel="nofollow" class="external free" href="http://www.google.com">http://www.google.com</a>
-<a rel="nofollow" class="external free" href="gopher://www.google.com">gopher://www.google.com</a>
+<a rel="nofollow" class="external text" href="http://www.google.com">http://www.google.com</a>
+<a rel="nofollow" class="external text" href="gopher://www.google.com">gopher://www.google.com</a>
 <a rel="nofollow" class="external text" href="https://www.google.com">irc://www.google.com</a>
 <a rel="nofollow" class="external text" href="ftp://www.google.com">www.гоогле.цом/фтп://дир</a>
 <a rel="nofollow" class="external text" href="//www.google.com">www.гоогле.цом</a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://www.google.com">http://www.google.com</a>
-<a rel="mw:ExtLink" href="gopher://www.google.com">gopher://www.google.com</a>
-<a rel="mw:ExtLink" href="http://www.google.com">http://www.google.com</a>
-<a rel="mw:ExtLink" href="gopher://www.google.com">gopher://www.google.com</a>
-<a rel="mw:ExtLink" href="https://www.google.com">irc://www.google.com</a>
-<a rel="mw:ExtLink" href="ftp://www.google.com">www.google.com/ftp://dir</a>
-<a rel="mw:ExtLink" href="//www.google.com">www.google.com</a></p>
+<p><a rel="mw:ExtLink" class="external free" href="http://www.google.com">http://www.google.com</a>
+<a rel="mw:ExtLink" class="external free" href="gopher://www.google.com">gopher://www.google.com</a>
+<a rel="mw:ExtLink" class="external free" href="http://www.google.com">http://www.google.com</a>
+<a rel="mw:ExtLink" class="external free" href="gopher://www.google.com">gopher://www.google.com</a>
+<a rel="mw:ExtLink" class="external text" href="https://www.google.com">irc://www.google.com</a>
+<a rel="mw:ExtLink" class="external text" href="ftp://www.google.com">www.google.com/ftp://dir</a>
+<a rel="mw:ExtLink" class="external text" href="//www.google.com">www.google.com</a></p>
 !! end
 
 !! test
@@ -22991,10 +22699,9 @@ language=zh variant=zh-cn
 ;<b>foo:bar
 ;-{zh-cn:AAA
 !! html/php+tidy
-<dl>
-<dt><b>foo:bar</b></dt>
-<dt><b>-{zh-cn:AAA</b></dt>
-</dl>
+<dl><dt><b>foo:bar</b></dt><b>
+<dt>-{zh-cn:AAA</dt></b></dl><p><b>
+</b></p>
 !! html/parsoid
 <dl><dt data-parsoid='{"dsr":[0,11,1,0]}'><b data-parsoid='{"stx":"html","autoInsertedEnd":true}'>foo:bar</b></dt><b data-parsoid='{"stx":"html","autoInsertedEnd":true,"autoInsertedStart":true}'>
 <dt data-parsoid='{"dsr":[12,20,1,0]}'>-{zh-cn</dt>
@@ -23171,14 +22878,8 @@ T2529: Uncovered bullet
 
 !! end
 
-# Plain MediaWiki does not remove empty lists, but tidy actually does.
-# Templates in Wikipedia rely on this behavior, as tidy has always been
-# enabled there. These tests are normally run *without* tidy, so specify the
-# full output here. 
-# To test realistic parsing behavior, apply a tidy-like transformation to both
-# the expected output and your parser's output.
 !! test
-T2529: Uncovered bullet leaving empty list, normally removed by tidy
+T2529: Uncovered bullet in a deeply nested list
 !! wikitext
 ******* Foo {{bullet}}
 !! html
@@ -23369,14 +23070,17 @@ Line two
 
 !! end
 
+# doBlockLevels screws up this output and Remex cleans up as much as it can.
+# Parsoid seems to do a better job here since its p-wrapper is probably smarter.
 !! test
 Nesting tags, paragraphs on lines which begin with <div>
 !! wikitext
 <div></div><strong>A
 B</strong>
 !! html/php+tidy
-<p><strong>A</strong></p>
-<p><strong>B</strong></p>
+<div></div><p><strong>A
+</strong></p><strong></strong><p><strong>B</strong>
+</p>
 !! html/parsoid
 <div></div>
 <p><strong>A
@@ -23396,9 +23100,8 @@ Line two</blockquote>
 Line two</blockquote>
 
 !! html+tidy
-<blockquote>
-<p>Line one Line two</p>
-</blockquote>
+<blockquote><p>Line one
+Line two</p></blockquote>
 !! end
 
 !! test
@@ -23416,8 +23119,9 @@ Line two</blockquote>
 
 !! html+tidy
 <blockquote>
-<p>Line one</p>
-Line two</blockquote>
+<p>Line one
+</p><p>
+Line two</p></blockquote>
 !! end
 
 !! test
@@ -23434,9 +23138,9 @@ Line two
 </blockquote>
 
 !! html+tidy
-<blockquote>
-<p>Line one</p>
-<p>Line two</p>
+<blockquote><p>Line one
+</p><p>Line two
+</p>
 </blockquote>
 !! end
 
@@ -23455,13 +23159,9 @@ Line two
 </p>
 </blockquote>
 
-!! html+tidy
-<blockquote>
-<p>Line one</p>
-<p>Line two</p>
-</blockquote>
 !! end
 
+# FIXME: Why does/should the blockquote+div combo suppress p-wrapping here?
 !! test
 Paragraphs inside blockquotes/divs (no extra line breaks)
 !! wikitext
@@ -23540,9 +23240,11 @@ wgLinkHolderBatchSize=0
 Free external link invading image caption
 !! wikitext
 [[Image:Foobar.jpg|thumb|http://x|hello]]
-!! html
+!! html/php
 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>hello</div></div></div>
 
+!! html/parsoid
+<figure class="mw-default-size" typeof="mw:Image/Thumb" data-parsoid='{"optList":[{"ck":"thumbnail","ak":"thumb"},{"ck":"bogus","ak":"http://x"},{"ck":"caption","ak":"hello"}]}'><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"25","width":"220"},"sa":{"resource":"Image:Foobar.jpg"}}'/></a><figcaption>hello</figcaption></figure>
 !! end
 
 !! test
@@ -23555,25 +23257,29 @@ language=fa
 <p><a rel="nofollow" class="external autonumber" href="http://en.wikipedia.org/">[۱]</a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://en.wikipedia.org/"></a></p>
+<p><a rel="mw:ExtLink" class="external autonumber" href="http://en.wikipedia.org/"></a></p>
 !! end
 
 !! test
 Multibyte character in padleft
 !! wikitext
 {{padleft:-Hello|7|Æ}}
-!! html
+!! html/php
 <p>Æ-Hello
 </p>
+!! html/parsoid
+<p typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"padleft:-Hello","function":"padleft"},"params":{"1":{"wt":"7"},"2":{"wt":"Æ"}},"i":0}}]}'>Æ-Hello</p>
 !! end
 
 !! test
 Multibyte character in padright
 !! wikitext
 {{padright:Hello-|7|Æ}}
-!! html
+!! html/php
 <p>Hello-Æ
 </p>
+!! html/parsoid
+<p typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"padright:Hello-","function":"padright"},"params":{"1":{"wt":"7"},"2":{"wt":"Æ"}},"i":0}}]}'>Hello-Æ</p>
 !! end
 
 !!test
@@ -24369,21 +24075,13 @@ __TOC__
 <h2><span class="mw-headline" id="Quote"><blockquote>Quote</blockquote></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Main_Page&amp;action=edit&amp;section=1" title="Edit section: Quote">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 
 !! html/php+tidy
-<p></p>
-<div id="toc" class="toc">
-<div class="toctitle" lang="en" dir="ltr" xml:lang="en">
-<h2>Contents</h2>
-</div>
+<div id="toc" class="toc"><div class="toctitle" lang="en" dir="ltr"><h2>Contents</h2></div>
 <ul>
 <li class="toclevel-1 tocsection-1"><a href="#Quote"><span class="tocnumber">1</span> <span class="toctext">Quote</span></a></li>
 </ul>
 </div>
-<p></p>
-<h2><span class="mw-headline" id="Quote"></span></h2>
-<blockquote>
-<p><span class="mw-headline" id="Quote">Quote</span></p>
-</blockquote>
-<p><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Main_Page&amp;action=edit&amp;section=1" title="Edit section: Quote">edit</a><span class="mw-editsection-bracket">]</span></span></p>
+
+<h2><span class="mw-headline" id="Quote"><blockquote><p>Quote</p></blockquote></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Main_Page&amp;action=edit&amp;section=1" title="Edit section: Quote">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 !! html/parsoid
 <meta property="mw:PageProp/toc" data-parsoid='{}'/>
 <h2 id="Quote" data-parsoid='{}'> <blockquote>Quote</blockquote> </h2>
@@ -24437,23 +24135,15 @@ __TOC__
 <h2><span class="mw-headline" id="Foo_Bar_2"><i>Foo</i> <blockquote>Bar</blockquote></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: Foo Bar">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 
 !! html/php+tidy
-<p></p>
-<div id="toc" class="toc">
-<div class="toctitle" lang="en" dir="ltr" xml:lang="en">
-<h2>Contents</h2>
-</div>
+<div id="toc" class="toc"><div class="toctitle" lang="en" dir="ltr"><h2>Contents</h2></div>
 <ul>
 <li class="toclevel-1 tocsection-1"><a href="#Foo_Bar"><span class="tocnumber">1</span> <span class="toctext"><i>Foo</i> <b>Bar</b></span></a></li>
 <li class="toclevel-1 tocsection-2"><a href="#Foo_Bar_2"><span class="tocnumber">2</span> <span class="toctext"><i>Foo</i> Bar</span></a></li>
 </ul>
 </div>
-<p></p>
+
 <h2><span class="mw-headline" id="Foo_Bar"><i>Foo</i> <b>Bar</b></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: Foo Bar">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
-<h2><span class="mw-headline" id="Foo_Bar_2"><i>Foo</i></span></h2>
-<blockquote>
-<p><span class="mw-headline" id="Foo_Bar_2">Bar</span></p>
-</blockquote>
-<p><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: Foo Bar">edit</a><span class="mw-editsection-bracket">]</span></span></p>
+<h2><span class="mw-headline" id="Foo_Bar_2"><i>Foo</i> <blockquote><p>Bar</p></blockquote></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: Foo Bar">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 !! html/parsoid
 <meta property="mw:PageProp/toc" data-parsoid='{}'/>
 <h2 id="Foo_Bar" data-parsoid='{}'> <i data-parsoid='{"stx":"html"}'>Foo</i> <b data-parsoid='{"stx":"html"}'>Bar</b> </h2>
@@ -24567,9 +24257,6 @@ __TOC__
 <h2 id="test_test_test" data-parsoid='{}'> <s>test</s> test <strike>test</strike> </h2>
 !! end
 
-# Note that the html output does not have the <p></p>, but the
-# html+tidy output *does*.  This is because the empty <p></p> is
-# removed by the sanitizer, but only when tidy is *not* enabled (!).
 !! test
 Empty <p> tag in TOC, removed by Sanitizer (T92892)
 !! wikitext
@@ -24584,18 +24271,6 @@ __TOC__
 
 <h2><span class="mw-headline" id="x">x</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: x">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 
-!! html/php+tidy
-<p></p>
-<div id="toc" class="toc">
-<div class="toctitle" lang="en" dir="ltr" xml:lang="en">
-<h2>Contents</h2>
-</div>
-<ul>
-<li class="toclevel-1 tocsection-1"><a href="#x"><span class="tocnumber">1</span> <span class="toctext">x</span></a></li>
-</ul>
-</div>
-<p></p>
-<h2><span class="mw-headline" id="x">x</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: x">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 !! html/parsoid
 <meta property="mw:PageProp/toc" data-parsoid='{}'/>
 <h2 id="x" data-parsoid='{}'> x </h2>
@@ -24774,15 +24449,46 @@ Language parser function
 </p>
 !! end
 
+!!test
+Padleft and padright (default 0-padding)
+!! wikitext
+{{padleft:xyz|5}}
+{{padright:xyz|5}}
+!! html/php
+<p>00xyz
+xyz00
+</p>
+!! html/parsoid
+<p><span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"padleft:xyz","function":"padleft"},"params":{"1":{"wt":"5"}},"i":0}}]}'>00xyz</span>
+<span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"padright:xyz","function":"padright"},"params":{"1":{"wt":"5"}},"i":0}}]}'>xyz00</span></p>
+!! end
+
+!!test
+Padleft and padright (partial fill)
+!! wikitext
+{{padleft:xyz|6|ab}}
+{{padright:xyz|6|ab}}
+!! html/php
+<p>abaxyz
+xyzaba
+</p>
+!! html/parsoid
+<p><span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"padleft:xyz","function":"padleft"},"params":{"1":{"wt":"6"},"2":{"wt":"ab"}},"i":0}}]}'>abaxyz</span>
+<span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"padright:xyz","function":"padright"},"params":{"1":{"wt":"6"},"2":{"wt":"ab"}},"i":0}}]}'>xyzaba</span></p>
+!! end
+
 !!test
 Padleft and padright as substr
 !! wikitext
 {{padleft:|3|abcde}}
 {{padright:|3|abcde}}
-!! html
+!! html/php
 <p>abc
 abc
 </p>
+!! html/parsoid
+<p><span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"padleft:","function":"padleft"},"params":{"1":{"wt":"3"},"2":{"wt":"abcde"}},"i":0}}]}'>abc</span>
+<span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"padright:","function":"padright"},"params":{"1":{"wt":"3"},"2":{"wt":"abcde"}},"i":0}}]}'>abc</span></p>
 !! end
 
 !!test
@@ -24806,7 +24512,7 @@ T36939 - Case insensitive link parsing ([HttP://])
 <p><a rel="nofollow" class="external autonumber" href="HttP://MediaWiki.Org/">[1]</a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="HttP://MediaWiki.Org/"></a></p>
+<p><a rel="mw:ExtLink" class="external autonumber" href="HttP://MediaWiki.Org/"></a></p>
 !! end
 
 !!test
@@ -24826,7 +24532,7 @@ HttP://MediaWiki.Org/
 <p><a rel="nofollow" class="external free" href="HttP://MediaWiki.Org/">HttP://MediaWiki.Org/</a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="HttP://MediaWiki.Org/">HttP://MediaWiki.Org/</a></p>
+<p><a rel="mw:ExtLink" class="external free" href="HttP://MediaWiki.Org/">HttP://MediaWiki.Org/</a></p>
 !! end
 
 !!test
 
 !! end
 
+!! test
+Headings: Used as horizontal rule
+!! config
+wgFragmentMode=[ 'html5', 'legacy' ]
+!! options
+parsoid=wt2html
+!! wikitext
+===============
+!! html/php
+<h6><span id=".3D.3D.3D"></span><span class="mw-headline" id="===">===</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: ===">edit</a><span class="mw-editsection-bracket">]</span></span></h6>
+
+!! html/parsoid
+<h6 id="==="><span id=".3D.3D.3D" typeof="mw:FallbackId"></span>===</h6>
+!! end
+
 #### --------------- Lists ---------------
 #### 0. Outside nests (*foo, etc.)
 #### 1. Nested inside html <ul><li>*foo</li></ul>
@@ -25669,15 +25390,12 @@ parsoid=html2wt
 |}
 !! html/php+tidy
 <table>
+<tbody><tr>
+<td>foo|bar
+</td></tr>
 <tr>
-<td>foo|bar</td>
-</tr>
-<tr>
-<td>x
-<div>a|b</div>
-</td>
-</tr>
-</table>
+<td>x<div>a|b</div>
+</td></tr></tbody></table>
 !! end
 
 !! test
@@ -26786,8 +26504,8 @@ parsoid=wt2html,html2html
 !! wikitext
 <div title="Hello world />Foo
 !! html/php+tidy
-<div title="Hello world"></div>
-<p>Foo</p>
+<div title="Hello world"></div><p>Foo
+</p>
 !! html/parsoid
 <div title="Hello world " data-parsoid='{"stx":"html","selfClose":true}'></div><p>Foo</p>
 !! end
@@ -26929,11 +26647,9 @@ RT-ed inter-element separators should be valid separators
 </tbody></table>
 !!end
 
-# Parsoid-only since PHP parser relies on Tidy for correct output
+# Parsoid-only test of a DOM pass
 !!test
 Trailing newlines in a deep dom-subtree that ends a wikitext line should be migrated out
-!!options
-parsoid
 !! wikitext
 {|
 |<small>foo
@@ -26943,7 +26659,7 @@ bar
 {|
 |<small>foo<small>
 |}
-!! html
+!! html/parsoid
 <table>
 <tbody><tr data-parsoid='{"autoInsertedEnd":true,"autoInsertedStart":true}'><td data-parsoid='{"autoInsertedEnd":true}'><small data-parsoid='{"stx":"html","autoInsertedEnd":true}'>foo
 <p>bar</p></small></td></tr>
@@ -28515,7 +28231,7 @@ WTS of autolinks with nowikis (round-trip)
 !! wikitext
 x<nowiki/>http://cscott.net<nowiki/>x
 !! html/parsoid
-<p>x<a rel="mw:ExtLink" href="http://cscott.net">http://cscott.net</a>x</p>
+<p>x<a rel="mw:ExtLink" class="external free" href="http://cscott.net">http://cscott.net</a>x</p>
 !! end
 
 # this is the "easy" test because it leaves in place all the
@@ -28583,18 +28299,25 @@ Magic links inside links (not autolinked)
 [http://foo.com PMID 1234]
 [http://foo.com ISBN 123456789x]
 !! html+tidy
-<p><a href="/wiki/Foo" title="Foo">http://example.com</a> <a href="/wiki/Foo" title="Foo">RFC 1234</a> <a href="/wiki/Foo" title="Foo">PMID 1234</a> <a href="/wiki/Foo" title="Foo">ISBN 123456789x</a></p>
-<p><a rel="nofollow" class="external text" href="http://foo.com">http://example.com</a> <a rel="nofollow" class="external text" href="http://foo.com">RFC 1234</a> <a rel="nofollow" class="external text" href="http://foo.com">PMID 1234</a> <a rel="nofollow" class="external text" href="http://foo.com">ISBN 123456789x</a></p>
+<p><a href="/wiki/Foo" title="Foo">http://example.com</a>
+<a href="/wiki/Foo" title="Foo">RFC 1234</a>
+<a href="/wiki/Foo" title="Foo">PMID 1234</a>
+<a href="/wiki/Foo" title="Foo">ISBN 123456789x</a>
+</p><p><a rel="nofollow" class="external text" href="http://foo.com">http://example.com</a>
+<a rel="nofollow" class="external text" href="http://foo.com">RFC 1234</a>
+<a rel="nofollow" class="external text" href="http://foo.com">PMID 1234</a>
+<a rel="nofollow" class="external text" href="http://foo.com">ISBN 123456789x</a>
+</p>
 !! html/parsoid
 <p><a rel="mw:WikiLink" href="./Foo" title="Foo">http://example.com</a>
 <a rel="mw:WikiLink" href="./Foo" title="Foo">RFC 1234</a>
 <a rel="mw:WikiLink" href="./Foo" title="Foo">PMID 1234</a>
 <a rel="mw:WikiLink" href="./Foo" title="Foo">ISBN 123456789x</a></p>
 
-<p><a rel="mw:ExtLink" href="http://foo.com">http://example.com</a>
-<a rel="mw:ExtLink" href="http://foo.com">RFC 1234</a>
-<a rel="mw:ExtLink" href="http://foo.com">PMID 1234</a>
-<a rel="mw:ExtLink" href="http://foo.com">ISBN 123456789x</a></p>
+<p><a rel="mw:ExtLink" class="external text" href="http://foo.com">http://example.com</a>
+<a rel="mw:ExtLink" class="external text" href="http://foo.com">RFC 1234</a>
+<a rel="mw:ExtLink" class="external text" href="http://foo.com">PMID 1234</a>
+<a rel="mw:ExtLink" class="external text" href="http://foo.com">ISBN 123456789x</a></p>
 !! end
 
 !! test
@@ -28605,38 +28328,14 @@ Magic links inside image captions (autolinked)
 [[File:Foobar.jpg|thumb|PMID 1234]]
 [[File:Foobar.jpg|thumb|ISBN 123456789x]]
 !! html+tidy
-<div class="thumb tright">
-<div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a>
-<div class="thumbcaption">
-<div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>
-<a rel="nofollow" class="external free" href="http://example.com">http://example.com</a></div>
-</div>
-</div>
-<div class="thumb tright">
-<div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a>
-<div class="thumbcaption">
-<div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>
-<a class="external mw-magiclink-rfc" rel="nofollow" href="https://tools.ietf.org/html/rfc1234">RFC 1234</a></div>
-</div>
-</div>
-<div class="thumb tright">
-<div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a>
-<div class="thumbcaption">
-<div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>
-<a class="external mw-magiclink-pmid" rel="nofollow" href="//www.ncbi.nlm.nih.gov/pubmed/1234?dopt=Abstract">PMID 1234</a></div>
-</div>
-</div>
-<div class="thumb tright">
-<div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a>
-<div class="thumbcaption">
-<div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>
-<a href="/wiki/Special:BookSources/123456789X" class="internal mw-magiclink-isbn">ISBN 123456789x</a></div>
-</div>
-</div>
-!! html/parsoid
-<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption><a rel="mw:ExtLink" href="http://example.com">http://example.com</a></figcaption></figure>
-<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption><a href="https://tools.ietf.org/html/rfc1234" rel="mw:ExtLink">RFC 1234</a></figcaption></figure>
-<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption><a href="//www.ncbi.nlm.nih.gov/pubmed/1234?dopt=Abstract" rel="mw:ExtLink">PMID 1234</a></figcaption></figure>
+<div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div><a rel="nofollow" class="external free" href="http://example.com">http://example.com</a></div></div></div>
+<div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div><a class="external mw-magiclink-rfc" rel="nofollow" href="https://tools.ietf.org/html/rfc1234">RFC 1234</a></div></div></div>
+<div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div><a class="external mw-magiclink-pmid" rel="nofollow" href="//www.ncbi.nlm.nih.gov/pubmed/1234?dopt=Abstract">PMID 1234</a></div></div></div>
+<div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div><a href="/wiki/Special:BookSources/123456789X" class="internal mw-magiclink-isbn">ISBN 123456789x</a></div></div></div>
+!! html/parsoid
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption><a rel="mw:ExtLink" class="external free" href="http://example.com">http://example.com</a></figcaption></figure>
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption><a href="https://tools.ietf.org/html/rfc1234" rel="mw:ExtLink" class="external text">RFC 1234</a></figcaption></figure>
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption><a href="//www.ncbi.nlm.nih.gov/pubmed/1234?dopt=Abstract" rel="mw:ExtLink" class="external text">PMID 1234</a></figcaption></figure>
 <figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="25" width="220"/></a><figcaption><a href="./Special:BookSources/123456789X" rel="mw:WikiLink">ISBN 123456789x</a></figcaption></figure>
 !! end
 
@@ -28706,24 +28405,27 @@ parsoid=html2wt,wt2wt
 |}
 !! html/php+tidy
 <table>
+<tbody><tr>
+<th>-
+</th>
+<th>-
+</th></tr>
 <tr>
-<th>-</th>
-<th>-</th>
-</tr>
-<tr>
-<td>-</td>
-<td>-</td>
-</tr>
+<td>-
+</td>
+<td>- 
+</td></tr>
 <tr>
-<td><small>-</small></td>
-<td><br />
-<p>-</p>
+<td><small>-</small>
 </td>
 <td><br />
-<p>-</p>
+<p>-
+</p>
 </td>
-</tr>
-</table>
+<td><br />
+<p>-
+</p>
+</td></tr></tbody></table>
 !! end
 
 !! test
@@ -28907,7 +28609,7 @@ parsoid=wt2html
 !! wikitext
 {{echo|hi}}[http://example.com [[ho]]]
 !! html/parsoid
-<p><span about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"hi"}},"i":0}}]}'>hi</span><a rel="mw:ExtLink" href="http://example.com"></a><a rel="mw:WikiLink" href="./Ho" title="Ho" data-parsoid='{"misnested":true}'>ho</a></p>
+<p><span about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"hi"}},"i":0}}]}'>hi</span><a rel="mw:ExtLink" class="external autonumber" href="http://example.com"></a><a rel="mw:WikiLink" href="./Ho" title="Ho" data-parsoid='{"misnested":true}'>ho</a></p>
 !! end
 
 !! test
@@ -29865,13 +29567,11 @@ Empty LI (T49673)
 * 
 *
 * b
-!! html/php+tidy
-<ul>
-<li>a</li>
-<li class="mw-empty-elt"></li>
+!! html+tidy
+<ul><li> a</li>
+<li class="mw-empty-elt"> </li>
 <li class="mw-empty-elt"></li>
-<li>b</li>
-</ul>
+<li> b</li></ul>
 !! end
 
 !! test
@@ -29879,13 +29579,9 @@ Thumbnail output
 !! wikitext
 [[File:Thumb.png|thumb]]
 !! html/php+tidy
-<div class="thumb tright">
-<div class="thumbinner" style="width:137px;"><a href="/wiki/File:Thumb.png" class="image"><img alt="Thumb.png" src="http://example.com/images/e/ea/Thumb.png" width="135" height="135" class="thumbimage" /></a>
-<div class="thumbcaption">
-<div class="magnify"><a href="/wiki/File:Thumb.png" class="internal" title="Enlarge"></a></div>
-</div>
-</div>
-</div>
+<div class="thumb tright"><div class="thumbinner" style="width:137px;"><a href="/wiki/File:Thumb.png" class="image"><img alt="Thumb.png" src="http://example.com/images/e/ea/Thumb.png" width="135" height="135" class="thumbimage" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Thumb.png" class="internal" title="Enlarge"></a></div></div></div></div>
+!! html/parsoid
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="./File:Thumb.png"><img resource="./File:Thumb.png" src="//example.com/images/e/ea/Thumb.png" data-file-width="135" data-file-height="135" data-file-type="bitmap" height="135" width="135"/></a></figure>
 !! end
 
 !! test
@@ -30250,8 +29946,8 @@ T51672: Test for brackets in attributes of elements in external link texts
 <a rel="nofollow" class="external text" href="http://example.com/">link <span title="title with &#91;brackets&#93;">span</span></a>
 </p>
 !! html/parsoid
-<p><a rel="mw:ExtLink" href="http://example.com/">link <span title="title with [brackets]">span</span></a>
-<a rel="mw:ExtLink" href="http://example.com/">link <span title="title with [brackets]" data-parsoid='{"stx":"html","a":{"title":"title with [brackets]"},"sa":{"title":"title with &amp;#91;brackets&amp;#93;"}}'>span</span></a></p>
+<p><a rel="mw:ExtLink" class="external text" href="http://example.com/">link <span title="title with [brackets]">span</span></a>
+<a rel="mw:ExtLink" class="external text" href="http://example.com/">link <span title="title with [brackets]" data-parsoid='{"stx":"html","a":{"title":"title with [brackets]"},"sa":{"title":"title with &amp;#91;brackets&amp;#93;"}}'>span</span></a></p>
 !! end
 
 !! test
index 6e8bc0b..ca6a929 100644 (file)
@@ -25,6 +25,7 @@ class ApiQueryContributionsTest extends ApiTestCase {
                        User::createNew( __CLASS__ . ' B' ),
                        User::createNew( __CLASS__ . ' A' ),
                        User::createNew( __CLASS__ . ' C' ),
+                       User::newFromName( 'IW>' . __CLASS__, false ),
                ];
 
                $title = Title::newFromText( __CLASS__ );
@@ -146,4 +147,48 @@ class ApiQueryContributionsTest extends ApiTestCase {
                        }
                }
        }
+
+       /**
+        * @dataProvider provideInterwikiUser
+        * @param int $stage One of the MIGRATION_* constants for $wgActorTableSchemaMigrationStage
+        */
+       public function testInterwikiUser( $stage ) {
+               $this->setMwGlobals( 'wgActorTableSchemaMigrationStage', $stage );
+               $this->overrideMwServices();
+
+               $params = [
+                       'action' => 'query',
+                       'list' => 'usercontribs',
+                       'ucuser' => 'IW>' . __CLASS__,
+                       'ucprop' => 'ids',
+                       'uclimit' => 'max',
+               ];
+
+               $apiResult = $this->doApiRequest( $params );
+               $this->assertArrayNotHasKey( 'continue', $apiResult[0] );
+               $this->assertArrayHasKey( 'query', $apiResult[0] );
+               $this->assertArrayHasKey( 'usercontribs', $apiResult[0]['query'] );
+
+               $count = 0;
+               $ids = [];
+               foreach ( $apiResult[0]['query']['usercontribs'] as $page ) {
+                       $count++;
+                       $this->assertSame( 'IW>' . __CLASS__, $page['user'], 'Correct user returned' );
+                       $ids[] = $page['revid'];
+               }
+               $this->assertSame( 3, $count, 'Expected number of revisions' );
+               $sorted = $ids;
+               rsort( $sorted );
+               $this->assertSame( $sorted, $ids, "IDs are sorted" );
+       }
+
+       public static function provideInterwikiUser() {
+               return [
+                       'old' => [ MIGRATION_OLD ],
+                       'write both' => [ MIGRATION_WRITE_BOTH ],
+                       'write new' => [ MIGRATION_WRITE_NEW ],
+                       'new' => [ MIGRATION_NEW ],
+               ];
+       }
+
 }
index 6656fa4..823be6f 100644 (file)
@@ -153,16 +153,6 @@ class JavaScriptContentTest extends TextContentTest {
                                'any',
                                true
                        ],
-                       [ 'Foo',
-                               null,
-                               'comma',
-                               false
-                       ],
-                       [ 'Foo, bar',
-                               null,
-                               'comma',
-                               false
-                       ],
                        [ 'Foo',
                                null,
                                'link',
@@ -188,11 +178,6 @@ class JavaScriptContentTest extends TextContentTest {
                                'any',
                                true
                        ],
-                       [ '#REDIRECT [[bar]]',
-                               true,
-                               'comma',
-                               false
-                       ],
                        [ '#REDIRECT [[bar]]',
                                true,
                                'link',
index b548091..406bc96 100644 (file)
@@ -197,16 +197,6 @@ class TextContentTest extends MediaWikiLangTestCase {
                                'any',
                                true
                        ],
-                       [ 'Foo',
-                               null,
-                               'comma',
-                               false
-                       ],
-                       [ 'Foo, bar',
-                               null,
-                               'comma',
-                               false
-                       ],
                ];
        }
 
index e04f562..1db6aab 100644 (file)
@@ -266,16 +266,6 @@ just a test"
                                'any',
                                true
                        ],
-                       [ 'Foo',
-                               null,
-                               'comma',
-                               false
-                       ],
-                       [ 'Foo, bar',
-                               null,
-                               'comma',
-                               true
-                       ],
                        [ 'Foo',
                                null,
                                'link',
@@ -301,11 +291,6 @@ just a test"
                                'any',
                                false
                        ],
-                       [ '#REDIRECT [[bar]]',
-                               true,
-                               'comma',
-                               false
-                       ],
                        [ '#REDIRECT [[bar]]',
                                true,
                                'link',
diff --git a/tests/phpunit/includes/db/DatabaseOracleTest.php b/tests/phpunit/includes/db/DatabaseOracleTest.php
new file mode 100644 (file)
index 0000000..b03734e
--- /dev/null
@@ -0,0 +1,51 @@
+<?php
+
+class DatabaseOracleTest extends PHPUnit\Framework\TestCase {
+
+       use MediaWikiCoversValidator;
+
+       /**
+        * @return PHPUnit_Framework_MockObject_MockObject|DatabaseOracle
+        */
+       private function getMockDb() {
+               return $this->getMockBuilder( DatabaseOracle::class )
+                       ->disableOriginalConstructor()
+                       ->setMethods( null )
+                       ->getMock();
+       }
+
+       public function provideBuildSubstring() {
+               yield [ 'someField', 1, 2, 'SUBSTR(someField,1,2)' ];
+               yield [ 'someField', 1, null, 'SUBSTR(someField,1)' ];
+       }
+
+       /**
+        * @covers DatabaseOracle::buildSubstring
+        * @dataProvider provideBuildSubstring
+        */
+       public function testBuildSubstring( $input, $start, $length, $expected ) {
+               $mockDb = $this->getMockDb();
+               $output = $mockDb->buildSubstring( $input, $start, $length );
+               $this->assertSame( $expected, $output );
+       }
+
+       public function provideBuildSubstring_invalidParams() {
+               yield [ -1, 1 ];
+               yield [ 1, -1 ];
+               yield [ 1, 'foo' ];
+               yield [ 'foo', 1 ];
+               yield [ null, 1 ];
+               yield [ 0, 1 ];
+       }
+
+       /**
+        * @covers DatabaseOracle::buildSubstring
+        * @dataProvider provideBuildSubstring_invalidParams
+        */
+       public function testBuildSubstring_invalidParams( $start, $length ) {
+               $mockDb = $this->getMockDb();
+               $this->setExpectedException( InvalidArgumentException::class );
+               $mockDb->buildSubstring( 'foo', $start, $length );
+       }
+
+}
index 606c12d..8950152 100644 (file)
@@ -2,6 +2,7 @@
 
 use Wikimedia\Rdbms\TransactionProfiler;
 use Wikimedia\Rdbms\DatabaseDomain;
+use Wikimedia\Rdbms\Database;
 
 /**
  * Helper for testing the methods from the Database class
diff --git a/tests/phpunit/includes/deferred/SiteStatsUpdateTest.php b/tests/phpunit/includes/deferred/SiteStatsUpdateTest.php
new file mode 100644 (file)
index 0000000..83e9a47
--- /dev/null
@@ -0,0 +1,77 @@
+<?php
+
+use Wikimedia\TestingAccessWrapper;
+
+/**
+ * @group Database
+ */
+class SiteStatsUpdateTest extends MediaWikiTestCase {
+       /**
+        * @covers SiteStatsUpdate::factory
+        * @covers SiteStatsUpdate::merge
+        */
+       public function testFactoryAndMerge() {
+               $update1 = SiteStatsUpdate::factory( [ 'pages' => 1, 'users' => 2 ] );
+               $update2 = SiteStatsUpdate::factory( [ 'users' => 1, 'images' => 1 ] );
+
+               $update1->merge( $update2 );
+               $wrapped = TestingAccessWrapper::newFromObject( $update1 );
+
+               $this->assertEquals( 1, $wrapped->pages );
+               $this->assertEquals( 3, $wrapped->users );
+               $this->assertEquals( 1, $wrapped->images );
+               $this->assertEquals( 0, $wrapped->edits );
+               $this->assertEquals( 0, $wrapped->articles );
+       }
+
+       /**
+        * @covers SiteStatsUpdate::doUpdate()
+        * @covers SiteStatsInit::refresh()
+        */
+       public function testDoUpdate() {
+               $this->setMwGlobals( 'wgSiteStatsAsyncFactor', false );
+               $this->setMwGlobals( 'wgCommandLineMode', false ); // disable opportunistic updates
+
+               $dbw = wfGetDB( DB_MASTER );
+               $statsInit = new SiteStatsInit( $dbw );
+               $statsInit->refresh();
+
+               $ei = SiteStats::edits(); // trigger load
+               $pi = SiteStats::pages();
+               $ui = SiteStats::users();
+               $fi = SiteStats::images();
+               $ai = SiteStats::articles();
+
+               $dbw->begin( __METHOD__ ); // block opportunistic updates
+
+               $update = SiteStatsUpdate::factory( [ 'pages' => 2, 'images' => 1, 'edits' => 2 ] );
+               $this->assertEquals( 0, DeferredUpdates::pendingUpdatesCount() );
+               $update->doUpdate();
+               $this->assertEquals( 1, DeferredUpdates::pendingUpdatesCount() );
+
+               // Still the same
+               SiteStats::unload();
+               $this->assertEquals( $pi, SiteStats::pages(), 'page count' );
+               $this->assertEquals( $ei, SiteStats::edits(), 'edit count' );
+               $this->assertEquals( $ui, SiteStats::users(), 'user count' );
+               $this->assertEquals( $fi, SiteStats::images(), 'file count' );
+               $this->assertEquals( $ai, SiteStats::articles(), 'article count' );
+               $this->assertEquals( 1, DeferredUpdates::pendingUpdatesCount() );
+
+               $dbw->commit( __METHOD__ );
+
+               $this->assertEquals( 1, DeferredUpdates::pendingUpdatesCount() );
+               DeferredUpdates::doUpdates();
+               $this->assertEquals( 0, DeferredUpdates::pendingUpdatesCount() );
+
+               SiteStats::unload();
+               $this->assertEquals( $pi + 2, SiteStats::pages(), 'page count' );
+               $this->assertEquals( $ei + 2, SiteStats::edits(), 'edit count' );
+               $this->assertEquals( $ui, SiteStats::users(), 'user count' );
+               $this->assertEquals( $fi + 1, SiteStats::images(), 'file count' );
+               $this->assertEquals( $ai, SiteStats::articles(), 'article count' );
+
+               $statsInit = new SiteStatsInit();
+               $statsInit->refresh();
+       }
+}
diff --git a/tests/phpunit/includes/libs/rdbms/database/DatabaseMssqlTest.php b/tests/phpunit/includes/libs/rdbms/database/DatabaseMssqlTest.php
new file mode 100644 (file)
index 0000000..bb85f5a
--- /dev/null
@@ -0,0 +1,54 @@
+<?php
+
+use Wikimedia\Rdbms\DatabaseMssql;
+
+class DatabaseMssqlTest extends PHPUnit\Framework\TestCase {
+
+       use MediaWikiCoversValidator;
+
+       /**
+        * @return PHPUnit_Framework_MockObject_MockObject|DatabaseMssql
+        */
+       private function getMockDb() {
+               return $this->getMockBuilder( DatabaseMssql::class )
+                       ->disableOriginalConstructor()
+                       ->setMethods( null )
+                       ->getMock();
+       }
+
+       public function provideBuildSubstring() {
+               yield [ 'someField', 1, 2, 'SUBSTRING(someField,1,2)' ];
+               yield [ 'someField', 1, null, 'SUBSTRING(someField,1,2147483647)' ];
+               yield [ 'someField', 1, 3333333333, 'SUBSTRING(someField,1,3333333333)' ];
+       }
+
+       /**
+        * @covers Wikimedia\Rdbms\DatabaseMssql::buildSubstring
+        * @dataProvider provideBuildSubstring
+        */
+       public function testBuildSubstring( $input, $start, $length, $expected ) {
+               $mockDb = $this->getMockDb();
+               $output = $mockDb->buildSubstring( $input, $start, $length );
+               $this->assertSame( $expected, $output );
+       }
+
+       public function provideBuildSubstring_invalidParams() {
+               yield [ -1, 1 ];
+               yield [ 1, -1 ];
+               yield [ 1, 'foo' ];
+               yield [ 'foo', 1 ];
+               yield [ null, 1 ];
+               yield [ 0, 1 ];
+       }
+
+       /**
+        * @covers Wikimedia\Rdbms\DatabaseMssql::buildSubstring
+        * @dataProvider provideBuildSubstring_invalidParams
+        */
+       public function testBuildSubstring_invalidParams( $start, $length ) {
+               $mockDb = $this->getMockDb();
+               $this->setExpectedException( InvalidArgumentException::class );
+               $mockDb->buildSubstring( 'foo', $start, $length );
+       }
+
+}
index 14c7057..d8cf71b 100644 (file)
  * @copyright © 2013 Wikimedia Foundation and contributors
  */
 
-use Wikimedia\Rdbms\TransactionProfiler;
-use Wikimedia\Rdbms\DatabaseDomain;
 use Wikimedia\Rdbms\MySQLMasterPos;
-use Wikimedia\Rdbms\DatabaseMysqlBase;
 use Wikimedia\Rdbms\DatabaseMysqli;
 use Wikimedia\Rdbms\Database;
 use Wikimedia\TestingAccessWrapper;
 
-/**
- * Fake class around abstract class so we can call concrete methods.
- */
-class FakeDatabaseMysqlBase extends DatabaseMysqlBase {
-       // From Database
-       function __construct() {
-               $this->profiler = new ProfilerStub( [] );
-               $this->trxProfiler = new TransactionProfiler();
-               $this->cliMode = true;
-               $this->connLogger = new \Psr\Log\NullLogger();
-               $this->queryLogger = new \Psr\Log\NullLogger();
-               $this->errorLogger = function ( Exception $e ) {
-                       wfWarn( get_class( $e ) . ": {$e->getMessage()}" );
-               };
-               $this->currentDomain = DatabaseDomain::newUnspecified();
-       }
-
-       protected function closeConnection() {
-       }
-
-       protected function doQuery( $sql ) {
-       }
-
-       protected function fetchAffectedRowCount() {
-       }
-
-       // From DatabaseMysqli
-       protected function mysqlConnect( $realServer ) {
-       }
-
-       protected function mysqlSetCharset( $charset ) {
-       }
-
-       protected function mysqlFreeResult( $res ) {
-       }
-
-       protected function mysqlFetchObject( $res ) {
-       }
-
-       protected function mysqlFetchArray( $res ) {
-       }
-
-       protected function mysqlNumRows( $res ) {
-       }
-
-       protected function mysqlNumFields( $res ) {
-       }
-
-       protected function mysqlFieldName( $res, $n ) {
-       }
-
-       protected function mysqlFieldType( $res, $n ) {
-       }
-
-       protected function mysqlDataSeek( $res, $row ) {
-       }
-
-       protected function mysqlError( $conn = null ) {
-       }
-
-       protected function mysqlFetchField( $res, $n ) {
-       }
-
-       protected function mysqlRealEscapeString( $s ) {
-       }
-
-       function insertId() {
-       }
-
-       function lastErrno() {
-       }
-
-       function affectedRows() {
-       }
-
-       function getServerVersion() {
-       }
-}
-
 class DatabaseMysqlBaseTest extends PHPUnit\Framework\TestCase {
 
        use MediaWikiCoversValidator;
@@ -119,7 +37,11 @@ class DatabaseMysqlBaseTest extends PHPUnit\Framework\TestCase {
         * @covers Wikimedia\Rdbms\DatabaseMysqlBase::addIdentifierQuotes
         */
        public function testAddIdentifierQuotes( $expected, $in ) {
-               $db = new FakeDatabaseMysqlBase();
+               $db = $this->getMockBuilder( DatabaseMysqli::class )
+                       ->disableOriginalConstructor()
+                       ->setMethods( null )
+                       ->getMock();
+
                $quoted = $db->addIdentifierQuotes( $in );
                $this->assertEquals( $expected, $quoted );
        }
@@ -482,9 +404,12 @@ class DatabaseMysqlBaseTest extends PHPUnit\Framework\TestCase {
         * @covers Wikimedia\Rdbms\Database::setFlag
         */
        public function testDBOIgnoreSet() {
-               $db = new FakeDatabaseMysqlBase();
+               $db = $this->getMockBuilder( DatabaseMysqli::class )
+                       ->disableOriginalConstructor()
+                       ->setMethods( null )
+                       ->getMock();
 
-               $db->setFlag( Database::DBO_IGNORE );
+               $db->clearFlag( Database::DBO_IGNORE );
        }
 
        /**
@@ -492,7 +417,10 @@ class DatabaseMysqlBaseTest extends PHPUnit\Framework\TestCase {
         * @covers Wikimedia\Rdbms\Database::clearFlag
         */
        public function testDBOIgnoreClear() {
-               $db = new FakeDatabaseMysqlBase();
+               $db = $this->getMockBuilder( DatabaseMysqli::class )
+                       ->disableOriginalConstructor()
+                       ->setMethods( null )
+                       ->getMock();
 
                $db->clearFlag( Database::DBO_IGNORE );
        }
@@ -604,4 +532,17 @@ class DatabaseMysqlBaseTest extends PHPUnit\Framework\TestCase {
 
                ];
        }
+
+       /**
+        * @covers \Wikimedia\Rdbms\DatabaseMysqlBase::buildIntegerCast
+        */
+       public function testBuildIntegerCast() {
+               $db = $this->getMockBuilder( DatabaseMysqli::class )
+                       ->disableOriginalConstructor()
+                       ->setMethods( null )
+                       ->getMock();
+               $output = $db->buildIntegerCast( 'fieldName' );
+               $this->assertSame( 'CAST( fieldName AS SIGNED )', $output );
+       }
+
 }
index 5c1943b..0f47595 100644 (file)
@@ -1,5 +1,6 @@
 <?php
 
+use InvalidArgumentException;
 use Wikimedia\Rdbms\LikeMatch;
 
 /**
@@ -1214,4 +1215,46 @@ class DatabaseSQLTest extends PHPUnit\Framework\TestCase {
                $this->assertFalse( $this->database->tableExists( "tmp_table_2", __METHOD__ ) );
                $this->assertFalse( $this->database->tableExists( "tmp_table_3", __METHOD__ ) );
        }
+
+       public function provideBuildSubstring() {
+               yield [ 'someField', 1, 2, 'SUBSTRING(someField FROM 1 FOR 2)' ];
+               yield [ 'someField', 1, null, 'SUBSTRING(someField FROM 1)' ];
+       }
+
+       /**
+        * @covers Wikimedia\Rdbms\Database::buildSubstring
+        * @dataProvider provideBuildSubstring
+        */
+       public function testBuildSubstring( $input, $start, $length, $expected ) {
+               $output = $this->database->buildSubstring( $input, $start, $length );
+               $this->assertSame( $expected, $output );
+       }
+
+       public function provideBuildSubstring_invalidParams() {
+               yield [ -1, 1 ];
+               yield [ 1, -1 ];
+               yield [ 1, 'foo' ];
+               yield [ 'foo', 1 ];
+               yield [ null, 1 ];
+               yield [ 0, 1 ];
+       }
+
+       /**
+        * @covers Wikimedia\Rdbms\Database::buildSubstring
+        * @covers Wikimedia\Rdbms\Database::assertBuildSubstringParams
+        * @dataProvider provideBuildSubstring_invalidParams
+        */
+       public function testBuildSubstring_invalidParams( $start, $length ) {
+               $this->setExpectedException( InvalidArgumentException::class );
+               $this->database->buildSubstring( 'foo', $start, $length );
+       }
+
+       /**
+        * @covers \Wikimedia\Rdbms\Database::buildIntegerCast
+        */
+       public function testBuildIntegerCast() {
+               $output = $this->database->buildIntegerCast( 'fieldName' );
+               $this->assertSame( 'CAST( fieldName AS INTEGER )', $output );
+       }
+
 }
diff --git a/tests/phpunit/includes/libs/rdbms/database/DatabaseSqliteRdbmsTest.php b/tests/phpunit/includes/libs/rdbms/database/DatabaseSqliteRdbmsTest.php
new file mode 100644 (file)
index 0000000..d963a5d
--- /dev/null
@@ -0,0 +1,59 @@
+<?php
+
+use Wikimedia\Rdbms\DatabaseSqlite;
+
+/**
+ * DatabaseSqliteTest is already defined in mediawiki core hence the 'Rdbms' included in this
+ * class name.
+ * The test in core should have mediawiki specific stuff removed and the tests moved to this
+ * rdbms libs test.
+ */
+class DatabaseSqliteRdbmsTest extends PHPUnit\Framework\TestCase {
+
+       use MediaWikiCoversValidator;
+
+       /**
+        * @return PHPUnit_Framework_MockObject_MockObject|DatabaseSqlite
+        */
+       private function getMockDb() {
+               return $this->getMockBuilder( DatabaseSqlite::class )
+                       ->disableOriginalConstructor()
+                       ->setMethods( null )
+                       ->getMock();
+       }
+
+       public function provideBuildSubstring() {
+               yield [ 'someField', 1, 2, 'SUBSTR(someField,1,2)' ];
+               yield [ 'someField', 1, null, 'SUBSTR(someField,1)' ];
+       }
+
+       /**
+        * @covers Wikimedia\Rdbms\DatabaseSqlite::buildSubstring
+        * @dataProvider provideBuildSubstring
+        */
+       public function testBuildSubstring( $input, $start, $length, $expected ) {
+               $dbMock = $this->getMockDb();
+               $output = $dbMock->buildSubstring( $input, $start, $length );
+               $this->assertSame( $expected, $output );
+       }
+
+       public function provideBuildSubstring_invalidParams() {
+               yield [ -1, 1 ];
+               yield [ 1, -1 ];
+               yield [ 1, 'foo' ];
+               yield [ 'foo', 1 ];
+               yield [ null, 1 ];
+               yield [ 0, 1 ];
+       }
+
+       /**
+        * @covers Wikimedia\Rdbms\DatabaseSqlite::buildSubstring
+        * @dataProvider provideBuildSubstring_invalidParams
+        */
+       public function testBuildSubstring_invalidParams( $start, $length ) {
+               $dbMock = $this->getMockDb();
+               $this->setExpectedException( InvalidArgumentException::class );
+               $dbMock->buildSubstring( 'foo', $start, $length );
+       }
+
+}
diff --git a/tests/phpunit/includes/logging/DatabaseLogEntryTest.php b/tests/phpunit/includes/logging/DatabaseLogEntryTest.php
new file mode 100644 (file)
index 0000000..4af1742
--- /dev/null
@@ -0,0 +1,162 @@
+<?php
+
+use MediaWiki\MediaWikiServices;
+use Wikimedia\Rdbms\IDatabase;
+
+class DatabaseLogEntryTest extends MediaWikiTestCase {
+       public function setUp() {
+               parent::setUp();
+
+               // These services cache their joins
+               MediaWikiServices::getInstance()->resetServiceForTesting( 'CommentStore' );
+               MediaWikiServices::getInstance()->resetServiceForTesting( 'ActorMigration' );
+       }
+
+       public function tearDown() {
+               parent::tearDown();
+
+               MediaWikiServices::getInstance()->resetServiceForTesting( 'CommentStore' );
+               MediaWikiServices::getInstance()->resetServiceForTesting( 'ActorMigration' );
+       }
+
+       /**
+        * @covers       DatabaseLogEntry::newFromId
+        * @covers       DatabaseLogEntry::getSelectQueryData
+        *
+        * @dataProvider provideNewFromId
+        *
+        * @param int $id
+        * @param array $selectFields
+        * @param string[]|null $row
+        * @param string[]|null $expectedFields
+        * @param string $migration
+        */
+       public function testNewFromId( $id,
+               array $selectFields,
+               array $row = null,
+               array $expectedFields = null,
+               $migration
+       ) {
+               $this->setMwGlobals( [
+                       'wgCommentTableSchemaMigrationStage' => $migration,
+                       'wgActorTableSchemaMigrationStage' => $migration,
+               ] );
+
+               $row = $row ? (object)$row : null;
+               $db = $this->getMock( IDatabase::class );
+               $db->expects( self::once() )
+                       ->method( 'selectRow' )
+                       ->with( $selectFields['tables'],
+                               $selectFields['fields'],
+                               $selectFields['conds'],
+                               'DatabaseLogEntry::newFromId',
+                               $selectFields['options'],
+                               $selectFields['join_conds']
+                       )
+                       ->will( self::returnValue( $row ) );
+
+               /** @var IDatabase $db */
+               $logEntry = DatabaseLogEntry::newFromId( $id, $db );
+
+               if ( !$expectedFields ) {
+                       self::assertNull( $logEntry, "Expected no log entry returned for id=$id" );
+               } else {
+                       self::assertEquals( $id, $logEntry->getId() );
+                       self::assertEquals( $expectedFields['type'], $logEntry->getType() );
+                       self::assertEquals( $expectedFields['comment'], $logEntry->getComment() );
+               }
+       }
+
+       public function provideNewFromId() {
+               $oldTables = [
+                       'tables' => [ 'logging', 'user' ],
+                       'fields' => [
+                               'log_id',
+                               'log_type',
+                               'log_action',
+                               'log_timestamp',
+                               'log_namespace',
+                               'log_title',
+                               'log_params',
+                               'log_deleted',
+                               'user_id',
+                               'user_name',
+                               'user_editcount',
+                               'log_comment_text' => 'log_comment',
+                               'log_comment_data' => 'NULL',
+                               'log_comment_cid' => 'NULL',
+                               'log_user' => 'log_user',
+                               'log_user_text' => 'log_user_text',
+                               'log_actor' => 'NULL',
+                       ],
+                       'options' => [],
+                       'join_conds' => [ 'user' => [ 'LEFT JOIN', 'user_id=log_user' ] ],
+               ];
+               $newTables = [
+                       'tables' => [
+                               'logging',
+                               'user',
+                               'comment_log_comment' => 'comment',
+                               'actor_log_user' => 'actor'
+                       ],
+                       'fields' => [
+                               'log_id',
+                               'log_type',
+                               'log_action',
+                               'log_timestamp',
+                               'log_namespace',
+                               'log_title',
+                               'log_params',
+                               'log_deleted',
+                               'user_id',
+                               'user_name',
+                               'user_editcount',
+                               'log_comment_text' => 'comment_log_comment.comment_text',
+                               'log_comment_data' => 'comment_log_comment.comment_data',
+                               'log_comment_cid' => 'comment_log_comment.comment_id',
+                               'log_user' => 'actor_log_user.actor_user',
+                               'log_user_text' => 'actor_log_user.actor_name',
+                               'log_actor' => 'log_actor',
+                       ],
+                       'options' => [],
+                       'join_conds' => [
+                               'user' => [ 'LEFT JOIN', 'user_id=actor_log_user.actor_user' ],
+                               'comment_log_comment' => [ 'JOIN', 'comment_log_comment.comment_id = log_comment_id' ],
+                               'actor_log_user' => [ 'JOIN', 'actor_log_user.actor_id = log_actor' ],
+                       ],
+               ];
+               return [
+                       [
+                               0,
+                               $oldTables + [ 'conds' => [ 'log_id' => 0 ] ],
+                               null,
+                               null,
+                               MIGRATION_OLD,
+                       ],
+                       [
+                               123,
+                               $oldTables + [ 'conds' => [ 'log_id' => 123 ] ],
+                               [
+                                       'log_id' => 123,
+                                       'log_type' => 'foobarize',
+                                       'log_comment_text' => 'test!',
+                                       'log_comment_data' => null,
+                               ],
+                               [ 'type' => 'foobarize', 'comment' => 'test!' ],
+                               MIGRATION_OLD,
+                       ],
+                       [
+                               567,
+                               $newTables + [ 'conds' => [ 'log_id' => 567 ] ],
+                               [
+                                       'log_id' => 567,
+                                       'log_type' => 'foobarize',
+                                       'log_comment_text' => 'test!',
+                                       'log_comment_data' => null,
+                               ],
+                               [ 'type' => 'foobarize', 'comment' => 'test!' ],
+                               MIGRATION_NEW,
+                       ],
+               ];
+       }
+}
index 7adc43b..6367a0f 100644 (file)
@@ -374,20 +374,6 @@ abstract class WikiPageDbTestBase extends MediaWikiLangTestCase {
                                true
                        ],
 
-                       // comma
-                       [ 'WikiPageTest_testIsCountable',
-                               CONTENT_MODEL_WIKITEXT,
-                               'Foo',
-                               'comma',
-                               false
-                       ],
-                       [ 'WikiPageTest_testIsCountable',
-                               CONTENT_MODEL_WIKITEXT,
-                               'Foo, bar',
-                               'comma',
-                               true
-                       ],
-
                        // link
                        [ 'WikiPageTest_testIsCountable',
                                CONTENT_MODEL_WIKITEXT,
@@ -409,12 +395,6 @@ abstract class WikiPageDbTestBase extends MediaWikiLangTestCase {
                                'any',
                                false
                        ],
-                       [ 'WikiPageTest_testIsCountable',
-                               CONTENT_MODEL_WIKITEXT,
-                               '#REDIRECT [[bar]]',
-                               'comma',
-                               false
-                       ],
                        [ 'WikiPageTest_testIsCountable',
                                CONTENT_MODEL_WIKITEXT,
                                '#REDIRECT [[bar]]',
@@ -429,12 +409,6 @@ abstract class WikiPageDbTestBase extends MediaWikiLangTestCase {
                                'any',
                                false
                        ],
-                       [ 'Talk:WikiPageTest_testIsCountable',
-                               CONTENT_MODEL_WIKITEXT,
-                               'Foo, bar',
-                               'comma',
-                               false
-                       ],
                        [ 'Talk:WikiPageTest_testIsCountable',
                                CONTENT_MODEL_WIKITEXT,
                                'Foo [[bar]]',
@@ -449,12 +423,6 @@ abstract class WikiPageDbTestBase extends MediaWikiLangTestCase {
                                'any',
                                false
                        ],
-                       [ 'MediaWiki:WikiPageTest_testIsCountable.js',
-                               null,
-                               'Foo, bar',
-                               'comma',
-                               false
-                       ],
                        [ 'MediaWiki:WikiPageTest_testIsCountable.js',
                                null,
                                'Foo [[bar]]',
diff --git a/tests/phpunit/includes/parser/StripStateTest.php b/tests/phpunit/includes/parser/StripStateTest.php
new file mode 100644 (file)
index 0000000..0f4f6e0
--- /dev/null
@@ -0,0 +1,136 @@
+<?php
+
+/**
+ * @covers StripState
+ */
+class StripStateTest extends MediaWikiTestCase {
+       public function setUp() {
+               parent::setUp();
+               $this->setContentLang( 'qqx' );
+       }
+
+       private function getMarker() {
+               static $i;
+               return Parser::MARKER_PREFIX . '-blah-' . sprintf( '%08X', $i++ ) . Parser::MARKER_SUFFIX;
+       }
+
+       private static function getWarning( $message, $max = '' ) {
+               return "<span class=\"error\">($message: $max)</span>";
+       }
+
+       public function testAddNoWiki() {
+               $ss = new StripState;
+               $marker = $this->getMarker();
+               $ss->addNoWiki( $marker, '<>' );
+               $text = "x{$marker}y";
+               $text = $ss->unstripGeneral( $text );
+               $text = str_replace( '<', '', $text );
+               $text = $ss->unstripNoWiki( $text );
+               $this->assertSame( 'x<>y', $text );
+       }
+
+       public function testAddGeneral() {
+               $ss = new StripState;
+               $marker = $this->getMarker();
+               $ss->addGeneral( $marker, '<>' );
+               $text = "x{$marker}y";
+               $text = $ss->unstripNoWiki( $text );
+               $text = str_replace( '<', '', $text );
+               $text = $ss->unstripGeneral( $text );
+               $this->assertSame( 'x<>y', $text );
+       }
+
+       public function testUnstripBoth() {
+               $ss = new StripState;
+               $mk1 = $this->getMarker();
+               $mk2 = $this->getMarker();
+               $ss->addNoWiki( $mk1, '<1>' );
+               $ss->addGeneral( $mk2, '<2>' );
+               $text = "x{$mk1}{$mk2}y";
+               $text = str_replace( '<', '', $text );
+               $text = $ss->unstripBoth( $text );
+               $this->assertSame( 'x<1><2>y', $text );
+       }
+
+       public static function provideUnstripRecursive() {
+               return [
+                       [ 0, 'text' ],
+                       [ 1, '=text=' ],
+                       [ 2, '==text==' ],
+                       [ 3, '==' . self::getWarning( 'unstrip-depth-warning', 2 ) . '==' ],
+               ];
+       }
+
+       /** @dataProvider provideUnstripRecursive */
+       public function testUnstripRecursive( $depth, $expected ) {
+               $ss = new StripState( null, [ 'depthLimit' => 2 ] );
+               $text = 'text';
+               for ( $i = 0; $i < $depth; $i++ ) {
+                       $mk = $this->getMarker();
+                       $ss->addNoWiki( $mk, "={$text}=" );
+                       $text = $mk;
+               }
+               $text = $ss->unstripNoWiki( $text );
+               $this->assertSame( $expected, $text );
+       }
+
+       public function testUnstripLoop() {
+               $ss = new StripState( null, [ 'depthLimit' => 2 ] );
+               $mk = $this->getMarker();
+               $ss->addNoWiki( $mk, $mk );
+               $text = $ss->unstripNoWiki( $mk );
+               $this->assertSame( self::getWarning( 'parser-unstrip-loop-warning' ), $text );
+       }
+
+       public static function provideUnstripSize() {
+               return [
+                       [ 0, 'x' ],
+                       [ 1, 'xx' ],
+                       [ 2, str_repeat( self::getWarning( 'unstrip-size-warning', 5 ), 2 ) ]
+               ];
+       }
+
+       /** @dataProvider provideUnstripSize */
+       public function testUnstripSize( $depth, $expected ) {
+               $ss = new StripState( null, [ 'sizeLimit' => 5 ] );
+               $text = 'x';
+               for ( $i = 0; $i < $depth; $i++ ) {
+                       $mk = $this->getMarker();
+                       $ss->addNoWiki( $mk, $text );
+                       $text = "$mk$mk";
+               }
+               $text = $ss->unstripNoWiki( $text );
+               $this->assertSame( $expected, $text );
+       }
+
+       public function provideGetLimitReport() {
+               for ( $i = 1; $i < 4; $i++ ) {
+                       yield [ $i ];
+               }
+       }
+
+       /** @dataProvider provideGetLimitReport */
+       public function testGetLimitReport( $depth ) {
+               $sizeLimit = 100000;
+               $ss = new StripState( null, [ 'depthLimit' => 5, 'sizeLimit' => $sizeLimit ] );
+               $text = 'x';
+               for ( $i = 0; $i < $depth; $i++ ) {
+                       $mk = $this->getMarker();
+                       $ss->addNoWiki( $mk, $text );
+                       $text = "$mk$mk";
+               }
+               $text = $ss->unstripNoWiki( $text );
+               $report = $ss->getLimitReport();
+               $messages = [];
+               foreach ( $report as list( $msg, $params ) ) {
+                       $messages[$msg] = $params;
+               }
+               $this->assertSame( [ $depth - 1, 5 ], $messages['limitreport-unstrip-depth'] );
+               $this->assertSame(
+                       [
+                               strlen( $this->getMarker() ) * 2 * ( pow( 2, $depth ) - 2 ) + pow( 2, $depth ),
+                               $sizeLimit
+                       ],
+                       $messages['limitreport-unstrip-size' ] );
+       }
+}
index 7bfd769..a75ea56 100644 (file)
@@ -127,6 +127,7 @@ class ResourceLoaderClientHtmlTest extends PHPUnit\Framework\TestCase {
                ] );
                $client->setModuleScripts( [
                        'test.scripts',
+                       'test.scripts.user',
                        'test.scripts.user.empty',
                        'test.scripts.shouldembed',
                        'test.unregistered.scripts',
@@ -142,6 +143,7 @@ class ResourceLoaderClientHtmlTest extends PHPUnit\Framework\TestCase {
                                'test.styles.private' => 'ready',
                                'test.styles.shouldembed' => 'ready',
                                'test.scripts' => 'loading',
+                               'test.scripts.user' => 'loading',
                                'test.scripts.user.empty' => 'ready',
                                'test.scripts.shouldembed' => 'loading',
                        ],
@@ -153,6 +155,7 @@ class ResourceLoaderClientHtmlTest extends PHPUnit\Framework\TestCase {
                        ],
                        'scripts' => [
                                'test.scripts',
+                               'test.scripts.user',
                                'test.scripts.shouldembed',
                        ],
                        'embed' => [
index 1db8c61..23ef26f 100644 (file)
                        [ '$ 1.50' ],
                        [ '$ 3.00' ],
                        [ '$3.50' ],
-                       // Comma's sort after dots
+                       // Commas sort after dots
                        // Not intentional but test to detect changes
                        [ '€ 2,99' ]
                ],