Index: branches/wmf-deployment/extensions/ProofreadPage/ProofreadPage.i18n.php |
— | — | @@ -8,6 +8,7 @@ |
9 | 9 | $messages = array(); |
10 | 10 | |
11 | 11 | $messages['en'] = array( |
| 12 | + 'indexpages' => 'List of index pages', |
12 | 13 | 'proofreadpage_desc' => 'Allow easy comparison of text to the original scan', |
13 | 14 | 'proofreadpage_namespace' => 'Page', |
14 | 15 | 'proofreadpage_index_namespace' => 'Index', |
— | — | @@ -16,6 +17,14 @@ |
17 | 18 | 'proofreadpage_index_expected' => 'Error: index expected', |
18 | 19 | 'proofreadpage_nosuch_index' => 'Error: no such index', |
19 | 20 | 'proofreadpage_nosuch_file' => 'Error: no such file', |
| 21 | + 'proofreadpage_badpage' => 'Wrong Format', |
| 22 | + 'proofreadpage_badpagetext' => 'The format of the page you attempted to save is incorrect.', |
| 23 | + 'proofreadpage_indexdupe' => 'Duplicate link', |
| 24 | + 'proofreadpage_indexdupetext' => 'Pages cannot be listed more than once on an index page.', |
| 25 | + 'proofreadpage_nologin' => 'Not logged in', |
| 26 | + 'proofreadpage_nologintext' => 'You must be [[Special:UserLogin|logged in]] to modify the proofreading status of pages.', |
| 27 | + 'proofreadpage_notallowed' => 'Change not allowed', |
| 28 | + 'proofreadpage_notallowedtext' => 'You are not allowed to change the proofreading status of this page.', |
20 | 29 | 'proofreadpage_number_expected' => 'Error: numeric value expected', |
21 | 30 | 'proofreadpage_interval_too_large'=> 'Error: interval too large', |
22 | 31 | 'proofreadpage_invalid_interval' => 'Error: invalid interval', |
— | — | @@ -30,6 +39,11 @@ |
31 | 40 | 'proofreadpage_quality2_category' => 'Problematic', |
32 | 41 | 'proofreadpage_quality3_category' => 'Proofread', |
33 | 42 | 'proofreadpage_quality4_category' => 'Validated', |
| 43 | + 'proofreadpage_quality0_message' => 'This page does not need to be proofread', |
| 44 | + 'proofreadpage_quality1_message' => 'This page has not been proofread', |
| 45 | + 'proofreadpage_quality2_message' => 'There was a problem when proofreading this page', |
| 46 | + 'proofreadpage_quality3_message' => 'This page has been proofread', |
| 47 | + 'proofreadpage_quality4_message' => 'This page has been validated', |
34 | 48 | 'proofreadpage_index_listofpages' => 'List of pages', |
35 | 49 | 'proofreadpage_image_message' => 'Link to the index page', |
36 | 50 | 'proofreadpage_page_status' => 'Page status', |
— | — | @@ -44,28 +58,41 @@ |
45 | 59 | Remarks||10', |
46 | 60 | 'proofreadpage_default_header' => '<div class="pagetext">', |
47 | 61 | 'proofreadpage_default_footer' => '<references/></div>', |
| 62 | + 'proofreadpage_quality_message' => "<table style=\"line-height:40%;\" border=0 cellpadding=0 cellspacing=0 ><tr> |
| 63 | +<td align=center > </td> |
| 64 | +<td align=center class='quality4' width=\"$5\"></td> |
| 65 | +<td align=center class='quality3' width=\"$4\"></td> |
| 66 | +<td align=center class='quality2' width=\"$3\"></td> |
| 67 | +<td align=center class='quality1' width=\"$2\"></td> |
| 68 | +<td align=center class='quality0' width=\"$1\"></td> |
| 69 | +<td ><span id=pr_index style=\"visibility:hidden;\">$7</span></td> |
| 70 | +</tr></table>", |
| 71 | + 'proofreadpage_pages' => "{{PLURAL:$1|page|pages}}", |
48 | 72 | ); |
49 | 73 | |
50 | 74 | /** Message documentation (Message documentation) |
51 | 75 | * @author Aleator |
52 | 76 | * @author IAlex |
53 | 77 | * @author Jon Harald Søby |
| 78 | + * @author McDutchie |
54 | 79 | * @author Mormegil |
55 | 80 | * @author Purodha |
| 81 | + * @author Siebrand |
56 | 82 | * @author Yknok29 |
57 | 83 | */ |
58 | 84 | $messages['qqq'] = array( |
| 85 | + 'indexpages' => 'Title of [[Special:IndexPages]]', |
59 | 86 | 'proofreadpage_desc' => 'Short description of the Proofreadpage extension, shown in [[Special:Version]]. Do not translate or change links.', |
60 | 87 | 'proofreadpage_namespace' => '{{Identical|Page}}', |
61 | 88 | 'proofreadpage_index_namespace' => '{{Identical|Index}}', |
62 | | - 'proofreadpage_image' => '그림', |
63 | 89 | 'proofreadpage_index' => '{{Identical|Index}}', |
| 90 | + 'proofreadpage_indexdupe' => 'Meaning: "This is a duplicate link"', |
| 91 | + 'proofreadpage_notallowed' => '"Making a change is not allowed" would be the verbose way to paraphrase the message.', |
64 | 92 | 'proofreadpage_nextpage' => '{{Identical|Next page}}', |
65 | 93 | 'proofreadpage_prevpage' => '{{Identical|Previous page}}', |
66 | 94 | 'proofreadpage_toggleheaders' => 'Tooltip at right "+" button, at Wikisources, at namespace "Page".', |
67 | 95 | 'proofreadpage_quality0_category' => '{{Identical|Empty}}', |
68 | 96 | 'proofreadpage_js_attributes' => 'Names of the variables on index pages, separated by spaces.', |
69 | | - 'proofreadpage_index_attributes' => '도서 정보', |
70 | 97 | ); |
71 | 98 | |
72 | 99 | /** Afrikaans (Afrikaans) |
— | — | @@ -125,8 +152,11 @@ |
126 | 153 | |
127 | 154 | /** Arabic (العربية) |
128 | 155 | * @author Meno25 |
| 156 | + * @author Orango |
| 157 | + * @author OsamaK |
129 | 158 | */ |
130 | 159 | $messages['ar'] = array( |
| 160 | + 'indexpages' => 'قائمة صفحات الفهرس', |
131 | 161 | 'proofreadpage_desc' => 'يسمح بمقارنة سهلة للنص مع المسح الأصلي', |
132 | 162 | 'proofreadpage_namespace' => 'صفحة', |
133 | 163 | 'proofreadpage_index_namespace' => 'فهرس', |
— | — | @@ -135,6 +165,14 @@ |
136 | 166 | 'proofreadpage_index_expected' => 'خطأ: فهرس تم توقعه', |
137 | 167 | 'proofreadpage_nosuch_index' => 'خطأ: لا فهرس كهذا', |
138 | 168 | 'proofreadpage_nosuch_file' => 'خطأ: لا ملف كهذا', |
| 169 | + 'proofreadpage_badpage' => 'تنسيق خاطئ', |
| 170 | + 'proofreadpage_badpagetext' => 'تنسيق الصفحة التي تحاول حفظها غير صحيح.', |
| 171 | + 'proofreadpage_indexdupe' => 'رابط نظير', |
| 172 | + 'proofreadpage_indexdupetext' => 'لا يمكن سرد الصفحة أكثر من في صفحة الفهرس.', |
| 173 | + 'proofreadpage_nologin' => 'غير مسجل الدخول', |
| 174 | + 'proofreadpage_nologintext' => 'يجب أن تكون [[Special:UserLogin|مُسجلًا الدخول]] لتعدّل حالة تدقيق الصفحات.', |
| 175 | + 'proofreadpage_notallowed' => 'التغيير غير مسموح به', |
| 176 | + 'proofreadpage_notallowedtext' => 'لا يسمح لك بتغيير حالة تدقيق هذه الصفحة.', |
139 | 177 | 'proofreadpage_number_expected' => 'خطأ: قيمة عددية تم توقعها', |
140 | 178 | 'proofreadpage_interval_too_large' => 'خطأ: الفترة كبيرة جدا', |
141 | 179 | 'proofreadpage_invalid_interval' => 'خطأ: فترة غير صحيحة', |
— | — | @@ -145,10 +183,15 @@ |
146 | 184 | 'proofreadpage_footer' => 'ذيل (غير مضمن):', |
147 | 185 | 'proofreadpage_toggleheaders' => 'تغيير رؤية أقسام noinclude', |
148 | 186 | 'proofreadpage_quality0_category' => 'بدون نص', |
149 | | - 'proofreadpage_quality1_category' => 'ليس مثبت قراءة', |
| 187 | + 'proofreadpage_quality1_category' => 'ليست مُدقّقة', |
150 | 188 | 'proofreadpage_quality2_category' => 'به مشاكل', |
151 | | - 'proofreadpage_quality3_category' => 'مثبت قراءة', |
152 | | - 'proofreadpage_quality4_category' => 'مصحح', |
| 189 | + 'proofreadpage_quality3_category' => 'مُدقّقة', |
| 190 | + 'proofreadpage_quality4_category' => 'مُصحّحة', |
| 191 | + 'proofreadpage_quality0_message' => 'لا تحتاج هذه الصفحة إلى تدقيق', |
| 192 | + 'proofreadpage_quality1_message' => 'لم تدقّق هذه الصفحة', |
| 193 | + 'proofreadpage_quality2_message' => 'ثمة مشكلة عند تدقيق هذه الصفحة', |
| 194 | + 'proofreadpage_quality3_message' => 'دُقّقت هذه الصفحة', |
| 195 | + 'proofreadpage_quality4_message' => 'صُحّحت هذه الصفحة', |
153 | 196 | 'proofreadpage_index_listofpages' => 'قائمة الصفحات', |
154 | 197 | 'proofreadpage_image_message' => 'وصلة إلى صفحة الفهرس', |
155 | 198 | 'proofreadpage_page_status' => 'حالة الصفحة', |
— | — | @@ -161,8 +204,19 @@ |
162 | 205 | الصورة|صورة الغلاف |
163 | 206 | الصفحات||20 |
164 | 207 | الملاحظات||10', |
| 208 | + 'proofreadpage_pages' => '{{PLURAL:$1|صفحة|صفحات}}', |
165 | 209 | ); |
166 | 210 | |
| 211 | +/** Aramaic (ܐܪܡܝܐ) |
| 212 | + * @author Basharh |
| 213 | + */ |
| 214 | +$messages['arc'] = array( |
| 215 | + 'proofreadpage_namespace' => 'ܦܐܬܐ', |
| 216 | + 'proofreadpage_image' => 'ܨܘܪܬܐ', |
| 217 | + 'proofreadpage_indexdupe' => 'ܐܣܘܪܐ ܥܦܝܦܐ', |
| 218 | + 'proofreadpage_nologin' => 'ܠܐ ܥܠܝܠܐ', |
| 219 | +); |
| 220 | + |
167 | 221 | /** Araucanian (Mapudungun) |
168 | 222 | * @author Remember the dot |
169 | 223 | */ |
— | — | @@ -296,6 +350,7 @@ |
297 | 351 | * @author Red Winged Duck |
298 | 352 | */ |
299 | 353 | $messages['be-tarask'] = array( |
| 354 | + 'indexpages' => 'Сьпіс індэксных старонак', |
300 | 355 | 'proofreadpage_desc' => 'Дазваляе ў зручным выглядзе параўноўваць тэкст і адсканаваны арыгінал', |
301 | 356 | 'proofreadpage_namespace' => 'Старонка', |
302 | 357 | 'proofreadpage_index_namespace' => 'Індэкс', |
— | — | @@ -304,6 +359,14 @@ |
305 | 360 | 'proofreadpage_index_expected' => 'Памылка: чакаецца індэкс', |
306 | 361 | 'proofreadpage_nosuch_index' => 'Памылка: няма такога індэксу', |
307 | 362 | 'proofreadpage_nosuch_file' => 'Памылка: няма такога файла', |
| 363 | + 'proofreadpage_badpage' => 'Няслушны фармат', |
| 364 | + 'proofreadpage_badpagetext' => 'Няслушны фармат старонкі, якую Вы спрабуеце захаваць.', |
| 365 | + 'proofreadpage_indexdupe' => 'Спасылка-дублікат', |
| 366 | + 'proofreadpage_indexdupetext' => 'Старонкі ня могуць быць ў сьпісе на індэкснай старонцы болей аднаго разу.', |
| 367 | + 'proofreadpage_nologin' => 'Вы не ўвайшлі ў сыстэму', |
| 368 | + 'proofreadpage_nologintext' => 'Вы павінны [[Special:UserLogin|ўвайсьці ў сыстэму]], каб зьмяняць статус праверкі старонкі.', |
| 369 | + 'proofreadpage_notallowed' => 'Зьмена не дазволеная', |
| 370 | + 'proofreadpage_notallowedtext' => 'Вам не дазволена зьмяняць статус праверкі гэтай старонкі.', |
308 | 371 | 'proofreadpage_number_expected' => 'Памылка: чакаецца лічбавае значэньне', |
309 | 372 | 'proofreadpage_interval_too_large' => 'Памылка: занадта вялікі інтэрвал', |
310 | 373 | 'proofreadpage_invalid_interval' => 'Памылка: няслушны інтэрвал', |
— | — | @@ -318,6 +381,11 @@ |
319 | 382 | 'proofreadpage_quality2_category' => 'Праблематычная', |
320 | 383 | 'proofreadpage_quality3_category' => 'Вычытаная', |
321 | 384 | 'proofreadpage_quality4_category' => 'Правераная', |
| 385 | + 'proofreadpage_quality0_message' => 'Гэта старонка не патрабуе вычыткі', |
| 386 | + 'proofreadpage_quality1_message' => 'Гэта старонка не была вычытаная', |
| 387 | + 'proofreadpage_quality2_message' => 'Узьнікла праблема ў вычытцы гэтай старонкі', |
| 388 | + 'proofreadpage_quality3_message' => 'Гэта старонка была вычытаная', |
| 389 | + 'proofreadpage_quality4_message' => 'Гэта старонка была правераная', |
322 | 390 | 'proofreadpage_index_listofpages' => 'Сьпіс старонак', |
323 | 391 | 'proofreadpage_image_message' => 'Спасылка на старонку індэксу', |
324 | 392 | 'proofreadpage_page_status' => 'Статус старонкі', |
— | — | @@ -330,6 +398,7 @@ |
331 | 399 | Выява|Выява вокладкі |
332 | 400 | Старонак||20 |
333 | 401 | Заўвагаў||10', |
| 402 | + 'proofreadpage_pages' => '{{PLURAL:$1|старонка|старонкі|старонак}}', |
334 | 403 | ); |
335 | 404 | |
336 | 405 | /** Bulgarian (Български) |
— | — | @@ -372,6 +441,8 @@ |
373 | 442 | 'proofreadpage_index_namespace' => 'সূচী', |
374 | 443 | 'proofreadpage_image' => 'চিত্র', |
375 | 444 | 'proofreadpage_index' => 'সূচী', |
| 445 | + 'proofreadpage_badpage' => 'ভুল বিন্যাস', |
| 446 | + 'proofreadpage_nologin' => 'লগইন করা হয়নি', |
376 | 447 | 'proofreadpage_nextpage' => 'পরবর্তী পাতা', |
377 | 448 | 'proofreadpage_prevpage' => 'পূর্ববর্তী পাতা', |
378 | 449 | 'proofreadpage_header' => 'শিরোনাম (noinclude):', |
— | — | @@ -405,7 +476,7 @@ |
406 | 477 | 'proofreadpage_index' => 'Meneger', |
407 | 478 | 'proofreadpage_nextpage' => "Pajenn war-lerc'h", |
408 | 479 | 'proofreadpage_prevpage' => 'Pajenn a-raok', |
409 | | - 'proofreadpage_quality1_category' => 'Da reizhañ', |
| 480 | + 'proofreadpage_quality1_category' => 'Da wiriañ', |
410 | 481 | 'proofreadpage_quality2_category' => 'Kudennek', |
411 | 482 | 'proofreadpage_quality3_category' => 'Reizhet', |
412 | 483 | 'proofreadpage_quality4_category' => 'Gwiriekaet', |
— | — | @@ -427,6 +498,7 @@ |
428 | 499 | * @author CERminator |
429 | 500 | */ |
430 | 501 | $messages['bs'] = array( |
| 502 | + 'indexpages' => 'Spisak stranica indeksa', |
431 | 503 | 'proofreadpage_desc' => 'Omogućuje jednostavnu usporedbu teksta sa originalnim', |
432 | 504 | 'proofreadpage_namespace' => 'Stranica', |
433 | 505 | 'proofreadpage_index_namespace' => 'Indeks', |
— | — | @@ -435,6 +507,14 @@ |
436 | 508 | 'proofreadpage_index_expected' => 'Greška: očekivan indeks', |
437 | 509 | 'proofreadpage_nosuch_index' => 'Greška: nema takvog indeksa', |
438 | 510 | 'proofreadpage_nosuch_file' => 'Greška: nema takve datoteke', |
| 511 | + 'proofreadpage_badpage' => 'Pogrešan Format', |
| 512 | + 'proofreadpage_badpagetext' => 'Format stranice koju pokušavate spremiti nije validan.', |
| 513 | + 'proofreadpage_indexdupe' => 'Duplicirani link', |
| 514 | + 'proofreadpage_indexdupetext' => 'Stranice ne mogu biti prikazane više od jednog puta na stranici indeksa.', |
| 515 | + 'proofreadpage_nologin' => 'Niste prijavljeni', |
| 516 | + 'proofreadpage_nologintext' => 'Morate biti [[Special:UserLogin|prijavljeni]] da biste mogli mijenati status lektorisanja stranica.', |
| 517 | + 'proofreadpage_notallowed' => 'Izmjene nisu dopuštene', |
| 518 | + 'proofreadpage_notallowedtext' => 'Nije Vam dopušteno da mijenjate status lektorisanja ove stranice.', |
439 | 519 | 'proofreadpage_number_expected' => 'Greška: očekivana brojna vrijednost', |
440 | 520 | 'proofreadpage_interval_too_large' => 'Greška: interval je prevelik', |
441 | 521 | 'proofreadpage_invalid_interval' => 'Greška: nevaljan interval', |
— | — | @@ -449,6 +529,11 @@ |
450 | 530 | 'proofreadpage_quality2_category' => 'Problematično', |
451 | 531 | 'proofreadpage_quality3_category' => 'Provjereno', |
452 | 532 | 'proofreadpage_quality4_category' => 'Provjereno', |
| 533 | + 'proofreadpage_quality0_message' => 'Ova stranica ne treba biti lektorisana', |
| 534 | + 'proofreadpage_quality1_message' => 'Ova stranica nije bila lektorisana', |
| 535 | + 'proofreadpage_quality2_message' => 'Dogodio se problem pri lektorisanju ove stranice', |
| 536 | + 'proofreadpage_quality3_message' => 'Ova stranice je bila lektorisana', |
| 537 | + 'proofreadpage_quality4_message' => 'Ova stranice je bila provjerena', |
453 | 538 | 'proofreadpage_index_listofpages' => 'Spisak stranica', |
454 | 539 | 'proofreadpage_image_message' => 'Link na stranicu indeksa', |
455 | 540 | 'proofreadpage_page_status' => 'Status stranice', |
— | — | @@ -461,6 +546,7 @@ |
462 | 547 | Slika|Naslovna slika |
463 | 548 | Stranica||20 |
464 | 549 | Napomene||10', |
| 550 | + 'proofreadpage_pages' => '{{PLURAL:$1|stranica|stranice|stranica}}', |
465 | 551 | ); |
466 | 552 | |
467 | 553 | /** Catalan (Català) |
— | — | @@ -470,11 +556,26 @@ |
471 | 557 | * @author SMP |
472 | 558 | */ |
473 | 559 | $messages['ca'] = array( |
| 560 | + 'indexpages' => "Llista de pàgines d'índex", |
474 | 561 | 'proofreadpage_desc' => "Permetre una fàcil comparació d'un text amb l'escanejat original", |
475 | 562 | 'proofreadpage_namespace' => 'Pàgina', |
476 | 563 | 'proofreadpage_index_namespace' => 'Index', |
477 | 564 | 'proofreadpage_image' => 'imatge', |
478 | 565 | 'proofreadpage_index' => 'Índex', |
| 566 | + 'proofreadpage_index_expected' => "Error: s'esperava un índex", |
| 567 | + 'proofreadpage_nosuch_index' => "Error: no existeix l'índex", |
| 568 | + 'proofreadpage_nosuch_file' => 'Error: no existeix el fitxer', |
| 569 | + 'proofreadpage_badpage' => 'Format erroni', |
| 570 | + 'proofreadpage_badpagetext' => 'El format de la pàgina que heu intentat desar és incorrecte.', |
| 571 | + 'proofreadpage_indexdupe' => 'Enllaç duplicat', |
| 572 | + 'proofreadpage_indexdupetext' => "Les pàgines no es poden llistar més d'una vegada a una pàgina d'índex.", |
| 573 | + 'proofreadpage_nologin' => 'No heu iniciat la sessió', |
| 574 | + 'proofreadpage_nologintext' => "Heu d'estar [[Special:UserLogin|registrat]] per a modificar l'estat de revisió de les pàgines.", |
| 575 | + 'proofreadpage_notallowed' => 'Canvi no permès', |
| 576 | + 'proofreadpage_notallowedtext' => "No esteu autoritzat per a canviar l'estat de revisió d'aquesta pàgina.", |
| 577 | + 'proofreadpage_number_expected' => "Error: s'esperava un valor numèric", |
| 578 | + 'proofreadpage_interval_too_large' => 'Error: interval massa ampli', |
| 579 | + 'proofreadpage_invalid_interval' => 'Error: interval no vàlid', |
479 | 580 | 'proofreadpage_nextpage' => 'Pàgina següent', |
480 | 581 | 'proofreadpage_prevpage' => 'Pàgina anterior', |
481 | 582 | 'proofreadpage_header' => 'Capçalera (noinclude):', |
— | — | @@ -486,6 +587,10 @@ |
487 | 588 | 'proofreadpage_quality2_category' => 'Problemàtica', |
488 | 589 | 'proofreadpage_quality3_category' => 'Revisada', |
489 | 590 | 'proofreadpage_quality4_category' => 'Validada', |
| 591 | + 'proofreadpage_quality0_message' => 'Aquesta pàgina no necessita ser revisada.', |
| 592 | + 'proofreadpage_quality2_message' => "Hi ha un problema amb la revisió d'aquesta pàgina.", |
| 593 | + 'proofreadpage_quality3_message' => 'Aquesta pàgina ha estat revisada.', |
| 594 | + 'proofreadpage_quality4_message' => 'Aquesta pàgina ha estat validada', |
490 | 595 | 'proofreadpage_index_listofpages' => 'Llista de pàgines', |
491 | 596 | 'proofreadpage_image_message' => "Enllaç a la pàgina d'índex", |
492 | 597 | 'proofreadpage_page_status' => 'Status de la pàgina', |
— | — | @@ -500,6 +605,7 @@ |
501 | 606 | Imatge |
502 | 607 | Pàgines||20 |
503 | 608 | Sumari||15", |
| 609 | + 'proofreadpage_pages' => '{{PLURAL:$1|pàgina|pàgines}}', |
504 | 610 | ); |
505 | 611 | |
506 | 612 | /** Cebuano (Cebuano) |
— | — | @@ -515,6 +621,7 @@ |
516 | 622 | * @author Mormegil |
517 | 623 | */ |
518 | 624 | $messages['cs'] = array( |
| 625 | + 'indexpages' => 'Seznam indexových stránek', |
519 | 626 | 'proofreadpage_desc' => 'Umožňuje jednoduché porovnání textu s předlohou', |
520 | 627 | 'proofreadpage_namespace' => 'Stránka', |
521 | 628 | 'proofreadpage_index_namespace' => 'Index', |
— | — | @@ -523,6 +630,14 @@ |
524 | 631 | 'proofreadpage_index_expected' => 'Chyba: očekáván index', |
525 | 632 | 'proofreadpage_nosuch_index' => 'Chyba: takový index neexistuje', |
526 | 633 | 'proofreadpage_nosuch_file' => 'Chyba: takový soubor neexistuje', |
| 634 | + 'proofreadpage_badpage' => 'Nesprávný formát', |
| 635 | + 'proofreadpage_badpagetext' => 'Formát stránky, kterou jste se pokusili uložit, není správný.', |
| 636 | + 'proofreadpage_indexdupe' => 'Duplicitní odkaz', |
| 637 | + 'proofreadpage_indexdupetext' => 'Stránky mohou být v indexu uvedeny maximálně jednou.', |
| 638 | + 'proofreadpage_nologin' => 'Nejste přihlášeni', |
| 639 | + 'proofreadpage_nologintext' => 'Pokud chcete změnit stav zkontrolování stránky, musíte se [[Special:UserLogin|přihlásit]].', |
| 640 | + 'proofreadpage_notallowed' => 'Změna není povolena', |
| 641 | + 'proofreadpage_notallowedtext' => 'Nemáte povoleno měnit stav zkontrolování této stránky.', |
527 | 642 | 'proofreadpage_number_expected' => 'Chyba: očekávána číselná hodnota', |
528 | 643 | 'proofreadpage_interval_too_large' => 'Chyba: příliš velký interval', |
529 | 644 | 'proofreadpage_invalid_interval' => 'Chyba: nesprávný interval', |
— | — | @@ -548,6 +663,7 @@ |
549 | 664 | Obrázek|Obálka |
550 | 665 | Stran||20 |
551 | 666 | Poznámky||10', |
| 667 | + 'proofreadpage_pages' => '{{PLURAL:$1|stránka|stránky|stránek}}', |
552 | 668 | ); |
553 | 669 | |
554 | 670 | /** Danish (Dansk) |
— | — | @@ -562,9 +678,11 @@ |
563 | 679 | /** German (Deutsch) |
564 | 680 | * @author Metalhead64 |
565 | 681 | * @author Raimond Spekking |
| 682 | + * @author Tbleher |
566 | 683 | * @author ThomasV |
567 | 684 | */ |
568 | 685 | $messages['de'] = array( |
| 686 | + 'indexpages' => 'Liste von Indexseiten', |
569 | 687 | 'proofreadpage_desc' => 'Ermöglicht das bequeme Vergleichen von Text mit dem Originalscan', |
570 | 688 | 'proofreadpage_namespace' => 'Seite', |
571 | 689 | 'proofreadpage_index_namespace' => 'Index', |
— | — | @@ -573,6 +691,14 @@ |
574 | 692 | 'proofreadpage_index_expected' => 'Fehler: Index erwartet', |
575 | 693 | 'proofreadpage_nosuch_index' => 'Fehler: Kein entsprechender Index', |
576 | 694 | 'proofreadpage_nosuch_file' => 'Fehler: Keine entsprechende Datei', |
| 695 | + 'proofreadpage_badpage' => 'Falsches Format', |
| 696 | + 'proofreadpage_badpagetext' => 'Das Format der Seite, die du versuchst zu speichern, ist falsch.', |
| 697 | + 'proofreadpage_indexdupe' => 'Doppelter Link', |
| 698 | + 'proofreadpage_indexdupetext' => 'Seiten können nicht mehr als einmal auf einer Indexseite aufgelistet werden.', |
| 699 | + 'proofreadpage_nologin' => 'Nicht angemeldet', |
| 700 | + 'proofreadpage_nologintext' => 'Du musst [[Special:UserLogin|angemeldet sein]], um den Korrekturlesungsstatus von Seiten zu ändern.', |
| 701 | + 'proofreadpage_notallowed' => 'Änderung nicht erlaubt', |
| 702 | + 'proofreadpage_notallowedtext' => 'Du bist nicht berechtigt, den Korrekturlesungsstatus dieser Seite zu ändern.', |
577 | 703 | 'proofreadpage_number_expected' => 'Fehler: Numerischer Wert erwartet', |
578 | 704 | 'proofreadpage_interval_too_large' => 'Fehler: Intervall zu groß', |
579 | 705 | 'proofreadpage_invalid_interval' => 'Fehler: ungültiges Intervall', |
— | — | @@ -587,6 +713,11 @@ |
588 | 714 | 'proofreadpage_quality2_category' => 'Korrekturproblem', |
589 | 715 | 'proofreadpage_quality3_category' => 'Korrigiert', |
590 | 716 | 'proofreadpage_quality4_category' => 'Fertig', |
| 717 | + 'proofreadpage_quality0_message' => 'Diese Seite muss nicht korrekturgelesen werden.', |
| 718 | + 'proofreadpage_quality1_message' => 'Diese Seite wurde noch nicht korrekturgelesen.', |
| 719 | + 'proofreadpage_quality2_message' => 'Dieser Text wurde korrekturgelesen, enthält aber noch Problemfälle. Nähere Informationen zu den Problemen finden sich möglicherweise auf der Diskussionsseite.', |
| 720 | + 'proofreadpage_quality3_message' => 'Dieser Text wurde anhand der angegebenen Quelle einmal korrekturgelesen. Die Schreibweise sollte dem Originaltext folgen. Es ist noch ein weiterer Korrekturdurchgang nötig.', |
| 721 | + 'proofreadpage_quality4_message' => 'Fertig. Dieser Text wurde zweimal anhand der Quelle korrekturgelesen. Die Schreibweise folgt dem Originaltext.', |
591 | 722 | 'proofreadpage_index_listofpages' => 'Seitenliste', |
592 | 723 | 'proofreadpage_image_message' => 'Link zur Indexseite', |
593 | 724 | 'proofreadpage_page_status' => 'Seitenstatus', |
— | — | @@ -599,12 +730,23 @@ |
600 | 731 | Bild|Titelbild |
601 | 732 | Seiten||20 |
602 | 733 | Bemerkungen||10', |
| 734 | + 'proofreadpage_pages' => '{{PLURAL:$1|Seite|Seiten}}', |
603 | 735 | ); |
604 | 736 | |
| 737 | +/** German (formal address) (Deutsch (Sie-Form)) |
| 738 | + * @author Imre |
| 739 | + */ |
| 740 | +$messages['de-formal'] = array( |
| 741 | + 'proofreadpage_badpagetext' => 'Das Format der Seite, die Sie versuchen zu speichern, ist falsch.', |
| 742 | + 'proofreadpage_nologintext' => 'Sie müssen [[Special:UserLogin|angemeldet sein]], um den Korrekturlesungsstatus von Seiten zu ändern.', |
| 743 | + 'proofreadpage_notallowedtext' => 'Sie sind nicht berechtigt, den Korrekturlesungsstatus dieser Seite zu ändern.', |
| 744 | +); |
| 745 | + |
605 | 746 | /** Lower Sorbian (Dolnoserbski) |
606 | 747 | * @author Michawiki |
607 | 748 | */ |
608 | 749 | $messages['dsb'] = array( |
| 750 | + 'indexpages' => 'Lisćina indeksowych bokow', |
609 | 751 | 'proofreadpage_desc' => 'Zmóžnja lažke pśirownowanje teksta z originalnym skanom', |
610 | 752 | 'proofreadpage_namespace' => 'Bok', |
611 | 753 | 'proofreadpage_index_namespace' => 'Indeks', |
— | — | @@ -613,6 +755,14 @@ |
614 | 756 | 'proofreadpage_index_expected' => 'Zmólka: indeks wócakowany', |
615 | 757 | 'proofreadpage_nosuch_index' => 'Zmólka: taki indeks njejo', |
616 | 758 | 'proofreadpage_nosuch_file' => 'Zmólka: taka dataja njejo', |
| 759 | + 'proofreadpage_badpage' => 'Wopacny format', |
| 760 | + 'proofreadpage_badpagetext' => 'Format boka, kótaryž sy wopytał składowaś, jo wopaki.', |
| 761 | + 'proofreadpage_indexdupe' => 'Dwójny wótkaz', |
| 762 | + 'proofreadpage_indexdupetext' => 'Boki njedaju se wěcej ako jaden raz na indeksowem boku nalicyś.', |
| 763 | + 'proofreadpage_nologin' => 'Njejsy se pśizjawił', |
| 764 | + 'proofreadpage_nologintext' => 'Musyš [[Special:UserLogin|pśizjawjony]] byś, aby status kontrolnego cytanja bokow změnił.', |
| 765 | + 'proofreadpage_notallowed' => 'Změna njedowólona', |
| 766 | + 'proofreadpage_notallowedtext' => 'Njesmějoš status kontrolnego cytanja toś togo boka změniś.', |
617 | 767 | 'proofreadpage_number_expected' => 'Zmólka: numeriska gódnota wócakowana', |
618 | 768 | 'proofreadpage_interval_too_large' => 'Zmólka: interwal pśewjeliki', |
619 | 769 | 'proofreadpage_invalid_interval' => 'Zmólka: njepłaśiwy interwal', |
— | — | @@ -627,6 +777,11 @@ |
628 | 778 | 'proofreadpage_quality2_category' => 'Problematiski', |
629 | 779 | 'proofreadpage_quality3_category' => 'Pśekontrolěrowany', |
630 | 780 | 'proofreadpage_quality4_category' => 'Wobwěsćony', |
| 781 | + 'proofreadpage_quality0_message' => 'Toś ten bok jo se skorigěrował', |
| 782 | + 'proofreadpage_quality1_message' => 'Toś ten bok njejo se skorigěrował', |
| 783 | + 'proofreadpage_quality2_message' => 'Pśi korigěrowanju toś togo boka jo se problem nastał', |
| 784 | + 'proofreadpage_quality3_message' => 'Toś ten bok jo se skorigěrował', |
| 785 | + 'proofreadpage_quality4_message' => 'Toś ten bok jo se pśekontrolěrował', |
631 | 786 | 'proofreadpage_index_listofpages' => 'Lisćina bokow', |
632 | 787 | 'proofreadpage_image_message' => 'Wótkaz k indeksowemu bokoju', |
633 | 788 | 'proofreadpage_page_status' => 'Bokowy status', |
— | — | @@ -639,6 +794,7 @@ |
640 | 795 | Wobraz|Titelowy wobraz |
641 | 796 | Boki||20 |
642 | 797 | Pśispomnjeśa||10', |
| 798 | + 'proofreadpage_pages' => '{{PLURAL:$1|bok|boka|boki|bokow}}', |
643 | 799 | ); |
644 | 800 | |
645 | 801 | /** Ewe (Eʋegbe) */ |
— | — | @@ -655,13 +811,26 @@ |
656 | 812 | * @author ZaDiak |
657 | 813 | */ |
658 | 814 | $messages['el'] = array( |
| 815 | + 'indexpages' => 'Κατάλογος σελίδων ευρετηρίου', |
659 | 816 | 'proofreadpage_desc' => 'Επίτρεψε εύκολη σύγκριση κειμένου με την πρωτότυπη σάρωση', |
660 | 817 | 'proofreadpage_namespace' => 'Σελίδα', |
661 | 818 | 'proofreadpage_index_namespace' => 'Ευρετήριο', |
662 | 819 | 'proofreadpage_image' => 'εικόνα', |
663 | 820 | 'proofreadpage_index' => 'Ευρετήριο', |
| 821 | + 'proofreadpage_index_expected' => 'Σφάλμα: αναμενόταν δείκτης', |
| 822 | + 'proofreadpage_nosuch_index' => 'Σφάλμα: δεν υπάρχει αυτός ο δείκτης', |
664 | 823 | 'proofreadpage_nosuch_file' => 'Σφάλμα: δεν υπάρχει αυτό το αρχείο', |
| 824 | + 'proofreadpage_badpage' => 'Λάθος Φορμά', |
| 825 | + 'proofreadpage_badpagetext' => 'Η μορφοποίηση της σελίδας που αποπειραθήκατε να αποθηκεύσετε είναι λανθασμένη.', |
| 826 | + 'proofreadpage_indexdupe' => 'Διπλότυπος σύνδεσμος', |
| 827 | + 'proofreadpage_indexdupetext' => 'Οι σελίδες δεν μπορούν περιλαμβάνονται στο ευρετήριο περισσότερες από μία φορές.', |
| 828 | + 'proofreadpage_nologin' => 'Δεν έχετε συνδεθεί', |
| 829 | + 'proofreadpage_nologintext' => 'Πρέπει να είστε [[Special:UserLogin|συνδεδεμένος]] για να αλλάξετε την κατάσταση επαλήθευσης σελίδων.', |
| 830 | + 'proofreadpage_notallowed' => 'Αλλαγή δεν επιτρέπεται', |
| 831 | + 'proofreadpage_notallowedtext' => 'Δεν επιτρέπεται να αλλάξετε την κατάσταση διόρθωσης κειμένου αυτής της σελίδας.', |
| 832 | + 'proofreadpage_number_expected' => 'Σφάλμα: αναμενόταν αριθμητικό μέγεθος', |
665 | 833 | 'proofreadpage_interval_too_large' => 'Σφάλμα: υπερβολικά μεγάλο διάστημα', |
| 834 | + 'proofreadpage_invalid_interval' => 'Σφάλμα: άκυρο διάστημα', |
666 | 835 | 'proofreadpage_nextpage' => 'Επόμενη σελίδα', |
667 | 836 | 'proofreadpage_prevpage' => 'Προηγούμενη σελίδα', |
668 | 837 | 'proofreadpage_header' => 'Επικεφαλίδα (noinclude):', |
— | — | @@ -673,6 +842,11 @@ |
674 | 843 | 'proofreadpage_quality2_category' => 'Προβληματική', |
675 | 844 | 'proofreadpage_quality3_category' => 'Έχει γίνει proofreading', |
676 | 845 | 'proofreadpage_quality4_category' => 'Εγκρίθηκε', |
| 846 | + 'proofreadpage_quality0_message' => 'Αυτή η σελίδα δεν χρειάζεται να ελεγχθεί για πιθανά λάθη', |
| 847 | + 'proofreadpage_quality1_message' => 'Αυτή η σελίδα δεν έχει ελεγχθεί ακόμη για πιθανά λάθη', |
| 848 | + 'proofreadpage_quality2_message' => 'Υπήρξε ένα πρόβλημα στον έλεγχο για πιθανά λάθη αυτής της σελίδας', |
| 849 | + 'proofreadpage_quality3_message' => 'Η σελίδα αυτή έχει ελεγθεί για πιθανά λάθη', |
| 850 | + 'proofreadpage_quality4_message' => 'Αυτή η σελίδα έχει εγκριθεί', |
677 | 851 | 'proofreadpage_index_listofpages' => 'Κατάλογος σελίδων', |
678 | 852 | 'proofreadpage_image_message' => 'Σύνδεσμος προς τη σελίδα ευρετηρίου', |
679 | 853 | 'proofreadpage_page_status' => 'Κατάσταση σελίδας', |
— | — | @@ -692,12 +866,14 @@ |
693 | 867 | Σελίδες||20 |
694 | 868 | |
695 | 869 | Σχόλια||10', |
| 870 | + 'proofreadpage_pages' => '{{PLURAL:$1|σελίδα|σελίδες}}', |
696 | 871 | ); |
697 | 872 | |
698 | 873 | /** Esperanto (Esperanto) |
699 | 874 | * @author Yekrats |
700 | 875 | */ |
701 | 876 | $messages['eo'] = array( |
| 877 | + 'indexpages' => 'Listo de indeksaj paĝoj', |
702 | 878 | 'proofreadpage_desc' => 'Permesas facilan komparon de teksto al la originala skanitaĵo.', |
703 | 879 | 'proofreadpage_namespace' => 'Paĝo', |
704 | 880 | 'proofreadpage_index_namespace' => 'Indekso', |
— | — | @@ -705,8 +881,17 @@ |
706 | 882 | 'proofreadpage_index' => 'Indekso', |
707 | 883 | 'proofreadpage_index_expected' => 'Eraro: indekso atentita', |
708 | 884 | 'proofreadpage_nosuch_index' => 'Eraro: nenia indekso', |
| 885 | + 'proofreadpage_nosuch_file' => 'Eraro: nenia dosiero', |
| 886 | + 'proofreadpage_badpage' => 'Malbona Formato', |
| 887 | + 'proofreadpage_badpagetext' => 'La formato de la paĝo kiun vi provis konservi estas malĝusta.', |
| 888 | + 'proofreadpage_indexdupe' => 'Duplikata ligilo', |
| 889 | + 'proofreadpage_nologin' => 'Ne ensalutita', |
| 890 | + 'proofreadpage_nologintext' => 'Vi devas [[Special:UserLogin|ensaluti]] por modifi la provlegan statuson de paĝojn.', |
| 891 | + 'proofreadpage_notallowed' => 'Ŝanĝo ne permesiĝis', |
| 892 | + 'proofreadpage_notallowedtext' => 'Vi ne estas permesata ŝanĝi la pruvlegadan statuson de ĉi tiu paĝo.', |
709 | 893 | 'proofreadpage_number_expected' => 'Eraro: numera valuto atentita', |
710 | 894 | 'proofreadpage_interval_too_large' => 'Eraro: intervalo tro granda', |
| 895 | + 'proofreadpage_invalid_interval' => 'Eraro: malvalida intervalo', |
711 | 896 | 'proofreadpage_nextpage' => 'Sekva paĝo', |
712 | 897 | 'proofreadpage_prevpage' => 'Antaŭa paĝo', |
713 | 898 | 'proofreadpage_header' => 'Supra titolo (ne inkluzivu):', |
— | — | @@ -718,6 +903,11 @@ |
719 | 904 | 'proofreadpage_quality2_category' => 'Problema', |
720 | 905 | 'proofreadpage_quality3_category' => 'Provlegita', |
721 | 906 | 'proofreadpage_quality4_category' => 'Validigita', |
| 907 | + 'proofreadpage_quality0_message' => 'La paĝo ne bezonas esti provlegata', |
| 908 | + 'proofreadpage_quality1_message' => 'Ĉi tiu paĝo ne estis pruvlegita', |
| 909 | + 'proofreadpage_quality2_message' => 'Estis problemo pruvlegante ĉi tiun paĝon', |
| 910 | + 'proofreadpage_quality3_message' => 'Ĉi tiu paĝo estis pruvlegita', |
| 911 | + 'proofreadpage_quality4_message' => 'Ĉi tiu paĝo estis validigita', |
722 | 912 | 'proofreadpage_index_listofpages' => 'Listo de paĝoj', |
723 | 913 | 'proofreadpage_image_message' => 'Ligilo al la indekspaĝo', |
724 | 914 | 'proofreadpage_page_status' => 'Statuso de paĝo', |
— | — | @@ -730,20 +920,38 @@ |
731 | 921 | Bildo|Bildo de kovrilo |
732 | 922 | Paĝoj||20 |
733 | 923 | Rimarkoj||10', |
| 924 | + 'proofreadpage_pages' => '{{PLURAL:$1|paĝo|paĝoj}}', |
734 | 925 | ); |
735 | 926 | |
736 | 927 | /** Spanish (Español) |
737 | 928 | * @author Aleator |
| 929 | + * @author Barcex |
738 | 930 | * @author Crazymadlover |
| 931 | + * @author Locos epraix |
739 | 932 | * @author Remember the dot |
740 | 933 | * @author Sanbec |
741 | 934 | */ |
742 | 935 | $messages['es'] = array( |
| 936 | + 'indexpages' => 'Lista de páginas indexadas', |
743 | 937 | 'proofreadpage_desc' => 'Permitir una fácil comparación de un texto con el escaneado original', |
744 | 938 | 'proofreadpage_namespace' => 'Página', |
745 | 939 | 'proofreadpage_index_namespace' => 'Índice', |
746 | 940 | 'proofreadpage_image' => 'imagen', |
747 | 941 | 'proofreadpage_index' => 'Índice', |
| 942 | + 'proofreadpage_index_expected' => 'Error: se esperaba un índice', |
| 943 | + 'proofreadpage_nosuch_index' => 'Error: no hay tal índice', |
| 944 | + 'proofreadpage_nosuch_file' => 'Error: no existe el archivo', |
| 945 | + 'proofreadpage_badpage' => 'Formato erróneo', |
| 946 | + 'proofreadpage_badpagetext' => 'El formato de la página que intestaste grabar es incorrecto.', |
| 947 | + 'proofreadpage_indexdupe' => 'Vínculo duplicado', |
| 948 | + 'proofreadpage_indexdupetext' => 'Las páginas no pueden ser listadas más de una vez en una página índice.', |
| 949 | + 'proofreadpage_nologin' => 'No ha iniciado sesión', |
| 950 | + 'proofreadpage_nologintext' => 'Debes haber [[Special:UserLogin|iniciado sesión]]para modificar el status de corrección de las páginas.', |
| 951 | + 'proofreadpage_notallowed' => 'Cambio no permitido', |
| 952 | + 'proofreadpage_notallowedtext' => 'No estás permitido de cambiar el estatus corregido de esta página.', |
| 953 | + 'proofreadpage_number_expected' => 'Error: se esperaba un valor numérico', |
| 954 | + 'proofreadpage_interval_too_large' => 'Error: intervalo demasiado grande', |
| 955 | + 'proofreadpage_invalid_interval' => 'Error: intervalo inválido', |
748 | 956 | 'proofreadpage_nextpage' => 'Página siguiente', |
749 | 957 | 'proofreadpage_prevpage' => 'Página anterior', |
750 | 958 | 'proofreadpage_header' => 'Encabezado (noinclude):', |
— | — | @@ -755,6 +963,11 @@ |
756 | 964 | 'proofreadpage_quality2_category' => 'Problemática', |
757 | 965 | 'proofreadpage_quality3_category' => 'Corregido', |
758 | 966 | 'proofreadpage_quality4_category' => 'Validada', |
| 967 | + 'proofreadpage_quality0_message' => 'Esta página no necesita ser corregida', |
| 968 | + 'proofreadpage_quality1_message' => 'Esta página no ha sido corregida', |
| 969 | + 'proofreadpage_quality2_message' => 'Hubo un problema cuando se corregía esta página', |
| 970 | + 'proofreadpage_quality3_message' => 'Esta página ha sido corregida', |
| 971 | + 'proofreadpage_quality4_message' => 'Esta página ha sido validada', |
759 | 972 | 'proofreadpage_index_listofpages' => 'Lista de páginas', |
760 | 973 | 'proofreadpage_image_message' => 'Enlace a la página de índice', |
761 | 974 | 'proofreadpage_page_status' => 'Estatus de página', |
— | — | @@ -767,8 +980,39 @@ |
768 | 981 | Imagen|Imagen de cubierta |
769 | 982 | Páginas||20 |
770 | 983 | Comentarios||10', |
| 984 | + 'proofreadpage_pages' => '{{PLURAL:$1|página|páginas}}', |
771 | 985 | ); |
772 | 986 | |
| 987 | +/** Estonian (Eesti) |
| 988 | + * @author Avjoska |
| 989 | + */ |
| 990 | +$messages['et'] = array( |
| 991 | + 'proofreadpage_namespace' => 'Lehekülg', |
| 992 | + 'proofreadpage_image' => 'pilt', |
| 993 | + 'proofreadpage_nologin' => 'Ei ole sisse logitud', |
| 994 | + 'proofreadpage_notallowed' => 'Muudatus ei ole lubatud', |
| 995 | + 'proofreadpage_nextpage' => 'Järgmine lehekülg', |
| 996 | + 'proofreadpage_prevpage' => 'Eelmine lehekülg', |
| 997 | + 'proofreadpage_quality0_category' => 'Ilma tekstita', |
| 998 | + 'proofreadpage_quality1_category' => 'Korrigeerimata', |
| 999 | + 'proofreadpage_quality2_category' => 'Problemaatiline', |
| 1000 | + 'proofreadpage_quality3_category' => 'Korrigeeritud', |
| 1001 | + 'proofreadpage_quality0_message' => 'See lehekülg ei vaja korrigeerimist', |
| 1002 | + 'proofreadpage_quality1_message' => 'Seda lehekülge ei ole korrigeeritud', |
| 1003 | + 'proofreadpage_quality3_message' => 'See lehekülg on korrigeeritud', |
| 1004 | + 'proofreadpage_index_listofpages' => 'Lehekülgede loend', |
| 1005 | + 'proofreadpage_page_status' => 'Lehekülje staatus', |
| 1006 | + 'proofreadpage_js_attributes' => 'Autor Pealkiri Aasta Väljaandja', |
| 1007 | + 'proofreadpage_index_attributes' => 'Autor |
| 1008 | +Pealkiri |
| 1009 | +Aasta|Väljaandmise aasta |
| 1010 | +Väljaandja |
| 1011 | +Päritolu |
| 1012 | +Pilt|Kaanepilt |
| 1013 | +Lehekülgi||20 |
| 1014 | +Märkused||10', |
| 1015 | +); |
| 1016 | + |
773 | 1017 | /** Basque (Euskara) |
774 | 1018 | * @author An13sa |
775 | 1019 | */ |
— | — | @@ -777,6 +1021,7 @@ |
778 | 1022 | 'proofreadpage_index_namespace' => 'Aurkibidea', |
779 | 1023 | 'proofreadpage_image' => 'irudi', |
780 | 1024 | 'proofreadpage_index' => 'Aurkibidea', |
| 1025 | + 'proofreadpage_badpage' => 'Formatu Okerra', |
781 | 1026 | 'proofreadpage_nextpage' => 'Hurrengo orria', |
782 | 1027 | 'proofreadpage_prevpage' => 'Aurreko orria', |
783 | 1028 | 'proofreadpage_index_listofpages' => 'Orri zerrenda', |
— | — | @@ -836,11 +1081,26 @@ |
837 | 1082 | * @author Str4nd |
838 | 1083 | */ |
839 | 1084 | $messages['fi'] = array( |
| 1085 | + 'indexpages' => 'Luettelo hakemiston sivuista', |
840 | 1086 | 'proofreadpage_desc' => 'Mahdollistaa helpon vertailun tekstin ja alkuperäisen skannauksen välillä.', |
841 | 1087 | 'proofreadpage_namespace' => 'Sivu', |
842 | 1088 | 'proofreadpage_index_namespace' => 'Hakemisto', |
843 | 1089 | 'proofreadpage_image' => 'kuva', |
844 | 1090 | 'proofreadpage_index' => 'Hakemisto', |
| 1091 | + 'proofreadpage_index_expected' => 'Virhe: täsmennysosiota odotetaan', |
| 1092 | + 'proofreadpage_nosuch_index' => 'Virhe: Kyseistä indeksiä ei ole', |
| 1093 | + 'proofreadpage_nosuch_file' => 'Virhe: tiedostoa ei löydy', |
| 1094 | + 'proofreadpage_badpage' => 'Väärä muoto', |
| 1095 | + 'proofreadpage_badpagetext' => 'Sivu, jota yritit tallentaa on virheellisessä muodossa.', |
| 1096 | + 'proofreadpage_indexdupe' => 'Kaksoiskappalelinkki', |
| 1097 | + 'proofreadpage_indexdupetext' => 'Sivuja ei voida luetella useammin kuin kerran hakemistosivulla.', |
| 1098 | + 'proofreadpage_nologin' => 'Et ole kirjautunut sisään', |
| 1099 | + 'proofreadpage_nologintext' => 'Sinun on oltava [[Special:UserLogin|kirjautunut sisään]] muuttaaksesi sivun oikoluku-tilaa.', |
| 1100 | + 'proofreadpage_notallowed' => 'Muutos ei ole sallittu', |
| 1101 | + 'proofreadpage_notallowedtext' => 'Sinulla ei ole oikeuksia muuttaa tämän sivun oikoluku-tilaa.', |
| 1102 | + 'proofreadpage_number_expected' => 'Virhe: odotettiin numeerista arvoa', |
| 1103 | + 'proofreadpage_interval_too_large' => 'Virhe: Väli liian suuri', |
| 1104 | + 'proofreadpage_invalid_interval' => 'Virhe: Väli ei toimi', |
845 | 1105 | 'proofreadpage_nextpage' => 'Seuraava sivu', |
846 | 1106 | 'proofreadpage_prevpage' => 'Edellinen sivu', |
847 | 1107 | 'proofreadpage_header' => 'Ylätunniste (ei sisällytetä):', |
— | — | @@ -852,6 +1112,11 @@ |
853 | 1113 | 'proofreadpage_quality2_category' => 'Ongelmallinen', |
854 | 1114 | 'proofreadpage_quality3_category' => 'Korjausluettu', |
855 | 1115 | 'proofreadpage_quality4_category' => 'Hyväksytty', |
| 1116 | + 'proofreadpage_quality0_message' => 'Tätä sivua ei tarvitse oikolukea', |
| 1117 | + 'proofreadpage_quality1_message' => 'Tätä sivua ei ole oikoluettu', |
| 1118 | + 'proofreadpage_quality2_message' => 'Tämän sivun oikoluvussa oli ongelmia', |
| 1119 | + 'proofreadpage_quality3_message' => 'Tämä sivu on oikoluettu', |
| 1120 | + 'proofreadpage_quality4_message' => 'Tämä sivu on vahvistettu', |
856 | 1121 | 'proofreadpage_index_listofpages' => 'Sivuluettelo', |
857 | 1122 | 'proofreadpage_image_message' => 'Linkki hakemistosivuun', |
858 | 1123 | 'proofreadpage_page_status' => 'Sivun tila', |
— | — | @@ -864,9 +1129,11 @@ |
865 | 1130 | Kuva|Kansikuva |
866 | 1131 | Sivuja||20 |
867 | 1132 | Huomautuksia||10', |
| 1133 | + 'proofreadpage_pages' => '{{PLURAL:$1|sivu|sivua}}', |
868 | 1134 | ); |
869 | 1135 | |
870 | 1136 | /** French (Français) |
| 1137 | + * @author Crochet.david |
871 | 1138 | * @author Dereckson |
872 | 1139 | * @author Grondin |
873 | 1140 | * @author IAlex |
— | — | @@ -874,6 +1141,7 @@ |
875 | 1142 | * @author Verdy p |
876 | 1143 | */ |
877 | 1144 | $messages['fr'] = array( |
| 1145 | + 'indexpages' => "Liste des pages d'index", |
878 | 1146 | 'proofreadpage_desc' => 'Permet une comparaison facile entre le texte et sa numérisation originale', |
879 | 1147 | 'proofreadpage_namespace' => 'Page', |
880 | 1148 | 'proofreadpage_index_namespace' => 'Index', |
— | — | @@ -882,6 +1150,14 @@ |
883 | 1151 | 'proofreadpage_index_expected' => 'Erreur : un index est attendu', |
884 | 1152 | 'proofreadpage_nosuch_index' => "Erreur : l'index n'a pas été trouvé", |
885 | 1153 | 'proofreadpage_nosuch_file' => "Erreur : le fichier n'a pas été trouvé", |
| 1154 | + 'proofreadpage_badpage' => 'Mauvais format', |
| 1155 | + 'proofreadpage_badpagetext' => 'Le format de la page que vous essayez de publier est incorrect.', |
| 1156 | + 'proofreadpage_indexdupe' => 'Lien en double', |
| 1157 | + 'proofreadpage_indexdupetext' => "Les pages ne peuvent pas être listées plus d'une fois sur une page d'index.", |
| 1158 | + 'proofreadpage_nologin' => 'Non connecté', |
| 1159 | + 'proofreadpage_nologintext' => 'Vous devez être [[Special:UserLogin|connecté]] pour modifier le statut de correction des pages.', |
| 1160 | + 'proofreadpage_notallowed' => 'Modification non autorisée', |
| 1161 | + 'proofreadpage_notallowedtext' => "Vous n'êtes pas autorisé à modifier le statut de correction de cette page.", |
886 | 1162 | 'proofreadpage_number_expected' => 'Erreur : une valeur numérique est attendue', |
887 | 1163 | 'proofreadpage_interval_too_large' => 'Erreur : intervalle trop grand', |
888 | 1164 | 'proofreadpage_invalid_interval' => 'Erreur : intervalle invalide', |
— | — | @@ -896,6 +1172,11 @@ |
897 | 1173 | 'proofreadpage_quality2_category' => 'Problématique', |
898 | 1174 | 'proofreadpage_quality3_category' => 'Corrigée', |
899 | 1175 | 'proofreadpage_quality4_category' => 'Validée', |
| 1176 | + 'proofreadpage_quality0_message' => 'Cette page n’est pas destinée à être corrigée.', |
| 1177 | + 'proofreadpage_quality1_message' => 'Cette page n’a pas encore été corrigée.', |
| 1178 | + 'proofreadpage_quality2_message' => 'Cette page n’a pas pu être corrigée, à cause d’un problème décrit en page de discussion.', |
| 1179 | + 'proofreadpage_quality3_message' => 'Cette page a été corrigée et est conforme au fac-similé.', |
| 1180 | + 'proofreadpage_quality4_message' => 'Cette page a été validée par deux contributeurs.', |
900 | 1181 | 'proofreadpage_index_listofpages' => 'Liste des pages', |
901 | 1182 | 'proofreadpage_image_message' => 'Lien vers la page d’index', |
902 | 1183 | 'proofreadpage_page_status' => 'État de la page', |
— | — | @@ -908,6 +1189,7 @@ |
909 | 1190 | Image|Image en couverture |
910 | 1191 | Pages||20 |
911 | 1192 | Remarques||10', |
| 1193 | + 'proofreadpage_pages' => '{{PLURAL:$1|page|pages}}', |
912 | 1194 | ); |
913 | 1195 | |
914 | 1196 | /** Franco-Provençal (Arpetan) |
— | — | @@ -985,6 +1267,7 @@ |
986 | 1268 | * @author Xosé |
987 | 1269 | */ |
988 | 1270 | $messages['gl'] = array( |
| 1271 | + 'indexpages' => 'Lista de páxinas índice', |
989 | 1272 | 'proofreadpage_desc' => 'Permite a comparación sinxela do texto coa dixitalización orixinal', |
990 | 1273 | 'proofreadpage_namespace' => 'Páxina', |
991 | 1274 | 'proofreadpage_index_namespace' => 'Índice', |
— | — | @@ -993,6 +1276,14 @@ |
994 | 1277 | 'proofreadpage_index_expected' => 'Erro: agardábase un índice', |
995 | 1278 | 'proofreadpage_nosuch_index' => 'Erro: non existe tal índice', |
996 | 1279 | 'proofreadpage_nosuch_file' => 'Erro: non existe tal ficheiro', |
| 1280 | + 'proofreadpage_badpage' => 'Formato incorrecto', |
| 1281 | + 'proofreadpage_badpagetext' => 'O formato da páxina que intentou gardar é incorrecto.', |
| 1282 | + 'proofreadpage_indexdupe' => 'Ligazón duplicada', |
| 1283 | + 'proofreadpage_indexdupetext' => 'Non se poden listar as páxinas máis dunha vez nunha páxina índice.', |
| 1284 | + 'proofreadpage_nologin' => 'Non accedeu ao sistema', |
| 1285 | + 'proofreadpage_nologintext' => 'Debe [[Special:UserLogin|acceder ao sistema]] para modificar o estado de corrección das páxinas.', |
| 1286 | + 'proofreadpage_notallowed' => 'Cambio non autorizado', |
| 1287 | + 'proofreadpage_notallowedtext' => 'Non ten os permisos necesarios para cambiar o estado de corrección desta páxina.', |
997 | 1288 | 'proofreadpage_number_expected' => 'Erro: agardábase un valor numérico', |
998 | 1289 | 'proofreadpage_interval_too_large' => 'Erro: intervalo moi grande', |
999 | 1290 | 'proofreadpage_invalid_interval' => 'Erro: intervalo inválido', |
— | — | @@ -1003,12 +1294,17 @@ |
1004 | 1295 | 'proofreadpage_footer' => 'Pé de páxina (noinclude):', |
1005 | 1296 | 'proofreadpage_toggleheaders' => 'alternar a visibilidade das seccións noinclude', |
1006 | 1297 | 'proofreadpage_quality0_category' => 'Sen texto', |
1007 | | - 'proofreadpage_quality1_category' => 'Non corrixir', |
| 1298 | + 'proofreadpage_quality1_category' => 'Non corrixido', |
1008 | 1299 | 'proofreadpage_quality2_category' => 'Problemático', |
1009 | | - 'proofreadpage_quality3_category' => 'Corrixir', |
| 1300 | + 'proofreadpage_quality3_category' => 'Corrixido', |
1010 | 1301 | 'proofreadpage_quality4_category' => 'Validado', |
| 1302 | + 'proofreadpage_quality0_message' => 'Esta páxina non necesita corrección', |
| 1303 | + 'proofreadpage_quality1_message' => 'Esta páxina non foi corrixida', |
| 1304 | + 'proofreadpage_quality2_message' => 'Houbo un problema ao corrixir esta páxina', |
| 1305 | + 'proofreadpage_quality3_message' => 'Esta páxina foi corrixida', |
| 1306 | + 'proofreadpage_quality4_message' => 'Esta páxina foi validada', |
1011 | 1307 | 'proofreadpage_index_listofpages' => 'Lista de páxinas', |
1012 | | - 'proofreadpage_image_message' => 'Ligazón á páxina do índice', |
| 1308 | + 'proofreadpage_image_message' => 'Ligazón á páxina índice', |
1013 | 1309 | 'proofreadpage_page_status' => 'Estado da páxina', |
1014 | 1310 | 'proofreadpage_js_attributes' => 'Autor Título Ano Editor', |
1015 | 1311 | 'proofreadpage_index_attributes' => 'Autor |
— | — | @@ -1019,6 +1315,7 @@ |
1020 | 1316 | Imaxe|Imaxe da cuberta |
1021 | 1317 | Páxinas||20 |
1022 | 1318 | Comentarios||10', |
| 1319 | + 'proofreadpage_pages' => '{{PLURAL:$1|páxina|páxinas}}', |
1023 | 1320 | ); |
1024 | 1321 | |
1025 | 1322 | /** Ancient Greek (Ἀρχαία ἑλληνικὴ) |
— | — | @@ -1043,6 +1340,7 @@ |
1044 | 1341 | * @author J. 'mach' wust |
1045 | 1342 | */ |
1046 | 1343 | $messages['gsw'] = array( |
| 1344 | + 'indexpages' => 'Lischte vu Indexsyte', |
1047 | 1345 | 'proofreadpage_desc' => 'Macht e eifache Verglyych vu Täxt mit em Originalscan megli', |
1048 | 1346 | 'proofreadpage_namespace' => 'Syte', |
1049 | 1347 | 'proofreadpage_index_namespace' => 'Index', |
— | — | @@ -1051,6 +1349,14 @@ |
1052 | 1350 | 'proofreadpage_index_expected' => 'Fähler: Index erwartet', |
1053 | 1351 | 'proofreadpage_nosuch_index' => 'Fähler: Kei sonige Index', |
1054 | 1352 | 'proofreadpage_nosuch_file' => 'Fähler: Kei sonigi Datei', |
| 1353 | + 'proofreadpage_badpage' => 'Falsch Format', |
| 1354 | + 'proofreadpage_badpagetext' => 'S Format vu dr Syte, wu du versuecht hesch z spychere, isch falsch.', |
| 1355 | + 'proofreadpage_indexdupe' => 'Gleich (Link) dupliziere', |
| 1356 | + 'proofreadpage_indexdupetext' => 'Syte chenne nit meh wie eimol ufglischtet wäre uf ere Indexsyte', |
| 1357 | + 'proofreadpage_nologin' => 'Nit aagmäldet', |
| 1358 | + 'proofreadpage_nologintext' => 'Du muesch [[Special:UserLogin|aagmäldet syy]] go dr Korrekturläsigs-Status vu Syte ändere.', |
| 1359 | + 'proofreadpage_notallowed' => 'Änderig nit erlaubt', |
| 1360 | + 'proofreadpage_notallowedtext' => 'Du derfsch dr Korrektur-Läsigs-Status vu däre Syte nit ändere.', |
1055 | 1361 | 'proofreadpage_number_expected' => 'Fähler: Numerische Wärt erwartet', |
1056 | 1362 | 'proofreadpage_interval_too_large' => 'Fähler: Intervall z groß', |
1057 | 1363 | 'proofreadpage_invalid_interval' => 'Fähler: nit giltig Intervall', |
— | — | @@ -1065,6 +1371,11 @@ |
1066 | 1372 | 'proofreadpage_quality2_category' => 'Korrekturprobläm', |
1067 | 1373 | 'proofreadpage_quality3_category' => 'Korrigiert', |
1068 | 1374 | 'proofreadpage_quality4_category' => 'Fertig', |
| 1375 | + 'proofreadpage_quality0_message' => 'Die Syte brucht nit Korrektur gläse wäre.', |
| 1376 | + 'proofreadpage_quality1_message' => 'Die Syte isch nit Korrektur gläse wore', |
| 1377 | + 'proofreadpage_quality2_message' => 'S het e Probläm gee bim Korrektur läse vu däre Syte', |
| 1378 | + 'proofreadpage_quality3_message' => 'Die Syte isch Korrektur gläse wore', |
| 1379 | + 'proofreadpage_quality4_message' => 'Die Syte isch validiert wore', |
1069 | 1380 | 'proofreadpage_index_listofpages' => 'Sytelischt', |
1070 | 1381 | 'proofreadpage_image_message' => 'Gleich zue dr Indexsyte', |
1071 | 1382 | 'proofreadpage_page_status' => 'Sytestatus', |
— | — | @@ -1077,6 +1388,7 @@ |
1078 | 1389 | Bild|Titelbild |
1079 | 1390 | Syte||20 |
1080 | 1391 | Aamerkige||10', |
| 1392 | + 'proofreadpage_pages' => '{{PLURAL:$1|Syte|Syte}}', |
1081 | 1393 | ); |
1082 | 1394 | |
1083 | 1395 | /** Manx (Gaelg) |
— | — | @@ -1101,9 +1413,11 @@ |
1102 | 1414 | |
1103 | 1415 | /** Hebrew (עברית) |
1104 | 1416 | * @author Rotem Liss |
| 1417 | + * @author Rotemliss |
1105 | 1418 | * @author YaronSh |
1106 | 1419 | */ |
1107 | 1420 | $messages['he'] = array( |
| 1421 | + 'indexpages' => 'רשימת דפי אינדקס', |
1108 | 1422 | 'proofreadpage_desc' => 'השוואה קלה של טקסט לסריקה המקורית שלו', |
1109 | 1423 | 'proofreadpage_namespace' => 'דף', |
1110 | 1424 | 'proofreadpage_index_namespace' => 'אינדקס', |
— | — | @@ -1112,6 +1426,14 @@ |
1113 | 1427 | 'proofreadpage_index_expected' => 'שגיאה: נדרש אינדקס', |
1114 | 1428 | 'proofreadpage_nosuch_index' => 'שגיאה: אין אינדקס כזה', |
1115 | 1429 | 'proofreadpage_nosuch_file' => 'שגיאה: אין קובץ כזה', |
| 1430 | + 'proofreadpage_badpage' => 'מבנה שגוי', |
| 1431 | + 'proofreadpage_badpagetext' => 'מבנה הדף אותו ניסיתם לשמור אינו נכון.', |
| 1432 | + 'proofreadpage_indexdupe' => 'קישור כפול', |
| 1433 | + 'proofreadpage_indexdupetext' => 'לא ניתן להציג את הדפים יותר מפעם אחת בדף אינדקס.', |
| 1434 | + 'proofreadpage_nologin' => 'לא נכנסתם לאתר', |
| 1435 | + 'proofreadpage_nologintext' => 'עליכם [[Special:UserLogin|להיכנס לחשבון]] כדי לשנות את מצב ההגהה של דפים.', |
| 1436 | + 'proofreadpage_notallowed' => 'לא ניתן לבצע השינוי', |
| 1437 | + 'proofreadpage_notallowedtext' => 'אינכם מורשים לשנות את מצב ההגהה של דף זה.', |
1116 | 1438 | 'proofreadpage_number_expected' => 'שגיאה: נדרש ערך מספרי', |
1117 | 1439 | 'proofreadpage_interval_too_large' => 'שגיאה: המרווח גדול מדי', |
1118 | 1440 | 'proofreadpage_invalid_interval' => 'שגיאה: מרווח בלתי תקין', |
— | — | @@ -1126,6 +1448,11 @@ |
1127 | 1449 | 'proofreadpage_quality2_category' => 'בעייתי', |
1128 | 1450 | 'proofreadpage_quality3_category' => 'בוצעה הגהה', |
1129 | 1451 | 'proofreadpage_quality4_category' => 'מאומת', |
| 1452 | + 'proofreadpage_quality0_message' => 'לדף זה לא נדרשת בדיקת הגהה', |
| 1453 | + 'proofreadpage_quality1_message' => 'דף זה לא עבר בדיקת הגהה', |
| 1454 | + 'proofreadpage_quality2_message' => 'הייתה בעיה בעת ביצוע בדיקת הגהה לדף זה', |
| 1455 | + 'proofreadpage_quality3_message' => 'דף זה עבר הגהה', |
| 1456 | + 'proofreadpage_quality4_message' => 'דף זה עבר אימות', |
1130 | 1457 | 'proofreadpage_index_listofpages' => 'רשימת דפים', |
1131 | 1458 | 'proofreadpage_image_message' => 'קישור לדף האינדקס', |
1132 | 1459 | 'proofreadpage_page_status' => 'מצב הדף', |
— | — | @@ -1138,6 +1465,7 @@ |
1139 | 1466 | תמונה|תמונת עטיפה |
1140 | 1467 | דפים||20 |
1141 | 1468 | הערות||10', |
| 1469 | + 'proofreadpage_pages' => '{{PLURAL:$1|דף אחד|$2 דפים}}', |
1142 | 1470 | ); |
1143 | 1471 | |
1144 | 1472 | /** Hindi (हिन्दी) |
— | — | @@ -1177,25 +1505,47 @@ |
1178 | 1506 | * @author Dalibor Bosits |
1179 | 1507 | * @author Dnik |
1180 | 1508 | * @author SpeedyGonsales |
| 1509 | + * @author Suradnik13 |
1181 | 1510 | */ |
1182 | 1511 | $messages['hr'] = array( |
| 1512 | + 'indexpages' => 'Popis sadržaja stranica', |
1183 | 1513 | 'proofreadpage_desc' => 'Omogućava jednostavnu usporedbu teksta i izvornog skena', |
1184 | 1514 | 'proofreadpage_namespace' => 'Stranica', |
1185 | | - 'proofreadpage_index_namespace' => 'Indeks', |
| 1515 | + 'proofreadpage_index_namespace' => 'Sadržaj', |
1186 | 1516 | 'proofreadpage_image' => 'slika', |
1187 | | - 'proofreadpage_index' => 'Sadržaj (indeks)', |
| 1517 | + 'proofreadpage_index' => 'Sadržaj', |
| 1518 | + 'proofreadpage_index_expected' => 'Progreška: očekivan je sadržaj', |
| 1519 | + 'proofreadpage_nosuch_index' => 'Pogreška: nema takvog sadržaja', |
| 1520 | + 'proofreadpage_nosuch_file' => 'Pogreška: nema takve datoteke', |
| 1521 | + 'proofreadpage_badpage' => 'Pogrešan format', |
| 1522 | + 'proofreadpage_badpagetext' => 'Format stranice koju ste pokušali spremiti je neispravan.', |
| 1523 | + 'proofreadpage_indexdupe' => 'Duplicirana poveznica', |
| 1524 | + 'proofreadpage_indexdupetext' => 'Stranice ne mogu biti iszlistane više od jednom na stranici sadržaja.', |
| 1525 | + 'proofreadpage_nologin' => 'Niste prijavljeni', |
| 1526 | + 'proofreadpage_nologintext' => 'Morate biti [[Special:UserLogin|prijavljeni]] za izmjenu statusa provjerenosti na stranicama.', |
| 1527 | + 'proofreadpage_notallowed' => 'Izmjena nije dozvoljena', |
| 1528 | + 'proofreadpage_notallowedtext' => 'Nije Vam dozvoljeno mijenjati status ispravljenosti ove stranice.', |
| 1529 | + 'proofreadpage_number_expected' => 'Pogreška: očekivana je brojčana vrijednost', |
| 1530 | + 'proofreadpage_interval_too_large' => 'Pogreška: interval je prevelik', |
| 1531 | + 'proofreadpage_invalid_interval' => 'Pogreška: interval nije valjan', |
1188 | 1532 | 'proofreadpage_nextpage' => 'Slijedeća stranica', |
1189 | 1533 | 'proofreadpage_prevpage' => 'Prethodna stranica', |
1190 | 1534 | 'proofreadpage_header' => "Zaglavlje (''noinclude''):", |
1191 | 1535 | 'proofreadpage_body' => 'Tijelo stranice (bit će uključeno):', |
1192 | 1536 | 'proofreadpage_footer' => "Podnožje (''footer noinclude''):", |
1193 | 1537 | 'proofreadpage_toggleheaders' => "promijeni vidljivost ''noinclude'' odlomaka", |
1194 | | - 'proofreadpage_quality1_category' => 'Nepregledano', |
1195 | | - 'proofreadpage_quality2_category' => 'Nedovršeno', |
1196 | | - 'proofreadpage_quality3_category' => 'Pregledano', |
1197 | | - 'proofreadpage_quality4_category' => 'Dobro', |
| 1538 | + 'proofreadpage_quality0_category' => 'Bez teksta', |
| 1539 | + 'proofreadpage_quality1_category' => 'Nije ispravljeno', |
| 1540 | + 'proofreadpage_quality2_category' => 'Problematično', |
| 1541 | + 'proofreadpage_quality3_category' => 'Ispravljeno', |
| 1542 | + 'proofreadpage_quality4_category' => 'Potvrđeno', |
| 1543 | + 'proofreadpage_quality0_message' => 'Ovu stranicu nije potrebno ispravljati', |
| 1544 | + 'proofreadpage_quality1_message' => 'Ova stranica nije ispravljena', |
| 1545 | + 'proofreadpage_quality2_message' => 'Došlo je do problema prilikom ispravljanja ove stranice', |
| 1546 | + 'proofreadpage_quality3_message' => 'Ova stranica je ispravljena', |
| 1547 | + 'proofreadpage_quality4_message' => 'Ova stranica je potvrđena', |
1198 | 1548 | 'proofreadpage_index_listofpages' => 'Popis stranica', |
1199 | | - 'proofreadpage_image_message' => 'Poveznica na sadržaj (kazalo)', |
| 1549 | + 'proofreadpage_image_message' => 'Poveznica na stranicu sa sadržajem', |
1200 | 1550 | 'proofreadpage_page_status' => 'Status stranice', |
1201 | 1551 | 'proofreadpage_js_attributes' => 'Autor Naslov Godina Izdavač', |
1202 | 1552 | 'proofreadpage_index_attributes' => 'Autor |
— | — | @@ -1206,6 +1556,7 @@ |
1207 | 1557 | Slika|Naslovnica |
1208 | 1558 | Stranica||20 |
1209 | 1559 | Napomene||10', |
| 1560 | + 'proofreadpage_pages' => '{{PLURAL:$1|stranica|stranice}}', |
1210 | 1561 | ); |
1211 | 1562 | |
1212 | 1563 | /** Upper Sorbian (Hornjoserbsce) |
— | — | @@ -1213,6 +1564,7 @@ |
1214 | 1565 | * @author Michawiki |
1215 | 1566 | */ |
1216 | 1567 | $messages['hsb'] = array( |
| 1568 | + 'indexpages' => 'Lisćina indeksowych stronow', |
1217 | 1569 | 'proofreadpage_desc' => 'Lochke přirunanje teksta z originalnym skanom dowolić', |
1218 | 1570 | 'proofreadpage_namespace' => 'Strona', |
1219 | 1571 | 'proofreadpage_index_namespace' => 'Indeks', |
— | — | @@ -1221,6 +1573,14 @@ |
1222 | 1574 | 'proofreadpage_index_expected' => 'Zmylk: indeks wočakowany', |
1223 | 1575 | 'proofreadpage_nosuch_index' => 'Zmylk: tajki indeks njeje', |
1224 | 1576 | 'proofreadpage_nosuch_file' => 'Zmylk: tajka dataja njeje', |
| 1577 | + 'proofreadpage_badpage' => 'Wopačny format', |
| 1578 | + 'proofreadpage_badpagetext' => 'Format strony, kotruž sy spytał składować, je wopak.', |
| 1579 | + 'proofreadpage_indexdupe' => 'Dwójny wotkaz', |
| 1580 | + 'proofreadpage_indexdupetext' => 'Strony njedadźa so wjace hač jedyn raz na indeksowej stronje nalistować.', |
| 1581 | + 'proofreadpage_nologin' => 'Njejsy so přizjewił', |
| 1582 | + 'proofreadpage_nologintext' => 'Dyrbiš [[Special:UserLogin|přizjewjeny]] być, zo by status kontrolneho čitanja stronow změnił.', |
| 1583 | + 'proofreadpage_notallowed' => 'Změna njedowolena', |
| 1584 | + 'proofreadpage_notallowedtext' => 'Njesměš status kontrolneho čitanja tutej strony změnić.', |
1225 | 1585 | 'proofreadpage_number_expected' => 'Zmylk: numeriska hódnota wočakowana', |
1226 | 1586 | 'proofreadpage_interval_too_large' => 'Zmylk: interwal přewulki', |
1227 | 1587 | 'proofreadpage_invalid_interval' => 'Zmylk: njepłaćiwy interwal', |
— | — | @@ -1235,6 +1595,11 @@ |
1236 | 1596 | 'proofreadpage_quality2_category' => 'Njedospołny', |
1237 | 1597 | 'proofreadpage_quality3_category' => 'Skorigowany', |
1238 | 1598 | 'proofreadpage_quality4_category' => 'Hotowy', |
| 1599 | + 'proofreadpage_quality0_message' => 'Tuta strona njetrjeba so skorigować', |
| 1600 | + 'proofreadpage_quality1_message' => 'Tut strona njeje so skorigowała', |
| 1601 | + 'proofreadpage_quality2_message' => 'Při korigowanju tuteje strony je problem wustupił', |
| 1602 | + 'proofreadpage_quality3_message' => 'Tuta strona je so skorigowała', |
| 1603 | + 'proofreadpage_quality4_message' => 'Tuta strona je so přepruwowała', |
1239 | 1604 | 'proofreadpage_index_listofpages' => 'Lisćina stronow', |
1240 | 1605 | 'proofreadpage_image_message' => 'Wotkaz k indeksowej stronje', |
1241 | 1606 | 'proofreadpage_page_status' => 'Status strony', |
— | — | @@ -1247,6 +1612,7 @@ |
1248 | 1613 | Wobraz|Wobraz titloweje strony |
1249 | 1614 | Strony||20 |
1250 | 1615 | Přispomnjenki||10', |
| 1616 | + 'proofreadpage_pages' => '{{PLURAL:$1|strona|stronje|strony|stronow}}', |
1251 | 1617 | ); |
1252 | 1618 | |
1253 | 1619 | /** Hungarian (Magyar) |
— | — | @@ -1329,6 +1695,7 @@ |
1330 | 1696 | * @author McDutchie |
1331 | 1697 | */ |
1332 | 1698 | $messages['ia'] = array( |
| 1699 | + 'indexpages' => 'Lista de paginas indice', |
1333 | 1700 | 'proofreadpage_desc' => 'Facilita le comparation inter un texto e su scan original', |
1334 | 1701 | 'proofreadpage_namespace' => 'Pagina', |
1335 | 1702 | 'proofreadpage_index_namespace' => 'Indice', |
— | — | @@ -1336,20 +1703,34 @@ |
1337 | 1704 | 'proofreadpage_index' => 'Indice', |
1338 | 1705 | 'proofreadpage_index_expected' => 'Error: indice expectate', |
1339 | 1706 | 'proofreadpage_nosuch_index' => 'Error: non existe tal indice', |
| 1707 | + 'proofreadpage_nosuch_file' => 'Error: non existe tal file', |
| 1708 | + 'proofreadpage_badpage' => 'Formato incorrecte', |
| 1709 | + 'proofreadpage_badpagetext' => 'Le formato del pagina que tu tentava immagazinar es incorrecte.', |
| 1710 | + 'proofreadpage_indexdupe' => 'Ligamine duplicate', |
| 1711 | + 'proofreadpage_indexdupetext' => 'Paginas non pote figurar plus de un vice in un pagina de indice.', |
| 1712 | + 'proofreadpage_nologin' => 'Non identificate', |
| 1713 | + 'proofreadpage_nologintext' => 'Tu debe [[Special:UserLogin|aperir un session]] pro modificar le stato de correction de paginas.', |
| 1714 | + 'proofreadpage_notallowed' => 'Cambio non permittite', |
| 1715 | + 'proofreadpage_notallowedtext' => 'Tu non ha le permission de cambiar le stato de correction de iste pagina.', |
1340 | 1716 | 'proofreadpage_number_expected' => 'Error: valor numeric expectate', |
1341 | 1717 | 'proofreadpage_interval_too_large' => 'Error: intervallo troppo grande', |
1342 | 1718 | 'proofreadpage_invalid_interval' => 'Error: intervallo invalide', |
1343 | 1719 | 'proofreadpage_nextpage' => 'Pagina sequente', |
1344 | 1720 | 'proofreadpage_prevpage' => 'Pagina precedente', |
1345 | 1721 | 'proofreadpage_header' => 'Capite (noinclude):', |
1346 | | - 'proofreadpage_body' => 'Corpore del pagina (a esser transcludite):', |
| 1722 | + 'proofreadpage_body' => 'Corpore del pagina (pro esser transcludite):', |
1347 | 1723 | 'proofreadpage_footer' => 'Pede (noinclude):', |
1348 | | - 'proofreadpage_toggleheaders' => 'activar/disactivar le visibilitate del sectiones noinclude', |
| 1724 | + 'proofreadpage_toggleheaders' => 'cambiar le visibilitate del sectiones noinclude', |
1349 | 1725 | 'proofreadpage_quality0_category' => 'Sin texto', |
1350 | 1726 | 'proofreadpage_quality1_category' => 'Non corrigite', |
1351 | 1727 | 'proofreadpage_quality2_category' => 'Problematic', |
1352 | 1728 | 'proofreadpage_quality3_category' => 'Corrigite', |
1353 | 1729 | 'proofreadpage_quality4_category' => 'Validate', |
| 1730 | + 'proofreadpage_quality0_message' => 'Iste pagina non ha besonio de esser corrigite', |
| 1731 | + 'proofreadpage_quality1_message' => 'Iste pagina non ha essite corrigite', |
| 1732 | + 'proofreadpage_quality2_message' => 'Il habeva un problema durante le correction de iste pagina', |
| 1733 | + 'proofreadpage_quality3_message' => 'Iste pagina ha essite corrigite', |
| 1734 | + 'proofreadpage_quality4_message' => 'Iste pagina ha essite validate', |
1354 | 1735 | 'proofreadpage_index_listofpages' => 'Lista de paginas', |
1355 | 1736 | 'proofreadpage_image_message' => 'Ligamine verso le pagina de indice', |
1356 | 1737 | 'proofreadpage_page_status' => 'Stato del pagina', |
— | — | @@ -1362,27 +1743,50 @@ |
1363 | 1744 | Imagine|Imagine de copertura |
1364 | 1745 | Paginas||20 |
1365 | 1746 | Notas||10', |
| 1747 | + 'proofreadpage_pages' => '{{PLURAL:$1|pagina|paginas}}', |
1366 | 1748 | ); |
1367 | 1749 | |
1368 | 1750 | /** Indonesian (Bahasa Indonesia) |
| 1751 | + * @author Irwangatot |
1369 | 1752 | * @author IvanLanin |
1370 | 1753 | */ |
1371 | 1754 | $messages['id'] = array( |
| 1755 | + 'indexpages' => 'Daftar dari halaman indek', |
1372 | 1756 | 'proofreadpage_desc' => 'Memungkinkan perbandingan mudah teks dengan hasil pemindaian orisinal', |
1373 | 1757 | 'proofreadpage_namespace' => 'Halaman', |
1374 | 1758 | 'proofreadpage_index_namespace' => 'Indeks', |
1375 | 1759 | 'proofreadpage_image' => 'gambar', |
1376 | 1760 | 'proofreadpage_index' => 'Indeks', |
| 1761 | + 'proofreadpage_index_expected' => 'Kesalahan : diperlukan indeks', |
| 1762 | + 'proofreadpage_nosuch_index' => 'Kesalahan: tidak ada indeks', |
| 1763 | + 'proofreadpage_nosuch_file' => 'Kesalahan: tidak ada file', |
| 1764 | + 'proofreadpage_badpage' => 'Kesalahan Format', |
| 1765 | + 'proofreadpage_badpagetext' => 'Format halaman yang akan anda simpan, salah.', |
| 1766 | + 'proofreadpage_indexdupe' => 'Gandakan pranala', |
| 1767 | + 'proofreadpage_indexdupetext' => 'Halaman tidak dapat di daftarkan lebih dari sekali di halaman indek.', |
| 1768 | + 'proofreadpage_nologin' => 'Belum masuk log', |
| 1769 | + 'proofreadpage_nologintext' => 'Anda harus [[Special:UserLogin|masuk log]] untuk mengubah status koreksi halaman.', |
| 1770 | + 'proofreadpage_notallowed' => 'Perubahan tidak diperbolehkan', |
| 1771 | + 'proofreadpage_notallowedtext' => 'Anda tidak diperbolehkan untuk mengubah status koreksi di halaman ini.', |
| 1772 | + 'proofreadpage_number_expected' => 'Kesalahan: nilai angka diharapkan', |
| 1773 | + 'proofreadpage_interval_too_large' => 'Kesalahan:Interval terlalu besar', |
| 1774 | + 'proofreadpage_invalid_interval' => 'Kesalahan: Interval tidak sah', |
1377 | 1775 | 'proofreadpage_nextpage' => 'Halaman selanjutnya', |
1378 | 1776 | 'proofreadpage_prevpage' => 'Halaman sebelumnya', |
1379 | 1777 | 'proofreadpage_header' => 'Kepala (noinclude):', |
1380 | 1778 | 'proofreadpage_body' => 'Badan halaman (untuk ditransklusikan):', |
1381 | 1779 | 'proofreadpage_footer' => 'Kaki (noinclude):', |
1382 | 1780 | 'proofreadpage_toggleheaders' => 'ganti keterlihatan bagian noinclude', |
| 1781 | + 'proofreadpage_quality0_category' => 'Tanpa teks', |
1383 | 1782 | 'proofreadpage_quality1_category' => 'Belum diuji-baca', |
1384 | 1783 | 'proofreadpage_quality2_category' => 'Bermasalah', |
1385 | 1784 | 'proofreadpage_quality3_category' => 'Diuji-baca', |
1386 | 1785 | 'proofreadpage_quality4_category' => 'Divalidasi', |
| 1786 | + 'proofreadpage_quality0_message' => 'Halaman ini tidak perlu dikoreksi', |
| 1787 | + 'proofreadpage_quality1_message' => 'Halaman ini belum dikoreksi', |
| 1788 | + 'proofreadpage_quality2_message' => 'Ada masalah ketika mengoreksi halaman ini', |
| 1789 | + 'proofreadpage_quality3_message' => 'Halaman ini telah dikoreksi', |
| 1790 | + 'proofreadpage_quality4_message' => 'Halaman ini telah divalidasi', |
1387 | 1791 | 'proofreadpage_index_listofpages' => 'Daftar halaman', |
1388 | 1792 | 'proofreadpage_image_message' => 'Pranala ke halaman indeks', |
1389 | 1793 | 'proofreadpage_page_status' => 'Status halaman', |
— | — | @@ -1395,6 +1799,7 @@ |
1396 | 1800 | Gambar|Gambar sampul |
1397 | 1801 | Halaman||20 |
1398 | 1802 | Catatan||10', |
| 1803 | + 'proofreadpage_pages' => '{{PLURAL:$1|halaman|halaman}}', |
1399 | 1804 | ); |
1400 | 1805 | |
1401 | 1806 | /** Ido (Ido) |
— | — | @@ -1424,9 +1829,11 @@ |
1425 | 1830 | |
1426 | 1831 | /** Italian (Italiano) |
1427 | 1832 | * @author BrokenArrow |
| 1833 | + * @author Darth Kule |
1428 | 1834 | * @author Stefano-c |
1429 | 1835 | */ |
1430 | 1836 | $messages['it'] = array( |
| 1837 | + 'indexpages' => 'Elenco delle pagine di indice', |
1431 | 1838 | 'proofreadpage_desc' => 'Consente un facile confronto tra un testo e la sua scansione originale', |
1432 | 1839 | 'proofreadpage_namespace' => 'Pagina', |
1433 | 1840 | 'proofreadpage_index_namespace' => 'Indice', |
— | — | @@ -1434,8 +1841,18 @@ |
1435 | 1842 | 'proofreadpage_index' => 'Indice', |
1436 | 1843 | 'proofreadpage_index_expected' => 'Errore: previsto indice', |
1437 | 1844 | 'proofreadpage_nosuch_index' => 'Errore: indice non presente', |
| 1845 | + 'proofreadpage_nosuch_file' => 'Errore: file non presente', |
| 1846 | + 'proofreadpage_badpage' => 'Formato errato', |
| 1847 | + 'proofreadpage_badpagetext' => 'Il formato della pagina che si è tentato di salvare non è corretto.', |
| 1848 | + 'proofreadpage_indexdupe' => 'Collegamento duplicato', |
| 1849 | + 'proofreadpage_indexdupetext' => 'Le pagine non possono essere elencate più di una volta su una pagina di indice.', |
| 1850 | + 'proofreadpage_nologin' => 'Accesso non effettuato', |
| 1851 | + 'proofreadpage_nologintext' => "Per modificare lo stato di correttezza delle pagine è necessario [[Special:UserLogin|effettuare l'accesso]].", |
| 1852 | + 'proofreadpage_notallowed' => 'Modifica non consentita', |
| 1853 | + 'proofreadpage_notallowedtext' => 'Non si è autorizzati a modificare lo stato di correttezza di questa pagina.', |
1438 | 1854 | 'proofreadpage_number_expected' => 'Errore: previsto valore numerico', |
1439 | 1855 | 'proofreadpage_interval_too_large' => 'Errore: intervallo troppo ampio', |
| 1856 | + 'proofreadpage_invalid_interval' => 'Errore: intervallo non valido', |
1440 | 1857 | 'proofreadpage_nextpage' => 'Pagina successiva', |
1441 | 1858 | 'proofreadpage_prevpage' => 'Pagina precedente', |
1442 | 1859 | 'proofreadpage_header' => 'Intestazione (non inclusa):', |
— | — | @@ -1447,6 +1864,7 @@ |
1448 | 1865 | 'proofreadpage_quality2_category' => 'Da rivedere', |
1449 | 1866 | 'proofreadpage_quality3_category' => 'Corretta', |
1450 | 1867 | 'proofreadpage_quality4_category' => 'Verificata', |
| 1868 | + 'proofreadpage_quality4_message' => 'Questa pagina è stata convalidata', |
1451 | 1869 | 'proofreadpage_index_listofpages' => 'Lista delle pagine', |
1452 | 1870 | 'proofreadpage_image_message' => 'Collegamento alla pagina indice', |
1453 | 1871 | 'proofreadpage_page_status' => 'Status della pagina', |
— | — | @@ -1459,13 +1877,16 @@ |
1460 | 1878 | Immagine|Immagine di copertina |
1461 | 1879 | Pagine||20 |
1462 | 1880 | Note||10', |
| 1881 | + 'proofreadpage_pages' => '{{PLURAL:$1|pagina|pagine}}', |
1463 | 1882 | ); |
1464 | 1883 | |
1465 | 1884 | /** Japanese (日本語) |
1466 | 1885 | * @author Fryed-peach |
1467 | 1886 | * @author JtFuruhata |
| 1887 | + * @author 青子守歌 |
1468 | 1888 | */ |
1469 | 1889 | $messages['ja'] = array( |
| 1890 | + 'indexpages' => '文献概要ページの一覧', |
1470 | 1891 | 'proofreadpage_desc' => 'オリジナルのスキャン画像とテキストとの比較を容易にする', |
1471 | 1892 | 'proofreadpage_namespace' => 'ページ', |
1472 | 1893 | 'proofreadpage_index_namespace' => '文献概要', |
— | — | @@ -1474,20 +1895,33 @@ |
1475 | 1896 | 'proofreadpage_index_expected' => 'エラー: 文献概要があるべきです', |
1476 | 1897 | 'proofreadpage_nosuch_index' => 'エラー: そのような文献概要はありません', |
1477 | 1898 | 'proofreadpage_nosuch_file' => 'エラー: そのようなファイルはありません', |
| 1899 | + 'proofreadpage_badpage' => '不正な形式', |
| 1900 | + 'proofreadpage_badpagetext' => '保存しようとしたページの形式が正しくありません。', |
| 1901 | + 'proofreadpage_indexdupe' => '重複したリンク', |
| 1902 | + 'proofreadpage_indexdupetext' => '文献概要ページ上にページを複数回載せることはできません。', |
| 1903 | + 'proofreadpage_nologin' => 'ログインしていない', |
| 1904 | + 'proofreadpage_nologintext' => 'ページの校正状況を修正するためには[[Special:UserLogin|ログイン]]しなければなりません。', |
| 1905 | + 'proofreadpage_notallowed' => '変更が許可されていません', |
| 1906 | + 'proofreadpage_notallowedtext' => 'あなたにはこのページの校正状況を変更することが許可されていません。', |
1478 | 1907 | 'proofreadpage_number_expected' => 'エラー: 数値がくるべきです', |
1479 | 1908 | 'proofreadpage_interval_too_large' => 'エラー: 間隔が大きすぎます', |
1480 | 1909 | 'proofreadpage_invalid_interval' => 'エラー: 間隔が無効です', |
1481 | 1910 | 'proofreadpage_nextpage' => '次のページ', |
1482 | 1911 | 'proofreadpage_prevpage' => '前のページ', |
1483 | | - 'proofreadpage_header' => 'ヘッダ(埋め込み対象外):', |
1484 | | - 'proofreadpage_body' => 'ページ本体(埋め込み参照の対象):', |
1485 | | - 'proofreadpage_footer' => 'フッタ(埋め込み対象外):', |
| 1912 | + 'proofreadpage_header' => 'ヘッダ(埋め込み対象外):', |
| 1913 | + 'proofreadpage_body' => 'ページ本体(埋め込み参照の対象):', |
| 1914 | + 'proofreadpage_footer' => 'フッタ(埋め込み対象外):', |
1486 | 1915 | 'proofreadpage_toggleheaders' => '埋め込み対象外項目の表示切替', |
1487 | 1916 | 'proofreadpage_quality0_category' => '文章なし', |
1488 | 1917 | 'proofreadpage_quality1_category' => '未校正', |
1489 | 1918 | 'proofreadpage_quality2_category' => '問題あり', |
1490 | 1919 | 'proofreadpage_quality3_category' => '校正済', |
1491 | 1920 | 'proofreadpage_quality4_category' => '検証済', |
| 1921 | + 'proofreadpage_quality0_message' => 'このページは校正する必要がありません', |
| 1922 | + 'proofreadpage_quality1_message' => 'このページはまだ校正されていません', |
| 1923 | + 'proofreadpage_quality2_message' => 'このページを校正するときに問題が発生しました', |
| 1924 | + 'proofreadpage_quality3_message' => 'このページは校正済みです', |
| 1925 | + 'proofreadpage_quality4_message' => 'このページは検証済みです', |
1492 | 1926 | 'proofreadpage_index_listofpages' => 'ページの一覧', |
1493 | 1927 | 'proofreadpage_image_message' => '文献概要ページへ', |
1494 | 1928 | 'proofreadpage_page_status' => '校正状況', |
— | — | @@ -1500,6 +1934,7 @@ |
1501 | 1935 | 画像|表紙画像 |
1502 | 1936 | ページ||20 |
1503 | 1937 | 注釈||10', |
| 1938 | + 'proofreadpage_pages' => 'ページ', |
1504 | 1939 | ); |
1505 | 1940 | |
1506 | 1941 | /** Jutish (Jysk) |
— | — | @@ -1598,16 +2033,20 @@ |
1599 | 2034 | * @author Lovekhmer |
1600 | 2035 | * @author Thearith |
1601 | 2036 | * @author គីមស៊្រុន |
| 2037 | + * @author វ័ណថារិទ្ធ |
1602 | 2038 | */ |
1603 | 2039 | $messages['km'] = array( |
1604 | 2040 | 'proofreadpage_namespace' => 'ទំព័រ', |
1605 | 2041 | 'proofreadpage_index_namespace' => 'លិបិក្រម', |
1606 | 2042 | 'proofreadpage_image' => 'រូបភាព', |
1607 | 2043 | 'proofreadpage_index' => 'លិបិក្រម', |
| 2044 | + 'proofreadpage_badpage' => 'ទម្រង់/ប្រភេទ មិនត្រឹមត្រូវ', |
| 2045 | + 'proofreadpage_indexdupe' => 'ចម្លងស្ទួន តំណភ្ជាប់', |
1608 | 2046 | 'proofreadpage_nextpage' => 'ទំព័របន្ទាប់', |
1609 | 2047 | 'proofreadpage_prevpage' => 'ទំព័រមុន', |
1610 | 2048 | 'proofreadpage_header' => 'បឋមកថា(មិនរួមបញ្ចូល)៖', |
1611 | 2049 | 'proofreadpage_footer' => 'បាតកថា(មិនរួមបញ្ចូល)៖', |
| 2050 | + 'proofreadpage_quality0_category' => 'ដោយមិនមានអក្សរ', |
1612 | 2051 | 'proofreadpage_quality1_category' => 'មិនមើលកែ', |
1613 | 2052 | 'proofreadpage_quality2_category' => 'មានបញ្ហា', |
1614 | 2053 | 'proofreadpage_quality3_category' => 'មើលកែ', |
— | — | @@ -1628,38 +2067,47 @@ |
1629 | 2068 | |
1630 | 2069 | /** Korean (한국어) |
1631 | 2070 | * @author Ilovesabbath |
| 2071 | + * @author Klutzy |
1632 | 2072 | * @author Kwj2772 |
| 2073 | + * @author Pakman |
| 2074 | + * @author ToePeu |
1633 | 2075 | * @author Yknok29 |
1634 | 2076 | */ |
1635 | 2077 | $messages['ko'] = array( |
1636 | 2078 | 'proofreadpage_desc' => '최초 스캔과 텍스트를 쉽게 비교할 수 있게 함', |
1637 | | - 'proofreadpage_namespace' => '쪽', |
1638 | | - 'proofreadpage_index_namespace' => '목록', |
| 2079 | + 'proofreadpage_namespace' => '문서', |
| 2080 | + 'proofreadpage_index_namespace' => '목차', |
1639 | 2081 | 'proofreadpage_image' => '그림', |
1640 | | - 'proofreadpage_index' => '목록', |
| 2082 | + 'proofreadpage_index' => '목차', |
| 2083 | + 'proofreadpage_badpage' => '잘못된 형식', |
| 2084 | + 'proofreadpage_nologin' => ' 로그인된 상태가 아닙니다.', |
| 2085 | + 'proofreadpage_nologintext' => '주시문서를 보려면 [[특별:로그인|로그인]]해야 합니다. 70‰', |
| 2086 | + 'proofreadpage_notallowed' => '이 문서는 변경이 불가능합니다. 60‰', |
| 2087 | + 'proofreadpage_notallowedtext' => '주시문서 변경이 불가능합니다. 60‰', |
1641 | 2088 | 'proofreadpage_nextpage' => '다음 페이지', |
1642 | 2089 | 'proofreadpage_prevpage' => '이전 페이지', |
1643 | 2090 | 'proofreadpage_header' => '머리말 (표시안함):', |
1644 | 2091 | 'proofreadpage_body' => '본문 (트랜스클루전):', |
1645 | 2092 | 'proofreadpage_footer' => '꼬리말 (표시안함):', |
1646 | 2093 | 'proofreadpage_toggleheaders' => '표시안함 부분의 표시 여부 선택', |
1647 | | - 'proofreadpage_quality0_category' => '텍스트 없음', |
| 2094 | + 'proofreadpage_quality0_category' => '비었음', |
1648 | 2095 | 'proofreadpage_quality1_category' => '교정 안됨', |
1649 | 2096 | 'proofreadpage_quality2_category' => '문제 있음', |
1650 | 2097 | 'proofreadpage_quality3_category' => '교정', |
1651 | 2098 | 'proofreadpage_quality4_category' => '확인됨', |
| 2099 | + 'proofreadpage_quality0_message' => '이 페이지는 교정이 필요없습니다. 50.00‰', |
1652 | 2100 | 'proofreadpage_index_listofpages' => '문서 목록', |
1653 | | - 'proofreadpage_image_message' => '목록 페이지로 연결됩니다.', |
| 2101 | + 'proofreadpage_image_message' => '목차 페이지로', |
1654 | 2102 | 'proofreadpage_page_status' => '문서 상태', |
1655 | | - 'proofreadpage_js_attributes' => '작가 제목 연도 출판사', |
| 2103 | + 'proofreadpage_js_attributes' => '저자 제목 출판년도 출판사', |
1656 | 2104 | 'proofreadpage_index_attributes' => '저자 |
1657 | 2105 | 제목 |
1658 | | -연도|출판연도 |
| 2106 | +연도|출판년도 |
1659 | 2107 | 출판사 |
1660 | 2108 | 출처 |
1661 | | -그림|책 표지 |
| 2109 | +그림|표지 그림 |
1662 | 2110 | 쪽수||20 |
1663 | | -비평||10', |
| 2111 | +주석||10', |
1664 | 2112 | ); |
1665 | 2113 | |
1666 | 2114 | /** Kinaray-a (Kinaray-a) |
— | — | @@ -1673,6 +2121,7 @@ |
1674 | 2122 | * @author Purodha |
1675 | 2123 | */ |
1676 | 2124 | $messages['ksh'] = array( |
| 2125 | + 'indexpages' => 'Leß met de Indäx_Sigge', |
1677 | 2126 | 'proofreadpage_desc' => 'Määt et müjjelesch, bequem der Täx mem enjeskännte Ojinaal ze verjliische.', |
1678 | 2127 | 'proofreadpage_namespace' => 'Sigg', |
1679 | 2128 | 'proofreadpage_index_namespace' => 'Enhallt', |
— | — | @@ -1681,6 +2130,14 @@ |
1682 | 2131 | 'proofreadpage_index_expected' => 'Fähler: Ene Indäx weet jebruch', |
1683 | 2132 | 'proofreadpage_nosuch_index' => 'Fähler: Esu ene Indäx jidd_et nit', |
1684 | 2133 | 'proofreadpage_nosuch_file' => 'Fähler: esu en Dattei ham_mer nit', |
| 2134 | + 'proofreadpage_badpage' => 'Verhiehrt Fommaat', |
| 2135 | + 'proofreadpage_badpagetext' => 'Dat Fommaat vun dä Sigg, di De jrahdt afzeshpeischere versöhk häß, eß verkiehert.', |
| 2136 | + 'proofreadpage_indexdupe' => 'Dubbelte Lengk', |
| 2137 | + 'proofreadpage_indexdupetext' => 'Sigge künne nit mieh wi eijmohl en en Indäx_Sigg opdouche.', |
| 2138 | + 'proofreadpage_nologin' => 'Nit enjelogk', |
| 2139 | + 'proofreadpage_nologintext' => 'Do möötß ald [[Special:UserLogin|enjelogg]] sin, öm dä {{int:proofreadpage_page_status}} hee ze ändere.', |
| 2140 | + 'proofreadpage_notallowed' => 'Dat Ändere es nit zohjelohße', |
| 2141 | + 'proofreadpage_notallowedtext' => 'Do häs nit et Rääsch, heh dä {{int:proofreadpage_page_status}} ze ändere.', |
1685 | 2142 | 'proofreadpage_number_expected' => 'Fähler: En Zahl weet jebruch', |
1686 | 2143 | 'proofreadpage_interval_too_large' => 'Fähler: Dä Affschtand es zoh jruuß', |
1687 | 2144 | 'proofreadpage_invalid_interval' => 'Fähler: Dä Afshtand es nit jöltesch', |
— | — | @@ -1695,6 +2152,11 @@ |
1696 | 2153 | 'proofreadpage_quality2_category' => 'Problemscher', |
1697 | 2154 | 'proofreadpage_quality3_category' => 'Nohjelässe', |
1698 | 2155 | 'proofreadpage_quality4_category' => 'Fäädesch jepröhf', |
| 2156 | + 'proofreadpage_quality0_message' => 'Heh di Sigg moß nit jeääjejelässe wääde', |
| 2157 | + 'proofreadpage_quality1_message' => 'Heh di Sigg woodt nit jeääjejelässe', |
| 2158 | + 'proofreadpage_quality2_message' => 'Beim Jeääjelässe för heh di Sigg eß jät opjevalle', |
| 2159 | + 'proofreadpage_quality3_message' => 'Heh di Sigg woodt jeääjejelässe', |
| 2160 | + 'proofreadpage_quality4_message' => 'Heh di Sigg es jeääjejelässe un joot', |
1699 | 2161 | 'proofreadpage_index_listofpages' => 'SiggeLeß', |
1700 | 2162 | 'proofreadpage_image_message' => 'Lengk op en Index-Sigg', |
1701 | 2163 | 'proofreadpage_page_status' => 'Siggestattus', |
— | — | @@ -1707,6 +2169,7 @@ |
1708 | 2170 | Beld|Beld om Ömschlach |
1709 | 2171 | Sigge||20 |
1710 | 2172 | Aanmerkunge||10', |
| 2173 | + 'proofreadpage_pages' => '{{PLURAL:$1|Ei Sigg|$2 Sigge|Kei Sigg}}', |
1711 | 2174 | ); |
1712 | 2175 | |
1713 | 2176 | /** Cornish (Kernewek) |
— | — | @@ -1727,6 +2190,7 @@ |
1728 | 2191 | * @author Robby |
1729 | 2192 | */ |
1730 | 2193 | $messages['lb'] = array( |
| 2194 | + 'indexpages' => 'Lëscht vun Index-Säiten', |
1731 | 2195 | 'proofreadpage_desc' => 'Erlaabt et op eng einfach Manéier den Text mat der Originalscan ze vergLäichen', |
1732 | 2196 | 'proofreadpage_namespace' => 'Säit', |
1733 | 2197 | 'proofreadpage_index_namespace' => 'Index', |
— | — | @@ -1734,8 +2198,18 @@ |
1735 | 2199 | 'proofreadpage_index' => 'Index', |
1736 | 2200 | 'proofreadpage_index_expected' => 'Feeler: Index erwaart', |
1737 | 2201 | 'proofreadpage_nosuch_index' => 'Feeler: et gëtt keen esou een Index', |
| 2202 | + 'proofreadpage_nosuch_file' => 'Feeler: de Fichier gëtt et net', |
| 2203 | + 'proofreadpage_badpage' => 'Falsche Format', |
| 2204 | + 'proofreadpage_badpagetext' => "De Format vun der Säit déi Dir versicht hutt z'änneren ass net korrekt.", |
| 2205 | + 'proofreadpage_indexdupe' => 'Duebele Link', |
| 2206 | + 'proofreadpage_indexdupetext' => 'Säite kënnen net méi wéi eemol op eng Index-Säit gesat ginn.', |
| 2207 | + 'proofreadpage_nologin' => 'Net ageloggt', |
| 2208 | + 'proofreadpage_nologintext' => "Dir musst [[Special:UserLogin|ageloggt]] si fir de Status vum Iwwerliese vu Säiten z'änneren.", |
| 2209 | + 'proofreadpage_notallowed' => 'Ännerung net erlaabt', |
| 2210 | + 'proofreadpage_notallowedtext' => "Dir sidd net berechtigt de Status vum Iwwerliese vun dëser Säit z'änneren.", |
1738 | 2211 | 'proofreadpage_number_expected' => 'Feeler: et gof en numerische Wert erwaart', |
1739 | 2212 | 'proofreadpage_interval_too_large' => 'Feeler: Intervall ze ze grouss', |
| 2213 | + 'proofreadpage_invalid_interval' => 'Feeler: net valabelen Intervall', |
1740 | 2214 | 'proofreadpage_nextpage' => 'Nächst Säit', |
1741 | 2215 | 'proofreadpage_prevpage' => 'Säit virdrun', |
1742 | 2216 | 'proofreadpage_header' => 'Entête (noinclude):', |
— | — | @@ -1747,6 +2221,11 @@ |
1748 | 2222 | 'proofreadpage_quality2_category' => 'Problematesch', |
1749 | 2223 | 'proofreadpage_quality3_category' => 'Verbessert', |
1750 | 2224 | 'proofreadpage_quality4_category' => 'Validéiert', |
| 2225 | + 'proofreadpage_quality0_message' => 'Dës Säit brauch net iwwerliest ze ginn', |
| 2226 | + 'proofreadpage_quality1_message' => 'Dës Säit gouf net iwwerliest', |
| 2227 | + 'proofreadpage_quality2_message' => 'Et gouf e Problem beim iwwereliese vun dëser Säit', |
| 2228 | + 'proofreadpage_quality3_message' => 'Dës Säit gouf iwwerliest', |
| 2229 | + 'proofreadpage_quality4_message' => 'Dës Säit gouf validéiert', |
1751 | 2230 | 'proofreadpage_index_listofpages' => 'Säitelëscht', |
1752 | 2231 | 'proofreadpage_image_message' => "Link op d'Indexsäit", |
1753 | 2232 | 'proofreadpage_page_status' => 'Status vun der Säit', |
— | — | @@ -1759,6 +2238,7 @@ |
1760 | 2239 | Bild|Titelbild |
1761 | 2240 | Säiten||20 |
1762 | 2241 | Bemierkungen||10', |
| 2242 | + 'proofreadpage_pages' => '{{PLURAL:$1|Säit|Säiten}}', |
1763 | 2243 | ); |
1764 | 2244 | |
1765 | 2245 | /** Lingua Franca Nova (Lingua Franca Nova) |
— | — | @@ -1806,11 +2286,46 @@ |
1807 | 2287 | * @author Matasg |
1808 | 2288 | */ |
1809 | 2289 | $messages['lt'] = array( |
| 2290 | + 'indexpages' => 'Indeksuotų puslapių sąrašas', |
| 2291 | + 'proofreadpage_desc' => 'Galima lengvai palyginti tekstą su originaliu', |
1810 | 2292 | 'proofreadpage_namespace' => 'Puslapis', |
| 2293 | + 'proofreadpage_index_namespace' => 'Indeksas', |
1811 | 2294 | 'proofreadpage_image' => 'paveikslėlis', |
| 2295 | + 'proofreadpage_index' => 'Indeksas', |
| 2296 | + 'proofreadpage_index_expected' => 'Klaida: indeksas laukiamas', |
| 2297 | + 'proofreadpage_nosuch_index' => 'Klaida: nėra tokio indekso', |
| 2298 | + 'proofreadpage_nosuch_file' => 'Klaida: nėra tokio failo', |
| 2299 | + 'proofreadpage_badpage' => 'Neteisingas formatas', |
| 2300 | + 'proofreadpage_badpagetext' => 'Puslapio, kurį bandėte išsaugoti, formatas yra neteisingas.', |
| 2301 | + 'proofreadpage_indexdupe' => 'Dublikuoti nuorodą', |
| 2302 | + 'proofreadpage_indexdupetext' => 'Puslapiai negali būti pateikiami daugiau kaip kartą pagrindiniame puslapyje.', |
| 2303 | + 'proofreadpage_nologin' => 'Neprisijungta', |
| 2304 | + 'proofreadpage_nologintext' => 'Jūs turite būti [[Special:UserLogin|prisijungęs]], norėdamas keisti puslapių statusą.', |
| 2305 | + 'proofreadpage_notallowed' => 'Keisti neleidžiama', |
| 2306 | + 'proofreadpage_notallowedtext' => 'Jums neleidžiama pakeisti šio puslapio statuso.', |
| 2307 | + 'proofreadpage_number_expected' => 'Klaida: tikėtasi skaitinės vertės', |
| 2308 | + 'proofreadpage_interval_too_large' => 'Klaida: intervalas per didelis', |
| 2309 | + 'proofreadpage_invalid_interval' => 'Klaida: neteisingas intervalas', |
1812 | 2310 | 'proofreadpage_nextpage' => 'Kitas puslapis', |
1813 | 2311 | 'proofreadpage_prevpage' => 'Ankstesnis puslapis', |
| 2312 | + 'proofreadpage_header' => 'Antraštė (neįskaitoma):', |
| 2313 | + 'proofreadpage_body' => 'Puslapio pagrindas (perkeliamas):', |
| 2314 | + 'proofreadpage_footer' => 'Poraštė (neįskaitoma):', |
| 2315 | + 'proofreadpage_toggleheaders' => 'įjungti neįskaitytų sekcijų matomumą', |
| 2316 | + 'proofreadpage_quality0_category' => 'Be teksto', |
| 2317 | + 'proofreadpage_quality1_category' => 'Neperžiūrėtas', |
| 2318 | + 'proofreadpage_quality2_category' => 'Problemiškas', |
| 2319 | + 'proofreadpage_quality3_category' => 'Peržiūrėtas', |
| 2320 | + 'proofreadpage_quality4_category' => 'Patvirtintas', |
| 2321 | + 'proofreadpage_quality0_message' => 'Šis puslapis neturi būti peržiūrėtas', |
| 2322 | + 'proofreadpage_quality1_message' => 'Šis puslapis nebuvo peržiūrėtas', |
| 2323 | + 'proofreadpage_quality2_message' => 'Iškilo problema kai buvo peržiūrimas šis puslapis', |
| 2324 | + 'proofreadpage_quality3_message' => 'Šis puslapis buvo peržiūrėtas', |
| 2325 | + 'proofreadpage_quality4_message' => 'Šis puslapis buvo patvirtintas', |
| 2326 | + 'proofreadpage_index_listofpages' => 'Puslapių sąrašas', |
| 2327 | + 'proofreadpage_image_message' => 'Nuoroda į pagrindinį puslapį', |
1814 | 2328 | 'proofreadpage_page_status' => 'Puslapio statusas', |
| 2329 | + 'proofreadpage_js_attributes' => 'Autorius Pavadinimas Metai Publikuotojas', |
1815 | 2330 | 'proofreadpage_index_attributes' => 'Autorius |
1816 | 2331 | Pavadinimas |
1817 | 2332 | Metai|Išleidimo metai |
— | — | @@ -1846,20 +2361,59 @@ |
1847 | 2362 | ); |
1848 | 2363 | |
1849 | 2364 | /** Macedonian (Македонски) |
| 2365 | + * @author Bjankuloski06 |
1850 | 2366 | * @author Brest |
1851 | 2367 | */ |
1852 | 2368 | $messages['mk'] = array( |
| 2369 | + 'indexpages' => 'Листа на индексни страници', |
| 2370 | + 'proofreadpage_desc' => 'Овозможува едноставна споредба на текстот со скенираниот оригинал', |
1853 | 2371 | 'proofreadpage_namespace' => 'Страница', |
1854 | 2372 | 'proofreadpage_index_namespace' => 'Индекс', |
1855 | 2373 | 'proofreadpage_image' => 'слика', |
1856 | 2374 | 'proofreadpage_index' => 'Индекс', |
| 2375 | + 'proofreadpage_index_expected' => 'Грешка: се очекува индекс', |
| 2376 | + 'proofreadpage_nosuch_index' => 'Грешка: нема таков индекс', |
| 2377 | + 'proofreadpage_nosuch_file' => 'Грешка: нема таква податотека', |
| 2378 | + 'proofreadpage_badpage' => 'Погрешен формат', |
| 2379 | + 'proofreadpage_badpagetext' => 'Форматот на страницата што сакате да ја зачувате е погрешен.', |
| 2380 | + 'proofreadpage_indexdupe' => 'Дупликат врска', |
| 2381 | + 'proofreadpage_indexdupetext' => 'Страниците не можат да се наведуваат на индексот повеќе од еднаш по страница', |
| 2382 | + 'proofreadpage_nologin' => 'Не сте најавени', |
| 2383 | + 'proofreadpage_nologintext' => 'Морате да бидете [[Special:UserLogin|најавени]] за да можете да го менувате статусот на коректурата на страници.', |
| 2384 | + 'proofreadpage_notallowed' => 'Менувањето не е дозволено', |
| 2385 | + 'proofreadpage_notallowedtext' => 'Не ви е дозволено да го менувате статусот на коректурата на оваа страница.', |
| 2386 | + 'proofreadpage_number_expected' => 'Грешка: се очекува бројчена вредност', |
| 2387 | + 'proofreadpage_interval_too_large' => 'Грешка: растојанието е преголемо', |
| 2388 | + 'proofreadpage_invalid_interval' => 'Грешка: погрешно растојание', |
1857 | 2389 | 'proofreadpage_nextpage' => 'Следна страница', |
1858 | 2390 | 'proofreadpage_prevpage' => 'Претходна страница', |
1859 | 2391 | 'proofreadpage_header' => 'Заглавие (без вклучување):', |
1860 | 2392 | 'proofreadpage_body' => 'Содржина на страница (се трансклудира):', |
| 2393 | + 'proofreadpage_footer' => 'Долна колон цифра (noinclude):', |
| 2394 | + 'proofreadpage_toggleheaders' => 'превклучи ја видливоста на noinclude пасусите', |
| 2395 | + 'proofreadpage_quality0_category' => 'Без текст', |
| 2396 | + 'proofreadpage_quality1_category' => 'Непрегледана', |
| 2397 | + 'proofreadpage_quality2_category' => 'Проблематично', |
| 2398 | + 'proofreadpage_quality3_category' => 'Прегледано', |
| 2399 | + 'proofreadpage_quality4_category' => 'Потврдено', |
| 2400 | + 'proofreadpage_quality0_message' => 'Оваа страница нема потреба од преглед', |
| 2401 | + 'proofreadpage_quality1_message' => 'Оваа страница е непрегледана', |
| 2402 | + 'proofreadpage_quality2_message' => 'Се јави проблем при прегледувањето на оваа страница', |
| 2403 | + 'proofreadpage_quality3_message' => 'Оваа страница е прегледана', |
| 2404 | + 'proofreadpage_quality4_message' => 'Оваа страница е потврдена', |
1861 | 2405 | 'proofreadpage_index_listofpages' => 'Листа на страници', |
1862 | 2406 | 'proofreadpage_image_message' => 'Врска до индекс страницата', |
1863 | 2407 | 'proofreadpage_page_status' => 'Статус на страница', |
| 2408 | + 'proofreadpage_js_attributes' => 'Автор Наслов Година Издавач', |
| 2409 | + 'proofreadpage_index_attributes' => 'Автор |
| 2410 | +Наслов |
| 2411 | +Година|Година на издавање |
| 2412 | +Издавач |
| 2413 | +Извор |
| 2414 | +Слика|Корица |
| 2415 | +Страници||20 |
| 2416 | +Белешки||10', |
| 2417 | + 'proofreadpage_pages' => '{{PLURAL:$1|страница|страници}}', |
1864 | 2418 | ); |
1865 | 2419 | |
1866 | 2420 | /** Malayalam (മലയാളം) |
— | — | @@ -2029,10 +2583,12 @@ |
2030 | 2584 | ); |
2031 | 2585 | |
2032 | 2586 | /** Dutch (Nederlands) |
| 2587 | + * @author McDutchie |
2033 | 2588 | * @author SPQRobin |
2034 | 2589 | * @author Siebrand |
2035 | 2590 | */ |
2036 | 2591 | $messages['nl'] = array( |
| 2592 | + 'indexpages' => "Lijst van index-pagina's", |
2037 | 2593 | 'proofreadpage_desc' => 'Maakt het mogelijk teksten eenvoudig te vergelijken met de oorspronkelijke scan', |
2038 | 2594 | 'proofreadpage_namespace' => 'Pagina', |
2039 | 2595 | 'proofreadpage_index_namespace' => 'Index', |
— | — | @@ -2041,6 +2597,14 @@ |
2042 | 2598 | 'proofreadpage_index_expected' => 'Fout: er werd een index verwacht', |
2043 | 2599 | 'proofreadpage_nosuch_index' => 'Fout: de index bestaat niet', |
2044 | 2600 | 'proofreadpage_nosuch_file' => 'Fout: het aangegeven bestand bestaat niet', |
| 2601 | + 'proofreadpage_badpage' => 'Verkeerde formaat', |
| 2602 | + 'proofreadpage_badpagetext' => 'Het formaat van de pagina die u probeerde op te slaan is onjuist.', |
| 2603 | + 'proofreadpage_indexdupe' => 'Dubbele verwijzing', |
| 2604 | + 'proofreadpage_indexdupetext' => "Pagina's kunnen niet meer dan één keer op een indexpagina weergegeven worden.", |
| 2605 | + 'proofreadpage_nologin' => 'Niet aangemeld', |
| 2606 | + 'proofreadpage_nologintext' => "U moet [[Special:UserLogin|aanmelden]] om de proefleesstatus van pagina's te kunnen wijzigen.", |
| 2607 | + 'proofreadpage_notallowed' => 'Wijzigen is niet toegestaan', |
| 2608 | + 'proofreadpage_notallowedtext' => 'U mag de proefleesstatus van deze pagina niet wijzigen.', |
2045 | 2609 | 'proofreadpage_number_expected' => 'Fout: er werd een numerieke waarde verwacht', |
2046 | 2610 | 'proofreadpage_interval_too_large' => 'Fout: het interval is te groot', |
2047 | 2611 | 'proofreadpage_invalid_interval' => 'Fout: er is een ongeldige interval opgegeven', |
— | — | @@ -2055,6 +2619,11 @@ |
2056 | 2620 | 'proofreadpage_quality2_category' => 'Onvolledig', |
2057 | 2621 | 'proofreadpage_quality3_category' => 'Proefgelezen', |
2058 | 2622 | 'proofreadpage_quality4_category' => 'Gecontroleerd', |
| 2623 | + 'proofreadpage_quality0_message' => 'Deze pagina hoeft niet te worden proefgelezen', |
| 2624 | + 'proofreadpage_quality1_message' => 'Deze pagina is niet proefgelezen', |
| 2625 | + 'proofreadpage_quality2_message' => 'Er was een probleem bij het proeflezen van deze pagina', |
| 2626 | + 'proofreadpage_quality3_message' => 'Deze pagina is proefgelezen', |
| 2627 | + 'proofreadpage_quality4_message' => 'Deze pagina is gecontroleerd', |
2059 | 2628 | 'proofreadpage_index_listofpages' => 'Paginalijst', |
2060 | 2629 | 'proofreadpage_image_message' => 'Verwijziging naar de indexpagina', |
2061 | 2630 | 'proofreadpage_page_status' => 'Paginastatus', |
— | — | @@ -2067,6 +2636,7 @@ |
2068 | 2637 | Afbeelding|Omslag |
2069 | 2638 | Pagina's||20 |
2070 | 2639 | Opmerkingen||10", |
| 2640 | + 'proofreadpage_pages' => '{{PLURAL:$1|pagina|pagina\'s}}', |
2071 | 2641 | ); |
2072 | 2642 | |
2073 | 2643 | /** Norwegian Nynorsk (Norsk (nynorsk)) |
— | — | @@ -2082,8 +2652,10 @@ |
2083 | 2653 | 'proofreadpage_index' => 'Indeks', |
2084 | 2654 | 'proofreadpage_index_expected' => 'Feil: Indeks forventa', |
2085 | 2655 | 'proofreadpage_nosuch_index' => 'Feil: ingen slik indeks', |
| 2656 | + 'proofreadpage_nosuch_file' => 'Feil: inga slik fil', |
2086 | 2657 | 'proofreadpage_number_expected' => 'Feil: Talverdi forventa', |
2087 | 2658 | 'proofreadpage_interval_too_large' => 'Feil: for stort intervall', |
| 2659 | + 'proofreadpage_invalid_interval' => 'Feil: ugyldig intervall', |
2088 | 2660 | 'proofreadpage_nextpage' => 'Neste side', |
2089 | 2661 | 'proofreadpage_prevpage' => 'Førre side', |
2090 | 2662 | 'proofreadpage_header' => 'Hovudseksjon (ikkje inkludert):', |
— | — | @@ -2113,6 +2685,7 @@ |
2114 | 2686 | * @author Jon Harald Søby |
2115 | 2687 | * @author Laaknor |
2116 | 2688 | * @author Nghtwlkr |
| 2689 | + * @author Simny |
2117 | 2690 | */ |
2118 | 2691 | $messages['no'] = array( |
2119 | 2692 | 'proofreadpage_desc' => 'Tillat lett sammenligning av tekst med originalskanningen', |
— | — | @@ -2123,6 +2696,10 @@ |
2124 | 2697 | 'proofreadpage_index_expected' => 'Feil: Indeks forventet', |
2125 | 2698 | 'proofreadpage_nosuch_index' => 'Feil: ingen slik indeks', |
2126 | 2699 | 'proofreadpage_nosuch_file' => 'Feil: ingen slik fil', |
| 2700 | + 'proofreadpage_badpage' => 'Feil format', |
| 2701 | + 'proofreadpage_nologin' => 'Ikke innlogget', |
| 2702 | + 'proofreadpage_nologintext' => 'Du må være [[Special:UserLogin|innlogget]] for å kunne forandre status på korrekturlesningen på sider.', |
| 2703 | + 'proofreadpage_notallowed' => 'Å gjøre en forandring er ikke lov', |
2127 | 2704 | 'proofreadpage_number_expected' => 'Feil: Numerisk verdi forventet', |
2128 | 2705 | 'proofreadpage_interval_too_large' => 'Feil: Intervall for stort', |
2129 | 2706 | 'proofreadpage_invalid_interval' => 'Feil: ugyldig intervall', |
— | — | @@ -2137,6 +2714,11 @@ |
2138 | 2715 | 'proofreadpage_quality2_category' => 'Ufullstendig', |
2139 | 2716 | 'proofreadpage_quality3_category' => 'Korrekturlest', |
2140 | 2717 | 'proofreadpage_quality4_category' => 'Validert', |
| 2718 | + 'proofreadpage_quality0_message' => 'Denne siden trenger ikke korrekturleses', |
| 2719 | + 'proofreadpage_quality1_message' => 'Denne siden er ikke korrekturlest', |
| 2720 | + 'proofreadpage_quality2_message' => 'Det oppsto et problem når denne siden skulle korrekturleses', |
| 2721 | + 'proofreadpage_quality3_message' => 'Denne siden er korrekturlest', |
| 2722 | + 'proofreadpage_quality4_message' => 'Denne siden er godkjent', |
2141 | 2723 | 'proofreadpage_index_listofpages' => 'Liste over sider', |
2142 | 2724 | 'proofreadpage_image_message' => 'Lenke til indekssiden', |
2143 | 2725 | 'proofreadpage_page_status' => 'Sidestatus', |
— | — | @@ -2164,6 +2746,7 @@ |
2165 | 2747 | * @author Cedric31 |
2166 | 2748 | */ |
2167 | 2749 | $messages['oc'] = array( |
| 2750 | + 'indexpages' => "Lista de las paginas d'indèx", |
2168 | 2751 | 'proofreadpage_desc' => 'Permet una comparason aisida entre lo tèxte e la numerizacion originala', |
2169 | 2752 | 'proofreadpage_namespace' => 'Pagina', |
2170 | 2753 | 'proofreadpage_index_namespace' => 'Indèx', |
— | — | @@ -2172,6 +2755,14 @@ |
2173 | 2756 | 'proofreadpage_index_expected' => 'Error : un indèx es esperat', |
2174 | 2757 | 'proofreadpage_nosuch_index' => "Error : l'indèx es pas estat trobat", |
2175 | 2758 | 'proofreadpage_nosuch_file' => 'Error : lo fichièr es pas estat trobat', |
| 2759 | + 'proofreadpage_badpage' => 'Format marrit', |
| 2760 | + 'proofreadpage_badpagetext' => "Lo format de la pagina qu'ensajatz de publicar es incorrècte.", |
| 2761 | + 'proofreadpage_indexdupe' => 'Ligam en doble', |
| 2762 | + 'proofreadpage_indexdupetext' => "Las paginas pòdon pas èsser listadas mai d'un còp sus una pagina d'indèx.", |
| 2763 | + 'proofreadpage_nologin' => 'Pas connectat', |
| 2764 | + 'proofreadpage_nologintext' => "Vos cal èsser [[Special:UserLogin|connectat]] per modificar l'estatut de correccion de las paginas.", |
| 2765 | + 'proofreadpage_notallowed' => 'Cambiament pas autorizat.', |
| 2766 | + 'proofreadpage_notallowedtext' => "Sètz pas autorizat(ada) a modificar l'estatut de correccion d'aquesta pagina.", |
2176 | 2767 | 'proofreadpage_number_expected' => 'Error : una valor numerica es esperada', |
2177 | 2768 | 'proofreadpage_interval_too_large' => 'Error : interval tròp grand', |
2178 | 2769 | 'proofreadpage_invalid_interval' => 'Error : interval invalid', |
— | — | @@ -2180,12 +2771,17 @@ |
2181 | 2772 | 'proofreadpage_header' => 'Entèsta (noinclude) :', |
2182 | 2773 | 'proofreadpage_body' => 'Contengut (transclusion) :', |
2183 | 2774 | 'proofreadpage_footer' => 'Pè de pagina (noinclude) :', |
2184 | | - 'proofreadpage_toggleheaders' => 'amagar/mostrar las seccions noinclude', |
| 2775 | + 'proofreadpage_toggleheaders' => 'amagar/far veire las seccions noinclude', |
2185 | 2776 | 'proofreadpage_quality0_category' => 'Sens tèxte', |
2186 | 2777 | 'proofreadpage_quality1_category' => 'Pagina pas corregida', |
2187 | 2778 | 'proofreadpage_quality2_category' => 'Pagina amb problèma', |
2188 | 2779 | 'proofreadpage_quality3_category' => 'Pagina corregida', |
2189 | 2780 | 'proofreadpage_quality4_category' => 'Pagina validada', |
| 2781 | + 'proofreadpage_quality0_message' => 'Aquesta pagina a pas besonh d’èsser relegida', |
| 2782 | + 'proofreadpage_quality1_message' => 'Aquesta pagina es pas estada relegida', |
| 2783 | + 'proofreadpage_quality2_message' => "I a agut un problèma al moment de la relectura d'aquesta pagina", |
| 2784 | + 'proofreadpage_quality3_message' => 'Aquesta pagina es estada relegida', |
| 2785 | + 'proofreadpage_quality4_message' => 'Aquesta pagina es estada validada', |
2190 | 2786 | 'proofreadpage_index_listofpages' => 'Lista de las paginas', |
2191 | 2787 | 'proofreadpage_image_message' => "Ligam cap a l'indèx", |
2192 | 2788 | 'proofreadpage_page_status' => 'Estat de la pagina', |
— | — | @@ -2198,6 +2794,7 @@ |
2199 | 2795 | Imatge|Imatge en cobertura |
2200 | 2796 | Paginas||20 |
2201 | 2797 | Comentaris||10', |
| 2798 | + 'proofreadpage_pages' => '{{PLURAL:$1|pagina|paginas}}', |
2202 | 2799 | ); |
2203 | 2800 | |
2204 | 2801 | /** Ossetic (Иронау) |
— | — | @@ -2215,12 +2812,17 @@ |
2216 | 2813 | */ |
2217 | 2814 | $messages['pdc'] = array( |
2218 | 2815 | 'proofreadpage_namespace' => 'Blatt', |
| 2816 | + 'proofreadpage_image' => 'Bild', |
| 2817 | + 'proofreadpage_nextpage' => 'Neegscht Blatt', |
| 2818 | + 'proofreadpage_prevpage' => 'Letscht Blatt', |
| 2819 | + 'proofreadpage_index_listofpages' => 'Lischt vun Bledder', |
2219 | 2820 | ); |
2220 | 2821 | |
2221 | 2822 | /** Polish (Polski) |
2222 | 2823 | * @author Sp5uhe |
2223 | 2824 | */ |
2224 | 2825 | $messages['pl'] = array( |
| 2826 | + 'indexpages' => 'Spis stron indeksów', |
2225 | 2827 | 'proofreadpage_desc' => 'Umożliwia łatwe porównanie treści ze skanem oryginału', |
2226 | 2828 | 'proofreadpage_namespace' => 'Strona', |
2227 | 2829 | 'proofreadpage_index_namespace' => 'Indeks', |
— | — | @@ -2229,6 +2831,14 @@ |
2230 | 2832 | 'proofreadpage_index_expected' => 'Błąd – oczekiwano indeksu', |
2231 | 2833 | 'proofreadpage_nosuch_index' => 'Błąd – nie ma takiego indeksu', |
2232 | 2834 | 'proofreadpage_nosuch_file' => 'Błąd – nie ma takiego pliku', |
| 2835 | + 'proofreadpage_badpage' => 'Zły format', |
| 2836 | + 'proofreadpage_badpagetext' => 'Format strony którą próbujesz zapisać jest nieprawidłowy.', |
| 2837 | + 'proofreadpage_indexdupe' => 'Zdublowany link', |
| 2838 | + 'proofreadpage_indexdupetext' => 'Strony nie mogą być wymienione więcej niż jeden raz na stronie indeksu.', |
| 2839 | + 'proofreadpage_nologin' => 'Niezalogowany', |
| 2840 | + 'proofreadpage_nologintext' => 'Musisz [[Special:UserLogin|zalogować się]], aby zmienić status proofreading strony.', |
| 2841 | + 'proofreadpage_notallowed' => 'Zmiana niedozwolona', |
| 2842 | + 'proofreadpage_notallowedtext' => 'Zmiana statusu proofreeding tej strony przez Ciebie jest niedozwolona.', |
2233 | 2843 | 'proofreadpage_number_expected' => 'Błąd – oczekiwano liczby', |
2234 | 2844 | 'proofreadpage_interval_too_large' => 'Błąd – zbyt duży odstęp', |
2235 | 2845 | 'proofreadpage_invalid_interval' => 'Błąd – nieprawidłowy odstęp', |
— | — | @@ -2243,6 +2853,11 @@ |
2244 | 2854 | 'proofreadpage_quality2_category' => 'Problemy', |
2245 | 2855 | 'proofreadpage_quality3_category' => 'Skorygowana', |
2246 | 2856 | 'proofreadpage_quality4_category' => 'Uwierzytelniona', |
| 2857 | + 'proofreadpage_quality0_message' => 'Ta strona nie wymaga korekty', |
| 2858 | + 'proofreadpage_quality1_message' => 'Ta strona nie została skorygowana', |
| 2859 | + 'proofreadpage_quality2_message' => 'Wystąpił problem przy korekcie tej stronie', |
| 2860 | + 'proofreadpage_quality3_message' => 'Ta strona została skorygowana', |
| 2861 | + 'proofreadpage_quality4_message' => 'Ta strona została zatwierdzona', |
2247 | 2862 | 'proofreadpage_index_listofpages' => 'Spis stron', |
2248 | 2863 | 'proofreadpage_image_message' => 'Link do strony indeksowej', |
2249 | 2864 | 'proofreadpage_page_status' => 'Status strony', |
— | — | @@ -2255,6 +2870,7 @@ |
2256 | 2871 | Ilustracja|Okładka |
2257 | 2872 | Strony||20 |
2258 | 2873 | Uwagi||10', |
| 2874 | + 'proofreadpage_pages' => '{{PLURAL:$1|strona|strony|stron}}', |
2259 | 2875 | ); |
2260 | 2876 | |
2261 | 2877 | /** Piedmontese (Piemontèis) |
— | — | @@ -2300,6 +2916,7 @@ |
2301 | 2917 | |
2302 | 2918 | /** Portuguese (Português) |
2303 | 2919 | * @author 555 |
| 2920 | + * @author Giro720 |
2304 | 2921 | * @author Malafaya |
2305 | 2922 | * @author Waldir |
2306 | 2923 | */ |
— | — | @@ -2311,8 +2928,10 @@ |
2312 | 2929 | 'proofreadpage_index' => 'Índice', |
2313 | 2930 | 'proofreadpage_index_expected' => 'Erro: índice esperado', |
2314 | 2931 | 'proofreadpage_nosuch_index' => 'Erro: índice não existe', |
| 2932 | + 'proofreadpage_nologin' => 'Não se encontra autenticado', |
2315 | 2933 | 'proofreadpage_number_expected' => 'Erro: valor numérico esperado', |
2316 | 2934 | 'proofreadpage_interval_too_large' => 'Erro: intervalo demasiado grande', |
| 2935 | + 'proofreadpage_invalid_interval' => 'Erro: intervalo inválido', |
2317 | 2936 | 'proofreadpage_nextpage' => 'Próxima página', |
2318 | 2937 | 'proofreadpage_prevpage' => 'Página anterior', |
2319 | 2938 | 'proofreadpage_header' => 'Cabeçalho (em modo noinclude):', |
— | — | @@ -2324,6 +2943,7 @@ |
2325 | 2944 | 'proofreadpage_quality2_category' => 'Problemáticas', |
2326 | 2945 | 'proofreadpage_quality3_category' => 'Revistas e corrigidas', |
2327 | 2946 | 'proofreadpage_quality4_category' => 'Validadas', |
| 2947 | + 'proofreadpage_quality4_message' => 'Esta página foi validada', |
2328 | 2948 | 'proofreadpage_index_listofpages' => 'Lista de páginas', |
2329 | 2949 | 'proofreadpage_image_message' => 'Link para a página de índice', |
2330 | 2950 | 'proofreadpage_page_status' => 'Estado da página', |
— | — | @@ -2340,6 +2960,7 @@ |
2341 | 2961 | |
2342 | 2962 | /** Brazilian Portuguese (Português do Brasil) |
2343 | 2963 | * @author Eduardo.mps |
| 2964 | + * @author Luckas Blade |
2344 | 2965 | */ |
2345 | 2966 | $messages['pt-br'] = array( |
2346 | 2967 | 'proofreadpage_desc' => 'Permite a comparação fácil de um texto com a sua digitalização original', |
— | — | @@ -2347,6 +2968,7 @@ |
2348 | 2969 | 'proofreadpage_index_namespace' => 'Índice', |
2349 | 2970 | 'proofreadpage_image' => 'imagem', |
2350 | 2971 | 'proofreadpage_index' => 'Índice', |
| 2972 | + 'proofreadpage_notallowed' => 'Alteração não permitida', |
2351 | 2973 | 'proofreadpage_nextpage' => 'Próxima página', |
2352 | 2974 | 'proofreadpage_prevpage' => 'Página anterior', |
2353 | 2975 | 'proofreadpage_header' => 'Cabeçalho (em modo noinclude):', |
— | — | @@ -2396,16 +3018,33 @@ |
2397 | 3019 | ); |
2398 | 3020 | |
2399 | 3021 | /** Romanian (Română) |
| 3022 | + * @author Firilacroco |
2400 | 3023 | * @author KlaudiuMihaila |
2401 | 3024 | * @author Mihai |
2402 | 3025 | */ |
2403 | 3026 | $messages['ro'] = array( |
| 3027 | + 'indexpages' => 'Lista paginilor index', |
2404 | 3028 | 'proofreadpage_namespace' => 'Pagină', |
2405 | 3029 | 'proofreadpage_index_namespace' => 'Index', |
2406 | 3030 | 'proofreadpage_image' => 'imagine', |
2407 | 3031 | 'proofreadpage_index' => 'Index', |
| 3032 | + 'proofreadpage_index_expected' => 'Eroare: index aşteptat', |
| 3033 | + 'proofreadpage_nosuch_index' => 'Eroare: index inexistent', |
| 3034 | + 'proofreadpage_nosuch_file' => 'Eroare: fişier inexistent', |
| 3035 | + 'proofreadpage_badpage' => 'Format greşit', |
| 3036 | + 'proofreadpage_badpagetext' => 'Formatul paginii în care se doreşte salvarea este incorect.', |
| 3037 | + 'proofreadpage_indexdupe' => 'Legătură duplicat', |
| 3038 | + 'proofreadpage_indexdupetext' => 'Paginile nu pot fi afişate de mai multe ori într-o pagină index.', |
| 3039 | + 'proofreadpage_nologin' => 'Nu sunteţi autentificat', |
| 3040 | + 'proofreadpage_notallowed' => 'Schimbare nepermisă', |
| 3041 | + 'proofreadpage_number_expected' => 'Eroare: valoare numerică aşteptată', |
| 3042 | + 'proofreadpage_interval_too_large' => 'Eroare: interval prea mare', |
| 3043 | + 'proofreadpage_invalid_interval' => 'Eroare: interval incorect', |
2408 | 3044 | 'proofreadpage_nextpage' => 'Pagina următoare', |
2409 | 3045 | 'proofreadpage_prevpage' => 'Pagina anterioară', |
| 3046 | + 'proofreadpage_quality0_category' => 'Fără text', |
| 3047 | + 'proofreadpage_quality2_category' => 'Problematic', |
| 3048 | + 'proofreadpage_quality4_category' => 'Validat', |
2410 | 3049 | 'proofreadpage_index_listofpages' => 'Lista paginilor', |
2411 | 3050 | 'proofreadpage_image_message' => 'Legătură către pagina index', |
2412 | 3051 | 'proofreadpage_page_status' => 'Pagina status', |
— | — | @@ -2437,9 +3076,11 @@ |
2438 | 3077 | /** Russian (Русский) |
2439 | 3078 | * @author Ferrer |
2440 | 3079 | * @author Innv |
| 3080 | + * @author Lockal |
2441 | 3081 | * @author Александр Сигачёв |
2442 | 3082 | */ |
2443 | 3083 | $messages['ru'] = array( |
| 3084 | + 'indexpages' => 'Список индексных страниц', |
2444 | 3085 | 'proofreadpage_desc' => 'Позволяет в удобном виде сравнивать текст и отсканированное изображение оригинала', |
2445 | 3086 | 'proofreadpage_namespace' => 'Страница', |
2446 | 3087 | 'proofreadpage_index_namespace' => 'Индекс', |
— | — | @@ -2448,6 +3089,14 @@ |
2449 | 3090 | 'proofreadpage_index_expected' => 'Ошибка. Индекс не обнаружен.', |
2450 | 3091 | 'proofreadpage_nosuch_index' => 'Ошибка. Нет такого индекса.', |
2451 | 3092 | 'proofreadpage_nosuch_file' => 'Ошибка: нет такого файла', |
| 3093 | + 'proofreadpage_badpage' => 'Неправильный формат', |
| 3094 | + 'proofreadpage_badpagetext' => 'Ошибочный формат записываемой страницы.', |
| 3095 | + 'proofreadpage_indexdupe' => 'Ссылка-дубликат', |
| 3096 | + 'proofreadpage_indexdupetext' => 'Страницы не могут быть перечислены на индексной странице более одного раза.', |
| 3097 | + 'proofreadpage_nologin' => 'Не выполнен вход', |
| 3098 | + 'proofreadpage_nologintext' => 'Вы должны [[Special:UserLogin|представиться системе]] для изменения статуса вычитки страниц.', |
| 3099 | + 'proofreadpage_notallowed' => 'Изменение не допускается', |
| 3100 | + 'proofreadpage_notallowedtext' => 'Вы не можете изменить статус вычитки этой страницы.', |
2452 | 3101 | 'proofreadpage_number_expected' => 'Ошибка. Ожидается числовое значение.', |
2453 | 3102 | 'proofreadpage_interval_too_large' => 'Ошибка. Слишком большой промежуток.', |
2454 | 3103 | 'proofreadpage_invalid_interval' => 'Ошибка: неправильный интервал', |
— | — | @@ -2462,6 +3111,11 @@ |
2463 | 3112 | 'proofreadpage_quality2_category' => 'Проблемная', |
2464 | 3113 | 'proofreadpage_quality3_category' => 'Вычитана', |
2465 | 3114 | 'proofreadpage_quality4_category' => 'Проверена', |
| 3115 | + 'proofreadpage_quality0_message' => 'Эта страница не требует вычитки', |
| 3116 | + 'proofreadpage_quality1_message' => 'Эта страница не была вычитана', |
| 3117 | + 'proofreadpage_quality2_message' => 'Есть проблемы при вычитке этой страницы', |
| 3118 | + 'proofreadpage_quality3_message' => 'Эта страница была вычитана', |
| 3119 | + 'proofreadpage_quality4_message' => 'Эта страница выверена', |
2466 | 3120 | 'proofreadpage_index_listofpages' => 'Список страниц', |
2467 | 3121 | 'proofreadpage_image_message' => 'Ссылка на страницу индекса', |
2468 | 3122 | 'proofreadpage_page_status' => 'Статус страницы', |
— | — | @@ -2473,13 +3127,15 @@ |
2474 | 3128 | Источник |
2475 | 3129 | Изображение|Изображение обложки |
2476 | 3130 | Страниц||20 |
2477 | | -Примечаний||10', |
| 3131 | +Примечания||10', |
| 3132 | + 'proofreadpage_pages' => '{{PLURAL:$1|страница|страницы|страниц}}', |
2478 | 3133 | ); |
2479 | 3134 | |
2480 | 3135 | /** Yakut (Саха тыла) |
2481 | 3136 | * @author HalanTul |
2482 | 3137 | */ |
2483 | 3138 | $messages['sah'] = array( |
| 3139 | + 'indexpages' => 'Индекс сирэйдэрин тиһигэ', |
2484 | 3140 | 'proofreadpage_desc' => 'Оригинаалы уонна скаанердаммыт ойууну тэҥнээн көрөр кыаҕы биэрэр', |
2485 | 3141 | 'proofreadpage_namespace' => 'Сирэй', |
2486 | 3142 | 'proofreadpage_index_namespace' => 'Индекс', |
— | — | @@ -2488,6 +3144,14 @@ |
2489 | 3145 | 'proofreadpage_index_expected' => 'Алҕас: Индекс көстүбэтэ', |
2490 | 3146 | 'proofreadpage_nosuch_index' => 'Алҕас: Маннык индекс суох', |
2491 | 3147 | 'proofreadpage_nosuch_file' => 'Алҕас: маннык билэ суох', |
| 3148 | + 'proofreadpage_badpage' => 'Сыыһа формаат', |
| 3149 | + 'proofreadpage_badpagetext' => 'Суруллар сирэй атын формааттаах.', |
| 3150 | + 'proofreadpage_indexdupe' => 'Хос сигэ', |
| 3151 | + 'proofreadpage_indexdupetext' => 'Сирэй индекс сирэйигэр хаста да суруллубат.', |
| 3152 | + 'proofreadpage_nologin' => 'Киирии сатаммата (сатамматах)', |
| 3153 | + 'proofreadpage_nologintext' => 'Сирэйи бэрэбиэркэлээһин туругун уларытарга [[Special:UserLogin|бэлиэтэммит ааккын этиэхтээххин]].', |
| 3154 | + 'proofreadpage_notallowed' => 'Уларытар сатаммат', |
| 3155 | + 'proofreadpage_notallowedtext' => 'Бу сирэйи бэрэбиэркэлээһин туругун уларытар кыаҕыҥ суох.', |
2492 | 3156 | 'proofreadpage_number_expected' => 'Алҕас: Чыыһыла наада', |
2493 | 3157 | 'proofreadpage_interval_too_large' => 'Алҕас: наһаа улахан кээмэйи эппиккин', |
2494 | 3158 | 'proofreadpage_invalid_interval' => 'Алҕас: сыыһа интервал', |
— | — | @@ -2502,6 +3166,11 @@ |
2503 | 3167 | 'proofreadpage_quality2_category' => 'Моһоллоох', |
2504 | 3168 | 'proofreadpage_quality3_category' => 'Ааҕыллыбыт', |
2505 | 3169 | 'proofreadpage_quality4_category' => 'Бэрэбиэркэлэммит', |
| 3170 | + 'proofreadpage_quality0_message' => 'Бу сирэй бэрэбиэркэлэнэрэ ирдэммэт', |
| 3171 | + 'proofreadpage_quality1_message' => 'Бу сирэй тургутуллубатах', |
| 3172 | + 'proofreadpage_quality2_message' => 'Бу сирэйи тургутарга туох эрэ моһол үөскээбит', |
| 3173 | + 'proofreadpage_quality3_message' => 'Бу сирэй тургутуллубут', |
| 3174 | + 'proofreadpage_quality4_message' => 'Бу сирэй бэрэбиэкэлэммит (выверка)', |
2506 | 3175 | 'proofreadpage_index_listofpages' => 'Сирэйдэр испииһэктэрэ', |
2507 | 3176 | 'proofreadpage_image_message' => 'Индекс сирэйигэр ыйынньык', |
2508 | 3177 | 'proofreadpage_page_status' => 'Сирэй статуһа', |
— | — | @@ -2514,6 +3183,7 @@ |
2515 | 3184 | Ойуу|Таһын ойуута |
2516 | 3185 | Сирэйин ахсаана||20 |
2517 | 3186 | Хос быһаарыылара||10', |
| 3187 | + 'proofreadpage_pages' => '{{PLURAL:$1|сирэй|сирэйдээх}}', |
2518 | 3188 | ); |
2519 | 3189 | |
2520 | 3190 | /** Sardinian (Sardu) |
— | — | @@ -2528,6 +3198,7 @@ |
2529 | 3199 | * @author Helix84 |
2530 | 3200 | */ |
2531 | 3201 | $messages['sk'] = array( |
| 3202 | + 'indexpages' => 'Zoznam indexových stránok', |
2532 | 3203 | 'proofreadpage_desc' => 'Umožňuje jednoduché porovnanie textu s originálnym skenom', |
2533 | 3204 | 'proofreadpage_namespace' => 'Stránka', |
2534 | 3205 | 'proofreadpage_index_namespace' => 'Index', |
— | — | @@ -2536,6 +3207,14 @@ |
2537 | 3208 | 'proofreadpage_index_expected' => 'Chyba: očakával sa index', |
2538 | 3209 | 'proofreadpage_nosuch_index' => 'Chyba: taký index neexistuje', |
2539 | 3210 | 'proofreadpage_nosuch_file' => 'Chyba: Taký súbor neexistuje', |
| 3211 | + 'proofreadpage_badpage' => 'Nesprávny formát', |
| 3212 | + 'proofreadpage_badpagetext' => 'Formát stránky, ktorú ste sa pokúsili uložiť nie je správny.', |
| 3213 | + 'proofreadpage_indexdupe' => 'Duplicitný odkaz', |
| 3214 | + 'proofreadpage_indexdupetext' => 'Stránky nemožno na indexovej stránke uviesť viac ako raz.', |
| 3215 | + 'proofreadpage_nologin' => 'Nie ste prihlásený', |
| 3216 | + 'proofreadpage_nologintext' => 'Ak chcete meniť stav skontrolovania stránky, musíte sa [[Special:UserLogin|prihlásiť]].', |
| 3217 | + 'proofreadpage_notallowed' => 'Zmena nie je dovolená', |
| 3218 | + 'proofreadpage_notallowedtext' => 'Nemáte dovolené zmeniť stav skontrolovania tejto stránky.', |
2540 | 3219 | 'proofreadpage_number_expected' => 'Chyba: očakávala sa číselná hodnota', |
2541 | 3220 | 'proofreadpage_interval_too_large' => 'Chyba: interval je príliš veľký', |
2542 | 3221 | 'proofreadpage_invalid_interval' => 'Chyba: neplatný interval', |
— | — | @@ -2550,6 +3229,11 @@ |
2551 | 3230 | 'proofreadpage_quality2_category' => 'Problematické', |
2552 | 3231 | 'proofreadpage_quality3_category' => 'Skontrolované', |
2553 | 3232 | 'proofreadpage_quality4_category' => 'Overené', |
| 3233 | + 'proofreadpage_quality0_message' => 'Túto stránku netreba kontrolovať', |
| 3234 | + 'proofreadpage_quality1_message' => 'Táto stránka nebola skontrolovaná', |
| 3235 | + 'proofreadpage_quality2_message' => 'Nastal problém pri kontrolovaní tejto stránky', |
| 3236 | + 'proofreadpage_quality3_message' => 'Táto stránka bola skontrolovaná', |
| 3237 | + 'proofreadpage_quality4_message' => 'Táto stránka bola overená', |
2554 | 3238 | 'proofreadpage_index_listofpages' => 'Zoznam stránok', |
2555 | 3239 | 'proofreadpage_image_message' => 'Odkaz na stránku index', |
2556 | 3240 | 'proofreadpage_page_status' => 'Stav stránky', |
— | — | @@ -2562,6 +3246,7 @@ |
2563 | 3247 | Obrázok|Obálka |
2564 | 3248 | Strán||20 |
2565 | 3249 | Poznámky||10', |
| 3250 | + 'proofreadpage_pages' => '{{PLURAL:$1|stránka|stránky|stránok}}', |
2566 | 3251 | ); |
2567 | 3252 | |
2568 | 3253 | /** Slovenian (Slovenščina) */ |
— | — | @@ -2573,7 +3258,7 @@ |
2574 | 3259 | 'proofreadpage_quality4_category' => 'Potrjeno', |
2575 | 3260 | ); |
2576 | 3261 | |
2577 | | -/** Serbian Cyrillic ekavian (ћирилица) |
| 3262 | +/** Serbian Cyrillic ekavian (Српски (ћирилица)) |
2578 | 3263 | * @author Millosh |
2579 | 3264 | * @author Sasa Stefanovic |
2580 | 3265 | * @author Михајло Анђелковић |
— | — | @@ -2590,7 +3275,7 @@ |
2591 | 3276 | 'proofreadpage_body' => 'Тело стране (за укључивање):', |
2592 | 3277 | 'proofreadpage_footer' => 'Подножје (без укључивања):', |
2593 | 3278 | 'proofreadpage_toggleheaders' => 'управљање видљивошћу делова који се не укључују', |
2594 | | - 'proofreadpage_quality0_category' => 'Празно', |
| 3279 | + 'proofreadpage_quality0_category' => 'Без текста', |
2595 | 3280 | 'proofreadpage_quality1_category' => 'Непрегледано', |
2596 | 3281 | 'proofreadpage_quality2_category' => 'Проблематично', |
2597 | 3282 | 'proofreadpage_quality3_category' => 'Прегледано', |
— | — | @@ -2609,6 +3294,40 @@ |
2610 | 3295 | примедбе||10', |
2611 | 3296 | ); |
2612 | 3297 | |
| 3298 | +/** Serbian Latin ekavian (Srpski (latinica)) |
| 3299 | + * @author Michaello |
| 3300 | + */ |
| 3301 | +$messages['sr-el'] = array( |
| 3302 | + 'proofreadpage_desc' => 'Omogući lako upoređivanje teksta i originalnog skena.', |
| 3303 | + 'proofreadpage_namespace' => 'Strana', |
| 3304 | + 'proofreadpage_index_namespace' => 'indeks', |
| 3305 | + 'proofreadpage_image' => 'slika', |
| 3306 | + 'proofreadpage_index' => 'indeks', |
| 3307 | + 'proofreadpage_nextpage' => 'Sledeća strana', |
| 3308 | + 'proofreadpage_prevpage' => 'Prethodna strana', |
| 3309 | + 'proofreadpage_header' => 'Zaglavlje (bez uključivanja):', |
| 3310 | + 'proofreadpage_body' => 'Telo strane (za uključivanje):', |
| 3311 | + 'proofreadpage_footer' => 'Podnožje (bez uključivanja):', |
| 3312 | + 'proofreadpage_toggleheaders' => 'upravljanje vidljivošću delova koji se ne uključuju', |
| 3313 | + 'proofreadpage_quality0_category' => 'Bez teksta', |
| 3314 | + 'proofreadpage_quality1_category' => 'Nepregledano', |
| 3315 | + 'proofreadpage_quality2_category' => 'Problematično', |
| 3316 | + 'proofreadpage_quality3_category' => 'Pregledano', |
| 3317 | + 'proofreadpage_quality4_category' => 'Overeno', |
| 3318 | + 'proofreadpage_index_listofpages' => 'Spisak strana', |
| 3319 | + 'proofreadpage_image_message' => 'Veza ka indeksu strane.', |
| 3320 | + 'proofreadpage_page_status' => 'Status strane', |
| 3321 | + 'proofreadpage_js_attributes' => 'autor naslov godina izdavač', |
| 3322 | + 'proofreadpage_index_attributes' => 'autor |
| 3323 | +naslov |
| 3324 | +godina|godina publikacije |
| 3325 | +izdavač |
| 3326 | +izvor |
| 3327 | +slika|naslovna strana |
| 3328 | +strana||20 |
| 3329 | +primedbe||10', |
| 3330 | +); |
| 3331 | + |
2613 | 3332 | /** Seeltersk (Seeltersk) |
2614 | 3333 | * @author Pyt |
2615 | 3334 | */ |
— | — | @@ -2667,16 +3386,33 @@ |
2668 | 3387 | ); |
2669 | 3388 | |
2670 | 3389 | /** Swedish (Svenska) |
| 3390 | + * @author Fluff |
2671 | 3391 | * @author Lejonel |
2672 | 3392 | * @author M.M.S. |
2673 | 3393 | * @author Najami |
| 3394 | + * @author Rotsee |
2674 | 3395 | */ |
2675 | 3396 | $messages['sv'] = array( |
| 3397 | + 'indexpages' => 'Sidor med innehållsförteckningar', |
2676 | 3398 | 'proofreadpage_desc' => 'Ger möjlighet att korrekturläsa texter mot scannade original', |
2677 | 3399 | 'proofreadpage_namespace' => 'Sida', |
2678 | 3400 | 'proofreadpage_index_namespace' => 'Index', |
2679 | 3401 | 'proofreadpage_image' => 'bild', |
2680 | 3402 | 'proofreadpage_index' => 'Indexsida', |
| 3403 | + 'proofreadpage_index_expected' => 'Fel: index förväntades', |
| 3404 | + 'proofreadpage_nosuch_index' => 'Fel: index saknas', |
| 3405 | + 'proofreadpage_nosuch_file' => 'Fel: fil saknas', |
| 3406 | + 'proofreadpage_badpage' => 'Fel format', |
| 3407 | + 'proofreadpage_badpagetext' => 'Sidan du försöker spara har ett felaktigt format.', |
| 3408 | + 'proofreadpage_indexdupe' => 'Dubblett av länk', |
| 3409 | + 'proofreadpage_indexdupetext' => 'Sidor kan inte listas mer än en gång på en index-sida.', |
| 3410 | + 'proofreadpage_nologin' => 'Ej inloggad', |
| 3411 | + 'proofreadpage_nologintext' => 'Du måste vara [[Special:UserLogin|inloggad]] för att förändra status på korrekturläsningen av sidor.', |
| 3412 | + 'proofreadpage_notallowed' => 'Förändring är inte tillåten', |
| 3413 | + 'proofreadpage_notallowedtext' => 'Du har inte rättigheter att ändra status på korrekturläsningen av den här sidan.', |
| 3414 | + 'proofreadpage_number_expected' => 'Fel: ett numeriskt värde förväntades', |
| 3415 | + 'proofreadpage_interval_too_large' => 'Fel: ett för stort intervall', |
| 3416 | + 'proofreadpage_invalid_interval' => 'Fel: ogiltigt intervall', |
2681 | 3417 | 'proofreadpage_nextpage' => 'Nästa sida', |
2682 | 3418 | 'proofreadpage_prevpage' => 'Föregående sida', |
2683 | 3419 | 'proofreadpage_header' => 'Sidhuvud (inkluderas ej):', |
— | — | @@ -2688,6 +3424,11 @@ |
2689 | 3425 | 'proofreadpage_quality2_category' => 'Ofullständigt', |
2690 | 3426 | 'proofreadpage_quality3_category' => 'Korrekturläst', |
2691 | 3427 | 'proofreadpage_quality4_category' => 'Validerat', |
| 3428 | + 'proofreadpage_quality0_message' => 'Den här sidan behöver inte korrekturläsas', |
| 3429 | + 'proofreadpage_quality1_message' => 'Den här sidan har inte korrekturlästs', |
| 3430 | + 'proofreadpage_quality2_message' => 'Ett problem uppstod när den här sidan skulle korrekturläsas', |
| 3431 | + 'proofreadpage_quality3_message' => 'Den här sidan har korrekturlästs', |
| 3432 | + 'proofreadpage_quality4_message' => 'Den här sidan har godkänts', |
2692 | 3433 | 'proofreadpage_index_listofpages' => 'Lista över sidor', |
2693 | 3434 | 'proofreadpage_image_message' => 'Länk till indexsidan', |
2694 | 3435 | 'proofreadpage_page_status' => 'Sidans status', |
— | — | @@ -2700,6 +3441,7 @@ |
2701 | 3442 | Bild|Omslagsbild |
2702 | 3443 | Sidor||20 |
2703 | 3444 | Anmärkningar||10', |
| 3445 | + 'proofreadpage_pages' => '{{PLURAL:$1|sida|sidor}}', |
2704 | 3446 | ); |
2705 | 3447 | |
2706 | 3448 | /** Silesian (Ślůnski) |
— | — | @@ -2713,6 +3455,7 @@ |
2714 | 3456 | ); |
2715 | 3457 | |
2716 | 3458 | /** Telugu (తెలుగు) |
| 3459 | + * @author Kiranmayee |
2717 | 3460 | * @author Mpradeep |
2718 | 3461 | * @author Veeven |
2719 | 3462 | */ |
— | — | @@ -2721,10 +3464,12 @@ |
2722 | 3465 | 'proofreadpage_index_namespace' => 'సూచిక', |
2723 | 3466 | 'proofreadpage_image' => 'బొమ్మ', |
2724 | 3467 | 'proofreadpage_index' => 'సూచిక', |
| 3468 | + 'proofreadpage_nologin' => 'ప్రవేశించలేదు', |
2725 | 3469 | 'proofreadpage_nextpage' => 'తర్వాతి పేజీ', |
2726 | 3470 | 'proofreadpage_prevpage' => 'గత పేజీ', |
2727 | 3471 | 'proofreadpage_header' => 'శీర్షిక (కలుపకు):', |
2728 | 3472 | 'proofreadpage_footer' => 'పాదము (కలుపకు):', |
| 3473 | + 'proofreadpage_quality0_category' => 'పాఠ్యం లేకుండా', |
2729 | 3474 | 'proofreadpage_quality2_category' => 'సమస్యాత్మకం', |
2730 | 3475 | 'proofreadpage_quality4_category' => 'సరిచూడబడింది', |
2731 | 3476 | 'proofreadpage_index_listofpages' => 'పేజీల జాబితా', |
— | — | @@ -2857,6 +3602,7 @@ |
2858 | 3603 | * @author Suelnur |
2859 | 3604 | */ |
2860 | 3605 | $messages['tr'] = array( |
| 3606 | + 'indexpages' => 'Endeks sayfalarının listesi', |
2861 | 3607 | 'proofreadpage_desc' => 'Orijinal taramayla metnin kolayca karşılaştırılmasına izin verir', |
2862 | 3608 | 'proofreadpage_namespace' => 'Sayfa', |
2863 | 3609 | 'proofreadpage_index_namespace' => 'Endeks', |
— | — | @@ -2865,6 +3611,14 @@ |
2866 | 3612 | 'proofreadpage_index_expected' => 'Hata: dizin bekleniyordu', |
2867 | 3613 | 'proofreadpage_nosuch_index' => 'Hata: böyle bir dizin yok', |
2868 | 3614 | 'proofreadpage_nosuch_file' => 'Hata: Böyle bir dosya yok', |
| 3615 | + 'proofreadpage_badpage' => 'Yanlış Biçim', |
| 3616 | + 'proofreadpage_badpagetext' => 'Kaydetmeye çalıştığınız sayfanın biçimi yanlış.', |
| 3617 | + 'proofreadpage_indexdupe' => 'Yinelenen bağlantı', |
| 3618 | + 'proofreadpage_indexdupetext' => 'Bir dizin sayfasında, sayfalar birden fazla listelenemez.', |
| 3619 | + 'proofreadpage_nologin' => 'Giriş yapılmamış', |
| 3620 | + 'proofreadpage_nologintext' => 'Sayfaların düzeltme durumunu değiştirmek için [[Special:UserLogin|giriş yapmış]] olmalısınız.', |
| 3621 | + 'proofreadpage_notallowed' => 'Değişikliğe izin verilmiyor', |
| 3622 | + 'proofreadpage_notallowedtext' => 'Bu sayfanın düzeltme durumunu değiştirmenize izin verilmiyor.', |
2869 | 3623 | 'proofreadpage_number_expected' => 'Hata: sayısal değer bekleniyordu', |
2870 | 3624 | 'proofreadpage_interval_too_large' => 'Hata: aralık çok büyük', |
2871 | 3625 | 'proofreadpage_invalid_interval' => 'Hata: geçersiz aralık', |
— | — | @@ -2879,6 +3633,11 @@ |
2880 | 3634 | 'proofreadpage_quality2_category' => 'Sorunlu', |
2881 | 3635 | 'proofreadpage_quality3_category' => 'Düzelt', |
2882 | 3636 | 'proofreadpage_quality4_category' => 'Doğrulanmış', |
| 3637 | + 'proofreadpage_quality0_message' => 'Bu sayfada düzeltme yapılması gerekmez', |
| 3638 | + 'proofreadpage_quality1_message' => 'Bu sayfada düzeltme yapılmadı', |
| 3639 | + 'proofreadpage_quality2_message' => 'Bu sayfada düzeltme yapılırken bir sorun oluştu', |
| 3640 | + 'proofreadpage_quality3_message' => 'Bu sayfada düzeltme yapıldı', |
| 3641 | + 'proofreadpage_quality4_message' => 'Bu sayfa doğrulanmış', |
2883 | 3642 | 'proofreadpage_index_listofpages' => 'Sayfalar listesi', |
2884 | 3643 | 'proofreadpage_image_message' => 'Endeks sayfasına bağlantı', |
2885 | 3644 | 'proofreadpage_page_status' => 'Sayfa durumu', |
— | — | @@ -2891,6 +3650,7 @@ |
2892 | 3651 | Resim|Kapak resmi |
2893 | 3652 | Sayfalar||20 |
2894 | 3653 | Açıklamalar||10', |
| 3654 | + 'proofreadpage_pages' => '{{PLURAL:$1|sayfa|sayfa}}', |
2895 | 3655 | ); |
2896 | 3656 | |
2897 | 3657 | /** Tsonga (Xitsonga) |
— | — | @@ -2947,6 +3707,7 @@ |
2948 | 3708 | * @author Candalua |
2949 | 3709 | */ |
2950 | 3710 | $messages['vec'] = array( |
| 3711 | + 'indexpages' => 'Elenco de le pagine de indice', |
2951 | 3712 | 'proofreadpage_desc' => 'Parméte un façile confronto tra un testo e la so scansion original', |
2952 | 3713 | 'proofreadpage_namespace' => 'Pagina', |
2953 | 3714 | 'proofreadpage_index_namespace' => 'Indice', |
— | — | @@ -2955,6 +3716,9 @@ |
2956 | 3717 | 'proofreadpage_index_expected' => 'Eròr: indice mancante', |
2957 | 3718 | 'proofreadpage_nosuch_index' => "Eròr: sto indice no'l xe presente", |
2958 | 3719 | 'proofreadpage_nosuch_file' => 'Eròr: file mia catà', |
| 3720 | + 'proofreadpage_badpage' => 'Formato sbalià', |
| 3721 | + 'proofreadpage_indexdupe' => 'Colegamento dopio', |
| 3722 | + 'proofreadpage_notallowed' => 'Canbiamento mia parmesso', |
2959 | 3723 | 'proofreadpage_number_expected' => 'Eròr: me spetavo un valor numerico', |
2960 | 3724 | 'proofreadpage_interval_too_large' => 'Eròr: intervalo massa grando', |
2961 | 3725 | 'proofreadpage_invalid_interval' => 'Eròr: intervalo mia valido', |
— | — | @@ -2969,6 +3733,7 @@ |
2970 | 3734 | 'proofreadpage_quality2_category' => 'Da rivédar', |
2971 | 3735 | 'proofreadpage_quality3_category' => 'Corèta', |
2972 | 3736 | 'proofreadpage_quality4_category' => 'Verificà', |
| 3737 | + 'proofreadpage_quality4_message' => 'Sta pagina la xe stà validà', |
2973 | 3738 | 'proofreadpage_index_listofpages' => 'Lista de le pagine', |
2974 | 3739 | 'proofreadpage_image_message' => 'Colegamento a la pagina indice', |
2975 | 3740 | 'proofreadpage_page_status' => 'Status de la pagina', |
— | — | @@ -2981,6 +3746,7 @@ |
2982 | 3747 | Imagine|Imagine de copertina |
2983 | 3748 | Pagine||20 |
2984 | 3749 | Note||10', |
| 3750 | + 'proofreadpage_pages' => '{{PLURAL:$1|pagina|pagine}}', |
2985 | 3751 | ); |
2986 | 3752 | |
2987 | 3753 | /** Veps (Vepsan kel') |
— | — | @@ -2992,15 +3758,22 @@ |
2993 | 3759 | 'proofreadpage_index_namespace' => 'Indeks', |
2994 | 3760 | 'proofreadpage_image' => 'kuva', |
2995 | 3761 | 'proofreadpage_index' => 'Indeks', |
| 3762 | + 'proofreadpage_nosuch_index' => 'Petuz: ei ole mugošt indeksad', |
| 3763 | + 'proofreadpage_nosuch_file' => 'Petuz: ei ole mugošt failad', |
| 3764 | + 'proofreadpage_badpage' => 'Vär format', |
| 3765 | + 'proofreadpage_indexdupe' => 'Kaksitadud kosketuz', |
| 3766 | + 'proofreadpage_invalid_interval' => 'Petuz: vär interval', |
2996 | 3767 | 'proofreadpage_nextpage' => "Jäl'ghine lehtpol'", |
2997 | 3768 | 'proofreadpage_prevpage' => "Edeline lehtpol'", |
2998 | 3769 | 'proofreadpage_header' => 'Pälkirjutez (ei ele mülütadud)', |
2999 | 3770 | 'proofreadpage_body' => 'Lehtpolen tüvi (mülütadas):', |
| 3771 | + 'proofreadpage_quality0_category' => 'Tekstata', |
3000 | 3772 | 'proofreadpage_quality1_category' => 'Ei ole lugetud kodvaks', |
3001 | 3773 | 'proofreadpage_quality2_category' => 'Problematine', |
3002 | 3774 | 'proofreadpage_quality3_category' => 'Om lugetud kodvaks', |
3003 | 3775 | 'proofreadpage_quality4_category' => 'Kodvdud da hüvästadud', |
3004 | 3776 | 'proofreadpage_index_listofpages' => 'Lehtpoliden nimikirjutez', |
| 3777 | + 'proofreadpage_page_status' => 'Lehtpolen status', |
3005 | 3778 | 'proofreadpage_index_attributes' => "Avtor |
3006 | 3779 | Pälkirjutez |
3007 | 3780 | Voz'|Pästandvoz' |
— | — | @@ -3016,6 +3789,7 @@ |
3017 | 3790 | * @author Vinhtantran |
3018 | 3791 | */ |
3019 | 3792 | $messages['vi'] = array( |
| 3793 | + 'indexpages' => 'Danh sách các trang chỉ mục', |
3020 | 3794 | 'proofreadpage_desc' => 'So sánh văn bản với hình quét gốc', |
3021 | 3795 | 'proofreadpage_namespace' => 'Trang', |
3022 | 3796 | 'proofreadpage_index_namespace' => 'Chỉ mục', |
— | — | @@ -3023,8 +3797,18 @@ |
3024 | 3798 | 'proofreadpage_index' => 'Chỉ mục', |
3025 | 3799 | 'proofreadpage_index_expected' => 'Lỗi: cần chỉ mục', |
3026 | 3800 | 'proofreadpage_nosuch_index' => 'Lỗi: không có chỉ mục như vậy', |
| 3801 | + 'proofreadpage_nosuch_file' => 'Lỗi: không có tập tin như vậy', |
| 3802 | + 'proofreadpage_badpage' => 'Định dạng sai', |
| 3803 | + 'proofreadpage_badpagetext' => 'Định dạng của trang bạn đang cố lưu là không đúng.', |
| 3804 | + 'proofreadpage_indexdupe' => 'Liên kết lặp lại', |
| 3805 | + 'proofreadpage_indexdupetext' => 'Không thể liệt kê trang quá một lần tại một trang chỉ mục.', |
| 3806 | + 'proofreadpage_nologin' => 'Chưa đăng nhập', |
| 3807 | + 'proofreadpage_nologintext' => 'Bạn phải [[Special:UserLogin|đăng nhập]] để sửa đổi tình trạng duyệt bài của trang.', |
| 3808 | + 'proofreadpage_notallowed' => 'Không được phép thay đổi', |
| 3809 | + 'proofreadpage_notallowedtext' => 'Bạn không được phép thay đổi tình trạng duyệt bài của trang này.', |
3027 | 3810 | 'proofreadpage_number_expected' => 'Lỗi: cần giá trị số', |
3028 | 3811 | 'proofreadpage_interval_too_large' => 'Lỗi: khoảng thời gian quá lớn', |
| 3812 | + 'proofreadpage_invalid_interval' => 'Lỗi: khoảng thời gian không hợp lệ', |
3029 | 3813 | 'proofreadpage_nextpage' => 'Trang trước', |
3030 | 3814 | 'proofreadpage_prevpage' => 'Trang sau', |
3031 | 3815 | 'proofreadpage_header' => 'Phần đầu (noinclude):', |
— | — | @@ -3036,6 +3820,11 @@ |
3037 | 3821 | 'proofreadpage_quality2_category' => 'Có vấn đề', |
3038 | 3822 | 'proofreadpage_quality3_category' => 'Hiệu đính', |
3039 | 3823 | 'proofreadpage_quality4_category' => 'Phê chuẩn', |
| 3824 | + 'proofreadpage_quality0_message' => 'Trang này không cần phải duyệt lại', |
| 3825 | + 'proofreadpage_quality1_message' => 'Trang này chưa được duyệt lại', |
| 3826 | + 'proofreadpage_quality2_message' => 'Có vấn đề khi duyệt lại trang này', |
| 3827 | + 'proofreadpage_quality3_message' => 'Trang này đã được duyệt lại', |
| 3828 | + 'proofreadpage_quality4_message' => 'Trang này đã được thông qua', |
3040 | 3829 | 'proofreadpage_index_listofpages' => 'Danh sách các trang', |
3041 | 3830 | 'proofreadpage_image_message' => 'Liên kết trang chỉ mục', |
3042 | 3831 | 'proofreadpage_page_status' => 'Tình trạng của trang', |
— | — | @@ -3048,6 +3837,7 @@ |
3049 | 3838 | Image|Hình bìa |
3050 | 3839 | Pages|Các trang|20 |
3051 | 3840 | Remarks|Ghi chú|10', |
| 3841 | + 'proofreadpage_pages' => '{{PLURAL:$1|trang|trang}}', |
3052 | 3842 | ); |
3053 | 3843 | |
3054 | 3844 | /** Volapük (Volapük) |
— | — | @@ -3104,19 +3894,26 @@ |
3105 | 3895 | 備註||10', |
3106 | 3896 | ); |
3107 | 3897 | |
3108 | | -/** Simplified Chinese (中文(简体)) */ |
| 3898 | +/** Simplified Chinese (中文(简体)) |
| 3899 | + * @author Liangent |
| 3900 | + */ |
3109 | 3901 | $messages['zh-hans'] = array( |
3110 | | - 'proofreadpage_desc' => '容许简易地去比较原扫瞄和文字', |
| 3902 | + 'proofreadpage_desc' => '容许简易地比较原扫描和文字', |
3111 | 3903 | 'proofreadpage_namespace' => '页面', |
3112 | 3904 | 'proofreadpage_index_namespace' => '索引', |
3113 | 3905 | 'proofreadpage_image' => '图像', |
3114 | 3906 | 'proofreadpage_index' => '索引', |
| 3907 | + 'proofreadpage_badpage' => '错误的格式', |
| 3908 | + 'proofreadpage_indexdupe' => '重复链接', |
| 3909 | + 'proofreadpage_nologin' => '没有登录', |
| 3910 | + 'proofreadpage_notallowed' => '更改不允许', |
3115 | 3911 | 'proofreadpage_nextpage' => '下一页', |
3116 | 3912 | 'proofreadpage_prevpage' => '上一页', |
3117 | | - 'proofreadpage_header' => '首 (不包含):', |
3118 | | - 'proofreadpage_body' => '页身 (包含):', |
3119 | | - 'proofreadpage_footer' => '尾 (不包含):', |
| 3913 | + 'proofreadpage_header' => '首 (不包含):', |
| 3914 | + 'proofreadpage_body' => '页身 (包含):', |
| 3915 | + 'proofreadpage_footer' => '尾 (不包含):', |
3120 | 3916 | 'proofreadpage_toggleheaders' => '调整不包含段落之可见性', |
| 3917 | + 'proofreadpage_quality0_category' => '没有文字', |
3121 | 3918 | 'proofreadpage_quality1_category' => '未校对', |
3122 | 3919 | 'proofreadpage_quality2_category' => '有问题', |
3123 | 3920 | 'proofreadpage_quality3_category' => '已校对', |
— | — | @@ -3135,23 +3932,28 @@ |
3136 | 3933 | 备注||10', |
3137 | 3934 | ); |
3138 | 3935 | |
3139 | | -/** Traditional Chinese (中文(繁體)) */ |
| 3936 | +/** Traditional Chinese (中文(繁體)) |
| 3937 | + * @author Wrightbus |
| 3938 | + */ |
3140 | 3939 | $messages['zh-hant'] = array( |
3141 | 3940 | 'proofreadpage_desc' => '容許簡易地去比較原掃瞄和文字', |
3142 | 3941 | 'proofreadpage_namespace' => '頁面', |
3143 | 3942 | 'proofreadpage_index_namespace' => '索引', |
3144 | 3943 | 'proofreadpage_image' => '圖像', |
3145 | 3944 | 'proofreadpage_index' => '索引', |
| 3945 | + 'proofreadpage_badpage' => '格式錯誤', |
| 3946 | + 'proofreadpage_nologin' => '未登入', |
3146 | 3947 | 'proofreadpage_nextpage' => '下一頁', |
3147 | 3948 | 'proofreadpage_prevpage' => '上一頁', |
3148 | | - 'proofreadpage_header' => '首 (不包含):', |
3149 | | - 'proofreadpage_body' => '頁身 (包含):', |
3150 | | - 'proofreadpage_footer' => '尾 (不包含):', |
| 3949 | + 'proofreadpage_header' => '首 (不包含):', |
| 3950 | + 'proofreadpage_body' => '頁身 (包含):', |
| 3951 | + 'proofreadpage_footer' => '尾 (不包含):', |
3151 | 3952 | 'proofreadpage_toggleheaders' => '調整不包含段落之可見性', |
3152 | 3953 | 'proofreadpage_quality1_category' => '未校對', |
3153 | 3954 | 'proofreadpage_quality2_category' => '有問題', |
3154 | 3955 | 'proofreadpage_quality3_category' => '已校對', |
3155 | 3956 | 'proofreadpage_quality4_category' => '已認證', |
| 3957 | + 'proofreadpage_quality1_message' => '本頁面尚未進行校對', |
3156 | 3958 | 'proofreadpage_index_listofpages' => '頁面清單', |
3157 | 3959 | 'proofreadpage_image_message' => '連到索引頁的連結', |
3158 | 3960 | 'proofreadpage_page_status' => '頁面狀態', |
Index: branches/wmf-deployment/extensions/ProofreadPage/proofread_index.js |
— | — | @@ -45,6 +45,9 @@ |
46 | 46 | value = findparam(params,param_name); |
47 | 47 | value = value.replace(/\{\{!\}\}/g,'|'); |
48 | 48 | |
| 49 | + if( (m[0]=="Header") && (value=="") ) value = prp_default_header; |
| 50 | + if( (m[0]=="Footer") && (value=="") ) value = prp_default_footer; |
| 51 | + |
49 | 52 | if(m[2]) size=m[2]; else size="1"; |
50 | 53 | if(size=="1") { |
51 | 54 | str = str + '<td><input name="'+param_name+'" size=60 value="'+value+'"/></td></tr>'; |
— | — | @@ -52,7 +55,6 @@ |
53 | 56 | else{ |
54 | 57 | str = str +'<td><textarea name="'+param_name+'" cols=60 rows='+size+'>'+value+'</textarea></td></tr>'; |
55 | 58 | } |
56 | | - |
57 | 59 | } |
58 | 60 | str = str +'</table>'; |
59 | 61 | container.innerHTML = str; |
Index: branches/wmf-deployment/extensions/ProofreadPage/ProofreadPage.php |
— | — | @@ -1,5 +1,10 @@ |
2 | 2 | <?php |
3 | 3 | |
| 4 | +/* |
| 5 | + todo : |
| 6 | + - check unicity of the index page : when index is saved too |
| 7 | +*/ |
| 8 | + |
4 | 9 | if ( !defined( 'MEDIAWIKI' ) ) { |
5 | 10 | die( "ProofreadPage extension\n" ); |
6 | 11 | } |
— | — | @@ -9,16 +14,30 @@ |
10 | 15 | $wgExtensionMessagesFiles['ProofreadPage'] = dirname( __FILE__ ) . '/ProofreadPage.i18n.php'; |
11 | 16 | |
12 | 17 | $wgHooks['BeforePageDisplay'][] = 'pr_beforePageDisplay'; |
13 | | -$wgHooks['GetLinkColours'][] = 'pr_getLinkColours'; |
| 18 | +$wgHooks['GetLinkColours'][] = 'pr_getLinkColoursHook'; |
14 | 19 | $wgHooks['ImageOpenShowImageInlineBefore'][] = 'pr_imageMessage'; |
15 | | -$wgHooks['ArticleSaveComplete'][] = 'pr_articleSave'; |
| 20 | +$wgHooks['EditPage::attemptSave'][] = 'pr_attemptSave'; |
| 21 | +$wgHooks['ArticleSaveComplete'][] = 'pr_articleSaveComplete'; |
| 22 | +$wgHooks['ArticleDelete'][] = 'pr_articleDelete'; |
16 | 23 | $wgHooks['EditFormPreloadText'][] = 'pr_preloadText'; |
| 24 | +$wgHooks['ArticlePurge'][] = 'pr_articlePurge'; |
| 25 | +$wgHooks['SpecialMovepageAfterMove'][] = 'pr_movePage'; |
| 26 | +$wgHooks['LoadExtensionSchemaUpdates'][] = 'pr_schema_update'; |
| 27 | +$wgHooks['OutputPageBeforeHTML'][] = 'pr_OutputPageBeforeHTML'; |
| 28 | +$wgHooks['EditPage::importFormData'][] = 'pr_formData'; |
17 | 29 | |
| 30 | + |
| 31 | +# special page |
| 32 | +$wgAutoloadClasses['ProofreadPages'] = $dir . 'SpecialProofreadPages.php'; |
| 33 | +$wgSpecialPages['IndexPages'] = 'ProofreadPages'; |
| 34 | +$wgSpecialPageGroups['IndexPages'] = 'pages'; |
| 35 | + |
| 36 | + |
18 | 37 | # Allows for extracting text from djvu files. To enable, set to 'djvutxt' or similar |
19 | 38 | $wgDjvutxt = null; |
20 | 39 | |
21 | 40 | # Bump the version number every time you change proofread.js |
22 | | -$wgProofreadPageVersion = 21; |
| 41 | +$wgProofreadPageVersion = 23; |
23 | 42 | |
24 | 43 | # Max width of zoomable image |
25 | 44 | $wgProofreadPageMaxWidth = 2048; |
— | — | @@ -34,23 +53,59 @@ |
35 | 54 | ); |
36 | 55 | |
37 | 56 | $wgExtensionFunctions[] = "pr_main"; |
| 57 | + |
| 58 | + |
| 59 | +function pr_schema_update() { |
| 60 | + global $wgExtNewTables; |
| 61 | + $base = dirname(__FILE__); |
| 62 | + $wgExtNewTables[] = array( 'pr_index', "$base/ProofreadPage.sql" ); |
| 63 | + return true; |
| 64 | +} |
| 65 | + |
| 66 | + |
| 67 | + |
38 | 68 | function pr_main() { |
39 | 69 | global $wgParser; |
| 70 | + global $pr_page_namespace, $pr_index_namespace; |
40 | 71 | $wgParser->setHook( "pagelist", "pr_renderPageList" ); |
41 | 72 | $wgParser->setHook( "pages", "pr_renderPages" ); |
| 73 | + $wgParser->setHook( "pagequality", "pr_pageQuality" ); |
| 74 | + $pr_page_namespace = null; |
| 75 | + $pr_index_namespace = null; |
42 | 76 | } |
43 | 77 | |
44 | 78 | |
| 79 | +/* |
| 80 | + * accessor functions for page and index namespaces |
| 81 | + */ |
| 82 | +function pr_page_ns() { |
| 83 | + global $pr_page_namespace; |
| 84 | + if( is_null($pr_page_namespace) ) { |
| 85 | + wfLoadExtensionMessages( 'ProofreadPage' ); |
| 86 | + $pr_page_namespace = preg_quote( wfMsgForContent( 'proofreadpage_namespace' ), '/' ); |
| 87 | + } |
| 88 | + return $pr_page_namespace; |
| 89 | +} |
| 90 | + |
| 91 | +function pr_index_ns() { |
| 92 | + global $pr_index_namespace; |
| 93 | + if( is_null($pr_index_namespace) ) { |
| 94 | + wfLoadExtensionMessages( 'ProofreadPage' ); |
| 95 | + $pr_index_namespace = preg_quote( wfMsgForContent( 'proofreadpage_index_namespace' ), '/' ); |
| 96 | + } |
| 97 | + return $pr_index_namespace; |
| 98 | +} |
| 99 | + |
| 100 | + |
| 101 | + |
45 | 102 | /** |
46 | 103 | * Query the database to find if the current page is referred in an Index page. |
47 | 104 | */ |
48 | 105 | function pr_load_index( $title ) { |
49 | 106 | |
50 | | - $page_namespace = preg_quote( wfMsgForContent( 'proofreadpage_namespace' ), '/' ); |
51 | | - $index_namespace = preg_quote( wfMsgForContent( 'proofreadpage_index_namespace' ), '/' ); |
52 | | - |
| 107 | + $page_namespace = pr_page_ns(); |
| 108 | + $index_namespace = pr_index_ns(); |
53 | 109 | $title->pr_index_title = NULL; |
54 | | - |
55 | 110 | $dbr = wfGetDB( DB_SLAVE ); |
56 | 111 | $result = $dbr->select( |
57 | 112 | array( 'page', 'pagelinks' ), |
— | — | @@ -74,7 +129,6 @@ |
75 | 130 | if ( $title->pr_index_title ) return; |
76 | 131 | |
77 | 132 | /*check if we are a page of a multipage file*/ |
78 | | - |
79 | 133 | if ( preg_match( "/^$page_namespace:(.*?)(\/([0-9]*)|)$/", $title->getPrefixedText(), $m ) ) { |
80 | 134 | $imageTitle = Title::makeTitleSafe( NS_IMAGE, $m[1] ); |
81 | 135 | } |
— | — | @@ -85,49 +139,38 @@ |
86 | 140 | // if it is multipage, we use the page order of the file |
87 | 141 | if ( $image && $image->exists() && $image->isMultiPage() ) { |
88 | 142 | |
89 | | - $pagenr = 1; |
90 | | - $parts = explode( '/', $title->getText() ); |
91 | | - if ( count( $parts ) > 1 ) { |
92 | | - $pagenr = intval( array_pop( $parts ) ); |
93 | | - } |
94 | | - $count = $image->pageCount(); |
95 | | - if ( $pagenr < 1 || $pagenr > $count || $count <= 1 ) { |
96 | | - return $err; |
97 | | - } |
98 | 143 | $name = $image->getTitle()->getText(); |
99 | 144 | $index_name = "$index_namespace:$name"; |
100 | | - $prev_name = "$page_namespace:$name/" . ( $pagenr - 1 ); |
101 | | - $next_name = "$page_namespace:$name/" . ( $pagenr + 1 ); |
102 | | - $prev_url = ( $pagenr == 1 ) ? '' : Title::newFromText( $prev_name )->getFullURL(); |
103 | | - $next_url = ( $pagenr == $count ) ? '' : Title::newFromText( $next_name )->getFullURL(); |
104 | 145 | |
105 | | - $title->pr_page_num = "$pagenr"; |
106 | | - |
107 | 146 | if ( !$title->pr_index_title ) { |
108 | 147 | // there is no index, or the page is not listed in the index : use canonical index |
109 | 148 | $title->pr_index_title = $index_name; |
110 | 149 | } |
111 | 150 | } |
112 | | - |
113 | | - |
114 | 151 | } |
115 | 152 | |
116 | 153 | |
117 | 154 | /** |
118 | 155 | * return the URLs of the index, previous and next pages. |
119 | 156 | */ |
120 | | -function pr_navigation( $image ) { |
121 | | - global $wgTitle; |
122 | | - $index_title = Title::newFromText( $wgTitle->pr_index_title ); |
| 157 | +function pr_navigation( $title ) { |
123 | 158 | |
124 | | - $page_namespace = preg_quote( wfMsgForContent( 'proofreadpage_namespace' ), '/' ); |
125 | | - $index_namespace = preg_quote( wfMsgForContent( 'proofreadpage_index_namespace' ), '/' ); |
126 | | - $err = array( '', '', '', array() ); |
| 159 | + $page_namespace = pr_page_ns(); |
| 160 | + $default_header = wfMsgGetKey( 'proofreadpage_default_header', true, true, false ); |
| 161 | + $default_footer = wfMsgGetKey( 'proofreadpage_default_footer', true, true, false ); |
127 | 162 | |
| 163 | + $err = array( '', '', '', '', '' ); |
| 164 | + $index_title = Title::newFromText( $title->pr_index_title ); |
| 165 | + if ( !$index_title ) { |
| 166 | + return $err; |
| 167 | + } |
| 168 | + |
| 169 | + $imageTitle = Title::makeTitleSafe( NS_IMAGE, $index_title->getText() ); |
| 170 | + $image = wfFindFile( $imageTitle ); |
128 | 171 | // if multipage, we use the page order, but we should read pagenum from the index |
129 | 172 | if ( $image && $image->exists() && $image->isMultiPage() ) { |
130 | 173 | $pagenr = 1; |
131 | | - $parts = explode( '/', $wgTitle->getText() ); |
| 174 | + $parts = explode( '/', $title->getText() ); |
132 | 175 | if ( count( $parts ) > 1 ) { |
133 | 176 | $pagenr = intval( array_pop( $parts ) ); |
134 | 177 | } |
— | — | @@ -136,59 +179,57 @@ |
137 | 180 | return $err; |
138 | 181 | } |
139 | 182 | $name = $image->getTitle()->getText(); |
140 | | - $index_name = "$index_namespace:$name"; |
141 | 183 | $prev_name = "$page_namespace:$name/" . ( $pagenr - 1 ); |
142 | 184 | $next_name = "$page_namespace:$name/" . ( $pagenr + 1 ); |
143 | 185 | $prev_url = ( $pagenr == 1 ) ? '' : Title::newFromText( $prev_name )->getFullURL(); |
144 | 186 | $next_url = ( $pagenr == $count ) ? '' : Title::newFromText( $next_name )->getFullURL(); |
145 | 187 | |
146 | | - if ( !$index_title ) { |
147 | | - // there is no index, or the page is not listed in the index : use canonical index |
148 | | - $index_title = Title::newFromText( $index_name ); |
149 | | - } |
150 | 188 | } else { |
151 | 189 | $prev_url = ''; |
152 | 190 | $next_url = ''; |
153 | 191 | } |
154 | 192 | |
155 | | - if ( !$index_title ) { |
156 | | - return array( '', $prev_url, $next_url, array() ) ; |
157 | | - } |
158 | | - |
159 | 193 | $index_url = $index_title->getFullURL(); |
160 | 194 | |
161 | 195 | if ( !$index_title->exists() ) { |
162 | | - return array( $index_url, $prev_url, $next_url, array() ); |
| 196 | + return array( $index_url, $prev_url, $next_url, $default_header, $default_footer ); |
163 | 197 | } |
164 | 198 | |
165 | 199 | //if the index page exists, find current page number, previous and next pages |
166 | | - list( $links, $params, $attributes ) = pr_parse_index($index_title); |
| 200 | + list( $text_links, $links, $params, $attributes ) = pr_parse_index($index_title); |
167 | 201 | |
168 | | - if($params){ |
169 | | - list($pagenum, $links, $mode) = pr_pageNumber($wgTitle->pr_page_num,$params); |
| 202 | + if( $links==null ) { |
| 203 | + list($pagenum, $links, $mode) = pr_pageNumber($pagenr,$params); |
170 | 204 | $attributes["pagenum"] = $pagenum; |
171 | | - } |
172 | | - else{ |
| 205 | + } else { |
173 | 206 | for( $i=0; $i<count( $links[1] ); $i++) { |
174 | | - $a_title = Title::newFromText( $links[1][$i] ); |
| 207 | + $a_title = Title::newFromText( $page_namespace.":".$links[1][$i] ); |
175 | 208 | if(!$a_title) continue; |
176 | | - if( $a_title->getPrefixedText() == $wgTitle->getPrefixedText() ) { |
| 209 | + if( $a_title->getPrefixedText() == $title->getPrefixedText() ) { |
177 | 210 | $attributes["pagenum"] = $links[3][$i]; |
178 | 211 | break; |
179 | 212 | } |
180 | 213 | } |
181 | 214 | if( ($i>0) && ($i<count($links[1])) ){ |
182 | | - $prev_title = Title::newFromText( $links[1][$i-1] ); |
| 215 | + $prev_title = Title::newFromText( $page_namespace.":".$links[1][$i-1] ); |
183 | 216 | } |
184 | 217 | if( ($i>=0) && ($i+1<count($links[1])) ){ |
185 | | - $next_title = Title::newFromText( $links[1][$i+1] ); |
| 218 | + $next_title = Title::newFromText( $page_namespace.":".$links[1][$i+1] ); |
186 | 219 | } |
187 | 220 | if($prev_title) $prev_url = $prev_title->getFullURL(); |
188 | 221 | if($next_title) $next_url = $next_title->getFullURL(); |
189 | 222 | } |
190 | 223 | |
191 | | - return array( $index_url, $prev_url, $next_url, $attributes ); |
| 224 | + // Header and Footer |
| 225 | + $header = $attributes['header'] ? $attributes['header'] : $default_header; |
| 226 | + $footer = $attributes['footer'] ? $attributes['footer'] : $default_footer; |
| 227 | + foreach ( $attributes as $key => $val ) { |
| 228 | + $header = str_replace( "{{{{$key}}}}", $val, $header ); |
| 229 | + $footer = str_replace( "{{{{$key}}}}", $val, $footer ); |
| 230 | + } |
192 | 231 | |
| 232 | + return array( $index_url, $prev_url, $next_url, $header, $footer ); |
| 233 | + |
193 | 234 | } |
194 | 235 | |
195 | 236 | |
— | — | @@ -198,19 +239,22 @@ |
199 | 240 | * it will return either a list of links or a list |
200 | 241 | * of parameters to pagelist, and a list of attributes. |
201 | 242 | */ |
202 | | -function pr_parse_index($index_title){ |
| 243 | +function pr_parse_index( $index_title ){ |
203 | 244 | |
204 | 245 | $err = array( false, false, array() ); |
205 | | - |
206 | | - $page_namespace = preg_quote( wfMsgForContent( 'proofreadpage_namespace' ), '/' ); |
207 | | - $index_namespace = preg_quote( wfMsgForContent( 'proofreadpage_index_namespace' ), '/' ); |
208 | | - |
209 | 246 | if ( !$index_title ) return $err; |
210 | 247 | if ( !$index_title->exists() ) return $err; |
211 | 248 | |
212 | 249 | $rev = Revision::newFromTitle( $index_title ); |
213 | 250 | $text = $rev->getText(); |
| 251 | + return pr_parse_index_text( $text ); |
| 252 | +} |
214 | 253 | |
| 254 | + |
| 255 | +function pr_parse_index_text( $text ){ |
| 256 | + global $wgParser; |
| 257 | + |
| 258 | + $page_namespace = pr_page_ns(); |
215 | 259 | //check if it is using pagelist |
216 | 260 | preg_match_all( "/<pagelist([^<]*?)\/>/is", $text, $m, PREG_PATTERN_ORDER ); |
217 | 261 | if( $m[1] ) { |
— | — | @@ -222,10 +266,18 @@ |
223 | 267 | $links = null; |
224 | 268 | } else { |
225 | 269 | $params = null; |
226 | | - $tag_pattern = "/\[\[($page_namespace:.*?)(\|(.*?)|)\]\]/i"; |
| 270 | + $tag_pattern = "/\[\[$page_namespace:(.*?)(\|(.*?)|)\]\]/i"; |
227 | 271 | preg_match_all( $tag_pattern, $text, $links, PREG_PATTERN_ORDER ); |
228 | 272 | } |
229 | 273 | |
| 274 | + //links in ns-0. Only if mOptions exist |
| 275 | + if( $wgParser->mOptions ) { |
| 276 | + $rtext = $wgParser->replaceVariables( $text ); |
| 277 | + $text_links_pattern = "/\[\[([^:\|]*?)(\|(.*?)|)\]\]/i"; |
| 278 | + preg_match_all( $text_links_pattern, $rtext, $text_links, PREG_PATTERN_ORDER ); |
| 279 | + } |
| 280 | + else $text_links = null; |
| 281 | + |
230 | 282 | //read attributes |
231 | 283 | $attributes = array(); |
232 | 284 | $var_names = explode(" ", wfMsgForContent('proofreadpage_js_attributes') ); |
— | — | @@ -239,7 +291,7 @@ |
240 | 292 | $attributes[$var] = ''; |
241 | 293 | } |
242 | 294 | } |
243 | | - return array( $links, $params, $attributes ); |
| 295 | + return array( $text_links, $links, $params, $attributes ); |
244 | 296 | |
245 | 297 | } |
246 | 298 | |
— | — | @@ -250,7 +302,6 @@ |
251 | 303 | function pr_beforePageDisplay( &$out ) { |
252 | 304 | global $wgTitle, $wgJsMimeType, $wgScriptPath, $wgRequest, $wgProofreadPageVersion; |
253 | 305 | |
254 | | - wfLoadExtensionMessages( 'ProofreadPage' ); |
255 | 306 | $action = $wgRequest->getVal( 'action' ); |
256 | 307 | $isEdit = ( $action == 'submit' || $action == 'edit' ) ? 1 : 0; |
257 | 308 | if ( !isset( $wgTitle ) || ( !$out->isArticle() && !$isEdit ) || isset( $out->proofreadPageDone ) ) { |
— | — | @@ -258,16 +309,13 @@ |
259 | 310 | } |
260 | 311 | $out->proofreadPageDone = true; |
261 | 312 | |
262 | | - $page_namespace = preg_quote( wfMsgForContent( 'proofreadpage_namespace' ), '/' ); |
| 313 | + $page_namespace = pr_page_ns(); |
263 | 314 | if ( preg_match( "/^$page_namespace:(.*?)(\/([0-9]*)|)$/", $wgTitle->getPrefixedText(), $m ) ) { |
264 | | - if ( !isset( $wgTitle->pr_index_title ) ) { |
265 | | - pr_load_index( $wgTitle ); |
266 | | - } |
267 | 315 | pr_preparePage( $out, $m, $isEdit ); |
268 | 316 | return true; |
269 | 317 | } |
270 | 318 | |
271 | | - $index_namespace = preg_quote( wfMsgForContent( 'proofreadpage_index_namespace' ), '/' ); |
| 319 | + $index_namespace = pr_index_ns(); |
272 | 320 | if ( $isEdit && ( preg_match( "/^$index_namespace:(.*?)(\/([0-9]*)|)$/", $wgTitle->getPrefixedText(), $m ) ) ) { |
273 | 321 | pr_prepareIndex( $out ); |
274 | 322 | return true; |
— | — | @@ -288,15 +336,21 @@ |
289 | 337 | ); |
290 | 338 | $out->addScript( "<script type=\"{$wgJsMimeType}\"> |
291 | 339 | var prp_index_attributes = \"" . Xml::escapeJsString( wfMsgForContent( 'proofreadpage_index_attributes' ) ) . "\"; |
| 340 | +var prp_default_header = \"" . Xml::escapeJsString( wfMsgGetKey( 'proofreadpage_default_header', true, true, false ) ) . "\"; |
| 341 | +var prp_default_footer = \"" . Xml::escapeJsString( wfMsgGetKey( 'proofreadpage_default_footer', true, true, false ) ) . "\"; |
292 | 342 | </script>\n" |
293 | 343 | ); |
294 | | - |
295 | 344 | } |
296 | 345 | |
297 | 346 | |
298 | 347 | function pr_preparePage( $out, $m, $isEdit ) { |
299 | 348 | global $wgJsMimeType, $wgScriptPath, $wgRequest, $wgProofreadPageVersion, $wgProofreadPageMaxWidth; |
| 349 | + global $wgTitle; |
300 | 350 | |
| 351 | + if ( !isset( $wgTitle->pr_index_title ) ) { |
| 352 | + pr_load_index( $wgTitle ); |
| 353 | + } |
| 354 | + |
301 | 355 | $imageTitle = Title::makeTitleSafe( NS_IMAGE, $m[1] ); |
302 | 356 | if ( !$imageTitle ) { |
303 | 357 | return true; |
— | — | @@ -329,7 +383,7 @@ |
330 | 384 | $thumbURL = ''; |
331 | 385 | } |
332 | 386 | |
333 | | - list( $index_url, $prev_url, $next_url, $attributes ) = pr_navigation( $image ); |
| 387 | + list( $index_url, $prev_url, $next_url, $header, $footer ) = pr_navigation( $wgTitle ); |
334 | 388 | |
335 | 389 | $jsFile = htmlspecialchars( "$wgScriptPath/extensions/ProofreadPage/proofread.js?$wgProofreadPageVersion" ); |
336 | 390 | |
— | — | @@ -342,18 +396,9 @@ |
343 | 397 | 'proofreadPageIndexURL' => $index_url, |
344 | 398 | 'proofreadPagePrevURL' => $prev_url, |
345 | 399 | 'proofreadPageNextURL' => $next_url, |
346 | | - ) + $attributes; |
347 | | - |
348 | | - // Header and Footer |
349 | | - $header = $attributes['header'] ? $attributes['header'] : wfMsgGetKey( 'proofreadpage_default_header', true, false, false ); |
350 | | - $footer = $attributes['footer'] ? $attributes['footer'] : wfMsgGetKey( 'proofreadpage_default_footer', true, false, false ); |
351 | | - foreach ( $attributes as $key => $val ) { |
352 | | - $header = str_replace( "{{{{$key}}}}", $val, $header ); |
353 | | - $footer = str_replace( "{{{{$key}}}}", $val, $footer ); |
354 | | - } |
355 | | - $jsVars['proofreadPageHeader'] = $header; |
356 | | - $jsVars['proofreadPageFooter'] = $footer; |
357 | | - |
| 400 | + 'proofreadPageHeader' => $header, |
| 401 | + 'proofreadPageFooter' => $footer, |
| 402 | + ); |
358 | 403 | $varScript = Skin::makeVariablesScript( $jsVars ); |
359 | 404 | |
360 | 405 | $out->addScript( <<<EOT |
— | — | @@ -386,35 +431,37 @@ |
387 | 432 | |
388 | 433 | |
389 | 434 | /** |
390 | | - * Return the quality colour codes to pages linked from an index page |
391 | | - * Update page counts in pr_index table |
| 435 | + * Hook function |
392 | 436 | */ |
393 | | -function pr_getLinkColours( $page_ids, &$colours ) { |
| 437 | +function pr_getLinkColoursHook( $page_ids, &$colours ) { |
394 | 438 | global $wgTitle; |
395 | 439 | |
396 | 440 | if ( !isset( $wgTitle ) ) { |
397 | 441 | return true; |
398 | 442 | } |
399 | | - wfLoadExtensionMessages( 'ProofreadPage' ); |
400 | 443 | |
401 | 444 | // abort if we are not an index page |
402 | | - $index_namespace = preg_quote( wfMsgForContent( 'proofreadpage_index_namespace' ), '/' ); |
403 | | - if ( !preg_match( "/^$index_namespace:(.*?)$/", $wgTitle->getPrefixedText() ) ) { |
| 445 | + $index_namespace = pr_index_ns(); |
| 446 | + if ( !preg_match( "/^$index_namespace:(.*?)$/", $wgTitle->getPrefixedText(), $m ) ) { |
404 | 447 | return true; |
405 | 448 | } |
| 449 | + pr_getLinkColours( $page_ids, $colours ); |
| 450 | + return true; |
| 451 | +} |
| 452 | + |
406 | 453 | |
407 | | - // counters |
408 | | - $n = $n0 = $n1 = $n2 = $n3 = $n4 = 0; |
| 454 | +/** |
| 455 | + * Return the quality colour codes to pages linked from an index page |
| 456 | + */ |
| 457 | +function pr_getLinkColours( $page_ids, &$colours ) { |
409 | 458 | |
| 459 | + $page_namespace = pr_page_ns(); |
410 | 460 | $dbr = wfGetDB( DB_SLAVE ); |
411 | 461 | $catlinks = $dbr->tableName( 'categorylinks' ); |
412 | 462 | foreach ( $page_ids as $id => $pdbk ) { |
413 | 463 | // consider only link in page namespace |
414 | | - $page_namespace = preg_quote( wfMsgForContent( 'proofreadpage_namespace' ), '/' ); |
415 | 464 | if ( preg_match( "/^$page_namespace:(.*?)$/", $pdbk ) ) { |
416 | 465 | $colours[$pdbk] = 'quality1'; |
417 | | - $n++; |
418 | | - |
419 | 466 | if ( !isset( $query ) ) { |
420 | 467 | $query = "SELECT cl_from, cl_to FROM $catlinks WHERE cl_from IN("; |
421 | 468 | } else { |
— | — | @@ -433,44 +480,35 @@ |
434 | 481 | switch( $x->cl_to ) { |
435 | 482 | case str_replace( ' ' , '_' , wfMsgForContent( 'proofreadpage_quality0_category' ) ): |
436 | 483 | $colours[$pdbk] = 'quality0'; |
437 | | - $n0++; |
438 | 484 | break; |
439 | 485 | case str_replace( ' ' , '_' , wfMsgForContent( 'proofreadpage_quality1_category' ) ): |
440 | 486 | $colours[$pdbk] = 'quality1'; |
441 | | - $n1++; |
442 | 487 | break; |
443 | 488 | case str_replace( ' ' , '_' , wfMsgForContent( 'proofreadpage_quality2_category' ) ): |
444 | 489 | $colours[$pdbk] = 'quality2'; |
445 | | - $n2++; |
446 | 490 | break; |
447 | 491 | case str_replace( ' ' , '_' , wfMsgForContent( 'proofreadpage_quality3_category' ) ): |
448 | 492 | $colours[$pdbk] = 'quality3'; |
449 | | - $n3++; |
450 | 493 | break; |
451 | 494 | case str_replace( ' ' , '_' , wfMsgForContent( 'proofreadpage_quality4_category' ) ): |
452 | 495 | $colours[$pdbk] = 'quality4'; |
453 | | - $n4++; |
454 | 496 | break; |
455 | 497 | } |
456 | 498 | } |
457 | 499 | } |
458 | | - |
459 | | - return true; |
460 | 500 | } |
461 | 501 | |
462 | 502 | function pr_imageMessage( &$imgpage , &$wgOut ) { |
463 | 503 | global $wgUser; |
464 | | - $sk = $wgUser->getSkin(); |
465 | 504 | |
| 505 | + $index_namespace = pr_index_ns(); |
466 | 506 | $image = $imgpage->img; |
467 | 507 | if ( !$image->isMultiPage() ) { |
468 | 508 | return true; |
469 | 509 | } |
470 | 510 | |
471 | | - wfLoadExtensionMessages( 'ProofreadPage' ); |
472 | | - $index_namespace = preg_quote( wfMsgForContent( 'proofreadpage_index_namespace' ), '/' ); |
| 511 | + $sk = $wgUser->getSkin(); |
473 | 512 | $name = $image->getTitle()->getText(); |
474 | | - |
475 | 513 | $link = $sk->makeKnownLink( "$index_namespace:$name", wfMsg( 'proofreadpage_image_message' ) ); |
476 | 514 | $wgOut->addHTML( "{$link}" ); |
477 | 515 | |
— | — | @@ -480,6 +518,7 @@ |
481 | 519 | |
482 | 520 | // credit : http://www.mediawiki.org/wiki/Extension:RomanNumbers |
483 | 521 | function toRoman( $num ) { |
| 522 | + |
484 | 523 | if ( $num < 0 || $num > 9999 ) { |
485 | 524 | return - 1; |
486 | 525 | } |
— | — | @@ -511,6 +550,7 @@ |
512 | 551 | |
513 | 552 | |
514 | 553 | function pr_pageNumber( $i, $args ) { |
| 554 | + |
515 | 555 | $mode = 'normal'; // default |
516 | 556 | $offset = 0; |
517 | 557 | $links = true; |
— | — | @@ -562,14 +602,35 @@ |
563 | 603 | |
564 | 604 | |
565 | 605 | /* |
| 606 | + * add the pagequality category. |
| 607 | + * todo : display whether page has been proofread by the user or by someone else |
| 608 | + */ |
| 609 | +function pr_pageQuality( $input, $args ) { |
| 610 | + global $wgUser, $wgTitle, $wgParser; |
| 611 | + |
| 612 | + $page_namespace = pr_page_ns(); |
| 613 | + if ( !preg_match( "/^$page_namespace:(.*?)(\/([0-9]*)|)$/", $wgTitle->getPrefixedText() ) ) { |
| 614 | + return ""; |
| 615 | + } |
| 616 | + $q = $args['level']; |
| 617 | + if( ! in_array( $q, array('0','1','2','3','4') ) ) { |
| 618 | + return ""; |
| 619 | + } |
| 620 | + $message = "<div id=\"pagequality\" width=100% class=quality$q><div id=\"pagequality_content\">".wfMsgForContent( "proofreadpage_quality{$q}_message" )."</div></div>"; |
| 621 | + $out = "__NOEDITSECTION__[[Category:".wfMsgForContent( "proofreadpage_quality{$q}_category" )."]]"; |
| 622 | + return $wgParser->recursiveTagParse( $out . $message); |
| 623 | +} |
| 624 | + |
| 625 | + |
| 626 | +/* |
566 | 627 | * Parser hook for index pages |
567 | 628 | * Display a list of coloured links to pages |
568 | 629 | */ |
569 | 630 | function pr_renderPageList( $input, $args ) { |
570 | | - global $wgUser, $wgTitle; |
571 | | - wfLoadExtensionMessages( 'ProofreadPage' ); |
| 631 | + global $wgUser, $wgTitle, $wgParser; |
572 | 632 | |
573 | | - $index_namespace = preg_quote( wfMsgForContent( 'proofreadpage_index_namespace' ), '/' ); |
| 633 | + $page_namespace = pr_page_ns(); |
| 634 | + $index_namespace = pr_index_ns(); |
574 | 635 | if ( !preg_match( "/^$index_namespace:(.*?)(\/([0-9]*)|)$/", $wgTitle->getPrefixedText(), $m ) ) { |
575 | 636 | return ""; |
576 | 637 | } |
— | — | @@ -587,15 +648,7 @@ |
588 | 649 | $return = ""; |
589 | 650 | $name = $imageTitle->getDBkey(); |
590 | 651 | $count = $image->pageCount(); |
591 | | - $dbr = wfGetDB( DB_SLAVE ); |
592 | | - $pagetable = $dbr->tableName( 'page' ); |
593 | 652 | |
594 | | - $page_namespace = preg_quote( wfMsgForContent( 'proofreadpage_namespace' ), '/' ); |
595 | | - $page_ns_index = MWNamespace::getCanonicalIndex( strtolower( $page_namespace ) ); |
596 | | - if ( $page_ns_index == NULL ) { |
597 | | - $page_ns_index = NS_MAIN; |
598 | | - } |
599 | | - |
600 | 653 | $from = $args['from']; |
601 | 654 | $to = $args['to']; |
602 | 655 | if( !$from ) $from = 1; |
— | — | @@ -608,31 +661,6 @@ |
609 | 662 | return '<strong class="error">' . wfMsgForContent( 'proofreadpage_invalid_interval' ) . '</strong>'; |
610 | 663 | } |
611 | 664 | |
612 | | - for ( $i = $from - 1; $i < $to; $i++ ) { |
613 | | - if ( !isset( $query ) ) { |
614 | | - $query = "SELECT page_id, page_title, page_namespace"; |
615 | | - $query .= " FROM $pagetable WHERE (page_namespace=" . intval( $page_ns_index ) . " AND page_title IN("; |
616 | | - } else { |
617 | | - $query .= ', '; |
618 | | - } |
619 | | - $link_name = "$name" . '/' . ( $i + 1 ) ; |
620 | | - $query .= $dbr->addQuotes( $link_name ); |
621 | | - } |
622 | | - $query .= '))'; |
623 | | - $res = $dbr->query( $query, __METHOD__ ); |
624 | | - |
625 | | - $colours = array(); |
626 | | - $linkcolour_ids = array(); |
627 | | - while ( $s = $dbr->fetchObject( $res ) ) { |
628 | | - $title = Title::makeTitle( $s->page_namespace, $s->page_title ); |
629 | | - $pdbk = $title->getPrefixedDBkey(); |
630 | | - $colours[$pdbk] = 'known'; |
631 | | - $linkcolour_ids[$s->page_id] = $pdbk; |
632 | | - } |
633 | | - pr_getLinkColours( $linkcolour_ids, $colours ); |
634 | | - |
635 | | - $sk = $wgUser->getSkin(); |
636 | | - |
637 | 665 | for ( $i = $from; $i < $to + 1; $i++ ) { |
638 | 666 | $pdbk = "$page_namespace:$name" . '/' . $i ; |
639 | 667 | list( $view, $links, $mode ) = pr_pageNumber( $i, $args ); |
— | — | @@ -652,14 +680,10 @@ |
653 | 681 | if ( $links == false ) { |
654 | 682 | $return .= $view . " "; |
655 | 683 | } else { |
656 | | - if ( !isset( $colours[$pdbk] ) ) { |
657 | | - $link = $sk->makeBrokenLinkObj( $title, $view ); |
658 | | - } else { |
659 | | - $link = $sk->makeColouredLinkObj( $title, $colours[$pdbk], $view ); |
660 | | - } |
661 | | - $return .= "{$link} "; |
| 684 | + $return .= "[[".$title->getPrefixedText()."|$view]] "; |
662 | 685 | } |
663 | 686 | } |
| 687 | + $return = $wgParser->recursiveTagParse($return); |
664 | 688 | return $return; |
665 | 689 | } |
666 | 690 | |
— | — | @@ -668,21 +692,17 @@ |
669 | 693 | |
670 | 694 | /* |
671 | 695 | * Parser hook that includes a list of pages. |
672 | | - * It needs 3 parameters : index, from, to |
673 | | - * |
674 | | - * todo : handle LST... |
| 696 | + * parameters : index, from, to, header |
675 | 697 | */ |
676 | 698 | function pr_renderPages( $input, $args ) { |
677 | 699 | global $wgParser, $wgTitle; |
678 | 700 | |
679 | | - wfLoadExtensionMessages( 'ProofreadPage' ); |
680 | | - |
681 | | - $index_namespace = preg_quote( wfMsgForContent( 'proofreadpage_index_namespace' ), '/' ); |
682 | | - $page_namespace = preg_quote( wfMsgForContent( 'proofreadpage_namespace' ), '/' ); |
683 | | - |
| 701 | + $page_namespace = pr_page_ns(); |
| 702 | + $index_namespace = pr_index_ns(); |
684 | 703 | $index = $args['index']; |
685 | 704 | $from = $args['from']; |
686 | 705 | $to = $args['to']; |
| 706 | + $header = $args['header']; |
687 | 707 | |
688 | 708 | if( ! $index ) { |
689 | 709 | return '<strong class="error">' . wfMsgForContent( 'proofreadpage_index_expected' ) . '</strong>'; |
— | — | @@ -692,8 +712,8 @@ |
693 | 713 | return '<strong class="error">' . wfMsgForContent( 'proofreadpage_nosuch_index' ) . '</strong>'; |
694 | 714 | } |
695 | 715 | |
696 | | - $out = '<span id="pr_index" class="hiddenStructure"><a href="'.$index_title->escapeFullUrl().'">'.$index_namespace.'</a> </span>'; |
697 | | - list( $links, $params, $attributes ) = pr_parse_index( $index_title ); |
| 716 | + $out = ''; |
| 717 | + list( $text_links, $links, $params, $attributes ) = pr_parse_index( $index_title ); |
698 | 718 | |
699 | 719 | if( $links==null ) { |
700 | 720 | $imageTitle = Title::makeTitleSafe( NS_IMAGE, $index ); |
— | — | @@ -722,50 +742,258 @@ |
723 | 743 | for( $i=$from; $i<=$to;$i++ ) { |
724 | 744 | $text = "$page_namespace:$index/" . $i; |
725 | 745 | list($pagenum, $links, $mode) = pr_pageNumber($i,$params); |
726 | | - $input = "{{:MediaWiki:Proofreadpage_pagenum_template|page=".$text."|num=$pagenum}}"; |
727 | | - $out.= $wgParser->recursiveTagParse($input); |
728 | | - $input = "{{:".$text."}}"; |
729 | | - $out.= $wgParser->recursiveTagParse($input); |
| 746 | + $out.= "<span>{{:MediaWiki:Proofreadpage_pagenum_template|page=".$text."|num=$pagenum}}</span>"; |
| 747 | + if( $args["$i"] != null){ |
| 748 | + $out.= "{{#lst:".$text."|".$args["$i"]."}}"; |
| 749 | + } else if($i == $from && $args["fromsection"]){ |
| 750 | + $out.= "{{#lst:".$text."|".$args["fromsection"]."}}"; |
| 751 | + } else if($i == $to && $args["tosection"]){ |
| 752 | + $out.= "{{#lst:".$text."|".$args["tosection"]."}}"; |
| 753 | + } else { |
| 754 | + $out.= "{{:".$text."}}"; |
| 755 | + } |
| 756 | + if( $i == $from ) $from_pagenum = $pagenum; |
| 757 | + if( $i == $to ) $to_pagenum = $pagenum; |
730 | 758 | } |
731 | 759 | } |
732 | 760 | else { |
733 | | - $adding = false; |
734 | | - for( $i=0; $i<count( $links[1] ); $i++) { |
| 761 | + if($from) { |
| 762 | + $adding = false; |
| 763 | + } else { |
| 764 | + $adding = true; |
| 765 | + $from_pagenum = $links[3][0]; |
| 766 | + } |
| 767 | + for( $i=0; $i < count( $links[1] ); $i++) { |
735 | 768 | $text = $links[1][$i]; |
736 | 769 | $pagenum = $links[3][$i]; |
737 | | - if($text == $page_namespace.":".$from ) $adding = true; |
| 770 | + if($text == $from ) { |
| 771 | + $adding = true; |
| 772 | + $from_pagenum = $pagenum; |
| 773 | + } |
738 | 774 | if($adding){ |
739 | | - $input = "{{:MediaWiki:Proofreadpage_pagenum_template|page=".$text."|num=$pagenum}}"; |
740 | | - $out.= $wgParser->recursiveTagParse($input); |
741 | | - $input= "{{:".$text."}}"; |
742 | | - $out.= $wgParser->recursiveTagParse($input); |
| 775 | + $out.= "<span>{{:MediaWiki:Proofreadpage_pagenum_template|page=" |
| 776 | + .$page_namespace.":".$text."|num=$pagenum}}</span>"; |
| 777 | + if($text == $from && $args["fromsection"]){ |
| 778 | + $out.= "{{#lst:".$page_namespace.":".$text."|".$args["fromsection"]."}}"; |
| 779 | + } else if($text == $to && $args["tosection"]){ |
| 780 | + $out.= "{{#lst:".$page_namespace.":".$text."|".$args["tosection"]."}}"; |
| 781 | + } else { |
| 782 | + $out.= "{{:".$page_namespace.":".$text."}}"; |
| 783 | + } |
743 | 784 | } |
744 | | - if($text == $page_namespace.":".$to ) $adding = false; |
| 785 | + if($text == $to ) { |
| 786 | + $adding = false; |
| 787 | + $to_pagenum = $pagenum; |
| 788 | + } |
745 | 789 | } |
| 790 | + if( !$to ) { |
| 791 | + $to_pagenum = $links[3][ count( $links[1] ) - 1 ]; |
| 792 | + } |
746 | 793 | } |
| 794 | + |
| 795 | + if( $header ) { |
| 796 | + $h_out = '{{:MediaWiki:Proofreadpage_header_template'; |
| 797 | + $h_out .= "|value=$header"; |
| 798 | + //find next and previous pages in list |
| 799 | + for( $i=1; $i < count( $text_links[1] ); $i++) { |
| 800 | + if( $text_links[1][$i] == $wgTitle->getPrefixedText() ) { |
| 801 | + $current = $text_links[0][$i]; |
| 802 | + break; |
| 803 | + } |
| 804 | + } |
| 805 | + if( ( $i > 1 ) && ( $i < count( $text_links[1] ) ) ) { |
| 806 | + $prev = $text_links[0][$i-1]; |
| 807 | + } |
| 808 | + if( ( $i >= 1 ) && ( $i + 1 < count( $text_links[1] ) ) ) { |
| 809 | + $next = $text_links[0][$i+1]; |
| 810 | + } |
| 811 | + if( $current ) $h_out .= "|current=$current"; |
| 812 | + if( $prev ) $h_out .= "|prev=$prev"; |
| 813 | + if( $next ) $h_out .= "|next=$next"; |
| 814 | + if( $from_pagenum ) $h_out .= "|from=$from_pagenum"; |
| 815 | + if( $to_pagenum ) $h_out .= "|to=$to_pagenum"; |
| 816 | + foreach ( $attributes as $key => $val ) { |
| 817 | + $h_out .= "|$key=$val"; |
| 818 | + } |
| 819 | + $h_out .= '}}'; |
| 820 | + $out = $h_out . $out; |
| 821 | + } |
| 822 | + |
| 823 | + $out = $wgParser->recursiveTagParse($out); |
747 | 824 | return $out; |
748 | 825 | } |
749 | 826 | |
| 827 | +/* |
| 828 | + * Try to parse a page. |
| 829 | + * Return quality status of the page and username of the proofreader |
| 830 | + * Return -1 if the page cannot be parsed |
| 831 | + */ |
| 832 | +function pr_parse_page( $text ) { |
| 833 | + global $wgTitle, $wgUser; |
750 | 834 | |
| 835 | + $username = $wgUser->getName(); |
| 836 | + $page_regexp = "/^<noinclude>(.*?)<\/noinclude>(.*?)<noinclude>(.*?)<\/noinclude>$/s"; |
| 837 | + if( !preg_match( $page_regexp, $text, $m ) ) { |
| 838 | + pr_load_index( $wgTitle ); |
| 839 | + list( $index_url, $prev_url, $next_url, $header, $footer ) = pr_navigation( $wgTitle ); |
| 840 | + $new_text = "<noinclude><pagequality level=\"1\" user=\"$username\" />" |
| 841 | + ."$header\n\n\n</noinclude>$text<noinclude>\n$footer</noinclude>"; |
| 842 | + return array( -1, null, $new_text ); |
| 843 | + } |
751 | 844 | |
| 845 | + $header_regexp = "/^<pagequality level=\"(0|1|2|3|4)\" user=\"(.*?)\" \/>/"; |
| 846 | + $header = $m[1]; |
| 847 | + $body = $m[2]; |
| 848 | + $footer = $m[3]; |
| 849 | + if( !preg_match( $header_regexp, $header, $m2 ) ) { |
| 850 | + $new_text = "<noinclude><pagequality level=\"1\" user=\"$username\" />" |
| 851 | + ."$header\n\n\n</noinclude>$body<noinclude>\n$footer</noinclude>"; |
| 852 | + return array( -1, null, $new_text ); |
| 853 | + } |
752 | 854 | |
753 | | -/* update coloured links in index pages */ |
754 | | -function pr_articleSave( $article ) { |
| 855 | + return array( intval($m2[1]), $m2[2], null ); |
| 856 | +} |
755 | 857 | |
756 | | - wfLoadExtensionMessages( 'ProofreadPage' ); |
757 | | - $page_namespace = preg_quote( wfMsgForContent( 'proofreadpage_namespace' ), '/' ); |
758 | | - $index_namespace = preg_quote( wfMsgForContent( 'proofreadpage_namespace' ), '/' ); |
759 | 858 | |
| 859 | + |
| 860 | +function pr_formData( $editpage, $request ) { |
| 861 | + global $wgTitle; |
| 862 | + |
| 863 | + $page_namespace = pr_page_ns(); |
| 864 | + //abort if we are not a page |
| 865 | + if ( ! preg_match( "/^$page_namespace:(.*)$/", $wgTitle->getPrefixedText() ) ) { |
| 866 | + return true; |
| 867 | + } |
| 868 | + if ( ! $request->wasPosted() ) { |
| 869 | + return true; |
| 870 | + } |
| 871 | + $editpage->quality = $request->getVal( 'quality' ); |
| 872 | + $editpage->username = $editpage->safeUnicodeInput( $request, 'wpProofreader' ); |
| 873 | + $editpage->header = $editpage->safeUnicodeInput( $request, 'wpHeaderTextbox' ); |
| 874 | + $editpage->footer = $editpage->safeUnicodeInput( $request, 'wpFooterTextbox' ); |
| 875 | + |
| 876 | + //we want to keep ordinary spaces at the end of the main textbox |
| 877 | + $text = rtrim( $request->getText( 'wpTextbox1' ), "\t\n\r\0\x0B"); |
| 878 | + $editpage->textbox1 = $request->getBool( 'safemode' ) |
| 879 | + ? $editpage->unmakesafe( $text ) |
| 880 | + : $text; |
| 881 | + |
| 882 | + if( $editpage->quality != null ) { |
| 883 | + //format the page |
| 884 | + $text = "<noinclude><pagequality level=\"".$editpage->quality."\" user=\"".$editpage->username."\" />" |
| 885 | + .$editpage->header."\n\n\n</noinclude>" |
| 886 | + .$editpage->textbox1 |
| 887 | + ."\n<noinclude>\n".$editpage->footer."</noinclude>"; |
| 888 | + $editpage->textbox1 = $text; |
| 889 | + } else { |
| 890 | + //replace deprecated template |
| 891 | + $text = $editpage->textbox1; |
| 892 | + $text = preg_replace( "/\{\{PageQuality\|(0|1|2|3|4)(|\|(.*?))\}\}/is", "<pagequality level=\"\\1\" user=\"\\3\" />", $text ); |
| 893 | + $editpage->textbox1 = $text; |
| 894 | + } |
| 895 | + return true; |
| 896 | +} |
| 897 | + |
| 898 | + |
| 899 | +/* |
| 900 | + * Check the format of pages in "Page" namespace. |
| 901 | + */ |
| 902 | +function pr_attemptSave( $editpage ) { |
| 903 | + global $wgOut, $wgUser; |
| 904 | + |
| 905 | + $page_namespace = pr_page_ns(); |
| 906 | + $index_namespace = pr_index_ns(); |
| 907 | + $title = $editpage->mTitle; |
| 908 | + |
| 909 | + //check that pages listed on an index are unique. |
| 910 | + if ( preg_match( "/^$index_namespace:(.*)$/", $title->getPrefixedText() ) ) { |
| 911 | + $text = $editpage->textbox1; |
| 912 | + list( $text_links, $links, $params, $attributes ) = pr_parse_index_text($text); |
| 913 | + if( $links!=null && count($links[1]) != count( array_unique($links[1]))) { |
| 914 | + $wgOut->showErrorPage( 'proofreadpage_indexdupe', 'proofreadpage_indexdupetext' ); |
| 915 | + return false; |
| 916 | + }; |
| 917 | + return true; |
| 918 | + } |
| 919 | + |
| 920 | + //abort if we are not a page |
| 921 | + if ( ! preg_match( "/^$page_namespace:(.*)$/", $title->getPrefixedText() ) ) { |
| 922 | + return true; |
| 923 | + } |
| 924 | + |
| 925 | + $text = $editpage->textbox1; |
| 926 | + //parse the page |
| 927 | + list( $q , $username, $ptext ) = pr_parse_page( $text ); |
| 928 | + if( $q == -1 ) { |
| 929 | + $editpage->textbox1 = $ptext; |
| 930 | + return true; |
| 931 | + } |
| 932 | + |
| 933 | + //read previous revision, so that I know how much I need to add to pr_index |
| 934 | + $rev = Revision::newFromTitle( $title ); |
| 935 | + if( $rev ) { |
| 936 | + $old_text = $rev->getText(); |
| 937 | + list( $old_q , $old_username, $old_ptext ) = pr_parse_page( $old_text ); |
| 938 | + } else { |
| 939 | + if($q == 4) { |
| 940 | + $wgOut->showErrorPage( 'proofreadpage_notallowed', 'proofreadpage_notallowedtext' ); |
| 941 | + return false; |
| 942 | + } |
| 943 | + $old_q = -1; |
| 944 | + } |
| 945 | + |
| 946 | + //check usernames |
| 947 | + if( $old_q != -1 ) { |
| 948 | + if( ($old_q != $q) && $wgUser->isAnon() ) { |
| 949 | + $wgOut->showErrorPage( 'proofreadpage_nologin', 'proofreadpage_nologintext' ); |
| 950 | + return false; |
| 951 | + } |
| 952 | + if ( ( ($old_username != $username) || ($old_q != $q) ) && ($wgUser->getName() != $username) ) { |
| 953 | + $wgOut->showErrorPage( 'proofreadpage_notallowed', 'proofreadpage_notallowedtext' ); |
| 954 | + return false; |
| 955 | + } |
| 956 | + if( ( ($q == 4) && ($old_q < 3) ) || ( ($q == 4) && ($old_q == 3) && ($old_username == $username) ) ) { |
| 957 | + $wgOut->showErrorPage( 'proofreadpage_notallowed', 'proofreadpage_notallowedtext' ); |
| 958 | + return false; |
| 959 | + } |
| 960 | + } |
| 961 | + |
| 962 | + $editpage->mArticle->new_q = $q; |
| 963 | + $editpage->mArticle->old_q = $old_q; |
| 964 | + |
| 965 | + return true; |
| 966 | + |
| 967 | +} |
| 968 | + |
| 969 | + |
| 970 | +/* |
| 971 | + * if I delete a page, I need to update the index table |
| 972 | + * if I delete an index page too... |
| 973 | + */ |
| 974 | +function pr_articleDelete( $article ) { |
| 975 | + |
| 976 | + $page_namespace = pr_page_ns(); |
| 977 | + $index_namespace = pr_index_ns(); |
760 | 978 | $title = $article->mTitle; |
761 | 979 | |
| 980 | + if ( preg_match( "/^$index_namespace:(.*)$/", $title->getPrefixedText() ) ) { |
| 981 | + $id = $article->getID(); |
| 982 | + $dbw = wfGetDB( DB_MASTER ); |
| 983 | + $pr_index = $dbw->tableName( 'pr_index' ); |
| 984 | + $dbw->query ("DELETE FROM $pr_index WHERE pr_page_id=$id"); |
| 985 | + $dbw->commit(); |
| 986 | + return true; |
| 987 | + } |
| 988 | + |
762 | 989 | if ( preg_match( "/^$page_namespace:(.*)$/", $title->getPrefixedText() ) ) { |
763 | | - if ( !isset( $title->pr_index_title ) ) { |
764 | | - pr_load_index( $title ); |
765 | | - } |
766 | | - if ( $title->pr_index_title ) { |
767 | | - $index_title = Title::makeTitleSafe( $index_namespace, $title->pr_index_title ); |
| 990 | + pr_load_index( $title ); |
| 991 | + if( $title->pr_index_title ) { |
| 992 | + $index_title = Title::newFromText( $title->pr_index_title ); |
768 | 993 | $index_title->invalidateCache(); |
| 994 | + $index = new Article( $index_title ); |
| 995 | + if( $index ) pr_update_pr_index( $index, $title->getDBKey() ); |
769 | 996 | } |
| 997 | + return true; |
770 | 998 | } |
771 | 999 | |
772 | 1000 | return true; |
— | — | @@ -773,11 +1001,90 @@ |
774 | 1002 | } |
775 | 1003 | |
776 | 1004 | |
| 1005 | +function pr_articleSaveComplete( $article ) { |
| 1006 | + |
| 1007 | + $page_namespace = pr_page_ns(); |
| 1008 | + $index_namespace = pr_index_ns(); |
| 1009 | + $title = $article->mTitle; |
| 1010 | + |
| 1011 | + //if it's an index, update pr_index table |
| 1012 | + if ( preg_match( "/^$index_namespace:(.*)$/", $title->getPrefixedText(), $m ) ) { |
| 1013 | + pr_update_pr_index( $article ); |
| 1014 | + return true; |
| 1015 | + } |
| 1016 | + |
| 1017 | + //return if it is not a page |
| 1018 | + if ( ! preg_match( "/^$page_namespace:(.*)$/", $title->getPrefixedText() ) ) { |
| 1019 | + return true; |
| 1020 | + } |
| 1021 | + |
| 1022 | + $dbw = wfGetDB( DB_MASTER ); |
| 1023 | + |
| 1024 | + /* check if there is an index */ |
| 1025 | + if ( !isset( $title->pr_index_title ) ) { |
| 1026 | + pr_load_index( $title ); |
| 1027 | + } |
| 1028 | + if( ! $title->pr_index_title ) { |
| 1029 | + return true; |
| 1030 | + } |
| 1031 | + |
| 1032 | + /* |
| 1033 | + * invalidate the cache of the index page |
| 1034 | + */ |
| 1035 | + if ( $title->pr_index_title ) { |
| 1036 | + $index_title = Title::newFromText( $title->pr_index_title ); |
| 1037 | + $index_title->invalidateCache(); |
| 1038 | + } |
| 1039 | + |
| 1040 | + /* |
| 1041 | + * update pr_index iteratively |
| 1042 | + */ |
| 1043 | + $index = new Article( $index_title ); |
| 1044 | + $index_id = $index->getID(); |
| 1045 | + $dbr = wfGetDB( DB_SLAVE ); |
| 1046 | + $pr_index = $dbr->tableName( 'pr_index' ); |
| 1047 | + $query = "SELECT * FROM $pr_index WHERE pr_page_id=".$index_id; |
| 1048 | + $res = $dbr->query( $query, __METHOD__ ); |
| 1049 | + if( $x = $dbr->fetchObject( $res ) ) { |
| 1050 | + $n = $x->pr_count ; |
| 1051 | + $n0 = $x->pr_q0 ; |
| 1052 | + $n1 = $x->pr_q1 ; |
| 1053 | + $n2 = $x->pr_q2 ; |
| 1054 | + $n3 = $x->pr_q3 ; |
| 1055 | + $n4 = $x->pr_q4 ; |
| 1056 | + |
| 1057 | + switch( $article->new_q ) { |
| 1058 | + case 0: $n0 = $n0 + 1; break; |
| 1059 | + case 1: $n1 = $n1 + 1; break; |
| 1060 | + case 2: $n2 = $n2 + 1; break; |
| 1061 | + case 3: $n3 = $n3 + 1; break; |
| 1062 | + case 4: $n4 = $n4 + 1; break; |
| 1063 | + } |
| 1064 | + |
| 1065 | + switch( $article->old_q ) { |
| 1066 | + case 0: $n0 = $n0 - 1; break; |
| 1067 | + case 1: $n1 = $n1 - 1; break; |
| 1068 | + case 2: $n2 = $n2 - 1; break; |
| 1069 | + case 3: $n3 = $n3 - 1; break; |
| 1070 | + case 4: $n4 = $n4 - 1; break; |
| 1071 | + } |
| 1072 | + |
| 1073 | + $query = "REPLACE INTO $pr_index (pr_page_id, pr_count, pr_q0, pr_q1, pr_q2, pr_q3, pr_q4) VALUES ({$index_id},$n,$n0,$n1,$n2,$n3,$n4)"; |
| 1074 | + $dbw->query ( $query ); |
| 1075 | + $dbw->commit(); |
| 1076 | + |
| 1077 | + } |
| 1078 | + $dbr->freeResult( $res ); |
| 1079 | + |
| 1080 | + return true; |
| 1081 | +} |
| 1082 | + |
| 1083 | + |
| 1084 | +/* preload Djvu Text */ |
777 | 1085 | function pr_preloadText( $textbox1, $mTitle ) { |
778 | 1086 | global $wgDjvuTxt; |
779 | 1087 | |
780 | | - $page_namespace = preg_quote( wfMsgForContent( 'proofreadpage_namespace' ), '/' ); |
781 | | - |
| 1088 | + $page_namespace = pr_page_ns(); |
782 | 1089 | if ( $wgDjvuTxt && preg_match( "/^$page_namespace:(.*?)\/([0-9]*)$/", $mTitle->getPrefixedText(), $m ) ) { |
783 | 1090 | $imageTitle = Title::makeTitleSafe( NS_IMAGE, $m[1] ); |
784 | 1091 | if ( !$imageTitle ) { |
— | — | @@ -785,14 +1092,215 @@ |
786 | 1093 | } |
787 | 1094 | |
788 | 1095 | $image = wfFindFile( $imageTitle ); |
789 | | - if ( $image && $image->exists() && $image->getMimeType() == 'image/vnd.djvu' ) { |
790 | | - $text = $image->handler->getPageText($image, $m[2]); |
791 | | - if ( $text ) { |
792 | | - $text = preg_replace( "/(\\\\n)/", "\n", $text ); |
793 | | - $text = preg_replace( "/(\\\\\d*)/", "", $text ); |
794 | | - $textbox1 = $text; |
| 1096 | + if ( $image && $image->exists() ) { |
| 1097 | + $mime = $image->getMimeType(); |
| 1098 | + if( $mime == 'image/vnd.djvu' /*|| $mime == 'application/pdf'*/ ) { |
| 1099 | + $text = $image->handler->getPageText($image, $m[2]); |
| 1100 | + if ( $text ) { |
| 1101 | + $text = preg_replace( "/(\\\\n)/", "\n", $text ); |
| 1102 | + $text = preg_replace( "/(\\\\\d*)/", "", $text ); |
| 1103 | + $textbox1 = $text; |
| 1104 | + } |
795 | 1105 | } |
796 | 1106 | } |
797 | 1107 | } |
798 | 1108 | return true; |
799 | 1109 | } |
| 1110 | + |
| 1111 | + |
| 1112 | + |
| 1113 | +function pr_movePage( $form, $ot, $nt ) { |
| 1114 | + |
| 1115 | + $page_namespace = pr_page_ns(); |
| 1116 | + if ( preg_match( "/^$page_namespace:(.*)$/", $ot->getPrefixedText() ) ) { |
| 1117 | + pr_load_index( $ot ); |
| 1118 | + if( $ot->pr_index_title ) { |
| 1119 | + $index_title = Title::newFromText( $ot->pr_index_title ); |
| 1120 | + $index_title->invalidateCache(); |
| 1121 | + $index = new Article( $index_title ); |
| 1122 | + if( $index ) pr_update_pr_index( $index ); |
| 1123 | + } |
| 1124 | + return true; |
| 1125 | + } |
| 1126 | + |
| 1127 | + if ( preg_match( "/^$page_namespace:(.*)$/", $nt->getPrefixedText() ) ) { |
| 1128 | + pr_load_index( $nt ); |
| 1129 | + if( $nt->pr_index_title && ($nt->pr_index_title!=$ot->pr_index_title) ) { |
| 1130 | + $index_title = Title::newFromText( $nt->pr_index_title ); |
| 1131 | + $index_title->invalidateCache(); |
| 1132 | + $index = new Article( $index_title ); |
| 1133 | + if( $index ) pr_update_pr_index( $index ); |
| 1134 | + } |
| 1135 | + return true; |
| 1136 | + } |
| 1137 | + return true; |
| 1138 | +} |
| 1139 | + |
| 1140 | + |
| 1141 | +/* |
| 1142 | + * When an index page is created or purged, recompute pr_index values |
| 1143 | + */ |
| 1144 | +function pr_articlePurge( $article ) { |
| 1145 | + |
| 1146 | + $index_namespace = pr_index_ns(); |
| 1147 | + $title = $article->mTitle; |
| 1148 | + if ( preg_match( "/^$index_namespace:(.*)$/", $title->getPrefixedText() ) ) { |
| 1149 | + pr_update_pr_index( $article ); |
| 1150 | + return true; |
| 1151 | + } |
| 1152 | + return true; |
| 1153 | +} |
| 1154 | + |
| 1155 | + |
| 1156 | + |
| 1157 | +function pr_query_count( $dbr, $query, $cat ){ |
| 1158 | + $q = $dbr->strencode( str_replace( ' ' , '_' , wfMsgForContent( $cat ) ) ); |
| 1159 | + $res = $dbr->query( str_replace( '###', $q, $query) , __METHOD__ ); |
| 1160 | + if( $res && $dbr->numRows( $res ) > 0 ) { |
| 1161 | + $row = $dbr->fetchObject( $res ); |
| 1162 | + $n = $row->count; |
| 1163 | + $dbr->freeResult( $res ); |
| 1164 | + return $n; |
| 1165 | + } |
| 1166 | + return 0; |
| 1167 | +} |
| 1168 | + |
| 1169 | + |
| 1170 | +/* |
| 1171 | + * update the pr_index entry of an article |
| 1172 | + */ |
| 1173 | +function pr_update_pr_index( $index, $deletedpage=null ) { |
| 1174 | + |
| 1175 | + $page_namespace = pr_page_ns(); |
| 1176 | + $index_namespace = pr_index_ns(); |
| 1177 | + $page_ns_index = MWNamespace::getCanonicalIndex( strtolower( $page_namespace ) ); |
| 1178 | + if ( $page_ns_index == NULL ) { |
| 1179 | + return; |
| 1180 | + } |
| 1181 | + |
| 1182 | + $index_title = $index->mTitle; |
| 1183 | + $index_id = $index->getID(); |
| 1184 | + $dbr = wfGetDB( DB_SLAVE ); |
| 1185 | + |
| 1186 | + //read the list of pages |
| 1187 | + $pages = array(); |
| 1188 | + list( $text_links, $links, $params, $attributes ) = pr_parse_index( $index_title ); |
| 1189 | + if( $links==null ) { |
| 1190 | + $imageTitle = Title::makeTitleSafe( NS_IMAGE, $index_title->getText() ); |
| 1191 | + if ( $imageTitle ) { |
| 1192 | + $image = wfFindFile( $imageTitle ); |
| 1193 | + if ( $image && $image->isMultiPage() && $image->pageCount() ) { |
| 1194 | + $n = $image->pageCount(); |
| 1195 | + for ( $i = 1; $i <= $n; $i++ ) { |
| 1196 | + $page = $index_title->getDBKey().'/'.$i; |
| 1197 | + if($page != $deletedpage) array_push( $pages, $page ); |
| 1198 | + } |
| 1199 | + } |
| 1200 | + } |
| 1201 | + } else { |
| 1202 | + $n = count($links[1]); |
| 1203 | + for ( $i = 0; $i < $n; $i++ ) { |
| 1204 | + $page = $dbr->strencode( str_replace( ' ' , '_' , $links[1][$i] ) ); |
| 1205 | + if($page != $deletedpage) array_push( $pages, $page ); |
| 1206 | + } |
| 1207 | + } |
| 1208 | + |
| 1209 | + $catlinks = $dbr->tableName( 'categorylinks' ); |
| 1210 | + $page = $dbr->tableName( 'page' ); |
| 1211 | + $pagelist = "'".implode( "', '", $pages)."'"; |
| 1212 | + |
| 1213 | + $query = "SELECT COUNT(page_id) AS count FROM $page WHERE page_namespace=$page_ns_index AND page_title IN ( $pagelist )" ; |
| 1214 | + $res = $dbr->query( $query , __METHOD__ ); |
| 1215 | + if( $res && $dbr->numRows( $res ) > 0 ) { |
| 1216 | + $row = $dbr->fetchObject( $res ); |
| 1217 | + $total = $row->count; |
| 1218 | + $dbr->freeResult( $res ); |
| 1219 | + } else { |
| 1220 | + return; |
| 1221 | + } |
| 1222 | + |
| 1223 | + # proofreading status of pages |
| 1224 | + $query = "SELECT COUNT(page_id) AS count FROM $page LEFT JOIN $catlinks ON cl_from=page_id WHERE cl_to='###' AND page_namespace=$page_ns_index AND page_title IN ( $pagelist )" ; |
| 1225 | + $n0 = pr_query_count( $dbr, $query, 'proofreadpage_quality0_category' ); |
| 1226 | + $n2 = pr_query_count( $dbr, $query, 'proofreadpage_quality2_category' ); |
| 1227 | + $n3 = pr_query_count( $dbr, $query, 'proofreadpage_quality3_category' ); |
| 1228 | + $n4 = pr_query_count( $dbr, $query, 'proofreadpage_quality4_category' ); |
| 1229 | + $n1 = $total - $n0 - $n2 - $n3 - $n4; |
| 1230 | + |
| 1231 | + $dbw = wfGetDB( DB_MASTER ); |
| 1232 | + $pr_index = $dbw->tableName( 'pr_index' ); |
| 1233 | + $query = "REPLACE INTO $pr_index (pr_page_id, pr_count, pr_q0, pr_q1, pr_q2, pr_q3, pr_q4) VALUES ({$index_id},$n,$n0,$n1,$n2,$n3,$n4)"; |
| 1234 | + $dbw->query ( $query ); |
| 1235 | + $dbw->commit(); |
| 1236 | +} |
| 1237 | + |
| 1238 | + |
| 1239 | + |
| 1240 | + |
| 1241 | +/* |
| 1242 | + * In ns-0, display the proofreading status of transcluded pages |
| 1243 | + */ |
| 1244 | +function pr_OutputPageBeforeHTML( $out, $text ) { |
| 1245 | + global $wgTitle, $wgUser; |
| 1246 | + |
| 1247 | + if($wgTitle->getNamespace() != NS_MAIN){ |
| 1248 | + return true; |
| 1249 | + } |
| 1250 | + |
| 1251 | + $id = $wgTitle->mArticleID; |
| 1252 | + if($id == -1) { |
| 1253 | + return true; |
| 1254 | + } |
| 1255 | + |
| 1256 | + $page_namespace = pr_page_ns(); |
| 1257 | + $index_namespace = pr_index_ns(); |
| 1258 | + $page_ns_index = MWNamespace::getCanonicalIndex( strtolower( $page_namespace ) ); |
| 1259 | + $index_ns_index = MWNamespace::getCanonicalIndex( strtolower( $index_namespace ) ); |
| 1260 | + if( $page_ns_index==null || $index_ns_index == null){ |
| 1261 | + return true; |
| 1262 | + } |
| 1263 | + |
| 1264 | + $dbr = wfGetDB( DB_SLAVE ); |
| 1265 | + $pr_index = $dbr->tableName( 'pr_index' ); |
| 1266 | + $page = $dbr->tableName( 'page' ); |
| 1267 | + $pagelinks = $dbr->tableName( 'pagelinks' ); |
| 1268 | + $templatelinks = $dbr->tableName( 'templatelinks' ); |
| 1269 | + $catlinks = $dbr->tableName( 'categorylinks' ); |
| 1270 | + |
| 1271 | + # count transclusions from page namespace |
| 1272 | + $query = "SELECT COUNT(page_id) AS count FROM $templatelinks LEFT JOIN $page ON page_title=tl_title where tl_from=$id and tl_namespace=$page_ns_index"; |
| 1273 | + $res = $dbr->query( $query , __METHOD__ ); |
| 1274 | + if( $res && $dbr->numRows( $res ) > 0 ) { |
| 1275 | + $row = $dbr->fetchObject( $res ); |
| 1276 | + $n = $row->count; |
| 1277 | + $dbr->freeResult( $res ); |
| 1278 | + } |
| 1279 | + if($n == 0) { |
| 1280 | + return true; |
| 1281 | + } |
| 1282 | + |
| 1283 | + # find the proofreading status of transclusions |
| 1284 | + $query = "SELECT COUNT(page_id) AS count FROM $templatelinks LEFT JOIN $page ON page_title=tl_title LEFT JOIN $catlinks ON cl_from=page_id where tl_from=$id and tl_namespace=$page_ns_index AND cl_to='###'"; |
| 1285 | + $n0 = pr_query_count( $dbr, $query, 'proofreadpage_quality0_category' ); |
| 1286 | + $n2 = pr_query_count( $dbr, $query, 'proofreadpage_quality2_category' ); |
| 1287 | + $n3 = pr_query_count( $dbr, $query, 'proofreadpage_quality3_category' ); |
| 1288 | + $n4 = pr_query_count( $dbr, $query, 'proofreadpage_quality4_category' ); |
| 1289 | + # quality1 is the default value |
| 1290 | + $n1 = $n - $n0 - $n2 - $n3 - $n4; |
| 1291 | + |
| 1292 | + # find the index page |
| 1293 | + $indexquery = "SELECT DISTINCT p2.page_title AS title FROM $templatelinks LEFT JOIN $page AS p1 ON page_title=tl_title LEFT JOIN $pagelinks ON pl_title=page_title LEFT JOIN $page AS p2 ON p2.page_id=pl_from WHERE tl_from=$id AND tl_namespace=$page_ns_index AND pl_title=p1.page_title AND p2.page_namespace=$index_ns_index"; |
| 1294 | + $res = $dbr->query( $indexquery , __METHOD__ ); |
| 1295 | + if( $res && $dbr->numRows( $res ) > 0 ) { |
| 1296 | + $row = $dbr->fetchObject( $res ); |
| 1297 | + $title = $row->title; |
| 1298 | + $dbr->freeResult( $res ); |
| 1299 | + $sk = $wgUser->getSkin(); |
| 1300 | + $indexlink = $sk->makeKnownLink( "$index_namespace:$title", "[index]" ); |
| 1301 | + } else { |
| 1302 | + $indexlink=""; |
| 1303 | + } |
| 1304 | + $output = wfMsgForContent( 'proofreadpage_quality_message', $n0*100/$n, $n1*100/$n, $n2*100/$n, $n3*100/$n, $n4*100/$n, $n, $indexlink ); |
| 1305 | + $out->setSubtitle($output); |
| 1306 | + return true; |
| 1307 | +}; |
Index: branches/wmf-deployment/extensions/ProofreadPage/SpecialProofreadPages.php |
— | — | @@ -0,0 +1,116 @@ |
| 2 | +<?php |
| 3 | +/** |
| 4 | + * @file |
| 5 | + * @ingroup SpecialPage |
| 6 | + */ |
| 7 | + |
| 8 | + |
| 9 | +if ( !defined( 'MEDIAWIKI' ) ) die( 1 ); |
| 10 | +global $wgHooks, $IP; |
| 11 | +require_once "$IP/includes/QueryPage.php"; |
| 12 | + |
| 13 | + |
| 14 | +class ProofreadPages extends SpecialPage { |
| 15 | + |
| 16 | + function ProofreadPages() { |
| 17 | + SpecialPage::SpecialPage( 'IndexPages' ); |
| 18 | + } |
| 19 | + |
| 20 | + function execute( $parameters ) { |
| 21 | + $this->setHeaders(); |
| 22 | + list( $limit, $offset ) = wfCheckLimits(); |
| 23 | + |
| 24 | + $cnl = new ProofreadPagesQuery(); |
| 25 | + $cnl->doQuery( $offset, $limit ); |
| 26 | + } |
| 27 | +} |
| 28 | + |
| 29 | + |
| 30 | + |
| 31 | +class ProofreadPagesQuery extends QueryPage { |
| 32 | + |
| 33 | + function getName() { |
| 34 | + return 'IndexPages'; |
| 35 | + } |
| 36 | + |
| 37 | + function isExpensive() { |
| 38 | + return false; |
| 39 | + } |
| 40 | + |
| 41 | + function isSyndicated() { |
| 42 | + return false; |
| 43 | + } |
| 44 | + |
| 45 | + function getSQL() { |
| 46 | + $dbr = wfGetDB( DB_SLAVE ); |
| 47 | + $page = $dbr->tableName( 'page' ); |
| 48 | + $pr_index = $dbr->tableName( 'pr_index' ); |
| 49 | + |
| 50 | + return |
| 51 | + "SELECT pr_page_id as title, |
| 52 | + page_title as title, |
| 53 | + pr_count, |
| 54 | + pr_q0, |
| 55 | + pr_q1, |
| 56 | + pr_q2, |
| 57 | + pr_q3, |
| 58 | + pr_q4 |
| 59 | + FROM $pr_index |
| 60 | + LEFT JOIN $page ON page_id = pr_page_id"; |
| 61 | + } |
| 62 | + |
| 63 | + function getOrder() { |
| 64 | + return ' ORDER BY 2*pr_q4+pr_q3 ' . |
| 65 | + ($this->sortDescending() ? 'DESC' : ''); |
| 66 | + } |
| 67 | + |
| 68 | + function sortDescending() { |
| 69 | + return true; |
| 70 | + } |
| 71 | + |
| 72 | + function formatResult( $skin, $result ) { |
| 73 | + global $wgLang, $wgContLang; |
| 74 | + |
| 75 | + $index_namespace = pr_index_ns(); |
| 76 | + $title = Title::newFromText( $index_namespace.":".$result->title ); |
| 77 | + |
| 78 | + if ( !$title ) { |
| 79 | + return '<!-- Invalid title ' . htmlspecialchars( $index_namespace.":".$result->title ). '-->'; |
| 80 | + } |
| 81 | + $plink = $this->isCached() |
| 82 | + ? $skin->link( $title , htmlspecialchars( $title->getText() ) ) |
| 83 | + : $skin->linkKnown( $title , htmlspecialchars( $title->getText() ) ); |
| 84 | + |
| 85 | + if ( !$title->exists() ) { |
| 86 | + return "<s>{$plink}</s>"; |
| 87 | + } |
| 88 | + |
| 89 | + $size = $result->pr_count; |
| 90 | + $q0 = $result->pr_q0; |
| 91 | + $q1 = $result->pr_q1; |
| 92 | + $q2 = $result->pr_q2; |
| 93 | + $q3 = $result->pr_q3; |
| 94 | + $q4 = $result->pr_q4; |
| 95 | + |
| 96 | + $pages = wfMsg( 'proofreadpage_pages', $size ); |
| 97 | + |
| 98 | + $output = "<table style=\"line-height:70%;\" border=0 cellpadding=5 cellspacing=0 > |
| 99 | +<tr valign=\"bottom\"> |
| 100 | +<td>{$plink}</td> |
| 101 | +<td> [$size $pages] </td> |
| 102 | +<td> |
| 103 | +<table style=\"line-height:70%;\" border=0 cellpadding=0 cellspacing=0 > |
| 104 | +<tr> |
| 105 | +<td width=\"2\"> </td> |
| 106 | +<td align=center class='quality4' width=\"$q4\"></td> |
| 107 | +<td align=center class='quality3' width=\"$q3\"></td> |
| 108 | +<td align=center class='quality2' width=\"$q2\"></td> |
| 109 | +<td align=center class='quality1' width=\"$q1\"></td> |
| 110 | +<td align=center class='quality0' width=\"$q0\"></td> |
| 111 | +</tr></table> |
| 112 | +</td> |
| 113 | +</tr></table>"; |
| 114 | + |
| 115 | + return $output; |
| 116 | + } |
| 117 | +} |
Property changes on: branches/wmf-deployment/extensions/ProofreadPage/SpecialProofreadPages.php |
___________________________________________________________________ |
Name: svn:eol-style |
1 | 118 | + native |
Index: branches/wmf-deployment/extensions/ProofreadPage/ProofreadPage.sql |
— | — | @@ -0,0 +1,15 @@ |
| 2 | +-- Table for the ProofreadPage extension. |
| 3 | +-- Holds a count of the number of pages at each quality level |
| 4 | +CREATE TABLE IF NOT EXISTS /*$wgDBprefix*/pr_index ( |
| 5 | + -- Foreign key to page.page_id |
| 6 | + pr_page_id integer NOT NULL, |
| 7 | + -- number of pages in index |
| 8 | + pr_count integer NOT NULL default '0', |
| 9 | + -- number of pages in each quality level |
| 10 | + pr_q0 integer NOT NULL default '0', |
| 11 | + pr_q1 integer NOT NULL default '0', |
| 12 | + pr_q2 integer NOT NULL default '0', |
| 13 | + pr_q3 integer NOT NULL default '0', |
| 14 | + pr_q4 integer NOT NULL default '0', |
| 15 | + PRIMARY KEY (pr_page_id) |
| 16 | +) /*$wgDBTableOptions*/; |
Property changes on: branches/wmf-deployment/extensions/ProofreadPage/ProofreadPage.sql |
___________________________________________________________________ |
Name: svn:eol-style |
1 | 17 | + native |
Index: branches/wmf-deployment/extensions/ProofreadPage/proofread.js |
— | — | @@ -114,8 +114,10 @@ |
115 | 115 | //find the PageQuality template |
116 | 116 | //we do this separately from header detection, |
117 | 117 | //because the template might not be in the header |
118 | | - var reg = /\{\{PageQuality\|(0|1|2|3|4|25%|50%|75%|100%)(\|(.*?|))\}\}/g; |
| 118 | + var reg = /<pagequality level=\"(0|1|2|3|4)\" user=\"(.*?)\" \/>/g; |
119 | 119 | var m4 = reg.exec(pageHeader); |
| 120 | + var old_reg = /\{\{PageQuality\|(0|1|2|3|4)(\|(.*?|))\}\}/g; |
| 121 | + var old_m4 = old_reg.exec(pageHeader); |
120 | 122 | if( m4 ) { |
121 | 123 | switch( m4[1] ) { |
122 | 124 | case "0": self.proofreadpage_quality = 0; break; |
— | — | @@ -123,22 +125,28 @@ |
124 | 126 | case "2": self.proofreadpage_quality = 2; break; |
125 | 127 | case "3": self.proofreadpage_quality = 3; break; |
126 | 128 | case "4": self.proofreadpage_quality = 4; break; |
127 | | - //keep this for backward compatibility |
128 | | - case "100%": self.proofreadpage_quality = 4; break; |
129 | | - case "75%": self.proofreadpage_quality = 3; break; |
130 | | - case "50%": self.proofreadpage_quality = 1; break; |
131 | | - case "25%": self.proofreadpage_quality = 2; break; |
132 | 129 | default: self.proofreadpage_quality = 1; |
133 | 130 | } |
134 | | - self.proofreadpage_username = m4[3]; |
| 131 | + self.proofreadpage_username = m4[2]; |
135 | 132 | pageHeader = pageHeader.replace(reg,''); |
136 | 133 | } |
| 134 | + else if (old_m4 ) { |
| 135 | + switch( old_m4[1] ) { |
| 136 | + case "0": self.proofreadpage_quality = 0; break; |
| 137 | + case "1": self.proofreadpage_quality = 1; break; |
| 138 | + case "2": self.proofreadpage_quality = 2; break; |
| 139 | + case "3": self.proofreadpage_quality = 3; break; |
| 140 | + case "4": self.proofreadpage_quality = 4; break; |
| 141 | + default: self.proofreadpage_quality = 1; |
| 142 | + } |
| 143 | + self.proofreadpage_username = old_m4[3]; |
| 144 | + pageHeader = pageHeader.replace(old_reg,''); |
| 145 | + } |
137 | 146 | else { |
138 | 147 | self.proofreadpage_quality = 1; |
139 | 148 | self.proofreadpage_username = ""; |
140 | 149 | } |
141 | 150 | |
142 | | - |
143 | 151 | //escape & character |
144 | 152 | pageBody = pageBody.split("&").join("&") |
145 | 153 | pageHeader = pageHeader.split("&").join("&") |
— | — | @@ -148,28 +156,16 @@ |
149 | 157 | + '<div id="prp_header" style="display:none;">' |
150 | 158 | + '<span style="color:gray;font-size:80%;line-height:100%;">' |
151 | 159 | + escapeQuotesHTML(proofreadPageMessageHeader) + '</span>' |
152 | | - + '<textarea name="headerTextbox" rows="2" cols="80">' + pageHeader + '</textarea><br/>' |
| 160 | + + '<textarea name="wpHeaderTextbox" rows="2" cols="80">' + pageHeader + '</textarea><br/>' |
153 | 161 | + '<span style="color:gray;font-size:80%;line-height:100%;">' |
154 | 162 | + escapeQuotesHTML(proofreadPageMessagePageBody) + '</span></div>' |
155 | 163 | + '<textarea name="wpTextbox1" id="wpTextbox1" style="height:' + ( self.DisplayHeight - 6 ) + 'px;">' + pageBody + '</textarea>' |
156 | 164 | + '<div id="prp_footer" style="display:none;">' |
157 | 165 | + '<span style="color:gray;font-size:80%;line-height:100%;">' |
158 | 166 | + escapeQuotesHTML(proofreadPageMessageFooter) + '</span><br/>' |
159 | | - + '<textarea name="footerTextbox" rows="2" cols="80">'+pageFooter+'</textarea></div>'; |
| 167 | + + '<textarea name="wpFooterTextbox" rows="2" cols="80">'+pageFooter+'</textarea></div>'; |
160 | 168 | |
161 | 169 | |
162 | | - var saveButton = document.getElementById("wpSave"); |
163 | | - var previewButton = document.getElementById("wpPreview"); |
164 | | - var diffButton = document.getElementById("wpDiff") |
165 | | - if(saveButton){ |
166 | | - saveButton.onclick = pr_fill_form; |
167 | | - previewButton.onclick = pr_fill_form; |
168 | | - diffButton.onclick = pr_fill_form; |
169 | | - } |
170 | | - else { |
171 | | - //make the text area readonly |
172 | | - container.firstChild.nextSibling.setAttribute("readonly","readonly"); |
173 | | - } |
174 | 170 | } |
175 | 171 | |
176 | 172 | |
— | — | @@ -585,20 +581,20 @@ |
586 | 582 | self.pr_horiz = horizontal_layout; |
587 | 583 | |
588 | 584 | //get the size of the window |
589 | | - var width, height; |
590 | | - if (parseInt(navigator.appVersion)>3) { |
591 | | - if (navigator.appName.indexOf("Microsoft")!=-1) { |
592 | | - height = document.body.clientHeight; |
593 | | - width = document.body.offsetWidth; |
594 | | - } |
595 | | - else{ |
596 | | - height = window.innerHeight; |
597 | | - width = window.innerWidth; |
598 | | - } |
| 585 | + var width = 0, height = 0; |
| 586 | + if( typeof( window.innerWidth ) == 'number' ) { |
| 587 | + //Non-IE |
| 588 | + width = window.innerWidth; |
| 589 | + height = window.innerHeight; |
| 590 | + } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) { |
| 591 | + //IE 6+ in 'standards compliant mode' |
| 592 | + width = document.documentElement.clientWidth; |
| 593 | + height = document.documentElement.clientHeight; |
| 594 | + } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { |
| 595 | + //IE 4 compatible |
| 596 | + width = document.body.clientWidth; |
| 597 | + height = document.body.clientHeight; |
599 | 598 | } |
600 | | - else { |
601 | | - width = 800; height = 600; |
602 | | - } |
603 | 599 | |
604 | 600 | //fill the image container |
605 | 601 | if(!proofreadPageIsEdit) { |
— | — | @@ -764,31 +760,7 @@ |
765 | 761 | |
766 | 762 | |
767 | 763 | |
768 | | -function pr_fill_form() { |
769 | | - var form = document.getElementById("editform"); |
770 | | - var header = form.elements["headerTextbox"]; |
771 | | - var footer = form.elements["footerTextbox"]; |
772 | | - //if( ( self.proofreadpage_quality == 0 ) && ( form.elements["wpTextbox1"].value != "" ) ) { |
773 | | - // self.proofreadpage_quality = 1; |
774 | | - // form.elements["wpSummary"].value="/* " + proofreadPageMessageQuality1 + " */ "; |
775 | | - //} |
776 | | - if(header){ |
777 | | - var h = header.value.replace(/(\s*(\r?\n|\r))+$/, ''); |
778 | | - if(h) h = "<noinclude>{{PageQuality|"+self.proofreadpage_quality+"|"+self.proofreadpage_username+"}}"+h+"\n\n\n</noinclude>"; |
779 | | - var f = footer.value; |
780 | | - if(f) f = "<noinclude>\n"+f+"</noinclude>"; |
781 | | - var ph = header.parentNode; |
782 | | - ph.removeChild(header); |
783 | | - var pf = footer.parentNode; |
784 | | - pf.removeChild(footer); |
785 | | - form.elements["wpTextbox1"].value = h+form.elements["wpTextbox1"].value+f; |
786 | | - form.elements["wpTextbox1"].setAttribute('readonly',"readonly"); |
787 | | - } |
788 | | -} |
789 | 764 | |
790 | | - |
791 | | - |
792 | | - |
793 | 765 | function pr_init() { |
794 | 766 | |
795 | 767 | if( document.getElementById("pr_container")) return; |
— | — | @@ -850,17 +822,6 @@ |
851 | 823 | |
852 | 824 | function pr_add_quality(form,value){ |
853 | 825 | |
854 | | - var tbv = form.elements["wpTextbox1"].value; |
855 | | - if( /*( ( value == 0 ) && ( tbv != "" ) ) ||*/ ( ( value >= 3 ) && ( tbv == "" ) ) ) { |
856 | | - switch( self.proofreadpage_quality ) { |
857 | | - case 4: document.editform.quality[4].checked = true; break; |
858 | | - case 3: document.editform.quality[3].checked = true; break; |
859 | | - case 1: document.editform.quality[2].checked = true; break; |
860 | | - case 2: document.editform.quality[1].checked = true; break; |
861 | | - case 0: document.editform.quality[0].checked = true; break; |
862 | | - } |
863 | | - return; |
864 | | - } |
865 | 826 | self.proofreadpage_quality = value; |
866 | 827 | self.proofreadpage_username = wgUserName; |
867 | 828 | var text=""; |
— | — | @@ -872,23 +833,27 @@ |
873 | 834 | case 4: text = proofreadPageMessageQuality4; break; |
874 | 835 | } |
875 | 836 | form.elements["wpSummary"].value="/* " + text + " */ "; |
| 837 | + form.elements["wpProofreader"].value=self.proofreadpage_username; |
876 | 838 | |
877 | 839 | } |
878 | 840 | |
879 | 841 | |
880 | 842 | function pr_add_quality_buttons(){ |
881 | 843 | |
882 | | - if( self.proofreadpage_no_quality_buttons ) return; |
883 | 844 | var ig = document.getElementById("wpWatchthis"); |
| 845 | + if(!wgUserName) ig = document.getElementById("wpSummary"); |
884 | 846 | if( !ig ) return; |
885 | 847 | var f = document.createElement("span"); |
886 | 848 | f.innerHTML = |
887 | | -' <span class="quality0"> <input type="radio" name="quality" onclick="pr_add_quality(this.form,0)"> </span>' |
888 | | -+'<span class="quality2"> <input type="radio" name="quality" onclick="pr_add_quality(this.form,2)"> </span>' |
889 | | -+'<span class="quality1"> <input type="radio" name="quality" onclick="pr_add_quality(this.form,1)"> </span>' |
890 | | -+'<span class="quality3"> <input type="radio" name="quality" onclick="pr_add_quality(this.form,3)"> </span>' |
891 | | -+'<span class="quality4"> <input type="radio" name="quality" onclick="pr_add_quality(this.form,4)"> </span>'; |
| 849 | +' <input type="hidden" name="wpProofreader" value="'+self.proofreadpage_username+'">' |
| 850 | ++'<span class="quality0"> <input type="radio" name="quality" value=0 onclick="pr_add_quality(this.form,0)"> </span>' |
| 851 | ++'<span class="quality2"> <input type="radio" name="quality" value=2 onclick="pr_add_quality(this.form,2)"> </span>' |
| 852 | ++'<span class="quality1"> <input type="radio" name="quality" value=1 onclick="pr_add_quality(this.form,1)"> </span>' |
| 853 | ++'<span class="quality3"> <input type="radio" name="quality" value=3 onclick="pr_add_quality(this.form,3)"> </span>' |
| 854 | ++'<span class="quality4"> <input type="radio" name="quality" value=4 onclick="pr_add_quality(this.form,4)"> </span>'; |
892 | 855 | f.innerHTML = f.innerHTML + ' ' + escapeQuotesHTML(proofreadPageMessageStatus); |
| 856 | + |
| 857 | + if(!wgUserName) f.style.cssText = 'display:none'; |
893 | 858 | ig.parentNode.insertBefore(f,ig.nextSibling.nextSibling.nextSibling); |
894 | 859 | |
895 | 860 | if( ! ( ( self.proofreadpage_quality == 4 ) || ( ( self.proofreadpage_quality == 3 ) && ( self.proofreadpage_username != wgUserName ) ) ) ) { |
Property changes on: branches/wmf-deployment/extensions/ProofreadPage |
___________________________________________________________________ |
Name: svn:mergeinfo |
896 | 861 | + /branches/REL1_15/phase3/extensions/ProofreadPage:51646 |
/trunk/extensions/ProofreadPage:56151-56762 |
/trunk/phase3/extensions/ProofreadPage:56213,56215-56216,56218,56325,56334-56336,56338,56340,56343,56345,56347,56350 |