r86034 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r86033‎ | r86034 | r86035 >
Date:07:35, 14 April 2011
Author:catrope
Status:ok
Tags:
Comment:
1.17wmf1: Merge UploadWizard to trunk state
Modified paths:
  • /branches/wmf/1.17wmf1/extensions/UploadWizard (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/UploadWizard/SpecialUploadWizard.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/UploadWizard/UploadWizard.config.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/UploadWizard/UploadWizard.i18n.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/UploadWizard/UploadWizard.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/UploadWizard/UploadWizardHooks.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/UploadWizard/resources/images/24px-spinner-0645ad-f5f5f5.gif (added) (history)
  • /branches/wmf/1.17wmf1/extensions/UploadWizard/resources/mw.Api.js (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/UploadWizard/resources/mw.DestinationChecker.js (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/UploadWizard/resources/mw.LanguageUpWiz.js (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/UploadWizard/resources/mw.UploadApiProcessor.js (deleted) (history)
  • /branches/wmf/1.17wmf1/extensions/UploadWizard/resources/mw.UploadWizard.js (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/UploadWizard/resources/mw.UploadWizardDeed.js (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/UploadWizard/resources/mw.UploadWizardDetails.js (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/UploadWizard/resources/mw.UploadWizardLicenseInput.js (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/UploadWizard/resources/mw.UploadWizardUploadInterface.js (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/UploadWizard/resources/uploadWizard.css (modified) (history)

Diff [purge]

Index: branches/wmf/1.17wmf1/extensions/UploadWizard/UploadWizard.config.php
@@ -31,12 +31,12 @@
3232 ),
3333 'cc-by-sa-3.0-gfdl' => array(
3434 'msg' => 'mwe-upwiz-license-cc-by-sa-3.0-gfdl',
35 - 'templates' => array( 'gfdl', 'cc-by-sa-3.0' ),
 35+ 'templates' => array( 'GFDL', 'cc-by-sa-3.0' ),
3636 'icons' => array( 'cc-by', 'cc-sa' )
3737 ),
3838 'cc-by-3.0-gfdl' => array(
3939 'msg' => 'mwe-upwiz-license-cc-by-3.0-gfdl',
40 - 'templates' => array( 'gfdl', 'cc-by-3.0' ),
 40+ 'templates' => array( 'GFDL', 'cc-by-3.0' ),
4141 'icons' => array( 'cc-by' )
4242 ),
4343 'cc-by-3.0' => array(
@@ -69,44 +69,46 @@
7070 'icons' => array( 'cc-by' )
7171 ),
7272 'fal' => array(
73 - 'msg' => 'mwe-upwiz-license-fal'
 73+ 'msg' => 'mwe-upwiz-license-fal',
 74+ 'templates' => array( 'FAL' )
7475 ),
7576 'pd-old-100' => array(
76 - 'msg' => 'mwe-upwiz-license-pd-old-100'
 77+ 'msg' => 'mwe-upwiz-license-pd-old-100',
 78+ 'templates' => array( 'PD-old-100' )
7779 ),
7880 'pd-old' => array(
79 - 'msg' => 'mwe-upwiz-license-pd-old'
 81+ 'msg' => 'mwe-upwiz-license-pd-old',
 82+ 'templates' => array( 'PD-old' )
8083 ),
81 - 'pd-art' => array(
82 - 'msg' => 'mwe-upwiz-license-pd-art'
 84+ 'pd-art' => array(
 85+ 'msg' => 'mwe-upwiz-license-pd-art',
 86+ 'templates' => array( 'PD-Art' )
8387 ),
84 - 'pd-us' => array(
85 - 'msg' => 'mwe-upwiz-license-pd-us'
 88+ 'pd-us' => array(
 89+ 'msg' => 'mwe-upwiz-license-pd-us',
 90+ 'templates' => array( 'PD-US' )
8691 ),
8792 'pd-usgov' => array(
88 - 'msg' => 'mwe-upwiz-license-pd-usgov'
 93+ 'msg' => 'mwe-upwiz-license-pd-usgov',
 94+ 'templates' => array( 'PD-USGov' )
8995 ),
9096 'pd-usgov-nasa' => array(
91 - 'msg' => 'mwe-upwiz-license-pd-usgov-nasa'
 97+ 'msg' => 'mwe-upwiz-license-pd-usgov-nasa',
 98+ 'templates' => array( 'PD-USGov-NASA' )
9299 ),
93 - 'pd-usgov-military-navy' => array(
94 - 'msg' => 'mwe-upwiz-license-pd-usgov-military-navy'
95 - ),
96100 'pd-ineligible' => array(
97101 'msg' => 'mwe-upwiz-license-pd-ineligible'
98102 ),
99103 'pd-textlogo' => array(
100104 'msg' => 'mwe-upwiz-license-pd-textlogo',
101 - 'templates' => array( 'trademarked', 'pd-textlogo' )
 105+ 'templates' => array( 'trademarked', 'PD-textlogo' )
102106 ),
103 - 'copyrighted-free-use' => array(
104 - 'msg' => 'mwe-upwiz-license-copyrighted-free-use'
105 - ),
106107 'attribution' => array(
107108 'msg' => 'mwe-upwiz-license-attribution'
108109 ),
109110 'gfdl' => array(
110 - 'msg' => 'mwe-upwiz-license-gfdl'
 111+ 'msg' => 'mwe-upwiz-license-gfdl',
 112+ 'templates' => array( 'GFDL' )
111113 )
112114 ),
113115
@@ -189,7 +191,13 @@
190192
191193 // Small thumbnail max height
192194 'smallThumbnailMaxHeight' => 100,
 195+
 196+ // Large thumbnail width
 197+ 'largeThumbnailWidth' => 500,
193198
 199+ // Large thumbnail max height
 200+ 'largeThumbnailMaxHeight' => 500,
 201+
194202 // Icon thumbnail width:
195203 'iconThumbnailWidth' => 32,
196204
Index: branches/wmf/1.17wmf1/extensions/UploadWizard/UploadWizardHooks.php
@@ -128,6 +128,9 @@
129129 'mwe-upwiz-api-error-duplicate-popup-title',
130130 'mwe-upwiz-api-error-timeout',
131131 'mwe-upwiz-api-error-noimageinfo',
 132+
 133+ 'mwe-upwiz-api-error-fileexists-shared-forbidden',
 134+
132135 'mwe-upwiz-api-warning-exists',
133136 'mwe-upwiz-tutorial-error-localized-file-missing',
134137 'mwe-upwiz-tutorial-error-file-missing',
@@ -217,6 +220,8 @@
218221 'mwe-upwiz-change',
219222 'mwe-upwiz-fileexists-replace',
220223 'mwe-upwiz-fileexists',
 224+ 'mwe-upwiz-fileexists-replace-on-page',
 225+ 'mwe-upwiz-fileexists-replace-no-link',
221226 'mwe-upwiz-thumbnail-more',
222227 'mwe-upwiz-overwrite',
223228 'mwe-copyright-macro',
@@ -297,6 +302,7 @@
298303 'mwe-upwiz-help-popup-title',
299304 'mwe-upwiz-thumbnail-failed',
300305 'mwe-upwiz-unparseable-filename',
 306+ 'mwe-upwiz-image-preview',
301307 'mwe-upwiz-feedback-note',
302308 'mwe-upwiz-feedback-subject',
303309 'mwe-upwiz-feedback-message',
Index: branches/wmf/1.17wmf1/extensions/UploadWizard/UploadWizard.i18n.php
@@ -61,6 +61,9 @@
6262 'mwe-upwiz-api-error-duplicate-popup-title' => 'Duplicate {{PLURAL:$1|file|files}}',
6363 'mwe-upwiz-api-error-timeout' => 'The server did not respond within the expected time.',
6464 'mwe-upwiz-api-error-noimageinfo' => 'The upload succeeded, but the server did not give us any information about the file.',
 65+ 'mwe-upwiz-api-error-fileexists-shared-forbidden' => 'This filename is reserved by a file on a remote shared repository. Choose another name.',
 66+
 67+
6568 'mwe-upwiz-api-warning-exists' => 'There is [$1 another file] already on the wiki with the same filename',
6669 'mwe-upwiz-tutorial-error-localized-file-missing' => 'Sorry, we could not find a tutorial in your language. The English one is shown instead.',
6770 'mwe-upwiz-tutorial-error-file-missing' => 'Sorry, we could not find any files for the tutorial that is supposed to go here. Please contact the system administrators.',
@@ -151,6 +154,8 @@
152155 'mwe-upwiz-fileexists-replace' => 'A file with the title "$1" exists already. Please change your title to something unique.',
153156 'mwe-upwiz-fileexists' => 'A file with this name exists already.
154157 Please check <b><tt>$1</tt></b> if you are not sure if you want to replace it.',
 158+ 'mwe-upwiz-fileexists-replace-on-page' => 'A file with this name exists already. If you want to replace it, go to the page for [$2 $1] and replace it there.',
 159+ 'mwe-upwiz-fileexists-replace-no-link' => 'A file with this name exists already.',
155160 'mwe-upwiz-thumbnail-more' => 'Enlarge',
156161 'mwe-upwiz-overwrite' => 'Replace the file',
157162 'mwe-copyright-macro' => 'As above',
@@ -247,6 +252,7 @@
248253 'mwe-upwiz-help-popup-title' => 'Title',
249254 'mwe-upwiz-thumbnail-failed' => 'The upload succeeded, but the server could not get a preview thumbnail',
250255 'mwe-upwiz-unparseable-filename' => 'Could not understand the file name "$1"',
 256+ 'mwe-upwiz-image-preview' => 'Image preview',
251257
252258 /* Feedback interface */
253259 'mwe-upwiz-feedback-note' => 'Your feedback will be posted to $1.',
@@ -280,6 +286,7 @@
281287 'mwe-upwiz-api-error-filetype-missing' => 'The word "file" here is synonymous to "file name".
282288 The word "extension" refers to the part behind the last dot in a file name, that by convention gives a hint about the kind of data format which a files contents are in.',
283289 'mwe-upwiz-api-error-duplicate-popup-title' => 'This message is a pop-up title shown in case one or more files exactly equal to the one just uploaded are already present. The word "duplicate" is an adjective.',
 290+ 'mwe-upwiz-browse' => 'This is a button to browse for a file to be uploaded.',
284291 'mwe-upwiz-transported' => '{{Identical|OK}}',
285292 'mwe-upwiz-stashed-upload' => '{{Identical|OK}}',
286293 'mwe-upwiz-remove' => '{{Identical|Remove}}',
@@ -306,11 +313,13 @@
307314 'mwe-upwiz-categories-add' => '{{Identical|Add}}',
308315 'mwe-upwiz-help-popup' => '{{Identical|Help}}',
309316 'mwe-upwiz-help-popup-title' => '{{Identical|Title}}',
310 - 'mwe-upwiz-feedback-subject' => 'Label for a text input',
 317+ 'mwe-upwiz-feedback-subject' => 'Label for a text input
 318+{{Identical|Subject}}',
311319 'mwe-upwiz-feedback-message' => 'Label for a textarea; signature referrs to a Wikitext signature.',
312 - 'mwe-upwiz-feedback-cancel' => 'Button label',
 320+ 'mwe-upwiz-feedback-cancel' => 'Button label
 321+{{Identical|Cancel}}',
313322 'mwe-upwiz-feedback-submit' => 'Button label',
314 - 'mwe-upwiz-feedback-adding' => 'Progress notice'
 323+ 'mwe-upwiz-feedback-adding' => 'Progress notice',
315324 );
316325
317326 /** Afrikaans (Afrikaans)
@@ -506,6 +515,7 @@
507516 'mwe-upwiz-source-thirdparty-intro' => 'Калі ласка, увядзіце адрас дзе Вы знайшлі кожны файл.',
508517 'mwe-upwiz-source-thirdparty-custom-multiple-intro' => 'Калі ўсе файлы маюць адну крыніцу, аўтара і прававы статус, Вы можаце пазначыць гэтыя зьвесткі адзін раз для ўсіх файлаў.',
509518 'mwe-upwiz-source-thirdparty-license' => 'Уладальнік аўтарскіх правоў на {{PLURAL:$1|гэтую працу|гэтыя працы}} апублікаваў {{PLURAL:$1|яе|іх}} на ўмовах наступнай(ых) ліцэнзіі(яў):',
 519+ 'mwe-upwiz-source-thirdparty-cases' => 'Цяпер раскажыце нам, чаму вы перакананыя, што {{SITENAME}} мае права на публікацыю {{PLURAL:$1|гэтага твору|гэтых твораў}}:',
510520 'mwe-upwiz-source-thirdparty-accept' => 'Добра',
511521 'mwe-upwiz-source-custom' => 'Падайце інфармацыю пра аўтарскія правы асобна для кожнага файла на наступнай старонцы.',
512522 'mwe-upwiz-more-options' => 'болей наладаў…',
@@ -597,8 +607,33 @@
598608 'mwe-upwiz-error-date' => 'Калі ласка, пазначце дату ў фармаце ГГГГ-ММ-ДД, ці выберыце з выкіднога календара.',
599609 'mwe-upwiz-license-cc-by-sa-3.0' => 'Creative Commons Attribution-Share Alike 3.0',
600610 'mwe-upwiz-license-cc-by-3.0' => 'Creative Commons Attribution 3.0',
 611+ 'mwe-upwiz-license-cc-by-sa-2.5' => 'Creative Commons Attribution ShareAlike 2.5',
 612+ 'mwe-upwiz-license-cc-by-2.5' => 'Creative Commons Attribution 2.5',
 613+ 'mwe-upwiz-license-cc-by-sa-2.0' => 'Creative Commons Attribution ShareAlike 2.0',
 614+ 'mwe-upwiz-license-cc-by-2.0' => 'Creative Commons Attribution 2.0',
601615 'mwe-upwiz-license-cc-zero' => 'Creative Commons CC0 Waiver (грамадзкі набытак)',
 616+ 'mwe-upwiz-license-fal' => 'Free Artistic License',
 617+ 'mwe-upwiz-license-own-pd' => 'Грамадзкі набытак (адмова ад усіх правоў згодна зь ліцэнзіяй Creative Commons Zero)',
 618+ 'mwe-upwiz-license-pd-old-100' => 'Аўтар памёр больш за 100 гадоў таму',
 619+ 'mwe-upwiz-license-pd-old' => 'Аўтар памёр больш за 70 гадоў таму',
 620+ 'mwe-upwiz-license-pd-art' => 'Рэпрадукцыя карціны знаходзіцца ў грамадзкім набытку з-за ўзросту',
 621+ 'mwe-upwiz-license-pd-usgov' => 'Праца фэдэральнага ўраду ЗША',
 622+ 'mwe-upwiz-license-pd-usgov-nasa' => 'Праца NASA',
 623+ 'mwe-upwiz-license-pd-usgov-military-navy' => 'Праца ВМС ЗША',
 624+ 'mwe-upwiz-license-pd-ineligible' => 'Занадта простая, каб ахоўвацца аўтарскімі правамі',
 625+ 'mwe-upwiz-license-pd-ineligible-help' => 'Будзьце асьцярожнымі! Выява мусіць быць вельмі прастой, напрыклад, зялёны круг ці чырвоны квадрат',
 626+ 'mwe-upwiz-license-pd-textlogo' => 'Лягатып з простым тэкстам',
 627+ 'mwe-upwiz-license-copyrighted-free-use' => 'Ахоўваецца аўтарскім правам, але можа выкарыстоўвацца ў любых мэтах, у тым ліку камэрцыйных',
 628+ 'mwe-upwiz-license-attribution' => 'Можа быць выкарыстана ў любых мэтах, у тым ліку ў камэрцыйных, калі пазначаны ўладальнік аўтарскіх правоў',
602629 'mwe-upwiz-license-gfdl' => 'GNU Free Documentation License',
 630+ 'mwe-upwiz-license-cc-by-sa-3.0-gfdl' => 'Вольная ліцэнзія, патрабуецца пазначэньне аўтара (GFDL, CC-BY-SA-3.0)',
 631+ 'mwe-upwiz-license-cc-by-3.0-gfdl' => 'Патрабуецца пазначэньне аўтара (GFDL, CC-BY-SA-3.0)',
 632+ 'mwe-upwiz-license-cc-head' => 'Уладальнік аўтарскіх правоў апублікаваў {{PLURAL:$1|гэтую працу|гэтыя працы}} на ўмовах ліцэнзіі Creative Commons',
 633+ 'mwe-upwiz-license-cc-subhead' => 'Ня ўсе ліцэнзіі Creative Commons дапушчальныя ў {{GRAMMAR:месны|{{SITENAME}}}}. Пераканайцеся, што ўладальнік аўтарскіх правоў выбраў адну з гэтых ліцэнзіяў.',
 634+ 'mwe-upwiz-license-flickr-head' => 'Уладальнік аўтарскіх правоў апублікаваў {{PLURAL:$1|гэтае фота ці відэа|гэтыя фота ці відэа}} на Flickr на ўмовах дапушчальнай ліцэнзіі',
 635+ 'mwe-upwiz-license-public-domain-head' => 'Тэрмін аховы аўтарскіх правоў відавочна скончыўся',
 636+ 'mwe-upwiz-license-usgov-head' => '{{PLURAL:$1|Гэтая праца створаная|Гэтыя працы створаныя}} фэдэральным ўрадам ЗША',
 637+ 'mwe-upwiz-license-misc' => 'Іншыя прычыны',
603638 'mwe-upwiz-categories' => 'Катэгорыі',
604639 'mwe-upwiz-categories-add' => 'Дадаць',
605640 'mwe-upwiz-category-remove' => 'Выдаліць гэтую катэгорыю',
@@ -607,6 +642,15 @@
608643 'mwe-upwiz-help-popup-title' => 'Загаловак',
609644 'mwe-upwiz-thumbnail-failed' => 'Файл загружаны, але сэрвэр ня змог здабыць мініятуру файла',
610645 'mwe-upwiz-unparseable-filename' => 'Незразумелая назва файла «$1»',
 646+ 'mwe-upwiz-image-preview' => 'Папярэдні прагляд выявы',
 647+ 'mwe-upwiz-feedback-note' => 'Ваш водгук будзе разьмешчаны ў праекце $1.',
 648+ 'mwe-upwiz-feedback-subject' => 'Тэма:',
 649+ 'mwe-upwiz-feedback-message' => 'Паведамленьне (бяз подпісу):',
 650+ 'mwe-upwiz-feedback-title' => 'Пакіньце водгук пра Майстра загрузак',
 651+ 'mwe-upwiz-feedback-cancel' => 'Скасаваць',
 652+ 'mwe-upwiz-feedback-submit' => 'Даслаць водгук',
 653+ 'mwe-upwiz-feedback-adding' => 'Даданьне водгуку на старонку…',
 654+ 'mwe-upwiz-feedback-error1' => 'Памылка: невядомы вынік з API',
611655 );
612656
613657 /** Bulgarian (Български)
@@ -776,7 +820,7 @@
777821 'mwe-upwiz-api-error-fetchfileerror' => 'Fazi diabarzh : aet ez eus un dra bennak a-dreuz en ur glask adtapout ar restr.',
778822 'mwe-upwiz-api-error-duplicate' => "Bez' {{PLURAL:$1|ez eus [$2 restr all]|[$2 restr all]}} gant an hevelep danvez war al lec'hienn-mañ c'hoazh",
779823 'mwe-upwiz-api-error-timeout' => "N'eo ket bet ar servijer evit respont en termen lakaet.",
780 - 'mwe-upwiz-api-warning-exists' => 'Ur restr all dezhi an hevelep anv zo er wiki dija',
 824+ 'mwe-upwiz-api-warning-exists' => '[$1 restr all] gant an hevelep anv zo er wiki dija',
781825 'mwe-upwiz-tutorial-error-localized-file-missing' => "Digarezit, n'on eus ket kavet un tutorial en ho yezh. Ar stumm saoznek a zo diskouezet e plas.",
782826 'mwe-upwiz-tutorial-error-file-missing' => "Ho tigarez, n'eus ket bet gallet kavout restr ebet en teuliad skoazell a oa da vezañ diskwelet amañ. Kit e darempred gant merourien ar reizhiad.",
783827 'mwe-upwiz-tutorial-error-cannot-transform' => "Ho tigarez, n'eus ket bet gallet tapout ur skeudenn vihanaet eus an teuliad skoazell evit en em azasaat d'ar skramm-mañ. Marteze n'eo ken nemet ur gudenn da c'hortoz gant Wikimedia Commons. Klaskit en-dro a-benn ur pennadig.",
@@ -915,6 +959,8 @@
916960 'mwe-upwiz-license-cc-by-sa-3.0' => 'Creative Commons Attribution ShareAlike 3.0',
917961 'mwe-upwiz-license-cc-by-3.0' => 'Creative Commons Deroadenn 3.0',
918962 'mwe-upwiz-license-cc-zero' => 'Creative Commons CC0 Dilez (domani foran)',
 963+ 'mwe-upwiz-license-pd-old-100' => 'Marvet eo an aozer ouzhpenn 100 vloaz zo',
 964+ 'mwe-upwiz-license-pd-old' => 'Marvet eo an aozer ouzhpenn 70 vloaz zo',
919965 'mwe-upwiz-license-gfdl' => 'Aotre implijout teuliaouiñ frank GNU',
920966 'mwe-upwiz-categories' => 'Rummadoù',
921967 'mwe-upwiz-categories-add' => 'Ouzhpennañ',
@@ -923,6 +969,10 @@
924970 'mwe-upwiz-help-popup' => 'Skoazell',
925971 'mwe-upwiz-help-popup-title' => 'Titl',
926972 'mwe-upwiz-unparseable-filename' => 'Dibosupl eo bet kompren anv ar restr "$1"',
 973+ 'mwe-upwiz-image-preview' => 'Rakwelet ar skeudenn',
 974+ 'mwe-upwiz-feedback-subject' => 'Danvez :',
 975+ 'mwe-upwiz-feedback-message' => 'Kemennadenn (disin) :',
 976+ 'mwe-upwiz-feedback-cancel' => 'Nullañ',
927977 );
928978
929979 /** Bosnian (Bosanski)
@@ -1015,6 +1065,7 @@
10161066 'mwe-upwiz-source-thirdparty-intro' => 'Molimo unesite adrese gdje ste svaku od datoteka pronašli.',
10171067 'mwe-upwiz-source-thirdparty-custom-multiple-intro' => 'Ako sve datoteke imaju isti izvor i stanje autorskih prava, možete ih unijeti samo jednom za sve datoteke.',
10181068 'mwe-upwiz-source-thirdparty-license' => 'Vlasnik autorskog prava {{PLURAL:$1|ovog rada|ovih radova}} {{PLURAL:$1|ga|ih}} je objavio pod slijedećom/im licencom/licencama:',
 1069+ 'mwe-upwiz-source-thirdparty-cases' => 'Sada nam recite zašto ste sigurni da {{SITENAME}} ima pravo da objavi {{PLURAL:$1|ovo djelo|ova djela}}:',
10191070 'mwe-upwiz-source-thirdparty-accept' => 'U redu',
10201071 'mwe-upwiz-source-custom' => 'Navedite podatke o autorskim pravima pojedinačno za svaku datoteku na slijedećoj stranici.',
10211072 'mwe-upwiz-more-options' => 'više opcija...',
@@ -1110,8 +1161,34 @@
11111162 'mwe-upwiz-error-date' => 'Molimo unesite valjan datum u formatu YYYY-MM-DD ili odaberite datum iz priručnog kalendara.',
11121163 'mwe-upwiz-license-cc-by-sa-3.0' => 'Creative Commons Navođenje izvora Pod istim uslovima 3.0',
11131164 'mwe-upwiz-license-cc-by-3.0' => 'Creative Commons Priznavanje autorstva 3.0',
 1165+ 'mwe-upwiz-license-cc-by-sa-2.5' => 'Creative Commons Navođenje izvora Pod istim uslovima 2.5',
 1166+ 'mwe-upwiz-license-cc-by-2.5' => 'Creative Commons Priznavanje autorstva 2.5',
 1167+ 'mwe-upwiz-license-cc-by-sa-2.0' => 'Creative Commons Navođenje izvora Pod istim uslovima 2.0',
 1168+ 'mwe-upwiz-license-cc-by-2.0' => 'Creative Commons Priznavanje autorstva 2.0',
11141169 'mwe-upwiz-license-cc-zero' => 'Creative Commons CC0 Otkazivanje (javna domena)',
 1170+ 'mwe-upwiz-license-fal' => 'Slobodna Umjetnička Licenca',
 1171+ 'mwe-upwiz-license-own-pd' => 'Javna domena (sva prava otpuštena sa Creative Commons Nultom licencom)',
 1172+ 'mwe-upwiz-license-pd-old-100' => 'Autor je umro prije više od 100 godina',
 1173+ 'mwe-upwiz-license-pd-old' => 'Autor je umro prije više od 70 godina',
 1174+ 'mwe-upwiz-license-pd-art' => 'Reprodukcija umjetničke slike koja je u javnoj domeni zbog svoje starosti',
 1175+ 'mwe-upwiz-license-pd-usgov' => 'Originalni rad od strane Američke federalne vlade',
 1176+ 'mwe-upwiz-license-pd-usgov-nasa' => 'Originalno djelo od NASA',
 1177+ 'mwe-upwiz-license-pd-usgov-military-navy' => 'Originalni rad od strane Američke vojne mornarice',
 1178+ 'mwe-upwiz-license-pd-ineligible' => 'Previše jednostavno za zaštitu autorskih prava',
 1179+ 'mwe-upwiz-license-pd-ineligible-help' => 'Budite oprezni s ovim. Slika izgleda veoma jednostavna, poput zelenog kruga ili crvenog kvadrata',
 1180+ 'mwe-upwiz-license-pd-textlogo' => 'Logo samo sa jednostavnim tekstom (trgovinski naziv)',
 1181+ 'mwe-upwiz-license-copyrighted-free-use' => 'Zaštićeno autorskim pravom, ali se može koristiti u bilo koju svrhu, ukljujući komercijalnu',
 1182+ 'mwe-upwiz-license-attribution' => 'Može se koristiti u bilo koju svrhu, ukljujući komercijalnu, ako je pravilno naveden vlasnik autorskog prava',
11151183 'mwe-upwiz-license-gfdl' => 'GNU licenca za slobodnu dokumentaciju',
 1184+ 'mwe-upwiz-license-cc-by-sa-3.0-gfdl' => 'Copyleft, neophodno navođenje autorstva (GFDL, CC-BY-SA-3.0)',
 1185+ 'mwe-upwiz-license-cc-by-3.0-gfdl' => 'Neophodno navođenje autorstva (GFDL, CC-BY-SA-3.0)',
 1186+ 'mwe-upwiz-license-cc-head' => 'Vlasnik autorskog prava je objavio {{PLURAL:$1|ovaj rad|ove radove}} pod Creative Commons licencom',
 1187+ 'mwe-upwiz-license-cc-subhead' => 'Nisu sve Creative Commons licence dobre za {{SITENAME}} -- provjerite da li je vlasnik autorskog prava koristio neku od ovih licenci.',
 1188+ 'mwe-upwiz-license-flickr-head' => 'Vlasnik autorskog prava je objavio {{PLURAL:$1|svoju sliku ili video|svoje slike ili video}} na Flickr sa pravom licencom',
 1189+ 'mwe-upwiz-license-flickr-subhead' => 'Provjerite naslov "License" (licenca) sa strane na stranici Flickr. I ikona i naslov licence koji su upotrebljeni moraju odgovarati jednom od izbora ovdje.',
 1190+ 'mwe-upwiz-license-public-domain-head' => 'Autorsko pravo je definitivno isteklo',
 1191+ 'mwe-upwiz-license-usgov-head' => '{{PLURAL:$1|Ovaj rad je bio|Ovi radovi su bili}} napravljeni od strane Vlade Sjedinjenih Američkih Država',
 1192+ 'mwe-upwiz-license-misc' => 'Ostali razlozi',
11161193 'mwe-upwiz-categories' => 'Kategorije',
11171194 'mwe-upwiz-categories-add' => 'Dodaj',
11181195 'mwe-upwiz-category-remove' => 'Ukloni ovu kategoriju',
@@ -1120,6 +1197,17 @@
11211198 'mwe-upwiz-help-popup-title' => 'Naslov',
11221199 'mwe-upwiz-thumbnail-failed' => 'Postavljanje je uspjelo, ali server nije mogao da pronađe pretpregled',
11231200 'mwe-upwiz-unparseable-filename' => 'Nisam mogao razumjeti ime datoteke "$1"',
 1201+ 'mwe-upwiz-image-preview' => 'Pregled slike',
 1202+ 'mwe-upwiz-feedback-note' => 'Vaša povratna informacija će biti objavljena na $1.',
 1203+ 'mwe-upwiz-feedback-subject' => 'Tema:',
 1204+ 'mwe-upwiz-feedback-message' => 'Poruka (bez potpisa):',
 1205+ 'mwe-upwiz-feedback-title' => 'Ostavite povratne informacije o čarobnjaku za postavljanje',
 1206+ 'mwe-upwiz-feedback-cancel' => 'Odustani',
 1207+ 'mwe-upwiz-feedback-submit' => 'Pošalji povratnu informaciju',
 1208+ 'mwe-upwiz-feedback-adding' => 'Dodajem povratne informacije na stranicu...',
 1209+ 'mwe-upwiz-feedback-error1' => 'Greška: Neprepoznati rezultat od API',
 1210+ 'mwe-upwiz-feedback-error2' => 'Greška: Uređivanje nije uspjelo',
 1211+ 'mwe-upwiz-feedback-error3' => 'Greška: Nema odgovora od API',
11241212 );
11251213
11261214 /** Catalan (Català)
@@ -1256,8 +1344,16 @@
12571345 'mwe-upwiz-error-date' => 'Zadejte platné datum ve formátu RRRR-MM-DD nebo vyberte datum z rozbalovacího kalendáře.',
12581346 'mwe-upwiz-license-cc-by-sa-3.0' => 'Creative Commons Uveďte autora-Zachovejte licenci 3.0',
12591347 'mwe-upwiz-license-cc-by-3.0' => 'Creative Commons Uveďte autora 3.0',
1260 - 'mwe-upwiz-license-cc-zero' => 'Uvolnění podle Creative Commons CC0',
 1348+ 'mwe-upwiz-license-cc-by-sa-2.5' => 'Creative Commons Uveďte autora-Zachovejte licenci 2.5',
 1349+ 'mwe-upwiz-license-cc-by-2.5' => 'Creative Commons Uveďte autora 2.5',
 1350+ 'mwe-upwiz-license-cc-by-sa-2.0' => 'Creative Commons Uveďte autora-Zachovejte licenci 2.0',
 1351+ 'mwe-upwiz-license-cc-by-2.0' => 'Creative Commons Uveďte autora 2.0',
 1352+ 'mwe-upwiz-license-cc-zero' => 'Uvolnění podle Creative Commons CC0 (public domain)',
 1353+ 'mwe-upwiz-license-pd-old-100' => 'Autor zemřel před více než 100 lety',
 1354+ 'mwe-upwiz-license-pd-old' => 'Autor zemřel před více než 70 lety',
 1355+ 'mwe-upwiz-license-pd-usgov' => 'Původní dílo federální vlády USA',
12611356 'mwe-upwiz-license-gfdl' => 'GNU Free Documentation License',
 1357+ 'mwe-upwiz-license-cc-by-sa-3.0-gfdl' => 'Copyleft, vyžadováno uvedení autora (GFDL, CC-BY-SA-3.0)',
12621358 'mwe-upwiz-categories' => 'Kategorie',
12631359 'mwe-upwiz-categories-add' => 'Přidat',
12641360 'mwe-upwiz-category-remove' => 'Odebrat tuto kategorii',
@@ -1490,7 +1586,7 @@
14911587 'mwe-upwiz-add-file-0-free' => 'Eine Mediendatei zum Hochladen als Dateispende auswählen',
14921588 'mwe-upwiz-browse' => 'Durchsuche …',
14931589 'mwe-upwiz-transport-started' => 'Starte …',
1494 - 'mwe-upwiz-uploading' => 'Lade hoch …',
 1590+ 'mwe-upwiz-uploading' => 'Am Hochladen …',
14951591 'mwe-upwiz-transported' => 'OK',
14961592 'mwe-upwiz-stashed-upload' => 'OK',
14971593 'mwe-upwiz-getting-metadata' => 'Abruf der Dateiinformationen und -vorschau …',
@@ -1508,7 +1604,7 @@
15091605 'mwe-upwiz-skip-tutorial-future' => 'Diesen Schritt zukünftig überspringen',
15101606 'mwe-upwiz-file-all-failed' => 'Das Hochladen aller Dateien ist fehlgeschlagen.',
15111607 'mwe-upwiz-upload-count' => '$1 von $2 {{PLURAL:$2|Datei|Dateien}} hochgeladen',
1512 - 'mwe-upwiz-progressbar-uploading' => 'Beim Hochladen',
 1608+ 'mwe-upwiz-progressbar-uploading' => 'Am Hochladen …',
15131609 'mwe-upwiz-finished' => 'Fertig!',
15141610 'mwe-upwiz-secs-remaining' => 'Noch $1 {{PLURAL:$1|Sekunde|Sekunden}}',
15151611 'mwe-upwiz-mins-secs-remaining' => 'Noch $1 {{PLURAL:$1|Minute|Minuten}} und $2 {{PLURAL:$2|Sekunde|Sekunden}}',
@@ -1584,7 +1680,7 @@
15851681 'mwe-upwiz-tooltip-author' => 'Der Name der Person, die entweder das Foto gemacht, das Bild gemalt, die Zeichnung angefertigt, etc. hat',
15861682 'mwe-upwiz-tooltip-source' => 'Woher diese Datei stammt - dies kann eine URL, ein Buch oder eine Publikation, etc. sein.',
15871683 'mwe-upwiz-tooltip-sign' => 'Du kannst deinen Benutzernamen auf diesem Wiki oder deinen bürgerlichen Namen verwenden. In beiden Fällen wird er mit deiner Benutzerseite verknüpft.',
1588 - 'mwe-upwiz-tooltip-title' => 'Ein kurzer Titel für die Datei. Normaler Text einschließlich Leerzeichen ist dabei möglich. Die Dateierweiterung darf aber nicht angegeben werden.',
 1684+ 'mwe-upwiz-tooltip-title' => 'Ein eindeutiger, einzigartiger Titel für die Datei. Normaler Text einschließlich Leerzeichen ist dabei möglich. Die Dateierweiterung darf aber nicht angegeben werden.',
15891685 'mwe-upwiz-dialog-title' => 'Dateien können mit Namen in jeder beliebigen Sprache und jeder Schriftart (kodiert als UTF-8) hochgeladen werden. Mediendateien sollten über einen auf den Inhalt schließen lassenden Namen verfügen.',
15901686 'mwe-upwiz-tooltip-description' => 'Beschreibe kurz alles Wichtige zu diesem Werk. Bei einem Foto beispielsweise die wichtigsten abgebildeten Bestandteile, den Anlass der Aufnahme und/oder den Standort.',
15911687 'mwe-upwiz-tooltip-categories' => 'Füge der Datei [$1 Kategorien] hinzu, damit sie leichter auffindbar wird.',
@@ -1653,6 +1749,17 @@
16541750 'mwe-upwiz-help-popup-title' => 'Titel',
16551751 'mwe-upwiz-thumbnail-failed' => 'Das Hochladen war erfolgreich, aber der Server kann keine Miniaturvorschau der Datei anzeigen.',
16561752 'mwe-upwiz-unparseable-filename' => 'Der Dateiname „$1“ wurde nicht verstanden.',
 1753+ 'mwe-upwiz-image-preview' => 'Bildvorschau',
 1754+ 'mwe-upwiz-feedback-note' => 'Die Rückmeldung wird auf $1 gespeichert.',
 1755+ 'mwe-upwiz-feedback-subject' => 'Betreff:',
 1756+ 'mwe-upwiz-feedback-message' => 'Nachricht (ohne Signatur):',
 1757+ 'mwe-upwiz-feedback-title' => 'Eine Rückmeldung bezüglich des Assistenten zum Hochladen von Dateien hinterlassen',
 1758+ 'mwe-upwiz-feedback-cancel' => 'Abbrechen',
 1759+ 'mwe-upwiz-feedback-submit' => 'Rückmeldung übermitteln',
 1760+ 'mwe-upwiz-feedback-adding' => 'Rückmeldung wird zur Seite hinzugefügt …',
 1761+ 'mwe-upwiz-feedback-error1' => 'Fehler: Unbekanntes Ergebnis der API',
 1762+ 'mwe-upwiz-feedback-error2' => 'Fehler: Bearbeitung gescheitert',
 1763+ 'mwe-upwiz-feedback-error3' => 'Fehler: Keine Antwort von der API',
16571764 );
16581765
16591766 /** German (formal address) (‪Deutsch (Sie-Form)‬)
@@ -3656,6 +3763,8 @@
36573764 'mwe-upwiz-change' => '(cambiar)',
36583765 'mwe-upwiz-fileexists-replace' => 'Un file con le titulo "$1" ja existe. Per favor modifica tu titulo pro render lo unic.',
36593766 'mwe-upwiz-fileexists' => 'Un file con iste nomine ja existe. Per favor verifica <b><tt>$1</tt></b> si tu non es secur de voler reimplaciar lo.',
 3767+ 'mwe-upwiz-fileexists-replace-on-page' => 'Un file con iste nomine existe jam. Si tu vole reimplaciar lo, tu pote facer lo desde le pagina pro [$2 $1].',
 3768+ 'mwe-upwiz-fileexists-replace-no-link' => 'Un file con iste nomine existe jam.',
36603769 'mwe-upwiz-thumbnail-more' => 'Aggrandir',
36613770 'mwe-upwiz-overwrite' => 'Reimplaciar le file',
36623771 'mwe-copyright-macro' => 'Como hic supra',
@@ -3740,6 +3849,17 @@
37413850 'mwe-upwiz-help-popup-title' => 'Titulo',
37423851 'mwe-upwiz-thumbnail-failed' => 'Le incargamento succedeva, ma le servitor non poteva obtener un miniatura de previsualisation.',
37433852 'mwe-upwiz-unparseable-filename' => 'Le nomine de file "$1" non esseva comprendite.',
 3853+ 'mwe-upwiz-image-preview' => 'Previsualisation del imagine',
 3854+ 'mwe-upwiz-feedback-note' => 'Tu responsa essera publicate in $1.',
 3855+ 'mwe-upwiz-feedback-subject' => 'Subjecto:',
 3856+ 'mwe-upwiz-feedback-message' => 'Message (sin signatura):',
 3857+ 'mwe-upwiz-feedback-title' => 'Da nos tu opinion super le assistente de incargamento',
 3858+ 'mwe-upwiz-feedback-cancel' => 'Cancellar',
 3859+ 'mwe-upwiz-feedback-submit' => 'Submitter opinion',
 3860+ 'mwe-upwiz-feedback-adding' => 'Le responsa es addite al pagina...',
 3861+ 'mwe-upwiz-feedback-error1' => 'Error: Resultato del API non recognoscite',
 3862+ 'mwe-upwiz-feedback-error2' => 'Error: Modification fallite',
 3863+ 'mwe-upwiz-feedback-error3' => 'Error: Nulle responsa del API',
37443864 );
37453865
37463866 /** Indonesian (Bahasa Indonesia)
@@ -3991,8 +4111,11 @@
39924112 'mwe-upwiz-api-error-unknown-error' => 'Errore interno: qualcosa è andato storto provando a caricare il file.',
39934113 'mwe-upwiz-api-error-internal-error' => "Errore interno: qualcosa è andato storto con l'elaborazione del tuo caricamento sulla wiki.",
39944114 'mwe-upwiz-api-error-overwrite' => 'Sovrascrivere un file esistente non è consentito.',
 4115+ 'mwe-upwiz-api-error-fetchfileerror' => 'Errore interno: qualcosa è andato storto durante il recupero del file.',
39954116 'mwe-upwiz-api-error-duplicate' => "Sul sito {{PLURAL:$1|c'è già [$2 un altro file]|ci sono già [$2 altri file]}} con lo stesso contenuto",
 4117+ 'mwe-upwiz-api-error-duplicate-popup-title' => 'File duplicat{{PLURAL:$1|o|i}}',
39964118 'mwe-upwiz-api-error-timeout' => 'Il server non ha risposto entro il tempo previsto.',
 4119+ 'mwe-upwiz-api-error-noimageinfo' => 'Il caricamento è riuscito, ma il server non ci ha dato alcuna informazione sul file.',
39974120 'mwe-upwiz-api-warning-exists' => "Nella wiki c'è già [$1 un altro file] con lo stesso nome",
39984121 'mwe-upwiz-tutorial-error-localized-file-missing' => 'Spiacenti, non abbiamo trovato un tutorial nella tua lingua. Viene visualizzato quello in inglese.',
39994122 'mwe-upwiz-tutorial-error-file-missing' => 'Spiacenti, non abbiamo trovato alcun file per il tutorial che dovrebbe andare qui. Si prega di contattare gli amministratori di sistema.',
@@ -4028,13 +4151,17 @@
40294152 'mwe-upwiz-deeds-custom-prompt' => 'Oppure:',
40304153 'mwe-upwiz-source-ownwork' => '{{PLURAL:$1|Questo file è|Questi files sono}} opera mia.',
40314154 'mwe-upwiz-source-ownwork-assert-any-license' => "Io, $2, detentore del copyright su {{PLURAL:$1|quest'opera|queste opere}}, concedo irrevocabilmente a chiunque il diritto di utilizzare, modificare e ridistribuire {{PLURAL:$1|quest'opera|queste opere}} per qualsiasi scopo, e dunque {{PLURAL:$1|la|le}} pubblico sotto i seguenti termini:",
 4155+ 'mwe-upwiz-source-ownwork-assert' => 'Io, $2, il detentore del copyright di {{PLURAL:$1|questa opera|queste opere}}, con la presente garantisco irrevocabilmente a chiunque il diritto di utilizzare {{PLURAL:$1|questa opera|queste opere}} per qualsiasi scopo, alla condizione che me {{PLURAL:$1|la|le}} attribuiscano e che condividano le eventuali opere derivate alle stesse condizioni.',
40324156 'mwe-upwiz-source-ownwork-assert-custom' => "Io, $2, detentore del copyright su {{PLURAL:$1|quest'opera|queste opere}}, dichiaro di pubblicar{{PLURAL:$1|la|le}} con le seguenti licenze:",
 4157+ 'mwe-upwiz-source-ownwork-assert-note' => 'Questo significa che pubblichi la tua opera sotto una licenza Creative Commons Attribuzione - Condividi allo stesso modo.',
40334158 'mwe-upwiz-source-permission' => 'Il loro autore ti ha dato il permesso esplicito di caricarle',
40344159 'mwe-upwiz-source-thirdparty' => '{{PLURAL:$1|Questo file non è|Questi files non sono}} opera mia.',
40354160 'mwe-upwiz-source-thirdparty-intro' => "Inserisci l'indirizzo a cui hai trovato ciascun file.",
40364161 'mwe-upwiz-source-thirdparty-custom-multiple-intro' => 'Se tutti i file hanno stessa fonte, autore e stato di copyright, puoi inserirli solo una volta per tutti quanti.',
40374162 'mwe-upwiz-source-thirdparty-license' => "Il detentore del copyright di {{PLURAL:$1|questa opera|queste opere}} {{PLURAL:$1|l'ha pubblicata|le ha pubblicate}} con la seguente licenza/e:",
 4163+ 'mwe-upwiz-source-thirdparty-cases' => "Adesso dicci perché sei sicuro che {{SITENAME}} abbia il diritto di pubblicare {{PLURAL:$1|quest'opera|queste opere}}:",
40384164 'mwe-upwiz-source-thirdparty-accept' => 'OK',
 4165+ 'mwe-upwiz-source-custom' => 'Fornisci le informazioni sul copyright per ciascun file separatamente nella prossima pagina.',
40394166 'mwe-upwiz-more-options' => 'più opzioni...',
40404167 'mwe-upwiz-fewer-options' => 'meno opzioni...',
40414168 'mwe-upwiz-desc' => 'Descrizione',
@@ -4128,6 +4255,27 @@
41294256 'mwe-upwiz-error-date' => 'Inserisci una data valida nel formato AAAA-MM-GG, o scegli una data dal calendario.',
41304257 'mwe-upwiz-license-cc-by-sa-3.0' => 'Creative Commons Attribuzione-Condividi allo stesso modo 3.0',
41314258 'mwe-upwiz-license-cc-by-3.0' => 'Creative Commons Attribuzione 3.0',
 4259+ 'mwe-upwiz-license-cc-by-sa-2.5' => 'Creative Commons Attribuzione-Condividi allo stesso modo 2.5',
 4260+ 'mwe-upwiz-license-cc-by-2.5' => 'Creative Commons Attribuzione 2.5',
 4261+ 'mwe-upwiz-license-cc-by-sa-2.0' => 'Creative Commons Attribuzione-Condividi allo stesso modo 2.0',
 4262+ 'mwe-upwiz-license-cc-by-2.0' => 'Creative Commons Attribuzione 2.0',
 4263+ 'mwe-upwiz-license-pd-old-100' => "L'autore è morto più di 100 anni fa",
 4264+ 'mwe-upwiz-license-pd-old' => "L'autore è morto più di 70 anni fa",
 4265+ 'mwe-upwiz-license-pd-art' => 'Riproduzione di un dipinto che è di pubblico dominio a causa della sua età',
 4266+ 'mwe-upwiz-license-pd-usgov' => 'Opera originale del governo federale degli Stati Uniti',
 4267+ 'mwe-upwiz-license-pd-usgov-nasa' => 'Opera originale della NASA',
 4268+ 'mwe-upwiz-license-pd-ineligible' => 'Troppo semplice per essere protetta da copyright',
 4269+ 'mwe-upwiz-license-pd-ineligible-help' => "Fai attenzione qui. L'immagine deve essere davvero semplice, come un cerchio verde o un quadrato rosso.",
 4270+ 'mwe-upwiz-license-attribution' => 'Può essere usata per qualsiasi scopo, anche commercialmente, se il detentore del copyright è correttamente attribuito',
 4271+ 'mwe-upwiz-license-cc-by-sa-3.0-gfdl' => 'Copyleft, attribuzione richiesta (GFDL, CC-BY-SA-3.0)',
 4272+ 'mwe-upwiz-license-cc-by-3.0-gfdl' => 'Attribuzione richiesta (GFDL, CC-BY-SA-3.0)',
 4273+ 'mwe-upwiz-license-cc-head' => 'Il detentore del copyright ha pubblicato {{PLURAL:$1|questa opera|queste opere}} con la corretta licenza Creative Commons',
 4274+ 'mwe-upwiz-license-cc-subhead' => 'Non tutte le licenze Creative Commons sono adatte per {{SITENAME}} - assicurati che il detentore del copyright abbia usato una di queste licenze.',
 4275+ 'mwe-upwiz-license-flickr-head' => 'Il detentore del copyright ha pubblicato {{PLURAL:$1|la propria|le proprie}} foto o video su Flickr con la licenza corretta',
 4276+ 'mwe-upwiz-license-flickr-subhead' => 'Controlla l\'intestazione "Licenza" a lato della pagina di Flickr. Sia le icone che il nome della licenza che compaiono lì devono corrispondere a una delle scelte qui sotto.',
 4277+ 'mwe-upwiz-license-public-domain-head' => 'Il copyright è scaduto definitivamente',
 4278+ 'mwe-upwiz-license-usgov-head' => '{{PLURAL:$1|Questa opera è stata realizzata|Queste opere sono state realizzate}} dal governo degli Stati Uniti',
 4279+ 'mwe-upwiz-license-misc' => 'Varie ragioni',
41324280 'mwe-upwiz-categories' => 'Categorie',
41334281 'mwe-upwiz-categories-add' => 'Aggiungi',
41344282 'mwe-upwiz-category-remove' => 'Elimina questa categoria',
@@ -4136,6 +4284,17 @@
41374285 'mwe-upwiz-help-popup-title' => 'Titolo',
41384286 'mwe-upwiz-thumbnail-failed' => 'Il caricamento è riuscito, ma il server non ha potuto generare una miniatura di anteprima.',
41394287 'mwe-upwiz-unparseable-filename' => 'Non è stato possibile capire il nome del file "$1"',
 4288+ 'mwe-upwiz-image-preview' => "Anteprima dell'immagine",
 4289+ 'mwe-upwiz-feedback-note' => 'Il tuo feedback sarà inviato a $1.',
 4290+ 'mwe-upwiz-feedback-subject' => 'Oggetto:',
 4291+ 'mwe-upwiz-feedback-message' => 'Messaggio (senza firma):',
 4292+ 'mwe-upwiz-feedback-title' => 'Lascia un feedback su Upload Wizard',
 4293+ 'mwe-upwiz-feedback-cancel' => 'Annulla',
 4294+ 'mwe-upwiz-feedback-submit' => 'Invia feedback',
 4295+ 'mwe-upwiz-feedback-adding' => 'Inserimento del feedback nella pagina...',
 4296+ 'mwe-upwiz-feedback-error1' => 'Errore: Dalla API è arrivato un risultato non riconosciuto',
 4297+ 'mwe-upwiz-feedback-error2' => 'Errore: Non è stato possibile eseguire la modifica',
 4298+ 'mwe-upwiz-feedback-error3' => 'Errore: Nessuna risposta dalla API',
41404299 );
41414300
41424301 /** Japanese (日本語)
@@ -4505,6 +4664,10 @@
45064665 * @author Purodha
45074666 */
45084667 $messages['ksh'] = array(
 4668+ 'uploadwizard' => 'Projramm för et Huhlaade',
 4669+ 'uploadwizard-desc' => 'Dat Projramm för et Datteije Huhlaade, wat met däm Spendejeld för de Bruchbaakeit met ville Meedije äntweckelt woode es.',
 4670+ 'mwe-upwiz-js-off' => 'Projramm för et Datteije Huhlaade bruch JavaSkerp, öm et schööner för der Aanwender ze maache. Dinge Brauser kann entweeder kein JavaSkrep, udder et es affjeschaldt. Dröm kriß De en eijfaacher Fommulaa för et Huhlaade aanjezeijsch.',
 4671+ 'mwe-loading-upwiz' => 'Dat Projramm för et Huhlaade vun Datteije weed jraad jelaade.',
45094672 'mwe-upwiz-code-unknown' => 'Di Shprooch es onbikannt.',
45104673 'mwe-upwiz-step-tutorial' => 'Liehre',
45114674 'mwe-upwiz-step-file' => 'Huhlaade',
@@ -4535,6 +4698,7 @@
45364699 'mwe-upwiz-api-error-unknown-error' => 'Fähler: Mer han et Huhlaade versöhk, ävver et es jät donävve jejange.',
45374700 'mwe-upwiz-api-error-internal-error' => 'Fähler: Noh em Huhlaade en et Wiki es em Wiki jät scheif jeloufe.',
45384701 'mwe-upwiz-api-error-overwrite' => 'En Dattei ze övverschrieve es nit zohjelohße.',
 4702+ 'mwe-upwiz-api-error-badtoken' => 'Fähler: et Kännzeijsche (<i lang="en">token</i>) es kappott.',
45394703 'mwe-upwiz-api-error-fetchfileerror' => 'Fähler: Beim eronger Laade hät jät nit jeflupp.',
45404704 'mwe-upwiz-api-error-duplicate' => 'Mer han em Wiki ald {{PLURAL:$1|[$2 en Dattei][$2 $1 andere Datteije]][$2 kein Dattei]}} mem akeraat sellve Enhalldt.',
45414705 'mwe-upwiz-api-error-duplicate-popup-title' => 'Di {{PLURAL:$1|Datei es|Dateie sen|Datei es}} ald doh!',
@@ -4543,26 +4707,124 @@
45444708 'mwe-upwiz-api-warning-exists' => 'Mer han ald [$1 en Dattei mem sellve Naame] em Wiki.',
45454709 'mwe-upwiz-tutorial-error-localized-file-missing' => 'Mer han leider kei Projramm zom Liehre en Dinge Shprooch.
45464710 Dröm kreß De dat Projramm op Änglesch aanjezeish.',
 4711+ 'mwe-upwiz-tutorial-error-file-missing' => 'Es schaad, mer kunnte keine vun dä Datteije fenge, di heh vörkumme sullte. Bes esu jood un verzäll dat dä Wiki_Köbeße.',
 4712+ 'mwe-upwiz-tutorial-error-cannot-transform' => 'Es schaad, mer kunnte kein Beld fenge, wat heh op dä Beldscherrm paße däät. Dat künnt e Problem op Wikimedia Commons sin, wat flöck wider vöbei es. Versöhg et eijfach shpääder norr_ens.',
 4713+ 'mwe-upwiz-help-desk' => 'Hülp (vun Minsche)',
 4714+ 'mwe-upwiz-add-file-n' => 'Donn norr_en Dattei dobei',
 4715+ 'mwe-upwiz-add-file-0' => 'Donn en Meedije_Dattei för et Huhlaade ußsöhke',
 4716+ 'mwe-upwiz-add-file-0-free' => 'Donn en Meedije_Dattei för et Verschenke ußsöhke',
 4717+ 'mwe-upwiz-browse' => 'Dattei&nbsp;Söhke&nbsp;…',
 4718+ 'mwe-upwiz-transport-started' => 'Ben am Aanfange&nbsp;…',
 4719+ 'mwe-upwiz-uploading' => 'Ben am Huhlaade …',
 4720+ 'mwe-upwiz-transported' => 'Fädesch met Huhlaade&nbsp;…',
 4721+ 'mwe-upwiz-stashed-upload' => 'Fäädesch.',
 4722+ 'mwe-upwiz-getting-metadata' => 'Ben de Einzelheit övver de Datteije un der ier Vör_Aanseshte aam laade&nbsp;…',
 4723+ 'mwe-upwiz-failed' => 'Donävvejejange.',
 4724+ 'mwe-upwiz-click-here' => 'Donn en Dattei huh laade.',
 4725+ 'mwe-upwiz-editing' => 'Aam Ändere&nbsp;…',
 4726+ 'mwe-upwiz-remove' => 'Eruß nämme',
 4727+ 'mwe-upwiz-remove-upload' => 'Donn di Dattei uß dä Leß zom Huhlaade wider eruß nämme',
 4728+ 'mwe-upwiz-remove-description' => 'Donn heh Täx fott schmieße',
45474729 'mwe-upwiz-upload' => 'Huhlaade',
 4730+ 'mwe-upwiz-file-all-ok' => 'Et Huhlaade hät för se all jeflupp.',
 4731+ 'mwe-upwiz-file-some-failed' => 'Et Huhlaade es för eine Deil vun dä Datteije donävve jejange.',
 4732+ 'mwe-upwiz-file-retry' => 'Wat donävve jejange wohr, norr_ens versöhke',
45484733 'mwe-upwiz-next-file-despite-failures' => 'Trozdämm wigger maache!',
 4734+ 'mwe-upwiz-skip-tutorial-future' => 'Donn dä Schrett för de Zukunf övverjonn',
 4735+ 'mwe-upwiz-file-all-failed' => 'Nix vum Huhlaade es jood jejange.',
 4736+ 'mwe-upwiz-upload-count' => '{{PLURAL:$1|{{PLURAL:$2|Die|Ein|Fähler!}} Dattei|$1 Datteije|Kein Dattei}} {{PLURAL:$2||vun $2 Datteije|vun nix}} {{PLURAL:$1|wood|woodte|wood}} huhjelaade.',
45494737 'mwe-upwiz-progressbar-uploading' => 'Aam Huhlaade',
45504738 'mwe-upwiz-finished' => 'Fäädesch!',
 4739+ 'mwe-upwiz-secs-remaining' => 'Noch $1 {{PLURAL:$1|Sekund|Sekunde|Sekunde}}',
 4740+ 'mwe-upwiz-mins-secs-remaining' => 'Noch $1 {{PLURAL:$1|Menut|Menutte|Menutte}} un $2 {{PLURAL:$2|Sekund|Sekunde|Sekunde}}',
 4741+ 'mwe-upwiz-hrs-mins-secs-remaining' => 'Noch $1 {{PLURAL:$1|Shtund|Shtunde|Shtunde}}, $2 {{PLURAL:$2|Menut|Menutte|Menutte}} un $3 {{PLURAL:$3|Sekund|Sekunde|Sekunde}}',
 4742+ 'mwe-upwiz-deeds-macro-prompt' => '{{GRAMMAR:Nominative|{{SITENAME}}}} bruch Enfommazjuhne övver et Urhävverrääsch för heh {{PLURAL:$1|dat Wärrek|di Wärreke|dat Nix}}, domet jewweß es, dat {{PLURAL:$1|et|se|Fähler}} jeeder_ein rääschmääßesch bruche darref.',
45514743 'mwe-upwiz-deeds-custom-prompt' => 'Udder:',
 4744+ 'mwe-upwiz-source-ownwork' => 'Heh di {{PLURAL:$1|Datei|Dateije}} han esch selfß jemaat.',
 4745+ 'mwe-upwiz-source-thirdparty-accept' => 'Lohß Jonn!',
45524746 'mwe-upwiz-title' => 'Tėttel',
 4747+ 'mwe-upwiz-filename-tag' => 'Dä Dattei iere Name',
45534748 'mwe-upwiz-cancel' => 'Ophüre',
 4749+ 'mwe-upwiz-change' => '(ändere)',
45544750 'mwe-upwiz-fileexists' => 'En Dattei met dämm Name jidd_et ald. Beß esu joot un donn <b><tt>$1</tt></b> prööfe, wann De Der nit sescher beß, of De jät ändere wells.',
4555 - 'mwe-upwiz-tooltip-other' => 'Alles, wat De söns noch övver da Wärk heh beizedraare häß.
4556 -(För e Beishpell, donn Schabloone met <a target="_blank" href="http://commons.wikimedia.org/wiki/Commons:Geocoding">Ko\'odinaate för ene Plaz op de Ääd</a> noh heh)',
 4751+ 'mwe-upwiz-thumbnail-more' => 'Jrüüßer maache',
 4752+ 'mwe-upwiz-overwrite' => 'Donn di Dattei ußtuusche',
 4753+ 'mwe-copyright-macro' => 'Esu wi bovve',
 4754+ 'mwe-copyright-custom' => 'Selfs enjeshtallt',
 4755+ 'mwe-upwiz-next' => 'Nächs',
 4756+ 'mwe-upwiz-next-file' => 'Wiggermaache',
 4757+ 'mwe-upwiz-next-deeds' => 'Nächs',
 4758+ 'mwe-upwiz-next-details' => 'Nächs',
 4759+ 'mwe-upwiz-home' => 'Jangk op dem Wiki sing Houpsigg',
 4760+ 'mwe-upwiz-upload-another' => 'Mieh Datteije huhlaade',
 4761+ 'mwe-prevent-close' => 'Ding Datteije sin jraad huhjellaade wääde.
 4762+Wells De verhaftesch fottjonn vun heh dä Sigg?',
 4763+ 'mwe-upwiz-files-complete' => 'Ding Datteije sin jäz fäädesch huhjelaade.',
 4764+ 'mwe-upwiz-tooltip-author' => 'Dä Name vun däm, dä dat Fotto jeknips hät, dat Beld jemohlt udder jezeishnet hät, un esu wigger',
 4765+ 'mwe-upwiz-tooltip-source' => 'Vun woh di Dattei her kütt — dat künnd en URL sin, e Booch, udder en ander Zoot Veröffentleschong',
 4766+ 'mwe-upwiz-tooltip-sign' => 'Do kanns Dinge Name als Metmaacher vum Wiki enjävve udder och Dinge ääshte Name.
 4767+En jedem Fall weed doh enen Lengk op Ding Metmaacher_Sigg heh em Wiki druß jemaat.',
 4768+ 'mwe-upwiz-tooltip-title' => 'Ene Tittel för di Dattei. Dä darf bei noch kein ander Dattei verjovve sin, sin un sullt se joot beschrieve. Do kann en janz nomaal Shprooch bruch, och met zwescheräum. Bloß dat Köözel am Engk för de Zoot Dattei lohß fott!',
 4769+ 'mwe-upwiz-dialog-title' => 'Datteije künne met Name en jeeder Shprooch un jeeder Schreff huhjelaade wääde. Di möße en UTF-8 kodeet sin. Tittelle vun Meedije-Datteije sullte ene Senn han en dä Shprooch un kloh maache, woh dröm et jeiht.',
 4770+ 'mwe-upwiz-tooltip-description' => 'Schrief koot op, wat mer övver dat Wärk weße moß.
 4771+För e Fotto, schrief de Houpsaache op, di mer süht, de Jelääjeheit un der Plaz wo_t jeknips wood.',
 4772+ 'mwe-upwiz-tooltip-categories' => 'Add [$1 categories] to
 4773+Ding Dattei, domet mer se besser fenge kann.
 4774+',
 4775+ 'mwe-upwiz-tooltip-other' => "Alles, wat De söns noch övver da Wärk heh beizedraare häß — för e Beishpell, donn Schabloone met Ko'odinaate för ene Plaz op de Ääd noh heh, udder esu jät.",
 4776+ 'mwe-upwiz-tooltip-more-info' => 'Fengk mieh erus.',
 4777+ 'mwe-upwiz-file-need-file' => 'Donn ets en Dattei zom Huhlaade dobei.',
 4778+ 'mwe-upwiz-file-need-start' => 'Donn heh dä Knopp klecke, öm mem Huhlaade annzefange.',
 4779+ 'mwe-upwiz-file-need-complete' => 'Bes esu jood un donn waade, bes dat all de Datteije fäädesch huhjelaade sin.',
 4780+ 'mwe-upwiz-deeds-need-deed' => 'Bes esu joot un donn kloh maache, woh De {{PLURAL:$1|di Dattei|di Datteije|di noll Datteije}} her häs, un wi se heh jebruch wääde {{PLURAL:$1|kann|künne|künne}}, endämm dat De ein vun dä Müjjeleschkeite ußsöhks.',
 4781+ 'mwe-upwiz-deeds-need-license' => 'Donn en Lizänz ußwähle.',
 4782+ 'mwe-upwiz-license-incompatible-pd' => 'De Allmände (Jemeinfreiheit, <i lang="en">public domain</i>) paß mit keine andere Zoot Lizänz zosamme.',
 4783+ 'mwe-upwiz-license-incompatible-cc' => 'Do kanns bloß ein vun dä Lizänze vun de <i lang="en">Creative Commons</i> ußsöhke.',
 4784+ 'mwe-upwiz-license-show-all-any-license' => 'Ander Ußwahle',
 4785+ 'mwe-upwiz-license-show-all' => 'Nämm en ander Lizänz',
 4786+ 'mwe-upwiz-license-show-recommended' => 'Donn de vürjeschlaare Lizänz nämme',
 4787+ 'mwe-upwiz-error-signature-blank' => 'Do moß en däm Feld onge Dinge Metmaacher_Name udder Dinge kumplätte jewöhnlijje Name eren schrieve.',
 4788+ 'mwe-upwiz-error-signature-too-long' => 'Ding „Ongerschreff“ es zoh lang.
 4789+Se moß kööter wi {{PLURAL:$1|ei|$1|kei}} Zeishe sin.',
 4790+ 'mwe-upwiz-error-signature-too-short' => 'Ding "Ongerschreff" es zoh koot.
 4791+Se moß mieh wi {{PLURAL:$1|ei|$1|kei}} Zeishe lang sin.',
 4792+ 'mwe-upwiz-error-signature-bad-chars' => 'En Dinge „Ongerschreff“ doh sin Zeishe dren, di nit jon.
 4793+Don keine Wikitäx un kei <i lang="en">HTML</i> enjävve.',
 4794+ 'mwe-upwiz-error-blank' => 'Dat moß aanjejovve sin.',
 4795+ 'mwe-upwiz-error-too-long' => 'Dat heh es zoh lang.
 4796+Et moß kööter wi {{PLURAL:$1|ei|$1|kei}} Zeishe sin.',
 4797+ 'mwe-upwiz-error-too-short' => 'Dat heh es zoh koot.
 4798+Et moß kööter wi {{PLURAL:$1|ei|$1|kei}} Zeishe sin.',
45574799 'mwe-upwiz-error-bad-chars' => 'En däm enjejovve Feld shtonn Zeijshe, di doh nit ze bruche sen.
45584800 Bes esu joot, un donn keine Wikitäx un kei <i lang="en">HTML</i> heh enjävve.',
45594801 'mwe-upwiz-error-date' => 'Bes esu joot, un donn e jöltesch Dattum em Fommaat <span title="Johres-Nommer noh Chrestus">Johr</span>-<span title="Ennem Mohnd sing Nommer">MM</span>-<span title="De Nommer vum Daach em Mohnd">DD</span> met bloß Nommere enjävve. Do kanns och e Dattum tiräk uss_em Kalländer ußsöhke, dä doh huh kütt.',
 4802+ 'mwe-upwiz-license-pd-ineligible' => 'Zoh winnisch draan för e Urhävverrääsch',
 4803+ 'mwe-upwiz-license-pd-ineligible-help' => 'Beß vörseshtesch doh met. Dat Beld moß verhaftish janz eijfach sin, wi ene jrööne Kries udder e Vieräck en ruud.',
 4804+ 'mwe-upwiz-license-pd-textlogo' => 'E Loogo med enem beßje Täx (en Woot_Marrek)',
 4805+ 'mwe-upwiz-license-copyrighted-free-use' => 'Häd e Urhävverrääsch, kann ävver för alles jebruch wääde, och jeschäfflesch',
 4806+ 'mwe-upwiz-license-attribution' => 'Kann för alles jebruch wääde, och jeschäfflesch, wann dä Urhävverrääschsbesezer op en paßende Aat jenannd es',
 4807+ 'mwe-upwiz-license-public-domain-head' => 'Däm Urhävverrääsch sing Zigg es verhaftesch eröm',
 4808+ 'mwe-upwiz-license-usgov-head' => 'Heh {{PLURAL:$1|dat Wärk wohr|di Wärke wohre}} vun de Rejierong vun de Vereineshte Shtaate vun Amärrika jemaat woode',
 4809+ 'mwe-upwiz-license-misc' => 'Sönß noch Jrönde',
45604810 'mwe-upwiz-categories' => 'Saachjroppe',
45614811 'mwe-upwiz-categories-add' => 'Dobei donn',
45624812 'mwe-upwiz-category-remove' => 'Donn di Saachjropp fott',
 4813+ 'mwe-upwiz-thanks-caption' => 'Donn dä Ongertittel noh heh',
45634814 'mwe-upwiz-help-popup' => 'Hölp',
45644815 'mwe-upwiz-help-popup-title' => 'Tittel',
45654816 'mwe-upwiz-thumbnail-failed' => 'Dat Huhlaade hät jeflupp, ävver mer künne kein Minni_Beldshe vör de Vörschau krijje.',
45664817 'mwe-upwiz-unparseable-filename' => 'Mer kunnte dä Name „$1“ fö di Dattei nit vershtonn.',
 4818+ 'mwe-upwiz-image-preview' => 'Vör_Aansesh vun däm Beld',
 4819+ 'mwe-upwiz-feedback-note' => 'Ding Röckmäldong küdd op $1.',
 4820+ 'mwe-upwiz-feedback-subject' => 'Theema:',
 4821+ 'mwe-upwiz-feedback-message' => 'Nohreesch, der ohne en „Ongerschreff“:',
 4822+ 'mwe-upwiz-feedback-title' => 'Donn en Röckmäldong övver dat Projramm zum Bellder huhlaade affjävve',
 4823+ 'mwe-upwiz-feedback-cancel' => 'Stopp! Avbreche!',
 4824+ 'mwe-upwiz-feedback-submit' => 'Lohß jonn!',
 4825+ 'mwe-upwiz-feedback-adding' => 'Ben di Röckmäldong op di Sigg aam donn&nbsp;…',
 4826+ 'mwe-upwiz-feedback-error1' => 'Fähler: dat <i lang="en">API</i> säät jät, wat mer nit kenne',
 4827+ 'mwe-upwiz-feedback-error2' => 'Fähler: de Sigg ze ändere es donävve jejange',
 4828+ 'mwe-upwiz-feedback-error3' => 'Fähler: dat <i lang="en">API</i> joov kein Antwoot',
45674829 );
45684830
45694831 /** Luxembourgish (Lëtzebuergesch)
@@ -4750,6 +5012,8 @@
47515013 'mwe-upwiz-help-popup-title' => 'Titel',
47525014 'mwe-upwiz-thumbnail-failed' => "D'Eroplueden huet geklappt, mä de Server ka kee Miniaturbild vum Fichier weisen.",
47535015 'mwe-upwiz-unparseable-filename' => 'Den Numm vum Fichier "$1" gouf net verstan',
 5016+ 'mwe-upwiz-feedback-subject' => 'Sujet:',
 5017+ 'mwe-upwiz-feedback-message' => 'Message (ouni Ënnerschrëft):',
47545018 );
47555019
47565020 /** Macedonian (Македонски)
@@ -4849,6 +5113,7 @@
48505114 'mwe-upwiz-source-thirdparty-intro' => 'Внесете ги адресите кадешто ги најдовте податотеките.',
48515115 'mwe-upwiz-source-thirdparty-custom-multiple-intro' => 'Доколку сите податотеки имаат еден ист извор, автор и правен статус, тогаш внесете ги тие податоци само еднаш.',
48525116 'mwe-upwiz-source-thirdparty-license' => 'Имателот на авторските права на {{PLURAL:$1|ова дело|овие дела}} {{PLURAL:$1|го|ги}} објавил под следнава/иве лиценца/ци:',
 5117+ 'mwe-upwiz-source-thirdparty-cases' => 'Сега кажете ни зошто сте сигурни дека {{SITENAME}} има право да {{PLURAL:$1|го објави ова дело|ги објави овие дела}}:',
48535118 'mwe-upwiz-source-thirdparty-accept' => 'ОК',
48545119 'mwe-upwiz-source-custom' => 'На следната страница наведете информации за авторските права на секоја податотека засебно.',
48555120 'mwe-upwiz-more-options' => 'повеќе можности...',
@@ -4940,8 +5205,34 @@
49415206 'mwe-upwiz-error-date' => 'Внесете важечки датум во форматот ГГГГ-ММ-ДД, или пак одберете датум од скокачкиот календар.',
49425207 'mwe-upwiz-license-cc-by-sa-3.0' => 'Криејтив комонс НаведиИзвор-СподелиПодИстиУслови 3.0',
49435208 'mwe-upwiz-license-cc-by-3.0' => 'Криејтив комонс НаведиИзвор 3.0',
 5209+ 'mwe-upwiz-license-cc-by-sa-2.5' => 'Криејтив комонс НаведиИзвор-СподелиПодИстиУслови 3.0',
 5210+ 'mwe-upwiz-license-cc-by-2.5' => 'Криејтив комонс НаведиИзвор 2.5',
 5211+ 'mwe-upwiz-license-cc-by-sa-2.0' => 'Криејтив комонс НаведиИзвор-СподелиПодИстиУслови 2.0',
 5212+ 'mwe-upwiz-license-cc-by-2.0' => 'Криејтив комонс НаведиИзвор 2.0',
49445213 'mwe-upwiz-license-cc-zero' => 'Криејтив комонс CC0 Откажување (јавна сопственост)',
 5214+ 'mwe-upwiz-license-fal' => 'Слободна уметничка лиценца (FAL)',
 5215+ 'mwe-upwiz-license-own-pd' => 'Јавна сопственост (се откажувате од сите права по лиценцата Криејтив комонс Нула)',
 5216+ 'mwe-upwiz-license-pd-old-100' => 'Авторот починал пред повеќе од 100 години',
 5217+ 'mwe-upwiz-license-pd-old' => 'Авторот починал пред повеќе од 70 години',
 5218+ 'mwe-upwiz-license-pd-art' => 'Репродукција на уметничка слика што е јавна сопственост поради нејзината старост',
 5219+ 'mwe-upwiz-license-pd-usgov' => 'Изворно дело на Федералната влада на САД',
 5220+ 'mwe-upwiz-license-pd-usgov-nasa' => 'Изворно дело на НАСА',
 5221+ 'mwe-upwiz-license-pd-usgov-military-navy' => 'Изворно дело на Воената морнарица на САД',
 5222+ 'mwe-upwiz-license-pd-ineligible' => 'Премногу едноставно за да подлежи на авторски права',
 5223+ 'mwe-upwiz-license-pd-ineligible-help' => 'Бидете внимателни со ова . Сликата треба да биде многу проста, како на пр. зелен круг или црвен квадрат',
 5224+ 'mwe-upwiz-license-pd-textlogo' => 'Лого што има само прост текст (жиг)',
 5225+ 'mwe-upwiz-license-copyrighted-free-use' => 'Заштитено, но може да се користи за било каква цел, вклучувајќи комерцијално',
 5226+ 'mwe-upwiz-license-attribution' => 'Може да се користи за било каква цел, вклулчувајќи комерцијално, доколку е соодветно наведен имателот на авторското право',
49455227 'mwe-upwiz-license-gfdl' => 'ГНУ-ова лиценца за слободна документација',
 5228+ 'mwe-upwiz-license-cc-by-sa-3.0-gfdl' => 'Копилефт, задолжително наведување (ГЛСД, CC-BY-SA-3.0)',
 5229+ 'mwe-upwiz-license-cc-by-3.0-gfdl' => 'Задолжително наведување (ГЛСД, CC-BY-SA-3.0)',
 5230+ 'mwe-upwiz-license-cc-head' => 'Имателот на правата {{PLURAL:$1|го објавил делово|ги објавил овие дела}} под соодветна лиценца Криејтив комонс',
 5231+ 'mwe-upwiz-license-cc-subhead' => 'Не сите лиценци на Криејтив комонс се погодни за на {{SITENAME}} -- проверете дали имателот на правата одбрал една од овие лиценци.',
 5232+ 'mwe-upwiz-license-flickr-head' => 'Имателот на правата {{PLURAL:$1|ја објавил оваа слика или видеоснимка|ги објавил овие слики или видеоснимки}} на Flickr под соодветна лиценца',
 5233+ 'mwe-upwiz-license-flickr-subhead' => 'Проверете го заглавјето „Лиценца“ (License) што стои бочно на страницата на Flickr. Иконите и називот на лиценцата мора да се совпаѓаат со една од тука понудените лиценци.',
 5234+ 'mwe-upwiz-license-public-domain-head' => 'Авторските права се дефинитивно истечени',
 5235+ 'mwe-upwiz-license-usgov-head' => '{{PLURAL:$1|Ова дело е|Овие дела се}} творба на владата на САД',
 5236+ 'mwe-upwiz-license-misc' => 'Разни причини',
49465237 'mwe-upwiz-categories' => 'Категории',
49475238 'mwe-upwiz-categories-add' => 'Додај',
49485239 'mwe-upwiz-category-remove' => 'Отстрани ја категоријава',
@@ -4950,6 +5241,17 @@
49515242 'mwe-upwiz-help-popup-title' => 'Наслов',
49525243 'mwe-upwiz-thumbnail-failed' => 'Подигањето успеа, но опслужувачот не можеше да понуди минијатура за преглед',
49535244 'mwe-upwiz-unparseable-filename' => 'Не го разбрав податотечното име „$1“',
 5245+ 'mwe-upwiz-image-preview' => 'Преглед на сликата',
 5246+ 'mwe-upwiz-feedback-note' => 'Вашиот одѕив ќе биде објавен на $1.',
 5247+ 'mwe-upwiz-feedback-subject' => 'Наслов:',
 5248+ 'mwe-upwiz-feedback-message' => 'Порака (без потпис):',
 5249+ 'mwe-upwiz-feedback-title' => 'Дајте ваше мислење за Помошникот за подигање',
 5250+ 'mwe-upwiz-feedback-cancel' => 'Откажи',
 5251+ 'mwe-upwiz-feedback-submit' => 'Поднеси мислење',
 5252+ 'mwe-upwiz-feedback-adding' => 'Го додавам искажаното мислење во страницата...',
 5253+ 'mwe-upwiz-feedback-error1' => 'Грешка: Непрепознаен резултат од прилогот (API)',
 5254+ 'mwe-upwiz-feedback-error2' => 'Грешка: Уредувањето не успеа',
 5255+ 'mwe-upwiz-feedback-error3' => 'Грешка: Прилогот (API) не одговара',
49545256 );
49555257
49565258 /** Malayalam (മലയാളം)
@@ -5269,6 +5571,7 @@
52705572 'mwe-upwiz-source-thirdparty-intro' => 'Voer de plaats in waar u elk bestand gevonden hebt.',
52715573 'mwe-upwiz-source-thirdparty-custom-multiple-intro' => 'Als alle bestanden dezelfde bron, auteur en auteursrechtenstatus hebben, kunt u ze een keer voor allemaal invoeren.',
52725574 'mwe-upwiz-source-thirdparty-license' => 'De auteursrechthebbende van {{PLURAL:$1|dit werk|deze werken}} heeft {{PLURAL:$1|het|ze}} onder de volgende licentie(s) gepubliceerd:',
 5575+ 'mwe-upwiz-source-thirdparty-cases' => 'Geef hier aan waarom u zeker weet dat {{SITENAME}} het recht heeft om {{PLURAL:$1|dit werk|deze werken}} te publiceren:',
52735576 'mwe-upwiz-source-thirdparty-accept' => 'OK',
52745577 'mwe-upwiz-source-custom' => 'Lever op de volgende pagina voor ieder bestand apart auteursrechteninformatie.',
52755578 'mwe-upwiz-more-options' => 'meer instellingen...',
@@ -5292,7 +5595,7 @@
52935596 'mwe-upwiz-filename-tag' => 'Bestandsnaam:',
52945597 'mwe-upwiz-other' => 'Overige informatie',
52955598 'mwe-upwiz-other-prefill' => 'Vrije wikitekst',
5296 - 'mwe-upwiz-showall' => 'alle weergeven',
 5599+ 'mwe-upwiz-showall' => 'allemaal weergeven',
52975600 'mwe-upwiz-source' => 'Bron',
52985601 'mwe-upwiz-macro-edit-intro' => 'Kies eerst een bovenstaande licentie. Daarna kunt u deze beschrijvingen en andere informatie aan uw uploads toevoegen.',
52995602 'mwe-upwiz-macro-edit' => 'Beschrijvingen bijwerken',
@@ -5360,8 +5663,34 @@
53615664 'mwe-upwiz-error-date' => 'Voer een geldige datum als JJJJ-MM-DD of kies een datum in de popupkalender.',
53625665 'mwe-upwiz-license-cc-by-sa-3.0' => 'Creative Commons Naamsvermelding-Gelijk delen 3.0',
53635666 'mwe-upwiz-license-cc-by-3.0' => 'Creative Commons Naamsvermelding 3.0',
 5667+ 'mwe-upwiz-license-cc-by-sa-2.5' => 'Creative Commons Naamsvermelding-Gelijk delen 2.5',
 5668+ 'mwe-upwiz-license-cc-by-2.5' => 'Creative Commons Naamsvermelding 2.5',
 5669+ 'mwe-upwiz-license-cc-by-sa-2.0' => 'Creative Commons Naamsvermelding-Gelijk delen 2.0',
 5670+ 'mwe-upwiz-license-cc-by-2.0' => 'Creative Commons Naamsvermelding 2.0',
53645671 'mwe-upwiz-license-cc-zero' => 'Creative Commons CC0 (publiek domein)',
 5672+ 'mwe-upwiz-license-fal' => 'Vrije Artistieke Licentie (FAL)',
 5673+ 'mwe-upwiz-license-own-pd' => 'Publiek domein (alle rechten vrijgegevens via de licentie Creative Commons Zero)',
 5674+ 'mwe-upwiz-license-pd-old-100' => 'Auteur meer dan 100 jaar geleden overleden',
 5675+ 'mwe-upwiz-license-pd-old' => 'Auteur meer dan 70 jaar geleden overleden',
 5676+ 'mwe-upwiz-license-pd-art' => 'Reproductie van een schilderij dat zich in het publieke domein bevindt vanwege de leeftijd',
 5677+ 'mwe-upwiz-license-pd-usgov' => 'Origineel werk van de Amerikaanse federale regering',
 5678+ 'mwe-upwiz-license-pd-usgov-nasa' => 'Origineel werk van NASA',
 5679+ 'mwe-upwiz-license-pd-usgov-military-navy' => 'Origineel werk van de Amerikaanse Marine',
 5680+ 'mwe-upwiz-license-pd-ineligible' => 'Te eenvoudig om auteursrechtelijk beschermd te zijn',
 5681+ 'mwe-upwiz-license-pd-ineligible-help' => 'Wees voorzichtig met deze licentie. De afbeelding moet erg eenvoudig zijn, zoals een groene cirkel of een rood vierkant.',
 5682+ 'mwe-upwiz-license-pd-textlogo' => 'Logo met alleen eenvoudige tekst (woordmerk)',
 5683+ 'mwe-upwiz-license-copyrighted-free-use' => 'Auteursrechtelijk beschermd, maar kan worden gebruikt voor enig doel, ook commercieel.',
 5684+ 'mwe-upwiz-license-attribution' => 'Kan worden gebruikt voor enig doel, ook commercieel, als de auteursrechthouder correct wordt genoemd.',
53655685 'mwe-upwiz-license-gfdl' => 'GNU-licentie voor vrije documentatie',
 5686+ 'mwe-upwiz-license-cc-by-sa-3.0-gfdl' => 'Copyleft, naamsvermelding vereist (GFDL, CC-BY-SA-3.0).',
 5687+ 'mwe-upwiz-license-cc-by-3.0-gfdl' => 'Naamsvermelding vereist (GFDL, CC-BY-SA-3.0).',
 5688+ 'mwe-upwiz-license-cc-head' => 'De rechthebbende heeft {{PLURAL:$1|dit werk|deze werken}} gepubliceerd onder een Creative Commons-licentie',
 5689+ 'mwe-upwiz-license-cc-subhead' => 'Niet alle Creative Commons-licenties zijn geschikt voor {{SITENAME}}. Zorg dat de rechthebbende een van de geschikte licenties gebruikt.',
 5690+ 'mwe-upwiz-license-flickr-head' => "De rechthebbende heeft zijn {{PLURAL:$1|afbeelding of video|afbeeldingen of video's}} op Flickr gepubliceerd met een geschikte licentie",
 5691+ 'mwe-upwiz-license-flickr-subhead' => 'Controleer het kopje "Licentie" aan de zijkant van de Flickr-pagina. Beide iconen en de licentienaam moeten overeenkomen met een van de hier beschikbare keuzes.',
 5692+ 'mwe-upwiz-license-public-domain-head' => 'Het auteursrecht is zeker verlopen.',
 5693+ 'mwe-upwiz-license-usgov-head' => '{{PLURAL:$1|Dit werk is|Deze werken zijn}} gemaakt door de overheid van de Verenigde Staten.',
 5694+ 'mwe-upwiz-license-misc' => 'Diverse redenen',
53665695 'mwe-upwiz-categories' => 'Categorieën',
53675696 'mwe-upwiz-categories-add' => 'Toevoegen',
53685697 'mwe-upwiz-category-remove' => 'Deze categorie verwijderen',
@@ -5370,6 +5699,17 @@
53715700 'mwe-upwiz-help-popup-title' => 'Naam',
53725701 'mwe-upwiz-thumbnail-failed' => 'De upload is afgerond, maar de server kon geen miniatuurweergave maken',
53735702 'mwe-upwiz-unparseable-filename' => 'De bestandsnaam "$1" kon niet verwerkt worden',
 5703+ 'mwe-upwiz-image-preview' => 'Voorvertoning van afbeelding',
 5704+ 'mwe-upwiz-feedback-note' => 'Uw terugkoppeling wordt geplaatst op $1.',
 5705+ 'mwe-upwiz-feedback-subject' => 'Onderwerp:',
 5706+ 'mwe-upwiz-feedback-message' => 'Bericht (zonder ondertekening):',
 5707+ 'mwe-upwiz-feedback-title' => 'Terugkoppeling achterlaten over de Wizard uploaden',
 5708+ 'mwe-upwiz-feedback-cancel' => 'Annuleren',
 5709+ 'mwe-upwiz-feedback-submit' => 'Terugkoppeling opslaan',
 5710+ 'mwe-upwiz-feedback-adding' => 'Uw terugkoppeling wordt aan de pagina toegevoegd...',
 5711+ 'mwe-upwiz-feedback-error1' => 'Fout: onbekend resultaat uit de API',
 5712+ 'mwe-upwiz-feedback-error2' => 'Fout: de bewerking is mislukt',
 5713+ 'mwe-upwiz-feedback-error3' => 'Fout: geen reactie van de API',
53745714 );
53755715
53765716 /** Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
@@ -5632,6 +5972,7 @@
56335973 'mwe-upwiz-source-thirdparty-intro' => 'Wpisz adresy, pod którymi znalazłeś każdy z tych plików.',
56345974 'mwe-upwiz-source-thirdparty-custom-multiple-intro' => 'Jeśli wszystkie te utwory pochodzą z tego samego źródła, mają tego samego autora i licencję, możesz podać te informacje dla wszystkich plików naraz.',
56355975 'mwe-upwiz-source-thirdparty-license' => 'Właściciel praw autorskich do {{PLURAL:$1|tego dzieła|tych dzieł}} opublikował je na licencji {{PLURAL:$1||(licencjach):}}',
 5976+ 'mwe-upwiz-source-thirdparty-cases' => 'Określ na jakiej podstawie opierasz pewność, że {{SITENAME}} ma prawo do publikowania {{PLURAL:$1|pracy|prac:}}',
56365977 'mwe-upwiz-source-thirdparty-accept' => 'OK',
56375978 'mwe-upwiz-source-custom' => 'Podaj na następnej stronie informacje o prawach autorskich dla każdego pliku z osobna.',
56385979 'mwe-upwiz-more-options' => 'więcej opcji...',
@@ -5727,6 +6068,11 @@
57286069 'mwe-upwiz-license-cc-by-sa-3.0' => 'Creative Commons Uznanie autorstwa Na tych samych warunkach 3.0',
57296070 'mwe-upwiz-license-cc-by-3.0' => 'Creative Commons Za podaniem autora 3.0',
57306071 'mwe-upwiz-license-cc-zero' => 'Creative Commons CC0 Zrzeczenie się praw (domena publiczna)',
 6072+ 'mwe-upwiz-license-own-pd' => 'Domena publiczna (rezygnacja ze wszystkich praw zgodnie z licencją Creative Commons Zero)',
 6073+ 'mwe-upwiz-license-pd-old-100' => 'Autor zmarł ponad 100 lat temu',
 6074+ 'mwe-upwiz-license-pd-old' => 'Autor zmarł ponad 70 lat temu',
 6075+ 'mwe-upwiz-license-pd-art' => 'Reprodukcję obrazu, który jest w domenie publicznej ze względu na swój wiek',
 6076+ 'mwe-upwiz-license-pd-ineligible' => 'Zbyt proste aby było chronione prawem autorskim',
57316077 'mwe-upwiz-license-gfdl' => 'GNU Free Documentation License',
57326078 'mwe-upwiz-categories' => 'Kategorie',
57336079 'mwe-upwiz-categories-add' => 'Dodaj',
@@ -6358,6 +6704,7 @@
63596705 * @author Ast
63606706 * @author Eleferen
63616707 * @author Haffman
 6708+ * @author MaxSem
63626709 * @author Александр Сигачёв
63636710 */
63646711 $messages['ru'] = array(
@@ -6446,6 +6793,7 @@
64476794 'mwe-upwiz-source-thirdparty-intro' => 'Пожалуйста, введите для каждого файла адрес, где вы его нашли.',
64486795 'mwe-upwiz-source-thirdparty-custom-multiple-intro' => 'Если все файлы имеют один и тот же источник, автора и правовой статус, вы можете ввести эти сведения один раз для всех файлов.',
64496796 'mwe-upwiz-source-thirdparty-license' => 'Владелец авторских прав на {{PLURAL:$1|это произведение|эти произведения}}, опубликовал {{PLURAL:$1|его|их}} на условиях следующей лицензии(й):',
 6797+ 'mwe-upwiz-source-thirdparty-cases' => 'Теперь расскажите нам, почему вы уверены, что {{SITENAME}} имеет право публиковать {{PLURAL:$1|это произведение|эти произведения}}:',
64506798 'mwe-upwiz-source-thirdparty-accept' => 'OK',
64516799 'mwe-upwiz-source-custom' => 'Укажите сведения по авторским правам в отдельности для каждого файла на следующей странице.',
64526800 'mwe-upwiz-more-options' => 'больше настроек…',
@@ -6489,6 +6837,8 @@
64906838 'mwe-upwiz-change' => '(изменить)',
64916839 'mwe-upwiz-fileexists-replace' => 'Файл с названием "$1" уже существует. Пожалуйста, измените ваше название на более уникальное.',
64926840 'mwe-upwiz-fileexists' => 'Файл с этим именем уже существует. Пожалуйста, проверьте <b><tt>$1</tt></b>, если вы не уверены, что хотите заменить его.',
 6841+ 'mwe-upwiz-fileexists-replace-on-page' => 'Файл с этим именем уже существует. Если вы хотите его заменить, перейдите на страницу [$2 $1] и замените его там.',
 6842+ 'mwe-upwiz-fileexists-replace-no-link' => 'Файл с этим именем уже существует.',
64936843 'mwe-upwiz-thumbnail-more' => 'Увеличить',
64946844 'mwe-upwiz-overwrite' => 'Заменить файл',
64956845 'mwe-copyright-macro' => 'Как выше',
@@ -6537,8 +6887,34 @@
65386888 'mwe-upwiz-error-date' => 'Пожалуйста, введите корректную дату в формате ГГГГ-ММ-ДД, либо выберите дату из появляющегося календаря.',
65396889 'mwe-upwiz-license-cc-by-sa-3.0' => 'Creative Commons Attribution ShareAlike 3.0',
65406890 'mwe-upwiz-license-cc-by-3.0' => 'Creative Commons Attribution 3.0',
 6891+ 'mwe-upwiz-license-cc-by-sa-2.5' => 'Creative Commons Attribution ShareAlike 2.5',
 6892+ 'mwe-upwiz-license-cc-by-2.5' => 'Creative Commons Attribution 2.5',
 6893+ 'mwe-upwiz-license-cc-by-sa-2.0' => 'Creative Commons Attribution ShareAlike 2.0',
 6894+ 'mwe-upwiz-license-cc-by-2.0' => 'Creative Commons Attribution 2.0',
65416895 'mwe-upwiz-license-cc-zero' => 'Creative Commons CC0 Waiver (общественное достояние)',
 6896+ 'mwe-upwiz-license-fal' => 'Free Artistic License',
 6897+ 'mwe-upwiz-license-own-pd' => 'Общественное достояние (отказ от всех прав по лицензии Creative Commons Zero)',
 6898+ 'mwe-upwiz-license-pd-old-100' => 'Автор умер более 100 лет назад',
 6899+ 'mwe-upwiz-license-pd-old' => 'Автор умер более 70 лет назад',
 6900+ 'mwe-upwiz-license-pd-art' => 'Репродукция картины, находящейся в общественном достоянии, из-за своего возраста',
 6901+ 'mwe-upwiz-license-pd-usgov' => 'Оригинальное произведение федерального правительства США',
 6902+ 'mwe-upwiz-license-pd-usgov-nasa' => 'Оригинальное произведение NASA',
 6903+ 'mwe-upwiz-license-pd-usgov-military-navy' => 'Оригинальное произведение военного флота США',
 6904+ 'mwe-upwiz-license-pd-ineligible' => 'Слишком простая, чтобы охраняться авторским правом',
 6905+ 'mwe-upwiz-license-pd-ineligible-help' => 'Будьте осторожны. Изображение должно быть очень простым, например зелёный круг или красный квадрат.',
 6906+ 'mwe-upwiz-license-pd-textlogo' => 'Логотип, содержащий только текст (словесный)',
 6907+ 'mwe-upwiz-license-copyrighted-free-use' => 'Защищено авторским правом, но может использоваться для любых целей, включая коммерческие',
 6908+ 'mwe-upwiz-license-attribution' => 'Может быть использовано для любых целей, в том числе в коммерческих, если правильно указан владелец авторских прав',
65426909 'mwe-upwiz-license-gfdl' => 'GNU Free Documentation License',
 6910+ 'mwe-upwiz-license-cc-by-sa-3.0-gfdl' => 'Copyleft, требуется указание автора (GFDL, CC-BY-SA-3.0)',
 6911+ 'mwe-upwiz-license-cc-by-3.0-gfdl' => 'Требуется указание автора (GFDL, CC-BY-SA-3.0)',
 6912+ 'mwe-upwiz-license-cc-head' => 'Владелец авторских прав опубликовал {{PLURAL:$1|это произведение|эти произведения}} на условиях лицензии Creative Commons',
 6913+ 'mwe-upwiz-license-cc-subhead' => 'Не все лицензии Creative Commons подходят для проекта {{SITENAME}}. Убедитесь, что владелец авторских прав указал одну из этих лицензий.',
 6914+ 'mwe-upwiz-license-flickr-head' => 'Владелец авторских прав опубликовал {{PLURAL:$1|это фото или видео|эти фото или видео}} на Flickr на условиях лицензии',
 6915+ 'mwe-upwiz-license-flickr-subhead' => 'Обратите внимание на раздел «Лицензия» на странице Flickr. Значок и название используемой лицензии должны соответствовать одному из представленных здесь вариантов.',
 6916+ 'mwe-upwiz-license-public-domain-head' => 'Срок защиты авторским правом явно истёк',
 6917+ 'mwe-upwiz-license-usgov-head' => '{{PLURAL:$1|Это произведение|Эти произведения}} были сделаны правительством США',
 6918+ 'mwe-upwiz-license-misc' => 'Прочие причины',
65436919 'mwe-upwiz-categories' => 'Категории',
65446920 'mwe-upwiz-categories-add' => 'Добавить',
65456921 'mwe-upwiz-category-remove' => 'Убрать эту категорию',
@@ -6547,6 +6923,17 @@
65486924 'mwe-upwiz-help-popup-title' => 'Заголовок',
65496925 'mwe-upwiz-thumbnail-failed' => 'Загрузка завершилась успешно, но сервер может получить миниатюру предпросмотра.',
65506926 'mwe-upwiz-unparseable-filename' => 'Невозможно понять имя файла "$1"',
 6927+ 'mwe-upwiz-image-preview' => 'Предпросмотр изображения',
 6928+ 'mwe-upwiz-feedback-note' => 'Ваш отзыв будет размещён в проекте $1.',
 6929+ 'mwe-upwiz-feedback-subject' => 'Тема:',
 6930+ 'mwe-upwiz-feedback-message' => 'Сообщение (без подписи):',
 6931+ 'mwe-upwiz-feedback-title' => 'Оставьте отзыв о Мастере загрузок',
 6932+ 'mwe-upwiz-feedback-cancel' => 'Отмена',
 6933+ 'mwe-upwiz-feedback-submit' => 'Отправить отзыв',
 6934+ 'mwe-upwiz-feedback-adding' => 'Добавление отзыва на страницу…',
 6935+ 'mwe-upwiz-feedback-error1' => 'Ошибка. Неизвестный результат из API',
 6936+ 'mwe-upwiz-feedback-error2' => 'Ошибка. Сбой редактирования',
 6937+ 'mwe-upwiz-feedback-error3' => 'Ошибка. Нет ответа от API',
65516938 );
65526939
65536940 /** Rusyn (Русиньскый)
@@ -6683,6 +7070,10 @@
66847071 'mwe-upwiz-macro-edit-intro' => 'Аан бастаан лиссиэнсийэтин тал, онтон атын сибидиэнньэлэрин эбэр кыахтаныаҥ.',
66857072 'mwe-upwiz-macro-edit' => 'Саҥардарга',
66867073 'mwe-upwiz-thanks-intro' => 'Киллэрбиккэр махтал!',
 7074+ 'mwe-upwiz-ok' => 'Сөп',
 7075+ 'mwe-upwiz-cancel' => 'Тохтот',
 7076+ 'mwe-upwiz-change' => '(уларытарга)',
 7077+ 'mwe-upwiz-fileexists-replace' => 'Маннык "$1" ааттаах билэ баар эбит, бука диэн атыннык ааттаа.',
66877078 );
66887079
66897080 /** Sinhala (සිංහල)
@@ -6826,7 +7217,7 @@
68277218 'mwe-upwiz-add-file-0-free' => 'Izberite predstavnostno datoteko za darovanje',
68287219 'mwe-upwiz-browse' => 'Prebrskaj ...',
68297220 'mwe-upwiz-transport-started' => 'Začenjanje ...',
6830 - 'mwe-upwiz-uploading' => 'Nagalanje ...',
 7221+ 'mwe-upwiz-uploading' => 'Nalaganje ...',
68317222 'mwe-upwiz-transported' => 'Nalaganje je zaključeno ...',
68327223 'mwe-upwiz-stashed-upload' => 'V redu',
68337224 'mwe-upwiz-getting-metadata' => 'Pridobivanje informacij o datoteki in predogledov ...',
@@ -6861,6 +7252,7 @@
68627253 'mwe-upwiz-source-thirdparty-intro' => 'Prosimo, vnesite naslove, kjer ste našli vsako od datotek.',
68637254 'mwe-upwiz-source-thirdparty-custom-multiple-intro' => 'Če imajo vse datoteke isti vir, avtorja in stanje avtorskih pravic, jih lahko za vse datoteke vnesete samo enkrat.',
68647255 'mwe-upwiz-source-thirdparty-license' => 'Imetnik avtorskih pravic {{PLURAL:$1|tega dela ga|teh del jih}} je objavil pod naslednjimi dovoljenji:',
 7256+ 'mwe-upwiz-source-thirdparty-cases' => 'Sedaj nam povejte, zakaj ste prepričani, da ima {{SITENAME}} pravico objaviti {{PLURAL:$1|to delo|ti deli|ta dela}}:',
68657257 'mwe-upwiz-source-thirdparty-accept' => 'V redu',
68667258 'mwe-upwiz-source-custom' => 'Na naslednji strani navedite podatke o avtorskih pravicah za vsako datoteko posebej.',
68677259 'mwe-upwiz-more-options' => 'več možnosti ...',
@@ -6956,8 +7348,34 @@
69577349 'mwe-upwiz-error-date' => 'Prosimo, vnesite veljavni datum v obliki LLLL-MM-DD ali izberite datum v pojavnem okencu koledarja.',
69587350 'mwe-upwiz-license-cc-by-sa-3.0' => 'Creative Commons Priznanje avtorstva-Deljenje pod enakimi pogoji 3.0',
69597351 'mwe-upwiz-license-cc-by-3.0' => 'Creative Commons Priznanje avtorstva 3.0',
 7352+ 'mwe-upwiz-license-cc-by-sa-2.5' => 'Creative Commons Priznanje avtorstva-Deljenje pod enakimi pogoji 2.5',
 7353+ 'mwe-upwiz-license-cc-by-2.5' => 'Creative Commons Priznanje avtorstva 2.5',
 7354+ 'mwe-upwiz-license-cc-by-sa-2.0' => 'Creative Commons Priznanje avtorstva-Deljenje pod enakimi pogoji 2.0',
 7355+ 'mwe-upwiz-license-cc-by-2.0' => 'Creative Commons Priznanje avtorstva 2.0',
69607356 'mwe-upwiz-license-cc-zero' => 'Creative Commons odpoved CC0 (javna last)',
 7357+ 'mwe-upwiz-license-fal' => 'Prosto umetniško dovoljenje (FAL)',
 7358+ 'mwe-upwiz-license-own-pd' => 'Javna last (vse pravice so opuščene z dovoljenjem Creative Commons Zero)',
 7359+ 'mwe-upwiz-license-pd-old-100' => 'Avtor je umrl pred več kot 100 leti',
 7360+ 'mwe-upwiz-license-pd-old' => 'Avtor je umrl pred več kot 70 leti',
 7361+ 'mwe-upwiz-license-pd-art' => 'Reprodukcija slike, ki je v javni lasti zaradi njene starosti',
 7362+ 'mwe-upwiz-license-pd-usgov' => 'Izvirno delo zvezne vlade ZDA',
 7363+ 'mwe-upwiz-license-pd-usgov-nasa' => 'Izvirno delo NASA',
 7364+ 'mwe-upwiz-license-pd-usgov-military-navy' => 'Izvirno delo vojaške mornarice ZDA',
 7365+ 'mwe-upwiz-license-pd-ineligible' => 'Preprosto za avtorsko zaščito',
 7366+ 'mwe-upwiz-license-pd-ineligible-help' => 'Previdno s tem. Slika mora biti zelo preprosta, npr. zelen krog ali rdeč kvadrat',
 7367+ 'mwe-upwiz-license-pd-textlogo' => 'Logotip s samo preprostim besedilom (trgovsko ime)',
 7368+ 'mwe-upwiz-license-copyrighted-free-use' => 'Avtorsko zaščiteno, vendar se lahko uporablja za kateri koli namen, vključno s komercialnim',
 7369+ 'mwe-upwiz-license-attribution' => 'Lahko se uporablja za kateri koli namen, vključno s komercialnim, če je nosilec avtorskih pravic pravilno pripisan',
69617370 'mwe-upwiz-license-gfdl' => 'Dovoljenje GNU za rabo proste dokumentacije',
 7371+ 'mwe-upwiz-license-cc-by-sa-3.0-gfdl' => 'Copyleft, potreben je pripis avtorstva (GFDL, CC-BY-SA-3.0)',
 7372+ 'mwe-upwiz-license-cc-by-3.0-gfdl' => 'Potreben je pripis avtorstva (GFDL, CC-BY-SA-3.0)',
 7373+ 'mwe-upwiz-license-cc-head' => 'Imetnik avtorskih pravic je objavil {{PLURAL:$1|to delo|ti deli|ta dela}} pod ustreznim dovoljenjem Creative Commons',
 7374+ 'mwe-upwiz-license-cc-subhead' => 'Vsa dovoljenja Creative Commons niso v redu za {{GRAMMAR:tožilnik|{{SITENAME}}}} – prepričajte se, da je imetnik avtorskih pravic uporabil eno od teh dovoljenj.',
 7375+ 'mwe-upwiz-license-flickr-head' => 'Imetnik avtorskih pravic je objavil {{PLURAL:$1|svojo sliko ali video|svoji sliki ali videa|svoje slike ali videe}} na Flickr pod pravim dovoljenjem',
 7376+ 'mwe-upwiz-license-flickr-subhead' => 'Preverite razdelek »License« (Dovoljenje) na robu strani Flickr. Tako ikona kot ime dovoljenja, ki ju uporabljajo, se morata ujemati z izbirami tukaj.',
 7377+ 'mwe-upwiz-license-public-domain-head' => 'Avtorske pravice so zagotovo potekle',
 7378+ 'mwe-upwiz-license-usgov-head' => '{{PLURAL:$1|To delo|Ti deli|Ta dela}} je naredila vlada Združenih držav Amerike',
 7379+ 'mwe-upwiz-license-misc' => 'Razni razlogi',
69627380 'mwe-upwiz-categories' => 'Kategorije',
69637381 'mwe-upwiz-categories-add' => 'Dodaj',
69647382 'mwe-upwiz-category-remove' => 'Odstrani kategorijo',
@@ -6966,6 +7384,17 @@
69677385 'mwe-upwiz-help-popup-title' => 'Naslov',
69687386 'mwe-upwiz-thumbnail-failed' => 'Nalaganje je uspelo, vendar strežnik ni mogel pridobiti predogledne sličice',
69697387 'mwe-upwiz-unparseable-filename' => 'Ne morem razumeti imena datoteke »$1«',
 7388+ 'mwe-upwiz-image-preview' => 'Predogled slike',
 7389+ 'mwe-upwiz-feedback-note' => 'Vaša povratna informacija bo objavljena na $1.',
 7390+ 'mwe-upwiz-feedback-subject' => 'Zadeva:',
 7391+ 'mwe-upwiz-feedback-message' => 'Sporočilo (brez podpisa):',
 7392+ 'mwe-upwiz-feedback-title' => 'Pustite povratno informacijo o čarovniku za nalaganje',
 7393+ 'mwe-upwiz-feedback-cancel' => 'Prekliči',
 7394+ 'mwe-upwiz-feedback-submit' => 'Pošlji povratno informacijo',
 7395+ 'mwe-upwiz-feedback-adding' => 'Dodajanje povratne informacije na stran ...',
 7396+ 'mwe-upwiz-feedback-error1' => 'Napaka: Neznan rezultat iz API',
 7397+ 'mwe-upwiz-feedback-error2' => 'Napaka: Urejanje je spodletelo',
 7398+ 'mwe-upwiz-feedback-error3' => 'Napaka: Ni odgovora od API',
69707399 );
69717400
69727401 /** Serbian Cyrillic ekavian (‪Српски (ћирилица)‬)
@@ -6982,7 +7411,7 @@
69837412 'mwe-upwiz-add-file-0' => 'Кликни овде да пошаљеш фајл',
69847413 'mwe-upwiz-uploading' => 'шаље се...',
69857414 'mwe-upwiz-transported' => 'Слање...',
6986 - 'mwe-upwiz-stashed-upload' => 'Да',
 7415+ 'mwe-upwiz-stashed-upload' => 'У реду',
69877416 'mwe-upwiz-click-here' => 'Кликни овде за избор фајла',
69887417 'mwe-upwiz-editing' => 'мења се...',
69897418 'mwe-upwiz-upload' => 'Пошаљи',
@@ -7455,6 +7884,7 @@
74567885 'mwe-upwiz-source-thirdparty-intro' => 'Mangyaring magpasok ng isang tirahan kung saan mo natagpuan ang bawat talaksan.',
74577886 'mwe-upwiz-source-thirdparty-custom-multiple-intro' => 'Kung ang lahat ng mga talaksan ay may magkakatulad na pinagmulan, may-akda, at kalagayan ng karapatang-ari, maaari mong ipasok ang mga ito sa isang pagkakataon para sa kanilang lahat.',
74587887 'mwe-upwiz-source-thirdparty-license' => 'Ang tagapaghawak ng karapatang-ari ng {{PLURAL:$1|akdang ito|mga akdang ito}} ay inilathala {{PLURAL:$1|ito|sila}} sa ilalim ng sumusunod na (mga) lisensiya:',
 7888+ 'mwe-upwiz-source-thirdparty-cases' => 'Nagyon sabihin sa amin kung bakit nakatitiyak ka na ang {{SITENAME}} ay may karapatang ilathala ang {{PLURAL:$1|akdang ito|mga akdang ito}}:',
74597889 'mwe-upwiz-source-thirdparty-accept' => 'Sige',
74607890 'mwe-upwiz-source-custom' => 'Magbigay ng kabatirang pang karapatang-ari para sa bawat isang talaksan sa susunod na pahina.',
74617891 'mwe-upwiz-more-options' => 'marami pang mga mapipili...',
@@ -7550,8 +7980,34 @@
75517981 'mwe-upwiz-error-date' => 'Magpasok po ng isang tanggap ng petsang nasa anyong TTTT-BB-AA, o pumili ng isang petsa mula sa kalendaryong biglang lumilitaw.',
75527982 'mwe-upwiz-license-cc-by-sa-3.0' => 'Creative Commons Attribution ShareAlike 3.0',
75537983 'mwe-upwiz-license-cc-by-3.0' => 'Creative Commons Attribution 3.0',
 7984+ 'mwe-upwiz-license-cc-by-sa-2.5' => 'Malikhaing Pangkaraniwang Pagtukoy na Pamamahaging Magkatulad 2.5',
 7985+ 'mwe-upwiz-license-cc-by-2.5' => 'Malikhaing mga Pangkaraniwan na Pagtukoy 2.5',
 7986+ 'mwe-upwiz-license-cc-by-sa-2.0' => 'Malikhaing Pangkaraniwang Pagtukoy na Pamamahaging Magkatulad 2.0',
 7987+ 'mwe-upwiz-license-cc-by-2.0' => 'Malikhaing mga Pangkaraniwan na Pagtukoy 2.5',
75547988 'mwe-upwiz-license-cc-zero' => 'Pagsuko ng CC0 ng Creative Commons (sakop ng madla)',
 7989+ 'mwe-upwiz-license-fal' => 'Malayang Masining na Lisensiya',
 7990+ 'mwe-upwiz-license-own-pd' => 'Sakop ng madla (isinuko ang lahat ng mga karapatan na may lisensiyang Malikhaing Pangkaraniwan na Sero)',
 7991+ 'mwe-upwiz-license-pd-old-100' => 'Namatay ang may-akda mahigit sa 100 mga taon na ang nakalilipas',
 7992+ 'mwe-upwiz-license-pd-old' => 'Namatay ang may-akda mahigit sa 70 mga taon na ang nakalilipas',
 7993+ 'mwe-upwiz-license-pd-art' => 'Muling paggawa ng sipi ng isang ipinintang larawan na nasa loob na ng sakop ng madla dahil sa gulang nito',
 7994+ 'mwe-upwiz-license-pd-usgov' => 'Orihinal na akda ng Pamahalaang Pederal ng Estados Unidos',
 7995+ 'mwe-upwiz-license-pd-usgov-nasa' => 'Orihinal na akda ng NASA',
 7996+ 'mwe-upwiz-license-pd-usgov-military-navy' => 'Orihinal na akda ng Militar na Hukbong Dagat ng Estados Unidos',
 7997+ 'mwe-upwiz-license-pd-ineligible' => 'Napakapayak upang maikarapatang-ari',
 7998+ 'mwe-upwiz-license-pd-ineligible-help' => 'Mag-ingat sa isang ito. Ang larawan ay napakapayak, katulad ng isang lunting bilog o pulang parisukat',
 7999+ 'mwe-upwiz-license-pd-textlogo' => 'Logo na may payak na teksto lamang (tatak ng salita)',
 8000+ 'mwe-upwiz-license-copyrighted-free-use' => 'Nakakarapatang-ari, subalit maaaring gamitin para sa anumang layunin, kasama na ang pangkalakalan',
 8001+ 'mwe-upwiz-license-attribution' => 'Maaaring gamitin para sa anumang layunin, kasama ang pangkalakalan, kung ang tagapaghawak ng karapatang-ari ay maaayos na binabanggit',
75558002 'mwe-upwiz-license-gfdl' => 'Lisensiya ng Malayang Dokumentasyon na GNU',
 8003+ 'mwe-upwiz-license-cc-by-sa-3.0-gfdl' => 'Siping pakaliwa, kailangan ang pagbanggit (GFDL, CC-BY-SA-3.0)',
 8004+ 'mwe-upwiz-license-cc-by-3.0-gfdl' => 'Kailangan ang pagbanggit (GFDL, CC-BY-SA-3.0)',
 8005+ 'mwe-upwiz-license-cc-head' => 'Inilathala ng tagapaghawak ng karapatang-ari ang {{PLURAL:$1|akdang ito|mga akdang ito}} na may tamang lisensiya ng Malikhaing mga Pangkaraniwan',
 8006+ 'mwe-upwiz-license-cc-subhead' => 'Hindi lahat ng mga lisensiyang Malikhaing mga Pangkaraniwan ay mabuti para sa {{SITENAME}} -- tiyakin na ginamit ng tagapaghawak ng karapatang-ari ang isa ganitong mga lisensiya.',
 8007+ 'mwe-upwiz-license-flickr-head' => 'Inilathala ng may hawak ng karapatang ari ang kanilang {{PLURAL:$1|larawan o bidyo|mga larawan o mga bidyo}} sa Flickr na may tamang lisensiya',
 8008+ 'mwe-upwiz-license-flickr-subhead' => 'Suriin ang paulo ng "Lisensiya" na nasa gilid ng pahina ng Flickr. Ang mga kinatawan ng larawan at pangalan ng lisensiya na kanilang ginamit ay kapwa tumutugma sa isa sa mga mapagpipilian dito.',
 8009+ 'mwe-upwiz-license-public-domain-head' => 'Talagang waka nang bisa ang karapatang-ari',
 8010+ 'mwe-upwiz-license-usgov-head' => 'Ang {{PLURAL:$1|akdang ito|Ang mga akdang ito}} ay ginawa ng pamahalaan ng Estados Unidos',
 8011+ 'mwe-upwiz-license-misc' => 'Sari-saring mga dahilan',
75568012 'mwe-upwiz-categories' => 'Mga kategorya',
75578013 'mwe-upwiz-categories-add' => 'Magdagdag',
75588014 'mwe-upwiz-category-remove' => 'Alisin ang kategoryang ito',
@@ -7560,6 +8016,17 @@
75618017 'mwe-upwiz-help-popup-title' => 'Pamagat',
75628018 'mwe-upwiz-thumbnail-failed' => 'Nagtagumpay ang pagkakarga, subalit hindi makakuha ng paunang patanaw na kagyat ang tagapaghain',
75638019 'mwe-upwiz-unparseable-filename' => 'Hindi maunawaan ang pangalan ng talaksan na "$1"',
 8020+ 'mwe-upwiz-image-preview' => 'Paunang tingin sa larawan',
 8021+ 'mwe-upwiz-feedback-note' => 'Ang iyong pakaing-tugon ay ipapaskil sa $1.',
 8022+ 'mwe-upwiz-feedback-subject' => 'Paksa:',
 8023+ 'mwe-upwiz-feedback-message' => 'Mensahe (walang lagda):',
 8024+ 'mwe-upwiz-feedback-title' => 'Mag-iwan ng pakaing-tugon na patungkol sa Salamangkero ng Pagkakargang Papaitaas',
 8025+ 'mwe-upwiz-feedback-cancel' => 'Huwag ituloy',
 8026+ 'mwe-upwiz-feedback-submit' => 'Ipasa ang Pakaing-tugon',
 8027+ 'mwe-upwiz-feedback-adding' => 'Idinaragdag ang pakaing-tugon sa pahina...',
 8028+ 'mwe-upwiz-feedback-error1' => 'Kamalian: Hindi nakikilalang kinalabasan mula sa API',
 8029+ 'mwe-upwiz-feedback-error2' => 'Kamalian: Nabigo ang pagpatnugot',
 8030+ 'mwe-upwiz-feedback-error3' => 'Kamalian: Walang tugon mula sa API',
75648031 );
75658032
75668033 /** Turkish (Türkçe)
@@ -7826,6 +8293,7 @@
78278294 'mwe-upwiz-source-thirdparty-intro' => 'Xin hãy nhập địa chỉ mà bạn tìm thấy mỗi tập tin.',
78288295 'mwe-upwiz-source-thirdparty-custom-multiple-intro' => 'Nếu tất cả các tập tin có cùng một nguồn, tác giả, và tình trạng bản quyền, chỉ cần nhập thông tin đó một lần cho tất cả chúng.',
78298296 'mwe-upwiz-source-thirdparty-license' => 'Người nắm bản quyền {{PLURAL:$1|tác phẩm|các tác phẩm}} này đã xuất bản {{PLURAL:$1|nó|chúng}} theo các giấy phép sau đây:',
 8297+ 'mwe-upwiz-source-thirdparty-cases' => 'Xin hỏi tại sao bạn chắc chắn rằng {{SITENAME}} có quyền xuất bản {{PLURAL:$1|tác phẩm|các tác phẩm}} này:',
78308298 'mwe-upwiz-source-thirdparty-accept' => 'OK',
78318299 'mwe-upwiz-source-custom' => 'Hãy cung cấp thông tin bản quyền về mỗi tập tin riêng tại trang tiếp theo.',
78328300 'mwe-upwiz-more-options' => 'thêm tùy chọn…',
@@ -7869,6 +8337,8 @@
78708338 'mwe-upwiz-change' => '(thay đổi)',
78718339 'mwe-upwiz-fileexists-replace' => 'Đã có tập tin có tên “$1”. Xin hãy chọn tên khác cho tập tin của bạn.',
78728340 'mwe-upwiz-fileexists' => 'Một tập tin với tên này đã tồn tại, xin hãy kiểm tra lại <b><tt>$1</tt></b> nếu bạn không chắc bạn có muốn thay đổi nó hay không.',
 8341+ 'mwe-upwiz-fileexists-replace-on-page' => 'Một tập tin với tên này đã tồn tại. Bạn có thể thay thế nó tại trang [$2 $1].',
 8342+ 'mwe-upwiz-fileexists-replace-no-link' => 'Một tập tin với tên này đã tồn tại.',
78738343 'mwe-upwiz-thumbnail-more' => 'Phóng lớn',
78748344 'mwe-upwiz-overwrite' => 'Thay thế tập tin',
78758345 'mwe-copyright-macro' => 'Như trên',
@@ -7920,8 +8390,34 @@
79218391 'mwe-upwiz-error-date' => 'Xin hãy nhập ngày hợp lệ theo định dạng YYYY-MM-DD (năm-tháng-ngày) hoặc dùng lịch nổi lên để chọn ngày.',
79228392 'mwe-upwiz-license-cc-by-sa-3.0' => 'Creative Commons Ghi công–Chia sẻ tương tự 3.0',
79238393 'mwe-upwiz-license-cc-by-3.0' => 'Creative Commons Ghi công 3.0',
 8394+ 'mwe-upwiz-license-cc-by-sa-2.5' => 'Creative Commons Ghi công–Chia sẻ tương tự 2.5',
 8395+ 'mwe-upwiz-license-cc-by-2.5' => 'Creative Commons Ghi công 2.5',
 8396+ 'mwe-upwiz-license-cc-by-sa-2.0' => 'Creative Commons Ghi công–Chia sẻ tương tự 2.0',
 8397+ 'mwe-upwiz-license-cc-by-2.0' => 'Creative Commons Ghi công 2.0',
79248398 'mwe-upwiz-license-cc-zero' => 'Giấy khước từ Creative Commons CC0 (phạm vi công cộng)',
 8399+ 'mwe-upwiz-license-fal' => 'Giấy phép Nghệ thuật Tự do',
 8400+ 'mwe-upwiz-license-own-pd' => 'Phạm vi công cộng (tất cả các quyền được miễn dùng Giấy khước từ Creative Commons CC0)',
 8401+ 'mwe-upwiz-license-pd-old-100' => 'Tác giả qua đời cách đây hơn 100 năm',
 8402+ 'mwe-upwiz-license-pd-old' => 'Tác giả qua đời các đây hơn 70 năm',
 8403+ 'mwe-upwiz-license-pd-art' => 'Sinh sản một bức tranh thuộc về phạm vi công cộng vì tuổi của nó',
 8404+ 'mwe-upwiz-license-pd-usgov' => 'Tác phẩm nguyên bản của Chính quyền Liên bang Hoa Kỳ',
 8405+ 'mwe-upwiz-license-pd-usgov-nasa' => 'Tác phẩm nguyên bản của NASA',
 8406+ 'mwe-upwiz-license-pd-usgov-military-navy' => 'Tác phẩm nguyên bản của Hải quân Hoa Kỳ',
 8407+ 'mwe-upwiz-license-pd-ineligible' => 'Quá đơn giản để được giữ bản quyền',
 8408+ 'mwe-upwiz-license-pd-ineligible-help' => 'Hãy cẩn thận với tùy chọn này. Hình phải rất đơn giản, thí dụ như một hình tròn màu xanh hoặc hình vuông màu đỏ.',
 8409+ 'mwe-upwiz-license-pd-textlogo' => 'Biểu trưng chỉ có văn bản đơn giản (dấu từ)',
 8410+ 'mwe-upwiz-license-copyrighted-free-use' => 'Được giữ bản quyền như có thể được sử dụng cho mục đích nào, ngay cả thương mại',
 8411+ 'mwe-upwiz-license-attribution' => 'Có thể được sử dụng cho mục đích nào, ngay cả thương mại, miễn là người giữ bản quyền được ghi công đúng cách',
79258412 'mwe-upwiz-license-gfdl' => 'Giấy phép Tài liệu Tự do GNU',
 8413+ 'mwe-upwiz-license-cc-by-sa-3.0-gfdl' => 'Copyleft bắt buộc ghi công (GFDL, CC-BY-SA-3.0)',
 8414+ 'mwe-upwiz-license-cc-by-3.0-gfdl' => 'Bắt buộc ghi công (GFDL, CC-BY-SA-3.0)',
 8415+ 'mwe-upwiz-license-cc-head' => 'Người giữ bản quyền đã xuất bản {{PLURAL:$1|tác phẩm|các tác phẩm}} này với giấy phép Creative Commons đúng.',
 8416+ 'mwe-upwiz-license-cc-subhead' => 'Có một số giấy phép Creative Commons không phù hợp với {{SITENAME}} – xin hãy chắc chắn rằng người giữ bản quyền không sử dụng một trong những giấy phép này.',
 8417+ 'mwe-upwiz-license-flickr-head' => '{{PLURAL:$1||}}Người giữ bản quyền đã xuất bản hình ảnh hoặc video lên Flickr với giấy phép đúng.',
 8418+ 'mwe-upwiz-license-flickr-subhead' => 'Hãy kiểm tra tiêu đề “Giấy phép” vào bên phải trang Flickr. Các biểu tượng và tên giấy phép cần phải trùng với một trong những tùy chọn tại đây.',
 8419+ 'mwe-upwiz-license-public-domain-head' => 'Bản quyền đã chắc chắn quá hạn',
 8420+ 'mwe-upwiz-license-usgov-head' => '{{PLURAL:$1|Tác phẩm|Các tác phẩm này}} do chính quyền Hoa Kỳ thực hiện',
 8421+ 'mwe-upwiz-license-misc' => 'Lý do linh tinh',
79268422 'mwe-upwiz-categories' => 'Thể loại',
79278423 'mwe-upwiz-categories-add' => 'Thêm',
79288424 'mwe-upwiz-category-remove' => 'Gỡ thể loại này',
@@ -7930,6 +8426,17 @@
79318427 'mwe-upwiz-help-popup-title' => 'Tên',
79328428 'mwe-upwiz-thumbnail-failed' => 'Đã tải lên thành viên, nhưng máy chủ không thể lấy hình nhỏ xem trước',
79338429 'mwe-upwiz-unparseable-filename' => 'Không hiểu tên tập tin “$1”',
 8430+ 'mwe-upwiz-image-preview' => 'Xem trước hình ảnh',
 8431+ 'mwe-upwiz-feedback-note' => 'Phản hồi của bạn sẽ được đăng lên $1.',
 8432+ 'mwe-upwiz-feedback-subject' => 'Tiêu đề:',
 8433+ 'mwe-upwiz-feedback-message' => 'Thông điệp (không có chữ ký):',
 8434+ 'mwe-upwiz-feedback-title' => 'Phản hồi về Trình thuật sĩ tải lên',
 8435+ 'mwe-upwiz-feedback-cancel' => 'Hủy bỏ',
 8436+ 'mwe-upwiz-feedback-submit' => 'Gửi phản hồi',
 8437+ 'mwe-upwiz-feedback-adding' => 'Đang thêm thông tin phản hồi vào trang…',
 8438+ 'mwe-upwiz-feedback-error1' => 'Hủy bỏ',
 8439+ 'mwe-upwiz-feedback-error2' => 'Lỗi: Sửa đổi thất bại',
 8440+ 'mwe-upwiz-feedback-error3' => 'Lỗi: API không có phản ứng',
79348441 );
79358442
79368443 /** Wu (吴语) */
Index: branches/wmf/1.17wmf1/extensions/UploadWizard/resources/mw.UploadApiProcessor.js
@@ -1,295 +0,0 @@
2 -// might be useful to raise exceptions when the api goes wrong
3 -// however, when everything is async, then who receives them?
4 -mw.UploadApiProcessor = function(doneCb, errorCb) {
5 - var _this = this;
6 - _this.doneCb = doneCb;
7 - _this.errorCb = errorCb;
8 -};
9 -
10 -
11 -mw.UploadApiProcessor.prototype = {
12 -
13 - warnings: [
14 - 'badfilename', // was the resultant filename different from desired? If so return what we actually got in the 'badfilename' warnings
15 - 'filetype-unwanted-type', // bad filetype, as determined from extenstion. content is the bad extension
16 - 'large-file', // $wgUploadSizeWarning, numeric value of largest size (bytes, kb, what?)
17 - 'emptyfile', // set to "true" if file was empty
18 - 'exists', // set to true if file by that name already existed
19 - 'duplicate', // hash collision found
20 - 'duplicate-archive' // hash collision found in archives
21 - ],
22 -
23 - errors: [
24 - 'empty-file',
25 - 'filetype-missing', //(missing an extension)
26 - 'filetype-banned', // (extension banned) // also returns: { filetype => the filetype we thought it was, allowed => [ extensions ] }
27 - 'filename-tooshort',
28 - 'illegal-filename', // { filename => verification[filtered] }
29 - 'overwrite', // overwrite existing file (failed?)
30 - 'verification-error', // {details => verification-details}
31 - 'hookaborted', // error => verificationerror }
32 - 'unknown_error'
33 - ],
34 -
35 -
36 - // NB
37 - // It's not clear if we can even get these errors (error_msg_key, error_onlykey) any more
38 -
39 - // There are many possible error messages here, so we don't load all
40 - // message text in advance, instead we use mw.getRemoteMsg() for some.
41 - //
42 - // This code is similar to the error handling code formerly in
43 - // SpecialUpload::processUpload()
44 - error_msg_key: {
45 - '2' : 'largefileserver',
46 - '3' : 'emptyfile',
47 - '4' : 'minlength1',
48 - '5' : 'illegalfilename'
49 - },
50 -
51 - // NOTE:: handle these error types
52 - error_onlykey: {
53 - '1': 'BEFORE_PROCESSING',
54 - '6': 'PROTECTED_PAGE',
55 - '7': 'OVERWRITE_EXISTING_FILE',
56 - '8': 'FILETYPE_MISSING',
57 - '9': 'FILETYPE_BADTYPE',
58 - '10': 'VERIFICATION_ERROR',
59 - '11': 'UPLOAD_VERIFICATION_ERROR',
60 - '12': 'UPLOAD_WARNING',
61 - '13': 'INTERNAL_ERROR',
62 - '14': 'MIN_LENGTH_PARTNAME'
63 - },
64 -
65 -
66 - /**
67 - * Process the result of an action=upload API request, into a useful
68 - * data structure.
69 - * upload,
70 - * errors,
71 - * warnings
72 - * Augment with error messages in the local language if possible
73 - *
74 - */
75 - processResult: function( result ) {
76 - var _this = this;
77 - mw.log( 'mw.UploadApiProcessor::processResult> ' );
78 -
79 -
80 - var parsedResult = _this.parseResult(result);
81 -
82 - if ( _this.doneCb && typeof _this.doneCb == 'function' ) {
83 - mw.log( "mw.UploadApiProcessor::processResult> call doneCb" );
84 - _this.doneCb( parsedResult );
85 -
86 - }
87 - return true;
88 - },
89 -
90 -
91 - parseResult: function( result ) {
92 - if ( result.upload && result.upload.imageinfo && result.upload.imageinfo.descriptionurl ) {
93 - result.isSuccess = true;
94 - }
95 -
96 - return result;
97 -
98 - }
99 -
100 -
101 -};
102 -
103 -
104 - if ( result.error || ( result.upload && result.upload.result == "Failure" ) ) {
105 -
106 - // Check a few places for the error code
107 - var error_code = 0;
108 - var errorReplaceArg = '';
109 - if ( result.error && result.error.code ) {
110 - error_code = result.error.code;
111 - } else if ( result.upload.code ) {
112 - if ( typeof result.upload.code == 'object' ) {
113 - if ( result.upload.code[0] ) {
114 - error_code = result.upload.code[0];
115 - }
116 - if ( result.upload.code['status'] ) {
117 - error_code = result.upload.code['status'];
118 - if ( result.upload.code['filtered'] ) {
119 - errorReplaceArg = result.upload.code['filtered'];
120 - }
121 - }
122 - } else {
123 - result.upload.code; // XXX ??
124 - }
125 - }
126 -
127 - var error_msg = '';
128 - if ( typeof result.error == 'string' ) {
129 - error_msg = result.error;
130 - }
131 -
132 - if ( !error_code || error_code == 'unknown-error' ) {
133 - if ( typeof JSON != 'undefined' ) {
134 - mw.log( 'mw.UploadApiProcessor::parseResult> Error: result: ' + JSON.stringify( result ) );
135 - }
136 - if ( result.upload.error == 'internal-error' ) {
137 - // Do a remote message load
138 - errorKey = result.upload.details[0];
139 -
140 - mw.getRemoteMsg( errorKey, function() {
141 - _this.ui.setPrompt( gM( 'mwe-uploaderror' ), gM( errorKey ), buttons );
142 -
143 - });
144 - return false;
145 - }
146 -
147 - _this.ui.setPrompt(
148 - gM('mwe-uploaderror'),
149 - gM('mwe-unknown-error') + '<br>' + error_msg,
150 - buttons );
151 - return false;
152 - }
153 -
154 - if ( result.error && result.error.info ) {
155 - _this.ui.setPrompt( gM( 'mwe-uploaderror' ), result.error.info, buttons );
156 - return false;
157 - }
158 -
159 - if ( typeof error_code == 'number'
160 - && typeof _this.error_msg_key[error_code] == 'undefined' )
161 - {
162 - if ( result.upload.code.finalExt ) {
163 - _this.ui.setPrompt(
164 - gM( 'mwe-uploaderror' ),
165 - gM( 'mwe-wgfogg_warning_bad_extension', result.upload.code.finalExt ),
166 - buttons );
167 - } else {
168 - _this.ui.setPrompt(
169 - gM( 'mwe-uploaderror' ),
170 - gM( 'mwe-unknown-error' ) + ' : ' + error_code,
171 - buttons );
172 - }
173 - return false;
174 - }
175 -
176 - mw.log( 'mw.UploadApiProcessor::parseResult> get key: ' + _this.error_msg_key[ error_code ] );
177 - mw.getRemoteMsg( _this.error_msg_key[ error_code ], function() {
178 - _this.ui.setPrompt(
179 - gM( 'mwe-uploaderror' ),
180 - gM( _this.error_msg_key[ error_code ], errorReplaceArg ),
181 - buttons );
182 - });
183 - mw.log( "mw.UploadApiProcessor::parseResult> api.error" );
184 - return false;
185 - }
186 -
187 -
188 - }
189 - * /;
190 -
191 -/*
192 - // this doesn't seem to do anything
193 - // Check for warnings:
194 - if ( result.upload && result.upload.warnings ) {
195 - for ( var wtype in result.upload.warnings ) {
196 - var winfo = result.upload.warnings[wtype]
197 - switch ( wtype ) {
198 - case 'duplicate':
199 - case 'exists':
200 - if ( winfo[1] && winfo[1].title && winfo[1].title.mTextform ) {
201 - push warnings, { type: wtype, text: winfo[1].title.mTextform },
202 - } else {
203 - push warnings, { type: wtype }
204 - }
205 - break;
206 - case 'file-thumbnail-no':
207 - push warnings, { type: wtype, info: winfo }
208 - break;
209 - default:
210 - push warnings: { type: wtype, }
211 - break;
212 - }
213 - }
214 -
215 - if ( result.upload.sessionkey ) {
216 - _this.warnings_sessionkey = result.upload.sessionkey;
217 - }
218 -
219 - }
220 -*/
221 -/*
222 - // Check upload.error
223 - if ( result.upload && result.upload.error ) {
224 - mw.log( ' result.upload.error: ' + result.upload.error );
225 - _this.ui.setPrompt(
226 - gM( 'mwe-uploaderror' ),
227 - gM( 'mwe-unknown-error' ) + '<br>',
228 - buttons );
229 - return false;
230 - }
231 -*/
232 -
233 - /*
234 - // this ONLY applies to copy by URL method -- factor out?
235 - if ( result.upload && result.upload.upload_session_key ) {
236 - // Async upload, do AJAX status polling
237 - _this.upload_session_key = result.upload.upload_session_key;
238 - _this.doAjaxUploadStatus();
239 - mw.log( "set upload_session_key: " + _this.upload_session_key );
240 - return;
241 - }
242 - */
243 -
244 - /*
245 - var buttons = {};
246 - // "Return" button
247 - buttons[ gM( 'mwe-return-to-form' ) ] = function() {
248 - $j( this ).dialog( 'destroy' ).remove();
249 - _this.form_post_override = false;
250 - }
251 - // "Go to resource" button
252 - buttons[ gM('mwe-go-to-resource') ] = function() {
253 - window.location = url;
254 - };
255 - _this.action_done = true;
256 - _this.interface.setPrompt(
257 - gM( 'mwe-successfulupload' ),
258 - gM( 'mwe-upload_done', url),
259 - buttons );
260 - mw.log( 'result.upload.imageinfo::' + url );
261 - return true;
262 - */
263 -
264 -/*
265 - // Create the "ignore warning" button
266 - var buttons = {};
267 - buttons[ gM( 'mwe-ignorewarning' ) ] = function() {
268 - // Check if we have a stashed key:
269 - if ( _this.warnings_sessionkey ) {
270 - //set to "loading"
271 - $j( '#upProgressDialog' ).loadingSpinner() );
272 - //setup request:
273 - var request = {
274 - 'action': 'upload',
275 - 'sessionkey': _this.warnings_sessionkey,
276 - 'ignorewarnings': 1,
277 - 'filename': $j( '#wpDestFile' ).val(),
278 - 'token' : _this.editToken,
279 - 'comment' : _this.getUploadDescription()
280 - };
281 - //run the upload from stash request
282 - mw.getJSON(_this.api_url, request, function( data ) {
283 - _this.processApiResult( data );
284 - } );
285 - } else {
286 - mw.log( 'No session key re-sending upload' )
287 -
288 -
289 - //do a stashed upload
290 - $j( '#wpIgnoreWarning' ).attr( 'checked', true );
291 - $j( _this.editForm ).submit();
292 - }
293 - };
294 - */
295 -
296 -
Index: branches/wmf/1.17wmf1/extensions/UploadWizard/resources/mw.UploadWizardDeed.js
@@ -206,7 +206,7 @@
207207 _this.authorInput = $j('<textarea class="mwe-author mwe-long-textarea" name="author" rows="1" cols="40"></textarea>' )
208208 .growTextArea()
209209 .attr( 'title', gM( 'mwe-upwiz-tooltip-author' ) );
210 - licenseInputDiv = $j( '<div class="mwe-upwiz-deed-license"></div>' );
 210+ licenseInputDiv = $j( '<div></div>' );
211211 _this.licenseInput = new mw.UploadWizardLicenseInput( licenseInputDiv,
212212 undefined,
213213 mw.UploadWizard.config.licensesThirdParty,
@@ -397,7 +397,6 @@
398398 _this.deed = deed;
399399 if ( deed === mw.UploadWizardNullDeed ) {
400400 $j( _this ).trigger( 'chooseNullDeed' );
401 - //_this.trigger( 'isNotReady' );
402401 _this.$selector
403402 .find( 'input.mwe-accept-deed' )
404403 .attr( 'checked', false );
@@ -439,6 +438,10 @@
440439 }
441440 $form.slideDown( 500 );
442441 } );
 442+ },
 443+
 444+ remove: function() {
 445+ this.$selector.html('');
443446 }
444447
445448 };
Index: branches/wmf/1.17wmf1/extensions/UploadWizard/resources/mw.UploadWizardLicenseInput.js
@@ -104,18 +104,28 @@
105105 throw new Error( 'improper config' );
106106 }
107107 var $group = $j( '<div></div>' ).addClass( 'mwe-upwiz-deed-license-group' );
 108+ // if there is no header, just append licenses to the group div.
 109+ var $body = $group;
 110+ // if there is a header, make a toggle-to-expand div and append to that instead.
108111 if ( mw.isDefined( group['head'] ) ) {
109 - $group.append( $j( '<p></p>' ).addClass( 'mwe-upwiz-deed-license-group-head' ).msg( group.head, _this.count ) );
 112+ var $head = $j( '<div></div>' ).append(
 113+ $j( '<a>' )
 114+ .addClass( 'mwe-upwiz-deed-license-group-head mwe-upwiz-toggler' )
 115+ .msg( group.head, _this.count )
 116+ );
 117+ $body = $j( '<div></div>' ).addClass( 'mwe-upwiz-toggler-content' ).css( { 'marginBottom': '1em' } );
 118+ $group.append( $head, $body ).collapseToggle();
110119 }
111120 if ( mw.isDefined( group['subhead'] ) ) {
112 - $group.append( $j( '<p></p>' ).addClass( 'mwe-upwiz-deed-license-group-subhead' ).msg( group.subhead, _this.count ) );
 121+ $body.append( $j( '<div></div>' ).addClass( 'mwe-upwiz-deed-license-group-subhead' ).msg( group.subhead, _this.count ) );
113122 }
114123 var $licensesDiv = $j( '<div></div>' ).addClass( 'mwe-upwiz-deed-license' );
115124 appendLicenses( $licensesDiv, group );
116 - $group.append( $licensesDiv );
 125+ $body.append( $licensesDiv );
117126 _this.$selector.append( $group );
118127 } );
119128
 129+
120130 } else {
121131 appendLicenses( _this.$selector, config );
122132 }
Index: branches/wmf/1.17wmf1/extensions/UploadWizard/resources/mw.UploadWizardUploadInterface.js
@@ -306,7 +306,12 @@
307307 return;
308308 }
309309
310 - $j( _this.filenameCtrl ).val( _this.upload.title.getMain() );
 310+ // Set the filename we tell to the API to be the current timestamp + the filename
 311+ // This is because we don't actually care what the filename is at this point, we just want it to be unique for this session and have the
 312+ // proper file extension.
 313+ // Also, it avoids a problem -- the API only returns one error at a time and it thinks that the same-filename error is more important than same-content.
 314+ // But for UploadWizard, at this stage, it's the reverse. We want to stop same-content dead, but for now we ignore same-filename
 315+ $j( _this.filenameCtrl ).val( ( new Date() ).getTime().toString() +_this.upload.title.getMain() );
311316
312317 if ( ! _this.isFilled ) {
313318 var $div = $j( _this.div );
Index: branches/wmf/1.17wmf1/extensions/UploadWizard/resources/mw.DestinationChecker.js
@@ -108,7 +108,9 @@
109109 var title = _this.getTitle();
110110
111111 // if input is empty don't bother.
112 - if ( title == '' ) return;
 112+ if ( title === '' ) {
 113+ return;
 114+ }
113115
114116 if ( _this.cachedResult[name] !== undefined ) {
115117 _this.processResult( _this.cachedResult[name] );
Index: branches/wmf/1.17wmf1/extensions/UploadWizard/resources/images/24px-spinner-0645ad-f5f5f5.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes on: branches/wmf/1.17wmf1/extensions/UploadWizard/resources/images/24px-spinner-0645ad-f5f5f5.gif
___________________________________________________________________
Added: svn:mime-type
116118 + application/octet-stream
Index: branches/wmf/1.17wmf1/extensions/UploadWizard/resources/mw.Api.js
@@ -189,7 +189,8 @@
190190 'internal-error',
191191 'overwrite',
192192 'badtoken',
193 - 'fetchfileerror'
 193+ 'fetchfileerror',
 194+ 'fileexists-shared-forbidden'
194195 ];
195196
196197 /**
Index: branches/wmf/1.17wmf1/extensions/UploadWizard/resources/mw.LanguageUpWiz.js
@@ -16,368 +16,21 @@
1717 UNKNOWN: 'unknown',
1818
1919 /**
20 - * List of all languages mediaWiki supports ( Avoid an api call to get this same info )
21 - * http://commons.wikimedia.org/w/api.php?action=query&meta=siteinfo&siprop=languages&format=jsonfm
22 - *
23 - * Languages sorted by name, using tools in $SVNROOT/mediawiki/trunk/tools/langcodes
24 - * This is somewhat better than sorting by code (which produces totally bizarre results) but is not
25 - * a true lexicographic sort
 20+ * List of default languages
 21+ * Make sure you have language templates set up for each of these on your wiki, e.g. {{en}}
2622 */
2723 languages: [
28 - { code: "ace", text: "Ac\u00e8h" },
29 - { code: "af", text: "Afrikaans" },
30 - { code: "ak", text: "Akan" },
31 - { code: "als", text: "Alemannisch" }, // XXX someone fix this please
32 - { code: "gsw", text: "Alemannisch" }, //
33 - { code: "ang", text: "Anglo-Saxon" },
34 - { code: "an", text: "Aragon\u00e9s" },
35 - { code: "roa-rup", text: "Arm\u00e3neashce" },
36 - { code: "frp", text: "Arpetan" },
37 - { code: "ast", text: "Asturianu" },
38 - { code: "gn", text: "Ava\u00f1e'\u1ebd" },
39 - { code: "ay", text: "Aymar aru" },
40 - { code: "az", text: "Az\u0259rbaycan" },
41 - { code: "id", text: "Bahasa Indonesia" },
42 - { code: "ms", text: "Bahasa Melayu" },
43 - { code: "bm", text: "Bamanankan" },
44 - { code: "map-bms", text: "Basa Banyumasan" },
45 - { code: "jv", text: "Basa Jawa" },
46 - { code: "su", text: "Basa Sunda" },
47 - { code: "bcl", text: "Bikol Central" },
48 - { code: "bi", text: "Bislama" },
49 - { code: "bar", text: "Boarisch" },
50 - { code: "bs", text: "Bosanski" },
51 - { code: "br", text: "Brezhoneg" },
52 - { code: "en-gb", text: "British English" },
53 - { code: "nan", text: "B\u00e2n-l\u00e2m-g\u00fa" },
54 - { code: "zh-min-nan", text: "B\u00e2n-l\u00e2m-g\u00fa" },
55 - { code: "ca", text: "Catal\u00e0" },
56 - { code: "ceb", text: "Cebuano" },
57 - { code: "ch", text: "Chamoru" },
58 - { code: "cbk-zam", text: "Chavacano de Zamboanga" },
59 - { code: "ny", text: "Chi-Chewa" },
60 - { code: "cho", text: "Choctaw" },
61 - { code: "sei", text: "Cmique Itom" },
62 - { code: "co", text: "Corsu" },
63 - { code: "cy", text: "Cymraeg" },
64 - { code: "da", text: "Dansk" },
65 - { code: "dk", text: "Dansk (deprecated:da)" }, // XXX deprecated?
66 - { code: "pdc", text: "Deitsch" },
67 - { code: "de", text: "Deutsch" },
68 - { code: "de-formal", text: "Deutsch (Sie-Form)" },
69 - { code: "nv", text: "Din\u00e9 bizaad" },
70 - { code: "dsb", text: "Dolnoserbski" },
71 - { code: "na", text: "Dorerin Naoero" },
72 - { code: "mh", text: "Ebon" },
73 - { code: "et", text: "Eesti" },
74 - { code: "eml", text: "Emili\u00e0n e rumagn\u00f2l" },
75 - { code: "en", text: "English" },
76 - { code: "es", text: "Espa\u00f1ol" },
77 - { code: "eo", text: "Esperanto" },
78 - { code: "ext", text: "Estreme\u00f1u" },
79 - { code: "eu", text: "Euskara" },
80 - { code: "ee", text: "E\u028begbe" },
81 - { code: "hif", text: "Fiji Hindi" }, // XXX fix this
82 - { code: "hif-latn", text: "Fiji Hindi" }, //
83 - { code: "fr", text: "Fran\u00e7ais" },
84 - { code: "frc", text: "Fran\u00e7ais canadien" },
85 - { code: "fy", text: "Frysk" },
86 - { code: "ff", text: "Fulfulde" },
87 - { code: "fur", text: "Furlan" },
88 - { code: "fo", text: "F\u00f8royskt" },
89 - { code: "ga", text: "Gaeilge" },
90 - { code: "gv", text: "Gaelg" },
91 - { code: "sm", text: "Gagana Samoa" },
92 - { code: "gag", text: "Gagauz" },
93 - { code: "gl", text: "Galego" },
94 - { code: "aln", text: "Geg\u00eb" },
95 - { code: "gd", text: "G\u00e0idhlig" },
96 - { code: "ki", text: "G\u0129k\u0169y\u0169" },
97 - { code: "hak", text: "Hak-k\u00e2-fa" },
98 - { code: "haw", text: "Hawai`i" },
99 - { code: "ho", text: "Hiri Motu" },
100 - { code: "hsb", text: "Hornjoserbsce" },
101 - { code: "hr", text: "Hrvatski" },
102 - { code: "io", text: "Ido" },
103 - { code: "ig", text: "Igbo" },
104 - { code: "ilo", text: "Ilokano" },
105 - { code: "hil", text: "Ilonggo" },
106 - { code: "ia", text: "Interlingua" },
107 - { code: "ie", text: "Interlingue" },
108 - { code: "it", text: "Italiano" },
109 - { code: "ik", text: "I\u00f1upiak" },
110 - { code: "jut", text: "Jysk" },
111 - { code: "kl", text: "Kalaallisut" },
112 - { code: "kr", text: "Kanuri" },
113 - { code: "pam", text: "Kapampangan" },
114 - { code: "csb", text: "Kasz\u00ebbsczi" },
115 - { code: "kw", text: "Kernowek" },
116 - { code: "krj", text: "Kinaray-a" },
117 - { code: "rw", text: "Kinyarwanda" },
118 - { code: "rn", text: "Kirundi" },
119 - { code: "sw", text: "Kiswahili" },
120 - { code: "kg", text: "Kongo" },
121 - { code: "avk", text: "Kotava" },
122 - { code: "ht", text: "Krey\u00f2l ayisyen" },
123 - { code: "kri", text: "Krio" },
124 - { code: "ku", text: "Kurd\u00ee \/ \u0643\u0648\u0631\u062f\u06cc" },
125 - { code: "kiu", text: "Kurmanc\u00ee" },
126 - { code: "kj", text: "Kwanyama" },
127 - { code: "lad", text: "Ladino" },
128 - { code: "la", text: "Latina" },
129 - { code: "lv", text: "Latvie\u0161u" },
130 - { code: "lt", text: "Lietuvi\u0173" },
131 - { code: "li", text: "Limburgs" },
132 - { code: "lfn", text: "Lingua Franca Nova" },
133 - { code: "ln", text: "Ling\u00e1la" },
134 - { code: "jbo", text: "Lojban" },
135 - { code: "lg", text: "Luganda" },
136 - { code: "lmo", text: "Lumbaart" },
137 - { code: "lb", text: "L\u00ebtzebuergesch" },
138 - { code: "lij", text: "L\u00edguru" },
139 - { code: "hu", text: "Magyar" },
140 - { code: "mg", text: "Malagasy" },
141 - { code: "mt", text: "Malti" },
142 - { code: "arn", text: "Mapudungun" },
143 - { code: "mwl", text: "Mirand\u00e9s" },
144 - { code: "mus", text: "Mvskoke" },
145 - { code: "cdo", text: "M\u00ecng-d\u0115\u0324ng-ng\u1e73\u0304" },
146 - { code: "mi", text: "M\u0101ori" },
147 - { code: "fj", text: "Na Vosa Vakaviti" },
148 - { code: "nl", text: "Nederlands" },
149 - { code: "nds-nl", text: "Nedersaksisch" },
150 - { code: "niu", text: "Niu\u0113" },
151 - { code: "nap", text: "Nnapulitano" },
152 - { code: "pih", text: "Norfuk \/ Pitkern" },
153 - { code: "nb", text: "Norsk (bokm\u00e5l)" },
154 - { code: "no", text: "Norsk (bokm\u00e5l)" },
155 - { code: "nn", text: "Norsk (nynorsk)" },
156 - { code: "nrm", text: "Nouormand" },
157 - { code: "nov", text: "Novial" },
158 - { code: "nah", text: "N\u0101huatl" },
159 - { code: "cr", text: "N\u0113hiyaw\u0113win \/ \u14c0\u1426\u1403\u152d\u140d\u140f\u1423" },
160 - { code: "uz", text: "O'zbek" },
161 - { code: "oc", text: "Occitan" },
162 - { code: "om", text: "Oromoo" },
163 - { code: "ng", text: "Oshiwambo" },
164 - { code: "hz", text: "Otsiherero" },
165 - { code: "pag", text: "Pangasinan" },
166 - { code: "pap", text: "Papiamentu" },
167 - { code: "pfl", text: "Pf\u00e4lzisch" },
168 - { code: "pcd", text: "Picard" },
169 - { code: "pms", text: "Piemont\u00e8is" },
170 - { code: "nds", text: "Plattd\u00fc\u00fctsch" },
171 - { code: "pdt", text: "Plautdietsch" },
172 - { code: "pl", text: "Polski" },
173 - { code: "pt", text: "Portugu\u00eas" },
174 - { code: "pt-br", text: "Portugu\u00eas do Brasil" },
175 - { code: "aa", text: "Qaf\u00e1r af" },
176 - { code: "kaa", text: "Qaraqalpaqsha" },
177 - { code: "crh", text: "Q\u0131r\u0131mtatarca" },
178 - { code: "ty", text: "Reo M\u0101`ohi" },
179 - { code: "ksh", text: "Ripoarisch" },
180 - { code: "rmy", text: "Romani" },
181 - { code: "ro", text: "Rom\u00e2n\u0103" },
182 - { code: "rm", text: "Rumantsch" },
183 - { code: "qu", text: "Runa Simi" },
184 - { code: "sc", text: "Sardu" },
185 - { code: "sdc", text: "Sassaresu" },
186 - { code: "sli", text: "Schl\u00e4sch" },
187 - { code: "de-ch", text: "Schweizer Hochdeutsch" },
188 - { code: "sco", text: "Scots" },
189 - { code: "stq", text: "Seeltersk" },
190 - { code: "st", text: "Sesotho" },
191 - { code: "nso", text: "Sesotho sa Leboa" },
192 - { code: "tn", text: "Setswana" },
193 - { code: "sq", text: "Shqip" },
194 - { code: "ss", text: "SiSwati" },
195 - { code: "scn", text: "Sicilianu" },
196 - { code: "loz", text: "Silozi" },
197 - { code: "simple", text: "Simple English" },
198 - { code: "sk", text: "Sloven\u010dina" },
199 - { code: "sl", text: "Sloven\u0161\u010dina" },
200 - { code: "so", text: "Soomaaliga" },
201 - { code: "ckb", text: "Soran\u00ee \/ \u06a9\u0648\u0631\u062f\u06cc" },
202 - { code: "srn", text: "Sranantongo" },
203 - { code: "sr-el", text: "Srpski (latinica)" },
204 - { code: "sh", text: "Srpskohrvatski \/ \u0421\u0440\u043f\u0441\u043a\u043e\u0445\u0440\u0432\u0430\u0442\u0441\u043a\u0438" },
205 - { code: "fi", text: "Suomi" },
206 - { code: "sv", text: "Svenska" },
207 - { code: "se", text: "S\u00e1megiella" },
208 - { code: "sg", text: "S\u00e4ng\u00f6" },
209 - { code: "tl", text: "Tagalog" },
210 - { code: "kab", text: "Taqbaylit" },
211 - { code: "roa-tara", text: "Tarand\u00edne" },
212 - { code: "rif", text: "Tarifit" },
213 - { code: "tt-latn", text: "Tatar\u00e7a" },
214 - { code: "shi", text: "Ta\u0161l\u1e25iyt" },
215 - { code: "tet", text: "Tetun" },
216 - { code: "vi", text: "Ti\u1ebfng Vi\u1ec7t" },
217 - { code: "tpi", text: "Tok Pisin" },
218 - { code: "tokipona", text: "Toki Pona" },
219 - { code: "tp", text: "Toki Pona (deprecated:tokipona)" }, // XXX deprecated?
220 - { code: "chy", text: "Tsets\u00eahest\u00e2hese" },
221 - { code: "ve", text: "Tshivenda" },
222 - { code: "tw", text: "Twi" },
223 - { code: "tk", text: "T\u00fcrkmen\u00e7e" },
224 - { code: "tr", text: "T\u00fcrk\u00e7e" },
225 - { code: "ug-latn", text: "Uyghurche\u200e" },
226 - { code: "ug", text: "Uyghurche\u200e \/ \u0626\u06c7\u064a\u063a\u06c7\u0631\u0686\u06d5" },
227 - { code: "za", text: "Vahcuengh" },
228 - { code: "vep", text: "Vepsan kel'" },
229 - { code: "ruq", text: "Vl\u0103he\u015fte" },
230 - { code: "ruq-latn", text: "Vl\u0103he\u015fte" },
231 - { code: "vo", text: "Volap\u00fck" },
232 - { code: "vec", text: "V\u00e8neto" },
233 - { code: "fiu-vro", text: "V\u00f5ro" },
234 - { code: "vro", text: "V\u00f5ro" },
235 - { code: "wa", text: "Walon" },
236 - { code: "vls", text: "West-Vlams" },
237 - { code: "war", text: "Winaray" },
238 - { code: "wo", text: "Wolof" },
239 - { code: "ts", text: "Xitsonga" },
240 - { code: "yo", text: "Yor\u00f9b\u00e1" },
241 - { code: "diq", text: "Zazaki" },
242 - { code: "zea", text: "Ze\u00eauws" },
243 - { code: "sn", text: "chiShona" },
244 - { code: "tum", text: "chiTumbuka" },
245 - { code: "ike-latn", text: "inuktitut" },
246 - { code: "xh", text: "isiXhosa" },
247 - { code: "zu", text: "isiZulu" },
248 - { code: "to", text: "lea faka-Tonga" },
249 - { code: "tg-latn", text: "tojik\u012b" },
250 - { code: "is", text: "\u00cdslenska" },
251 - { code: "de-at", text: "\u00d6sterreichisches Deutsch" },
252 - { code: "szl", text: "\u015al\u016fnski" },
253 - { code: "el", text: "\u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac" },
254 - { code: "pnt", text: "\u03a0\u03bf\u03bd\u03c4\u03b9\u03b1\u03ba\u03ac" },
255 - { code: "av", text: "\u0410\u0432\u0430\u0440" },
256 - { code: "ab", text: "\u0410\u04a7\u0441\u0443\u0430" },
257 - { code: "ba", text: "\u0411\u0430\u0448\u04a1\u043e\u0440\u0442" },
258 - { code: "be", text: "\u0411\u0435\u043b\u0430\u0440\u0443\u0441\u043a\u0430\u044f" },
259 - { code: "be-tarask", text: "\u0411\u0435\u043b\u0430\u0440\u0443\u0441\u043a\u0430\u044f (\u0442\u0430\u0440\u0430\u0448\u043a\u0435\u0432\u0456\u0446\u0430)" },
260 - { code: "be-x-old", text: "\u0411\u0435\u043b\u0430\u0440\u0443\u0441\u043a\u0430\u044f (\u0442\u0430\u0440\u0430\u0448\u043a\u0435\u0432\u0456\u0446\u0430)" },
261 - { code: "bxr", text: "\u0411\u0443\u0440\u044f\u0430\u0434" },
262 - { code: "bg", text: "\u0411\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438" },
263 - { code: "ruq-cyrl", text: "\u0412\u043b\u0430\u0445\u0435\u0441\u0442\u0435" },
264 - { code: "inh", text: "\u0413\u0406\u0430\u043b\u0433\u0406\u0430\u0439 \u011eal\u011faj" },
265 - { code: "os", text: "\u0418\u0440\u043e\u043d\u0430\u0443" },
266 - { code: "kv", text: "\u041a\u043e\u043c\u0438" },
267 - { code: "ky", text: "\u041a\u044b\u0440\u0433\u044b\u0437\u0447\u0430" },
268 - { code: "lbe", text: "\u041b\u0430\u043a\u043a\u0443" },
269 - { code: "lez", text: "\u041b\u0435\u0437\u0433\u0438" },
270 - { code: "mk", text: "\u041c\u0430\u043a\u0435\u0434\u043e\u043d\u0441\u043a\u0438" },
271 - { code: "mdf", text: "\u041c\u043e\u043a\u0448\u0435\u043d\u044c" },
272 - { code: "mo", text: "\u041c\u043e\u043b\u0434\u043e\u0432\u0435\u043d\u044f\u0441\u043a\u044d" },
273 - { code: "mn", text: "\u041c\u043e\u043d\u0433\u043e\u043b" },
274 - { code: "ce", text: "\u041d\u043e\u0445\u0447\u0438\u0439\u043d" },
275 - { code: "mhr", text: "\u041e\u043b\u044b\u043a \u041c\u0430\u0440\u0438\u0439" },
276 - { code: "ru", text: "\u0420\u0443\u0441\u0441\u043a\u0438\u0439" },
277 - { code: "sah", text: "\u0421\u0430\u0445\u0430 \u0442\u044b\u043b\u0430" },
278 - { code: "cu", text: "\u0421\u043b\u043e\u0432\u0463\u0301\u043d\u044c\u0441\u043a\u044a \/ \u2c14\u2c0e\u2c11\u2c02\u2c21\u2c10\u2c20\u2c14\u2c0d\u2c1f" },
279 - { code: "sr-ec", text: "\u0421\u0440\u043f\u0441\u043a\u0438 (\u045b\u0438\u0440\u0438\u043b\u0438\u0446\u0430)" },
280 - { code: "sr", text: "\u0421\u0440\u043f\u0441\u043a\u0438 \/ Srpski" },
281 - { code: "tt-cyrl", text: "\u0422\u0430\u0442\u0430\u0440\u0447\u0430" },
282 - { code: "tt", text: "\u0422\u0430\u0442\u0430\u0440\u0447\u0430\/Tatar\u00e7a" },
283 - { code: "tg", text: "\u0422\u043e\u04b7\u0438\u043a\u04e3" },
284 - { code: "tg-cyrl", text: "\u0422\u043e\u04b7\u0438\u043a\u04e3" },
285 - { code: "tyv", text: "\u0422\u044b\u0432\u0430 \u0434\u044b\u043b" },
286 - { code: "udm", text: "\u0423\u0434\u043c\u0443\u0440\u0442" },
287 - { code: "uk", text: "\u0423\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0430" },
288 - { code: "xal", text: "\u0425\u0430\u043b\u044c\u043c\u0433" },
289 - { code: "cv", text: "\u0427\u04d1\u0432\u0430\u0448\u043b\u0430" },
290 - { code: "myv", text: "\u042d\u0440\u0437\u044f\u043d\u044c" },
291 - { code: "kk", text: "\u049a\u0430\u0437\u0430\u049b\u0448\u0430" },
292 - { code: "hy", text: "\u0540\u0561\u0575\u0565\u0580\u0565\u0576" },
293 - { code: "yi", text: "\u05d9\u05d9\u05b4\u05d3\u05d9\u05e9" },
294 - { code: "he", text: "\u05e2\u05d1\u05e8\u05d9\u05ea" },
295 - { code: "ug-arab", text: "\u0626\u06c7\u064a\u063a\u06c7\u0631\u0686\u06d5" },
296 - { code: "ur", text: "\u0627\u0631\u062f\u0648" },
297 - { code: "ar", text: "\u0627\u0644\u0639\u0631\u0628\u064a\u0629" },
298 - { code: "bqi", text: "\u0628\u062e\u062a\u064a\u0627\u0631\u064a" },
299 - { code: "bcc", text: "\u0628\u0644\u0648\u0686\u06cc \u0645\u06a9\u0631\u0627\u0646\u06cc" },
300 - { code: "sd", text: "\u0633\u0646\u068c\u064a" },
301 - { code: "fa", text: "\u0641\u0627\u0631\u0633\u06cc" },
302 - { code: "arz", text: "\u0645\u0635\u0631\u0649" },
303 - { code: "mzn", text: "\u0645\u064e\u0632\u0650\u0631\u0648\u0646\u064a" },
304 - { code: "ha", text: "\u0647\u064e\u0648\u064f\u0633\u064e" },
305 - { code: "pnb", text: "\u067e\u0646\u062c\u0627\u0628\u06cc" },
306 - { code: "ps", text: "\u067e\u069a\u062a\u0648" },
307 - { code: "glk", text: "\u06af\u06cc\u0644\u06a9\u06cc" },
308 - { code: "arc", text: "\u0710\u072a\u0721\u071d\u0710" },
309 - { code: "dv", text: "\u078b\u07a8\u0788\u07ac\u0780\u07a8\u0784\u07a6\u0790\u07b0" },
310 - { code: "ks", text: "\u0915\u0936\u094d\u092e\u0940\u0930\u0940 - (\u0643\u0634\u0645\u064a\u0631\u064a)" },
311 - { code: "new", text: "\u0928\u0947\u092a\u093e\u0932 \u092d\u093e\u0937\u093e" },
312 - { code: "ne", text: "\u0928\u0947\u092a\u093e\u0932\u0940" },
313 - { code: "pi", text: "\u092a\u093e\u093f\u0934" },
314 - { code: "hif-deva", text: "\u092b\u093c\u0940\u091c\u0940 \u0939\u093f\u0928\u094d\u0926\u0940" },
315 - { code: "bh", text: "\u092d\u094b\u091c\u092a\u0941\u0930\u0940" },
316 - { code: "mr", text: "\u092e\u0930\u093e\u0920\u0940" },
317 - { code: "mai", text: "\u092e\u0948\u0925\u093f\u0932\u0940" },
318 - { code: "sa", text: "\u0938\u0902\u0938\u094d\u0915\u0943\u0924" },
319 - { code: "hi", text: "\u0939\u093f\u0928\u094d\u0926\u0940" },
320 - { code: "as", text: "\u0985\u09b8\u09ae\u09c0\u09af\u09bc\u09be" },
321 - { code: "bpy", text: "\u0987\u09ae\u09be\u09b0 \u09a0\u09be\u09b0\/\u09ac\u09bf\u09b7\u09cd\u09a3\u09c1\u09aa\u09cd\u09b0\u09bf\u09af\u09bc\u09be \u09ae\u09a3\u09bf\u09aa\u09c1\u09b0\u09c0" },
322 - { code: "bn", text: "\u09ac\u09be\u0982\u09b2\u09be" },
323 - { code: "pa", text: "\u0a2a\u0a70\u0a1c\u0a3e\u0a2c\u0a40" },
324 - { code: "gu", text: "\u0a97\u0ac1\u0a9c\u0ab0\u0abe\u0aa4\u0ac0" },
325 - { code: "or", text: "\u0b13\u0b21\u0b3c\u0b3f\u0b06" },
326 - { code: "ta", text: "\u0ba4\u0bae\u0bbf\u0bb4\u0bcd" },
327 - { code: "te", text: "\u0c24\u0c46\u0c32\u0c41\u0c17\u0c41" },
328 - { code: "sma", text: "\u00c5arjelsaemien" },
329 - { code: "kn", text: "\u0c95\u0ca8\u0ccd\u0ca8\u0ca1" },
330 - { code: "tcy", text: "\u0ca4\u0cc1\u0cb3\u0cc1" },
331 - { code: "ml", text: "\u0d2e\u0d32\u0d2f\u0d3e\u0d33\u0d02" },
332 - { code: "si", text: "\u0dc3\u0dd2\u0d82\u0dc4\u0dbd" },
333 - { code: "th", text: "\u0e44\u0e17\u0e22" },
334 - { code: "lo", text: "\u0ea5\u0eb2\u0ea7" },
335 - { code: "dz", text: "\u0f47\u0f7c\u0f44\u0f0b\u0f41" },
336 - { code: "bo", text: "\u0f56\u0f7c\u0f51\u0f0b\u0f61\u0f72\u0f42" },
337 - { code: "my", text: "\u1019\u103c\u1014\u103a\u1019\u102c\u1018\u102c\u101e\u102c" },
338 - { code: "cs", text: "\u010cesky" },
339 - { code: "xmf", text: "\u10db\u10d0\u10e0\u10d2\u10d0\u10da\u10e3\u10e0\u10d8" },
340 - { code: "ka", text: "\u10e5\u10d0\u10e0\u10d7\u10e3\u10da\u10d8" },
341 - { code: "ti", text: "\u1275\u130d\u122d\u129b" },
342 - { code: "am", text: "\u12a0\u121b\u122d\u129b" },
343 - { code: "chr", text: "\u13e3\u13b3\u13a9" },
344 - { code: "ike-cans", text: "\u1403\u14c4\u1483\u144e\u1450\u1466" },
345 - { code: "iu", text: "\u1403\u14c4\u1483\u144e\u1450\u1466\/inuktitut" },
346 - { code: "km", text: "\u1797\u17b6\u179f\u17b6\u1781\u17d2\u1798\u17c2\u179a" },
347 - { code: "bat-smg", text: "\u017demait\u0117\u0161ka" },
348 - { code: "bug", text: "\u1a05\u1a14 \u1a15\u1a18\u1a01\u1a17" },
349 - { code: "grc", text: "\u1f08\u03c1\u03c7\u03b1\u03af\u03b1 \u1f11\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u1f74" },
350 - { code: "ku-latn", text: "\u202aKurd\u00ee (lat\u00een\u00ee)\u202c" },
351 - { code: "kk-tr", text: "\u202aQazaq\u015fa (T\u00fcrk\u00efya)\u202c" },
352 - { code: "kk-latn", text: "\u202aQazaq\u015fa (lat\u0131n)\u202c" },
353 - { code: "crh-latn", text: "\u202aQ\u0131r\u0131mtatarca (Latin)\u202c" },
354 - { code: "crh-cyrl", text: "\u202a\u041a\u044a\u044b\u0440\u044b\u043c\u0442\u0430\u0442\u0430\u0440\u0434\u0436\u0430 (\u041a\u0438\u0440\u0438\u043b\u043b)\u202c" },
355 - { code: "kk-cyrl", text: "\u202a\u049a\u0430\u0437\u0430\u049b\u0448\u0430 (\u043a\u0438\u0440\u0438\u043b)\u202c" },
356 - { code: "kk-kz", text: "\u202a\u049a\u0430\u0437\u0430\u049b\u0448\u0430 (\u049a\u0430\u0437\u0430\u049b\u0441\u0442\u0430\u043d)\u202c" },
357 - { code: "kk-arab", text: "\u202b\u0642\u0627\u0632\u0627\u0642\u0634\u0627 (\u062a\u0674\u0648\u062a\u06d5)\u202c" },
358 - { code: "kk-cn", text: "\u202b\u0642\u0627\u0632\u0627\u0642\u0634\u0627 (\u062c\u06c7\u0646\u06af\u0648)\u202c" },
359 - { code: "ku-arab", text: "\u202b\u0643\u0648\u0631\u062f\u064a (\u0639\u06d5\u0631\u06d5\u0628\u06cc)\u202c" },
360 - { code: "zh", text: "\u4e2d\u6587" },
361 - { code: "zh-cn", text: "\u4e2d\u6587(\u4e2d\u56fd\u5927\u9646)" },
362 - { code: "zh-tw", text: "\u4e2d\u6587(\u53f0\u7063)" },
363 - { code: "zh-sg", text: "\u4e2d\u6587(\u65b0\u52a0\u5761)" },
364 - { code: "zh-mo", text: "\u4e2d\u6587(\u6fb3\u9580)" },
365 - { code: "zh-hans", text: "\u4e2d\u6587(\u7b80\u4f53)" },
366 - { code: "zh-hant", text: "\u4e2d\u6587(\u7e41\u9ad4)" },
367 - { code: "zh-hk", text: "\u4e2d\u6587(\u9999\u6e2f)" },
368 - { code: "zh-my", text: "\u4e2d\u6587(\u9a6c\u6765\u897f\u4e9a)" },
369 - { code: "wuu", text: "\u5434\u8bed" },
370 - { code: "lzh", text: "\u6587\u8a00" },
371 - { code: "zh-classical", text: "\u6587\u8a00" },
372 - { code: "ja", text: "\u65e5\u672c\u8a9e" },
373 - { code: "yue", text: "\u7cb5\u8a9e" },
374 - { code: "zh-yue", text: "\u7cb5\u8a9e" },
375 - { code: "gan", text: "\u8d1b\u8a9e" },
376 - { code: "gan-hant", text: "\u8d1b\u8a9e(\u7e41\u9ad4)" },
377 - { code: "gan-hans", text: "\u8d63\u8bed(\u7b80\u4f53)" },
378 - { code: "ii", text: "\ua187\ua259" },
379 - { code: "ko", text: "\ud55c\uad6d\uc5b4" },
380 - { code: "ko-kp", text: "\ud55c\uad6d\uc5b4 (\uc870\uc120)" },
381 - { code: "got", text: "\ud800\udf32\ud800\udf3f\ud800\udf44\ud800\udf39\ud800\udf43\ud800\udf3a" }
 24+ { lang: "de", text: "Deutsch" },
 25+ { lang: "en", text: "English" },
 26+ { lang: "es", text: "Español" },
 27+ { lang: "fr", text: "Français" },
 28+ { lang: "it", text: "Italiano" },
 29+ { lang: "nl", text: "Nederlands" },
 30+ { lang: "pl", text: "Polski" },
 31+ { lang: "pt", text: "Português" },
 32+ { lang: "ru", text: "Русский" },
 33+ { lang: "zh", text: "中文" },
 34+ { lang: "ja", text: "日本語" }
38235 ],
38336
38437 /**
@@ -389,15 +42,21 @@
39043 if ( mw.LanguageUpWiz.initialized ) {
39144 return;
39245 }
 46+ // if a language list is defined locally (MediaWiki:LanguageHandler.js), use that list instead
 47+ if ( typeof LanguageHandler != 'undefined' ) {
 48+ this.languages = LanguageHandler.languages;
 49+ }
39350 mw.LanguageUpWiz._codes = {};
39451 var select = $j( '<select/>' );
39552 $j.each( mw.LanguageUpWiz.languages, function( i, language ) {
 53+ // add an option for each language
39654 select.append(
39755 $j( '<option>' )
398 - .attr( 'value', language.code )
 56+ .attr( 'value', language.lang )
39957 .append( language.text )
40058 );
401 - mw.LanguageUpWiz._codes[language.code] = language.text;
 59+ // add each language into dictionary
 60+ mw.LanguageUpWiz._codes[language.lang] = language.text;
40261 } );
40362 mw.LanguageUpWiz.$_select = select;
40463 mw.LanguageUpWiz.initialized = true;
Property changes on: branches/wmf/1.17wmf1/extensions/UploadWizard/resources/mw.LanguageUpWiz.js
___________________________________________________________________
Modified: svn:mergeinfo
40564 Merged /trunk/extensions/UploadWizard/resources/mw.LanguageUpWiz.js:r85606-86033
40665 Merged /trunk/phase3/extensions/UploadWizard/resources/mw.LanguageUpWiz.js:r85939
Index: branches/wmf/1.17wmf1/extensions/UploadWizard/resources/uploadWizard.css
@@ -1,6 +1,7 @@
22 /* for feedback request message */
33 #contentSub {
44 margin-left: 0;
 5+ color: #666666;
56 }
67
78 form.mwe-upwiz-form {
@@ -92,6 +93,10 @@
9394 cursor: pointer;
9495 }
9596
 97+#mwe-upwiz-stepdiv-file .mwe-upwiz-visible-file {
 98+ cursor: auto !important;
 99+}
 100+
96101 /* file inputs are freakishly large to overflow the containing div -- we get a div
97102 that can act as a more styleable single-click file input */
98103 .mwe-upwiz-file-input, .disabler {
@@ -161,9 +166,13 @@
162167 color: #797979;
163168 }
164169
165 -.mwe-upwiz-progress-bar-etr-container {
166 - /* needed ? */
 170+.mwe-upwiz-progress-bar {
 171+ border: 1px solid #aed0ea;
167172 }
 173+
 174+.mwe-upwiz-progress-bar .ui-progressbar-value {
 175+ background: #dfeffa; /* matches the highlighted arrow */
 176+}
168177
169178 .mwe-upwiz-file-preview {
170179 float: left;
@@ -274,7 +283,7 @@
275284 width: 40px;
276285 }
277286
278 -.mwe-upwiz-mask, .mwe-upwiz-status {
 287+.mwe-upwiz-mask {
279288 position: absolute;
280289 top: 0px;
281290 left: 0px;
@@ -288,6 +297,9 @@
289298 background: url('images/24px-spinner-0645ad-e0f0ff.gif') no-repeat center center;
290299 }
291300
 301+.mwe-upwiz-file.odd .mwe-upwiz-status-progress {
 302+ background: url('images/24px-spinner-0645ad-f5f5f5.gif') no-repeat center center;
 303+}
292304 .mwe-upwiz-status-stashed, .mwe-upwiz-status-uploaded {
293305 background: url('images/32px-Dialog-apply-009900.svg.png') no-repeat center center;
294306 }
@@ -348,7 +360,7 @@
349361
350362 .mwe-upwiz-thumbnail {
351363 padding: 0.5em;
352 - width: 120px;
 364+ width: auto;
353365 }
354366
355367 .mwe-upwiz-thumbnail-side {
@@ -621,6 +633,10 @@
622634 background: url('images/toggle-open.png') no-repeat left center;
623635 }
624636
 637+.mwe-upwiz-toggler-content {
 638+ padding-left: 18px;
 639+}
 640+
625641 .mwe-upwiz-toggled {
626642 margin-top: 1em;
627643 }
@@ -640,6 +656,7 @@
641657
642658 .mwe-readonly {
643659 background-color: #ffffff;
 660+ padding: 0.25em;
644661 }
645662
646663 .mwe-date-display {
@@ -677,18 +694,12 @@
678695 #upload-wizard .ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; }
679696 #upload-wizard .ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; }
680697
681 -.mwe-upwiz-deed-license-group {
682 - margin-top: 1em;
683 - margin-bottom: 1.5em;
684 -}
685 -
686 -.mwe-upwiz-deed-license-group-head {
687 - font-weight: bold;
688 - margin-bottom: 0em;
689 -}
690 -
691698 .mwe-upwiz-deed-license-group-subhead {
692699 color: #797979;
693700 margin-top: 0em;
694701 margin-bottom: 0em;
695702 }
 703+
 704+.ui-dialog .mwe-upwiz-lightbox {
 705+ padding: 0;
 706+}
Index: branches/wmf/1.17wmf1/extensions/UploadWizard/resources/mw.UploadWizard.js
@@ -53,6 +53,9 @@
5454 */
5555 remove: function() {
5656 this.state = 'aborted';
 57+ if ( this.deedThumbnailDiv ) {
 58+ this.deedThumbnailDiv.remove();
 59+ }
5760 if ( this.details && this.details.div ) {
5861 this.details.div.remove();
5962 }
@@ -202,14 +205,21 @@
203206 _this.ui.setStatus( 'mwe-upwiz-getting-metadata' );
204207 if ( result.upload ) {
205208 _this.extractUploadInfo( result.upload );
 209+ // create the small thumbnail used on the 'upload' step
206210 _this.getThumbnail(
207211 function( image ) {
208212 // n.b. if server returns a URL, which is a 404, we do NOT get broken image
209 - _this.ui.setPreview( image );
 213+ _this.ui.setPreview( image ); // make the thumbnail the preview image
210214 },
211 - mw.UploadWizard.config[ 'iconThumbnailWidth' ],
 215+ mw.UploadWizard.config[ 'iconThumbnailWidth' ],
212216 mw.UploadWizard.config[ 'iconThumbnailMaxHeight' ]
213217 );
 218+ // create the large thumbnail that the other thumbnails link to
 219+ _this.getThumbnail(
 220+ function( image ) {},
 221+ mw.UploadWizard.config[ 'largeThumbnailWidth' ],
 222+ mw.UploadWizard.config[ 'largeThumbnailMaxHeight' ]
 223+ );
214224 _this.deedPreview.setup();
215225 _this.details.populate();
216226 _this.state = 'stashed';
@@ -405,32 +415,54 @@
406416 height = parseInt( height, 10 );
407417 }
408418
409 - var href = '#';
410 - $j.each( [ 'descriptionurl', 'url' ], function( i, propName ) {
411 - var prop = _this.imageinfo[ propName ];
412 - if ( prop ) {
413 - href = prop;
414 - return false;
415 - }
416 - } );
417 -
418419 var callback = function( image ) {
419420 if ( image === null ) {
420421 $j( selector ).addClass( 'mwe-upwiz-file-preview-broken' );
421422 _this.ui.setStatus( 'mwe-upwiz-thumbnail-failed' );
422423 } else {
 424+ var $thumbnailLink = $j( '<a class="mwe-upwiz-thumbnail-link"></a>' );
 425+ if ( _this.state != 'complete' ) { // don't use lightbox for thank you page thumbnail
 426+ $thumbnailLink
 427+ .attr( {
 428+ 'href': '#',
 429+ 'target' : '_new'
 430+ } )
 431+ // set up lightbox behavior for thumbnail
 432+ .click( function() {
 433+ // get large preview image
 434+ _this.getThumbnail(
 435+ // open large preview in modal dialog box
 436+ function( image ) {
 437+ var dialogWidth = ( image.width > 200 ) ? image.width : 200;
 438+ $( '<div class="mwe-upwiz-lightbox"></div>' )
 439+ .append( image )
 440+ .dialog( {
 441+ 'width': dialogWidth,
 442+ 'autoOpen': true,
 443+ 'title': gM( 'mwe-upwiz-image-preview' ),
 444+ 'modal': true,
 445+ 'resizable': false
 446+ } );
 447+ },
 448+ mw.UploadWizard.config[ 'largeThumbnailWidth' ],
 449+ mw.UploadWizard.config[ 'largeThumbnailMaxHeight' ]
 450+ );
 451+ return false;
 452+ } ); // close thumbnail click function
 453+ } // close if
 454+
423455 $j( selector ).html(
424 - $j( '<a/>' )
425 - .attr( { 'href': href,
426 - 'target' : '_new' } )
427 - .append(
428 - $j( '<img/>' )
429 - .attr( { 'width': image.width,
430 - 'height': image.height,
431 - 'src': image.src } )
432 - )
433 - );
434 - }
 456+ // insert the thumbnail into the anchor
 457+ $thumbnailLink.append(
 458+ $j( '<img/>' )
 459+ .attr( {
 460+ 'width': image.width,
 461+ 'height': image.height,
 462+ 'src': image.src
 463+ } )
 464+ ) // close append
 465+ ); // close html
 466+ } // close image !== null else condition
435467 };
436468
437469 _this.getThumbnail( callback, width, height );
@@ -518,7 +550,14 @@
519551 * Depending on whether we split uploading / detailing, it may actually always be as simple as loading a URL
520552 */
521553 reset: function() {
522 - window.location = wgArticlePath.replace( '$1', 'Special:UploadWizard?skiptutorial=true' );
 554+ // window.location = wgArticlePath.replace( '$1', 'Special:UploadWizard?skiptutorial=true' );
 555+ var _this = this;
 556+ // deeds page
 557+ _this.deedChooser.remove();
 558+ _this.removeMatchingUploads( function() { return true; } );
 559+ // this could be slicker... need to reset the headline AND get rid of individual divs
 560+ $( '#mwe-upwiz-thanks' ).html( '' );
 561+ _this.moveToStep( 'file' );
523562 },
524563
525564
@@ -528,12 +567,17 @@
529568 */
530569 createInterface: function( selector ) {
531570 var _this = this;
 571+
 572+ // load list of languages so we'll have it ready when description interfaces are created
 573+ // XXX replace this code once any of the following bugs are fixed: 25845, 27535, 27561
 574+ var languageHandlerUrl = wgServer + wgScript + '?' + $.param( { 'title': 'MediaWiki:LanguageHandler.js', 'action': 'raw', 'ctype': 'text/javascript' } );
 575+ mw.loader.load( languageHandlerUrl );
532576
533577 // remove first spinner
534578 $j( '#mwe-first-spinner' ).remove();
535579
536580 // feedback request
537 - if ( UploadWizardConfig['feedbackPage'] != '' ) {
 581+ if ( UploadWizardConfig['feedbackPage'] !== '' ) {
538582 $j( '#contentSub' ).html('<i>Please <a id="mwe-upwiz-feedback" href="#">let us know</a> what you think of Upload Wizard!</i>');
539583 $j( '#mwe-upwiz-feedback')
540584 .click( function() {
@@ -688,6 +732,7 @@
689733 '#mwe-upwiz-deeds',
690734 deeds,
691735 _this.uploads.length );
 736+
692737
693738 $j( '<div></div>' )
694739 .insertBefore( _this.deedChooser.$selector.find( '.mwe-upwiz-deed-ownwork' ) )
@@ -972,7 +1017,7 @@
9731018 function( upload ) {
9741019 upload.start();
9751020 },
976 - function() {
 1021+ function() {
9771022 allowCloseWindow();
9781023 $j().notify( gM( 'mwe-upwiz-files-complete' ) );
9791024 _this.showFileNext();
@@ -1059,6 +1104,7 @@
10601105 // $j( '#mwe-upwiz-upload-ctrl' ).attr( 'disabled', 'disabled' );
10611106 $j( '#mwe-upwiz-upload-ctrl-container' ).hide();
10621107
 1108+
10631109 // remove the border from the filelist. We can't hide it or make it invisible since it contains the displaced
10641110 // file input element that becomes the "click here to add"
10651111 $j( '#mwe-upwiz-filelist' ).removeClass( 'mwe-upwiz-filled-filelist' );
@@ -1070,6 +1116,11 @@
10711117 $j( '#mwe-upwiz-add-file span' ).msg( 'mwe-upwiz-add-file-0' );
10721118 $j( '#mwe-upwiz-add-file-container' ).addClass('mwe-upwiz-add-files-0');
10731119 $j( '#mwe-upwiz-add-file-container' ).removeClass('mwe-upwiz-add-files-n');
 1120+
 1121+ // recovering from an earlier attempt to upload
 1122+ $j( '#mwe-upwiz-upload-ctrls' ).show();
 1123+ $j( '#mwe-upwiz-progress' ).hide();
 1124+ $j( '#mwe-upwiz-add-file' ).show();
10741125 }
10751126
10761127 // allow an "add another upload" button only if we aren't at max
@@ -1102,6 +1153,7 @@
11031154 /**
11041155 * Submit all edited details and other metadata
11051156 * Works just like startUploads -- parallel simultaneous submits with progress bar.
 1157+ * @param {Function} endCallback - called when all uploads complete. In our case is probably a move to the next step
11061158 */
11071159 detailsSubmit: function( endCallback ) {
11081160 var _this = this;
@@ -1120,24 +1172,9 @@
11211173 [ 'submitting-details' ],
11221174 [ 'complete' ],
11231175 function( upload ) {
1124 - // activate spinner
1125 - upload.details.div.data( 'status' ).addClass( 'mwe-upwiz-status-progress' );
1126 - upload.details.submit( function( result ) {
1127 - if ( result && result.upload && result.upload.imageinfo ) {
1128 - upload.extractImageInfo( result.upload.imageinfo );
1129 - // change spinner to checkmark
1130 - upload.details.div.data( 'status' ).removeClass( 'mwe-upwiz-status-progress' );
1131 - upload.details.div.data( 'status' ).addClass( 'mwe-upwiz-status-uploaded' );
1132 - } else {
1133 - // XXX alert the user, maybe don't proceed to step 4.
1134 - mw.log( "error -- final API call did not return image info" );
1135 - // change spinner to error icon
1136 - upload.details.div.data( 'status' ).removeClass( 'mwe-upwiz-status-progress' );
1137 - upload.details.div.data( 'status' ).addClass( 'mwe-upwiz-status-error' );
1138 - }
1139 - } );
 1176+ upload.details.submit();
11401177 },
1141 - endCallback
 1178+ endCallback /* called when all uploads are "complete" */
11421179 );
11431180 },
11441181
@@ -1162,37 +1199,37 @@
11631200 var $thanksDiv = $j( '<div></div>' ).attr( 'id', id ).addClass( "mwe-upwiz-thanks ui-helper-clearfix" );
11641201 _this.thanksDiv = $thanksDiv;
11651202
1166 - var $thumbnailDiv = $j( '<div class="mwe-upwiz-thumbnail mwe-upwiz-thumbnail-side"></div>' );
1167 - $thanksDiv.append( $thumbnailDiv );
 1203+
 1204+ var $thumbnailDiv = $j( '<div></div>' ).addClass( 'mwe-upwiz-thumbnail' );
 1205+ var $thumbnailCaption = $j( '<div></div>' )
 1206+ .css( { 'text-align': 'center', 'font-size': 'small' } )
 1207+ .html( $j( '<a/>' ).html( upload.title.getMainText() ) );
 1208+ var $thumbnailWrapDiv = $j( '<div></div>' ).addClass( 'mwe-upwiz-thumbnail-side' );
 1209+ $thumbnailWrapDiv.append( $thumbnailDiv, $thumbnailCaption );
11681210 upload.setThumbnail( $thumbnailDiv );
1169 - //upload.setThumbnail( '#' + id + ' .mwe-upwiz-thumbnail' );
11701211
1171 - // Switch the thumbnail link so that it points to the image description page
1172 - $thumbnailDiv.find( 'a' ).attr( 'href', upload.imageinfo.descriptionurl );
 1212+ // Set the thumbnail links so that they point to the image description page
 1213+ $thumbnailWrapDiv.find( 'a' ).attr( {
 1214+ 'href': upload.imageinfo.descriptionurl,
 1215+ 'target' : '_new'
 1216+ } );
 1217+ $thanksDiv.append( $thumbnailWrapDiv );
11731218
11741219 var thumbTitle = String(upload.title);
11751220 var thumbWikiText = "[[" + thumbTitle.replace('_', ' ') + "|thumb|" + gM( 'mwe-upwiz-thanks-caption' ) + "]]";
1176 -
 1221+
11771222 $thanksDiv.append(
11781223 $j( '<div class="mwe-upwiz-data"></div>' )
11791224 .append(
11801225 $j('<p/>').append(
11811226 gM( 'mwe-upwiz-thanks-wikitext' ),
11821227 $j( '<br />' ),
1183 - $j( '<textarea class="mwe-long-textarea" rows="2"/>' )
1184 - .growTextArea()
1185 - .readonly()
1186 - .append( thumbWikiText )
1187 - .trigger('resizeEvent')
 1228+ _this.makeReadOnlyInput( thumbWikiText )
11881229 ),
11891230 $j('<p/>').append(
11901231 gM( 'mwe-upwiz-thanks-url' ),
11911232 $j( '<br />' ),
1192 - $j( '<textarea class="mwe-long-textarea" rows="2"/>' )
1193 - .growTextArea()
1194 - .readonly()
1195 - .append( upload.imageinfo.descriptionurl )
1196 - .trigger('resizeEvent')
 1233+ _this.makeReadOnlyInput( upload.imageinfo.descriptionurl )
11971234 )
11981235 )
11991236 );
@@ -1202,6 +1239,17 @@
12031240 },
12041241
12051242 /**
 1243+ * make a read only text input, which self-selects on gaining focus
 1244+ * @param {String} text it will contain
 1245+ */
 1246+ makeReadOnlyInput: function ( s ) {
 1247+ return $j( '<input/>' ).addClass( 'mwe-title ui-corner-all' )
 1248+ .readonly()
 1249+ .val( s )
 1250+ .focus( function() { this.select(); } );
 1251+ },
 1252+
 1253+ /**
12061254 * Build interface for collecting user feedback on Upload Wizard
12071255 */
12081256 launchFeedback: function() {
@@ -1210,7 +1258,7 @@
12111259 var displayError = function( message ) {
12121260 $j( '#mwe-upwiz-feedback-form div' ).hide(); // remove everything else from the dialog box
12131261 $j( '#mwe-upwiz-feedback-form' ).append ( $j( '<div style="color:#990000;margin-top:0.4em;"></div>' ).msg( message ) );
1214 - }
 1262+ };
12151263
12161264 // Set up buttons for dialog box. We have to do it the hard way since the json keys are localized
12171265 var cancelButton = gM( 'mwe-upwiz-feedback-cancel' );
@@ -1315,6 +1363,7 @@
13161364 var thumbnailDiv = $j( '<div class="mwe-upwiz-thumbnail-small"></div>' );
13171365 $j( '#mwe-upwiz-deeds-thumbnails' ).append( thumbnailDiv );
13181366 _this.upload.setThumbnail( thumbnailDiv, mw.UploadWizard.config[ 'smallThumbnailWidth' ], mw.UploadWizard.config[ 'smallThumbnailMaxHeight' ] );
 1367+ _this.upload.deedThumbnailDiv = thumbnailDiv;
13191368 }
13201369 };
13211370
@@ -1448,6 +1497,7 @@
14491498 return this;
14501499 };
14511500
 1501+ // XXX this is highly specific to the "details" page now, not really jQuery function
14521502 jQuery.fn.mask = function( options ) {
14531503
14541504 // intercept clicks...
@@ -1470,23 +1520,40 @@
14711521 'height' : el.offsetHeight + 'px',
14721522 'z-index' : 90
14731523 } );
1474 -
1475 - var status = $j( '<div class="mwe-upwiz-status"></div>' )
1476 - .css( {
1477 - 'width' : el.offsetWidth + 'px',
1478 - 'height' : el.offsetHeight + 'px',
1479 - 'z-index' : 91
1480 - } )
1481 - .click( function( e ) { e.stopPropagation(); } );
 1524+
 1525+ var $statusDiv = $j( '<div></div>' ).css( {
 1526+ 'width' : el.offsetWidth + 'px',
 1527+ 'height' : el.offsetHeight + 'px',
 1528+ 'z-index' : 91,
 1529+ 'text-align' : 'center',
 1530+ 'position' : 'absolute',
 1531+ 'top' : '0px',
 1532+ 'left' : '0px'
 1533+ } );
14821534
 1535+ var $indicatorDiv = $j( '<div class="mwe-upwiz-status"></div>' )
 1536+ .css( {
 1537+ 'width' : 32,
 1538+ 'height' : 32,
 1539+ 'z-index' : 91,
 1540+ 'margin' : '0 auto 0 auto'
 1541+ } );
 1542+ var $statusLineDiv = $j( '<div></div>' )
 1543+ .css( {
 1544+ 'z-index' : 91
 1545+ } );
 1546+ var $statusIndicatorLineDiv = $j( '<div></div>' )
 1547+ .css( { 'margin-top': '6em' } )
 1548+ .append( $indicatorDiv, $statusLineDiv );
 1549+ $statusDiv.append( $statusIndicatorLineDiv );
 1550+
14831551 $j( el ).css( { 'position' : 'relative' } )
14841552 .append( mask.fadeTo( 'fast', 0.6 ) )
1485 - .append( status )
1486 - .data( 'status', status );
1487 -
 1553+ .append( $statusDiv )
 1554+ .data( 'indicator', $indicatorDiv )
 1555+ .data( 'statusLine', $statusLineDiv );
14881556
14891557 }
1490 - // XXX bind to a custom event in case the div size changes
14911558 } );
14921559
14931560 return this;
@@ -1509,6 +1576,31 @@
15101577 return this;
15111578 };
15121579
 1580+ /**
 1581+ * jQuery plugin - collapse toggle
 1582+ * Given an element, makes contained elements of class mw-collapsible-toggle clickable to show/reveal
 1583+ * contained element(s) of class mw-collapsible-content.
 1584+ *
 1585+ * Somewhat recapitulates mw.UploadWizardUtil.makeToggler,
 1586+ * toggle() in vector.collapsibleNav.js, not to mention jquery.collapsible
 1587+ * but none of those do what we want, or are inaccessible to us
 1588+ */
 1589+ jQuery.fn.collapseToggle = function() {
 1590+ var $el = this;
 1591+ var $contents = $el.find( '.mwe-upwiz-toggler-content' ).hide();
 1592+ var $toggle = $el.find( '.mwe-upwiz-toggler' ).addClass( 'mwe-upwiz-more-options' );
 1593+ $toggle.click( function( e ) {
 1594+ e.stopPropagation();
 1595+ if ( $toggle.hasClass( 'mwe-upwiz-toggler-open' ) ) {
 1596+ $contents.slideUp( 250 );
 1597+ $toggle.removeClass( 'mwe-upwiz-toggler-open' );
 1598+ } else {
 1599+ $contents.slideDown( 250 );
 1600+ $toggle.addClass( 'mwe-upwiz-toggler-open' );
 1601+ }
 1602+ } );
 1603+ return this;
 1604+ };
15131605
15141606 $j.validator.setDefaults( {
15151607 debug: true,
Index: branches/wmf/1.17wmf1/extensions/UploadWizard/resources/mw.UploadWizardDetails.js
@@ -45,7 +45,7 @@
4646 // http://commons.wikimedia.org/wiki/MediaWiki:Filename-prefix-blacklist
4747 // XXX make sure they can't use ctrl characters or returns or any other bad stuff.
4848 _this.titleId = "title" + _this.upload.index;
49 - _this.titleInput = $j( '<input type="text" id="' + _this.titleId + '" name="' + _this.titleId + '" class="mwe-title"/>' )
 49+ _this.titleInput = $j( '<input type="text" id="' + _this.titleId + '" name="' + _this.titleId + '" class="mwe-title" maxlength="250"/>' )
5050 .keyup( function() {
5151 _this.upload.title.setNameText( _this.titleInput.value );
5252 // TODO update a display of filename
@@ -54,7 +54,7 @@
5555 api: _this.upload.api,
5656 spinner: function(bool) { _this.toggleDestinationBusy(bool); },
5757 preprocess: function( name ) {
58 - if ( name != '' ) {
 58+ if ( name !== '' ) {
5959 // turn the contents of the input into a MediaWiki title ("File:foo_bar.jpg") to look up
6060 return _this.upload.title.setNameText( name ).toString();
6161 } else {
@@ -328,99 +328,24 @@
329329 $j( _this.titleInput ).data( 'valid', false );
330330
331331 // result is NOT unique
332 - var title;
 332+ var titleString;
333333 try {
334 - title = new mw.Title( result.title ).setNamespace( 'file' ).getNameText();
 334+ titleString = new mw.Title( result.title ).setNamespace( 'file' ).toString();
335335 } catch ( e ) {
336336 // unparseable result from unique test?
337 - title = '[unparseable name]';
 337+ titleString = '[unparseable name]';
338338 }
339 -
340 - /* var img = result.img;
341 - var href = result.href; */
342 -
 339+
 340+ var errHtml;
 341+ if ( result.href ) {
 342+ errHtml = gM( 'mwe-upwiz-fileexists-replace-on-page', titleString, $j( '<a />' ).attr( { href: result.href, target: '_blank' } ) );
 343+ } else {
 344+ errHtml = gM( 'mwe-upwiz-fileexists-replace-no-link', titleString );
 345+ }
 346+
343347 _this.$form.find( 'label[for=' + _this.titleId + ']' )
344 - .html( gM( 'mwe-upwiz-fileexists-replace', title ) )
 348+ .html( errHtml )
345349 .show();
346 -
347 - /* temporarily commenting out the full thumbnail etc. thing. For now, we just want the user to change
348 - to a different name
349 - _this.ignoreWarningsInput = $j("<input />").attr( { type: 'checkbox', name: 'ignorewarnings' } );
350 - var $fileAlreadyExists = $j('<div />')
351 - .append(
352 - gM( 'mwe-upwiz-fileexists',
353 - $j('<a />')
354 - .attr( { target: '_new', href: href } )
355 - .text( title )
356 - ),
357 - $j('<br />'),
358 - _this.ignoreWarningsInput,
359 - gM('mwe-upwiz-overwrite')
360 - );
361 -
362 - var $imageLink = $j('<a />')
363 - .addClass( 'image' )
364 - .attr( { target: '_new', href: href } )
365 - .append(
366 - $j( '<img />')
367 - .addClass( 'thumbimage' )
368 - .attr( {
369 - 'width' : img.thumbwidth,
370 - 'height' : img.thumbheight,
371 - 'border' : 0,
372 - 'src' : img.thumburl,
373 - 'alt' : title
374 - } )
375 - );
376 -
377 - var $imageCaption = $j( '<div />' )
378 - .addClass( 'thumbcaption' )
379 - .append(
380 - $j('<div />')
381 - .addClass( "magnify" )
382 - .append(
383 - $j('<a />' )
384 - .addClass( 'internal' )
385 - .attr( {
386 - 'title' : gM('mwe-upwiz-thumbnail-more'),
387 - 'href' : href
388 - } ),
389 -
390 - $j( '<img />' )
391 - .attr( {
392 - 'border' : 0,
393 - 'width' : 15,
394 - 'height' : 11,
395 - 'src' : mw.UploadWizard.config[ 'images_path' ] + 'magnify-clip.png'
396 - } ),
397 -
398 - $j('<span />')
399 - .html( gM( 'mwe-fileexists-thumb' ) )
400 - )
401 - );
402 -
403 - $j( _this.titleErrorDiv ).html(
404 - $j('<span />') // dummy argument since .html() only takes one arg
405 - .append(
406 - $fileAlreadyExists,
407 - $j( '<div />' )
408 - .addClass( 'thumb tright' )
409 - .append(
410 - $j( '<div />' )
411 - .addClass( 'thumbinner' )
412 - .css({
413 - 'width' : ( parseInt( img.thumbwidth ) + 2 ) + 'px;'
414 - })
415 - .append(
416 - $imageLink,
417 - $imageCaption
418 - )
419 - )
420 - )
421 - ).show();
422 - */
423 -
424 -
425350 },
426351
427352 /**
@@ -721,11 +646,12 @@
722647 wikiText += otherInfoWikiText + "\n\n";
723648 }
724649
 650+ // add licensing information
725651 wikiText += "=={{int:license-header}}==\n";
 652+ wikiText += deed.getLicenseWikiText() + "\n\n";
726653
727 - // in the other implementations, category text follows immediately after license text. This helps
728 - // group categories together, maybe?
729 - wikiText += deed.getLicenseWikiText() + _this.div.find( '.categoryInput' ).get(0).getWikiText() + "\n\n";
 654+ // add categories
 655+ wikiText += _this.div.find( '.categoryInput' ).get(0).getWikiText() + "\n\n";
730656
731657 // sanitize wikitext if TextCleaner is defined (MediaWiki:TextCleaner.js)
732658 if ( typeof TextCleaner != 'undefined' && typeof TextCleaner.sanitizeWikiText == 'function' ) {
@@ -740,10 +666,14 @@
741667 * XXX This should be split up -- one part should get wikitext from the interface here, and the ajax call
742668 * should be be part of upload
743669 */
744 - submit: function( endCallback ) {
 670+ submit: function() {
745671 var _this = this;
746672
 673+ _this.upload.state = 'submitting-details';
 674+ _this.showIndicator( 'progress' );
 675+
747676 // XXX check state of details for okayness ( license selected, at least one desc, sane filename )
 677+ // validation does MOST of this already
748678 var wikiText = _this.getWikiText();
749679
750680 var params = {
@@ -754,27 +684,46 @@
755685 summary: "User created page with " + mw.UploadWizard.userAgent
756686 };
757687
758 - var finalCallback = function( result ) {
759 - endCallback( result );
760 - _this.completeDetailsSubmission();
761 - };
 688+ var err = function( code, info ) {
 689+ _this.showError( code, info );
 690+ };
762691
763 - var callback = function( result ) {
764 - finalCallback( result );
 692+ var ok = function( result ) {
 693+ if ( result && result.upload && result.upload.imageinfo ) {
 694+ _this.upload.extractImageInfo( result.upload.imageinfo );
 695+ _this.upload.detailsProgress = 1.0;
 696+ _this.upload.state = 'complete';
 697+ _this.showIndicator( 'uploaded' );
 698+ } else {
 699+ _this.showError( 'details-info-missing', result );
 700+ }
765701 };
766702
767 - _this.upload.state = 'submitting-details';
768 - // XXX this can still fail with bad filename, or other 'warnings' -- capture these
769 - _this.upload.api.postWithEditToken( params, callback );
 703+ _this.upload.api.postWithEditToken( params, ok, err );
770704 },
771705
772 - completeDetailsSubmission: function() {
773 - var _this = this;
774 - _this.upload.state = 'complete';
775 - // de-spinnerize
776 - _this.upload.detailsProgress = 1.0;
 706+ showError: function( code, result ) {
 707+ this.showIndicator( 'error' );
 708+ // types of errors we know about...
 709+ // recoverable by fixing title
 710+ // TODO unmask and fix the error on the title
 711+
 712+ // recoverable by trying again, or removing
 713+ // TODO removal / retry interface
 714+ this.setStatus( result.error.info );
777715 },
778716
 717+ setStatus: function( s ) {
 718+ this.div.data( 'statusLine' ).html( s ).show();
 719+ },
 720+
 721+ showIndicator: function( statusStr ) {
 722+ this.div.data( 'indicator' )
 723+ .show()
 724+ .removeClass( 'mwe-upwiz-status-progress mwe-upwiz-status-error mwe-upwiz-status-uploaded' )
 725+ .addClass( 'mwe-upwiz-status-' + statusStr );
 726+ },
 727+
779728 dateInputCount: 0
780729
781730
Index: branches/wmf/1.17wmf1/extensions/UploadWizard/UploadWizard.php
@@ -46,8 +46,8 @@
4747 $wgAutoloadLocalClasses[$module] = $wgUpwizDir . "/" . $module . ".php";
4848 }
4949
50 -#$wgAPIModules['titlecheck'] = 'ApiTitleCheck';
51 -#$wgAPIListModules['titlecheck'] = 'ApiTitleCheck';
 50+// $wgAPIModules['titlecheck'] = 'ApiTitleCheck';
 51+// $wgAPIListModules['titlecheck'] = 'ApiTitleCheck';
5252
5353 # Let the special page be a special center of unique specialness
5454 $wgSpecialPages['UploadWizard'] = 'SpecialUploadWizard';
Index: branches/wmf/1.17wmf1/extensions/UploadWizard/SpecialUploadWizard.php
@@ -195,16 +195,9 @@
196196 // if loading takes > 2 seconds display spinner. Note we are evading Resource Loader here, and linking directly. Because we want an image to appear if RL's package is late.
197197 // using some &nbsp;'s which is a bit of superstition, to make sure jQuery will hide this (it seems that it doesn't sometimes, when it has no content)
198198 // the min-width & max-width is copied from the #uploadWizard properties, so in nice browsers the spinner is right where the button will go.
199 - . '<div id="mwe-first-spinner" style="visibility:hidden; min-width:750px; max-width:900px; height:200px; line-height:200px; text-align:center;">&nbsp;</div>'
200 - . '<script language="JavaScript">'
201 - . 'window.setTimeout( function() {'
202 - . 'var s = document.getElementById( "mwe-first-spinner" );'
203 - . 'if (s) {'
204 - . 's.innerHTML = "&nbsp;<img src=\\"' . $wgExtensionAssetsPath . '/UploadWizard/resources/images/24px-spinner-0645ad.gif\\" width=\\"24\\" height=\\"24\\" />&nbsp;";'
205 - . 's.style.visibility = "visible";'
206 - . '}'
207 - . '}, 2000)'
208 - . '</script>'
 199+ . '<div id="mwe-first-spinner" style="min-width:750px; max-width:900px; height:200px; line-height:200px; text-align:center;">'
 200+ . '&nbsp;<img src="' . $wgExtensionAssetsPath . '/UploadWizard/resources/images/24px-spinner-0645ad.gif" width="24" height="24" />&nbsp;'
 201+ . '</div>'
209202
210203 // the arrow steps - hide until styled
211204 . '<ul id="mwe-upwiz-steps" style="display:none;">'
Property changes on: branches/wmf/1.17wmf1/extensions/UploadWizard
___________________________________________________________________
Modified: svn:mergeinfo
212205 Merged /trunk/extensions/UploadWizard:r85606-86033
213206 Merged /trunk/phase3/extensions/UploadWizard:r85939

Status & tagging log