Merge "Special:RC filter: userExpLevel"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Thu, 22 Dec 2016 12:41:45 +0000 (12:41 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Thu, 22 Dec 2016 12:41:45 +0000 (12:41 +0000)
53 files changed:
RELEASE-NOTES-1.29
autoload.php
includes/Block.php
includes/Title.php
includes/api/i18n/ar.json
includes/api/i18n/de.json
includes/api/i18n/es.json
includes/api/i18n/fr.json
includes/api/i18n/gl.json
includes/api/i18n/it.json
includes/api/i18n/ko.json
includes/api/i18n/lb.json
includes/api/i18n/pt.json
includes/api/i18n/qqq.json
includes/api/i18n/ru.json
includes/api/i18n/sv.json
includes/api/i18n/uk.json
includes/exception/MWExceptionHandler.php
includes/filerepo/FSRepo.php [deleted file]
includes/filerepo/FileRepo.php
includes/filerepo/file/File.php
includes/filerepo/file/LocalFile.php
includes/installer/i18n/es.json
includes/installer/i18n/fa.json
includes/installer/i18n/tt-cyrl.json
includes/parser/CoreParserFunctions.php
includes/skins/SkinTemplate.php
includes/upload/UploadFromChunks.php
languages/LanguageConverter.php
languages/i18n/be-tarask.json
languages/i18n/bqi.json
languages/i18n/ce.json
languages/i18n/cs.json
languages/i18n/diq.json
languages/i18n/en.json
languages/i18n/eo.json
languages/i18n/es.json
languages/i18n/et.json
languages/i18n/fr.json
languages/i18n/gl.json
languages/i18n/hi.json
languages/i18n/lij.json
languages/i18n/or.json
languages/i18n/pt-br.json
languages/i18n/pt.json
languages/i18n/qqq.json
languages/i18n/sah.json
languages/i18n/udm.json
languages/i18n/uk.json
tests/parser/parserTests.txt
tests/phpunit/includes/filerepo/StoreBatchTest.php
tests/phpunit/includes/media/MediaWikiMediaTestCase.php
tests/phpunit/includes/user/UserTest.php

index a205f01..43f21ef 100644 (file)
@@ -136,6 +136,7 @@ changes to languages because of Phabricator reports.
 * User::getPassword() (deprecated in 1.27) was removed.
 * User::getTemporaryPassword() (deprecated in 1.27) was removed.
 * User::isPasswordReminderThrottled() (deprecated in 1.27) was removed.
+* FSRepo (deprecated in 1.19) was removed.
 
 == Compatibility ==
 
index d85b679..38bf7cd 100644 (file)
@@ -447,7 +447,6 @@ $wgAutoloadLocalClasses = [
        'FSFileBackendList' => __DIR__ . '/includes/libs/filebackend/FSFileBackend.php',
        'FSFileOpHandle' => __DIR__ . '/includes/libs/filebackend/FSFileBackend.php',
        'FSLockManager' => __DIR__ . '/includes/libs/lockmanager/FSLockManager.php',
-       'FSRepo' => __DIR__ . '/includes/filerepo/FSRepo.php',
        'FakeAuthTemplate' => __DIR__ . '/includes/specialpage/LoginSignupSpecialPage.php',
        'FakeConverter' => __DIR__ . '/languages/FakeConverter.php',
        'FakeMaintenance' => __DIR__ . '/maintenance/Maintenance.php',
index 792bcd9..20cb614 100644 (file)
@@ -1446,8 +1446,7 @@ class Block {
 
        /**
         * Set the 'BlockID' cookie to this block's ID and expiry time. The cookie's expiry will be
-        * the same as the block's, unless it's greater than $wgCookieExpiration in which case
-        * $wgCookieExpiration will be used instead (defaults to 30 days).
+        * the same as the block's, to a maximum of 24 hours.
         *
         * An empty value can also be set, in order to retain the cookie but remove the block ID
         * (e.g. as used in User::getBlockedStatus).
@@ -1457,18 +1456,18 @@ class Block {
         */
        public function setCookie( WebResponse $response, $setEmpty = false ) {
                // Calculate the default expiry time.
-               $config = RequestContext::getMain()->getConfig();
-               $defaultExpiry = wfTimestamp() + $config->get( 'CookieExpiration' );
+               $maxExpiryTime = wfTimestamp( TS_MW, wfTimestamp() + ( 24 * 60 * 60 ) );
 
                // Use the Block's expiry time only if it's less than the default.
-               $expiry = wfTimestamp( TS_UNIX, $this->getExpiry() );
-               if ( $expiry > $defaultExpiry ) {
-                       // The *default* default expiry is 30 days.
-                       $expiry = $defaultExpiry;
+               $expiryTime = $this->getExpiry();
+               if ( $expiryTime === 'infinity' || $expiryTime > $maxExpiryTime ) {
+                       $expiryTime = $maxExpiryTime;
                }
 
+               // Set the cookie. Reformat the MediaWiki datetime as a Unix timestamp for the cookie.
                $cookieValue = $setEmpty ? '' : $this->getId();
-               $response->setCookie( 'BlockID', $cookieValue, $expiry );
+               $expiryValue = DateTime::createFromFormat( "YmdHis", $expiryTime );
+               $response->setCookie( 'BlockID', $cookieValue, $expiryValue->format( "U" ) );
        }
 
        /**
index 64ff5b4..c4584bd 100644 (file)
@@ -3703,23 +3703,28 @@ class Title implements LinkTarget {
         * @param bool $createRedirect Whether to create redirects from the old subpages to
         *     the new ones Ignored if the user doesn't have the 'suppressredirect' right
         * @return array Array with old page titles as keys, and strings (new page titles) or
-        *     arrays (errors) as values, or an error array with numeric indices if no pages
-        *     were moved
+        *     getUserPermissionsErrors()-like arrays (errors) as values, or a
+        *     getUserPermissionsErrors()-like error array with numeric indices if
+        *     no pages were moved
         */
        public function moveSubpages( $nt, $auth = true, $reason = '', $createRedirect = true ) {
                global $wgMaximumMovedPages;
                // Check permissions
                if ( !$this->userCan( 'move-subpages' ) ) {
-                       return [ 'cant-move-subpages' ];
+                       return [
+                               [ 'cant-move-subpages' ],
+                       ];
                }
                // Do the source and target namespaces support subpages?
                if ( !MWNamespace::hasSubpages( $this->getNamespace() ) ) {
-                       return [ 'namespace-nosubpages',
-                               MWNamespace::getCanonicalName( $this->getNamespace() ) ];
+                       return [
+                               [ 'namespace-nosubpages', MWNamespace::getCanonicalName( $this->getNamespace() ) ],
+                       ];
                }
                if ( !MWNamespace::hasSubpages( $nt->getNamespace() ) ) {
-                       return [ 'namespace-nosubpages',
-                               MWNamespace::getCanonicalName( $nt->getNamespace() ) ];
+                       return [
+                               [ 'namespace-nosubpages', MWNamespace::getCanonicalName( $nt->getNamespace() ) ],
+                       ];
                }
 
                $subpages = $this->getSubpages( $wgMaximumMovedPages + 1 );
@@ -3728,9 +3733,9 @@ class Title implements LinkTarget {
                foreach ( $subpages as $oldSubpage ) {
                        $count++;
                        if ( $count > $wgMaximumMovedPages ) {
-                               $retval[$oldSubpage->getPrefixedText()] =
-                                               [ 'movepage-max-pages',
-                                                       $wgMaximumMovedPages ];
+                               $retval[$oldSubpage->getPrefixedText()] = [
+                                       [ 'movepage-max-pages', $wgMaximumMovedPages ],
+                               ];
                                break;
                        }
 
index 94e9d28..86078d4 100644 (file)
        "apihelp-filerevert-example-revert": "استرجاع <kbd>Wiki.png</kbd> لنسحة <kbd>2011-03-05T15:27:40Z</kbd>.",
        "apihelp-help-description": "عرض مساعدة لوحدات محددة.",
        "apihelp-help-param-modules": "وحدات لعرض مساعدة لها (قيم وسائط <var>action</var> و<var>format</var> أو<kbd>main</kbd>). يمكن تحديد الوحدات الفرعية ب <kbd>+</kbd>.",
+       "apihelp-help-param-submodules": "تشمل المساعدة للوحدات الفرعية من الوحدة المسماة.",
+       "apihelp-help-param-recursivesubmodules": "تشمل المساعدة للوحدات الفرعية بشكل متكرر.",
+       "apihelp-help-param-helpformat": "شكل مخرجات المساعدة.",
+       "apihelp-help-param-wrap": "التفاف المخرجات في بنية استجابة API القياسية.",
+       "apihelp-help-param-toc": "يتضمن جدول المحتويات في مخرجات HTML.",
+       "apihelp-help-example-main": "مساعدة للوحدة الرئيسية.",
+       "apihelp-help-example-submodules": "مساعدة ل<kbd>action=query</kbd> وجميع الوحدات الفرعية لها.",
        "apihelp-help-example-recursive": "كل المساعدة في صفحة واحدة.",
-       "apihelp-import-param-summary": "تعليق الاستيراد.",
+       "apihelp-help-example-help": "مساعدة لوحدة المساعدة نفسها.",
+       "apihelp-help-example-query": "مساعدة لوحدتي استعلام فرعيتين.",
+       "apihelp-imagerotate-description": "تدوير صورة واحدة أو أكثر.",
+       "apihelp-imagerotate-param-rotation": "درجة تدوير الصورة في اتجاه عقارب الساعة.",
+       "apihelp-imagerotate-example-simple": "تدوير <kbd>File:Example.png</kbd> بمقدار <kbd>90</kbd> درجة.",
+       "apihelp-imagerotate-example-generator": "تدوير جميع الصور في <kbd>Category:Flip</kbd> بمقدار <kbd>180</kbd> درجة.",
+       "apihelp-import-param-summary": "ملخص إدخال سجل الاستيراد.",
+       "apihelp-import-param-xml": "ملف XML مرفوع.",
+       "apihelp-import-param-interwikisource": "بالنسبة لواردات الإنترويكي: ويكي للاستيراد منه.",
+       "apihelp-import-param-interwikipage": "بالنسبة لواردات الإنترويكي: صفحة لاستيرادها.",
+       "apihelp-import-param-fullhistory": "بالنسبة لواردات الإنترويكي: استيراد التاريخ كاملا، وليست النسخة الحالية فقط.",
+       "apihelp-import-param-templates": "بالنسبة لواردات الإنترويكي: الإستيراد شمل كافة القوالب كذلك.",
+       "apihelp-import-param-namespace": "استيراد إلى هذا النطاق. لا يمكن أن يُستخدَم إلى جانب <var>$1rootpage</var>.",
+       "apihelp-import-param-rootpage": "استيراد كصفحة فرعية لهذه الصفحة. لا يمكن أن يُستخدَم إلى جانب <var>$1rootpage</var>.",
+       "apihelp-import-example-import": "استيراد [[meta:Help:ParserFunctions]] للنطاق 100 بالتاريخ الكامل.",
+       "apihelp-linkaccount-description": "ربط حساب من موفر طرف ثالث للمستخدم الحالي.",
+       "apihelp-linkaccount-example-link": "بدء عملية ربط حساب من <kbd>Example</kbd>.",
+       "apihelp-login-description": "سجل دخولك الآن واحصل على مصادقة الكوكيز، وينبغي استخدام هذا الإجراء فقط في تركيبة مع [[Special:BotPasswords|خاص:كلمات مرور البوت]]. تم إهمال استخدام لتسجيل الدخول للحساب الرئيسي وقد يفشل دون سابق إنذار. لتسجيل الدخول بأمان إلى الحساب الرئيسي; استخدم <kbd>[[Special:ApiHelp/clientlogin|action=clientlogin]]</kbd>.",
+       "apihelp-login-description-nobotpasswords": "سجل دخولك الآن واحصل على مصادقة الكوكيز. هذا العمل مستنكر وقد يفشل دون سابق إنذار. لتسجيل الدخول بأمان إلى الحساب الرئيسي; استخدم <kbd>[[Special:ApiHelp/clientlogin|action=clientlogin]]</kbd>.",
        "apihelp-login-param-name": "اسم المستخدم.",
        "apihelp-login-param-password": "كلمة السر",
        "apihelp-login-param-domain": "النطاق (اختياري).",
+       "apihelp-login-param-token": "تم الحصول على رمز الدخول في الطلب الأول.",
+       "apihelp-login-example-gettoken": "استرداد رمز تسجيل الدخول.",
        "apihelp-login-example-login": "تسجيل الدخول",
+       "apihelp-logout-description": "تسجيل الخروج ومسح بيانات الجلسة.",
+       "apihelp-logout-example-logout": "تسجيل خروج المستخدم الحالي.",
+       "apihelp-managetags-description": "أداء المهام الإدارية المتعلقة بتغيير الوسوم.",
+       "apihelp-managetags-param-operation": "أي الإجراءات ستنفذ:\n؛ إنشاء: إنشاء وسم التغيير جديدة للاستخدام اليدوي.\n؛ حذف: إزالة وسم التغيير من قاعدة البيانات، بما في ذلك إزالة الوسم من كافة المراجعات، وإدخالات التغيير الأخيرة، وإدخالات السجل المستخدم.\n؛ تنشيط: تنشيط وسم التغيير، مما يسمح للمستخدمين بتطبيقه يدويا.\n; إلغاء: إلغاء تنشيط وسم التغيير، ومنع المستخدمين من تطبيقه يدويا.",
+       "apihelp-managetags-param-reason": "سبب اختياري لإنشاء، وحذف، وتفعيل أو تعطيل الوسم.",
+       "apihelp-managetags-param-ignorewarnings": "إذا كان سيتم تجاهل أي تحذيرات تصدر خلال العملية.",
+       "apihelp-managetags-example-create": "إنشاء وسم مسمى <kbd>spam</kbd> بسبب <kbd>For use in edit patrolling</kbd>",
+       "apihelp-managetags-example-delete": "حذف <kbd>vandlaism</kbd> وسم بسبب <kbd>Misspelt</kbd>",
+       "apihelp-managetags-example-activate": "تنشيط الوسم المسمى <kbd>spam</kbd> بسبب <kbd>For use in edit patrolling</kbd>",
+       "apihelp-managetags-example-deactivate": "تعطيل الوسم المسمى <kbd>spam</kbd> بسبب <kbd>No longer required</kbd>",
        "apihelp-mergehistory-description": "ادمج تاريخ الصفحة.",
+       "apihelp-mergehistory-param-from": "عنوان الصفحة التي سيتم دمج تاريخها. لا يمكن أن تُستخدَم بجانب <var>$1fromid</var>.",
+       "apihelp-mergehistory-param-fromid": "معرف الصفحة التي سيتم دمج تاريخها. لا يمكن أن تُستخدَم بجانب <var>$1from</var>.",
+       "apihelp-mergehistory-param-to": "عنوان الصفحة التي سيتم دمج تاريخها. لا يمكن أن تُستخدَم بجانب <var>$1toid</var>.",
+       "apihelp-mergehistory-param-toid": "معرف الصفحة التي سيتم دمج تاريخها. لا يمكن أن تُستخدَم بجانب <var>$1to</var>.",
+       "apihelp-mergehistory-param-timestamp": "الطابع الزمني للمراجعات التي سيتم نقلها من تاريخ صفحة المصدر إلى تاريخ صفحة الوجهة. إذا تم حذفها، سيتم دمج تاريخ الصفحة كاملا من صفحة المصدر إلى صفحة الوجهة.",
+       "apihelp-mergehistory-param-reason": "سبب دمج التاريخ.",
+       "apihelp-mergehistory-example-merge": "دمج تاريخ <kbd>Oldpage</kbd> كاملا إلى <kbd>Newpage</kbd>.",
+       "apihelp-mergehistory-example-merge-timestamp": "دمج مراجعات الصفحة <kbd>Oldpage</kbd> dating up to <kbd>2015-12-31T04:37:41Z</kbd> إلى <kbd>Newpage</kbd>.",
        "apihelp-move-description": "نقل صفحة.",
+       "apihelp-move-param-from": "عنوان الصفحة للنقل. لا يمكن أن تُستخدَم بجانب <var>$1pageid</var",
+       "apihelp-move-param-fromid": "معرف الصفحة للنقل. لا يمكن أن تُستخدَم بجانب <var>$1pageid</var",
+       "apihelp-move-param-to": "عنوان لإعادة تسمية الصفحة له.",
        "apihelp-move-param-reason": "السبب لإعادة التسمية.",
+       "apihelp-move-param-movetalk": "إعادة تسمية صفحة النقاش، إن وُجِدت.",
+       "apihelp-move-param-movesubpages": "إعادة تسمية الصفحات الفرعية، إن وُجِدت.",
+       "apihelp-move-param-noredirect": "لا تنشئ تحويلة.",
+       "apihelp-move-param-watch": "إضافة الصفحة والتحويلة إلى قائمة مراقبة المستخدم الحالي.",
+       "apihelp-move-param-unwatch": "إزالة الصفحة والتحويلة إلى قائمة مراقبة المستخدم الحالي.",
        "apihelp-move-param-ignorewarnings": "تجاهل أي تحذيرات.",
+       "apihelp-move-example-move": "انقل <kbd>Badtitle</kbd> إلى <kbd>Goodtitle</kbd> دون ترك تحويلة.",
+       "apihelp-opensearch-description": "بحث الويكي باستخدام بروتوكول أوبن سيرش OpenSearch.",
        "apihelp-opensearch-param-search": "سطر البحث",
        "apihelp-opensearch-param-limit": "الحد الأقصى للنتائج المُرجعة",
        "apihelp-opensearch-param-namespace": "النطاقات للبحث.",
+       "apihelp-opensearch-param-suggest": "لا تفعل شيئا إذا كان <var>[[mw:Manual:$wgEnableOpenSearchSuggest|$wgEnableOpenSearchSuggest]]</var> خاطئا.",
+       "apihelp-opensearch-param-format": "شكل الإخراج.",
+       "apihelp-opensearch-param-warningsaserror": "إذا تم رفع التحذيرات ب<kbd>format=json</kbd>, أعد أخطاء API بدلا من تجاهلها.",
+       "apihelp-opensearch-example-te": "العثور على صفحات تبدأ ب<kbd>Te</kbd>.",
+       "apihelp-options-param-reset": "إعادة تعيين التفضيلات إلى إعدادات الموقع الإفتراضية.",
+       "apihelp-options-param-resetkinds": "قائمة أنواع الخيارات لإعادة ضبطها عندما يتم تعيين خيار <var>$1reset</var>.",
+       "apihelp-options-param-optionname": "اسم الخيار الذي ينبغي ضبطه إلى القيمة التي قدمها <var>$1optionvalue</var>.",
+       "apihelp-options-param-optionvalue": "قيمة للخيار المحدد من قبل <var>$1optionname</var>.",
+       "apihelp-options-example-reset": "إعادة تعيين كل التفضيلات.",
+       "apihelp-options-example-change": "غير تفضيلات <kbd>skin</kbd> و<kbd>hideminor</kbd>.",
+       "apihelp-options-example-complex": "إعادة تعيين جميع تفضيلات، ثم تعيين <kbd>skin</kbd> و<kbd>nickname</kbd>.",
+       "apihelp-paraminfo-description": "الحصول على معلومات حول وحدات API.",
+       "apihelp-paraminfo-param-helpformat": "شكل سلاسل المساعدة.",
+       "apihelp-paraminfo-param-mainmodule": "الحصول على معلومات عن وحدة (المستوى الأعلى) الرئيسية أيضا. استخدم <kbd>$1modules=main</kbd> بدلا من ذلك.",
+       "apihelp-paraminfo-param-formatmodules": "قائمة بأسماء أشكال الوحدات (قيم الوسيط <var>format</var>). استخدم <var>$1modules</var> بدلا من ذلك.",
+       "apihelp-paraminfo-example-1": "عرض معلومات عن <kbd>[[Special:ApiHelp/parse|action=parse]]</kbd> و<kbd>[[Special:ApiHelp/jsonfm|format=jsonfm]]</kbd> و<kbd>[[Special:ApiHelp/query+allpages|action=query&list=allpages]]</kbd> و<kbd>[[Special:ApiHelp/query+siteinfo|action=query&meta=siteinfo]]</kbd>.",
+       "apihelp-paraminfo-example-2": "أظهر المعلومات لجميع الوحدات الفرعية ل<kbd>[[Special:ApiHelp/query|action=query]]</kbd>.",
+       "apihelp-parse-param-title": "عنوان الصفحة التي ينتمي النص إليها.إذا تم حذفها، <var>$1contentmodel</var> يجب أن تكون محددة، و[[API]] سيتم استخدامه كعنوان.",
+       "apihelp-parse-param-text": "نص للتحليل. استخدم <var>$1title</var> أو <var>$1contentmodel</var> للتحكم في نموذج المحتوى.",
+       "apihelp-parse-param-summary": "ملخص للتحليل.",
+       "apihelp-parse-param-page": "تحليل محتوى هذه الصفحة. لا يمكن أن تُستخدَم بجانب <var>$1text</var> and <var>$1title</var>.",
+       "apihelp-parse-param-pageid": "حلل محتوى هذه الصفحة. تجاوز <var>$1page</var>.",
+       "apihelp-parse-param-redirects": "لو <var>$1page</var> أو <var>$1pageid</var> is تم تعيينها للتحويل، حلها.",
+       "apihelp-parse-param-oldid": "تحليل مضمون هذا التعديل. تجاوز <var>$1page</var> و<var>$1pageid</var>.",
+       "apihelp-parse-param-prop": "أي قطعة من المعلومات تريد الحصول عليها:",
+       "apihelp-parse-paramvalue-prop-langlinks": "يعطي وصلات اللغات في تحليل نصوص الويكي.",
+       "apihelp-parse-paramvalue-prop-categories": "يعطي التصنيفات في تحليل نصوص الويكي.",
+       "apihelp-parse-paramvalue-prop-categorieshtml": "يعطي إصدار HTML للتصنيفات.",
+       "apihelp-parse-paramvalue-prop-links": "يعطي الوصلات الداخلية في تحليل نصوص الويكي.",
+       "apihelp-parse-paramvalue-prop-templates": "يعطي القوالب في تحليل نصوص الويكي.",
+       "apihelp-parse-paramvalue-prop-images": "يعطي الصور في تحليل نصوص الويكي.",
+       "apihelp-parse-paramvalue-prop-externallinks": "يعطي الوصلات الخارجية في تحليل نصوص الويكي.",
+       "apihelp-parse-paramvalue-prop-sections": "يعطي الأقسام في تحليل نصوص الويكي.",
+       "apihelp-parse-paramvalue-prop-displaytitle": "يضيف العنوان في تحليل نصوص الويكي.",
+       "apihelp-parse-paramvalue-prop-headitems": "<span class=\"apihelp-deprecated\">Deprecated.</span> يعطي عناصر لوضعها في <code>&lt;head&gt;</code> الصفحة.",
+       "apihelp-parse-paramvalue-prop-headhtml": "يعطي تحليل <code>&lt;head&gt;</code> الصفحة.",
+       "apihelp-parse-paramvalue-prop-jsconfigvars": "يعطي متغيرات تكوين جافا سكريبت الخاصة بهذه الصفحة. للتطبيق; استخدم <code>mw.config.set()</code>.",
+       "apihelp-parse-paramvalue-prop-encodedjsconfigvars": "يعطي متغيرات تكوين جافا سكريبت الخاصة بهذه الصفحة كسلسلة JSON.",
+       "apihelp-parse-paramvalue-prop-indicators": "يعطي HTML مؤشرات حالة الصفحة المستخدمة في الصفحة.",
+       "apihelp-parse-paramvalue-prop-iwlinks": "يعطي وصلات اللغات في تحليل نصوص الويكي.",
+       "apihelp-parse-paramvalue-prop-wikitext": "يعطي نصوص الويكي الأصلية التي تم تحليلها.",
+       "apihelp-parse-paramvalue-prop-properties": "يعطي الخصائص المختلفة المحددة في تحليل نصوص الويكي.",
+       "apihelp-parse-paramvalue-prop-limitreportdata": "يعطي تقرير الحد بطريقة منظمة. لا يعطي أية بيانات، عندما يتم تعيين <var>$1disablelimitreport</var>.",
+       "apihelp-parse-paramvalue-prop-limitreporthtml": "يعطي إصدار HTML لتقرير الحد. لا يعطي أية بيانات، عندما يتم تعيين<var>$1disablelimitreport</var>.",
+       "apihelp-parse-paramvalue-prop-parsetree": "شجرة تحليل XML لمحتويات المراجعة (يتطلب نموذج محتوى <code>$1</code>)",
+       "apihelp-parse-param-pst": "قم بتحويل قبل الحفظ على المدخلات قبل تحليل ذلك. صالح فقط عند استخدامه مع النص.",
+       "apihelp-parse-param-effectivelanglinks": "يشمل وصلات لغة المقدمة بواسطة ملحقات (للاستخدام مع <kbd>$1prop=langlinks</kbd>).",
+       "apihelp-parse-param-disablelimitreport": "تجاهل تقرير الحد (\"NewPP limit report\") من مخرجات المحلل.",
+       "apihelp-parse-param-disablepp": "استخدم <var>$1disablelimitreport</var> بدلا من ذلك.",
+       "apihelp-parse-param-disableeditsection": "تجاهل روابط تحرير الأقسام من مخرجات المحلل.",
+       "apihelp-parse-param-disabletidy": "لا تشغل تنظيف HTML (على سبيل المثال مرتبة) على مخرجات المحلل.",
+       "apihelp-parse-param-generatexml": "توليد شجرة تحليل XML (يتطلب نموذج المحتوى <code>$1</code>; حل محلها <kbd>$2prop=parsetree</kbd>).",
+       "apihelp-parse-param-preview": "تحليل في وضع المعاينة.",
+       "apihelp-parse-param-sectionpreview": "تحليل في وضع معاينة القسم (يمكن وضع المعاينة أيضا).",
+       "apihelp-parse-param-disabletoc": "تجاهل جدول المحتويات في المخرجات.",
+       "apihelp-parse-param-contentformat": "نموذج المحتوى المسلسل يُستخدَم للنص المدخل. صالح فقط عند استخدامه مع $1text.",
        "apihelp-parse-example-page": "تحليل صفحة.",
+       "apihelp-parse-example-text": "تحليل نصوص ويكي",
+       "apihelp-parse-example-texttitle": "تحليل نصوص ويكي، تحديد عنوان الصفحة.",
+       "apihelp-parse-example-summary": "تحليل الملخص.",
+       "apihelp-patrol-description": "مراجعة صفحة أو مراجعة.",
+       "apihelp-patrol-param-rcid": "معرف أحدث التغييرات للمراجعة",
+       "apihelp-patrol-param-revid": "معرف مراجعة للمراجعة",
+       "apihelp-patrol-param-tags": "تغيير وسوم لتطبيق الإدخال في سجل المراجعة.",
        "apihelp-patrol-example-rcid": "ابحث عن تغيير جديد",
        "apihelp-patrol-example-revid": "راجع مراجعة.",
        "apihelp-protect-description": "غير مستوى الحماية لصفحة.",
+       "apihelp-protect-param-title": "عنوان الصفحة ل (إزالة) الحماية. لا يمكن أن تُستخدَم بجانب $1pageid.",
+       "apihelp-protect-param-pageid": "معرف الصفحة ل (إزالة) الحماية. لا يمكن أن تُستخدَم بجانب $1pageid.",
+       "apihelp-protect-param-reason": "سبب (إزالة) الحماية.",
+       "apihelp-protect-param-tags": "تغيير وسوم لتطبيق الإدخال في سجل الحماية.",
+       "apihelp-protect-param-watch": "إذا تم الضبط، أضف الصفحة (غير) المحمية لقائمة مراقبة المستخدم الحالي.",
        "apihelp-protect-example-protect": "حماية صفحة.",
+       "apihelp-protect-example-unprotect": "إلغاء حماية الصفحة من خلال وضع قيود ل<kbd>all</kbd> (أي يُسمَح أي شخص باتخاذ الإجراءات).",
+       "apihelp-protect-example-unprotect2": "إلغاء حماية الصفحة عن طريق عدم وضع أية قيود.",
+       "apihelp-purge-param-forcelinkupdate": "تحديث جداول الروابط.",
+       "apihelp-purge-param-forcerecursivelinkupdate": "تحديث جدول الروابط، وتحديث جداول الروابط لأية صفحة تستخدم هذه الصفحة كقالب.",
+       "apihelp-purge-example-simple": "إفراغ كاش <kbd>Main Page</kbd> وصفحة <kbd>API</kbd>.",
+       "apihelp-purge-example-generator": "إفراغ كاش أول 10 صفحات في النطاق الرئيسي.",
+       "apihelp-query-description": "جلب البيانات من وعن ميدياويكي. يجب على جميع تعديلات البيانات أولا استخدام استعلام للحصول على رمز لمنع الاعتداء من المواقع الخبيثة.",
+       "apihelp-query-param-prop": "أي الخصائص تريد الحصول على صفحات استعلام عنها.",
+       "apihelp-query-param-list": "أي القوائم تريد الحصول عليها.",
+       "apihelp-query-param-meta": "أي البيانات الوصفية تريد الحصول عليها.",
+       "apihelp-query-param-export": "تصدير المراجعات الحالية لجميع الصفحات المعينة أو المولدة.",
+       "apihelp-query-param-exportnowrap": "إعادة تصدير XML دون التفاف عليه في نتيجة XML (نفس شكل [[Special:Export|خاص:تصدير]]). يمكن استخدامها فقط مع $1export.",
+       "apihelp-query-param-rawcontinue": "إرجاع <samp>query-continue</samp> بيانات خام للاستمرار.",
+       "apihelp-query-example-revisions": "جلب [[Special:ApiHelp/query+siteinfo|معلومات الموقع]] و[[Special:ApiHelp/query+revisions|مراجعات]] <kbd>Main Page</kbd>.",
+       "apihelp-query-example-allpages": "جلب مراجعات الصفحات التي تبدأ ب<kbd>API/</kbd>.",
+       "apihelp-query+allcategories-description": "تعداد جميع التصنيفات.",
+       "apihelp-query+allcategories-param-from": "التصنيف الذي يبدأ التعداد منه.",
+       "apihelp-query+allcategories-param-to": "التصنيف الذي يقف التعداد عنده.",
+       "apihelp-query+allcategories-param-prefix": "ابحث عن جميع التصنيفات التي تبدأ أسماؤها بهذه القيمة.",
+       "apihelp-query+allcategories-param-dir": "اتجاه الفرز.",
+       "apihelp-query+allcategories-param-limit": "كم عدد الفئات في الإرجاع.",
+       "apihelp-query+allcategories-param-prop": "أي الخصائص تريد الحصول عليها:",
+       "apihelp-query+allcategories-paramvalue-prop-size": "أضف عدد الصفحات في هذا التصنيف.",
+       "apihelp-query+allcategories-example-generator": "استرداد المعلومات حول صفحة التصنيف نفسها للتصنيفات التي تبدأ ب<kbd>List</kbd>.",
+       "apihelp-query+alldeletedrevisions-description": "قائمة جميع المراجعات المحذوفة بواسطة المستخدم أو في نطاق.",
+       "apihelp-query+alldeletedrevisions-paraminfo-useronly": "يمكن أن تُستخدَم فقط مع <var>$3user</var>.",
+       "apihelp-query+alldeletedrevisions-paraminfo-nonuseronly": "لا يمكن أن تُستخدَم مع <var>$3user</var>.",
+       "apihelp-query+alldeletedrevisions-param-end": "الطابع الزمني الذي يقف التعداد منه.",
+       "apihelp-query+alldeletedrevisions-param-from": "بدء الإدراج في القائمة من هذا العنوان.",
+       "apihelp-query+alldeletedrevisions-param-to": "وقف الإدراج في القائمة من هذا العنوان.",
+       "apihelp-query+alldeletedrevisions-param-prefix": "ابحث عن جميع عناوين الصفحات التي تبدأ أسماؤها بهذه القيمة.",
+       "apihelp-query+alldeletedrevisions-param-tag": "مراجعات القائمة فقط تم وسمها بهذ الوسم.",
+       "apihelp-query+alldeletedrevisions-param-user": "أدرج المراجعات التي كتبها هذا المستخدم فقط.",
+       "apihelp-query+alldeletedrevisions-param-excludeuser": "لا تدرج المراجعات التي كتبها هذا المستخدم.",
+       "apihelp-query+alldeletedrevisions-param-namespace": "أدرج الصفحات  في هذا النطاق فقط.",
+       "apihelp-query+alldeletedrevisions-param-generatetitles": "عندما يُستخدَم كمولد، ولد عناوين بدلا من معرفات المراجعات.",
+       "apihelp-query+allfileusages-description": "قائمة جميع استخدامات الملفات، بما في ذلك غير الموجودة.",
+       "apihelp-query+allfileusages-param-from": "عنوان الملف لبدء التعداد منه.",
+       "apihelp-query+allfileusages-param-to": "عنوان الملف لوقف التعداد منه.",
+       "apihelp-query+allfileusages-param-prefix": "البحث عن كل عناوين الملفات التي تبدأ بهذه القيمة.",
+       "apihelp-query+allfileusages-param-prop": "أي قطعة من المعلومات تريد تضمينها:",
+       "apihelp-query+allfileusages-paramvalue-prop-ids": "تضيف معرفات استخدام الصفحات (لا يمكن استخدامها مع $1unique).",
+       "apihelp-query+allfileusages-paramvalue-prop-title": "تضيف عنوان الملف.",
+       "apihelp-query+allfileusages-param-limit": "كم عدد مجموع البنود للعودة.",
+       "apihelp-query+allimages-description": "تعداد كافة الصور بشكل متتالي.",
+       "apihelp-query+allimages-param-sort": "خاصية للفرز وفقًا لها.",
+       "apihelp-query+allimages-param-from": "عنوان الصورة لبدء التعداد منه. يمكن استخدامها مع $1sort=name فقط.",
+       "apihelp-query+allimages-param-to": "عنوان الصورة لوقف التعداد منه. يمكن استخدامها مع $1sort=name فقط.",
+       "apihelp-query+allimages-param-start": "طابع زمني لبدء التعداد منه. يمكن استخدامه مع $1sort فقط.",
+       "apihelp-query+allimages-param-end": "طابع زمني لإنهاء التعداد منه. يمكن استخدامه مع $1sort فقط.",
+       "apihelp-query+allimages-param-prefix": "البحث عن كل عناوين الصور التي تبدأ بهذه القيمة. يمكن استخدامها مع $1sort فقط.",
+       "apihelp-query+allimages-param-sha1": "SHA1 تجزئة الصورة. تجاوز $1sha1base36.",
+       "apihelp-query+allimages-param-sha1base36": "SHA1 تجزئة الصورة في قاعدة 36 (تُستخدَم في ميدياويكي).",
+       "apihelp-query+allimages-param-filterbots": "كيفية تصفية الملفات التي تم تحميلها بواسطة بوتات. يمكن استخدامها مع $1sort=timestamp فقط. لا يمكن أن تُستخدَم بجانب $1user.",
+       "apihelp-query+allimages-param-mime": "عن أي أنواع MIME تبحث، على سبيل المثال <kbd>image/jpeg</kbd>.",
+       "apihelp-query+allimages-example-B": "أظهر قائمة الملفات التي تبدأ ب<kbd>B</kbd>.",
+       "apihelp-query+allimages-example-recent": "أظهر قائمة الملفات التي تم تحميلها مؤخرا، على غرار [[Special:NewFiles|خاص:ملفات جديدة]].",
+       "apihelp-query+allimages-example-mimetypes": "أظهر قائمة الملفات من نوع MIME <kbd>image/png</kbd> أو <kbd>image/gif</kbd>",
+       "apihelp-query+allimages-example-generator": "عرض معلومات حول 4 ملفات تبدأ بالحرف <kbd>T</kbd>.",
+       "apihelp-query+alllinks-description": "تعداد كافة الروابط التي تشير إلى نطاق معين.",
+       "apihelp-query+alllinks-param-from": "عنوان الرابط لبدء التعداد منه.",
+       "apihelp-query+alllinks-param-to": "عنوان الرابط لوقف التعداد منه.",
+       "apihelp-query+alllinks-param-prefix": "البحث عن كل العناوين المرتبطة التي تبدأ بهذه القيمة.",
+       "apihelp-query+alllinks-param-prop": "أي قطعة من المعلومات تريد تضمينها:",
+       "apihelp-query+alllinks-paramvalue-prop-ids": "تضيف معرف الصفحة للصفحة المرتبطة (لا يمكن استخدامها مع $1unique).",
+       "apihelp-query+alllinks-paramvalue-prop-title": "تضيف عنوان الرابط.",
+       "apihelp-query+alllinks-param-namespace": "نطاق للتعداد.",
+       "apihelp-query+alllinks-param-limit": "كم عدد مجموع البنود للعودة.",
+       "apihelp-query+alllinks-example-generator": "يحصل على الصفحات التي تحتوي على وصلات.",
+       "apihelp-query+allmessages-param-prop": "أي الخصائص تريد الحصول عليها:",
+       "apihelp-query+allmessages-param-filter": "إرجاع الرسائل بالأسماء التي تحتوي على هذه السلسلة فقط.",
+       "apihelp-query+allmessages-param-lang": "إرجاع الرسائل بهذه اللغة.",
+       "apihelp-query+allmessages-param-from": "إرجاع الرسائل ابتداء من هذه الرسالة.",
+       "apihelp-query+allmessages-param-to": "إرجاع الرسائل التي تنتهي بهذه الرسالة.",
+       "apihelp-query+allmessages-param-prefix": "إرجاء الرسائل بهذه البادئة.",
+       "apihelp-query+allmessages-example-ipb": "عرض رسائل تبدأ ب<kbd>ipb-</kbd>.",
+       "apihelp-query+allmessages-example-de": "عرض رسائل <kbd>august</kbd> and <kbd>mainpage</kbd> باللغة الألمانية.",
+       "apihelp-query+allpages-description": "تعداد كافة الصفحات بشكل متتالي في نطاق معين.",
+       "apihelp-query+allpages-param-to": "عنوان الصفحة لإيقاف التعداد منه.",
+       "apihelp-query+allpages-param-prefix": "البحث عن كل عناوين الصفحات التي تبدأ بهذه القيمة.",
+       "apihelp-query+allpages-param-namespace": "نطاق للتعداد.",
        "apihelp-query+allpages-param-filterredir": "أي الصفحات للعرض.",
+       "apihelp-query+allpages-param-limit": "كم عدد مجموع الصفحات للعودة.",
+       "apihelp-query+allpages-example-B": "عرض  قائمة من الصفحات التي تبدأ بالحرف <kbd>B</kbd>.",
+       "apihelp-query+allpages-example-generator": "عرض معلومات حول 4 صفحات تبدأ بالحرف <kbd>T</kbd>.",
+       "apihelp-query+allredirects-param-from": "عنوان التحويلة لبدء التعداد منه.",
+       "apihelp-query+allredirects-param-to": "عنوان التحويلة لإيقاف التعداد منه.",
+       "apihelp-query+allredirects-param-prefix": "ابحث عن جميع عناوين الصفحات المستهدفة التي تبدأ بهذه القيمة.",
+       "apihelp-query+allredirects-param-prop": "أي قطعة من المعلومات تريد تضمينها:",
+       "apihelp-query+allredirects-paramvalue-prop-ids": "تضيف معرف الصفحة لصفحة التحويل (لا يمكن استخدامها مع $1unique).",
+       "apihelp-query+allredirects-paramvalue-prop-title": "تضيف عنوان التحويلة.",
+       "apihelp-query+allredirects-param-namespace": "نطاق للتعداد.",
+       "apihelp-query+allredirects-param-limit": "كم عدد مجموع البنود للعودة.",
+       "apihelp-query+allredirects-example-generator": "يحصل على الصفحات التي تحتوي على تحويلات.",
        "apihelp-query+allrevisions-description": "اعرض كل المراجعات.",
+       "apihelp-query+allrevisions-param-start": "التصنيف الذي يبدأ التعداد منه.",
+       "apihelp-query+allrevisions-param-end": "الطابع الزمني الذي يقف التعداد منه.",
+       "apihelp-query+allrevisions-param-generatetitles": "عندما يُستخدَم كمولد، ولد عناوين بدلا من معرفات المراجعات.",
+       "apihelp-query+mystashedfiles-param-prop": "أي الخصائص تريد لجلب للملفات.",
+       "apihelp-query+mystashedfiles-paramvalue-prop-size": "جلب حجم الملف وأبعاد الصورة.",
        "apihelp-query+blocks-example-simple": "قائمة المنع.",
        "apihelp-query+imageinfo-paramvalue-prop-userid": "إضافة هوية المستخدم الذي قام بتحميل كل إصدار ملف.",
        "apihelp-query+prefixsearch-param-offset": "عدد النتائج المراد تخطيها.",
index 23c5a0f..37f169f 100644 (file)
        "apihelp-userrights-param-add": "Fügt den Benutzer zu diesen Gruppen hinzu.",
        "apihelp-userrights-param-remove": "Entfernt den Benutzer von diesen Gruppen.",
        "apihelp-userrights-param-reason": "Grund für die Änderung.",
+       "apihelp-validatepassword-description": "Validiert ein Passwort gegen die Passwortrichtlinien des Wikis.\n\nDie Validität wird als <samp>Good</samp> gemeldet, falls das Passwort akzeptabel ist, <samp>Change</samp>, falls das Passwort zur Anmeldung verwendet werden kann, jedoch geändert werden muss oder <samp>Invalid</samp>, falls das Passwort nicht verwendbar ist.",
+       "apihelp-validatepassword-param-password": "Zu validierendes Passwort.",
+       "apihelp-validatepassword-param-user": "Der beim Austesten der Benutzerkontenerstellung verwendete Benutzername. Der angegebene Benutzer darf nicht vorhanden sein.",
+       "apihelp-validatepassword-param-email": "Die beim Austesten der Benutzerkontenerstellung verwendete E-Mail-Adresse.",
+       "apihelp-validatepassword-param-realname": "Der beim Austesten der Benutzerkontenerstellung verwendete bürgerliche Name.",
+       "apihelp-validatepassword-example-1": "Validiert das Passwort <kbd>foobar</kbd> für den aktuellen Benutzer.",
+       "apihelp-validatepassword-example-2": "Validiert das Passwort <kbd>qwerty</kbd> zum Erstellen des Benutzers <kbd>Beispiel</kbd>.",
        "apihelp-watch-example-watch": "Die Seite <kbd>Main Page</kbd> beobachten.",
        "apihelp-watch-example-unwatch": "Die Seite <kbd>Main Page</kbd> nicht beobachten.",
        "apihelp-format-example-generic": "Das Abfrageergebnis im $1-Format ausgeben.",
index 4fe2f2f..ac6a9ae 100644 (file)
        "apihelp-protect-description": "Cambiar el nivel de protección de una página.",
        "apihelp-protect-param-title": "Título de la página a (des)proteger. No se puede utilizar con $1pageid.",
        "apihelp-protect-param-pageid": "ID de la página a (des)proteger. No se puede utilizar con $1title.",
-       "apihelp-protect-param-protections": "Lista de los niveles de protección, con formato <kbd>action=level</kbd> (por ejemplo: <kbd>edit=sysop</kbd>).\n\n<strong>Nota:</strong> Cualquier acción no mencionada tendrá las restricciones eliminadas.",
+       "apihelp-protect-param-protections": "Lista de los niveles de protección, con formato <kbd>action=level</kbd> (por ejemplo: <kbd>edit=sysop</kbd>). Un nivel de <kbd>all</kbd> («todos») significa que cualquier usuaro puede realizar la acción, es decir, no hay restricción.\n\n<strong>Nota:</strong> Cualquier acción no mencionada tendrá las restricciones eliminadas.",
        "apihelp-protect-param-reason": "Motivo de la (des)protección.",
        "apihelp-protect-param-tags": "Cambiar las etiquetas para aplicar a la entrada en el registro de protección.",
        "apihelp-protect-param-cascade": "Activar la protección en cascada (o sea, proteger plantillas e imágenes transcluidas usadas en esta página). Se ignorará si ninguno de los niveles de protección dados son compatibles con la función de cascada.",
        "apihelp-protect-example-protect": "Proteger una página",
-       "apihelp-protect-example-unprotect": "Desproteger una página estableciendo la restricción a <kbd>all</kbd>.",
+       "apihelp-protect-example-unprotect": "Desproteger una página estableciendo la restricción a <kbd>all</kbd> («todos», es decir, cualquier usuario puede realizar la acción).",
        "apihelp-protect-example-unprotect2": "Desproteger una página anulando las restricciones.",
        "apihelp-purge-description": "Purgar la caché de los títulos proporcionados.\n\nSe requiere una solicitud POST si el usuario no ha iniciado sesión.",
        "apihelp-purge-param-forcelinkupdate": "Actualizar las tablas de enlaces.",
        "apihelp-query+alllinks-param-namespace": "El espacio de nombres que enumerar.",
        "apihelp-query+alllinks-param-limit": "Cuántos elementos en total se devolverán.",
        "apihelp-query+alllinks-param-dir": "La dirección en la que se listará.",
+       "apihelp-query+alllinks-example-B": "Enumera los títulos enlazados, incluyendo los títulos faltantes, con los ID de página de los que provienen, empezando por <kbd>B</kbd>.",
        "apihelp-query+alllinks-example-unique": "Lista de títulos vinculados únicamente.",
        "apihelp-query+alllinks-example-unique-generator": "Obtiene todos los títulos enlazados, marcando los que falten.",
        "apihelp-query+alllinks-example-generator": "Obtiene páginas que contienen los enlaces.",
        "apihelp-query+allrevisions-param-user": "Listar solo las revisiones de este usuario.",
        "apihelp-query+allrevisions-param-excludeuser": "No listar las revisiones de este usuario.",
        "apihelp-query+allrevisions-param-namespace": "Listar solo las páginas en este espacio de nombres.",
+       "apihelp-query+allrevisions-param-generatetitles": "Cuando se utilice como generador, genera títulos en lugar de ID de revisión.",
        "apihelp-query+allrevisions-example-user": "Listar las últimas 50 contribuciones del usuario <kbd>Example</kbd>.",
        "apihelp-query+allrevisions-example-ns-main": "Listar las primeras 50 revisiones en el espacio de nombres principal.",
        "apihelp-query+mystashedfiles-description": "Obtener una lista de archivos en la corriente de carga de usuarios.",
        "apihelp-query+alltransclusions-example-unique-generator": "Obtiene todos los títulos transcluidos, marcando los que faltan.",
        "apihelp-query+alltransclusions-example-generator": "Obtiene las páginas que contienen las transclusiones.",
        "apihelp-query+allusers-description": "Enumerar todos los usuarios registrados.",
+       "apihelp-query+allusers-param-from": "El nombre de usuario por el que empezar la enumeración.",
+       "apihelp-query+allusers-param-to": "El nombre de usuario por el que finalizar la enumeración.",
        "apihelp-query+allusers-param-prefix": "Buscar todos los usuarios que empiecen con este valor.",
        "apihelp-query+allusers-param-dir": "Dirección de ordenamiento.",
        "apihelp-query+allusers-param-group": "Incluir solo usuarios en los grupos dados.",
        "apihelp-query+blocks-paramvalue-prop-range": "Añade la gama de direcciones de IP afectó por el bloque.",
        "apihelp-query+blocks-paramvalue-prop-flags": "Etiquetas la prohibición con (autoblock, anononly, etc.).",
        "apihelp-query+blocks-example-simple": "Listar bloques.",
+       "apihelp-query+categories-description": "Enumera todas las categorías a las que pertenecen las páginas.",
        "apihelp-query+categories-param-prop": "Qué propiedades adicionales obtener para cada categoría:",
        "apihelp-query+categories-paramvalue-prop-timestamp": "Añade la marca de tiempo del momento en que se añadió la categoría.",
        "apihelp-query+categories-paramvalue-prop-hidden": "Etiqueta las categorías que están ocultas con <code>_&#95;HIDDENCAT_&#95;</code>.",
        "apihelp-query+categories-param-show": "Qué tipo de categorías mostrar.",
        "apihelp-query+categories-param-limit": "Cuántas categorías se devolverán.",
+       "apihelp-query+categories-param-categories": "Enumerar solamente estas categorías. Útil para comprobar si una página determinada está en una categoría determinada.",
        "apihelp-query+categories-param-dir": "La dirección en que ordenar la lista.",
        "apihelp-query+categories-example-simple": "Obtener una lista de categorías a las que pertenece la página <kbd>Albert Einstein</kbd>.",
        "apihelp-query+categories-example-generator": "Obtener información acerca de todas las categorías utilizadas en la página <kbd>Albert Einstein</kbd>.",
        "apihelp-query+categoryinfo-description": "Devuelve información acerca de las categorías dadas.",
        "apihelp-query+categoryinfo-example-simple": "Obtener información acerca de <kbd>Category:Foo</kbd> y <kbd>Category:Bar</kbd>",
        "apihelp-query+categorymembers-description": "Lista todas las páginas en una categoría dada.",
+       "apihelp-query+categorymembers-param-title": "Categoría que enumerar (requerida). Debe incluir el prefijo <kbd>{{ns:category}}:</kbd>. No se puede utilizar junto con <var>$1pageid</var>.",
+       "apihelp-query+categorymembers-param-pageid": "ID de página de la categoría para enumerar. No se puede utilizar junto con <var>$1title</var>.",
        "apihelp-query+categorymembers-param-prop": "Qué piezas de información incluir:",
        "apihelp-query+categorymembers-paramvalue-prop-ids": "Añade el identificador de página.",
        "apihelp-query+categorymembers-paramvalue-prop-title": "Agrega el título y el identificador del espacio de nombres de la página.",
+       "apihelp-query+categorymembers-paramvalue-prop-sortkey": "Añade la clave de ordenación utilizada para la ordenación en la categoría (cadena hexadecimal).",
+       "apihelp-query+categorymembers-paramvalue-prop-sortkeyprefix": "Añade la clave de ordenación utilizada para la ordenación en la categoría (parte legible de la clave de ordenación).",
        "apihelp-query+categorymembers-paramvalue-prop-type": "Añade el tipo en el que se categorizó la página (<samp>page</samp>, <samp>subcat</samp> or <samp>file</samp>).",
        "apihelp-query+categorymembers-paramvalue-prop-timestamp": "Añade la marca de tiempo del momento en que se incluyó la página.",
+       "apihelp-query+categorymembers-param-namespace": "Incluir solamente páginas de estos espacios de nombres. Ten en cuenta que puede haberse utilizado <kbd>$1type=subcat</kbd> o <kbd>$1type=file</kbd> en lugar de <kbd>$1namespace=14</kbd> o <kbd>6</kbd>.",
+       "apihelp-query+categorymembers-param-type": "Qué tipo de miembros de la categoría incluir. Ignorado cuando se ha establecido <kbd>$1sort=timestamp</kbd>.",
        "apihelp-query+categorymembers-param-limit": "Número máximo de páginas que devolver.",
        "apihelp-query+categorymembers-param-sort": "Propiedad por la que realizar la ordenación.",
        "apihelp-query+categorymembers-param-dir": "Dirección en la que desea ordenar.",
+       "apihelp-query+categorymembers-param-start": "Marca de tiempo por la que empezar la enumeración. Solo se puede utilizar junto con <kbd>$1sort=timestamp</kbd>.",
+       "apihelp-query+categorymembers-param-end": "Marca de tiempo por la que terminar la enumeración. Solo se puede utilizar junto con <kbd>$1sort=timestamp</kbd>.",
+       "apihelp-query+categorymembers-param-starthexsortkey": "Clave de ordenación por la que empezar la enumeración, tal como se ha devuelto por <kbd>$1prop=sortkey</kbd>. Solo se puede utilizar junto con <kbd>$1sort=timestamp</kbd>.",
+       "apihelp-query+categorymembers-param-endhexsortkey": "Clave de ordenación por la que terminar la enumeración, tal como se ha devuelto por <kbd>$1prop=sortkey</kbd>. Solo se puede utilizar junto con <kbd>$1sort=timestamp</kbd>.",
+       "apihelp-query+categorymembers-param-startsortkeyprefix": "Prefijo de la clave de ordenación por el que empezar la enumeración. Solo se puede utilizar junto con <kbd>$1sort=sortkey</kbd>. Reemplaza <var>$1starthexsortkey</var>.",
+       "apihelp-query+categorymembers-param-endsortkeyprefix": "Prefijo de la clave de ordenación <strong>antes</strong> del cual termina la enumeración (no <strong>en</strong> el cual; si este valor existe, no será incluido). Solo se puede utilizar junto con <kbd>$1sort=sortkey</kbd>. Reemplaza <var>$1endhexsortkey</var>.",
        "apihelp-query+categorymembers-param-startsortkey": "Utilizar $1starthexsortkey en su lugar.",
        "apihelp-query+categorymembers-param-endsortkey": "Utilizar $1endhexsortkey en su lugar.",
        "apihelp-query+categorymembers-example-simple": "Obtener las primeras 10 páginas en <kbd>Category:Physics</kbd>.",
        "apihelp-query+categorymembers-example-generator": "Obtener información sobre las primeras 10 páginas de la <kbd>Category:Physics</kbd>.",
        "apihelp-query+contributors-param-limit": "Cuántos contribuyentes se devolverán.",
        "apihelp-query+contributors-example-simple": "Mostrar los contribuyentes de la página <kbd>Main Page</kbd>.",
+       "apihelp-query+deletedrevisions-param-start": "Marca de tiempo por la que empezar la enumeración. Se ignora cuando se esté procesando una lista de ID de revisión.",
+       "apihelp-query+deletedrevisions-param-end": "Marca de tiempo por la que terminar la enumeración. Se ignora cuando se esté procesando una lista de ID de revisión.",
        "apihelp-query+deletedrevisions-param-tag": "Listar solo las revisiones con esta etiqueta.",
        "apihelp-query+deletedrevisions-param-user": "Listar solo las revisiones de este usuario.",
        "apihelp-query+deletedrevisions-param-excludeuser": "No listar las revisiones de este usuario.",
        "apihelp-query+deletedrevs-paraminfo-modes": "{{PLURAL:$1|Modo|Modos}}: $2",
+       "apihelp-query+deletedrevs-param-start": "Marca de tiempo por la que empezar la enumeración.",
+       "apihelp-query+deletedrevs-param-end": "Marca de tiempo por la que terminar la enumeración.",
        "apihelp-query+deletedrevs-param-from": "Empezar a listar en este título.",
        "apihelp-query+deletedrevs-param-to": "Terminar de listar en este título.",
        "apihelp-query+deletedrevs-param-prefix": "Buscar todas las páginas que empiecen con este valor.",
        "apihelp-query+embeddedin-param-filterredir": "Cómo filtrar las redirecciones.",
        "apihelp-query+embeddedin-param-limit": "Cuántas páginas se devolverán.",
        "apihelp-query+extlinks-param-limit": "Cuántos enlaces se devolverán.",
+       "apihelp-query+extlinks-param-expandurl": "Expandir las URL relativas a un protocolo con el protocolo canónico.",
        "apihelp-query+extlinks-example-simple": "Obtener una lista de los enlaces externos en <kbd>Main Page</kbd>.",
        "apihelp-query+exturlusage-description": "Enumera páginas que contienen una URL dada.",
        "apihelp-query+exturlusage-param-prop": "Qué piezas de información incluir:",
        "apihelp-query+exturlusage-param-protocol": "Protocolo del URL. Si está vacío y se establece <var>$1query</var>, el protocolo es <kbd>http</kbd>. Deja vacío esto y <var>$1query</var> para listar todos los enlaces externos.",
        "apihelp-query+exturlusage-param-namespace": "Los espacios de nombres que enumerar.",
        "apihelp-query+exturlusage-param-limit": "Cuántas páginas se devolverán.",
+       "apihelp-query+exturlusage-param-expandurl": "Expandir las URL relativas a un protocolo con el protocolo canónico.",
        "apihelp-query+exturlusage-example-simple": "Mostrar páginas que enlacen con <kbd>http://www.mediawiki.org</kbd>.",
        "apihelp-query+filearchive-description": "Enumerar todos los archivos borrados de forma secuencial.",
        "apihelp-query+filearchive-param-from": "El título de imagen para comenzar la enumeración",
        "apihelp-query+filearchive-paramvalue-prop-archivename": "Añade el nombre de archivo de la versión archivada para las versiones que no son las últimas.",
        "apihelp-query+filearchive-example-simple": "Mostrar una lista de todos los archivos eliminados.",
        "apihelp-query+filerepoinfo-example-simple": "Obtener información acerca de los repositorios de archivos.",
+       "apihelp-query+fileusage-description": "Encontrar todas las páginas que utilizan los archivos dados.",
        "apihelp-query+fileusage-param-prop": "Qué propiedades se obtendrán:",
        "apihelp-query+fileusage-paramvalue-prop-pageid": "Identificador de cada página.",
        "apihelp-query+fileusage-paramvalue-prop-title": "Título de cada página.",
        "apihelp-query+fileusage-example-generator": "Obtener información acerca de las páginas que utilicen [[:File:Example.jpg]].",
        "apihelp-query+imageinfo-description": "Devuelve información del archivo y su historial de subida.",
        "apihelp-query+imageinfo-param-prop": "Qué información del archivo se obtendrá:",
+       "apihelp-query+imageinfo-paramvalue-prop-timestamp": "Añade la marca de tiempo a la versión actualizada.",
        "apihelp-query+imageinfo-paramvalue-prop-user": "Añade el usuario que subió cada versión del archivo.",
        "apihelp-query+imageinfo-paramvalue-prop-userid": "Añade la ID de usuario que subió cada versión del archivo.",
        "apihelp-query+imageinfo-paramvalue-prop-comment": "Comentarios sobre la versión.",
        "apihelp-query+imageinfo-paramvalue-prop-mediatype": "Añade el tipo multimedia de la imagen.",
        "apihelp-query+imageinfo-paramvalue-prop-bitdepth": "Añade la profundidad de bits de la versión.",
        "apihelp-query+imageinfo-param-limit": "Cuántos revisiones de archivos se devolverán por perfil.",
+       "apihelp-query+imageinfo-param-start": "Marca de tiempo por la que empezar la enumeración.",
+       "apihelp-query+imageinfo-param-end": "Marca de tiempo por la que terminar la enumeración.",
        "apihelp-query+imageinfo-param-urlheight": "Similar a $1urlwidth.",
        "apihelp-query+imageinfo-param-extmetadatafilter": "Si se especifica y no vacío, sólo estas claves serán devueltos por $1prop=extmetadata.",
        "apihelp-query+imageinfo-param-urlparam": "Un controlador específico de la cadena de parámetro. Por ejemplo, los archivos Pdf pueden utilizar <kbd>page15-100px</kbd>. <var>$1urlwidth</var> debe ser utilizado y debe ser consistente con <var>$1urlparam</var>.",
        "apihelp-query+logevents-paramvalue-prop-ids": "Agrega el identificador del evento de registro.",
        "apihelp-query+logevents-paramvalue-prop-type": "Añade el tipo del evento de registro.",
        "apihelp-query+logevents-paramvalue-prop-parsedcomment": "Añade el comentario analizado del evento de registro.",
+       "apihelp-query+logevents-param-start": "Marca de tiempo por la que empezar la enumeración.",
+       "apihelp-query+logevents-param-end": "Marca de tiempo por la que terminar la enumeración.",
        "apihelp-query+pageprops-description": "Obtener diferentes propiedades de página definidas en el contenido de la página.",
        "apihelp-query+pageprops-param-prop": "Sólo listar estas propiedades de página (<kbd>[[Special:ApiHelp/query+pagepropnames|action=query&list=pagepropnames]]</kbd> devuelve los nombres de las propiedades de página en uso). Útil para comprobar si las páginas usan una determinada propiedad de página.",
        "apihelp-query+pageswithprop-param-propname": "Propiedad de página para la cual enumerar páginas (<kbd>[[Special:ApiHelp/query+pagepropnames|action=query&list=pagepropnames]]</kbd> devuelve los nombres de las propiedades de página en uso).",
        "apihelp-query+protectedtitles-param-level": "Listar solo títulos con estos niveles de protección.",
        "apihelp-query+protectedtitles-param-limit": "Cuántas páginas se devolverán.",
        "apihelp-query+protectedtitles-param-prop": "Qué propiedades se obtendrán:",
+       "apihelp-query+protectedtitles-paramvalue-prop-timestamp": "Añade la marca de tiempo de cuando se añadió la protección.",
        "apihelp-query+protectedtitles-paramvalue-prop-user": "Agrega el usuario que agregó la protección.",
        "apihelp-query+protectedtitles-paramvalue-prop-userid": "Agrega el identificador de usuario que agregó la protección.",
+       "apihelp-query+protectedtitles-paramvalue-prop-comment": "Añade el comentario de la protección.",
+       "apihelp-query+protectedtitles-paramvalue-prop-parsedcomment": "Añade el comentario analizado para la protección.",
        "apihelp-query+protectedtitles-paramvalue-prop-expiry": "Añade la fecha y hora de cuando se levantará la protección.",
        "apihelp-query+protectedtitles-paramvalue-prop-level": "Agrega el nivel de protección.",
        "apihelp-query+protectedtitles-example-simple": "Listar títulos protegidos.",
        "apihelp-query+querypage-param-page": "El nombre de la página especial. Recuerda, es sensible a mayúsculas y minúsculas.",
        "apihelp-query+querypage-param-limit": "Número de resultados que se devolverán.",
        "apihelp-query+querypage-example-ancientpages": "Devolver resultados de [[Special:Ancientpages]].",
+       "apihelp-query+random-param-filterredir": "Cómo filtrar las redirecciones.",
        "apihelp-query+recentchanges-description": "Enumerar cambios recientes.",
        "apihelp-query+recentchanges-param-start": "El sello de tiempo para comenzar la enumeración.",
        "apihelp-query+recentchanges-param-end": "El sello de tiempo para finalizar la enumeración.",
        "apihelp-query+recentchanges-param-limit": "Cuántos cambios en total se devolverán.",
        "apihelp-query+recentchanges-param-type": "Cuántos tipos de cambios se mostrarán.",
        "apihelp-query+recentchanges-example-simple": "Lista de cambios recientes.",
+       "apihelp-query+redirects-description": "Devuelve todas las redirecciones a las páginas dadas.",
        "apihelp-query+redirects-param-prop": "Qué propiedades se obtendrán:",
        "apihelp-query+redirects-paramvalue-prop-pageid": "Identificador de página de cada redirección.",
        "apihelp-query+redirects-paramvalue-prop-title": "Título de cada redirección.",
        "apihelp-query+stashimageinfo-example-params": "Devuelve las miniaturas de dos archivos escondidos.",
        "apihelp-query+tags-param-limit": "El número máximo de etiquetas para enumerar.",
        "apihelp-query+tags-param-prop": "Qué propiedades se obtendrán:",
+       "apihelp-query+tags-paramvalue-prop-name": "Añade el nombre de la etiqueta.",
        "apihelp-query+tags-paramvalue-prop-displayname": "Agrega el mensaje de sistema para la etiqueta.",
+       "apihelp-query+tags-paramvalue-prop-description": "Añade la descripción de la etiqueta.",
+       "apihelp-query+tags-paramvalue-prop-defined": "Indicar si la etiqueta está definida.",
        "apihelp-query+tags-paramvalue-prop-source": "Obtiene las fuentes de la etiqueta, que pueden incluir <samp>extension</samp> para etiquetas definidas por extensiones y <samp>manual</samp> para etiquetas que pueden aplicarse manualmente por los usuarios.",
        "apihelp-query+tags-paramvalue-prop-active": "Si la etiqueta aún se sigue aplicando.",
+       "apihelp-query+tags-example-simple": "Enumera las etiquetas disponibles.",
        "apihelp-query+templates-description": "Devuelve todas las páginas transcluidas en las páginas dadas.",
        "apihelp-query+templates-param-namespace": "Mostrar plantillas solamente en estos espacios de nombres.",
        "apihelp-query+templates-param-limit": "Cuántas plantillas se devolverán.",
        "apihelp-query+users-param-prop": "Qué piezas de información incluir:",
        "apihelp-query+users-paramvalue-prop-blockinfo": "Etiqueta si el usuario está bloqueado, por quién y por qué razón.",
        "apihelp-query+users-paramvalue-prop-groups": "Lista todos los grupos a los que pertenece cada usuario.",
+       "apihelp-query+users-paramvalue-prop-implicitgroups": "Enumera todos los grupos a los que pertenece automáticamente un usuario.",
+       "apihelp-query+users-paramvalue-prop-rights": "Enumera todos los permisos que tiene cada usuario.",
        "apihelp-query+users-paramvalue-prop-editcount": "Añade el número de ediciones del usuario.",
        "apihelp-query+users-paramvalue-prop-registration": "Añade la marca de tiempo del registro del usuario.",
        "apihelp-query+users-paramvalue-prop-gender": "Etiqueta el género del usuario. Devuelve \"masculino\", \"femenino\" o \"desconocido\".",
        "api-help-param-integer-min": "{{PLURAL:$1|1=El valor no debe ser menor|2=Los valores no deben ser menores}} a $2.",
        "api-help-param-integer-max": "{{PLURAL:$1|1=El valor no debe ser mayor|2=Los valores no deben ser mayores}} a $3.",
        "api-help-param-integer-minmax": "{{PLURAL:$1|1=El valor debe|2=Los valores deben}} estar entre $2 y $3.",
-       "api-help-param-multi-separate": "Separar los valores con <kbd>|</kbd>.",
+       "api-help-param-multi-separate": "Separar los valores con <kbd>|</kbd> o con una [[Special:ApiHelp/main#main/datatypes|alternativa]].",
        "api-help-param-multi-max": "El número máximo de los valores es {{PLURAL:$1|$1}} ({{PLURAL:$2|$2}} para los bots).",
        "api-help-param-multi-all": "Para especificar todos los valores, utiliza <kbd>$1</kbd>.",
        "api-help-param-default": "Predeterminado: $1",
        "apierror-canthide": "No tienes permiso para ocultar nombres de usuario del registro de bloqueos.",
        "apierror-cantimport-upload": "No tienes permiso para importar páginas subidas.",
        "apierror-cantimport": "No tienes permiso para importar páginas.",
+       "apierror-import-unknownerror": "Error desconocido en la importación: $1.",
+       "apierror-invalidexpiry": "Tiempo de expiración \"$1\" no válido.",
        "apierror-invalidparammix-cannotusewith": "El parámetro <kbd>$1</kbd> no se puede utilizar junto con <kbd>$2</kbd>.",
        "apierror-invalidparammix-mustusewith": "El parámetro <kbd>$1</kbd> solo se puede utilizar junto con <kbd>$2</kbd>.",
        "apierror-invalidparammix-parse-new-section": "<kbd>section=new</kbd> no se puede combinar con los parámetros <var>oldid</var>, <var>pageid</var> y <var>page</var>. Por favor, utiliza <var>title</var> y <var>text</var>.",
        "apierror-noedit-anon": "Los usuarios anónimos no pueden editar páginas.",
        "apierror-noedit": "No tienes permiso para editar páginas.",
        "apierror-paramempty": "El parámetro <var>$1</var> no puede estar vacío.",
+       "apierror-permissiondenied": "No tienes permiso para $1.",
        "apierror-permissiondenied-generic": "Permiso denegado.",
        "apierror-permissiondenied-unblock": "No tienes permiso para desbloquear usuarios.",
        "apierror-readapidenied": "Necesitas permiso de lectura para utilizar este módulo.",
        "apiwarn-deprecation-httpsexpected": "Se ha utilizado HTTP cuando se esperaba HTTPS.",
        "apiwarn-invalidcategory": "\"$1\" no es una categoría.",
        "apiwarn-invalidtitle": "«$1» no es un título válido.",
+       "apiwarn-invalidxmlstylesheetns": "La hoja de estilos debería estar en el espacio de nombres {{ns:MediaWiki}}.",
        "apiwarn-notfile": "\"$1\" no es un archivo.",
+       "apiwarn-validationfailed-keytoolong": "clave demasiado larga (no puede tener más de $1 bytes).",
+       "apiwarn-validationfailed": "Error de validación de <kbd>$1</kbd>: $2",
        "api-feed-error-title": "Error ($1)",
        "api-usage-docref": "Véase $1 para el uso de la API.",
        "api-exception-trace": "$1 en $2($3)\n$4",
index 3886443..901ff29 100644 (file)
        "apihelp-userrights-param-reason": "Motif pour la modification.",
        "apihelp-userrights-example-user": "Ajouter l’utilisateur <kbd>FooBot</kbd> au groupe <kbd>bot</kbd>, et le supprimer des groupes <kbd>sysop</kbd> et <kbd>bureaucrat</kbd>.",
        "apihelp-userrights-example-userid": "Ajouter l’utilisateur d’ID <kbd>123</kbd> au groupe <kbd>robot</kbd>, et le supprimer des groupes <kbd>sysop</kbd> et <kbd>bureaucrate</kbd>.",
+       "apihelp-validatepassword-description": "Valider un mot de passe en suivant les règles des mots de passe du wiki.\n\nLa validation est <samp>Good</samp> si le mot de passe est acceptable, <samp>Change</samp> s'il peut être utilisé pour se connecter et doit être changé, ou  <samp>Invalid</samp> s'il n'est pas utilisable.",
+       "apihelp-validatepassword-param-password": "Mot de passe à valider.",
+       "apihelp-validatepassword-param-user": "Nom de l'utilisateur, pour tester la création de compte. L'utilisateur ne doit pas déja exister.",
+       "apihelp-validatepassword-param-email": "Adresse courriel, pour tester la création de compte.",
+       "apihelp-validatepassword-param-realname": "Vrai nom, pour tester la création de compte.",
+       "apihelp-validatepassword-example-1": "Valider le mot de passe <kbd>foobar</kbd> pour l'utilisateur actuel.",
+       "apihelp-validatepassword-example-2": "Valider le mot de passe <kbd>qwerty</kbd> pour la création de l'utilisateur <kbd>Example</kbd>.",
        "apihelp-watch-description": "Ajouter ou supprimer des pages de la liste de suivi de l’utilisateur actuel.",
        "apihelp-watch-param-title": "La page à (ne plus) suivre. Utiliser plutôt <var>$1titles</var>.",
        "apihelp-watch-param-unwatch": "Si défini, la page ne sera plus suivie plutôt que suivie.",
index 2a14cc2..9e456bb 100644 (file)
        "apierror-cannotviewtitle": "Non está autorizado para ver $1.",
        "apierror-cantblock": "Non ten permisos para bloquear usuarios.",
        "apierror-cantimport": "Non ten permisos para importar páxinas.",
+       "apierror-changeauth-norequest": "Erro ó crear a petición de modificación.",
+       "apierror-chunk-too-small": "O tamaño mínimo dun segmento é de  $1 {{PLURAL:$1|byte|bytes}} para os segmentos non finais.",
+       "apierror-cidrtoobroad": "Os rangos CIDR $1 maiores que /$2 non son aceptados.",
+       "apierror-compare-inputneeded": "É necesario un título, un ID de páxina ou un número de revisión para os parámetros <var>from</var> e <var>to</var>.",
+       "apierror-contentserializationexception": "Erro de serialización do contidoː $1",
+       "apierror-contenttoobig": "O contido que achegou excede o límite de tamaño dun artigo, que é de  {{PLURAL:$1|kilobyte|kilobytes}}.",
+       "apierror-copyuploadbaddomain": "As subas por URL non están permitidas para este dominio.",
+       "apierror-copyuploadbadurl": "As subas non están permitidas para esta URL.",
+       "apierror-create-titleexists": "Os títulos existentes non poden ser protexidos con <kbd>create</kbd>.",
+       "apierror-csp-report": "Erro procesando o informe CSPː $1.",
+       "apierror-databaseerror": "[$1] erro de consulta da base de datos.",
+       "apierror-deletedrevs-param-not-1-2": "O parámetro <var>$1</var> non pode usarse nos modos 1 e 2.",
+       "apierror-deletedrevs-param-not-3": "O parámetro <var>$1</var> non pode usarse no modo 3.",
+       "apierror-emptynewsection": "Non é posible crear novas seccións baleiras.",
+       "apierror-emptypage": "Non é posible crear novas páxinas baleiras.",
        "apierror-exceptioncaught": "[$1] Excepción capturada: $2",
        "apierror-filedoesnotexist": "O ficheiro non existe.",
+       "apierror-fileexists-sharedrepo-perm": "O ficheiro obxectivo existe nun servidor compartido. Use o parámetro <var>ignorewarnings</var> para ignoralo.",
        "apierror-filenopath": "Non é posible obter o camiño do ficheiro local.",
        "apierror-filetypecannotberotated": "O tipo de ficheiro non permite que sexa rotado.",
+       "apierror-formatphp": "Esta resposta non pode ser representada usando kbd>format=php</kbd>. Consulte https://phabricator.wikimedia.org/T68776.",
        "apierror-imageusage-badtitle": "O título para <kbd>$1</kbd> debe ser un ficheiro.",
        "apierror-import-unknownerror": "Erro descoñecido ó importarː $1.",
+       "apierror-integeroutofrange-abovebotmax": "<var>$1</var> non pode pasar de $2 (fixado a $3) para bots ou administradores do sistema.",
+       "apierror-integeroutofrange-abovemax": "<var>$1</var> non pode pasar de $2 (fixado a $3) para os usuarios.",
+       "apierror-integeroutofrange-belowminimum": "<var>$1</var> non pode ser menor de $2 (fixado a $3).",
+       "apierror-invalidcategory": "O nome da categoría que indicou non é válido.",
+       "apierror-invalid-chunk": "O desplazamento máis o segmento actual é maior que o tamaño solicitado do ficheiro.",
        "apierror-invalidexpiry": "Hora de caducidade incorrecta \"$1\".",
        "apierror-invalid-file-key": "Non se corresponde cunha clave válida de ficheiro.",
        "apierror-invalidlang": "Código de lingua incorrecto para o parámetro <var>$1</var>.",
        "apierror-invalidoldimage": "O parámetro oldimage ten un formato incorrecto.",
        "apierror-invalidparammix-cannotusewith": "O parámetro <kbd>$1</kbd> non pode usarse xunto con <kbd>$2</kbd>.",
        "apierror-invalidparammix-mustusewith": "O parámetro <kbd>$1</kbd> só pode usarse xunto con <kbd>$2</kbd>.",
+       "apierror-invalidparammix-parse-new-section": "<kbd>section=new</kbd> non se pode combinar cos parámetros <var>oldid</var>, <var>pageid</var> e <var>page</var>. Por favor, utilice <var>title</var> e <var>text</var>.",
        "apierror-invalidparammix": "{{PLURAL:$2|Os parámetros}} $1 non poden usarse xuntos.",
        "apierror-invalidsection": "O parámetro sección debe ser un ID de sección válido ou <kbd>new</kbd>.",
        "apierror-invalidsha1base36hash": "O código hash SHA1Base36 proporcionado non é correcto.",
        "apierror-invalidurlparam": "Valor non válido para <var>$1urlparam</var> (<kbd>$2=$3</kbd>).",
        "apierror-invaliduser": "Nome de usuario incorrecto \"$1\".",
        "apierror-maxlag-generic": "Esparando por un servidor de base de datosː $1 {{PLURAL:$1|segundo|segundos}} de atraso.",
+       "apierror-maxlag": "Esperando por $2: $1 {{PLURAL:$1|segundo|segundos}} de atraso.",
+       "apierror-mimesearchdisabled": "A busca MIME está desactivada no modo Miser (tacaño).",
        "apierror-noedit-anon": "Os usuarios anónimos non poden editar páxinas.",
        "apierror-noedit": "Non ten permisos para editar páxinas.",
        "apierror-permissiondenied-generic": "Permisos rexeitados.",
index 92284ac..f790585 100644 (file)
@@ -15,7 +15,8 @@
                        "Urielejh",
                        "Matteocng",
                        "Einreiher",
-                       "Mpiva"
+                       "Mpiva",
+                       "Margherita.mignanelli"
                ]
        },
        "apihelp-main-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:API:Main_page|Documentazione]] (in inglese)\n* [[mw:API:FAQ|FAQ]] (in inglese)\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Mailing list]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce Annunci sull'API]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Bug & richieste]\n</div>\n<strong>Stato:</strong> tutte le funzioni e caratteristiche mostrate su questa pagina dovrebbero funzionare, ma le API sono ancora in fase attiva di sviluppo, e potrebbero cambiare in qualsiasi momento. Iscriviti alla [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ la mailing list sugli annunci delle API MediaWiki] per essere informato sugli aggiornamenti.\n\n<strong>Istruzioni sbagliate:</strong> quando vengono impartite alle API delle istruzioni sbagliate, un'intestazione HTTP verrà inviata col messaggio \"MediaWiki-API-Error\" e, sia il valore dell'intestazione, sia il codice d'errore, verranno impostati con lo stesso valore. Per maggiori informazioni leggi [[mw:API:Errors_and_warnings|API:Errori ed avvertimenti]] (in inglese).\n\n<strong>Test:</strong> per testare facilmente le richieste API, vedi [[Special:ApiSandbox]].",
        "apihelp-userrights-param-add": "Aggiungi l'utente a questi gruppi.",
        "apihelp-userrights-param-remove": "Rimuovi l'utente da questi gruppi.",
        "apihelp-userrights-param-reason": "Motivo del cambiamento.",
+       "apihelp-validatepassword-description": "Convalidare una password seguendo le politiche di wiki sulle password",
+       "apihelp-validatepassword-param-password": "Password da convalidare",
+       "apihelp-validatepassword-example-1": "Convalidare la password <kbd>foobar</kbd> per l'attuale utente.",
+       "apihelp-validatepassword-example-2": "Convalidare la password <kbd>qwerty</kbd> per la creazione di un utente <kbd>Esempio</kbd>.",
        "apihelp-watch-description": "Aggiunge o rimuove pagine dagli osservati speciali dell'utente attuale.",
        "apihelp-format-param-wrappedhtml": "Restituisce l'HTML ben formattato e i moduli ResourceLoader associati come un oggetto JSON.",
        "api-pageset-param-titles": "Un elenco di titoli su cui lavorare.",
index 20cabb7..ff4f0d1 100644 (file)
        "apihelp-upload-param-ignorewarnings": "모든 경고를 무시합니다.",
        "apihelp-userrights-param-user": "사용자 이름.",
        "apihelp-userrights-param-userid": "사용자 ID.",
+       "apihelp-validatepassword-param-email": "계정 생성을 테스트할 때 사용할 이메일 주소입니다.",
+       "apihelp-validatepassword-param-realname": "계정 생성을 테스트할 때 사용할 실명입니다.",
        "apihelp-rawfm-description": "출력 데이터, 디버깅 요소를 포함, (HTML에 포함된)JSON형식.",
        "apihelp-xml-param-includexmlnamespace": "지정하면 XML 이름공간을 추가합니다.",
        "api-format-title": "미디어위키 API 결과",
index ac16bfa..4a98f4a 100644 (file)
        "apihelp-userrights-param-user": "Benotzernumm.",
        "apihelp-userrights-param-userid": "Benotzer Id.",
        "apihelp-userrights-param-reason": "Grond fir d'Ännerung.",
+       "apihelp-validatepassword-param-password": "Passwuert fir ze validéieren.",
+       "apihelp-validatepassword-example-1": "Validéiert d'Passwuert <kbd>foobar</kbd> fir den aktuelle Benotzer.",
        "apihelp-watch-example-watch": "D'Säit <kbd>Main Page</kbd> iwwerwaachen.",
        "api-help-source": "Quell: $1",
        "api-help-source-unknown": "Quell: <span class=\"apihelp-unknown\">onbekannt</span>",
index 0c5cf8e..be62f8c 100644 (file)
@@ -27,7 +27,7 @@
        "apihelp-main-param-errorlang": "A língua a ser usada para avisos e erros. <kbd>[[Special:ApiHelp/query+siteinfo|action=query&meta=siteinfo]]</kbd> com <kbd>siprop=languages</kbd> devolve uma lista de códigos de língua, ou especifique <kbd>content</kbd> para usar a língua de conteúdo desta wiki, ou especifique <kbd>uselang</kbd> para usar o mesmo valor que o parâmetro <var>uselang</var>.",
        "apihelp-main-param-errorsuselocal": "Se fornecido, os textos de erro utilizarão mensagens personalizadas localmente do espaço nominal {{ns:MediaWiki}}.",
        "apihelp-block-description": "Bloquear um utilizador.",
-       "apihelp-block-param-user": "O nome de utilizador, endereço IP ou gama de endereços IP a serem bloqueados.",
+       "apihelp-block-param-user": "O nome de utilizador, endereço IP ou gama de endereços IP a serem bloqueados. Não pode ser usado em conjunto com <var>$1userid</var>",
        "apihelp-block-param-expiry": "O período de expiração. Pode ser relativo (p. ex. <kbd>5 meses</kbd> ou <kbd>2 semanas</kbd>) ou absoluto (p. ex. <kbd>2014-09-18T12:34:56Z</kbd>). Se definido como <kbd>infinite</kbd>, <kbd>indefinite</kbd> ou <kbd>never</kbd>, o bloqueio nunca expirará.",
        "apihelp-block-param-reason": "O motivo do bloqueio.",
        "apihelp-block-param-anononly": "Bloquear só utilizadores anónimos (isto é, impedir edições anónimas a partir deste endereço IP)",
        "apihelp-tokens-example-edit": "Obter uma chave de edição (padrão).",
        "apihelp-tokens-example-emailmove": "Obter uma chave de correio eletrónico e uma chave de movimentação.",
        "apihelp-unblock-description": "Desbloquear um utilizador.",
-       "apihelp-unblock-param-id": "Identificador do bloqueio a desfazer (obtido com <kbd>list=blocks</kbd>). Não pode ser usado em conjunto com <var>$1user</var>.",
-       "apihelp-unblock-param-user": "Nome de utilizador, endereço IP ou gama de endereços IP a desbloquear. Não pode ser usado em conjunto com <var>$1id</var>.",
+       "apihelp-unblock-param-id": "Identificador do bloqueio a desfazer (obtido com <kbd>list=blocks</kbd>). Não pode ser usado em conjunto com <var>$1user</var> ou <var>$luserid</var>.",
+       "apihelp-unblock-param-user": "O nome de utilizador, endereço IP ou gama de endereços IP a ser desbloqueado. Não pode ser usado em conjunto com <var>$1id</var> ou <var>$luserid</var>.",
        "apihelp-unblock-param-reason": "Motivo para o desbloqueio.",
        "apihelp-unblock-param-tags": "As etiquetas de modificação a aplicar à entrada no registo de bloqueios.",
        "apihelp-unblock-example-id": "Desfazer o bloqueio com o identificador #<kbd>105</kbd>.",
index 1fbc3d0..3c82486 100644 (file)
        "apihelp-userrights-example-user": "{{doc-apihelp-example|userrights}}",
        "apihelp-userrights-example-userid": "{{doc-apihelp-example|userrights}}",
        "apihelp-validatepassword-description": "{{doc-apihelp-description|validatepassword}}",
-       "apihelp-validatepassword-param-email": "{{doc-apihelp-param|validatepassword|email}}",
        "apihelp-validatepassword-param-password": "{{doc-apihelp-param|validatepassword|password}}",
-       "apihelp-validatepassword-param-realname": "{{doc-apihelp-param|validatepassword|realname}}",
        "apihelp-validatepassword-param-user": "{{doc-apihelp-param|validatepassword|user}}",
+       "apihelp-validatepassword-param-email": "{{doc-apihelp-param|validatepassword|email}}",
+       "apihelp-validatepassword-param-realname": "{{doc-apihelp-param|validatepassword|realname}}",
        "apihelp-validatepassword-example-1": "{{doc-apihelp-example|validatepassword}}",
        "apihelp-validatepassword-example-2": "{{doc-apihelp-example|validatepassword}}",
        "apihelp-watch-description": "{{doc-apihelp-description|watch}}",
index 5d3f2d4..321731c 100644 (file)
@@ -26,7 +26,7 @@
        "apihelp-main-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:API:Main_page|Документация]]\n* [[mw:API:FAQ|ЧаВО]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Почтовая рассылка]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce Новости API]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Ошибки и запросы]\n</div>\n<strong>Статус:</strong> Все отображаемые на этой странице функции должны работать, однако API находится в статусе активной разработки и может измениться в любой момент. Подпишитесь на [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ почтовую рассылку mediawiki-api-announce], чтобы быть в курсе обновлений.\n\n<strong>Ошибочные запросы:</strong> Если API получает запрос с ошибкой, вернётся заголовок HTTP с ключом «MediaWiki-API-Error», после чего значение заголовка и код ошибки будут отправлены обратно и установлены в то же значение. Более подробную информацию см. [[mw:API:Errors_and_warnings|API: Ошибки и предупреждения]].\n\n<strong>Тестирование:</strong> для удобства тестирования API-запросов, см. [[Special:ApiSandbox]].",
        "apihelp-main-param-action": "Действие, которое следует выполнить.",
        "apihelp-main-param-format": "Формат вывода.",
-       "apihelp-main-param-maxlag": "Ð\9cакÑ\81ималÑ\8cное Ð¾Ñ\82Ñ\81Ñ\82авание Ð¼Ð¾Ð¶ÐµÑ\82 Ð±Ñ\8bÑ\82Ñ\8c Ð¸Ñ\81полÑ\8cзован, ÐºÐ¾Ð³Ð´Ð° Ð\9cедиавики Ñ\83Ñ\81Ñ\82анавливаеÑ\82Ñ\81Ñ\8f Ð½Ð° Ñ\80еплиÑ\86иÑ\80Ñ\83емой Ð±Ð°Ð·Ñ\8b Ð´Ð°Ð½Ð½Ñ\8bÑ\85 ÐºÐ»Ð°Ñ\81Ñ\82еÑ\80а. Ð§Ñ\82обÑ\8b Ñ\81паÑ\81Ñ\82и Ð´ÐµÐ¹Ñ\81Ñ\82вий, Ñ\81поÑ\81обнÑ\8bÑ\85 Ð¿Ñ\80иÑ\87иниÑ\82Ñ\8c Ð±Ð¾Ð»Ñ\8cÑ\88е Ð¾Ñ\82Ñ\81Ñ\82аваÑ\82Ñ\8c Ñ\80епликаÑ\86ии Ñ\81айÑ\82а, Ñ\8dÑ\82оÑ\82 Ð¿Ð°Ñ\80амеÑ\82Ñ\80 Ð¼Ð¾Ð¶ÐµÑ\82 Ð·Ð°Ñ\81Ñ\82авлÑ\8fÑ\82Ñ\8c ÐºÐ»Ð¸ÐµÐ½Ñ\82а Ð¶Ð´Ð°Ñ\82Ñ\8c Ð´Ð¾ Ð·Ð°Ð´ÐµÑ\80жки Ñ\80епликаÑ\86ии Ð¼ÐµÐ½Ñ\8cÑ\88е Ñ\83казанного Ð·Ð½Ð°Ñ\87ениÑ\8f. Ð\92 Ñ\81лÑ\83Ñ\87ае Ñ\87Ñ\80езмеÑ\80ной Ð·Ð°Ð´ÐµÑ\80жки, ÐºÐ¾Ð´ Ð¾Ñ\88ибки <samp>maxlag</samp> Ð²Ð¾Ð·Ð²Ñ\80аÑ\89аеÑ\82Ñ\81Ñ\8f Ñ\81 Ñ\81ообÑ\89ением <samp>ждеÑ\82 $ведÑ\83Ñ\89ий: $оÑ\82Ñ\81Ñ\82аваÑ\82Ñ\8c Ñ\81екÑ\83нд Ð¾Ñ\82Ñ\81Ñ\82ала</samp>.<br />См. [[mw:Manual:Maxlag_parameter|Maxlag Ð¿Ð°Ñ\80амеÑ\82Ñ\80]] Ð´Ð»Ñ\8f Ð¿Ð¾Ð»Ñ\83Ñ\87ениÑ\8f Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ\82елÑ\8cной Ð¸Ð½Ñ\84оÑ\80маÑ\86ии.",
+       "apihelp-main-param-maxlag": "Ð\97наÑ\87ение Ð¼Ð°ÐºÑ\81ималÑ\8cного Ð¾Ñ\82Ñ\81Ñ\82аваниÑ\8f Ð¼Ð¾Ð¶ÐµÑ\82 Ð¸Ñ\81полÑ\8cзоваÑ\82Ñ\8cÑ\81Ñ\8f, ÐºÐ¾Ð³Ð´Ð° MediaWiki Ñ\83Ñ\81Ñ\82анавливаеÑ\82Ñ\81Ñ\8f Ð½Ð° ÐºÐ»Ð°Ñ\81Ñ\82еÑ\80 Ð¸Ð· Ñ\80еплиÑ\86иÑ\80Ñ\83емÑ\8bÑ\85 Ð±Ð°Ð· Ð´Ð°Ð½Ð½Ñ\8bÑ\85. Ð§Ñ\82обÑ\8b Ð¸Ð·Ð±ÐµÐ¶Ð°Ñ\82Ñ\8c Ñ\83Ñ\85Ñ\83дÑ\88ениÑ\8f Ñ\81иÑ\82Ñ\83аÑ\86ии Ñ\81 Ð¾Ñ\82Ñ\81Ñ\82аванием Ñ\80епликаÑ\86ии Ñ\81айÑ\82а, Ñ\8dÑ\82оÑ\82 Ð¿Ð°Ñ\80амеÑ\82Ñ\80 Ð¼Ð¾Ð¶ÐµÑ\82 Ð·Ð°Ñ\81Ñ\82авиÑ\82Ñ\8c ÐºÐ»Ð¸ÐµÐ½Ñ\82а Ð¶Ð´Ð°Ñ\82Ñ\8c, ÐºÐ¾Ð³Ð´Ð° Ð·Ð°Ð´ÐµÑ\80жка Ñ\80епликаÑ\86ии Ñ\81Ñ\82анеÑ\82 Ð½Ð¸Ð¶Ðµ Ñ\83казанного Ð·Ð½Ð°Ñ\87ениÑ\8f. Ð\92 Ñ\81лÑ\83Ñ\87ае Ñ\87Ñ\80езмеÑ\80ной Ð·Ð°Ð´ÐµÑ\80жки Ð²Ð¾Ð·Ð²Ñ\80аÑ\89аеÑ\82Ñ\81Ñ\8f ÐºÐ¾Ð´ Ð¾Ñ\88ибки Â«<samp>maxlag</samp>» Ñ\81 Ñ\81ообÑ\89ением Â«<samp>Waiting for $host: $lag seconds lagged</samp>».<br />См. Ð¿Ð¾Ð´Ñ\80обнее Ð½Ð° Ñ\81Ñ\82Ñ\80аниÑ\86е Ñ\81 Ð¾Ð¿Ð¸Ñ\81анием [[mw:Manual:Maxlag_parameter|паÑ\80амеÑ\82Ñ\80а maxlag]].",
        "apihelp-main-param-smaxage": "Устанавливает значение HTTP-заголовка Cache-Control <code>s-maxage</code> в заданное число секунд. Ошибки никогда не кэшируются.",
        "apihelp-main-param-maxage": "Устанавливает значение HTTP-заголовка Cache-Control <code>s-maxage</code> в заданное число секунд. Ошибки никогда не кэшируются.",
        "apihelp-main-param-assert": "Удостовериться, что пользователь авторизован, если задано <kbd>user</kbd>, или что имеет права бота, если задано <kbd>bot</kbd>.",
@@ -35,7 +35,8 @@
        "apihelp-main-param-servedby": "Включить в результаты имя хоста, обработавшего запрос.",
        "apihelp-main-param-curtimestamp": "Включить в результаты временную метку.",
        "apihelp-main-param-origin": "При обращении к API, используя кросс-доменный AJAX-запрос (CORS), задайте параметру значение исходного домена. Он должен быть включён в любой предварительный запрос и таким образом должен быть частью URI-запроса (не тела POST).\n\nДля аутентифицированных запросов он должен точно соответствовать одному из источников в заголовке <code>Origin</code>, так что он должен быть задан наподобие <kbd>https://ru.wikipedia.org</kbd> или <kbd>https://meta.wikimedia.org</kbd>. Если параметр не соответствует заголовку <code>Origin</code>, будет возвращён ответ с кодом ошибки 403. Если параметр соответствует заголовку <code>Origin</code>, и источник находится в белом списке, будут установлены заголовки <code>Access-Control-Allow-Origin</code> и <code>Access-Control-Allow-Credentials</code>.\n\nДля неаутентифицированных запросов укажите значение <kbd>*</kbd>. Это приведёт к установке заголовка <code>Access-Control-Allow-Origin</code> заголовка должен быть установлен, но <code>Access-Control-Allow-Credentials</code> примет значение <code>false</code> и все пользовательские данные будут ограничены.",
-       "apihelp-main-param-uselang": "Язык, используемый для перевода Сообщений. <kbd>[[Special:ApiHelp/query+siteinfo|action=query&meta=siteinfo]]</kbd> с <kbd>siprop=языки</kbd> возвращает список кодов языков, или указать <kbd>пользователей</kbd> , чтобы использовать текущий язык пользователя предпочтения, или указать <kbd>контента</kbd> для использования этой Вики содержание язык.",
+       "apihelp-main-param-uselang": "Язык, используемый для перевода сообщений. Запрос «<kbd>[[Special:ApiHelp/query+siteinfo|action=query&meta=siteinfo]]</kbd>» с «<kbd>siprop=languages</kbd>» возвращает список кодов языков; укажите «<kbd>user</kbd>», чтобы использовать текущие языковые настройки пользователя, или «<kbd>content</kbd>» для использования основного языка этой вики.",
+       "apihelp-main-param-errorlang": "Язык, используемый для вывода предупреждений и сообщений об ошибках. Запрос «<kbd>[[Special:ApiHelp/query+siteinfo|action=query&meta=siteinfo]]</kbd>» с «<kbd>siprop=languages</kbd>» возвращает список кодов языков; укажите «<kbd>content</kbd>» для использования основного языка этой вики, или «<kbd>uselang</kbd>» для использования того же значения, что и в параметре «<var>uselang</var>».",
        "apihelp-block-description": "Блокировка участника.",
        "apihelp-block-param-user": "Имя участника, IP-адрес или диапазон IP-адресов, которые вы хотите заблокировать. Нельзя использовать вместе с <var>$1userid</var>",
        "apihelp-block-param-userid": "ID участника, которого вы хотите заблокировать. Нельзя использовать одновременно с <var>$1user</var>.",
        "apierror-integeroutofrange-abovemax": "<var>$1</var> не может быть более $2 (на $3) для пользователей.",
        "apierror-nosuchuserid": "Нет пользователя с ID $1.",
        "apierror-protect-invalidaction": "Недопустимый тип защиты \"$1\".",
+       "apierror-systemblocked": "Вы были заблокированы автоматически Медиавики.",
        "apierror-unknownformat": "Неизвестный Формат \"$1\".",
        "apierror-urlparamnormal": "Не могли нормализовать параметры изображения для $1.",
        "api-credits-header": "Создатели"
index a9ae29d..ece0818 100644 (file)
@@ -29,7 +29,8 @@
        "apihelp-main-param-origin": "När API:et används genom en cross-domain AJAX-begäran (CORS), ange detta till den ursprungliga domänen. Detta måste inkluderas i alla pre-flight-begäran, och mpste därför vara en del av den begärda URI:n (inte i POST-datat). Detta måste överensstämma med en av källorna i headern <code>Origin</code> exakt, så den måste sättas till något i stil med <kbd>http://en.wikipedia.org</kbd> eller <kbd>https://meta.wikimedia.org</kbd>. Om denna parameter inte överensstämmer med headern <code>Origin</code>, returneras ett 403-svar. Om denna parameter överensstämmer med headern <code>Origin</code> och källan är vitlistad, sätts en <code>Access-Control-Allow-Origin</code>-header.",
        "apihelp-main-param-uselang": "Språk som ska användas för meddelandeöversättningar. En lista med koder kan hämtas från <kbd>[[Special:ApiHelp/query+siteinfo|action=query&meta=siteinfo]]</kbd> med <kbd>siprop=languages</kbd>, eller ange <kbd>user</kbd> för att använda den aktuella användarens språkpreferenser, eller ange <kbd>content</kbd> för att använda innehållsspråket.",
        "apihelp-block-description": "Blockera en användare.",
-       "apihelp-block-param-user": "Användare, IP-adress eller IP-intervall du vill blockera.",
+       "apihelp-block-param-user": "Användare, IP-adress eller IP-intervall att blockera. Kan inte användas tillsammans med <var>$1userid</var>",
+       "apihelp-block-param-userid": "Användar-ID att blocker. Kan inte användas tillsammans med <var>$1user</var>.",
        "apihelp-block-param-expiry": "Förfallotid. Kan vara Kan vara relativt (t.ex. <kbd>5 months</kbd> eller <kbd>2 weeks</kbd>) eller absolut (t.ex. <kbd>2014-09-18T12:34:56Z</kbd>). Om satt till <kbd>infinite</kbd>, <kbd>indefinite</kbd> eller <kbd>never</kbd>, kommer blockeringen aldrig att löpa ut.",
        "apihelp-block-param-reason": "Orsak till blockering.",
        "apihelp-block-param-anononly": "Blockera endast anonyma användare (t.ex. inaktivera anonyma redigeringar för denna IP-adress).",
        "apihelp-query+watchlistraw-example-simple": "Lista sidor på den aktuella användarens bevakningslista.",
        "apihelp-setnotificationtimestamp-example-all": "Återställ meddelandestatus för hela bevakningslistan.",
        "apihelp-stashedit-param-summary": "Ändra sammanfattning.",
+       "apihelp-unblock-param-id": "ID för blockeringen att häva (hämtas genom <kbd>list=blocks</kbd>). Kan inte användas tillsammans med <var>$1user</var> eller <var>$luserid</var>.",
+       "apihelp-unblock-param-user": "Användarnamn, IP-adresser eller IP-adressintervall att häva blockering för. Kan inte användas tillsammans med <var>$1id</var> eller <var>$luserid</var>.",
+       "apihelp-unblock-param-userid": "Användar-ID att häva blockering för. Kan inte användas tillsammans med <var>$1id</var> eller <var>$1user</var>.",
        "apihelp-upload-param-filekey": "Nyckel som identifierar en tidigare uppladdning som lagrats temporärt.",
        "apihelp-upload-param-stash": "Om angiven, kommer servern att temporärt lagra filen istället för att lägga till den i centralförvaret.",
        "apihelp-upload-example-url": "Ladda upp från URL.",
index a823a00..aaea10a 100644 (file)
        "apihelp-main-param-origin": "При доступі до API з використанням крос-доменного AJAX-запиту (CORS), задайте параметру значення вихідного домена. Він має бути включений у будь-який попередній запит і таким чином мусить бути частиною запиту URI (не тіла POST). \n\nДля автентифікованих запитів він повинен точно співпадати з одним з виходів у заголовку <code>Origin</code>, тобто бути заданим чимось на зразок <kbd>https://uk.wikipedia.org</kbd> або <kbd>https://meta.wikimedia.org</kbd>. Якщо цей параметр не співпадає з заголовком <code>Origin</code>, повернеться помилка 403. Якщо цей параметр співпадає з заголовком <code>Origin</code> і вихід знаходиться у білому списку, буде встановлено заголовки <code>Access-Control-Allow-Origin</code> і <code>Access-Control-Allow-Credentials</code>.\n\nДля неавтентифікованих запитів укажіть значення <kbd>*</kbd>. Це дасть встановлення заголовка <code>Access-Control-Allow-Origin</code>, але <code>Access-Control-Allow-Credentials</code> буде <code>false</code> і всі дані про користувача будуть заборонені.",
        "apihelp-main-param-uselang": "Мова, що використовується для перекладу повідомлень. Список кодів можна видати на <kbd>[[Special:ApiHelp/query+siteinfo|action=query&meta=siteinfo]]</kbd> з <kbd>siprop=languages</kbd> або вказати <kbd>user</kbd> на використання поточного налаштування мови користувача, або вказати <kbd>content</kbd> на використання мови вмісту цієї вікі.",
        "apihelp-main-param-errorformat": "Формат попереджень і тексту помилок.\n; plaintext: вікітекст із прираними HTML-тегами і заміненими HTML-мнемоніками.\n; wikitext: неопрацьований вікітекст.\n; html: HTML.\n; raw: лише ключ і параметри повідомлення.\n; none: без тексту, тільки коди помилок.\n; bc: формат, який використовувався до MediaWiki 1.29. <var>errorlang</var> і <var>errorsuselocal</var> ігноруються.",
+       "apihelp-main-param-errorlang": "Мова, яку використовувати для попереджень і помилок. <kbd>[[Special:ApiHelp/query+siteinfo|action=query&meta=siteinfo]]</kbd> із <kbd>siprop=languages</kbd> повертає список кодів мов, або ж вкажіть <kbd>content</kbd>, щоб використати мову вмісту поточної вікі, або вкажіть <kbd>uselang</kbd>, щоб використовувати те ж значення, що й параметр <var>uselang</var>.",
+       "apihelp-main-param-errorsuselocal": "Якщо задано, тексти помилок використовуватимуть локальні повідомлення з простору назв {{ns:MediaWiki}}.",
        "apihelp-block-description": "Заблокувати користувача.",
-       "apihelp-block-param-user": "Ім'я користувача, IP-адреса або діапазон IP-адрес для блокування.",
+       "apihelp-block-param-user": "Ім'я користувача, IP-адреса або діапазон IP-адрес для блокування. Не може бути використано разом із <var>$1userid</var>",
+       "apihelp-block-param-userid": "Ідентифікатор користувача, який заблокувати. Не може бути використано разом із <var>$1user</var>.",
        "apihelp-block-param-expiry": "Закінчення часу. Може бути відносним (напр., <kbd>5 місяців</kbd> або <kbd>2 тижні</kbd>) чи абсолютним (напр., <kbd>2014-09-18T12:34:56Z</kbd>). Якщо вказано <kbd>infinite</kbd>, <kbd>indefinite</kbd> або <kbd>never</kbd>, блокування не закінчиться ніколи.",
        "apihelp-block-param-reason": "Причина блокування.",
        "apihelp-block-param-anononly": "Блокувати тільки анонімних користувачів (тобто відключити можливість анонімних редагувань з цієї IP-адреси).",
        "apihelp-query+imageinfo-paramvalue-prop-archivename": "Додає назву файлу архівної версії для неостанніх версій.",
        "apihelp-query+imageinfo-paramvalue-prop-bitdepth": "Додає бітну глибину версії.",
        "apihelp-query+imageinfo-paramvalue-prop-uploadwarning": "Використовується на Special:Upload page для отримання інформації про наявний файл. Не призначено для використання поза ядром MediaWiki.",
+       "apihelp-query+imageinfo-paramvalue-prop-badfile": "Додає інформацію про те, чи перебуває файл у \n[[MediaWiki:Bad image list|списку недозволених файлів]]",
        "apihelp-query+imageinfo-param-limit": "Скільки виводити версій кожного файлу.",
        "apihelp-query+imageinfo-param-start": "Часова мітка, з якої почати список.",
        "apihelp-query+imageinfo-param-end": "Часова мітка, на якій закінчити список.",
        "apihelp-query+imageinfo-param-extmetadatamultilang": "Якщо переклади властивості extmetadata доступні, вибрати їх усі.",
        "apihelp-query+imageinfo-param-extmetadatafilter": "Якщо вказано і не порожньо, буде видано лише ці ключі для $1prop=extmetadata.",
        "apihelp-query+imageinfo-param-urlparam": "Рядок окремого параметра. Наприклад, PDF-ки можуть використовувати <kbd>page15-100px</kbd>. <var>$1urlwidth</var> повинно використовуватись і бути сумісним з <var>$1urlparam</var>.",
+       "apihelp-query+imageinfo-param-badfilecontexttitle": "Якщо встановлено <kbd>$2prop=badfile</kbd>, це — назва сторінки, що буде використана при аналізі [[MediaWiki:Bad image list]]",
        "apihelp-query+imageinfo-param-localonly": "Шукати лише файли у локальному репозиторії.",
        "apihelp-query+imageinfo-example-simple": "Вибрати інформацію про поточну версію [[:File:Albert Einstein Head.jpg]].",
        "apihelp-query+imageinfo-example-dated": "Вибрати інформацію про версії [[:File:Test.jpg]] від 2008 і раніше.",
        "apihelp-query+users-paramvalue-prop-cancreate": "Вказує, чи можна створити обліковий запис для допустимих, але незареєстрованих імен користувачів.",
        "apihelp-query+users-param-attachedwiki": "Із <kbd>$1prop=centralids</kbd>, вказати, чи користувач має приєднану вікі, визначену цим ідентифікатором.",
        "apihelp-query+users-param-users": "Список користувачів, для яких отримати інформацію.",
+       "apihelp-query+users-param-userids": "Список ідентифікаторів користувачів, щодо яких треба отримати інформацію.",
        "apihelp-query+users-param-token": "Використати натомість <kbd>[[Special:ApiHelp/query+tokens|action=query&meta=tokens]]</kbd>.",
        "apihelp-query+users-example-simple": "Вивести інформацію для користувача <kbd>Example</kbd>.",
        "apihelp-query+watchlist-description": "Отримати нещодавні зміни сторінок у списку спостереження поточного користувача.",
        "apihelp-tokens-example-edit": "Отримати жетон редагування (за замовчуванням).",
        "apihelp-tokens-example-emailmove": "Отримати жетон електронної пошти та жетон перейменування.",
        "apihelp-unblock-description": "Розблокувати користувача.",
-       "apihelp-unblock-param-id": "Ідентифікатор блоку чи розблокування (отриманий через <kbd>list=blocks</kbd>). Не може бути використано разом з <var>$1user</var>.",
-       "apihelp-unblock-param-user": "Ім'я користувача, IP-адреса чи IP-діапазон до розблокування. Не може бути використано разом з <var>$1id</var>.",
+       "apihelp-unblock-param-id": "Ідентифікатор блоку чи розблокування (отриманий через <kbd>list=blocks</kbd>). Не може бути використано разом із <var>$1user</var> або <var>$luserid</var>.",
+       "apihelp-unblock-param-user": "Ім'я користувача, IP-адреса чи IP-діапазон до розблокування. Не може бути використано разом із <var>$1id</var> або <var>$luserid</var>.",
+       "apihelp-unblock-param-userid": "Ідентифікатор користувача до розблокування. Не може бути використано разом із <var>$1id</var> або <var>$1user</var>.",
        "apihelp-unblock-param-reason": "Причина розблокування.",
        "apihelp-unblock-param-tags": "Змінити теги, що мають бути застосовані до запису в журналі блокувань.",
        "apihelp-unblock-example-id": "Зняти блокування з ідентифікатором #<kbd>105</kbd>.",
        "apihelp-userrights-param-reason": "Причина зміни.",
        "apihelp-userrights-example-user": "Додати користувача <kbd>FooBot</kbd> до групи <kbd>bot</kbd> та вилучити із груп <kbd>sysop</kbd> та <kbd>bureaucrat</kbd>.",
        "apihelp-userrights-example-userid": "Додати користувача з ідентифікатором <kbd>123</kbd> до групи <kbd>bot</kbd> та вилучити із груп <kbd>sysop</kbd> та <kbd>bureaucrat</kbd>.",
+       "apihelp-validatepassword-description": "Перевірити пароль на предмет відповідності політикам вікі щодо паролів.\n\nРезультати перевірки вказуються як <samp>Good</samp> якщо пароль прийнятний, <samp>Change</samp> якщо пароль може використовуватись для входу, але його треба змінити, і <samp>Invalid</samp> — якщо пароль використовувати не можна.",
+       "apihelp-validatepassword-param-password": "Пароль до перевірки.",
+       "apihelp-validatepassword-param-user": "Ім'я користувача, для використання при тестуванні створення облікового запису. Вказаний користувач не повинен існувати.",
+       "apihelp-validatepassword-param-email": "Адреса електронної пошти, для використання при тестуванні створення облікового запису.",
+       "apihelp-validatepassword-param-realname": "Справжнє ім'я, для використання при тестуванні створення облікового запису.",
+       "apihelp-validatepassword-example-1": "Перевірити пароль <kbd>foobar</kbd> для поточного користувача.",
+       "apihelp-validatepassword-example-2": "Перевірити пароль <kbd>qwerty</kbd> для створення користувача <kbd>Example</kbd>.",
        "apihelp-watch-description": "Додати або вилучити сторінки з списку спостереження поточного користувача.",
        "apihelp-watch-param-title": "Сторінки до додання/вилучення. Використовуйте <var>$1titles</var> натомість.",
        "apihelp-watch-param-unwatch": "Якщо вказано, сторінку буде вилучено зі списку спостереження замість додання до нього.",
        "api-help-authmanagerhelper-returnurl": "URL-адреса повернення для сторонніх автентифікаційних потоків повинна бути абсолютною. Обов'язковим є це, або <var>$1continue</var>. \n\nПри отриманні відповіді <samp>REDIRECT</samp>, найбільш звичною Вашою дією буде відкриття браузерного чи іншого веб-перегляду вказаного URL-посилання для стороннього потоку автентифікації. Коли ця операція буде завершена, стороння програма перенаправить веб-переглядач на цю URL-адресу. Ви повинні видобувати будь-які параметри запитів або POST-параметри із цієї URL-адреси, і передавати їх як запит <var>$1continue</var> до цього модуля API.",
        "api-help-authmanagerhelper-continue": "Цей запит є продовженням після попередньої відповіді <samp>UI</samp> або <samp>REDIRECT</samp>. Або це, або <var>$1returnurl</var> є обов'язковим.",
        "api-help-authmanagerhelper-additional-params": "Цей модуль приймає додаткові параметри, залежно від доступних автентифікаційних запитів. Використовуйте <kbd>[[Special:ApiHelp/query+authmanagerinfo|action=query&meta=authmanagerinfo]]</kbd> за допомогою <kbd>amirequestsfor=$1</kbd> (або попередню відповідь від цього модуля, якщо це застосовно), аби визначити доступні запити та поля, які вони використовують.",
+       "apierror-allimages-redirect": "Використовуйте <kbd>gaifilterredir=nonredirects</kbd> замість <var>redirects</var> при використанні <kbd>allimages</kbd> як генератора.",
+       "apierror-allpages-generator-redirects": "Використовуйте <kbd>gapfilterredir=nonredirects</kbd> замість <var>redirects</var> при використанні <kbd>allpages</kbd> як генератора.",
+       "apierror-appendnotsupported": "Не вдається додавати до сторінок, що використовують контентну модель $1.",
+       "apierror-articleexists": "Статтю, яку Ви намагались створити, вже було створено.",
+       "apierror-assertbotfailed": "Твердження, що користувач має право <code>bot</code>, виявилося хибним.",
+       "apierror-assertnameduserfailed": "Твердження, що ім'я користувача — «$1», виявилося хибним.",
+       "apierror-assertuserfailed": "Твердження, що користувач перебуває в системі, виявилося хибним.",
+       "apierror-autoblocked": "Вашу IP-адресу було автоматично заблоковано, оскільки її використовував заблокований користувач.",
+       "apierror-badconfig-resulttoosmall": "Значення <code>$wgAPIMaxResultSize</code> у цій вікі є надто малим, щоб містити базову інформацію щодо результатів.",
+       "apierror-badcontinue": "Параметр продовження недійсний. Вам треба вказати початкове значення, отримане з попереднього запиту.",
+       "apierror-baddiff": "Цю різницю версій неможливо відтворити: одна або й обидві версії не існують, або Ви не маєте прав на їх перегляд.",
+       "apierror-baddiffto": "Для <var>$1diffto</var> треба задати невід'ємне число,<kbd>prev</kbd>, <kbd>next</kbd> або <kbd>cur</kbd>.",
+       "apierror-badformat-generic": "Запитуваний формат $1 не підтримується контентною моделлю$2.",
+       "apierror-badformat": "Запитуваний формат $1 не підтримується контентною моделлю $2, що використовується $3.",
+       "apierror-badgenerator-notgenerator": "Модуль <kbd>$1</kbd> не може бути використаний як генератор.",
+       "apierror-badgenerator-unknown": "Невідомий <kbd>generator=$1</kbd>.",
+       "apierror-badip": "Параметр IP є недійсним.",
+       "apierror-badmd5": "Вказаний хеш MD5 був неправильним.",
+       "apierror-badmodule-badsubmodule": "Модуль <kbd>$1</kbd> не має підмодуля «$2».",
+       "apierror-badmodule-nosubmodules": "Модуль <kbd>$1</kbd> не має підмодулів.",
+       "apierror-badparameter": "Недійсне значення для параметра <var>$1</var>.",
+       "apierror-badquery": "Неприпустимий запит.",
+       "apierror-badtimestamp": "Недійсне значення «$2» для параметра мітки часу <var>$1</var>.",
+       "apierror-badtoken": "Недійсний токен CSRF.",
+       "apierror-badupload": "Параметр завантаження файлу <var>$1</var> не є завантаженням файлу; не забудьте використати <code>multipart/form-data</code> для Вашого POST і додайте назву файлу в шапку <code>Content-Disposition</code>.",
+       "apierror-badurl": "Недійсне значення «$2» для URL-параметра <var>$1</var>.",
+       "apierror-baduser": "Недійсне значення «$2» для параметра користувача <var>$1</var>.",
+       "apierror-badvalue-notmultivalue": "Відокремлення значень через U+001F може використовуватись лише в тих параметрах, де використання двох і більше значень є прийнятним.",
+       "apierror-bad-watchlist-token": "Надано некоректний токен списку спостереження. Будь ласка, подайте коректний токен на сторінці [[Special:Preferences|Спеціальна:Налаштування]].",
+       "apierror-blockedfrommail": "Вам заблоковано можливість надсилання електронної пошти.",
+       "apierror-blocked": "Вам заблоковано можливість редагування.",
+       "apierror-botsnotsupported": "Інтерфейс не підтримується для ботів.",
+       "apierror-cannotreauthenticate": "Ця діє недоступна, оскільки Вашу ідентичність неможливо перевірити.",
+       "apierror-cannotviewtitle": "Ви не маєте дозволу на перегляд $1.",
+       "apierror-cantblock-email": "Ви не маєте прав на блокування користувачам можливості надсилання електронної пошти через вікі.",
+       "apierror-cantblock": "Ви не маєте прав на блокування користувачів.",
+       "apierror-cantchangecontentmodel": "Ви не маєте прав на зміну контентної моделі сторінки.",
+       "apierror-canthide": "Ви не маєте прав на приховування імен користувачів у журналі блокувань.",
+       "apierror-cantimport-upload": "Ви не маєте прав на імпорт завантажених сторінок.",
+       "apierror-cantimport": "Ви не маєте прав на імпорт сторінок.",
+       "apierror-cantoverwrite-sharedfile": "Цільовий файл існує в загальному репозиторії, і Ви не маєте прав, щоб проігнорувати це.",
+       "apierror-cantsend": "Ви не увійшли в систему, не маєте підтвердженої електронної адреси, або не маєте дозволу на надсилання електронної пошти іншим користувачам, тож Ви не можете надсилати електронну пошту.",
+       "apierror-cantundelete": "Не вдалося відновити: запитувані версії або не існують, або їх вже було відновлено.",
+       "apierror-changeauth-norequest": "Не вдалося створити запит на зміну.",
+       "apierror-chunk-too-small": "Мінімальний розмір шматка становить $1 {{PLURAL:$1|байт|байти|байтів}} для некінцевих шматків.",
+       "apierror-cidrtoobroad": "$1 CIDR-діапазони, ширші ніж /$2, недозволені.",
+       "apierror-compare-inputneeded": "Назва, ідентифікатор сторінки, або номер версії потрібні як для параметра <var>from</var>, так і для <var>to</var>.",
+       "apierror-contentserializationexception": "Невдача серіалізації вмісту: $1",
+       "apierror-contenttoobig": "Наданий Вами вміст перевищує ліміт у $1 {{PLURAL:$1|кілобайт|кілобайти|кілобайтів}} розміру сторінки.",
+       "apierror-copyuploadbaddomain": "Завантаження за URL-адресою недозволені з цього домену.",
+       "apierror-copyuploadbadurl": "Завантаження з цієї URL-адреси недозволені.",
+       "apierror-create-titleexists": "Наявні назви не можна захистити за допомогою <kbd>create</kbd>.",
+       "apierror-csp-report": "Помилка при опрацюванні CSP-звіту: $1.",
+       "apierror-databaseerror": "[$1] Помилка запиту до бази даних.",
+       "apierror-deletedrevs-param-not-1-2": "Параметр <var>$1</var> не може використовуватись у режимах 1 або 2.",
+       "apierror-deletedrevs-param-not-3": "Параметр <var>$1</var> не може використовуватись у режимі 3.",
+       "apierror-emptynewsection": "Створення нових порожніх розділів неможливе.",
+       "apierror-emptypage": "Створення нових порожніх сторінок недозволене.",
+       "apierror-exceptioncaught": "[$1] Виявлено виняток: $2",
+       "apierror-filedoesnotexist": "Файл не існує.",
+       "apierror-fileexists-sharedrepo-perm": "Цільовий файл існує у загальному репозиторії. Використовуйте параметр <var>ignorewarnings</var>, щоб проігнорувати це.",
+       "apierror-filenopath": "Не вдалося отримати шлях до локального файлу.",
+       "apierror-filetypecannotberotated": "Тип файлу не можна повернути.",
+       "apierror-formatphp": "Цю відповідь не можна представити через <kbd>format=php</kbd>. Див. https://phabricator.wikimedia.org/T68776.",
+       "apierror-imageusage-badtitle": "Назва для <kbd>$1</kbd> має бути файлом.",
+       "apierror-import-unknownerror": "Невідома помилка при імпорті: $1.",
+       "apierror-integeroutofrange-abovebotmax": "<var>$1</var> не може мати значення понад $2 (встановлено як $3) для ботів чи адмінів.",
+       "apierror-integeroutofrange-abovemax": "<var>$1</var> не може мати значення понад $2 (встановлено як $3) для користувачів.",
+       "apierror-integeroutofrange-belowminimum": "<var>$1</var> не може мати значення менш як $2 (встановлено як $3).",
+       "apierror-invalidcategory": "Введена Вами назва категорії недійсна.",
+       "apierror-invalid-chunk": "Зміщення плюс поточний шматок мають більший розмір, аніж заявлений розмір файлу.",
+       "apierror-invalidexpiry": "Недійсний час завершення «$1».",
+       "apierror-invalid-file-key": "Недійсний ключ файлу.",
+       "apierror-invalidlang": "Недійсний код мови для параметра <var>$1</var>.",
+       "apierror-invalidoldimage": "Параметр «oldimage» має недійсний формат.",
+       "apierror-invalidparammix-cannotusewith": "Параметр <kbd>$1</kbd> не можна використовувати з <kbd>$2</kbd>.",
+       "apierror-invalidparammix-mustusewith": "Параметр <kbd>$1</kbd> можна використовувати тільки з  <kbd>$2</kbd>.",
+       "apierror-invalidparammix-parse-new-section": "<kbd>section=new</kbd> не можна поєднувати з параметрами <var>oldid</var>, <var>pageid</var> чи <var>page</var>. Будь ласка, використовуйте <var>title</var> і <var>text</var>.",
+       "apierror-invalidparammix": "{{PLURAL:$2|Ці параметри}} $1 не можна використовувати водночас.",
+       "apierror-invalidsection": "Параметр «section» має бути дійсним ідентифікатором розділу або <kbd>new</kbd>.",
+       "apierror-invalidsha1base36hash": "Поданий хеш SHA1Base36 недійсний.",
+       "apierror-invalidsha1hash": "Поданий хеш SHA1 недійсний.",
+       "apierror-invalidtitle": "Погана назва «$1».",
+       "apierror-invalidurlparam": "Недійсне значення для <var>$1urlparam</var> (<kbd>$2=$3</kbd>).",
+       "apierror-invaliduser": "Недійсне ім'я користувача «$1».",
+       "apierror-maxlag-generic": "Очікування на сервер бази даних: затримка $1 {{PLURAL:$1|секунда|секунди|секунд}}.",
+       "apierror-maxlag": "Очікування на $2: затримка $1 {{PLURAL:$1|секунда|секунди|секунд}}.",
+       "apierror-mimesearchdisabled": "MIME-пошук вимкнений у скупому режимі.",
+       "apierror-missingcontent-pageid": "Відсутній вміст для сторінки з ідентифікатором $1.",
+       "apierror-missingparam-at-least-one-of": "{{PLURAL:$2|Параметр|Щонайменше один параметрів}} $1 є обов'язковим.",
+       "apierror-missingparam-one-of": "{{PLURAL:$2|Параметр|Один з параметрів}} $1 є обов'язковим.",
+       "apierror-missingparam": "Параметр <var>$1</var> має бути заповнений.",
+       "apierror-missingrev-pageid": "Немає поточної версії сторінки з ідентифікатором $1.",
+       "apierror-missingtitle-createonly": "Відсутні назви можна захистити тільки через <kbd>create</kbd>.",
+       "apierror-missingtitle": "Вказана Вами сторінка не існує.",
+       "apierror-missingtitle-byname": "Сторінка $1 не існує.",
+       "apierror-moduledisabled": "Модуль <kbd>$1</kbd> було вимкнено.",
+       "apierror-multival-only-one-of": "{{PLURAL:$3|Лише значення|Лише одне значення з}} $2 дозволене для параметра <var>$1</var>.",
+       "apierror-multival-only-one": "Лише одне значення дозволене для параметра <var>$1</var>.",
+       "apierror-multpages": "<var>$1</var> може використовуватись тільки з однією сторінкою.",
+       "apierror-mustbeloggedin-changeauth": "Вам треба увійти в систему, щоб змінити автентифікаційні дані.",
+       "apierror-mustbeloggedin-generic": "Ви повинні перебувати в системі.",
+       "apierror-mustbeloggedin-linkaccounts": "Щоб зв'язувати облікові записи Вам треба увійти в систему.",
+       "apierror-mustbeloggedin-removeauth": "Щоб вилучати автентифікаційні дані Вам треба увійти в систему.",
+       "apierror-mustbeloggedin-uploadstash": "Сховок завантажень доступний тільки для зареєстрованих користувачів.",
+       "apierror-mustbeloggedin": "Для $1 Вам треба увійти в систему.",
+       "apierror-mustbeposted": "Модуль <kbd>$1</kbd> потребує запиту POST.",
+       "apierror-mustpostparams": "{{PLURAL:$2|Вказаний параметр було знайдено в рядку запиту, але має|Вказані параметри було знайдено в рядку запиту, але мають}} бути у тілі POST: $1.",
+       "apierror-noapiwrite": "Редагування цієї вікі через API вимкнено. Упевніться, що твердження <code>$wgEnableWriteAPI=true;</code> включено у файл <code>LocalSettings.php</code> цієї вікі.",
+       "apierror-nochanges": "На жодні зміни запиту не було.",
+       "apierror-nodeleteablefile": "Немає такої старої версії файлу.",
+       "apierror-no-direct-editing": "Пряме редагування через API не підтримується контентною моделлю $1, що використовується $2.",
+       "apierror-noedit-anon": "Анонімні користувачі не можуть редагувати сторінки.",
+       "apierror-noedit": "У Вас немає прав на редагування сторінок.",
+       "apierror-noimageredirect-anon": "Анонімні користувачі не можуть створювати перенаправлення на файли.",
+       "apierror-noimageredirect": "Ви не маєте прав на створення перенаправлень на файли.",
+       "apierror-nosuchlogid": "Немає журнального запису з ідентифікатором $1.",
+       "apierror-nosuchpageid": "Немає сторінки з ідентифікатором $1.",
+       "apierror-nosuchrcid": "Немає недавньої зміни з ідентифікатором $1.",
+       "apierror-nosuchrevid": "Немає версії з ідентифікатором $1.",
+       "apierror-nosuchsection": "Немає розділу $1.",
+       "apierror-nosuchsection-what": "Немає розділу $1 на сторінці $2.",
+       "apierror-nosuchuserid": "Немає користувача з ідентифікатором $1.",
+       "apierror-notarget": "Ви не вказали дійсної цілі для цієї дії.",
+       "apierror-notpatrollable": "Версія r$1 не може бути відпатрульована, оскільки вона надто стара.",
+       "apierror-nouploadmodule": "Не встановлено модуля завантаження.",
+       "apierror-opensearch-json-warnings": "Попередження не можуть бути представлені у форматі OpenSearch JSON.",
+       "apierror-pagecannotexist": "Простір назв не дозволяє фактичних сторінок.",
+       "apierror-pagedeleted": "Цю сторінку було вилучено після того, як Ви отримали її мітку часу.",
+       "apierror-paramempty": "Параметр <var>$1</var> не може бути порожнім.",
+       "apierror-parsetree-notwikitext": "<kbd>prop=parsetree</kbd> підтримується лише для вмісту у форматі вікірозмітки.",
+       "apierror-parsetree-notwikitext-title": "<kbd>prop=parsetree</kbd> підтримується лише для вмісту у форматі вікірозмітки. $1 використовує контентну модель $2.",
+       "apierror-pastexpiry": "Час закінчення «$1» — в минулому.",
+       "apierror-permissiondenied": "Ви не маєте прав на $1.",
+       "apierror-permissiondenied-generic": "Доступ заборонено.",
+       "apierror-permissiondenied-patrolflag": "Вам потрібне право <code>patrol</code> або <code>patrolmarks</code>, щоб подати запит на прапорець «відпатрульовано».",
+       "apierror-permissiondenied-unblock": "Ви не маєте прав на розблокування користувачів.",
+       "apierror-prefixsearchdisabled": "Пошук за префіксом вимкнено у скупому режимі.",
+       "apierror-promised-nonwrite-api": "HTTP-заголовок <code>Promise-Non-Write-API-Action</code> не можна надсилати до модулів API із режимом запису.",
+       "apierror-protect-invalidaction": "Недійсний тип захисту «$1».",
+       "apierror-protect-invalidlevel": "Недійсний рівень захисту «$1».",
+       "apierror-ratelimited": "Ви перевищили свій ліміт частоти. Будь ласка, почекайте деякий час і спробуйте знову.",
+       "apierror-readapidenied": "Вам потрібне право на читання, щоб використовувати цей модуль.",
+       "apierror-readonly": "Ця вікі наразі перебуває в режимі тільки для читання.",
+       "apierror-reauthenticate": "Ви останнім часом не проходили автентифікацію в цій сесії. Будь ласка, пройдіть автентифікацію ще раз.",
+       "apierror-redirect-appendonly": "Ви зробили спробу редагування з використанням режиму переходу за перенаправленням, який має використовуватись разом із <kbd>section=new</kbd>, <var>prependtext</var>, або <var>appendtext</var>.",
+       "apierror-revdel-mutuallyexclusive": "Одне й те ж поле не може використовуватись у <var>hide</var> і <var>show</var> водночас.",
+       "apierror-revdel-needtarget": "Для цього типу RevDel необхідна цільова назва.",
+       "apierror-revdel-paramneeded": "Щонайменше одне значення необхідне для <var>hide</var> та/або <var>show</var>.",
+       "apierror-revisions-norevids": "Параметр <var>revids</var> не можна використовувати з опціями списку (<var>$1limit</var>, <var>$1startid</var>, <var>$1endid</var>, <kbd>$1dir=newer</kbd>, <var>$1user</var>, <var>$1excludeuser</var>, <var>$1start</var>, і <var>$1end</var>).",
+       "apierror-revisions-singlepage": "Було використано <var>titles</var>, <var>pageids</var> або генератор для постачання декількох сторінок, але параметри <var>$1limit</var>, <var>$1startid</var>, <var>$1endid</var>, <kbd>$1dir=newer</kbd>, <var>$1user</var>, <var>$1excludeuser</var>, <var>$1start</var>, і <var>$1end</var> можуть використовуватися тільки на одній сторінці.",
+       "apierror-revwrongpage": "r$1 не є версією сторінки $2.",
+       "apierror-searchdisabled": "<var>$1</var> пошук вимкнено.",
+       "apierror-sectionreplacefailed": "Не вдалося об'єднати оновлений розділ.",
+       "apierror-sectionsnotsupported": "Розділи не підтримуються для контентної моделі $1.",
+       "apierror-sectionsnotsupported-what": "Розділи не підтримуються $1.",
+       "apierror-show": "Неправильний параметр — не можна надавати взаємовиключні значення.",
+       "apierror-siteinfo-includealldenied": "Не можна переглядати інформацію щодо всіх серверів, якщо тільки <var>$wgShowHostNames</var> не вказано як «true».",
+       "apierror-sizediffdisabled": "Різниця у розмірах вимкнена в скупому режимі.",
+       "apierror-spamdetected": "Ваше редагування було відхилено, оскільки воно містило фрагмент спаму: <code>$1</code>.",
+       "apierror-specialpage-cantexecute": "Ви не маєте прав на перегляд результатів цієї спеціальної сторінки.",
+       "apierror-stashedfilenotfound": "Не вдалося знайти файл у сховку: $1.",
+       "apierror-stashedit-missingtext": "У сховку не знайдено збереженого тексту із заданим хешем.",
+       "apierror-stashfailed-complete": "Завантаження по шматках вже завершилося, перегляньте статус, щоб дізнатися подробиці.",
+       "apierror-stashfailed-nosession": "Немає сесії завантажень по шматках із цим ключем.",
+       "apierror-stashfilestorage": "Не вдалося зберегти завантаження у сховку: $1",
+       "apierror-stashinvalidfile": "Недійсний файл у сховку.",
+       "apierror-stashnosuchfilekey": "Немає такого filekey: $1.",
+       "apierror-stashpathinvalid": "Ключ файлу має неправильний формат або є недійсним з іншої причини: $1.",
+       "apierror-stashwrongowner": "Неправильний власник: $1",
+       "apierror-stashzerolength": "Довжина файлу дорівнює нулю, і його не можна зберегти у сховку: $1.",
+       "apierror-systemblocked": "Вас автоматично заблоковано MediaWiki.",
+       "apierror-templateexpansion-notwikitext": "Розширення шаблонів підтримується лише для вмісту у форматі вікірозмітки. $1 використовує контентну модель $2.",
+       "apierror-toofewexpiries": "$1 {{PLURAL:$1|мітка часу завершення була надана|мітки часу завершення були надані|міток часу завершення було надано}}, тоді як {{PLURAL:$2|потрібна була $2 така мітка|потрібні були $2 таких мітки|потрібно було $2 таких міток}}.",
+       "apierror-unknownaction": "Вказана дія, <kbd>$1</kbd>, нерозпізнана.",
+       "apierror-unknownerror-editpage": "Невідома помилка EditPage: $1.",
+       "apierror-unknownerror-nocode": "Невідома помилка.",
+       "apierror-unknownerror": "Невідома помилка: «$1».",
+       "apierror-unknownformat": "Невідомий формат «$1».",
+       "apierror-unrecognizedparams": "{{PLURAL:$2|Нерозпізнаний параметр|Нерозпізнані параметри}}: $1.",
+       "apierror-unrecognizedvalue": "Нерозпізнане значення для параметра <var>$1</var>: $2.",
+       "apierror-unsupportedrepo": "Місцевий репозиторій файлів не підтримує запитів щодо всіх зображень.",
+       "apierror-upload-filekeyneeded": "Треба вказати <var>filekey</var>, коли <var>offset</var> є ненульовим.",
+       "apierror-upload-filekeynotallowed": "Не можна вказувати <var>filekey</var>, коли <var>offset</var> дорівнює 0.",
+       "apierror-upload-inprogress": "Завантаження зі сховку вже в процесі.",
+       "apierror-upload-missingresult": "Немає результатів у даних статусу.",
+       "apierror-urlparamnormal": "Не вдалося нормалізувати параметри зображення для $1.",
+       "apierror-writeapidenied": "Ви не маєте дозволу на редагування цієї вікі через API.",
+       "apiwarn-alldeletedrevisions-performance": "Для підвищення продуктивності при генеруванні назв, встановіть <kbd>$1dir=newer</kbd>.",
+       "apiwarn-badurlparam": "Не вдалося парсити <var>$1urlparam</var> для $2. Використовується лише ширина і висота.",
+       "apiwarn-badutf8": "Значення, вказане для <var>$1</var>, містить недійсні або ненормалізовані дані. Текстові дані мають бути дійсними, NFC-нормалізований Unicode без контрольних символів C0, окрім HT (\\t), LF (\\n), і CR (\\r).",
+       "apiwarn-checktoken-percentencoding": "Перевірте, чи символи, такі як «+» у токені, пройшли правильне процентне кодування в URL.",
+       "apiwarn-deprecation-deletedrevs": "<kbd>list=deletedrevs</kbd> є застарілим. Будь ласка, використовуйте замість нього <kbd>prop=deletedrevisions</kbd> або <kbd>list=alldeletedrevisions</kbd>.",
+       "apiwarn-deprecation-expandtemplates-prop": "Оскільки не задано жодних значень для параметра <var>prop</var>, як вихідні дані було використано старий формат. Цей формат є застарілим, і в майбутньому параметру <var>prop</var> буде задано стандартне значення, наслідком чого стане те, що завжди використовуватиметься новий формат.",
+       "apiwarn-deprecation-httpsexpected": "Використано HTTP, тоді як очікувалося використання HTTPS.",
+       "apiwarn-deprecation-login-botpw": "Вхід в основний обліковий запис через <kbd>action=login</kbd> є застарілим, і може припинити працювати, без попередження. Щоб продовжити вхід у систему через <kbd>action=login</kbd>, див. [[Special:BotPasswords]]. Щоб безпечно продовжити, використовуючи вхід в основний обліковий запис, див. <kbd>action=clientlogin</kbd>.",
+       "apiwarn-deprecation-login-nobotpw": "Вхід в основний обліковий запис через <kbd>action=login</kbd> є застарілим, і може припинити працювати, без попередження. Щоб безпечно увійти в систему, див. <kbd>action=clientlogin</kbd>.",
+       "apiwarn-deprecation-login-token": "Отримання токена через <kbd>action=login</kbd> є застарілим. Використовуйте натомість <kbd>action=query&meta=tokens&type=login</kbd>.",
+       "apiwarn-deprecation-parameter": "Параметр <var>$1</var> — застарілий.",
+       "apiwarn-deprecation-parse-headitems": "<kbd>prop=headitems</kbd> є застарілим, починаючи з MediaWiki 1.28. Використовуйте <kbd>prop=headhtml</kbd> при створенні нових документів HTML, або <kbd>prop=modules|jsconfigvars</kbd> при оновленні документа з боку клієнта.",
+       "apiwarn-deprecation-purge-get": "Використання <kbd>action=purge</kbd> через GET є застарілим. Використовуйте POST замість цього.",
+       "apiwarn-deprecation-withreplacement": "<kbd>$1</kbd> є застарілим. Будь ласка, використовуйте натомість <kbd>$2</kbd>.",
+       "apiwarn-difftohidden": "Не вдалося відкрити версію r$1: вміст приховано.",
+       "apiwarn-errorprinterfailed": "Невдача через помилку принтера. Буде здійснено повторну спробу без параметрів.",
+       "apiwarn-errorprinterfailed-ex": "Невдача через помилку принтера (буде здійснено повторну спробу без параметрів): $1",
+       "apiwarn-invalidcategory": "«$1» не є категорією.",
+       "apiwarn-invalidtitle": "«$1» не є коректною назвою.",
+       "apiwarn-invalidxmlstylesheetext": "Таблиця стилів повинна мати розширення <code>.xsl</code>.",
+       "apiwarn-invalidxmlstylesheet": "Вказана таблиця стилів є недійсною або не існує.",
+       "apiwarn-invalidxmlstylesheetns": "Таблиця стилів має перебувати в просторі назв {{ns:MediaWiki}}.",
+       "apiwarn-moduleswithoutvars": "Задано властивість <kbd>modules</kbd>, але не задано <kbd>jsconfigvars</kbd> або <kbd>encodedjsconfigvars</kbd>. Змінні конфігурації необхідні для коректного використання модуля.",
+       "apiwarn-notfile": "«$1» не є файлом.",
+       "apiwarn-nothumb-noimagehandler": "Не вдалося створити мініатюру, оскільки $1 не має пов'язаного обробника зображень.",
+       "apiwarn-parse-nocontentmodel": "Не задано <var>title</var> або <var>contentmodel</var>, буде використано $1.",
+       "apiwarn-parse-titlewithouttext": "<var>title</var> використано без <var>text</var>, і надіслано запит на оброблені властивості сторінки. Може \nВи хотіли використати <var>page</var> замість <var>title</var>?",
+       "apiwarn-redirectsandrevids": "Вирішення перенаправлень не може використовуватись разом з параметром <var>revids</var>. Усі перенаправлення, на які вказує <var>revids</var>, не було вирішено.",
+       "apiwarn-tokennotallowed": "Дія «$1» недозволена для поточного користувача.",
+       "apiwarn-tokens-origin": "Токени не можна отримати, поки не застосована політика одного походження.",
+       "apiwarn-toomanyvalues": "Надто багато значень задано для параметра <var>$1</var>: ліміт становить $2.",
+       "apiwarn-truncatedresult": "Цей результат було скорочено, оскільки інакше він перевищив би ліміт у $1 байтів.",
+       "apiwarn-unclearnowtimestamp": "Вказування «$2» для параметра мітки часу <var>$1</var> є застарілим. Якщо з якоїсь причини Вам треба чітко вказати поточний час без вираховування його з боку клієнта, використайте <kbd>now<kbd>.",
+       "apiwarn-unrecognizedvalues": "{{PLURAL:$3|Нерозпізнане|Нерозпізнані}} значення для параметра <var>$1</var>: $2.",
+       "apiwarn-unsupportedarray": "Параметр <var>$1</var> використовує непідтримуваний синтаксис PHP-масиву.",
+       "apiwarn-urlparamwidth": "Ігнорування значення ширини, встановленого в <var>$1urlparam</var> ($2) на користь значення ширини, запозиченого із <var>$1urlwidth</var>/<var>$1urlheight</var> ($3).",
+       "apiwarn-validationfailed-badchars": "недійсні символи у ключі (лише <code>a-z</code>, <code>A-Z</code>, <code>0-9</code>, <code>_</code>, і <code>-</code> дозволені).",
+       "apiwarn-validationfailed-badpref": "недійсне налаштування.",
+       "apiwarn-validationfailed-cannotset": "не може бути встановлено цим модулем.",
+       "apiwarn-validationfailed-keytoolong": "ключ надто довгий (дозволено не більш як $1 байтів).",
+       "apiwarn-validationfailed": "Помилка перевірки для <kbd>$1</kbd>: $2",
+       "apiwarn-wgDebugAPI": "<strong>Попередження щодо безпеки</strong>: увімкнено <var>$wgDebugAPI</var>.",
+       "api-feed-error-title": "Помилка ($1)",
+       "api-usage-docref": "Див. $1 щодо використання API.",
+       "api-exception-trace": "$1 у $2($3)\n$4",
        "api-credits-header": "Автор(и)",
        "api-credits": "Розробники API:\n* Roan Kattouw (головний розробник вер. 2007–2009)\n* Victor Vasiliev\n* Bryan Tong Minh\n* Sam Reed\n* Yuri Astrakhan (творець, головний розробник вер. 2006 – вер. 2007)\n* Brad Jorsch (головний розробник 2013 – тепер)\n\nБудь ласка, надсилайте свої коментарі, пропозиції та запитання на mediawiki-api@lists.wikimedia.org\nабо зафайліть звіт про баґ на https://phabricator.wikimedia.org/."
 }
index 3d8ddb8..bef379e 100644 (file)
@@ -26,6 +26,8 @@ use MediaWiki\MediaWikiServices;
  * @ingroup Exception
  */
 class MWExceptionHandler {
+       const CAUGHT_BY_HANDLER = 'mwe_handler'; // error reported by this exception handler
+       const CAUGHT_BY_OTHER = 'other'; // error reported by direct logException() call
 
        /**
         * @var string $reservedMemory
@@ -130,10 +132,10 @@ class MWExceptionHandler {
                        // which would result in an exception loop. PHP may escalate such
                        // errors to "Exception thrown without a stack frame" fatals, but
                        // it's better to be explicit here.
-                       self::logException( $e2 );
+                       self::logException( $e2, self::CAUGHT_BY_HANDLER );
                }
 
-               self::logException( $e );
+               self::logException( $e, self::CAUGHT_BY_HANDLER );
                self::report( $e );
 
                // Exit value should be nonzero for the benefit of shell jobs
@@ -293,6 +295,7 @@ TXT;
                                'trace' => static::redactTrace( $trace ),
                        ],
                        'exception_id' => wfRandomString( 8 ),
+                       'caught_by' => self::CAUGHT_BY_HANDLER
                ] );
 
                // Remember call so we don't double process via HHVM's fatal
@@ -464,12 +467,14 @@ TXT;
         * logger.
         *
         * @param Exception|Throwable $e
+        * @param string $catcher CAUGHT_BY_* class constant indicating what caught the error
         * @return array
         */
-       public static function getLogContext( $e ) {
+       public static function getLogContext( $e, $catcher = self::CAUGHT_BY_OTHER ) {
                return [
                        'exception' => $e,
                        'exception_id' => WebRequest::getRequestId(),
+                       'caught_by' => $catcher
                ];
        }
 
@@ -481,11 +486,13 @@ TXT;
         * will be redacted as per getRedactedTraceAsArray().
         *
         * @param Exception|Throwable $e
+        * @param string $catcher CAUGHT_BY_* class constant indicating what caught the error
         * @return array
         * @since 1.26
         */
-       public static function getStructuredExceptionData( $e ) {
+       public static function getStructuredExceptionData( $e, $catcher = self::CAUGHT_BY_OTHER ) {
                global $wgLogExceptionBacktrace;
+
                $data = [
                        'id' => WebRequest::getRequestId(),
                        'type' => get_class( $e ),
@@ -494,6 +501,7 @@ TXT;
                        'message' => $e->getMessage(),
                        'code' => $e->getCode(),
                        'url' => self::getURL() ?: null,
+                       'caught_by' => $catcher
                ];
 
                if ( $e instanceof ErrorException &&
@@ -509,7 +517,7 @@ TXT;
 
                $previous = $e->getPrevious();
                if ( $previous !== null ) {
-                       $data['previous'] = self::getStructuredExceptionData( $previous );
+                       $data['previous'] = self::getStructuredExceptionData( $previous, $catcher );
                }
 
                return $data;
@@ -566,11 +574,17 @@ TXT;
         * @param Exception|Throwable $e
         * @param bool $pretty Add non-significant whitespace to improve readability (default: false).
         * @param int $escaping Bitfield consisting of FormatJson::.*_OK class constants.
+        * @param string $catcher CAUGHT_BY_* class constant indicating what caught the error
         * @return string|false JSON string if successful; false upon failure
         */
-       public static function jsonSerializeException( $e, $pretty = false, $escaping = 0 ) {
-               $data = self::getStructuredExceptionData( $e );
-               return FormatJson::encode( $data, $pretty, $escaping );
+       public static function jsonSerializeException(
+               $e, $pretty = false, $escaping = 0, $catcher = self::CAUGHT_BY_OTHER
+       ) {
+               return FormatJson::encode(
+                       self::getStructuredExceptionData( $e, $catcher ),
+                       $pretty,
+                       $escaping
+               );
        }
 
        /**
@@ -581,16 +595,17 @@ TXT;
         *
         * @since 1.22
         * @param Exception|Throwable $e
+        * @param string $catcher CAUGHT_BY_* class constant indicating what caught the error
         */
-       public static function logException( $e ) {
+       public static function logException( $e, $catcher = self::CAUGHT_BY_OTHER ) {
                if ( !( $e instanceof MWException ) || $e->isLoggable() ) {
                        $logger = LoggerFactory::getInstance( 'exception' );
                        $logger->error(
                                self::getLogMessage( $e ),
-                               self::getLogContext( $e )
+                               self::getLogContext( $e, $catcher )
                        );
 
-                       $json = self::jsonSerializeException( $e, false, FormatJson::ALL_OK );
+                       $json = self::jsonSerializeException( $e, false, FormatJson::ALL_OK, $catcher );
                        if ( $json !== false ) {
                                $logger = LoggerFactory::getInstance( 'exception-json' );
                                $logger->error( $json, [ 'private' => true ] );
@@ -608,6 +623,7 @@ TXT;
         * @param string $channel
        */
        protected static function logError( ErrorException $e, $channel ) {
+               $catcher = self::CAUGHT_BY_HANDLER;
                // The set_error_handler callback is independent from error_reporting.
                // Filter out unwanted errors manually (e.g. when
                // MediaWiki\suppressWarnings is active).
@@ -616,12 +632,12 @@ TXT;
                        $logger = LoggerFactory::getInstance( $channel );
                        $logger->error(
                                self::getLogMessage( $e ),
-                               self::getLogContext( $e )
+                               self::getLogContext( $e, $catcher )
                        );
                }
 
                // Include all errors in the json log (surpressed errors will be flagged)
-               $json = self::jsonSerializeException( $e, false, FormatJson::ALL_OK );
+               $json = self::jsonSerializeException( $e, false, FormatJson::ALL_OK, $catcher );
                if ( $json !== false ) {
                        $logger = LoggerFactory::getInstance( "{$channel}-json" );
                        $logger->error( $json, [ 'private' => true ] );
diff --git a/includes/filerepo/FSRepo.php b/includes/filerepo/FSRepo.php
deleted file mode 100644 (file)
index d06acf2..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-<?php
-/**
- * A repository for files accessible via the local filesystem.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- *
- * @file
- * @ingroup FileRepo
- */
-
-/**
- * A repository for files accessible via the local filesystem.
- * Does not support database access or registration.
- *
- * This is a mostly a legacy class. New uses should not be added.
- *
- * @ingroup FileRepo
- * @deprecated since 1.19
- */
-class FSRepo extends FileRepo {
-       /**
-        * @param array $info
-        * @throws MWException
-        */
-       function __construct( array $info ) {
-               if ( !isset( $info['backend'] ) ) {
-                       // B/C settings...
-                       $directory = $info['directory'];
-                       $deletedDir = isset( $info['deletedDir'] )
-                               ? $info['deletedDir']
-                               : false;
-                       $thumbDir = isset( $info['thumbDir'] )
-                               ? $info['thumbDir']
-                               : "{$directory}/thumb";
-                       $transcodedDir = isset( $info['transcodedDir'] )
-                               ? $info['transcodedDir']
-                               : "{$directory}/transcoded";
-                       $fileMode = isset( $info['fileMode'] )
-                               ? $info['fileMode']
-                               : 0644;
-
-                       $repoName = $info['name'];
-                       // Get the FS backend configuration
-                       $backend = new FSFileBackend( [
-                               'name' => $info['name'] . '-backend',
-                               'wikiId' => wfWikiID(),
-                               'lockManager' => LockManagerGroup::singleton( wfWikiID() )->get( 'fsLockManager' ),
-                               'containerPaths' => [
-                                       "{$repoName}-public" => "{$directory}",
-                                       "{$repoName}-temp" => "{$directory}/temp",
-                                       "{$repoName}-thumb" => $thumbDir,
-                                       "{$repoName}-transcoded" => $transcodedDir,
-                                       "{$repoName}-deleted" => $deletedDir
-                               ],
-                               'fileMode' => $fileMode,
-                               'tmpDirectory' => wfTempDir()
-                       ] );
-                       // Update repo config to use this backend
-                       $info['backend'] = $backend;
-               }
-
-               parent::__construct( $info );
-
-               if ( !( $this->backend instanceof FSFileBackend ) ) {
-                       throw new MWException( "FSRepo only supports FSFileBackend." );
-               }
-       }
-}
index be37011..0e4b2f0 100644 (file)
@@ -1059,7 +1059,7 @@ class FileRepo {
 
        /**
         * Pick a random name in the temp zone and store a file to it.
-        * Returns a FileRepoStatus object with the file Virtual URL in the value,
+        * Returns a Status object with the file Virtual URL in the value,
         * file can later be disposed using FileRepo::freeTemp().
         *
         * @param string $originalName The base name of the file as specified
@@ -1143,7 +1143,7 @@ class FileRepo {
         * Copy or move a file either from a storage path, virtual URL,
         * or file system path, into this repository at the specified destination location.
         *
-        * Returns a FileRepoStatus object. On success, the value contains "new" or
+        * Returns a Status object. On success, the value contains "new" or
         * "archived", to indicate whether the file was new with that name.
         *
         * Options to $options include:
index 8be662f..be78462 100644 (file)
@@ -1792,7 +1792,7 @@ abstract class File implements IDBAccessObject {
 
        /**
         * Move or copy a file to its public location. If a file exists at the
-        * destination, move it to an archive. Returns a FileRepoStatus object with
+        * destination, move it to an archive. Returns a Status object with
         * the archive name in the "value" member on success.
         *
         * The archive name should be passed through to recordUpload for database
index 011ba87..16fe72d 100644 (file)
@@ -1572,7 +1572,7 @@ class LocalFile extends File {
 
        /**
         * Move or copy a file to its public location. If a file exists at the
-        * destination, move it to an archive. Returns a FileRepoStatus object with
+        * destination, move it to an archive. Returns a Status object with
         * the archive name in the "value" member on success.
         *
         * The archive name should be passed through to recordUpload for database
@@ -1590,7 +1590,7 @@ class LocalFile extends File {
        }
 
        /**
-        * Move or copy a file to a specified location. Returns a FileRepoStatus
+        * Move or copy a file to a specified location. Returns a Status
         * object with the archive name in the "value" member on success.
         *
         * The archive name should be passed through to recordUpload for database
@@ -2086,7 +2086,7 @@ class LocalFileDeleteBatch {
        /** @var bool Whether to suppress all suppressable fields when deleting */
        private $suppress;
 
-       /** @var FileRepoStatus */
+       /** @var Status */
        private $status;
 
        /** @var User */
@@ -2993,7 +2993,7 @@ class LocalFileMoveBatch {
        }
 
        /**
-        * Verify the database updates and return a new FileRepoStatus indicating how
+        * Verify the database updates and return a new Status indicating how
         * many rows would be updated.
         *
         * @return Status
@@ -3036,7 +3036,7 @@ class LocalFileMoveBatch {
        }
 
        /**
-        * Do the database updates and return a new FileRepoStatus indicating how
+        * Do the database updates and return a new Status indicating how
         * many rows where updated.
         */
        protected function doDBUpdates() {
index 4398492..6b7372c 100644 (file)
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "MediaWiki es compatible con los siguientes sistemas de bases de datos:\n\n$1\n\nSi no encuentras en el listado el sistema de base de datos que estás intentando utilizar, sigue las instrucciones enlazadas arriba para activar la compatibilidad.",
        "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] es la base de datos mayoritaria para MediaWiki y la que goza de mayor compatibilidad. MediaWiki también funciona con [{{int:version-db-mariadb-url}} MariaDB] y [{{int:version-db-percona-url}} Percona Server], que son compatibles con MySQL. ([http://www.php.net/manual/es/mysql.installation.php Cómo compilar PHP con compatibilidad MySQL])",
-       "config-dbsupport-postgres": "[{{int:version-db-postgres-url}} PostgreSQL] es un sistema de base de datos popular de código abierto, alternativa a MySQL. Pueden haber algunos fallos menores destacables, y no es recomendable para su uso en un entorno de producción. ([http://www.php.net/manual/es/pgsql.installation.php Cómo compilar PHP con compatibilidad PostgreSQL]).",
+       "config-dbsupport-postgres": "[{{int:version-db-postgres-url}} PostgreSQL] es un sistema de base de datos popular de código abierto, alternativa a MySQL. ([http://www.php.net/manual/es/pgsql.installation.php Cómo compilar PHP con compatibilidad PostgreSQL]).",
        "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] es un sistema de base de datos ligero con gran compatibilidad con MediaWiki. ([http://www.php.net/manual/es/pdo.installation.php Cómo compilar PHP con compatibilidad SQLite], usando PDO)",
        "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] es una base de datos comercial a nivel empresarial. ([http://www.php.net/manual/es/oci8.installation.php Cómo compilar PHP con compatibilidad con OCI8])",
        "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] es una base de datos comercial a nivel empresarial para Windows. ([http://www.php.net/manual/en/sqlsrv.installation.php Cómo compilar PHP con soporte para SQLSRV])",
        "config-nofile": "El archivo \"$1\" no se pudo encontrar. ¿Se ha eliminado?",
        "config-extension-link": "¿Sabías que tu wiki admite [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions extensiones]?\n\nPuedes navegar por las [https://www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category categorías] o visitar el [https://www.mediawiki.org/wiki/Extension_Matrix centro de extensiones] para ver una lista completa.",
        "mainpagetext": "<strong>MediaWiki se ha instalado.</strong>",
-       "mainpagedocfooter": "Consulta la [https://meta.wikimedia.org/wiki/Help:Contents/es guía del usuario] para obtener información sobre el uso del software wiki.\n\n== Primeros pasos ==\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Lista de ajustes de configuración]\n* [https://www.mediawiki.org/wiki/Manual:FAQ/es Preguntas frecuentes sobre MediaWiki]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista de correo de anuncios de publicación de MediaWiki]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Traducir MediaWiki en tu idioma]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Aprende cómo combatir el spam en tu wiki]"
+       "mainpagedocfooter": "Consulta la [https://meta.wikimedia.org/wiki/Special:MyLanguage/Help:Contents guía] para obtener información sobre el uso del software wiki.\n\n== Primeros pasos ==\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Lista de ajustes de configuración]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Preguntas frecuentes sobre MediaWiki]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista de correo de anuncios de publicación de MediaWiki]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Traducir MediaWiki a tu idioma]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Aprende a combatir el spam en tu wiki]"
 }
index 50f1e80..6e632d6 100644 (file)
@@ -54,7 +54,7 @@
        "config-help-restart": "آیا می‌خواهید همهٔ اطلاعات ذخیره شده‌ای که وارد کرده‌اید را پاک کنید و دوباره روند نصب را شروع کنید؟",
        "config-restart": "بله، دوباره شروع کن",
        "config-welcome": "===بررسی‌های محیطی===\nبرای فهمیدن اینکه این محیط برای نصب مدیاویکی مناسب است، اکنون بررسی‌های اساسی انجام خواهد‌شد.\nاگر به دنبال پشتیبانی در چگونگی تکمیل نصب هستید،به یاد داشته باشید این اطلاعات را بگنجانید.",
-       "config-copyright": "=== حق رونوشت و شرایط ===\n\n$1\n\nاین برنامه، نرم‌افزاری آزاد است. می‌توانید تحت شرایط نگارش ۲ یا (بنا به نظر خود) هر نگارش جدیدتری از پروانهٔ جامع همگانی گنو که توسط بنیاد نرم‌افزار آزاد منتشر شده، بازنشرش کرده و/یا تغییرش دهید.\n\n\nاین برنامه با این امید توزیع شده که مفید باشد، ولی <strong>بدون هیچ ضمانتی</strong>، حتا ضمانت ضمنی <strong>معامله‌پذیری</strong> یا <strong>تناسب برای کاربردی خاص </strong>.\n\nبرای جزئیات بیشتر، پروانهٔ جامع همگانی گنو را ببینید.\n\n\nباید همراه این برنامه، <doclink href=Copying>نگارشی از پروانهٔ جامع همگانی گنو</doclink> را گرفته باشید. اگر چنین نیست، با بنیاد نرم‌افزار آزاد به نشانی 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA مکاتبه کرده یا [http://www.gnu.org/copyleft/gpl.html پروانه را برخط بخوانید].",
+       "config-copyright": "=== حق رونوشت و شرایط ===\n\n$1\n\nاین برنامه، نرم‌افزاری آزاد است. می‌توانید تحت شرایط نگارش ۲ یا (بنا به نظر خود) هر نگارش جدیدتری از پروانهٔ جامع همگانی گنو که توسط بنیاد نرم‌افزار آزاد منتشر شده، بازنشرش کرده و/یا تغییرش دهید.\n\n\nاین برنامه با این امید توزیع شده که مفید باشد، ولی <strong>بدون هیچ ضمانتی</strong>، حتا ضمانت ضمنی <strong>معامله‌پذیری</strong> یا <strong>تناسب برای کاربردی خاص </strong>.\n\nبرای جزئیات بیشتر، پروانهٔ جامع همگانی گنو را ببینید.\n\n\nباید همراه این برنامه، <doclink href=Copying>نگارشی از پروانهٔ جامع همگانی گنو</doclink> را گرفته باشید. اگر چنین نیست، با بنیاد نرم‌افزار آزاد به نشانی 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA مکاتبه کرده یا [http://www.gnu.org/copyleft/gpl.html پروانه را برخط بخوانید].",
        "config-sidebar": "* [https://www.mediawiki.org صفحهٔ اصلی مدیاویکی]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents راهنمای کاربر]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Contents راهنمای مدیر]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ پرسش‌های رایج]\n----\n* <doclink href=Readme>مرا بخوان</doclink>\n* <doclink href=ReleaseNotes>یادداشت‌های انتشار</doclink>\n* <doclink href=Copying>نسخه برداری</doclink>\n* <doclink href=UpgradeDoc>ارتقا</doclink>",
        "config-env-good": "محیط بررسی شده‌است.\nشما می‌توانید مدیاویکی را نصب کنید.",
        "config-env-bad": "محیط بررسی شده‌است.\nشما نمی‌توانید مدیاویکی را نصب کنید.",
index 6a7172a..2cc0d1a 100644 (file)
@@ -61,6 +61,7 @@
        "config-license-pd": "Җәмгыять мирасы",
        "config-logo": "Логотип URL:",
        "config-cc-again": "Кабат сайлагыз...",
+       "config-advanced-settings": "Өстәмә көйләнмәләр",
        "config-extensions": "Киңәйтүләр",
        "config-skins": "Бизәлеш",
        "config-install-step-done": "әзер",
index 51cb410..6aa3acc 100644 (file)
@@ -276,7 +276,7 @@ class CoreParserFunctions {
                }
                if ( !is_null( $title ) ) {
                        # Convert NS_MEDIA -> NS_FILE
-                       if ( $title->getNamespace() == NS_MEDIA ) {
+                       if ( $title->inNamespace( NS_MEDIA ) ) {
                                $title = Title::makeTitle( NS_FILE, $title->getDBkey() );
                        }
                        if ( !is_null( $arg ) ) {
@@ -341,7 +341,7 @@ class CoreParserFunctions {
                // allow prefix.
                $title = Title::newFromText( $username );
 
-               if ( $title && $title->getNamespace() == NS_USER ) {
+               if ( $title && $title->inNamespace( NS_USER ) ) {
                        $username = $title->getText();
                }
 
index 69f2e49..575a9ac 100644 (file)
@@ -489,8 +489,10 @@ class SkinTemplate extends Skin {
                $tpl->set( 'debughtml', $this->generateDebugHTML() );
                $tpl->set( 'reporttime', wfReportTime() );
 
+               // Avoid PHP 7.1 warning of passing $this by reference
+               $skinTemplate = $this;
                // original version by hansm
-               if ( !Hooks::run( 'SkinTemplateOutputPageBeforeExec', [ &$this, &$tpl ] ) ) {
+               if ( !Hooks::run( 'SkinTemplateOutputPageBeforeExec', [ &$skinTemplate, &$tpl ] ) ) {
                        wfDebug( __METHOD__ . ": Hook SkinTemplateOutputPageBeforeExec broke outputPage execution!\n" );
                }
 
@@ -768,8 +770,10 @@ class SkinTemplate extends Skin {
                                MWNamespace::getSubject( $title->getNamespace() ) );
                }
 
+               // Avoid PHP 7.1 warning of passing $this by reference
+               $skinTemplate = $this;
                $result = [];
-               if ( !Hooks::run( 'SkinTemplateTabAction', [ &$this,
+               if ( !Hooks::run( 'SkinTemplateTabAction', [ &$skinTemplate,
                                $title, $message, $selected, $checkEdit,
                                &$classes, &$query, &$text, &$result ] ) ) {
                        return $result;
@@ -870,8 +874,10 @@ class SkinTemplate extends Skin {
 
                $userCanRead = $title->quickUserCan( 'read', $user );
 
+               // Avoid PHP 7.1 warning of passing $this by reference
+               $skinTemplate = $this;
                $preventActiveTabs = false;
-               Hooks::run( 'SkinTemplatePreventOtherActiveTabs', [ &$this, &$preventActiveTabs ] );
+               Hooks::run( 'SkinTemplatePreventOtherActiveTabs', [ &$skinTemplate, &$preventActiveTabs ] );
 
                // Checks if page is some kind of content
                if ( $title->canExist() ) {
@@ -1074,7 +1080,9 @@ class SkinTemplate extends Skin {
                                }
                        }
 
-                       Hooks::run( 'SkinTemplateNavigation', [ &$this, &$content_navigation ] );
+                       // Avoid PHP 7.1 warning of passing $this by reference
+                       $skinTemplate = $this;
+                       Hooks::run( 'SkinTemplateNavigation', [ &$skinTemplate, &$content_navigation ] );
 
                        if ( $userCanRead && !$wgDisableLangConversion ) {
                                $pageLang = $title->getPageLanguage();
@@ -1116,12 +1124,16 @@ class SkinTemplate extends Skin {
                                'context' => 'subject'
                        ];
 
+                       // Avoid PHP 7.1 warning of passing $this by reference
+                       $skinTemplate = $this;
                        Hooks::run( 'SkinTemplateNavigation::SpecialPage',
-                               [ &$this, &$content_navigation ] );
+                               [ &$skinTemplate, &$content_navigation ] );
                }
 
+               // Avoid PHP 7.1 warning of passing $this by reference
+               $skinTemplate = $this;
                // Equiv to SkinTemplateContentActions
-               Hooks::run( 'SkinTemplateNavigation::Universal', [ &$this, &$content_navigation ] );
+               Hooks::run( 'SkinTemplateNavigation::Universal', [ &$skinTemplate, &$content_navigation ] );
 
                // Setup xml ids and tooltip info
                foreach ( $content_navigation as $section => &$links ) {
@@ -1254,9 +1266,11 @@ class SkinTemplate extends Skin {
                                ];
                        }
 
+                       // Avoid PHP 7.1 warning of passing $this by reference
+                       $skinTemplate = $this;
                        // Use the copy of revision ID in case this undocumented, shady hook tries to mess with internals
                        Hooks::run( 'SkinTemplateBuildNavUrlsNav_urlsAfterPermalink',
-                               [ &$this, &$nav_urls, &$revid, &$revid ] );
+                               [ &$skinTemplate, &$nav_urls, &$revid, &$revid ] );
                }
 
                if ( $out->isArticleRelated() ) {
index 3dabc0d..c0c2cb5 100644 (file)
@@ -158,7 +158,7 @@ class UploadFromChunks extends UploadFromFile {
 
        /**
         * Append the final chunk and ready file for parent::performUpload()
-        * @return FileRepoStatus
+        * @return Status
         */
        public function concatenateChunks() {
                $chunkIndex = $this->getChunkIndex();
@@ -358,7 +358,7 @@ class UploadFromChunks extends UploadFromFile {
         *
         * @param string $chunkPath
         * @throws UploadChunkFileException
-        * @return FileRepoStatus
+        * @return Status
         */
        private function outputChunk( $chunkPath ) {
                // Key is fileKey + chunk index
index 5a9f652..06fec44 100644 (file)
@@ -415,8 +415,6 @@ class LanguageConverter {
                                                $attr = $this->recursiveConvertTopLevel( $attr, $toVariant );
                                        }
 
-                                       // Remove HTML tags to avoid disrupting the layout
-                                       $attr = preg_replace( '/<[^>]+>/', '', $attr );
                                        if ( $attr !== $attrs[$attrName] ) {
                                                $attrs[$attrName] = $attr;
                                                $changed = true;
index 0c598aa..b61e8bf 100644 (file)
        "log-action-filter-suppress-event": "Утойваньне журнала",
        "log-action-filter-suppress-revision": "Утойваньне вэрсіі",
        "log-action-filter-suppress-delete": "Утойваньне старонкі",
+       "log-action-filter-suppress-block": "Утойваньне ўдзельніка праз блякаваньне",
+       "log-action-filter-suppress-reblock": "Утойваньне ўдзельніка праз паўторнае блякаваньне",
        "log-action-filter-upload-upload": "Новая загрузка",
+       "log-action-filter-upload-overwrite": "Паўторная загрузка",
+       "authmanager-authn-not-in-progress": "Аўтэнтыфікацыя не выконваецца або страчаныя зьвесткі пра сэсію. Калі ласка, пачніце зноў з самага пачатку.",
        "authmanager-realname-label": "Сапраўднае імя",
        "authmanager-provider-temporarypassword": "Часовы пароль",
        "changecredentials": "Зьмена ўліковых зьвестак",
index ffd8ba0..5f63b94 100644 (file)
@@ -44,7 +44,8 @@
        "tog-showhiddencats": "نشودادن دسته بندیهای قایم شده",
        "underline-always": "همیشه",
        "underline-never": "هرگز",
-       "underline-default": "پیش نمایش مرورگر",
+       "underline-default": "پۈسدإ آ دوڤارتإ نيأر پيش فرز",
+       "editfont-sansserif": "فونت سان سئریف",
        "editfont-serif": "فونت سريف",
        "sunday": "یکشنبه",
        "monday": "دوشنبه",
        "february-date": "فإڤريأ $1",
        "march-date": "مارس  $1",
        "april-date": "آڤريل $1",
+       "may-date": "مإی $1",
+       "june-date": "جۈأن $1",
+       "july-date": "جۈلای $1",
        "period-am": "دم سوڤ",
        "period-pm": "پسين",
        "pagecategories": "{{PLURAL:$1|دسته|دسته ها}}",
        "yourpassword": "رمز:",
        "userlogin-yourpassword": "رازينإ گوڤأرتن",
        "userlogin-yourpassword-ph": "رازينإ گوڤأرتن نأ بزأ",
+       "createacct-yourpassword-ph": "رازينإ گوڤأرتن نأ بزأ",
        "createacct-yourpasswordagain": "پشت راسدکاري رازينإ گوڤأرتن",
        "userlogin-remembermypassword": "مۈنإ مإن سامۈنإ ڤاڌار",
        "login": "اویدن به سیستم",
index 7dde2b0..e446a64 100644 (file)
        "anoneditwarning": "'''Тергам бе''': Ахьа хьай цӀарца тадарш деш дац. Хьан IP-адрес дӀаяздина хира ду хӀокху агӀон истори чу.",
        "anonpreviewwarning": "''Системин чу цагӀахь хьан IP-адрес агӀона истори чу дӀаяз лур ду.''",
        "missingsummary": "'''Дагадаийтар.''' Ахьа хийцамаш лаьцна доца яздина дац. Кнопка «{{int:savearticle}}» юху тӀетаӀича хийцамах лаьцна хӀума доцуш Ӏалашбира бу.",
+       "selfredirect": "<strong>Тергам бе:</strong> Ахьа кхуллуш ю из-за цӀе йолу агӀонан тӀе дӀасхьажорг.\nХийла мега, ДӀасхьажорг кхолла я таян ахьа хаьржина нийса йоцу агӀо.\nАхьа «{{int:savearticle}}» кнопка юха а тӀетаӀа яхь агӀо кхуллура ю.",
        "missingcommenttext": "Дехар до дӀаязбе хайн хаам лахахь.",
        "missingcommentheader": "'''Дагадаийтар.''' Ахьа хӀокху къамелан дӀахьедар/корта билгал бина бац. Кнопка «{{int:savearticle}}» юху тӀетаӀича хийцамах лаьцна хӀума доцуш Ӏалашбира бу.",
        "summary-preview": "Цуьнах лаьцна хирду:",
index 5360972..9ff10bc 100644 (file)
        "blockedtitle": "Uživatel zablokován",
        "blockedtext": "<strong>Vaší IP adrese či uživatelskému jménu byla zablokována možnost editace.</strong>\n\nZablokování {{GENDER:$4|provedl|provedla}} $1.\nUdaným důvodem bylo <em>$2</em>.\n\n* Začátek blokování: $8\n* Zablokování vyprší: $6\n* Blokovaný uživatel: $7\n\nPokud chcete zablokování prodiskutovat, můžete kontaktovat {{GENDER:$4|uživatele|uživatelku}} $1 či jiného [[{{MediaWiki:Grouppage-sysop}}|správce]].\nUvědomte si, že nemůžete použít funkci „Poslat e-mail“, jestliže nemáte ve svém [[Special:Preferences|nastavení]] uvedenu platnou e-mailovou adresu nebo pokud vám byla tato možnost zakázána.\nVaše IP adresa je $3 a&nbsp;identifikační číslo bloku je #$5; tyto údaje uvádějte ve všech dotazech na správce.",
        "autoblockedtext": "Vaše IP adresa byla automaticky zablokována, protože ji používal jiný uživatel, kterého zablokoval $1.\nUdaný důvod blokování:\n\n:<em>$2</em>\n\n* Začátek blokování: $8\n* Konec blokování: $6\n* Původně blokovaný uživatel: $7\n\nZablokování můžete prodiskutovat se správcem $1 nebo některým z dalších [[{{MediaWiki:Grouppage-sysop}}|správců]].\n\nUvědomte si však, že funkci „Poslat e-mail tomuto uživateli“ nemůžete použít, pokud nemáte ve svém [[Special:Preferences|uživatelském nastavení]] zadaný platný e-mail a nebylo vám zablokováno jeho užívání.\n\nVaše současná IP adresa je $3, číslo vašeho zablokování je #$5.\nProsíme, uveďte tyto údaje při komunikaci se správci.",
+       "systemblockedtext": "Vaše IP adresa byla automaticky zablokována softwarem MediaWiki.\nUdaný důvod blokování:\n\n:<em>$2</em>\n\n* Začátek blokování: $8\n* Konec blokování: $6\n* Původně blokovaný uživatel: $7\n\nVaše současná IP adresa je $3.\nProsíme, uveďte tyto údaje při komunikaci se správci.",
        "blockednoreason": "důvod nebyl zadán",
        "whitelistedittext": "Pro editaci se musíte $1.",
        "confirmedittext": "Pro editaci stránek je vyžadováno potvrzení vaší e-mailové adresy.\nNa stránce [[Special:Preferences|nastavení]] zadejte a nechte potvrdit svou e-mailovou adresu.",
index bf463ce..e6abfd8 100644 (file)
@@ -31,8 +31,8 @@
        },
        "tog-underline": "Bınê gırey de xete bance:",
        "tog-hideminor": "Vurnayışanê şenıkan pela vurnayışanê peyênan de bınımne",
-       "tog-hidepatrolled": "Vurnayışanê qontrolkerdeyan pela vurnayışê peyêni de bınımne",
-       "tog-newpageshidepatrolled": "Pelanê qontrolkerdeyan lista pelanê neweyan de bınımne",
+       "tog-hidepatrolled": "Vurnayışanê qontrol kerdeyan perra vurnayışê peyêni de bınımne",
+       "tog-newpageshidepatrolled": "Pelanê qontrol kerdeyan lista peranê  neweyan de bınımne",
        "tog-hidecategorization": "Pera kategorizasyoni bınımne",
        "tog-extendwatchlist": "Lista seyrkerdışi hera bıke ke vurnayışi pêro basê, tenya tewr peyêni nê",
        "tog-usenewrc": "Vurnayışê ke pela vurnayışanê peyênan û lista seyrkerdışi derê inan grube ke.",
        "tog-fancysig": "İmza rê mameleyê wikimeqaley bıke (bê gıreyo otomatik)",
        "tog-uselivepreview": "Verqayto giyane bıgureyne",
        "tog-forceeditsummary": "Mı ke xulasa veng verdaye, hay a mı ser de",
-       "tog-watchlisthideown": "Vurnayışanê mı lista mına seyrkerdışi de bınımne",
-       "tog-watchlisthidebots": "Lista seyrkerdışi ra vurnayışanê boti bınımne",
-       "tog-watchlisthideminor": "Vurnayışanê qıckekan lista mına seyrkerdışi de bınımne",
-       "tog-watchlisthideliu": "Lista seyrkerdışi ra vurnayışanê karberanê cıkewteyan bınımne",
+       "tog-watchlisthideown": "Vurnayışanê mı lista mına seyr kerdışi de bınımne",
+       "tog-watchlisthidebots": "Lista seyr kerdışi ra vurnayışanê boti bınımne",
+       "tog-watchlisthideminor": "Vurnayışanê qıckekan lista mına seyr kerdışi de bınımne",
+       "tog-watchlisthideliu": "Lista seyr kerdışi ra vurnayışanê karberanê cı kewteyan bınımne",
        "tog-watchlistreloadautomatically": "Filtra vıriyayış dı listey seyri otomatikman anewe kı",
-       "tog-watchlisthideanons": "Lista seyrkerdışi ra vurnayışanê karberanê anoniman bınımne",
-       "tog-watchlisthidepatrolled": "Lista seyrkerdışi ra vurnayışanê qontrolkerdeyan bınımne",
+       "tog-watchlisthideanons": "Lista seyr kerdışi ra vurnayışanê karberanê anoniman bınımne",
+       "tog-watchlisthidepatrolled": "Lista seyr kerdışi ra vurnayışanê qontrol kerdeyan bınımne",
        "tog-watchlisthidecategorization": "Pera kategorizasyoni bınımne",
        "tog-ccmeonemails": "E-posteyanê ke ez karberanê binan rê rışenan, mı rê kopya inan bırışe",
-       "tog-diffonly": "Qıyasê versiyonan de tek ferqan bımocne, pela butıne nê",
+       "tog-diffonly": "Zerrekê muhtevay, qıyasê versiyonan de tek ferqan bımocne",
        "tog-showhiddencats": "Kategoriyanê nımneya bıasne",
        "tog-norollbackdiff": "Peyser ardışi ra dıme ferqi measne",
        "tog-useeditwarning": "Wexto ke mı yew pela nizami be vurnayışanê nêqeydbiyayeyan caverdê, hay be mı ser de",
        "tog-prefershttps": "Ronışten akerden de tım greyo itimadın bıkarne",
        "underline-always": "Tım",
        "underline-never": "Qet",
-       "underline-default": "Cild ya zi cıgeyrayoğo hesebiyaye",
+       "underline-default": "Cild ya zi cı geyrayoğo hesebiyaye",
        "editfont-style": "Cayê vurnayışi de terzê nuştışi:",
-       "editfont-default": "Cıgeyrayoğo hesabiyaye",
-       "editfont-monospace": "Terzê nusteyê sabıtcagırewtoği",
+       "editfont-default": "Cı geyrayoğo hesabiyaye",
+       "editfont-monospace": "Terzê nusteyê sabıt mesafi",
        "editfont-sansserif": "Fontê Sans-serifi",
        "editfont-serif": "Font (çêşıdê nuştey) Serif",
        "sunday": "Kırê",
        "fri": "Yen",
        "sat": "Şem",
        "january": "Çele",
-       "february": "Sıbate",
+       "february": "Sıbat",
        "march": "Adar",
-       "april": "Nisane",
-       "may_long": "Gulane",
+       "april": "Lisan",
+       "may_long": "Gulan",
        "june": "Heziran",
-       "july": "Temuze",
+       "july": "Temuz",
        "august": "Tebaxe",
        "september": "Keşkelun",
        "october": "Tışrino Verên",
        "november": "Tışrino Peyên",
-       "december": "Kanun",
+       "december": "Gağan",
        "january-gen": "Çele",
-       "february-gen": "Sıbate",
+       "february-gen": "Sıbat",
        "march-gen": "Adar",
-       "april-gen": "Nisane",
-       "may-gen": "Gulane",
+       "april-gen": "Lisan",
+       "may-gen": "Gulan",
        "june-gen": "Heziran",
-       "july-gen": "Temuze",
+       "july-gen": "Temuz",
        "august-gen": "Tebaxe",
        "september-gen": "Keşkelun",
        "october-gen": "Tışrino Verên",
        "november-gen": "Tışrino Peyên",
-       "december-gen": "Kanun",
+       "december-gen": "Gağan",
        "jan": "Çel",
        "feb": "Sbt",
        "mar": "Adr",
-       "apr": "Nsn",
+       "apr": "Lsn",
        "may": "Gln",
        "jun": "Hez",
        "jul": "Tmz",
        "sep": "Kşk",
        "oct": "Tşv",
        "nov": "Tşp",
-       "dec": "Kan",
+       "dec": "n",
        "january-date": "$1 Çele",
-       "february-date": "$1 Sıbate",
+       "february-date": "$1 Sıbat",
        "march-date": "$1 Adar",
-       "april-date": "$1 Nisane",
-       "may-date": "$1 Gulane",
+       "april-date": "$1 Lisan",
+       "may-date": "$1 Gulan",
        "june-date": "$1 Heziran",
        "july-date": "$1 Temuze",
        "august-date": "$1 Tebaxe",
        "september-date": "$1 Keşkelun",
        "october-date": "$1 Tışrino Verên",
        "november-date": "$1 Tışrino Peyên",
-       "december-date": "$1 Kanun",
-       "period-am": "AM",
-       "period-pm": "PM",
+       "december-date": "$1 Gağan",
+       "period-am": "VD",
+       "period-pm": "BD",
        "pagecategories": "{{PLURAL:$1|Kategori|Kategoriy}}",
-       "category_header": "Pelê ke kategoriya \"$1\" derê",
+       "category_header": "Perrê kategoriya \"$1\"'i",
        "subcategories": "Kategoriyê bınêni",
-       "category-media-header": "Dosyeyê ke kategoriya \"$1\" derê",
-       "category-empty": "''Ena kategoriye de hewna qet nuştey ya zi medya çıniyê.''",
-       "hidden-categories": "{{PLURAL:$1|Kategoriya nımıtiye|Kategoriyê nımıtey}}",
+       "category-media-header": "Dosye yê ke kategoriya \"$1\" dı",
+       "category-empty": "''Ena kategori dı hewna qet nuştey ya zi medya çıni yê.''",
+       "hidden-categories": "{{PLURAL:$1|Kategoriya nımıte|Kategoriyê nımıtey}}",
        "hidden-category-category": "Kategoriyê nımıtey",
        "category-subcat-count": "{{PLURAL:$2|Na kategoriye de tenya na bınkategoriye esta.|Na kategoriye de, $2 ra pêro piya, {{PLURAL:$1|bınkategoriye esta|$1 bınkategoriy estê}}.}}",
        "category-subcat-count-limited": "Na kategoriye de {{PLURAL:$1|na kategoriya bınêne esta|nê $1 kategoriyê bınêni estê}}.",
        "category-file-count": "{{PLURAL:$2|Na kategori tenya dosya ya cêri muhtewa kena.|Na kategori de $2 ra pêro piya {{PLURAL:$1|1 dosya est a|$1 dosyey est ê}}.}}",
        "category-file-count-limited": "{{PLURAL:$1|Dosye|$1 Dosyey}} na kategori de yê.",
        "listingcontinuesabbrev": "dewam...",
-       "index-category": "Pelê endeksıni",
-       "noindex-category": "Bê indeksın perri",
-       "broken-file-category": "Peleye ke gıreyê dosyeyanê ğeletan muhtewa kenê",
+       "index-category": "Perrê rêzıni",
+       "noindex-category": "Perrê bêrêzıni",
+       "broken-file-category": "Perrê  ke gıreyê dosyeyanê ğeletan muhtewa kenê",
        "categoryviewer-pagedlinks": "($1) ($2)",
-       "about": "Heqa cı de",
-       "article": "Pela zerreki",
+       "about": "Heqa",
+       "article": "Wesiqe",
        "newwindow": "(Teqaya newi de abena)",
        "cancel": "Peyd kı",
        "moredotdotdot": "Vêşi...",
        "morenotlisted": "Na lista qay kemi ya.",
-       "mypage": "Pele",
-       "mytalk": "Mesac",
+       "mypage": "Per",
+       "mytalk": "Vaten",
        "anontalk": "Vaten",
        "navigation": "Pusula",
        "and": "&#32;u",
-       "qbfind": "Bıvêne",
+       "qbfind": "Bıvin",
        "qbbrowse": "Çım ra viyarne",
        "qbedit": "Bıvurne",
-       "qbpageoptions": "Ena pele",
-       "qbmyoptions": "Pelê mı",
+       "qbpageoptions": "Na perrer",
+       "qbmyoptions": "Perrê mı",
        "faq": "PVP",
        "faqpage": "Project: PVP",
        "actions": "Hereketi",
        "errorpagetitle": "Xeta",
        "returnto": "Peyser şo $1.",
        "tagline": "{{SITENAME}} ra",
-       "help": "Phasti",
+       "help": "Pasti",
        "search": "Cı geyre",
        "searchbutton": "Cı geyre",
-       "go": "Şo",
-       "searcharticle": "Şo",
-       "history": "Tarixê pele",
-       "history_short": "Tarix",
-       "updatedmarker": "cıkewtena mına peyêne ra dıme biyo rocane",
+       "go": "Şori",
+       "searcharticle": "Şori",
+       "history": "Tarixê perrer",
+       "history_short": "Veror",
+       "updatedmarker": "cı kewtena mına peyêne ra dıme biyo rocane",
        "printableversion": "Versiyono nuşterniyaye",
        "permalink": "Gıreyo vınderde",
-       "print": "Çap ke",
-       "view": "Bıvêne",
-       "view-foreign": "$1 de bıvêne",
+       "print": "Bınustern",
+       "view": "Bıvin",
+       "view-foreign": "$1 de bıvin",
        "edit": "Bıvurne",
        "edit-local": "Şınasnayışê lokali bıvurne",
        "create": "Vıraze",
        "create-local": "Şınasnayışê lokali cı ke",
-       "editthispage": "Ena pele bıvurne",
-       "create-this-page": "Na pele bınuse",
-       "delete": "Bestere",
-       "deletethispage": "Ena pele bestere",
+       "editthispage": "Na perrer bıvurne",
+       "create-this-page": "Na perer bıvıraz",
+       "delete": "Bestern",
+       "deletethispage": "Na perrer bestern",
        "undeletethispage": "Na perer mebesterne",
        "undelete_short": "{{PLURAL:$1|Yew vurnayışi|$1 Vurnayışan}} mestere",
        "viewdeleted_short": "{{PLURAL:$1|Yew vurnayışo esterıte|$1 Vurnayışanê esterıtan}} bımocne",
-       "protect": "Bışevekne",
+       "protect": "Bıstarnê",
        "protect_change": "bıvurne",
-       "protectthispage": "Ena pele bıpawe",
-       "unprotect": "Starkerdışi bıvurne",
-       "unprotectthispage": "Starkerdışe ena peler bıvurne",
-       "newpage": "Pela newiye",
-       "talkpage": "Ena pele sero werêne",
+       "protectthispage": "Ena perer bıpawe",
+       "unprotect": "Starnayışi bıvurne",
+       "unprotectthispage": "Starnayışê ena perer bıvurne",
+       "newpage": "Perra newi",
+       "talkpage": "Na per dı vatan kew",
        "talkpagelinktext": "Mesac",
        "specialpage": "Perra xısusi",
        "personaltools": "Hacetê şexsiy",
        "toolbox": "Haceti",
        "tool-link-userrights": "Grubanê {{GENDER:$1|karberi}} bıvırnë",
        "tool-link-userrights-readonly": "Grubanê {{GENDER:$1|karberi}} bıvin",
-       "tool-link-emailuser": "E-posta ya në{{GENDER:$1|karberi}}",
-       "userpage": "Pela karberi bıvêne",
-       "projectpage": "Pela proceyi bıvêne",
+       "tool-link-emailuser": "E-posta ya në {{GENDER:$1|karberi}}",
+       "userpage": "Perra karberi bıvin",
+       "projectpage": "Perra proji bıvin",
        "imagepage": "Pera dosya bıasne",
        "mediawikipage": "Pera mesaci bıasne",
        "templatepage": "Pera şabloni bıasne",
        "viewhelppage": "Pera peşti bıvin",
        "categorypage": "Pela kategoriya bıasne",
-       "viewtalkpage": "Werênayışi bıvêne",
+       "viewtalkpage": "Vaten bıvin",
        "otherlanguages": "Zıwananê binan dı",
        "redirectedfrom": "($1 ra kırışı yê)",
-       "redirectpagesub": "Pela berdışi",
-       "redirectto": "Beno hetê:",
+       "redirectpagesub": "Perra kırıştışi",
+       "redirectto": "Kırışêno:",
        "lastmodifiedat": "{| style=\"border:1px solid skyblue; margin-bottom: 1em\" cellspacing=\"0\" cellpadding=\"3\" width=\"100%\"\n| style=\"font: 100% verdana; color:black\" align=\"center\" bgcolor=\"white\" |\n\nEna per tewr peyên $1 dı sehat $2 dı vuriya ya.\n|}",
        "viewcount": "Ena pele {{PLURAL:$1|rae|$1 rey}} vêniya.",
-       "protectedpage": "Pela pawıtiye",
+       "protectedpage": "Perra pawıyayi",
        "jumpto": "Şo be:",
        "jumptonavigation": "Navigasyon",
        "jumptosearch": "cı geyre",
        "copyrightpage": "{{ns:project}}:Heqa telifi",
        "currentevents": "Hediseyê rocaney",
        "currentevents-url": "Project:Hediseyê rocaney",
-       "disclaimers": "Redê mesuliyeti",
-       "disclaimerpage": "Project:Redê mesulêtê pêroyi",
-       "edithelp": "Peştdariya vurnayışi",
+       "disclaimers": "Reddé  Mesuliyeti",
+       "disclaimerpage": "Project:Redê mesulêtê pêro",
+       "edithelp": "Pastiyer vurnayış",
        "helppage-top-gethelp": "Pasti",
-       "mainpage": "Pela Seri",
-       "mainpage-description": "Pela seri",
+       "mainpage": "Perra Seri",
+       "mainpage-description": "Perra seri",
        "policy-url": "Project:Terzê hereketi",
        "portal": "Portalê cemati",
        "portal-url": "Project:Portalê cemati",
        "editlink": "bıvurne",
        "viewsourcelink": "çımey bıvêne",
        "editsectionhint": "Leteyo ke bıvuriyo: $1",
-       "toc": "Tedeestey",
-       "showtoc": "bımocne",
+       "toc": "Zerreki",
+       "showtoc": "bıasnê",
        "hidetoc": "bınımne",
        "collapsible-collapse": "Teng kı",
        "collapsible-expand": "Hera ke",
        "confirmable-confirm": "{{GENDER:$1|Şıma}} pêbawerê?",
-       "confirmable-yes": "Eya",
+       "confirmable-yes": "E",
        "confirmable-no": "Nê",
        "thisisdeleted": "Bıvêne ya zi $1 peyser biya?",
        "viewdeleted": "$1 bıvin?",
        "red-link-title": "$1 (pele çıniya)",
        "sort-descending": "Rêzkerdışo kêmbiyaye",
        "sort-ascending": "Rêzkerdışo zêdiyaye",
-       "nstab-main": "Pele",
-       "nstab-user": "Pela karberi",
-       "nstab-media": "Pela medya",
+       "nstab-main": "Perr",
+       "nstab-user": "Perra karberi",
+       "nstab-media": "Perra medya",
        "nstab-special": "Perra xısusi",
-       "nstab-project": "Pela proceyi",
+       "nstab-project": "Perra proji",
        "nstab-image": "Dosya",
        "nstab-mediawiki": "Mesac",
        "nstab-template": "Şablon",
-       "nstab-help": "Pela peşti",
+       "nstab-help": "Perra pasti",
        "nstab-category": "Kategori",
-       "mainpage-nstab": "Pela seri",
+       "mainpage-nstab": "Perra seri",
        "nosuchaction": "Fealiyeto wınasi çıniyo",
        "nosuchactiontext": "URL ra kar qebul nêbı.\nŞıma belka URL şaş nuşt, ya zi gıreyi şaş ra ameyi.\nKeyepelê {{SITENAME}} eşkeno xeta eşkera bıkero.",
        "nosuchspecialpage": "Pela hısusiya wınasiyên çıniya.",
        "databaseerror": "Ğetay ardoği",
        "databaseerror-text": "Tabanda malumati de ğırabiya persayışi bi\nNa nusteber  zew ğırabin asınena.",
        "databaseerror-textcl": "Zu ğetaya erdamalumati persayışi ameya meydan.",
-       "databaseerror-query": "Perskerdış:$1",
+       "databaseerror-query": "Pers kerdış:$1",
        "databaseerror-function": "Fonksiyon: $1",
        "databaseerror-error": "Xeta: $1",
        "laggedslavemode": "Diqet: Pel de newe vıraşteyi belka çini .",
        "search-category": "(kategori $1)",
        "search-file-match": "(zerreyê dosya yewbini gêno)",
        "search-suggest": "To va: $1",
-       "search-rewritten": "Neticey $ ra asenê.  Herunda ney wa neticanë $2'i bıvin",
+       "search-rewritten": "Neticey $1 ra asenê. Herunda ney wa neticanë $2'i bıvin",
        "search-interwiki-caption": "Proceyê bıray",
        "search-interwiki-default": "$1 ra neticey:",
        "search-interwiki-more": "(véşi)",
        "prefs-help-recentchangescount": "Ney de vurnayışê peyêni, tarixê pelan u cıkewteni asenê.",
        "prefs-help-watchlist-token2": "Na pawıtış nımnayi kılta listada şımaya.\nOke kıliti zano şeno listeya tamaşann bıvino. Poğta coy ra kesiya me hesırne. \n[[Special:ResetTokens|Na kıliti reset kerdışi re tiyay bıploğne]].",
        "savedprefs": "Tecihê şıma qeyd biy.",
-       "savedrights": "Qandé {{GENDER:$1|$1}} heqê karberi qeyd  biye.",
+       "savedrights": "{{GENDER:$1|$1}}  gruba karberi qeyd  biya.",
        "timezonelegend": "Warey saete:",
        "localtime": "saeta mehelliye:",
        "timezoneuseserverdefault": "Zey karkerdışê Wiki ($1)",
        "prefs-help-prefershttps": "Na tercih, fına dekewten dı bena aktiv.",
        "prefswarning-warning": "Şıma tercihanê xo de vurnayışi kerdi ke ney hewna qeyd nêbiyê. \nEke şıma na pele ra bêtıknayışê \"$1\" ra veciyê, tercihê şıma newe nêbenê.",
        "userrights": "İdarey heqanê karberan",
-       "userrights-lookup-user": "Grubanê karberi/karbere idare bıke",
+       "userrights-lookup-user": "Jew karber bıweçin",
        "userrights-user-editname": "Yew nameyê karberi cı kewe:",
-       "editusergroup": "Grupanê {{GENDER:$1|karberi}} bıvurne",
+       "editusergroup": "Grupanê karberi bıvurne",
        "editinguser": "{{GENDER:$1|karber}} [[User:$1|$1]] heqanê $2'i vurne no",
        "userrights-editusergroup": "Grubanê karberi/karbere sero bıgureye (bıxebetiye)",
        "userrights-viewusergroup": "Grubanê karberi bıvin",
        "action-upload_by_url": "na dosya yew URL ra bar ke",
        "action-writeapi": "ser nuşte API gure bike",
        "action-delete": "ena pele bestere",
-       "action-deleterevision": "nê çımraviyarnayışi bestere",
-       "action-deletedhistory": "tarixê ena pel ki estereyî biya, ey bivine",
+       "action-deleterevision": "revizyoni besternê",
+       "action-deletelogentry": "roceka dekerdan bestern",
+       "action-deletedhistory": "verora esteriya perrer bıvin",
        "action-browsearchive": "pelanê esterıteyan bıgeyre",
-       "action-undelete": "ena pele meestere",
-       "action-suppressrevision": "revizyone ki nimnaye biye reyna bivîne u restore bike",
+       "action-undelete": "ena perer mestern",
+       "action-suppressrevision": "revizyonê nımnayi bıvin u timar kı.",
        "action-suppressionlog": "enê qeydê xısusi bıvêne",
        "action-block": "enê karberi vurnayışi ra bıreyne",
        "action-protect": "seviyeyê pawitişî se ena pele bivurne",
        "action-userrights-interwiki": "heqqa karberanê ke wikiyê binî de hemî bivurne",
        "action-siteadmin": "database kilit bike ya zi a bike",
        "action-sendemail": "e-posta bırşe",
+       "action-editmyoptions": "Tercihanê xo bıvurne",
        "action-editmywatchlist": "Listeyseyran de xo bıvırne",
        "action-viewmywatchlist": "Listeyseyran de xo bıvin",
        "action-viewmyprivateinfo": "Xısusi tercihane xo bıvin",
        "listusers-desc": "Kemeyen rézed ratn",
        "usereditcount": "$1 {{PLURAL:$1|vurnayîş|vurnayîşî}}",
        "usercreated": "$2 de $1 {{GENDER:$3|viraziya}}",
-       "newpages": "Pelê newey",
+       "newpages": "Perrê newey",
        "newpages-submit": "Bımocne",
        "newpages-username": "Nameyê karberi:",
        "ancientpages": "Tewr pelê kıhani",
        "undeletepagetext": "{{PLURAL:$1|pelo|$1 pelo}} cerın hewn a şiyo labele hema zi arşiv de yo u tepiya geriyeno.\nArşiv daimi pak beno.",
        "undelete-fieldset-title": "revizyonan tepiya bar ker",
        "undeleteextrahelp": "Qey ardışê pel u verê pelani tuşê '''tepiya biya!'''yi bıtıknê. qey ciya ciya ardışê verê pelani zi qutiye tesdiqi nişane kerê u tuşê '''tepiya biya!'''yi bıtıknê '''''{{int:undeletebtn}}'''''.. qey hewn a kerdışê qutiya tesdiqan u qey sıfır kerdışê cayê sebebani zi tuşê '''agêr caverd/aça ker'''i bıtıknê '''''{{int:undeletebtn}}'''''..",
-       "undeleterevisions": "$1 {{PLURAL:$1|revizyon|revizyon}} esteriya yë",
+       "undeleterevisions": "$1 {{PLURAL:$1|revizyon|revizyoni}} esteriya yë",
        "undeletehistory": "eke şıma pel tepiya biyari heme revizyonî zi tepiya yeni.\neke yew pel hewn a biyo u pê nameyê o peli newe ra yew pel bıvıraziyo, revizyonê o pelê verıni zerreyê no pel de aseno.",
        "undeleterevdel": "eke pelo serın de netice bıdo ya zi revizyoni qısmen hewn a bıbiy hewn a kerdışi tepiya nêgeriyeno.",
        "undeletehistorynoadmin": "na madde hewn a biya. sebebê hewna kerdışi u teferruatê karber ê ke maddeyi vıraştı cêr de diyayî. revizyonê hewn a biyayeyani têna serkari vineni",
        "tooltip-invert": "nameyo ke nışan biyo (u nameyo elekeyın zi nışanyyayo se) vurnayışan  zerrekan nımtışi re ena dore tesdiqi nışan kerê",
        "namespace_association": "Heruna namanê elaqedaran",
        "tooltip-namespace_association": "Herunda canemiya elekeyın nışan kerdışi sero qıse kerdışi yana zerre dekerdışi rê ena dora tesdiqi nışan kerê",
-       "blanknamespace": "(Ser)",
+       "blanknamespace": "(Wesiqe)",
        "contributions": "İştırakê {{GENDER:$1|karber}}i",
        "contributions-title": "Dekerdenê karber de $1",
        "mycontris": "İştıraki",
index 166140a..e1fdc42 100644 (file)
        "cant-move-to-user-page": "You do not have permission to move a page to a user page (except to a user subpage).",
        "cant-move-category-page": "You do not have permission to move category pages.",
        "cant-move-to-category-page": "You do not have permission to move a page to a category page.",
+       "cant-move-subpages": "You do not have permission to move subpages.",
+       "namespace-nosubpages": "Namespace \"$1\" does not allow subpages.",
+       "movepage-max-pages": "The source page has more than the maximum $1 {{PLURAL:$1|subpage|subpages}}.",
        "newtitle": "New title:",
        "move-watch": "Watch source page and target page",
        "movepagebtn": "Move page",
index 24ff6c6..2056f6d 100644 (file)
        "action-delete": "forigi ĉi tiun paĝon",
        "action-deleterevision": "forigi ĉi tiun version",
        "action-deletelogentry": "forigi protokolerojn",
-       "action-deletedhistory": "vidi historion de forigita paĝo",
+       "action-deletedhistory": "vidi historion de forigitaj versiojn de la paĝo",
        "action-deletedtext": "vidi tekston el forigita versio",
        "action-browsearchive": "traserĉi forigitajn paĝojn",
        "action-undelete": "malforigi paĝojn",
index 4c9eea5..4f4ddd7 100644 (file)
        "uploadstash-errclear": "Falló el borrado de los archivos.",
        "uploadstash-refresh": "Actualizar la lista de archivos",
        "uploadstash-thumbnail": "ver miniatura",
+       "uploadstash-exception": "No se pudo almacenar la carga en el área provisional ($1): «$2».",
        "invalid-chunk-offset": "Desplazamiento inválido del fragmento",
        "img-auth-accessdenied": "Acceso denegado",
        "img-auth-nopathinfo": "Falta PATH_INFO.\nEl servidor no está configurado para proporcionar esta información.\nEs posible que esté basado en CGI y que no sea compatible con img_auth.\nConsulte https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization.",
        "cachedspecial-refresh-now": "Ver lo más reciente.",
        "categories": "Categorías",
        "categories-submit": "Mostrar",
-       "categoriespagetext": "Las siguientes {{PLURAL:$1|categoría contiene|categorías contienen}} páginas o medios.\nNo se muestran aquí las [[Special:UnusedCategories|categorías sin uso]].\nVéase también las [[Special:WantedCategories|categorías requeridas]].",
+       "categoriespagetext": "Las siguientes {{PLURAL:$1|categoría contiene|categorías contienen}} páginas o medios.\nNo se muestran aquí las [[Special:UnusedCategories|categorías sin uso]].\nVéanse también las [[Special:WantedCategories|categorías requeridas]].",
        "categoriesfrom": "Mostrar categorías que empiecen por:",
        "deletedcontributions": "Contribuciones borradas de usuario",
        "deletedcontributions-title": "Contribuciones borradas de usuario",
        "htmlform-user-not-exists": "<strong>$1</strong> no existe.",
        "htmlform-user-not-valid": "<strong>$1</strong> no es un nombre de usuario válido.",
        "logentry-delete-delete": "$1 {{GENDER:$2|borró}} la página $3",
+       "logentry-delete-delete_redir": "$1 {{GENDER:$2|borró}} la redirección $3 con un traslado",
        "logentry-delete-restore": "$1 restauró la página «$3»",
        "logentry-delete-event": "$1 {{GENDER:$2|modificó}} la visibilidad de {{PLURAL:$5|un evento|$5 eventos}} del registro en $3: $4",
        "logentry-delete-revision": "$1 {{GENDER:$2|modificó}} la visibilidad de {{PLURAL:$5|una revisión |$5 revisiones}} en la página  $3: $4",
index 38f21c0..0ab9653 100644 (file)
        "watchnologin": "Ei ole sisse logitud",
        "addwatch": "Lisa jälgimisloendisse",
        "addedwatchtext": "\"[[:$1]]\" ja selle arutelulehekülg on lisatud sinu [[Special:Watchlist|jälgimisloendisse]].",
+       "addedwatchtext-talk": "\"[[:$1]]\" ja sellega seotud lehekülg on lisatud sinu [[Special:Watchlist|jälgimisloendisse]].",
        "addedwatchtext-short": "Lehekülg \"$1\" on lisatud sinu jälgimisloendisse.",
        "removewatch": "Eemalda jälgimisloendist",
        "removedwatchtext": "\"[[:$1]]\" ja selle arutelulehekülg on [[Special:Watchlist|jälgimisloendist]] eemaldatud.",
+       "removedwatchtext-talk": "\"[[:$1]]\" ja sellega seotud lehekülg on sinu [[Special:Watchlist|jälgimisloendist]] eemaldatud.",
        "removedwatchtext-short": "Lehekülg \"$1\" on eemaldatud sinu jälgimisloendist.",
        "watch": "Jälgi",
        "watchthispage": "Jälgi seda lehekülge",
        "modifiedarticleprotection": "muutis lehekülje \"[[$1]]\" kaitsemäära",
        "unprotectedarticle": "eemaldas lehekülje \"[[$1]]\" kaitse",
        "movedarticleprotection": "teisaldas kaitsesätted leheküljelt \"[[$2]]\" leheküljele \"[[$1]]\"",
+       "protectedarticle-comment": "{{GENDER:$2|Kaitsti}} \"[[$1]]\"",
+       "modifiedarticleprotection-comment": "{{GENDER:$2|Muudeti}} lehekülje \"[[$1]]\" kaitsetase",
+       "unprotectedarticle-comment": "{{GENDER:$2|Eemaldati}} lehekülje \"[[$1]]\" kaitse",
        "protect-title": "Lehekülje \"$1\" kaitsemäära muutmine",
        "protect-title-notallowed": "Lehekülje \"$1\" kaitsemäära vaatamine",
        "prot_1movedto2": "Lehekülg \"[[$1]]\" teisaldatud pealkirja \"[[$2]]\" alla",
        "export-download": "Salvesta failina",
        "export-templates": "Kaasa mallid",
        "export-pagelinks": "Kaasan viidatud lehed kuni tasemeni",
+       "export-manual": "Käsitsi lisatud leheküljed:",
        "allmessages": "Kõik süsteemi sõnumid",
        "allmessagesname": "Nimi",
        "allmessagesdefault": "Vaiketekst",
        "newimages-legend": "Filter",
        "newimages-label": "Failinimi (või selle osa):",
        "newimages-showbots": "Näita robotite üles laaditud faile",
+       "newimages-hidepatrolled": "Peida kontrollitud failid",
        "noimages": "Uusi pilte ei ole.",
        "gallery-slideshow-toggle": "Lülita pisipildid ümber",
        "ilsubmit": "Otsi",
index 80a0576..8e18f5d 100644 (file)
                        "Lucas",
                        "Mabroukb",
                        "Pymouss",
-                       "Derugon"
+                       "Derugon",
+                       "Benoit Rochon"
                ]
        },
        "tog-underline": "Soulignement des liens :",
        "sort-descending": "Tri décroissant",
        "sort-ascending": "Tri croissant",
        "nstab-main": "Page",
-       "nstab-user": "Page utilisateur",
+       "nstab-user": "Page {{GENDER:{{ROOTPAGENAME}}|utilisateur|utilisatrice}}",
        "nstab-media": "Média",
        "nstab-special": "Page spéciale",
        "nstab-project": "À propos",
        "javascripttest": "Test de JavaScript",
        "javascripttest-pagetext-unknownaction": "Action « $1 » inconnue.",
        "javascripttest-qunit-intro": "Voir [$1 la documentation de test] sur mediawiki.org.",
-       "tooltip-pt-userpage": "{{GENDER:|Votre}} page utilisateur",
+       "tooltip-pt-userpage": "Votre page {{GENDER:|utilisateur|utilisatrice}}",
        "tooltip-pt-anonuserpage": "La page utilisateur avec l'adresse IP de laquelle vous contribuez",
        "tooltip-pt-mytalk": "{{GENDER:|Votre}} page de discussion",
        "tooltip-pt-anontalk": "La page de discussion pour les contributions depuis cette adresse IP",
index 090acde..fe3e5e4 100644 (file)
        "pageinfo-length": "Lonxitude da páxina (en bytes)",
        "pageinfo-article-id": "ID da páxina",
        "pageinfo-language": "Lingua do contido da páxina",
+       "pageinfo-language-change": "cambiar",
        "pageinfo-content-model": "Modelo do contido da páxina",
        "pageinfo-content-model-change": "cambiar",
        "pageinfo-robot-policy": "Indexación por robots",
        "restrictionsfield-badip": "Enderezo IP ou rango de IP non válido: $1",
        "restrictionsfield-label": "Rangos de IP permitidos:",
        "restrictionsfield-help": "Un único enderezo IP ou rango CIDR por liña. Para habilitalos todos, utilice<br><code>0.0.0.0/0</code><br><code>::/0</code>",
+       "revid": "revisión $1",
        "pageid": "identificador de páxina $1"
 }
index 231c40e..97f2dea 100644 (file)
        "log-action-filter-newusers-create2": "पंजीकृत सदस्य द्वारा निर्मित",
        "log-action-filter-newusers-autocreate": "स्वतः निर्मित",
        "log-action-filter-newusers-byemail": "पासवर्ड ईमेल द्वारा भेजा गया के साथ निर्मित",
-       "log-action-filter-patrol-patrol": "à¤\85पनà¥\87 à¤¸à¥\87 à¤ªà¤°à¥\80à¤\95à¥\8dषण",
+       "log-action-filter-patrol-patrol": "सदसà¥\8dय à¤¦à¥\8dवारा à¤ªà¤°à¥\80à¤\95à¥\8dषित",
        "log-action-filter-patrol-autopatrol": "स्वतः पुनरीक्षण",
        "log-action-filter-protect-protect": "सुरक्षा",
        "log-action-filter-protect-modify": "सुरक्षा परिवर्तन",
index ef2a562..54bd07e 100644 (file)
        "sort-descending": "Ordine decrescente",
        "sort-ascending": "Ordine crescente",
        "nstab-main": "Pàgina",
-       "nstab-user": "Utente",
+       "nstab-user": "Paggina utente",
        "nstab-media": "File murtimediâ",
        "nstab-special": "Pàgina speçiâ",
        "nstab-project": "Paggina de servissio",
        "tooltip-t-print": "Verscion stanpabbile de sta paggina",
        "tooltip-t-permalink": "Colegaménto fisso a sta revixión da pàgina",
        "tooltip-ca-nstab-main": "Véddi a vôxe",
-       "tooltip-ca-nstab-user": "Veddi a pàgina d'utente",
+       "tooltip-ca-nstab-user": "Amîa a paggina utente",
        "tooltip-ca-nstab-media": "Veddi a paggina do file murtimediâ",
        "tooltip-ca-nstab-special": "Sta chi l'è 'na pàgina speciâle e a no peu êse cangiâ",
        "tooltip-ca-nstab-project": "Veddi a paggina de servissio",
index 1f25b38..d2376a5 100644 (file)
        "passwordreset-emaildisabled": "ଏହି ଉଇକିରେ ଇମେଲ ସୁବିଧା ଅଚଳ କରାଯାଇଅଛି ।",
        "passwordreset-username": "ବ୍ୟବହାରକାରୀଙ୍କ ନାମ:",
        "passwordreset-domain": "ଡୋମେନ:",
-       "passwordreset-capture": "ଯାଉଥିବା ଇ-ମେଲଟି ଦେଖିବେ?",
-       "passwordreset-capture-help": "ଯଦି ଆପଣ ଘରଟିକୁ ଦେଖନ୍ତି ତେବେ (ଅସ୍ଥାୟୀ ପାସୱାର୍ଡ଼ ସହିତ) ଇ-ମେଲଟି ଆପଣଙ୍କୁ ଦେଖାଯିବ ଓ ବାକି ସଭ୍ୟମାନଙ୍କୁ ଚାଲିଯିବ ।",
        "passwordreset-email": "ଇ-ମେଲ ଠିକଣା:",
        "passwordreset-emailtitle": "{{SITENAME}} ର ଖାତା ସବିଶେଷ",
        "passwordreset-emailtext-ip": "କେହିଜଣେ (ବୋଧେ ଆପଣ, $1 IP addressରୁ) {{SITENAME}} ($4)ରେ ପାସୱାର୍ଡ଼ ରି-ସେଟ କରିବା ପାଇଁ ଅନୁରୋଧ କରିଛନ୍ତି । ଉକ୍ତ ଇମେଲ ଠିକଣା ସହିତ ଏହି {{PLURAL:$3|ସଭ୍ୟ ଖାତାଟି|ସଭ୍ୟ ଖାତାମାନ}} ସମ୍ବନ୍ଧିତ:\n\n$2\n\n{{PLURAL:$3|ଏହି ଅସ୍ଥାୟୀ ପାସୱାର୍ଡ଼ଟି|ଏହି ଅସ୍ଥାୟୀ ପାସୱାର୍ଡ଼ମାନ}} {{PLURAL:$5|ଦିନକ|$5 ଦିନ}}ରେ ଅଚଳ ହୋଇଯିବ ।\nଆପଣ ଏବେ ଲଗ ଇନ କରି ନୂଆ ପାସୱାର୍ଡ଼ଟିଏ ବାଛନ୍ତୁ । ଯଦି ଆଉ କେହି ଏହି ଅନୁରୋଧ କରିଥାନ୍ତି କିମ୍ବା ନିଜର ପୁରୁଣା ପାସୱାର୍ଡ଼ଟି ମନେପଡ଼ିଲା, ଏବଂ ଆଉ ପାସୱାର୍ଡ଼ଟି ବଦଳାଇବାକୁ ଚାହୁଁନାହାଁନ୍ତି ତାହେଲେ ଏହି ମେଲଟିକୁ ଅଣଦେଖା କରି ନିଜର ପୁରୁଣା ପାସୱାର୍ଡ଼ ବ୍ୟବହାର କରନ୍ତୁ ।",
        "userrights-reason": "କାରଣ:",
        "userrights-no-interwiki": "ଆପଣଙ୍କୁ ବାକି ଉଇକିରେ ସଭ୍ୟ ଅଧିକାର ବଦଳାଇବା ନିମନ୍ତେ ଅନୁମତି ମିଳିନାହିଁ ।",
        "userrights-nodatabase": "$1 ଡାଟାବେସଟି ନାହିଁ ବା କେବଳ ସ୍ଥାନୀୟ ହୋଇ ରହିଛି ।",
-       "userrights-nologin": "ଆପଣ ପରିଚାଳକ ଖାତାରୁ [[Special:UserLogin|ଲଗ ଇନ]] କରି ସଭ୍ୟ ଅଧିକାରର ସୁବିଧା ଦେଇପାରିବେ ।",
-       "userrights-notallowed": "ଆପଣଙ୍କ ଖାତାରେ ସଭ୍ୟ ଅଧିକାର ଯୋଡ଼ିବା ବା କାଢ଼ିବାର ଅନୁମତି ନାହିଁ ।",
        "userrights-changeable-col": "ଆପଣ ବଦଳାଇପାରିବା ଗୋଠସମୂହ",
        "userrights-unchangeable-col": "ଯେଉଁ ଗୋଠସବୁ ଆପଣ ବଦଳାଇପାରିବେ ନାହିଁ",
        "userrights-conflict": "ସଭ୍ୟଙ୍କ ଅଧିକାର ବଦଳାଇବାରେ ମତଭେଦ! କରିଥିବା ବଦଳକୁ ପରଖି ନିଶ୍ଚିତ କରନ୍ତୁ ।",
-       "userrights-removed-self": "ଆପଣ ସଫଳ ଭାବେ ନିଜର ଅଧିକାର କାଢ଼ିଦେଲେ । ଆଗକୁ ଆପଣ ଆଉ ଏହା ଦେଖିପାରିବେ ନାହିଁ ।",
        "group": "ଗୋଠ:",
        "group-user": "ବ୍ୟବହାରକାରୀଗଣ",
        "group-autoconfirmed": "ଆପେଆପେ ଥୟ କରା ସଭ୍ୟ",
        "right-siteadmin": "ଡାଟାବେସକୁ କିଳିବେ ଓ ଖୋଲିବେ",
        "right-override-export-depth": "୫ଟି ଯାଏଁ ଯୋଡ଼ାଯାଇଥିବା ପୃଷ୍ଠା ସହିତ ସବୁ ପୃଷ୍ଠାକୁ ରପ୍ତାନୀ କରିବେ",
        "right-sendemail": "ବାକି ସଭ୍ୟ ମାନଙ୍କୁ ଇ-ମେଲ ପଠାଇବେ",
-       "right-passwordreset": "ପାସୱାର୍ଡ଼ ପୁନସ୍ଥାପନ ଇମେଲ କରିବେ",
        "newuserlogpage": "ବ୍ୟବହାରକାରୀ ତିଆରି ଲଗ",
        "newuserlogpagetext": "ସଭ୍ୟଙ୍କର ଖାତା ଗଠନ ପାଇଁ ଏକ ଇତିହାସ ଅଛି ।",
        "rightslog": "ସଭ୍ୟଙ୍କ ଅଧିକାରର ଲଗ",
        "whatlinkshere": "ଏଠାରେ ଥିବା ଲିଙ୍କ",
        "whatlinkshere-title": "\"$1\" କୁ ପୃଷ୍ଠା ଲିଙ୍କ",
        "whatlinkshere-page": "ପୃଷ୍ଠା:",
-       "linkshere": "ଏହି ପୃଷ୍ଠା ସବୁ  <strong>[[:$1]]</strong> ସହ ଯୋଡା ଯାଇଅଛି:",
+       "linkshere": "à¬\8fହି à¬ªà­\83ଷà­\8dଠା à¬¸à¬¬à­\81  <strong>[[:$1]]</strong> à¬¸à¬¹ à¬¯à­\8bଡ଼ା à¬¯à¬¾à¬\87à¬\85à¬\9bି:",
        "nolinkshere": "'''[[:$1]]''' ସହିତ କୌଣସିଟି ପୃଷ୍ଠା ଯୋଡ଼ାଯାଇନାହିଁ ।",
        "nolinkshere-ns": "ବଛା ଯାଇଥିବା ନେମସ୍ପେସରେ '''[[:$1]]''' ନାଆଁ ସହ କୌଣସି ବି ପୃଷ୍ଠା ଯୋଡ଼ାଯାଇନାହିଁ ।",
        "isredirect": "ଆଉଥରେ ଫେରିବା ପୃଷ୍ଠା",
index bf579fa..58ef469 100644 (file)
        "tog-enotifminoredits": "Notificar-me por email também sobre edições menores de páginas ou arquivos",
        "tog-enotifrevealaddr": "Revelar meu endereço de email nas mensagens de notificação",
        "tog-shownumberswatching": "Mostrar o número de usuários que estão vigiando",
-       "tog-oldsig": "Sua Assinatura Existente:",
+       "tog-oldsig": "Assinatura atual:",
        "tog-fancysig": "Tratar assinatura como wikitexto (sem link automático)",
        "tog-uselivepreview": "Utilizar pré-visualização em tempo real",
        "tog-forceeditsummary": "Avisar-me ao introduzir um sumário de edição vazio",
        "talk": "Discussão",
        "views": "Visualizações",
        "toolbox": "Ferramentas",
-       "tool-link-userrights": "Editar grupos {{GENDER:$1|usuário}}",
+       "tool-link-userrights": "Editar grupos {{GENDER:$1|do usuário|da usuária|do(a) usuário(a)}}",
+       "tool-link-emailuser": "Enviar e-mail a {{GENDER:$1|este usuário|esta usuária|este(a) usuário(a)}}",
        "userpage": "Ver página de usuário",
        "projectpage": "Ver página de projeto",
        "imagepage": "Ver página do arquivo",
        "yourlanguage": "Língua:",
        "yourvariant": "Variante da língua de conteúdo:",
        "prefs-help-variant": "A sua variante preferida ou ortografia para mostrar no conteúdo das páginas deste wiki.",
-       "yournick": "Assinatura:",
+       "yournick": "Nova assinatura:",
        "prefs-help-signature": "Ao inserir comentários em páginas de discussão, assine-os colocando quatro tiles (<nowiki>~~~~</nowiki>) no fim dos comentários. Ao salvar, estes serão convertidos na sua assinatura mais a data e a hora da edição.",
        "badsig": "Assinatura inválida; verifique o código HTML utilizado.",
        "badsiglength": "A sua assinatura é muito longa.\nEla deve ter menos de $1 {{PLURAL:$1|caractere|caracteres}}.",
        "emailsubject": "Assunto:",
        "emailmessage": "Mensagem:",
        "emailsend": "Enviar",
-       "emailccme": "Enviar ao meu e-mail uma cópia de minha mensagem.",
+       "emailccme": "Enviar ao meu e-mail uma cópia de minha mensagem",
        "emailccsubject": "Cópia de sua mensagem para $1: $2",
        "emailsent": "E-mail enviado",
        "emailsenttext": "Sua mensagem foi enviada.",
        "deletepage": "Eliminar página",
        "confirm": "Confirmar",
        "excontent": "o conteúdo era: '$1'",
-       "excontentauthor": "o conteúdo era: \"$1\",e o único editor era \"[[Special:Contributions/$2|$2]]\" ([[User talk:$2|discussão]])",
+       "excontentauthor": "o conteúdo era: \"$1\", e {{GENDER:$2|o único editor|a única editora|o(a) único(a) editor(a)}} era [[Special:Contributions/$2|$2]] ([[User talk:$2|discussão]])",
        "exbeforeblank": "o conteúdo antes de esvaziar era: '$1'",
        "delete-confirm": "Eliminar \"$1\"",
        "delete-legend": "Eliminar",
        "actioncomplete": "Ação concluída",
        "actionfailed": "Falha na ação",
        "deletedtext": "\"$1\" foi eliminada.\nConsulte $2 para um registro de eliminações recentes.",
-       "dellogpage": "Registro de eliminação",
+       "dellogpage": "Registro de eliminações",
        "dellogpagetext": "Abaixo uma lista das eliminações mais recentes.",
        "deletionlog": "registro de eliminações",
        "reverted": "Revertido para versão anterior",
        "log-name-contentmodel": "Log de alterações do modelo de conteúdo",
        "logentry-contentmodel-change-revertlink": "reverter",
        "logentry-contentmodel-change-revert": "reverter",
-       "protectlogpage": "Registro de proteção",
+       "protectlogpage": "Registro de proteções",
        "protectlogtext": "Encontra-se abaixo o registro de proteção e desproteção de páginas.\nConsulte a [[Special:ProtectedPages|lista de páginas protegidas]] para ver as páginas que se encontram protegidas neste momento.",
        "protectedarticle": "protegeu \"[[$1]]\"",
        "modifiedarticleprotection": "alterou o nível de proteção para \"[[$1]]\"",
        "movepage-page-moved": "A página $1 foi movida para $2",
        "movepage-page-unmoved": "A página $1 não pôde ser movida para $2.",
        "movepage-max-pages": "O limite de $1 {{PLURAL:$1|página movida|páginas movidas}} foi atingido; não será possível mover mais páginas de forma automática.",
-       "movelogpage": "Registro de movimento",
+       "movelogpage": "Registro de movimentos",
        "movelogpagetext": "Abaixo encontra-se uma lista de páginas movidas.",
        "movesubpage": "{{PLURAL:$1|Subpágina|Subpáginas}}",
        "movesubpagetext": "Esta página tem $1 {{PLURAL:$1|subpágina mostrada|subpáginas mostradas}} abaixo.",
        "tooltip-feed-rss": "Feed RSS desta página",
        "tooltip-feed-atom": "Feed Atom desta página",
        "tooltip-t-contributions": "Ver as contribuições {{GENDER:$1|deste usuário|desta usuária|deste(a) usuário(a)}}",
-       "tooltip-t-emailuser": "Enviar um e-mail a {{GENDER:{{BASEPAGENAME}}|este usuário|esta usuária|este(a) usuário(a)}}",
+       "tooltip-t-emailuser": "Enviar um e-mail a {{GENDER:$1|este usuário|esta usuária|este(a) usuário(a)}}",
        "tooltip-t-info": "Mais informações sobre esta página",
        "tooltip-t-upload": "Enviar arquivos",
        "tooltip-t-specialpages": "Lista de páginas especiais",
        "confirmrecreate": "O usuário [[User:$1|$1]] ([[User talk:$1|Discussão]]) eliminou esta página após você ter começado a editar, pelo seguinte motivo:\n: ''$2''\nPor favor, confirme que realmente deseja recriar esta página.",
        "confirmrecreate-noreason": "O usuário [[User:$1|$1]] ([[User talk:$1|discussão]]) eliminou esta página depois de você ter começado a editá-la. Confirme que deseja recriar a página, por favor.",
        "recreate": "Recriar",
+       "unit-pixel": "&nbsp;px",
        "confirm_purge_button": "OK",
        "confirm-purge-top": "Limpar a memória cache desta página?",
        "confirm-purge-bottom": "Purgar uma página limpa o ''cache'' e força a sua versão mais recente a aparecer.",
index 5c1abb3..3d2a954 100644 (file)
        "blockedtitle": "O utilizador está bloqueado",
        "blockedtext": "<strong>O seu nome de utilizador ou endereço IP foram bloqueados.</strong>\n\nO bloqueio foi realizado por $1.\nO motivo apresentado foi <em>$2</em>.\n\n* Início do bloqueio: $8\n* Expiração do bloqueio: $6\n* Destinatário do bloqueio: $7\n\nPode contactar $1 ou outro [[{{MediaWiki:Grouppage-sysop}}|administrador]] para discutir o bloqueio.\nNote que para utilizar a funcionalidade \"Contactar utilizador\" precisa de ter um endereço de correio eletrónico válido nas suas [[Special:Preferences|preferências]] e de não lhe ter sido bloqueado o uso desta funcionalidade.\nO seu endereço IP neste momento é $3 e a identificação (ID) do bloqueio é #$5.\nInclua todos os detalhes acima em quaisquer contactos relacionados com este bloqueio, por favor.",
        "autoblockedtext": "O seu endereço IP foi bloqueado de forma automática porque foi utilizado recentemente por outro utilizador, o qual foi bloqueado por $1.\nO motivo apresentado foi:\n\n:<em>$2</em>\n\n* Início do bloqueio: $8\n* Expiração do bloqueio: $6\n* Destinatário do bloqueio: $7\n\nPode contactar $1 ou outro [[{{MediaWiki:Grouppage-sysop}}|administrador]] para discutir o bloqueio.\n\nNote que para utilizar a funcionalidade \"Contactar utilizador\" precisa de ter um endereço de correio eletrónico válido nas suas [[Special:Preferences|preferências]] e de não lhe ter sido bloqueado o uso desta funcionalidade.\n\nO seu endereço IP neste momento é $3 e a identificação (ID) do bloqueio é #$5.\nInclua todos os detalhes acima em quaisquer contactos relacionados com este bloqueio, por favor.",
+       "systemblockedtext": "O seu nome de utilizador ou endereço IP foram bloqueados automaticamente pelo MediaWiki.\nO motivo fornecido é:\n\n:<em>$2</em>\n\n* Início do bloqueio: $8\n* Expiração do bloqueio: $6\n* Destinatário do bloqueio: $7\n\nO seu endereço IP atual é $3.\nInclua todos os detalhes acima em quaisquer contatos sobre este assunto, por favor.",
        "blockednoreason": "sem motivo especificado",
        "whitelistedittext": "Precisa de $1 para poder editar páginas.",
        "confirmedittext": "Precisa de confirmar o seu endereço de correio eletrónico antes de começar a editar páginas.\nIntroduza e valide o endereço através das [[Special:Preferences|preferências do utilizador]], por favor.",
        "emailsubject": "Assunto:",
        "emailmessage": "Mensagem:",
        "emailsend": "Enviar",
-       "emailccme": "Enviar uma cópia desta mensagem para o meu correio eletrónico.",
+       "emailccme": "Enviar uma cópia desta mensagem para o meu correio eletrónico",
        "emailccsubject": "Cópia da sua mensagem para $1: $2",
        "emailsent": "Mensagem enviada",
        "emailsenttext": "A sua mensagem foi enviada.",
        "deletepage": "Eliminar página",
        "confirm": "Confirmar",
        "excontent": "o conteúdo era: \"$1\"",
-       "excontentauthor": "o conteúdo era: \"$1\", e o único editor \"[[Special:Contributions/$2|$2]]\" ([[User talk:$2|talk]])",
+       "excontentauthor": "o conteúdo era: \"$1\", e {{GENDER:$2|o único editor|a única editora|o(a) único(a) editor(a)}} era [[Special:Contributions/$2|$2]] ([[User talk:$2|discussão]])",
        "exbeforeblank": "o conteúdo antes de esvaziar era: \"$1\"",
        "delete-confirm": "Eliminar \"$1\"",
        "delete-legend": "Eliminar",
        "pageinfo-length": "Tamanho da página (em bytes)",
        "pageinfo-article-id": "ID da página",
        "pageinfo-language": "Idioma do conteúdo da página",
+       "pageinfo-language-change": "alterar",
        "pageinfo-content-model": "Modelo de conteúdo de página",
        "pageinfo-content-model-change": "alterar",
        "pageinfo-robot-policy": "Indexação por robôs",
        "restrictionsfield-badip": "Endereço IP (ou gama de endereços IP) inválido: $1",
        "restrictionsfield-label": "Gamas de endereços IP permitidas:",
        "restrictionsfield-help": "Um endereço IP ou uma gama CIDR por linha. Para ativar todos,\nuse<br><code>0.0.0.0/0</code><br><code>::/0</code>",
+       "revid": "revisão $1",
        "pageid": "identificador de página $1"
 }
index 3d72f89..e8037c6 100644 (file)
        "cant-move-to-user-page": "Used as error message.\n\nSee also:\n* {{msg-mw|cant-move-user-page}}\n* {{msg-mw|cant-move-category-page}}\n* {{msg-mw|cant-move-to-category-page}}\n* {{msg-mw|movenotallowedfile}}\n* {{msg-mw|movenotallowed}}\n* {{msg-mw|movenologintext}}",
        "cant-move-category-page": "Used as error message.\n\nSee also:\n* {{msg-mw|cant-move-user-page}}\n* {{msg-mw|cant-move-to-user-page}}\n* {{msg-mw|cant-move-to-category-page}}\n* {{msg-mw|movenotallowedfile}}\n* {{msg-mw|movenotallowed}}\n* {{msg-mw|movenologintext}}",
        "cant-move-to-category-page": "Used as error message.\n\nSee also:\n* {{msg-mw|cant-move-user-page}}\n* {{msg-mw|cant-move-to-user-page}}\n* {{msg-mw|cant-move-category-page}}\n* {{msg-mw|movenotallowedfile}}\n* {{msg-mw|movenotallowed}}\n* {{msg-mw|movenologintext}}",
+       "cant-move-subpages": "Used as an error message.",
+       "namespace-nosubpages": "Used as an error message. Parameters:\n* $1 - Namespace name.",
+       "movepage-max-pages": "Used as an error message. Parameters:\n* $1 - Maximum number of subpages allowed.",
        "newtitle": "Used in the special page \"[[Special:MovePage]]\". The text for the inputbox to give the new page title.\n\nSee also:\n* {{msg-mw|Move-page-legend|legend for the form}}\n* {{msg-mw|Movereason|label for textarea}}\n* {{msg-mw|Movetalk|label for checkbox}}\n* {{msg-mw|Move-leave-redirect|label for checkbox}}\n* {{msg-mw|Fix-double-redirects|label for checkbox}}\n* {{msg-mw|Move-subpages|label for checkbox}}\n* {{msg-mw|Move-talk-subpages|label for checkbox}}\n* {{msg-mw|Move-watch|label for checkbox}}",
        "move-watch": "The text of the checkbox to watch the pages you are moving from and to. If checked, both the destination page and the original page will be added to the watchlist, even if you decide not to leave a redirect behind.\n\nSee also:\n* {{msg-mw|Move-page-legend|legend for the form}}\n* {{msg-mw|newtitle|label for new title}}\n* {{msg-mw|Movereason|label for textarea}}\n* {{msg-mw|Movetalk|label for checkbox}}\n* {{msg-mw|Move-leave-redirect|label for checkbox}}\n* {{msg-mw|Fix-double-redirects|label for checkbox}}\n* {{msg-mw|Move-subpages|label for checkbox}}\n* {{msg-mw|Move-talk-subpages|label for checkbox}}",
        "movepagebtn": "Button label on the special 'Move page'.\n\n{{Identical|Move page}}",
index 0038303..9f62a74 100644 (file)
        "randomrootpage": "Түбэһиэх төрүт сирэй.",
        "log-action-filter-block": "Хааччах көрүҥэ:",
        "log-action-filter-delete": "Сотуу көрүҥэ:",
-       "log-action-filter-import": "Киллэрии көрүҥэ:"
+       "log-action-filter-import": "Киллэрии көрүҥэ:",
+       "log-action-filter-all": "Бары",
+       "log-action-filter-block-block": "Бобуу",
+       "log-action-filter-block-reblock": "Бобууну уларытыы",
+       "log-action-filter-block-unblock": "Бобууну суох гыныы",
+       "log-action-filter-contentmodel-change": "Иһинээҕитин мадьыалын уларытыы",
+       "log-action-filter-contentmodel-new": "Contentmodel диэн мадьыалынан сирэйи айыы",
+       "log-action-filter-delete-delete": "Сирэйи сотуу",
+       "log-action-filter-delete-delete_redir": "Утаарыыны хат суруйуу",
+       "log-action-filter-delete-restore": "Сирэйи сөргүтүү",
+       "log-action-filter-delete-event": "Сурунаалы сотуу",
+       "log-action-filter-delete-revision": "Торуму сотуу",
+       "log-action-filter-import-interwiki": "Трансвики импорт",
+       "log-action-filter-import-upload": "XML-ынан киллэрии",
+       "log-action-filter-managetags-create": "Тиэктэри оҥоруу",
+       "log-action-filter-managetags-delete": "Тиэги сотуу",
+       "log-action-filter-managetags-activate": "Тиээги холбооһун",
+       "log-action-filter-managetags-deactivate": "Тиэги араарыы",
+       "log-action-filter-move-move": "Утаарыыны хас суруйбакка салгыы барыы",
+       "log-action-filter-move-move_redir": "Утаарыыны солбуйан сыҕарытыы",
+       "log-action-filter-newusers-create": "Аатын эппэтэх кыттааччы оҥоруута",
+       "log-action-filter-newusers-create2": "Бэлиэтэммит кыттааччы оҥоруута",
+       "log-action-filter-newusers-autocreate": "Аптамаатынан оҥоруу",
+       "log-action-filter-newusers-byemail": "Почтанан кэлбит аһарыгы туһанан оҥоруу",
+       "log-action-filter-patrol-patrol": "Киһи ботурууллааһына",
+       "log-action-filter-patrol-autopatrol": "Аптамаат ботурууллааһына",
+       "log-action-filter-protect-protect": "Көмүскэл",
+       "log-action-filter-protect-modify": "Көмүскэли уларытыы",
+       "log-action-filter-protect-unprotect": "Көмүскэли суох гыныы",
+       "log-action-filter-protect-move_prot": "Көмүскэли көһөрүү",
+       "log-action-filter-rights-rights": "Киһи уларытыыта",
+       "log-action-filter-rights-autopromote": "Аптамаат уларытыыта",
+       "log-action-filter-suppress-event": "Сурунаалы кистээһин",
+       "log-action-filter-suppress-revision": "Торуму кистээһин",
+       "log-action-filter-suppress-delete": "Сирэйи кистээһин",
+       "log-action-filter-suppress-block": "Кыттааччыны бобуу көмөтүнэн кистээһин",
+       "log-action-filter-suppress-reblock": "Кыттааччыны хос бобуу көмөтүнэн кистээһин",
+       "log-action-filter-upload-upload": "Саҥа хачайдаан киллэрии",
+       "log-action-filter-upload-overwrite": "Хат ыытыы"
 }
index be43628..52ff9c3 100644 (file)
        "create-this-page": "Та бамез кылдытыны",
        "delete": "Быдтыны",
        "deletethispage": "Та бамез быдтыны",
-       "undeletethispage": "Та Ð±Ð°Ð¼ÐµÐ· Ð±Ñ\8bдÑ\82Ñ\8bнÑ\8b",
+       "undeletethispage": "Ð\91еÑ\80ен Ñ\81Ñ\91Ñ\82Ñ\8bнÑ\8b Ñ\82а Ð±Ð°Ð¼ÐµÐ·",
        "protect": "Утьыны",
        "protect_change": "воштыны",
        "protectthispage": "Та бамез утьыны",
        "categorypage": "Категорилэсь бамзэ учкыны",
        "viewtalkpage": "Вераськонэз учкыны",
        "otherlanguages": "Мукет кылъёсын",
-       "redirectedfrom": "(Ð\9fеÑ\80енапÑ\80авлÑ\8fÑ\82Ñ\8c $1)",
+       "redirectedfrom": "(ЫÑ\81Ñ\82Ñ\8dмÑ\8bн Â«$1» Ð±Ð°Ð¼Ñ\8bÑ\81Ñ\8c)",
        "redirectpagesub": "Ыстӥсь бам",
-       "redirectto": "Ð\92Ñ\8bжÑ\8bÑ\82он:",
+       "redirectto": "ЫÑ\81Ñ\82он Ð±Ð°Ð¼Ðµ:",
        "lastmodifiedat": "Та бамлэн берпуметӥ воштонэз: $2, $1.",
        "protectedpage": "Утем бам",
        "jumpto": "Выжон:",
        "portal-url": "Project:Портал сообщества",
        "privacy": "Конфиденциальностья политика",
        "privacypage": "Project:Конфиденциальностья политика",
-       "badaccess": "ЯнгÑ\8bÑ\88Ñ\8aÑ\91Ñ\81 Ñ\8eаÑ\81Ñ\8cке",
-       "badaccess-group0": "Ð\91Ñ\8bдÑ\8dÑ\81Ñ\82Ñ\8dм Ñ\83жез Ñ\82онÑ\8d Ñ\83г Ð»Ñ\8dзÑ\8cÑ\8b, ÐºÐ¸Ð½ Ñ\82онÑ\8d ÐºÑ\83Ñ\80озы.",
-       "badaccess-groups": "УжÑ\8aÑ\91Ñ\81Ñ\8bн Ð½Ð¾, ÐºÑ\83даз Ñ\82ӥледÑ\8bз ÐºÑ\83Ñ\80иÑ\81Ñ\8cко Ð¿Ð¾Ñ\86иенÑ\82 {{PLURAL:$2|Ñ\82Ñ\83Ñ\80кÑ\8bм|гÑ\80Ñ\83ппа Ð¾Ð´Ó¥Ð³}}: $1.",
-       "versionrequired": "MediaWiki доллар кулэ версия $1",
+       "badaccess": "Ð\9bÑ\8dзÑ\91н Ñ\8fнгÑ\8bÑ\88",
+       "badaccess-group0": "Тӥ Ñ\83д Ð±Ñ\8bгаÑ\82Ó¥Ñ\81Ñ\8cке Ñ\82ӥледÑ\8bн ÐºÑ\83Ñ\80ем Ñ\83жез Ð±Ñ\8bдÑ\8dÑ\81Ñ\8aÑ\8fны.",
+       "badaccess-groups": "Ð\9aÑ\83Ñ\80ем Ñ\83жез Ð±Ñ\8bдÑ\8dÑ\81Ñ\8aÑ\8fнÑ\8b Ð±Ñ\8bгаÑ\82о {{PLURAL:$2|1=«$1» Ð³Ñ\80Ñ\83ппаÑ\8bÑ\81Ñ\8c Ð²Ð¸ÐºÐ¸Ð°Ð²Ñ\82оÑ\80Ñ\8aÑ\91Ñ\81 Ð³Ð¸Ð½Ñ\8d\82а Ð³Ñ\80Ñ\83ппаоÑ\81 Ð¿Ó§Ð»Ñ\8bÑ\81Ñ\8c Ð¾Ð³ÐµÐ·Ð»Ñ\8dн Ð²Ð¸ÐºÐ¸Ð°Ð²Ñ\82оÑ\80Ñ\8aÑ\91Ñ\81Ñ\8bз Ð³Ð¸Ð½Ñ\8d: $1}}.",
+       "versionrequired": "$1 номеро MediaWiki версия кулэ",
        "ok": "OK",
        "retrievedfrom": "«$1»-лэсь басьтэмын",
        "editsection": "тупатыны",
        "hidetoc": "ватоно",
        "collapsible-collapse": "ватоно",
        "collapsible-expand": "возьматоно",
-       "confirmable-yes": "Ð\9cед",
+       "confirmable-yes": "Ð\91ен",
        "confirmable-no": "Ӧвӧл",
        "viewdeleted": "Учкыны $1",
        "site-rss-feed": "$1 — RSS-лента",
        "loginerror": "Янгышъёс пырон",
        "createacct-error": "Янгышъёс бордын учётной книга кылдытыны",
        "createaccounterror": "Учётной запись кылдытыны уг луы: $1",
-       "nocookiesnew": "Ð\9aнига ÐºÑ\8bлдÑ\8bÑ\82Ñ\8bнÑ\8b Ñ\83Ñ\87Ñ\91Ñ\82ной Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8c Ð²Ð°Ð», Ð½Ð¾Ñ\88 Ñ\81иÑ\81Ñ\82ема Ñ\82он Ñ\83д Ð¿Ñ\8bÑ\80Ñ\8b.\n{{SITENAME}} Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8c cookies Ð¿Ñ\8bÑ\80он Ð¿Ð¾Ð½Ð½Ð° ÐºÑ\83Ñ\82Ñ\8bнÑ\8b.\nDisconnect cookies Ñ\82онÑ\8d Ð´Ð¾Ñ\80ам.\nÐ\9fожалÑ\83йÑ\81Ñ\82а, Ñ\81о Ð³Ð¾Ð¶Ñ\82Ó¥Ñ\81Ñ\8cке, Ð½Ð¾Ñ\88 Ñ\81обеÑ\80е Ð²Ñ\8bлÑ\8cÑ\8bÑ\81Ñ\8c Ð¿Ñ\8bÑ\80Ñ\8bнÑ\8b Ð»Ð¾Ð³Ð¸Ð½ Ð½Ð¾ Ð¿Ð°Ñ\80олÑ\8c.",
+       "nocookiesnew": "Ð\92икиавÑ\82оÑ\80 Ñ\80егиÑ\81Ñ\82Ñ\80иÑ\80оваÑ\82Ñ\8c ÐºÐ°Ñ\80емÑ\8bн, Ð½Ð¾Ñ\88 Ñ\82Ó¥ Ñ\81айÑ\82Ñ\8d Ó§Ð´ Ð¿Ñ\8bÑ\80елÑ\8d.\n{{SITENAME}} Â«cookies» Ñ\83же ÐºÑ\83Ñ\82Ñ\8d Ð²Ð¸ÐºÐ¸Ð°Ð²Ñ\82оÑ\80Ñ\8aÑ\91Ñ\81Ñ\82Ñ\8b Ñ\81айÑ\82Ñ\8d Ð»Ñ\8dзÑ\8cÑ\8bлÑ\8bнÑ\8b Ð²Ñ\8bлÑ\8bÑ\81Ñ\8c.\nТӥлÑ\8fд Â«cookies-Ñ\82Ñ\8b» Ó§Ð²Ó§Ð».\nТаÑ\83на Ð»Ñ\8dзе Ñ\81ооÑ\81Ñ\82Ñ\8b, Ñ\81обеÑ\80е Ð¿Ñ\8bÑ\80е Ñ\81айÑ\82Ñ\8d Ð°Ñ\81Ñ\8cÑ\82Ñ\8dлÑ\8dн Ð²Ñ\8bлÑ\8c Ð²Ð¸ÐºÐ¸Ð°Ð²Ñ\82оÑ\80 Ð½Ð¸Ð¼ÐµÐ½Ñ\8bдÑ\8b Ð½Ð¾ Ð¿Ð°Ñ\80оленÑ\8bдÑ\8b.",
        "nocookieslogin": "{{SITENAME}} пользователь cookies пырон понна кутыны.\nDisconnect cookies тонэ дорам.\nПожалуйста, соосты утчано, выльысь гожтыны.",
        "blocked-mailpassword": "Тон IP-адрес заблокировать-ысь редактировать карон. Злоупотребление предотвращение понна, та понна кутыны ӧз лэзиське пароль-ысь восстановление IP-адрес.",
        "loginlanguagelabel": "Кыл: $1",
        "block-log-flags-nocreate": "регистрация учётной книгая ужъёсты быдэстон",
        "block-log-flags-noemail": "лэзьымтэ гожтэт ыстон",
        "block-log-flags-nousertalk": "тупатъяны ачиз уггес быгаты бамлэн обсуждениосаз",
-       "range_block_disabled": "Администратор диапазонэз блокировать али.",
+       "range_block_disabled": "Администраторъёслэн диапазонъёсыз блокировать карыны луонлыксы дугдытэмын.",
        "move-watch": "Чаклан списоке пыртоно инъет но валтӥсь бамъёсыз",
        "movelogpage": "Нимъёсты воштонъёсын журнал",
        "export": "Бамъёсты поттон",
index 966f0c5..a638005 100644 (file)
        "blockedtitle": "Користувача заблоковано",
        "blockedtext": "<strong>Ваш обліковий запис або IP-адреса заблоковані.</strong>\n\nБлокування виконане адміністратором $1.\nПричина блокування: <em>$2</em>.\n\n* Початок блокування: $8\n* Закінчення блокування: $6\n* Діапазон блокування: $7\n\nВи можете надіслати листа користувачеві $1 або будь-якому іншому [[{{MediaWiki:Grouppage-sysop}}|адміністратору]], щоб обговорити блокування.\n\nЗверніть увагу, що ви не зможете надіслати листа адміністратору, якщо ви не зареєстровані або не підтвердили свою електронну адресу в [[Special:Preferences|особистих налаштуваннях]], а також якщо вам було заборонено надсилати листи при блокуванні.\n\nВаша поточна IP-адреса — $3, ідентифікатор блокування — #$5. Будь ласка, зазначайте ці дані у своїх запитах.",
        "autoblockedtext": "Ваша IP-адреса автоматично заблокована у зв'язку з тим, що вона раніше використовувалася кимось із заблокованих користувачів. Адміністратор ($1), що її заблокував, зазначив наступну причину блокування:\n\n:''$2''\n\n* Початок блокування: $8\n* Закінчення блокування: $6\n* Блокування виконав: $7\n\nВи можете надіслати листа користувачеві $1 або будь-якому іншому [[{{MediaWiki:Grouppage-sysop}}|адміністратору]], щоб обговорити блокування.\n\nЗверніть увагу, що ви не зможете надіслати листа адміністраторові, якщо ви не зареєстровані у проекті або не підтвердили свою електронну адресу в [[Special:Preferences|особистих налаштуваннях]], а також якщо вам було заборонено надсилати листи при блокуванні.\n\nВаша поточна IP-адреса — $3, ідентифікатор блокування — #$5. Будь ласка, зазначайте його у своїх запитах.",
+       "systemblockedtext": "Ваше ім'я користувача або IP-адресу було автоматично заблоковано MediaWiki.\nВказана причина:\n\n:<em>$2</em>\n\n* Початок блокування: $8\n* Закінчення блокування: $6\n* Ціль блокування: $7\n\nВаша поточна IP-адреса — $3.\nБудь ласка, додайте всі вказані подробиці до будь-яких запитів, які Ви будете робити.",
        "blockednoreason": "не вказано причини",
        "whitelistedittext": "Ви повинні $1, щоб редагувати сторінки.",
        "confirmedittext": "Ви повинні підтвердити вашу адресу електронної пошти перед редагуванням сторінок.\nБудь-ласка вкажіть і підтвердіть вашу електронну адресу на [[Special:Preferences|сторінці налаштувань]].",
        "pageinfo-length": "Довжина сторінки (в байтах)",
        "pageinfo-article-id": "ID сторінки",
        "pageinfo-language": "Мова вмісту сторінки",
+       "pageinfo-language-change": "Змінити",
        "pageinfo-content-model": "Модель вмісту сторінки",
        "pageinfo-content-model-change": "змінити",
        "pageinfo-robot-policy": "Індексація пошуковими системами",
        "restrictionsfield-badip": "Недійсна IP-адреса або діапазон: $1",
        "restrictionsfield-label": "Дозволені діапазони IP-адрес:",
        "restrictionsfield-help": "Одна IP-адреса або CIDR-діапазон на рядок. Щоб увімкнути все, використайте<br><code>0.0.0.0/0</code><br><code>::/0</code>",
+       "revid": "версія $1",
        "pageid": "ID сторінки $1"
 }
index b34a03f..317ab0f 100644 (file)
@@ -14154,6 +14154,19 @@ Escape HTML special chars in image alt text
 <p><span class="mw-default-size" typeof="mw:Image" data-parsoid='{"optList":[{"ck":"caption","ak":"&amp; &lt; > \""}]}' data-mw='{"caption":"&amp;amp; &amp;lt; > \""}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"},"sa":{}}'><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="220" width="1941" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"220","width":"1941"},"sa":{"resource":"File:Foobar.jpg"}}'/></a></span></p>
 !! end
 
+!! test
+Escape HTML special chars in image alt text with LanguageConverter
+!! options
+language=zh
+!! wikitext
+[[File:Foobar.jpg|& < > "]]
+!! html/php
+<p><a href="/wiki/File:Foobar.jpg" class="image" title="&amp; &lt; &gt; &quot;"><img alt="&amp; &lt; &gt; &quot;" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
+</p>
+!! html/parsoid
+<p><span class="mw-default-size" typeof="mw:Image" data-parsoid='{"optList":[{"ck":"caption","ak":"&amp; &lt; > \""}]}' data-mw='{"caption":"&amp;amp; &amp;lt; > \""}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"},"sa":{}}'><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" data-file-width="1941" data-file-height="220" data-file-type="bitmap" height="220" width="1941" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"220","width":"1941"},"sa":{"resource":"File:Foobar.jpg"}}'/></a></span></p>
+!! end
+
 !! test
 Entities in file name and attributes
 !! wikitext
index 4dc8fec..baf8687 100644 (file)
@@ -63,7 +63,7 @@ class StoreBatchTest extends MediaWikiTestCase {
         * @param string $originalName The title of the image
         * @param string $srcPath The filepath or virtual URL
         * @param int $flags Flags to pass into repo::store().
-        * @return FileRepoStatus
+        * @return Status
         */
        private function storeit( $originalName, $srcPath, $flags ) {
                $hashPath = $this->repo->getHashPath( $originalName );
index e854ab5..43eb299 100644 (file)
@@ -1,10 +1,10 @@
 <?php
 /**
- * Specificly for testing Media handlers. Sets up a FSFile backend
+ * Specificly for testing Media handlers. Sets up a FileRepo backend
  */
 abstract class MediaWikiMediaTestCase extends MediaWikiTestCase {
 
-       /** @var FSRepo */
+       /** @var FileRepo */
        protected $repo;
        /** @var FSFileBackend */
        protected $backend;
@@ -29,7 +29,7 @@ abstract class MediaWikiMediaTestCase extends MediaWikiTestCase {
                        'containerPaths' => $containers,
                        'tmpDirectory' => $this->getNewTempDirectory()
                ] );
-               $this->repo = new FSRepo( $this->getRepoOptions() );
+               $this->repo = new FileRepo( $this->getRepoOptions() );
        }
 
        /**
index 7cbae2d..5d9cda7 100644 (file)
@@ -603,10 +603,10 @@ class UserTest extends MediaWikiTestCase {
                $user1tmp = $this->getTestUser()->getUser();
                $request1 = new FauxRequest();
                $request1->getSession()->setUser( $user1tmp );
-               $expiryFiveDays = time() + ( 5 * 24 * 60 * 60 );
+               $expiryFiveHours = wfTimestamp() + ( 5 * 60 * 60 );
                $block = new Block( [
                        'enableAutoblock' => true,
-                       'expiry' => wfTimestamp( TS_MW, $expiryFiveDays ),
+                       'expiry' => wfTimestamp( TS_MW, $expiryFiveHours ),
                ] );
                $block->setTarget( $user1tmp );
                $block->insert();
@@ -625,7 +625,7 @@ class UserTest extends MediaWikiTestCase {
                $cookies = $request1->response()->getCookies();
                $this->assertArrayHasKey( 'wmsitetitleBlockID', $cookies );
                $this->assertEquals( $block->getId(), $cookies['wmsitetitleBlockID']['value'] );
-               $this->assertEquals( $expiryFiveDays, $cookies['wmsitetitleBlockID']['expire'] );
+               $this->assertEquals( $expiryFiveHours, $cookies['wmsitetitleBlockID']['expire'] );
 
                // 2. Create a new request, set the cookies, and see if the (anon) user is blocked.
                $request2 = new FauxRequest();
@@ -696,14 +696,12 @@ class UserTest extends MediaWikiTestCase {
 
        /**
         * When a user is autoblocked and a cookie is set to track them, the expiry time of the cookie
-        * should match the block's expiry. If the block is infinite, the cookie expiry time should
-        * match $wgCookieExpiration. If the expiry time is changed, the cookie's should change with it.
+        * should match the block's expiry, to a maximum of 24 hours. If the expiry time is changed,
+        * the cookie's should change with it.
         */
        public function testAutoblockCookieInfiniteExpiry() {
-               $cookieExpiration = 20 * 24 * 60 * 60; // 20 days
                $this->setMwGlobals( [
                        'wgCookieSetOnAutoblock' => true,
-                       'wgCookieExpiration' => $cookieExpiration,
                        'wgCookiePrefix' => 'wm_infinite_block',
                ] );
                // 1. Log in a test user, and block them indefinitely.
@@ -724,20 +722,21 @@ class UserTest extends MediaWikiTestCase {
                $this->assertTrue( $block->isAutoblocking() );
                $this->assertGreaterThanOrEqual( 1, $user1->getBlockId() );
                $cookies = $request1->response()->getCookies();
-               // Calculate the expected cookie expiry date.
+               // Test the cookie's expiry to the nearest minute.
                $this->assertArrayHasKey( 'wm_infinite_blockBlockID', $cookies );
+               $expOneDay = wfTimestamp() + ( 24 * 60 * 60 );
                // Check for expiry dates in a 10-second window, to account for slow testing.
                $this->assertGreaterThan(
-                       time() + $cookieExpiration - 5,
+                       $expOneDay - 5,
                        $cookies['wm_infinite_blockBlockID']['expire']
                );
                $this->assertLessThan(
-                       time() + $cookieExpiration + 5,
+                       $expOneDay + 5,
                        $cookies['wm_infinite_blockBlockID']['expire']
                );
 
-               // 3. Change the block's expiry (to 2 days), and the cookie's should be changed also.
-               $newExpiry = time() + 2 * 24 * 60 * 60;
+               // 3. Change the block's expiry (to 2 hours), and the cookie's should be changed also.
+               $newExpiry = wfTimestamp() + 2 * 60 * 60;
                $block->mExpiry = wfTimestamp( TS_MW, $newExpiry );
                $block->update();
                $user2tmp = $this->getTestUser()->getUser();
@@ -747,6 +746,7 @@ class UserTest extends MediaWikiTestCase {
                $user2->mBlock = $block;
                $user2->load();
                $cookies = $request2->response()->getCookies();
+               $this->assertEquals( wfTimestamp( TS_MW, $newExpiry ), $block->getExpiry() );
                $this->assertEquals( $newExpiry, $cookies['wm_infinite_blockBlockID']['expire'] );
 
                // Clean up.