Merge "Rephrase 'upload-foreign-cant-load-config' for clarity"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Mon, 20 Jun 2016 18:14:25 +0000 (18:14 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Mon, 20 Jun 2016 18:14:25 +0000 (18:14 +0000)
93 files changed:
docs/hooks.txt
includes/EditPage.php
includes/actions/HistoryAction.php
includes/api/ApiStashEdit.php
includes/api/i18n/da.json [new file with mode: 0644]
includes/api/i18n/diq.json
includes/api/i18n/it.json
includes/api/i18n/ja.json
includes/api/i18n/ko.json
includes/api/i18n/mr.json
includes/api/i18n/pt-br.json
includes/api/i18n/sah.json [new file with mode: 0644]
includes/api/i18n/sv.json
includes/api/i18n/uk.json
includes/api/i18n/zh-hans.json
includes/auth/AbstractPreAuthenticationProvider.php
includes/auth/AbstractPrimaryAuthenticationProvider.php
includes/auth/AbstractSecondaryAuthenticationProvider.php
includes/auth/AuthManager.php
includes/auth/CheckBlocksSecondaryAuthenticationProvider.php
includes/auth/LegacyHookPreAuthenticationProvider.php
includes/auth/PreAuthenticationProvider.php
includes/auth/PrimaryAuthenticationProvider.php
includes/auth/SecondaryAuthenticationProvider.php
includes/installer/i18n/be-tarask.json
includes/installer/i18n/fa.json
includes/installer/i18n/fi.json
includes/installer/i18n/it.json
includes/installer/i18n/ko.json
includes/installer/i18n/oc.json
includes/installer/i18n/pl.json
includes/installer/i18n/uk.json
includes/parser/CacheTime.php
includes/parser/Parser.php
includes/specials/pagers/ContribsPager.php
includes/user/PasswordReset.php
languages/i18n/ar.json
languages/i18n/ast.json
languages/i18n/azb.json
languages/i18n/be-tarask.json
languages/i18n/bs.json
languages/i18n/ca.json
languages/i18n/diq.json
languages/i18n/el.json
languages/i18n/en.json
languages/i18n/es.json
languages/i18n/fa.json
languages/i18n/fi.json
languages/i18n/fr.json
languages/i18n/gd.json
languages/i18n/he.json
languages/i18n/hu.json
languages/i18n/inh.json
languages/i18n/it.json
languages/i18n/ja.json
languages/i18n/jam.json
languages/i18n/jv.json
languages/i18n/ka.json
languages/i18n/ko.json
languages/i18n/ksh.json
languages/i18n/mr.json
languages/i18n/nah.json
languages/i18n/nl.json
languages/i18n/oc.json
languages/i18n/pl.json
languages/i18n/pt-br.json
languages/i18n/pt.json
languages/i18n/qqq.json
languages/i18n/sah.json
languages/i18n/sr-ec.json
languages/i18n/sv.json
languages/i18n/tr.json
languages/i18n/uk.json
languages/i18n/ur.json
languages/i18n/yi.json
languages/i18n/zh-hans.json
languages/i18n/zh-hant.json
maintenance/dumpUploads.php
maintenance/importTextFiles.php
maintenance/invalidateUserSessions.php [new file with mode: 0644]
maintenance/resetUserTokens.php
resources/Resources.php
resources/src/mediawiki.action/mediawiki.action.edit.stash.js
resources/src/mediawiki.action/mediawiki.action.history.css
resources/src/mediawiki.action/mediawiki.action.history.styles.css [new file with mode: 0644]
tests/phpunit/includes/api/ApiQueryWatchlistIntegrationTest.php
tests/phpunit/includes/api/ApiQueryWatchlistRawIntegrationTest.php [new file with mode: 0644]
tests/phpunit/includes/api/ApiStashEditTest.php [new file with mode: 0644]
tests/phpunit/includes/auth/LegacyHookPreAuthenticationProviderTest.php
tests/phpunit/includes/debug/logger/monolog/KafkaHandlerTest.php
tests/phpunit/includes/phpunit/ConsecutiveParametersMatcher.php [deleted file]
tests/phpunit/includes/phpunit/LICENSE [deleted file]
tests/phpunit/includes/phpunit/README [deleted file]

index 1d11893..44f2551 100644 (file)
@@ -2866,6 +2866,12 @@ $id: User id number, only provided for backwards-compatibility
 $user: User object representing user contributions are being fetched for
 $sp: SpecialPage instance, providing context
 
+'SpecialContributions::formatRow::flags': Called before rendering a
+Special:Contributions row.
+$context: IContextSource object
+$row: Revision information from the database
+&$flags: List of flags on this row
+
 'SpecialContributions::getForm::filters': Called with a list of filters to render
 on Special:Contributions.
 $sp: SpecialContributions object, for context
index 66ee161..3292f70 100644 (file)
@@ -2242,10 +2242,6 @@ class EditPage {
                        $wgOut->addModules( 'mediawiki.action.edit.editWarning' );
                }
 
-               if ( $wgAjaxEditStash ) {
-                       $wgOut->addModules( 'mediawiki.action.edit.stash' );
-               }
-
                # Enabled article-related sidebar, toplinks, etc.
                $wgOut->setArticleRelated( true );
 
@@ -2273,7 +2269,10 @@ class EditPage {
                $wgOut->setPageTitle( wfMessage( $msg, $displayTitle ) );
                # Transmit the name of the message to JavaScript for live preview
                # Keep Resources.php/mediawiki.action.edit.preview in sync with the possible keys
-               $wgOut->addJsConfigVars( 'wgEditMessage', $msg );
+               $wgOut->addJsConfigVars( [
+                       'wgEditMessage' => $msg,
+                       'wgAjaxEditStash' => $wgAjaxEditStash,
+               ] );
        }
 
        /**
index 5ec10e6..63fe97b 100644 (file)
@@ -116,6 +116,7 @@ class HistoryAction extends FormlessAction {
                // Setup page variables.
                $out->setFeedAppendQuery( 'action=history' );
                $out->addModules( 'mediawiki.action.history' );
+               $out->addModuleStyles( 'mediawiki.action.history.styles' );
                if ( $config->get( 'UseMediaWikiUIEverywhere' ) ) {
                        $out = $this->getOutput();
                        $out->addModuleStyles( [
index 67939a0..c8a330a 100644 (file)
@@ -234,27 +234,34 @@ class ApiStashEdit extends ApiBase {
 
                $age = time() - wfTimestamp( TS_UNIX, $editInfo->output->getCacheTime() );
                if ( $age <= self::PRESUME_FRESH_TTL_SEC ) {
+                       // Assume nothing changed in this time
                        $stats->increment( 'editstash.cache_hits.presumed_fresh' );
                        $logger->debug( "Timestamp-based cache hit for key '$key' (age: $age sec)." );
-                       return $editInfo; // assume nothing changed
                } elseif ( isset( $editInfo->edits ) && $editInfo->edits === $user->getEditCount() ) {
                        // Logged-in user made no local upload/template edits in the meantime
                        $stats->increment( 'editstash.cache_hits.presumed_fresh' );
                        $logger->debug( "Edit count based cache hit for key '$key' (age: $age sec)." );
-                       return $editInfo;
                } elseif ( $user->isAnon()
                        && self::lastEditTime( $user ) < $editInfo->output->getCacheTime()
                ) {
                        // Logged-out user made no local upload/template edits in the meantime
                        $stats->increment( 'editstash.cache_hits.presumed_fresh' );
                        $logger->debug( "Edit check based cache hit for key '$key' (age: $age sec)." );
-                       return $editInfo;
+               } else {
+                       // User may have changed included content
+                       $editInfo = false;
                }
 
-               $stats->increment( 'editstash.cache_misses.proven_stale' );
-               $logger->info( "Stale cache for key '$key'; old key with outside edits. (age: $age sec)" );
+               if ( !$editInfo ) {
+                       $stats->increment( 'editstash.cache_misses.proven_stale' );
+                       $logger->info( "Stale cache for key '$key'; old key with outside edits. (age: $age sec)" );
+               } elseif ( $editInfo->output->getFlag( 'vary-revision' ) ) {
+                       // This can be used for the initial parse, e.g. for filters or doEditContent(),
+                       // but a second parse will be triggered in doEditUpdates(). This is not optimal.
+                       $logger->info( "Partially usable cache for key '$key' ('$title') [vary_revision]." );
+               }
 
-               return false;
+               return $editInfo;
        }
 
        /**
@@ -318,8 +325,6 @@ class ApiStashEdit extends ApiBase {
                $ttl = min( $parserOutput->getCacheExpiry() - $since, self::MAX_CACHE_TTL );
                if ( $ttl <= 0 ) {
                        return [ null, 0, 'no_ttl' ];
-               } elseif ( $parserOutput->getFlag( 'vary-revision' ) ) {
-                       return [ null, 0, 'vary_revision' ];
                }
 
                // Only store what is actually needed
diff --git a/includes/api/i18n/da.json b/includes/api/i18n/da.json
new file mode 100644 (file)
index 0000000..bbb981b
--- /dev/null
@@ -0,0 +1,8 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Sarrus"
+               ]
+       },
+       "apihelp-feedrecentchanges-param-hideminor": "Skjul mindre ændringer."
+}
index 1ab1bc5..4e54dda 100644 (file)
@@ -34,5 +34,6 @@
        "apihelp-login-param-password": "Parola.",
        "apihelp-login-param-domain": "Domain (optional).",
        "apihelp-login-example-login": "Dekew.",
-       "apihelp-move-description": "Yew pele bere."
+       "apihelp-move-description": "Yew pele bere.",
+       "apihelp-query+alllinks-paramvalue-prop-title": "Sernamey rê link dek"
 }
index 948ac03..f379348 100644 (file)
@@ -13,7 +13,8 @@
                        "Nemo bis",
                        "JackLantern",
                        "Urielejh",
-                       "Matteocng"
+                       "Matteocng",
+                       "Einreiher"
                ]
        },
        "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-stashedit-param-sectiontitle": "Il titolo per una nuova sezione.",
        "apihelp-stashedit-param-text": "Contenuto della pagina.",
        "apihelp-stashedit-param-contentmodel": "Modello di contenuto dei nuovi contenuti.",
-       "apihelp-stashedit-param-summary": "Modifica riepilogo.",
+       "apihelp-stashedit-param-summary": "Oggetto della modifica.",
        "apihelp-tag-param-reason": "Motivo per la modifica.",
        "apihelp-tokens-param-type": "Tipi di token da richiedere.",
        "apihelp-tokens-example-edit": "Recupera un token di modifica (il predefinito).",
        "api-help-authmanagerhelper-messageformat": "Formato da utilizzare per per la restituzione dei messaggi.",
        "api-help-authmanagerhelper-preservestate": "Conserva lo stato da un precedente tentativo di accesso non riuscito, se possibile.",
        "api-help-authmanagerhelper-returnurl": "URL di ritorno per i flussi di autenticazione di terze parti, deve essere assoluto. E' necessario fornirlo, oppure va fornito <var>$1continue</var>.\n\nAlla ricezione di una risposta <samp>REDIRECT</samp>, in genere si apre un browser o una vista web all'URL specificato <samp>redirecttarget</samp> per un flusso di autenticazione di terze parti. Quando questo è completato, la terza parte invierà il browser o la vista web a questo URL. Dovresti estrarre qualsiasi parametro POST o della richiesta dall'URL e passarli come un request <var>$1continue</var> a questo modulo API.",
-       "api-help-authmanagerhelper-continue": "Questa richiesta è una continuazione dopo una precedente risposta <samp>UI</samp> o <samp>REDIRECT</samp>. È necessario fornire questo oppure <var>$1returnurl</var>.",
+       "api-help-authmanagerhelper-continue": "Questa richiesta è una continuazione dopo una precedente risposta <samp>UI</samp> o <samp>REDIRECT</samp>. È necessario fornirlo, oppure fornire <var>$1returnurl</var>.",
        "api-help-authmanagerhelper-additional-params": "Questo modulo accetta parametri aggiuntivi a seconda delle richieste di autenticazione disponibili. Utilizza <kbd>[[Special:ApiHelp/query+authmanagerinfo|action=query&meta=authmanagerinfo]]</kbd> con <kbd>amirequestsfor=$1</kbd> (o una precedente risposta da questo modulo, se applicabile) per determinare le richieste disponibili e i campi usati da queste.",
        "api-credits-header": "Crediti"
 }
index d6596b1..e56e042 100644 (file)
        "apihelp-query+deletedrevisions-param-excludeuser": "この利用者による版を一覧表示しない。",
        "apihelp-query+deletedrevisions-example-titles": "ページ <kbd>Main Page</kbd> および <kbd>Talk:Main Page</kbd> の削除された版とその内容を一覧表示する。",
        "apihelp-query+deletedrevisions-example-revids": "削除された版 <kbd>123456</kbd> に関する情報を一覧表示する。",
+       "apihelp-query+deletedrevs-paraminfo-modes": "{{PLURAL:$1|モード}}: $2",
        "apihelp-query+deletedrevs-param-start": "列挙の始点となるタイムスタンプ。",
        "apihelp-query+deletedrevs-param-end": "列挙の終点となるタイムスタンプ。",
        "apihelp-query+deletedrevs-param-from": "列挙の始点となるページ名。",
index d352a3a..a826f60 100644 (file)
        "apihelp-delete-example-simple": "<kbd>Main Page</kbd>를 삭제합니다.",
        "apihelp-disabled-description": "이 모듈은 해제되었습니다.",
        "apihelp-edit-description": "문서를 만들고 편집합니다.",
+       "apihelp-edit-param-section": "문단 번호입니다. <kbd>0</kbd>은 최상위 문단, <kbd>new</kbd>는 새 문단입니다.",
        "apihelp-edit-param-sectiontitle": "새 문단을 위한 제목.",
        "apihelp-edit-param-text": "문서 내용.",
        "apihelp-edit-param-summary": "편집 요약. 또한 $1section=new 및 $1sectiontitle이 설정되어 있지 않을 때 문단 제목.",
        "apihelp-edit-param-minor": "사소한 편집.",
        "apihelp-edit-param-notminor": "사소하지 않은 편집.",
        "apihelp-edit-param-bot": "이 편집을 봇으로 표시.",
+       "apihelp-edit-param-createonly": "이 페이지가 이미 존재하면 편집하지 않습니다.",
        "apihelp-edit-param-nocreate": "페이지가 존재하지 않으면 오류를 출력합니다.",
        "apihelp-edit-param-watch": "문서를 현재 사용자의 주시문서 목록에 추가합니다.",
        "apihelp-edit-param-unwatch": "문서를 현재 사용자의 주시문서 목록에서 제거합니다.",
        "apihelp-feedcontributions-param-namespace": "기여를 분류할 이름공간",
        "apihelp-feedcontributions-param-deletedonly": "삭제된 기여만 봅니다.",
        "apihelp-feedcontributions-param-toponly": "최신 판인 편집만 봅니다.",
+       "apihelp-feedcontributions-param-hideminor": "사소한 편집을 숨깁니다.",
+       "apihelp-feedcontributions-param-showsizediff": "판 사이의 크기 차이를 보여줍니다.",
        "apihelp-feedrecentchanges-param-feedformat": "피드 포맷.",
        "apihelp-feedrecentchanges-param-invert": "선택한 항목을 제외한 모든 이름공간.",
+       "apihelp-feedrecentchanges-param-from": "이후의 변경 사항을 보여줍니다.",
        "apihelp-feedrecentchanges-param-hideminor": "사소한 편집을 숨깁니다.",
        "apihelp-feedrecentchanges-param-hidebots": "봇의 편집을 숨깁니다.",
        "apihelp-feedrecentchanges-param-hideanons": "익명 사용자의 편집을 숨깁니다.",
        "apihelp-feedrecentchanges-param-hideliu": "등록된 사용자의 편집을 숨깁니다.",
        "apihelp-feedrecentchanges-param-hidepatrolled": "검토된 편집을 숨깁니다.",
+       "apihelp-feedrecentchanges-param-hidemyself": "현재 사용자가 변경한 사항을 숨깁니다.",
        "apihelp-feedrecentchanges-param-tagfilter": "태그로 분류",
        "apihelp-feedrecentchanges-example-simple": "최근 바뀜을 봅니다.",
        "apihelp-feedrecentchanges-example-30days": "30일간의 최근 바뀜을 봅니다.",
+       "apihelp-feedwatchlist-description": "주시문서 목록 피드를 반환합니다.",
+       "apihelp-feedwatchlist-param-feedformat": "피드 포맷.",
+       "apihelp-feedwatchlist-example-default": "주시문서 목록 피드를 보여줍니다.",
        "apihelp-filerevert-description": "파일을 이전 판으로 되돌립니다.",
        "apihelp-filerevert-example-revert": "<kbd>Wiki.png</kbd>를 <kbd>2011-03-05T15:27:40Z</kbd> 판으로 되돌립니다.",
+       "apihelp-help-description": "지정된 모듈의 도움말을 보여줍니다.",
        "apihelp-help-param-helpformat": "도움말 출력 포맷.",
        "apihelp-import-param-xml": "업로드한 XML 파일.",
        "apihelp-login-param-name": "계정 이름.",
        "apihelp-login-param-password": "비밀번호.",
        "apihelp-login-param-domain": "도메인 (선택).",
        "apihelp-login-example-login": "로그인.",
+       "apihelp-mergehistory-description": "문서 역사를 합칩니다.",
        "apihelp-mergehistory-param-reason": "문서 병합 이유.",
        "apihelp-move-description": "문서 이동하기.",
        "apihelp-move-param-reason": "제목을 변경하는 이유",
        "apihelp-opensearch-description": "OpenSearch 프로토콜을 이용하여 위키 검색하기",
        "apihelp-opensearch-param-search": "문자열 검색",
        "apihelp-opensearch-param-limit": "반환할 결과의 최대 수",
+       "apihelp-opensearch-param-namespace": "검색할 이름공간.",
        "apihelp-opensearch-param-format": "출력 포맷.",
        "apihelp-options-param-reset": "사이트 기본으로 설정 초기화",
        "apihelp-options-example-reset": "모든 설정 초기화",
        "apihelp-paraminfo-param-helpformat": "도움말 문자열 포맷.",
+       "apihelp-parse-example-page": "페이지의 구문을 분석합니다.",
+       "apihelp-parse-example-text": "위키텍스트의 구문을 분석합니다.",
+       "apihelp-parse-example-summary": "요약을 구문 분석합니다.",
+       "apihelp-protect-description": "문서의 보호 수준을 변경합니다.",
        "apihelp-protect-param-reason": "보호 또는 보호 해제의 이유.",
        "apihelp-protect-example-protect": "문서 보호",
+       "apihelp-purge-param-forcelinkupdate": "링크 테이블을 업데이트합니다.",
        "apihelp-query+allmessages-example-ipb": "<kbd>ipb-</kbd>로 시작하는 메시지를 보입니다.",
        "apihelp-query+allrevisions-description": "모든 판 표시.",
        "apihelp-query+pageswithprop-param-limit": "나타낼 문서의 최대 수입니다.",
index 432d9c0..d88e0ec 100644 (file)
@@ -98,5 +98,6 @@
        "apihelp-query+watchlist-paramvalue-type-log": "नोंद प्रविष्ट्या",
        "apihelp-query+watchlist-paramvalue-type-categorize": "वर्ग सदस्यता बदलते.",
        "apihelp-stashedit-param-title": "पानाच्या मथळ्याचे संपादन होत आहे.",
-       "apihelp-stashedit-param-sectiontitle": "नविन विभागाचा मथळा"
+       "apihelp-stashedit-param-sectiontitle": "नविन विभागाचा मथळा",
+       "apihelp-stashedit-param-summary": "सारांश बदला."
 }
index a72b088..38af0cb 100644 (file)
@@ -7,7 +7,9 @@
                        "Rhcastilhos",
                        "Macofe",
                        "Almondega",
-                       "Raphaelras"
+                       "Raphaelras",
+                       "Caçador de Palavras",
+                       "LucyDiniz"
                ]
        },
        "apihelp-main-param-action": "Qual ação executar.",
        "apihelp-stashedit-param-text": "Conteúdo da página",
        "apihelp-stashedit-param-contentmodel": "Modelo de conteúdo do novo conteúdo.",
        "apihelp-stashedit-param-contentformat": "Formato de serialização de conteúdo usado para o texto de entrada.",
+       "apihelp-stashedit-param-summary": "Mudar sumário.",
        "apihelp-tag-param-reason": "Motivo para a mudança.",
        "apihelp-unblock-description": "Desbloquear usuário",
        "apihelp-unblock-param-id": "ID do bloco para desbloquear (obtido através de <kbd>list=blocks</kbd>). Não pode ser usado em conjunto com <var>$1user</var>.",
diff --git a/includes/api/i18n/sah.json b/includes/api/i18n/sah.json
new file mode 100644 (file)
index 0000000..aa0cc9a
--- /dev/null
@@ -0,0 +1,8 @@
+{
+       "@metadata": {
+               "authors": [
+                       "София"
+               ]
+       },
+       "apihelp-stashedit-param-summary": "Резюмены уларыт"
+}
index 5de1dee..67946dd 100644 (file)
        "apihelp-query+langbacklinks-example-simple": "Hämta sidor som länkar till [[:fr:Test]].",
        "apihelp-query+langlinks-param-dir": "Riktningen att lista mot.",
        "apihelp-query+links-param-dir": "Riktningen att lista mot.",
+       "apihelp-query+prefixsearch-param-profile": "Sök profil att använda.",
        "apihelp-query+protectedtitles-param-limit": "Hur många sidor att returnera totalt.",
        "apihelp-query+protectedtitles-example-simple": "Lista skyddade titlar.",
        "apihelp-query+recentchanges-example-simple": "Lista de senaste ändringarna.",
index 0802c53..a2879ce 100644 (file)
@@ -41,6 +41,7 @@
        "apihelp-block-example-ip-simple": "Блокувати IP-адресу <kbd>192.0.2.5</kbd> на три дні з причиною <kbd>First strike</kbd>.",
        "apihelp-block-example-user-complex": "Блокувати користувача<kbd>Vandal</kbd> на невизначений термін з причиною <kbd>Vandalism</kbd> і заборонити створення нових облікових записів та надсилання електронної пошти.",
        "apihelp-changeauthenticationdata-description": "Зміна параметрів аутентифікації для поточного користувача.",
+       "apihelp-changeauthenticationdata-example-password": "Спроба змінити поточний пароль користувача на <kbd>ExamplePassword</kbd>.",
        "apihelp-checktoken-description": "Перевірити коректність токена з <kbd>[[Special:ApiHelp/query+tokens|action=query&meta=tokens]]</kbd>.",
        "apihelp-checktoken-param-type": "Тип токена, який тестується.",
        "apihelp-checktoken-param-token": "Токен для тесту.",
@@ -48,6 +49,9 @@
        "apihelp-checktoken-example-simple": "Перевірити дійсність токена <kbd>csrf</kbd>.",
        "apihelp-clearhasmsg-description": "Очищає прапорець <code>hasmsg</code> для поточного користувача.",
        "apihelp-clearhasmsg-example-1": "Очистити прапорець <code>hasmsg</code> для поточного користувача.",
+       "apihelp-clientlogin-description": "Увійдіть у вікі з допомогою інтерактивного потоку.",
+       "apihelp-clientlogin-example-login": "Почати процес входу у вікі як користувач <kbd>Example</kbd> з паролем <kbd>ExamplePassword</kbd>.",
+       "apihelp-clientlogin-example-login2": "Продовжити вхід в систему після відповіді <samp>UI</samp> для двофакторної автентифікації, надаючи <var>OATHToken</var> як <kbd>987654</kbd>.",
        "apihelp-compare-description": "Отримати порівняння двох сторінок.\n\nПовинні бути номер версії, назва сторінки або ID сторінки для «від» і «до».",
        "apihelp-compare-param-fromtitle": "Перший заголовок для порівняння.",
        "apihelp-compare-param-fromid": "Перший ID сторінки для порівняння.",
        "apihelp-import-param-namespace": "Імпортувати у цей простір назв. Не можна використати разом з <var>$1rootpage</var>.",
        "apihelp-import-param-rootpage": "Імпортувати як підсторінку цієї сторінки. Не можна використати разом з <var>$1namespace</var>.",
        "apihelp-import-example-import": "Імпортувати [[meta:Help:ParserFunctions]] у простір назв 100 з повною історією.",
-       "apihelp-login-description": "УвÑ\96йÑ\82и Ð² Ñ\81иÑ\81Ñ\82емÑ\83 Ð¹ Ð¾Ñ\82Ñ\80имаÑ\82и ÐºÑ\83ки Ð°Ð²Ñ\82енÑ\82иÑ\84Ñ\96каÑ\86Ñ\96Ñ\97.\n\nУ Ð²Ð¸Ð¿Ð°Ð´ÐºÑ\83 Ñ\83Ñ\81пÑ\96Ñ\88ного Ð²Ñ\85одженнÑ\8f Ð² Ñ\81иÑ\81Ñ\82емÑ\83, Ð¿Ð¾Ñ\82Ñ\80Ñ\96бнÑ\96 ÐºÑ\83ки Ð±Ñ\83де Ð²ÐºÐ»Ñ\8eÑ\87ено Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¸ HTTP-вÑ\96дповÑ\96дÑ\96. Ð£ Ñ\80азÑ\96 Ð½ÐµÐ²Ð´Ð°Ð»Ð¾Ð³Ð¾ Ð²Ñ\85одÑ\83, Ð¿Ð¾Ð´Ð°Ð»Ñ\8cÑ\88Ñ\96 Ñ\81пÑ\80оби Ð±Ñ\83дÑ\83Ñ\82Ñ\8c Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ñ\96 Ð´Ð¾ Ð»Ñ\96мÑ\96Ñ\82Ñ\83 Ð°Ð²Ñ\82омаÑ\82иÑ\87ниÑ\85 Ñ\81пÑ\80об Ð¿Ñ\96дбиÑ\80аннÑ\8f Ð¿Ð°Ñ\80олÑ\8f.",
+       "apihelp-login-description": "УвÑ\96йÑ\82и Ð² Ñ\81иÑ\81Ñ\82емÑ\83 Ð¹ Ð¾Ñ\82Ñ\80имаÑ\82и ÐºÑ\83ки Ð°Ð²Ñ\82енÑ\82иÑ\84Ñ\96каÑ\86Ñ\96Ñ\97.\n\nЦÑ\8e Ð´Ñ\96Ñ\8e Ñ\82Ñ\80еба Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82овÑ\83ваÑ\82и Ð»Ð¸Ñ\88е Ð² ÐºÐ¾Ð¼Ð±Ñ\96наÑ\86Ñ\96Ñ\97 Ð· [[Special:BotPasswords]]; Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82аннÑ\8f Ð´Ð»Ñ\8f Ð²Ñ\85одÑ\83 Ð² Ð¾Ñ\81новний Ð¾Ð±Ð»Ñ\96ковий Ð·Ð°Ð¿Ð¸Ñ\81 Ð·Ð°Ñ\81Ñ\82аÑ\80Ñ\96ле Ñ\96 Ð¼Ð¾Ð¶Ðµ Ð»Ð°Ð¼Ð°Ñ\82иÑ\81Ñ\8f Ð±ÐµÐ· Ð¿Ð¾Ð¿ÐµÑ\80едженнÑ\8f. Ð©Ð¾Ð± Ð±ÐµÐ·Ð¿ÐµÑ\87но Ñ\83вÑ\96йÑ\82и Ð² Ð¾Ñ\81новний Ð¾Ð±Ð»Ñ\96ковий Ð·Ð°Ð¿Ð¸Ñ\81, Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82овÑ\83йÑ\82е <kbd>[[Special:ApiHelp/clientlogin|action=clientlogin]]</kbd>.",
        "apihelp-login-param-name": "Ім'я користувача.",
        "apihelp-login-param-password": "Пароль.",
        "apihelp-login-param-domain": "Домен (необов'язково).",
index f9040b0..7fe663d 100644 (file)
        "apihelp-query+users-paramvalue-prop-emailable": "Tags if the user can and wants to receive email through [[Special:Emailuser]].",
        "apihelp-query+users-paramvalue-prop-gender": "标记用户性别。返回“male”、“female”或“unknown”。",
        "apihelp-query+users-paramvalue-prop-centralids": "添加中心ID并为用户附加状态。",
-       "apihelp-query+users-paramvalue-prop-cancreate": "表示æ\9c\89æ\95\88ä½\86å°\9aæ\9cªæ³¨å\86\8cç\9a\84ç\94¨æ\88·å\90\8dæ\98¯å\90¦å\8f¯ä»¥æ³¨å\86\8cè´¦å\8f·ã\80\82",
+       "apihelp-query+users-paramvalue-prop-cancreate": "表æ\98\8eæ\98¯å\90¦å\8f¯ä»¥ä¸ºæ\9c\89æ\95\88ä½\86å°\9aæ\9cªæ³¨å\86\8cç\9a\84ç\94¨æ\88·å\90\8då\88\9b建ä¸\80个账æ\88·ã\80\82",
        "apihelp-query+users-param-attachedwiki": "与<kbd>$1prop=centralids</kbd>一起使用,表明用户是否附加于此ID定义的wiki。",
        "apihelp-query+users-param-users": "要获取信息的用户列表。",
        "apihelp-query+users-param-token": "请改用<kbd>[[Special:ApiHelp/query+tokens|action=query&meta=tokens]]</kbd>。",
        "apihelp-stashedit-param-contentmodel": "新内容的内容模型。",
        "apihelp-stashedit-param-contentformat": "用于输入文本的内容序列化格式。",
        "apihelp-stashedit-param-baserevid": "基础修订的修订ID。",
+       "apihelp-stashedit-param-summary": "更改摘要。",
        "apihelp-tag-description": "从个别修订或日志记录中添加或移除更改标签。",
        "apihelp-tag-param-rcid": "要添加或移除标签的一个或更多的最近更改ID。",
        "apihelp-tag-param-revid": "要添加或移除标签的一个或更多的修订ID。",
index 48a9c88..d997dbb 100644 (file)
@@ -45,7 +45,7 @@ abstract class AbstractPreAuthenticationProvider extends AbstractAuthenticationP
                return \StatusValue::newGood();
        }
 
-       public function testUserForCreation( $user, $autocreate ) {
+       public function testUserForCreation( $user, $autocreate, array $options = [] ) {
                return \StatusValue::newGood();
        }
 
index 2e0d669..ea3dfa3 100644 (file)
@@ -91,7 +91,7 @@ abstract class AbstractPrimaryAuthenticationProvider extends AbstractAuthenticat
        public function postAccountCreation( $user, $creator, AuthenticationResponse $response ) {
        }
 
-       public function testUserForCreation( $user, $autocreate ) {
+       public function testUserForCreation( $user, $autocreate, array $options = [] ) {
                return \StatusValue::newGood();
        }
 
index 89fd6f9..00493bc 100644 (file)
@@ -77,7 +77,7 @@ abstract class AbstractSecondaryAuthenticationProvider extends AbstractAuthentic
        public function postAccountCreation( $user, $creator, AuthenticationResponse $response ) {
        }
 
-       public function testUserForCreation( $user, $autocreate ) {
+       public function testUserForCreation( $user, $autocreate, array $options = [] ) {
                return \StatusValue::newGood();
        }
 
index 7ca9c6a..6db5f2c 100644 (file)
@@ -878,10 +878,22 @@ class AuthManager implements LoggerAwareInterface {
        /**
         * Determine whether a particular account can be created
         * @param string $username
-        * @param int $flags Bitfield of User:READ_* constants
+        * @param array $options
+        *  - flags: (int) Bitfield of User:READ_* constants, default User::READ_NORMAL
+        *  - creating: (bool) For internal use only. Never specify this.
         * @return Status
         */
-       public function canCreateAccount( $username, $flags = User::READ_NORMAL ) {
+       public function canCreateAccount( $username, $options = [] ) {
+               // Back compat
+               if ( is_int( $options ) ) {
+                       $options = [ 'flags' => $options ];
+               }
+               $options += [
+                       'flags' => User::READ_NORMAL,
+                       'creating' => false,
+               ];
+               $flags = $options['flags'];
+
                if ( !$this->canCreateAccounts() ) {
                        return Status::newFatal( 'authmanager-create-disabled' );
                }
@@ -905,7 +917,7 @@ class AuthManager implements LoggerAwareInterface {
                        $this->getPrimaryAuthenticationProviders() +
                        $this->getSecondaryAuthenticationProviders();
                foreach ( $providers as $provider ) {
-                       $status = $provider->testUserForCreation( $user, false );
+                       $status = $provider->testUserForCreation( $user, false, $options );
                        if ( !$status->isGood() ) {
                                return Status::wrap( $status );
                        }
@@ -1010,7 +1022,9 @@ class AuthManager implements LoggerAwareInterface {
                        return AuthenticationResponse::newFail( $status->getMessage() );
                }
 
-               $status = $this->canCreateAccount( $username, User::READ_LOCKING );
+               $status = $this->canCreateAccount(
+                       $username, [ 'flags' => User::READ_LOCKING, 'creating' => true ]
+               );
                if ( !$status->isGood() ) {
                        $this->logger->debug( __METHOD__ . ': {user} cannot be created: {reason}', [
                                'user' => $username,
@@ -1575,11 +1589,15 @@ class AuthManager implements LoggerAwareInterface {
                }
 
                // Denied by providers?
+               $options = [
+                       'flags' => User::READ_LATEST,
+                       'creating' => true,
+               ];
                $providers = $this->getPreAuthenticationProviders() +
                        $this->getPrimaryAuthenticationProviders() +
                        $this->getSecondaryAuthenticationProviders();
                foreach ( $providers as $provider ) {
-                       $status = $provider->testUserForCreation( $user, $source );
+                       $status = $provider->testUserForCreation( $user, $source, $options );
                        if ( !$status->isGood() ) {
                                $ret = Status::wrap( $status );
                                $this->logger->debug( __METHOD__ . ': Provider denied creation of {username}: {reason}', [
index 070da9f..54ccdf4 100644 (file)
@@ -75,7 +75,7 @@ class CheckBlocksSecondaryAuthenticationProvider extends AbstractSecondaryAuthen
                return AuthenticationResponse::newAbstain();
        }
 
-       public function testUserForCreation( $user, $autocreate ) {
+       public function testUserForCreation( $user, $autocreate, array $options = [] ) {
                $block = $user->isBlockedFromCreateAccount();
                if ( $block ) {
                        $errorParams = [
index 1a8a758..cab6e32 100644 (file)
@@ -96,7 +96,7 @@ class LegacyHookPreAuthenticationProvider extends AbstractPreAuthenticationProvi
                return StatusValue::newGood();
        }
 
-       public function testUserForCreation( $user, $autocreate ) {
+       public function testUserForCreation( $user, $autocreate, array $options = [] ) {
                if ( $autocreate !== false ) {
                        $abortError = '';
                        if ( !\Hooks::run( 'AbortAutoAccount', [ $user, &$abortError ] ) ) {
@@ -106,27 +106,6 @@ class LegacyHookPreAuthenticationProvider extends AbstractPreAuthenticationProvi
                                        $user, $user, LoginForm::ABORTED, $abortError, 'AbortAutoAccount'
                                );
                        }
-               } else {
-                       $abortError = '';
-                       $abortStatus = null;
-                       if ( !\Hooks::run( 'AbortNewAccount', [ $user, &$abortError, &$abortStatus ] ) ) {
-                               // Hook point to add extra creation throttles and blocks
-                               $this->logger->debug( __METHOD__ . ': a hook blocked creation' );
-                               if ( $abortStatus === null ) {
-                                       // Report back the old string as a raw message status.
-                                       // This will report the error back as 'createaccount-hook-aborted'
-                                       // with the given string as the message.
-                                       // To return a different error code, return a StatusValue object.
-                                       $msg = wfMessage( 'createaccount-hook-aborted' )->rawParams( $abortError );
-                                       return StatusValue::newFatal( $msg );
-                               } else {
-                                       // For MediaWiki 1.23+ and updated hooks, return the Status object
-                                       // returned from the hook.
-                                       $ret = StatusValue::newGood();
-                                       $ret->merge( $abortStatus );
-                                       return $ret;
-                               }
-                       }
                }
 
                return StatusValue::newGood();
index 846d16e..13fae6e 100644 (file)
@@ -83,9 +83,17 @@ interface PreAuthenticationProvider extends AuthenticationProvider {
         *   into such.
         * @param bool|string $autocreate False if this is not an auto-creation, or
         *  the source of the auto-creation passed to AuthManager::autoCreateUser().
+        * @param array $options
+        *  - flags: (int) Bitfield of User:READ_* constants, default User::READ_NORMAL
+        *  - creating: (bool) If false (or missing), this call is only testing if
+        *    a user could be created. If set, this (non-autocreation) is for
+        *    actually creating an account and will be followed by a call to
+        *    testForAccountCreation(). In this case, the provider might return
+        *    StatusValue::newGood() here and let the later call to
+        *    testForAccountCreation() do a more thorough test.
         * @return StatusValue
         */
-       public function testUserForCreation( $user, $autocreate );
+       public function testUserForCreation( $user, $autocreate, array $options = [] );
 
        /**
         * Post-creation callback
index 169e7f1..c44c8fc 100644 (file)
@@ -277,9 +277,17 @@ interface PrimaryAuthenticationProvider extends AuthenticationProvider {
         *   into such.
         * @param bool|string $autocreate False if this is not an auto-creation, or
         *  the source of the auto-creation passed to AuthManager::autoCreateUser().
+        * @param array $options
+        *  - flags: (int) Bitfield of User:READ_* constants, default User::READ_NORMAL
+        *  - creating: (bool) If false (or missing), this call is only testing if
+        *    a user could be created. If set, this (non-autocreation) is for
+        *    actually creating an account and will be followed by a call to
+        *    testForAccountCreation(). In this case, the provider might return
+        *    StatusValue::newGood() here and let the later call to
+        *    testForAccountCreation() do a more thorough test.
         * @return StatusValue
         */
-       public function testUserForCreation( $user, $autocreate );
+       public function testUserForCreation( $user, $autocreate, array $options = [] );
 
        /**
         * Post-auto-creation callback
index 0d52d25..1ccc9c6 100644 (file)
@@ -200,9 +200,17 @@ interface SecondaryAuthenticationProvider extends AuthenticationProvider {
         *   into such.
         * @param bool|string $autocreate False if this is not an auto-creation, or
         *  the source of the auto-creation passed to AuthManager::autoCreateUser().
+        * @param array $options
+        *  - flags: (int) Bitfield of User:READ_* constants, default User::READ_NORMAL
+        *  - creating: (bool) If false (or missing), this call is only testing if
+        *    a user could be created. If set, this (non-autocreation) is for
+        *    actually creating an account and will be followed by a call to
+        *    testForAccountCreation(). In this case, the provider might return
+        *    StatusValue::newGood() here and let the later call to
+        *    testForAccountCreation() do a more thorough test.
         * @return StatusValue
         */
-       public function testUserForCreation( $user, $autocreate );
+       public function testUserForCreation( $user, $autocreate, array $options = [] );
 
        /**
         * Post-auto-creation callback
index 41b69d4..fcdbead 100644 (file)
@@ -54,8 +54,8 @@
        "config-env-php": "Усталяваны PHP $1.",
        "config-env-hhvm": "HHVM $1 усталяваная.",
        "config-unicode-using-intl": "Выкарыстоўваецца [http://pecl.php.net/intl intl пашырэньне з PECL] для Unicode-нармалізацыі",
-       "config-unicode-pure-php-warning": "'''Ð\9fапÑ\8fÑ\80Ñ\8dджанÑ\8cне''': [http://pecl.php.net/intl Ð\9fаÑ\88Ñ\8bÑ\80Ñ\8dнÑ\8cне intl Ð· PECL] â\80\94 Ð½Ñ\8f Ñ\81лÑ\83Ñ\88нае Ð´Ð»Ñ\8f Unicode-наÑ\80малÑ\96заÑ\86Ñ\8bÑ\96, Ñ\86Ñ\8fпеÑ\80 Ð²Ñ\8bкаÑ\80Ñ\8bÑ\81Ñ\82оÑ\9eваеÑ\86Ñ\86а Ð¼Ð°Ñ\80Ñ\83днаÑ\8f PHP-Ñ\80Ñ\8dалÑ\96заÑ\86Ñ\8bÑ\8f.\nÐ\9aалÑ\96 Ñ\9e Ð\92аÑ\81 Ñ\81айÑ\82 Ð· Ð²Ñ\8bÑ\81окай Ð½Ð°Ð²ÐµÐ´Ð²Ð°ÐµÐ¼асьцю, раім пачытаць пра [https://www.mediawiki.org/wiki/Special:MyLanguage/Unicode_normalization_considerations Unicode-нармалізацыю].",
-       "config-unicode-update-warning": "'''Папярэджаньне''': усталяваная вэрсія бібліятэкі для Unicode-нармалізацыі выкарыстоўвае састарэлую вэрсію бібліятэкі з [http://site.icu-project.org/ праекту ICU].\nРаім [https://www.mediawiki.org/wiki/Special:MyLanguage/Unicode_normalization_considerations абнавіць], калі ваш сайт будзе працаваць зь Unicode.",
+       "config-unicode-pure-php-warning": "'''Ð\9fапÑ\8fÑ\80Ñ\8dджанÑ\8cне''': [http://pecl.php.net/intl Ð\9fаÑ\88Ñ\8bÑ\80Ñ\8dнÑ\8cне intl Ð· PECL] â\80\94 Ð½Ñ\8f Ñ\81лÑ\83Ñ\88нае Ð´Ð»Ñ\8f Unicode-наÑ\80малÑ\96заÑ\86Ñ\8bÑ\96, Ñ\86Ñ\8fпеÑ\80 Ð²Ñ\8bкаÑ\80Ñ\8bÑ\81Ñ\82оÑ\9eваеÑ\86Ñ\86а Ð¼Ð°Ñ\80Ñ\83днаÑ\8f PHP-Ñ\80Ñ\8dалÑ\96заÑ\86Ñ\8bÑ\8f.\nÐ\9aалÑ\96 Ñ\9e Ð\92аÑ\81 Ñ\81айÑ\82 Ð· Ð²Ñ\8bÑ\81окай Ð½Ð°Ð²ÐµÐ´Ð²Ð°Ð»Ñ\8cнасьцю, раім пачытаць пра [https://www.mediawiki.org/wiki/Special:MyLanguage/Unicode_normalization_considerations Unicode-нармалізацыю].",
+       "config-unicode-update-warning": "'''Папярэджаньне''': усталяваная вэрсія бібліятэкі для Unicode-нармалізацыі выкарыстоўвае састарэлую вэрсію бібліятэкі з [http://site.icu-project.org/ праекту ICU].\nРаім [https://www.mediawiki.org/wiki/Special:MyLanguage/Unicode_normalization_considerations абнавіць], калі ваш сайт будзе працаваць з Unicode.",
        "config-no-db": "Немагчыма знайсьці адпаведны драйвэр базы зьвестак. Вам неабходна ўсталяваць драйвэр базы зьвестак для PHP.\n{{PLURAL:$2|Падтрымліваецца наступны тып базы|Падтрымліваюцца наступныя тыпы базаў}} зьвестак: $1.\n\nКалі вы скампілявалі PHP самастойна, зьмяніце канфігурацыю, каб уключыць кліента базы зьвестак, напрыклад, з дапамогай <code>./configure --with-mysqli</code>.\nКалі вы ўсталявалі PHP з пакунку Debian або Ubuntu, тады вам трэба дадаткова ўсталяваць, напрыклад, пакунак <code>php5-mysql</code>.",
        "config-outdated-sqlite": "'''Папярэджаньне''': усталяваны SQLite $1, у той час, калі мінімальная сумяшчальная вэрсія — $2. SQLite ня будзе даступны.",
        "config-no-fts3": "'''Папярэджаньне''': SQLite створаны без модуля [//sqlite.org/fts3.html FTS3], для гэтага ўнутранага інтэрфэйсу ня будзе даступная магчымасьць пошуку.",
index 35e2177..24e8d37 100644 (file)
@@ -60,8 +60,8 @@
        "config-env-php": "پی‌اچ‌پی $1 نصب شده‌است.",
        "config-env-hhvm": "HHVM $1 نصب شده‌است.",
        "config-unicode-using-intl": "برای یونیکد عادی از [http://pecl.php.net/intl intl PECL extension] استفاده کنید.",
-       "config-unicode-pure-php-warning": "'''هشدار:''' [http://pecl.php.net/intl intl PECL extension] برای کنترل یونیکد عادی در دسترس نیست،اجرای کاملاً آهسته به تعویق می‌افتد.\nاگر شما یک سایت پر‌ ترافیک را اجرا می‌کنید، باید کمی [https://www.mediawiki.org/wiki/Special:MyLanguage/Unicode_normalization_considerations Unicode normalization] را بخوانید.",
-       "config-unicode-update-warning": "'''هشدار:''' نسخهٔ نصب شدهٔ پوشهٔ یونیکد عادی از ورژن قدیمی‌تر کتابخانه [http://site.icu-project.org/ the ICU project's] استفاده می‌کند.\nاگر کلاً علاقه‌مند به استفاده از یونیکد هستید باید [https://www.mediawiki.org/wiki/Special:MyLanguage/Unicode_normalization_considerations upgrade].",
+       "config-unicode-pure-php-warning": "'''هشدار:''' [http://pecl.php.net/intl intl PECL extension] برای کنترل یونیکد عادی در دسترس نیست،اجرای کاملاً آهسته به تعویق می‌افتد.\n\nاگر شما یک سایت پر‌ ترافیک را اجرا می‌کنید، باید کمی [https://www.mediawiki.org/wiki/Special:MyLanguage/Unicode_normalization_considerations Unicode normalization] را بخوانید.",
+       "config-unicode-update-warning": "'''هشدار:''' نسخهٔ نصب شدهٔ پوشهٔ یونیکد عادی از ورژن قدیمی‌تر کتابخانه [http://site.icu-project.org/ the ICU project's] استفاده می‌کند.\n\nاگر کلاً علاقه‌مند به استفاده از یونیکد هستید باید [https://www.mediawiki.org/wiki/Special:MyLanguage/Unicode_normalization_considerations upgrade].",
        "config-no-db": "درایور پایگاه اطلاعاتی مناسب پیدا نشد! شما لازم دارید یک درایور پایگاه اطلاعاتی  برای پی‌اچ‌پی نصب کنید.انواع پایگاه اطلاعاتی زیر پشتیبانی شده‌اند:$1.\nاگر شما در گروه اشتراک‌گذاری هستید، از تهیه کنندهٔ گروه خود برای نصب یک درایور پایگاه اطلاعاتی مناسب {{PLURAL:$2|سوأل کنید.|سوأل کنید.}}\nاگر خود، پی‌اچ‌پی را تهیه کرده‌اید، با یک پردازشگر فعال دوباره پیکربندی کنید، برای مثال از <code>./configure --with-mysql</code> استفاده کنید.\nاگر پی‌اچ‌پی را از یک بستهٔ دبیان یا آبونتو نصب کرده‌اید، بنابراین لازم دارید بخش php5-mysql را نصب کنید.",
        "config-outdated-sqlite": "''' هشدار:''' شما اس‌کیولایت $1 دارید، که پایین‌تر از حداقل نسخهٔ $2 مورد نیاز است.اس‌کیولایت در دسترس نخواهد بود.",
        "config-no-fts3": "'''هشدار:''' اس‌کیولایت بدون [//sqlite.org/fts3.html FTS3 module] تهیه شده‌است ، جستجوی ویژگی‌ها در این بخش پیشین در دسترس نخواهد‌بود.",
index 806e6e3..0a61173 100644 (file)
@@ -67,8 +67,9 @@
        "config-env-php": "PHP $1 on asennettu.",
        "config-env-hhvm": "HHVM $1 on asennettu.",
        "config-unicode-using-intl": "Käyttää [http://pecl.php.net/intl intl PECL-laajennusta] Unicode-normalisaatioon.",
-       "config-no-db": "Sopivaa tietokanta-ajuria ei löytynyt! Sinun täytyy asentaa tietokanta-ajurit PHP:lle.\nSeuraavat tietokantatyypit ovat tuettuja: $1.",
+       "config-no-db": "Sopivaa tietokanta-ajuria ei löytynyt! Sinun täytyy asentaa tietokanta-ajuri PHP:lle.\n{{PLURAL:$2|Seuraava tietokantatyyppi on tuettu|Seuraavat tietokantatyypit ovat tuettuja}}: $1.\n\nJos koostit PHP:n itse, määritä se uudelleen tietokanta-asiakkaan ollessa käytössä, esimerkiksi koodilla <code>./configure --with-mysqli</code>.\nJos asensit PHP:n Debian- tai Ubuntu-pakkauksesta, sinun on myös asennettava esimerkiksi <code>php5-mysql</code>-pakkaus.",
        "config-outdated-sqlite": "<strong>Varoitus:</strong> sinulla on käytössä SQLite $1, joke on vanhempi kuin vähintään vaadittava versio $2. SQLite ei ole saatavilla.",
+       "config-no-fts3": "<strong>Varoitus:</strong> SQLite on koostettu ilman [//sqlite.org/fts3.html FTS3-moduulia], hakuominaisuudet eivät ole käytössä tässä taustajärjestelmässä.",
        "config-pcre-old": "<strong>Tärkeää:</strong> PCRE $1 tai uudempi versio tarvitaan.\nPHP-binäärisi on linkitetty versiolla PCRE $2.\n[https://www.mediawiki.org/wiki/Manual:Errors_and_symptoms/PCRE Lisätietoja].",
        "config-memory-raised": "PHP:n <code>memory_limit</code> on $1, nostetaan arvoon $2.",
        "config-memory-bad": "'''Varoitus:''' PHP:n <code>memory_limit</code> on $1.\nTämä on luultavasti liian alhainen.\nAsennus saattaa epäonnistua!",
        "config-connection-error": "$1.\n\nTarkista isäntä, käyttäjänimi, salasana ja yritä uudestaan.",
        "config-invalid-schema": "Virheellinen skeema MediaWikille \"$1\".\nKäytä pelkkiä ASCII-kirjaimia (a-z, A-Z), numeroita (0-9) ja alaviivoja (_).",
        "config-db-sys-create-oracle": "Asennusohjelma tukee ainoastaan SYSDBA-tunnuksen käyttämistä uuden tunnuksen luonnissa.",
+       "config-db-sys-user-exists-oracle": "Käyttäjätunnus \"$1\" on jo olemassa. SYSDBA:ta voidaan käyttää vain uuden tunnuksen luontiin!",
        "config-postgres-old": "MediaWiki tarvitsee PostgreSQL:n version $1 tai uudemman. Nykyinen versio on $2.",
        "config-mssql-old": "Vaaditaan Microsoft SQL Server $1 tai uudempi. Sinulla on käytössä $2.",
        "config-sqlite-name-help": "Valitse nimi, joka yksilöi tämän wikin.\nÄlä käytä välilyöntejä tai viivoja.\nNimeä käytetään SQLite-tietokannan tiedostonimessä.",
        "config-mysql-charset": "Tietokannan merkistökoodaus:",
        "config-mysql-binary": "Binääri",
        "config-mysql-utf8": "UTF-8",
+       "config-mssql-auth": "Varmennuksen tyyppi:",
+       "config-mssql-install-auth": "Valitse varmennuksen tyyppi, jota käytetään yhdistäessä tietokantaan asennuksen aikana.\nJos valitset \"{{int:config-mssql-windowsauth}}\", käytetään verkkopalvelimen käyttäjän kirjautumistietoja.",
+       "config-mssql-web-auth": "Valitse varmennuksen tyyppi, jota verkkopalvelin käyttää yhdistäessään tietokantapalvelimeen wikin tavallisen toiminnan aikana.\nJos valitset \"{{int:config-mssql-windowsauth}}\", käytetään verkkopalvelimen käyttäjän kirjautumistietoja.",
        "config-site-name": "Wikin nimi",
        "config-site-name-help": "Tämä näkyy selaimen otsikkona ja muissa kohdissa.",
        "config-site-name-blank": "Kirjoita sivuston nimi.",
        "config-upload-deleted": "Poistettujen tiedostojen hakemisto:",
        "config-upload-deleted-help": "Valitse hakemisto johon poistetut tiedostot arkistoidaan.\nHakemiston ei tulisi olla käytettävissä internetverkosta.",
        "config-logo": "Logon URL-osoite",
+       "config-logo-help": "MediaWikin oletusulkoasussa on paikka 135x160 pikselin kokoiselle logolle sivupalkin yläpuolella.\nTallenna sopivan kokoinen kuva ja lisää URL tähän.\n\nVoit käyttää muuttujia <code>$wgStylePath</code> tai <code>$wgScriptPath</code>, jos logosi on määritelty suhteessa näihin polkuihin.\n\nJos et halua logoa, jätä tämä kenttä tyhjäksi.",
        "config-instantcommons": "Aktivoi Instant Commons",
        "config-instantcommons-help": "[https://www.mediawiki.org/wiki/InstantCommons Instant Commons] on ominaisuus, joka antaa wikien käyttää kuvia, ääniä ja muuta mediaa [https://commons.wikimedia.org/ Wikimedia Commons] -sivustolta.\nTehdäkseen tämän MediaWiki tarvitsee Internet-yhteyden.\n\nLisätietoja tästä ominaisuudesta, mukaan lukien ohjeet, kuinka sen voi asettaa muille wikeille kuin Wikimedia Commons, löytyy [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgForeignFileRepos ohjeista].",
        "config-cc-error": "Creative Commons -lisenssinvalitsija ei antanut tulosta.\nSyötä lisenssin nimi manuaalisesti.",
        "config-install-interwiki-exists": "<strong>Varoitus:</strong> interwiki-taulussa on jo tietueita, ohitetaan oletuslista.",
        "config-install-stats": "Alustetaan tilastoja",
        "config-install-keys": "Muodostetaan salausavaimia",
+       "config-insecure-keys": "<strong>Varoitus:</strong> Asennuksen aikana {{PLURAL:$2|luotu turva-avain|luodut turva-avaimet}} ($1) {{PLURAL:$2|ei|eivät}} ole täysin {{PLURAL:$2|turvallinen|turvallisia}}. Harkitse {{PLURAL:$2|sen|niiden}} muuttamista manuaalisesti.",
        "config-install-updates": "Estä tarpeettomien päivitysten asennus",
        "config-install-sysop": "Luodaan ylläpitäjän tiliä",
        "config-install-subscribe-fail": "Liittyminen mediawiki-announce listalle epäonnistui: $1",
index 71e3004..0a2f40a 100644 (file)
@@ -17,7 +17,8 @@
                        "Sannita",
                        "C.R.",
                        "Macofe",
-                       "Matteocng"
+                       "Matteocng",
+                       "Einreiher"
                ]
        },
        "config-desc": "Programma di installazione per MediaWiki",
@@ -64,8 +65,8 @@
        "config-env-php": "PHP $1 è installato.",
        "config-env-hhvm": "HHVM $1 è installato.",
        "config-unicode-using-intl": "Usa [http://pecl.php.net/intl l'estensione PECL intl] per la normalizzazione Unicode.",
-       "config-unicode-pure-php-warning": "'''Attenzione:''' [http://pecl.php.net/intl l'estensione PECL intl] non è disponibile per gestire la normalizzazione Unicode, così si usa la lenta implementazione in puro PHP.\nSe esegui un sito ad alto traffico, dovresti leggere alcune considerazioni sulla [https://www.mediawiki.org/wiki/Special:MyLanguage/Unicode_normalization_considerations normalizzazione Unicode].",
-       "config-unicode-update-warning": "'''Attenzione:''' La versione installata del gestore per la normalizzazione Unicode usa una vecchia versione della libreria [http://site.icu-project.org/ del progetto ICU].\nDovresti [https://www.mediawiki.org/wiki/Special:MyLanguage/Unicode_normalization_considerations aggiornare] se ti interessa usare l'Unicode.",
+       "config-unicode-pure-php-warning": "'''Attenzione:''' [http://pecl.php.net/intl l'estensione PECL intl] non è disponibile per gestire la normalizzazione Unicode, quindi si torna alla lenta implementazione in PHP puro.\nSe esegui un sito ad alto traffico, dovresti leggere alcune considerazioni sulla [https://www.mediawiki.org/wiki/Special:MyLanguage/Unicode_normalization_considerations normalizzazione Unicode].",
+       "config-unicode-update-warning": "'''Attenzione:''' la versione installata del gestore per la normalizzazione Unicode usa una vecchia versione della libreria [http://site.icu-project.org/ del progetto ICU].\nDovresti [https://www.mediawiki.org/wiki/Special:MyLanguage/Unicode_normalization_considerations aggiornare] se vuoi usare l'Unicode.",
        "config-no-db": "Impossibile trovare un driver adatto per il database! È necessario installare un driver per PHP.\n{{PLURAL:$2|Il seguente formato di database è supportato|I seguenti formati di database sono supportati}}: $1.\n\nSe compili PHP autonomamente, riconfiguralo attivando un client database, per esempio utilizzando <code>./configure --with-mysqli</code>.\nQualora avessi installato PHP per mezzo di un pacchetto Debian o Ubuntu, allora devi installare anche il pacchetto <code>php5-mysql</code>.",
        "config-outdated-sqlite": "'''Attenzione''': è presente SQLite $1 mentre è richiesta la versione $2, SQLite non sarà disponibile.",
        "config-no-fts3": "'''Attenzione''': SQLite è compilato senza il [//sqlite.org/fts3.html modulo FTS3], le funzionalità di ricerca non saranno disponibili su questo backend.",
@@ -88,7 +89,7 @@
        "config-no-cli-uri": "'''Attenzione''': <code>--scriptpath</code> non specificato, si utilizza il valore predefinito: <code>$1</code>.",
        "config-using-server": "Nome server in uso \"<nowiki>$1</nowiki>\".",
        "config-using-uri": "URL del server in uso \"<nowiki>$1$2</nowiki>\".",
-       "config-uploads-not-safe": "<strong>Attenzione:</strong> la directory predefinita per i caricamenti <code>$1</code> è vulnerabile all'esecuzione arbitraria di script.\nAnche se MediaWiki controlla tutti i file caricati per rischi alla sicurezza, è fortemente raccomandato di [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Security#Upload_security chiudere questa vulnerabilità di sicurezza] prima di abilitare i caricamenti.",
+       "config-uploads-not-safe": "<strong>Attenzione:</strong> la directory predefinita per i caricamenti <code>$1</code> è vulnerabile all'esecuzione arbitraria di script.\nAnche se, a difesa della sicurezza, MediaWiki controlla tutti i file caricati, è fortemente raccomandato di [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Security#Upload_security chiudere questa minaccia] prima di abilitare i caricamenti.",
        "config-no-cli-uploads-check": "<strong>Attenzione:</strong> la directory predefinita per i caricamenti (<code>$1</code>) non è stata verificata per la vulnerabilità sull'esecuzione arbitraria di script durante l'installazione da linea di comando.",
        "config-brokenlibxml": "Il tuo sistema ha una combinazione di versioni di PHP e libxml2 che è difettosa e che può provocare un danneggiamento non visibile di dati in MediaWiki ed in altre applicazioni per il web.\nAggiorna a libxml2 2.7.3 o successivo ([https://bugs.php.net/bug.php?id=45996 il bug è studiato dal lato PHP]).\nInstallazione interrotta.",
        "config-suhosin-max-value-length": "Suhosin è installato e limita il parametro GET <code>length</code> a $1 byte.\nIl componente MediaWiki ResourceLoader funzionerà aggirando questo limite, ma riducendo le prestazioni.\nSe possibile, dovresti impostare <code>suhosin.get.max_value_length</code> a 1024 o superiore in <code>php.ini</code>, ed impostare <code>$wgResourceLoaderMaxQueryLength</code> allo stesso valore in <code>LocalSettings.php</code>.",
        "config-mysql-charset": "Set di caratteri del database:",
        "config-mysql-binary": "Binario",
        "config-mysql-utf8": "UTF-8",
-       "config-mysql-charset-help": "In <strong>modalità binaria</strong>, MediaWiki archivia il testo UTF-8 nel database in campi binari.\nQuesto è più efficiente rispetto alla modalità UTF-8 di MySQL, e consente di utilizzare la gamma completa di caratteri Unicode.\n\nIn <strong>modalità UTF-8</strong>, MySQL conoscerà in quale set di caratteri sono i tuoi dati, e può presentarli e convertirli in modo appropriato, ma non ti permetterà di memorizzare i caratteri al di sopra del [https://en.wikipedia.org/wiki/Mapping_of_Unicode_character_planes Basic Multilingual Plane].",
+       "config-mysql-charset-help": "In <strong>modalità binaria</strong>, MediaWiki archivia il testo UTF-8 nel database in campi binari.\nCiò è più efficiente rispetto alla modalità UTF-8 di MySQL, e consente di utilizzare la gamma completa di caratteri Unicode.\n\nIn <strong>modalità UTF-8</strong>, MySQL saprà in quale set di caratteri sono i tuoi dati, e potrà presentarli e convertirli in modo appropriato, ma non ti permetterà di memorizzare i caratteri al di sopra del [https://en.wikipedia.org/wiki/Mapping_of_Unicode_character_planes Piano di base multilinguistico].",
        "config-mssql-auth": "Tipo di autenticazione:",
        "config-mssql-install-auth": "Seleziona il tipo di autenticazione che verrà utilizzato per connettersi al database durante il processo di installazione.\nSe si seleziona \"{{int:config-mssql-windowsauth}}\", saranno utilizzate le credenziali dell'utente con cui viene eseguito il server web, qualunque esso sia.",
        "config-mssql-web-auth": "Seleziona il tipo di autenticazione che il server web utilizzerà per connettersi al database, durante il normale funzionamento del wiki.\nSe si seleziona \"{{int:config-mssql-windowsauth}}\", saranno utilizzate le credenziali dell'utente con cui viene eseguito il server web, qualunque esso sia.",
        "config-profile-no-anon": "Creazione utenza obbligatoria",
        "config-profile-fishbowl": "Solo editori autorizzati",
        "config-profile-private": "Wiki privato",
-       "config-profile-help": "I wiki funzionano meglio se si lascia che molte persone li possano modificare.\nIn MediaWiki, è semplice rivedere le ultime modifiche, e ripristinare i danni causati da utenti ingenui o malintenzionati.\n\nTuttavia, molti hanno trovato MediaWiki essere utile in un'ampia varietà di ruoli, e a volte non è facile convincere tutti i vantaggi della modalità wiki.\nPerciò, fai la tua scelta.\n\nIl modello <strong>{{int:config-profile-wiki}}</strong> consente a chiunque di modificare, anche senza effettuare l'accesso.\nUn wiki con <strong>{{int:config-profile-no-anon}}</strong> offre una maggiore responsabilità, ma potrebbe scoraggiare i contributori occasionali.\n\nLo scenario <strong>{{int:config-profile-fishbowl}}</strong> consente agli utenti autorizzati di modificare, ma il pubblico può visualizzare le pagine, compresa la cronologia.\nUn <strong>{{int:config-profile-private}}</strong> consente solo agli utenti autorizzati di visualizzare le pagine, lo stesso gruppo può modificarle.\n\nConfigurazioni di diritti utente più complesse sono disponibili dopo l'installazione, vedi la  [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:User_rights parte relativa del manuale].",
+       "config-profile-help": "I wiki funzionano meglio se si permette a molte persone di poterli modificare.\nIn MediaWiki, è semplice controllare le ultime modifiche, e ripristinare i danni causati da utenti inesperti o malintenzionati.\n\nTuttavia, molti hanno trovato MediaWiki essere utile in un'ampia varietà di ruoli, e a volte non è facile convincere tutti dei vantaggi della modalità wiki.\nPerciò, fa' la tua scelta.\n\nIl modello <strong>{{int:config-profile-wiki}}</strong> consente a chiunque di modificare, anche senza effettuare l'accesso.\nUn wiki con <strong>{{int:config-profile-no-anon}}</strong> offre una maggiore responsabilità, ma potrebbe scoraggiare i contributori occasionali.\n\nLo scenario <strong>{{int:config-profile-fishbowl}}</strong> consente agli utenti autorizzati di modificare, ma il pubblico può visualizzare le pagine, compresa la cronologia.\nUn <strong>{{int:config-profile-private}}</strong> consente solo agli utenti autorizzati di visualizzare le pagine, lo stesso gruppo può modificarle.\n\nConfigurazioni di diritti utente più complesse sono disponibili dopo l'installazione, vedi la  [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:User_rights parte relativa del manuale].",
        "config-license": "Copyright e licenza:",
        "config-license-none": "Nessun piè di pagina per la licenza",
        "config-license-cc-by-sa": "Creative Commons Attribuzione-Condividi allo stesso modo",
        "config-email-sender-help": "Inserisci l'indirizzo email da utilizzare come indirizzo di ritorno per la posta in uscita.\nQuesto è dove verranno inviati gli eventuali errori.\nMolti server di posta richiedono che almeno la parte del nome di dominio sia valido.",
        "config-upload-settings": "Caricamenti di immagini e file",
        "config-upload-enable": "Consentire il caricamento di file",
-       "config-upload-help": "Il caricamento di file può potenzialmente esporre il tuo server a rischi di sicurezza.\nPer ulteriori informazioni, leggi la  [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Security sezione sulla sicurezza] nel manuale.\n\nPer consentire il caricamento di file, modificare la modalità nella sottodirectory <code>images</code> della directory principale di MediaWiki affinché il server web possa scriverci.\nPoi attivare questa opzione.",
+       "config-upload-help": "Il caricamento di file potrebbe esporre il tuo server a rischi di sicurezza.\nPer ulteriori informazioni, leggi la  [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Security sezione sulla sicurezza] nel manuale.\n\nPer consentire il caricamento di file, modifica la modalità nella sottodirectory <code>images</code> della directory principale di MediaWiki affinché il server web possa scrivere lì.\nPoi attiva questa opzione.",
        "config-upload-deleted": "Directory per i file cancellati:",
        "config-upload-deleted-help": "Scegli una directory in cui archiviare i file cancellati.\nIdealmente, questa non dovrebbe essere accessibile dal web.",
        "config-logo": "URL del logo:",
        "config-nofile": "Il file \"$1\" non può essere trovato. È stato eliminato?",
        "config-extension-link": "Sapevi che il tuo wiki supporta le  [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions estensioni]?\n\nPuoi navigare tra le [https://www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category estensioni per categoria].",
        "mainpagetext": "<strong>MediaWiki è stato installato.</strong>",
-       "mainpagedocfooter": "Consulta la [https://meta.wikimedia.org/wiki/Special:MyLanguage/Help:Contents Guida utente] per maggiori informazioni sull'uso di questo software wiki.\n\n== Per iniziare ==\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Impostazioni di configurazione]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Domande frequenti su MediaWiki]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailing list annunci MediaWiki]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localizza MediaWiki nella tua lingua]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Imparare a combattere lo spam sul tuo wiki]"
+       "mainpagedocfooter": "Consulta la [https://meta.wikimedia.org/wiki/Special:MyLanguage/Help:Contents Guida utente] per maggiori informazioni sull'uso di questo software wiki.\n\n== Per iniziare ==\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Impostazioni di configurazione]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Domande frequenti su MediaWiki]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailing list annunci MediaWiki]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Trova MediaWiki nella tua lingua]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Imparare a combattere lo spam sul tuo wiki]"
 }
index e1866c1..ab8c9f9 100644 (file)
@@ -84,7 +84,7 @@
        "config-using-uri": "\"<nowiki>$1$2</nowiki>\"(을)를 서버 URL로 사용합니다.",
        "config-uploads-not-safe": "<strong>경고:</strong> 올리기에 대한 기본 디렉터리(<code>$1</code>)는 임의의 스크립트 실행에 취약합니다.\n미디어위키는 보안 위협 때문에 모든 올려진 파일을 검사하지만, 올리기를 활성화하기 전에 [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Security#Upload_security 이 보안 취약점을 해결할 것]을 매우 권장합니다.",
        "config-no-cli-uploads-check": "<strong>경고:</strong> 올리기를 위한 기본 디렉터리(<code>$1</code>)는 CLI를 설치하는 동안 임의의 스크립트 실행에 대한 취약점에 대해 검사되지 않습니다.",
-       "config-brokenlibxml": "ì\8b\9cì\8a¤í\85\9cì\97\90 ë²\84ê·¸ê°\80 ì\9e\88ë\8a\94 PHPì\99\80 libxml2ì\9d\98 ì¡°í\95©ì\9d´ ì\9e\88ì\9c¼ë©° ë¯¸ë\94\94ì\96´ì\9c\84í\82¤ë\82\98 ë\8b¤ë¥¸ ì\9b¹ ì\96´플리케이션에 숨겨진 데이터 손상을 일으킬 수 있습니다.\nlibxml2 2.7.3 이후 버전으로 업그레이드하세요. ([https://bugs.php.net/bug.php?id=45996 PHP에 제기한 버그])\n설치가 중단되었습니다.",
+       "config-brokenlibxml": "ì\8b\9cì\8a¤í\85\9cì\97\90 ë²\84ê·¸ê°\80 ì\9e\88ë\8a\94 PHPì\99\80 libxml2ì\9d\98 ì¡°í\95©ì\9d´ ì\9e\88ì\9c¼ë©° ë¯¸ë\94\94ì\96´ì\9c\84í\82¤ë\82\98 ë\8b¤ë¥¸ ì\9b¹ ì\95 플리케이션에 숨겨진 데이터 손상을 일으킬 수 있습니다.\nlibxml2 2.7.3 이후 버전으로 업그레이드하세요. ([https://bugs.php.net/bug.php?id=45996 PHP에 제기한 버그])\n설치가 중단되었습니다.",
        "config-suhosin-max-value-length": "수호신(Suhosin)이 설치되고 $1 바이트로 GET 매개 변수 <code>length</code>를 제한하고 있습니다.\n미디어위키의 ResourceLoader 구성 요소는 이 제한을 회피하지만 성능이 저하됩니다.\n가능하면 <code>php.ini</code>의 <code>suhosin.get.max_value_length</code>를 1024 이상으로 설정하고 <code>LocalSettings.php</code>의 <code>$wgResourceLoaderMaxQueryLength</code>를 같은 값으로 설정해야 합니다.",
        "config-db-type": "데이터베이스 종류:",
        "config-db-host": "데이터베이스 호스트:",
        "config-logo": "로고 URL:",
        "config-logo-help": "미디어위키의 기본 스킨은 사이드바 메뉴 위에 135×160 픽셀의 로고의 공간을 포함하고 있습니다.\n적당한 크기로 그림을 올리고 여기에 URL을 입력하세요.\n\n로고가 상대적인 경로에 있으면 <code>$wgStylePath</code>나 <code>$wgScriptPath</code>를 사용할 수 있습니다.\n\n로고 사용을 원하지 않으면 이 상자를 비우세요.",
        "config-instantcommons": "인스턴트 공용 기능 활성화",
-       "config-instantcommons-help": "[https://www.mediawiki.org/wiki/InstantCommons 인스턴트 공용]은 [https://commons.wikimedia.org/ 위키미디어 공용] 사이트에서 찾을 수 있는 그림, 소리 및 다른 미디어를 위키에서 사용할 수 있도록 하는 기능입니다.\n이렇게 하려면 미디어위키가 인터넷에 접근해야합니다.\n\n위키미디어 공용 외에 기타 위키를 설정하는 방법에 대한 지침을 포함한, 기능에 대한 자세한 내용은 [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgForeignFileRepos 매뉴얼]을 참조하세요.",
+       "config-instantcommons-help": "[https://www.mediawiki.org/wiki/InstantCommons 인스턴트 공용]은 [https://commons.wikimedia.org/ 위키미디어 공용] 사이트에서 찾을 수 있는 그림, 소리 및 다른 미디어를 위키에서 사용할 수 있도록 하는 기능입니다.\n이렇게 하려면 미디어위키가 인터넷 연결을 필요로 합니다..\n\n위키미디어 공용 이외에 다른 위키에서 이를 설정하는 방법에 대한 지침을 포함한, 기능에 대한 자세한 내용은 [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgForeignFileRepos 매뉴얼]을 참조하세요.",
        "config-cc-error": "크리에이티브 커먼즈 라이선스 선택기에 결과가 없습니다.\n수동으로 라이선스 이름을 입력하세요.",
        "config-cc-again": "다시 선택...",
        "config-cc-not-chosen": "원하는 크리에이티브 커먼즈 라이선스를 선택하고 \"proceed\"을 클릭하세요.",
index 1021853..e332690 100644 (file)
        "config-extensions": "Extensions",
        "config-skins": "Abilhatges",
        "config-skins-use-as-default": "Utilizar aqueste abilhatge per defaut",
+       "config-skins-must-enable-some": "Vos cal seleccionar almens un tèma per activar.",
        "config-install-step-done": "fait",
        "config-install-step-failed": "fracàs",
        "config-install-extensions": "Inclusion de las extensions",
        "config-download-localsettings": "Telecargar <code>LocalSettings.php</code>",
        "config-help": "ajuda",
        "config-help-tooltip": "clicar per agrandir",
-       "mainpagetext": "'''MediaWiki es estat installat amb succès.'''",
+       "mainpagetext": "<strong>MediaWiki es estat installat amb succès.<strong>",
        "mainpagedocfooter": "Consultatz lo [https://meta.wikimedia.org/wiki/Help:Contents/fr Guida de l'utilizaire] per mai d'entresenhas sus l'utilizacion d'aqueste logicial de wiki.\n\n== Per començar ==\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Lista dels paramètres de configuracion]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ/oc FAQ MediaWiki]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista de discussions de las distribucions de MediaWiki]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Adaptatz MediaWiki dins vòstra lenga]"
 }
index 23b489e..193e445 100644 (file)
        "config-sqlite-readonly": "Plik <code>$1</code> nie jest zapisywalny.",
        "config-sqlite-cant-create-db": "Nie można utworzyć pliku bazy danych <code>$1</code>.",
        "config-sqlite-fts3-downgrade": "Brak wsparcia FTS3 dla PHP. Tabele zostały cofnięte",
-       "config-can-upgrade": "W bazie danych są już tabele MediaWiki.\nAby uaktualnić je do MediaWiki $1, kliknij '''Dalej'''.",
+       "config-can-upgrade": "W bazie danych są już tabele MediaWiki.\nAby uaktualnić je do MediaWiki $1, kliknij <strong>Dalej</strong>.",
        "config-upgrade-done": "Uaktualnienie kompletne.\n\nMożna teraz [$1 rozpocząć korzystanie z wiki].\n\nJeśli chcesz ponownie wygenerować plik <code>LocalSettings.php</code>, kliknij przycisk poniżej.\nJest to <strong>niezalecane</strong>, chyba że występują problemy z twoją wiki.",
        "config-upgrade-done-no-regenerate": "Aktualizacja zakończona.\n\nMożesz teraz [$1 zacząć korzystać ze swojej wiki].",
        "config-regenerate": "Ponowne generowanie LocalSettings.php →",
        "config-install-pg-plpgsql": "Sprawdzanie języka PL/pgSQL",
        "config-pg-no-plpgsql": "Musisz zainstalować język PL/pgSQL w bazie danych $1",
        "config-pg-no-create-privs": "Konto, które zostało określone dla instalacji nie ma wystarczających uprawnień, aby utworzyć konto.",
-       "config-pg-not-in-role": "Konto określone dla użytkownika sieci już istnieje.\nKonto określone dla instalacji nie ma uprawnień administratora ani nie jest przynależy do roli użytkownika sieci web, więc nie można utworzyć obiektów stanowiących własność użytkownika sieci.\n\nMediaWiki wymaga obecnie, by tabele były własnością konta zwykłego użytkownika. Podaj inną nazwę konta użytkownika, lub kliknij przycisk \"Wstecz\" i podaj nazwę konta użytkownika instalatora, które posiada odpowiednie uprawnienia.",
+       "config-pg-not-in-role": "Konto określone dla użytkownika sieci już istnieje.\nKonto określone dla instalacji nie ma uprawnień administratora, ani nie jest przynależy do roli użytkownika sieci web, więc nie można utworzyć obiektów stanowiących własność użytkownika sieci.\n\nMediaWiki obecnie wymaga, aby tabele były własnością konta zwykłego użytkownika. Podaj inną nazwę konta użytkownika albo kliknij przycisk „Wstecz” i podaj nazwę konta użytkownika instalatora, które posiada odpowiednie uprawnienia.",
        "config-install-user": "Tworzenie użytkownika bazy danych",
        "config-install-user-alreadyexists": "Konto użytkownika „$1” już istnieje",
        "config-install-user-create-failed": "Tworzenie użytkownika \"$1\" nie powiodło się: $2",
index c252890..2385e1e 100644 (file)
        "config-logo": "URL логотипу:",
        "config-logo-help": "Стандартна схема оформлення MediaWiki містить вільне для логотипу місце над бічною панеллю розміром 135x160 пікселів.\n\nЗавантажте зображення відповідного розміру і введіть тут його URL.\n\nВи можете використати <code>$wgStylePath</code> або <code>$wgScriptPath</code>, якщо ваш логотип пов'язаний з цими шляхами.\n\nЯкщо Вам не потрібен логотип, залиште це поле пустим.",
        "config-instantcommons": "Увімкнути Instant Commons",
-       "config-instantcommons-help": "[https://www.mediawiki.org/wiki/InstantCommons Instant Commons] це функція, що дозволяє вікі використовувати зображення, звуки та інші медіа, розміщені на [https://commons.wikimedia.org/ Вікісховищі].\nДля цього MediaWiki необхідний доступ до інтернету.\n\nДодаткову інформацію стосовно цієї функції, включаючи інструкції, як її увімкнути у вікі, відмінних від Вікісховища, дивіться у [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgForeignFileRepos посібнику].",
+       "config-instantcommons-help": "[https://www.mediawiki.org/wiki/InstantCommons Instant Commons] — це функція, що дозволяє вікі використовувати зображення, звуки та інші медіа, розміщені у [https://commons.wikimedia.org/ Вікісховищі].\nДля цього MediaWiki необхідний доступ до інтернету.\n\nДодаткову інформацію стосовно цієї функції, включаючи інструкції, як її увімкнути у вікі, відмінних від Вікісховища, дивіться у [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgForeignFileRepos посібнику].",
        "config-cc-error": "Механізм вибору ліцензії Creative Commons не дав результатів.\nВведіть назву ліцензії вручну.",
        "config-cc-again": "Виберіть знову ...",
        "config-cc-not-chosen": "Оберіть, яку ліцензію Creative Commons Ви хочете використовувати, і натисніть \"proceed\".",
        "config-nofile": "Файл \"$1\" не знайдено. Його видалено?",
        "config-extension-link": "Чи знаєте ви, що ваше вікі підтримує [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions розширення]?\n\nВи можете переглядати [https://www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category розширення по категорії] або в [https://www.mediawiki.org/wiki/Extension_Matrix матрицю розширень] щоб побачити повний список розширень.",
        "mainpagetext": "<strong>Програмне забезпечення «MediaWiki» встановлено.</strong>",
-       "mainpagedocfooter": "Ð\86нÑ\84оÑ\80маÑ\86Ñ\96Ñ\8e Ð¿Ñ\80о Ñ\80обоÑ\82Ñ\83 Ð· Ñ\86Ñ\96Ñ\94Ñ\8e Ð²Ñ\96кÑ\96 Ð¼Ð¾Ð¶Ð½Ð° Ð·Ð½Ð°Ð¹Ñ\82и Ð² [https://meta.wikimedia.org/wiki/Help:Contents Ð¿Ð¾Ñ\81Ñ\96бникÑ\83 ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83ваÑ\87а].\n\n== Ð\94еÑ\8fкÑ\96 ÐºÐ¾Ñ\80иÑ\81нÑ\96 Ñ\80еÑ\81Ñ\83Ñ\80Ñ\81и ==\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Ð¡Ð¿Ð¸Ñ\81ок Ð½Ð°Ð»Ð°Ñ\88Ñ\82Ñ\83ванÑ\8c];\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Ð§Ð°Ñ\81Ñ\82Ñ\96 Ð¿Ð¸Ñ\82аннÑ\8f Ð· Ð¿Ñ\80иводÑ\83 MediaWiki];\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Ð Ð¾Ð·Ñ\81илка Ð¿Ð¾Ð²Ñ\96домленÑ\8c Ð¿Ñ\80о Ð¿Ð¾Ñ\8fвÑ\83 Ð½Ð¾Ð²Ð¸Ñ\85 Ð²ÐµÑ\80Ñ\81Ñ\96й MediaWiki];\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Ð\9bокалÑ\96зÑ\83йÑ\82е MediaWiki Ñ\81воÑ\94Ñ\8e Ð¼Ð¾Ð²Ð¾Ñ\8e]"
+       "mainpagedocfooter": "Ð\86нÑ\84оÑ\80маÑ\86Ñ\96Ñ\8e Ð¿Ñ\80о Ñ\80обоÑ\82Ñ\83 Ð· Ñ\86Ñ\96Ñ\94Ñ\8e Ð²Ñ\96кÑ\96 Ð¼Ð¾Ð¶Ð½Ð° Ð·Ð½Ð°Ð¹Ñ\82и Ð² [https://meta.wikimedia.org/wiki/Help:Contents Ð¿Ð¾Ñ\81Ñ\96бникÑ\83 ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83ваÑ\87а].\n\n== Ð\94еÑ\8fкÑ\96 ÐºÐ¾Ñ\80иÑ\81нÑ\96 Ñ\80еÑ\81Ñ\83Ñ\80Ñ\81и ==\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Ð¡Ð¿Ð¸Ñ\81ок Ð½Ð°Ð»Ð°Ñ\88Ñ\82Ñ\83ванÑ\8c];\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Ð§Ð°Ñ\81Ñ\82Ñ\96 Ð¿Ð¸Ñ\82аннÑ\8f Ð· Ð¿Ñ\80иводÑ\83 MediaWiki];\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Ð Ð¾Ð·Ñ\81илка Ð¿Ð¾Ð²Ñ\96домленÑ\8c Ð¿Ñ\80о Ð¿Ð¾Ñ\8fвÑ\83 Ð½Ð¾Ð²Ð¸Ñ\85 Ð²ÐµÑ\80Ñ\81Ñ\96й MediaWiki];\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Ð\9bокалÑ\96зÑ\83ваÑ\82и MediaWiki Ñ\81воÑ\94Ñ\8e Ð¼Ð¾Ð²Ð¾Ñ\8e]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Ð\94Ñ\96знаÑ\82иÑ\81Ñ\8f, Ñ\8fк Ð±Ð¾Ñ\80оÑ\82иÑ\81Ñ\8f Ð·Ñ\96 Ñ\81памом Ñ\83 Ñ\81воÑ\97й Ð²Ñ\96кÑ\96]"
 }
index 2451390..05bcebe 100644 (file)
@@ -79,12 +79,15 @@ class CacheTime {
 
        /**
         * Sets the number of seconds after which this object should expire.
+        *
         * This value is used with the ParserCache.
         * If called with a value greater than the value provided at any previous call,
         * the new call has no effect. The value returned by getCacheExpiry is smaller
         * or equal to the smallest number that was provided as an argument to
         * updateCacheExpiry().
         *
+        * Avoid using 0 if at all possible. Consider JavaScript for highly dynamic content.
+        *
         * @param int $seconds
         */
        public function updateCacheExpiry( $seconds ) {
index 6c84623..aca32ed 100644 (file)
@@ -2296,13 +2296,9 @@ class Parser {
                                                # cloak any absolute URLs inside the image markup, so replaceExternalLinks() won't touch them
                                                $s .= $prefix . $this->armorLinks(
                                                        $this->makeImage( $nt, $text, $holders ) ) . $trail;
-                                       } else {
-                                               $s .= $prefix . $trail;
+                                               continue;
                                        }
-                                       continue;
-                               }
-
-                               if ( $ns == NS_CATEGORY ) {
+                               } elseif ( $ns == NS_CATEGORY ) {
                                        $s = rtrim( $s . "\n" ); # bug 87
 
                                        if ( $wasblank ) {
@@ -5302,6 +5298,7 @@ class Parser {
        /**
         * Set a flag in the output object indicating that the content is dynamic and
         * shouldn't be cached.
+        * @deprecated since 1.28; use getOutput()->updateCacheExpiry()
         */
        public function disableCache() {
                wfDebug( "Parser output marked as uncacheable.\n" );
index 8620eb1..f4f2748 100644 (file)
@@ -478,6 +478,8 @@ class ContribsPager extends ReverseChronologicalPager {
                        );
                        $classes = array_merge( $classes, $newClasses );
 
+                       Hooks::run( 'SpecialContributions::formatRow::flags', [ $this->getContext(), $row, &$flags ] );
+
                        $templateParams = [
                                'del' => $del,
                                'timestamp' => $d,
index 60144bb..bc87cd0 100644 (file)
@@ -153,7 +153,7 @@ class PasswordReset {
                        'Capture' => $displayPassword ? '1' : null,
                ];
                if ( !Hooks::run( 'SpecialPasswordResetOnSubmit', [ &$users, $data, &$error ] ) ) {
-                       return StatusValue::newFatal( wfMessage( $error ) );
+                       return StatusValue::newFatal( Message::newFromSpecifier( $error ) );
                }
 
                if ( !$users ) {
index 5b4105b..df5a7f4 100644 (file)
        "watching": "يراقب...",
        "unwatching": "إزالة المراقبة...",
        "watcherrortext": "حدث خطأ أثناء تغيير إعدادات الرصد الخاصة بك \"$1\".",
-       "enotif_reset": "علم على كل الصفحات كمزارة",
+       "enotif_reset": "علم على كل الصفحات كمَزُورة",
        "enotif_impersonal_salutation": "مستخدم {{SITENAME}}",
        "enotif_subject_deleted": "الصفحة {{SITENAME}} $1 حذفها {{الجنس: $2 | $2 }}",
        "enotif_subject_created": "الصفحة {{SITENAME}}  $1  أنشأها {{الجنس: $2 | $2 }}",
        "sp-contributions-username": "عنوان أيبي أو اسم مستخدم:",
        "sp-contributions-toponly": "أظهر أعلى المراجعات فقط",
        "sp-contributions-newonly": "أظهر إنشاء الصفحات فقط",
+       "sp-contributions-hideminor": "أخف التعديلات الطفيفة",
        "sp-contributions-submit": "بحث",
        "whatlinkshere": "ماذا يصل هنا",
        "whatlinkshere-title": "الصفحات التي تصل إلى \"$1\"",
index af794a8..fb709a3 100644 (file)
        "password-change-forbidden": "Nun se pueden camudar les contraseñes nesta wiki.",
        "externaldberror": "O hebo un fallu d'autenticación de la base de datos o nun tienes permisu p'anovar la to cuenta esterna.",
        "login": "Entrar",
+       "login-security": "Comprobación d'identidá",
        "nav-login-createaccount": "Entrar / crear cuenta",
        "userlogin": "Entrar / crear cuenta",
        "userloginnocreate": "Aniciar sesión",
        "userlogin-resetpassword-link": "¿Escaeció la contraseña?",
        "userlogin-helplink2": "Ayuda del aniciu de sesión",
        "userlogin-loggedin": "Yá anició sesión como {{GENDER:$1|$1}}.\nUtilice'l formulariu de más abaxo p'aniciar sesión como otru usuariu.",
+       "userlogin-reauth": "Tienes d'aniciar sesión de nueves pa comprobar que yes {{GENDER:$1|$1}}.",
        "userlogin-createanother": "Crear otra cuenta",
        "createacct-emailrequired": "Direición de corréu electrónicu",
        "createacct-emailoptional": "Direición de corréu electrónicu (opcional)",
        "createacct-email-ph": "Escriba la so direición de corréu electrónicu",
        "createacct-another-email-ph": "Escriba la direición de corréu electrónicu",
        "createaccountmail": "Usar una contraseña al debalu temporal y unviala a la direición de corréu electrónicu conseñada",
+       "createaccountmail-help": "Pue usase pa crear una cuenta pa otra persona ensin saber la contraseña.",
        "createacct-realname": "Nome real (opcional)",
        "createaccountreason": "Motivu:",
        "createacct-reason": "Motivu",
        "createacct-reason-ph": "Por qué quier crear otra cuenta",
+       "createacct-reason-help": "Mensaxe que s'amuesa nel rexistru de creación de cuentes",
        "createacct-submit": "Crear la cuenta",
        "createacct-another-submit": "Crear una cuenta",
+       "createacct-continue-submit": "Siguir cola creación de la cuenta",
+       "createacct-another-continue-submit": "Siguir cola creación de la cuenta",
        "createacct-benefit-heading": "{{SITENAME}} failu xente como vusté.",
        "createacct-benefit-body1": "{{PLURAL:$1|edición|ediciones}}",
        "createacct-benefit-body2": "{{PLURAL:$1|páxina|páxines}}",
        "nocookiesnew": "La cuenta d'usuariu ta creada, pero nun anició sesión.\n{{SITENAME}} usa «cookies» pa identificar a los usuarios.\nTien les «cookies» desactivaes.\nPor favor activeles y anicie sesión col nuevu nome d'usuariu y contraseña.",
        "nocookieslogin": "{{SITENAME}} usa «cookies» pa identificar a los usuarios.\nTien les «cookies» desactivaes.\nPor favor activeles y vuelva a intentalo.",
        "nocookiesfornew": "La cuenta nun se creó porque nun pudimos confirmar l'orixe.\nComprueba que tienes activaes les «cookies», recarga esta páxina y vuelvi a intentalo.",
+       "createacct-loginerror": "La cuenta creóse correchamente, pero nun pudo aniciase sesión automáticamente. Sigui col [[Special:UserLogin|accesu manual]].",
        "noname": "Nun conseñasti un nome d'usuariu válidu.",
        "loginsuccesstitle": "Identificáu",
        "loginsuccess": "'''Aniciasti sesión en {{SITENAME}} como «$1».'''",
        "createacct-another-realname-tip": "El nome real ye opcional.\nSi decide conseñalu, va usase p'atribuir el trabayu al usuariu.",
        "pt-login": "Entrar",
        "pt-login-button": "Aniciar sesión",
+       "pt-login-continue-button": "Siguir l'aniciu de sesión",
        "pt-createaccount": "Crear una cuenta",
        "pt-userlogout": "Salir",
        "php-mail-error-unknown": "Fallu desconocíu na función mail() de PHP.",
        "botpasswords-invalid-name": "El nome d'usuariu especificáu nun contien el separador de contraseña de bot («$1»).",
        "botpasswords-not-exist": "L'usuariu «$1» nun tien una contraseña de bot llamada «$2».",
        "resetpass_forbidden": "Nun puen camudase les contraseñes",
+       "resetpass_forbidden-reason": "Les contraseñes nun pueden camudase: $1",
        "resetpass-no-info": "Tienes d'aniciar sesión pa entrar direutamente a esta páxina.",
        "resetpass-submit-loggedin": "Camudar la contraseña",
        "resetpass-submit-cancel": "Encaboxar",
        "passwordreset-emailsentusername": "Si hai una direición de corréu electrónicu asociada con esti nome d'usuariu, unviaráse un corréu electrónicu pa reaniciar la contraseña.",
        "passwordreset-emailsent-capture": "Unvióse un corréu electrónicu pa reaniciar la contraseña, que s'amuesa abaxo.",
        "passwordreset-emailerror-capture": "Unvióse un corréu electrónicu pa reaniciar la contraseña, que s'amuesa abaxo, pero falló l'unviu {{GENDER:$2|al usuariu|a la usuaria}}: $1",
+       "passwordreset-invalideamil": "Direición de corréu inválida",
+       "passwordreset-nodata": "Nun s'apurrió nin un nome d'usuariu nin una dirección de corréu electrónicu",
        "changeemail": "Camudar o desaniciar la dirección de corréu electrónicu",
        "changeemail-header": "Completa esti formulariu pa camudar la dirección de corréu electrónicu. Si quies desaniciar l'asociación de cualquier dirección de corréu electrónicu de la to cuenta, dexa en blancu la nueva dirección de corréu electrónicu cuando unvies el formulariu.",
        "changeemail-passwordrequired": "Vas tener qu'escribir la contraseña pa confirmar esti cambéu.",
        "accmailtext": "Unvióse a $2 una contraseña xenerada al debalu pal usuariu [[User talk:$1|$1]]. Pue camudase na páxina ''[[Special:ChangePassword|camudar contraseña]]'' depués d'aniciar sesión.",
        "newarticle": "(Nuevu)",
        "newarticletext": "Siguisti un enllaz a un artículu qu'inda nun esiste.\nPa crear la páxina, empecipia a escribir nel cuadru d'embaxo (mira la [$1 páxina d'ayuda] pa más información).\nSi llegasti equí por enquivocu, calca nel botón <strong>atrás</strong> del to restolador.",
-       "anontalkpagetext": "----\n''Esta ye la páxina d'alderique pa un usuariu anónimu qu'inda nun creó una cuenta o que nun la usa.''\nPola mor d'ello ha usase la direición numbérica IP pa identificalu/la.\nTala IP pue compartise por varios usuarios.\nSi yes un usuariu anónimu y notes qu'hai comentarios irrelevantes empobinaos pa ti, por favor [[Special:CreateAccount|crea una cuenta]] o [[Special:CreateAccount|identifícate]] pa torgar futures confusiones con otros usuarios anónimos.",
+       "anontalkpagetext": "----\n''Esta ye la páxina d'alderique pa un usuariu anónimu qu'inda nun creó una cuenta o que nun la usa.''\nPola mor d'ello ha usase la direición numbérica IP pa identificalu/la.\nTala IP pue compartise por varios usuarios.\nSi yes un usuariu anónimu y notes qu'hai comentarios irrelevantes empobinaos pa ti, por favor [[Special:CreateAccount|crea una cuenta]] o [[Special:UserLogin|anicia sesiín]] pa torgar futures confusiones con otros usuarios anónimos.",
        "noarticletext": "Nestos momentos nun hai testu nesta páxina.\nPuedes [[Special:Search/{{PAGENAME}}|buscar esti títulu de páxina]] n'otres páxines,\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} buscar los rexistros rellacionaos],\no [{{fullurl:{{FULLPAGENAME}}|action=edit}} crear esta páxina]</span>.",
        "noarticletext-nopermission": "Nestos momentos nun hai testu nesta páxina.\nPue [[Special:Search/{{PAGENAME}}|buscar esti títulu de páxina]] n'otres páxines o <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} buscar los rexistros rellacionaos]</span>, pero nun tiene permisu pa crear esta páxina.",
        "missing-revision": "La revisión #$1 de la páxina llamada \"{{FULLPAGENAME}}\" nun esiste.\n\nDe vezu la causa d'esto ye siguir un enllaz antiguu del historial a una páxina que se desanició.\nSe puen alcontrar más detalles nel [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} rexistru de desanicios].",
        "upload-http-error": "Hebo un error HTTP: $1",
        "upload-copy-upload-invalid-domain": "La xubida de copies nun ta disponible dende esti dominiu.",
        "upload-foreign-cant-upload": "Esta wiki nun ta configurada pa xubir ficheros al estoyu de ficheros esternu solicitáu.",
+       "upload-foreign-cant-load-config": "Falló la carga de la configuración de xuba de ficheros pal estoyu esternu de ficheros.",
+       "upload-dialog-disabled": "Nesta wiki tán desactivaes les xubíes de ficheros por aciu d'esti diálogu.",
        "upload-dialog-title": "Xubir ficheru",
        "upload-dialog-button-cancel": "Encaboxar",
        "upload-dialog-button-done": "Fecho",
        "rollbacklinkcount": "revertir $1 {{PLURAL:$1|edición|ediciones}}",
        "rollbacklinkcount-morethan": "revertir más de $1 {{PLURAL:$1|edición|ediciones}}",
        "rollbackfailed": "Falló la reversión",
+       "rollback-missingparam": "Faltan parámetros riquíos na solicitú.",
        "cantrollback": "Nun se pue revertir la edición; el postrer collaborador ye l'únicu autor d'esta páxina.",
        "alreadyrolled": "Nun se pue revertir la postrer edición de [[:$1]] fecha por [[User:$2|$2]] ([[User talk:$2|alderique]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]);\ndaquién más yá editó o revirtió la páxina.\n\nLa postrer edición foi fecha por [[User:$3|$3]] ([[User talk:$3|alderique]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).",
        "editcomment": "El resume de la edición yera: <em>$1</em>.",
        "revertpage": "Revertíes les ediciones de [[Special:Contributions/$2|$2]] ([[User talk:$2|alderique]]) hasta la cabera versión de [[User:$1|$1]]",
        "revertpage-nouser": "Revertíes les ediciones de (usuariu desaniciáu) a la cabera revisión de {{GENDER:$1|[[User:$1|$1]]}}",
        "rollback-success": "Revertíes les ediciones de $1; camudáu a la última versión de $2.",
+       "rollback-success-notify": "Revertíes les ediciones de $1 a la última revisión de $2. [$3 Ver cambeos]",
        "sessionfailure-title": "Fallu de sesión",
        "sessionfailure": "Paez qu'hai un problema cola to sesión; por precaución\ncancelóse l'aición que pidisti. Da-y al botón \"Atrás\" del\nnavegador pa cargar otra vuelta la páxina y vuelve a intentalo.",
        "changecontentmodel": "Cambiar el modelu de conteníu d'una páxina",
        "sp-contributions-username": "Direición IP o nome d'usuariu:",
        "sp-contributions-toponly": "Amosar namái les ediciones que son les caberes revisiones",
        "sp-contributions-newonly": "Amosar namái les ediciones que son creaciones de páxines",
+       "sp-contributions-hideminor": "Despintar les ediciones menores",
        "sp-contributions-submit": "Buscar",
        "whatlinkshere": "Lo qu'enllaza equí",
        "whatlinkshere-title": "Páxines qu’enllacien a «$1»",
        "whatlinkshere-prev": "{{PLURAL:$1|anterior|anteriores $1}}",
        "whatlinkshere-next": "{{PLURAL:$1|siguiente|siguientes $1}}",
        "whatlinkshere-links": "← enllaces",
-       "whatlinkshere-hideredirs": "$1 redireiciones",
-       "whatlinkshere-hidetrans": "$1 tresclusiones",
-       "whatlinkshere-hidelinks": "$1 enllaces",
+       "whatlinkshere-hideredirs": "$1 les redireiciones",
+       "whatlinkshere-hidetrans": "$1 les tresclusiones",
+       "whatlinkshere-hidelinks": "$1 los enllaces",
        "whatlinkshere-hideimages": "$1 los enllaces al ficheru",
        "whatlinkshere-filters": "Peñeres",
        "whatlinkshere-submit": "Dir",
        "confirm-watch-top": "¿Amestar esta páxina a la to llista de vixilancia?",
        "confirm-unwatch-button": "Aceutar",
        "confirm-unwatch-top": "¿Desaniciar esta páxina de la to llista de vixilancia?",
+       "confirm-rollback-button": "Aceutar",
+       "confirm-rollback-top": "¿Revertir les ediciones a esta páxina?",
        "quotation-marks": "«$1»",
        "imgmultipageprev": "← páxina anterior",
        "imgmultipagenext": "páxina siguiente →",
        "log-action-filter-suppress-block": "Supresión d'usuariu por bloquéu",
        "log-action-filter-suppress-reblock": "Supresión d'usuariu por rebloquéu",
        "log-action-filter-upload-upload": "Nueva carga",
-       "log-action-filter-upload-overwrite": "Recargar"
+       "log-action-filter-upload-overwrite": "Recargar",
+       "authmanager-authn-no-primary": "Les credenciales apurríes nun pudieron autentificase.",
+       "authmanager-authn-no-local-user": "Les credenciales apurríes nun tán asociaes con nengún usuariu nesta wiki.",
+       "authmanager-authn-autocreate-failed": "Falló la creación automática d'una cuenta local: $1",
+       "authmanager-authplugin-setpass-bad-domain": "Dominiu inválidu.",
+       "authmanager-autocreate-noperm": "Nun se permite la creación automática de cuentes.",
+       "authmanager-autocreate-exception": "La creación automática de cuentes desactivóse temporalmente por cuenta d'errores previos.",
+       "authmanager-userdoesnotexist": "La cuenta d'usuariu «$1» nun ta rexistrada.",
+       "authmanager-userlogin-remembermypassword-help": "Si tien de recordase la contraseña por más tiempu del que dura la sesión.",
+       "authmanager-username-help": "Nome d'usuariu pa l'autenticación.",
+       "authmanager-password-help": "Contraseña pa l'autenticación.",
+       "authmanager-domain-help": "Dominiu pa l'autenticación esterna.",
+       "authmanager-retype-help": "Otra vuelta la contraseña pa confirmar.",
+       "authmanager-email-label": "Corréu",
+       "authmanager-email-help": "Direición de corréu electrónicu",
+       "authmanager-realname-label": "Nome real",
+       "authmanager-realname-help": "Nome real del usuariu",
+       "authmanager-provider-password": "Autenticación basada en contraseña",
+       "authmanager-provider-password-domain": "Autenticación basada en contraseña y dominiu",
+       "authmanager-provider-temporarypassword": "Contraseña temporal",
+       "authprovider-resetpass-skip-label": "Saltar",
+       "authprovider-resetpass-skip-help": "Saltar el reaniciu de la contraseña.",
+       "credentialsform-account": "Nome de la cuenta:",
+       "cannotlink-no-provider-title": "Nun hai cuentes enllazables",
+       "cannotlink-no-provider": "Nun hai cuentes enllazables.",
+       "linkaccounts": "Enllazar cuentes",
+       "linkaccounts-success-text": "Enllazóse la cuenta.",
+       "linkaccounts-submit": "Enllazar cuentes",
+       "unlinkaccounts": "Desenllazar cuentes",
+       "unlinkaccounts-success": "Desenllazóse la cuenta."
 }
index f6928e9..93a3bb7 100644 (file)
        "noemail": "«$1» ایستیفاده‌چی‌یه ایمیل آدرسی قئید اولماییب‌دیر.",
        "noemailcreate": "دوزگون بیر ایمیل آدرسی وئرمه‌لیسینیز",
        "passwordsent": "«$1»-نا قئید اولونان ایمیل آدرسینه، یئنی بیر رمز گؤندریلدی.\nاونا آلان‌دان سونرا یئنی‌دن گیرین.",
-       "blocked-mailpassword": "سÛ\8cزÛ\8cÙ\86 Ø¢Û\8câ\80\8cÙ¾Û\8c Ø¢Ø¯Ø±Ø³Û\8cÙ\86Û\8cزÛ\8cÙ\86 Ø¯Û\8cÛ\8cشدÛ\8cرÙ\85Ù\87 Ø§Ø¦Ø¯Ù\87 Ø¨Û\8cÙ\84Ù\85Ù\87â\80\8cسÛ\8c Ø¨Ø§ØºÙ\84اÙ\86Ù\85Û\8cشدÛ\8cر. Ø³Ù\88ءاÛ\8cستÛ\8cÙ\81ادÙ\87 Ù\82ارشÛ\8câ\80\8cسینی آلماق اۆچون، رمزی یئنی‌دن اله گتیرمک ایمکانینا ایجازه‌نیز یوْخدور.",
+       "blocked-mailpassword": "سÛ\8cزÛ\8cÙ\86 Ø¢Û\8câ\80\8cÙ¾Û\8c Ø¢Ø¯Ø±Ø³Û\8cÙ\86Û\8cزÛ\8cÙ\86 Ø¯Û\8cÛ\8cشدÛ\8cرÙ\85Ù\87 Ø§Ø¦Ø¯Ù\87 Ø¨Û\8cÙ\84Ù\85Ù\87â\80\8cسÛ\8c Ø¨Ø§ØºÙ\84اÙ\86Ù\85Û\8cشدÛ\8cر. Ø³Ù\88ءاÛ\8cستÛ\8cÙ\81ادÙ\87 Ù\82اباغینی آلماق اۆچون، رمزی یئنی‌دن اله گتیرمک ایمکانینا ایجازه‌نیز یوْخدور.",
        "eauthentsent": "سیزین سئچیلمیش ایمیل آدرسینه، دوغرولاماق اوچون بیر ایمیل گؤندریلدی.\nهر یئنی بیر ایمیل گؤندرمک‌دن اؤنجه، بو حسابین دوغرودان سیزین اولدوغونو گؤسترمک اوچون، او ایمیل‌ده‌کی ایشلری گؤرمه‌لیسینیز.",
        "throttled-mailpassword": "سون {{PLURAL:$1|ساعات|$1 ساعات}}‌دا سیزه بیر رمز یئنیله‌مه ایمیلی گؤندریلیب‌دیر.\nسوءاستفاده قاباغین آلماق اوچون، هر {{PLURAL:$1|ساعات|$1 ساعات}}‌دا یالنیز بیر رمز یئنیله‌مه ایمیلی گؤندریلر.",
        "mailerror": "ایمیل گؤندرمه خطاسی: $1",
        "diff-multi-otherusers": "({{PLURAL:$1|۱ میانی نوسخه لر|$1 میانی نوسخه لر}} دَییک اولونموش {{PLURAL:$2|۱ ایشلدچی|$2 ایشلدچی}}طرفیندن گوستریلمیر)",
        "diff-multi-manyusers": "{{PLURAL:$2|بیر|$2}}-دن چوخ ایستیفاده‌چی یارادان {{PLURAL:$1|بیر|$1}} نوسخه، گؤستریلمه‌ییب‌دیر",
        "difference-missing-revision": "بو فرقین ($1) {{PLURAL:$2|بیر|$2}} نوسخه‌سی تاپیلانمادی.\n\nعموماً بو خطا، سیلینن بیر صحیفه‌یه واختی گئچمیش بیر فرق باغلانتی‌سیلا گلمک ایله آرا گلر.\n[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}}سیلمک سیاهی‌سی]ندا باشقا بیلگیلر اولا بیلر.",
-       "searchresults": "آختاریش سونوجلاری",
-       "searchresults-title": "«$1» اوچون آختاریش سونوجلاری",
+       "searchresults": "آختاریش نتیجه‌لری",
+       "searchresults-title": "«$1» اوچون آختاریش نتیجه‌لری",
        "titlematches": "صحیفه‌‌ آدی عینیدیر",
        "textmatches": "یازی عینی‌دیر",
        "notextmatches": "هئچ بیر بنزر صحیفه یازی‌سی تاپیلمادی",
-       "prevn": "اؤنجه‌کی {{PLURAL:$1|$1}}",
+       "prevn": "قاباقکی {{PLURAL:$1|$1}}",
        "nextn": "سونراکی {{PLURAL:$1|$1}}",
-       "prev-page": "قاباغکی صحیفه",
+       "prev-page": "قاباقکی صفحه",
        "next-page": "سونراکی صفحه",
        "prevn-title": "قاباقکی {{PLURAL:$1|بیر|$1}} نتیجه",
        "nextn-title": "سونراکی {{PLURAL:$1|بیر|$1}} سونوج",
        "recentchanges": "سوْن دَییشیکلیکلر",
        "recentchanges-legend": "سون دَییشیکلیکلر سئچمه‌لری",
        "recentchanges-summary": "بۇ صفحه‌ده، بۇ ویکیده وئریلن ان سوْن دَییشیکلیکلری ایزله‌یین.",
-       "recentchanges-noresult": "وئریلمیش دؤنم‌ده، بو معیارلارا تطبیق اولان دَییشدیرمه یوخدور.",
+       "recentchanges-noresult": "وئریلمیش مودتده، بو معیارلارا تطبیق اولان دَییشدیرمه یوخدور.",
        "recentchanges-feed-description": "ویکی‌ده‌کی ان سون ديَیشیکلیک‌لری بو يايیم کانالیندان ایزله‌يین.",
        "recentchanges-label-newpage": "بو دییشیک یئنی بیر صفحه یاراتدی",
        "recentchanges-label-minor": "بو بیر کیچیک دَییشدیرمه‌دیر",
        "recentchangeslinked": "باغلی دَییشیکلیکلر",
        "recentchangeslinked-feed": "باغلی دَییشیکلیکلر",
        "recentchangeslinked-toolbox": "باغلی دَییشیکلیکلر",
-       "recentchangeslinked-title": "''$1'' Ø§Û\8cÙ\84Ù\87 Ø§Û\8cÙ\84Ú¯Û\8câ\80\8cلی دییشیکلر",
+       "recentchangeslinked-title": "''$1'' Ø§Û\8cÙ\84Ù\87 Ø¨Ø§Øºلی دییشیکلر",
        "recentchangeslinked-summary": "آشاغیداکی سیياهی، قئيد اوْلونان صحیفه‌‌يه (و يا قئيد اوْلونان کاتئقوْرياداکی صحیفه‌‌لره) داخیلی کئچید وئرن صحیفه‌‌لرده ائدیلمیش سوْن ديَیشیکلیکلرین سیياهیسیدیر. \n[[Special:Watchlist|ایزله‌مه سیياهینیزداکی]] صحیفه‌‌لر '''قالین''' شریفتله گؤستریلمیشدیر.",
        "recentchangeslinked-page": "صفحه آدی:",
        "recentchangeslinked-to": "قئيد اوْلونان صحیفه‌‌ده‌کی دئيیل، اوْنا داخیلی کئچید وئرن صحیفه‌‌لرده‌کی ديَیشیکلیکلری گؤستر",
        "statistics-users": "یازیلمیش [[Special:ListUsers|ایشلدنلر]]",
        "statistics-users-active": "چالیشقان ایشلدنلر",
        "statistics-users-active-desc": "سوْن {{PLURAL:$1|بیر|$1}} گۆن‌ده بیر ایش گؤرن ایشلدنلر",
-       "pageswithprop": "صحیفه اؤزل‌لیگی اولان صحیفه‌لر",
-       "pageswithprop-legend": "صحیفه اؤزل‌لیگی اولان صحیفه‌لر",
+       "pageswithprop": "صفحه خصوصیتی اولان صفحه‌لر",
+       "pageswithprop-legend": "صفحه خصوصیتی اولان صفحه‌لر",
        "pageswithprop-text": "بو صحیفه‌ده، بیر خاص صحیفه اؤزل‌لیگی ایشلدن صحیفه‌لرین لیستی واردیر.",
        "pageswithprop-prop": "اؤزل‌لیک آدی:",
        "pageswithprop-submit": "گئت",
        "uncategorizedcategories": "بؤلمه‌سیز بؤلمه‌لر",
        "uncategorizedimages": "بؤلمه‌سیز فایللار",
        "uncategorizedtemplates": "بؤلمه‌سیز شابلونلار",
-       "unusedcategories": "اÛ\8cستÛ\8cÙ\81ادÙ\87 Ø§Ø¦دیلمه‌میش بؤلمه‌لر",
-       "unusedimages": "ایشلنمه‌میش فایل‌لار",
+       "unusedcategories": "اÛ\8cØ´Ù\84دیلمه‌میش بؤلمه‌لر",
+       "unusedimages": "ایشلدیلمه‌میش فایل‌لار",
        "wantedcategories": "یسته نن بؤلمه‌لر",
        "wantedpages": "ایسته‌نیلن صفحه‌لر",
        "wantedpages-badtitle": "مراجعت زامانتی يانلیش باشلیق: $1",
        "prefixindex": "بوتون اؤن‌اَکلی صحیفه‌لر",
        "prefixindex-namespace": "بوتون صفحه لر (آد فضاسی$1) قاباق دان یاپیشیقی وار",
        "prefixindex-strip": "لیست‌ده، اؤن‌اَکی قوْپارت",
-       "shortpages": "قیسا صحیفه‌‌لر",
+       "shortpages": "قیسا صفحه‌‌لر",
        "longpages": "اۇزون صفحه‌‌لر",
        "deadendpages": "کئچید وئرمه‌ين صحیفه‌‌لر",
        "deadendpagestext": "آشاغیداکی صحیفه‌‌لردن بو ویکیپئدیياداکی دیگر صحیفه‌‌لره هئچ بیر کئچید يوخدور.",
        "logempty": "ژورنالدا اويغون قئيد تاپیلمادی.",
        "log-title-wildcard": "بو متنله باشلایان باش‌لیق‌لاری آختار",
        "showhideselectedlogentries": "گؤستریش/گیزلمه سییاهه ده سئچیلمیش‌لر اوچون",
-       "allpages": "بوتون صحیفه‌لر",
-       "nextpage": "سونراکی صحیفه‌‌ ($1)",
+       "allpages": "بوتون صفحه‌لر",
+       "nextpage": "سونراکی صفحه‌‌ ($1)",
        "prevpage": "اولکی صحیفه ($1)",
-       "allpagesfrom": "بو حرفله باشلایان صحیفه‌لری گؤستر:",
-       "allpagesto": "بو حرفله باشلایان صحیفه لری گؤستر:",
-       "allarticles": "بوتون صحیفه‌لر",
+       "allpagesfrom": "بو حرفله باشلایان صفحه‌لری گؤستر:",
+       "allpagesto": "بو حرفله قورتولان صفحه لری گؤستر:",
+       "allarticles": "بوتون صفحه‌لر",
        "allinnamespace": "بوتون صحیفه‌لر ($1 صحیفه‌لری)",
        "allpagessubmit": "گئت",
        "allpagesprefix": "بورا یازدیغینیز حرف‌لرله باشلایان صحیفه‌لری سیاهی‌سینی:",
        "sp-contributions-newonly": "تکجه صفحه یاراتماق دَییشیکلیکلرینی گؤستر",
        "sp-contributions-submit": "آختار",
        "whatlinkshere": "بۇ صفحه‌‌يه باغلانتیلار",
-       "whatlinkshere-title": "«$1»-ه باغلانان صحیفه‌لر",
+       "whatlinkshere-title": "«$1»-ه باغلانان صفحه‌لر",
        "whatlinkshere-page": "صفحه:",
        "linkshere": "آشاغیداکی صفحه‌لر '''[[:$1]]'''-ه باغلانیب:",
-       "nolinkshere": "'''[[:$1]]'''-ه هئچ بیر صحیفه باغلانماییب‌دیر.",
+       "nolinkshere": "<strong>[[:$1]]</strong>-ه هئچ بیر صفحه باغلانماییب‌دیر.",
        "nolinkshere-ns": "سئچیلمیش آدفضاسیندا، هئچ صحیفه '''[[:$1]]'''-ه باغلانتی‌سی یوخدور.",
        "isredirect": "یوللاندیرما صفحه‌سی",
        "istemplate": "داخیل اولموش",
        "whatlinkshere-prev": "{{PLURAL:$1|قاباقکی|قاباقکی $1}}",
        "whatlinkshere-next": "{{PLURAL:$1|سونراکی|سونراکی $1}}",
        "whatlinkshere-links": "← باغلانتیلار",
-       "whatlinkshere-hideredirs": "یول‌لاندیرمالاری $1",
-       "whatlinkshere-hidetrans": "علاوه‌لری $1",
-       "whatlinkshere-hidelinks": "باغلانتیلاری $1",
+       "whatlinkshere-hideredirs": "$1 یول‌لاندیرمالاری",
+       "whatlinkshere-hidetrans": "$1 علاوه‌لری",
+       "whatlinkshere-hidelinks": "$1 باغلانتیلاری",
        "whatlinkshere-hideimages": "فایل باغلانتیلارینی $1",
        "whatlinkshere-filters": "سۆزگَجلر",
        "autoblockid": "اوتوماتیک باغلانما #$1",
        "blockip": " {{GENDER:$1|ایشلدن}}ی باغلا",
        "blockip-legend": "ایستیفادچی نی باغلا",
        "blockiptext": "آشاغی‌داکی فورمو ایستیفاده ائده‌رک مۆعیّن بیر آی‌پی‌نین و یا قئیدیات‌دان کئچمیش ایستیفاده‌چی‌نین دییشیک‌لیک ائتمه‌سینی مانعه تؤره‌ده بیلرسینیز. بۇ یالنیز واندالیزمین قارشی‌سینی آلماق اۆچون و [[{{MediaWiki:Policy-url}}|قایدا‌لارا]] اۇیغون اوْلا‌راق ائدیلمه‌لی. آشاغی‌یا مۆطلق قاداغا ایله علاقه‌دار بیر شرح یازین. (اؤرنک:-بۇ-صفحه‌لرده واندالیزم ائتمیشدیر).",
-       "ipaddressorusername": "آی-پی عونوانی و یا ایستیفاده‌چی آدی",
+       "ipaddressorusername": "آی‌پی آدرسی یوخسا ایشلدن آدی",
        "ipbexpiry": "بیتمه مدتی:",
        "ipbreason": "ندن:",
        "ipbreason-dropdown": "*باغلانما سبب‌لری:\n** یالان معلومات‌لارین علاوه ائدیلمه‌سی\n** صحیفه‌نین مزمونونون سیلینمه‌سی\n** خاریجی سایت‌لارا ایسپام-کئچیدلر\n** صحیفه‌یه معنا‌سیز و یارارسیز علاوه‌لره گؤره\n** حده و تعقیب‌لره گؤره\n** تحقیره گؤره\n** چوخسای‌لی حساب‌دان سوی ایستیفاده‌یه گؤره\n** قاداغان اولونموش ایستیفاده‌چی آدینا گؤره",
        "unblocked-range": "$1-نین بلوکو گؤتورولدو",
        "unblocked-id": "$1-نین بلوکو گؤتورولدو",
        "unblocked-ip": "[[Special:Contributions/$1|$1]] قاداغاسی قالدیریلدی.",
-       "blocklist": "بلوکلانمیش ایستیفاده‌چیلر",
-       "ipblocklist": "باغÙ\84اÙ\86Ù\85Û\8cØ´ Ø§Û\8cستÛ\8cÙ\81ادÙ\87â\80\8cÚ\86Û\8cلر",
-       "ipblocklist-legend": "بلوکلانمیش ایستیفاده‌چینی آختار",
+       "blocklist": "باغلانمیش ایشلدنلر",
+       "ipblocklist": "باغÙ\84اÙ\86Ù\85Û\8cØ´ Ø§Û\8cØ´Ù\84دÙ\86لر",
+       "ipblocklist-legend": "باغلانمیش ایشلدنی آختار",
        "blocklist-userblocks": "حساب بلوکلارینی گیزلت",
        "blocklist-tempblocks": "مووققتی بلوکلاری گیزله",
        "blocklist-addressblocks": "تک ای‌پی بلوکلارینی گیزله",
        "blocklist-rangeblocks": "ایندیکی بلوکلاری گیزله",
        "blocklist-timestamp": "واخت",
        "blocklist-target": "هدف",
-       "blocklist-expiry": "بیتیش تاریخی",
-       "blocklist-by": "بلوکلامیش ایداره‌چی",
+       "blocklist-expiry": "قورتولما تاریخی",
+       "blocklist-by": "باغلایان ایداره‌چی",
        "blocklist-params": "بلوک پارامئترلری",
        "blocklist-reason": "نَدَن‌لیک",
        "ipblocklist-submit": "آختار",
        "confirm-unwatch-top": "بو صفحه‌نی ایزله‌دیگینیز صفحه‌لردن قالدیریلدی",
        "quotation-marks": "«$1»",
        "imgmultipageprev": "&larr; اولکی صحیفه‌‌",
-       "imgmultipagenext": "سونراکی صحیفه‌‌ &rarr;",
+       "imgmultipagenext": "سونراکی صفحه‌‌ &larr;",
        "imgmultigo": "گئت!",
        "imgmultigoto": "$1 صحیفه‌‌يه گئت",
        "img-lang-default": "(وارساییلان دیل)",
        "ascending_abbrev": "آرتما سیراسینا گؤره",
        "descending_abbrev": "آزالما سیراسینا گؤره",
        "table_pager_next": "سوْنراکی صفحه",
-       "table_pager_prev": "قاباغکی صحیفه",
-       "table_pager_first": "اÛ\8cÙ\84Ú© ØµØ­Û\8cÙ\81ه‌‌",
+       "table_pager_prev": "قاباقکی صفحه",
+       "table_pager_first": "بÛ\8cرÛ\8cÙ\86جÛ\8c ØµÙ\81Ø­ه‌‌",
        "table_pager_last": "سون صحیفه‌‌",
        "table_pager_limit": "صحیفه‌‌ده $1 مؤوقئ سرگیله",
-       "table_pager_limit_label": "هر صحیفه‌ده اولان موردلر سایی‌سی",
+       "table_pager_limit_label": "هر صفحه‌ده اولان موردلر سایی‌سی",
        "table_pager_limit_submit": "گئت",
        "table_pager_empty": "نتیجه سیز",
        "autosumm-blank": "صفحه‌‌نی بوْشالتدی",
index a0c09a2..4fac156 100644 (file)
        "passwordreset-emailsent-capture": "Ліст пра скіданьне паролю быў дасланы, што паказана ніжэй.",
        "passwordreset-emailerror-capture": "Ліст пра скіданьне паролю быў створаны і паказаны ніжэй, але не ўдалося адправіць яго {{GENDER:$2|ўдзельніку|ўдзельніцы}}: $1",
        "passwordreset-emailsent-capture2": "{{PLURAL:$1|Электронны ліст|Электронныя лісты}} скіданьня паролю {{PLURAL:$1|быў дасланы|былі дасланыя}}. {{PLURAL:$1|Імя ўдзельніка і пароль|Сьпіс імёнаў удзельнікаў і паролі}} паказаныя ніжэй.",
+       "passwordreset-emailerror-capture2": "Не атрымалася даслаць {{GENDER:$2|удзельніку|удзельніцы}} ліст электроннай поштай: $1 {{PLURAL:$3|Імя ўдзельніка і пароль|Сьпіс імёнаў удзельнікаў і паролі}} паказаныя ніжэй.",
        "changeemail": "Зьмяніць або выдаліць адрас электроннай пошты",
        "changeemail-header": "Запоўніце гэтую форму, каб зьмяніць ваш адрас электроннай пошты. Калі вы жадаеце выдаліць адрас электроннай пошты, далучаны да вашага рахунку, пакіньце поле новага адрасу электроннай пошты пустым пры запаўненьні формы.",
        "changeemail-passwordrequired": "Вам трэба будзе ўвесьці ваш пароль, каб пацьвердзіць гэтую зьмену.",
index fe4fbfe..6c710f1 100644 (file)
        "sp-contributions-username": "IP adresa ili korisničko ime:",
        "sp-contributions-toponly": "Prikaži samo najnovije izmjene",
        "sp-contributions-newonly": "Prikaži samo izmjene kojima su napravljene nove stranice",
+       "sp-contributions-hideminor": "Sakrij manje izmjene",
        "sp-contributions-submit": "Traži",
        "whatlinkshere": "Šta vodi ovamo",
        "whatlinkshere-title": "Stranice koje vode na \"$1\"",
index a332a75..8e1e80a 100644 (file)
        "log-action-filter-protect-unprotect": "Desprotecció",
        "log-action-filter-upload-upload": "Nova càrrega",
        "log-action-filter-upload-overwrite": "Torna a carregar",
+       "authmanager-authn-not-in-progress": "L'autenticació no està en curs o les dades de sessió s'han perdut. Comenceu de nou des del principi.",
+       "authmanager-authn-no-primary": "Les dades credencials no s'han pogut autenticar.",
+       "authmanager-authn-autocreate-failed": "Ha fallat la creació automàtica d'un compte local: $1",
        "authmanager-realname-label": "Nom real",
-       "authmanager-realname-help": "Nom real de l'usuari"
+       "authmanager-realname-help": "Nom real de l'usuari",
+       "authprovider-resetpass-skip-label": "Omet",
+       "authpage-cannot-login-continue": "No es pot continuar amb l'inicio de sessió. Probablement la vostra sessió ha expirat.",
+       "authpage-cannot-create-continue": "No es pot prosseguir la creació del compte. Probablement la vostra sessió ha expirat.",
+       "changecredentials": "Canvi de dades credencials",
+       "changecredentials-submit": "Canvia les dades credencials",
+       "credentialsform-provider": "Tipus de dades credencials:",
+       "credentialsform-account": "Nom del compte:"
 }
index f1526ec..1c0916c 100644 (file)
        "virus-scanfailed": "cıgerayiş tamam nêbı (kod $1)",
        "virus-unknownscanner": "antiviruso ke nêzanyeno:",
        "logouttext": "'''Şıma hesabra newke vicyay.'''\n\nWexta ke verhafızayê cıgerayoxê şıma pak beno no benate de taye peli de hesabe şıma akerde aseno.",
+       "cannotlogoutnow-title": "Enewke ronıştışo nêracneyêno",
        "welcomeuser": "Ğeyr amey, $1!",
        "welcomecreation-msg": "Hesabê şıma abiyo.\n[[Special:Preferences|{{SITENAME}} vurnayişê tercihanê xo]], xo vir ra mekere.",
        "yourname": "Nameyê karberi:",
        "createacct-reason-ph": "Şımaye çı xo re zewbi hesab vırazeni?",
        "createacct-submit": "Hesabê xo vıraze",
        "createacct-another-submit": "Hesab vıraze",
+       "createacct-continue-submit": "Hesab vıraştışi rê devam ke",
+       "createacct-another-continue-submit": "Hesab vıraştışi rê dewam ke",
        "createacct-benefit-heading": "{{SITENAME}} meş de merduman şi",
        "createacct-benefit-body1": "{{PLURAL:$1|vurnayış|vurnayışi}}",
        "createacct-benefit-body2": "{{PLURAL:$1|wesiqe|wesiqey}}",
        "createacct-benefit-body3": "{{PLURAL:$1|iştıraqkerdoğo nıkayên|iştıraqkerdoğê nıkayêni}}",
        "badretype": "Parolayê ke şıma nuşti yewbini nêtepışneni.",
+       "usernameinprogress": "Qandê nê karberi hesab vıraştışondewamnkeno.  Tay bıpawê",
        "userexists": "Jewna karber enê nami karneno.\nMara reca xorê jewna name bınusnê.",
        "loginerror": "Xetayê hesab ekerdışi",
        "createacct-error": "Xetaya vıraştışê hesabi",
        "resetpass-submit-cancel": "Bıtexelne",
        "resetpass-wrong-oldpass": "parolayo parola maqbul niyo.\nşıma ya parolaye xo vurnayo ya zi parolayo muwaqqat waşto.",
        "resetpass-recycled": "Parolaya şımaya newiye wa paroloya şımaya verêne ra ferqıne bo.",
+       "resetpass-temp-emailed": "E postaya rışyayê yubkoda şıma ronıştış akerdo.  Ronıştışi xo temammkerdışi rê yu parolaya newi lazım a",
        "resetpass-temp-password": "parolayo muweqet:",
        "resetpass-abort-generic": "Vurnayışê parola terefê yew niçıki ra texeliya.",
+       "resetpass-expired": "Dema parolay da şıma qedya ya. Qandê cıkewtışi u patolaya newi vıraz",
        "resetpass-expired-soft": "Wahdey patolanda şıma qedya yo u vurnayış icab keno. Xorê yu parola weçinê yana bahdo weçinayışi rê butona \"{{int:authprovider-resetpass-skip-label}}\" 'i bıploğnê",
        "resetpass-validity-soft": "Parolay şıma ravêrdi niya: $1\n\nXorê yu parola nışan bıkerê  uana bahdo sıfır kerdışi rê grey \"{{int:authprovider-resetpass-skip-label}}\" bıploğnê.",
        "passwordreset": "Parola reset ke",
        "passwordreset-emailsentemail": "Eke na seba hesabê şıma yew adresa e-posteyê qeydına, yew e-posteyê parola nênkerdışi rışiyeno.",
        "passwordreset-emailsent-capture": "Yew e-posteyê esterıtışê parolayo ke rışiya, no cêr mocniyayo.",
        "passwordreset-emailerror-capture": "Yew e-posteyê esterıtışê parolayo ke rışiya, no cêr mocniyayo, ema {{GENDER:$2|karber}}i rê rıştış de mıwefeq nêbi: $1",
+       "passwordreset-invalideamil": "Adresê eposta raşt niya",
        "changeemail": "E-posta adresa xo wedarne",
        "changeemail-header": "E-posya adresta hesabdê xo bıvurnê",
        "changeemail-no-info": "Şıma gani bıkewê pele ke derdest bıresê na pele.",
        "parser-template-recursion-depth-warning": "limitê şablonê newekerdışi biyo de ($1)",
        "language-converter-depth-warning": "xoritiya çarnekarê zıwanan viyarnê ra ($1)",
        "node-count-exceeded-category": "Pela ra hetê kotya amardışê cı ravêrya",
-       "node-count-exceeded-warning": "Amariya pela ravêrya.",
+       "node-count-exceeded-category-desc": "Pela azami amora gozgıray ravêr  da.",
+       "node-count-exceeded-warning": "Pela amora gozgıra ravêr da",
        "expansion-depth-exceeded-category": "Pela dı hetê canaya zoriya herayin ravêrya",
        "expansion-depth-exceeded-warning": "Ravêriya pela xori herayêna",
        "parser-unstrip-loop-warning": "Unstrip lete vineya",
        "search-category": "(kategori $1)",
        "search-file-match": "(zerreyê dosya yewbini gêno)",
        "search-suggest": "To va: $1",
-       "search-rewritten": "Neticey $ asenê.  Herunda ney wa neticey $2  bıasê",
+       "search-rewritten": "Neticey $ asenê.  Herunda ney wa neticey $2 ra bıasê",
        "search-interwiki-caption": "Proceyê bıray",
        "search-interwiki-default": "$1 ra neticey:",
        "search-interwiki-more": "(véşi)",
        "prefs-personal": "Pela karberi",
        "prefs-rc": "Vurriyayışê peyêni",
        "prefs-watchlist": "Lista seyrkerdışi",
+       "prefs-editwatchlist": "Lista seyrkerdışi bıvurne",
+       "prefs-editwatchlist-label": "Listey serkerdışanê cıkewtışi timar kerê",
+       "prefs-editwatchlist-edit": "Sernamanê listey serkerdışanê xo bıasne u timar kerê",
+       "prefs-editwatchlist-raw": "Lista seyrkerdışia xame bıvurne",
+       "prefs-editwatchlist-clear": "Lista serykerdışê xo pak kerê",
        "prefs-watchlist-days": "Rocê ke lista seyrkerdışi de bêrê ramocnaene",
        "prefs-watchlist-days-max": "tewr vêşi $1 {{PLURAL:$1|roci|roci}}",
        "prefs-watchlist-edits": "tewr zêde amarê vurnayışi ke lista seyrkerdışia herakerdiye de bıasê:",
        "prefs-watchlist-token": "Lista seyrkerdışia nışani:",
        "prefs-misc": "ê bini",
        "prefs-resetpass": "Parola bıvurne",
-       "prefs-changeemail": "E-postay bıvurne",
+       "prefs-changeemail": "E-postay bıvurne yana wedarne",
        "prefs-setemail": "E-posta adresiyê xo saz kerê",
        "prefs-email": "Tercihê e-maili",
        "prefs-rendering": "Asayış",
        "columns": "Estûni:",
        "searchresultshead": "Cı geyre",
        "stub-threshold": "Qandé <a href=\"#\" class=\"stub\">Taslağ  formati</a> sinor (bayti):",
+       "stub-threshold-sample-link": "misal",
        "stub-threshold-disabled": "Astengın",
        "recentchangesdays": "Rocê ke vurnayışanê peyênan de bıasê:",
        "recentchangesdays-max": "Tewr zaf $1 {{PLURAL:$1|roc|roci}}",
        "editusergroup": "Grupanê karberi/karbere bıvurne (bıbedelne)",
        "editinguser": "'''[[User:$1|$1]]''' keno weziyetê $2'i bıvurno",
        "userrights-editusergroup": "Grubanê karberi/karbere sero bıgureye (bıxebetiye)",
-       "saveusergroups": "Grubanê karberi qeyd bıke",
+       "saveusergroups": "Grubanê {{GENDER:$1|karberi}} qeyd bıke",
        "userrights-groupsmember": "Ezayê:",
        "userrights-groupsmember-auto": "Ezao daxıl/ezaa daxıle ê:",
        "userrights-groups-help": "şıma şenê grubanê nê karberi/na karbere, oyo/aya ke tede, bıvurnê:\n* qutiya ke nışankerdiya, mocnena ke karber/e na grube dero/dera.\n* qutiya ke nışankerdiye niya, mocnena ke karber/ na grube de niyo/niya.\n* Yew estare * mocneno ke, gruba ke şıma kerda ra ser (daxıl kerda), şıma nêşenê wedarê/hewa dê ya ki dêmlaşta/tersê cı.",
        "right-createpage": "Pele vıraze (pelê ke ê werênayışi niyê)",
        "right-createtalk": "Pela werênayışi vıraze",
        "right-createaccount": "Hesabê karberi vıraze",
+       "right-autocreateaccount": "Xarici yew name dê karberi ya ronıştış ake",
        "right-minoredit": "Vurnayışan qıckek nışan bıde.",
        "right-move": "Pele bere",
        "right-move-subpages": "Pele be bınpelanê cı ra pia bere",
        "right-override-export-depth": "Peleyanê ke tede linkanê 5 ra zafyer estê ay export bike",
        "right-sendemail": "Karberanê binî ra e-mail bişirav",
        "right-passwordreset": "E-postayanê parola reset kerdışa vineno",
+       "right-managechangetags": "[[Special:Tags|Etiketi]] vıraz u aktiv (me)ke",
+       "right-applychangetags": "[[Special:Tags|Etiketa]]  vurnayışana piya dezge fi.",
        "newuserlogpage": "Cıkewtışê hesabvıraştışi",
        "newuserlogpagetext": "Ena log de viraştişê karberî esta.",
        "rightslog": "Qeydê heqanê karberi",
        "apisandbox": "API qumdor",
        "apisandbox-submit": "Bıwazê",
        "apisandbox-reset": "Bestere",
+       "apisandbox-retry": "Fına",
        "apisandbox-examples": "Misali",
        "apisandbox-dynamic-parameters": "Parametreya debyayi",
        "apisandbox-dynamic-parameters-add-label": "Parametre dek:",
        "listgrouprights-removegroup-self-all": "şıma hesabê xo ra eşkeni heme gruban bıveci",
        "listgrouprights-namespaceprotection-header": "Kılm kerdena nameyan",
        "listgrouprights-namespaceprotection-namespace": "Heruna nami",
+       "listgrants": "Hibey",
+       "listgrants-grant": "Hibe",
+       "listgrants-rights": "Heqi",
        "trackingcategories": "Kategoriyê teqibi",
        "trackingcategories-msg": "Kategoriya teqibi",
        "trackingcategories-name": "Namey mesaci",
        "tags-create-tag-name": "Nameyê etiketi:",
        "tags-create-reason": "Sebeb:",
        "tags-create-submit": "Vıraze",
+       "tags-edit-reason": "Sebeb:",
        "comparepages": "Pela miqeyese ke",
        "compare-page1": "Pele 1",
        "compare-page2": "Pele 2",
index aadacab..154b630 100644 (file)
@@ -90,7 +90,7 @@
        "tog-ccmeonemails": "Να μου αποστέλλονται αντίγραφα των μηνυμάτων ηλεκτρονικού ταχυδρομείου που στέλνω σε άλλους χρήστες",
        "tog-diffonly": "Να μην εμφανίζεται περιεχόμενο σελίδων κάτω από τις διαφορές των εκδόσεων",
        "tog-showhiddencats": "Εμφάνιση κρυμμένων κατηγοριών",
-       "tog-norollbackdiff": "ΠαÏ\81άλειÏ\88η Î´Î¹Î±Ï\86οÏ\81άÏ\82 μετά την εκτέλεση επαναφοράς",
+       "tog-norollbackdiff": "ΠαÏ\81άλειÏ\88η ÎµÎ¼Ï\86άνιÏ\83ηÏ\82 Î´Î¹Î±Ï\86οÏ\81Ï\8eν μετά την εκτέλεση επαναφοράς",
        "tog-useeditwarning": "Προειδοποίηση όταν εγκαταλείπω μία σελίδα επεξεργασίας χωρίς να έχω πρώτα αποθηκεύσει τις αλλαγές",
        "tog-prefershttps": "Να γίνεται πάντα χρήση ασφαλούς σύνδεσης όταν ο χρήστης είναι συνδεδεμένος",
        "underline-always": "Πάντα",
        "password-change-forbidden": "Δεν μπορείτε να αλλάξετε τους κωδικούς πρόσβασης σε αυτό το βίκι.",
        "externaldberror": "Είτε συνέβη κάποιο σφάλμα εξωτερικής πιστοποίησης της βάσης δεδομένων είτε δεν σας έχει επιτραπεί να ενημερώσετε τον εξωτερικό σας λογαριασμό.",
        "login": "Είσοδος",
+       "login-security": "Επαληθεύστε την ταυτότητά σας",
        "nav-login-createaccount": "Είσοδος / δημιουργία λογαριασμού",
        "userlogin": "Είσοδος / δημιουργία λογαριασμού",
        "userloginnocreate": "Είσοδος",
        "userlogin-resetpassword-link": "Ξεχάσατε τον κωδικό πρόσβασης;",
        "userlogin-helplink2": "Βοήθεια για τη σύνδεση",
        "userlogin-loggedin": "Είστε ήδη {{GENDER:$1|συνδεδεμένος|συνδεδεμένη}} ως $1.\nΧρησιμοποιήστε την παρακάτω φόρμα για να συνδεθείτε ως άλλος χρήστης.",
+       "userlogin-reauth": "Θα πρέπει να συνδεθείτε ξανά για να επιβεβαιώσετε ότι είστε ο/η {{GENDER:$1|$1}}.",
        "userlogin-createanother": "Δημιουργήστε άλλο λογαριασμό",
        "createacct-emailrequired": "Διεύθυνση ηλεκτρονικού ταχυδρομείου",
        "createacct-emailoptional": "Διεύθυνση ηλεκτρονικού ταχυδρομείου (προαιρετικό)",
        "createacct-email-ph": "Εισαγάγετε τη διεύθυνση ηλεκτρονικού σας ταχυδρομείου",
        "createacct-another-email-ph": "Εισαγάγετε τη διεύθυνση ηλεκτρονικού ταχυδρομείου",
        "createaccountmail": "Χρήση τυχαίου προσωρινού κωδικού πρόσβασης και αποστολή του στην καθοριζόμενη διεύθυνση ηλεκτρονικού ταχυδρομείου",
+       "createaccountmail-help": "Μπορεί να χρησιμοποιηθεί για την δημιουργία λογαριασμού τρίτων χωρίς την γνωστοποίηση των κωδικών πρόσβασής τους.",
        "createacct-realname": "Πραγματικό όνομα (προαιρετικό)",
        "createaccountreason": "Αιτία:",
        "createacct-reason": "Λόγος",
        "createacct-reason-ph": "Γιατί δημιουργείτε έναν άλλο λογαριασμό",
+       "createacct-reason-help": "Εμφανιζόμενο μήνυμα στο μητρώο δημιουργίας λογαριασμών",
        "createacct-submit": "Δημιουργία λογαριασμού χρήστη",
        "createacct-another-submit": "Δημιουργία λογαριασμού",
+       "createacct-continue-submit": "Συνεχίστε την δημιουργία λογαριασμού",
+       "createacct-another-continue-submit": "Συνεχίστε την δημιουργία λογαριασμού",
        "createacct-benefit-heading": "Το {{SITENAME}} έχει φτιαχτεί από ανθρώπους σαν κι εσένα.",
        "createacct-benefit-body1": "{{PLURAL:$1|επεξεργασία|επεξεργασίες}}",
        "createacct-benefit-body2": "{{PLURAL:$1|σελίδα|σελίδες}}",
        "nocookiesnew": "Ο λογαριασμός χρήστη έχει δημιουργηθεί, αλλά δεν έχετε ακόμα συνδεθεί. Το {{SITENAME}} χρησιμοποιεί cookies κατά τη σύνδεση των χρηστών. Τα cookies είναι απενεργοποιημένα στον υπολογιστή σας. Παρακαλούμε ενεργοποιήστε τα και στη συνέχεια συνδεθείτε χρησιμοποιώντας το νέο όνομα χρήστη σας και τον κωδικό σας.",
        "nocookieslogin": "Το {{SITENAME}} χρησιμοποιεί cookies κατά τη σύνδεση των χρηστών. Τα cookies είναι απενεργοποιημένα στον υπολογιστή σας. Παρακαλούμε ενεργοποιήστε τα και ξαναδοκιμάστε!",
        "nocookiesfornew": "Ο λογαριασμός χρήστη δεν δημιουργήθηκε, καθώς δεν μπορούσε να επιβεβαιώσει την πηγή του. \n Βεβαιωθείτε ότι έχετε ενεργοποιήσει τα cookies, ξαναφορτώστε αυτή τη σελίδα και προσπαθήστε ξανά.",
+       "createacct-loginerror": "Ο λογαριασμός δημιουργήθηκε με επιτυχία, αλλά δεν μπορέσατε να συνδεθείτε αυτόματα. Παρακαλώ [[Special:UserLogin|συνδεθείτε χειροκίνητα]].",
        "noname": "Το όνομα χρήστη που έχετε καθορίσει δεν είναι έγκυρο.",
        "loginsuccesstitle": "Επιτυχής σύνδεση",
        "loginsuccess": "Είστε συνδεδεμένος(-η) στο {{SITENAME}} ως \"$1\".",
-       "nosuchuser": "Δεν υπάρχει χρήστης με το όνομα \"$1\".\nΤα ονόματα χρηστών είναι ευαίσθητα σε κεφαλαιογράμματη και μικρογράμματη γραφή.\nΕλέγξτε την ορθογραφία ή [[Special:CreateAccount|δημιουργήστε ένα νέο λογαριασμό]].",
+       "nosuchuser": "Δεν υπάρχει χρήστης με το όνομα \"$1\".\nΤα ονόματα χρηστών είναι ευαίσθητα στα κεφαλαία και στα μικρά.\nΕλέγξτε την ορθογραφία ή [[Special:CreateAccount|δημιουργήστε ένα νέο λογαριασμό]].",
        "nosuchusershort": "Δεν υπάρχει χρήστης με το όνομα \"$1\". Παρακαλούμε ελέγξτε την ορθογραφία.",
        "nouserspecified": "Πρέπει να ορίσετε ένα όνομα χρήστη.",
        "login-userblocked": "Αυτός ο χρήστης έχει αποκλειστεί. Δεν επιτρέπεται σύνδεση.",
        "noemail": "Δεν έχει καθοριστεί ηλεκτρονική διεύθυνση για τον χρήστη \"$1\".",
        "noemailcreate": "Είναι απαραίτητο να υποβάλλετε μια έγκυρη διεύθυνση ηλεκτρονικού ταχυδρομείου",
        "passwordsent": "Σας έχει σταλεί ένας νέος κωδικός στην ηλεκτρονική διέθυνση που δηλώσατε για \"$1\".\nΣας παρακαλούμε να ξανασυνδεθείτε μόλις τον λάβετε.",
-       "blocked-mailpassword": "Î\97 Î´Î¹ÎµÏ\8dθÏ\85νÏ\83η IP Ï\83αÏ\82 ÎµÎ¯Î½Î±Î¹ Î±Ï\80οκλειÏ\83μένη Î±Ï\80Ï\8c ÎµÏ\80εξεÏ\81γαÏ\83ία, ÎºÎ±Î¹ Î­Ï\84Ï\83ι\nδεν ÎµÏ\80ιÏ\84Ï\81έÏ\80εÏ\84αι Î½Î± Ï\87Ï\81ηÏ\83ιμοÏ\80οιήÏ\83ει Ï\84ην Î»ÎµÎ¹Ï\84οÏ\85Ï\81γία Î±Î½Î¬ÎºÏ\84ηÏ\83ηÏ\82 ÎºÏ\89δικοÏ\8d Ï\80Ï\81Ï\8cÏ\83βαÏ\83ηÏ\82, Î³Î¹Î± Ï\84ην Î±Ï\80οÏ\86Ï\85γή ÎºÎ±Ï\84άÏ\87Ï\81ηÏ\83ηÏ\82.",
+       "blocked-mailpassword": "Î\97 Î´Î¹ÎµÏ\8dθÏ\85νÏ\83η IP Ï\83αÏ\82 Î´ÎµÎ½ Î­Ï\87ει Î´Î¹ÎºÎ±Î¯Ï\89μα ÎµÏ\80εξεÏ\81γαÏ\83ίαÏ\82. Î\93ια Ï\84ην Î±Ï\80οÏ\86Ï\85γή ÎºÎ±Ï\84άÏ\87Ï\81ηÏ\83ηÏ\82, Î´ÎµÎ½ ÎµÏ\80ιÏ\84Ï\81έÏ\80εÏ\84αι Î½Î± Ï\87Ï\81ηÏ\83ιμοÏ\80οιήÏ\83εÏ\84ε Ï\84ην Î»ÎµÎ¹Ï\84οÏ\85Ï\81γία Î±Î½Î¬ÎºÏ\84ηÏ\83ηÏ\82 ÎºÏ\89δικοÏ\8d Ï\80Ï\81Ï\8cÏ\83βαÏ\83ηÏ\82 Î±Ï\80Ï\8c Î±Ï\85Ï\84ήν Ï\84ην IP.",
        "eauthentsent": "Ένα μήνυμα επαλήθευσης έχει σταλεί στην ηλεκτρονική διεύθυνση που έχετε δηλώσει.\nΠριν αρχίσει η αποστολή μηνυμάτων στη συγκεκριμένη διεύθυνση, πρέπει να ακολουθήσετε τις οδηγίες που βρίσκονται στο μήνυμα που σας έχει σταλεί, για να επαληθεύσετε ότι η συγκεκριμένη ηλεκτρονική διεύθυνση ανήκει πραγματικά σε εσάς.",
        "throttled-mailpassword": "Ένα email επαναφοράς κωδικού έχει ήδη αποσταλεί, μέσα {{PLURAL:$1|στην τελευταία ώρα|στις τελευταίες $1 ώρες}}.\nΓια την αποφυγή κατάχρησης, μόνο ένα email επαναφοράς κωδικού θα στέλνεται ανά {{PLURAL:$1|ώρα|$1 ώρες}}.",
        "mailerror": "Σφάλμα στην αποστολή του μηνύματος: $1",
        "createaccount-title": "Δημιουργία λογαριασμού για {{SITENAME}}",
        "createaccount-text": "Κάποιος δημιούργησε έναν λογαριασμό για τη διεύθυνση email σας στο {{SITENAME}} ($4) με το όνομα \"$2\", με κωδικό πρόσβασης \"$3\". Θα πρέπει να συνδεθείτε και να αλλάξετε τον κωδικό πρόσβασής σας τώρα.\n\nΜπορείτε να αγνοήσετε αυτό το μήνυμα, αν αυτός ο λογαριασμός δημιουργήθηκε εσφαλμένα.",
        "login-throttled": "Κάνατε πάρα πολλές πρόσφατες απόπειρες σύνδεσης.\nΠαρακαλούμε περιμένετε $1 προτού ξαναδοκιμάσετε.",
-       "login-abort-generic": "Η είσοδος δεν πέτυχε - Ματαιώθηκε",
+       "login-abort-generic": "Η είσοδος σας απέτυχε - Ματαίωση",
        "login-migrated-generic": "Ο λογαριασμός σας έχει μεταναστεύσει, και το όνομα χρήστη σας δεν υπάρχει πλέον σε αυτό το wiki.",
        "loginlanguagelabel": "Γλώσσα: $1",
        "suspicious-userlogout": "Το αίτημα αποσύνδεσής σας απερρίφθη επειδή φαίνεται ότι στάλθηκε από ένα λανθασμένο φυλλομετρητή (browser) ή διακομιστή προσωρινής αποθήκευσης.",
        "createacct-another-realname-tip": "Το πραγματικό όνομα είναι προαιρετικό.\nΑν επιλέξετε να το δώσετε, αυτό θα μπορεί να χρησιμοποιηθεί για να αναγνωριστεί η δουλειά σας.",
        "pt-login": "Σύνδεση",
        "pt-login-button": "Σύνδεση",
+       "pt-login-continue-button": "Συνεχίστε την σύνδεσή σας",
        "pt-createaccount": "Δημιουργία λογαριασμού",
        "pt-userlogout": "Αποσύνδεση",
        "php-mail-error-unknown": "Άγνωστο σφάλμα στη συνάρτηση mail() της PHP.",
        "newpassword": "Νέος κωδικός πρόσβασης",
        "retypenew": "Πληκτρολογήστε ξανά το νέο κωδικό.",
        "resetpass_submit": "Δώστε κωδικό πρόσβασης και συνδεθείτε",
-       "changepassword-success": "Ο κωδικός πρόσβασής σας άλλαξε επιτυχώς!",
+       "changepassword-success": "Ο κωδικός πρόσβασής σας άλλαξε!",
        "changepassword-throttled": "Κάνατε πάρα πολλές πρόσφατες απόπειρες σύνδεσης.\nΠαρακαλούμε περιμένετε $1 προτού ξαναδοκιμάσετε.",
        "botpasswords": "Κωδικοί πρόσβασης για Μποτ",
+       "botpasswords-summary": "<em>Οι κωδικοί των μποτ</em> δίνουν πρόσβαση σε λογαριασμό χρήστη μέσω του API χωρίς να χρησιμοποιούνται τα συνθηματικά της κύριας σύνδεσης του λογαριασμού. Τα δικαιώματα χρήστη όταν με σύνδεση μέσω κωδικού μποτ μπορεί να είναι περιορισμένα.\n\nΑν δεν ξέρετε γιατί θέλετε να το κάνετε αυτό, καλύτερα να μην το κάνετε. Κανένα δεν θα πρέπει να σας ζητήσει να δημιουργήσετε ένα τέτοιο κωδικό και να του τον γνωστοποιήσετε.",
        "botpasswords-disabled": "Οι κωδικοί πρόσβασης των ρομπότ είναι απενεργοποιημένοι.",
        "botpasswords-no-central-id": "Για να χρησιμοποιήσετε τους κωδικούς πρόσβασης των ρομπότ θα πρέπει να συνδεθείτε με έναν κεντρικό λογαριασμό.",
        "botpasswords-existing": "Υπάρχοντες κωδικοί πρόσβασης ρομπότ",
index 600f67d..ac23f6d 100644 (file)
        "log-action-filter-suppress-event": "Log suppression",
        "log-action-filter-suppress-revision": "Revision suppression",
        "log-action-filter-suppress-delete": "Page suppression",
-       "log-action-filter-suppress-block": "User supppression by block",
+       "log-action-filter-suppress-block": "User suppression by block",
        "log-action-filter-suppress-reblock": "User suppression by reblock",
        "log-action-filter-upload-upload": "New upload",
        "log-action-filter-upload-overwrite": "Reupload",
index 6152868..1180d6c 100644 (file)
        "upload-http-error": "Ha ocurrido un error HTTP: $1",
        "upload-copy-upload-invalid-domain": "No se pueden realizar subidas remotas desde este dominio.",
        "upload-foreign-cant-upload": "Este wiki no está configurado para subir archivos al repositorio de archivos externo solicitado.",
+       "upload-dialog-disabled": "En este wiki están desactivadas las subidas de archivos mediante este cuadro de diálogo.",
        "upload-dialog-title": "Subir archivo",
        "upload-dialog-button-cancel": "Cancelar",
        "upload-dialog-button-done": "Hecho",
        "log-action-filter-suppress-event": "Supresión de registros",
        "log-action-filter-suppress-revision": "Supresión de revisiones",
        "log-action-filter-suppress-delete": "Supresión de páginas",
-       "log-action-filter-suppress-block": "Usuario supppression por bloque",
+       "log-action-filter-suppress-block": "Supresión de usuarios por bloque",
        "log-action-filter-suppress-reblock": "Usuario supresión de rebloqueo",
        "log-action-filter-upload-upload": "Subida nueva",
        "log-action-filter-upload-overwrite": "Volver a subir",
index 0510719..c11a673 100644 (file)
@@ -53,7 +53,8 @@
                        "Ms96",
                        "Freshman404",
                        "Hamisun",
-                       "Matma Rex"
+                       "Matma Rex",
+                       "4nn1l2"
                ]
        },
        "tog-underline": "خط کشیدن زیر پیوندها:",
        "password-change-forbidden": "شما نمی‌توانید گذرواژه‌ها را در این ویکی تغییر دهید.",
        "externaldberror": "خطایی در ارتباط با پایگاه داده رخ داده است یا اینکه شما اجازهٔ به‌روزرسانی حساب خارجی خود را ندارید.",
        "login": "ورود به سامانه",
+       "login-security": "هویتتان را تائید کنید",
        "nav-login-createaccount": "ورود به سامانه / ایجاد حساب کاربری",
        "userlogin": "ورود به سامانه / ایجاد حساب کاربری",
        "userloginnocreate": "ورود به سامانه",
        "createacct-another-realname-tip": "نام واقعی اختیاری است.\nاگر آن را وارد کنید هنگام ارجاع به آثارتان و انتساب آن‌ها به شما از نام واقعی‌تان استفاده خواهد شد.",
        "pt-login": "ورود",
        "pt-login-button": "ورود به سامانه",
+       "pt-login-continue-button": "ادامه دادن ورود به سامانه",
        "pt-createaccount": "ایجاد حساب کاربری",
        "pt-userlogout": "خروج",
        "php-mail-error-unknown": "خطای ناشناخته در تابع  mail()‎ پی‌اچ‌پی",
        "botpasswords-invalid-name": "نام کاربری مشخص شده دارای جداکنندهٔ گذرواژهٔ رباتی نیست (\"$1\").",
        "botpasswords-not-exist": "کاربر «$1» گذرواژهٔ رباتی نام‌دهی شدهٔ «$2» ندارد.",
        "resetpass_forbidden": "نمی‌توان گذرواژه‌ها را تغییر داد",
+       "resetpass_forbidden-reason": "نمی‌توانید گذرواژه‌ها را تغییر داد: $1",
        "resetpass-no-info": "برای دسترسی مستقیم به این صفحه شما باید به سامانه وارد شده باشید.",
        "resetpass-submit-loggedin": "تغییر گذرواژه",
        "resetpass-submit-cancel": "لغو",
        "accmailtext": "یک گذرواژهٔ تصادفی برای [[User talk:$1|$1]] به $2 فرستاده شد. می‌توان آن را از صفحهٔ ''[[Special:ChangePassword|تغییر گذرواژه]]'' که هنگام ثبت ورود نمایش می‌یابد تغییر داد.",
        "newarticle": "(تازه)",
        "newarticletext": "شما پیوندی را دنبال کرده‌اید و به صفحه‌ای رسیده‌اید که هنوز وجود ندارد.\nبرای ایجاد صفحه، در مستطیل زیر شروع به نوشتن کنید (برای اطلاعات بیشتر به [$1 صفحهٔ راهنما] مراجعه کنید).\nاگر به اشتباه اینجا آمده‌اید، دکمهٔ «بازگشت» مرورگرتان را بزنید.",
-       "anontalkpagetext": "----''این صفحهٔ بحث برای کاربر گمنامی است که هنوز حسابی درست نکرده است یا از آن استفاده نمی‌کند.\nبنا بر این برای شناسایی‌اش مجبوریم از نشانی آی‌پی عددی استفاده کنیم.\nچنین نشانی‌های آی‌پی ممکن است توسط چندین کاربر به شکل مشترک استفاده شود.\nاگر شما کاربر گمنامی هستید و تصور می‌کنید اظهار نظرات نامربوط به شما صورت گرفته است، لطفاً برای پیشگیری از اشتباه گرفته شدن با کاربران گمنام دیگر در آینده [[Special:CreateAccount|حسابی ایجاد کنید]] یا [[Special:UserLogin|به سامانه وارد شوید]].''",
+       "anontalkpagetext": "----<em>این صفحهٔ بحث برای کاربر گمنامی است که هنوز حسابی درست نکرده است یا از آن استفاده نمی‌کند.\nبنا بر این برای شناسایی‌اش مجبوریم از نشانی آی‌پی عددی استفاده کنیم.</em>\nچنین نشانی‌های آی‌پی ممکن است توسط چندین کاربر به شکل مشترک استفاده شود.\nاگر شما کاربر گمنامی هستید و تصور می‌کنید اظهار نظرات نامربوط به شما صورت گرفته است، لطفاً برای پیشگیری از اشتباه گرفته شدن با کاربران گمنام دیگر در آینده [[Special:CreateAccount|حسابی ایجاد کنید]] یا [[Special:UserLogin|به سامانه وارد شوید]].",
        "noarticletext": "این صفحه هم‌اکنون دارای هیچ متنی نیست.\nشما می‌توانید در صفحه‌های دیگر [[Special:Search/{{PAGENAME}}|عنوان این صفحه را جستجو کنید]]،\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} سیاهه‌های مرتبط را جستجو کنید]،\nیا [{{fullurl:{{FULLPAGENAME}}|action=edit}} این صفحه را ایجاد کنید]</span>.",
        "noarticletext-nopermission": "این صفحه هم‌اکنون متنی ندارد.\nشما می‌توانید در دیگر صفحات [[Special:Search/{{PAGENAME}}|این عنوان را جستجو کنید]]،\nیا <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} سیاهه‌های مرتبط را بگردید]</span> ولی شما اجازه ایجاد این صفحه را ندارید.",
        "missing-revision": "ویرایش #$1 از صفحهٔ «{{FULLPAGENAME}}» موجود نیست.\n\nمعمولاً در اثر پیوند به تاریخچهٔ به‌روز نشدهٔ صفحهٔ حذف شده است.\nمی‌توانید جزئیات بیشتر را در [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} سیاههٔ حذف] بیابید.",
        "userpage-userdoesnotexist": "حساب کاربر «<nowiki>$1</nowiki>» ثبت نشده‌است.\nلطفاً مطمئن شوید که می‌خواهید این صفحه را ایجاد یا ویرایش کنید.",
        "userpage-userdoesnotexist-view": "حساب کاربری «$1» ثبت نشده‌است.",
        "blocked-notice-logextract": "دسترسی این کاربر در حال حاضر بسته است.\nآخرین مورد سیاهه قطع دسترسی در زیر آمده‌است:",
-       "clearyourcache": "<strong>Ù\86کتÙ\87:</strong> Ù¾Ø³ Ø§Ø² Ø°Ø®Û\8cرÙ\87 Ú©Ø±Ø¯Ù\86 Ù\85Ù\85Ú©Ù\86 Ø§Ø³Øª Ø¨Ø±Ø§Û\8c Ø¯Û\8cدÙ\86 ØªØºÛ\8cÛ\8cرات Ù\86Û\8cاز Ø¨Ø§Ø´Ø¯ Ú©Ù\87 Ø­Ø§Ù\81ظÙ\87Ù\94 Ù\86Ù\87اÙ\86Û\8c Ù\85رÙ\88رگر Ø®Ù\88د Ø±Ø§ Ù¾Ø§Ú© Ú©Ù\86Û\8cد.\n*<strong>Ù\81اÛ\8cرÙ\81اکس / Ø³Ø§Ù\81ارÛ\8c:</strong> Ú©Ù\84Û\8cد <em>Shift</em> Ø±Ø§ Ù\86Ú¯Ù\87 Ø¯Ø§Ø±Û\8cد Ù\88 Ø±Ù\88Û\8c Ø¯Ú©Ù\85Ù\87Ù\94 <em>Reload</em> Ú©Ù\84Û\8cÚ© Ú©Ù\86Û\8cدØ\8c Û\8cا Ú©Ù\84Û\8cدâ\80\8cÙ\87اÛ\8c <em>Ctrl-F5</em> Û\8cا <em>Ctrl-R</em> Ø±Ø§ Ø¨Ø§ Ù\87Ù\85 Ù\81شار Ø¯Ù\87Û\8cد (در Ø±Ø§Û\8cاÙ\86Ù\87â\80\8cÙ\87اÛ\8c Ø§Ù¾Ù\84 Ù\85Ú©Û\8cÙ\86تاش Ú©Ù\84Û\8cدâ\80\8cÙ\87اÛ\8c <em>â\8c\98-R</em>)\n*<strong>Ú¯Ù\88Ú¯Ù\84 Ú©Ø±Ù\88Ù\85:</strong> Ú©Ù\84Û\8cدÙ\87اÛ\8c <em>Ctrl+Shift+R</em> Ø±Ø§ Ø¨Ø§ Ù\87Ù\85 Ù\81شار Ø¯Ù\87Û\8cد (در Ø±Ø§Û\8cاÙ\86Ù\87â\80\8cÙ\87اÛ\8c Ø§Ù¾Ù\84 Ù\85Ú©Û\8cÙ\86تاش Ú©Ù\84Û\8cدâ\80\8cÙ\87اÛ\8c <em>â\8c\98-Shift-R</em>)\n*<strong>اÛ\8cÙ\86ترÙ\86ت Ø§Ú©Ø³Ù¾Ù\84Ù\88رر:</strong> Ú©Ù\84Û\8cد <em>Ctrl</em> Ø±Ø§ Ù\86Ú¯Ù\87â\80\8cدارÛ\8cد Ù\88 Ø±Ù\88Û\8c Ø¯Ú©Ù\85Ù\87Ù\94 <em>Refresh</em> Ú©Ù\84Û\8cÚ© Ú©Ù\86Û\8cدØ\8c Û\8cا Ú©Ù\84Û\8cدâ\80\8cÙ\87اÛ\8c <em>Ctrl-F5</em> Ø±Ø§ Ø¨Ø§ Ù\87Ù\85 Ù\81شار Ø¯Ù\87Û\8cد\n*<strong>اپرا:</strong> Ø­Ø§Ù\81ظÙ\87Ù\94 Ù\86Ù\87اÙ\86Û\8c Ù\85رÙ\88رگر Ø±Ø§ Ø§Ø² Ø·Ø±Û\8cÙ\82 Ù\85Ù\86Ù\88Û\8c <em>Tools &rarr; Preferences</em> Ù¾Ø§Ú© Ú©Ù\86Û\8cد",
+       "clearyourcache": "<strong>Ù\86کتÙ\87:</strong> Ù¾Ø³ Ø§Ø² Ø°Ø®Û\8cرÙ\87 Ú©Ø±Ø¯Ù\86 Ù\85Ù\85Ú©Ù\86 Ø§Ø³Øª Ø¨Ø±Ø§Û\8c Ø¯Û\8cدÙ\86 ØªØºÛ\8cÛ\8cرات Ù\86Û\8cاز Ø¨Ø§Ø´Ø¯ Ú©Ù\87 Ø­Ø§Ù\81ظÙ\87Ù\94 Ù\86Ù\87اÙ\86Û\8c Ù\85رÙ\88رگر Ø®Ù\88د Ø±Ø§ Ù¾Ø§Ú© Ú©Ù\86Û\8cد.\n*<strong>Ù\81اÛ\8cرÙ\81اکس / Ø³Ø§Ù\81ارÛ\8c:</strong> Ú©Ù\84Û\8cد <em>Shift</em> Ø±Ø§ Ù\86Ú¯Ù\87 Ø¯Ø§Ø±Û\8cد Ù\88 Ø±Ù\88Û\8c Ø¯Ú©Ù\85Ù\87Ù\94 <em>Reload</em> Ú©Ù\84Û\8cÚ© Ú©Ù\86Û\8cدØ\8c Û\8cا Ú©Ù\84Û\8cدâ\80\8cÙ\87اÛ\8c <em>Ctrl-F5</em> Û\8cا <em>Ctrl-R</em> Ø±Ø§ Ø¨Ø§ Ù\87Ù\85 Ù\81شار Ø¯Ù\87Û\8cد (در Ø±Ø§Û\8cاÙ\86Ù\87â\80\8cÙ\87اÛ\8c Ø§Ù¾Ù\84 Ù\85Ú©Û\8cÙ\86تاش Ú©Ù\84Û\8cدâ\80\8cÙ\87اÛ\8c <em>â\8c\98-R</em>)\n*<strong>Ú¯Ù\88Ú¯Ù\84 Ú©Ø±Ù\88Ù\85:</strong> Ú©Ù\84Û\8cدÙ\87اÛ\8c <em>Ctrl+Shift+R</em> Ø±Ø§ Ø¨Ø§ Ù\87Ù\85 Ù\81شار Ø¯Ù\87Û\8cد (در Ø±Ø§Û\8cاÙ\86Ù\87â\80\8cÙ\87اÛ\8c Ø§Ù¾Ù\84 Ù\85Ú©Û\8cÙ\86تاش Ú©Ù\84Û\8cدâ\80\8cÙ\87اÛ\8c <em>â\8c\98-Shift-R</em>)\n*<strong>اÛ\8cÙ\86ترÙ\86ت Ø§Ú©Ø³Ù¾Ù\84Ù\88رر:</strong> Ú©Ù\84Û\8cد <em>Ctrl</em> Ø±Ø§ Ù\86Ú¯Ù\87â\80\8cدارÛ\8cد Ù\88 Ø±Ù\88Û\8c Ø¯Ú©Ù\85Ù\87Ù\94 <em>Refresh</em> Ú©Ù\84Û\8cÚ© Ú©Ù\86Û\8cدØ\8c Û\8cا Ú©Ù\84Û\8cدâ\80\8cÙ\87اÛ\8c <em>Ctrl-F5</em> Ø±Ø§ Ø¨Ø§ Ù\87Ù\85 Ù\81شار Ø¯Ù\87Û\8cد\n*<strong>اپرا:</strong> Ø¨Ø±Ù\88Û\8cد Ø¨Ù\87 <em>Menu â\86\92 Settings</em> (<em>Opera â\86\92 Preferences</em> on a Mac) and then to <em>Privacy & security â\86\92 Clear browsing data â\86\92 Cached images and files</em>.",
        "usercssyoucanpreview": "'''نکته:''' پیش از ذخیره کردن پرونده سی‌اس‌اس خود، با دکمهٔ '''{{int:showpreview}}''' آن را آزمایش کنید.",
        "userjsyoucanpreview": "'''نکته:''' پیش از ذخیره کردن پروندهٔ جاوااسکریپت خود، با دکمهٔ '''{{int:showpreview}}''' آن را آزمایش کنید.",
        "usercsspreview": "'''فراموش مکنید که شما فقط دارید پیش‌نمایش سی‌اس‌اس کاربری‌تان را می‌بینید.'''\n'''این سی‌اس‌اس هنوز ذخیره نشده‌است!'''",
        "right-override-export-depth": "برون‌بری صفحه‌ها شامل صفحه‌های پیوند شده تا عمق ۵",
        "right-sendemail": "ارسال ایمیل به دیگر کاربران",
        "right-passwordreset": "مشاهدهٔ نامه‌های تنظیم مجدد گذرواژه",
-       "right-managechangetags": "اÛ\8cجاد Ù\88 Ø­Ø°Ù\81 [[Special:Tags|برÚ\86سبâ\80\8cÙ\87ا]] Ø§Ø² Ù¾Ø§Û\8cگاÙ\87 Ø¯Ø§Ø¯Ù\87",
+       "right-managechangetags": "اÛ\8cجاد Ù\88 ØºÛ\8cرÙ\81عاÙ\84 Ú©Ø±Ø¯Ù\86 [[Special:Tags|برÚ\86سبâ\80\8cÙ\87ا]]",
        "right-applychangetags": "تائید [[Special:Tags|برچسب]] بر روی تغییرات یک نفر",
        "right-changetags": "افزودن یا حذف [[Special:Tags|برچسب]] قراردادی بر روی نسخه یا سیاهه ورودی‌ها",
        "right-deletechangetags": "حذف [[Special:Tags|برچسب‌ها]] از پایگاه داده",
        "recentchanges-page-added-to-category": "[[:$1]] به رده اضافه شد",
        "recentchanges-page-added-to-category-bundled": "[[:$1]] به رده افزوده شد، [[Special:WhatLinksHere/$1|این صفحه در صفحه‌های دیگر قرار گرفته است.]]",
        "recentchanges-page-removed-from-category": "[[:$1]] از رده حذف شد",
-       "recentchanges-page-removed-from-category-bundled": "[[:$1]] و [[Special:WhatLinksHere/$1|{{PLURAL:$2|یک صفحه|$2 صفحه}}]] دیگر از رده حذف شدند",
+       "recentchanges-page-removed-from-category-bundled": "[[:$1]] از رده حذف شد، [[Special:WhatLinksHere/$1|این صفحه در صفحه‌های دیگر قرار گرفته است.]]",
        "autochange-username": "تغییرات خودکار مدیاویکی",
        "upload": "بارگذاری پرونده",
        "uploadbtn": "بارگذاری پرونده",
        "sp-contributions-username": "نشانی آی‌پی یا نام کاربری:",
        "sp-contributions-toponly": "فقط ویرایش‌هایی که آخرین نسخه‌اند نمایش داده شود",
        "sp-contributions-newonly": "فقط نمایش ویرایش‌هایی که ایجاد صفحه هستند",
+       "sp-contributions-hideminor": "پنهان کردن ویرایش‌های جزئی",
        "sp-contributions-submit": "جستجو",
        "whatlinkshere": "پیوندها به این صفحه",
        "whatlinkshere-title": "صفحه‌هایی که به «$1» پیوند دارند",
        "whatlinkshere-prev": "{{PLURAL:$1|قبلی|$1 مورد قبلی}}",
        "whatlinkshere-next": "{{PLURAL:$1|بعدی|$1 مورد بعدی}}",
        "whatlinkshere-links": "→ پیوندها",
-       "whatlinkshere-hideredirs": "$1 تغییرمسیر",
-       "whatlinkshere-hidetrans": "$1 تراگنجانش‌ها",
+       "whatlinkshere-hideredirs": "$1 تغییر مسیر",
+       "whatlinkshere-hidetrans": "$1 تراگنجانش",
        "whatlinkshere-hidelinks": "$1 پیوند",
-       "whatlinkshere-hideimages": "$1 پیوندهای پرونده",
+       "whatlinkshere-hideimages": "$1 پیوند پرونده",
        "whatlinkshere-filters": "پالایه‌ها",
        "whatlinkshere-submit": "برو",
        "autoblockid": "شناسه قطع دسترسی خودکار #$1",
        "log-action-filter-suppress-block": "مخفی‌سازی کاربر با بستن",
        "log-action-filter-suppress-reblock": "مخفی‌سازی کاربر با بستن مجدد",
        "log-action-filter-upload-upload": "بارگذاری جدید",
-       "log-action-filter-upload-overwrite": "بارگذاری دوباره"
+       "log-action-filter-upload-overwrite": "بارگذاری دوباره",
+       "authmanager-email-label": "ایمیل",
+       "authmanager-email-help": "آدرس ایمیل",
+       "authmanager-realname-label": "نام واقعی",
+       "authmanager-realname-help": "نام واقعی کاربر",
+       "authmanager-provider-temporarypassword": "گذرواژهٔ موقت",
+       "authprovider-resetpass-skip-label": "رها کردن",
+       "cannotauth-not-allowed-title": "اجازه داده نشد",
+       "cannotauth-not-allowed": "شما برای دسترسی به این صفحه مجاز نیستید",
+       "changecredentials": "تغییر اعتبارنامه‌ها",
+       "changecredentials-submit": "تغییر اعتبارنامه‌ها",
+       "changecredentials-invalidsubpage": "$1 به دلیل نوع اعتبارنامه نادرست قابل پذیرش نیست.",
+       "changecredentials-success": "اعتبارنامه شما تغییر یافت.",
+       "removecredentials": "حذف اعتبارنامه‌ها",
+       "removecredentials-submit": "حذف اعتبارنامه‌ها",
+       "removecredentials-invalidsubpage": "$1 به دلیل نوع اعتبارنامه نادرست قابل پذیرش نیست.",
+       "removecredentials-success": "اعتبارنامهٔ شما حذف شد.",
+       "credentialsform-provider": "نوع اعتبارنامه:",
+       "credentialsform-account": "نام حساب کاربری:",
+       "cannotlink-no-provider-title": "حساب کاربری قابل پیوند وجود ندارد",
+       "cannotlink-no-provider": "حساب کاربری قابل پیوند وجود ندارد.",
+       "linkaccounts": "پیوند حساب کاربری",
+       "linkaccounts-success-text": "حساب کاربری پیوند شده‌است.",
+       "linkaccounts-submit": "پیوند حساب کاربری",
+       "unlinkaccounts": "حذف پیوند حساب کاربری",
+       "unlinkaccounts-success": "پیوند کاربری بدون پیوند شد."
 }
index 116b80b..fc7778c 100644 (file)
        "password-change-forbidden": "Et voi muuttaa salasanoja tässä wikissä.",
        "externaldberror": "Tapahtui virhe ulkoisen autentikointitietokannan käytössä tai sinulla ei ole lupaa päivittää tunnustasi.",
        "login": "Kirjaudu sisään",
+       "login-security": "Varmista henkilöllisyytesi",
        "nav-login-createaccount": "Kirjaudu sisään tai luo tunnus",
        "userlogin": "Kirjaudu sisään tai luo tunnus",
        "userloginnocreate": "Kirjaudu sisään",
        "userlogin-resetpassword-link": "Unohditko salasanasi?",
        "userlogin-helplink2": "Apua sisäänkirjautumiseen",
        "userlogin-loggedin": "Olet jo kirjautunut sisään tunnuksella {{GENDER:$1|$1}}.\nKäytä alla olevaa lomaketta kirjautuaksesi sisään toisena käyttäjänä.",
+       "userlogin-reauth": "Sinun on kirjauduttava sisään uudelleen varmistaaksesi olevasi {{GENDER:$1|$1}}.",
        "userlogin-createanother": "Luo toinen käyttäjätunnus",
        "createacct-emailrequired": "Sähköpostiosoite",
        "createacct-emailoptional": "Sähköpostiosoite (vapaaehtoinen)",
        "createacct-email-ph": "Anna sähköpostiosoitteesi",
        "createacct-another-email-ph": "Lisää sähköpostiosoite",
        "createaccountmail": "Käytä satunnaista väliaikaissalasanaa ja lähetä se alla olevaan sähköpostiosoitteeseen",
+       "createaccountmail-help": "Voidaan käyttää luomaan tunnus toiselle käyttäjälle ilman salasanan tietämistä.",
        "createacct-realname": "Oikea nimi (vapaaehtoinen tieto)",
        "createaccountreason": "Syy:",
        "createacct-reason": "Syy",
        "createacct-reason-ph": "Miksi olet luomassa toista käyttäjätunnusta",
+       "createacct-reason-help": "Tunnustenluontilokissa näytetty viesti",
        "createacct-submit": "Luo tunnus",
        "createacct-another-submit": "Luo käyttäjätunnus",
+       "createacct-continue-submit": "Jatka tunnuksen luomista",
+       "createacct-another-continue-submit": "Jatka tunnuksen luomista",
        "createacct-benefit-heading": "{{SITENAME}} on sinun kaltaistesi ihmisten tekemä.",
        "createacct-benefit-body1": "{{PLURAL:$1|muokkaus|muokkausta}}",
        "createacct-benefit-body2": "{{PLURAL:$1|sivu|sivua}}",
        "nocookiesnew": "Käyttäjätunnus on luotu, mutta et ole kirjautunut sisään. \n{{SITENAME}} käyttää evästeitä sisäänkirjautumisen yhteydessä. \nSelaimesi ei salli evästeitä. \nSalli evästeiden käyttö, ja sen jälkeen kirjaudu sisään juuri luomallasi käyttäjätunnuksella ja salasanalla.",
        "nocookieslogin": "{{SITENAME}} käyttää evästeitä sisäänkirjautumisen yhteydessä. Selaimesi ei salli evästeitä. Ota ne käyttöön, ja yritä uudelleen.",
        "nocookiesfornew": "Käyttäjätunnusta ei luotu, koska sen lähdettä ei kyetty varmistamaan. Varmista, että selaimessasi on käytössä evästeet, päivitä tämä sivu ja yritä uudelleen.",
+       "createacct-loginerror": "Tunnus luotiin onnistuneesti, mutta automaattista sisäänkirjautumista ei voitu tehdä. Siirry [[Special:UserLogin|manuaaliseen kirjautumiseen]].",
        "noname": "Et ole määritellyt kelvollista käyttäjänimeä.",
        "loginsuccesstitle": "Olet kirjautunut sisään",
        "loginsuccess": "'''Olet kirjautunut sivustolle {{SITENAME}} käyttäjänä $1.'''",
        "botpasswords-invalid-name": "Annetussa käyttäjätunnuksessa ei ole bottisalasanan erotinta (\"$1\").",
        "botpasswords-not-exist": "Käyttäjällä \"$1\" ei ole bottisalasanaa nimellä \"$2\".",
        "resetpass_forbidden": "Salasanoja ei voi vaihtaa.",
+       "resetpass_forbidden-reason": "Salasanoja ei voi muuttaa: $1",
        "resetpass-no-info": "Et voi nähdä tätä sivua kirjautumatta sisään.",
        "resetpass-submit-loggedin": "Muuta salasana",
        "resetpass-submit-cancel": "Peruuta",
        "passwordreset-emailsentusername": "Jos on olemassa vastaava rekisteröity sähköpostiosoite, salasanan uudistamisesta kertova viesti lähetetään.",
        "passwordreset-emailsent-capture": "Salasanan uudistamisesta kertova sähköpostiviesti on lähetetty, ja se näkyy myös alla.",
        "passwordreset-emailerror-capture": "Allaoleva sähköpostiviesti luotiin, mutta sen lähettäminen {{GENDER:$2|käyttäjälle}} epäonnistui: $1",
+       "passwordreset-emailsent-capture2": "Salasananpalautus{{PLURAL:$1|sähköposti|sähköpostit}} on lähetetty. {{PLURAL:$1|Käyttäjä ja salasana|Luettelo käyttäjistä ja salasanoista}} näytetään alapuolella.",
+       "passwordreset-emailerror-capture2": "Sähköpostin lähettäminen {{GENDER:$2|käyttäjälle}} epäonnistui: $1 {{PLURAL:$3|Käyttäjänimi ja salasana|Luettelo käyttäjänimistä ja salasanoista}} näytetään alla.",
+       "passwordreset-invalideamil": "Virheellinen sähköpostiosoite",
+       "passwordreset-nodata": "Käyttäjätunnusta ja salasanaa ei annettu",
        "changeemail": "Muuta tai poista sähköpostiosoite",
        "changeemail-header": "Täydennä tämä lomake, jolla voit muuttaa sähköpostiosoitettasi. Jos haluat poistaa sähköpostiosoitteesi kokonaan tunnuksesi yhteydestä, älä kirjoita uudeksi osoitteeksi mitään vaan jätä se tyhjäksi.",
        "changeemail-passwordrequired": "Sinun on syötettävä salasanasi vahvistaaksesi tämän muutoksen.",
        "userpage-userdoesnotexist": "Käyttäjätunnusta \"$1\" ei ole rekisteröity. \nVarmista, haluatko luoda tämän sivun tai muokata sitä.",
        "userpage-userdoesnotexist-view": "Käyttäjätunnusta ”$1” ei ole rekisteröity.",
        "blocked-notice-logextract": "Tämä käyttäjä on tällä hetkellä estetty.\nAlla on viimeisin estolokin tapahtuma:",
-       "clearyourcache": "'''Huomautus:''' Selaimen välimuisti pitää tyhjentää asetusten tallentamisen jälkeen, jotta muutokset tulisivat voimaan.\n* '''Firefox ja Safari:''' Napsauta ''Shift''-näppäin pohjassa ''Päivitä'' tai paina ''Ctrl-F5'' tai ''Ctrl-R'' (''⌘-R'' Macilla)\n* '''Google Chrome:''' Paina ''Ctrl-Shift-R'' (''⌘-Shift-R'' Macilla)\n* '''Internet Explorer:''' Napsauta ''Ctrl''-näppäin pohjassa ''Päivitä'' tai paina ''Ctrl-F5''\n* '''Opera:''' Tyhjennä välimuisti: ''Tools→Preferences''",
+       "clearyourcache": "<strong>Huomautus:</strong> Selaimen välimuisti pitää tyhjentää asetusten tallentamisen jälkeen, jotta muutokset tulisivat voimaan.\n* <strong>Firefox ja Safari:</strong> Napsauta <em>Shift</em>-näppäin pohjassa <em>Päivitä</em>, tai paina <em>Ctrl-F5</em> tai <em>Ctrl-R</em> (<em>⌘-R</em> Macilla)\n* <strong>Google Chrome:</strong> Paina <em>Ctrl-Shift-R</em> (<em>⌘-Shift-R</em> Macilla)\n* <strong>Internet Explorer:</strong> Napsauta <em>Ctrl</em>-näppäin pohjassa <em>Päivitä</em> tai paina <em>Ctrl-F5</em>\n* <strong>Opera:</strong> <em>Menu → Settings</em> (<em>Opera → Preferences</em> Macilla) ja sitten <em>Privacy & security → Clear browsing data → Cached images and files</em>.",
        "usercssyoucanpreview": "Voit testata uutta CSS:ää ennen tallennusta käyttämällä painiketta ”{{int:showpreview}}”.",
        "userjsyoucanpreview": "Voit testata uutta JavaScriptiä ennen tallennusta käyttämällä painiketta ”{{int:showpreview}}”.",
        "usercsspreview": "'''Tämä on CSS:n esikatselu. Muutoksia ei ole vielä tallennettu.'''",
        "continue-editing": "Siirry muokkauskenttään",
        "previewconflict": "Tämä esikatselu näyttää miltä muokkausalueella oleva teksti näyttää tallennettuna.",
        "session_fail_preview": "Muokkaustasi ei voitu tallentaa, koska istuntosi tiedot ovat kadonneet.\n\nSaatat olla kirjautunut ulos. '''Varmista, että olet edelleen kirjautunut sisään ja yritä uudelleen'''. Jos ongelma ei katoa, yritä [[Special:UserLogout|kirjautua ulos]] ja takaisin sisään, ja varmista, että selaimesi sallii evästeet tältä sivustolta.",
-       "session_fail_preview_html": "'''Muokkaustasi ei voitu tallentaa, koska istuntosi tiedot ovat kadonneet.'''\n\nEsikatselu on piilotettu varokeinona JavaScript-hyökkäyksiä vastaan – tässä wikissä on HTML-tila päällä.\n\nYritä uudelleen. Jos ongelma ei katoa, yritä [[Special:UserLogout|kirjautua ulos]] ja takaisin sisään.",
+       "session_fail_preview_html": "Valitettavasti muokkaustasi ei voitu käsitellä istunnon tietojen katoamisen vuoksi.\n\n<em>Koska sivustolla {{SITENAME}} on käytössä suodattamaton HTML-koodi, esikatselu on piilotettu JavaScript-hyökkäyksien torjumiseksi</em>\n\n<strong>Jos tämä on oikea muokkausyritys, yritä uudelleen.</strong> Jos ongelma ei katoa, yritä [[Special:UserLogout|kirjautua ulos]] ja takaisin sisään. Tarkista myös, että selaimesi sallii evästeet tältä sivustolta.",
        "token_suffix_mismatch": "'''Muokkauksesi on hylätty, koska asiakasohjelmasi ei osaa käsitellä välimerkkejä muokkaustarkisteessa. Syynä voi olla viallinen välityspalvelin.'''",
        "edit_form_incomplete": "'''Osa muokkauslomakkeesta ei saavuttanut palvelinta. Tarkista, että muokkauksesi ovat vahingoittumattomia ja yritä uudelleen.'''",
        "editing": "Muokataan sivua $1",
        "trackingcategories-msg": "Tarkkailuluokka",
        "trackingcategories-name": "Viestin nimi",
        "trackingcategories-desc": "Kriteerit luokkaan joutumiselle",
+       "restricted-displaytitle-ignored": "Sivut, joiden näytettäviä otsikoita ei huomioida",
+       "restricted-displaytitle-ignored-desc": "Sivulla on <code><nowiki>{{DISPLAYTITLE}}</nowiki></code>, jota ei oteta huomioon, koska se ei vastaa sivun oikeaa nimeä.",
        "noindex-category-desc": "Tätä sivua eivät hakurobotit indeksoi, koska sivulla on taikasana <code><nowiki>__NOINDEX__</nowiki></code> ja koska sivu on sellaisessa nimiavaruudessa, jossa taikasanan käyttö on sallittua.",
        "index-category-desc": "Tällä sivulla on koodi <code><nowiki>__INDEX__</nowiki></code> ja sivu on sellaisessa nimiavaruudessa, jossa koodin käyttö on sallittua. Tämän vuoksi hakurobotit indeksoivat tämän sivun, vaikka ilman koodia sivua ei indeksoitaisi normaalisti.",
        "post-expand-template-inclusion-category-desc": "Sivun koko on suurempi kuin <code>$wgMaxArticleSize</code>, kun kaikki mallineet on laajennettu. Tämän vuoksi joitakin mallineita ei laajennettu.",
        "rollbacklinkcount": "palauta $1 {{PLURAL:$1|muutos|muutosta}}",
        "rollbacklinkcount-morethan": "palauta yli $1 {{PLURAL:$1|muutos|muutosta}}",
        "rollbackfailed": "Palautus epäonnistui",
+       "rollback-missingparam": "Tarvittavat parametrit puuttuvat pyynnöstä.",
        "cantrollback": "Aiempaan versioon ei voi palauttaa, koska viimeisin kirjoittaja on sivun ainoa tekijä.",
        "alreadyrolled": "Käyttäjän [[User:$2|$2]] ([[User talk:$2|keskustelu]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]) tekemiä muutoksia sivuun [[:$1]] ei voida kumota, koska joku toinen käyttäjä on joko muuttanut sivua tai palauttanut muokkauksen.\n\nViimeisimmän muokkauksen on tehnyt käyttäjä [[User:$3|$3]] ([[User talk:$3|keskustelu]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).",
        "editcomment": "Muokkauksen yhteenveto oli: <em>$1</em>.",
        "revertpage": "Käyttäjän [[Special:Contributions/$2|$2]] ([[User talk:$2|keskustelu]]) muokkaukset kumottiin ja sivu palautettiin viimeisimpään käyttäjän [[User:$1|$1]] tekemään versioon.",
        "revertpage-nouser": "Käyttäjän (käyttäjänimi poistettu) muokkaukset kumottiin ja sivu palautettiin viimeisimpään käyttäjän {{GENDER:$1|[[User:$1|$1]]}} tekemään versioon",
        "rollback-success": "Käyttäjän $1 tekemät muokkaukset kumottiin ja sivu palautettiin käyttäjän $2 versioon.",
+       "rollback-success-notify": "Kumottiin käyttäjän $1 muokkaukset; palautettiin viimeiseen käyttäjän $2 versioon. [$3 Näytä muutokset]",
        "sessionfailure-title": "Istuntovirhe",
        "sessionfailure": "Istuntosi kanssa on ongelma. Muutosta ei toteutettu varotoimena istuntokaappauksien takia. Käytä selaimen paluutoimintoa ja päivitä sivu, jolta tulit, ja yritä uudelleen.",
        "changecontentmodel": "Muuta sivun sisältömallia",
        "sp-contributions-username": "IP-osoite tai käyttäjätunnus:",
        "sp-contributions-toponly": "Näytä vain muokkaukset, jotka ovat viimeisimpiä versioita",
        "sp-contributions-newonly": "Näytä vain muokkaukset, joilla on luotu sivu",
+       "sp-contributions-hideminor": "Piilota pienet muutokset",
        "sp-contributions-submit": "Hae",
        "whatlinkshere": "Tänne viittaavat sivut",
        "whatlinkshere-title": "Sivut, jotka viittaavat sivulle $1",
        "confirm-watch-top": "Lisätäänkö tämä sivu tarkkailulistallesi?",
        "confirm-unwatch-button": "OK",
        "confirm-unwatch-top": "Poistetaanko tämä sivu tarkkailulistaltasi?",
+       "confirm-rollback-button": "OK",
+       "confirm-rollback-top": "Palauta tämän sivun muokkaukset?",
        "percent": "$1&#160;%",
        "quotation-marks": "\"$1\"",
        "imgmultipageprev": "← edellinen sivu",
        "timezone-local": "Paikallinen",
        "duplicate-defaultsort": "'''Varoitus:''' Oletuslajitteluavain ”$2” korvaa aiemman oletuslajitteluavaimen ”$1”.",
        "duplicate-displaytitle": "<strong>Varoitus:</strong> Näytettävä otsikko \"$2\" päällekirjoittaa edellisen otsikon \"$1\".",
+       "restricted-displaytitle": "<strong>Varoitus:</strong> Näytettävää otsikkoa \"$1\" ei huomioitu, koska se ei vastaa sivun oikeaa nimeä.",
        "invalid-indicator-name": "<strong>Virhe:</strong> Sivun tilan osoittimien attribuutti <code>name</code> ei saa olla tyhjä.",
        "version": "Versio",
        "version-extensions": "Asennetut laajennukset",
        "api-error-nomodule": "Sisäinen virhe: tallennusmoduulia ei ole asetettu.",
        "api-error-ok-but-empty": "Sisäinen virhe: palvelimelta ei saatu vastausta.",
        "api-error-overwrite": "Olemassa olevan tiedoston korvaaminen toisella ei ole sallittua.",
+       "api-error-ratelimited": "Yrität tallentaa lyhyessä ajassa enemmän tiedostoja kuin tämä wiki sallii.\nYritä uudelleen muutaman minuutin kuluttua.",
        "api-error-stashfailed": "Sisäinen virhe: Väliaikaisen tiedoston tallentaminen epäonnistui.",
        "api-error-publishfailed": "Sisäinen virhe: Väliaikaisen tiedoston julkaiseminen epäonnistui.",
        "api-error-stasherror": "Tiedostoa ladattaessa tapahtui virhe.",
        "log-action-filter-suppress-reblock": "Käyttäjätunnuksen häivyttäminen uudella estolla",
        "log-action-filter-upload-upload": "Uusi tallennus",
        "log-action-filter-upload-overwrite": "Päälletallennus",
+       "authmanager-authn-not-in-progress": "Varmennus ei ole käynnissä tai istunnon tiedot ovat hävinneet. Ole hyvä ja aloita uudelleen alusta.",
+       "authmanager-authn-no-primary": "Annettua kirjautumistietoja ei pystytty varmentamaan.",
+       "authmanager-authn-no-local-user": "Annetut kirjautumistiedot eivät kuulu millekään tämän wikin käyttäjistä.",
+       "authmanager-authn-no-local-user-link": "Annetut kirjautumisiedot ovat kelvolliset, mutta eivät liity mihinkään tämän wikin käyttäjään. Kirjaudu sisään toisella tavalla, tai luo uusi käyttäjä ja sinulla on mahdollisuus linkittää aiemmat kirjautumistietosi tälle käyttäjälle.",
+       "authmanager-authn-autocreate-failed": "Paikallisen tunnuksen automaattinen luonti epäonnistui: $1",
+       "authmanager-change-not-supported": "Annettuja kirjautumistietoja ei voida muuttaa, koska mikään ei käyttäisi niitä.",
+       "authmanager-create-disabled": "Tunnusten luonti ei ole käytössä.",
+       "authmanager-create-from-login": "Luodaksesi tunnuksen täytä alla olevat kentät.",
+       "authmanager-create-not-in-progress": "Tunnuksen luonti ei ole käynnissä tai istunnon tiedot ovat hävinneet. Ole hyvä ja aloita uudelleen alusta.",
+       "authmanager-create-no-primary": "Annettuja kirjautumistietoja ei voitu käyttää tunnuksen luontiin.",
+       "authmanager-link-no-primary": "Annettuja kirjautumistietoja ei voitu käyttää tunnuksen linkittämiseen.",
+       "authmanager-link-not-in-progress": "Tunnuksen linkitys ei ole käynnissä tai istunnon tiedot ovat hävinneet. Ole hyvä ja aloita uudelleen alusta.",
+       "authmanager-authplugin-setpass-failed-title": "Salasanan muuttaminen epäonnistui",
+       "authmanager-authplugin-setpass-failed-message": "Varmennuslisäosa esti salasanan muuttamisen.",
+       "authmanager-authplugin-create-fail": "Varmennuslisäosa esti tunnuksen luonnin.",
+       "authmanager-authplugin-setpass-denied": "Varmennuslisäosa ei salli salasanojen muuttamista.",
+       "authmanager-autocreate-noperm": "Automaattinen tunnustenluonti ei ole sallittu.",
+       "authmanager-autocreate-exception": "Automaattinen tunnuksenluonti on tilapäisesti poistettu käytöstä aikaisempien virheiden vuoksi.",
+       "authmanager-userdoesnotexist": "Käyttäjätunnusta ”$1” ei ole rekisteröity.",
+       "authmanager-username-help": "Käyttäjänimi varmentamiseen.",
+       "authmanager-password-help": "Salasana varmentamiseen.",
+       "authmanager-retype-help": "Salasana uudelleen vahvistaaksesi.",
+       "authmanager-email-label": "Sähköposti",
+       "authmanager-email-help": "Sähköpostiosoite",
+       "authmanager-realname-label": "Oikea nimi",
+       "authmanager-realname-help": "Käyttäjän oikea nimi",
+       "authmanager-provider-password": "Salasanapohjainen varmennus",
        "authmanager-provider-temporarypassword": "Väliaikainen salasana",
-       "authprovider-resetpass-skip-label": "Ohita"
+       "authprovider-confirmlink-message": "Viimeisimpien kirjautumisyritystesi perusteella seuraavat tunnukset voidaan linkittää wikitunnuksellesi. Tunnusten linkittäminen mahdollistaa sisäänkirjautumisen niitä käyttämällä. Valitse tunnukset, jotka tulisi linkittää.",
+       "authprovider-confirmlink-request-label": "Tunnukset, jotka tulisi yhdistää",
+       "authprovider-confirmlink-success-line": "$1: Linkitetty onnistuneesti.",
+       "authprovider-confirmlink-failed": "Tunnuksen linkitys ei onnistunut täysin: $1",
+       "authprovider-resetpass-skip-label": "Ohita",
+       "authprovider-resetpass-skip-help": "Ohita salasanan palautus.",
+       "authform-nosession-login": "Varmennus onnistui, mutta selaimesi ei pysty \"muistamaan\" sisäänkirjautumista.\n\n$1",
+       "authform-nosession-signup": "Tunnus luotiin, mutta selaimesi ei pysty \"muistamaan\" sisäänkirjautumista.\n\n$1",
+       "specialpage-securitylevel-not-allowed-title": "Ei sallittu",
+       "specialpage-securitylevel-not-allowed": "Valitettavasti sinulla ei ole oikeutta muokata tätä sivua, koska henkilöllisyyttäsi ei voitu varmentaa.",
+       "authpage-cannot-login": "Kirjautumista ei voitu aloittaa.",
+       "authpage-cannot-login-continue": "Kirjautumista ei voitu jatkaa. Istuntosi todennäköisesti aikakatkaistiin.",
+       "authpage-cannot-create": "Tunnuksen luontia ei voitu aloittaa.",
+       "authpage-cannot-create-continue": "Tunnuksen luontia ei voitu jatkaa. Istuntosi todennäköisesti aikakatkaistiin.",
+       "authpage-cannot-link": "Tunnuksen linkittämistä ei voitu aloittaa.",
+       "authpage-cannot-link-continue": "Tunnuksen linkittämistä ei voitu jatkaa. Istuntosi todennäköisesti aikakatkaistiin.",
+       "cannotauth-not-allowed-title": "Pääsy estetty",
+       "cannotauth-not-allowed": "Sinulla ei ole oikeutta käyttää tätä sivua",
+       "changecredentials": "Muuta kirjautumistietoja",
+       "changecredentials-submit": "Muuta kirjautumistietoja",
+       "changecredentials-invalidsubpage": "$1 ei ole kelvollinen kirjautumistietojen tyyppi",
+       "changecredentials-success": "Kirjautumistietosi on muutettu.",
+       "removecredentials": "Poista kirjautumistiedot",
+       "removecredentials-submit": "Poista kirjautumistiedot",
+       "removecredentials-invalidsubpage": "$1 ei ole kelvollinen kirjautumistietojen tyyppi.",
+       "removecredentials-success": "Kirjautumistietosi on poistettu.",
+       "credentialsform-provider": "Kirjautumistietojen tyyppi:",
+       "credentialsform-account": "Tunnuksen nimi:",
+       "cannotlink-no-provider-title": "Linkitettäviä tunnuksia ei ole",
+       "cannotlink-no-provider": "Linkitettäviä tunnuksia ei ole.",
+       "linkaccounts": "Linkitä tunnuksia",
+       "linkaccounts-success-text": "Tunnus linkitettiin.",
+       "linkaccounts-submit": "Linkitä tunnuksia",
+       "unlinkaccounts": "Poista tunnusten linkityksiä",
+       "unlinkaccounts-success": "Tunnuksen linkitys poistettiin.",
+       "authenticationdatachange-ignored": "Varmennustietojen muutosta ei käsitelty. Ehkä palveluntarjoajaa ei määritelty?"
 }
index 6e024be..c5c7c1c 100644 (file)
        "allmessagesname": "Nom du message",
        "allmessagesdefault": "Message par défaut",
        "allmessagescurrent": "Message actuel",
-       "allmessagestext": "Ceci est la liste des messages disponibles dans l’espace MediaWiki.\nVeuillez visiter la [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation Régionalisation de MediaWiki] et [https://translatewiki.net/ translatewiki.net] si vous désirez contribuer à la régionalisation générique de MediaWiki.",
+       "allmessagestext": "Ceci est la liste des messages système disponibles dans l’espace de noms MediaWiki.\nVeuillez visiter la [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation Régionalisation de MediaWiki] et [https://translatewiki.net/ translatewiki.net] si vous désirez contribuer à la régionalisation générique de MediaWiki.",
        "allmessagesnotsupportedDB": "Cette page '''{{ns:special}}:Allmessages''' n'est pas utilisable car '''$wgUseDatabaseMessages''' a été désactivé.",
        "allmessages-filter-legend": "Filtrer",
        "allmessages-filter": "Filtrer par état de modification :",
index 22e113e..ddc6770 100644 (file)
        "passwordreset-text-one": "Lìon am foirm seo gus am facal-faire agad ath-shuidheachadh.",
        "passwordreset-text-many": "Lìon {{PLURAL:$1|an raon|aon dhe na raointean}} gus facal-faire sealach fhaighinn air a' phost-d.",
        "passwordreset-disabled": "Chaidh ath-shuidheachadh nam faclan-faire a chur à comas air an uicidh seo.",
-       "passwordreset-emaildisabled": "Chaidh gleusan a' phuist-d a chur à comas san uicidh seo.",
+       "passwordreset-emaildisabled": "Chaidh feartan a' phuist-d a chur à comas san uicidh seo.",
        "passwordreset-username": "Ainm-cleachdaiche:",
        "passwordreset-domain": "Àrainn-lìn:",
        "passwordreset-capture": "A bheil thu airson coimhead air a' phost-d?",
index 1f06775..2086c75 100644 (file)
        "privacy": "מדיניות הפרטיות",
        "privacypage": "Project:מדיניות הפרטיות",
        "badaccess": "שגיאה בהרשאות",
-       "badaccess-group0": "×\90×\99× ×\9a ×\9e×\95רש×\94 ×\9c×\91צע ×\90ת ×\94פע×\95×\9c×\94 ×©×\91×\99קשת.",
-       "badaccess-groups": "הפעולה שביקשת לבצע מוגבלת למשתמשים ב{{PLURAL:$2|קבוצה הבאה|אחת הקבוצות הבאות}}: $1.",
+       "badaccess-group0": "×\90×\99×\9f {{GENDER:|×\9c×\9a\9c×\9a\9c×\9b×\9d}} ×\94רש×\90×\94 ×\9c×\91צע ×\90ת ×\94פע×\95×\9c×\94 ×©{{GENDER:|×\91×\99קשת|×\91×\99קשת|×\91×\99קשת×\9d}}.",
+       "badaccess-groups": "הפעולה ש{{GENDER:|ביקשת|ביקשת|ביקשתם}} לבצע מוגבלת למשתמשים ב{{PLURAL:$2|קבוצה הבאה|אחת הקבוצות הבאות}}: $1.",
        "versionrequired": "נדרשת גרסה $1 של מדיה־ויקי",
        "versionrequiredtext": "גרסה $1 של מדיה־ויקי נדרשת לשימוש בדף זה. למידע נוסף, ראו את [[Special:Version|דף הגרסה]].",
        "ok": "אישור",
        "actionthrottled": "הפעולה הוגבלה",
        "actionthrottledtext": "כאמצעי נגד שימוש לרעה, קיימת מגבלה על ביצוע פעולה זו פעמים רבות מדי בזמן קצר, וחרגת מהמגבלה הזאת.\nנא לנסות שוב בעוד מספר דקות.",
        "protectedpagetext": "דף זה מוגן כדי למנוע עריכה ופעולות אחרות.",
-       "viewsourcetext": "באפשרותכם לצפות בטקסט המקור של הדף ולהעתיקו.",
+       "viewsourcetext": "ב{{GENDER:|אפשרותך|אפשרותך|אפשרותכם}} לצפות בטקסט המקור של הדף ולהעתיקו.",
        "viewyourtext": "באפשרותך לצפות בטקסט המקור של <strong>העריכות שלך</strong> בדף הזה ולהעתיקו.",
        "protectedinterface": "דף זה הוא אחד הדפים המספקים הודעות מערכת לתוכנה שמפעילה את {{SITENAME}}, והוא מוגן כדי למנוע השחתות.\nכדי להוסיף או לשנות תרגומים של הודעות מערכת עבור כל אתרי הוויקי, יש להשתמש ב־[https://translatewiki.net/ translatewiki.net], פרויקט התרגום של מדיה־ויקי.",
        "editinginterface": "<strong>אזהרה:</strong> הדף ש{{GENDER:|אתה עורך|את עורכת|אתם עורכים}} הוא אחד הדפים המספקים הודעות מערכת לתוכנה שמפעילה את {{SITENAME}}.\nשינויים בדף הזה ישפיעו על תצוגת ממשק המשתמש של משתמשים אחרים באתר.",
        "translateinterface": "כדי להוסיף או לשנות תרגומים של הודעות מערכת עבור כל אתרי הוויקי, יש להשתמש ב־[https://translatewiki.net/ translatewiki.net], פרויקט התרגום של מדיה־ויקי.",
        "cascadeprotected": "דף זה מוגן מעריכה כי הוא מוכלל {{PLURAL:$1|בדף הבא, שמופעלת עליו|בדפים הבאים, שמופעלת עליהם}} הגנה מדורגת:\n$2",
-       "namespaceprotected": "אין לך הרשאה לערוך דפים במרחב השם <strong>$1</strong>.",
+       "namespaceprotected": "אין {{GENDER:|לך|לך|לכם}} הרשאה לערוך דפים במרחב השם <strong>$1</strong>.",
        "customcssprotected": "אינך מורשה לערוך דף CSS זה כיוון שהוא כולל הגדרות אישיות של משתמש אחר.",
        "customjsprotected": "אינך מורשה לערוך דף JavaScript זה כיוון שהוא כולל הגדרות אישיות של משתמש אחר.",
        "mycustomcssprotected": "אין לך הרשאה לערוך דף CSS זה.",
        "userpage-userdoesnotexist": "חשבון המשתמש \"$1\" אינו רשום.\nאנא {{GENDER:|בדוק|בִדקי|בִדקו}} אם {{GENDER:|ברצונך|ברצונך|ברצונכם}} ליצור/לערוך את הדף הזה.",
        "userpage-userdoesnotexist-view": "חשבון המשתמש \"$1\" אינו רשום.",
        "blocked-notice-logextract": "{{GENDER:$1|המשתמש הזה חסום|המשתמשת הזו חסומה}} כרגע.\nהפעולה האחרונה ביומן החסימות מוצגת להלן:",
-       "clearyourcache": "<strong>הערה:</strong> לאחר השמירה, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.\n* <strong>פיירפוקס / ספארי:</strong> להחזיק את המקש <em>Shift</em> בעת לחיצה על <strong>טעינה מחדש</strong> (Reload), או ללחוץ על צירוף המקשים <em>Ctrl-F5</em> או <em>Ctrl-R</em> (במחשב מק: <em dir=\"ltr\">⌘-R</em>)\n* <strong>גוגל כרום:</strong> ללחוץ על צירוף המקשים <em>Ctrl-Shift-R</em> (במחשב מק: <em dir=\"ltr\">⌘-Shift-R</em>)\n* <strong>אינטרנט אקספלורר:</strong> ללחוץ ולהחזיק את המקש <em>Ctrl</em> בעת לחיצה על <strong>רענן</strong> (Refresh), או ללחוץ על צירוף המקשים <em>Ctrl-F5</em>\n* <strong>אופרה:</strong> לפתוח <em>תפריט ← הגדרות</em> (במחשב מק <em>Opera ← העדפות</em>) ואז ללחוץ על <em>פרטיות ואבטחה ← מחק היסטוריית גלישה ← Cached images and files</em>.",
+       "clearyourcache": "<strong>הערה:</strong> לאחר השמירה, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.\n* <strong>פיירפוקס / ספארי:</strong> להחזיק את המקש <em>Shift</em> בעת לחיצה על <strong>טעינה מחדש</strong> (Reload), או ללחוץ על צירוף המקשים <em>Ctrl-F5</em> או <em>Ctrl-R</em> (במחשב מק: <em dir=\"ltr\">⌘-R</em>).\n* <strong>גוגל כרום:</strong> ללחוץ על צירוף המקשים <em>Ctrl-Shift-R</em> (במחשב מק: <em dir=\"ltr\">⌘-Shift-R</em>).\n* <strong>אינטרנט אקספלורר:</strong> להחזיק את המקש <em>Ctrl</em> בעת לחיצה על <strong>רענן</strong> (Refresh), או ללחוץ על צירוף המקשים <em>Ctrl-F5</em>.\n* <strong>אופרה:</strong> לפתוח <em>תפריט ← הגדרות</em> (במחשב מק: <em>Opera ← העדפות</em>) ואז ללחוץ על <em>פרטיות ואבטחה ← מחק היסטוריית גלישה ← Cached images and files</em>.",
        "usercssyoucanpreview": "<strong>עצה:</strong> השתמשו בכפתור \"{{int:showpreview}}\" כדי לבחון את גיליון ה־CSS החדש שלכם לפני השמירה.",
        "userjsyoucanpreview": "<strong>עצה:</strong> השתמשו בכפתור \"{{int:showpreview}}\" כדי לבחון את סקריפט ה־JavaScript החדש שלכם לפני השמירה.",
        "usercsspreview": "<strong>זִכרו שזו רק תצוגה מקדימה של גיליון ה־CSS שלכם.\nהוא עדיין לא נשמר!</strong>",
        "sectioneditnotsupported-title": "עריכת פסקאות אינה נתמכת",
        "sectioneditnotsupported-text": "עריכת פסקאות אינה נתמכת בדף זה.",
        "permissionserrors": "שגיאת הרשאה",
-       "permissionserrorstext": "×\90×\99× ×\9b×\9d ×\9e×\95רש×\99×\9d לבצע פעולה זו, {{PLURAL:$1|מהסיבה הבאה|מהסיבות הבאות}}:",
+       "permissionserrorstext": "×\90×\99×\9f ×\91{{GENDER:|×\90פשר×\95ת×\9a\90פשר×\95ת×\9a\90פשר×\95ת×\9b×\9d}} לבצע פעולה זו, {{PLURAL:$1|מהסיבה הבאה|מהסיבות הבאות}}:",
        "permissionserrorstext-withaction": "אין ב{{GENDER:|אפשרותך|אפשרותך|אפשרותכם}} $2, מה{{PLURAL:$1|סיבה הבאה|סיבות הבאות}}:",
        "contentmodelediterror": "לא ניתן לערוך את הגרסה הזאת כי מודל התוכן שלה הוא <code>$1</code>, השונה ממודל התוכן הנוכחי של הדף, <code>$2</code>.",
        "recreate-moveddeleted-warn": "'''אזהרה: הנכם יוצרים דף חדש שנמחק בעבר.'''\n\nכדאי לשקול אם יהיה זה נכון להמשיך לערוך את הדף.\nיומני המחיקות וההעברות של הדף מוצגים להלן:",
        "prefs-custom-css": "קובץ CSS מותאם אישית",
        "prefs-custom-js": "קובץ JavaScript מותאם אישית",
        "prefs-common-css-js": "קובצי CSS/JavaScript משותפים לכל העיצובים:",
-       "prefs-reset-intro": "×\91×\90פשר×\95ת×\9a ×\9c×\94שת×\9eש ×\91×\93×£ ×\96×\94 כדי להחזיר את ההעדפות שלך להגדרות ברירת המחדל של האתר.\nלא ניתן לבטל פעולה זו.",
+       "prefs-reset-intro": "×\91×\90פשר×\95ת×\9a ×\9c×\94שת×\9eש ×\91×\90פשר×\95ת ×\96×\95 כדי להחזיר את ההעדפות שלך להגדרות ברירת המחדל של האתר.\nלא ניתן לבטל פעולה זו.",
        "prefs-emailconfirm-label": "אימות כתובת דוא\"ל:",
        "youremail": "דואר אלקטרוני:",
        "username": "שם {{GENDER:$1|המשתמש|המשתמשת}}:",
        "action-writeapi": "להשתמש ב־API לשינוי דפים",
        "action-delete": "למחוק דף זה",
        "action-deleterevision": "למחוק גרסה זו",
-       "action-deletedhistory": "×\9cצפ×\95ת ×\91×\94×\99ס×\98×\95ר×\99×\94 ×\94×\9e×\97×\95ק×\94 ×©×\9c ×\93×£ ×\96×\94",
+       "action-deletedhistory": "×\9cצפ×\95ת ×\91×\94×\99ס×\98×\95ר×\99×\94 ×\94×\9e×\97×\95ק×\94 ×©×\9c ×\93פ×\99×\9d",
        "action-browsearchive": "לחפש דפים מחוקים",
        "action-undelete": "לשחזר דף זה",
        "action-suppressrevision": "לבדוק ולשחזר גרסה מוסתרת זו",
-       "action-suppressionlog": "×\9cצפ×\95ת ×\91×\99×\95×\9e×\9f ×¤×¨×\98×\99 זה",
+       "action-suppressionlog": "×\9cצפ×\95ת ×\91×\99×\95×\9e×\9f ×\94פר×\98×\99 ×\94זה",
        "action-block": "לחסום משתמשים מעריכה",
-       "action-protect": "×\9cשנ×\95ת ×\90ת ×¨×\9eת ×\94×\94×\92× ×\94 ×¢ל דף זה",
-       "action-rollback": "×\9cש×\97×\96ר ×\91×\9e×\94×\99ר×\95ת ×\90ת ×¢×¨×\99×\9b×\95ת ×\94×\9eשת×\9eש ×\94×\90×\97ר×\95×\9f ×©×¢×¨×\9a ×\93×£ ×\9eס×\95ים",
-       "action-import": "לייבא דפים מאתר ויקי אחר",
-       "action-importupload": "×\9c×\99×\99×\91×\90 ×\93פ×\99×\9d ×\91×\90×\9eצע×\95ת ×\94×¢×\9c×\90ת ×§×\95×\91×¥",
+       "action-protect": "×\9cשנ×\95ת ×\90ת ×¨×\9eת ×\94×\94×\92× ×\94 ×©ל דף זה",
+       "action-rollback": "×\9c×\91צע ×©×\97×\96×\95ר ×\9e×\94×\99ר ×©×\9c ×\94ער×\99×\9b×\95ת ×©× ×¢×©×\95 ×¢×\9cÖ¾×\99×\93×\99 ×\94×¢×\95ר×\9a ×\94×\90×\97ר×\95×\9f ×\91×\93פים",
+       "action-import": "לייבא דפים מאתרי ויקי אחרים",
+       "action-importupload": "×\9c×\99×\99×\91×\90 ×\93פ×\99×\9d ×\91×\90×\9eצע×\95ת ×\94×¢×\9c×\90ת ×§×\91צ×\99×\9d",
        "action-patrol": "לסמן עריכות של אחרים כבדוקות",
        "action-autopatrol": "לסמן את העריכות {{GENDER:|שלך|שלך|שלכם}} כבדוקות",
        "action-unwatchedpages": "לצפות ברשימת הדפים שאינם במעקב",
-       "action-mergehistory": "×\9c×\9e×\96×\92 ×\90ת ×\94×\94×\99ס×\98×\95ר×\99×\94 של דף זה",
+       "action-mergehistory": "×\9c×\9e×\96×\92 ×\90ת ×\94×\99ס×\98×\95ר×\99×\99ת ×\94×\92רס×\90×\95ת של דף זה",
        "action-userrights": "לערוך את כל הרשאות המשתמש",
        "action-userrights-interwiki": "לערוך את ההרשאות של משתמשים באתרי ויקי אחרים",
-       "action-siteadmin": "×\9c× ×¢×\95×\9c ×\90×\95 ×\9c×\91×\98×\9c ×\90ת × ×¢×\99×\9cת בסיס הנתונים",
-       "action-sendemail": "לשלוח דואר אלקטרוני",
-       "action-editmywatchlist": "לערוך את רשימת המעקב שלך",
+       "action-siteadmin": "×\9c× ×¢×\95×\9c ×\90×\95 ×\9c×\91×\98×\9c ×\90ת ×\94× ×¢×\99×\9c×\94 ×©×\9c בסיס הנתונים",
+       "action-sendemail": "לשלוח דואר אלקטרוני למשתמשים",
+       "action-editmywatchlist": "לערוך את רשימת המעקב {{GENDER:|שלך|שלך|שלכם}}",
        "action-viewmywatchlist": "לצפות ברשימת המעקב שלך",
        "action-viewmyprivateinfo": "לצפות במידע הפרטי שלך",
-       "action-editmyprivateinfo": "לערוך את המידע הפרטי שלך",
-       "action-editcontentmodel": "×\9cער×\95×\9a ×\90ת ×\9e×\95×\93×\9c ×\94ת×\95×\9b×\9f ×©×\9c ×\93×£",
-       "action-managechangetags": "×\9c×\99צ×\95ר, ×\9c×\94פע×\99×\9c ×\95לבטל תגיות",
+       "action-editmyprivateinfo": "לערוך את המידע הפרטי {{GENDER:|שלך|שלך|שלכם}}",
+       "action-editcontentmodel": "×\9cשנ×\95ת ×\90ת ×\9e×\95×\93×\9c ×\94ת×\95×\9b×\9f ×©×\9c ×\93פ×\99×\9d",
+       "action-managechangetags": "×\9c×\99צ×\95ר, ×\9c×\94פע×\99×\9c ×\90×\95 לבטל תגיות",
        "action-applychangetags": "להחיל תגיות יחד עם שינויים",
        "action-changetags": "להוסיף ולהסיר תגיות לגרסאות ולרשומות יומן",
        "action-deletechangetags": "למחוק תגיות מבסיס הנתונים",
        "protectedpages-unknown-timestamp": "לא ידוע",
        "protectedpages-unknown-performer": "משתמש לא ידוע",
        "protectedtitles": "כותרות מוגנות",
-       "protectedtitles-summary": "×\91×\93×£ ×\96×\94 ×¨×©×\95×\9e×\95ת ×\94×\9b×\95תר×\95ת ×©×\9e×\95×\92× ×\95ת ×\9bעת ×\9eפנ×\99 ×\99צ×\99ר×\94. ×\9cרש×\99×\9eת ×\94×\93פ×\99×\9d ×\94ק×\99×\99×\9e×\99×\9d ×©×\9e×\95×\92× ×\99×\9d, ×¨×\90×\95 [[{{#special:ProtectedPages}}|{{int:protectedpages}}]].",
+       "protectedtitles-summary": "×\91×\93×£ ×\96×\94 ×¨×©×\95×\9e×\95ת ×\94×\9b×\95תר×\95ת ×©×\9c ×\94×\93פ×\99×\9d ×©×\9e×\95×\92× ×\99×\9d ×\9bעת ×\9eפנ×\99 ×\99צ×\99ר×\94. ×\9cרש×\99×\9eת ×\94×\93פ×\99×\9d ×\94ק×\99×\99×\9e×\99×\9d ×©×\9e×\95×\92× ×\99×\9d, {{GENDER:|ר×\90×\94|ר×\90×\99|ר×\90×\95}} [[{{#special:ProtectedPages}}|{{int:protectedpages}}]].",
        "protectedtitlesempty": "אין כרגע כותרות מוגנות עם הפרמטרים האלה.",
        "protectedtitles-submit": "הצגת הדפים",
        "listusers": "רשימת משתמשים",
        "activeusers-noresult": "לא נמצאו משתמשים.",
        "activeusers-submit": "הצגת משתמשים פעילים",
        "listgrouprights": "רשימת הרשאות לקבוצה",
-       "listgrouprights-summary": "×\96×\95×\94×\99 ×¨×©×\99×\9e×\94 ×©×\9c ×§×\91×\95צ×\95ת ×\94×\9eשת×\9eש ×\94×\9e×\95×\92×\93ר×\95ת ×\91×\90תר ×\96×\94, ×¢×\9d ×\94×\94רש×\90×\95ת ×©×\9c ×\9b×\9c ×\90×\97ת.\nמידע נוסף על ההרשאות ניתן למצוא [[{{MediaWiki:Listgrouprights-helppage}}|כאן]].",
+       "listgrouprights-summary": "×\96×\95×\94×\99 ×¨×©×\99×\9e×\94 ×©×\9c ×§×\91×\95צ×\95ת ×\94×\9eשת×\9eש ×\94×\9e×\95×\92×\93ר×\95ת ×\91×\90תר ×\96×\94, ×¢×\9d ×\94×\94רש×\90×\95ת ×©×\9c ×\9b×\9c ×§×\91×\95צ×\94.\nמידע נוסף על ההרשאות ניתן למצוא [[{{MediaWiki:Listgrouprights-helppage}}|כאן]].",
        "listgrouprights-key": "מקרא:\n* <span class=\"listgrouprights-granted\">הרשאה שהוענקה</span>\n* <span class=\"listgrouprights-revoked\">הרשאה שהוסרה</span>",
        "listgrouprights-group": "קבוצה",
        "listgrouprights-rights": "הרשאות",
        "listgrouprights-helppage": "Help:הרשאות",
        "listgrouprights-members": "(רשימת חברים)",
        "listgrouprights-right-display": "<span class=\"listgrouprights-granted\">$1 <code dir=\"ltr\">($2)</code></span>",
-       "listgrouprights-addgroup": "הוספת {{PLURAL:$2|הקבוצה|הקבוצות}}: $1",
-       "listgrouprights-removegroup": "הסרת {{PLURAL:$2|הקבוצה|הקבוצות}}: $1",
-       "listgrouprights-addgroup-all": "הוספת כל הקבוצות",
-       "listgrouprights-removegroup-all": "הסרת כל הקבוצות",
-       "listgrouprights-addgroup-self": "הוספת {{PLURAL:$2|הקבוצה|הקבוצות}} לחשבון האישי: $1",
-       "listgrouprights-removegroup-self": "הסרת {{PLURAL:$2|הקבוצה|הקבוצות}} מהחשבון האישי: $1",
-       "listgrouprights-addgroup-self-all": "×\94×\95ספת ×\9b×\9c ×\94ק×\91×\95צ×\95ת ×\9c×\97ש×\91×\95×\9f ×\94×\90×\99ש×\99",
-       "listgrouprights-removegroup-self-all": "×\94סרת ×\9b×\9c ×\94ק×\91×\95צ×\95ת ×\9e×\94×\97ש×\91×\95×\9f ×\94×\90×\99ש×\99",
+       "listgrouprights-addgroup": "הוספת משתמשים ל{{PLURAL:$2|קבוצה|קבוצות}}: $1",
+       "listgrouprights-removegroup": "הסרת משתמשים מה{{PLURAL:$2|קבוצה|קבוצות}}: $1",
+       "listgrouprights-addgroup-all": "×\94×\95ספת ×\9eשת×\9eש×\99×\9d ×\9c×\9b×\9c ×\94ק×\91×\95צ×\95ת",
+       "listgrouprights-removegroup-all": "×\94סרת ×\9eשת×\9eש×\99×\9d ×\9e×\9b×\9c ×\94ק×\91×\95צ×\95ת",
+       "listgrouprights-addgroup-self": "הוספת המשתמש עצמו ל{{PLURAL:$2|קבוצה|קבוצות}}: $1",
+       "listgrouprights-removegroup-self": "הסרת המשתמש עצמו מה{{PLURAL:$2|קבוצה|קבוצות}}: $1",
+       "listgrouprights-addgroup-self-all": "×\94×\95ספת ×\94×\9eשת×\9eש ×¢×¦×\9e×\95 ×\9c×\9b×\9c ×\94ק×\91×\95צ×\95ת",
+       "listgrouprights-removegroup-self-all": "×\94סרת ×\94×\9eשת×\9eש ×¢×¦×\9e×\95 ×\9e×\9b×\9c ×\94ק×\91×\95צ×\95ת",
        "listgrouprights-namespaceprotection-header": "הגבלות על מרחבי שם",
        "listgrouprights-namespaceprotection-namespace": "מרחב השם",
        "listgrouprights-namespaceprotection-restrictedto": "ההרשאה או ההרשאות המאפשרות למשתמשים לערוך",
        "tooltip-p-logo": "ביקור בעמוד הראשי",
        "tooltip-n-mainpage": "ביקור בעמוד הראשי",
        "tooltip-n-mainpage-description": "ביקור בעמוד הראשי",
-       "tooltip-n-portal": "×\90×\95×\93×\95ת ×\94×\9e×\99×\96×\9d, ×\9b×\99צ×\93 ×ª×\95×\9b×\9c×\95 ×\9c×¢×\96×\95ר, ×\94×\99×\9b×\9f למצוא דברים",
+       "tooltip-n-portal": "×\90×\95×\93×\95ת ×\94×\9e×\99×\96×\9d, ×\90×\99×\9a ×\90פשר ×\9c×¢×\96×\95ר, ×\90×\99פ×\94 למצוא דברים",
        "tooltip-n-currentevents": "מציאת מידע רקע על האירועים האחרונים",
        "tooltip-n-recentchanges": "רשימת השינויים האחרונים באתר",
        "tooltip-n-randompage": "טעינת דף אקראי",
        "log-action-filter-patrol": "סוג הסימונים של השינויים כבדוקים:",
        "log-action-filter-protect": "סוג ההגנות:",
        "log-action-filter-rights": "סוג שינויי ההרשאות:",
-       "log-action-filter-suppress": "סוג ההעלמות",
+       "log-action-filter-suppress": "סוג ההעלמות:",
        "log-action-filter-upload": "סוג ההעלאות:",
        "log-action-filter-all": "הכול",
        "log-action-filter-block-block": "חסימות",
index 63f963d..b09b06d 100644 (file)
        "december-date": "December $1",
        "period-am": "de.",
        "period-pm": "du.",
-       "pagecategories": "{{PLURAL:$1|Kategória|Kategóriák}}",
+       "pagecategories": "{{PLURAL:$1|Kategória|Kategória}}",
        "category_header": "A(z) „$1” kategóriába tartozó lapok",
        "subcategories": "Alkategóriák",
        "category-media-header": "A(z) „$1” kategóriába tartozó médiafájlok",
        "createacct-another-realname-tip": "A valódi nevet nem kötelező megadni, de ha úgy döntesz, hogy megadod, azzal leszel feltüntetve a munkád szerzőjeként.",
        "pt-login": "Bejelentkezés",
        "pt-login-button": "Bejelentkezés",
+       "pt-login-continue-button": "Bejelentkezés folytatása",
        "pt-createaccount": "Fiók létrehozása",
        "pt-userlogout": "Kijelentkezés",
        "php-mail-error-unknown": "Ismeretlen hiba a PHP mail() függvényében",
        "minoredit": "Apró változtatás",
        "watchthis": "A lap figyelése",
        "savearticle": "Lap mentése",
+       "publishpage": "Lap mentése",
        "preview": "Előnézet",
        "showpreview": "Előnézet megtekintése",
        "showdiff": "Változtatások megtekintése",
        "right-managechangetags": "[[Special:Tags|címkék]] létrehozása és törlése az adatbázisban",
        "right-applychangetags": "[[Special:Tags|címkék]] alkalmazása a változakra",
        "right-changetags": "egyedi lapváltozatokon és naplóbejegyzéseken tetszőleges [[Special:Tags|címkék]] hozzáadása és törlése",
+       "right-deletechangetags": "[[Special:Tags|Címkék]] törlése az adatbázisból",
        "grant-generic": "„$1” jogosultságcsomag",
        "grant-group-page-interaction": "interakció lapokkal",
        "grant-group-file-interaction": "interakció médiával",
        "action-managechangetags": "adatbázis címkék létrehozása és törlése",
        "action-applychangetags": "változtatások címkézése",
        "action-changetags": "egyedi változtatások és napló bejegyzések tetszőleges címkével való ellátása és törlése",
+       "action-deletechangetags": "címkék törlése az adatbáziból",
        "nchanges": "$1 változtatás",
        "enhancedrc-since-last-visit": "$1 az utolsó látogatás óta",
        "enhancedrc-history": "történet",
        "sp-contributions-username": "IP-cím vagy felhasználónév:",
        "sp-contributions-toponly": "Csak a jelenleg utolsónak számító változtatásokat mutassa",
        "sp-contributions-newonly": "Csak az új oldalt létrehozó szerkesztéseket mutassa",
+       "sp-contributions-hideminor": "Apró szerkesztések elrejtése",
        "sp-contributions-submit": "Keresés",
        "whatlinkshere": "Mi hivatkozik erre",
        "whatlinkshere-title": "A(z) „$1” lapra hivatkozó lapok",
        "lockdbsuccesstext": "Az adatbázist zárolták.\n<br />A karbantartás befejezése után ne feledd el [[Special:UnlockDB|kinyitni]].",
        "unlockdbsuccesstext": "Az adatbázis kinyitása kész.",
        "lockfilenotwritable": "Az adatbázist zároló fájl nem írható. Az adatbázis zárolásához vagy kinyitásához ennek a webkiszolgáló által írhatónak kell lennie.",
+       "databaselocked": "Az adatbázis már le van zárva.",
        "databasenotlocked": "Az adatbázis nincs lezárva.",
        "lockedbyandtime": "($1 zárta le $2 $3-kor)",
        "move-page": "$1 átnevezése",
        "confirm-watch-top": "Hozzá szeretnéd adni a lapot a figyelőlistádhoz?",
        "confirm-unwatch-button": "OK",
        "confirm-unwatch-top": "El szeretnéd távolítani a lapot a figyelőlistádról?",
+       "confirm-rollback-button": "OK",
+       "confirm-rollback-top": "Visszavonod a változtatásokat?",
        "ellipsis": "…",
        "quotation-marks": "„$1”",
        "imgmultipageprev": "← előző oldal",
        "sessionprovider-mediawiki-session-cookiesessionprovider": "sütialapú munkamenetek",
        "sessionprovider-nocookies": "A sütik le lehetnek tiltva. Engedélyezd a sütiket, és próbáld meg újra!",
        "randomrootpage": "Véletlen lap a gyökérből",
+       "log-action-filter-block": "Blokk típusa:",
        "log-action-filter-delete": "Törlés típusa:",
        "log-action-filter-import": "Importálás típusa:",
        "log-action-filter-all": "Mind",
index ffa666a..2deaf03 100644 (file)
        "mergehistory-submit": "ВIашагIхотта нийсдараш",
        "mergehistory-empty": "Корадинзар нийсдараш вIашагIхоттадерглолаш.",
        "mergehistory-reason": "Бахьан:",
-       "revertmerge": "Декъа",
+       "revertmerge": "Дéкъа",
        "history-title": "\"$1\" — хувцамай истори",
        "difference-title": "$1 — версешта юкъе йола башхало",
        "lineno": "МугI $1:",
-       "compareselectedversions": "Ð¥Ñ\8cаÑ\80жа Ð´Ð¾Ñ\80жамаÑ\88а Ñ\82аÑ\80она Ñ\82Iа Ñ\85Ñ\8cажа",
+       "compareselectedversions": "Ð\92IаÑ\88и Ð¹Ð¸Ñ\81Ñ\82а Ñ\85еÑ\80жа Ð²ÐµÑ\80Ñ\81еÑ\88",
        "editundo": "юхадаккха",
        "diff-multi-sameuser": "({{PLURAL:$1|цхьа юкъ хулаш йола верси|$1 юкъ хулаш йола версеш}} гуш яц цу доакъашхочун)",
        "searchresults": "Лахар чакхдоалаш корадаьр",
        "searchresults-title": "«$1» лахар",
-       "notextmatches": "ОагIувнаша яздамий вIашагIакхетараш дац",
+       "notextmatches": "ОагIонай тексташта юкъе цхьатара хилар дац",
        "prevn": "{{PLURAL:$1|1=хьалхайогIар|хьалхайогIараш}} $1",
        "nextn": "{{PLURAL:$1|1=тIехьайоагIар|тIехьайоагIараш}} $1",
        "prevn-title": "{{PLURAL:$1|1=$1 хьалхара йоазув|$1 хьалхара йоазувнаш}}",
        "nextn-title": "{{PLURAL:$1|ТIадоагIа $1 яздар|ТIадоагIа $1 яздараш}}",
        "shown-title": "Гойта $1 {{PLURAL:$1|яздаьр|яздаьраш}} укх оáгIон тIа",
        "viewprevnext": "ДIахьажа ($1 {{int:pipe-separator}} $2) ($3)",
-       "searchmenu-exists": "'''УкÑ\85 Ð¼Ð°Ñ\81Ñ\81а-Ñ\85Ñ\8cаÑ\85Ñ\8cоадайÑ\82амаÑ\87 ÐµÑ\80 Ð¾Ð°Ð³|Ñ\83в \"[[:$1]]\" Ñ\8f'''",
+       "searchmenu-exists": "'''УкÑ\85 Ð²Ð¸ÐºÐ¸ Ñ\87Ñ\83 Ð¹Ð¾Ð»Ð°Ñ\88 Ñ\8f Ð¾Ð°Ð³Ó\80Ñ\83в Â«[[:$1]]»'''",
        "searchmenu-new": "<strong>Хьакхолла оагIув «[[:$1]]» укх вики-проекте!</strong>\n{{PLURAL:$2|0=|Иштта хьажа Iайха лийха оагIонга.|Иштта хьажа хьай лахара хьахиннарашка.}}",
        "searchprofile-articles": "Кертера оагIонаш",
        "searchprofile-images": "Мультимедиа",
index 4fd412f..5983c88 100644 (file)
@@ -98,7 +98,8 @@
                        "Mpiva",
                        "Urielejh",
                        "Matma Rex",
-                       "Matteocng"
+                       "Matteocng",
+                       "Einreiher"
                ]
        },
        "tog-underline": "Sottolinea i collegamenti:",
        "viewyourtext": "È possibile visualizzare e copiare il codice sorgente delle <strong>tue modifiche</strong> a questa pagina.",
        "protectedinterface": "Questa pagina contiene un elemento che fa parte dell'interfaccia utente del software di questo sito ed è protetta per evitare possibili abusi.\nPer aggiungere o modificare le traduzioni valide su tutti i wiki, usa [https://translatewiki.net/ translatewiki.net], il progetto di localizzazione di MediaWiki.",
        "editinginterface": "<strong>Attenzione:</strong> il testo di questa pagina fa parte dell'interfaccia utente del software di questo sito. Tutte le modifiche apportate a questa pagina si riflettono sui messaggi visualizzati per tutti gli utenti su questo wiki.",
-       "translateinterface": "Per aggiungere o modificare le traduzioni valide su tutti i wiki, usa [https://translatewiki.net/ translatewiki.net], il progetto MediaWiki per la localizzazione.",
+       "translateinterface": "Per aggiungere o modificare le traduzioni valide su tutti i wiki, usa [https://translatewiki.net/ translatewiki.net], il progetto di localizzazione MediaWiki.",
        "cascadeprotected": "Su questa pagina non è possibile effettuare modifiche perché è inclusa {{PLURAL:$1|nella pagina indicata di seguito, che è stata protetta|nelle pagine indicate di seguito, che sono state protette}} selezionando la protezione \"ricorsiva\":\n$2",
        "namespaceprotected": "Non si dispone dei permessi necessari per modificare le pagine del namespace '''$1'''.",
        "customcssprotected": "Non si dispone dei permessi necessari alla modifica di questa pagina CSS, in quanto contiene le impostazioni personali di un altro utente.",
        "previewnote": "'''Ricorda che questa è solo un'anteprima.'''\nLe tue modifiche NON sono ancora state salvate!",
        "continue-editing": "Vai all'area di modifica",
        "previewconflict": "L'anteprima corrisponde al testo presente nella casella di modifica superiore e rappresenta la pagina come apparirà se si sceglie di salvarla in questo momento.",
-       "session_fail_preview": "Spiacenti! Non è stato possibile elaborare la modifica perché sono andati persi i dati relativi alla sessione.\n\nPotresti essere stato disconnesso. <strong>Verifica che sei ancora collegato e riprova</strong>.\nSe il problema persiste, si può tentare di [[Special:UserLogout|scollegarsi]] ed effettuare un nuovo accesso, e controllare che il tuo browser accetti i cookie da questo sito.",
-       "session_fail_preview_html": "Spiacenti! Non è stato possibile elaborare la modifica perché sono andati persi i dati relativi alla sessione.\n\n<em>Poiché {{SITENAME}} ha dell'HTML grezzo attivato e c'è stata una perdita dei dati della sessione, l'anteprima è nascosta come precauzione contro gli attacchi JavaScript.</em>\n\n<strong>Se si tratta di un normale tentativo d'anteprima, riprova.</strong> \nSe il problema persiste, si può tentare di [[Special:UserLogout|scollegarsi]] ed effettuare un nuovo accesso, e controllare che il tuo browser accetti i cookie da questo sito.",
+       "session_fail_preview": "Spiacenti. Non è stato possibile elaborare la modifica perché sono andati persi i dati relativi alla sessione.\n\nPotresti essere stato disconnesso. <strong>Verifica di essere ancora collegato e riprova</strong>.\nSe il problema persiste, puoi provare a [[Special:UserLogout|scollegarti]] ed effettuare un nuovo l'accesso, controllando che il tuo browser accetti i cookie da questo sito.",
+       "session_fail_preview_html": "Spiacenti. Non è stato possibile elaborare la modifica perché sono andati persi i dati relativi alla sessione.\n\n<em>Siccome {{SITENAME}} ha dell'HTML grezzo attivato e c'è stata una perdita dei dati della sessione, l'anteprima è nascosta come precauzione contro gli attacchi JavaScript.</em>\n\n<strong>Se si tratta di un normale tentativo d'anteprima, riprova.</strong> \nSe il problema persiste, puoi provare a [[Special:UserLogout|scollegarti]] ed effettuare un nuovo l'accesso, controllando che il tuo browser accetti i cookie da questo sito.",
        "token_suffix_mismatch": "'''La modifica non è stata salvata perché il client ha mostrato di gestire in modo errato i caratteri di punteggiatura nel token associato alla stessa. Per evitare una possibile corruzione del testo della pagina, è stata rifiutata l'intera modifica. Questa situazione può verificarsi, talvolta, quando vengono usati alcuni servizi di proxy anonimi via web che presentano dei bug.'''",
        "edit_form_incomplete": "'''Alcune parti del modulo di modifica non hanno raggiunto il server; controllare che le modifiche siano intatte e riprovare.'''",
        "editing": "Modifica di $1",
        "upload-http-error": "Si è verificato un errore HTTP: $1",
        "upload-copy-upload-invalid-domain": "Non è consentito il caricamento di copie da questo dominio.",
        "upload-foreign-cant-upload": "Questo wiki non è configurato per caricare i file nel repository di file esterno richiesto.",
-       "upload-dialog-disabled": "Il caricamento di file tramite questa finestra di dialogo è disabilitato in questa wiki.",
+       "upload-dialog-disabled": "Il caricamento di file tramite questa finestra di dialogo è disabilitato in questo wiki.",
        "upload-dialog-title": "Carica file",
        "upload-dialog-button-cancel": "Annulla",
        "upload-dialog-button-done": "Fatto",
        "apisandbox": "Pagina di prova API",
        "apisandbox-jsonly": "È richiesto JavaScript per utilizzare la sandbox API.",
        "apisandbox-api-disabled": "Le funzionalità API sono disabilitate su questo sito.",
-       "apisandbox-intro": "Utilizza questa pagina per sperimentare con le <strong>API web service MediaWiki</strong>.\nPer ulteriori dettagli di utilizzo delle API, fai riferimento alla [[mw:API:Main page|documentazione API]]. Esempio: [https://www.mediawiki.org/wiki/API#A_simple_example ottenere il contenuto della pagina principale]. Seleziona un'azione per vedere altri esempi.\n\nNota che, anche se questa è una pagina per le prove, le azioni che esegui qui potrebbero modificare il wiki.",
+       "apisandbox-intro": "Utilizza questa pagina per fare pratica con le <strong>API web service MediaWiki</strong>.\nPer ulteriori dettagli di utilizzo delle API, fai riferimento alla [[mw:API:Main page|documentazione API]]. Esempio: [https://www.mediawiki.org/wiki/API#A_simple_example ottenere il contenuto della pagina principale]. Seleziona un'azione per vedere altri esempi.\n\nNota che, anche se questa è una pagina per le prove, le azioni che esegui qui potrebbero modificare il wiki.",
        "apisandbox-fullscreen": "Espandi pannello",
        "apisandbox-fullscreen-tooltip": "Espandi il pannello sandbox per riempire la finestra del browser.",
        "apisandbox-unfullscreen": "Mostra la pagina",
        "allmessagesname": "Nome",
        "allmessagesdefault": "Testo predefinito",
        "allmessagescurrent": "Testo attuale",
-       "allmessagestext": "Questa è la lista di tutti i messaggi di sistema disponibili nel namespace MediaWiki.\nVisitare [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation MediaWiki Localisation] e [https://translatewiki.net translatewiki.net] se si desidera contribuire alla localizzazione generica di MediaWiki.",
+       "allmessagestext": "Questa è la lista di tutti i messaggi di sistema disponibili nel namespace MediaWiki.\nVisita [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation MediaWiki Localisation] e [https://translatewiki.net translatewiki.net] se vuoi contribuire alla localizzazione generica di MediaWiki.",
        "allmessagesnotsupportedDB": "Non è possibile utilizzare questa pagina perché il flag '''$wgUseDatabaseMessages''' non è attivo.",
        "allmessages-filter-legend": "Filtro",
        "allmessages-filter": "Filtra per stato di modifica:",
        "import-nonewrevisions": "Nessuna versione importata (erano già tutte presenti, o saltate a causa di errori)",
        "xml-error-string": "$1 a riga $2, colonna $3 (byte $4): $5",
        "import-upload": "Carica dati XML",
-       "import-token-mismatch": "I dati relativi alla sessione sono andati persi. Riprovare.\n\nPotresti essere stato disconnesso. <strong>Verifica che sei ancora collegato e riprova</strong>.\nSe il problema persiste, si può tentare di [[Special:UserLogout|scollegarsi]] ed effettuare un nuovo accesso, e controllare che il tuo browser accetti i cookie da questo sito.",
+       "import-token-mismatch": "I dati relativi alla sessione sono andati persi. Riprovare.\n\nPotresti essere stato disconnesso. <strong>Verifica di essere ancora collegato e riprova</strong>.\nSe il problema persiste, puoi provare a [[Special:UserLogout|scollegarti]] ed effettuare un nuovo l'accesso, controllando che il tuo browser accetti i cookie da questo sito.",
        "import-invalid-interwiki": "Impossibile importare dal progetto wiki indicato.",
        "import-error-edit": "La pagina \"$1\" non è stata importata poiché non sei autorizzato a modificarla.",
        "import-error-create": "La pagina \"$1\" non è stata importata poiché non sei autorizzato a crearla.",
        "confirm-unwatch-button": "OK",
        "confirm-unwatch-top": "Elimina questa pagina dalla tua lista degli osservati speciali?",
        "confirm-rollback-button": "OK",
-       "confirm-rollback-top": "Ripristinare le modifiche a questa pagina?",
+       "confirm-rollback-top": "Ripristinare le modifiche di questa pagina?",
        "percent": "$1&#160;%",
        "quotation-marks": "«$1»",
        "imgmultipageprev": "← pagina precedente",
index 5eefbd9..40c012f 100644 (file)
        "password-change-forbidden": "このウィキではパスワードを変更できません。",
        "externaldberror": "認証データベースでエラーが発生したか、または外部アカウントの更新が許可されていません。",
        "login": "ログイン",
+       "login-security": "あなたが同一人であることを確認します",
        "nav-login-createaccount": "ログインまたはアカウント作成",
        "userlogin": "ログインまたはアカウント作成",
        "userloginnocreate": "ログイン",
        "userlogin-resetpassword-link": "パスワードをお忘れですか?",
        "userlogin-helplink2": "ログインについてのヘルプ",
        "userlogin-loggedin": "{{GENDER:$1|$1}} として既にログインしています。\n別の利用者としてログインするには下のフォームを使用してください。",
+       "userlogin-reauth": "あなたが {{GENDER:$1|$1}} であることを確認するために、再度ログインする必要があります。",
        "userlogin-createanother": "別アカウントを作成",
        "createacct-emailrequired": "メールアドレス",
        "createacct-emailoptional": "メールアドレス (省略可能)",
        "createaccountreason": "理由:",
        "createacct-reason": "理由",
        "createacct-reason-ph": "アカウントを作成する理由",
+       "createacct-reason-help": "アカウント作成記録に表示されるメッセージ",
        "createacct-submit": "アカウントを作成",
        "createacct-another-submit": "アカウントを作成",
+       "createacct-continue-submit": "アカウント作成を続行",
+       "createacct-another-continue-submit": "アカウント作成を続行",
        "createacct-benefit-heading": "{{SITENAME}}は、あなたのような人々が創っています。",
        "createacct-benefit-body1": "{{PLURAL:$1|編集}}",
        "createacct-benefit-body2": "{{PLURAL:$1|ページ}}",
        "nocookieslogin": "{{SITENAME}}ではログインに Cookie を使用します。\nCookie を無効にしているようです。\nCookie を有効にしてから、もう一度試してください。",
        "nocookiesfornew": "発信元を確認できなかったため、アカウントは作成されませんでした。\nCookieを有効にしていることを確認して、このページを再読込してもう一度試してください。",
        "nocookiesforlogin": "{{int:nocookieslogin}}",
+       "createacct-loginerror": "アカウントは正常に作成されましたが、自動的にログインすることができませんでした。[[Special:UserLogin|手動でログイン]]をしてください。",
        "noname": "有効な利用者名が指定されていません。",
        "loginsuccesstitle": "ログイン済み",
        "loginsuccess": "<strong>{{SITENAME}}に「$1」としてログインしました。</strong>",
        "botpasswords-invalid-name": "指定された利用者名には、ボット用パスワードの区切りである「$1」 が含まれていません。",
        "botpasswords-not-exist": "利用者「$1」はボット「$2」のパスワードを所持していません。",
        "resetpass_forbidden": "パスワードは変更できません",
+       "resetpass_forbidden-reason": "パスワードは変更できません: $1",
        "resetpass-no-info": "このページに直接アクセスするためにはログインしている必要があります。",
        "resetpass-submit-loggedin": "パスワードを変更",
        "resetpass-submit-cancel": "中止",
        "passwordreset-emailsentusername": "この利用者名に関連付けられたメールアドレスがある場合は、パスワードリセットのメールが送信されます。",
        "passwordreset-emailsent-capture": "下記の内容の、パスワード再設定メールをお送りしました。",
        "passwordreset-emailerror-capture": "以下の内容のパスワード再設定メールを生成しましたが、{{GENDER:$2|利用者}}への送信に失敗しました: $1",
+       "passwordreset-emailsent-capture2": "パスワードリセットの{{PLURAL:$1|メール}}が送信されました。{{PLURAL:$1|利用者名とパスワード|利用者名とパスワードの一覧}}は以下のとおりです。",
+       "passwordreset-emailerror-capture2": "{{GENDER:$2|利用者}}へのメール送信に失敗しました: $1{{PLURAL:$3|利用者名とパスワード|利用者名とパスワードの一覧}}は以下のとおりです。",
+       "passwordreset-ignored": "パスワードのリセットが処理されませんでした。プロバイダーが設定されていない可能性があります。",
+       "passwordreset-invalideamil": "無効なメールアドレスです",
        "changeemail": "メールアドレスを変更または除去",
        "changeemail-header": "あなたのメールアドレスを変更するには、このフォームを完成させます。もし、あなたのアカウントから任意のメールアドレスの関連付けを削除したい場合は、フォームの送信時に、新しいメールアドレスを空白のままにします。",
        "changeemail-passwordrequired": "この変更を確認するためにパスワードを入力する必要があります。",
        "right-managechangetags": "[[Special:Tags|タグ]]の作成、有効化および無効化",
        "right-applychangetags": "自分の編集に[[Special:Tags|タグ]]を適用する",
        "right-changetags": "個々の版と記録項目の任意の[[Special:Tags|タグ]]の追加と削除",
+       "right-deletechangetags": "データベースから[[Special:Tags|タグ]]を削除します",
        "grant-group-email": "メールの送信",
        "grant-group-customization": "カスタマイズと個人設定",
        "grant-group-other": "その他の活動",
        "sp-contributions-username": "IPアドレスまたは利用者名:",
        "sp-contributions-toponly": "最新版の編集のみを表示",
        "sp-contributions-newonly": "ページ作成を伴う編集のみを表示",
+       "sp-contributions-hideminor": "細部の編集を表示しない",
        "sp-contributions-submit": "検索",
        "whatlinkshere": "リンク元",
        "whatlinkshere-title": "「$1」へリンクしているページ",
        "exif-compression-6": "JPEG (旧式)",
        "exif-copyrighted-true": "著作権あり",
        "exif-copyrighted-false": "著作権情報未設定",
+       "exif-photometricinterpretation-0": "黒と白 (白が0)",
        "exif-photometricinterpretation-1": "黒と白(黒が0)",
        "exif-unknowndate": "不明な日付",
        "exif-orientation-1": "通常",
        "exif-orientation-8": "時計回りに90°回転",
        "exif-planarconfiguration-1": "点順次フォーマット",
        "exif-planarconfiguration-2": "面順次フォーマット",
+       "exif-xyresolution-i": "$1dpi",
+       "exif-xyresolution-c": "$1dpc",
        "exif-colorspace-65535": "その他",
        "exif-componentsconfiguration-0": "存在しない",
        "exif-exposureprogram-0": "未定義",
        "confirmemail_body_set": "誰か (おそらくあなた) が IP アドレス $1 から\n{{SITENAME}} のアカウント「$2」のメールアドレスをこのアドレスに設定しました。\n\nこのアカウントが本当にあなたのものであれば、以下のリンクをブラウザーで開いて、\n{{SITENAME}} のメール機能を有効にしてください。\n\n$3\n\nあなたのアカウントではない場合は、\n以下のリンクをブラウザーで開いて、メールアドレスの確認をキャンセルしてください:\n\n$5\n\nこの確認コードは $4 に期限切れになります。",
        "confirmemail_invalidated": "メールアドレスの確認が中止されました",
        "invalidateemail": "メールアドレスの確認中止",
+       "notificationemail_subject_changed": "{{SITENAME}} に登録されたメールアドレスが変更されました",
+       "notificationemail_subject_removed": "{{SITENAME}} に登録されたメールアドレスが除去されました",
        "notificationemail_body_changed": "誰か (おそらくあなた) が、IP アドレス $1 から、\n{{SITENAME}} のアカウント「$2」のメールアドレスを \"$3\" に変更しました。\n\n変更した覚えがない場合、サイトの管理者に直ちに連絡してください。",
+       "notificationemail_body_removed": "誰か (おそらくあなた) が、IP アドレス $1 から、\n{{SITENAME}} のアカウント「$2」のメールアドレスを除去しました。\n\n変更した覚えがない場合、サイトの管理者に直ちに連絡してください。",
        "scarytranscludedisabled": "[ウィキ間の参照読み込みは無効になっています]",
        "scarytranscludefailed": "[$1に対してテンプレートの取得に失敗しました]",
        "scarytranscludefailed-httpstatus": "[$1に対してテンプレートの取得に失敗しました: HTTP $2]",
        "confirmrecreate": "あなたが編集を開始した後、[[User:$1|$1]] ([[User talk:$1|トーク]]) がこのページを以下の理由で{{GENDER:$1|削除しました}}:\n: <em>$2</em>\nこのままこのページを本当に再作成していいか確認してください。",
        "confirmrecreate-noreason": "あなたが編集を開始した後、[[User:$1|$1]] ([[User talk:$1|トーク]]) がこのページを{{GENDER:$1|削除しました}}。このページを本当に再作成していいかご確認ください。",
        "recreate": "再作成する",
+       "unit-pixel": "ピクセル",
        "confirm_purge_button": "OK",
        "confirm-purge-top": "このページのキャッシュを破棄しますか?",
        "confirm-purge-bottom": "ページをパージすると、キャッシュが破棄され、強制的に最新版が表示されます。",
        "autoredircomment": "[[$1]]への転送ページ",
        "autosumm-new": "ページの作成:「$1」",
        "autosumm-newblank": "空白のページを作成しました",
-       "size-bytes": "$1バイト",
+       "size-bytes": "$1{{PLURAL:$1|バイト}}",
        "size-kilobytes": "$1キロバイト",
        "size-megabytes": "$1メガバイト",
        "size-gigabytes": "$1ギガバイト",
        "size-exabytes": "$1 EB",
        "size-zetabytes": "$1 ZB",
        "size-yottabytes": "$1 YB",
+       "size-pixel": "$1{{PLURAL:$1|ピクセル}}",
+       "size-kilopixel": "$1キロピクセル",
+       "size-megapixel": "$1メガピクセル",
+       "size-gigapixel": "$1ギガピクセル",
+       "size-terapixel": "$1テラピクセル",
+       "size-petapixel": "$1ペタピクセル",
+       "size-exapixel": "$1エクサピクセル",
+       "size-zetapixel": "$1ゼタピクセル",
+       "size-yottapixel": "$1ヨタピクセル",
+       "bitrate-bits": "$1bps",
+       "bitrate-kilobits": "$1kbps",
+       "bitrate-megabits": "$1Mbps",
+       "bitrate-gigabits": "$1Gbps",
+       "bitrate-terabits": "$1Tbps",
+       "bitrate-petabits": "$1Pbps",
+       "bitrate-exabits": "$1Ebps",
+       "bitrate-zetabits": "$1Zbps",
+       "bitrate-yottabits": "$1Ybps",
        "lag-warn-normal": "この一覧には $1 {{PLURAL:$1|秒}}前以降の変更内容が表示されていないおそれがあります。",
        "lag-warn-high": "データベースサーバーの大幅な遅延のため、この一覧には $1 {{PLURAL:$1|秒}}前以降の変更内容が表示されていないおそれがあります。",
        "watchlistedit-normal-title": "ウォッチリストの編集",
        "timezone-local": "ローカル",
        "duplicate-defaultsort": "<strong>警告:</strong> 既定のソートキー「$2」が、その前に書かれている既定のソートキー「$1」を上書きしています。",
        "duplicate-displaytitle": "<strong>警告:</strong> DISPLAYTITLE「$2」が、その前に書かれているDISPLAYTITLE「$1」を上書きしています。",
+       "restricted-displaytitle": "<strong>警告:</strong> 実際のページ名と同じではないため、「$1」の表示名は無視されました。",
        "invalid-indicator-name": "<strong>エラー:</strong> ページ・ステータス・インディケーターの <code>name</code> 属性は空であってはいけません。",
        "version": "バージョン情報",
        "version-extensions": "インストール済み拡張機能",
        "tags-deactivate-not-allowed": "タグ「$1」は無効化できません。",
        "tags-deactivate-submit": "無効化",
        "tags-apply-no-permission": "あなたには変更と同時に変更タグを適応する権限がありません。",
+       "tags-apply-blocked": "ブロックされているため、変更タグの変更を適用できません。",
        "tags-apply-not-allowed-one": "タグ \"$1\" の手動適用は認められていません。",
        "tags-apply-not-allowed-multi": "以下の {{PLURAL:$2|タグ}} は手動適用が認められていません: $1",
        "tags-update-no-permission": "あなたには個々の版または記録項目のタグの追加または除去を行う権限がありません。",
+       "tags-update-blocked": "ブロックされているため、変更タグを追加または除去できません。",
        "tags-update-add-not-allowed-one": "タグ \"$1\" の手動追加は認められていません。",
        "tags-update-add-not-allowed-multi": "以下の {{PLURAL:$2|タグ}} は手動追加が認められていません: $1",
        "tags-update-remove-not-allowed-one": "タグ \"$1\" の除去は認められていません。",
        "logentry-move-move_redir-noredirect": "$1 がページ「$3」をリダイレクトの「$4」に、リダイレクトを残さずに{{GENDER:$2|移動しました}}",
        "logentry-patrol-patrol": "$1 がページ「$3」の版 $4 を巡回済みと{{GENDER:$2|しました}}",
        "logentry-patrol-patrol-auto": "$1 が自動的にページ「$3」の版 $4 を巡回済みと{{GENDER:$2|しました}}",
-       "logentry-newusers-newusers": "利用者アカウント $1 が{{GENDER:$2|作成されました}}",
+       "logentry-newusers-newusers": "$1 によって利用者アカウントが{{GENDER:$2|作成されました}}",
        "logentry-newusers-create": "利用者アカウント $1 が{{GENDER:$2|作成されました}}",
        "logentry-newusers-create2": "利用者アカウント $3 が $1 により{{GENDER:$2|作成されました}}",
        "logentry-newusers-byemail": "利用者アカウント $3 が $1 によって{{GENDER:$2|作成され}}、そのパスワードがメールで送信されました",
        "feedback-useragent": "ユーザーエージェント:",
        "searchsuggest-search": "検索",
        "searchsuggest-containing": "この語句を全文検索",
+       "api-error-autoblocked": "あなたの IP アドレスは、過去にブロックされた利用者によって使用されていたため、自動的にブロックされました。",
        "api-error-badaccess-groups": "このウィキへのファイルのアップロードが許可されていません。",
        "api-error-badtoken": "内部エラー: トークンが正しくありません。",
+       "api-error-blocked": "あなたは編集ブロックされています。",
        "api-error-copyuploaddisabled": "URLによるアップロードはこのサーバーでは無効になっています。",
        "api-error-duplicate": "当ウェブサイト上には、既に同じ内容の{{PLURAL:$1|他のファイルが|他のファイルがいくつか}}存在しています。",
        "api-error-duplicate-archive": "サイト上に同じ内容の{{PLURAL:$1|別のファイルが|他のファイルがいくつか}}既にありましたが、{{PLURAL:$1|それは|それらは}}削除されました。",
        "api-error-nomodule": "内部エラー: アップロードを処理するモジュールが設定されていません。",
        "api-error-ok-but-empty": "内部エラー: サーバーからの応答がありません。",
        "api-error-overwrite": "既存のファイルへの上書きは許可されていません。",
+       "api-error-ratelimited": "あなたは短時間の間に、このウィキで許容されている数より多くのファイルをアップロードしようとしています。\n数分後にもう一度お試しください。",
        "api-error-stashfailed": "内部エラー: サーバーは一時ファイルを格納できませんでした。",
        "api-error-publishfailed": "内部エラー: サーバーは一時ファイルを発行できませんでした。",
        "api-error-stasherror": "ファイルを未公開アップロードする際にエラーが発生しました。",
        "api-error-unknownerror": "不明なエラー:「$1」",
        "api-error-uploaddisabled": "このウィキではアップロードは無効になっています。",
        "api-error-verification-error": "このファイルは壊れているか、間違った拡張子になっています。",
+       "api-error-was-deleted": "この名前のファイルは、以前にアップロードされており、その後削除されています。",
        "duration-seconds": "$1 {{PLURAL:$1|秒}}",
        "duration-minutes": "$1 {{PLURAL:$1|分}}",
        "duration-hours": "$1 {{PLURAL:$1|時間}}",
        "mw-widgets-titleinput-description-new-page": "ページは存在しません",
        "mw-widgets-titleinput-description-redirect": "$1 へのリダイレクト",
        "api-error-blacklisted": "他の、説明的なタイトルをお選びください。",
+       "sessionmanager-tie": "複数の要求の認証方法を組み合わせることはできません: $1。",
        "sessionprovider-generic": "$1 セッション",
+       "sessionprovider-mediawiki-session-cookiesessionprovider": "クッキーベースのセッション",
+       "sessionprovider-nocookies": "クッキーが無効になっている可能性があります。クッキーが有効になっていることを確認し、もう一度お試しください。",
        "randomrootpage": "おまかせルートページ",
        "log-action-filter-block": "ブロックの種類",
        "log-action-filter-delete": "削除の種類:",
        "log-action-filter-suppress-delete": "ページの秘匿",
        "log-action-filter-upload-upload": "新規アップロード",
        "log-action-filter-upload-overwrite": "再アップロード",
+       "authmanager-authn-not-in-progress": "認証が行われていない、またはセッションデータが失われました。最初からやり直してください。",
+       "authmanager-authn-no-primary": "指定された証明情報を認証できませんでした。",
+       "authmanager-authn-no-local-user": "指定された証明情報は、このウィキのどの利用者にも関連付けられていません。",
+       "authmanager-authn-no-local-user-link": "指定された証明情報は有効ですが、このウィキのどの利用者にも関連付けられていません。別の方法でログインするか、新しくアカウントを作成し、オプションからそのアカウントに以前の証明情報を関連付けることができます。",
        "authmanager-authn-autocreate-failed": "ローカルアカウントの自動作成が失敗しました: $1",
+       "authmanager-change-not-supported": "一切利用されないであろう情報のため、指定された証明情報を変更することはできません。",
+       "authmanager-create-disabled": "アカウントの作成は禁止されています。",
+       "authmanager-create-from-login": "アカウントを作成するには、以下の入力欄に記入してください。",
+       "authmanager-create-not-in-progress": "アカウントの作成が行われていない、またはセッションデータが失われました。最初からやり直してください。",
+       "authmanager-create-no-primary": "指定された証明情報は、アカウントの作成に使用できませんでした。",
+       "authmanager-link-no-primary": "指定された証明情報は、アカウントの関連付けに使用できませんでした。",
+       "authmanager-link-not-in-progress": "アカウントの関連付けが行われていない、またはセッションデータが失われました。最初からやり直してください。",
+       "authmanager-authplugin-setpass-failed-title": "パスワードの変更に失敗しました",
+       "authmanager-authplugin-setpass-failed-message": "パスワードの変更は、認証プラグインによって拒否されました。",
+       "authmanager-authplugin-create-fail": "アカウントの作成は、認証プラグインによって拒否されました。",
+       "authmanager-authplugin-setpass-denied": "パスワードの変更は、認証プラグインによって許可されていません。",
        "authmanager-authplugin-setpass-bad-domain": "無効なドメインです。",
+       "authmanager-autocreate-noperm": "自動アカウント作成は許可されていません。",
+       "authmanager-autocreate-exception": "自動アカウント作成は、以前のエラーにより一時的に無効になっています。",
        "authmanager-userdoesnotexist": "利用者アカウント「$1」は登録されていません。",
+       "authmanager-userlogin-remembermypassword-help": "パスワードはセッションの長さよりも長いため、忘れないようにしてください。",
+       "authmanager-username-help": "認証用の利用者名。",
+       "authmanager-password-help": "認証用のパスワード。",
+       "authmanager-domain-help": "外部認証用のドメイン。",
+       "authmanager-retype-help": "パスワードの再確認。",
        "authmanager-email-label": "メールアドレス",
-       "authmanager-email-help": "メールアドレス"
+       "authmanager-email-help": "メールアドレス",
+       "authmanager-realname-label": "本名",
+       "authmanager-realname-help": "利用者の本名",
+       "authmanager-provider-password": "パスワードベースの認証",
+       "authmanager-provider-password-domain": "パスワードおよびドメインベースの認証",
+       "authmanager-provider-temporarypassword": "仮パスワード",
+       "authprovider-confirmlink-message": "最近のログイン試行に基づいて、以下のアカウントはあなたのウィキのアカウントに関連付けできます。関連付けることで、各々のアカウントを経由してログインすることを可能にします。関連付けるアカウントを選択してください。",
+       "authprovider-confirmlink-request-label": "関連付けるアカウント",
+       "authprovider-confirmlink-success-line": "$1: 関連付けが完了しました。",
+       "authprovider-confirmlink-failed": "アカウントの関連付けは完了されませんでした: $1",
+       "authprovider-confirmlink-ok-help": "関連付けのエラーメッセージが表示された後に続行します。",
+       "authprovider-resetpass-skip-label": "スキップ",
+       "authprovider-resetpass-skip-help": "パスワードのリセットをスキップします。",
+       "authform-nosession-login": "認証に成功しましたが、お使いのブラウザでログイン情報を記憶することはできません。\n\n$1",
+       "authform-nosession-signup": "アカウントは作成されましたが、お使いのブラウザでログイン情報を記憶することはできません。\n\n$1",
+       "authform-newtoken": "トークンがありません。$1",
+       "authform-notoken": "トークンがありません",
+       "authform-wrongtoken": "不正なトークンです",
+       "specialpage-securitylevel-not-allowed-title": "許可されていません",
+       "specialpage-securitylevel-not-allowed": "申し訳ありませんが、あなたが同一人であるか確認できないため、このページを使用することはできません。",
+       "authpage-cannot-login": "ログインを開始できません。",
+       "authpage-cannot-login-continue": "ログインを続行できません。セッションがタイムアウトした可能性が高いです。",
+       "authpage-cannot-create": "アカウントの作成を開始できません。",
+       "authpage-cannot-create-continue": "アカウントの作成を続行できません。セッションがタイムアウトした可能性が高いです。",
+       "authpage-cannot-link": "アカウントの関連付けを開始できません。",
+       "authpage-cannot-link-continue": "アカウントの関連付けを続行できません。セッションがタイムアウトした可能性が高いです。",
+       "cannotauth-not-allowed-title": "アクセスが拒否されました",
+       "cannotauth-not-allowed": "あなたはこのページの使用を許可されていません",
+       "changecredentials": "証明情報の変更",
+       "changecredentials-submit": "証明情報の変更",
+       "changecredentials-invalidsubpage": "「$1」は証明方法として有効なものではありません。",
+       "changecredentials-success": "証明情報が変更されました。",
+       "removecredentials": "証明情報の除去",
+       "removecredentials-submit": "証明情報を除去",
+       "removecredentials-invalidsubpage": "「$1」は証明方法として有効なものではありません。",
+       "removecredentials-success": "証明情報が除去されました。",
+       "credentialsform-provider": "証明方法:",
+       "credentialsform-account": "アカウント名:",
+       "cannotlink-no-provider-title": "関連付け可能なアカウントがありません",
+       "cannotlink-no-provider": "関連付け可能なアカウントがありません。",
+       "linkaccounts": "アカウントの関連付け",
+       "linkaccounts-success-text": "アカウントが関連付けられました。",
+       "linkaccounts-submit": "アカウントを関連付ける",
+       "unlinkaccounts": "アカウントの関連付け解除",
+       "unlinkaccounts-success": "アカウントの関連付けが解除されました。",
+       "authenticationdatachange-ignored": "認証データの変更は処理されませんでした。プロバイダーが設定されていない可能性があります。"
 }
index 11238d7..38a261f 100644 (file)
        "watchlisttools-view": "Vyuu rilivant chienjdem",
        "watchlisttools-edit": "Vyuu ahn edit wachlis",
        "watchlisttools-raw": "Edit raa wachlis",
-       "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|diskoshan]])‎",
+       "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|taak]])‎",
        "specialpages": "Peshal piej",
        "tag-filter": "[[Special:Tags|Tag]] filta:",
        "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|Tag|Tags}}]]: $2)",
index b81ea93..133550a 100644 (file)
        "databaseerror-error": "Cacad: $1",
        "laggedslavemode": "Pènget: Kaca iki mbokmenawa isiné dudu pangowahan pungkasan.",
        "readonly": "Umpak data kagembok",
-       "enterlockreason": "Lebokna alesan panguncèn, kalebu uga prakiran kapan kunci bakal dibuka",
+       "enterlockreason": "Isi alesan ngreksa, kalebu rencana kapan pareksané bakal dibukak",
        "readonlytext": "Juru administrasi sistem sing ngunci iku medhar mangkéné: $1",
        "missing-article": "Basis data ora bisa nemokaké tèks kaca sing kuduné ana, yaiku \"$1\" $2.\nBab iki bisasané disebabaké déning pranala daluwarsa menyang revisi sadurungé kaca sing wis dibusak.\nYèn dudu iki panyebabé, panjenengan manawa bisa nemokaké kasalahan (''bug'') jroning piranti alus (''software''). Mangga dilapuraké bab iki menyang [[Special:ListUsers/sysop|administrator]], kanthi nyebutaké alamat URL sing dituju",
        "missingarticle-rev": "(owahan#: $1)",
        "anoneditwarning": "<strong>Penget:</strong> Panjenengan boten mlebet log. Alamat IP Panjenengan badhe katingal dening publik manawi Panjenengan ngayahi ewah-ewahan. Manawi Panjenengan  <strong>[$1 mlebet log]</strong> utawai <strong>[$2 damel akun]</strong>, suntingan Panjenengan badhe kaatribusekaken dhumateng  nama pangangge Panjenengan, lan rupi-rupi  kauntungan sanesipun.",
        "anonpreviewwarning": "''Sampéyan durung mlebu log. Nyimpen bakal nyathet alamat IP Sampéyan nèng riwayat sunting kaca iki.''",
        "missingsummary": "'''Pènget:''' Panjenengan ora nglebokaké ringkesan panyuntingan. Menawa panjenengan mencèt tombol Simpen manèh, suntingan panjenengan bakal kasimpen tanpa ringkesan panyuntingan.",
-       "missingcommenttext": "Tulung lebokna komentar ing ngisor iki.",
+       "missingcommenttext": "Mangga isi tanggapan ing ngisor iki.",
        "missingcommentheader": "'''Pangéling:''' Sampéyan durung nyadhiyakaké judhul/jejer kanggo tanggepan iki.\nYèn Sampéyan klik \"{{int:savearticle}}\" manèh, suntingan Sampéyan bakal kasimpen tanpa kuwi.",
        "summary-preview": "Pratuduh tingkesan:",
        "subject-preview": "Prawuryaning jejer:",
        "prefs-tabs-navigation-hint": "Tip: Sampeyan isa nganggo dapat menggunakan tombol panah kiwa lan tengen kanggo navigasi tab-tab ing daftar tab.",
        "userrights": "Manajemen hak panganggo",
        "userrights-lookup-user": "Ngatur kelompok panganggo",
-       "userrights-user-editname": "Lebokna jeneng panganggo:",
+       "userrights-user-editname": "Isi jeneng panganggo:",
        "editusergroup": "Besut golongan {{GENDER:$1|panganggo}}",
        "editinguser": "Ngganti hak panganggo '''[[User:$1|$1]]''' $2",
        "userrights-editusergroup": "Besut golongan panganggo",
        "newtitle": "Sesirah anyar:",
        "move-watch": "Awasna kaca iki",
        "movepagebtn": "Ngalih kaca",
-       "pagemovedsub": "Kasil dipindhahaké",
-       "movepage-moved": "'''\"$1\" dipindhahaké menyang \"$2\".'''",
+       "pagemovedsub": "Kasil dilih",
+       "movepage-moved": "<strong>\"$1\" wis dilih nyang \"$2\"</strong>",
        "movepage-moved-redirect": "Kaca pengalihan wis kacipta.",
        "movepage-moved-noredirect": "Kanggo gawé pengalihan wis ditahan.",
        "articleexists": "Satunggalipun kaca kanthi asma punika sampun wonten, utawi asma ingkang panjenengan pendhet mboten leres. Sumangga nyobi asma sanèsipun.",
        "immobile-source-namespace": "Ora bisa mindhahaké kaca jroning bilik jeneng \"$1\"",
        "immobile-target-namespace": "Ora bisa mindhahaké kaca menyang bilik jeneng \"$1\"",
        "immobile-target-namespace-iw": "Pranala interwiki dudu target sing sah kanggo pamindhahan kaca.",
-       "immobile-source-page": "Kaca iki ora bisa dipindhahaké.",
+       "immobile-source-page": "Kaca iki ora bisa dilih-lih.",
        "immobile-target-page": "Ora bisa mindhahaké menyang irah-irahan tujuan kasebut.",
        "bad-target-model": "Halaman yang dituju menggunakan model isi yang berbeda. Tidak dapat mengonversi $1 ke $2.",
        "imagenocrossnamespace": "Ora bisa mindhahaké gambar menyang bilik nama non-gambar",
index 9bdaa04..0b6fe50 100644 (file)
        "rcshowhidemine": "ჩემი რედაქტირების $1",
        "rcshowhidemine-show": "ჩვენება",
        "rcshowhidemine-hide": "დამალვა",
-       "rcshowhidecategorization": "$1 გვერდის კატეგორიზაცია",
+       "rcshowhidecategorization": "გვერდის კატეგორიზაციის $1",
        "rcshowhidecategorization-show": "ჩვენება",
        "rcshowhidecategorization-hide": "დამალვა",
        "rclinks": "ბოლო $1 ცვლილების ჩვენება უკანასკნელი $2 დღის მანძილზე<br />$3",
index 543d543..a206d08 100644 (file)
        "gender-female": "위키 문서를 편집하는 여자입니다",
        "prefs-help-gender": "이 환경 설정은 선택 사항입니다.\n소프트웨어는 적절한 성별 문법을 사용하여 다른 사용자에게 당신을 언급하는 것을 해결하기 위해 사용됩니다.\n이 정보는 공개됩니다.",
        "email": "이메일",
-       "prefs-help-realname": "실명은 선택 사항입니다.\n실명을 입력하면 당신의 기여에 대한 저작자표시에 쓰이게 될 수 있습니다.",
+       "prefs-help-realname": "실명은 선택 사항입니다.\n실명을 입력하면 당신의 기여에 대한 저작자 표시에 쓰이게 될 수 있습니다.",
        "prefs-help-email": "이메일 주소 입력은 선택 사항입니다. 다만 비밀번호를 잊었을 때 비밀번호를 재설정하기 위해 필요합니다.",
        "prefs-help-email-others": "자신의 문서나 토론 문서에 있는 이메일 보내기 링크로 다른 사용자가 연락할 수 있게 할 수도 있습니다.\n이 경우에도 이메일 주소는 다른 사용자가 연락할 때 공개되지 않습니다.",
        "prefs-help-email-required": "이메일 주소가 필요합니다.",
        "version-ext-colheader-license": "라이선스",
        "version-ext-colheader-description": "설명",
        "version-ext-colheader-credits": "저자",
-       "version-license-title": "$1ì\9a© ë\9d¼ì\9d´ì\84¼스",
+       "version-license-title": "$1ì\9a© ë\9d¼ì\9d´ì\84 스",
        "version-license-not-found": "이 확장 기능에 대한 자세한 라이선스 정보가 없습니다.",
        "version-credits-title": "$1의 작성자",
        "version-credits-not-found": "이 확장 기능에 대한 자세한 제작진 정보가 없습니다.",
        "log-name-pagelang": "언어 바꾸기 기록",
        "log-description-pagelang": "문서 언어를 바꾼 기록입니다.",
        "logentry-pagelang-pagelang": "$1님이 $3의 언어를 $4에서 $5로 {{GENDER:$2|바꾸었습니다}}",
-       "default-skin-not-found": "이런! 당신의 위키에 <code dir=\"ltr\">$wgDefaultSkin</code>에 <code>$1</code>(으)로 지정한 기본 스킨은 사용할 수 없습니다.\n\n설치에는 다음 {{PLURAL:$4|스킨}}이 포함된 것으로 보입니다. 스킨을 활성화{{PLURAL:$4||하고 기본값으로 선택}}하는 방법에 대한 정보에 대해서는 [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual: 스킨 설정]을 보세요.\n\n$2\n\n; 미디어위키를 설치했다면:\n: 아마 git에서 설치했거나, 어떤 다른 방법을 사용하여 직접 설치했을 수 있을 것으로 봅니다. [https://www.mediawiki.org/wiki/Category:All_skins mediawiki.org의 스킨 디렉터리]에서 어떤 스킨을 설치해보세요:\n:* 여러 스킨과 확장 기능이 들어 있는 [https://www.mediawiki.org/wiki/Download tarball 설치 관리자]를 다운로드하세요. 거기서 <code>skins/</code> 디렉터리를 복사하여 붙여 넣을 수 있습니다.\n:* [https://www.mediawiki.org/wiki/Special:SkinDistributor mediawiki.org]에서 개별 스킨 tarball을 다운로드하세요.\n:* 미디어위키 설치의 <code dir=\"ltr\">skins/</code> 디렉터리 안에 git를 통해 <code>mediawiki/skins/*</code> 저장소 중 하나를 복제하세요.\n: 당신이 미디어위키 개발자이면 당신의 git 저장소를 방해하면 안됩니다.\n\n; 미디어위키를 업그레이드했다면:\n: 미디어위키 1.24와 새 버전은 더 이상 설치된 스킨을 자동으로 활성화하지 않습니다 ([https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery Manual: 스킨 자동발견]을 보세요). 현재 설치된 {{PLURAL:$5|스킨|모든 스킨}}을 활성화하려면 <code>LocalSettings.php</code> 안에 다음 {{PLURAL:$5|줄}}을 붙여 넣을 수 있습니다:\n\n<pre dir=\"ltr\">$3</pre>\n\n; <code>LocalSettings.php</code>를 수정했다면:\n: 스킨 이름에 오타가 났는지 다시 확인하세요.",
-       "default-skin-not-found-no-skins": "이런! 당신의 위키에 <code dir=\"ltr\">$wgDefaultSkin</code>에 <code>$1</code>(으)로 지정한 기본 스킨은 사용할 수 없습니다.\n\n설치된 스킨은 없습니다.\n\n; 미디어위키를 설치했거나 업그레이드했다면:\n: 아마 git에서 설치했거나, 어떤 다른 방법을 사용하여 직접 설치했을 수 있을 것으로 봅니다. 미디어위키 1.24와 새 버전은 주 저장소에 어떠한 스킨도 포함되어 있지 않습니다. [https://www.mediawiki.org/wiki/Category:All_skins mediawiki.org의 스킨 디렉터리]에서 어떤 스킨을 설치해보세요:\n:* 여러 스킨과 확장 기능이 들어 있는 [https://www.mediawiki.org/wiki/Download tarball 설치 관리자]를 다운로드하세요. 거기서 <code>skins/</code> 디렉터리를 복사하여 붙여 넣을 수 있습니다.\n:* [https://www.mediawiki.org/wiki/Special:SkinDistributor mediawiki.org]에서 개별 스킨 tarball을 다운로드하세요.\n:* 미디어위키 설치의 <code dir=\"ltr\">skins/</code> 디렉터리 안에 git를 통해 <code>mediawiki/skins/*</code> 저장소 중 하나를 복제하세요.\n: 당신이 미디어위키 개발자이면 당신의 git 저장소를 방해하면 안됩니다. 스킨을 활성화하고 기본값으로 선택하는 방법에 대한 정보에 대해서는 [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual: 스킨 설정]을 보세요.",
+       "default-skin-not-found": "이런! 당신의 위키에 <code dir=\"ltr\">$wgDefaultSkin</code>에 <code>$1</code>(으)로 지정한 기본 스킨은 사용할 수 없습니다.\n\n설치에는 다음 {{PLURAL:$4|스킨}}이 포함된 것으로 보입니다. 스킨을 활성화{{PLURAL:$4||하고 기본값으로 선택}}하는 방법에 대한 정보에 대해서는 [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual: 스킨 설정]을 보세요.\n\n$2\n\n; 미디어위키를 설치했다면:\n: 아마 git에서 설치했거나, 어떤 다른 방법을 사용하여 직접 설치했을 수 있을 것으로 봅니다. [https://www.mediawiki.org/wiki/Category:All_skins mediawiki.org의 스킨 디렉터리]에서 어떤 스킨을 설치해보세요:\n:* 여러 스킨과 확장 기능이 들어 있는 [https://www.mediawiki.org/wiki/Download tarball 설치 관리자]를 다운로드하세요. 거기서 <code>skins/</code> 디렉터리를 복사하여 붙여 넣을 수 있습니다.\n:* [https://www.mediawiki.org/wiki/Special:SkinDistributor mediawiki.org]에서 개별 스킨 tarball을 다운로드하세요.\n:* 미디어위키 설치의 <code dir=\"ltr\">skins/</code> 디렉터리 안에 git를 통해 <code>mediawiki/skins/*</code> 저장소 중 하나를 복제하세요.\n: 당신이 미디어위키 개발자이면 당신의 git 저장소를 방해하면 안 됩니다.\n\n; 미디어위키를 업그레이드했다면:\n: 미디어위키 1.24와 새 버전은 더 이상 설치된 스킨을 자동으로 활성화하지 않습니다 ([https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery Manual: 스킨 자동발견]을 보세요). 현재 설치된 {{PLURAL:$5|스킨|모든 스킨}}을 활성화하려면 <code>LocalSettings.php</code> 안에 다음 {{PLURAL:$5|줄}}을 붙여 넣을 수 있습니다:\n\n<pre dir=\"ltr\">$3</pre>\n\n; <code>LocalSettings.php</code>를 수정했다면:\n: 스킨 이름에 오타가 났는지 다시 확인하세요.",
+       "default-skin-not-found-no-skins": "이런! 당신의 위키에 <code dir=\"ltr\">$wgDefaultSkin</code>에 <code>$1</code>(으)로 지정한 기본 스킨은 사용할 수 없습니다.\n\n설치된 스킨은 없습니다.\n\n; 미디어위키를 설치했거나 업그레이드했다면:\n: 아마 git에서 설치했거나, 어떤 다른 방법을 사용하여 직접 설치했을 수 있을 것으로 봅니다. 미디어위키 1.24와 새 버전은 주 저장소에 어떠한 스킨도 포함되어 있지 않습니다. [https://www.mediawiki.org/wiki/Category:All_skins mediawiki.org의 스킨 디렉터리]에서 어떤 스킨을 설치해보세요:\n:* 여러 스킨과 확장 기능이 들어 있는 [https://www.mediawiki.org/wiki/Download tarball 설치 관리자]를 다운로드하세요. 거기서 <code>skins/</code> 디렉터리를 복사하여 붙여 넣을 수 있습니다.\n:* [https://www.mediawiki.org/wiki/Special:SkinDistributor mediawiki.org]에서 개별 스킨 tarball을 다운로드하세요.\n:* 미디어위키 설치의 <code dir=\"ltr\">skins/</code> 디렉터리 안에 git를 통해 <code>mediawiki/skins/*</code> 저장소 중 하나를 복제하세요.\n: 당신이 미디어위키 개발자이면 당신의 git 저장소를 방해하면 안 됩니다. 스킨을 활성화하고 기본값으로 선택하는 방법에 대한 정보에 대해서는 [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual: 스킨 설정]을 보세요.",
        "default-skin-not-found-row-enabled": "* <code>$1</code> / $2 (활성화)",
        "default-skin-not-found-row-disabled": "* <code>$1</code> / $2 (<strong>비활성화</strong>)",
        "mediastatistics": "미디어 통계",
index 1e8fe4d..0f5cc47 100644 (file)
        "previewerrortext": "Ene Fähler es beim Versohch opjetrodde, de Sigg met de Änderonge aanzezeije.",
        "blockedtitle": "Dä Metmaacher es jesperrt",
        "blockedtext": "'''Dinge Metmaacher-Nahme oder IP Adress es vun „$1“ jesperrt woode.'''\n\nAls Jrund es enjedrage: „''$2''“\n\nDo kanns heh em Wiki immer noch lässe. Do sühß ävver di Sigg heh, wann De op rude Links klicks, neu Sigge aanlääje, udder Sigge ändere wells, denn doför bes De jäz jeschperrt.\n\nDo kanns met $1 oder enem andere [[{{MediaWiki:Grouppage-sysop}}|Wiki-Köbes]] övver dat Schpärre schwaade, wann De wells.\nDo kanns ävver nor dann „''E-Mail aan dä Metmaacher''“ aanwände, wann De ald en E-Mail Adress en Dinge [[Special:Preferences|Enstellunge]] enjedrage un freijejovve häs un wann et E-mail schecke nit metjesperrt es.\n\nDun en Ding Aanfroge nenne:\n* Dä Wikki-Köhbeß, dä jeschpächt hät: $1\n* Der Jrond för et Schpärre: $2\n* Da wood jesperrt: $8\n* De Sperr soll loufe bes: $6\n* De Nommer vun dä Schpärr: #$5\n* Ding IP-Adress is jetz: $3\n* Di Sperr es wäje odde jäje: $7\n\nDo kanns och noch en et <span class=\"plainlinks\">[{{fullurl:Special:IPBlockList|&action=search&limit=&ip=%23}}$5 Logbohch met de Schpärre]</span> loore.",
-       "autoblockedtext": "'''Ding IP Adress es automattesch jesperrt woode.'''\n<br />\n'''Se wor vun enem Metmaacher jebruch woode, dä vun „$1“ jesperrt woode es.'''\n<br />\nAls Jrund es enjedrage: „''$2''“\n\nDo kanns heh em Wiki immer noch lesse. Do sühß ävver di Sigg heh, wann De op rude Links klicks, neu Sigge aanlääje, odder Sigge ändere wells, denn doför bes De jetz jesperrt.\n\nDo kanns met $1 oder enem andere [[{{MediaWiki:Grouppage-sysop}}|Wiki-Köbes]] övver dat Schpärre schwaade, wann De wells.\nDo kanns ävver nor dann „''e-mail aan dä Metmaacher''“ aanwende, wann De ald en e-mail Adress en Dinge [[Special:Preferences|Enstellunge]] enjedrage un freijejovve häs un wann et e-mail schecke nit metjeschperrt es.\n\nDun en Dinge Aanfrore nänne:\n* Dä Wiki-Köbeß, dä jesperrt hät: $1\n* Der Jrond för et Sperre: $2\n* Da wood jesperrt: $8\n* De Sperr soll loufe bes: $6\n* De Nommer vun dä Sperr: #$5\n* Ding IP-Adress is jetz: $3\n* Di Sperr es wäje odde jäje: $7\n\nDo kanns och noch en et <span class=\"plainlinks\">[{{fullurl:Special:IPBlockList|&action=search&limit=&ip=%23}}$5 {{int:ipblocklist}}]</span> loore.",
+       "autoblockedtext": "'''Ding IP Adress es automattesch jeschpächt woode.'''\n<br />\n'''Se wohr vun enem Metmaacher jebruch woode, dä vun „$1“ jeschpächt woode es.'''\n<br />\nAls Jrond es enjedrage: „''$2''“\n\nDo kanns heh em Wikki emmer noch lesse. Do sühß ävver di Sigg heh, wann De op ene rude Lengk klrks, neu Sigge aanlääje, udder Sigge änndere wells, denn doför bes De jäz jeschpächt.\n\nDo kanns met $1 oder enem andere [[{{MediaWiki:Grouppage-sysop}}|Wiki-Köbes]] övver dat Schpärre schwaade, wann De wells.\nDo kanns ävver nor dann „''e-mail aan dä Metmaacher''“ aanwende, wann De ald en e-mail Adress en Dinge [[Special:Preferences|Enstellunge]] enjedrage un freijejovve häs un wann et e-mail schecke nit metjeschperrt es.\n\nDun en Dinge Aanfrore nänne:\n* Dä Wiki-Köbeß, dä jesperrt hät: $1\n* Der Jrond för et Sperre: $2\n* Da wood jesperrt: $8\n* De Sperr soll loufe bes: $6\n* De Nommer vun dä Sperr: #$5\n* Ding IP-Adress is jetz: $3\n* Di Sperr es wäje odde jäje: $7\n\nDo kanns och noch en et <span class=\"plainlinks\">[{{fullurl:Special:IPBlockList|&action=search&limit=&ip=%23}}$5 {{int:ipblocklist}}]</span> loore.",
        "blockednoreason": "Keine Aanlass aanjejovve",
        "whitelistedittext": "Do mööts ald $1, öm heh em Wiki Sigge ändere ze dürfe.",
        "confirmedittext": "Do muss Ding E-Mail Adress ald bestätich han, ih dat De heh Sigge ändere darfs.\nDrag Ding E-Mail Adress en Ding [[Special:Preferences|ming Ennschtällong]] en, un dun „Dun Ding <i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"„de eläktrohnesche Poß“\">e-mail</i>-Adräß bestätije looße“ klicke.",
        "mergehistory-from": "Ursprongssigg:",
        "mergehistory-into": "Zielsigg:",
        "mergehistory-list": "Versione, di zosamme jelaat wäde künne",
-       "mergehistory-merge": "De Versione onge künne fun „[[:$1]]“ noh „[[:$2]]“ övverdraare wäde.\nDonn de Version makeere bes wohen (inklusive) dat övverdraare wäde sull. Donn drop aachjevve, dat de Ußwahl fott es, wann De op eine fun dä Links klicks.",
+       "mergehistory-merge": "De Versione onge künne fun „[[:$1]]“ noh „[[:$2]]“ övverdrahre wäde.\nDonn de Väsjon makehre bes wohen (inklusive) dat övverdrahre wähde sull. Donn drobb aachjevve, dat de Ußwahl fott es, wann De op eine fun dä Lengk kleks.",
        "mergehistory-go": "Don Versione zeije, di mer zosamme läje künne",
        "mergehistory-submit": "Versione zosamme läje",
        "mergehistory-empty": "Mer han kei Versione för zesammezeläje",
        "nbytes": "$1 Byte{{PLURAL:$1||s|}}",
        "ncategories": "{{PLURAL:$1| ein Saachjropp | $1 Saachjroppe | keij Saachjroppe }}",
        "ninterwikis": "{{PLURAL:$1|Eine Engerwikilengk|$1 Engerwikilengks|Keine Engerwikilengk}}",
-       "nlinks": "{{PLURAL:$1|eine Link|$1 Links}}",
+       "nlinks": "{{PLURAL:$1|eine Lengk|$1 Lengks|Keijne Lengk}}",
        "nmembers": "met {{PLURAL:$1|ein Sigg|$1 Sigge}} dren",
        "nmemberschanged": "met&nbsp;$1&nbsp;→&nbsp;{{PLURAL:$2|eine Sigg|$2&nbsp;Sigge|keine Sigg}}",
        "nrevisions": "{{PLURAL:$1|Ein Änderong|$1 Änderonge|Keij Änderong}}",
        "isimage": "weed aanjezeisch",
        "whatlinkshere-prev": "de vörijje {{PLURAL:$1||$1|noll}} zeije",
        "whatlinkshere-next": "de nächste {{PLURAL:$1||$1|noll}} zeije",
-       "whatlinkshere-links": "← Links",
+       "whatlinkshere-links": "← Lengks",
        "whatlinkshere-hideredirs": "de Ömleijdonge $1",
        "whatlinkshere-hidetrans": "de Oproofe $1",
        "whatlinkshere-hidelinks": "de nommahle Lengks $1",
        "exif-orientation-1": "Nommahl",
        "exif-orientation-2": "Op der Kopp jespeejelt",
        "exif-orientation-3": "Op der Kopp jedrieht",
-       "exif-orientation-4": "Links-Räähß jespehjelt",
+       "exif-orientation-4": "Lingks-Rääschß jeschpehjelt",
        "exif-orientation-5": "En Vehdelsdriehjong mem Uhrzeijer un dann lengks-rähß jespehjelt",
        "exif-orientation-6": "En Veedelsdriejong mem Uhrzeijer",
        "exif-orientation-7": "En Veedelsdriejong jääje der Uhrzeijer un dann lengks-rähß jespehjelt",
        "specialpages-group-login": "Enlogge udder Aanmälde",
        "specialpages-group-changes": "Läzde Änderonge un Logböhscher",
        "specialpages-group-media": "Dateije — Huhlahde un Opleßte",
-       "specialpages-group-users": "Metmaacher un denne ier Rääschte",
+       "specialpages-group-users": "Metmaacher un dänne ier Rääschde",
        "specialpages-group-highuse": "Öff jebruch…",
        "specialpages-group-pages": "Siggeleste",
        "specialpages-group-pagetools": "Werrekzüch för Sigge",
index ea70e50..b61fa5f 100644 (file)
        "apihelp-no-such-module": "मॉड्यूल \"$1\" सापडत नाही.",
        "apisandbox": "एपीआय(API) धूळपाटी",
        "apisandbox-api-disabled": "या संकेतस्थळावर एपीआय अक्षम केला आहे.",
-       "apisandbox-intro": "\"मिडियाविकि वेब सर्व्हीस एपीआय\" वर प्रयोग करण्यासाठी या पानाचा वापर करा. एपीआय वापरण्याच्या अधिक तपशिलासाठी [https://www.mediawiki.org/wiki/API:Main_page एपीआय दस्ताऐवजीकरण] हे पान बघा. उदाहरणार्थ:[https://www.mediawiki.org/wiki/API#A_simple_example मुख्य पानाचा आशय मिळवा]. अधिक उदाहरणे बघण्यास एखादी क्रिया निवडा.\n\n\"याची नोंद घ्या कि ही धूळपाटी असली तरी, या पानावर आपण केलेल्या क्रियांद्वारे विकिवर फेरफार होऊ शकतो.\"",
+       "apisandbox-intro": "<strong>मिडियाविकि वेब सर्व्हीस एपीआय</strong> वर प्रयोग करण्यासाठी या पानाचा वापर करा. एपीआय वापरण्याच्या अधिक तपशिलासाठी  [[mw:API:Main page| एपीआय दस्ताऐवजीकरण]] हे पान बघा. उदाहरणार्थ:[https://www.mediawiki.org/wiki/API#A_simple_example मुख्य पानाचा आशय मिळवा]. अधिक उदाहरणे बघण्यास एखादी क्रिया निवडा.\n\nयाची नोंद घ्या कि ही धूळपाटी असली तरी, या पानावर आपण केलेल्या क्रियांद्वारे विकिवर फेरफार होऊ शकतो.",
        "apisandbox-submit": "विनंती करा",
        "apisandbox-reset": "हटवा",
        "apisandbox-examples": "उदाहरण",
        "sessionprovider-generic": "$1 सत्रे",
        "sessionprovider-mediawiki-session-cookiesessionprovider": "कुकी-आधारीत सत्रे",
        "sessionprovider-nocookies": "कुकिज अक्षम असू शकतात. याची खात्री करा कि कुकिज सक्षम केल्या आहेत व पुन्हा सुरुवात करा.",
-       "randomrootpage": "अविशिष्ट मूळ पान"
+       "randomrootpage": "अविशिष्ट मूळ पान",
+       "log-action-filter-suppress-block": "रोधामार्फत सदस्य दाबणे"
 }
index efbc971..cb59019 100644 (file)
        "october-date": "Īcmahtlactlimētztli $1",
        "november-date": "Īcmahtlactlioncēmētztli $1",
        "december-date": "Īcmahtlactliomōmemētztli $1",
-       "pagecategories": "{{PLURAL:$1|Tlaìxmatkàtlàlilòtl|Tlaìxmatkàtlàlilòmë}}",
+       "pagecategories": "{{PLURAL:$1|Tlaìxmatkàyòtlàlilòtl|Tlaìxmatkàyòtlàlilòme}}",
        "category_header": "Tlâkuilòlpiltin ìpan tlaìxmatkàtlàlilòtl \"$1\"",
        "subcategories": "Tlaìxmatkàtlàlilòpilòmë",
        "category-media-header": "Media \"$1\" neneuhcāyōc",
        "category-empty": "''Cah ahtlein inīn neneuhcāyōc.''",
-       "hidden-categories": "{{PLURAL:$1|tlatlàtìlli tlaìxmatkàtlàlilòtl|tlatlàtìltìn tlaìxmatkàtlàlilòmë}}",
+       "hidden-categories": "{{PLURAL:$1|tlatlàtìlli tlaìxmatkàyòtlàlilòtl|tlatlàtìltìn tlaìxmatkàyòtlàlilòme}}",
        "hidden-category-category": "Tlatlàtìlkàtlaìxmatkàtlàlilòmë",
-       "category-subcat-count": "{{PLURAL:$2|Inìn tlaìxmatkàtlàlilòtl kipia san inìn tlaìxmatkàtlàlilòpilli.|Inìn tlaìxmatkàtlàlilòtl {{PLURAL:$1|kipia inìn tlaìxmatkàtlàlilòpilli|kimpia inìn $1 tlaìxmatkàtlàlilòpiltìn}}, ìpan $2.}}",
+       "category-subcat-count": "{{PLURAL:$2|Inìn tlaìxmatkàyòtlàlilòtl kipia san inìn tlaìxmatkàyòtlàlilòpilli.|Inìn tlaìxmatkàyòtlàlilòtl {{PLURAL:$1|kipia inìn tlaìxmatkàyòtlàlilòpilli|kimpia inîke $1 tlaìxmatkàyòtlàlilòpiltìn}}, ìpan $2.}}",
        "category-subcat-count-limited": "Inīn {{PLURAL:$1|neneuhcāyōtzintli cah|$1 neneuhcāyōtzintli cateh}} inīn neneuhcāyōc.",
-       "category-article-count": "{{PLURAL:$2|Inìn tlaìxmatkàtlàlilòtl san kipia|Inìn tlaìxmatkàtlàlilòtl kimpia {{PLURAL:$1|inìn tlaìxtlapalli|inîkë $1 tlaìxtlapaltìn}}, ìwikpa $2.}}",
+       "category-article-count": "{{PLURAL:$2|Inìn tlaìxmatkàyòtlàlilòtl san kipia|Inìn tlaìxmatkàyòtlàlilòtl kimpia {{PLURAL:$1|inìn tlaìxtlapalli|inîke $1 tlaìxtlapaltìn}}, ìwikpa $2.}}",
        "category-article-count-limited": "Inīn {{PLURAL:$1|zāzanilli cah|$1 zāzanilli cateh}} inīn neneuhcāyōc.",
-       "category-file-count": "{{PLURAL:$2|Inìn tlaìxmatkàtlàlilòtl san kipia|Inìn tlaìxmatkàtlalilòtl kimpia {{PLURAL:$1|inìn èwalli|inîkë $1 èwaltìn}}, ìwikpa $2.}}",
+       "category-file-count": "{{PLURAL:$2|Inìn tlaìxmatkàyòtlàlilòtl san kipia|Inìn tlaìxmatkàyòtlalilòtl kimpia {{PLURAL:$1|inìn èwalli|inîke $1 èwaltìn}}, ìwikpa $2.}}",
        "category-file-count-limited": "{{PLURAL:$1|Inìn tlâkuilòlèwalli kä|Inîkë $1 tlâkuilòlèwaltìn katêkë}} ìpan inìn tlaìxmatkàtlàlilòtl.",
        "listingcontinuesabbrev": "niman",
        "about": "Ītechcopa",
        "returnto": "Ximocuepa īhuīc $1.",
        "tagline": "Īhuīcpa {{SITENAME}}",
        "help": "Tēpalēhuiliztli",
-       "search": "Xitlatēmo",
+       "search": "Mà motèmo",
        "searchbutton": "Xictēmo",
        "go": "Xiyauh",
        "searcharticle": "Xiyauh",
        "unprotectthispage": "Xicpatla inīn tlaīxtli ītlapiyaliz",
        "newpage": "Yancuic tlaīxtli",
        "talkpage": "Xictlahto inīn tlaīxtli ītechcopa",
-       "talkpagelinktext": "Zānīlli",
+       "talkpagelinktext": "Nenônòtzalistli",
        "specialpage": "Nònkuâkìskàtlaìxtlapalli",
        "personaltools": "In tlein nitēquitiltilia",
        "articlepage": "Xiquitta in tlamantlaīxtli",
        "mediawikipage": "Xiquitta tlahcuilōltzin zāzanilli",
        "templatepage": "Xiquitta neīxcuītīllaīxtli",
        "viewhelppage": "Xiquitta tēpalēhuiliztli zāzanilli",
-       "categorypage": "Mà mỏta in tlaìxmatkàtlàlilòtlaìxtlapalli",
+       "categorypage": "Mà mỏta in tlaìxmatkàtlàlilòtlaìxtlapalli",
        "viewtalkpage": "Xiquitta tēixnāmiquiliztli zāzanilli",
        "otherlanguages": "Occequīntīn tlahtōlcopa",
        "redirectedfrom": "(Ōmotlacuep īhuīcpa $1)",
        "search-result-size": "$1 ({{PLURAL:$2|1 tlahtōl|$2 tlahtōltin}})",
        "search-redirect": "(tlacuepaliztli $1)",
        "search-section": "(tlahtōltzintli $1)",
+       "search-category": "(tlaìxmatkàyòtlàlilòtl $1)",
        "search-suggest": "Ahnōceh tiquihtōznequiya: $1",
        "search-interwiki-caption": "Tlachīhualiztli īcnīhuān",
        "search-interwiki-more": "(huehca ōmpa)",
        "withoutinterwiki": "Zāzaniltin ahtle tzonhuiliztli",
        "withoutinterwiki-submit": "Tiquittāz",
        "nbytes": "$1 {{PLURAL:$1|byte}}",
-       "ncategories": "$1 {{PLURAL:$1|tlaìxmatkàtlàlilòtl|tlaìxmatkàtlàlilòmë}}",
+       "ncategories": "$1 {{PLURAL:$1|tlaìxmatkàyòtlàlilòtl|tlaìxmatkàyòtlàlilòme}}",
        "nlinks": "$1 {{PLURAL:$1|tzòwilistli|tzòwilistìn}}",
        "nmembers": "$1 {{PLURAL:$1|tlâkuilòpilli|tlâkuilòpiltìn}}",
        "nrevisions": "$1 {{PLURAL:$1|tlapiyaliztli}}",
        "allarticles": "Mochīntīn tlahcuilōlli",
        "allinnamespace": "Mochīntīn zāzanilli (īpan $1)",
        "allpagessubmit": "Tiyāz",
-       "categories": "Tlaìxmatkàtlàlilòmë",
-       "categoriespagetext": "{{PLURAL:$1|Inìn tlaìxmatkàtlàlilòtl kimpia|Inîkë tlaìxmatkàtlàlilòmë kimpiâkë}} tlaìxtlapaltìn noso medios.\nÂmò monèxtiâkë nikàn in [[Special:UnusedCategories|tlaìxmatkàtlàlilòmë tlèn âmò mokìntekitìltia]].\nNò mà mỏta in tlèn [[Special:WantedCategories|ìpan kineki tlaìxmatkàtlàlilòtl]].",
+       "categories": "Tlaìxmatkàyòtlàlilòme",
+       "categoriespagetext": "{{PLURAL:$1|Inìn tlaìxmatkàyòtlàlilòtl kimpia|Inîke tlaìxmatkàyòtlàlilòme kimpiâke}} tlaìxtlapaltìn noso medios.\nÂmò monèxtiâke nikàn in [[Special:UnusedCategories|tlaìxmatkàyòtlàlilòme tlèn âmò mokìntekitìltia]].\nNò mà mỏta in tlèn [[Special:WantedCategories|ìpan kineki tlaìxmatkàyòtlàlilòtl]].",
        "categoriesfrom": "Mà monèxtìkàn tlaìxmatkàtlàlilòmë tlèn pèwâkë ìka:",
        "linksearch": "Calān tzonhuiliztli tlatemoliztli",
        "linksearch-ns": "Tōcātzin:",
        "move-leave-redirect": "Ticcāhuāz cē tlacuepaliztli",
        "export": "Tiquinnamacāz zāzaniltin",
        "export-submit": "Ticnamacāz",
-       "export-addcattext": "Mà tlatlaìxtlapalwilo ìwikpa tlatlaìxmatkàtlàlilòpa:",
+       "export-addcattext": "Mà tlatlaìxtlapalwilo ìwikpa tlatlaìxmatkàtlàlilòpa:",
        "export-addcat": "Ticcētilīz",
        "export-download": "Ticpiyāz quemeh tlahcuilōlli",
        "export-templates": "Tiquimpiyāz nemachiyōtīlli",
        "tooltip-ca-nstab-mediawiki": "Xiquitta in tlahcuilōltzin",
        "tooltip-ca-nstab-template": "Xiquitta in nemachiyōtīlli",
        "tooltip-ca-nstab-help": "Xiquitta in tēpalēhuiliztli zāzanilli",
-       "tooltip-ca-nstab-category": "Mà mỏta ìtlaìxtlapal in tlaìxmatkàtlàlilòtl",
+       "tooltip-ca-nstab-category": "Mà mỏta ìtlaìxtlapal in tlaìxmatkàtlàlilòtl",
        "tooltip-minoredit": "Ticmachiyōz quemeh tlapatlalitzintli",
        "tooltip-save": "Ticpiyaz mopatlaliz",
        "tooltip-preview": "Xachtopaitta mopatlaliz ¡Timitztlahtlauhtiliah, xicchīhua yēppa mā tiquimpiya!",
        "exif-gpslongitude": "Huehtlatzīncāyōtl",
        "exif-gpsaltitude": "Huehcapancayōtl",
        "exif-gpstimestamp": "GPS cāhuitl (atomic tepozcāhuitl)",
+       "exif-iimcategory": "Tlaìxmatkàyòtlàlilòtl",
        "exif-orientation-1": "Yēctli",
        "exif-meteringmode-255": "Occē",
        "exif-lightsource-1": "Tōnameyōtl",
        "htmlform-selectorother-other": "Occē",
        "rightsnone": "ahtlein",
        "revdelete-summary": "ticpatlāz tlahcuilōltōn",
-       "searchsuggest-search": "Xitlatēmo",
+       "searchsuggest-search": "Mà motèmo",
        "api-error-ok-but-empty": "Tlâtek îtlakawilistli: Âmò tènankilia in tlatèmakani.",
        "api-error-overwrite": "Awel motlâkuilnepanòltis sè èwalli tlèn yi katki.",
        "api-error-stashfailed": "Tlâtek îtlakawilistli: In tlatèmakani awel òkeuh in èwalpanòni.",
index 50a8f75..ebfcf5c 100644 (file)
@@ -82,7 +82,7 @@
                ]
        },
        "tog-underline": "Koppelingen onderstrepen:",
-       "tog-hideminor": "Kleine wijzigingen verbergen in recente wijzigingen",
+       "tog-hideminor": "Kleine bewerkingen verbergen in recente wijzigingen",
        "tog-hidepatrolled": "Gemarkeerde wijzigingen verbergen in recente wijzigingen",
        "tog-newpageshidepatrolled": "Gemarkeerde pagina's verbergen in de lijst met nieuwe pagina's",
        "tog-hidecategorization": "Categorisatie van pagina's verbergen",
        "recentchanges-submit": "Weergeven",
        "rcnotefrom": "Wijzigingen sinds <strong>$3 om $4</strong> (maximaal <strong>$1</strong> {{PLURAL:$1|wijziging|wijzigingen}}).",
        "rclistfrom": "Wijzigingen bekijken vanaf $3 $2",
-       "rcshowhideminor": "Kleine wijzigingen $1",
+       "rcshowhideminor": "Kleine bewerkingen $1",
        "rcshowhideminor-show": "weergeven",
        "rcshowhideminor-hide": "verbergen",
        "rcshowhidebots": "bots $1",
        "sp-contributions-username": "IP-adres of gebruikersnaam:",
        "sp-contributions-toponly": "Alleen nieuwste versies weergeven",
        "sp-contributions-newonly": "Alleen nieuwe pagina's weergeven",
+       "sp-contributions-hideminor": "Verberg kleine bewerkingen",
        "sp-contributions-submit": "Bekijken",
        "whatlinkshere": "Koppelingen naar deze pagina",
        "whatlinkshere-title": "Pagina's die verwijzen naar \"$1\"",
index 5db358b..1c59e49 100644 (file)
@@ -55,7 +55,7 @@
        "tog-ccmeonemails": "Me mandar una còpia dels corrièrs electronics que mandi als autres utilizaires",
        "tog-diffonly": "Far pas veire lo contengut de las paginas jos las difs",
        "tog-showhiddencats": "Afichar las categorias amagadas",
-       "tog-norollbackdiff": "Ometre lo diff aprèp l’utilizacion d’un revert",
+       "tog-norollbackdiff": "Afichar pas lo diff aprèp aver revocat",
        "tog-useeditwarning": "M’avisar quand quiti una pagina de modificacion sens publicar los cambiaments",
        "tog-prefershttps": "Utilizar totjorn una connexion securizada en essent connectat",
        "underline-always": "Totjorn",
        "viewhelppage": "Vejatz la pagina d'ajuda",
        "categorypage": "Vejatz la pagina de las categorias",
        "viewtalkpage": "Pagina de discussion",
-       "otherlanguages": "En autras lengas",
+       "otherlanguages": "Dins d'autras lengas",
        "redirectedfrom": "(Redirigit dempuèi $1)",
        "redirectpagesub": "Pagina de redireccion",
        "redirectto": "Redirigir cap a :",
        "nocookieslogin": "{{SITENAME}} utiliza de cookies per la connexion mas avètz los cookies desactivats. Activatz-los e reconnectatz-vos.",
        "nocookiesfornew": "Lo compte d'utilizaire es pas estat creat, perque avèm pas pogut identificar son origina.\nVerificatz qu'avètz activat los cookies, recargatz la pagina e tornatz ensajar.",
        "noname": "Avètz pas picat de nom d'utilizaire valid.",
-       "loginsuccesstitle": "Identificacion capitada.",
+       "loginsuccesstitle": "Connectat",
        "loginsuccess": "Sètz actualament connectat(ada) sus {{SITENAME}} en tant que « $1 ».",
        "nosuchuser": "L'utilizaire « $1 » existís pas.\nLo nom d'utilizaire es sensible a la cassa.\nVerificatz vòstra ortografia, o [[Special:CreateAccount|creatz-vos un compte novèl]].",
        "nosuchusershort": "I a pas de contributor amb lo nom « $1 ». Verificatz l’ortografia.",
        "createaccount-title": "Creacion d'un compte per {{SITENAME}}",
        "createaccount-text": "Qualqu'un a creat un compte per vòstra adreça de corrièr electronic sus {{SITENAME}} ($4) intitolat « $2 », amb per senhal « $3 ». Deuriaz dobrir una sessilha e cambiar, tre ara, aqueste senhal.\n\nIgnoratz aqueste messatge se aqueste compte es estat creat per error.",
        "login-throttled": "Avètz ensajat un tròp grand nombre de connexions darrièrament.\nEsperatz $1 abans d’ensajar tornarmai.",
-       "login-abort-generic": "Vòstra temptativa de connexion a fracassat",
+       "login-abort-generic": "Vòstra temptativa de connexion a fracassat - Anullat",
        "loginlanguagelabel": "Lenga: $1",
        "suspicious-userlogout": "Vòstra demanda de desconnexion es estada refusada perque sembla qu’es estada mandada per un navigador copat o la mesa en cache d’un proxy.",
        "createacct-another-realname-tip": "Lo nom vertadièr es opcional.\nSe decidissètz de lo provesir, serà utilizat per atribuir a l’utilizaire sos trabalhs.",
        "newarticle": "(Novèl)",
        "newarticletext": "Avètz seguit un ligam cap a una pagina qu’existís pas encara o qu'es estada [{{fullurl:Special:Log|type=delete&page={{FULLPAGENAMEE}}}} escafada].\nPer crear aquesta pagina, picatz vòstre tèxte dins la bóstia çaijós (podètz consultar [$1 la pagina d’ajuda] per mai d’entresenhas).\nSe sètz arribat(ada) aicí per error, clicatz sul boton '''retorn''' de vòstre navigador.",
        "anontalkpagetext": "---- ''Sètz sus la pagina de discussion d'un utilizaire anonim qu'a pas encara creat un compte o que n'utiliza pas.\nPer aquesta rason, devèm utilizar son adreça IP per l'identificar. Una adreça d'aqueste tipe pòt èsser partejada entre mantun utilizaire. Se sètz un utilizaire anonim e se constatatz que de comentaris que vos concernisson pas vos son estats adreçats, podètz [[Special:CreateAccount|crear un compte]] o [[Special:UserLogin|vos connectar]] per evitar tota confusion venenta amb d’autres contributors anonims.''",
-       "noarticletext": "Pel moment, i a pas cap de tèxte sus aquesta pagina ;\npodètz [[Special:Search/{{PAGENAME}}|aviar una recèrca sul títol d'aqueste títol de pagina]] dins las autras pagina,\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} recercar dins las operacions ligadas]\no [{{fullurl:{{FULLPAGENAME}}|action=edit}} crear aquesta pagina]</span>.",
+       "noarticletext": "Pel moment, i a pas cap de tèxte sus aquesta pagina.\nPodètz [[Special:Search/{{PAGENAME}}|aviar una recèrca sul títol d'aqueste títol de pagina]] dins las autras pagina,\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} recercar dins las operacions ligadas],\no [{{fullurl:{{FULLPAGENAME}}|action=edit}} crear aquesta pagina]</span>.",
        "noarticletext-nopermission": "Actualament i a pas cap de tèxte dins aquesta pagina.\nPodètz [[Special:Search/{{PAGENAME}}|far una recèrca sul títol de la pagina]] dins las autras paginas,\no <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} recercar dins los jornals associats]</span>.",
        "missing-revision": "La revision n° $1 de la pagina intitulada « {{FULLPAGENAME}} » existís pas.\n\nAquò se produtz en general en seguent un ligam istoric obsolèt cap a una pagina qu'es estada suprimida.\nPodètz trobar mai de detalhs dins lo [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} jornal de las supressions].",
        "userpage-userdoesnotexist": "Lo compte d'utilizaire « <nowiki>$1</nowiki> » es pas enregistrat. Indicatz se volètz crear o editar aquesta pagina.",
        "continue-editing": "Anar a la zòna de modificacion",
        "previewconflict": "Aquesta previsualizacion fa veire lo tèxte de la bóstia de modificacion superiora coma apareisserà se causissètz de lo salvar.",
        "session_fail_preview": "O planhèm, podèm pas enregistrar vòstra modificacion a causa d’una pèrda d’informacions a prepaus de vòstra session.\n\nBenlèu que sètz estat desconnectat. <strong>Verificatz que sètz encara connectat e ensajatz tornamai.</strong>\nSe aquò fracassa tornamai, ensajatz en vos [[Special:UserLogout|desconnectant]], puèi en vos reconnectant, e verificatz que vòstre navigador accèpta los cookies d'aqueste site.",
-       "session_fail_preview_html": "'''Podèm pas enregistrar vòstra modificacion a causa d’una pèrda d’informacions que concernís vòstra session.'''\n\n''Perque {{SITENAME}} a activat l’HTML brut, la previsualizacion es estada amagada per prevenir un atac per JavaScript.''\n\n'''Se la temptativa de modificacion èra legitima, ensajatz encara.\nS'aquò capita pas un còp de mai, [[Special:UserLogout|desconnectatz-vos]], puèi connectatz-vos tornamai.'''",
+       "session_fail_preview_html": "O planhèm, podèm pas enregistrar vòstra modificacion a causa d’una pèrda d’informacions que concernís vòstra session.\n\n<em>Perque {{SITENAME}} a activat l’HTML brut, la previsualizacion es estada amagada per prevenir un atac per JavaScript.</em>\n\n<strong>Se la temptativa de modificacion èra legitima, ensajatz encara.</strong>\nS'aquò capita pas un còp de mai, [[Special:UserLogout|desconnectatz-vos]], puèi connectatz-vos tornamai.",
        "token_suffix_mismatch": "'''Vòstra modificacion es pas estada acceptada perque vòstre navigador a mesclat los caractèrs de ponctuacion dins l’identificant d’edicion. La modificacion es estada regetada per empachar la corrupcion del tèxte de l’article. Aqueste problèma se produtz quand utilizatz un mandatari (proxy) anonim problematic.'''",
        "edit_form_incomplete": "'''D'unas partidas del formulari de modificacion an pas atench lo servidor, verificatz que vòstras modificacions son intactas e ensajatz tornarmai.'''",
        "editing": "Modificacion de $1",
        "revdelete-unsuppress": "Levar las restriccions sus las versions restablidas",
        "revdelete-log": "Motiu :",
        "revdelete-submit": "Aplicar {{PLURAL:$1|a la version seleccionada|a las versions seleccionadas}}",
-       "revdelete-success": "'''Visibilitat de las versions mesas a jorn amb succès.'''",
+       "revdelete-success": "Visibilitat de las versions mesa a jorn.",
        "revdelete-failure": "'''La visibilitat de la revision a pas pogut èsser mesa a jorn :'''\n$1",
-       "logdelete-success": "'''Jornal de las visibilitat parametrat amb succès.'''",
+       "logdelete-success": "Visibilitat del jornal modificada.",
        "logdelete-failure": "'''La visibilitat del jornal a pas pogut èsser definida :'''\n$1",
        "revdel-restore": "Modificar la visibilitat",
        "pagehist": "Istoric de la pagina",
        "mergehistory-go": "Veire las edicions fusionablas",
        "mergehistory-submit": "Fusionar las revisions",
        "mergehistory-empty": "Cap de revision pòt pas èsser fusionada.",
-       "mergehistory-done": "$3 {{PLURAL:$3|revision|revisions}} de $1 {{PLURAL:$3|fusionada|fusionadas}} amb succès amb [[:$2]].",
+       "mergehistory-done": "$3 version{{PLURAL:$3||s}} de $1 {{PLURAL:$3|es estada fusionada|son estada fusionadas}} dins [[:$2]].",
        "mergehistory-fail": "Impossible de procedir a la fusion dels istorics. Seleccionatz  tornamai la pagina e mai los paramètres de data.",
        "mergehistory-fail-toobig": "Impossible d’efectuar la fusion de l’istoric perque un nombre de {{PLURAL:$1|revisions}} superior al limit de $1 deuriá èsser desplaçat.",
        "mergehistory-no-source": "La pagina d'origina $1 existís pas.",
        "uploadstash": "Cache d'impòrt",
        "uploadstash-clear": "Escafar los fichièrs en cache",
        "uploadstash-nofiles": "Avètz pas de fichièrs en cache d'impòrt.",
-       "uploadstash-errclear": "L'escafament dels fichièrs a fracassat.",
+       "uploadstash-errclear": "La supression dels fichièrs a fracassat.",
        "uploadstash-refresh": "Actualizar la lista dels fichièrs",
        "invalid-chunk-offset": "Offset de segment invalid",
        "img-auth-accessdenied": "Accès refusat",
        "booksources-text": "Vaquí una lista de ligams cap a d’autres sites que vendon de libres nòus e d’ocasion e suls quals trobaretz benlèu d'entresenhas suls obratges que cercatz. {{SITENAME}} es pas ligada a cap d'aquestas societats, a pas l’intencion de ne far la promocion.",
        "booksources-invalid-isbn": "Lo numèro ISBN balhat sembla pas èsser valid ; verificatz s'avètz fait una error al moment de la còpia dempuèi la font.",
        "specialloguserlabel": "Autor :",
-       "speciallogtitlelabel": "Cibla (títol o utilizaire):",
+       "speciallogtitlelabel": "Cibla (títol o {{ns:user}}:nom d'utilizaire) :",
        "log": "Jornals",
        "all-logs-page": "Totas las operacions publicas",
        "alllogstext": "Afichatge combinat de totes los jornals de {{SITENAME}}.\nPodètz restrénher la vista en seleccionant un tipe de jornal, un nom d’utilizaire (cassa sensibla) o una pagina ciblada (idem).",
        "emailccsubject": "Còpia de vòstre messatge a $1 : $2",
        "emailsent": "Messatge mandat",
        "emailsenttext": "Vòstre messatge es estat mandat.",
-       "emailuserfooter": "Aqueste corrièr electronic es estat mandat per « $1 » a « $2 » per la foncion « Mandar un corrièr electronic a l’utilizaire » sus {{SITENAME}}.",
+       "emailuserfooter": "Aqueste corrièr electronic es estat mandat per « $1 » a « $2 » per la foncion « {{int:emailuser}} » sus {{SITENAME}}.",
        "usermessage-summary": "A daissat un messatge de sistèma.",
        "usermessage-editor": "Messatgièr del sistèma",
        "watchlist": "Lista de seguiment",
        "whatlinkshere-prev": "{{PLURAL:$1|precedent|$1 precedents}}",
        "whatlinkshere-next": "{{PLURAL:$1|seguent|$1 seguents}}",
        "whatlinkshere-links": "← ligams",
-       "whatlinkshere-hideredirs": "$1 redireccions",
-       "whatlinkshere-hidetrans": "$1 transclusions",
+       "whatlinkshere-hideredirs": "$1 las redireccions",
+       "whatlinkshere-hidetrans": "$1 las inclusions",
        "whatlinkshere-hidelinks": "$1 ligams",
        "whatlinkshere-hideimages": "$1 los fichièrs ligats",
        "whatlinkshere-filters": "Filtres",
index ff183ed..c75f263 100644 (file)
        "createacct-email-ph": "Wpisz swój adres e-mail",
        "createacct-another-email-ph": "Podaj adres e-mail",
        "createaccountmail": "Użyj tymczasowego hasła wygenerowanego losowo i wyślij je na podany adres e-mail",
+       "createaccountmail-help": "Pozwala utworzyć konto dla innej osoby, nie znając jej hasła.",
        "createacct-realname": "Prawdziwe imię i nazwisko (opcjonalnie)",
        "createaccountreason": "Powód:",
        "createacct-reason": "Powód",
        "mergehistory-fail-bad-timestamp": "Znacznik czasu jest nieprawidłowy.",
        "mergehistory-fail-invalid-source": "Strona źródłowa jest nieprawidłowa.",
        "mergehistory-fail-invalid-dest": "Strona docelowa jest nieprawidłowa.",
-       "mergehistory-fail-permission": "Brak uprawnień aby połączyć historię.",
+       "mergehistory-fail-permission": "Brak uprawnień, aby połączyć historię.",
        "mergehistory-fail-self-merge": "Strona źródłowa i docelowa są takie same.",
        "mergehistory-fail-toobig": "Nie można połączyć historii, gdyż wymagałoby to przeniesienia więcej niż maksymalnej dopuszczalnej liczby $1 {{PLURAL:$1|wersji}}.",
        "mergehistory-no-source": "Strona źródłowa $1 nie istnieje.",
        "grant-editprotected": "Edycja stron zabezpieczonych",
        "grant-highvolume": "Masowe edytowanie",
        "grant-oversight": "Ukrywanie użytkowników i wersji stron",
+       "grant-patrol": "Patrolować zmiany w stronach",
        "grant-protect": "Zabezpieczanie i odbezpieczanie stron",
        "grant-rollback": "Wycofywanie zmian na stronach",
        "grant-sendemail": "Wysyłanie e‐maili do innych użytkowników",
        "action-createpage": "tworzenia stron",
        "action-createtalk": "tworzenia stron dyskusji",
        "action-createaccount": "utworzenia tego konta użytkownika",
+       "action-autocreateaccount": "automatycznego utworzenia tego zewnętrznego konta użytkownika",
        "action-history": "przeglądania historii tej strony",
        "action-minoredit": "do oznaczenia tej edycji jako drobna zmiana",
        "action-move": "przeniesienia tej strony",
        "upload-too-many-redirects": "URL zawiera zbyt wiele przekierowań",
        "upload-http-error": "Wystąpił błąd protokołu HTTP – $1",
        "upload-copy-upload-invalid-domain": "Przesyłanie kopii z tej domeny nie jest dostępne.",
+       "upload-foreign-cant-upload": "Ta wiki nie jest skonfigurowana, aby przesyłać pliki do żądanego zewnętrznego repozytorium plików.",
+       "upload-foreign-cant-load-config": "Wczytywanie konfiguracji przesyłania plików do zewnętrznego repozytorium nie powiodło się.",
+       "upload-dialog-disabled": "Przesyłanie plików przy pomocy tego okna jest wyłączone na tej wiki.",
        "upload-dialog-title": "Prześlij plik",
        "upload-dialog-button-cancel": "Anuluj",
        "upload-dialog-button-done": "Gotowe",
        "apisandbox-request-url-label": "URL zapytania:",
        "apisandbox-request-time": "Czas przetwarzania zapytania: {{PLURAL:$1|$1 ms}}",
        "apisandbox-results-fixtoken": "Popraw token i wyślij ponownie",
+       "apisandbox-results-fixtoken-fail": "Nie udało się pobrać tokena „$1”.",
        "apisandbox-alert-page": "Pola na tej stronie są nieprawidłowe.",
        "apisandbox-alert-field": "Wartość tego pola jest nieprawidłowa.",
        "booksources": "Książki",
        "rollbacklinkcount": "cofnij $1 {{PLURAL:$1|edycję|edycje|edycji}}",
        "rollbacklinkcount-morethan": "cofnij więcej niż $1 {{PLURAL:$1|edycję|edycje|edycji}}",
        "rollbackfailed": "Nie udało się cofnąć zmiany",
+       "rollback-missingparam": "W żądaniu nie podano wymaganych parametrów.",
        "cantrollback": "Nie można cofnąć edycji tego autora, ponieważ jest jedynym autorem tej strony.",
        "alreadyrolled": "Nie można dla strony [[:$1|$1]] cofnąć ostatniej zmiany, którą wykonał [[User:$2|$2]] ([[User talk:$2|dyskusja]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]).\nKtoś inny zdążył już to zrobić lub wprowadził własne poprawki do treści strony.\n\nAutorem ostatniej zmiany jest teraz [[User:$3|$3]] ([[User talk:$3|dyskusja]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).",
        "editcomment": "Edycję opisał: <em>$1</em>.",
        "revertpage": "Wycofano edycje użytkownika [[Special:Contributions/$2|$2]] ([[User talk:$2|dyskusja]]). Autor przywróconej wersji to [[User:$1|$1]].",
        "revertpage-nouser": "Wycofano edycje ukrytego użytkownika. Autor przywróconej wersji to {{GENDER:$1|[[User:$1|$1]]}}.",
        "rollback-success": "Wycofano edycje użytkownika $1;\nprzywrócono ostatnią wersję autorstwa $2.",
+       "rollback-success-notify": "Wycofano edycje użytkownika $1;\nprzywrócono ostatnią wersję autorstwa $2. [$3 Pokaż zmiany]",
        "sessionfailure-title": "Błąd sesji",
        "sessionfailure": "Wystąpił problem z weryfikacją zalogowania.\nPolecenie zostało anulowane, aby uniknąć przechwycenia sesji.\nNaciśnij „wstecz” w przeglądarce, przeładuj stronę, po czym ponownie wydaj polecenie.",
        "changecontentmodel": "Edycja modelu zawartości strony",
        "rcpatroldisabled": "Wyłączono funkcję patrolowania na stronie ostatnich zmian",
        "rcpatroldisabledtext": "Patrolowanie ostatnich zmian jest obecnie wyłączone.",
        "markedaspatrollederror": "Nie można oznaczyć jako „sprawdzone”",
-       "markedaspatrollederrortext": "Musisz wybrać wersję żeby oznaczyć ją jako „sprawdzoną”.",
+       "markedaspatrollederrortext": "Musisz wybrać wersję, żeby oznaczyć ją jako „sprawdzoną”.",
        "markedaspatrollederror-noautopatrol": "Nie masz uprawnień wymaganych do oznaczania swoich edycji jako „sprawdzone”.",
        "markedaspatrollednotify": "Ta zmiana na stronie «$1» została oznaczona jako sprawdzona.",
        "markedaspatrollederrornotify": "Oznaczenie strony jako sprawdzonej nie powiodło się.",
        "sessionprovider-nocookies": "Być może cookies są wyłączone. Upewnij się, że masz włączone cookies i zacznij od nowa.",
        "randomrootpage": "Losowa strona (bez podstron)",
        "log-action-filter-block": "Rodzaj blokady:",
+       "log-action-filter-contentmodel": "Typ modyfikacji modelu zawartości:",
        "log-action-filter-delete": "Rodzaj usunięcia:",
+       "log-action-filter-import": "Typ importu:",
+       "log-action-filter-managetags": "Typ działania zarządzania znacznikami:",
+       "log-action-filter-move": "Typ przeniesienia:",
+       "log-action-filter-newusers": "Typ utworzenia konta:",
        "log-action-filter-patrol": "Rodzaj patrolu:",
        "log-action-filter-protect": "Rodzaj zabezpieczenia:",
        "log-action-filter-rights": "Typ zmiany uprawień",
+       "log-action-filter-suppress": "Typ ukrycia",
        "log-action-filter-upload": "Rodzaj przesłanych:",
        "log-action-filter-all": "Wszystkie",
        "log-action-filter-block-block": "Zablokowanie",
        "log-action-filter-block-reblock": "Zmiana blokady",
        "log-action-filter-block-unblock": "Odblokowanie",
+       "log-action-filter-contentmodel-change": "Zmiana modelu zawartości",
+       "log-action-filter-contentmodel-new": "Utworzenie strony z niestandardowym modelem zawartości",
        "log-action-filter-delete-delete": "Usunięcie strony",
        "log-action-filter-delete-restore": "Odtworzenie strony",
        "log-action-filter-delete-event": "Usunięcie wpisu rejestru",
        "log-action-filter-managetags-delete": "Usunięcie znacznika",
        "log-action-filter-managetags-activate": "Aktywacja znacznika",
        "log-action-filter-managetags-deactivate": "Deaktywacja znacznika",
+       "log-action-filter-move-move": "Przeniesienie bez nadpisania przekierowania",
+       "log-action-filter-move-move_redir": "Przeniesienie ponad przekierowaniem",
+       "log-action-filter-newusers-create": "Utworzenie przez anonimowego użytkownika",
+       "log-action-filter-newusers-create2": "Utworzenie przez zarejestrowanego użytkownika",
+       "log-action-filter-newusers-autocreate": "Automatyczne utworzenie",
+       "log-action-filter-newusers-byemail": "Utworzenie z hasłem przesłanym e-mailem",
        "log-action-filter-patrol-patrol": "Ręczny",
        "log-action-filter-patrol-autopatrol": "Automatyczny",
        "log-action-filter-protect-protect": "Zabezpieczenie",
        "log-action-filter-protect-modify": "Zmiana zabezpieczenia",
        "log-action-filter-protect-unprotect": "Odbezpieczenie",
+       "log-action-filter-protect-move_prot": "Przeniesienie zabezpieczenia",
        "log-action-filter-rights-rights": "Ręczna zmiana",
        "log-action-filter-rights-autopromote": "Automatyczna zmiana",
+       "log-action-filter-suppress-event": "Ukrycie wpisu rejestru",
+       "log-action-filter-suppress-revision": "Ukrycie wersji",
+       "log-action-filter-suppress-delete": "Ukrycie strony",
+       "log-action-filter-suppress-block": "Ukrycie użytkownika poprzez blokadę",
+       "log-action-filter-suppress-reblock": "Ukrycie użytkownika poprzez ponowną blokadę",
        "log-action-filter-upload-upload": "Nowe przesłane",
        "log-action-filter-upload-overwrite": "Przesłane ponownie",
        "authmanager-create-disabled": "Utworzenie konta jest wyłączone.",
        "authmanager-retype-help": "Ponownie hasło w celu potwierdzenia.",
        "authmanager-email-label": "E-mail",
        "authmanager-email-help": "Adres e‐mail",
+       "authmanager-realname-label": "Imię i nazwisko",
        "authmanager-realname-help": "Prawdziwe imię i nazwisko użytkownika",
        "authmanager-provider-password": "Uwierzytelnianie oparte na haśle",
        "authmanager-provider-password-domain": "Uwierzytelnianie na podstawie hasła i domeny",
        "authmanager-provider-temporarypassword": "Hasło tymczasowe",
+       "authprovider-confirmlink-success-line": "$1: Połączono.",
        "authprovider-resetpass-skip-label": "Pomiń",
        "authprovider-resetpass-skip-help": "Pomiń resetowanie hasła.",
        "authform-newtoken": "Brakujący token. $1",
index 0c864b5..b97319c 100644 (file)
@@ -96,7 +96,8 @@
                        "Luk3",
                        "Ryuu",
                        "Luan",
-                       "Anderson Costa"
+                       "Anderson Costa",
+                       "LucyDiniz"
                ]
        },
        "tog-underline": "Sublinhar links:",
        "noname": "Você não colocou um nome de usuário válido.",
        "loginsuccesstitle": "Autenticado",
        "loginsuccess": "'''Agora você está {{GENDER:autenticado|autenticada}} ao wiki {{SITENAME}} como \"$1\"'''.",
-       "nosuchuser": "Não existe nenhum usuário com o nome \"$1\".\nOs nomes de usuário são sensíveis a letras maiúsculas.\nVerifique o que foi digitado ou [[Special:CreateAccount|crie uma nova conta]].",
+       "nosuchuser": "Não existe nenhum usuário com o nome \"$1\".\nOs nomes de usuário são sensíveis a letras maiúsculas.\nVerifique se digitou corretamente ou [[Special:CreateAccount|crie uma nova conta]].",
        "nosuchusershort": "Não existe um usuário com o nome \"$1\". Verifique o nome que introduziu.",
        "nouserspecified": "Você precisa especificar um nome de usuário.",
        "login-userblocked": "Este usuário está bloqueado. Entrada proibida.",
        "createacct-another-realname-tip": "O nome verdadeiro é opcional.\nSe você optar por fornecê-lo, este nome será utilizado para dar ao usuário a atribuição de seu trabalho.",
        "pt-login": "Entrar",
        "pt-login-button": "Entrar",
+       "pt-login-continue-button": "Continuar conexão",
        "pt-createaccount": "Crie uma conta",
        "pt-userlogout": "Sair",
        "php-mail-error-unknown": "Erro desconhecido na função mail() do PHP",
        "botpasswords-invalid-name": "O nome de usuário especificado não contém o separador de senha de robô (\"$1\").",
        "botpasswords-not-exist": "O usuário \"$1\" não possui uma senha de robô \"$2\".",
        "resetpass_forbidden": "As senhas não podem ser alteradas",
+       "resetpass_forbidden-reason": "Senhas não podem ser alteradas: $1",
        "resetpass-no-info": "Você precisa estar autenticado para acessar esta página diretamente.",
        "resetpass-submit-loggedin": "Alterar senha",
        "resetpass-submit-cancel": "Cancelar",
        "passwordreset-emailsentusername": "Se houver um endereço de email associado a esta conta, ser-lhe-á enviada uma mensagem para redefinir a sua senha.",
        "passwordreset-emailsent-capture": "Foi enviado um e-mail de lembrete, que é mostrado abaixo.",
        "passwordreset-emailerror-capture": "Foi gerado um e-mail de recuperação da senha, conforme mostrado abaixo, mas o envio {{GENDER:$2|ao usuário|à usuária}} falhou. $1",
+       "passwordreset-emailsent-capture2": "A redefinição da senha {{PLURAL:$1|do e-mail|dos e-mails}} foi enviada. {{PLURAL:$1|O nome de usuário e senha|A lista de nomes de usuário e senhas}} encontram-se a seguir.",
        "changeemail": "Alterar ou remover endereço de email",
        "changeemail-header": "Preencha este formulário para alterar seu endereço de e-mail. Se você gostaria de remover a associação de qualquer endereço de e-mail da sua conta, deixe o novo endereço de email em branco quando enviar o formulário.",
        "changeemail-passwordrequired": "Você terá que digitar sua senha para confirmar esta mudança.",
        "right-override-export-depth": "Exportar páginas incluindo páginas ligadas até uma profundidade de 5",
        "right-sendemail": "Enviar email a outros usuários",
        "right-passwordreset": "Ver todos os e-mails de reposição de senhas",
-       "right-managechangetags": "Criar e apagar [[Special:Tags|tags]] na base de dados",
+       "right-managechangetags": "Criar e (des)ativar [[Special:Tags|tags]]",
        "right-applychangetags": "Aplicar [[Special:Tags|etiquetas]] juntamente com as alterações de alguém",
        "right-changetags": "Adicionar e remover [[Special:Tags|etiquetas]] arbitrárias em revisões e ''logs'' individuais",
+       "right-deletechangetags": "Deletar [[Special:Tags|tags]] da base de dados.",
        "grant-generic": "conjunto de direitos \"$1\"",
        "grant-group-page-interaction": "Interagir com páginas",
        "grant-group-file-interaction": "Interagir com multimídia",
        "action-viewmyprivateinfo": "veja suas informações privadas",
        "action-editmyprivateinfo": "modifique suas informações privadas",
        "action-editcontentmodel": "editar o conteudo do modelo de uma pagina",
-       "action-managechangetags": "Criar e apagar etiquetas da base de dados",
+       "action-managechangetags": "Criar e (des)ativar marcações",
        "action-applychangetags": "aplicar etiquetas juntamente com suas alterações",
        "action-changetags": "adicionar e remover etiquetas arbitrárias em revisões e ''logs'' individuais",
+       "action-deletechangetags": "deletar marcações da base de dados",
        "nchanges": "$1 {{PLURAL:$1|alteração|alterações}}",
        "enhancedrc-since-last-visit": "$1 {{PLURAL:$1|desde a última visita}}",
        "enhancedrc-history": "histórico",
index ed19d0b..cd5ec61 100644 (file)
        "viewyourtext": "Pode ver e copiar o código-fonte das <strong>suas edições</strong> desta página.",
        "protectedinterface": "Esta página fornece o texto da interface ao software, e está protegida para prevenir abusos.",
        "editinginterface": "<strong>Aviso:</strong> Está a editar uma página usada para fornecer texto de interface ao software. Alterações a esta página afetarão a aparência da interface de utilizador para os outros utilizadores.",
-       "translateinterface": "Para traduções, considere utilizar a [https://translatewiki.net/wiki/Main_Page?setlang=pt translatewiki.net], um projeto destinado à tradução do MediaWiki.",
+       "translateinterface": "Para adicionar ou alterar traduções para todas as wikis, considere utilizar a [https://translatewiki.net/wiki/Main_Page?setlang=pt translatewiki.net], um projeto destinado à tradução do MediaWiki.",
        "cascadeprotected": "Esta página foi protegida contra edições por estar transcluída {{PLURAL:$1|na página listada|nas páginas listadas}} a seguir, ({{PLURAL:$1|página essa que está protegida|páginas essas que estão protegidas}} com a opção de proteção \"em cascata\" ativada):\n$2",
        "namespaceprotected": "Não tem permissão para editar páginas no domínio '''$1'''.",
        "customcssprotected": "Não tem permissão para editar esta página de CSS porque esta contém as configurações pessoais de outro utilizador.",
        "password-change-forbidden": "Não pode alterar palavras-passe nesta wiki.",
        "externaldberror": "Ocorreu um erro externo à base de dados durante a autenticação ou não lhe é permitido atualizar a sua conta externa.",
        "login": "Entrar",
+       "login-security": "Verificar a sua identidade",
        "nav-login-createaccount": "Entrar / criar conta",
        "userlogin": "Criar uma conta ou entrar",
        "userloginnocreate": "Entrar",
        "userlogin-resetpassword-link": "Esqueceu-se da sua palavra-passe?",
        "userlogin-helplink2": "Ajuda para iniciar sessão",
        "userlogin-loggedin": "Já está {{GENDER:$1|autenticado|autenticada|autenticado}} com o nome $1.\nUse o formulário abaixo para iniciar sessão com outro nome.",
+       "userlogin-reauth": "Deve iniciar novamente sessão para verificar se é {{GENDER:$1|$1}}.",
        "userlogin-createanother": "Criar outra conta",
        "createacct-emailrequired": "Endereço de correio eletrónico",
        "createacct-emailoptional": "Endereço de correio eletrónico (opcional)",
        "createacct-email-ph": "Digite o seu endereço de correio eletrónico",
        "createacct-another-email-ph": "Digite o endereço de correio eletrónico",
        "createaccountmail": "Usar uma palavra passe aleatória e temporária e enviar para o endereço de correio eletrónico especificado",
+       "createaccountmail-help": "Pode ser utilizado para criar uma conta para outra pessoa sem saber a palavra-passe.",
        "createacct-realname": "Nome verdadeiro (opcional)",
        "createaccountreason": "Motivo:",
        "createacct-reason": "Motivo",
        "createacct-reason-ph": "Porque está a criar outra conta",
        "createacct-submit": "Crie a sua conta",
        "createacct-another-submit": "Criar conta",
+       "createacct-continue-submit": "Continuar criação de conta",
+       "createacct-another-continue-submit": "Continuar criação de conta",
        "createacct-benefit-heading": "{{SITENAME}} é feito por pessoas como você.",
        "createacct-benefit-body1": "{{PLURAL:$1|edição|edições}}",
        "createacct-benefit-body2": "{{PLURAL:$1|página|páginas}}",
        "createacct-another-realname-tip": "O fornecimento do nome verdadeiro é opcional.\nSe optar por revelá-lo, ele será utilizado para atribuir-lhe crédito pelo seu trabalho.",
        "pt-login": "Entrar",
        "pt-login-button": "Entrar",
+       "pt-login-continue-button": "Continuar o início de sessão",
        "pt-createaccount": "Criar uma conta",
        "pt-userlogout": "Sair",
        "php-mail-error-unknown": "Erro desconhecido na função mail() do PHP",
        "botpasswords-newpassword": "A nova palavra-passe para iniciar sessão com <strong>$1</strong> é <strong>$2</strong>. Por favor, recorde-se dela para futura referência.</em>",
        "botpasswords-no-provider": "BotPasswordsSessionProvider não está disponível.",
        "resetpass_forbidden": "Não é possível alterar palavras-passe",
+       "resetpass_forbidden-reason": "As palavras-passe não podem ser alteradas: $1",
        "resetpass-no-info": "Precisa de iniciar sessão para aceder diretamente a esta página.",
        "resetpass-submit-loggedin": "Alterar palavra-passe",
        "resetpass-submit-cancel": "Cancelar",
        "passwordreset-emailsentusername": "Se houver um endereço de correio eletrónico associado a esta conta, ser-lhe-á enviada uma mensagem para redefinir a sua palavra-passe.",
        "passwordreset-emailsent-capture": "Foi enviado um correio eletrónico para recuperação da palavra-passe, que é mostrado abaixo.",
        "passwordreset-emailerror-capture": "Foi gerado um correio eletrónico para redefinição da palavra-passe, mostrado abaixo, mas o seu envio para {{GENDER:$2|o utilizador|a utilizadora}} falhou: $1",
+       "passwordreset-invalideamil": "Correio eletrónico inválido",
+       "passwordreset-nodata": "Não foram fornecidos nome de utilizador(a) nem endereço de correio eletrónico",
        "changeemail": "Alterar ou remover o endereço de correio eletrónico",
        "changeemail-header": "Complete este formulário para alterar o seu endereço de correio eletrónico. Se quer eliminar a associação de qualquer endereço de correio eletrónico com a sua conta, deixe em branco o novo endereço de correio eletrónico ao submeter o formulário.",
        "changeemail-passwordrequired": "Necessita de introduzir a sua palavra-passe para confirmar esta alteração.",
        "revertpage": "Foram revertidas as edições de [[Special:Contributions/$2|$2]] ([[User talk:$2|disc]]) para a última revisão de [[User:$1|$1]]",
        "revertpage-nouser": "Foram revertidas as edições de um utilizador oculto para a última revisão de {{GENDER:$1|[[User:$1|$1]]}}",
        "rollback-success": "Foram revertidas as edições de $1, com o conteúdo passando a estar como na última edição de $2.",
-       "rollback-success-notify": "Foram revertidas as edições de $1 para a última revisão de $2. [$3 Mostrar alterações]",
+       "rollback-success-notify": "Revertidas as edições de $1;\nMudança para a última revisão de $2. [$3 Mostrar alterações]",
        "sessionfailure-title": "Erro de sessão",
        "sessionfailure": "Foram detectados problemas com a sua sessão;\na operação foi cancelada como medida de proteção contra a interceptação de sessões.\nVolte à página anterior, recarregue-a e tente novamente.",
        "changecontentmodel": "Editar o modelo de conteúdo de uma página",
index c1e0652..db50cd2 100644 (file)
        "editpage-notsupportedcontentformat-title": "Title of error page shown when using an incompatible format on EditPage.\n\nUsed as title for the following error message:\n* {{msg-mw|Editpage-notsupportedcontentformat-text}}.",
        "editpage-notsupportedcontentformat-text": "Error message shown when using an incompatible format on EditPage.\n\nThe title for this error is {{msg-mw|Editpage-notsupportedcontentformat-title}}.\n\nParameters:\n* $1 - the format id\n* $2 - the content model name",
        "content-model-wikitext": "Name for the wikitext content model, used when decribing what type of content a page contains.\n\nThis message is substituted in:\n*{{msg-mw|Bad-target-model}}\n*{{msg-mw|Content-not-allowed-here}}",
-       "content-model-text": "Name for the plain text content model, used when decribing what type of content a page contains.\n\nThis message is substituted in:\n*{{msg-mw|Bad-target-model}}\n*{{msg-mw|Content-not-allowed-here}}\n{{Identical|Plain text}}",
+       "content-model-text": "Name for the plain text content model, used when decribing what type of content a page contains. Plaintext means that the content of the page will be rendered as is like:\n\n<nowiki>This is [[plain text]]. <a href=\"https://www.mediawiki.org/\">Really!</a></nowiki>\n\nThis message is substituted in:\n*{{msg-mw|Bad-target-model}}\n*{{msg-mw|Content-not-allowed-here}}\n\n{{Identical|Plain text}}",
        "content-model-javascript": "Name for the JavaScript content model, used when decribing what type of content a page contains.\n\nThis message is substituted in:\n*{{msg-mw|Bad-target-model}}\n*{{msg-mw|Content-not-allowed-here}}",
        "content-model-css": "Name for the CSS content model, used when decribing what type of content a page contains.\n\nThis message is substituted in:\n*{{msg-mw|Bad-target-model}}\n*{{msg-mw|Content-not-allowed-here}}",
        "content-model-json": "Name for the JSON content model, used when decribing what type of content a page contains.\n\nThis message is substituted in:\n*{{msg-mw|Bad-target-model}}\n*{{msg-mw|Content-not-allowed-here}}",
index 8ddb3d7..643d165 100644 (file)
        "category_header": "\"$1\" категория ыстатыйалара",
        "subcategories": "Субкатегориялар",
        "category-media-header": "\"$1\" категория билэлэрэ",
-       "category-empty": "''Бу категорияҕа билигин туох да суох.''",
+       "category-empty": "<em>Бу категорияҕа билигин туох да суох.</em>",
        "hidden-categories": "{{PLURAL:$1|Кистэммит категория|Кистэммит категориялар}}",
        "hidden-category-category": "Кистэммит категориялар",
        "category-subcat-count": "{{PLURAL:$2|Бу категория манна көстүбүт субкатегориялаах.|$2 категорияттан {{PLURAL:$1|субкатегорията|$1 субкатегориялара}} көрдөрүлүннүлэр.}}",
        "about": "Бу туһунан",
        "article": "Ыстатыйа",
        "newwindow": "(атын түннүккэ арыллар)",
-       "cancel": "Ð\90лÒ\95аÑ\81",
+       "cancel": "СалÒ\95аама",
        "moredotdotdot": "Өссө...",
        "morenotlisted": "Бу тиһик толорута суох.",
        "mypage": "Сирэй",
        "searcharticle": "Көрдөр",
        "history": "Устуоруйата",
        "history_short": "Устуоруйа",
-       "updatedmarker": "Кэнники киириим кэнниттэн уларыйыылар",
+       "updatedmarker": "тиһэх киириим кэнниттэн уларыйбыт",
        "printableversion": "Бэчээттииргэ аналлаах барыл",
        "permalink": "Куруук баар сигэ",
        "print": "Бэчээттээ",
        "unprotectthispage": "Бу сирэй көмүскэлин уларыт",
        "newpage": "Саҥа сирэй",
        "talkpage": "Бу сирэйи ырыт",
-       "talkpagelinktext": "Ырытыы",
+       "talkpagelinktext": "ырытыы",
        "specialpage": "Анал сирэй",
        "personaltools": "Тус бэйэ туттар тэриллэрэ",
        "articlepage": "Ыстатыйаны көр",
        "pool-servererror": "Пул ааҕааччытын сулууспата үлэлээбэт($1).",
        "poolcounter-usage-error": "Туһаныы алҕаһа: $1",
        "aboutsite": "{{SITENAME}} туһунан",
-       "aboutpage": "Project:туһунан",
+       "aboutpage": "Project:Бу туһунан",
        "copyright": "Маны туһанары $1 лиссиэнсийэ көҥүллүүр (атын ыйыллыбытах буоллаҕына).",
-       "copyrightpage": "{{ns:project}}:баÑ\81 Ð±Ð¸Ð»Ð¸Ð¸Ñ\82Ñ\8d",
+       "copyrightpage": "{{ns:project}}:Ð\91аÑ\81 Ð±Ð¸Ð»Ð¸Ð¸",
        "currentevents": "Туох буола турара",
        "currentevents-url": "Project:Сонуннар",
        "disclaimers": "Бүк охсунуу",
        "helppage-top-gethelp": "Көмө",
        "mainpage": "Сүрүн сирэй",
        "mainpage-description": "Сүрүн сирэй",
-       "policy-url": "Project:Сиэрэ",
+       "policy-url": "Project:Сиэр-туом",
        "portal": "Түмсүү сирэ",
-       "portal-url": "Project:Ð\9aиÑ\81Ñ\82Ñ\8dÑ\8dһин Ñ\81иÑ\8dрэ",
+       "portal-url": "Project:ТүмÑ\81Ò¯Ò¯ Ñ\81ирэ",
        "privacy": "Кистээһин сиэрэ",
        "privacypage": "Project:Кистээһин сиэрэ",
        "badaccess": "Сатаан киирбэтэ",
        "versionrequired": "MediaWiki $1 -с барыла ирдэнэр",
        "versionrequiredtext": "Бу сирэйи туттарга MediaWiki $1 -с барыла наада. [[Special:Version|Барыллар тустарынан сирэйи]] көр.",
        "ok": "Сөп",
-       "retrievedfrom": "\"$1\" -н кэллэ",
-       "youhavenewmessages": "$1 ($2) кэллэ",
+       "retrievedfrom": "Төрдө — «$1»",
+       "youhavenewmessages": "$1 ($2) кэллэ.",
        "youhavenewmessagesfromusers": "Маны $1 {{PLURAL:$3|соҕотох кыттааччыттан|$3 кыттааччыттан}} туппуккун ($2).",
        "youhavenewmessagesmanyusers": "Маны $1 элбэх кыттааччыттан туппуккун ($2).",
        "newmessageslinkplural": "{{PLURAL:$1|саҥа этии|999=саҥа этии}}",
        "confirmable-yes": "Сөп",
        "confirmable-no": "Суох",
        "thisisdeleted": "$1 көрдөрөбүн эбэтэр хостуубун дуу?",
-       "viewdeleted": "$1 көрдөрөбүн?",
+       "viewdeleted": "$1 - көрөҕүн дуо?",
        "restorelink": "{{PLURAL:$1|биир сотторуллубут көннөрүү|$1 сотторуллубут көннөрүүлэр}}",
        "feedlinks": "Маннык:",
        "feed-invalid": "Суруттарыыга анаммыт ханаал сыыһа тииптээх.",
        "nosuchaction": "Маннык дьайыы суох",
        "nosuchactiontext": "Бу URL-га баар дьайыы сыыһалаах.\nБаҕар URL суруйарга алҕаһаабытыҥ буолуо эбэтэр сыыһалаах сигэннэн тахсыбытыҥ буолуо.\n{{SITENAME}} бэйэтин сыыһата эмиэ буолуон сөп.",
        "nosuchspecialpage": "Маннык анал сирэй суох",
-       "nospecialpagetext": "Аналлаах сирэйи сыыһа көрдөөтүҥ,  [[Special:SpecialPages|манна]] аналлаах сирэйдэр испииһэктэрин булуоххун сөп.",
+       "nospecialpagetext": "<strong>Көрдөөбүт сирэйиҥ суох эбит.</strong>\n\n[[Special:SpecialPages|Аналлаах сирэйдэр испииһэктэрэ]].",
        "error": "Алҕас",
        "databaseerror": "Билии олоҕор сыыһа",
        "databaseerror-text": "Билии олоҕор алҕас таҕыста.\nБырагыраамма алҕаһа буолуон сөп.",
        "databaseerror-query": "Ыйытык: $1",
        "databaseerror-function": "Функция: $1",
        "databaseerror-error": "Алҕас: $1",
-       "transaction-duration-limit-exceeded": "\nРепликация оҥорорго улахан лаг мэһэйдээбэтин туһугар транзакция тохтотуллубута, сурутуу уһуна ($1) ($2){{PLURAL:$2|}}лимиты таһынан ааһарын быһыытынан.\nЭн  биир олорууга хас да элэмиэни уларытар буоллаххына, ол оннугар элбэх улахана суох операциялары оҥорорго холонон көрүҥ.",
-       "laggedslavemode": "Болҕой: Бу сирэй бүтэһик уларытыылара суох буолуон сөп",
+       "transaction-duration-limit-exceeded": "Репликация оҥорорго улахан лаг мэһэйдээбэтин туһугар транзакция тохтотулунна, сурутуу ($1) уһуна ($2){{PLURAL:$2|сөкүүндэ}} лимиты таһынан ааһарын быһыытынан.\nХас да элэмиэни күргүөмүнэн уларытар буоллаххына, ол оннугар биирдиилээн уларытан көр.",
+       "laggedslavemode": "<strong>Болҕой:</strong> Бу сирэй бүтэһик уларытыылара суох буолуон сөп.",
        "readonly": "Билии олоҕун уларытар бобуллубут",
        "enterlockreason": "Уларытыыны бобуу төрүөтүн уонна төһө өр бобулларын ый.",
-       "readonlytext": "Билии олоҕор билигин саҥа киллэриилэр уонна атын уларытыылар бобуллубуттар, бука былааннаммыт көрүү-истии үлэлэр буолалларыттан.\nОну боппут сүрүннээччи маннык сурук хаалларбыт: $1",
+       "readonlytext": "Билии олоҕор билигин саҥа киллэриилэр уонна атын уларытыылар бобуллубуттар, бука былааннаммыт көрүү-истии үлэлэр буолалларыттан буолуо.\n\nОну боппут дьаһабыл маннык быһаарыы сурук хаалларбыт: $1",
        "missing-article": "Көрдөөбүт тиэкиһиҥ манна көстүбэтэ: «$1» $2.\n\nМаннык үксүн сотуллубут сирэй историятыгар тиэрдэр эргэрбит сигэнииттэн тахсааччы.\n\nАтын биричиинэ дии саныыр буоллаххына бырагыраамма сыыһата буолуон сөп.\nОччоҕо [[Special:ListUsers/sysop|администраатарга]] биллэрэриҥ буоллар (URLын умнаайаҕын).",
        "missingarticle-rev": "(#-с торум: $1)",
        "missingarticle-diff": "(Уратыта: $1, $2)",
index 3aaa7db..0601177 100644 (file)
        "sp-contributions-username": "ИП адреса или корисничко име:",
        "sp-contributions-toponly": "Само најновије измене",
        "sp-contributions-newonly": "Само измене којима су направљене нове странице",
+       "sp-contributions-hideminor": "Сакриј мање измене",
        "sp-contributions-submit": "Претражи",
        "whatlinkshere": "Шта води овде",
        "whatlinkshere-title": "Странице које су повезане са „$1“",
        "ipb-unblock": "Деблокирај корисничко име или IP адресу",
        "ipb-blocklist": "Погледај постојећа блокирања",
        "ipb-blocklist-contribs": "Доприноси за {{GENDER:$1|$1}}",
+       "ipb-blocklist-duration-left": "преостало: $1",
        "unblockip": "Деблокирај корисника",
        "unblockiptext": "Користите образац испод да бисте вратили право писања блокираној ИП адреси или корисничком имену.",
        "ipusubmit": "Уклони ову блокаду",
        "confirmemail_body_set": "Неко, вероватно ви, са ИП адресе $1 \nје променио имејл адресу налога „$2“ у ову адресу на {{SITENAME}}.\n\nДа бисмо потврдили да овај налог стварно припада вама и поново активирали могућности имејла на {{SITENAME}}, отворите следећу везу у прегледачу:\n\n$3\n\nАко налог *не* припада вама, пратите следећу везу да откажете потврду имејл адресе:\n\n$5\n\nОвај потврдни код истиче $4.",
        "confirmemail_invalidated": "Потврда имејл адресе је отказана",
        "invalidateemail": "Отказивање потврде имејла",
+       "notificationemail_body_changed": "Неко, вероватно Ви је променио имејл адресу налога из $2“ у „$3“ са IP адресе $1 на сајту {{SITENAME}}.\n\nАко ово нисте били Ви, одмах обавестите администраторе сајта.",
        "scarytranscludedisabled": "[Међувики укључивање шаблона је онемогућено]",
        "scarytranscludefailed": "[Добављање шаблона за $1 није успело]",
        "scarytranscludefailed-httpstatus": "[Не могу да преузмем шаблон $1: HTTP $2]",
index 437b76d..c6e79a7 100644 (file)
        "upload-copy-upload-invalid-domain": "Uppladdning av kopior är inte tillgängligt från denna domän.",
        "upload-foreign-cant-upload": "Denna wiki är inte konfigurerad för att ladda upp filer till det begärda externa filförvaret.",
        "upload-foreign-cant-load-config": "Misslyckades att läsa in filuppladdningskonfigurationen för det externa filförvaret.",
+       "upload-dialog-disabled": "Filuppladdningar med denna dialogruta har inaktiverats på denna wiki.",
        "upload-dialog-title": "Ladda upp fil",
        "upload-dialog-button-cancel": "Avbryt",
        "upload-dialog-button-done": "Klar",
        "uploadnewversion-linktext": "Ladda upp en ny version av denna fil",
        "shared-repo-from": "från $1",
        "shared-repo": "en gemensam filförvaring",
+       "shared-repo-name-wikimediacommons": "Wikimedia Commons",
        "filepage.css": "/* CSS som skrivs här inkluderas på filbeskrivningssidan, även på utländska klientwikis */",
        "upload-disallowed-here": "Du kan inte skriva över denna fil.",
        "filerevert": "Återställ $1",
index e9f7962..c359eb9 100644 (file)
        "tog-watchdefault": "Değişiklik yaptığım sayfaları ve dosyaları izleme listeme ekle",
        "tog-watchmoves": "Taşıdığım sayfaları ve dosyaları izleme listeme ekle",
        "tog-watchdeletion": "Sildiğim sayfaları ve dosyaları izleme listeme ekle",
+       "tog-watchuploads": "Yüklediğim yeni dosyaları izleme listeme ekle",
        "tog-watchrollback": "Geridönüş yaptığım sayfaları izleme listeme ekle",
        "tog-minordefault": "Varsayılan olarak, bütün düzenlemelerimi küçük değişiklik olarak işaretle",
        "tog-previewontop": "Ön izlemeyi, düzenleme kutusunun üstünde göster",
        "createacct-reason-ph": "Neden başka bir hesap oluşturuyorsunuz",
        "createacct-submit": "Hesabınızı oluşturun",
        "createacct-another-submit": "Hesap oluşturun",
+       "createacct-continue-submit": "Hesap oluşturmaya devam et",
+       "createacct-another-continue-submit": "Hesap oluşturmaya devam et",
        "createacct-benefit-heading": "{{SITENAME}} sizin gibi insanlar tarafından geliştirilir.",
        "createacct-benefit-body1": "{{PLURAL:$1|düzenleme|düzenleme}}",
        "createacct-benefit-body2": "{{PLURAL:$1|madde|madde}}",
        "nocookiesnew": "Kullanıcı hesabı oluşturuldu ama oturum açamadınız.\nOturum açmak için {{SITENAME}} çerezleri kullanır.\nÇerez kullanımı devredışı.\nLütfen çerez kullanımını açınız ve yeni kullanıcı adınız ve şifrenizle oturum açınız.",
        "nocookieslogin": "{{SITENAME}} sitesinde oturum açabilmek için çerezlerinizin açık olması gerekiyor. Sizin çerezleriniz kapalı. Lütfen açınız ve bir daha deneyiniz.",
        "nocookiesfornew": "Kullanıcı hesabı oluşturulamadı, sorunun kaynağını da tespit edemedik.\nÇerezlerin açık olduğundan emin olun ve bu sayfayı yeniden yükleyip tekrar deneyin.",
+       "createacct-loginerror": "Hesap başarılı şekilde oluşturuldu ancak otomatik olarak oturumunuz açılmadı. Lütfen [[Special:UserLogin|manuel giriş]] sayfasına gidin.",
        "noname": "Geçerli bir kullanıcı adı girmediniz.",
        "loginsuccesstitle": "Oturum açıldı",
        "loginsuccess": "'''{{SITENAME}} üzerinde \"$1\" kullanıcı adıyla oturum açtınız.'''",
        "noemail": "\"$1\" adlı kullanıcıya kayıtlı bir e-posta adresi yok.",
        "noemailcreate": "Geçerli bir e-posta adresi sağlamalısınız",
        "passwordsent": "\"$1\" adına kayıtlı e-posta adresine yeni bir parola gönderildi. Oturumu, lütfen, iletiyi aldıktan sonra açın.",
-       "blocked-mailpassword": "Siteye erişiminiz engellenmiş olduğundan, yeni şifre gönderilme işlemi yapılamamaktadır.",
+       "blocked-mailpassword": "IP adresiniz düzenleme yapmaya engellenmiştir. Kötüye kullanımın önüne geçmek için söz konusu IP adresinden şifre kurtarmaya izin verilmemektedir.",
        "eauthentsent": "Belirtilen e-posta adresine onay kodu içeren bir e-posta gönderildi.\nHesaba başka bir e-posta gönderilmeden önce, e-postadaki yönergeleri uygulayıp, hesabın gerçekten size ait olduğunu onaylamanız gerekir.",
        "throttled-mailpassword": "Bir parola sıfırlama e-postası son {{PLURAL:$1|bir saat|$1 saat}} içinde zaten gönderildi. Hizmeti kötüye kullanmayı önlemek için, her {{PLURAL:$1|bir saatte|$1 saatte}} sadece bir parola sıfırlama e-postası gönderilecektir.",
        "mailerror": "E-posta gönderim hatası: $1",
        "createaccount-title": "{{SITENAME}} için yeni kullanıcı hesabı oluşturulması",
        "createaccount-text": "Birisi {{SITENAME}} sitesinde ($4) sizin e-posta adresinizi kullarak, şifresi \"$3\" olan, \"$2\" isimli bir hesap oluşturdu.\n\nSiteye giriş yapmalı ve parolanızı değiştirmelisiniz.\n\nEğer kullanıcı hesabını yanlışlıkla oluşturmuş iseniz, bu mesajı yoksayabilirsiniz.",
        "login-throttled": "Çok fazla yeni oturum açma girişiminde bulundunuz.\nDevam etmeden önce $1 bekleyin.",
-       "login-abort-generic": "Girişiniz başarısız - iptal edilmiş",
+       "login-abort-generic": "Giriş başarısız - Durduruldu",
        "login-migrated-generic": "Hesabınız aktarılmış ve kullanıcı adınız artık bu vikide yok.",
        "loginlanguagelabel": "Dil: $1",
        "suspicious-userlogout": "Çıkış isteğiniz reddedildi çünkü bozuk bir tarayıcı ya da önbellekli vekil tarafından gönerilmiş gibi görünüyor.",
        "createacct-another-realname-tip": "Gerçek adınız isteğe bağlıdır.\nEğer gerçek adınızı belirtirseniz, çalışmalarınıza atıfta bulunulması için de kullanılacaktır.",
        "pt-login": "Giriş yap",
        "pt-login-button": "Oturum aç",
+       "pt-login-continue-button": "Oturum açmaya devam edin",
        "pt-createaccount": "Hesap oluştur",
        "pt-userlogout": "Oturumu kapat",
        "php-mail-error-unknown": "PHP's mail() fonksiyonunda bilinmeyen hata",
        "botpasswords-label-cancel": "İptal",
        "botpasswords-label-delete": "Sil",
        "botpasswords-label-resetpassword": "Şifreyi sıfırla",
+       "botpasswords-label-grants": "Geçerli ayrıcalıklar:",
        "botpasswords-label-restrictions": "Kullanım kısıtlamaları:",
        "botpasswords-label-grants-column": "Verilen",
        "botpasswords-bad-appid": "Bot ismi \"$1\" geçerli değil.",
        "botpasswords-insert-failed": "Bot adı \"$1\" eklenemedi. Zaten eklenmiş olmalı?",
        "botpasswords-update-failed": "Bot ismini \"$1\" olarak güncelleme başarısız oldu. Silinmiş olabilir mi?",
        "botpasswords-created-title": "Bot şifresi oluşturuldu.",
-       "botpasswords-created-body": "Bot şifresi \"$1\" başarıyla oluşturuldu.",
+       "botpasswords-created-body": "\"$2\" adlı kullanıcının \"$1\" isimli botu için şifre oluşturuldu.",
        "botpasswords-updated-title": "Bot şifresi guncellendi",
-       "botpasswords-updated-body": "Bot şifresi \"$1\" başarıyla güncellendi.",
+       "botpasswords-updated-body": "\"$2\" adlı kullanıcının \"$1\" isimli botunun şifresi güncellendi.",
        "botpasswords-deleted-title": "Bot şifresi silindi.",
-       "botpasswords-deleted-body": "Bot şifresi $1 silinmiş.",
+       "botpasswords-deleted-body": "\"$2\" adlı kullanıcının \"$1\" isimli botunun şifresi silindi.",
+       "botpasswords-newpassword": "<strong>$1</strong> ile oturum açmak için yeni şifre: <strong>$2</strong>. <em>İlerde başvurmak için lütfen kaydedin.</em>",
        "botpasswords-no-provider": "BotPasswordsSessionProvider kullanılamaz.",
+       "botpasswords-restriction-failed": "Bot şifresi sınırlamaları oturum açmayı engelledi.",
+       "botpasswords-invalid-name": "Belirtilen kullanıcı adı bot şifresi ayırıcısını içermiyor (\"$1\").",
        "resetpass_forbidden": "Parolalar değiştirilememektedir",
+       "resetpass_forbidden-reason": "Şifre değiştirilemedi: $1",
        "resetpass-no-info": "Bu sayfaya doğrudan erişmek için oturum açmanız gereklidir.",
        "resetpass-submit-loggedin": "Parolayı değiştir",
        "resetpass-submit-cancel": "İptal",
        "passwordreset-emailtext-user": "$1 adlı kullanıcı, {{SITENAME}} ($4) için hesap bilgilerinizin hatırlatılmasını istedi. Aşağıdaki kullanıcı {{PLURAL:$3|hesabı|hesapları}} bu e-posta adresiyle ilişkili:\n\n$2\n\n{{PLURAL:$3|Bu geçici şifre|Bu geçici şifreler}} {{PLURAL:$5|bir gün|$5  gün}} geçerlidir.\nBu geçici parola ile giriş yapın ve yeni bir şifre seçin. Bu talep bir başkasına aitse veya şifrenizi hatırladıysanız ve artık şifrenizi değiştirmek istemiyorsanız; bu iletiyi önemsemeyerek eski şifrenizi kullanmaya devam edebilirsiniz.",
        "passwordreset-emailelement": "Kullanıcı adı: \n$1\n\nGeçici şifre: \n$2",
        "passwordreset-emailsentemail": "Eğer bu e-posta adresi hesabınızın bağlı olduğu adres ise, bir parola sıfırlama e-postası gönderilecektir.",
+       "passwordreset-emailsentusername": "Eğer bu e-posta adresi hesabınızın bağlı olduğu adres ise, bir parola sıfırlama e-postası gönderilecektir.",
        "passwordreset-emailsent-capture": "Aşağıda gözüktüğü gibi bir parola sıfırlama e-postası gönderildi.",
        "passwordreset-emailerror-capture": "Aşağıda gözüktüğü gibi bir parola sıfırlama e-postası oluşturuldu ancak {{GENDER:$2|kullanıcıya}} gönderme işlemi başarısız oldu: $1",
+       "passwordreset-invalideamil": "Geçersiz e-posta adresi",
+       "passwordreset-nodata": "Ne bir kullanıcı adı ne de bir e-posta adresi verildi.",
        "changeemail": "E-posta adresini değiştir veya çıkar",
-       "changeemail-header": "Hesabın e-posta adresini değiştirin",
+       "changeemail-header": "E-posta adresinizi değiştirmek için bu formu doldurun. Eğer e-posta adresini hesabınızdan kaldırmak istiyorsanız formu gönderirken e-posta adresi bölümünü boş bırakın.",
        "changeemail-passwordrequired": "Bu değişikliği onaylamak için şifrenizi girmeniz gerekir.",
        "changeemail-no-info": "Bu sayfaya doğrudan erişmek için oturum açmanız gereklidir.",
        "changeemail-oldemail": "Mevcut E-posta adresi:",
        "changeemail-newemail": "Yeni E-posta adresi:",
+       "changeemail-newemail-help": "E-posta adresinizi silmek istiyorsanız bu alan boş bırakılmalıdır. E-posta adresi silindikten sonra unutulan şifreyi sıfırlayamazsınız ve bu Viki'den e-posta alamazsınız.",
        "changeemail-none": "(yok)",
        "changeemail-password": "{{SITENAME}} parolanız:",
        "changeemail-submit": "E-posta'yı değiştir",
        "minoredit": "Bu küçük bir değişiklik",
        "watchthis": "Bu sayfayı izle",
        "savearticle": "Sayfayı kaydet",
+       "publishpage": "Sayfayı yayımla",
        "preview": "Önizleme",
        "showpreview": "Önizlemeyi göster",
        "showdiff": "Değişiklikleri göster",
        "accmailtext": "[[User talk:$1|$1]] için rastgele oluşturulan parola $2 adresine gönderildi.\n\nBu yeni hesap için parola, giriş yapıldıktan sonra ''[[Special:ChangePassword|parolayı değiştir]]'' bölümünde değiştirilebilir.",
        "newarticle": "(Yeni)",
        "newarticletext": "Henüz varolmayan bir sayfaya konulmuş bir bağlantıya tıkladınız.\nSayfayı oluşturmak için aşağıdaki metin kutusunu kullanın. ([$1 yardım sayfasına] bakınız).\nBuraya yanlışlıkla geldiyseniz tarayıcınızın  <strong>geri </strong> tuşuna tıklayın.",
-       "anontalkpagetext": "----''Bu sayfa henüz bir kullanıcı hesabı oluşturmamış veya hesabını kullanmayan bir anonim kullanıcının mesaj sayfasıdır. Bu nedenle bu kişiyi belirtmek için rakamsal IP adresini kullanmak zorundayız. Bu gibi IP adresleri birçok kullanıcı tarafından paylaşılabilir. Eğer siz de bir anonim kullanıcıysanız ve size sizin ilginiz olmayan iletiler geliyorsa, lütfen diğer anonim kullanıcılarla olabilecek olan karmaşayı önlemek için [[Special:CreateAccount|bir hesap edinin]] veya [[Special:UserLogin|oturum açın]].''",
+       "anontalkpagetext": "----\n<em>Bu sayfa henüz bir kullanıcı hesabı oluşturmamış veya hesabını kullanmayan bir anonim kullanıcının mesaj sayfasıdır.</em>\nBu nedenle bu kişiyi belirtmek için rakamsal IP adresini kullanmak zorundayız.\nBu gibi IP adresleri birçok kullanıcı tarafından paylaşılabilir.\nEğer siz de bir anonim kullanıcıysanız ve size sizin ilginiz olmayan iletiler geliyorsa, lütfen diğer anonim kullanıcılarla olabilecek olan karmaşayı önlemek için [[Special:CreateAccount|bir hesap edinin]] veya [[Special:UserLogin|oturum açın]].",
        "noarticletext": "Bu sayfa şu anda boştur.\nBu başlığı [[Special:Search/{{PAGENAME}}|diğer sayfalarda arayabilir]],\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} ilgili kayıtları arayabilir],\nya da bu sayfayı [{{fullurl:{{FULLPAGENAME}}|action=edit}} oluşturabilirsiniz]</span>.",
        "noarticletext-nopermission": "Bu sayfa şu anda boştur. \nBu başlığı [[Special:Search/{{PAGENAME}}|diğer sayfalarda arayabilir]] ya da <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} ilgili kayıtları tarayabilirsiniz]</span>, fakat sayfayı oluşturma yetkiniz bulunmamaktadır.",
        "missing-revision": "\"{{FULLPAGENAME}}\" sayfasının #$1 sürümü yok.\n\nBu duruma genellikle silinmiş bir sayfaya eski tarihli bir bağlantının takip edilmesi neden olur.\n\nDaha fazla detaylı bilgi [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} sayfasında bulunabilir].",
        "userpage-userdoesnotexist": "\"<nowiki>$1</nowiki>\" kullanıcı hesabı kayıtlı değil. Bu sayfayı oluşturmak/değiştirmek istiyorsanız lütfen kontrol edin.",
        "userpage-userdoesnotexist-view": "\"$1\" kullanıcı hesabı kayıtlı değil.",
        "blocked-notice-logextract": "Bu kullanıcı şuanda engellenmiş.\nSon engelleme günlüğü girdisi referans için aşağıda sağlanmıştır:",
-       "clearyourcache": "'''Not:''' Kaydettikten sonra değişiklikleri görmek için tarayıcınızın önbelleğini temizlemeniz gerekebilir.\n* '''Firefox / Safari:''' ''Shift'' tuşuna basılıyken \"Yeniden yükle\"'ye tıklayın ya da \"Ctrl-F5\" ya da ''Ctrl-R'' yapın (Mac için '⌘-R'').\n* '''Google Chrome:''' ''Ctrl-Shift-R'''ye basın. (Mac için ''⌘-Shift-R'')\n* '''Internet Explorer:''' ''Ctrl'' basılıyken ''Yenile'''ye tıklayın ya da ''Ctrl-F5'' yapın.\n* '''Opera:''' ''Araçlar → Tercihler'''den önbelliği temizleyin.",
+       "clearyourcache": "<strong>Note:</strong> Kaydettikten sonra değişiklikleri görmek için tarayıcınızın önbelleğini temizlemeniz gerekebilir.\n* <strong>Firefox / Safari:</strong> <em>Shift</em> tuşuna basılıyken <em>Yeniden yükle</em>'ye tıklayın ya da <em>Ctrl-F5</em> ya da <em>Ctrl-R</em> yapın (Mac için <em>⌘-R</em>).\n* <strong>Google Chrome:</strong> <em>Ctrl-Shift-R</em>'ye basın. (Mac için <em>⌘-Shift-R</em>)\n* <strong>Internet Explorer:</strong> <em>Ctrl</em> basılıyken <em>Yenile</em>'ye tıklayın ya da <em>Ctrl-F5</em> yapın.\n* <strong>Opera:</strong> <em>Araçlar → Tercihler</em>'den önbelliği temizleyin.",
        "usercssyoucanpreview": "'''İpucu:''' Kaydetmeden önce \"{{int:showpreview}}\"e tıklayarak yeni CSSinizi deneyin.",
        "userjsyoucanpreview": "'''İpucu:''' Kaydetmeden önce \"{{int:showpreview}}\"e tıklayarak yeni JavaScript'inizi test edin.",
        "usercsspreview": "'''Sadece kullanıcı CSS dosyanızın önizlemesini görüyorsun.''' '''Kullanıcı CSS dosyası henüz kaydolmadı!'''",
        "previewnote": "'''Bunun yalnızca bir ön izleme olduğunu unutmayın.'''\nYaptığınız değişiklikler henüz kaydedilmedi!",
        "continue-editing": "Düzenlemeye devam et",
        "previewconflict": "Bu önizleme metin düzenleme kutucuğunun üstünde, maddenin eğer değişikliklerinizi kaydetmeyi seçerseniz nasıl görüneceğini yansıtır.",
-       "session_fail_preview": "Özür dileriz. Oturum açılması ile ilgili veri kaybından kaynaklı değişikliğinizi kaydedemedik. Lütfen tekrar deneyiniz. Eğer bu yöntem işe yaramazsa oturumu kapatıp tekrar sisteme geri giriş yapınız.",
+       "session_fail_preview": "Özür dileriz. Oturum açılması ile ilgili veri kaybından kaynaklı değişikliğinizi kaydedemedik.\n\nLütfen tekrar deneyiniz. Eğer bu yöntem işe yaramazsa oturumu kapatıp tekrar sisteme geri giriş yapınız.",
        "session_fail_preview_html": "'''Üzgünüz! Oturum verisinin kaybolmasından dolayı düzenlemenizi işleme geçiremeyeceğiz.'''\n\n''Çünkü {{SITENAME}} sitesinde raw HTML etkindir, önizleme JavaScript saldırılarına önlem olarak gizlenmiştir.''\n\n'''Eğer bu haklı bir düzenleme girişimiyse, lütfen yeniden deneyin. Eğer hala çalışmazsa, [[Special:UserLogout|çıkış yapıp]] yeniden oturum açmayı deneyin.'''",
        "token_suffix_mismatch": "'''Değişikliğiniz geri çevrildi çünkü alıcınız düzenleme kutucuğundaki noktalama işaretlerini bozdu.\nDeğişikliğiniz, sayfa metninde bozulmayı önlemek için geri çevrildi.\nEğer sorunlu bir web-tabanlı anonim proksi servisi kullanıyorsanız bu olay bazen gerçekleşebilir.'''",
        "edit_form_incomplete": "'''Değişiklik formu için bazı sunuculara erişilemedi; yaptığınız değişiklikler bozulmamıştır, gözden geçirip tekrar deneyiniz.'''",
index 8823ca0..b7a8fa0 100644 (file)
        "upload-http-error": "Відбулася помилка HTTP: $1",
        "upload-copy-upload-invalid-domain": "З цього домену завантаження неможливе.",
        "upload-foreign-cant-upload": "Ця вікі не налаштована на завантаження файлів у запитаний сторонній файловий репозиторій.",
+       "upload-foreign-cant-load-config": "Завантаження конфігурації завантаження файлу на зовнішнє сховище файлів не вдалося.",
+       "upload-dialog-disabled": "Завантаження файлів з допомогою цього діалогового вікна відключені у цій вікі.",
        "upload-dialog-title": "Завантажити файл",
        "upload-dialog-button-cancel": "Скасувати",
        "upload-dialog-button-done": "Готово",
        "exif-pixelydimension": "Висота зображення",
        "exif-usercomment": "Додатковий коментар",
        "exif-relatedsoundfile": "Файл звукового коментаря",
-       "exif-datetimeoriginal": "Оригинальні дата й час",
+       "exif-datetimeoriginal": "Оригінальні дата й час",
        "exif-datetimedigitized": "Дата й час оцифровки",
        "exif-subsectime": "Долі секунд часу редагування файлу",
        "exif-subsectimeoriginal": "Долі секунд оригінального часу",
index 0f461ab..9791d41 100644 (file)
        "viewsourcetext": "آپ صرف مسودہ دیکھ سکتے ہیں اور اسکی نقل اتار سکتے ہیں۔",
        "viewyourtext": "آپ اس مواد کو دیکھ سکتے ہیں اور اٹھا (کاپی) سکتے ہیں <strong>آپ کی ترامیم</strong> اس صفحہ پر۔",
        "protectedinterface": "یہ صفحہ سوفٹ وئیر کے لیے انٹرفیس متن فراہم کرتا ہے، اور ناجائزاستعمال کے سدِباب کے لیے اِسے مقفل کیا گیا ہے.",
-       "editinginterface": "'''انتباہ: ''' آپ ایک ایسے صفحے میں ترمیم کر رہے ہیں جو سوفٹ ویئر کے لیے انٹرفیس متن فراہم کرتا ہے۔ اس صفحہ میں کی جانے والی ترمیم، دیگر صارفین کے لیے انٹرفیس کو تبدیل کردے گی۔\nبراہِ کرم، ترجمہ کے لیے [https://translatewiki.net/wiki/Main_Page?setlang=en '''ٹرانسلیٹ ویکی.نیٹ'''] (میڈیا ویکی دارالترجمہ) استعمال کریں۔",
+       "editinginterface": "<strong>انتباہ: </strong> آپ ایک ایسے صفحے میں ترمیم کر رہے ہیں جو سوفٹ ویئر کے لیے انٹرفیس متن فراہم کرتا ہے۔ اس صفحہ میں کی جانے والی تبدیلی سے اس ویکی پر دیگر صارفین کے لیے انٹرفیس متاثر ہوگی۔",
        "translateinterface": "تمام ویکیوں میں تبدیلی یا شامل کرنے کے لیے، اسے استعمال کریں [https://translatewiki.net/ translatewiki.net]، میڈیا ویکی دارالترجمہ.",
        "namespaceprotected": "آپ کو '''$1''' فضائے نام میں صفحات تدوین کرنے کی اِجازت نہیں ہے.",
        "mycustomcssprotected": "آپ اس سی ایس ایس (CSS) صفحہ میں ترمیم کرنے کا اختیار نہیں رکھتے۔",
        "sourcefilename": "اسم ملف (فائل) کا منبع:",
        "destfilename": "تعین شدہ اسم ملف:",
        "watchthisupload": "یہ صفحہ زیر نظر کریں",
+       "upload-dialog-disabled": "اس ویکی پر اس ڈائیلاگ سے فائل اپ لوڈز غیر فعال ہیںَ",
        "upload-dialog-button-cancel": "منسوخ",
        "upload-dialog-button-done": "مکمل",
        "upload-dialog-button-save": "محفوظ",
index e00ae61..204dd8d 100644 (file)
        "botpasswords-updated-body": "דאס באט פאסווארט פאר באט־נאמען \"$1\" פון באניצער \"$2\" איז דערהיינטיקט געווארן.",
        "botpasswords-deleted-title": "באט פאסווארט אויסגעמעקט",
        "resetpass_forbidden": "פאסווערטער קענען נישט ווערן געטוישט",
+       "resetpass_forbidden-reason": "פאסווערטער קענען נישט ווערן געטוישט: $1",
        "resetpass-no-info": "איר דארפֿט זיין אריינלאגירט צוצוקומען גלייך צו דעם דאזיגן בלאט.",
        "resetpass-submit-loggedin": "טוישן פאסווארט",
        "resetpass-submit-cancel": "אַנולירן",
index cb72f5b..8fa5991 100644 (file)
        "upload-copy-upload-invalid-domain": "不能从该域名上载文件副本。",
        "upload-foreign-cant-upload": "此wiki未配置为上传文件至请求的外部文件存储库。",
        "upload-foreign-cant-load-config": "加载外部文件存储库的文件上传配置失败。",
+       "upload-dialog-disabled": "使用此对话框的文件上传在此wiki已禁用。",
        "upload-dialog-title": "上传文件",
        "upload-dialog-button-cancel": "取消",
        "upload-dialog-button-done": "完成",
        "lockedbyandtime": "(由 {{GENDER:$1|$1}} 于$2 $3执行)",
        "move-page": "移动$1",
        "move-page-legend": "移动页面",
-       "movepagetext": "您可以使用下面的表单来重命名一个页面,同时将其版本历史移动到新页面。同时老的条目将会被重定向到新条目。您可以自动地将重定向更新到原条目。如果您不选择这样做的话,请检查[[Special:DoubleRedirects|双重]]或[[Special:BrokenRedirects|损坏重定向]]链接。您有责任确保链接会被正确指向他们应该被指向的地方。\n\n注意:即使新条目已经有对应页面,此页面也<strong>不会</strong>被移动,除非新页面无任何编辑历史或是重定向页。这意味着您可在误操作后将页面移回原处,同时,您也无法覆盖现有页面。\n\n<strong>注意:</strong>\n对这样一个经常被访问的页面而言这可能是一个重大且唐突的更改;请在行动前先了解您的修改可能带来的一切后果。",
-       "movepagetext-noredirectfixer": "用下面的表单来重命名一个页面,并将其版本历史同时移动到新页面。\n老的页面将成为新页面的重定向页。\n请检查[[Special:DoubleRedirects|双重重定向]]或[[Special:BrokenRedirects|损坏重定向]]链接。\n您应当负责确定所有链接依然会链到指定的页面。\n\n注意如果新页面已经有内容的话,页面将<strong>不会</strong>被移动,\n除非新页面无内容或是重定向页,而且没有版本历史。\n这意味着您再必要时可以在移动到新页面后再移回老的页面,\n同时您也无法覆盖现有页面。\n\n<strong>注意:</strong>\n对一个经常被访问的页面而言这可能是一个重大与唐突的更改;\n请在行动前先确定您了解其所可能带来的后果。",
+       "movepagetext": "您可以使用下面的表单来重命名一个页面,同时将其版本历史移动到新页面。同时老的条目将会被重定向到新条目。您可以自动地将重定向更新到原条目。如果您不选择这样做的话,请检查[[Special:DoubleRedirects|双重]]或[[Special:BrokenRedirects|损坏重定向]]链接。您有责任确保链接会被正确指向他们应该被指向的地方。\n\n注意:即使新条目已经有对应页面,此页面也<strong>不会</strong>被移动,除非新页面无任何编辑历史或是重定向页。这意味着您可在误操作后将页面移回原处,同时,您也无法覆盖现有页面。\n\n<strong>注意:</strong>对这样一个经常被访问的页面而言这可能是一个重大且唐突的更改;请在行动前先了解您的修改可能带来的一切后果。",
+       "movepagetext-noredirectfixer": "用下面的表单来重命名一个页面,并将其版本历史同时移动到新页面。老的页面将成为新页面的重定向页。请检查[[Special:DoubleRedirects|双重重定向]]或[[Special:BrokenRedirects|损坏重定向]]链接。您应当负责确定所有链接依然会链到指定的页面。\n\n注意如果新页面已经有内容的话,页面将<strong>不会</strong>被移动,除非新页面无内容或是重定向页,而且没有版本历史。这意味着您再必要时可以在移动到新页面后再移回老的页面,同时您也无法覆盖现有页面。\n\n<strong>注意:</strong>对一个经常被访问的页面而言这可能是一个重大与唐突的更改;请在行动前先确定您了解其所可能带来的后果。",
        "movepagetalktext": "如果您勾选此框,相关联的讨论页将被自动移动到新的标题,除非这里已经有了一个非空讨论页。\n\n在这种情况下,如有需要,您将不得不手动移动或合并页面。",
        "moveuserpage-warning": "'''警告:'''你将移动一个用户页面。请注意,只有该页面会被移动,该用户''不''会被更名。",
        "movecategorypage-warning": "<strong>警告:</strong>您将移动分类页面。请注意只有此页面将会移动,旧有分类的任何页面将<em>不会</em>同步移动。",
index 13dfa09..4da45b2 100644 (file)
@@ -72,7 +72,8 @@
                        "Bbslam",
                        "Zerng07",
                        "Reke",
-                       "Kly"
+                       "Kly",
+                       "Cosine02"
                ]
        },
        "tog-underline": "底線標示連結:",
        "saveprefs": "儲存",
        "restoreprefs": "還原所有預設設定 (所有項目)",
        "prefs-editing": "編輯",
-       "rows": "數:",
-       "columns": "數:",
+       "rows": "橫行數:",
+       "columns": "直行數:",
        "searchresultshead": "搜尋",
        "stub-threshold": "短頁面連結格式門檻值 ($1):",
        "stub-threshold-sample-link": "樣本",
index ec276c1..5b446d8 100644 (file)
@@ -111,7 +111,7 @@ By default, outputs relative paths against the parent directory of $wgUploadDire
        function outputItem( $name, $shared ) {
                $file = wfFindFile( $name );
                if ( $file && $this->filterItem( $file, $shared ) ) {
-                       $filename = $file->getPath();
+                       $filename = $file->getLocalRefPath();
                        $rel = wfRelativePath( $filename, $this->mBasePath );
                        $this->output( "$rel\n" );
                } else {
index e926cfd..88ee9d7 100644 (file)
@@ -56,7 +56,7 @@ class ImportTextFiles extends Maintenance {
                $prefix = $this->getOption( 'prefix', '' );
 
                // Get all the arguments. A loop is required since Maintenance doesn't
-               // suppport an arbitrary number of arguments.
+               // support an arbitrary number of arguments.
                $files = [];
                $i = 0;
                while ( $arg = $this->getArg( $i++ ) ) {
diff --git a/maintenance/invalidateUserSessions.php b/maintenance/invalidateUserSessions.php
new file mode 100644 (file)
index 0000000..11e3372
--- /dev/null
@@ -0,0 +1,94 @@
+<?php
+/**
+ * Invalidate the sessions of certain users on the wiki.
+ * If you want to invalidate all sessions, use $wgAuthenticationTokenVersion instead.
+ *
+ * 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 Maintenance
+ */
+
+use MediaWiki\MediaWikiServices;
+use MediaWiki\Session\SessionManager;
+
+require_once __DIR__ . '/Maintenance.php';
+
+/**
+ * Invalidate the sessions of certain users on the wiki.
+ * If you want to invalidate all sessions, use $wgAuthenticationTokenVersion instead.
+ *
+ * @ingroup Maintenance
+ */
+class InvalidateUserSesssions extends Maintenance {
+       public function __construct() {
+               parent::__construct();
+               $this->addDescription(
+                       'Invalidate the sessions of certain users on the wiki.'
+               );
+               $this->addOption( 'user', 'Username', false, true, 'u' );
+               $this->addOption( 'file', 'File with one username per line', false, true, 'f' );
+               $this->setBatchSize( 1000 );
+       }
+
+       public function execute() {
+               $username = $this->getOption( 'user' );
+               $file = $this->getOption( 'file' );
+
+               if ( $username === null && $file === null ) {
+                       $this->error( 'Either --user or --file is required', 1 );
+               } elseif ( $username !== null && $file !== null ) {
+                       $this->error( 'Cannot use both --user and --file', 1 );
+               }
+
+               if ( $username !== null ) {
+                       $usernames = [ $username ];
+               } else {
+                       $usernames = is_readable( $file ) ?
+                               file( $file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES ) : false;
+                       if ( $usernames === false ) {
+                               $this->error( "Could not open $file", 2 );
+                       }
+               }
+
+               $i = 0;
+               $lbFactory = MediaWikiServices::getInstance()->getDBLoadBalancerFactory();
+               $sessionManager = SessionManager::singleton();
+               foreach ( $usernames as $username ) {
+                       $i++;
+                       $user = User::newFromName( $username );
+                       try {
+                               $sessionManager->invalidateSessionsForUser( $user );
+                               if ( $user->getId() ) {
+                                       $this->output( "Invalidated sessions for user $username\n" );
+                               } else {
+                                       # session invalidation might still work if there is a central identity provider
+                                       $this->output( "Could not find user $username, tried to invalidate anyway\n" );
+                               }
+                       } catch ( Exception $e ) {
+                               $this->output( "Failed to invalidate sessions for user $username | "
+                                       . str_replace( [ "\r", "\n" ], ' ', $e->getMessage() ) . "\n" );
+                       }
+
+                       if ( $i % $this->mBatchSize ) {
+                               $lbFactory->waitForReplication();
+                       }
+               }
+       }
+}
+
+$maintClass = "InvalidateUserSesssions";
+require_once RUN_MAINTENANCE_IF_MAIN;
index 837f304..131a569 100644 (file)
@@ -30,12 +30,14 @@ require_once __DIR__ . '/Maintenance.php';
  * Maintenance script to reset the user_token for all users on the wiki.
  *
  * @ingroup Maintenance
+ * @deprecated since 1.27, use $wgAuthenticationTokenVersion instead.
  */
 class ResetUserTokens extends Maintenance {
        public function __construct() {
                parent::__construct();
                $this->addDescription(
-                       'Reset the user_token of all users on the wiki. Note that this may log some of them out.'
+                       "Reset the user_token of all users on the wiki. Note that this may log some of them out.\n"
+                       . "Deprecated, use \$wgAuthenticationTokenVersion instead."
                );
                $this->addOption( 'nowarn', "Hides the 5 seconds warning", false, false );
                $this->addOption(
index 150b8d3..e31e77e 100644 (file)
@@ -1408,12 +1408,16 @@ return [
        /* MediaWiki Action */
 
        'mediawiki.action.edit' => [
-               'scripts' => 'resources/src/mediawiki.action/mediawiki.action.edit.js',
+               'scripts' => [
+                       'resources/src/mediawiki.action/mediawiki.action.edit.js',
+                       'resources/src/mediawiki.action/mediawiki.action.edit.stash.js',
+               ],
                'styles' => 'resources/src/mediawiki.action/mediawiki.action.edit.css',
                'dependencies' => [
                        'mediawiki.action.edit.styles',
                        'jquery.textSelection',
                        'jquery.byteLimit',
+                       'mediawiki.api',
                ],
                'position' => 'top',
        ],
@@ -1456,18 +1460,14 @@ return [
                        'previewerrortext',
                ],
        ],
-       'mediawiki.action.edit.stash' => [
-               'scripts' => 'resources/src/mediawiki.action/mediawiki.action.edit.stash.js',
-               'dependencies' => [
-                       'jquery.getAttrs',
-                       'mediawiki.api',
-               ],
-       ],
        'mediawiki.action.history' => [
-               'position' => 'top',
                'scripts' => 'resources/src/mediawiki.action/mediawiki.action.history.js',
                'styles' => 'resources/src/mediawiki.action/mediawiki.action.history.css',
        ],
+       'mediawiki.action.history.styles' => [
+               'position' => 'top',
+               'styles' => 'resources/src/mediawiki.action/mediawiki.action.history.styles.css',
+       ],
        'mediawiki.action.history.diff' => [
                'position' => 'top',
                'styles' => [
index 297f814..2069ac5 100644 (file)
@@ -2,6 +2,10 @@
  * Scripts for pre-emptive edit preparing on action=edit
  */
 ( function ( mw, $ ) {
+       if ( !mw.config.get( 'wgAjaxEditStash' ) ) {
+               return;
+       }
+
        $( function () {
                var idleTimeout = 3000,
                        api = new mw.Api(),
index 95e92ae..fd5dbc9 100644 (file)
@@ -1,8 +1,6 @@
+/* Styles for the JavaScript enhancements of the history page */
+
 #pagehistory li.before input[name="oldid"],
 #pagehistory li.after input[name="diff"] {
        visibility: hidden;
 }
-
-.updatedmarker {
-       background-color: #b7f430;
-}
diff --git a/resources/src/mediawiki.action/mediawiki.action.history.styles.css b/resources/src/mediawiki.action/mediawiki.action.history.styles.css
new file mode 100644 (file)
index 0000000..269db8e
--- /dev/null
@@ -0,0 +1,5 @@
+/* Basic styles for the history page */
+
+.updatedmarker {
+       background-color: #b7f430;
+}
index def9c5d..898b58e 100644 (file)
@@ -229,7 +229,10 @@ class ApiQueryWatchlistIntegrationTest extends ApiTestCase {
        }
 
        private function getTitleFormatter() {
-               return new MediaWikiTitleCodec( Language::factory( 'en' ), GenderCache::singleton() );
+               return new MediaWikiTitleCodec(
+                       Language::factory( 'en' ),
+                       MediaWikiServices::getInstance()->getGenderCache()
+               );
        }
 
        private function getPrefixedText( LinkTarget $target ) {
diff --git a/tests/phpunit/includes/api/ApiQueryWatchlistRawIntegrationTest.php b/tests/phpunit/includes/api/ApiQueryWatchlistRawIntegrationTest.php
new file mode 100644 (file)
index 0000000..85bcf5f
--- /dev/null
@@ -0,0 +1,542 @@
+<?php
+
+use MediaWiki\MediaWikiServices;
+
+/**
+ * @group API
+ * @group Database
+ * @group medium
+ *
+ * @covers ApiQueryWatchlistRaw
+ */
+class ApiQueryWatchlistRawIntegrationTest extends ApiTestCase {
+
+       protected function setUp() {
+               parent::setUp();
+               self::$users['ApiQueryWatchlistRawIntegrationTestUser']
+                       = $this->getMutableTestUser();
+               self::$users['ApiQueryWatchlistRawIntegrationTestUser2']
+                       = $this->getMutableTestUser();
+               $this->doLogin( 'ApiQueryWatchlistRawIntegrationTestUser' );
+       }
+
+       private function getLoggedInTestUser() {
+               return self::$users['ApiQueryWatchlistRawIntegrationTestUser']->getUser();
+       }
+
+       private function getNotLoggedInTestUser() {
+               return self::$users['ApiQueryWatchlistRawIntegrationTestUser2']->getUser();
+       }
+
+       private function getWatchedItemStore() {
+               return MediaWikiServices::getInstance()->getWatchedItemStore();
+       }
+
+       private function doListWatchlistRawRequest( array $params = [] ) {
+               return $this->doApiRequest( array_merge(
+                       [ 'action' => 'query', 'list' => 'watchlistraw' ],
+                       $params
+               ) );
+       }
+
+       private function doGeneratorWatchlistRawRequest( array $params = [] ) {
+               return $this->doApiRequest( array_merge(
+                       [ 'action' => 'query', 'generator' => 'watchlistraw' ],
+                       $params
+               ) );
+       }
+
+       private function getItemsFromApiResponse( array $response ) {
+               return $response[0]['watchlistraw'];
+       }
+
+       public function testListWatchlistRaw_returnsWatchedItems() {
+               $store = $this->getWatchedItemStore();
+               $store->addWatch(
+                       $this->getLoggedInTestUser(),
+                       new TitleValue( 0, 'ApiQueryWatchlistRawIntegrationTestPage' )
+               );
+
+               $result = $this->doListWatchlistRawRequest();
+
+               $this->assertArrayHasKey( 'watchlistraw', $result[0] );
+
+               $this->assertEquals(
+                       [
+                               [
+                                       'ns' => 0,
+                                       'title' => 'ApiQueryWatchlistRawIntegrationTestPage',
+                               ],
+                       ],
+                       $this->getItemsFromApiResponse( $result )
+               );
+       }
+
+       public function testPropChanged_addsNotificationTimestamp() {
+               $target = new TitleValue( 0, 'ApiQueryWatchlistRawIntegrationTestPage' );
+               $otherUser = $this->getNotLoggedInTestUser();
+
+               $store = $this->getWatchedItemStore();
+
+               $store->addWatch( $this->getLoggedInTestUser(), $target );
+               $store->updateNotificationTimestamp(
+                       $otherUser,
+                       $target,
+                       '20151212010101'
+               );
+
+               $result = $this->doListWatchlistRawRequest( [ 'wrprop' => 'changed' ] );
+
+               $this->assertEquals(
+                       [
+                               [
+                                       'ns' => 0,
+                                       'title' => 'ApiQueryWatchlistRawIntegrationTestPage',
+                                       'changed' => '2015-12-12T01:01:01Z',
+                               ],
+                       ],
+                       $this->getItemsFromApiResponse( $result )
+               );
+       }
+
+       public function testNamespaceParam() {
+               $store = $this->getWatchedItemStore();
+
+               $store->addWatchBatchForUser( $this->getLoggedInTestUser(), [
+                       new TitleValue( 0, 'ApiQueryWatchlistRawIntegrationTestPage' ),
+                       new TitleValue( 1, 'ApiQueryWatchlistRawIntegrationTestPage' ),
+               ] );
+
+               $result = $this->doListWatchlistRawRequest( [ 'wrnamespace' => '0' ] );
+
+               $this->assertEquals(
+                       [
+                               [
+                                       'ns' => 0,
+                                       'title' => 'ApiQueryWatchlistRawIntegrationTestPage',
+                               ],
+                       ],
+                       $this->getItemsFromApiResponse( $result )
+               );
+       }
+
+       public function testShowChangedParams() {
+               $subjectTarget = new TitleValue( 0, 'ApiQueryWatchlistRawIntegrationTestPage' );
+               $talkTarget = new TitleValue( 1, 'ApiQueryWatchlistRawIntegrationTestPage' );
+               $otherUser = $this->getNotLoggedInTestUser();
+
+               $store = $this->getWatchedItemStore();
+
+               $store->addWatchBatchForUser( $this->getLoggedInTestUser(), [
+                       $subjectTarget,
+                       $talkTarget,
+               ] );
+               $store->updateNotificationTimestamp(
+                       $otherUser,
+                       $subjectTarget,
+                       '20151212010101'
+               );
+
+               $resultChanged = $this->doListWatchlistRawRequest(
+                       [ 'wrprop' => 'changed', 'wrshow' => 'changed' ]
+               );
+               $resultNotChanged = $this->doListWatchlistRawRequest(
+                       [ 'wrprop' => 'changed', 'wrshow' => '!changed' ]
+               );
+
+               $this->assertEquals(
+                       [
+                               [
+                                       'ns' => 0,
+                                       'title' => 'ApiQueryWatchlistRawIntegrationTestPage',
+                                       'changed' => '2015-12-12T01:01:01Z',
+                               ],
+                       ],
+                       $this->getItemsFromApiResponse( $resultChanged )
+               );
+
+               $this->assertEquals(
+                       [
+                               [
+                                       'ns' => 1,
+                                       'title' => 'Talk:ApiQueryWatchlistRawIntegrationTestPage',
+                               ],
+                       ],
+                       $this->getItemsFromApiResponse( $resultNotChanged )
+               );
+       }
+
+       public function testLimitParam() {
+               $store = $this->getWatchedItemStore();
+
+               $store->addWatchBatchForUser( $this->getLoggedInTestUser(), [
+                       new TitleValue( 0, 'ApiQueryWatchlistRawIntegrationTestPage1' ),
+                       new TitleValue( 1, 'ApiQueryWatchlistRawIntegrationTestPage1' ),
+                       new TitleValue( 0, 'ApiQueryWatchlistRawIntegrationTestPage2' ),
+               ] );
+
+               $resultWithoutLimit = $this->doListWatchlistRawRequest();
+               $resultWithLimit = $this->doListWatchlistRawRequest( [ 'wrlimit' => 2 ] );
+
+               $this->assertEquals(
+                       [
+                               [
+                                       'ns' => 0,
+                                       'title' => 'ApiQueryWatchlistRawIntegrationTestPage1',
+                               ],
+                               [
+                                       'ns' => 0,
+                                       'title' => 'ApiQueryWatchlistRawIntegrationTestPage2',
+                               ],
+                               [
+                                       'ns' => 1,
+                                       'title' => 'Talk:ApiQueryWatchlistRawIntegrationTestPage1',
+                               ],
+                       ],
+                       $this->getItemsFromApiResponse( $resultWithoutLimit )
+               );
+               $this->assertEquals(
+                       [
+                               [
+                                       'ns' => 0,
+                                       'title' => 'ApiQueryWatchlistRawIntegrationTestPage1',
+                               ],
+                               [
+                                       'ns' => 0,
+                                       'title' => 'ApiQueryWatchlistRawIntegrationTestPage2',
+                               ],
+                       ],
+                       $this->getItemsFromApiResponse( $resultWithLimit )
+               );
+
+               $this->assertArrayNotHasKey( 'continue', $resultWithoutLimit[0] );
+               $this->assertArrayHasKey( 'continue', $resultWithLimit[0] );
+               $this->assertArrayHasKey( 'wrcontinue', $resultWithLimit[0]['continue'] );
+       }
+
+       public function testDirParams() {
+               $store = $this->getWatchedItemStore();
+
+               $store->addWatchBatchForUser( $this->getLoggedInTestUser(), [
+                       new TitleValue( 0, 'ApiQueryWatchlistRawIntegrationTestPage1' ),
+                       new TitleValue( 1, 'ApiQueryWatchlistRawIntegrationTestPage1' ),
+                       new TitleValue( 0, 'ApiQueryWatchlistRawIntegrationTestPage2' ),
+               ] );
+
+               $resultDirAsc = $this->doListWatchlistRawRequest( [ 'wrdir' => 'ascending' ] );
+               $resultDirDesc = $this->doListWatchlistRawRequest( [ 'wrdir' => 'descending' ] );
+
+               $this->assertEquals(
+                       [
+                               [
+                                       'ns' => 0,
+                                       'title' => 'ApiQueryWatchlistRawIntegrationTestPage1',
+                               ],
+                               [
+                                       'ns' => 0,
+                                       'title' => 'ApiQueryWatchlistRawIntegrationTestPage2',
+                               ],
+                               [
+                                       'ns' => 1,
+                                       'title' => 'Talk:ApiQueryWatchlistRawIntegrationTestPage1',
+                               ],
+                       ],
+                       $this->getItemsFromApiResponse( $resultDirAsc )
+               );
+
+               $this->assertEquals(
+                       [
+                               [
+                                       'ns' => 1,
+                                       'title' => 'Talk:ApiQueryWatchlistRawIntegrationTestPage1',
+                               ],
+                               [
+                                       'ns' => 0,
+                                       'title' => 'ApiQueryWatchlistRawIntegrationTestPage2',
+                               ],
+                               [
+                                       'ns' => 0,
+                                       'title' => 'ApiQueryWatchlistRawIntegrationTestPage1',
+                               ],
+                       ],
+                       $this->getItemsFromApiResponse( $resultDirDesc )
+               );
+       }
+
+       public function testAscendingIsDefaultOrder() {
+               $store = $this->getWatchedItemStore();
+
+               $store->addWatchBatchForUser( $this->getLoggedInTestUser(), [
+                       new TitleValue( 0, 'ApiQueryWatchlistRawIntegrationTestPage1' ),
+                       new TitleValue( 1, 'ApiQueryWatchlistRawIntegrationTestPage1' ),
+                       new TitleValue( 0, 'ApiQueryWatchlistRawIntegrationTestPage2' ),
+               ] );
+
+               $resultNoDir = $this->doListWatchlistRawRequest();
+               $resultAscDir = $this->doListWatchlistRawRequest( [ 'wrdir' => 'ascending' ] );
+
+               $this->assertEquals(
+                       $this->getItemsFromApiResponse( $resultNoDir ),
+                       $this->getItemsFromApiResponse( $resultAscDir )
+               );
+       }
+
+       public function testFromTitleParam() {
+               $store = $this->getWatchedItemStore();
+
+               $store->addWatchBatchForUser( $this->getLoggedInTestUser(), [
+                       new TitleValue( 0, 'ApiQueryWatchlistRawIntegrationTestPage1' ),
+                       new TitleValue( 0, 'ApiQueryWatchlistRawIntegrationTestPage2' ),
+                       new TitleValue( 0, 'ApiQueryWatchlistRawIntegrationTestPage3' ),
+               ] );
+
+               $result = $this->doListWatchlistRawRequest( [
+                       'wrfromtitle' => 'ApiQueryWatchlistRawIntegrationTestPage2',
+               ] );
+
+               $this->assertEquals(
+                       [
+                               [
+                                       'ns' => 0,
+                                       'title' => 'ApiQueryWatchlistRawIntegrationTestPage2',
+                               ],
+                               [
+                                       'ns' => 0,
+                                       'title' => 'ApiQueryWatchlistRawIntegrationTestPage3',
+                               ],
+                       ],
+                       $this->getItemsFromApiResponse( $result )
+               );
+       }
+
+       public function testToTitleParam() {
+               $store = $this->getWatchedItemStore();
+
+               $store->addWatchBatchForUser( $this->getLoggedInTestUser(), [
+                       new TitleValue( 0, 'ApiQueryWatchlistRawIntegrationTestPage1' ),
+                       new TitleValue( 0, 'ApiQueryWatchlistRawIntegrationTestPage2' ),
+                       new TitleValue( 0, 'ApiQueryWatchlistRawIntegrationTestPage3' ),
+               ] );
+
+               $result = $this->doListWatchlistRawRequest( [
+                       'wrtotitle' => 'ApiQueryWatchlistRawIntegrationTestPage2',
+               ] );
+
+               $this->assertEquals(
+                       [
+                               [
+                                       'ns' => 0,
+                                       'title' => 'ApiQueryWatchlistRawIntegrationTestPage1',
+                               ],
+                               [
+                                       'ns' => 0,
+                                       'title' => 'ApiQueryWatchlistRawIntegrationTestPage2',
+                               ],
+                       ],
+                       $this->getItemsFromApiResponse( $result )
+               );
+       }
+
+       public function testContinueParam() {
+               $store = $this->getWatchedItemStore();
+
+               $store->addWatchBatchForUser( $this->getLoggedInTestUser(), [
+                       new TitleValue( 0, 'ApiQueryWatchlistRawIntegrationTestPage1' ),
+                       new TitleValue( 0, 'ApiQueryWatchlistRawIntegrationTestPage2' ),
+                       new TitleValue( 0, 'ApiQueryWatchlistRawIntegrationTestPage3' ),
+               ] );
+
+               $firstResult = $this->doListWatchlistRawRequest( [ 'wrlimit' => 2 ] );
+               $continuationParam = $firstResult[0]['continue']['wrcontinue'];
+
+               $this->assertEquals( '0|ApiQueryWatchlistRawIntegrationTestPage3', $continuationParam );
+
+               $continuedResult = $this->doListWatchlistRawRequest( [ 'wrcontinue' => $continuationParam ] );
+
+               $this->assertEquals(
+                       [
+                               [
+                                       'ns' => 0,
+                                       'title' => 'ApiQueryWatchlistRawIntegrationTestPage3',
+                               ]
+                       ],
+                       $this->getItemsFromApiResponse( $continuedResult )
+               );
+       }
+
+       public function fromTitleToTitleContinueComboProvider() {
+               return [
+                       [
+                               [
+                                       'wrfromtitle' => 'ApiQueryWatchlistRawIntegrationTestPage1',
+                                       'wrtotitle' => 'ApiQueryWatchlistRawIntegrationTestPage2',
+                               ],
+                               [
+                                       [ 'ns' => 0, 'title' => 'ApiQueryWatchlistRawIntegrationTestPage1' ],
+                                       [ 'ns' => 0, 'title' => 'ApiQueryWatchlistRawIntegrationTestPage2' ],
+                               ],
+                       ],
+                       [
+                               [
+                                       'wrfromtitle' => 'ApiQueryWatchlistRawIntegrationTestPage1',
+                                       'wrcontinue' => '0|ApiQueryWatchlistRawIntegrationTestPage3',
+                               ],
+                               [
+                                       [ 'ns' => 0, 'title' => 'ApiQueryWatchlistRawIntegrationTestPage3' ],
+                               ],
+                       ],
+                       [
+                               [
+                                       'wrtotitle' => 'ApiQueryWatchlistRawIntegrationTestPage3',
+                                       'wrcontinue' => '0|ApiQueryWatchlistRawIntegrationTestPage2',
+                               ],
+                               [
+                                       [ 'ns' => 0, 'title' => 'ApiQueryWatchlistRawIntegrationTestPage2' ],
+                                       [ 'ns' => 0, 'title' => 'ApiQueryWatchlistRawIntegrationTestPage3' ],
+                               ],
+                       ],
+                       [
+                               [
+                                       'wrfromtitle' => 'ApiQueryWatchlistRawIntegrationTestPage1',
+                                       'wrtotitle' => 'ApiQueryWatchlistRawIntegrationTestPage3',
+                                       'wrcontinue' => '0|ApiQueryWatchlistRawIntegrationTestPage3',
+                               ],
+                               [
+                                       [ 'ns' => 0, 'title' => 'ApiQueryWatchlistRawIntegrationTestPage3' ],
+                               ],
+                       ],
+               ];
+       }
+
+       /**
+        * @dataProvider fromTitleToTitleContinueComboProvider
+        */
+       public function testFromTitleToTitleContinueCombo( array $params, array $expectedItems ) {
+               $store = $this->getWatchedItemStore();
+
+               $store->addWatchBatchForUser( $this->getLoggedInTestUser(), [
+                       new TitleValue( 0, 'ApiQueryWatchlistRawIntegrationTestPage1' ),
+                       new TitleValue( 0, 'ApiQueryWatchlistRawIntegrationTestPage2' ),
+                       new TitleValue( 0, 'ApiQueryWatchlistRawIntegrationTestPage3' ),
+               ] );
+
+               $result = $this->doListWatchlistRawRequest( $params );
+
+               $this->assertEquals( $expectedItems, $this->getItemsFromApiResponse( $result ) );
+       }
+
+       public function fromTitleToTitleContinueSelfContradictoryComboProvider() {
+               return [
+                       [
+                               [
+                                       'wrfromtitle' => 'ApiQueryWatchlistRawIntegrationTestPage2',
+                                       'wrtotitle' => 'ApiQueryWatchlistRawIntegrationTestPage1',
+                               ]
+                       ],
+                       [
+                               [
+                                       'wrfromtitle' => 'ApiQueryWatchlistRawIntegrationTestPage1',
+                                       'wrtotitle' => 'ApiQueryWatchlistRawIntegrationTestPage2',
+                                       'wrdir' => 'descending',
+                               ]
+                       ],
+                       [
+                               [
+                                       'wrtotitle' => 'ApiQueryWatchlistRawIntegrationTestPage1',
+                                       'wrcontinue' => '0|ApiQueryWatchlistRawIntegrationTestPage2',
+                               ]
+                       ],
+               ];
+       }
+
+       /**
+        * @dataProvider fromTitleToTitleContinueSelfContradictoryComboProvider
+        */
+       public function testFromTitleToTitleContinueSelfContradictoryCombo( array $params ) {
+               $store = $this->getWatchedItemStore();
+
+               $store->addWatchBatchForUser( $this->getLoggedInTestUser(), [
+                       new TitleValue( 0, 'ApiQueryWatchlistRawIntegrationTestPage1' ),
+                       new TitleValue( 0, 'ApiQueryWatchlistRawIntegrationTestPage2' ),
+               ] );
+
+               $result = $this->doListWatchlistRawRequest( $params );
+
+               $this->assertEmpty( $this->getItemsFromApiResponse( $result ) );
+               $this->assertArrayNotHasKey( 'continue', $result[0] );
+       }
+
+       public function testOwnerAndTokenParams() {
+               $otherUser = $this->getNotLoggedInTestUser();
+               $otherUser->setOption( 'watchlisttoken', '1234567890' );
+               $otherUser->saveSettings();
+
+               $store = $this->getWatchedItemStore();
+               $store->addWatchBatchForUser( $otherUser, [
+                       new TitleValue( 0, 'ApiQueryWatchlistRawIntegrationTestPage1' ),
+                       new TitleValue( 1, 'ApiQueryWatchlistRawIntegrationTestPage1' ),
+               ] );
+
+               $result = $this->doListWatchlistRawRequest( [
+                       'wrowner' => $otherUser->getName(),
+                       'wrtoken' => '1234567890',
+               ] );
+
+               $this->assertEquals(
+                       [
+                               [
+                                       'ns' => 0,
+                                       'title' => 'ApiQueryWatchlistRawIntegrationTestPage1',
+                               ],
+                               [
+                                       'ns' => 1,
+                                       'title' => 'Talk:ApiQueryWatchlistRawIntegrationTestPage1',
+                               ],
+                       ],
+                       $this->getItemsFromApiResponse( $result )
+               );
+       }
+
+       public function testOwnerAndTokenParams_wrongToken() {
+               $otherUser = $this->getNotLoggedInTestUser();
+               $otherUser->setOption( 'watchlisttoken', '1234567890' );
+               $otherUser->saveSettings();
+
+               $this->setExpectedException( UsageException::class, 'Incorrect watchlist token provided' );
+
+               $this->doListWatchlistRawRequest( [
+                       'wrowner' => $otherUser->getName(),
+                       'wrtoken' => 'wrong-token',
+               ] );
+       }
+
+       public function testOwnerAndTokenParams_userHasNoWatchlistToken() {
+               $this->setExpectedException( UsageException::class, 'Incorrect watchlist token provided' );
+
+               $this->doListWatchlistRawRequest( [
+                       'wrowner' => $this->getNotLoggedInTestUser()->getName(),
+                       'wrtoken' => 'some-watchlist-token',
+               ] );
+       }
+
+       public function testGeneratorWatchlistRawPropInfo_returnsWatchedItems() {
+               $store = $this->getWatchedItemStore();
+               $store->addWatch(
+                       $this->getLoggedInTestUser(),
+                       new TitleValue( 0, 'ApiQueryWatchlistRawIntegrationTestPage' )
+               );
+
+               $result = $this->doGeneratorWatchlistRawRequest( [ 'prop' => 'info' ] );
+
+               $this->assertArrayHasKey( 'query', $result[0] );
+               $this->assertArrayHasKey( 'pages', $result[0]['query'] );
+               $this->assertCount( 1, $result[0]['query']['pages'] );
+
+               // $result[0]['query']['pages'] uses page ids as keys
+               $item = array_values( $result[0]['query']['pages'] )[0];
+
+               $this->assertEquals( 0, $item['ns'] );
+               $this->assertEquals( 'ApiQueryWatchlistRawIntegrationTestPage', $item['title'] );
+       }
+
+}
diff --git a/tests/phpunit/includes/api/ApiStashEditTest.php b/tests/phpunit/includes/api/ApiStashEditTest.php
new file mode 100644 (file)
index 0000000..e2462c6
--- /dev/null
@@ -0,0 +1,28 @@
+<?php
+
+/**
+ * @covers ApiStashEdit
+ * @group API
+ * @group medium
+ * @group Database
+ */
+class ApiStashEditTest extends ApiTestCase {
+
+       public function testBasicEdit() {
+               $this->doLogin();
+               $apiResult = $this->doApiRequestWithToken(
+                       [
+                               'action' => 'stashedit',
+                               'title' => 'ApistashEdit_Page',
+                               'contentmodel' => 'wikitext',
+                               'contentformat' => 'text/x-wiki',
+                               'text' => 'Text for ' . __METHOD__ . ' page',
+                               'baserevid' => 0,
+                       ]
+               );
+               $apiResult = $apiResult[0];
+               $this->assertArrayHasKey( 'stashedit', $apiResult );
+               $this->assertEquals( 'stashed', $apiResult['stashedit']['status'] );
+       }
+
+}
index edee6fc..3548002 100644 (file)
@@ -334,22 +334,23 @@ class LegacyHookPreAuthenticationProviderTest extends \MediaWikiTestCase {
         * @param string|null $failMsg
         */
        public function testTestUserForCreation( $error, $failMsg ) {
+               $testUser = self::getTestUser()->getUser();
+               $provider = $this->getProvider();
+               $options = [ 'flags' => \User::READ_LOCKING, 'creating' => true ];
+
                $this->hook( 'AbortNewAccount', $this->never() );
                $this->hook( 'AbortAutoAccount', $this->once() )
-                       ->will( $this->returnCallback( function ( $user, &$abortError ) use ( $error ) {
+                       ->will( $this->returnCallback( function ( $user, &$abortError ) use ( $testUser, $error ) {
                                $this->assertInstanceOf( 'User', $user );
-                               $this->assertSame( 'UTSysop', $user->getName() );
+                               $this->assertSame( $testUser->getName(), $user->getName() );
                                $abortError = $error;
                                return $error === null;
                        } ) );
-
-               $status = $this->getProvider()->testUserForCreation(
-                       \User::newFromName( 'UTSysop' ), AuthManager::AUTOCREATE_SOURCE_SESSION
+               $status = $provider->testUserForCreation(
+                       $testUser, AuthManager::AUTOCREATE_SOURCE_SESSION, $options
                );
-
                $this->unhook( 'AbortNewAccount' );
                $this->unhook( 'AbortAutoAccount' );
-
                if ( $failMsg === null ) {
                        $this->assertEquals( \StatusValue::newGood(), $status, 'should succeed' );
                } else {
@@ -360,54 +361,11 @@ class LegacyHookPreAuthenticationProviderTest extends \MediaWikiTestCase {
                }
 
                $this->hook( 'AbortAutoAccount', $this->never() );
-               $this->hook( 'AbortNewAccount', $this->once() )
-                       ->will( $this->returnCallback(
-                               function ( $user, &$abortError, &$abortStatus ) use ( $error ) {
-                                       $this->assertInstanceOf( 'User', $user );
-                                       $this->assertSame( 'UTSysop', $user->getName() );
-                                       $abortError = $error;
-                                       return $error === null;
-                               }
-                       ) );
-               $status = $this->getProvider()->testUserForCreation( \User::newFromName( 'UTSysop' ), false );
+               $this->hook( 'AbortNewAccount', $this->never() );
+               $status = $provider->testUserForCreation( $testUser, false, $options );
                $this->unhook( 'AbortNewAccount' );
                $this->unhook( 'AbortAutoAccount' );
-               if ( $failMsg === null ) {
-                       $this->assertEquals( \StatusValue::newGood(), $status, 'should succeed' );
-               } else {
-                       $this->assertInstanceOf( 'StatusValue', $status, 'should fail (type)' );
-                       $this->assertFalse( $status->isOk(), 'should fail (ok)' );
-                       $errors = $status->getErrors();
-                       $msg = $errors[0]['message'];
-                       $this->assertInstanceOf( \Message::class, $msg );
-                       $this->assertEquals(
-                               'createaccount-hook-aborted', $msg->getKey(), 'should fail (message)'
-                       );
-               }
-
-               if ( $error !== false ) {
-                       $this->hook( 'AbortAutoAccount', $this->never() );
-                       $this->hook( 'AbortNewAccount', $this->once() )
-                               ->will( $this->returnCallback(
-                                       function ( $user, &$abortError, &$abortStatus ) use ( $error ) {
-                                               $this->assertInstanceOf( 'User', $user );
-                                               $this->assertSame( 'UTSysop', $user->getName() );
-                                               $abortStatus = $error ? \Status::newFatal( $error ) : \Status::newGood();
-                                               return $error === null;
-                                       }
-                       ) );
-                       $status = $this->getProvider()->testUserForCreation( \User::newFromName( 'UTSysop' ), false );
-                       $this->unhook( 'AbortNewAccount' );
-                       $this->unhook( 'AbortAutoAccount' );
-                       if ( $failMsg === null ) {
-                               $this->assertEquals( \StatusValue::newGood(), $status, 'should succeed' );
-                       } else {
-                               $this->assertInstanceOf( 'StatusValue', $status, 'should fail (type)' );
-                               $this->assertFalse( $status->isOk(), 'should fail (ok)' );
-                               $errors = $status->getErrors();
-                               $this->assertEquals( $failMsg, $errors[0]['message'], 'should fail (message)' );
-                       }
-               }
+               $this->assertEquals( \StatusValue::newGood(), $status, 'should succeed' );
        }
 
        public static function provideTestUserForCreation() {
index e29d207..68ce640 100644 (file)
@@ -23,9 +23,6 @@ namespace MediaWiki\Logger\Monolog;
 use MediaWikiTestCase;
 use Monolog\Logger;
 
-// not available in the version of phpunit mw uses, so copied into repo
-require_once __DIR__ . '/../../../phpunit/ConsecutiveParametersMatcher.php';
-
 class KafkaHandlerTest extends MediaWikiTestCase {
 
        protected function setUp() {
diff --git a/tests/phpunit/includes/phpunit/ConsecutiveParametersMatcher.php b/tests/phpunit/includes/phpunit/ConsecutiveParametersMatcher.php
deleted file mode 100644 (file)
index 8de467f..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-<?php
-// @codingStandardsIgnoreFile
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Invocation matcher which looks for sets of specific parameters in the invocations.
- *
- * Checks the parameters of the incoming invocations, the parameter list is
- * checked against the defined constraints in $parameters. If the constraint
- * is met it will return true in matches().
- *
- * It takes a list of match groups and and increases a call index after each invocation.
- * So the first invocation uses the first group of constraints, the second the next and so on.
- */
-class PHPUnit_Framework_MockObject_Matcher_ConsecutiveParameters extends PHPUnit_Framework_MockObject_Matcher_StatelessInvocation
-{
-    /**
-     * @var array
-     */
-    private $_parameterGroups = array();
-
-    /**
-     * @var array
-     */
-    private $_invocations = array();
-
-    /**
-     * @param array $parameterGroups
-     */
-    public function __construct(array $parameterGroups)
-    {
-        foreach ($parameterGroups as $index => $parameters) {
-            foreach ($parameters as $parameter) {
-                if (!($parameter instanceof \PHPUnit_Framework_Constraint)) {
-                    $parameter = new \PHPUnit_Framework_Constraint_IsEqual($parameter);
-                }
-                $this->_parameterGroups[$index][] = $parameter;
-            }
-        }
-    }
-
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        $text = 'with consecutive parameters';
-
-        return $text;
-    }
-
-    /**
-     * @param  PHPUnit_Framework_MockObject_Invocation $invocation
-     * @return bool
-     */
-    public function matches(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        $this->_invocations[] = $invocation;
-        $callIndex            = count($this->_invocations) - 1;
-        $this->verifyInvocation($invocation, $callIndex);
-
-        return false;
-    }
-
-    public function verify()
-    {
-        foreach ($this->_invocations as $callIndex => $invocation) {
-            $this->verifyInvocation($invocation, $callIndex);
-        }
-    }
-
-    /**
-     * Verify a single invocation
-     *
-     * @param  PHPUnit_Framework_MockObject_Invocation      $invocation
-     * @param  int                                          $callIndex
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    private function verifyInvocation(PHPUnit_Framework_MockObject_Invocation $invocation, $callIndex)
-    {
-
-        if (isset($this->_parameterGroups[$callIndex])) {
-            $parameters = $this->_parameterGroups[$callIndex];
-        } else {
-          // no parameter assertion for this call index
-            return;
-        }
-
-        if ($invocation === null) {
-            throw new PHPUnit_Framework_ExpectationFailedException(
-                'Mocked method does not exist.'
-            );
-        }
-
-        if (count($invocation->parameters) < count($parameters)) {
-            throw new PHPUnit_Framework_ExpectationFailedException(
-                sprintf(
-                    'Parameter count for invocation %s is too low.',
-                    $invocation->toString()
-                )
-            );
-        }
-
-        foreach ($parameters as $i => $parameter) {
-            $parameter->evaluate(
-                $invocation->parameters[$i],
-                sprintf(
-                    'Parameter %s for invocation #%d %s does not match expected ' .
-                    'value.',
-                    $i,
-                    $callIndex,
-                    $invocation->toString()
-                )
-            );
-        }
-    }
-}
diff --git a/tests/phpunit/includes/phpunit/LICENSE b/tests/phpunit/includes/phpunit/LICENSE
deleted file mode 100644 (file)
index fe178b0..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-PHPUnit
-
-Copyright (c) 2001-2014, Sebastian Bergmann <sebastian@phpunit.de>.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- * Neither the name of Sebastian Bergmann nor the names of his
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
diff --git a/tests/phpunit/includes/phpunit/README b/tests/phpunit/includes/phpunit/README
deleted file mode 100644 (file)
index 3ec3fd9..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-This directory contains classes duplicated from new versions of phpunit
-that also work in the older php 3.7.37 used by wmf CI servers.