Merge "jquery.tablesorter: use of expand-child class"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Tue, 13 Oct 2015 19:55:12 +0000 (19:55 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Tue, 13 Oct 2015 19:55:12 +0000 (19:55 +0000)
139 files changed:
Gruntfile.js
RELEASE-NOTES-1.27
autoload.php
docs/hooks.txt
includes/HttpFunctions.php
includes/api/i18n/ja.json
includes/api/i18n/ksh.json
includes/api/i18n/mr.json
includes/api/i18n/sr-ec.json
includes/changes/RecentChange.php
includes/content/ContentHandler.php
includes/installer/LocalSettingsGenerator.php
includes/installer/i18n/hy.json
includes/libs/objectcache/WANObjectCache.php
includes/mail/EmailNotification.php
includes/objectcache/ObjectCache.php
includes/page/ImagePage.php
includes/specialpage/ChangesListSpecialPage.php
includes/specials/SpecialUpload.php
includes/upload/UploadBase.php
languages/i18n/af.json
languages/i18n/an.json
languages/i18n/ar.json
languages/i18n/arz.json
languages/i18n/as.json
languages/i18n/ast.json
languages/i18n/bcl.json
languages/i18n/be-tarask.json
languages/i18n/bg.json
languages/i18n/bn.json
languages/i18n/br.json
languages/i18n/bs.json
languages/i18n/ca.json
languages/i18n/ckb.json
languages/i18n/cs.json
languages/i18n/cy.json
languages/i18n/da.json
languages/i18n/de.json
languages/i18n/diq.json
languages/i18n/el.json
languages/i18n/en.json
languages/i18n/eo.json
languages/i18n/es.json
languages/i18n/et.json
languages/i18n/eu.json
languages/i18n/ext.json
languages/i18n/fa.json
languages/i18n/fi.json
languages/i18n/fo.json
languages/i18n/fr.json
languages/i18n/frp.json
languages/i18n/gl.json
languages/i18n/gsw.json
languages/i18n/gu.json
languages/i18n/he.json
languages/i18n/hr.json
languages/i18n/hsb.json
languages/i18n/hu.json
languages/i18n/ia.json
languages/i18n/id.json
languages/i18n/ilo.json
languages/i18n/is.json
languages/i18n/it.json
languages/i18n/ja.json
languages/i18n/jv.json
languages/i18n/ka.json
languages/i18n/kk-cyrl.json
languages/i18n/km.json
languages/i18n/ko.json
languages/i18n/ksh.json
languages/i18n/lb.json
languages/i18n/li.json
languages/i18n/lt.json
languages/i18n/lus.json
languages/i18n/lv.json
languages/i18n/mk.json
languages/i18n/ml.json
languages/i18n/mr.json
languages/i18n/ms.json
languages/i18n/mt.json
languages/i18n/mzn.json
languages/i18n/nap.json
languages/i18n/nb.json
languages/i18n/nds-nl.json
languages/i18n/ne.json
languages/i18n/nl.json
languages/i18n/nn.json
languages/i18n/olo.json
languages/i18n/or.json
languages/i18n/pa.json
languages/i18n/pl.json
languages/i18n/pms.json
languages/i18n/pnb.json
languages/i18n/pt-br.json
languages/i18n/pt.json
languages/i18n/qqq.json
languages/i18n/ro.json
languages/i18n/roa-tara.json
languages/i18n/ru.json
languages/i18n/rue.json
languages/i18n/sa.json
languages/i18n/si.json
languages/i18n/sk.json
languages/i18n/sl.json
languages/i18n/sq.json
languages/i18n/sr-ec.json
languages/i18n/sr-el.json
languages/i18n/sv.json
languages/i18n/ta.json
languages/i18n/th.json
languages/i18n/tl.json
languages/i18n/uk.json
languages/i18n/vec.json
languages/i18n/vi.json
languages/i18n/wa.json
languages/i18n/yi.json
languages/i18n/zh-hans.json
languages/i18n/zh-hant.json
languages/i18n/zh-tw.json
package.json
phpcs.xml
resources/Resources.php
resources/lib/oojs-ui/oojs-ui-mediawiki-noimages.css
resources/lib/oojs-ui/oojs-ui.js
resources/src/jquery/jquery.spinner.js
resources/src/jquery/jquery.tablesorter.js
resources/src/mediawiki.action/mediawiki.action.view.metadata.js
resources/src/mediawiki.widgets/mw.widgets.CategorySelector.js
resources/src/mediawiki/api.js
resources/src/mediawiki/api/upload.js
resources/src/mediawiki/mediawiki.ForeignStructuredUpload.js
resources/src/mediawiki/mediawiki.ForeignUpload.js
resources/src/mediawiki/mediawiki.Upload.BookletLayout.js
resources/src/mediawiki/mediawiki.Upload.js
resources/src/mediawiki/mediawiki.jqueryMsg.js
tests/qunit/suites/resources/jquery/jquery.tablesorter.parsers.test.js
tests/qunit/suites/resources/mediawiki.api/mediawiki.api.test.js
tests/qunit/suites/resources/mediawiki.api/mediawiki.api.upload.test.js
tests/qunit/suites/resources/mediawiki/mediawiki.jqueryMsg.test.js

index 8dbeb6b..946b652 100644 (file)
@@ -33,9 +33,7 @@ module.exports = function ( grunt ) {
                },
                banana: {
                        options: {
-                               disallowBlankTranslations: false,
-                               disallowDuplicateTranslations: false,
-                               disallowUnusedTranslations: false
+                               disallowBlankTranslations: false
                        },
                        core: 'languages/i18n/',
                        api: 'includes/api/i18n/',
index 06feb4d..697210c 100644 (file)
@@ -41,6 +41,12 @@ production.
 * $wgCdnMaxageLagged was added, which limits the CDN cache TTL
   when any load balancer uses a DB that is lagged beyond the 'max lag'
   setting in the relevant section of $wgLBFactoryConf.
+* Added several JavaScript libraries for uploading files to MediaWiki
+  from the client-side. See documentation for mw.Upload and its
+  subclasses for more information.
+* Added OOUI dialogs and layout for file upload interfaces. See
+  documentation for mw.Upload.Dialog, mw.Upload.BookletLayout and its
+  subclasses for more information.
 
 ==== External libraries ====
 
@@ -52,6 +58,8 @@ production.
 * ApiPageSet::setRedirectMergePolicy() was added. This allows generator
   modules to define how generator data for a redirect source gets merged
   into the redirect destination.
+* prop=imageinfo&iiprop=uploadwarning will no longer include the possibility of
+  "was-deleted" warning.
 
 === Action API internal changes in 1.27 ===
 
index 269b142..673072b 100644 (file)
@@ -728,6 +728,7 @@ $wgAutoloadLocalClasses = array(
        'MWSaltedPassword' => __DIR__ . '/includes/password/MWSaltedPassword.php',
        'MWTidy' => __DIR__ . '/includes/parser/MWTidy.php',
        'MWTimestamp' => __DIR__ . '/includes/MWTimestamp.php',
+       'MWUnknownContentModelException' => __DIR__ . '/includes/content/ContentHandler.php',
        'MachineReadableRCFeedFormatter' => __DIR__ . '/includes/rcfeed/MachineReadableRCFeedFormatter.php',
        'MagicWord' => __DIR__ . '/includes/MagicWord.php',
        'MagicWordArray' => __DIR__ . '/includes/MagicWord.php',
index 717dd39..0e76d58 100644 (file)
@@ -1956,12 +1956,14 @@ $rcid: ID of the revision to be marked patrolled
 $user: the user (object) marking the revision as patrolled
 $wcOnlySysopsCanPatrol: config setting indicating whether the user needs to be a
   sysop in order to mark an edit patrolled.
+$auto true if the edit is being marked as patrolled automatically
 
 'MarkPatrolledComplete': After an edit is marked patrolled.
 $rcid: ID of the revision marked as patrolled
 $user: user (object) who marked the edit patrolled
 $wcOnlySysopsCanPatrol: config setting indicating whether the user must be a
   sysop to patrol the edit.
+$auto true if the edit is being marked as patrolled automatically
 
 'MediaWikiPerformAction': Override MediaWiki::performAction(). Use this to do
 something completely different, after the basic globals have been set up, but
index bbf3de6..60196ab 100644 (file)
@@ -971,6 +971,8 @@ class PhpHttpRequest extends MWHttpRequest {
                        'ssl' => array(
                                'verify_peer' => $this->sslVerifyCert,
                                'SNI_enabled' => true,
+                               'ciphers' => 'HIGH:!SSLv2:!SSLv3:-ADH:-kDH:-kECDH:-DSS',
+                               'disable_compression' => true,
                        ),
                );
 
index 075b22b..eaaa374 100644 (file)
@@ -73,6 +73,7 @@
        "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-tags": "この版に適用する変更タグ。",
        "apihelp-edit-param-minor": "細部の編集",
        "apihelp-edit-param-notminor": "細部の編集ではない。",
        "apihelp-expandtemplates-param-title": "ページの名前です。",
        "apihelp-expandtemplates-param-text": "変換するウィキテキストです。",
        "apihelp-expandtemplates-paramvalue-prop-wikitext": "展開されたウィキテキスト。",
+       "apihelp-expandtemplates-paramvalue-prop-parsetree": "入力のXML構文解析ツリー。",
        "apihelp-expandtemplates-param-includecomments": "HTMLコメントを出力に含めるかどうか。",
+       "apihelp-expandtemplates-param-generatexml": "XMLの構文解析ツリーを生成します (replaced by $1prop=parsetree)",
        "apihelp-expandtemplates-example-simple": "ウィキテキスト <kbd><nowiki>{{Project:Sandbox}}</nowiki></kbd> を展開する。",
        "apihelp-feedcontributions-description": "利用者の投稿記録フィードを返します。",
        "apihelp-feedcontributions-param-feedformat": "フィードの形式。",
        "apihelp-feedrecentchanges-description": "最近の更新フィードを返します。",
        "apihelp-feedrecentchanges-param-feedformat": "フィードの形式。",
        "apihelp-feedrecentchanges-param-namespace": "この名前空間の結果のみに絞り込む。",
+       "apihelp-feedrecentchanges-param-invert": "選択されたものを除く、すべての名前空間。",
+       "apihelp-feedrecentchanges-param-associated": "関連する(トークまたはメイン)名前空間を含めます。",
        "apihelp-feedrecentchanges-param-limit": "返す結果の最大数。",
        "apihelp-feedrecentchanges-param-from": "これ以降の編集を表示する。",
        "apihelp-feedrecentchanges-param-hideminor": "細部の変更を隠す。",
        "apihelp-login-example-login": "ログイン",
        "apihelp-logout-description": "ログアウトしてセッションデータを消去します。",
        "apihelp-logout-example-logout": "現在の利用者をログアウトする。",
+       "apihelp-managetags-param-operation": "実行する操作:\n;create: 手動適用のための新たな変更タグを作成します。\n;delete: 変更タグをデータベースから削除し、そのタグが使用されているすべての版、最近の更新項目、記録項目からそれを除去します。\n;activate: 変更タグを有効化し、利用者がそのタグを手動で適用できるようにします。\n;deactivate: 変更タグを無効化し、利用者がそのタグを手動で適用することができないようにします。",
        "apihelp-managetags-param-tag": "作成、削除、有効化、または無効化するタグ。タグの作成の場合、そのタグは存在しないものでなければなりません。タグの削除の場合、そのタグが存在しなければなりません。タグの有効化の場合、そのタグが存在し、かつ拡張機能によって使用されていないものでなければなりません。タグの無効化の場合、そのタグが現在有効であって手動で定義されたものでなければなりません。",
        "apihelp-managetags-param-reason": "タグを作成、削除、有効化、または無効化する追加の理由。",
+       "apihelp-managetags-param-ignorewarnings": "操作中に発生したすべての警告を無視するかどうか。",
        "apihelp-managetags-example-create": "<kbd>spam</kbd> という名前のタグを <kbd>For use in edit patrolling</kbd> という理由で作成する",
        "apihelp-managetags-example-delete": "<kbd>vandlaism</kbd> タグを <kbd>Misspelt</kbd> という理由で削除する",
        "apihelp-managetags-example-activate": "<kbd>spam</kbd> という名前のタグを <kbd>For use in edit patrolling</kbd> という理由で有効化する",
        "apihelp-opensearch-param-limit": "返す結果の最大数。",
        "apihelp-opensearch-param-namespace": "検索する名前空間。",
        "apihelp-opensearch-param-suggest": "<var>[[mw:Manual:$wgEnableOpenSearchSuggest|$wgEnableOpenSearchSuggest]]</var> が false の場合、何もしません。",
+       "apihelp-opensearch-param-redirects": "転送を処理する方法:\n;return: 転送ページそのものを返します。\n;resolve: 転送先のページを返します。$1limit より返される結果が少なくなるかもしれません。\n歴史的な理由により、$1format=json では \"return\" が、他の形式では \"resolve\" が既定です。",
        "apihelp-opensearch-param-format": "出力する形式。",
        "apihelp-opensearch-example-te": "<kbd>Te</kbd> から始まるページを検索する。",
        "apihelp-options-example-reset": "すべて初期設定に戻す。",
        "apihelp-options-example-complex": "すべての個人設定を初期化し、<kbd>skin</kbd> および <kbd> nickname </kbd> を設定する。",
        "apihelp-paraminfo-description": "API モジュールに関する情報を取得します。",
        "apihelp-paraminfo-param-modules": "モジュールの名前のリスト (<var>action</var> および <var>format</var> パラメーターの値, または <kbd>main</kbd>). <kbd>+</kbd> を使用して下位モジュールを指定できます。",
+       "apihelp-paraminfo-param-helpformat": "ヘルプ文字列の形式。",
        "apihelp-paraminfo-example-1": "<kbd>[[Special:ApiHelp/parse|action=parse]]</kbd>, <kbd>[[Special:ApiHelp/jsonfm|format=jsonfm]]</kbd>, <kbd>[[Special:ApiHelp/query+allpages|action=query&list=allpages]]</kbd>, and <kbd>[[Special:ApiHelp/query+siteinfo|action=query&meta=siteinfo]]</kbd> に関する情報を表示する。",
+       "apihelp-parse-param-summary": "構文解析のための要約",
+       "apihelp-parse-param-prop": "どの情報を取得するか:",
+       "apihelp-parse-paramvalue-prop-text": "ウィキテキストの解析されたテキストを提供します。",
+       "apihelp-parse-paramvalue-prop-langlinks": "解析されたウィキテキストにおける言語リンクを提供します。",
+       "apihelp-parse-paramvalue-prop-categories": "構文解析されたウィキテキストのカテゴリを提供します。",
+       "apihelp-parse-paramvalue-prop-categorieshtml": "カテゴリのHTMLバージョンを提供します。",
+       "apihelp-parse-paramvalue-prop-links": "構文解析されたウィキテキスト内で内部リンクを提供します。",
+       "apihelp-parse-paramvalue-prop-templates": "構文解析されたウィキテキストでテンプレートを提供します。",
+       "apihelp-parse-paramvalue-prop-images": "構文解析されたウィキテキストの画像を提供します。",
+       "apihelp-parse-paramvalue-prop-externallinks": "構文解析されたウィキテキスト内で外部リンクを提供します。",
+       "apihelp-parse-paramvalue-prop-sections": "構文解析されたウィキテキスト内のセクションを提供します。",
+       "apihelp-parse-paramvalue-prop-revid": "構文解析されたページの版IDを追加します。",
+       "apihelp-parse-paramvalue-prop-displaytitle": "構文解析されたウィキテキストのタイトルを追加します。",
+       "apihelp-parse-paramvalue-prop-headitems": "ページの <code>&lt;head&gt;</code> の中に入れてアイテムを提供します。",
+       "apihelp-parse-paramvalue-prop-headhtml": "ページの解析された <code>&lt;head&gt;</code> を与える。",
+       "apihelp-parse-paramvalue-prop-jsconfigvars": "ページに固有のJavaScriptの設定変数を提供します。",
+       "apihelp-parse-paramvalue-prop-encodedjsconfigvars": "JSON文字列としてページに固有のJavaScriptの設定変数を提供します。",
+       "apihelp-parse-paramvalue-prop-indicators": "ページ上で使用されるページのステータスインジケータのHTMLを提供します。",
+       "apihelp-parse-paramvalue-prop-iwlinks": "構文解析されたウィキテキスト内でウィキ間リンクを提供します。",
+       "apihelp-parse-paramvalue-prop-wikitext": "構文解析されたオリジナルのwikiテキストを提供します。",
+       "apihelp-parse-paramvalue-prop-properties": "構文解析されたウィキテキスト内で定義されたさまざまなプロパティを提供します。",
+       "apihelp-parse-paramvalue-prop-parsetree": "版内容のXML構文解析ツリー (requires content model <code>$1</code>)",
+       "apihelp-parse-param-pst": "それを構文解析する前に、入力の上で事前保存の変換を実行してください。テキストで使用した場合のみ有効です。",
+       "apihelp-parse-param-effectivelanglinks": "エクステンションによって供給された言語リンクが含まれています (for use with <kbd>$1prop=langlinks</kbd>).",
+       "apihelp-parse-param-section": "この節番号の内容のみを構文解析します。\n\n<kbd>new</kbd> のとき、ページに新しい節を追加するかのように <var>$1text</var> と<var>$1sectiontitle</var> を解析します。\n\n<kbd>new</kbd> は <var>text</var> を指定したときのみ許可されます。",
+       "apihelp-parse-param-sectiontitle": "<var>section</var> が <kbd>new</kbd> のときの、新しい節の節名。\n\nページ編集とは異なり、これは <var>summary</var> が省略または空のときにはフォールバックしません。",
        "apihelp-parse-param-disablepp": "<var>$1disablelimitreport</var> を代わりに使用してください。",
+       "apihelp-parse-param-disabletidy": "パーサ出力に(例えば整頓)HTMLのクリーンアップを実行しないでください。",
        "apihelp-parse-param-preview": "プレビューモードでのパース",
        "apihelp-parse-example-page": "ページをパース",
        "apihelp-parse-example-text": "ウィキテキストをパース",
+       "apihelp-parse-example-summary": "要約を構文解析します。",
        "apihelp-patrol-description": "ページまたは版を巡回済みにします。",
        "apihelp-patrol-param-revid": "巡回済みにする版ID。",
        "apihelp-patrol-example-rcid": "最近の更新を巡回",
        "apihelp-protect-param-reason": "保護(解除)の理由。",
        "apihelp-protect-param-watch": "指定されると、保護(解除)するページが現在の利用者のウォッチリストに追加されます。",
        "apihelp-protect-example-protect": "ページを保護する。",
+       "apihelp-protect-example-unprotect2": "制限を設定されたページ保護を解除します。",
+       "apihelp-purge-description": "指定されたタイトルのキャッシュをパージします。\n\n利用者がログインしていない場合は、 POST リクエストが必要です。",
+       "apihelp-purge-param-forcelinkupdate": "リンクテーブルを更新します。",
        "apihelp-purge-example-simple": "ページ <kbd>Main Page</kbd> および <kbd>API</kbd> をパージする。",
        "apihelp-purge-example-generator": "標準名前空間にある最初の10ページをパージする。",
+       "apihelp-query-param-prop": "照会ページ用に、どのプロパティを取得するか。",
+       "apihelp-query-param-list": "どの一覧を取得するか。",
+       "apihelp-query-param-meta": "どのメタデータを取得するか。",
+       "apihelp-query-param-export": "指定されたまたは生成されたすべてのページの、現在の版を書き出します。",
+       "apihelp-query-param-iwurl": "タイトルがウィキ間リンクである場合に、完全なURLを取得するかどうか。",
        "apihelp-query-example-revisions": "[[Special:ApiHelp/query+siteinfo|サイト情報]]と<kbd>Main Page</kbd>の[[Special:ApiHelp/query+revisions|版]]を取得する。",
        "apihelp-query+allcategories-description": "すべてのカテゴリを一覧表示します。",
        "apihelp-query+allcategories-param-from": "列挙を開始するカテゴリ。",
        "apihelp-query+allcategories-param-to": "列挙を終了するカテゴリ。",
-       "apihelp-query+allcategories-param-prefix": "ã\81\93ã\81®å\80¤ã\81§å§\8bã\81¾ã\82\8bã\82¿ã\82¤ã\83\88ã\83«のカテゴリを検索します。",
+       "apihelp-query+allcategories-param-prefix": "ã\81\93ã\81®å\80¤ã\81§å§\8bã\81¾ã\82\8bã\83\9aã\83¼ã\82¸å\90\8dのカテゴリを検索します。",
        "apihelp-query+allcategories-param-dir": "並べ替えの方向。",
        "apihelp-query+allcategories-param-limit": "返すカテゴリの数。",
        "apihelp-query+allcategories-param-prop": "取得するプロパティ:",
+       "apihelp-query+allcategories-paramvalue-prop-size": "カテゴリ内のページ数を追加します。",
+       "apihelp-query+allcategories-paramvalue-prop-hidden": "<code>_&#95;HIDDENCAT_&#95;</code>に隠されているタグカテゴリ。",
+       "apihelp-query+allcategories-example-size": "カテゴリを、内包するページ数の情報と共に、一覧表示する。",
        "apihelp-query+allcategories-example-generator": "<kbd>List</kbd> で始まるカテゴリページに関する情報を取得する。",
+       "apihelp-query+alldeletedrevisions-description": "利用者によって削除された、または名前空間内の削除されたすべての版を一覧表示する。",
        "apihelp-query+alldeletedrevisions-paraminfo-nonuseronly": "<var>$3user</var> と同時に使用できません。",
        "apihelp-query+alldeletedrevisions-param-start": "列挙の始点となるタイムスタンプ。",
        "apihelp-query+alldeletedrevisions-param-end": "列挙の終点となるタイムスタンプ。",
        "apihelp-query+alldeletedrevisions-param-generatetitles": "ジェネレーターとして使用する場合、版IDではなくページ名を生成します。",
        "apihelp-query+alldeletedrevisions-example-user": "利用者 <kbd>Example</kbd> による削除された直近の50版を一覧表示する。",
        "apihelp-query+alldeletedrevisions-example-ns-main": "標準名前空間にある削除された最初の50版を一覧表示する。",
-       "apihelp-query+allfileusages-param-from": "列挙を開始するファイルのタイトル。",
-       "apihelp-query+allfileusages-param-to": "列挙を終了するファイルのタイトル。",
-       "apihelp-query+allfileusages-param-prefix": "この値で始まるすべてのファイルのタイトルを検索する。",
+       "apihelp-query+allfileusages-description": "存在しないものを含め、すべてのファイルの使用状況を一覧表示する。",
+       "apihelp-query+allfileusages-param-from": "列挙を開始するファイルのページ名。",
+       "apihelp-query+allfileusages-param-to": "列挙を終了するファイルのページ名。",
+       "apihelp-query+allfileusages-param-prefix": "この値で始まるページ名のすべてのファイルを検索する。",
+       "apihelp-query+allfileusages-param-prop": "どの情報を結果に含めるか:",
+       "apihelp-query+allfileusages-paramvalue-prop-ids": "使用しているページのページIDを追加します ($1unique とは同時に使用できません)。",
+       "apihelp-query+allfileusages-paramvalue-prop-title": "ファイルのページ名を追加します。",
+       "apihelp-query+allfileusages-example-unique": "ユニークなファイルを一覧表示する。",
+       "apihelp-query+allfileusages-example-generator": "ファイルを含むページを取得します。",
+       "apihelp-query+allimages-description": "順次すべての画像を列挙します。",
        "apihelp-query+allimages-param-sort": "並べ替えに使用するプロパティ。",
        "apihelp-query+allimages-param-from": "列挙の始点となる画像タイトル。$1sort=name を指定した場合のみ使用できます。",
-       "apihelp-query+allimages-param-to": "å\88\97æ\8c\99ã\81®çµ\82ç\82¹ã\81¨ã\81ªã\82\8bç\94»å\83\8fã\82¿ã\82¤ã\83\88ã\83«。$1sort=name を指定した場合のみ使用できます。",
+       "apihelp-query+allimages-param-to": "å\88\97æ\8c\99ã\81®çµ\82ç\82¹ã\81¨ã\81ªã\82\8bç\94»å\83\8fã\81®ã\83\9aã\83¼ã\82¸å\90\8d。$1sort=name を指定した場合のみ使用できます。",
        "apihelp-query+allimages-param-start": "列挙の始点となるタイムスタンプ。$1sort=timestamp を指定した場合のみ使用できます。",
        "apihelp-query+allimages-param-end": "列挙の終点となるタイムスタンプ。$1sort=timestamp を指定した場合のみ使用できます。",
        "apihelp-query+allimages-param-prefix": "この値で始まるすべての画像タイトルを検索する。$1sort=name を指定した場合のみ使用できます。",
        "apihelp-query+allimages-example-mimetypes": "MIMEタイプが <kbd>image/png</kbd> または <kbd>image/gif</kbd> であるファイルの一覧を表示する",
        "apihelp-query+allimages-example-generator": "<kbd>T</kbd> で始まる4つのファイルに関する情報を表示する。",
        "apihelp-query+alllinks-description": "与えられた名前空間へのすべてのリンクを一覧表示します。",
-       "apihelp-query+alllinks-param-from": "å\88\97æ\8c\99ã\82\92é\96\8bå§\8bã\81\99ã\82\8bã\83ªã\83³ã\82¯ã\81®ã\82¿ã\82¤ã\83\88ã\83«。",
+       "apihelp-query+alllinks-param-from": "å\88\97æ\8c\99ã\82\92é\96\8bå§\8bã\81\99ã\82\8bã\83ªã\83³ã\82¯ã\81®ã\83\9aã\83¼ã\82¸å\90\8d。",
        "apihelp-query+alllinks-param-to": "列挙を終了するリンクのページ名。",
        "apihelp-query+alllinks-param-prefix": "この値で始まるすべてのリンクされたページを検索する。",
+       "apihelp-query+alllinks-paramvalue-prop-title": "リンクのページ名を追加します。",
+       "apihelp-query+alllinks-param-namespace": "列挙する名前空間。",
        "apihelp-query+alllinks-example-B": "<kbd>B</kbd> で始まるリンクされたページ (存在しないページも含む)を、リンク元のページIDとともに表示する。",
+       "apihelp-query+alllinks-example-unique": "ユニークなリンクのタイトルを一覧。",
+       "apihelp-query+alllinks-example-generator": "リンクを含むページを取得します。",
+       "apihelp-query+allmessages-param-messages": "出力のためのメッセージ。 <kbd>*</kbd>(デフォルト)は、すべてのメッセージを意味します。",
        "apihelp-query+allmessages-param-prop": "取得するプロパティ:",
+       "apihelp-query+allmessages-param-nocontent": "設定した場合、出力内のメッセージの内容が含まれていません。",
        "apihelp-query+allmessages-param-args": "メッセージ中に展開される引数。",
        "apihelp-query+allmessages-param-filter": "この文字列を含んだ名前のメッセージのみを返す。",
        "apihelp-query+allmessages-param-customised": "変更された状態のメッセージのみを返す。",
        "apihelp-query+allpages-param-from": "列挙を開始するページ名。",
        "apihelp-query+allpages-param-to": "列挙を終了するページ名。",
        "apihelp-query+allpages-param-prefix": "この値で始まるすべてのページ名を検索します。",
+       "apihelp-query+allpages-param-namespace": "列挙する名前空間。",
        "apihelp-query+allpages-param-prtype": "保護されているページに絞り込む。",
        "apihelp-query+allpages-param-prlevel": "保護レベルで絞り込む ($1type= パラメーターと同時に使用しなければなりません)。",
        "apihelp-query+allpages-param-limit": "返すページの総数。",
        "apihelp-query+allpages-example-generator-revisions": "<kbd>Re</kbd> で始まる最初の非リダイレクトの2ページの内容を表示する。",
        "apihelp-query+allredirects-param-from": "列挙を開始するリダイレクトのページ名。",
        "apihelp-query+allredirects-param-to": "列挙を終了するリダイレクトのページ名。",
+       "apihelp-query+allredirects-param-namespace": "列挙する名前空間。",
        "apihelp-query+allrevisions-description": "すべての版を一覧表示する。",
        "apihelp-query+allrevisions-param-start": "列挙の始点となるタイムスタンプ。",
        "apihelp-query+allrevisions-param-end": "列挙の終点となるタイムスタンプ。",
        "apihelp-query+allrevisions-example-user": "利用者 <kbd>Example</kbd> による直近の50版を一覧表示する。",
        "apihelp-query+allrevisions-example-ns-main": "標準名前空間にある最初の50版を一覧表示する。",
        "apihelp-query+alltransclusions-param-prefix": "この値で始まるすべてのトランスクルードされているページを検索する。",
+       "apihelp-query+alltransclusions-param-namespace": "列挙する前空間。",
        "apihelp-query+alltransclusions-example-generator": "参照読み込みを含んでいるページを取得する。",
        "apihelp-query+allusers-description": "すべての登録利用者を一覧表示します。",
        "apihelp-query+allusers-param-from": "列挙を開始する利用者名。",
        "apihelp-query+backlinks-description": "与えられたページにリンクしているすべてのページを検索します。",
        "apihelp-query+backlinks-param-title": "検索するページ名。<var>$1pageid</var> とは同時に使用できません。",
        "apihelp-query+backlinks-param-pageid": "検索するページID。<var>$1title</var>とは同時に使用できません。",
+       "apihelp-query+backlinks-param-namespace": "列挙する名前空間。",
        "apihelp-query+backlinks-example-simple": "<kbd>Main page</kbd> へのリンクを表示する。",
        "apihelp-query+backlinks-example-generator": "<kbd>Main page</kbd> にリンクしているページの情報を取得する。",
        "apihelp-query+blocks-description": "ブロックされた利用者とIPアドレスを一覧表示します。",
        "apihelp-query+blocks-param-users": "検索対象の利用者のリスト (任意)。",
        "apihelp-query+blocks-param-limit": "一覧表示するブロックの最大数。",
        "apihelp-query+blocks-param-prop": "取得するプロパティ:",
+       "apihelp-query+blocks-paramvalue-prop-id": "ブロックのIDを追加します。",
+       "apihelp-query+blocks-paramvalue-prop-user": "ブロックされた利用者の利用者名を追加します。",
+       "apihelp-query+blocks-paramvalue-prop-userid": "ブロックされた利用者の利用者IDを追加します。",
+       "apihelp-query+blocks-paramvalue-prop-by": "ブロック実行者の利用者名を追加します。",
+       "apihelp-query+blocks-paramvalue-prop-byid": "ブロック実行者の利用者IDを追加します。",
+       "apihelp-query+blocks-paramvalue-prop-timestamp": "ブロックが与えられたときのタイムスタンプを追加します。",
+       "apihelp-query+blocks-paramvalue-prop-expiry": "ブロックの有効期限が切れたときのタイムスタンプを追加します。",
+       "apihelp-query+blocks-paramvalue-prop-reason": "ブロックに指定された理由を追加します。",
+       "apihelp-query+blocks-paramvalue-prop-range": "ブロックの影響を受けたIPアドレスの範囲を追加します。",
+       "apihelp-query+blocks-paramvalue-prop-flags": "(autoblock, anononly, などとの) ban をタグ付けします。",
+       "apihelp-query+blocks-param-show": "これらの基準を満たす項目のみを表示します。\nたとえば、IPアドレスの無期限ブロックのみを表示するには、<kbd>$1show=ip|!temp</kbd> を設定します。",
        "apihelp-query+blocks-example-simple": "ブロックを一覧表示する。",
        "apihelp-query+blocks-example-users": "利用者<kbd>Alice</kbd> および <kbd>Bob</kbd> のブロックを一覧表示する。",
+       "apihelp-query+categories-param-prop": "各カテゴリについて取得する追加のプロパティ:",
+       "apihelp-query+categories-paramvalue-prop-timestamp": "カテゴリが追加されたときのタイムスタンプを追加します。",
+       "apihelp-query+categories-paramvalue-prop-hidden": "<code>_&#95;HIDDENCAT_&#95;</code>で隠されているカテゴリに印を付ける。",
+       "apihelp-query+categories-param-show": "どの種類のカテゴリを表示するか。",
        "apihelp-query+categories-param-limit": "返すカテゴリの数。",
        "apihelp-query+categories-example-simple": "ページ <kbd>Albert Einstein</kbd> が属しているカテゴリの一覧を取得する。",
        "apihelp-query+categories-example-generator": "ページ <kbd>Albert Einstein</kbd> で使われているすべてのカテゴリに関する情報を取得する。",
        "apihelp-query+categorymembers-description": "与えられたカテゴリ内のすべてのページを一覧表示します。",
        "apihelp-query+categorymembers-param-title": "一覧表示するカテゴリ (必須)。<kbd>{{ns:category}}:</kbd> 接頭辞を含まなければなりません。<var>$1pageid</var> とは同時に使用できません。",
        "apihelp-query+categorymembers-param-pageid": "一覧表示するカテゴリのページID. <var>$1title</var> とは同時に使用できません。",
+       "apihelp-query+categorymembers-paramvalue-prop-ids": "ページIDを追加します。",
+       "apihelp-query+categorymembers-paramvalue-prop-title": "ページ名と名前空間IDを追加します。",
+       "apihelp-query+categorymembers-paramvalue-prop-sortkey": "カテゴリでのソートに使用するソートキーを追加します(16進数文字列)。",
+       "apihelp-query+categorymembers-paramvalue-prop-timestamp": "ページが含まれていたときのタイムスタンプを追加します。",
        "apihelp-query+categorymembers-param-limit": "返すページの最大数。",
        "apihelp-query+categorymembers-param-sort": "並べ替えに使用するプロパティ。",
        "apihelp-query+categorymembers-param-start": "列挙の始点となるタイムスタンプ。<kbd>$1sort=timestamp</kbd>を指定した場合のみ使用できます。",
        "apihelp-query+contributors-description": "ページへのログインした投稿者の一覧と匿名投稿者の数を取得します。",
        "apihelp-query+contributors-param-limit": "返す投稿者の数。",
        "apihelp-query+contributors-example-simple": "<kbd>Main Page</kbd> への投稿者を表示する。",
+       "apihelp-query+deletedrevisions-param-start": "列挙の始点となるタイムスタンプ。版IDの一覧を処理するときには無視されます。",
+       "apihelp-query+deletedrevisions-param-end": "列挙の終点となるタイムスタンプ。版IDの一覧を処理するときには無視されます。",
        "apihelp-query+deletedrevisions-param-tag": "このタグが付与された版のみ表示します。",
        "apihelp-query+deletedrevisions-param-user": "この利用者による版のみを一覧表示。",
        "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-param-start": "列挙の始点となるタイムスタンプ。",
+       "apihelp-query+deletedrevs-param-end": "列挙の終点となるタイムスタンプ。",
        "apihelp-query+deletedrevs-param-from": "列挙の始点となるページ名。",
        "apihelp-query+deletedrevs-param-to": "列挙の終点となるページ名。",
+       "apihelp-query+deletedrevs-param-excludeuser": "この利用者による版を一覧表示しない。",
+       "apihelp-query+deletedrevs-param-namespace": "この名前空間に含まれるページのみを一覧表示します。",
+       "apihelp-query+deletedrevs-param-limit": "一覧表示する版の最大量。",
+       "apihelp-query+deletedrevs-example-mode1": "ページ <kbd>Main Page</kbd> および <kbd>Talk:Main Page</kbd> の最後に削除された版を内容と共に一覧表示する(モード 1)。",
+       "apihelp-query+deletedrevs-example-mode2": "<kbd>Bob</kbd> による、削除された最後の50投稿を一覧表示する(モード 2)。",
+       "apihelp-query+deletedrevs-example-mode3-main": "標準名前空間にある削除された最初の50版を一覧表示する(モード 3)。",
+       "apihelp-query+deletedrevs-example-mode3-talk": "{{ns:talk}}名前空間にある削除された最初の50版を一覧表示する(モード 3)。",
        "apihelp-query+disabled-description": "このクエリ モジュールは無効化されています。",
        "apihelp-query+embeddedin-param-title": "検索するページ名。$1pageid とは同時に使用できません。",
        "apihelp-query+embeddedin-param-pageid": "検索するページID. $1titleとは同時に使用できません。",
+       "apihelp-query+embeddedin-param-namespace": "列挙する名前空間。",
        "apihelp-query+embeddedin-example-simple": "<kbd>Template:Stub</kbd> を参照読み込みしているページを表示する。",
        "apihelp-query+embeddedin-example-generator": "<kbd>Template:Stub</kbd> をトランスクルードしているページに関する情報を取得する。",
        "apihelp-query+extlinks-description": "与えられたページにあるすべての外部URL (インターウィキを除く) を返します。",
        "apihelp-query+extlinks-param-protocol": "URLのプロトコル。このパラメータが空であり、かつ<var>$1query</var> が設定されている場合, protocol は <kbd>http</kbd> となります。すべての外部リンクを一覧表示するためにはこのパラメータと <var>$1query</var> の両方を空にしてください。",
        "apihelp-query+extlinks-example-simple": "<kbd>Main Page</kbd> の外部リンクの一覧を取得する。",
        "apihelp-query+exturlusage-description": "与えられたURLを含むページを一覧表示します。",
+       "apihelp-query+exturlusage-paramvalue-prop-ids": "ページのIDを追加します。",
+       "apihelp-query+exturlusage-paramvalue-prop-title": "ページ名と名前空間IDを追加します。",
+       "apihelp-query+exturlusage-paramvalue-prop-url": "ページ内で使用されているURLを追加します。",
+       "apihelp-query+exturlusage-param-namespace": "列挙するページ名前空間。",
        "apihelp-query+exturlusage-example-simple": "<kbd>http://www.mediawiki.org</kbd> にリンクしているページを一覧表示する。",
+       "apihelp-query+filearchive-description": "削除されたファイルをすべて順に列挙します。",
+       "apihelp-query+filearchive-param-from": "列挙の始点となる画像のページ名。",
+       "apihelp-query+filearchive-param-to": "列挙の終点となる画像のページ名。",
+       "apihelp-query+filearchive-param-prop": "どの画像情報を取得するか:",
+       "apihelp-query+filearchive-paramvalue-prop-timestamp": "バージョンがアップロードされたタイムスタンプを追加します。",
+       "apihelp-query+filearchive-paramvalue-prop-user": "画像のバージョンをアップロードした利用者を追加します。",
+       "apihelp-query+filearchive-paramvalue-prop-size": "バイト単位での画像や高さ、幅、ページ数のサイズを追加します(該当する場合)。",
+       "apihelp-query+filearchive-paramvalue-prop-mime": "画像の MIME を追加します。",
+       "apihelp-query+filearchive-paramvalue-prop-mediatype": "画像のメディア・タイプを追加します。",
+       "apihelp-query+filearchive-paramvalue-prop-metadata": "画像のバージョンの Exif メタデータを一覧表示します。",
+       "apihelp-query+filearchive-paramvalue-prop-bitdepth": "バージョンのビット深度を追加します。",
+       "apihelp-query+filearchive-paramvalue-prop-archivename": "非最新バージョンのアーカイブバージョンのファイル名を追加します。",
        "apihelp-query+filearchive-example-simple": "削除されたファイルの一覧を表示する。",
+       "apihelp-query+filerepoinfo-example-simple": "ファイルリポジトリについての情報を取得します。",
        "apihelp-query+fileusage-param-prop": "取得するプロパティ:",
+       "apihelp-query+fileusage-paramvalue-prop-pageid": "各ページのページID。",
+       "apihelp-query+fileusage-paramvalue-prop-title": "各ページのページ名。",
        "apihelp-query+fileusage-example-simple": "[[:File:Example.jpg]] を使用しているページの一覧を取得する。",
        "apihelp-query+fileusage-example-generator": "[[:File:Example.jpg]] を使用しているページの情報を取得する。",
        "apihelp-query+imageinfo-param-prop": "取得するファイル情報:",
+       "apihelp-query+imageinfo-paramvalue-prop-url": "ファイルと説明ページへのURLを提供します。",
+       "apihelp-query+imageinfo-paramvalue-prop-size": "バイト単位でファイルや高さ、幅、ページ数のサイズを追加します(該当する場合)。",
+       "apihelp-query+imageinfo-paramvalue-prop-mime": "ファイルのMIMEタイプを追加します。",
+       "apihelp-query+imageinfo-paramvalue-prop-thumbmime": "画像サムネイルのMIMEタイプを追加します(url と $1urlwidth パラメータが必須です)。",
+       "apihelp-query+imageinfo-paramvalue-prop-mediatype": "ファイルのメディアタイプを追加します。",
+       "apihelp-query+imageinfo-paramvalue-prop-metadata": "ファイルのバージョンの Exif メタデータを一覧表示します。",
+       "apihelp-query+imageinfo-paramvalue-prop-bitdepth": "バージョンのビット深度を追加します。",
        "apihelp-query+imageinfo-param-start": "一覧表示の始点となるタイムスタンプ。",
        "apihelp-query+imageinfo-param-end": "一覧表示の終点となるタイムスタンプ。",
        "apihelp-query+imageinfo-example-simple": "[[:File:Albert Einstein Head.jpg]] の現在のバージョンに関する情報を取得する。",
        "apihelp-query+images-example-generator": "[[Main Page]] で使用されているファイルに関する情報を取得する。",
        "apihelp-query+imageusage-param-title": "検索するページ名。$1pageid とは同時に使用できません。",
        "apihelp-query+imageusage-param-pageid": "検索するページID. $1titleとは同時に使用できません。",
+       "apihelp-query+imageusage-param-namespace": "列挙する名前空間。",
        "apihelp-query+imageusage-example-simple": "[[:File:Albert Einstein Head.jpg]] を使用しているページを表示する。",
        "apihelp-query+imageusage-example-generator": "[[:File:Albert Einstein Head.jpg]] を使用しているページに関する情報を取得する。",
        "apihelp-query+info-description": "ページの基本的な情報を取得します。",
        "apihelp-query+info-paramvalue-prop-protection": "それぞれのページの保護レベルを一覧表示する。",
        "apihelp-query+info-example-simple": "<kbd>Main Page</kbd> に関する情報を取得する。",
        "apihelp-query+iwbacklinks-param-prop": "取得するプロパティ:",
+       "apihelp-query+iwbacklinks-paramvalue-prop-iwtitle": "ウィキ間リンクのページ名を追加します。",
        "apihelp-query+iwbacklinks-example-simple": "[[wikibooks:Test]] へリンクしているページを取得する。",
        "apihelp-query+iwbacklinks-example-generator": "[[wikibooks:Test]] へリンクしているページの情報を取得する。",
+       "apihelp-query+iwlinks-paramvalue-prop-url": "完全なURLを追加します。",
        "apihelp-query+iwlinks-param-limit": "返すウィキ間リンクの数。",
        "apihelp-query+iwlinks-param-prefix": "この接頭辞のウィキ間リンクのみを返す。",
        "apihelp-query+iwlinks-param-title": "検索するウィキ間リンク。<var>$1</var> と同時に使用しなければなりません。",
        "apihelp-query+langbacklinks-param-title": "検索する言語間リンク。$1lang と同時に使用しなければなりません。",
        "apihelp-query+langbacklinks-param-limit": "返すページの総数。",
        "apihelp-query+langbacklinks-param-prop": "取得するプロパティ:",
+       "apihelp-query+langbacklinks-paramvalue-prop-lltitle": "言語間リンクのページ名を追加します。",
        "apihelp-query+langbacklinks-example-simple": "[[:fr:Test]] へリンクしているページを取得する。",
        "apihelp-query+langbacklinks-example-generator": "[[:fr:Test]] へリンクしているページの情報を取得する。",
        "apihelp-query+langlinks-param-limit": "返す言語間リンクの数。",
        "apihelp-query+langlinks-param-url": "完全なURLを取得するかどうか (<var>$1prop</var>とは同時に使用できません).",
+       "apihelp-query+langlinks-paramvalue-prop-url": "完全なURLを追加します。",
+       "apihelp-query+langlinks-paramvalue-prop-autonym": "ネイティブ言語名を追加します。",
        "apihelp-query+langlinks-param-lang": "この言語コードの言語間リンクのみを返す。",
        "apihelp-query+langlinks-param-title": "検索するリンク。<var>$1lang</var>と同時に使用しなければなりません。",
        "apihelp-query+langlinks-example-simple": "<kbd>Main Page</kbd> にある言語間リンクを取得する。",
        "apihelp-query+links-example-generator": "<kbd>Main Page</kbd> からリンクされているページに関する情報を取得する。",
        "apihelp-query+links-example-namespaces": "<kbd>Main Page</kbd> からの {{ns:user}} および {{ns:template}} 名前空間へのリンクを取得する。",
        "apihelp-query+linkshere-param-prop": "取得するプロパティ:",
+       "apihelp-query+linkshere-paramvalue-prop-pageid": "各ページのページID。",
+       "apihelp-query+linkshere-paramvalue-prop-title": "各ページのページ名。",
        "apihelp-query+linkshere-example-simple": "[[Main Page]] にリンクしているページの一覧を取得する。",
        "apihelp-query+linkshere-example-generator": "<kbd>[[Main Page]]<kbd> にリンクしているページの情報を取得する。",
        "apihelp-query+logevents-param-prop": "取得するプロパティ:",
+       "apihelp-query+logevents-paramvalue-prop-ids": "記録イベントのIDを追加します。",
+       "apihelp-query+logevents-paramvalue-prop-title": "記録イベントにページ名を追加します。",
+       "apihelp-query+logevents-paramvalue-prop-type": "記録イベントのタイプを追加します。",
+       "apihelp-query+logevents-paramvalue-prop-comment": "記録イベントのコメントを追加します。",
+       "apihelp-query+logevents-paramvalue-prop-parsedcomment": "記録イベントの構文解析されたコメントを追加します。",
+       "apihelp-query+logevents-paramvalue-prop-details": "記録イベントに関する追加の詳細を一覧表示します。",
+       "apihelp-query+logevents-paramvalue-prop-tags": "記録イベントのタグを一覧表示します。",
+       "apihelp-query+logevents-param-type": "このタイプの記録項目のみに絞り込む。",
        "apihelp-query+logevents-param-start": "列挙の始点となるタイムスタンプ。",
        "apihelp-query+logevents-param-end": "列挙の終点となるタイムスタンプ。",
        "apihelp-query+logevents-param-user": "与えられた利用者による記録項目に絞り込む。",
        "apihelp-query+pageprops-description": "ページコンテンツで定義されている様々なページのプロパティを取得。",
        "apihelp-query+pageprops-example-simple": "ページ <kbd>Main Page</kbd> および <kbd>MeiaWiki</kbd> のプロパティを取得する。",
        "apihelp-query+pageswithprop-description": "与えられたページプロパティが使用されているすべてのページを一覧表示します。",
+       "apihelp-query+pageswithprop-paramvalue-prop-ids": "ページIDを追加します。",
+       "apihelp-query+pageswithprop-paramvalue-prop-title": "ページ名と名前空間IDを追加します。",
        "apihelp-query+pageswithprop-paramvalue-prop-value": "ページプロパティの値を追加。",
        "apihelp-query+pageswithprop-param-limit": "返すページの最大数。",
        "apihelp-query+pageswithprop-example-simple": "<code>&#123;&#123;DISPLAYTITLE:&#125;&#125;</code> を使用している最初の10ページを一覧表示する。",
        "apihelp-query+protectedtitles-param-start": "一覧表示の始点となる保護タイムスタンプ。",
        "apihelp-query+protectedtitles-param-end": "一覧表示の終点となる保護タイムスタンプ。",
        "apihelp-query+protectedtitles-param-prop": "取得するプロパティ:",
+       "apihelp-query+protectedtitles-paramvalue-prop-level": "保護レベルを追加します。",
        "apihelp-query+protectedtitles-example-simple": "保護されているページを一覧表示する。",
        "apihelp-query+protectedtitles-example-generator": "標準名前空間にある保護されたページへのリンクを検索する。",
        "apihelp-query+querypage-param-page": "特別ページの名前です。これは大文字小文字を区別することに注意。",
        "apihelp-query+recentchanges-param-user": "この利用者による変更のみを一覧表示する。",
        "apihelp-query+recentchanges-param-excludeuser": "この利用者による変更を一覧表示しない。",
        "apihelp-query+recentchanges-param-tag": "このタグが付与された版のみ一覧表示する。",
+       "apihelp-query+recentchanges-paramvalue-prop-parsedcomment": "構文解析された編集コメントを追加します。",
+       "apihelp-query+recentchanges-paramvalue-prop-flags": "編集のフラグを追加します。",
+       "apihelp-query+recentchanges-paramvalue-prop-timestamp": "編集のタイムスタンプを追加します。",
+       "apihelp-query+recentchanges-paramvalue-prop-title": "編集のページ名を追加します。",
+       "apihelp-query+recentchanges-paramvalue-prop-ids": "ページID、最近の変更IDと新旧の版IDを追加します。",
+       "apihelp-query+recentchanges-paramvalue-prop-sizes": "バイト単位の新旧のページの長さを追加します。",
+       "apihelp-query+recentchanges-paramvalue-prop-redirect": "編集されたページが転送ページである場合、印を付けます。",
+       "apihelp-query+recentchanges-paramvalue-prop-patrolled": "巡回可能な編集について、巡回済みかどうか印を付けます。",
+       "apihelp-query+recentchanges-paramvalue-prop-loginfo": "記録項目に記録の情報 (記録ID,  記録タイプなど) を追加します。",
+       "apihelp-query+recentchanges-param-token": "代わりに <kbd>[[Special:ApiHelp/query+tokens|action=query&meta=tokens]]</kbd> を使用してください。",
        "apihelp-query+recentchanges-param-limit": "返す変更の総数。",
        "apihelp-query+recentchanges-param-toponly": "最新の版である変更のみを一覧表示する。",
        "apihelp-query+recentchanges-param-generaterevisions": "ジェネレータとして使用される場合、版IDではなくページ名を生成します。関連する版IDのない最近の変更の項目 (例えば、ほとんどの記録項目) は何も生成しません。",
        "apihelp-query+recentchanges-example-simple": "最近の更新を一覧表示する。",
        "apihelp-query+redirects-description": "ページへのすべての転送を返します。",
        "apihelp-query+redirects-param-prop": "取得するプロパティ:",
+       "apihelp-query+redirects-paramvalue-prop-pageid": "各リダイレクトのページID。",
+       "apihelp-query+redirects-paramvalue-prop-title": "各リダイレクトのページ名。",
        "apihelp-query+redirects-param-limit": "返す転送の数。",
        "apihelp-query+redirects-example-simple": "[[Main Page]] への転送の一覧を取得する。",
        "apihelp-query+redirects-example-generator": "[[Main Page]] へのすべての転送ページに関する情報を取得する。",
        "apihelp-query+revisions-example-first5-after": "<kbd>Main Page</kbd> の 2006-05-01 以降の最初の5版を取得する。",
        "apihelp-query+revisions-example-first5-not-localhost": "<kbd>Main Page</kbd> の匿名利用者 <kbd>127.0.0.1</kbd> 以外による最初の5版を取得する。",
        "apihelp-query+revisions-example-first5-user": "<kbd>Main Page</kbd> の <kbd>MediaWiki default</kbd> による最初の5版を取得する。",
+       "apihelp-query+revisions+base-paramvalue-prop-ids": "版のID。",
+       "apihelp-query+revisions+base-paramvalue-prop-timestamp": "版のタイムスタンプ。",
+       "apihelp-query+revisions+base-paramvalue-prop-user": "その版を作成した利用者。",
+       "apihelp-query+revisions+base-paramvalue-prop-userid": "その版の作成者の利用者ID。",
+       "apihelp-query+revisions+base-paramvalue-prop-size": "その版の長さ (バイト) 。",
+       "apihelp-query+revisions+base-paramvalue-prop-comment": "その版の利用者によるコメント。",
+       "apihelp-query+revisions+base-paramvalue-prop-parsedcomment": "その版の利用者による、構文解析されたコメント。",
+       "apihelp-query+revisions+base-paramvalue-prop-content": "その版のテキスト。",
+       "apihelp-query+revisions+base-paramvalue-prop-tags": "その版のタグ。",
        "apihelp-query+search-description": "全文検索を行います。",
        "apihelp-query+search-param-search": "この値を含むページ名または本文を検索します。Wikiの検索バックエンド実装に応じて、あなたは特別な検索機能を呼び出すための文字列を検索することができます。",
        "apihelp-query+search-param-namespace": "この名前空間内のみを検索します。",
        "apihelp-query+search-param-what": "実行する検索の種類です。",
        "apihelp-query+search-param-prop": "返すプロパティ:",
+       "apihelp-query+search-paramvalue-prop-size": "バイト単位のページのサイズを追加します。",
+       "apihelp-query+search-paramvalue-prop-wordcount": "ページのワード数を追加します。",
+       "apihelp-query+search-paramvalue-prop-timestamp": "ページが最後に編集されたときのタイムスタンプを追加します。",
+       "apihelp-query+search-paramvalue-prop-sectiontitle": "合致するタイトルを追加します。",
        "apihelp-query+search-param-limit": "返すページの総数です。",
        "apihelp-query+search-example-simple": "<kbd>meaning</kbd> を検索する。",
        "apihelp-query+search-example-generator": "<kbd>meaning</kbd> の検索で返されたページのページ情報を取得する。",
+       "apihelp-query+siteinfo-param-prop": "どの情報を取得するか:",
+       "apihelp-query+siteinfo-paramvalue-prop-general": "システム全体の情報。",
+       "apihelp-query+siteinfo-paramvalue-prop-specialpagealiases": "特別ページの別名の一覧。",
+       "apihelp-query+siteinfo-paramvalue-prop-magicwords": "マジックワードとこれらの別名の一覧。",
        "apihelp-query+siteinfo-example-simple": "サイト情報を取得する。",
        "apihelp-query+tags-description": "変更タグを一覧表示します。",
        "apihelp-query+tags-param-limit": "一覧表示するタグの最大数。",
        "apihelp-query+tags-param-prop": "取得するプロパティ:",
+       "apihelp-query+tags-paramvalue-prop-name": "タグの名前を追加。",
+       "apihelp-query+tags-paramvalue-prop-displayname": "タグのためのシステムメッセージを追加します。",
+       "apihelp-query+tags-paramvalue-prop-description": "タグの説明を追加します。",
+       "apihelp-query+tags-paramvalue-prop-hitcount": "版の記録項目の数と、このタグを持っている記録項目の数を、追加します。",
        "apihelp-query+tags-example-simple": "利用可能なタグを一覧表示する。",
        "apihelp-query+templates-description": "与えられたページでトランスクルードされているすべてのページを返します。",
        "apihelp-query+templates-param-namespace": "この名前空間のテンプレートのみ表示する。",
        "apihelp-query+tokens-example-types": "ウォッチトークンおよび巡回トークンを取得する。",
        "apihelp-query+transcludedin-description": "与えられたページをトランスクルードしているすべてのページを検索します。",
        "apihelp-query+transcludedin-param-prop": "取得するプロパティ:",
+       "apihelp-query+transcludedin-paramvalue-prop-pageid": "各ページのページID。",
+       "apihelp-query+transcludedin-paramvalue-prop-title": "各ページのページ名。",
        "apihelp-query+transcludedin-example-simple": "<kbd>Main Page</kbd> をトランスクルードしているページの一覧を取得する。",
        "apihelp-query+transcludedin-example-generator": "<kbd>Main Page</kbd> をトランスクルードしているページに関する情報を取得する。",
        "apihelp-query+usercontribs-description": "利用者によるすべての編集を取得します。",
        "apihelp-query+usercontribs-param-user": "投稿記録を取得する利用者。",
        "apihelp-query+usercontribs-param-userprefix": "この値で始まる名前のすべての利用者の投稿記録を取得します。$1user をオーバーライドします。",
        "apihelp-query+usercontribs-param-namespace": "この名前空間への投稿記録のみを一覧表示する。",
+       "apihelp-query+usercontribs-paramvalue-prop-ids": "ページIDと版IDを追加します。",
+       "apihelp-query+usercontribs-paramvalue-prop-title": "ページ名と名前空間IDを追加します。",
+       "apihelp-query+usercontribs-paramvalue-prop-timestamp": "編集のタイムスタンプを追加します。",
+       "apihelp-query+usercontribs-paramvalue-prop-comment": "編集のコメントを追加します。",
+       "apihelp-query+usercontribs-paramvalue-prop-parsedcomment": "構文解析された編集コメントを追加します。",
+       "apihelp-query+usercontribs-paramvalue-prop-size": "編集の新しいサイズを追加します。",
        "apihelp-query+usercontribs-param-tag": "このタグが付与された版のみを一覧表示する。",
        "apihelp-query+usercontribs-param-toponly": "最新の版である変更のみを一覧表示する。",
        "apihelp-query+usercontribs-example-user": "利用者 <kbd>Example</kbd> の投稿記録を表示する。",
+       "apihelp-query+userinfo-paramvalue-prop-realname": "利用者の本名を追加します。",
+       "apihelp-query+userinfo-example-simple": "現在の利用者に関する情報を取得します。",
+       "apihelp-query+userinfo-example-data": "現在の利用者に関する追加情報を取得します。",
+       "apihelp-query+users-description": "利用者のリストについての情報を取得します。",
+       "apihelp-query+users-param-prop": "どの情報を結果に含めるか:",
        "apihelp-query+users-param-token": "代わりに <kbd>[[Special:ApiHelp/query+tokens|action=query&meta=tokens]]</kbd> を使用してください。",
        "apihelp-query+users-example-simple": "利用者 <kbd>Example</kbd> の情報を返す。",
        "apihelp-query+watchlist-description": "現在の利用者のウォッチリストにあるページへの最近の更新を取得します。",
        "apihelp-query+watchlist-param-user": "この利用者による変更のみを一覧表示する。",
        "apihelp-query+watchlist-param-excludeuser": "この利用者による変更を一覧表示しない。",
        "apihelp-query+watchlist-param-prop": "追加で取得するプロパティ:",
+       "apihelp-query+watchlist-paramvalue-prop-ids": "版IDとページIDを追加します。",
+       "apihelp-query+watchlist-paramvalue-prop-title": "ページ名を追加します。",
+       "apihelp-query+watchlist-paramvalue-prop-comment": "編集のコメントを追加します。",
+       "apihelp-query+watchlist-paramvalue-prop-parsedcomment": "編集の構文解析されたコメントを追加します。",
+       "apihelp-query+watchlist-paramvalue-prop-timestamp": "編集のタイムスタンプを追加します。",
+       "apihelp-query+watchlist-paramvalue-prop-loginfo": "適切な場合にログ情報を追加します。",
+       "apihelp-query+watchlist-example-simple": "現在の利用者のウォッチリストにある最近変更されたページの最新版を一覧表示します。",
        "apihelp-query+watchlist-example-generator": "現在の利用者のウォッチリスト上の最近更新されたページに関する情報を取得する。",
        "apihelp-query+watchlistraw-description": "現在の利用者のウォッチリストにあるすべてのページを取得します。",
        "apihelp-query+watchlistraw-param-namespace": "この名前空間に含まれるページのみを一覧表示します。",
        "apihelp-rollback-param-title": "巻き戻すページ名です。<var>$1pageid</var> とは同時に使用できません。",
        "apihelp-rollback-param-pageid": "巻き戻すページのページIDです。<var>$1title</var> とは同時に使用できません。",
        "apihelp-rollback-example-simple": "利用者 <kbd>Example</kbd> による <kbd>Main Page</kbd> への最後の一連の編集を巻き戻す。",
+       "apihelp-stashedit-param-title": "編集されているページのページ名。",
        "apihelp-tag-param-reason": "変更の理由。",
        "apihelp-tag-example-log": "<kbd>Wrongly applied</kbd> という理由で <kbd>spam</kbd> タグを 記録項目ID 123 から取り除く",
        "apihelp-tokens-param-type": "リクエストするトークンの種類。",
        "apihelp-json-description": "データを JSON 形式で出力します。",
        "apihelp-json-param-callback": "指定すると、指定した関数呼び出しで出力をラップします。安全のため、利用者固有のデータはすべて制限されます。",
        "apihelp-json-param-utf8": "指定すると、大部分の非 ASCII 文字 (すべてではありません) を、16 進のエスケープ シーケンスに置換する代わりに UTF-8 として符号化します。<var>formatversion</var> が <kbd>1</kbd> でない場合は既定です。",
+       "apihelp-json-param-ascii": "指定すると、すべての非ASCII文字を16進エスケープにエンコードします。<var>formatversion</var> が <kbd>1</kbd> の場合既定です。",
        "apihelp-jsonfm-description": "データを JSON 形式 (HTML に埋め込んだ形式) で出力します。",
        "apihelp-none-description": "何も出力しません。",
        "apihelp-php-description": "データを PHP のシリアル化した形式で出力します。",
index 6ae334b..c8f8ac4 100644 (file)
@@ -14,7 +14,7 @@
        "apihelp-main-param-requestid": "Jehde Aanjahb vun heh weed widder med ußjejovve. Esuh kam_mer einzel Affrohre ussenein hallde.",
        "apihelp-main-param-servedby": "Donn däm ẞööver, dä et jedonn hät, singe Nahme med ußjävve.",
        "apihelp-main-param-curtimestamp": "Donn de aktoälle Zigg un et Dattum med ußjävve.",
-       "apihelp-main-param-uselang": "De schprohch för et Övversäzze vun Täxte un Nohreeschte. En Leß met de Köözelle kam_mer vun dä Sigg <kbd lang=\"en\" xml:lang=\"en\" dir=\"ltr\">[[Special:ApiHelp/query+siteinfo|action=query&meta=siteinfo]]</kbd> holle, met <kbd lang=\"en\" xml:lang=\"en\" dir=\"ltr\">siprop=languages</kbd>, udder jiff <kbd lang=\"en\" xml:lang=\"en\" dir=\"ltr\">user</kbd> aan, öm dem aktoälle Metmaacher sing eetzde Schprohch ze krijje, udder nemm <kbd lang=\"en\" xml:lang=\"en\" dir=\"ltr\">content</kbd> öm heh dämm Wikki singe Ennhald sing Schprohch ze krijje.",
+       "apihelp-main-param-uselang": "De Schprohch för et Övversäzze vun Täxte un Nohreeschte. <kbd lang=\"en\" xml:lang=\"en\" dir=\"ltr\">[[Special:ApiHelp/query+siteinfo|action=query&meta=siteinfo]]</kbd> holle, met <kbd lang=\"en\" xml:lang=\"en\" dir=\"ltr\">siprop=languages</kbd> jidd en Leß met de Köözelle för Schprohche uß, udder jiff <kbd lang=\"en\" xml:lang=\"en\" dir=\"ltr\">user</kbd> aan, öm dem aktoälle Metmaacher sing eetzde Schprohch ze krijje, udder nemm <kbd lang=\"en\" xml:lang=\"en\" dir=\"ltr\">content</kbd> öm heh dämm Wikki singe Ennhald sing Schprohch ze krijje.",
        "apihelp-block-description": "Ene Metmaacher schpärre.",
        "apihelp-block-param-user": "Däm Nahme vun däm Metmaacher, de <i lang=\"en\" xml:lang=\"en\" title=\"Internet Protocol\">IP</i>-Addräß udder dä Berätt, dä De Schpärre wells.",
        "apihelp-block-param-expiry": "De Zigg bes zom Ußloufe. Kam_mer als en Door aanjävve, esu wi „<kbd lang=\"en\" xml:lang=\"en\" dir=\"ltr\">5 months</kbd>“ udder „<kbd lang=\"en\" xml:lang=\"en\" dir=\"ltr\">2 weeks</kbd>“ un kam_mer als ene Zigg_Pongk aanjävve, esu wi „<kbd lang=\"en\" xml:lang=\"en\" dir=\"ltr\">2014-09-18T12:34:56Z</kbd>“, un wam_mer „<kbd lang=\"en\" xml:lang=\"en\" dir=\"ltr\">infinite</kbd>“, „<kbd lang=\"en\" xml:lang=\"en\" dir=\"ltr\">indefinite</kbd>“ udder „<kbd lang=\"en\" xml:lang=\"en\" dir=\"ltr\">never</kbd>“ aanjitt, dohrt di Schpärr för iiwesch.",
index 74db742..1b62c5c 100644 (file)
@@ -8,5 +8,10 @@
        "apihelp-main-param-action": "कोणती कार्यवाही करावयाची.",
        "apihelp-main-param-curtimestamp": "निकालात सद्य वेळठश्याचा अंतर्भाव करा.",
        "apihelp-block-description": "सदस्यास प्रतिबंधित करा.",
-       "apihelp-block-param-user": "सदस्याचे नाव, अंक-पत्त्ता, किंवा प्रतिबंध करण्यासाठीचा आयपीचा आवाका."
+       "apihelp-block-param-user": "सदस्याचे नाव, अंक-पत्त्ता, किंवा प्रतिबंध करण्यासाठीचा आयपीचा आवाका.",
+       "apihelp-query+allrevisions-description": "सर्व आवृत्त्यांची यादी",
+       "apihelp-query+allrevisions-param-user": "फक्त या सदस्याच्याच आवृत्त्यांची यादी करा",
+       "apihelp-query+allrevisions-param-excludeuser": "या सदस्याच्या आवृत्त्यांची यादी करु नका.",
+       "apihelp-stashedit-param-title": "पानाच्या मथळ्याचे संपादन होत आहे.",
+       "apihelp-stashedit-param-sectiontitle": "नविन विभागाचा मथळा"
 }
index db801b8..3f4aa61 100644 (file)
@@ -2,7 +2,8 @@
        "@metadata": {
                "authors": [
                        "Milicevic01",
-                       "Aktron"
+                       "Aktron",
+                       "Сербијана"
                ]
        },
        "apihelp-block-description": "Блокирај корисника.",
@@ -20,5 +21,7 @@
        "apihelp-login-param-name": "Корисничко име.",
        "apihelp-login-param-password": "Лозинка.",
        "apihelp-login-example-login": "Пријавa.",
-       "apihelp-move-description": "Премештање странице."
+       "apihelp-move-description": "Премештање странице.",
+       "apihelp-query+allrevisions-param-namespace": "Само списак страница у овом именском простору.",
+       "apihelp-stashedit-param-text": "Страница са садржајем."
 }
index 07d1487..3599f50 100644 (file)
@@ -460,7 +460,9 @@ class RecentChange {
                // Automatic patrol needs "autopatrol", ordinary patrol needs "patrol"
                $right = $auto ? 'autopatrol' : 'patrol';
                $errors = array_merge( $errors, $this->getTitle()->getUserPermissionsErrors( $right, $user ) );
-               if ( !Hooks::run( 'MarkPatrolled', array( $this->getAttribute( 'rc_id' ), &$user, false ) ) ) {
+               if ( !Hooks::run( 'MarkPatrolled',
+                                       array( $this->getAttribute( 'rc_id' ), &$user, false, $auto ) )
+               ) {
                        $errors[] = array( 'hookaborted' );
                }
                // Users without the 'autopatrol' right can't patrol their
@@ -481,7 +483,10 @@ class RecentChange {
                $this->reallyMarkPatrolled();
                // Log this patrol event
                PatrolLog::record( $this, $auto, $user );
-               Hooks::run( 'MarkPatrolledComplete', array( $this->getAttribute( 'rc_id' ), &$user, false ) );
+               Hooks::run(
+                                       'MarkPatrolledComplete',
+                                       array( $this->getAttribute( 'rc_id' ), &$user, false, $auto )
+               );
 
                return array();
        }
@@ -950,3 +955,4 @@ class RecentChange {
                return $unserializedParams;
        }
 }
+
index 76f2a7b..acaa288 100644 (file)
 class MWContentSerializationException extends MWException {
 }
 
+/**
+ * Exception thrown when an unregistered content model is requested. This error
+ * can be triggered by user input, so a separate exception class is provided so
+ * callers can substitute a context-specific, internationalised error message.
+ *
+ * @ingroup Content
+ * @since 1.27
+ */
+class MWUnknownContentModelException extends MWException {
+       /** @var string The name of the unknown content model */
+       private $modelId;
+
+       /** @param string $modelId */
+       function __construct( $modelId ) {
+               parent::__construct( "The content model '$modelId' is not registered on this wiki.\n" .
+                       'See https://www.mediawiki.org/wiki/Content_handlers to find out which extensions ' .
+                       'handle this content model.' );
+               $this->modelId = $modelId;
+       }
+
+       /** @return string */
+       public function getModelId() {
+               return $modelId;
+       }
+}
+
 /**
  * A content handler knows how do deal with a specific type of content on a wiki
  * page. Content is stored in the database in a serialized form (using a
@@ -307,7 +333,8 @@ abstract class ContentHandler {
         * @param string $modelId The ID of the content model for which to get a
         *    handler. Use CONTENT_MODEL_XXX constants.
         *
-        * @throws MWException If no handler is known for the model ID.
+        * @throws MWException For internal errors and problems in the configuration.
+        * @throws MWUnknownContentModelException If no handler is known for the model ID.
         * @return ContentHandler The ContentHandler singleton for handling the model given by the ID.
         */
        public static function getForModelID( $modelId ) {
@@ -323,7 +350,7 @@ abstract class ContentHandler {
                        Hooks::run( 'ContentHandlerForModelID', array( $modelId, &$handler ) );
 
                        if ( $handler === null ) {
-                               throw new MWException( "No handler for model '$modelId' registered in \$wgContentHandlers" );
+                               throw new MWUnknownContentModelException( $modelId );
                        }
 
                        if ( !( $handler instanceof ContentHandler ) ) {
index 09b5929..5a2dd1a 100644 (file)
@@ -153,8 +153,9 @@ class LocalSettingsGenerator {
 
                if ( count( $this->extensions ) ) {
                        $localSettings .= "
-# Enabled Extensions. Most extensions are enabled by including the base extension file here
-# but check specific extension documentation for more details
+# Enabled extensions. Most of the extensions are enabled by adding
+# wfLoadExtensions('ExtensionName');
+# to LocalSettings.php. Check specific extension documentation for more details.
 # The following extensions were automatically enabled:\n";
 
                        foreach ( $this->extensions as $extName ) {
index a1f9154..369f4ed 100644 (file)
@@ -1,7 +1,8 @@
 {
        "@metadata": {
                "authors": [
-                       "Vahe Gharakhanyan"
+                       "Vahe Gharakhanyan",
+                       "Kareyac"
                ]
        },
        "config-title": "ՄեդիաՎիքի $1-ի տեղադրում",
        "config-page-releasenotes": "Տեղեկություն տարբերակի մասին",
        "config-page-existingwiki": "Գոյություն ունեցող վիքի",
        "config-restart": "Այո, նորից սկսել",
+       "config-ns-generic": "Նախագիծ",
        "config-admin-password": "Գաղտնաբառ՝",
        "config-admin-password-confirm": "Գաղտնաբառը կրկին`",
        "config-admin-email": "Էլ-փոստի հասցեն՝",
+       "config-profile-wiki": "Բաց վիքի",
+       "config-profile-private": "Մասնավոր վիքի",
        "config-license": "Հեղինակային իրավունք և արտոնագիր`",
        "config-license-cc-by-sa": "Creative Commons Attribution-ShareAlike",
        "config-license-cc-by": "Creative Commons Attribution",
@@ -32,6 +36,7 @@
        "config-license-cc-0": "Creative Commons Zero (հանրային սեփականություն)",
        "config-license-gfdl": "GNU Free Documentation License 1.3 կամ ավելի ուշ",
        "config-license-pd": "Հանրային սեփականություն",
+       "config-cc-again": "Ընտրեեք նորից...",
        "config-help": "օգնություն",
        "mainpagetext": "'''«MediaWiki» ծրագիրը հաջողությամբ տեղադրվեց։'''",
        "mainpagedocfooter": "Այցելեք [//meta.wikimedia.org/wiki/Help:Contents User's Guide]՝ վիքի ծրագրային ապահովման օգտագործման մասին տեղեկությունների համար։\n\n== Որոշ օգտակար ռեսուրսներ ==\n\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]"
index b0cb775..71c8a93 100644 (file)
  * This class is intended for caching data from primary stores.
  * If the get() method does not return a value, then the caller
  * should query the new value and backfill the cache using set().
+ * When querying the store on cache miss, the closest DB replica
+ * should be used. Try to avoid heavyweight DB master or quorum reads.
  * When the source data changes, a purge method should be called.
  * Since purges are expensive, they should be avoided. One can do so if:
  *   - a) The object cached is immutable; or
  *   - b) Validity is checked against the source after get(); or
  *   - c) Using a modest TTL is reasonably correct and performant
+ *
  * The simplest purge method is delete().
  *
  * Instances of this class must be configured to point to a valid
@@ -64,10 +67,10 @@ class WANObjectCache {
        protected $procCache;
        /** @var string Cache pool name */
        protected $pool;
-       /** @var EventRelayer */
+       /** @var EventRelayer Bus that handles purge broadcasts */
        protected $relayer;
 
-       /** @var int */
+       /** @var int ERR_* constant for the "last error" registry */
        protected $lastRelayError = self::ERR_NONE;
 
        /** Max time expected to pass between delete() and DB commit finishing */
@@ -100,13 +103,11 @@ class WANObjectCache {
        /** Cache format version number */
        const VERSION = 1;
 
-       /** Fields of value holder arrays */
        const FLD_VERSION = 0;
        const FLD_VALUE = 1;
        const FLD_TTL = 2;
        const FLD_TIME = 3;
 
-       /** Possible values for getLastError() */
        const ERR_NONE = 0; // no error
        const ERR_NO_RESPONSE = 1; // no response
        const ERR_UNREACHABLE = 2; // can't connect
@@ -133,7 +134,9 @@ class WANObjectCache {
        }
 
        /**
-        * @return WANObjectCache Cache that wraps EmptyBagOStuff
+        * Get an instance that wraps EmptyBagOStuff
+        *
+        * @return WANObjectCache
         */
        public static function newEmpty() {
                return new self( array(
@@ -174,7 +177,7 @@ class WANObjectCache {
         * However, pre-snapshot values might still be seen if an update was made
         * in a remote datacenter but the purge from delete() didn't relay yet.
         *
-        * Consider using getWithSetCallback() instead of get()/set() cycles.
+        * Consider using getWithSetCallback() instead of get() and set() cycles.
         * That method has cache slam avoiding features for hot/expensive keys.
         *
         * @param string $key Cache key
@@ -197,7 +200,7 @@ class WANObjectCache {
         *
         * @param array $keys List of cache keys
         * @param array $curTTLs Map of (key => approximate TTL left) for existing keys [returned]
-        * @param array $checkKeys List of "check" keys
+        * @param array $checkKeys List of "check" keys to apply to all of $keys
         * @return array Map of (key => value) for keys that exist
         */
        final public function getMulti(
@@ -258,7 +261,7 @@ class WANObjectCache {
        }
 
        /**
-        * Set the value of a key from cache
+        * Set the value of a key in cache
         *
         * Simply calling this method when source data changes is not valid because
         * the changes do not replicate to the other WAN sites. In that case, delete()
@@ -272,7 +275,7 @@ class WANObjectCache {
         *   - d) T1 reads the row and calls set() due to a cache miss
         *   - e) Stale value is stuck in cache
         *
-        * Setting 'lag' helps avoids keys getting stuck in long-term stale states.
+        * Setting 'lag' and 'since' help avoids keys getting stuck in stale states.
         *
         * Example usage:
         * @code
@@ -291,16 +294,16 @@ class WANObjectCache {
         *   - lag     : Seconds of slave lag. Typically, this is either the slave lag
         *               before the data was read or, if applicable, the slave lag before
         *               the snapshot-isolated transaction the data was read from started.
-        *               [Default: 0 seconds]
+        *               Default: 0 seconds
         *   - since   : UNIX timestamp of the data in $value. Typically, this is either
         *               the current time the data was read or (if applicable) the time when
         *               the snapshot-isolated transaction the data was read from started.
-        *               [Default: 0 seconds]
+        *               Default: 0 seconds
         *   - lockTSE : if excessive possible snapshot lag is detected,
         *               then stash the value into a temporary location
         *               with this TTL. This is only useful if the reads
         *               use getWithSetCallback() with "lockTSE" set.
-        *               [Default: WANObjectCache::TSE_NONE]
+        *               Default: WANObjectCache::TSE_NONE
         * @return bool Success
         */
        final public function set( $key, $value, $ttl = 0, array $opts = array() ) {
@@ -347,10 +350,12 @@ class WANObjectCache {
         * This is implemented by storing a special "tombstone" value at the cache
         * key that this class recognizes; get() calls will return false for the key
         * and any set() calls will refuse to replace tombstone values at the key.
-        * For this to always avoid writing stale values, the following must hold:
+        * For this to always avoid stale value writes, the following must hold:
         *   - a) Replication lag is bounded to being less than HOLDOFF_TTL; or
         *   - b) If lag is higher, the DB will have gone into read-only mode already
         *
+        * Note that set() can also be lag-aware and lower the TTL if it's high.
+        *
         * When using potentially long-running ACID transactions, a good pattern is
         * to use a pre-commit hook to issue the delete. This means that immediately
         * after commit, callers will see the tombstone in cache in the local datacenter
@@ -409,7 +414,7 @@ class WANObjectCache {
         * if the key was evicted from cache, such calculations may show the
         * time since expiry as ~0 seconds.
         *
-        * Note that "check" keys won't collide with other regular keys
+        * Note that "check" keys won't collide with other regular keys.
         *
         * @param string $key
         * @return float UNIX timestamp of the key
@@ -437,20 +442,23 @@ class WANObjectCache {
         * keys, the relevant "check" keys must be supplied for this to work.
         *
         * The "check" key essentially represents a last-modified field.
-        * It is set in the future a few seconds when this is called, to
-        * avoid race conditions where dependent keys get updated with a
-        * stale value (e.g. from a DB slave).
+        * When touched, keys using it via get(), getMulti(), or getWithSetCallback()
+        * will be invalidated. It is treated as being HOLDOFF_TTL seconds in the future
+        * by those methods to avoid race conditions where dependent keys get updated
+        * with stale values (e.g. from a DB slave).
         *
-        * This is typically useful for keys with static names or some cases
+        * This is typically useful for keys with hardcoded names or in some cases
         * dynamically generated names where a low number of combinations exist.
         * When a few important keys get a large number of hits, a high cache
-        * time is usually desired as well as lockTSE logic. The resetCheckKey()
+        * time is usually desired as well as "lockTSE" logic. The resetCheckKey()
         * method is less appropriate in such cases since the "time since expiry"
         * cannot be inferred.
         *
-        * Note that "check" keys won't collide with other regular keys
+        * Note that "check" keys won't collide with other regular keys.
         *
         * @see WANObjectCache::get()
+        * @see WANObjectCache::getWithSetCallback()
+        * @see WANObjectCache::resetCheckKey()
         *
         * @param string $key Cache key
         * @return bool True if the item was purged or not found, false on failure
@@ -467,8 +475,8 @@ class WANObjectCache {
        /**
         * Delete a "check" key from all datacenters, invalidating keys that use it
         *
-        * This is similar to touchCheckKey() in that keys using it via
-        * getWithSetCallback() will be invalidated. The differences are:
+        * This is similar to touchCheckKey() in that keys using it via get(), getMulti(),
+        * or getWithSetCallback() will be invalidated. The differences are:
         *   - a) The timestamp will be deleted from all caches and lazily
         *        re-initialized when accessed (rather than set everywhere)
         *   - b) Thus, dependent keys will be known to be invalid, but not
@@ -482,10 +490,11 @@ class WANObjectCache {
         * This is typically useful for keys with dynamically generated names
         * where a high number of combinations exist.
         *
-        * Note that "check" keys won't collide with other regular keys
+        * Note that "check" keys won't collide with other regular keys.
         *
-        * @see WANObjectCache::touchCheckKey()
         * @see WANObjectCache::get()
+        * @see WANObjectCache::getWithSetCallback()
+        * @see WANObjectCache::touchCheckKey()
         *
         * @param string $key Cache key
         * @return bool True if the item was purged or not found, false on failure
@@ -502,24 +511,21 @@ class WANObjectCache {
         * Method to fetch/regenerate cache keys
         *
         * On cache miss, the key will be set to the callback result via set()
-        * unless the callback returns false. The arguments supplied to it are:
-        *     (current value or false, &$ttl, &$setOpts)
-        * The callback function returns the new value given the current
-        * value (false if not present). Preemptive re-caching and $checkKeys
-        * can result in a non-false current value. The TTL of the new value
-        * can be set dynamically by altering $ttl in the callback (by reference).
-        * The $setOpts array can be altered and is given to set() when called;
-        * it is recommended to set the 'since' field to avoid race conditions.
-        * Setting 'lag' helps avoids keys getting stuck in long-term stale states.
-        *
-        * Usually, callbacks ignore the current value, but it can be used
-        * to maintain "most recent X" values that come from time or sequence
-        * based source data, provided that the "as of" id/time is tracked.
-        *
-        * Usage of $checkKeys is similar to get() and getMulti(). However,
-        * rather than the caller having to inspect a "current time left"
-        * variable (e.g. $curTTL, $curTTLs), a cache regeneration will be
-        * triggered using the callback.
+        * (unless the callback returns false) and that result will be returned.
+        * The arguments supplied to the callback are:
+        *   - $oldValue : current cache value or false if not present
+        *   - &$ttl : a reference to the TTL which can be altered
+        *   - &$setOpts : a reference to options for set() which can be altered
+        *
+        * It is strongly recommended to set the 'lag' and 'since' fields to avoid race conditions
+        * that can cause stale values to get stuck at keys. Usually, callbacks ignore the current
+        * value, but it can be used to maintain "most recent X" values that come from time or
+        * sequence based source data, provided that the "as of" id/time is tracked. Note that
+        * preemptive regeneration and $checkKeys can result in a non-false current value.
+        *
+        * Usage of $checkKeys is similar to get() and getMulti(). However, rather than the caller
+        * having to inspect a "current time left" variable (e.g. $curTTL, $curTTLs), a cache
+        * regeneration will automatically be triggered using the callback.
         *
         * The simplest way to avoid stampedes for hot keys is to use
         * the 'lockTSE' option in $opts. If cache purges are needed, also:
@@ -631,7 +637,8 @@ class WANObjectCache {
         *   - WANObjectCache::TTL_UNCACHEABLE: Do not cache at all
         * @param callable $callback Value generation function
         * @param array $opts Options map:
-        *   - checkKeys: List of "check" keys.
+        *   - checkKeys: List of "check" keys. The key at $key will be seen as invalid when either
+        *      touchCheckKey() or resetCheckKey() is called on any of these keys.
         *   - lowTTL: Consider pre-emptive updates when the current TTL (sec) of the key is less than
         *      this. It becomes more likely over time, becoming a certainty once the key is expired.
         *      Default: WANObjectCache::LOW_TTL seconds.
@@ -647,7 +654,7 @@ class WANObjectCache {
         *      network I/O when a key is read several times. This will not cache if the callback
         *      returns false however. Note that any purges will not be seen while process cached;
         *      since the callback should use slave DBs and they may be lagged or have snapshot
-        *      isolation anyway, this should not matter much
+        *      isolation anyway, this should not typically matter.
         *      Default: WANObjectCache::TTL_UNCACHEABLE.
         * @param array $oldOpts Unused (mentioned only to avoid PHPDoc warnings)
         * @return mixed Value to use for the key
@@ -687,6 +694,8 @@ class WANObjectCache {
        }
 
        /**
+        * Do the actual I/O for getWithSetCallback() when needed
+        *
         * @see WANObjectCache::getWithSetCallback()
         *
         * @param string $key
index 31dd395..044bb53 100644 (file)
@@ -76,7 +76,7 @@ class EmailNotification {
         *  timestamp will not be updated(they have already seen it)
         * @param Title $title The title to update timestamps for
         * @param string $timestamp Set the update timestamp to this value
-        * @return int[]
+        * @return int[] Array of user IDs
         */
        public static function updateWatchlistTimestamp( User $editor, Title $title, $timestamp ) {
                global $wgEnotifWatchlist, $wgShowUpdatedMarker;
index c40f696..ea0fb44 100644 (file)
@@ -43,12 +43,12 @@ use MediaWiki\Logger\LoggerFactory;
  * Primary entry points:
  *
  * - ObjectCache::newAccelerator( $fallbackType )
- *   Purpose: Cache.
+ *   Purpose: Cache for very hot keys.
  *   Stored only on the individual web server.
  *   Not associated with other servers.
  *
  * - ObjectCache::getMainClusterInstance()
- *   Purpose: Cache.
+ *   Purpose: Memory storage for per-cluster coordination and tracking.
  *   Stored centrally within the local data-center.
  *   Not replicated to other DCs.
  *   Also known as $wgMemc. Configured by $wgMainCacheType.
@@ -71,10 +71,9 @@ use MediaWiki\Logger\LoggerFactory;
  * @ingroup Cache
  */
 class ObjectCache {
-       /** @var Array Map of (id => BagOStuff) */
+       /** @var BagOStuff[] Map of (id => BagOStuff) */
        public static $instances = array();
-
-       /** @var Array Map of (id => WANObjectCache) */
+       /** @var WANObjectCache[] Map of (id => WANObjectCache) */
        public static $wanInstances = array();
 
        /**
index e1cd76c..7957e65 100644 (file)
@@ -382,13 +382,8 @@ class ImagePage extends Article {
                                        }
                                        $otherSizes = array_unique( $otherSizes );
 
-                                       $msgsmall = '';
                                        $sizeLinkBigImagePreview = $this->makeSizeLink( $params, $width, $height );
-                                       if ( $sizeLinkBigImagePreview ) {
-                                               $msgsmall .= $this->getContext()->msg( 'show-big-image-preview' )->
-                                                       rawParams( $sizeLinkBigImagePreview )->
-                                                       parse();
-                                       }
+                                       $msgsmall = $this->getThumbPrevText( $params, $sizeLinkBigImagePreview );
                                        if ( count( $otherSizes ) ) {
                                                $msgsmall .= ' ' .
                                                Html::rawElement(
@@ -632,6 +627,44 @@ EOT
                $out->setFileVersion( $this->displayImg );
        }
 
+       /**
+        * Make the text under the image to say what size preview
+        *
+        * @param $params Array parameters for thumbnail
+        * @param $sizeLinkBigImagePreview HTML for the current size
+        * @return string HTML output
+        */
+       private function getThumbPrevText( $params, $sizeLinkBigImagePreview ) {
+               if ( $sizeLinkBigImagePreview ) {
+                       // Show a different message of preview is different format from original.
+                       $previewTypeDiffers = false;
+                       $origExt = $thumbExt = $this->displayImg->getExtension();
+                       if ( $this->displayImg->getHandler() ) {
+                               $origMime = $this->displayImg->getMimeType();
+                               $typeParams = $params;
+                               $this->displayImg->getHandler()->normaliseParams( $this->displayImg, $typeParams );
+                               list( $thumbExt, $thumbMime ) = $this->displayImg->getHandler()->getThumbType(
+                                       $origExt, $origMime, $typeParams );
+                               if ( $thumbMime !== $origMime ) {
+                                       $previewTypeDiffers = true;
+                               }
+                       }
+                       if ( $previewTypeDiffers ) {
+                               return $this->getContext()->msg( 'show-big-image-preview-differ' )->
+                                       rawParams( $sizeLinkBigImagePreview )->
+                                       params( strtoupper( $origExt ) )->
+                                       params( strtoupper( $thumbExt ) )->
+                                       parse();
+                       } else {
+                               return $this->getContext()->msg( 'show-big-image-preview' )->
+                                       rawParams( $sizeLinkBigImagePreview )->
+                               parse();
+                       }
+               } else {
+                       return '';
+               }
+       }
+
        /**
         * Creates an thumbnail of specified size and returns an HTML link to it
         * @param array $params Scaler parameters
index 23bd394..ccdf3fa 100644 (file)
@@ -383,7 +383,7 @@ abstract class ChangesListSpecialPage extends SpecialPage {
         *
         * @param FormOptions $opts
         */
-       function setTopText( FormOptions $opts ) {
+       public function setTopText( FormOptions $opts ) {
                // nothing by default
        }
 
@@ -393,7 +393,7 @@ abstract class ChangesListSpecialPage extends SpecialPage {
         *
         * @param FormOptions $opts
         */
-       function setBottomText( FormOptions $opts ) {
+       public function setBottomText( FormOptions $opts ) {
                // nothing by default
        }
 
@@ -405,7 +405,7 @@ abstract class ChangesListSpecialPage extends SpecialPage {
         * @param FormOptions $opts
         * @return array
         */
-       function getExtraOptions( $opts ) {
+       public function getExtraOptions( $opts ) {
                return array();
        }
 
index 10d55b2..ad44076 100644 (file)
@@ -263,7 +263,7 @@ class SpecialUpload extends SpecialPage {
                }
 
                # Give a notice if the user is uploading a file that has been deleted or moved
-               # Note that this is independent from the message 'filewasdeleted' that requires JS
+               # Note that this is independent from the message 'filewasdeleted'
                $desiredTitleObj = Title::makeTitleSafe( NS_FILE, $this->mDesiredDestName );
                $delNotice = ''; // empty by default
                if ( $desiredTitleObj instanceof Title && !$desiredTitleObj->exists() ) {
@@ -366,6 +366,19 @@ class SpecialUpload extends SpecialPage {
                        }
                        if ( $warning == 'exists' ) {
                                $msg = "\t<li>" . self::getExistsWarning( $args ) . "</li>\n";
+                       } elseif ( $warning == 'was-deleted' ) {
+                               # If the file existed before and was deleted, warn the user of this
+                               $ltitle = SpecialPage::getTitleFor( 'Log' );
+                               $llink = Linker::linkKnown(
+                                       $ltitle,
+                                       wfMessage( 'deletionlog' )->escaped(),
+                                       array(),
+                                       array(
+                                               'type' => 'delete',
+                                               'page' => Title::makeTitle( NS_FILE, $args )->getPrefixedText(),
+                                       )
+                               );
+                               $msg = "\t<li>" . wfMessage( 'filewasdeleted' )->rawParams( $llink )->parse() . "</li>\n";
                        } elseif ( $warning == 'duplicate' ) {
                                $msg = $this->getDupeWarning( $args );
                        } elseif ( $warning == 'duplicate-archive' ) {
@@ -711,19 +724,6 @@ class SpecialUpload extends SpecialPage {
                        $warning = wfMessage( 'file-thumbnail-no', $badPart )->parse();
                } elseif ( $exists['warning'] == 'bad-prefix' ) {
                        $warning = wfMessage( 'filename-bad-prefix', $exists['prefix'] )->parse();
-               } elseif ( $exists['warning'] == 'was-deleted' ) {
-                       # If the file existed before and was deleted, warn the user of this
-                       $ltitle = SpecialPage::getTitleFor( 'Log' );
-                       $llink = Linker::linkKnown(
-                               $ltitle,
-                               wfMessage( 'deletionlog' )->escaped(),
-                               array(),
-                               array(
-                                       'type' => 'delete',
-                                       'page' => $filename
-                               )
-                       );
-                       $warning = wfMessage( 'filewasdeleted' )->rawParams( $llink )->parseAsBlock();
                }
 
                return $warning;
index 5193a7f..8514187 100644 (file)
@@ -643,6 +643,10 @@ abstract class UploadBase {
                        $warnings['exists'] = $exists;
                }
 
+               if ( $localFile->wasDeleted() && !$localFile->exists() ) {
+                       $warnings['was-deleted'] = $filename;
+               }
+
                // Check dupes against existing files
                $hash = $this->getTempFileSha1Base36();
                $dupes = RepoGroup::singleton()->findBySha1( $hash );
@@ -1745,10 +1749,6 @@ abstract class UploadBase {
                        return array( 'warning' => 'page-exists', 'file' => $file );
                }
 
-               if ( $file->wasDeleted() && !$file->exists() ) {
-                       return array( 'warning' => 'was-deleted', 'file' => $file );
-               }
-
                if ( strpos( $file->getName(), '.' ) == false ) {
                        $partname = $file->getName();
                        $extension = '';
index e80f11c..12a0a2f 100644 (file)
        "mw-widgets-dateinput-placeholder-day": "JJJJ-MM-DD",
        "mw-widgets-dateinput-placeholder-month": "JJJJ-MM",
        "mw-widgets-titleinput-description-new-page": "bladsy bestaan nog nie",
-       "mw-widgets-titleinput-description-redirect": "aanstuur na $1"
+       "mw-widgets-titleinput-description-redirect": "aanstuur na $1",
+       "api-error-blacklisted": "Kies asseblief 'n ander, beskrywende titel."
 }
index dbc005c..53d2471 100644 (file)
        "special-characters-group-lao": "Laosiano",
        "special-characters-group-khmer": "Khmer",
        "mw-widgets-dateinput-placeholder-day": "AAAA-MM-DD",
-       "mw-widgets-dateinput-placeholder-month": "AAAA-MM"
+       "mw-widgets-dateinput-placeholder-month": "AAAA-MM",
+       "api-error-blacklisted": "Trigue un titol diferent, mas descriptivo."
 }
index 04985a4..355987d 100644 (file)
        "special-characters-title-minus": "علامة الطرح",
        "mw-widgets-dateinput-no-date": "لا تاريخ تم اختياره",
        "mw-widgets-titleinput-description-new-page": "الصفحة غير موجودة بعد",
-       "mw-widgets-titleinput-description-redirect": "تحويل إلى $1"
+       "mw-widgets-titleinput-description-redirect": "تحويل إلى $1",
+       "api-error-blacklisted": "اختر عنوانا مختلفا ومفهوما."
 }
index 360a696..8d37c4f 100644 (file)
        "ok": "موافئ",
        "retrievedfrom": "اتجابت من \"$1\"",
        "youhavenewmessages": "{{PLURAL:$3|عندك}} $1 ($2).",
-       "youhavenewmessagesfromusers": "{{PLURAL:$4|عÙ\86دÙ\83}} $1 Ù\85Ù\86 {{PLURAL:${{PLURAL:$3|}}3|Ù\8aÙ\88زر Ù\88احد|Ù\8aÙ\88زر Ù\88احد|اتÙ\86Ù\8aÙ\86 Ù\8aÙ\88زر |$3 Ù\85ستخدÙ\85Ù\8aÙ\86|$3 يوزر}} ($2).",
+       "youhavenewmessagesfromusers": "{{PLURAL:$4|عÙ\86دÙ\83}} $1 Ù\85Ù\86 {{PLURAL:${{PLURAL:$3|}}3|Ù\8aÙ\88زر Ù\88احد|Ù\8aÙ\88زر Ù\88احد|اتÙ\86Ù\8aÙ\86 Ù\8aÙ\88زر |$3 Ù\8aÙ\88زر|$3 يوزر}} ($2).",
        "youhavenewmessagesmanyusers": "عندك $1 من يوزرات كتير  ($2).",
        "newmessageslinkplural": "{{PLURAL:$1|رساله جديده|999=رسايل جديده}}",
        "newmessagesdifflinkplural": "أحدث {{PLURAL:$1|تغيير|999=تغييرات}}",
        "right-siteadmin": "قفل وفتح قاعدة البيانات",
        "right-override-export-depth": "تصدير الصفحات مع الصفحات الموصوله لحد عمق 5",
        "right-sendemail": "يبعت إيميل لليوزرز التانيين",
-       "right-passwordreset": "إعادة ضبط كلمة سر مستخدم([[Special:PasswordReset|صفحة خاصة]])",
+       "right-passwordreset": "إعادة ضبط كلمة سر يوزر",
+       "right-managechangetags": "إنشاء و مسح [[Special:Tags|الوسوم]] من قاعدة البيانات",
        "newuserlogpage": "سجل اليوزرز الجداد",
        "newuserlogpagetext": "دا سجل لليوزرز الجداد",
        "rightslog": "سجل صلاحيات اليوزرز",
index aa87e28..e2ee451 100644 (file)
        "watchlisttools-edit": "লক্ষ্য-তালিকা চাওক আৰু সম্পাদনা কৰক",
        "watchlisttools-raw": "অশোধিত লক্ষ্য-তালিকা সম্পাদনা কৰক",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|talk]])",
+       "timezone-utc": "ইউ.টি.চি.",
        "duplicate-defaultsort": "'''সাৱধান!''' পূৰ্বনিৰ্ধাৰিত ক্ৰমসূচক \"$2\"-এ আগৰ ক্ৰমসূচক \"$1\"ক বিস্থাপিত কৰিছে।",
        "version": "সংস্কৰণ",
        "version-extensions": "ইন্‌ষ্টল কৰা এক্সটেনচনসমূহ",
        "duration-centuries": "$1 {{PLURAL:$1|শতাব্দী|শতাব্দী}}",
        "duration-millennia": "$1 {{PLURAL:$1|সহস্ৰাব্দ|সহস্ৰাব্দ}}",
        "rotate-comment": "ছবিখন ঘড়ীৰ কাটাৰ দিশত $1 {{PLURAL:$1|ডিগ্ৰী}} ঘূৰোৱা হৈছে।",
+       "limitreport-cputime": "চি.পি.ইউ. সময় ব্যৱহাৰ",
        "expandtemplates": "সাঁচবোৰ বহলাওক",
        "expand_templates_input": "পাঠ্য ভৰাওক",
        "expand_templates_output": "ফলাফল",
        "special-characters-group-khmer": "খেমাৰ",
        "special-characters-title-endash": "en দেছ্‌",
        "special-characters-title-emdash": "em দেছ‌",
-       "special-characters-title-minus": "বিয়োগ চিন"
+       "special-characters-title-minus": "বিয়োগ চিন",
+       "api-error-blacklisted": "অনুগ্ৰহ কৰি অন্য এটা বৰ্ণনামূলক শিৰোনাম নিৰ্বাচন কৰক"
 }
index 80dbb7d..b2dc32c 100644 (file)
        "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",
        "changeemail": "Camudar o desaniciar la dirección de corréu electrónicu",
-       "changeemail-header": "Camudar la direición de corréu electrónicu de la cuenta",
+       "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.",
        "changeemail-no-info": "Tien d'aniciar sesión pa entrar direutamente a esta páxina.",
        "changeemail-oldemail": "Direición de corréu electrónicu actual:",
        "changeemail-newemail": "Direición de corréu electrónicu nueva:",
        "sig_tip": "La to robla con data y hora",
        "hr_tip": "Llinia horizontal (úsala con moderación)",
        "summary": "Resume:",
-       "subject": "Asuntu/títulu:",
+       "subject": "Asuntu:",
        "minoredit": "Esta ye una edición menor",
        "watchthis": "Vixilar esta páxina",
        "savearticle": "Guardar la páxina",
        "missingsummary": "'''Recordatoriu:''' Nun conseñasti un resume d'edición.\nSi calques nuevamente \"{{int:savearticle}}\", la to edición guardaráse ensin nengún resume.",
        "selfredirect": "<strong>Atención:</strong> Tas redirixendo esta páxina a ella mesma.\nSeique conseñaras un oxetivu enquivocáu pa la redireición, o que teas editando una páxina enquivocada. Si vuelves a facer clic en «{{int:savearticle}}», crearáse la redireición de toles maneres.",
        "missingcommenttext": "Por favor, escribi un comentariu abaxo.",
-       "missingcommentheader": "'''Recordatoriu:''' Nun conseñasti un asuntu/titular pa esti comentariu.\nSi calques nuevamente \"{{int:savearticle}}\", la to edición guardaráse ensin dengún.",
+       "missingcommentheader": "<strong>Recordatoriu:</strong> Nun conseñasti un asuntu pa esti comentariu.\nSi calques nuevamente «{{int:savearticle}}», la to edición guardaráse ensin nengunu.",
        "summary-preview": "Vista previa del resume:",
-       "subject-preview": "Vista previa del asuntu/titular:",
+       "subject-preview": "Vista previa del asuntu:",
        "previewerrortext": "Hebo un error al intentar entever los cambios.",
        "blockedtitle": "L'usuariu ta bloquiáu",
        "blockedtext": "'''El to nome d'usuariu o direición IP ta bloquiáu.'''\n\nEl bloquéu fexolu $1.\nEl motivu conseñáu ye ''$2''.\n\n* Principiu del bloquéu: $8\n* Caducidá del bloquéu: $6\n* Usuariu a bloquiar: $7\n\nPues ponete'n contautu con $1 o con otru [[{{MediaWiki:Grouppage-sysop}}|alministrador]] p'aldericar sobre'l bloquéu.\nNun pues usar la función 'manda-y un corréu electrónicu a esti usuariu' a nun ser que tea especificada una direición de\ncorréu electrónicu válida nes tos [[Special:Preferences|preferencies de cuenta]] y que nun tengas torgao usala.\nLa to direición IP actual ye $3, y la ID del bloquéu ye #$5.\nPor favor, incluye tolos detalles anteriores nes consultes que faigas.",
        "foreign-structured-upload-form-label-own-work": "Esti ye'l mio propiu trabayu",
        "foreign-structured-upload-form-label-infoform-categories": "Categoríes",
        "foreign-structured-upload-form-label-infoform-date": "Data",
+       "foreign-structured-upload-form-label-own-work-message-local": "Confirmo que xubo esti ficheru siguiendo les condiciones de serviciu y les polítiques de llicencies de {{SITENAME}}.",
+       "foreign-structured-upload-form-label-not-own-work-message-local": "Si nun puedes xubir esti ficheru baxo les polítiques de {{SITENAME}}, zarra esti diálogu y prueba otru métodu.",
+       "foreign-structured-upload-form-label-not-own-work-local-local": "Quiciabes quieras probar tamién [[Special:Upload|la páxina predeterminada de xubíes]].",
        "foreign-structured-upload-form-label-own-work-message-default": "Entiendo que toi xubiendo esti ficheru a un depósitu compartíu. Confirmo que toi faciéndolo cumpliendo les condiciones de serviciu y les polítiques de llicencies d'esi sitiu.",
        "foreign-structured-upload-form-label-not-own-work-message-default": "Si nun puedes xubir esti ficheru baxo les polítiques del depósitu compartíu, zarra esti diálogu y prueba otru métodu.",
        "foreign-structured-upload-form-label-not-own-work-local-default": "Tamién pué interesate usar [[Special:Upload|la páxina de carga de {{SITENAME}}]] si esti ficheru pué xubise allí baxo les sos polítiques.",
        "mw-widgets-dateinput-placeholder-day": "AAAA-MM-DD",
        "mw-widgets-dateinput-placeholder-month": "AAAA-MM",
        "mw-widgets-titleinput-description-new-page": "la páxina inda nun esiste",
-       "mw-widgets-titleinput-description-redirect": "redirixir a $1"
+       "mw-widgets-titleinput-description-redirect": "redirixir a $1",
+       "api-error-blacklisted": "Escueyi un títulu distintu, más descriptivu."
 }
index 92ae16e..9a1c8fb 100644 (file)
        "expand_templates_generate_xml": "Ipahiling an panlunhay na kahoy nin XML",
        "expand_templates_preview": "Patânaw",
        "mw-widgets-dateinput-placeholder-day": "TTTT-BB-AA",
-       "mw-widgets-dateinput-placeholder-month": "TTTT-BB"
+       "mw-widgets-dateinput-placeholder-month": "TTTT-BB",
+       "api-error-blacklisted": "Pakipili tabi nin sarong nalalaen, deskriptibong titulo."
 }
index ace7059..07a9227 100644 (file)
        "missingsummary": "'''Напамін:''' Вы не пазначылі кароткае апісаньне зьменаў.\nКалі Вы націсьніце кнопку «Запісаць» яшчэ раз, Вашае рэдагаваньне будзе запісанае без апісаньня.",
        "selfredirect": "<strong>Папярэджаньне:</strong> вы перанакіроўваеце старонку саму на сябе.\nМагчыма, вы пазначылі няслушную старонку для перанакіраваньня або вы рэдагуеце ня тую старонку.\nКалі вы націсьніце «{{int:savearticle}}» яшчэ раз, перанакіраваньне будзе створанае.",
        "missingcommenttext": "Калі ласка, увядзіце камэнтар ніжэй.",
-       "missingcommentheader": "'''Напамін:''' Вы не пазначылі загаловак камэнтара.\nКалі Вы націсьніце кнопку «{{int:savearticle}}» яшчэ раз, Ваш камэнтар захаваецца бяз тэмы.",
+       "missingcommentheader": "<strong>Напамін:</strong> Вы не пазначылі загаловак камэнтара. Калі Вы націсьніце кнопку «{{int:savearticle}}» яшчэ раз, Вашая зьмена будзе захаваная без камэнтара.",
        "summary-preview": "Папярэдні прагляд апісаньня:",
        "subject-preview": "Папярэдні прагляд загалоўку:",
        "previewerrortext": "Адбылася памылка пры спробе папярэдняга прагляду вашых зьменаў.",
        "special-characters-title-minus": "мінус",
        "mw-widgets-dateinput-placeholder-day": "ГГГГ-ММ-ДД",
        "mw-widgets-dateinput-placeholder-month": "ГГГГ-ММ",
-       "mw-widgets-titleinput-description-new-page": "старонка яшчэ не існуе"
+       "mw-widgets-titleinput-description-new-page": "старонка яшчэ не існуе",
+       "api-error-blacklisted": "Калі ласка, выбярыце іншую, апісальную назву."
 }
index f75abe3..3b2366e 100644 (file)
@@ -37,8 +37,8 @@
        "tog-hideminor": "Скриване на малки редакции в последните промени",
        "tog-hidepatrolled": "Скриване на патрулираните редакции от списъка с последните промени",
        "tog-newpageshidepatrolled": "Скриване на патрулираните редакции от списъка на новите страници",
-       "tog-extendwatchlist": "Разширяване на списъка за наблюдение, така че показва всички промени, не само последните",
-       "tog-usenewrc": "Ð\93Ñ\80Ñ\83пиÑ\80ане Ð½Ð° Ð¿Ñ\80омени Ð¿Ð¾ Ñ\81Ñ\82Ñ\80аниÑ\86иÑ\82е Ð½Ð° Ð¿Ð¾Ñ\81ледниÑ\82е Ð¿Ñ\80омени Ð¸ списъка за наблюдение",
+       "tog-extendwatchlist": "РазÑ\88иÑ\80Ñ\8fване Ð½Ð° Ñ\81пиÑ\81Ñ\8aка Ð·Ð° Ð½Ð°Ð±Ð»Ñ\8eдение, Ñ\82ака Ñ\87е Ð´Ð° Ð¿Ð¾ÐºÐ°Ð·Ð²Ð° Ð²Ñ\81иÑ\87ки Ð¿Ñ\80омени, Ð½Ðµ Ñ\81амо Ð¿Ð¾Ñ\81ледниÑ\82е",
+       "tog-usenewrc": "Ð\93Ñ\80Ñ\83пиÑ\80ане Ð¿Ð¾ Ñ\81Ñ\82Ñ\80аниÑ\86и Ð½Ð° Ð¿Ñ\80омениÑ\82е Ð½Ð° Ð\9fоÑ\81ледни Ð¿Ñ\80омени Ð¸ Ð² списъка за наблюдение",
        "tog-numberheadings": "Автоматично номериране на заглавията",
        "tog-showtoolbar": "Показване на лентата с инструменти за редактиране",
        "tog-editondblclick": "Редактиране на страниците чрез двойно щракване",
        "special-characters-title-emdash": "дълго тире",
        "special-characters-title-minus": "знак минус",
        "mw-widgets-dateinput-placeholder-day": "ГГГГ-ММ-ДД",
-       "mw-widgets-dateinput-placeholder-month": "ГГГГ-ММ"
+       "mw-widgets-dateinput-placeholder-month": "ГГГГ-ММ",
+       "api-error-blacklisted": "Моля, изберете различно, описателно заглавие."
 }
index af8a0eb..fe0b373 100644 (file)
        "mw-widgets-dateinput-placeholder-day": "বববব-মম-দদ",
        "mw-widgets-dateinput-placeholder-month": "বববব-মম",
        "mw-widgets-titleinput-description-new-page": "পাতা এখনো বিদ্যমান নয়",
-       "mw-widgets-titleinput-description-redirect": "$1-এ পুনঃনির্দেশিত"
+       "mw-widgets-titleinput-description-redirect": "$1-এ পুনঃনির্দেশিত",
+       "api-error-blacklisted": "অনুগ্রহ করে অপর কোনো বর্ণনামূলক নাম ব্যবহার করুন।"
 }
index 0c35756..b6209b1 100644 (file)
        "special-characters-group-devanagari": "Devanagari",
        "special-characters-group-thai": "Thai",
        "special-characters-group-lao": "Laoseg",
-       "special-characters-group-khmer": "Khmer"
+       "special-characters-group-khmer": "Khmer",
+       "api-error-blacklisted": "Dibabit un titl deskrivañ all"
 }
index 8859053..64e2111 100644 (file)
        "nstab-template": "Šablon",
        "nstab-help": "Pomoć",
        "nstab-category": "Kategorija",
+       "mainpage-nstab": "Početna strana",
        "nosuchaction": "Ova radnja ne postoji",
        "nosuchactiontext": "Akcija navedena u URL-u nije valjana.\nMožda ste pogriješili pri unosu URL-a ili ste slijedili pokvaren link.\nMoguće je i da je ovo greška u {{SITENAME}} softveru.",
        "nosuchspecialpage": "Nema takve posebne stranice",
        "protect-fallback": "Dozvolite samo korisnicima sa \"$1\" ovlastima/privilegijama",
        "protect-level-autoconfirmed": "Dopušteno samo automatski potvrđenim korisnicima",
        "protect-level-sysop": "Dopušteno samo administratorima",
+       "protect-summary-desc": "[$1=$2] ($3)",
        "protect-summary-cascade": "prenosna zaštita",
        "protect-expiring": "ističe $1 (UTC)",
        "protect-expiring-local": "ističe $1",
-       "protect-expiry-indefinite": "neograničeno",
+       "protect-expiry-indefinite": "neodređeno",
        "protect-cascade": "Zaštiti sve stranice koje su uključene u ovu (prenosiva zaštita)",
        "protect-cantedit": "Ne možete mijenjati nivo zaštite ove stranice, jer nemate prava da je uređujete.",
        "protect-othertime": "Drugo vrijeme:",
        "tooltip-whatlinkshere-invert": "Označite ovu kutiju za sakrivanje linkova sa stranica u izabranom imenskom prostoru.",
        "namespace_association": "Povezan imenski prostor",
        "tooltip-namespace_association": "Označite ovu kutiju da također uključite razgovor ili imenski prostor teme koja je povezana sa odabranim imenskim prostorom",
-       "blanknamespace": "(Glavno)",
+       "blanknamespace": "(glavni)",
        "contributions": "Doprinosi {{GENDER:$1|korisnika|korisnice|korisnika}}",
        "contributions-title": "Doprinosi korisnika $1",
        "mycontris": "Doprinosi",
        "tooltip-ca-nstab-main": "Pogledajte stranicu sa sadržajem",
        "tooltip-ca-nstab-user": "Pogledajte korisničku stranicu",
        "tooltip-ca-nstab-media": "Pogledajte medija fajl",
-       "tooltip-ca-nstab-special": "Ovo je posebna stranica. Ne možete je uređivati.",
+       "tooltip-ca-nstab-special": "Ovo je posebna stranica, te se ne može zasebno uređivati",
        "tooltip-ca-nstab-project": "Pogledajte projekat stranicu",
        "tooltip-ca-nstab-image": "Pogledajte stranicu slike",
        "tooltip-ca-nstab-mediawiki": "Pogledajte sistemsku poruku",
        "exif-urgency-low": "Nisko ( $1 )",
        "exif-urgency-high": "Visoko ($1)",
        "exif-urgency-other": "Korisnički određen prioritet ($1)",
-       "namespacesall": "sve",
+       "namespacesall": "svi",
        "monthsall": "sve",
        "confirmemail": "Potvrdite adresu e-pošte",
        "confirmemail_noemail": "Niste unijeli tačnu e-mail adresu u Vaše [[Special:Preferences|korisničke postavke]].",
        "logentry-newusers-byemail": "Korisnički račun $3 je {{GENDER:$2|napravio|napravila}} $1 i lozinka/šifra je poslana putem e-maila",
        "logentry-newusers-autocreate": "Korisnički račun $1 automatski je {{GENDER:$2|napravljen}}",
        "logentry-protect-move_prot": "$1 {{GENDER:$2|premjestio|premjestila}} je postavke zaštite sa $4 na $3",
+       "logentry-protect-unprotect": "$1 {{GENDER:$2|uklonio|uklonila}} je zaštitu sa stranice $3",
+       "logentry-protect-protect": "$1 {{GENDER:$2|zaštitio|zaštitila}} je $3 $4",
+       "logentry-protect-modify": "$1 {{GENDER:$2|promijenio|promijenila}} je stepen zaštite za $3 $4",
        "logentry-rights-rights": "$1 {{GENDER:$2|promijenio|promijenila}} je članstvo grupe za $3 iz $4 u $5",
        "logentry-rights-rights-legacy": "$1 je {{GENDER:$2|promijenio|promijenila|promijenio}} članstvo grupe za $3",
        "logentry-rights-autopromote": "$1 {{GENDER:$1|je automatski promijenjeno članstvo|su automatski promijenjena članstva}} iz $4 u $5",
index 7d3ffe8..2b99a6b 100644 (file)
        "mw-widgets-dateinput-placeholder-day": "AAAA-MM-DD",
        "mw-widgets-dateinput-placeholder-month": "AAAA-MM",
        "mw-widgets-titleinput-description-new-page": "la pàgina no existeix encara",
-       "mw-widgets-titleinput-description-redirect": "redirigeix a $1"
+       "mw-widgets-titleinput-description-redirect": "redirigeix a $1",
+       "api-error-blacklisted": "Trieu un títol diferent, més descriptiu."
 }
index b729a55..3972e39 100644 (file)
        "special-characters-group-sinhala": "سینھالا",
        "special-characters-group-gujarati": "گوجەراتی",
        "special-characters-group-thai": "تایلەندی",
-       "special-characters-group-khmer": "خمێری"
+       "special-characters-group-khmer": "خمێری",
+       "api-error-blacklisted": "هەڵبژێرە ناونیشانی جیاوازتر و واتادارتر."
 }
index 804eb0c..bf21f22 100644 (file)
        "viewsource": "Zobrazit zdroj",
        "viewsource-title": "Zobrazení zdroje stránky $1",
        "actionthrottled": "Akce byla pozastavena",
-       "actionthrottledtext": "Vzhledem k protispamovým opatřením nemůžete požadovanou akci provádět příliš častokrát v krátké době.\nZkuste to znovu za několik minut.",
+       "actionthrottledtext": "Vzhledem k opatřením proti zneužití nemůžete požadovanou akci provádět příliš často v krátkém časovém rozmezí.\nZkuste to znovu za několik minut.",
        "protectedpagetext": "Tato stránka byla zamčena, aby se předešlo jejímu editování.",
        "viewsourcetext": "Můžete si prohlédnout a zkopírovat zdrojový kód této stránky.",
        "viewyourtext": "Můžete si prohlédnout a zkopírovat zdrojový kód <strong>vašich změn</strong> této stránky.",
        "passwordreset-emailtext-ip": "Někdo (patrně vy, z IP adresy $1) zažádal na {{grammar:6sg|{{SITENAME}}}} ($4) o nastavení nového hesla k vašemu účtu. K této adrese {{PLURAL:$3|je přiřazen následující účet|jsou přiřazeny následující účty}}:\n\n$2\n\n{{PLURAL:$3|Toto dočasné heslo|Tato dočasná hesla}} vyprší za {{PLURAL:$5|jeden den|$5 dny|$5 dnů}}.\nNyní byste se měli přihlásit a zvolit si nové heslo. Pokud tento požadavek poslal někdo jiný nebo jste si na své staré heslo vzpomněli, a nechcete ho tedy změnit, můžete tuto zprávu ignorovat a nadále používat původní heslo.",
        "passwordreset-emailtext-user": "{{gender:$1|Uživatel|Uživatelka}} $1 na {{grammar:6sg|{{SITENAME}}}} {{gender:$1|zažádal|zažádala}} na {{grammar:6sg|{{SITENAME}}}} ($4) o nastavení nového hesla k vašemu\núčtu. K této adrese {{PLURAL:$3|je přiřazen následující účet|jsou přiřazeny následující účty}}:\n\n$2\n\n{{PLURAL:$3|Toto dočasné heslo|Tato dočasná hesla}} vyprší {{PLURAL:$5|za jeden den|za $5 dny|za $5 dnů}}.\nNyní byste se měl(a) přihlásit a zvolit si nové heslo. Pokud tento požadavek\nposlal někdo jiný nebo jste si na své staré heslo vzpomněl(a), a nechcete ho\ntedy změnit, můžete tuto zprávu ignorovat a nadále používat původní heslo.",
        "passwordreset-emailelement": "Uživatelské jméno: \n$1\n\nDočasné heslo: \n$2",
-       "passwordreset-emailsent": "E-mail pro získání nového hesla byl odeslán.",
+       "passwordreset-emailsent": "Pokud je to registrovaná emailová adresa k vašemu účtu, tak vám bude odeslán požadavak pro získání nového hesla.",
        "passwordreset-emailsent-capture": "Byl odeslán e-mail pro získání nového hesla, který je zobrazen níže.",
        "passwordreset-emailerror-capture": "Byl vygenerován e-mail pro získání nového hesla, který je zobrazen níže, ale {{GENDER:$2|uživateli|uživatelce}} se ho nepodařilo odeslat: $1",
        "changeemail": "Změna nebo odstranění e-mailové adresy",
-       "changeemail-header": "Změna e-mailové adresy k účtu",
+       "changeemail-header": "Vyplněním tohoto formuláře můžete změnit svou e-mailovou adresu. Pokud chcete ze svého účtu odstranit vazbu na všechny e-mailové adresy, ponechte při odeslání formuláře novou e-mailovou adresu prázdnou.",
+       "changeemail-passwordrequired": "Pro potvrzení této změny musíte zadat své heslo.",
        "changeemail-no-info": "K této stránce mají přímý přístup jen přihlášení uživatelé.",
        "changeemail-oldemail": "Stávající e-mailová adresa:",
        "changeemail-newemail": "Nová e-mailová adresa:",
        "sig_tip": "Váš podpis s datem a časem",
        "hr_tip": "Vodorovná čára (používejte střídmě)",
        "summary": "Shrnutí editace:",
-       "subject": "Předmět/nadpis:",
+       "subject": "Předmět:",
        "minoredit": "Tato změna je malá editace.",
        "watchthis": "Sledovat tuto stránku",
        "savearticle": "Uložit změny",
        "missingsummary": "<strong>Připomenutí:</strong> Nezadali jste shrnutí editace. Pokud ještě jednou kliknete na „{{int:savearticle}}“, bude vaše editace zapsána bez shrnutí.",
        "selfredirect": "<strong>Upozornění:</strong> Pokoušíte se tuto stránku přesměrovat na sebe samu.\nMožná jste zadali chybný cíl přesměrování, nebo editujete špatnou stránku.\nPokud ještě jednou kliknete na „{{int:savearticle}}“, bude i přesto přesměrování vytvořeno.",
        "missingcommenttext": "Zadejte komentář",
-       "missingcommentheader": "<strong>Připomenutí:</strong> Nezadali jste předmět/nadpis pro tento komentář.\nPokud ještě jednou kliknete na „{{int:savearticle}}“, bude vaše editace uložena bez něj.",
+       "missingcommentheader": "<strong>Připomenutí:</strong> Nezadali jste předmět pro tento komentář.\nPokud ještě jednou kliknete na „{{int:savearticle}}“, bude vaše editace uložena bez něj.",
        "summary-preview": "Náhled shrnutí:",
-       "subject-preview": "Náhled předmětu/nadpisu:",
+       "subject-preview": "Náhled předmětu:",
        "previewerrortext": "Při pokusu o zobrazení náhledu vašich změn došlo k chybě.",
        "blockedtitle": "Uživatel zablokován",
        "blockedtext": "<strong>Vaší IP adrese či uživatelskému jménu byla zablokována možnost editace.</strong>\n\nZablokování {{GENDER:$4|provedl|provedla}} $1.\nUdaným důvodem bylo <em>$2</em>.\n\n* Začátek blokování: $8\n* Zablokování vyprší: $6\n* Blokovaný uživatel: $7\n\nPokud chcete zablokování prodiskutovat, můžete kontaktovat {{GENDER:$4|uživatele|uživatelku}} $1 či jiného [[{{MediaWiki:Grouppage-sysop}}|správce]].\nUvědomte si, že nemůžete použít funkci „Poslat e-mail“, jestliže nemáte ve svém [[Special:Preferences|nastavení]] uvedenu platnou e-mailovou adresu nebo pokud vám byla tato možnost zakázána.\nVaše IP adresa je $3 a&nbsp;identifikační číslo bloku je #$5; tyto údaje uvádějte ve všech dotazech na správce.",
        "mw-widgets-dateinput-placeholder-day": "RRRR-MM-DD",
        "mw-widgets-dateinput-placeholder-month": "RRRR-MM",
        "mw-widgets-titleinput-description-new-page": "stránka zatím neexistuje",
-       "mw-widgets-titleinput-description-redirect": "přesměrování na $1"
+       "mw-widgets-titleinput-description-redirect": "přesměrování na $1",
+       "api-error-blacklisted": "Zvolte jiný, popisný název."
 }
index 156470d..ae34411 100644 (file)
        "special-characters-title-emdash": "heiffen em",
        "special-characters-title-minus": "arwydd minws",
        "mw-widgets-dateinput-placeholder-day": "BBBB-MM-DD",
-       "mw-widgets-dateinput-placeholder-month": "BBBB-MM"
+       "mw-widgets-dateinput-placeholder-month": "BBBB-MM",
+       "api-error-blacklisted": "Dewiswch deitl gwahanol sy'n disgrifio'r gwaith, os gwelwch yn dda."
 }
index 18da372..04698a2 100644 (file)
        "nstab-template": "Skabelon",
        "nstab-help": "Hjælp",
        "nstab-category": "Kategori",
+       "mainpage-nstab": "Forside",
        "nosuchaction": "Funktionen findes ikke",
        "nosuchactiontext": "Handlingen som er angivet i URL'en er ugyldig.\nDu kan have skrevet URL'en forkert, eller fulgt en ukorrekt henvisning.\nDet kan også skyldes en fejl i programmellet som bruges af {{SITENAME}}.",
        "nosuchspecialpage": "En sådan specialside findes ikke",
        "createacct-captcha": "Sikkerhedskontrol",
        "createacct-imgcaptcha-ph": "Indtast venligst ovenstående tekst",
        "createacct-submit": "Opret din konto",
-       "createacct-another-submit": "Opret en anden konto",
+       "createacct-another-submit": "Opret konto",
        "createacct-benefit-heading": "{{SITENAME}} laves af mennesker som dig.",
        "createacct-benefit-body1": "{{PLURAL:$1|redigering|redigeringer}}",
        "createacct-benefit-body2": "{{PLURAL:$1|side|sider}}",
        "passwordreset-emailsent": "En e-mail om nulstilling af adgangskode er blevet sendt.",
        "passwordreset-emailsent-capture": "En e-mail om nulstilling af adgangskode, som vist nedenfor, er blevet sendt.",
        "passwordreset-emailerror-capture": "En mail om nulstilling af adgangskode, som vist nedenfor, blev genereret, men det lykkedes ikke at sende den til {{GENDER:$2|bruger}}: $1",
-       "changeemail": "Ændre e-mailadresse",
+       "changeemail": "Ændr eller fjern e-mailadresse",
        "changeemail-header": "Ændre kontoens e-mailadresse",
        "changeemail-no-info": "Du skal være logget på for at komme direkte til denne side.",
        "changeemail-oldemail": "Nuværende e-mailadresse:",
        "tooltip-pt-logout": "Log af",
        "tooltip-pt-createaccount": "Du opfordres til at oprette en konto og logge på, men det er ikke obligatorisk",
        "tooltip-ca-talk": "Diskussion om indholdet på siden",
-       "tooltip-ca-edit": "Du kan redigere denne side. Brug venligst forhåndsvisning før du gemmer.",
+       "tooltip-ca-edit": "Redigér denne side",
        "tooltip-ca-addsection": "Start et nyt afsnit",
        "tooltip-ca-viewsource": "Denne side er beskyttet.\nDu kan se på kildeteksten.",
        "tooltip-ca-history": "Tidligere versioner af denne side",
        "tooltip-ca-nstab-main": "Se indholdssiden",
        "tooltip-ca-nstab-user": "Se brugersiden",
        "tooltip-ca-nstab-media": "Se mediasiden",
-       "tooltip-ca-nstab-special": "Dette er en specialside; man kan ikke redigere sådanne sider",
+       "tooltip-ca-nstab-special": "Dette er en specialside og kan ikke redigeres",
        "tooltip-ca-nstab-project": "Vis projektsiden",
        "tooltip-ca-nstab-image": "Se filsiden",
        "tooltip-ca-nstab-mediawiki": "Se systembeskeden",
        "spam_reverting": "Sidste version uden henvisning til $1 gendannet.",
        "spam_blanking": "Alle versioner, som indeholdt henvisninger til $1, er renset.",
        "spam_deleting": "Alle versioner indeholder henvisninger til $1, sletter",
-       "simpleantispam-label": "Anti-spam tjek.\nUdfyld '''IKKE''' dette!",
+       "simpleantispam-label": "Anti-spam tjek.\nUdfyld <strong>ikke</strong> dette!",
        "pageinfo-title": "Information om \"$1\"",
        "pageinfo-not-current": "Beklager, det er umuligt at give denne information for gamle udgaver.",
        "pageinfo-header-basic": "Grundlæggende oplysninger",
        "exif-primarychromaticities": "Kromaticitet af primærfarver",
        "exif-ycbcrcoefficients": "YCbCr-koefficienter",
        "exif-referenceblackwhite": "Sort/hvide-referencepunkter",
-       "exif-datetime": "Lagringstidspunkt",
+       "exif-datetime": "Dato og tid for ændring af fil",
        "exif-imagedescription": "Billedtitel",
-       "exif-make": "Producent",
-       "exif-model": "Model",
+       "exif-make": "Kameraproducent",
+       "exif-model": "Kameramodel",
        "exif-software": "Software",
        "exif-artist": "Fotograf",
        "exif-copyright": "Ophavsret",
        "exif-usercomment": "Brugerkommentarer",
        "exif-relatedsoundfile": "Tilhørende lydfil",
        "exif-datetimeoriginal": "Optagelsestidspunkt",
-       "exif-datetimedigitized": "Digitaliseringstidspunkt",
+       "exif-datetimedigitized": "Dato og tid for digitalisering",
        "exif-subsectime": "Lagringstidspunkt (1/100 s)",
        "exif-subsectimeoriginal": "Optagelsestidspunkt (1/100 s)",
        "exif-subsectimedigitized": "Digitaliseringstidspunkt (1/100 s)",
        "special-characters-title-emdash": "lang tankestreg",
        "special-characters-title-minus": "minustegn",
        "mw-widgets-dateinput-placeholder-day": "ÅÅÅÅ-MM-DD",
-       "mw-widgets-dateinput-placeholder-month": "ÅÅÅÅ-MM"
+       "mw-widgets-dateinput-placeholder-month": "ÅÅÅÅ-MM",
+       "api-error-blacklisted": "Vælg venligst en anden, beskrivende titel."
 }
index 3412983..6d2230a 100644 (file)
        "svg-long-error": "Ungültige SVG-Datei: $1",
        "show-big-image": "Originaldatei",
        "show-big-image-preview": "Größe dieser Vorschau: $1.",
+       "show-big-image-preview-differ": "Größe der $3-Vorschau dieser $2-Datei: $1.",
        "show-big-image-other": "Weitere {{PLURAL:$2|Auflösung|Auflösungen}}: $1.",
        "show-big-image-size": "$1 × $2 Pixel",
        "file-info-gif-looped": "Endlosschleife",
        "mw-widgets-dateinput-placeholder-day": "JJJJ-MM-TT",
        "mw-widgets-dateinput-placeholder-month": "JJJJ-MM",
        "mw-widgets-titleinput-description-new-page": "Seite ist noch nicht vorhanden",
-       "mw-widgets-titleinput-description-redirect": "Weiterleitung nach $1"
+       "mw-widgets-titleinput-description-redirect": "Weiterleitung nach $1",
+       "api-error-blacklisted": "Bitte einen anderen, aussagekräftigen Titel wählen."
 }
index 8f90d6c..2fc71a2 100644 (file)
        "special-characters-title-emdash": "tira derge",
        "special-characters-title-minus": "işaretê kemiye",
        "mw-widgets-dateinput-placeholder-day": "SSSS-AA-RR",
-       "mw-widgets-dateinput-placeholder-month": "SSSS-AA"
+       "mw-widgets-dateinput-placeholder-month": "SSSS-AA",
+       "api-error-blacklisted": "Reca keme zewbina weçine, name wa şınasnaye bo."
 }
index 765106b..ef3c1e3 100644 (file)
        "userjsyoucanpreview": "'''Χρήσιμη συμβουλή:''' Χρησιμοποιήστε το κουμπί \"{{int:showpreview}}\" για να ελέγξτε τη νέα σας JS πριν την αποθηκεύσετε.",
        "usercsspreview": "'''Σας υπενθυμίζουμε ότι κάνετε απλώς έλεγχο/προεπισκόπηση του CSS του χρήστη -δεν το έχετε ακόμα αποθηκεύσει! '''",
        "userjspreview": "'''Σας υπενθυμίζουμε ότι κάνετε απλώς έλεγχο/προεπισκόπηση του JavaScript του χρήστη -δεν το έχετε ακόμα αποθηκεύσει!'''",
-       "sitecsspreview": "''' Θυμηθείτε ότι κάνετε μόνο προεπισκόπηση σ' αυτή τη  CSS.'' '\n'' ' Δεν το έχετε σώσει  ακόμη!'' '",
+       "sitecsspreview": "<strong>Θυμηθείτε ότι είναι απλώς μια προεπισκόπηση αυτού του CSS.\nΔεν έχει αποθηκευτεί ακόμα!</strong>",
        "sitejspreview": "''' Θυμηθείτε ότι κάνετε μόνο προεπισκόπηση σ'αυτόν τον κώδικα JavaScript.'' '\n'' ' Δεν τον έχετε αποθηκεύσει ακόμη!'' '",
        "userinvalidcssjstitle": "'''Προσοχή:''' Δεν υπάρχει skin με τίτλο \"$1\". Θυμηθείτε οι προσαρμοσμένες σελίδες .css και .js χρησιμοποιούν έναν τίτλο με μικρά γράμματα, π.χ. {{ns:user}}:Foo/vector.css σε αντίθεση με το {{ns:user}}:Foo/Vector.css.",
        "updated": "(Ενημερώθηκε)",
        "mw-widgets-dateinput-placeholder-day": "ΕΕΕΕ-ΜΜ-ΗΗ",
        "mw-widgets-dateinput-placeholder-month": "ΕΕΕΕ-ΜΜ",
        "mw-widgets-titleinput-description-new-page": "η σελίδα που δεν υπάρχει ακόμα",
-       "mw-widgets-titleinput-description-redirect": "ανακατεύθυνση στο $1"
+       "mw-widgets-titleinput-description-redirect": "ανακατεύθυνση στο $1",
+       "api-error-blacklisted": "Παρακαλώ επιλέξτε ένα διαφορετικό, περιγραφικό τίτλο."
 }
index 8dbf024..b9301ac 100644 (file)
        "svg-long-error": "Invalid SVG file: $1",
        "show-big-image": "Original file",
        "show-big-image-preview": "Size of this preview: $1.",
+       "show-big-image-preview-differ": "Size of this $3 preview of this $2 file: $1.",
        "show-big-image-other": "Other {{PLURAL:$2|resolution|resolutions}}: $1.",
        "show-big-image-size": "$1 × $2 pixels",
        "file-info-gif-looped": "looped",
        "mw-widgets-dateinput-placeholder-day": "YYYY-MM-DD",
        "mw-widgets-dateinput-placeholder-month": "YYYY-MM",
        "mw-widgets-titleinput-description-new-page": "page does not exist yet",
-       "mw-widgets-titleinput-description-redirect": "redirect to $1"
+       "mw-widgets-titleinput-description-redirect": "redirect to $1",
+       "api-error-blacklisted": "Please choose a different, descriptive title."
 }
index 11bfb3d..d9362f9 100644 (file)
        "special-characters-title-emdash": "longa streketo",
        "special-characters-title-minus": "minus-signo",
        "mw-widgets-dateinput-placeholder-day": "JJJJ-MM-TT",
-       "mw-widgets-dateinput-placeholder-month": "JJJJ-MM"
+       "mw-widgets-dateinput-placeholder-month": "JJJJ-MM",
+       "api-error-blacklisted": "Bonvolu elekti alian, priskriban titolon."
 }
index 9daab3c..e71cd2f 100644 (file)
        "passwordreset-emailsent-capture": "Se ha enviado un correo para el restablecimiento de la contraseña, el cual se muestra a continuación.",
        "passwordreset-emailerror-capture": "Se ha generado un correo electrónico de restablecimiento de contraseña, que se muestra a continuación, pero ha fallado el envío {{GENDER:$2|al usuario|a la usuaria}}: $1",
        "changeemail": "Cambiar o eliminar la dirección de correo electrónico",
-       "changeemail-header": "Cambiar la dirección de correo de la cuenta",
+       "changeemail-header": "Completa este formulario para cambiar tu dirección de correo electrónico. Si quieres eliminar la asociación de cualquier dirección de correo electrónico con tu cuenta, deja en blanco la nueva dirección de correo electrónico cuando envíes el formulario.",
        "changeemail-passwordrequired": "Tendrás que escribir tu contraseña para confirmar este cambio.",
        "changeemail-no-info": "Debes iniciar sesión para acceder directamente a esta página.",
        "changeemail-oldemail": "Dirección de correo electrónico actual:",
        "mw-widgets-dateinput-placeholder-day": "AAAA-MM-DD",
        "mw-widgets-dateinput-placeholder-month": "AAAA-MM",
        "mw-widgets-titleinput-description-new-page": "la página aún no existe",
-       "mw-widgets-titleinput-description-redirect": "redirigir a $1"
+       "mw-widgets-titleinput-description-redirect": "redirigir a $1",
+       "api-error-blacklisted": "Elige un título diferente, más descriptivo."
 }
index c74ef89..8216c8a 100644 (file)
        "viewsource": "Vaata lähteteksti",
        "viewsource-title": "Lehekülje $1 lähteteksti vaatamine",
        "actionthrottled": "Toiming nurjus",
-       "actionthrottledtext": "Rämpsmuudatuste vastase meetmena pole sul lühikse aja jooksul seda toimingut liiga palju kordi lubatud sooritada. Sa oled lühikse aja jooskul seda toimingut liiga palju kordi sooritanud.\nPalun proovi mõne minuti pärast uuesti.",
+       "actionthrottledtext": "Väärtarvituse vastase meetmena pole sul lühikse aja jooksul seda toimingut liiga palju kordi lubatud sooritada. Sa oled lühikse aja jooskul seda toimingut liiga palju kordi sooritanud.\nPalun proovi mõne minuti pärast uuesti.",
        "protectedpagetext": "See lehekülg on lukustatud, et ei tehtaks muudatusi ega sooritataks muid toiminguid.",
        "viewsourcetext": "Saad vaadata ja kopeerida selle lehekülje lähteteksti.",
        "viewyourtext": "Saad vaadata ja kopeerida sellel leheküljel tehtud <strong>enda muudatuste</strong> lähteteksti.",
        "passwordreset-emailtext-ip": "Keegi, arvatavasti sina ise, IP-aadressilt $1 palus lähtestada sinu {{GRAMMAR:genitive|{{SITENAME}}}} ($4) parooli. Selle e-posti aadressiga on seotud {{PLURAL:$3|järgmine konto|järgmised kontod}}:\n\n$2\n\n{{PLURAL:$3|See ajutine parool aegub|Need ajutised paroolid aeguvad}} {{PLURAL:$5|ühe|$5}} päeva pärast.\nPeaksid nüüd sisse logima ja uue parooli valima. Kui selle palve esitas keegi teine või kui sulle meenus su parool ja sa ei soovi seda enam muuta, võid teadet eirata ja jätkata vana parooli kasutamist.",
        "passwordreset-emailtext-user": "{{GRAMMAR:genitive|{{SITENAME}}}} kasutaja $1 palus lähtestada sinu {{GRAMMAR:genitive|{{SITENAME}}}} ($4) parooli. Selle e-posti aadressiga on seotud {{PLURAL:$3|järgmine konto|järgmised kontod}}:\n\n$2\n\n{{PLURAL:$3|See ajutine parool aegub|Need ajutised paroolid aeguvad}} {{PLURAL:$5|ühe|$5}} päeva pärast.\nPeaksid nüüd sisse logima ja uue parooli valima. Kui selle palve esitas keegi teine või kui sulle meenus su parool ja sa ei soovi seda enam muuta, võid teadet eirata ja jätkata vana parooli kasutamist.",
        "passwordreset-emailelement": "Kasutajanimi: \n$1\n\nAjutine parool: \n$2",
-       "passwordreset-emailsent": "Parooli lähtestamise e-kiri on saadetud.",
+       "passwordreset-emailsent": "Kui oled sidunud konto selle e-posti aadressiga, siis saadetakse sulle parooli lähtestamise e-kiri.",
        "passwordreset-emailsent-capture": "E-kirjatsi on saadetud allpool näidatav parooli lähtestuskiri.",
        "passwordreset-emailerror-capture": "Koostati allpool näidatav parooli lähtestuskiri, aga selle e-kirjatsi {{GENDER:$2|kasutajale}} saatmine ebaõnnestus: $1",
-       "changeemail": "E-posti aadressi muutmine",
-       "changeemail-text": "Täida see vorm, et muuta oma e-posti aadress. Et seda muudatust kinnitada, pead sisestama oma parooli.",
+       "changeemail": "E-posti aadressi muutmine või eemaldamine",
+       "changeemail-header": "Täida see vorm, et muuta oma e-posti aadress. Kui soovid, et konto poleks enam seotud ühegi e-posti aadressiga, siis jäta vormi esitamisel e-posti aadressi väli tühjaks.",
+       "changeemail-passwordrequired": "Et muudatus kinnitada, pead sisestama oma parooli.",
        "changeemail-no-info": "Otselingi kaudu sellele lehele jõudmiseks pead olema sisse loginud.",
        "changeemail-oldemail": "Praegune e-posti aadress:",
        "changeemail-newemail": "Uus e-posti aadress:",
+       "changeemail-newemail-help": "See väli tuleks jätta tühjaks juhul, kui tahad oma e-posti aadressi eemaldada. Kui eemaldad e-posti aadressi, ei sa siin vikis unustatud parooli lähtestada ja sulle ei saa e-kirju saata.",
        "changeemail-none": "(puudub)",
        "changeemail-password": "Sinu parool {{GRAMMAR:inessive|{{SITENAME}}}}:",
        "changeemail-submit": "Muuda e-posti aadress",
        "sig_tip": "Sinu allkiri ajatempliga",
        "hr_tip": "Rõhtkriips (kasuta liialdamata)",
        "summary": "Resümee:",
-       "subject": "Pealkiri:",
+       "subject": "Teema:",
        "minoredit": "See on pisiparandus",
        "watchthis": "Jälgi seda lehekülge",
        "savearticle": "Salvesta",
        "missingsummary": "'''Meeldetuletus:''' Sa ei ole lisanud muudatuse resümeed.\nKui vajutad uuesti salvestamise nupule, salvestatakse muudatus ilma resümeeta.",
        "selfredirect": "<strong>Hoiatus:</strong> Suunad selle lehekülje iseeneda juurde.\nVõimalik, et oled määranud ümbersuunamise jaoks vale sihtleheküljeks või redigeerid vale lehekülge.\nÜmbersuunamine luuakse sellest hoolimata, kui klõpsad uuesti \"{{int:savearticle}}\".",
        "missingcommenttext": "Palun sisesta siit allapoole kommentaar.",
-       "missingcommentheader": "'''Meeldetuletus:''' Sa pole kirjutanud kommentaarile teemat ega pealkirja.\nKui klõpsad uuesti \"{{int:savearticle}}\", salvestatakse su kommentaar kummatagi.",
+       "missingcommentheader": "<strong>Meeldetuletus:</strong> Sa pole kirjutanud kommentaarile teemat.\nKui klõpsad uuesti \"{{int:savearticle}}\", salvestatakse su kommentaar ilma teemata.",
        "summary-preview": "Resümee eelvaade:",
        "subject-preview": "Alaosa pealkirja eelvaade:",
        "previewerrortext": "Sinu muudatuste eelvaatluse juures esines tõrge.",
        "prefs-watchlist-token": "Jälgimisloendi luba:",
        "prefs-misc": "Muu",
        "prefs-resetpass": "Muuda parool",
-       "prefs-changeemail": "Muuda e-posti aadressi",
+       "prefs-changeemail": "Muuda e-posti aadressi või eemalda see",
        "prefs-setemail": "Määra e-posti aadress",
        "prefs-email": "E-posti sätted",
        "prefs-rendering": "Ilme",
        "recentchanges-page-added-to-category-bundled": "kategooriasse lisatud \"[[:$1]]\" ja veel {{PLURAL:$2|üks lehekülg|$2 lehekülge}}",
        "recentchanges-page-removed-from-category": "kategooriast eemaldatud \"[[:$1]]\"",
        "recentchanges-page-removed-from-category-bundled": "kategooriast eemaldatud \"[[:$1]]\" ja veel {{PLURAL:$2|üks lehekülg|$2 lehekülge}}",
+       "autochange-username": "MediaWiki automaatne muudatus",
        "upload": "Faili üleslaadimine",
        "uploadbtn": "Laadi fail üles",
        "reuploaddesc": "Tagasi üleslaadimise vormi juurde.",
        "upload-options": "Üleslaadimise sätted",
        "watchthisupload": "Jälgi seda faili",
        "filewasdeleted": "Selle nimega fail on lisatud ja kustutatud hiljuti.\nKontrolli $1 enne jätkamist.",
+       "filename-thumb-name": "Tundub, et tegu on pisipildi pealkirjaga. Palun ära laadi pisipilti samas vikis uuesti üles. Või siis paranda palun failinimi, nii et see oleks sisukam ja ei sisaldaks pisipildi eesliidet.",
        "filename-bad-prefix": "Üleslaaditava faili nimi algab eesliitega '''\"$1\"''', mis on omane digikaamera antud ebamäärastele nimedele.\nPalun vali oma failile kirjeldavam nimi.",
        "filename-prefix-blacklist": " #<!-- jäta see rida muutmata --> <pre>\n# Süntaks on järgmine:\n#   * Kõik alates märgist \"#\" kuni rea lõpuni on kommentaar.\n#   * Iga mittetühi rida on tüüpiline eesliide, mille digikaamerad automaatselt failinimele lisavad.\nCIMG # Casio\nDSC_ # Nikon\nDSCF # Fuji\nDSCN # Nikon\nDUW # mõned mobiiltelefonid\nIMG # üldine\nJD # Jenoptik\nMGP # Pentax\nPICT # erinevad\n #</pre> <!-- jäta see rida muutmata -->",
        "upload-success-subj": "Üleslaadimine õnnestus",
        "upload-form-label-infoform-description": "Kirjeldus",
        "upload-form-label-usage-title": "Kasutus",
        "upload-form-label-usage-filename": "Failinimi",
+       "foreign-structured-upload-form-label-own-work": "See on minu enda töö",
+       "foreign-structured-upload-form-label-infoform-categories": "Kategooriad",
+       "foreign-structured-upload-form-label-infoform-date": "Kuupäev",
+       "foreign-structured-upload-form-label-own-work-message-local": "Kinnitan, et seda faili üles laadides järgin saidi {{SITENAME}} kasutustingimusi ja litsentsipõhimõtteid.",
+       "foreign-structured-upload-form-label-not-own-work-message-local": "Kui sul pole võimalik laadida seda faili üles kooskõlas saidi {{SITENAME}} reeglitega, siis palun sule see dialoog ja proovi teisiti toimida.",
+       "foreign-structured-upload-form-label-not-own-work-local-local": "Võimalik, et soovid kasutada [[Special:Upload|harilikku üleslaadimislehekülge]].",
+       "foreign-structured-upload-form-label-own-work-message-default": "Saan aru, et laadin selle faili jagatud varamusse. Kinnitan, et teen seda kooskõlas sealsete kasutustingimuste ja litsentsipõhimõtetega.",
+       "foreign-structured-upload-form-label-not-own-work-message-default": "Kui sul pole võimalik laadida seda faili üles kooskõlas jagatud varamu reeglitega, siis palun sule see dialoog ja proovi teisiti toimida.",
+       "foreign-structured-upload-form-label-not-own-work-local-default": "Võimalik, et soovid [[Special:Upload|laadida selle faili üles saidil {{SITENAME}}]], kui seda on võimalik teha kooskõlas sealsete reeglitega.",
+       "foreign-structured-upload-form-label-own-work-message-shared": "Kinnitan, et olen selle faili autoriõiguse valdaja ja nõustun faili avaldamisega Wikimedia Commonsis pöördumatult Creative Commonsi litsentsi \"[https://creativecommons.org/licenses/by-sa/4.0/deed.et Autorile viitamine + jagamine samadel tingimustel 4.0]\" all. Samuti nõustun [https://wikimediafoundation.org/wiki/Terms_of_Use kasutustingimustega].",
+       "foreign-structured-upload-form-label-not-own-work-message-shared": "Kui sa pole selle faili autoriõiguse valdaja või kui soovid avaldada seda teise litsentsi all, siis on sul võimalik kasutada [https://commons.wikimedia.org/wiki/Special:UploadWizard Commonsi üleslaadimisviisardit].",
+       "foreign-structured-upload-form-label-not-own-work-local-shared": "Võimalik, et soovid kasutada [[Special:Upload|saidi {{SITENAME}} üleslaadimislehekülge]], kui seda faili on lubatud üles laadida kooskõlas sealsete reeglitega.",
        "backend-fail-stream": "Faili $1 ei saanud edastada.",
        "backend-fail-backup": "Faili $1 ei saanud varundada.",
        "backend-fail-notexists": "Faili $1 pole olemas.",
        "move-page-legend": "Lehekülje teisaldamine",
        "movepagetext": "Allolevat vormi kasutades saad lehekülje ümber nimetada. Lehekülje ajalugu tõstetakse uue pealkirja alla automaatselt.\nPraeguse pealkirjaga leheküljest saab ümbersuunamislehekülg uuele leheküljele.\nSaad senisele pealkirjale viitavad ümbersuunamised automaatselt parandada.\nKui sa seda ei tee, kontrolli, et teisaldamise tõttu ei jää maha [[Special:DoubleRedirects|kahekordseid]] ega [[Special:BrokenRedirects|katkiseid ümbersuunamisi]].\nSinu kohus on hoolitseda selle eest, et kõik jääks toimima, nagu ette nähtud.\n\nPane tähele, et lehekülge '''ei teisaldata''' juhul, kui uue pealkirjaga lehekülg on juba olemas. Erandiks on juhud, kui viimane on redigeerimisajaloota ümbersuunamislehekülg.\nSee tähendab, et kogemata ei saa üle kirjutada juba olemasolevat lehekülge, kuid saab ebaõnnestunud ümbernimetamise tagasi pöörata.\n\n'''Hoiatus!'''\nTegu võib olla väga loetava lehekülje jaoks tõsise ja ootamatu muudatusega;\nenne jätkamist teadvusta palun tagajärgi.",
        "movepagetext-noredirectfixer": "Allolevat vormi kasutades saad lehekülje ümber nimetada. Lehekülje ajalugu tõstetakse uue pealkirja alla automaatselt.\nPraeguse pealkirjaga leheküljest saab ümbersuunamislehekülg uuele leheküljele.\nKontrolli, et teisaldamise tõttu ei jää maha [[Special:DoubleRedirects|kahekordseid]] ega [[Special:BrokenRedirects|katkiseid ümbersuunamisi]].\nSinu kohus on hoolitseda selle eest, et kõik jääks toimima, nagu ette nähtud.\n\nPane tähele, et lehekülge '''ei teisaldata''' juhul, kui uue pealkirjaga lehekülg on juba olemas. Erandiks on juhud, kui olemasolev lehekülg on tühi või redigeerimisajaloota ümbersuunamislehekülg.\nSee tähendab, et kogemata ei saa üle kirjutada juba olemasolevat lehekülge, kuid saab ebaõnnestunud ümbernimetamise tagasi pöörata.\n\n'''Hoiatus!'''\nTegu võib olla väga loetava lehekülje jaoks tõsise ja ootamatu muudatusega;\nenne jätkamist teadvusta palun tagajärgi.",
-       "movepagetalktext": "Koos artiklileheküljega teisaldatakse automaatselt ka arutelulehekülg, '''välja arvatud juhtudel, kui:'''\n*uue pealkirja all on juba arutelulehekülg, mis pole tühi;\n*jätad alloleva märkeruudu valimata.\n\nNeil juhtudel saad lehekülje soovi korral käsitsi teisaldada või liita.",
+       "movepagetalktext": "Kui märgid selle ruudu, teisaldatakse arutelulehekülg automaatselt uue pealkirja alla. Seda välja arvatud juhul, kui uue pealkirja all on juba arutelulehekülg, mis pole tühi.\n\nSel juhul saad lehekülje soovi korral käsitsi teisaldada või liita.",
        "moveuserpage-warning": "'''Hoiatus:''' Oled teisaldamas kasutajalehekülge. Pane tähele, et teisaldatakse ainult lehekülg ja kasutajat '''ei''' nimetata ümber.",
        "movecategorypage-warning": "<strong>Hoiatus:</strong> Oled teisaldamas kategoorialehekülge. Pane palun tähele, et teisaldatakse vaid see lehekülg ja ühtegi vanas kategoorias sisalduvat lehekülge <em>ei</em> kategoriseerita ümber uude kategooriasse.",
        "movenologintext": "Lehekülje teisaldamiseks pead registreeruma ja [[Special:UserLogin|sisse logima]].",
        "cant-move-to-user-page": "Sul ei ole õigust teisaldada lehekülge kasutajaleheks (ei käi kasutaja alamlehe kohta).",
        "cant-move-category-page": "Sul pole õigust kategoorialehekülgi teisaldada.",
        "cant-move-to-category-page": "Sul pole õigust teisaldada lehekülge kategoorialeheküljele.",
-       "newtitle": "Uue pealkirja alla:",
+       "newtitle": "Uus pealkiri:",
        "move-watch": "Jälgi lähte- ja sihtlehekülge",
        "movepagebtn": "Teisalda lehekülg",
        "pagemovedsub": "Lehekülg on teisaldatud",
        "svg-long-error": "Vigane SVG-fail: $1",
        "show-big-image": "Algfail",
        "show-big-image-preview": "Selle eelvaate suurus: $1.",
+       "show-big-image-preview-differ": "Selle $2-faili $3-vormingus eelvaate suurus: $1.",
        "show-big-image-other": "{{PLURAL:$2|Teine eraldusvõime|Teised eraldusvõimed}}: $1.",
        "show-big-image-size": "$1 × $2 pikslit",
        "file-info-gif-looped": "korduv",
        "mw-widgets-dateinput-placeholder-day": "AAAA-KK-PP",
        "mw-widgets-dateinput-placeholder-month": "AAAA-KK",
        "mw-widgets-titleinput-description-new-page": "lehekülge pole veel",
-       "mw-widgets-titleinput-description-redirect": "ümbersuunamine leheküljele \"$1\""
+       "mw-widgets-titleinput-description-redirect": "ümbersuunamine leheküljele \"$1\"",
+       "api-error-blacklisted": "Palun vali muu pealkiri, mis on kirjeldav."
 }
index fff3e79..1eca2bb 100644 (file)
        "actionthrottled": "Ekintzaren gainetik pasa da",
        "actionthrottledtext": "Spamaren aurkako neurri gisa ekintza hau denbora tarte laburrean aldi askotan egiteko mugapena duzu, eta muga hori zeharkatu duzu.\nSaia zaitez berriro minutu batzuen buruan, mesedez.",
        "protectedpagetext": "Orri hau babestu da, edizioak edo beste ekintza batzuk egin ez daitezen.",
-       "viewsourcetext": "Orri honen iturburu-testua ikusi eta kopiatu dezakezu:",
-       "viewyourtext": "Ondorengo orri honetan '''zeuk egin dituzun aldaketen''' iturburu kodea ikus eta kopia dezakezu:",
+       "viewsourcetext": "Orri honen iturburu-testua ikusi eta kopiatu dezakezu.",
+       "viewyourtext": "Ondorengo orri honetan <strong>zeuk egin dituzun aldaketen</strong> iturburu kodea ikus eta kopia dezakezu:",
        "protectedinterface": "Orrialde honek softwarearentzako interfaze testua gordetzen du eta blokeatuta dago bandalismoak saihesteko.\nWiki guztientzako aldaketak egin edo gehitzeko, mesedez erabili [//translatewiki.net/ translatewiki.net], MediaWikiren lokalizazio proiektua.",
-       "editinginterface": "'''Oharra:''' Softwarearen interfazerako testua duen orri bat aldatzen ari zara.\nOrri honetako aldaketek wiki honetako erabiltzaile guztiei eragingo diete.\nItzulpenetarako, erabil ezazu [//translatewiki.net/ translatewiki.net], MediaWiki proiektuan.",
+       "editinginterface": "<strong> Oharra:</strong> Softwarearen interfazerako testua duen orri bat aldatzen ari zara.\nOrri honetako aldaketek wiki honetako erabiltzaile guztiei eragingo diete.",
+       "translateinterface": "Itzulpenetarako, erabil ezazu [//translatewiki.net/ translatewiki.net], MediaWiki proiektuan.",
        "cascadeprotected": "Orri hau aldaketen aurka babestua dago, sartuta dagoelako «kaskadako babesa» aukerarekin babestu {{PLURAL:$1|duten orri honetan|dituzten orri hauetan}}:\n$2",
        "namespaceprotected": "Ez daukazu '''$1''' izen-tarteko orrialdeak aldatzeko baimenik.",
        "customcssprotected": "Ez duzu baimenik CSS orrialde hau aldatzeko beste erabiltzaile baten hobespen pertsonalak dituelako.",
        "invalidtitle-knownnamespace": "Izenburua gaizki dago \"$2\" izen eremuan eta \"$3\" testuan",
        "invalidtitle-unknownnamespace": "Izenburua gaizki dago \"$1\" izen eremuan ezezagunean eta \"$2\" testuan",
        "exception-nologin": "Saioa hasi gabe",
-       "exception-nologin-text": "Orri honetan sartzeko edo ekintza hau egiteko, [[Special:Userlogin|saioa hasi]] behar duzu.",
+       "exception-nologin-text": "Orri honetan sartzeko edo ekintza hau egiteko, saioa hasi behar duzu.",
        "exception-nologin-text-manual": "Mesedez $1 orrialde honetan sartu edo ekintza hau egiteko.",
        "virus-badscanner": "Ezarpen txarrak: antibirus ezezaguna: ''$1''",
        "virus-scanfailed": "eskaneatze txarra ($1 kodea)",
        "passwordreset-emailelement": "Erabiltzaile izena: \n$1\n\nBehin-behineko pasahitza: \n$2",
        "passwordreset-emailsent": "Pasahitza berrezartzeko e-posta bidali da.",
        "passwordreset-emailsent-capture": "Pasahitza berrezartzeko e-posta bat bidali dizugu, behean erakusten dena.",
-       "changeemail": "Aldatu e-mail helbidea",
+       "changeemail": "Aldatu edo kendu e-mail helbidea",
        "changeemail-header": "Aldatu kontuko e-posta helbidea",
        "changeemail-no-info": "Orrialde honetara zuzenean sartzeko izena eman behar duzu.",
        "changeemail-oldemail": "Egungo e-mail helbidea:",
        "missingcommenttext": "Mesedez, iruzkin bat idatzi jarraian.",
        "missingcommentheader": "'''Oharra:''' Ez duzu iruzkin honetarako gairik edo goiburukorik ezarri. «{{int:Savearticle}}» klikatzen baduzu, hutsune horrekin gordeko da.",
        "summary-preview": "Laburpenaren aurreikuspena:",
-       "subject-preview": "Gaia/Izenburuaren aurreikuspena:",
+       "subject-preview": "Gaiaren aurrebista:",
        "blockedtitle": "Erabiltzailea blokeatuta dago",
        "blockedtext": "'''Zure erabiltzaile izena edo IP helbidea blokeaturik dago.'''\n\n$1 administratzaileak ezarri du blokeoa.\nEmandako arrazoia hau da: ''$2''.\n\n* Blokeoaren hasiera: $8\n* Blokeoaren bukaera: $6\n* Blokeatua: $7\n\nBlokeoari buruz eztabaidatzeko, jo ezazu $1 administratzailearengana edo beste [[{{MediaWiki:Grouppage-sysop}}|administratzaile]] batengana.\n«Bidali mezu elektronikoa lankide honi» tresna erabili ahal izateko, ezinbestekoa da zure [[Special:Preferences|hobespenetan]] baliozkoa den helbide elektroniko bat emanda izatea, eta tresna hori erabiltzeko aukera zuri blokeatu ez izana.\nOrain duzun IP helbidea $3 da, eta blokeoaren zenbakia #$5 da.\nEman itzazu datu hauek guztiak, blokeoari buruzko edozein eskaera egitean.",
        "autoblockedtext": "Zure IP helbidea automatikoki blokeaturik dago, $1 administratzaileak blokeatutako beste wikilari batek erabili zuelako. Emandako arrazoia hau da:\n\n:''$2''\n\n* Blokeoaren hasiera: $8\n* Blokeoaren bukaera: $6\n* Blokeatua: $7\n\nBlokeoari buruz eztabaidatzeko, jo ezazu $1 administratzailearengana edo beste [[{{MediaWiki:Grouppage-sysop}}|administratzaile]] batengana.\n\n«Bidali mezu elektronikoa lankide honi» tresna erabili ahal izateko, ezinbestekoa da zure [[Special:Preferences|hobespenetan]] baliozkoa den helbide elektroniko bat emanda izatea, eta tresna hori erabiltzeko aukera zuri blokeatu ez izana.\n\nOrain duzun IP helbidea $3 da, eta blokeoaren zenbakia #$5 da.\n\nEman itzazu datu hauek guztiak, blokeoari buruzko edozein eskaera egitean.",
        "prefs-watchlist-token": "Jarraipen zerrendaren tokena:",
        "prefs-misc": "Denetarik",
        "prefs-resetpass": "Pasahitza aldatu",
-       "prefs-changeemail": "Aldatu e-mail helbidea",
+       "prefs-changeemail": "Aldatu edo kendu e-mail helbidea",
        "prefs-setemail": "E-mail helbide bat ezarri",
        "prefs-email": "E-posta aukerak",
        "prefs-rendering": "Itxura",
index ad61892..52a6d6c 100644 (file)
        "specialpages": "Páhinas especialis",
        "specialpages-group-other": "Otras páhinas especialis",
        "specialpages-group-login": "Entral / Crial cuenta",
-       "specialpages-group-changes": "Úrtimus chambus i rustrihus",
+       "specialpages-group-changes": "Últimus cambius i rustrijus",
        "specialpages-group-users": "Usuárius i derechus",
        "specialpages-group-highuse": "Páginas mas visoreás",
        "specialpages-group-pages": "Lista de páginas",
index d759040..8c39588 100644 (file)
        "sig_tip": "امضای شما و برچسب زمان",
        "hr_tip": "خط افقی (از آن کم استفاده کنید)",
        "summary": "خلاصه:",
-       "subject": "موضوع/عنوان:",
+       "subject": "عنوان:",
        "minoredit": "این ویرایش، جزئی است",
        "watchthis": "پی‌گیری این صفحه",
        "savearticle": "صفحه ذخیره شود",
        "mergehistory-go": "نمایش تاریخچه قابل ادغام",
        "mergehistory-submit": "ادغام نسخه‌ها",
        "mergehistory-empty": "هیچ‌یک از نسخه‌ها قابل ادغام نیستند.",
-       "mergehistory-done": "$3 نسخه از $1  با موفقیت در [[:$2]] ادغام {{PLURAL:$3|شد}}.",
+       "mergehistory-done": "$3 نسخه از $1 در [[:$2]] ادغام شد.",
        "mergehistory-fail": "ادغام تاریخچه ممکن نیست، لطفاً گزینه‌های صفحه و زمان را بازبینی کنید.",
        "mergehistory-fail-toobig": "نمی‌توان ادغام تاریخچه را انجام داد که بیشتر از محدودیت $1 {{PLURAL:$1|نسخه}} انتقال داده خواهد شد.",
        "mergehistory-no-source": "صفحهٔ مبدأ $1 وجود ندارد.",
        "emailccsubject": "رونوشت پیغام شما به $1: $2",
        "emailsent": "ایمیل ارسال شد",
        "emailsenttext": "پیام ایمیل شما فرستاده شد.",
-       "emailuserfooter": "این ایمیل با استفاده از ویژگی «{{int:emailuser}}» {{SITENAME}} توسط $1 به $2 ارسال شد.",
+       "emailuserfooter": "این ایمیل با استفاده از ویژگی «{{int:emailuser}}» {{SITENAME}} توسط $1 به {{GENDER:$2|$2}} {{GENDER:$1|ارسال شد}}.",
        "usermessage-summary": "گذاشتن پیغام سامانه.",
        "usermessage-editor": "پیغام رسان سامانه",
        "watchlist": "فهرست پی‌گیری",
        "deletepage": "حذف صفحه",
        "confirm": "تأیید",
        "excontent": "محتوای صفحه این بود: «$1»",
-       "excontentauthor": "محتوای صفحه این بود: «$1» (و تنها مشارکت‌کننده «[[Special:Contributions/$2|$2]]» بود)",
+       "excontentauthor": "محتوای صفحه این بود: «$1» و تنها مشارکت‌کننده «[[Special:Contributions/$2|$2]] ([[User talk:$2|بحث]])» بود",
        "exbeforeblank": "محتوای صفحه قبل از خالی‌کردن این بود: «$1»",
        "delete-confirm": "حذف «$1»",
        "delete-legend": "حذف",
        "cant-move-to-user-page": "شما اجازه ندارید که یک صفحه را به یک صفحهٔ کاربر انتقال دهید (به استثنای زیر صفحه‌های کاربری).",
        "cant-move-category-page": "شما اجازهٔ انتقال دادن صفحهٔ رده‌ها را ندارید.",
        "cant-move-to-category-page": "شما مجوز برای انتقال صفحه به صفحه رده ندارید.",
-       "newtitle": "بÙ\87 Ø¹Ù\86Ù\88اÙ\86 ØªØ§Ø²Ù\87:",
+       "newtitle": "عنوان تازه:",
        "move-watch": "پی‌گیری صفحه‌های مبدأ و مقصد",
        "movepagebtn": "صفحه منتقل شود",
        "pagemovedsub": "انتقال با موفقیت انجام شد",
        "logentry-newusers-byemail": "حساب کاربری $3 توسط $1 {{GENDER:$2|ایجاد شد}} و رمز عبور به وسیلهٔ ایمیل ارسال شد",
        "logentry-newusers-autocreate": "حساب $1  به شکل خودکار {{GENDER:$2|ایجاد شد}}",
        "logentry-protect-move_prot": "$1 تنظیمات محافظت را از $4 به $3 {{GENDER:$2|منتقل کرد}}",
+       "logentry-protect-unprotect": "$1 $3 را از محافظت {{GENDER:$2|خارج کرد}}",
        "logentry-protect-protect": "$1 $3 را {{GENDER:$2|محافظت کرد}} $4",
+       "logentry-protect-modify": "$1 سطح محافظت $3 را {{GENDER:$2|تغییر داد}} $4",
        "logentry-rights-rights": "$1 عضویت $3 را از گروه $4 به $5 {{GENDER:$2|تغییر داد}}",
        "logentry-rights-rights-legacy": "$1 گروه عضویت $3 را {{GENDER:$2|تغییر داد}}",
        "logentry-rights-autopromote": "$1 به طور خودکار از $4 به $5 {{GENDER:$2|ارتقاء داد}}",
        "special-characters-title-minus": "علامت منفی",
        "mw-widgets-dateinput-no-date": "هیچ داده‌ای انتخاب نشده",
        "mw-widgets-titleinput-description-new-page": "این صفحه هنوز وجود ندارد",
-       "mw-widgets-titleinput-description-redirect": "تغییر مسیر به $1"
+       "mw-widgets-titleinput-description-redirect": "تغییر مسیر به $1",
+       "api-error-blacklisted": "لطفاً یک عنوان توصیفی متفاوت انتخاب کنید."
 }
index 0abbd63..6322387 100644 (file)
        "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",
        "changeemail": "Muuta tai poista sähköpostiosoite",
-       "changeemail-header": "Muuta tunnuksen 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.",
        "changeemail-no-info": "Tämän sivun käyttö edellyttää sisäänkirjautumista.",
        "changeemail-oldemail": "Nykyinen sähköpostiosoite:",
        "changeemail-newemail": "Uusi sähköpostiosoite:",
        "sig_tip": "Allekirjoitus aikaleiman kanssa",
        "hr_tip": "Vaakasuora viiva",
        "summary": "Yhteenveto:",
-       "subject": "Aihe tai otsikko:",
+       "subject": "Aiheotsikko:",
        "minoredit": "Tämä on pieni muutos",
        "watchthis": "Tarkkaile tätä sivua",
        "savearticle": "Tallenna sivu",
        "missingsummary": "Et ole antanut yhteenvetoa. Jos valitset Tallenna uudelleen, niin muokkauksesi tallennetaan ilman yhteenvetoa.",
        "selfredirect": "<strong>Varoitus:</strong> Olet tekemässä uudelleenohjausta, joka johtaa tästä sivusta tähän samaan sivuun. \n\nOlet ehkä määrittänyt ohjauksen kohteen väärin tai kenties muokkaat parhaillaan väärää sivua.\n\nJos painat toimintoa \"{{int:savearticle}}\" uudestaan, tämä ohjaussivu luodaan joka tapauksessa.",
        "missingcommenttext": "Kirjoita viesti alle.",
-       "missingcommentheader": "Et ole antanut otsikkoa kommentillesi. Napsauta ”{{int:savearticle}}”, jos et halua antaa otsikkoa.",
+       "missingcommentheader": "<strong>Muistutus:</strong> Et ole antanut aiheotsikkoa tälle kommentille. Napsauta ”{{int:savearticle}}”, jos haluat tallentaa kommenttisi ilman sellaista.",
        "summary-preview": "Yhteenvedon esikatselu:",
-       "subject-preview": "Otsikon esikatselu:",
+       "subject-preview": "Aiheotsikon esikatselu:",
        "previewerrortext": "Muokkaustesi esikatselun toteuttamisessa on tapahtunut virhe.",
        "blockedtitle": "Käyttäjä on estetty",
        "blockedtext": "'''Käyttäjätunnuksesi tai IP-osoitteesi on estetty.'''\n\nEston on asettanut $1.\nSyy: '''$2'''\n\n* Eston alkamisaika: $8\n* Eston päättymisaika: $6\n* Kohde: $7\n\nVoit keskustella ylläpitäjän $1 tai toisen [[{{MediaWiki:Grouppage-sysop}}|ylläpitäjän]] kanssa estosta.\nHuomaa, ettet voi lähettää sähköpostia {{GRAMMAR:genitive|{{SITENAME}}}} kautta, ellet ole asettanut olemassa olevaa sähköpostiosoitetta [[Special:Preferences|asetuksissa]] tai jos esto on asetettu koskemaan myös sähköpostin lähettämistä.\nIP-osoitteesi on $3 ja estotunnus on #$5.\nLiitä kaikki yllä olevat tiedot mahdollisiin kyselyihisi.",
        "mw-widgets-dateinput-placeholder-day": "VVVV-KK-PP",
        "mw-widgets-dateinput-placeholder-month": "VVVV-KK",
        "mw-widgets-titleinput-description-new-page": "sivua ei ole olemassa vielä",
-       "mw-widgets-titleinput-description-redirect": "ohjaus kohteeseen $1"
+       "mw-widgets-titleinput-description-redirect": "ohjaus kohteeseen $1",
+       "api-error-blacklisted": "Valitse toinen, kuvaava nimi."
 }
index 52b959b..ce67f3e 100644 (file)
        "expand_templates_preview": "Forskoðan",
        "mw-widgets-dateinput-placeholder-day": "ÁÁÁÁ-MM-DD",
        "mw-widgets-dateinput-placeholder-month": "ÁÁÁÁ-MM",
-       "mw-widgets-titleinput-description-new-page": "síðan er ikki til enn"
+       "mw-widgets-titleinput-description-new-page": "síðan er ikki til enn",
+       "api-error-blacklisted": "Vinarliga vel ein annarleiðis tittul, sum lýsir fíluna betri."
 }
index 9731f4c..c73732a 100644 (file)
        "mw-widgets-dateinput-placeholder-day": "AAAA-MM-JJ",
        "mw-widgets-dateinput-placeholder-month": "AAAA-MM",
        "mw-widgets-titleinput-description-new-page": "la page n’existe pas encore",
-       "mw-widgets-titleinput-description-redirect": "redirection vers $1"
+       "mw-widgets-titleinput-description-redirect": "redirection vers $1",
+       "api-error-blacklisted": "Merci de choisir un autre titre descriptif."
 }
index b101045..081306a 100644 (file)
        "special-characters-title-emdash": "terèt èm",
        "special-characters-title-minus": "segno muens",
        "mw-widgets-dateinput-placeholder-day": "AAAA-MM-JJ",
-       "mw-widgets-dateinput-placeholder-month": "AAAA-MM"
+       "mw-widgets-dateinput-placeholder-month": "AAAA-MM",
+       "api-error-blacklisted": "Volyéd chouèsir un ôtro titro dèscriptif."
 }
index de60d04..617340f 100644 (file)
        "mw-widgets-dateinput-placeholder-day": "AAAA-MM-DD",
        "mw-widgets-dateinput-placeholder-month": "AAAA-MM",
        "mw-widgets-titleinput-description-new-page": "a páxina aínda non existe",
-       "mw-widgets-titleinput-description-redirect": "redirección cara a $1"
+       "mw-widgets-titleinput-description-redirect": "redirección cara a $1",
+       "api-error-blacklisted": "Escolla un título diferente e descritivo."
 }
index bc83861..a019dba 100644 (file)
        "mw-widgets-dateinput-placeholder-day": "JJJJ-MM-TT",
        "mw-widgets-dateinput-placeholder-month": "JJJJ-MM",
        "mw-widgets-titleinput-description-new-page": "d Syte git’s no nid",
-       "mw-widgets-titleinput-description-redirect": "Wyterleitig uf $1"
+       "mw-widgets-titleinput-description-redirect": "Wyterleitig uf $1",
+       "api-error-blacklisted": "Bitte due en andre, ussagechräftigere Titel usswääle."
 }
index 1e463ae..d7ba0b6 100644 (file)
        "special-characters-group-thai": "થાઈ",
        "special-characters-group-lao": "લાઓ",
        "special-characters-group-khmer": "ખ્મેર",
-       "mw-widgets-titleinput-description-new-page": "પાનું અસ્તિત્વ ધરાવતું નથી."
+       "mw-widgets-titleinput-description-new-page": "પાનું અસ્તિત્વ ધરાવતું નથી.",
+       "api-error-blacklisted": "મહેરબાની કરી વધુ વિસ્તૃત અર્થ સભર શીર્ષક આપો."
 }
index 6e2247b..366e73c 100644 (file)
        "svg-long-desc-animated": "קובץ SVG מונפש, הגודל המקורי: <span dir=\"ltr\">$1 × $2</span> פיקסלים, גודל הקובץ: $3",
        "svg-long-error": "קובץ SVG לא תקין: $1",
        "show-big-image": "לקובץ המקורי",
-       "show-big-image-preview": "גודל תצוגה זו: $1.",
+       "show-big-image-preview": "גודל התצוגה המקדימה הזאת: $1.",
+       "show-big-image-preview-differ": "גודל התצוגה המקדימה הזאת מסוג $3 של קובץ ה־$2 הזה: $1.",
        "show-big-image-other": "{{PLURAL:$2|רזולוציה אחרת|רזולוציות אחרות}}: $1.",
        "show-big-image-size": "<span dir=\"ltr\">$1 × $2</span> פיקסלים",
        "file-info-gif-looped": "בלולאה",
        "special-characters-title-minus": "מינוס",
        "mw-widgets-dateinput-no-date": "לא נבחר תאריך",
        "mw-widgets-titleinput-description-new-page": "הדף עדיין לא קיים",
-       "mw-widgets-titleinput-description-redirect": "הפניה ל{{GRAMMAR:תחילית|$1}}"
+       "mw-widgets-titleinput-description-redirect": "הפניה ל{{GRAMMAR:תחילית|$1}}",
+       "api-error-blacklisted": "נא לבחור כותרת שונה, מתארת יותר."
 }
index f9dcaba..8630a02 100644 (file)
        "shown-title": "Prikaži $1 {{PLURAL:$1|rezultat|rezultata|rezultata}} po stranici",
        "viewprevnext": "Vidi ($1 {{int:pipe-separator}} $2) ($3).",
        "searchmenu-exists": "* Stranica '''[[$1]]'''",
-       "searchmenu-new": "<strong>Napravite stranicu \"[[:$1]]\" na ovom wiki projektu!</strong>\n{{PLURAL:$2|0=|Cm. i stranica koje se nalaze u rezultatima vaših pretraživanja.|Cm. također su pronađeni rezultati pretraživanja.}}",
+       "searchmenu-new": "<strong>Napravite stranicu \"[[:$1]]\" na ovom wiki projektu!</strong>\n{{PLURAL:$2|0=|Pogledajte i stranicu pronađenu pretragom.|Pogledajte i druge rezultate pretrage.}}",
        "searchprofile-articles": "Stranice sa sadržajem",
        "searchprofile-images": "Multimedija",
        "searchprofile-everything": "Sve",
index 8c01de8..0c8cc3a 100644 (file)
        "special-characters-title-emdash": "dołha ležaca smužka",
        "special-characters-title-minus": "minusowe znamješko",
        "mw-widgets-dateinput-placeholder-day": "JJJJ-MM-TT",
-       "mw-widgets-dateinput-placeholder-month": "JJJJ-MM"
+       "mw-widgets-dateinput-placeholder-month": "JJJJ-MM",
+       "api-error-blacklisted": "Prošu wubjer druhi, wuprajiwy titul."
 }
index bde8353..082562c 100644 (file)
        "mw-widgets-dateinput-placeholder-day": "ÉÉÉÉ-HH-NN",
        "mw-widgets-dateinput-placeholder-month": "ÉÉÉÉ-HH",
        "mw-widgets-titleinput-description-new-page": "a lap még nem létezik",
-       "mw-widgets-titleinput-description-redirect": "átirányítás ide: $1"
+       "mw-widgets-titleinput-description-redirect": "átirányítás ide: $1",
+       "api-error-blacklisted": "Válasszon egy másik, leíró címet."
 }
index 7ac7837..5f52a54 100644 (file)
        "passwordreset-emailsent-capture": "Un message de e-mail pro le reinitialisation del contrasigno ha essite inviate; iste message es monstrate hic infra.",
        "passwordreset-emailerror-capture": "Un e-mail pro le reinitialisation del contrasigno ha essite generate; iste message es monstrate hic infra, ma le invio al {{GENDER:$2|usator}} ha fallite: $1",
        "changeemail": "Cambiar o remover adresse de e-mail",
-       "changeemail-header": "Cambiar le adresse de e-mail del conto",
+       "changeemail-header": "Completa iste formulario pro cambiar tu adresse de e-mail. Si tu vole remover le association de omne adresse de e-mail ab tu conto, lassa le campo pro le nove adresse de e-mail vacue quando tu submitte le formulario.",
+       "changeemail-passwordrequired": "Essera necessari entrar tu contrasigno pro confirmar iste cambiamento.",
        "changeemail-no-info": "Tu debe aperir un session pro poter acceder directemente a iste pagina.",
        "changeemail-oldemail": "Adresse de e-mail actual:",
        "changeemail-newemail": "Adresse de e-mail nove:",
        "sig_tip": "Tu signatura con data e hora",
        "hr_tip": "Linea horizontal (usa con moderation)",
        "summary": "Summario:",
-       "subject": "Subjecto/titulo:",
+       "subject": "Subjecto:",
        "minoredit": "Isto es un modification minor",
        "watchthis": "Observar iste pagina",
        "savearticle": "Publicar pagina",
        "missingsummary": "'''Rememoration:''' Tu non ha specificate un summario del modification.\nSi tu clicca super \"{{int:savearticle}}\" de novo, le modification essera publicate sin summario.",
        "selfredirect": "<strong>Attention:</strong> Tu redirige iste pagina verso se mesme.\nTu pote haber specificate le mal destination pro le redirection, o tu modifica forsan le mal pagina.\nSi tu clicca sur \"{{int:savearticle}}\" de novo, le redirection essera create in despecto de isto.",
        "missingcommenttext": "Per favor entra un commento infra.",
-       "missingcommentheader": "'''Rememoration:''' Tu non ha specificate un subjecto/titulo pro iste commento.\nSi tu clicca super \"{{int:savearticle}}\" de novo, le modification essera publicate sin titulo.",
+       "missingcommentheader": "<strong>Rememoration:</strong> Tu non ha fornite un subjecto pro iste commento.\nSi tu clicca super \"{{int:savearticle}}\" de novo, le modification essera publicate sin subjecto.",
        "summary-preview": "Previsualisation del summario:",
-       "subject-preview": "Previsualisation del subjecto/titulo:",
+       "subject-preview": "Previsualisation del subjecto:",
        "previewerrortext": "Un error ha occurrite durante le tentativa de previsualisar le cambiamentos.",
        "blockedtitle": "Le usator es blocate",
        "blockedtext": "'''Tu nomine de usator o adresse IP ha essite blocate.'''\n\nLe blocada esseva facite per $1.\nLe motivo presentate es ''$2''.\n\n* Initio del blocada: $8\n* Expiration del blocada: $6\n* Le blocato intendite: $7\n\nTu pote contactar $1 o un altere [[{{MediaWiki:Grouppage-sysop}}|administrator]] pro discuter le blocada.\nTu non pote usar le function 'inviar e-mail a iste usator' salvo que un adresse de e-mail valide es specificate in le\n[[Special:Preferences|preferentias de tu conto]] e que tu non ha essite blocate de usar lo.\nTu adresse IP actual es $3, e le ID del blocada es #$5.\nPer favor include tote le detalios supra specificate in omne correspondentia.",
        "svg-long-error": "File SVG invalide: $1",
        "show-big-image": "File original",
        "show-big-image-preview": " Dimension de iste previsualisation: $1.",
+       "show-big-image-preview-differ": "Dimension de iste previsualisation $3 de iste file $2: $1.",
        "show-big-image-other": "Altere {{PLURAL:$2|resolution|resolutiones}}: $1.",
        "show-big-image-size": "$1 × $2 pixels",
        "file-info-gif-looped": "repetente",
        "mw-widgets-dateinput-placeholder-day": "AAAA-MM-DD",
        "mw-widgets-dateinput-placeholder-month": "AAAA-MM",
        "mw-widgets-titleinput-description-new-page": "pagina non existe ancora",
-       "mw-widgets-titleinput-description-redirect": "redirection a $1"
+       "mw-widgets-titleinput-description-redirect": "redirection a $1",
+       "api-error-blacklisted": "Per favor elige un altere titulo, plus descriptive."
 }
index 6a97e39..e623de5 100644 (file)
        "special-characters-title-emdash": "em dash",
        "special-characters-title-minus": "tanda kurang",
        "mw-widgets-dateinput-placeholder-day": "TTTT-BB-HH",
-       "mw-widgets-dateinput-placeholder-month": "TTTT-BB"
+       "mw-widgets-dateinput-placeholder-month": "TTTT-BB",
+       "api-error-blacklisted": "Pilih judul lain yang deskriptif"
 }
index d6b73b5..5d1fd88 100644 (file)
        "mw-widgets-dateinput-placeholder-day": "TTTT-BB-AA",
        "mw-widgets-dateinput-placeholder-month": "TTTT-BB",
        "mw-widgets-titleinput-description-new-page": "awan pay ti panid",
-       "mw-widgets-titleinput-description-redirect": "ibaw-ing iti $1"
+       "mw-widgets-titleinput-description-redirect": "ibaw-ing iti $1",
+       "api-error-blacklisted": "Pangngaasi nga agpili iti sabali, a mangipalpalawag a titulo."
 }
index 8958882..adfe655 100644 (file)
        "shown-title": "Sýna $1 {{PLURAL:$1|niðurstöðu|niðurstöður}} á hverri síðu",
        "viewprevnext": "Skoða ($1 {{int:pipe-separator}} $2) ($3).",
        "searchmenu-exists": "'''Það er síða að nafni „[[:$1]]“ á þessum wiki'''",
-       "searchmenu-new": "<strong>Skapaðu síðuna \"[[:$1]]\" á þessum wiki!<strong>\nSjá einnig {{PLURAL:$2|0=|leitarniðurstöðuna|leitarniðurstöðurnar}}.",
+       "searchmenu-new": "<strong>Skapaðu síðuna „[[:$1]]“ á þessum wiki!<strong>\nSjá einnig {{PLURAL:$2|0=|leitarniðurstöðuna|leitarniðurstöðurnar}}.",
        "searchprofile-articles": "Efnissíður",
        "searchprofile-images": "Margmiðlanir",
        "searchprofile-everything": "Allt",
        "special-characters-group-thai": "Taílenskt",
        "special-characters-group-lao": "Laoskt",
        "mw-widgets-titleinput-description-new-page": "síðan er ekki enn til",
-       "mw-widgets-titleinput-description-redirect": "tilvísun á $1"
+       "mw-widgets-titleinput-description-redirect": "tilvísun á $1",
+       "api-error-blacklisted": "Vinsamlegast veldu annað lýsandi skráarnafn"
 }
index c2f8bf0..1221103 100644 (file)
        "mw-widgets-dateinput-placeholder-day": "AAAA-MM-GG",
        "mw-widgets-dateinput-placeholder-month": "AAAA-MM",
        "mw-widgets-titleinput-description-new-page": "questa pagina non esiste ancora",
-       "mw-widgets-titleinput-description-redirect": "reindirizzamento a $1"
+       "mw-widgets-titleinput-description-redirect": "reindirizzamento a $1",
+       "api-error-blacklisted": "Per favore scegli un titolo diverso e descrittivo."
 }
index 4afbcc3..2368816 100644 (file)
        "recentchangeslinked-summary": "これは指定したページからリンクされている (または指定したカテゴリに含まれている) ページの最近の変更の一覧です。\n[[Special:Watchlist|自分のウォッチリスト]]にあるページは<strong>太字</strong>で表示されます。",
        "recentchangeslinked-page": "ページ名:",
        "recentchangeslinked-to": "このページへのリンク元での変更の表示に切り替え",
+       "recentchanges-page-added-to-category": "[[:$1]] カテゴリに追加",
+       "recentchanges-page-removed-from-category": "[[:$1]] カテゴリから削除",
        "autochange-username": "メディアウィキ自動変更",
        "upload": "ファイルをアップロード",
        "uploadbtn": "ファイルをアップロード",
        "exif-sharpness": "撮影シャープネス",
        "exif-devicesettingdescription": "撮影条件記述情報",
        "exif-subjectdistancerange": "被写体距離レンジ",
-       "exif-imageuniqueid": "画像ユニークID",
+       "exif-imageuniqueid": "ユニーク画像ID",
        "exif-gpsversionid": "GPSタグのバージョン",
        "exif-gpslatituderef": "北緯/南緯",
        "exif-gpslatitude": "緯度",
        "special-characters-title-minus": "マイナス記号",
        "mw-widgets-dateinput-no-date": "選択されたデータ無し",
        "mw-widgets-titleinput-description-new-page": "ページは存在しません",
-       "mw-widgets-titleinput-description-redirect": "$1 へのリダイレクト"
+       "mw-widgets-titleinput-description-redirect": "$1 へのリダイレクト",
+       "api-error-blacklisted": "他の、説明的なタイトルをお選びください。"
 }
index 19f82a1..0b8abff 100644 (file)
        "special-characters-group-devanagari": "Dewanagari",
        "special-characters-group-thai": "Thailand",
        "special-characters-group-lao": "Lao",
-       "special-characters-group-khmer": "Khmer"
+       "special-characters-group-khmer": "Khmer",
+       "api-error-blacklisted": "Mangga pilih judhul liya sing njelasaké"
 }
index 844cfea..5c3199e 100644 (file)
        "mw-widgets-dateinput-placeholder-day": "წწწწ-თთ-დდ",
        "mw-widgets-dateinput-placeholder-month": "წწწწ-თთ",
        "mw-widgets-titleinput-description-new-page": "გვერდი ჯერ არ არსებობს",
-       "mw-widgets-titleinput-description-redirect": "გადამისამართება $1-ზე"
+       "mw-widgets-titleinput-description-redirect": "გადამისამართება $1-ზე",
+       "api-error-blacklisted": "გთხოვთ, აირჩიეთ სხვა, აღწერილობითი სათაური."
 }
index 51105ea..049cc74 100644 (file)
        "createacct-captcha": "Құпиялық тексеруі",
        "createacct-imgcaptcha-ph": "Жоғарыдағы мәтінді енгізіңіз",
        "createacct-submit": "Тіркелгіңізді жасаңыз",
-       "createacct-another-submit": "Ð\91аÑ\81Ò\9bа Ñ\82іркелгі жасау",
+       "createacct-another-submit": "Тіркелгі жасау",
        "createacct-benefit-heading": "{{SITENAME}} сіздермен жасалады.",
        "createacct-benefit-body1": "{{PLURAL:$1|өңдеме|өңдеме}}",
        "createacct-benefit-body2": "{{PLURAL:$1|бет|бет}}",
        "passwordreset-emailsent": "Құпия сөзді өзгерту электронды пошта арқылы жөнелтілді.",
        "passwordreset-emailsent-capture": "Құпия сөзді өзгерту электронды пошта арқылы жөнелтілді, ол төменде көрсетілген.",
        "passwordreset-emailerror-capture": "Құпиясөзді өзгерту электрон хаты жасалды, ол төменде көрсетілген, бірақ ол {{GENDER:$2|қатысушыға}} жөнелтілмеді: $1",
-       "changeemail": "Е-пошта мекен-жайын өзгерту",
+       "changeemail": "Е-пошта мекенжайын өзгерту немесе аластау",
        "changeemail-header": "Е-пошта мекен-жайының өзгертілуі",
        "changeemail-no-info": "Бұл бетке тікелей ену үшін жүйеге кіруіңіз керек.",
        "changeemail-oldemail": "Е-поштаның қазіргі уақыттағы мекен-жайы:",
        "sig_tip": "Қолтаңбаңыз және уақыт белгісі",
        "hr_tip": "Көлденең сызық (үнемді қолданыңыз)",
        "summary": "Түйіндемесі:",
-       "subject": "Тақырыбы/бас жолы:",
+       "subject": "Тақырыбы:",
        "minoredit": "Бұл шағын өңдеме",
        "watchthis": "Бұл бетті бақылау",
        "savearticle": "Бетті сақтау",
        "missingsummary": "<strong>Ескерту:</strong> Өңдеменің қысқаша түйіндемесін енгізбепсіз.\n«{{int:savearticle}}» батырмасын қайта бассаңыз өңдемеңіз түйіндемесіз сақталады.",
        "selfredirect": "<strong>Ескерту:</strong> Сіз бұл бетті өзіне бағыттадыңыз.\nСіз бағыттау үшін қате нысана көрсеттіңіз не қате бетті өңдеген болуыңыз мүмкін.\nЕгер «{{int:savearticle}}» дегенді қайта бассаңыз, бағыттау қалайда басталады.",
        "missingcommenttext": "Пікіріңізді төменге енгізіңіз.",
-       "missingcommentheader": "<strong>Ð\95Ñ\81кеÑ\80Ñ\82Ñ\83:</strong> Ð\91ұл Ð¿Ñ\96кÑ\96Ñ\80ге Ñ\82аÒ\9bÑ\8bÑ\80Ñ\8bпÑ\8b/баÑ\81 Ð¶Ð¾Ð»Ñ\8b жазбапсыз.\n«{{int:savearticle}}» түймесін тағы бассаңыз өңдемеңіз түйіндемесіз сақталады.",
+       "missingcommentheader": "<strong>Ð\95Ñ\81кеÑ\80Ñ\82Ñ\83:</strong> Ð\91ұл Ð¿Ñ\96кÑ\96Ñ\80ге Ñ\82аÒ\9bÑ\8bÑ\80Ñ\8bбÑ\8bн жазбапсыз.\n«{{int:savearticle}}» түймесін тағы бассаңыз өңдемеңіз түйіндемесіз сақталады.",
        "summary-preview": "Қысқаша түйіндемесін қарап шығу:",
-       "subject-preview": "Тақырыбын/бас жолын қарап шығу:",
+       "subject-preview": "Тақырыбын қарап шығу:",
        "previewerrortext": "Өзгерістеріңізді қарап шығу талпынысыңыз кезінде қате кездесті.",
        "blockedtitle": "Қатысушы бұғатталған",
        "blockedtext": "<strong>Қатысушы атыңыз не IP мекенжайыңыз бұғатталған.</strong>\n\n$1 деген әкімші бұғаттаған. \nКелтірілген себебі: <em>$2</em>.\n\n* Бұғаттаған кезі: $8\n* Бұғаттаудың бітетін кезі: $6\n* Бұғаттау нысанасы: $7\n\nОсы бұғаттауды талқылау үшін $1 не өзге [[{{MediaWiki:Grouppage-sysop}}|әкімшімен]] байланыса аласыз.\n[[Special:Preferences|Тіркелгі бапталымдары]]ңызда жарамды е-пошта мекенжайын көрсетіп және де оны пайдаланудан бұғатталмаған жағдайда ғана «Қатысушыға хат жазу» қызметін қолдана аласыз.\nАғымдық IP мекенжайыңыз: $3, бұғатау нөмірі: #$5.\nСұраным жасағанда осының екеуін де кірістіруіңізді сұраймыз.",
        "columns": "Бағандар:",
        "searchresultshead": "Іздеу",
        "stub-threshold": "<a href=\"#\" class=\"stub\">Бастама сілтемесін</a> пішімдеу табалдырығы (байт):",
+       "stub-threshold-sample-link": "қарапайым",
        "stub-threshold-disabled": "Ажыратылған",
        "recentchangesdays": "Жуықтағы өзгерістерде көрсетілетін күн саны:",
        "recentchangesdays-max": "Ең көбі $1 {{PLURAL:$1|күн|күн}}",
        "recentchangeslinked-summary": "Бұл тізімде өзіндік бетке сілтеген беттердегі (не өзіндік санат мүшелеріндегі) істелген жуықтағы өзгерістер беріледі.\n[[Special:Watchlist|Бақылау тізіміңіздегі]] беттер '''жуан''' болып белгіленеді.",
        "recentchangeslinked-page": "Бет атауы:",
        "recentchangeslinked-to": "Керісінше, келтірілген бетке сілтейтін беттердегі өзгерістерді көрсет",
+       "recentchanges-page-added-to-category": "[[:$1]] бетіне санат қосты",
        "upload": "Файл жүктеу",
        "uploadbtn": "Файлды жүктеу",
        "reuploaddesc": "Жүктеу пішініне қайта келу.",
        "upload-form-label-infoform-description": "Сипаттамасы",
        "upload-form-label-usage-title": "Қолданылуы",
        "upload-form-label-usage-filename": "Файл атауы",
+       "foreign-structured-upload-form-label-own-work": "Бұл менің өз туындым",
+       "foreign-structured-upload-form-label-infoform-categories": "Санаттар",
+       "foreign-structured-upload-form-label-infoform-date": "Ай-күні",
        "backend-fail-stream": "«$1» файлы ақпады.",
        "backend-fail-backup": "«$1» файлының сақтық есесі жасалмады.",
        "backend-fail-notexists": "$1 файлы бар емес.",
        "nopagetext": "Келтірілген нысана бетіңіз жоқ.",
        "pager-newer-n": "{{PLURAL:$1|жаңалау 1|жаңалау $1}}",
        "pager-older-n": "{{PLURAL:$1|ескілеу 1|ескілеу $1}}",
-       "suppress": "ШеÑ\82Ñ\82еÑ\82у",
+       "suppress": "Ð\96аÑ\81Ñ\8bÑ\80у",
        "querypage-disabled": "Бұл арнайы бет өнімділік себептері үшін өшірілген",
        "apihelp": "API бойынша анықтама",
        "apihelp-no-such-module": "«$1» модулі табылмады.",
        "booksources-text": "Төменде жаңа және қолданған кітаптар сататын тораптарының сілтемелері тізімделген және ізделген кітаптар туралы қосымша ақпарат болуы мүмкін:",
        "booksources-invalid-isbn": "Берілген ISBN жарамды болып көрінубеуі мүмкін; бастапқы қайнар көзінен еселеуде пайда болған қателерді тексеріңіз.",
        "specialloguserlabel": "Орындаушы:",
-       "speciallogtitlelabel": "Нысана (атауы немесе қатысушы):",
+       "speciallogtitlelabel": "Нысана (атауы немесе қатысушының {{ns:user}}:қатысушы есімі):",
        "log": "Журналдар",
        "all-logs-page": "Барлық журналдар",
        "alllogstext": "{{SITENAME}} жобасының барлық қатынаулы журналдарын біріктіріп көрсетуі.\nЖурнал түрін, қатысушы атын (үлкен кішілігін ескеріп), не тиісті бетін бөлектеп, тарылтып қарай аласыз (кейде үлкен кішілігін ескеріп).",
        "mw-widgets-dateinput-placeholder-day": "ЖЖЖЖ-АА-КК",
        "mw-widgets-dateinput-placeholder-month": "ЖЖЖЖ-АА",
        "mw-widgets-titleinput-description-new-page": "бет жоқ екен",
-       "mw-widgets-titleinput-description-redirect": "$1 дегенге бағыттату"
+       "mw-widgets-titleinput-description-redirect": "$1 дегенге бағыттату",
+       "api-error-blacklisted": "Өтініш, сипаттама атауының басқасын таңдаңыз."
 }
index e99c62f..83a4be8 100644 (file)
        "special-characters-title-minus": "សញ្ញាដក",
        "mw-widgets-dateinput-no-date": "គ្មានកាលបរិច្ឆេទត្រូវបានជ្រើសរើស",
        "mw-widgets-titleinput-description-new-page": "ទំព័រមិនទាន់មាននៅឡើយទេ",
-       "mw-widgets-titleinput-description-redirect": "បញ្ជូនបន្តទៅ $1"
+       "mw-widgets-titleinput-description-redirect": "បញ្ជូនបន្តទៅ $1",
+       "api-error-blacklisted": "សូមជ្រើសរើសឈ្មោះផ្សេងដែលក្បោះក្បាយជាង។"
 }
index 27779f9..0bb2640 100644 (file)
        "logentry-tag-update-add-logentry": "$1 사용자가 $3 문서의 기록 항목 $5에 $6 {{PLURAL:$7|태그}}를 {{GENDER:$2|추가했습니다}}",
        "logentry-tag-update-remove-revision": "$1 사용자가 $3 문서의 $4판에서 $8 {{PLURAL:$9|태그}}를 {{GENDER:$2|제거했습니다}}",
        "logentry-tag-update-remove-logentry": "$1 사용자가 $3 문서의 기록 항목 $5에서 $8 {{PLURAL:$9|태그}}를 {{GENDER:$2|제거했습니다}}",
+       "logentry-tag-update-revision": "$1 사용자가 $3 문서의 $4 판에서 태그를 수정했습니다 ($6을(를) {{PLURAL:$7|추가함}}; $8을(를) {{PLURAL:$9|제거함}})",
        "rightsnone": "(없음)",
        "revdelete-summary": "편집 요약",
        "feedback-adding": "문서에 피드백을 올리는 중...",
        "special-characters-title-minus": "빼기 기호",
        "mw-widgets-dateinput-no-date": "선택된 날짜 없음",
        "mw-widgets-titleinput-description-new-page": "문서가 존재하지 않습니다",
-       "mw-widgets-titleinput-description-redirect": "$1 문서로 넘겨주기"
+       "mw-widgets-titleinput-description-redirect": "$1 문서로 넘겨주기",
+       "api-error-blacklisted": "이 파일을 설명할 수 있는 다른 제목을 선택하세요."
 }
index d4bd092..e24f877 100644 (file)
        "viewsource": "Wikitex aanluure",
        "viewsource-title": "Der Wikkitäx vun dä Sigg „$1“ belohre.",
        "actionthrottled": "Dat ka'mer nit esu öff maache",
-       "actionthrottledtext": "Dat darf mer nor en jeweße Zahl Mole hengerenander maache. Do bes jrad aan de Jrenz jekumme. Kannze jo en e paar Menutte widder probeere.",
+       "actionthrottledtext": "Dat darf mer nor en jeweße Zahl Mole hengerenander maache. Do bes jrahd aan de Jränz jekumme. Kannze jo en e paa Menutte wider probehre.",
        "protectedpagetext": "Di Sigg es jeschöz, un mer kann se nit änndere.",
        "viewsourcetext": "Heh es dä Sigg ier Wikitex zom Belooere un Koppeere.",
        "viewyourtext": "Mer kann de Quälle vun de eije Ännderonge aan heh dä Sigg beloore un kopeere.",
        "move-page-legend": "Sigg Ömnenne",
        "movepagetext": "Heh kanns De en Sigg ömnenne.\nDomet kritt di Sigg ene neue Name, un all vörherije Versione vun dä Sigg och.\nUnger däm ahle Tittel weed automatisch en Ömleidong op dä neue Tittel enjedrare.\n\nDo kannß dat Höksche säze domet Ömleidonge automattesch aanjepaß wääde, di op dä ahle Tittel zeije — dat weet ävver nur allmählesch pö a pö hengerher jemaat.\nLinks op dä ahle Tittel blieve ävver wi se wore, wann De dat Höksche nit säz.\nDat heiß, dann moß De selver nohluure, of do jäz [[Special:DoubleRedirects|dubbelde Ömleidonge]] udder [[Special:BrokenRedirects|kapodde Ömleiduoge]] bei eruskumme.\nWann De en Sigg ömnenne deis, häs Do och doför ze sorje, dat de betroffene Links do henjonn, wo se hen jonn solle.\nAlsu holl Der de Liss „Wat noh heh link“ fun dä Sigg heh un jangk se dorsch!\n\nDe Sigg weed '''nit''' ömjenannt, wann et met däm neue Name ald en Sigg jitt, '''ußer''' et es en Ömleidong un se es noch nie jeändert woode.\nEsu kam_mer en Sigg jlich widder zeröck ömbenänne, wam_mer sich bem Ömbenänne verdonn hät, un mer kann och kein Sigge kapottmaache, wo ald jet drop schteiht.\n\n'''Oppjepass!'''\nWat beim Ömnenne erus kütt, künnt en opfällije un villeisch stüürende Änderong aam Wiki sin, besönders bei öff jebruchte Sigge.\nAlsu bes secher, dat De verschteihs, wat De heh am maache bes, ih dat De et mähs!",
        "movepagetext-noredirectfixer": "Heh kanns De en Sigg ömnenne.\nDomet kritt di Sigg ene neue Nahme, un all vörherije Väsjohne vun dä Sigg och.\nOnger däm ahle Tittel weed automattesch en Ömleidong op dä neue Tittel enjedrare.\n\nLenks op dä ahle Tittel bliive ävver, wie se wohre.\nDat heiß, Do moß selver nohloore, ov doh jetz [[Special:DoubleRedirects|dubbelde]] oder [[Special:BrokenRedirects|kapodde Ömleidonge]] bei eruskumme.\nWann De en Sigg ömnenne deiß, häs Do och doför ze sorje, dat de betroffe Links doh henjonn, wo se hen jonn solle.\nAlsu holl Der di Liss „Wat noh heh link“ fun dä Sigg heh un jangk se dorsch!\n\nDi Sigg weed '''nit''' ömjenannt, wann et met däm neue Tittel ald en Sigg jitt, '''ußer''' doh es nix drop, oder et es en Ömleijdong un se es noch nie jeändert woode.\nEsu kam_mer en Sigg jlich widder retuur ömnänne, wam_mer sich mem Ömnänne verdonn hät, un mer kann och kein Sigge kapottmaache, wo ald jet drop schteiht.\n\n<strong>Oppjepaß!</strong>\nWat beim Ömnänne erus kütt, künnt en opfällije un velleijsch stührende Änderong aam Wikki sin, besönders bei öff jebruchte Sigge.\nAlsu bes secher, dat De verschteihs, wat De heh am maache bes, ih dat De et mähs!",
-       "movepagetalktext": "Dä Sigg ehr Klaafsigg, wann se ein hät, weed automatisch met  ömjenannt, '''usser''' wann:\n* de Sigg en en ander Appachtemeng kütt,\n* en Klaafsigg met däm neue Name ald do es, un et steiht och jet drop,\n* De unge en däm Kääsje '''kei''' Hökche aan häs.\nEn dänne Fäll, muss De Der dä Enhald vun dä Klaafsigge selvs vörnemme, un eröm kopeere watte bruchs.",
+       "movepagetalktext": "Wam_mer en däm Kääsje e Höhksche määt, weed heh di Sigg automattesch ömjenannd op di neuje Övverschreff, ußer wann en Klaafsigg met dä neuje Övverschrev ald do es, un et steiht och jet drop.\n\nEn dämm Fall mpß De Der dä Enhald vun dä Klaafsigge selvs vörnemme, un eröm kopeere wat De bruchs.",
        "moveuserpage-warning": "'''Opjepaß:''' Do wells en Metmaachersigg ömnänne, domet weed ävver dä Metmaacher sellver ''nit'' met ömjenannt.",
        "movecategorypage-warning": "<strong>Opjepaß:</strong> Do kanns bloß di Sigg vun dä Saachjropp ömbenänne. Sigge, di en dä ahle Saachjropp sin, blieve doh. Se kumme nit met en di neue Saachjropp.",
        "movenologintext": "Do mööts ald aanjemeldt un [[Special:UserLogin|enjelogg]] sin, öm en Sigg ömzenenne.",
        "svg-long-error": "En kapodde <i lang=\"en\">SVG</i>-Dattei: $1",
        "show-big-image": "Ojinaal-Dattei",
        "show-big-image-preview": "Heh di Vör_Aanseesch es $1 jruuß.",
+       "show-big-image-preview-differ": "Der Ömvang vun heh däm $3-Minnibeldsche vun dä Ojinahl $2-Datteij es: $1.",
        "show-big-image-other": "{{PLURAL:$2|Ander Oplühsung|Ander Oplühsunge|kein ander Oplühsunge}}: $1.",
        "show-big-image-size": "{{PLURAL:$1|Ei Pixel|$1 Pixelle}} breed × {{PLURAL:$2|Ei Pixel|$2 Pixelle}} huh",
        "file-info-gif-looped": "läuf emmer widder vun vürre",
        "special-characters-title-minus": "Et Winnijer-Zeische",
        "mw-widgets-dateinput-no-date": "Kein Dattom es ußjewählt",
        "mw-widgets-titleinput-description-new-page": "di Sigg jidd_et noch nit",
-       "mw-widgets-titleinput-description-redirect": "ömleijde op „$1“"
+       "mw-widgets-titleinput-description-redirect": "ömleijde op „$1“",
+       "api-error-blacklisted": "Söhk Der ene anndere Nahme uß, dä mih drövver säht."
 }
index 84892bf..d07d95a 100644 (file)
        "mw-widgets-dateinput-placeholder-day": "JJJJ-MM-DD",
        "mw-widgets-dateinput-placeholder-month": "JJJJ-MM",
        "mw-widgets-titleinput-description-new-page": "Säit gëtt et nach net",
-       "mw-widgets-titleinput-description-redirect": "viruleeden op $1"
+       "mw-widgets-titleinput-description-redirect": "viruleeden op $1",
+       "api-error-blacklisted": "Sicht w.e.g. en aneren Titel, deen méi iwwer de Sujet ausseet."
 }
index cb6e321..4cc3907 100644 (file)
        "special-characters-group-lao": "Lao",
        "special-characters-group-khmer": "Cambodzjaans",
        "mw-widgets-dateinput-placeholder-day": "JJJJ-MM-DD",
-       "mw-widgets-dateinput-placeholder-month": "JJJJ-MM"
+       "mw-widgets-dateinput-placeholder-month": "JJJJ-MM",
+       "api-error-blacklisted": "Kees 'nen angere, besjrievendje naam."
 }
index 7db32b5..67ff93b 100644 (file)
        "special-characters-title-minus": "minuso ženklas",
        "mw-widgets-dateinput-no-date": "Nepasirinkta data",
        "mw-widgets-titleinput-description-new-page": "puslapis dar neegzistuoja",
-       "mw-widgets-titleinput-description-redirect": "nukreipti į $1"
+       "mw-widgets-titleinput-description-redirect": "nukreipti į $1",
+       "api-error-blacklisted": "Prašome pasirinkti kitą, aprašomąją antraštę."
 }
index fa8e3aa..1ad2951 100644 (file)
        "special-characters-group-lao": "Lao",
        "special-characters-group-khmer": "Khmer",
        "mw-widgets-dateinput-placeholder-day": "KKKK-TT-NN",
-       "mw-widgets-dateinput-placeholder-month": "KKKK-TT"
+       "mw-widgets-dateinput-placeholder-month": "KKKK-TT",
+       "api-error-blacklisted": "Hming dang, chiang zâwk deuh thlang hräm rawh le."
 }
index e93723b..b10cf28 100644 (file)
        "jumpto": "Pārlēkt uz:",
        "jumptonavigation": "navigācija",
        "jumptosearch": "meklēt",
-       "view-pool-error": "Atvainojiet, šobrīd serveri ir pārslogoti.\nPārāk daudz lietotāju mēģina apskatīt šo lapu.\nLūdzu, brīdi uzgaidiet un mēģiniet šo lapu apskatīt vēlreiz.\n\n$1",
+       "view-pool-error": "Atvainojiet, šobrīd serveri ir pārslogoti.\nPārāk daudz dalībnieku mēģina apskatīt šo lapu.\nLūdzu, brīdi uzgaidiet un mēģiniet šo lapu apskatīt vēlreiz.\n\n$1",
        "generic-pool-error": "Atvainojiet, šobrīd serveri ir pārslogoti.\nPārāk daudz lietotāju mēģina apskatīt šo lapu.\nLūdzu, brīdi uzgaidiet un mēģiniet šo lapu apskatīt vēlreiz.",
        "pool-timeout": "Noildze, gaidot bloķēšanu",
        "pool-errorunknown": "Nezināma kļūda",
        "createacct-captcha": "Drošības pārbaude",
        "createacct-imgcaptcha-ph": "Ievadiet tekstu, kuru jūs redzat augstāk",
        "createacct-submit": "Izveidot savu kontu",
-       "createacct-another-submit": "Izveidot citu lietotāja kontu",
+       "createacct-another-submit": "Izveidot citu dalībnieka kontu",
        "createacct-benefit-heading": "{{SITENAME}} darbojas ar tādu cilvēku kā Tu ieguldījumu.",
        "createacct-benefit-body1": "{{PLURAL:$1|labojumi|labojums|labojumi}}",
        "createacct-benefit-body2": "{{PLURAL:$1|lapas|lapa|lapas}}",
        "longpageerror": "'''Kļūda: Teksts, kuru tu mēģināji saglabāt, ir $1 kilobaitus garš, kas ir vairāk nekā pieļaujamie $2 kilobaiti.\nTas nevar tikt saglabāts.'''",
        "readonlywarning": "'''Brīdinājums: Datubāze ir slēgta apkopei, tāpēc tu tagad nevarēsi saglabāt veiktās izmaiņas.\nTu vari nokopēt tekstu un saglabāt kā teksta failu vēlākam laikam.'''\n\nAdmins, kas slēdza datubāzi, norādīja šādu paskaidrojumu: $1",
        "protectedpagewarning": "'''BRĪDINĀJUMS: Šī lapa ir aizsargāta, tikai lietotāji ar administratora privilēģijām var to izmainīt.'''\n\nPēdējais aizsargāšanas reģistra ieraksts ir apskatāms zemāk:",
-       "semiprotectedpagewarning": "'''Piezīme:''' Šī lapa ir aizsargāta, lai to varētu labot tikai reģistrēti lietotāji.\nPēdējais reģistra ieraksts ir apskatāms zemāk:",
+       "semiprotectedpagewarning": "'''Piezīme:''' Šī lapa ir aizsargāta, lai to varētu labot tikai reģistrēti dalībnieki.\nPēdējais reģistra ieraksts ir apskatāms zemāk:",
        "titleprotectedwarning": "'''Brīdinājums: Šī lapa ir slēgta un to var izveidot tikai [[Special:ListGroupRights|noteikti]] lietotāji.'''",
        "templatesused": "Šajā lapā {{PLURAL:$1|izmantotās veidnes|izmantotā veidne|izmantotās veidnes}}:",
        "templatesusedpreview": "Šajā pirmskatā {{PLURAL:$1|izmantotās veidnes|izmanotā veidne|izmantotās veidnes}}:",
        "pagehist": "Lapas vēsture",
        "deletedhist": "Dzēstā vēsture",
        "revdelete-modify-missing": "Kļūda, mainot vienumu ar ID $1: tas ir pazudis no datubāzes!",
-       "revdelete-reason-dropdown": "*Biežākie dzēšanas iemesli\n** autortiesību pārkāpums\n** nepiemērota personīgā informācija\n** nepiemērots lietotāja vārds\n** potenciāli apmelojoša informācija",
+       "revdelete-reason-dropdown": "*Biežākie dzēšanas iemesli\n** autortiesību pārkāpums\n** nepiemērota personīgā informācija\n** nepiemērots dalībnieka vārds\n** potenciāli apmelojoša informācija",
        "revdelete-otherreason": "Cits/papildu iemesls:",
        "revdelete-reasonotherlist": "Cits iemesls",
        "revdelete-edit-reasonlist": "Izmainīt dzēšanas iemeslus",
        "showhideselectedversions": "Rādīt/slēpt izvēlētās versijas",
        "editundo": "atcelt",
        "diff-empty": "(Nav atšķirību)",
-       "diff-multi-sameuser": "({{PLURAL:$1|$1 starpversijas|$1 starpversija|$1 starpversijas}}, ko mainījis viens lietotājs, nav {{PLURAL:$1|parādītas|parādīta|parādītas}})",
+       "diff-multi-sameuser": "({{PLURAL:$1|$1 starpversijas|$1 starpversija|$1 starpversijas}}, ko mainījis viens dalībnieks, nav {{PLURAL:$1|parādītas|parādīta|parādītas}})",
        "diff-multi-otherusers": "({{PLURAL:$1|$1 starpversijas|Viena starpversija|$1 starpversijas}}, ko {{PLURAL:$2|saglabājuši|saglabājis|saglabājuši}} {{PLURAL:$2|$2 lietotāji|viens cits lietotājs|$2 lietotāji}}, nav parādīta{{PLURAL:$1||s}})",
        "diff-multi-manyusers": "({{PLURAL:$1|$1 starpversijas|$1 starpversija|$1 starpversijas}}, ko saglabājuši vairāk nekā $2 {{PLURAL:$2|lietotāji|lietotājs|lietotāji}}, nav parādīta{{PLURAL:$1||s}})",
        "searchresults": "Meklēšanas rezultāti",
        "prefs-help-prefershttps": "Šie uzstādījumi stāsies spēkā nākamajā pievienošanās reizē.",
        "email-address-validity-valid": "E-pasta adrese šķiet derīga",
        "email-address-validity-invalid": "Ievadiet derīgu e-pasta adresi",
-       "userrights": "Lietotāju tiesību pārvaldība",
-       "userrights-lookup-user": "Pārvaldīt lietotāja grupas",
+       "userrights": "Dalībnieku tiesību pārvaldība",
+       "userrights-lookup-user": "Pārvaldīt dalībnieka grupas",
        "userrights-user-editname": "Ievadi lietotājvārdu:",
-       "editusergroup": "Izmainīt lietotāja grupas",
+       "editusergroup": "Izmainīt dalībnieka grupas",
        "editinguser": "Izmainīt lietotāja '''[[User:$1|$1]]''' ([[User talk:$1|{{int:talkpagelinktext}}]]{{int:pipe-separator}}[[Special:Contributions/$1|{{int:contribslink}}]]) statusu",
        "userrights-editusergroup": "Izmainīt lietotāja grupas",
-       "saveusergroups": "Saglabāt lietotāja grupas",
+       "saveusergroups": "Saglabāt dalībnieka grupas",
        "userrights-groupsmember": "Šobrīd ietilpst grupās:",
        "userrights-groupsmember-auto": "Netiešs dalībnieks:",
        "userrights-groups-help": "Tu vari izmainīt kādās grupās šis lietotājs ir:\n* Ieķeksēts lauciņš norāda, ka lietotājs ir attiecīgajā grupā.\n* Neieķeksēts lauciņš norāda, ka lietotājs nav attiecīgajā grupā.\n* * norāda, ka šo grupu tu nevarēsi noņemt, pēc tam, kad to būsi pielicis, vai otrādāk (tu nevarēsi atcelt savas izmaiņas).",
        "protectedpages-unknown-performer": "Nezināms lietotājs",
        "protectedtitles": "Aizsargātie nosaukumi",
        "protectedtitlesempty": "Pagaidām nevienas lapas nosaukums nav aizsargāts ar šiem paraametriem.",
-       "listusers": "Lietotāju uzskaitījums",
-       "listusers-editsonly": "Rādīt tikai lietotājus, kas ir izdarījuši kādas izmaiņas",
+       "listusers": "dalībnieku uzskaitījums",
+       "listusers-editsonly": "Rādīt tikai dalībniekus, kas ir izdarījuši kādas izmaiņas",
        "listusers-creationsort": "Kārtot pēc izveidošanas datuma",
        "usereditcount": "$1 {{PLURAL:$1|izmaiņas|izmaiņa|izmaiņas}}",
        "usercreated": "{{GENDER:$3|Izveidoja}} $1 plkst. $2",
        "linksearch-ok": "Meklēt",
        "linksearch-text": "Atbalstītie protokoli: $1",
        "linksearch-line": "$1 ir izveidota saite no $2",
-       "listusersfrom": "Parādīt lietotājus sākot ar:",
+       "listusersfrom": "Parādīt dalībniekus sākot ar:",
        "listusers-submit": "Parādīt",
-       "listusers-noresult": "Neviens lietotājs nav atrasts.",
+       "listusers-noresult": "Neviens dalībnieks nav atrasts.",
        "listusers-blocked": "(bloķēts)",
-       "activeusers": "Aktīvo lietotāju saraksts",
-       "activeusers-intro": "Šis ir lietotāju saraksts, kas veikuši kādu darbību {{PLURAL:daudzskaitlī:$1|pēdējā|pēdējās}} $1 {{PLURAL:daudzskaitlī:$1|dienā|dienās}}.",
+       "activeusers": "Aktīvo dalībnieku saraksts",
+       "activeusers-intro": "Šis ir dalībnieku saraksts, kas veikuši kādu darbību {{PLURAL:daudzskaitlī:$1|pēdējā|pēdējās}} $1 {{PLURAL:daudzskaitlī:$1|dienā|dienās}}.",
        "activeusers-count": "$1 {{PLURAL:$1|darbību|darbība|darbības}} {{PLURAL:$3|pēdējās $3 dienās|pēdējā $3 dienā|pēdējās $3 dienās}}",
-       "activeusers-from": "Parādīt lietotājus, sākot ar:",
+       "activeusers-from": "Parādīt dalībniekus, sākot ar:",
        "activeusers-hidebots": "Paslēpt botus",
        "activeusers-hidesysops": "Paslēpt administratorus",
-       "activeusers-noresult": "Neviens lietotājs nav atrasts.",
+       "activeusers-noresult": "Neviens dalībnieks nav atrasts.",
        "listgrouprights": "Lietotāju grupu tiesības",
-       "listgrouprights-summary": "Šis ir šajā wiki definēto lietotāju grupu uskaitījums, kopā ar tām atbilstošajām piekļuves tiesībām.\nPapildu informāciju par katru individuālu piekļuves tiesību veidu, iespējams, var atrast [[{{MediaWiki:Listgrouprights-helppage}}|šeit]].",
+       "listgrouprights-summary": "Šis ir šajā viki definēto dalībnieku grupu uzskaitījums, kopā ar tām atbilstošajām piekļuves tiesībām.\nPapildu informāciju par katru individuālu piekļuves tiesību veidu, iespējams, var atrast [[{{MediaWiki:Listgrouprights-helppage}}|šeit]].",
        "listgrouprights-group": "Grupa",
        "listgrouprights-rights": "Tiesības",
        "listgrouprights-helppage": "Help:Grupu tiesības",
        "special-characters-group-telugu": "Telugu",
        "special-characters-group-sinhala": "Singāļu",
        "special-characters-group-gujarati": "Gudžarati",
-       "mw-widgets-dateinput-no-date": "Nav izvēlēts datums"
+       "mw-widgets-dateinput-no-date": "Nav izvēlēts datums",
+       "api-error-blacklisted": "Lūdzu, izvēlieties citu, aprakstošu nosaukumu!"
 }
index 5f0c2ac..002e571 100644 (file)
        "svg-long-error": "Неважечка SVG-податотека: $1",
        "show-big-image": "Изворна податотека",
        "show-big-image-preview": "Големина на овој преглед: $1.",
+       "show-big-image-preview-differ": "Големина на овој $3-преглед на оваа $2-податотека: $1.",
        "show-big-image-other": "{{PLURAL:$2|Друга разделеност|Други разделености}}: $1.",
        "show-big-image-size": "$1 × $2 пиксели",
        "file-info-gif-looped": "кружно",
        "mw-widgets-dateinput-placeholder-day": "ГГГГ-ММ-ДД",
        "mw-widgets-dateinput-placeholder-month": "ГГГГ-ММ",
        "mw-widgets-titleinput-description-new-page": "страницата сè уште не постои",
-       "mw-widgets-titleinput-description-redirect": "пренасочување кон $1"
+       "mw-widgets-titleinput-description-redirect": "пренасочување кон $1",
+       "api-error-blacklisted": "Одберете поинаков, описен наслов."
 }
index db58d81..75bfcde 100644 (file)
        "special-characters-title-minus": "വ്യവകലന ചിഹ്നം",
        "mw-widgets-dateinput-no-date": "തീയതി ഒന്നും തിരഞ്ഞെടുത്തിട്ടില്ല",
        "mw-widgets-titleinput-description-new-page": "താൾ ഇപ്പോൾ നിലവിലില്ല",
-       "mw-widgets-titleinput-description-redirect": "$1 എന്ന താളിലേക്കുള്ള തിരിച്ചുവിടൽ"
+       "mw-widgets-titleinput-description-redirect": "$1 എന്ന താളിലേക്കുള്ള തിരിച്ചുവിടൽ",
+       "api-error-blacklisted": "ദയവായി മറ്റൊരു വിവരണാത്മകമായ തലക്കെട്ട് തിരഞ്ഞെടുക്കുക."
 }
index 4acdba5..7a1baee 100644 (file)
@@ -76,7 +76,7 @@
        "tog-shownumberswatching": "पहारा देणाऱ्या सदस्यांचा आकडा दाखवा",
        "tog-oldsig": "सध्याची सही:",
        "tog-fancysig": "सही विकिसंज्ञा म्हणून वापरा (आपोआप दुव्याशिवाय)",
-       "tog-uselivepreview": "सà¤\82पादन à¤\95रता à¤\95रताà¤\9a à¤\9dलà¤\95 à¤¦à¤¾à¤\96वा (पà¥\8dरयà¥\8bà¤\97à¤\95à¥\8dषम)",
+       "tog-uselivepreview": "सà¤\9cà¥\80व à¤\9dलà¤\95 à¤¦à¤¾à¤\96वा",
        "tog-forceeditsummary": "जर ’बदलांचा आढावा’ दिला नसेल तर मला सूचित करा",
        "tog-watchlisthideown": "पहाऱ्याच्या सूचीतून माझे बदल लपवा",
        "tog-watchlisthidebots": "पहाऱ्याच्या सूचीतून सांगकाम्यांचे बदल लपवा",
        "view": "दाखवा",
        "view-foreign": "$1 वर पहा",
        "edit": "संपादन",
+       "edit-local": "स्थानिक वर्णन संपादा",
        "create": "तयार करा",
        "create-local": "स्थानिक वर्णन जोडा",
        "editthispage": "हे पृष्ठ संपादित करा",
        "jumptonavigation": "सुचालन",
        "jumptosearch": "शोध",
        "view-pool-error": "माफ करा. यावेळेस सर्व्हरवर ताण आहे. अनेक सदस्य हे पान बघण्याचा प्रयत्न करित आहेत. पुन्हा या पानावर येण्यासाठी थोडा वेळ थांबून परत प्रयत्‍न करा.\n$1",
+       "generic-pool-error": "माफ करा. यावेळेस सर्व्हरवर ताण आहे. अनेक सदस्य हे पान बघण्याचा प्रयत्न करित आहेत. पुन्हा या पानावर येण्यासाठी थोडा वेळ थांबून परत प्रयत्‍न करा.",
        "pool-timeout": "ताळ्यासाठी वाट पाहण्याची वेळ संपली",
        "pool-queuefull": "सर्व्हरवर ताण आहे.",
        "pool-errorunknown": "अपरिचित त्रुटी",
        "actionthrottled": "कृती नियामक(थ्रॉटल) केली",
        "actionthrottledtext": "अपशब्द-विरोधी उपायाच्या दृष्टीने(अँटी-अब्युज मेझर ),ही कृती थोड्या कालावधीत असंख्यवेळा करण्यापासून, तुम्हाला प्रतिबंधित करण्यात आले आहे, आणि आपण या मर्यादेचे उल्लंघन केले आहे. कृपया काही मिनीटांनंतर पुन्हा प्रयत्न करा.",
        "protectedpagetext": "हे पान बदल अथवा इतर कृती होऊ नयेत म्हणून सुरक्षित केले आहे.",
-       "viewsourcetext": "तà¥\81मà¥\8dहà¥\80 à¤¯à¤¾ à¤ªà¤¾à¤¨à¤¾à¤\9aा à¤¸à¥\8dरà¥\8bत à¤ªà¤¾à¤¹à¥\82 à¤¶à¤\95ता à¤µ à¤ªà¥\8dरत à¤\95रà¥\82 à¤¶à¤\95ता:",
-       "viewyourtext": "तुम्ही या पानाची, '''तुमची संपादने''' पाहू शकता व त्याची प्रत करू शकता:",
+       "viewsourcetext": "तà¥\81मà¥\8dहà¥\80 à¤¯à¤¾ à¤ªà¤¾à¤¨à¤¾à¤\9aा à¤¸à¥\8dरà¥\8bत à¤ªà¤¾à¤¹à¥\82 à¤µ à¤ªà¥\8dरत à¤\95रà¥\82 à¤¶à¤\95ता.",
+       "viewyourtext": "तुम्ही या पानाची,<strong>तुमची संपादने</strong> पाहू शकता व त्याची प्रत करू शकता.",
        "protectedinterface": "हे पान सॉफ्टवेअरला इंटरफेस लेखन पुरवते, म्हणून दुरूपयोग टाळण्यासाठी संरक्षित केलेले आहे.\n\nसर्व विकिंवर, अनुवाद जोडण्याकरता किंवा बदलण्याकरता अथवा शुद्धलेखन चिकित्सेकरीता , कृपया [//translatewiki.net/ translatewiki.net], या मिडियाविकि स्थानिकीकरण प्रकल्पावर जा.",
-       "editinginterface": "'''सावधान:''' तुम्ही संचेतनाचे (सॉफ्टवेअर) संपर्क माध्यम मजकूर असलेले पान संपादित करित आहात. या पानावरील बदल या विकिवरील इतर सदस्यांच्या सदस्य संपर्क माध्यमाचे स्वरूप बदलू शकते.सर्व विकिंवरील भाषांतरासाठी  कृपया मिडीयाविकि स्थानिकीकरण प्रकल्पाच्या [//translatewiki.net/ translatewiki.net]या सुविधेचा वापर करा.",
+       "editinginterface": "<strong>सावधान</strong>तुम्ही संचेतनाचे (सॉफ्टवेअर) संपर्क माध्यम मजकूर असलेले पान संपादित करित आहात. या पानावरील बदल या विकिवरील इतर सदस्यांच्या सदस्य संपर्क माध्यमाचे स्वरूप बदलू शकते.",
        "cascadeprotected": "हे पान संपादनांपासून सुरक्षित केल्या गेले आहे, कारण ते खालील {{PLURAL:$1|पानात|पानांमध्ये}} अंतर्भूत केलेले आहे,{{PLURAL:$1|जे पान|जी पाने }} निपतन पर्याय सुरु केल्यामुळे सुरक्षित आहेत:\n$2",
        "namespaceprotected": "'''$1''' नामविश्वातील पाने संपादण्याची आपणांस परवानगी नाही.",
        "customcssprotected": "या पानावर इतर सदस्याची वैयक्तिक मांडणी असल्यामुळे, तुम्हाला हे सीएसएस पान संपादित करण्याची परवानगी नाही.",
        "passwordreset-emailsent-capture": "'परवलीचा शब्द' पुनर्स्थापनेबाबत एक विपत्र पाठवण्यात आले आहे जे खाली दर्शविण्यात आले आहे.",
        "passwordreset-emailerror-capture": "'परवलीचा शब्द' पुनर्स्थापनेबाबत एक विपत्र निर्माण करण्यात आले, जे खाली दर्शविण्यात आले आहे.परंतु,{{GENDER:$2|सदस्य}}ला पाठविणे असफल झाले: $1",
        "changeemail": "विपत्रपत्ता बदला किंवा हटवा",
-       "changeemail-header": "आपल्या खात्याचा ईमेल पत्ता बदला.",
+       "changeemail-header": "आपला विपत्रपत्ता बदलण्यास हे आवेदन पूर्ण करा.जर आपणास आपल्या खात्याशी संलग्न कोणताही विपत्रपत्ता हटवायचा असेल तर,आवेदन सादर करण्यापूर्वी, नविन विपत्रपत्त्यासाठी असलेली जागा कोरी ठेवा.",
+       "changeemail-passwordrequired": "हे बदल नक्की करण्यासाठी आपणास आपला संकेतांक टाकावा लागेल.",
        "changeemail-no-info": "हे पान थेट बघण्यासठी तुम्हाला सनोंद-प्रवेशित असावे लागेल.",
        "changeemail-oldemail": "सध्याचा ईमेल पत्ता :",
        "changeemail-newemail": "नवा ईमेल पत्ता:",
        "sig_tip": "वेळेबरोबर तुमची सही",
        "hr_tip": "आडवी रेषा (अपवादानेच वापरा)",
        "summary": "बदलांचा आढावा :",
-       "subject": "विषय/मथळा:",
+       "subject": "विषय:",
        "minoredit": "हा एक छोटा बदल आहे",
        "watchthis": "या लेखावर लक्ष ठेवा",
        "savearticle": "हा लेख साठवा",
        "anonpreviewwarning": "\"'''सावधान:''' तुम्ही विकिपीडियाचे सदस्य म्हणून सनोंद-प्रवेश (लॉग-इन) केलेला नाही. या पानाच्या संपादन इतिहासात तुमचा अंकपत्ता (आय.पी. ॲड्रेस) नोंदला जाईल.\"",
        "missingsummary": "'''आठवण:''' आपण संपादन सारांश पुरवलेला नाही.आपण 'जतन करा' वर पुन्हा टिचकी मारली तर, ते त्याशिवायच जतन होईल.",
        "missingcommenttext": "कृपया खाली प्रतिक्रिया भरा.",
-       "missingcommentheader": "'''आठवण:''' आपण या लेखनाकरिता विषय किंवा मथळा दिलेला नाही. आपण पुन्हा \"{{int:savearticle}}\" वर टिचकले तर, तुमचे संपादन त्याशिवायच जतन होईल.",
+       "missingcommentheader": "<strong>आठवण:<strong> आपण या लेखनाकरिता विषय दिलेला नाही. आपण पुन्हा \"{{int:savearticle}}\" वर टिचकले तर, तुमचे संपादन त्याशिवायच जतन होईल.",
        "summary-preview": "आढाव्याची झलक:",
-       "subject-preview": "विषय/मथळा झलक:",
+       "subject-preview": "विषय झलक:",
        "blockedtitle": "हा सदस्य प्रतिबंधित आहे",
        "blockedtext": "'''तुमचे सदस्यनाव अथवा IP पत्ता ब्लॉक केलेला आहे.'''\n\nहा ब्लॉक $1 यांनी केलेला आहे.\nयासाठी ''$2'' हे कारण दिलेले आहे.\n\n* ब्लॉकची सुरूवात: $8\n* ब्लॉकचा शेवट: $6\n* कुणाला ब्लॉक करायचे आहे: $7\n\nतुम्ही ह्या ब्लॉक संदर्भातील चर्चेसाठी $1 अथवा [[{{MediaWiki:Grouppage-sysop}}|प्रबंधकांशी]] संपर्क करू शकता.\nतुम्ही जोवर वैध ई-मेल पत्ता आपल्या [[Special:Preferences|'माझ्या पसंती']] पानावर देत नाही तोवर तुम्ही ’सदस्याला ई-मेल पाठवा’ हा दुवा वापरू शकत नाही. तसेच असे करण्यापासून आपल्याला ब्लॉक केलेले नाही.\nतुमचा सध्याचा IP पत्ता $3 हा आहे, व तुमचा ब्लॉक क्रमांक #$5 हा आहे.\nकृपया या संदर्भातील चर्चेमध्ये वरील सर्व तपशिल उद्घृत करा.",
        "autoblockedtext": "तुमचा आंतरजालीय अंकपत्ता आपोआप स्थगित केला आहे कारण तो इतर अशा सदस्याने वापरला, ज्याला $1ने प्रतिबंधित केले.\nआणि दिलेले कारण खालील प्रमाणे आहे\n:''$2''\nब्लॉकची सुरूवात: $8\nब्लॉकचा शेवट: $6\nकुणाला ब्लॉक करायचे आहे: $7\n\nतुम्ही $1शी संपर्क करू शकता किंवा इतर [[{{MediaWiki:Grouppage-sysop}}|प्रबंधकां पैकी]] एकाशी स्थगनाबद्दल चर्चा करू शकता.\n\n[[Special:Preferences|सदस्य पसंतीत]]त शाबीत विपत्र पत्ता नमूद असल्या शिवाय आणि तुम्हाला  तो वापरण्या पासून प्रतिबंधित केले असल्यास तुम्ही  \"या सदस्यास विपत्र पाठवा\" सुविधा  वापरू शकणार नाही.\nतुमचा सध्याचा IP पत्ता $3 हा आहे, व तुमचा ब्लॉक क्रमांक #$5 हा आहे. \nतुमचा स्थगन क्र $5 आहे. कृपया या संदर्भातील चर्चेमध्ये वरील सर्व तपशिल उद्घृत करा.",
        "parser-template-recursion-depth-warning": "साचा पुनरावर्तन खोली मर्यादा ओलांडली ($1)",
        "language-converter-depth-warning": "भाषा रुपांतरण खोली मर्यादा ओलांडली ($1)",
        "node-count-exceeded-category": "लेख जेथे निस्पंद-गणना(नोड-काऊंट) पार केल्या गेला",
-       "node-count-exceeded-warning": "लेखाची पर्वसंधि-गणना(नोड-काऊंट) पार झाली",
+       "node-count-exceeded-warning": "लेखाची पर्वसंधि-गणना(नोड-काऊंट)मर्यादा पार झाली",
        "expansion-depth-exceeded-category": "लेख जेथे विस्तार-तळ(एक्सपांशन डेप्थ) पार केल्या गेली",
        "expansion-depth-exceeded-warning": "लेखाने विस्तार-तळ(एक्सपांशन डेप्थ) पार केला",
        "parser-unstrip-loop-warning": "'अनस्ट्रिप'(अरोखीत) वलय(लुप) आढळले",
        "upload-too-many-redirects": "या आंतरजालपत्त्यात खूप पुनर्निर्देशने आहेत",
        "upload-http-error": "एक एचटीटीपी चूक उद्भवली: $1",
        "upload-copy-upload-invalid-domain": "संक्रमित केलेली महिती अधिक्षेत्रात उपलब्ध नाही.",
+       "upload-dialog-title": "संचिकेचे अपभारण करा",
+       "upload-dialog-button-cancel": "रद्द करा",
+       "upload-dialog-button-done": "झाले",
+       "upload-dialog-button-save": "जतन करा",
+       "upload-dialog-button-upload": "अपभारण करा",
+       "upload-process-error": "त्रुटी घडली",
+       "upload-process-warning": "ईशारा उद्भवला",
+       "upload-form-label-select-file": "संचिका निवडा",
+       "upload-form-label-infoform-title": "तपशील",
+       "upload-form-label-infoform-name": "नाव",
+       "upload-form-label-infoform-description": "वर्णन",
+       "upload-form-label-usage-title": "वापर",
+       "upload-form-label-usage-filename": "संचिका नाम",
        "foreign-structured-upload-form-label-own-work": "हे माझे स्वत:चे काम आहे",
+       "foreign-structured-upload-form-label-infoform-categories": "वर्ग",
+       "foreign-structured-upload-form-label-infoform-date": "दिनांक",
        "backend-fail-stream": "$1 या संचिकेचा स्त्रोत शोधता आला नाही.",
        "backend-fail-backup": "$1 या संचिकेची आधारप्रत बनविता आली नाही.",
        "backend-fail-notexists": "$1 ही संचिका अस्तित्वात नाही.",
        "license": "परवाना:",
        "license-header": "परवाना:",
        "nolicense": "काही निवडलेले नाही",
+       "licenses-edit": "परवान्याच्या विकल्पाचे संपादन करा",
        "license-nopreview": "(झलक उपलब्ध नाही)",
-       "upload_source_url": "(एक सुयोग्य,सार्वजनिकरित्या उपलब्ध URL)",
-       "upload_source_file": "(तुमच्या संगणकावरील एक संचिका)",
+       "upload_source_url": "(एक सुयोग्य,सार्वजनिकरित्या उपलब्ध URL निवडली आहे)",
+       "upload_source_file": "(तुमच्या संगणकावरील एक संचिका निवडली आहे)",
+       "listfiles-delete": "वगळा",
        "listfiles-summary": "हे विशेष पान सर्व अपभारिलेल्या संचिका दर्शिविते.",
        "listfiles_search_for": "चित्र नावाने शोध:",
+       "listfiles-userdoesnotexist": "सदस्यखाते \"$1\"  हे नोंदलेले नाही.",
        "imgfile": "संचिका",
        "listfiles": "चित्र यादी",
        "listfiles_thumb": "नखुले",
        "filerevert-legend": "संचिका पूर्वपदास",
        "filerevert-intro": "तुम्ही [$3, $2 प्रमाणे आवर्तन$4 कडे]<strong>[[Media:$1|$1]]</strong>  उलटवत आहात.",
        "filerevert-comment": "कारण:",
-       "filerevert-defaultcomment": "$2, $1 à¤\9aà¥\8dया à¤\86वà¥\83तà¥\8dतà¥\80त à¤ªà¥\82रà¥\8dवपदास",
+       "filerevert-defaultcomment": "$2, $1 à¤\9aà¥\8dया à¤\86वà¥\83तà¥\8dतà¥\80स à¤ªà¥\82रà¥\8dवपदावर ($3)",
        "filerevert-submit": "पूर्वपद",
        "filerevert-success": "[$3, $2 प्रमाणे आवर्तन $4]कडे<strong>[[Media:$1|$1]]</strong>उलटवण्यात आली.",
        "filerevert-badversion": "दिलेलेल्या वेळ मापनानुसार,या संचिकेकरिता कोणतीही पूर्वीची स्थानिक आवृत्ती नाही.",
        "filedelete-maintenance": "देखभालीदरम्यान, संचिका वगळणे व पुनर्स्थापित करणे तात्पुरते अक्षम केल्या गेले आहे.",
        "filedelete-maintenance-title": "संचिका (फाईल) वगळू शकत नाही.",
        "mimesearch": "विविधामाप (माईम) शोधा",
-       "mimesearch-summary": "हे पान विविधामाप (माईम)-प्रकारांकरिता संचिकांची चाळणी करण्याची सुविधा पुरवते:\nInput:contenttype/subtype, e.g. <code>image/jpeg</code>.",
+       "mimesearch-summary": "हे पान विविधामाप (माईम)-प्रकारांकरिता संचिकांची चाळणी करण्याची सुविधा पुरवते.\nInput:contenttype/subtype, e.g. <code>image/jpeg</code>.",
        "mimetype": "विविधामाप (माईम) प्रकार:",
        "download": "अधिभारण करा",
        "unwatchedpages": "देखरेख नसलेली पाने",
        "randomincategory": "वर्गातील अनियत पान",
        "randomincategory-invalidcategory": "\"$1\" हे अधिकृत वर्गाचे नाव नाही.",
        "randomincategory-nopages": "[[:Category:$1]] यात काहीच पाने नाहीत.",
+       "randomincategory-category": "वर्ग:",
+       "randomincategory-legend": "वर्गातील अविशिष्ट पान",
        "randomincategory-submit": "चला",
        "randomredirect": "अविशिष्ट पुनर्निर्देशन",
        "randomredirect-nopages": "$1 या नामविश्वात कोणतीही पुर्ननिर्देशने नाहीत.",
        "pageswithprop-prophidden-binary": "बायनरी गुणधर्माची किंमत लपविलेली आहे ($1)",
        "doubleredirects": "दुहेरी-पुनर्निर्देशने",
        "doubleredirectstext": "हे पान, अशा पानांची यादी पुरवते की जी पाने, दुसऱ्या पुर्ननिर्देशीत पानाकडे पुर्ननिर्देशीत झाली आहेत.प्रत्येक ओळीत पहिल्या आणि दुसऱ्या पुर्ननिर्देशनाचा दुवा दिला आहे,तसेच, दुसऱ्या  पुर्ननिर्देशनाचे लक्ष्य पान पण दिले आहे,जे मुळात ते \nलक्ष्यपान आहे ज्याकडे, पहिले पुनर्निर्देशन असावयास हवे.\n\n<del>खोडलेल्या प्रविष्टी</del>समायोजित करण्यात आलेल्या आहेत.",
-       "double-redirect-fixed-move": "[[$1]] हलवले गेले आहे.\nते आता [[$2]] येथे निर्देशित होते.",
+       "double-redirect-fixed-move": "[[$1]] हलवले गेले आहे.\nते आता स्वयंचलितरित्या अद्यतन केल्या गेले व [[$2]] येथे निर्देशित होते.",
        "double-redirect-fixed-maintenance": "[[$1]] ते [[$2]] हे चुकीचे पुनर्निर्देशन ठिकठाक केले.",
        "double-redirect-fixer": "पुनर्निर्देशन ठिकठाक करणारा",
        "brokenredirects": "मोडकी पुनर्निर्देशने",
        "listgrouprights-removegroup-self": "स्वतःच्या खात्यातून हे {{PLURAL:$2|गट}} वगळा: $1",
        "listgrouprights-addgroup-self-all": "सर्व गट स्वतःच्या खात्यात जोडा",
        "listgrouprights-removegroup-self-all": "सर्व गट स्वतःच्या खात्यातून काढून टाका",
+       "listgrouprights-namespaceprotection-header": "नामविश्व प्रतिबंध",
+       "listgrouprights-namespaceprotection-namespace": "नामविश्व",
+       "trackingcategories": "वर्ग शोधत आहोत",
+       "trackingcategories-name": "संदेश नाम",
        "mailnologin": "पाठविण्याचा पत्ता नाही",
        "mailnologintext": "इतर सदस्यांना विपत्र(ई-मेल) पाठवण्याकरिता तुम्ही [[Special:UserLogin|प्रवेश केलेला]] असणे आणि  प्रमाणित (ई-मेल) पत्ता तुमच्या [[Special:Preferences|पसंतीत]] नमूद असणे आवश्यक आहे.",
        "emailuser": "या सदस्याला ई-मेल पाठवा",
        "rollback-success": "$1 ने उलटवलेली संपादने;$2 च्या आवृत्तीस परत नेली.",
        "sessionfailure-title": "सत्र त्रुटी",
        "sessionfailure": "तुमच्या दाखल सत्रात काही समस्या दिसते;सत्र अपहारणापासून \nवाचविण्याचे दृष्टीने ही कृती रद्द केल्या गेली आहे.कृपया आपल्या विचरकाच्या \"back\" कळीवर टिचकी मारा आणि तुम्ही ज्या पानावरून आला ते पुन्हा चढवा,आणि परत प्रयत्न करा.",
+       "changecontentmodel-title-label": "लेखपान शीर्ष",
+       "changecontentmodel-reason-label": "कारण:",
        "protectlogpage": "सुरक्षा नोंदी",
        "protectlogtext": "पानांना लावलेल्या ताळ्यांची आणि ताळे उघडण्याबद्दलच्या पानाची खाली सूची दिली आहे.सध्याच्या सुरक्षित पानांबद्दलच्या माहितीकरिता [[Special:ProtectedPages|सुरक्षीत पानांची सूची]] पहा.",
        "protectedarticle": "\"[[$1]]\" सुरक्षित केला",
        "undeletepagetext": "खालील {{PLURAL:$1|पान वगळले आहे तरीसुद्धा विदागारात जतन आहे आणि पुनर्स्थापित करणे शक्य आहे|$1 पाने वगळली आहेत तरी सुद्धा विदागारात जतन आहेत आणि पुनर्स्थापित करणे शक्य आहेत}}. विदागारातील साठवण ठरावीक कालावधीने स्वच्छ करता येते.",
        "undelete-fieldset-title": "आवर्तने पुनर्स्थापित करा",
        "undeleteextrahelp": "पानाचा संपूर्ण इतिहास पुनर्स्थापित करण्यासाठी,साऱ्या चौकटपेट्या (चेकबॉक्सेस) रिकाम्या ठेवा\nआणि  '''''{{int:undeletebtn}}''''' वर टिचकी मारा. निवडक पुनर्स्थापन करण्याकरिता, ज्या आवर्तनांचे पुनर्स्थापन करावयाचे त्यांचेशी सुसंगत चौकटपेट्या (चेकबॉक्सेस) निवडा , आणि '''''{{int:undeletebtn}}''''' वर टिचकी मारा.",
-       "undeleterevisions": "$1 {{PLURAL:$1|आवर्तन|आवर्तने}}विदागारात संचीत",
+       "undeleterevisions": "$1 {{PLURAL:$1|आवर्तन वगळले|आवर्तने वगळली}}",
        "undeletehistory": "जर तुम्ही पान पुनर्स्थापित केले तर ,सारी आवर्तने इतिहासात पुनर्स्थापित होतील.\nवगळल्या पासून त्याच नावाचे नवे पान तयार केले गेले असेले तर, पुनर्स्थापित आवर्तने पाठीमागील इतिहासात दिसतील. पुनर्स्थापना नंतर संचिकांच्या आवर्तनांवरील बंधने गळून पडतील याची नोंद घ्या.",
        "undeleterevdel": "पृष्ठ पानाचे आवर्तन अर्धवट वगळले जाणार असेल तर पुनर्स्थापनाची कृती केली जाणार नाही.\nअशा प्रसंगी, तुम्ही अगदी अलीकडील वगळलेली आवर्तने अनचेक किंवा अनहाईड केलीच पाहिजे.",
        "undeletehistorynoadmin": "हे पान वगळले गेले आहे.वगळण्याचे कारण खालील आढाव्यात,वगळण्यापूर्वी संपादित करणाऱ्या संपादकांच्या माहिती सोबत,दाखवले आहे. वगळलेल्या आवर्तनांचा नेमका मजकूर केवळ प्रचालकांना उपलब्ध असेल.",
        "move-page-legend": "पृष्ठ स्थानांतरण",
        "movepagetext": "खालील अर्ज हा एखाद्या लेखाचे शीर्षक बदलण्यासाठी वापरता येईल. खालील अर्ज भरल्यानंतर लेखाचे शीर्षक बदलले जाईल तसेच त्या लेखाचा सर्व इतिहास हा नवीन लेखामध्ये स्थानांतरित केला जाईल.\nजुने शीर्षक नवीन शीर्षकाला पुनर्निर्देशित करेल.\nजुन्या शीर्षकाला असलेले दुवे बदलले जाणार नाहीत, तरी तुम्हाला विनंती आहे की स्थानांतरण केल्यानंतर\n[[Special:DoubleRedirects|दुहेरी]] अथवा [[Special:BrokenRedirects|मोडकी]] पुनर्निर्देशने तपासावीत.\nचुकीचे दुवे टाळण्याची जबाबदारी सर्वस्वी तुमच्यावर राहील.\n\nजर नवीन शीर्षकाचा लेख अस्तित्वात असेल तर स्थानांतरण होणार '''नाही'''.\nपण जर नवीन शीर्षकाचा लेख हा रिकामा असेल अथवा पुनर्निर्देशन असेल (म्हणजेच त्या लेखाला जर संपादन इतिहास नसेल) तर स्थानांतरण होईल. याचा अर्थ असा की जर काही चूक झाली तर तुम्ही पुन्हा जुन्या शीर्षकाकडे स्थानांतरण करू शकता.\n\n'''सूचना!'''\nस्थानांतरण केल्यास एखाद्या महत्वाच्या लेखामध्ये अनपेक्षित बदल होऊ शकतात. तुम्हाला विनंती आहे की तुम्ही पूर्ण काळजी घ्या व होणारे परिणाम समजावून घ्या.\nजर तुम्हाला शंका असेल तर प्रबंधकांशी संपर्क करा.",
        "movepagetext-noredirectfixer": "खालील अर्ज हा एखाद्या लेखाचे शीर्षक बदलण्यासाठी वापरता येईल. खालील अर्ज भरल्यानंतर लेखाचे शीर्षक बदलले जाईल तसेच त्या लेखाचा सर्व इतिहास हा नवीन लेखामध्ये स्थानांतरित केला जाईल.\n\nजुने शीर्षक नवीन शीर्षकाकडे पुनर्निर्देशित करेल.\n\n[[Special:DoubleRedirects|दुहेरी]] अथवा [[Special:BrokenRedirects|मोडकी]] पुनर्निर्देशनांकरीता तपासण्याची काळजी घ्या.\nउपलब्ध दुवे  जिथे उघडणे अभिप्रेत होते तसेच उघडतील याची तुम्ही जबाबदारी घेत आहात\n\nजर नवीन शीर्षकाचा लेख अस्तित्वात असेल तर स्थानांतरण होणार '''नाही'''.\nपण जर नवीन शीर्षकाचा लेख हा रिकामा असेल अथवा पुनर्निर्देशन असेल (म्हणजेच त्या लेखाला जर संपादन इतिहास नसेल) तर स्थानांतरण होईल. याचा अर्थ असा की जर काही चूक झाली तर तुम्ही पुन्हा जुन्या शीर्षकाकडे स्थानांतरण करू शकता.\n<strong>ईशारा!</strong>\nअसे केल्याने एखाद्या महत्वाच्या/लोकप्रीय लेखामध्ये अनपेक्षित आणि महत्वाचे बदल होऊ शकतात. तुम्हाला विनंती आहे की तुम्ही पूर्ण काळजी घ्या व होणारे परिणाम समजावून घ्या.\nजर तुम्हाला शंका असेल तर प्रचालक/प्रबंधकांशी संपर्क करा.",
-       "movepagetalktext": "सà¤\82बà¤\82धित à¤\9aरà¥\8dà¤\9aा à¤ªà¥\83षà¥\8dठ à¤¯à¤¾à¤¬à¤°à¥\8bबर à¤¸à¥\8dथानाà¤\82तरà¥\80त à¤¹à¥\8bणार à¤¨à¤¾à¤¹à¥\80 '''à¤\9cर:'''\n* à¤¤à¥\81मà¥\8dहà¥\80 à¤ªà¥\83षà¥\8dठ à¤¦à¥\81सऱà¥\8dया à¤¨à¤¾à¤®à¤µà¤¿à¤¶à¥\8dवात à¤¸à¥\8dथानाà¤\82तरà¥\80त à¤\95रत à¤\85साल\n* à¤¯à¤¾ à¤¨à¤¾à¤µà¤¾à¤\9aà¥\87 à¤\9aरà¥\8dà¤\9aा à¤ªà¤¾à¤¨ à¤\85à¤\97à¥\8bदरà¤\9a à¤\85सà¥\8dतितà¥\8dवात à¤\85सà¥\87ल à¤¤à¤°, à¤\95िà¤\82वा\n* à¤\96ालà¥\80ल à¤\9aà¥\8cà¤\95à¤\9fपà¥\87à¤\9fà¥\80 (à¤\9aà¥\87à¤\95बà¥\89à¤\95à¥\8dस) à¤°à¤¿à¤\95ामà¥\80 à¤ à¥\87वलà¥\80 à¤¤à¤°.\n\nया à¤¬à¤¾à¤¬à¤¤à¥\80त à¤¤à¥\81मà¥\8dहाला à¤¸à¥\8dवतà¤\83ला à¤¹à¥\80 à¤ªà¤¾à¤¨à¥\87 à¤\8fà¤\95तà¥\8dर करावी लागतील.",
+       "movepagetalktext": "à¤\9cर à¤\86पण à¤¹à¤¾ à¤¬à¥\89à¤\95à¥\8dस 'à¤\9aà¥\87à¤\95' à¤\95à¥\87ला à¤¤à¤°,यातà¥\80ल à¤¸à¤\82लà¤\97à¥\8dन à¤\9aरà¥\8dà¤\9aा à¤ªà¤¾à¤¨à¥\87 à¤\86पà¥\8bà¤\86प à¤¨à¤µà¤¿à¤¨ à¤®à¤¥à¤³à¥\8dयास à¤¸à¤\82लà¤\97à¥\8dन à¤¹à¥\8bतà¥\80ल.(तà¥\87थà¥\87 à¤ªà¥\81रà¥\8dवà¥\80à¤\9a à¤²à¤¿à¤¹à¤¿à¤²à¥\87लà¥\87 à¤\9aरà¥\8dà¤\9aापान à¤¨à¤¸à¥\87ल à¤¤à¤°)\n\nया à¤¬à¤¾à¤¬à¤¤à¥\80त à¤¤à¥\81मà¥\8dहाला à¤¸à¥\8dवतà¤\83ला à¤¹à¥\80 à¤ªà¤¾à¤¨à¥\87 à¤¸à¥\8dवत:à¤\9a à¤¹à¤²à¤µà¤¾à¤µà¥\80 à¤\95िà¤\82वा à¤µà¤¿à¤²à¥\80न करावी लागतील.",
        "moveuserpage-warning": "'''सावधान:''' आपण एक सदस्य पान स्थलांतरित करत आहात. कृपया लक्षात घ्या की, फक्त हे पान स्थलांतरित होइल, सदस्य नाम बदलले जाणार नाही.",
        "movenologintext": "पान स्थानांतरित करण्यासाठी तुम्ही नोंदीकृत सदस्य हवे व तुम्हाला [[Special:UserLogin|सनोंद-प्रवेश]] करावा लागेल.",
        "movenotallowed": "{{SITENAME}}वरील पाने स्थानांतरीत करण्याची आपल्यास परवानगी नाही.",
        "thumbnail_image-missing": "संचिका सापडत नाही: $1",
        "thumbnail_image-failure-limit": "हे नखुले देण्यासाठी नुकतेच अनेक अयशस्वी प्रयत्न($1 किंवा अधिक) केल्या गेले आहेत.कृपया नंतर पुन्हा प्रयत्न करा.",
        "import": "पाने आयात करा",
-       "importinterwiki": "à¤\86à¤\82तरविà¤\95ि à¤\86यात",
+       "importinterwiki": "दà¥\81सऱà¥\8dया à¤µà¤¿à¤\95à¥\80वरà¥\81न à¤\86यात à¤\95रा",
        "import-interwiki-text": "आयात करण्याकरिता एक विकि आणि पानाचा मथळा निवडा.\nआवर्तनांच्या तारखा आणि संपादकांची नावे जतन केली जातील.\nसर्व आंतरविकि आयात क्रिया [[Special:Log/import|आयात नोंदीत]] दाखल केल्या आहेत.",
+       "import-interwiki-sourcewiki": "स्रोत विकि:",
+       "import-interwiki-sourcepage": "स्रोत पान:",
        "import-interwiki-history": "या पानाकरिताची साऱ्या इतिहास आवर्तनांची नक्कल करा",
        "import-interwiki-templates": "साचे आंतरभूत करा",
        "import-interwiki-submit": "आयात",
        "autosumm-replace": "पान '$1' वापरून बदलले.",
        "autoredircomment": "[[$1]] कडे पुनर्निर्देशित",
        "autosumm-new": "नवीन पान \"$1\"",
+       "autosumm-newblank": "रिकामे पान बनविले",
        "size-bytes": "$1 बा.",
        "size-kilobytes": "$1 कि.बा.",
        "size-megabytes": "$1 मे.बा.",
        "watchlistedit-raw-done": "तुमची पहाऱ्याची सूची परिष्कृत करण्यात आली आहे.",
        "watchlistedit-raw-added": "{{PLURAL:$1|1 शीर्षक होते |$1 शीर्षक होती }} भर घातली:",
        "watchlistedit-raw-removed": "{{PLURAL:$1|1 शीर्षक होते |$1 शीर्षक होती }} वगळले:",
+       "watchlistedit-clear-title": "निरीक्षणसूची साफ केली",
+       "watchlistedit-clear-legend": "निरीक्षणसूची साफ करा",
+       "watchlistedit-clear-explain": "आपल्या ननिरीक्षणसूचीतील सर्व शिर्षक हटविल्या जातील.",
+       "watchlistedit-clear-titles": "शिर्षके:",
+       "watchlisttools-clear": "निरीक्षणसूची साफ करा",
        "watchlisttools-view": "संबंधित बदल पहा",
        "watchlisttools-edit": "पहाऱ्याची  सूची पहा आणि संपादित करा",
        "watchlisttools-raw": "नित्य पहाण्याची कच्ची-सूची संपादित करा",
        "version-entrypoints": "आत येणारी यू॰आर॰एल",
        "version-entrypoints-header-entrypoint": "आत येण्याचा मार्ग",
        "version-entrypoints-header-url": "यू॰आर॰एल",
+       "version-libraries-library": "ग्रंथालय",
+       "version-libraries-version": "आवृत्ती",
+       "version-libraries-license": "परवाना",
+       "version-libraries-description": "वर्णन",
+       "version-libraries-authors": "लेखक",
        "redirect": "संचिका,सदस्य किंवा आवृत्ती या ओळखणीनुसार पुनर्निर्देशन",
        "redirect-legend": "संचिका अथवा पानास पुनर्निर्देशन",
        "redirect-summary": "हे विशेष पान एक संचिकेस पुनर्निर्देशित करते(दिलेले संचिकानाम),एक पान(दिलेली आवृत्ती किंवा पान ओळखण) किंवा एक सदस्यपान(दिलेला सदस्य अंक).\nवापर:[[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], किंवा [[{{#Special:Redirect}}/user/101]].",
        "tags-tag": "खूण नाव",
        "tags-display-header": "बदल सुचीवर कसे दिसेल",
        "tags-description-header": "अर्थाची पूर्ण माहिती",
+       "tags-source-header": "स्रोत",
        "tags-active-header": "सक्रिय?",
        "tags-hitcount-header": "खुणा केलेले बदल",
+       "tags-actions-header": "क्रिया",
        "tags-active-yes": "होय",
        "tags-active-no": "नाही",
+       "tags-source-none": "वापरात नाही",
        "tags-edit": "संपादन करा",
+       "tags-delete": "वगळा",
+       "tags-activate": "सक्रीय करा",
+       "tags-deactivate": "निष्क्रिय करा",
        "tags-hitcount": "$1 {{PLURAL:$1|बदल|बदल}}",
+       "tags-create-heading": "नवीन बिल्ला तयार करा",
+       "tags-create-reason": "कारण:",
+       "tags-create-submit": "निर्मित करा",
+       "tags-delete-reason": "कारण:",
+       "tags-activate-reason": "कारण:",
+       "tags-activate-submit": "सक्रीय करा",
+       "tags-deactivate-reason": "कारण:",
+       "tags-deactivate-submit": "निष्क्रिय करा",
+       "tags-edit-reason": "कारण:",
        "comparepages": "पानांची तुलना करा",
        "compare-page1": "पान १",
        "compare-page2": "पान २",
        "htmlform-no": "नाही",
        "htmlform-yes": "होय",
        "htmlform-chosen-placeholder": "पर्याय निवडा",
+       "htmlform-cloner-create": "अधिक जोडा",
+       "htmlform-cloner-delete": "हटवा",
+       "htmlform-cloner-required": "किमान एक किंमत हवी",
+       "htmlform-title-not-exists": "[[:$1]] अस्तीत्वात नाही.",
+       "htmlform-user-not-exists": "<strong>$1</strong> अस्तीत्वात नाही.",
+       "htmlform-user-not-valid": "<strong>$1</strong> हे वैध सदस्यनाम नाही.",
        "sqlite-has-fts": "पूर्ण-मजकूर शोध समर्थनासहित $1",
        "sqlite-no-fts": "पूर्ण-मजकूर शोध समर्थनाविरहित $1",
        "logentry-delete-delete": "$1 {{GENDER:$2|वगळलेले पान}} $3",
        "rightsnone": "(काहीही नाही)",
        "revdelete-summary": "संपादन माहिती",
        "feedback-adding": "आपला पश्चप्रदाय (फिडबॅक)  जोडत आहोत या पानास.......",
+       "feedback-back": "परत",
        "feedback-bugcheck": "उत्तम! फक्त एकदा खात्री करा की हा [$1 अगोदरच माहिती असलेला बग] तर नाहीये.",
        "feedback-bugnew": "मी तपासले आहे. हा एक नवीन बग म्हणून नोंद करावी",
        "feedback-bugornote": "जर आपण तांत्रिक प्रश्न  विस्तृतपणे मांडण्यास तयार असाल तर कृपया [$1 गणकदोष वृतांत] पाठवा. नपेक्षा, खाली देण्यात आलेले सोपे आवेदनपत्र वापरा. आपली टिप्पणी \"[$3 $2]\" या पानास आपले सदस्यनाव व आपण कोणता ब्राउजर वापरता यासह जोडण्यात येईल.",
        "feedback-cancel": "रद्द करा",
        "feedback-close": "झाले",
+       "feedback-error-title": "चूक",
        "feedback-error1": "चूक: API कडून अनोळखी परिणाम",
        "feedback-error2": "त्रुटी: संपादन रद्द",
        "feedback-error3": "त्रुटी:एपीआय तर्फे काहीच प्रत्युत्तर नाही",
        "api-error-badaccess-groups": "आपणास ह्या विकिवर संचिका चढवण्याची परवानगी नाही",
        "api-error-badtoken": "अंतर्गत चूक: अयोग्य टोकन",
        "api-error-copyuploaddisabled": "या विदागारावर 'संकेतस्थळावरील संचिका चढविणे' अक्षम करण्यात आले आहे.",
-       "api-error-duplicate": "या संकेतस्थळावर यासारखाच आशय असलेली {{PLURAL:$1|संचिका आहे दुसरी संचिका| दुसऱ्या संचिका}} आहेत.",
-       "api-error-duplicate-archive": "{{PLURAL:$1| another file| some other files}} हे याच नावाने साईट वर आहे आणि   पान {{PLURAL:$1|it was|they were}} वगळले गेले आहे",
+       "api-error-duplicate": "{{PLURAL:$1|दुसरी संचिका|दुसऱ्या इतर संचिका}}ही याच नावाने व याच आशयासह संकेतस्थळावर आहेत.",
+       "api-error-duplicate-archive": "{{PLURAL:$1|दुसरी संचिका|दुसऱ्या इतर संचिका}}ही याच नावाने व याच आशयासह संकेतस्थळावर आहे परंतु{{PLURAL:$1|ते वगळल्या गेले|ती वगळल्या गेलीत}}",
        "api-error-empty-file": "तुम्ही प्रस्तुत केलेली संचिका रिकामी होती.",
        "api-error-emptypage": "नवीन आणि मोकळी पाने बनवायला परवानगी नाही",
        "api-error-fetchfileerror": "अंतर्गत चूक: फाइल मिळवतांना काहीतरी चूक झाली आहे",
        "expand_templates_remove_nowiki": "निकालात <nowiki>खूणपतका दाखवू नका",
        "expand_templates_generate_xml": "XML चा पार्स (parse) वृक्ष दाखवा",
        "expand_templates_preview": "झलक",
+       "pagelang-name": "पान",
+       "mediastatistics-header-office": "कार्यालय",
        "special-characters-group-latin": "लॅटीन",
        "special-characters-group-latinextended": "विस्तारीत लॅटीन भाषा",
        "special-characters-group-ipa": "आंतरराष्ट्रीय उच्चारानुरूप अक्षरपद्धती",
        "special-characters-group-thai": "थाई भाषा",
        "special-characters-group-lao": "लाऒ भाषा",
        "special-characters-group-khmer": "ख्मेर",
-       "special-characters-title-minus": "ॠण चिन्ह"
+       "special-characters-title-minus": "ॠण चिन्ह",
+       "mw-widgets-dateinput-no-date": "कोणताही दिनांक निवडला नाही",
+       "mw-widgets-titleinput-description-new-page": "अद्याप पान अस्तित्वात नाही",
+       "api-error-blacklisted": "कुपया वेगळे वर्णनात्मक शीर्षक निवडा"
 }
index 67508af..8847169 100644 (file)
        "special-characters-group-khmer": "Khmer",
        "special-characters-title-endash": "sengkang en",
        "special-characters-title-emdash": "sengkang em",
-       "special-characters-title-minus": "tanda tolak"
+       "special-characters-title-minus": "tanda tolak",
+       "api-error-blacklisted": "Sila pilih tajuk yang berbeza dan deskriptif."
 }
index 41bc527..af31a1c 100644 (file)
        "special-characters-group-lao": "Lao",
        "special-characters-group-khmer": "Khmer",
        "mw-widgets-dateinput-placeholder-day": "SSSS-XX-ĠĠ",
-       "mw-widgets-dateinput-placeholder-month": "SSSS-XX"
+       "mw-widgets-dateinput-placeholder-month": "SSSS-XX",
+       "api-error-blacklisted": "Jekk jogħġbok agħżel titlu differenti u deskrittiv."
 }
index 216e2f1..6728fed 100644 (file)
        "api-error-unknown-error": "خطای داخلی: زمونی که شما تلاش کاردنی باربی‌یشتن پرونده ره انجوم هادین، اتا چی اشتباه پیش بورده.",
        "api-error-unknown-warning": "اخطار نشناسی‌یه: $1",
        "api-error-uploaddisabled": "باربی‌یشتن این ویکی دله غیرفعاله.",
-       "api-error-verification-error": "ممکن هسته که پرونده رِقِد بورد بائه یا پسوند غلط داره."
+       "api-error-verification-error": "ممکن هسته که پرونده رِقِد بورد بائه یا پسوند غلط داره.",
+       "api-error-blacklisted": "اتا عنوان توصیفی دیگه انتخاب هاکنین."
 }
index 02d98b8..1d00676 100644 (file)
        "sig_tip": "Firma cu data e ora",
        "hr_tip": "Linea orizzontale (ausà cu gedizzio)",
        "summary": "Innece",
-       "subject": "Argomiento/titolo:",
+       "subject": "Suggietto:",
        "minoredit": "Chisto è nu cagnamiénto piccerillo",
        "watchthis": "Tiene d'uocchio chesta paggena",
        "savearticle": "Sarva 'a paggena",
        "missingsummary": "'''Attenziò:''' nun s'è specificato l'oggetto 'e stu cagnamiento. Clicann' 'a \"{{int:savearticle}}\" n'ata vota 'o cagnamiento sarrà sarvato cu l'oggetto abbacante.",
        "selfredirect": "<strong>Attenziò:</strong> State crianno nu redirect a 'o stesso articolo.\nPuò darse c'avites specificato 'o pizzo sbagliato p' 'o redirect, o ca stavate cagnanno 'o pizzo sbagliato.\nSi cliccate \"{{int:savearticle}}\" n'ata vota, si criarrà 'o redirect.",
        "missingcommenttext": "Pe' piacere scrivete nu commento ccà abbascio.",
-       "missingcommentheader": "'''Attenziò:''' nun s'è specificato l'oggetto/titolo 'e stu commento. Clicann' 'a \"{{int:savearticle}}\" n'ata vota 'o cagnamiento sarrà sarvato c' 'o titolo abbacante.",
+       "missingcommentheader": "<strong>Arricurdateve:</strong> nun s'è specificato l'oggetto/titolo pe stu commento. Clicann' 'a \"{{int:savearticle}}\" n'ata vota 'o cagnamiento sarrà sarvato c' 'o titolo/oggetto abbacante.",
        "summary-preview": "Anteprimma'e l'oggetto:",
-       "subject-preview": "Anteprima 'e l'oggetto/intestazione:",
+       "subject-preview": "Anteprimma 'e l'oggetto:",
        "previewerrortext": "È succiesso n'errore quanno se steva a ffà pre-veré 'e cagnamiente vuoste.",
        "blockedtitle": "Utente bloccato.",
        "blockedtext": "<strong>'O nomme utente o ll'IP vuosto è stato bloccato.</strong>\n\n'O blocco è stato mpustato 'a $1. 'O mutivo d' 'o blocco è chesto: ''$2''\n\n* Abbiàta d' 'o blocco: $8\n* Ammaturità d' 'o blocco: $6\n* Tiempo 'e blocco: $7\n\nPutite cuntattà $1 o n'atu [[{{MediaWiki:Grouppage-sysop}}|ammenistratore]] pe' discutere 'o blocco.\n\nVedite c' 'a funzione 'Scrivete a ll'utente' nun è attiva si nun s'è riggistrato 'o ndirizzo e-mail buono dint' 'e [[Special:Preferences|preferenze]] o pùre si ll'uso 'e tale funzione è stato bloccato.\n\n'O ndirizzo IP attuale è $3, 'o nummero ID d' 'o blocco è #$5.\nPe' piacere avite 'e specificà tutte sti dettaglie ccà ncoppa quanno facite cocche dumanna.",
        "svg-long-error": "File SVG invalido: $1",
        "show-big-image": "File 'e origgine",
        "show-big-image-preview": "Dimenziune 'e sta anteprimma: $1.",
+       "show-big-image-preview-differ": "Grannezza 'e sta $3 mostra 'e stu $2 file: $1.",
        "show-big-image-other": "{{PLURAL:$2|N'ata resoluzione|Ati resoluziune}}: $1.",
        "show-big-image-size": "$1 x $2 pixel",
        "file-info-gif-looped": "ciclico",
        "special-characters-title-minus": "segno meno",
        "mw-widgets-dateinput-no-date": "Nisciuna data scigliuta",
        "mw-widgets-titleinput-description-new-page": "'a pàggene nun esiste ancore",
-       "mw-widgets-titleinput-description-redirect": "redirezionate ncopp' a $1"
+       "mw-widgets-titleinput-description-redirect": "redirezionate ncopp' a $1",
+       "api-error-blacklisted": "Pe' piacere sciglite nu titolo differente e descrittivo."
 }
index fe94033..5deced8 100644 (file)
        "mw-widgets-dateinput-placeholder-day": "ÅÅÅÅ-MM-DD",
        "mw-widgets-dateinput-placeholder-month": "ÅÅÅÅ-MM",
        "mw-widgets-titleinput-description-new-page": "side eksisterer ikke enda",
-       "mw-widgets-titleinput-description-redirect": "omdiriger til $1"
+       "mw-widgets-titleinput-description-redirect": "omdiriger til $1",
+       "api-error-blacklisted": "Vennligst velg en annen beskrivende tittel."
 }
index cd97178..0292bf1 100644 (file)
        "special-characters-group-khmer": "Khmer",
        "special-characters-title-endash": "liggend streepjen",
        "special-characters-title-emdash": "gedachtenstreepjen",
-       "special-characters-title-minus": "minteken"
+       "special-characters-title-minus": "minteken",
+       "api-error-blacklisted": "Kies n aandere, beschrievende naam."
 }
index 6e2b45b..8bf7425 100644 (file)
        "createacct-captcha": "सुरक्षा जाँच",
        "createacct-imgcaptcha-ph": "माथि देखिए अनुसारको पाठ भर्नुहोस्",
        "createacct-submit": "तपाईँको खाता सिर्जना गर्नुहोस",
-       "createacct-another-submit": "à¤\85रà¥\8dà¤\95à¥\8b à¤\96ाता à¤¸à¤¿à¤°à¥\8dà¤\9cना à¤\97र्नुहोस्",
+       "createacct-another-submit": "à¤\96ाता à¤\96à¥\8bल्नुहोस्",
        "createacct-benefit-heading": "{{SITENAME}} तपाईँ जस्तै मानिसहरूद्वारा सिर्जना गरिएको हो ।",
        "createacct-benefit-body1": "{{PLURAL:$1|सम्पादन|सम्पादनहरू}}",
        "createacct-benefit-body2": "{{PLURAL:$1|पृष्ठ|पृष्ठहरू}}",
        "passwordreset-emailsent-capture": "पासवर्ड परिवर्तनको लागि इमेल पठाइयो, जुन तल देखाइएकोछ।",
        "passwordreset-emailerror-capture": "पासवर्ड रिसेट इमेल जारि गरिएको छ, जुन तल देखाइएको छ, तर यसलाई {{GENDER:$2|प्रयोगकर्ता}}मा पठाउन विफल भयो: $1",
        "changeemail": "इमेल ठेगाना परिवर्तन गर्नुहोस",
-       "changeemail-text": "आफ्नो इमेल ठेगाना परिवर्तन गर्न यो फारम भर्नुहोस् । यसलाई पुष्टि गर्न तपाईंले आफ्नो पासवर्ड हाल्नु पर्नेछ।",
+       "changeemail-header": "खाताको इमेल ठेगाना परिवर्तन गर्नुहोस",
        "changeemail-no-info": "यस पृष्ठमा सिधै जानको लागि प्रवेश गर्नु पर्ने हुन्छ ।",
        "changeemail-oldemail": "हालको इमेल-ठेगाना:",
        "changeemail-newemail": "नयाँ इमेल-ठेगाना:",
        "columns": "स्तम्भहरु :",
        "searchresultshead": "खोज",
        "stub-threshold": "<a href=\"#\" class=\"stub\">ठूटो</a> को लागि थ्रेसहोल्ड स्वरूपण (बाइट):",
+       "stub-threshold-sample-link": "उदाहरण",
        "stub-threshold-disabled": "निष्क्रिय",
        "recentchangesdays": "हालको परिवर्तनमा देखाउने दिनहरू:",
        "recentchangesdays-max": "अधिकतम $1 {{PLURAL:$1|दिन|दिन}}",
        "upload-too-many-redirects": "यस युआरयलमा धेरै पुननिर्देशनहरू छन्",
        "upload-http-error": "HTTP त्रुटि भयो: $1",
        "upload-copy-upload-invalid-domain": "यस डोमेनबाट अपलोडहरूको प्रतिलिपि गर्न सकिदैन् ।",
+       "upload-dialog-title": "फाइल अपलोड गर्ने",
+       "upload-dialog-button-cancel": "रद्द गर्ने",
+       "upload-dialog-button-done": "सकियो",
+       "upload-dialog-button-save": "सङ्ग्रह गर्ने",
+       "upload-dialog-button-upload": "अपलोड गर्ने",
+       "upload-process-error": "एक त्रुटि भयो ।",
+       "upload-form-label-select-file": "फाइल छान्नुहोस्",
+       "upload-form-label-infoform-title": "विवरणहरू",
+       "upload-form-label-infoform-name": "नाम",
+       "upload-form-label-infoform-description": "वर्णन",
+       "upload-form-label-usage-title": "प्रयोग",
+       "upload-form-label-usage-filename": "फाइल नाम",
+       "foreign-structured-upload-form-label-infoform-categories": "श्रेणीहरू",
+       "foreign-structured-upload-form-label-infoform-date": "मिति",
        "backend-fail-stream": "फाइल ''$1'' प्रवाह गर्न सकिएन ।",
        "backend-fail-backup": "फाइल ''$1'' जगेडा संग्रह गर्न सकिएन ।",
        "backend-fail-notexists": "फाइल $1 पृष्ठ अस्तित्वमा छैन ।",
        "rollback-success": "$1द्वारा उल्टाइएका सम्पादनहरू;\nपछिल्लो संशोधनमा $2द्वारा परिवर्तन गरि पुनः फर्काइएको।",
        "sessionfailure-title": "सत्र त्रुटी",
        "sessionfailure": "यस्तो लागदैछ कि तपाईंको लगइन सत्रसँग कुनै समस्या छ। सत्र अपहरणबाट बचाउन को लागि सावधानीको रूपमा तपाईंको यो क्रियाकलाप रद्द गरिएको छ। कृपया पछाडी जानुहोस र पृष्ठलाई पुनः लोड गर्नुहोस, अनि फेरी प्रयास गर्नुहोला।",
+       "logentry-contentmodel-change-revertlink": "पहिलेको रुपमा फर्काउने",
+       "logentry-contentmodel-change-revert": "पहिलेको रुपमा फर्काउने",
        "protectlogpage": "सुरक्षण लग",
        "protectlogtext": "तल पृष्ठ सुरक्षामा भएको परिवर्तनहरूको सूची हो ।\nवर्तमान सुरक्षित पृष्ठहरूको लागि सुरक्षित [[Special:ProtectedPages|पृष्ठहरूको सूची]] हेर्नुहोस।",
        "protectedarticle": "\"[[$1]]\" लाई सुरक्षित गरियो",
        "version-libraries": "स्थापित पुस्तकालयहरू",
        "version-libraries-library": "पुस्तकालय",
        "version-libraries-version": "संस्करण",
+       "version-libraries-license": "अनुमतिपत्र",
+       "version-libraries-description": "वर्णन",
+       "version-libraries-authors": "लेखकहरू",
        "redirect": "फाइल, प्रयोगकर्ता, वा संशोधन आइडीको आधारमा अनुप्रेषित गर्ने",
        "redirect-legend": "फाइल वा पृष्ठमा रिडाइरेक्ट",
        "redirect-summary": "यस विशेष पृष्ठ (प्रदान गरिएको फाइलनाम), पृष्ठको (पृष्ठ आइडी अथवा अवतरण आइडी), वा (प्रयोगकर्ता आइडी) राख्दा प्रयोगकर्तापृष्ठमा मा सारिनेछ। उदाहरण: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], वा [[{{#Special:Redirect}}/user/101]]।",
        "special-characters-title-emdash": "इएम ड्यास",
        "special-characters-title-minus": "घटाउने चिन्ह",
        "mw-widgets-titleinput-description-new-page": "हालसम्म पृष्ठ उपलब्ध छैन्",
-       "mw-widgets-titleinput-description-redirect": "$1 मा जाने"
+       "mw-widgets-titleinput-description-redirect": "$1 मा जाने",
+       "api-error-blacklisted": "एउटा फरक वर्णनात्मक शीर्षक चयन गर्नुहोस् ।"
 }
index 2a28340..068a16e 100644 (file)
        "mw-widgets-dateinput-placeholder-day": "JJJJ-MM-DD",
        "mw-widgets-dateinput-placeholder-month": "JJJJ-MM",
        "mw-widgets-titleinput-description-new-page": "pagina bestaat nog niet",
-       "mw-widgets-titleinput-description-redirect": "doorverwijzing naar $1"
+       "mw-widgets-titleinput-description-redirect": "doorverwijzing naar $1",
+       "api-error-blacklisted": "Kies een andere, beschrijvende naam."
 }
index a8b69d5..54a1f20 100644 (file)
        "special-characters-group-sinhala": "Singalesisk",
        "special-characters-group-gujarati": "Gujarati",
        "mw-widgets-dateinput-placeholder-day": "ÅÅÅÅ-MM-DD",
-       "mw-widgets-dateinput-placeholder-month": "ÅÅÅÅ-MM"
+       "mw-widgets-dateinput-placeholder-month": "ÅÅÅÅ-MM",
+       "api-error-blacklisted": "Vel eit anna namn som er meir skildrande."
 }
index ffb6e1c..61c61ac 100644 (file)
        "pt-login-button": "Kirjuttai",
        "pt-createaccount": "Registriiruiččei",
        "pt-userlogout": "Kirjuttai ullos",
+       "php-mail-error-unknown": "Tundematoi haireh PHP:n mail()-funktsies",
        "user-mail-no-addy": "Opit työndiä sähköpoštan sähköpoštuadressittah.",
+       "user-mail-no-body": "Sähköpoštan syväindön pidäy olla pitkembi.",
        "changepassword": "Vaihta peittosana",
        "resetpass_announce": "Suaja sizähkirjuamine loppuh, sinul pidäy keksie uuzi peittosana.",
        "resetpass_header": "Vaihta tilin peittosana",
        "retypenew": "Kirjuta peittosana uvvessah:",
        "resetpass_submit": "Azeta peittosana da kirjuttai sistiemah:",
        "changepassword-success": "Sinun peittosana on vaihtettu!",
+       "changepassword-throttled": "Olet oppinuh kirjuttuakseh liijan moni kerdua. Ole hyvä, vuota $1 enne ku opit uvvessah.",
        "resetpass_forbidden": "Ei voi vaihtua peittosanua",
        "resetpass-no-info": "Et voi nähtä tädä sivuu kuni et ole kirjutannuhes.",
        "resetpass-submit-loggedin": "Vaihta peittosana",
        "showpreview": "Ezikačo",
        "showdiff": "Luajitut korjavukset",
        "anoneditwarning": "<strong>Varaitus:</strong> Et ole kirjutannuhes. Luadinet muutoksii syväindölöih, sinun Ip-adressu tulou nägövih kaikile. Ku <strong>[$1 kirjutannuttos]</strong> libo <strong>[$2 registriiruičettos]</strong>, sinun syväindömuutokset nävytäh sinun käyttäinimel, toizien eduloin ližäkse.",
+       "summary-preview": "Yhtehvevon ezikačondu:",
+       "subject-preview": "Tiemam ezikačondu:",
+       "previewerrortext": "Rodih haireh oppijes ezikaččuo muutoksii.",
        "blockedtitle": "Käyttäi on estetty",
        "blockednoreason": "ei viärysty annettu",
+       "whitelistedittext": "Sinun pidäy $1 ku edituija sivuloi.",
+       "nosuchsectiontitle": "Nengostu sektua ei ole",
+       "loginreqtitle": "Pidäy kirjautuakseh",
        "loginreqlink": "kirjuttai",
        "loginreqpagetext": "Toizien sivuloin kaččomizekse pidäy $1.",
        "accmailtitle": "Peittosana työtty",
        "editing": "Edituijah sivuu $1",
        "creating": "Luajitah sivuu \"$1\"",
        "editingsection": "Korjuandu $1 (alalugu)",
+       "editingcomment": "Edituijah $1 (uuzi sektu)",
        "yourtext": "Sinun tekstu",
        "yourdiff": "Erot",
        "templatesused": "{{PLURAL:$1|Šablon|Šablonat}} käytetty täl sivul:",
index 2d78f6e..9b27942 100644 (file)
        "special-characters-title-endash": "en ଡ୍ୟାସ",
        "special-characters-title-emdash": "em dash",
        "special-characters-title-minus": "ମେନୁଗୁଡିକର ଚିହ୍ନ",
-       "mw-widgets-titleinput-description-redirect": "$1କୁ ପୁନଃପ୍ରେରଣ କରିବେ"
+       "mw-widgets-titleinput-description-redirect": "$1କୁ ପୁନଃପ୍ରେରଣ କରିବେ",
+       "api-error-blacklisted": "ଦୟାକରି ଏକ ଅଲଗା, ବିବରଣୀ ଶିରୋନାମାରେ ରଖିବେ ।"
 }
index 5c506c0..594e26b 100644 (file)
        "passwordreset-emailsent-capture": "ਇੱਕ ਯਾਦ-ਦਹਾਨੀ ਈ-ਮੇਲ, ਜਿਹੜੀ ਕਿ ਹੇਠਾਂ ਦਿੱਸ ਰਹੀ ਹੈ, ਭੇਜੀ ਜਾ ਚੁੱਕੀ ਹੈ।",
        "passwordreset-emailerror-capture": "ਪਛਾਣ-ਸ਼ਬਦ ਮੁੜ ਬਣਾਉਣ ਵਾਸਤੇ ਈਮੇਲ ਤਿਆਰ ਹੋ ਗਈ ਸੀ, ਜੋ ਹੇਠਾਂ ਵਿਖਾਈ ਗਈ ਹੈ, ਪਰ ਇਹਨੂੰ {{GENDER:$2|ਵਰਤੋਂਕਾਰ}} ਵੱਲ ਨਹੀਂ ਘੱਲਿਆ ਜਾ ਸਕਿਆ: $1",
        "changeemail": "ਈ-ਮੇਲ ਸਿਰਨਾਵਾਂ ਬਦਲੋ",
-       "changeemail-text": "ਆਪਣਾ ਈ-ਮੇਲ ਪਤਾ ਬਦਲਣ ਲਈ ਇਹ ਫ਼ਾਰਮ ਮੁਕੰਮਲ ਕਰੋ। ਇਸ ਤਬਦੀਲੀ ਨੂੰ ਤਸਦੀਕ ਕਰਨ ਲਈ ਤੁਹਾਨੂੰ ਆਪਣਾ ਪਾਸਵਰਡ ਦਾਖ਼ਲ ਕਰਨਾ ਪਵੇਗਾ।",
+       "changeemail-header": "ਖਾਤੇ ਵਾਲਾ ਈ-ਮੇਲ ਸਿਰਨਾਵਾਂ ਬਦਲੋ",
        "changeemail-no-info": "ਇਸ ਸਫ਼ੇ ਨੂੰ ਸਿੱਧੇ ਹੀ ਵੇਖਣ ਲਈ ਤੁਹਾਨੂੰ ਲਾਗਇਨ ਕਰਨਾ ਪਵੇਗਾ।",
        "changeemail-oldemail": "ਮੌਜੂਦਾ ਈਮੇਲ ਸਿਰਨਾਵਾਂ:",
        "changeemail-newemail": "ਨਵਾਂ ਈ-ਮੇਲ ਸਿਰਨਾਵਾਂ:",
        "rollbackfailed": "ਰੋਲਬੈਕ ਫੇਲ੍ਹ",
        "editcomment": "ਸੋਧ ਸਾਰ ਸੀ: \"''$1''\"",
        "sessionfailure-title": "ਇਜਲਾਸ ਫੇਲ੍ਹ",
+       "changecontentmodel-title-label": "ਸਫ਼ੇ ਦਾ ਸਿਰਲੇਖ",
+       "changecontentmodel-reason-label": "ਕਾਰਨ:",
        "protectlogpage": "ਸੁਰੱਖਿਆ ਚਿੱਠਾ",
        "protectedarticle": "\"[[$1]]\" ਸੁਰੱਖਿਅਤ ਕੀਤਾ",
        "modifiedarticleprotection": "\"[[$1]]\" ਦੀ ਸੁਰੱਖਿਆ ਬਦਲੀ",
        "movenotallowed": "ਤੁਹਾਡੇ ਕੋਲ਼ ਸਫ਼ੇ ਹਿਲਾਉਣ ਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ ਹੈ।",
        "movenotallowedfile": "ਤੁਹਾਨੂੰ ਫ਼ਾਈਲਾਂ ਭੇਜਣ ਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ ਹੈ।",
        "cant-move-user-page": "ਤੁਹਾਨੂੰ ਵਰਤੋਂਕਾਰ ਸਫ਼ਿਆਂ (ਉਪ-ਸਫ਼ਿਆਂ ਤੋਂ ਛੁੱਟ) ਨੂੰ ਭੇਜਣ ਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ ਹੈ।",
-       "newtitle": "ਨਵà©\87à¨\82 à¨\9fਾà¨\88à¨\9fਲ à¨²à¨\88:",
+       "newtitle": "ਨਵਾà¨\82 à¨¸à¨¿à¨°à¨²à©\87à¨\96:",
        "move-watch": "ਸਰੋਤ ਤੇ ਟਾਰਗੇਟ ਸਫ਼ੇ ਉੱਤੇ ਨਿਗਰਾਨੀ ਰੱਖੋ",
        "movepagebtn": "ਸਫ਼ਾ ਭੇਜੋ",
        "pagemovedsub": "ਭੇਜਣਾ ਸਫ਼ਲ ਰਿਹਾ",
index 121713b..f0bd85c 100644 (file)
        "mw-widgets-dateinput-placeholder-day": "RRRR-MM-DD",
        "mw-widgets-dateinput-placeholder-month": "RRRR-MM",
        "mw-widgets-titleinput-description-new-page": "strona jeszcze nie istnieje",
-       "mw-widgets-titleinput-description-redirect": "przekierowanie do $1"
+       "mw-widgets-titleinput-description-redirect": "przekierowanie do $1",
+       "api-error-blacklisted": "Wybierz inny, opisowy tytuł."
 }
index e8dce60..4e24c9c 100644 (file)
        "special-characters-title-emdash": "tratin em",
        "special-characters-title-minus": "segn meno",
        "mw-widgets-dateinput-placeholder-day": "AAAA-MM-DD",
-       "mw-widgets-dateinput-placeholder-month": "AAAA-MM"
+       "mw-widgets-dateinput-placeholder-month": "AAAA-MM",
+       "api-error-blacklisted": "Për piasì sern un tìtol diferent, descritiv."
 }
index b6c17e3..c6c5b1d 100644 (file)
        "special-characters-group-gujarati": "گجراتی",
        "special-characters-group-thai": "تھائی",
        "special-characters-group-lao": "لاؤ",
-       "special-characters-group-khmer": "کھیمر"
+       "special-characters-group-khmer": "کھیمر",
+       "api-error-blacklisted": "مہربانی کرکے وکھری سرخی چنو۔"
 }
index 022a4b0..9711ee9 100644 (file)
        "viewsource": "Ver código-fonte",
        "viewsource-title": "Exibir código-fonte para $1",
        "actionthrottled": "Ação controlada",
-       "actionthrottledtext": "Como medida \"anti-spam\", você se encontra impedido de realizar esta operação muitas vezes em um curto espaço de tempo; você já excedeu esse limite.\nTente novamente em alguns minutos.",
+       "actionthrottledtext": "Como uma medida anti-abuso, você está impedido de realizar esta operação muitas vezes em um curto espaço de tempo, e já excedeu esse limite. Por favor, tente novamente em alguns minutos.",
        "protectedpagetext": "Esta página foi protegida contra novas edições ou ações relacionadas.",
        "viewsourcetext": "Você pode ver e copiar o código desta página.",
        "viewyourtext": "Você pode ver e copiar o código fonte '''das suas edições''' a esta página.",
        "passwordreset-emailtext-ip": "Alguém (provavelmente você, a partir do endereço IP $1)\nsolicitou um lembrete dos seus detalhes de conta para {{SITENAME}} ($4).\n{{PLURAL:$3|A seguinte conta está associada|As seguintes contas estão associadas}} a este e-mail:\n\n$2\n\n{{PLURAL:$3|Esta senha temporária vai|Essas senhas temporárias vão}} expirar em {{PLURAL:$5|um dia|$5 dias}}.\nVocê deve efetuar login e escolher uma nova senha agora.\nSe você conseguir lembrar da senha, ignore este e-mail e continue\nusando sua senha anterior. Caso contrário, prossiga com as instruções\ndisponíveis no link.",
        "passwordreset-emailtext-user": "O usuário $1 da {{SITENAME}} pediu a recuperação dos detalhes da sua conta na {{SITENAME}} ($4). {{PLURAL:$3|A seguinte conta está associada|As seguintes contas estão associadas}} a este e-mail:\n\n$2\n\n{{PLURAL:$3|Esta senha temporária irá|Estas senhas temporárias irão}} expirar dentro de {{PLURAL:$5|um dia|$5 dias}}. Deve autenticar-se e escolher uma senha nova agora. Se este pedido não foi feito por si, ou se entretanto se recordou da sua senha original e já não deseja alterá-la, pode ignorar esta mensagem e continuar a usar a senha antiga.",
        "passwordreset-emailelement": "Usuário: \n$1\n\nSenha temporária: \n$2",
-       "passwordreset-emailsent": "Foi enviado um e-mail de lembrete.",
+       "passwordreset-emailsent": "Se este é um endereço de e-mail registrado para a sua conta, em seguida, um e-mail de redefinição de senha será enviada.",
        "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",
-       "changeemail": "Alterar o endereço de e-mail",
-       "changeemail-header": "Alterar o endereço de e-mail da conta",
+       "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.",
        "changeemail-no-info": "Para acessar diretamente esta página você tem de estar autenticado.",
        "changeemail-oldemail": "Endereço de e-mail atual:",
        "changeemail-newemail": "Novo endereço de e-mail:",
+       "changeemail-newemail-help": "Este campo deve ser deixado em branco se você quiser remover o seu endereço de e-mail. Você não será capaz de redefinir uma senha esquecida e não receber e-mails a partir desta wiki se o endereço de email é removido.",
        "changeemail-none": "(nenhum)",
        "changeemail-password": "Sua senha para o wiki {{SITENAME}}:",
        "changeemail-submit": "Alterar e-mail",
        "sig_tip": "Sua assinatura, com hora e data",
        "hr_tip": "Linha horizontal (use de forma moderada)",
        "summary": "Sumário:",
-       "subject": "Assunto/cabeçalho:",
+       "subject": "Assunto:",
        "minoredit": "Marcar como edição menor",
        "watchthis": "Vigiar esta página",
        "savearticle": "Salvar página",
        "permissionserrorstext-withaction": "Você não possui permissão para $2, {{PLURAL:$1|pelo seguinte motivo|pelos motivos a seguir}}:",
        "recreate-moveddeleted-warn": "'''Atenção: Você está recriando uma página já eliminada em outra ocasião.'''\n\nConsidere se é realmente adequado continuar editando esta página.\nOs registros de eliminação e de movimentação desta página são exibidos a seguir, para sua comodidade:",
        "moveddeleted-notice": "Esta página foi eliminada.\nOs registros de eliminação e de movimentação para esta página estão disponibilizados abaixo, para referência.",
+       "moveddeleted-notice-recent": "Desculpe, esta página foi excluído recentemente (nos últimos 24 horas). A eliminação e se mover para a página de log são fornecidos abaixo para referência.",
        "log-fulllog": "Ver registro detalhado",
        "edit-hook-aborted": "Edição abortada por ''hook''.\nEle não deu nenhuma explicação.",
        "edit-gone-missing": "Não foi possível atualizar a página.\nEla parece ter sido eliminada.",
        "prefs-watchlist-token": "Senha para a lista de páginas vigiadas:",
        "prefs-misc": "Diversos",
        "prefs-resetpass": "Alterar senha",
-       "prefs-changeemail": "Alterar e-mail",
+       "prefs-changeemail": "Alterar ou remover endereço de email",
        "prefs-setemail": "Definir um endereço de e-mail",
        "prefs-email": "Opções de email",
        "prefs-rendering": "Aparência",
        "group-bot": "Robôs",
        "group-sysop": "Administradores",
        "group-bureaucrat": "Burocratas",
-       "group-suppress": "Oversights",
+       "group-suppress": "Supressores",
        "group-all": "(todos)",
        "group-user-member": "{{GENDER:$1|usuário|usuária}}",
        "group-autoconfirmed-member": "{{GENDER:$1|usuário autoconfirmado|usuária autoconfirmada|usuário(a) autoconfirmado(a)}}",
        "recentchangeslinked-summary": "Esta página lista alterações feitas recentemente em páginas com links a uma em específico (ou de membros de uma categoria especificada).\nPáginas de sua [[Special:Watchlist|lista de páginas vigiadas]] são exibidas em '''negrito'''.",
        "recentchangeslinked-page": "Nome da página:",
        "recentchangeslinked-to": "Visualizar as alterações nas páginas vinculadas à página especificada ao invés disso",
+       "recentchanges-page-added-to-category": "[[:$1]]adicionada à categoria",
        "upload": "Enviar arquivo",
        "uploadbtn": "Enviar arquivo",
        "reuploaddesc": "Cancelar o envio e retornar ao formulário de upload",
        "mw-widgets-dateinput-placeholder-day": "AAAA-MM-DD",
        "mw-widgets-dateinput-placeholder-month": "AAAA-MM",
        "mw-widgets-titleinput-description-new-page": "a página ainda não existe",
-       "mw-widgets-titleinput-description-redirect": "redirecionar para $1"
+       "mw-widgets-titleinput-description-redirect": "redirecionar para $1",
+       "api-error-blacklisted": "Por favor, escolha  um título descritivo diferente."
 }
index 99cdc20..17d678c 100644 (file)
        "mw-widgets-dateinput-placeholder-day": "AAAA-MM-DD",
        "mw-widgets-dateinput-placeholder-month": "AAAA-MM",
        "mw-widgets-titleinput-description-new-page": "a página ainda não existe.",
-       "mw-widgets-titleinput-description-redirect": "redirecionar para $1"
+       "mw-widgets-titleinput-description-redirect": "redirecionar para $1",
+       "api-error-blacklisted": "Escolha um título diferente e descritivo, por favor."
 }
index bb248bd..6c3609a 100644 (file)
        "svg-long-error": "Displayed for invalid SVG file metadata. Parameters:\n* $1 - the error message\nSee also:\n* {{msg-mw|Thumbnail error}}",
        "show-big-image": "Displayed under the file on file description pages, when a reduced-size thumbnail of the original file is being displayed.\n{{Identical|Original file}}",
        "show-big-image-preview": "Message shown under the image description page thumbnail.\n\nCan be followed by {{msg-mw|Show-big-image-other}}.\n\nParameters:\n* $1 - a link which points to the thumbnail. Its text is {{msg-mw|Show-big-image-size}}",
+       "show-big-image-preview-differ": "Like {{msg-mw|show-big-image-preview}}, but used in the case where the thumbnail of the file is in a different format than the original image (e.g. For SVG or DjVu files).\n\n* $1 - a link which points to the thumbnail. Its text is {{msg-mw|Show-big-image-size}}\n* $2 Uppercase normalized extension of original file.\n* $3 Uppercased extension of thumbnail.",
        "show-big-image-other": "Message shown under the image description page thumbnail.\n\nPreceded by {{msg-mw|Show-big-image-preview}}, if the image is in high resolution.\n\nParameters:\n* $1 - list of resolutions (pipe-separated)\n* $2 - number of resolutions",
        "show-big-image-size": "Parameters:\n* $1 - the width of the image(s) in pixels\n* $2 - the height of the image(s) in pixels",
        "file-info-gif-looped": "Part of the information provided about a [[w:Gif|.gif file]] on its file description page. Looped means repeating in the context of an animated gif. It is a sequence of images, each displayed after the other, and the first one displayed after the last, in a never ending loop. For example of message in use see [[:File:Mouse10.gif]].\n{{Identical|Looped}}",
        "mw-widgets-dateinput-placeholder-day": "[[File:DateInputWidget active, empty.png|frame|Screenshot]]\nPlaceholder displayed in a date input field when it's empty, representing a date format with 4 digits for year, 2 digits for month, and 2 digits for day, separated with hyphens. This should be uppercase, if possible, and must not include any additional explanations. If there is no good way to translate it, make this message blank.",
        "mw-widgets-dateinput-placeholder-month": "Placeholder displayed in a date input field when it's empty, representing a date format with 4 digits for year and 2 digits for month, separated with hyphens (without a day). This should be uppercase, if possible, and must not include any additional explanations. If there is no good way to translate it, make this message blank.",
        "mw-widgets-titleinput-description-new-page": "Description label for a new page in the title input widget.",
-       "mw-widgets-titleinput-description-redirect": "Description label for a redirect in the title input widget."
+       "mw-widgets-titleinput-description-redirect": "Description label for a redirect in the title input widget.",
+       "api-error-blacklisted": "Used as error message.\n\nFollowed by the link {{msg-mw|Mwe-upwiz-feedback-blacklist-info-prompt}}."
 }
index a2f6f98..43715c0 100644 (file)
@@ -32,8 +32,8 @@
                ]
        },
        "tog-underline": "Sublinierea legăturilor:",
-       "tog-hideminor": "Ascunde modificările minore în schimbări recente",
-       "tog-hidepatrolled": "Ascunde modificările patrulate în schimbările recente",
+       "tog-hideminor": "Ascunde modificările minore din schimbările recente",
+       "tog-hidepatrolled": "Ascunde modificările patrulate din schimbările recente",
        "tog-newpageshidepatrolled": "Ascunde paginile patrulate din lista de pagini noi",
        "tog-extendwatchlist": "Extinde lista de articole urmărite pentru a arăta toate schimbările efectuate, nu doar pe cele mai recente",
        "tog-usenewrc": "Grupează modificările după pagină în cadrul schimbărilor recente și listei paginilor urmărite",
        "tog-enotifwatchlistpages": "Trimite-mi un e-mail atunci când o pagină sau un fișier din lista mea de pagini urmărite suferă modificări",
        "tog-enotifusertalkpages": "Trimite-mi un email când pagina mea de discuții este modificată",
        "tog-enotifminoredits": "Trimite-mi, de asemenea, un e-mail în caz de modificări minore asupra paginilor și fișierelor",
-       "tog-enotifrevealaddr": "Descoperă-mi adresa email în mesajele de notificare",
+       "tog-enotifrevealaddr": "Afișează-mi adresa de e-mail în mesajele de notificare",
        "tog-shownumberswatching": "Arată numărul utilizatorilor care urmăresc",
        "tog-oldsig": "Semnătură actuală:",
        "tog-fancysig": "Tratează semnătura ca wikitext (fără o legătură automată)",
        "tog-uselivepreview": "Folosește previzualizarea în timp real",
        "tog-forceeditsummary": "Avertizează-mă când uit să descriu modificările",
-       "tog-watchlisthideown": "Ascunde modificările mele la lista mea de urmărire",
-       "tog-watchlisthidebots": "Ascunde modificările boților la lista mea de urmărire",
+       "tog-watchlisthideown": "Ascunde modificările mele din lista de pagini urmărite",
+       "tog-watchlisthidebots": "Ascunde modificările roboților din lista de pagini urmărite",
        "tog-watchlisthideminor": "Ascunde modificările minore din lista de pagini urmărite",
-       "tog-watchlisthideliu": "Ascunde modificările făcute de utilizatori anonimi din lista de pagini urmărite",
+       "tog-watchlisthideliu": "Ascunde modificările efectuate de utilizatori autentificați din lista de pagini urmărite",
        "tog-watchlisthideanons": "Ascunde modificările făcute de utilizatori anonimi din lista de pagini urmărite",
        "tog-watchlisthidepatrolled": "Ascunde paginile patrulate din lista de pagini urmărite",
-       "tog-ccmeonemails": "Doresc să primesc o copie a mesajelor e-mail pe care le trimit",
+       "tog-ccmeonemails": "Doresc să primesc o copie a mesajelor e-mail pe care le trimit altor utilizatori",
        "tog-diffonly": "Nu arăta conținutul paginii sub dif",
        "tog-showhiddencats": "Arată categoriile ascunse",
        "tog-norollbackdiff": "Nu arăta diferența după efectuarea unei reveniri",
        "category_header": "Pagini din categoria „$1”",
        "subcategories": "Subcategorii",
        "category-media-header": "Fișiere media din categoria „$1”",
-       "category-empty": "''Această categorie nu conține momentan nici o pagină sau fișier media.''",
+       "category-empty": "<em>Această categorie nu conține momentan nicio pagină sau fișier media.</em>",
        "hidden-categories": "{{PLURAL:$1|Categorie ascunsă|Categorii ascunse}}",
        "hidden-category-category": "Categorii ascunse",
        "category-subcat-count": "{{PLURAL:$2|Această categorie conține doar următoarea subcategorie.|Această categorie conține {{PLURAL:$1|următoarea subcategorie|următoarele $1 subcategorii|următoarele $1 de subcategorii}}, dintr-un total de $2.}}",
        "category-subcat-count-limited": "Această categorie conține {{PLURAL:$1|următoarea subcategorie|următoarele $1 subcategorii|următoarele $1 de subcategorii}}.",
-       "category-article-count": "{{PLURAL:$2|Această categorie conține doar următoarea pagină.|{{PLURAL:$1|Următoarea pagină|Următoarele $1 pagini}} se află în această categorie, dintr-un total de $2.}}",
+       "category-article-count": "{{PLURAL:$2|Această categorie conține doar următoarea pagină.|{{PLURAL:$1|Următoarea pagină|Următoarele $1 pagini|Următoarele $1 de pagini}} se află în această categorie, dintr-un total de $2.}}",
        "category-article-count-limited": "{{PLURAL:$1|Următoarea pagină este|Următoarele $1 pagini sunt|Următoarele $1 de pagini sunt}} în categoria curentă.",
        "category-file-count": "{{PLURAL:$2|Această categorie conține doar următorul fișier.|{{PLURAL:$1|Următorul fișier|Următoarele $1 fișiere}} se află în această categorie, dintr-un total de $2.}}",
        "category-file-count-limited": "{{PLURAL:$1|Următorul fișier este|Următoarele $1 fișiere sunt |Următoarele $1 de fișiere sunt}} în categoria curentă.",
        "qbfind": "Găsește",
        "qbbrowse": "Răsfoiește",
        "qbedit": "Modificare",
-       "qbpageoptions": "Opțiuni ale paginii",
+       "qbpageoptions": "Această pagină",
        "qbmyoptions": "Paginile mele",
        "faq": "Întrebări frecvente",
        "faqpage": "Project:Întrebări frecvente",
        "searcharticle": "Du-te",
        "history": "Istoricul paginii",
        "history_short": "Istoric",
-       "updatedmarker": "încărcat de la ultima mea vizită",
+       "updatedmarker": "actualizat de la ultima mea vizită",
        "printableversion": "Versiune de tipărit",
        "permalink": "Legătură permanentă",
        "print": "Tipărire",
        "editthispage": "Modificați pagina",
        "create-this-page": "Creați această pagină",
        "delete": "Ștergere",
-       "deletethispage": "Șterge pagina",
+       "deletethispage": "Șterge această pagină",
        "undeletethispage": "Recuperează această pagină",
        "undelete_short": "Recuperarea {{PLURAL:$1|unei modificări|a $1 modificări|a $1 de modificări}}",
-       "viewdeleted_short": "Vedeți {{PLURAL:$1|o modificare ștearsă|$1 (de) modificări șterse}}",
+       "viewdeleted_short": "Vizualizați {{PLURAL:$1|o modificare ștearsă|$1 modificări șterse|$1 de modificări șterse}}",
        "protect": "Protejare",
        "protect_change": "schimbă protecția",
        "protectthispage": "Protejați această pagină",
        "unprotect": "Modificare protecție",
        "unprotectthispage": "Schimbă nivelul de protejare al acestei pagini",
        "newpage": "Pagină nouă",
-       "talkpage": "Discutați această pagină",
+       "talkpage": "Discutați despre această pagină",
        "talkpagelinktext": "Discuție",
        "specialpage": "Pagină specială",
        "personaltools": "Unelte personale",
-       "articlepage": "Vedeți articolul",
+       "articlepage": "Vizualizați conținutul paginii",
        "talk": "Discuție",
        "views": "Vizualizări",
        "toolbox": "Unelte",
        "redirectpagesub": "Pagină de redirecționare",
        "redirectto": "Redirecționare către:",
        "lastmodifiedat": "Ultima modificare efectuată pe $1, la $2.",
-       "viewcount": "Pagina a fost vizitată {{PLURAL:$1|o dată|de $1 ori|de $1 de ori}}.",
+       "viewcount": "Pagina a fost accesată {{PLURAL:$1|o dată|de $1 ori|de $1 de ori}}.",
        "protectedpage": "Pagină protejată",
        "jumpto": "Salt la:",
        "jumptonavigation": "navigare",
        "jumptosearch": "căutare",
-       "view-pool-error": "Ne pare rău, dar serverele sunt supraîncărcare în acest moment.\nPrea mulți utilizatori încearcă să vizualizeze această pagină.\nVă rugăm să așteptați un moment înainte de a reîncerca accesarea paginii.\n\n$1",
+       "view-pool-error": "Ne pare rău, dar serverele sunt supraîncărcate în acest moment.\nPrea mulți utilizatori încearcă să vizualizeze această pagină.\nVă rugăm să așteptați un moment înainte de a reîncerca accesarea paginii.\n\n$1",
        "generic-pool-error": "Ne pare rău, dar serverele sunt supraîncărcate în acest moment.\nPrea mulți utilizatori încearcă să vizualizeze această resursă.\nVă rugăm să așteptați un moment înainte de a reîncerca accesarea acestei resurse.",
        "pool-timeout": "Timpul alocat așteptării pentru blocare a expirat",
-       "pool-queuefull": "Coada de așteptare este plină",
+       "pool-queuefull": "Rezerva este plină",
        "pool-errorunknown": "Eroare necunoscută",
        "pool-servererror": "Serviciul de contorizare a rezervei nu este disponibil ($1).",
        "poolcounter-usage-error": "Eroare de utilizare: $1",
        "privacy": "Politica de confidențialitate",
        "privacypage": "Project:Politica de confidențialitate",
        "badaccess": "Eroare permisiune",
-       "badaccess-group0": "Execuția acțiunii cerute nu este permisă.",
-       "badaccess-groups": "Acțiunea cerută este rezervată utilizatorilor din {{PLURAL:$2|grupul|unul din grupurile}}: $1.",
-       "versionrequired": "Este necesară versiunea $1 MediaWiki",
-       "versionrequiredtext": "Versiunea $1 MediaWiki este necesară pentru a folosi această pagină. Vezi [[Special:Version|versiunea actuală]].",
+       "badaccess-group0": "Executarea acțiunii solicitate nu este permisă.",
+       "badaccess-groups": "Acțiunea solicitată este rezervată utilizatorilor din {{PLURAL:$2|grupul|unul din grupurile}}: $1.",
+       "versionrequired": "Este necesară versiunea $1 MediaWiki",
+       "versionrequiredtext": "Versiunea $1 a MediaWiki este necesară pentru a folosi această pagină. Vedeți [[Special:Version|versiunea actuală]].",
        "ok": "OK",
        "retrievedfrom": "Adus de la „$1”",
-       "youhavenewmessages": "Aveți $1 ($2).",
-       "youhavenewmessagesfromusers": "Aveți $1 de la {{PLURAL:$3|un alt utilizator|$3 utilizatori}} ($2).",
+       "youhavenewmessages": "{{PLURAL:$3|Aveți}} $1 ($2).",
+       "youhavenewmessagesfromusers": "{{PLURAL:$4|Aveți}} $1 de la {{PLURAL:$3|un alt utilizator|$3 utilizatori|$3 de utilizatori}} ($2).",
        "youhavenewmessagesmanyusers": "Aveți $1 de la mai mulți utilizatori ($2).",
        "newmessageslinkplural": "{{PLURAL:$1|un mesaj nou|999=mesaje noi}}",
        "newmessagesdifflinkplural": "{{PLURAL:$1|ultima modificare|999=ultimele modificări}}",
        "hidetoc": "ascunde",
        "collapsible-collapse": "Restrânge",
        "collapsible-expand": "Extinde",
-       "confirmable-confirm": "Sunteți sigur{{GENDER:$1||ă}}?",
+       "confirmable-confirm": "Sunteți {{GENDER:$1|sigur|sigură}}?",
        "confirmable-yes": "Da",
        "confirmable-no": "Nu",
        "thisisdeleted": "Vizualizare sau recuperare $1?",
        "restorelink": "{{PLURAL:$1|o modificare ștearsă|$1 modificări șterse|$1 de modificări șterse}}",
        "feedlinks": "Întreținere:",
        "feed-invalid": "Tip de abonament invalid",
-       "feed-unavailable": "Nu sunt disponibile fluxuri web.",
+       "feed-unavailable": "Nu sunt disponibile fluxuri web",
        "site-rss-feed": "$1 Abonare RSS",
        "site-atom-feed": "$1 Abonare Atom",
        "page-rss-feed": "„$1” Abonare RSS",
        "sort-ascending": "Sortare ascendentă",
        "nstab-main": "Pagină",
        "nstab-user": "Pagină de utilizator",
-       "nstab-media": "Pagină Media",
+       "nstab-media": "Pagină media",
        "nstab-special": "Pagină specială",
        "nstab-project": "Proiect",
        "nstab-image": "Fișier",
        "nstab-category": "Categorie",
        "mainpage-nstab": "Pagina principală",
        "nosuchaction": "Această acțiune nu există",
-       "nosuchactiontext": "Acțiunea specificată în URL este invalidă.\nS-ar putea să fi introdus greșit URL-ul, sau să fi urmat o legătură incorectă.\nAceasta s-ar putea să indice și un bug în programul folosit de {{SITENAME}}.",
+       "nosuchactiontext": "Acțiunea specificată în URL este invalidă.\nEste posibil să fi introdus greșit adresa URL sau să fi accesat o legătură incorectă.\nAcest lucru ar putea, de asemenea, indica și o problemă în programul folosit de {{SITENAME}}.",
        "nosuchspecialpage": "Această pagină specială nu există",
-       "nospecialpagetext": "<strong>Ați cerut o [[Special:SpecialPages|pagină specială]] invalidă.</strong>\n\nO listă cu paginile speciale valide se poate găsi la [[Special:SpecialPages|{{int:specialpages}}]].",
+       "nospecialpagetext": "<strong>Ați cerut o [[Special:SpecialPages|pagină specială]] nevalidă.</strong>\n\nO listă cu paginile speciale disponibile se poate găsi la [[Special:SpecialPages|{{int:specialpages}}]].",
        "error": "Eroare",
        "databaseerror": "Eroare la baza de date",
        "databaseerror-text": "A apărut o eroare la interogarea bazei de date.\nAcest lucru poate însemna o problemă de software.",
        "databaseerror-query": "Interogare: $1",
        "databaseerror-function": "Funcție: $1",
        "databaseerror-error": "Eroare: $1",
-       "laggedslavemode": "Atenție: S-ar putea ca pagina să nu conțină ultimele actualizări.",
+       "laggedslavemode": "<strong>Atenție:</strong> Pagina nu conține ultimele modificări.",
        "readonly": "Baza de date este blocată la scriere",
-       "enterlockreason": "Precizează motivul pentru blocare, incluzând o estimare a termenului de deblocare a bazei de date",
+       "enterlockreason": "Precizează motivul pentru blocare, incluzând o estimare a termenului de deblocare",
        "readonlytext": "Baza de date {{SITENAME}} este momentan blocată la scriere, probabil pentru o operațiune de rutină, după care va fi deblocată și se va reveni la starea normală.\n\nAdministratorul care a blocat-o a oferit această explicație: $1",
        "missing-article": "Baza de date nu găsește textul unei pagini care ar fi trebuit găsită, numită „$1” $2.\n\nÎn mod normal faptul este cauzat de accesarea unei dif neactualizată sau a unei legături din istoric spre o pagină care a fost ștearsă.\n\nDacă nu acesta e motivul, s-ar putea să fi găsit un bug în program.\nVă rugăm să-i semnalați acest aspect unui [[Special:ListUsers/sysop|administrator]], indicându-i adresa URL.",
        "missingarticle-rev": "(versiunea#: $1)",
        "viewsource": "Sursă pagină",
        "viewsource-title": "Vizualizare sursă pentru $1",
        "actionthrottled": "Acțiune limitată",
-       "actionthrottledtext": "Ca o măsură anti-spam, aveți permisiuni limitate în a efectua această acțiune de prea multe ori într-o perioadă scurtă de timp, iar dv. tocmai ați depășit această limită.\nVă rugăm să încercați din nou în câteva minute.",
+       "actionthrottledtext": "Ca o măsură anti-spam, aveți permisiuni limitate în a efectua această acțiune de prea multe ori într-o perioadă scurtă de timp, iar dumneavoastră tocmai ați depășit această limită.\nVă rugăm să încercați din nou în câteva minute.",
        "protectedpagetext": "Această pagină este protejată împotriva modificărilor sau a altor acțiuni.",
        "viewsourcetext": "Puteți vizualiza și copia sursa acestei pagini.",
        "viewyourtext": "Puteți vizualiza și copia conținutul <strong>modificărilor dumneavoastră</strong> efectuate asupra acestei pagini.",
        "passwordreset-emailtext-ip": "Cineva (probabil dumneavoastră, de la adresa IP $1) a solicitat resetarea parolei \npentru {{SITENAME}} ($4). {{PLURAL:$3|Următorul cont este asociat|Următoarele conturi sunt asociate}}\ncu această adresă de e-mail:\n\n$2\n\n{{PLURAL:$3|Această parolă temporară va|Aceste parole temporare vor}} expira {{PLURAL:$5|într-o zi|în $5 zile}}.\nAr trebui să vă autentificați și să schimbați parola acum. Dacă altcineva a făcut această cerere \nsau dacă v-ați reamintit parola inițială și nu mai doriți să o schimbați,\nputeți ignora acest mesaj, continuând să utilizați vechea parolă.",
        "passwordreset-emailtext-user": "Utilizatorul $1 de pe {{SITENAME}} a solicitat o resetare a parolei dumneavoastră pentru {{SITENAME}} ($4). Următorul utilizator are {{PLURAL:$3|contul asociat|conturile asociate}} cu această adresă de e-mail:\n\n$2\n\n{{PLURAL:$3|Această parolă temporară va|Aceste parole temporare vor}} expira {{PLURAL:$5|într-o zi|în $5 zile}}.\nAr trebui să vă autentificați și să alegeți acum o nouă parolă. Dacă altcineva a făcut această solicitare, ori dacă v-ați reamintit parola originală și nu mai doriți modificarea ei, puteți ignora acest mesaj, continuând cu vechea parolă.",
        "passwordreset-emailelement": "Nume de utilizator: \n$1\n\nParolă temporară: \n$2",
-       "passwordreset-emailsent": "A fost trimis un e-mail de resetare a parolei.",
+       "passwordreset-emailsent": "Dacă aceasta este o adresă de e-mail înregistrată pentru contul dumneavoastră, atunci se va trimite un e-mail de resetare a parolei.",
        "passwordreset-emailsent-capture": "Un mesaj de resetare a parolei a fost trimis, fiind afișat mai jos.",
        "passwordreset-emailerror-capture": "Un mesaj de resetare a parolei a fost generat (fiind afișat mai jos), dar trimiterea sa către {{GENDER:$2|utilizator}} a eșuat: $1",
        "changeemail": "Modificare sau înlăturare adresă de e-mail",
-       "changeemail-header": "Modificare adresă de e-mail asociată contului",
+       "changeemail-header": "Completați acest formular pentru a vă schimba adresa de e-mail. Dacă doriți să înlăturați orice asociere a unei adrese de e-mail cu contul dumneavoastră, lăsați necompletat câmpul pentru introducerea unei noi adrese de e-mail atunci când trimiteți formularul.",
+       "changeemail-passwordrequired": "Va trebui să introduceți parola pentru a confirma această schimbare.",
        "changeemail-no-info": "Trebuie să fiți autentificat pentru a accesa această pagină direct.",
        "changeemail-oldemail": "Adresa de e-mail actuală:",
        "changeemail-newemail": "Noua adresă de e-mail:",
+       "changeemail-newemail-help": "Acest câmp nu trebuie completat dacă doriți să vă ștergeți adresa de e-mail. Dacă o ștergeți, nu veți putea reseta parola uitată și nu veți mai primi e-mailuri de la acest wiki.",
        "changeemail-none": "(niciuna)",
        "changeemail-password": "Parola dumneavoastră la {{SITENAME}}:",
        "changeemail-submit": "Modifică adresa de e-mail",
        "image_tip": "Fișier inserat",
        "media_sample": "Exemplu.ogg",
        "media_tip": "Legătură la fișier",
-       "sig_tip": "Semnătura dvs. datată",
+       "sig_tip": "Semnătura dumneavoastră datată",
        "hr_tip": "Linie orizontală (folosiți-o cumpătat)",
        "summary": "Rezumat:",
        "subject": "Subiect / titlu:",
        "missingsummary": "'''Atenție:''' Nu ați completat caseta „descriere modificări”. Dacă apăsați din nou butonul „salvează pagina” modificările vor fi salvate fără descriere.",
        "selfredirect": "<strong>Atenție:</strong> Sunteți pe cale să redirecționați această pagină către ea însăși.\nProbabil ați greșit ținta redirecționării sau ați modificat pagina greșită.\nDacă apăsați din nou pe „{{int:savearticle}}”, redirecționarea va fi creată oricum.",
        "missingcommenttext": "Vă rugăm să introduceți un comentariu.",
-       "missingcommentheader": "'''Atenție,''' nu ați pus titlu sau subiect la acest comentariu.\nDacă dați din nou clic pe „{{int:savearticle}}” modificarea va fi salvată fără titlu.",
+       "missingcommentheader": "<strong>Atenție:</strong> nu ați adăugat niciun titlu sau subiect la acest comentariu.\nDacă dați din nou clic pe „{{int:savearticle}}” modificarea va fi salvată fără titlu.",
        "summary-preview": "Previzualizare descriere:",
        "subject-preview": "Previzualizare subiect/titlu:",
        "previewerrortext": "A survenit o eroare ca urmare a tentativei de previzualizare a modificărilor dumneavoastră.",
        "newarticle": "(Nou)",
        "newarticletext": "Ați încercat să ajungeți la o pagină care nu există. Pentru a o crea, începeți să scrieți în caseta de mai jos (vedeți [$1 pagina de ajutor] pentru mai multe informații). Dacă ați ajuns aici din greșeală, întoarceți-vă folosind controalele navigatorului dumneavoastră.",
        "anontalkpagetext": "---- ''Aceasta este pagina de discuții pentru un utilizator care nu și-a creat un cont încă, sau care nu s-a autentificat.\nDe aceea trebuie să folosim adresă IP pentru a identifica această persoană.\nO adresă IP poate fi folosită în comun de mai mulți utilizatori.\nDacă sunteți un astfel de utilizator și credeți că vă sunt adresate mesaje irelevante, vă rugăm să [[Special:UserLogin/signup|vă creați un cont]] sau să [[Special:UserLogin|vă autentificați]] pentru a evita confuzii cu alți utilizatori anonimi în viitor.''",
-       "noarticletext": "Actualmente, această pagină este lipsită de conținut.\nPuteți [[Special:Search/{{PAGENAME}}|căuta acest titlu]] în alte pagini,\nputeți <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} căuta înregistrări în jurnale] \nsau puteți [{{fullurl:{{FULLPAGENAME}}|action=edit}} crea această pagină]</span>.",
+       "noarticletext": "Actualmente, această pagină este lipsită de conținut.\nPuteți [[Special:Search/{{PAGENAME}}|căuta titlul acestei pagini]] în alte pagini, puteți <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} căuta înregistrări în jurnalele relevante]\nsau puteți [{{fullurl:{{FULLPAGENAME}}|action=edit}} crea această pagină]</span>.",
        "noarticletext-nopermission": "Actualmente, această pagină este lipsită de conținut.\nPuteți [[Special:Search/{{PAGENAME}}|căuta acest titlu]] în alte pagini sau puteți <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} căuta înregistrări în jurnale]</span>; nu aveți însă permisiunea de a crea această pagină.",
        "missing-revision": "Versiunea nr. $1 a paginii „{{FULLPAGENAME}}” nu există.\n\nAcest lucru se întâmplă de obicei atunci când se accesează o legătură expirată către istoricul unei pagini șterse.\nDetalii se pot găsi în [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} jurnalul ștergerilor].",
        "userpage-userdoesnotexist": "Contul de utilizator „<nowiki>$1</nowiki>” nu este înregistrat.\nAsigurați-vă că doriți să creați/modificați această pagină.",
        "templatesusedsection": "{{PLURAL:$1|Format utilizat|Formate utilizate}} în această secțiune:",
        "template-protected": "(protejat)",
        "template-semiprotected": "(semiprotejat)",
-       "hiddencategories": "Această pagină este membră {{PLURAL:$1|a unei categorii ascunse|a $1 categorii ascunse|a $1 de categorii ascunse}}:",
+       "hiddencategories": "Această pagină face parte {{PLURAL:$1|dintr-o categorie ascunsă|din $1 categorii ascunse|din $1 de categorii ascunse}}:",
        "edittools": "<!-- Acest text va apărea după caseta de editare și formularele de trimitere fișier. -->",
        "nocreatetext": "{{SITENAME}} a restricționat abilitatea de a crea pagini noi.\nPuteți edita o pagină deja existentă sau puteți să vă [[Special:UserLogin|autentificați/creați]] un cont de utilizator.",
        "nocreate-loggedin": "Nu ai permisiunea să creezi pagini noi.",
        "sectioneditnotsupported-text": "Modificarea secțiunilor nu este suportată în această pagină.",
        "permissionserrors": "Eroare de permisiune",
        "permissionserrorstext": "Nu aveți permisiune pentru a face acest lucru, din următoarele {{PLURAL:$1|motiv|motive}}:",
-       "permissionserrorstext-withaction": "Nu aveți permisiunea să $2, din {{PLURAL:$1|următorul motivul|următoarele motive}}:",
+       "permissionserrorstext-withaction": "Nu aveți permisiunea să $2, din {{PLURAL:$1|următorul motiv|următoarele motive}}:",
        "recreate-moveddeleted-warn": "'''Atenție: Recreați o pagină care a fost ștearsă anterior.'''\n\nAsigurați-vă că este oportună recrearea acestei pagini.\nJurnalul ștergerilor și al mutărilor pentru această pagină este disponibil:",
        "moveddeleted-notice": "Această pagină a fost ștearsă.\nJurnalul ștergerilor și al redenumirilor este disponibil mai jos.",
        "moveddeleted-notice-recent": "Ne cerem scuze, dar această pagină a fost ștearsă recent (în ultimele 24 de ore).\nJurnalele de ștergere și redenumire ale paginii sunt disponibile mai jos cu scop informativ.",
        "currentrev": "Versiunea curentă",
        "currentrev-asof": "Versiunea curentă din $1",
        "revisionasof": "Versiunea de la data $1",
-       "revision-info": "Versiunea din $1; autor: {{GENDER:$6|$2}}$7",
+       "revision-info": "Versiunea din $1, autor: {{GENDER:$6|$2}}$7",
        "previousrevision": "← Versiunea anterioară",
        "nextrevision": "Versiunea următoare →",
        "currentrevisionlink": "Versiunea curentă",
        "rev-suppressed-unhide-diff": "Una dintre versiunile acestui istoric a fost '''suprimată'''.\nDetalii se pot găsi în [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} jurnalul suprimărilor].\nCa administrator puteți [$1 vedea diferența] în continuare, dacă doriți acest lucru.",
        "rev-deleted-diff-view": "Una dintre versiunile acestui istoric a fost '''ștearsă'''.\nCa administrator puteți vedea în continuare această diferență dinte versiuni; detalii puteți găsi în [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} jurnalul ștergerilor].",
        "rev-suppressed-diff-view": "Una dintre reviziile acestui istoric a fost '''suprimată'''.\nCa administrator puteți vedea în continuare această diferență dinte versiuni; detalii puteți găsi în [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} jurnalul suprimărilor].",
-       "rev-delundel": "șterge/recuperează",
+       "rev-delundel": "schimbă vizibilitatea",
        "rev-showdeleted": "arată",
        "revisiondelete": "Ștergere/recuperare versiuni",
        "revdelete-nooldid-title": "Versiune invalidă",
        "mergehistory-go": "Vezi modificările care pot fi combinate",
        "mergehistory-submit": "Unește versiunile",
        "mergehistory-empty": "Nicio versiune nu poate fi unită.",
-       "mergehistory-done": "$3 {{PLURAL:$3|versiune|versiuni|de versiuni}} ale paginii $1 {{PLURAL:$3|a fost unită|au fost unite|au fost unite}} cu succes în [[:$2]].",
+       "mergehistory-done": "$3 {{PLURAL:$3|versiune a|versiuni ale|de versiuni ale}} paginii $1 {{PLURAL:$3|a fost unită|au fost unite}} cu succes în pagina [[:$2]].",
        "mergehistory-fail": "Nu se poate executa combinarea istoricului, te rog verifică parametrii pagină și timp.",
        "mergehistory-fail-toobig": "Nu s-a putut efectua unirea istoricelor întrucât s-ar fi depășit limita de $1 {{PLURAL:$1|versiune|versiuni|de versiuni}} mutat{{PLURAL:$1|ă|e}}.",
        "mergehistory-no-source": "Pagina sursă $1 nu există.",
        "prevn-title": "{{PLURAL:$1|anteriorul|anterioarele}} $1 {{PLURAL:$1|rezultat|rezultate}}",
        "nextn-title": "{{PLURAL:$1|următorul|următoarele}} $1 {{PLURAL:$1|rezultat|rezultate}}",
        "shown-title": "Arată $1 {{PLURAL:$1|rezultat|rezultate}} pe pagină",
-       "viewprevnext": "Vezi ($1 {{int:pipe-separator}} $2) ($3).",
+       "viewprevnext": "Vezi ($1 {{int:pipe-separator}} $2) ($3)",
        "searchmenu-exists": "'''Există o pagină cu titlul „[[:$1]]'” pe acest site.'''",
        "searchmenu-new": "<strong>'''Creați pagina „[[:$1]]” pe acest wiki!'''</strong> {{PLURAL:$2|0=|Vedeți, de asemenea, pagina găsită în urma căutării dumneavoastră.|Vedeți, de asemenea, rezultatele căutării.}}",
        "searchprofile-articles": "Pagini cu conținut",
        "group-bot": "Roboți",
        "group-sysop": "Administratori",
        "group-bureaucrat": "Birocrați",
-       "group-suppress": "Supervizori",
+       "group-suppress": "Suprimători",
        "group-all": "(toți)",
        "group-user-member": "{{GENDER:$1|utilizator|utilizatoare|utilizator}}",
        "group-autoconfirmed-member": "{{GENDER:$1|utilizator autoconfirmat|utilizatoare autoconfirmată|utilizator autoconfirmat}}",
        "group-bot-member": "{{GENDER:$1|robot}}",
        "group-sysop-member": "{{GENDER:$1|administrator}}",
        "group-bureaucrat-member": "{{GENDER:$1|birocrat}}",
-       "group-suppress-member": "{{GENDER:$1|supervizor}}",
+       "group-suppress-member": "{{GENDER:$1|suprimător|suprimătoare}}",
        "grouppage-user": "{{ns:project}}:Utilizatori",
        "grouppage-autoconfirmed": "{{ns:project}}:Utilizator autoconfirmați",
        "grouppage-bot": "{{ns:project}}:Boți",
        "grouppage-sysop": "{{ns:project}}:Administratori",
        "grouppage-bureaucrat": "{{ns:project}}:Birocrați",
-       "grouppage-suppress": "{{ns:project}}:Supervizori",
+       "grouppage-suppress": "{{ns:project}}:Suprimători",
        "right-read": "Citește pagini",
        "right-edit": "Modifică paginile",
        "right-createpage": "Creează pagini (altele decât pagini de discuție)",
        "recentchangeslinked-title": "Modificări legate de „$1”",
        "recentchangeslinked-summary": "Aceasta este o listă a schimbărilor efectuate recent asupra paginilor cu legături de la o anumită pagină (sau asupra membrilor unei anumite categorii).\nPaginile pe care le [[Special:Watchlist|urmăriți]] apar cu <strong>aldine</strong>.",
        "recentchangeslinked-page": "Numele paginii:",
-       "recentchangeslinked-to": "Afișează schimbările în paginile care se leagă de pagina dată",
+       "recentchangeslinked-to": "Arată în schimb modificările asupra paginilor care se leagă de pagina indicată",
        "recentchanges-page-added-to-category": "[[:$1]] a fost adăugată în categorii",
        "recentchanges-page-added-to-category-bundled": "[[:$1]] și încă {{PLURAL:$2|o pagină|$2 pagini|$2 de pagini}} au fost adăugate în categorii",
        "recentchanges-page-removed-from-category": "[[:$1]] eliminată din categorii",
        "upload-options": "Opțiuni de încărcare",
        "watchthisupload": "Urmărește acest fișier",
        "filewasdeleted": "Un fișier cu acest nume a fost anterior încărcat și apoi șters. Ar trebui să verificați $1 înainte să îl încărcați din nou.",
+       "filename-thumb-name": "Acesta arată ca un titlu pentru o miniatură. Vă rugăm să nu încărcați miniaturi înapoi pe același wiki. În caz contrar, vă rugăm să corectați numele fișierului pentru ca acesta să fie mai descriptiv și să nu aibă prefixul de miniatură.",
        "filename-bad-prefix": "Numele fișierului pe care îl încărcați începe cu '''\"$1\"''', care este un nume non-descriptiv alocat automat în general de camerele digitale.\nVă rugăm, alegeți un nume mai descriptiv pentru fișerul dumneavoastră.",
+       "filename-prefix-blacklist": " #<!-- lăsați această linie exact așa cum este --> <pre>\n# Sintaxa după cum urmează:\n# * Tot ceea ce începe cu „#” și până la sfârșitul rândului reprezintă un comentariu\n# * Fiecare rând care nu este gol reprezintă un prefix pentru numele tipice de fișiere atribuite automat de camerele digitale\nCIMG # Casio\nDSC_ # Nikon\nDSCF # Fuji\nDSCN # Nikon\nDUW # unele telefoane mobile\nIMG # generic\nJD # Jenoptik\nMGP # Pentax\nPICT # diverse\n#</pre> <!-- lăsați această linie exact așa cum este -->",
        "upload-success-subj": "Fișierul a fost trimis",
        "upload-success-msg": "Încărcarea de la [$2] s-a încheiat cu succes. Rezultatul este disponibil aici: [[:{{ns:file}}:$1]]",
        "upload-failure-subj": "Problemă la trimitere",
        "foreign-structured-upload-form-label-own-work": "Aceasta este propria mea operă",
        "foreign-structured-upload-form-label-infoform-categories": "Categorii",
        "foreign-structured-upload-form-label-infoform-date": "Dată",
+       "foreign-structured-upload-form-label-own-work-message-local": "Confirm că încarc acest fișier în concordanță cu termenii serviciului și politicile de licențiere de la {{SITENAME}}.",
+       "foreign-structured-upload-form-label-not-own-work-message-local": "Dacă nu puteți încărca acest fișier în conformitate cu politicile de la {{SITENAME}}, închideți această casetă de dialog și încercați altă metodă.",
+       "foreign-structured-upload-form-label-not-own-work-local-local": "Poate doriți să încercați [[Special:Upload|pagina de încărcare implicită]].",
+       "foreign-structured-upload-form-label-own-work-message-default": "Înțeleg că încarc acest fișier într-un depozit partajat. Confirm că fac acest lucru conform termenilor serviciului și politicilor de licențiere de acolo.",
+       "foreign-structured-upload-form-label-not-own-work-message-default": "Dacă nu puteți încărca acest fișier în conformitate cu politicile depozitului partajat, închideți această casetă de dialog și încercați altă metodă.",
+       "foreign-structured-upload-form-label-not-own-work-local-default": "Poate doriți să încercați [[Special:Upload|pagina de încărcare de la {{SITENAME}}]], în cazul în care acest fișier poate fi încărcat acolo în conformitate cu politicele lor.",
+       "foreign-structured-upload-form-label-own-work-message-shared": "Declar că dețin drepturile de autor asupra acestui fișier, accept să public irevocabil acest fișier la Wikimedia Commons sub licența [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Atribuire și distribuire în condiții identice 4.0] și sunt de acord cu [https://wikimediafoundation.org/wiki/Terms_of_Use Termenii de utilizare].",
+       "foreign-structured-upload-form-label-not-own-work-message-shared": "Dacă nu dețineți drepturile de autor asupra acestui fișier sau doriți să-l publicați sub o altă licență, puteți utiliza [https://commons.wikimedia.org/wiki/Special:UploadWizard Expertul de încărcare de la Commons].",
+       "foreign-structured-upload-form-label-not-own-work-local-shared": "Poate doriți să încercați [[Special:Upload|pagina de încărcare de la {{SITENAME}}]], în cazul în care acest site permite încărcarea acestui fișier în conformitate cu politicele lor.",
        "backend-fail-stream": "Imposibil de citit fișierul $1.",
        "backend-fail-backup": "Imposibil de efectuat o copie de rezervă a fișierului $1.",
        "backend-fail-notexists": "Fișierul $1 nu există.",
        "filehist-filesize": "Mărimea fișierului",
        "filehist-comment": "Comentariu",
        "imagelinks": "Utilizarea fișierului",
-       "linkstoimage": "{{PLURAL:$1|Următoarea pagină trimite spre|Următoarele $1 pagini trimit spre|Următoarele $1 de pagini trimit spre}} această imagine:",
+       "linkstoimage": "{{PLURAL:$1|Următoarea pagină trimite|Următoarele $1 pagini trimit spre|Următoarele $1 de pagini trimit}} către acest fișier:",
        "linkstoimage-more": "Mai mult de $1 {{PLURAL:$1|pagină este legată|pagini sunt legate}} de acest fișier.\nUrmătoarea listă arată {{PLURAL:$1|prima legătură|primele $1 legături}} către acest fișier.\nO [[Special:WhatLinksHere/$2|listă completă]] este disponibilă.",
-       "nolinkstoimage": "Nici o pagină nu utilizează această imagine.",
+       "nolinkstoimage": "Nicio pagină nu utilizează această imagine.",
        "morelinkstoimage": "Vedeți [[Special:WhatLinksHere/$1|mai multe legături]] către acest fișier.",
        "linkstoimage-redirect": "$1 (redirecționare de fișier) $2",
        "duplicatesoffile": "{{PLURAL:$1|Fișierul următor este duplicat|Următoarele $1 fișiere sunt duplicate}} ale acestui fișier ([[Special:FileDuplicateSearch/$2|mai multe detalii]]):",
        "nopagetext": "Pagina destinație specificată nu există.",
        "pager-newer-n": "{{PLURAL:$1|1 mai nou|$1 mai noi}}",
        "pager-older-n": "{{PLURAL:$1|1|$1}} mai vechi",
-       "suppress": "Oversight",
+       "suppress": "Suprimare",
        "querypage-disabled": "Această pagină specială este dezactivată din motive de performanță.",
        "apihelp": "Ajutor API",
        "apihelp-no-such-module": "Modulul „$1” nu a fost găsit.",
        "nocontribs": "Nu a fost găsită nici o modificare care să satisfacă acest criteriu.",
        "uctop": "(actuală)",
        "month": "Din luna (și dinainte):",
-       "year": "Până în anul:",
+       "year": "Din anul (și dinainte):",
        "sp-contributions-newbies": "Arată doar contribuțiile conturilor noi",
        "sp-contributions-newbies-sub": "Pentru începători",
        "sp-contributions-newbies-title": "Contribuțiile utilizatorului pentru conturile noi",
        "move-page-legend": "Redenumire pagină",
        "movepagetext": "Puteți folosi formularul de mai jos pentru a redenumi o pagină, mutându-i tot istoricul sub noul nume.\nPagina veche va deveni o pagină de redirecționare către pagina nouă.\nLegăturile către pagina veche nu vor fi redirecționate către cea nouă;\nnu uitați să verificați dacă nu există redirecționări [[Special:DoubleRedirects|duble]] sau [[Special:BrokenRedirects|invalide]].\n\nVă rugăm să rețineți că sunteți responsabil(ă) pentru a face legăturile vechi să rămână valide.\n\nRețineți că pagina '''nu va fi redenumită''' dacă există deja o pagină cu noul titlu, în afara cazului în care cea din urmă este deja o redirecționare; în plus, aceasta nu trebuie să aibă un istoric de modificări.\nCu alte cuvinte, veți putea redenumi înapoi o pagină pe care ați redenumit-o greșit, dar nu veți putea suprascrie o pagină validă existentă prin redenumirea alteia.\n\n'''ATENȚIE!'''\nAceasta poate fi o schimbare drastică și neașteptată pentru o pagină populară;\nvă rugăm să vă asigurați că înțelegeți toate consecințele înainte de a continua.",
        "movepagetext-noredirectfixer": "Completând formularul de mai jos veți redenumi o pagină, mutând tot istoricul la noul nume.\nVechiul titlu va deveni o pagină de redirecționare către noul titlu.\nFiți sigur că ați verificat lista redirecționărilor [[Special:DoubleRedirects|duble]] sau [[Special:BrokenRedirects|nefuncționale]].\nVă rugăm să rețineți că aveți responsabilitatea de a verifica dacă nu cumva destinația inițială a vechilor legături s-a modificat.\n\nNu uitați că pagina '''nu va fi redenumită''' dacă o pagină cu noul titlul există deja, cu excepția cazurilor în care aceasta este complet goală și nu are istoric de modificări sau este o pagină de redirecționare.\nAcest lucru înseamnă că veți putea redenumi la titlul inițial o pagină greșit redenumită, dar nu veți putea suprascrie o pagină existentă.\n\n'''Atenție!'''\nAceastă acțiune poate determina o schimbare dramatică, neașteptată pentru o pagină cu trafic crescut;\nasigurați-vă că înțelegeți toate consecințele înainte de a continua.",
-       "movepagetalktext": "Pagina de discuții asociată, dacă există, va fi redenumită\nautomat odată cu aceasta în '''afara următoarelor cazuri''':\n* există deja o pagină de discuții cu conținut (care nu este goală) sub noul nume, sau\n* nu bifați căsuța de mai jos.\n\nÎn oricare din cazurile de mai sus va trebui să redenumiți sau să unificați\nmanual paginile de discuții, dacă doriți acest lucru.",
+       "movepagetalktext": "Dacă bifați această căsuță, pagina de discuții asociată, dacă există, va fi redenumită automat la noul titlu doar dacă acolo nu există deja o pagină de discuții completată.\n\nAltfel, va trebui să redenumiți sau să unificați manual paginile de discuții, dacă doriți acest lucru.",
        "moveuserpage-warning": "'''Atenție''': sunteți pe cale să redenumiți o pagină de utilizator. Vă rugăm să rețineți că singura redenumită va fi pagina, nu și utilizatorul.",
        "movecategorypage-warning": "<strong>Atenție:</strong> Sunteți pe cale să redenumiți pagina unei categorii. Rețineți că doar pagina va fi redenumită, iar orice alte pagini conținute în vechea categorie <em>nu</em> vor fi transferate în cea nouă.",
        "movenologintext": "Trebuie să fiți un utilizator înregistrat și [[Special:UserLogin|autentificat]] pentru a redenumi o pagină.",
        "tooltip-pt-createaccount": "Vă încurajăm să vă creați un cont și să vă autentificați; totuși, nu este obligatoriu",
        "tooltip-ca-talk": "Discuții despre această pagină",
        "tooltip-ca-edit": "Modificați această pagină",
-       "tooltip-ca-addsection": "Adaugă o nouă secțiune.",
+       "tooltip-ca-addsection": "Adaugă o secțiune nouă",
        "tooltip-ca-viewsource": "Această pagină este protejată. Puteți vizualiza doar codul sursă",
        "tooltip-ca-history": "Versiunile anterioare ale paginii și autorii lor.",
        "tooltip-ca-protect": "Protejați această pagină.",
        "tooltip-ca-nstab-category": "Vezi categoria",
        "tooltip-minoredit": "Marchează această modificare ca fiind minoră",
        "tooltip-save": "Salvați modificările dumneavoastră",
-       "tooltip-preview": "Vă rugăm să previzualizați modificările înainte de a le salva!",
-       "tooltip-diff": "Arată-mi modificările efectuate asupra textului",
+       "tooltip-preview": "Previzualizați-vă modificările. Vă rugăm să faceți acest lucru înainte de a salva pagina.",
+       "tooltip-diff": "Afișează modificările pe care le-ați efectuat asupra textului",
        "tooltip-compareselectedversions": "Vezi diferențele între cele două versiuni selectate de pe această pagină.",
        "tooltip-watch": "Adaugă această pagină la lista mea de pagini urmărite",
        "tooltip-watchlistedit-normal-submit": "Șterge titluri",
        "tooltip-recreate": "Recreează",
        "tooltip-upload": "Pornește încărcarea",
        "tooltip-rollback": "„Revenire” anulează modificarea(ările) de pe această pagină a(le) ultimului contribuitor printr-o singură apăsare",
-       "tooltip-undo": "„Anulează” revine asupra acestei modificări către versiunea anterioară și deschide formularul de modificare în modul de previzualizare.\nPermite adăugarea unui motiv în descrierea modificărilor.",
+       "tooltip-undo": "„Anulează” șterge această modificare și deschide formularul de modificare în modulul de previzualizare.\nPermite adăugarea unui motiv în descrierea modificărilor.",
        "tooltip-preferences-save": "Salvează preferințele",
        "tooltip-summary": "Descrieți pe scurt modificarea",
        "interlanguage-link-title": "$1 – $2",
        "ilsubmit": "Caută",
        "bydate": "după dată",
        "sp-newimages-showfrom": "Arată imaginile noi începând cu $1, ora $2",
+       "days-abbrev": "$1 z",
        "seconds": "{{PLURAL:$1|o secundă|$1 secunde|$1 de secunde}}",
        "minutes": "{{PLURAL:$1|un minut|$1 minute|$1 de minute}}",
        "hours": "{{PLURAL:$1|o oră|$1 ore|$1 de ore}}",
        "autoredircomment": "Redirecționat înspre [[$1]]",
        "autosumm-new": "Pagină nouă: $1",
        "autosumm-newblank": "A creat o pagină goală",
+       "size-bytes": "{{PLURAL:$1|un octet|$1 octeți|$1 de octeți}}",
+       "size-pixel": "$1 {{PLURAL:$1|pixel|pixeli|de pixeli}}",
        "lag-warn-normal": "Modificările mai noi de $1 {{PLURAL:$1|secondă|seconde}} pot să nu apară în listă.",
        "lag-warn-high": "Serverul bazei de date este suprasolicitat, astfel încît modificările făcute în ultimele $1 {{PLURAL:$1|secundă|secunde}} pot să nu apară în listă.",
        "watchlistedit-normal-title": "Modificare listă pagini urmărite",
        "version-entrypoints": "URL-uri pentru puncte de intrare",
        "version-entrypoints-header-entrypoint": "Punct de intrare",
        "version-entrypoints-header-url": "URL",
+       "version-entrypoints-articlepath": "[https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgArticlePath Calea articolului]",
+       "version-entrypoints-scriptpath": "[https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgScriptPath Calea scriptului]",
        "version-libraries": "Biblioteci instalate",
        "version-libraries-library": "Bibliotecă",
        "version-libraries-version": "Versiune",
        "mw-widgets-dateinput-placeholder-day": "AAAA-LL-ZZ",
        "mw-widgets-dateinput-placeholder-month": "AAAA-LL",
        "mw-widgets-titleinput-description-new-page": "pagina nu există încă",
-       "mw-widgets-titleinput-description-redirect": "redirecționare către $1"
+       "mw-widgets-titleinput-description-redirect": "redirecționare către $1",
+       "api-error-blacklisted": "Vă rugăm să alegeți un alt titlu, mai descriptiv."
 }
index 50a1f78..a19444d 100644 (file)
        "passwordreset-emailsent": "Ce quiste jè 'n'e-mail pu cunde tune, allore 'na password azzerate ha state mannate addà.",
        "passwordreset-emailsent-capture": "'Na e-mail pe azzeramende d'a passuord ha state mannate, ca jè fatte vedè aqquà sotte.",
        "passwordreset-emailerror-capture": "'Na e-mail de azzeramende d'a passuord ha state generate, ca jè fatte vedè aqquà sotte, ma 'u 'nvie a {{GENDER:$2|l'utende}} ha fallite: $1",
-       "changeemail": "Cange 'u 'ndirizze e-mail",
+       "changeemail": "Cange o live 'u 'ndirizze e-mail",
        "changeemail-header": "Cange 'u 'ndirizze e-mail d'u cunde",
        "changeemail-no-info": "Tu a essere collegate pe accedere a sta pàgene direttamende.",
        "changeemail-oldemail": "Indirizze e-mail de mò:",
        "sig_tip": "'A firma toje cu l'orarie e 'a sciurnete",
        "hr_tip": "Linee orizzondele (ausele picche)",
        "summary": "Riepileghe:",
-       "subject": "Oggette/Testate:",
+       "subject": "Oggette:",
        "minoredit": "Cangiaminde stuèdeche",
        "watchthis": "Condrolle sta pàgene",
        "savearticle": "Registre 'a vôsce",
        "prefs-watchlist-token": "Token de le pàggene condrollate:",
        "prefs-misc": "Misc",
        "prefs-resetpass": "Cange a 'password",
-       "prefs-changeemail": "Cange e-mail",
+       "prefs-changeemail": "Cange o live 'u 'ndirizze e-mail",
        "prefs-setemail": "Mitte 'n'indirizze e-mail",
        "prefs-email": "Opziune de l'e-mail",
        "prefs-rendering": "Aspette",
        "recentchangeslinked-summary": "Queste jè 'a liste de le cangiaminde fatte de recende a le pàggene culleghete da ' na pàgene specifiche (o a le membre de 'na specifiche categorije).\nPàggene sus 'a [[Special:Watchlist|le Pàggene condrollete]] sonde in '''grascette'''.",
        "recentchangeslinked-page": "Nome d'a vôsce:",
        "recentchangeslinked-to": "Fa vedè le cangiaminde de le pàggene colleghete a 'na certa pàgene",
+       "recentchanges-page-added-to-category": "[[:$1]] aggiunde a categorije",
        "upload": "Careche 'u file",
        "uploadbtn": "Careche 'nu fail",
        "reuploaddesc": "Scangille 'u carecamende e tuerne a 'a schermete de le carecaminde",
        "upload-form-label-infoform-description": "Descrizione",
        "upload-form-label-usage-title": "Ause",
        "upload-form-label-usage-filename": "Nome d'u file",
+       "foreign-structured-upload-form-label-infoform-date": "Date",
        "backend-fail-stream": "Non ge pozze trasmettere 'u file $1.",
        "backend-fail-backup": "Non ge pozze cupià 'u file $1.",
        "backend-fail-notexists": "'U file $1 non g'esiste.",
        "svg-long-error": "File SVG invalide: $1",
        "show-big-image": "File origgenale",
        "show-big-image-preview": "Dimenziune de sta andeprime: $1.",
+       "show-big-image-preview-differ": "Dimenzione de quiste $3 andeprime de quiste $2 file: $1.",
        "show-big-image-other": "Otre {{PLURAL:$2|resoluzione|resoluziune}}: $1.",
        "show-big-image-size": "$1 x $2 pixel",
        "file-info-gif-looped": "infinite",
        "special-characters-title-minus": "segne mene",
        "mw-widgets-dateinput-no-date": "Nisciune date scacchiate",
        "mw-widgets-titleinput-description-new-page": "'a pàgene non g'esiste angore",
-       "mw-widgets-titleinput-description-redirect": "redirezionate sus a $1"
+       "mw-widgets-titleinput-description-redirect": "redirezionate sus a $1",
+       "api-error-blacklisted": "Pe piacere scacchie 'nu titole diverse, descrittive."
 }
index 5e84b9d..cd70f92 100644 (file)
        "mw-widgets-dateinput-placeholder-day": "ГГГГ-ММ-ДД",
        "mw-widgets-dateinput-placeholder-month": "ГГГГ-ММ",
        "mw-widgets-titleinput-description-new-page": "страница ещё не существует",
-       "mw-widgets-titleinput-description-redirect": "перенаправление на $1"
+       "mw-widgets-titleinput-description-redirect": "перенаправление на $1",
+       "api-error-blacklisted": "Пожалуйста, выберите другое, более понятное название."
 }
index 6c6f3d2..b9ecfc7 100644 (file)
        "special-characters-group-lao": "Лаоськы",
        "special-characters-group-khmer": "Кгмерськы",
        "mw-widgets-dateinput-placeholder-day": "РРРР-ММ-ДД",
-       "mw-widgets-dateinput-placeholder-month": "РРРР-ММ"
+       "mw-widgets-dateinput-placeholder-month": "РРРР-ММ",
+       "api-error-blacklisted": "Звольте іншу, пописну назву."
 }
index b3b6185..d036da8 100644 (file)
        "special-characters-title-endash": "en dash",
        "special-characters-title-emdash": "em dash",
        "special-characters-title-minus": "minus sign",
-       "mw-widgets-titleinput-description-new-page": "पृष्ठं न विद्यते"
+       "mw-widgets-titleinput-description-new-page": "पृष्ठं न विद्यते",
+       "api-error-blacklisted": "कृपया भिन्नं विवरणपूर्वकं शीर्षकं चीयताम् ।"
 }
index 0b52557..591061c 100644 (file)
        "special-characters-group-khmer": "ඛෙමර්",
        "special-characters-title-endash": "en තේජස",
        "special-characters-title-emdash": "em තේජස",
-       "special-characters-title-minus": "ඍණ ලකුණ"
+       "special-characters-title-minus": "ඍණ ලකුණ",
+       "api-error-blacklisted": "කරුණාකර වෙනස්, විස්තරාත්මක මාතෘකාවක් තෝරන්න."
 }
index 758ad47..10e65c0 100644 (file)
        "special-characters-title-emdash": "dlhá pomlčka",
        "special-characters-title-minus": "mínus",
        "mw-widgets-dateinput-placeholder-day": "RRRR-MM-DD",
-       "mw-widgets-dateinput-placeholder-month": "RRRR-MM"
+       "mw-widgets-dateinput-placeholder-month": "RRRR-MM",
+       "api-error-blacklisted": "Prosím, zvoľte iný, opisný názov."
 }
index 3a72554..e905dfa 100644 (file)
        "sig_tip": "Vaš podpis z datumom",
        "hr_tip": "Vodoravna črta (uporabljajte zmerno)",
        "summary": "Povzetek urejanja:",
-       "subject": "Zadeva/naslov:",
+       "subject": "Zadeva:",
        "minoredit": "manjše urejanje",
        "watchthis": "Opazuj članek",
        "savearticle": "Shrani stran",
        "missingsummary": "'''Opozorilo:''' Niste napisali povzetka urejanja. Ob ponovnem kliku gumba ''Shrani'' se bo vaše urejanje shranilo brez njega.",
        "selfredirect": "<strong>Opozorilo:</strong> Stran preusmerjate na samo nase.\nMorda ste za cilj preusmeritve navedli napačno stran ali pa morda urejate napačno stran.\nČe ponovno kliknete »{{int:savearticle}}«, bomo preusmeritev vseeno ustvarili.",
        "missingcommenttext": "Prosimo, vpišite v spodnje polje komentar.",
-       "missingcommentheader": "'''Opozorilo:''' Niste vnesli zadeve/naslova za ta komentar.\nČe boste ponovno kliknili »{{int:savearticle}}«, bo vaše urejanje shranjeno brez le-tega.",
+       "missingcommentheader": "<strong>Opozorilo:</strong> Niste vnesli zadeve za ta komentar.\nČe boste ponovno kliknili »{{int:savearticle}}«, bo vaše urejanje shranjeno brez nje.",
        "summary-preview": "Predogled povzetka",
-       "subject-preview": "Predogled zadeve/naslova:",
+       "subject-preview": "Predogled zadeve:",
        "previewerrortext": "Med poskusom prikaza predogleda vaših sprememb je prišlo do napake.",
        "blockedtitle": "Uporabnik je blokiran",
        "blockedtext": "'''Urejanje z vašim uporabniškim imenom oziroma IP-naslovom je onemogočeno.'''\n\nBlokiral vas je $1.\nPodani razlog je ''$2''.\n\n* začetek blokade: $8\n* potek blokade: $6\n* blokirani uporabnik: $7\n\nO blokiranju se lahko pogovorite z uporabnikom/-co $1 ali katerim drugim [[{{MediaWiki:Grouppage-sysop}}|administratorjem]].\nVedite, da lahko ukaz »Pošlji uporabniku e-pismo« uporabite le, če ste v [[Special:Preferences|nastavitvah]] vpisali in potrdili svoj elektronski naslov in ta ni blokiran.\nVaš IP-naslov je $3, številka blokade pa #$5.\nProsimo, vključite ju v vse morebitne poizvedbe.",
        "mw-widgets-dateinput-placeholder-day": "LLLL-MM-DD",
        "mw-widgets-dateinput-placeholder-month": "LLLL-MM",
        "mw-widgets-titleinput-description-new-page": "stran še ne obstaja",
-       "mw-widgets-titleinput-description-redirect": "preusmeritev na $1"
+       "mw-widgets-titleinput-description-redirect": "preusmeritev na $1",
+       "api-error-blacklisted": "Prosimo, izberite drugačen, opisen naslov."
 }
index e74eabd..124cde8 100644 (file)
        "special-characters-group-lao": "Lao",
        "special-characters-group-khmer": "Khmer",
        "mw-widgets-dateinput-placeholder-day": "VVVV-MM-DD",
-       "mw-widgets-dateinput-placeholder-month": "VVVV-MM"
+       "mw-widgets-dateinput-placeholder-month": "VVVV-MM",
+       "api-error-blacklisted": "Ju lutemi zgjidhni një titull të ndryshëm, përshkrues."
 }
index 5d2a658..c34372f 100644 (file)
        "mw-widgets-dateinput-placeholder-day": "ГГГГ-ММ-ДД",
        "mw-widgets-dateinput-placeholder-month": "ГГГГ-ММ",
        "mw-widgets-titleinput-description-new-page": "страница још увек не постоји",
-       "mw-widgets-titleinput-description-redirect": "преусмерава на $1"
+       "mw-widgets-titleinput-description-redirect": "преусмерава на $1",
+       "api-error-blacklisted": "Изаберите другачији, описан назив."
 }
index 5f80973..4ba6ffc 100644 (file)
        "mw-widgets-dateinput-placeholder-day": "GGGG-MM-DD",
        "mw-widgets-dateinput-placeholder-month": "GGGG-MM",
        "mw-widgets-titleinput-description-new-page": "stranica još uvek ne postoji",
-       "mw-widgets-titleinput-description-redirect": "preusmerava na $1"
+       "mw-widgets-titleinput-description-redirect": "preusmerava na $1",
+       "api-error-blacklisted": "Izaberite drugačiji, opisan naziv."
 }
index feb1530..1c631ec 100644 (file)
        "mw-widgets-dateinput-placeholder-day": "ÅÅÅÅ-MM-DD",
        "mw-widgets-dateinput-placeholder-month": "ÅÅÅÅ-MM",
        "mw-widgets-titleinput-description-new-page": "sidan existerar inte ännu",
-       "mw-widgets-titleinput-description-redirect": "omdirigerar till $1"
+       "mw-widgets-titleinput-description-redirect": "omdirigerar till $1",
+       "api-error-blacklisted": "Välj en annan beskrivande titel."
 }
index 4ba7df7..8b8ab4e 100644 (file)
        "special-characters-group-thai": "தாய்",
        "special-characters-group-lao": "இலாவோ",
        "special-characters-group-khmer": "கெமெர்",
-       "special-characters-title-minus": "கழித்தல் குறி"
+       "special-characters-title-minus": "கழித்தல் குறி",
+       "api-error-blacklisted": "தயவுகூர்ந்து வேறு, விளக்கமான தலைப்பைத் தேர்ந்தெடுக்கவும்."
 }
index 1c4bae8..3e406c9 100644 (file)
        "special-characters-group-bangla": "บังคลา",
        "special-characters-group-telugu": "เตลูกู",
        "special-characters-group-sinhala": "สิงหล",
-       "special-characters-group-gujarati": "คุชราต"
+       "special-characters-group-gujarati": "คุชราต",
+       "api-error-blacklisted": "โปรดใช้ชื่ออื่นที่สื่อความหมาย"
 }
index 0adb7f2..f7069e7 100644 (file)
        "special-characters-group-lao": "Lao",
        "special-characters-group-khmer": "Khmer",
        "mw-widgets-dateinput-placeholder-day": "TTTT-BB-AA",
-       "mw-widgets-dateinput-placeholder-month": "TTTT-BB"
+       "mw-widgets-dateinput-placeholder-month": "TTTT-BB",
+       "api-error-blacklisted": "Paki pumili ng isang naiibang mapaglarawang pamagat."
 }
index 5c65c34..6676160 100644 (file)
        "mw-widgets-dateinput-placeholder-day": "РРРР-ММ-ДД",
        "mw-widgets-dateinput-placeholder-month": "РРРР-ММ",
        "mw-widgets-titleinput-description-new-page": "сторінка ще не існує",
-       "mw-widgets-titleinput-description-redirect": "перенаправлення на $1"
+       "mw-widgets-titleinput-description-redirect": "перенаправлення на $1",
+       "api-error-blacklisted": "Будь ласка, виберіть іншу, більш зрозумілу назву."
 }
index 1444970..2c1d958 100644 (file)
        "special-characters-title-minus": "segno meno",
        "mw-widgets-dateinput-placeholder-day": "AAAA-MM-GG",
        "mw-widgets-dateinput-placeholder-month": "AAAA-MM",
-       "mw-widgets-titleinput-description-redirect": "rimando a $1"
+       "mw-widgets-titleinput-description-redirect": "rimando a $1",
+       "api-error-blacklisted": "Par piaser siełi un titoło difarente e descritivo."
 }
index b34b09d..7ce35cd 100644 (file)
        "mw-widgets-dateinput-placeholder-day": "YYYY-MM-DD (năm-tháng-ngày)",
        "mw-widgets-dateinput-placeholder-month": "YYYY-MM (năm-tháng)",
        "mw-widgets-titleinput-description-new-page": "Trang này chưa tồn tại",
-       "mw-widgets-titleinput-description-redirect": "Đổi hướng đến $1"
+       "mw-widgets-titleinput-description-redirect": "Đổi hướng đến $1",
+       "api-error-blacklisted": "Xin vui lòng chọn một tên khác miêu tả đầy đủ."
 }
index da6494d..7e1b0ea 100644 (file)
        "duration-years": "$1 anêye{{PLURAL:$1||s}}",
        "duration-decades": "$1 dijhinne{{PLURAL:$1||s}} d' anêyes",
        "duration-centuries": "$1 sieke{{PLURAL:$1||s}}",
-       "duration-millennia": "$1 meynaire{{PLURAL:$1||s}}"
+       "duration-millennia": "$1 meynaire{{PLURAL:$1||s}}",
+       "api-error-blacklisted": "S' i vs plait, tchoezixhoz èn ôte tite, pus esplicant."
 }
index 31a8b6f..ec163d9 100644 (file)
        "changeemail-no-info": "איר דאַרפֿט זיין אַרײַנלאגירט צוצוקומען גלײַך צו דעם דאָזיגן בלאַט.",
        "changeemail-oldemail": "קראַנטער ע-פּאָסט אַדרעס:",
        "changeemail-newemail": "נײַער בליצפּאָסט אַדרעס:",
+       "changeemail-newemail-help": "דאס פעלד זאל מען לאזן ליידיק כדי אראפצומעמען אייער ע־פאסט אדרעס. איר וועט אבער נישט קיין צוריקשטעלן א פארגעסן פאסווארט און וועט נישט באקומען בליצפאסט פון דיר וויקי טאמער מען נעמט אראפ דעם ע־פאסט אדרעס.",
        "changeemail-none": "(קיין)",
        "changeemail-password": "אייער {{SITENAME}} פאסווארט:",
        "changeemail-submit": "ענדערן ע־פאסט אדרעס",
        "upload-form-label-infoform-description": "באַשרײבונג",
        "upload-form-label-usage-title": "באניץ",
        "upload-form-label-usage-filename": "טעקע נאמען",
+       "foreign-structured-upload-form-label-own-work": "דאס איז מיין אייגענע ארבעט.",
        "foreign-structured-upload-form-label-infoform-categories": "קאַטעגאריעס",
        "foreign-structured-upload-form-label-infoform-date": "דאַטע",
        "backend-fail-stream": "קען נישט מאכן שטראמען טעקע $1.",
        "deletepage": "מעק אויס בלאט",
        "confirm": "באַשטעטיגן",
        "excontent": "אינהאלט געווען: \"$1\"",
-       "excontentauthor": "אינהאלט געווען: \"$1\", און דער איינציגסטער באארבעטער איז געווען '[[Special:Contributions/$2|$2]]'",
+       "excontentauthor": "אינהאלט געווען: \"$1\", און דער איינציגסטער באארבעטער איז געווען '[[Special:Contributions/$2|$2]]' ([[User talk|שמועס]])",
        "exbeforeblank": "אינהאַלט בעפֿאַרן אויסליידיגן איז געווען: \"$1\"",
        "delete-confirm": "אויסמעקן $1",
        "delete-legend": "אויסמעקן",
index c3b5824..17c8519 100644 (file)
        "special-characters-title-minus": "减号",
        "mw-widgets-dateinput-no-date": "没有选定日期",
        "mw-widgets-titleinput-description-new-page": "页面不存在",
-       "mw-widgets-titleinput-description-redirect": "重定向至$1"
+       "mw-widgets-titleinput-description-redirect": "重定向至$1",
+       "api-error-blacklisted": "请选择其他描述性的标题。"
 }
index 99e400f..eece05b 100644 (file)
        "delete-warning-toobig": "此頁面含有大量的編輯歷史,超過 $1 次修訂。\n刪除該頁面可能會中斷 {{SITENAME}} 的資料庫運作;\n請小心執行此動作。",
        "deleteprotected": "此頁面已受保護,您無法刪除此頁面。",
        "deleting-backlinks-warning": "<strong>警告:</strong>您正要刪除的頁面有[[Special:WhatLinksHere/{{FULLPAGENAME}}|其他頁面]]連結或引用。",
-       "rollback": "原編輯",
-       "rollbacklink": "原",
+       "rollback": "原編輯",
+       "rollbacklink": "原",
        "rollbacklinkcount": "還原 $1 次編輯",
        "rollbacklinkcount-morethan": "還原超過 $1 次{{PLURAL:$1|編輯}}",
        "rollbackfailed": "還原失敗",
        "undeleterevisions": "已刪除 $1 個修訂",
        "undeletehistory": "若您還原該頁面,所有的修訂歷史也會一併還原。\n若刪除之後已有使用相同名稱建立的新頁面,還原的修訂歷史會出現在此頁面之前的歷史中。",
        "undeleterevdel": "若最新頁面或檔案修訂被部份刪除,將無法執行取消刪除的動作。\n這種情況您必須取選勾選或取消隱藏已刪除的最新修訂。",
-       "undeletehistorynoadmin": "已刪除此頁面。\n以下摘要顯示刪除原因與刪除前所有編輯過此頁面的使用者詳細資料。\n只有管理員可檢視實際被刪除的文字內容。",
-       "undelete-revision": " $3 刪除的 $1 (於 $4 $5) 修訂:",
+       "undeletehistorynoadmin": "已刪除此頁面。\n以下摘要顯示刪除原因與刪除前所有編輯過此頁面的使用者詳細資料。\n這些已刪除的實際文字修訂僅對管理員可用。",
+       "undelete-revision": " $3 刪除的 $1 (於 $4 $5) 修訂:",
        "undeleterevision-missing": "無效或遺失的修訂。\n您可能使用了錯誤的連結,或該修訂已從封存中還原或刪除。",
        "undelete-nodiff": "查無先前的修訂。",
        "undeletebtn": "還原",
        "undeleteviewlink": "檢視",
        "undeleteinvert": "反向選擇",
        "undeletecomment": "原因:",
-       "undeletedrevisions": "已還原 $1 個修訂",
-       "undeletedrevisions-files": "已還原 $1 個修訂和 $2 個檔案",
-       "undeletedfiles": "已還原 $1 個檔案",
+       "undeletedrevisions": "{{PLURAL:$1|$1 個修訂}}已還原",
+       "undeletedrevisions-files": "{{PLURAL:$1|$1 個修訂}}與 {{PLURAL:$2|$2 個檔案}}已還原",
+       "undeletedfiles": "{{PLURAL:$1|$1}} 個檔案已還原",
        "cannotundelete": "取消刪除失敗:\n$1",
-       "undeletedpage": "<strong>已還原 $1</strong>\n\n請參考 [[Special:Log/delete|刪除日誌]] 以查詢最近刪除及還原的記錄。",
+       "undeletedpage": "<strong>$1 已還原</strong>\n\n請參考 [[Special:Log/delete|刪除日誌]] 以查詢最近刪除及還原的記錄。",
        "undelete-header": "請參考 [[Special:Log/delete|刪除日誌]] 查詢最近刪除的頁面。",
        "undelete-search-title": "搜尋已刪除頁面",
        "undelete-search-box": "搜尋已刪除的頁面",
        "blanknamespace": "(主要)",
        "contributions": "{{GENDER:$1|使用者}}貢獻",
        "contributions-title": "$1 的使用者貢獻",
-       "mycontris": "我的貢獻",
+       "mycontris": "貢獻",
        "contribsub2": "{{GENDER:$3|$1}} 的貢獻 ($2)",
        "contributions-userdoesnotexist": "使用者帳號 \"$1\" 尚未註冊。",
        "nocontribs": "沒有找到符合條件的變更。",
        "uctop": "(目前)",
        "month": "截止月份:",
        "year": "截止年份:",
-       "sp-contributions-newbies": "å\8fª顯示新帳號的貢獻",
+       "sp-contributions-newbies": "å\83\85顯示新帳號的貢獻",
        "sp-contributions-newbies-sub": "新帳號的貢獻",
        "sp-contributions-newbies-title": "新帳號的使用者貢獻",
        "sp-contributions-blocklog": "封鎖記錄",
        "ipbreason": "原因:",
        "ipbreason-dropdown": "*常見的封鎖原因\n** 填寫不實資訊\n** 刪除頁面內容\n** 散佈外部廣告連結\n** 在頁面填寫無意義文字\n** 無禮的行為、攻擊/騷擾別人\n** 濫用多個帳號\n** 使用不受歡迎的使用者名稱",
        "ipb-hardblock": "禁止使用此 IP 位址登入的使用者編輯",
-       "ipbcreateaccount": "禁止建立帳號",
+       "ipbcreateaccount": "防止帳號建立",
        "ipbemailban": "禁止使用者傳送電子郵件",
        "ipbenableautoblock": "自動封鎖此使用者最後使用的 IP 位址,以及所有之後嘗試編輯使用的 IP 位址",
        "ipbsubmit": "封鎖此使用者",
        "emailblock": "停用電子郵件",
        "blocklist-nousertalk": "無法編輯自己的對話頁面",
        "ipblocklist-empty": "封鎖清單為空。",
-       "ipblocklist-no-results": "指定的 IP 位址或使用者名稱尚未被封鎖。",
+       "ipblocklist-no-results": "要求的 IP 位址或使用者名稱尚未被封鎖。",
        "blocklink": "封鎖",
        "unblocklink": "解除封鎖",
        "change-blocklink": "變更封鎖",
        "proxyblocker": "代理伺服器封鎖器",
        "proxyblockreason": "因您的 IP 位址是開放代理伺服器,已被封鎖。\n請聯絡您的網路服務供應商或您所在組織的技術支援,告知他們此嚴重的安全性問題。",
        "sorbsreason": "您的 IP 位址在 {{SITENAME}} 使用的 DNSBL 列為開放代理伺服器。",
-       "sorbs_create_account_reason": "您連線到 {{SITENAME}} 的 IP 位址被 DNSBL 列為開放代理伺服器。\n您不能建立帳號。",
+       "sorbs_create_account_reason": "您的 IP 位址在 {{SITENAME}} 使用的 DNSBL 列為開放代理伺服器。\n您不能建立帳號。",
        "xffblockreason": "您的 IP 位址使用 X-Forwarded-For 標頭,您或您使用的代理伺服器已被封鎖。\n封鎖的原因為:$1",
        "cant-see-hidden-user": "您欲封鎖的使用者已經被封鎖並且隱藏。\n您沒有隱藏使用者的權限,您無法檢視或編輯該使用者的封鎖狀態。",
        "ipbblocked": "因您已被封鎖,故無法封鎖或解除封鎖其他使用者。",
        "special-characters-title-minus": "減號",
        "mw-widgets-dateinput-no-date": "未選擇日期",
        "mw-widgets-titleinput-description-new-page": "頁面不存在",
-       "mw-widgets-titleinput-description-redirect": "重新導向至 $1"
+       "mw-widgets-titleinput-description-redirect": "重新導向至 $1",
+       "api-error-blacklisted": "請選擇另一個更具描述性的標題。"
 }
index bb5e9ab..3e25eec 100644 (file)
             "Urhixidur",
             "Wong128hk",
             "Zerng07",
-            "לערי ריינהארט"
+            "לערי ריינהארט",
+            "LNDDYL",
+            "Carrotkit"
         ]
     },
-    "tog-underline": "連結標注底線",
-    "tog-justify": "段落對齊",
-    "tog-hideminor": "近期變動中隱藏細微修改",
-    "tog-usenewrc": "使用強化的近期變動 (需要JavaScript)",
-    "tog-numberheadings": "自動編號標題",
-    "tog-showtoolbar": "顯示編輯工具欄 (需要JavaScript)",
-    "tog-watchcreations": "將我建立的頁面加進我的監視列表",
-    "tog-watchdefault": "將我更改的頁面添加到我的監視列表中",
-    "tog-minordefault": "預設將編輯設定為細微修改",
-    "tog-enotifwatchlistpages": "當我監視的頁面改變時發電子郵件給我",
-    "tog-enotifusertalkpages": "當我的對話頁有更動時發電子郵件通知我",
-    "tog-shownumberswatching": "顯示監視數目",
-    "tog-uselivepreview": "使用即時預覽 (JavaScript) (試驗中)",
-    "tog-watchlisthideminor": "監視列表中隱藏細微修改",
-    "tog-ccmeonemails": "當我寄電子郵件給其他使用者時,也寄一份複本到我的信箱。",
-    "saturday": "星期六",
-    "sun": "日",
-    "mon": "一",
-    "tue": "二",
-    "wed": "三",
-    "thu": "四",
-    "fri": "五",
-    "january": "一月",
-    "february": "二月",
-    "march": "三月",
-    "april": "四月",
-    "may_long": "五月",
-    "june": "六月",
-    "july": "七月",
-    "august": "八月",
-    "september": "九月",
-    "october": "十月",
-    "november": "十一月",
-    "december": "十二月",
-    "january-gen": "一月",
-    "february-gen": "二月",
-    "march-gen": "三月",
-    "april-gen": "四月",
-    "may-gen": "五月",
-    "june-gen": "六月",
-    "july-gen": "七月",
-    "august-gen": "八月",
-    "september-gen": "九月",
-    "october-gen": "十月",
-    "november-gen": "十一月",
-    "december-gen": "十二月",
-    "jan": "1月",
-    "feb": "2月",
-    "mar": "3月",
-    "apr": "4月",
-    "may": "5月",
-    "jun": "6月",
-    "jul": "7月",
-    "aug": "8月",
-    "sep": "9月",
-    "oct": "10月",
-    "nov": "11月",
-    "dec": "12月",
-    "subcategories": "子分類",
-    "qbfind": "尋找",
-    "vector-action-protect": "保護",
-    "vector-view-create": "建立",
-    "vector-view-view": "閱讀",
-    "help": "使用說明",
-    "search": "搜尋",
-    "searchbutton": "搜尋",
-    "history": "修訂記錄",
-    "history_short": "歷史",
-    "edit": "編輯",
-    "create": "建立",
-    "delete": "刪除",
-    "protect_change": "更改",
-    "postcomment": "新段落",
-    "toolbox": "工具箱",
-    "userpage": "檢視使用者頁面",
     "projectpage": "檢視計畫頁面",
-    "lastmodifiedat": "本頁最後更動時間在 $1 $2。",
-    "jumptosearch": "搜尋",
-    "aboutsite": "關於 {{SITENAME}}",
     "copyright": "本站的文字內容除另有聲明外,全部以 $1 條款授權使用。",
-    "disclaimers": "免責聲明",
-    "edithelp": "編輯說明",
-    "mainpage": "首頁",
-    "portal": "社群入口",
-    "portal-url": "Project:社群入口",
-    "badaccess-groups": "您剛才的請求只有{{PLURAL:$2|這個|這些}}使用者組的使用者才能使用: $1",
-    "editold": "編輯",
-    "editsectionhint": "编辑段落:$1",
-    "showtoc": "顯示",
-    "hidetoc": "隱藏",
-    "thisisdeleted": "檢視或復原$1?",
-    "site-rss-feed": "訂閱 $1 的 RSS 資料來源",
-    "site-atom-feed": "訂閱 $1 的 Atom 資料來源",
-    "page-rss-feed": "訂閱「$1」的 RSS 資料來源",
-    "page-atom-feed": "訂閱「$1」的 Atom 資料來源",
-    "red-link-title": "$1 (頁面不存在)",
-    "nstab-main": "頁面",
-    "nstab-user": "使用者頁面",
-    "nstab-special": "特殊頁面",
     "nstab-project": "計畫頁面",
     "nstab-mediawiki": "介面",
-    "nstab-help": "說明頁面",
-    "nosuchactiontext": "該URL所指定的動作無效。\n您可能打錯URL,或點了錯誤連結。\n這也可能是{{SITENAME}}所使用的軟件出現了錯誤。",
-    "readonlytext": "資料庫目前禁止輸入新內容及更改,\n這很可能是由於資料庫正在維修,之後即可復原。\n管理員有如下解釋:\n<p>$1</p>",
-    "cannotdelete": "無法刪除選定的頁面或圖片(它可能已經被其他人刪除了)。",
-    "actionthrottledtext": "系統因為反垃圾編輯的考量,禁止如此頻繁地修改資料,請數分鐘後再嘗試。",
-    "viewsourcetext": "你可以檢視並複製本頁面的原始碼。",
-    "editinginterface": "'''警告:''' 您正在編輯的頁面是正用在軟體上的介面文字。改變此頁將影響其他用戶的介面外觀。如要翻譯,請考慮使用 [//translatewiki.net/wiki/Main_Page?setlang=zh-hant translatewiki.net],一個用來為MediaWiki軟體本地化的計畫。",
-    "ns-specialprotected": "在{{ns:special}}名字空間中的頁面是不可以編輯的。",
-    "logouttext": "您現在已經登出。\n\n您可以以匿名方式繼續使用{{SITENAME}},或者以相同或不同用戶身份[[Special:UserLogin|登入]]。\n請注意,如果你再次登入,此頁或會繼續顯示,直到您清除瀏覽器快取。",
-    "welcomecreation": "== 歡迎,$1! ==\n您的帳號已經建立。\n請不要忘記設定[[Special:Preferences|{{SITENAME}}的個人參數]]。",
-    "yourname": "您的使用者名:",
-    "yourpassword": "密碼:",
-    "login": "登入",
-    "nav-login-createaccount": "登入/建立新帳號",
-    "userlogin": "登入/建立新帳號",
-    "logout": "登出",
-    "userlogout": "登出",
-    "nologin": "您還沒有帳號嗎?$1。",
-    "nologinlink": "建立新帳號",
-    "createaccount": "建立新帳號",
-    "gotaccount": "已經擁有帳號?$1。",
-    "badretype": "你所輸入的密碼並不相同。",
-    "userexists": "您所輸入的使用者名稱已經存在,請另選一個名稱。",
-    "nocookiesnew": "已成功建立新帳號!偵測到您已關閉 Cookies,請開啟它並登入。",
-    "nocookieslogin": "本站利用 Cookies 進行使用者登入,偵測到您已關閉 Cookies,請開啟它並重新登入。",
-    "noname": "你沒有輸入一個有效的使用者帳號。",
-    "loginsuccess": "你現在以 \"$1\"的身份登入{{SITENAME}}。",
-    "nosuchuser": "找不到使用者 \"$1\"。\n檢查您的拼寫,或者用下面的表格[[Special:UserLogin/signup|建立一個新帳號]]。",
-    "nosuchusershort": "沒有一個名為「$1」的使用者。請檢查您輸入的文字是否有錯誤。",
-    "nouserspecified": "你需要指定一個使用者帳號。",
-    "passwordtooshort": "您的密碼不正確或太短,不能少於$1個字元,而且必須跟使用者名不同。",
-    "passwordremindertitle": "{{SITENAME}}密碼提醒",
-    "passwordremindertext": "有人(來自IP位址$1,可能是您)已請求{{SITENAME}}的新密碼 ($4)。\n用戶\"$2\"現在已設定新臨時密碼\"$3\"。\n如果這個動作是您所指示的,您需要立即登入並選擇一個新的密碼。\n您的臨時密碼會在{{PLURAL:$5|一|$5}}天內過期。\n\n如果是其他人發出了該請求,或者您已經想起了您的密碼而且並不打算換掉,\n您可以忽略此消息並繼續使用您的舊密碼。",
-    "noemail": "使用者\"$1\"沒有登記電子郵件地址。",
-    "passwordsent": "使用者\"$1\"的新密碼已經寄往所登記的電子郵件地址。\n請在收到後再登入。",
-    "blocked-mailpassword": "由於這個使用者被封鎖,我們暫時禁止您請求申請新密碼。造成不便敬請見諒",
-    "eauthentsent": "一封確認信已經發送到所示的地址。在發送其它郵件到此帳號前,您必須首先依照這封信中的指導確認這個電子郵件信箱真實有效。",
-    "acct_creation_throttle_hit": "抱歉,使用您的IP位址拜訪此wiki網站的訪客已經在昨天創建了$1個帳號,達到了該時段的上限,所以目前使用這個IP位址的訪客不能再繼續創建帳號。",
-    "emailauthenticated": "您的電子郵件地址已經於$2 $3確認有效。",
-    "emailnotauthenticated": "您的電子郵件地址<strong>還沒被認證</strong>。以下功能將不會發送任何郵件。",
-    "noemailprefs": "指定一個電子郵件地址以使用此功能",
-    "emailconfirmlink": "確認您的電子郵件地址",
-    "invalidemailaddress": "電子郵件地址格式不正確,請輸入正確的電子郵件位址或清空該輸入框。",
-    "accountcreated": "已建立帳號",
-    "accountcreatedtext": "$1的帳號已經被建立。",
-    "createaccount-title": "在{{SITENAME}}中建立新帳號",
-    "createaccount-text": "有人在{{SITENAME}}中為 $2 建立了一個新帳號($4)。 \"$2\" 的密碼是 \"$3\" 。您應該立即登入並更改密碼。\n\n如果該帳號建立錯誤的話,您可以忽略此訊息。",
-    "resetpass": "更換密碼",
-    "resetpass_announce": "您是透過臨時發送到郵件中的代碼登入的。要完成登入,您必須在這裡設定一個新密碼:",
-    "resetpass_header": "更換帳號密碼",
-    "oldpassword": "舊密碼",
-    "newpassword": "新密碼",
-    "resetpass_success": "您的密碼已經被成功更改﹗現下正為您登入...",
-    "resetpass_forbidden": "無法更改密碼",
-    "image_tip": "嵌入圖片",
-    "media_tip": "媒體檔案連結",
-    "summary": "摘要",
-    "minoredit": "這是一個細微修改",
-    "savearticle": "儲存頁面",
-    "blockedtitle": "使用者被封鎖",
-    "confirmedittext": "在編輯此頁之前您必須確認您的電子郵件地址。請透過[[Special:Preferences|偏好設定]]設定並驗證您的電子郵件地址。",
-    "accmailtext": "'[[User talk:$1|$1]]'的隨機產生密碼已經寄到$2。\n\n這個新帳號的密碼可以在登入後的''[[Special:ChangePassword|更改密碼]]''頁面中更改。",
-    "newarticletext": "您進入了一個尚未建立的頁面。\n要建立該頁面,請在下面的編輯框中輸入內容(詳情參見[[{{MediaWiki:Helppage}}|說明]])。\n如果您是不小心來到此頁面,直接點擊您瀏覽器中的「返回」按鈕返回。",
-    "anontalkpagetext": "---- ''這是一個還未建立帳號的匿名使用者的對話頁。我們因此只能用IP地址來與他/她聯絡。該IP地址可能由幾名使用者共享。如果您是一名匿名使用者並認為本頁上的評語與您無關,請[[Special:UserLogin|建立新帳號或登入]]以避免在未來於其他匿名使用者混淆。''",
-    "noarticletext": "此頁目前沒有內容,您可以在其它頁[[Special:Search/{{PAGENAME}}|搜索此頁標題]],\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 搜索有關日誌],\n或[{{fullurl:{{FULLPAGENAME}}|action=edit}} 編輯此頁]</span>。",
-    "userpage-userdoesnotexist": "使用者帳號「<nowiki>$1</nowiki>」未曾建立。請在建立/編輯這個頁面前先檢查一下。",
-    "usercsspreview": "'''注意您只是在預覽您的個人 CSS, 還沒有儲存﹗'''",
-    "userjspreview": "'''注意您只是在測試/預覽您的個人 JavaScript,還沒有儲存﹗'''",
-    "previewnote": "'''請記住這只是預覽,內容尚未儲存!'''",
-    "session_fail_preview": "'''很抱歉!由於部份資料遺失,我們無法處理您的編輯。'''\n請再試一次。\n如果仍然失敗,請[[Special:UserLogout|登出]]後重新登入。",
-    "session_fail_preview_html": "'''很抱歉!部份資料已遺失,我們無法處理您的編輯。''''''如果這個編輯過程沒有問題,請再試一次。如果仍然有問題,請登出後再重新登入一次。'''",
-    "token_suffix_mismatch": "'''由於您使用者端中的編輯信符毀損了一些標點符號字元,為防止編輯的文字損壞,您的編輯已經被拒絕。\n這種情況通常出現於使用含有很多臭蟲、以網路為主的匿名代理服務的時候。'''",
-    "editingcomment": "正在編輯$1(新段落)",
-    "storedversion": "已保存版本",
-    "nonunicodebrowser": "'''警告: 您的瀏覽器不相容Unicode編碼。這裡有一個工作區將使您能安全地編輯頁面: 非ASCII字元將以十六進製編碼模式出現在編輯框中。'''",
-    "editingold": "'''警告:你正在編輯的是本頁的舊版本。\n如果你保存它的話,在本版本之後的任何修改都會遺失。'''",
-    "longpageerror": "'''錯誤: 您所提交的文字長度有$1KB,這大於$2KB的最大值。該文字不能被儲存。'''",
-    "protectedpagewarning": "'''警告: 本頁已經被保護,只有擁有管理員許可權的使用者才可修改。'''",
-    "semiprotectedpagewarning": "'''注意:''' 本頁面被鎖定,僅限註冊使用者編輯。",
-    "cascadeprotectedwarning": "警告: 本頁已經被保護,只有擁有管理員權限的使用者才可修改,因為本頁已被以下連鎖保護的{{PLURAL:$1|一個|多個}}頁面所包含:",
-    "nocreatetitle": "建立頁面受限",
-    "nocreatetext": "此網站限制了建立新頁面的功能。你可以返回並編輯已有的頁面,或者[[Special:UserLogin|登錄或建立新帳號]]。",
-    "nocreate-loggedin": "您在這個wiki中並無許可權去建立新頁面。",
-    "recreate-moveddeleted-warn": "'''警告: 你現在重新建立一個先前曾經刪除過的頁面。'''\n\n你應該要考慮一下繼續編輯這一個頁面是否合適。\n為方便起見,這一個頁面的刪除記錄已經在下面提供:",
-    "edit-hook-aborted": "編輯被鉤取消。\n它並無給出解釋。",
-    "post-expand-template-argument-category": "包含著略過模板參數的頁面",
-    "cantcreateaccounttitle": "無法建立帳號",
-    "cantcreateaccount-text": "從這個IP地址 (<b>$1</b>) 建立帳號已經被[[User:$3|$3]]禁止。\n\n當中被$3封鎖的原因是''$2''",
-    "histlegend": "差異選擇:標記要比較版本的單選按鈕並點擊底部的按鈕進行比較。<br />\n說明:(目前) 指與目前版本比較,(先前) 指與前一個修訂版本比較,小 = 細微修改。",
-    "history-feed-title": "修訂沿革",
-    "history-feed-description": "本站上此頁的修訂沿革",
-    "history-feed-empty": "所請求的頁面不存在。它可能已被刪除或重新命名。\n嘗試[[Special:Search|搜尋本站]]獲得相關的新建頁面。",
-    "rev-deleted-comment": "(註釋已除)",
-    "rev-deleted-user": "(使用者名已移除)",
-    "rev-deleted-event": "(日誌已除)",
-    "rev-deleted-text-permission": "該頁面修訂已經被從公共文件中移除。\n在[{{fullurl:{{#Special:Log}}/suppress|page={{PAGENAMEE}}}} 刪除日誌]中您可能會檢視到詳細的訊息。",
-    "rev-deleted-text-view": "該頁面修訂已經被從公共文件中移除。作為此網站的管理員,您可以檢視它;\n在[{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} 刪除日誌]中您可能會檢視到詳細的訊息。",
-    "revisiondelete": "刪除/復原刪除修訂",
-    "revdelete-nooldid-title": "沒有目標修訂",
-    "revdelete-nooldid-text": "您沒有指定此操作的目標修訂。",
-    "logdelete-selected": "'''選取的$1個日誌項目:'''",
-    "revdelete-text": "'''刪除的修訂仍將顯示在修訂記錄中, 但它們的文字內容已不能被公眾訪問。'''\n\n在此網站的其他管理員將仍能訪問隱藏的內容並透過與此相同的介面復原刪除,除非網站工作者進行了一些附加的限制。",
-    "revdelete-legend": "設定修訂限制:",
-    "revdelete-hide-user": "隱藏編輯者的使用者名/IP",
-    "revdelete-hide-restricted": "將此限制同樣應用於管理員",
-    "revdelete-suppress": "同時壓制由操作員以及其他使用者的資料",
-    "revdelete-unsuppress": "在已復原的修訂中移除限制",
-    "revdelete-success": "修訂的可見性已經成功設定。",
-    "logdelete-success": "事件的可見性已經成功設定。",
-    "mergehistory": "合併修訂記錄",
-    "mergehistory-header": "這一頁可以講您合併一個來源頁面的歷史到另一個新頁面中。\n請確認這次更改會繼續保留該頁面先前的歷史版本。\n\n'''最少該來源頁面的現時修訂必定會保持。'''",
-    "mergehistory-merge": "以下[[:$1]]的修訂可以合併到[[:$2]]。用該選項按鈕欄去合併只有在指定時間以前所建立的修訂。要留意的是使用導航連結便會重設這一欄。",
-    "mergelogpagetext": "以下是一個最近由一個頁面的修訂沿革合併到另一個頁面的列表。",
-    "history-title": "「$1」的修訂沿革",
-    "compareselectedversions": "比較選定的版本",
-    "searchresults": "搜尋結果",
-    "searchresulttext": "有關搜尋{{SITENAME}}的更多詳情,參見[[{{MediaWiki:Helppage}}|{{int:help}}]]。",
-    "searchsubtitle": "查詢'''[[:$1]]'''([[Special:Prefixindex/$1|所有以 \"$1\" 開頭的頁面]]{{int:pipe-separator}}[[Special:WhatLinksHere/$1|所有鏈接到 \"$1\" 的頁面]])",
-    "nonefound": "'''注意''': 只有一些名稱空間是會作為預設搜尋。嘗試''all:''去搜尋全部的頁面(包埋討論頁面、模板等),或可用需要的名稱空間作為前綴。",
-    "powersearch": "搜尋",
-    "searchdisabled": "{{SITENAME}}由於性能方面的原因,全文搜尋已被暫時停用。您可以暫時透過Google搜尋。請留意他們的索引可能會過時。",
-    "preferences": "偏好設定",
-    "mypreferences": "我的偏好設定",
-    "prefsnologintext": "您必須先[[Special:UserLogin|登入]]才能設定個人參數。",
-    "prefs-personal": "使用者資料",
-    "prefs-rc": "近期變動",
-    "prefs-watchlist-days": "監視列表中顯示記錄的最長天數:",
-    "resetprefs": "重設參數",
-    "searchresultshead": "搜尋結果設定",
-    "recentchangesdays": "近期變動中的顯示日數:",
-    "recentchangescount": "近期變動中的編輯數:",
-    "savedprefs": "您的個人偏好設定已經儲存。",
-    "timezonelegend": "時區",
-    "localtime": "當地時間",
-    "timezoneoffset": "時差¹",
-    "servertime": "伺服器時間",
-    "allowemail": "接受來自其他使用者的郵件",
-    "defaultns": "否則在這些名字空間搜尋:",
-    "username": "使用者名:",
-    "uid": "使用者ID:",
-    "yournick": "暱稱:",
-    "badsig": "錯誤的原始簽名;請檢查HTML標籤。",
-    "badsiglength": "你的簽名過長;簽名長度必須在$1個字元以下。",
-    "prefs-help-gender": "可選:用於軟體中的性別指定。此項資料將會被公開。",
-    "prefs-help-realname": "真實姓名是選填的,如果您選擇提供它,那它便用以對您的貢獻署名。",
-    "prefs-help-email": "電子郵件是選填的,但當啟用它後可以在您忘記您的個密碼時需要將新密碼重設寄回給您。而在您未公開自己的使用者身分時也能透過您的用戶頁或用戶討論頁與您聯繫。",
-    "userrights": "使用者權限管理",
-    "userrights-lookup-user": "管理使用者群組",
-    "userrights-user-editname": "輸入使用者帳號:",
-    "editusergroup": "編輯使用者群組",
-    "editinguser": "正在編輯使用者'''[[User:$1|$1]]''' ([[User talk:$1|{{int:talkpagelinktext}}]] | [[Special:Contributions/$1|{{int:contribslink}}]])",
-    "userrights-editusergroup": "編輯使用者群組",
-    "saveusergroups": "保存使用者群組",
-    "group-autoconfirmed": "自動確認使用者",
-    "group-autoconfirmed-member": "自動確認使用者",
-    "grouppage-autoconfirmed": "{{ns:project}}:自動確認使用者",
-    "rightslog": "使用者權限日誌",
-    "rightslogtext": "以下記錄了使用者權限的更改記錄。",
-    "recentchanges": "近期變動",
-    "recentchanges-feed-description": "追蹤此訂閱在 wiki 上的近期變動。",
-    "rcnotefrom": "下面是自<b>$2</b>(最多顯示<b>$1</b>):",
-    "rcshowhideminor": "$1細微修改",
-    "rcshowhidebots": "$1機器人的編輯",
-    "rcshowhideliu": "$1具名使用者的編輯",
-    "rcshowhideanons": "$1匿名使用者的編輯",
-    "rcshowhidepatr": " $1檢查過的編輯",
-    "number_of_watching_users_pageview": "[$1個關注使用者]",
-    "recentchangeslinked": "相關頁面修訂記錄",
-    "recentchangeslinked-feed": "相關頁面修訂記錄",
-    "recentchangeslinked-toolbox": "相關頁面修訂記錄",
-    "recentchangeslinked-title": "$1 內連結頁面的修訂記錄",
-    "recentchangeslinked-summary": "這一個特殊頁面列示這一頁連出頁面的近期變動。在您監視列表中的頁面會以'''粗體'''表示。",
-    "upload": "上傳檔案",
-    "reuploaddesc": "返回上載表單。",
-    "uploadtext": "使用下面的表單來上傳用在頁面內新的圖片檔案。\n要檢視或搜尋以前上傳的圖片\n可以進入[[Special:FileList|圖片清單]],\n上傳和刪除將在[[Special:Log/upload|上傳日誌]]中記錄。\n\n要在頁面中加入圖片,使用以下形式的連接:\n'''<nowiki>[[</nowiki>{{ns:file}}:file.jpg<nowiki>]]</nowiki>''',\n'''<nowiki>[[</nowiki>{{ns:file}}:file.png|替換文字<nowiki>]]</nowiki>''' 或\n'''<nowiki>[[</nowiki>{{ns:media}}:file.ogg<nowiki>]]</nowiki>'''。",
-    "uploadlogpagetext": "以下是最近上傳的檔案的一覽表。",
-    "ignorewarning": "忽略警告並儲存檔案。",
-    "illegalfilename": "檔案名\"$1\"包含有頁面標題所禁止的字符。請改名後重新上傳。",
-    "badfilename": "檔案名已被改為\"$1\"。",
-    "hookaborted": "您所嘗試的修改被擴展鉤捨棄。",
-    "fileexists-thumbnail-yes": "這個檔案好像是一幅圖片的縮圖版本''(縮圖)''。 [[$1|thumb]]\n請檢查清楚該檔案'''<tt>[[:$1]]</tt>'''。\n如果檢查後的檔案是同原本圖片的大小是一樣的話,就不用再上載多一幅縮圖。",
-    "file-thumbnail-no": "該檔名是以'''<tt>$1</tt>'''開始。它好像一幅圖片的縮圖版本''(縮圖)''。\n如果你有該圖片的完整大小,如不是請再修改檔名。",
-    "fileexists-forbidden": "已存在相同名稱的檔案;請返回並用一個新的名稱來上傳此檔案。[[File:$1|thumb|center|$1]]",
-    "fileexists-shared-forbidden": "在共享檔案庫中已存在此名稱的檔案;請返回並用一個新的名稱來上傳此檔案。[[File:$1|thumb|center|$1]]",
-    "uploaddisabledtext": "檔案上傳在此網站不可用。",
-    "watchthisupload": "監視此頁",
-    "upload-proto-error": "協訂錯誤",
-    "upload-file-error-text": "當試圖在伺服器上建立臨時檔案時發生內部錯誤。請與系統管理員聯繫。",
-    "upload-misc-error-text": "在上傳時發生未知的錯誤. 請驗証使用了正確並可訪問的 URL,然後進行重試。如果問題仍然存在,請與系統管理員聯繫。",
-    "listfiles_search_for": "按圖片名稱搜尋:",
-    "listfiles_user": "使用者",
-    "filehist": "檔案歷史",
-    "filehist-deleteone": "刪除這個",
-    "filehist-revert": "復原",
-    "filehist-datetime": "日期/時間",
-    "filehist-user": "使用者",
-    "imagelinks": "連結",
-    "filerevert": "復原$1",
-    "filerevert-legend": "復原檔案",
-    "filerevert-intro": "<span class=\"plainlinks\">您現正在復原'''[[Media:$1|$1]]'''到[$4 於$2 $3的版本]。</span>",
-    "filerevert-defaultcomment": "已經復原到於$1 $2的版本",
-    "filerevert-submit": "復原",
-    "filerevert-success": "<span class=\"plainlinks\">'''[[Media:$1|$1]]'''已經復原到[$4 於$2 $3的版本]。</span>",
-    "filedelete-intro": "您現正刪除'''[[Media:$1|$1]]'''。",
-    "filedelete-intro-old": "<span class=\"plainlinks\">你現正刪除'''[[Media:$1|$1]]'''於[$4 $2 $3]的版本。</span>",
-    "filedelete-comment": "註解:",
-    "filedelete-nofile": "'''$1'''在這個網站中不存在。",
-    "filedelete-nofile-old": "在已指定屬性的情況下,這裡沒有'''$1'''於 $2 $3 的版本。",
-    "mimesearch": "MIME 搜尋",
-    "unusedtemplatestext": "本頁面列出模板名字空間下所有未被其他頁面使用的頁面。請在刪除這些模板前檢查其他鏈入該模板的頁面。",
-    "randompage-nopages": "在這個名字空間中沒有頁面。",
-    "randomredirect-nopages": "在這個名字空間中沒有重定向頁面。",
-    "statistics-header-users": "使用者統計",
-    "disambiguations": "消歧義",
-    "disambiguations-text": "以下的頁面都有到<b>消歧義頁</b>的鏈接,\n但它們應該是連到適當的標題。<br />\n個頁面會被視為消含糊頁如果它是連自[[MediaWiki:Disambiguationspage]]。",
-    "withoutinterwiki-summary": "以下的頁面是未有語言鏈接到其它語言版本:",
-    "lonelypagestext": "以下頁面尚未被這個wiki中的其它頁面連結。",
-    "uncategorizedimages": "待分類圖片",
-    "unusedimages": "未使用圖片",
-    "mostimages": "最多連結圖片",
-    "prefixindex": "所有頁面之前綴",
-    "deadendpagestext": "以下頁面沒有連結到這個wiki中的其它頁面。",
-    "listusers": "使用者列表",
-    "newpages-username": "使用者帳號:",
-    "move": "移動",
-    "unusedimagestext": "請注意其它網站可能直接透過 URL 連結此圖片,所以這裡列出的圖片有可能依然被使用。",
-    "notargettext": "您還沒有指定一個目標頁面或使用者以進行此項操作。",
-    "specialloguserlabel": "使用者:",
-    "alllogstext": "綜合顯示 {{SITENAME}} 的上傳、刪除、保護、查封以及站務日誌。",
-    "listusersfrom": "給定顯示使用者條件:",
-    "listusers-noresult": "找不到使用者。",
-    "activeusers-hidebots": "隱藏機器人",
-    "mailnologin": "無E-mail地址",
-    "mailnologintext": "您必須先[[Special:UserLogin|登入]]\n並在[[Special:Preferences|偏好設定]]\n中有一個有效的e-mail地址才可以E-mail其他使用者。",
-    "emailuser": "E-mail該使用者",
-    "emailpage": "E-mail使用者",
-    "emailpagetext": "如果該使用者已經在他或她的偏好設定頁中輸入了有效的e-mail地址,以下的表格將寄一個訊息給該使用者。您在您偏好設定中所輸入的e-mail地址將出現在郵件「發件人」一欄中,這樣該使用者就可以回覆您。",
-    "noemailtext": "該使用者還沒有指定一個有效的e-mail地址,\n或者選擇不接受來自其他使用者的e-mail。",
-    "emailfrom": "發件人",
-    "emailto": "收件人",
-    "emailsubject": "主題",
-    "emailmessage": "訊息",
-    "emailccme": "將我的消息的副本發送一份到我的E-mail信箱。",
-    "addedwatchtext": "頁面「[[:$1]]」已經被加入到您的[[Special:Watchlist|監視清單]]中。將來有關此頁面及其討論頁的任何修改將會在那裡列出,而且還會在[[Special:RecentChanges|近期變動]]中以'''粗體'''形式列出以使起更容易識別。",
-    "removedwatchtext": "頁面「[[:$1]]」已經從您的監視頁面中移除。",
-    "watchlist-details": "不包含討論頁,您的監視列表共有 $1 頁。",
-    "enotif_impersonal_salutation": "{{SITENAME}}使用者",
-    "enotif_anon_editor": "匿名使用者$1",
-    "enotif_body": "親愛的 $WATCHINGUSERNAME,\n\n$PAGEEDITOR 已經在 $PAGEEDITDATE $CHANGEDORCREATED{{SITENAME}}的 $PAGETITLE 頁面,請到 $PAGETITLE_URL 檢視目前版本。\n\n$NEWPAGE\n\n編輯摘要: $PAGESUMMARY $PAGEMINOREDIT\n\n聯繫此編輯者:\n\n郵件: $PAGEEDITOR_EMAIL\n\n本站: $PAGEEDITOR_WIKI\n\n在您訪問此頁之前,將來的更改將不會向您發通知。您也可以重設您所有監視頁面的通知標記。\n\n                {{SITENAME}}通知系統\n\n--\n要改變您的監視列表設定,請參閱\n{{canonicalurl:{{#special:EditWatchlist}}}}\n\n回饋和進一步的說明:\n{{canonicalurl:{{MediaWiki:Helppage}}}}",
-    "confirmdeletetext": "您即將從資料庫中永遠刪除一個頁面或圖片以及其歷史。\n請確定您要進行此項操作,並且了解其後果,同時您的行為符合[[{{MediaWiki:Policy-url}}]]。",
-    "deletedtext": "「$1」已經被刪除。\n最近刪除的紀錄請參見$2。",
-    "dellogpagetext": "以下是最近刪除的紀錄列表。\n所有的時間都是使用伺服器時間。",
-    "reverted": "復原到早期版本",
-    "deletecomment": "原因:",
-    "rollback": "復原",
-    "rollback_short": "復原",
-    "rollbacklink": "復原",
-    "rollbackfailed": "無法復原",
-    "cantrollback": "無法復原編輯;最後的貢獻者是本文的唯一作者。",
-    "alreadyrolled": "無法復原由[[User:$2|$2]] ([[User talk:$2|討論]])進行的[[$1]]的最後編輯;\n其他人已經編輯或是復原了該頁。\n\n最後編輯者: [[User:$3|$3]] ([[User talk:$3|討論]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]])。",
-    "editcomment": "編輯說明: \"''$1''\"。",
-    "revertpage": "復原由[[Special:Contributions/$2|$2]] ([[User talk:$2|對話]])的編輯;更改回[[User:$1|$1]]的最後一個版本",
-    "rollback-success": "復原由$1的編輯;更改回$2的最後一個版本。",
-    "protect-title": "更改「$1」的保護等級",
-    "protect-locked-blocked": "您不能在被封鎖時更改保護級別。\n以下是'''$1'''現時的保護級別:",
-    "protect-locked-access": "您的帳號權限不能修改保護級別。\n以下是'''$1'''現時的保護級別:",
-    "protect-cascadeon": "以下的{{PLURAL:$1|一個|多個}}頁面包含著本頁面的同時,啟動了連鎖保護,因此本頁面目前也被保護,未能編輯。您可以設定本頁面的保護級別,但這並不會對連鎖保護有所影響。",
-    "protect-default": "(預設)",
-    "protect-level-autoconfirmed": "禁止未註冊使用者",
-    "protect-expiry-options": "2小時:2 hours,1天:1 day,1周:1 week,2周:2 weeks,1個月:1 month,3個月:3 months,6個月:6 months,1年:1 year,永久:infinite",
-    "maximum-size": "最大大小",
-    "undelete": "復原被刪頁面",
-    "undeletepage": "瀏覽及復原被刪頁面",
-    "undeletepagetext": "以下頁面已經被刪除,但依然在檔案中並可以被復原。\n檔案庫可能被定時清理。",
-    "undeleteextrahelp": "復原整個頁面時,請清除所有複選框後按 '''''復原''''' 。 復原特定版本時,請選擇相應版本前的複選框後按'''''復原''''' 。按 '''''重設''''' 將清除評論內容及所有複選框。",
-    "undeletehistory": "如果您復原了該頁面,所有版本都會被復原到修訂沿革中。\n如果本頁刪除後有一個同名的新頁面建立,被復原的版本將會稱為較新的歷史。",
-    "undeleterevdel": "如果把最新修訂部份刪除,反刪除便無法進行。如果遇到這種情況,您必須反選或反隱藏最新已刪除的修訂。對於您沒有權限去檢視的修訂是無法復原的。",
-    "undeletehistorynoadmin": "這個頁面已經被刪除,刪除原因顯示在下方編輯摘要中。被刪除前的所有修訂版本,連同刪除前貢獻使用者等等細節只有管理員可以看見。",
-    "undelete-revision": "刪除$1時由$3(在$2)所編寫的修訂版本:",
-    "undeleterevision-missing": "此版本的內容不正確或已經遺失。可能連結錯誤、被移除或已經被復原。",
-    "undeletebtn": "復原",
-    "undeletedrevisions": "$1個修訂版本已經復原",
-    "undeletedrevisions-files": "$1 個版本和 $2 個檔案被復原",
-    "undeletedfiles": "$1 個檔案被復原",
-    "cannotundelete": "復原失敗;可能之前已經被其他人復原。",
-    "undeletedpage": "'''$1已經被復原''' 請參考[[Special:Log/delete|刪除日誌]]來查詢刪除及復原記錄。",
-    "undelete-missing-filearchive": "由於檔案存檔 ID $1 不在資料庫中,不能在檔案存檔中復原。它可能已經反刪除了。",
-    "contributions": "使用者編修記錄",
-    "mycontris": "我的編修記錄",
-    "contribsub2": "$1的編修記錄 ($2)",
-    "uctop": "(最新修改)",
-    "sp-contributions-newbies": "只顯示新建立之使用者的編修記錄",
-    "sp-contributions-blocklog": "封鎖記錄",
-    "sp-contributions-userrights": "使用者權限管理",
-    "sp-contributions-username": "IP位址或使用者名稱:",
-    "blockip": "封鎖使用者",
-    "ipadressorusername": "IP地址或使用者名:",
-    "ipbreason-dropdown": "*一般的封鎖理由\n** 屢次增加不實資料\n** 刪除頁面內容\n** 外部連結廣告\n** 在頁面中增加無意義文字\n** 無禮的行為、攻擊/騷擾別人\n** 濫用多個帳號\n** 不能接受的使用者名",
-    "ipbcreateaccount": "阻止建立新帳號",
-    "ipbemailban": "阻止使用者傳送E-mail",
-    "ipbenableautoblock": "自動封鎖此使用者最後所用的IP位址,以及後來試圖編輯所用的所有位址",
-    "ipbsubmit": "封鎖該地址",
-    "ipbhidename": "在封鎖日誌、活躍封鎖列表以及使用者列表中隱藏使用者名/IP",
-    "blockipsuccesssub": "封鎖成功",
-    "blockipsuccesstext": "[[Special:Contributions/$1|$1]]已經被封鎖。\n<br />參看[[Special:BlockList|被封IP地址列表]]以覆審封鎖。",
-    "ipb-edit-dropdown": "編輯封鎖原因",
-    "ipb-unblock-addr": "解除封鎖$1",
-    "ipb-unblock": "解除禁封使用者名或IP地址",
-    "ipb-blocklist": "檢視現有的封鎖",
-    "unblockip": "解除禁封IP地址",
-    "unblockiptext": "用下面的表單來復原先前被禁封的IP地址的書寫權。",
-    "ipusubmit": "解除禁封",
-    "unblocked": "[[User:$1|$1]] 的封鎖已經解除。",
-    "unblocked-id": "封鎖 $1 已經被移除",
-    "ipblocklist-legend": "搜尋一位已經被封鎖的使用者",
-    "anononlyblock": "僅限匿名使用者",
-    "noautoblockblock": "禁用自動封鎖",
-    "createaccountblock": "禁止建立帳號",
-    "ipblocklist-empty": "封鎖列表為空。",
-    "ipblocklist-no-results": "所要求的IP地址/使用者名沒有被封鎖。",
-    "blocklink": "禁封",
-    "blocklogentry": "[[$1]]已被封鎖 $3 ,終止時間為$2",
-    "blocklogtext": "這是關於使用者封鎖和解除封鎖操作的記錄。被自動封鎖的IP地址沒有被列出。請參閱[[Special:BlockList|被封鎖的IP地址和使用者列表]]。",
-    "block-log-flags-anononly": "僅限匿名使用者",
-    "block-log-flags-nocreate": "禁止此IP/使用者建立新帳號",
-    "block-log-flags-noautoblock": "停用自動封鎖",
-    "range_block_disabled": "只有管理員才能建立禁止封鎖的範圍。",
-    "ipb_cant_unblock": "錯誤: 找不到封鎖ID$1。可能已經解除封鎖。",
-    "ipb_blocked_as_range": "錯誤: 該IP $1 無直接封鎖,不可以解除封鎖。但是它是在 $2 的封鎖範圍之內,該段範圍是可以解除封鎖的。",
-    "blockme": "封鎖我",
-    "sorbsreason": "您的IP位址被 DNSBL列為屬於開放代理服務器.",
-    "sorbs_create_account_reason": "由於您的IP位址被 DNSBL列為屬於開放代理服務器,所以您無法建立帳號。",
-    "lockdbtext": "鎖住資料庫將禁止所有使用者進行編輯頁面、更改參數、編輯監視列表以及其他需要更改資料庫的操作。\n請確認您的決定,並且保證您在維護工作結束後會重新開放資料庫。",
-    "unlockdbtext": "開放資料庫將會復原所有使用者進行編輯頁面、修改參數、編輯監視列表以及其他需要更改資料庫的操作。\n請確認您的決定。",
-    "movepagetext": "用下面的表單來重新命名一個頁面,並將其修訂沿革同時移動到新頁面。\n老的頁面將成為新頁面的重定向頁。\n連結到老頁面的連結並不會自動更改;\n請檢查雙重或損壞重定向連結。\n您應當負責確定所有連結依然會連到指定的頁面。\n\n注意如果新頁面已經有內容的話,頁面將'''不會'''被移動,\n除非新頁面無內容或是重定向頁,而且沒有修訂沿革。\n這意味著您再必要時可以在移動到新頁面後再移回老的頁面,\n同時您也無法覆蓋現有頁面。\n\n<b>警告!</b>\n對一個經常被訪問的頁面而言這可能是一個重大與唐突的更改;\n請在行動前先了結其所可能帶來的後果。",
-    "movenologintext": "您必須是一名登記使用者並且[[Special:UserLogin|登入]]\n後才可移動一個頁面。",
-    "movenotallowed": "您在這個wiki中度並沒有許可權去移動頁面。",
-    "movetalk": "如果可能的話,請同時移動對話頁。",
-    "movelogpagetext": "以下是已經移動的頁面清單:",
-    "revertmove": "復原該移動",
-    "exporttext": "您可以將特定頁面或一組頁面的文字以及編輯歷史以 XML 格式匯出;這樣可以將有關頁面透過「[[Special:Import|匯入頁面]]」頁面匯入到另一個執行 MediaWiki 的網站。\n\n要匯出頁面,請在下面的文字框中輸入頁面標題,每行一個標題,\n並選擇你是否需要匯出帶有修訂紀錄的以前的版本,\n或是只選擇匯出帶有最後一次編輯訊息的目前版本。\n\n此外你還可以利用連結匯出檔案,例如你可以使用 [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]] 匯出「[[{{MediaWiki:Mainpage}}]]」頁面。",
-    "export-download": "提供一個檔案以供另存",
-    "allmessages": "系統介面",
-    "allmessagestext": "這裡列出所有可定製的系統介面。",
-    "allmessagesnotsupportedDB": "系統介面功能處於關閉狀態 (wgUseDatabaseMessages)。",
-    "thumbnail_error": "建立縮圖錯誤: $1",
-    "import-interwiki-history": "複製此頁的所有歷史版本",
-    "import-interwiki-namespace": "將頁面轉移到名字空間:",
-    "importtext": "請使用 Special:Export 功能從源 wiki 匯出檔案,儲存到您的磁片並上傳到這裡。",
-    "importfailed": "匯入失敗: $1",
-    "importsuccess": "匯入成功﹗",
-    "importhistoryconflict": "存在衝突的修訂沿革(可能在之前已經匯入過此頁面)",
-    "tooltip-pt-userpage": "用戶頁",
-    "tooltip-pt-anonuserpage": "您編輯本站所用IP的對應使用者頁",
-    "tooltip-pt-mytalk": "討論頁",
-    "tooltip-pt-preferences": "我的偏好設定",
-    "tooltip-pt-watchlist": "我的監視列表",
-    "tooltip-pt-mycontris": "編修記錄",
-    "tooltip-ca-addsection": "於本討論頁增加新的討論主題",
-    "tooltip-ca-history": "本頁面的早前版本。",
-    "tooltip-ca-undelete": "將這個頁面復原到被刪除以前的狀態",
-    "tooltip-p-logo": "首頁",
-    "tooltip-n-help": "尋求說明",
-    "tooltip-feed-rss": "訂閱本修訂記錄的RSS資訊",
-    "tooltip-feed-atom": "訂閱本修訂記錄的Atom訊息",
-    "tooltip-t-contributions": "檢視該使用者的編修記錄",
-    "tooltip-t-emailuser": "向該使用者發送電子郵件",
-    "tooltip-t-upload": "上傳圖片或多媒體檔",
-    "tooltip-t-permalink": "這個頁面版本的永久連結",
-    "tooltip-ca-nstab-user": "檢視使用者頁",
-    "tooltip-ca-nstab-image": "查詢圖片頁面",
-    "tooltip-ca-nstab-template": "檢視模板",
-    "tooltip-ca-nstab-help": "檢視說明頁面",
-    "tooltip-ca-nstab-category": "檢視分類頁面",
-    "tooltip-minoredit": "標記為細微修改",
-    "tooltip-compareselectedversions": "檢視本頁被點選的兩個版本間的差異",
-    "tooltip-rollback": "『{{int:rollbacklink}}』可以一按恢復上一位貢獻者對這個頁面的編輯",
-    "tooltip-undo": "『{{int:editundo}}』可以在編輯模式上開啟編輯表格以便復原。它容許在摘要中加入原因。",
-    "anonymous": "{{SITENAME}}的匿名{{PLURAL:$1|使用者|使用者}}",
-    "siteuser": "{{SITENAME}}使用者$1",
-    "anonuser": "{{SITENAME}}匿名使用者$1",
-    "siteusers": "{{SITENAME}}{{PLURAL:$2|使用者|使用者}}$1",
-    "anonusers": "{{SITENAME}}匿名{{PLURAL:$2|使用者|使用者}}$1",
-    "spamprotectiontext": "垃圾過濾器禁止保存您剛才提交的頁面,這可能是由於您所加入的外部網站連結所產生的問題。",
-    "spam_reverting": "復原到不包含連結至$1的最近版本",
-    "markedaspatrolledtext": "選定的版本已被標記為已檢查.",
-    "patrol-log-page": "巡查記錄",
-    "previousdiff": "←上一個",
-    "nextdiff": "下一個→",
-    "imagemaxsize": "在圖片描述頁對圖片大小限制為:",
-    "file-nohires": "無更高解析度可提供。",
-    "show-big-image": "完整解析度",
-    "newimages": "新建圖片畫廊",
-    "imagelisttext": "以下是按$2排列的$1個檔案列表。",
-    "showhidebots": "(機器人$1)",
-    "noimages": "無可檢視圖片。",
-    "bad_image_list": "請根據以下的格式去編寫:\n\n只有列示項目(以 * 開頭的項目)會被考慮。第一個連結一定要連接去壞圖片中。\n然後在同一行的連結會考慮作例外,即是幅圖片可以在哪一個頁面中同時顯示。",
-    "variantname-zh-tw": "台灣繁體",
-    "metadata-help": "此檔案中包含有擴展的訊息。這些訊息可能是由數位相機或掃描器在建立或數位化過程中所增加的。\n\n如果此檔案的源檔案已經被修改,一些訊息在修改後的檔案中將不能完全反映出來。",
-    "exif-bitspersample": "每像素位元數",
-    "exif-photometricinterpretation": "像素合成",
-    "exif-samplesperpixel": "像素數",
-    "exif-xresolution": "水準解析度",
-    "exif-yresolution": "垂直解析度",
-    "exif-stripoffsets": "圖片數據區",
-    "exif-imagedescription": "圖片標題",
-    "exif-compressedbitsperpixel": "圖片壓縮模式",
-    "exif-pixelydimension": "有效圖片寬度",
-    "exif-pixelxdimension": "有效圖片高度",
-    "exif-usercomment": "使用者註釋",
-    "exif-focalplanexresolution": "X軸焦平面解析度",
-    "exif-focalplaneyresolution": "Y軸焦平面解析度",
-    "exif-focalplaneresolutionunit": "焦平面解析度單位",
-    "exif-customrendered": "自定義圖片處理",
-    "exif-imageuniqueid": "唯一圖片ID",
-    "exif-gpsimgdirectionref": "圖片方位參照",
-    "exif-gpsimgdirection": "圖片方位",
-    "exif-lightsource-2": "螢光燈",
-    "exif-lightsource-12": "日光螢光燈(色溫 D 5700    7100K)",
-    "exif-lightsource-13": "日溫白色螢光燈(N 4600    5400K)",
-    "exif-lightsource-14": "冷白色螢光燈(W 3900    4500K)",
-    "exif-lightsource-15": "白色螢光 (WW 3200    3700K)",
-    "edit-externally-help": "請參見[//www.mediawiki.org/wiki/Manual:External_editors 設定步驟]了解詳細資訊。",
-    "confirmemail": "確認電子郵件地址",
-    "confirmemail_noemail": "您沒有在您的[[Special:Preferences|使用者設定]]裡面輸入一個有效的 email 位址。",
-    "confirmemail_text": "此網站要求您在使用郵件功能之前驗證您的電子郵件地址。\n點擊以下按鈕可向您的郵箱發送一封確認郵件。該郵件包含有一行代碼連結;\n請在您的瀏覽器中加載此連結以確認您的電子郵件地址是有效的。",
-    "confirmemail_sendfailed": "不能發送確認郵件,請檢查電子郵件地址是否包含非法字元。\n\n郵件傳送員回應: $1",
-    "confirmemail_needlogin": "您需要$1以確認您的電子郵件地址。",
-    "confirmemail_success": "您的郵箱已經被確認。您現下可以登錄並使用此網站了。",
-    "confirmemail_loggedin": "您的電子郵件地址現下已被確認。",
-    "confirmemail_subject": "{{SITENAME}}電子郵件地址確認",
-    "scarytranscludefailed": "[抱歉,模板$1讀取失敗]",
-    "scarytranscludetoolong": "[抱歉,URL 地址太長]",
-    "confirmrecreate": "在您編輯這個頁面後,使用者[[User:$1|$1]]([[User talk:$1|對話]])以下列原因刪除了這個頁面: $2。請在重新建立頁面前三思。",
-    "autosumm-blank": "移除所有頁面內容",
-    "autosumm-replace": "正在將頁面替換為 '$1'",
-    "autoredircomment": "正在重定向到 [[$1]]",
-    "autosumm-new": "新頁面: $1",
-    "livepreview-failed": "即時預覽失敗! 嘗試標準預覽。",
-    "version-parserhooks": "語法鉤",
-    "version-hooks": "鉤",
-    "version-parser-function-hooks": "語法函數鉤",
-    "version-hook-name": "鉤名",
-    "specialpages": "特殊頁面"
+    "welcomecreation": "== 歡迎,$1! ==\n您的帳號已經建立。\n請勿忘記設定 [[Special:Preferences|{{SITENAME}} 的個人偏好]]。"
 }
index d48a5e0..3ae7b78 100644 (file)
@@ -8,7 +8,7 @@
   "devDependencies": {
     "grunt": "0.4.5",
     "grunt-cli": "0.1.13",
-    "grunt-banana-checker": "0.3.0",
+    "grunt-banana-checker": "0.4.0",
     "grunt-contrib-copy": "0.8.1",
     "grunt-contrib-jshint": "0.11.3",
     "grunt-contrib-watch": "0.6.1",
index 16d92be..ccc7b42 100644 (file)
--- a/phpcs.xml
+++ b/phpcs.xml
@@ -2,7 +2,6 @@
 <ruleset name="MediaWiki">
        <rule ref="vendor/mediawiki/mediawiki-codesniffer/MediaWiki">
                <!-- Disable failing rules -->
-               <exclude name="Squiz.Classes.ValidClassName.NotCamelCaps"/>
                <exclude name="MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.EmptyComment"/>
        </rule>
        <rule ref="MediaWiki.NamingConventions.PrefixedGlobalFunctions">
index c635f0e..0ec4b6b 100644 (file)
@@ -1135,54 +1135,6 @@ return array(
                        'dom-level2-shim',
                        'mediawiki.api.upload',
                ),
-               'messages' => array(
-                       'api-error-badaccess-groups',
-                       'api-error-badtoken',
-                       'api-error-copyuploaddisabled',
-                       'api-error-duplicate',
-                       'api-error-duplicate-archive',
-                       'api-error-empty-file',
-                       'api-error-emptypage',
-                       'api-error-fetchfileerror',
-                       'api-error-fileexists-forbidden',
-                       'api-error-fileexists-shared-forbidden',
-                       'api-error-file-too-large',
-                       'api-error-filename-tooshort',
-                       'api-error-filetype-banned',
-                       'api-error-filetype-banned-type',
-                       'api-error-filetype-missing',
-                       'api-error-hookaborted',
-                       'api-error-http',
-                       'api-error-illegal-filename',
-                       'api-error-internal-error',
-                       'api-error-invalid-file-key',
-                       'api-error-missingparam',
-                       'api-error-missingresult',
-                       'api-error-mustbeloggedin',
-                       'api-error-mustbeposted',
-                       'api-error-noimageinfo',
-                       'api-error-nomodule',
-                       'api-error-ok-but-empty',
-                       'api-error-overwrite',
-                       'api-error-stashfailed',
-                       'api-error-publishfailed',
-                       'api-error-stasherror',
-                       'api-error-stashedfilenotfound',
-                       'api-error-stashpathinvalid',
-                       'api-error-stashfilestorage',
-                       'api-error-stashzerolength',
-                       'api-error-stashnotloggedin',
-                       'api-error-stashwrongowner',
-                       'api-error-stashnosuchfilekey',
-                       'api-error-timeout',
-                       'api-error-unclassified',
-                       'api-error-unknown-code',
-                       'api-error-unknown-error',
-                       'api-error-unknown-warning',
-                       'api-error-unknownerror',
-                       'api-error-uploaddisabled',
-                       'api-error-verification-error',
-               ),
        ),
        'mediawiki.ForeignUpload' => array(
                'scripts' => 'resources/src/mediawiki/mediawiki.ForeignUpload.js',
@@ -1231,12 +1183,59 @@ return array(
                        'upload-form-label-infoform-description',
                        'upload-form-label-usage-title',
                        'upload-form-label-usage-filename',
+                       'api-error-unknownerror',
+                       'api-error-unknown-warning',
+                       'api-error-badaccess-groups',
+                       'api-error-badtoken',
+                       'api-error-copyuploaddisabled',
+                       'api-error-duplicate',
+                       'api-error-duplicate-archive',
+                       'api-error-empty-file',
+                       'api-error-emptypage',
+                       'api-error-fetchfileerror',
+                       'api-error-fileexists-forbidden',
+                       'api-error-fileexists-shared-forbidden',
+                       'api-error-file-too-large',
+                       'api-error-filename-tooshort',
+                       'api-error-filetype-banned',
+                       'api-error-filetype-banned-type',
+                       'api-error-filetype-missing',
+                       'api-error-hookaborted',
+                       'api-error-http',
+                       'api-error-illegal-filename',
+                       'api-error-internal-error',
+                       'api-error-invalid-file-key',
+                       'api-error-missingparam',
+                       'api-error-missingresult',
+                       'api-error-mustbeloggedin',
+                       'api-error-mustbeposted',
+                       'api-error-noimageinfo',
+                       'api-error-nomodule',
+                       'api-error-ok-but-empty',
+                       'api-error-overwrite',
+                       'api-error-stashfailed',
+                       'api-error-publishfailed',
+                       'api-error-stasherror',
+                       'api-error-stashedfilenotfound',
+                       'api-error-stashpathinvalid',
+                       'api-error-stashfilestorage',
+                       'api-error-stashzerolength',
+                       'api-error-stashnotloggedin',
+                       'api-error-stashwrongowner',
+                       'api-error-stashnosuchfilekey',
+                       'api-error-timeout',
+                       'api-error-unclassified',
+                       'api-error-unknown-code',
+                       'api-error-unknown-error',
+                       'api-error-uploaddisabled',
+                       'api-error-verification-error',
                        'fileexists',
                        'filepageexists',
                        'filename-bad-prefix',
                        'filename-thumb-name',
                        'badfilename',
                        'api-error-duplicate-archive',
+                       'api-error-blacklisted', // HACK
                ),
        ),
        'mediawiki.ForeignStructuredUpload.BookletLayout' => array(
index 4b65ad4..08edbc6 100644 (file)
@@ -1,3 +1,11 @@
+/*
+ * Local backports:
+ *
+ * - aadaa8a187d36ded603eebbdff47efe133908f6c
+ *   CapsuleMultiSelectWidget: Set 'background-color' rather than 'background'
+ *   Required for mw.widgets.CategorySelector's pending state to display.
+ */
+
 /*!
  * OOjs UI v0.12.11
  * https://www.mediawiki.org/wiki/OOjs_UI
        width: 100%;
 }
 .oo-ui-capsuleMultiSelectWidget-handle {
-       background: #ffffff;
+       background-color: #ffffff;
        cursor: text;
        min-height: 2.4em;
        margin-right: 0.5em;
index e433e91..951acc7 100644 (file)
@@ -1,3 +1,11 @@
+/*
+ * Local backports:
+ *
+ * - 9aba218a882ff45b07410a3ce9d5cdfd8e567e26
+ *   CapsuleMultiSelectWidget: When 'allowArbitrary' is true, don't require 'Enter' to confirm
+ *   Required for more intuitive behavior of mw.widgets.CategorySelector.
+ */
+
 /*!
  * OOjs UI v0.12.11
  * https://www.mediawiki.org/wiki/OOjs_UI
@@ -13455,6 +13463,9 @@ OO.ui.CapsuleMultiSelectWidget.prototype.onInputFocus = function () {
  * @param {jQuery.Event} event
  */
 OO.ui.CapsuleMultiSelectWidget.prototype.onInputBlur = function () {
+       if ( this.allowArbitrary && this.$input.val().trim() !== '' ) {
+               this.addItemsFromData( [ this.$input.val() ] );
+       }
        this.clearInput();
 };
 
index 41c555b..af5a97d 100644 (file)
@@ -67,7 +67,7 @@
 
                        opts = $.extend( {}, defaults, opts );
 
-                       var $spinner = $( '<div>', { 'class': 'mw-spinner', title: '...' } );
+                       var $spinner = $( '<div>' ).addClass( 'mw-spinner' ).attr( 'title', '...' );
                        if ( opts.id !== undefined ) {
                                $spinner.attr( 'id', 'mw-spinner-' + opts.id );
                        }
index 4a78588..f8216c9 100644 (file)
                                new RegExp( /(https?|ftp|file):\/\// )
                        ],
                        isoDate: [
-                               new RegExp( /^([-+]?\d{1,4})-([01]\d)-([0-3]\d)([T\s]((([01]\d|2[0-3])(:?[0-5]\d)?|24:?00)?(:?([0-5]\d))?([.,]\d+)?)([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?/ ),
+                               new RegExp( /^([-+]?\d{1,4})-([01]\d)-([0-3]\d)([T\s]((([01]\d|2[0-3])(:?[0-5]\d)?|24:?00)?(:?([0-5]\d|60))?([.,]\d+)?)([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?/ ),
                                new RegExp( /^([-+]?\d{1,4})-([01]\d)-([0-3]\d)/ )
                        ],
                        usLongDate: [
                                        return $.tablesorter.formatFloat( 0 );
                                }
                        } else {
-                               isodate = new Date( $.trim( s ) );
+                               matches = s.match( ts.rgx.isoDate[ 0 ] );
+                               if ( matches ) {
+                                       isodate = new Date( $.trim( matches[ 0 ] ) );
+                               } else {
+                                       return $.tablesorter.formatFloat( 0 );
+                               }
                        }
                        return $.tablesorter.formatFloat( ( isodate !== undefined ) ? isodate.getTime() : 0 );
                },
index 25b5acc..b1a63b0 100644 (file)
                $row = $( '<tr class="mw-metadata-show-hide-extended"></tr>' );
                $col = $( '<td colspan="2"></td>' );
 
-               $link = $( '<a>', {
-                       text: showText,
-                       href: '#'
-               } ).click( function () {
+               $link = $( '<a>' )
+               .text( showText )
+               .attr( 'href', '#' )
+               .click( function () {
                        if ( $table.hasClass( 'collapsed' ) ) {
                                $( this ).text( hideText );
                        } else {
index e40caaa..89fcc0b 100644 (file)
         *
         *     selector.setSearchType( [ mw.widgets.CategorySelector.SearchType.SubCategories ] );
         *
-        *
         * @class mw.widgets.CategorySelector
         * @uses mw.Api
         * @extends OO.ui.CapsuleMultiSelectWidget
+        * @mixins OO.ui.mixin.PendingElement
         *
         * @constructor
         * @param {Object} [config] Configuration options
                        allowArbitrary: true
                } ) );
 
+               // Mixin constructors
+               OO.ui.mixin.PendingElement.call( this, $.extend( {}, config, { $pending: this.$handle } ) );
+
                // Event handler to call the autocomplete methods
                this.$input.on( 'change input cut paste', OO.ui.debounce( this.updateMenuItems.bind( this ), 100 ) );
 
                // Initialize
                this.api = new mw.Api();
-
        }
 
        /* Setup */
 
        OO.inheritClass( CategorySelector, OO.ui.CapsuleMultiSelectWidget );
+       OO.mixinClass( CategorySelector, OO.ui.mixin.PendingElement );
        CSP = CategorySelector.prototype;
 
        /* Methods */
                        var existingItems, filteredItems,
                                menu = this.getMenu();
 
+                       // Never show the menu if the input lost focus in the meantime
+                       if ( !this.$input.is( ':focus' ) ) {
+                               return;
+                       }
+
                        // Array of strings of the data of OO.ui.MenuOptionsWidgets
                        existingItems = menu.getItems().map( function ( item ) {
                                return item.data;
                }.bind( this ) );
        };
 
+       /**
+        * @inheritdoc
+        */
+       CSP.clearInput = function () {
+               CategorySelector.parent.prototype.clearInput.call( this );
+               // Abort all pending requests, we won't need their results
+               this.api.abort();
+       };
+
        /**
         * Searches for categories based on the input.
         *
                        promises = [],
                        deferred = new $.Deferred();
 
+               if ( $.trim( input ) === '' ) {
+                       deferred.resolve( [] );
+                       return deferred.promise();
+               }
+
+               // Abort all pending requests, we won't need their results
+               this.api.abort();
                for ( i = 0; i < this.searchTypes.length; i++ ) {
                        promises.push( this.searchCategories( input, this.searchTypes[ i ] ) );
                }
 
+               this.pushPending();
+
                $.when.apply( $, promises ).done( function () {
                        var categories, categoryNames,
                                allData = [],
 
                        deferred.resolve( categoryNames );
 
-               } );
+               } ).always( this.popPending.bind( this ) );
 
                return deferred.promise();
        };
                                } ).done( function ( res ) {
                                        var categories = res[ 1 ];
                                        deferred.resolve( categories );
-                               } );
+                               } ).fail( deferred.reject.bind( deferred ) );
                                break;
 
                        case CategorySelector.SearchType.InternalSearch:
                                                return page.title;
                                        } );
                                        deferred.resolve( categories );
-                               } );
+                               } ).fail( deferred.reject.bind( deferred ) );
                                break;
 
                        case CategorySelector.SearchType.Exists:
                                        }
 
                                        deferred.resolve( categories );
-                               } );
+                               } ).fail( deferred.reject.bind( deferred ) );
                                break;
 
                        case CategorySelector.SearchType.SubCategories:
                                                return category.title;
                                        } );
                                        deferred.resolve( categories );
-                               } );
+                               } ).fail( deferred.reject.bind( deferred ) );
                                break;
 
                        case CategorySelector.SearchType.ParentCategories:
                                        }
 
                                        deferred.resolve( categories );
-                               } );
+                               } ).fail( deferred.reject.bind( deferred ) );
                                break;
 
                        default:
index 43b20b8..79aba77 100644 (file)
                options.ajax = $.extend( {}, defaultOptions.ajax, options.ajax );
 
                this.defaults = options;
+               this.requests = [];
        };
 
        mw.Api.prototype = {
+               /**
+                * Abort all unfinished requests issued by this Api object.
+                *
+                * @method
+                */
+               abort: function () {
+                       $.each( this.requests, function ( index, request ) {
+                               request.abort();
+                       } );
+               },
 
                /**
                 * Perform API get request
                                        }
                                } );
 
+                       this.requests.push( xhr );
                        // Return the Promise
                        return apiDeferred.promise( { abort: xhr.abort } ).fail( function ( code, details ) {
                                if ( !( code === 'http' && details && details.textStatus === 'abort' ) ) {
index 4d6b34c..614c001 100644 (file)
                return nonce++;
        }
 
+       /**
+        * @private
+        * Given a non-empty object, return one of its keys.
+        *
+        * @param {Object} obj
+        * @return {string}
+        */
+       function getFirstKey( obj ) {
+               for ( var key in obj ) {
+                       if ( obj.hasOwnProperty( key ) ) {
+                               return key;
+                       }
+               }
+       }
+
        /**
         * @private
         * Get new iframe object for an upload.
                        }
 
                        if ( !file ) {
-                               return $.Deferred().reject( 'No file' );
+                               throw new Error( 'No file' );
                        }
 
                        canUseFormData = formDataAvailable() && file instanceof window.File;
 
                        if ( !isFileInput && !canUseFormData ) {
-                               return $.Deferred().reject( 'Unsupported argument type passed to mw.Api.upload' );
+                               throw new Error( 'Unsupported argument type passed to mw.Api.upload' );
                        }
 
                        if ( canUseFormData ) {
                        $iframe.one( 'load', function () {
                                $iframe.one( 'load', function () {
                                        var result = processIframeResult( iframe );
+                                       deferred.notify( 1 );
 
                                        if ( !result ) {
-                                               deferred.reject( 'No response from API on upload attempt.' );
-                                       } else if ( result.error || result.warnings ) {
-                                               if ( result.error && result.error.code === 'badtoken' ) {
+                                               deferred.reject( 'ok-but-empty', 'No response from API on upload attempt.' );
+                                       } else if ( result.error ) {
+                                               if ( result.error.code === 'badtoken' ) {
                                                        api.badToken( 'edit' );
                                                }
 
-                                               deferred.reject( result.error || result.warnings );
+                                               deferred.reject( result.error.code, result );
+                                       } else if ( result.upload && result.upload.warnings ) {
+                                               deferred.reject( getFirstKey( result.upload.warnings ), result );
                                        } else {
-                                               deferred.notify( 1 );
                                                deferred.resolve( result );
                                        }
                                } );
                        } );
 
                        $iframe.error( function ( error ) {
-                               deferred.reject( 'iframe failed to load: ' + error );
+                               deferred.reject( 'http', error );
                        } );
 
                        $iframe.prop( 'src', 'about:blank' ).hide();
                        } );
 
                        if ( !data.filename && !data.stash ) {
-                               return $.Deferred().reject( 'Filename not included in file data.' );
+                               throw new Error( 'Filename not included in file data.' );
                        }
 
                        if ( this.needToken() ) {
                        data.file = file;
 
                        if ( !data.filename && !data.stash ) {
-                               return $.Deferred().reject( 'Filename not included in file data.' );
+                               throw new Error( 'Filename not included in file data.' );
                        }
 
                        // Use this.postWithEditToken() or this.post()
                                }
                        } )
                                .done( function ( result ) {
-                                       if ( result.error || result.warnings ) {
-                                               deferred.reject( result.error || result.warnings );
+                                       deferred.notify( 1 );
+                                       if ( result.upload && result.upload.warnings ) {
+                                               deferred.reject( getFirstKey( result.upload.warnings ), result );
                                        } else {
-                                               deferred.notify( 1 );
                                                deferred.resolve( result );
                                        }
                                } )
-                               .fail( function ( result ) {
-                                       deferred.reject( result );
+                               .fail( function ( errorCode, result ) {
+                                       deferred.notify( 1 );
+                                       deferred.reject( errorCode, result );
                                } );
 
                        return deferred.promise();
                                api = this;
 
                        if ( !data.filename ) {
-                               return $.Deferred().reject( 'Filename not included in file data.' );
+                               throw new Error( 'Filename not included in file data.' );
                        }
 
                        function finishUpload( moreData ) {
                                data.format = 'json';
 
                                if ( !data.filename ) {
-                                       return $.Deferred().reject( 'Filename not included in file data.' );
+                                       throw new Error( 'Filename not included in file data.' );
                                }
 
                                return api.postWithEditToken( data ).then( function ( result ) {
-                                       if ( result.upload && ( result.upload.error || result.upload.warnings ) ) {
-                                               return $.Deferred().reject( result.upload.error || result.upload.warnings ).promise();
+                                       if ( result.upload && result.upload.warnings ) {
+                                               return $.Deferred().reject( getFirstKey( result.upload.warnings ), result ).promise();
                                        }
                                        return result;
                                } );
                        }
 
-                       return this.upload( file, { stash: true, filename: data.filename } ).then( function ( result ) {
-                               if ( result && result.upload && result.upload.filekey ) {
+                       return this.upload( file, { stash: true, filename: data.filename } ).then(
+                               function ( result ) {
                                        filekey = result.upload.filekey;
-                               } else if ( result && ( result.error || result.warning ) ) {
-                                       return $.Deferred().reject( result );
+                                       return finishUpload;
+                               },
+                               function ( errorCode, result ) {
+                                       if ( result && result.upload && result.upload.filekey ) {
+                                               // Ignore any warnings if 'filekey' was returned, that's all we care about
+                                               filekey = result.upload.filekey;
+                                               return $.Deferred().resolve( finishUpload );
+                                       }
+                                       return $.Deferred().reject( errorCode, result );
                                }
-
-                               return finishUpload;
-                       } );
+                       );
                },
 
                needToken: function () {
index d270916..dd28ddd 100644 (file)
@@ -77,7 +77,7 @@
                        '\n|date=' +
                        this.getDate() +
                        '\n|source=' +
-                       this.getUser() +
+                       this.getSource() +
                        '\n|author=' +
                        this.getUser() +
                        '\n}}\n\n' +
        };
 
        /**
-        * Gets the wikitext for the license of the upload. Abstract for now.
+        * Gets the wikitext for the license of the upload.
         *
         * @private
         * @return {string}
         */
        ForeignStructuredUpload.prototype.getLicense = function () {
-               return '';
+               // Make sure this matches the messages for different targets in
+               // mw.ForeignStructuredUpload.BookletLayout.prototype.renderUploadForm
+               return this.target === 'shared' ? '{{self|cc-by-sa-4.0}}' : '';
+       };
+
+       /**
+        * Get the source. This should be some sort of localised text for "Own work".
+        *
+        * @private
+        * @return {string}
+        */
+       ForeignStructuredUpload.prototype.getSource = function () {
+               return '{{own}}';
        };
 
        /**
index 7b3a751..61fb59f 100644 (file)
                // actual API call methods to wait for the apiPromise to resolve
                // before continuing.
                mw.Upload.call( this, null );
+
+               if ( this.target !== 'local' ) {
+                       // Keep these untranslated. We don't know the content language of the foreign wiki, best to
+                       // stick to English in the text.
+                       this.setComment( 'Cross-wiki upload from ' + location.host );
+               }
        }
 
        OO.inheritClass( ForeignUpload, mw.Upload );
index c4b8c09..7b307ee 100644 (file)
                        deferred.resolve();
                        layout.emit( 'fileUploaded' );
                }, function () {
-                       // These errors will be thrown while the user is on the info page
-                       if ( layout.upload.getState() === mw.Upload.State.ERROR ) {
-                               deferred.reject( new OO.ui.Error( layout.upload.getStateDetails(), {
-                                       recoverable: false
-                               } ) );
-                               return false;
-                       }
-                       if ( layout.upload.getState() === mw.Upload.State.WARNING ) {
-                               deferred.reject( new OO.ui.Error( layout.upload.getStateDetails(), {
-                                       recoverable: false
-                               } ) );
-                               return false;
-                       }
+                       // These errors will be thrown while the user is on the info page.
+                       // Pretty sure it's impossible to get a warning other than 'stashfailed' here, which should
+                       // really be an error...
+                       var errorMessage = layout.getErrorMessageForStateDetails();
+                       deferred.reject( errorMessage );
                } );
 
                // If there is an error in uploading, come back to the upload page
                                deferred.resolve();
                                layout.emit( 'fileSaved' );
                        }, function () {
-                               var stateDetails = layout.upload.getStateDetails();
-
-                               if ( layout.upload.getState() === mw.Upload.State.ERROR ) {
-                                       deferred.reject( new OO.ui.Error( stateDetails, {
-                                               recoverable: false
-                                       } ) );
-                                       return false;
-                               }
-
-                               if ( layout.upload.getState() === mw.Upload.State.WARNING ) {
-                                       // We could get more than one of these errors, these are in order
-                                       // of importance. For example fixing the thumbnail like file name
-                                       // won't help the fact that the file already exists.
-                                       if ( stateDetails.exists !== undefined ) {
-                                               deferred.reject( new OO.ui.Error(
-                                                       $( '<p>' ).html(
-                                                               mw.message( 'filepageexists', stateDetails.exists ).parse()
-                                                       ),
-                                                       { recoverable: false }
-                                               ) );
-                                       } else if ( stateDetails.duplicate !== undefined ) {
-                                               deferred.reject( new OO.ui.Error(
-                                                       $( '<p>' ).html(
-                                                               mw.message( 'fileexists', stateDetails.duplicate[ 0 ] ).parse()
-                                                       ),
-                                                       { recoverable: false }
-                                               ) );
-                                       } else if ( stateDetails[ 'thumb-name' ] !== undefined ) {
-                                               deferred.reject( new OO.ui.Error(
-                                                       $( '<p>' ).html(
-                                                               mw.message( 'filename-thumb-name' ).parse()
-                                                       ),
-                                                       { recoverable: false }
-                                               ) );
-                                       } else if ( stateDetails[ 'bad-prefix' ] !== undefined ) {
-                                               deferred.reject( new OO.ui.Error(
-                                                       $( '<p>' ).html(
-                                                               mw.message( 'filename-bad-prefix', stateDetails[ 'bad-prefix' ] ).parse()
-                                                       ),
-                                                       { recoverable: false }
-                                               ) );
-                                       } else if ( stateDetails[ 'duplicate-archive' ] !== undefined ) {
-                                               deferred.reject( new OO.ui.Error(
-                                                       $( '<p>' ).html(
-                                                               mw.message( 'api-error-duplicate-archive', stateDetails[ 'duplicate-archive' ] ).parse()
-                                                       ),
-                                                       { recoverable: false }
-                                               ) );
-                                       } else if ( stateDetails.badfilename !== undefined ) {
-                                               // Change the name if the current name isn't acceptable
-                                               layout.filenameWidget.setValue( stateDetails.badfilename );
-                                               deferred.reject( new OO.ui.Error(
-                                                       $( '<p>' ).html(
-                                                               mw.message( 'badfilename', stateDetails.badfilename ).parse()
-                                                       )
-                                               ) );
-                                       } else {
-                                               deferred.reject( new OO.ui.Error(
-                                                       $( '<p>' ).html(
-                                                               // Let's get all the help we can if we can't pin point the error
-                                                               mw.message( 'api-error-unknown-warning', JSON.stringify( stateDetails ) ).parse()
-                                                       ),
-                                                       { recoverable: false }
-                                               ) );
-                                       }
-
-                                       return false;
-                               }
+                               var errorMessage = layout.getErrorMessageForStateDetails();
+                               deferred.reject( errorMessage );
                        } );
                } );
 
                return deferred.promise();
        };
 
+       /**
+        * Get an error message (as OO.ui.Error object) that should be displayed to the user for current
+        * state and state details.
+        *
+        * @protected
+        * @returns {OO.ui.Error} Error to display for given state and details.
+        */
+       mw.Upload.BookletLayout.prototype.getErrorMessageForStateDetails = function () {
+               var message,
+                       state = this.upload.getState(),
+                       stateDetails = this.upload.getStateDetails(),
+                       error = stateDetails.error,
+                       warnings = stateDetails.upload && stateDetails.upload.warnings;
+
+               if ( state === mw.Upload.State.ERROR ) {
+                       // HACK We should either have a hook here to allow TitleBlacklist to handle this, or just have
+                       // TitleBlacklist produce sane error messages that can be displayed without arcane knowledge
+                       if ( error.info === 'TitleBlacklist prevents this title from being created' ) {
+                               // HACK Apparently the only reliable way to determine whether TitleBlacklist was involved
+                               return new OO.ui.Error(
+                                       $( '<p>' ).html(
+                                               // HACK TitleBlacklist doesn't have a sensible message, this one is from UploadWizard
+                                               mw.message( 'api-error-blacklisted' ).parse()
+                                       ),
+                                       { recoverable: false }
+                               );
+                       }
+
+                       message = mw.message( 'api-error-' + error.code );
+                       if ( !message.exists() ) {
+                               message = mw.message( 'api-error-unknownerror', JSON.stringify( stateDetails ) );
+                       }
+                       return new OO.ui.Error(
+                               $( '<p>' ).html(
+                                       message.parse()
+                               ),
+                               { recoverable: false }
+                       );
+               }
+
+               if ( state === mw.Upload.State.WARNING ) {
+                       // We could get more than one of these errors, these are in order
+                       // of importance. For example fixing the thumbnail like file name
+                       // won't help the fact that the file already exists.
+                       if ( warnings.stashfailed !== undefined ) {
+                               return new OO.ui.Error(
+                                       $( '<p>' ).html(
+                                               mw.message( 'api-error-stashfailed' ).parse()
+                                       ),
+                                       { recoverable: false }
+                               );
+                       } else if ( warnings.exists !== undefined ) {
+                               return new OO.ui.Error(
+                                       $( '<p>' ).html(
+                                               mw.message( 'fileexists', 'File:' + warnings.exists ).parse()
+                                       ),
+                                       { recoverable: false }
+                               );
+                       } else if ( warnings[ 'page-exists' ] !== undefined ) {
+                               return new OO.ui.Error(
+                                       $( '<p>' ).html(
+                                               mw.message( 'filepageexists', 'File:' + warnings[ 'page-exists' ] ).parse()
+                                       ),
+                                       { recoverable: false }
+                               );
+                       } else if ( warnings.duplicate !== undefined ) {
+                               return new OO.ui.Error(
+                                       $( '<p>' ).html(
+                                               mw.message( 'api-error-duplicate', warnings.duplicate.length ).parse()
+                                       ),
+                                       { recoverable: false }
+                               );
+                       } else if ( warnings[ 'thumb-name' ] !== undefined ) {
+                               return new OO.ui.Error(
+                                       $( '<p>' ).html(
+                                               mw.message( 'filename-thumb-name' ).parse()
+                                       ),
+                                       { recoverable: false }
+                               );
+                       } else if ( warnings[ 'bad-prefix' ] !== undefined ) {
+                               return new OO.ui.Error(
+                                       $( '<p>' ).html(
+                                               mw.message( 'filename-bad-prefix', warnings[ 'bad-prefix' ] ).parse()
+                                       ),
+                                       { recoverable: false }
+                               );
+                       } else if ( warnings[ 'duplicate-archive' ] !== undefined ) {
+                               return new OO.ui.Error(
+                                       $( '<p>' ).html(
+                                               mw.message( 'api-error-duplicate-archive', 1 ).parse()
+                                       ),
+                                       { recoverable: false }
+                               );
+                       } else if ( warnings.badfilename !== undefined ) {
+                               // Change the name if the current name isn't acceptable
+                               // TODO This might not really be the best place to do this
+                               this.filenameWidget.setValue( warnings.badfilename );
+                               return new OO.ui.Error(
+                                       $( '<p>' ).html(
+                                               mw.message( 'badfilename', warnings.badfilename ).parse()
+                                       )
+                               );
+                       } else {
+                               return new OO.ui.Error(
+                                       $( '<p>' ).html(
+                                               // Let's get all the help we can if we can't pin point the error
+                                               mw.message( 'api-error-unknown-warning', JSON.stringify( stateDetails ) ).parse()
+                                       ),
+                                       { recoverable: false }
+                               );
+                       }
+               }
+       };
+
        /* Form renderers */
 
        /**
index 007c855..1432912 100644 (file)
         * Sets the state and state details (if any) of the upload.
         *
         * @param {mw.Upload.State} state
-        * @param {string|Object} stateDetails
+        * @param {Object} stateDetails
         */
        UP.setState = function ( state, stateDetails ) {
                this.state = state;
                        upload.setState( Upload.State.UPLOADED );
                        upload.imageinfo = result.upload.imageinfo;
                        return result;
-               }, function () {
-                       upload.setState( Upload.State.ERROR );
+               }, function ( errorCode, result ) {
+                       if ( result && result.upload && result.upload.warnings ) {
+                               upload.setState( Upload.State.WARNING, result );
+                       } else {
+                               upload.setState( Upload.State.ERROR, result );
+                       }
+                       return $.Deferred().reject( errorCode, result );
                } );
        };
 
                } ).then( function ( finishStash ) {
                        upload.setState( Upload.State.STASHED );
                        return finishStash;
-               }, function ( result ) {
-                       upload.setState( Upload.State.ERROR, mw.message( 'api-error-' + result ) );
+               }, function ( errorCode, result ) {
+                       if ( result && result.upload && result.upload.warnings ) {
+                               upload.setState( Upload.State.WARNING, result );
+                       } else {
+                               upload.setState( Upload.State.ERROR, result );
+                       }
+                       return $.Deferred().reject( errorCode, result );
                } );
 
                return this.stashPromise;
                                upload.setState( Upload.State.UPLOADED );
                                upload.imageinfo = result.upload.imageinfo;
                                return result;
-                       }, function ( result ) {
-                               // Errors are strings that can be used to get error message
-                               if ( typeof result === 'string' ) {
-                                       upload.setState( Upload.State.ERROR, mw.message( 'api-error-' + result ) );
-                                       return;
-                               }
-
-                               // Warnings come in the form of objects
-                               if ( $.isPlainObject( result ) ) {
+                       }, function ( errorCode, result ) {
+                               if ( result && result.upload && result.upload.warnings ) {
                                        upload.setState( Upload.State.WARNING, result );
-                                       return;
+                               } else {
+                                       upload.setState( Upload.State.ERROR, result );
                                }
-
-                               // Throw an empty error if we can't figure it out
-                               upload.setState( Upload.State.ERROR );
+                               return $.Deferred().reject( errorCode, result );
                        } );
                } );
        };
index 8957430..de63a18 100644 (file)
                        return mw.jqueryMsg.getMessageFunction()( msg.charAt( 0 ).toLowerCase() + msg.slice( 1 ) );
                },
 
+               /**
+                * Get localized namespace name from canonical name or namespace number.
+                * Invoked by putting `{{ns:foo}}` into a message
+                *
+                * @param {Array} nodes List of nodes
+                * @return {string} Localized namespace name
+                */
+               ns: function ( nodes ) {
+                       var ns = $.trim( textify( nodes[ 0 ] ) );
+                       if ( !/^\d+$/.test( ns ) ) {
+                               ns = mw.config.get( 'wgNamespaceIds' )[ ns.replace( / /g, '_' ).toLowerCase() ];
+                       }
+                       ns = mw.config.get( 'wgFormattedNamespaces' )[ ns ];
+                       return ns || '';
+               },
+
                /**
                 * Takes an unformatted number (arab, no group separators and . as decimal separator)
                 * and outputs it in the localized digit script and formatted with decimal
index cab4080..11ceeea 100644 (file)
        parserTest( 'Y Dates', 'date', YDates );
 
        ISODates = [
-               [ '2000',               false, 946684800000, 'Plain 4-digit year' ],
-               [ '2000-01',            false, 946684800000, 'Year with month' ],
+               [ '2000',               false, 0, 'Plain 4-digit year' ],
+               [ '2000-01',            false, 0, 'Year with month' ],
                [ '2000-01-01', true, 946684800000, 'Year with month and day' ],
                [ '2000-13-01', true, 0, 'Non existant month' ],
                [ '2000-01-32', true, 0, 'Non existant day' ],
                [ '2000-01-01T12:30:30Z',       true, 946729830000, 'Date with a UTC+0 time' ],
                [ '2000-01-01T24:30:30Z',       true, 0, 'Date with invalid hours' ],
                [ '2000-01-01T12:60:30Z',       true, 0, 'Date with invalid minutes' ],
-               [ '2000-01-01T12:30:61Z',       true, 0, 'Date with invalid amount of seconds' ],
+               [ '2000-01-01T12:30:61Z',       true, 946729800000, 'Date with invalid amount of seconds, drops seconds' ],
                [ '2000-01-01T23:59:59Z',       true, 946771199000, 'Edges of time' ],
                [ '2000-01-01T12:30:30.111Z',   true, 946729830111, 'Date with milliseconds' ],
                [ '2000-01-01T12:30:30.11111Z', true, 946729830111, 'Date with too high precision' ],
                [ '2000-01-01T12:30:30+01:30',  true, 946724430000, 'Date time in UTC+1:30' ],
                [ '2000-01-01T12:30:30-01:00',  true, 946733430000, 'Date time in UTC-1' ],
                [ '2000-01-01T12:30:30-01:30',  true, 946735230000, 'Date time in UTC-1:30' ],
-               [ '2000-01-01T12:30:30.111+01:00', true, 946726230111, 'Date time and milliseconds in UTC+1 ' ]
+               [ '2000-01-01T12:30:30.111+01:00', true, 946726230111, 'Date time and milliseconds in UTC+1 ' ],
+               [ '2000-01-01Postfix', true, 946684800000, 'Date with appended postfix' ],
+               [ '2000-01-01 Postfix', true, 946684800000, 'Date with separate postfix' ]
                /* Disable testcases, because behavior is browser dependant */
                /*
                [ '2000-11-31', true, 0, '31 days in 30 day month' ],
index 8033458..56a346f 100644 (file)
@@ -1,4 +1,4 @@
-( function ( mw ) {
+( function ( mw, $ ) {
        QUnit.module( 'mediawiki.api', QUnit.newMwEnvironment( {
                setup: function () {
                        this.server = this.sandbox.useFakeServer();
                                assert.deepEqual( data, { example: { value: 'B' } } );
                        } );
        } );
-}( mediaWiki ) );
+
+       QUnit.module( 'mediawiki.api (2)', {
+               setup: function () {
+                       var self = this,
+                               requests = this.requests = [];
+                       this.api = new mw.Api();
+                       this.sandbox.stub( jQuery, 'ajax', function () {
+                               var request = $.extend( {
+                                       abort: self.sandbox.spy()
+                               }, $.Deferred() );
+                               requests.push( request );
+                               return request;
+                       } );
+               }
+       } );
+
+       QUnit.test( '#abort', 3, function ( assert ) {
+               this.api.get( {
+                       a: 1
+               } );
+               this.api.post( {
+                       b: 2
+               } );
+               this.api.abort();
+               assert.ok( this.requests.length === 2, 'Check both requests triggered' );
+               $.each( this.requests, function ( i, request ) {
+                       assert.ok( request.abort.calledOnce, 'abort request number ' + i );
+               } );
+       } );
+}( mediaWiki, jQuery ) );
index 030e703..10fcd5d 100644 (file)
@@ -5,8 +5,9 @@
                QUnit.expect( 2 );
                var api = new mw.Api();
                assert.ok( api.upload );
-               // The below will return a rejected deferred, but that's OK.
-               assert.ok( api.upload() );
+               assert.throws( function () {
+                       api.upload();
+               } );
        } );
 
        QUnit.test( 'Set up iframe upload', function ( assert ) {
index 1d44cc1..4f273bc 100644 (file)
                        mw.language = this.originalMwLanguage;
                },
                config: {
-                       wgArticlePath: '/wiki/$1'
+                       wgArticlePath: '/wiki/$1',
+                       // jscs:disable requireCamelCaseOrUpperCaseIdentifiers
+                       wgNamespaceIds: {
+                               template: 10,
+                               template_talk: 11,
+                               // Localised
+                               szablon: 10,
+                               dyskusja_szablonu: 11
+                       },
+                       // jscs:enable requireCamelCaseOrUpperCaseIdentifiers
+                       wgFormattedNamespaces: {
+                               // Localised
+                               10: 'Szablon',
+                               11: 'Dyskusja szablonu'
+                       }
                },
                // Messages that are reused in multiple tests
                messages: {
                );
        } );
 
+       QUnit.test( 'Ns', 4, function ( assert ) {
+               mw.messages.set( 'ns-template-talk', '{{ns:Template talk}}' );
+               assert.equal(
+                       formatParse( 'ns-template-talk' ),
+                       'Dyskusja szablonu',
+                       'ns: returns localised namespace when used with a canonical namespace name'
+               );
+
+               mw.messages.set( 'ns-10', '{{ns:10}}' );
+               assert.equal(
+                       formatParse( 'ns-10' ),
+                       'Szablon',
+                       'ns: returns localised namespace when used with a namespace number'
+               );
+
+               mw.messages.set( 'ns-unknown', '{{ns:doesnt-exist}}' );
+               assert.equal(
+                       formatParse( 'ns-unknown' ),
+                       '',
+                       'ns: returns empty string for unknown namespace name'
+               );
+
+               mw.messages.set( 'ns-in-a-link', '[[{{ns:template}}:Foo]]' );
+               assert.equal(
+                       formatParse( 'ns-in-a-link' ),
+                       '<a title="Szablon:Foo" href="/wiki/Szablon:Foo">Szablon:Foo</a>',
+                       'ns: works when used inside a wikilink'
+               );
+       } );
+
        // Tests that getMessageFunction is used for non-plain messages with curly braces or
        // square brackets, but not otherwise.
        QUnit.test( 'mw.Message.prototype.parser monkey-patch', 22, function ( assert ) {