Merge "Update OOUI to v0.25.3"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Thu, 8 Mar 2018 23:15:23 +0000 (23:15 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Thu, 8 Mar 2018 23:15:24 +0000 (23:15 +0000)
56 files changed:
RELEASE-NOTES-1.31
composer.json
includes/api/i18n/ja.json
includes/db/DatabaseOracle.php
includes/jobqueue/Job.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/DatabaseSqlite.php
includes/libs/rdbms/database/IDatabase.php
includes/page/Article.php
includes/search/SearchEngine.php
includes/specials/pagers/BlockListPager.php
includes/specials/pagers/ContribsPager.php
languages/data/Names.php
languages/i18n/aeb-arab.json
languages/i18n/ar.json
languages/i18n/be-tarask.json
languages/i18n/bn.json
languages/i18n/ce.json
languages/i18n/ckb.json
languages/i18n/cs.json
languages/i18n/es.json
languages/i18n/fi.json
languages/i18n/fr.json
languages/i18n/he.json
languages/i18n/io.json
languages/i18n/it.json
languages/i18n/ja.json
languages/i18n/ko.json
languages/i18n/li.json
languages/i18n/lrc.json
languages/i18n/myv.json
languages/i18n/nl.json
languages/i18n/pt-br.json
languages/i18n/pt.json
languages/i18n/qqq.json
languages/i18n/sl.json
languages/i18n/sv.json
languages/i18n/udm.json
languages/i18n/ur.json
languages/i18n/zgh.json
languages/messages/MessagesHu_formal.php [new file with mode: 0644]
maintenance/resources/update-oojs-ui.sh [deleted file]
maintenance/resources/update-ooui.sh [new file with mode: 0755]
maintenance/tables.sql
resources/src/mediawiki.legacy/shared.css
resources/src/mediawiki.skinning/elements.css
tests/phpunit/includes/db/DatabaseOracleTest.php [new file with mode: 0644]
tests/phpunit/includes/db/DatabaseTestHelper.php
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/libs/rdbms/database/DatabaseTest.php

index 718ada9..557760d 100644 (file)
@@ -81,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 ====
@@ -119,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.
@@ -287,6 +289,8 @@ changes to languages because of Phabricator reports.
   * 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".
+* OpenSearch::getOpenSearchTemplate(), deprecated in 1.25, has been removed. You
+  can use ApiOpenSearch::getOpenSearchTemplate() instead.
 
 == Compatibility ==
 MediaWiki 1.31 requires PHP 5.5.9 or later. Although HHVM 3.18.5 or later is supported,
index 47d5400..178c280 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 80f161b..b07ab6d 100644 (file)
@@ -22,6 +22,7 @@
        "apihelp-main-param-smaxage": "<code>s-maxage</code> HTTP キャッシュ コントロール ヘッダー に、この秒数を設定します。エラーがキャッシュされることはありません。",
        "apihelp-main-param-maxage": "<code>max-age</code> HTTP キャッシュ コントロール ヘッダー に、この秒数を設定します。エラーがキャッシュされることはありません。",
        "apihelp-main-param-assert": "<kbd>user</kbd> を設定した場合は利用者がログイン済みかどうかを、<kbd>bot</kbd> を指定した場合はボット権限があるかどうかを、それぞれ検証します。",
+       "apihelp-main-param-assertuser": "現在のユーザーが指定されたユーザーであることを確認します。",
        "apihelp-main-param-requestid": "任意の値を指定でき、その値が結果に含められます。リクエストを識別するために使用できます。",
        "apihelp-main-param-servedby": "リクエストを処理したホスト名を結果に含めます。",
        "apihelp-main-param-curtimestamp": "現在のタイムスタンプを結果に含めます。",
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 703e485..8508861 100644 (file)
@@ -337,6 +337,7 @@ abstract class Job implements IJobSpecification {
         * @deprecated since 1.21
         */
        public function insert() {
+               wfDeprecated( __METHOD__, '1.21' );
                JobQueueGroup::singleton()->push( $this );
                return true;
        }
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 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 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 7ac24c5..7e6e8e6 100644 (file)
@@ -406,17 +406,6 @@ abstract class SearchEngine {
                // no-op
        }
 
-       /**
-        * Get OpenSearch suggestion template
-        *
-        * @deprecated since 1.25
-        * @return string
-        */
-       public static function getOpenSearchTemplate() {
-               wfDeprecated( __METHOD__, '1.25' );
-               return ApiOpenSearch::getOpenSearchTemplate( 'application/x-suggestions+json' );
-       }
-
        /**
         * Get the raw text for updating the index from a content object
         * Nicer search backends could possibly do something cooler than
index cac0736..4234292 100644 (file)
@@ -232,7 +232,7 @@ class BlockListPager extends TablePager {
                                'ipb_deleted',
                                'ipb_block_email',
                                'ipb_allow_usertalk',
-                       ] + $commentQuery['fields'], $actorQuery['fields'],
+                       ] + $commentQuery['fields'] + $actorQuery['fields'],
                        'conds' => $this->conds,
                        'join_conds' => [
                                'user' => [ 'LEFT JOIN', 'user_id = ' . $actorQuery['fields']['ipb_by'] ]
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 2d9c892..ece84d8 100644 (file)
        "blanknamespace": "(رئيسي)",
        "contributions": "مساهمات {{GENDER:$1|المستعمل|المستعملة}}",
        "contributions-title": "مساهمات المستخدم $1",
-       "mycontris": "مساهماتي",
+       "mycontris": "مساهمات",
        "anoncontribs": "مساهمات",
        "contribsub2": "ل$1 ($2)",
        "month": "من شهر (و أقدم):",
index 8d6c35e..6529ef4 100644 (file)
        "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.",
        "blanknamespace": "(رئيسي)",
        "contributions": "مساهمات {{GENDER:$1|المستخدم|المستخدمة}}",
        "contributions-title": "مساهمات {{GENDER:$1|المستخدم|المستخدمة}} $1",
-       "mycontris": "مساهماتي",
+       "mycontris": "مساهمات",
        "anoncontribs": "مساهمات",
        "contribsub2": "ل{{GENDER:$3|$1}} ($2)",
        "contributions-userdoesnotexist": "حساب المستخدم \"$1\" غير مسجل.",
index 7d6c6fa..93863d9 100644 (file)
        "expansion-depth-exceeded-warning": "Старонка перавысіла дазволеную глыбіню разгортваньня",
        "parser-unstrip-loop-warning": "Вызначаная пятля unstrip",
        "unstrip-depth-warning": "Перавышаны ліміт глыбіні функцыі unstrip ($1)",
+       "unstrip-depth-category": "Старонкі зь перавышаным лімітам глыбіні функцыі unstrip",
+       "unstrip-size-warning": "Перавышаны ліміт памеру функцыі unstrip ($1)",
        "converter-manual-rule-error": "Знойдзеная памылка ў ручным правіле моўнага канвэртару",
        "undo-success": "Рэдагаваньне можа быць адмененае. Калі ласка, параўнайце адрозьненьні паміж вэрсіямі, каб упэўніцца, што гэта адпаведныя зьмены, а потым запішыце зьмены для сканчэньня рэдагаваньня.",
        "undo-failure": "Рэдагаваньне ня можа быць скасаванае праз канфлікт паміж папярэднімі рэдагаваньнямі.",
        "stub-threshold-disabled": "Адключаны",
        "recentchangesdays": "Колькасьць дзён для паказу ў апошніх зьменах:",
        "recentchangesdays-max": "Максымальна $1 {{PLURAL:$1|дзень|дні|дзён}}",
-       "recentchangescount": "Колькасьць рэдагаваньняў для паказу па змоўчаньні:",
-       "prefs-help-recentchangescount": "Ð\93Ñ\8dÑ\82а Ñ\9eклÑ\8eÑ\87ае Ð°Ð¿Ð¾Ñ\88нÑ\96Ñ\8f Ð·Ñ\8cменÑ\8b, Ð³Ñ\96Ñ\81Ñ\82оÑ\80Ñ\8bÑ\96 Ñ\81Ñ\82аÑ\80онак Ñ\96 Ð¶Ñ\83Ñ\80налÑ\8b Ð¿Ð°Ð´Ð·ÐµÑ\8fÑ\9e.",
+       "recentchangescount": "Колькасьць рэдагаваньняў для паказу па змоўчаньні ў апошніх зьменах, старонках гісторыі і журналах падзеяў:",
+       "prefs-help-recentchangescount": "Ð\9cакÑ\81Ñ\8bмалÑ\8cнаÑ\8f ÐºÐ¾Ð»Ñ\8cкаÑ\81Ñ\8cÑ\86Ñ\8c: 1000",
        "prefs-help-watchlist-token2": "Гэта сакрэтны ключ да стужкі вашага сьпісу назіраньня.\nКожны, хто ведае яго, можа атрымаць доступ да вашага сьпісу назіраньня, таму не дзяліцеся ім.\nКалі вам трэба, [[Special:ResetTokens|вы можаце скінуць яго]].",
        "savedprefs": "Вашыя налады былі захаваныя.",
        "savedrights": "Групы {{GENDER:$1|ўдзельніка|ўдзельніцы}} $1 былі захаваныя.",
        "right-editinterface": "Рэдагаваньне інтэрфэйсу карыстальніка",
        "right-editusercss": "Рэдагаваньне CSS-файлаў іншых удзельнікаў",
        "right-edituserjs": "Рэдагаваньне JavaScript-файлаў іншых удзельнікаў",
-       "right-editmyusercss": "рэдагаваць уласныя карыстальніцкія CSS-файлы",
-       "right-editmyuserjs": "рэдагаваць уласныя карыстальніцкія JavaScript-файлы",
+       "right-editmyusercss": "Рэдагаваць свае карыстальніцкія CSS-файлы",
+       "right-editmyuserjs": "Рэдагаваць свае карыстальніцкія JavaScript-файлы",
        "right-viewmywatchlist": "праглядаць уласны сьпіс назіраньня",
        "right-editmywatchlist": "рэдагаваць уласны сьпіс назіраньня (некаторыя дзеяньні будуць дадаваць туды старонкі нават бяз гэтага права)",
        "right-viewmyprivateinfo": "праглядаць уласныя прыватныя зьвесткі (напр., адрас e-mail, сапраўднае імя)",
index 45df08b..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": "প্রবেশ করা সম্ভব নয়।",
index c3d90d8..6ce3887 100644 (file)
        "spamprotectiontitle": "Спам-луьттург",
        "spamprotectiontext": "Хьо дӀаязъян гӀерта агӀо спам-литтаро дӀакъоьвлина.\nЦуна бахьана хила там бу агӀона чохь зулам литтаран чутоьхна йолу хьажорг хилар.",
        "spambot_username": "Спам дӀацӀаняр",
+       "simpleantispam-label": "Анти-спам таллар.\n<strong>Ма</strong> юза хӀара!",
        "pageinfo-title": "Хаамаш цу «$1»",
        "pageinfo-not-current": "Шира версийн оьцу хааме хьажа таро яц.",
        "pageinfo-header-basic": "Коьрта хаам",
index 63358cf..9ea45d4 100644 (file)
        "copyrightwarning2": "ئاگادار بە کە هەموو بەشدارییەکان لە {{SITENAME}} لەوانەیە بەدەستی بەشداربووانی دیکەوە دەستکاری بکرێن، بگۆڕدرێن یا بسڕێنەوە.\nئەگەر ناتەوێ نووسراوەکانت بێبەزەیی دەستکاری بکرێن، ھەر مەینێرە بۆ ئێرە.<br />\nھەروەھا تۆ بەڵێنمان پێدەدەی کە خۆت ئەمەت نووسیوە یان لە پاوانێکی گشتی (public domain) یان سەرچاوە ئازادەکانی وەک ئەو وەرتگرتووە (سەیری $1 بکە بۆ وردەکاریەکان).\n'''ئەو کارانە کە مافی لەبەرگرتنەوەیان پارێزراوەکان بە بێ وەرگرتنی ئیجازە مەنێرە!'''",
        "longpageerror": "'''ھەڵە: ئەو دەقە تۆ ناردووتە {{PLURAL:$1|یەک کیلۆبایت|$1 کیلۆبایت}} درێژە، کە درێژترە لە زۆرینەی {{PLURAL:$2|یەک کیلۆبایت|$2 کیلۆبایت}}.'''\nئەمە پاشەکەوت ناکرێت.",
        "readonlywarning": "<strong>ئاگاداری: بنکەی زانیاری بۆ چاکسازی داخراوە، بۆیە ئێستا ناتوانی دەستکاریەکانت پاشەکەوت بکەیت.</strong>\nدەتوانیت دەقەکەت لەبەر بگریتەوە بۆ پەڕگەیەک و ھەڵی بگریت بۆ دوایی.\nئەو بەڕێوەبەرەی کە دای خستووە، ئەم هۆکارەی دەستنیشان کردووە: $1",
-       "protectedpagewarning": "'''وشیار بە: ئەم پەڕە پارێزراوە بۆ ئەوی تەنیا ئەو بەکارھێنەرانە کە مافەکانی بەڕێوەبەرایەتییان ھەیە بتوانن دەستکاریی بکەن.'''\nدوایین لۆگ بۆ ژێدەر لە خوارەوەدا ھاتووە:",
+       "protectedpagewarning": "'''ئاگاداری: ئەم پەڕە پارێزراوە بۆ ئەوەی تەنیا ئەو بەکارھێنەرانە کە مافەکانی بەڕێوەبەرایەتییان ھەیە بتوانن دەستکاریی بکەن.'''\nدوایین لۆگ بۆ ژێدەر لە خوارەوەدا ھاتووە:",
        "semiprotectedpagewarning": "'''ئاگاداری:''' ئەم پەڕە داخراوە بۆ ئەوی تەنھا بەکارھێنەرە تۆمارکراوەکان بتوانن دەستکاریی بکەن.\nدوایین لۆگ بۆ ژێدەر لە خوارەوەدا ھاتووە:",
        "cascadeprotectedwarning": "'''ئاگاداری:''' ئەم پەڕەیە داخراوە بۆ ئەوەی تەنھا ئەو کەسانەی کە [[Special:ListGroupRights|مافیان ھەیە]] بتوانن دەستکاری بکەن، چوونکە ئەم {{PLURAL:$1|لاپه‌ڕه‌|لاپه‌ڕانه‌}} لە زنجیرەی پارێزراوەکانی لە خۆ گرتووە‌:",
        "titleprotectedwarning": "'''ئاگاداری: ئەم پەڕە داخراوە، بۆئەوەی بۆ درووست‌کردنی [[Special:ListGroupRights|مافە تایبەتەکانت]] پێویستن.'''\nبۆ چاوانە دوایین لۆگ لە خوارەوەدا ھاتووە:",
        "imageinvalidfilename": "ناوی پەڕگەی ئامانج گونجاو نیە",
        "fix-double-redirects": "نوێ‌کەردنەوەی هەموو ڕەوانکەرەکان وا ئاماژە بە سەردێڕە سەرەکیەکە دەکەن",
        "move-leave-redirect": "لە پاشەوە ڕەوانەکەرێک بھێڵەوە",
-       "protectedpagemovewarning": "'''ھۆشیار بە: ئەم پەڕە پارێزراوە بۆ ئەوی تەنیا ئەو بەکارھێنەرانە کە مافەکانی بەڕێوەبەرایەتییان ھەیە بتوانن بیگوازنەوە.'''\nدوایین لۆگ بۆ ژێدەر لە خوارەوەدا ھاتووە:",
-       "semiprotectedpagemovewarning": "'''ئاگاداری:''' ئەم پەڕە پارێزراوە بۆ ئەوی تەنھا بەکارھێنەرە تۆمارکراوەکان بتوانن بیگوازنەوە.\nدوایین لۆگ بۆ ژێدەر لە خوارەوەدا ھاتووە:",
+       "protectedpagemovewarning": "'''ئاگاداری: ئەم پەڕەیە پارێزراوە بۆ ئەوەی تەنیا ئەو بەکارھێنەرانەی کە مافەکانی بەڕێوەبەرایەتییان ھەیە بتوانن بیگوازنەوە.'''\nدوایین لۆگ بۆ ژێدەر لە خوارەوەدا ھاتووە:",
+       "semiprotectedpagemovewarning": "'''ئاگاداری:''' ئەم پەڕەیە پارێزراوە بۆ ئەوەی تەنیا بەکارھێنەرە تۆمارکراوەکان بتوانن بیگوازنەوە.\nدوایین لۆگ بۆ ژێدەر لە خوارەوەدا ھاتووە:",
        "export": "ھەناردنی پەڕەکان",
        "exporttext": "دەتوانیت دەق و مێژووی دەستکاریی پەڕەیەکی دەستنیشان کراو یان کۆمەڵێک پەڕە کە ناو پەڕگەیەکی XML دا پێچراونەتەوە، هەناردە بکەیت.\nدەکرێت ئەمە لە ویکییەکی دیکەدا ھاوردە بکرێت بە کەڵک وەرگرتن لە  ئامرازی [[Special:Import|ھاوردە کردنی پەڕە]]ی MediaWiki.\n\nبۆ هەناردە کردنی پەڕەکان، سەرناوەکانیان لە چوارچێوەی خوارەوەدا بنووسە، هەر سەرناوێک لە هێڵێکدا. و هەڵبژێرە کە پێداچوونەوەی ئێستا و ھەموو پێداچوونەوە کۆنەکانت دەوێت یان تەنھا پێداچوونەوەی ئێستا و زانیاریی سەبارەت بە دوایین دەستکاری.\n\nئەگەر تەنھا پێداچوونەوەی ئێستات دەوێت، دەتوانیت بەستەرێکیش بە کار بھێنیت، بۆ نموونە [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]] بۆ پەڕەی «[[{{MediaWiki:Mainpage}}]]».",
        "exportall": "ھەموو پەڕەکان ھەناردە بکە",
index d023d8e..b975599 100644 (file)
        "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 9cb3299..4355558 100644 (file)
        "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 47208a7..bcc4a64 100644 (file)
@@ -55,7 +55,8 @@
                        "Alluk.",
                        "Tumm1",
                        "4shadoww",
-                       "Pahkiqaz"
+                       "Pahkiqaz",
+                       "Rueter"
                ]
        },
        "tog-underline": "Linkkien alleviivaus:",
index f72ffcc..47b7de6 100644 (file)
        "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.",
index 790240b..e3a7364 100644 (file)
        "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\" נשמרו.",
index c1201c7..a8b9bbb 100644 (file)
        "history-feed-title": "Historio di redakti",
        "history-feed-description": "Historio di redakti por ta pagino en la wikio",
        "history-feed-item-nocomment": "$1 ye $2",
+       "history-edit-tags": "Redaktar etiketi de la versioni/revizi selektita",
        "rev-deleted-comment": "(rezumo di redakti forigesis)",
        "rev-deleted-user": "(uzantonomo forigita)",
        "rev-deleted-event": "(detali dil registro forigesis)",
        "difference-title": "Diferi inter la revizi di $1",
        "lineno": "Lineo $1:",
        "compareselectedversions": "Komparar selektita versioni",
+       "showhideselectedversions": "Modifikez la videbleso di la selektita versioni",
        "editundo": "des-facez",
        "diff-empty": "(Nula difero)",
        "diff-multi-sameuser": "(ne montresas {{PLURAL:$1|1 meza revizo|$1 meza revizi}} facita da la sama uzero)",
        "group-user": "Uzanti",
        "group-autoconfirmed": "Uzeri automatale konfirmita",
        "group-bot": "Roboti",
-       "group-sysop": "Administranti",
+       "group-sysop": "Administreri",
        "group-bureaucrat": "Burokrati",
        "group-all": "(omna)",
        "group-user-member": "{{GENDER:$1|uzero}}",
        "grouppage-user": "{{ns:project}}:Uzanti",
        "grouppage-autoconfirmed": "{{ns:project}}:Uzeri automatale konfirmita",
        "grouppage-bot": "{{ns:project}}:Roboti",
-       "grouppage-sysop": "{{ns:project}}:Administranti",
+       "grouppage-sysop": "{{ns:project}}:Administreri",
        "grouppage-bureaucrat": "{{ns:project}}:Burokrati",
        "right-read": "Lektar pagini",
        "right-edit": "Redaktar pagini",
        "right-writeapi": "Uzez API por skribar",
        "right-delete": "Efacar pagini",
        "right-browsearchive": "Serchar pagini efacita",
+       "right-suppressrevision": "Vidar, celar e deskovrar specifika revizi di pagini de irga uzero",
        "right-rollback": "Rapide retrorular la redakti da la lasta uzero qua redaktis specigita pagino",
        "newuserlogpage": "Uzero-kreo-registro",
        "rightslog": "Uzero-yuri-registraro",
        "rcshowhideanons-show": "Montrar",
        "rcshowhideanons-hide": "Celar",
        "rcshowhidepatr": "$1 patroliata redakti",
+       "rcshowhidepatr-show": "Montrez",
        "rcshowhidemine": "$1 mea redakti",
        "rcshowhidemine-show": "Montrar",
        "rcshowhidemine-hide": "Celar",
        "license": "Licencizo",
        "license-header": "Licencizo",
        "imgfile": "arkivo",
-       "listfiles": "Listo di imaji",
+       "listfiles": "Listo pri arkivi",
        "listfiles_date": "Dato",
        "listfiles_name": "Nomo",
        "listfiles_user": "Uzero",
        "statistics-articles": "Temala pagini",
        "statistics-pages": "Pagini",
        "statistics-pages-desc": "Omna pagini dil Wiki, inkluzite pagini por facar diskuti, ridirektadi, edc.",
+       "statistics-files": "Adkargita arkivi",
        "statistics-edits": "Quanto di redakti pos ke {{SITENAME}} kreesis",
        "statistics-edits-average": "Mezavalora quanto di redakti per pagino",
        "statistics-users-active": "Aktiva uzeri",
+       "statistics-users-active-desc": "Uzeri qui facis ula agado dum la lasta {{PLURAL:$1|dio|$1 dii}}",
        "pageswithprop": "Pagini kun atributo di pagino",
        "pageswithprop-legend": "Pagini kun atributo di pagino",
        "pageswithprop-text": "Ica pagino listas pagini qui havas partikulara propraji.",
        "protectedpages": "Protektita pagini",
        "protectedtitles": "Protektita tituli",
        "listusers": "Uzerolisto",
+       "listusers-editsonly": "Montrez nur uzeri qui facis redakti",
+       "listusers-creationsort": "Ordinar segun la dato di kreado",
+       "listusers-desc": "Ordinar segun decensanta ordeno",
        "usereditcount": "$1 {{PLURAL:$1|redakto|redakti}}",
        "usercreated": "{{GENDER:$3|Kreita}} ye $1 $2",
        "newpages": "Nova pagini",
        "all-logs-page": "Omna publika registrari",
        "alllogstext": "Kombinata montro di omna 'log'-i di {{SITENAME}} disponebla.\nVu povas stretigar la vidado per la selekto di la tipo di protoloko (log type), l'uzantonomo (case-sensitive), o la pagino afektita (also case-sensitive).",
        "logempty": "Nula kombinuri trovesis en la protokolo.",
+       "showhideselectedlogentries": "Modifikar la videbleso di la selektita eniri di 'log'",
        "allpages": "Omna pagini",
        "nextpage": "Sequanta pagino ($1)",
        "prevpage": "Antea pagino ($1)",
        "linksearch": "Sercho di extera ligili",
        "linksearch-ns": "Nomaro:",
        "linksearch-ok": "Serchez",
+       "listusersfrom": "Montrez uzeri komencante de:",
        "listusers-submit": "Montrez",
        "activeusers": "Listo pri aktiva uzeri",
+       "activeusers-from": "Montrez uzeri komencante de:",
        "activeusers-noresult": "Nula uzero trovesis.",
        "listgrouprights-group": "Grupo",
        "listgrouprights-members": "(listo di membri)",
index ea1f26c..91d6235 100644 (file)
        "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.",
index 2a8e159..e1810e6 100644 (file)
        "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}}の利用者グループが保存されました。",
        "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 ca13c96..db97777 100644 (file)
        "showdiff": "차이 보기",
        "blankarticle": "<strong>경고:</strong> 만들려는 문서가 비어 있습니다.\n\"$1\" 버튼을 다시 클릭하면, 아무 내용 없이 문서가 만들어집니다.",
        "anoneditwarning": "<strong>경고:</strong> 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. <strong>[$1 로그인]</strong>하거나 <strong>[$2 계정을 생성하면]</strong> 편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.",
-       "anonpreviewwarning": "<em>로그인하고 있지 않습니다. 문서를 저장하면 당신의 IP 주소가 문서의 편집 역사에 남게 됩니다.</em>",
+       "anonpreviewwarning": "<em>로그인이 되어있지 않습니다. 문서를 저장하게 되면 IP 주소가 문서의 역사에 남게 됩니다.</em>",
        "missingsummary": "'''알림:''' 편집 요약을 적지 않았습니다.\n\"$1\" 버튼을 다시 클릭하면 편집 요약 없이 편집이 저장됩니다.",
        "selfredirect": "<strong>경고:</strong> 자기 자신으로 문서를 넘겨주고 있습니다.\n넘겨줄 대상을 잘못 입력했거나, 잘못된 문서를 편집하고 있을 수 있습니다.\n\"$1\" 버튼을 다시 클릭하면, 넘겨주기 문서가 생성됩니다.",
        "missingcommenttext": "댓글을 입력해 주십시오.",
        "userinvalidconfigtitle": "<strong>경고:</strong> \"$1\" 스킨은 없습니다.\n.css와 .js 문서의 제목은 {{ns:user}}:Foo/vector.css 처럼 소문자로 써야 합니다. {{ns:user}}:Foo/Vector.css 와 같이 대문자로 쓸 경우 작동하지 않습니다.",
        "updated": "(바뀜)",
        "note": "<strong>참고:</strong>",
-       "previewnote": "'''지금 보ê³  ì\9e\88ë\8a\94 í\99\94ë©´ì\9d\80 ë¯¸ë¦¬ ë³´ê¸°ì\9e\85ë\8b\88ë\8b¤.''' í\8e¸ì§\91í\95\9c ë\82´ì\9a©ì\9d\80 ì\95\84ì§\81 ì \80ì\9e¥ë\90\98ì§\80 ì\95\8aì\95\98ì\8aµë\8b\88ë\8b¤!",
+       "previewnote": "'''지금 보ë\8a\94 ì\9d´ í\99\94ë©´ì\9d\80 ë¯¸ë¦¬ ë³´ê¸°ì\9e\85ë\8b\88ë\8b¤.''' í\8e¸ì§\91í\95\9c ë\82´ì\9a©ì\9d\84 ì\95\84ì§\81 ì \80ì\9e¥í\95\98ì§\80 ì\95\8aì\95\98ì\8aµë\8b\88ë\8b¤!",
        "continue-editing": "편집 영역으로 가기",
        "previewconflict": "이 미리 보기는 저장할 때의 모습으로, 위쪽 편집 영역의 텍스트를 반영합니다.",
        "session_fail_preview": "세션 데이터가 없어져 편집을 저장하지 못했습니다.\n\n로그아웃되었는지도 모릅니다. <strong>아직 로그인 상태인지 확인하고 다시 시도해주세요</strong>.\n다시 시도해도 되지 않으면 [[Special:UserLogout|로그아웃]]한 다음 다시 로그인하세요. 그리고 브라우저 설정에서 쿠키 사용을 허용하는지 확인하세요.",
        "templatesusedsection": "이 문단에서 사용하고 있는 {{PLURAL:$1|틀}}:",
        "template-protected": "(보호됨)",
        "template-semiprotected": "(준보호됨)",
-       "hiddencategories": "이 문서는 다음 {{PLURAL:$1|숨은 분류 1개|숨은 분류 $1개}}에 속해 있습니다:",
+       "hiddencategories": "이 문서는 다음 {{PLURAL:$1|숨은 분류 1개|숨은 분류 $1개}}에 속해 있습니다:",
        "edittools": "<!-- 여기의 텍스트는 편집과 올리기 양식에 보여집니다. -->",
        "nocreatetext": "{{SITENAME}}에서 새로운 문서를 만드는 것은 제한되어 있습니다.\n이미 존재하는 다른 문서를 편집하거나, [[Special:UserLogin|로그인하거나 계정을 만들]] 수 있습니다.",
        "nocreate-loggedin": "새 문서를 만들 권한이 없습니다.",
        "recentchanges-label-minor": "사소한 편집",
        "recentchanges-label-bot": "봇이 수행한 편집",
        "recentchanges-label-unpatrolled": "아직 점검하지 않은 편집",
-       "recentchanges-label-plusminus": "문ì\84\9c í\81¬ê¸° ì°¨ì\9d´ë¥¼ ë°\94ì\9d´í\8a¸ ì\88\98ë¡\9c í\91\9c기",
+       "recentchanges-label-plusminus": "ë°\94ì\9d´í\8a¸ë³\84 ë¬¸ì\84\9c í\81¬ê¸°ì\9d\98 ì°¨ì\9d´",
        "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": "기본 í\95\84í\84°ë¡\9c ì\84¤ì \95 ì´\88기í\99\94í\95\98기",
+       "rcfilters-restore-default-filters": "기본 í\95\84í\84°ë¥¼ ë\90\98ë\8f\8c림",
        "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": "당신이 직접 행한 변경사항",
+       "rcfilters-filter-editsbyself-label": "자신의 변경사항",
        "rcfilters-filter-editsbyself-description": "당신의 기여.",
-       "rcfilters-filter-editsbyother-label": "다른 사용자가 행한 변경사항",
-       "rcfilters-filter-editsbyother-description": "다른 사람들이 행한 모든 변경사항.",
+       "rcfilters-filter-editsbyother-label": "다른 사용자 변경사항",
+       "rcfilters-filter-editsbyother-description": "자신 이외의 모든 변경사항.",
        "rcfilters-filtergroup-userExpLevel": "사용자 등록 및 경험",
        "rcfilters-filter-user-experience-level-registered-label": "등록됨",
        "rcfilters-filter-user-experience-level-registered-description": "로그인한 편집자.",
        "rcfilters-filter-user-experience-level-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ê°\9c ì\9d´ì\83\81ì\9d\98 í\8e¸ì§\91ì\9d\84 í\95\9c í\8e¸ì§\91ì\9e\90.",
+       "rcfilters-filter-user-experience-level-experienced-description": "30일 이상의 활동 및 500í\9a\8c ì\9d´ì\83\81ì\9d\98 í\8e¸ì§\91ì\9d\84 í\95\9c ë\93±ë¡\9dë\90\9c í\8e¸ì§\91ì\9e\90.",
        "rcfilters-filtergroup-automated": "자동으로 된 기여",
        "rcfilters-filter-bots-label": "봇",
        "rcfilters-filter-bots-description": "자동 도구를 이용한 편집.",
        "rcfilters-filter-pageedits-label": "문서 편집",
        "rcfilters-filter-pageedits-description": "위키 내용, 토론, 분류 설명에 대한 편집.",
        "rcfilters-filter-newpages-label": "문서 생성",
-       "rcfilters-filter-newpages-description": "새 문서를 만들어 낸 편집.",
+       "rcfilters-filter-newpages-description": "새 문서 생성 편집.",
        "rcfilters-filter-categorization-label": "분류 차이",
-       "rcfilters-filter-categorization-description": "문서가 특정 분류에 추가되거나 제외된 기록.",
+       "rcfilters-filter-categorization-description": "문서가 분류에서 추가 및 제거된 기록",
        "rcfilters-filter-logactions-label": "기록된 행위",
-       "rcfilters-filter-logactions-description": "관리자의 조치, 계정 만들기, 문서 삭제, 업로드 등",
+       "rcfilters-filter-logactions-description": "관리 조치, 계정 만들기, 문서 삭제, 올리기 등",
        "rcfilters-hideminor-conflicts-typeofchange-global": "특정한 유형의 변경사항을 \"사소한 편집\"으로 지정할 수 없기 때문에 \"사소한 편집\" 필터는 하나 이상의 변경사항 유형 필터와 충돌합니다. 충돌되는 필터들은 위의 사용 중인 필터 영역에 표시됩니다.",
        "rcfilters-hideminor-conflicts-typeofchange": "특정한 종류의 변경사항은 \"사소한 편집\"으로 지정할 수 없으므로 이 필터는 다음 유형의 변경사항 필터와 충돌합니다: $1",
        "rcfilters-typeofchange-conflicts-hideminor": "이 유형의 변경사항 필터는 \"사소한 편집\" 필터와 충돌합니다. 특정한 종류의 변경사항은 \"사소한 편집\"으로 지정할 수 없습니다.",
        "rcfilters-filtergroup-lastRevision": "최신판",
        "rcfilters-filter-lastrevision-label": "최신판",
-       "rcfilters-filter-lastrevision-description": "각 문서의 최신판에 해당하는 변경사항만 보기.",
+       "rcfilters-filter-lastrevision-description": "문서의 가장 최근 바뀜만.",
        "rcfilters-filter-previousrevision-label": "최신판이 아님",
-       "rcfilters-filter-previousrevision-description": "\"ìµ\9cì\8b í\8c\90\"ì\9d\84 ì \9cì\99¸í\95\9c ëª¨ë\93  ë³\80ê²½ì\82¬í\95­ ë³´ê¸°.",
+       "rcfilters-filter-previousrevision-description": "\"ìµ\9cì\8b í\8c\90\"ì\9d´ ì\95\84ë\8b\8c ëª¨ë\93  ë³\80ê²½ì\82¬í\95­.",
        "rcfilters-filter-excluded": "제외됨",
        "rcfilters-tag-prefix-namespace-inverted": "<strong>:아님</strong> $1",
        "rcfilters-exclude-button-off": "선택 제외",
        "recentchangeslinked-summary": "해당 문서에 연결된 문서의 변경사항을 확인하려면 문서 이름을 입력하십시오. (분류에 들어있는 문서를 보려면 분류:분류명으로 입력하십시오). [[Special:Watchlist|내 주시문서 목록]]에 있는 문서의 변경사항은 <strong>굵게</strong> 나타납니다.",
        "recentchangeslinked-page": "문서 이름:",
        "recentchangeslinked-to": "해당 문서를 가리키는 문서의 최근 바뀜 보기",
-       "recentchanges-page-added-to-category": "[[:$1]]ì\9d´(ê°\80) ë¶\84ë¥\98ì\97\90 ì¶\94ê°\80ë\90\98ì\97\88습니다",
-       "recentchanges-page-added-to-category-bundled": "[[:$1]] 문서가 분류에 추가되었습니다. [[Special:WhatLinksHere/$1|이 문서는 다른 문서의 내용 속에 포함되어 있습니다]]",
+       "recentchanges-page-added-to-category": "[[:$1]]ì\97\90 ë¶\84ë¥\98를 ì¶\94ê°\80í\95\98ì\98\80습니다",
+       "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}}ì\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 범위를 좁혀서 살펴볼 수 있습니다.",
+       "alllogstext": "{{SITENAME}}ì\9d\98 ì\82¬ì\9a©í\95  ì\88\98 ì\9e\88ë\8a\94 ëª¨ë\93  ê¸°ë¡\9dì\9d´ í\91\9cì\8b\9cë\90©ë\8b\88ë\8b¤.\n기ë¡\9d ì¢\85ë¥\98ë\82\98 ì\82¬ì\9a©ì\9e\90 ì\9d´ë¦\84\8c\80ì\86\8c문ì\9e\90 êµ¬ë³\84) ë\98\90ë\8a\94 ì\98\81í\96¥ì\9d\84 ë°\9bë\8a\94 ë¬¸ì\84\9c\8c\80ì\86\8c문ì\9e\90 êµ¬ë³\84)를 ì\84 í\83\9dí\95\98ì\97¬ 범위를 좁혀서 살펴볼 수 있습니다.",
        "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": "되돌리기 링크를 사용하여 이전 편집으로 되돌린 편집",
+       "tag-mw-rollback-description": "되돌리기 링크를 사용하여 이전 편집으로 전부 되돌린 편집",
        "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|가져왔습니다}}",
        "duration-centuries": "$1{{PLURAL:$1|세기}}",
        "duration-millennia": "$1{{PLURAL:$1|천년}}",
        "rotate-comment": "그림을 시계 방향으로 $1{{PLURAL:$1|도}}로 회전함",
-       "limitreport-title": "파서 프로파일링 데이터:",
+       "limitreport-title": "구문 분석 프로파일링 데이터:",
        "limitreport-cputime": "CPU 시간 사용",
        "limitreport-cputime-value": "$1{{PLURAL:$1|초}}",
        "limitreport-walltime": "실제 시간 사용",
        "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": "이 특수 문서는 글의 모든 틀을 끝까지 풀어 줍니다.\n<code><nowiki>{{</nowiki>#language:…}}</code> 같은 파서 함수나\n<code><nowiki>{{</nowiki>CURRENTDAY}}</code> 같은 변수를 풀어줍니다.\n사실 두 개의 중괄호 사이에 있는 것은 거의 모두 풀어줍니다.",
index a14ba82..cff4683 100644 (file)
        "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:",
        "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",
        "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-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.",
        "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",
        "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:",
        "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",
        "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",
        "emailuser-title-target": "E-mail {{GENDER:$1|deze gebroeker}}",
        "emailuser-title-notarget": "E-mail gebroeker",
-       "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.",
+       "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...",
        "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": "Zuug $1 veur al verangeringe saer dien lèste bezeuk.",
-       "enotif_lastdiff": "Zuug $1 om deze wieziging te zeen.",
+       "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:",
        "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": "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",
        "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 bba3f1e..fad7b03 100644 (file)
        "thu": "پأن شأمە",
        "fri": "جومە",
        "sat": "شأمە",
-       "january": "جانۋیٱ",
-       "february": "فۋریٱ",
+       "january": "جانڤیٱ",
+       "february": "فڤریٱ",
        "march": "مارس",
-       "april": "آۋریل",
+       "april": "آڤریل",
        "may_long": "ماٛی",
        "june": "جۊٱن",
        "july": "جوٙلای",
        "august": "آگوست",
        "september": "سپتامر",
        "october": "اوکتوبر",
-       "november": "نوۋامر",
+       "november": "نوڤامر",
        "december": "داٛسامر",
        "january-gen": "جانڤیە",
        "february-gen": "فۋریٱ",
@@ -99,8 +99,8 @@
        "october-gen": "ئوکتوبر",
        "november-gen": "نوڤامر",
        "december-gen": "دئسامر",
-       "jan": "جانۋیٱ",
-       "feb": "فۋریٱ",
+       "jan": "جانڤیٱ",
+       "feb": "فڤریٱ",
        "mar": "مارس",
        "apr": "آۋریل",
        "may": "ماٛی",
        "print": "چاپ گئرئتئن",
        "view": "دیاٛن",
        "view-foreign": "د $1 نه بوینیت",
-       "edit": "ۋیرایشت",
+       "edit": "ڤیرایشت",
        "edit-local": "توضی ڤولات نئشینی نە ڤیرایئشت بأکیت",
        "create": "راس كئردئن",
        "create-local": "بئ گئل توضی ڤولات نئشینی ئضاف بأکیت",
        "portal": "درآسۊنٱ کومولٱیکی",
        "portal-url": "پوروجٱ:درآسۊنٱ کومولٱیکی",
        "privacy": "پۊلتیک رازینٱداری",
-       "privacypage": "پوروجٱ: راگوۋاری رازینٱ کاری کردن",
+       "privacypage": "پوروجٱ: راگوڤاری رازینٱ کاری کردن",
        "badaccess": "خأطا صئلا دأئن",
        "badaccess-group0": "شوما صئلا أنجوم دأئن کاری نە کئ میهایت ناریت.",
        "badaccess-groups": "ئی کاری کئ شوما هاستیتە سی کاریاریایی کئ هان د {{PLURAL:$2|جأرغە|یئ گئل د جأرغە یا}}: $1 کأم بییە.",
        "newmessageslinkplural": "{{PLURAL:$1|یئ گئل پئیغوم تازە|999=پئیغومیا تازە}}",
        "newmessagesdifflinkplural": "آخئر {{PLURAL:$1|آلئشت|آلئشتیا}}",
        "youhavenewmessagesmulti": "شوما یئ گئل پئیغوم تازە د $1 داریت",
-       "editsection": "ۋیرایشت",
+       "editsection": "ڤیرایشت",
        "editold": "ڤیرایئشت",
        "viewsourceold": "سئیل د سأرچئشمە بأکیت",
-       "editlink": "ۋیرایشت",
+       "editlink": "ڤیرایشت",
        "viewsourcelink": "ساٛیل د سرچشمٱ بٱکیت",
-       "editsectionhint": "ۋیرایشت یاٛ گاٛل بٱرجا:$1",
+       "editsectionhint": "ڤیرایشت یاٛ گاٛل بٱرجا:$1",
        "toc": "مینۊنٱیا",
        "showtoc": "نئشوٙ دأئن",
        "hidetoc": "قام کئردئن",
        "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": "اتم",
        "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": "اٛمایٱ کردن بلگٱ",
        "preview": "پيش سئيل",
        "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أر میھایت ئی بألگە نئ بأسازیت یا ڤیرایئشت کاری بأکیت یئ گئل ڤارئسی أنجوم بئیتوٙ.",
        "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 رواتيا یا بوتيا",
        "minimum-size": "انازه کمترونه",
        "maximum-size": "انازه بیشترونه",
        "pagesize": "(بایتیا)",
-       "restriction-edit": "Ú¤Û\8cراÛ\8cئشت",
+       "restriction-edit": "ڤیرایشت",
        "restriction-move": "جاوه جا بوئيت",
        "restriction-create": "راس كردن",
        "restriction-upload": "سوار کرد",
        "tooltip-ca-nstab-main": "دياٛن مینۊنٱ بلگٱ",
        "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 دماتر)",
index ff1c0d7..266162e 100644 (file)
@@ -21,6 +21,7 @@
        "tog-hideminor": "Од полавтоматнесэ кекшемс вишинькине витевкстнэнь",
        "tog-hidepatrolled": "Кекшемс лувонь кирдиень витнеметнень-петнематнень чыяконь полавтнематнестэ",
        "tog-newpageshidepatrolled": "Кекшемс лувонь кирдиень ванстома лопатнень од лопань керьксэнть эйстэ",
+       "tog-hidecategorization": "Кекшемс лопатнень категориява явоманть",
        "tog-extendwatchlist": "Келейгавтомс сёрмадовкс мельга ваномань керьксэнть невтевест весе полавтнематне, аволь ансяк чиеньсетне.",
        "tog-usenewrc": "Пурнамс лиякстомтомат лопань коряс куронь-куронь чиень полавтнематнестэ-ванома лемрисьметнестэ",
        "tog-numberheadings": "Сёрмадовксконяксос кадык сынсь ловома валтнэ путовить",
@@ -49,6 +50,7 @@
        "tog-watchlisthideliu": "Кекшемс совазь теицянь витнематнень-петнематнень, иляст неяво ванома лемрисьмесэ",
        "tog-watchlisthideanons": "Кекшемс апак сова теицянь витнематнень-петнематнень, иляст неяво ванома лемрисьмесэ",
        "tog-watchlisthidepatrolled": "Кекшемс лувонь кирдиень витнематнень-петнематнень ванома лемрисьменть эйстэ",
+       "tog-watchlisthidecategorization": "Кекшемс лопатнень категориява явоманть",
        "tog-ccmeonemails": "Кучт монень копия е-сёрматнеде, конатнень кучан лия теицянень",
        "tog-diffonly": "Иляк невтне лопапотмоксонть diffs ало",
        "tog-showhiddencats": "Невтемс кекшень категориятнень",
        "go": "Адя",
        "searcharticle": "Адя",
        "history": "Лопань полавтнемат - витнемат",
-       "history_short": "Путовксонзо-йуронзо",
+       "history_short": "Путовксонзо-юронзо",
+       "history_small": "путовксонзо-юронзо",
        "updatedmarker": "меельседе сакшномадот мейле полавтовсь",
        "printableversion": "Ливтевиця версия",
        "permalink": "Свалшкас сюлмавомапе",
        "yourname": "Теицянь лем:",
        "userlogin-yourname": "Совамовал",
        "userlogin-yourname-ph": "Совавтык совамовалот",
+       "createacct-another-username-ph": "Совавтык совамовалот",
        "yourpassword": "Салава валот:",
        "userlogin-yourpassword": "салававал",
        "userlogin-yourpassword-ph": "Совавтык салававалот",
        "createacct-yourpasswordagain-ph": "Совавтык салававалонть одов",
        "userlogin-remembermypassword": "Кирдемизь совавтозекс",
        "userlogin-signwithsecure": "Нолдак тевс ванстозь сюлмавкс",
+       "cannotcreateaccount-title": "Совамо таркат а шкавить-теевить",
        "yourdomainname": "Эсеть доменэть:",
        "password-change-forbidden": "Те викисэнть а полавтсак салававалот.",
        "login": "Совамо",
        "createaccount": "Теемс теицянь од лопа",
        "userlogin-resetpassword-link": "Салававалот стувтовсь?",
        "userlogin-createanother": "Шкак од совамотарка",
+       "createacct-emailrequired": "Е-сёрма парго",
+       "createacct-emailoptional": "Е-сёрмапарго (мелень коряс)",
+       "createacct-email-ph": "Совавтык е-сёрмапаргот",
+       "createacct-another-email-ph": "Совавтт е-сёрмапарго",
        "createaccountmail": "Тейть кодамо понгсь салававал, кучик сонзэ ало максозь е-сёрмапаргонтень",
+       "createacct-realname": "Алкуксонь леметь (мелень коряс)",
        "createacct-reason": "Тувтал",
+       "createacct-reason-ph": "Мекс шкат-теят лия совамо тарка",
        "createacct-submit": "Шкик совамотаркат",
        "createacct-another-submit": "Шкамс совамотарка",
+       "createacct-continue-submit": "Поладомс совамо таркань шкамонть-тееманть",
+       "createacct-another-continue-submit": "Поладомс совамо таркань шкамонть-тееманть",
        "createacct-benefit-heading": "«{{SITENAME}}» сайтэнть теизь тонь кондямо ломанть.",
        "createacct-benefit-body1": "{{PLURAL:$1|витнема-петнема|витнемат-петнемат}}",
        "createacct-benefit-body2": "{{PLURAL:$1|лопа|лопат}}",
+       "createacct-benefit-body3": "меельце шкань {{PLURAL:$1|путовксонь теиця|путовксонь теицят}}",
        "badretype": "Сёрмадыть салава валот кавксть: сынь аволь вейкеть.",
        "userexists": "Те лемесь уш саезь.\nАрсека эстеть лия, инеськеть.",
        "loginerror": "Совамсто ильведькс",
+       "createacct-error": "Совамо таркань шкамосо-теемасо ильведевкс",
        "createaccounterror": "Совамо тарка эзь теевть: $1",
        "nocookiesnew": "Совамо таркась шкавсь, ансяк зярс эзить сова.\n {{SITENAME}} сайтэв совават cookies функция вельде.\nАрсемашинасот cookies функциятне тевс апак нолда.\nВасня нолдытя функциятнень тевс, мейле совак: сёрмадыть од совамо леметь ды салава валот.",
+       "nocookieslogin": "{{SITENAME}} лопасо теицятнень содавтомга «нумолонь кшинеть» функциясь эряви. Ней содымашинасот «нумолонь кшинеть» функциясь апак нолда. Инескеть нолдытя тевс «нумолонь кшинеть» функциянть, мейле одов совак.",
        "noname": "Зярс эзить максо кемекстазь теицянь лем.",
        "loginsuccesstitle": "Совавить",
        "loginsuccess": "'''Тон совить {{SITENAME}}-с кода \"$1\".'''",
        "acct_creation_throttle_hit": "Те викисэ тонь IP адресстэть совасть теицят, конат тейсть {{PLURAL:$1|1 совамо тарка|$1 совамо таркат}} меельце чинть перть, седе ламо полавтомат а мерить теемс истянь зняронь шкань перть.\nТень кисэ, те   IP адресэнть коряс седе тов а маштови теемс-шкамс од совамо таркат, зярс.",
        "emailauthenticated": "Е-сёрмапаргот кемекстазель $2 чистэ $3 цяссто.",
        "emailconfirmlink": "Кемекстык е-сёрмапаргот",
+       "emaildisabled": "Те сайтанть вельде а кучовить е-сёрмат.",
        "accountcreated": "Совамо таркась теезь",
        "accountcreatedtext": "[[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|кортнема]]) совицянь таркась теевсь-шкавсь.",
+       "createaccount-title": "{{SITENAME}} сайтас совамо таркань шкамо-теема",
        "loginlanguagelabel": "Кель: $1",
        "pt-login": "Совамс",
+       "pt-login-button": "Совамс",
+       "pt-login-continue-button": "Поладык совамонть",
        "pt-createaccount": "Шкамс совамо тарка",
        "pt-userlogout": "Лисемс",
        "user-mail-no-addy": "Терявтыть кучомс е-сёрма е-сёрмапарговтомо.",
        "newpassword": "Од совамо валот:",
        "retypenew": "Сёрмадык омбоцеде совамо валот:",
        "resetpass_submit": "Тештик совамо валот ды совак",
-       "changepassword-success": "Совамовалот полавтовсь!",
+       "changepassword-success": "Салававалот полавтозь!",
+       "botpasswords": "Ботонь салававалт",
+       "botpasswords-label-appid": "Ботонть лемезэ:",
+       "botpasswords-label-create": "Шкамс-теемс",
+       "botpasswords-label-update": "Одкстомтомс",
+       "botpasswords-label-cancel": "Саемс мекев",
+       "botpasswords-label-delete": "Нардамс",
+       "botpasswords-label-resetpassword": "Одов ладямс салававалот",
+       "botpasswords-created-title": "Ботонть салававалозо шказь-теезь",
+       "botpasswords-updated-title": "Ботонть салававалозо одкстомтозь",
+       "botpasswords-deleted-title": "Ботонть салававалозо нардазь",
        "resetpass_forbidden": "Совамо валтнэ а полавтовить",
        "resetpass-submit-loggedin": "Полавтомс совамо валот",
        "resetpass-submit-cancel": "Саемс мекев",
        "minoredit": "Те апокшкэ витнема-петнема",
        "watchthis": "Ваномс те лопанть мельга",
        "savearticle": "Ванстомс лопанть",
+       "savechanges": "Ванстомс полавтоматнень",
+       "publishpage": "Нолдамс оляс лопанть",
+       "publishchanges": "Нолдамс оляс полавтоматнень",
        "preview": "Васнянь неевтезэ",
        "showpreview": "Максомс васнянь невтевкс",
        "showdiff": "Невтемс мезе полавтовсь",
        "moveddeleted-notice": "Те лопась нардазь.\nЛопанть нардамодо сёрмадовксось максозь вана ало.",
        "log-fulllog": "Ванномс журналонть весемензэ",
        "edit-conflict": "Витнемань-петнемань аладямо.",
+       "postedit-confirmation-created": "Лопась шказь-теезь.",
+       "postedit-confirmation-restored": "Лопась вельмевтезь.",
+       "postedit-confirmation-saved": "Витнемат-петнемат ванстозь.",
+       "postedit-confirmation-published": "Витнемат-петнемат нолдазь оляс.",
        "edit-already-exists": "Од лопась кодаяк эзь тееве; сон уш ули.",
+       "defaultmessagetext": "Пачтямнень свалонь текст",
        "post-expand-template-inclusion-warning": "Ванок: Парцунлопатнеде кельгстят пек ламо.\nСовавтовомо аволь весе парцунлопатне кельгить.",
        "post-expand-template-inclusion-category": "Лопатне, конатнень лопапарцун марто покшолмаст пек ламо",
        "post-expand-template-argument-warning": "'''Ванок''': Те лопасонть ули лопапарцунонь вейке эли седе ламо аргумент, конась вельть покш. Сеть аргументтнэ нардазь.",
        "notextmatches": "Лопанть сёрмадсткэнзэ марто вейтьс прамот арасть",
        "prevn": "седе икелень {{PLURAL:$1|$1}}",
        "nextn": "сы {{PLURAL:$1|$1}}",
+       "prev-page": "икельце лопа",
+       "next-page": "седе тов лопа",
        "prevn-title": "Седе икелень $1 {{PLURAL:$1|савкс|савкст}}",
        "nextn-title": "Сыця $1 {{PLURAL:$1|савкс|савкст}}",
        "shown-title": "Невтть лопазонзо $1 {{PLURAL:$1|савкс|савкст}}",
        "search-result-category-size": "{{PLURAL:$1|1 совицязо|$1 совицянзо}} ({{PLURAL:$2|1 явкскатегориязо|$2 явкскатегориянзо}}, {{PLURAL:$3|1 файла|$3 файлат}})",
        "search-redirect": "(ютавтт $1 лопасто)",
        "search-section": "(пелькс $1)",
+       "search-category": "(категория $1)",
        "search-suggest": "Истя мерикскелить: $1",
-       "search-interwiki-caption": "Дугакс проектт",
+       "search-interwiki-caption": "Дугакс проекттнэстэ савкст",
        "search-interwiki-default": "«$1» викинть эйстэ савкст:",
        "search-interwiki-more": "(седе ламо)",
+       "search-interwiki-more-results": "седе ламо савкст",
        "search-relatedarticle": "Малавикс",
        "searchrelated": "малавикс",
        "searchall": "весе",
        "prefs-help-email-required": "Е-сёрмань адресэть эряви.",
        "prefs-signature": "Кедь путовкс",
        "prefs-dateformat": "Ков чинь форматозо",
+       "prefs-editor": "Витницязо-петницязо",
+       "prefs-preview": "Васнянь неевтезэ",
        "prefs-diffs": "Мейсэ явовить верзиятне",
        "userrights-lookup-user": "Сови куротнень ветямось",
        "userrights-user-editname": "Сёрмадт теицянь лем:",
index c9b4443..2d872aa 100644 (file)
        "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 fe4db5a..a024d7e 100644 (file)
        "expansion-depth-exceeded-warning": "A página excedeu a profundidade de expansão",
        "parser-unstrip-loop-warning": "Foi detectado um ciclo infinito unstrip",
        "unstrip-depth-warning": "Limite de recursão do 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 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.",
        "stub-threshold-disabled": "Desabilitado",
        "recentchangesdays": "Dias a apresentar nas mudanças recentes:",
        "recentchangesdays-max": "(máximo: $1 {{PLURAL:$1|dia|dias}})",
-       "recentchangescount": "Número de edições a serem exibidas por padrão:",
-       "prefs-help-recentchangescount": "Isto inclui mudanças recentes, histórico de páginas e registros.",
+       "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 senha secreta para o feed da Web com sua lista de tokens vigiados.\nQualquer pessoa que descobrir esta senha será capaz de ler sua lista, então não a compartilhe.\nSe você precisar [[Special:ResetTokens|você pode redefini-lo]].",
        "savedprefs": "As suas preferências foram salvas.",
        "savedrights": "Os grupos {{GENDER:$1|do usuário|da usuária}} $1 foram gravados.",
        "limitreport-templateargumentsize-value": "$1/$2 {{PLURAL:$2|byte|bytes}}",
        "limitreport-expansiondepth": "Máxima profundidade de expansão",
        "limitreport-expensivefunctioncount": "Contagem de funções do analisador custosas",
+       "limitreport-unstrip-depth": "Profundidade da recursividade da remoção de etiquetas",
+       "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 bd8fb47..e816f98 100644 (file)
        "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.",
index fe0e5c9..0768f32 100644 (file)
        "prefs-emailconfirm-label": "Sub-heading in [[Special:Preferences]] > {{int:prefs-personal}} > {{int:email}}.",
        "youremail": "Label of the e-mail text box of the \"E-mail options\" section of [[Special:Preferences]].\nAlso used on create account form.\n\n{{Identical|E-mail}}",
        "username": "Username field in [[Special:Preferences]]. $1 is the current user name for GENDER distinction (depends on sex setting).\n\n{{Identical|Username}}",
-       "prefs-memberingroups": "This message is shown on [[Special:Preferences]], first tab.\n\nParameters:\n* $1 - number of user groups\n* $2 - the username for GENDER\nSee also:\n* {{msg-mw|Prefs-memberingroups-type}}",
+       "prefs-memberingroups": "This message is shown on [[Special:Preferences]], first tab.\n\nParameters:\n* $1 - number of user groups\n* $2 - the username for GENDER\nSee also:\n* {{msg-mw|Prefs-memberingroups-type}} (you can place text after the list of groups here)",
        "prefs-memberingroups-type": "{{optional}}\nParameters:\n* $1 - list of group names\n* $2 - list of group member names. Label for these is {{msg-mw|Prefs-memberingroups}}",
        "group-membership-link-with-expiry": "Used as part of a list of user groups, to show the time and date when a user's membership of a group expires. That is, they are a member of that group \"until\" the specified date and time.\n\nParameters:\n* $1 - group name\n* $2 - time and date of expiry\n* $3 - date of expiry\n* $4 - time of expiry",
        "prefs-registration": "Used in [[Special:Preferences]].",
index 117ded9..d7fa604 100644 (file)
        "expansion-depth-exceeded-warning": "Stran je prekoračila globino razširitve",
        "parser-unstrip-loop-warning": "Zaznal sem odvezano zanko",
        "unstrip-depth-warning": "Presežena je omejitev odvezane rekurzije ($1)",
+       "unstrip-depth-category": "Strani, kjer je omejitev globine rekurzije unstrip presežena",
+       "unstrip-size-warning": "Omejitev velikosti unstrip presežena ($1)",
+       "unstrip-size-category": "Strani, kjer je omejitev velikosti unstrip presežena",
        "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.",
        "stub-threshold-disabled": "Onemogočeno",
        "recentchangesdays": "Število dni, prikazanih v zadnjih spremembah:",
        "recentchangesdays-max": "Največ $1 {{PLURAL:$1|dan|dneva|dnevi|dni}}",
-       "recentchangescount": "Privzeto število prikazanih urejanj:",
-       "prefs-help-recentchangescount": "Vključuje zadnje spremembe, zgodovine strani in dnevniške zapise.",
+       "recentchangescount": "Število urejanj v zadnjih spremembah, zgodovinah strani in dnevnikih, privzeto:",
+       "prefs-help-recentchangescount": "Največje število: 1000",
        "prefs-help-watchlist-token2": "To je skrivni ključ do spletnega vira vašega spiska nadzorov.\nKdor ve zanj, lahko bere vaš spisek nadzorov, zato ključa ne delite.\nČe želite, [[Special:ResetTokens|ga lahko ponastavite]].",
        "savedprefs": "Spremembe smo uspešno shranili.",
        "savedrights": "Uporabniške skupine {{GENDER:$1|$1}} smo shranili.",
        "limitreport-templateargumentsize-value": "$1/$2 {{PLURAL:$2|zlog|zloga|zloge|zlogov}}",
        "limitreport-expansiondepth": "Največja globina razširitve",
        "limitreport-expensivefunctioncount": "Število dragih funkcij razčlenjevalnika",
+       "limitreport-unstrip-depth": "Globina rekurzije unstrip",
+       "limitreport-unstrip-size": "Velikost po razširitvi unstrip",
+       "limitreport-unstrip-size-value": "$1/$2 {{PLURAL:$2|bajt|bajta|bajti|bajtov}}",
        "expandtemplates": "Razširi predloge",
        "expand_templates_intro": "Ta posebna stran predela vneseno wikibesedilo tako, da klice predlog v njem zamenja z njihovo vsebino.\nPrav tako razreši izraze kot\n<code><nowiki>{{</nowiki>#language:…}}</code> in spremenljivke kot\n<code><nowiki>{{</nowiki>CURRENTDAY}}</code>.\nPravzaprav razširi skoraj vse v dvojnih zavitih oklepajih.",
        "expand_templates_title": "Naslov sobesedila, za {{FULLPAGENAME}} ipd.:",
index d35933e..99a192d 100644 (file)
        "recentchangesdays": "Antal dygn som skall visas i \"senaste ändringarna\":",
        "recentchangesdays-max": "Maximalt $1 {{PLURAL:$1|dygn}}",
        "recentchangescount": "Antal redigeringar som visas som standard:",
-       "prefs-help-recentchangescount": "Detta inkluderar senaste ändringarna, sidhistorik och loggar.",
+       "prefs-help-recentchangescount": "Maximalt antal: 1 000",
        "prefs-help-watchlist-token2": "Detta är den hemliga nyckeln till webbflödet i din bevakningslista.\nNågon som vet den kommer att kunna läsa din bevakningslista, så dela inte ut den.\nOm du behöver [[Special:ResetTokens|kan du återställa den]].",
        "savedprefs": "Dina inställningar har sparats",
        "savedrights": "Användargrupperna för {{GENDER:$1|$1}} har sparats.",
        "limitreport-templateargumentsize-value": "$1/$2 {{PLURAL:$2|byte}}",
        "limitreport-expansiondepth": "Största expansionsdjup",
        "limitreport-expensivefunctioncount": "Antal resurskrävande parserfunktioner",
+       "limitreport-unstrip-size-value": "$1/$2 {{PLURAL:$2|byte}}",
        "expandtemplates": "Expandera mallar",
        "expand_templates_intro": "Den här specialsidan tar wikitext och expanderar rekursivt alla mallar som används.\nÄven parserfunktioner som\n<code><nowiki>{{</nowiki>#language:...}}</code> och variabler som\n<code><nowiki>{{</nowiki>CURRENTDAY}}</code>.\nI stort sett allting inom dubbla klammerparenteser expanderas.",
        "expand_templates_title": "Sidans titel, används för t.ex. {{FULLPAGENAME}}:",
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 cc9e535..49577a5 100644 (file)
        "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 84ca25e..5503a3a 100644 (file)
        "error": "ⵜⴰⵣⴳⵍⵜ",
        "databaseerror-error": "ⵜⴰⵣⴳⵍⵜ: $1",
        "viewsource": "ⵙⴽⵏ ⴰⵙⴰⴳⵎ",
+       "viewsource-title": "ⵥⵕ ⴰⵖⴱⴰⵍⵓ ⵉ $1",
        "userlogin-yourname": "ⵉⵙⵎ ⵏ ⵓⵙⵎⵔⴰⵙ",
        "userlogin-yourname-ph": "ⵙⵙⴽⵛⵎ ⵉⵙⵎ ⵏ ⵓⵏⵙⵙⵎⵔⵙ ⵏⵏⵎ/ⴽ",
        "yourpassword": "ⵜⴰⴳⵓⵔⵉ ⵏ ⵓⵣⵔⴰⵢ",
        "createacct-yourpassword-ph": "ⵙⵙⴽⵛⵎ ⴽⵔⴰ ⵏ ⵜⴳⵓⵔⵉ ⵏ ⵓⵣⴰⵔⵢ",
        "createacct-yourpasswordagain": "ⵙⵙⵍⴽⵏ ⵜⴰⴳⵓⵔⵉ ⵏ ⵓⵣⵔⴰⵢ",
        "createacct-yourpasswordagain-ph": "ⵙⵙⴽⵛⵎ ⴷⴰⵖ ⵜⴰⴳⵓⵔⵉ ⵏ ⵓⵣⵔⴰⵢ",
+       "userlogin-remembermypassword": "ⴰⴷⵊ ⵉⵢⵉ ⴽⵛⵎⵖ",
        "login": "ⴽⵛⵎ",
        "login-security": "ⵙⵙⵉⴷⴻⴷ ⵜⴰⵎⴰⴳⵉⵜ ⵏⵏⴽ",
        "logout": "ⴼⴼⵖ",
        "cur": "ⵎⵔⵏ",
        "histfirst": "ⴰⵇⴱⵓⵔ",
        "histlast": "ⴰⵎⴰⵢⵏⵓ",
+       "history-feed-item-nocomment": "$1 ⵖⵔ $2",
        "revdelete-show-file-submit": "ⵢⴰⵀ",
        "revdelete-log": "ⵜⴰⵎⵏⵜⵉⵍⵜ:",
        "mergehistory-reason": "ⵜⴰⵎⵏⵜⵉⵍⵜ:",
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';
diff --git a/maintenance/resources/update-oojs-ui.sh b/maintenance/resources/update-oojs-ui.sh
deleted file mode 100755 (executable)
index d1e6496..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-#!/bin/bash -eu
-
-# This script generates a commit that updates our copy of OOUI
-
-if [ -n "${2:-}" ]
-then
-       # Too many parameters
-       echo >&2 "Usage: $0 [<version>]"
-       exit 1
-fi
-
-REPO_DIR=$(cd "$(dirname $0)/../.."; pwd) # Root dir of the git repo working tree
-TARGET_DIR="resources/lib/oojs-ui" # Destination relative to the root of the repo
-NPM_DIR=$(mktemp -d 2>/dev/null || mktemp -d -t 'update-oojs-ui') # e.g. /tmp/update-oojs-ui.rI0I5Vir
-
-# Prepare working tree
-cd "$REPO_DIR"
-git reset composer.json
-git checkout composer.json
-git reset -- $TARGET_DIR
-git checkout -- $TARGET_DIR
-git fetch origin
-git checkout -B upstream-ooui origin/master
-
-# Fetch upstream version
-cd $NPM_DIR
-if [ -n "${1:-}" ]
-then
-       npm install "oojs-ui@$1"
-else
-       npm install oojs-ui
-fi
-
-OOUI_VERSION=$(node -e 'console.log(require("./node_modules/oojs-ui/package.json").version);')
-if [ "$OOUI_VERSION" == "" ]
-then
-       echo 'Could not find OOUI version'
-       exit 1
-fi
-
-# Copy files, picking the necessary ones from source and distribution
-rm -r "$REPO_DIR/$TARGET_DIR"
-mkdir -p "$REPO_DIR/$TARGET_DIR/i18n"
-mkdir -p "$REPO_DIR/$TARGET_DIR/images"
-mkdir -p "$REPO_DIR/$TARGET_DIR/themes/wikimediaui/images"
-mkdir -p "$REPO_DIR/$TARGET_DIR/themes/apex/images"
-cp ./node_modules/oojs-ui/dist/oojs-ui-core.js{,.map} "$REPO_DIR/$TARGET_DIR"
-cp ./node_modules/oojs-ui/dist/oojs-ui-core-{wikimediaui,apex}.css "$REPO_DIR/$TARGET_DIR"
-cp ./node_modules/oojs-ui/dist/oojs-ui-widgets.js{,.map} "$REPO_DIR/$TARGET_DIR"
-cp ./node_modules/oojs-ui/dist/oojs-ui-widgets-{wikimediaui,apex}.css "$REPO_DIR/$TARGET_DIR"
-cp ./node_modules/oojs-ui/dist/oojs-ui-toolbars.js{,.map} "$REPO_DIR/$TARGET_DIR"
-cp ./node_modules/oojs-ui/dist/oojs-ui-toolbars-{wikimediaui,apex}.css "$REPO_DIR/$TARGET_DIR"
-cp ./node_modules/oojs-ui/dist/oojs-ui-windows.js{,.map} "$REPO_DIR/$TARGET_DIR"
-cp ./node_modules/oojs-ui/dist/oojs-ui-windows-{wikimediaui,apex}.css "$REPO_DIR/$TARGET_DIR"
-cp ./node_modules/oojs-ui/dist/oojs-ui-{wikimediaui,apex}.js{,.map} "$REPO_DIR/$TARGET_DIR"
-cp -R ./node_modules/oojs-ui/dist/i18n "$REPO_DIR/$TARGET_DIR"
-cp -R ./node_modules/oojs-ui/dist/images "$REPO_DIR/$TARGET_DIR"
-cp -R ./node_modules/oojs-ui/dist/themes/wikimediaui/images "$REPO_DIR/$TARGET_DIR/themes/wikimediaui"
-cp ./node_modules/oojs-ui/src/themes/wikimediaui/*.json "$REPO_DIR/$TARGET_DIR/themes/wikimediaui"
-cp -R ./node_modules/oojs-ui/dist/themes/apex/images "$REPO_DIR/$TARGET_DIR/themes/apex"
-cp ./node_modules/oojs-ui/src/themes/apex/*.json "$REPO_DIR/$TARGET_DIR/themes/apex"
-cp ./node_modules/oojs-ui/dist/wikimedia-ui-base.less "$REPO_DIR/$TARGET_DIR"
-
-# Clean up temporary area
-rm -rf "$NPM_DIR"
-
-# Generate commit
-cd $REPO_DIR
-
-COMMITMSG=$(cat <<END
-Update OOUI to v$OOUI_VERSION
-
-Release notes:
- https://phabricator.wikimedia.org/diffusion/GOJU/browse/master/History.md;v$OOUI_VERSION
-END
-)
-
-# Update composer.json as well
-composer require oojs/oojs-ui $OOUI_VERSION --no-update
-
-# Stage deletion, modification and creation of files. Then commit.
-git add --update $TARGET_DIR
-git add $TARGET_DIR
-git add composer.json
-git commit -m "$COMMITMSG"
diff --git a/maintenance/resources/update-ooui.sh b/maintenance/resources/update-ooui.sh
new file mode 100755 (executable)
index 0000000..502b01d
--- /dev/null
@@ -0,0 +1,108 @@
+#!/bin/bash -eu
+
+# This script generates a commit that updates our copy of OOUI
+
+if [ -n "${2:-}" ]
+then
+       # Too many parameters
+       echo >&2 "Usage: $0 [<version>]"
+       exit 1
+fi
+
+REPO_DIR=$(cd "$(dirname $0)/../.."; pwd) # Root dir of the git repo working tree
+TARGET_DIR="resources/lib/oojs-ui" # Destination relative to the root of the repo
+NPM_DIR=$(mktemp -d 2>/dev/null || mktemp -d -t 'update-oojs-ui') # e.g. /tmp/update-oojs-ui.rI0I5Vir
+
+# Prepare working tree
+cd "$REPO_DIR"
+git reset composer.json
+git checkout composer.json
+git reset -- $TARGET_DIR
+git checkout -- $TARGET_DIR
+git fetch origin
+git checkout -B upstream-ooui origin/master
+
+# Fetch upstream version
+cd $NPM_DIR
+if [ -n "${1:-}" ]
+then
+       npm install "oojs-ui@$1"
+else
+       npm install oojs-ui
+fi
+
+OOUI_VERSION=$(node -e 'console.log(require("./node_modules/oojs-ui/package.json").version);')
+if [ "$OOUI_VERSION" == "" ]
+then
+       echo 'Could not find OOUI version'
+       exit 1
+fi
+
+# Copy files, picking the necessary ones from source and distribution
+rm -r "$REPO_DIR/$TARGET_DIR"
+
+# Core and thematic code and styling
+mkdir -p "$REPO_DIR/$TARGET_DIR"
+cp ./node_modules/oojs-ui/dist/oojs-ui-core.js{,.map} "$REPO_DIR/$TARGET_DIR"
+cp ./node_modules/oojs-ui/dist/oojs-ui-core-{wikimediaui,apex}.css "$REPO_DIR/$TARGET_DIR"
+cp ./node_modules/oojs-ui/dist/oojs-ui-widgets.js{,.map} "$REPO_DIR/$TARGET_DIR"
+cp ./node_modules/oojs-ui/dist/oojs-ui-widgets-{wikimediaui,apex}.css "$REPO_DIR/$TARGET_DIR"
+cp ./node_modules/oojs-ui/dist/oojs-ui-toolbars.js{,.map} "$REPO_DIR/$TARGET_DIR"
+cp ./node_modules/oojs-ui/dist/oojs-ui-toolbars-{wikimediaui,apex}.css "$REPO_DIR/$TARGET_DIR"
+cp ./node_modules/oojs-ui/dist/oojs-ui-windows.js{,.map} "$REPO_DIR/$TARGET_DIR"
+cp ./node_modules/oojs-ui/dist/oojs-ui-windows-{wikimediaui,apex}.css "$REPO_DIR/$TARGET_DIR"
+cp ./node_modules/oojs-ui/dist/oojs-ui-{wikimediaui,apex}.js{,.map} "$REPO_DIR/$TARGET_DIR"
+
+# i18n
+mkdir -p "$REPO_DIR/$TARGET_DIR/i18n"
+cp -R ./node_modules/oojs-ui/dist/i18n "$REPO_DIR/$TARGET_DIR"
+
+# Core images (currently two .cur files)
+mkdir -p "$REPO_DIR/$TARGET_DIR/images"
+cp -R ./node_modules/oojs-ui/dist/images "$REPO_DIR/$TARGET_DIR"
+
+# WikimediaUI theme icons, indicators, and textures
+mkdir -p "$REPO_DIR/$TARGET_DIR/themes/wikimediaui/images/icons"
+cp ./node_modules/oojs-ui/dist/themes/wikimediaui/images/icons/*.{svg,png} "$REPO_DIR/$TARGET_DIR/themes/wikimediaui/images/icons"
+mkdir -p "$REPO_DIR/$TARGET_DIR/themes/wikimediaui/images/indicators"
+cp ./node_modules/oojs-ui/dist/themes/wikimediaui/images/indicators/*.{svg,png} "$REPO_DIR/$TARGET_DIR/themes/wikimediaui/images/indicators"
+mkdir -p "$REPO_DIR/$TARGET_DIR/themes/wikimediaui/images/textures"
+cp ./node_modules/oojs-ui/dist/themes/wikimediaui/images/textures/*.{gif,svg} "$REPO_DIR/$TARGET_DIR/themes/wikimediaui/images/textures"
+
+cp ./node_modules/oojs-ui/src/themes/wikimediaui/*.json "$REPO_DIR/$TARGET_DIR/themes/wikimediaui"
+
+# Apex theme icons, indicators, and textures
+mkdir -p "$REPO_DIR/$TARGET_DIR/themes/apex/images/icons"
+cp ./node_modules/oojs-ui/dist/themes/apex/images/icons/*.{svg,png} "$REPO_DIR/$TARGET_DIR/themes/apex/images/icons"
+mkdir -p "$REPO_DIR/$TARGET_DIR/themes/apex/images/indicators"
+cp ./node_modules/oojs-ui/dist/themes/apex/images/indicators/*.{svg,png} "$REPO_DIR/$TARGET_DIR/themes/apex/images/indicators"
+mkdir -p "$REPO_DIR/$TARGET_DIR/themes/apex/images/textures"
+cp ./node_modules/oojs-ui/dist/themes/apex/images/textures/*.{gif,svg} "$REPO_DIR/$TARGET_DIR/themes/apex/images/textures"
+
+cp ./node_modules/oojs-ui/src/themes/apex/*.json "$REPO_DIR/$TARGET_DIR/themes/apex"
+
+# WikimediaUI LESS variables for sharing
+cp ./node_modules/oojs-ui/dist/wikimedia-ui-base.less "$REPO_DIR/$TARGET_DIR"
+
+# Clean up temporary area
+rm -rf "$NPM_DIR"
+
+# Generate commit
+cd $REPO_DIR
+
+COMMITMSG=$(cat <<END
+Update OOUI to v$OOUI_VERSION
+
+Release notes:
+ https://phabricator.wikimedia.org/diffusion/GOJU/browse/master/History.md;v$OOUI_VERSION
+END
+)
+
+# Update composer.json as well
+composer require oojs/oojs-ui $OOUI_VERSION --no-update
+
+# Stage deletion, modification and creation of files. Then commit.
+git add --update $TARGET_DIR
+git add $TARGET_DIR
+git add composer.json
+git commit -m "$COMMITMSG"
index d633a9c..990ba3d 100644 (file)
@@ -1835,7 +1835,7 @@ CREATE TABLE /*_*/change_tag (
   ct_rev_id int unsigned NULL,
   -- Tag applied
   ct_tag varchar(255) NOT NULL,
-  -- Parameters for the tag, presently unused
+  -- Parameters for the tag; used by some extensions
   ct_params blob NULL
 ) /*$wgDBTableOptions*/;
 
index 19b51eb..e46c758 100644 (file)
@@ -308,21 +308,6 @@ a.new {
        color: #ba0000;
 }
 
-/* self links */
-a.mw-selflink {
-       color: inherit;
-       font-weight: bold;
-       text-decoration: inherit;
-}
-a.mw-selflink:hover {
-       cursor: inherit;
-       text-decoration: inherit;
-}
-a.mw-selflink:active,
-a.mw-selflink:visited {
-       color: inherit;
-}
-
 /* Plainlinks - this can be used to switch
  * off special external link styling */
 .plainlinks a.external {
index 19f3553..4544692 100644 (file)
@@ -49,6 +49,21 @@ a.new,
        color: #ba0000;
 }
 
+/* self links */
+a.mw-selflink {
+       color: inherit;
+       font-weight: bold;
+       text-decoration: inherit;
+}
+a.mw-selflink:hover {
+       cursor: inherit;
+       text-decoration: inherit;
+}
+a.mw-selflink:active,
+a.mw-selflink:visited {
+       color: inherit;
+}
+
 a.new:visited,
 #p-personal a.new:visited {
        color: #a55858;
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/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..bf3689b 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 +35,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 );
        }
@@ -477,26 +397,6 @@ class DatabaseMysqlBaseTest extends PHPUnit\Framework\TestCase {
                ];
        }
 
-       /**
-        * @expectedException UnexpectedValueException
-        * @covers Wikimedia\Rdbms\Database::setFlag
-        */
-       public function testDBOIgnoreSet() {
-               $db = new FakeDatabaseMysqlBase();
-
-               $db->setFlag( Database::DBO_IGNORE );
-       }
-
-       /**
-        * @expectedException UnexpectedValueException
-        * @covers Wikimedia\Rdbms\Database::clearFlag
-        */
-       public function testDBOIgnoreClear() {
-               $db = new FakeDatabaseMysqlBase();
-
-               $db->clearFlag( Database::DBO_IGNORE );
-       }
-
        /**
         * @covers Wikimedia\Rdbms\MySQLMasterPos
         */
@@ -604,4 +504,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 );
+       }
+
+}
index 542470d..6adbc75 100644 (file)
@@ -1,6 +1,8 @@
 <?php
 
 use Wikimedia\Rdbms\IDatabase;
+use Wikimedia\Rdbms\Database;
+use Wikimedia\Rdbms\DatabaseMysqli;
 use Wikimedia\Rdbms\LBFactorySingle;
 use Wikimedia\Rdbms\TransactionProfiler;
 use Wikimedia\TestingAccessWrapper;
@@ -469,6 +471,32 @@ class DatabaseTest extends PHPUnit\Framework\TestCase {
                $this->assertEquals( $origTrx, $db->getFlag( DBO_TRX ) );
        }
 
+       /**
+        * @expectedException UnexpectedValueException
+        * @covers Wikimedia\Rdbms\Database::setFlag
+        */
+       public function testDBOIgnoreSet() {
+               $db = $this->getMockBuilder( DatabaseMysqli::class )
+                       ->disableOriginalConstructor()
+                       ->setMethods( null )
+                       ->getMock();
+
+               $db->setFlag( Database::DBO_IGNORE );
+       }
+
+       /**
+        * @expectedException UnexpectedValueException
+        * @covers Wikimedia\Rdbms\Database::clearFlag
+        */
+       public function testDBOIgnoreClear() {
+               $db = $this->getMockBuilder( DatabaseMysqli::class )
+                       ->disableOriginalConstructor()
+                       ->setMethods( null )
+                       ->getMock();
+
+               $db->clearFlag( Database::DBO_IGNORE );
+       }
+
        /**
         * @covers Wikimedia\Rdbms\Database::tablePrefix
         * @covers Wikimedia\Rdbms\Database::dbSchema