Merge "rdbms: remove DatabaseSqlite::checkForEnabledSearch() in favor of explicit...
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Sat, 10 Aug 2019 00:54:10 +0000 (00:54 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Sat, 10 Aug 2019 00:54:10 +0000 (00:54 +0000)
34 files changed:
includes/EditPage.php
includes/Setup.php
includes/api/i18n/mk.json
includes/installer/i18n/pl.json
includes/jobqueue/JobQueueDB.php
includes/libs/rdbms/database/DatabaseMysqli.php
includes/specials/SpecialBlock.php
includes/specials/SpecialContributions.php
includes/specials/SpecialCreateAccount.php
includes/specials/SpecialNewSection.php
includes/title/NamespaceInfo.php
languages/i18n/ar.json
languages/i18n/bcc.json
languages/i18n/bn.json
languages/i18n/ce.json
languages/i18n/cs.json
languages/i18n/es.json
languages/i18n/fr.json
languages/i18n/he.json
languages/i18n/ig.json
languages/i18n/km.json
languages/i18n/ko.json
languages/i18n/ku-latn.json
languages/i18n/mk.json
languages/i18n/mni.json
languages/i18n/nl.json
languages/i18n/nqo.json
languages/i18n/pl.json
languages/i18n/pt-br.json
languages/i18n/ru.json
languages/i18n/sh.json
maintenance/minify.php
tests/parser/parserTests.txt
tests/phpunit/includes/TitleTest.php

index f288327..74ec883 100644 (file)
@@ -622,7 +622,7 @@ class EditPage {
                        wfDebug( __METHOD__ . ": User can't edit\n" );
 
                        if ( $this->context->getUser()->getBlock() ) {
-                               // track block with a cookie if it doesn't exists already
+                               // Track block with a cookie if it doesn't exist already
                                MediaWikiServices::getInstance()->getBlockManager()
                                        ->trackBlockWithCookie( $this->context->getUser() );
 
index 4202985..201e1a9 100644 (file)
@@ -483,25 +483,7 @@ $wgMinUploadChunkSize = min(
  * Definitions of the NS_ constants are in Defines.php
  * @private
  */
-$wgCanonicalNamespaceNames = [
-       NS_MEDIA            => 'Media',
-       NS_SPECIAL          => 'Special',
-       NS_TALK             => 'Talk',
-       NS_USER             => 'User',
-       NS_USER_TALK        => 'User_talk',
-       NS_PROJECT          => 'Project',
-       NS_PROJECT_TALK     => 'Project_talk',
-       NS_FILE             => 'File',
-       NS_FILE_TALK        => 'File_talk',
-       NS_MEDIAWIKI        => 'MediaWiki',
-       NS_MEDIAWIKI_TALK   => 'MediaWiki_talk',
-       NS_TEMPLATE         => 'Template',
-       NS_TEMPLATE_TALK    => 'Template_talk',
-       NS_HELP             => 'Help',
-       NS_HELP_TALK        => 'Help_talk',
-       NS_CATEGORY         => 'Category',
-       NS_CATEGORY_TALK    => 'Category_talk',
-];
+$wgCanonicalNamespaceNames = NamespaceInfo::$canonicalNames;
 
 /// @todo UGLY UGLY
 if ( is_array( $wgExtraNamespaces ) ) {
index 968d963..2845340 100644 (file)
        "apihelp-login-example-login": "Најава",
        "apihelp-logout-summary": "Одјави се и исчисти ги податоците на седницата.",
        "apihelp-logout-example-logout": "Одјави го тековниот корисник",
+       "apihelp-managetags-summary": "Извршување на раководни задачи по промена на ознаки.",
+       "apihelp-managetags-param-reason": "Незадолжителна причина за создавање, бришење, активирање или деактивирање на ознаката.",
        "apihelp-mergehistory-summary": "Спојување на истории на страници.",
        "apihelp-move-summary": "Премести страница.",
        "apihelp-move-param-from": "Наслов на страницата што треба да се премести. Не може да се користи заедно со <var>$1fromid</var>.",
        "api-help-right-apihighlimits": "Употреба на повисоки ограничувања за приложни барања (бавни барања: $1; брзи барања: $2). Ограничувањата за бавни барања важат и за повеќевредносни параметри.",
        "apierror-badgenerator-unknown": "Непознат <kbd>generator=$1</kbd>.",
        "apierror-badquery": "Неважечко барање.",
+       "apierror-copyuploadbaddomain": "Подигањето преку URL не е дозволено од овој домен.",
+       "apierror-copyuploadbadurl": "Подигањето не е дозволено од оваа URL-адреса.",
+       "apierror-emptynewsection": "Создавањето на нови празни поднаслови не е дозволено.",
+       "apierror-emptypage": "Создавањето на нови празни страници не е дозволено.",
+       "apierror-filedoesnotexist": "Податотеката не постои.",
+       "apierror-imageusage-badtitle": "Насловот за <kbd>$1</kbd> мора да е податотека.",
+       "apierror-import-unknownerror": "Непозната грешка при увозот: $1.",
+       "apierror-invalidcategory": "Наведеното име на категорија не е важечко.",
+       "apierror-invalid-file-key": "Не е важечки податотечен клуч.",
+       "apierror-missingtitle": "Наведената страница не постои.",
+       "apierror-missingtitle-byname": "Страницата $1 не постои.",
        "apierror-offline": "Не можев да продолжам поради проблем при поврзувањето со мрежата. Проверете дали сте поврзани со семрежјето и обидете се повторно.",
        "apierror-timeout": "Опслужувачот не одговори во очекуваното време.",
        "api-credits-header": "Признанија",
index feda6b2..d34367e 100644 (file)
        "config-skins-must-enable-some": "Musisz wybrać co najmniej jedną skórkę, aby ją włączyć.",
        "config-skins-must-enable-default": "Skórka wybrana jako domyślna musi być włączona.",
        "config-install-alreadydone": "'''Uwaga''' – wydaje się, że MediaWiki jest już zainstalowane, a obecnie próbujesz zainstalować je ponownie.\nPrzejdź do następnej strony.",
-       "config-install-begin": "Po naciśnięciu \"{{int:config-continue}}\", rozpocznie się instalacja MediaWiki.\nJeśli nadal chcesz dokonać zmian, naciśnij \"{{int:config-back}}\".",
+       "config-install-begin": "Po naciśnięciu „{{int:config-continue}}”, rozpocznie się instalacja MediaWiki.\nJeśli nadal chcesz dokonać zmian, naciśnij „{{int:config-back}}”.",
        "config-install-step-done": "gotowe",
        "config-install-step-failed": "nieudane",
        "config-install-extensions": "Dołączanie rozszerzeń",
index f7b8ed2..d449e8a 100644 (file)
@@ -690,9 +690,9 @@ class JobQueueDB extends JobQueue {
                                        $dbw->update( 'job',
                                                [
                                                        'job_token' => '',
-                                                       'job_token_timestamp' => $dbw->timestamp( $now ) ], // time of release
-                                               [
-                                                       'job_id' => $ids ],
+                                                       'job_token_timestamp' => $dbw->timestamp( $now ) // time of release
+                                               ],
+                                               [ 'job_id' => $ids, "job_token != ''" ],
                                                __METHOD__
                                        );
                                        $affected = $dbw->affectedRows();
index ddb3944..4c18911 100644 (file)
@@ -82,8 +82,10 @@ class DatabaseMysqli extends DatabaseMysqlBase {
                }
 
                $mysqli = mysqli_init();
-
-               $connFlags = 0;
+               // Make affectedRows() for UPDATE reflect the number of matching rows, regardless
+               // of whether any column values changed. This is what callers want to know and is
+               // consistent with what Postgres, SQLite, and SQL Server return.
+               $connFlags = MYSQLI_CLIENT_FOUND_ROWS;
                if ( $this->getFlag( self::DBO_SSL ) ) {
                        $connFlags |= MYSQLI_CLIENT_SSL;
                        $mysqli->ssl_set(
index f653454..59d2806 100644 (file)
@@ -761,9 +761,6 @@ class SpecialBlock extends FormSpecialPage {
                        isset( $data['EditingRestriction'] ) &&
                        $data['EditingRestriction'] === 'partial';
 
-               // Handled by field validator callback
-               // self::validateTargetField( $data['Target'] );
-
                # This might have been a hidden field or a checkbox, so interesting data
                # can come from it
                $data['Confirm'] = !in_array( $data['Confirm'], [ '', '0', null, false ], true );
index 4f5c150..0425a58 100644 (file)
@@ -286,7 +286,7 @@ class SpecialContributions extends IncludableSpecialPage {
         */
        protected function contributionsSub( $userObj ) {
                if ( $userObj->isAnon() ) {
-                       // Show a warning message that the user being searched for doesn't exists.
+                       // Show a warning message that the user being searched for doesn't exist.
                        // User::isIP returns true for IP address and usemod IPs like '123.123.123.xxx',
                        // but returns false for IP ranges. We don't want to suggest either of these are
                        // valid usernames which we would with the 'contributions-userdoesnotexist' message.
index 8396b4d..9b5dd3f 100644 (file)
@@ -64,7 +64,7 @@ class SpecialCreateAccount extends LoginSignupSpecialPage {
                $user = $this->getUser();
                $status = AuthManager::singleton()->checkAccountCreatePermissions( $user );
                if ( !$status->isGood() ) {
-                       // track block with a cookie if it doesn't exists already
+                       // Track block with a cookie if it doesn't exist already
                        if ( $user->isBlockedFromCreateAccount() ) {
                                MediaWikiServices::getInstance()->getBlockManager()->trackBlockWithCookie( $user );
                        }
index b503141..a24d8cd 100644 (file)
@@ -52,6 +52,7 @@ class SpecialNewSection extends RedirectSpecialPage {
                                'type' => 'text',
                                'name' => 'page',
                                'label-message' => 'newsection-page',
+                               'required' => true,
                        ],
                ], $this->getContext(), 'newsection' );
                $form->setSubmitTextMsg( 'newsection-submit' );
@@ -60,7 +61,8 @@ class SpecialNewSection extends RedirectSpecialPage {
        }
 
        public function onFormSubmit( $formData ) {
-               $page = $formData['page'];
+               $title = $formData['page'];
+               $page = Title::newFromText( $title );
                $query = [ 'action' => 'edit', 'section' => 'new' ];
                $url = $page->getFullUrlForRedirect( $query );
                $this->getOutput()->redirect( $url );
index 2ed8729..7307cc1 100644 (file)
@@ -50,6 +50,34 @@ class NamespaceInfo {
        /** @var ServiceOptions */
        private $options;
 
+       /**
+        * Definitions of the NS_ constants are in Defines.php
+        *
+        * @todo Make this const when HHVM support is dropped (T192166)
+        *
+        * @var array
+        * @internal
+        */
+       public static $canonicalNames = [
+               NS_MEDIA            => 'Media',
+               NS_SPECIAL          => 'Special',
+               NS_TALK             => 'Talk',
+               NS_USER             => 'User',
+               NS_USER_TALK        => 'User_talk',
+               NS_PROJECT          => 'Project',
+               NS_PROJECT_TALK     => 'Project_talk',
+               NS_FILE             => 'File',
+               NS_FILE_TALK        => 'File_talk',
+               NS_MEDIAWIKI        => 'MediaWiki',
+               NS_MEDIAWIKI_TALK   => 'MediaWiki_talk',
+               NS_TEMPLATE         => 'Template',
+               NS_TEMPLATE_TALK    => 'Template_talk',
+               NS_HELP             => 'Help',
+               NS_HELP_TALK        => 'Help_talk',
+               NS_CATEGORY         => 'Category',
+               NS_CATEGORY_TALK    => 'Category_talk',
+       ];
+
        /**
         * TODO Make this const when HHVM support is dropped (T192166)
         *
@@ -642,4 +670,15 @@ class NamespaceInfo {
                        return 'page';
                }
        }
+
+       /**
+        * Retrieve the indexes for the namespaces defined by core.
+        *
+        * @since 1.34
+        *
+        * @return int[]
+        */
+       public static function getCommonNamespaces() {
+               return array_keys( self::$canonicalNames );
+       }
 }
index 3089341..c6fe5ba 100644 (file)
        "changecontentmodel": "تغيير نموذج المحتوى لصفحة",
        "changecontentmodel-legend": "غير نموذج المحتوى",
        "changecontentmodel-title-label": "عنوان الصفحة",
-       "changecontentmodel-current-label": "نموذج المحتوى الحالي",
+       "changecontentmodel-current-label": "نموذج المحتوى الحالي:",
        "changecontentmodel-model-label": "نموذج محتوى جديد",
        "changecontentmodel-reason-label": "السبب:",
        "changecontentmodel-submit": "تغيير",
        "permanentlink": "وصلة دائمة",
        "permanentlink-revid": "معرف المراجعة",
        "permanentlink-submit": "الذهاب إلى المراجعة",
+       "newsection": "قسم جديد",
+       "newsection-page": "الصفحات المستهدفة",
+       "newsection-submit": "انتقل إلى صفحة",
        "dberr-problems": "عذرا! هذا الموقع يعاني من صعوبات تقنية.",
        "dberr-again": "جرب الانتظار بضع دقائق وإعادة التحميل.",
        "dberr-info": "(لا يمكن الوصول إلى قاعدة البيانات: $1)",
index fb59d08..bfaac9d 100644 (file)
        "databaseerror": "حطا دیتابیس",
        "databaseerror-text": "یک ارورء مان دیتابیسء شوهازیگء ودی بیت. هنچوش بیتء کنت ائ یک نکسء مان سفتورء هن پیداگ بکنت انت.",
        "databaseerror-textcl": "یک ارورء مان دیتابیسء شوهازیگء پیداگ بوت.",
-       "databaseerror-query": "شوهاز: $1",
+       "databaseerror-query": "پٹ ءُ پۏل: $1",
        "databaseerror-function": "Function: $1",
        "databaseerror-error": "ارور: $1",
        "laggedslavemode": "هوژاری: صفحه شاید نوکین په روچ بییگان داشته می بیت",
        "loginsuccesstitle": "مان بیت اِت",
        "loginsuccess": "''''شما الان وارد {{SITENAME}} په عنوان \"$1\".'''",
        "nosuchuser": "هچ کارزورکے گۏں \"$1\"ءَ ناما نݔست اِنت.\nکارزوروکیءِ نام پہ گالءِ مزنی ءُ ھُردی‌ئا حساس اِنت.\nوتی لکتگݔں گالاں شرّ بہ چار اِت یا[[Special:CreateAccount|نۏکݔں سابے جۏڈݔن]]اِت.",
-       "nosuchusershort": "هچ کاربری گون نام  \"$1\"نیستن.\nوتی املايا کنترل کنیت",
-       "nouserspecified": "شما باید یک نام کاربری مشخص کنیت.",
+       "nosuchusershort": "ھچ کارزورۏکے گۏں ''$1''ء نام‌ئا نے",
+       "nouserspecified": "شما باید یک کارزورۏکی نامے بہ لک اݔت.",
        "login-userblocked": "ائ کابر بلاک بیتگ. لاگین مان سیستمء اجازت نه انت.",
        "wrongpassword": "گالگوَز اشی نئں واجہ میر. الکاپݔں گالگوَزا بہ لِک.",
        "wrongpasswordempty": "کلمه رمز وارد بیتگین هالیکنت. دگه سعی کن",
        "history-feed-item-nocomment": "$1 ته $2",
        "history-feed-empty": "لوٹتگین صفحه موجود نهنت.\nشاید آی چه ویکی حذف بوتت یا نامی بدل بوتت.\nآزمایش کن[[Special:Search|گردگ ته ویکی]] په مربطین نوکین صفحات.",
        "rev-deleted-comment": "(ویرایشء خلاصگ هزپ بوت)",
-       "rev-deleted-user": "(نام کاربری زورگ بیتت)",
+       "rev-deleted-user": "(کارزورۏکی نام گرگ بیتہ)",
        "rev-deleted-event": "(کار آمار زورگ بیتت)",
        "rev-deleted-user-contribs": "[یوزرنام یانکه یانکه آی پی ادرس هزپ بیتگ انت  - ویرایش چیرداتگین مان هواربیتگان]",
        "rev-deleted-text-permission": "ائ ویرایش چه ائ پیج '''هزپ بیتگ انت'''.\nبلکین اطلاعات گون آئی همگرنچء مان [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} هزپانی سیاهگ] موجوت بیت انت.",
        "shown-title": "پیش دار $1 {{PLURAL:$1|نتیجه|نتیجه}} ته هر صفحه",
        "viewprevnext": "($1 {{int:pipe-separator}} $2) ($3) دیدگ",
        "searchmenu-exists": "'''صفحه گون نام \"[[$1]]\" ته ای ویکی نیستن'''",
-       "searchmenu-new": "<strong>ائ تاکء اڈ کتن «[[:$1]]» مان ائ ویکی!</strong> {{PLURAL:$2|0=|ءُ هنچوش شمئی ودیگ بیتگین تاک گون شمئی شوهاز.|هنچوش شمئی شوهازء آسر.}}",
+       "searchmenu-new": "<strong>اے تاکء جۏڑݔنگ«[[:$1]]» مہ اے ویکی‌ئا!</strong> {{PLURAL:$2|0=|ءُ هنچۏش شمئی درگپتگݔـں تاک گۏں شمئی شۏھازا.|هنچۏش شمئی شۏھاز.}}",
        "searchprofile-articles": "صفحات محتوا",
        "searchprofile-images": "ملتیمدیا",
        "searchprofile-everything": "هر چیز",
        "timezoneregion-indian": "اقیانوس هند",
        "timezoneregion-pacific": "اقیانوس آرام",
        "allowemail": "فعال کن ایمیل چه دگه کابران",
-       "prefs-searchoptions": "شوهاز",
+       "prefs-searchoptions": "شۏھاز",
        "prefs-namespaces": "نام فصا",
        "default": "پیش فرض",
        "prefs-files": "فایلان",
        "prefs-tabs-navigation-hint": "بزان: شما توان ات چه چپی و راستی پیشداروکین بٹن ان  پر حرکت زبانگ انی توکا مان زبانگانی لیست کارمرز بکن ات.",
        "userrights": "مدیریت حقوق کاربر",
        "userrights-lookup-user": "مدیریت گروه کاربر",
-       "userrights-user-editname": "یک نام کاربری وارد کن",
+       "userrights-user-editname": "کارزورۏکی نامے بہ لِک اݔت",
        "editusergroup": "اصلاح گروه کاربر",
        "editinguser": "ٹگل مان ایهتیارات کاربریء کاربر '''[[User:$1|$1]]''' $2",
        "userrights-editusergroup": "اصلاح گروه کاربر",
        "usereditcount": "$1 {{PLURAL:$1|اصلاح|اصلاحات}}",
        "usercreated": "شربوتگ  $1 ته $2",
        "newpages": "نوکین صفحات",
-       "newpages-username": "نام کاربری:",
+       "newpages-username": "کارزورۏکی نام:",
        "ancientpages": "صفحات قدیمی",
        "move": "جاه په جاه",
        "movethispage": "ای صفحه جاه په جاه کن",
        "sp-contributions-talk": "گپ",
        "sp-contributions-userrights": "مدیریت کاربرنی حق",
        "sp-contributions-search": "گردگ په مشارکتان",
-       "sp-contributions-username": "آدرس آی پی یا نام کاربری",
+       "sp-contributions-username": "آیپی یا کارزورۏکی نام",
        "sp-contributions-submit": "گردگ",
        "whatlinkshere": "اے لینکے کہ ادا ھہ",
        "whatlinkshere-title": "صفحاتی که لینگ بوتگنت په \"$1\"",
        "whatlinkshere-filters": "فیلتران",
        "blockip": "محدود کتن کاربر",
        "blockiptext": "چه ای فرم جهلی په نوشتن دسترسی په یک خاصین آدرس آی پی یا نام کاربری استفاده کن.\nشی فقط انجام بیت په خاطر جلوگیری چه هرابکاری  په اساس [[{{MediaWiki:Policy-url}}|سیاست]].\nیک حاصین دلیلی بنویس جهلء (مثلا، گوشگ صفخات خاصی که هراب بپتگنت).",
-       "ipaddressorusername": "آدرس آي پی یا نام کاربری:",
+       "ipaddressorusername": "آیپی یا کارزورۏکی نام:",
        "ipbreason": "دلیل:",
        "ipbreason-dropdown": "* متداولین دلایل محدودیت\n** وارد کتن غلطین اطلاحات\n** زورگ محتوا چه صفحات\n** لینکان اسپمی په دراین سایت\n**وارد کتن بی ربطین/نامفومین چیز په صفحات\n** ترسناکین رفتار/ آزار\n**سوء استفاده چه چنت حساب\n** غیر قابل قبولین نام کاربری",
        "ipbcreateaccount": "مهل حساب شرکنت",
        "block-log-flags-hiddenname": "پناهین کاربر",
        "range_block_disabled": "توانایی مدیران سیستم په شرکتن محدوده محدودیت غیر فعالنت.",
        "ipb_expiry_invalid": "وهد هلگ نامعتبر انت.",
-       "ipb_expiry_temp": "پناهین نام کاربری محدودیاتن بایدن دایمی بنت.",
+       "ipb_expiry_temp": "باید اِنت کہ اندݔمی کارزورۏکی نام مسدود بہ بیت",
        "ipb_hide_invalid": "نه تونیت ای حسابءَ بندی کن؛ بلکین بازین اصلاحی هستن.",
        "ipb_already_blocked": "\"$1\" الان محدودنت.",
        "ipb-needreblock": "دسترسی $1 چه قبل بند ات. آیا لوٹیت تنظیم‌های آن را تغییر دهیت؟",
index cd0cacf..a315d3f 100644 (file)
        "systemblockedtext": "আপনার ব্যবহারকারী নাম অথবা আইপি ঠিকানাটিকে স্বয়ংক্রিয়ভাবে মিডিয়াউইকি দ্বারা বাধাদান করা হয়েছে। যে কারণটি দেওয়া হয়েছে, সেটি হল:\n\n:<em>$2</em>\n\n* বাধা শুরুর সময়: $8\n* বাধা উঠিয়ে নেয়ার সময়: $6\n* যাকে বাধাদান করা হয়েছে: $7\n\nআপনার বর্তমান আইপি ঠিকানাটি হল $3।\nদয়া করে আপনার যেকোন জিজ্ঞাসাতে উপরের সমস্ত বিবরণ অন্তর্ভুক্ত করুন।",
        "blockednoreason": "কোন কারণ দেওয়া হয়নি",
        "blockedtext-composite": "<strong>আপনার ব্যবহারকারী নাম অথবা আইপি ঠিকানাটিকে বাধা দেয়া হয়েছে।</strong>\n\nযে কারণটি দেওয়া হয়েছে, সেটি হল:\n\n:<em>$2</em>\n\n* বাধা শুরুর সময়: $8\n* বাধা উঠিয়ে নেয়ার সময়: $6\n\n* $5\n\nআপনার বর্তমান আইপি ঠিকানাটি হল $3।\nদয়া করে আপনার যেকোন জিজ্ঞাসাতে উপরের সমস্ত বিবরণ অন্তর্ভুক্ত করুন।",
+       "blockedtext-composite-ids": "প্রাসঙ্গিক বাধাদান আইডি: $1 (আপনার আইপি ঠিকানাটি কালোতালিকাভুক্তও হতে পারে)",
+       "blockedtext-composite-no-ids": "আপনার আইপি ঠিকানাটি একাধিক নিষিদ্ধ তালিকায় অন্তর্ভুক্ত",
+       "blockedtext-composite-reason": "আপনার অ্যাকাউন্ট ও/বা আইপি ঠিকানার বিরুদ্ধে একাধিক বাধা রয়েছে",
        "whitelistedittext": "পাতায় সম্পাদনা করতে অনুগ্রহ করে $1 করুন।",
        "confirmedittext": "কোন সম্পাদনা করার আগে আপনার ই-মেইল ঠিকানাটি অবশ্যই নিশ্চিত করতে হবে। দয়া করে আপনার ই-মেইল ঠিকানাটি [[Special:Preferences|ব্যবহারকারীর পছন্দতালিকায়]] ঠিকমত দিন।",
        "nosuchsectiontitle": "অনুচ্ছেদ পাওয়া যায়নি",
        "search-interwiki-more": "(আরও)",
        "search-interwiki-more-results": "আরও ফলাফল",
        "search-relatedarticle": "সম্পর্কিত",
+       "search-invalid-sort-order": "$1-এর বাছাইয়ের ক্রম অজানা, পূর্বনির্ধারিত বাছাই প্রয়োগ হবে। বৈধ বাছাইয়ের ক্রমগুলি হল: $2",
        "searchrelated": "সম্পর্কিত",
        "searchall": "সমস্ত",
        "showingresults": "নিচে '''$2''' নং থেকে শুরু করে {{PLURAL:$1|'''1''' ফলাফল|'''$1''' ফলাফলসমূহ}} দেখানো হল।",
        "blocklink": "বাধা দাও",
        "unblocklink": "বাধা তুলুন",
        "change-blocklink": "বাধা পরিবর্তন করুন",
+       "empty-username": "(কোনও ব্যবহারকারীর নাম উপলব্ধ নেই)",
        "contribslink": "অবদান",
        "emaillink": "ই-মেইল পাঠাও",
        "autoblocker": "আপনাকে স্বয়ংক্রিয়ভাবে বাধা দেওয়া হয়েছে, কারণ আপনার আইপি ঠিকানাটি সম্প্রতি \"[[User:$1|$1]]\" ব্যবহার করেছেন। $1-কে বাধাদানের কারণ \"$2\"",
        "permanentlink": "স্থায়ী সংযোগ",
        "permanentlink-revid": "সংশোধন আইডি",
        "permanentlink-submit": "এই সংশোধনে যান",
+       "newsection": "নতুন অনুচ্ছেদ",
+       "newsection-page": "লক্ষ্য পাতা",
        "dberr-problems": " দুঃখিত! এই সাইটটি বর্তমানে কারীগরী অসুবিধার মুখোমুখি হয়েছে।",
        "dberr-again": "কয়েক মিনিট পর পুনরায় পরিদর্শনের চেষ্টা করুন।",
        "dberr-info": "(ডেটাবেজ প্রবেশ করা সম্ভব হয়নি: $1)",
index 7081e67..ac78987 100644 (file)
        "tooltip-t-specialpages": "Белхан агӀонанийн могӀам",
        "tooltip-t-print": "ХӀокху агӀона зорбанан верси",
        "tooltip-t-permalink": "ХӀокху агӀона версин тӀе цахийцалун хьажорг",
-       "tooltip-ca-nstab-main": "Коьрта яззаман чулацам",
+       "tooltip-ca-nstab-main": "Коьрта агӀонга хьажар",
        "tooltip-ca-nstab-user": "ХӀора декъашхочун долахь йолу агӀо ю",
        "tooltip-ca-nstab-media": "Медиа-файл",
        "tooltip-ca-nstab-special": "ХӀара белхан агӀо ю, хӀара таялуш яц",
index 4da930e..0fcfa49 100644 (file)
        "changecontentmodel": "Změnit model obsahu stránky",
        "changecontentmodel-legend": "Změnit model obsahu",
        "changecontentmodel-title-label": "Název stránky",
+       "changecontentmodel-current-label": "Současný model obsahu:",
        "changecontentmodel-model-label": "Nový model obsahu",
        "changecontentmodel-reason-label": "Důvod:",
        "changecontentmodel-submit": "Změnit",
index 978ab16..133a136 100644 (file)
        "blockedtext-composite": "<strong>Tu nombre de usuario o dirección IP han sido bloqueados.</strong>\n\nLa razón es:\n\n:<em>$2</em>.\n\n* Inicio del bloqueo: $8\n* Vencimiento del bloqueo más largo: $6\n\n* $5\n\nTu dirección IP actual es $3.\nPor favor, incluye todos los detalles anteriores en cualquier consulta que realices.",
        "blockedtext-composite-ids": "Identificadores de bloqueo relevantes: $1 (tu dirección IP puede encontrarse también en alguna lista negra)",
        "blockedtext-composite-no-ids": "Tu dirección IP figura en varias listas negras",
-       "blockedtext-composite-reason": "Existen múltiples bloqueos contra tu cuenta y/o dirección IP",
+       "blockedtext-composite-reason": "Existen varios bloqueos contra tu cuenta o dirección IP",
        "whitelistedittext": "Tienes que $1 para editar páginas.",
        "confirmedittext": "Debes confirmar tu dirección de correo electrónico antes de poder editar páginas. Por favor, configura y confirma tu dirección de correo a través de tus [[Special:Preferences|preferencias de usuario]].",
        "nosuchsectiontitle": "Sección no encontrada",
        "permanentlink": "Enlace permanente",
        "permanentlink-revid": "Id. de revisión",
        "permanentlink-submit": "Ir a la revisión",
+       "newsection": "Sección nueva",
+       "newsection-page": "Página de destino",
+       "newsection-submit": "Ir a la página",
        "dberr-problems": "Lo sentimos. Este sitio está experimentando dificultades técnicas.",
        "dberr-again": "Prueba a recargar dentro de unos minutos.",
        "dberr-info": "(No se puede acceder a la base de datos: $1)",
index 5ab743a..60741c0 100644 (file)
        "permanentlink": "Lien permanent",
        "permanentlink-revid": "ID de la révision",
        "permanentlink-submit": "Aller à la révision",
+       "newsection": "Nouvelle section",
+       "newsection-page": "Page cible",
+       "newsection-submit": "Aller à la page",
        "dberr-problems": "Désolé ! Ce site rencontre des difficultés techniques.",
        "dberr-again": "Essayez d'attendre quelques minutes et rechargez.",
        "dberr-info": "(Accès à la base de données impossible : $1)",
index 6e8339a..9cfdc29 100644 (file)
        "permanentlink": "קישור קבוע",
        "permanentlink-revid": "מספר הגרסה",
        "permanentlink-submit": "מעבר לגרסה",
+       "newsection": "פסקה חדשה",
+       "newsection-page": "דף יעד",
+       "newsection-submit": "מעבר לעמוד",
        "dberr-problems": "מצטערים! קיימת בעיה טכנית באתר זה.",
        "dberr-again": "נסו להמתין מספר שניות ולהעלות מחדש את הדף.",
        "dberr-info": "(לא ניתן לגשת לבסיס הנתונים: $1)",
index ddfc75b..890c967 100644 (file)
@@ -5,7 +5,8 @@
                        "Ukabia",
                        "아라",
                        "Uzoma Ozurumba",
-                       "Oby Ezeilo"
+                       "Oby Ezeilo",
+                       "Amire80"
                ]
        },
        "tog-underline": "Ahịrịàlà òjikọ:",
        "copyright": "Ihe di ime nọr okpúrụ $1",
        "copyrightpage": "{{ns:project}}:Iwu maka ijë ihe",
        "currentevents": "Ihe ne me ubuwá",
-       "currentevents-url": "Project:I ne me ubüwá",
+       "currentevents-url": "Project:Ihe ne me ubwá",
        "disclaimers": "Ńwepụ̀aka",
        "disclaimerpage": "Project:Ihe I kweshiri ma",
        "edithelp": "Inyetuáká I rüwa",
index 1d1fab9..5bea99a 100644 (file)
        "navigation-heading": "បញ្ជីណែនាំ",
        "errorpagetitle": "មានបញ្ហា",
        "returnto": "ត្រឡប់ទៅ $1 វិញ ។",
-       "tagline": "á\9e\8aá\9f\84á\9e\99{{SITENAME}}",
+       "tagline": "á\9e\96á\9e¸{{SITENAME}}",
        "help": "ជំនួយ",
        "search": "ស្វែងរក",
        "searchbutton": "ស្វែងរក",
        "redirectedfrom": "(ត្រូវបានបញ្ជូនបន្តពី $1)",
        "redirectpagesub": "ទំព័របញ្ជូនបន្ត",
        "redirectto": "បញ្ជូនបន្តទៅ៖",
-       "lastmodifiedat": "ទំព័រនេះត្រូវបានកែចុងក្រោយនៅ$2 $1។",
+       "lastmodifiedat": "ទំព័រនេះត្រូវបានកែចុងក្រោយនៅម៉ោង$2 $1។",
        "viewcount": "ទំព័រនេះ​ត្រូវបានចូលមើល​ចំនួន'''{{PLURAL:$1|ម្ដង|$1ដង}}'''",
        "protectedpage": "ទំព័រដែលត្រូវបានការពារ",
        "jumpto": "លោតទៅ៖",
        "recentchanges-notargetpage": "វាយបញ្ចូលចំណងជើងទំព័រមួយខាងលើដើម្បីមើលបន្លាស់ប្ដូរដែលទាក់ទិននឹងទំព័រនោះ។",
        "recentchanges-feed-description": "តាមដាន​បន្លាស់ប្ដូរថ្មីៗ​បំផុត​នៃ​វិគី​នេះក្នុង​មតិព័ត៌មាន​នេះ​។",
        "recentchanges-label-newpage": "ការកែប្រែនេះបានបង្កើតទំព័រថ្មីមួយ",
-       "recentchanges-label-minor": "á\9e\93á\9f\81á\9f\87á\9e\87á\9e¶á\9e\80á\9e¶á\9e\9aá\9e\80á\9f\82á\9e\94á\9f\92á\9e\9aá\9f\82á\9e\8fá\9e·á\9e\85á\9e\8fá\9e½á\9e\85á\9e\98á\9e½á\9e\99ប៉ុណ្ណោះ",
+       "recentchanges-label-minor": "á\9e\93á\9f\81á\9f\87á\9e\87á\9e¶á\9e\80á\9f\86á\9e\8eá\9f\82á\9e\94á\9f\92á\9e\9aá\9f\82á\9e\8fá\9e·á\9e\85á\9e\8fá\9e½á\9e\85ប៉ុណ្ណោះ",
        "recentchanges-label-bot": "ការកែប្រែនេះត្រូវបានធ្វើឡើងដោយរូបយន្ត",
        "recentchanges-label-unpatrolled": "ការកែប្រែនេះមិនទាន់ត្រូវបានល្បាតទេ",
        "recentchanges-label-plusminus": "ទំហំទំព័រត្រូវបានផ្លាស់ប្ដូរគិតជាចំនួនបៃ",
        "hide": "លាក់",
        "show": "បង្ហាញ",
        "minoreditletter": "ត",
-       "newpageletter": "ថ្មី",
+       "newpageletter": "ថ",
        "boteditletter": "យ",
        "rc-change-size": "$1",
        "rc-change-size-new": "$1 {{PLURAL:$1|បៃ|បៃ}} បន្ទាប់ពីបន្លាស់ប្ដូរ",
        "undelete-show-file-confirm": "តើអ្នកប្រាកដហើយថាអ្នកពិតជាចង់មើលកំណែដែលត្រូវបានលុបចោលរបស់ឯកសារ \"<nowiki>$1</nowiki>\" ពីថ្ងៃ $2 ម៉ោង $3?",
        "undelete-show-file-submit": "បាទ/ចាស៎",
        "namespace": "លំហឈ្មោះ:",
-       "invert": "á\9e\80á\9f\92á\9e\9aá\9f\85á\9e\96á\9e¸á\9e\93á\9f\84á\9f\87",
+       "invert": "á\9e\94á\9e\89á\9f\92á\9e\85á\9f\92á\9e\9aá\9e¶á\9e\9fâ\80\8bá\9e\87á\9e\98á\9f\92á\9e\9aá\9e¾á\9e\9f",
        "tooltip-invert": "គូសធីកប្រអប់នេះដើម្បីលាក់បន្លាស់ប្ដូរទំព័រដែលស្ថិតនៅក្នុងលំហឈ្មោះដែលបានជ្រើសយក (និងលំហឈ្មោះដែលទាក់ទិន ប្រសិនបើគូសធីក)",
        "namespace_association": "លំហឈ្មោះដែលទាក់ទិន",
        "tooltip-namespace_association": "គូសធីកប្រអប់នេះដើម្បីដាក់លំហឈ្មោះការពិភាក្សានិងប្រធានបទភ្ជាប់ទាក់ទិនទៅលំហឈ្មោះដែលបានជ្រើសយក",
        "tooltip-p-logo": "ទំព័រដើម",
        "tooltip-n-mainpage": "ចូលមើលទំព័រដើម",
        "tooltip-n-mainpage-description": "ចូលមើលទំព័រដើម",
-       "tooltip-n-portal": "á\9e¢á\9f\86á\9e\96á\9e¸á\9e\82á\9e\98á\9f\92á\9e\9aá\9f\84á\9e\84 á\9e\9cá\9e·á\9e\92á\9e¸á\9e\94á\9f\92á\9e\9aá\9e¾á\9e\94á\9f\92á\9e\9aá\9e¶á\9e\9fá\9f\8b á\9e\93á\9e·á\9e\84á\9e\80á\9e¶á\9e\9aស្វែងរកព័ត៌មាន",
+       "tooltip-n-portal": "á\9e¢á\9f\86á\9e\96á\9e¸á\9e\82á\9e\98á\9f\92á\9e\9aá\9f\84á\9e\84 á\9e¢á\9f\92á\9e\9cá\9e¸á\9e\8aá\9f\82á\9e\9bá\9e¢á\9f\92á\9e\93á\9e\80á\9e¢á\9e¶á\9e\85á\9e\92á\9f\92á\9e\9cá\9e¾á\9e\94á\9e¶á\9e\93 á\9e\93á\9e·á\9e\84á\9e\80á\9e\93á\9f\92á\9e\9bá\9f\82á\9e\84ស្វែងរកព័ត៌មាន",
        "tooltip-n-currentevents": "រកមើលព័ត៌មានទាក់ទិននឹងព្រឹត្តិការណ៍បច្ចុប្បន្ន",
        "tooltip-n-recentchanges": "បញ្ជី​​បន្លាស់ប្ដូរថ្មីៗ​នៅក្នុងវិគីនេះ",
        "tooltip-n-randompage": "ផ្ទុក​ទំព័រចៃដន្យ​មួយទំព័រ",
        "tooltip-n-help": "ជំនួយ​បន្ថែម",
-       "tooltip-t-whatlinkshere": "á\9e\94á\9e\89á\9f\92á\9e\87á\9e¸â\80\8bá\9e\91á\9f\86á\9e\96á\9f\90á\9e\9cá\9e·á\9e\82á\9e¸â\80\8bá\9e\91á\9e¶á\9f\86á\9e\84á\9e¢á\9e\9fá\9f\8bâ\80\8bá\9e\8aá\9f\82á\9e\9bá\9e\8fá\9e\97á\9f\92á\9e\87á\9e¶á\9e\94á\9f\8bâ\80\8bá\9e\93á\9e¹á\9e\84ទីនេះ",
+       "tooltip-t-whatlinkshere": "á\9e\94á\9e\89á\9f\92á\9e\87á\9e¸â\80\8bá\9e\91á\9f\86á\9e\96á\9f\90á\9e\9cá\9e·á\9e\82á\9e¸â\80\8bá\9e\91á\9e¶á\9f\86á\9e\84á\9e¢á\9e\9fá\9f\8bâ\80\8bá\9e\8aá\9f\82á\9e\9bá\9e\97á\9f\92á\9e\87á\9e¶á\9e\94á\9f\8bâ\80\8bá\9e\98á\9e\80ទីនេះ",
        "tooltip-t-recentchangeslinked": "បន្លាស់ប្ដូរថ្មីៗក្នុងទំព័រដែលត្រូវបានភ្ជាប់មកទំព័រនេះ",
        "tooltip-feed-rss": "បម្រែបម្រួល RSS ចំពោះទំព័រនេះ",
        "tooltip-feed-atom": "បម្រែបម្រួល Atom ចំពោះទំព័រនេះ",
index b4c04cc..72e4912 100644 (file)
        "permanentlink": "고유 링크",
        "permanentlink-revid": "판 ID",
        "permanentlink-submit": "판으로 이동",
+       "newsection": "새 문단",
+       "newsection-submit": "문서로 이동",
        "dberr-problems": "죄송합니다! 이 사이트에 기술적인 문제가 발생하고 있습니다.",
        "dberr-again": "잠시 기다리고 나서 다시 불러오세요.",
        "dberr-info": "(데이터베이스 서버에 연결할 수 없습니다: $1)",
index 094b875..fd89aee 100644 (file)
        "june-date": "Pûşper $1",
        "july-date": "Tîrmeh $1",
        "august-date": "$1 tebax",
-       "september-date": "Rezber $1",
-       "october-date": "Kewçêr $1",
-       "november-date": "Sermawez $1",
-       "december-date": "Berfanbar $1",
+       "september-date": "Îlon $1",
+       "october-date": "Çiriya pêşîn $1",
+       "november-date": "Çiriya paşîn $1",
+       "december-date": "Kanûna pêşîn $1",
        "period-am": "Berî Nîvro",
        "period-pm": "PN",
        "pagecategories": "{{PLURAL:$1|Kategorî|Kategorî}}",
        "perfcachedts": "Ev dane hatiye veşartin û cara paşîn $1 hatiye rojanekirin. A maximum of {{PLURAL:$4|one result is|$4 results are}} available in the cache.",
        "querypage-no-updates": "Fonksiyona rojanekirinê ya vê rûpelê hatiye sekinandin. Daneyên vir nayên rojanekirin.",
        "viewsource": "Çavkaniyê bibîne",
-       "viewsource-title": "Çavkanîya $1 bibîne",
+       "viewsource-title": "Çavkaniya $1 bibîne",
        "actionthrottled": "Hejmara guherandinên hatine hesibandin",
        "actionthrottledtext": "Te ev tişt di demeke gelekî kin de kir. Ji kerema xwe çend xulekan bisekine û carekî din biceribîne.",
        "protectedpagetext": "Ev rûpel ji bo guhertin û karên din ne kirin hatiye parastin.",
        "revdelete-edit-reasonlist": "Sedemên jêbirinê biguherîne",
        "revdelete-offender": "Nivîskarê/a guhertoyê:",
        "mergehistory-box": "Guhertoyên her du rûpelan bike yek:",
-       "mergehistory-from": "Çavkanîya rûpelê:",
+       "mergehistory-from": "Çavkaniya rûpelê:",
        "mergehistory-submit": "Guhertoyan bike yek",
        "mergehistory-reason": "Sedem:",
        "mergelog": "Yekkirina gotaran",
        "deletepage": "Rûpelê jê bibe",
        "confirm": "Pesend bike",
        "excontent": "Naveroka berê: \"$1\"",
-       "excontentauthor": "Naveroka rûpelê ev bû: \"$1\", û tenê ya bikarhêner \"[[Special:Contributions/$2|$2]]\" ([[User talk:$2|talk]] bû.)",
+       "excontentauthor": "Naveroka rûpelê ev bû: \"$1\", û tenê ya bikarhêner \"[[Special:Contributions/$2|$2]]\" ([[User talk:$2|gotûbêj]] bû.)",
        "exbeforeblank": "Naverok berî betalkirinê ev bû: \"$1\"",
        "delete-confirm": "Jêbirina \"$1\"",
        "delete-legend": "Jê bibe",
index a6b7a5b..de98e58 100644 (file)
@@ -31,7 +31,7 @@
        "tog-hideminor": "Скривај ги ситните уредувања во скорешните промени",
        "tog-hidepatrolled": "Скриј испатролирани уредувања во скорешните промени",
        "tog-newpageshidepatrolled": "Скриј испатролирани страници од списокот на нови страници",
-       "tog-hidecategorization": "СокÑ\80иÑ\98 Ñ\98а ÐºÐ°Ñ\82егоÑ\80изаÑ\86иÑ\98аÑ\82а Ð½Ð° Ñ\81Ñ\82Ñ\80аниÑ\86иÑ\82е",
+       "tog-hidecategorization": "Скриј ја категоризацијата на страниците",
        "tog-extendwatchlist": "Прошири го список на набљудувања за приказ на сите промени, не само скорешните",
        "tog-usenewrc": "Промени во групи по страници во списокот на скорешни промени",
        "tog-numberheadings": "Наброј ги заглавијата",
@@ -63,7 +63,7 @@
        "tog-watchlistunwatchlinks": "Додај непосредни бележници за тргање/ставање во набљудуваните ({{int:Watchlist-unwatch}}/{{int:Watchlist-unwatch-undo}}) кон набљудуваните страници со промени (префрлањето бара JavaScript)",
        "tog-watchlisthideanons": "Скриј ги уредувањата од анонимни корисници во набљудуваните",
        "tog-watchlisthidepatrolled": "Скриј испатролирани уредувања од мојот список на набљудувања",
-       "tog-watchlisthidecategorization": "СокÑ\80иÑ\98 Ñ\98а ÐºÐ°Ñ\82егоÑ\80изаÑ\86иÑ\98аÑ\82а Ð½Ð° Ñ\81Ñ\82Ñ\80аниÑ\86иÑ\82е",
+       "tog-watchlisthidecategorization": "Скриј ја категоризацијата на страниците",
        "tog-ccmeonemails": "Испраќај ми мои примероци од писмата што ги праќам на другите корисници",
        "tog-diffonly": "Не ја покажувај содржината на страницата под разликите",
        "tog-showhiddencats": "Прикажи скриени категории",
        "right-suppressionlog": "Гледање на лични дневници",
        "right-block": "Оневозможување на останати корисници да уредуваат",
        "right-blockemail": "Оневозможување корисници да праќаат е-пошта",
-       "right-hideuser": "Ð\91локиÑ\80аÑ\9aе ÐºÐ¾Ñ\80иÑ\81ниÑ\86и, Ñ\81окÑ\80иваÑ\9aе Ð¾Ð´ Ñ\98авноÑ\81Ñ\82а",
+       "right-hideuser": "Блокирање корисници, скривање од јавноста",
        "right-ipblock-exempt": "Заобиколување на IP-блокови, автоблокови и опсежни блокови",
        "right-unblockself": "Сопствено одблокирање",
        "right-protect": "Менување на степени на заштита и уредување на каскадно заштитени страници",
        "action-editmyuserjs": "уредување на сопствените кориснички податотеки со JavaScript",
        "action-editmyuserjsredirect": "уредување на сопствените кориснички JavaScript-податотеки кои се пренасочувања",
        "action-viewsuppressed": "преглед на преработки скриени од било кој корисник",
-       "action-hideuser": "блокиÑ\80аÑ\9aе ÐºÐ¾Ñ\80иÑ\81ниÑ\86и, Ñ\81окÑ\80иваÑ\9aе Ð¾Ð´ Ñ\98авноÑ\81Ñ\82а",
+       "action-hideuser": "блокирање корисници, скривање од јавноста",
        "action-ipblock-exempt": "заобиколување на IP-блокови, автоблокови и опсежни блокови",
        "action-unblockself": "блокирање на самите себеси",
        "action-noratelimit": "да не бидете засегнати од временски ограничувања на уредување",
        "rc-change-size-new": "$1 {{PLURAL:$1|бајт|бајти}} по промената",
        "newsectionsummary": "/* $1 */ ново заглавие",
        "rc-enhanced-expand": "Прикажување на подробности",
-       "rc-enhanced-hide": "СокÑ\80иваÑ\9aе Ð½Ð° Ð¿Ð¾Ð´Ñ\80обноÑ\81Ñ\82и",
+       "rc-enhanced-hide": "Скривање на подробности",
        "rc-old-title": "првично создадено како „$1“",
        "recentchangeslinked": "Поврзани промени",
        "recentchangeslinked-feed": "Поврзани промени",
        "autoblocker": "Автоматски сте блокирани бидејќи вашата IP-адреса била скоро користена од „[[User:$1|$1]]“.\nНаведената причина за блокирање на $1 гласи: „$2“",
        "blocklogpage": "Дневник на блокирања",
        "blocklog-showlog": "Овој корисник бил претходно блокиран.\nДневникот на блокирања, за ваша информација е прикажан подолу:",
-       "blocklog-showsuppresslog": "Ð\9eвоÑ\98 ÐºÐ¾Ñ\80иÑ\81ник Ð±Ð¸Ð» Ð¿Ñ\80еÑ\82Ñ\85одно Ð±Ð»Ð¾ÐºÐ¸Ñ\80ан Ð¸ Ñ\81окÑ\80иен.\nÐ\94невникоÑ\82 Ð½Ð° Ð¾Ð³Ñ\80аниÑ\87Ñ\83ваÑ\9aа, Ð·Ð° Ð²Ð°Ñ\88а Ð¸Ð½Ñ\84оÑ\80маÑ\86иÑ\98а Ðµ Ð¿Ñ\80икажан Ð¿Ð¾Ð´Ð¾Ð»Ñ\83:",
+       "blocklog-showsuppresslog": "Овој корисник бил претходно блокиран и скриен.\nДневникот на ограничувања, за ваша информација е прикажан подолу:",
        "blocklogentry": "го блокираше [[$1]] со рок на истекување до $2, $3",
        "reblock-logentry": "ги промени нагодувањата за блокирање на [[$1]] со рок на истекување од $2 $3",
        "blocklogtext": "Ова е дневник на блокирање и одблокирање на кориснци.\nАвтоматски блокираните IP-адреси не се наведени.\nТековните забрани и блокирања ќе ги најдете на [[Special:BlockList|списокот на блокирања]].",
        "block-log-flags-noemail": "блокирана е-поштенска адреса",
        "block-log-flags-nousertalk": "без можност за уредување на својата разговорна страница",
        "block-log-flags-angry-autoblock": "овозможено проширено автоблокирање",
-       "block-log-flags-hiddenname": "Ñ\81окÑ\80иено ÐºÐ¾Ñ\80иÑ\81ниÑ\87ко Ð¸Ð¼Ðµ",
+       "block-log-flags-hiddenname": "скриено корисничко име",
        "range_block_disabled": "Администраторската можност да блокираат IP групи е исклучена.",
        "ipb-prevent-user-talk-edit": "Уредувањето на сопствената разговорна страница мора да биде дозволено при делумен блок, освен ако не вклучува ограничување за разговорната страница.",
        "ipb_expiry_invalid": "Погрешен рок на истекување.",
        "sorbs_create_account_reason": "Вашата IP-адреса е наведена како отворен застапник (прокси) во DNSBL користена од {{SITENAME}}.\nНе можете да создадете корисничка сметка.",
        "softblockrangesreason": "Анонимните придонеси не се дозволени од вашата IP-адреса ($1). Најавете се.",
        "xffblockreason": "Блокирана е IP-адреса присутна во заглавието X-Forwarded-For, која е ваша или на застапничкиот опслужувач што го користите. Наведеното образложение гласи: $1",
-       "cant-see-hidden-user": "Ð\9aоÑ\80иÑ\81никоÑ\82 ÐºÐ¾Ñ\98 Ñ\81е Ð¾Ð±Ð¸Ð´Ñ\83ваÑ\82е Ð´Ð° Ð³Ð¾ Ð±Ð»Ð¾ÐºÐ¸Ñ\80аÑ\82е Ðµ Ð²ÐµÑ\9cе Ð±Ð»Ð¾ÐºÐ¸Ñ\80ан Ð¸ Ñ\81окÑ\80иен. Ð\91идеÑ\98Ñ\9cи Ð²Ð¸Ðµ Ð½ÐµÐ¼Ð°Ñ\82е Ð¿Ñ\80ава Ð·Ð° Ñ\81окривање на корисник, не можете да ги видите или уредувате корисничките блокирања.",
+       "cant-see-hidden-user": "Ð\9aоÑ\80иÑ\81никоÑ\82 ÐºÐ¾Ñ\98 Ñ\81е Ð¾Ð±Ð¸Ð´Ñ\83ваÑ\82е Ð´Ð° Ð³Ð¾ Ð±Ð»Ð¾ÐºÐ¸Ñ\80аÑ\82е Ðµ Ð²ÐµÑ\9cе Ð±Ð»Ð¾ÐºÐ¸Ñ\80ан Ð¸ Ñ\81кÑ\80иен. Ð\91идеÑ\98Ñ\9cи Ð²Ð¸Ðµ Ð½ÐµÐ¼Ð°Ñ\82е Ð¿Ñ\80ава Ð·Ð° Ñ\81кривање на корисник, не можете да ги видите или уредувате корисничките блокирања.",
        "ipbblocked": "Не можете да блокирате или одблокирате други корисници бидејќи и самите сте блокирани",
        "ipbnounblockself": "Не е дозволено да се одблокирате самите себеси",
        "lockdb": "Заклучи база на податоци",
        "newimages-user": "IP-адреса или корисничко име",
        "newimages-newbies": "Прикажи само придонеси на нови корисници",
        "newimages-showbots": "Прикажувај подигања од ботови",
-       "newimages-hidepatrolled": "СокÑ\80иÑ\98 Ð¸Ñ\81паÑ\82Ñ\80олÑ\80иани Ð¿Ð¾Ð´Ð¸Ð³Ð°Ñ\9aа",
+       "newimages-hidepatrolled": "Скриј испатролриани подигања",
        "newimages-mediatype": "Тип на медиум:",
        "noimages": "Нема ништо.",
        "gallery-slideshow-toggle": "Преод на минијатури",
        "permanentlink": "Постојана врска",
        "permanentlink-revid": "Назнака на преработката",
        "permanentlink-submit": "Оди на преработката",
+       "newsection": "Нов поднаслов",
+       "newsection-page": "Целна страница",
+       "newsection-submit": "Оди на страница",
        "dberr-problems": "Жалиме! Ова мрежно место се соочува со технички потешкотии.",
        "dberr-again": "Почекајте неколку минути и обидете се повторно.",
        "dberr-info": "(Не можам да пристапам кон базата: $1)",
index 157b87c..db10fbf 100644 (file)
        "category-file-count": "{{PLURAL:$2|This category contains only the following file.|The following {{PLURAL:$1|file is|$1 files are}} in this category, out of $2 total.}}",
        "category-file-count-limited": "The following {{PLURAL:$1|file is|$1 files are}} in the current category.",
        "listingcontinuesabbrev": "ꯆꯠꯊꯕꯥ",
-       "index-category": "Indexed ꯂꯥꯃꯥꯏꯁꯤꯡ",
+       "index-category": "ꯏꯟꯗꯦꯛꯁ ꯂꯃꯥꯏꯁꯤꯡ",
        "noindex-category": "ꯏꯟꯗꯦꯛꯁ ꯌꯥꯎꯗꯕ ꯂꯃꯥꯏꯁꯤꯡ",
        "broken-file-category": " ꯀꯥꯏꯔꯕꯥ ꯐꯥꯏꯜꯒꯥ ꯂꯣꯏꯅꯕꯥ ꯂꯃꯥꯏꯁꯤꯡ",
        "about": "ꯄꯣꯠꯇꯨꯗꯤ ꯃꯔꯝꯗꯥ",
        "article": "ꯂꯃꯥꯏꯁꯤꯗꯥ ꯌꯥꯎꯕꯥ ꯄꯨꯝꯅꯃꯛ",
        "newwindow": "(ꯑꯅꯧꯕꯥ ꯊꯣꯡꯅꯥꯎꯗꯥ ꯍꯥꯡꯗꯣꯛ ꯎ)",
        "cancel": "ꯇꯣꯛꯄ",
-       "moredotdotdot": "ꯋꯥꯠꯂꯤ",
-       "morenotlisted": "ꯃꯁꯤꯒꯤ ꯄꯔꯦꯡꯁꯤ ꯃꯄꯨꯡ ꯐꯥꯗꯦ",
+       "moredotdotdot": "ꯋꯥꯠꯂꯤ....",
+       "morenotlisted": "ꯃꯁꯤꯒꯤ ꯄꯔꯦꯡꯁꯤ ꯃꯄꯨꯡ ꯐꯥꯗꯦ ꯫",
        "mypage": "ꯂꯃꯥꯏ",
        "mytalk": "ꯉꯥꯡꯐꯝ",
        "anontalk": "ꯉꯥꯡꯐꯝ",
        "otherlanguages": "ꯑꯇꯣꯞꯄꯥ ꯂꯣꯟꯁꯤꯡꯗꯥ",
        "redirectedfrom": "($1 ꯗꯒꯤ ꯔꯤꯗꯥꯏꯔꯦꯛ)",
        "redirectpagesub": "ꯑꯃꯨꯛ ꯍꯟꯂꯛꯄꯥ ꯂꯃꯥꯏ",
-       "redirectto": "Redirect to:",
+       "redirectto": "ꯃꯐꯝꯁꯤꯗ ꯍꯟꯕ:",
        "lastmodifiedat": "$1 ꯗꯥ ꯃꯁꯤꯒꯤ ꯂꯃꯥꯏꯁꯤ ꯑꯔꯣꯏꯕꯥ ꯁꯦꯝꯒꯠꯈꯤꯕꯥ, $2 ꯗꯥ",
        "viewcount": "This page has been accessed {{PLURAL:$1|once|$1 times}}?",
        "protectedpage": "ꯉꯥꯛꯊꯣꯛꯂꯕꯥ ꯂꯃꯥꯏ",
        "disclaimers": "ꯌꯥꯅꯤꯡꯗꯕꯥ ꯐꯣꯡꯗꯣꯛꯄꯁꯤꯡ",
        "disclaimerpage": "Project:ꯃꯌꯥꯝꯒꯤ ꯑꯣꯏꯅꯥ ꯌꯥꯅꯤꯡꯗꯕꯥ ꯐꯣꯡꯗꯣꯔꯛꯄꯥ",
        "edithelp": "ꯁꯦꯝꯒꯠꯅꯕꯥ ꯃꯥꯇꯦꯡ",
-       "helppage-top-gethelp": "ê¯\83ꯥê¯\87ꯦꯡ",
+       "helppage-top-gethelp": "ꯃꯇꯦꯡ",
        "mainpage": "ꯃꯔꯨꯑꯣꯏꯕ ꯂꯃꯥꯏ",
        "mainpage-description": "ꯃꯔꯨꯑꯣꯏꯕ ꯂꯃꯥꯏ",
        "policy-url": "Project:ꯈꯣꯡꯊꯥꯡ",
        "hidetoc": "ꯂꯣꯇꯄ",
        "collapsible-collapse": "ꯁꯨꯞꯆꯤꯟꯕꯥ",
        "collapsible-expand": "ꯄꯥꯛꯊꯣꯛꯄ",
-       "confirmable-confirm": "Are {{GENDER:$1|you}} sure?",
+       "confirmable-confirm": "{{GENDER:$1|ꯅꯪꯒꯤꯖꯤ}} ꯁꯣꯏꯗ꯭ꯔꯕꯣ?",
        "confirmable-yes": "ꯍꯣꯏ",
        "confirmable-no": "ꯅꯠꯇꯦ",
-       "thisisdeleted": "View or restore $1?",
+       "thisisdeleted": "$1 ꯌꯦꯡꯕ ꯅꯠꯇ꯭ꯔꯒ ꯍꯤꯡꯍꯟꯕ?",
        "viewdeleted": "$1 ꯌꯦꯡꯍꯟꯂꯨ?",
-       "restorelink": "{{PLURAL:$1|one deleted edit|$1 deleted edits}}",
+       "restorelink": "{{PLURAL:$1|ꯁꯦꯝꯒꯠꯄꯥ ꯱ ꯀꯛꯊꯠꯂꯦ|$1 ꯀꯛꯊꯠꯈꯔꯕ ꯁꯦꯝꯒꯠꯄꯁꯤꯡ}}",
        "feedlinks": "ꯐꯤꯗ:",
        "feed-invalid": "ꯌꯥꯎꯗꯕꯥ subscription feed type.",
        "feed-unavailable": "ꯐꯤꯗꯁ ꯐꯪꯗꯦ",
        "readonlytext": "The database is currently locked to new entries and other modifications, probably for routine database maintenance, after which it will be back to normal.\n\nThe system administrator who locked it offered this explanation: $1",
        "missing-article": "The database did not find the text of a page that it should have found, named \"$1\" $2.\n\nThis is usually caused by following an outdated diff or history link to a page that has been deleted.\n\nIf this is not the case, you may have found a bug in the software.\nPlease report this to an [[Special:ListUsers/sysop|administrator]], making note of the URL.",
        "missingarticle-rev": "(revision#: $1)",
-       "missingarticle-diff": "(Diff: $1, $2)",
+       "missingarticle-diff": "(ꯈꯦꯠ: $1, $2)",
        "readonly_lag": "ꯗꯇꯥꯕꯦꯁ ꯁꯤ ꯃꯁꯥ ꯃꯇꯣꯝꯇꯥ ꯊꯤꯡꯖꯤꯟꯂꯦ while the slave database servers catch up to the master",
        "nonwrite-api-promise-error": "The 'Promise-Non-Write-API-Action' HTTP header was sent but the request was to an API write module.",
        "internalerror": "ꯃꯅꯨꯡꯒꯤ ꯑꯁꯣꯏꯕꯥ",
        "nocookieslogin": "{{SITENAME}} uses cookies to log in users.\nYou have cookies disabled.\nPlease enable them and try again.",
        "loginsuccesstitle": "ꯂꯣꯒ ꯏꯟ",
        "login-userblocked": "ꯃꯁꯤꯒꯤ ꯁꯤꯖꯤꯟꯅꯔꯤꯕꯥꯁꯤ ꯊꯤꯡꯖꯤꯟꯈꯔꯦ? ꯂꯣꯒ ꯏꯟ ꯌꯥꯔꯥꯔꯣꯏ",
-       "passwordtooshort": "ê¯\84ꯥê¯\81ê¯\8bê¯\94ê¯\87 ê¯\81ꯤ ê¯\8cꯥê¯\9dê¯\97ê¯\94ê¯\95ê¯\97ꯥ ê¯\83ê¯\81ꯤ ê¯\88ê¯\94ꯥê¯\81ꯤ ê¯\8cꯥê¯\8eê¯\92ê¯\97ê¯\95ê¯\85ꯤ {{PLURAL:$1|1 character|$1 characters}}.",
+       "passwordtooshort": "ê¯\84ꯥê¯\81ê¯\8b꯭ê¯\94ꯠ ê¯\81ꯤ ê¯\8cꯥê¯\9dê¯\97ê¯\94ê¯\95ê¯\97ꯥ {{PLURAL:$1| ê¯\83ê¯\8cꯦê¯\9b ê¯±|$1 ê¯\83ê¯\8cꯦê¯\9b ê¯\88ê¯\94ꯥ}} ê¯\8cꯥê¯\8eê¯\92ê¯\97ê¯\95ê¯\85ꯤ ê¯«",
        "mailmypassword": "ꯄꯥꯁꯋ꯭ꯔꯗ ꯁꯦꯝꯗꯣꯛꯄꯥ",
        "passwordremindertitle": " {{SITENAME}} ꯁꯤꯒꯤ ꯑꯅꯧꯕꯥ ꯉꯥꯏꯍꯥꯛꯀꯤ ꯑꯣꯏꯕꯥ ꯄꯥꯁꯋꯔꯇ",
        "passwordremindertext": "Someone (from IP address $1) requested a new\npassword for {{SITENAME}} ($4). A temporary password for user\n\"$2\" has been created and was set to \"$3\". If this was your\nintent, you will need to log in and choose a new password now.\nYour temporary password will expire in {{PLURAL:$5|one day|$5 days}}.\n\nIf someone else made this request, or if you have remembered your password,\nand you no longer wish to change it, you may ignore this message and\ncontinue using your old password.",
        "accountcreated": "ꯑꯦꯀꯥꯎꯟ ꯁꯥꯈꯔꯦ",
        "loginlanguagelabel": "ꯂꯣꯟ:$1",
        "pt-login": "ꯆꯪꯁꯤꯟꯕ ꯃꯅꯨꯪꯗ",
-       "pt-login-button": "Chang Sinba",
+       "pt-login-button": "ꯃꯅꯨꯡ ꯆꯪ-ꯁꯤꯟꯕ",
        "pt-login-continue-button": "ꯂꯣꯘ ꯏꯟ ꯃꯈꯥ ꯆꯠꯊꯧ",
        "pt-createaccount": "ꯑꯩꯒꯤ ꯑꯣꯏꯕꯥ ꯑꯃꯥ ꯁꯦꯝꯕꯥ",
        "pt-userlogout": "ꯊꯣꯛꯂꯛꯄꯥ",
        "botpasswords": "ꯕꯣꯠ ꯄꯥꯁꯋ꯭ꯔꯠꯁꯤꯡ",
        "botpasswords-summary": "<em>Bot passwords</em> allow access to a user account via the API without using the account's main login credentials. The user rights available when logged in with a bot password may be restricted.\n\nIf you don't know why you might want to do this, you should probably not do it. No one should ever ask you to generate one of these and give it to them.",
        "botpasswords-disabled": "ꯕꯣꯠ ꯄꯥꯁꯋ꯭ꯔꯠꯁꯤꯡ ꯌꯥꯍꯟꯗꯕꯥ",
+       "botpasswords-createnew": "ꯑꯅꯧꯕ ꯕꯣꯠꯀꯤ ꯄꯥꯁꯋ꯭ꯔꯠ ꯁꯦꯝꯃꯨ",
+       "botpasswords-editexisting": "ꯍꯥꯟꯅꯗꯒꯤ ꯂꯩꯔꯕ ꯕꯣꯠꯀꯤ ꯄꯥꯁꯋ꯭ꯔꯠ ꯑꯗꯨ ꯁꯦꯝꯒꯠꯂꯨ",
+       "botpasswords-label-needsreset": "(ꯄꯥꯁꯋ꯭ꯔꯠ ꯅꯧꯅꯥ ꯁꯦꯝꯇꯣꯛꯇꯕ ꯌꯥꯗꯔꯦ)",
        "botpasswords-label-appid": "ꯕꯣꯠ ꯃꯃꯤꯡ:",
        "botpasswords-label-create": "ꯁꯥꯕꯥ",
        "botpasswords-label-update": "ꯅꯧꯊꯣꯛꯍꯟꯕꯥ",
        "botpasswords-label-resetpassword": "ꯄꯥꯁꯋ꯭ꯔꯠ ꯑꯃꯨꯛ ꯍꯟꯅꯥ ꯁꯦꯝꯗꯣꯛꯄꯥ",
        "botpasswords-label-grants": "ꯆꯥꯟꯅꯕꯥ ꯌꯥꯕꯥ ꯑꯌꯥꯕꯁꯤꯡ:",
        "botpasswords-help-grants": "Grants allow access to rights already held by your user account. Enabling a grant here does not provide access to any rights that your user account would not otherwise have. See the [[Special:ListGrants|table of grants]] for more information.",
+       "botpasswords-label-grants-column": "ꯑꯌꯥꯕ ꯄꯤꯔꯦ",
+       "botpasswords-bad-appid": "\"$1\" ꯀꯧꯕꯥ ꯕꯣꯠ ꯂꯩꯇꯦ ꯫",
+       "botpasswords-insert-failed": "\"$1\" ꯕꯣꯠ ꯃꯃꯤꯡꯁꯤ ꯍꯥꯞꯆꯤꯟꯕ ꯀꯥꯎꯔꯦ ꯫ ꯍꯥꯟꯅꯥ ꯍꯥꯞꯆꯤꯟꯈꯔꯕ?",
        "botpasswords-created-title": "ꯕꯣꯠ ꯄꯥꯁꯋ꯭ꯔꯠ ꯁꯥꯈꯔꯦ",
        "botpasswords-deleted-title": "ꯕꯣꯠ ꯄꯥꯁꯋ꯭ꯔꯠ ꯀꯛꯊꯠꯈꯔꯦ",
        "resetpass_forbidden": "ꯄꯥꯁꯋ꯭ꯔꯠ ꯍꯣꯡꯗꯣꯛꯄꯥ ꯌꯥꯔꯣꯏ",
        "resetpass_forbidden-reason": "$1:ꯄꯥꯁꯋ꯭ꯔꯠꯁꯤꯡ ꯍꯣꯡꯗꯣꯛꯄꯥ ꯌꯥꯔꯣꯏ",
        "resetpass-no-info": "ꯃꯁꯤꯒꯤ ꯂꯃꯥꯏꯁꯤ ꯍꯦꯛꯇꯥ ꯌꯧꯅꯕꯥ ꯅꯪ ꯁꯣꯏꯗꯅꯥ ꯂꯣꯒ ꯏꯟ ꯇꯧꯒꯗꯕꯅꯤ ꯫",
        "resetpass-submit-loggedin": "ꯄꯥꯁꯋ꯭ꯔꯠ ꯍꯣꯡꯗꯣꯛꯄꯥ",
-       "resetpass-submit-cancel": "ê¯\80ê¯\9bê¯\8aꯠê¯\84ꯥ",
+       "resetpass-submit-cancel": "ê¯\87ꯣê¯\9bê¯\84",
        "resetpass-wrong-oldpass": "ꯃꯇꯝ ꯈꯔꯥꯒꯤ ꯑꯣꯏꯅꯥ ꯀꯔꯤꯝꯇꯥ ꯌꯥꯎꯗꯦ  ꯅꯠꯇꯔꯒꯥ ꯍꯧꯖꯤꯛꯀꯤ ꯄꯥꯁꯋ꯭ꯔꯠ ꯫ ꯅꯪꯅꯥ ꯄꯥꯁꯋ꯭ꯔꯠ ꯍꯥꯟꯅꯗꯒꯤ ꯍꯣꯡꯂꯝꯂꯅꯤ ꯅꯠꯇꯔꯒꯥ ꯍꯪꯒꯠꯂꯨ ꯉꯥꯏꯍꯥꯛꯀꯤ ꯑꯣꯏꯕꯥ ꯄꯥꯁꯋ꯭ꯔꯠ ꯫",
        "resetpass-temp-password": "ꯉꯩꯍꯥꯛꯀꯤ ꯑꯣꯏꯕꯥ ꯄꯥꯁꯋ꯭ꯔꯠ:",
        "resetpass-expired": "ꯅꯪꯒꯤ ꯄꯥꯁꯋ꯭ꯔꯇ ꯁꯤ ꯌꯥꯗꯔꯦ ꯫ ꯆꯥꯟꯕꯤꯗꯨꯅ ꯑꯅꯧꯕ ꯱ ꯁꯦꯝꯃꯣ ꯂꯣꯒ ꯏꯟ ꯇꯧꯅꯕ ꯫",
        "italic_tip": "ꯋꯥꯔꯦꯡ ꯐꯩꯅꯥ ꯏꯕꯥ",
        "link_sample": "ꯑꯄꯤꯕ ꯃꯃꯤꯡ ꯁꯝꯅꯐꯝ",
        "link_tip": "ꯃꯅꯨꯡꯒꯥ ꯁꯝꯅꯐꯝ",
-       "extlink_sample": "http://www.example.com link title",
+       "extlink_sample": "http://www.example.com ꯁꯝꯅꯐꯝꯒꯤꯃꯃꯤꯡ",
        "extlink_tip": "ꯑꯇꯣꯞꯄꯥꯒꯥ ꯁꯝꯅꯐꯝ (ꯀꯥꯎꯒꯅꯨ http:// prefix)",
        "headline_sample": "ꯃꯀꯣꯛꯀꯤ ꯋꯥꯔꯦꯡ ꯄꯥꯔꯦꯡ",
        "headline_tip": "꯲ ꯁꯨꯕꯥ ꯃꯀꯣꯛꯀꯤ ꯄꯔꯦꯡ",
        "mergehistory-list": "ꯄꯎꯋꯥꯔꯤ ꯁꯦꯝꯒꯠꯄꯗꯨ ꯑꯃꯁꯨ ꯑꯃꯁꯨ ꯆꯪꯍꯟꯕ",
        "mergehistory-fail-invalid-source": "ꯂꯧꯔꯛꯐꯝ ꯂꯃꯥꯏꯁꯤ ꯂꯩꯇꯦ ꯫",
        "mergehistory-fail-invalid-dest": "ꯂꯝꯊꯨꯡꯐꯝ ꯂꯃꯥꯏꯁꯤ ꯂꯩꯇꯦ ꯫",
+       "mergehistory-autocomment": "[[:$1]] ꯁꯤ [[:$2]]ꯗꯥ ꯄꯨꯟꯁꯤꯟꯂꯨ",
        "mergehistory-reason": "ꯃꯔꯝ:",
        "mergelog": "ꯂꯣꯒ ꯄꯨꯟꯁꯤꯟꯕ",
        "history-title": "\"$1\" ꯒꯤ ꯔꯤꯚꯤꯖꯟ ꯄꯨꯋꯥꯔꯤ",
        "search-result-size": "$1 ({{PLURAL:$2|1 word|$2 words}})",
        "search-result-category-size": "{{PLURAL:$1|1 ꯈꯣꯡꯕꯨ|$1 ꯈꯣꯡꯕꯨꯁꯤꯡ}} ({{PLURAL:$2|1 ꯃꯆꯥꯈꯥꯏꯕ ꯃꯆꯥ|$2 ꯃꯆꯥꯈꯥꯏꯕ ꯃꯆꯥꯁꯤꯡ}}, {{PLURAL:$3|1 ꯐꯥꯏꯜ|$3 ꯐꯥꯏꯜꯁꯤꯡ}})",
        "search-redirect": "($1 ꯗꯒꯤ ꯔꯤꯗꯥꯏꯔꯦꯛ)",
-       "search-section": "(section $1)",
+       "search-section": "(ꯁꯔꯨꯛ $1)",
        "search-category": "(ꯃꯆꯥꯈꯥꯏꯕ $1)",
        "search-file-match": "(ꯐꯥꯏꯜ ꯒꯤ ꯌꯥꯎꯕꯁꯤ ꯆꯥꯟꯅꯔꯦ)",
        "search-suggest": "$1 ꯁꯤꯔꯥ ꯅꯪꯅꯥ ꯍꯥꯏꯅꯤꯡꯂꯤꯕꯥꯁꯤ",
index 5fa694e..3830cc2 100644 (file)
        "permanentlink": "Permanente koppeling",
        "permanentlink-revid": "Versienummer",
        "permanentlink-submit": "Naar versie gaan",
+       "newsection": "Nieuw kopje",
+       "newsection-page": "Doelpagina",
+       "newsection-submit": "Naar pagina gaan",
        "dberr-problems": "Onze excuses. Deze site ondervindt op het moment technische problemen.",
        "dberr-again": "Wacht een aantal minuten en probeer het daarna opnieuw.",
        "dberr-info": "(Kan geen toegang krijgen tot de database: $1)",
index a031259..dd70d19 100644 (file)
        "rcfilters-filter-editsbyself-description": "ߌ ߖߘߍ߬ߞߊ߬ߣߌ߲߬ ߓߟߏߓߌߟߊߢߐ߲߯ߞߊ߲.",
        "rcfilters-filter-editsbyother-label": "ߘߏ ߟߎ߬ ߟߊ߫ ߡߊ߬ߦߟߍ߬ߡߊ߲߬ߠߌ߲ ߠߎ߬",
        "rcfilters-filter-editsbyother-description": "ߡߊ߬ߦߟߍ߬ߡߊ߲߬ߠߌ߲ ߓߍ߯ ߝߴߌ ߕߊ ߟߎ߬.",
+       "rcfilters-filtergroup-user-experience-level": "ߟߊ߬ߓߊ߰ߙߊ߬ߟߊ ߟߎ߬ ߕߐ߯ߛߓߍߟߌ ߣߌ߫ ߖߋ߬ߙߌ߲߬ߒ߬ߕߋ߬ߦߊ",
        "rcfilters-filter-user-experience-level-registered-label": "ߕߐ߯ߛߓߍߣߍ߲",
        "rcfilters-filter-user-experience-level-registered-description": "ߡߊ߬ߦߟߍ߬ߡߊ߲߬ߠߊ߫ ߜߊ߲߬ߞߎ߲߬ߣߍ߲ ߠߎ߬",
        "rcfilters-filter-user-experience-level-unregistered-label": "ߕߐ߯ߛߓߍߓߊߟߌ",
        "rcfilters-filter-user-experience-level-unregistered-description": "ߡߊ߬ߦߟߍ߬ߡߊ߲߬ߠߊ ߡߍ߲ ߜߊ߲߬ߞߎ߲߬ߣߍ߲߬ ߕߍ߫.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "ߣߊ߬ߓߊ߰ߕߐ߬ ߞߎߘߊ ߟߎ߬",
+       "rcfilters-filter-user-experience-level-newcomer-description": "ߟߊ߬ߓߊ߰ߙߊ߬ߟߊ߫ ߕߐ߯ߛߓߍߣߍ߲ ߡߍ߲ ߠߊ߫ ߡߊ߬ߦߟߍ߬ߡߊ߲߬ߠߌ߲ ߡߊ߬ ߕߊ߬ߡߌ߲߬ ߁߀ ߞߊ߲߬ ߥߟߴߊ߬ߟߎ߬ ߟߊ߫ ߓߊ߯ߙߊ ߡߊ߫ ߕߊ߬ߡߌ߲߫ ߕߟߋ߬ ߄ ߞߊ߲߬.",
        "rcfilters-filter-user-experience-level-learner-label": "ߞߊ߬ߙߊ߲߬ߠߊ ߟߎ߬",
+       "rcfilters-filter-user-experience-level-learner-description": "ߟߊ߬ߓߊ߰ߙߊ߬ߟߊ߫ ߕߐ߯ߛߓߍߣߍ߲ ߡߍ߲ ߠߊ߫ ߖߋ߬ߙߌ߲߬ߒ߬ߕߋ߬ߦߊ ߦߋ߫ ߣߊ߬ߓߊ߰ߕߐ߬ ߞߎߘߊ ߣߌ߫ ߟߊ߬ߓߊ߰ߙߊ߬ߟߊ߫ ߖߊ߬ߙߌ߲߬ߒߕߋ ߟߎ߬ ߕߍ߫.",
        "rcfilters-filter-user-experience-level-experienced-label": "ߟߊ߬ߓߊ߰ߙߊ߬ߟߊ߫ ߖߊߙߌ߲ߒߕߋ",
        "rcfilters-filter-user-experience-level-experienced-description": "ߟߊ߬ߓߊ߰ߙߊ߬ߟߊ߬ ߕߐ߯ߛߓߍߣߍ߲ ߡߍ߲ ߠߊ߫ ߡߊ߬ߦߟߍ߬ߡߊ߲߬ߠߌ߲ ߓߘߊ߫ ߕߊ߬ߡߌ߲߬ ߅߀߀ ߞߊ߲߬ ߕߟߋ߬ ߃߀ ߓߊ߯ߙߊ߫ ߣߐ.",
        "rcfilters-filtergroup-automated": "ߞߍߒߖߘߍߦߋ߫ ߓߟߏߓߌߟߊߢߐ߲߯ߞߊ߲",
        "rcfilters-filter-humans-label": "ߡߐ߱ (ߓߏߕ  ߕߍ߫)",
        "rcfilters-filter-humans-description": "ߡߐ߱ ߡߊ߬ߦߟߍ߬ߡߊ߲߬ߠߊ ߡߊ߬ߦߟߍ߬ߡߊ߲߬ ߣߐ.",
        "rcfilters-filter-reviewstatus-unpatrolled-label": "ߓߍ߬ߙߍ߲߬ߓߍ߬ߙߍ߲߬ߓߊߟߌ",
+       "rcfilters-filter-reviewstatus-auto-label": "ߞߍߒߖߘߍߦߋ߫ ߓߍ߬ߙߍ߲߬ߓߍ߬ߙߍ߲߬ߣߍ߲",
        "rcfilters-filter-minor-label": "ߡߊ߬ߦߟߍ߬ߡߊ߲߬ߠߌ߲߬ ߘߋ߬ߣߍ߲ ߠߎ߬",
        "rcfilters-filter-major-label": "ߡߊ߬ߦߟߍ߬ߡߊ߲߬ߠߌ߲߬ ߘߋ߬ߣߍ߲ ߕߍ߫",
        "rcfilters-filter-major-description": "ߡߊ߬ߦߟߍ߬ߡߊ߲߬ߠߌ߲ ߕߍ߫ ߘߎ߲ߛߓߍߡߊ߫ ߘߋߣߍ߲ ߝߋ߲߫ ߘߌ߫.",
        "rcfilters-filter-previousrevision-description": "ߡߊ߬ߦߟߍ߬ߡߊ߲߬ߠߌ߲ ߠߎ߬ ߓߍ߯ ߡߍ߲ ߠߎ߬ ߕߍ߫ \"ߟߢߊ߬ߟߌ߬ ߞߐ߯ߟߕߊ߫\" ߘߌ߫.",
        "rcfilters-filter-excluded": "ߊ߬ ߓߘߊ߫ ߟߊߘߏ߲߬ ߊ߬ ߘߐ߫",
        "rcfilters-tag-prefix-namespace-inverted": "<strong>:ߍ߲߬ߍ߲߫</strong> $1",
+       "rcfilters-exclude-button-off": "ߤߊߟߌ߬ ߓߊߕߐ߬ߡߐ߲߬ߣߍ߲",
        "rcfilters-view-namespaces-tooltip": "ߛߍ߲ߛߍ߲ߟߊ߲ ߞߐߝߟߌ ߕߐ߯ߛߓߍ ߞߣߍ ߡߊ߬",
        "rcfilters-view-tags-tooltip": "ߛߍ߲ߛߍ߲ߟߊ߲ ߞߐߝߟߌ ߘߎ߲ߛߓߍ ߡߊߦߟߍ߬ߡߊ߲߬ߠߌ߲ ߡߊ߬",
        "rcfilters-view-return-to-default-tooltip": "ߌ ߞߐߛߊ߬ߦߌ߬ ߛߍ߲ߛߍ߲ߟߊ߲ ߓߏ߬ߟߏ߲߬ߘߊ ߢߣߊߕߊߟߌ ߡߊ߬",
        "randomincategory-submit": "ߕߊ߯",
        "randomredirect": "ߓߍ߲߬ߛߋ߲߬ߡߊ߬ ߟߊߞߎ߲ߛߌ߲ߠߌ߲",
        "statistics": "ߖߊ߬ߕߋ߬ߛߎ߬ߓߐ ߟߎ߬",
+       "statistics-header-pages": "ߞߐߜߍ ߖߊ߬ߕߋ߬ߛߎ߬ߓߐ",
+       "statistics-header-edits": "ߖߊ߬ߕߋ߬ߛߎ߬ߓߐ ߡߊߦߟߍ߬ߡߊ߲߫",
+       "statistics-header-users": "ߟߊ߬ߓߊ߰ߙߊ߬ߟߊ ߟߊ߫ ߖߊ߬ߕߋ߬ߛߎ߬ߓߐ",
+       "statistics-header-hooks": "ߖߊ߬ߕߋ߬ߛߎ߬ߓߐ ߕߐ߭ ߟߎ߬",
        "statistics-articles": "ߞߣߐߘߐ߫ ߞߐߜߍ",
        "statistics-pages": "ߞߐߜߍ ߟߎ߬",
        "statistics-pages-desc": "ߞߐߜߍ ߡߍ߲ ߓߍ߯ ߦߋ߫ ߥߞߌ ߞߊ߲߬߸ ߦߏ߫ ߞߎߡߊߢߐ߲߯ߦߊ߫ ߞߐߜߍ߸ ߟߊ߬ߞߎ߲߬ߛߌ߲߬ߠߌ߲߸ ߊ߬ ߣߌ߫.",
        "statistics-files": "ߞߐߕߐ߮ ߟߊߦߟߍ߬ߣߍ߲ ߠߎ߬",
+       "statistics-edits": "ߞߐߜߍ ߡߊߦߟߍ߬ߡߊ߲ ߡߍ߲ ߞߍߣߍ߲߫ ߞߊ߬ߦߌ߯  {{SITENAME}} ߓߘߊ߫ ߢߊߓߐ߫",
        "statistics-edits-average": "ߡߊ߬ߦߟߍ߬ߡߊ߲߬ߠߌ߲ ߡߎ߰ߡߍ ߡߍ߲ ߞߍߣߍ߲߫ ߞߐߜߍ ߡߊ߬",
        "statistics-users": "ߟߊߓߊ߯ߙߊߓߊ߯ ߛߙߍߘߍߦߊߣߍ߲ ߠߎ߬",
+       "statistics-users-active": "ߟߊ߬ߓߊ߰ߙߊ߬ߟߊ ߞߎ߲߬ߞߍ߲ߘߍ",
        "statistics-users-active-desc": "ߟߊ߬ߓߊ߰ߙߊ߬ߟߊ ߡߍ߲ ߠߎ߬ ߝߊߘߌ߲ߧߊ߫ ߘߊ߫ ߞߏ߫ ߘߏ߫ ߞߍ {{PLURAL:$1|ߕߟߋ߬|$1 ߕߋ߬ߟߋ}} ߟߎ߬ ߞߘߐ߫.",
+       "pageswithprop": "ߞߐߜߍ߫ ߕߌ߯ߦߊ ߦߋ߫ ߞߐߜߍ ߡߍ߲ ߠߎ߬ ߓߟߏ߫",
+       "pageswithprop-legend": "ߞߐߜߍ ߕߌ߰ߦߊ ߦߋ߫ ߞߐߜߍ ߡߍ߲ ߠߎ߬ ߓߟߏ߫",
        "pageswithprop-submit": "ߕߊ߯",
        "double-redirect-fixer": "ߟߊ߬ߞߎ߲߬ߛߌ߲߬ߠߌ߲ ߘߐߓߍ߲߬ߟߊ߲",
        "brokenredirects-edit": "ߊ߬ ߡߊߦߟߍ߬ߡߊ߲߬",
        "whatlinkshere-hideimages": "ߞߐߕߐ߮ ߛߘߌ߬ߜߋ߲$1",
        "whatlinkshere-filters": "ߢߡߊߘߏ߲߰ߣߍ߲",
        "ipboptions": "ߕߎ߬ߡߊ߬ߙߋ߲ ߂:2 hours, ߕߟߋ߬ ߁:1 day, ߕߋ߬ߟߋ ߃:3 days,ߞߎ߲߬ߢߐ߰ ߁:1 week, ߞߎ߲߬ߢߐ߮ ߂:2 weeks, ߞߊߙߏ߫ ߁:1 month, ߞߊߙߏ߫ ߃:3 months, ߞߊߙߏ߫ ߆:6 months,ߛߊ߲߬ ߁:1 year,ߤߊ߲߯ ߤߌ߲߯:infinite",
+       "ipb-edit-dropdown": "ߓߊ߬ߟߌ߬ߟߌ ߞߎ߲߭ ߡߊߦߟߍ߬ߡߊ߲߫",
+       "ipb-unblock-addr": "$1 ߓߊ߬ߟߌ߬ߣߍ߲ ߓߐ߫",
+       "ipb-unblock": "ߟߊ߬ߓߊ߰ߙߊ߬ߟߊ ߘߏ߫ ߓߊ߬ߟߌ߬ߣߍ߲ ߓߐ߫ ߥߟߊ߫ IP ߛߊ߲߬ߓߊ߬ߕߐ߮",
+       "ipb-blocklist-contribs": "{{GENDER:$1|$1}} ߟߊ߫ ߓߟߏߓߌߟߊߢߐ߲߮ߞߊ߲",
+       "ipb-blocklist-duration-left": "ߞߵߊ߬ ߕߊ߬ $1",
+       "block-actions": "ߝߏ߲߬ߝߏ߲ ߓߊ߬ߟߌ߬ߕߊ:",
+       "block-expiry": "ߛߕߊ ߝߊ߫ ߕߎߡߊ:",
+       "block-options": "ߢߣߊߕߊߟߌ߫ ߡߞߊ߬ߝߏ߬ߟߌ߬ ߜߘߍ߫",
+       "block-prevent-edit": "ߡߊ߬ߦߟߍ߬ߡߊ߲߬ߠߌ߲ ߦߴߌ ߘߐ߫",
+       "block-reason": "ߊ߬ ߛߊߓߎ:",
+       "block-target": "ߟߊ߬ߓߊ߰ߙߊ߬ߟߌ߬ ߕߐ߮ ߥߟߊ߫ IP ߛߊ߲߬ߓߊ߬ߕߐ߮:",
+       "unblockip": "ߟߊ߬ߓߊ߰ߙߊ߬ߟߊ ߓߊ߬ߟߊ߲߬ߣߍ߲ ߓߐ߫",
+       "ipusubmit": "ߓߊ߬ߟߌ߬ߟߌ ߣߌ߲߬ ߓߐ߫ ߦߋ߲߬",
+       "unblocked": "[[User:$1|$1]] ߓߊ߬ߟߌ߬ߣߍ߲ ߓߘߊ߫ ߓߐ߫.",
+       "unblocked-range": "$1 ߓߊ߬ߟߌ߬ߣߍ߲ ߓߘߊ߫ ߓߐ߫.",
+       "unblocked-id": "ߓߊ߬ߟߌ߬ߟߌ $1 ߓߘߊ߫ ߓߴߊ߬ ߞߊ߲߬.",
+       "unblocked-ip": "[[Special:Contributions/$1|$1]] ߓߊ߬ߟߌ߬ߣߍ߲ ߓߘߊ߫ ߓߐ߫.",
+       "blocklist": "ߟߊ߬ߓߊ߰ߙߊ߬ߟߊ ߓߊ߬ߟߌ߬ߣߍ߲ ߠߎ߬",
+       "autoblocklist": "ߞߍߒߖߘߍߦߋ߫ ߓߊߟߌߟߌ",
+       "autoblocklist-submit": "ߊ߬ ߢߌߣߌ߲߫",
+       "autoblocklist-legend": "ߞߍߒߖߘߍߦߋ߫ ߓߊߟߌߟߌ ߟߎ߬ ߛߙߍߘߍ",
        "infiniteblock": "ߘߊ߲߬ߓߊߟߌ",
        "blocklink": "ߟߊ߬ߢߊ߬ߙߊ߲߬ߠߌ",
        "contribslink": "ߓߟߏߡߊߜߍ߲",
index 62b7ac4..0b791d6 100644 (file)
        "permanentlink": "Link trwały do wersji",
        "permanentlink-revid": "ID wersji",
        "permanentlink-submit": "Przejdź do wersji",
+       "newsection": "Nowa sekcja",
+       "newsection-page": "Strona docelowa",
+       "newsection-submit": "Przejdź do strony",
        "dberr-problems": "Przepraszamy! Witryna ma problemy techniczne.",
        "dberr-again": "Spróbuj przeładować stronę za kilka minut.",
        "dberr-info": "(Błąd łączności z bazą danych: $1)",
index 4b45ac0..d7167ba 100644 (file)
        "permanentlink": "Ligação permanente",
        "permanentlink-revid": "ID da revisão",
        "permanentlink-submit": "Ir para revisão",
+       "newsection": "Nova seção",
+       "newsection-page": "Página de destino",
+       "newsection-submit": "Ir para página",
        "dberr-problems": "Desculpe! Este sítio está passando por dificuldades técnicas.",
        "dberr-again": "Experimente esperar alguns minutos e atualizar.",
        "dberr-info": "(Não pode acessar a base de dados: $1)",
index d8fd29a..d3f8b0a 100644 (file)
        "permanentlink": "Постоянная ссылка",
        "permanentlink-revid": "Идентификатор правки",
        "permanentlink-submit": "Перейти к версии",
+       "newsection": "Новый раздел",
+       "newsection-page": "Целевая страница",
+       "newsection-submit": "Перейти к странице",
        "dberr-problems": "Извините! На данном сайте возникли технические трудности.",
        "dberr-again": "Попробуйте обновить страницу через несколько минут.",
        "dberr-info": "(Нет доступа к базе данных: $1)",
index f5b823e..f5bbc2f 100644 (file)
        "nowiki_sample": "Dodaj neformatirani tekst ovdje",
        "nowiki_tip": "Ignoriraj wiki formatiranje",
        "image_tip": "Uklopljena datoteka/fajl",
-       "media_tip": "Putanja ka multimedijalnoj datoteci/fajlu",
+       "media_tip": "Veza do datoteke/fajla",
        "sig_tip": "Vaš potpis sa trenutnim vremenom",
        "hr_tip": "Horizontalna linija (koristite rijetko)",
        "summary": "Sažetak:",
        "permanentlink": "Trajni link",
        "permanentlink-revid": "Naznaka izmjene",
        "permanentlink-submit": "Idi na izmjenu",
+       "newsection": "Novi podnaslov",
+       "newsection-page": "Ciljna stranica",
+       "newsection-submit": "Idi na stranicu",
        "dberr-problems": "Žao nam je! Ova stranica ima tehničke poteškoće.",
        "dberr-again": "Pokušajte pričekati nekoliko minuta i ponovno učitati.",
        "dberr-info": "(Ne mogu pristupiti bazi podataka: $1)",
index ddae17d..820deb6 100644 (file)
@@ -20,6 +20,7 @@
  * @file
  * @ingroup Maintenance
  */
+use Wikimedia\AtEase\AtEase;
 
 require_once __DIR__ . '/Maintenance.php';
 
@@ -34,83 +35,66 @@ class MinifyScript extends Maintenance {
        public function __construct() {
                parent::__construct();
                $this->addOption( 'outfile',
-                       'File for output. Only a single file may be specified for input.',
-                       false, true );
-               $this->addOption( 'outdir',
-                       "Directory for output. If this is not specified, and neither is --outfile, then the\n" .
-                       "output files will be sent to the same directories as the input files.",
-                       false, true );
-               $this->addDescription( "Minify a file or set of files.\n\n" .
-                       "If --outfile is not specified, then the output file names will have a .min extension\n" .
-                       "added, e.g. jquery.js -> jquery.min.js."
+                       'Write minified output to this file (instead of standard out).',
+                       false, true, 'o'
+               );
+               $this->addOption( 'type',
+                       'Override the input type (one of "js" or "css"). Defaults to file extension. ' .
+                               'Required if reading from standard input.',
+                       false, true, 'o'
+               );
+               $this->addArg( 'file', 'Input file. Use - to read from standard input.' );
+               $this->addDescription(
+                       "Minify one or more JavaScript or CSS files.\n" .
+                               "If multiple input files are given, they will be concatenated."
                );
        }
 
        public function execute() {
-               if ( !count( $this->mArgs ) ) {
-                       $this->fatalError( "minify.php: At least one input file must be specified." );
-               }
-
-               if ( $this->hasOption( 'outfile' ) ) {
-                       if ( count( $this->mArgs ) > 1 ) {
-                               $this->fatalError( '--outfile may only be used with a single input file.' );
+               $outputFile = $this->getOption( 'outfile', false );
+               if ( $outputFile === false ) {
+                       // Only output the minified result (or errors)
+                       // Avoid output() because this should not honour --quiet
+                       foreach ( $this->mArgs as $arg ) {
+                               print $this->minify( $arg ) . "\n";
                        }
-
-                       // Minify one file
-                       $this->minify( $this->getArg( 0 ), $this->getOption( 'outfile' ) );
-
-                       return;
-               }
-
-               $outDir = $this->getOption( 'outdir', false );
-
-               foreach ( $this->mArgs as $arg ) {
-                       $inPath = realpath( $arg );
-                       $inName = basename( $inPath );
-                       $inDir = dirname( $inPath );
-
-                       if ( strpos( $inName, '.min.' ) !== false ) {
-                               $this->error( "Skipping $inName\n" );
-                               continue;
+               } else {
+                       $result = '';
+                       foreach ( $this->mArgs as $arg ) {
+                               $this->output( "Minifying {$arg} ...\n" );
+                               $result .= $this->minify( $arg );
                        }
-
-                       if ( !file_exists( $inPath ) ) {
-                               $this->fatalError( "File does not exist: $arg" );
-                       }
-
-                       $extension = $this->getExtension( $inName );
-                       $outName = substr( $inName, 0, -strlen( $extension ) ) . 'min.' . $extension;
-                       if ( $outDir === false ) {
-                               $outPath = $inDir . '/' . $outName;
-                       } else {
-                               $outPath = $outDir . '/' . $outName;
-                       }
-
-                       $this->minify( $inPath, $outPath );
+                       $this->output( "Writing to {$outputFile} ...\n" );
+                       file_put_contents( $outputFile, $result );
+                       $this->output( "Done!\n" );
                }
        }
 
        public function getExtension( $fileName ) {
                $dotPos = strrpos( $fileName, '.' );
                if ( $dotPos === false ) {
-                       $this->fatalError( "No file extension, cannot determine type: $fileName" );
+                       $this->fatalError( "Unknown file type ($fileName). Use --type." );
                }
-
                return substr( $fileName, $dotPos + 1 );
        }
 
-       public function minify( $inPath, $outPath ) {
-               $extension = $this->getExtension( $inPath );
-               $this->output( basename( $inPath ) . ' -> ' . basename( $outPath ) . '...' );
-
-               $inText = file_get_contents( $inPath );
-               if ( $inText === false ) {
-                       $this->fatalError( "Unable to open file $inPath for reading." );
-               }
-               $outFile = fopen( $outPath, 'w' );
-               if ( !$outFile ) {
-                       $this->fatalError( "Unable to open file $outPath for writing." );
+       private function readFile( $fileName ) {
+               if ( $fileName === '-' ) {
+                       $inText = $this->getStdin( self::STDIN_ALL );
+               } else {
+                       AtEase::suppressWarnings();
+                       $inText = file_get_contents( $fileName );
+                       AtEase::restoreWarnings();
+                       if ( $inText === false ) {
+                               $this->fatalError( "Unable to open file $fileName for reading." );
+                       }
                }
+               return $inText;
+       }
+
+       public function minify( $inPath ) {
+               $extension = $this->getOption( 'type', null ) ?? $this->getExtension( $inPath );
+               $inText = $this->readFile( $inPath );
 
                switch ( $extension ) {
                        case 'js':
@@ -120,12 +104,10 @@ class MinifyScript extends Maintenance {
                                $outText = CSSMin::minify( $inText );
                                break;
                        default:
-                               $this->error( "No minifier defined for extension \"$extension\"" );
+                               $this->fatalError( "Unsupported file type \"$extension\"." );
                }
 
-               fwrite( $outFile, $outText );
-               fclose( $outFile );
-               $this->output( " ok\n" );
+               return $outText;
        }
 }
 
index 7046a7f..6599041 100644 (file)
@@ -15817,7 +15817,7 @@ parsoid=wt2html,wt2wt,html2html
 ###################
 
 !! test
-Link to image page- image page normally doesn't exists, hence edit link
+Link to image page- image page normally doesn't exist, hence edit link
 Add test with existing image page
 #<p><a href="/wiki/File:Test" title="Image:Test">Image:test</a>
 !! wikitext
index 913f56d..a40b292 100644 (file)
@@ -810,7 +810,7 @@ class TitleTest extends MediaWikiTestCase {
                // Tell Title it doesn't know whether it exists
                $title->mArticleID = -1;
 
-               // Tell the link cache it doesn't exists when it really does
+               // Tell the link cache it doesn't exist when it really does
                $linkCache->clearLink( $title );
                $linkCache->addBadLinkObj( $title );